IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZToJQ2FzY2FkaW5nIFN0eWxlIFNoZWV0cwoiIE1haW50YWluZXI6CUNsYXVkaW8gRmxlaW5lciA8Y2xhdWRpb0BmbGVpbmVyLmNvbT4KIiBVUkw6CQlodHRwOi8vd3d3LmZsZWluZXIuY29tL3ZpbS9zeW50YXgvY3NzLnZpbQoiIExhc3QgQ2hhbmdlOgkyMDA0IE1hciAzMAoiIENTUzIgYnkgTmlrb2xhaSBXZWlidWxsCiIgRnVsbCBDU1MyLCBIVE1MNCBzdXBwb3J0IGJ5IFlldGkKCiIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQogIGlmIHZlcnNpb24gPCA2MDAKICAgIHN5bnRheCBjbGVhcgogIGVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogIGZpbmlzaAplbmRpZgogIGxldCBtYWluX3N5bnRheCA9ICdjc3MnCmVuZGlmCgpzeW4gY2FzZSBpZ25vcmUKCnN5biBrZXl3b3JkIGNzc1RhZ05hbWUgYWJiciBhY3JvbnltIGFkZHJlc3MgYXBwbGV0IGFyZWEgYSBiIGJhc2UKc3luIGtleXdvcmQgY3NzVGFnTmFtZSBiYXNlZm9udCBiZG8gYmlnIGJsb2NrcXVvdGUgYm9keSBiciBidXR0b24Kc3luIGtleXdvcmQgY3NzVGFnTmFtZSBjYXB0aW9uIGNlbnRlciBjaXRlIGNvZGUgY29sIGNvbGdyb3VwIGRkIGRlbApzeW4ga2V5d29yZCBjc3NUYWdOYW1lIGRmbiBkaXIgZGl2IGRsIGR0IGVtIGZpZWxkc2V0IGZvbnQgZm9ybSBmcmFtZQpzeW4ga2V5d29yZCBjc3NUYWdOYW1lIGZyYW1lc2V0IGgxIGgyIGgzIGg0IGg1IGg2IGhlYWQgaHIgaHRtbCBpbWcgaQpzeW4ga2V5d29yZCBjc3NUYWdOYW1lIGlmcmFtZSBpbWcgaW5wdXQgaW5zIGlzaW5kZXgga2JkIGxhYmVsIGxlZ2VuZCBsaQpzeW4ga2V5d29yZCBjc3NUYWdOYW1lIGxpbmsgbWFwIG1lbnUgbWV0YSBub2ZyYW1lcyBub3NjcmlwdCBvbCBvcHRncm91cApzeW4ga2V5d29yZCBjc3NUYWdOYW1lIG9wdGlvbiBwIHBhcmFtIHByZSBxIHMgc2FtcCBzY3JpcHQgc2VsZWN0IHNtYWxsCnN5biBrZXl3b3JkIGNzc1RhZ05hbWUgc3BhbiBzdHJpa2Ugc3Ryb25nIHN0eWxlIHN1YiBzdXAgdGJvZHkgdGQKc3luIGtleXdvcmQgY3NzVGFnTmFtZSB0ZXh0YXJlYSB0Zm9vdCB0aCB0aGVhZCB0aXRsZSB0ciB0dCB1bCB1IHZhcgpzeW4gbWF0Y2ggY3NzVGFnTmFtZSAiXDx0YWJsZVw+IgpzeW4gbWF0Y2ggY3NzVGFnTmFtZSAiXCoiCgpzeW4gbWF0Y2ggY3NzVGFnTmFtZSAiQHBhZ2VcPiIgbmV4dGdyb3VwPWNzc0RlZmluaXRpb24KCnN5biBtYXRjaCBjc3NTZWxlY3Rvck9wICJbKz4uXSIKc3luIG1hdGNoIGNzc1NlbGVjdG9yT3AyICJbfnxdXD89IiBjb250YWluZWQKc3luIHJlZ2lvbiBjc3NBdHRyaWJ1dGVTZWxlY3RvciBtYXRjaGdyb3VwPWNzc1NlbGVjdG9yT3Agc3RhcnQ9IlxbIiBlbmQ9Il0iIHRyYW5zcGFyZW50IGNvbnRhaW5zPWNzc1VuaWNvZGVFc2NhcGUsY3NzU2VsZWN0b3JPcDIsY3NzU3RyaW5nUSxjc3NTdHJpbmdRUQoKc3luIG1hdGNoIGNzc0lkZW50aWZpZXIgIiNbQS1aYS16wC3/X0BdW0EtWmEtesAt/zAtOV9ALV0qIgoKc3luIG1hdGNoIGNzc01lZGlhICJAbWVkaWFcPiIgbmV4dGdyb3VwPWNzc01lZGlhVHlwZSBza2lwd2hpdGUgc2tpcG5sCnN5biBrZXl3b3JkIGNzc01lZGlhVHlwZSBjb250YWluZWQgc2NyZWVuIHByaW50IGF1cmFsIGJyYWlsZSBlbWJvc2VkIGhhbmRoZWxkIHByb2plY3Rpb24gdHkgdHYgYWxsIG5leHRncm91cD1jc3NNZWRpYUNvbW1hLGNzc01lZGlhQmxvY2sgc2tpcHdoaXRlIHNraXBubApzeW4gbWF0Y2ggY3NzTWVkaWFDb21tYSAiLCIgbmV4dGdyb3VwPWNzc01lZGlhVHlwZSBza2lwd2hpdGUgc2tpcG5sCnN5biByZWdpb24gY3NzTWVkaWFCbG9jayB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWNzc0JyYWNlcyBzdGFydD0neycgZW5kPSd9JyBjb250YWlucz1jc3NUYWdOYW1lLGNzc0Vycm9yLGNzc0NvbW1lbnQsY3NzRGVmaW5pdGlvbixjc3NVUkwsY3NzVW5pY29kZUVzY2FwZSxjc3NJZGVudGlmaWVyCgpzeW4gbWF0Y2ggY3NzVmFsdWVJbnRlZ2VyIGNvbnRhaW5lZCAiWy0rXVw9XGRcKyIKc3luIG1hdGNoIGNzc1ZhbHVlTnVtYmVyIGNvbnRhaW5lZCAiWy0rXVw9XGRcK1woXC5cZCpcKVw9IgpzeW4gbWF0Y2ggY3NzVmFsdWVMZW5ndGggY29udGFpbmVkICJbLStdXD1cZFwrXChcLlxkKlwpXD1cKCVcfG1tXHxjbVx8aW5cfHB0XHxwY1x8ZW1cfGV4XHxweFwpIgpzeW4gbWF0Y2ggY3NzVmFsdWVBbmdsZSBjb250YWluZWQgIlstK11cPVxkXCtcKFwuXGQqXClcPVwoZGVnXHxncmFkXHxyYWRcKSIKc3luIG1hdGNoIGNzc1ZhbHVlVGltZSBjb250YWluZWQgIitcPVxkXCtcKFwuXGQqXClcPVwobXNcfHNcKSIKc3luIG1hdGNoIGNzc1ZhbHVlRnJlcXVlbmN5IGNvbnRhaW5lZCAiK1w9XGRcK1woXC5cZCpcKVw9XChIelx8a0h6XCkiCgpzeW4gbWF0Y2ggY3NzRm9udERlc2NyaXB0b3IgIkBmb250LWZhY2VcPiIgbmV4dGdyb3VwPWNzc0ZvbnREZXNjcmlwdG9yQmxvY2sgc2tpcHdoaXRlIHNraXBubApzeW4gcmVnaW9uIGNzc0ZvbnREZXNjcmlwdG9yQmxvY2sgY29udGFpbmVkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9Y3NzQnJhY2VzIHN0YXJ0PSJ7IiBlbmQ9In0iIGNvbnRhaW5zPWNzc0NvbW1lbnQsY3NzRXJyb3IsY3NzVW5pY29kZUVzY2FwZSxjc3NGb250UHJvcCxjc3NGb250QXR0cixjc3NDb21tb25BdHRyLGNzc1N0cmluZ1EsY3NzU3RyaW5nUVEsY3NzRm9udERlc2NyaXB0b3JQcm9wLGNzc1ZhbHVlLiosY3NzRm9udERlc2NyaXB0b3JGdW5jdGlvbixjc3NVbmljb2RlUmFuZ2UsY3NzRm9udERlc2NyaXB0b3JBdHRyCnN5biBtYXRjaCBjc3NGb250RGVzY3JpcHRvclByb3AgY29udGFpbmVkICJcPFwodW5pY29kZS1yYW5nZVx8dW5pdC1wZXItZW1cfHBhbm9zZS0xXHxjYXAtaGVpZ2h0XHx4LWhlaWdodFx8ZGVmaW5pdGlvbi1zcmNcKVw+IgpzeW4ga2V5d29yZCBjc3NGb250RGVzY3JpcHRvclByb3AgY29udGFpbmVkIHNyYyBzdGVtdiBzdGVtaCBzbG9wZSBhc2NlbnQgZGVzY2VudCB3aWR0aHMgYmJveCBiYXNlbGluZSBjZW50ZXJsaW5lIG1hdGhsaW5lIHRvcGxpbmUKc3luIGtleXdvcmQgY3NzRm9udERlc2NyaXB0b3JBdHRyIGNvbnRhaW5lZCBhbGwKc3luIHJlZ2lvbiBjc3NGb250RGVzY3JpcHRvckZ1bmN0aW9uIGNvbnRhaW5lZCBtYXRjaGdyb3VwPWNzc0Z1bmN0aW9uTmFtZSBzdGFydD0iXDxcKHVyaVx8dXJsXHxsb2NhbFx8Zm9ybWF0XClccyooIiBlbmQ9IikiIGNvbnRhaW5zPWNzc1N0cmluZ1EsY3NzU3RyaW5nUVEgb25lbGluZSBrZWVwZW5kCnN5biBtYXRjaCBjc3NVbmljb2RlUmFuZ2UgY29udGFpbmVkICJVK1swLTlBLUZhLWY/XVwrIgpzeW4gbWF0Y2ggY3NzVW5pY29kZVJhbmdlIGNvbnRhaW5lZCAiVStceFwrLVx4XCsiCgpzeW4ga2V5d29yZCBjc3NDb2xvciBjb250YWluZWQgYXF1YSBibGFjayBibHVlIGZ1Y2hzaWEgZ3JheSBncmVlbiBsaW1lIG1hcm9vbiBuYXZ5IG9saXZlIHB1cnBsZSByZWQgc2lsdmVyIHRlYWwgeWVsbG93CiIgRklYTUU6IFRoZXNlIGFyZSBhY3R1YWxseSBjYXNlLWluc2VudGl2aWUgdG9vLCBidXQgKGEpIHNwZWNzIHJlY29tbWVuZCB1c2luZwoiIG1peGVkLWNhc2UgKGIpIGl0J3MgaGFyZCB0byBoaWdobGlnaHQgdGhlIHdvcmQgYEJhY2tncm91bmQnIGNvcnJlY3RseSBpbgoiIGFsbCBzaXR1YXRpb25zCnN5biBjYXNlIG1hdGNoCnN5biBrZXl3b3JkIGNzc0NvbG9yIGNvbnRhaW5lZCBBY3RpdmVCb3JkZXIgQWN0aXZlQ2FwdGlvbiBBcHBXb3Jrc3BhY2UgQnV0dG9uRmFjZSBCdXR0b25IaWdobGlnaHQgQnV0dG9uU2hhZG93IEJ1dHRvblRleHQgQ2FwdGlvblRleHQgR3JheVRleHQgSGlnaGxpZ2h0IEhpZ2hsaWdodFRleHQgSW5hY3RpdmVCb3JkZXIgSW5hY3RpdmVDYXB0aW9uIEluYWN0aXZlQ2FwdGlvblRleHQgSW5mb0JhY2tncm91bmQgSW5mb1RleHQgTWVudSBNZW51VGV4dCBTY3JvbGxiYXIgVGhyZWVERGFya1NoYWRvdyBUaHJlZURGYWNlIFRocmVlREhpZ2hsaWdodCBUaHJlZURMaWdodFNoYWRvdyBUaHJlZURTaGFkb3cgV2luZG93IFdpbmRvd0ZyYW1lIFdpbmRvd1RleHQgQmFja2dyb3VuZApzeW4gY2FzZSBpZ25vcmUKc3luIG1hdGNoIGNzc0NvbG9yIGNvbnRhaW5lZCAiXDx0cmFuc3BhcmVudFw+IgpzeW4gbWF0Y2ggY3NzQ29sb3IgY29udGFpbmVkICJcPHdoaXRlXD4iCnN5biBtYXRjaCBjc3NDb2xvciBjb250YWluZWQgIiNbMC05QS1GYS1mXVx7M1x9XD4iCnN5biBtYXRjaCBjc3NDb2xvciBjb250YWluZWQgIiNbMC05QS1GYS1mXVx7Nlx9XD4iCiJzeW4gbWF0Y2ggY3NzQ29sb3IgY29udGFpbmVkICJcPHJnYlxzKihccypcZFwrXChcLlxkKlwpXD0lXD1ccyosXHMqXGRcK1woXC5cZCpcKVw9JVw9XHMqLFxzKlxkXCtcKFwuXGQqXClcPSVcPVxzKikiCnN5biByZWdpb24gY3NzVVJMIGNvbnRhaW5lZCBtYXRjaGdyb3VwPWNzc0Z1bmN0aW9uTmFtZSBzdGFydD0iXDx1cmxccyooIiBlbmQ9IikiIG9uZWxpbmUga2VlcGVuZApzeW4gcmVnaW9uIGNzc0Z1bmN0aW9uIGNvbnRhaW5lZCBtYXRjaGdyb3VwPWNzc0Z1bmN0aW9uTmFtZSBzdGFydD0iXDxcKHJnYlx8Y2xpcFx8YXR0clx8Y291bnRlclx8cmVjdFwpXHMqKCIgZW5kPSIpIiBvbmVsaW5lIGtlZXBlbmQKCnN5biBtYXRjaCBjc3NJbXBvcnRhbnQgY29udGFpbmVkICIhXHMqaW1wb3J0YW50XD4iCgpzeW4ga2V5d29yZCBjc3NDb21tb25BdHRyIGNvbnRhaW5lZCBhdXRvIG5vbmUgaW5oZXJpdApzeW4ga2V5d29yZCBjc3NDb21tb25BdHRyIGNvbnRhaW5lZCB0b3AgYm90dG9tCnN5biBrZXl3b3JkIGNzc0NvbW1vbkF0dHIgY29udGFpbmVkIG1lZGl1bSBub3JtYWwKCnN5biBtYXRjaCBjc3NGb250UHJvcCBjb250YWluZWQgIlw8Zm9udFw+XCgtXChmYW1pbHlcfHN0eWxlXHx2YXJpYW50XHx3ZWlnaHRcfHNpemVcKC1hZGp1c3RcKVw9XHxzdHJldGNoXClcPlwpXD0iCnN5biBtYXRjaCBjc3NGb250QXR0ciBjb250YWluZWQgIlw8XChzYW5zLVwpXD1cPHNlcmlmXD4iCnN5biBtYXRjaCBjc3NGb250QXR0ciBjb250YWluZWQgIlw8c21hbGxcPlwoLVwoY2Fwc1x8Y2FwdGlvblwpXD5cKVw9IgpzeW4gbWF0Y2ggY3NzRm9udEF0dHIgY29udGFpbmVkICJcPHhcezEsMlx9LVwobGFyZ2VcfHNtYWxsXClcPiIKc3luIG1hdGNoIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCAiXDxtZXNzYWdlLWJveFw+IgpzeW4gbWF0Y2ggY3NzRm9udEF0dHIgY29udGFpbmVkICJcPHN0YXR1cy1iYXJcPiIKc3luIG1hdGNoIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCAiXDxcKFwodWx0cmFcfGV4dHJhXHxzZW1pXHxzdGF0dXMtYmFyXCktXClcPVwoY29uZGVuc2VkXHxleHBhbmRlZFwpXD4iCnN5biBrZXl3b3JkIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCBjdXJzaXZlIGZhbnRhc3kgbW9ub3NwYWNlIGl0YWxpYyBvYmxpcXVlCnN5biBrZXl3b3JkIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCBib2xkIGJvbGRlciBsaWdodGVyIGxhcmdlciBzbWFsbGVyCnN5biBrZXl3b3JkIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCBpY29uIG1lbnUKc3luIG1hdGNoIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCAiXDxjYXB0aW9uXD4iCnN5biBrZXl3b3JkIGNzc0ZvbnRBdHRyIGNvbnRhaW5lZCBsYXJnZSBzbWFsbGVyIGxhcmdlcgpzeW4ga2V5d29yZCBjc3NGb250QXR0ciBjb250YWluZWQgbmFycm93ZXIgd2lkZXIKCnN5biBrZXl3b3JkIGNzc0NvbG9yUHJvcCBjb250YWluZWQgY29sb3IKc3luIG1hdGNoIGNzc0NvbG9yUHJvcCBjb250YWluZWQgIlw8YmFja2dyb3VuZFwoLVwoY29sb3JcfGltYWdlXHxhdHRhY2htZW50XHxwb3NpdGlvblwpXClcPSIKc3luIGtleXdvcmQgY3NzQ29sb3JBdHRyIGNvbnRhaW5lZCBjZW50ZXIgc2Nyb2xsIGZpeGVkCnN5biBtYXRjaCBjc3NDb2xvckF0dHIgY29udGFpbmVkICJcPHJlcGVhdFwoLVt4eV1cKVw9XD4iCnN5biBtYXRjaCBjc3NDb2xvckF0dHIgY29udGFpbmVkICJcPG5vLXJlcGVhdFw+IgoKc3luIG1hdGNoIGNzc1RleHRQcm9wICJcPFwoXCh3b3JkXHxsZXR0ZXJcKS1zcGFjaW5nXHx0ZXh0XCgtXChkZWNvcmF0aW9uXHx0cmFuc2Zvcm1cfGFsaWduXHxpbmRleFx8c2hhZG93XClcKVw9XHx2ZXJ0aWNhbC1hbGlnblx8dW5pY29kZS1iaWRpXHxsaW5lLWhlaWdodFwpXD4iCnN5biBtYXRjaCBjc3NUZXh0QXR0ciBjb250YWluZWQgIlw8bGluZS10aHJvdWdoXD4iCnN5biBtYXRjaCBjc3NUZXh0QXR0ciBjb250YWluZWQgIlw8dGV4dC1pbmRlbnRcPiIKc3luIG1hdGNoIGNzc1RleHRBdHRyIGNvbnRhaW5lZCAiXDxcKHRleHQtXClcPVwodG9wXHxib3R0b21cKVw+IgpzeW4ga2V5d29yZCBjc3NUZXh0QXR0ciBjb250YWluZWQgdW5kZXJsaW5lIG92ZXJsaW5lIGJsaW5rIHN1YiBzdXBlciBtaWRkbGUKc3luIGtleXdvcmQgY3NzVGV4dEF0dHIgY29udGFpbmVkIGNhcGl0YWxpemUgdXBwZXJjYXNlIGxvd2VyY2FzZSBjZW50ZXIganVzdGlmeSBiYXNlbGluZSBzdWIgc3VwZXIKCnN5biBtYXRjaCBjc3NCb3hQcm9wIGNvbnRhaW5lZCAiXDxcKG1hcmdpblx8cGFkZGluZ1x8Ym9yZGVyXClcKC1cKHRvcFx8cmlnaHRcfGJvdHRvbVx8bGVmdFwpXClcPVw+IgpzeW4gbWF0Y2ggY3NzQm94UHJvcCBjb250YWluZWQgIlw8Ym9yZGVyLVwoXChcKHRvcFx8cmlnaHRcfGJvdHRvbVx8bGVmdFwpLVwpXD1cKHdpZHRoXHxjb2xvclx8c3R5bGVcKVwpXD1cPiIKc3luIG1hdGNoIGNzc0JveFByb3AgY29udGFpbmVkICJcPFwod2lkdGhcfHotaW5kZXhcKVw+IgpzeW4gbWF0Y2ggY3NzQm94UHJvcCBjb250YWluZWQgIlw8XChtaW5cfG1heFwpLVwod2lkdGhcfGhlaWdodFwpXD4iCnN5biBrZXl3b3JkIGNzc0JveFByb3AgY29udGFpbmVkIHdpZHRoIGhlaWdodCBmbG9hdCBjbGVhciBvdmVyZmxvdyBjbGlwIHZpc2liaWxpdHkKc3luIGtleXdvcmQgY3NzQm94QXR0ciBjb250YWluZWQgdGhpbiB0aGljayBib3RoCnN5biBrZXl3b3JkIGNzc0JveEF0dHIgY29udGFpbmVkIGRvdHRlZCBkYXNoZWQgc29saWQgZG91YmxlIGdyb292ZSByaWRnZSBpbnNldCBvdXRzZXQKc3luIGtleXdvcmQgY3NzQm94QXR0ciBjb250YWluZWQgaGlkZGVuIHZpc2libGUgc2Nyb2xsIGNvbGxhcHNlCgpzeW4ga2V5d29yZCBjc3NHZW5lcmF0ZWRDb250ZW50UHJvcCBjb250YWluZWQgY29udGVudCBxdW90ZXMKc3luIG1hdGNoIGNzc0dlbmVyYXRlZENvbnRlbnRQcm9wIGNvbnRhaW5lZCAiXDxjb3VudGVyLVwocmVzZXRcfGluY3JlbWVudFwpXD4iCnN5biBtYXRjaCBjc3NHZW5lcmF0ZWRDb250ZW50UHJvcCBjb250YWluZWQgIlw8bGlzdC1zdHlsZVwoLVwodHlwZVx8cG9zaXRpb25cfGltYWdlXClcKVw9XD4iCnN5biBtYXRjaCBjc3NHZW5lcmF0ZWRDb250ZW50QXR0ciBjb250YWluZWQgIlw8XChuby1cKVw9XChvcGVuXHxjbG9zZVwpLXF1b3RlXD4iCnN5biBtYXRjaCBjc3NBdXJhbEF0dHIgY29udGFpbmVkICJcPGxvd2VyXD4iCnN5biBtYXRjaCBjc3NHZW5lcmF0ZWRDb250ZW50QXR0ciBjb250YWluZWQgIlw8XChsb3dlclx8dXBwZXJcKS1cKHJvbWFuXHxhbHBoYVx8Z3JlZWtcfGxhdGluXClcPiIKc3luIG1hdGNoIGNzc0dlbmVyYXRlZENvbnRlbnRBdHRyIGNvbnRhaW5lZCAiXDxcKGhpcmFnYW5hXHxrYXRha2FuYVwpXCgtaXJvaGFcKVw9XD4iCnN5biBtYXRjaCBjc3NHZW5lcmF0ZWRDb250ZW50QXR0ciBjb250YWluZWQgIlw8XChkZWNpbWFsXCgtbGVhZGluZy16ZXJvXClcPVx8Y2prLWlkZW9ncmFwaGljXClcPiIKc3luIGtleXdvcmQgY3NzR2VuZXJhdGVkQ29udGVudEF0dHIgY29udGFpbmVkIGRpc2MgY2lyY2xlIHNxdWFyZSBoZWJyZXcgYXJtZW5pYW4gZ2VvcmdpYW4Kc3luIGtleXdvcmQgY3NzR2VuZXJhdGVkQ29udGVudEF0dHIgY29udGFpbmVkIGluc2lkZSBvdXRzaWRlCgpzeW4gbWF0Y2ggY3NzUGFnaW5nUHJvcCBjb250YWluZWQgIlw8cGFnZVwoLWJyZWFrLVwoYmVmb3JlXHxhZnRlclx8aW5zaWRlXClcKVw9XD4iCnN5biBrZXl3b3JkIGNzc1BhZ2luZ1Byb3AgY29udGFpbmVkIHNpemUgbWFya3MgaW5zaWRlIG9ycGhhbnMgd2lkb3dzCnN5biBrZXl3b3JkIGNzc1BhZ2luZ0F0dHIgY29udGFpbmVkIGxhbmRzY2FwZSBwb3J0cmFpdCBjcm9wIGNyb3NzIGFsd2F5cyBhdm9pZAoKc3luIGtleXdvcmQgY3NzVUlQcm9wIGNvbnRhaW5lZCBjdXJzb3IKc3luIG1hdGNoIGNzc1VJUHJvcCBjb250YWluZWQgIlw8b3V0bGluZVwoLVwod2lkdGhcfHN0eWxlXHxjb2xvclwpXClcPVw+IgpzeW4gbWF0Y2ggY3NzVUlBdHRyIGNvbnRhaW5lZCAiXDxbbnNdXD1bZXddXD0tcmVzaXplXD4iCnN5biBrZXl3b3JkIGNzc1VJQXR0ciBjb250YWluZWQgZGVmYXVsdCBjcm9zc2hhaXIgcG9pbnRlciBtb3ZlIHdhaXQgaGVscApzeW4ga2V5d29yZCBjc3NVSUF0dHIgY29udGFpbmVkIHRoaW4gdGhpY2sKc3luIGtleXdvcmQgY3NzVUlBdHRyIGNvbnRhaW5lZCBkb3R0ZWQgZGFzaGVkIHNvbGlkIGRvdWJsZSBncm9vdmUgcmlkZ2UgaW5zZXQgb3V0c2V0CnN5biBrZXl3b3JkIGNzc1VJQXR0ciBjb250YWluZWQgaW52ZXJ0CgpzeW4gbWF0Y2ggY3NzUmVuZGVyQXR0ciBjb250YWluZWQgIlw8bWFya2VyXD4iCnN5biBtYXRjaCBjc3NSZW5kZXJQcm9wIGNvbnRhaW5lZCAiXDxcKGRpc3BsYXlcfG1hcmtlci1vZmZzZXRcfHVuaWNvZGUtYmlkaVx8d2hpdGUtc3BhY2VcfGxpc3QtaXRlbVx8cnVuLWluXHxpbmxpbmUtdGFibGVcKVw+IgpzeW4ga2V5d29yZCBjc3NSZW5kZXJQcm9wIGNvbnRhaW5lZCBwb3NpdGlvbiB0b3AgYm90dG9tIGRpcmVjdGlvbgpzeW4gbWF0Y2ggY3NzUmVuZGVyUHJvcCBjb250YWluZWQgIlw8XChsZWZ0XHxyaWdodFwpXD4iCnN5biBrZXl3b3JkIGNzc1JlbmRlckF0dHIgY29udGFpbmVkIGJsb2NrIGlubGluZSBjb21wYWN0CnN5biBtYXRjaCBjc3NSZW5kZXJBdHRyIGNvbnRhaW5lZCAiXDx0YWJsZVwoLVwocm93LWdvcnVwXHxcKGhlYWRlclx8Zm9vdGVyXCktZ3JvdXBcfHJvd1x8Y29sdW1uXCgtZ3JvdXBcKVw9XHxjZWxsXHxjYXB0aW9uXClcKVw9XD4iCnN5biBrZXl3b3JkIGNzc1JlbmRlckF0dHIgY29udGFpbmVkIHN0YXRpYyByZWxhdGl2ZSBhYnNvbHV0ZSBmaXhlZApzeW4ga2V5d29yZCBjc3NSZW5kZXJBdHRyIGNvbnRhaW5lZCBsdHIgcnRsIGVtYmVkIGJpZGktb3ZlcnJpZGUgcHJlIG5vd3JhcApzeW4gbWF0Y2ggY3NzUmVuZGVyQXR0ciBjb250YWluZWQgIlw8YmlkaS1vdmVycmlkZVw+IgoKCnN5biBtYXRjaCBjc3NBdXJhbFByb3AgY29udGFpbmVkICJcPFwocGF1c2VcfGN1ZVwpXCgtXChiZWZvcmVcfGFmdGVyXClcKVw9XD4iCnN5biBtYXRjaCBjc3NBdXJhbFByb3AgY29udGFpbmVkICJcPFwocGxheS1kdXJpbmdcfHNwZWVjaC1yYXRlXHx2b2ljZS1mYW1pbHlcfHBpdGNoXCgtcmFuZ2VcKVw9XHxzcGVha1woLVwocHVuY3R1YXRpb25cfG51bWVyYWxzXClcKVw9XClcPiIKc3luIGtleXdvcmQgY3NzQXVyYWxQcm9wIGNvbnRhaW5lZCB2b2x1bWUgZHVyaW5nIGF6aW11dGggZWxldmF0aW9uIHN0cmVzcyByaWNobmVzcwpzeW4gbWF0Y2ggY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCAiXDxcKHgtXClcPVwoc29mdFx8bG91ZFwpXD4iCnN5biBrZXl3b3JkIGNzc0F1cmFsQXR0ciBjb250YWluZWQgc2lsZW50CnN5biBtYXRjaCBjc3NBdXJhbEF0dHIgY29udGFpbmVkICJcPHNwZWxsLW91dFw+IgpzeW4ga2V5d29yZCBjc3NBdXJhbEF0dHIgY29udGFpbmVkIG5vbiBtaXgKc3luIG1hdGNoIGNzc0F1cmFsQXR0ciBjb250YWluZWQgIlw8XChsZWZ0XHxyaWdodFwpLXNpZGVcPiIKc3luIG1hdGNoIGNzc0F1cmFsQXR0ciBjb250YWluZWQgIlw8XChmYXJcfGNlbnRlclwpLVwobGVmdFx8Y2VudGVyXHxyaWdodFwpXD4iCnN5biBrZXl3b3JkIGNzc0F1cmFsQXR0ciBjb250YWluZWQgbGVmdHdhcmRzIHJpZ2h0d2FyZHMgYmVoaW5kCnN5biBrZXl3b3JkIGNzc0F1cmFsQXR0ciBjb250YWluZWQgYmVsb3cgbGV2ZWwgYWJvdmUgaGlnaGVyCnN5biBtYXRjaCBjc3NBdXJhbEF0dHIgY29udGFpbmVkICJcPFwoeC1cKVw9XChzbG93XHxmYXN0XClcPiIKc3luIGtleXdvcmQgY3NzQXVyYWxBdHRyIGNvbnRhaW5lZCBmYXN0ZXIgc2xvd2VyCnN5biBrZXl3b3JkIGNzc0F1cmFsQXR0ciBjb250YWluZWQgbWFsZSBmZW1hbGUgY2hpbGQgY29kZSBkaWdpdHMgY29udGludW91cwoKc3luIG1hdGNoIGNzc1RhYmxlUHJvcCBjb250YWluZWQgIlw8XChjYXB0aW9uLXNpZGVcfHRhYmxlLWxheW91dFx8Ym9yZGVyLWNvbGxhcHNlXHxib3JkZXItc3BhY2luZ1x8ZW1wdHktY2VsbHNcfHNwZWFrLWhlYWRlclwpXD4iCnN5biBrZXl3b3JkIGNzc1RhYmxlQXR0ciBjb250YWluZWQgZml4ZWQgY29sbGFwc2Ugc2VwYXJhdGUgc2hvdyBoaWRlIG9uY2UgYWx3YXlzCgoiIEZJWE1FOiBUaGlzIGFsbG93cyBjc3NNZWRpYUJsb2NrIGJlZm9yZSB0aGUgc2VtaWNvbG9uLCB3aGljaCBpcyB3cm9uZy4Kc3luIHJlZ2lvbiBjc3NJbmNsdWRlIHN0YXJ0PSJAaW1wb3J0IiBlbmQ9IjsiIGNvbnRhaW5zPWNzc0NvbW1lbnQsY3NzVVJMLGNzc1VuaWNvZGVFc2NhcGUsY3NzTWVkaWFUeXBlCnN5biBtYXRjaCBjc3NCcmFjZXMgY29udGFpbmVkICJbe31dIgpzeW4gbWF0Y2ggY3NzRXJyb3IgY29udGFpbmVkICJ7QDw+IgpzeW4gcmVnaW9uIGNzc0RlZmluaXRpb24gdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1jc3NCcmFjZXMgc3RhcnQ9J3snIGVuZD0nfScgY29udGFpbnM9Y3NzLipBdHRyLGNzcy4qUHJvcCxjc3NDb21tZW50LGNzc1ZhbHVlLiosY3NzQ29sb3IsY3NzVVJMLGNzc0ltcG9ydGFudCxjc3NFcnJvcixjc3NTdHJpbmdRLGNzc1N0cmluZ1FRLGNzc0Z1bmN0aW9uLGNzc1VuaWNvZGVFc2NhcGUKc3luIG1hdGNoIGNzc0JyYWNlRXJyb3IgIn0iCgpzeW4gbWF0Y2ggY3NzUHNldWRvQ2xhc3MgIjpcUyoiIGNvbnRhaW5zPWNzc1BzZXVkb0NsYXNzSWQsY3NzVW5pY29kZUVzY2FwZQpzeW4ga2V5d29yZCBjc3NQc2V1ZG9DbGFzc0lkIGNvbnRhaW5lZCBsaW5rIHZpc2l0ZWQgYWN0aXZlIGhvdmVyIGZvY3VzIGJlZm9yZSBhZnRlciBsZWZ0IHJpZ2h0CnN5biBtYXRjaCBjc3NQc2V1ZG9DbGFzc0lkIGNvbnRhaW5lZCAiXDxmaXJzdFwoLVwobGluZVx8bGV0dGVyXHxjaGlsZFwpXClcPVw+IgpzeW4gcmVnaW9uIGNzc1BzZXVkb0NsYXNzTGFuZyBtYXRjaGdyb3VwPWNzc1BzZXVkb0NsYXNzSWQgc3RhcnQ9IjpsYW5nKCIgZW5kPSIpIiBvbmVsaW5lCgpzeW4gcmVnaW9uIGNzc0NvbW1lbnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iCgpzeW4gbWF0Y2ggY3NzVW5pY29kZUVzY2FwZSAiXFxceFx7MSw2fVxzXD8iCnN5biBtYXRjaCBjc3NTcGVjaWFsQ2hhclFRICtcXCIrIGNvbnRhaW5lZApzeW4gbWF0Y2ggY3NzU3BlY2lhbENoYXJRICtcXCcrIGNvbnRhaW5lZApzeW4gcmVnaW9uIGNzc1N0cmluZ1FRIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9Y3NzVW5pY29kZUVzY2FwZSxjc3NTcGVjaWFsQ2hhclFRCnN5biByZWdpb24gY3NzU3RyaW5nUSBzdGFydD0rJysgc2tpcD0rXFxcXFx8XFwnKyBlbmQ9KycrIGNvbnRhaW5zPWNzc1VuaWNvZGVFc2NhcGUsY3NzU3BlY2lhbENoYXJRCgppZiBtYWluX3N5bnRheCA9PSAiY3NzIgogIHN5biBzeW5jIG1pbmxpbmVzPTEwCmVuZGlmCgoiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCiIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQoiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CmlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jc3Nfc3luX2luaXRzIikKICBpZiB2ZXJzaW9uIDwgNTA4CiAgICBsZXQgZGlkX2Nzc19zeW5faW5pdHMgPSAxCiAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgogIGVsc2UKICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogIGVuZGlmCgogIEhpTGluayBjc3NDb21tZW50IENvbW1lbnQKICBIaUxpbmsgY3NzVGFnTmFtZSBTdGF0ZW1lbnQKICBIaUxpbmsgY3NzU2VsZWN0b3JPcCBTcGVjaWFsCiAgSGlMaW5rIGNzc1NlbGVjdG9yT3AyIFNwZWNpYWwKICBIaUxpbmsgY3NzRm9udFByb3AgU3RvcmFnZUNsYXNzCiAgSGlMaW5rIGNzc0NvbG9yUHJvcCBTdG9yYWdlQ2xhc3MKICBIaUxpbmsgY3NzVGV4dFByb3AgU3RvcmFnZUNsYXNzCiAgSGlMaW5rIGNzc0JveFByb3AgU3RvcmFnZUNsYXNzCiAgSGlMaW5rIGNzc1JlbmRlclByb3AgU3RvcmFnZUNsYXNzCiAgSGlMaW5rIGNzc0F1cmFsUHJvcCBTdG9yYWdlQ2xhc3MKICBIaUxpbmsgY3NzUmVuZGVyUHJvcCBTdG9yYWdlQ2xhc3MKICBIaUxpbmsgY3NzR2VuZXJhdGVkQ29udGVudFByb3AgU3RvcmFnZUNsYXNzCiAgSGlMaW5rIGNzc1BhZ2luZ1Byb3AgU3RvcmFnZUNsYXNzCiAgSGlMaW5rIGNzc1RhYmxlUHJvcCBTdG9yYWdlQ2xhc3MKICBIaUxpbmsgY3NzVUlQcm9wIFN0b3JhZ2VDbGFzcwogIEhpTGluayBjc3NGb250QXR0ciBUeXBlCiAgSGlMaW5rIGNzc0NvbG9yQXR0ciBUeXBlCiAgSGlMaW5rIGNzc1RleHRBdHRyIFR5cGUKICBIaUxpbmsgY3NzQm94QXR0ciBUeXBlCiAgSGlMaW5rIGNzc1JlbmRlckF0dHIgVHlwZQogIEhpTGluayBjc3NBdXJhbEF0dHIgVHlwZQogIEhpTGluayBjc3NHZW5lcmF0ZWRDb250ZW50QXR0ciBUeXBlCiAgSGlMaW5rIGNzc1BhZ2luZ0F0dHIgVHlwZQogIEhpTGluayBjc3NUYWJsZUF0dHIgVHlwZQogIEhpTGluayBjc3NVSUF0dHIgVHlwZQogIEhpTGluayBjc3NDb21tb25BdHRyIFR5cGUKICBIaUxpbmsgY3NzUHNldWRvQ2xhc3NJZCBQcmVQcm9jCiAgSGlMaW5rIGNzc1BzZXVkb0NsYXNzTGFuZyBDb25zdGFudAogIEhpTGluayBjc3NWYWx1ZUxlbmd0aCBOdW1iZXIKICBIaUxpbmsgY3NzVmFsdWVJbnRlZ2VyIE51bWJlcgogIEhpTGluayBjc3NWYWx1ZU51bWJlciBOdW1iZXIKICBIaUxpbmsgY3NzVmFsdWVBbmdsZSBOdW1iZXIKICBIaUxpbmsgY3NzVmFsdWVUaW1lIE51bWJlcgogIEhpTGluayBjc3NWYWx1ZUZyZXF1ZW5jeSBOdW1iZXIKICBIaUxpbmsgY3NzRnVuY3Rpb24gQ29uc3RhbnQKICBIaUxpbmsgY3NzVVJMIFN0cmluZwogIEhpTGluayBjc3NGdW5jdGlvbk5hbWUgRnVuY3Rpb24KICBIaUxpbmsgY3NzQ29sb3IgQ29uc3RhbnQKICBIaUxpbmsgY3NzSWRlbnRpZmllciBGdW5jdGlvbgogIEhpTGluayBjc3NJbmNsdWRlIEluY2x1ZGUKICBIaUxpbmsgY3NzSW1wb3J0YW50IFNwZWNpYWwKICBIaUxpbmsgY3NzQnJhY2VzIEZ1bmN0aW9uCiAgSGlMaW5rIGNzc0JyYWNlRXJyb3IgRXJyb3IKICBIaUxpbmsgY3NzRXJyb3IgRXJyb3IKICBIaUxpbmsgY3NzSW5jbHVkZSBJbmNsdWRlCiAgSGlMaW5rIGNzc1VuaWNvZGVFc2NhcGUgU3BlY2lhbAogIEhpTGluayBjc3NTdHJpbmdRUSBTdHJpbmcKICBIaUxpbmsgY3NzU3RyaW5nUSBTdHJpbmcKICBIaUxpbmsgY3NzTWVkaWEgU3BlY2lhbAogIEhpTGluayBjc3NNZWRpYVR5cGUgU3BlY2lhbAogIEhpTGluayBjc3NNZWRpYUNvbW1hIE5vcm1hbAogIEhpTGluayBjc3NGb250RGVzY3JpcHRvciBTcGVjaWFsCiAgSGlMaW5rIGNzc0ZvbnREZXNjcmlwdG9yRnVuY3Rpb24gQ29uc3RhbnQKICBIaUxpbmsgY3NzRm9udERlc2NyaXB0b3JQcm9wIFN0b3JhZ2VDbGFzcwogIEhpTGluayBjc3NGb250RGVzY3JpcHRvckF0dHIgVHlwZQogIEhpTGluayBjc3NVbmljb2RlUmFuZ2UgQ29uc3RhbnQKICBkZWxjb21tYW5kIEhpTGluawplbmRpZgoKbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY3NzIgoKaWYgbWFpbl9zeW50YXggPT0gJ2NzcycKICB1bmxldCBtYWluX3N5bnRheAplbmRpZgoKIiB2aW06IHRzPTgKCg==