IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZTogICAgTG91dAoiIE1haW50YWluZXI6ICBDaHJpc3RpYW4gVi4gSi4gQnL8c3NvdyA8Y3ZqYkBjdmpiLmRlPgoiIExhc3QgQ2hhbmdlOiBTb24gMjIgSnVuIDIwMDMgMjA6NDM6MjYgQ0VTVAoiIEZpbGVuYW1lczogICAqLmxvdXQsKi5sdAoiIFVSTDoJCQlodHRwOi8vd3d3LmN2amIuZGUvY29tcC92aW0vbG91dC52aW0KIiAkSWQ6IGxvdXQudmltLHYgMS4xIDIwMDQvMDYvMTMgMTc6NTI6MTggdmltYm9zcyBFeHAgJAoiCiIgTG91dDogQmFzc2VyIExvdXQgZG9jdW1lbnQgZm9ybWF0dGluZyBzeXN0ZW0uCgoiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwoiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCmlmIHZlcnNpb24gPCA2MDAKCXN5bnRheCBjbGVhcgplbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKCWZpbmlzaAplbmRpZgoKIiBMb3V0IGlzIGNhc2Ugc2Vuc2l0aXZlCnN5biBjYXNlIG1hdGNoCgoiIFN5bmNocm9uaXphdGlvbiwgSSBrbm93IGl0IGlzIGEgaHVnZSBudW1iZXIsIGJ1dCBub3JtYWwgdGV4dHMgY2FuIGJlCiIgX3ZlcnlfIGxvbmcgOy0pCnN5biBzeW5jIGxpbmVzPTEwMDAKCiIgQ2hhcmFjdGVycyBhbGxvd2VkIGluIGtleXdvcmRzCiIgSSBkb24ndCBrbm93IGlmIDEyOC0yNTUgYXJlIGFsbG93ZWQgaW4gQU5TLUZPUkhUCmlmIHZlcnNpb24gPj0gNjAwCglzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NywuLEAtQCxfLDE5Mi0yNTUKZWxzZQoJc2V0IGlza2V5d29yZD1ALDQ4LTU3LC4sQC1ALF8sMTkyLTI1NQplbmRpZgoKIiBTb21lIHNwZWNpYWwga2V5d29yZHMKc3luIGtleXdvcmQgbG91dFRvZG8gY29udGFpbmVkIFRPRE8gbG91dCBMb3V0IExPVVQKc3luIGtleXdvcmQgbG91dERlZmluZSBkZWYgbWFjcm8KCiIgU29tZSBiaWcgc3RydWN0dXJlcwpzeW4ga2V5d29yZCBsb3V0S2V5d29yZCBAQmVnaW4gQEVuZCBARmlndXJlIEBUYWIKc3luIGtleXdvcmQgbG91dEtleXdvcmQgQEJvb2sgQERvYyBARG9jdW1lbnQgQFJlcG9ydApzeW4ga2V5d29yZCBsb3V0S2V5d29yZCBASW50cm9kdWN0aW9uIEBBYnN0cmFjdCBAQXBwZW5kaXgKc3luIGtleXdvcmQgbG91dEtleXdvcmQgQENoYXB0ZXIgQFNlY3Rpb24gQEJlZ2luU2VjdGlvbnMgQEVuZFNlY3Rpb25zCgoiIEFsbCBraW5kIG9mIExvdXQga2V5d29yZHMKc3luIG1hdGNoIGxvdXRGdW5jdGlvbiAnXDxAW14gXHR7fV1cK1w+JwoKIiBCcmFjZXMgLS0gRG9uYHQgZWRpdCB0aGVzZSBsaW5lcyEKc3luIG1hdGNoIGxvdXRNQnJhY2VzICdbe31dJwpzeW4gbWF0Y2ggbG91dElCcmFjZXMgJ1t7fV0nCnN5biBtYXRjaCBsb3V0QkJyYWNlICdbe31dJwpzeW4gbWF0Y2ggbG91dEJJQnJhY2VzICdbe31dJwpzeW4gbWF0Y2ggbG91dEhlYWRzICdbe31dJwoKIiBVbm1hdGNoZWQgYnJhY2VzLgpzeW4gbWF0Y2ggbG91dEJyYWNlRXJyb3IgJ30nCgoiIEVuZCBvZiBtdWx0aS1saW5lIGRlZmluaXRpb25zLCBsaWtlIEBEb2N1bWVudCwgQFJlcG9ydCBhbmQgQEJvb2suCnN5biBtYXRjaCBsb3V0RU9tbERlZiAnXi8vJCcKCiIgR3JvdXBpbmcgb2YgcGFyYW1ldGVycyBhbmQgb2JqZWN0cy4Kc3luIHJlZ2lvbiBsb3V0T2JqZWN0IHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSd7JyBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9J30nIGNvbnRhaW5zPUFMTEJVVCxsb3V0QnJhY2VFcnJvcgoKIiBUaGUgTlVMTCBvYmplY3QgaGFzIGEgc3BlY2lhbCBtZWFuaW5nCnN5biBrZXl3b3JkIGxvdXROVUxMIHt9CgoiIENvbW1lbnRzCnN5biByZWdpb24gbG91dENvbW1lbnQgc3RhcnQ9J1wjJyBlbmQ9JyQnIGNvbnRhaW5zPWxvdXRUb2RvCgoiIERvdWJsZSBxdW90ZXMKc3luIHJlZ2lvbiBsb3V0U3BlY2lhbCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCgoiIElTTy1MQVRJTi0xIGNoYXJhY3RlcnMgY3JlYXRlZCB3aXRoIEBDaGFyLCBvciBBZG9iZSBzeW1ib2xzCiIgY3JlYXRlZCB3aXRoIEBTeW0Kc3luIG1hdGNoIGxvdXRTeW1ib2xzICdAXChcKENoYXJcKVx8XChTeW1cKVwpXHNcK1tBLVphLXpdXCsnCgoiIEluY2x1ZGUgZmlsZXMKc3luIG1hdGNoIGxvdXRJbmNsdWRlICdASW5jbHVkZUdyYXBoaWNcc1wrXGtcKycKc3luIHJlZ2lvbiBsb3V0SW5jbHVkZSBzdGFydD0nQFwoXChTeXNJbmNsdWRlXClcfFwoSW5jbHVkZUdyYXBoaWNcKVx8XChJbmNsdWRlXClcKVxzKnsnIGVuZD0nfScKCiIgVGFncwpzeW4gbWF0Y2ggbG91dFRhZyAnQFwoXChUYWdcKVx8XChQYWdlTWFya1wpXHxcKFBhZ2VPZlwpXHxcKE51bWJlck9mXClcKVxzXCtca1wrJwpzeW4gcmVnaW9uIGxvdXRUYWcgc3RhcnQ9J0BUYWdccyp7JyBlbmQ9J30nCgoiIEVxdWF0aW9ucwpzeW4gbWF0Y2ggbG91dE1hdGggJ0BFcVxzXCtca1wrJwpzeW4gcmVnaW9uIGxvdXRNYXRoIG1hdGNoZ3JvdXA9bG91dE1CcmFjZXMgc3RhcnQ9J0BFcVxzKnsnIG1hdGNoZ3JvdXA9bG91dE1CcmFjZXMgZW5kPSd9JyBjb250YWlucz1BTExCVVQsbG91dEJyYWNlRXJyb3IKIgoiIEZvbnRzCnN5biBtYXRjaCBsb3V0SXRhbGljICdASVxzXCtca1wrJwpzeW4gcmVnaW9uIGxvdXRJdGFsaWMgbWF0Y2hncm91cD1sb3V0SUJyYWNlcyBzdGFydD0nQElccyp7JyBtYXRjaGdyb3VwPWxvdXRJQnJhY2VzIGVuZD0nfScgY29udGFpbnM9QUxMQlVULGxvdXRCcmFjZUVycm9yCnN5biBtYXRjaCBsb3V0Qm9sZCAnQEJcc1wrXGtcKycKc3luIHJlZ2lvbiBsb3V0Qm9sZCBtYXRjaGdyb3VwPWxvdXRCQnJhY2VzIHN0YXJ0PSdAQlxzKnsnIG1hdGNoZ3JvdXA9bG91dEJCcmFjZXMgZW5kPSd9JyBjb250YWlucz1BTExCVVQsbG91dEJyYWNlRXJyb3IKc3luIG1hdGNoIGxvdXRCb2xkSXRhbGljICdAQklcc1wrXGtcKycKc3luIHJlZ2lvbiBsb3V0Qm9sZEl0YWxpYyBtYXRjaGdyb3VwPWxvdXRCSUJyYWNlcyBzdGFydD0nQEJJXHMqeycgbWF0Y2hncm91cD1sb3V0QklCcmFjZXMgZW5kPSd9JyBjb250YWlucz1BTExCVVQsbG91dEJyYWNlRXJyb3IKc3luIHJlZ2lvbiBsb3V0SGVhZGluZ3MgbWF0Y2hncm91cD1sb3V0SGVhZHMgc3RhcnQ9J0BcKFwoVGl0bGVcKVx8XChDYXB0aW9uXClcKVxzKnsnIG1hdGNoZ3JvdXA9bG91dEhlYWRzIGVuZD0nfScgY29udGFpbnM9QUxMQlVULGxvdXRCcmFjZUVycm9yCgoiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCiIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQoiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CmlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9sb3V0X3N5bl9pbml0cyIpCglpZiB2ZXJzaW9uIDwgNTA4CgkJbGV0IGRpZF9sb3V0X3N5bl9pbml0cyA9IDEKCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgoJZWxzZQoJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgoJZW5kaWYKCgkiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gQ2FuIGJlIG92ZXJycmlkZW4gbGF0ZXIuCglIaUxpbmsgbG91dFRvZG8gVG9kbwoJSGlMaW5rIGxvdXREZWZpbmUgRGVmaW5lCglIaUxpbmsgbG91dEVPbWxEZWYgRGVmaW5lCglIaUxpbmsgbG91dEZ1bmN0aW9uIEZ1bmN0aW9uCglIaUxpbmsgbG91dEJyYWNlRXJyb3IgRXJyb3IKCUhpTGluayBsb3V0TlVMTCBTcGVjaWFsCglIaUxpbmsgbG91dENvbW1lbnQgQ29tbWVudAoJSGlMaW5rIGxvdXRTcGVjaWFsIFNwZWNpYWwKCUhpTGluayBsb3V0U3ltYm9scyBDaGFyYWN0ZXIKCUhpTGluayBsb3V0SW5jbHVkZSBJbmNsdWRlCglIaUxpbmsgbG91dEtleXdvcmQgS2V5d29yZAoJSGlMaW5rIGxvdXRUYWcgVGFnCglIaUxpbmsgbG91dE1hdGggTnVtYmVyCgoJIiBIaUxpbmsgTm90IHJlYWxseSBuZWVkZWQgaGVyZSwgYnV0IEkgdGhpbmsgaXQgaXMgbW9yZSBjb25zaXN0ZW50LgoJSGlMaW5rIGxvdXRNQnJhY2VzIGxvdXRNYXRoCgloaSBsb3V0SXRhbGljIHRlcm09aXRhbGljIGN0ZXJtPWl0YWxpYyBndWk9aXRhbGljCglIaUxpbmsgbG91dElCcmFjZXMgbG91dEl0YWxpYwoJaGkgbG91dEJvbGQgdGVybT1ib2xkIGN0ZXJtPWJvbGQgZ3VpPWJvbGQKCUhpTGluayBsb3V0QkJyYWNlcyBsb3V0Qm9sZAoJaGkgbG91dEJvbGRJdGFsaWMgdGVybT1ib2xkLGl0YWxpYyBjdGVybT1ib2xkLGl0YWxpYyBndWk9Ym9sZCxpdGFsaWMKCUhpTGluayBsb3V0QklCcmFjZXMgbG91dEJvbGRJdGFsaWMKCWhpIGxvdXRIZWFkaW5ncyB0ZXJtPWJvbGQgY3Rlcm09Ym9sZCBndWlmZz1pbmRpYW5yZWQKCUhpTGluayBsb3V0SGVhZHMgbG91dEhlYWRpbmdzCgoJZGVsY29tbWFuZCBIaUxpbmsKZW5kaWYKCmxldCBiOmN1cnJlbnRfc3ludGF4ID0gImxvdXQiCgoiIHZpbTp0cz04OnN3PTQ6bm9jaW5kZW50OnNtYXJ0aW5kZW50Ogo=