IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZTogICAgICAgICAgICAgSW5ubyBTZXR1cCBGaWxlIChpc3MgZmlsZSkgYW5kIE15IElubm9TZXR1cCBleHRlbnNpb24KIiBNYWludGFpbmVyOiAgICAgICAgICAgSmFzb24gTWlsbHMgKGptaWxsc0Bjcy5tdW4uY2EpCiIgUHJldmlvdXMgTWFpbnRhaW5lcjogIERvbWluaXF1ZSBTdOlwaGFuIChkb21pbmlxdWVAbWdnZW4uY29tKQoiIExhc3QgQ2hhbmdlOiAgICAgICAgICAyMDA0IERlYyAxNAoiCiIgVG9kbzoKIiAgLSBUaGUgcGFyYW10ZXIgU3RyaW5nOiBpcyBtYXRjaGVkIGFzIGZsYWcgc3RyaW5nIChiZWNhdXNlIG9mIGNhc2UgaWdub3JlKS4KIiAgLSBQYXNjYWwgc2NyaXB0aW5nIHN5bnRheCBpcyBub3QgcmVjb2duaXplZC4KIiAgLSBFbWJlZGRlZCBkb3VibGUgcXVvdGVzIGNvbmZ1c2Ugc3RyaW5nIG1hdGNoZXMuIGUuZy4gImFzZmQiImFzZmEiCgoiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwoiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCmlmIHZlcnNpb24gPCA2MDAKICBzeW50YXggY2xlYXIKZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgZmluaXNoCmVuZGlmCgoiIHNodXQgY2FzZSBvZmYKc3luIGNhc2UgaWdub3JlCgoiIFByZXByb2Nlc3NvcgpzeW4gcmVnaW9uIGlzc1ByZVByb2Mgc3RhcnQ9Il5ccyojIiBlbmQ9IiQiCgoiIFNlY3Rpb24Kc3luIHJlZ2lvbiBpc3NTZWN0aW9uCXN0YXJ0PSJcWyIgZW5kPSJcXSIKCiIgTGFiZWwgaW4gdGhlIFtTZXR1cF0gU2VjdGlvbgpzeW4gbWF0Y2ggIGlzc0RpcmVjdGl2ZQkiXltePV1cKz0iCgoiIFVSTApzeW4gbWF0Y2ggIGlzc1VSTAkiaHR0cFtzXVw9OlwvXC8uKiQiCgoiIFBhcmFtZXRlcnMgdXNlZCBmb3IgYW55IHNlY3Rpb24uCiIgc3luIG1hdGNoICBpc3NQYXJhbSJbXjogXVwrOiIKc3luIG1hdGNoICBpc3NQYXJhbQkiTmFtZToiCnN5biBtYXRjaCAgaXNzUGFyYW0JIk1pblZlcnNpb246XHxPbmx5QmVsb3dWZXJzaW9uOlx8TGFuZ3VhZ2VzOiIKc3luIG1hdGNoICBpc3NQYXJhbQkiU291cmNlOlx8RGVzdERpcjpcfERlc3ROYW1lOlx8Q29weU1vZGU6IgpzeW4gbWF0Y2ggIGlzc1BhcmFtCSJBdHRyaWJzOlx8UGVybWlzc2lvbnM6XHxGb250SW5zdGFsbDpcfEZsYWdzOiIKc3luIG1hdGNoICBpc3NQYXJhbQkiRmlsZU5hbWU6XHxQYXJhbWV0ZXJzOlx8V29ya2luZ0RpcjpcfEhvdEtleTpcfENvbW1lbnQ6IgpzeW4gbWF0Y2ggIGlzc1BhcmFtCSJJY29uRmlsZW5hbWU6XHxJY29uSW5kZXg6IgpzeW4gbWF0Y2ggIGlzc1BhcmFtCSJTZWN0aW9uOlx8S2V5Olx8U3RyaW5nOiIKc3luIG1hdGNoICBpc3NQYXJhbQkiUm9vdDpcfFN1YktleTpcfFZhbHVlVHlwZTpcfFZhbHVlTmFtZTpcfFZhbHVlRGF0YToiCnN5biBtYXRjaCAgaXNzUGFyYW0JIlJ1bk9uY2VJZDoiCnN5biBtYXRjaCAgaXNzUGFyYW0JIlR5cGU6XHxFeGNsdWRlczoiCnN5biBtYXRjaCAgaXNzUGFyYW0JIkNvbXBvbmVudHM6XHxEZXNjcmlwdGlvbjpcfEdyb3VwRGVzY3JpcHRpb246XHxUeXBlczpcfEV4dHJhRGlza1NwYWNlUmVxdWlyZWQ6IgpzeW4gbWF0Y2ggIGlzc1BhcmFtCSJTdGF0dXNNc2c6XHxSdW5PbmNlSWQ6XHxUYXNrczoiCnN5biBtYXRjaCAgaXNzUGFyYW0JIk1lc3NhZ2VzRmlsZTpcfExpY2Vuc2VGaWxlOlx8SW5mb0JlZm9yZUZpbGU6XHxJbmZvQWZ0ZXJGaWxlOiIKCnN5biBtYXRjaCAgaXNzQ29tbWVudAkiXlxzKjsuKiQiCgoiIGZvbGRlciBjb25zdGFudApzeW4gbWF0Y2ggIGlzc0ZvbGRlcgkie1tee10qfSIKCiIgc3RyaW5nCnN5biByZWdpb24gaXNzU3RyaW5nCXN0YXJ0PSsiKyBlbmQ9KyIrIGNvbnRhaW5zPWlzc0ZvbGRlcgoKIiBbRGlyc10Kc3luIGtleXdvcmQgaXNzRGlyc0ZsYWdzIGRlbGV0ZWFmdGVyaW5zdGFsbCB1bmluc2Fsd2F5c3VuaW5zdGFsbCB1bmluc25ldmVydW5pbnN0YWxsCgoiIFtGaWxlc10Kc3luIGtleXdvcmQgaXNzRmlsZXNDb3B5TW9kZSBub3JtYWwgb25seWlmZG9lc250ZXhpc3QgYWx3YXlzb3ZlcndyaXRlIGFsd2F5c3NraXBpZnNhbWVvcm9sZGVyIGRvbnRjb3B5CnN5biBrZXl3b3JkIGlzc0ZpbGVzQXR0cmlicyByZWFkb25seSBoaWRkZW4gc3lzdGVtCnN5biBrZXl3b3JkIGlzc0ZpbGVzUGVybWlzc2lvbnMgZnVsbCBtb2RpZnkgcmVhZGV4ZWMKc3luIGtleXdvcmQgaXNzRmlsZXNGbGFncyBhbGxvd3Vuc2FmZWZpbGVzIGNvbXBhcmV0aW1lc3RhbXBhbHNvIGNvbmZpcm1vdmVyd3JpdGUgZGVsZXRlYWZ0ZXJpbnN0YWxsCnN5biBrZXl3b3JkIGlzc0ZpbGVzRmxhZ3MgZG9udGNvcHkgZG9udHZlcmlmeWNoZWNrc3VtIGV4dGVybmFsIGZvbnRpc250dHJ1ZXR5cGUgaWdub3JldmVyc2lvbiAKc3luIGtleXdvcmQgaXNzRmlsZXNGbGFncyBpc3JlYWRtZSBvbmx5aWZkZXN0ZmlsZWV4aXN0cyBvbmx5aWZkb2VzbnRleGlzdCBvdmVyd3JpdGVyZWFkb25seSAKc3luIGtleXdvcmQgaXNzRmlsZXNGbGFncyBwcm9tcHRpZm9sZGVyIHJlY3Vyc2VzdWJkaXJzIHJlZ3NlcnZlciByZWd0eXBlbGliIHJlc3RhcnRyZXBsYWNlCnN5biBrZXl3b3JkIGlzc0ZpbGVzRmxhZ3Mgc2hhcmVkZmlsZSBza2lwaWZzb3VyY2Vkb2VzbnRleGlzdCBzb3J0ZmlsZXNieWV4dGVuc2lvbiB0b3VjaCAKc3luIGtleXdvcmQgaXNzRmlsZXNGbGFncyB1bmluc3JlbW92ZXJlYWRvbmx5IHVuaW5zcmVzdGFydGRlbGV0ZSB1bmluc25ldmVydW5pbnN0YWxsCnN5biBrZXl3b3JkIGlzc0ZpbGVzRmxhZ3MgcmVwbGFjZXNhbWV2ZXJzaW9uIG5vY29tcHJlc3Npb24gbm9lbmNyeXB0aW9uIG5vcmVnZXJyb3IKCgoiIFtJY29uc10Kc3luIGtleXdvcmQgaXNzSWNvbnNGbGFncyBjbG9zZW9uZXhpdCBjcmVhdGVvbmx5aWZmaWxlZXhpc3RzIGRvbnRjbG9zZW9uZXhpdCAKc3luIGtleXdvcmQgaXNzSWNvbnNGbGFncyBydW5tYXhpbWl6ZWQgcnVubWluaW1pemVkIHVuaW5zbmV2ZXJ1bmluc3RhbGwgdXNlYXBwcGF0aHMKCiIgW0lOSV0Kc3luIGtleXdvcmQgaXNzSU5JRmxhZ3MgY3JlYXRla2V5aWZkb2VzbnRleGlzdCB1bmluc2RlbGV0ZWVudHJ5IHVuaW5zZGVsZXRlc2VjdGlvbiB1bmluc2RlbGV0ZXNlY3Rpb25pZmVtcHR5CgoiIFtSZWdpc3RyeV0Kc3luIGtleXdvcmQgaXNzUmVnUm9vdEtleSAgIEhLQ1IgSEtDVSBIS0xNIEhLVSBIS0NDCnN5biBrZXl3b3JkIGlzc1JlZ1ZhbHVlVHlwZSBub25lIHN0cmluZyBleHBhbmRzeiBtdWx0aXN6IGR3b3JkIGJpbmFyeQpzeW4ga2V5d29yZCBpc3NSZWdGbGFncyBjcmVhdGV2YWx1ZWlmZG9lc250ZXhpc3QgZGVsZXRla2V5IGRlbGV0ZXZhbHVlIGRvbnRjcmVhdGVrZXkgCnN5biBrZXl3b3JkIGlzc1JlZ0ZsYWdzIHByZXNlcnZlc3RyaW5ndHlwZSBub2Vycm9yIHVuaW5zY2xlYXJ2YWx1ZSAKc3luIGtleXdvcmQgaXNzUmVnRmxhZ3MgdW5pbnNkZWxldGVrZXkgdW5pbnNkZWxldGVrZXlpZmVtcHR5IHVuaW5zZGVsZXRldmFsdWUKCiIgW1J1bl0gYW5kIFtVbmluc3RhbGxSdW5dCnN5biBrZXl3b3JkIGlzc1J1bkZsYWdzIGhpZGV3aXphcmQgbm93YWl0IHBvc3RpbnN0YWxsIHJ1bmhpZGRlbiBydW5tYXhpbWl6ZWQKc3luIGtleXdvcmQgaXNzUnVuRmxhZ3MgcnVubWluaW1pemVkIHNoZWxsZXhlYyBza2lwaWZkb2VzbnRleGlzdCBza2lwaWZub3RzaWxlbnQgCnN5biBrZXl3b3JkIGlzc1J1bkZsYWdzIHNraXBpZnNpbGVudCB1bmNoZWNrZWQgd2FpdHVudGlsaWRsZQoKIiBbVHlwZXNdCnN5biBrZXl3b3JkIGlzc1R5cGVzRmxhZ3MgaXNjdXN0b20KCiIgW0NvbXBvbmVudHNdCnN5biBrZXl3b3JkIGlzc0NvbXBvbmVudHNGbGFncyBkb250aW5oZXJpdGNoZWNrIGV4Y2x1c2l2ZSBmaXhlZCByZXN0YXJ0IGRpc2FibGVub3VuaW5zdGFsbHdhcm5pbmcKCiIgW1VuaW5zdGFsbERlbGV0ZV0gYW5kIFtJbnN0YWxsRGVsZXRlXQpzeW4ga2V5d29yZCBpc3NJbnN0YWxsRGVsZXRlVHlwZSBmaWxlcyBmaWxlc2FuZG9yZGlycyBkaXJpZmVtcHR5CgoiIFtUYXNrc10Kc3luIGtleXdvcmQgaXNzVGFza3NGbGFncyBjaGVja2Vkb25jZSBkb250aW5oZXJpdGNoZWNrIGV4Y2x1c2l2ZSByZXN0YXJ0IHVuY2hlY2tlZCAKCgoiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCiIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQoiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CmlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9pc3Nfc3ludGF4X2luaXRzIikKICBpZiB2ZXJzaW9uIDwgNTA4CiAgICBsZXQgZGlkX2lzc19zeW50YXhfaW5pdHMgPSAxCiAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgogIGVsc2UKICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogIGVuZGlmCgogICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCiAgIEhpTGluayBpc3NTZWN0aW9uCVNwZWNpYWwKICAgSGlMaW5rIGlzc0NvbW1lbnQJQ29tbWVudAogICBIaUxpbmsgaXNzRGlyZWN0aXZlCVR5cGUKICAgSGlMaW5rIGlzc1BhcmFtCVR5cGUKICAgSGlMaW5rIGlzc0ZvbGRlcglTcGVjaWFsCiAgIEhpTGluayBpc3NTdHJpbmcJU3RyaW5nCiAgIEhpTGluayBpc3NVUkwJSW5jbHVkZQogICBIaUxpbmsgaXNzUHJlUHJvYwlQcmVQcm9jIAoKICAgSGlMaW5rIGlzc0RpcnNGbGFncwkJS2V5d29yZAogICBIaUxpbmsgaXNzRmlsZXNDb3B5TW9kZQlLZXl3b3JkCiAgIEhpTGluayBpc3NGaWxlc0F0dHJpYnMJS2V5d29yZAogICBIaUxpbmsgaXNzRmlsZXNQZXJtaXNzaW9ucwlLZXl3b3JkCiAgIEhpTGluayBpc3NGaWxlc0ZsYWdzCQlLZXl3b3JkCiAgIEhpTGluayBpc3NJY29uc0ZsYWdzCQlLZXl3b3JkCiAgIEhpTGluayBpc3NJTklGbGFncwkJS2V5d29yZAogICBIaUxpbmsgaXNzUmVnUm9vdEtleQkJS2V5d29yZAogICBIaUxpbmsgaXNzUmVnVmFsdWVUeXBlCUtleXdvcmQKICAgSGlMaW5rIGlzc1JlZ0ZsYWdzCQlLZXl3b3JkCiAgIEhpTGluayBpc3NSdW5GbGFncwkJS2V5d29yZAogICBIaUxpbmsgaXNzVHlwZXNGbGFncwkJS2V5d29yZAogICBIaUxpbmsgaXNzQ29tcG9uZW50c0ZsYWdzCUtleXdvcmQKICAgSGlMaW5rIGlzc0luc3RhbGxEZWxldGVUeXBlCUtleXdvcmQKICAgSGlMaW5rIGlzc1Rhc2tzRmxhZ3MJCUtleXdvcmQKCiAgZGVsY29tbWFuZCBIaUxpbmsKZW5kaWYKCmxldCBiOmN1cnJlbnRfc3ludGF4ID0gImlzcyIKCiIgdmltOnRzPTgK