IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZToJTU1JWAoiIE1haW50YWluZXI6CURpcmsgSPxza2VuLCA8aHVlc2tlbkBpbmZvcm1hdGlrLnVuaS10dWViaW5nZW4uZGU+CiIgTGFzdCBDaGFuZ2U6CTIwMTIgSnVuIDAxCiIgCQkoRG9taW5pcXVlIFBlbGxlIGFkZGVkIEBTcGVsbCkKIiBGaWxlbmFtZXM6CSoubW1zCiIgVVJMOiBodHRwOi8vaG9tZXBhZ2VzLnVuaS10dWViaW5nZW4uZGUvc3R1ZGVudC9kaXJrLmh1ZXNrZW4vdmltL3N5bnRheC9tbWl4LnZpbQoKIiBMaW1pdGF0aW9uczoJQ29tbWVudHMgbXVzdCBzdGFydCB3aXRoIGVpdGhlciAlIG9yIC8vCiIJCShwcmVmZXJhYmx5ICUsIEtudXRoLVN0eWxlKQoKaWYgdmVyc2lvbiA8IDYwMAogIHN5bnRheCBjbGVhcgplbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICBmaW5pc2gKZW5kaWYKCnN5biBjYXNlIGlnbm9yZQoKIiBNTUlYIGRhdGEgdHlwZXMKc3luIGtleXdvcmQgbW1peFR5cGUJYnl0ZSB3eWRlIHRldHJhIG9jdGEKCiIgZGlmZmVyZW50IGxpdGVyYWxzLi4uCnN5biBtYXRjaCBkZWNOdW1iZXIJCSJbMC05XSoiCnN5biBtYXRjaCBvY3ROdW1iZXIJCSIwWzAtN11bMC03XVwrIgpzeW4gbWF0Y2ggaGV4TnVtYmVyCQkiI1swLTlhLWZBLUZdXCsiCnN5biByZWdpb24gbW1peFN0cmluZwkJc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiKyBjb250YWlucz1AU3BlbGwKc3luIG1hdGNoIG1taXhDaGFyCQkiJy4nIgoKIiAuLi5hbmQgbW9yZSBzcGVjaWFsIE1NSVggc3R1ZmYKc3luIG1hdGNoIG1taXhBdAkJIkAiCnN5biBrZXl3b3JkIG1taXhTZWdtZW50cwlEYXRhX1NlZ21lbnQgUG9vbF9TZWdtZW50IFN0YWNrX1NlZ21lbnQKCnN5biBtYXRjaCBtbWl4SWRlbnRpZmllcgkiW2Etel9dW2EtejAtOV9dKiIKCiIgbGFiZWxzIChmb3IgYnJhbmNoZXMgZXRjKQpzeW4gbWF0Y2ggbW1peExhYmVsCQkiXlthLXowLTlfOl1bYS16MC05X10qIgpzeW4gbWF0Y2ggbW1peExhYmVsCQkiWzAtOV1bSEJGXSIKCiIgcHNldWRvLW9wZXJhdGlvbnMKc3luIGtleXdvcmQgbW1peFBzZXVkbwkJaXMgbG9jIGdyZWcKCiIgY29tbWVudHMKc3luIG1hdGNoIG1taXhDb21tZW50CQkiJS4qIiBjb250YWlucz1AU3BlbGwKc3luIG1hdGNoIG1taXhDb21tZW50CQkiLy8uKiIgY29udGFpbnM9QFNwZWxsCnN5biBtYXRjaCBtbWl4Q29tbWVudAkJIl5cKi4qIiBjb250YWlucz1AU3BlbGwKCgpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXRyYXAgZmNtcCBmdW4gZmVxbCBmYWRkIGZpeCBmc3ViIGZpeHUKc3luIGtleXdvcmQgbW1peE9wY29kZQlmbXVsIGZjbXBlIGZ1bmUgZmVxbGUgZmRpdiBmc3FydCBmcmVtIGZpbnQKCnN5biBrZXl3b3JkIG1taXhPcGNvZGUJZmxvdGkgZmxvdHVpIHNmbG90aSBzZmxvdHVpIGkKc3luIGtleXdvcmQgbW1peE9wY29kZQltdWxpIG11bHVpIGRpdmkgZGl2dWkKc3luIGtleXdvcmQgbW1peE9wY29kZQlhZGRpIGFkZHVpIHN1Ymkgc3VidWkKc3luIGtleXdvcmQgbW1peE9wY29kZQkyYWRkdWkgNGFkZHVpIDhhZGR1aSAxNmFkZHVpCnN5biBrZXl3b3JkIG1taXhPcGNvZGUJY21waSBjbXB1aSBuZWdpIG5lZ3VpCnN5biBrZXl3b3JkIG1taXhPcGNvZGUJc2xpIHNsdWkgc3JpIHNydWkKc3luIGtleXdvcmQgbW1peE9wY29kZQlibmIgYnpiIGJwYiBib2RiCnN5biBrZXl3b3JkIG1taXhPcGNvZGUJYm5uYiBibnpiIGJucGIgYmV2YgpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXBibmIgcGJ6YiBwYnBiIHBib2RiCnN5biBrZXl3b3JkIG1taXhPcGNvZGUJcGJubmIgcGJuemIgcGJucGIgcGJldmIKc3luIGtleXdvcmQgbW1peE9wY29kZQljc25pIGNzemkgY3NwaSBjc29kaQpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWNzbm5pIGNzbnppIGNzbnBpIGNzZXZpCnN5biBrZXl3b3JkIG1taXhPcGNvZGUJenNuaSB6c3ppIHpzcGkgenNvZGkKc3luIGtleXdvcmQgbW1peE9wY29kZQl6c25uaSB6c256aSB6c25waSB6c2V2aQpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWxkYmkgbGRidWkgbGR3aSBsZHd1aQpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWxkdGkgbGR0dWkgbGRvaSBsZG91aQpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWxkc2ZpIGxkaHRpIGNzd2FwaSBsZHVuY2kKc3luIGtleXdvcmQgbW1peE9wY29kZQlsZHZ0c2kgcHJlbGRpIHByZWdvaSBnb2kKc3luIGtleXdvcmQgbW1peE9wY29kZQlzdGJpIHN0YnVpIHN0d2kgc3R3dWkKc3luIGtleXdvcmQgbW1peE9wY29kZQlzdHRpIHN0dHVpIHN0b2kgc3RvdWkKc3luIGtleXdvcmQgbW1peE9wY29kZQlzdHNmaSBzdGh0aSBzdGNvaSBzdHVuY2kKc3luIGtleXdvcmQgbW1peE9wY29kZQlzeW5jZGkgcHJlc3RpIHN5bmNpZGkgcHVzaGdvaQpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCW9yaSBvcm5pIG5vcmkgeG9yaQpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWFuZGkgYW5kbmkgbmFuZGkgbnhvcmkKc3luIGtleXdvcmQgbW1peE9wY29kZQliZGlmaSB3ZGlmaSB0ZGlmaSBvZGlmaQpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCW11eGkgc2FkZGkgbW9yaSBteG9yaQpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCW11bGkgbXVsdWkgZGl2aSBkaXZ1aQoKc3luIGtleXdvcmQgbW1peE9wY29kZQlmbG90IGZsb3R1IHNmbG90IHNmbG90dQpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCW11bCBtdWx1IGRpdiBkaXZ1CnN5biBrZXl3b3JkIG1taXhPcGNvZGUJYWRkIGFkZHUgc3ViIHN1YnUKc3luIGtleXdvcmQgbW1peE9wY29kZQkyYWRkdSA0YWRkdSA4YWRkdSAxNmFkZHUKc3luIGtleXdvcmQgbW1peE9wY29kZQljbXAgY21wdSBuZWcgbmVndQpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXNsIHNsdSBzciBzcnUKc3luIGtleXdvcmQgbW1peE9wY29kZQlibiBieiBicCBib2QKc3luIGtleXdvcmQgbW1peE9wY29kZQlibm4gYm56IGJucCBiZXYKc3luIGtleXdvcmQgbW1peE9wY29kZQlwYm4gcGJ6IHBicCBwYm9kCnN5biBrZXl3b3JkIG1taXhPcGNvZGUJcGJubiBwYm56IHBibnAgcGJldgpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWNzbiBjc3ogY3NwIGNzb2QKc3luIGtleXdvcmQgbW1peE9wY29kZQljc25uIGNzbnogY3NucCBjc2V2CnN5biBrZXl3b3JkIG1taXhPcGNvZGUJenNuIHpzeiB6c3AgenNvZApzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXpzbm4genNueiB6c25wIHpzZXYKc3luIGtleXdvcmQgbW1peE9wY29kZQlsZGIgbGRidSBsZHcgbGR3dQpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCWxkdCBsZHR1IGxkbyBsZG91CnN5biBrZXl3b3JkIG1taXhPcGNvZGUJbGRzZiBsZGh0IGNzd2FwIGxkdW5jCnN5biBrZXl3b3JkIG1taXhPcGNvZGUJbGR2dHMgcHJlbGQgcHJlZ28gZ28Kc3luIGtleXdvcmQgbW1peE9wY29kZQlzdGIgc3RidSBzdHcgc3R3dQpzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXN0dCBzdHR1IHN0byBzdG91CnN5biBrZXl3b3JkIG1taXhPcGNvZGUJc3RzZiBzdGh0IHN0Y28gc3R1bmMKc3luIGtleXdvcmQgbW1peE9wY29kZQlzeW5jZCBwcmVzdCBzeW5jaWQgcHVzaGdvCnN5biBrZXl3b3JkIG1taXhPcGNvZGUJb3Igb3JuIG5vciB4b3IKc3luIGtleXdvcmQgbW1peE9wY29kZQlhbmQgYW5kbiBuYW5kIG54b3IKc3luIGtleXdvcmQgbW1peE9wY29kZQliZGlmIHdkaWYgdGRpZiBvZGlmCnN5biBrZXl3b3JkIG1taXhPcGNvZGUJbXV4IHNhZGQgbW9yIG14b3IKCnN5biBrZXl3b3JkIG1taXhPcGNvZGUJc2V0aCBzZXRtaCBzZXRtbCBzZXRsIGluY2ggaW5jbWggaW5jbWwgaW5jbApzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCW9yaCBvcm1oIG9ybWwgb3JsIGFuZGggYW5kbWggYW5kbWwgYW5kbmwKc3luIGtleXdvcmQgbW1peE9wY29kZQlqbXAgcHVzaGogZ2V0YSBwdXQKc3luIGtleXdvcmQgbW1peE9wY29kZQlwb3AgcmVzdW1lIHNhdmUgdW5zYXZlIHN5bmMgc3d5bSBnZXQgdHJpcApzeW4ga2V5d29yZCBtbWl4T3Bjb2RlCXNldCBsZGEKCiIgc3dpdGNoIGJhY2sgdG8gYmVpbmcgY2FzZSBzZW5zaXRpdmUKc3luIGNhc2UgbWF0Y2gKCiIgZ2VuZXJhbC1wdXJwb3NlIGFuZCBzcGVjaWFsLXB1cnBvc2UgcmVnaXN0ZXJzCnN5biBtYXRjaCBtbWl4UmVnaXN0ZXIJCSIkWzAtOV0qIgpzeW4gbWF0Y2ggbW1peFJlZ2lzdGVyCQkicltBLVpdIgpzeW4ga2V5d29yZCBtbWl4UmVnaXN0ZXIJckJCIHJUVCByV1cgclhYIHJZWSByWloKCiIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CiIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21taXhfc3ludGF4X2luaXRzIikKICBpZiB2ZXJzaW9uIDwgNTA4CiAgICBsZXQgZGlkX21taXhfc3ludGF4X2luaXRzID0gMQogICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KICBlbHNlCiAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KICBlbmRpZgoKICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCiAgSGlMaW5rIG1taXhBdAkJVHlwZQogIEhpTGluayBtbWl4UHNldWRvCVR5cGUKICBIaUxpbmsgbW1peFJlZ2lzdGVyCVNwZWNpYWwKICBIaUxpbmsgbW1peFNlZ21lbnRzCVR5cGUKCiAgSGlMaW5rIG1taXhMYWJlbAlTcGVjaWFsCiAgSGlMaW5rIG1taXhDb21tZW50CUNvbW1lbnQKICBIaUxpbmsgbW1peE9wY29kZQlLZXl3b3JkCgogIEhpTGluayBoZXhOdW1iZXIJTnVtYmVyCiAgSGlMaW5rIGRlY051bWJlcglOdW1iZXIKICBIaUxpbmsgb2N0TnVtYmVyCU51bWJlcgoKICBIaUxpbmsgbW1peFN0cmluZwlTdHJpbmcKICBIaUxpbmsgbW1peENoYXIJU3RyaW5nCgogIEhpTGluayBtbWl4VHlwZQlUeXBlCiAgSGlMaW5rIG1taXhJZGVudGlmaWVyCU5vcm1hbAogIEhpTGluayBtbWl4U3BlY2lhbENvbW1lbnQgQ29tbWVudAoKICAiIE15IGRlZmF1bHQgY29sb3Igb3ZlcnJpZGVzOgogICIgaGkgbW1peFNwZWNpYWxDb21tZW50IGN0ZXJtZmc9cmVkCiAgImhpIG1taXhMYWJlbCBjdGVybWZnPWxpZ2h0Y3lhbgogICIgaGkgbW1peFR5cGUgY3Rlcm1iZz1ibGFjayBjdGVybWZnPWJyb3duCgogIGRlbGNvbW1hbmQgSGlMaW5rCmVuZGlmCgpsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtbWl4IgoKIiB2aW06IHRzPTgK