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aWx0IGZvciAlcwoAClRoaXMgcHJvZ3JhbSBidWlsdCBmb3IgJXMgKCVzKQoAICAtLWRlYnVnWz1GTEFHU10gICAgICAgICAgICAgUHJpbnQgdmFyaW91cyB0eXBlcyBvZiBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uCgAgIC0tbm8tcHJpbnQtZGlyZWN0b3J5ICAgICAgICBUdXJuIG9mZiAtdywgZXZlbiBpZiBpdCB3YXMgdHVybmVkIG9uIGltcGxpY2l0bHkuCgAgIC0td2Fybi11bmRlZmluZWQtdmFyaWFibGVzICBXYXJuIHdoZW4gYW4gdW5kZWZpbmVkIHZhcmlhYmxlIGlzIHJlZmVyZW5jZWQuCgAgIC1CLCAtLWFsd2F5cy1tYWtlICAgICAgICAgICBVbmNvbmRpdGlvbmFsbHkgbWFrZSBhbGwgdGFyZ2V0cy4KACAgLUMgRElSRUNUT1JZLCAtLWRpcmVjdG9yeT1ESVJFQ1RPUlkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbmdlIHRvIERJUkVDVE9SWSBiZWZvcmUgZG9pbmcgYW55dGhpbmcuCgAgIC1JIERJUkVDVE9SWSwgLS1pbmNsdWRlLWRpcj1ESVJFQ1RPUlkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIERJUkVDVE9SWSBmb3IgaW5jbHVkZWQgbWFrZWZpbGVzLgoAICAtUiwgLS1uby1idWlsdGluLXZhcmlhYmxlcyAgRGlzYWJsZSB0aGUgYnVpbHQtaW4gdmFyaWFibGUgc2V0dGluZ3MuCgAgIC1TLCAtLW5vLWtlZXAtZ29pbmcsIC0tc3RvcAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUdXJucyBvZmYgLWsuCgAgIC1XIEZJTEUsIC0td2hhdC1pZj1GSUxFLCAtLW5ldy1maWxlPUZJTEUsIC0tYXNzdW1lLW5ldz1GSUxFCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNpZGVyIEZJTEUgdG8gYmUgaW5maW5pdGVseSBuZXcuCgAgIC1iLCAtbSAgICAgICAgICAgICAgICAgICAgICBJZ25vcmVkIGZvciBjb21wYXRpYmlsaXR5LgoAICAtZCAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpbnQgbG90cyBvZiBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uCgAgIC1lLCAtLWVudmlyb25tZW50LW92ZXJyaWRlcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbnZpcm9ubWVudCB2YXJpYWJsZXMgb3ZlcnJpZGUgbWFrZWZpbGVzLgoAICAtZiBGSUxFLCAtLWZpbGU9RklMRSwgLS1tYWtlZmlsZT1GSUxFCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlYWQgRklMRSBhcyBhIG1ha2VmaWxlLgoAICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgUHJpbnQgdGhpcyBtZXNzYWdlIGFuZCBleGl0LgoAICAtaSwgLS1pZ25vcmUtZXJyb3JzICAgICAgICAgSWdub3JlIGVycm9ycyBmcm9tIGNvbW1hbmRzLgoAICAtaiBbTl0sIC0tam9ic1s9Tl0gICAgICAgICAgQWxsb3cgTiBqb2JzIGF0IG9uY2U7IGluZmluaXRlIGpvYnMgd2l0aCBubyBhcmcuCgAgIC1rLCAtLWtlZXAtZ29pbmcgICAgICAgICAgICBLZWVwIGdvaW5nIHdoZW4gc29tZSB0YXJnZXRzIGNhbid0IGJlIG1hZGUuCgAgIC1sIFtOXSwgLS1sb2FkLWF2ZXJhZ2VbPU5dLCAtLW1heC1sb2FkWz1OXQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBzdGFydCBtdWx0aXBsZSBqb2JzIHVubGVzcyBsb2FkIGlzIGJlbG93IE4uCgAgIC1uLCAtLWp1c3QtcHJpbnQsIC0tZHJ5LXJ1biwgLS1yZWNvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb24ndCBhY3R1YWxseSBydW4gYW55IGNvbW1hbmRzOyBqdXN0IHByaW50IHRoZW0uCgAgIC1vIEZJTEUsIC0tb2xkLWZpbGU9RklMRSwgLS1hc3N1bWUtb2xkPUZJTEUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uc2lkZXIgRklMRSB0byBiZSB2ZXJ5IG9sZCBhbmQgZG9uJ3QgcmVtYWtlIGl0LgoAICAtcCwgLS1wcmludC1kYXRhLWJhc2UgICAgICAgUHJpbnQgbWFrZSdzIGludGVybmFsIGRhdGFiYXNlLgoAICAtcSwgLS1xdWVzdGlvbiAgICAgICAgICAgICAgUnVuIG5vIGNvbW1hbmRzOyBleGl0IHN0YXR1cyBzYXlzIGlmIHVwIHRvIGRhdGUuCgAgIC1yLCAtLW5vLWJ1aWx0aW4tcnVsZXMgICAgICBEaXNhYmxlIHRoZSBidWlsdC1pbiBpbXBsaWNpdCBydWxlcy4KACAgLXMsIC0tc2lsZW50LCAtLXF1aWV0ICAgICAgIERvbid0IGVjaG8gY29tbWFuZHMuCgAgIC10LCAtLXRvdWNoICAgICAgICAgICAgICAgICBUb3VjaCB0YXJnZXRzIGluc3RlYWQgb2YgcmVtYWtpbmcgdGhlbS4KACAgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgIFByaW50IHRoZSB2ZXJzaW9uIG51bWJlciBvZiBtYWtlIGFuZCBleGl0LgoAICAtdywgLS1wcmludC1kaXJlY3RvcnkgICAgICAgUHJpbnQgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgoAICBEYXRlICVzACAgSWdub3JpbmcgVlBBVEggbmFtZSBgJXMnLgoAICB1aWQgPSAlZCwgZ2lkID0gJWQsIG1vZGUgPSAwJW8uCgAgKGJ1aWx0LWluKToAIChjb3JlIGR1bXBlZCkAIChkaWQgeW91IG1lYW4gVEFCIGluc3RlYWQgb2YgOCBzcGFjZXM/KQAgKGRvbid0IGNhcmUpACAoZnJvbSBgJXMnLCBsaW5lICVsdSkAIChmcm9tIGAlcycsIGxpbmUgJWx1KToKACAobmFtZSBtaWdodCBiZSB0cnVuY2F0ZWQpACAobm8gZGVmYXVsdCBnb2FsKQAgKG5vIH4gZXhwYW5zaW9uKQAgKHJlbW90ZSkAIChzZWFyY2ggcGF0aCkAIGZpbGVzLCAAIGltcG9zc2liaWxpdGllcwAgaW1wb3NzaWJpbGl0aWVzIGluICVsdSBkaXJlY3Rvcmllcy4KACBzbyBmYXIuACB0ZXJtaW5hbC4AIyAgQWxzbyBtYWtlczoAIyAgQ29tbWFuZC1saW5lIHRhcmdldC4AIyAgQ29tbWFuZHMgY3VycmVudGx5IHJ1bm5pbmcgKFRISVMgSVMgQSBCVUcpLgAjICBEZXBlbmRlbmNpZXMgY29tbWFuZHMgcnVubmluZyAoVEhJUyBJUyBBIEJVRykuACMgIEZhaWxlZCB0byBiZSB1cGRhdGVkLgAjICBGaWxlIGRvZXMgbm90IGV4aXN0LgAjICBGaWxlIGhhcyBiZWVuIHVwZGF0ZWQuACMgIEZpbGUgaGFzIG5vdCBiZWVuIHVwZGF0ZWQuACMgIEZpbGUgaXMgYW4gaW50ZXJtZWRpYXRlIHByZXJlcXVpc2l0ZS4AIyAgRmlsZSBpcyB2ZXJ5IG9sZC4AIyAgSW1wbGljaXQgcnVsZSBzZWFyY2ggaGFzIGJlZW4gZG9uZS4AIyAgSW1wbGljaXQgcnVsZSBzZWFyY2ggaGFzIG5vdCBiZWVuIGRvbmUuACMgIEltcGxpY2l0L3N0YXRpYyBwYXR0ZXJuIHN0ZW06IGAlcycKACMgIEludmFsaWQgdmFsdWUgaW4gYGNvbW1hbmRfc3RhdGUnIG1lbWJlciEAIyAgSW52YWxpZCB2YWx1ZSBpbiBgdXBkYXRlX3N0YXR1cycgbWVtYmVyIQAjICBMYXN0IG1vZGlmaWVkICVzCgAjICBNb2RpZmljYXRpb24gdGltZSBuZXZlciBjaGVja2VkLgAjICBOZWVkcyB0byBiZSB1cGRhdGVkICgtcSBpcyBzZXQpLgAjICBQaG9ueSB0YXJnZXQgKHByZXJlcXVpc2l0ZSBvZiAuUEhPTlkpLgAjICBQcmVjaW91cyBmaWxlIChwcmVyZXF1aXNpdGUgb2YgLlBSRUNJT1VTKS4AIyAgU3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuACMgIGNvbW1hbmRzIHRvIGV4ZWN1dGUAIyAlcyAoZGV2aWNlICVkLCBpbm9kZSBbJWQsJWQsJWRdKTogACMgJXMgKGRldmljZSAlZCwgaW5vZGUgWyVkLCVkLCVkXSk6IGNvdWxkIG5vdCBiZSBvcGVuZWQuCgAjICVzIChkZXZpY2UgJWxkLCBpbm9kZSAlbGQpOiAAIyAlcyAoZGV2aWNlICVsZCwgaW5vZGUgJWxkKTogY291bGQgbm90IGJlIG9wZW5lZC4KACMgJXMgKGtleSAlcywgbXRpbWUgJWQpOiAAIyAlcyAoa2V5ICVzLCBtdGltZSAlZCk6IGNvdWxkIG5vdCBiZSBvcGVuZWQuCgAjICVzOiBjb3VsZCBub3QgYmUgc3RhdCdkLgoAIyBObyBgdnBhdGgnIHNlYXJjaCBwYXRocy4AIyBOb3QgYSB0YXJnZXQ6ACMgdmFyaWFibGUgc2V0IGhhc2gtdGFibGUgc3RhdHM6CgAlcyAobGluZSAlZCkgQmFkIHNoZWxsIGNvbnRleHQgKCF1bml4eSAmJiAhYmF0Y2hfbW9kZV9zaGVsbCkKACVzIGlzIHN1c3BlbmRpbmcgZm9yIDMwIHNlY29uZHMuLi4AJXMlczogJXMAJXM6ICVzACVzOiBDb21tYW5kIG5vdCBmb3VuZAAlczogRW50ZXJpbmcgZGlyZWN0b3J5IGAlcycKACVzOiBMZWF2aW5nIGRpcmVjdG9yeSBgJXMnCgAlczogU2hlbGwgcHJvZ3JhbSBub3QgZm91bmQAJXM6IFRpbWVzdGFtcCBvdXQgb2YgcmFuZ2U7IHN1YnN0aXR1dGluZyAlcwAlczogaWxsZWdhbCBvcHRpb24gLS0gJWMKACVzOiBpbnZhbGlkIG9wdGlvbiAtLSAlYwoAJXM6IG9wdGlvbiBgJWMlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudAoAJXM6IG9wdGlvbiBgJXMnIGlzIGFtYmlndW91cwoAJXM6IG9wdGlvbiBgJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50CgAlczogb3B0aW9uIGAtLSVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50CgAlczogb3B0aW9uIGAtVyAlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudAoAJXM6IG9wdGlvbiBgLVcgJXMnIGlzIGFtYmlndW91cwoAJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlYwoAJXM6IHVucmVjb2duaXplZCBvcHRpb24gYCVjJXMnCgAlczogdW5yZWNvZ25pemVkIG9wdGlvbiBgLS0lcycKACVzOiB1c2VyICVsdSAocmVhbCAlbHUpLCBncm91cCAlbHUgKHJlYWwgJWx1KQoAJXNObyBydWxlIHRvIG1ha2UgdGFyZ2V0IGAlcyclcwAlc05vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgYCVzJywgbmVlZGVkIGJ5IGAlcyclcwAlc1RoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4KJXNUaGVyZSBpcyBOTyB3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBCiVzUEFSVElDVUxBUiBQVVJQT1NFLgoAJXNbJXVdOiBFbnRlcmluZyBkaXJlY3RvcnkgYCVzJwoAJXNbJXVdOiBMZWF2aW5nIGRpcmVjdG9yeSBgJXMnCgAqKiogQXJjaGl2ZSBtZW1iZXIgYCVzJyBtYXkgYmUgYm9ndXM7IG5vdCBkZWxldGVkACoqKiBCcmVhay4KACoqKiBEZWxldGluZyBmaWxlIGAlcycAKioqIERlbGV0aW5nIGludGVybWVkaWF0ZSBmaWxlIGAlcycAKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4AKioqIFdhcm5pbmc6IC5MT1dfUkVTT0xVVElPTl9USU1FIGZpbGUgYCVzJyBoYXMgYSBoaWdoIHJlc29sdXRpb24gdGltZSBzdGFtcAAqKiogWyVzXSBBcmNoaXZlIG1lbWJlciBgJXMnIG1heSBiZSBib2d1czsgbm90IGRlbGV0ZWQAKioqIFslc10gRGVsZXRpbmcgZmlsZSBgJXMnACoqKiBbJXNdIEVycm9yICVkACoqKiBbJXNdIEVycm9yIDB4JXgAKioqIFslc10gRXJyb3IgMHgleCAoaWdub3JlZCkALXdhcm5pbmcsIENUUkwtWSB3aWxsIGxlYXZlIHN1Yi1wcm9jZXNzKGVzKSBhcm91bmQuCgAtd2FybmluZywgeW91IG1heSBoYXZlIHRvIHJlLWVuYWJsZSBDVFJMLVkgaGFuZGxpbmcgZnJvbSBEQ0wuCgAuICBTdG9wLgoALkxJQlBBVFRFUk5TIGVsZW1lbnQgYCVzJyBpcyBub3QgYSBwYXR0ZXJuADsgdXNpbmcgVlBBVEggbmFtZSBgJXMnAEFib3J0ZWQAQWxhcm0gY2xvY2sAQXZvaWRpbmcgaW1wbGljaXQgcnVsZSByZWN1cnNpb24uCgBCVUc6IG51bV9wYXR0ZXJuX3J1bGVzIHdyb25nISAgJXUgIT0gJXUAQlVJTFRJTiBDRCAlcwoAQlVJTFRJTiBSTSAlcwoAQlVJTFRJTiBbJXNdWyVzXQoAQmFkIHN5c3RlbSBjYWxsAEJyb2tlbiBwaXBlAEJ1cyBlcnJvcgBDUFUgdGltZSBsaW1pdCBleGNlZWRlZABDaGlsZCBhY2Nlc3MAQ2hpbGQgZXhpdGVkAENpcmN1bGFyICVzIDwtICVzIGRlcGVuZGVuY3kgZHJvcHBlZC4AQ2xlYW5pbmcgdXAgdGVtcCBiYXRjaCBmaWxlICVzCgBDbGVhbmluZyB1cCB0ZW1wb3JhcnkgYmF0Y2ggZmlsZSAlcwoAQ29sbGlzaW9ucz0lbGQvJWxkPSUuMGYlJQBDb21tYW5kcyBmb3IgYCVzJyB3aWxsIGJlIGlnbm9yZWQgaW4gZmF2b3Igb2YgdGhvc2UgZm9yIGAlcycuAENvbW1hbmRzIGZvciBmaWxlIGAlcycgd2VyZSBmb3VuZCBieSBpbXBsaWNpdCBydWxlIHNlYXJjaCwAQ29tbWFuZHMgb2YgYCVzJyBhcmUgYmVpbmcgcnVuLgoAQ29tbWFuZHMgd2VyZSBzcGVjaWZpZWQgZm9yIGZpbGUgYCVzJyBhdCAlczolbHUsAENvbnNpZGVyaW5nIHRhcmdldCBmaWxlIGAlcycuCgBDb250aW51ZWQAQ291bGRuJ3QgY2hhbmdlIGJhY2sgdG8gb3JpZ2luYWwgZGlyZWN0b3J5LgBDcmVhdGluZyB0ZW1wb3JhcnkgYmF0Y2ggZmlsZSAlcwoAQ3VycmVudCB0aW1lAEN1c3RvbXMgd29uJ3QgZXhwb3J0OiAlcwoARGFuZ2VyIHNpZ25hbABFTVQgdHJhcABFcnJvciBzcGF3bmluZywgJWQKAEVycm9yLCBlbXB0eSBjb21tYW5kCgBFeGVjdXRpbmcgJXMgaW5zdGVhZAoARXh0cmFuZW91cyB0ZXh0IGFmdGVyIGAlcycgZGlyZWN0aXZlAEV4dHJhbmVvdXMgdGV4dCBhZnRlciBgZW5kZWYnIGRpcmVjdGl2ZQBGYWlsZWQgdG8gcmVtYWtlIG1ha2VmaWxlIGAlcycuAEZhaWxlZCB0byByZW1ha2UgdGFyZ2V0IGZpbGUgYCVzJy4KAEZpbGUgYCVzJyBkb2VzIG5vdCBleGlzdC4KAEZpbGUgYCVzJyB3YXMgY29uc2lkZXJlZCBhbHJlYWR5LgoARmlsZSBzaXplIGxpbWl0IGV4Y2VlZGVkAEZpbmlzaGVkIHByZXJlcXVpc2l0ZXMgb2YgdGFyZ2V0IGZpbGUgYCVzJy4KAEZpbmlzaGVkIHVwZGF0aW5nIGZpbGUgYCVzJy4KAEZsb2F0aW5nIHBvaW50IGNvLXByb2Nlc3NvciBub3QgYXZhaWxhYmxlAEZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbgBGb3VuZCBhbiBpbXBsaWNpdCBydWxlIGZvciBgJXMnLgoARm91bmQgcHJlcmVxdWlzaXRlIGAlcycgYXMgVlBBVEggYCVzJwoAR2l2aW5nIHVwIG9uIHRhcmdldCBmaWxlIGAlcycuCgBIYW5ndXAASS9PIHBvc3NpYmxlAElPVCB0cmFwAElsbGVnYWwgSW5zdHJ1Y3Rpb24ASW5jbHVkZWQgbWFrZWZpbGUgYCVzJyB3YXMgbm90IGZvdW5kLgBJbmZvcm1hdGlvbiByZXF1ZXN0AEluaXRpYWxpemVkIGFjY2VzcwBJbnRlcnJ1cHQAS2lsbGVkAExpdmUgY2hpbGQgMHglMDhseCAoJXMpIFBJRCAlbGQgJXMKAExvYWQ9JWxkLyVsZD0lLjBmJSUsIABMb29raW5nIGZvciBhIHJ1bGUgd2l0aCBpbnRlcm1lZGlhdGUgZmlsZSBgJXMnLgoATG9va2luZyBmb3IgYW4gaW1wbGljaXQgcnVsZSBmb3IgYCVzJy4KAExvb2tpbmcgZm9yIGFyY2hpdmUtbWVtYmVyIGltcGxpY2l0IHJ1bGUgZm9yIGAlcycuCgBNYWtlIGFjY2VzcwBNYWtlZmlsZSBgJXMnIG1pZ2h0IGxvb3A7IG5vdCByZW1ha2luZyBpdC4KAE1ha2VmaWxlIGAlcycgd2FzIG5vdCBmb3VuZABNYWtlZmlsZSBmcm9tIHN0YW5kYXJkIGlucHV0IHNwZWNpZmllZCB0d2ljZS4ATWFraW5nIGAlcycgZHVlIHRvIGFsd2F5cy1tYWtlIGZsYWcuCgBNZW1iZXIgYCVzJyVzOiAlbGQgYnl0ZXMgYXQgJWxkICglbGQpLgoATXVzdCByZW1ha2UgdGFyZ2V0IGAlcycuCgBObwBObyBjb21tYW5kcyBmb3IgYCVzJyBhbmQgbm8gcHJlcmVxdWlzaXRlcyBhY3R1YWxseSBjaGFuZ2VkLgoATm8gaW1wbGljaXQgcnVsZSBmb3VuZCBmb3IgYCVzJy4KAE5vIG5lZWQgdG8gcmVtYWtlIHRhcmdldCBgJXMnAE5vIHRhcmdldHMATm8gdGFyZ2V0cyBzcGVjaWZpZWQgYW5kIG5vIG1ha2VmaWxlIGZvdW5kAE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYCVzJy4AT2J0YWluZWQgdG9rZW4gZm9yIGNoaWxkIDB4JTA4bHggKCVzKS4KAE9wdGlvbnM6CgBQYXJhbGxlbCBqb2JzICgtaikgYXJlIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybS4AUG93ZXIgZmFpbHVyZQBQcmVyZXF1aXNpdGUgYCVzJyBpcyBuZXdlciB0aGFuIHRhcmdldCBgJXMnLgoAUHJlcmVxdWlzaXRlIGAlcycgaXMgb2xkZXIgdGhhbiB0YXJnZXQgYCVzJy4KAFByZXJlcXVpc2l0ZSBgJXMnIGlzIG9yZGVyLW9ubHkgZm9yIHRhcmdldCBgJXMnLgoAUHJlcmVxdWlzaXRlIGAlcycgb2YgdGFyZ2V0IGAlcycgZG9lcyBub3QgZXhpc3QuCgBQcm9maWxpbmcgdGltZXIgZXhwaXJlZABQcnVuaW5nIGZpbGUgYCVzJy4KAFB1dHRpbmcgY2hpbGQgMHglMDhseCAoJXMpIFBJRCAlbGQlcyBvbiB0aGUgY2hhaW4uCgBRdWl0AFJlYWRpbmcgbWFrZWZpbGUgYCVzJwBSZWFkaW5nIG1ha2VmaWxlcy4uLgoAUmVhcGluZyBsb3NpbmcgY2hpbGQgMHglMDhseCBQSUQgJWxkICVzCgBSZWFwaW5nIHdpbm5pbmcgY2hpbGQgMHglMDhseCBQSUQgJWxkICVzCgBSZWNlbnRseSB0cmllZCBhbmQgZmFpbGVkIHRvIHVwZGF0ZSBmaWxlIGAlcycuCgBSZWN1cnNpdmUgdmFyaWFibGUgYCVzJyByZWZlcmVuY2VzIGl0c2VsZiAoZXZlbnR1YWxseSkAUmVkaXJlY3RlZCBlcnJvciB0byAlcwoAUmVkaXJlY3RlZCBpbnB1dCBmcm9tICVzCgBSZWRpcmVjdGVkIG91dHB1dCB0byAlcwoAUmVoYXNoPSVkLCAAUmVqZWN0aW5nIGltcG9zc2libGUgaW1wbGljaXQgcHJlcmVxdWlzaXRlIGAlcycuCgBSZWplY3RpbmcgaW1wb3NzaWJsZSBydWxlIHByZXJlcXVpc2l0ZSBgJXMnLgoAUmVsZWFzZWQgdG9rZW4gZm9yIGNoaWxkIDB4JTA4bHggKCVzKS4KAFJlbW92aW5nIGNoaWxkIDB4JTA4bHggUElEICVsZCVzIGZyb20gY2hhaW4uCgBSZW1vdmluZyBpbnRlcm1lZGlhdGUgZmlsZXMuLi4KAFJlcG9ydCBidWdzIHRvIDxidWctbWFrZUBnbnUub3JnPgoAUmVzZXR0aW5nIHRvIHNpbmdsZSBqb2IgKC1qMSkgbW9kZS4AUmVzb3VyY2UgbG9zdABTSUdQSE9ORQBTSUdXSU5EAFNlZ21lbnRhdGlvbiBmYXVsdABTdGlsbCB1cGRhdGluZyBmaWxlIGAlcycuCgBTdG9wcGVkAFN0b3BwZWQgKHNpZ25hbCkAU3RvcHBlZCAodHR5IGlucHV0KQBTdG9wcGVkICh0dHkgb3V0cHV0KQBTdWNjZXNzZnVsbHkgcmVtYWRlIHRhcmdldCBmaWxlIGAlcycuCgBUYXJnZXQgYCVzJyBpcyBkb3VibGUtY29sb24gYW5kIGhhcyBubyBwcmVyZXF1aXNpdGVzLgoAVGFyZ2V0IGAlcycgbm90IHJlbWFkZSBiZWNhdXNlIG9mIGVycm9ycy4AVGFyZ2V0IGZpbGUgYCVzJyBuZWVkcyByZW1hZGUgdW5kZXIgLXEuCgBUZXJtaW5hdGVkAFRoZSBwcmVyZXF1aXNpdGVzIG9mIGAlcycgYXJlIGJlaW5nIG1hZGUuCgBUcmFjZS9icmVha3BvaW50IHRyYXAAVHJ5aW5nIGltcGxpY2l0IHByZXJlcXVpc2l0ZSBgJXMnLgoAVHJ5aW5nIHBhdHRlcm4gcnVsZSB3aXRoIHN0ZW0gYCUuKnMnLgoAVHJ5aW5nIHJ1bGUgcHJlcmVxdWlzaXRlIGAlcycuCgBVbmtub3duIGJ1aWx0aW4gY29tbWFuZCAnJXMnCgBVbmtub3duIGVycm9yICVkAFVwZGF0aW5nIGdvYWwgdGFyZ2V0cy4uLi4KAFVwZGF0aW5nIG1ha2VmaWxlcy4uLi4KAFVyZ2VudCBJL08gY29uZGl0aW9uAFVzYWdlOiAlcyBbb3B0aW9uc10gW3RhcmdldF0gLi4uCgBVc2VyIGFjY2VzcwBVc2VyIGRlZmluZWQgc2lnbmFsIDEAVXNlciBkZWZpbmVkIHNpZ25hbCAyAFVzaW5nIGRlZmF1bHQgY29tbWFuZHMgZm9yIGAlcycuCgBWaXJ0dWFsIHRpbWVyIGV4cGlyZWQAV2FybmluZzogRW1wdHkgcmVkaXJlY3Rpb24KAFdhcm5pbmc6IEZpbGUgYCVzJyBoYXMgbW9kaWZpY2F0aW9uIHRpbWUgJS4yZyBzIGluIHRoZSBmdXR1cmUAV2FybmluZzogRmlsZSBgJXMnIGhhcyBtb2RpZmljYXRpb24gdGltZSBpbiB0aGUgZnV0dXJlAFdpbmRvdyBjaGFuZ2VkAFslc10gRXJyb3IgJWQgKGlnbm9yZWQpAGAlcycgaXMgdXAgdG8gZGF0ZS4AYG92ZXJyaWRlJyBkaXJlY3RpdmUAYXR0ZW1wdCB0byB1c2UgdW5zdXBwb3J0ZWQgZmVhdHVyZTogYCVzJwBhdXRvbWF0aWMAYnV0IGAlcycgaXMgbm93IGNvbnNpZGVyZWQgdGhlIHNhbWUgZmlsZSBhcyBgJXMnLgBjYW4ndCBhbGxvY2F0ZSAlbGQgYnl0ZXMgZm9yIGhhc2ggdGFibGU6IG1lbW9yeSBleGhhdXN0ZWQAY2FuJ3QgcmVuYW1lIGRvdWJsZS1jb2xvbiBgJXMnIHRvIHNpbmdsZS1jb2xvbiBgJXMnAGNhbid0IHJlbmFtZSBzaW5nbGUtY29sb24gYCVzJyB0byBkb3VibGUtY29sb24gYCVzJwBjYW5ub3QgZW5mb3JjZSBsb2FkIGxpbWl0OiAAY2Fubm90IGVuZm9yY2UgbG9hZCBsaW1pdHMgb24gdGhpcyBvcGVyYXRpbmcgc3lzdGVtAGNvbW1hbmQgbGluZQBjb21tYW5kcyBjb21tZW5jZSBiZWZvcmUgZmlyc3QgdGFyZ2V0AGNyZWF0aW5nIGpvYnMgcGlwZQBkZWZhdWx0AGRvbmUgc2xlZXAoMzApLiBDb250aW51aW5nLgoAZHVwIGpvYnNlcnZlcgBlbXB0eSBgb3ZlcnJpZGUnIGRpcmVjdGl2ZQBlbXB0eSBzdHJpbmcgaW52YWxpZCBhcyBmaWxlIG5hbWUAZW1wdHkgdmFyaWFibGUgbmFtZQBlbnZpcm9ubWVudABlbnZpcm9ubWVudCB1bmRlciAtZQBleHRyYW5lb3VzIGAlcycAZXh0cmFuZW91cyBgZW5kZWYnAGZpbmRfYW5kX3NldF9zaGVsbCBwYXRoIHNlYXJjaCBzZXQgZGVmYXVsdF9zaGVsbCA9ICVzCgBmaW5kX2FuZF9zZXRfc2hlbGwgc2V0dGluZyBkZWZhdWx0X3NoZWxsID0gJXMKAGZpcnN0IGFyZ3VtZW50IHRvIGB3b3JkJyBmdW5jdGlvbiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwAGZvcGVuICh0ZW1wb3JhcnkgZmlsZSkAZndyaXRlICh0ZW1wb3JhcnkgZmlsZSkAaW5pdCBqb2JzZXJ2ZXIgcGlwZQBpbnRlcm5hbCBlcnJvcjogYCVzJyBjb21tYW5kX3N0YXRlAGludGVybmFsIGVycm9yOiBpbnZhbGlkIC0tam9ic2VydmVyLWZkcyBzdHJpbmcgYCVzJwBpbnRlcm5hbCBlcnJvcjogbXVsdGlwbGUgLS1qb2JzZXJ2ZXItZmRzIG9wdGlvbnMAaW52YWxpZCBgb3ZlcnJpZGUnIGRpcmVjdGl2ZQBpbnZhbGlkIHN5bnRheCBpbiBjb25kaXRpb25hbABsYnIkaW5pX2NvbnRyb2wgZmFpbGVkIHdpdGggc3RhdHVzID0gJWQAbGJyJHNldF9tb2R1bGUgZmFpbGVkIHRvIGV4dHJhY3QgbW9kdWxlIGluZm8sIHN0YXR1cyA9ICVkAG1ha2VmaWxlAG1pc3NpbmcgYGVuZGVmJywgdW50ZXJtaW5hdGVkIGBkZWZpbmUnAG1pc3NpbmcgYGVuZGlmJwBtaXNzaW5nIHJ1bGUgYmVmb3JlIGNvbW1hbmRzAG1pc3Npbmcgc2VwYXJhdG9yJXMAbWlzc2luZyB0YXJnZXQgcGF0dGVybgBtaXhlZCBpbXBsaWNpdCBhbmQgbm9ybWFsIHJ1bGVzAG1peGVkIGltcGxpY2l0IGFuZCBzdGF0aWMgcGF0dGVybiBydWxlcwBtdWx0aXBsZSB0YXJnZXQgcGF0dGVybnMAbm8Abm9uLW51bWVyaWMgZmlyc3QgYXJndW1lbnQgdG8gYHdvcmQnIGZ1bmN0aW9uAG5vbi1udW1lcmljIGZpcnN0IGFyZ3VtZW50IHRvIGB3b3JkbGlzdCcgZnVuY3Rpb24Abm9uLW51bWVyaWMgc2Vjb25kIGFyZ3VtZW50IHRvIGB3b3JkbGlzdCcgZnVuY3Rpb24Ab25seSBvbmUgYGVsc2UnIHBlciBjb25kaXRpb25hbAByZWFkIGpvYnMgcGlwZQBzeXMkc2VhcmNoIGZhaWxlZCB3aXRoICVkCgB0YXJnZXQgYCVzJyBkb2Vzbid0IG1hdGNoIHRoZSB0YXJnZXQgcGF0dGVybgB0YXJnZXQgYCVzJyBnaXZlbiBtb3JlIHRoYW4gb25jZSBpbiB0aGUgc2FtZSBydWxlLgB0YXJnZXQgZmlsZSBgJXMnIGhhcyBib3RoIDogYW5kIDo6IGVudHJpZXMAdGFyZ2V0IHBhdHRlcm4gY29udGFpbnMgbm8gYCUlJwB0aGUgYC0lYycgb3B0aW9uIHJlcXVpcmVzIGEgcG9zaXRpdmUgaW50ZWdyYWwgYXJndW1lbnQAdG91Y2ggYXJjaGl2ZSBtZW1iZXIgaXMgbm90IGF2YWlsYWJsZSBvbiBWTVMAdG91Y2g6IEFyY2hpdmUgYCVzJyBkb2VzIG5vdCBleGlzdAB0b3VjaDogQmFkIHJldHVybiBjb2RlIGZyb20gYXJfbWVtYmVyX3RvdWNoIG9uIGAlcycAdG91Y2g6IE1lbWJlciBgJXMnIGRvZXMgbm90IGV4aXN0IGluIGAlcycAdG91Y2g6IGAlcycgaXMgbm90IGEgdmFsaWQgYXJjaGl2ZQB1bmFibGUgdG8gb3BlbiBsaWJyYXJ5IGAlcycgdG8gbG9va3VwIG1lbWJlciBgJXMnAHVua25vd24gZGVidWcgbGV2ZWwgc3BlY2lmaWNhdGlvbiBgJXMnAHVua25vd24gc2lnbmFsAHVubGluayAodGVtcG9yYXJ5IGZpbGUpOiAAdW50ZXJtaW5hdGVkIGNhbGwgdG8gZnVuY3Rpb24gYCVzJzogbWlzc2luZyBgJWMnAHVudGVybWluYXRlZCB2YXJpYWJsZSByZWZlcmVuY2UAdmlydHVhbCBtZW1vcnkgZXhoYXVzdGVkAHdhcm5pbmc6ICBDbG9jayBza2V3IGRldGVjdGVkLiAgWW91ciBidWlsZCBtYXkgYmUgaW5jb21wbGV0ZS4Ad2FybmluZzogLWpOIGZvcmNlZCBpbiBzdWJtYWtlOiBkaXNhYmxpbmcgam9ic2VydmVyIG1vZGUuAHdhcm5pbmc6IE5VTCBjaGFyYWN0ZXIgc2VlbjsgcmVzdCBvZiBsaW5lIGlnbm9yZWQAd2FybmluZzogaWdub3Jpbmcgb2xkIGNvbW1hbmRzIGZvciB0YXJnZXQgYCVzJwB3YXJuaW5nOiBqb2JzZXJ2ZXIgdW5hdmFpbGFibGU6IHVzaW5nIC1qMS4gIEFkZCBgKycgdG8gcGFyZW50IG1ha2UgcnVsZS4Ad2FybmluZzogb3ZlcnJpZGluZyBjb21tYW5kcyBmb3IgdGFyZ2V0IGAlcycAd2FybmluZzogdW5kZWZpbmVkIHZhcmlhYmxlIGAlLipzJwB3aW5kb3dzMzJfb3BlbnBpcGUgKCk6IHByb2Nlc3NfaW5pdF9mZCgpIGZhaWxlZAoAd3JpdGUgam9ic2VydmVyAFByb2plY3QtSWQtVmVyc2lvbjogbWFrZSAzLjgwClJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWctbWFrZUBnbnUub3JnClBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA0LTAxIDAxOjQwLTA1MDAKUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0xMC0wNSAxNDo0NiswMjAwCkxhc3QtVHJhbnNsYXRvcjogSmFjb2JvIFRhcnJpbyA8anRhcnJpb0B0cmFzbm8ubmV0PgpMYW5ndWFnZS1UZWFtOiBHYWxpY2lhbiA8Z3B1bC10cmFkdWNjaW9uQGNldS5maS51ZGMuZXM+Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1pc28tODg1OS0xCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKAAojICV1IGNhbWnxb3MgZGUgYnVzY2EgYHZwYXRoJy4KAAojICV1IHJlZ3JhcyBpbXBs7WNpdGFzLCAldQAKIyAldSB2YWxvcmVzIGRlIHZhcmlhYmxlcyBlc3BlY+1maWNvcyBkbyBwYXRy824ACiMgRGlyZWN0b3Jpb3MKAAojIEZpY2hlaXJvcwAKIyBCYXNlIGRlIGRhdG9zIGRlIE1ha2UgcmVtYXRhZGEgZW4gJXMKAAojIENhbWnxbyBkZSBidXNjYSB4ZXJhbCAodmFyaWFibGUgYFZQQVRIJyk6CiMgAAojIFJlZ3JhcyBJbXBs7WNpdGFzAAojIEJhc2UgZGUgZGF0b3MgZGUgTWFrZSwgaW1wcmltaWRhIGVuICVzAAojIE5vbiBoYWkgdW4gY2FtafFvIGRlIGJ1c2NhIHhlcmFsICh2YXJpYWJsZSBgVlBBVEgnKS4ACiMgTm9uIGhhaSByZWdyYXMgaW1wbO1jaXRhcy4ACiMgTm9uIGhhaSB2YWxvcmVzIGVzcGVj7WZpY29zIGRvIHBhdHLzbi4ACiMgQ2FtafFvcyBkZSBCdXNjYSBWUEFUSAoACiMgVmFyaWFibGVzCgAKIyBlc3RhdO1zdGljYXMgZGEgdOFib2EgaGFzaCBkZSBmaWNoZWlyb3M6CiMgAApDb2504XJvbnNlICVkIGFyZ3VtZW50b3Mgbm8gbGFuemFtZW50byBxdWUgZmFsbG91CgAKRXN0ZSBwcm9ncmFtYSBjb21waWxvdSBwYXJhICVzCgAKRXN0ZSBwcm9ncmFtYSBjb21waWxvdSBwYXJhICVzICglcykKACAgLS1kZWJ1Z1s9TU9ESUZJQ0FET1JFU10gICAgIEFtb3NhciB2YXJpb3MgdGlwb3MgZGUgaW5mb3JtYWNp824gZGUgZGVwdXJhY2nzbi4KACAgLS1uby1wcmludC1kaXJlY3RvcnkgICAgICAgIERlc2FjdGl2YXIgLXcsIGluY2x1c28gc2Ugc2UgYWN0aXZvdQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBsaWNpdGFtZW50ZS4KACAgLS13YXJuLXVuZGVmaW5lZC12YXJpYWJsZXMgIEF2aXNhciBjYW5kbyBzZSBmYWdhIHJlZmVyZW5jaWEgYQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmhhIHZhcmlhYmxlIG5vbiBkZWZpbmlkYS4KACAgLUIsIC0tYWx3YXlzLW1ha2UgICAgICAgICAgIEZhY2VyIHTzZG9sb3Mgb2J4ZWN0aXZvcyBpbmNvbmRpY2lvbmFsbWVudGUuCgAgIC1DIERJUkVDVE9SSU8sIC0tZGlyZWN0b3J5PURJUkVDVE9SSU8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FtYmlhciBhbyBESVJFQ1RPUklPIGFudGVzIGRlIGZhY2VyIG5hZGEuCgAgIC1JIERJUkVDVE9SSU8sIC0taW5jbHVkZS1kaXI9RElSRUNUT1JJTwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdXNjYS1sb3MgZmljaGVpcm9zIGRlIG1ha2UgaW5jbHXtZG9zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vIGRpcmVjdG9yaW8uCgAgIC1SLCAtLW5vLWJ1aWx0aW4tdmFyaWFibGVzICBEZXNhY3RpdmEtbG9zIHZhbG9yZXMgZGFzIHZhcmlhYmxlcyBpbmNsdWlkb3MuCgAgIC1TLCAtLW5vLWtlZXAtZ29pbmcsIC0tc3RvcAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZXNhY3RpdmEgLWsuCgAgIC1XIEZJQ0hFSVJPLCAtLXdoYXQtaWY9RklDSEVJUk8sIC0tbmV3LWZpbGU9RklDSEVJUk8sIC0tYXNzdW1lLW5ldz1GSUNIRUlSTwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmF0YS1sbyBGSUNIRUlSTyBjb21hIGluZmluaXRhbWVudGUgbm92by4KACAgLWIsIC1tICAgICAgICAgICAgICAgICAgICAgIElnbm9yYWRvIHBvciBjb21wYXRpYmlsaWRhZGUuCgAgIC1kICAgICAgICAgICAgICAgICAgICAgICAgICBBbW9zYXIgbW9pdGEgaW5mb3JtYWNp824gZGUgZGVwdXJhY2nzbi4KACAgLWUsIC0tZW52aXJvbm1lbnQtb3ZlcnJpZGVzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFzIHZhcmlhYmxlcyBkZSBhbWJpZW50ZSBzdWJzdGl0+mVuIGFvcyBmaWNoZWlyb3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGUgbWFrZS4KACAgLWYgRklDSEVJUk8sIC0tZmlsZT1GSUNIRUlSTywgLS1tYWtlZmlsZT1GSUNIRUlSTwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMZS1sbyBGSUNIRUlSTyBjb21hIGZpY2hlaXJvIGRlIG1ha2UuCgAgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICBBbW9zYXIgZXN0YSBtZW5zYXhlIGUgc2Htci4KACAgLWksIC0taWdub3JlLWVycm9ycyAgICAgICAgIElnbm9yYS1sb3MgZXJyb3MgZG9zIGNvbWFuZG9zLgoAICAtaiBbTl0sIC0tam9ic1s9Tl0gICAgICAgICAgQWRtaXRpciBOIHRyYWJhbGxvcyDhIHZlejsgaW5maW5pdG9zIHNlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1biBhcmd1bWVudG8uCgAgIC1rLCAtLWtlZXAtZ29pbmcgICAgICAgICAgICBDb250aW51YXIgY2FuZG8gbm8gc2UgcG9pZGFuIGZhY2VyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsZ/pucyBvYnhlY3Rpdm9zLgoAICAtbCBbTl0sIC0tbG9hZC1hdmVyYWdlWz1OXSwgLS1tYXgtbG9hZFs9Tl0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9uIGluaWNpYXIgdmFyaW9zIHRyYWJhbGxvcyBjb24gY2FyZ2EKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBlcmlvciBhIE4uCgAgIC1uLCAtLWp1c3QtcHJpbnQsIC0tZHJ5LXJ1biwgLS1yZWNvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb24gZXhlY3V0YXIgbmluZ/puIGNvbWFuZG87IHPzIGFtb3NhbG9zLgoAICAtbyBGSUNIRUlSTywgLS1vbGQtZmlsZT1GSUNIRUlSTywgLS1hc3N1bWUtb2xkPUZJQ0hFSVJPCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYXRhLWxvIEZJQ0hFSVJPIGNvbWEgbW9pIGFudGlnbyBlIG5vbiByZWZhY2Vsby4KACAgLXAsIC0tcHJpbnQtZGF0YS1iYXNlICAgICAgIEFtb3NhLWxhIGJhc2UgZGUgZGF0b3MgaW50ZXJuYSBkZSBtYWtlLgoAICAtcSwgLS1xdWVzdGlvbiAgICAgICAgICAgICAgTm9uIGV4ZWN1dGFyIG5pbmf6biBjb21hbmRvOyBvIGVzdGFkbyBkZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYe1kYSBkaSBzZSBlc3ThIGFjdHVhbGl6YWRvLgoAICAtciwgLS1uby1idWlsdGluLXJ1bGVzICAgICAgRGVzYWN0aXZhLWxhcyByZWdyYXMgaW1wbO1jaXRhcyBpbmNsdWlkYXMuCgAgIC1zLCAtLXNpbGVudCwgLS1xdWlldCAgICAgICAgICAgICBOb24gYW1vc2EtbG9zIGNvbWFuZG9zLgoAICAtdCwgLS10b3VjaCAgICAgICAgICAgICAgICAgVG9jYS1sb3Mgb2J4ZWN0aXZvcyBubyBjYW50byBkZSBvcyByZWZhY2VyLgoAICAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgICAgQW1vc2EtbG8gbvptZXJvIGRlIHZlcnNp824gZGUgbWFrZSBlIHNh7XIuCgAgIC13LCAtLXByaW50LWRpcmVjdG9yeSAgICAgICBBbW9zYS1sbyBkaXJlY3RvcmlvIGFjdHVhbC4KACAgRGF0YSAlcwAgIElnbm9yYW5kbyBvIG5vbWUgVlBBVEggYCVzJy4KACAgdWlkID0gJWQsIGdpZCA9ICVkLCBtb2RvID0gMCVvLgoAIChpbmNsdWlkYXMpOgAgKG1lbW9yaWEgZW52b3JjYWRhKQAgKL9zZSBjYWRyYSB1bmhhIHRhYnVsYWNp824gbm8gY2FudG8gZGUgb2l0byBlc3BhY2lvcz8pACAobm9uIGltcG9ydGEpACAoZGUgYCVzJywgbGnxYSAlbHUpACAoZGUgYCVzJywgbGnxYSAlbHUpOgoAIChvIG5vbWUgcG9kZSBxdWVkYXIgdHJ1bmNhZG8pACAobm9uIGhhaSB1biBvYnhlY3Rpdm8gcG9yIGRlZmVjdG8pACAobm9uIGhhaSBleHBhbnNp824gZGUgfikAIChyZW1vdG8pACAoY2FtafFvIGRlIGJ1c2NhKQAgZmljaGVpcm9zLCAAIGltcG9zaWJsZXMAIGltcG9zaWJsZXMgZW4gJWx1IGRpcmVjdG9yaW9zLgoAIGF0YSBhcXXtLgAgdGVybWluYWwuACMgIFRhbeluIHNlIGZhaToAIyAgT2J4ZWN0aXZvIGRhIGxp8WEgZGUgY29tYW5kby4AIyAgQ29tYW5kb3MgcXVlIHNlIGVzdOFuIGEgZXhlY3V0YXIgYWdvcmEgKElTVE8gySBVTiBFUlJPKS4AIyAgQ29tYW5kb3MgZGUgZGVwZW5kZW5jaWFzIHF1ZSBzZSBlc3ThbiBhIGV4ZWN1dGFyIChJU1RPIMkgVU4gRVJSTykuACMgIE5vbiBzZSBwdWlkbyBhY3R1YWxpemFyLgAjICBPIGZpY2hlaXJvIG5vbiBleGlzdGUuACMgIE8gZmljaGVpcm8gZm9pIGFjdHVhbGl6YWRvLgAjICBPIGZpY2hlaXJvIG5vbiBmb2kgYWN0dWFsaXphZG8uACMgIE8gZmljaGVpcm8g6SB1biBwcmVycmVxdWlzaXRvIGludGVybWVkaW8uACMgIE8gZmljaGVpcm8g6SBtb2kgYW50aWdvLgAjICBG7Xhvc2UgYSBidXNjYSBkZSByZWdyYXMgaW1wbO1jaXRhcy4AIyAgTm9uIHNlIGZpeG8gYSBidXNjYSBkZSByZWdyYXMgaW1wbO1jaXRhcy4AIyAgUmFpeiBkbyBwYXRy824gaW1wbO1jaXRvL2VzdOF0aWNvOiBgJXMnCgAjICChVmFsb3Igbm9uIHbhbGlkbyBubyBtZW1icm8gYGNvbW1hbmRfc3RhdGUnIQAjICChVmFsb3Igbm9uIHbhbGlkbyBubyBtZW1icm8gYHVwZGF0ZV9zdGF0dXMnIQAjICDabHRpbWEgbW9kaWZpY2FjafNuOiAlcwoAIyAgTnVuY2Egc2UgY29tcHJvYm91IG8gdGVtcG8gZGUgbW9kaWZpY2FjafNuLgAjICBUZW4gcXVlIHNlciBhY3R1YWxpemFkbyAoLXEgZXN04SBlc3RhYnJlY2lkbykuACMgIE9ieGVjdGl2byBmYWxzbyAocHJlcnJlcXVpc2l0byBkZSAuUEhPTlkpLgAjICBGaWNoZWlybyBwcmVjaW9zbyAocHJlcnJlcXVpc2l0byBkZSAuUFJFQ0lPVVMpLgAjICBBY3R1YWxpemFkbyBjb24g6XhpdG8uACMgIGNvbWFuZG9zIHBhcmEgZXhlY3V0YXIAIyAlcyAoZGlzcG9zaXRpdm8gJWQsIGlub2RlIFslZCwlZCwlZF0pOiAAIyAlcyAoZGlzcG9zaXRpdm8gJWQsIGlub2RlIFslZCwlZCwlZF0pOiBub24gc2UgcHVpZG8gYWJyaXIuCgAjICVzIChkaXNwb3NpdGl2byAlbGQsIGlub2RlICVsZCk6IAAjICVzIChkaXNwb3NpdGl2byAlbGQsIGlub2RlICVsZCk6IG5vbiBzZSBwdWlkbyBhYnJpci4KACMgJXMgKGNsYXZlICVzLCBtdGltZSAlZCk6IAAjICVzIChjbGF2ZSAlcywgbXRpbWUgJWQpOiBub24gc2UgcHVpZG8gYWJyaXIuCgAjICVzOiBub24gc2UgcHVpZG8gZmFjZS1sYSBvcGVyYWNp824gZGUgc3RhdC4KACMgTm9uIGhhaSBjYW1p8W9zIGRlIGJ1c2NhIGB2cGF0aCcAIyBOb24g6SB1biBvYnhlY3Rpdm86ACMgZXN0YXTtc3RpY2FzIGRhIHThYm9hIGhhc2ggZGUgY29ueHVudG8gZGUgdmFyaWFibGVzOgoAJXMgKGxp8WEgJWQpIENvbnRleHRvIGRvIGludOlycHJldGUgZGUgY29tYW5kb3MgaW5jb3JyZWN0byAoIXVuaXh5ICYmICFiYXRjaF9tb2RlX3NoZWxsKQoAJXMgZXN04SBzdXNwZW5kaWRvIGR1cmFudGUgMzAgc2VndW5kb3MuLi4AJXMlczogJXMAJXM6ICVzACVzOiBDb21hbmRvIG5vbiBhdG9wYWRvACVzOiBFbnRyYW5kbyBubyBkaXJlY3RvcmlvIGAlcycKACVzOiBTYe1uZG8gZG8gZGlyZWN0b3JpbyBgJXMnCgAlczogSW506XJwcmV0ZSBkZSBjb21hbmRvcyBub24gYXRvcGFkbwAlczogTWFyY2EgZGUgdGVtcG8gZvNyYSBkZSByYW5nbzsgc3Vic3RpdHXtbmRvICVzACVzOiBvcGNp824gbm9uIHbhbGlkYSAtLSAlYwoAJXM6IG9wY2nzbiBub24gduFsaWRhIC0tICVjCgAlczogYSBvcGNp824gYCVjJXMnIG5vbiBhZG1pdGUgdW4gYXJndW1lbnRvCgAlczogYSBvcGNp824gYCVzJyDpIGFtYmlndWEKACVzOiBhIG9wY2nzbiBgJXMnIHByZWNpc2EgZHVuIGFyZ3VtZW50bwoAJXM6IGEgb3BjafNuIGAtLSVzJyBub24gYWRtaXRlIHVuIGFyZ3VtZW50bwoAJXM6IGEgb3BjafNuIGAtVyAlcycgbm9uIGFkbWl0ZSB1biBhcmd1bWVudG8KACVzOiBhIG9wY2nzbiBgLVcgJXMnIOkgYW1iaWd1YQoAJXM6IGEgb3BjafNuIHByZWNpc2EgZHVuIGFyZ3VtZW50byAtLSAlYwoAJXM6IG9wY2nzbiBgJWMlcycgbm9uIHJlY2/xZWNpZGEKACVzOiBvcGNp824gYC0tJXMnIG5vbiByZWNv8WVjaWRhCgAlczogdXN1YXJpbyAlbHUgKHJlYWwgJWx1KSwgZ3J1cG8gJWx1IChyZWFsICVsdSkKACVzTm9uIGhhaSB1bmhhIHJlZ3JhIHBhcmEgZmFjZS1sbyBvYnhlY3Rpdm8gYCVzJyVzACVzTm9uIGhhaSB1bmhhIHJlZ3JhIHBhcmEgZmFjZS1sbyBvYnhlY3Rpdm8gYCVzJywgcXVlIHByZWNpc2EgYCVzJyVzACVzSXN0byDpIHNvZnR3YXJlIGxpYnJlOyB2ZXhhIG8gY/NkaWdvIGZvbnRlIHBvbGFzIGNvbmRpY2nzbnMgZGUgY29waWEuCiVzTk9OIGhhaSBnYXJhbnTtYTsgbmluIHNlcXVlcmEgZGUgQ09NRVJDSUFCSUxJREFERSBvdSBBUFRJVFVERSBQQVJBCiVzVU4gRklOIERFVEVSTUlOQURPLgoAJXNbJXVdOiBFbnRyYW5kbyBubyBkaXJlY3RvcmlvIGAlcycKACVzWyV1XTogU2HtbmRvIGRvIGRpcmVjdG9yaW8gYCVzJwoAKioqIE8gbWVtYnJvIGRvIGFycXVpdm8gYCVzJyBwb2RlIG5vbiBzZXIgY29ycmVjdG87IG5vbiBib3JyYWRvACoqKiBJbnRlcnJvbXBpZG8uCgAqKiogQm9ycmFuZG8gbyBmaWNoZWlybyBgJXMnACoqKiBCb3JyYW5kbyBvIGZpY2hlaXJvIGludGVybWVkaW8gYCVzJwAqKiogQWdhcmRhbmRvIHBvciB0cmFiYWxsb3Mgbm9uIHJlbWF0YWRvcy4uLi4AKioqIEF2aXNvOiBvIGZpY2hlaXJvIGAlcycgZGUgLkxPV19SRVNPTFVUSU9OX1RJTUUgdGVuIHVuaGEgbWFyY2EgZGUgdGVtcG8gZGUgYWx0YSByZXNvbHVjafNuACoqKiBbJXNdIE8gbWVtYnJvIGRvIGFycXVpdm8gYCVzJyBwb2RlIG5vbiBzZXIgY29ycmVjdG87IG5vbiBib3JyYWRvACoqKiBbJXNdIEJvcnJhbmRvIG8gZmljaGVpcm8gYCVzJwAqKiogWyVzXSBFcnJvICVkACoqKiBbJXNdIEVycm8gMHgleAAqKiogWyVzXSBFcnJvIDB4JXggKGlnbm9yYWRvKQAtYXZpc28sIENUUkwtWSBkZWl4YXLhIHN1YnByb2Nlc29zIGNlaWJvcy4KAC1hdmlzbywgcG9kZSBxdWUgdGXxYSBxdWUgcmVhY3RpdmEtbG8gbWFuZXhvIGRlIENUUkwtWSBkZW5kZSBvIERDTC4KAC4gRGV0aWRvLgoATyBlbGVtZW50byBkZSAuTElCUEFUVEVSTlMgYCVzJyBub24g6SB1biBwYXRy824AOyB1c2FuZG8gbyBub21lIGRlIFZQQVRIIGAlcycAQWJvcnRhZG8AVGVtcG9yaXphZG9yAEV2aXRhbmRvIGEgcmVjdXJzafNuIGRlIHJlZ3JhcyBpbXBs7WNpdGFzLgoARVJSTzogoW51bV9wYXR0ZXJuX3J1bGVzIOkgaW5jb3JyZWN0byEgJXUgIT0gJXUAQlVJTFRJTiBDRCAlcwoAQlVJTFRJTiBSTSAlcwoAQlVJTFRJTiBbJXNdWyVzXQoAQ2hhbWFkYSBhbyBzaXN0ZW1hIGluY29ycmVjdGEAQ2FubyByb21waWRvAEVycm8gZG8gYnVzAEztbWl0ZSBkZSB0ZW1wbyBkZSBDUFUgc3VwZXJhZG8AQWNjZXNvIGRlIGZpbGxvAE8gcHJvY2VzbyBmaWxsbyByZW1hdG91AEEgZGVwZW5kZW5jaWEgY2lyY3VsYXIgJXMgPC0gJXMgZm9pIGVsaW1pbmFkYS4ATGltcGFuZG8gbyBmaWNoZWlybyBkZSBsb3RlcyB0ZW1wb3JhbCAlcwoATGltcGFuZG8gbyBmaWNoZWlybyBkZSBsb3RlcyB0ZW1wb3JhbCAlcwoAQ29saXNp825zPSVsZC8lbGQ9JS4wZiUlAE9zIGNvbWFuZG9zIGRlIGAlcycgc2Vy4W4gaWdub3JhZG9zIGVuIGZhdm9yIGRvcyBkZSBgJXMnLgBBdG9w4XJvbnNlIG9zIGNvbWFuZG9zIGRvIGZpY2hlaXJvIGAlcycgcG9yIGJ1c2NhIGRlIHJlZ3JhcyBpbXBs7WNpdGFzLABFc3RhbnNlIGEgZXhlY3V0YS1sb3MgY29tYW5kb3MgZGUgYCVzJy4KAEVzcGVjaWZpY+Fyb25zZSBjb21hbmRvcyBkbyBmaWNoZWlybyBgJXMnIGVuICVzOiVsdSwAQ29uc2lkZXJhbmRvIG8gZmljaGVpcm8gb2J4ZWN0aXZvIGAlcycuCgBDb250aW51YWRvAE5vbiBzZSBwdWlkbyB2b2x0YXIgYW8gZGlyZWN0b3JpbyBvcml4aW5hbC4AQ3JlYW5kbyB1biBmaWNoZWlybyBwb3IgbG90ZXMgdGVtcG9yYWwgJXMKAEhvcmEgYWN0dWFsAEEgQWR1YW5hIG5vbiBleHBvcnRhOiAlcwoAU2luYWwgZGUgcGVyaWdvAFRyYW1wYSBFTVQARXJybyBhbyBsYW56YXIsICVkCgBFcnJvLCBjb21hbmRvIGJhbGVpcm8KAEV4ZWN1dGFuZG8gJXMgbm8gY2FudG8KAFRleHRvIHN1cGVyZmx1byB0cmFsYSBkaXJlY3RpdmEgYCVzJwBUZXh0byBzdXBlcmZsdW8gdHJhbGEgZGlyZWN0aXZhIGBlbmRlZicATm9uIHNlIHB1aWRvIHJlZmFjZS1sbyBmaWNoZWlybyBkZSBtYWtlIGAlcycuAE5vbiBzZSBwdWlkbyByZWZhY2UtbG8gZmljaGVpcm8gb2J4ZWN0aXZvIGAlcycuCgBPIGZpY2hlaXJvIGAlcycgbm9uIGV4aXN0ZS4KAE8gZmljaGVpcm8gYCVzJyB4YSBmb3JhIGNvbnNpZGVyYWRvLgoATO1taXRlIGRlIHRhbWHxbyBkZSBmaWNoZWlyb3Mgc3VwZXJhZG8AUmVtYXThcm9uc2Ugb3MgcHJlcnJlcXVpc2l0b3MgZG8gZmljaGVpcm8gb2J4ZWN0aXZvIGAlcycuCgBSZW1hdG91c2UgZGUgYWN0dWFsaXphLWxvIGZpY2hlaXJvIGAlcycuCgBPIGNvLXByb2Nlc2Fkb3IgZGUgY29tYSBmbG90YW50ZSBub24gZXN04SBkaXNwb/FpYmxlAEV4Y2VwY2nzbiBkZSBjb21hIGZsb3RhbnRlAEF0b3BvdXNlIHVuaGEgcmVncmEgaW1wbO1jaXRhIGRlIGAlcycuCgBBdG9wb3VzZSBhIG8gcHJlcnJlcXVpc2l0byBgJXMnIGNvbWEgVlBBVEggYCVzJwoAQWJhbmRvbmFuZG8gbm8gZmljaGVpcm8gb2J4ZWN0aXZvIGAlcycuCgBDb2xnYXIAQSBFL1Mg6SBwb3NpYmxlAFRyYW1wYSBkZSBJT1QASW5zdHJ1Y2Np824gSWxlZ2FsAE5vbiBzZSBhdG9wb3UgbyBmaWNoZWlybyBkZSBtYWtlIGluY2x1aWRvIGAlcycuAFBldGljafNuIGRlIGluZm9ybWFjafNuAEFjY2VzbyBpbmljaWFsaXphZG8ASW50ZXJyb21waWRvAE1hdGFkbwBQcm9jZXNvIGZpbGxvIHZpdm8gMHglMDhseCAoJXMpIFBJRCAlbGQgJXMKAENhcmdhPSVsZC8lbGQ9JS4wZiUlLCAAQnVzY2FuZG8gdW5oYSByZWdyYSBjbyBmaWNoZWlybyBpbnRlcm1lZGlvIGAlcycuCgBCdXNjYW5kbyB1bmhhIHJlZ3JhIGltcGztY2l0YSBwYXJhIGAlcycuCgBCdXNjYW5kbyB1bmhhIHJlZ3JhIGltcGztY2l0YSBtZW1icm8gZG8gYXJxdWl2byBwYXJhIGAlcycuCgBBY2Nlc28gZGUgbWFrZQBPIGZpY2hlaXJvIGRlIG1ha2UgYCVzJyBwb2Rlcu1hIGNhdXNhciB1biBsYXpvOyBub24gc2UgcmVmYWkuCgBOb24gc2UgYXRvcG91IG8gZmljaGVpcm8gZGUgbWFrZSBgJXMnAE8gZmljaGVpcm8gZGUgbWFrZSBkYSBlbnRyYWRhIGVzdOFuZGFyIGZvaSBlc3BlY2lmaWNhZG8gZPphcyB2ZWNlcy4ARmFjZW5kbyBgJXMnIGRlYmlkbyDhIG1hcmNhIGRlIHNlbXByZS1mYWNlci4KAE1lbWJybyBgJXMnJXM6ICVsZCBieXRlcyBlbiAlbGQgKCVsZCkuCgBEZWJlIHJlZmFjZXJzZSBvIG9ieGVjdGl2byBgJXMnLgoATm9uAE5vbiBoYWkgY29tYW5kb3MgZGUgYCVzJywgZSBub24gY2FtYmlhcm9uIG9zIHByZXJyZXF1aXNpdG9zLgoATm9uIHNlIGF0b3BvdSB1bmhhIHJlZ3JhIGltcGztY2l0YSBwYXJhIGAlcycuCgBOb24g6SBwcmVjaXNvIHJlZmFjZS1sbyBvYnhlY3Rpdm8gYCVzJwBOb24gaGFpIG9ieGVjdGl2b3MATm9uIHNlIGVzcGVjaWZpY2Fyb24gb2J4ZWN0aXZvcyBlIG5vbiBzZSBhdG9wb3UgdW4gZmljaGVpcm8gZGUgbWFrZQBOb24gaGFpIG5hZGEgcXVlIGZhY2VyIHBhcmEgYCVzJwBPYnTtdm9zZSB1biBlbGVtZW50byBwYXJhIG8gcHJvY2VzbyBmaWxsbyAweCUwOGx4ICglcykuCgBPcGNp825zOgoAT3MgdHJhYmFsbG9zIGVuIHBhcmFsZWxvICgtaikgbm9uIGVzdOFuIHNvcG9ydGFkb3MgbmVzdGEgcGxhdGFmb3JtYS4ARmFsbG8gZGUgc3VtaW5pc3RybyBlbOljdHJpY28ATyBwcmVycmVxdWlzaXRvIGAlcycg6SBt4WlzIG5vdm8gY/Mgb2J4ZWN0aXZvIGAlcycuCgBPIHByZXJyZXF1aXNpdG8gYCVzJyDpIG3haXMgdmVsbG8gY/Mgb2J4ZWN0aXZvIGAlcycuCgBPIHByZXJyZXF1aXNpdG8gYCVzJyDpIHPzLW9yZGUgcGFyYSBvIG9ieGVjdGl2byBgJXMnLgoATyBwcmVycmVxdWlzaXRvIGAlcycgZG8gb2J4ZWN0aXZvIGAlcycgbm9uIGV4aXN0ZS4KAE8gdGVtcG9yaXphZG9yIGVzZ290b3VzZQBQb2RhbmRvIG8gZmljaGVpcm8gYCVzJy4KAFBv8WVuZG8gbyBwcm9jZXNvIGZpbGxvIDB4JTA4bHggKCVzKSBQSUQgJWxkJXMgbmEgY2FkZWEuCgBTYe1yAExlbmRvIG8gZmljaGVpcm8gZGUgbWFrZSBgJXMnAExlbmRvIG9zIGZpY2hlaXJvcyBkZSBtYWtlLi4uCgBDb2xsZWl0YW5kbyBvIHByb2Nlc28gZmlsbG8gcGVyZGVkb3IgMHglMDhseCBQSUQgJWxkICVzCgBDb2xsZWl0YW5kbyBvIHByb2Nlc28gZmlsbG8gZ2HxYWRvciAweCUwOGx4IFBJRCAlbGQgJXMKAEhhaSBwb3VjbyBwcm9ib3VzZSBhIGFjdHVhbGl6YS1sbyBmaWNoZWlybyBgJXMnIGUgbm9uIHNlIHB1aWRvLgoAQSB2YXJpYWJsZSByZWN1cnNpdmEgYCVzJyBmYWkgcmVmZXJlbmNpYSBhIHNpIG1lc21hIChhbyBmaW5hbCkARXJyb3MgcmVkaXJpeGlkb3MgYSAlcwoARW50cmFkYSByZWRpcml4aWRhIGRlICVzCgBTYe1kYSByZWRpcml4aWRhIGEgJXMKAFJlaGFzaD0lZCwgAFJleGVpdGFuZG8gbyBwcmVycmVxdWlzaXRvIGltcGztY2l0byBpbXBvc2libGUgYCVzJy4KAFJleGVpdGFuZG8gbyBwcmVycmVxdWlzaXRvIGltcG9zaWJsZSBgJXMnLgoATGliZXJvdXNlIHVuIGVsZW1lbnRvIHBhcmEgbyBwcm9jZXNvIGZpbGxvIDB4JTA4bHggKCVzKS4KAEVsaW1pbmFuZG8gbyBwcm9jZXNvIGZpbGxvIDB4JTA4bHggUElEICVsZCVzIGRhIGNhZGVhLgoAQm9ycmFuZG8gb3MgZmljaGVpcm9zIGludGVybWVkaW9zLi4uCgBJbmZvcm1lIGRvcyBlcnJvcyBubyBwcm9ncmFtYSBhIDxidWctbWFrZUBnbnUub3JnPi4KSW5mb3JtZSBkb3MgZXJyb3MgbmEgdHJhZHVjY2nzbiBhIDxwcm94ZWN0b0B0cmFzbm8ubmV0Pi4KAFJlaW5pY2lhbmRvIHBhcmEgZW50cmFyIG5vIG1vZG8gZGUgdW4gdHJhYmFsbG8gKC1qMSkuAFJlY3Vyc28gcGVyZGlkbwBTSUdQSE9ORQBTSUdXSU5EAEZhbGxvIGRlIHNlZ21lbnRvAEFpbmRhIHNlIGVzdOEgYWN0dWFsaXphbmRvIG8gZmljaGVpcm8gYCVzJy4KAERldGlkbwBEZXRpZG8gKHNpbmFsKQBEZXRpZG8gKGVudHJhZGEgZGUgY29uc29sYSkARGV0aWRvIChzYe1kYSBkZSBjb25zb2xhKQBPIGZpY2hlaXJvIG9ieGVjdGl2byBgJXMnIGZvaSBmZWl0byBkZSBub3ZvIGNvbiDpeGl0by4KAE8gb2J4ZWN0aXZvIGAlcycgdGVuIGNhdHJvIHB1bnRvcyBlIG5vbiB0ZW4gcHJlcnJlcXVpc2l0b3MuCgBOb24gc2UgcmVmYWkgbyBvYnhlY3Rpdm8gYCVzJyBhIGNhdXNhIGRvcyBlcnJvcy4ATyBmaWNoZWlybyBvYnhlY3Rpdm8gYCVzJyBwcmVjaXNhIHJlZmFjZXJzZSBjb24gLXEuCgBSZW1hdGFkbwBFc3RhbiBhIHNlIGZhY2UtbG9zIHByZXJyZXF1aXNpdG9zIGRlIGAlcycuCgBUcmFtcGEgZGUgdHJhemFkby9wdW50byBkZSBkZXRlbmNp824AUHJvYmFuZG8gbyBwcmVycmVxdWlzaXRvIGltcGztY2l0byBgJXMnLgoAUHJvYmFuZG8gYSByZWdyYSBkZSBwYXRy824gY29uIHJhaXogYCUuKnMnLgoAUHJvYmFuZG8gbyBwcmVycmVxdWlzaXRvIGAlcycuCgBDb21hbmRvIGluY2x1aWRvIGRlc2Nv8WVjaWRvICclcycKAEVycm8gJWQgZGVzY2/xZWNpZG8AQWN0dWFsaXphbmRvIG9zIG9ieGVjdGl2b3MgbWV0YS4uLi4KAEFjdHVhbGl6YW5kbyBvcyBmaWNoZWlyb3MgZGUgbWFrZS4uLi4KAENvbmRpY2nzbiBkZSBFL1MgdXJ4ZW50ZQBVc286ICVzIFtvcGNp825zXSBbb2J4ZWN0aXZvXSAuLi4KAEFjY2VzbyBkZSB1c3VhcmlvAFNpbmFsIGRlZmluaWRvIHBvbG8gdXN1YXJpbyAxAFNpbmFsIGRlZmluaWRvIHBvbG8gdXN1YXJpbyAyAFVzYW5kbyBvcyBjb21hbmRvcyBwb3IgZGVmZWN0byBwYXJhIGAlcycuCgBUZW1wb3JpemFkb3IgdmlydHVhbCBlc2dvdGFkbwBBdmlzbzogUmVkaXJlY2Np824gYmFsZWlyYQoAQXZpc286IE8gZmljaGVpcm8gYCVzJyB0ZW4gdW5oYSBkYXRhIGRlIG1vZGlmaWNhY2nzbiAlLjJnIHMuIG5vIGZ1dHVybwBBdmlzbzogTyBmaWNoZWlybyBgJXMnIHRlbiB1bmhhIGRhdGEgZGUgbW9kaWZpY2FjafNuIG5vIGZ1dHVybwBBIGZpZXN0cmEgY2FtYmlvdQBbJXNdIEVycm8gJWQgKGlnbm9yYWRvKQBgJXMnIGVzdOEgYWN0dWFsaXphZG8uAGRpcmVjdGl2YSBgb3ZlcnJpZGUnAHRlbnRvdXNlIHVzYXIgdW5oYSBjYXJhY3Rlcu1zdGljYSBub24gc29wb3J0YWRhOiBgJXMnAGF1dG9t4XRpY28AcGVybyBhZ29yYSBjb25zaWTpcmFzZSBxdWUgYCVzJyDpIG8gbWVzbW8gZmljaGVpcm8gcXVlIGAlcycuAG5vbiBzZSBwb2RlbiByZXNlcnZhciAlbGQgYnl0ZXMgcGFyYSBhIHThYm9hIGhhc2g6IG1lbW9yaWEgZXNnb3RhZGEAbm9uIHNlIHBvZGUgcmVub21lYXIgYCVzJyBjb24gY2F0cm8gcHVudG9zIGEgYCVzJyBjb24gZG91cyBwdW50b3MAbm9uIHNlIHBvZGUgcmVub21lYXIgYCVzJyBjb24gZG91cyBwdW50b3MgYSBgJXMnIGNvbiBjYXRybyBwdW50b3MAbm9uIHNlIHBvZGUgaW1wb/FlciB1biBs7W1pdGUgZGUgY2FyZ2E6IABub24gc2UgcG9kZW4gaW1wb/FlciBs7W1pdGVzIGRlIGNhcmdhIG5lc3RlIHNpc3RlbWEgb3BlcmF0aXZvAGxp8WEgZGUgY29tYW5kb3MAb3MgY29tYW5kb3MgY29tZXphbiBhbnRlcyBkbyBwcmltZWlybyBvYnhlY3Rpdm8AY3JlYW5kbyBvIGNhbm8gZGUgdHJhYmFsbG9zAHBvciBkZWZlY3RvAHJlbWF0b3VzZSBzbGVlcCgzMCkuIENvbnRpbnVhbmRvLgoAZHVwIGpvYnNlcnZlcgBkaXJlY3RpdmEgYG92ZXJyaWRlJyBiYWxlaXJhAGEgY2FkZWEgYmFsZWlyYSBub24g6SB24WxpZGEgY29tYSBub21lIGRlIGZpY2hlaXJvAG5vbWUgZGUgdmFyaWFibGUgYmFsZWlybwBhbWJpZW50ZQBhbWJpZW50ZSBiYWl4byAtZQBgJXMnIHN1cGVyZmx1bwBgZW5kZWYnIHN1cGVyZmx1bwBmaW5kX2FuZF9zZXRfc2hlbGwgYnVzY2EgZGUgY2FtafFvcyBlc3RhYnJlY2UgZGVmYXVsdF9zaGVsbCA9ICVzCgBmaW5kX2FuZF9zZXRfc2hlbGwgZXN0YWJyZWNlbmRvIGRlZmF1bHRfc2hlbGwgPSAlcwoAbyBwcmltZWlybyBhcmd1bWVudG8gZGEgZnVuY2nzbiBgd29yZCcgZGViZSBzZXIgbWFpb3IgcXVlIDAAZm9wZW4gKGZpY2hlaXJvIHRlbXBvcmFsKQBmd3JpdGUgKGZpY2hlaXJvIHRlbXBvcmFsKQBpbmljaWFsaXphLWxvIGNhbm8gZG8gc2Vydmlkb3IgZGUgdHJhYmFsbG9zAGVycm8gaW50ZXJubzogYCVzJyBjb21tYW5kX3N0YXRlAGVycm8gaW50ZXJubzogY2FkZWEgLS1qb2JzZXJ2ZXItZmRzIG5vbiB24WxpZGEgYCVzJwBlcnJvIGludGVybm86IG9wY2nzbnMgLS1qb2JzZXJ2ZXItZmRzIG36bHRpcGxlcwBkaXJlY3RpdmEgYG92ZXJyaWRlJyBub24gduFsaWRhAHNpbnRheGUgbm9uIHbhbGlkYSBubyBjb25kaWNpb25hbABhIGNoYW1hZGEgYSBsYnIkaW5pX2NvbnRyb2wgZmFsbG91IGNvbiBzdGF0dXMgPSAlZABhIGNoYW1hZGEgYSBsYnIkc2V0X21vZHVsZSBub24gcHVpZG8gZXh0cmFlLWxhIGluZm9ybWFjafNuIGRvIG3zZHVsbywgc3RhdHVzID0gJWQAZmljaGVpcm8gZGUgbWFrZQBmYWxsYSBgZW5kZWYnLCBgZGVmaW5lJyBzZW4gcmVtYXRhcgBmYWxsYSBgZW5kaWYnAGZhbGxhIHVuaGEgcmVncmEgYW50ZXMgZG9zIGNvbWFuZG9zAGZhbGxhIHVuIHNlcGFyYWRvciVzAGZhbGxhIHVuIHBhdHLzbiBvYnhlY3Rpdm8AcmVncmFzIGltcGztY2l0YXMgZSBub3JtYWlzIG1lc3R1cmFkYXMAcmVncuFzIGRlIHBhdHLzbiBpbXBs7WNpdGFzIGUgZXN04XRpY2FzIG1lc3R1cmFkYXMAcGF0cvNucyBkZSBvYnhlY3Rpdm8gbfpsdGlwbGVzAG5vbgBwcmltZWlybyBhcmd1bWVudG8gZGEgZnVuY2nzbiBgd29yZCcgbm9uIG51belyaWNvAHByaW1laXJvIGFyZ3VtZW50byBkYSBmdW5jafNuIGB3b3JkbGlzdCcgbm9uIG51belyaWNvAHNlZ3VuZG8gYXJndW1lbnRvIGRhIGZ1bmNp824gYHdvcmRsaXN0JyBub24gbnVt6XJpY28Ac/MgdW4gYGVsc2UnIHBvciBjb25kaWNpb25hbABsZWN0dXJhIGRvIGNhbm8gZGUgdHJhYmFsbG9zAGEgY2hhbWFkYSBhIHN5cyRzZWFyY2ggZmFsbG91IGNvbiAlZAoAbyBvYnhlY3Rpdm8gYCVzJyBub24gY29pbmNpZGUgY28gcGF0cvNuIGRvIG9ieGVjdGl2bwBvIG9ieGVjdGl2byBgJXMnIGFwYXJlY2UgbeFpcyBkdW5oYSB2ZXogbmEgbWVzbWEgcmVncmEuAG8gZmljaGVpcm8gb2J4ZWN0aXZvIGAlcycgdGVuIGVudHJhZGFzIDogZSA6OgBvIHBhdHLzbiBvYnhlY3Rpdm8gbm9uIGNvbnTpbiBgJSUnAGEgb3BjafNuIGAtJWMnIHByZWNpc2EgZHVuIGFyZ3VtZW50byBpbnRlZ3JhbCBwb3NpdGl2bwBhIG9wZXJhY2nzbiBkZSB0b2NhciB1biBtZW1icm8gZG8gYXJxdWl2byBub24gZXN04SBkaXNwb/FpYmxlIGVuIFZNUwB0b3VjaDogTyBhcnF1aXZvIGAlcycgbm9uIGV4aXN0ZQB0b3VjaDogQ/NkaWdvIGRlIHJldG9ybm8gaW5jb3JyZWN0byBkZSBhcl9tZW1iZXJfdG91Y2ggZW4gYCVzJwB0b3VjaDogTyBtZW1icm8gYCVzJyBub24gZXhpc3RlIGVuIGAlcycAdG91Y2g6IGAlcycgbm9uIOkgdW4gYXJxdWl2byB24WxpZG8Abm9uIHNlIHBvZGUgYWJyaS1sYSBiaWJsaW90ZWNhIGAlcycgcGFyYSBidXNjYS1sbyBtZW1icm8gYCVzJwBlc3BlY2lmaWNhY2nzbiBkZSBuaXZlbCBkZSBkZXB1cmFjafNuIGRlc2Nv8WVjaWRvIGAlcycAc2luYWwgZGVzY2/xZWNpZG8AdW5saW5rIChmaWNoZWlybyB0ZW1wb3JhbCkAY2hhbWFkYSDhIGZ1bmNp824gYCVzJyBub24gcmVtYXRhZGE6IGZhbGxhIGAlYycAcmVmZXJlbmNpYSBhIHZhcmlhYmxlIG5vbiByZW1hdGFkYQBtZW1vcmlhIHZpcnR1YWwgZXNnb3RhZGEAYXZpc286IERldGVjdOFyb25zZSBpbmNvbnNpc3RlbmNpYXMgZGUgcmVsb3hvLiBBIG9wZXJhY2nzbiBwb2RlIHF1ZWRhciBpbmNvbXBsZXRhLgBhdmlzbzogLWpOIGZvcnphZG8gbm8gc3VibWFrZTogZGVzYWN0aXZhbmRvIG8gbW9kbyBkZSBzZXJ2aWRvciBkZSB0cmFiYWxsb3MuAGF2aXNvOiB2aXVzZSB1biBjYXLhY3RlciBOVUw7IGlnbvNyYXNlIG8gcmVzdG8gZGEgbGnxYQBhdmlzbzogaWdu83JhbnNlIG9zIGNvbWFuZG9zIGFudGlnb3MgZG8gb2J4ZWN0aXZvIGAlcycAYXZpc286IG8gc2Vydmlkb3IgZGUgdHJhYmFsbG9zIG5vbiBlc3ThIGRpc3Bv8WlibGU6IHVzYW5kbyAtajEuIEVuZ2FkYSBgKycg4SByZWdyYSBkbyBtYWtlIHBhaS4AYXZpc286IGlnbm9yYW5kbyBvcyBjb21hbmRvcyBkbyBvYnhlY3Rpdm8gYCVzJwBhdmlzbzogdmFyaWFibGUgbm9uIGRlZmluaWRhIGAlLipzJwB3aW5kb3dzMzJfb3BlbnBpcGUgKCk6IGEgY2hhbWFkYSBhIHByb2Nlc3NfaW5pdF9mZCgpIGZhbGxvdQoAd3JpdGUgam9ic2VydmVyAA==