IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZTogICAgRnJlZU1hcmtlciBUZW1wbGF0ZSBMYW5ndWFnZSAoRlRMKQoiIE1haW50YWluZXI6ICBTdGVwaGFuIE38bGxlciA8c3RlcGhhbkBub3RhdG9hc3Rlci5vcmc+CiIgTGFzdCBDaGFuZ2U6IDIwMDggT2N0IDIyCiIKIiBDaGFuZ2Vsb2c6CiIgMS4wIFN0ZXBoYW4gTfxsbGVyOiBPcmlnaW5hbCB2ZXJzaW9uCiIgMS4xIHR5cnU6CiIgICBBZGRlZCBGZWF0dXJlOgoiICAgICAqIEhpZ2hsaWdodCBodG1sIHRhZ3MuCiIgICAgICAgKiBUaGUgdXNlciBjYW4gZGlzYWJsZSB0aGUgZmVhdHVyZSBieSBhZGRpbmcgaXRzIHNldHRpbmcgdG8gLnZpbXJjOgoiICAgICAgICAgICBsZXQgZzpmdGxfbm9faHRtbCA9IDEKIiAgICAgICAgIFRoZSBmZWF0dXJlIGVuYWJsZWQgYnkgZGVmYXVsdC4KIiAgIEZpeGVkIElzc3VlczoKIiAgICAgKiBNaXNzaW5nIGJvaWxlcnBsYXRlcyBvZiB2aW0gc3ludGF4IHBsdWdpbgoiICAgICAgICogYjpjdXJyZW50X3N5bnRheCBpcyBub3QgZGVmaW5lZC4gdmltIHN5bnRheCBwbHVnaW4gbXVzdCBkZWZpbmUgaXQuCiIgICAgICAgKiBpZiBiOmN1cnJlbnRfc3ludGF4IGlzIGRlZmluZWQsIGRvIG5vdCBsb2FkIHN5bnRheCBwbHVnaW4KIiAxLjIgdHlydToKIiAgICAgKiBTb3JyeSwgcmVtb3ZlIEhUTUwgaGlnaGxpZ2h0IGZlYXR1cmUuCiIgICAgICAgYmVjYXVzZSAiOnNldGZpbGV0eXBlIGh0bWwuZnRsIiBpcyBlbm91Z2guCiIKIiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKE1JVCk6CiIKIiBDb3B5cmlnaHQgKGMpIDIwMDggU3RlcGhhbiBN/GxsZXIKIgoiIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKIiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAoiIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKIiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCiIgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiIgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKIgoiIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiIgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCiIgCiIgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKIiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKIiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCiIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKIiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQoiIFNPRlRXQVJFLgoKIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAppZiB2ZXJzaW9uIDwgNjAwCiAgc3ludGF4IGNsZWFyCmVsc2VpZiBleGlzdHMoJ2I6Y3VycmVudF9zeW50YXgnKQogIGZpbmlzaAplbmRpZgoKc3luIGNhc2UgbWF0Y2gKCiIgZGlyZWN0aXZlcyBhbmQgaW50ZXJwb2xhdGlvbnMKc3luIHJlZ2lvbiBmdGxTdGFydERpcmVjdGl2ZSBzdGFydD0rPCMrIGVuZD0rPisgY29udGFpbnM9ZnRsS2V5d29yZCwgZnRsRGlyZWN0aXZlLCBmdGxTdHJpbmcsIGZ0bENvbW1lbnQKc3luIHJlZ2lvbiBmdGxFbmREaXJlY3RpdmUgc3RhcnQ9KzwvIysgZW5kPSs+KyBjb250YWlucz1mdGxEaXJlY3RpdmUKc3luIHJlZ2lvbiBmdGxTdGFydERpcmVjdGl2ZUFsdCBzdGFydD0rXFsjKyBlbmQ9K1xdKyBjb250YWlucz1mdGxLZXl3b3JkLCBmdGxEaXJlY3RpdmUsIGZ0bFN0cmluZywgZnRsQ29tbWVudApzeW4gcmVnaW9uIGZ0bEVuZERpcmVjdGl2ZUFsdCBzdGFydD0rXFsvIysgZW5kPStcXSsgY29udGFpbnM9ZnRsRGlyZWN0aXZlCnN5biByZWdpb24gZnRsU3RhcnRVc2VyRGlyZWN0aXZlIHN0YXJ0PSs8QCsgZW5kPSs+KyBjb250YWlucz1mdGxTdHJpbmcsIGZ0bENvbW1lbnQKc3luIHJlZ2lvbiBmdGxFbmRVc2VyRGlyZWN0aXZlIHN0YXJ0PSs8L0ArIGVuZD0rPisKc3luIHJlZ2lvbiBmdGxTdGFydFVzZXJEaXJlY3RpdmVBbHQgc3RhcnQ9K1xbQCsgZW5kPStcXSsgY29udGFpbnM9ZnRsU3RyaW5nLCBmdGxDb21tZW50CnN5biByZWdpb24gZnRsRW5kVXNlckRpcmVjdGl2ZUFsdCBzdGFydD0rXFsvQCsgZW5kPStcXSsKc3luIHJlZ2lvbiBmdGxJbnRlcnBvbGF0aW9uIHN0YXJ0PSskeysgZW5kPSt9KwpzeW4gcmVnaW9uIGZ0bEludGVycG9sYXRpb24yIHN0YXJ0PSsjeysgZW5kPSt9KwpzeW4gcmVnaW9uIGZ0bFN0cmluZyBjb250YWluZWQgc3RhcnQ9KyIrIGVuZD0rIisKc3luIHJlZ2lvbiBmdGxDb21tZW50IHN0YXJ0PSs8Iy0tKyBlbmQ9Ky0tPisKc3luIHJlZ2lvbiBmdGxDb21tZW50QWx0IHN0YXJ0PStcWyMtLSsgZW5kPSstLVxdKwoKIiBrZXl3b3JkcwpzeW4ga2V5d29yZCBmdGxEaXJlY3RpdmUgY29udGFpbmVkIGxpc3QgaWYgZWxzZSBtYWNybyBpbXBvcnQgaW5jbHVkZSBzd2l0Y2ggY2FzZSBicmVhawpzeW4ga2V5d29yZCBmdGxEaXJlY3RpdmUgY29udGFpbmVkIGFzc2lnbiBsb2NhbCBnbG9iYWwgbmVzdGVkIHJlY3Vyc2UgZmFsbGJhY2sgdmlzaXQKc3luIGtleXdvcmQgZnRsRGlyZWN0aXZlIGNvbnRhaW5lZCBmdW5jdGlvbiByZXR1cm4gdCBydCBsdCBudCBmdGwKc3luIGtleXdvcmQgZnRsS2V5d29yZCBjb250YWluZWQgYXMgaW4gdXNpbmcKCiIgaGlnaGxpZ2h0aW5nCgoiIGRvbid0IHVzZSBzdGFuZGFyZCBIaUxpbmssIGl0IHdpbGwgbm90IHdvcmsgd2l0aCBpbmNsdWRlZCBzeW50YXggZmlsZXMKaWYgdmVyc2lvbiA8IDUwOAogIGNvbW1hbmQhIC1uYXJncz0rIEZ0bEhpTGluayBoaSBsaW5rIDxhcmdzPgplbHNlCiAgY29tbWFuZCEgLW5hcmdzPSsgRnRsSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgplbmRpZgoKRnRsSGlMaW5rIGZ0bEtleXdvcmQgU3RhdGVtZW50CkZ0bEhpTGluayBmdGxEaXJlY3RpdmUgU3RhdGVtZW50CkZ0bEhpTGluayBmdGxTdGFydERpcmVjdGl2ZSBGdW5jdGlvbgpGdGxIaUxpbmsgZnRsRW5kRGlyZWN0aXZlIEZ1bmN0aW9uCkZ0bEhpTGluayBmdGxTdGFydFVzZXJEaXJlY3RpdmUgRnVuY3Rpb24KRnRsSGlMaW5rIGZ0bEVuZFVzZXJEaXJlY3RpdmUgRnVuY3Rpb24KRnRsSGlMaW5rIGZ0bEludGVycG9sYXRpb24gQ29uc3RhbnQKRnRsSGlMaW5rIGZ0bEludGVycG9sYXRpb24yIENvbnN0YW50CkZ0bEhpTGluayBmdGxTdHJpbmcgQ29uc3RhbnQKRnRsSGlMaW5rIGZ0bENvbW1lbnQgQ29tbWVudAoKZGVsY29tbWFuZCBGdGxIaUxpbmsKCmxldCBiOmN1cnJlbnRfc3ludGF4ID0gImZ0bCIK