data pulled: 2023-10-20
website: http://rpubs.com/nandnisharma/rtms-mdd_tracking
This report is meant to provide an overview of the baseline results
for the Repetitive Transcranial Magnetic Stimulation for
Depression in Young Adults with Autism (rTMS-MDD) study. All
data summarized here derives from the rTMS-MDD project on CAMH’s REDCap
database and CAMH’s XNAT database. This summary is only as accurate as
the data captured there.
For each of the plots, you can hover over selected areas to see more
metadata. Dragging a rectangle over a specific area of the plot will
zoom in and double clicking will reset to the original view.
Demographics
As part of the study design, one of the goals is to collect cognitive
and MR imaging data from 80 participants with
autism-spectrum disorders. Participants who either drop out, are
withdrawn prior to completing the study, or whose MRI data cannot be
used will be replaced until this goal is achieved.
Thus far, 19 participants have consented to be in
the study. A table summarizing their demographics as well as a histogram
of their age distribution is shown below.
|
Female (N=5) |
Male (N=14) |
Overall (N=19) |
| Age (years) |
|
|
|
| Mean (SD) |
25 (± 6.4) |
24 (± 5.6) |
24 (± 5.7) |
| Median [Min, Max] |
24 [18, 34] |
23 [16, 35] |
23 [16, 35] |
| Ethnicity |
|
|
|
| Not Hispanic or Latino |
5 (100 %) |
12 (86 %) |
17 (89 %) |
| Hispanic, of Spanish Origin or Latino |
0 (0 %) |
2 (14 %) |
2 (11 %) |
| Education (years) |
|
|
|
| Mean (SD) |
15 (± 2.9) |
15 (± 3.0) |
15 (± 2.9) |
| Median [Min, Max] |
16 [11, 18] |
15 [10, 20] |
15 [10, 20] |
Assessment Completion Status
Below is a heatmap depicting which assessments have been completed
for each participant in rTMS-MDD. The Assessment is shown
in the x axis and the Subject ID is shown in the y axis.
Green indicates
‘complete’, red
indicates ‘incomplete’ and yellow indicates a ‘partial
complete’. Blank rectangles indicate that the assessment either hasn’t
been attempted yet or that the data hasn’t been entered. You can hover
over each square to get more details on the reason for an assessment
being incomplete.
Baseline Behaviour
Autism

Depression and Anxiety Severity

