IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZTogICAgUiBIZWxwIEZpbGUKIiBNYWludGFpbmVyOiAgSm9oYW5uZXMgUmFua2UgPGpyYW5rZUB1bmktYnJlbWVuLmRlPgoiIExhc3QgQ2hhbmdlOiAyMDA2IE3kciAwNgoiIFZlcnNpb246ICAgICAwLjUKIiBSZW1hcmtzOiAgICAgLSBOb3cgaW5jbHVkZXMgUiBzeW50YXggaGlnaGxpZ2h0aW5nIGluIHRoZSBhcHByb3ByaWF0ZQoiICAgICAgICAgICAgICAgIHNlY3Rpb25zIGlmIGFuIHIudmltIGZpbGUgaXMgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IG9yIGluIHRoZQoiICAgICAgICAgICAgICAgIGRlZmF1bHQgZGViaWFuIGxvY2F0aW9uLgoiICAgICAgICAgICAgICAtIEkgZGlkbid0IHlldCBpbmNsdWRlIGFueSBzcGVjaWFsIG1hcmt1cCBmb3IgUzQgbWV0aG9kcy4KIiAgICAgICAgICAgICAgLSBUaGUgdHdvIHZlcnNpb25zIG9mIFxpdGVte317fSBtYXJrdXAgYXJlIG5vdCAKIiAgICAgICAgICAgICAgICBkaXN0aW5ndWlzaGVkIChpbiB0aGUgXGFyZ3VtZW50c3t9IGVudmlyb25tZW50LCB0aGUgaXRlbXMgdG8KIiAgICAgICAgICAgICAgICBiZSBkZXNjcmliZWQgYXJlIFIgaWRlbnRpZmllcnMsIGJ1dCBub3QgaW4gdGhlIFxkZXNjcmliZXt9CiIgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQpLgoiICAgICAgICAgICAgICAtIFRoZXJlIGlzIG5vIExhdGV4IG1hcmt1cCBpbiBlcXVhdGlvbnMKCiIgVmVyc2lvbiBDbGVhcnM6IHt7ezEKIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAppZiB2ZXJzaW9uIDwgNjAwIAogIHN5bnRheCBjbGVhcgplbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICBmaW5pc2gKZW5kaWYgCgpzeW4gY2FzZSBtYXRjaAoKIiBSZCBpZGVudGlmaWVycyB7e3sKc3luIHJlZ2lvbiByaGVscElkZW50aWZpZXIgbWF0Y2hncm91cD1yaGVscFNlY3Rpb24Jc3RhcnQ9IlxcbmFtZXsiIGVuZD0ifSIgCnN5biByZWdpb24gcmhlbHBJZGVudGlmaWVyIG1hdGNoZ3JvdXA9cmhlbHBTZWN0aW9uCXN0YXJ0PSJcXGFsaWFzeyIgZW5kPSJ9IiAKc3luIHJlZ2lvbiByaGVscElkZW50aWZpZXIgbWF0Y2hncm91cD1yaGVscFNlY3Rpb24Jc3RhcnQ9IlxccGtneyIgZW5kPSJ9IiAKc3luIHJlZ2lvbiByaGVscElkZW50aWZpZXIgbWF0Y2hncm91cD1yaGVscFNlY3Rpb24Jc3RhcnQ9IlxcaXRlbXsiIGVuZD0ifSIgY29udGFpbmVkCnN5biByZWdpb24gcmhlbHBJZGVudGlmaWVyIG1hdGNoZ3JvdXA9cmhlbHBTZWN0aW9uIHN0YXJ0PSJcXG1ldGhvZHsiIGVuZD0vfS8gY29udGFpbmVkCgoiIEhpZ2hsaWdodGluZyBvZiBSIGNvZGUgdXNpbmcgYW4gZXhpc3Rpbmcgci52aW0gc3ludGF4IGZpbGUgaWYgYXZhaWxhYmxlIHt7ezEKbGV0IHM6c3ludGF4ZGlyID0gZXhwYW5kKCI8c2ZpbGU+OnA6aCIpICJsb29rIGluIHRoZSBkaXJlY3Rvcnkgb2YgdGhpcyBmaWxlCmxldCBzOnJzeW50YXggPSBzOnN5bnRheGRpciAuICIvci52aW0iCmlmIGZpbGVyZWFkYWJsZShzOnJzeW50YXgpICAKICBzeW4gaW5jbHVkZSBAUiA8c2ZpbGU+OnA6aC9yLnZpbQplbHNlaWYgZmlsZXJlYWRhYmxlKCcvdXNyL3NoYXJlL3ZpbS92aW02NC9zeW50YXgvci52aW0nKSAgImFuZCBkZWJpYW4gbG9jYXRpb24KICBzeW4gaW5jbHVkZSBAUiAvdXNyL3NoYXJlL3ZpbS92aW1jdXJyZW50L3N5bnRheC9yLnZpbQplbHNlIAogIHN5biBtYXRjaCByaGVscFJDb21tZW50IC9cIy4qLwkJCQkiaWYgbm8gci52aW0gaXMgZm91bmQsIGRvIGNvbW1lbnRzCiAgc3luIGNsdXN0ZXIgUiBjb250YWlucz1yaGVscFJDb21tZW50IAplbmRpZgpzeW4gcmVnaW9uIHJoZWxwUmNvZGUgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlxcZXhhbXBsZXN7IiBtYXRjaGdyb3VwPURlbGltaXRlciB0cmFuc3BhcmVudCBlbmQ9L30vIGNvbnRhaW5zPUBSLHJoZWxwU2VjdGlvbgpzeW4gcmVnaW9uIHJoZWxwUmNvZGUgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlxcdXNhZ2V7IiBtYXRjaGdyb3VwPURlbGltaXRlciB0cmFuc3BhcmVudCBlbmQ9L30vIGNvbnRhaW5zPUBSLHJoZWxwSWRlbnRpZmllcgpzeW4gcmVnaW9uIHJoZWxwUmNvZGUgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9Ilxcc3lub3BzaXN7IiBtYXRjaGdyb3VwPURlbGltaXRlciB0cmFuc3BhcmVudCBlbmQ9L30vIGNvbnRhaW5zPUBSCnN5biByZWdpb24gcmhlbHBSY29kZSBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXFxzcGVjaWFseyIgbWF0Y2hncm91cD1EZWxpbWl0ZXIgdHJhbnNwYXJlbnQgZW5kPS99LyBjb250YWlucz1AUiBjb250YWluZWQKc3luIHJlZ2lvbiByaGVscFJjb2RlIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcXGNvZGV7IiBtYXRjaGdyb3VwPURlbGltaXRlciB0cmFuc3BhcmVudCBlbmQ9L30vIGNvbnRhaW5zPUBSIGNvbnRhaW5lZAoKIiBTdHJpbmdzIHt7ezEKc3luIHJlZ2lvbiByaGVscFN0cmluZyBzdGFydD0vIi8gZW5kPS8iLyAKCiIgU3BlY2lhbCBUZVggY2hhcmFjdGVycyAgKCBcJCBcJiBcJSBcIyBceyBcfSBcXykge3t7MQpzeW4gbWF0Y2ggcmhlbHBTcGVjaWFsQ2hhciAgICAgICAgIlxcWyQmJSN7fV9dIgoKIiBTcGVjaWFsIERlbGltaXRlcnMge3t7MQpzeW4gbWF0Y2ggcmhlbHBEZWxpbWl0ZXIJCSJcXGNyIgpzeW4gbWF0Y2ggcmhlbHBEZWxpbWl0ZXIJCSJcXHRhYiAiCgoiIEtleXdvcmRzIHt7ezEKc3luIG1hdGNoIHJoZWxwS2V5d29yZAkiXFxSIgpzeW4gbWF0Y2ggcmhlbHBLZXl3b3JkCSJcXGRvdHMiCnN5biBtYXRjaCByaGVscEtleXdvcmQJIlxcbGRvdHMiCgoiIExpbmtzIHt7ezEKc3luIHJlZ2lvbiByaGVscExpbmsgbWF0Y2hncm91cD1yaGVscFNlY3Rpb24gc3RhcnQ9IlxcbGlua3siIGVuZD0ifSIgY29udGFpbmVkIGtlZXBlbmQKc3luIHJlZ2lvbiByaGVscExpbmsgbWF0Y2hncm91cD1yaGVscFNlY3Rpb24gc3RhcnQ9IlxcbGlua1xbLipcXXsiIGVuZD0ifSIgY29udGFpbmVkIGtlZXBlbmQKCiIgVHlwZSBTdHlsZXMge3t7MQpzeW4gbWF0Y2ggcmhlbHBUeXBlCQkiXFxlbXBoXD4iCnN5biBtYXRjaCByaGVscFR5cGUJCSJcXHN0cm9uZ1w+IgpzeW4gbWF0Y2ggcmhlbHBUeXBlCQkiXFxib2xkXD4iCnN5biBtYXRjaCByaGVscFR5cGUJCSJcXHNRdW90ZVw+IgpzeW4gbWF0Y2ggcmhlbHBUeXBlCQkiXFxkUXVvdGVcPiIKc3luIG1hdGNoIHJoZWxwVHlwZQkJIlxccHJlZm9ybWF0dGVkXD4iCnN5biBtYXRjaCByaGVscFR5cGUJCSJcXGtiZFw+IgpzeW4gbWF0Y2ggcmhlbHBUeXBlCQkiXFxzYW1wXD4iCnN5biBtYXRjaCByaGVscFR5cGUJCSJcXGVxblw+IgpzeW4gbWF0Y2ggcmhlbHBUeXBlCQkiXFxkZXFuXD4iCnN5biBtYXRjaCByaGVscFR5cGUJCSJcXGZpbGVcPiIKc3luIG1hdGNoIHJoZWxwVHlwZQkJIlxcZW1haWxcPiIKc3luIG1hdGNoIHJoZWxwVHlwZQkJIlxcdXJsXD4iCnN5biBtYXRjaCByaGVscFR5cGUJCSJcXHZhclw+IgpzeW4gbWF0Y2ggcmhlbHBUeXBlCQkiXFxlbnZcPiIKc3luIG1hdGNoIHJoZWxwVHlwZQkJIlxcb3B0aW9uXD4iCnN5biBtYXRjaCByaGVscFR5cGUJCSJcXGNvbW1hbmRcPiIKc3luIG1hdGNoIHJoZWxwVHlwZQkJIlxcZGZuXD4iCnN5biBtYXRjaCByaGVscFR5cGUJCSJcXGNpdGVcPiIKc3luIG1hdGNoIHJoZWxwVHlwZQkJIlxcYWNyb255bVw+IgoKIiByaGVscCBzZWN0aW9ucyB7e3sxCnN5biBtYXRjaCByaGVscFNlY3Rpb24JCSJcXGVuY29kaW5nXD4iCnN5biBtYXRjaCByaGVscFNlY3Rpb24JCSJcXHRpdGxlXD4iCnN5biBtYXRjaCByaGVscFNlY3Rpb24JCSJcXGRlc2NyaXB0aW9uXD4iCnN5biBtYXRjaCByaGVscFNlY3Rpb24JCSJcXGNvbmNlcHRcPiIKc3luIG1hdGNoIHJoZWxwU2VjdGlvbgkJIlxcYXJndW1lbnRzXD4iCnN5biBtYXRjaCByaGVscFNlY3Rpb24JCSJcXGRldGFpbHNcPiIKc3luIG1hdGNoIHJoZWxwU2VjdGlvbgkJIlxcdmFsdWVcPiIKc3luIG1hdGNoIHJoZWxwU2VjdGlvbgkJIlxccmVmZXJlbmNlc1w+IgpzeW4gbWF0Y2ggcmhlbHBTZWN0aW9uCQkiXFxub3RlXD4iCnN5biBtYXRjaCByaGVscFNlY3Rpb24JCSJcXGF1dGhvclw+IgpzeW4gbWF0Y2ggcmhlbHBTZWN0aW9uCQkiXFxzZWVhbHNvXD4iCnN5biBtYXRjaCByaGVscFNlY3Rpb24JCSJcXGtleXdvcmRcPiIKc3luIG1hdGNoIHJoZWxwU2VjdGlvbgkJIlxcZG9jVHlwZVw+IgpzeW4gbWF0Y2ggcmhlbHBTZWN0aW9uCQkiXFxmb3JtYXRcPiIKc3luIG1hdGNoIHJoZWxwU2VjdGlvbgkJIlxcc291cmNlXD4iCnN5biBtYXRjaCByaGVscFNlY3Rpb24gICAgICJcXGl0ZW1pemVcPiIKc3luIG1hdGNoIHJoZWxwU2VjdGlvbiAgICAgIlxcZGVzY3JpYmVcPiIKc3luIG1hdGNoIHJoZWxwU2VjdGlvbiAgICAgIlxcZW51bWVyYXRlXD4iCnN5biBtYXRjaCByaGVscFNlY3Rpb24gICAgICJcXGl0ZW0gIgpzeW4gbWF0Y2ggcmhlbHBTZWN0aW9uICAgICAiXFxpdGVtJCIKc3luIG1hdGNoIHJoZWxwU2VjdGlvbgkJIlxcdGFidWxhcntbbGNyXSp9IgpzeW4gbWF0Y2ggcmhlbHBTZWN0aW9uCQkiXFxkb250cnVuXD4iCnN5biBtYXRjaCByaGVscFNlY3Rpb24JCSJcXGRvbnRzaG93XD4iCnN5biBtYXRjaCByaGVscFNlY3Rpb24JCSJcXHRlc3Rvbmx5XD4iCgoiIEZyZWVseSBuYW1lZCBTZWN0aW9ucyB7e3sxCnN5biByZWdpb24gcmhlbHBGcmVlc2VjIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcXHNlY3Rpb257IiBtYXRjaGdyb3VwPURlbGltaXRlciB0cmFuc3BhcmVudCBlbmQ9L30vIAoKIiBSZCBjb21tZW50cyB7e3sxCnN5biBtYXRjaCByaGVscENvbW1lbnQgLyUuKiQvIGNvbnRhaW5lZCAKCiIgRXJyb3Ige3t7MQpzeW4gcmVnaW9uIHJoZWxwUmVnaW9uIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PS8oLyBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9LykvIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxyaGVscEVycm9yLHJoZWxwQnJhY2VFcnJvcixyaGVscEN1cmx5RXJyb3IKc3luIHJlZ2lvbiByaGVscFJlZ2lvbiBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0vey8gbWF0Y2hncm91cD1EZWxpbWl0ZXIgZW5kPS99LyB0cmFuc3BhcmVudCBjb250YWlucz1BTExCVVQscmhlbHBFcnJvcixyaGVscEJyYWNlRXJyb3IscmhlbHBQYXJlbkVycm9yCnN5biByZWdpb24gcmhlbHBSZWdpb24gbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9L1xbLyBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9L10vIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxyaGVscEVycm9yLHJoZWxwQ3VybHlFcnJvcixyaGVscFBhcmVuRXJyb3IKc3luIG1hdGNoIHJoZWxwRXJyb3IgICAgICAvWylcXX1dLwpzeW4gbWF0Y2ggcmhlbHBCcmFjZUVycm9yIC9bKX1dLyBjb250YWluZWQKc3luIG1hdGNoIHJoZWxwQ3VybHlFcnJvciAvWylcXV0vIGNvbnRhaW5lZApzeW4gbWF0Y2ggcmhlbHBQYXJlbkVycm9yIC9bXF19XS8gY29udGFpbmVkCgoiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcge3t7MQoiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAppZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcmhlbHBfc3ludGF4X2luaXRzIikKICBpZiB2ZXJzaW9uIDwgNTA4CiAgICBsZXQgZGlkX3JoZWxwX3N5bnRheF9pbml0cyA9IDEKICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CiAgZWxzZQogICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAgZW5kaWYKICBIaUxpbmsgcmhlbHBJZGVudGlmaWVyICBJZGVudGlmaWVyCiAgSGlMaW5rIHJoZWxwU3RyaW5nICAgICAgU3RyaW5nCiAgSGlMaW5rIHJoZWxwS2V5d29yZCAgICAgS2V5d29yZAogIEhpTGluayByaGVscExpbmsgICAgICAgIFVuZGVybGluZWQKICBIaUxpbmsgcmhlbHBUeXBlCSAgICAgICBUeXBlCiAgSGlMaW5rIHJoZWxwU2VjdGlvbiAgICAgUHJlQ29uZGl0CiAgSGlMaW5rIHJoZWxwRXJyb3IgICAgICAgRXJyb3IKICBIaUxpbmsgcmhlbHBCcmFjZUVycm9yICBFcnJvcgogIEhpTGluayByaGVscEN1cmx5RXJyb3IgIEVycm9yCiAgSGlMaW5rIHJoZWxwUGFyZW5FcnJvciAgRXJyb3IKICBIaUxpbmsgcmhlbHBEZWxpbWl0ZXIgICBEZWxpbWl0ZXIKICBIaUxpbmsgcmhlbHBDb21tZW50ICAgICBDb21tZW50CiAgSGlMaW5rIHJoZWxwUkNvbW1lbnQgICAgQ29tbWVudAogIEhpTGluayByaGVscFNwZWNpYWxDaGFyIFNwZWNpYWxDaGFyCiAgZGVsY29tbWFuZCBIaUxpbmsKZW5kaWYgCgpsZXQgICBiOmN1cnJlbnRfc3ludGF4ID0gInJoZWxwIgoiIHZpbTogZm9sZG1ldGhvZD1tYXJrZXI6Cg==