data pulled: 2023-11-28
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

LS0tCnRpdGxlOiAiclRNUy1NREQgU3R1ZHkgVHJhY2tpbmciCmRlc2NyaXB0aW9uOiB8CiAgVGhpcyByZXBvcnQgaXMgbWVhbnQgdG8gcHJvdmlkZSBhIHF1aWNrIG92ZXJ2aWV3IG9mIHRoZSByVE1TLU1ERCBzdHVkeS4Kb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6CiAgICB0aGVtZTogZmxhdGx5CiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDoKICAgICAgY29sbGFwc2VkOiBmYWxzZQogICAgICBzbW9vdGhfc2Nyb2xsOiBmYWxzZQogICAgdG9jX2RlcHRoOiAzCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCiAgICBmaWdfd2lkdGg6IDgKLS0tCgpkYXRhIHB1bGxlZDogYHIgU3lzLkRhdGUoKWAgIAp3ZWJzaXRlOiBodHRwOi8vcnB1YnMuY29tL25hbmRuaXNoYXJtYS9ydG1zLW1kZF90cmFja2luZwoKLS0tCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KAoJbWVzc2FnZSA9IEZBTFNFLAoJd2FybmluZyA9IEZBTFNFLAoJY29tbWVudCA9ICIjIyIsCglpbmNsdWRlID0gVFJVRSwKCVIub3B0aW9ucyA9IGxpc3Qod2lkdGggPSA2MCkKKQp0b2RheV9kYXRlID0gU3lzLkRhdGUoKQpzdHVkeSA9ICJSTUEwMSIKCmdncGxvdDI6OnRoZW1lX3NldChnZ3Bsb3QyOjp0aGVtZV9taW5pbWFsKCkpCgp0IDwtIGxpc3QoCiAgZmFtaWx5ID0gImhlbHZldGljYSIsCiAgc2l6ZSA9IDE0CikKYGBgCgpgYGB7ciBsb2FkX2xpYnJhcmllcywgaW5jbHVkZT1GQUxTRX0KbGlicmFyeShkcGx5cikKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGdsdWUpCmxpYnJhcnkoaGVyZSkKbGlicmFyeShwbG90bHkpCmxpYnJhcnkocmVhZHIpCmxpYnJhcnkoc3RyaW5ncikKbGlicmFyeSh0YWJsZTEpCmxpYnJhcnkodGlkeXIpCmBgYAoKYGBge3IgZXhwb3J0X3JlZGNhcCwgaW5jbHVkZT1GQUxTRX0Kc291cmNlKGhlcmUoIlIvZ2V0X3JlZGNhcC5SIikpCgpzZXR0aW5nc19jZmcgPC0gaGVyZSgibWV0YWRhdGEvc2V0dGluZ3MueWFtbCIpCgpkYXRhX3BhdGggPC0gZ2x1ZShoZXJlKCJkYXRhL2NsaW5pY2FsL3JlZGNhcF9leHBvcnRfe3N0dWR5fV97dG9kYXlfZGF0ZX0uY3N2IikpCmlmICghZmlsZS5leGlzdHMoZGF0YV9wYXRoKSl7CiAgZ2V0X3JlZGNhcCgiUk1BMDEiLCBzZXR0aW5nc19jZmcsIGRhdGFfcGF0aCkKfQpgYGAKCmBgYHtyIGltcG9ydF9kYXRhLCBpbmNsdWRlPUZBTFNFfQpyZWRjYXBfZGYgPC0KICByZWFkX2NzdigKICAgIGhlcmUoImRhdGEvY2xpbmljYWwiLCBnbHVlKCJyZWRjYXBfZXhwb3J0X3tzdHVkeX1fe3RvZGF5X2RhdGV9LmNzdiIpKSwKICAgIG5hID0gYygiIiwgIk5BIiwgIk5BU0siLCAiTkkiKQogICkgJT4lCiAgZmlsdGVyKHJlZGNhcF9ldmVudF9uYW1lID09ICJzY3JlZW5pbmdfdmlzaXRfYXJtXzEiKQpgYGAKCmBgYHtyIGluY2x1ZGU9RkFMU0V9CiAgI1JlbW92ZWQgc3ViamVjdHMgd2l0aCBOQQpleGNsdWRlZF9zdWJqZWN0cyA8LWMoIlJNQTAxX0NNSF8wMDAyIiwgIlJNQTAxX0NNSF8wMDEwIiwgIlJNQTAxX0NNSF8wMDIwIiwgIlRlc3QiLCJSTUEwMV9DTUhfMDAyMyIsICJSTUEwMV9DTUhfMDAyNCIpCgpyZWRjYXBfZGYgPC0KIHJlZGNhcF9kZiAlPiUKICBmaWx0ZXIoIXJlY29yZF9pZCAlaW4lIGV4Y2x1ZGVkX3N1YmplY3RzKQpgYGAKClRoaXMgcmVwb3J0IGlzIG1lYW50IHRvIHByb3ZpZGUgYW4gb3ZlcnZpZXcgb2YgdGhlIGJhc2VsaW5lIHJlc3VsdHMgZm9yIHRoZSAqKlJlcGV0aXRpdmUgVHJhbnNjcmFuaWFsIE1hZ25ldGljIFN0aW11bGF0aW9uIGZvciBEZXByZXNzaW9uIGluIFlvdW5nIEFkdWx0cyB3aXRoIEF1dGlzbSAoclRNUy1NREQpKiogc3R1ZHkuIEFsbCBkYXRhIHN1bW1hcml6ZWQgaGVyZSBkZXJpdmVzIGZyb20gdGhlIHJUTVMtTUREIHByb2plY3Qgb24gQ0FNSCdzIFJFRENhcCBkYXRhYmFzZSBhbmQgQ0FNSCdzIFhOQVQgZGF0YWJhc2UuIFRoaXMgc3VtbWFyeSBpcyBvbmx5IGFzIGFjY3VyYXRlIGFzIHRoZSBkYXRhIGNhcHR1cmVkIHRoZXJlLgoKRm9yIGVhY2ggb2YgdGhlIHBsb3RzLCB5b3UgY2FuIGhvdmVyIG92ZXIgc2VsZWN0ZWQgYXJlYXMgdG8gc2VlIG1vcmUgbWV0YWRhdGEuIERyYWdnaW5nIGEgcmVjdGFuZ2xlIG92ZXIgYSBzcGVjaWZpYyBhcmVhIG9mIHRoZSBwbG90IHdpbGwgem9vbSBpbiBhbmQgZG91YmxlIGNsaWNraW5nIHdpbGwgcmVzZXQgdG8gdGhlIG9yaWdpbmFsIHZpZXcuCgojIyBEZW1vZ3JhcGhpY3MKCkFzIHBhcnQgb2YgdGhlIHN0dWR5IGRlc2lnbiwgb25lIG9mIHRoZSBnb2FscyBpcyB0byBjb2xsZWN0IGNvZ25pdGl2ZSBhbmQgTVIgaW1hZ2luZyBkYXRhIGZyb20gKio4MCoqIHBhcnRpY2lwYW50cyB3aXRoIGF1dGlzbS1zcGVjdHJ1bSBkaXNvcmRlcnMuIFBhcnRpY2lwYW50cyB3aG8gZWl0aGVyIGRyb3Agb3V0LCBhcmUgd2l0aGRyYXduIHByaW9yIHRvIGNvbXBsZXRpbmcgdGhlIHN0dWR5LCBvciB3aG9zZSBNUkkgZGF0YSBjYW5ub3QgYmUgdXNlZCB3aWxsIGJlIHJlcGxhY2VkIHVudGlsIHRoaXMgZ29hbCBpcyBhY2hpZXZlZC4KCmBgYHtyIGluY2x1ZGU9RkFMU0V9CmRlbW9fZGYgPC0KICByZWRjYXBfZGYgJT4lCiAgc2VsZWN0KHJlY29yZF9pZCwgc3RhcnRzX3dpdGgoImRlbW8iKSkgJT4lCiAgbXV0YXRlKHNleCA9IGZhY3RvcihkZW1vX3NleF9iaXJ0aCwKICAgICAgICAgICAgICAgICAgICAgIGxldmVscyA9IGMoMSwgMiksCiAgICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBjKCJGZW1hbGUiLCAiTWFsZSIpKSwKICAgICAgICAgZGVtb19ldGhuaWNpdHkgPSBmYWN0b3IoZGVtb19ldGhuaWNpdHksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVscyA9IGMoMSwgMiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVscyA9IGMoIk5vdCBIaXNwYW5pYyBvciBMYXRpbm8iLCAiSGlzcGFuaWMsIG9mIFNwYW5pc2ggT3JpZ2luIG9yIExhdGlubyIpKSkgJT4lCiAgc2VsZWN0KHJlY29yZF9pZCwgc2V4LCBkZW1vX2FnZV9zdHVkeV9lbnRyeSwgZGVtb19ldGhuaWNpdHksIGRlbW9faGlnaGVzdF9ncmFkZV9zZWxmKSAlPiUKICBkcm9wbGV2ZWxzKCkKCmBgYAoKVGh1cyBmYXIsICoqYHIgbnJvdyhkZW1vX2RmKWAqKiBwYXJ0aWNpcGFudHMgaGF2ZSBjb25zZW50ZWQgdG8gYmUgaW4gdGhlIHN0dWR5LiBBIHRhYmxlIHN1bW1hcml6aW5nIHRoZWlyIGRlbW9ncmFwaGljcyBhcyB3ZWxsIGFzIGEgaGlzdG9ncmFtIG9mIHRoZWlyIGFnZSBkaXN0cmlidXRpb24gaXMgc2hvd24gYmVsb3cuCgpgYGB7ciBkZW1vX3RhYmxlLCBpbmNsdWRlPUZBTFNFfQpsYWJlbChkZW1vX2RmJGRlbW9fYWdlX3N0dWR5X2VudHJ5KSA8LSAiQWdlICh5ZWFycykiCmxhYmVsKGRlbW9fZGYkZGVtb19ldGhuaWNpdHkpIDwtICJFdGhuaWNpdHkiCmxhYmVsKGRlbW9fZGYkZGVtb19oaWdoZXN0X2dyYWRlX3NlbGYpIDwtIkVkdWNhdGlvbiAoeWVhcnMpIgoKI25hLm9taXQoZGVtb19kZiRkZW1vX2FnZV9zdHVkeV9lbnRyeSwgbmEucm09VFJVRSkKI25hLm9taXQoZGVtb19kZiRkZW1vX2V0aG5pY2l0eSwgbmEucm09VFJVRSkKI25hLm9taXQoZGVtb19kZiRkZW1vX2hpZ2hlc3RfZ3JhZGVfc2VsZiwgbmEucm09VFJVRSkKCgpteS5yZW5kZXIuY29udCA8LSBmdW5jdGlvbih4KSB7CiAgICB3aXRoKHN0YXRzLmFwcGx5LnJvdW5kaW5nKHN0YXRzLmRlZmF1bHQoeCksIGRpZ2l0cz0yKSwgYygiIiwKICAgICAgICAiTWVhbiAoU0QpIj1zcHJpbnRmKCIlcyAoJnBsdXNtbjsgJXMpIiwgTUVBTiwgU0QpLAogICAgICAgICJNZWRpYW4gW01pbiwgTWF4XSI9c3ByaW50ZigiJXMgWyVzLCAlc10iLCBNRURJQU4sIE1JTiwgTUFYKSkpCn0KbXkucmVuZGVyLmNhdCA8LSBmdW5jdGlvbih4KSB7CiAgICBjKCIiLCBzYXBwbHkoc3RhdHMuZGVmYXVsdCh4KSwgZnVuY3Rpb24oeSkgd2l0aCh5LAogICAgICAgIHNwcmludGYoIiVkICglMC4wZiAlJSkiLCBGUkVRLCBQQ1QpKSkpCn0KYGBgCgoKYGBge3IgZWNobz1GQUxTRX0KZGVtb190YWJsZSA8LQogIHRhYmxlMSh+IGRlbW9fYWdlX3N0dWR5X2VudHJ5ICsgZGVtb19ldGhuaWNpdHkgKyBkZW1vX2hpZ2hlc3RfZ3JhZGVfc2VsZiB8IHNleCwKICAgICAgICBkYXRhID0gZGVtb19kZiwKICAgICAgICByZW5kZXIuY29udGludW91cyA9IG15LnJlbmRlci5jb250LCByZW5kZXIuY2F0ZWdvcmljYWwgPSBteS5yZW5kZXIuY2F0KQoKZGVtb190YWJsZQpgYGAKCmBgYHtyIHNwYXNkX2RlbW9fZGlzdHJpYnV0aW9ucywgZWNobz1GQUxTRX0KbWFsZV9hZ2UgPC0gZGVtb19kZiAlPiUgZmlsdGVyKHNleCA9PSAiTWFsZSIpIApmZW1hbGVfYWdlIDwtIGRlbW9fZGYgJT4lIGZpbHRlcihzZXggPT0gIkZlbWFsZSIpCgphZ2VfZGlzdHJpYnV0aW9uIDwtCiAgcGxvdF9seShhbHBoYSA9IDAuNiwgYXV0b2JpbnggPSBGQUxTRSwKICAgICAgICAgIHhiaW5zID0gbGlzdChzdGFydCA9IDE2LCBlbmQgPSAzMCwgc2l6ZSA9IDIpKSAlPiUKICBhZGRfaGlzdG9ncmFtKHggPSB+bWFsZV9hZ2UkZGVtb19hZ2Vfc3R1ZHlfZW50cnksIG5hbWUgPSAiTWFsZSIpICU+JQogIGFkZF9oaXN0b2dyYW0oeCA9IH5mZW1hbGVfYWdlJGRlbW9fYWdlX3N0dWR5X2VudHJ5LCBuYW1lID0gIkZlbWFsZSIpICU+JQogIGxheW91dChiYXJtb2RlID0gIm92ZXJsYXkiLAogICAgICAgICBmb250ID0gdCwKICAgICAgICAgeGF4aXMgPSBsaXN0KHRpdGxlID0gIkFnZSAoeWVhcnMpIiksCiAgICAgICAgIHlheGlzID0gbGlzdCh0aXRsZSA9ICJDb3VudCIsIGR0aWNrID0gMSkpICU+JQogIGNvbmZpZyhkaXNwbGF5TW9kZUJhciA9IEZBTFNFKQoKYWdlX2Rpc3RyaWJ1dGlvbgpgYGAKCiMjIEFzc2Vzc21lbnQgQ29tcGxldGlvbiBTdGF0dXMKCkJlbG93IGlzIGEgaGVhdG1hcCBkZXBpY3Rpbmcgd2hpY2ggYXNzZXNzbWVudHMgaGF2ZSBiZWVuIGNvbXBsZXRlZCBmb3IgZWFjaCBwYXJ0aWNpcGFudCBpbiByVE1TLU1ERC4gVGhlIGBBc3Nlc3NtZW50YCBpcyBzaG93biBpbiB0aGUgeCBheGlzIGFuZCB0aGUgYFN1YmplY3QgSURgIGlzIHNob3duIGluIHRoZSB5IGF4aXMuICoqPHNwYW4gc3R5bGU9ImNvbG9yOiMyMzg4MjMiPkdyZWVuPC9zcGFuPioqIGluZGljYXRlcyAnY29tcGxldGUnLCAqKjxzcGFuIHN0eWxlPSJjb2xvcjojRDIyMjJEIj5yZWQ8L3NwYW4+KiogaW5kaWNhdGVzICdpbmNvbXBsZXRlJyBhbmQgKio8c3BhbiBzdHlsZT0iY29sb3I6I0ZGQkYwMCI+eWVsbG93PC9zcGFuPioqIGluZGljYXRlcyBhICdwYXJ0aWFsIGNvbXBsZXRlJy4gQmxhbmsgcmVjdGFuZ2xlcyBpbmRpY2F0ZSB0aGF0IHRoZSBhc3Nlc3NtZW50IGVpdGhlciBoYXNuJ3QgYmVlbiBhdHRlbXB0ZWQgeWV0IG9yIHRoYXQgdGhlIGRhdGEgaGFzbid0IGJlZW4gZW50ZXJlZC4gWW91IGNhbiBob3ZlciBvdmVyIGVhY2ggc3F1YXJlIHRvIGdldCBtb3JlIGRldGFpbHMgb24gdGhlIHJlYXNvbiBmb3IgYW4gYXNzZXNzbWVudCBiZWluZyBpbmNvbXBsZXRlLgoKYGBge3IgYXNzZXNzbWVudF9jb21wbGV0ZSwgaW5jbHVkZT1GQUxTRX0KYXNzZXNzbWVudF9zdGF0dXMgPC0KICByZWRjYXBfZGYgJT4lCiAgc2VsZWN0KHJlY29yZF9pZCwKICAgICAgICAgY29udGFpbnMoImZvcm1fY29tcGxldGUiKSwKICAgICAgICAgc2Jxcl9jb21wbGV0ZSwgYmRpaWlfY29tcGxldGUsIGdlbmVyYWxpemVkX2FueGlldHlfZGlzb3JkZXJfN19pdGVtX2dhZDdfc2NhbGVfc2NvX2NvbXBsZXRlLAogICAgICAgICBycnNfY29tcGxldGUsIHBlcnNvbmFsX2F0dHJpYnV0ZXNfcXVlc3Rpb25uYWlyZV9wYXFfY29tcGxldGUsIGdpZHlxX2FhX2NvbXBsZXRlLCBwaXR0c2J1cmdoX3NsZWVwX3F1YWxpdHlfaW5kZXhfcHNxaV9jb21wbGV0ZSwgcWlkczE2X2FhZDJfY29tcGxldGUsCiAgICAgICAgIGVuZHNfd2l0aCgiX2V4cGxhaW4iKSwKICAgICAgICAgZW5kc193aXRoKCJfb3RoZXJfcmVhc29uX25jIikpICU+JQogIG11dGF0ZShyZWNvcmRfaWQgPSBzdHJfcmVtb3ZlKHJlY29yZF9pZCwgIlJNQTAxX0NNSF8iKSwKICAgICAgICAgYnJpZWZfc2VsZl9yZXBvcnRfZm9ybV9jb21wbGV0ZSA9IGJyaWVmYV9zZWxmX3JlcG9ydF9mb3JtX2NvbXBsZXRlICsgYnJpZWYyX3NlbGZfcmVwb3J0X2Zvcm1fY29tcGxldGUsCiAgICAgICAgIGJyaWVmX2luZm9ybWFudF9mb3JtX2NvbXBsZXRlID0gYnJpZWZhX2luZm9ybWFudF9mb3JtX2NvbXBsZXRlICsgYnJpZWYyX2luZm9ybWFudF9mb3JtX2NvbXBsZXRlKSAlPiUKbXV0YXRlX2F0KHZhcnMoYygic3Jzc2Zfc2VsZl9yZXBvcnRfZm9ybV9jb21wbGV0ZSIsICJzcnNzZl9pbmZvcm1hbnRfZm9ybV9jb21wbGV0ZSIsICJzYnFyX2NvbXBsZXRlIiwgImJkaWlpX2NvbXBsZXRlIiwgImdlbmVyYWxpemVkX2FueGlldHlfZGlzb3JkZXJfN19pdGVtX2dhZDdfc2NhbGVfc2NvX2NvbXBsZXRlIiwgInJyc19jb21wbGV0ZSIsICJwZXJzb25hbF9hdHRyaWJ1dGVzX3F1ZXN0aW9ubmFpcmVfcGFxX2NvbXBsZXRlIiwgImdpZHlxX2FhX2NvbXBsZXRlIiwgInBpdHRzYnVyZ2hfc2xlZXBfcXVhbGl0eV9pbmRleF9wc3FpX2NvbXBsZXRlIiwgInFpZHMxNl9hYWQyX2NvbXBsZXRlIiwgImJyaWVmX3NlbGZfcmVwb3J0X2Zvcm1fY29tcGxldGUiLCAiYnJpZWZfaW5mb3JtYW50X2Zvcm1fY29tcGxldGUiKSksCiAgICAgICAgICBmdW5zKHJlY29kZSguLCBgMmAgPSAxLCBgMGAgPSBhcy5udW1lcmljKE5BKSkpKSAjJT4lCiAgI3NlbGVjdChyZWNvcmRfaWQ6dG1zX2Zvcm1fY29tcGxldGUsIHNyc3NmX3NlbGZfcmVwb3J0X2Zvcm1fY29tcGxldGUsIHNyc3NmX2luZm9ybWFudF9mb3JtX2NvbXBsZXRlLCBzYnFyX2NvbXBsZXRlLCBiZGlpaV9jb21wbGV0ZSwgZ2VuZXJhbGl6ZWRfYW54aWV0eV9kaXNvcmRlcl83X2l0ZW1fZ2FkN19zY2FsZV9zY29fY29tcGxldGUscnJzX2NvbXBsZXRlLCBwZXJzb25hbF9hdHRyaWJ1dGVzX3F1ZXN0aW9ubmFpcmVfcGFxX2NvbXBsZXRlLCBnaWR5cV9hYV9jb21wbGV0ZSwgcGl0dHNidXJnaF9zbGVlcF9xdWFsaXR5X2luZGV4X3BzcWlfY29tcGxldGUsIHFpZHMxNl9hYWQyX2NvbXBsZXRlLCBicmllZl9zZWxmX3JlcG9ydF9mb3JtX2NvbXBsZXRlLCBicmllZl9pbmZvcm1hbnRfZm9ybV9jb21wbGV0ZSwgbXRfZm9ybV9jb21wbGV0ZSwgdGVybV9mb3JtX2NvbXBsZXRlLCBlbGdfcF9leHBsYWluOnR4X290aGVyX3JlYXNvbl9uYykKCgphc3Nlc3NtZW50X2NvbXBsZXRlIDwtCiAgYXNzZXNzbWVudF9zdGF0dXMgJT4lCiAgc2VsZWN0KHJlY29yZF9pZCwgY29udGFpbnMoImNvbXBsZXRlIikpICU+JQogIGdhdGhlcihrZXkgPSAiYXNzZXNzbWVudCIsIHZhbHVlID0gImNvbXBsZXRlIiwgLWMocmVjb3JkX2lkKSkgJT4lCiAgZmlsdGVyKCFpcy5uYShjb21wbGV0ZSkpICU+JQogIG11dGF0ZShhc3Nlc3NtZW50ID0gc3RyX3JlbW92ZShhc3Nlc3NtZW50LCAiX2Zvcm1fY29tcGxldGUiKSAlPiUKICAgICAgICAgICBzdHJfcmVtb3ZlKC4sICJfY29tcGxldGUiKSkKCmFzc2Vzc21lbnRfZXhwbGFpbiA8LQogIGFzc2Vzc21lbnRfc3RhdHVzICU+JQogIHNlbGVjdChyZWNvcmRfaWQsIGVuZHNfd2l0aCgiX2V4cGxhaW4iKSkgJT4lCiAgZ2F0aGVyKGtleSA9ICJhc3Nlc3NtZW50IiwgdmFsdWUgPSAicmVhc29uIiwgLWMocmVjb3JkX2lkKSkgJT4lCiAgZmlsdGVyKCFpcy5uYShyZWFzb24pKSAlPiUKICBtdXRhdGUoYXNzZXNzbWVudCA9IHN0cl9yZW1vdmUoYXNzZXNzbWVudCwgIl9leHBsYWluIikpICU+JQogIGZpbHRlcihhc3Nlc3NtZW50ICE9ICJucF92YWxpZGl0eV9pc3N1ZXMiKSAlPiUKICBtdXRhdGUocmVhc29uID0gZmFjdG9yKHJlYXNvbiwKICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVscyA9IGMoODgsIDg5LCA5MCwgOTEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkyLCA5MywgOTQsIDk1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5NiwgOTcsIDk4LCA5OSksCiAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBjKCJPdGhlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUZXJtaW5hdGVkIGZyb20gc3R1ZHkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWlzc2VkIGFwcG9pbnRtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhdGVyIGZvcmdvdCB0byBhZG1pbmlzdGVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRpbWUgY29uc3RyYWludHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2l0aGRyZXcgY29uc2VudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEZWNlYXNlZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmFibGUgdG8gYmUgY29udGFjdGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbXBsZXRlZCBidXQgd2l0aCBsZXNzIHRoYW4gYmVzdCBlZmZvcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVmdXNlZCB0byBiZWdpbi9maW5pc2giLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGh5c2ljYWwgaW1wYWlybWVudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb2duaXRpdmUgaW1wYWlybWVudCIpKSkKCmFzc2Vzc21lbnRfZXhwbGFpbl9vdGhlciA8LQogIGFzc2Vzc21lbnRfc3RhdHVzICU+JQogIHNlbGVjdChyZWNvcmRfaWQsIGVuZHNfd2l0aCgiX290aGVyX3JlYXNvbl9uYyIpKSAlPiUKICBnYXRoZXIoa2V5ID0gImFzc2Vzc21lbnQiLCB2YWx1ZSA9ICJyZWFzb25fb3RoZXIiLCAtYyhyZWNvcmRfaWQpKSAlPiUKICBmaWx0ZXIoIWlzLm5hKHJlYXNvbl9vdGhlcikpICU+JQogIG11dGF0ZShhc3Nlc3NtZW50ID0gc3RyX3JlbW92ZShhc3Nlc3NtZW50LCAiX290aGVyX3JlYXNvbl9uYyIpKQoKYXNzZXNzbWVudF9kZiA8LQogIGFzc2Vzc21lbnRfY29tcGxldGUgJT4lCiAgbGVmdF9qb2luKGFzc2Vzc21lbnRfZXhwbGFpbikgJT4lCiAgbGVmdF9qb2luKGFzc2Vzc21lbnRfZXhwbGFpbl9vdGhlcikgJT4lCiAgbXV0YXRlKHJlYXNvbiA9IGlmZWxzZShyZWFzb24gPT0gIk90aGVyIiwgcmVhc29uX290aGVyLCBhcy5jaGFyYWN0ZXIocmVhc29uKSksCiAgICAgICAgIGNvbXBsZXRlX3RleHQgPSBjYXNlX3doZW4oY29tcGxldGUgPT0gMSB+ICJDb21wbGV0ZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGUgPT0gMiB+ICJOb3QgY29tcGxldGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlID09IDMgfiAiUGFydGlhbCIpKQpgYGAKCgoKYGBge3IgY2FzZV9hc3Nlc3NtZW50X2NvbXBsZXRlLCBlY2hvPUZBTFNFfQphc3Nlc3NtZW50X2RmIDwtCiAgYXNzZXNzbWVudF9kZiAlPiUKICBtdXRhdGUoYXNzZXNzbWVudCA9IGZhY3Rvcihhc3Nlc3NtZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVscyA9IGMoImVsZ19wIiwgIm1hY2NhdCIsICJkZW1vIiwgInNjaWQ1IiwgIndhc2kiLCAiYWhoIiwgInBtZWQiLCAibnBtZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhhbWQiLCAiZ2FmIiwgImNnaXMiLCAiY2dpc19zYSIsICJjc3NycyIsICJhZG9zIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmUiLCAidG1zIiwgInNyc3NmX3NlbGZfcmVwb3J0IiwgInNyc3NmX2luZm9ybWFudCIsICJzYnFyIiwgImJkaWlpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZW5lcmFsaXplZF9hbnhpZXR5X2Rpc29yZGVyXzdfaXRlbV9nYWQ3X3NjYWxlX3NjbyIsICJycnMiLCAicGVyc29uYWxfYXR0cmlidXRlc19xdWVzdGlvbm5haXJlX3BhcSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ2lkeXFfYWEiLCAicGl0dHNidXJnaF9zbGVlcF9xdWFsaXR5X2luZGV4X3BzcWkiLCAicWlkczE2X2FhZDIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJyaWVmX3NlbGZfcmVwb3J0IiwgImJyaWVmX2luZm9ybWFudCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm10IiwgInRlcm0iKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBjKCJFbGlnaWJpbGl0eSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWFjQ0FUIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEZW1vZ3JhcGhpY3MiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNDSUQtNS1SViIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV0FTSS1JSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWVkaWNhbCBIaXN0b3J5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQc3ljaG90cm9waWMgTWVkaWNhdGlvbnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vbnBzeWNob3Ryb3BpYyBNZWRpY2F0aW9ucyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSEFNRC0xNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR0FGIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDR0kgUkEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNHSSBDbGluaWNpYW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNTU1JTIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBRE9TLTIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlByZS1yVE1TIFF1ZXN0aW9ubmFpcmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRNUyBTYWZldHkgU2NyZWVuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTUlMtU0YgU2VsZi1SZXBvcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNSUy1TRiBJbmZvcm1hbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNCUS1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCREktSUkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdBRDciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJSUyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUEFRIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHSURZUS1BQSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUFNRSSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUUlEUy0xNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQlJJRUYgU2VsZi1SZXBvcnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJSSUVGIEluZm9ybWFudCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTW90b3IgVGhyZXNob2xkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUZXJtaW5hdGlvbiBDaGVja2xpc3QiKSkpCgpjb21wbGV0ZV9wbG90IDwtCiAgYXNzZXNzbWVudF9kZiAlPiUKICBwbG90X2x5KHggPSB+YXNzZXNzbWVudCwgeSA9IH5yZWNvcmRfaWQsIHogPSB+Y29tcGxldGUsCiAgICAgICAgICB4Z2FwID0gMiwgeWdhcCA9IDIsCiAgICAgICAgICBjb2xvcnMgPSBjKCIjMjM4ODIzIiwgIiNEMjIyMkQiLCAiI0ZGQkYwMCIpLAogICAgICAgICAgI2NvbG9ycyA9IGMoIiNGRkJGMDAiLCAiI0QyMjIyRCIsICIjMjM4ODIzIiksCiAgICAgICAgICB0eXBlID0gImhlYXRtYXAiLAogICAgICAgICAgaGVpZ2h0PTcwMCwKICAgICAgICAgIGhvdmVyaW5mbyA9ICd0ZXh0JywKICAgICAgICAgIHRleHQgPSB+cGFzdGUoJyBTdWJqZWN0IElEOiAnLCByZWNvcmRfaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICc8YnI+IEFzc2Vzc21lbnQ6ICcsIGFzc2Vzc21lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICc8YnI+IFN0YXR1czogJywgY29tcGxldGVfdGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgJzxicj4gUmVhc29uOiAnLCByZWFzb24pKSAlPiUKICBsYXlvdXQoZm9udCA9IHQsCiAgICAgICAgIHhheGlzID0gbGlzdCh0aXRsZSA9ICJBc3Nlc3NtZW50IiwKICAgICAgICAgICAgICAgICAgICAgIHRpY2tzID0gIiIsCiAgICAgICAgICAgICAgICAgICAgICB0aWNrYW5nbGU9IDQ1LAogICAgICAgICAgICAgICAgICAgICAgc2hvd2dyaWQgPSBGQUxTRSksCiAgICAgICAgIHlheGlzID0gbGlzdCh0aXRsZSA9ICJTdWJqZWN0IElEIiwKICAgICAgICAgICAgICAgICAgICAgIGF1dG9yYW5nZSA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICB0eXBlID0gImNhdGVnb3J5IiwKICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5b3JkZXIgPSAiY2F0ZWdvcnkgZGVzY2VuZGluZyIsCiAgICAgICAgICAgICAgICAgICAgICB0aWNrcyA9ICIiLAogICAgICAgICAgICAgICAgICAgICAgdGlja3ZhbHM9fnJlY29yZF9pZCwKICAgICAgICAgICAgICAgICAgICAgIHNob3dncmlkID0gRkFMU0UpKSAlPiUKICBoaWRlX2NvbG9yYmFyKCkgJT4lCiAgY29uZmlnKGRpc3BsYXlNb2RlQmFyID0gRkFMU0UpCgpjb21wbGV0ZV9wbG90CmBgYAoKIyMgQmFzZWxpbmUgQmVoYXZpb3VyIHsudGFic2V0fQoKIyMjIEF1dGlzbQoKYGBge3IgZWNobz1GQUxTRX0KcmVkY2FwX2RmICU+JQogIHNlbGVjdChyZWNvcmRfaWQsIGFkb3NfY29tbV90b3RhbCwgYWRvc19yc2lfdG90YWwsIGFkb3Nfc2JyaV90b3RhbCkgJT4lCiAgcGl2b3RfbG9uZ2VyKGFkb3NfY29tbV90b3RhbDphZG9zX3NicmlfdG90YWwsIG5hbWVzX3RvID0gInN1YnNjYWxlIiwgdmFsdWVzX3RvID0gInNjb3JlIikgJT4lCiAgbXV0YXRlKHN1YnNjYWxlID0gcmVjb2RlKHN1YnNjYWxlLAogICAgICAgICBgYWRvc19jb21tX3RvdGFsYCA9ICJDb21tdW5pY2F0aW9uIiwKICAgICAgICAgYGFkb3NfcnNpX3RvdGFsYCA9ICJTb2NpYWwgSW50ZXJhY3Rpb24iLAogICAgICAgICBgYWRvc19zYnJpX3RvdGFsYCA9ICJTdGVyZW90eXBlZCBCZWhhdmlvcnMgYW5kIFJlc3RyaWN0ZWQgSW50ZXJlc3RzIikpICU+JQogIGdncGxvdChhZXMoeD1zdWJzY2FsZSwgeT1zY29yZSkpICsgCiAgICBnZW9tX2JveHBsb3QoKSArCiAgICBnZW9tX2ppdHRlcihjb2xvcj0iYmxhY2siLCBzaXplPTEsIGFscGhhPTAuOSkgKwogICAgeGxhYigiU3Vic2NhbGUiKSArCiAgICB5bGFiKCJTY29yZSIpCmBgYAoKIyMjIERlcHJlc3Npb24gYW5kIEFueGlldHkgU2V2ZXJpdHkKCmBgYHtyIGVjaG89RkFMU0V9CnJlZGNhcF9kZiAlPiUKICBzZWxlY3QocmVjb3JkX2lkLCB0b3RhbF9zY29yZV9hZGFmNmMsIGhhbWRfdG90YWwsIGdhZl9yYXRpbmcsIHNicV90b3RhbHNjb3JlLCBzY190b3Rfc2NvcmUsIHJyc19yZWZsZWN0aW9uX3RvdGFsLCBycnNfYnJvb2RpbmdfdG90YWwpICU+JQogIHBpdm90X2xvbmdlcih0b3RhbF9zY29yZV9hZGFmNmM6cnJzX2Jyb29kaW5nX3RvdGFsLCBuYW1lc190byA9ICJhc3Nlc3NtZW50IiwgdmFsdWVzX3RvID0gInNjb3JlIikgJT4lCiAgbXV0YXRlKGFzc2Vzc21lbnQgPSByZWNvZGUoYXNzZXNzbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgdG90YWxfc2NvcmVfYWRhZjZjYCA9ICJCREktSUkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBnYWZfcmF0aW5nYCA9ICJHQUYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBoYW1kX3RvdGFsYCA9ICJIQU1ELTE3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgc2JxX3RvdGFsc2NvcmVgID0gIlNCUS1SIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgc2NfdG90X3Njb3JlYCA9ICJHQUQ3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgcnJzX3JlZmxlY3Rpb25fdG90YWxgID0gIlJSUyAtIFJlZmxlY3Rpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBycnNfYnJvb2RpbmdfdG90YWxgID0gIlJSUyAtIEJyb29kaW5nIikpICU+JQogIGdncGxvdChhZXMoeD1hc3Nlc3NtZW50LCB5PXNjb3JlKSkgKyAKICAgIGdlb21fYm94cGxvdCgpICsKICAgIGdlb21faml0dGVyKGNvbG9yPSJibGFjayIsIHNpemU9MSwgYWxwaGE9MC45KSArCiAgICB4bGFiKCJBc3Nlc3NtZW50IikgKwogICAgeWxhYigiU2NvcmUiKQpgYGAK