LS0tCnRpdGxlOiAiclRNUy1NREQgU3R1ZHkgVHJhY2tpbmciCmRlc2NyaXB0aW9uOiB8CiAgVGhpcyByZXBvcnQgaXMgbWVhbnQgdG8gcHJvdmlkZSBhIHF1aWNrIG92ZXJ2aWV3IG9mIHRoZSByVE1TLU1ERCBzdHVkeS4Kb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6CiAgICB0aGVtZTogZmxhdGx5CiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDoKICAgICAgY29sbGFwc2VkOiBmYWxzZQogICAgICBzbW9vdGhfc2Nyb2xsOiBmYWxzZQogICAgdG9jX2RlcHRoOiAzCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCiAgICBmaWdfd2lkdGg6IDgKLS0tCgpkYXRhIHB1bGxlZDogYHIgU3lzLkRhdGUoKWAgIAp3ZWJzaXRlOiBodHRwOi8vcnB1YnMuY29tL25hbmRuaXNoYXJtYS9ydG1zLW1kZF90cmFja2luZwoKLS0tCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KAogIGVjaG8gPSBGQUxTRSwKICB3YXJuaW5nID0gRkFMU0UsCiAgbWVzc2FnZSA9IEZBTFNFLAogIGNvbW1lbnQgPSAiIyMiLAogIFIub3B0aW9ucyA9IGxpc3Qod2lkdGggPSA2MCkKKQoKdG9kYXlfZGF0ZSA9IFN5cy5EYXRlKCkKc3R1ZHkgPSAiUk1BMDEiCgpnZ3Bsb3QyOjp0aGVtZV9zZXQoZ2dwbG90Mjo6dGhlbWVfbWluaW1hbCgpKQoKdCA8LSBsaXN0KAogIGZhbWlseSA9ICJoZWx2ZXRpY2EiLAogIHNpemUgPSAxNAopCmBgYAoKYGBge3IgbG9hZF9saWJyYXJpZXN9CmxpYnJhcnkoZHBseXIpCmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShnbHVlKQpsaWJyYXJ5KGhlcmUpCmxpYnJhcnkocGxvdGx5KQpsaWJyYXJ5KHJlYWRyKQpsaWJyYXJ5KHN0cmluZ3IpCmxpYnJhcnkodGFibGUxKQpsaWJyYXJ5KHRpZHlyKQpgYGAKCmBgYHtyIGV4cG9ydF9yZWRjYXB9CnNvdXJjZShoZXJlKCJSL2dldF9yZWRjYXAuUiIpKQoKc2V0dGluZ3NfY2ZnIDwtIGhlcmUoIm1ldGFkYXRhL3NldHRpbmdzLnlhbWwiKQoKZGF0YV9wYXRoIDwtIGdsdWUoaGVyZSgiZGF0YS9jbGluaWNhbC9yZWRjYXBfZXhwb3J0X3tzdHVkeX1fe3RvZGF5X2RhdGV9LmNzdiIpKQppZiAoIWZpbGUuZXhpc3RzKGRhdGFfcGF0aCkpewogIGdldF9yZWRjYXAoIlJNQTAxIiwgc2V0dGluZ3NfY2ZnLCBkYXRhX3BhdGgpCn0KYGBgCgpgYGB7ciBpbXBvcnRfZGF0YX0KcmVkY2FwX2RmIDwtCiAgcmVhZF9jc3YoCiAgICBoZXJlKCJkYXRhL2NsaW5pY2FsIiwgZ2x1ZSgicmVkY2FwX2V4cG9ydF97c3R1ZHl9X3t0b2RheV9kYXRlfS5jc3YiKSksCiAgICBuYSA9IGMoIiIsICJOQSIsICJOQVNLIiwgIk5JIikKICApICU+JQogIGZpbHRlcihyZWRjYXBfZXZlbnRfbmFtZSA9PSAic2NyZWVuaW5nX3Zpc2l0X2FybV8xIikKYGBgCgpgYGB7cn0KIyMgUmVtb3ZlZCBzdWJqZWNzdCB3aXRoIE5BCmV4Y2x1ZGVkX3N1YmplY3RzIDwtYygiUk1BMDFfQ01IXzAwMDIiLCAiUk1BMDFfQ01IXzAwMTAiLCAiUk1BMDFfQ01IXzAwMjAiLCAiVGVzdCIpCgpyZWRjYXBfZGYgPC0KIHJlZGNhcF9kZiAlPiUKICBmaWx0ZXIoIXJlY29yZF9pZCAlaW4lIGV4Y2x1ZGVkX3N1YmplY3RzKQpgYGAKClRoaXMgcmVwb3J0IGlzIG1lYW50IHRvIHByb3ZpZGUgYW4gb3ZlcnZpZXcgb2YgdGhlIGJhc2VsaW5lIHJlc3VsdHMgZm9yIHRoZSAqKlJlcGV0aXRpdmUgVHJhbnNjcmFuaWFsIE1hZ25ldGljIFN0aW11bGF0aW9uIGZvciBEZXByZXNzaW9uIGluIFlvdW5nIEFkdWx0cyB3aXRoIEF1dGlzbSAoclRNUy1NREQpKiogc3R1ZHkuIEFsbCBkYXRhIHN1bW1hcml6ZWQgaGVyZSBkZXJpdmVzIGZyb20gdGhlIHJUTVMtTUREIHByb2plY3Qgb24gQ0FNSCdzIFJFRENhcCBkYXRhYmFzZSBhbmQgQ0FNSCdzIFhOQVQgZGF0YWJhc2UuIFRoaXMgc3VtbWFyeSBpcyBvbmx5IGFzIGFjY3VyYXRlIGFzIHRoZSBkYXRhIGNhcHR1cmVkIHRoZXJlLgoKRm9yIGVhY2ggb2YgdGhlIHBsb3RzLCB5b3UgY2FuIGhvdmVyIG92ZXIgc2VsZWN0ZWQgYXJlYXMgdG8gc2VlIG1vcmUgbWV0YWRhdGEuIERyYWdnaW5nIGEgcmVjdGFuZ2xlIG92ZXIgYSBzcGVjaWZpYyBhcmVhIG9mIHRoZSBwbG90IHdpbGwgem9vbSBpbiBhbmQgZG91YmxlIGNsaWNraW5nIHdpbGwgcmVzZXQgdG8gdGhlIG9yaWdpbmFsIHZpZXcuCgojIyBEZW1vZ3JhcGhpY3MKCkFzIHBhcnQgb2YgdGhlIHN0dWR5IGRlc2lnbiwgb25lIG9mIHRoZSBnb2FscyBpcyB0byBjb2xsZWN0IGNvZ25pdGl2ZSBhbmQgTVIgaW1hZ2luZyBkYXRhIGZyb20gKio4MCoqIHBhcnRpY2lwYW50cyB3aXRoIGF1dGlzbS1zcGVjdHJ1bSBkaXNvcmRlcnMuIFBhcnRpY2lwYW50cyB3aG8gZWl0aGVyIGRyb3Agb3V0LCBhcmUgd2l0aGRyYXduIHByaW9yIHRvIGNvbXBsZXRpbmcgdGhlIHN0dWR5LCBvciB3aG9zZSBNUkkgZGF0YSBjYW5ub3QgYmUgdXNlZCB3aWxsIGJlIHJlcGxhY2VkIHVudGlsIHRoaXMgZ29hbCBpcyBhY2hpZXZlZC4KCmBgYCB7ciBkZW1vX2RhdGFmcmFtZX0KZGVtb19kZiA8LQogIHJlZGNhcF9kZiAlPiUKICBzZWxlY3QocmVjb3JkX2lkLCBzdGFydHNfd2l0aCgiZGVtbyIpKSAlPiUKICBtdXRhdGUoc2V4ID0gZmFjdG9yKGRlbW9fc2V4X2JpcnRoLAogICAgICAgICAgICAgICAgICAgICAgbGV2ZWxzID0gYygxLCAyKSwKICAgICAgICAgICAgICAgICAgICAgIGxhYmVscyA9IGMoIkZlbWFsZSIsICJNYWxlIikpLAogICAgICAgICBkZW1vX2V0aG5pY2l0eSA9IGZhY3RvcihkZW1vX2V0aG5pY2l0eSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWxzID0gYygxLCAyKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxzID0gYygiTm90IEhpc3BhbmljIG9yIExhdGlubyIsICJIaXNwYW5pYywgb2YgU3BhbmlzaCBPcmlnaW4gb3IgTGF0aW5vIikpKSAlPiUKICBzZWxlY3QocmVjb3JkX2lkLCBzZXgsIGRlbW9fYWdlX3N0dWR5X2VudHJ5LCBkZW1vX2V0aG5pY2l0eSwgZGVtb19oaWdoZXN0X2dyYWRlX3NlbGYpICU+JQogIGRyb3BsZXZlbHMoKQoKYGBgCgpUaHVzIGZhciwgKipgciBucm93KGRlbW9fZGYpYCoqIHBhcnRpY2lwYW50cyBoYXZlIGNvbnNlbnRlZCB0byBiZSBpbiB0aGUgc3R1ZHkuIEEgdGFibGUgc3VtbWFyaXppbmcgdGhlaXIgZGVtb2dyYXBoaWNzIGFzIHdlbGwgYXMgYSBoaXN0b2dyYW0gb2YgdGhlaXIgYWdlIGRpc3RyaWJ1dGlvbiBpcyBzaG93biBiZWxvdy4KCmBgYHtyIGRlbW9fdGFibGV9CmxhYmVsKGRlbW9fZGYkZGVtb19hZ2Vfc3R1ZHlfZW50cnkpIDwtICJBZ2UgKHllYXJzKSIKbGFiZWwoZGVtb19kZiRkZW1vX2V0aG5pY2l0eSkgPC0gIkV0aG5pY2l0eSIKbGFiZWwoZGVtb19kZiRkZW1vX2hpZ2hlc3RfZ3JhZGVfc2VsZikgPC0iRWR1Y2F0aW9uICh5ZWFycykiCgojbmEub21pdChkZW1vX2RmJGRlbW9fYWdlX3N0dWR5X2VudHJ5LCBuYS5ybT1UUlVFKQojbmEub21pdChkZW1vX2RmJGRlbW9fZXRobmljaXR5LCBuYS5ybT1UUlVFKQojbmEub21pdChkZW1vX2RmJGRlbW9faGlnaGVzdF9ncmFkZV9zZWxmLCBuYS5ybT1UUlVFKQoKCm15LnJlbmRlci5jb250IDwtIGZ1bmN0aW9uKHgpIHsKICAgIHdpdGgoc3RhdHMuYXBwbHkucm91bmRpbmcoc3RhdHMuZGVmYXVsdCh4KSwgZGlnaXRzPTIpLCBjKCIiLAogICAgICAgICJNZWFuIChTRCkiPXNwcmludGYoIiVzICgmcGx1c21uOyAlcykiLCBNRUFOLCBTRCksCiAgICAgICAgIk1lZGlhbiBbTWluLCBNYXhdIj1zcHJpbnRmKCIlcyBbJXMsICVzXSIsIE1FRElBTiwgTUlOLCBNQVgpKSkKfQpteS5yZW5kZXIuY2F0IDwtIGZ1bmN0aW9uKHgpIHsKICAgIGMoIiIsIHNhcHBseShzdGF0cy5kZWZhdWx0KHgpLCBmdW5jdGlvbih5KSB3aXRoKHksCiAgICAgICAgc3ByaW50ZigiJWQgKCUwLjBmICUlKSIsIEZSRVEsIFBDVCkpKSkKfQpgYGAKCgpgYGB7cn0KZGVtb190YWJsZSA8LQogIHRhYmxlMSh+IGRlbW9fYWdlX3N0dWR5X2VudHJ5ICsgZGVtb19ldGhuaWNpdHkgKyBkZW1vX2hpZ2hlc3RfZ3JhZGVfc2VsZiB8IHNleCwKICAgICAgICBkYXRhID0gZGVtb19kZiwKICAgICAgICByZW5kZXIuY29udGludW91cyA9IG15LnJlbmRlci5jb250LCByZW5kZXIuY2F0ZWdvcmljYWwgPSBteS5yZW5kZXIuY2F0KQoKZGVtb190YWJsZQpgYGAKCmBgYHtyIHNwYXNkX2RlbW9fZGlzdHJpYnV0aW9uc30KbWFsZV9hZ2UgPC0gZGVtb19kZiAlPiUgZmlsdGVyKHNleCA9PSAiTWFsZSIpIApmZW1hbGVfYWdlIDwtIGRlbW9fZGYgJT4lIGZpbHRlcihzZXggPT0gIkZlbWFsZSIpCgphZ2VfZGlzdHJpYnV0aW9uIDwtCiAgcGxvdF9seShhbHBoYSA9IDAuNiwgYXV0b2JpbnggPSBGQUxTRSwKICAgICAgICAgIHhiaW5zID0gbGlzdChzdGFydCA9IDE2LCBlbmQgPSAzMCwgc2l6ZSA9IDIpKSAlPiUKICBhZGRfaGlzdG9ncmFtKHggPSB+bWFsZV9hZ2UkZGVtb19hZ2Vfc3R1ZHlfZW50cnksIG5hbWUgPSAiTWFsZSIpICU+JQogIGFkZF9oaXN0b2dyYW0oeCA9IH5mZW1hbGVfYWdlJGRlbW9fYWdlX3N0dWR5X2VudHJ5LCBuYW1lID0gIkZlbWFsZSIpICU+JQogIGxheW91dChiYXJtb2RlID0gIm92ZXJsYXkiLAogICAgICAgICBmb250ID0gdCwKICAgICAgICAgeGF4aXMgPSBsaXN0KHRpdGxlID0gIkFnZSAoeWVhcnMpIiksCiAgICAgICAgIHlheGlzID0gbGlzdCh0aXRsZSA9ICJDb3VudCIsIGR0aWNrID0gMSkpICU+JQogIGNvbmZpZyhkaXNwbGF5TW9kZUJhciA9IEZBTFNFKQoKYWdlX2Rpc3RyaWJ1dGlvbgpgYGAKCiMjIEFzc2Vzc21lbnQgQ29tcGxldGlvbiBTdGF0dXMKCkJlbG93IGlzIGEgaGVhdG1hcCBkZXBpY3Rpbmcgd2hpY2ggYXNzZXNzbWVudHMgaGF2ZSBiZWVuIGNvbXBsZXRlZCBmb3IgZWFjaCBwYXJ0aWNpcGFudCBpbiByVE1TLU1ERC4gVGhlIGBBc3Nlc3NtZW50YCBpcyBzaG93biBpbiB0aGUgeCBheGlzIGFuZCB0aGUgYFN1YmplY3QgSURgIGlzIHNob3duIGluIHRoZSB5IGF4aXMuICoqPHNwYW4gc3R5bGU9ImNvbG9yOiMyMzg4MjMiPkdyZWVuPC9zcGFuPioqIGluZGljYXRlcyAnY29tcGxldGUnLCAqKjxzcGFuIHN0eWxlPSJjb2xvcjojRDIyMjJEIj5yZWQ8L3NwYW4+KiogaW5kaWNhdGVzICdpbmNvbXBsZXRlJyBhbmQgKio8c3BhbiBzdHlsZT0iY29sb3I6I0ZGQkYwMCI+eWVsbG93PC9zcGFuPioqIGluZGljYXRlcyBhICdwYXJ0aWFsIGNvbXBsZXRlJy4gQmxhbmsgcmVjdGFuZ2xlcyBpbmRpY2F0ZSB0aGF0IHRoZSBhc3Nlc3NtZW50IGVpdGhlciBoYXNuJ3QgYmVlbiBhdHRlbXB0ZWQgeWV0IG9yIHRoYXQgdGhlIGRhdGEgaGFzbid0IGJlZW4gZW50ZXJlZC4gWW91IGNhbiBob3ZlciBvdmVyIGVhY2ggc3F1YXJlIHRvIGdldCBtb3JlIGRldGFpbHMgb24gdGhlIHJlYXNvbiBmb3IgYW4gYXNzZXNzbWVudCBiZWluZyBpbmNvbXBsZXRlLgoKYGBge3IgYXNzZXNzbWVudF9jb21wbGV0ZX0KYXNzZXNzbWVudF9zdGF0dXMgPC0KICByZWRjYXBfZGYgJT4lCiAgc2VsZWN0KHJlY29yZF9pZCwKICAgICAgICAgY29udGFpbnMoImZvcm1fY29tcGxldGUiKSwKICAgICAgICAgc2Jxcl9jb21wbGV0ZSwgYmRpaWlfY29tcGxldGUsIGdlbmVyYWxpemVkX2FueGlldHlfZGlzb3JkZXJfN19pdGVtX2dhZDdfc2NhbGVfc2NvX2NvbXBsZXRlLAogICAgICAgICBycnNfY29tcGxldGUsIHBlcnNvbmFsX2F0dHJpYnV0ZXNfcXVlc3Rpb25uYWlyZV9wYXFfY29tcGxldGUsIGdpZHlxX2FhX2NvbXBsZXRlLCBwaXR0c2J1cmdoX3NsZWVwX3F1YWxpdHlfaW5kZXhfcHNxaV9jb21wbGV0ZSwgcWlkczE2X2FhZDJfY29tcGxldGUsCiAgICAgICAgIGVuZHNfd2l0aCgiX2V4cGxhaW4iKSwKICAgICAgICAgZW5kc193aXRoKCJfb3RoZXJfcmVhc29uX25jIikpICU+JQogIG11dGF0ZShyZWNvcmRfaWQgPSBzdHJfcmVtb3ZlKHJlY29yZF9pZCwgIlJNQTAxX0NNSF8iKSwKICAgICAgICAgYnJpZWZfc2VsZl9yZXBvcnRfZm9ybV9jb21wbGV0ZSA9IGJyaWVmYV9zZWxmX3JlcG9ydF9mb3JtX2NvbXBsZXRlICsgYnJpZWYyX3NlbGZfcmVwb3J0X2Zvcm1fY29tcGxldGUsCiAgICAgICAgIGJyaWVmX2luZm9ybWFudF9mb3JtX2NvbXBsZXRlID0gYnJpZWZhX2luZm9ybWFudF9mb3JtX2NvbXBsZXRlICsgYnJpZWYyX2luZm9ybWFudF9mb3JtX2NvbXBsZXRlICkgJT4lCiAgbXV0YXRlX2F0KHZhcnMoYygic3Jzc2Zfc2VsZl9yZXBvcnRfZm9ybV9jb21wbGV0ZSIsICJzcnNzZl9pbmZvcm1hbnRfZm9ybV9jb21wbGV0ZSIsICJzYnFyX2NvbXBsZXRlIiwgImJkaWlpX2NvbXBsZXRlIiwgImdlbmVyYWxpemVkX2FueGlldHlfZGlzb3JkZXJfN19pdGVtX2dhZDdfc2NhbGVfc2NvX2NvbXBsZXRlIiwgInJyc19jb21wbGV0ZSIsICJwZXJzb25hbF9hdHRyaWJ1dGVzX3F1ZXN0aW9ubmFpcmVfcGFxX2NvbXBsZXRlIiwgImdpZHlxX2FhX2NvbXBsZXRlIiwgInBpdHRzYnVyZ2hfc2xlZXBfcXVhbGl0eV9pbmRleF9wc3FpX2NvbXBsZXRlIiwgInFpZHMxNl9hYWQyX2NvbXBsZXRlIiwgImJyaWVmX3NlbGZfcmVwb3J0X2Zvcm1fY29tcGxldGUiLCAiYnJpZWZfaW5mb3JtYW50X2Zvcm1fY29tcGxldGUiKSksCiAgICAgICAgICAgIGZ1bnMocmVjb2RlKC4sIGAyYCA9IDEsIGAwYCA9IGFzLm51bWVyaWMoTkEpKSkpICU+JQogIHNlbGVjdChyZWNvcmRfaWQ6dG1zX2Zvcm1fY29tcGxldGUsIHNyc3NmX3NlbGZfcmVwb3J0X2Zvcm1fY29tcGxldGUsIHNyc3NmX2luZm9ybWFudF9mb3JtX2NvbXBsZXRlLCBzYnFyX2NvbXBsZXRlLCBiZGlpaV9jb21wbGV0ZSwgZ2VuZXJhbGl6ZWRfYW54aWV0eV9kaXNvcmRlcl83X2l0ZW1fZ2FkN19zY2FsZV9zY29fY29tcGxldGUsCiAgICAgICAgIHJyc19jb21wbGV0ZSwgcGVyc29uYWxfYXR0cmlidXRlc19xdWVzdGlvbm5haXJlX3BhcV9jb21wbGV0ZSwgZ2lkeXFfYWFfY29tcGxldGUsIHBpdHRzYnVyZ2hfc2xlZXBfcXVhbGl0eV9pbmRleF9wc3FpX2NvbXBsZXRlLCBxaWRzMTZfYWFkMl9jb21wbGV0ZSwKICAgICAgICAgYnJpZWZfc2VsZl9yZXBvcnRfZm9ybV9jb21wbGV0ZSwgYnJpZWZfaW5mb3JtYW50X2Zvcm1fY29tcGxldGUsIG10X2Zvcm1fY29tcGxldGUsIHRlcm1fZm9ybV9jb21wbGV0ZSwgZWxnX3BfZXhwbGFpbjp0eF9vdGhlcl9yZWFzb25fbmMpCgphc3Nlc3NtZW50X2NvbXBsZXRlIDwtCiAgYXNzZXNzbWVudF9zdGF0dXMgJT4lCiAgc2VsZWN0KHJlY29yZF9pZCwgY29udGFpbnMoImNvbXBsZXRlIikpICU+JQogIGdhdGhlcihrZXkgPSAiYXNzZXNzbWVudCIsIHZhbHVlID0gImNvbXBsZXRlIiwgLWMocmVjb3JkX2lkKSkgJT4lCiAgI2ZpbHRlcighaXMubmEoY29tcGxldGUpKSAlPiUKICBtdXRhdGUoYXNzZXNzbWVudCA9IHN0cl9yZW1vdmUoYXNzZXNzbWVudCwgIl9mb3JtX2NvbXBsZXRlIikgJT4lCiAgICAgICAgICAgc3RyX3JlbW92ZSguLCAiX2NvbXBsZXRlIikpCgphc3Nlc3NtZW50X2V4cGxhaW4gPC0KICBhc3Nlc3NtZW50X3N0YXR1cyAlPiUKICBzZWxlY3QocmVjb3JkX2lkLCBlbmRzX3dpdGgoIl9leHBsYWluIikpICU+JQogIGdhdGhlcihrZXkgPSAiYXNzZXNzbWVudCIsIHZhbHVlID0gInJlYXNvbiIsIC1jKHJlY29yZF9pZCkpICU+JQogIGZpbHRlcighaXMubmEocmVhc29uKSkgJT4lCiAgbXV0YXRlKGFzc2Vzc21lbnQgPSBzdHJfcmVtb3ZlKGFzc2Vzc21lbnQsICJfZXhwbGFpbiIpKSAlPiUKICBmaWx0ZXIoYXNzZXNzbWVudCAhPSAibnBfdmFsaWRpdHlfaXNzdWVzIikgJT4lCiAgbXV0YXRlKHJlYXNvbiA9IGZhY3RvcihyZWFzb24sCiAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbHMgPSBjKDg4LCA4OSwgOTAsIDkxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5MiwgOTMsIDk0LCA5NSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTYsIDk3LCA5OCwgOTkpLAogICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxzID0gYygiT3RoZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGVybWluYXRlZCBmcm9tIHN0dWR5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1pc3NlZCBhcHBvaW50bWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYXRlciBmb3Jnb3QgdG8gYWRtaW5pc3RlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaW1lIGNvbnN0cmFpbnRzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldpdGhkcmV3IGNvbnNlbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVjZWFzZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5hYmxlIHRvIGJlIGNvbnRhY3RlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb21wbGV0ZWQgYnV0IHdpdGggbGVzcyB0aGFuIGJlc3QgZWZmb3J0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlZnVzZWQgdG8gYmVnaW4vZmluaXNoIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBoeXNpY2FsIGltcGFpcm1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29nbml0aXZlIGltcGFpcm1lbnQiKSkpCgphc3Nlc3NtZW50X2V4cGxhaW5fb3RoZXIgPC0KICBhc3Nlc3NtZW50X3N0YXR1cyAlPiUKICBzZWxlY3QocmVjb3JkX2lkLCBlbmRzX3dpdGgoIl9vdGhlcl9yZWFzb25fbmMiKSkgJT4lCiAgZ2F0aGVyKGtleSA9ICJhc3Nlc3NtZW50IiwgdmFsdWUgPSAicmVhc29uX290aGVyIiwgLWMocmVjb3JkX2lkKSkgJT4lCiAgZmlsdGVyKCFpcy5uYShyZWFzb25fb3RoZXIpKSAlPiUKICBtdXRhdGUoYXNzZXNzbWVudCA9IHN0cl9yZW1vdmUoYXNzZXNzbWVudCwgIl9vdGhlcl9yZWFzb25fbmMiKSkKCmFzc2Vzc21lbnRfZGYgPC0KICBhc3Nlc3NtZW50X2NvbXBsZXRlICU+JQogIGxlZnRfam9pbihhc3Nlc3NtZW50X2V4cGxhaW4pICU+JQogIGxlZnRfam9pbihhc3Nlc3NtZW50X2V4cGxhaW5fb3RoZXIpICU+JQogIG11dGF0ZShyZWFzb24gPSBpZmVsc2UocmVhc29uID09ICJPdGhlciIsIHJlYXNvbl9vdGhlciwgYXMuY2hhcmFjdGVyKHJlYXNvbikpLAogICAgICAgICBjb21wbGV0ZV90ZXh0ID0gY2FzZV93aGVuKGNvbXBsZXRlID09IDEgfiAiQ29tcGxldGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlID09IDIgfiAiTm90IGNvbXBsZXRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZSA9PSAzIH4gIlBhcnRpYWwiKSkKYGBgCgpgYGB7ciBjYXNlX2Fzc2Vzc21lbnRfY29tcGxldGV9CmFzc2Vzc21lbnRfZGYgPC0KICBhc3Nlc3NtZW50X2RmICU+JQogIG11dGF0ZShhc3Nlc3NtZW50ID0gZmFjdG9yKGFzc2Vzc21lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWxzID0gYygiZWxnX3AiLCAibWFjY2F0IiwgImRlbW8iLCAic2NpZDUiLCAid2FzaSIsICJhaGgiLCAicG1lZCIsICJucG1lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaGFtZCIsICJnYWYiLCAiY2dpcyIsICJjZ2lzX3NhIiwgImNzc3JzIiwgImFkb3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZSIsICJ0bXMiLCAic3Jzc2Zfc2VsZl9yZXBvcnQiLCAic3Jzc2ZfaW5mb3JtYW50IiwgInNicXIiLCAiYmRpaWkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdlbmVyYWxpemVkX2FueGlldHlfZGlzb3JkZXJfN19pdGVtX2dhZDdfc2NhbGVfc2NvIiwgInJycyIsICJwZXJzb25hbF9hdHRyaWJ1dGVzX3F1ZXN0aW9ubmFpcmVfcGFxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnaWR5cV9hYSIsICJwaXR0c2J1cmdoX3NsZWVwX3F1YWxpdHlfaW5kZXhfcHNxaSIsICJxaWRzMTZfYWFkMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnJpZWZfc2VsZl9yZXBvcnQiLCAiYnJpZWZfaW5mb3JtYW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtdCIsICJ0ZXJtIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxzID0gYygiRWxpZ2liaWxpdHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1hY0NBVCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVtb2dyYXBoaWNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTQ0lELTUtUlYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldBU0ktSUkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1lZGljYWwgSGlzdG9yeSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUHN5Y2hvdHJvcGljIE1lZGljYXRpb25zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb25wc3ljaG90cm9waWMgTWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkhBTUQtMTciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdBRiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ0dJIFJBIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDR0kgQ2xpbmljaWFuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDU1NSUyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQURPUy0yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQcmUtclRNUyBRdWVzdGlvbm5haXJlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUTVMgU2FmZXR5IFNjcmVlbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU1JTLVNGIFNlbGYtUmVwb3J0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTUlMtU0YgSW5mb3JtYW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTQlEtUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQkRJLUlJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHQUQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSUlMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBBUSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR0lEWVEtQUEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBTUUkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlFJRFMtMTYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJSSUVGIFNlbGYtUmVwb3J0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCUklFRiBJbmZvcm1hbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1vdG9yIFRocmVzaG9sZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGVybWluYXRpb24gQ2hlY2tsaXN0IikpKQoKY29tcGxldGVfcGxvdCA8LQogIGFzc2Vzc21lbnRfZGYgJT4lCiAgcGxvdF9seSh4ID0gfmFzc2Vzc21lbnQsIHkgPSB+cmVjb3JkX2lkLCB6ID0gfmNvbXBsZXRlLAogICAgICAgICAgeGdhcCA9IDIsIHlnYXAgPSAyLAogICAgICAgICAgY29sb3JzID0gYygiIzIzODgyMyIsICIjRDIyMjJEIiwgIiNGRkJGMDAiKSwKICAgICAgICAgIHR5cGUgPSAiaGVhdG1hcCIsCiAgICAgICAgICBoZWlnaHQ9NzAwLAogICAgICAgICAgaG92ZXJpbmZvID0gJ3RleHQnLAogICAgICAgICAgdGV4dCA9IH5wYXN0ZSgnIFN1YmplY3QgSUQ6ICcsIHJlY29yZF9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgJzxicj4gQXNzZXNzbWVudDogJywgYXNzZXNzbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgJzxicj4gU3RhdHVzOiAnLCBjb21wbGV0ZV90ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAnPGJyPiBSZWFzb246ICcsIHJlYXNvbikpICU+JQogIGxheW91dChmb250ID0gdCwKICAgICAgICAgeGF4aXMgPSBsaXN0KHRpdGxlID0gIkFzc2Vzc21lbnQiLAogICAgICAgICAgICAgICAgICAgICAgdGlja3MgPSAiIiwKICAgICAgICAgICAgICAgICAgICAgIHRpY2thbmdsZT0gNDUsCiAgICAgICAgICAgICAgICAgICAgICBzaG93Z3JpZCA9IEZBTFNFKSwKICAgICAgICAgeWF4aXMgPSBsaXN0KHRpdGxlID0gIlN1YmplY3QgSUQiLAogICAgICAgICAgICAgICAgICAgICAgYXV0b3JhbmdlID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAiY2F0ZWdvcnkiLAogICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlvcmRlciA9ICJjYXRlZ29yeSBkZXNjZW5kaW5nIiwKICAgICAgICAgICAgICAgICAgICAgIHRpY2tzID0gIiIsCiAgICAgICAgICAgICAgICAgICAgICB0aWNrdmFscz1+cmVjb3JkX2lkLAogICAgICAgICAgICAgICAgICAgICAgc2hvd2dyaWQgPSBGQUxTRSkpICU+JQogIGhpZGVfY29sb3JiYXIoKSAlPiUKICBjb25maWcoZGlzcGxheU1vZGVCYXIgPSBGQUxTRSkKCmNvbXBsZXRlX3Bsb3QKYGBgCgojIyBCYXNlbGluZSBCZWhhdmlvdXIgey50YWJzZXR9CgojIyMgQXV0aXNtCgpgYGB7cn0KcmVkY2FwX2RmICU+JQogIHNlbGVjdChyZWNvcmRfaWQsIGFkb3NfY29tbV90b3RhbCwgYWRvc19yc2lfdG90YWwsIGFkb3Nfc2JyaV90b3RhbCkgJT4lCiAgcGl2b3RfbG9uZ2VyKGFkb3NfY29tbV90b3RhbDphZG9zX3NicmlfdG90YWwsIG5hbWVzX3RvID0gInN1YnNjYWxlIiwgdmFsdWVzX3RvID0gInNjb3JlIikgJT4lCiAgbXV0YXRlKHN1YnNjYWxlID0gcmVjb2RlKHN1YnNjYWxlLAogICAgICAgICBgYWRvc19jb21tX3RvdGFsYCA9ICJDb21tdW5pY2F0aW9uIiwKICAgICAgICAgYGFkb3NfcnNpX3RvdGFsYCA9ICJTb2NpYWwgSW50ZXJhY3Rpb24iLAogICAgICAgICBgYWRvc19zYnJpX3RvdGFsYCA9ICJTdGVyZW90eXBlZCBCZWhhdmlvcnMgYW5kIFJlc3RyaWN0ZWQgSW50ZXJlc3RzIikpICU+JQogIGdncGxvdChhZXMoeD1zdWJzY2FsZSwgeT1zY29yZSkpICsgCiAgICBnZW9tX2JveHBsb3QoKSArCiAgICBnZW9tX2ppdHRlcihjb2xvcj0iYmxhY2siLCBzaXplPTEsIGFscGhhPTAuOSkgKwogICAgeGxhYigiU3Vic2NhbGUiKSArCiAgICB5bGFiKCJTY29yZSIpCmBgYAoKIyMjIERlcHJlc3Npb24gYW5kIEFueGlldHkgU2V2ZXJpdHkKCmBgYHtyfQpyZWRjYXBfZGYgJT4lCiAgc2VsZWN0KHJlY29yZF9pZCwgdG90YWxfc2NvcmVfYWRhZjZjLCBoYW1kX3RvdGFsLCBnYWZfcmF0aW5nLCBzYnFfdG90YWxzY29yZSwgc2NfdG90X3Njb3JlLCBycnNfcmVmbGVjdGlvbl90b3RhbCwgcnJzX2Jyb29kaW5nX3RvdGFsKSAlPiUKICBwaXZvdF9sb25nZXIodG90YWxfc2NvcmVfYWRhZjZjOnJyc19icm9vZGluZ190b3RhbCwgbmFtZXNfdG8gPSAiYXNzZXNzbWVudCIsIHZhbHVlc190byA9ICJzY29yZSIpICU+JQogIG11dGF0ZShhc3Nlc3NtZW50ID0gcmVjb2RlKGFzc2Vzc21lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHRvdGFsX3Njb3JlX2FkYWY2Y2AgPSAiQkRJLUlJIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZ2FmX3JhdGluZ2AgPSAiR0FGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgaGFtZF90b3RhbGAgPSAiSEFNRC0xNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHNicV90b3RhbHNjb3JlYCA9ICJTQlEtUiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHNjX3RvdF9zY29yZWAgPSAiR0FENyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYHJyc19yZWZsZWN0aW9uX3RvdGFsYCA9ICJSUlMgLSBSZWZsZWN0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcnJzX2Jyb29kaW5nX3RvdGFsYCA9ICJSUlMgLSBCcm9vZGluZyIpKSAlPiUKICBnZ3Bsb3QoYWVzKHg9YXNzZXNzbWVudCwgeT1zY29yZSkpICsgCiAgICBnZW9tX2JveHBsb3QoKSArCiAgICBnZW9tX2ppdHRlcihjb2xvcj0iYmxhY2siLCBzaXplPTEsIGFscGhhPTAuOSkgKwogICAgeGxhYigiQXNzZXNzbWVudCIpICsKICAgIHlsYWIoIlNjb3JlIikKYGBgCg==