ZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvcnVieWNvbXBsZXRlLnZpbSBiL3J1bnRpbWUvYXV0b2xvYWQvcnVieWNvbXBsZXRlLnZpbQppbmRleCBlMTA2NGM4Li40NDBkZmQ0IDEwMDY0NAotLS0gYS9ydW50aW1lL2F1dG9sb2FkL3J1Ynljb21wbGV0ZS52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC9ydWJ5Y29tcGxldGUudmltCkBAIC05Myw3ICs5Myw3IEBACiAKICAgICBsZXQgc3RvcGxpbmUgPSAxCiAKLSAgICBsZXQgY3JleCA9ICdeXHMqXDwnIC4gYTp0eXBlIC4gJ1w+XHMqXDwnIC4gYTpuYW1lIC4gJ1w+XHMqXCg8XHMqLipccypcKVw/JworICAgIGxldCBjcmV4ID0gJ15ccypcPCcgLiBhOnR5cGUgLiAnXD5ccypcPCcgLiBlc2NhcGUoYTpuYW1lLCAnKicpIC4gJ1w+XHMqXCg8XHMqLipccypcKVw/JwogICAgIGxldCBbbG51bSxsY29sXSA9IHNlYXJjaHBvcyggY3JleCwgJ3cnICkKICAgICAibGV0IFtsbnVtLGxjb2xdID0gc2VhcmNocGFpcnBvcyggY3JleCAuICdcenMnLCAnJywgJ1woZW5kXHx9XCknLCAndycgKQogCkBAIC0xNDksNyArMTQ5LDcgQEAKICAgICBsZXQgY3RvcnMgPSBjdG9ycy4nXCknCiAKICAgICBsZXQgZnN0ciA9ICc9XHMqXChbXiBcdF1cKy4nIC4gY3RvcnMgLidcPlx8W1xbeyInJy9dXHwlW3h3UXFyXVsoXFt7QF1cfFtBLVphLXowLTlAOlwtKClcLl1cKy4uLlw/XHxsYW1iZGFcfCZcKScKLSAgICBsZXQgc3N0ciA9ICcnLmE6di4nXD5ccypbK1wtKi9dKicuZnN0cgorICAgIGxldCBzc3RyID0gJycuZXNjYXBlKGE6diwgJyonKS4nXD5ccypbK1wtKi9dKicuZnN0cgogICAgIGxldCBbbG51bSxsY29sXSA9IHNlYXJjaHBvcyhzc3RyLCduYicsc3RvcGxpbmUpCiAgICAgaWYgbG51bSAhPSAwICYmIGxjb2wgIT0gMAogICAgICAgICBsZXQgc3RyID0gbWF0Y2hzdHIoZ2V0bGluZShsbnVtKSxmc3RyLGxjb2wpCkBAIC0yNjYsNiArMjY2LDI4IEBACiAgICAgZW5kCiAgIGVuZAogCisgIGRlZiBsb2FkX2dlbXMKKyAgICBmcGF0aCA9IFZJTTo6ZXZhbHVhdGUoImdldChnOiwgJ3J1Ynljb21wbGV0ZV9nZW1maWxlX3BhdGgnLCAnR2VtZmlsZScpIikKKyAgICByZXR1cm4gdW5sZXNzIEZpbGUuZmlsZT8oZnBhdGgpICYmIEZpbGUucmVhZGFibGU/KGZwYXRoKQorICAgIHdhbnRfYnVuZGxlciA9IFZJTTo6ZXZhbHVhdGUoImdldChnOiwgJ3J1Ynljb21wbGV0ZV91c2VfYnVuZGxlcicpIikKKyAgICBwYXJzZV9maWxlID0gIXdhbnRfYnVuZGxlcgorICAgIGJlZ2luCisgICAgICByZXF1aXJlICdidW5kbGVyJworICAgICAgQnVuZGxlci5zZXR1cAorICAgICAgQnVuZGxlci5yZXF1aXJlCisgICAgcmVzY3VlIEV4Y2VwdGlvbgorICAgICAgcGFyc2VfZmlsZSA9IHRydWUKKyAgICBlbmQKKyAgICBpZiBwYXJzZV9maWxlCisgICAgICBGaWxlLm5ldyhmcGF0aCkuZWFjaF9saW5lIGRvIHxsaW5lfAorICAgICAgICBiZWdpbgorICAgICAgICAgIHJlcXVpcmUgJDEgaWYgL1xzKmdlbVxzKlsnIl0oW14nIl0rKS8ubWF0Y2gobGluZSkKKyAgICAgICAgcmVzY3VlIEV4Y2VwdGlvbgorICAgICAgICBlbmQKKyAgICAgIGVuZAorICAgIGVuZAorICBlbmQKKwogICBkZWYgbG9hZF9idWZmZXJfY2xhc3MobmFtZSkKICAgICBkcHJpbnQgImxvYWRfYnVmZmVyX2NsYXNzKCVzKSBTVEFSVCIgJSBuYW1lCiAgICAgY2xhc3NkZWYgPSBnZXRfYnVmZmVyX2VudGl0eShuYW1lLCAnczpHZXRCdWZmZXJSdWJ5Q2xhc3MoIiVzIiknKQpAQCAtNTg4LDYgKzYxMCwxMCBAQAogICAgICAgbG9hZF9yYWlscwogICAgIGVuZAogCisgICAgd2FudF9nZW1zID0gVklNOjpldmFsdWF0ZSgiZ2V0KGc6LCAncnVieWNvbXBsZXRlX2xvYWRfZ2VtZmlsZScpIikKKyAgICBsb2FkX2dlbXMgdW5sZXNzIHdhbnRfZ2Vtcy50b19pLnplcm8/CisgICAgCisKICAgICBpbnB1dCA9IFZJTTo6QnVmZmVyLmN1cnJlbnQubGluZQogICAgIGNwb3MgPSBWSU06OldpbmRvdy5jdXJyZW50LmN1cnNvclsxXSAtIDEKICAgICBpbnB1dCA9IGlucHV0WzAuLmNwb3NdCkBAIC02NzgsNyArNzA0LDkgQEAKICAgICAgICAgY3YgPSBldmFsKCJzZWxmLmNsYXNzLmNvbnN0YW50cyIpCiAgICAgICAgIHZhcnR5cGUgPSBnZXRfdmFyX3R5cGUoIHJlY2VpdmVyICkKICAgICAgICAgZHByaW50ICJ2YXJ0eXBlOiAlcyIgJSB2YXJ0eXBlCi0gICAgICAgIGlmIHZhcnR5cGUgIT0gJycKKworICAgICAgICBpbnZhbGlkX3ZhcnR5cGUgPSBbJycsICJnZXRzIl0KKyAgICAgICAgaWYgIWludmFsaWRfdmFydHlwZS5pbmNsdWRlPyh2YXJ0eXBlKQogICAgICAgICAgIGxvYWRfYnVmZmVyX2NsYXNzKCB2YXJ0eXBlICkKIAogICAgICAgICAgIGJlZ2luCkBAIC03MDYsNyArNzM0LDcgQEAKICAgICAgICAgICAgIG1ldGhvZHMuY29uY2F0IG0uaW5zdGFuY2VfbWV0aG9kcyhmYWxzZSkKICAgICAgICAgICB9CiAgICAgICAgIGVuZAotICAgICAgICB2YXJpYWJsZXMgKz0gYWRkX3JhaWxzX2NvbHVtbnMoICIje3ZhcnR5cGV9IiApIGlmIHZhcnR5cGUgJiYgdmFydHlwZS5sZW5ndGggPiAwCisgICAgICAgIHZhcmlhYmxlcyArPSBhZGRfcmFpbHNfY29sdW1ucyggIiN7dmFydHlwZX0iICkgaWYgdmFydHlwZSAmJiAhaW52YWxpZF92YXJ0eXBlLmluY2x1ZGU/KHZhcnR5cGUpCiAKICAgICAgIHdoZW4gL15cKD9ccypbQS1aYS16MC05Ol5ALiVcLysqXChcKV0rXC5cLlwuP1tBLVphLXowLTk6XkAuJVwvKypcKFwpXStccypcKT9cLihbXi5dKikvCiAgICAgICAgIG1lc3NhZ2UgPSAkMQpkaWZmIC0tZ2l0IGEvcnVudGltZS9jb21waWxlci9jdWN1bWJlci52aW0gYi9ydW50aW1lL2NvbXBpbGVyL2N1Y3VtYmVyLnZpbQppbmRleCBjMDIwYmU2Li4xN2NlMzYyIDEwMDY0NAotLS0gYS9ydW50aW1lL2NvbXBpbGVyL2N1Y3VtYmVyLnZpbQorKysgYi9ydW50aW1lL2NvbXBpbGVyL2N1Y3VtYmVyLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIGNvbXBpbGVyIGZpbGUKICIgQ29tcGlsZXI6CUN1Y3VtYmVyCiAiIE1haW50YWluZXI6CVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUub3JnPgotIiBMYXN0IENoYW5nZToJMjAxMCBBdWcgMDkKKyIgTGFzdCBDaGFuZ2U6CTIwMTYgQXVnIDI5CiAKIGlmIGV4aXN0cygiY3VycmVudF9jb21waWxlciIpCiAgIGZpbmlzaApAQCAtMTksNyArMTksNyBAQAogCiBDb21waWxlclNldCBlcnJvcmZvcm1hdD0KICAgICAgIFwlVyVtXCAoQ3VjdW1iZXI6OlVuZGVmaW5lZCksCi0gICAgICBcJUUlbVwgKCUuJSMpLAorICAgICAgXCVFJW1cICglXFxTJSMpLAogICAgICAgXCVaJWY6JWwsCiAgICAgICBcJVolZjolbDolLiUjCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvY29tcGlsZXIvaGFtbC52aW0gYi9ydW50aW1lL2NvbXBpbGVyL2hhbWwudmltCmluZGV4IGIwNmE2NzIuLjk0NjRjM2QgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvY29tcGlsZXIvaGFtbC52aW0KKysrIGIvcnVudGltZS9jb21waWxlci9oYW1sLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIGNvbXBpbGVyIGZpbGUKICIgQ29tcGlsZXI6CUhhbWwKICIgTWFpbnRhaW5lcjoJVGltIFBvcGUgPHZpbU5PU1BBTUB0cG9wZS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDEzIE1heSAzMAorIiBMYXN0IENoYW5nZToJMjAxNiBBdWcgMjkKIAogaWYgZXhpc3RzKCJjdXJyZW50X2NvbXBpbGVyIikKICAgZmluaXNoCkBAIC0xNSw3ICsxNSw3IEBACiBsZXQgczpjcG9fc2F2ZSA9ICZjcG8KIHNldCBjcG8tPUMKIAotQ29tcGlsZXJTZXQgbWFrZXByZz1oYW1sXCAtYworQ29tcGlsZXJTZXQgbWFrZXByZz1oYW1sCiAKIENvbXBpbGVyU2V0IGVycm9yZm9ybWF0PQogICAgICAgXEhhbWxcICV0cnJvclwgb25cIGxpbmVcICVsOlwgJW0sCmRpZmYgLS1naXQgYS9ydW50aW1lL2NvbXBpbGVyL3Jha2UudmltIGIvcnVudGltZS9jb21waWxlci9yYWtlLnZpbQppbmRleCAzYmQ5ZGEwLi44NDkwZjJhIDEwMDY0NAotLS0gYS9ydW50aW1lL2NvbXBpbGVyL3Jha2UudmltCisrKyBiL3J1bnRpbWUvY29tcGlsZXIvcmFrZS52aW0KQEAgLTI3LDcgKzI3LDExIEBACiAgICAgICBcJVxccyUjWyVmOiVsOlwgJSMlbSwKICAgICAgIFwlXFxzJSMlZjolbDpcICUjJW0sCiAgICAgICBcJVxccyUjJWY6JWw6LAotICAgICAgXCVtXCBbJWY6JWxdOgorICAgICAgXCVtXCBbJWY6JWxdOiwKKyAgICAgIFwlK0VyYWtlXCBhYm9ydGVkISwKKyAgICAgIFwlK0VEb24ndFwga25vd1wgaG93XCB0b1wgYnVpbGRcIHRhc2tcICUuJSMsCisgICAgICBcJStFaW52YWxpZFwgb3B0aW9uOiUuJSMsCisgICAgICBcJStJcmFrZVwgJVxcUyVcXCslXFxzJVxcKyNcICUuJSMKIAogbGV0ICZjcG8gPSBzOmNwb19zYXZlCiB1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL2NvbXBpbGVyL3JzcGVjLnZpbSBiL3J1bnRpbWUvY29tcGlsZXIvcnNwZWMudmltCmluZGV4IDdjMzQwYmEuLmM3N2JkNzAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvY29tcGlsZXIvcnNwZWMudmltCisrKyBiL3J1bnRpbWUvY29tcGlsZXIvcnNwZWMudmltCkBAIC0yMiw5ICsyMiwxMCBAQAogICAgIFwlZjolbDpcICV0YXJuaW5nOlwgJW0sCiAgICAgXCVFJS4lIzppblwgYGxvYWQnOlwgJWY6JWw6JW0sCiAgICAgXCVFJWY6JWw6aW5cIGAlKlteJ10nOlwgJW0sCi0gICAgXCUtWlwgXCBcIFwgXCBcI1wgJWY6JWw6JS4lIywKKyAgICBcJS1aXCBcIFwgXCBcICVcXCtcI1wgJWY6JWw6JS4lIywKICAgICBcJUVcIFwgJVxcZCVcXCspJS4lIywKICAgICBcJUNcIFwgXCBcIFwgJW0sCisgICAgXCVDJVxccyUjLAogICAgIFwlLUclLiUjCiAKIGxldCAmY3BvID0gczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9jb21waWxlci9ydWJ5dW5pdC52aW0gYi9ydW50aW1lL2NvbXBpbGVyL3J1Ynl1bml0LnZpbQppbmRleCA5M2EwYzhlLi5lZDA2MzliIDEwMDY0NAotLS0gYS9ydW50aW1lL2NvbXBpbGVyL3J1Ynl1bml0LnZpbQorKysgYi9ydW50aW1lL2NvbXBpbGVyL3J1Ynl1bml0LnZpbQpAQCAtMTcsNiArMTcsOCBAQAogc2V0IGNwby09QwogCiBDb21waWxlclNldCBtYWtlcHJnPXRlc3RyYgorIiBDb21waWxlclNldCBtYWtlcHJnPXJ1YnlcIC1JdGVzdAorIiBDb21waWxlclNldCBtYWtlcHJnPW0KIAogQ29tcGlsZXJTZXQgZXJyb3Jmb3JtYXQ9XCVXXCAlXFwrJVxcZCVcXCspXCBGYWlsdXJlOiwKIAkJCVwlQyVtXCBbJWY6JWxdOiwKZGlmZiAtLWdpdCBhL3J1bnRpbWUvY29tcGlsZXIvc2Fzcy52aW0gYi9ydW50aW1lL2NvbXBpbGVyL3Nhc3MudmltCmluZGV4IDM3NmE1MmIuLjljNTQwYWMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvY29tcGlsZXIvc2Fzcy52aW0KKysrIGIvcnVudGltZS9jb21waWxlci9zYXNzLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIGNvbXBpbGVyIGZpbGUKICIgQ29tcGlsZXI6CVNhc3MKICIgTWFpbnRhaW5lcjoJVGltIFBvcGUgPHZpbU5PU1BBTUB0cG9wZS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDEzIE1heSAzMAorIiBMYXN0IENoYW5nZToJMjAxNiBBdWcgMjkKIAogaWYgZXhpc3RzKCJjdXJyZW50X2NvbXBpbGVyIikKICAgZmluaXNoCkBAIC0xNSw3ICsxNSw3IEBACiBsZXQgczpjcG9fc2F2ZSA9ICZjcG8KIHNldCBjcG8tPUMKIAotQ29tcGlsZXJTZXQgbWFrZXByZz1zYXNzXCAtYworQ29tcGlsZXJTZXQgbWFrZXByZz1zYXNzCiAKIENvbXBpbGVyU2V0IGVycm9yZm9ybWF0PQogICAgICAgXCVmOiVsOiVtXCAoU2Fzczo6U3ludGF4JXRycm9yKSwKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZGVmYXVsdHMudmltIGIvcnVudGltZS9kZWZhdWx0cy52aW0KaW5kZXggMGZmODM0YS4uMjQ2MGZkOCAxMDA2NDQKLS0tIGEvcnVudGltZS9kZWZhdWx0cy52aW0KKysrIGIvcnVudGltZS9kZWZhdWx0cy52aW0KQEAgLTMxLDcgKzMxLDggQEAKICIgU2hvdyBAQEAgaW4gdGhlIGxhc3QgbGluZSBpZiBpdCBpcyB0cnVuY2F0ZWQuCiBzZXQgZGlzcGxheT10cnVuY2F0ZQogCi0iIFNob3cgYSBmZXcgbGluZXMgb2YgY29udGV4dCBhcm91bmQgdGhlIGN1cnNvci4KKyIgU2hvdyBhIGZldyBsaW5lcyBvZiBjb250ZXh0IGFyb3VuZCB0aGUgY3Vyc29yLiAgTm90ZSB0aGF0IHRoaXMgbWFrZXMgdGhlCisiIHRleHQgc2Nyb2xsIGlmIHlvdSBtb3VzZS1jbGljayBuZWFyIHRoZSBzdGFydCBvciBlbmQgb2YgdGhlIHdpbmRvdy4KIHNldCBzY3JvbGxvZmY9NQogCiAiIERvIGluY3JlbWVudGFsIHNlYXJjaGluZyB3aGVuIGl0J3MgcG9zc2libGUgdG8gdGltZW91dC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2V2YWwudHh0IGIvcnVudGltZS9kb2MvZXZhbC50eHQKaW5kZXggYWEzMjgzOS4uZDQ0OWE2MCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZXZhbC50eHQKKysrIGIvcnVudGltZS9kb2MvZXZhbC50eHQKQEAgLTEsNCArMSw0IEBACi0qZXZhbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxNiBBdWcgMjkKKypldmFsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDE2IEF1ZyAzMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC02NDMsMTMgKzY0MywxNyBAQAogCiBFeHByZXNzaW9uIHN5bnRheCBzdW1tYXJ5LCBmcm9tIGxlYXN0IHRvIG1vc3Qgc2lnbmlmaWNhbnQ6CiAKLXxleHByMXwgICBleHByMiA/IGV4cHIxIDogZXhwcjEJaWYtdGhlbi1lbHNlCit8ZXhwcjF8ICAgZXhwcjIKKwlleHByMiA/IGV4cHIxIDogZXhwcjEJaWYtdGhlbi1lbHNlCiAKLXxleHByMnwJZXhwcjMgfHwgZXhwcjMgLi4JbG9naWNhbCBPUgorfGV4cHIyfAlleHByMworCWV4cHIzIHx8IGV4cHIzIC4uCWxvZ2ljYWwgT1IKIAotfGV4cHIzfAlleHByNCAmJiBleHByNCAuLglsb2dpY2FsIEFORAorfGV4cHIzfAlleHByNAorCWV4cHI0ICYmIGV4cHI0IC4uCWxvZ2ljYWwgQU5ECiAKLXxleHByNHwJZXhwcjUgPT0gZXhwcjUJCWVxdWFsCit8ZXhwcjR8CWV4cHI1CisJZXhwcjUgPT0gZXhwcjUJCWVxdWFsCiAJZXhwcjUgIT0gZXhwcjUJCW5vdCBlcXVhbAogCWV4cHI1ID4JIGV4cHI1CQlncmVhdGVyIHRoYW4KIAlleHByNSA+PSBleHByNQkJZ3JlYXRlciB0aGFuIG9yIGVxdWFsCkBAIC02NjYsMjQgKzY3MCwyOCBAQAogCWV4cHI1IGlzIGV4cHI1CQlzYW1lIHxMaXN0fCBpbnN0YW5jZQogCWV4cHI1IGlzbm90IGV4cHI1CWRpZmZlcmVudCB8TGlzdHwgaW5zdGFuY2UKIAotfGV4cHI1fAlleHByNiArCSBleHByNiAuLgludW1iZXIgYWRkaXRpb24gb3IgbGlzdCBjb25jYXRlbmF0aW9uCit8ZXhwcjV8CWV4cHI2CisJZXhwcjYgKwkgZXhwcjYgLi4JbnVtYmVyIGFkZGl0aW9uIG9yIGxpc3QgY29uY2F0ZW5hdGlvbgogCWV4cHI2IC0JIGV4cHI2IC4uCW51bWJlciBzdWJ0cmFjdGlvbgogCWV4cHI2IC4JIGV4cHI2IC4uCXN0cmluZyBjb25jYXRlbmF0aW9uCiAKLXxleHByNnwJZXhwcjcgKgkgZXhwcjcgLi4JbnVtYmVyIG11bHRpcGxpY2F0aW9uCit8ZXhwcjZ8CWV4cHI3CisJZXhwcjcgKgkgZXhwcjcgLi4JbnVtYmVyIG11bHRpcGxpY2F0aW9uCiAJZXhwcjcgLwkgZXhwcjcgLi4JbnVtYmVyIGRpdmlzaW9uCiAJZXhwcjcgJQkgZXhwcjcgLi4JbnVtYmVyIG1vZHVsbwogCi18ZXhwcjd8CSEgZXhwcjcJCQlsb2dpY2FsIE5PVAorfGV4cHI3fAlleHByOAorCSEgZXhwcjcJCQlsb2dpY2FsIE5PVAogCS0gZXhwcjcJCQl1bmFyeSBtaW51cwogCSsgZXhwcjcJCQl1bmFyeSBwbHVzCiAKLXxleHByOHwJZXhwcjhbZXhwcjFdCQlieXRlIG9mIGEgU3RyaW5nIG9yIGl0ZW0gb2YgYSB8TGlzdHwKK3xleHByOHwJZXhwcjkKKwlleHByOFtleHByMV0JCWJ5dGUgb2YgYSBTdHJpbmcgb3IgaXRlbSBvZiBhIHxMaXN0fAogCWV4cHI4W2V4cHIxIDogZXhwcjFdCXN1YnN0cmluZyBvZiBhIFN0cmluZyBvciBzdWJsaXN0IG9mIGEgfExpc3R8CiAJZXhwcjgubmFtZQkJZW50cnkgaW4gYSB8RGljdGlvbmFyeXwKIAlleHByOChleHByMSwgLi4uKQlmdW5jdGlvbiBjYWxsIHdpdGggfEZ1bmNyZWZ8IHZhcmlhYmxlCiAKLXxleHByOXwgbnVtYmVyCQkJbnVtYmVyIGNvbnN0YW50Cit8ZXhwcjl8ICAgbnVtYmVyCQludW1iZXIgY29uc3RhbnQKIAkic3RyaW5nIgkJc3RyaW5nIGNvbnN0YW50LCBiYWNrc2xhc2ggaXMgc3BlY2lhbAogCSdzdHJpbmcnCQlzdHJpbmcgY29uc3RhbnQsICcgaXMgZG91YmxlZAogCVtleHByMSwgLi4uXQkJfExpc3R8CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vc193aW4zMi50eHQgYi9ydW50aW1lL2RvYy9vc193aW4zMi50eHQKaW5kZXggZjYwY2IwMy4uMGQ3ZDc3YiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3Nfd2luMzIudHh0CisrKyBiL3J1bnRpbWUvZG9jL29zX3dpbjMyLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvc193aW4zMi50eHQqICBGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTYgTWFyIDA1Cisqb3Nfd2luMzIudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDE2IEF1ZyAyOAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBHZW9yZ2UgUmVpbGx5CkBAIC0xNDQsMjkgKzE0NCw4IEBACiA1LiBSdW5uaW5nIHVuZGVyIFdpbmRvd3MgMy4xCQkJCSp3aW4zMi13aW4zLjEqCiAKIAkJCQkJCSp3aW4zMnMqICp3aW5kb3dzLTMuMSoKLVRoZXJlIGlzIGEgc3BlY2lhbCB2ZXJzaW9uIG9mIEd2aW0gdGhhdCBydW5zIHVuZGVyIFdpbmRvd3MgMy4xIGFuZCAzLjExLiAgWW91Ci1uZWVkIHRoZSBndmltLmV4ZSB0aGF0IHdhcyBjb21waWxlZCB3aXRoIFZpc3VhbCBDKysgNC4xLgotCi1UbyBydW4gdGhlIFdpbjMyIHZlcnNpb24gdW5kZXIgV2luZG93cyAzLjEsIHlvdSBuZWVkIHRvIGluc3RhbGwgV2luMzJzLiAgWW91Ci1taWdodCBoYXZlIGl0IGFscmVhZHkgZnJvbSBhbm90aGVyIFdpbjMyIGFwcGxpY2F0aW9uIHdoaWNoIHlvdSBoYXZlIGluc3RhbGxlZC4KLUlmIFZpbSBkb2Vzbid0IHNlZW0gdG8gYmUgcnVubmluZyBwcm9wZXJseSwgZ2V0IHRoZSBsYXRlc3QgdmVyc2lvbjogMS4zMGMuCi1Zb3UgY2FuIGZpbmQgaXQgYXQ6Ci0KLQlodHRwOi8vc3VwcG9ydC5taWNyb3NvZnQuY29tL2Rvd25sb2FkL3N1cHBvcnQvbXNsZmlsZXMvcHcxMTE4LmV4ZQotCi0oTWljcm9zb2Z0IG1vdmVkIGl0IGFnYWluLCB3ZSBkb24ndCBrbm93IHdoZXJlIGl0IGlzIG5vdyA6LSggKS4KLQotVGhlIHJlYXNvbiBmb3IgaGF2aW5nIHR3byB2ZXJzaW9ucyBvZiBndmltLmV4ZSBpcyB0aGF0IHRoZSBXaW4zMnMgdmVyc2lvbiB3YXMKLWNvbXBpbGVkIHdpdGggVkMrKyA0LjEuICBUaGlzIGlzIHRoZSBsYXN0IHZlcnNpb24gb2YgVkMrKyB0aGF0IHN1cHBvcnRzIFdpbjMycwotcHJvZ3JhbXMuICBWQysrIDUuMCBpcyBiZXR0ZXIsIHNvIHRoYXQgb25lIHdhcyB1c2VkIGZvciB0aGUgV2luMzIgdmVyc2lvbi4KLUFwYXJ0IGZyb20gdGhhdCwgdGhlcmUgaXMgbm8gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBwcm9ncmFtcy4gIElmIHlvdSBhcmUgaW4gYQotbWl4ZWQgZW52aXJvbm1lbnQsIHlvdSBjYW4gdXNlIHRoZSBndmltLmV4ZSBmb3IgV2luMzJzIG9uIGJvdGguCi0KLVRoZSBXaW4zMnMgdmVyc2lvbiB3b3JrcyB0aGUgc2FtZSB3YXkgYXMgdGhlIFdpbjMyIHZlcnNpb24gdW5kZXIgOTUvTlQuICBXaGVuCi1ydW5uaW5nIHVuZGVyIFdpbjMycyB0aGUgZm9sbG93aW5nIGRpZmZlcmVuY2VzIGFwcGx5OgotLSBZb3UgY2Fubm90IHVzZSBsb25nIGZpbGUgbmFtZXMsIGJlY2F1c2UgV2luZG93cyAzLjEgZG9lc24ndCBzdXBwb3J0IHRoZW0hCi0tIFdoZW4gZXhlY3V0aW5nIGFuIGV4dGVybmFsIGNvbW1hbmQsIGl0IGRvZXNuJ3QgcmV0dXJuIGFuIGV4aXQgY29kZS4gIEFmdGVyCi0gIGRvaW5nICI6bWFrZSIgeW91IGhhdmUgdG8gZG8gIjpjbiIgeW91cnNlbGYuCitUaGVyZSB3YXMgYSBzcGVjaWFsIHZlcnNpb24gb2YgR3ZpbSB0aGF0IHJ1bnMgdW5kZXIgV2luZG93cyAzLjEgYW5kIDMuMTEuCitTdXBwb3J0IHdhcyByZW1vdmVkIGluIHBhdGNoIDcuNC4xMzYzLgogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDYuIFdpbjMyIG1pbmkgRkFRCQkJCQkqd2luMzItZmFxKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdG9kby50eHQgYi9ydW50aW1lL2RvYy90b2RvLnR4dAppbmRleCBlOGY2MDQ4Li5lYTAyNWQ2IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90b2RvLnR4dAorKysgYi9ydW50aW1lL2RvYy90b2RvLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTYgQXVnIDI3CisqdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDE2IEF1ZyAzMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zNyw2ICszNywyNSBAQAogTWFrZSAiOmZpbHRlciIgd29yayB3aXRoIG1vcmUgY29tbWFuZHMuCiBTZWFyY2ggZm9yOiBtc2dfcHV0Y2hhcignXG4nKQogCitUcnkgYnVpbGRpbmcgd2l0aCAkU0hBRE9XRElSCisKK1Rlc3Rfc2lnbl9jb21wbGV0aW9uKCkgZmFpbHMgb24gTVMtV2luZG93cyAoY29uc29sZSBhbmQgR1VJKSAgQ29tcGxldGlvbgorZG9lc24ndCBoYXZlIGJvdGggdGJfcGFzdGUueHBtIGFuZCB0Yl9wcmludC54cG0gYnV0ICJ0Yl9wIi4gIERpZmZlcmVudCBkZWZhdWx0CitvcHRpb25zPworCitUZXN0X25iX2Jhc2ljKCkgZmFpbHMgb24gTVMtV2luZG93cyBHVUkuIGxpbmUgMTI6IEV4cGVjdGVkIDIgYnV0IGdvdCAxLgorbGluZSAxMzogRXhwZWN0ZWQgMjAgYnV0IGdvdCAxLgorCitGaWd1cmUgb3V0IGJ1aWxkaW5nIHdpdGggUnVieSBvbiBNUy1XaW5kb3dzLgorCis6Y2V4cHIgZG9lc24ndCB0cmlnZ2VyIFF1aWNrRml4Q21kUG9zdC4gKE1hdGhpYXMgU3RlYXJuLCAyMDE2IEF1ZyAyOSwgIzEwMjEpCitOZWVkcyBkb2N1bWVudGF0aW9uLiAoWWVnYXBwYW4pCisKK1BhdGNoIHRvIGNvbnZlcnQgdGVzdF9tYXJrcyB0byBuZXcgc3R5bGUuIChZZWdhcHBhbiwgMjAxNiBBdWcgMjgsIDIgbXNnKQorCitQYXRjaCB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGRlZmluZSBhIHRlc3QgYnV0IHNraXAgaXQsIGJ5IHRocm93aW5nIGFuCitleGNlcHRpb24uIChDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMTYgQXVnIDMwKQorCiArY2hhbm5lbDoKIC0gSW1wbGVtZW50IHxqb2ItdGVybXwgPwogLSBDaGFubmVsIHRlc3QgZmFpbHMgd2l0aCBNb3RpZi4gIFNvbWV0aW1lcyBraWxscyB0aGUgWDExIHNlcnZlci4KQEAgLTE4Niw2ICsyMDUsOSBAQAogUGF0Y2ggZm9yIFB5dGhvbjogIzYyMi4gKFJvbGFuZCBQdW50YWllciwgMjAxNiBGZWIgMikKIFdoYXQgZG9lcyBpdCBjaGFuZ2U/CiAKK1BhdGNoIHRvIG1ha2UgZ2QgYW5kIGdEIHdvcmsgYmV0dGVyIGZvciBub24tSyZSIGNvZGUgYW5kIHdpdGggY29tbWVudHMuCisoQW50b24gTGluZHF2aXN0LCAyMDE2IEF1ZyAyOSkKKwogV2hlbiBnZW5lcmF0aW5nIHRoZSBVbmljb2RlIHRhYmxlcyB3aXRoIHJ1bnRpbWUvdG9vbHMvdW5pY29kZS52aW0gdGhlCiBlbW9qaV93aWR0aCB0YWJsZSBoYXMgb25seSBvbmUgZW50cnkuCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZlcnNpb244LnR4dCBiL3J1bnRpbWUvZG9jL3ZlcnNpb244LnR4dAppbmRleCAyOGM2NzVmLi42MTI5OWZiIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92ZXJzaW9uOC50eHQKKysrIGIvcnVudGltZS9kb2MvdmVyc2lvbjgudHh0CkBAIC0yMTEsNyArMjExLDcgQEAKIHw6Y2Zkb3wJCQlleGVjdXRlIGNvbW1hbmQgaW4gZWFjaCBmaWxlIGluIGVycm9yIGxpc3QKIHw6Y2hpc3Rvcnl8CQlkaXNwbGF5IHF1aWNrZml4IGxpc3Qgc3RhY2sKIHw6Y2xlYXJqdW1wc3wJCWNsZWFyIHRoZSBqdW1wIGxpc3QKLTpmaWx0ZXIJCQlvbmx5IG91dHB1dCBsaW5lcyB0aGF0IChkbyBub3QpIG1hdGNoIGEgcGF0dGVybgorfDpmaWx0ZXJ8CQlvbmx5IG91dHB1dCBsaW5lcyB0aGF0IChkbyBub3QpIG1hdGNoIGEgcGF0dGVybgogfDpoZWxwY2xvc2V8CQljbG9zZSBvbmUgaGVscCB3aW5kb3cKIHw6bGJvdHRvbXwJCXNjcm9sbCB0byB0aGUgYm90dG9tIG9mIHRoZSBsb2NhdGlvbiB3aW5kb3cKIHw6bGRvfAkJCWV4ZWN1dGUgY29tbWFuZCBpbiB2YWxpZCBsb2NhdGlvbiBsaXN0IGVudHJpZXMKQEAgLTEyNzQyLDggKzEyNzQyLDggQEAKICAgICAgICAgICAgIHNyYy90ZXN0ZGlyL3Rlc3RfYXV0b2NtZC52aW0sIHJ1bnRpbWUvZG9jL2F1dG9jbWQudHh0CiAKIFBhdGNoIDcuNC4yMDc4Ci1Qcm9ibGVtOiAgICBSdW5uaW5nIGNoZWNrcyBpbiBwbyBkaXJldG9yeSBmYWlscy4KLVNvbHV0aW9uOiAgIEFkZCBjb2xvcnMgdXNlZCBpbiBzeW50YXguYyB0byB0aGUgYnVpbHRpaW4gY29sb3IgdGFibGUuCitQcm9ibGVtOiAgICBSdW5uaW5nIGNoZWNrcyBpbiBwbyBkaXJlY3RvcnkgZmFpbHMuCitTb2x1dGlvbjogICBBZGQgY29sb3JzIHVzZWQgaW4gc3ludGF4LmMgdG8gdGhlIGJ1aWx0aW4gY29sb3IgdGFibGUuCiBGaWxlczogICAgICBzcmMvdGVybS5jCiAKIFBhdGNoIDcuNC4yMDc5CmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2N1Y3VtYmVyLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vY3VjdW1iZXIudmltCmluZGV4IDJlYzFhNTkuLmY0ODQ4ZDEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZnRwbHVnaW4vY3VjdW1iZXIudmltCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vY3VjdW1iZXIudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gZmlsZXR5cGUgcGx1Z2luCiAiIExhbmd1YWdlOglDdWN1bWJlcgogIiBNYWludGFpbmVyOglUaW0gUG9wZSA8dmltTk9TUEFNQHRwb3BlLm9yZz4KLSIgTGFzdCBDaGFuZ2U6CTIwMTMgSnVuIDAxCisiIExhc3QgQ2hhbmdlOgkyMDE2IEF1ZyAyOQogCiAiIE9ubHkgZG8gdGhpcyB3aGVuIG5vdCBkb25lIHlldCBmb3IgdGhpcyBidWZmZXIKIGlmIChleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikpCkBAIC0xOSwyNyArMTksMjMgQEAKIGxldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBmbzwgY29tPCBjbXM8IG9mdTwiCiAKIGxldCBiOmN1Y3VtYmVyX3Jvb3QgPSBleHBhbmQoJyU6cDpoOnM/LipbXC9dXCUoZmVhdHVyZXNcfHN0b3JpZXNcKVx6c1tcL10uKj8/JykKK2lmICFleGlzdHMoImI6Y3VjdW1iZXJfc3RlcHNfZ2xvYiIpCisgIGxldCBiOmN1Y3VtYmVyX3N0ZXBzX2dsb2IgPSBiOmN1Y3VtYmVyX3Jvb3QuJy8qKi8qLnJiJworZW5kaWYKIAogaWYgIWV4aXN0cygiZzpub19wbHVnaW5fbWFwcyIpICYmICFleGlzdHMoImc6bm9fY3VjdW1iZXJfbWFwcyIpCi0gIG5ub3JlbWFwIDxzaWxlbnQ+PGJ1ZmZlcj4gPEMtXT4gICAgICAgOjxDLVU+ZXhlIDxTSUQ+anVtcCgnZWRpdCcsdjpjb3VudCk8Q1I+Ci0gIG5ub3JlbWFwIDxzaWxlbnQ+PGJ1ZmZlcj4gWzxDLUQ+ICAgICAgOjxDLVU+ZXhlIDxTSUQ+anVtcCgnZWRpdCcsdjpjb3VudCk8Q1I+Ci0gIG5ub3JlbWFwIDxzaWxlbnQ+PGJ1ZmZlcj4gXTxDLUQ+ICAgICAgOjxDLVU+ZXhlIDxTSUQ+anVtcCgnZWRpdCcsdjpjb3VudCk8Q1I+Ci0gIG5ub3JlbWFwIDxzaWxlbnQ+PGJ1ZmZlcj4gPEMtVz5dICAgICAgOjxDLVU+ZXhlIDxTSUQ+anVtcCgnc3BsaXQnLHY6Y291bnQpPENSPgotICBubm9yZW1hcCA8c2lsZW50PjxidWZmZXI+IDxDLVc+PEMtXT4gIDo8Qy1VPmV4ZSA8U0lEPmp1bXAoJ3NwbGl0Jyx2OmNvdW50KTxDUj4KLSAgbm5vcmVtYXAgPHNpbGVudD48YnVmZmVyPiA8Qy1XPmQgICAgICA6PEMtVT5leGUgPFNJRD5qdW1wKCdzcGxpdCcsdjpjb3VudCk8Q1I+Ci0gIG5ub3JlbWFwIDxzaWxlbnQ+PGJ1ZmZlcj4gPEMtVz48Qy1EPiAgOjxDLVU+ZXhlIDxTSUQ+anVtcCgnc3BsaXQnLHY6Y291bnQpPENSPgotICBubm9yZW1hcCA8c2lsZW50PjxidWZmZXI+IDxDLVc+fSAgICAgIDo8Qy1VPmV4ZSA8U0lEPmp1bXAoJ3BlZGl0Jyx2OmNvdW50KTxDUj4KLSAgbm5vcmVtYXAgPHNpbGVudD48YnVmZmVyPiBbZCAgICAgICAgICA6PEMtVT5leGUgPFNJRD5qdW1wKCdwZWRpdCcsdjpjb3VudCk8Q1I+Ci0gIG5ub3JlbWFwIDxzaWxlbnQ+PGJ1ZmZlcj4gXWQgICAgICAgICAgOjxDLVU+ZXhlIDxTSUQ+anVtcCgncGVkaXQnLHY6Y291bnQpPENSPgorICBjbm9yZW1hcCA8U0lEPmZvbGRvcGVuIDxCYXI+aWYgJmZvbGRvcGVuID1+IyAndGFnJzxCYXI+ZXhlICdub3JtISB6dic8QmFyPmVuZGlmCisgIG5ub3JlbWFwIDxzaWxlbnQ+IDxzY3JpcHQ+IDxidWZmZXI+IFs8Qy1EPiAgICAgIDo8Qy1VPmV4ZSA8U0lEPmp1bXAoJ2VkaXQnLHY6Y291bnQpPFNJRD5mb2xkb3BlbjxDUj4KKyAgbm5vcmVtYXAgPHNpbGVudD4gPHNjcmlwdD4gPGJ1ZmZlcj4gXTxDLUQ+ICAgICAgOjxDLVU+ZXhlIDxTSUQ+anVtcCgnZWRpdCcsdjpjb3VudCk8U0lEPmZvbGRvcGVuPENSPgorICBubm9yZW1hcCA8c2lsZW50PiA8c2NyaXB0PiA8YnVmZmVyPiA8Qy1XPmQgICAgICA6PEMtVT5leGUgPFNJRD5qdW1wKCdzcGxpdCcsdjpjb3VudCk8U0lEPmZvbGRvcGVuPENSPgorICBubm9yZW1hcCA8c2lsZW50PiA8c2NyaXB0PiA8YnVmZmVyPiA8Qy1XPjxDLUQ+ICA6PEMtVT5leGUgPFNJRD5qdW1wKCdzcGxpdCcsdjpjb3VudCk8U0lEPmZvbGRvcGVuPENSPgorICBubm9yZW1hcCA8c2lsZW50PiA8c2NyaXB0PiA8YnVmZmVyPiBbZCAgICAgICAgICA6PEMtVT5leGUgPFNJRD5qdW1wKCdwZWRpdCcsdjpjb3VudCk8Q1I+CisgIG5ub3JlbWFwIDxzaWxlbnQ+IDxzY3JpcHQ+IDxidWZmZXI+IF1kICAgICAgICAgIDo8Qy1VPmV4ZSA8U0lEPmp1bXAoJ3BlZGl0Jyx2OmNvdW50KTxDUj4KICAgbGV0IGI6dW5kb19mdHBsdWdpbiAuPQotICAgICAgICBcICJ8c2lsISBudW5tYXAgPGJ1ZmZlcj4gPEMtXT4iIC4KICAgICAgICAgXCAifHNpbCEgbnVubWFwIDxidWZmZXI+IFs8Qy1EPiIgLgogICAgICAgICBcICJ8c2lsISBudW5tYXAgPGJ1ZmZlcj4gXTxDLUQ+IiAuCi0gICAgICAgIFwgInxzaWwhIG51bm1hcCA8YnVmZmVyPiA8Qy1XPl0iIC4KLSAgICAgICAgXCAifHNpbCEgbnVubWFwIDxidWZmZXI+IDxDLVc+PEMtXT4iIC4KICAgICAgICAgXCAifHNpbCEgbnVubWFwIDxidWZmZXI+IDxDLVc+ZCIgLgogICAgICAgICBcICJ8c2lsISBudW5tYXAgPGJ1ZmZlcj4gPEMtVz48Qy1EPiIgLgotICAgICAgICBcICJ8c2lsISBudW5tYXAgPGJ1ZmZlcj4gPEMtVz59IiAuCiAgICAgICAgIFwgInxzaWwhIG51bm1hcCA8YnVmZmVyPiBbZCIgLgogICAgICAgICBcICJ8c2lsISBudW5tYXAgPGJ1ZmZlcj4gXWQiCiBlbmRpZgpAQCAtNTksNyArNTUsNyBAQAogZnVuY3Rpb24hIHM6YWxsc3RlcHMoKQogICBsZXQgc3RlcF9wYXR0ZXJuID0gJ1xDXlxzKlxLXGsqXD5ccyooXD1ccypcenNcUy5cey1cfVx6ZVxzKilcPVxzKlwlKGRvXHx7XClccypcJSh8W158XSp8XHMqXClcPVwlKCRcfCNcKScKICAgbGV0IHN0ZXBzID0gW10KLSAgZm9yIGZpbGUgaW4gc3BsaXQoZ2xvYihiOmN1Y3VtYmVyX3Jvb3QuJy8qKi8qLnJiJyksIlxuIikKKyAgZm9yIGZpbGUgaW4gc3BsaXQoZ2xvYihiOmN1Y3VtYmVyX3N0ZXBzX2dsb2IpLCJcbiIpCiAgICAgbGV0IGxpbmVzID0gcmVhZGZpbGUoZmlsZSkKICAgICBsZXQgbnVtID0gMAogICAgIGZvciBsaW5lIGluIGxpbmVzCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2VydWJ5LnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vZXJ1YnkudmltCmluZGV4IDliYjhlODYuLjMyZjNmYjggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZnRwbHVnaW4vZXJ1YnkudmltCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vZXJ1YnkudmltCkBAIC0yNyw3ICsyNyw3IEBACiAgIGxldCBzOmxpbmVzID0gZ2V0bGluZSgxKS4iXG4iLmdldGxpbmUoMikuIlxuIi5nZXRsaW5lKDMpLiJcbiIuZ2V0bGluZSg0KS4iXG4iLmdldGxpbmUoNSkuIlxuIi5nZXRsaW5lKCIkIikKICAgbGV0IGI6ZXJ1Ynlfc3VidHlwZSA9IG1hdGNoc3RyKHM6bGluZXMsJ2VydWJ5X3N1YnR5cGU9XHpzXHdcKycpCiAgIGlmIGI6ZXJ1Ynlfc3VidHlwZSA9PSAnJwotICAgIGxldCBiOmVydWJ5X3N1YnR5cGUgPSBtYXRjaHN0cihzdWJzdGl0dXRlKGV4cGFuZCgiJTp0IiksJ1xjXCUoXC5lcmJcfFwuZXJ1YnlcfFwuZXJ1YmlzXClcKyQnLCcnLCcnKSwnXC5cenNcd1wrJCcpCisgICAgbGV0IGI6ZXJ1Ynlfc3VidHlwZSA9IG1hdGNoc3RyKHN1YnN0aXR1dGUoZXhwYW5kKCIlOnQiKSwnXGNcJShcLmVyYlx8XC5lcnVieVx8XC5lcnViaXNcKVwrJCcsJycsJycpLCdcLlx6c1x3XCtcJShcemUrXHdcK1wpXD0kJykKICAgZW5kaWYKICAgaWYgYjplcnVieV9zdWJ0eXBlID09ICdyaHRtbCcKICAgICBsZXQgYjplcnVieV9zdWJ0eXBlID0gJ2h0bWwnCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2dpdC52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2dpdC52aW0KaW5kZXggNWZlNWIyYi4uYjNkNWNmZiAxMDA2NDQKLS0tIGEvcnVudGltZS9mdHBsdWdpbi9naXQudmltCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vZ2l0LnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIGZpbGV0eXBlIHBsdWdpbgogIiBMYW5ndWFnZToJZ2VuZXJpYyBnaXQgb3V0cHV0CiAiIE1haW50YWluZXI6CVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUub3JnPgotIiBMYXN0IENoYW5nZToJMjAxMyBNYXkgMzAKKyIgTGFzdCBDaGFuZ2U6CTIwMTYgQXVnIDI5CiAKICIgT25seSBkbyB0aGlzIHdoZW4gbm90IGRvbmUgeWV0IGZvciB0aGlzIGJ1ZmZlcgogaWYgKGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKSkKQEAgLTEyLDYgKzEyLDggQEAKIGlmICFleGlzdHMoJ2I6Z2l0X2RpcicpCiAgIGlmIGV4cGFuZCgnJTpwJykgPX4jICdbXC9dXC5naXRbXC9dbW9kdWxlc1tcL10nCiAgICAgIiBTdGF5IG91dCBvZiB0aGUgd2F5CisgIGVsc2VpZiBleHBhbmQoJyU6cCcpID1+IyAnW1wvXVwuZ2l0W1wvXXdvcmt0cmVlcycKKyAgICBsZXQgYjpnaXRfZGlyID0gbWF0Y2hzdHIoZXhwYW5kKCclOnAnKSwnLipcLmdpdFtcL113b3JrdHJlZXNbXC9dW15cL11cK1w+JykKICAgZWxzZWlmIGV4cGFuZCgnJTpwJykgPX4jICdcLmdpdFw+JwogICAgIGxldCBiOmdpdF9kaXIgPSBtYXRjaHN0cihleHBhbmQoJyU6cCcpLCcuKlwuZ2l0XD4nKQogICBlbHNlaWYgJEdJVF9ESVIgIT0gJycKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vZ2l0Y29tbWl0LnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vZ2l0Y29tbWl0LnZpbQppbmRleCBlODYxOTAwLi42NzY3ZmY3IDEwMDY0NAotLS0gYS9ydW50aW1lL2Z0cGx1Z2luL2dpdGNvbW1pdC52aW0KKysrIGIvcnVudGltZS9mdHBsdWdpbi9naXRjb21taXQudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gZmlsZXR5cGUgcGx1Z2luCiAiIExhbmd1YWdlOglnaXQgY29tbWl0IGZpbGUKICIgTWFpbnRhaW5lcjoJVGltIFBvcGUgPHZpbU5PU1BBTUB0cG9wZS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDEzIE1heSAzMAorIiBMYXN0IENoYW5nZToJMjAxNiBBdWcgMjkKIAogIiBPbmx5IGRvIHRoaXMgd2hlbiBub3QgZG9uZSB5ZXQgZm9yIHRoaXMgYnVmZmVyCiBpZiAoZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpKQpAQCAtMTEsMTUgKzExLDEwIEBACiBydW50aW1lISBmdHBsdWdpbi9naXQudmltCiBsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCiAKLXNldGxvY2FsIG5vbW9kZWxpbmUgdGFic3RvcD04IGZvcm1hdG9wdGlvbnMtPWNyb3EgZm9ybWF0b3B0aW9ucys9dGwKLQotbGV0IGI6dW5kb19mdHBsdWdpbiA9ICdzZXRsIG1vZGVsaW5lPCB0YWJzdG9wPCBmb3JtYXRvcHRpb25zPCcKLQotaWYgJnRleHR3aWR0aCA9PSAwCi0gICIgbWFrZSBzdXJlIHRoYXQgbG9nIG1lc3NhZ2VzIHBsYXkgbmljZSB3aXRoIGdpdC1sb2cgb24gc3RhbmRhcmQgdGVybWluYWxzCi0gIHNldGxvY2FsIHRleHR3aWR0aD03MgotICBsZXQgYjp1bmRvX2Z0cGx1Z2luIC49ICJ8c2V0bCB0dzwiCi1lbmRpZgorc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcworc2V0bG9jYWwgbm9tb2RlbGluZSB0YWJzdG9wPTggZm9ybWF0b3B0aW9ucys9dGwgdGV4dHdpZHRoPTcyCitzZXRsb2NhbCBmb3JtYXRvcHRpb25zLT1jIGZvcm1hdG9wdGlvbnMtPXIgZm9ybWF0b3B0aW9ucy09byBmb3JtYXRvcHRpb25zLT1xCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gJ3NldGwgbW9kZWxpbmU8IHRhYnN0b3A8IGZvcm1hdG9wdGlvbnM8IHR3PCBjb208IGNtczwnCiAKIGlmIGV4aXN0cygiZzpub19naXRjb21taXRfY29tbWFuZHMiKSB8fCB2OnZlcnNpb24gPCA3MDAKICAgZmluaXNoCkBAIC0zMSw2ICsyNiw4IEBACiAKIGNvbW1hbmQhIC1iYW5nIC1iYXIgLWJ1ZmZlciAtY29tcGxldGU9Y3VzdG9tLHM6ZGlmZmNvbXBsZXRlIC1uYXJncz0qIERpZmZHaXRDYWNoZWQgOmNhbGwgczpnaXRkaWZmY2FjaGVkKDxiYW5nPjAsYjpnaXRfZGlyLDxmLWFyZ3M+KQogCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gYjp1bmRvX2Z0cGx1Z2luIC4gInxkZWxjIERpZmZHaXRDYWNoZWQiCisKIGZ1bmN0aW9uISBzOmRpZmZjb21wbGV0ZShBLEwsUCkKICAgbGV0IGFyZ3MgPSAiIgogICBpZiBhOlAgPD0gbWF0Y2goYTpMLiIgLS0gIiwiIC0tICIpKzMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vZ2l0cmViYXNlLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vZ2l0cmViYXNlLnZpbQppbmRleCAwMjAwYmExLi42ZjczYjVjIDEwMDY0NAotLS0gYS9ydW50aW1lL2Z0cGx1Z2luL2dpdHJlYmFzZS52aW0KKysrIGIvcnVudGltZS9mdHBsdWdpbi9naXRyZWJhc2UudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gZmlsZXR5cGUgcGx1Z2luCiAiIExhbmd1YWdlOglnaXQgcmViYXNlIC0taW50ZXJhY3RpdmUKICIgTWFpbnRhaW5lcjoJVGltIFBvcGUgPHZpbU5PU1BBTUB0cG9wZS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDEwIE1heSAyMQorIiBMYXN0IENoYW5nZToJMjAxNiBBdWcgMjkKIAogIiBPbmx5IGRvIHRoaXMgd2hlbiBub3QgZG9uZSB5ZXQgZm9yIHRoaXMgYnVmZmVyCiBpZiAoZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpKQpAQCAtMTIsMTAgKzEyLDExIEBACiBsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCiAKIHNldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMgZm9ybWF0b3B0aW9ucy09dAorc2V0bG9jYWwgbm9tb2RlbGluZQogaWYgIWV4aXN0cygiYjp1bmRvX2Z0cGx1Z2luIikKICAgbGV0IGI6dW5kb19mdHBsdWdpbiA9ICIiCiBlbmRpZgotbGV0IGI6dW5kb19mdHBsdWdpbiA9IGI6dW5kb19mdHBsdWdpbi4ifHNldGwgY29tPCBjbXM8IGZvPCIKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSBiOnVuZG9fZnRwbHVnaW4uInxzZXRsIGNvbTwgY21zPCBmbzwgbWw8IgogCiBmdW5jdGlvbiEgczpjaG9vc2Uod29yZCkKICAgcy9eXChcd1wrXD5cKVw9XChccypcKVx6ZVx4XHs0LDQwXH1cPi9cPShzdHJsZW4oc3VibWF0Y2goMSkpID09IDEgPyBhOndvcmRbMF0gOiBhOndvcmQpIC4gc3Vic3RpdHV0ZShzdWJtYXRjaCgyKSwnXiQnLCcgJywnJykvZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9oYW1sLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vaGFtbC52aW0KaW5kZXggNjU0ZjFmYy4uZTc0NTMwYiAxMDA2NDQKLS0tIGEvcnVudGltZS9mdHBsdWdpbi9oYW1sLnZpbQorKysgYi9ydW50aW1lL2Z0cGx1Z2luL2hhbWwudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gZmlsZXR5cGUgcGx1Z2luCiAiIExhbmd1YWdlOglIYW1sCiAiIE1haW50YWluZXI6CVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUub3JnPgotIiBMYXN0IENoYW5nZToJMjAxMyBKdW4gMDEKKyIgTGFzdCBDaGFuZ2U6CTIwMTYgQXVnIDI5CiAKICIgT25seSBkbyB0aGlzIHdoZW4gbm90IGRvbmUgeWV0IGZvciB0aGlzIGJ1ZmZlcgogaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL21hcmtkb3duLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vbWFya2Rvd24udmltCmluZGV4IDVkNmViZWMuLjI3N2JhOTQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZnRwbHVnaW4vbWFya2Rvd24udmltCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vbWFya2Rvd24udmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gZmlsZXR5cGUgcGx1Z2luCiAiIExhbmd1YWdlOgkJTWFya2Rvd24KICIgTWFpbnRhaW5lcjoJCVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUub3JnPgotIiBMYXN0IENoYW5nZToJCTIwMTMgTWF5IDMwCisiIExhc3QgQ2hhbmdlOgkJMjAxNiBBdWcgMjkKIAogaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCiAgIGZpbmlzaApAQCAtMTEsNyArMTEsNyBAQAogCiBzZXRsb2NhbCBjb21tZW50cz1mYjoqLGZiOi0sZmI6KyxuOj4gY29tbWVudHN0cmluZz0+XCAlcwogc2V0bG9jYWwgZm9ybWF0b3B0aW9ucys9dGNxbG4gZm9ybWF0b3B0aW9ucy09ciBmb3JtYXRvcHRpb25zLT1vCi1zZXRsb2NhbCBmb3JtYXRsaXN0cGF0PV5cXHMqXFxkXFwrXFwuXFxzXFwrXFxcfF5bLSorXVxcc1xcKworc2V0bG9jYWwgZm9ybWF0bGlzdHBhdD1eXFxzKlxcZFxcK1xcLlxcc1xcK1xcXHxeWy0qK11cXHNcXCtcXFx8XlxcW15cXHplW15cXF1dXFwrXFxdOgogCiBpZiBleGlzdHMoJ2I6dW5kb19mdHBsdWdpbicpCiAgIGxldCBiOnVuZG9fZnRwbHVnaW4gLj0gInxzZXRsIGNtczwgY29tPCBmbzwgZmxwPCIKQEAgLTE5LDQgKzE5LDMyIEBACiAgIGxldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjbXM8IGNvbTwgZm88IGZscDwiCiBlbmRpZgogCitmdW5jdGlvbiEgTWFya2Rvd25Gb2xkKCkKKyAgbGV0IGxpbmUgPSBnZXRsaW5lKHY6bG51bSkKKworICAiIFJlZ3VsYXIgaGVhZGVycworICBsZXQgZGVwdGggPSBtYXRjaChsaW5lLCAnXCheI1wrXClcQDw9XCggLiokXClcQD0nKQorICBpZiBkZXB0aCA+IDAKKyAgICByZXR1cm4gIj4iIC4gZGVwdGgKKyAgZW5kaWYKKworICAiIFNldGV4dCBzdHlsZSBoZWFkaW5ncworICBsZXQgbmV4dGxpbmUgPSBnZXRsaW5lKHY6bG51bSArIDEpCisgIGlmIChsaW5lID1+ICdeLlwrJCcpICYmIChuZXh0bGluZSA9fiAnXj1cKyQnKQorICAgIHJldHVybiAiPjEiCisgIGVuZGlmCisKKyAgaWYgKGxpbmUgPX4gJ14uXCskJykgJiYgKG5leHRsaW5lID1+ICdeLVwrJCcpCisgICAgcmV0dXJuICI+MiIKKyAgZW5kaWYKKworICByZXR1cm4gIj0iCitlbmRmdW5jdGlvbgorCitpZiBoYXMoImZvbGRpbmciKSAmJiBleGlzdHMoImc6bWFya2Rvd25fZm9sZGluZyIpCisgIHNldGxvY2FsIGZvbGRleHByPU1hcmtkb3duRm9sZCgpCisgIHNldGxvY2FsIGZvbGRtZXRob2Q9ZXhwcgorICBsZXQgYjp1bmRvX2Z0cGx1Z2luIC49ICIgZm9sZGV4cHI8IGZvbGRtZXRob2Q8IgorZW5kaWYKKwogIiB2aW06c2V0IHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL3J1YnkudmltIGIvcnVudGltZS9mdHBsdWdpbi9ydWJ5LnZpbQppbmRleCA5NjMwYTk0Li44NGZiOTkzIDEwMDY0NAotLS0gYS9ydW50aW1lL2Z0cGx1Z2luL3J1YnkudmltCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vcnVieS52aW0KQEAgLTI4LDEyICsyOCwxMyBAQAogCVwgJzonIC4KIAlcICdcPFwlKGVsc2VcfGVsc2lmXHxlbnN1cmVcfHdoZW5cfHJlc2N1ZVx8YnJlYWtcfHJlZG9cfG5leHRcfHJldHJ5XClcPicgLgogCVwgJzonIC4KLQlcICdcPGVuZFw+JyAuCisgICAgICAgIFwgJ1wlKF5cfFteLlw6QCRdXClcQDw9XDxlbmRcOlxAIVw+JyAuCiAJXCAnLHs6fSxcWzpcXSwoOiknCiAKICAgbGV0IGI6bWF0Y2hfc2tpcCA9CiAJXCAic3luSURhdHRyKHN5bklEKGxpbmUoJy4nKSxjb2woJy4nKSwwKSwnbmFtZScpID1+ICciIC4KIAlcICJcXDxydWJ5XFwlKFN0cmluZ1xcfFN0cmluZ0RlbGltaXRlclxcfEFTQ0lJQ29kZVxcfEVzY2FwZVxcfCIgLgorICAgICAgICBcICJSZWdleHBcXHxSZWdleHBEZWxpbWl0ZXJcXHwiIC4KIAlcICJJbnRlcnBvbGF0aW9uXFx8Tm9JbnRlcnBvbGF0aW9uXFx8Q29tbWVudFxcfERvY3VtZW50YXRpb25cXHwiIC4KIAlcICJDb25kaXRpb25hbE1vZGlmaWVyXFx8UmVwZWF0TW9kaWZpZXJcXHxPcHRpb25hbERvXFx8IiAuCiAJXCAiRnVuY3Rpb25cXHxCbG9ja0FyZ3VtZW50XFx8S2V5d29yZEFzTWV0aG9kXFx8Q2xhc3NWYXJpYWJsZVxcfCIgLgpAQCAtNDMsNyArNDQsNyBAQAogc2V0bG9jYWwgZm9ybWF0b3B0aW9ucy09dCBmb3JtYXRvcHRpb25zKz1jcm9xbAogCiBzZXRsb2NhbCBpbmNsdWRlPV5cXHMqXFw8XFwobG9hZFxcPlxcXHxyZXF1aXJlXFw+XFxcfGF1dG9sb2FkXFxzKjpcXD1bXCInXVxcPVxcaFxcdypbXCInXVxcPSxcXCkKLXNldGxvY2FsIGluY2x1ZGVleHByPXN1YnN0aXR1dGUoc3Vic3RpdHV0ZSh2OmZuYW1lLCc6OicsJy8nLCdnJyksJyQnLCcucmInLCcnKQorc2V0bG9jYWwgaW5jbHVkZWV4cHI9c3Vic3RpdHV0ZShzdWJzdGl0dXRlKHY6Zm5hbWUsJzo6JywnLycsJ2cnKSwnXCUoXC5yYlwpXD0kJywnLnJiJywnJykKIHNldGxvY2FsIHN1ZmZpeGVzYWRkPS5yYgogCiBpZiBleGlzdHMoIiZvZnUiKSAmJiBoYXMoInJ1YnkiKQpAQCAtNjYsMzIgKzY3LDMyIEBACiAgIGxldCBnOnJ1YnlfdmVyc2lvbl9wYXRocyA9IHt9CiBlbmRpZgogCi1mdW5jdGlvbiEgczpxdWVyeV9wYXRoKHJvb3QpCitmdW5jdGlvbiEgczpxdWVyeV9wYXRoKHJvb3QpIGFib3J0CiAgIGxldCBjb2RlID0gInByaW50ICQ6LmpvaW4gJXF7LH0iCi0gIGlmICZzaGVsbCA9fiMgJ3NoJyAmJiAkUEFUSCAhfiMgJ1xzJwotICAgIGxldCBwcmVmaXggPSAnZW52IFBBVEg9Jy4kUEFUSC4nICcKKyAgaWYgJnNoZWxsID1+IyAnc2gnCisgICAgbGV0IHByZWZpeCA9ICdlbnYgUEFUSD0nLnNoZWxsZXNjYXBlKCRQQVRIKS4nICcKICAgZWxzZQogICAgIGxldCBwcmVmaXggPSAnJwogICBlbmRpZgogICBpZiAmc2hlbGx4cXVvdGUgPT0gIiciCi0gICAgbGV0IHBhdGhfY2hlY2sgPSBwcmVmaXguJ3J1YnkgLWUgIicgLiBjb2RlIC4gJyInCisgICAgbGV0IHBhdGhfY2hlY2sgPSBwcmVmaXguJ3J1YnkgLS1kaXNhYmxlLWdlbXMgLWUgIicgLiBjb2RlIC4gJyInCiAgIGVsc2UKLSAgICBsZXQgcGF0aF9jaGVjayA9IHByZWZpeC4icnVieSAtZSAnIiAuIGNvZGUgLiAiJyIKKyAgICBsZXQgcGF0aF9jaGVjayA9IHByZWZpeC4icnVieSAtLWRpc2FibGUtZ2VtcyAtZSAnIiAuIGNvZGUgLiAiJyIKICAgZW5kaWYKIAogICBsZXQgY2QgPSBoYXNsb2NhbGRpcigpID8gJ2xjZCcgOiAnY2QnCi0gIGxldCBjd2QgPSBnZXRjd2QoKQorICBsZXQgY3dkID0gZm5hbWVlc2NhcGUoZ2V0Y3dkKCkpCiAgIHRyeQogICAgIGV4ZSBjZCBmbmFtZWVzY2FwZShhOnJvb3QpCiAgICAgbGV0IHBhdGggPSBzcGxpdChzeXN0ZW0ocGF0aF9jaGVjayksJywnKQotICAgIGV4ZSBjZCBmbmFtZWVzY2FwZShjd2QpCisgICAgZXhlIGNkIGN3ZAogICAgIHJldHVybiBwYXRoCiAgIGZpbmFsbHkKLSAgICBleGUgY2QgZm5hbWVlc2NhcGUoY3dkKQorICAgIGV4ZSBjZCBjd2QKICAgZW5kdHJ5CiBlbmRmdW5jdGlvbgogCi1mdW5jdGlvbiEgczpidWlsZF9wYXRoKHBhdGgpCitmdW5jdGlvbiEgczpidWlsZF9wYXRoKHBhdGgpIGFib3J0CiAgIGxldCBwYXRoID0gam9pbihtYXAoY29weShhOnBhdGgpLCAndjp2YWwgPT0jICIuIiA/ICIiIDogdjp2YWwnKSwgJywnKQogICBpZiAmZzpwYXRoICF+IyAnXHZeXC4lKCwvJSh1c3J8ZW14KS9pbmNsdWRlKT0sLCQnCiAgICAgbGV0IHBhdGggPSBzdWJzdGl0dXRlKCZnOnBhdGgsJywsJCcsJywnLCcnKSAuICcsJyAuIHBhdGgKQEAgLTEwMSw3ICsxMDIsNyBAQAogCiBpZiAhZXhpc3RzKCdiOnJ1YnlfdmVyc2lvbicpICYmICFleGlzdHMoJ2c6cnVieV9wYXRoJykgJiYgaXNkaXJlY3RvcnkoZXhwYW5kKCclOnA6aCcpKQogICBsZXQgczp2ZXJzaW9uX2ZpbGUgPSBmaW5kZmlsZSgnLnJ1YnktdmVyc2lvbicsICcuOycpCi0gIGlmICFlbXB0eShzOnZlcnNpb25fZmlsZSkKKyAgaWYgIWVtcHR5KHM6dmVyc2lvbl9maWxlKSAmJiBmaWxlcmVhZGFibGUoczp2ZXJzaW9uX2ZpbGUpCiAgICAgbGV0IGI6cnVieV92ZXJzaW9uID0gZ2V0KHJlYWRmaWxlKHM6dmVyc2lvbl9maWxlLCAnJywgMSksICcnKQogICAgIGlmICFoYXNfa2V5KGc6cnVieV92ZXJzaW9uX3BhdGhzLCBiOnJ1YnlfdmVyc2lvbikKICAgICAgIGxldCBnOnJ1YnlfdmVyc2lvbl9wYXRoc1tiOnJ1YnlfdmVyc2lvbl0gPSBzOnF1ZXJ5X3BhdGgoZm5hbWVtb2RpZnkoczp2ZXJzaW9uX2ZpbGUsICc6cDpoJykpCkBAIC0xMzUsNyArMTM2LDcgQEAKICAgbGV0ICZsOnRhZ3MgPSAmdGFncyAuICcsJyAuIGpvaW4obWFwKGNvcHkoczpydWJ5X3BhdGhzKSwndjp2YWwuIi90YWdzIicpLCcsJykKIGVuZGlmCiAKLWlmIGhhcygiZ3VpX3dpbjMyIikgJiYgIWV4aXN0cygiYjpicm93c2VmaWx0ZXIiKQoraWYgKGhhcygiZ3VpX3dpbjMyIikgfHwgaGFzKCJndWlfZ3RrIikpICYmICFleGlzdHMoImI6YnJvd3NlZmlsdGVyIikKICAgbGV0IGI6YnJvd3NlZmlsdGVyID0gIlJ1YnkgU291cmNlIEZpbGVzICgqLnJiKVx0Ki5yYlxuIiAuCiAgICAgICAgICAgICAgICAgICAgICBcICJBbGwgRmlsZXMgKCouKilcdCouKlxuIgogZW5kaWYKQEAgLTE0NSw3ICsxNDYsMjIgQEAKICAgICAgIFwuInwgaWYgZXhpc3RzKCcmb2Z1JykgJiYgaGFzKCdydWJ5JykgfCBzZXRsIG9mdTwgfCBlbmRpZiIKICAgICAgIFwuInwgaWYgaGFzKCdiYWxsb29uX2V2YWwnKSAmJiBleGlzdHMoJytiZXhwcicpIHwgc2V0bCBiZXhwcjwgfCBlbmRpZiIKIAorZnVuY3Rpb24hIHM6bWFwKG1vZGUsIGZsYWdzLCBtYXApIGFib3J0CisgIGxldCBmcm9tID0gbWF0Y2hzdHIoYTptYXAsICdcU1wrJykKKyAgaWYgZW1wdHkobWFwY2hlY2soZnJvbSwgYTptb2RlKSkKKyAgICBleGUgYTptb2RlLidtYXAnICc8YnVmZmVyPicuKGE6MCA/IGE6MSA6ICcnKSBhOm1hcAorICAgIGxldCBiOnVuZG9fZnRwbHVnaW4gLj0gJ3xzaWwhICcuYTptb2RlLid1bm1hcCA8YnVmZmVyPiAnLmZyb20KKyAgZW5kaWYKK2VuZGZ1bmN0aW9uCisKK2NtYXAgPGJ1ZmZlcj48c2NyaXB0PjxleHByPiA8UGx1Zz48Y3dvcmQ+IHN1YnN0aXR1dGUoUnVieUN1cnNvcklkZW50aWZpZXIoKSwnXiQnLCJcMDIyXDAyNyIsJycpCitjbWFwIDxidWZmZXI+PHNjcmlwdD48ZXhwcj4gPFBsdWc+PGNmaWxlPiBzdWJzdGl0dXRlKFJ1YnlDdXJzb3JGaWxlKCksJ14kJywiXDAyMlwwMDYiLCcnKQorbGV0IGI6dW5kb19mdHBsdWdpbiAuPSAifCBzaWwhIGN1bm1hcCA8YnVmZmVyPiA8UGx1Zz48Y3dvcmQ+fCBzaWwhIGN1bm1hcCA8YnVmZmVyPiA8UGx1Zz48Y2ZpbGU+IgorCiBpZiAhZXhpc3RzKCJnOm5vX3BsdWdpbl9tYXBzIikgJiYgIWV4aXN0cygiZzpub19ydWJ5X21hcHMiKQorICBubWFwIDxidWZmZXI+PHNjcmlwdD4gPFNJRD46ICA6PEMtVT4KKyAgbm1hcCA8YnVmZmVyPjxzY3JpcHQ+IDxTSUQ+YzogOjxDLVU+PEMtUj49djpjb3VudCA/IHY6Y291bnQgOiAnJzxDUj4KKwogICBubm9yZW1hcCA8c2lsZW50PiA8YnVmZmVyPiBbbSA6PEMtVT5jYWxsIDxTSUQ+c2VhcmNoc3luKCdcPGRlZlw+JywncnVieURlZmluZScsJ2InLCduJyk8Q1I+CiAgIG5ub3JlbWFwIDxzaWxlbnQ+IDxidWZmZXI+IF1tIDo8Qy1VPmNhbGwgPFNJRD5zZWFyY2hzeW4oJ1w8ZGVmXD4nLCdydWJ5RGVmaW5lJywnJywnbicpPENSPgogICBubm9yZW1hcCA8c2lsZW50PiA8YnVmZmVyPiBbTSA6PEMtVT5jYWxsIDxTSUQ+c2VhcmNoc3luKCdcPGVuZFw+JywncnVieURlZmluZScsJ2InLCduJyk8Q1I+CkBAIC0xNjgsNyArMTg0LDcgQEAKICAgICAgICAgXC4ifCBzaWwhIGV4ZSAndW5tYXAgPGJ1ZmZlcj4gW1snIHwgc2lsISBleGUgJ3VubWFwIDxidWZmZXI+IF1dJyB8IHNpbCEgZXhlICd1bm1hcCA8YnVmZmVyPiBbXScgfCBzaWwhIGV4ZSAndW5tYXAgPGJ1ZmZlcj4gXVsnIgogICAgICAgICBcLiJ8IHNpbCEgZXhlICd1bm1hcCA8YnVmZmVyPiBbbScgfCBzaWwhIGV4ZSAndW5tYXAgPGJ1ZmZlcj4gXW0nIHwgc2lsISBleGUgJ3VubWFwIDxidWZmZXI+IFtNJyB8IHNpbCEgZXhlICd1bm1hcCA8YnVmZmVyPiBdTSciCiAKLSAgaWYgbWFwYXJnKCdpbScsJ24nKSA9PSAnJworICBpZiBtYXBhcmcoJ2ltJywneCcpID09ICcnICYmIG1hcGFyZygnaW0nLCdvJykgPT0gJycgJiYgbWFwYXJnKCdhbScsJ3gnKSA9PSAnJyAmJiBtYXBhcmcoJ2FtJywnbycpID09ICcnCiAgICAgb25vcmVtYXAgPHNpbGVudD4gPGJ1ZmZlcj4gaW0gOjxDLVU+Y2FsbCA8U0lEPndyYXBfaSgnW20nLCddTScpPENSPgogICAgIG9ub3JlbWFwIDxzaWxlbnQ+IDxidWZmZXI+IGFtIDo8Qy1VPmNhbGwgPFNJRD53cmFwX2EoJ1ttJywnXU0nKTxDUj4KICAgICB4bm9yZW1hcCA8c2lsZW50PiA8YnVmZmVyPiBpbSA6PEMtVT5jYWxsIDxTSUQ+d3JhcF9pKCdbbScsJ11NJyk8Q1I+CkBAIC0xNzgsNyArMTk0LDcgQEAKICAgICAgICAgICBcLiJ8IHNpbCEgZXhlICd4dW5tYXAgPGJ1ZmZlcj4gaW0nIHwgc2lsISBleGUgJ3h1bm1hcCA8YnVmZmVyPiBhbSciCiAgIGVuZGlmCiAKLSAgaWYgbWFwYXJnKCdpTScsJ24nKSA9PSAnJworICBpZiBtYXBhcmcoJ2lNJywneCcpID09ICcnICYmIG1hcGFyZygnaU0nLCdvJykgPT0gJycgJiYgbWFwYXJnKCdhTScsJ3gnKSA9PSAnJyAmJiBtYXBhcmcoJ2FNJywnbycpID09ICcnCiAgICAgb25vcmVtYXAgPHNpbGVudD4gPGJ1ZmZlcj4gaU0gOjxDLVU+Y2FsbCA8U0lEPndyYXBfaSgnW1snLCddWycpPENSPgogICAgIG9ub3JlbWFwIDxzaWxlbnQ+IDxidWZmZXI+IGFNIDo8Qy1VPmNhbGwgPFNJRD53cmFwX2EoJ1tbJywnXVsnKTxDUj4KICAgICB4bm9yZW1hcCA8c2lsZW50PiA8YnVmZmVyPiBpTSA6PEMtVT5jYWxsIDxTSUQ+d3JhcF9pKCdbWycsJ11bJyk8Q1I+CkBAIC0xODgsMzMgKzIwNCwyNCBAQAogICAgICAgICAgIFwuInwgc2lsISBleGUgJ3h1bm1hcCA8YnVmZmVyPiBpTScgfCBzaWwhIGV4ZSAneHVubWFwIDxidWZmZXI+IGFNJyIKICAgZW5kaWYKIAotICBpZiBtYXBhcmcoIlw8Qy1dPiIsJ24nKSA9PSAnJwotICAgIG5ub3JlbWFwIDxzaWxlbnQ+IDxidWZmZXI+IDxDLV0+ICAgICAgIDo8Qy1VPmV4ZSAgdjpjb3VudDEuInRhZyA8Qy1SPj1SdWJ5Q3Vyc29ySWRlbnRpZmllcigpPENSPiI8Q1I+Ci0gICAgbm5vcmVtYXAgPHNpbGVudD4gPGJ1ZmZlcj4gZzxDLV0+ICAgICAgOjxDLVU+ZXhlICAgICAgICAgInRqdW1wIDxDLVI+PVJ1YnlDdXJzb3JJZGVudGlmaWVyKCk8Q1I+IjxDUj4KLSAgICBubm9yZW1hcCA8c2lsZW50PiA8YnVmZmVyPiBnXSAgICAgICAgICA6PEMtVT5leGUgICAgICAgInRzZWxlY3QgPEMtUj49UnVieUN1cnNvcklkZW50aWZpZXIoKTxDUj4iPENSPgotICAgIG5ub3JlbWFwIDxzaWxlbnQ+IDxidWZmZXI+IDxDLVc+XSAgICAgIDo8Qy1VPmV4ZSB2OmNvdW50MS4ic3RhZyA8Qy1SPj1SdWJ5Q3Vyc29ySWRlbnRpZmllcigpPENSPiI8Q1I+Ci0gICAgbm5vcmVtYXAgPHNpbGVudD4gPGJ1ZmZlcj4gPEMtVz48Qy1dPiAgOjxDLVU+ZXhlIHY6Y291bnQxLiJzdGFnIDxDLVI+PVJ1YnlDdXJzb3JJZGVudGlmaWVyKCk8Q1I+IjxDUj4KLSAgICBubm9yZW1hcCA8c2lsZW50PiA8YnVmZmVyPiA8Qy1XPmc8Qy1dPiA6PEMtVT5leGUgICAgICAgICJzdGp1bXAgPEMtUj49UnVieUN1cnNvcklkZW50aWZpZXIoKTxDUj4iPENSPgotICAgIG5ub3JlbWFwIDxzaWxlbnQ+IDxidWZmZXI+IDxDLVc+Z10gICAgIDo8Qy1VPmV4ZSAgICAgICJzdHNlbGVjdCA8Qy1SPj1SdWJ5Q3Vyc29ySWRlbnRpZmllcigpPENSPiI8Q1I+Ci0gICAgbm5vcmVtYXAgPHNpbGVudD4gPGJ1ZmZlcj4gPEMtVz59ICAgICAgOjxDLVU+ZXhlICAgICAgICAgICJwdGFnIDxDLVI+PVJ1YnlDdXJzb3JJZGVudGlmaWVyKCk8Q1I+IjxDUj4KLSAgICBubm9yZW1hcCA8c2lsZW50PiA8YnVmZmVyPiA8Qy1XPmd9ICAgICA6PEMtVT5leGUgICAgICAgICJwdGp1bXAgPEMtUj49UnVieUN1cnNvcklkZW50aWZpZXIoKTxDUj4iPENSPgotICAgIGxldCBiOnVuZG9fZnRwbHVnaW4gPSBiOnVuZG9fZnRwbHVnaW4KLSAgICAgICAgICBcLiJ8IHNpbCEgZXhlICdudW5tYXAgPGJ1ZmZlcj4gPEMtXT4nfCBzaWwhIGV4ZSAnbnVubWFwIDxidWZmZXI+IGc8Qy1dPid8IHNpbCEgZXhlICdudW5tYXAgPGJ1ZmZlcj4gZ10nIgotICAgICAgICAgIFwuInwgc2lsISBleGUgJ251bm1hcCA8YnVmZmVyPiA8Qy1XPl0nfCBzaWwhIGV4ZSAnbnVubWFwIDxidWZmZXI+IDxDLVc+PEMtXT4nIgotICAgICAgICAgIFwuInwgc2lsISBleGUgJ251bm1hcCA8YnVmZmVyPiA8Qy1XPmc8Qy1dPid8IHNpbCEgZXhlICdudW5tYXAgPGJ1ZmZlcj4gPEMtVz5nXSciCi0gICAgICAgICAgXC4ifCBzaWwhIGV4ZSAnbnVubWFwIDxidWZmZXI+IDxDLVc+fSd8IHNpbCEgZXhlICdudW5tYXAgPGJ1ZmZlcj4gPEMtVz5nfSciCi0gIGVuZGlmCisgIGNhbGwgczptYXAoJ2MnLCAnJywgJzxDLVI+PEMtVz4gPFBsdWc+PGN3b3JkPicpCisgIGNhbGwgczptYXAoJ2MnLCAnJywgJzxDLVI+PEMtRj4gPFBsdWc+PGNmaWxlPicpCiAKLSAgaWYgbWFwYXJnKCJnZiIsJ24nKSA9PSAnJwotICAgICIgQnkgdXNpbmcgZmluZGZpbGUoKSByYXRoZXIgdGhhbiBnZidzIG5vcm1hbCBiZWhhdmlvciwgd2UgcHJldmVudAotICAgICIgZXJyb25lb3VzbHkgZWRpdGluZyBhIGRpcmVjdG9yeS4KLSAgICBubm9yZW1hcCA8c2lsZW50PiA8YnVmZmVyPiBnZiAgICAgICAgIDo8Qy1VPmV4ZSA8U0lEPmdmKHY6Y291bnQxLCJnZiIsJ2VkaXQnKTxDUj4KLSAgICBubm9yZW1hcCA8c2lsZW50PiA8YnVmZmVyPiA8Qy1XPmYgICAgIDo8Qy1VPmV4ZSA8U0lEPmdmKHY6Y291bnQxLCJcPEx0PkMtVz5mIiwnc3BsaXQnKTxDUj4KLSAgICBubm9yZW1hcCA8c2lsZW50PiA8YnVmZmVyPiA8Qy1XPjxDLUY+IDo8Qy1VPmV4ZSA8U0lEPmdmKHY6Y291bnQxLCJcPEx0PkMtVz5cPEx0PkMtRj4iLCdzcGxpdCcpPENSPgotICAgIG5ub3JlbWFwIDxzaWxlbnQ+IDxidWZmZXI+IDxDLVc+Z2YgICAgOjxDLVU+ZXhlIDxTSUQ+Z2Yodjpjb3VudDEsIlw8THQ+Qy1XPmdmIiwndGFiZWRpdCcpPENSPgotICAgIGxldCBiOnVuZG9fZnRwbHVnaW4gPSBiOnVuZG9fZnRwbHVnaW4KLSAgICAgICAgICBcLiJ8IHNpbCEgZXhlICdudW5tYXAgPGJ1ZmZlcj4gZ2YnIHwgc2lsISBleGUgJ251bm1hcCA8YnVmZmVyPiA8Qy1XPmYnIHwgc2lsISBleGUgJ251bm1hcCA8YnVmZmVyPiA8Qy1XPjxDLUY+JyB8IHNpbCEgZXhlICdudW5tYXAgPGJ1ZmZlcj4gPEMtVz5nZiciCi0gIGVuZGlmCisgIGNtYXAgPGJ1ZmZlcj48c2NyaXB0PjxleHByPiA8U0lEPnRhZ3p2ICZmb2xkb3BlbiA9fiMgJ3RhZycgPyAnPEJhcj5ub3JtISB6dicgOiAnJworICBjYWxsIHM6bWFwKCduJywgJzxzaWxlbnQ+JywgJzxDLV0+ICAgICAgIDxTSUQ+OmV4ZSAgdjpjb3VudDEuInRhZyA8UGx1Zz48Y3dvcmQ+IjxTSUQ+dGFnenY8Q1I+JykKKyAgY2FsbCBzOm1hcCgnbicsICc8c2lsZW50PicsICdnPEMtXT4gICAgICA8U0lEPjpleGUgICAgICAgICAidGp1bXAgPFBsdWc+PGN3b3JkPiI8U0lEPnRhZ3p2PENSPicpCisgIGNhbGwgczptYXAoJ24nLCAnPHNpbGVudD4nLCAnZ10gICAgICAgICAgPFNJRD46ZXhlICAgICAgICJ0c2VsZWN0IDxQbHVnPjxjd29yZD4iPFNJRD50YWd6djxDUj4nKQorICBjYWxsIHM6bWFwKCduJywgJzxzaWxlbnQ+JywgJzxDLVc+XSAgICAgIDxTSUQ+OmV4ZSB2OmNvdW50MS4ic3RhZyA8UGx1Zz48Y3dvcmQ+IjxTSUQ+dGFnenY8Q1I+JykKKyAgY2FsbCBzOm1hcCgnbicsICc8c2lsZW50PicsICc8Qy1XPjxDLV0+ICA8U0lEPjpleGUgdjpjb3VudDEuInN0YWcgPFBsdWc+PGN3b3JkPiI8U0lEPnRhZ3p2PENSPicpCisgIGNhbGwgczptYXAoJ24nLCAnPHNpbGVudD4nLCAnPEMtVz5nPEMtXT4gPFNJRD46ZXhlICAgICAgICAic3RqdW1wIDxQbHVnPjxjd29yZD4iPFNJRD50YWd6djxDUj4nKQorICBjYWxsIHM6bWFwKCduJywgJzxzaWxlbnQ+JywgJzxDLVc+Z10gICAgIDxTSUQ+OmV4ZSAgICAgICJzdHNlbGVjdCA8UGx1Zz48Y3dvcmQ+IjxTSUQ+dGFnenY8Q1I+JykKKyAgY2FsbCBzOm1hcCgnbicsICc8c2lsZW50PicsICc8Qy1XPn0gICAgICA8U0lEPjpleGUgdjpjb3VudDEuInB0YWcgPFBsdWc+PGN3b3JkPiI8Q1I+JykKKyAgY2FsbCBzOm1hcCgnbicsICc8c2lsZW50PicsICc8Qy1XPmd9ICAgICA8U0lEPjpleGUgICAgICAgICJwdGp1bXAgPFBsdWc+PGN3b3JkPiI8Q1I+JykKKworICBjYWxsIHM6bWFwKCduJywgJzxzaWxlbnQ+JywgJ2dmICAgICAgICAgICA8U0lEPmM6ZmluZCA8UGx1Zz48Y2ZpbGU+PENSPicpCisgIGNhbGwgczptYXAoJ24nLCAnPHNpbGVudD4nLCAnPEMtVz5mICAgICAgPFNJRD5jOnNmaW5kIDxQbHVnPjxjZmlsZT48Q1I+JykKKyAgY2FsbCBzOm1hcCgnbicsICc8c2lsZW50PicsICc8Qy1XPjxDLUY+ICA8U0lEPmM6c2ZpbmQgPFBsdWc+PGNmaWxlPjxDUj4nKQorICBjYWxsIHM6bWFwKCduJywgJzxzaWxlbnQ+JywgJzxDLVc+Z2YgICA8U0lEPmM6dGFiZmluZCA8UGx1Zz48Y2ZpbGU+PENSPicpCiBlbmRpZgogCiBsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKQEAgLTIyNSw3ICsyMzIsNyBAQAogZW5kaWYKIGxldCBnOmRpZF9ydWJ5X2Z0cGx1Z2luX2Z1bmN0aW9ucyA9IDEKIAotZnVuY3Rpb24hIFJ1YnlCYWxsb29uZXhwcigpCitmdW5jdGlvbiEgUnVieUJhbGxvb25leHByKCkgYWJvcnQKICAgaWYgIWV4aXN0cygnczpyaV9mb3VuZCcpCiAgICAgbGV0IHM6cmlfZm91bmQgPSBleGVjdXRhYmxlKCdyaScpCiAgIGVuZGlmCkBAIC0yNzQsMTMgKzI4MSwxMyBAQAogICBlbmRpZgogZW5kZnVuY3Rpb24KIAotZnVuY3Rpb24hIHM6c2VhcmNoc3luKHBhdHRlcm4sc3luLGZsYWdzLG1vZGUpCitmdW5jdGlvbiEgczpzZWFyY2hzeW4ocGF0dGVybiwgc3luLCBmbGFncywgbW9kZSkgYWJvcnQKKyAgbGV0IGNudCA9IHY6Y291bnQxCiAgIG5vcm0hIG0nCiAgIGlmIGE6bW9kZSA9PSMgJ3YnCiAgICAgbm9ybSEgZ3YKICAgZW5kaWYKICAgbGV0IGkgPSAwCi0gIGxldCBjbnQgPSB2OmNvdW50ID8gdjpjb3VudCA6IDEKICAgd2hpbGUgaSA8IGNudAogICAgIGxldCBpID0gaSArIDEKICAgICBsZXQgbGluZSA9IGxpbmUoJy4nKQpAQCAtMjk2LDExICszMDMsMTEgQEAKICAgZW5kd2hpbGUKIGVuZGZ1bmN0aW9uCiAKLWZ1bmN0aW9uISBzOnN5bm5hbWUoKQorZnVuY3Rpb24hIHM6c3lubmFtZSgpIGFib3J0CiAgIHJldHVybiBzeW5JRGF0dHIoc3luSUQobGluZSgnLicpLGNvbCgnLicpLDApLCduYW1lJykKIGVuZGZ1bmN0aW9uCiAKLWZ1bmN0aW9uISBzOndyYXBfaShiYWNrLGZvcndhcmQpCitmdW5jdGlvbiEgczp3cmFwX2koYmFjayxmb3J3YXJkKSBhYm9ydAogICBleGVjdXRlICdub3JtIGsnLmE6Zm9yd2FyZAogICBsZXQgbGluZSA9IGxpbmUoJy4nKQogICBleGVjdXRlICdub3JtICcuYTpiYWNrCkBAIC0zMTAsNyArMzE3LDcgQEAKICAgZXhlY3V0ZSAnbm9ybSBqVicuYTpmb3J3YXJkLidrJwogZW5kZnVuY3Rpb24KIAotZnVuY3Rpb24hIHM6d3JhcF9hKGJhY2ssZm9yd2FyZCkKK2Z1bmN0aW9uISBzOndyYXBfYShiYWNrLGZvcndhcmQpIGFib3J0CiAgIGV4ZWN1dGUgJ25vcm0gJy5hOmZvcndhcmQKICAgaWYgbGluZSgnLicpIDwgbGluZSgnJCcpICYmIGdldGxpbmUobGluZSgnLicpKzEpID09IyAnJwogICAgIGxldCBhZnRlciA9IDEKQEAgLTMyOCwzNyArMzM1LDU1IEBACiAgIGVuZGlmCiBlbmRmdW5jdGlvbgogCi1mdW5jdGlvbiEgUnVieUN1cnNvcklkZW50aWZpZXIoKQorZnVuY3Rpb24hIFJ1YnlDdXJzb3JJZGVudGlmaWVyKCkgYWJvcnQKICAgbGV0IGFzY2lpY29kZSAgICA9ICdcJShcd1x8W119KVwiJy4iJyIuJ11cKVxAPCFcJSg/XCUoXFxNLVxcQy1cfFxcQy1cXE0tXHxcXE0tXFxjXHxcXGNcXE0tXHxcXGNcfFxcQy1cfFxcTS1cKVw9XCUoXFxcb1x7MSwzfVx8XFx4XHhcezEsMn1cfFxcXD1cU1wpXCknCiAgIGxldCBudW1iZXIgICAgICAgPSAnXCUoXCUoXHdcfFtdfSlcIicuIiciLiddXHMqXClcQDwhLVwpXD1cJShcPFtbOmRpZ2l0Ol1fXVwrXCUoXC5bWzpkaWdpdDpdX11cK1wpXD1cJShbRWVdW1s6ZGlnaXQ6XV9dXCtcKVw9XD5cfFw8MFt4WGJCb09kRF1bWzp4ZGlnaXQ6XV9dXCtcPlwpXHwnLmFzY2lpY29kZQogICBsZXQgb3BlcmF0b3IgICAgID0gJ1wlKFxbXF1cfDw8XHw8PT5cfFshPD5dPVw9XHw9PT1cPVx8WyE9XVx+XHw+Plx8XCpcKlx8XC5cLlwuXD1cfD0+XHxbfl4mfCovJSstXVwpJwotICBsZXQgbWV0aG9kICAgICAgID0gJ1wlKFw8W19hLXpBLVpdXHcqXD5cJShbPyFdXHxccyo9PlxAIVwpXD1cKScKKyAgbGV0IG1ldGhvZCAgICAgICA9ICdcJShcLltfYS16QS1aXVx3KlxzKj0+XEAhXHxcPFtfYS16QS1aXVx3Klw+Wz8hXVw9XCknCiAgIGxldCBnbG9iYWwgICAgICAgPSAnJFwlKFshJCYiJy4iJyIuJyorLC4vOjs8PT4/QFxgfl1cfC1cPVx3XCtcPlwpJwogICBsZXQgc3ltYm9saXphYmxlID0gJ1wlKFwlKEBAXD1cKVx3XCtcPlx8Jy5nbG9iYWwuJ1x8Jy5tZXRob2QuJ1x8Jy5vcGVyYXRvci4nXCknCiAgIGxldCBwYXR0ZXJuICAgICAgPSAnXENccypcJSgnLm51bWJlci4nXHxcJSg6XEA8ITpcKVw9Jy5zeW1ib2xpemFibGUuJ1wpJwogICBsZXQgW2xudW0sIGNvbF0gID0gc2VhcmNocG9zKHBhdHRlcm4sJ2JjbicsbGluZSgnLicpKQogICBsZXQgcmF3ICAgICAgICAgID0gbWF0Y2hzdHIoZ2V0bGluZSgnLicpW2NvbC0xIDogXSxwYXR0ZXJuKQotICBsZXQgc3RyaXBwZWQgICAgID0gc3Vic3RpdHV0ZShzdWJzdGl0dXRlKHJhdywnXHNcKz0kJywnPScsJycpLCdeXHMqOlw9JywnJywnJykKKyAgbGV0IHN0cmlwcGVkICAgICA9IHN1YnN0aXR1dGUoc3Vic3RpdHV0ZShyYXcsJ1xzXCs9JCcsJz0nLCcnKSwnXlxzKls6Ll1cPScsJycsJycpCiAgIHJldHVybiBzdHJpcHBlZCA9PSAnJyA/IGV4cGFuZCgiPGN3b3JkPiIpIDogc3RyaXBwZWQKIGVuZGZ1bmN0aW9uCiAKLWZ1bmN0aW9uISBzOmdmKGNvdW50LG1hcCxlZGl0KSBhYm9ydAotICBpZiBnZXRsaW5lKCcuJykgPX4jICdeXHMqcmVxdWlyZV9yZWxhdGl2ZVxzKlwoWyInJ11cKS4qXDFccyokJwotICAgIGxldCB0YXJnZXQgPSBtYXRjaHN0cihnZXRsaW5lKCcuJyksJ1woWyInJ11cKVx6cy5cey1cfVx6ZVwxJykKLSAgICByZXR1cm4gYTplZGl0LicgJTpoLycudGFyZ2V0LicucmInCi0gIGVsc2VpZiBnZXRsaW5lKCcuJykgPX4jICdeXHMqXCUocmVxdWlyZVsoIF1cfGxvYWRbKCBdXHxhdXRvbG9hZFsoIF06XHdcKyxcKVxzKlxzKlwlKDo6XClcPUZpbGVcLmV4cGFuZF9wYXRoKFwoWyInJ11cKVwuXC4vLipcMSxccypfX0ZJTEVfXylccyokJwotICAgIGxldCB0YXJnZXQgPSBtYXRjaHN0cihnZXRsaW5lKCcuJyksJ1woWyInJ11cKVwuXC4vXHpzLlx7LVx9XHplXDEnKQotICAgIHJldHVybiBhOmVkaXQuJyAlOmgvJy50YXJnZXQuJy5yYicKK2Z1bmN0aW9uISBSdWJ5Q3Vyc29yRmlsZSgpIGFib3J0CisgIGxldCBpc2ZuYW1lID0gJmlzZm5hbWUKKyAgdHJ5CisgICAgc2V0IGlzZm5hbWUrPToKKyAgICBsZXQgY2ZpbGUgPSBleHBhbmQoJzxjZmlsZT4nKQorICBmaW5hbGx5CisgICAgbGV0IGlzZm5hbWUgPSAmaXNmbmFtZQorICBlbmR0cnkKKyAgbGV0IHByZSA9IG1hdGNoc3RyKHN0cnBhcnQoZ2V0bGluZSgnLicpLCAwLCBjb2woJy4nKS0xKSwgJy4qXGZcQDwhJykKKyAgbGV0IHBvc3QgPSBtYXRjaHN0cihzdHJwYXJ0KGdldGxpbmUoJy4nKSwgY29sKCcuJykpLCAnXGZcQCEuKicpCisgIGxldCBleHQgPSBnZXRsaW5lKCcuJykgPX4jICdeXHMqXCUocmVxdWlyZVwlKF9yZWxhdGl2ZVwpXD1cfGF1dG9sb2FkXClcPicgJiYgY2ZpbGUgIX4jICdcLnJiJCcgPyAnLnJiJyA6ICcnCisgIGlmIHM6c3lubmFtZSgpID09IyAncnVieUNvbnN0YW50JworICAgIGxldCBjZmlsZSA9IHN1YnN0aXR1dGUoY2ZpbGUsJ1wuXHdcK1s/IT1dXD0kJywnJywnJykKKyAgICBsZXQgY2ZpbGUgPSBzdWJzdGl0dXRlKGNmaWxlLCc6OicsJy8nLCdnJykKKyAgICBsZXQgY2ZpbGUgPSBzdWJzdGl0dXRlKGNmaWxlLCdcKFx1XCtcKVwoXHVcbFwpJywnXDFfXDInLCAnZycpCisgICAgbGV0IGNmaWxlID0gc3Vic3RpdHV0ZShjZmlsZSwnXChcbFx8XGRcKVwoXHVcKScsJ1wxX1wyJywgJ2cnKQorICAgIHJldHVybiB0b2xvd2VyKGNmaWxlKSAuICcucmInCisgIGVsc2VpZiBnZXRsaW5lKCcuJykgPX4jICdeXHMqcmVxdWlyZV9yZWxhdGl2ZVxzKlwoWyInJ11cKS4qXDFccyokJworICAgIGxldCBjZmlsZSA9IGV4cGFuZCgnJTpwOmgnKSAuICcvJyAuIG1hdGNoc3RyKGdldGxpbmUoJy4nKSwnXChbIicnXVwpXHpzLlx7LVx9XHplXDEnKSAuIGV4dAorICBlbHNlaWYgZ2V0bGluZSgnLicpID1+IyAnXlxzKlwlKHJlcXVpcmVbKCBdXHxsb2FkWyggXVx8YXV0b2xvYWRbKCBdOlx3XCssXClccypcJSg6OlwpXD1GaWxlXC5leHBhbmRfcGF0aChcKFsiJyddXClcLlwuLy4qXDEsXHMqX19GSUxFX18pXHMqJCcKKyAgICBsZXQgdGFyZ2V0ID0gbWF0Y2hzdHIoZ2V0bGluZSgnLicpLCdcKFsiJyddXClcLlwuXHpzLy5cey1cfVx6ZVwxJykKKyAgICBsZXQgY2ZpbGUgPSBleHBhbmQoJyU6cDpoJykgLiB0YXJnZXQgLiBleHQKICAgZWxzZWlmIGdldGxpbmUoJy4nKSA9fiMgJ15ccypcJShyZXF1aXJlIFx8bG9hZCBcfGF1dG9sb2FkIDpcd1wrLFwpXHMqXChbIicnXVwpLipcMVxzKiQnCi0gICAgbGV0IHRhcmdldCA9IG1hdGNoc3RyKGdldGxpbmUoJy4nKSwnXChbIicnXVwpXHpzLlx7LVx9XHplXDEnKQorICAgIGxldCBjZmlsZSA9IG1hdGNoc3RyKGdldGxpbmUoJy4nKSwnXChbIicnXVwpXHpzLlx7LVx9XHplXDEnKSAuIGV4dAorICBlbHNlaWYgcHJlLnBvc3QgPX4jICdcPEZpbGUuZXhwYW5kX3BhdGhbKCBdLipbJyciXVx7Mlx9LCAqX19GSUxFX19cPicgJiYgY2ZpbGUgPX4jICdeXC5cLicKKyAgICBsZXQgY2ZpbGUgPSBleHBhbmQoJyU6cDpoJykgLiBzdHJwYXJ0KGNmaWxlLCAyKQogICBlbHNlCi0gICAgbGV0IHRhcmdldCA9IGV4cGFuZCgnPGNmaWxlPicpCisgICAgcmV0dXJuIHN1YnN0aXR1dGUoY2ZpbGUsICdcQ1x2XiguKik6KFxkKyklKDppbik9JCcsICcrXDIgXDEnLCAnJykKICAgZW5kaWYKLSAgbGV0IGZvdW5kID0gZmluZGZpbGUodGFyZ2V0LCAmcGF0aCwgYTpjb3VudCkKLSAgaWYgZm91bmQgPT0jICcnCi0gICAgcmV0dXJuICdub3JtISAnLmE6Y291bnQuYTptYXAKKyAgbGV0IGN3ZHBhdCA9ICdeXE0nIC4gc3Vic3RpdHV0ZShnZXRjd2QoKSwgJ1tcL10nLCAnXFxbXFwvXScsICdnJykuJ1x6ZVxbXC9dJworICBsZXQgY2ZpbGUgPSBzdWJzdGl0dXRlKGNmaWxlLCBjd2RwYXQsICcuJywgJycpCisgIGlmIGZuYW1lZXNjYXBlKGNmaWxlKSAhPSMgY2ZpbGUKKyAgICByZXR1cm4gJysgJy5mbmFtZWVzY2FwZShjZmlsZSkKICAgZWxzZQotICAgIHJldHVybiBhOmVkaXQuJyAnLmZuYW1lZXNjYXBlKGZvdW5kKQorICAgIHJldHVybiBjZmlsZQogICBlbmRpZgogZW5kZnVuY3Rpb24KIApkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9zYXNzLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vc2Fzcy52aW0KaW5kZXggNjQyMzJhMC4uZDY5MDllNyAxMDA2NDQKLS0tIGEvcnVudGltZS9mdHBsdWdpbi9zYXNzLnZpbQorKysgYi9ydW50aW1lL2Z0cGx1Z2luL3Nhc3MudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gZmlsZXR5cGUgcGx1Z2luCiAiIExhbmd1YWdlOglTYXNzCiAiIE1haW50YWluZXI6CVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUub3JnPgotIiBMYXN0IENoYW5nZToJMjAxMCBKdWwgMjYKKyIgTGFzdCBDaGFuZ2U6CTIwMTYgQXVnIDI5CiAKICIgT25seSBkbyB0aGlzIHdoZW4gbm90IGRvbmUgeWV0IGZvciB0aGlzIGJ1ZmZlcgogaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCkBAIC05LDggKzksOSBAQAogZW5kaWYKIGxldCBiOmRpZF9mdHBsdWdpbiA9IDEKIAotbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNtczwgZGVmPCBpbmM8IGluZXg8IG9mdTwgc3VhPCIKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwgZGVmPCBpbmM8IGluZXg8IG9mdTwgc3VhPCIKIAorc2V0bG9jYWwgY29tbWVudHM9Oi8vCiBzZXRsb2NhbCBjb21tZW50c3RyaW5nPS8vXCAlcwogc2V0bG9jYWwgZGVmaW5lPV5cXHMqXFwlKEBtaXhpblxcXHw9XFwpCiBzZXRsb2NhbCBpbmNsdWRlZXhwcj1zdWJzdGl0dXRlKHY6Zm5hbWUsJ1xcJSguKi9cXFx8XlxcKVxcenMnLCdfJywnJykKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vc2Nzcy52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL3Njc3MudmltCmluZGV4IDk4MWZiMWIuLjI4N2QyOTggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZnRwbHVnaW4vc2Nzcy52aW0KKysrIGIvcnVudGltZS9mdHBsdWdpbi9zY3NzLnZpbQpAQCAtMSwxMiArMSwxMyBAQAogIiBWaW0gZmlsZXR5cGUgcGx1Z2luCiAiIExhbmd1YWdlOglTQ1NTCiAiIE1haW50YWluZXI6CVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUub3JnPgotIiBMYXN0IENoYW5nZToJMjAxMCBKdWwgMjYKKyIgTGFzdCBDaGFuZ2U6CTIwMTYgQXVnIDI5CiAKIGlmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQogICBmaW5pc2gKIGVuZGlmCiAKIHJ1bnRpbWUhIGZ0cGx1Z2luL3Nhc3MudmltCitzZXRsb2NhbCBjb21tZW50cz1zMTovKixtYjoqLGV4OiovLDovLwogCiAiIHZpbTpzZXQgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L2N1Y3VtYmVyLnZpbSBiL3J1bnRpbWUvaW5kZW50L2N1Y3VtYmVyLnZpbQppbmRleCA5NjVjNzc4Li45OTliOGQ2IDEwMDY0NAotLS0gYS9ydW50aW1lL2luZGVudC9jdWN1bWJlci52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvY3VjdW1iZXIudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gaW5kZW50IGZpbGUKICIgTGFuZ3VhZ2U6CUN1Y3VtYmVyCiAiIE1haW50YWluZXI6CVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUub3JnPgotIiBMYXN0IENoYW5nZToJMjAxMyBNYXkgMzAKKyIgTGFzdCBDaGFuZ2U6CTIwMTYgQXVnIDI5CiAKIGlmIGV4aXN0cygiYjpkaWRfaW5kZW50IikKICAgZmluaXNoCkBAIC0yNyw2ICsyNyw3IEBACiAgIGxldCBsaW5lICA9IGdldGxpbmUocHJldm5vbmJsYW5rKHY6bG51bS0xKSkKICAgbGV0IGNsaW5lID0gZ2V0bGluZSh2OmxudW0pCiAgIGxldCBubGluZSA9IGdldGxpbmUobmV4dG5vbmJsYW5rKHY6bG51bSsxKSkKKyAgbGV0IHN3ID0gZXhpc3RzKCcqc2hpZnR3aWR0aCcpID8gc2hpZnR3aWR0aCgpIDogJnN3CiAgIGxldCBzeW4gPSBzOnN5bihwcmV2bm9uYmxhbmsodjpsbnVtLTEpKQogICBsZXQgY3N5biA9IHM6c3luKHY6bG51bSkKICAgbGV0IG5zeW4gPSBzOnN5bihuZXh0bm9uYmxhbmsodjpsbnVtKzEpKQpAQCAtMzUsMzggKzM2LDM4IEBACiAgICAgcmV0dXJuIDAKICAgZWxzZWlmIGNzeW4gPT0jICdjdWN1bWJlckV4YW1wbGVzJyB8fCBjbGluZSA9fiMgJ15ccypcJShFeGFtcGxlc1x8U2NlbmFyaW9zXCk6JwogICAgICIgZXhhbXBsZXMgaGVhZGluZwotICAgIHJldHVybiAyICogJnN3CisgICAgcmV0dXJuIDIgKiBzdwogICBlbHNlaWYgY3N5biA9fiMgJ15jdWN1bWJlclwlKEJhY2tncm91bmRcfFNjZW5hcmlvXHxTY2VuYXJpb091dGxpbmVcKSQnIHx8IGNsaW5lID1+IyAnXlxzKlwlKEJhY2tncm91bmRcfFNjZW5hcmlvXHxTY2VuYXJpbyBPdXRsaW5lXCk6JwogICAgICIgYmFja2dyb3VuZCwgc2NlbmFyaW8gb3Igb3V0bGluZSBoZWFkaW5nCi0gICAgcmV0dXJuICZzdworICAgIHJldHVybiBzdwogICBlbHNlaWYgc3luID09IyAnY3VjdW1iZXJGZWF0dXJlJyB8fCBsaW5lID1+IyAnXlxzKkZlYXR1cmU6JwogICAgICIgbGluZSBhZnRlciBmZWF0dXJlIGhlYWRpbmcKLSAgICByZXR1cm4gJnN3CisgICAgcmV0dXJuIHN3CiAgIGVsc2VpZiBzeW4gPT0jICdjdWN1bWJlckV4YW1wbGVzJyB8fCBsaW5lID1+IyAnXlxzKlwlKEV4YW1wbGVzXHxTY2VuYXJpb3NcKTonCiAgICAgIiBsaW5lIGFmdGVyIGV4YW1wbGVzIGhlYWRpbmcKLSAgICByZXR1cm4gMyAqICZzdworICAgIHJldHVybiAzICogc3cKICAgZWxzZWlmIHN5biA9fiMgJ15jdWN1bWJlclwlKEJhY2tncm91bmRcfFNjZW5hcmlvXHxTY2VuYXJpb091dGxpbmVcKSQnIHx8IGxpbmUgPX4jICdeXHMqXCUoQmFja2dyb3VuZFx8U2NlbmFyaW9cfFNjZW5hcmlvIE91dGxpbmVcKTonCiAgICAgIiBsaW5lIGFmdGVyIGJhY2tncm91bmQsIHNjZW5hcmlvIG9yIG91dGxpbmUgaGVhZGluZwotICAgIHJldHVybiAyICogJnN3CisgICAgcmV0dXJuIDIgKiBzdwogICBlbHNlaWYgY2xpbmUgPX4jICdeXHMqW0AjXScgJiYgKG5zeW4gPT0gJ2N1Y3VtYmVyRmVhdHVyZScgfHwgbmxpbmUgPX4jICdeXHMqRmVhdHVyZTonIHx8IGluZGVudChwcmV2bm9uYmxhbmsodjpsbnVtLTEpKSA8PSAwKQogICAgICIgdGFnIG9yIGNvbW1lbnQgYmVmb3JlIGEgZmVhdHVyZSBoZWFkaW5nCiAgICAgcmV0dXJuIDAKICAgZWxzZWlmIGNsaW5lID1+IyAnXlxzKkAnCiAgICAgIiBvdGhlciB0YWdzCi0gICAgcmV0dXJuICZzdworICAgIHJldHVybiBzdwogICBlbHNlaWYgY2xpbmUgPX4jICdeXHMqWyN8XScgJiYgbGluZSA9fiMgJ15ccyp8JwogICAgICIgbWlkLXRhYmxlCiAgICAgIiBwcmVzZXJ2ZSBpbmRlbnQKICAgICByZXR1cm4gaW5kZW50KHByZXZub25ibGFuayh2OmxudW0tMSkpCiAgIGVsc2VpZiBjbGluZSA9fiMgJ15ccyp8JyAmJiBsaW5lID1+IyAnXlxzKltefF0nCiAgICAgIiBmaXJzdCBsaW5lIG9mIGEgdGFibGUsIHJlbGF0aXZlIGluZGVudAotICAgIHJldHVybiBpbmRlbnQocHJldm5vbmJsYW5rKHY6bG51bS0xKSkgKyAmc3cKKyAgICByZXR1cm4gaW5kZW50KHByZXZub25ibGFuayh2OmxudW0tMSkpICsgc3cKICAgZWxzZWlmIGNsaW5lID1+IyAnXlxzKltefF0nICYmIGxpbmUgPX4jICdeXHMqfCcKICAgICAiIGxpbmUgYWZ0ZXIgYSB0YWJsZSwgcmVsYXRpdmUgdW5pbmRlbnQKLSAgICByZXR1cm4gaW5kZW50KHByZXZub25ibGFuayh2OmxudW0tMSkpIC0gJnN3CisgICAgcmV0dXJuIGluZGVudChwcmV2bm9uYmxhbmsodjpsbnVtLTEpKSAtIHN3CiAgIGVsc2VpZiBjbGluZSA9fiMgJ15ccyojJyAmJiBnZXRsaW5lKHY6bG51bS0xKSA9fiAnXlxzKiQnICYmIChuc3luID1+IyAnXmN1Y3VtYmVyXCUoQmFja2dyb3VuZFx8U2NlbmFyaW9cfFNjZW5hcmlvT3V0bGluZVwpJCcgfHwgbmxpbmUgPX4jICdeXHMqXCUoQmFja2dyb3VuZFx8U2NlbmFyaW9cfFNjZW5hcmlvIE91dGxpbmVcKTonKQogICAgICIgY29tbWVudHMgb24gc2NlbmFyaW9zCi0gICAgcmV0dXJuICZzdworICAgIHJldHVybiBzdwogICBlbmRpZgogICByZXR1cm4gaW5kZW50KHByZXZub25ibGFuayh2OmxudW0tMSkpCiBlbmRmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQvZXJ1YnkudmltIGIvcnVudGltZS9pbmRlbnQvZXJ1YnkudmltCmluZGV4IDgwY2FiNzAuLmFmYWJkNGYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L2VydWJ5LnZpbQorKysgYi9ydW50aW1lL2luZGVudC9lcnVieS52aW0KQEAgLTE5LDYgKzE5LDkgQEAKIGVuZGlmCiB1bmxldCEgYjpkaWRfaW5kZW50CiAKKyIgRm9yY2UgSFRNTCBpbmRlbnQgdG8gbm90IGtlZXAgc3RhdGUuCitsZXQgYjpodG1sX2luZGVudF91c2VzdGF0ZSA9IDAKKwogaWYgJmw6aW5kZW50ZXhwciA9PSAnJwogICBpZiAmbDpjaW5kZW50CiAgICAgbGV0ICZsOmluZGVudGV4cHIgPSAnY2luZGVudCh2OmxudW0pJwpAQCAtMzgsNyArNDEsMTggQEAKICAgZmluaXNoCiBlbmRpZgogCisiIHRoaXMgZmlsZSB1c2VzIGxpbmUgY29udGludWF0aW9ucworbGV0IHM6Y3BvX3NhdiA9ICZjcG8KK3NldCBjcG8mdmltCisKIGZ1bmN0aW9uISBHZXRFcnVieUluZGVudCguLi4pCisgICIgVGhlIHZhbHVlIG9mIGEgc2luZ2xlIHNoaWZ0LXdpZHRoCisgIGlmIGV4aXN0cygnKnNoaWZ0d2lkdGgnKQorICAgIGxldCBzdyA9IHNoaWZ0d2lkdGgoKQorICBlbHNlCisgICAgbGV0IHN3ID0gJnN3CisgIGVuZGlmCisKICAgaWYgYTowICYmIGE6MSA9PSAnLicKICAgICBsZXQgdjpsbnVtID0gbGluZSgnLicpCiAgIGVsc2VpZiBhOjAgJiYgYToxID1+ICdeXGQnCkBAIC01MiwzMSArNjYsNDQgQEAKICAgICBsZXQgaW5kID0gR2V0UnVieUluZGVudCh2OmxudW0pCiAgIGVsc2UKICAgICBleGUgImxldCBpbmQgPSAiLmI6ZXJ1Ynlfc3VidHlwZV9pbmRlbnRleHByCisKKyAgICAiIFdvcmthcm91bmQgZm9yIEFuZHkgV29rdWxhJ3MgSFRNTCBpbmRlbnQuIFRoaXMgc2hvdWxkIGJlIHJlbW92ZWQgYWZ0ZXIKKyAgICAiIHNvbWUgdGltZSwgc2luY2UgdGhlIG5ld2VzdCB2ZXJzaW9uIGlzIGZpeGVkIGluIGEgZGlmZmVyZW50IHdheS4KKyAgICBpZiBiOmVydWJ5X3N1YnR5cGVfaW5kZW50ZXhwciA9fiMgJ15IdG1sSW5kZW50KCcKKwkgIFwgJiYgZXhpc3RzKCdiOmluZGVudCcpCisJICBcICYmIHR5cGUoYjppbmRlbnQpID09IHR5cGUoe30pCisJICBcICYmIGhhc19rZXkoYjppbmRlbnQsICdsbnVtJykKKyAgICAgICIgRm9yY2UgSFRNTCBpbmRlbnQgdG8gbm90IGtlZXAgc3RhdGUKKyAgICAgIGxldCBiOmluZGVudC5sbnVtID0gLTEKKyAgICBlbmRpZgogICBlbmRpZgogICBsZXQgbG51bSA9IHByZXZub25ibGFuayh2OmxudW0tMSkKICAgbGV0IGxpbmUgPSBnZXRsaW5lKGxudW0pCiAgIGxldCBjbGluZSA9IGdldGxpbmUodjpsbnVtKQogICBpZiBjbGluZSA9fiMgJ15ccyo8JVstPV1cPVxzKlwlKH1cfGVuZFx8ZWxzZVx8XCUoZW5zdXJlXHxyZXNjdWVcfGVsc2lmXHx3aGVuXCkuXHstXH1cKVxzKlwlKFstPV1cPSU+XHwkXCknCi0gICAgbGV0IGluZCA9IGluZCAtICZzdworICAgIGxldCBpbmQgPSBpbmQgLSBzdwogICBlbmRpZgogICBpZiBsaW5lID1+IyAnXFNccyo8JVstPV1cPVxzKlwlKH1cfGVuZFwpLlx7LVx9XHMqXCUoWy09XVw9JT5cfCRcKScKLSAgICBsZXQgaW5kID0gaW5kIC0gJnN3CisgICAgbGV0IGluZCA9IGluZCAtIHN3CiAgIGVuZGlmCiAgIGlmIGxpbmUgPX4jICdcJSh7XHxcPGRvXClcJShccyp8W158XSp8XClcPVxzKlstPV1cPSU+JwotICAgIGxldCBpbmQgPSBpbmQgKyAmc3cKKyAgICBsZXQgaW5kID0gaW5kICsgc3cKICAgZWxzZWlmIGxpbmUgPX4jICc8JVstPV1cPVxzKlwlKG1vZHVsZVx8Y2xhc3NcfGRlZlx8aWZcfGZvclx8d2hpbGVcfHVudGlsXHxlbHNlXHxlbHNpZlx8Y2FzZVx8d2hlblx8dW5sZXNzXHxiZWdpblx8ZW5zdXJlXHxyZXNjdWVcKVw+LiolPicKLSAgICBsZXQgaW5kID0gaW5kICsgJnN3CisgICAgbGV0IGluZCA9IGluZCArIHN3CiAgIGVuZGlmCiAgIGlmIGxpbmUgPX4jICdeXHMqPCVbPSMtXVw9XHMqJCcgJiYgY2xpbmUgIX4jICdeXHMqZW5kXD4nCi0gICAgbGV0IGluZCA9IGluZCArICZzdworICAgIGxldCBpbmQgPSBpbmQgKyBzdwogICBlbmRpZgotICBpZiBsaW5lICF+IyAnXlxzKjwlJyAmJiBsaW5lID1+IyAnJT5ccyokJwotICAgIGxldCBpbmQgPSBpbmQgLSAmc3cKKyAgaWYgbGluZSAhfiMgJ15ccyo8JScgJiYgbGluZSA9fiMgJyU+XHMqJCcgJiYgbGluZSAhfiMgJ15ccyplbmRcPicKKyAgICBsZXQgaW5kID0gaW5kIC0gc3cKICAgZW5kaWYKICAgaWYgY2xpbmUgPX4jICdeXHMqWy09XVw9JT5ccyokJwotICAgIGxldCBpbmQgPSBpbmQgLSAmc3cKKyAgICBsZXQgaW5kID0gaW5kIC0gc3cKICAgZW5kaWYKICAgcmV0dXJuIGluZAogZW5kZnVuY3Rpb24KIAorbGV0ICZjcG8gPSBzOmNwb19zYXYKK3VubGV0ISBzOmNwb19zYXYKKwogIiB2aW06c2V0IHN3PTIgc3RzPTIgdHM9OCBub2V0OgpkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQvZm9ydHJhbi52aW0gYi9ydW50aW1lL2luZGVudC9mb3J0cmFuLnZpbQppbmRleCBiZTJmMDg2Li4wMGNjZWQ0IDEwMDY0NAotLS0gYS9ydW50aW1lL2luZGVudC9mb3J0cmFuLnZpbQorKysgYi9ydW50aW1lL2luZGVudC9mb3J0cmFuLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIGluZGVudCBmaWxlCiAiIExhbmd1YWdlOglGb3J0cmFuIDIwMDggKGFuZCBvbGRlcjogRm9ydHJhbiAyMDAzLCA5NSwgOTAsIGFuZCA3NykKICIgVmVyc2lvbjoJMC40NQotIiBMYXN0IENoYW5nZToJMjAxNiBBdWcuIDE4CisiIExhc3QgQ2hhbmdlOgkyMDE2IEF1Zy4gMjkKICIgTWFpbnRhaW5lcjoJQWppdCBKLiBUaGFra2FyIDxhaml0QHVuYi5jYT47IDxodHRwOi8vd3d3Mi51bmIuY2EvfmFqaXQvPgogIiBVc2FnZToJRm9yIGluc3RydWN0aW9ucywgZG8gOmhlbHAgZm9ydHJhbi1pbmRlbnQgZnJvbSBWaW0KICIgQ3JlZGl0czoKQEAgLTE1Miw5ICsxNTIsNiBAQAogICBpZiBwcmV2c3RhdCA9fiAnJlxzKiQnICYmIHByZXYyc3RhdCAhfiAnJlxzKiQnCiAgICAgbGV0IGluZCA9IGluZCArIHNoaWZ0d2lkdGgoKQogICBlbmRpZgotICBpZiBwcmV2c3RhdCA9fiAnJlxzKiQnICYmIHByZXZzdGF0ID1+ICdcPGVsc2VccyppZlw+JwotICAgIGxldCBpbmQgPSBpbmQgLSBzaGlmdHdpZHRoKCkKLSAgZW5kaWYKICAgIkxpbmUgYWZ0ZXIgbGFzdCBjb250aW51YXRpb24gbGluZQogICBpZiBwcmV2c3RhdCAhfiAnJlxzKiQnICYmIHByZXYyc3RhdCA9fiAnJlxzKiQnICYmIHByZXZzdGF0ICF+PyAnXDx0aGVuXD4nCiAgICAgbGV0IGluZCA9IGluZCAtIHNoaWZ0d2lkdGgoKQpkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQvZ2l0Y29uZmlnLnZpbSBiL3J1bnRpbWUvaW5kZW50L2dpdGNvbmZpZy52aW0KaW5kZXggN2Q1ZDQ0Yi4uNDgwYzk2ZCAxMDA2NDQKLS0tIGEvcnVudGltZS9pbmRlbnQvZ2l0Y29uZmlnLnZpbQorKysgYi9ydW50aW1lL2luZGVudC9naXRjb25maWcudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gaW5kZW50IGZpbGUKICIgTGFuZ3VhZ2U6CWdpdCBjb25maWcgZmlsZQogIiBNYWludGFpbmVyOglUaW0gUG9wZSA8dmltTk9TUEFNQHRwb3BlLm9yZz4KLSIgTGFzdCBDaGFuZ2U6CTIwMTMgTWF5IDMwCisiIExhc3QgQ2hhbmdlOgkyMDE2IEF1ZyAyOQogCiBpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCiAgIGZpbmlzaApAQCAtMjAsMTcgKzIwLDE4IEBACiBlbmRpZgogCiBmdW5jdGlvbiEgR2V0R2l0Y29uZmlnSW5kZW50KCkKKyAgbGV0IHN3ICAgID0gZXhpc3RzKCcqc2hpZnR3aWR0aCcpID8gc2hpZnR3aWR0aCgpIDogJnN3CiAgIGxldCBsaW5lICA9IGdldGxpbmUocHJldm5vbmJsYW5rKHY6bG51bS0xKSkKICAgbGV0IGNsaW5lID0gZ2V0bGluZSh2OmxudW0pCiAgIGlmIGxpbmUgPX4gICdcXFxAPCFcJShcXFxcXCkqXFwkJwogICAgICIgb2RkIG51bWJlciBvZiBzbGFzaGVzLCBpbiBhIGxpbmUgY29udGludWF0aW9uCi0gICAgcmV0dXJuIDIgKiAmc3cKKyAgICByZXR1cm4gMiAqIHN3CiAgIGVsc2VpZiBjbGluZSA9fiAnXlxzKlxbJwogICAgIHJldHVybiAwCiAgIGVsc2VpZiBjbGluZSA9fiAnXlxzKlxhJwotICAgIHJldHVybiAmc3cKKyAgICByZXR1cm4gc3cKICAgZWxzZWlmIGNsaW5lID09ICcnICAgICAgICYmIGxpbmUgPX4gJ15cWycKLSAgICByZXR1cm4gJnN3CisgICAgcmV0dXJuIHN3CiAgIGVsc2UKICAgICByZXR1cm4gLTEKICAgZW5kaWYKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L2hhbWwudmltIGIvcnVudGltZS9pbmRlbnQvaGFtbC52aW0KaW5kZXggYzQ3YThhNS4uYzM5MzVhZiAxMDA2NDQKLS0tIGEvcnVudGltZS9pbmRlbnQvaGFtbC52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvaGFtbC52aW0KQEAgLTEsNyArMSw3IEBACiAiIFZpbSBpbmRlbnQgZmlsZQogIiBMYW5ndWFnZToJSGFtbAogIiBNYWludGFpbmVyOglUaW0gUG9wZSA8dmltTk9TUEFNQHRwb3BlLm9yZz4KLSIgTGFzdCBDaGFuZ2U6CTIwMTMgTWF5IDMwCisiIExhc3QgQ2hhbmdlOgkyMDE2IEF1ZyAyOQogCiBpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCiAgIGZpbmlzaApAQCAtMzcsMTAgKzM3LDExIEBACiAgIGxldCBsaW5lID0gc3Vic3RpdHV0ZShsaW5lLCdeXHNcKycsJycsJycpCiAgIGxldCBpbmRlbnQgPSBpbmRlbnQobG51bSkKICAgbGV0IGNpbmRlbnQgPSBpbmRlbnQodjpsbnVtKQorICBsZXQgc3cgPSBleGlzdHMoJypzaGlmdHdpZHRoJykgPyBzaGlmdHdpZHRoKCkgOiAmc3cKICAgaWYgY2xpbmUgPX4jICdcdl4tXHMqJShlbHNpZnxlbHNlfHdoZW4pPicKLSAgICBsZXQgaW5kZW50ID0gY2luZGVudCA8IGluZGVudCA/IGNpbmRlbnQgOiBpbmRlbnQgLSAmc3cKKyAgICBsZXQgaW5kZW50ID0gY2luZGVudCA8IGluZGVudCA/IGNpbmRlbnQgOiBpbmRlbnQgLSBzdwogICBlbmRpZgotICBsZXQgaW5jcmVhc2UgPSBpbmRlbnQgKyAmc3cKKyAgbGV0IGluY3JlYXNlID0gaW5kZW50ICsgc3cKICAgaWYgaW5kZW50ID09IGluZGVudChsbnVtKQogICAgIGxldCBpbmRlbnQgPSBjaW5kZW50IDw9IGluZGVudCA/IC0xIDogaW5jcmVhc2UKICAgZW5kaWYKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L2xpcXVpZC52aW0gYi9ydW50aW1lL2luZGVudC9saXF1aWQudmltCmluZGV4IDAxZTcyMjMuLmY4ZTFjODMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L2xpcXVpZC52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvbGlxdWlkLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIGluZGVudCBmaWxlCiAiIExhbmd1YWdlOiAgICAgTGlxdWlkCiAiIE1haW50YWluZXI6ICAgVGltIFBvcGUgPHZpbU5PU1BBTUB0cG9wZS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDEzIE1heSAzMAorIiBMYXN0IENoYW5nZToJMjAxNiBBdWcgMjkKIAogaWYgZXhpc3RzKCdiOmRpZF9pbmRlbnQnKQogICBmaW5pc2gKQEAgLTU0LDkgKzU0LDEwIEBACiAgIGxldCBsaW5lICA9IHN1YnN0aXR1dGUobGluZSwnXENeXCUoXHMqeyVccyplbmRcdypccyolfVwpXCsnLCcnLCcnKQogICBsZXQgbGluZSAuPSBtYXRjaHN0cihjbGluZSwnXENeXCUoXHMqeyVccyplbmRcdypccyolfVwpXCsnKQogICBsZXQgY2xpbmUgPSBzdWJzdGl0dXRlKGNsaW5lLCdcQ15cJShccyp7JVxzKmVuZFx3KlxzKiV9XClcKycsJycsJycpCi0gIGxldCBpbmQgKz0gJnN3ICogczpjb3VudChsaW5lLCd7JVxzKlwlKGlmXHxlbHNpZlx8ZWxzZVx8dW5sZXNzXHxpZmNoYW5nZWRcfGNhc2VcfHdoZW5cfGZvclx8ZW1wdHlcfHRhYmxlcm93XHxjYXB0dXJlXClcPicpCi0gIGxldCBpbmQgLT0gJnN3ICogczpjb3VudChsaW5lLCd7JVxzKmVuZFwlKGlmXHx1bmxlc3NcfGlmY2hhbmdlZFx8Y2FzZVx8Zm9yXHx0YWJsZXJvd1x8Y2FwdHVyZVwpXD4nKQotICBsZXQgaW5kIC09ICZzdyAqIHM6Y291bnQoY2xpbmUsJ3slXHMqXCUoZWxzaWZcfGVsc2VcfHdoZW5cfGVtcHR5XClcPicpCi0gIGxldCBpbmQgLT0gJnN3ICogczpjb3VudChjbGluZSwneyVccyplbmRcdyokJykKKyAgbGV0IHN3ID0gZXhpc3RzKCcqc2hpZnR3aWR0aCcpID8gc2hpZnR3aWR0aCgpIDogJnN3CisgIGxldCBpbmQgKz0gc3cgKiBzOmNvdW50KGxpbmUsJ3slXHMqXCUoaWZcfGVsc2lmXHxlbHNlXHx1bmxlc3NcfGlmY2hhbmdlZFx8Y2FzZVx8d2hlblx8Zm9yXHxlbXB0eVx8dGFibGVyb3dcfGNhcHR1cmVcKVw+JykKKyAgbGV0IGluZCAtPSBzdyAqIHM6Y291bnQobGluZSwneyVccyplbmRcJShpZlx8dW5sZXNzXHxpZmNoYW5nZWRcfGNhc2VcfGZvclx8dGFibGVyb3dcfGNhcHR1cmVcKVw+JykKKyAgbGV0IGluZCAtPSBzdyAqIHM6Y291bnQoY2xpbmUsJ3slXHMqXCUoZWxzaWZcfGVsc2VcfHdoZW5cfGVtcHR5XClcPicpCisgIGxldCBpbmQgLT0gc3cgKiBzOmNvdW50KGNsaW5lLCd7JVxzKmVuZFx3KiQnKQogICByZXR1cm4gaW5kCiBlbmRmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQvcnVieS52aW0gYi9ydW50aW1lL2luZGVudC9ydWJ5LnZpbQppbmRleCAwOTViM2E0Li40Zjg3ZWM3IDEwMDY0NAotLS0gYS9ydW50aW1lL2luZGVudC9ydWJ5LnZpbQorKysgYi9ydW50aW1lL2luZGVudC9ydWJ5LnZpbQpAQCAtMTMsMTIgKzEzLDIzIEBACiBlbmRpZgogbGV0IGI6ZGlkX2luZGVudCA9IDEKIAoraWYgIWV4aXN0cygnZzpydWJ5X2luZGVudF9hY2Nlc3NfbW9kaWZpZXJfc3R5bGUnKQorICAiIFBvc3NpYmxlIHZhbHVlczogIm5vcm1hbCIsICJpbmRlbnQiLCAib3V0ZGVudCIKKyAgbGV0IGc6cnVieV9pbmRlbnRfYWNjZXNzX21vZGlmaWVyX3N0eWxlID0gJ25vcm1hbCcKK2VuZGlmCisKK2lmICFleGlzdHMoJ2c6cnVieV9pbmRlbnRfYmxvY2tfc3R5bGUnKQorICAiIFBvc3NpYmxlIHZhbHVlczogImV4cHJlc3Npb24iLCAiZG8iCisgIGxldCBnOnJ1YnlfaW5kZW50X2Jsb2NrX3N0eWxlID0gJ2V4cHJlc3Npb24nCitlbmRpZgorCiBzZXRsb2NhbCBub3NtYXJ0aW5kZW50CiAKICIgTm93LCBzZXQgdXAgb3VyIGluZGVudGF0aW9uIGV4cHJlc3Npb24gYW5kIGtleXMgdGhhdCB0cmlnZ2VyIGl0Lgogc2V0bG9jYWwgaW5kZW50ZXhwcj1HZXRSdWJ5SW5kZW50KHY6bG51bSkKLXNldGxvY2FsIGluZGVudGtleXM9MHssMH0sMCksMF0sIV5GLG8sTyxlCitzZXRsb2NhbCBpbmRlbnRrZXlzPTB7LDB9LDApLDBdLCFeRixvLE8sZSw6LC4KIHNldGxvY2FsIGluZGVudGtleXMrPT1lbmQsPWVsc2UsPWVsc2lmLD13aGVuLD1lbnN1cmUsPXJlc2N1ZSw9PWJlZ2luLD09ZW5kCitzZXRsb2NhbCBpbmRlbnRrZXlzKz09cHJpdmF0ZSw9cHJvdGVjdGVkLD1wdWJsaWMKIAogIiBPbmx5IGRlZmluZSB0aGUgZnVuY3Rpb24gb25jZS4KIGlmIGV4aXN0cygiKkdldFJ1YnlJbmRlbnQiKQpAQCAtMzQsNyArNDUsNyBAQAogIiBSZWdleCBvZiBzeW50YXggZ3JvdXAgbmFtZXMgdGhhdCBhcmUgb3IgZGVsaW1pdCBzdHJpbmdzL3N5bWJvbHMgb3IgYXJlIGNvbW1lbnRzLgogbGV0IHM6c3luZ19zdHJjb20gPSAnXDxydWJ5XCUoUmVnZXhwXHxSZWdleHBEZWxpbWl0ZXJcfFJlZ2V4cEVzY2FwZScgLgogICAgICAgXCAnXHxTeW1ib2xcfFN0cmluZ1x8U3RyaW5nRGVsaW1pdGVyXHxTdHJpbmdFc2NhcGVcfEFTQ0lJQ29kZScgLgotICAgICAgXCAnXHxJbnRlcnBvbGF0aW9uXHxOb0ludGVycG9sYXRpb25cfENvbW1lbnRcfERvY3VtZW50YXRpb25cKVw+JworICAgICAgXCAnXHxJbnRlcnBvbGF0aW9uXHxJbnRlcnBvbGF0aW9uRGVsaW1pdGVyXHxOb0ludGVycG9sYXRpb25cfENvbW1lbnRcfERvY3VtZW50YXRpb25cKVw+JwogCiAiIFJlZ2V4IG9mIHN5bnRheCBncm91cCBuYW1lcyB0aGF0IGFyZSBzdHJpbmdzLgogbGV0IHM6c3luZ19zdHJpbmcgPQpAQCAtNDksOSArNjAsMTAgQEAKICAgICAgIFwgInN5bklEYXR0cihzeW5JRChsaW5lKCcuJyksY29sKCcuJyksMSksJ25hbWUnKSA9fiAnIi5zOnN5bmdfc3RyY29tLiInIgogCiAiIFJlZ2V4IHVzZWQgZm9yIHdvcmRzIHRoYXQsIGF0IHRoZSBzdGFydCBvZiBhIGxpbmUsIGFkZCBhIGxldmVsIG9mIGluZGVudC4KLWxldCBzOnJ1YnlfaW5kZW50X2tleXdvcmRzID0gJ15ccypcenNcPFwlKG1vZHVsZVx8Y2xhc3NcfGRlZlx8aWZcfGZvcicgLgotICAgICAgXCAnXHx3aGlsZVx8dW50aWxcfGVsc2VcfGVsc2lmXHxjYXNlXHx3aGVuXHx1bmxlc3NcfGJlZ2luXHxlbnN1cmUnIC4KLSAgICAgIFwgJ1x8cmVzY3VlXCk6XEAhXD4nIC4KK2xldCBzOnJ1YnlfaW5kZW50X2tleXdvcmRzID0KKyAgICAgIFwgJ15ccypcenNcPFwlKG1vZHVsZVx8Y2xhc3NcfGlmXHxmb3InIC4KKyAgICAgIFwgICAnXHx3aGlsZVx8dW50aWxcfGVsc2VcfGVsc2lmXHxjYXNlXHx3aGVuXHx1bmxlc3NcfGJlZ2luXHxlbnN1cmVcfHJlc2N1ZScgLgorICAgICAgXCAgICdcfFwlKHB1YmxpY1x8cHJvdGVjdGVkXHxwcml2YXRlXClcPVxzKmRlZlwpOlxAIVw+JyAuCiAgICAgICBcICdcfFwlKFs9LCovJSstXVx8PDxcfD4+XHw6XHNcKVxzKlx6cycgLgogICAgICAgXCAgICAnXDxcJShpZlx8Zm9yXHx3aGlsZVx8dW50aWxcfGNhc2VcfHVubGVzc1x8YmVnaW5cKTpcQCFcPicKIApAQCAtNjQsNyArNzYsOCBAQAogIiBUT0RPOiB0aGUgZG8gaGVyZSBzaG91bGQgYmUgcmVzdHJpY3RlZCBzb21ld2hhdCAob25seSBhdCBlbmQgb2YgbGluZSk/CiBsZXQgczplbmRfc3RhcnRfcmVnZXggPQogICAgICAgXCAnXENcJSheXHMqXHxbPSwqLyUrXC18O3tdXHw8PFx8Pj5cfDpcc1wpXHMqXHpzJyAuCi0gICAgICBcICdcPFwlKG1vZHVsZVx8Y2xhc3NcfGRlZlx8aWZcfGZvclx8d2hpbGVcfHVudGlsXHxjYXNlXHx1bmxlc3NcfGJlZ2luXCk6XEAhXD4nIC4KKyAgICAgIFwgJ1w8XCUobW9kdWxlXHxjbGFzc1x8aWZcfGZvclx8d2hpbGVcfHVudGlsXHxjYXNlXHx1bmxlc3NcfGJlZ2luJyAuCisgICAgICBcICAgJ1x8XCUocHVibGljXHxwcm90ZWN0ZWRcfHByaXZhdGVcKVw9XHMqZGVmXCk6XEAhXD4nIC4KICAgICAgIFwgJ1x8XCUoXlx8W14uOkAkXVwpXEA8PVw8ZG86XEAhXD4nCiAKICIgUmVnZXggdGhhdCBkZWZpbmVzIHRoZSBtaWRkbGUtbWF0Y2ggZm9yIHRoZSAnZW5kJyBrZXl3b3JkLgpAQCAtODIsMTYgKzk1LDM1IEBACiBsZXQgczpub25fYnJhY2tldF9jb250aW51YXRpb25fcmVnZXggPSAnXCUoW1xcLiw6Ki8lK11cfFw8YW5kXHxcPG9yXHxcJSg8JVwpXEA8IVs9LV1cfFxXW3wmP11cfHx8XHwmJlwpXHMqXCUoIy4qXClcPSQnCiAKICIgUmVnZXggdGhhdCBkZWZpbmVzIGNvbnRpbnVhdGlvbiBsaW5lcy4KLSIgVE9ETzogdGhpcyBuZWVkcyB0byBkZWFsIHdpdGggaWYgLi4uOiBhbmQgc28gb24KIGxldCBzOmNvbnRpbnVhdGlvbl9yZWdleCA9CiAgICAgICBcICdcJSglXEA8IVsoe1tcXC4sOiovJStdXHxcPGFuZFx8XDxvclx8XCUoPCVcKVxAPCFbPS1dXHxcV1t8Jj9dXHx8fFx8JiZcKVxzKlwlKCMuKlwpXD0kJwogCisiIFJlZ2V4IHRoYXQgZGVmaW5lcyBjb250aW51YWJsZSBrZXl3b3JkcworbGV0IHM6Y29udGludWFibGVfcmVnZXggPQorICAgICAgXCAnXENcJSheXHMqXHxbPSwqLyUrXC18O3tdXHw8PFx8Pj5cfDpcc1wpXHMqXHpzJyAuCisgICAgICBcICdcPFwlKGlmXHxmb3JcfHdoaWxlXHx1bnRpbFx8dW5sZXNzXCk6XEAhXD4nCisKICIgUmVnZXggdGhhdCBkZWZpbmVzIGJyYWNrZXQgY29udGludWF0aW9ucwogbGV0IHM6YnJhY2tldF9jb250aW51YXRpb25fcmVnZXggPSAnJVxAPCFcJShbKHtbXVwpXHMqXCUoIy4qXClcPSQnCiAKKyIgUmVnZXggdGhhdCBkZWZpbmVzIGRvdCBjb250aW51YXRpb25zCitsZXQgczpkb3RfY29udGludWF0aW9uX3JlZ2V4ID0gJyVcQDwhXC5ccypcJSgjLipcKVw9JCcKKworIiBSZWdleCB0aGF0IGRlZmluZXMgYmFja3NsYXNoIGNvbnRpbnVhdGlvbnMKK2xldCBzOmJhY2tzbGFzaF9jb250aW51YXRpb25fcmVnZXggPSAnJVxAPCFcXFxzKiQnCisKKyIgUmVnZXggdGhhdCBkZWZpbmVzIGVuZCBvZiBicmFja2V0IGNvbnRpbnVhdGlvbiBmb2xsb3dlZCBieSBhbm90aGVyIGNvbnRpbnVhdGlvbgorbGV0IHM6YnJhY2tldF9zd2l0Y2hfY29udGludWF0aW9uX3JlZ2V4ID0gJ15cKFteKF1cK1x6cykuXCtcKVwrJy5zOmNvbnRpbnVhdGlvbl9yZWdleAorCiAiIFJlZ2V4IHRoYXQgZGVmaW5lcyB0aGUgZmlyc3QgcGFydCBvZiBhIHNwbGF0IHBhdHRlcm4KIGxldCBzOnNwbGF0X3JlZ2V4ID0gJ1tbLChdXHMqXCpccypcJSgjLipcKVw9JCcKIAorIiBSZWdleCB0aGF0IGRlc2NyaWJlcyBhbGwgaW5kZW50IGFjY2VzcyBtb2RpZmllcnMKK2xldCBzOmFjY2Vzc19tb2RpZmllcl9yZWdleCA9ICdcQ15ccypcJShwdWJsaWNcfHByb3RlY3RlZFx8cHJpdmF0ZVwpXHMqXCUoIy4qXClcPSQnCisKKyIgUmVnZXggdGhhdCBkZXNjcmliZXMgdGhlIGluZGVudCBhY2Nlc3MgbW9kaWZpZXJzIChleGNsdWRlcyBwdWJsaWMpCitsZXQgczppbmRlbnRfYWNjZXNzX21vZGlmaWVyX3JlZ2V4ID0gJ1xDXlxzKlwlKHByb3RlY3RlZFx8cHJpdmF0ZVwpXHMqXCUoIy4qXClcPSQnCisKICIgUmVnZXggdGhhdCBkZWZpbmVzIGJsb2Nrcy4KICIKICIgTm90ZSB0aGF0IHRoZXJlJ3MgYSBzbGlnaHQgcHJvYmxlbSB3aXRoIHRoaXMgcmVnZXggYW5kIHM6Y29udGludWF0aW9uX3JlZ2V4LgpAQCAtMTAyLDEwICsxMzQsMTMgQEAKICIgVGhlIHJlYXNvbiBpcyB0aGF0IHRoZSBwaXBlIG1hdGNoZXMgYSBoYW5naW5nICJ8IiBvcGVyYXRvci4KICIKIGxldCBzOmJsb2NrX3JlZ2V4ID0KLSAgICAgIFwgJ1wlKFw8ZG86XEAhXD5cfCVcQDwhe1wpXHMqXCUofFxzKigqXHMqXCUoWypAJl1cPVxoXHcqLFw9XHMqXClcJSgsXHMqKCpccypbKkAmXVw9XGhcdypccyopKlxzKlwpKnxcKVw9XHMqXCUoIy4qXClcPSQnCisgICAgICBcICdcJShcPGRvOlxAIVw+XHwlXEA8IXtcKVxzKlwlKHxbXnxdKnxcKVw9XHMqXCUoIy4qXClcPSQnCiAKIGxldCBzOmJsb2NrX2NvbnRpbnVhdGlvbl9yZWdleCA9ICdeXHMqW15dKX1cdCBdLionLnM6YmxvY2tfcmVnZXgKIAorIiBSZWdleCB0aGF0IGRlc2NyaWJlcyBhIGxlYWRpbmcgb3BlcmF0b3IgKG9ubHkgYSBtZXRob2QgY2FsbCdzIGRvdCBmb3Igbm93KQorbGV0IHM6bGVhZGluZ19vcGVyYXRvcl9yZWdleCA9ICdeXHMqWy5dJworCiAiIDIuIEF1eGlsaWFyeSBGdW5jdGlvbnMge3t7MQogIiA9PT09PT09PT09PT09PT09PT09PT09CiAKQEAgLTE2NSw3ICsyMDAsMjEgQEAKICAgICAiIE90aGVyd2lzZSwgdGVybWluYXRlIHNlYXJjaCBhcyB3ZSBoYXZlIGZvdW5kIG91ciBNU0wgYWxyZWFkeS4KICAgICBsZXQgbGluZSA9IGdldGxpbmUobG51bSkKIAotICAgIGlmIHM6TWF0Y2gobG51bSwgczpzcGxhdF9yZWdleCkKKyAgICBpZiAhczpNYXRjaChtc2wsIHM6YmFja3NsYXNoX2NvbnRpbnVhdGlvbl9yZWdleCkgJiYKKyAgICAgICAgICBcIHM6TWF0Y2gobG51bSwgczpiYWNrc2xhc2hfY29udGludWF0aW9uX3JlZ2V4KQorICAgICAgIiBJZiB0aGUgY3VycmVudCBsaW5lIGRvZXNuJ3QgZW5kIGluIGEgYmFja3NsYXNoLCBidXQgdGhlIHByZXZpb3VzIG9uZQorICAgICAgIiBkb2VzLCBsb29rIGZvciB0aGF0IGxpbmUncyBtc2wKKyAgICAgICIKKyAgICAgICIgRXhhbXBsZToKKyAgICAgICIgICBmb28gPSAiYmFyIiBcCisgICAgICAiICAgICAiYmF6IgorICAgICAgIgorICAgICAgbGV0IG1zbCA9IGxudW0KKyAgICBlbHNlaWYgczpNYXRjaChtc2wsIHM6bGVhZGluZ19vcGVyYXRvcl9yZWdleCkKKyAgICAgICIgSWYgdGhlIGN1cnJlbnQgbGluZSBzdGFydHMgd2l0aCBhIGxlYWRpbmcgb3BlcmF0b3IsIGtlZXAgaXRzIGluZGVudAorICAgICAgIiBhbmQga2VlcCBsb29raW5nIGZvciBhbiBNU0wuCisgICAgICBsZXQgbXNsID0gbG51bQorICAgIGVsc2VpZiBzOk1hdGNoKGxudW0sIHM6c3BsYXRfcmVnZXgpCiAgICAgICAiIElmIHRoZSBhYm92ZSBsaW5lIGxvb2tzIGxpa2UgdGhlICIqIiBvZiBhIHNwbGF0LCB1c2UgdGhlIGN1cnJlbnQgb25lJ3MKICAgICAgICIgaW5kZW50YXRpb24uCiAgICAgICAiCkBAIC0xNzUsNyArMjI0LDcgQEAKICAgICAgICIgICAgICAgc29tZXRoaW5nCiAgICAgICAiCiAgICAgICByZXR1cm4gbXNsCi0gICAgZWxzZWlmIHM6TWF0Y2gobGluZSwgczpub25fYnJhY2tldF9jb250aW51YXRpb25fcmVnZXgpICYmCisgICAgZWxzZWlmIHM6TWF0Y2gobG51bSwgczpub25fYnJhY2tldF9jb250aW51YXRpb25fcmVnZXgpICYmCiAgICAgICAgICAgXCBzOk1hdGNoKG1zbCwgczpub25fYnJhY2tldF9jb250aW51YXRpb25fcmVnZXgpCiAgICAgICAiIElmIHRoZSBjdXJyZW50IGxpbmUgaXMgYSBub24tYnJhY2tldCBjb250aW51YXRpb24gYW5kIHNvIGlzIHRoZQogICAgICAgIiBwcmV2aW91cyBvbmUsIGtlZXAgaXRzIGluZGVudCBhbmQgY29udGludWUgbG9va2luZyBmb3IgYW4gTVNMLgpAQCAtMTg2LDYgKzIzNSwxOCBAQAogICAgICAgIiAgICAgdGhyZWUKICAgICAgICIKICAgICAgIGxldCBtc2wgPSBsbnVtCisgICAgZWxzZWlmIHM6TWF0Y2gobG51bSwgczpkb3RfY29udGludWF0aW9uX3JlZ2V4KSAmJgorICAgICAgICAgIFwgKHM6TWF0Y2gobXNsLCBzOmJyYWNrZXRfY29udGludWF0aW9uX3JlZ2V4KSB8fCBzOk1hdGNoKG1zbCwgczpibG9ja19jb250aW51YXRpb25fcmVnZXgpKQorICAgICAgIiBJZiB0aGUgY3VycmVudCBsaW5lIGlzIGEgYnJhY2tldCBjb250aW51YXRpb24gb3IgYSBibG9jay1zdGFydGVyLCBidXQKKyAgICAgICIgdGhlIHByZXZpb3VzIGlzIGEgZG90LCBrZWVwIGdvaW5nIHRvIHNlZSBpZiB0aGUgcHJldmlvdXMgbGluZSBpcyB0aGUKKyAgICAgICIgc3RhcnQgb2YgYW5vdGhlciBjb250aW51YXRpb24uCisgICAgICAiCisgICAgICAiIEV4YW1wbGU6CisgICAgICAiICAgcGFyZW50LgorICAgICAgIiAgICAgbWV0aG9kX2NhbGwgeworICAgICAgIiAgICAgdGhyZWUKKyAgICAgICIKKyAgICAgIGxldCBtc2wgPSBsbnVtCiAgICAgZWxzZWlmIHM6TWF0Y2gobG51bSwgczpub25fYnJhY2tldF9jb250aW51YXRpb25fcmVnZXgpICYmCiAgICAgICAgICAgXCAoczpNYXRjaChtc2wsIHM6YnJhY2tldF9jb250aW51YXRpb25fcmVnZXgpIHx8IHM6TWF0Y2gobXNsLCBzOmJsb2NrX2NvbnRpbnVhdGlvbl9yZWdleCkpCiAgICAgICAiIElmIHRoZSBjdXJyZW50IGxpbmUgaXMgYSBicmFja2V0IGNvbnRpbnVhdGlvbiBvciBhIGJsb2NrLXN0YXJ0ZXIsIGJ1dApAQCAtMjk5LDE4ICszNjAsMzkgQEAKIGVuZGZ1bmN0aW9uCiAKIGZ1bmN0aW9uIHM6TWF0Y2gobG51bSwgcmVnZXgpCi0gIGxldCBjb2wgPSBtYXRjaChnZXRsaW5lKGE6bG51bSksICdcQycuYTpyZWdleCkgKyAxCi0gIHJldHVybiBjb2wgPiAwICYmICFzOklzSW5TdHJpbmdPckNvbW1lbnQoYTpsbnVtLCBjb2wpID8gY29sIDogMAorICBsZXQgbGluZSAgID0gZ2V0bGluZShhOmxudW0pCisgIGxldCBvZmZzZXQgPSBtYXRjaChsaW5lLCAnXEMnLmE6cmVnZXgpCisgIGxldCBjb2wgICAgPSBvZmZzZXQgKyAxCisKKyAgd2hpbGUgb2Zmc2V0ID4gLTEgJiYgczpJc0luU3RyaW5nT3JDb21tZW50KGE6bG51bSwgY29sKQorICAgIGxldCBvZmZzZXQgPSBtYXRjaChsaW5lLCAnXEMnLmE6cmVnZXgsIG9mZnNldCArIDEpCisgICAgbGV0IGNvbCA9IG9mZnNldCArIDEKKyAgZW5kd2hpbGUKKworICBpZiBvZmZzZXQgPiAtMQorICAgIHJldHVybiBjb2wKKyAgZWxzZQorICAgIHJldHVybiAwCisgIGVuZGlmCiBlbmRmdW5jdGlvbgogCi1mdW5jdGlvbiBzOk1hdGNoTGFzdChsbnVtLCByZWdleCkKLSAgbGV0IGxpbmUgPSBnZXRsaW5lKGE6bG51bSkKLSAgbGV0IGNvbCA9IG1hdGNoKGxpbmUsICcuKlx6cycgLiBhOnJlZ2V4KQotICB3aGlsZSBjb2wgIT0gLTEgJiYgczpJc0luU3RyaW5nT3JDb21tZW50KGE6bG51bSwgY29sKQotICAgIGxldCBsaW5lID0gc3RycGFydChsaW5lLCAwLCBjb2wpCi0gICAgbGV0IGNvbCA9IG1hdGNoKGxpbmUsICcuKicgLiBhOnJlZ2V4KQotICBlbmR3aGlsZQotICByZXR1cm4gY29sICsgMQorIiBMb2NhdGVzIHRoZSBjb250YWluaW5nIGNsYXNzL21vZHVsZSdzIGRlZmluaXRpb24gbGluZSwgaWdub3JpbmcgbmVzdGVkIGNsYXNzZXMKKyIgYWxvbmcgdGhlIHdheS4KKyIKK2Z1bmN0aW9uISBzOkZpbmRDb250YWluaW5nQ2xhc3MoKQorICBsZXQgc2F2ZWRfcG9zaXRpb24gPSBnZXRwb3MoJy4nKQorCisgIHdoaWxlIHNlYXJjaHBhaXIoczplbmRfc3RhcnRfcmVnZXgsIHM6ZW5kX21pZGRsZV9yZWdleCwgczplbmRfZW5kX3JlZ2V4LCAnYlcnLAorICAgICAgICBcIHM6ZW5kX3NraXBfZXhwcikgPiAwCisgICAgaWYgZXhwYW5kKCc8Y3dvcmQ+JykgPX4jICdcPGNsYXNzXHxtb2R1bGVcPicKKyAgICAgIGxldCBmb3VuZF9sbnVtID0gbGluZSgnLicpCisgICAgICBjYWxsIHNldHBvcygnLicsIHNhdmVkX3Bvc2l0aW9uKQorICAgICAgcmV0dXJuIGZvdW5kX2xudW0KKyAgICBlbmRpZgorICBlbmRpZgorCisgIGNhbGwgc2V0cG9zKCcuJywgc2F2ZWRfcG9zaXRpb24pCisgIHJldHVybiAwCiBlbmRmdW5jdGlvbgogCiAiIDMuIEdldFJ1YnlJbmRlbnQgRnVuY3Rpb24ge3t7MQpAQCAtMzIwLDYgKzQwMiwxMyBAQAogICAiIDMuMS4gU2V0dXAge3t7MgogICAiIC0tLS0tLS0tLS0KIAorICAiIFRoZSB2YWx1ZSBvZiBhIHNpbmdsZSBzaGlmdC13aWR0aAorICBpZiBleGlzdHMoJypzaGlmdHdpZHRoJykKKyAgICBsZXQgc3cgPSBzaGlmdHdpZHRoKCkKKyAgZWxzZQorICAgIGxldCBzdyA9ICZzdworICBlbmRpZgorCiAgICIgRm9yIHRoZSBjdXJyZW50IGxpbmUsIHVzZSB0aGUgZmlyc3QgYXJndW1lbnQgaWYgZ2l2ZW4sIGVsc2UgdjpsbnVtCiAgIGxldCBjbG51bSA9IGE6MCA/IGE6MSA6IHY6bG51bQogCkBAIC0zMzMsNiArNDIyLDI0IEBACiAgIGxldCBsaW5lID0gZ2V0bGluZShjbG51bSkKICAgbGV0IGluZCA9IC0xCiAKKyAgIiBJZiB0aGlzIGxpbmUgaXMgYW4gYWNjZXNzIG1vZGlmaWVyIGtleXdvcmQsIGFsaWduIGFjY29yZGluZyB0byB0aGUgY2xvc2VzdAorICAiIGNsYXNzIGRlY2xhcmF0aW9uLgorICBpZiBnOnJ1YnlfaW5kZW50X2FjY2Vzc19tb2RpZmllcl9zdHlsZSA9PSAnaW5kZW50JworICAgIGlmIHM6TWF0Y2goY2xudW0sIHM6YWNjZXNzX21vZGlmaWVyX3JlZ2V4KQorICAgICAgbGV0IGNsYXNzX2xpbmUgPSBzOkZpbmRDb250YWluaW5nQ2xhc3MoKQorICAgICAgaWYgY2xhc3NfbGluZSA+IDAKKyAgICAgICAgcmV0dXJuIGluZGVudChjbGFzc19saW5lKSArIHN3CisgICAgICBlbmRpZgorICAgIGVuZGlmCisgIGVsc2VpZiBnOnJ1YnlfaW5kZW50X2FjY2Vzc19tb2RpZmllcl9zdHlsZSA9PSAnb3V0ZGVudCcKKyAgICBpZiBzOk1hdGNoKGNsbnVtLCBzOmFjY2Vzc19tb2RpZmllcl9yZWdleCkKKyAgICAgIGxldCBjbGFzc19saW5lID0gczpGaW5kQ29udGFpbmluZ0NsYXNzKCkKKyAgICAgIGlmIGNsYXNzX2xpbmUgPiAwCisgICAgICAgIHJldHVybiBpbmRlbnQoY2xhc3NfbGluZSkKKyAgICAgIGVuZGlmCisgICAgZW5kaWYKKyAgZW5kaWYKKwogICAiIElmIHdlIGdvdCBhIGNsb3NpbmcgYnJhY2tldCBvbiBhbiBlbXB0eSBsaW5lLCBmaW5kIGl0cyBtYXRjaCBhbmQgaW5kZW50CiAgICIgYWNjb3JkaW5nIHRvIGl0LiAgRm9yIHBhcmVudGhlc2VzIHdlIGluZGVudCB0byBpdHMgY29sdW1uIC0gMSwgZm9yIHRoZQogICAiIG90aGVycyB3ZSBpbmRlbnQgdG8gdGhlIGNvbnRhaW5pbmcgbGluZSdzIE1TTCdzIGxldmVsLiAgUmV0dXJuIC0xIGlmIGZhaWwuCkBAIC0zNDMsNyArNDUwLDkgQEAKICAgICBpZiBzZWFyY2hwYWlyKGVzY2FwZShic1swXSwgJ1xbJyksICcnLCBic1sxXSwgJ2JXJywgczpza2lwX2V4cHIpID4gMAogICAgICAgaWYgbGluZVtjb2wtMV09PScpJyAmJiBjb2woJy4nKSAhPSBjb2woJyQnKSAtIDEKICAgICAgICAgbGV0IGluZCA9IHZpcnRjb2woJy4nKSAtIDEKLSAgICAgIGVsc2UKKyAgICAgIGVsc2VpZiBnOnJ1YnlfaW5kZW50X2Jsb2NrX3N0eWxlID09ICdkbycKKyAgICAgICAgbGV0IGluZCA9IGluZGVudChsaW5lKCcuJykpCisgICAgICBlbHNlICIgZzpydWJ5X2luZGVudF9ibG9ja19zdHlsZSA9PSAnZXhwcmVzc2lvbicKICAgICAgICAgbGV0IGluZCA9IGluZGVudChzOkdldE1TTChsaW5lKCcuJykpKQogICAgICAgZW5kaWYKICAgICBlbmRpZgpAQCAtMzY2LDEwICs0NzUsMTcgQEAKIAogICAgICAgaWYgc3RycGFydChsaW5lLCAwLCBjb2woJy4nKSAtIDEpID1+ICc9XHMqJCcgJiYKICAgICAgICAgICAgIFwgc3RycGFydChsaW5lLCBjb2woJy4nKSAtIDEsIDIpICF+ICdkbycKKyAgICAgICAgIiBhc3NpZ25tZW50IHRvIGNhc2UvYmVnaW4vZXRjLCBvbiB0aGUgc2FtZSBsaW5lLCBoYW5naW5nIGluZGVudAogICAgICAgICBsZXQgaW5kID0gdmlydGNvbCgnLicpIC0gMQorICAgICAgZWxzZWlmIGc6cnVieV9pbmRlbnRfYmxvY2tfc3R5bGUgPT0gJ2RvJworICAgICAgICAiIGFsaWduIHRvIGxpbmUgb2YgdGhlICJkbyIsIG5vdCB0byB0aGUgTVNMCisgICAgICAgIGxldCBpbmQgPSBpbmRlbnQobGluZSgnLicpKQogICAgICAgZWxzZWlmIGdldGxpbmUobXNsKSA9fiAnPVxzKlwoIy4qXClcPSQnCisgICAgICAgICIgaW4gdGhlIGNhc2Ugb2YgYXNzaWdubWVudCB0byB0aGUgTVNMLCBhbGlnbiB0byB0aGUgc3RhcnRpbmcgbGluZSwKKyAgICAgICAgIiBub3QgdG8gdGhlIE1TTAogICAgICAgICBsZXQgaW5kID0gaW5kZW50KGxpbmUoJy4nKSkKICAgICAgIGVsc2UKKyAgICAgICAgIiBhbGlnbiB0byB0aGUgTVNMCiAgICAgICAgIGxldCBpbmQgPSBpbmRlbnQobXNsKQogICAgICAgZW5kaWYKICAgICBlbmRpZgpAQCAtMzg5LDYgKzUwNSwxMSBAQAogICAgIHJldHVybiAwCiAgIGVuZGlmCiAKKyAgIiBJZiB0aGUgY3VycmVudCBsaW5lIHN0YXJ0cyB3aXRoIGEgbGVhZGluZyBvcGVyYXRvciwgYWRkIGEgbGV2ZWwgb2YgaW5kZW50LgorICBpZiBzOk1hdGNoKGNsbnVtLCBzOmxlYWRpbmdfb3BlcmF0b3JfcmVnZXgpCisgICAgcmV0dXJuIGluZGVudChzOkdldE1TTChjbG51bSkpICsgc3cKKyAgZW5kaWYKKwogICAiIDMuMy4gV29yayBvbiB0aGUgcHJldmlvdXMgbGluZS4ge3t7MgogICAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtNDA5LDE0ICs1MzAsNTAgQEAKICAgbGV0IGxpbmUgPSBnZXRsaW5lKGxudW0pCiAgIGxldCBpbmQgPSBpbmRlbnQobG51bSkKIAorICBpZiBnOnJ1YnlfaW5kZW50X2FjY2Vzc19tb2RpZmllcl9zdHlsZSA9PSAnaW5kZW50JworICAgICIgSWYgdGhlIHByZXZpb3VzIGxpbmUgd2FzIGEgcHJpdmF0ZS9wcm90ZWN0ZWQga2V5d29yZCwgYWRkIGEKKyAgICAiIGxldmVsIG9mIGluZGVudC4KKyAgICBpZiBzOk1hdGNoKGxudW0sIHM6aW5kZW50X2FjY2Vzc19tb2RpZmllcl9yZWdleCkKKyAgICAgIHJldHVybiBpbmRlbnQobG51bSkgKyBzdworICAgIGVuZGlmCisgIGVsc2VpZiBnOnJ1YnlfaW5kZW50X2FjY2Vzc19tb2RpZmllcl9zdHlsZSA9PSAnb3V0ZGVudCcKKyAgICAiIElmIHRoZSBwcmV2aW91cyBsaW5lIHdhcyBhIHByaXZhdGUvcHJvdGVjdGVkL3B1YmxpYyBrZXl3b3JkLCBhZGQKKyAgICAiIGEgbGV2ZWwgb2YgaW5kZW50LCBzaW5jZSB0aGUga2V5d29yZCBoYXMgYmVlbiBvdXQtZGVudGVkLgorICAgIGlmIHM6TWF0Y2gobG51bSwgczphY2Nlc3NfbW9kaWZpZXJfcmVnZXgpCisgICAgICByZXR1cm4gaW5kZW50KGxudW0pICsgc3cKKyAgICBlbmRpZgorICBlbmRpZgorCisgIGlmIHM6TWF0Y2gobG51bSwgczpjb250aW51YWJsZV9yZWdleCkgJiYgczpNYXRjaChsbnVtLCBzOmNvbnRpbnVhdGlvbl9yZWdleCkKKyAgICByZXR1cm4gaW5kZW50KHM6R2V0TVNMKGxudW0pKSArIHN3ICsgc3cKKyAgZW5kaWYKKwogICAiIElmIHRoZSBwcmV2aW91cyBsaW5lIGVuZGVkIHdpdGggYSBibG9jayBvcGVuaW5nLCBhZGQgYSBsZXZlbCBvZiBpbmRlbnQuCiAgIGlmIHM6TWF0Y2gobG51bSwgczpibG9ja19yZWdleCkKLSAgICByZXR1cm4gaW5kZW50KHM6R2V0TVNMKGxudW0pKSArICZzdworICAgIGxldCBtc2wgPSBzOkdldE1TTChsbnVtKQorCisgICAgaWYgZzpydWJ5X2luZGVudF9ibG9ja19zdHlsZSA9PSAnZG8nCisgICAgICAiIGRvbid0IGFsaWduIHRvIHRoZSBtc2wsIGFsaWduIHRvIHRoZSAiZG8iCisgICAgICBsZXQgaW5kID0gaW5kZW50KGxudW0pICsgc3cKKyAgICBlbHNlaWYgZ2V0bGluZShtc2wpID1+ICc9XHMqXCgjLipcKVw9JCcKKyAgICAgICIgaW4gdGhlIGNhc2Ugb2YgYXNzaWdubWVudCB0byB0aGUgbXNsLCBhbGlnbiB0byB0aGUgc3RhcnRpbmcgbGluZSwKKyAgICAgICIgbm90IHRvIHRoZSBtc2wKKyAgICAgIGxldCBpbmQgPSBpbmRlbnQobG51bSkgKyBzdworICAgIGVsc2UKKyAgICAgIGxldCBpbmQgPSBpbmRlbnQobXNsKSArIHN3CisgICAgZW5kaWYKKyAgICByZXR1cm4gaW5kCisgIGVuZGlmCisKKyAgIiBJZiB0aGUgcHJldmlvdXMgbGluZSBzdGFydGVkIHdpdGggYSBsZWFkaW5nIG9wZXJhdG9yLCB1c2UgaXRzIE1TTCdzIGxldmVsCisgICIgb2YgaW5kZW50CisgIGlmIHM6TWF0Y2gobG51bSwgczpsZWFkaW5nX29wZXJhdG9yX3JlZ2V4KQorICAgIHJldHVybiBpbmRlbnQoczpHZXRNU0wobG51bSkpCiAgIGVuZGlmCiAKICAgIiBJZiB0aGUgcHJldmlvdXMgbGluZSBlbmRlZCB3aXRoIHRoZSAiKiIgb2YgYSBzcGxhdCwgYWRkIGEgbGV2ZWwgb2YgaW5kZW50CiAgIGlmIGxpbmUgPX4gczpzcGxhdF9yZWdleAotICAgIHJldHVybiBpbmRlbnQobG51bSkgKyAmc3cKKyAgICByZXR1cm4gaW5kZW50KGxudW0pICsgc3cKICAgZW5kaWYKIAogICAiIElmIHRoZSBwcmV2aW91cyBsaW5lIGNvbnRhaW5lZCB1bmNsb3NlZCBvcGVuaW5nIGJyYWNrZXRzIGFuZCB3ZSBhcmUgc3RpbGwKQEAgLTQzMSwyMiArNTg4LDIyIEBACiAgICAgaWYgb3BlbmluZy5wb3MgIT0gLTEKICAgICAgIGlmIG9wZW5pbmcudHlwZSA9PSAnKCcgJiYgc2VhcmNocGFpcignKCcsICcnLCAnKScsICdiVycsIHM6c2tpcF9leHByKSA+IDAKICAgICAgICAgaWYgY29sKCcuJykgKyAxID09IGNvbCgnJCcpCi0gICAgICAgICAgcmV0dXJuIGluZCArICZzdworICAgICAgICAgIHJldHVybiBpbmQgKyBzdwogICAgICAgICBlbHNlCiAgICAgICAgICAgcmV0dXJuIHZpcnRjb2woJy4nKQogICAgICAgICBlbmRpZgogICAgICAgZWxzZQogICAgICAgICBsZXQgbm9uc3BhY2UgPSBtYXRjaGVuZChsaW5lLCAnXFMnLCBvcGVuaW5nLnBvcyArIDEpIC0gMQotICAgICAgICByZXR1cm4gbm9uc3BhY2UgPiAwID8gbm9uc3BhY2UgOiBpbmQgKyAmc3cKKyAgICAgICAgcmV0dXJuIG5vbnNwYWNlID4gMCA/IG5vbnNwYWNlIDogaW5kICsgc3cKICAgICAgIGVuZGlmCiAgICAgZWxzZWlmIGNsb3NpbmcucG9zICE9IC0xCiAgICAgICBjYWxsIGN1cnNvcihsbnVtLCBjbG9zaW5nLnBvcyArIDEpCiAgICAgICBub3JtYWwhICUKIAogICAgICAgaWYgczpNYXRjaChsaW5lKCcuJyksIHM6cnVieV9pbmRlbnRfa2V5d29yZHMpCi0gICAgICAgIHJldHVybiBpbmRlbnQoJy4nKSArICZzdworICAgICAgICByZXR1cm4gaW5kZW50KCcuJykgKyBzdwogICAgICAgZWxzZQotICAgICAgICByZXR1cm4gaW5kZW50KCcuJykKKyAgICAgICAgcmV0dXJuIGluZGVudChzOkdldE1TTChsaW5lKCcuJykpKQogICAgICAgZW5kaWYKICAgICBlbHNlCiAgICAgICBjYWxsIGN1cnNvcihjbG51bSwgdmNvbCkKQEAgLTQ3Myw3ICs2MzAsNyBAQAogICBsZXQgY29sID0gczpNYXRjaChsbnVtLCBzOnJ1YnlfaW5kZW50X2tleXdvcmRzKQogICBpZiBjb2wgPiAwCiAgICAgY2FsbCBjdXJzb3IobG51bSwgY29sKQotICAgIGxldCBpbmQgPSB2aXJ0Y29sKCcuJykgLSAxICsgJnN3CisgICAgbGV0IGluZCA9IHZpcnRjb2woJy4nKSAtIDEgKyBzdwogICAgICIgVE9ETzogbWFrZSB0aGlzIGJldHRlciAod2UgbmVlZCB0byBjb3VudCB0aGVtKSAob3IsIGlmIGEgc2VhcmNocGFpcgogICAgICIgZmFpbHMsIHdlIGtub3cgdGhhdCBzb21ldGhpbmcgaXMgbGFja2luZyBhbiBlbmQgYW5kIHRodXMgd2UgaW5kZW50IGEKICAgICAiIGxldmVsCkBAIC00OTAsMTAgKzY0NywxNCBAQAogICBsZXQgcF9sbnVtID0gbG51bQogICBsZXQgbG51bSA9IHM6R2V0TVNMKGxudW0pCiAKLSAgIiBJZiB0aGUgcHJldmlvdXMgbGluZSB3YXNuJ3QgYSBNU0wgYW5kIGlzIGNvbnRpbnVhdGlvbiByZXR1cm4gaXRzIGluZGVudC4KLSAgIiBUT0RPOiB0aGUgfHwgczpJc0luU3RyaW5nKCkgdGhpbmcgd29ycmllcyBtZSBhIGJpdC4KKyAgIiBJZiB0aGUgcHJldmlvdXMgbGluZSB3YXNuJ3QgYSBNU0wuCiAgIGlmIHBfbG51bSAhPSBsbnVtCi0gICAgaWYgczpNYXRjaChwX2xudW0sIHM6bm9uX2JyYWNrZXRfY29udGludWF0aW9uX3JlZ2V4KSB8fCBzOklzSW5TdHJpbmcocF9sbnVtLHN0cmxlbihsaW5lKSkKKyAgICAiIElmIHByZXZpb3VzIGxpbmUgZW5kcyBicmFja2V0IGFuZCBiZWdpbnMgbm9uLWJyYWNrZXQgY29udGludWF0aW9uIGRlY3JlYXNlIGluZGVudCBieSAxLgorICAgIGlmIHM6TWF0Y2gocF9sbnVtLCBzOmJyYWNrZXRfc3dpdGNoX2NvbnRpbnVhdGlvbl9yZWdleCkKKyAgICAgIHJldHVybiBpbmQgLSAxCisgICAgIiBJZiBwcmV2aW91cyBsaW5lIGlzIGEgY29udGludWF0aW9uIHJldHVybiBpdHMgaW5kZW50LgorICAgICIgVE9ETzogdGhlIHx8IHM6SXNJblN0cmluZygpIHRoaW5nIHdvcnJpZXMgbWUgYSBiaXQuCisgICAgZWxzZWlmIHM6TWF0Y2gocF9sbnVtLCBzOm5vbl9icmFja2V0X2NvbnRpbnVhdGlvbl9yZWdleCkgfHwgczpJc0luU3RyaW5nKHBfbG51bSxzdHJsZW4obGluZSkpCiAgICAgICByZXR1cm4gaW5kCiAgICAgZW5kaWYKICAgZW5kaWYKQEAgLTUwNiw5ICs2NjcsOSBAQAogICAiIFRPRE86IHRoaXMgZG9lcyBub3QgdGFrZSBpbnRvIGFjY291bnQgY29udHJpdmVkIHRoaW5ncyBzdWNoIGFzCiAgICIgbW9kdWxlIEZvbzsgY2xhc3MgQmFyOyBlbmQKICAgaWYgczpNYXRjaChsbnVtLCBzOnJ1YnlfaW5kZW50X2tleXdvcmRzKQotICAgIGxldCBpbmQgPSBtc2xfaW5kICsgJnN3CisgICAgbGV0IGluZCA9IG1zbF9pbmQgKyBzdwogICAgIGlmIHM6TWF0Y2gobG51bSwgczplbmRfZW5kX3JlZ2V4KQotICAgICAgbGV0IGluZCA9IGluZCAtICZzdworICAgICAgbGV0IGluZCA9IGluZCAtIHN3CiAgICAgZW5kaWYKICAgICByZXR1cm4gaW5kCiAgIGVuZGlmCkBAIC01MTcsNyArNjc4LDcgQEAKICAgIiBjbG9zaW5nIGJyYWNrZXQsIGluZGVudCBvbmUgZXh0cmEgbGV2ZWwuCiAgIGlmIHM6TWF0Y2gobG51bSwgczpub25fYnJhY2tldF9jb250aW51YXRpb25fcmVnZXgpICYmICFzOk1hdGNoKGxudW0sICdeXHMqXChbXF0pfV1cfGVuZFwpJykKICAgICBpZiBsbnVtID09IHBfbG51bQotICAgICAgbGV0IGluZCA9IG1zbF9pbmQgKyAmc3cKKyAgICAgIGxldCBpbmQgPSBtc2xfaW5kICsgc3cKICAgICBlbHNlCiAgICAgICBsZXQgaW5kID0gbXNsX2luZAogICAgIGVuZGlmCmRpZmYgLS1naXQgYS9ydW50aW1lL2luZGVudC9zYXNzLnZpbSBiL3J1bnRpbWUvaW5kZW50L3Nhc3MudmltCmluZGV4IGI2ZTJlNjYuLmQ4N2IzNzEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L3Nhc3MudmltCisrKyBiL3J1bnRpbWUvaW5kZW50L3Nhc3MudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gaW5kZW50IGZpbGUKICIgTGFuZ3VhZ2U6CVNhc3MKICIgTWFpbnRhaW5lcjoJVGltIFBvcGUgPHZpbU5PU1BBTUB0cG9wZS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDEzIE1heSAzMAorIiBMYXN0IENoYW5nZToJMjAxNiBBdWcgMjkKIAogaWYgZXhpc3RzKCJiOmRpZF9pbmRlbnQiKQogICBmaW5pc2gKQEAgLTI5LDkgKzI5LDcgQEAKICAgbGV0IGluZGVudCA9IGluZGVudChsbnVtKQogICBsZXQgY2luZGVudCA9IGluZGVudCh2OmxudW0pCiAgIGlmIGxpbmUgIX4gczpwcm9wZXJ0eSAmJiBsaW5lICF+IHM6ZXh0ZW5kICYmIGNsaW5lID1+IHM6cHJvcGVydHkKLSAgICByZXR1cm4gaW5kZW50ICsgJnN3Ci0gICJlbHNlaWYgbGluZSA9fiBzOnByb3BlcnR5ICYmIGNsaW5lICF+IHM6cHJvcGVydHkKLSAgICAicmV0dXJuIGluZGVudCAtICZzdworICAgIHJldHVybiBpbmRlbnQgKyAoZXhpc3RzKCcqc2hpZnR3aWR0aCcpID8gc2hpZnR3aWR0aCgpIDogJnN3KQogICBlbHNlCiAgICAgcmV0dXJuIC0xCiAgIGVuZGlmCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hNjUudmltIGIvcnVudGltZS9zeW50YXgvYTY1LnZpbQppbmRleCA5NDE5OGU2Li41YWRlODA5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9hNjUudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2E2NS52aW0KQEAgLTMsMTEgKzMsOCBAQAogIiBNYWludGFpbmVyOglDbGVtZW5zIEtpcmNoZ2F0dGVyZXIgPGNsZW1lbnNAMTU0MS5vcmc+CiAiIExhc3QgQ2hhbmdlOgkyMDE0IEphbiAwNQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTM4LDI5ICsxMzUsMjEgQEAKIHN5biBtYXRjaCAgYTY1Q29udGludWUJIlxcJCIgY29udGFpbmVkCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2E2NV9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9hNjVfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBhNjVTZWN0aW9uCVNwZWNpYWwKLSAgSGlMaW5rIGE2NUFkZHJlc3MJU3BlY2lhbAotICBIaUxpbmsgYTY1Q29tbWVudAlDb21tZW50Ci0gIEhpTGluayBhNjVQcmVQcm9jCVByZVByb2MKLSAgSGlMaW5rIGE2NU51bWJlcglOdW1iZXIKLSAgSGlMaW5rIGE2NVN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIGE2NVR5cGUJU3RhdGVtZW50Ci0gIEhpTGluayBhNjVPcGNvZGUJVHlwZQotICBIaUxpbmsgYTY1UEMJCUVycm9yCi0gIEhpTGluayBhNjVUb2RvCVRvZG8KLSAgSGlMaW5rIGE2NUhpTG8JTnVtYmVyCitIaUxpbmsgYTY1U2VjdGlvbglTcGVjaWFsCitIaUxpbmsgYTY1QWRkcmVzcwlTcGVjaWFsCitIaUxpbmsgYTY1Q29tbWVudAlDb21tZW50CitIaUxpbmsgYTY1UHJlUHJvYwlQcmVQcm9jCitIaUxpbmsgYTY1TnVtYmVyCU51bWJlcgorSGlMaW5rIGE2NVN0cmluZwlTdHJpbmcKK0hpTGluayBhNjVUeXBlCVN0YXRlbWVudAorSGlMaW5rIGE2NU9wY29kZQlUeXBlCitIaUxpbmsgYTY1UEMJCUVycm9yCitIaUxpbmsgYTY1VG9kbwlUb2RvCitIaUxpbmsgYTY1SGlMbwlOdW1iZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImE2NSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FiYXAudmltIGIvcnVudGltZS9zeW50YXgvYWJhcC52aW0KaW5kZXggMWQxZjZhZi4uYWM1NTA0YSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYWJhcC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvYWJhcC52aW0KQEAgLTUsMTEgKzUsOCBAQAogIiBMYXN0IENoYW5nZTogMjAxMyBKdW4gMTMKICIgICAgIENvbW1lbnQ6IFRoYW5rcyB0byBFUEktVVNFIExhYnMgZm9yIGFsbCB5b3VyIGFzc2lzdGFuY2UuIDopCiAKLSIgRm9yIHZlcnNpb24gIDwgNi4wOiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uID49IDYuMDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC00MywxMSArNDAsNyBAQAogc3luIG1hdGNoICAgYWJhcE51bWJlciAgIlwtXD1cPFxkXCtcPiIKIHN5biByZWdpb24gIGFiYXBIZXggICAgIG1hdGNoZ3JvdXA9YWJhcEhleCBzdGFydD0iWCciIGVuZD0iJyIKIAotaWYgdmVyc2lvbiA+PSA2MDAKLSAgc2V0bG9jYWwgaXNrZXl3b3JkPTQ4LTU3LF8sQS1aLGEteiwvCi1lbHNlCi0gIHNldCBpc2tleXdvcmQ9NDgtNTcsXyxBLVosYS16LC8KLWVuZGlmCitzZXRsb2NhbCBpc2tleXdvcmQ9NDgtNTcsXyxBLVosYS16LC8KIAogc3luIG1hdGNoICAgYWJhcE5hbWVzcGFjZSAgICAgICAgIlw8L1x3XCsvIgogCkBAIC0xNzUsMzggKzE2OCwzMCBAQAogc3luIG1hdGNoICAgYWJhcFRvZG8gICAgICJcI0VDXFdcK1x3XCsiCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FiYXBfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfYWJhcF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGFiYXBFcnJvciAgICAgICAgICBFcnJvcgotICBIaUxpbmsgYWJhcENvbW1lbnQgICAgICAgIENvbW1lbnQKLSAgSGlMaW5rIGFiYXBJbmNsdWRlICAgICAgICBJbmNsdWRlCi0gIEhpTGluayBhYmFwU3RhdGVtZW50ICAgICAgU3RhdGVtZW50Ci0gIEhpTGluayBhYmFwQ29tcGxleFN0YXRlbWVudCAgICAgIFN0YXRlbWVudAotICBIaUxpbmsgYWJhcFNwZWNpYWwgICAgICAgIFNwZWNpYWwKLSAgSGlMaW5rIGFiYXBOYW1lc3BhY2UgICAgICBTcGVjaWFsCi0gIEhpTGluayBhYmFwU3BlY2lhbFRhYmxlcyAgU3BlY2lhbAotICBIaUxpbmsgYWJhcFN5bWJvbE9wZXJhdG9yIGFiYXBPcGVyYXRvcgotICBIaUxpbmsgYWJhcE9wZXJhdG9yICAgICAgIE9wZXJhdG9yCi0gIEhpTGluayBhYmFwQ2hhclN0cmluZyAgICAgU3RyaW5nCi0gIEhpTGluayBhYmFwU3RyaW5nICAgICAgICAgU3RyaW5nCi0gIEhpTGluayBhYmFwRmxvYXQgICAgICAgICAgRmxvYXQKLSAgSGlMaW5rIGFiYXBUeXBlcyAgICAgICAgICBUeXBlCi0gIEhpTGluayBhYmFwU3ltYm9sICAgICAgICAgU3RydWN0dXJlCi0gIEhpTGluayBhYmFwU3RydWN0dXJlICAgICAgU3RydWN0dXJlCi0gIEhpTGluayBhYmFwRmllbGQgICAgICAgICAgVmFyaWFibGUKLSAgSGlMaW5rIGFiYXBOdW1iZXIgICAgICAgICBOdW1iZXIKLSAgSGlMaW5rIGFiYXBIZXggICAgICAgICAgICBOdW1iZXIKK0hpTGluayBhYmFwRXJyb3IgICAgICAgICAgRXJyb3IKK0hpTGluayBhYmFwQ29tbWVudCAgICAgICAgQ29tbWVudAorSGlMaW5rIGFiYXBJbmNsdWRlICAgICAgICBJbmNsdWRlCitIaUxpbmsgYWJhcFN0YXRlbWVudCAgICAgIFN0YXRlbWVudAorSGlMaW5rIGFiYXBDb21wbGV4U3RhdGVtZW50ICAgICAgU3RhdGVtZW50CitIaUxpbmsgYWJhcFNwZWNpYWwgICAgICAgIFNwZWNpYWwKK0hpTGluayBhYmFwTmFtZXNwYWNlICAgICAgU3BlY2lhbAorSGlMaW5rIGFiYXBTcGVjaWFsVGFibGVzICBTcGVjaWFsCitIaUxpbmsgYWJhcFN5bWJvbE9wZXJhdG9yIGFiYXBPcGVyYXRvcgorSGlMaW5rIGFiYXBPcGVyYXRvciAgICAgICBPcGVyYXRvcgorSGlMaW5rIGFiYXBDaGFyU3RyaW5nICAgICBTdHJpbmcKK0hpTGluayBhYmFwU3RyaW5nICAgICAgICAgU3RyaW5nCitIaUxpbmsgYWJhcEZsb2F0ICAgICAgICAgIEZsb2F0CitIaUxpbmsgYWJhcFR5cGVzICAgICAgICAgIFR5cGUKK0hpTGluayBhYmFwU3ltYm9sICAgICAgICAgU3RydWN0dXJlCitIaUxpbmsgYWJhcFN0cnVjdHVyZSAgICAgIFN0cnVjdHVyZQorSGlMaW5rIGFiYXBGaWVsZCAgICAgICAgICBWYXJpYWJsZQorSGlMaW5rIGFiYXBOdW1iZXIgICAgICAgICBOdW1iZXIKK0hpTGluayBhYmFwSGV4ICAgICAgICAgICAgTnVtYmVyCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhYmFwIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hYmFxdXMudmltIGIvcnVudGltZS9zeW50YXgvYWJhcXVzLnZpbQppbmRleCBjZjRiMDgyLi5kZGYwMjU1IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9hYmFxdXMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2FiYXF1cy52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiBMYXN0IENoYW5nZToJMjAwMiBGZWIgMjQKICIgUmVtYXJrOglIdWdlIGltcHJvdmVtZW50IGluIGZvbGRpbmcgcGVyZm9ybWFuY2UtLXNlZSBmaWxldHlwZSBwbHVnaW4KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTI1LDI0ICsyMiwxNiBAQAogc3luIG1hdGNoIGFiYXF1c0JhZExpbmUJIl5cc1wrXCouKiIgZGlzcGxheQogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hYmFxdXNfc3luX2luaXRzIikKLQlpZiB2ZXJzaW9uIDwgNTA4Ci0JCWxldCBkaWRfYWJhcXVzX3N5bl9pbml0cyA9IDEKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLQllbHNlCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotCWVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCSIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKLQlIaUxpbmsgYWJhcXVzQ29tbWVudAlDb21tZW50Ci0JSGlMaW5rIGFiYXF1c0tleXdvcmQJU3RhdGVtZW50Ci0JSGlMaW5rIGFiYXF1c1BhcmFtZXRlcglJZGVudGlmaWVyCi0JSGlMaW5rIGFiYXF1c1ZhbHVlCUNvbnN0YW50Ci0JSGlMaW5rIGFiYXF1c0JhZExpbmUgICAgRXJyb3IKKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKK0hpTGluayBhYmFxdXNDb21tZW50CUNvbW1lbnQKK0hpTGluayBhYmFxdXNLZXl3b3JkCVN0YXRlbWVudAorSGlMaW5rIGFiYXF1c1BhcmFtZXRlcglJZGVudGlmaWVyCitIaUxpbmsgYWJhcXVzVmFsdWUJQ29uc3RhbnQKK0hpTGluayBhYmFxdXNCYWRMaW5lICAgIEVycm9yCiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImFiYXF1cyIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FiYy52aW0gYi9ydW50aW1lL3N5bnRheC9hYmMudmltCmluZGV4IDNkYzA5OGUuLjY4ZjBjZjEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2FiYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvYWJjLnZpbQpAQCAtNCwxMSArNCw4IEBACiAiIFVSTDoJCWh0dHA6Ly9wZXJ1bi5oc2NzLndtaW4uYWMudWsvfmpyYS92aW0vc3ludGF4L2FiYy52aW0KICIgTGFzdCBDaGFuZ2U6CTI3dGggQXByaWwgMjAwMQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMzYsMjggKzMzLDIwIEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYWJjX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2FiY19zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGFiY0NvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIGFiY0hlYWRGaWVsZAkJVHlwZQotICBIaUxpbmsgYWJjQm9keUZpZWxkCQlTcGVjaWFsCi0gIEhpTGluayBhYmNCYXIJCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGFiY1R1cGxlCQkJU3RhdGVtZW50Ci0gIEhpTGluayBhYmNCcm9rZW4JCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGFiY1RpZQkJCVN0YXRlbWVudAotICBIaUxpbmsgYWJjR3VpdGFyQ2hvcmQJSWRlbnRpZmllcgotICBIaUxpbmsgYWJjTm90ZQkJCUNvbnN0YW50CitIaUxpbmsgYWJjQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGFiY0hlYWRGaWVsZAkJVHlwZQorSGlMaW5rIGFiY0JvZHlGaWVsZAkJU3BlY2lhbAorSGlMaW5rIGFiY0JhcgkJCVN0YXRlbWVudAorSGlMaW5rIGFiY1R1cGxlCQkJU3RhdGVtZW50CitIaUxpbmsgYWJjQnJva2VuCQkJU3RhdGVtZW50CitIaUxpbmsgYWJjVGllCQkJU3RhdGVtZW50CitIaUxpbmsgYWJjR3VpdGFyQ2hvcmQJSWRlbnRpZmllcgorSGlMaW5rIGFiY05vdGUJCQlDb25zdGFudAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYWJjIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hYmVsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FiZWwudmltCmluZGV4IDA1ZThkYWMuLmRmYTg3MmYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2FiZWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2FiZWwudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJSm9obiBDb29rIDxqb2huY29vazNAZ21haWwuY29tPgogIiBMYXN0IENoYW5nZToJMjAxMSBEZWMgMjcKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTEyMyw0OCArMTIwLDQwIEBACiBzeW4gc3luYyBtaW5saW5lcz0xCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FiZWxfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfYWJlbF9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0gIEhpTGluayBhYmVsSGVhZGVyCQlhYmVsU3RhdGVtZW50Ci0gIEhpTGluayBhYmVsU2VjdGlvbgkJYWJlbFN0YXRlbWVudAotICBIaUxpbmsgYWJlbERlY2xhcmF0aW9uCWFiZWxTdGF0ZW1lbnQKLSAgSGlMaW5rIGFiZWxMb2dpY2FsT3BlcmF0b3IJYWJlbE9wZXJhdG9yCi0gIEhpTGluayBhYmVsUmFuZ2VPcGVyYXRvcglhYmVsT3BlcmF0b3IKLSAgSGlMaW5rIGFiZWxBbHRlcm5hdGVPcGVyYXRvcglhYmVsT3BlcmF0b3IKLSAgSGlMaW5rIGFiZWxBcml0aG1ldGljT3BlcmF0b3IJYWJlbE9wZXJhdG9yCi0gIEhpTGluayBhYmVsUmVsYXRpb25hbE9wZXJhdG9yCWFiZWxPcGVyYXRvcgotICBIaUxpbmsgYWJlbEFzc2lnbm1lbnRPcGVyYXRvcglhYmVsT3BlcmF0b3IKLSAgSGlMaW5rIGFiZWxUcnV0aFRhYmxlT3BlcmF0b3IJYWJlbE9wZXJhdG9yCi0gIEhpTGluayBhYmVsU3BlY2lmaWVyCQlhYmVsU3RhdGVtZW50Ci0gIEhpTGluayBhYmVsT3BlcmF0b3IJCWFiZWxTdGF0ZW1lbnQKLSAgSGlMaW5rIGFiZWxTdGF0ZW1lbnQJCVN0YXRlbWVudAotICBIaUxpbmsgYWJlbElkZW50aWZpZXIJCUlkZW50aWZpZXIKLSAgSGlMaW5rIGFiZWxUeXBlSWQJCWFiZWxUeXBlCi0gIEhpTGluayBhYmVsVHlwZUlkQ2hhcgkJYWJlbFR5cGUKLSAgSGlMaW5rIGFiZWxUeXBlCQlUeXBlCi0gIEhpTGluayBhYmVsTnVtYmVyCQlhYmVsU3RyaW5nCi0gIEhpTGluayBhYmVsU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIGFiZWxDb25zdGFudAkJQ29uc3RhbnQKLSAgSGlMaW5rIGFiZWxDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBhYmVsRXh0ZW5zaW9uCQlhYmVsU3BlY2lhbAotICBIaUxpbmsgYWJlbFNwZWNpYWxDaGFyCWFiZWxTcGVjaWFsCi0gIEhpTGluayBhYmVsVHlwZUlkRW5kCQlhYmVsU3BlY2lhbAotICBIaUxpbmsgYWJlbFNwZWNpYWwJCVNwZWNpYWwKLSAgSGlMaW5rIGFiZWxEaXJlY3RpdmUJCVByZVByb2MKLSAgSGlMaW5rIGFiZWxUb2RvCQlUb2RvCi0gIEhpTGluayBhYmVsRXJyb3IJCUVycm9yCisiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KK0hpTGluayBhYmVsSGVhZGVyCQlhYmVsU3RhdGVtZW50CitIaUxpbmsgYWJlbFNlY3Rpb24JCWFiZWxTdGF0ZW1lbnQKK0hpTGluayBhYmVsRGVjbGFyYXRpb24JYWJlbFN0YXRlbWVudAorSGlMaW5rIGFiZWxMb2dpY2FsT3BlcmF0b3IJYWJlbE9wZXJhdG9yCitIaUxpbmsgYWJlbFJhbmdlT3BlcmF0b3IJYWJlbE9wZXJhdG9yCitIaUxpbmsgYWJlbEFsdGVybmF0ZU9wZXJhdG9yCWFiZWxPcGVyYXRvcgorSGlMaW5rIGFiZWxBcml0aG1ldGljT3BlcmF0b3IJYWJlbE9wZXJhdG9yCitIaUxpbmsgYWJlbFJlbGF0aW9uYWxPcGVyYXRvcglhYmVsT3BlcmF0b3IKK0hpTGluayBhYmVsQXNzaWdubWVudE9wZXJhdG9yCWFiZWxPcGVyYXRvcgorSGlMaW5rIGFiZWxUcnV0aFRhYmxlT3BlcmF0b3IJYWJlbE9wZXJhdG9yCitIaUxpbmsgYWJlbFNwZWNpZmllcgkJYWJlbFN0YXRlbWVudAorSGlMaW5rIGFiZWxPcGVyYXRvcgkJYWJlbFN0YXRlbWVudAorSGlMaW5rIGFiZWxTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIGFiZWxJZGVudGlmaWVyCQlJZGVudGlmaWVyCitIaUxpbmsgYWJlbFR5cGVJZAkJYWJlbFR5cGUKK0hpTGluayBhYmVsVHlwZUlkQ2hhcgkJYWJlbFR5cGUKK0hpTGluayBhYmVsVHlwZQkJVHlwZQorSGlMaW5rIGFiZWxOdW1iZXIJCWFiZWxTdHJpbmcKK0hpTGluayBhYmVsU3RyaW5nCQlTdHJpbmcKK0hpTGluayBhYmVsQ29uc3RhbnQJCUNvbnN0YW50CitIaUxpbmsgYWJlbENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBhYmVsRXh0ZW5zaW9uCQlhYmVsU3BlY2lhbAorSGlMaW5rIGFiZWxTcGVjaWFsQ2hhcglhYmVsU3BlY2lhbAorSGlMaW5rIGFiZWxUeXBlSWRFbmQJCWFiZWxTcGVjaWFsCitIaUxpbmsgYWJlbFNwZWNpYWwJCVNwZWNpYWwKK0hpTGluayBhYmVsRGlyZWN0aXZlCQlQcmVQcm9jCitIaUxpbmsgYWJlbFRvZG8JCVRvZG8KK0hpTGluayBhYmVsRXJyb3IJCUVycm9yCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhYmVsIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hY2VkYi52aW0gYi9ydW50aW1lL3N5bnRheC9hY2VkYi52aW0KaW5kZXggMTE0ZTRhYi4uNDNjZWMzYSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYWNlZGIudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2FjZWRiLnZpbQpAQCAtNywxMSArNyw4IEBACiAiIFN5bnRheCBmaWxlIHRvIGhhbmRsZSBhbGwgJEFDRURCL3dzcGVjLyoud3JtIGZpbGVzLCBwcmltYXJpbHkgbW9kZWxzLndybQogIiBBY2VEQiBzb2Z0d2FyZSBpcyBhdmFpbGFibGUgZnJvbSBodHRwOi8vd3d3LmFjZWRiLm9yZwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtODYsMzUgKzgzLDI3IEBACiAiIFJlc3Qgb2Ygc3ludGF4IGhpZ2hsaWdodGluZyBydWxlcyBzdGFydCBoZXJlCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FjZWRiX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2FjZWRiX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgYWNlZGJNYWdpYwlTcGVjaWFsCi0gIEhpTGluayBhY2VkYkh5YglTcGVjaWFsCi0gIEhpTGluayBhY2VkYlR5cGUJVHlwZQotICBIaUxpbmsgYWNlZGJPcHRpb24JVHlwZQotICBIaUxpbmsgYWNlZGJTdWJjbGFzcwlUeXBlCi0gIEhpTGluayBhY2VkYlN1YnRhZwlJbmNsdWRlCi0gIEhpTGluayBhY2VkYkZsYWcJSW5jbHVkZQotICBIaUxpbmsgYWNlZGJUYWcJSW5jbHVkZQotICBIaUxpbmsgYWNlZGJDbGFzcwlUb2RvCi0gIEhpTGluayBhY2VkYkhlbHAJVG9kbwotICBIaUxpbmsgYWNlZGJYcmVmCUlkZW50aWZpZXIKLSAgSGlMaW5rIGFjZWRiTW9kaWZpZXIJTGFiZWwKLSAgSGlMaW5rIGFjZWRiQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBhY2VkYkJsb2NrCU1vZGVNc2cKLSAgSGlMaW5rIGFjZWRiTnVtYmVyCU51bWJlcgotICBIaUxpbmsgYWNlZGJTdHJpbmcJU3RyaW5nCitIaUxpbmsgYWNlZGJNYWdpYwlTcGVjaWFsCitIaUxpbmsgYWNlZGJIeWIJU3BlY2lhbAorSGlMaW5rIGFjZWRiVHlwZQlUeXBlCitIaUxpbmsgYWNlZGJPcHRpb24JVHlwZQorSGlMaW5rIGFjZWRiU3ViY2xhc3MJVHlwZQorSGlMaW5rIGFjZWRiU3VidGFnCUluY2x1ZGUKK0hpTGluayBhY2VkYkZsYWcJSW5jbHVkZQorSGlMaW5rIGFjZWRiVGFnCUluY2x1ZGUKK0hpTGluayBhY2VkYkNsYXNzCVRvZG8KK0hpTGluayBhY2VkYkhlbHAJVG9kbworSGlMaW5rIGFjZWRiWHJlZglJZGVudGlmaWVyCitIaUxpbmsgYWNlZGJNb2RpZmllcglMYWJlbAorSGlMaW5rIGFjZWRiQ29tbWVudAlDb21tZW50CitIaUxpbmsgYWNlZGJCbG9jawlNb2RlTXNnCitIaUxpbmsgYWNlZGJOdW1iZXIJTnVtYmVyCitIaUxpbmsgYWNlZGJTdHJpbmcJU3RyaW5nCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhY2VkYiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYWZsZXgudmltIGIvcnVudGltZS9zeW50YXgvYWZsZXgudmltCmluZGV4IDU5MmM5OGUuLjIxYjc4ZDAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2FmbGV4LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9hZmxleC52aW0KQEAgLTcsMjEgKzcsMTQgQEAKICIgQ29tbWVudDoJUmVwbGFjZWQgc291cmNpbmcgYy52aW0gZmlsZSBieSBhZGEudmltIGFuZCByZW5hbWUgbGV4KgogIgkJaW4gYWZsZXgqCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICBmaW5pc2gKIGVuZGlmCiAKICIgUmVhZCB0aGUgQWRhIHN5bnRheCB0byBzdGFydCB3aXRoCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICBzbyA8c2ZpbGU+OnA6aC9hZGEudmltCi1lbHNlCi0gICBydW50aW1lISBzeW50YXgvYWRhLnZpbQotICAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9hZGEudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CiAKIAogIiAtLS0gQWZMZXggc3R1ZmYgLS0tCkBAIC02OSwzMSArNjIsMjIgQEAKIHN5biBzeW5jIG1hdGNoIGFmbGV4U3luY1BhdAlncm91cHRoZXJlIGFmbGV4UGF0QmxvY2sJIl4lJSQiCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CitIaUxpbmsJYWZsZXhTbGFzaFF1b3RlCWFmbGV4UGF0CitIaUxpbmsJYWZsZXhCcmFjZQkJYWZsZXhQYXQKK0hpTGluayBhZmxleEFiYnJ2Q29tbWVudAlhZmxleFBhdENvbW1lbnQKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FmbGV4X3N5bnRheF9pbml0cyIpCi0gICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgICBsZXQgZGlkX2FmbGV4X3N5bnRheF9pbml0cyA9IDEKLSAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICBlbHNlCi0gICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgIGVuZGlmCi0gIEhpTGluawlhZmxleFNsYXNoUXVvdGUJYWZsZXhQYXQKLSAgSGlMaW5rCWFmbGV4QnJhY2UJCWFmbGV4UGF0Ci0gIEhpTGluayBhZmxleEFiYnJ2Q29tbWVudAlhZmxleFBhdENvbW1lbnQKLQotICBIaUxpbmsJYWZsZXhBYmJydgkJU3BlY2lhbENoYXIKLSAgSGlMaW5rCWFmbGV4QWJicnZSZWdFeHAJTWFjcm8KLSAgSGlMaW5rCWFmbGV4Q0Z1bmN0aW9ucwlGdW5jdGlvbgotICBIaUxpbmsJYWZsZXhNb3JlUGF0CVNwZWNpYWxDaGFyCi0gIEhpTGluawlhZmxleFBhdAkJRnVuY3Rpb24KLSAgSGlMaW5rCWFmbGV4UGF0Q29tbWVudAlDb21tZW50Ci0gIEhpTGluawlhZmxleFBhdFN0cmluZwlGdW5jdGlvbgotICBIaUxpbmsJYWZsZXhQYXRUYWcJCVNwZWNpYWwKLSAgSGlMaW5rCWFmbGV4U2VwCQlEZWxpbWl0ZXIKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitIaUxpbmsJYWZsZXhBYmJydgkJU3BlY2lhbENoYXIKK0hpTGluawlhZmxleEFiYnJ2UmVnRXhwCU1hY3JvCitIaUxpbmsJYWZsZXhDRnVuY3Rpb25zCUZ1bmN0aW9uCitIaUxpbmsJYWZsZXhNb3JlUGF0CVNwZWNpYWxDaGFyCitIaUxpbmsJYWZsZXhQYXQJCUZ1bmN0aW9uCitIaUxpbmsJYWZsZXhQYXRDb21tZW50CUNvbW1lbnQKK0hpTGluawlhZmxleFBhdFN0cmluZwlGdW5jdGlvbgorSGlMaW5rCWFmbGV4UGF0VGFnCQlTcGVjaWFsCitIaUxpbmsJYWZsZXhTZXAJCURlbGltaXRlcgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYWZsZXgiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FoZGwudmltIGIvcnVudGltZS9zeW50YXgvYWhkbC52aW0KaW5kZXggYjE0MTdjMy4uODJmMzkxOCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYWhkbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvYWhkbC52aW0KQEAgLTMsMTEgKzMsOCBAQAogIiBNYWludGFpbmVyOglKb2huIENvb2sgPGpvaG4uY29va0BrbGEtdGVuY29yLmNvbT4KICIgTGFzdCBDaGFuZ2U6CTIwMDEgQXByIDI1CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC02NiwyOSArNjMsMjEgQEAKIHN5biBzeW5jIG1pbmxpbmVzPTEKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYWhkbF9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9haGRsX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSAgSGlMaW5rIGFoZGxOdW1iZXIJCWFoZGxTdHJpbmcKLSAgSGlMaW5rIGFoZGxNZWdhZnVuY3Rpb24JYWhkbElkZW50aWZpZXIKLSAgSGlMaW5rIGFoZGxTcGVjaWFsQ2hhcglTcGVjaWFsQ2hhcgotICBIaUxpbmsgYWhkbEtleXdvcmQJCVN0YXRlbWVudAotICBIaUxpbmsgYWhkbFN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBhaGRsQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgYWhkbElkZW50aWZpZXIJCUlkZW50aWZpZXIKLSAgSGlMaW5rIGFoZGxPcGVyYXRvcgkJT3BlcmF0b3IKLSAgSGlMaW5rIGFoZGxUb2RvCQlUb2RvCisiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KK0hpTGluayBhaGRsTnVtYmVyCQlhaGRsU3RyaW5nCitIaUxpbmsgYWhkbE1lZ2FmdW5jdGlvbglhaGRsSWRlbnRpZmllcgorSGlMaW5rIGFoZGxTcGVjaWFsQ2hhcglTcGVjaWFsQ2hhcgorSGlMaW5rIGFoZGxLZXl3b3JkCQlTdGF0ZW1lbnQKK0hpTGluayBhaGRsU3RyaW5nCQlTdHJpbmcKK0hpTGluayBhaGRsQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGFoZGxJZGVudGlmaWVyCQlJZGVudGlmaWVyCitIaUxpbmsgYWhkbE9wZXJhdG9yCQlPcGVyYXRvcgorSGlMaW5rIGFoZGxUb2RvCQlUb2RvCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhaGRsIgogIiB2aW06dHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYW1pZ2EudmltIGIvcnVudGltZS9zeW50YXgvYW1pZ2EudmltCmluZGV4IDRjY2FiMTkuLmUwOTRjZmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2FtaWdhLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9hbWlnYS52aW0KQEAgLTUsMTEgKzUsOCBAQAogIiBWZXJzaW9uOiAgICAgNwogIiBVUkw6CWh0dHA6Ly93d3cuZHJjaGlwLm9yZy9hc3Ryb25hdXQvdmltL2luZGV4Lmh0bWwjU1lOVEFYX0FNSUdBCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC03MiwyOSArNjksMjEgQEAKIHN5biBzeW5jIGxpbmVzPTUwCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FtaWdhX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2FtaWdhX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgYW1pQWxpYXMJVHlwZQotICBIaUxpbmsgYW1pQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBhbWlEZXYJVHlwZQotICBIaUxpbmsgYW1pRWNobwlTdHJpbmcKLSAgSGlMaW5rIGFtaUVsc2UJU3RhdGVtZW50Ci0gIEhpTGluayBhbWlFcnJvcglFcnJvcgotICBIaUxpbmsgYW1pS2V5CVN0YXRlbWVudAotICBIaUxpbmsgYW1pTnVtYmVyCU51bWJlcgotICBIaUxpbmsgYW1pU3RyaW5nCVN0cmluZwotICBIaUxpbmsgYW1pVGVzdAlTcGVjaWFsCitIaUxpbmsgYW1pQWxpYXMJVHlwZQorSGlMaW5rIGFtaUNvbW1lbnQJQ29tbWVudAorSGlMaW5rIGFtaURldglUeXBlCitIaUxpbmsgYW1pRWNobwlTdHJpbmcKK0hpTGluayBhbWlFbHNlCVN0YXRlbWVudAorSGlMaW5rIGFtaUVycm9yCUVycm9yCitIaUxpbmsgYW1pS2V5CVN0YXRlbWVudAorSGlMaW5rIGFtaU51bWJlcglOdW1iZXIKK0hpTGluayBhbWlTdHJpbmcJU3RyaW5nCitIaUxpbmsgYW1pVGVzdAlTcGVjaWFsCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhbWlnYSIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYW1sLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FtbC52aW0KaW5kZXggN2NiMTZmMS4uMWI5NzVjYyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYW1sLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9hbWwudmltCkBAIC05LDExICs5LDggQEAKICIJCSAgICBvZiBbXSwgaW4gb3JkZXIgdG8gYXZvaWQgLXJlYWQgaGlnaGxpZ2h0ZWQsCiAiCQkgICAgb3IgW3F1b3RlXSBzdHJpbmdzIGhpZ2hsaWdodGVkCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMjMsMzUgKzEyMCwyNyBAQAogc3luIHJlZ2lvbiBhbWxTa2lwIG1hdGNoZ3JvdXA9YW1sT3V0cHV0IHN0YXJ0PSImdHlwZSIgZW5kPSIkIiBjb250YWlucz1hbWxWYXIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYW1sX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2FtbF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGFtbENvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgYW1sTnVtYmVyCU51bWJlcgotICBIaUxpbmsgYW1sUXVvdGUJU3RyaW5nCi0gIEhpTGluayBhbWxWYXIJSWRlbnRpZmllcgotICBIaUxpbmsgYW1sVmFyMglJZGVudGlmaWVyCi0gIEhpTGluayBhbWxGdW5jdGlvbglQcmVQcm9jCi0gIEhpTGluayBhbWxEaXIJU3RhdGVtZW50Ci0gIEhpTGluayBhbWxEaXIyCVN0YXRlbWVudAotICBIaUxpbmsgYW1sRGlyU3ltCVN0YXRlbWVudAotICBIaUxpbmsgYW1sT3V0cHV0CVN0YXRlbWVudAotICBIaUxpbmsgYW1sQXJjQ21kCU1vZGVNc2cKLSAgSGlMaW5rIGFtbEZvcm1lZENtZAlhbWxBcmNDbWQKLSAgSGlMaW5rIGFtbFRhYkNtZAlhbWxBcmNDbWQKLSAgSGlMaW5rIGFtbEluZm9DbWQJYW1sQXJjQ21kCi0gIEhpTGluayBhbWxWdHJDbWQJYW1sQXJjQ21kCi0gIEhpTGluayBhbWxGb3JtZWQJYW1sQXJjQ21kCi0gIEhpTGluayBhbWxUYWIJYW1sQXJjQ21kCitIaUxpbmsgYW1sQ29tbWVudAlDb21tZW50CitIaUxpbmsgYW1sTnVtYmVyCU51bWJlcgorSGlMaW5rIGFtbFF1b3RlCVN0cmluZworSGlMaW5rIGFtbFZhcglJZGVudGlmaWVyCitIaUxpbmsgYW1sVmFyMglJZGVudGlmaWVyCitIaUxpbmsgYW1sRnVuY3Rpb24JUHJlUHJvYworSGlMaW5rIGFtbERpcglTdGF0ZW1lbnQKK0hpTGluayBhbWxEaXIyCVN0YXRlbWVudAorSGlMaW5rIGFtbERpclN5bQlTdGF0ZW1lbnQKK0hpTGluayBhbWxPdXRwdXQJU3RhdGVtZW50CitIaUxpbmsgYW1sQXJjQ21kCU1vZGVNc2cKK0hpTGluayBhbWxGb3JtZWRDbWQJYW1sQXJjQ21kCitIaUxpbmsgYW1sVGFiQ21kCWFtbEFyY0NtZAorSGlMaW5rIGFtbEluZm9DbWQJYW1sQXJjQ21kCitIaUxpbmsgYW1sVnRyQ21kCWFtbEFyY0NtZAorSGlMaW5rIGFtbEZvcm1lZAlhbWxBcmNDbWQKK0hpTGluayBhbWxUYWIJYW1sQXJjQ21kCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhbWwiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hbXBsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FtcGwudmltCmluZGV4IDdmNGRmYTkuLjk5YTY4M2EgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2FtcGwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2FtcGwudmltCkBAIC0zLDkgKzMsOCBAQAogIiBMYXN0IENoYW5nZTogIDIwMDMgTWF5IDExCiAKIAotaWYgdmVyc2lvbiA8IDYwMAotIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICBmaW5pc2gKIGVuZGlmCiAKQEAgLTExNSwzMyArMTE0LDI2IEBACiAKIAogCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYW1wbF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9hbXBsX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIuCi0gIEhpTGluayBhbXBsRW50aXR5S2V5d29yZAlLZXl3b3JkCi0gIEhpTGluayBhbXBsVHlwZQkJVHlwZQotICBIaUxpbmsgYW1wbFN0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBhbXBsT3BlcmF0b3JzCQlPcGVyYXRvcgotICBIaUxpbmsgYW1wbEJhc2ljT3BlcmF0b3JzCU9wZXJhdG9yCi0gIEhpTGluayBhbXBsQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIGFtcGxSZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgYW1wbFN0cmluZ3MJCVN0cmluZwotICBIaUxpbmsgYW1wbE51bWVyaWNzCQlOdW1iZXIKLSAgSGlMaW5rIGFtcGxTZXRGdW5jdGlvbglGdW5jdGlvbgotICBIaUxpbmsgYW1wbEJ1aWx0SW5GdW5jdGlvbglGdW5jdGlvbgotICBIaUxpbmsgYW1wbFJhbmRvbUdlbmVyYXRvcglGdW5jdGlvbgotICBIaUxpbmsgYW1wbENvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIGFtcGxEb3RTdWZmaXgJCVNwZWNpYWwKLSAgSGlMaW5rIGFtcGxQaWVjZXdpc2UJCVNwZWNpYWwKKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlci4KK0hpTGluayBhbXBsRW50aXR5S2V5d29yZAlLZXl3b3JkCitIaUxpbmsgYW1wbFR5cGUJCVR5cGUKK0hpTGluayBhbXBsU3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayBhbXBsT3BlcmF0b3JzCQlPcGVyYXRvcgorSGlMaW5rIGFtcGxCYXNpY09wZXJhdG9ycwlPcGVyYXRvcgorSGlMaW5rIGFtcGxDb25kaXRpb25hbAlDb25kaXRpb25hbAorSGlMaW5rIGFtcGxSZXBlYXQJCVJlcGVhdAorSGlMaW5rIGFtcGxTdHJpbmdzCQlTdHJpbmcKK0hpTGluayBhbXBsTnVtZXJpY3MJCU51bWJlcgorSGlMaW5rIGFtcGxTZXRGdW5jdGlvbglGdW5jdGlvbgorSGlMaW5rIGFtcGxCdWlsdEluRnVuY3Rpb24JRnVuY3Rpb24KK0hpTGluayBhbXBsUmFuZG9tR2VuZXJhdG9yCUZ1bmN0aW9uCitIaUxpbmsgYW1wbENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBhbXBsRG90U3VmZml4CQlTcGVjaWFsCitIaUxpbmsgYW1wbFBpZWNld2lzZQkJU3BlY2lhbAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYW1wbCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYW50bHIudmltIGIvcnVudGltZS9zeW50YXgvYW50bHIudmltCmluZGV4IDE5MDAwMjkuLjJhYzM4ZDcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2FudGxyLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9hbnRsci52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiBMYXN0Q2hhbmdlOgkwMiBNYXkgMjAwMQogIiBPcmlnaW5hbDoJQ29tZXMgZnJvbSBKYXZhQ0MudmltCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE4LDEyICsxNSw4IEBACiAiIFRob3NlIGZpbGVzIHVzdWFsbHkgaGF2ZSB0aGUgZXh0ZW5zaW9uICAqLmpqCiAKICIgc291cmNlIHRoZSBqYXZhLnZpbSBmaWxlCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICBzbyA8c2ZpbGU+OnA6aC9qYXZhLnZpbQotZWxzZQotICAgcnVudGltZSEgc3ludGF4L2phdmEudmltCi0gICB1bmxldCBiOmN1cnJlbnRfc3ludGF4Ci1lbmRpZgorcnVudGltZSEgc3ludGF4L2phdmEudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CiAKICJyZW1vdmUgY2F0Y2hpbmcgZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcyAoZG9lcyBub3Qgd29yayBpbiBhbnRscgogImZpbGVzKSAoZmlyc3QgZGVmaW5lIHRoZW0gaW4gY2FzZSB0aGV5IGhhdmUgbm90IGJlZW4gZGVmaW5lZCBpbiBqYXZhKQpAQCAtNTMsMTcgKzQ2LDEwIEBACiBzeW4ga2V5d29yZCBhbnRsckFjdGlvblRva2VuIFRPS0VOIFNLSVAgTU9SRSBTUEVDSUFMX1RPS0VOCiBzeW4ga2V5d29yZCBhbnRsckVycm9yIERFQlVHIElHTk9SRV9JTl9CTkYKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FudGxyX3N5bnRheF9pbml0cyIpCi0gICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgICBsZXQgZGlkX2FudGxyX3N5bnRheF9pbml0cyA9IDEKLSAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICBlbHNlCi0gICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgIGVuZGlmCi0gICBIaUxpbmsgYW50bHJTZXAgU3RhdGVtZW50Ci0gICBIaUxpbmsgYW50bHJQYWNrYWdlcyBTdGF0ZW1lbnQKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KK0hpTGluayBhbnRsclNlcCBTdGF0ZW1lbnQKK0hpTGluayBhbnRsclBhY2thZ2VzIFN0YXRlbWVudAorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYW50bHIiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FwYWNoZS52aW0gYi9ydW50aW1lL3N5bnRheC9hcGFjaGUudmltCmluZGV4IDg1Y2RhNDAuLmI1NTZmYTMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2FwYWNoZS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvYXBhY2hlLnZpbQpAQCAtOSwxMyArOSw5IEBACiAiCQltYWtlIGl0IHJlYWxseSBsaW5ld2lzZT8KICIJCSsgYWRkIGBkaXNwbGF5JyB3aGVyZSBhcHByb3ByaWF0ZQogCi0iIFNldHVwCi1pZiB2ZXJzaW9uID49IDYwMAotCWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCi0JCWZpbmlzaAotCWVuZGlmCi1lbHNlCi0Jc3ludGF4IGNsZWFyCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKwlmaW5pc2gKIGVuZGlmCiAKIHN5biBjYXNlIGlnbm9yZQpAQCAtMTc4LDM3ICsxNzQsMzAgQEAKIHN5biBrZXl3b3JkIGFwYWNoZURlY2xhcmF0aW9uIFZpcnR1YWxEb2N1bWVudFJvb3QgVmlydHVhbERvY3VtZW50Um9vdElQIFZpcnR1YWxTY3JpcHRBbGlhcyBWaXJ0dWFsU2NyaXB0QWxpYXNJUAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hcGFjaGVfc3ludGF4X2luaXRzIikKLQlpZiB2ZXJzaW9uIDwgNTA4Ci0JCWxldCBkaWRfYXBhY2hlX3N5bnRheF9pbml0cyA9IDEKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLQllbHNlCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotCWVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCUhpTGluayBhcGFjaGVBbGxvd092ZXJyaWRlIGFwYWNoZURlY2xhcmF0aW9uCi0JSGlMaW5rIGFwYWNoZUFsbG93T3ZlcnJpZGVWYWx1ZSBhcGFjaGVPcHRpb24KLQlIaUxpbmsgYXBhY2hlQXV0aFR5cGUgYXBhY2hlRGVjbGFyYXRpb24KLQlIaUxpbmsgYXBhY2hlQXV0aFR5cGVWYWx1ZSBhcGFjaGVPcHRpb24KLQlIaUxpbmsgYXBhY2hlT3B0aW9uT3B0aW9uIGFwYWNoZU9wdGlvbgotCUhpTGluayBhcGFjaGVEZWNsYXJhdGlvbiBGdW5jdGlvbgotCUhpTGluayBhcGFjaGVBbnl0aGluZyBhcGFjaGVPcHRpb24KLQlIaUxpbmsgYXBhY2hlT3B0aW9uIE51bWJlcgotCUhpTGluayBhcGFjaGVDb21tZW50IENvbW1lbnQKLQlIaUxpbmsgYXBhY2hlRml4bWUgVG9kbwotCUhpTGluayBhcGFjaGVMaW1pdFNlY3Rpb25LZXl3b3JkIGFwYWNoZUxpbWl0U2VjdGlvbgotCUhpTGluayBhcGFjaGVMaW1pdFNlY3Rpb24gYXBhY2hlU2VjdGlvbgotCUhpTGluayBhcGFjaGVTZWN0aW9uIExhYmVsCi0JSGlMaW5rIGFwYWNoZU1ldGhvZE9wdGlvbiBUeXBlCi0JSGlMaW5rIGFwYWNoZUFsbG93RGVueSBJbmNsdWRlCi0JSGlMaW5rIGFwYWNoZUFsbG93RGVueVZhbHVlIElkZW50aWZpZXIKLQlIaUxpbmsgYXBhY2hlT3JkZXIgU3BlY2lhbAotCUhpTGluayBhcGFjaGVPcmRlclZhbHVlIFN0cmluZwotCUhpTGluayBhcGFjaGVTdHJpbmcgU3RyaW5nCi0JSGlMaW5rIGFwYWNoZUVycm9yIEVycm9yCi0JSGlMaW5rIGFwYWNoZVVzZXJJRCBOdW1iZXIKK0hpTGluayBhcGFjaGVBbGxvd092ZXJyaWRlIGFwYWNoZURlY2xhcmF0aW9uCitIaUxpbmsgYXBhY2hlQWxsb3dPdmVycmlkZVZhbHVlIGFwYWNoZU9wdGlvbgorSGlMaW5rIGFwYWNoZUF1dGhUeXBlIGFwYWNoZURlY2xhcmF0aW9uCitIaUxpbmsgYXBhY2hlQXV0aFR5cGVWYWx1ZSBhcGFjaGVPcHRpb24KK0hpTGluayBhcGFjaGVPcHRpb25PcHRpb24gYXBhY2hlT3B0aW9uCitIaUxpbmsgYXBhY2hlRGVjbGFyYXRpb24gRnVuY3Rpb24KK0hpTGluayBhcGFjaGVBbnl0aGluZyBhcGFjaGVPcHRpb24KK0hpTGluayBhcGFjaGVPcHRpb24gTnVtYmVyCitIaUxpbmsgYXBhY2hlQ29tbWVudCBDb21tZW50CitIaUxpbmsgYXBhY2hlRml4bWUgVG9kbworSGlMaW5rIGFwYWNoZUxpbWl0U2VjdGlvbktleXdvcmQgYXBhY2hlTGltaXRTZWN0aW9uCitIaUxpbmsgYXBhY2hlTGltaXRTZWN0aW9uIGFwYWNoZVNlY3Rpb24KK0hpTGluayBhcGFjaGVTZWN0aW9uIExhYmVsCitIaUxpbmsgYXBhY2hlTWV0aG9kT3B0aW9uIFR5cGUKK0hpTGluayBhcGFjaGVBbGxvd0RlbnkgSW5jbHVkZQorSGlMaW5rIGFwYWNoZUFsbG93RGVueVZhbHVlIElkZW50aWZpZXIKK0hpTGluayBhcGFjaGVPcmRlciBTcGVjaWFsCitIaUxpbmsgYXBhY2hlT3JkZXJWYWx1ZSBTdHJpbmcKK0hpTGluayBhcGFjaGVTdHJpbmcgU3RyaW5nCitIaUxpbmsgYXBhY2hlRXJyb3IgRXJyb3IKK0hpTGluayBhcGFjaGVVc2VySUQgTnVtYmVyCiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImFwYWNoZSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FwYWNoZXN0eWxlLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FwYWNoZXN0eWxlLnZpbQppbmRleCAzNzVmYzcwLi41M2Q1OTA3IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9hcGFjaGVzdHlsZS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvYXBhY2hlc3R5bGUudmltCkBAIC0yMCwxMSArMjAsOCBAQAogIgkJPC9TdWJTZWN0aW9uPgogIgk8L1NlY3Rpb24+CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC00MSwyNSArMzgsMTcgQEAKIHN5biBtYXRjaCAgYXBUYWdFcnJvcgljb250YWluZWQgL1tePl08L21zPXMrMQogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hcGFjaGVzdHlsZV9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9hcGFjaGVzdHlsZV9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGFwQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBhcE9wdGlvbglLZXl3b3JkCi0gICJIaUxpbmsgYXBMYXN0VmFsdWUJSWRlbnRpZmllcgkJdWdseT8KLSAgSGlMaW5rIGFwVGFnCQlTcGVjaWFsCi0gIEhpTGluayBhcFRhZ09wdGlvbglJZGVudGlmaWVyCi0gIEhpTGluayBhcFRhZ0Vycm9yCUVycm9yCitIaUxpbmsgYXBDb21tZW50CUNvbW1lbnQKK0hpTGluayBhcE9wdGlvbglLZXl3b3JkCisiSGlMaW5rIGFwTGFzdFZhbHVlCUlkZW50aWZpZXIJCXVnbHk/CitIaUxpbmsgYXBUYWcJCVNwZWNpYWwKK0hpTGluayBhcFRhZ09wdGlvbglJZGVudGlmaWVyCitIaUxpbmsgYXBUYWdFcnJvcglFcnJvcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYXBhY2hlc3R5bGUiCiAiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYXB0Y29uZi52aW0gYi9ydW50aW1lL3N5bnRheC9hcHRjb25mLnZpbQppbmRleCA3YTMxYjJkLi44Y2IxNDMyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9hcHRjb25mLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9hcHRjb25mLnZpbQpAQCAtMywxMiArMyw5IEBACiAiIE1haW50YWluZXI6CVlhbm4gQW1hciA8cXVpZGFtZUBwb2l2cm9uLm9yZz4KICIgTGFzdCBDaGFuZ2U6CTIwMTUgRGVjIDIyCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueCBhbmQgNy54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCiBpZiAhZXhpc3RzKCJtYWluX3N5bnRheCIpCi0gIGlmIHZlcnNpb24gPCA2MDAKLSAgICBzeW50YXggY2xlYXIKLSAgZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICAgZmluaXNoCiAgIGVuZGlmCiAgIGxldCBtYWluX3N5bnRheCA9ICdhcHRjb25mJwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYXJkdWluby52aW0gYi9ydW50aW1lL3N5bnRheC9hcmR1aW5vLnZpbQppbmRleCAxNDI5OWE0Li40YTRlZjgyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9hcmR1aW5vLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9hcmR1aW5vLnZpbQpAQCAtMTAsMjAgKzEwLDEzIEBACiAKICIgVGhhbmtzIHRvIFJpaywgRXJpayBOb21pdGNoLCBBZGFtIE9iZW5nIGFuZCBHcmFlbWUgQ3Jvc3MgZm9yIGhlbHBmdWwgZmVlZGJhY2shCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCiAiIFJlYWQgdGhlIEMgc3ludGF4IHRvIHN0YXJ0IHdpdGgKLWlmIHZlcnNpb24gPCA2MDAKLSAgc28gPHNmaWxlPjpwOmgvY3BwLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvY3BwLnZpbQotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9jcHAudmltCiAKIHN5biBrZXl3b3JkIGFyZHVpbm9Db25zdGFudCBISUdIIExPVyBJTlBVVCBPVVRQVVQKIHN5biBrZXl3b3JkIGFyZHVpbm9Db25zdGFudCBERUMgQklOIEhFWCBPQ1QgQllURQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYXNtLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FzbS52aW0KaW5kZXggZTVmMTZjNS4uNTAxZjVmMCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYXNtLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9hc20udmltCkBAIC03LDExICs3LDggQEAKIAogIiBUaGFua3MgdG8gT3JpIEF2dGFsaW9uIGZvciBmZWVkYmFjayBvbiB0aGUgY29tbWVudCBtYXJrZXJzIQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2LjAgYW5kIGxhdGVyOiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTEwMywzNyArMTAwLDI5IEBACiBzeW4gY2FzZSBtYXRjaAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hc21fc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfYXNtX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCi0gIEhpTGluayBhc21TZWN0aW9uCVNwZWNpYWwKLSAgSGlMaW5rIGFzbUxhYmVsCUxhYmVsCi0gIEhpTGluayBhc21Db21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIGFzbVRvZG8JVG9kbwotICBIaUxpbmsgYXNtRGlyZWN0aXZlCVN0YXRlbWVudAorIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorSGlMaW5rIGFzbVNlY3Rpb24JU3BlY2lhbAorSGlMaW5rIGFzbUxhYmVsCUxhYmVsCitIaUxpbmsgYXNtQ29tbWVudAlDb21tZW50CitIaUxpbmsgYXNtVG9kbwlUb2RvCitIaUxpbmsgYXNtRGlyZWN0aXZlCVN0YXRlbWVudAogCi0gIEhpTGluayBhc21JbmNsdWRlCUluY2x1ZGUKLSAgSGlMaW5rIGFzbUNvbmQJUHJlQ29uZGl0Ci0gIEhpTGluayBhc21NYWNybwlNYWNybworSGlMaW5rIGFzbUluY2x1ZGUJSW5jbHVkZQorSGlMaW5rIGFzbUNvbmQJUHJlQ29uZGl0CitIaUxpbmsgYXNtTWFjcm8JTWFjcm8KIAotICBIaUxpbmsgaGV4TnVtYmVyCU51bWJlcgotICBIaUxpbmsgZGVjTnVtYmVyCU51bWJlcgotICBIaUxpbmsgb2N0TnVtYmVyCU51bWJlcgotICBIaUxpbmsgYmluTnVtYmVyCU51bWJlcgorSGlMaW5rIGhleE51bWJlcglOdW1iZXIKK0hpTGluayBkZWNOdW1iZXIJTnVtYmVyCitIaUxpbmsgb2N0TnVtYmVyCU51bWJlcgorSGlMaW5rIGJpbk51bWJlcglOdW1iZXIKIAotICBIaUxpbmsgYXNtSWRlbnRpZmllcglJZGVudGlmaWVyCi0gIEhpTGluayBhc21UeXBlCVR5cGUKK0hpTGluayBhc21JZGVudGlmaWVyCUlkZW50aWZpZXIKK0hpTGluayBhc21UeXBlCVR5cGUKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImFzbSIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYXNtNjhrLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FzbTY4ay52aW0KaW5kZXggODQ2M2U0OC4uNGYwNTdhOSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYXNtNjhrLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9hc202OGsudmltCkBAIC04LDExICs4LDggQEAKICIgRmVlbCBmcmVlIHRvIGNvbnRyaWJ1dGUuLi4KICIKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTMyOCw2MyArMzI1LDU1IEBACiBzeW4gY2FzZSBtYXRjaAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hc202OGtfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfYXNtNjhrX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCi0gICIgQ29tbWVudCBDb25zdGFudCBFcnJvciBJZGVudGlmaWVyIFByZVByb2MgU3BlY2lhbCBTdGF0ZW1lbnQgVG9kbyBUeXBlCi0gICIKLSAgIiBDb25zdGFudAkJQm9vbGVhbiBDaGFyYWN0ZXIgTnVtYmVyIFN0cmluZwotICAiIElkZW50aWZpZXIJCUZ1bmN0aW9uCi0gICIgUHJlUHJvYwkJRGVmaW5lIEluY2x1ZGUgTWFjcm8gUHJlQ29uZGl0Ci0gICIgU3BlY2lhbAkJRGVidWcgRGVsaW1pdGVyIFNwZWNpYWxDaGFyIFNwZWNpYWxDb21tZW50IFRhZwotICAiIFN0YXRlbWVudAkJQ29uZGl0aW9uYWwgRXhjZXB0aW9uIEtleXdvcmQgTGFiZWwgT3BlcmF0b3IgUmVwZWF0Ci0gICIgVHlwZQkJU3RvcmFnZUNsYXNzIFN0cnVjdHVyZSBUeXBlZGVmCisiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCisiIENvbW1lbnQgQ29uc3RhbnQgRXJyb3IgSWRlbnRpZmllciBQcmVQcm9jIFNwZWNpYWwgU3RhdGVtZW50IFRvZG8gVHlwZQorIgorIiBDb25zdGFudAkJQm9vbGVhbiBDaGFyYWN0ZXIgTnVtYmVyIFN0cmluZworIiBJZGVudGlmaWVyCQlGdW5jdGlvbgorIiBQcmVQcm9jCQlEZWZpbmUgSW5jbHVkZSBNYWNybyBQcmVDb25kaXQKKyIgU3BlY2lhbAkJRGVidWcgRGVsaW1pdGVyIFNwZWNpYWxDaGFyIFNwZWNpYWxDb21tZW50IFRhZworIiBTdGF0ZW1lbnQJCUNvbmRpdGlvbmFsIEV4Y2VwdGlvbiBLZXl3b3JkIExhYmVsIE9wZXJhdG9yIFJlcGVhdAorIiBUeXBlCQlTdG9yYWdlQ2xhc3MgU3RydWN0dXJlIFR5cGVkZWYKIAotICBIaUxpbmsgYXNtNjhrQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgYXNtNjhrVG9kbwkJVG9kbworSGlMaW5rIGFzbTY4a0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBhc202OGtUb2RvCQlUb2RvCiAKLSAgSGlMaW5rIGhleE51bWJlcgkJTnVtYmVyCQkiIENvbnN0YW50Ci0gIEhpTGluayBvY3ROdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAotICBIaUxpbmsgYmluTnVtYmVyCQlOdW1iZXIJCSIgQ29uc3RhbnQKLSAgSGlMaW5rIGRlY051bWJlcgkJTnVtYmVyCQkiIENvbnN0YW50Ci0gIEhpTGluayBmbG9hdE51bWJlcgkJTnVtYmVyCQkiIENvbnN0YW50Ci0gIEhpTGluayBmbG9hdEV4cG9uZW50CQlOdW1iZXIJCSIgQ29uc3RhbnQKLSAgSGlMaW5rIGZsb2F0RQkJCVNwZWNpYWxDaGFyCSIgU3RhdGVtZW50Ci0gICJIaUxpbmsgZmxvYXRFCQlOdW1iZXIJCSIgQ29uc3RhbnQKK0hpTGluayBoZXhOdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAorSGlMaW5rIG9jdE51bWJlcgkJTnVtYmVyCQkiIENvbnN0YW50CitIaUxpbmsgYmluTnVtYmVyCQlOdW1iZXIJCSIgQ29uc3RhbnQKK0hpTGluayBkZWNOdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAorSGlMaW5rIGZsb2F0TnVtYmVyCQlOdW1iZXIJCSIgQ29uc3RhbnQKK0hpTGluayBmbG9hdEV4cG9uZW50CQlOdW1iZXIJCSIgQ29uc3RhbnQKK0hpTGluayBmbG9hdEUJCQlTcGVjaWFsQ2hhcgkiIFN0YXRlbWVudAorIkhpTGluayBmbG9hdEUJCU51bWJlcgkJIiBDb25zdGFudAogCi0gIEhpTGluayBhc202OGtJbW1lZGlhdGUJU3BlY2lhbENoYXIJIiBTdGF0ZW1lbnQKLSAgIkhpTGluayBhc202OGtTeW1ib2wJCUNvbnN0YW50CitIaUxpbmsgYXNtNjhrSW1tZWRpYXRlCVNwZWNpYWxDaGFyCSIgU3RhdGVtZW50CisiSGlMaW5rIGFzbTY4a1N5bWJvbAkJQ29uc3RhbnQKIAotICBIaUxpbmsgYXNtNjhrU3RyaW5nCQlTdHJpbmcJCSIgQ29uc3RhbnQKLSAgSGlMaW5rIGFzbTY4a0NoYXJFcnJvcglFcnJvcgotICBIaUxpbmsgYXNtNjhrU3RyaW5nRXJyb3IJRXJyb3IKK0hpTGluayBhc202OGtTdHJpbmcJCVN0cmluZwkJIiBDb25zdGFudAorSGlMaW5rIGFzbTY4a0NoYXJFcnJvcglFcnJvcgorSGlMaW5rIGFzbTY4a1N0cmluZ0Vycm9yCUVycm9yCiAKLSAgSGlMaW5rIGFzbTY4a1JlZwkJSWRlbnRpZmllcgotICBIaUxpbmsgYXNtNjhrT3BlcmF0b3IJCUlkZW50aWZpZXIKK0hpTGluayBhc202OGtSZWcJCUlkZW50aWZpZXIKK0hpTGluayBhc202OGtPcGVyYXRvcgkJSWRlbnRpZmllcgogCi0gIEhpTGluayBhc202OGtJbmNsdWRlCQlJbmNsdWRlCQkiIFByZVByb2MKLSAgSGlMaW5rIGFzbTY4a01hY3JvCQlNYWNybwkJIiBQcmVQcm9jCi0gIEhpTGluayBhc202OGtNYWNyb1BhcmFtCUtleXdvcmQJCSIgU3RhdGVtZW50CitIaUxpbmsgYXNtNjhrSW5jbHVkZQkJSW5jbHVkZQkJIiBQcmVQcm9jCitIaUxpbmsgYXNtNjhrTWFjcm8JCU1hY3JvCQkiIFByZVByb2MKK0hpTGluayBhc202OGtNYWNyb1BhcmFtCUtleXdvcmQJCSIgU3RhdGVtZW50CiAKLSAgSGlMaW5rIGFzbTY4a0RpcmVjdGl2ZQlTcGVjaWFsCi0gIEhpTGluayBhc202OGtQcmVDb25kCQlTcGVjaWFsCitIaUxpbmsgYXNtNjhrRGlyZWN0aXZlCVNwZWNpYWwKK0hpTGluayBhc202OGtQcmVDb25kCQlTcGVjaWFsCiAKIAotICBIaUxpbmsgYXNtNjhrT3Bjb2RlCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGFzbTY4a0NvbmQJCUNvbmRpdGlvbmFsCSIgU3RhdGVtZW50Ci0gIEhpTGluayBhc202OGtSZXBlYXQJCVJlcGVhdAkJIiBTdGF0ZW1lbnQKK0hpTGluayBhc202OGtPcGNvZGUJCVN0YXRlbWVudAorSGlMaW5rIGFzbTY4a0NvbmQJCUNvbmRpdGlvbmFsCSIgU3RhdGVtZW50CitIaUxpbmsgYXNtNjhrUmVwZWF0CQlSZXBlYXQJCSIgU3RhdGVtZW50CiAKLSAgSGlMaW5rIGFzbTY4a0xhYmVsCQlUeXBlCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorSGlMaW5rIGFzbTY4a0xhYmVsCQlUeXBlCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhc202OGsiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FzbWg4MzAwLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FzbWg4MzAwLnZpbQppbmRleCA0ODY5OWQ4Li41MTM0YzUxIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9hc21oODMwMC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvYXNtaDgzMDAudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJS2V2aW4gRGFobGhhdXNlbiA8a2RhaGxoYXVzQHlhaG9vLmNvbT4KICIgTGFzdCBDaGFuZ2U6CTIwMDIgU2VwIDE5CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC01MiwzMyArNDksMjEgQEAKIAogCiAiIFJlYWQgdGhlIGdlbmVyYWwgYXNtIHN5bnRheAotaWYgdmVyc2lvbiA8IDYwMAotICBzb3VyY2UgPHNmaWxlPjpwOmgvYXNtLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvYXNtLnZpbQotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9hc20udmltCiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfaGl0YWNoaV9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9oaXRhY2hpX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgYXNtT3Bjb2RlICBTdGF0ZW1lbnQKLSAgSGlMaW5rIGFzbVJlZ2lzdGVyICBJZGVudGlmaWVyCitIaUxpbmsgYXNtT3Bjb2RlICBTdGF0ZW1lbnQKK0hpTGluayBhc21SZWdpc3RlciAgSWRlbnRpZmllcgogCi0gICIgTXkgZGVmYXVsdC1jb2xvciBvdmVycmlkZXM6Ci0gICJoaSBhc21PcGNvZGUgY3Rlcm1mZz15ZWxsb3cKLSAgImhpIGFzbVJlZwljdGVybWZnPWxpZ2h0bWFnZW50YQorIiBNeSBkZWZhdWx0LWNvbG9yIG92ZXJyaWRlczoKKyJoaSBhc21PcGNvZGUgY3Rlcm1mZz15ZWxsb3cKKyJoaSBhc21SZWcJY3Rlcm1mZz1saWdodG1hZ2VudGEKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImFzbWg4MzAwIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hc24udmltIGIvcnVudGltZS9zeW50YXgvYXNuLnZpbQppbmRleCAyOGM4ZWZiLi44YjU1M2U4IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9hc24udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2Fzbi52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiBVUkw6CQlodHRwOi8vd3d3LmZsZWluZXIuY29tL3ZpbS9zeW50YXgvYXNuLnZpbQogIiBMYXN0IENoYW5nZToJMjAxMiBPY3QgMDUKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTUwLDM0ICs0NywyNiBAQAogc3luIHN5bmMgY2NvbW1lbnQgYXNuQ29tbWVudAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hc25fc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfYXNuX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCi0gIEhpTGluayBhc25EZWZpbml0aW9uCUZ1bmN0aW9uCi0gIEhpTGluayBhc25CcmFjZXMJCUZ1bmN0aW9uCi0gIEhpTGluayBhc25TdHJ1Y3R1cmUJU3RhdGVtZW50Ci0gIEhpTGluayBhc25Cb29sVmFsdWUJQm9vbGVhbgotICBIaUxpbmsgYXNuU3BlY2lhbAkJU3BlY2lhbAotICBIaUxpbmsgYXNuU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIGFzbkNoYXJhY3RlcglDaGFyYWN0ZXIKLSAgSGlMaW5rIGFzblNwZWNpYWxDaGFyYWN0ZXIJYXNuU3BlY2lhbAotICBIaUxpbmsgYXNuTnVtYmVyCQlhc25WYWx1ZQotICBIaUxpbmsgYXNuQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgYXNuTGluZUNvbW1lbnQJYXNuQ29tbWVudAotICBIaUxpbmsgYXNuVHlwZQkJVHlwZQotICBIaUxpbmsgYXNuVHlwZUluZm8JCVByZVByb2MKLSAgSGlMaW5rIGFzblZhbHVlCQlOdW1iZXIKLSAgSGlMaW5rIGFzbkV4dGVybmFsCQlJbmNsdWRlCi0gIEhpTGluayBhc25UYWdNb2RpZmllcglGdW5jdGlvbgotICBIaUxpbmsgYXNuRmllbGRPcHRpb24JVHlwZQotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorSGlMaW5rIGFzbkRlZmluaXRpb24JRnVuY3Rpb24KK0hpTGluayBhc25CcmFjZXMJCUZ1bmN0aW9uCitIaUxpbmsgYXNuU3RydWN0dXJlCVN0YXRlbWVudAorSGlMaW5rIGFzbkJvb2xWYWx1ZQlCb29sZWFuCitIaUxpbmsgYXNuU3BlY2lhbAkJU3BlY2lhbAorSGlMaW5rIGFzblN0cmluZwkJU3RyaW5nCitIaUxpbmsgYXNuQ2hhcmFjdGVyCUNoYXJhY3RlcgorSGlMaW5rIGFzblNwZWNpYWxDaGFyYWN0ZXIJYXNuU3BlY2lhbAorSGlMaW5rIGFzbk51bWJlcgkJYXNuVmFsdWUKK0hpTGluayBhc25Db21tZW50CQlDb21tZW50CitIaUxpbmsgYXNuTGluZUNvbW1lbnQJYXNuQ29tbWVudAorSGlMaW5rIGFzblR5cGUJCVR5cGUKK0hpTGluayBhc25UeXBlSW5mbwkJUHJlUHJvYworSGlMaW5rIGFzblZhbHVlCQlOdW1iZXIKK0hpTGluayBhc25FeHRlcm5hbAkJSW5jbHVkZQorSGlMaW5rIGFzblRhZ01vZGlmaWVyCUZ1bmN0aW9uCitIaUxpbmsgYXNuRmllbGRPcHRpb24JVHlwZQorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0ICZjcG8gPSBzOmNwb19zYXZlCiB1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hc3BwZXJsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FzcHBlcmwudmltCmluZGV4IDBmN2VmNDYuLjVhOWFiZWQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2FzcHBlcmwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2FzcHBlcmwudmltCkBAIC00LDExICs0LDggQEAKICIgVVJMOgkJaHR0cDovL25pbS5kaHMub3JnL35lZGgvYXNwcGVybC52aW0KICIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDA5CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xNiwxNCArMTMsOSBAQAogICBsZXQgbWFpbl9zeW50YXggPSAncGVybHNjcmlwdCcKIGVuZGlmCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc28gPHNmaWxlPjpwOmgvaHRtbC52aW0KLSAgc3luIGluY2x1ZGUgQEFzcFBlcmxTY3JpcHQgPHNmaWxlPjpwOmgvcGVybC52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLSAgc3luIGluY2x1ZGUgQEFzcFBlcmxTY3JpcHQgc3ludGF4L3BlcmwudmltCi1lbmRpZgorcnVudGltZSEgc3ludGF4L2h0bWwudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CitzeW4gaW5jbHVkZSBAQXNwUGVybFNjcmlwdCBzeW50YXgvcGVybC52aW0KIAogc3luIGNsdXN0ZXIgaHRtbFByZXByb2MgYWRkPUFzcFBlcmxTY3JpcHRJbnNpZGVIdG1sVGFncwogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hc3B2YnMudmltIGIvcnVudGltZS9zeW50YXgvYXNwdmJzLnZpbQppbmRleCAwN2MxMjllLi5mZjU1MjFhIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9hc3B2YnMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2FzcHZicy52aW0KQEAgLTExLDEwICsxMSw4IEBACiAiIFRoYW5rcyB0byBEZWFuIEhhbGwgPGhhbGxAYXB0Ny5jb20+IGZvciB0ZXN0aW5nIHRoZSB1c2Ugb2YgY2xhc3NlcyBpbgogIiBWQlNjcmlwdHMgd2hpY2ggSSd2ZSBiZWVuIHRvbyBzY2FyZWQgdG8gZG8uCiAKLSIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5biBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0yMiwxMSArMjAsNyBAQAogICBsZXQgbWFpbl9zeW50YXggPSAnYXNwdmJzJwogZW5kaWYKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzb3VyY2UgPHNmaWxlPjpwOmgvaHRtbC52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCi1lbmRpZgorcnVudGltZSEgc3ludGF4L2h0bWwudmltCiB1bmxldCBiOmN1cnJlbnRfc3ludGF4CiAKIHN5biBjbHVzdGVyIGh0bWxQcmVQcm9jIGFkZD1Bc3BWQlNjcmlwdEluc2lkZUh0bWxUYWdzCkBAIC0xNjMsMzEgKzE1NywyMyBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FzcHZic19zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9hc3B2YnNfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gICJIaUxpbmsgQXNwVkJTY3JpcHQJCVNwZWNpYWwKLSAgSGlMaW5rIEFzcFZCU0xpbmVOdW1iZXIJQ29tbWVudAotICBIaUxpbmsgQXNwVkJTTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIEFzcFZCU0Vycm9yCQlFcnJvcgotICBIaUxpbmsgQXNwVkJTU3RhdGVtZW50CVN0YXRlbWVudAotICBIaUxpbmsgQXNwVkJTU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIEFzcFZCU0NvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIEFzcFZCU1RvZG8JCVRvZG8KLSAgSGlMaW5rIEFzcFZCU0Z1bmN0aW9uCQlJZGVudGlmaWVyCi0gIEhpTGluayBBc3BWQlNNZXRob2RzCQlQcmVQcm9jCi0gIEhpTGluayBBc3BWQlNFdmVudHMJCVNwZWNpYWwKLSAgSGlMaW5rIEFzcFZCU1R5cGVTcGVjaWZpZXIJVHlwZQorIkhpTGluayBBc3BWQlNjcmlwdAkJU3BlY2lhbAorSGlMaW5rIEFzcFZCU0xpbmVOdW1iZXIJQ29tbWVudAorSGlMaW5rIEFzcFZCU051bWJlcgkJTnVtYmVyCitIaUxpbmsgQXNwVkJTRXJyb3IJCUVycm9yCitIaUxpbmsgQXNwVkJTU3RhdGVtZW50CVN0YXRlbWVudAorSGlMaW5rIEFzcFZCU1N0cmluZwkJU3RyaW5nCitIaUxpbmsgQXNwVkJTQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIEFzcFZCU1RvZG8JCVRvZG8KK0hpTGluayBBc3BWQlNGdW5jdGlvbgkJSWRlbnRpZmllcgorSGlMaW5rIEFzcFZCU01ldGhvZHMJCVByZVByb2MKK0hpTGluayBBc3BWQlNFdmVudHMJCVNwZWNpYWwKK0hpTGluayBBc3BWQlNUeXBlU3BlY2lmaWVyCVR5cGUKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImFzcHZicyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYXN0ZXJpc2sudmltIGIvcnVudGltZS9zeW50YXgvYXN0ZXJpc2sudmltCmluZGV4IGZkNGVjMzkuLmM1NjJiODUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2FzdGVyaXNrLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9hc3Rlcmlzay52aW0KQEAgLTUsMTAgKzUsOSBAQAogIiBVcGRhdGVkIGZvciAxLjIgYnkgVGlsZ2htYW4gTGVzaGVyIChDb3J5ZG9uNzYpCiAiIExhc3QgQ2hhbmdlOgkyMDE1IEZlYiAyNwogIiB2ZXJzaW9uIDAuNAotIgotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC01Nyw0MiArNTYsMzUgQEAKIHN5biBtYXRjaCAgICAgICBhc3Rlcmlza1NldHRpbmcgICAgICAgICAiXmhvc3Rccyo9XHMqXChkeW5hbWljXHxcKFxkXHsxLDN9XC5cZFx7MSwzfVwuXGRcezEsM31cLlxkXHsxLDN9XClcfFwoW1s6YWxudW06XV1bWzphbG51bTpdXC1cLl0qXC5bWzphbHBoYTpdXXsyLDEwfVwpXCkiIGNvbnRhaW5zPWFzdGVyaXNrSVAsYXN0ZXJpc2tIb3N0bmFtZQogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jb25mX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2NvbmZfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayAgICAgICAgYXN0ZXJpc2tDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayAgICAgICAgYXN0ZXJpc2tFeHRlbgkJU3RyaW5nCi0gIEhpTGluayAgICAgICAgYXN0ZXJpc2tDb250ZXh0ICAgICAgICAgUHJlcHJvYwotICBIaUxpbmsgICAgICAgIGFzdGVyaXNrUGF0dGVybiAgICAgICAgIFR5cGUKLSAgSGlMaW5rICAgICAgICBhc3Rlcmlza0FwcCAgICAgICAgICAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rICAgICAgICBhc3Rlcmlza0luY2x1ZGUgICAgICAgICBQcmVwcm9jCi0gIEhpTGluayAgICAgICAgYXN0ZXJpc2tJbmNsdWRlQmFkCUVycm9yCi0gIEhpTGluayAgICAgICAgYXN0ZXJpc2tQcmlvcml0eSAgICAgICAgUHJlcHJvYwotICBIaUxpbmsgICAgICAgIGFzdGVyaXNrTGFiZWwgICAgICAgICAgIFR5cGUKLSAgSGlMaW5rICAgICAgICBhc3Rlcmlza1ZhciAgICAgICAgICAgICBTdHJpbmcKLSAgSGlMaW5rICAgICAgICBhc3Rlcmlza1ZhckxlbiAgICAgICAgICBGdW5jdGlvbgotICBIaUxpbmsgICAgICAgIGFzdGVyaXNrRXhwICAgICAgICAgICAgIFR5cGUKLSAgSGlMaW5rICAgICAgICBhc3Rlcmlza0NvZGVjc1Blcm1pdCAgICBQcmVwcm9jCi0gIEhpTGluayAgICAgICAgYXN0ZXJpc2tDb2RlY3MgICAgICAgICAgU3RyaW5nCi0gIEhpTGluayAgICAgICAgYXN0ZXJpc2tUeXBlICAgICAgICAgICAgU3RhdGVtZW50Ci0gIEhpTGluayAgICAgICAgYXN0ZXJpc2tUeXBlVHlwZSAgICAgICAgVHlwZQotICBIaUxpbmsgICAgICAgIGFzdGVyaXNrQXV0aCAgICAgICAgICAgIFN0cmluZwotICBIaUxpbmsgICAgICAgIGFzdGVyaXNrQXV0aFR5cGUgICAgICAgIFR5cGUKLSAgSGlMaW5rICAgICAgICBhc3Rlcmlza0lQUmFuZ2UgICAgICAgICBJZGVudGlmaWVyCi0gIEhpTGluayAgICAgICAgYXN0ZXJpc2tJUCAgICAgICAgICAgICAgSWRlbnRpZmllcgotICBIaUxpbmsgICAgICAgIGFzdGVyaXNrUG9ydCAgICAgICAgICAgIElkZW50aWZpZXIKLSAgSGlMaW5rICAgICAgICBhc3Rlcmlza0hvc3RuYW1lICAgICAgICBJZGVudGlmaWVyCi0gIEhpTGluayAgICAgICAgYXN0ZXJpc2tTZXR0aW5nICAgICAgICAgU3RhdGVtZW50Ci0gIEhpTGluayAgICAgICAgYXN0ZXJpc2tFcnJvciAgICAgICAgICAgRXJyb3IKLSBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK0hpTGluayAgICAgICAgYXN0ZXJpc2tDb21tZW50CQlDb21tZW50CitIaUxpbmsgICAgICAgIGFzdGVyaXNrRXh0ZW4JCVN0cmluZworSGlMaW5rICAgICAgICBhc3Rlcmlza0NvbnRleHQgICAgICAgICBQcmVwcm9jCitIaUxpbmsgICAgICAgIGFzdGVyaXNrUGF0dGVybiAgICAgICAgIFR5cGUKK0hpTGluayAgICAgICAgYXN0ZXJpc2tBcHAgICAgICAgICAgICAgU3RhdGVtZW50CitIaUxpbmsgICAgICAgIGFzdGVyaXNrSW5jbHVkZSAgICAgICAgIFByZXByb2MKK0hpTGluayAgICAgICAgYXN0ZXJpc2tJbmNsdWRlQmFkCUVycm9yCitIaUxpbmsgICAgICAgIGFzdGVyaXNrUHJpb3JpdHkgICAgICAgIFByZXByb2MKK0hpTGluayAgICAgICAgYXN0ZXJpc2tMYWJlbCAgICAgICAgICAgVHlwZQorSGlMaW5rICAgICAgICBhc3Rlcmlza1ZhciAgICAgICAgICAgICBTdHJpbmcKK0hpTGluayAgICAgICAgYXN0ZXJpc2tWYXJMZW4gICAgICAgICAgRnVuY3Rpb24KK0hpTGluayAgICAgICAgYXN0ZXJpc2tFeHAgICAgICAgICAgICAgVHlwZQorSGlMaW5rICAgICAgICBhc3Rlcmlza0NvZGVjc1Blcm1pdCAgICBQcmVwcm9jCitIaUxpbmsgICAgICAgIGFzdGVyaXNrQ29kZWNzICAgICAgICAgIFN0cmluZworSGlMaW5rICAgICAgICBhc3Rlcmlza1R5cGUgICAgICAgICAgICBTdGF0ZW1lbnQKK0hpTGluayAgICAgICAgYXN0ZXJpc2tUeXBlVHlwZSAgICAgICAgVHlwZQorSGlMaW5rICAgICAgICBhc3Rlcmlza0F1dGggICAgICAgICAgICBTdHJpbmcKK0hpTGluayAgICAgICAgYXN0ZXJpc2tBdXRoVHlwZSAgICAgICAgVHlwZQorSGlMaW5rICAgICAgICBhc3Rlcmlza0lQUmFuZ2UgICAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgICAgICAgIGFzdGVyaXNrSVAgICAgICAgICAgICAgIElkZW50aWZpZXIKK0hpTGluayAgICAgICAgYXN0ZXJpc2tQb3J0ICAgICAgICAgICAgSWRlbnRpZmllcgorSGlMaW5rICAgICAgICBhc3Rlcmlza0hvc3RuYW1lICAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgICAgICAgIGFzdGVyaXNrU2V0dGluZyAgICAgICAgIFN0YXRlbWVudAorSGlMaW5rICAgICAgICBhc3Rlcmlza0Vycm9yICAgICAgICAgICBFcnJvcgorZGVsY29tbWFuZCBIaUxpbmsKKwogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYXN0ZXJpc2siIAogIiB2aW06IHRzPTggc3c9MgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hc3Rlcmlza3ZtLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FzdGVyaXNrdm0udmltCmluZGV4IGE2YzlkYmEuLjM1N2IyOTkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2FzdGVyaXNrdm0udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2FzdGVyaXNrdm0udmltCkBAIC0zLDEwICszLDkgQEAKICIgTWFpbnRhaW5lcjogVGlsZ2htYW4gTGVzaGVyIChDb3J5ZG9uNzYpCiAiIExhc3QgQ2hhbmdlOgkyMDA2IE1hciAyMQogIiB2ZXJzaW9uIDAuMgotIgotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0zMywyOCArMzIsMjAgQEAKIHN5biBtYXRjaCAgICAgICBjb21tYSAgICAgICAgICAgICAgICAgICAiWyx8XSIgY29udGFpbmVkCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotOmlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jb25mX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2NvbmZfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayAgICAgICAgYXN0ZXJpc2t2bUNvbW1lbnQgQ29tbWVudAotICBIaUxpbmsgICAgICAgIGFzdGVyaXNrdm1Db250ZXh0ICAgICAgICAgSWRlbnRpZmllcgotICBIaUxpbmsgICAgICAgIGFzdGVyaXNrdm1ab25lICAgICAgICAgICAgVHlwZQotICBIaUxpbmsgICAgICAgIHpvbmVOYW1lICAgICAgICAgICAgICAgIFN0cmluZwotICBIaUxpbmsgICAgICAgIHpvbmVEZWYgICAgICAgICAgICAgICAgIFN0cmluZwotICBIaUxpbmsgICAgICAgIGFzdGVyaXNrdm1TZXR0aW5nICAgICAgICAgVHlwZQotICBIaUxpbmsgICAgICAgIGFzdGVyaXNrdm1TZXR0aW5nQm9vbCAgICAgVHlwZQorSGlMaW5rICAgICAgICBhc3Rlcmlza3ZtQ29tbWVudCBDb21tZW50CitIaUxpbmsgICAgICAgIGFzdGVyaXNrdm1Db250ZXh0ICAgICAgICAgSWRlbnRpZmllcgorSGlMaW5rICAgICAgICBhc3Rlcmlza3ZtWm9uZSAgICAgICAgICAgIFR5cGUKK0hpTGluayAgICAgICAgem9uZU5hbWUgICAgICAgICAgICAgICAgU3RyaW5nCitIaUxpbmsgICAgICAgIHpvbmVEZWYgICAgICAgICAgICAgICAgIFN0cmluZworSGlMaW5rICAgICAgICBhc3Rlcmlza3ZtU2V0dGluZyAgICAgICAgIFR5cGUKK0hpTGluayAgICAgICAgYXN0ZXJpc2t2bVNldHRpbmdCb29sICAgICBUeXBlCiAKLSAgSGlMaW5rICAgICAgICBhc3Rlcmlza3ZtTWFpbGJveCAgICAgICAgIFN0YXRlbWVudAotICBIaUxpbmsgICAgICAgIG1haWxib3hFbWFpbCAgICAgICAgICAgIFN0cmluZwotIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorSGlMaW5rICAgICAgICBhc3Rlcmlza3ZtTWFpbGJveCAgICAgICAgIFN0YXRlbWVudAorSGlMaW5rICAgICAgICBtYWlsYm94RW1haWwgICAgICAgICAgICBTdHJpbmcKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImFzdGVyaXNrdm0iCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2F0bGFzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2F0bGFzLnZpbQppbmRleCBiOGZlNDM1Li4zMGUxMzY5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9hdGxhcy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvYXRsYXMudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJSW5ha2kgU2FleiA8amlzYWV6QHNmZS5pbmRyYS5lcz4KICIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDA5CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC02MSwzNyArNTgsMjkgQEAKIAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hdGxhc19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9hdGxhc19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGF0bGFzQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIGF0bGFzUmVwZWF0CQlSZXBlYXQKLSAgSGlMaW5rIGF0bGFzU3RhdGVtZW50CVN0YXRlbWVudAotICBIaUxpbmsgYXRsYXNOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgYXRsYXNIZXhOdW1iZXIJTnVtYmVyCi0gIEhpTGluayBhdGxhc09jdGFsTnVtYmVyCU51bWJlcgotICBIaUxpbmsgYXRsYXNCaW5OdW1iZXIJTnVtYmVyCi0gIEhpTGluayBhdGxhc0RlY2ltYWxOdW1iZXIJRmxvYXQKLSAgSGlMaW5rIGF0bGFzRm9ybWF0U3RyaW5nCVN0cmluZwotICBIaUxpbmsgYXRsYXNTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgYXRsYXNDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBhdGxhc0NvbW1lbnQyCQlDb21tZW50Ci0gIEhpTGluayBhdGxhc0luY2x1ZGUJCUluY2x1ZGUKLSAgSGlMaW5rIGF0bGFzRGVmaW5lCQlNYWNybwotICBIaUxpbmsgYXRsYXNSZXNlcnZlZAkJUHJlQ29uZGl0Ci0gIEhpTGluayBhdGxhc1N0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rIGF0bGFzSWRlbnRpZmllcglOT05FCi0gIEhpTGluayBhdGxhc1NwZWNpYWwJCVNwZWNpYWwKK0hpTGluayBhdGxhc0NvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCitIaUxpbmsgYXRsYXNSZXBlYXQJCVJlcGVhdAorSGlMaW5rIGF0bGFzU3RhdGVtZW50CVN0YXRlbWVudAorSGlMaW5rIGF0bGFzTnVtYmVyCQlOdW1iZXIKK0hpTGluayBhdGxhc0hleE51bWJlcglOdW1iZXIKK0hpTGluayBhdGxhc09jdGFsTnVtYmVyCU51bWJlcgorSGlMaW5rIGF0bGFzQmluTnVtYmVyCU51bWJlcgorSGlMaW5rIGF0bGFzRGVjaW1hbE51bWJlcglGbG9hdAorSGlMaW5rIGF0bGFzRm9ybWF0U3RyaW5nCVN0cmluZworSGlMaW5rIGF0bGFzU3RyaW5nCQlTdHJpbmcKK0hpTGluayBhdGxhc0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBhdGxhc0NvbW1lbnQyCQlDb21tZW50CitIaUxpbmsgYXRsYXNJbmNsdWRlCQlJbmNsdWRlCitIaUxpbmsgYXRsYXNEZWZpbmUJCU1hY3JvCitIaUxpbmsgYXRsYXNSZXNlcnZlZAkJUHJlQ29uZGl0CitIaUxpbmsgYXRsYXNTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCitIaUxpbmsgYXRsYXNJZGVudGlmaWVyCU5PTkUKK0hpTGluayBhdGxhc1NwZWNpYWwJCVNwZWNpYWwKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImF0bGFzIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hdXRvbWFrZS52aW0gYi9ydW50aW1lL3N5bnRheC9hdXRvbWFrZS52aW0KaW5kZXggZWVhMmE5Zi4uYjM0Zjc1MSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYXV0b21ha2UudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2F1dG9tYWtlLnZpbQpAQCAtMTgsMTggKzE4LDEyIEBACiAiIEVYVFJBX1NPVVJDRVMuCiAKICIgU3RhbmRhcmQgc3ludGF4IGluaXRpYWxpemF0aW9uCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKICIgUmVhZCB0aGUgTWFrZWZpbGUgc3ludGF4IHRvIHN0YXJ0IHdpdGgKLWlmIHZlcnNpb24gPCA2MDAKLSAgc291cmNlIDxzZmlsZT46cDpoL21ha2UudmltCi1lbHNlCi0gIHJ1bnRpbWUhIHN5bnRheC9tYWtlLnZpbQotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9tYWtlLnZpbQogCiBzeW4gbWF0Y2ggYXV0b21ha2VQcmltYXJ5ICJeXHdcK1woX1BST0dSQU1TXHxfTElCUkFSSUVTXHxfTElTUFx8X1BZVEhPTlx8X0pBVkFcfF9TQ1JJUFRTXHxfREFUQVx8X0hFQURFUlNcfF9NQU5TXHxfVEVYSU5GT1NcfF9MVExJQlJBUklFU1wpXHMqXHplK1w9PSIKIHN5biBtYXRjaCBhdXRvbWFrZVByaW1hcnkgIl5URVNUU1xzKlx6ZStcPT0ibWU9ZS0xCkBAIC01OSwzNCArNTMsMjYgQEAKIHN5biByZWdpb24gIGF1dG9tYWtlTWFrZUJTdHJpbmcgc3RhcnQ9K2ArICBza2lwPStcXGArICBlbmQ9K2ArICBjb250YWlucz1tYWtlSWRlbnQsbWFrZVNTdHJpbmcsbWFrZURTdHJpbmcsbWFrZU5leHRMaW5lLGF1dG9tYWtlU3Vic3RpdHV0aW9uCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2F1dG9tYWtlX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2F1dG9tYWtlX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgYXV0b21ha2VQcmltYXJ5ICAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIGF1dG9tYWtlU2Vjb25kYXJ5ICAgVHlwZQotICBIaUxpbmsgYXV0b21ha2VFeHRyYSAgICAgICBTcGVjaWFsCi0gIEhpTGluayBhdXRvbWFrZU9wdGlvbnMgICAgIFNwZWNpYWwKLSAgSGlMaW5rIGF1dG9tYWtlQ2xlYW4gICAgICAgU3BlY2lhbAotICBIaUxpbmsgYXV0b21ha2VTdWJkaXJzICAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIGF1dG9tYWtlQ29uZGl0aW9uYWwgUHJlUHJvYwotICBIaUxpbmsgYXV0b21ha2VTdWJzdCAgICAgICBQcmVQcm9jCi0gIEhpTGluayBhdXRvbWFrZUNvbW1lbnQxICAgIG1ha2VDb21tZW50Ci0gIEhpTGluayBhdXRvbWFrZUNvbW1lbnQyICAgIG1ha2VDb21tZW50Ci0gIEhpTGluayBhdXRvbWFrZU1ha2VFcnJvciAgIG1ha2VFcnJvcgotICBIaUxpbmsgYXV0b21ha2VCYWRTdWJzdCAgICBtYWtlRXJyb3IKLSAgSGlMaW5rIGF1dG9tYWtlTWFrZURTdHJpbmcgbWFrZURTdHJpbmcKLSAgSGlMaW5rIGF1dG9tYWtlTWFrZVNTdHJpbmcgbWFrZVNTdHJpbmcKLSAgSGlMaW5rIGF1dG9tYWtlTWFrZUJTdHJpbmcgbWFrZUJTdHJpbmcKK0hpTGluayBhdXRvbWFrZVByaW1hcnkgICAgIFN0YXRlbWVudAorSGlMaW5rIGF1dG9tYWtlU2Vjb25kYXJ5ICAgVHlwZQorSGlMaW5rIGF1dG9tYWtlRXh0cmEgICAgICAgU3BlY2lhbAorSGlMaW5rIGF1dG9tYWtlT3B0aW9ucyAgICAgU3BlY2lhbAorSGlMaW5rIGF1dG9tYWtlQ2xlYW4gICAgICAgU3BlY2lhbAorSGlMaW5rIGF1dG9tYWtlU3ViZGlycyAgICAgU3RhdGVtZW50CitIaUxpbmsgYXV0b21ha2VDb25kaXRpb25hbCBQcmVQcm9jCitIaUxpbmsgYXV0b21ha2VTdWJzdCAgICAgICBQcmVQcm9jCitIaUxpbmsgYXV0b21ha2VDb21tZW50MSAgICBtYWtlQ29tbWVudAorSGlMaW5rIGF1dG9tYWtlQ29tbWVudDIgICAgbWFrZUNvbW1lbnQKK0hpTGluayBhdXRvbWFrZU1ha2VFcnJvciAgIG1ha2VFcnJvcgorSGlMaW5rIGF1dG9tYWtlQmFkU3Vic3QgICAgbWFrZUVycm9yCitIaUxpbmsgYXV0b21ha2VNYWtlRFN0cmluZyBtYWtlRFN0cmluZworSGlMaW5rIGF1dG9tYWtlTWFrZVNTdHJpbmcgbWFrZVNTdHJpbmcKK0hpTGluayBhdXRvbWFrZU1ha2VCU3RyaW5nIG1ha2VCU3RyaW5nCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJhdXRvbWFrZSIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYXZlLnZpbSBiL3J1bnRpbWUvc3ludGF4L2F2ZS52aW0KaW5kZXggMmEwYTlkOC4uYWUzNjkzOSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYXZlLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9hdmUudmltCkBAIC0xMSwxMSArMTEsOCBAQAogIiBJIHVzZSBzb21lIHRlY2hub2xvZ2llcyB0byBhdXRvbWF0aWNhbGx5IGxvYWQgYXZlbnVlIHNjcmlwdHMKICIgaW50byBBcmNWaWV3LgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTksMzQgKzU2LDI2IEBACiBzeW4gbWF0Y2ggYXZlVHlwb3MJIiE9IgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyt5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hdmVfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotCWxldCBkaWRfYXZlX3N5bl9pbml0cyA9IDEKLQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0JY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcreWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgYXZlU3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayBhdmVTdGF0ZW1lbnQJCVN0YXRlbWVudAogCi0gIEhpTGluayBhdmVTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgYXZlTnVtYmVyCQlOdW1iZXIKK0hpTGluayBhdmVTdHJpbmcJCVN0cmluZworSGlMaW5rIGF2ZU51bWJlcgkJTnVtYmVyCiAKLSAgSGlMaW5rIGF2ZUZpeFZhcmlhYmxlcwlTcGVjaWFsCi0gIEhpTGluayBhdmVWYXJpYWJsZXMJCUlkZW50aWZpZXIKLSAgSGlMaW5rIGdsb2JhbFZhcmlhYmxlcwlTcGVjaWFsCi0gIEhpTGluayBhdmVDb25zdAkJU3BlY2lhbAorSGlMaW5rIGF2ZUZpeFZhcmlhYmxlcwlTcGVjaWFsCitIaUxpbmsgYXZlVmFyaWFibGVzCQlJZGVudGlmaWVyCitIaUxpbmsgZ2xvYmFsVmFyaWFibGVzCVNwZWNpYWwKK0hpTGluayBhdmVDb25zdAkJU3BlY2lhbAogCi0gIEhpTGluayBhdmVDbGFzc01ldGhvZHMJRnVuY3Rpb24KK0hpTGluayBhdmVDbGFzc01ldGhvZHMJRnVuY3Rpb24KIAotICBIaUxpbmsgYXZlT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayBhdmVDb21tZW50CQlDb21tZW50CitIaUxpbmsgYXZlT3BlcmF0b3IJCU9wZXJhdG9yCitIaUxpbmsgYXZlQ29tbWVudAkJQ29tbWVudAogCi0gIEhpTGluayBhdmVUeXBvcwkJRXJyb3IKK0hpTGluayBhdmVUeXBvcwkJRXJyb3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImF2ZSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2F5YWNjLnZpbSBiL3J1bnRpbWUvc3ludGF4L2F5YWNjLnZpbQppbmRleCBmZWRkMGU4Li45ZjVlYzU2IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9heWFjYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvYXlhY2MudmltCkBAIC02LDIxICs2LDE0IEBACiAiIENvbW1lbnQ6CSAgICAgUmVwbGFjZWQgc291cmNpbmcgYy52aW0gZmlsZSBieSBhZGEudmltIGFuZCByZW5hbWUgeWFjYyoKICIJCWluIGF5YWNjKgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgZmluaXNoCiBlbmRpZgogCiAiIFJlYWQgdGhlIEFkYSBzeW50YXggdG8gc3RhcnQgd2l0aAotaWYgdmVyc2lvbiA8IDYwMAotICAgc28gPHNmaWxlPjpwOmgvYWRhLnZpbQotZWxzZQotICAgcnVudGltZSEgc3ludGF4L2FkYS52aW0KLSAgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvYWRhLnZpbQordW5sZXQgYjpjdXJyZW50X3N5bnRheAogCiBsZXQgczpjcG9fc2F2ZSA9ICZjcG8KIHNldCBjcG8mdmltCkBAIC01NCwzNSArNDcsMjggQEAKIHN5biBtYXRjaAlheWFjY0N1cmx5RXJyb3IJIlt7fV0iCiBzeW4gcmVnaW9uCWF5YWNjQWN0aW9uCW1hdGNoZ3JvdXA9YXlhY2NDdXJseSBzdGFydD0ieyIgZW5kPSJ9IiBjb250YWlucz1BTExCVVQsQGF5YWNjQWN0aW9uR3JvdXAKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2F5YWNjX3N5bnRheF9pbml0cyIpCi0gICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgICBsZXQgZGlkX2F5YWNjX3N5bnRheF9pbml0cyA9IDEKLSAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICBlbHNlCi0gICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIEludGVybmFsIGF5YWNjIGhpZ2hsaWdodGluZyBsaW5rcwotICBIaUxpbmsgYXlhY2NCcmt0CWF5YWNjU3RtdAotICBIaUxpbmsgYXlhY2NLZXkJYXlhY2NTdG10Ci0gIEhpTGluayBheWFjY09wZXIJYXlhY2NTdG10Ci0gIEhpTGluayBheWFjY1VuaW9uU3RhcnQJYXlhY2NLZXkKKyIgSW50ZXJuYWwgYXlhY2MgaGlnaGxpZ2h0aW5nIGxpbmtzCitIaUxpbmsgYXlhY2NCcmt0CWF5YWNjU3RtdAorSGlMaW5rIGF5YWNjS2V5CWF5YWNjU3RtdAorSGlMaW5rIGF5YWNjT3BlcglheWFjY1N0bXQKK0hpTGluayBheWFjY1VuaW9uU3RhcnQJYXlhY2NLZXkKIAotICAiIEV4dGVybmFsIGF5YWNjIGhpZ2hsaWdodGluZyBsaW5rcwotICBIaUxpbmsgYXlhY2NDdXJseQlEZWxpbWl0ZXIKLSAgSGlMaW5rIGF5YWNjQ3VybHlFcnJvcglFcnJvcgotICBIaUxpbmsgYXlhY2NEZWZpbml0aW9uCUZ1bmN0aW9uCi0gIEhpTGluayBheWFjY0RlbGltCUZ1bmN0aW9uCi0gIEhpTGluayBheWFjY0tleUFjdG4JU3BlY2lhbAotICBIaUxpbmsgYXlhY2NTZWN0aW9uU2VwCVRvZG8KLSAgSGlMaW5rIGF5YWNjU2VwCURlbGltaXRlcgotICBIaUxpbmsgYXlhY2NTdG10CVN0YXRlbWVudAotICBIaUxpbmsgYXlhY2NUeXBlCVR5cGUKKyIgRXh0ZXJuYWwgYXlhY2MgaGlnaGxpZ2h0aW5nIGxpbmtzCitIaUxpbmsgYXlhY2NDdXJseQlEZWxpbWl0ZXIKK0hpTGluayBheWFjY0N1cmx5RXJyb3IJRXJyb3IKK0hpTGluayBheWFjY0RlZmluaXRpb24JRnVuY3Rpb24KK0hpTGluayBheWFjY0RlbGltCUZ1bmN0aW9uCitIaUxpbmsgYXlhY2NLZXlBY3RuCVNwZWNpYWwKK0hpTGluayBheWFjY1NlY3Rpb25TZXAJVG9kbworSGlMaW5rIGF5YWNjU2VwCURlbGltaXRlcgorSGlMaW5rIGF5YWNjU3RtdAlTdGF0ZW1lbnQKK0hpTGluayBheWFjY1R5cGUJVHlwZQogCi0gICIgc2luY2UgQnJhbSBkb2Vzbid0IGxpa2UgbXkgRGVsaW1pdGVyIDp8Ci0gIEhpTGluayBEZWxpbWl0ZXIJVHlwZQotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKKyIgc2luY2UgQnJhbSBkb2Vzbid0IGxpa2UgbXkgRGVsaW1pdGVyIDp8CitIaUxpbmsgRGVsaW1pdGVyCVR5cGUKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImF5YWNjIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9iLnZpbSBiL3J1bnRpbWUvc3ludGF4L2IudmltCmluZGV4IGI0NzBhYjkuLjk1ZjVhZDcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2IudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2IudmltCkBAIC01LDExICs1LDggQEAKICIgTGFzdENoYW5nZToJOCBEZWMgMjAwNwogCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICBmaW5pc2gKIGVuZGlmCiAKQEAgLTY5LDU4ICs2Niw1MCBAQAogc3luIHN5bmMgY2NvbW1lbnQgYkNvbW1lbnQgbWlubGluZXM9MTAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CiAKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9iX3N5bnRheF9pbml0cyIpCi0gICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgICBsZXQgZGlkX2Jfc3ludGF4X2luaXRzID0gMQotICAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgIGVsc2UKLSAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICAgZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKLSAgSGlMaW5rIGJMYWJlbAlMYWJlbAotICBIaUxpbmsgYlVzZXJMYWJlbAlMYWJlbAotICBIaUxpbmsgYkNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluayBiUmVwZWF0CVJlcGVhdAotICBIaUxpbmsgYkxvZ2ljCVNwZWNpYWwKLSAgSGlMaW5rIGJDaGFyYWN0ZXIJQ2hhcmFjdGVyCi0gIEhpTGluayBiU3BlY2lhbENoYXJhY3RlciBiU3BlY2lhbAotICBIaUxpbmsgYk51bWJlcglOdW1iZXIKLSAgSGlMaW5rIGJGbG9hdAlGbG9hdAotICBIaUxpbmsgYk9jdGFsRXJyb3IJYkVycm9yCi0gIEhpTGluayBiUGFyZW5FcnJvcgliRXJyb3IKKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKK0hpTGluayBiTGFiZWwJTGFiZWwKK0hpTGluayBiVXNlckxhYmVsCUxhYmVsCitIaUxpbmsgYkNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCitIaUxpbmsgYlJlcGVhdAlSZXBlYXQKK0hpTGluayBiTG9naWMJU3BlY2lhbAorSGlMaW5rIGJDaGFyYWN0ZXIJQ2hhcmFjdGVyCitIaUxpbmsgYlNwZWNpYWxDaGFyYWN0ZXIgYlNwZWNpYWwKK0hpTGluayBiTnVtYmVyCU51bWJlcgorSGlMaW5rIGJGbG9hdAlGbG9hdAorSGlMaW5rIGJPY3RhbEVycm9yCWJFcnJvcgorSGlMaW5rIGJQYXJlbkVycm9yCWJFcnJvcgogIiBIaUxpbmsgYkluUGFyZW4JYkVycm9yCi0gIEhpTGluayBiQ29tbWVudEVycm9yCWJFcnJvcgotICBIaUxpbmsgYkJvb2xlYW4JSWRlbnRpZmllcgotICBIaUxpbmsgYkNvbnN0YW50CUlkZW50aWZpZXIKLSAgSGlMaW5rIGJHdWFyZAlJZGVudGlmaWVyCi0gIEhpTGluayBiT3BlcmF0b3IJT3BlcmF0b3IKLSAgSGlMaW5rIGJLZXl3b3JkcwlPcGVyYXRvcgotICBIaUxpbmsgYk9wcwkJSWRlbnRpZmllcgotICBIaUxpbmsgYlN0cnVjdHVyZQlTdHJ1Y3R1cmUKLSAgSGlMaW5rIGJTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCi0gIEhpTGluayBiSW5jbHVkZQlJbmNsdWRlCi0gIEhpTGluayBiUHJlUHJvYwlQcmVQcm9jCi0gIEhpTGluayBiRGVmaW5lCU1hY3JvCi0gIEhpTGluayBiSW5jbHVkZWQJYlN0cmluZwotICBIaUxpbmsgYkVycm9yCUVycm9yCi0gIEhpTGluayBiU3RhdGVtZW50CVN0YXRlbWVudAotICBIaUxpbmsgYlByZUNvbmRpdAlQcmVDb25kaXQKLSAgSGlMaW5rIGJUeXBlCQlUeXBlCi0gIEhpTGluayBiQ29tbWVudEVycm9yCWJFcnJvcgotICBIaUxpbmsgYkNvbW1lbnRTdHJpbmcgYlN0cmluZwotICBIaUxpbmsgYkNvbW1lbnQyU3RyaW5nIGJTdHJpbmcKLSAgSGlMaW5rIGJDb21tZW50U2tpcAliQ29tbWVudAotICBIaUxpbmsgYlN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIGJDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIGJTcGVjaWFsCVNwZWNpYWxDaGFyCi0gIEhpTGluayBiVG9kbwkJVG9kbwotICAiaGkgbGluayBiSWRlbnRpZmllcglJZGVudGlmaWVyCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorSGlMaW5rIGJDb21tZW50RXJyb3IJYkVycm9yCitIaUxpbmsgYkJvb2xlYW4JSWRlbnRpZmllcgorSGlMaW5rIGJDb25zdGFudAlJZGVudGlmaWVyCitIaUxpbmsgYkd1YXJkCUlkZW50aWZpZXIKK0hpTGluayBiT3BlcmF0b3IJT3BlcmF0b3IKK0hpTGluayBiS2V5d29yZHMJT3BlcmF0b3IKK0hpTGluayBiT3BzCQlJZGVudGlmaWVyCitIaUxpbmsgYlN0cnVjdHVyZQlTdHJ1Y3R1cmUKK0hpTGluayBiU3RvcmFnZUNsYXNzCVN0b3JhZ2VDbGFzcworSGlMaW5rIGJJbmNsdWRlCUluY2x1ZGUKK0hpTGluayBiUHJlUHJvYwlQcmVQcm9jCitIaUxpbmsgYkRlZmluZQlNYWNybworSGlMaW5rIGJJbmNsdWRlZAliU3RyaW5nCitIaUxpbmsgYkVycm9yCUVycm9yCitIaUxpbmsgYlN0YXRlbWVudAlTdGF0ZW1lbnQKK0hpTGluayBiUHJlQ29uZGl0CVByZUNvbmRpdAorSGlMaW5rIGJUeXBlCQlUeXBlCitIaUxpbmsgYkNvbW1lbnRFcnJvcgliRXJyb3IKK0hpTGluayBiQ29tbWVudFN0cmluZyBiU3RyaW5nCitIaUxpbmsgYkNvbW1lbnQyU3RyaW5nIGJTdHJpbmcKK0hpTGluayBiQ29tbWVudFNraXAJYkNvbW1lbnQKK0hpTGluayBiU3RyaW5nCVN0cmluZworSGlMaW5rIGJDb21tZW50CUNvbW1lbnQKK0hpTGluayBiU3BlY2lhbAlTcGVjaWFsQ2hhcgorSGlMaW5rIGJUb2RvCQlUb2RvCisiaGkgbGluayBiSWRlbnRpZmllcglJZGVudGlmaWVyCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJiIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9iYWFuLnZpbSBiL3J1bnRpbWUvc3ludGF4L2JhYW4udmltCmluZGV4IDUwMDkyMTguLjkxNzU2MmIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2JhYW4udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2JhYW4udmltCkBAIC00LDE1ICs0LDggQEAKICIgT3JpZ2luYWxseSBvd25lZCBieTogRXJ3aW4gU21pdCAvIEhlciB2YW4gZGUgVmxpZXJ0CiAiIExhc3QgY2hhbmdlOiAgdjEuMTcgMjAwNi8wNC8yNiAxMDo0MDoxOAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotIgotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLSAgaWYgZXhpc3RzKCJiYWFuX2ZvbGQiKQotCSAgdW5sZXQgYmFhbl9mb2xkCi0gIGVuZGlmCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE4OTQsNDAgKzE4ODcsMzIgQEAKIHN5biBrZXl3b3JkIGJhYW5Cc2hlbGwgYmNsbS5zZXQuZGVza3RvcAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9iYWFuX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2JhYW5fc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBiYWFuQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIGJhYW4zZ2wJCVN0YXRlbWVudAotICBIaUxpbmsgYmFhbjNnbHByZQkJUHJlUHJvYwotICBIaUxpbmsgYmFhbjRnbAkJU3RhdGVtZW50Ci0gIEhpTGluayBiYWFuNGdsaAkJU3RhdGVtZW50Ci0gIEhpTGluayBiYWFuc3FsCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGJhYW5zcWxoCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGJhYW5EYWxIb29rCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGJhYW5OdW1iZXIJCU51bWJlcgotICBIaUxpbmsgYmFhblN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBiYWFuT3BlblN0cmluZ0Vycm9yCUVycm9yCi0gIEhpTGluayBiYWFuQ29uc3RhbnQJCUNvbnN0YW50Ci0gIEhpTGluayBiYWFuQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgYmFhbkNvbW1lbnRoCQlDb21tZW50Ci0gIEhpTGluayBiYWFuVW5jb21tZW50ZWQJQ29tbWVudAotICBIaUxpbmsgYmFhbkRMTFVzYWdlCQlDb21tZW50Ci0gIEhpTGluayBiYWFuRnVuVXNhZ2UJCUNvbW1lbnQKLSAgSGlMaW5rIGJhYW5JZGVudGlmaWVyCQlOb3JtYWwKLSAgSGlMaW5rIGJhYW5Cc2hlbGwJCUZ1bmN0aW9uCi0gIEhpTGluayBiYWFuVHlwZQkJVHlwZQotICBIaUxpbmsgYmFhblN0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKK0hpTGluayBiYWFuQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayBiYWFuM2dsCQlTdGF0ZW1lbnQKK0hpTGluayBiYWFuM2dscHJlCQlQcmVQcm9jCitIaUxpbmsgYmFhbjRnbAkJU3RhdGVtZW50CitIaUxpbmsgYmFhbjRnbGgJCVN0YXRlbWVudAorSGlMaW5rIGJhYW5zcWwJCVN0YXRlbWVudAorSGlMaW5rIGJhYW5zcWxoCQlTdGF0ZW1lbnQKK0hpTGluayBiYWFuRGFsSG9vawkJU3RhdGVtZW50CitIaUxpbmsgYmFhbk51bWJlcgkJTnVtYmVyCitIaUxpbmsgYmFhblN0cmluZwkJU3RyaW5nCitIaUxpbmsgYmFhbk9wZW5TdHJpbmdFcnJvcglFcnJvcgorSGlMaW5rIGJhYW5Db25zdGFudAkJQ29uc3RhbnQKK0hpTGluayBiYWFuQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGJhYW5Db21tZW50aAkJQ29tbWVudAorSGlMaW5rIGJhYW5VbmNvbW1lbnRlZAlDb21tZW50CitIaUxpbmsgYmFhbkRMTFVzYWdlCQlDb21tZW50CitIaUxpbmsgYmFhbkZ1blVzYWdlCQlDb21tZW50CitIaUxpbmsgYmFhbklkZW50aWZpZXIJCU5vcm1hbAorSGlMaW5rIGJhYW5Cc2hlbGwJCUZ1bmN0aW9uCitIaUxpbmsgYmFhblR5cGUJCVR5cGUKK0hpTGluayBiYWFuU3RvcmFnZUNsYXNzCVN0b3JhZ2VDbGFzcwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYmFhbiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYmFzaWMudmltIGIvcnVudGltZS9zeW50YXgvYmFzaWMudmltCmluZGV4IGM3MjAzMmQuLjYzODQ5MTMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2Jhc2ljLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9iYXNpYy52aW0KQEAgLTgsMTEgKzgsOCBAQAogIiBUaGlzIHN5bnRheCBmaWxlIG5vdCBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIHlldC4gIFNlbmQgc3VnZ2VzdGlvbnMgdG8gdGhlCiAiIG1haW50YWluZXIuCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xNDMsMzQgKzE0MCwyNiBAQAogc3luIG1hdGNoICAgYmFzaWNNYXRoc09wZXJhdG9yICAgIi1cfD1cfFs6PD4rXCpeL1xcXVx8QU5EXHxPUiIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYmFzaWNfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfYmFzaWNfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBiYXNpY0xhYmVsCQlMYWJlbAotICBIaUxpbmsgYmFzaWNDb25kaXRpb25hbAlDb25kaXRpb25hbAotICBIaUxpbmsgYmFzaWNSZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgYmFzaWNMaW5lTnVtYmVyCUNvbW1lbnQKLSAgSGlMaW5rIGJhc2ljTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIGJhc2ljRXJyb3IJCUVycm9yCi0gIEhpTGluayBiYXNpY1N0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIGJhc2ljU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIGJhc2ljQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgYmFzaWNTcGVjaWFsCQlTcGVjaWFsCi0gIEhpTGluayBiYXNpY1RvZG8JCVRvZG8KLSAgSGlMaW5rIGJhc2ljRnVuY3Rpb24JCUlkZW50aWZpZXIKLSAgSGlMaW5rIGJhc2ljVHlwZVNwZWNpZmllciBUeXBlCi0gIEhpTGluayBiYXNpY0ZpbGVudW1iZXIgYmFzaWNUeXBlU3BlY2lmaWVyCi0gICJoaSBiYXNpY01hdGhzT3BlcmF0b3IgdGVybT1ib2xkIGN0ZXJtPWJvbGQgZ3VpPWJvbGQKK0hpTGluayBiYXNpY0xhYmVsCQlMYWJlbAorSGlMaW5rIGJhc2ljQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayBiYXNpY1JlcGVhdAkJUmVwZWF0CitIaUxpbmsgYmFzaWNMaW5lTnVtYmVyCUNvbW1lbnQKK0hpTGluayBiYXNpY051bWJlcgkJTnVtYmVyCitIaUxpbmsgYmFzaWNFcnJvcgkJRXJyb3IKK0hpTGluayBiYXNpY1N0YXRlbWVudAlTdGF0ZW1lbnQKK0hpTGluayBiYXNpY1N0cmluZwkJU3RyaW5nCitIaUxpbmsgYmFzaWNDb21tZW50CQlDb21tZW50CitIaUxpbmsgYmFzaWNTcGVjaWFsCQlTcGVjaWFsCitIaUxpbmsgYmFzaWNUb2RvCQlUb2RvCitIaUxpbmsgYmFzaWNGdW5jdGlvbgkJSWRlbnRpZmllcgorSGlMaW5rIGJhc2ljVHlwZVNwZWNpZmllciBUeXBlCitIaUxpbmsgYmFzaWNGaWxlbnVtYmVyIGJhc2ljVHlwZVNwZWNpZmllcgorImhpIGJhc2ljTWF0aHNPcGVyYXRvciB0ZXJtPWJvbGQgY3Rlcm09Ym9sZCBndWk9Ym9sZAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYmFzaWMiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2JjLnZpbSBiL3J1bnRpbWUvc3ludGF4L2JjLnZpbQppbmRleCA5NjVhZmMzLi5iZjRhNjJhIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9iYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvYmMudmltCkBAIC01LDExICs1LDggQEAKICIgCQkoRG9taW5pcXVlIFBlbGxlIGFkZGVkIEBTcGVsbCkKICIgQXZhaWxhYmxlIG9uOgl3d3cuZ2poLnNrL352bGFkby9iYy52aW0KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTUzLDI3ICs1MCwxOSBAQAogc3luIGNhc2UgbWF0Y2gKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYmNfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfYmNfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBiY0tleXdvcmQJCVN0YXRlbWVudAotICBIaUxpbmsgYmNUeXBlCQlUeXBlCi0gIEhpTGluayBiY0NvbnN0YW50CQlDb25zdGFudAotICBIaUxpbmsgYmNOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgYmNDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBiY1N0cmluZwkJU3RyaW5nCi0gIEhpTGluayBiY1NwZWNpYWxDaGFyCQlTcGVjaWFsQ2hhcgotICBIaUxpbmsgYmNQYXJlbkVycm9yCQlFcnJvcgorSGlMaW5rIGJjS2V5d29yZAkJU3RhdGVtZW50CitIaUxpbmsgYmNUeXBlCQlUeXBlCitIaUxpbmsgYmNDb25zdGFudAkJQ29uc3RhbnQKK0hpTGluayBiY051bWJlcgkJTnVtYmVyCitIaUxpbmsgYmNDb21tZW50CQlDb21tZW50CitIaUxpbmsgYmNTdHJpbmcJCVN0cmluZworSGlMaW5rIGJjU3BlY2lhbENoYXIJCVNwZWNpYWxDaGFyCitIaUxpbmsgYmNQYXJlbkVycm9yCQlFcnJvcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYmMiCiAiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYmliLnZpbSBiL3J1bnRpbWUvc3ludGF4L2JpYi52aW0KaW5kZXggOGJkMDUyOC4uMjRiODBiNSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYmliLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9iaWIudmltCkBAIC04LDExICs4LDggQEAKIAogIiBJbml0aWFsaXphdGlvbgogIiA9PT09PT09PT09PT09PQotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTkxLDExICs4OCw3IEBACiBzeW4gcmVnaW9uIGJpYkVudHJ5RGF0YSBjb250YWluZWQgc3RhcnQ9L1t7KF0vbXM9ZSsxIGVuZD0vW30pXS9tZT1lLTEgY29udGFpbnM9YmliS2V5LGJpYkZpZWxkCiAiIEFjdHVhbGx5LCA1LjggPD0gVmltIDwgNi4wIHdvdWxkIGlnbm9yZSB0aGUgYGZvbGQnIGtleXdvcmQgYW55d2F5LCBidXQgVmltPDUuOCB3b3VsZCBwcm9kdWNlCiAiIGFuIGVycm9yLCBzbyB3ZSBleHBsaWNpdGx5IGRpc3Rpbmd1aXNoIHZlcnNpb25zIHdpdGggYW5kIHdpdGhvdXQgZm9sZGluZyBmdW5jdGlvbmFsaXR5OgotaWYgdmVyc2lvbiA8IDYwMAotICBzeW4gcmVnaW9uIGJpYkVudHJ5IHN0YXJ0PS9AXFNcK1xzKlt7KF0vIGVuZD0vXlxzKlt9KV0vIHRyYW5zcGFyZW50IGNvbnRhaW5zPWJpYlR5cGUsYmliRW50cnlEYXRhIG5leHRncm91cD1iaWJDb21tZW50Ci1lbHNlCi0gIHN5biByZWdpb24gYmliRW50cnkgc3RhcnQ9L0BcU1wrXHMqW3soXS8gZW5kPS9eXHMqW30pXS8gdHJhbnNwYXJlbnQgZm9sZCBjb250YWlucz1iaWJUeXBlLGJpYkVudHJ5RGF0YSBuZXh0Z3JvdXA9YmliQ29tbWVudAotZW5kaWYKK3N5biByZWdpb24gYmliRW50cnkgc3RhcnQ9L0BcU1wrXHMqW3soXS8gZW5kPS9eXHMqW30pXS8gdHJhbnNwYXJlbnQgZm9sZCBjb250YWlucz1iaWJUeXBlLGJpYkVudHJ5RGF0YSBuZXh0Z3JvdXA9YmliQ29tbWVudAogc3luIHJlZ2lvbiBiaWJDb21tZW50MiBzdGFydD0vQENvbW1lbnRccypbeyhdLyBlbmQ9L15ccypbfSldL21lPWUtMSBjb250YWlucz1AYmliQ29tbWVudENvbnRlbnRzIG5leHRncm91cD1iaWJFbnRyeQogCiAiIFN5bmNocm9uaXphdGlvbgpAQCAtMTA3LDI1ICsxMDAsMTggQEAKICIgSGlnaGxpZ2h0aW5nIGRlZmF1bHRzCiAiID09PT09PT09PT09PT09PT09PT09PQogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfYmliX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2JpYl9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgotICBIaUxpbmsgYmliVHlwZQlJZGVudGlmaWVyCi0gIEhpTGluayBiaWJFbnRyeUt3CVN0YXRlbWVudAotICBIaUxpbmsgYmliTlNFbnRyeUt3CVByZVByb2MKLSAgSGlMaW5rIGJpYktleQkJU3BlY2lhbAotICBIaUxpbmsgYmliVmFyaWFibGUJQ29uc3RhbnQKLSAgSGlMaW5rIGJpYlVuZXNjYXBlZFNwZWNpYWwJRXJyb3IKLSAgSGlMaW5rIGJpYkNvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgYmliQ29tbWVudDIJQ29tbWVudAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorCitIaUxpbmsgYmliVHlwZQlJZGVudGlmaWVyCitIaUxpbmsgYmliRW50cnlLdwlTdGF0ZW1lbnQKK0hpTGluayBiaWJOU0VudHJ5S3cJUHJlUHJvYworSGlMaW5rIGJpYktleQkJU3BlY2lhbAorSGlMaW5rIGJpYlZhcmlhYmxlCUNvbnN0YW50CitIaUxpbmsgYmliVW5lc2NhcGVkU3BlY2lhbAlFcnJvcgorSGlMaW5rIGJpYkNvbW1lbnQJQ29tbWVudAorSGlMaW5rIGJpYkNvbW1lbnQyCUNvbW1lbnQKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImJpYiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYmluZHpvbmUudmltIGIvcnVudGltZS9zeW50YXgvYmluZHpvbmUudmltCmluZGV4IGQ1OTlhODUuLmYyMzcyNTUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2JpbmR6b25lLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9iaW5kem9uZS52aW0KQEAgLTksMTEgKzksOCBAQAogIiAKICIgJElkOiBiaW5kem9uZS52aW0gMTIgMjAxMS0wNy0xNiAyMTowOTo1N1oganVsaWFuICQKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTcwLDQwICs2NywzMiBAQAogc3luIG1hdGNoICAgICAgIHpvbmVDb21tZW50ICAgICAvOy4qLwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9iaW5kX3pvbmVfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfYmluZF96b25lX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgem9uZURpcmVjdGl2ZSAgICBNYWNybwotICAKLSAgSGlMaW5rIHpvbmVVbmtub3duICAgICAgRXJyb3IKLSAgCi0gIEhpTGluayB6b25lT3JpZ2luICAgICAgIFN0YXRlbWVudAotICBIaUxpbmsgem9uZU93bmVyTmFtZSAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIHpvbmVEb21haW4gICAgICAgSWRlbnRpZmllcgotICAKLSAgSGlMaW5rIHpvbmVTcGVjaWFsICAgICAgU3BlY2lhbAotICBIaUxpbmsgem9uZVRUTCAgICAgICAgICBDb25zdGFudAotICBIaUxpbmsgem9uZUNsYXNzICAgICAgICBJbmNsdWRlCi0gIEhpTGluayB6b25lUlJUeXBlICAgICAgIFR5cGUKLSAgCi0gIEhpTGluayB6b25lSVBBZGRyICAgICAgIE51bWJlcgotICBIaUxpbmsgem9uZUlQNkFkZHIgICAgICBOdW1iZXIKLSAgSGlMaW5rIHpvbmVUZXh0ICAgICAgICAgU3RyaW5nCi0gIEhpTGluayB6b25lTnVtYmVyICAgICAgIE51bWJlcgotICBIaUxpbmsgem9uZVNlcmlhbCAgICAgICBTcGVjaWFsCi0gIAotICBIaUxpbmsgem9uZUVyclBhcmVuICAgICBFcnJvcgotICBIaUxpbmsgem9uZUNvbW1lbnQgICAgICBDb21tZW50CitIaUxpbmsgem9uZURpcmVjdGl2ZSAgICBNYWNybwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorSGlMaW5rIHpvbmVVbmtub3duICAgICAgRXJyb3IKKworSGlMaW5rIHpvbmVPcmlnaW4gICAgICAgU3RhdGVtZW50CitIaUxpbmsgem9uZU93bmVyTmFtZSAgICBTdGF0ZW1lbnQKK0hpTGluayB6b25lRG9tYWluICAgICAgIElkZW50aWZpZXIKKworSGlMaW5rIHpvbmVTcGVjaWFsICAgICAgU3BlY2lhbAorSGlMaW5rIHpvbmVUVEwgICAgICAgICAgQ29uc3RhbnQKK0hpTGluayB6b25lQ2xhc3MgICAgICAgIEluY2x1ZGUKK0hpTGluayB6b25lUlJUeXBlICAgICAgIFR5cGUKKworSGlMaW5rIHpvbmVJUEFkZHIgICAgICAgTnVtYmVyCitIaUxpbmsgem9uZUlQNkFkZHIgICAgICBOdW1iZXIKK0hpTGluayB6b25lVGV4dCAgICAgICAgIFN0cmluZworSGlMaW5rIHpvbmVOdW1iZXIgICAgICAgTnVtYmVyCitIaUxpbmsgem9uZVNlcmlhbCAgICAgICBTcGVjaWFsCisKK0hpTGluayB6b25lRXJyUGFyZW4gICAgIEVycm9yCitIaUxpbmsgem9uZUNvbW1lbnQgICAgICBDb21tZW50CisKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImJpbmR6b25lIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ibGFuay52aW0gYi9ydW50aW1lL3N5bnRheC9ibGFuay52aW0KaW5kZXggNjAyNTFjOS4uNTNlZjU1NiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYmxhbmsudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2JsYW5rLnZpbQpAQCAtMywxMSArMyw4IEBACiAiIE1haW50YWluZXI6ICAgUmFmYWwgTS4gU3VsZWptYW4gPHVuZWZ1bmdlQGZyaWtvMi5vbmV0LnBsPgogIiBMYXN0IGNoYW5nZTogIDIwMTEgRGVjIDI4IGJ5IFRoaWxvIFNpeAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjgsMjIgKzI1LDE0IEBACiBzeW4gY2FzZSBtYXRjaAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ibGFua19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9ibGFua19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGJsYW5rSW5zdHJ1Y3Rpb24gICAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIGJsYW5rTnVtYmVyCSAgICAgICBOdW1iZXIKLSAgSGlMaW5rIGJsYW5rU3RyaW5nCSAgICAgICBTdHJpbmcKK0hpTGluayBibGFua0luc3RydWN0aW9uICAgICAgU3RhdGVtZW50CitIaUxpbmsgYmxhbmtOdW1iZXIJICAgICAgIE51bWJlcgorSGlMaW5rIGJsYW5rU3RyaW5nCSAgICAgICBTdHJpbmcKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImJsYW5rIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ic3QudmltIGIvcnVudGltZS9zeW50YXgvYnN0LnZpbQppbmRleCBlNzgzNmQ3Li45OTVmMWRhIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9ic3QudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2JzdC52aW0KQEAgLTQsMjEgKzQsMTIgQEAKICIgRmlsZW5hbWVzOiAgICAqLmJzdAogIiAkSWQ6IGJzdC52aW0sdiAxLjIgMjAwNy8wNS8wNSAxODoyNDo0MiB2aW1ib3NzIEV4cCAkCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgIGZpbmlzaAogZW5kaWYKIAotaWYgdmVyc2lvbiA8IDYwMAotICAgIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldCBpc2tleXdvcmQ9PGFyZ3M+Ci1lbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0bG9jYWwgaXNrZXl3b3JkPTxhcmdzPgotZW5kaWYKLVNldElzayA0OC01NywjLCQsJywuLEEtWixhLXoKLWRlbGNvbW1hbmQgU2V0SXNrCitzZXRsb2NhbCBpc2tleXdvcmQ9NDgtNTcsIywkLCcsLixBLVosYS16CiAKIHN5biBjYXNlIGlnbm9yZQogCkBAIC02MiwyNyArNTMsMTkgQEAKIHN5biBrZXl3b3JkIGJzdEZpZWxkICAgICAgICAgIHZvbHVtZSB5ZWFyCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2JzdF9zeW5faW5pdHMiKQotICAgIGlmIHZlcnNpb24gPCA1MDgKLSAgICAgICAgbGV0IGRpZF9ic3Rfc3luX2luaXRzID0gMQotICAgICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgIGVsc2UKLSAgICAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gICAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gICAgSGlMaW5rIGJzdENvbW1lbnQgICAgICAgICAgIENvbW1lbnQKLSAgICBIaUxpbmsgYnN0U3RyaW5nICAgICAgICAgICAgU3RyaW5nCi0gICAgSGlMaW5rIGJzdENvbW1hbmQgICAgICAgICAgIFByZVByb2MKLSAgICBIaUxpbmsgYnN0QnVpbHRJbiAgICAgICAgICAgU3RhdGVtZW50Ci0gICAgSGlMaW5rIGJzdEZpZWxkICAgICAgICAgICAgIFNwZWNpYWwKLSAgICBIaUxpbmsgYnN0TnVtYmVyICAgICAgICAgICAgTnVtYmVyCi0gICAgSGlMaW5rIGJzdFR5cGUgICAgICAgICAgICAgIFR5cGUKLSAgICBIaUxpbmsgYnN0SWRlbnRpZmllciAgICAgICAgSWRlbnRpZmllcgotICAgIEhpTGluayBic3RFcnJvciAgICAgICAgICAgICBFcnJvcgotICAgIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorSGlMaW5rIGJzdENvbW1lbnQgICAgICAgICAgIENvbW1lbnQKK0hpTGluayBic3RTdHJpbmcgICAgICAgICAgICBTdHJpbmcKK0hpTGluayBic3RDb21tYW5kICAgICAgICAgICBQcmVQcm9jCitIaUxpbmsgYnN0QnVpbHRJbiAgICAgICAgICAgU3RhdGVtZW50CitIaUxpbmsgYnN0RmllbGQgICAgICAgICAgICAgU3BlY2lhbAorSGlMaW5rIGJzdE51bWJlciAgICAgICAgICAgIE51bWJlcgorSGlMaW5rIGJzdFR5cGUgICAgICAgICAgICAgIFR5cGUKK0hpTGluayBic3RJZGVudGlmaWVyICAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgYnN0RXJyb3IgICAgICAgICAgICAgRXJyb3IKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImJzdCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYnRtLnZpbSBiL3J1bnRpbWUvc3ludGF4L2J0bS52aW0KaW5kZXggNGZkNWIyZC4uMTMzYTUxYiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYnRtLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9idG0udmltCkBAIC0xMSwxMSArMTEsOCBAQAogIi8vLSBBZnRlciB1bmFyeSBvcGVyYXRvcnMgbGlrZSAiZGVmaW5lZCIgY2FuIGFzc3VtZSB0b2tlbiB0eXBlLgogIi8vICBTaG91bGQgdGhlcmUgYmUgbW9yZSBvZiB0aGVzZT8KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE4NCw0NSArMTgxLDM3IEBACiBzeW4ga2V5d29yZCBidG1Db21tYW5kCXZzY3JwdXQgeQogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9idG1fc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfYnRtX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgYnRtTGFiZWwJCVNwZWNpYWwKLSAgSGlMaW5rIGJ0bUxhYmVsTWFyawkJU3BlY2lhbAotICBIaUxpbmsgYnRtQ21kRGl2aWRlcgkJU3BlY2lhbAotICBIaUxpbmsgYnRtQ29uZGl0aW9uYWwJCWJ0bVN0YXRlbWVudAotICBIaUxpbmsgYnRtRG90Qm9vbE9wCQlidG1TdGF0ZW1lbnQKLSAgSGlMaW5rIGJ0bVJlcGVhdAkJYnRtU3RhdGVtZW50Ci0gIEhpTGluayBidG1FY2hvQ29tbWFuZAlidG1TdGF0ZW1lbnQKLSAgSGlMaW5rIGJ0bUVjaG9QYXJhbQkJYnRtU3RhdGVtZW50Ci0gIEhpTGluayBidG1TdGF0ZW1lbnQJCVN0YXRlbWVudAotICBIaUxpbmsgYnRtVG9kbwkJVG9kbwotICBIaUxpbmsgYnRtU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIGJ0bU51bWJlcgkJTnVtYmVyCi0gIEhpTGluayBidG1Db21tZW50CQlDb21tZW50Ci0gIEhpTGluayBidG1Bcmd1bWVudAkJSWRlbnRpZmllcgotICBIaUxpbmsgYnRtVmFyaWFibGUJCUlkZW50aWZpZXIKLSAgSGlMaW5rIGJ0bUVjaG8JCVN0cmluZwotICBIaUxpbmsgYnRtQklGTWF0Y2gJCWJ0bVN0YXRlbWVudAotICBIaUxpbmsgYnRtQnVpbHRJbkZ1bmMJCWJ0bVN0YXRlbWVudAotICBIaUxpbmsgYnRtQnVpbHRJblZhcgkJYnRtU3RhdGVtZW50Ci0gIEhpTGluayBidG1TcGVjaWFsVmFyCQlidG1TdGF0ZW1lbnQKLSAgSGlMaW5rIGJ0bUNvbW1hbmQJCWJ0bVN0YXRlbWVudAorSGlMaW5rIGJ0bUxhYmVsCQlTcGVjaWFsCitIaUxpbmsgYnRtTGFiZWxNYXJrCQlTcGVjaWFsCitIaUxpbmsgYnRtQ21kRGl2aWRlcgkJU3BlY2lhbAorSGlMaW5rIGJ0bUNvbmRpdGlvbmFsCQlidG1TdGF0ZW1lbnQKK0hpTGluayBidG1Eb3RCb29sT3AJCWJ0bVN0YXRlbWVudAorSGlMaW5rIGJ0bVJlcGVhdAkJYnRtU3RhdGVtZW50CitIaUxpbmsgYnRtRWNob0NvbW1hbmQJYnRtU3RhdGVtZW50CitIaUxpbmsgYnRtRWNob1BhcmFtCQlidG1TdGF0ZW1lbnQKK0hpTGluayBidG1TdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIGJ0bVRvZG8JCVRvZG8KK0hpTGluayBidG1TdHJpbmcJCVN0cmluZworSGlMaW5rIGJ0bU51bWJlcgkJTnVtYmVyCitIaUxpbmsgYnRtQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGJ0bUFyZ3VtZW50CQlJZGVudGlmaWVyCitIaUxpbmsgYnRtVmFyaWFibGUJCUlkZW50aWZpZXIKK0hpTGluayBidG1FY2hvCQlTdHJpbmcKK0hpTGluayBidG1CSUZNYXRjaAkJYnRtU3RhdGVtZW50CitIaUxpbmsgYnRtQnVpbHRJbkZ1bmMJCWJ0bVN0YXRlbWVudAorSGlMaW5rIGJ0bUJ1aWx0SW5WYXIJCWJ0bVN0YXRlbWVudAorSGlMaW5rIGJ0bVNwZWNpYWxWYXIJCWJ0bVN0YXRlbWVudAorSGlMaW5rIGJ0bUNvbW1hbmQJCWJ0bVN0YXRlbWVudAogCi0gICJvcHRpb25hbCBoaWdobGlnaHRpbmcKLSAgIkhpTGluayBidG1TaG93VGFiCQlFcnJvcgotICAiSGlMaW5rIGJ0bVNob3dUYWJjCQlFcnJvcgotICAiaGlMaW5rIGJ0bUlkZW50aWZpZXIJCUlkZW50aWZpZXIKKyJvcHRpb25hbCBoaWdobGlnaHRpbmcKKyJIaUxpbmsgYnRtU2hvd1RhYgkJRXJyb3IKKyJIaUxpbmsgYnRtU2hvd1RhYmMJCUVycm9yCisiaGlMaW5rIGJ0bUlkZW50aWZpZXIJCUlkZW50aWZpZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImJ0bSIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYnpyLnZpbSBiL3J1bnRpbWUvc3ludGF4L2J6ci52aW0KaW5kZXggZWY1NDQ1Yi4uMTE0NTBiYSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYnpyLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9ienIudmltCkBAIC0xMSwxMSArMTEsOCBAQAogIiAgICBHaW9lbGUgQmFyYWJ1Y2NpCiAiICAgICAgIGZvciBpZGVhIG9mIGRpZmYgaGlnaGxpZ2h0aW5nCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zLgotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZC4KLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkLgoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC00MCwyNCArMzcsMTYgQEAKIHN5biBzeW5jIG1hdGNoIGJ6clN5bmMgIGdyb3VwaGVyZSBienJSZWdpb24gIl4tXHsxNH0gVGhpcyBsaW5lIGFuZCB0aGUgZm9sbG93aW5nIHdpbGwgYmUgaWdub3JlZCAtXHsxNH0kIm1lPXMtMQogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkuCi0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0LgotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2J6cl9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDw9IDUwOAotICAgIGxldCBkaWRfYnpyX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0LgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGJ6clJlbW92ZWQgICAgQ29uc3RhbnQKLSAgSGlMaW5rIGJ6ckFkZGVkICAgICAgSWRlbnRpZmllcgotICBIaUxpbmsgYnpyTW9kaWZpZWQgICBTcGVjaWFsCi0gIEhpTGluayBienJSZW5hbWVkICAgIFNwZWNpYWwKLSAgSGlMaW5rIGJ6clVuY2hhbmdlZCAgU3BlY2lhbAotICBIaUxpbmsgYnpyVW5rbm93biAgICBTcGVjaWFsCitIaUxpbmsgYnpyUmVtb3ZlZCAgICBDb25zdGFudAorSGlMaW5rIGJ6ckFkZGVkICAgICAgSWRlbnRpZmllcgorSGlMaW5rIGJ6ck1vZGlmaWVkICAgU3BlY2lhbAorSGlMaW5rIGJ6clJlbmFtZWQgICAgU3BlY2lhbAorSGlMaW5rIGJ6clVuY2hhbmdlZCAgU3BlY2lhbAorSGlMaW5rIGJ6clVua25vd24gICAgU3BlY2lhbAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYnpyIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2FiYWwudmltIGIvcnVudGltZS9zeW50YXgvY2FiYWwudmltCmluZGV4IDQxMzBiYWMuLjBiYTI3MDQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2NhYmFsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jYWJhbC52aW0KQEAgLTE4LDExICsxOCw4IEBACiAiIHYxLjA6IENhYmFsIHN5bnRheCBpbiB2aW1iYWxsIGZvcm1hdAogIiAgICAgICAodGhhbmtzIHRvIE1hZ251cyBUaGVybmluZykKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTEwNSwyNyArMTAyLDE5IEBACiBzeW4gbWF0Y2gJY2FiYWxTdGF0ZW1lbnQJIlxjdmVyc2lvbiIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY2FiYWxfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfY2FiYWxfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBjYWJhbFZlcnNpb24gICAgICAgTnVtYmVyCi0gIEhpTGluayBjYWJhbFRydXRoICAgICAgICAgQm9vbGVhbgotICBIaUxpbmsgY2FiYWxDb21tZW50ICAgICAgIENvbW1lbnQKLSAgSGlMaW5rIGNhYmFsU3RhdGVtZW50ICAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIGNhYmFsQ2F0ZWdvcnkgICAgICBUeXBlCi0gIEhpTGluayBjYWJhbEZ1bmN0aW9uICAgICAgRnVuY3Rpb24KLSAgSGlMaW5rIGNhYmFsQ29uZGl0aW9uYWwgICBDb25kaXRpb25hbAotICBIaUxpbmsgY2FiYWxPcGVyYXRvciAgICAgIE9wZXJhdG9yCi0gIEhpTGluayBjYWJhbENvbXBpbGVyICAgICAgQ29uc3RhbnQKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitIaUxpbmsgY2FiYWxWZXJzaW9uICAgICAgIE51bWJlcgorSGlMaW5rIGNhYmFsVHJ1dGggICAgICAgICBCb29sZWFuCitIaUxpbmsgY2FiYWxDb21tZW50ICAgICAgIENvbW1lbnQKK0hpTGluayBjYWJhbFN0YXRlbWVudCAgICAgU3RhdGVtZW50CitIaUxpbmsgY2FiYWxDYXRlZ29yeSAgICAgIFR5cGUKK0hpTGluayBjYWJhbEZ1bmN0aW9uICAgICAgRnVuY3Rpb24KK0hpTGluayBjYWJhbENvbmRpdGlvbmFsICAgQ29uZGl0aW9uYWwKK0hpTGluayBjYWJhbE9wZXJhdG9yICAgICAgT3BlcmF0b3IKK0hpTGluayBjYWJhbENvbXBpbGVyICAgICAgQ29uc3RhbnQKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImNhYmFsIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jZGwudmltIGIvcnVudGltZS9zeW50YXgvY2RsLnZpbQppbmRleCA2OWYxMjRiLi41MDFkY2ZjIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jZGwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2NkbC52aW0KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2ZnLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NmZy52aW0KaW5kZXggYjgyZmIyNi4uYzU3YjZmOCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY2ZnLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jZmcudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJSWdvciBOLiBQcmlzY2hlcG9mZiAoaWdvckB0eXVtYml0LnJ1LCBwcmlfaWdvckBtYWlsLnJ1KQogIiBMYXN0IGNoYW5nZToJMjAxMiBBdWcgMTEKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMgKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMgKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKIGVuZGlmCiAKQEAgLTM2LDI1ICszMywxOCBAQAogc3luIG1hdGNoICBDZmdDb21tZW50CSJcL1wvLioiCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2h0bGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jZmdfc3luX2luaXRzIikKLSAgICBpZiB2ZXJzaW9uIDwgNTA4Ci0JbGV0IGRpZF9jZmdfc3luX2luaXRzID0gMQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICAgZWxzZQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICAgIGVuZGlmCi0gICAgSGlMaW5rIENmZ09uT2ZmICAgICBMYWJlbAotICAgIEhpTGluayBDZmdDb21tZW50CUNvbW1lbnQKLSAgICBIaUxpbmsgQ2ZnU2VjdGlvbglUeXBlCi0gICAgSGlMaW5rIENmZ1N0cmluZwlTdHJpbmcKLSAgICBIaUxpbmsgQ2ZnUGFyYW1zICAgIEtleXdvcmQKLSAgICBIaUxpbmsgQ2ZnVmFsdWVzICAgIENvbnN0YW50Ci0gICAgSGlMaW5rIENmZ0RpcmVjdG9yeSBEaXJlY3RvcnkKLSAgICBIaUxpbmsgVW5jUGF0aCAgICAgIERpcmVjdG9yeQorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CitIaUxpbmsgQ2ZnT25PZmYgICAgIExhYmVsCitIaUxpbmsgQ2ZnQ29tbWVudAlDb21tZW50CitIaUxpbmsgQ2ZnU2VjdGlvbglUeXBlCitIaUxpbmsgQ2ZnU3RyaW5nCVN0cmluZworSGlMaW5rIENmZ1BhcmFtcyAgICBLZXl3b3JkCitIaUxpbmsgQ2ZnVmFsdWVzICAgIENvbnN0YW50CitIaUxpbmsgQ2ZnRGlyZWN0b3J5IERpcmVjdG9yeQorSGlMaW5rIFVuY1BhdGggICAgICBEaXJlY3RvcnkKIAotICAgIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKKwogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY2ZnIgogIiB2aW06dHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2gudmltIGIvcnVudGltZS9zeW50YXgvY2gudmltCmluZGV4IGFkZDczOTUuLjA1YTFmY2IgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2NoLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jaC52aW0KQEAgLTgsMjEgKzgsMTQgQEAKICIgQ2ggaXMgYSBDL0MrKyBpbnRlcnByZXRlciB3aXRoIG1hbnkgaGlnaCBsZXZlbCBleHRlbnNpb25zCiAiCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCiAiIFJlYWQgdGhlIEMgc3ludGF4IHRvIHN0YXJ0IHdpdGgKLWlmIHZlcnNpb24gPCA2MDAKLSAgc28gPHNmaWxlPjpwOmgvYy52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2MudmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvYy52aW0KK3VubGV0IGI6Y3VycmVudF9zeW50YXgKIAogIiBDaCBleHRlbnRpb25zCiAKQEAgLTMzLDIwICsyNiwxNCBAQAogc3luIGtleXdvcmQJY2hUeXBlCQlzdHJpbmdfdCBhcnJheQogCiAiIERlZmF1bHQgaGlnaGxpZ2h0aW5nCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY2hfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfY2hfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKLSAgSGlMaW5rIGNoQWNjZXNzCQljaFN0YXRlbWVudAotICBIaUxpbmsgY2hFeGNlcHRpb25zCQlFeGNlcHRpb24KLSAgSGlMaW5rIGNoU3RhdGVtZW50CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGNoVHlwZQkJCVR5cGUKLSAgSGlMaW5rIGNoU3RydWN0dXJlCQlTdHJ1Y3R1cmUKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKworSGlMaW5rIGNoQWNjZXNzCQljaFN0YXRlbWVudAorSGlMaW5rIGNoRXhjZXB0aW9ucwkJRXhjZXB0aW9uCitIaUxpbmsgY2hTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIGNoVHlwZQkJCVR5cGUKK0hpTGluayBjaFN0cnVjdHVyZQkJU3RydWN0dXJlCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjaCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2hhbmdlLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NoYW5nZS52aW0KaW5kZXggZTliZjg4Yi4uYWU5MGYzNCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY2hhbmdlLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jaGFuZ2UudmltCkBAIC03LDExICs3LDggQEAKICIgaW4gdGhlIGFydGljbGVzIGJ5IERvbmFsZCBFLiBLbnV0aCBhbmQgU2lsdmlvIExldnkgY2l0ZWQgaW4gIndlYi52aW0iIGFuZAogIiAiY3dlYi52aW0iIHJlc3BlY3RpdmVseS4KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3luIGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTIxLDIxICsxOCwxMyBAQAogc3luIHJlZ2lvbiBjaGFuZ2VUb01hdGVyaWFsIHN0YXJ0PSJeQHkuKiQibXM9ZSsxIGVuZD0iXkB6LiokIm1lPXMtMQogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jaGFuZ2Vfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfY2hhbmdlX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgY2hhbmdlRnJvbU1hdGVyaWFsIFN0cmluZwotICBIaUxpbmsgY2hhbmdlVG9NYXRlcmlhbCBTdGF0ZW1lbnQKK0hpTGluayBjaGFuZ2VGcm9tTWF0ZXJpYWwgU3RyaW5nCitIaUxpbmsgY2hhbmdlVG9NYXRlcmlhbCBTdGF0ZW1lbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImNoYW5nZSIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2hhbmdlbG9nLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NoYW5nZWxvZy52aW0KaW5kZXggMzNkMzFiYS4uZmM1NWZiNSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY2hhbmdlbG9nLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jaGFuZ2Vsb2cudmltCkBAIC00LDExICs0LDggQEAKICIgTWFpbnRhaW5lcjoJQ29yaW5uYSBWaW5zY2hlbiA8dmluc2NoZW5AcmVkaGF0LmNvbT4KICIgTGFzdCBDaGFuZ2U6CUp1bmUgMSwgMjAwMwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjgsMTcgKzI1LDEyIEBACiAKIHN5biBtYXRjaAljaGFuZ2Vsb2dUZXh0CSJeXHMuKiQiIGNvbnRhaW5zPWNoYW5nZWxvZ01haWwsY2hhbmdlbG9nTnVtYmVyLGNoYW5nZWxvZ01vbnRoLGNoYW5nZWxvZ0RheSxjaGFuZ2Vsb2dFcnJvcgogc3luIG1hdGNoCWNoYW5nZWxvZ0hlYWRlcgkiXlxTLiokIiBjb250YWlucz1jaGFuZ2Vsb2dOdW1iZXIsY2hhbmdlbG9nTW9udGgsY2hhbmdlbG9nRGF5LGNoYW5nZWxvZ01haWwKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3luIHJlZ2lvbgljaGFuZ2Vsb2dGaWxlcwlzdGFydD0iXlxzXCtbKypdXHMiIGVuZD0iOlxzIiBlbmQ9Il4kIiBjb250YWlucz1jaGFuZ2Vsb2dCdWxsZXQsY2hhbmdlbG9nQ29sb24sY2hhbmdlbG9nRXJyb3Iga2VlcGVuZAotICBzeW4gcmVnaW9uCWNoYW5nZWxvZ0ZpbGVzCXN0YXJ0PSJeXHNcK1soW10iIGVuZD0iOlxzIiBlbmQ9Il4kIiBjb250YWlucz1jaGFuZ2Vsb2dCdWxsZXQsY2hhbmdlbG9nQ29sb24sY2hhbmdlbG9nRXJyb3Iga2VlcGVuZAotICBzeW4gbWF0Y2gJY2hhbmdlbG9nQ29sb24JY29udGFpbmVkICI6XHMiCi1lbHNlCi0gIHN5biByZWdpb24JY2hhbmdlbG9nRmlsZXMJc3RhcnQ9Il5cc1wrWysqXVxzIiBlbmQ9IjoiIGVuZD0iXiQiIGNvbnRhaW5zPWNoYW5nZWxvZ0J1bGxldCxjaGFuZ2Vsb2dDb2xvbixjaGFuZ2Vsb2dGdW5jcyxjaGFuZ2Vsb2dFcnJvciBrZWVwZW5kCi0gIHN5biByZWdpb24JY2hhbmdlbG9nRmlsZXMJc3RhcnQ9Il5cc1wrWyhbXSIgZW5kPSI6IiBlbmQ9Il4kIiBjb250YWlucz1jaGFuZ2Vsb2dCdWxsZXQsY2hhbmdlbG9nQ29sb24sY2hhbmdlbG9nRnVuY3MsY2hhbmdlbG9nRXJyb3Iga2VlcGVuZAotICBzeW4gbWF0Y2gJY2hhbmdlbG9nRnVuY3MgIGNvbnRhaW5lZCAiKC5cey19KSIgZXh0ZW5kCi0gIHN5biBtYXRjaAljaGFuZ2Vsb2dGdW5jcyAgY29udGFpbmVkICJcWy5cey19XSIgZXh0ZW5kCi0gIHN5biBtYXRjaAljaGFuZ2Vsb2dDb2xvbgljb250YWluZWQgIjoiCi1lbmRpZgorc3luIHJlZ2lvbgljaGFuZ2Vsb2dGaWxlcwlzdGFydD0iXlxzXCtbKypdXHMiIGVuZD0iOiIgZW5kPSJeJCIgY29udGFpbnM9Y2hhbmdlbG9nQnVsbGV0LGNoYW5nZWxvZ0NvbG9uLGNoYW5nZWxvZ0Z1bmNzLGNoYW5nZWxvZ0Vycm9yIGtlZXBlbmQKK3N5biByZWdpb24JY2hhbmdlbG9nRmlsZXMJc3RhcnQ9Il5cc1wrWyhbXSIgZW5kPSI6IiBlbmQ9Il4kIiBjb250YWlucz1jaGFuZ2Vsb2dCdWxsZXQsY2hhbmdlbG9nQ29sb24sY2hhbmdlbG9nRnVuY3MsY2hhbmdlbG9nRXJyb3Iga2VlcGVuZAorc3luIG1hdGNoCWNoYW5nZWxvZ0Z1bmNzICBjb250YWluZWQgIiguXHstfSkiIGV4dGVuZAorc3luIG1hdGNoCWNoYW5nZWxvZ0Z1bmNzICBjb250YWluZWQgIlxbLlx7LX1dIiBleHRlbmQKK3N5biBtYXRjaAljaGFuZ2Vsb2dDb2xvbgljb250YWluZWQgIjoiCisKIHN5biBtYXRjaAljaGFuZ2Vsb2dCdWxsZXQJY29udGFpbmVkICJeXHNcK1srKl1ccyIgY29udGFpbnM9Y2hhbmdlbG9nRXJyb3IKIHN5biBtYXRjaAljaGFuZ2Vsb2dNYWlsCWNvbnRhaW5lZCAiPFtBLVphLXowLTlcLl86Ky1dXCtAW0EtWmEtejAtOVwuXy1dXCs+Igogc3luIGtleXdvcmQJY2hhbmdlbG9nTW9udGgJY29udGFpbmVkIGphbiBmZWIgbWFyIGFwciBtYXkganVuIGp1bCBhdWcgc2VwIG9jdCBub3YgZGVjCkBAIC00NiwzMiArMzgsMjIgQEAKIHN5biBtYXRjaAljaGFuZ2Vsb2dOdW1iZXIJY29udGFpbmVkICJbLi1dKlswLTldXCsiCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NoYW5nZWxvZ19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9jaGFuZ2Vsb2dfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBjaGFuZ2Vsb2dUZXh0CQlOb3JtYWwKLSAgSGlMaW5rIGNoYW5nZWxvZ0J1bGxldAlUeXBlCi0gIEhpTGluayBjaGFuZ2Vsb2dDb2xvbgkJVHlwZQotICBIaUxpbmsgY2hhbmdlbG9nRmlsZXMJCUNvbW1lbnQKLSAgaWYgdmVyc2lvbiA+PSA2MDAKLSAgICBIaUxpbmsgY2hhbmdlbG9nRnVuY3MJQ29tbWVudAotICBlbmRpZgotICBIaUxpbmsgY2hhbmdlbG9nSGVhZGVyCVN0YXRlbWVudAotICBIaUxpbmsgY2hhbmdlbG9nTWFpbAkJU3BlY2lhbAotICBIaUxpbmsgY2hhbmdlbG9nTnVtYmVyCU51bWJlcgotICBIaUxpbmsgY2hhbmdlbG9nTW9udGgJCU51bWJlcgotICBIaUxpbmsgY2hhbmdlbG9nRGF5CQlOdW1iZXIKLSAgSGlMaW5rIGNoYW5nZWxvZ0Vycm9yCQlGb2xkZWQKK0hpTGluayBjaGFuZ2Vsb2dUZXh0CQlOb3JtYWwKK0hpTGluayBjaGFuZ2Vsb2dCdWxsZXQJVHlwZQorSGlMaW5rIGNoYW5nZWxvZ0NvbG9uCQlUeXBlCitIaUxpbmsgY2hhbmdlbG9nRmlsZXMJCUNvbW1lbnQKK0hpTGluayBjaGFuZ2Vsb2dGdW5jcwlDb21tZW50CitIaUxpbmsgY2hhbmdlbG9nSGVhZGVyCVN0YXRlbWVudAorSGlMaW5rIGNoYW5nZWxvZ01haWwJCVNwZWNpYWwKK0hpTGluayBjaGFuZ2Vsb2dOdW1iZXIJTnVtYmVyCitIaUxpbmsgY2hhbmdlbG9nTW9udGgJCU51bWJlcgorSGlMaW5rIGNoYW5nZWxvZ0RheQkJTnVtYmVyCitIaUxpbmsgY2hhbmdlbG9nRXJyb3IJCUZvbGRlZAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY2hhbmdlbG9nIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jaGFza2VsbC52aW0gYi9ydW50aW1lL3N5bnRheC9jaGFza2VsbC52aW0KaW5kZXggM2Y3NjRkMC4uNGIxZThjNSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY2hhc2tlbGwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2NoYXNrZWxsLnZpbQpAQCAtOSwxMCArOSw2IEBACiBsZXQgYjpoc19jaHM9MQogCiAiIEluY2x1ZGUgc3RhbmRhcmQgSGFza2VsbCBoaWdobGlnaHRpbmcKLWlmIHZlcnNpb24gPCA2MDAKLSAgc291cmNlIDxzZmlsZT46cDpoL2hhc2tlbGwudmltCi1lbHNlCi0gIHJ1bnRpbWUhIHN5bnRheC9oYXNrZWxsLnZpbQotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9oYXNrZWxsLnZpbQogCiAiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2hlZXRhaC52aW0gYi9ydW50aW1lL3N5bnRheC9jaGVldGFoLnZpbQppbmRleCA3ZWIxNzU2Li5jMTg2MGRlIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jaGVldGFoLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jaGVldGFoLnZpbQpAQCAtOCwxMSArOCw4IEBACiAiICBQU1Atc3R5bGUgdGFnczogPCUgLi4gJT4gKG9ic29sZXRlZCBmZWF0dXJlKQogIiAgZG9jLXN0cmluZ3MgYW5kIGhlYWRlciBjb21tZW50cyAocmFyZWx5IHVzZWQgZmVhdHVyZSkKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLQlzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAJZmluaXNoCiBlbmRpZgogCkBAIC0zNiwyNSArMzMsMTcgQEAKIHN5biByZWdpb24gIGNoZWV0YWhNdWx0aUxpbmVDb21tZW50IHN0YXJ0PSIjXCoiIGVuZD0iXCojIgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jaGVldGFoX3N5bl9pbml0cyIpCi0JaWYgdmVyc2lvbiA8IDUwOAotCQlsZXQgZGlkX2NoZWV0YWhfc3luX2luaXRzID0gMQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotCWVsc2UKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0JZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0JSGlMaW5rIGNoZWV0YWhQbGFjZUhvbGRlciBJZGVudGlmaWVyCi0JSGlMaW5rIGNoZWV0YWhEaXJlY3RpdmUgUHJlQ29uZGl0Ci0JSGlMaW5rIGNoZWV0YWhLZXl3b3JkIERlZmluZQotCUhpTGluayBjaGVldGFoQ29udGludWF0aW9uIFNwZWNpYWwKLQlIaUxpbmsgY2hlZXRhaENvbW1lbnQgQ29tbWVudAotCUhpTGluayBjaGVldGFoTXVsdGlMaW5lQ29tbWVudCBDb21tZW50CitIaUxpbmsgY2hlZXRhaFBsYWNlSG9sZGVyIElkZW50aWZpZXIKK0hpTGluayBjaGVldGFoRGlyZWN0aXZlIFByZUNvbmRpdAorSGlMaW5rIGNoZWV0YWhLZXl3b3JkIERlZmluZQorSGlMaW5rIGNoZWV0YWhDb250aW51YXRpb24gU3BlY2lhbAorSGlMaW5rIGNoZWV0YWhDb21tZW50IENvbW1lbnQKK0hpTGluayBjaGVldGFoTXVsdGlMaW5lQ29tbWVudCBDb21tZW50CiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImNoZWV0YWgiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NoaWxsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NoaWxsLnZpbQppbmRleCBjYTAwY2Q5Li5kOGVlOWRiIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jaGlsbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY2hpbGwudmltCkBAIC0xMSwxMSArMTEsOCBAQAogIiAmIENvbW11bmljYXRpb25zIExUZC4pCiAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTEyNCw2NyArMTIxLDU5IEBACiBleGVjICJzeW4gc3luYyBjY29tbWVudCBjaGlsbENvbW1lbnQgbWlubGluZXM9IiAuIGNoaWxsX21pbmxpbmVzCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NoX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2NoX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgY2hpbGxMYWJlbAlMYWJlbAotICBIaUxpbmsgY2hpbGxVc2VyTGFiZWwJTGFiZWwKLSAgSGlMaW5rIGNoaWxsQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKLSAgIiBoaSBjaGlsbENvbmRpdGlvbmFsCXRlcm09Ym9sZCBjdGVybWZnPXJlZCBndWlmZz1yZWQgZ3VpPWJvbGQKK0hpTGluayBjaGlsbExhYmVsCUxhYmVsCitIaUxpbmsgY2hpbGxVc2VyTGFiZWwJTGFiZWwKK0hpTGluayBjaGlsbENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCisiIGhpIGNoaWxsQ29uZGl0aW9uYWwJdGVybT1ib2xkIGN0ZXJtZmc9cmVkIGd1aWZnPXJlZCBndWk9Ym9sZAogCi0gIEhpTGluayBjaGlsbFJlcGVhdAlSZXBlYXQKLSAgSGlMaW5rIGNoaWxsUHJvY2VzcwlSZXBlYXQKLSAgSGlMaW5rIGNoaWxsU2lnbmFsCVJlcGVhdAotICBIaUxpbmsgY2hpbGxDaGFyYWN0ZXIJQ2hhcmFjdGVyCi0gIEhpTGluayBjaGlsbFNwZWNpYWxDaGFyYWN0ZXIgY2hpbGxTcGVjaWFsCi0gIEhpTGluayBjaGlsbE51bWJlcglOdW1iZXIKLSAgSGlMaW5rIGNoaWxsRmxvYXQJRmxvYXQKLSAgSGlMaW5rIGNoaWxsT2N0YWxFcnJvcgljaGlsbEVycm9yCi0gIEhpTGluayBjaGlsbFBhcmVuRXJyb3IJY2hpbGxFcnJvcgotICBIaUxpbmsgY2hpbGxJblBhcmVuCWNoaWxsRXJyb3IKLSAgSGlMaW5rIGNoaWxsQ29tbWVudEVycm9yCWNoaWxsRXJyb3IKLSAgSGlMaW5rIGNoaWxsU3BhY2VFcnJvcgljaGlsbEVycm9yCi0gIEhpTGluayBjaGlsbE9wZXJhdG9yCU9wZXJhdG9yCi0gIEhpTGluayBjaGlsbFN0cnVjdHVyZQlTdHJ1Y3R1cmUKLSAgSGlMaW5rIGNoaWxsQmxvY2sJT3BlcmF0b3IKLSAgSGlMaW5rIGNoaWxsU2NvcGUJT3BlcmF0b3IKLSAgImhpIGNoaWxsRURNTCAgICAgdGVybT11bmRlcmxpbmUgY3Rlcm1mZz1EYXJrUmVkIGd1aWZnPVJlZAotICBIaUxpbmsgY2hpbGxFRE1MCVByZVByb2MKLSAgImhpIGNoaWxsQm9vbENvbnN0CXRlcm09Ym9sZCBjdGVybWZnPWJyb3duIGd1aWZnPWJyb3duCi0gIEhpTGluayBjaGlsbEJvb2xDb25zdAlDb25zdGFudAotICAiaGkgY2hpbGxMb2dpY2FsCXRlcm09Ym9sZCBjdGVybWZnPWJyb3duIGd1aWZnPWJyb3duCi0gIEhpTGluayBjaGlsbExvZ2ljYWwJQ29uc3RhbnQKLSAgSGlMaW5rIGNoaWxsU3RvcmFnZUNsYXNzCVN0b3JhZ2VDbGFzcwotICBIaUxpbmsgY2hpbGxJbmNsdWRlCUluY2x1ZGUKLSAgSGlMaW5rIGNoaWxsUHJlUHJvYwlQcmVQcm9jCi0gIEhpTGluayBjaGlsbERlZmluZQlNYWNybwotICBIaUxpbmsgY2hpbGxJbmNsdWRlZAljaGlsbFN0cmluZwotICBIaUxpbmsgY2hpbGxFcnJvcglFcnJvcgotICBIaUxpbmsgY2hpbGxTdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluayBjaGlsbFByZUNvbmRpdAlQcmVDb25kaXQKLSAgSGlMaW5rIGNoaWxsVHlwZQlUeXBlCi0gIEhpTGluayBjaGlsbENvbW1lbnRFcnJvcgljaGlsbEVycm9yCi0gIEhpTGluayBjaGlsbENvbW1lbnRTdHJpbmcgY2hpbGxTdHJpbmcKLSAgSGlMaW5rIGNoaWxsQ29tbWVudDJTdHJpbmcgY2hpbGxTdHJpbmcKLSAgSGlMaW5rIGNoaWxsQ29tbWVudFNraXAJY2hpbGxDb21tZW50Ci0gIEhpTGluayBjaGlsbFN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIGNoaWxsQ29tbWVudAlDb21tZW50Ci0gICIgaGkgY2hpbGxDb21tZW50CXRlcm09Tm9uZSBjdGVybWZnPWxpZ2h0Ymx1ZSBndWlmZz1saWdodGJsdWUKLSAgSGlMaW5rIGNoaWxsU3BlY2lhbAlTcGVjaWFsQ2hhcgotICBIaUxpbmsgY2hpbGxUb2RvCVRvZG8KLSAgSGlMaW5rIGNoaWxsQmxvY2sJU3RhdGVtZW50Ci0gICJIaUxpbmsgY2hpbGxJZGVudGlmaWVyCUlkZW50aWZpZXIKLSAgSGlMaW5rIGNoaWxsQnJhY2tldAlEZWxpbWl0ZXIKK0hpTGluayBjaGlsbFJlcGVhdAlSZXBlYXQKK0hpTGluayBjaGlsbFByb2Nlc3MJUmVwZWF0CitIaUxpbmsgY2hpbGxTaWduYWwJUmVwZWF0CitIaUxpbmsgY2hpbGxDaGFyYWN0ZXIJQ2hhcmFjdGVyCitIaUxpbmsgY2hpbGxTcGVjaWFsQ2hhcmFjdGVyIGNoaWxsU3BlY2lhbAorSGlMaW5rIGNoaWxsTnVtYmVyCU51bWJlcgorSGlMaW5rIGNoaWxsRmxvYXQJRmxvYXQKK0hpTGluayBjaGlsbE9jdGFsRXJyb3IJY2hpbGxFcnJvcgorSGlMaW5rIGNoaWxsUGFyZW5FcnJvcgljaGlsbEVycm9yCitIaUxpbmsgY2hpbGxJblBhcmVuCWNoaWxsRXJyb3IKK0hpTGluayBjaGlsbENvbW1lbnRFcnJvcgljaGlsbEVycm9yCitIaUxpbmsgY2hpbGxTcGFjZUVycm9yCWNoaWxsRXJyb3IKK0hpTGluayBjaGlsbE9wZXJhdG9yCU9wZXJhdG9yCitIaUxpbmsgY2hpbGxTdHJ1Y3R1cmUJU3RydWN0dXJlCitIaUxpbmsgY2hpbGxCbG9jawlPcGVyYXRvcgorSGlMaW5rIGNoaWxsU2NvcGUJT3BlcmF0b3IKKyJoaSBjaGlsbEVETUwgICAgIHRlcm09dW5kZXJsaW5lIGN0ZXJtZmc9RGFya1JlZCBndWlmZz1SZWQKK0hpTGluayBjaGlsbEVETUwJUHJlUHJvYworImhpIGNoaWxsQm9vbENvbnN0CXRlcm09Ym9sZCBjdGVybWZnPWJyb3duIGd1aWZnPWJyb3duCitIaUxpbmsgY2hpbGxCb29sQ29uc3QJQ29uc3RhbnQKKyJoaSBjaGlsbExvZ2ljYWwJdGVybT1ib2xkIGN0ZXJtZmc9YnJvd24gZ3VpZmc9YnJvd24KK0hpTGluayBjaGlsbExvZ2ljYWwJQ29uc3RhbnQKK0hpTGluayBjaGlsbFN0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKK0hpTGluayBjaGlsbEluY2x1ZGUJSW5jbHVkZQorSGlMaW5rIGNoaWxsUHJlUHJvYwlQcmVQcm9jCitIaUxpbmsgY2hpbGxEZWZpbmUJTWFjcm8KK0hpTGluayBjaGlsbEluY2x1ZGVkCWNoaWxsU3RyaW5nCitIaUxpbmsgY2hpbGxFcnJvcglFcnJvcgorSGlMaW5rIGNoaWxsU3RhdGVtZW50CVN0YXRlbWVudAorSGlMaW5rIGNoaWxsUHJlQ29uZGl0CVByZUNvbmRpdAorSGlMaW5rIGNoaWxsVHlwZQlUeXBlCitIaUxpbmsgY2hpbGxDb21tZW50RXJyb3IJY2hpbGxFcnJvcgorSGlMaW5rIGNoaWxsQ29tbWVudFN0cmluZyBjaGlsbFN0cmluZworSGlMaW5rIGNoaWxsQ29tbWVudDJTdHJpbmcgY2hpbGxTdHJpbmcKK0hpTGluayBjaGlsbENvbW1lbnRTa2lwCWNoaWxsQ29tbWVudAorSGlMaW5rIGNoaWxsU3RyaW5nCVN0cmluZworSGlMaW5rIGNoaWxsQ29tbWVudAlDb21tZW50CisiIGhpIGNoaWxsQ29tbWVudAl0ZXJtPU5vbmUgY3Rlcm1mZz1saWdodGJsdWUgZ3VpZmc9bGlnaHRibHVlCitIaUxpbmsgY2hpbGxTcGVjaWFsCVNwZWNpYWxDaGFyCitIaUxpbmsgY2hpbGxUb2RvCVRvZG8KK0hpTGluayBjaGlsbEJsb2NrCVN0YXRlbWVudAorIkhpTGluayBjaGlsbElkZW50aWZpZXIJSWRlbnRpZmllcgorSGlMaW5rIGNoaWxsQnJhY2tldAlEZWxpbWl0ZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImNoaWxsIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jbC52aW0gYi9ydW50aW1lL3N5bnRheC9jbC52aW0KaW5kZXggNDFjMDQ1Zi4uMDU3ZDAwNSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY2wudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2NsLnZpbQpAQCAtMTAsMTkgKzEwLDEyIEBACiAiIFZlcnNpb246ICAgICAgICAgICAgICA2CiAiIExhc3QgQ2hhbmdlOgkJTWFyIDA2IDIwMTMKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLQlzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAJZmluaXNoCiBlbmRpZgogCi1pZiB2ZXJzaW9uID49IDYwMAotCXNldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sLQotZWxzZQotCXNldCBpc2tleXdvcmQ9QCw0OC01NyxfLC0KLWVuZGlmCitzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NyxfLC0KIAogc3luIGNhc2UgaWdub3JlCiAKQEAgLTc1LDQwICs2OCwzMiBAQAogc3luIGtleXdvcmQJY2xTdGF0ZW1lbnQJY2xlYXIgY2xlYXJfZW9sIGNsZWFyX2VvcyBjbG9zZSBjb3B5IGNyZWF0ZSB1bmlxdWUgd2l0aCB3aGVyZSBlbXB0eSBkZWZpbmUgZGVmaW5lIGxkZWZpbmUgZGVsYXlfZm9ybSBkZWxldGUgZXNjYXBlIGV4aXRfYmxvY2sgZXhpdF9kbyBleGl0X3Byb2Nlc3MgZmllbGQgZm9yayBmb3JtYXQgZ2V0IGdldGZpbGUgZ2V0bmV4dCBnZXRwcmV2IGdvdG8gaGVhZCBqb2luIG1haW50YWluIG1lc3NhZ2Ugbm9fam9pbiBvbl9lb3Agb25fa2V5IG9uX2V4aXQgb25fZGVsZXRlIG9wZW5pbiBvcGVub3V0IG9wZW5hcHAgcGF1c2UgcG9wZW5pbiBwb3Blbm91dCBwb3BlbmlvIHByaW50IHB1dCByYW5nZSByZWFkIHJlZGlzcGxheSByZWZyZXNoIHJlc3RhcnRfYmxvY2sgc2NyZWVuIHNlbGVjdCBzbGVlcCB0ZXh0IHVubG9jayB3cml0ZSBhbmQgbm90IG9yIGRvCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYJdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NsX3N5bnRheF9pbml0cyIpCi0JaWYJdmVyc2lvbiA8IDUwOAotCQlsZXQgZGlkX2NsX3N5bnRheF9pbml0cyA9IDEKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLQllbHNlCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotCWVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCUhpTGluayBjbGlmRXJyb3IJRXJyb3IKLQlIaUxpbmsgY2xTcGFjZUVycm9yCUVycm9yCi0JSGlMaW5rIGNsV2hpbGUJCVJlcGVhdAotCUhpTGluayBjbENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0JSGlMaW5rIGNsRGVidWcJCURlYnVnCi0JSGlMaW5rIGNsTmVlZHNXb3JrCVRvZG8KLQlIaUxpbmsgY2xUb2RvCQlUb2RvCi0JSGlMaW5rIGNsQ29tbWVudAlDb21tZW50Ci0JSGlMaW5rIGNsUHJvY2VkdXJlCVByb2NlZHVyZQotCUhpTGluayBjbEJyZWFrCQlQcm9jZWR1cmUKLQlIaUxpbmsgY2xJbmNsdWRlCUluY2x1ZGUKLQlIaUxpbmsgY2xTZXRPcHRpb24JU3RhdGVtZW50Ci0JSGlMaW5rIGNsU2V0CQlJZGVudGlmaWVyCi0JSGlMaW5rIGNsUHJlUHJvYwlQcmVQcm9jCi0JSGlMaW5rIGNsT3BlcmF0b3IJT3BlcmF0b3IKLQlIaUxpbmsgY2xOdW1iZXIJCU51bWJlcgotCUhpTGluayBjbFN0cmluZwkJU3RyaW5nCi0JSGlMaW5rIGNsUXVvdGUJCURlbGltaXRlcgotCUhpTGluayBjbFJlc2VydmVkCUlkZW50aWZpZXIKLQlIaUxpbmsgY2xGdW5jdGlvbglGdW5jdGlvbgotCUhpTGluayBjbFN0YXRlbWVudAlTdGF0ZW1lbnQKK0hpTGluayBjbGlmRXJyb3IJRXJyb3IKK0hpTGluayBjbFNwYWNlRXJyb3IJRXJyb3IKK0hpTGluayBjbFdoaWxlCQlSZXBlYXQKK0hpTGluayBjbENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCitIaUxpbmsgY2xEZWJ1ZwkJRGVidWcKK0hpTGluayBjbE5lZWRzV29yawlUb2RvCitIaUxpbmsgY2xUb2RvCQlUb2RvCitIaUxpbmsgY2xDb21tZW50CUNvbW1lbnQKK0hpTGluayBjbFByb2NlZHVyZQlQcm9jZWR1cmUKK0hpTGluayBjbEJyZWFrCQlQcm9jZWR1cmUKK0hpTGluayBjbEluY2x1ZGUJSW5jbHVkZQorSGlMaW5rIGNsU2V0T3B0aW9uCVN0YXRlbWVudAorSGlMaW5rIGNsU2V0CQlJZGVudGlmaWVyCitIaUxpbmsgY2xQcmVQcm9jCVByZVByb2MKK0hpTGluayBjbE9wZXJhdG9yCU9wZXJhdG9yCitIaUxpbmsgY2xOdW1iZXIJCU51bWJlcgorSGlMaW5rIGNsU3RyaW5nCQlTdHJpbmcKK0hpTGluayBjbFF1b3RlCQlEZWxpbWl0ZXIKK0hpTGluayBjbFJlc2VydmVkCUlkZW50aWZpZXIKK0hpTGluayBjbEZ1bmN0aW9uCUZ1bmN0aW9uCitIaUxpbmsgY2xTdGF0ZW1lbnQJU3RhdGVtZW50CiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImNsIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jbGVhbi52aW0gYi9ydW50aW1lL3N5bnRheC9jbGVhbi52aW0KaW5kZXggZWE5NWFhMi4uMTNkZGZhYiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY2xlYW4udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2NsZWFuLnZpbQpAQCAtNCwxMSArNCw4IEBACiAiIENvLUF1dGhvcjoJQXJ0aHVyIHZhbiBMZWV1d2VuIDxhcnRodXJ2bEBzY2kua3VuLm5sPgogIiBMYXN0IENoYW5nZToJMjAxMyBPY3QgMTUgYnkgSnVycmnDq24gU3R1dHRlcmhlaW0KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTUyLDQ5ICs0OSw0MSBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NsZWFuX3N5bnRheF9pbml0IikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfY2xlYW5fc3ludGF4X2luaXQgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgICIgQ29tbWVudHMKLSAgIEhpTGluayBjbGVhbkNvbW1lbnQgICAgICBDb21tZW50Ci0gICAiIENvbnN0YW50cyBhbmQgZGVub3RhdGlvbnMKLSAgIEhpTGluayBjbGVhblN0cmluZ0Rlbm90ICBTdHJpbmcKLSAgIEhpTGluayBjbGVhbkNoYXJEZW5vdCAgICBDaGFyYWN0ZXIKLSAgIEhpTGluayBjbGVhbkludGVnZXJEZW5vdCBOdW1iZXIKLSAgIEhpTGluayBjbGVhbkJvb2xEZW5vdCAgICBCb29sZWFuCi0gICBIaUxpbmsgY2xlYW5SZWFsRGVub3QgICAgRmxvYXQKLSAgICIgSWRlbnRpZmllcnMKLSAgICIgU3RhdGVtZW50cwotICAgSGlMaW5rIGNsZWFuVHlwZUNsYXNzICAgIEtleXdvcmQKLSAgIEhpTGluayBjbGVhbkNvbmRpdGlvbmFsICBDb25kaXRpb25hbAotICAgSGlMaW5rIGNsZWFuTGFiZWwJCUxhYmVsCi0gICBIaUxpbmsgY2xlYW5LZXl3b3JkICAgICAgS2V5d29yZAotICAgIiBHZW5lcmljIFByZXByb2Nlc3NpbmcKLSAgIEhpTGluayBjbGVhbkluY2x1ZGVLZXl3b3JkICAgICAgSW5jbHVkZQotICAgSGlMaW5rIGNsZWFuTW9kdWxlU3lzdGVtIFByZVByb2MKLSAgICIgVHlwZQotICAgSGlMaW5rIGNsZWFuQmFzaWNUeXBlICAgIFR5cGUKLSAgIEhpTGluayBjbGVhblNwZWNpYWxUeXBlICBUeXBlCi0gICBIaUxpbmsgY2xlYW5GdW5jVHlwZURlZiAgVHlwZWRlZgotICAgIiBTcGVjaWFsCi0gICBIaUxpbmsgY2xlYW5TcGVjaWFsICAgICAgU3BlY2lhbAotICAgSGlMaW5rIGNsZWFuTGlzdAkJCVNwZWNpYWwKLSAgIEhpTGluayBjbGVhbkFycmF5CQlTcGVjaWFsCi0gICBIaUxpbmsgY2xlYW5SZWNvcmQJCVNwZWNpYWwKLSAgIEhpTGluayBjbGVhblR1cGxlCQlTcGVjaWFsCi0gICAiIEVycm9yCi0gICAiIFRvZG8KLSAgIEhpTGluayBjbGVhblRvZG8gICAgICAgICBUb2RvCisgIiBDb21tZW50cworIEhpTGluayBjbGVhbkNvbW1lbnQgICAgICBDb21tZW50CisgIiBDb25zdGFudHMgYW5kIGRlbm90YXRpb25zCisgSGlMaW5rIGNsZWFuU3RyaW5nRGVub3QgIFN0cmluZworIEhpTGluayBjbGVhbkNoYXJEZW5vdCAgICBDaGFyYWN0ZXIKKyBIaUxpbmsgY2xlYW5JbnRlZ2VyRGVub3QgTnVtYmVyCisgSGlMaW5rIGNsZWFuQm9vbERlbm90ICAgIEJvb2xlYW4KKyBIaUxpbmsgY2xlYW5SZWFsRGVub3QgICAgRmxvYXQKKyAiIElkZW50aWZpZXJzCisgIiBTdGF0ZW1lbnRzCisgSGlMaW5rIGNsZWFuVHlwZUNsYXNzICAgIEtleXdvcmQKKyBIaUxpbmsgY2xlYW5Db25kaXRpb25hbCAgQ29uZGl0aW9uYWwKKyBIaUxpbmsgY2xlYW5MYWJlbAkJTGFiZWwKKyBIaUxpbmsgY2xlYW5LZXl3b3JkICAgICAgS2V5d29yZAorICIgR2VuZXJpYyBQcmVwcm9jZXNzaW5nCisgSGlMaW5rIGNsZWFuSW5jbHVkZUtleXdvcmQgICAgICBJbmNsdWRlCisgSGlMaW5rIGNsZWFuTW9kdWxlU3lzdGVtIFByZVByb2MKKyAiIFR5cGUKKyBIaUxpbmsgY2xlYW5CYXNpY1R5cGUgICAgVHlwZQorIEhpTGluayBjbGVhblNwZWNpYWxUeXBlICBUeXBlCisgSGlMaW5rIGNsZWFuRnVuY1R5cGVEZWYgIFR5cGVkZWYKKyAiIFNwZWNpYWwKKyBIaUxpbmsgY2xlYW5TcGVjaWFsICAgICAgU3BlY2lhbAorIEhpTGluayBjbGVhbkxpc3QJCQlTcGVjaWFsCisgSGlMaW5rIGNsZWFuQXJyYXkJCVNwZWNpYWwKKyBIaUxpbmsgY2xlYW5SZWNvcmQJCVNwZWNpYWwKKyBIaUxpbmsgY2xlYW5UdXBsZQkJU3BlY2lhbAorICIgRXJyb3IKKyAiIFRvZG8KKyBIaUxpbmsgY2xlYW5Ub2RvICAgICAgICAgVG9kbwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY2xlYW4iCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NsaXBwZXIudmltIGIvcnVudGltZS9zeW50YXgvY2xpcHBlci52aW0KaW5kZXggMWExMGEyZC4uMzBmZGQ3YiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY2xpcHBlci52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY2xpcHBlci52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiBTb21lIHRoaW5ncyBiYXNlZCBvbiBjLnZpbSBieSBCcmFtIE1vb2xlbmFhciBhbmQgcGFzY2FsLnZpbSBieSBNYXJpbyBFdXNlYmlvCiAiIExhc3QgQ2hhbmdlOgkyMDExIERlYyAyOSBieSBUaGlsbyBTaXgKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTExNCwzMiArMTExLDI0IEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY2xpcHBlcl9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9jbGlwcGVyX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgY2xpcHBlckNvbmRpdGlvbmFsCQlDb25kaXRpb25hbAotICBIaUxpbmsgY2xpcHBlclJlcGVhdAkJCVJlcGVhdAotICBIaUxpbmsgY2xpcHBlck51bWJlcgkJCU51bWJlcgotICBIaUxpbmsgY2xpcHBlckluY2x1ZGUJCUluY2x1ZGUKLSAgSGlMaW5rIGNsaXBwZXJDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBjbGlwcGVyT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayBjbGlwcGVyU3RvcmFnZUNsYXNzCQlTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rIGNsaXBwZXJTdGF0ZW1lbnQJCVN0YXRlbWVudAotICBIaUxpbmsgY2xpcHBlclN0cmluZwkJCVN0cmluZwotICBIaUxpbmsgY2xpcHBlckZ1bmN0aW9uCQlGdW5jdGlvbgotICBIaUxpbmsgY2xpcHBlckxpbmVDb250aW51YXRpb24JU3BlY2lhbAotICBIaUxpbmsgY2xpcHBlckRlbGltaXRlcnMJCURlbGltaXRlcgotICBIaUxpbmsgY2xpcHBlclVzZXJWYXJpYWJsZQkJSWRlbnRpZmllcgorSGlMaW5rIGNsaXBwZXJDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKK0hpTGluayBjbGlwcGVyUmVwZWF0CQkJUmVwZWF0CitIaUxpbmsgY2xpcHBlck51bWJlcgkJCU51bWJlcgorSGlMaW5rIGNsaXBwZXJJbmNsdWRlCQlJbmNsdWRlCitIaUxpbmsgY2xpcHBlckNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBjbGlwcGVyT3BlcmF0b3IJCU9wZXJhdG9yCitIaUxpbmsgY2xpcHBlclN0b3JhZ2VDbGFzcwkJU3RvcmFnZUNsYXNzCitIaUxpbmsgY2xpcHBlclN0YXRlbWVudAkJU3RhdGVtZW50CitIaUxpbmsgY2xpcHBlclN0cmluZwkJCVN0cmluZworSGlMaW5rIGNsaXBwZXJGdW5jdGlvbgkJRnVuY3Rpb24KK0hpTGluayBjbGlwcGVyTGluZUNvbnRpbnVhdGlvbglTcGVjaWFsCitIaUxpbmsgY2xpcHBlckRlbGltaXRlcnMJCURlbGltaXRlcgorSGlMaW5rIGNsaXBwZXJVc2VyVmFyaWFibGUJCUlkZW50aWZpZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImNsaXBwZXIiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NtYWtlLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NtYWtlLnZpbQppbmRleCA0NTg2OTQwLi44ZTczZTMyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jbWFrZS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY21ha2UudmltCkBAIC0xMiwxMSArMTIsOCBAQAogIiAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuY21ha2Uub3JnL0hUTUwvQ29weXJpZ2h0Lmh0bWwKICIgICAgICAgICAgICAgICBUaGlzIGltcGxpZXMgdGhhdCBkaXN0cmlidXRpb24gd2l0aCBWaW0gaXMgYWxsb3dlZAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIGxldCBzOmtlZXBjcG89ICZjcG8KQEAgLTUyLDMyICs0OSwyNCBAQAogICAgICAgICAgICAgXCBjb250YWluZWQKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY21ha2Vfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfY21ha2Vfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBjbWFrZVN0YXRlbWVudCBTdGF0ZW1lbnQKLSAgSGlMaW5rIGNtYWtlQ29tbWVudCBDb21tZW50Ci0gIEhpTGluayBjbWFrZVN0cmluZyBTdHJpbmcKLSAgSGlMaW5rIGNtYWtlVmFyaWFibGVWYWx1ZSBUeXBlCi0gIEhpTGluayBjbWFrZVJlZ2lzdHJ5IFVuZGVybGluZWQKLSAgSGlMaW5rIGNtYWtlQXJndW1lbnRzIElkZW50aWZpZXIKLSAgSGlMaW5rIGNtYWtlQXJndW1lbnQgQ29uc3RhbnQKLSAgSGlMaW5rIGNtYWtlRW52aXJvbm1lbnQgU3BlY2lhbAotICBIaUxpbmsgY21ha2VPcGVyYXRvcnMgT3BlcmF0b3IKLSAgSGlMaW5rIGNtYWtlTWFjcm8gUHJlUHJvYwotICBIaUxpbmsgY21ha2VFcnJvciBFcnJvcgotICBIaUxpbmsgY21ha2VUb2RvIFRPRE8KLSAgSGlMaW5rIGNtYWtlRXNjYXBlZCBTcGVjaWFsCitIaUxpbmsgY21ha2VTdGF0ZW1lbnQgU3RhdGVtZW50CitIaUxpbmsgY21ha2VDb21tZW50IENvbW1lbnQKK0hpTGluayBjbWFrZVN0cmluZyBTdHJpbmcKK0hpTGluayBjbWFrZVZhcmlhYmxlVmFsdWUgVHlwZQorSGlMaW5rIGNtYWtlUmVnaXN0cnkgVW5kZXJsaW5lZAorSGlMaW5rIGNtYWtlQXJndW1lbnRzIElkZW50aWZpZXIKK0hpTGluayBjbWFrZUFyZ3VtZW50IENvbnN0YW50CitIaUxpbmsgY21ha2VFbnZpcm9ubWVudCBTcGVjaWFsCitIaUxpbmsgY21ha2VPcGVyYXRvcnMgT3BlcmF0b3IKK0hpTGluayBjbWFrZU1hY3JvIFByZVByb2MKK0hpTGluayBjbWFrZUVycm9yIEVycm9yCitIaUxpbmsgY21ha2VUb2RvIFRPRE8KK0hpTGluayBjbWFrZUVzY2FwZWQgU3BlY2lhbAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY21ha2UiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NvYm9sLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NvYm9sLnZpbQppbmRleCA1MWNhM2Q4Li5hNjNlOGIzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jb2JvbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY29ib2wudmltCkBAIC02LDIwICs2LDEzIEBACiAiICAgICAgICAgICAgICAgSmFtZXMgTWl0Y2hlbGwgPGphbWVzX21pdGNoZWxsQGFjbS5vcmc+KQogIiBMYXN0IENoYW5nZTogIDIwMTUgRmViIDEzCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCiAiIE1PU1QgaW1wb3J0YW50IC0gZWxzZSBtb3N0IG9mIHRoZSBrZXl3b3JkcyB3b250IHdvcmshCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNldCBpc2s9QCw0OC01NywtCi1lbHNlCi0gIHNldGxvY2FsIGlzaz1ALDQ4LTU3LC0KLWVuZGlmCitzZXRsb2NhbCBpc2s9QCw0OC01NywtCiAKIHN5biBjYXNlIGlnbm9yZQogCkBAIC0xNTcsNTIgKzE1MCw0NCBAQAogZW5kaWYKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY29ib2xfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfY29ib2xfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBjb2JvbEJBRCAgICAgIEVycm9yCi0gIEhpTGluayBjb2JvbEJhZElEICAgIEVycm9yCi0gIEhpTGluayBjb2JvbEJhZExpbmUgIEVycm9yCi0gIGlmIGV4aXN0cygiZzpjb2JvbF9sZWdhY3lfY29kZSIpCi0gICAgICBIaUxpbmsgY29ib2xNYXJrZXIgICBDb21tZW50Ci0gIGVsc2UKLSAgICAgIEhpTGluayBjb2JvbE1hcmtlciAgIEVycm9yCi0gIGVuZGlmCi0gIEhpTGluayBjb2JvbENBTExzICAgIEZ1bmN0aW9uCi0gIEhpTGluayBjb2JvbENvbW1lbnQgIENvbW1lbnQKLSAgSGlMaW5rIGNvYm9sS2V5cyAgICAgQ29tbWVudAotICBIaUxpbmsgY29ib2xBcmVhQiAgICBTcGVjaWFsCi0gIEhpTGluayBjb2JvbENvbXBpbGVyIFByZVByb2MKLSAgSGlMaW5rIGNvYm9sQ29uZEZsb3cgU3BlY2lhbAotICBIaUxpbmsgY29ib2xDb3B5ICAgICBQcmVQcm9jCi0gIEhpTGluayBjb2JvbERlY2xBICAgIGNvYm9sRGVjbAotICBIaUxpbmsgY29ib2xEZWNsICAgICBUeXBlCi0gIEhpTGluayBjb2JvbEV4dHJhcyAgIFNwZWNpYWwKLSAgSGlMaW5rIGNvYm9sR29UbyAgICAgU3BlY2lhbAotICBIaUxpbmsgY29ib2xDb25zdGFudCBDb25zdGFudAotICBIaUxpbmsgY29ib2xOdW1iZXIgICBDb25zdGFudAotICBIaUxpbmsgY29ib2xQaWMgICAgICBDb25zdGFudAotICBIaUxpbmsgY29ib2xSZXNlcnZlZCBTdGF0ZW1lbnQKLSAgSGlMaW5rIGNvYm9sRGl2aXNpb24gTGFiZWwKLSAgSGlMaW5rIGNvYm9sU2VjdGlvbiAgTGFiZWwKLSAgSGlMaW5rIGNvYm9sUGFyYWdyYXBoIExhYmVsCi0gIEhpTGluayBjb2JvbERpdmlzaW9uTmFtZSAgS2V5d29yZAotICBIaUxpbmsgY29ib2xTZWN0aW9uTmFtZSAgIEtleXdvcmQKLSAgSGlMaW5rIGNvYm9sUGFyYWdyYXBoTmFtZSBLZXl3b3JkCi0gIEhpTGluayBjb2JvbFN0cmluZyAgIENvbnN0YW50Ci0gIEhpTGluayBjb2JvbFRvZG8gICAgIFRvZG8KLSAgSGlMaW5rIGNvYm9sV2F0Y2ggICAgU3BlY2lhbAotICBIaUxpbmsgY29ib2xJbmRpY2F0b3IgU3BlY2lhbAotCi0gIGRlbGNvbW1hbmQgSGlMaW5rCitIaUxpbmsgY29ib2xCQUQgICAgICBFcnJvcgorSGlMaW5rIGNvYm9sQmFkSUQgICAgRXJyb3IKK0hpTGluayBjb2JvbEJhZExpbmUgIEVycm9yCitpZiBleGlzdHMoImc6Y29ib2xfbGVnYWN5X2NvZGUiKQorICAgIEhpTGluayBjb2JvbE1hcmtlciAgIENvbW1lbnQKK2Vsc2UKKyAgICBIaUxpbmsgY29ib2xNYXJrZXIgICBFcnJvcgogZW5kaWYKK0hpTGluayBjb2JvbENBTExzICAgIEZ1bmN0aW9uCitIaUxpbmsgY29ib2xDb21tZW50ICBDb21tZW50CitIaUxpbmsgY29ib2xLZXlzICAgICBDb21tZW50CitIaUxpbmsgY29ib2xBcmVhQiAgICBTcGVjaWFsCitIaUxpbmsgY29ib2xDb21waWxlciBQcmVQcm9jCitIaUxpbmsgY29ib2xDb25kRmxvdyBTcGVjaWFsCitIaUxpbmsgY29ib2xDb3B5ICAgICBQcmVQcm9jCitIaUxpbmsgY29ib2xEZWNsQSAgICBjb2JvbERlY2wKK0hpTGluayBjb2JvbERlY2wgICAgIFR5cGUKK0hpTGluayBjb2JvbEV4dHJhcyAgIFNwZWNpYWwKK0hpTGluayBjb2JvbEdvVG8gICAgIFNwZWNpYWwKK0hpTGluayBjb2JvbENvbnN0YW50IENvbnN0YW50CitIaUxpbmsgY29ib2xOdW1iZXIgICBDb25zdGFudAorSGlMaW5rIGNvYm9sUGljICAgICAgQ29uc3RhbnQKK0hpTGluayBjb2JvbFJlc2VydmVkIFN0YXRlbWVudAorSGlMaW5rIGNvYm9sRGl2aXNpb24gTGFiZWwKK0hpTGluayBjb2JvbFNlY3Rpb24gIExhYmVsCitIaUxpbmsgY29ib2xQYXJhZ3JhcGggTGFiZWwKK0hpTGluayBjb2JvbERpdmlzaW9uTmFtZSAgS2V5d29yZAorSGlMaW5rIGNvYm9sU2VjdGlvbk5hbWUgICBLZXl3b3JkCitIaUxpbmsgY29ib2xQYXJhZ3JhcGhOYW1lIEtleXdvcmQKK0hpTGluayBjb2JvbFN0cmluZyAgIENvbnN0YW50CitIaUxpbmsgY29ib2xUb2RvICAgICBUb2RvCitIaUxpbmsgY29ib2xXYXRjaCAgICBTcGVjaWFsCitIaUxpbmsgY29ib2xJbmRpY2F0b3IgU3BlY2lhbAorCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjb2JvbCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY29jby52aW0gYi9ydW50aW1lL3N5bnRheC9jb2NvLnZpbQppbmRleCA0MDk0YTU1Li5hZTMyMzQ4IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jb2NvLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jb2NvLnZpbQpAQCAtNSw5ICs1LDggQEAKICIgUmVtYXJrOiAgICAgICBDb2NvL1Igc3ludGF4IHBhcnRpYWxseSBpbXBsZW1lbnRlZC4KICIgTGljZW5zZTogICAgICBWaW0gbGljZW5zZQogCi1pZiB2ZXJzaW9uIDwgNjAwCi0Jc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogCWZpbmlzaAogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY29uZmlnLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NvbmZpZy52aW0KaW5kZXggY2Q4M2IyNC4uMWJiNWMyZiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY29uZmlnLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jb25maWcudmltCkBAIC0xMSwxMSArMTEsOCBAQAogIiBzY3JpcHQsIHNvIEkgd3JvdGUgdGhpcyBxdWljayBhbmQgZGlydHkgcGF0Y2guCiAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTM3LDI4ICszNCwyMCBAQAogc3luIHJlZ2lvbiAgY29uZmlnc3RyaW5nIG1hdGNoZ3JvdXA9Y29uZmlnZnVuY3Rpb24gc3RhcnQ9IkFDX01TR19bQS1aXSpcemUoW15bXSIgbWF0Y2hncm91cD1jb25maWdkZWxpbWl0ZXIgZW5kPSIpIiBjb250YWlucz1jb25maWdkZWxpbWl0ZXIsQFNwZWxsCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NvbmZpZ19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9jb25maWdfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBjb25maWdkZWxpbWl0ZXIgRGVsaW1pdGVyCi0gIEhpTGluayBjb25maWdvcGVyYXRvciAgT3BlcmF0b3IKLSAgSGlMaW5rIGNvbmZpZ2NvbW1lbnQgICBDb21tZW50Ci0gIEhpTGluayBjb25maWdEbmwgIAkgQ29tbWVudAotICBIaUxpbmsgY29uZmlnZnVuY3Rpb24gIEZ1bmN0aW9uCi0gIEhpTGluayBjb25maWdudW1iZXIgICAgTnVtYmVyCi0gIEhpTGluayBjb25maWdrZXl3b3JkICAgS2V5d29yZAotICBIaUxpbmsgY29uZmlnc3BlY2lhbCAgIFNwZWNpYWwKLSAgSGlMaW5rIGNvbmZpZ3N0cmluZyAgICBTdHJpbmcKK0hpTGluayBjb25maWdkZWxpbWl0ZXIgRGVsaW1pdGVyCitIaUxpbmsgY29uZmlnb3BlcmF0b3IgIE9wZXJhdG9yCitIaUxpbmsgY29uZmlnY29tbWVudCAgIENvbW1lbnQKK0hpTGluayBjb25maWdEbmwgIAkgQ29tbWVudAorSGlMaW5rIGNvbmZpZ2Z1bmN0aW9uICBGdW5jdGlvbgorSGlMaW5rIGNvbmZpZ251bWJlciAgICBOdW1iZXIKK0hpTGluayBjb25maWdrZXl3b3JkICAgS2V5d29yZAorSGlMaW5rIGNvbmZpZ3NwZWNpYWwgICBTcGVjaWFsCitIaUxpbmsgY29uZmlnc3RyaW5nICAgIFN0cmluZwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY29uZmlnIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jcHAudmltIGIvcnVudGltZS9zeW50YXgvY3BwLnZpbQppbmRleCBmZWZkMGZmLi5iZTczODFlIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jcHAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2NwcC52aW0KQEAgLTQsMjEgKzQsMTQgQEAKICIgUHJldmlvdXMgTWFpbnRhaW5lcjoJS2VuIFNoYW4gPGNjc2hhbkBwb3N0LmhhcnZhcmQuZWR1PgogIiBMYXN0IENoYW5nZToJMjAxNiBKdWwgMDcKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKICIgUmVhZCB0aGUgQyBzeW50YXggdG8gc3RhcnQgd2l0aAotaWYgdmVyc2lvbiA8IDYwMAotICBzbyA8c2ZpbGU+OnA6aC9jLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvYy52aW0KLSAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9jLnZpbQordW5sZXQgYjpjdXJyZW50X3N5bnRheAogCiAiIEMrKyBleHRlbnNpb25zCiBzeW4ga2V5d29yZCBjcHBTdGF0ZW1lbnQJbmV3IGRlbGV0ZSB0aGlzIGZyaWVuZCB1c2luZwpAQCAtNjAsMjkgKzUzLDIyIEBACiBzeW4gbWF0Y2ggY3BwTWluTWF4ICJbPD5dPyIKIAogIiBEZWZhdWx0IGhpZ2hsaWdodGluZwotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NwcF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9jcHBfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKLSAgSGlMaW5rIGNwcEFjY2VzcwkJY3BwU3RhdGVtZW50Ci0gIEhpTGluayBjcHBDYXN0CQljcHBTdGF0ZW1lbnQKLSAgSGlMaW5rIGNwcEV4Y2VwdGlvbnMJCUV4Y2VwdGlvbgotICBIaUxpbmsgY3BwT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayBjcHBTdGF0ZW1lbnQJCVN0YXRlbWVudAotICBIaUxpbmsgY3BwTW9kaWZpZXIJCVR5cGUKLSAgSGlMaW5rIGNwcFR5cGUJCVR5cGUKLSAgSGlMaW5rIGNwcFN0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rIGNwcFN0cnVjdHVyZQkJU3RydWN0dXJlCi0gIEhpTGluayBjcHBCb29sZWFuCQlCb29sZWFuCi0gIEhpTGluayBjcHBDb25zdGFudAkJQ29uc3RhbnQKLSAgSGlMaW5rIGNwcFJhd1N0cmluZ0RlbGltaXRlcglEZWxpbWl0ZXIKLSAgSGlMaW5rIGNwcFJhd1N0cmluZwkJU3RyaW5nCi0gIEhpTGluayBjcHBOdW1iZXIJCU51bWJlcgotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorSGlMaW5rIGNwcEFjY2VzcwkJY3BwU3RhdGVtZW50CitIaUxpbmsgY3BwQ2FzdAkJY3BwU3RhdGVtZW50CitIaUxpbmsgY3BwRXhjZXB0aW9ucwkJRXhjZXB0aW9uCitIaUxpbmsgY3BwT3BlcmF0b3IJCU9wZXJhdG9yCitIaUxpbmsgY3BwU3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayBjcHBNb2RpZmllcgkJVHlwZQorSGlMaW5rIGNwcFR5cGUJCVR5cGUKK0hpTGluayBjcHBTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCitIaUxpbmsgY3BwU3RydWN0dXJlCQlTdHJ1Y3R1cmUKK0hpTGluayBjcHBCb29sZWFuCQlCb29sZWFuCitIaUxpbmsgY3BwQ29uc3RhbnQJCUNvbnN0YW50CitIaUxpbmsgY3BwUmF3U3RyaW5nRGVsaW1pdGVyCURlbGltaXRlcgorSGlMaW5rIGNwcFJhd1N0cmluZwkJU3RyaW5nCitIaUxpbmsgY3BwTnVtYmVyCQlOdW1iZXIKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImNwcCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY3JvbnRhYi52aW0gYi9ydW50aW1lL3N5bnRheC9jcm9udGFiLnZpbQppbmRleCBmZDFjMzAwLi5lZDIwMjU0IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jcm9udGFiLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jcm9udGFiLnZpbQpAQCAtMTAsMTEgKzEwLDggQEAKICIgY3JvbnRhYiBsaW5lIGZvcm1hdDoKICIgTWludXRlcyAgIEhvdXJzICAgRGF5cyAgIE1vbnRocyAgIERheXNfb2ZfV2VlayAgIENvbW1hbmRzICMgY29tbWVudHMKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLQlzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAJZmluaXNoCiBlbmRpZgogCkBAIC0zOSw0MSArMzYsMzMgQEAKIHN5bnRheCBtYXRjaCBjcm9udGFiUGVyY2VudCAiW15cXF0lLioibGM9MSBjb250YWluZWQKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3JvbnRhYl9zeW5faW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9jcm9udGFiX3N5bl9pbml0cyA9IDEKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLQllbHNlCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotCWVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCUhpTGluayBjcm9udGFiTWluCQlOdW1iZXIKLQlIaUxpbmsgY3JvbnRhYkhyCQlQcmVQcm9jCi0JSGlMaW5rIGNyb250YWJEYXkJCVR5cGUKK0hpTGluayBjcm9udGFiTWluCQlOdW1iZXIKK0hpTGluayBjcm9udGFiSHIJCVByZVByb2MKK0hpTGluayBjcm9udGFiRGF5CQlUeXBlCiAKLQlIaUxpbmsgY3JvbnRhYk1udGgJCU51bWJlcgotCUhpTGluayBjcm9udGFiTW50aDEyCQlOdW1iZXIKLQlIaUxpbmsgY3JvbnRhYk1udGhTCQlOdW1iZXIKLQlIaUxpbmsgY3JvbnRhYk1udGhOCQlOdW1iZXIKK0hpTGluayBjcm9udGFiTW50aAkJTnVtYmVyCitIaUxpbmsgY3JvbnRhYk1udGgxMgkJTnVtYmVyCitIaUxpbmsgY3JvbnRhYk1udGhTCQlOdW1iZXIKK0hpTGluayBjcm9udGFiTW50aE4JCU51bWJlcgogCi0JSGlMaW5rIGNyb250YWJEb3cJCVByZVByb2MKLQlIaUxpbmsgY3JvbnRhYkRvdzcJCVByZVByb2MKLQlIaUxpbmsgY3JvbnRhYkRvd1MJCVByZVByb2MKLQlIaUxpbmsgY3JvbnRhYkRvd04JCVByZVByb2MKK0hpTGluayBjcm9udGFiRG93CQlQcmVQcm9jCitIaUxpbmsgY3JvbnRhYkRvdzcJCVByZVByb2MKK0hpTGluayBjcm9udGFiRG93UwkJUHJlUHJvYworSGlMaW5rIGNyb250YWJEb3dOCQlQcmVQcm9jCiAKLQlIaUxpbmsgY3JvbnRhYk5pY2sJCVNwZWNpYWwKLQlIaUxpbmsgY3JvbnRhYlZhcgkJSWRlbnRpZmllcgotCUhpTGluayBjcm9udGFiUGVyY2VudAkJU3BlY2lhbAorSGlMaW5rIGNyb250YWJOaWNrCQlTcGVjaWFsCitIaUxpbmsgY3JvbnRhYlZhcgkJSWRlbnRpZmllcgorSGlMaW5rIGNyb250YWJQZXJjZW50CQlTcGVjaWFsCiAKICIgY29tbWVudCBvdXQgbmV4dCBsaW5lIGZvciB0byBzdXBwcmVzcyB1bml4IGNvbW1hbmRzIGNvbG9yaW5nLgotCUhpTGluayBjcm9udGFiQ21kCQlTdGF0ZW1lbnQKK0hpTGluayBjcm9udGFiQ21kCQlTdGF0ZW1lbnQKIAotCUhpTGluayBjcm9udGFiQ21udAkJQ29tbWVudAorSGlMaW5rIGNyb250YWJDbW50CQlDb21tZW50CiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImNyb250YWIiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NzYy52aW0gYi9ydW50aW1lL3N5bnRheC9jc2MudmltCmluZGV4IDU0OTNiMTcuLmY0Y2U2MmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2NzYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY3NjLnZpbQpAQCAtMywxMSArMyw4IEBACiAiIE1haW50YWluZXI6CVJhdWwgU2VndXJhIEFjZXZlZG8gPHJhdWxzZWd1cmFhY2V2ZWRAbmV0c2NhcGUubmV0PgogIiBMYXN0IGNoYW5nZToJMjAxMSBEZWMgMjUgYnkgVGhpbG8gU2l4CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0Jc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogCWZpbmlzaAogZW5kaWYKIApAQCAtMTQ1LDcgKzE0Miw3IEBACiBzeQltYXRjaAljc2NCUFcJIiFccypcYSoiCWNvbnRhaW5zPWNzY0JQbWFjcm8KIAogIiB3aGVuIHdhbnRlZCwgaGlnaGxpZ2h0aW5nIGxocyBtZW1iZXJzIG9yIGVycm9zIGluIGFzaWdubWVudHMgKG1heSBsYWcgdGhlIGVkaXRpbmcpCi1pZiB2ZXJzaW9uID49IDYwMCAmJiBleGlzdHMoImNzY19hc2lnbm1lbnQiKQoraWYgZXhpc3RzKCJjc2NfYXNpZ25tZW50IikKIAlzeQltYXRjaAljc2NFcUVycm9yCSdcKCJbXiJdKiJccypcfFteXVtcdCAhJSgpKissLS0vOjs8PT57fX5dXCtccypcfC0+XHMqXCkqPVwoW149XVxAPVx8JFwpJwogCXN5CXJlZ2lvbgljc2NGb3JtdWxhCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9Y3NjVmFyTmFtZSBzdGFydD0nXCgiW14iXSoiXHxbXl1bXHQgISUoKSorLC0tLzo7PD0+e31+XVwrXClccyo9XChbXj1dXEA9XHxcblwpJyBza2lwPSciW14iXSoiJyBlbmQ9JzsnIGNvbnRhaW5zPUFMTEJVVCxjc2NGb3JtdWxhLGNzY0Zvcm11bGFJbixjc2NCUE1hY3JvLGNzY0NvbmRpdGlvbgogCXN5CXJlZ2lvbgljc2NGb3JtdWxhSW4JbWF0Y2hncm91cD1jc2NWYXJOYW1lIHRyYW5zcGFyZW50IHN0YXJ0PSdcKCJbXiJdKiJcfFteXVtcdCAhJSgpKissLS0vOjs8PT57fX5dXCtcKVwoLT5cKCJbXiJdKiJcfFteXVtcdCAhJSgpKissLS0vOjs8PT57fX5dXCtcKVwpKlxzKj1cKFtePV1cQD1cfCRcKScgc2tpcD0nIlteIl0qIicgZW5kPSc7JyBjb250YWlucz1BTExCVVQsY3NjRm9ybXVsYSxjc2NGb3JtdWxhSW4sY3NjQlBNYWNybyxjc2NDb25kaXRpb24gY29udGFpbmVkCkBAIC0xNTgsNDQgKzE1NSwzNiBAQAogZXhlYyAic3kgc3luYyBjY29tbWVudCBjc2NDb21tZW50IG1pbmxpbmVzPSIgLiBjc2NfbWlubGluZXMKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3NjX3N5bnRheF9pbml0cyIpCi0JaWYgdmVyc2lvbiA8IDUwOAotCQlsZXQgZGlkX2NzY19zeW50YXhfaW5pdHMgPSAxCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0JZWxzZQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLQllbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLQloaSBjc2NWYXJOYW1lIHRlcm09Ym9sZCBjdGVybWZnPTkgZ3VpPWJvbGQgZ3VpZmc9Ymx1ZQoraGkgY3NjVmFyTmFtZSB0ZXJtPWJvbGQgY3Rlcm1mZz05IGd1aT1ib2xkIGd1aWZnPWJsdWUKIAotCUhpTGluawljc2NOdW1iZXIJTnVtYmVyCi0JSGlMaW5rCWNzY09jdGFsCU51bWJlcgotCUhpTGluawljc2NGbG9hdAlGbG9hdAotCUhpTGluawljc2NQYXJlbkUJRXJyb3IKLQlIaUxpbmsJY3NjQ29tbWVudEUJRXJyb3IKLQlIaUxpbmsJY3NjU3BhY2VFCUVycm9yCi0JSGlMaW5rCWNzY0Vycm9yCUVycm9yCi0JSGlMaW5rCWNzY1N0cmluZwlTdHJpbmcKLQlIaUxpbmsJY3NjQ29tbWVudAlDb21tZW50Ci0JSGlMaW5rCWNzY1RvZG8JCVRvZG8KLQlIaUxpbmsJY3NjU3RhdGVtZW50CVN0YXRlbWVudAotCUhpTGluawljc2NJZkVycm9yCUVycm9yCi0JSGlMaW5rCWNzY0VxRXJyb3IJRXJyb3IKLQlIaUxpbmsJY3NjRnVuY3Rpb24JU3RhdGVtZW50Ci0JSGlMaW5rCWNzY0NvbmRpdGlvbglTdGF0ZW1lbnQKLQlIaUxpbmsJY3NjV2FybgkJV2FybmluZ01zZworSGlMaW5rCWNzY051bWJlcglOdW1iZXIKK0hpTGluawljc2NPY3RhbAlOdW1iZXIKK0hpTGluawljc2NGbG9hdAlGbG9hdAorSGlMaW5rCWNzY1BhcmVuRQlFcnJvcgorSGlMaW5rCWNzY0NvbW1lbnRFCUVycm9yCitIaUxpbmsJY3NjU3BhY2VFCUVycm9yCitIaUxpbmsJY3NjRXJyb3IJRXJyb3IKK0hpTGluawljc2NTdHJpbmcJU3RyaW5nCitIaUxpbmsJY3NjQ29tbWVudAlDb21tZW50CitIaUxpbmsJY3NjVG9kbwkJVG9kbworSGlMaW5rCWNzY1N0YXRlbWVudAlTdGF0ZW1lbnQKK0hpTGluawljc2NJZkVycm9yCUVycm9yCitIaUxpbmsJY3NjRXFFcnJvcglFcnJvcgorSGlMaW5rCWNzY0Z1bmN0aW9uCVN0YXRlbWVudAorSGlMaW5rCWNzY0NvbmRpdGlvbglTdGF0ZW1lbnQKK0hpTGluawljc2NXYXJuCQlXYXJuaW5nTXNnCiAKLQlIaUxpbmsJY3NjQ29tRQlFcnJvcgotCUhpTGluawljc2NDb20JU3RhdGVtZW50Ci0JSGlMaW5rCWNzY0NvbVcJV2FybmluZ01zZworSGlMaW5rCWNzY0NvbUUJRXJyb3IKK0hpTGluawljc2NDb20JU3RhdGVtZW50CitIaUxpbmsJY3NjQ29tVwlXYXJuaW5nTXNnCiAKLQlIaUxpbmsJY3NjQlBNYWNybwlJZGVudGlmaWVyCi0JSGlMaW5rCWNzY0JQVwkJV2FybmluZ01zZworSGlMaW5rCWNzY0JQTWFjcm8JSWRlbnRpZmllcgorSGlMaW5rCWNzY0JQVwkJV2FybmluZ01zZwogCi0JZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjc2MiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NzaC52aW0gYi9ydW50aW1lL3N5bnRheC9jc2gudmltCmluZGV4IDlkYzJjNGUuLjk3M2EzNTUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2NzaC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY3NoLnZpbQpAQCAtNSwxMSArNSw4IEBACiAiIFZlcnNpb246CTExCiAiIFVSTDoJaHR0cDovL3d3dy5kcmNoaXAub3JnL2FzdHJvbmF1dC92aW0vaW5kZXguaHRtbCNTWU5UQVhfQ1NICiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMDAsNjAgKzk3LDQ3IEBACiAic3luIG1hdGNoIGNzaElkZW50aWZpZXIJIlw8W2EtekEtWi5fXVthLXpBLVowLTkuX10qXD4iCiAKICIgU2hlbGwgSW5wdXQgUmVkaXJlY3Rpb24gKEhlcmUgRG9jdW1lbnRzKQotaWYgdmVyc2lvbiA8IDYwMAotICBzeW4gcmVnaW9uIGNzaEhlcmVEb2MgbWF0Y2hncm91cD1jc2hSZWRpciBzdGFydD0iPDwtXD1ccypcKipFTkRbYS16QS1aXzAtOV0qXCoqIiBtYXRjaGdyb3VwPWNzaFJlZGlyIGVuZD0iXkVORFthLXpBLVpfMC05XSokIgotICBzeW4gcmVnaW9uIGNzaEhlcmVEb2MgbWF0Y2hncm91cD1jc2hSZWRpciBzdGFydD0iPDwtXD1ccypcKipFT0ZcKioiIG1hdGNoZ3JvdXA9Y3NoUmVkaXIgZW5kPSJeRU9GJCIKLWVsc2UKLSAgc3luIHJlZ2lvbiBjc2hIZXJlRG9jIG1hdGNoZ3JvdXA9Y3NoUmVkaXIgc3RhcnQ9Ijw8LVw9XHMqXCoqXHooXGhcdypcKVwqKiIgbWF0Y2hncm91cD1jc2hSZWRpciBlbmQ9Il5cejEkIgotZW5kaWYKK3N5biByZWdpb24gY3NoSGVyZURvYyBtYXRjaGdyb3VwPWNzaFJlZGlyIHN0YXJ0PSI8PC1cPVxzKlwqKlx6KFxoXHcqXClcKioiIG1hdGNoZ3JvdXA9Y3NoUmVkaXIgZW5kPSJeXHoxJCIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3NoX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2NzaF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGNzaEFyZ3YJCWNzaFZhcmlhYmxlcwotICBIaUxpbmsgY3NoQmNrUXVvdGUJY3NoQ29tbWFuZAotICBIaUxpbmsgY3NoRGJsUXVvdGUJY3NoU3RyaW5nCi0gIEhpTGluayBjc2hFeHRWYXIJY3NoVmFyaWFibGVzCi0gIEhpTGluayBjc2hIZXJlRG9jCWNzaFN0cmluZwotICBIaUxpbmsgY3NoTm9FbmRsaW5lQlEJY3NoTm9FbmRsaW5lCi0gIEhpTGluayBjc2hOb0VuZGxpbmVEUQljc2hOb0VuZGxpbmUKLSAgSGlMaW5rIGNzaE5vRW5kbGluZVNRCWNzaE5vRW5kbGluZQotICBIaUxpbmsgY3NoUXR5V29yZAljc2hWYXJpYWJsZXMKLSAgSGlMaW5rIGNzaFJlZGlyCQljc2hPcGVyYXRvcgotICBIaUxpbmsgY3NoU2VsZWN0b3IJY3NoVmFyaWFibGVzCi0gIEhpTGluayBjc2hTZXRTdG10CWNzaFN0YXRlbWVudAotICBIaUxpbmsgY3NoU2V0VmFyaWFibGVzCWNzaFZhcmlhYmxlcwotICBIaUxpbmsgY3NoU25nbFF1b3RlCWNzaFN0cmluZwotICBIaUxpbmsgY3NoU3Vic3QJCWNzaFZhcmlhYmxlcworSGlMaW5rIGNzaEFyZ3YJCWNzaFZhcmlhYmxlcworSGlMaW5rIGNzaEJja1F1b3RlCWNzaENvbW1hbmQKK0hpTGluayBjc2hEYmxRdW90ZQljc2hTdHJpbmcKK0hpTGluayBjc2hFeHRWYXIJY3NoVmFyaWFibGVzCitIaUxpbmsgY3NoSGVyZURvYwljc2hTdHJpbmcKK0hpTGluayBjc2hOb0VuZGxpbmVCUQljc2hOb0VuZGxpbmUKK0hpTGluayBjc2hOb0VuZGxpbmVEUQljc2hOb0VuZGxpbmUKK0hpTGluayBjc2hOb0VuZGxpbmVTUQljc2hOb0VuZGxpbmUKK0hpTGluayBjc2hRdHlXb3JkCWNzaFZhcmlhYmxlcworSGlMaW5rIGNzaFJlZGlyCQljc2hPcGVyYXRvcgorSGlMaW5rIGNzaFNlbGVjdG9yCWNzaFZhcmlhYmxlcworSGlMaW5rIGNzaFNldFN0bXQJY3NoU3RhdGVtZW50CitIaUxpbmsgY3NoU2V0VmFyaWFibGVzCWNzaFZhcmlhYmxlcworSGlMaW5rIGNzaFNuZ2xRdW90ZQljc2hTdHJpbmcKK0hpTGluayBjc2hTdWJzdAkJY3NoVmFyaWFibGVzCiAKLSAgSGlMaW5rIGNzaENvbW1hbmQJU3RhdGVtZW50Ci0gIEhpTGluayBjc2hDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIGNzaENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluayBjc2hJZGVudGlmaWVyCUVycm9yCi0gIEhpTGluayBjc2hNb2RpZmllcglTcGVjaWFsCi0gIEhpTGluayBjc2hOb0VuZGxpbmUJRXJyb3IKLSAgSGlMaW5rIGNzaE51bWJlcglOdW1iZXIKLSAgSGlMaW5rIGNzaE9wZXJhdG9yCU9wZXJhdG9yCi0gIEhpTGluayBjc2hSZWRpcgkJU3RhdGVtZW50Ci0gIEhpTGluayBjc2hSZXBlYXQJUmVwZWF0Ci0gIEhpTGluayBjc2hTaGVsbFZhcmlhYmxlcwlTcGVjaWFsCi0gIEhpTGluayBjc2hTcGVjaWFsCVNwZWNpYWwKLSAgSGlMaW5rIGNzaFN0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIGNzaFN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIGNzaFN1YnN0RXJyb3IJRXJyb3IKLSAgSGlMaW5rIGNzaFRvZG8JCVRvZG8KLSAgSGlMaW5rIGNzaFZhcmlhYmxlcwlUeXBlCitIaUxpbmsgY3NoQ29tbWFuZAlTdGF0ZW1lbnQKK0hpTGluayBjc2hDb21tZW50CUNvbW1lbnQKK0hpTGluayBjc2hDb25kaXRpb25hbAlDb25kaXRpb25hbAorSGlMaW5rIGNzaElkZW50aWZpZXIJRXJyb3IKK0hpTGluayBjc2hNb2RpZmllcglTcGVjaWFsCitIaUxpbmsgY3NoTm9FbmRsaW5lCUVycm9yCitIaUxpbmsgY3NoTnVtYmVyCU51bWJlcgorSGlMaW5rIGNzaE9wZXJhdG9yCU9wZXJhdG9yCitIaUxpbmsgY3NoUmVkaXIJCVN0YXRlbWVudAorSGlMaW5rIGNzaFJlcGVhdAlSZXBlYXQKK0hpTGluayBjc2hTaGVsbFZhcmlhYmxlcwlTcGVjaWFsCitIaUxpbmsgY3NoU3BlY2lhbAlTcGVjaWFsCitIaUxpbmsgY3NoU3RhdGVtZW50CVN0YXRlbWVudAorSGlMaW5rIGNzaFN0cmluZwlTdHJpbmcKK0hpTGluayBjc2hTdWJzdEVycm9yCUVycm9yCitIaUxpbmsgY3NoVG9kbwkJVG9kbworSGlMaW5rIGNzaFZhcmlhYmxlcwlUeXBlCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjc2giCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NzcC52aW0gYi9ydW50aW1lL3N5bnRheC9jc3AudmltCmluZGV4IGJkNjIxM2UuLmE1NDYwY2QgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2NzcC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY3NwLnZpbQpAQCAtMTUsMTEgKzE1LDggQEAKICIJCS0gVGhlIGFkZGl0aW9uYWwgc3ludGF4IGZvciB0aGUgUlQtVGVzdGVyIChwc2V1ZG8tY29tbWVudHMpCiAiCQkgIHNob3VsZCBiZSBvcHRpb25hbC4KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE0OSw0NiArMTQ2LDM4IEBACiBzeW4gc3luYyBsaW5lcz0yNTAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3NwX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2NzcF9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgotICAiIChGb3IgdmltIHZlcnNpb24gPD01LjcsIHRoZSBjb21tYW5kIGdyb3VwcyBhcmUgZGVmaW5lZCBpbgotICAiICRWSU1SVU5USU1FL3N5bnRheC9zeW5sb2FkLnZpbSApCi0gIEhpTGluayBjc3BDb21tZW50CQkJQ29tbWVudAotICBIaUxpbmsgY3NwTnVtYmVyCQkJTnVtYmVyCi0gIEhpTGluayBjc3BDb25kaXRpb25hbAkJCUNvbmRpdGlvbmFsCi0gIEhpTGluayBjc3BPcGVyYXRvcgkJCURlbGltaXRlcgotICBIaUxpbmsgY3NwS2V5d29yZAkJCUtleXdvcmQKLSAgSGlMaW5rIGNzcFJlc2VydmVkCQkJU3BlY2lhbENoYXIKLSAgSGlMaW5rIGNzcEluY2x1ZGUJCQlFcnJvcgotICBIaUxpbmsgY3NwSW5jbHVkZUtleXdvcmQJCUluY2x1ZGUKLSAgSGlMaW5rIGNzcEluY2x1ZGVBcmcJCQlJbmNsdWRlCi0gIEhpTGluayBjc3BBc3NlcnQJCQlQcmVDb25kaXQKLSAgSGlMaW5rIGNzcFR5cGUJCQlUeXBlCi0gIEhpTGluayBjc3BQcm9jZXNzCQkJRnVuY3Rpb24KLSAgSGlMaW5rIGNzcFRvZG8JCQlUb2RvCi0gIEhpTGluayBjc3BPbGRSdHRDb21tZW50CQlEZWZpbmUKLSAgSGlMaW5rIGNzcFJ0dFByYWdtYUtleXdvcmQJCURlZmluZQotICBIaUxpbmsgY3NwU2RsUnR0Q29tbWVudAkJRGVmaW5lCi0gIEhpTGluayBjc3BSdHRQcmFnbWFBcmcJCURlZmluZQotICBIaUxpbmsgY3NwUnR0UHJhZ21hU2RsQXJnCQlEZWZpbmUKLSAgSGlMaW5rIGNzcFJ0dFByYWdtYVNkbE5hbWUJCURlZmF1bHQKLSAgSGlMaW5rIGNzcFJ0dFByYWdtYVNkbFRhaWxBcmcJCURlZmluZQotICBIaUxpbmsgY3NwUnR0UHJhZ21hU2RsVHJhbnNOYW1lCURlZmF1bHQKLSAgSGlMaW5rIGNzcFJ0dFByYWdtYVNkbFRyYW5zVGFpbEFyZwlEZWZpbmUKLSAgSGlMaW5rIGNzcFJlc2VydmVkSWRlbnRpZmllcglFcnJvcgotICAiIChDdXJyZW50bHkgdW51c2VkIHZpbSBtZXRob2Q6IERlYnVnKQorIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorIiAoRm9yIHZpbSB2ZXJzaW9uIDw9NS43LCB0aGUgY29tbWFuZCBncm91cHMgYXJlIGRlZmluZWQgaW4KKyIgJFZJTVJVTlRJTUUvc3ludGF4L3N5bmxvYWQudmltICkKK0hpTGluayBjc3BDb21tZW50CQkJQ29tbWVudAorSGlMaW5rIGNzcE51bWJlcgkJCU51bWJlcgorSGlMaW5rIGNzcENvbmRpdGlvbmFsCQkJQ29uZGl0aW9uYWwKK0hpTGluayBjc3BPcGVyYXRvcgkJCURlbGltaXRlcgorSGlMaW5rIGNzcEtleXdvcmQJCQlLZXl3b3JkCitIaUxpbmsgY3NwUmVzZXJ2ZWQJCQlTcGVjaWFsQ2hhcgorSGlMaW5rIGNzcEluY2x1ZGUJCQlFcnJvcgorSGlMaW5rIGNzcEluY2x1ZGVLZXl3b3JkCQlJbmNsdWRlCitIaUxpbmsgY3NwSW5jbHVkZUFyZwkJCUluY2x1ZGUKK0hpTGluayBjc3BBc3NlcnQJCQlQcmVDb25kaXQKK0hpTGluayBjc3BUeXBlCQkJVHlwZQorSGlMaW5rIGNzcFByb2Nlc3MJCQlGdW5jdGlvbgorSGlMaW5rIGNzcFRvZG8JCQlUb2RvCitIaUxpbmsgY3NwT2xkUnR0Q29tbWVudAkJRGVmaW5lCitIaUxpbmsgY3NwUnR0UHJhZ21hS2V5d29yZAkJRGVmaW5lCitIaUxpbmsgY3NwU2RsUnR0Q29tbWVudAkJRGVmaW5lCitIaUxpbmsgY3NwUnR0UHJhZ21hQXJnCQlEZWZpbmUKK0hpTGluayBjc3BSdHRQcmFnbWFTZGxBcmcJCURlZmluZQorSGlMaW5rIGNzcFJ0dFByYWdtYVNkbE5hbWUJCURlZmF1bHQKK0hpTGluayBjc3BSdHRQcmFnbWFTZGxUYWlsQXJnCQlEZWZpbmUKK0hpTGluayBjc3BSdHRQcmFnbWFTZGxUcmFuc05hbWUJRGVmYXVsdAorSGlMaW5rIGNzcFJ0dFByYWdtYVNkbFRyYW5zVGFpbEFyZwlEZWZpbmUKK0hpTGluayBjc3BSZXNlcnZlZElkZW50aWZpZXIJRXJyb3IKKyIgKEN1cnJlbnRseSB1bnVzZWQgdmltIG1ldGhvZDogRGVidWcpCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjc3AiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2Nzcy52aW0gYi9ydW50aW1lL3N5bnRheC9jc3MudmltCmluZGV4IDUxNzU4Y2EuLmU4YzJjODUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2Nzcy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY3NzLnZpbQpAQCAtOCwxMiArOCw5IEBACiAiIFVSTDogICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL0p1bGVzV2FuZy9jc3MudmltCiAiIExhc3QgQ2hhbmdlOiAgMjAxNSBBcHIuMTcKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCiBpZiAhZXhpc3RzKCJtYWluX3N5bnRheCIpCi0gIGlmIHZlcnNpb24gPCA2MDAKLSAgICBzeW50YXggY2xlYXIKLSAgZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICAgZmluaXNoCiAgIGVuZGlmCiAgIGxldCBtYWluX3N5bnRheCA9ICdjc3MnCkBAIC01MTYsMTM5ICs1MTMsMTMxIEBACiBlbmRpZgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jc3Nfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfY3NzX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgY3NzQ29tbWVudCBDb21tZW50Ci0gIEhpTGluayBjc3NWZW5kb3IgQ29tbWVudAotICBIaUxpbmsgY3NzSGFja3MgQ29tbWVudAotICBIaUxpbmsgY3NzVGFnTmFtZSBTdGF0ZW1lbnQKLSAgSGlMaW5rIGNzc0RlcHJlY2F0ZWQgRXJyb3IKLSAgSGlMaW5rIGNzc1NlbGVjdG9yT3AgU3BlY2lhbAotICBIaUxpbmsgY3NzU2VsZWN0b3JPcDIgU3BlY2lhbAotICBIaUxpbmsgY3NzQXR0ckNvbW1hIFNwZWNpYWwKK0hpTGluayBjc3NDb21tZW50IENvbW1lbnQKK0hpTGluayBjc3NWZW5kb3IgQ29tbWVudAorSGlMaW5rIGNzc0hhY2tzIENvbW1lbnQKK0hpTGluayBjc3NUYWdOYW1lIFN0YXRlbWVudAorSGlMaW5rIGNzc0RlcHJlY2F0ZWQgRXJyb3IKK0hpTGluayBjc3NTZWxlY3Rvck9wIFNwZWNpYWwKK0hpTGluayBjc3NTZWxlY3Rvck9wMiBTcGVjaWFsCitIaUxpbmsgY3NzQXR0ckNvbW1hIFNwZWNpYWwKIAotICBIaUxpbmsgY3NzQW5pbWF0aW9uUHJvcCBjc3NQcm9wCi0gIEhpTGluayBjc3NCYWNrZ3JvdW5kUHJvcCBjc3NQcm9wCi0gIEhpTGluayBjc3NCb3JkZXJQcm9wIGNzc1Byb3AKLSAgSGlMaW5rIGNzc0JveFByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzQ29sb3JQcm9wIGNzc1Byb3AKLSAgSGlMaW5rIGNzc0NvbnRlbnRGb3JQYWdlZE1lZGlhUHJvcCBjc3NQcm9wCi0gIEhpTGluayBjc3NEaW1lbnNpb25Qcm9wIGNzc1Byb3AKLSAgSGlMaW5rIGNzc0ZsZXhpYmxlQm94UHJvcCBjc3NQcm9wCi0gIEhpTGluayBjc3NGb250UHJvcCBjc3NQcm9wCi0gIEhpTGluayBjc3NHZW5lcmF0ZWRDb250ZW50UHJvcCBjc3NQcm9wCi0gIEhpTGluayBjc3NHcmlkUHJvcCBjc3NQcm9wCi0gIEhpTGluayBjc3NIeWVybGlua1Byb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzTGluZWJveFByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzTGlzdFByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzTWFycXVlZVByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzTXVsdGlDb2x1bW5Qcm9wIGNzc1Byb3AKLSAgSGlMaW5rIGNzc1BhZ2VkTWVkaWFQcm9wIGNzc1Byb3AKLSAgSGlMaW5rIGNzc1Bvc2l0aW9uaW5nUHJvcCBjc3NQcm9wCi0gIEhpTGluayBjc3NQcmludFByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzUnVieVByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzU3BlZWNoUHJvcCBjc3NQcm9wCi0gIEhpTGluayBjc3NUYWJsZVByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzVGV4dFByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzVHJhbnNmb3JtUHJvcCBjc3NQcm9wCi0gIEhpTGluayBjc3NUcmFuc2l0aW9uUHJvcCBjc3NQcm9wCi0gIEhpTGluayBjc3NVSVByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzSUVVSVByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzQXVyYWxQcm9wIGNzc1Byb3AKLSAgSGlMaW5rIGNzc1JlbmRlclByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzTW9iaWxlVGV4dFByb3AgY3NzUHJvcAorSGlMaW5rIGNzc0FuaW1hdGlvblByb3AgY3NzUHJvcAorSGlMaW5rIGNzc0JhY2tncm91bmRQcm9wIGNzc1Byb3AKK0hpTGluayBjc3NCb3JkZXJQcm9wIGNzc1Byb3AKK0hpTGluayBjc3NCb3hQcm9wIGNzc1Byb3AKK0hpTGluayBjc3NDb2xvclByb3AgY3NzUHJvcAorSGlMaW5rIGNzc0NvbnRlbnRGb3JQYWdlZE1lZGlhUHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzRGltZW5zaW9uUHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzRmxleGlibGVCb3hQcm9wIGNzc1Byb3AKK0hpTGluayBjc3NGb250UHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzR2VuZXJhdGVkQ29udGVudFByb3AgY3NzUHJvcAorSGlMaW5rIGNzc0dyaWRQcm9wIGNzc1Byb3AKK0hpTGluayBjc3NIeWVybGlua1Byb3AgY3NzUHJvcAorSGlMaW5rIGNzc0xpbmVib3hQcm9wIGNzc1Byb3AKK0hpTGluayBjc3NMaXN0UHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzTWFycXVlZVByb3AgY3NzUHJvcAorSGlMaW5rIGNzc011bHRpQ29sdW1uUHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzUGFnZWRNZWRpYVByb3AgY3NzUHJvcAorSGlMaW5rIGNzc1Bvc2l0aW9uaW5nUHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzUHJpbnRQcm9wIGNzc1Byb3AKK0hpTGluayBjc3NSdWJ5UHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzU3BlZWNoUHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzVGFibGVQcm9wIGNzc1Byb3AKK0hpTGluayBjc3NUZXh0UHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzVHJhbnNmb3JtUHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzVHJhbnNpdGlvblByb3AgY3NzUHJvcAorSGlMaW5rIGNzc1VJUHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzSUVVSVByb3AgY3NzUHJvcAorSGlMaW5rIGNzc0F1cmFsUHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzUmVuZGVyUHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzTW9iaWxlVGV4dFByb3AgY3NzUHJvcAogCi0gIEhpTGluayBjc3NBbmltYXRpb25BdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc0JhY2tncm91bmRBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc0JvcmRlckF0dHIgY3NzQXR0cgotICBIaUxpbmsgY3NzQm94QXR0ciBjc3NBdHRyCi0gIEhpTGluayBjc3NDb250ZW50Rm9yUGFnZWRNZWRpYUF0dHIgY3NzQXR0cgotICBIaUxpbmsgY3NzRGltZW5zaW9uQXR0ciBjc3NBdHRyCi0gIEhpTGluayBjc3NGbGV4aWJsZUJveEF0dHIgY3NzQXR0cgotICBIaUxpbmsgY3NzRm9udEF0dHIgY3NzQXR0cgotICBIaUxpbmsgY3NzR2VuZXJhdGVkQ29udGVudEF0dHIgY3NzQXR0cgotICBIaUxpbmsgY3NzR3JpZEF0dHIgY3NzQXR0cgotICBIaUxpbmsgY3NzSHllcmxpbmtBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc0xpbmVib3hBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc0xpc3RBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc01hcmdpbkF0dHIgY3NzQXR0cgotICBIaUxpbmsgY3NzTWFycXVlZUF0dHIgY3NzQXR0cgotICBIaUxpbmsgY3NzTXVsdGlDb2x1bW5BdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc1BhZGRpbmdBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc1BhZ2VkTWVkaWFBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc1Bvc2l0aW9uaW5nQXR0ciBjc3NBdHRyCi0gIEhpTGluayBjc3NHcmFkaWVudEF0dHIgY3NzQXR0cgotICBIaUxpbmsgY3NzUHJpbnRBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc1J1YnlBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc1NwZWVjaEF0dHIgY3NzQXR0cgotICBIaUxpbmsgY3NzVGFibGVBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc1RleHRBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc1RyYW5zZm9ybUF0dHIgY3NzQXR0cgotICBIaUxpbmsgY3NzVHJhbnNpdGlvbkF0dHIgY3NzQXR0cgotICBIaUxpbmsgY3NzVUlBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc0lFVUlBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc0F1cmFsQXR0ciBjc3NBdHRyCi0gIEhpTGluayBjc3NSZW5kZXJBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc0NvbW1vbkF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc0FuaW1hdGlvbkF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc0JhY2tncm91bmRBdHRyIGNzc0F0dHIKK0hpTGluayBjc3NCb3JkZXJBdHRyIGNzc0F0dHIKK0hpTGluayBjc3NCb3hBdHRyIGNzc0F0dHIKK0hpTGluayBjc3NDb250ZW50Rm9yUGFnZWRNZWRpYUF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc0RpbWVuc2lvbkF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc0ZsZXhpYmxlQm94QXR0ciBjc3NBdHRyCitIaUxpbmsgY3NzRm9udEF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc0dlbmVyYXRlZENvbnRlbnRBdHRyIGNzc0F0dHIKK0hpTGluayBjc3NHcmlkQXR0ciBjc3NBdHRyCitIaUxpbmsgY3NzSHllcmxpbmtBdHRyIGNzc0F0dHIKK0hpTGluayBjc3NMaW5lYm94QXR0ciBjc3NBdHRyCitIaUxpbmsgY3NzTGlzdEF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc01hcmdpbkF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc01hcnF1ZWVBdHRyIGNzc0F0dHIKK0hpTGluayBjc3NNdWx0aUNvbHVtbkF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc1BhZGRpbmdBdHRyIGNzc0F0dHIKK0hpTGluayBjc3NQYWdlZE1lZGlhQXR0ciBjc3NBdHRyCitIaUxpbmsgY3NzUG9zaXRpb25pbmdBdHRyIGNzc0F0dHIKK0hpTGluayBjc3NHcmFkaWVudEF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc1ByaW50QXR0ciBjc3NBdHRyCitIaUxpbmsgY3NzUnVieUF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc1NwZWVjaEF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc1RhYmxlQXR0ciBjc3NBdHRyCitIaUxpbmsgY3NzVGV4dEF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc1RyYW5zZm9ybUF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc1RyYW5zaXRpb25BdHRyIGNzc0F0dHIKK0hpTGluayBjc3NVSUF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc0lFVUlBdHRyIGNzc0F0dHIKK0hpTGluayBjc3NBdXJhbEF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc1JlbmRlckF0dHIgY3NzQXR0cgorSGlMaW5rIGNzc0NvbW1vbkF0dHIgY3NzQXR0cgogCi0gIEhpTGluayBjc3NQc2V1ZG9DbGFzc0lkIFByZVByb2MKLSAgSGlMaW5rIGNzc1BzZXVkb0NsYXNzTGFuZyBDb25zdGFudAotICBIaUxpbmsgY3NzVmFsdWVMZW5ndGggTnVtYmVyCi0gIEhpTGluayBjc3NWYWx1ZUludGVnZXIgTnVtYmVyCi0gIEhpTGluayBjc3NWYWx1ZU51bWJlciBOdW1iZXIKLSAgSGlMaW5rIGNzc1ZhbHVlQW5nbGUgTnVtYmVyCi0gIEhpTGluayBjc3NWYWx1ZVRpbWUgTnVtYmVyCi0gIEhpTGluayBjc3NWYWx1ZUZyZXF1ZW5jeSBOdW1iZXIKLSAgSGlMaW5rIGNzc0Z1bmN0aW9uIENvbnN0YW50Ci0gIEhpTGluayBjc3NVUkwgU3RyaW5nCi0gIEhpTGluayBjc3NGdW5jdGlvbk5hbWUgRnVuY3Rpb24KLSAgSGlMaW5rIGNzc0Z1bmN0aW9uQ29tbWEgRnVuY3Rpb24KLSAgSGlMaW5rIGNzc0NvbG9yIENvbnN0YW50Ci0gIEhpTGluayBjc3NJZGVudGlmaWVyIEZ1bmN0aW9uCi0gIEhpTGluayBjc3NJbmNsdWRlIEluY2x1ZGUKLSAgSGlMaW5rIGNzc0luY2x1ZGVLZXl3b3JkIGF0S2V5d29yZAotICBIaUxpbmsgY3NzSW1wb3J0YW50IFNwZWNpYWwKLSAgSGlMaW5rIGNzc0JyYWNlcyBGdW5jdGlvbgotICBIaUxpbmsgY3NzQnJhY2VFcnJvciBFcnJvcgotICBIaUxpbmsgY3NzRXJyb3IgRXJyb3IKLSAgSGlMaW5rIGNzc1VuaWNvZGVFc2NhcGUgU3BlY2lhbAotICBIaUxpbmsgY3NzU3RyaW5nUVEgU3RyaW5nCi0gIEhpTGluayBjc3NTdHJpbmdRIFN0cmluZwotICBIaUxpbmsgY3NzQXR0cmlidXRlU2VsZWN0b3IgU3RyaW5nCi0gIEhpTGluayBjc3NNZWRpYSBhdEtleXdvcmQKLSAgSGlMaW5rIGNzc01lZGlhVHlwZSBTcGVjaWFsCi0gIEhpTGluayBjc3NNZWRpYUNvbW1hIE5vcm1hbAotICBIaUxpbmsgY3NzTWVkaWFLZXl3b3JkIFN0YXRlbWVudAotICBIaUxpbmsgY3NzTWVkaWFQcm9wIGNzc1Byb3AKLSAgSGlMaW5rIGNzc01lZGlhQXR0ciBjc3NBdHRyCi0gIEhpTGluayBjc3NQYWdlIGF0S2V5d29yZAotICBIaUxpbmsgY3NzUGFnZVBzZXVkbyBQcmVQcm9jCi0gIEhpTGluayBjc3NQYWdlTWFyZ2luIGF0S2V5d29yZAotICBIaUxpbmsgY3NzUGFnZVByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzS2V5RnJhbWUgYXRLZXl3b3JkCi0gIEhpTGluayBjc3NLZXlGcmFtZVNlbGVjdG9yIENvbnN0YW50Ci0gIEhpTGluayBjc3NGb250RGVzY3JpcHRvciBTcGVjaWFsCi0gIEhpTGluayBjc3NGb250RGVzY3JpcHRvckZ1bmN0aW9uIENvbnN0YW50Ci0gIEhpTGluayBjc3NGb250RGVzY3JpcHRvclByb3AgY3NzUHJvcAotICBIaUxpbmsgY3NzRm9udERlc2NyaXB0b3JBdHRyIGNzc0F0dHIKLSAgSGlMaW5rIGNzc1VuaWNvZGVSYW5nZSBDb25zdGFudAotICBIaUxpbmsgY3NzQ2xhc3NOYW1lIEZ1bmN0aW9uCi0gIEhpTGluayBjc3NDbGFzc05hbWVEb3QgRnVuY3Rpb24KLSAgSGlMaW5rIGNzc1Byb3AgU3RvcmFnZUNsYXNzCi0gIEhpTGluayBjc3NBdHRyIENvbnN0YW50Ci0gIEhpTGluayBjc3NVbml0RGVjb3JhdG9ycyBOdW1iZXIKLSAgSGlMaW5rIGNzc05vaXNlIE5vaXNlCi0gIEhpTGluayBhdEtleXdvcmQgUHJlUHJvYwotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK0hpTGluayBjc3NQc2V1ZG9DbGFzc0lkIFByZVByb2MKK0hpTGluayBjc3NQc2V1ZG9DbGFzc0xhbmcgQ29uc3RhbnQKK0hpTGluayBjc3NWYWx1ZUxlbmd0aCBOdW1iZXIKK0hpTGluayBjc3NWYWx1ZUludGVnZXIgTnVtYmVyCitIaUxpbmsgY3NzVmFsdWVOdW1iZXIgTnVtYmVyCitIaUxpbmsgY3NzVmFsdWVBbmdsZSBOdW1iZXIKK0hpTGluayBjc3NWYWx1ZVRpbWUgTnVtYmVyCitIaUxpbmsgY3NzVmFsdWVGcmVxdWVuY3kgTnVtYmVyCitIaUxpbmsgY3NzRnVuY3Rpb24gQ29uc3RhbnQKK0hpTGluayBjc3NVUkwgU3RyaW5nCitIaUxpbmsgY3NzRnVuY3Rpb25OYW1lIEZ1bmN0aW9uCitIaUxpbmsgY3NzRnVuY3Rpb25Db21tYSBGdW5jdGlvbgorSGlMaW5rIGNzc0NvbG9yIENvbnN0YW50CitIaUxpbmsgY3NzSWRlbnRpZmllciBGdW5jdGlvbgorSGlMaW5rIGNzc0luY2x1ZGUgSW5jbHVkZQorSGlMaW5rIGNzc0luY2x1ZGVLZXl3b3JkIGF0S2V5d29yZAorSGlMaW5rIGNzc0ltcG9ydGFudCBTcGVjaWFsCitIaUxpbmsgY3NzQnJhY2VzIEZ1bmN0aW9uCitIaUxpbmsgY3NzQnJhY2VFcnJvciBFcnJvcgorSGlMaW5rIGNzc0Vycm9yIEVycm9yCitIaUxpbmsgY3NzVW5pY29kZUVzY2FwZSBTcGVjaWFsCitIaUxpbmsgY3NzU3RyaW5nUVEgU3RyaW5nCitIaUxpbmsgY3NzU3RyaW5nUSBTdHJpbmcKK0hpTGluayBjc3NBdHRyaWJ1dGVTZWxlY3RvciBTdHJpbmcKK0hpTGluayBjc3NNZWRpYSBhdEtleXdvcmQKK0hpTGluayBjc3NNZWRpYVR5cGUgU3BlY2lhbAorSGlMaW5rIGNzc01lZGlhQ29tbWEgTm9ybWFsCitIaUxpbmsgY3NzTWVkaWFLZXl3b3JkIFN0YXRlbWVudAorSGlMaW5rIGNzc01lZGlhUHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzTWVkaWFBdHRyIGNzc0F0dHIKK0hpTGluayBjc3NQYWdlIGF0S2V5d29yZAorSGlMaW5rIGNzc1BhZ2VQc2V1ZG8gUHJlUHJvYworSGlMaW5rIGNzc1BhZ2VNYXJnaW4gYXRLZXl3b3JkCitIaUxpbmsgY3NzUGFnZVByb3AgY3NzUHJvcAorSGlMaW5rIGNzc0tleUZyYW1lIGF0S2V5d29yZAorSGlMaW5rIGNzc0tleUZyYW1lU2VsZWN0b3IgQ29uc3RhbnQKK0hpTGluayBjc3NGb250RGVzY3JpcHRvciBTcGVjaWFsCitIaUxpbmsgY3NzRm9udERlc2NyaXB0b3JGdW5jdGlvbiBDb25zdGFudAorSGlMaW5rIGNzc0ZvbnREZXNjcmlwdG9yUHJvcCBjc3NQcm9wCitIaUxpbmsgY3NzRm9udERlc2NyaXB0b3JBdHRyIGNzc0F0dHIKK0hpTGluayBjc3NVbmljb2RlUmFuZ2UgQ29uc3RhbnQKK0hpTGluayBjc3NDbGFzc05hbWUgRnVuY3Rpb24KK0hpTGluayBjc3NDbGFzc05hbWVEb3QgRnVuY3Rpb24KK0hpTGluayBjc3NQcm9wIFN0b3JhZ2VDbGFzcworSGlMaW5rIGNzc0F0dHIgQ29uc3RhbnQKK0hpTGluayBjc3NVbml0RGVjb3JhdG9ycyBOdW1iZXIKK0hpTGluayBjc3NOb2lzZSBOb2lzZQorSGlMaW5rIGF0S2V5d29yZCBQcmVQcm9jCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjc3MiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2N0ZXJtLnZpbSBiL3J1bnRpbWUvc3ludGF4L2N0ZXJtLnZpbQppbmRleCAxMzlhMGQ1Li44NTEwZjYyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jdGVybS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY3Rlcm0udmltCkBAIC00LDExICs0LDggQEAKICIgTGFzdCBDaGFuZ2U6CTIwMDIgQXByIDEzCiAiIFZlcnNpb24gSW5mbzogQCgjKWN0ZXJtLnZpbQkxLjcJOTcvMTIvMTUgMDk6MjM6MTQKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE0Miw0OCArMTM5LDQwIEBACiBzeW4gbWF0Y2ggICBjdGVybVNwZWNpYWxDaGFyYWN0ZXIJIidcXC4nIgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jdGVybV9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9jdGVybV9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLQlIaUxpbmsgY3Rlcm1TdGF0ZW1lbnQJCVN0YXRlbWVudAotCUhpTGluayBjdGVybUZ1bmN0aW9uCQlTdGF0ZW1lbnQKLQlIaUxpbmsgY3Rlcm1TdHJGdW5jdGlvbglTdGF0ZW1lbnQKLQlIaUxpbmsgY3Rlcm1JbnRGdW5jdGlvbglTdGF0ZW1lbnQKLQlIaUxpbmsgY3Rlcm1MYWJlbAkJU3RhdGVtZW50Ci0JSGlMaW5rIGN0ZXJtQ29uZGl0aW9uYWwJU3RhdGVtZW50Ci0JSGlMaW5rIGN0ZXJtUmVwZWF0CQlTdGF0ZW1lbnQKLQlIaUxpbmsgY3Rlcm1MaWJGdW5jCQlVc2VyRGVmRnVuYwotCUhpTGluayBjdGVybVR5cGUJCVR5cGUKLQlIaUxpbmsgY3Rlcm1GdW5jQXJnCQlQcmVDb25kaXQKK0hpTGluayBjdGVybVN0YXRlbWVudAkJU3RhdGVtZW50CitIaUxpbmsgY3Rlcm1GdW5jdGlvbgkJU3RhdGVtZW50CitIaUxpbmsgY3Rlcm1TdHJGdW5jdGlvbglTdGF0ZW1lbnQKK0hpTGluayBjdGVybUludEZ1bmN0aW9uCVN0YXRlbWVudAorSGlMaW5rIGN0ZXJtTGFiZWwJCVN0YXRlbWVudAorSGlMaW5rIGN0ZXJtQ29uZGl0aW9uYWwJU3RhdGVtZW50CitIaUxpbmsgY3Rlcm1SZXBlYXQJCVN0YXRlbWVudAorSGlMaW5rIGN0ZXJtTGliRnVuYwkJVXNlckRlZkZ1bmMKK0hpTGluayBjdGVybVR5cGUJCVR5cGUKK0hpTGluayBjdGVybUZ1bmNBcmcJCVByZUNvbmRpdAogCi0JSGlMaW5rIGN0ZXJtUHJlVmFyUk8JCVByZUNvbmRpdAotCUhpTGluayBjdGVybVByZVZhclJXCQlQcmVDb25kaXRCb2xkCi0JSGlMaW5rIGN0ZXJtVmFyCQlUeXBlCitIaUxpbmsgY3Rlcm1QcmVWYXJSTwkJUHJlQ29uZGl0CitIaUxpbmsgY3Rlcm1QcmVWYXJSVwkJUHJlQ29uZGl0Qm9sZAorSGlMaW5rIGN0ZXJtVmFyCQlUeXBlCiAKLQlIaUxpbmsgY3Rlcm1Db21tZW50CQlDb21tZW50CitIaUxpbmsgY3Rlcm1Db21tZW50CQlDb21tZW50CiAKLQlIaUxpbmsgY3Rlcm1DaGFyYWN0ZXIJCVNwZWNpYWxDaGFyCi0JSGlMaW5rIGN0ZXJtU3BlY2lhbAkJU3BlY2lhbAotCUhpTGluayBjdGVybVNwZWNpYWxDaGFyYWN0ZXIJU3BlY2lhbENoYXIKLQlIaUxpbmsgY3Rlcm1TeW1ib2xzCQlTcGVjaWFsCi0JSGlMaW5rIGN0ZXJtU3RyaW5nCQlTdHJpbmcKLQlIaUxpbmsgY3Rlcm1Ub2RvCQlUb2RvCi0JSGlMaW5rIGN0ZXJtT3BlcmF0b3IJCVN0YXRlbWVudAotCUhpTGluayBjdGVybU51bWJlcgkJTnVtYmVyCitIaUxpbmsgY3Rlcm1DaGFyYWN0ZXIJCVNwZWNpYWxDaGFyCitIaUxpbmsgY3Rlcm1TcGVjaWFsCQlTcGVjaWFsCitIaUxpbmsgY3Rlcm1TcGVjaWFsQ2hhcmFjdGVyCVNwZWNpYWxDaGFyCitIaUxpbmsgY3Rlcm1TeW1ib2xzCQlTcGVjaWFsCitIaUxpbmsgY3Rlcm1TdHJpbmcJCVN0cmluZworSGlMaW5rIGN0ZXJtVG9kbwkJVG9kbworSGlMaW5rIGN0ZXJtT3BlcmF0b3IJCVN0YXRlbWVudAorSGlMaW5rIGN0ZXJtTnVtYmVyCQlOdW1iZXIKIAotCSIgcmVkZWZpbmUgdGhlIGNvbG9ycwotCSJoaSBQcmVDb25kaXRCb2xkCXRlcm09Ym9sZCBjdGVybWZnPTEgY3Rlcm09Ym9sZCBndWlmZz1QdXJwbGUgZ3VpPWJvbGQKLQkiaGkgU3BlY2lhbAl0ZXJtPWJvbGQgY3Rlcm1mZz02IGd1aWZnPVNsYXRlQmx1ZSBndWk9dW5kZXJsaW5lCisiIHJlZGVmaW5lIHRoZSBjb2xvcnMKKyJoaSBQcmVDb25kaXRCb2xkCXRlcm09Ym9sZCBjdGVybWZnPTEgY3Rlcm09Ym9sZCBndWlmZz1QdXJwbGUgZ3VpPWJvbGQKKyJoaSBTcGVjaWFsCXRlcm09Ym9sZCBjdGVybWZnPTYgZ3VpZmc9U2xhdGVCbHVlIGd1aT11bmRlcmxpbmUKIAotCWRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY3Rlcm0iCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2N1ZGEudmltIGIvcnVudGltZS9zeW50YXgvY3VkYS52aW0KaW5kZXggNzc5MzBlMy4uY2ZjNzBiOSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY3VkYS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY3VkYS52aW0KQEAgLTMsMjAgKzMsMTMgQEAKICIgTWFpbnRhaW5lcjoJVGltb3RoeSBCLiBUZXJyaWJlcnJ5IDx0dGVycmliZUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CiAiIExhc3QgQ2hhbmdlOgkyMDA3IE9jdCAxMwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAogIiBSZWFkIHRoZSBDIHN5bnRheCB0byBzdGFydCB3aXRoCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvdXJjZSA8c2ZpbGU+OnA6aC9jLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvYy52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvYy52aW0KIAogIiBDVURBIGV4dGVudGlvbnMKIHN5biBrZXl3b3JkIGN1ZGFTdG9yYWdlQ2xhc3MJX19kZXZpY2VfXyBfX2dsb2JhbF9fIF9faG9zdF9fCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jdXBsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2N1cGwudmltCmluZGV4IDU0NWQ4NzMuLjU4NTQwYjYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2N1cGwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2N1cGwudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJSm9obiBDb29rIDxqb2huY29vazNAZ21haWwuY29tPgogIiBMYXN0IENoYW5nZToJMjAxMSBEZWMgMjcKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTk1LDM5ICs5MiwzMSBAQAogc3luIHN5bmMgbWlubGluZXM9MQogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jdXBsX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2N1cGxfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gICIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotICBIaUxpbmsgY3VwbEhlYWRlcgljdXBsU3RhdGVtZW50Ci0gIEhpTGluayBjdXBsTG9naWNhbE9wZXJhdG9yCSBjdXBsT3BlcmF0b3IKLSAgSGlMaW5rIGN1cGxSYW5nZU9wZXJhdG9yCSBjdXBsT3BlcmF0b3IKLSAgSGlMaW5rIGN1cGxBcml0aG1ldGljT3BlcmF0b3IgY3VwbE9wZXJhdG9yCi0gIEhpTGluayBjdXBsQXNzaWdubWVudE9wZXJhdG9yIGN1cGxPcGVyYXRvcgotICBIaUxpbmsgY3VwbEVxdWFsaXR5T3BlcmF0b3IJIGN1cGxPcGVyYXRvcgotICBIaUxpbmsgY3VwbFRydXRoVGFibGVPcGVyYXRvciBjdXBsT3BlcmF0b3IKLSAgSGlMaW5rIGN1cGxPcGVyYXRvcgljdXBsU3RhdGVtZW50Ci0gIEhpTGluayBjdXBsRnVuY3Rpb24JY3VwbFN0YXRlbWVudAotICBIaUxpbmsgY3VwbFN0YXRlbWVudCBTdGF0ZW1lbnQKLSAgSGlMaW5rIGN1cGxOdW1iZXJSYW5nZSBjdXBsTnVtYmVyCi0gIEhpTGluayBjdXBsTnVtYmVyCSAgY3VwbFN0cmluZwotICBIaUxpbmsgY3VwbFN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIGN1cGxDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIGN1cGxFeHRlbnNpb24gICBjdXBsU3BlY2lhbAotICBIaUxpbmsgY3VwbFNwZWNpYWxDaGFyIGN1cGxTcGVjaWFsCi0gIEhpTGluayBjdXBsU3BlY2lhbAlTcGVjaWFsCi0gIEhpTGluayBjdXBsRGlyZWN0aXZlIFByZVByb2MKLSAgSGlMaW5rIGN1cGxUb2RvCVRvZG8KKyIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorSGlMaW5rIGN1cGxIZWFkZXIJY3VwbFN0YXRlbWVudAorSGlMaW5rIGN1cGxMb2dpY2FsT3BlcmF0b3IJIGN1cGxPcGVyYXRvcgorSGlMaW5rIGN1cGxSYW5nZU9wZXJhdG9yCSBjdXBsT3BlcmF0b3IKK0hpTGluayBjdXBsQXJpdGhtZXRpY09wZXJhdG9yIGN1cGxPcGVyYXRvcgorSGlMaW5rIGN1cGxBc3NpZ25tZW50T3BlcmF0b3IgY3VwbE9wZXJhdG9yCitIaUxpbmsgY3VwbEVxdWFsaXR5T3BlcmF0b3IJIGN1cGxPcGVyYXRvcgorSGlMaW5rIGN1cGxUcnV0aFRhYmxlT3BlcmF0b3IgY3VwbE9wZXJhdG9yCitIaUxpbmsgY3VwbE9wZXJhdG9yCWN1cGxTdGF0ZW1lbnQKK0hpTGluayBjdXBsRnVuY3Rpb24JY3VwbFN0YXRlbWVudAorSGlMaW5rIGN1cGxTdGF0ZW1lbnQgU3RhdGVtZW50CitIaUxpbmsgY3VwbE51bWJlclJhbmdlIGN1cGxOdW1iZXIKK0hpTGluayBjdXBsTnVtYmVyCSAgY3VwbFN0cmluZworSGlMaW5rIGN1cGxTdHJpbmcJU3RyaW5nCitIaUxpbmsgY3VwbENvbW1lbnQJQ29tbWVudAorSGlMaW5rIGN1cGxFeHRlbnNpb24gICBjdXBsU3BlY2lhbAorSGlMaW5rIGN1cGxTcGVjaWFsQ2hhciBjdXBsU3BlY2lhbAorSGlMaW5rIGN1cGxTcGVjaWFsCVNwZWNpYWwKK0hpTGluayBjdXBsRGlyZWN0aXZlIFByZVByb2MKK0hpTGluayBjdXBsVG9kbwlUb2RvCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjdXBsIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jdXBsc2ltLnZpbSBiL3J1bnRpbWUvc3ludGF4L2N1cGxzaW0udmltCmluZGV4IDE4YTMwY2UuLmQwYzllYzMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2N1cGxzaW0udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2N1cGxzaW0udmltCkBAIC0zLDIxICszLDE0IEBACiAiIE1haW50YWluZXI6CUpvaG4gQ29vayA8am9obi5jb29rQGtsYS10ZW5jb3IuY29tPgogIiBMYXN0IENoYW5nZToJMjAwMSBBcHIgMjUKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKICIgUmVhZCB0aGUgQ1VQTCBzeW50YXggdG8gc3RhcnQgd2l0aAotaWYgdmVyc2lvbiA8IDYwMAotICBzb3VyY2UgPHNmaWxlPjpwOmgvY3VwbC52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2N1cGwudmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvY3VwbC52aW0KK3VubGV0IGI6Y3VycmVudF9zeW50YXgKIAogIiBvbWl0IGRlZmluaXRpb24tc3BlY2lmaWMgc3R1ZmYKIHN5biBjbGVhciBjdXBsU3RhdGVtZW50CkBAIC01MywyOCArNDYsMjAgQEAKIHN5biBzeW5jIG1pbmxpbmVzPTEKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3VwbHNpbV9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9jdXBsc2ltX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIGFwcGVuZCB0byB0aGUgaGlnaGxpZ2h0aW5nIGxpbmtzIGluIGN1cGwudmltCi0gICIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotICBIaUxpbmsgY3VwbHNpbU9yZGVyCQljdXBsU3RhdGVtZW50Ci0gIEhpTGluayBjdXBsc2ltQmFzZQkJY3VwbFN0YXRlbWVudAotICBIaUxpbmsgY3VwbHNpbUJhc2VUeXBlCWN1cGxTdGF0ZW1lbnQKLSAgSGlMaW5rIGN1cGxzaW1WZWN0b3JzCQljdXBsU3RhdGVtZW50Ci0gIEhpTGluayBjdXBsc2ltU3RpbXVsdXMJY3VwbE51bWJlcgotICBIaUxpbmsgY3VwbHNpbU91dHB1dAkJY3VwbE51bWJlcgotICBIaUxpbmsgY3VwbHNpbU9yZGVyRm9ybWF0CWN1cGxOdW1iZXIKKyIgYXBwZW5kIHRvIHRoZSBoaWdobGlnaHRpbmcgbGlua3MgaW4gY3VwbC52aW0KKyIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorSGlMaW5rIGN1cGxzaW1PcmRlcgkJY3VwbFN0YXRlbWVudAorSGlMaW5rIGN1cGxzaW1CYXNlCQljdXBsU3RhdGVtZW50CitIaUxpbmsgY3VwbHNpbUJhc2VUeXBlCWN1cGxTdGF0ZW1lbnQKK0hpTGluayBjdXBsc2ltVmVjdG9ycwkJY3VwbFN0YXRlbWVudAorSGlMaW5rIGN1cGxzaW1TdGltdWx1cwljdXBsTnVtYmVyCitIaUxpbmsgY3VwbHNpbU91dHB1dAkJY3VwbE51bWJlcgorSGlMaW5rIGN1cGxzaW1PcmRlckZvcm1hdAljdXBsTnVtYmVyCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjdXBsc2ltIgogIiB2aW06dHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY3ZzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2N2cy52aW0KaW5kZXggOTRiMmE4MC4uNGEwMWMyYiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY3ZzLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jdnMudmltCkBAIC00LDExICs0LDggQEAKICIgVVJMOgkJaHR0cDovL3d3dy56b3Rpa29zLmNvbS9kb3dubG9hZHMvY3ZzLnZpbQogIiBMYXN0IENoYW5nZToJU2F0IE5vdiAyNCAyMzoyNToxMSBDRVQgMjAwMQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotCXN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKIAlmaW5pc2gKIGVuZGlmCiAKQEAgLTIwLDI0ICsxNywxNiBAQAogc3luIG1hdGNoIGN2c0RpciAgIGNvbnRhaW5lZCAiXFNcKyQiCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2N2c19zeW5faW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9jdnNfc3luX2luaXRzID0gMQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotCWVsc2UKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0JZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0JSGlMaW5rIGN2c0xpbmUJCUNvbW1lbnQKLQlIaUxpbmsgY3ZzRGlyCQljdnNGaWxlCi0JSGlMaW5rIGN2c0ZpbGUJCUNvbnN0YW50Ci0JSGlMaW5rIGN2c0ZpbGVzCQljdnNDb20KLQlIaUxpbmsgY3ZzVGFnCQljdnNDb20KLQlIaUxpbmsgY3ZzQ29tCQlTdGF0ZW1lbnQKK0hpTGluayBjdnNMaW5lCQlDb21tZW50CitIaUxpbmsgY3ZzRGlyCQljdnNGaWxlCitIaUxpbmsgY3ZzRmlsZQkJQ29uc3RhbnQKK0hpTGluayBjdnNGaWxlcwkJY3ZzQ29tCitIaUxpbmsgY3ZzVGFnCQljdnNDb20KK0hpTGluayBjdnNDb20JCVN0YXRlbWVudAogCi0JZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjdnMiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jd2ViLnZpbSBiL3J1bnRpbWUvc3ludGF4L2N3ZWIudmltCmluZGV4IDM5YjU5M2QuLjFkNmUwZmQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2N3ZWIudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2N3ZWIudmltCkBAIC0xMywxMSArMTMsOCBAQAogIiBUT0RPOiBuYW1lcywgYW5kIGxlYXZlcyBDL0MrKyBjb21tZW50cyBhcyBzdWNoLiAoT24gdGhlIG90aGVyIGhhbmQsCiAiIFRPRE86IHN3aXRjaGluZyB0byBUZVggbW9kZSBpbiBDL0MrKyBjb21tZW50cyBtaWdodCBiZSBjb2xvdXIgb3ZlcmtpbGwuKQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjUsMTIgKzIyLDggQEAKICIgbGV2ZWwgaW4gdGhlIENXRUIgc3ludGF4LCBlLmcuLCBpbiB0aGUgcHJlYW1ibGUuICBJbiBnZW5lcmFsLCBhIENXRUIgc291cmNlCiAiIGNvZGUgY2FuIGJlIHNlZW4gYXMgYSBub3JtYWwgVGVYIGRvY3VtZW50IHdpdGggc29tZSBDL0MrKyBtYXRlcmlhbAogIiBpbnRlcnNwZXJzZWQgaW4gY2VydGFpbiBkZWZpbmVkIHJlZ2lvbnMuCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvdXJjZSA8c2ZpbGU+OnA6aC90ZXgudmltCi1lbHNlCi0gIHJ1bnRpbWUhIHN5bnRheC90ZXgudmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvdGV4LnZpbQordW5sZXQgYjpjdXJyZW50X3N5bnRheAogCiAiIFJlYWQgdGhlIEMvQysrIHN5bnRheCB0b287IEMvQysrIHN5bnRheCBpdGVtcyBhcmUgdHJlYXRlZCBhcyBzdWNoIGluIHRoZQogIiBDL0MrKyBzZWN0aW9uIG9mIGEgQ1dFQiBjaHVuayBvciBpbiBpbm5lciBDL0MrKyBjb250ZXh0IGluICJ8Li4ufCIgZ3JvdXBzLgpAQCAtNjMsMjAgKzU2LDEyIEBACiBzeW50YXggbWF0Y2ggd2ViSWdub3JlZFN0dWZmICJAQCIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3dlYl9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9jd2ViX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgd2ViUmVzdHJpY3RlZFRlWCBTdHJpbmcKK0hpTGluayB3ZWJSZXN0cmljdGVkVGVYIFN0cmluZwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY3dlYiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY3lubGliLnZpbSBiL3J1bnRpbWUvc3ludGF4L2N5bmxpYi52aW0KaW5kZXggYTk5ODUwNy4uNTMzOGM2MSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY3lubGliLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jeW5saWIudmltCkBAIC0xNSwyMiArMTUsMTUgQEAKIAogCiAiIFJlbW92ZSBhbnkgb2xkIHN5bnRheCBzdHVmZiBoYW5naW5nIGFyb3VuZAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKIAogCiAiIFJlYWQgdGhlIEMrKyBzeW50YXggdG8gc3RhcnQgd2l0aCAtIHRoaXMgaW5jbHVkZXMgdGhlIEMgc3ludGF4Ci1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvdXJjZSA8c2ZpbGU+OnA6aC9jcHAudmltCi1lbHNlCi0gIHJ1bnRpbWUhIHN5bnRheC9jcHAudmltCi1lbmRpZgorcnVudGltZSEgc3ludGF4L2NwcC52aW0KIHVubGV0IGI6Y3VycmVudF9zeW50YXgKIAogIiBDeW5saWIgZXh0ZW5zaW9ucwpAQCAtNjksMjMgKzYyLDE1IEBACiBzeW4ga2V5d29yZAljeW5saWJUeXBlCSAgIEluIE91dCBJblNUIE91dFNUIEludCBVaW50IENvbnN0IEN5bmNsb2NrCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2N5bmxpYl9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9jeW5saWJfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBjeW5saWJPcGVyYXRvciAgIE9wZXJhdG9yCi0gIEhpTGluayBjeW5saWJNYWNybyAgICAgIFN0YXRlbWVudAotICBIaUxpbmsgY3lubGliRnVuY3Rpb24gICBTdGF0ZW1lbnQKLSAgSGlMaW5rIGN5bmxpYnBwTWFjcm8gICAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIGN5bmxpYlR5cGUgICAgICAgVHlwZQorSGlMaW5rIGN5bmxpYk9wZXJhdG9yICAgT3BlcmF0b3IKK0hpTGluayBjeW5saWJNYWNybyAgICAgIFN0YXRlbWVudAorSGlMaW5rIGN5bmxpYkZ1bmN0aW9uICAgU3RhdGVtZW50CitIaUxpbmsgY3lubGlicHBNYWNybyAgICAgIFN0YXRlbWVudAorSGlMaW5rIGN5bmxpYlR5cGUgICAgICAgVHlwZQogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY3lubGliIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY3lucHAudmltIGIvcnVudGltZS9zeW50YXgvY3lucHAudmltCmluZGV4IGI5ODRiYWMuLmVlNTRlYjYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2N5bnBwLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jeW5wcC52aW0KQEAgLTE5LDIxICsxOSwxMyBAQAogCiAKIAotIiBSZW1vdmUgYW55IG9sZCBzeW50YXggc3R1ZmYgaGFuZ2luZyBhcm91bmQKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCiAiIFJlYWQgdGhlIEN5bmxpYiBzeW50YXggdG8gc3RhcnQgd2l0aCAtIHRoaXMgaW5jbHVkZXMgdGhlIEMrKyBzeW50YXgKLWlmIHZlcnNpb24gPCA2MDAKLSAgc291cmNlIDxzZmlsZT46cDpoL2N5bmxpYi52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2N5bmxpYi52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvY3lubGliLnZpbQogdW5sZXQgYjpjdXJyZW50X3N5bnRheAogCiAKQEAgLTQ5LDIwICs0MSwxMiBAQAogc3luIGtleXdvcmQgICAgIGN5bnBwTWFjcm8gICAgICBJbnN0YW50aWF0ZQogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jeW5wcF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9jeW5wcF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGNMYWJlbAkJTGFiZWwKLSAgSGlMaW5rIGN5bnBwTWFjcm8gIFN0YXRlbWVudAorSGlMaW5rIGNMYWJlbAkJTGFiZWwKK0hpTGluayBjeW5wcE1hY3JvICBTdGF0ZW1lbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImN5bnBwIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZGF0YXNjcmlwdC52aW0gYi9ydW50aW1lL3N5bnRheC9kYXRhc2NyaXB0LnZpbQppbmRleCBhOTgzYjhlLi43YjY4NmExIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9kYXRhc2NyaXB0LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9kYXRhc2NyaXB0LnZpbQpAQCAtOCw5ICs4LDggQEAKICIKICIgaHR0cDovL2RzdG9vbHMuc291cmNlZm9yZ2UubmV0L0RhdGFTY3JpcHRMYW5ndWFnZU92ZXJ2aWV3Lmh0bWwKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIGxldCBzOmtlZXBjcG89ICZjcG8KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2RjZC52aW0gYi9ydW50aW1lL3N5bnRheC9kY2QudmltCmluZGV4IGE1NjY3NDUuLmJkZTFkM2QgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2RjZC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZGNkLnZpbQpAQCAtMywxMSArMyw4IEBACiAiIE1haW50YWluZXI6CUNocmlzdG9waGVyIFNoaW5uIDxjaHJpc3RvcGhlckBsdWNlbnQuY29tPgogIiBMYXN0IENoYW5nZToJMjAwMyBBcHIgMjUKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTQwLDI1ICszNywxNyBAQAogc3luIHJlZ2lvbiAgZGNkQ29tbWVudAkJc3RhcnQ9IlwqIiBlbmQ9Ilw7IgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kY2Rfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZGNkX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgZGNkRnVuY3Rpb24JCUlkZW50aWZpZXIKLSAgSGlMaW5rIGRjZExhYmVsCQlDb25zdGFudAotICBIaUxpbmsgZGNkQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCi0gIEhpTGluayBkY2REaXNwbGF5CQlUeXBlCi0gIEhpTGluayBkY2RTdGF0ZW1lbnQJCVN0YXRlbWVudAotICBIaUxpbmsgZGNkU3BlY2lhbAkJU3BlY2lhbAotICBIaUxpbmsgZGNkQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGRjZEZ1bmN0aW9uCQlJZGVudGlmaWVyCitIaUxpbmsgZGNkTGFiZWwJCUNvbnN0YW50CitIaUxpbmsgZGNkQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCitIaUxpbmsgZGNkRGlzcGxheQkJVHlwZQorSGlMaW5rIGRjZFN0YXRlbWVudAkJU3RhdGVtZW50CitIaUxpbmsgZGNkU3BlY2lhbAkJU3BlY2lhbAorSGlMaW5rIGRjZENvbW1lbnQJCUNvbW1lbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImRjZCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2RjbC52aW0gYi9ydW50aW1lL3N5bnRheC9kY2wudmltCmluZGV4IDhhNTNjMjUuLmIzYTNhMDIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2RjbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZGNsLnZpbQpAQCAtNSwxMSArNSw4IEBACiAiIFZlcnNpb246CTkKICIgVVJMOglodHRwOi8vd3d3LmRyY2hpcC5vcmcvYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI1NZTlRBWF9EQ0wKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTExNCw1MCArMTExLDQyIEBACiBzeW4gbWF0Y2ggICBkY2xFcnJvcgkiKSIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZGNsX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2RjbF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSBIaUxpbmsgZGNsTG9nT3BlcglkY2xFcnJvcgotIEhpTGluayBkY2xMb2dpY2FsCWRjbE9wZXIKLSBIaUxpbmsgZGNsTG9nU2VwCWRjbFNlcAorSGlMaW5rIGRjbExvZ09wZXIJZGNsRXJyb3IKK0hpTGluayBkY2xMb2dpY2FsCWRjbE9wZXIKK0hpTGluayBkY2xMb2dTZXAJZGNsU2VwCiAKLSBIaUxpbmsgZGNsQXNzaWduCU9wZXJhdG9yCi0gSGlMaW5rIGRjbENtZFByb2MJU3BlY2lhbAotIEhpTGluayBkY2xDbWRQcm9jU3RhcnQJT3BlcmF0b3IKLSBIaUxpbmsgZGNsQ29tbWVudAlDb21tZW50Ci0gSGlMaW5rIGRjbENvbnRpbnVlCVN0YXRlbWVudAotIEhpTGluayBkY2xEZXZpY2UJSWRlbnRpZmllcgotIEhpTGluayBkY2xEaXJQYXRoCUlkZW50aWZpZXIKLSBIaUxpbmsgZGNsRGlyUGF0aAlJZGVudGlmaWVyCi0gSGlMaW5rIGRjbERpclNlcAlEZWxpbWl0ZXIKLSBIaUxpbmsgZGNsRXJyb3IJRXJyb3IKLSBIaUxpbmsgZGNsRXhlCQlTdGF0ZW1lbnQKLSBIaUxpbmsgZGNsRmlsZW5hbWUJTk9ORQotIEhpTGluayBkY2xHb3RvTGFiZWwJTGFiZWwKLSBIaUxpbmsgZGNsSW5zdHIJU3RhdGVtZW50Ci0gSGlMaW5rIGRjbExleGljYWwJRnVuY3Rpb24KLSBIaUxpbmsgZGNsTWRmeQlUeXBlCi0gSGlMaW5rIGRjbE1kZnlCcmt0CURlbGltaXRlcgotIEhpTGluayBkY2xNZGZ5U2VwCURlbGltaXRlcgotIEhpTGluayBkY2xNZGZ5U2V0CVR5cGUKLSBIaUxpbmsgZGNsTWRmeVNldFN0cmluZwlTdHJpbmcKLSBIaUxpbmsgZGNsTnVtYmVyCU51bWJlcgotIEhpTGluayBkY2xPcGVyCU9wZXJhdG9yCi0gSGlMaW5rIGRjbFBhcmFtCVNwZWNpYWwKLSBIaUxpbmsgZGNsU2VwCQlEZWxpbWl0ZXIKLSBIaUxpbmsgZGNsU3RhcnQJRGVsaW1pdGVyCi0gSGlMaW5rIGRjbFN0cmluZwlTdHJpbmcKLSBIaUxpbmsgZGNsVG9kbwlUb2RvCitIaUxpbmsgZGNsQXNzaWduCU9wZXJhdG9yCitIaUxpbmsgZGNsQ21kUHJvYwlTcGVjaWFsCitIaUxpbmsgZGNsQ21kUHJvY1N0YXJ0CU9wZXJhdG9yCitIaUxpbmsgZGNsQ29tbWVudAlDb21tZW50CitIaUxpbmsgZGNsQ29udGludWUJU3RhdGVtZW50CitIaUxpbmsgZGNsRGV2aWNlCUlkZW50aWZpZXIKK0hpTGluayBkY2xEaXJQYXRoCUlkZW50aWZpZXIKK0hpTGluayBkY2xEaXJQYXRoCUlkZW50aWZpZXIKK0hpTGluayBkY2xEaXJTZXAJRGVsaW1pdGVyCitIaUxpbmsgZGNsRXJyb3IJRXJyb3IKK0hpTGluayBkY2xFeGUJCVN0YXRlbWVudAorSGlMaW5rIGRjbEZpbGVuYW1lCU5PTkUKK0hpTGluayBkY2xHb3RvTGFiZWwJTGFiZWwKK0hpTGluayBkY2xJbnN0cglTdGF0ZW1lbnQKK0hpTGluayBkY2xMZXhpY2FsCUZ1bmN0aW9uCitIaUxpbmsgZGNsTWRmeQlUeXBlCitIaUxpbmsgZGNsTWRmeUJya3QJRGVsaW1pdGVyCitIaUxpbmsgZGNsTWRmeVNlcAlEZWxpbWl0ZXIKK0hpTGluayBkY2xNZGZ5U2V0CVR5cGUKK0hpTGluayBkY2xNZGZ5U2V0U3RyaW5nCVN0cmluZworSGlMaW5rIGRjbE51bWJlcglOdW1iZXIKK0hpTGluayBkY2xPcGVyCU9wZXJhdG9yCitIaUxpbmsgZGNsUGFyYW0JU3BlY2lhbAorSGlMaW5rIGRjbFNlcAkJRGVsaW1pdGVyCitIaUxpbmsgZGNsU3RhcnQJRGVsaW1pdGVyCitIaUxpbmsgZGNsU3RyaW5nCVN0cmluZworSGlMaW5rIGRjbFRvZG8JVG9kbwogCi0gZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkY2wiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2RlYmNoYW5nZWxvZy52aW0gYi9ydW50aW1lL3N5bnRheC9kZWJjaGFuZ2Vsb2cudmltCmluZGV4IGQwYzY1OGMuLjM2NjhlYTUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2RlYmNoYW5nZWxvZy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZGViY2hhbmdlbG9nLnZpbQpAQCAtNyw5ICs3LDcgQEAKICIgVVJMOiBodHRwczovL2Fub25zY20uZGViaWFuLm9yZy9jZ2l0L3BrZy12aW0vdmltLmdpdC9wbGFpbi9ydW50aW1lL3N5bnRheC9kZWJjaGFuZ2Vsb2cudmltCiAKICIgU3RhbmRhcmQgc3ludGF4IGluaXRpYWxpemF0aW9uCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTM2LDI4ICszNCwyMSBAQAogc3luIHJlZ2lvbiBkZWJjaGFuZ2Vsb2dFbnRyeSBzdGFydD0iXiAgIiBlbmQ9IiQiIGNvbnRhaW5zPWRlYmNoYW5nZWxvZ0Nsb3NlcyxkZWJjaGFuZ2Vsb2dMUCBvbmVsaW5lCiAKICIgQXNzb2NpYXRlIG91ciBtYXRjaGVzIGFuZCByZWdpb25zIHdpdGggcHJldHR5IGNvbG91cnMKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kZWJjaGFuZ2Vsb2dfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZGViY2hhbmdlbG9nX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgZGViY2hhbmdlbG9nSGVhZGVyCQlFcnJvcgotICBIaUxpbmsgZGViY2hhbmdlbG9nRm9vdGVyCQlJZGVudGlmaWVyCi0gIEhpTGluayBkZWJjaGFuZ2Vsb2dFbnRyeQkJTm9ybWFsCi0gIEhpTGluayBkZWJjaGFuZ2Vsb2dDbG9zZXMJCVN0YXRlbWVudAotICBIaUxpbmsgZGViY2hhbmdlbG9nTFAJCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGRlYmNoYW5nZWxvZ0ZpcnN0S1YJCUlkZW50aWZpZXIKLSAgSGlMaW5rIGRlYmNoYW5nZWxvZ090aGVyS1YJCUlkZW50aWZpZXIKLSAgSGlMaW5rIGRlYmNoYW5nZWxvZ05hbWUJCUNvbW1lbnQKLSAgSGlMaW5rIGRlYmNoYW5nZWxvZ1ZlcnNpb24JCUlkZW50aWZpZXIKLSAgSGlMaW5rIGRlYmNoYW5nZWxvZ1RhcmdldAkJSWRlbnRpZmllcgotICBIaUxpbmsgZGViY2hhbmdlbG9nRW1haWwJCVNwZWNpYWwKK0hpTGluayBkZWJjaGFuZ2Vsb2dIZWFkZXIJCUVycm9yCitIaUxpbmsgZGViY2hhbmdlbG9nRm9vdGVyCQlJZGVudGlmaWVyCitIaUxpbmsgZGViY2hhbmdlbG9nRW50cnkJCU5vcm1hbAorSGlMaW5rIGRlYmNoYW5nZWxvZ0Nsb3NlcwkJU3RhdGVtZW50CitIaUxpbmsgZGViY2hhbmdlbG9nTFAJCQlTdGF0ZW1lbnQKK0hpTGluayBkZWJjaGFuZ2Vsb2dGaXJzdEtWCQlJZGVudGlmaWVyCitIaUxpbmsgZGViY2hhbmdlbG9nT3RoZXJLVgkJSWRlbnRpZmllcgorSGlMaW5rIGRlYmNoYW5nZWxvZ05hbWUJCUNvbW1lbnQKK0hpTGluayBkZWJjaGFuZ2Vsb2dWZXJzaW9uCQlJZGVudGlmaWVyCitIaUxpbmsgZGViY2hhbmdlbG9nVGFyZ2V0CQlJZGVudGlmaWVyCitIaUxpbmsgZGViY2hhbmdlbG9nRW1haWwJCVNwZWNpYWwKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImRlYmNoYW5nZWxvZyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZGViY29udHJvbC52aW0gYi9ydW50aW1lL3N5bnRheC9kZWJjb250cm9sLnZpbQppbmRleCA0ZmI1M2E1Li40ZDM1NGM0IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9kZWJjb250cm9sLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9kZWJjb250cm9sLnZpbQpAQCAtNyw5ICs3LDcgQEAKICIgVVJMOiBodHRwczovL2Fub25zY20uZGViaWFuLm9yZy9jZ2l0L3BrZy12aW0vdmltLmdpdC9wbGFpbi9ydW50aW1lL3N5bnRheC9kZWJjb250cm9sLnZpbQogCiAiIFN0YW5kYXJkIHN5bnRheCBpbml0aWFsaXphdGlvbgotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC04NiwzNyArODQsMzAgQEAKIHN5biByZWdpb24gZGViY29udHJvbE11bHRpRmllbGRTcGVsbCBzdGFydD0iXlwlKERlc2NyaXB0aW9uXCk6IiBza2lwPSJeICIgZW5kPSJeJCJtZT1zLTEgZW5kPSJeW14gI10ibWU9cy0xIGNvbnRhaW5zPWRlYmNvbnRyb2xLZXksZGViY29udHJvbEVtYWlsLGRlYmNvbnRyb2xWYXJpYWJsZSxkZWJjb250cm9sQ29tbWVudCxAU3BlbGwKIAogIiBBc3NvY2lhdGUgb3VyIG1hdGNoZXMgYW5kIHJlZ2lvbnMgd2l0aCBwcmV0dHkgY29sb3VycwotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2RlYmNvbnRyb2xfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZGViY29udHJvbF9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGRlYmNvbnRyb2xLZXkJCUtleXdvcmQKLSAgSGlMaW5rIGRlYmNvbnRyb2xGaWVsZAlOb3JtYWwKLSAgSGlMaW5rIGRlYmNvbnRyb2xTdHJpY3RGaWVsZAlFcnJvcgotICBIaUxpbmsgZGViY29udHJvbERlcHJlY2F0ZWRLZXkJRXJyb3IKLSAgSGlMaW5rIGRlYmNvbnRyb2xNdWx0aUZpZWxkCU5vcm1hbAotICBIaUxpbmsgZGViY29udHJvbEFyY2hpdGVjdHVyZQlOb3JtYWwKLSAgSGlMaW5rIGRlYmNvbnRyb2xNdWx0aUFyY2gJTm9ybWFsCi0gIEhpTGluayBkZWJjb250cm9sTmFtZQkJTm9ybWFsCi0gIEhpTGluayBkZWJjb250cm9sUHJpb3JpdHkJTm9ybWFsCi0gIEhpTGluayBkZWJjb250cm9sU2VjdGlvbglOb3JtYWwKLSAgSGlMaW5rIGRlYmNvbnRyb2xQYWNrYWdlVHlwZQlOb3JtYWwKLSAgSGlMaW5rIGRlYmNvbnRyb2xWYXJpYWJsZQlJZGVudGlmaWVyCi0gIEhpTGluayBkZWJjb250cm9sRW1haWwJSWRlbnRpZmllcgotICBIaUxpbmsgZGViY29udHJvbFZjc1N2bglJZGVudGlmaWVyCi0gIEhpTGluayBkZWJjb250cm9sVmNzQ3ZzCUlkZW50aWZpZXIKLSAgSGlMaW5rIGRlYmNvbnRyb2xWY3NHaXQJSWRlbnRpZmllcgotICBIaUxpbmsgZGViY29udHJvbEhUVFBVcmwJSWRlbnRpZmllcgotICBIaUxpbmsgZGViY29udHJvbERtVXBsb2FkCUlkZW50aWZpZXIKLSAgSGlMaW5rIGRlYmNvbnRyb2xDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIGRlYmNvbnRyb2xFbHNlCQlTcGVjaWFsCitIaUxpbmsgZGViY29udHJvbEtleQkJS2V5d29yZAorSGlMaW5rIGRlYmNvbnRyb2xGaWVsZAlOb3JtYWwKK0hpTGluayBkZWJjb250cm9sU3RyaWN0RmllbGQJRXJyb3IKK0hpTGluayBkZWJjb250cm9sRGVwcmVjYXRlZEtleQlFcnJvcgorSGlMaW5rIGRlYmNvbnRyb2xNdWx0aUZpZWxkCU5vcm1hbAorSGlMaW5rIGRlYmNvbnRyb2xBcmNoaXRlY3R1cmUJTm9ybWFsCitIaUxpbmsgZGViY29udHJvbE11bHRpQXJjaAlOb3JtYWwKK0hpTGluayBkZWJjb250cm9sTmFtZQkJTm9ybWFsCitIaUxpbmsgZGViY29udHJvbFByaW9yaXR5CU5vcm1hbAorSGlMaW5rIGRlYmNvbnRyb2xTZWN0aW9uCU5vcm1hbAorSGlMaW5rIGRlYmNvbnRyb2xQYWNrYWdlVHlwZQlOb3JtYWwKK0hpTGluayBkZWJjb250cm9sVmFyaWFibGUJSWRlbnRpZmllcgorSGlMaW5rIGRlYmNvbnRyb2xFbWFpbAlJZGVudGlmaWVyCitIaUxpbmsgZGViY29udHJvbFZjc1N2bglJZGVudGlmaWVyCitIaUxpbmsgZGViY29udHJvbFZjc0N2cwlJZGVudGlmaWVyCitIaUxpbmsgZGViY29udHJvbFZjc0dpdAlJZGVudGlmaWVyCitIaUxpbmsgZGViY29udHJvbEhUVFBVcmwJSWRlbnRpZmllcgorSGlMaW5rIGRlYmNvbnRyb2xEbVVwbG9hZAlJZGVudGlmaWVyCitIaUxpbmsgZGViY29udHJvbENvbW1lbnQJQ29tbWVudAorSGlMaW5rIGRlYmNvbnRyb2xFbHNlCQlTcGVjaWFsCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkZWJjb250cm9sIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kZWJzb3VyY2VzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2RlYnNvdXJjZXMudmltCmluZGV4IGQzNWUyNDcuLjUzODM2MDIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2RlYnNvdXJjZXMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2RlYnNvdXJjZXMudmltCkBAIC02LDkgKzYsNyBAQAogIiBVUkw6IGh0dHBzOi8vYW5vbnNjbS5kZWJpYW4ub3JnL2NnaXQvcGtnLXZpbS92aW0uZ2l0L3BsYWluL3J1bnRpbWUvc3ludGF4L2RlYnNvdXJjZXMudmltCiAKICIgU3RhbmRhcmQgc3ludGF4IGluaXRpYWxpemF0aW9uCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2RlZi52aW0gYi9ydW50aW1lL3N5bnRheC9kZWYudmltCmluZGV4IDVlZmI0MWIuLmNmYWUyMTEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2RlZi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZGVmLnZpbQpAQCAtNSwxMSArNSw4IEBACiAiIExhc3QgQ2hhbmdlOgkkRGF0ZTogMjAwNy8xMC8wMiAxMzo1MToyNCAkCiAiICRSZXZpc2lvbjogMS4yICQKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTMyLDI1ICsyOSwxNyBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2RlZl9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9kZWZfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBkZWZDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIGRlZktleXdvcmQJS2V5d29yZAotICBIaUxpbmsgZGVmU3RvcmFnZQlTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rIGRlZlN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIGRlZk51bWJlcglOdW1iZXIKLSAgSGlMaW5rIGRlZk9yZGluYWwJT3BlcmF0b3IKK0hpTGluayBkZWZDb21tZW50CUNvbW1lbnQKK0hpTGluayBkZWZLZXl3b3JkCUtleXdvcmQKK0hpTGluayBkZWZTdG9yYWdlCVN0b3JhZ2VDbGFzcworSGlMaW5rIGRlZlN0cmluZwlTdHJpbmcKK0hpTGluayBkZWZOdW1iZXIJTnVtYmVyCitIaUxpbmsgZGVmT3JkaW5hbAlPcGVyYXRvcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZGVmIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kZXNjLnZpbSBiL3J1bnRpbWUvc3ludGF4L2Rlc2MudmltCmluZGV4IGNhNDcxNzYuLmZhMDE4OWEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2Rlc2MudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2Rlc2MudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJUmVuw6kgUmViZSA8cmVuZUBleGFjdGNvZGUuZGU+LCBQaW90ciBFc2Rlbi1UZW1wc2tpIDxlc2RlbkByb2NrbGludXgub3JnPgogIiBMYXN0IENoYW5nZToJMjAwNiBBdWcgMTQKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTYzLDQwICs2MCwzMSBAQAogCiBzeW4gcmVnaW9uIGRlc2NUYWdSZWdpb24gc3RhcnQ9L15cW1woTFx8TElDRU5TRVwpXF0vIGVuZD0vJC8gY29udGFpbnM9ZGVzY1RhZyxkZXNjTGljZW5zZQogCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kZXNjX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2Rlc2Nfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBkZXNjRmxhZwkJSWRlbnRpZmllcgotICBIaUxpbmsgZGVzY0xpY2Vuc2UJCUlkZW50aWZpZXIKLSAgSGlMaW5rIGRlc2NDYXRlZ29yeQkJSWRlbnRpZmllcgorSGlMaW5rIGRlc2NGbGFnCQlJZGVudGlmaWVyCitIaUxpbmsgZGVzY0xpY2Vuc2UJCUlkZW50aWZpZXIKK0hpTGluayBkZXNjQ2F0ZWdvcnkJCUlkZW50aWZpZXIKIAotICBIaUxpbmsgZGVzY1RhZwkJVHlwZQotICBIaUxpbmsgZGVzY1VybAkJVW5kZXJsaW5lZAotICBIaUxpbmsgZGVzY0VtYWlsCQlVbmRlcmxpbmVkCitIaUxpbmsgZGVzY1RhZwkJVHlwZQorSGlMaW5rIGRlc2NVcmwJCVVuZGVybGluZWQKK0hpTGluayBkZXNjRW1haWwJCVVuZGVybGluZWQKIAotICAiIHByaW9yaXR5IHRhZyBjb2xvcnMKLSAgSGlMaW5rIGRlc2NJbnN0YWxsWAkJQm9vbGVhbgotICBIaUxpbmsgZGVzY0luc3RhbGxPCQlUeXBlCi0gIEhpTGluayBkZXNjRGFzaAkJT3BlcmF0b3IKLSAgSGlMaW5rIGRlc2NEaWdpdAkJTnVtYmVyCi0gIEhpTGluayBkZXNjQ29tcGlsZVByaW9yaXR5CU51bWJlcgorIiBwcmlvcml0eSB0YWcgY29sb3JzCitIaUxpbmsgZGVzY0luc3RhbGxYCQlCb29sZWFuCitIaUxpbmsgZGVzY0luc3RhbGxPCQlUeXBlCitIaUxpbmsgZGVzY0Rhc2gJCU9wZXJhdG9yCitIaUxpbmsgZGVzY0RpZ2l0CQlOdW1iZXIKK0hpTGluayBkZXNjQ29tcGlsZVByaW9yaXR5CU51bWJlcgogCi0gICIgZG93bmxvYWQgdGFnIGNvbG9ycwotICBIaUxpbmsgZGVzY1N1bQkJTnVtYmVyCi0gIEhpTGluayBkZXNjVGFyYmFsbAkJVW5kZXJsaW5lZAorIiBkb3dubG9hZCB0YWcgY29sb3JzCitIaUxpbmsgZGVzY1N1bQkJTnVtYmVyCitIaUxpbmsgZGVzY1RhcmJhbGwJCVVuZGVybGluZWQKIAotICAiIHRhZyByZWdpb24gY29sb3JzCi0gIEhpTGluayBkZXNjVGV4dAkJQ29tbWVudAorIiB0YWcgcmVnaW9uIGNvbG9ycworSGlMaW5rIGRlc2NUZXh0CQlDb21tZW50CiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkZXNjIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZGVza3RvcC52aW0gYi9ydW50aW1lL3N5bnRheC9kZXNrdG9wLnZpbQppbmRleCAyN2RhYzVjLi5lZmFiNmQ1IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9kZXNrdG9wLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9kZXNrdG9wLnZpbQpAQCAtNywxMSArNyw4IEBACiAiIAkJKGFkZGVkICJLZXl3b3JkcyIpCiAiIFZlcnNpb24gSW5mbzogZGVza3RvcC52aW0gMC45LjQtMS4yCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0Jc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgIGZpbmlzaAogZW5kaWYKIApAQCAtNzksNDEgKzc2LDMzIEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZGVza3RvcF9zeW50YXhfaW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9kb3Npbmlfc3ludGF4X2luaXRzID0gMQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotCWVsc2UKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0JZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0JSGlMaW5rIGR0R3JvdXAJCSBTcGVjaWFsCi0JSGlMaW5rIGR0Q29tbWVudAkgQ29tbWVudAotCUhpTGluayBkdERlbGltCQkgU3RyaW5nCitIaUxpbmsgZHRHcm91cAkJIFNwZWNpYWwKK0hpTGluayBkdENvbW1lbnQJIENvbW1lbnQKK0hpTGluayBkdERlbGltCQkgU3RyaW5nCiAKLQlIaUxpbmsgZHRMb2NhbGVLZXkJIFR5cGUKLQlIaUxpbmsgZHRMb2NhbGVOYW1lCSBJZGVudGlmaWVyCi0JSGlMaW5rIGR0WExvY2FsZQkgSWRlbnRpZmllcgotCUhpTGluayBkdEFMb2NhbGUJIElkZW50aWZpZXIKK0hpTGluayBkdExvY2FsZUtleQkgVHlwZQorSGlMaW5rIGR0TG9jYWxlTmFtZQkgSWRlbnRpZmllcgorSGlMaW5rIGR0WExvY2FsZQkgSWRlbnRpZmllcgorSGlMaW5rIGR0QUxvY2FsZQkgSWRlbnRpZmllcgogCi0JSGlMaW5rIGR0TnVtZXJpY0tleQkgVHlwZQorSGlMaW5rIGR0TnVtZXJpY0tleQkgVHlwZQogCi0JSGlMaW5rIGR0Qm9vbGVhbktleQkgVHlwZQotCUhpTGluayBkdEJvb2xlYW5WYWx1ZQkgQ29uc3RhbnQKK0hpTGluayBkdEJvb2xlYW5LZXkJIFR5cGUKK0hpTGluayBkdEJvb2xlYW5WYWx1ZQkgQ29uc3RhbnQKIAotCUhpTGluayBkdFN0cmluZ0tleQkgVHlwZQorSGlMaW5rIGR0U3RyaW5nS2V5CSBUeXBlCiAKLQlIaUxpbmsgZHRFeGVjS2V5CSBUeXBlCi0JSGlMaW5rIGR0RXhlY1BhcmFtCSBTcGVjaWFsCi0JSGlMaW5rIGR0VHlwZUtleQkgVHlwZQotCUhpTGluayBkdFR5cGVWYWx1ZQkgQ29uc3RhbnQKLQlIaUxpbmsgZHROb3RTdExhYmVsCSBUeXBlCi0JSGlMaW5rIGR0WEFkZEtleQkgVHlwZQorSGlMaW5rIGR0RXhlY0tleQkgVHlwZQorSGlMaW5rIGR0RXhlY1BhcmFtCSBTcGVjaWFsCitIaUxpbmsgZHRUeXBlS2V5CSBUeXBlCitIaUxpbmsgZHRUeXBlVmFsdWUJIENvbnN0YW50CitIaUxpbmsgZHROb3RTdExhYmVsCSBUeXBlCitIaUxpbmsgZHRYQWRkS2V5CSBUeXBlCiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImRlc2t0b3AiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2RpdmEudmltIGIvcnVudGltZS9zeW50YXgvZGl2YS52aW0KaW5kZXggNzg2NjhmZC4uMDJmYzQ2ZCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZGl2YS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZGl2YS52aW0KQEAgLTExLDExICsxMSw3IEBACiAiIERvbid0IHJlbW92ZSBhbnkgb2xkIHN5bnRheCBzdHVmZiBoYW5naW5nIGFyb3VuZCEgV2UgbmVlZCBzdHVmZgogIiBmcm9tIHNraWxsLnZpbS4KIGlmICFleGlzdHMoImRpZF9za2lsbF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNjAwCi0Jc28gPHNmaWxlPjpwOmgvc2tpbGwudmltCi0gIGVsc2UKLSAgICBydW50aW1lISBzeW50YXgvc2tpbGwudmltCi0gIGVuZGlmCisgIHJ1bnRpbWUhIHN5bnRheC9za2lsbC52aW0KIGVuZGlmCiAKIHN5biBrZXl3b3JkIGRpdmFEUkNLZXl3b3JkcwkJYXJlYSBlbmMgbm90Y2ggb3ZscCBzZXAgd2lkdGgKQEAgLTgxLDI5ICs3NywyMSBAQAogc3luIG1hdGNoIGRpdmFHZW9tRnVuY3Rpb25zCQkiXDxnZW9tXHVcYVwrXCg0NVx8OTBcKVw9KCJoZT1lLTEKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZGl2YV9zeW50YXhfaW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9kaXZhX3N5bnRheF9pbml0cyA9IDEKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLQllbHNlCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotCWVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCUhpTGluayBkaXZhRFJDS2V5d29yZHMJCVN0YXRlbWVudAotCUhpTGluayBkaXZhTWVhc0tleXdvcmRzCQlTdGF0ZW1lbnQKLQlIaUxpbmsgZGl2YUN0cmxGdW5jdGlvbnMJQ29uZGl0aW9uYWwKLQlIaUxpbmsgZGl2YUV4dEZ1bmN0aW9ucwkJRnVuY3Rpb24KLQlIaUxpbmsgZGl2YURSQ0Z1bmN0aW9ucwkJRnVuY3Rpb24KLQlIaUxpbmsgZGl2YUZ1bmN0aW9ucwkJRnVuY3Rpb24KLQlIaUxpbmsgZGl2YUxheWVyRnVuY3Rpb25zCUZ1bmN0aW9uCi0JSGlMaW5rIGRpdmFDaGtGdW5jdGlvbnMJCUZ1bmN0aW9uCi0JSGlMaW5rIGRpdmFMVlNGdW5jdGlvbnMJCUZ1bmN0aW9uCi0JSGlMaW5rIGRpdmFHZW9tRnVuY3Rpb25zCUZ1bmN0aW9uCitIaUxpbmsgZGl2YURSQ0tleXdvcmRzCQlTdGF0ZW1lbnQKK0hpTGluayBkaXZhTWVhc0tleXdvcmRzCQlTdGF0ZW1lbnQKK0hpTGluayBkaXZhQ3RybEZ1bmN0aW9ucwlDb25kaXRpb25hbAorSGlMaW5rIGRpdmFFeHRGdW5jdGlvbnMJCUZ1bmN0aW9uCitIaUxpbmsgZGl2YURSQ0Z1bmN0aW9ucwkJRnVuY3Rpb24KK0hpTGluayBkaXZhRnVuY3Rpb25zCQlGdW5jdGlvbgorSGlMaW5rIGRpdmFMYXllckZ1bmN0aW9ucwlGdW5jdGlvbgorSGlMaW5rIGRpdmFDaGtGdW5jdGlvbnMJCUZ1bmN0aW9uCitIaUxpbmsgZGl2YUxWU0Z1bmN0aW9ucwkJRnVuY3Rpb24KK0hpTGluayBkaXZhR2VvbUZ1bmN0aW9ucwlGdW5jdGlvbgogCi0JZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkaXZhIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kamFuZ28udmltIGIvcnVudGltZS9zeW50YXgvZGphbmdvLnZpbQppbmRleCBkYTMxNWFjLi5hNzEwNGQzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9kamFuZ28udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2RqYW5nby52aW0KQEAgLTMsMTEgKzMsOCBAQAogIiBNYWludGFpbmVyOglEYXZlIEhvZGRlciA8ZG1oQGRtaC5vcmcudWs+CiAiIExhc3QgQ2hhbmdlOgkyMDE0IEp1bCAxMwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNjgsMjkgKzY1LDIxIEBACiBzeW4gcmVnaW9uIGRqYW5nb0NvbUJsb2NrIHN0YXJ0PSJ7IyIgZW5kPSIjfSIgY29udGFpbnM9ZGphbmdvVG9kbwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kamFuZ29fc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZGphbmdvX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgZGphbmdvVGFnQmxvY2sgUHJlUHJvYwotICBIaUxpbmsgZGphbmdvVmFyQmxvY2sgUHJlUHJvYwotICBIaUxpbmsgZGphbmdvU3RhdGVtZW50IFN0YXRlbWVudAotICBIaUxpbmsgZGphbmdvRmlsdGVyIElkZW50aWZpZXIKLSAgSGlMaW5rIGRqYW5nb0FyZ3VtZW50IENvbnN0YW50Ci0gIEhpTGluayBkamFuZ29UYWdFcnJvciBFcnJvcgotICBIaUxpbmsgZGphbmdvVmFyRXJyb3IgRXJyb3IKLSAgSGlMaW5rIGRqYW5nb0Vycm9yIEVycm9yCi0gIEhpTGluayBkamFuZ29Db21tZW50IENvbW1lbnQKLSAgSGlMaW5rIGRqYW5nb0NvbUJsb2NrIENvbW1lbnQKLSAgSGlMaW5rIGRqYW5nb1RvZG8gVG9kbworSGlMaW5rIGRqYW5nb1RhZ0Jsb2NrIFByZVByb2MKK0hpTGluayBkamFuZ29WYXJCbG9jayBQcmVQcm9jCitIaUxpbmsgZGphbmdvU3RhdGVtZW50IFN0YXRlbWVudAorSGlMaW5rIGRqYW5nb0ZpbHRlciBJZGVudGlmaWVyCitIaUxpbmsgZGphbmdvQXJndW1lbnQgQ29uc3RhbnQKK0hpTGluayBkamFuZ29UYWdFcnJvciBFcnJvcgorSGlMaW5rIGRqYW5nb1ZhckVycm9yIEVycm9yCitIaUxpbmsgZGphbmdvRXJyb3IgRXJyb3IKK0hpTGluayBkamFuZ29Db21tZW50IENvbW1lbnQKK0hpTGluayBkamFuZ29Db21CbG9jayBDb21tZW50CitIaUxpbmsgZGphbmdvVG9kbyBUb2RvCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkamFuZ28iCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kbnNtYXNxLnZpbSBiL3J1bnRpbWUvc3ludGF4L2Ruc21hc3EudmltCmluZGV4IDlmYTMyMDcuLmE0Y2M4YjUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2Ruc21hc3EudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2Ruc21hc3EudmltCkBAIC0yMCwxMCArMjAsOCBAQAogIgkJZW5kaWYKICIKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLWlmIHY6dmVyc2lvbiA8IDYwMAotICAgIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpIHx8ICZjb21wYXRpYmxlCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikgfHwgJmNvbXBhdGlibGUKICAgICBmaW5pc2gKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2RvY2JrLnZpbSBiL3J1bnRpbWUvc3ludGF4L2RvY2JrLnZpbQppbmRleCBmYzY3OWVlLi4zYmM4MDQ5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9kb2Niay52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZG9jYmsudmltCkBAIC0xMywxMSArMTMsOCBAQAogIiAgIGh0dHA6Ly93d3cub3Blbi1vYXNpcy5vcmcvZG9jYm9vay8KICIKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE3NCwyNiArMTcxLDE3IEBACiBzeW4gcmVnaW9uIGRvY2JrQ2l0ZSAgIHN0YXJ0PSI8Y2l0YXRpb24+ImxjPTEwIGVuZD0iPC9jaXRhdGlvbj4ibWU9ZS0xMSBjb250YWlucz14bWxSZWdpb24seG1sRW50aXR5LHNnbWxSZWdpb24sc2dtbEVudGl0eSBrZWVwZW5kCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2RvY2JrX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2RvY2JrX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgIGhpIERvY2JrQm9sZCB0ZXJtPWJvbGQgY3Rlcm09Ym9sZCBndWk9Ym9sZAotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gICAgaGkgZGVmIERvY2JrQm9sZCB0ZXJtPWJvbGQgY3Rlcm09Ym9sZCBndWk9Ym9sZAotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CitoaSBkZWYgRG9jYmtCb2xkIHRlcm09Ym9sZCBjdGVybT1ib2xkIGd1aT1ib2xkCiAKLSAgSGlMaW5rIGRvY2JrS2V5d29yZAlTdGF0ZW1lbnQKLSAgSGlMaW5rIGRvY2JrUmVnaW9uCURvY2JrQm9sZAotICBIaUxpbmsgZG9jYmtUaXRsZQlUaXRsZQotICBIaUxpbmsgZG9jYmtSZW1hcmsJQ29tbWVudAotICBIaUxpbmsgZG9jYmtDaXRlCUNvbnN0YW50CitIaUxpbmsgZG9jYmtLZXl3b3JkCVN0YXRlbWVudAorSGlMaW5rIGRvY2JrUmVnaW9uCURvY2JrQm9sZAorSGlMaW5rIGRvY2JrVGl0bGUJVGl0bGUKK0hpTGluayBkb2Nia1JlbWFyawlDb21tZW50CitIaUxpbmsgZG9jYmtDaXRlCUNvbnN0YW50CiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkb2NiayIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZG9zYmF0Y2gudmltIGIvcnVudGltZS9zeW50YXgvZG9zYmF0Y2gudmltCmluZGV4IGQ5YjFhYTYuLmI3ZjQ5Y2EgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2Rvc2JhdGNoLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9kb3NiYXRjaC52aW0KQEAgLTksMTEgKzksOCBAQAogIiBkb3NiYXRjaF9jbWRleHR2ZXJzaW9uCS0gMSA9IFdpbmRvd3MgTlQsIDIgPSBXaW5kb3dzIDIwMDAgW2RlZmF1bHRdCiAiCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMTEsNDkgKzEwOCw0MSBAQAogc3luIGtleXdvcmQgZG9zYmF0Y2hJbXBsaWNpdCAgICB2b2wgeGNvcHkKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZG9zYmF0Y2hfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZG9zYmF0Y2hfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBkb3NiYXRjaFRvZG8JCVRvZG8KK0hpTGluayBkb3NiYXRjaFRvZG8JCVRvZG8KIAotICBIaUxpbmsgZG9zYmF0Y2hTdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluayBkb3NiYXRjaENvbW1hbmRzCWRvc2JhdGNoU3RhdGVtZW50Ci0gIEhpTGluayBkb3NiYXRjaExhYmVsCQlMYWJlbAotICBIaUxpbmsgZG9zYmF0Y2hDb25kaXRpb25hbAlDb25kaXRpb25hbAotICBIaUxpbmsgZG9zYmF0Y2hSZXBlYXQJCVJlcGVhdAorSGlMaW5rIGRvc2JhdGNoU3RhdGVtZW50CVN0YXRlbWVudAorSGlMaW5rIGRvc2JhdGNoQ29tbWFuZHMJZG9zYmF0Y2hTdGF0ZW1lbnQKK0hpTGluayBkb3NiYXRjaExhYmVsCQlMYWJlbAorSGlMaW5rIGRvc2JhdGNoQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayBkb3NiYXRjaFJlcGVhdAkJUmVwZWF0CiAKLSAgSGlMaW5rIGRvc2JhdGNoT3BlcmF0b3IgICAgICAgT3BlcmF0b3IKLSAgSGlMaW5rIGRvc2JhdGNoRWNob09wZXJhdG9yICAgZG9zYmF0Y2hPcGVyYXRvcgotICBIaUxpbmsgZG9zYmF0Y2hJZk9wZXJhdG9yICAgICBkb3NiYXRjaE9wZXJhdG9yCitIaUxpbmsgZG9zYmF0Y2hPcGVyYXRvciAgICAgICBPcGVyYXRvcgorSGlMaW5rIGRvc2JhdGNoRWNob09wZXJhdG9yICAgZG9zYmF0Y2hPcGVyYXRvcgorSGlMaW5rIGRvc2JhdGNoSWZPcGVyYXRvciAgICAgZG9zYmF0Y2hPcGVyYXRvcgogCi0gIEhpTGluayBkb3NiYXRjaEFyZ3VtZW50CUlkZW50aWZpZXIKLSAgSGlMaW5rIGRvc2JhdGNoSWRlbnRpZmllciAgICAgSWRlbnRpZmllcgotICBIaUxpbmsgZG9zYmF0Y2hWYXJpYWJsZQlkb3NiYXRjaElkZW50aWZpZXIKK0hpTGluayBkb3NiYXRjaEFyZ3VtZW50CUlkZW50aWZpZXIKK0hpTGluayBkb3NiYXRjaElkZW50aWZpZXIgICAgIElkZW50aWZpZXIKK0hpTGluayBkb3NiYXRjaFZhcmlhYmxlCWRvc2JhdGNoSWRlbnRpZmllcgogCi0gIEhpTGluayBkb3NiYXRjaFNwZWNpYWxDaGFyCVNwZWNpYWxDaGFyCi0gIEhpTGluayBkb3NiYXRjaFN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBkb3NiYXRjaE51bWJlcgkJTnVtYmVyCi0gIEhpTGluayBkb3NiYXRjaEludGVnZXIJZG9zYmF0Y2hOdW1iZXIKLSAgSGlMaW5rIGRvc2JhdGNoSGV4CQlkb3NiYXRjaE51bWJlcgotICBIaUxpbmsgZG9zYmF0Y2hCaW5hcnkJCWRvc2JhdGNoTnVtYmVyCi0gIEhpTGluayBkb3NiYXRjaE9jdGFsCQlkb3NiYXRjaE51bWJlcgorSGlMaW5rIGRvc2JhdGNoU3BlY2lhbENoYXIJU3BlY2lhbENoYXIKK0hpTGluayBkb3NiYXRjaFN0cmluZwkJU3RyaW5nCitIaUxpbmsgZG9zYmF0Y2hOdW1iZXIJCU51bWJlcgorSGlMaW5rIGRvc2JhdGNoSW50ZWdlcglkb3NiYXRjaE51bWJlcgorSGlMaW5rIGRvc2JhdGNoSGV4CQlkb3NiYXRjaE51bWJlcgorSGlMaW5rIGRvc2JhdGNoQmluYXJ5CQlkb3NiYXRjaE51bWJlcgorSGlMaW5rIGRvc2JhdGNoT2N0YWwJCWRvc2JhdGNoTnVtYmVyCiAKLSAgSGlMaW5rIGRvc2JhdGNoQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBkb3NiYXRjaEltcGxpY2l0CUZ1bmN0aW9uCitIaUxpbmsgZG9zYmF0Y2hDb21tZW50CUNvbW1lbnQKK0hpTGluayBkb3NiYXRjaEltcGxpY2l0CUZ1bmN0aW9uCiAKLSAgSGlMaW5rIGRvc2JhdGNoU3dpdGNoCQlTcGVjaWFsCitIaUxpbmsgZG9zYmF0Y2hTd2l0Y2gJCVNwZWNpYWwKIAotICBIaUxpbmsgZG9zYmF0Y2hDbWQJCVByZVByb2MKK0hpTGluayBkb3NiYXRjaENtZAkJUHJlUHJvYwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZG9zYmF0Y2giCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2Rvc2luaS52aW0gYi9ydW50aW1lL3N5bnRheC9kb3NpbmkudmltCmluZGV4IGU0NzRmMjEuLjJkODA4NmIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2Rvc2luaS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZG9zaW5pLnZpbQpAQCAtOSwxMSArOSw4IEBACiAiIExhc3QgQ2hhbmdlOiAgICAgICAgICAgIDIwMTEgTm92IDgKIAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjgsMjMgKzI1LDE1IEBACiBzeW4gbWF0Y2ggIGRvc2luaUNvbW1lbnQgICJeWyM7XS4qJCIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZG9zaW5pX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2Rvc2luaV9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGRvc2luaU51bWJlciAgIE51bWJlcgotICBIaUxpbmsgZG9zaW5pSGVhZGVyICAgU3BlY2lhbAotICBIaUxpbmsgZG9zaW5pQ29tbWVudCAgQ29tbWVudAotICBIaUxpbmsgZG9zaW5pTGFiZWwgICAgVHlwZQorSGlMaW5rIGRvc2luaU51bWJlciAgIE51bWJlcgorSGlMaW5rIGRvc2luaUhlYWRlciAgIFNwZWNpYWwKK0hpTGluayBkb3NpbmlDb21tZW50ICBDb21tZW50CitIaUxpbmsgZG9zaW5pTGFiZWwgICAgVHlwZQogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZG9zaW5pIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kb3QudmltIGIvcnVudGltZS9zeW50YXgvZG90LnZpbQppbmRleCA0Y2M2ZjRmLi5lNmE1ZDlhIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9kb3QudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2RvdC52aW0KQEAgLTYsMTEgKzYsOCBAQAogIiBMYXN0IENoYW5nZTogIDIwMTEgTWF5IDE3IC0gaW1wcm92ZWQgaWRlbnRpZmllciBtYXRjaGluZyArIHR3byBuZXcga2V5d29yZHMKICIgICAgICAgICAgICAgICAyMDAxIE1heSAwNCAtIGluaXRpYWwgdmVyc2lvbgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNzQsMzYgKzcxLDI4IEBACiBzeW4gc3luYyBtYXhsaW5lcz01MDAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZG90X3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2RvdF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGRvdFBhckVycgkgRXJyb3IKLSAgSGlMaW5rIGRvdEJyYWNlRXJyCSBFcnJvcgotICBIaUxpbmsgZG90QnJhY2tFcnIJIEVycm9yCitIaUxpbmsgZG90UGFyRXJyCSBFcnJvcgorSGlMaW5rIGRvdEJyYWNlRXJyCSBFcnJvcgorSGlMaW5rIGRvdEJyYWNrRXJyCSBFcnJvcgogCi0gIEhpTGluayBkb3RDb21tZW50CSBDb21tZW50Ci0gIEhpTGluayBkb3RUb2RvCSBUb2RvCitIaUxpbmsgZG90Q29tbWVudAkgQ29tbWVudAorSGlMaW5rIGRvdFRvZG8JIFRvZG8KIAotICBIaUxpbmsgZG90UGFyRW5jbAkgS2V5d29yZAotICBIaUxpbmsgZG90QnJhY2tFbmNsCSBLZXl3b3JkCi0gIEhpTGluayBkb3RCcmFjZUVuY2wJIEtleXdvcmQKK0hpTGluayBkb3RQYXJFbmNsCSBLZXl3b3JkCitIaUxpbmsgZG90QnJhY2tFbmNsCSBLZXl3b3JkCitIaUxpbmsgZG90QnJhY2VFbmNsCSBLZXl3b3JkCiAKLSAgSGlMaW5rIGRvdEtleXdvcmQJIEtleXdvcmQKLSAgSGlMaW5rIGRvdFR5cGUJIFR5cGUKLSAgSGlMaW5rIGRvdEtleUNoYXIJIEtleXdvcmQKK0hpTGluayBkb3RLZXl3b3JkCSBLZXl3b3JkCitIaUxpbmsgZG90VHlwZQkgVHlwZQorSGlMaW5rIGRvdEtleUNoYXIJIEtleXdvcmQKIAotICBIaUxpbmsgZG90U3RyaW5nCSBTdHJpbmcKLSAgSGlMaW5rIGRvdElkZW50aWZpZXIJIElkZW50aWZpZXIKK0hpTGluayBkb3RTdHJpbmcJIFN0cmluZworSGlMaW5rIGRvdElkZW50aWZpZXIJIElkZW50aWZpZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImRvdCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZHJhY3VsYS52aW0gYi9ydW50aW1lL3N5bnRheC9kcmFjdWxhLnZpbQppbmRleCA2YTM4MDYwLi5iNjBlNDg0IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9kcmFjdWxhLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9kcmFjdWxhLnZpbQpAQCAtOCwxMSArOCw4IEBACiAiCQl0aGUgcHVycG9zZXMgb2YgRGVzaWduIFJ1bGUgQ2hlY2tpbmcsIExheW91dCB2cy4gU2NoZW1hdGljCiAiCQl2ZXJpZmljYXRpb24sIGFuZCBMYXlvdXQgUGFyYW1ldGVyIEV4dHJhY3Rpb24uCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC02MSwyNCArNTgsMTYgQEAKIHN5biBzeW5jIGxpbmVzPTUwCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2RyYWN1bGFfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZHJhY3VsYV9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGRyYWN1bGFJZGVudGlmaWVyIElkZW50aWZpZXIKLSAgSGlMaW5rIGRyYWN1bGFTdGF0ZW1lbnQgIFN0YXRlbWVudAotICBIaUxpbmsgZHJhY3VsYVR5cGUgICAgICAgVHlwZQotICBIaUxpbmsgZHJhY3VsYUNvbW1lbnQgICAgQ29tbWVudAotICBIaUxpbmsgZHJhY3VsYVByZVByb2MgICAgUHJlUHJvYworSGlMaW5rIGRyYWN1bGFJZGVudGlmaWVyIElkZW50aWZpZXIKK0hpTGluayBkcmFjdWxhU3RhdGVtZW50ICBTdGF0ZW1lbnQKK0hpTGluayBkcmFjdWxhVHlwZSAgICAgICBUeXBlCitIaUxpbmsgZHJhY3VsYUNvbW1lbnQgICAgQ29tbWVudAorSGlMaW5rIGRyYWN1bGFQcmVQcm9jICAgIFByZVByb2MKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImRyYWN1bGEiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2R0ZC52aW0gYi9ydW50aW1lL3N5bnRheC9kdGQudmltCmluZGV4IDAwMWRiYmQuLmUwMGM3MGQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2R0ZC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZHRkLnZpbQpAQCAtMTI2LDQxICsxMjYsMzMgQEAKIHN5biBzeW5jIGxpbmVzPTI1MAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kdGRfc3luX2luaXRzIikKLSAgICBpZiB2ZXJzaW9uIDwgNTA4Ci0JbGV0IGRpZF9kdGRfc3luX2luaXRzID0gMQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICAgZWxzZQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICAgIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAgICIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotICAgIEhpTGluayBkdGRGdW5jdGlvbgkJRnVuY3Rpb24KLSAgICBIaUxpbmsgZHRkVGFnCQlOb3JtYWwKLSAgICBIaUxpbmsgZHRkVHlwZQkJVHlwZQotICAgIEhpTGluayBkdGRBdHRyVHlwZQkJZHRkVHlwZQotICAgIEhpTGluayBkdGRBdHRyRGVmCQlkdGRUeXBlCi0gICAgSGlMaW5rIGR0ZENvbnN0YW50CQlDb25zdGFudAotICAgIEhpTGluayBkdGRTdHJpbmcJCWR0ZENvbnN0YW50Ci0gICAgSGlMaW5rIGR0ZEVudW0JCWR0ZENvbnN0YW50Ci0gICAgSGlMaW5rIGR0ZENhcmQJCWR0ZEZ1bmN0aW9uCisiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KK0hpTGluayBkdGRGdW5jdGlvbgkJRnVuY3Rpb24KK0hpTGluayBkdGRUYWcJCU5vcm1hbAorSGlMaW5rIGR0ZFR5cGUJCVR5cGUKK0hpTGluayBkdGRBdHRyVHlwZQkJZHRkVHlwZQorSGlMaW5rIGR0ZEF0dHJEZWYJCWR0ZFR5cGUKK0hpTGluayBkdGRDb25zdGFudAkJQ29uc3RhbnQKK0hpTGluayBkdGRTdHJpbmcJCWR0ZENvbnN0YW50CitIaUxpbmsgZHRkRW51bQkJZHRkQ29uc3RhbnQKK0hpTGluayBkdGRDYXJkCQlkdGRGdW5jdGlvbgogCi0gICAgSGlMaW5rIGR0ZEVudGl0eQkJU3RhdGVtZW50Ci0gICAgSGlMaW5rIGR0ZEVudGl0eVB1bmN0CWR0ZFR5cGUKLSAgICBIaUxpbmsgZHRkUGFyYW1FbnRpdHlJbnN0CWR0ZENvbnN0YW50Ci0gICAgSGlMaW5rIGR0ZFBhcmFtRW50aXR5UHVuY3QJZHRkVHlwZQotICAgIEhpTGluayBkdGRQYXJhbUVudGl0eURlY2wJZHRkVHlwZQotICAgIEhpTGluayBkdGRQYXJhbUVudGl0eURQdW5jdCBkdGRDb21tZW50CitIaUxpbmsgZHRkRW50aXR5CQlTdGF0ZW1lbnQKK0hpTGluayBkdGRFbnRpdHlQdW5jdAlkdGRUeXBlCitIaUxpbmsgZHRkUGFyYW1FbnRpdHlJbnN0CWR0ZENvbnN0YW50CitIaUxpbmsgZHRkUGFyYW1FbnRpdHlQdW5jdAlkdGRUeXBlCitIaUxpbmsgZHRkUGFyYW1FbnRpdHlEZWNsCWR0ZFR5cGUKK0hpTGluayBkdGRQYXJhbUVudGl0eURQdW5jdCBkdGRDb21tZW50CiAKLSAgICBIaUxpbmsgZHRkQ29tbWVudAkJQ29tbWVudAotICAgIEhpTGluayBkdGRUYWdOYW1lCQlTdGF0ZW1lbnQKLSAgICBIaUxpbmsgZHRkRXJyb3IJCUVycm9yCi0gICAgSGlMaW5rIGR0ZFRvZG8JCVRvZG8KK0hpTGluayBkdGRDb21tZW50CQlDb21tZW50CitIaUxpbmsgZHRkVGFnTmFtZQkJU3RhdGVtZW50CitIaUxpbmsgZHRkRXJyb3IJCUVycm9yCitIaUxpbmsgZHRkVG9kbwkJVG9kbwogCi0gICAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgJmNwbyA9IHM6ZHRkX2Nwb19zYXZlCiB1bmxldCBzOmR0ZF9jcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZHRtbC52aW0gYi9ydW50aW1lL3N5bnRheC9kdG1sLnZpbQppbmRleCA3ZGU3MjJhLi4wY2MyNzI5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9kdG1sLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9kdG1sLnZpbQpAQCAtOSwyMCArOSwxMyBAQAogIiBoYWNrZWQgb3V0IG9mIHRoZSBab3BlIFF1aWNrIFJlZmVyZW5jZSBpbiBjYXNlIHNvbWVvbmUgZmluZHMgc29tZXRoaW5nCiAiIHNlbnNpYmxlIHRvIGRvIHdpdGggdGhlbS4gSSBjZXJ0YWlubHkgaGF2ZW4ndC4KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKICIgRmlyc3QgbG9hZCB0aGUgSFRNTCBzeW50YXgKLWlmIHZlcnNpb24gPCA2MDAKLSAgc291cmNlIDxzZmlsZT46cDpoL2h0bWwudmltCi1lbHNlCi0gIHJ1bnRpbWUhIHN5bnRheC9odG1sLnZpbQotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9odG1sLnZpbQogCiBzeW4gY2FzZSBtYXRjaAogCkBAIC0xOTYsMjUgKzE4OSwxNyBAQAogc3luIG1hdGNoICAgaHRtbFRhZ04gICAgIGNvbnRhaW5lZCArPC9ccypbLWEtekEtWjAtOV1cKytocz1zKzIgY29udGFpbnM9aHRtbFRhZ05hbWUsaHRtbFNwZWNpYWxUYWdOYW1lLGR0bWxJc1RhZyxkdG1sQXR0cmlidXRlLGR0bWxNZXRob2QsQGh0bWxUYWdOYW1lQ2x1c3RlcgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kdG1sX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2R0bWxfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBkdG1sSXNUYWcJCQlQcmVQcm9jCi0gIEhpTGluayBkdG1sQXR0cmlidXRlCQlJZGVudGlmaWVyCi0gIEhpTGluayBkdG1sTWV0aG9kCQkJRnVuY3Rpb24KLSAgSGlMaW5rIGR0bWxDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBkdG1sVE9ETwkJCVRvZG8KLSAgSGlMaW5rIGR0bWxTcGVjaWFsQ2hhciAgICBTcGVjaWFsCitIaUxpbmsgZHRtbElzVGFnCQkJUHJlUHJvYworSGlMaW5rIGR0bWxBdHRyaWJ1dGUJCUlkZW50aWZpZXIKK0hpTGluayBkdG1sTWV0aG9kCQkJRnVuY3Rpb24KK0hpTGluayBkdG1sQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGR0bWxUT0RPCQkJVG9kbworSGlMaW5rIGR0bWxTcGVjaWFsQ2hhciAgICBTcGVjaWFsCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJkdG1sIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kdHJhY2UudmltIGIvcnVudGltZS9zeW50YXgvZHRyYWNlLnZpbQppbmRleCAyZjJkNmUyLi4zOTJmYTFjIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9kdHJhY2UudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2R0cmFjZS52aW0KQEAgLTEwLDE5ICsxMCwxNCBAQAogIiBodHRwOi8vc3JjLm9wZW5zb2xhcmlzLm9yZy9zb3VyY2UveHJlZi9vbm52L29ubnYtZ2F0ZS91c3Ivc3JjL2xpYi9saWJkdHJhY2UvY29tbW9uL2R0X2xleC5sCiAiIGh0dHA6Ly9zcmMub3BlbnNvbGFyaXMub3JnL3NvdXJjZS94cmVmL29ubnYvb25udi1nYXRlL3Vzci9zcmMvbGliL2xpYmR0cmFjZS9jb21tb24vZHRfZ3JhbW1hci55CiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKICIgUmVhZCB0aGUgQyBzeW50YXggdG8gc3RhcnQgd2l0aAotaWYgdmVyc2lvbiA8IDYwMAotICBzbyA8c2ZpbGU+OnA6aC9jLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvYy52aW0KLSAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9jLnZpbQordW5sZXQgYjpjdXJyZW50X3N5bnRheAogCiBzeW4gY2xlYXIgY0NvbW1lbnRMICAiIGR0cmFjZSBkb2Vzbid0IHN1cHBvcnQgLy8gc3R5bGUgY29tbWVudHMKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZHlsYW4udmltIGIvcnVudGltZS9zeW50YXgvZHlsYW4udmltCmluZGV4IDE0MjYyZDUuLjk1Njg0ZTUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2R5bGFuLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9keWxhbi52aW0KQEAgLTgsMjEgKzgsMTQgQEAKICIgc3ludGF4IGZpbGVzLgogCiAiIFBhcnQgMTogIFN5bnRheCBkZWZpbml0aW9uCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAogc3luIGNhc2UgaWdub3JlCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc2V0IGxpc3AKLWVsc2UKLSAgc2V0bG9jYWwgbGlzcAotZW5kaWYKK3NldGxvY2FsIGxpc3AKIAogIiBIaWdobGlnaHQgc3BlY2lhbCBjaGFyYWN0ZXJzICh0aG9zZSB0aGF0IGhhdmUgYmFja3NsYXNoZXMpIGRpZmZlcmVudGx5CiBzeW4gbWF0Y2gJZHlsYW5TcGVjaWFsCQlkaXNwbGF5IGNvbnRhaW5lZCAiXFxcKHhceFwrXHxcb1x7MSwzfVx8Llx8JFwpIgpAQCAtNjcsNDIgKzYwLDM0IEBACiBzeW4gcmVnaW9uCWR5bGFuSGVhZGVyCXN0YXJ0PSJeW01tXW9kdWxlOiIgZW5kPSJeJCIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZHlsYW5fc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZHlsYW5fc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBkeWxhbkJsb2NrCQlQcmVQcm9jCi0gIEhpTGluayBkeWxhbkJvb2xlYW4JCUJvb2xlYW4KLSAgSGlMaW5rIGR5bGFuQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKLSAgSGlMaW5rIGR5bGFuQ2xhc3MJCVN0cnVjdHVyZQotICBIaUxpbmsgZHlsYW5DbGFzc01vZHMJCVN0b3JhZ2VDbGFzcwotICBIaUxpbmsgZHlsYW5Db21tZW50CQlDb21tZW50Ci0gIEhpTGluayBkeWxhbkNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluayBkeWxhbkNvbnN0YW50CQlDb25zdGFudAotICBIaUxpbmsgZHlsYW5FeGNlcHRpb24JCUV4Y2VwdGlvbgotICBIaUxpbmsgZHlsYW5IZWFkZXIJCU1hY3JvCi0gIEhpTGluayBkeWxhbkltcG9ydAkJSW5jbHVkZQotICBIaUxpbmsgZHlsYW5MYWJlbAkJTGFiZWwKLSAgSGlMaW5rIGR5bGFuTWlzY01vZHMJCVN0b3JhZ2VDbGFzcwotICBIaUxpbmsgZHlsYW5OdW1iZXIJCU51bWJlcgotICBIaUxpbmsgZHlsYW5PdGhlcgkJS2V5d29yZAotICBIaUxpbmsgZHlsYW5PcGVyYXRvcgkJT3BlcmF0b3IKLSAgSGlMaW5rIGR5bGFuUGFyYW1EZWZzCQlLZXl3b3JkCi0gIEhpTGluayBkeWxhblByZWNvbmRpdAkJUHJlQ29uZGl0Ci0gIEhpTGluayBkeWxhblJlcGVhdAkJUmVwZWF0Ci0gIEhpTGluayBkeWxhblNpbXBsZURlZnMJS2V5d29yZAotICBIaUxpbmsgZHlsYW5TdGF0ZW1lbnQJCU1hY3JvCi0gIEhpTGluayBkeWxhblN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBkeWxhblZhcmlhYmxlCQlJZGVudGlmaWVyCitIaUxpbmsgZHlsYW5CbG9jawkJUHJlUHJvYworSGlMaW5rIGR5bGFuQm9vbGVhbgkJQm9vbGVhbgorSGlMaW5rIGR5bGFuQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKK0hpTGluayBkeWxhbkNsYXNzCQlTdHJ1Y3R1cmUKK0hpTGluayBkeWxhbkNsYXNzTW9kcwkJU3RvcmFnZUNsYXNzCitIaUxpbmsgZHlsYW5Db21tZW50CQlDb21tZW50CitIaUxpbmsgZHlsYW5Db25kaXRpb25hbAlDb25kaXRpb25hbAorSGlMaW5rIGR5bGFuQ29uc3RhbnQJCUNvbnN0YW50CitIaUxpbmsgZHlsYW5FeGNlcHRpb24JCUV4Y2VwdGlvbgorSGlMaW5rIGR5bGFuSGVhZGVyCQlNYWNybworSGlMaW5rIGR5bGFuSW1wb3J0CQlJbmNsdWRlCitIaUxpbmsgZHlsYW5MYWJlbAkJTGFiZWwKK0hpTGluayBkeWxhbk1pc2NNb2RzCQlTdG9yYWdlQ2xhc3MKK0hpTGluayBkeWxhbk51bWJlcgkJTnVtYmVyCitIaUxpbmsgZHlsYW5PdGhlcgkJS2V5d29yZAorSGlMaW5rIGR5bGFuT3BlcmF0b3IJCU9wZXJhdG9yCitIaUxpbmsgZHlsYW5QYXJhbURlZnMJCUtleXdvcmQKK0hpTGluayBkeWxhblByZWNvbmRpdAkJUHJlQ29uZGl0CitIaUxpbmsgZHlsYW5SZXBlYXQJCVJlcGVhdAorSGlMaW5rIGR5bGFuU2ltcGxlRGVmcwlLZXl3b3JkCitIaUxpbmsgZHlsYW5TdGF0ZW1lbnQJCU1hY3JvCitIaUxpbmsgZHlsYW5TdHJpbmcJCVN0cmluZworSGlMaW5rIGR5bGFuVmFyaWFibGUJCUlkZW50aWZpZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImR5bGFuIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9keWxhbmludHIudmltIGIvcnVudGltZS9zeW50YXgvZHlsYW5pbnRyLnZpbQppbmRleCAxMWVmODE2Li5hYWYyZDc0IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9keWxhbmludHIudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2R5bGFuaW50ci52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiBMYXN0IENoYW5nZToJRnJpIFNlcCAyOSAxMzo1MzoyNyBQRFQgMjAwMAogIgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjYsMjYgKzIzLDE4IEBACiAic3luIGtleXdvcmQgaW50ck1vZHMgcG9pbnRlciBzdHJ1Y3QKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZHlsYW5faW50cl9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9keWxhbl9pbnRyX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgZHlsYW5pbnRySW5mbwkJU3BlY2lhbAotICBIaUxpbmsgZHlsYW5pbnRySW50ZXJmYWNlCU9wZXJhdG9yCi0gIEhpTGluayBkeWxhbmludHJNb2RzCQlUeXBlCi0gIEhpTGluayBkeWxhbmludHJDbGFzcwkJU3RvcmFnZUNsYXNzCi0gIEhpTGluayBkeWxhbmludHJUeXBlCQlUeXBlCi0gIEhpTGluayBkeWxhbmludHJJbmNsdWRlZAlTdHJpbmcKLSAgSGlMaW5rIGR5bGFuaW50ckluY2x1ZGUJSW5jbHVkZQorSGlMaW5rIGR5bGFuaW50ckluZm8JCVNwZWNpYWwKK0hpTGluayBkeWxhbmludHJJbnRlcmZhY2UJT3BlcmF0b3IKK0hpTGluayBkeWxhbmludHJNb2RzCQlUeXBlCitIaUxpbmsgZHlsYW5pbnRyQ2xhc3MJCVN0b3JhZ2VDbGFzcworSGlMaW5rIGR5bGFuaW50clR5cGUJCVR5cGUKK0hpTGluayBkeWxhbmludHJJbmNsdWRlZAlTdHJpbmcKK0hpTGluayBkeWxhbmludHJJbmNsdWRlCUluY2x1ZGUKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImR5bGFuaW50ciIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZHlsYW5saWQudmltIGIvcnVudGltZS9zeW50YXgvZHlsYW5saWQudmltCmluZGV4IGVjN2I0MDEuLmM3ZDI2NjQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2R5bGFubGlkLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9keWxhbmxpZC52aW0KQEAgLTUsMTEgKzUsOCBAQAogIiBMYXN0IENoYW5nZToJRnJpIFNlcCAyOSAxMzo1MDoyMCBQRFQgMjAwMAogIgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjEsMjEgKzE4LDEzIEBACiBzeW4gc3luYwlsaW5lcz01MAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9keWxhbl9saWRfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZHlsYW5fbGlkX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgZHlsYW5saWRJbmZvCQlUeXBlCi0gIEhpTGluayBkeWxhbmxpZEVudHJ5CQlTdHJpbmcKK0hpTGluayBkeWxhbmxpZEluZm8JCVR5cGUKK0hpTGluayBkeWxhbmxpZEVudHJ5CQlTdHJpbmcKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImR5bGFubGlkIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9lY2QudmltIGIvcnVudGltZS9zeW50YXgvZWNkLnZpbQppbmRleCBmZmY3YTRiLi43MjhjZjI4IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9lY2QudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2VjZC52aW0KQEAgLTgsMTAgKzgsOCBAQAogIiBUaGlzIHN5bnRheCBmaWxlIHdhcyBkZXJpdmVkIGZyb20gYXBhY2hlc3R5bGUudmltCiAiIGJ5IENocmlzdGlhbiBIYW1tZXJzIDxjaEB3ZXN0ZW5kLmNvbT4KIAotIiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTMxLDI2ICsyOSwxOCBAQAogc3luIG1hdGNoICBlY2RUYWdFcnJvcgljb250YWluZWQgIltePl08Im1zPXMrMQogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9lY2Rfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZWNkX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgZWNkQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBlY2RBdHRyCVR5cGUKLSAgSGlMaW5rIGVjZEF0dHJOCVN0YXRlbWVudAotICBIaUxpbmsgZWNkQXR0clYJVmFsdWUKLSAgSGlMaW5rIGVjZFRhZwkJRnVuY3Rpb24KLSAgSGlMaW5rIGVjZFRhZ04JU3RhdGVtZW50Ci0gIEhpTGluayBlY2RUYWdFcnJvcglFcnJvcgorSGlMaW5rIGVjZENvbW1lbnQJQ29tbWVudAorSGlMaW5rIGVjZEF0dHIJVHlwZQorSGlMaW5rIGVjZEF0dHJOCVN0YXRlbWVudAorSGlMaW5rIGVjZEF0dHJWCVZhbHVlCitIaUxpbmsgZWNkVGFnCQlGdW5jdGlvbgorSGlMaW5rIGVjZFRhZ04JU3RhdGVtZW50CitIaUxpbmsgZWNkVGFnRXJyb3IJRXJyb3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImVjZCIKICIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9lZGlmLnZpbSBiL3J1bnRpbWUvc3ludGF4L2VkaWYudmltCmluZGV4IDBjMTc4MzQuLjIxYzdlYzcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2VkaWYudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2VkaWYudmltCkBAIC04LDE4ICs4LDEyIEBACiAiICAgSUVDIDYxNjkwLTEgKEVESUYgVmVyc2lvbiAzIDAgMCkKICIgICBJRUMgNjE2OTAtMiAoRURJRiBWZXJzaW9uIDQgMCAwKQogCi0iIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotaWYgdmVyc2lvbiA+PSA2MDAKLSBzZXRsb2NhbCBpc2tleXdvcmQ9NDgtNTcsLSwrLEEtWixhLXosXywmCi1lbHNlCi0gc2V0IGlza2V5d29yZD1BLVosYS16LF8sJgotZW5kaWYKK3NldGxvY2FsIGlza2V5d29yZD00OC01NywtLCssQS1aLGEteixfLCYKIAogc3luIHJlZ2lvbgllZGlmTGlzdAltYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iKCIgZW5kPSIpIiBjb250YWlucz1lZGlmTGlzdCxlZGlmS2V5d29yZCxlZGlmU3RyaW5nLGVkaWZOdW1iZXIKIApAQCAtMzcsMjggKzMxLDE3IEBACiBzeW4gbWF0Y2ggICAgICAgZWRpZkVycm9yICAgICAgICIpIgogCiAiIHN5bmNocm9uaXphdGlvbgotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggc3luYyBtYXhsaW5lcz0yNTAKLWVsc2UKLSAgc3ludGF4IHN5bmMgZnJvbXN0YXJ0Ci1lbmRpZgorc3ludGF4IHN5bmMgZnJvbXN0YXJ0CiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9lZGlmX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2VkaWZfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBlZGlmSW5TdHJpbmcJCVNwZWNpYWxDaGFyCi0gIEhpTGluayBlZGlmS2V5d29yZAkJS2V5d29yZAotICBIaUxpbmsgZWRpZk51bWJlcgkJTnVtYmVyCi0gIEhpTGluayBlZGlmSW5TdHJpbmdFcnJvcgllZGlmRXJyb3IKLSAgSGlMaW5rIGVkaWZFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIGVkaWZTdHJpbmcJCVN0cmluZwotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK0hpTGluayBlZGlmSW5TdHJpbmcJCVNwZWNpYWxDaGFyCitIaUxpbmsgZWRpZktleXdvcmQJCUtleXdvcmQKK0hpTGluayBlZGlmTnVtYmVyCQlOdW1iZXIKK0hpTGluayBlZGlmSW5TdHJpbmdFcnJvcgllZGlmRXJyb3IKK0hpTGluayBlZGlmRXJyb3IJCUVycm9yCitIaUxpbmsgZWRpZlN0cmluZwkJU3RyaW5nCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJlZGlmIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZWlmZmVsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2VpZmZlbC52aW0KaW5kZXggYTkxZjg1ZC4uMGVlNWVhMCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZWlmZmVsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9laWZmZWwudmltCkBAIC01LDExICs1LDggQEAKICIgQ29udHJpYnV0aW9ucyBmcm9tOiBUaGlsbyBTaXgKICIgCiAiIFVSTDogaHR0cHM6Ly9naXRodWIuY29tL2VpZmZlbGh1Yi92aW0tZWlmZmVsCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTQxLDY4ICsxMzgsNjAgQEAKIHN5biBzeW5jIGxpbmVzPTQwCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2VpZmZlbF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9laWZmZWxfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBlaWZmZWxLZXl3b3JkCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGVpZmZlbFByb3BlcnR5CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGVpZmZlbEluaGVyaXRDbGF1c2UJU3RhdGVtZW50Ci0gIEhpTGluayBlaWZmZWxTdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluayBlaWZmZWxEZWNsYXJhdGlvbglTdGF0ZW1lbnQKLSAgSGlMaW5rIGVpZmZlbEFzc2VydGlvbglTdGF0ZW1lbnQKLSAgSGlMaW5rIGVpZmZlbERlYnVnCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGVpZmZlbEV4Y2VwdGlvbglTdGF0ZW1lbnQKLSAgSGlMaW5rIGVpZmZlbEdlbmVyaWNDcmVhdGUJU3RhdGVtZW50CitIaUxpbmsgZWlmZmVsS2V5d29yZAkJU3RhdGVtZW50CitIaUxpbmsgZWlmZmVsUHJvcGVydHkJCVN0YXRlbWVudAorSGlMaW5rIGVpZmZlbEluaGVyaXRDbGF1c2UJU3RhdGVtZW50CitIaUxpbmsgZWlmZmVsU3RhdGVtZW50CVN0YXRlbWVudAorSGlMaW5rIGVpZmZlbERlY2xhcmF0aW9uCVN0YXRlbWVudAorSGlMaW5rIGVpZmZlbEFzc2VydGlvbglTdGF0ZW1lbnQKK0hpTGluayBlaWZmZWxEZWJ1ZwkJU3RhdGVtZW50CitIaUxpbmsgZWlmZmVsRXhjZXB0aW9uCVN0YXRlbWVudAorSGlMaW5rIGVpZmZlbEdlbmVyaWNDcmVhdGUJU3RhdGVtZW50CiAKLSAgSGlMaW5rIGVpZmZlbEFnZW50CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGVpZmZlbENvbnZlcnQJCVN0YXRlbWVudAorSGlMaW5rIGVpZmZlbEFnZW50CQlTdGF0ZW1lbnQKK0hpTGluayBlaWZmZWxDb252ZXJ0CQlTdGF0ZW1lbnQKIAotICBIaUxpbmsgZWlmZmVsVG9wU3RydWN0CVByZVByb2MKK0hpTGluayBlaWZmZWxUb3BTdHJ1Y3QJUHJlUHJvYwogCi0gIEhpTGluayBlaWZmZWxBbGwJCVNwZWNpYWwKLSAgSGlMaW5rIGVpZmZlbEFuY2hvcmVkCQlTcGVjaWFsCi0gIEhpTGluayBlaWZmZWxCaXRUeXBlCQlTcGVjaWFsCitIaUxpbmsgZWlmZmVsQWxsCQlTcGVjaWFsCitIaUxpbmsgZWlmZmVsQW5jaG9yZWQJCVNwZWNpYWwKK0hpTGluayBlaWZmZWxCaXRUeXBlCQlTcGVjaWFsCiAKIAotICBIaUxpbmsgZWlmZmVsQm9vbAkJQm9vbGVhbgotICBIaUxpbmsgZWlmZmVsU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIGVpZmZlbENoYXJhY3RlcglDaGFyYWN0ZXIKLSAgSGlMaW5rIGVpZmZlbENsYXNzTmFtZQlUeXBlCi0gIEhpTGluayBlaWZmZWxOdW1iZXIJCU51bWJlcgorSGlMaW5rIGVpZmZlbEJvb2wJCUJvb2xlYW4KK0hpTGluayBlaWZmZWxTdHJpbmcJCVN0cmluZworSGlMaW5rIGVpZmZlbENoYXJhY3RlcglDaGFyYWN0ZXIKK0hpTGluayBlaWZmZWxDbGFzc05hbWUJVHlwZQorSGlMaW5rIGVpZmZlbE51bWJlcgkJTnVtYmVyCiAKLSAgSGlMaW5rIGVpZmZlbFN0cmluZ0VzY2FwZQlTcGVjaWFsCitIaUxpbmsgZWlmZmVsU3RyaW5nRXNjYXBlCVNwZWNpYWwKIAotICBIaUxpbmsgZWlmZmVsT3BlcmF0b3IJCVNwZWNpYWwKLSAgSGlMaW5rIGVpZmZlbEFycmF5CQlTcGVjaWFsCi0gIEhpTGluayBlaWZmZWxFeHBvcnQJCVNwZWNpYWwKLSAgSGlMaW5rIGVpZmZlbENyZWF0aW9uCQlTcGVjaWFsCi0gIEhpTGluayBlaWZmZWxCcmFja2V0cwkJU3BlY2lhbAotICBIaUxpbmsgZWlmZmVsR2VuZXJpYwkJU3BlY2lhbAotICBIaUxpbmsgZWlmZmVsR2VuZXJpY0RlY2wJU3BlY2lhbAotICBIaUxpbmsgZWlmZmVsQ29uc3RyYWludAlTcGVjaWFsCi0gIEhpTGluayBlaWZmZWxDcmVhdGUJCVNwZWNpYWwKK0hpTGluayBlaWZmZWxPcGVyYXRvcgkJU3BlY2lhbAorSGlMaW5rIGVpZmZlbEFycmF5CQlTcGVjaWFsCitIaUxpbmsgZWlmZmVsRXhwb3J0CQlTcGVjaWFsCitIaUxpbmsgZWlmZmVsQ3JlYXRpb24JCVNwZWNpYWwKK0hpTGluayBlaWZmZWxCcmFja2V0cwkJU3BlY2lhbAorSGlMaW5rIGVpZmZlbEdlbmVyaWMJCVNwZWNpYWwKK0hpTGluayBlaWZmZWxHZW5lcmljRGVjbAlTcGVjaWFsCitIaUxpbmsgZWlmZmVsQ29uc3RyYWludAlTcGVjaWFsCitIaUxpbmsgZWlmZmVsQ3JlYXRlCQlTcGVjaWFsCiAKLSAgSGlMaW5rIGVpZmZlbFByZWRlZmluZWQJQ29uc3RhbnQKK0hpTGluayBlaWZmZWxQcmVkZWZpbmVkCUNvbnN0YW50CiAKLSAgSGlMaW5rIGVpZmZlbENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBlaWZmZWxDb21tZW50CQlDb21tZW50CiAKLSAgSGlMaW5rIGVpZmZlbEVycm9yCQlFcnJvcgotICBIaUxpbmsgZWlmZmVsQmFkQ29uc3RhbnQJRXJyb3IKLSAgSGlMaW5rIGVpZmZlbFN0cmluZ0Vycm9yCUVycm9yCi0gIEhpTGluayBlaWZmZWxQYXJlbkVycm9yCUVycm9yCi0gIEhpTGluayBlaWZmZWxCcmFja2V0RXJyb3IJRXJyb3IKK0hpTGluayBlaWZmZWxFcnJvcgkJRXJyb3IKK0hpTGluayBlaWZmZWxCYWRDb25zdGFudAlFcnJvcgorSGlMaW5rIGVpZmZlbFN0cmluZ0Vycm9yCUVycm9yCitIaUxpbmsgZWlmZmVsUGFyZW5FcnJvcglFcnJvcgorSGlMaW5rIGVpZmZlbEJyYWNrZXRFcnJvcglFcnJvcgogCi0gIEhpTGluayBlaWZmZWxUb2RvCQlUb2RvCitIaUxpbmsgZWlmZmVsVG9kbwkJVG9kbwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZWlmZmVsIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9lbGYudmltIGIvcnVudGltZS9zeW50YXgvZWxmLnZpbQppbmRleCA2MjFlMDYzLi43ODM1ZjU1IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9lbGYudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2VsZi52aW0KQEAgLTEwLDExICsxMCw4IEBACiAiICAgICAgVGhpcyBpcyB0aGUgQXBwbGl4IEluYy4sIE1hY3JvIGFuZCBCdWlsZGVyIHByb2dyYW1taW5nIGxhbmd1YWdlLgogIiAgICAgIEl0IGhhcyBub3RoaW5nIGluIGNvbW1vbiB3aXRoIHRoZSBiaW5hcnkgZm9ybWF0IGNhbGxlZCBFTEYuCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0Jc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogCWZpbmlzaAogZW5kaWYKIApAQCAtNjMsMzIgKzYwLDI0IEBACiBzeW4gbWF0Y2ggZWxmUHVuY3QgIlssO10iCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2VsZl9zeW5faW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9lbGZfc3luX2luaXRzID0gMQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotCWVsc2UKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyLgotICBIaUxpbmsgZWxmQ29tbWVudCBDb21tZW50Ci0gIEhpTGluayBlbGZQUENvbSBJbmNsdWRlCi0gIEhpTGluayBlbGZLZXl3b3JkIEtleXdvcmQKLSAgSGlMaW5rIGVsZlNwZWNpYWwgU3BlY2lhbAotICBIaUxpbmsgZWxmRW52aXJvbm1lbnQgU3BlY2lhbAotICBIaUxpbmsgZWxmQnJhY2VFcnJvciBFcnJvcgotICBIaUxpbmsgZWxmQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKLSAgSGlMaW5rIGVsZk1hY3JvIEZ1bmN0aW9uCi0gIEhpTGluayBlbGZOdW1iZXIgTnVtYmVyCi0gIEhpTGluayBlbGZTdHJpbmcgU3RyaW5nCi0gIEhpTGluayBlbGZQYXJlbnMgRGVsaW1pdGVyCi0gIEhpTGluayBlbGZQdW5jdCBEZWxpbWl0ZXIKKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlci4KK0hpTGluayBlbGZDb21tZW50IENvbW1lbnQKK0hpTGluayBlbGZQUENvbSBJbmNsdWRlCitIaUxpbmsgZWxmS2V5d29yZCBLZXl3b3JkCitIaUxpbmsgZWxmU3BlY2lhbCBTcGVjaWFsCitIaUxpbmsgZWxmRW52aXJvbm1lbnQgU3BlY2lhbAorSGlMaW5rIGVsZkJyYWNlRXJyb3IgRXJyb3IKK0hpTGluayBlbGZDb25kaXRpb25hbCBDb25kaXRpb25hbAorSGlMaW5rIGVsZk1hY3JvIEZ1bmN0aW9uCitIaUxpbmsgZWxmTnVtYmVyIE51bWJlcgorSGlMaW5rIGVsZlN0cmluZyBTdHJpbmcKK0hpTGluayBlbGZQYXJlbnMgRGVsaW1pdGVyCitIaUxpbmsgZWxmUHVuY3QgRGVsaW1pdGVyCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJlbGYiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2VsbWZpbHQudmltIGIvcnVudGltZS9zeW50YXgvZWxtZmlsdC52aW0KaW5kZXggZTdkNWRmMi4uNTg1ODk0NiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZWxtZmlsdC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZWxtZmlsdC52aW0KQEAgLTUsMTEgKzUsOCBAQAogIiBWZXJzaW9uOgk2CiAiIFVSTDoJaHR0cDovL3d3dy5kcmNoaXAub3JnL2FzdHJvbmF1dC92aW0vaW5kZXguaHRtbCNTWU5UQVhfRUxNRklMVAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMzgsMzMgKzM1LDI1IEBACiBzeW4gbWF0Y2gJZWxtZmlsdFNwYWNlRXJyb3IJY29udGFpbmVkCSJccy4qJCIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZWxtZmlsdF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9lbG1maWx0X3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgZWxtZmlsdEFjdGlvbglTdGF0ZW1lbnQKLSAgSGlMaW5rIGVsbWZpbHRBcmcJU3BlY2lhbAotICBIaUxpbmsgZWxtZmlsdENvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgZWxtZmlsdENvbmQJU3RhdGVtZW50Ci0gIEhpTGluayBlbG1maWx0SWYJU3RhdGVtZW50Ci0gIEhpTGluayBlbG1maWx0TWF0Y2gJU3BlY2lhbAotICBIaUxpbmsgZWxtZmlsdE1hdGNoRXJyb3IJRXJyb3IKLSAgSGlMaW5rIGVsbWZpbHROdW1iZXIJTnVtYmVyCi0gIEhpTGluayBlbG1maWx0T3BlcglPcGVyYXRvcgotICBIaUxpbmsgZWxtZmlsdE9wZXJLZXkJVHlwZQotICBIaUxpbmsgZWxtZmlsdFBhcmVuRXJyb3IJRXJyb3IKLSAgSGlMaW5rIGVsbWZpbHRTcGFjZUVycm9yCUVycm9yCi0gIEhpTGluayBlbG1maWx0U3RyaW5nCVN0cmluZwotICBIaUxpbmsgZWxtZmlsdFRoZW5FcnJvcglFcnJvcgorSGlMaW5rIGVsbWZpbHRBY3Rpb24JU3RhdGVtZW50CitIaUxpbmsgZWxtZmlsdEFyZwlTcGVjaWFsCitIaUxpbmsgZWxtZmlsdENvbW1lbnQJQ29tbWVudAorSGlMaW5rIGVsbWZpbHRDb25kCVN0YXRlbWVudAorSGlMaW5rIGVsbWZpbHRJZglTdGF0ZW1lbnQKK0hpTGluayBlbG1maWx0TWF0Y2gJU3BlY2lhbAorSGlMaW5rIGVsbWZpbHRNYXRjaEVycm9yCUVycm9yCitIaUxpbmsgZWxtZmlsdE51bWJlcglOdW1iZXIKK0hpTGluayBlbG1maWx0T3BlcglPcGVyYXRvcgorSGlMaW5rIGVsbWZpbHRPcGVyS2V5CVR5cGUKK0hpTGluayBlbG1maWx0UGFyZW5FcnJvcglFcnJvcgorSGlMaW5rIGVsbWZpbHRTcGFjZUVycm9yCUVycm9yCitIaUxpbmsgZWxtZmlsdFN0cmluZwlTdHJpbmcKK0hpTGluayBlbG1maWx0VGhlbkVycm9yCUVycm9yCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJlbG1maWx0IgogIiB2aW06IHRzPTkKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2VybGFuZy52aW0gYi9ydW50aW1lL3N5bnRheC9lcmxhbmcudmltCmluZGV4IDAyNTk3ZTcuLmE0OWYyNGUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2VybGFuZy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZXJsYW5nLnZpbQpAQCAtMjgsMTEgKzI4LDggQEAKICIKICIgICAgIHN5biBrZXl3b3JkIGVybGFuZ0F0dHJpYnV0ZSBteWF0dHIxIG15YXR0cjIgY29udGFpbmVkCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgIGZpbmlzaAogZW5kaWYKIApAQCAtNDIsOSArMzksNyBAQAogIiBDYXNlIHNlbnNpdGl2ZQogc3luIGNhc2UgbWF0Y2gKIAotaWYgdmVyc2lvbiA+PSA2MDAKLSAgc2V0bG9jYWwgaXNrZXl3b3JkKz0kLEAtQAotZW5kaWYKK3NldGxvY2FsIGlza2V5d29yZCs9JCxALUAKIAogIiBDb21tZW50cwogc3luIG1hdGNoIGVybGFuZ0NvbW1lbnQgICAgICAgICAgICclLiokJyBjb250YWlucz1lcmxhbmdDb21tZW50QW5ub3RhdGlvbixlcmxhbmdUb2RvCkBAIC0xNDcsMTE2ICsxNDIsMTA4IEBACiBsZXQgczpvbGRfc3R5bGUgPSAoZXhpc3RzKCJnOmVybGFuZ19vbGRfc3R5bGVfaGlnaGxpZ2h0IikgJiYKICAgICAgICAgICAgICAgICAgIFxnOmVybGFuZ19vbGRfc3R5bGVfaGlnaGxpZ2h0ID09IDEpCiAKLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2VybGFuZ19pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2VybGFuZ19pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIENvbW1lbnRzCi0gIEhpTGluayBlcmxhbmdDb21tZW50IENvbW1lbnQKLSAgSGlMaW5rIGVybGFuZ0NvbW1lbnRBbm5vdGF0aW9uIFNwZWNpYWwKLSAgSGlMaW5rIGVybGFuZ1RvZG8gVG9kbwotICBIaUxpbmsgZXJsYW5nU2hlYmFuZyBDb21tZW50CisiIENvbW1lbnRzCitIaUxpbmsgZXJsYW5nQ29tbWVudCBDb21tZW50CitIaUxpbmsgZXJsYW5nQ29tbWVudEFubm90YXRpb24gU3BlY2lhbAorSGlMaW5rIGVybGFuZ1RvZG8gVG9kbworSGlMaW5rIGVybGFuZ1NoZWJhbmcgQ29tbWVudAogCi0gICIgTnVtYmVycwotICBIaUxpbmsgZXJsYW5nTnVtYmVySW50ZWdlciBOdW1iZXIKLSAgSGlMaW5rIGVybGFuZ051bWJlckZsb2F0IEZsb2F0CisiIE51bWJlcnMKK0hpTGluayBlcmxhbmdOdW1iZXJJbnRlZ2VyIE51bWJlcgorSGlMaW5rIGVybGFuZ051bWJlckZsb2F0IEZsb2F0CiAKLSAgIiBTdHJpbmdzLCBhdG9tcywgY2hhcmFjdGVycwotICBIaUxpbmsgZXJsYW5nU3RyaW5nIFN0cmluZworIiBTdHJpbmdzLCBhdG9tcywgY2hhcmFjdGVycworSGlMaW5rIGVybGFuZ1N0cmluZyBTdHJpbmcKIAotICBpZiBzOm9sZF9zdHlsZQotICAgIEhpTGluayBlcmxhbmdRdW90ZWRBdG9tIFR5cGUKLSAgZWxzZQotICAgIEhpTGluayBlcmxhbmdRdW90ZWRBdG9tIFN0cmluZwotICBlbmRpZgotCi0gIEhpTGluayBlcmxhbmdTdHJpbmdNb2RpZmllciBTcGVjaWFsCi0gIEhpTGluayBlcmxhbmdRdW90ZWRBdG9tTW9kaWZpZXIgU3BlY2lhbAotICBIaUxpbmsgZXJsYW5nTW9kaWZpZXIgU3BlY2lhbAotCi0gICIgT3BlcmF0b3JzLCBzZXBhcmF0b3JzCi0gIEhpTGluayBlcmxhbmdPcGVyYXRvciBPcGVyYXRvcgotICBIaUxpbmsgZXJsYW5nUmlnaHRBcnJvdyBPcGVyYXRvcgotICBpZiBzOm9sZF9zdHlsZQotICAgIEhpTGluayBlcmxhbmdCcmFja2V0IE5vcm1hbAotICAgIEhpTGluayBlcmxhbmdQaXBlIE5vcm1hbAotICBlbHNlCi0gICAgSGlMaW5rIGVybGFuZ0JyYWNrZXQgRGVsaW1pdGVyCi0gICAgSGlMaW5rIGVybGFuZ1BpcGUgRGVsaW1pdGVyCi0gIGVuZGlmCi0KLSAgIiBBdG9tcywgZnVuY3Rpb25zLCB2YXJpYWJsZXMsIG1hY3JvcwotICBpZiBzOm9sZF9zdHlsZQotICAgIEhpTGluayBlcmxhbmdBdG9tIE5vcm1hbAotICAgIEhpTGluayBlcmxhbmdMb2NhbEZ1bmNDYWxsIE5vcm1hbAotICAgIEhpTGluayBlcmxhbmdMb2NhbEZ1bmNSZWYgTm9ybWFsCi0gICAgSGlMaW5rIGVybGFuZ0dsb2JhbEZ1bmNDYWxsIEZ1bmN0aW9uCi0gICAgSGlMaW5rIGVybGFuZ0dsb2JhbEZ1bmNSZWYgRnVuY3Rpb24KLSAgICBIaUxpbmsgZXJsYW5nVmFyaWFibGUgTm9ybWFsCi0gICAgSGlMaW5rIGVybGFuZ01hY3JvIE5vcm1hbAotICAgIEhpTGluayBlcmxhbmdSZWNvcmQgTm9ybWFsCi0gIGVsc2UKLSAgICBIaUxpbmsgZXJsYW5nQXRvbSBTdHJpbmcKLSAgICBIaUxpbmsgZXJsYW5nTG9jYWxGdW5jQ2FsbCBOb3JtYWwKLSAgICBIaUxpbmsgZXJsYW5nTG9jYWxGdW5jUmVmIE5vcm1hbAotICAgIEhpTGluayBlcmxhbmdHbG9iYWxGdW5jQ2FsbCBOb3JtYWwKLSAgICBIaUxpbmsgZXJsYW5nR2xvYmFsRnVuY1JlZiBOb3JtYWwKLSAgICBIaUxpbmsgZXJsYW5nVmFyaWFibGUgSWRlbnRpZmllcgotICAgIEhpTGluayBlcmxhbmdNYWNybyBNYWNybwotICAgIEhpTGluayBlcmxhbmdSZWNvcmQgU3RydWN0dXJlCi0gIGVuZGlmCi0KLSAgIiBCaXRzdHJpbmdzCi0gIGlmICFzOm9sZF9zdHlsZQotICAgIEhpTGluayBlcmxhbmdCaXRUeXBlIFR5cGUKLSAgZW5kaWYKLQotICAiIENvbnN0YW50cyBhbmQgRGlyZWN0aXZlcwotICBpZiBzOm9sZF9zdHlsZQotICAgIEhpTGluayBlcmxhbmdBdHRyaWJ1dGUgVHlwZQotICAgIEhpTGluayBlcmxhbmdNYWNyb0RlZiBUeXBlCi0gICAgSGlMaW5rIGVybGFuZ1Vua25vd25BdHRyaWJ1dGUgTm9ybWFsCi0gICAgSGlMaW5rIGVybGFuZ0luY2x1ZGUgVHlwZQotICAgIEhpTGluayBlcmxhbmdSZWNvcmREZWYgVHlwZQotICAgIEhpTGluayBlcmxhbmdEZWZpbmUgVHlwZQotICAgIEhpTGluayBlcmxhbmdQcmVDb25kaXQgVHlwZQotICAgIEhpTGluayBlcmxhbmdUeXBlIFR5cGUKLSAgZWxzZQotICAgIEhpTGluayBlcmxhbmdBdHRyaWJ1dGUgS2V5d29yZAotICAgIEhpTGluayBlcmxhbmdNYWNyb0RlZiBNYWNybwotICAgIEhpTGluayBlcmxhbmdVbmtub3duQXR0cmlidXRlIE5vcm1hbAotICAgIEhpTGluayBlcmxhbmdJbmNsdWRlIEluY2x1ZGUKLSAgICBIaUxpbmsgZXJsYW5nUmVjb3JkRGVmIEtleXdvcmQKLSAgICBIaUxpbmsgZXJsYW5nRGVmaW5lIERlZmluZQotICAgIEhpTGluayBlcmxhbmdQcmVDb25kaXQgUHJlQ29uZGl0Ci0gICAgSGlMaW5rIGVybGFuZ1R5cGUgVHlwZQotICBlbmRpZgotCi0gICIgS2V5d29yZHMKLSAgSGlMaW5rIGVybGFuZ0tleXdvcmQgS2V5d29yZAotCi0gICIgQnVpbGQtaW4tZnVuY3Rpb25zIChCSUZzKQotICBIaUxpbmsgZXJsYW5nQklGIEZ1bmN0aW9uCi0KLSAgaWYgczpvbGRfc3R5bGUKLSAgICBIaUxpbmsgZXJsYW5nQm9vbGVhbiBTdGF0ZW1lbnQKLSAgICBIaUxpbmsgZXJsYW5nRXh0cmEgU3RhdGVtZW50Ci0gICAgSGlMaW5rIGVybGFuZ1NpZ25hbCBTdGF0ZW1lbnQKLSAgZWxzZQotICAgIEhpTGluayBlcmxhbmdCb29sZWFuIEJvb2xlYW4KLSAgICBIaUxpbmsgZXJsYW5nRXh0cmEgU3RhdGVtZW50Ci0gICAgSGlMaW5rIGVybGFuZ1NpZ25hbCBTdGF0ZW1lbnQKLSAgZW5kaWYKLQotICBkZWxjb21tYW5kIEhpTGluaworaWYgczpvbGRfc3R5bGUKK0hpTGluayBlcmxhbmdRdW90ZWRBdG9tIFR5cGUKK2Vsc2UKK0hpTGluayBlcmxhbmdRdW90ZWRBdG9tIFN0cmluZwogZW5kaWYKIAorSGlMaW5rIGVybGFuZ1N0cmluZ01vZGlmaWVyIFNwZWNpYWwKK0hpTGluayBlcmxhbmdRdW90ZWRBdG9tTW9kaWZpZXIgU3BlY2lhbAorSGlMaW5rIGVybGFuZ01vZGlmaWVyIFNwZWNpYWwKKworIiBPcGVyYXRvcnMsIHNlcGFyYXRvcnMKK0hpTGluayBlcmxhbmdPcGVyYXRvciBPcGVyYXRvcgorSGlMaW5rIGVybGFuZ1JpZ2h0QXJyb3cgT3BlcmF0b3IKK2lmIHM6b2xkX3N0eWxlCitIaUxpbmsgZXJsYW5nQnJhY2tldCBOb3JtYWwKK0hpTGluayBlcmxhbmdQaXBlIE5vcm1hbAorZWxzZQorSGlMaW5rIGVybGFuZ0JyYWNrZXQgRGVsaW1pdGVyCitIaUxpbmsgZXJsYW5nUGlwZSBEZWxpbWl0ZXIKK2VuZGlmCisKKyIgQXRvbXMsIGZ1bmN0aW9ucywgdmFyaWFibGVzLCBtYWNyb3MKK2lmIHM6b2xkX3N0eWxlCitIaUxpbmsgZXJsYW5nQXRvbSBOb3JtYWwKK0hpTGluayBlcmxhbmdMb2NhbEZ1bmNDYWxsIE5vcm1hbAorSGlMaW5rIGVybGFuZ0xvY2FsRnVuY1JlZiBOb3JtYWwKK0hpTGluayBlcmxhbmdHbG9iYWxGdW5jQ2FsbCBGdW5jdGlvbgorSGlMaW5rIGVybGFuZ0dsb2JhbEZ1bmNSZWYgRnVuY3Rpb24KK0hpTGluayBlcmxhbmdWYXJpYWJsZSBOb3JtYWwKK0hpTGluayBlcmxhbmdNYWNybyBOb3JtYWwKK0hpTGluayBlcmxhbmdSZWNvcmQgTm9ybWFsCitlbHNlCitIaUxpbmsgZXJsYW5nQXRvbSBTdHJpbmcKK0hpTGluayBlcmxhbmdMb2NhbEZ1bmNDYWxsIE5vcm1hbAorSGlMaW5rIGVybGFuZ0xvY2FsRnVuY1JlZiBOb3JtYWwKK0hpTGluayBlcmxhbmdHbG9iYWxGdW5jQ2FsbCBOb3JtYWwKK0hpTGluayBlcmxhbmdHbG9iYWxGdW5jUmVmIE5vcm1hbAorSGlMaW5rIGVybGFuZ1ZhcmlhYmxlIElkZW50aWZpZXIKK0hpTGluayBlcmxhbmdNYWNybyBNYWNybworSGlMaW5rIGVybGFuZ1JlY29yZCBTdHJ1Y3R1cmUKK2VuZGlmCisKKyIgQml0c3RyaW5ncworaWYgIXM6b2xkX3N0eWxlCitIaUxpbmsgZXJsYW5nQml0VHlwZSBUeXBlCitlbmRpZgorCisiIENvbnN0YW50cyBhbmQgRGlyZWN0aXZlcworaWYgczpvbGRfc3R5bGUKK0hpTGluayBlcmxhbmdBdHRyaWJ1dGUgVHlwZQorSGlMaW5rIGVybGFuZ01hY3JvRGVmIFR5cGUKK0hpTGluayBlcmxhbmdVbmtub3duQXR0cmlidXRlIE5vcm1hbAorSGlMaW5rIGVybGFuZ0luY2x1ZGUgVHlwZQorSGlMaW5rIGVybGFuZ1JlY29yZERlZiBUeXBlCitIaUxpbmsgZXJsYW5nRGVmaW5lIFR5cGUKK0hpTGluayBlcmxhbmdQcmVDb25kaXQgVHlwZQorSGlMaW5rIGVybGFuZ1R5cGUgVHlwZQorZWxzZQorSGlMaW5rIGVybGFuZ0F0dHJpYnV0ZSBLZXl3b3JkCitIaUxpbmsgZXJsYW5nTWFjcm9EZWYgTWFjcm8KK0hpTGluayBlcmxhbmdVbmtub3duQXR0cmlidXRlIE5vcm1hbAorSGlMaW5rIGVybGFuZ0luY2x1ZGUgSW5jbHVkZQorSGlMaW5rIGVybGFuZ1JlY29yZERlZiBLZXl3b3JkCitIaUxpbmsgZXJsYW5nRGVmaW5lIERlZmluZQorSGlMaW5rIGVybGFuZ1ByZUNvbmRpdCBQcmVDb25kaXQKK0hpTGluayBlcmxhbmdUeXBlIFR5cGUKK2VuZGlmCisKKyIgS2V5d29yZHMKK0hpTGluayBlcmxhbmdLZXl3b3JkIEtleXdvcmQKKworIiBCdWlsZC1pbi1mdW5jdGlvbnMgKEJJRnMpCitIaUxpbmsgZXJsYW5nQklGIEZ1bmN0aW9uCisKK2lmIHM6b2xkX3N0eWxlCitIaUxpbmsgZXJsYW5nQm9vbGVhbiBTdGF0ZW1lbnQKK0hpTGluayBlcmxhbmdFeHRyYSBTdGF0ZW1lbnQKK0hpTGluayBlcmxhbmdTaWduYWwgU3RhdGVtZW50CitlbHNlCitIaUxpbmsgZXJsYW5nQm9vbGVhbiBCb29sZWFuCitIaUxpbmsgZXJsYW5nRXh0cmEgU3RhdGVtZW50CitIaUxpbmsgZXJsYW5nU2lnbmFsIFN0YXRlbWVudAorZW5kaWYKKworZGVsY29tbWFuZCBIaUxpbmsKKwogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZXJsYW5nIgogCiBsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2VydWJ5LnZpbSBiL3J1bnRpbWUvc3ludGF4L2VydWJ5LnZpbQppbmRleCBjMjBiMDg2Li40ZTE3NWJjIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9lcnVieS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZXJ1YnkudmltCkBAIC0yMiw3ICsyMiw3IEBACiAgIGxldCBzOmxpbmVzID0gZ2V0bGluZSgxKS4iXG4iLmdldGxpbmUoMikuIlxuIi5nZXRsaW5lKDMpLiJcbiIuZ2V0bGluZSg0KS4iXG4iLmdldGxpbmUoNSkuIlxuIi5nZXRsaW5lKCIkIikKICAgbGV0IGI6ZXJ1Ynlfc3VidHlwZSA9IG1hdGNoc3RyKHM6bGluZXMsJ2VydWJ5X3N1YnR5cGU9XHpzXHdcKycpCiAgIGlmIGI6ZXJ1Ynlfc3VidHlwZSA9PSAnJwotICAgIGxldCBiOmVydWJ5X3N1YnR5cGUgPSBtYXRjaHN0cihzdWJzdGl0dXRlKGV4cGFuZCgiJTp0IiksJ1xjXCUoXC5lcmJcfFwuZXJ1YnlcfFwuZXJ1YmlzXClcKyQnLCcnLCcnKSwnXC5cenNcd1wrJCcpCisgICAgbGV0IGI6ZXJ1Ynlfc3VidHlwZSA9IG1hdGNoc3RyKHN1YnN0aXR1dGUoZXhwYW5kKCIlOnQiKSwnXGNcJShcLmVyYlx8XC5lcnVieVx8XC5lcnViaXNcKVwrJCcsJycsJycpLCdcLlx6c1x3XCtcJShcemUrXHdcK1wpXD0kJykKICAgZW5kaWYKICAgaWYgYjplcnVieV9zdWJ0eXBlID09ICdyaHRtbCcKICAgICBsZXQgYjplcnVieV9zdWJ0eXBlID0gJ2h0bWwnCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9lc210cHJjLnZpbSBiL3J1bnRpbWUvc3ludGF4L2VzbXRwcmMudmltCmluZGV4IGIyMmIxYTEuLjgxZjA3NGIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2VzbXRwcmMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2VzbXRwcmMudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJS29ybmVsIEtpZWxjemV3c2tpIDxrb3JuZWxAZ2F6ZXRhLnBsPgogIiBMYXN0IENoYW5nZToJMTYgRmViIDIwMDUKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2VzcWxjLnZpbSBiL3J1bnRpbWUvc3ludGF4L2VzcWxjLnZpbQppbmRleCA2YWQxNjdhLi5lYTM2ZDY2IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9lc3FsYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZXNxbGMudmltCkBAIC0zLDIwICszLDEzIEBACiAiIE1haW50YWluZXI6CUpvbmF0aGFuIEEuIEdlb3JnZSA8amFnZW9yZ2VAdGVsLmd0ZS5jb20+CiAiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAogIiBSZWFkIHRoZSBDKysgc3ludGF4IHRvIHN0YXJ0IHdpdGgKLWlmIHZlcnNpb24gPCA2MDAKLSAgc291cmNlIDxzZmlsZT46cDpoL2NwcC52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2NwcC52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvY3BwLnZpbQogCiAiIEVTUUwtQyBleHRlbnRpb25zCiAKQEAgLTUyLDI0ICs0NSwxNiBAQAogc3ludGF4IGtleXdvcmQgZXNxbGNTdGF0ZW1lbnQJdHJ1bmNhdGUgdXBkYXRlCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2VzcWxjX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2VzcWxjX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgZXNxbGNPcGVyYXRvcglPcGVyYXRvcgotICBIaUxpbmsgZXNxbGNTdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluayBlc3FsY0tleXdvcmQJZXNxbGNTcGVjaWFsCi0gIEhpTGluayBlc3FsY1NwZWNpYWwJU3BlY2lhbAotICBIaUxpbmsgZXNxbGNQcmVQcm9jCVByZVByb2MKK0hpTGluayBlc3FsY09wZXJhdG9yCU9wZXJhdG9yCitIaUxpbmsgZXNxbGNTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgZXNxbGNLZXl3b3JkCWVzcWxjU3BlY2lhbAorSGlMaW5rIGVzcWxjU3BlY2lhbAlTcGVjaWFsCitIaUxpbmsgZXNxbGNQcmVQcm9jCVByZVByb2MKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImVzcWxjIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9lc3RlcmVsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2VzdGVyZWwudmltCmluZGV4IGQ4NTNlNzUuLjA1NDA4NDMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2VzdGVyZWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2VzdGVyZWwudmltCkBAIC02LDExICs2LDggQEAKICIgTGFzdCBDaGFuZ2U6CQlUdWUgTWF5ICA2IDEzOjI5OjU2IENFU1QgMjAwOAogIiBWZXJzaW9uOgkJCTAuOAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNjUsMjYgKzYyLDE5IEBACiBzeW4gbWF0Y2ggZXN0ZXJlbE5vbmUJCQkiXDxlbHNlXHNcK2lmXD5ccyIKIAogIiBDbGFzcyBMaW5raW5nCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZXN0ZXJlbF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9lc3RlcmVsX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCUhpTGluayBlc3RlcmVsU3RhdGVtZW50CQlTdGF0ZW1lbnQKLQlIaUxpbmsgZXN0ZXJlbFR5cGUJCQlUeXBlCi0JSGlMaW5rIGVzdGVyZWxDb21tZW50CQlDb21tZW50Ci0JSGlMaW5rIGVzdGVyZWxCb29sZWFuCQlOdW1iZXIKLQlIaUxpbmsgZXN0ZXJlbEV4cHJlc3Npb25zCU51bWJlcgotCUhpTGluayBlc3RlcmVsSU8JCQlTdHJpbmcKLQlIaUxpbmsgZXN0ZXJlbE9wZXJhdG9yCQlUeXBlCi0JSGlMaW5rIGVzdGVyZWxTeXNDYWxsCQlUeXBlCi0JSGlMaW5rIGVzdGVyZWxGdW5jdGlvbnMJCVR5cGUKLQlIaUxpbmsgZXN0ZXJlbFNwZWNpYWwJCVNwZWNpYWwKK0hpTGluayBlc3RlcmVsU3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayBlc3RlcmVsVHlwZQkJCVR5cGUKK0hpTGluayBlc3RlcmVsQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGVzdGVyZWxCb29sZWFuCQlOdW1iZXIKK0hpTGluayBlc3RlcmVsRXhwcmVzc2lvbnMJTnVtYmVyCitIaUxpbmsgZXN0ZXJlbElPCQkJU3RyaW5nCitIaUxpbmsgZXN0ZXJlbE9wZXJhdG9yCQlUeXBlCitIaUxpbmsgZXN0ZXJlbFN5c0NhbGwJCVR5cGUKK0hpTGluayBlc3RlcmVsRnVuY3Rpb25zCQlUeXBlCitIaUxpbmsgZXN0ZXJlbFNwZWNpYWwJCVNwZWNpYWwKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImVzdGVyZWwiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ldXBob3JpYTMudmltIGIvcnVudGltZS9zeW50YXgvZXVwaG9yaWEzLnZpbQppbmRleCAxMjU0Yjk2Li5lY2UxNDAyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9ldXBob3JpYTMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2V1cGhvcmlhMy52aW0KQEAgLTUsMTAgKzUsOCBAQAogIiBSZW1hcms6ICAgICAgIEV1cGhvcmlhIGhhcyB0d28gc3ludGF4IGZpbGVzLCBldXBob3JpYTMudmltIGFuZCBldXBob3JpYTQudmltOyAKICIgICAgICAgICAgICAgICBGb3IgZGV0YWlscyBzZWUgOmhlbHAgZnQtZXVwaG9yaWEtc3ludGF4CiAKLSIgUXVpdCBpZiBhIChjdXN0b20pIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZCAoY29tcGF0aWJsZSB3aXRoIFZpbSA1LjgpOiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2V1cGhvcmlhNC52aW0gYi9ydW50aW1lL3N5bnRheC9ldXBob3JpYTQudmltCmluZGV4IDUzZjVjZWEuLjVlNjY4YTcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2V1cGhvcmlhNC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZXVwaG9yaWE0LnZpbQpAQCAtNSwxMCArNSw4IEBACiAiIFJlbWFyazogICAgICAgRXVwaG9yaWEgaGFzIHR3byBzeW50YXggZmlsZXMsIGV1cGhvcmlhMy52aW0gYW5kIGV1cGhvcmlhNC52aW07IAogIiAgICAgICAgICAgICAgIEZvciBkZXRhaWxzIHNlZSA6aGVscCBmdC1ldXBob3JpYS1zeW50YXgKIAotIiBRdWl0IGlmIGEgKGN1c3RvbSkgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkIChjb21wYXRpYmxlIHdpdGggVmltIDUuOCk6IAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZXZpZXdzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2V2aWV3cy52aW0KaW5kZXggYWE2NWZkYS4uN2QwMzljMiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZXZpZXdzLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9ldmlld3MudmltCkBAIC00LDE5ICs0LDEyIEBACiAiIExhc3QgQ2hhbmdlOiAgMjAwNiBBcHIgMzAKICIgRmlsZW5hbWVzOgkqLnByZwogIiBVUkw6CWh0dHA6Ly91b3Npcy5taWYudnUubHQvfnplbWx5cy92aW0tc3ludGF4L2V2aWV3cy52aW0KLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCi1pZiB2ZXJzaW9uID49IDYwMAotICBzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NyxfLC4KLWVsc2UKLSAgc2V0IGlza2V5d29yZD1ALDQ4LTU3LF8sLgotZW5kaWYKK3NldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sLgogCiBzeW4gY2FzZSBtYXRjaAogCkBAIC02OSwzNSArNjIsMjcgQEAKIHN5biBtYXRjaCBlUGFyZW5FcnJvciAvW1xdfV0vIGNvbnRhaW5lZAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3Jfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKLSAgSGlMaW5rIGVDb21tZW50ICAgICBDb21tZW50Ci0gIEhpTGluayBlQ29uc3RhbnQgICAgSWRlbnRpZmllcgotICBIaUxpbmsgZVN0cmluZ0lkICAgIElkZW50aWZpZXIKLSAgSGlMaW5rIGVDb21tYW5kICAgICBUeXBlCi0gIEhpTGluayBlU3RyaW5nICAgICAgU3RyaW5nCi0gIEhpTGluayBlTnVtYmVyICAgICAgTnVtYmVyCi0gIEhpTGluayBlQm9vbGVhbiAgICAgQm9vbGVhbgotICBIaUxpbmsgZUZsb2F0ICAgICAgIEZsb2F0Ci0gIEhpTGluayBlQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKLSAgSGlMaW5rIGVQcm9nTGFuZyAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIGVPVlAJICAgICAgU3RhdGVtZW50Ci0gIEhpTGluayBlU3RkQ21kICAgICAgU3RhdGVtZW50Ci0gIEhpTGluayBlSWRlbnRpZmllciAgTm9ybWFsCi0gIEhpTGluayBlRGVsaW1pdGVyICAgRGVsaW1pdGVyCi0gIEhpTGluayBlRXJyb3IgICAgICAgRXJyb3IKLSAgSGlMaW5rIGVCcmFjZUVycm9yICBFcnJvcgotICBIaUxpbmsgZUN1cmx5RXJyb3IgIEVycm9yCi0gIEhpTGluayBlUGFyZW5FcnJvciAgRXJyb3IKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KK0hpTGluayBlQ29tbWVudCAgICAgQ29tbWVudAorSGlMaW5rIGVDb25zdGFudCAgICBJZGVudGlmaWVyCitIaUxpbmsgZVN0cmluZ0lkICAgIElkZW50aWZpZXIKK0hpTGluayBlQ29tbWFuZCAgICAgVHlwZQorSGlMaW5rIGVTdHJpbmcgICAgICBTdHJpbmcKK0hpTGluayBlTnVtYmVyICAgICAgTnVtYmVyCitIaUxpbmsgZUJvb2xlYW4gICAgIEJvb2xlYW4KK0hpTGluayBlRmxvYXQgICAgICAgRmxvYXQKK0hpTGluayBlQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKK0hpTGluayBlUHJvZ0xhbmcgICAgU3RhdGVtZW50CitIaUxpbmsgZU9WUAkgICAgICBTdGF0ZW1lbnQKK0hpTGluayBlU3RkQ21kICAgICAgU3RhdGVtZW50CitIaUxpbmsgZUlkZW50aWZpZXIgIE5vcm1hbAorSGlMaW5rIGVEZWxpbWl0ZXIgICBEZWxpbWl0ZXIKK0hpTGluayBlRXJyb3IgICAgICAgRXJyb3IKK0hpTGluayBlQnJhY2VFcnJvciAgRXJyb3IKK0hpTGluayBlQ3VybHlFcnJvciAgRXJyb3IKK0hpTGluayBlUGFyZW5FcnJvciAgRXJyb3IKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4PSJldmlld3MiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2V4aW0udmltIGIvcnVudGltZS9zeW50YXgvZXhpbS52aW0KaW5kZXggZmY4MDY2Zi4uZjkwMTdhYyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZXhpbS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZXhpbS52aW0KQEAgLTYsMTIgKzYsOSBAQAogIiBVUkw6IGh0dHA6Ly90cmlmaWMuYXRoLmN4L0Z0cC92aW0vc3ludGF4L2V4aW0udmltCiAKICIgU2V0dXAKLWlmIHZlcnNpb24gPj0gNjAwCi0JaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKLQkJZmluaXNoCi0JZW5kaWYKLWVsc2UKLQlzeW50YXggY2xlYXIKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAogZW5kaWYKIAogc3luIGNhc2UgbWF0Y2gKQEAgLTkxLDI3ICs4OCwyMCBAQAogc3luIGtleXdvcmQgZXhpbUtleXdvcmQgc2VydmVyX3NlY3JldCBjbGllbnRfbmFtZSBjbGllbnRfc2VjcmV0CiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZwotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2V4aW1fc3ludGF4X2luaXRzIikKLQlpZiB2ZXJzaW9uIDwgNTA4Ci0JCWxldCBkaWRfZXhpbV9zeW50YXhfaW5pdHMgPSAxCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0JZWxzZQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLQllbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLQlIaUxpbmsgZXhpbUNvbW1lbnQgQ29tbWVudAotCUhpTGluayBleGltRml4bWUgVG9kbwotCUhpTGluayBleGltRW5kIEtleXdvcmQKLQlIaUxpbmsgZXhpbU51bWJlciBOdW1iZXIKLQlIaUxpbmsgZXhpbURyaXZlck5hbWUgQ29uc3RhbnQKLQlIaUxpbmsgZXhpbUNvbnN0YW50IENvbnN0YW50Ci0JSGlMaW5rIGV4aW1UaW1lIENvbnN0YW50Ci0JSGlMaW5rIGV4aW1LZXl3b3JkIFR5cGUKLQlIaUxpbmsgZXhpbVNwZWNpYWxDaGFyIFNwZWNpYWwKLQlIaUxpbmsgZXhpbU1hY3JvTmFtZSBQcmVwcm9jCi0JSGlMaW5rIGV4aW1UcmFuc3BvcnQgSWRlbnRpZmllcgorSGlMaW5rIGV4aW1Db21tZW50IENvbW1lbnQKK0hpTGluayBleGltRml4bWUgVG9kbworSGlMaW5rIGV4aW1FbmQgS2V5d29yZAorSGlMaW5rIGV4aW1OdW1iZXIgTnVtYmVyCitIaUxpbmsgZXhpbURyaXZlck5hbWUgQ29uc3RhbnQKK0hpTGluayBleGltQ29uc3RhbnQgQ29uc3RhbnQKK0hpTGluayBleGltVGltZSBDb25zdGFudAorSGlMaW5rIGV4aW1LZXl3b3JkIFR5cGUKK0hpTGluayBleGltU3BlY2lhbENoYXIgU3BlY2lhbAorSGlMaW5rIGV4aW1NYWNyb05hbWUgUHJlcHJvYworSGlMaW5rIGV4aW1UcmFuc3BvcnQgSWRlbnRpZmllcgogCi0JZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJleGltIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZXhwZWN0LnZpbSBiL3J1bnRpbWUvc3ludGF4L2V4cGVjdC52aW0KaW5kZXggNmZmN2Q0MS4uNGYwNTI1OSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZXhwZWN0LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9leHBlY3QudmltCkBAIC00LDExICs0LDggQEAKICIgTGFzdCBDaGFuZ2U6CTIwMTIgSnVuIDAxCiAiIAkJKERvbWluaXF1ZSBQZWxsZSBhZGRlZCBAU3BlbGwpCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC04MSwzNSArNzgsMjcgQEAKIHN5biBtYXRjaCAgIGV4cGVjdFNoYXJwQmFuZwkiXCVeIyEuKiIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZXhwZWN0X3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2V4cGVjdF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGV4cGVjdFNoYXJwQmFuZwlQcmVQcm9jCi0gIEhpTGluayBleHBlY3RWYXJpYWJsZXMJU3BlY2lhbAotICBIaUxpbmsgZXhwZWN0Q29tbWFuZAkJRnVuY3Rpb24KLSAgSGlMaW5rIGV4cGVjdFN0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIGV4cGVjdENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluayBleHBlY3RSZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgZXhwZWN0RXhwZWN0T3B0cwlLZXl3b3JkCi0gIEhpTGluayBleHBlY3RPdXRWYXIJCVNwZWNpYWwKLSAgSGlMaW5rIGV4cGVjdFNwZWNpYWwJCVNwZWNpYWwKLSAgSGlMaW5rIGV4cGVjdE51bWJlcgkJTnVtYmVyCitIaUxpbmsgZXhwZWN0U2hhcnBCYW5nCVByZVByb2MKK0hpTGluayBleHBlY3RWYXJpYWJsZXMJU3BlY2lhbAorSGlMaW5rIGV4cGVjdENvbW1hbmQJCUZ1bmN0aW9uCitIaUxpbmsgZXhwZWN0U3RhdGVtZW50CVN0YXRlbWVudAorSGlMaW5rIGV4cGVjdENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCitIaUxpbmsgZXhwZWN0UmVwZWF0CQlSZXBlYXQKK0hpTGluayBleHBlY3RFeHBlY3RPcHRzCUtleXdvcmQKK0hpTGluayBleHBlY3RPdXRWYXIJCVNwZWNpYWwKK0hpTGluayBleHBlY3RTcGVjaWFsCQlTcGVjaWFsCitIaUxpbmsgZXhwZWN0TnVtYmVyCQlOdW1iZXIKIAotICBIaUxpbmsgZXhwZWN0U3RyaW5nCQlTdHJpbmcKK0hpTGluayBleHBlY3RTdHJpbmcJCVN0cmluZwogCi0gIEhpTGluayBleHBlY3RDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBleHBlY3RUb2RvCQlUb2RvCi0gICJIaUxpbmsgZXhwZWN0SWRlbnRpZmllcglJZGVudGlmaWVyCitIaUxpbmsgZXhwZWN0Q29tbWVudAkJQ29tbWVudAorSGlMaW5rIGV4cGVjdFRvZG8JCVRvZG8KKyJIaUxpbmsgZXhwZWN0SWRlbnRpZmllcglJZGVudGlmaWVyCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJleHBlY3QiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2V4cG9ydHMudmltIGIvcnVudGltZS9zeW50YXgvZXhwb3J0cy52aW0KaW5kZXggZjY5NWRjOC4uYWE2Yjc2YSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZXhwb3J0cy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZXhwb3J0cy52aW0KQEAgLTYsMTEgKzYsOCBAQAogIiBOb3RlczoJCVRoaXMgZmlsZSBpbmNsdWRlcyBib3RoIFN5c1YgYW5kIEJTRCAnaXNtcwogIiBVUkw6CWh0dHA6Ly93d3cuZHJjaGlwLm9yZy9hc3Ryb25hdXQvdmltL2luZGV4Lmh0bWwjU1lOVEFYX0VYUE9SVFMKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTM5LDMyICszNiwyNCBAQAogc3luIG1hdGNoIGV4cG9ydHNDb21tZW50CSJeXHMqIy4qJCIJY29udGFpbnM9QFNwZWxsCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2V4cG9ydHNfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZXhwb3J0c19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGV4cG9ydHNLZXlPcHRTZXQJZXhwb3J0c0tleVNldHRpbmdzCi0gIEhpTGluayBleHBvcnRzT3B0U2V0CWV4cG9ydHNTZXR0aW5ncworSGlMaW5rIGV4cG9ydHNLZXlPcHRTZXQJZXhwb3J0c0tleVNldHRpbmdzCitIaUxpbmsgZXhwb3J0c09wdFNldAlleHBvcnRzU2V0dGluZ3MKIAotICBIaUxpbmsgZXhwb3J0c0NvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgZXhwb3J0c0tleU9wdGlvbnMJVHlwZQotICBIaUxpbmsgZXhwb3J0c0tleVNldHRpbmdzCUtleXdvcmQKLSAgSGlMaW5rIGV4cG9ydHNPcHRpb25zCUNvbnN0YW50Ci0gIEhpTGluayBleHBvcnRzU2VwYXJhdG9yCUNvbnN0YW50Ci0gIEhpTGluayBleHBvcnRzU2V0dGluZ3MJQ29uc3RhbnQKK0hpTGluayBleHBvcnRzQ29tbWVudAlDb21tZW50CitIaUxpbmsgZXhwb3J0c0tleU9wdGlvbnMJVHlwZQorSGlMaW5rIGV4cG9ydHNLZXlTZXR0aW5ncwlLZXl3b3JkCitIaUxpbmsgZXhwb3J0c09wdGlvbnMJQ29uc3RhbnQKK0hpTGluayBleHBvcnRzU2VwYXJhdG9yCUNvbnN0YW50CitIaUxpbmsgZXhwb3J0c1NldHRpbmdzCUNvbnN0YW50CiAKLSAgSGlMaW5rIGV4cG9ydHNPcHRFcnJvcglFcnJvcgotICBIaUxpbmsgZXhwb3J0c09wdFNldEVycm9yCUVycm9yCi0gIEhpTGluayBleHBvcnRzU2V0RXJyb3IJRXJyb3IKK0hpTGluayBleHBvcnRzT3B0RXJyb3IJRXJyb3IKK0hpTGluayBleHBvcnRzT3B0U2V0RXJyb3IJRXJyb3IKK0hpTGluayBleHBvcnRzU2V0RXJyb3IJRXJyb3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImV4cG9ydHMiCiAiIHZpbTogdHM9MTAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2Zhc20udmltIGIvcnVudGltZS9zeW50YXgvZmFzbS52aW0KaW5kZXggNjk2ZTA1Yi4uMTcyYmE3YyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZmFzbS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZmFzbS52aW0KQEAgLTYsOSArNiw4IEBACiAiIEZBU00gSG9tZToJaHR0cDovL2ZsYXRhc3NlbWJsZXIubmV0LwogIiBGQVNNIFZlcnNpb246IDEuNTYKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZmRjYy52aW0gYi9ydW50aW1lL3N5bnRheC9mZGNjLnZpbQppbmRleCAzODcxN2ViLi40MjJmZDMxIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9mZGNjLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9mZGNjLnZpbQpAQCAtNCwxMSArNCw4IEBACiAiIExhc3QgQ2hhbmdlOgkyMDA0IE1heSAxNgogIiBSZW1hcmtzOiAgICAgIEZEQ0MgKEZvcm1hbCBEZWZpbml0aW9ucyBvZiBDdWx0dXJhbCBDb252ZW50aW9ucykgc2VlIElTTyBUUiAxNDY1MgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTgsNTYgKzU1LDQ4IEBACiBzeW4gcmVnaW9uIGZkY2NCbGFuayBtYXRjaGdyb3VwPWZkY2NMQ0FkZHJlc3Mgc3RhcnQ9L15MQ19BRERSRVNTJC8gZW5kPS9eRU5EIExDX0FERFJFU1MkLyBjb250YWlucz1mZGNjS2V5d29yZEFkZHJlc3MsZmRjY1N0cmluZyxmZGNjQ29tbWVudCxmZGNjTnVtYmVyCiAKIAotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZmRjY19zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9mZGNjX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgZmRjY0JsYW5rCQkgQmxhbmsKK0hpTGluayBmZGNjQmxhbmsJCSBCbGFuawogCi0gIEhpTGluayBmZGNjVG9kbwkJIFRvZG8KLSAgSGlMaW5rIGZkY2NDb21tZW50CQkgQ29tbWVudAotICBIaUxpbmsgZmRjY1ZhcmlhYmxlCQkgVHlwZQorSGlMaW5rIGZkY2NUb2RvCQkgVG9kbworSGlMaW5rIGZkY2NDb21tZW50CQkgQ29tbWVudAorSGlMaW5rIGZkY2NWYXJpYWJsZQkJIFR5cGUKIAotICBIaUxpbmsgZmRjY0xDSWRlbnRpZmljYXRpb24JIFN0YXRlbWVudAotICBIaUxpbmsgZmRjY0xDQ3R5cGUJCSBTdGF0ZW1lbnQKLSAgSGlMaW5rIGZkY2NMQ0NvbGxhdGUJCSBTdGF0ZW1lbnQKLSAgSGlMaW5rIGZkY2NMQ01vbmV0YXJ5CQkgU3RhdGVtZW50Ci0gIEhpTGluayBmZGNjTENOdW1lcmljCQkgU3RhdGVtZW50Ci0gIEhpTGluayBmZGNjTENUaW1lCQkgU3RhdGVtZW50Ci0gIEhpTGluayBmZGNjTENNZXNzYWdlcwkJIFN0YXRlbWVudAotICBIaUxpbmsgZmRjY0xDUGFwZXIJCSBTdGF0ZW1lbnQKLSAgSGlMaW5rIGZkY2NMQ1RlbGVwaG9uZQkgU3RhdGVtZW50Ci0gIEhpTGluayBmZGNjTENNZWFzdXJlbWVudAkgU3RhdGVtZW50Ci0gIEhpTGluayBmZGNjTENOYW1lCQkgU3RhdGVtZW50Ci0gIEhpTGluayBmZGNjTENBZGRyZXNzCQkgU3RhdGVtZW50CitIaUxpbmsgZmRjY0xDSWRlbnRpZmljYXRpb24JIFN0YXRlbWVudAorSGlMaW5rIGZkY2NMQ0N0eXBlCQkgU3RhdGVtZW50CitIaUxpbmsgZmRjY0xDQ29sbGF0ZQkJIFN0YXRlbWVudAorSGlMaW5rIGZkY2NMQ01vbmV0YXJ5CQkgU3RhdGVtZW50CitIaUxpbmsgZmRjY0xDTnVtZXJpYwkJIFN0YXRlbWVudAorSGlMaW5rIGZkY2NMQ1RpbWUJCSBTdGF0ZW1lbnQKK0hpTGluayBmZGNjTENNZXNzYWdlcwkJIFN0YXRlbWVudAorSGlMaW5rIGZkY2NMQ1BhcGVyCQkgU3RhdGVtZW50CitIaUxpbmsgZmRjY0xDVGVsZXBob25lCSBTdGF0ZW1lbnQKK0hpTGluayBmZGNjTENNZWFzdXJlbWVudAkgU3RhdGVtZW50CitIaUxpbmsgZmRjY0xDTmFtZQkJIFN0YXRlbWVudAorSGlMaW5rIGZkY2NMQ0FkZHJlc3MJCSBTdGF0ZW1lbnQKIAotICBIaUxpbmsgZmRjY1VuaWNvZGVJblZhbGlkCSBFcnJvcgotICBIaUxpbmsgZmRjY1VuaWNvZGVWYWxpZAkgU3RyaW5nCi0gIEhpTGluayBmZGNjU3RyaW5nCQkgU3RyaW5nCi0gIEhpTGluayBmZGNjTnVtYmVyCQkgQmxhbmsKK0hpTGluayBmZGNjVW5pY29kZUluVmFsaWQJIEVycm9yCitIaUxpbmsgZmRjY1VuaWNvZGVWYWxpZAkgU3RyaW5nCitIaUxpbmsgZmRjY1N0cmluZwkJIFN0cmluZworSGlMaW5rIGZkY2NOdW1iZXIJCSBCbGFuawogCi0gIEhpTGluayBmZGNjS2V5d29yZElkZW50aWZpY2F0aW9uIGZkY2NLZXl3b3JkCi0gIEhpTGluayBmZGNjS2V5d29yZEN0eXBlCSAgIGZkY2NLZXl3b3JkCi0gIEhpTGluayBmZGNjS2V5d29yZENvbGxhdGUJICAgZmRjY0tleXdvcmQKLSAgSGlMaW5rIGZkY2NLZXl3b3JkTW9uZXRhcnkJICAgZmRjY0tleXdvcmQKLSAgSGlMaW5rIGZkY2NLZXl3b3JkTnVtZXJpYwkgICBmZGNjS2V5d29yZAotICBIaUxpbmsgZmRjY0tleXdvcmRUaW1lCSAgIGZkY2NLZXl3b3JkCi0gIEhpTGluayBmZGNjS2V5d29yZE1lc3NhZ2VzCSAgIGZkY2NLZXl3b3JkCi0gIEhpTGluayBmZGNjS2V5d29yZFBhcGVyCSAgIGZkY2NLZXl3b3JkCi0gIEhpTGluayBmZGNjS2V5d29yZFRlbGVwaG9uZQkgICBmZGNjS2V5d29yZAotICBIaUxpbmsgZmRjY0tleXdvcmRNZWFzdXJlbWVudCAgICBmZGNjS2V5d29yZAotICBIaUxpbmsgZmRjY0tleXdvcmROYW1lCSAgIGZkY2NLZXl3b3JkCi0gIEhpTGluayBmZGNjS2V5d29yZEFkZHJlc3MJICAgZmRjY0tleXdvcmQKLSAgSGlMaW5rIGZkY2NLZXl3b3JkCQkgICBJZGVudGlmaWVyCitIaUxpbmsgZmRjY0tleXdvcmRJZGVudGlmaWNhdGlvbiBmZGNjS2V5d29yZAorSGlMaW5rIGZkY2NLZXl3b3JkQ3R5cGUJICAgZmRjY0tleXdvcmQKK0hpTGluayBmZGNjS2V5d29yZENvbGxhdGUJICAgZmRjY0tleXdvcmQKK0hpTGluayBmZGNjS2V5d29yZE1vbmV0YXJ5CSAgIGZkY2NLZXl3b3JkCitIaUxpbmsgZmRjY0tleXdvcmROdW1lcmljCSAgIGZkY2NLZXl3b3JkCitIaUxpbmsgZmRjY0tleXdvcmRUaW1lCSAgIGZkY2NLZXl3b3JkCitIaUxpbmsgZmRjY0tleXdvcmRNZXNzYWdlcwkgICBmZGNjS2V5d29yZAorSGlMaW5rIGZkY2NLZXl3b3JkUGFwZXIJICAgZmRjY0tleXdvcmQKK0hpTGluayBmZGNjS2V5d29yZFRlbGVwaG9uZQkgICBmZGNjS2V5d29yZAorSGlMaW5rIGZkY2NLZXl3b3JkTWVhc3VyZW1lbnQgICAgZmRjY0tleXdvcmQKK0hpTGluayBmZGNjS2V5d29yZE5hbWUJICAgZmRjY0tleXdvcmQKK0hpTGluayBmZGNjS2V5d29yZEFkZHJlc3MJICAgZmRjY0tleXdvcmQKK0hpTGluayBmZGNjS2V5d29yZAkJICAgSWRlbnRpZmllcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZmRjYyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZmdsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2ZnbC52aW0KaW5kZXggMWIyZmUxOS4uZTQ1ZTMxYyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZmdsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9mZ2wudmltCkBAIC03LDExICs3LDggQEAKICIgLSBDb25kaXRpb25hbGx5IGFsbG93IGNhc2UgaW5zZW5zaXRpdmUga2V5d29yZHMgKEp1bGlhbiBCcmlkbGUpCiAiCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMTksMjggKzExNiwyMCBAQAogc3luIHN5bmMgY2NvbW1lbnQgZmdsQ29tbWVudAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9mZ2xfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZmdsX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgZmdsQ29tbWVudAlDb21tZW50Ci0gICJIaUxpbmsgZmdsS2V5d29yZAlmZ2xTcGVjaWFsCi0gIEhpTGluayBmZ2xLZXl3b3JkCWZnbFN0YXRlbWVudAotICBIaUxpbmsgZmdsTnVtYmVyCU51bWJlcgotICBIaUxpbmsgZmdsT3BlcmF0b3IJZmdsU3RhdGVtZW50Ci0gIEhpTGluayBmZ2xTcGVjaWFsCVNwZWNpYWwKLSAgSGlMaW5rIGZnbFN0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIGZnbFN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIGZnbFR5cGUJVHlwZQorSGlMaW5rIGZnbENvbW1lbnQJQ29tbWVudAorIkhpTGluayBmZ2xLZXl3b3JkCWZnbFNwZWNpYWwKK0hpTGluayBmZ2xLZXl3b3JkCWZnbFN0YXRlbWVudAorSGlMaW5rIGZnbE51bWJlcglOdW1iZXIKK0hpTGluayBmZ2xPcGVyYXRvcglmZ2xTdGF0ZW1lbnQKK0hpTGluayBmZ2xTcGVjaWFsCVNwZWNpYWwKK0hpTGluayBmZ2xTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgZmdsU3RyaW5nCVN0cmluZworSGlMaW5rIGZnbFR5cGUJVHlwZQogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZmdsIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mbGV4d2lraS52aW0gYi9ydW50aW1lL3N5bnRheC9mbGV4d2lraS52aW0KaW5kZXggMzRmODkzZC4uNmIxNWFiMiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZmxleHdpa2kudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2ZsZXh3aWtpLnZpbQpAQCAtMTQsMTAgKzE0LDggQEAKICIgcmVnZXhlcywgd2hpY2ggdXNlIGEgZGlmZmVyZW50IHN5bnRheCB0aGFuIFZpbSAoZmV3ZXIgXHMpLgogIiBUaGUgcHJpbWFyeSB0ZXN0IGNhc2UgaXMgRmxleFdpa2lcRm9ybWF0dGluZ1J1bGVzLndpa2kKIAotIiBRdWl0IGlmIHN5bnRheCBmaWxlIGlzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgIGZpbmlzaAogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZm9jZXhlYy52aW0gYi9ydW50aW1lL3N5bnRheC9mb2NleGVjLnZpbQppbmRleCA4YmUxYjY1Li41NGY0YzBkIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9mb2NleGVjLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9mb2NleGVjLnZpbQpAQCAtMTEsMTEgKzExLDggQEAKICIgSSB0aGluayBzb21lIG9mIHRoZXNlIHRoaW5ncyBzaG91bGQgZ2V0IGRpZmZlcmVudCBoaWxpZ2h0cyAtCiAiICBzaG91bGQgTU9ESUZZIGNvbW1hbmRzIGxvb2sgZGlmZmVyZW50IHRoYW4gVEFCTEU/CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC02OSwzMiArNjYsMjQgQEAKIHN5biBtYXRjaCAgIGZvY2V4ZWNDb21tZW50CSItXCouKiIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZm9jZXhlY19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9mb2NleGVjX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgZm9jZXhlY1N0cmluZzEJCVN0cmluZwotICBIaUxpbmsgZm9jZXhlY1N0cmluZzIJCVN0cmluZwotICBIaUxpbmsgZm9jZXhlY051bWJlcgkJTnVtYmVyCi0gIEhpTGluayBmb2NleGVjQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgZm9jZXhlY1RhYmxlCQlLZXl3b3JkCi0gIEhpTGluayBmb2NleGVjTW9kaWZ5CQlLZXl3b3JkCi0gIEhpTGluayBmb2NleGVjTm9ybWFsCQlLZXl3b3JkCi0gIEhpTGluayBmb2NleGVjU2V0CQlLZXl3b3JkCi0gIEhpTGluayBmb2NleGVjRGFzaAkJS2V5d29yZAotICBIaUxpbmsgZm9jZXhlY0ZpbGVEZWYJCUtleXdvcmQKLSAgSGlMaW5rIGZvY2V4ZWNKb2luCQlLZXl3b3JkCi0gIEhpTGluayBmb2NleGVjQW1wZXJWYXIJSWRlbnRpZmllcgotICBIaUxpbmsgZm9jZXhlY0Z1c2UJCUZ1bmN0aW9uCitIaUxpbmsgZm9jZXhlY1N0cmluZzEJCVN0cmluZworSGlMaW5rIGZvY2V4ZWNTdHJpbmcyCQlTdHJpbmcKK0hpTGluayBmb2NleGVjTnVtYmVyCQlOdW1iZXIKK0hpTGluayBmb2NleGVjQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGZvY2V4ZWNUYWJsZQkJS2V5d29yZAorSGlMaW5rIGZvY2V4ZWNNb2RpZnkJCUtleXdvcmQKK0hpTGluayBmb2NleGVjTm9ybWFsCQlLZXl3b3JkCitIaUxpbmsgZm9jZXhlY1NldAkJS2V5d29yZAorSGlMaW5rIGZvY2V4ZWNEYXNoCQlLZXl3b3JkCitIaUxpbmsgZm9jZXhlY0ZpbGVEZWYJCUtleXdvcmQKK0hpTGluayBmb2NleGVjSm9pbgkJS2V5d29yZAorSGlMaW5rIGZvY2V4ZWNBbXBlclZhcglJZGVudGlmaWVyCitIaUxpbmsgZm9jZXhlY0Z1c2UJCUZ1bmN0aW9uCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJmb2NleGVjIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mb3JtLnZpbSBiL3J1bnRpbWUvc3ludGF4L2Zvcm0udmltCmluZGV4IDE5YTQ3ZWQuLmFiZDFjNDggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2Zvcm0udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2Zvcm0udmltCkBAIC0xMSwxMSArMTEsOCBAQAogIiBUaGlzIHN5bnRheCBmaWxlIGlzIHN0aWxsIGluIGRldmVsb3BtZW50LiBQbGVhc2Ugc2VuZCBzdWdnZXN0aW9ucwogIiB0byB0aGUgbWFpbnRhaW5lci4KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTEwOSw0OSArMTA2LDQxIEBACiBzeW4gc3luYyBjY29tbWVudCBmb3JtQ29tbWVudCBtaW5saW5lcz0xMAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9mb3JtX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2Zvcm1fc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBmb3JtQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIGZvcm1OdW1iZXIJCU51bWJlcgotICBIaUxpbmsgZm9ybVN0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBmb3JtQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgZm9ybVByZVByb2MJCVByZVByb2MKLSAgSGlMaW5rIGZvcm1EaXJlY3RpdmUJCVByZVByb2MKLSAgSGlMaW5rIGZvcm1UeXBlCQlUeXBlCi0gIEhpTGluayBmb3JtU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIGZvcm1OZXN0ZWRTdHJpbmcJU3RyaW5nCi0gIEhpTGluayBmb3JtUmVzZXJ2ZWQgICAgICAgICAgIEVycm9yCi0gIEhpTGluayBmb3JtVG9kbyAgICAgICAgICAgICAgIFRvZG8KLSAgSGlMaW5rIGZvcm1TcGVjaWFsICAgICAgICAgICAgU3BlY2lhbENoYXIKK0hpTGluayBmb3JtQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayBmb3JtTnVtYmVyCQlOdW1iZXIKK0hpTGluayBmb3JtU3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayBmb3JtQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGZvcm1QcmVQcm9jCQlQcmVQcm9jCitIaUxpbmsgZm9ybURpcmVjdGl2ZQkJUHJlUHJvYworSGlMaW5rIGZvcm1UeXBlCQlUeXBlCitIaUxpbmsgZm9ybVN0cmluZwkJU3RyaW5nCitIaUxpbmsgZm9ybU5lc3RlZFN0cmluZwlTdHJpbmcKK0hpTGluayBmb3JtUmVzZXJ2ZWQgICAgICAgICAgIEVycm9yCitIaUxpbmsgZm9ybVRvZG8gICAgICAgICAgICAgICBUb2RvCitIaUxpbmsgZm9ybVNwZWNpYWwgICAgICAgICAgICBTcGVjaWFsQ2hhcgogCi0gIGlmICFleGlzdHMoImZvcm1fZW5oYW5jZWRfY29sb3IiKQotICAgIEhpTGluayBmb3JtSGVhZGVyU3RhdGVtZW50CVN0YXRlbWVudAotICBlbHNlCi0gICIgZW5oYW5jZWQgY29sb3IgbW9kZQotICAgIEhpTGluayBmb3JtSGVhZGVyU3RhdGVtZW50CUhlYWRlclN0YXRlbWVudAotICAgICIgZGFyayBhbmQgYSBsaWdodCBiYWNrZ3JvdW5kIGZvciBsb2NhbCB0eXBlcwotICAgIGlmICZiYWNrZ3JvdW5kID09ICJkYXJrIgotICAgICAgaGkgSGVhZGVyU3RhdGVtZW50IHRlcm09dW5kZXJsaW5lIGN0ZXJtZmc9TGlnaHRHcmVlbiBndWlmZz1MaWdodEdyZWVuIGd1aT1ib2xkCi0gICAgZWxzZQotICAgICAgaGkgSGVhZGVyU3RhdGVtZW50IHRlcm09dW5kZXJsaW5lIGN0ZXJtZmc9RGFya0dyZWVuIGd1aWZnPVNlYUdyZWVuIGd1aT1ib2xkCi0gICAgZW5kaWYKLSAgICAiIGNoYW5nZSBzbGlnaHRseSB0aGUgZGVmYXVsdCBmb3IgZGFyayBndmltCi0gICAgaWYgaGFzKCJndWlfcnVubmluZyIpICYmICZiYWNrZ3JvdW5kID09ICJkYXJrIgotICAgICAgaGkgQ29uZGl0aW9uYWwgZ3VpZmc9TGlnaHRCbHVlIGd1aT1ib2xkCi0gICAgICBoaSBTdGF0ZW1lbnQgZ3VpZmc9TGlnaHRZZWxsb3cKLSAgICBlbmRpZgotICBlbmRpZgotCi0gIGRlbGNvbW1hbmQgSGlMaW5rCitpZiAhZXhpc3RzKCJmb3JtX2VuaGFuY2VkX2NvbG9yIikKK0hpTGluayBmb3JtSGVhZGVyU3RhdGVtZW50CVN0YXRlbWVudAorZWxzZQorIiBlbmhhbmNlZCBjb2xvciBtb2RlCitIaUxpbmsgZm9ybUhlYWRlclN0YXRlbWVudAlIZWFkZXJTdGF0ZW1lbnQKKyIgZGFyayBhbmQgYSBsaWdodCBiYWNrZ3JvdW5kIGZvciBsb2NhbCB0eXBlcworaWYgJmJhY2tncm91bmQgPT0gImRhcmsiCitoaSBIZWFkZXJTdGF0ZW1lbnQgdGVybT11bmRlcmxpbmUgY3Rlcm1mZz1MaWdodEdyZWVuIGd1aWZnPUxpZ2h0R3JlZW4gZ3VpPWJvbGQKK2Vsc2UKK2hpIEhlYWRlclN0YXRlbWVudCB0ZXJtPXVuZGVybGluZSBjdGVybWZnPURhcmtHcmVlbiBndWlmZz1TZWFHcmVlbiBndWk9Ym9sZAogZW5kaWYKKyIgY2hhbmdlIHNsaWdodGx5IHRoZSBkZWZhdWx0IGZvciBkYXJrIGd2aW0KK2lmIGhhcygiZ3VpX3J1bm5pbmciKSAmJiAmYmFja2dyb3VuZCA9PSAiZGFyayIKK2hpIENvbmRpdGlvbmFsIGd1aWZnPUxpZ2h0Qmx1ZSBndWk9Ym9sZAoraGkgU3RhdGVtZW50IGd1aWZnPUxpZ2h0WWVsbG93CitlbmRpZgorZW5kaWYKKworZGVsY29tbWFuZCBIaUxpbmsKIAogICBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJmb3JtIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mb3J0aC52aW0gYi9ydW50aW1lL3N5bnRheC9mb3J0aC52aW0KaW5kZXggOTllOTQwMC4uMjU1OTc3OSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZm9ydGgudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2ZvcnRoLnZpbQpAQCAtODAsMTEgKzgwLDggQEAKICIKIAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKIGVuZGlmCiAKQEAgLTEwNCwxMSArMTAxLDcgQEAKIAogIiBDaGFyYWN0ZXJzIGFsbG93ZWQgaW4ga2V5d29yZHMKICIgSSBkb24ndCBrbm93IGlmIDEyOC0yNTUgYXJlIGFsbG93ZWQgaW4gQU5TLUZPUlRICi1pZiB2ZXJzaW9uID49IDYwMAotICAgIHNldGxvY2FsIGlza2V5d29yZD0hLEAsMzMtMzUsJSwkLDM4LTY0LEEtWiw5MS05NixhLXosMTIzLTEyNiwxMjgtMjU1Ci1lbHNlCi0gICAgc2V0IGlza2V5d29yZD0hLEAsMzMtMzUsJSwkLDM4LTY0LEEtWiw5MS05NixhLXosMTIzLTEyNiwxMjgtMjU1Ci1lbmRpZgorc2V0bG9jYWwgaXNrZXl3b3JkPSEsQCwzMy0zNSwlLCQsMzgtNjQsQS1aLDkxLTk2LGEteiwxMjMtMTI2LDEyOC0yNTUKIAogIiB3aGVuIHdhbnRlZCwgaGlnaGxpZ2h0IHRyYWlsaW5nIHdoaXRlIHNwYWNlCiBpZiBleGlzdHMoImZvcnRoX3NwYWNlX2Vycm9ycyIpCkBAIC0yODksNTYgKzI4Miw0OCBAQAogc3luIHJlZ2lvbiBmb3J0aERlcHJlY2F0ZWQgc3RhcnQ9J2xvY2Fsc3wnIGVuZD0nfCcKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZm9ydGhfc3luX2luaXRzIikKLSAgICBpZiB2ZXJzaW9uIDwgNTA4Ci0JbGV0IGRpZF9mb3J0aF9zeW5faW5pdHMgPSAxCi0JY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgICBlbHNlCi0JY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gICAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gICAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyLgotICAgIEhpTGluayBmb3J0aFRvZG8gVG9kbwotICAgIEhpTGluayBmb3J0aE9wZXJhdG9ycyBPcGVyYXRvcgotICAgIEhpTGluayBmb3J0aE1hdGggTnVtYmVyCi0gICAgSGlMaW5rIGZvcnRoSW50ZWdlciBOdW1iZXIKLSAgICBIaUxpbmsgZm9ydGhGbG9hdCBGbG9hdAotICAgIEhpTGluayBmb3J0aFN0YWNrIFNwZWNpYWwKLSAgICBIaUxpbmsgZm9ydGhSc3RhY2sgU3BlY2lhbAotICAgIEhpTGluayBmb3J0aEZTdGFjayBTcGVjaWFsCi0gICAgSGlMaW5rIGZvcnRoU1AgU3BlY2lhbAotICAgIEhpTGluayBmb3J0aE1lbW9yeSBGdW5jdGlvbgotICAgIEhpTGluayBmb3J0aEFkckFyaXRoIEZ1bmN0aW9uCi0gICAgSGlMaW5rIGZvcnRoTWVtQmxrcyBGdW5jdGlvbgotICAgIEhpTGluayBmb3J0aENvbmQgQ29uZGl0aW9uYWwKLSAgICBIaUxpbmsgZm9ydGhMb29wIFJlcGVhdAotICAgIEhpTGluayBmb3J0aENvbG9uRGVmIERlZmluZQotICAgIEhpTGluayBmb3J0aEVuZE9mQ29sb25EZWYgRGVmaW5lCi0gICAgSGlMaW5rIGZvcnRoRGVmaW5lIERlZmluZQotICAgIEhpTGluayBmb3J0aERlYnVnIERlYnVnCi0gICAgSGlMaW5rIGZvcnRoQXNzZW1ibGVyIEluY2x1ZGUKLSAgICBIaUxpbmsgZm9ydGhDaGFyT3BzIENoYXJhY3RlcgotICAgIEhpTGluayBmb3J0aENvbnZlcnNpb24gU3RyaW5nCi0gICAgSGlMaW5rIGZvcnRoRm9ydGggU3RhdGVtZW50Ci0gICAgSGlMaW5rIGZvcnRoVm9jcyBTdGF0ZW1lbnQKLSAgICBIaUxpbmsgZm9ydGhTdHJpbmcgU3RyaW5nCi0gICAgSGlMaW5rIGZvcnRoQ29tbWVudCBDb21tZW50Ci0gICAgSGlMaW5rIGZvcnRoQ2xhc3NEZWYgRGVmaW5lCi0gICAgSGlMaW5rIGZvcnRoRW5kT2ZDbGFzc0RlZiBEZWZpbmUKLSAgICBIaUxpbmsgZm9ydGhPYmplY3REZWYgRGVmaW5lCi0gICAgSGlMaW5rIGZvcnRoRW5kT2ZPYmplY3REZWYgRGVmaW5lCi0gICAgSGlMaW5rIGZvcnRoSW5jbHVkZSBJbmNsdWRlCi0gICAgSGlMaW5rIGZvcnRoTG9jYWxzIFR5cGUgIiBub3RoaW5nIGVsc2UgdXNlcyB0eXBlIGFuZCBsb2NhbHMgbXVzdCBzdGFuZCBvdXQKLSAgICBIaUxpbmsgZm9ydGhEZXByZWNhdGVkIEVycm9yICIgaWYgeW91IG11c3QsIGNoYW5nZSB0byBUeXBlCi0gICAgSGlMaW5rIGZvcnRoRmlsZU1vZGUgRnVuY3Rpb24KLSAgICBIaUxpbmsgZm9ydGhGaWxlV29yZHMgU3RhdGVtZW50Ci0gICAgSGlMaW5rIGZvcnRoQmxvY2tzIFN0YXRlbWVudAotICAgIEhpTGluayBmb3J0aFNwYWNlRXJyb3IgRXJyb3IKKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlci4KK0hpTGluayBmb3J0aFRvZG8gVG9kbworSGlMaW5rIGZvcnRoT3BlcmF0b3JzIE9wZXJhdG9yCitIaUxpbmsgZm9ydGhNYXRoIE51bWJlcgorSGlMaW5rIGZvcnRoSW50ZWdlciBOdW1iZXIKK0hpTGluayBmb3J0aEZsb2F0IEZsb2F0CitIaUxpbmsgZm9ydGhTdGFjayBTcGVjaWFsCitIaUxpbmsgZm9ydGhSc3RhY2sgU3BlY2lhbAorSGlMaW5rIGZvcnRoRlN0YWNrIFNwZWNpYWwKK0hpTGluayBmb3J0aFNQIFNwZWNpYWwKK0hpTGluayBmb3J0aE1lbW9yeSBGdW5jdGlvbgorSGlMaW5rIGZvcnRoQWRyQXJpdGggRnVuY3Rpb24KK0hpTGluayBmb3J0aE1lbUJsa3MgRnVuY3Rpb24KK0hpTGluayBmb3J0aENvbmQgQ29uZGl0aW9uYWwKK0hpTGluayBmb3J0aExvb3AgUmVwZWF0CitIaUxpbmsgZm9ydGhDb2xvbkRlZiBEZWZpbmUKK0hpTGluayBmb3J0aEVuZE9mQ29sb25EZWYgRGVmaW5lCitIaUxpbmsgZm9ydGhEZWZpbmUgRGVmaW5lCitIaUxpbmsgZm9ydGhEZWJ1ZyBEZWJ1ZworSGlMaW5rIGZvcnRoQXNzZW1ibGVyIEluY2x1ZGUKK0hpTGluayBmb3J0aENoYXJPcHMgQ2hhcmFjdGVyCitIaUxpbmsgZm9ydGhDb252ZXJzaW9uIFN0cmluZworSGlMaW5rIGZvcnRoRm9ydGggU3RhdGVtZW50CitIaUxpbmsgZm9ydGhWb2NzIFN0YXRlbWVudAorSGlMaW5rIGZvcnRoU3RyaW5nIFN0cmluZworSGlMaW5rIGZvcnRoQ29tbWVudCBDb21tZW50CitIaUxpbmsgZm9ydGhDbGFzc0RlZiBEZWZpbmUKK0hpTGluayBmb3J0aEVuZE9mQ2xhc3NEZWYgRGVmaW5lCitIaUxpbmsgZm9ydGhPYmplY3REZWYgRGVmaW5lCitIaUxpbmsgZm9ydGhFbmRPZk9iamVjdERlZiBEZWZpbmUKK0hpTGluayBmb3J0aEluY2x1ZGUgSW5jbHVkZQorSGlMaW5rIGZvcnRoTG9jYWxzIFR5cGUgIiBub3RoaW5nIGVsc2UgdXNlcyB0eXBlIGFuZCBsb2NhbHMgbXVzdCBzdGFuZCBvdXQKK0hpTGluayBmb3J0aERlcHJlY2F0ZWQgRXJyb3IgIiBpZiB5b3UgbXVzdCwgY2hhbmdlIHRvIFR5cGUKK0hpTGluayBmb3J0aEZpbGVNb2RlIEZ1bmN0aW9uCitIaUxpbmsgZm9ydGhGaWxlV29yZHMgU3RhdGVtZW50CitIaUxpbmsgZm9ydGhCbG9ja3MgU3RhdGVtZW50CitIaUxpbmsgZm9ydGhTcGFjZUVycm9yIEVycm9yCiAKLSAgICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImZvcnRoIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mb3J0cmFuLnZpbSBiL3J1bnRpbWUvc3ludGF4L2ZvcnRyYW4udmltCmluZGV4IDA2ZTUzOTAuLjBiNTZmNWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2ZvcnRyYW4udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2ZvcnRyYW4udmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6CUZvcnRyYW4gMjAwOCAoYW5kIG9sZGVyOiBGb3J0cmFuIDIwMDMsIDk1LCA5MCwgYW5kIDc3KQogIiBWZXJzaW9uOgkwLjk4Ci0iIExhc3QgQ2hhbmdlOgkyMDE2IEF1Zy4gMjYKKyIgTGFzdCBDaGFuZ2U6CTIwMTYgQXVnLiAyOQogIiBNYWludGFpbmVyOglBaml0IEouIFRoYWtrYXIgPGFqaXRAdW5iLmNhPjsgPGh0dHA6Ly93d3cyLnVuYi5jYS9+YWppdC8+CiAiIFVzYWdlOglGb3IgaW5zdHJ1Y3Rpb25zLCBkbyA6aGVscCBmb3J0cmFuLXN5bnRheCBmcm9tIFZpbQogIiBDcmVkaXRzOgpAQCAtMTEsNyArMTEsNyBAQAogIiAgQW5kcmVqIFBhbmprb3YsIEJyYW0gTW9vbGVuYWFyLCBUaG9tYXMgT2xzZW4sIE1pY2hhZWwgU3Rlcm5iZXJnLCBDaHJpc3RpYW4gUmVpbGUsCiAiICBXYWx0ZXIgRGlldWRvbm7pLCBBbGV4YW5kZXIgV2FnbmVyLCBSb21hbiBCZXJ0bGUsIENoYXJsZXMgUmVuZGxlbWFuLAogIiAgQW5kcmV3IEdyaWZmaXRocywgSm9lIEtyYWhuLCBIZW5kcmlrIE1lcngsIE1hdHQgVGhvbXBzb24sIEphbiBIZXJtYW5uLAotIiAgU3RlZmFubyBaYWdoaSBhbmQgVmlzaG51IEtyaXNobmFuLgorIiAgU3RlZmFubyBaYWdoaSBhbmQgVmlzaG51IFYuIEtyaXNobmFuLgogCiBpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKQEAgLTM2OCw2ICszNjgsNyBAQAogZW5kaWYKIAogc3luIG1hdGNoIGZvcnRyYW5Db21tZW50CWV4Y2x1ZGVubCAiIS4qJCIgY29udGFpbnM9QGZvcnRyYW5Db21tZW50R3JvdXAsQHNwZWxsCitzeW4gbWF0Y2ggZm9ydHJhbk9wZW5NUAkJZXhjbHVkZW5sIAkJIl5ccyohXCRcKE9NUFwpXD1ccy4qJCIKIAogImNwcCBpcyBvZnRlbiB1c2VkIHdpdGggRm9ydHJhbgogc3luIG1hdGNoCWNQcmVQcm9jCQkiXlxzKiNccypcKGRlZmluZVx8aWZkZWZcKVw+LioiCkBAIC01MTcsNiArNTE4LDcgQEAKIGhpIGRlZiBsaW5rIGNJbmNsdWRlCQlJbmNsdWRlCiBoaSBkZWYgbGluayBjUHJlUHJvYwkJUHJlUHJvYwogaGkgZGVmIGxpbmsgY1ByZUNvbmRpdAkJUHJlQ29uZGl0CitoaSBkZWYgbGluayBmb3J0cmFuT3Blbk1QICAgICAgIFByZVByb2MKIGhpIGRlZiBsaW5rIGZvcnRyYW5QYXJlbkVycm9yCUVycm9yCiBoaSBkZWYgbGluayBmb3J0cmFuQ29tbWVudAlDb21tZW50CiBoaSBkZWYgbGluayBmb3J0cmFuU2VyaWFsTnVtYmVyCVRvZG8KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2ZveHByby52aW0gYi9ydW50aW1lL3N5bnRheC9mb3hwcm8udmltCmluZGV4IGNhNWQ3ZTIuLmIzMjkzNjggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2ZveHByby52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZm94cHJvLnZpbQpAQCAtMTMsOSArMTMsOCBAQAogIiAJCWNvcnJlY3RlZCBoaWdobGlnaHRpbmcgb2YgY29tbWVudHMgYXQgZW5kIG9mIGxpbmUgKCYmKQogIiAKICIgCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgIGZpbmlzaAogZW5kaWYKIApAQCAtNjkxLDM3ICs2OTAsMjkgQEAKIHN5biBzeW5jIG1pbmxpbmVzPTEgbWF4bGluZXM9MwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9mb3hwcm9fc3luX2luaXRzIikKLSAgICBpZiB2ZXJzaW9uIDwgNTA4Ci0JbGV0IGRpZF9mb3hwcm9fc3luX2luaXRzID0gMQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICAgZWxzZQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICAgIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAgIEhpTGluayBmb3hwcm9TcGVjaWFsICBTcGVjaWFsCi0gICAgSGlMaW5rIGZveHByb0F0U3ltYm9sIFNwZWNpYWwKLSAgICBIaUxpbmsgZm94cHJvQXRDbWQgICAgU3RhdGVtZW50Ci0gICAgSGlMaW5rIGZveHByb1ByZVByb2MgIFByZVByb2MKLSAgICBIaUxpbmsgZm94cHJvRnVuYyAgICAgSWRlbnRpZmllcgotICAgIEhpTGluayBmb3hwcm9DbWQgICAgICBTdGF0ZW1lbnQKLSAgICBIaUxpbmsgZm94cHJvRW5CbGsgICAgVHlwZQotICAgIEhpTGluayBmb3hwcm9TeXNWYXIgICBTdHJpbmcKLSAgICBIaUxpbmsgZm94cHJvU3RyaW5nICAgU3RyaW5nCi0gICAgSGlMaW5rIGZveHByb0NvbnN0ICAgIENvbnN0YW50Ci0gICAgSGlMaW5rIGZveHByb051bWJlciAgIE51bWJlcgotICAgIEhpTGluayBmb3hwcm9GbG9hdCAgICBGbG9hdAotICAgIEhpTGluayBmb3hwcm9Db21tZW50ICBDb21tZW50Ci0gICAgSGlMaW5rIGZveHByb1BhcmVuRXJyIEVycm9yCi0gICAgSGlMaW5rIGZveHByb0NCQ29uc3QgIFByZVByb2MKLSAgICBIaUxpbmsgZm94cHJvQ0JGaWVsZCAgU3BlY2lhbAotICAgIEhpTGluayBmb3hwcm9DQlZhciAgICBJZGVudGlmaWVyCi0gICAgSGlMaW5rIGZveHByb0NCV2luICAgIFNwZWNpYWwKLSAgICBIaUxpbmsgZm94cHJvQ0JPYmplY3QgSWRlbnRpZmllcgorSGlMaW5rIGZveHByb1NwZWNpYWwgIFNwZWNpYWwKK0hpTGluayBmb3hwcm9BdFN5bWJvbCBTcGVjaWFsCitIaUxpbmsgZm94cHJvQXRDbWQgICAgU3RhdGVtZW50CitIaUxpbmsgZm94cHJvUHJlUHJvYyAgUHJlUHJvYworSGlMaW5rIGZveHByb0Z1bmMgICAgIElkZW50aWZpZXIKK0hpTGluayBmb3hwcm9DbWQgICAgICBTdGF0ZW1lbnQKK0hpTGluayBmb3hwcm9FbkJsayAgICBUeXBlCitIaUxpbmsgZm94cHJvU3lzVmFyICAgU3RyaW5nCitIaUxpbmsgZm94cHJvU3RyaW5nICAgU3RyaW5nCitIaUxpbmsgZm94cHJvQ29uc3QgICAgQ29uc3RhbnQKK0hpTGluayBmb3hwcm9OdW1iZXIgICBOdW1iZXIKK0hpTGluayBmb3hwcm9GbG9hdCAgICBGbG9hdAorSGlMaW5rIGZveHByb0NvbW1lbnQgIENvbW1lbnQKK0hpTGluayBmb3hwcm9QYXJlbkVyciBFcnJvcgorSGlMaW5rIGZveHByb0NCQ29uc3QgIFByZVByb2MKK0hpTGluayBmb3hwcm9DQkZpZWxkICBTcGVjaWFsCitIaUxpbmsgZm94cHJvQ0JWYXIgICAgSWRlbnRpZmllcgorSGlMaW5rIGZveHByb0NCV2luICAgIFNwZWNpYWwKK0hpTGluayBmb3hwcm9DQk9iamVjdCBJZGVudGlmaWVyCiAKLSAgICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImZveHBybyIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2ZzdGFiLnZpbSBiL3J1bnRpbWUvc3ludGF4L2ZzdGFiLnZpbQppbmRleCAzMDA2ZDIxLi5hMTdmYzgwIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9mc3RhYi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZnN0YWIudmltCkBAIC0xOSw5ICsxOSw4IEBACiAiICAgbGV0IGZzdGFiX3Vua25vd25fZGV2aWNlX2Vycm9ycyA9IDAKICIgICAgIGRvIG5vdCBoaWdobGlnaHQgdW5rbm93biBkZXZpY2VzIGFzIGVycm9ycwogCi1pZiB2ZXJzaW9uIDwgNjAwCi0Jc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogCWZpbmlzaAogZW5kaWYKIApAQCAtMjI5LDY2ICsyMjgsNTkgQEAKICIgV2hvbGUgbGluZSBjb21tZW50cwogc3luIG1hdGNoIGZzQ29tbWVudExpbmUgL14jLiokLyBjb250YWlucz1AU3BlbGwKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NvbmZpZ19zeW50YXhfaW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9jb25maWdfc3ludGF4X2luaXRzID0gMQotCQljb21tYW5kISAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLQllbHNlCi0JCWNvbW1hbmQhIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLQllbmRpZgorY29tbWFuZCEgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0JSGlMaW5rIGZzT3BlcmF0b3IgT3BlcmF0b3IKLQlIaUxpbmsgZnNDb21tZW50IENvbW1lbnQKLQlIaUxpbmsgZnNDb21tZW50TGluZSBDb21tZW50CitIaUxpbmsgZnNPcGVyYXRvciBPcGVyYXRvcgorSGlMaW5rIGZzQ29tbWVudCBDb21tZW50CitIaUxpbmsgZnNDb21tZW50TGluZSBDb21tZW50CiAKLQlIaUxpbmsgZnNUeXBlS2V5d29yZCBUeXBlCi0JSGlMaW5rIGZzRGV2aWNlS2V5d29yZCBJZGVudGlmaWVyCi0JSGlMaW5rIGZzRGV2aWNlTGFiZWwgU3RyaW5nCi0JSGlMaW5rIGZzRGV2aWNlVVVJRCBTdHJpbmcKLQlIaUxpbmsgZnNEZXZpY2VTc2hmcyBTdHJpbmcKLQlIaUxpbmsgZnNGcmVxUGFzc051bWJlciBOdW1iZXIKK0hpTGluayBmc1R5cGVLZXl3b3JkIFR5cGUKK0hpTGluayBmc0RldmljZUtleXdvcmQgSWRlbnRpZmllcgorSGlMaW5rIGZzRGV2aWNlTGFiZWwgU3RyaW5nCitIaUxpbmsgZnNEZXZpY2VVVUlEIFN0cmluZworSGlMaW5rIGZzRGV2aWNlU3NoZnMgU3RyaW5nCitIaUxpbmsgZnNGcmVxUGFzc051bWJlciBOdW1iZXIKIAotCWlmIGV4aXN0cygnZnN0YWJfdW5rbm93bl9mc19lcnJvcnMnKSAmJiBmc3RhYl91bmtub3duX2ZzX2Vycm9ycyA9PSAxCi0JCUhpTGluayBmc1R5cGVVbmtub3duIEVycm9yCi0JZW5kaWYKLQotCWlmICFleGlzdHMoJ2ZzdGFiX3Vua25vd25fZGV2aWNlX2Vycm9ycycpIHx8IGZzdGFiX3Vua25vd25fZGV2aWNlX2Vycm9ycyA9PSAxCi0JCUhpTGluayBmc0RldmljZUVycm9yIEVycm9yCi0JZW5kaWYKLQotCUhpTGluayBmc01vdW50UG9pbnRFcnJvciBFcnJvcgotCUhpTGluayBmc01vdW50UG9pbnRLZXl3b3JkIEtleXdvcmQKLQlIaUxpbmsgZnNGcmVxUGFzc0Vycm9yIEVycm9yCi0KLQlIaUxpbmsgZnNPcHRpb25zR2VuZXJhbCBUeXBlCi0JSGlMaW5rIGZzT3B0aW9uc0tleXdvcmRzIEtleXdvcmQKLQlIaUxpbmsgZnNPcHRpb25zTnVtYmVyIE51bWJlcgotCUhpTGluayBmc09wdGlvbnNOdW1iZXJPY3RhbCBOdW1iZXIKLQlIaUxpbmsgZnNPcHRpb25zU3RyaW5nIFN0cmluZwotCUhpTGluayBmc09wdGlvbnNTaXplIE51bWJlcgotCUhpTGluayBmc09wdGlvbnNFeHQyQ2hlY2sgU3RyaW5nCi0JSGlMaW5rIGZzT3B0aW9uc0V4dDJFcnJvcnMgU3RyaW5nCi0JSGlMaW5rIGZzT3B0aW9uc0V4dDNKb3VybmFsIFN0cmluZwotCUhpTGluayBmc09wdGlvbnNFeHQzRGF0YSBTdHJpbmcKLQlIaUxpbmsgZnNPcHRpb25zRXh0NEpvdXJuYWwgU3RyaW5nCi0JSGlMaW5rIGZzT3B0aW9uc0V4dDREYXRhIFN0cmluZwotCUhpTGluayBmc09wdGlvbnNFeHQ0QmFycmllciBOdW1iZXIKLQlIaUxpbmsgZnNPcHRpb25zRmF0Q2hlY2sgU3RyaW5nCi0JSGlMaW5rIGZzT3B0aW9uc0NvbnYgU3RyaW5nCi0JSGlMaW5rIGZzT3B0aW9uc0ZhdFR5cGUgTnVtYmVyCi0JSGlMaW5rIGZzT3B0aW9uc1llc05vIFN0cmluZwotCUhpTGluayBmc09wdGlvbnNIcGZzQ2FzZSBTdHJpbmcKLQlIaUxpbmsgZnNPcHRpb25zSXNvTWFwIFN0cmluZwotCUhpTGluayBmc09wdGlvbnNSZWlzZXJIYXNoIFN0cmluZwotCUhpTGluayBmc09wdGlvbnNTc2hZZXNOb0FzayBTdHJpbmcKLQlIaUxpbmsgZnNPcHRpb25zVWZzVHlwZSBTdHJpbmcKLQlIaUxpbmsgZnNPcHRpb25zVWZzRXJyb3IgU3RyaW5nCi0KLQlIaUxpbmsgZnNPcHRpb25zVmZhdFNob3J0bmFtZSBTdHJpbmcKLQotCWRlbGNvbW1hbmQgSGlMaW5rCitpZiBleGlzdHMoJ2ZzdGFiX3Vua25vd25fZnNfZXJyb3JzJykgJiYgZnN0YWJfdW5rbm93bl9mc19lcnJvcnMgPT0gMQorSGlMaW5rIGZzVHlwZVVua25vd24gRXJyb3IKIGVuZGlmCiAKK2lmICFleGlzdHMoJ2ZzdGFiX3Vua25vd25fZGV2aWNlX2Vycm9ycycpIHx8IGZzdGFiX3Vua25vd25fZGV2aWNlX2Vycm9ycyA9PSAxCitIaUxpbmsgZnNEZXZpY2VFcnJvciBFcnJvcgorZW5kaWYKKworSGlMaW5rIGZzTW91bnRQb2ludEVycm9yIEVycm9yCitIaUxpbmsgZnNNb3VudFBvaW50S2V5d29yZCBLZXl3b3JkCitIaUxpbmsgZnNGcmVxUGFzc0Vycm9yIEVycm9yCisKK0hpTGluayBmc09wdGlvbnNHZW5lcmFsIFR5cGUKK0hpTGluayBmc09wdGlvbnNLZXl3b3JkcyBLZXl3b3JkCitIaUxpbmsgZnNPcHRpb25zTnVtYmVyIE51bWJlcgorSGlMaW5rIGZzT3B0aW9uc051bWJlck9jdGFsIE51bWJlcgorSGlMaW5rIGZzT3B0aW9uc1N0cmluZyBTdHJpbmcKK0hpTGluayBmc09wdGlvbnNTaXplIE51bWJlcgorSGlMaW5rIGZzT3B0aW9uc0V4dDJDaGVjayBTdHJpbmcKK0hpTGluayBmc09wdGlvbnNFeHQyRXJyb3JzIFN0cmluZworSGlMaW5rIGZzT3B0aW9uc0V4dDNKb3VybmFsIFN0cmluZworSGlMaW5rIGZzT3B0aW9uc0V4dDNEYXRhIFN0cmluZworSGlMaW5rIGZzT3B0aW9uc0V4dDRKb3VybmFsIFN0cmluZworSGlMaW5rIGZzT3B0aW9uc0V4dDREYXRhIFN0cmluZworSGlMaW5rIGZzT3B0aW9uc0V4dDRCYXJyaWVyIE51bWJlcgorSGlMaW5rIGZzT3B0aW9uc0ZhdENoZWNrIFN0cmluZworSGlMaW5rIGZzT3B0aW9uc0NvbnYgU3RyaW5nCitIaUxpbmsgZnNPcHRpb25zRmF0VHlwZSBOdW1iZXIKK0hpTGluayBmc09wdGlvbnNZZXNObyBTdHJpbmcKK0hpTGluayBmc09wdGlvbnNIcGZzQ2FzZSBTdHJpbmcKK0hpTGluayBmc09wdGlvbnNJc29NYXAgU3RyaW5nCitIaUxpbmsgZnNPcHRpb25zUmVpc2VySGFzaCBTdHJpbmcKK0hpTGluayBmc09wdGlvbnNTc2hZZXNOb0FzayBTdHJpbmcKK0hpTGluayBmc09wdGlvbnNVZnNUeXBlIFN0cmluZworSGlMaW5rIGZzT3B0aW9uc1Vmc0Vycm9yIFN0cmluZworCitIaUxpbmsgZnNPcHRpb25zVmZhdFNob3J0bmFtZSBTdHJpbmcKKworZGVsY29tbWFuZCBIaUxpbmsKKwogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZnN0YWIiCiAKIGxldCAmY3BvID0gczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZnZ3bTJtNC52aW0gYi9ydW50aW1lL3N5bnRheC9mdndtMm00LnZpbQppbmRleCAyNDNkYTE4Li5lMjk2MjczIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9mdndtMm00LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9mdndtMm00LnZpbQpAQCAtNSwxMiArNSw5IEBACiAiIFVSSTogaHR0cDovL3BoeXNpY3MubXVuaS5jei9+eWV0aS9kb3dubG9hZC9zeW50YXgvZnZ3bW00LnZpbQogCiAiIFNldHVwCi1pZiB2ZXJzaW9uID49IDYwMAotICBpZiBleGlzdHMoJ2I6Y3VycmVudF9zeW50YXgnKQotICAgIGZpbmlzaAotICBlbmRpZgotZWxzZQotICBzeW50YXggY2xlYXIKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoJ2I6Y3VycmVudF9zeW50YXgnKQorICBmaW5pc2gKIGVuZGlmCiAKICIgTGV0IGluY2x1ZGVkIGZpbGVzIGtub3cgdGhleSBhcmUgaW5jbHVkZWQKQEAgLTE5LDE5ICsxNiwxMSBAQAogZW5kaWYKIAogIiBJbmNsdWRlIE00IHN5bnRheAotaWYgdmVyc2lvbiA+PSA2MDAKLSAgcnVudGltZSEgc3ludGF4L200LnZpbQotZWxzZQotICBzbyA8c2ZpbGU+OnA6aC9tNC52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvbTQudmltCiB1bmxldCBiOmN1cnJlbnRfc3ludGF4CiAKICIgSW5jbHVkZSBGdndtMiBzeW50YXggKEZ2d20xIGRvZXNuJ3QgaGF2ZSBNNCBwcmVwcm9jZXNzb3IpCi1pZiB2ZXJzaW9uID49IDYwMAotICBydW50aW1lISBzeW50YXgvZnZ3bS52aW0KLWVsc2UKLSAgc28gPHNmaWxlPjpwOmgvZnZ3bS52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvZnZ3bS52aW0KIHVubGV0IGI6Y3VycmVudF9zeW50YXgKIAogIiBUaGF0J3MgYWxsIQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZ2RiLnZpbSBiL3J1bnRpbWUvc3ludGF4L2dkYi52aW0KaW5kZXggNjRlODljYy4uNjc3Zjk0OCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZ2RiLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9nZGIudmltCkBAIC00LDExICs0LDggQEAKICIgVVJMOgkJaHR0cDovL3d3dy5mbGVpbmVyLmNvbS92aW0vc3ludGF4L2dkYi52aW0KICIgTGFzdCBDaGFuZ2U6CTIwMTIgT2N0IDA1CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC04NywyNyArODQsMTkgQEAKIGV4ZWMgInN5biBzeW5jIGNjb21tZW50IGdkYkNvbW1lbnQgbWlubGluZXM9IiAuIGdkYl9taW5saW5lcwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9nZGJfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZ2RiX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCi0gIEhpTGluayBnZGJGdW5jRGVmCUZ1bmN0aW9uCi0gIEhpTGluayBnZGJDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIGdkYlN0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIGdkYlN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIGdkYkNoYXJhY3RlcglDaGFyYWN0ZXIKLSAgSGlMaW5rIGdkYlZhcmlhYmxlCUlkZW50aWZpZXIKLSAgSGlMaW5rIGdkYlNldAkJQ29uc3RhbnQKLSAgSGlMaW5rIGdkYkluZm8JVHlwZQotICBIaUxpbmsgZ2RiRG9jdW1lbnQJU3BlY2lhbAotICBIaUxpbmsgZ2RiTnVtYmVyCU51bWJlcgotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorSGlMaW5rIGdkYkZ1bmNEZWYJRnVuY3Rpb24KK0hpTGluayBnZGJDb21tZW50CUNvbW1lbnQKK0hpTGluayBnZGJTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgZ2RiU3RyaW5nCVN0cmluZworSGlMaW5rIGdkYkNoYXJhY3RlcglDaGFyYWN0ZXIKK0hpTGluayBnZGJWYXJpYWJsZQlJZGVudGlmaWVyCitIaUxpbmsgZ2RiU2V0CQlDb25zdGFudAorSGlMaW5rIGdkYkluZm8JVHlwZQorSGlMaW5rIGdkYkRvY3VtZW50CVNwZWNpYWwKK0hpTGluayBnZGJOdW1iZXIJTnVtYmVyCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJnZGIiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2dkbW8udmltIGIvcnVudGltZS9zeW50YXgvZ2Rtby52aW0KaW5kZXggODZjNmQ1Yy4uZDljZWJhZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZ2Rtby52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZ2Rtby52aW0KQEAgLTUsMTEgKzUsOCBAQAogIiBVUkw6CQlodHRwOi8vY2xhc3NpY2FscHJvZ3JhbW1lci53aWtpZG90LmNvbS9sb2NhbC0tZmlsZXMvdmltLXN5bnRheC1maWxlLWZvci1nZG1vL2dkbW8udmltCiAiIExhc3QgY2hhbmdlOgk4dGggSnVuZSwgMjAxMQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNjQsMzIgKzYxLDI0IEBACiBzeW4gc3luYyBjY29tbWVudCBnZG1vQ29tbWVudAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9nZG1vX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2dkbW9fc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBnZG1vQ2F0ZWdvcnkJICAgICAgU3RydWN0dXJlCi0gIEhpTGluayBnZG1vUmVsYXRpb25zaGlwICAgICBNYWNybwotICBIaUxpbmsgZ2Rtb0RlZmluaXRpb24gICAgICAgU3RhdGVtZW50Ci0gIEhpTGluayBnZG1vUmVmZXJlbmNlCSAgICAgIFR5cGUKLSAgSGlMaW5rIGdkbW9FeHRlbnNpb24JICAgICAgT3BlcmF0b3IKLSAgSGlMaW5rIGdkbW9CcmFjZXMJICAgICAgRnVuY3Rpb24KLSAgSGlMaW5rIGdkbW9TcGVjaWFsCSAgICAgIFNwZWNpYWwKLSAgSGlMaW5rIGdkbW9TdHJpbmcJICAgICAgU3RyaW5nCi0gIEhpTGluayBnZG1vQ2hhcmFjdGVyCSAgICAgIENoYXJhY3RlcgotICBIaUxpbmsgZ2Rtb1NwZWNpYWxDaGFyYWN0ZXIgZ2Rtb1NwZWNpYWwKLSAgSGlMaW5rIGdkbW9Db21tZW50CSAgICAgIENvbW1lbnQKLSAgSGlMaW5rIGdkbW9MaW5lQ29tbWVudCAgICAgIGdkbW9Db21tZW50Ci0gIEhpTGluayBnZG1vVHlwZQkgICAgICBUeXBlCitIaUxpbmsgZ2Rtb0NhdGVnb3J5CSAgICAgIFN0cnVjdHVyZQorSGlMaW5rIGdkbW9SZWxhdGlvbnNoaXAgICAgIE1hY3JvCitIaUxpbmsgZ2Rtb0RlZmluaXRpb24gICAgICAgU3RhdGVtZW50CitIaUxpbmsgZ2Rtb1JlZmVyZW5jZQkgICAgICBUeXBlCitIaUxpbmsgZ2Rtb0V4dGVuc2lvbgkgICAgICBPcGVyYXRvcgorSGlMaW5rIGdkbW9CcmFjZXMJICAgICAgRnVuY3Rpb24KK0hpTGluayBnZG1vU3BlY2lhbAkgICAgICBTcGVjaWFsCitIaUxpbmsgZ2Rtb1N0cmluZwkgICAgICBTdHJpbmcKK0hpTGluayBnZG1vQ2hhcmFjdGVyCSAgICAgIENoYXJhY3RlcgorSGlMaW5rIGdkbW9TcGVjaWFsQ2hhcmFjdGVyIGdkbW9TcGVjaWFsCitIaUxpbmsgZ2Rtb0NvbW1lbnQJICAgICAgQ29tbWVudAorSGlMaW5rIGdkbW9MaW5lQ29tbWVudCAgICAgIGdkbW9Db21tZW50CitIaUxpbmsgZ2Rtb1R5cGUJICAgICAgVHlwZQogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ2RtbyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZ2VkY29tLnZpbSBiL3J1bnRpbWUvc3ludGF4L2dlZGNvbS52aW0KaW5kZXggOTg4NTFjYy4uNDBhMTc4NiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZ2VkY29tLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9nZWRjb20udmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJUGF1bCBKb2huc29uIChwamNqQHRyYW5zZWRhLmNvbSkKICIgVmVyc2lvbiAxLjA1OSAtIDIzcmQgRGVjZW1iZXIgMTk5OQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNDEsMjYgKzM4LDE4IEBACiBzeW50YXggbWF0Y2ggZ2VkY29tX2RhdGUgIi4qIiBjb250YWluZWQKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZ2VkY29tX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2dlZGNvbV9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGdlZGNvbV9yZWNvcmQgU3RhdGVtZW50Ci0gIEhpTGluayBnZWRjb21faWQgQ29tbWVudAotICBIaUxpbmsgZ2VkY29tX2lpIFByZVByb2MKLSAgSGlMaW5rIGdlZGNvbV9pbiBUeXBlCi0gIEhpTGluayBnZWRjb21fbmFtZSBQcmVQcm9jCi0gIEhpTGluayBnZWRjb21fY25hbWUgVHlwZQotICBIaUxpbmsgZ2VkY29tX3N1cm5hbWUgSWRlbnRpZmllcgotICBIaUxpbmsgZ2VkY29tX2RhdGUgQ29uc3RhbnQKK0hpTGluayBnZWRjb21fcmVjb3JkIFN0YXRlbWVudAorSGlMaW5rIGdlZGNvbV9pZCBDb21tZW50CitIaUxpbmsgZ2VkY29tX2lpIFByZVByb2MKK0hpTGluayBnZWRjb21faW4gVHlwZQorSGlMaW5rIGdlZGNvbV9uYW1lIFByZVByb2MKK0hpTGluayBnZWRjb21fY25hbWUgVHlwZQorSGlMaW5rIGdlZGNvbV9zdXJuYW1lIElkZW50aWZpZXIKK0hpTGluayBnZWRjb21fZGF0ZSBDb25zdGFudAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ2VkY29tIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZ2l0Y29tbWl0LnZpbSBiL3J1bnRpbWUvc3ludGF4L2dpdGNvbW1pdC52aW0KaW5kZXggYjAzMTVhOS4uNWUwNjQyZiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZ2l0Y29tbWl0LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9naXRjb21taXQudmltCkBAIC0yLDcgKzIsNyBAQAogIiBMYW5ndWFnZToJZ2l0IGNvbW1pdCBmaWxlCiAiIE1haW50YWluZXI6CVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUub3JnPgogIiBGaWxlbmFtZXM6CSouZ2l0L0NPTU1JVF9FRElUTVNHCi0iIExhc3QgQ2hhbmdlOgkyMDEzIE1heSAzMAorIiBMYXN0IENoYW5nZToJMjAxNiBBdWcgMjkKIAogaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCkBAIC0zOSw5ICszOSwxMCBAQAogc3luIHJlZ2lvbiAgZ2l0Y29tbWl0U2VsZWN0ZWQJc3RhcnQ9L14jIENoYW5nZXMgdG8gYmUgY29tbWl0dGVkOi8gZW5kPS9eIyRcfF4jXEAhLyBjb250YWlucz1naXRjb21taXRIZWFkZXIsZ2l0Y29tbWl0SGVhZCxnaXRjb21taXRTZWxlY3RlZFR5cGUgZm9sZAogc3luIHJlZ2lvbiAgZ2l0Y29tbWl0VW5tZXJnZWQJc3RhcnQ9L14jIFVubWVyZ2VkIHBhdGhzOi8gZW5kPS9eIyRcfF4jXEAhLyBjb250YWlucz1naXRjb21taXRIZWFkZXIsZ2l0Y29tbWl0SGVhZCxnaXRjb21taXRVbm1lcmdlZFR5cGUgZm9sZAogCi1zeW4gbWF0Y2ggICBnaXRjb21taXREaXNjYXJkZWRUeXBlCSJcdFxAPD1bYS16XVthLXogXSpbYS16XTogImhlPWUtMgljb250YWluZWQgY29udGFpbmVkaW49Z2l0Y29tbWl0Q29tbWVudCBuZXh0Z3JvdXA9Z2l0Y29tbWl0RGlzY2FyZGVkRmlsZSBza2lwd2hpdGUKLXN5biBtYXRjaCAgIGdpdGNvbW1pdFNlbGVjdGVkVHlwZQkiXHRcQDw9W2Etel1bYS16IF0qW2Etel06ICJoZT1lLTIJY29udGFpbmVkIGNvbnRhaW5lZGluPWdpdGNvbW1pdENvbW1lbnQgbmV4dGdyb3VwPWdpdGNvbW1pdFNlbGVjdGVkRmlsZSBza2lwd2hpdGUKLXN5biBtYXRjaCAgIGdpdGNvbW1pdFVubWVyZ2VkVHlwZQkiXHRcQDw9W2Etel1bYS16IF0qW2Etel06ICJoZT1lLTIJY29udGFpbmVkIGNvbnRhaW5lZGluPWdpdGNvbW1pdENvbW1lbnQgbmV4dGdyb3VwPWdpdGNvbW1pdFVubWVyZ2VkRmlsZSBza2lwd2hpdGUKKworc3luIG1hdGNoICAgZ2l0Y29tbWl0RGlzY2FyZGVkVHlwZQkiXHRcQDw9W1s6bG93ZXI6XV1bXjpdKltbOmxvd2VyOl1dOiAiaGU9ZS0yCWNvbnRhaW5lZCBjb250YWluZWRpbj1naXRjb21taXRDb21tZW50IG5leHRncm91cD1naXRjb21taXREaXNjYXJkZWRGaWxlIHNraXB3aGl0ZQorc3luIG1hdGNoICAgZ2l0Y29tbWl0U2VsZWN0ZWRUeXBlCSJcdFxAPD1bWzpsb3dlcjpdXVteOl0qW1s6bG93ZXI6XV06ICJoZT1lLTIJY29udGFpbmVkIGNvbnRhaW5lZGluPWdpdGNvbW1pdENvbW1lbnQgbmV4dGdyb3VwPWdpdGNvbW1pdFNlbGVjdGVkRmlsZSBza2lwd2hpdGUKK3N5biBtYXRjaCAgIGdpdGNvbW1pdFVubWVyZ2VkVHlwZQkiXHRcQDw9W1s6bG93ZXI6XV1bXjpdKltbOmxvd2VyOl1dOiAiaGU9ZS0yCWNvbnRhaW5lZCBjb250YWluZWRpbj1naXRjb21taXRDb21tZW50IG5leHRncm91cD1naXRjb21taXRVbm1lcmdlZEZpbGUgc2tpcHdoaXRlCiBzeW4gbWF0Y2ggICBnaXRjb21taXREaXNjYXJkZWRGaWxlCSIuXHstXH1cJSgkXHwgLT4gXClcQD0iIGNvbnRhaW5lZCBuZXh0Z3JvdXA9Z2l0Y29tbWl0RGlzY2FyZGVkQXJyb3cKIHN5biBtYXRjaCAgIGdpdGNvbW1pdFNlbGVjdGVkRmlsZQkiLlx7LVx9XCUoJFx8IC0+IFwpXEA9IiBjb250YWluZWQgbmV4dGdyb3VwPWdpdGNvbW1pdFNlbGVjdGVkQXJyb3cKIHN5biBtYXRjaCAgIGdpdGNvbW1pdFVubWVyZ2VkRmlsZQkiLlx7LVx9XCUoJFx8IC0+IFwpXEA9IiBjb250YWluZWQgbmV4dGdyb3VwPWdpdGNvbW1pdFNlbGVjdGVkQXJyb3cKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2dpdHJlYmFzZS52aW0gYi9ydW50aW1lL3N5bnRheC9naXRyZWJhc2UudmltCmluZGV4IGE3NDYwMjguLmE5NDRjMTQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2dpdHJlYmFzZS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZ2l0cmViYXNlLnZpbQpAQCAtMiw3ICsyLDcgQEAKICIgTGFuZ3VhZ2U6CWdpdCByZWJhc2UgLS1pbnRlcmFjdGl2ZQogIiBNYWludGFpbmVyOglUaW0gUG9wZSA8dmltTk9TUEFNQHRwb3BlLm9yZz4KICIgRmlsZW5hbWVzOglnaXQtcmViYXNlLXRvZG8KLSIgTGFzdCBDaGFuZ2U6CTIwMTMgTWF5IDMwCisiIExhc3QgQ2hhbmdlOgkyMDE2IEF1ZyAyOQogCiBpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKQEAgLTE4LDYgKzE4LDcgQEAKIHN5biBtYXRjaCAgIGdpdHJlYmFzZVNxdWFzaCAiXHZecyUocXVhc2gpPT4iIG5leHRncm91cD1naXRyZWJhc2VDb21taXQgc2tpcHdoaXRlCiBzeW4gbWF0Y2ggICBnaXRyZWJhc2VGaXh1cCAgIlx2XmYlKGl4dXApPT4iICBuZXh0Z3JvdXA9Z2l0cmViYXNlQ29tbWl0IHNraXB3aGl0ZQogc3luIG1hdGNoICAgZ2l0cmViYXNlRXhlYyAgICJcdl4lKHh8ZXhlYyk+IiBuZXh0Z3JvdXA9Z2l0cmViYXNlQ29tbWFuZCBza2lwd2hpdGUKK3N5biBtYXRjaCAgIGdpdHJlYmFzZURyb3AgICAiXHZeZCUocm9wKT0+IiAgIG5leHRncm91cD1naXRyZWJhc2VDb21taXQgc2tpcHdoaXRlCiBzeW4gbWF0Y2ggICBnaXRyZWJhc2VTdW1tYXJ5ICIuKiIgICAgICAgICAgICAgICBjb250YWlucz1naXRyZWJhc2VIYXNoIGNvbnRhaW5lZAogc3luIG1hdGNoICAgZ2l0cmViYXNlQ29tbWFuZCAiLioiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZWQKIHN5biBtYXRjaCAgIGdpdHJlYmFzZUNvbW1lbnQgIl4jLioiICAgICAgICAgICAgIGNvbnRhaW5zPWdpdHJlYmFzZUhhc2gKQEAgLTMxLDYgKzMyLDcgQEAKIGhpIGRlZiBsaW5rIGdpdHJlYmFzZVNxdWFzaCAgICAgICAgIFR5cGUKIGhpIGRlZiBsaW5rIGdpdHJlYmFzZUZpeHVwICAgICAgICAgIFNwZWNpYWwKIGhpIGRlZiBsaW5rIGdpdHJlYmFzZUV4ZWMgICAgICAgICAgIEZ1bmN0aW9uCitoaSBkZWYgbGluayBnaXRyZWJhc2VEcm9wICAgICAgICAgICBDb21tZW50CiBoaSBkZWYgbGluayBnaXRyZWJhc2VTdW1tYXJ5ICAgICAgICBTdHJpbmcKIGhpIGRlZiBsaW5rIGdpdHJlYmFzZUNvbW1lbnQgICAgICAgIENvbW1lbnQKIGhpIGRlZiBsaW5rIGdpdHJlYmFzZVNxdWFzaEVycm9yICAgIEVycm9yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9naXRzZW5kZW1haWwudmltIGIvcnVudGltZS9zeW50YXgvZ2l0c2VuZGVtYWlsLnZpbQppbmRleCA4YjkzODExLi44ZmRmNjgzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9naXRzZW5kZW1haWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2dpdHNlbmRlbWFpbC52aW0KQEAgLTEsMTQgKzEsMTggQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOglnaXQgc2VuZC1lbWFpbCBtZXNzYWdlCiAiIE1haW50YWluZXI6CVRpbSBQb3BlCi0iIEZpbGVuYW1lczoJKi5tc2cuWzAtOV0qIChmaXJzdCBsaW5lIGlzICJGcm9tIC4uLiAjIFRoaXMgbGluZSBpcyBpZ25vcmVkLiIpCi0iIExhc3QgQ2hhbmdlOgkyMDEwIE1heSAyMQorIiBGaWxlbmFtZXM6CS5naXRzZW5kZW1haWwuKgorIiBMYXN0IENoYW5nZToJMjAxNiBBdWcgMjkKIAogaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCiBydW50aW1lISBzeW50YXgvbWFpbC52aW0KK3VubGV0ISBiOmN1cnJlbnRfc3ludGF4CitzeW4gaW5jbHVkZSBAZ2l0c2VuZGVtYWlsRGlmZiBzeW50YXgvZGlmZi52aW0KK3N5biByZWdpb24gZ2l0c2VuZGVtYWlsRGlmZiBzdGFydD0vXCUoXmRpZmYgLS1cJShnaXRcfGNjXHxjb21iaW5lZFwpIFwpXEA9LyBlbmQ9L14tLSAlLyBmb2xkIGNvbnRhaW5zPUBnaXRzZW5kZW1haWxEaWZmCisKIHN5biBjYXNlIG1hdGNoCiAKIHN5biBtYXRjaCAgIGdpdHNlbmRlbWFpbENvbW1lbnQgIlwlXkZyb20uKiMuKiIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2drcmVsbG1yYy52aW0gYi9ydW50aW1lL3N5bnRheC9na3JlbGxtcmMudmltCmluZGV4IDZjZTEyMzguLjk4NDBhOTAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2drcmVsbG1yYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZ2tyZWxsbXJjLnZpbQpAQCAtNiwxOSArNiwxMiBAQAogIiBVUkw6IGh0dHA6Ly90cmlmaWMuYXRoLmN4L0Z0cC92aW0vc3ludGF4L2drcmVsbG1yYy52aW0KIAogIiBTZXR1cAotaWYgdmVyc2lvbiA+PSA2MDAKLQlpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQotCQlmaW5pc2gKLQllbmRpZgotZWxzZQotCXN5bnRheCBjbGVhcgorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisJZmluaXNoCiBlbmRpZgogCi1pZiB2ZXJzaW9uID49IDYwMAotCXNldGxvY2FsIGlza2V5d29yZD1fLC0sYS16LEEtWiw0OC01NwotZWxzZQotCXNldCBpc2tleXdvcmQ9XywtLGEteixBLVosNDgtNTcKLWVuZGlmCitzZXRsb2NhbCBpc2tleXdvcmQ9XywtLGEteixBLVosNDgtNTcKIAogc3luIGNhc2UgbWF0Y2gKIApAQCAtNTUsMzcgKzQ4LDMwIEBACiBzeW4ga2V5d29yZCBna3JlbGxtcmNTdHlsZUl0ZW0gdGV4dGNvbG9yIGFsdF90ZXh0Y29sb3IgZm9udCBhbHRfZm9udCB0cmFuc3BhcmVuY3kgYm9yZGVyIGxhYmVsX3Bvc2l0aW9uIG1hcmdpbiBtYXJnaW5zIGxlZnRfbWFyZ2luIHJpZ2h0X21hcmdpbiB0b3BfbWFyZ2luIGJvdHRvbV9tYXJnaW4ga3JlbGxfZGVwdGgga3JlbGxfeW9mZiBrcmVsbF94X2hvdCBrcmVsbF9leHBhbmQga3JlbGxfbGVmdF9tYXJnaW4ga3JlbGxfcmlnaHRfbWFyZ2luCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZwotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2d0a3JjX3N5bnRheF9pbml0cyIpCi0JaWYgdmVyc2lvbiA8IDUwOAotCQlsZXQgZGlkX2d0a3JjX3N5bnRheF9pbml0cyA9IDEKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLQllbHNlCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotCWVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCUhpTGluayBna3JlbGxtcmNDb21tZW50IENvbW1lbnQKLQlIaUxpbmsgZ2tyZWxsbXJjRml4bWUgVG9kbworSGlMaW5rIGdrcmVsbG1yY0NvbW1lbnQgQ29tbWVudAorSGlMaW5rIGdrcmVsbG1yY0ZpeG1lIFRvZG8KIAotCUhpTGluayBna3JlbGxtcmNTdHJpbmcgZ2tyZWxsbXJjQ29uc3RhbnQKLQlIaUxpbmsgZ2tyZWxsbXJjTnVtYmVyIGdrcmVsbG1yY0NvbnN0YW50Ci0JSGlMaW5rIGdrcmVsbG1yY1JHQkNvbG9yIGdrcmVsbG1yY0NvbnN0YW50Ci0JSGlMaW5rIGdrcmVsbG1yY0V4cGFuZE1vZGUgZ2tyZWxsbXJjQ29uc3RhbnQKLQlIaUxpbmsgZ2tyZWxsbXJjQ29uc3RhbnQgQ29uc3RhbnQKK0hpTGluayBna3JlbGxtcmNTdHJpbmcgZ2tyZWxsbXJjQ29uc3RhbnQKK0hpTGluayBna3JlbGxtcmNOdW1iZXIgZ2tyZWxsbXJjQ29uc3RhbnQKK0hpTGluayBna3JlbGxtcmNSR0JDb2xvciBna3JlbGxtcmNDb25zdGFudAorSGlMaW5rIGdrcmVsbG1yY0V4cGFuZE1vZGUgZ2tyZWxsbXJjQ29uc3RhbnQKK0hpTGluayBna3JlbGxtcmNDb25zdGFudCBDb25zdGFudAogCi0JSGlMaW5rIGdrcmVsbG1yY01ldGVyTmFtZSBna3JlbGxtcmNDbGFzcwotCUhpTGluayBna3JlbGxtcmNDaGFydE5hbWUgZ2tyZWxsbXJjQ2xhc3MKLQlIaUxpbmsgZ2tyZWxsbXJjU3BlY2lhbENsYXNzTmFtZSBna3JlbGxtcmNDbGFzcwotCUhpTGluayBna3JlbGxtcmNDbGFzcyBUeXBlCitIaUxpbmsgZ2tyZWxsbXJjTWV0ZXJOYW1lIGdrcmVsbG1yY0NsYXNzCitIaUxpbmsgZ2tyZWxsbXJjQ2hhcnROYW1lIGdrcmVsbG1yY0NsYXNzCitIaUxpbmsgZ2tyZWxsbXJjU3BlY2lhbENsYXNzTmFtZSBna3JlbGxtcmNDbGFzcworSGlMaW5rIGdrcmVsbG1yY0NsYXNzIFR5cGUKIAotCUhpTGluayBna3JlbGxtcmNHbG9iYWwgZ2tyZWxsbXJjSXRlbQotCUhpTGluayBna3JlbGxtcmNCdWlsdGluRXh0IGdrcmVsbG1yY0l0ZW0KLQlIaUxpbmsgZ2tyZWxsbXJjU3R5bGVJdGVtIGdrcmVsbG1yY0l0ZW0KLQlIaUxpbmsgZ2tyZWxsbXJjSXRlbSBGdW5jdGlvbgorSGlMaW5rIGdrcmVsbG1yY0dsb2JhbCBna3JlbGxtcmNJdGVtCitIaUxpbmsgZ2tyZWxsbXJjQnVpbHRpbkV4dCBna3JlbGxtcmNJdGVtCitIaUxpbmsgZ2tyZWxsbXJjU3R5bGVJdGVtIGdrcmVsbG1yY0l0ZW0KK0hpTGluayBna3JlbGxtcmNJdGVtIEZ1bmN0aW9uCiAKLQlIaUxpbmsgZ2tyZWxsbXJjU2V0Q21kIFNwZWNpYWwKLQlIaUxpbmsgZ2tyZWxsbXJjU3R5bGVDbWQgU3RhdGVtZW50CitIaUxpbmsgZ2tyZWxsbXJjU2V0Q21kIFNwZWNpYWwKK0hpTGluayBna3JlbGxtcmNTdHlsZUNtZCBTdGF0ZW1lbnQKIAotCWRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ2tyZWxsbXJjIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZ25hc2gudmltIGIvcnVudGltZS9zeW50YXgvZ25hc2gudmltCmluZGV4IGY5ZTJiNTEuLmNjZTUyMmQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2duYXNoLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9nbmFzaC52aW0KQEAgLTE1LDExICsxNSw4IEBACiAiCQlWaW0gaXMgQ2hhcml0eXdhcmUsIHNlZSAiOmhlbHAgVWdhbmRhIgogIgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpIHx8ICZjb21wYXRpYmxlCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikgfHwgJmNvbXBhdGlibGUKICAgICBmaW5pc2gKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2dudXBsb3QudmltIGIvcnVudGltZS9zeW50YXgvZ251cGxvdC52aW0KaW5kZXggZDg1OTMyZC4uMzhhYWRmZiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZ251cGxvdC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZ251cGxvdC52aW0KQEAgLTIwLDkgKzIwLDggQEAKICIgRm9yIHZpbSB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwogIiBGb3IgdmltIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTAxLDU0ICs1MDAsNDYgQEAKIHN5biBrZXl3b3JkIGdudXBsb3RTdGF0ZW1lbnQJdW5zZXQgdXBkYXRlCiAKICIgLS0tLSBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nIC0tLS0gIgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZ251cGxvdF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9nbnVwbG90X3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIC0tLS0gQ29tbWVudHMgLS0tLSAiCi0gIEhpTGluayBnbnVwbG90Q29tbWVudAkJQ29tbWVudAorIiAtLS0tIENvbW1lbnRzIC0tLS0gIgorSGlMaW5rIGdudXBsb3RDb21tZW50CQlDb21tZW50CiAKLSAgIiAtLS0tIENvbnN0YW50cyAtLS0tICIKLSAgSGlMaW5rIGdudXBsb3RTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgZ251cGxvdE51bWJlcgkJTnVtYmVyCi0gIEhpTGluayBnbnVwbG90RmxvYXQJCUZsb2F0CisiIC0tLS0gQ29uc3RhbnRzIC0tLS0gIgorSGlMaW5rIGdudXBsb3RTdHJpbmcJCVN0cmluZworSGlMaW5rIGdudXBsb3ROdW1iZXIJCU51bWJlcgorSGlMaW5rIGdudXBsb3RGbG9hdAkJRmxvYXQKIAotICAiIC0tLS0gSWRlbnRpZmllcnMgLS0tLSAiCi0gIEhpTGluayBnbnVwbG90SWRlbnRpZmllcglJZGVudGlmaWVyCisiIC0tLS0gSWRlbnRpZmllcnMgLS0tLSAiCitIaUxpbmsgZ251cGxvdElkZW50aWZpZXIJSWRlbnRpZmllcgogCi0gICIgLS0tLSBTdGF0ZW1lbnRzIC0tLS0gIgotICBIaUxpbmsgZ251cGxvdENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluayBnbnVwbG90UmVwZWF0CQlSZXBlYXQKLSAgSGlMaW5rIGdudXBsb3RLZXl3b3JkCQlLZXl3b3JkCi0gIEhpTGluayBnbnVwbG90T3BlcmF0b3IJT3BlcmF0b3IKKyIgLS0tLSBTdGF0ZW1lbnRzIC0tLS0gIgorSGlMaW5rIGdudXBsb3RDb25kaXRpb25hbAlDb25kaXRpb25hbAorSGlMaW5rIGdudXBsb3RSZXBlYXQJCVJlcGVhdAorSGlMaW5rIGdudXBsb3RLZXl3b3JkCQlLZXl3b3JkCitIaUxpbmsgZ251cGxvdE9wZXJhdG9yCU9wZXJhdG9yCiAKLSAgIiAtLS0tIFByZVByb2NzIC0tLS0gIgotICBIaUxpbmsgZ251cGxvdE1hY3JvCQlNYWNybworIiAtLS0tIFByZVByb2NzIC0tLS0gIgorSGlMaW5rIGdudXBsb3RNYWNybwkJTWFjcm8KIAotICAiIC0tLS0gVHlwZXMgLS0tLSAiCi0gIEhpTGluayBnbnVwbG90U3RhdGVtZW50CVR5cGUKLSAgSGlMaW5rIGdudXBsb3RGdW5jCQlJZGVudGlmaWVyCisiIC0tLS0gVHlwZXMgLS0tLSAiCitIaUxpbmsgZ251cGxvdFN0YXRlbWVudAlUeXBlCitIaUxpbmsgZ251cGxvdEZ1bmMJCUlkZW50aWZpZXIKIAotICAiIC0tLS0gU3BlY2lhbHMgLS0tLSAiCi0gIEhpTGluayBnbnVwbG90U3BlY2lhbAkJU3BlY2lhbAotICBIaUxpbmsgZ251cGxvdFVuaXQJCVNwZWNpYWwKLSAgSGlMaW5rIGdudXBsb3RFeHRlcm5hbAlTcGVjaWFsCisiIC0tLS0gU3BlY2lhbHMgLS0tLSAiCitIaUxpbmsgZ251cGxvdFNwZWNpYWwJCVNwZWNpYWwKK0hpTGluayBnbnVwbG90VW5pdAkJU3BlY2lhbAorSGlMaW5rIGdudXBsb3RFeHRlcm5hbAlTcGVjaWFsCiAKLSAgIiAtLS0tIEVycm9ycyAtLS0tICIKLSAgSGlMaW5rIGdudXBsb3RFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIGdudXBsb3RPY3RhbEVycm9yCUVycm9yCisiIC0tLS0gRXJyb3JzIC0tLS0gIgorSGlMaW5rIGdudXBsb3RFcnJvcgkJRXJyb3IKK0hpTGluayBnbnVwbG90T2N0YWxFcnJvcglFcnJvcgogCi0gICIgLS0tLSBUb2RvcyAtLS0tICIKLSAgSGlMaW5rIGdudXBsb3RUb2RvCQlUb2RvCisiIC0tLS0gVG9kb3MgLS0tLSAiCitIaUxpbmsgZ251cGxvdFRvZG8JCVRvZG8KIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImdudXBsb3QiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2dwLnZpbSBiL3J1bnRpbWUvc3ludGF4L2dwLnZpbQppbmRleCBmNDZhNDY1Li4yZTg5OGRhIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9ncC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZ3AudmltCkBAIC00LDkgKzQsOCBAQAogIiBMYXN0IGNoYW5nZToJMjAxMiBKYW4gMDgKICIgVVJMOgkJaHR0cDovL3BhcmkubWF0aC51LWJvcmRlYXV4LmZyCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTU5LDMzICs1OCwyNiBAQAogc3ludGF4IG1hdGNoIGdwUGFyZW5FcnJvcgkiKSIKIHN5bnRheCBtYXRjaCBncEluUGFyZW4gY29udGFpbmVkICJbe31dIgogCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZ3Bfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZ3Bfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBncENvbmRpdGlvbmFsCQlDb25kaXRpb25hbAotICBIaUxpbmsgZ3BSZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgZ3BFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIGdwUGFyZW5FcnJvcgkJZ3BFcnJvcgotICBIaUxpbmsgZ3BJblBhcmVuCQlncEVycm9yCi0gIEhpTGluayBncFN0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBncFN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBncENvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIGdwSW50ZXJmYWNlCQlUeXBlCi0gIEhpTGluayBncElucHV0CQlUeXBlCi0gIEhpTGluayBncEludGVyZmFjZUtleQkJU3RhdGVtZW50Ci0gIEhpTGluayBncEZ1bmN0aW9uCQlGdW5jdGlvbgotICBIaUxpbmsgZ3BTY29wZQkJVHlwZQotICAiIGNvbnRhaW5lZCBvbmVzCi0gIEhpTGluayBncFNwZWNpYWwJCVNwZWNpYWwKLSAgSGlMaW5rIGdwVG9kbwkJCVRvZG8KLSAgSGlMaW5rIGdwQXJncwkJCVR5cGUKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitIaUxpbmsgZ3BDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKK0hpTGluayBncFJlcGVhdAkJUmVwZWF0CitIaUxpbmsgZ3BFcnJvcgkJRXJyb3IKK0hpTGluayBncFBhcmVuRXJyb3IJCWdwRXJyb3IKK0hpTGluayBncEluUGFyZW4JCWdwRXJyb3IKK0hpTGluayBncFN0YXRlbWVudAkJU3RhdGVtZW50CitIaUxpbmsgZ3BTdHJpbmcJCVN0cmluZworSGlMaW5rIGdwQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGdwSW50ZXJmYWNlCQlUeXBlCitIaUxpbmsgZ3BJbnB1dAkJVHlwZQorSGlMaW5rIGdwSW50ZXJmYWNlS2V5CQlTdGF0ZW1lbnQKK0hpTGluayBncEZ1bmN0aW9uCQlGdW5jdGlvbgorSGlMaW5rIGdwU2NvcGUJCVR5cGUKKyIgY29udGFpbmVkIG9uZXMKK0hpTGluayBncFNwZWNpYWwJCVNwZWNpYWwKK0hpTGluayBncFRvZG8JCQlUb2RvCitIaUxpbmsgZ3BBcmdzCQkJVHlwZQorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ3AiCiBsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2dyYWRzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2dyYWRzLnZpbQppbmRleCAwYjg4NTQ5Li4wZjA5NDgzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9ncmFkcy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZ3JhZHMudmltCkBAIC03LDExICs3LDggQEAKICIgVGhpcyBzeW50YXggZmlsZSBkZWZpbmVzIGhpZ2hsaWdodGluZyBmb3Igb25seSB2ZXJ5IGZldyBmZWF0dXJlcyBvZgogIiB0aGUgR3JBRFMgc2NyaXB0aW5nIGxhbmd1YWdlLgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTMsMzQgKzUwLDI2IEBACiAiIHN5biBtYXRjaCBncmFkc1R5cG9zCSIhPSIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGdzIGhpZ2hsaWdodGluZyt5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9nc19zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0JbGV0IGRpZF9nc19zeW5faW5pdHMgPSAxCi0JY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhncyBoaWdobGlnaHRpbmcreWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgZ3JhZHNTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIGdyYWRzU3RhdGVtZW50CQlTdGF0ZW1lbnQKIAotICBIaUxpbmsgZ3JhZHNTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgZ3JhZHNOdW1iZXIJCU51bWJlcgorSGlMaW5rIGdyYWRzU3RyaW5nCQlTdHJpbmcKK0hpTGluayBncmFkc051bWJlcgkJTnVtYmVyCiAKLSAgSGlMaW5rIGdyYWRzRml4VmFyaWFibGVzCVNwZWNpYWwKLSAgSGlMaW5rIGdyYWRzVmFyaWFibGVzCQlJZGVudGlmaWVyCi0gIEhpTGluayBncmFkc2dsb2JhbFZhcmlhYmxlcwlTcGVjaWFsCi0gIEhpTGluayBncmFkc0NvbnN0CQlTcGVjaWFsCitIaUxpbmsgZ3JhZHNGaXhWYXJpYWJsZXMJU3BlY2lhbAorSGlMaW5rIGdyYWRzVmFyaWFibGVzCQlJZGVudGlmaWVyCitIaUxpbmsgZ3JhZHNnbG9iYWxWYXJpYWJsZXMJU3BlY2lhbAorSGlMaW5rIGdyYWRzQ29uc3QJCVNwZWNpYWwKIAotICBIaUxpbmsgZ3JhZHNDbGFzc01ldGhvZHMJRnVuY3Rpb24KK0hpTGluayBncmFkc0NsYXNzTWV0aG9kcwlGdW5jdGlvbgogCi0gIEhpTGluayBncmFkc09wZXJhdG9yCQlPcGVyYXRvcgotICBIaUxpbmsgZ3JhZHNDb21tZW50CQlDb21tZW50CitIaUxpbmsgZ3JhZHNPcGVyYXRvcgkJT3BlcmF0b3IKK0hpTGluayBncmFkc0NvbW1lbnQJCUNvbW1lbnQKIAotICBIaUxpbmsgZ3JhZHNUeXBvcwkJRXJyb3IKK0hpTGluayBncmFkc1R5cG9zCQlFcnJvcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ3JhZHMiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ncmV0bC52aW0gYi9ydW50aW1lL3N5bnRheC9ncmV0bC52aW0KaW5kZXggMzcyOTliOC4uNDBlYjU0NCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZ3JldGwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2dyZXRsLnZpbQpAQCAtNCwyMCArNCwxMyBAQAogIiBMYXN0IENoYW5nZTogIDIwMDYgQXByIDMwCiAiIEZpbGVuYW1lczoJKi5pbnAgKi5ncmV0bAogIiBVUkw6CWh0dHA6Ly91b3Npcy5taWYudnUubHQvfnplbWx5cy92aW0tc3ludGF4L2dyZXRsLnZpbQotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotaWYgdmVyc2lvbiA+PSA2MDAKLSAgc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsXywuCi1lbHNlCi0gIHNldCBpc2tleXdvcmQ9QCw0OC01NyxfLC4KLWVuZGlmCitzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NyxfLC4KIAogc3luIGNhc2UgbWF0Y2gKIApAQCAtNjgsMzQgKzYxLDI2IEBACiBzeW4gcmVnaW9uIGdCbG9ja0NvbW1lbnQgbWF0Y2hncm91cD1nQ29tbWVudFN0YXJ0IHN0YXJ0PSIoXCoiIGVuZD0iXCopIgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3Jfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKLSAgSGlMaW5rIGdDb21tZW50ICAgICAgQ29tbWVudAotICBIaUxpbmsgZ0NvbW1lbnRTdGFydCBDb21tZW50Ci0gIEhpTGluayBnQmxvY2tDb21tZW50IENvbW1lbnQKLSAgSGlMaW5rIGdTdHJpbmcgICAgICAgU3RyaW5nCi0gIEhpTGluayBnTnVtYmVyICAgICAgIE51bWJlcgotICBIaUxpbmsgZ0Jvb2xlYW4gICAgICBCb29sZWFuCi0gIEhpTGluayBnRmxvYXQgICAgICAgIEZsb2F0Ci0gIEhpTGluayBnQ29tbWFuZHMgICAgIFJlcGVhdAkKLSAgSGlMaW5rIGdHZW5yRnVuYyAgICAgVHlwZQotICBIaUxpbmsgZ0RlbGltaXRlciAgICBEZWxpbWl0ZXIKLSAgSGlMaW5rIGdFcnJvciAgICAgICAgRXJyb3IKLSAgSGlMaW5rIGdCcmFjZUVycm9yICAgRXJyb3IKLSAgSGlMaW5rIGdDdXJseUVycm9yICAgRXJyb3IKLSAgSGlMaW5rIGdQYXJlbkVycm9yICAgRXJyb3IKLSAgSGlMaW5rIGdJZGVudGlmaWVyICAgTm9ybWFsCi0gIEhpTGluayBnVmFyaWFibGUgICAgIElkZW50aWZpZXIKLSAgSGlMaW5rIGdBcnJvdwkgICAgICAgUmVwZWF0Ci0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CitIaUxpbmsgZ0NvbW1lbnQgICAgICBDb21tZW50CitIaUxpbmsgZ0NvbW1lbnRTdGFydCBDb21tZW50CitIaUxpbmsgZ0Jsb2NrQ29tbWVudCBDb21tZW50CitIaUxpbmsgZ1N0cmluZyAgICAgICBTdHJpbmcKK0hpTGluayBnTnVtYmVyICAgICAgIE51bWJlcgorSGlMaW5rIGdCb29sZWFuICAgICAgQm9vbGVhbgorSGlMaW5rIGdGbG9hdCAgICAgICAgRmxvYXQKK0hpTGluayBnQ29tbWFuZHMgICAgIFJlcGVhdAkKK0hpTGluayBnR2VuckZ1bmMgICAgIFR5cGUKK0hpTGluayBnRGVsaW1pdGVyICAgIERlbGltaXRlcgorSGlMaW5rIGdFcnJvciAgICAgICAgRXJyb3IKK0hpTGluayBnQnJhY2VFcnJvciAgIEVycm9yCitIaUxpbmsgZ0N1cmx5RXJyb3IgICBFcnJvcgorSGlMaW5rIGdQYXJlbkVycm9yICAgRXJyb3IKK0hpTGluayBnSWRlbnRpZmllciAgIE5vcm1hbAorSGlMaW5rIGdWYXJpYWJsZSAgICAgSWRlbnRpZmllcgorSGlMaW5rIGdBcnJvdwkgICAgICAgUmVwZWF0CitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheD0iZ3JldGwiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2dyb292eS52aW0gYi9ydW50aW1lL3N5bnRheC9ncm9vdnkudmltCmluZGV4IGRjMzk2NzcuLjg0ZTM3NzkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2dyb292eS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZ3Jvb3Z5LnZpbQpAQCAtNDQsMTEgKzQ0LDkgQEAKICIgTGV0IG1lIGtub3cgaWYgeW91IGxpa2UgaXQgb3Igc2VuZCBtZSBwYXRjaGVzLCBzbyB0aGF0IEkgY2FuIGltcHJvdmUgaXQKICIgd2hlbiBJIGhhdmUgdGltZQogCi0iIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKIGlmICFleGlzdHMoIm1haW5fc3ludGF4IikKLSAgaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5bnRheCBjbGVhcgotICBlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKICAgZW5kaWYKICAgIiB3ZSBkZWZpbmUgaXQgaGVyZSBzbyB0aGF0IGluY2x1ZGVkIGZpbGVzIGNhbiB0ZXN0IGZvciBpdApAQCAtNTksMTEgKzU3LDcgQEAKIHNldCBjcG8mdmltCiAKICIgZG9uJ3QgdXNlIHN0YW5kYXJkIEhpTGluaywgaXQgd2lsbCBub3Qgd29yayB3aXRoIGluY2x1ZGVkIHN5bnRheCBmaWxlcwotaWYgdmVyc2lvbiA8IDUwOAotICBjb21tYW5kISAtbmFyZ3M9KyBHcm9vdnlIaUxpbmsgaGkgbGluayA8YXJncz4KLWVsc2UKLSAgY29tbWFuZCEgLW5hcmdzPSsgR3Jvb3Z5SGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotZW5kaWYKK2NvbW1hbmQhIC1uYXJncz0rIEdyb292eUhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAogIiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIiBKYXZhIHN0dWZmIHRha2VuIGZyb20gamF2YS52aW0KQEAgLTMyOSwyMyArMzIzLDIxIEBACiAKICAgc3luIGNsdXN0ZXIgZ3Jvb3Z5VG9wIGFkZD1ncm9vdnlEZWJ1ZwogCi0gIGlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jX3N5bl9pbml0cyIpCi0gICAgR3Jvb3Z5SGlMaW5rIGdyb292eURlYnVnICAgICAgICAgICAgICAgICBEZWJ1ZwotICAgIEdyb292eUhpTGluayBncm9vdnlEZWJ1Z1N0cmluZyAgICAgICAgICAgRGVidWdTdHJpbmcKLSAgICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5RGVidWdTdHJpbmdFcnJvciAgICAgIGdyb292eUVycm9yCi0gICAgR3Jvb3Z5SGlMaW5rIGdyb292eURlYnVnVHlwZSAgICAgICAgICAgICBEZWJ1Z1R5cGUKLSAgICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5RGVidWdCb29sZWFuICAgICAgICAgIERlYnVnQm9vbGVhbgotICAgIEdyb292eUhpTGluayBncm9vdnlEZWJ1Z051bWJlciAgICAgICAgICAgRGVidWcKLSAgICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5RGVidWdTcGVjaWFsICAgICAgICAgIERlYnVnU3BlY2lhbAotICAgIEdyb292eUhpTGluayBncm9vdnlEZWJ1Z1NwZWNpYWxDaGFyYWN0ZXIgRGVidWdTcGVjaWFsCi0gICAgR3Jvb3Z5SGlMaW5rIGdyb292eURlYnVnQ2hhcmFjdGVyICAgICAgICBEZWJ1Z1N0cmluZwotICAgIEdyb292eUhpTGluayBncm9vdnlEZWJ1Z1BhcmVuICAgICAgICAgICAgRGVidWcKKyAgR3Jvb3Z5SGlMaW5rIGdyb292eURlYnVnICAgICAgICAgICAgICAgICBEZWJ1ZworICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5RGVidWdTdHJpbmcgICAgICAgICAgIERlYnVnU3RyaW5nCisgIEdyb292eUhpTGluayBncm9vdnlEZWJ1Z1N0cmluZ0Vycm9yICAgICAgZ3Jvb3Z5RXJyb3IKKyAgR3Jvb3Z5SGlMaW5rIGdyb292eURlYnVnVHlwZSAgICAgICAgICAgICBEZWJ1Z1R5cGUKKyAgR3Jvb3Z5SGlMaW5rIGdyb292eURlYnVnQm9vbGVhbiAgICAgICAgICBEZWJ1Z0Jvb2xlYW4KKyAgR3Jvb3Z5SGlMaW5rIGdyb292eURlYnVnTnVtYmVyICAgICAgICAgICBEZWJ1ZworICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5RGVidWdTcGVjaWFsICAgICAgICAgIERlYnVnU3BlY2lhbAorICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5RGVidWdTcGVjaWFsQ2hhcmFjdGVyIERlYnVnU3BlY2lhbAorICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5RGVidWdDaGFyYWN0ZXIgICAgICAgIERlYnVnU3RyaW5nCisgIEdyb292eUhpTGluayBncm9vdnlEZWJ1Z1BhcmVuICAgICAgICAgICAgRGVidWcKIAotICAgIEdyb292eUhpTGluayBEZWJ1Z1N0cmluZyAgICAgICAgICAgICAgIFN0cmluZwotICAgIEdyb292eUhpTGluayBEZWJ1Z1NwZWNpYWwgICAgICAgICAgICAgIFNwZWNpYWwKLSAgICBHcm9vdnlIaUxpbmsgRGVidWdCb29sZWFuICAgICAgICAgICAgICBCb29sZWFuCi0gICAgR3Jvb3Z5SGlMaW5rIERlYnVnVHlwZSAgICAgICAgICAgICAgICAgVHlwZQotICBlbmRpZgorICBHcm9vdnlIaUxpbmsgRGVidWdTdHJpbmcgICAgICAgICAgICAgICBTdHJpbmcKKyAgR3Jvb3Z5SGlMaW5rIERlYnVnU3BlY2lhbCAgICAgICAgICAgICAgU3BlY2lhbAorICBHcm9vdnlIaUxpbmsgRGVidWdCb29sZWFuICAgICAgICAgICAgICBCb29sZWFuCisgIEdyb292eUhpTGluayBEZWJ1Z1R5cGUgICAgICAgICAgICAgICAgIFR5cGUKIGVuZGlmCiAKICIgTWF0Y2ggYWxsIEV4Y2VwdGlvbiBjbGFzc2VzCkBAIC0zOTgsNTkgKzM5MCw1NCBAQAogCiAiICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICIgamF2YS52aW0gZGVmYXVsdCBoaWdobGlnaHRpbmcKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ncm9vdnlfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZ3Jvb3Z5X3N5bl9pbml0cyA9IDEKLSAgZW5kaWYKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eUZ1bmNEZWYJCUZ1bmN0aW9uCi0gIEdyb292eUhpTGluayBncm9vdnlCcmFjZXMJCUZ1bmN0aW9uCi0gIEdyb292eUhpTGluayBncm9vdnlCcmFuY2gJCUNvbmRpdGlvbmFsCi0gIEdyb292eUhpTGluayBncm9vdnlVc2VyTGFiZWxSZWYJZ3Jvb3Z5VXNlckxhYmVsCi0gIEdyb292eUhpTGluayBncm9vdnlMYWJlbAkJTGFiZWwKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eVVzZXJMYWJlbAkJTGFiZWwKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eUNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEdyb292eUhpTGluayBncm9vdnlSZXBlYXQJCVJlcGVhdAotICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5RXhjZXB0aW9ucwkJRXhjZXB0aW9uCi0gIEdyb292eUhpTGluayBncm9vdnlBc3NlcnQgCQlTdGF0ZW1lbnQKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eVN0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eU1ldGhvZERlY2wJCWdyb292eVN0b3JhZ2VDbGFzcwotICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5Q2xhc3NEZWNsCQlncm9vdnlTdG9yYWdlQ2xhc3MKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eVNjb3BlRGVjbAkJZ3Jvb3Z5U3RvcmFnZUNsYXNzCi0gIEdyb292eUhpTGluayBncm9vdnlCb29sZWFuCQlCb29sZWFuCi0gIEdyb292eUhpTGluayBncm9vdnlTcGVjaWFsCQlTcGVjaWFsCi0gIEdyb292eUhpTGluayBncm9vdnlTcGVjaWFsRXJyb3IJRXJyb3IKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eVNwZWNpYWxDaGFyRXJyb3IJRXJyb3IKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eVN0cmluZwkJU3RyaW5nCi0gIEdyb292eUhpTGluayBncm9vdnlSZWdleENoYXIJCVN0cmluZwotICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5Q2hhcmFjdGVyCQlDaGFyYWN0ZXIKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eVNwZWNpYWxDaGFyCVNwZWNpYWxDaGFyCi0gIEdyb292eUhpTGluayBncm9vdnlOdW1iZXIJCU51bWJlcgotICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5RXJyb3IJCUVycm9yCi0gIEdyb292eUhpTGluayBncm9vdnlTdHJpbmdFcnJvcglFcnJvcgotICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5U3RhdGVtZW50CQlTdGF0ZW1lbnQKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eU9wZXJhdG9yCQlPcGVyYXRvcgotICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5Q29tbWVudAkJQ29tbWVudAotICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5RG9jQ29tbWVudAkJQ29tbWVudAotICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5TGluZUNvbW1lbnQJQ29tbWVudAotICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5Q29uc3RhbnQJCUNvbnN0YW50Ci0gIEdyb292eUhpTGluayBncm9vdnlUeXBlZGVmCQlUeXBlZGVmCi0gIEdyb292eUhpTGluayBncm9vdnlUb2RvCQlUb2RvCitHcm9vdnlIaUxpbmsgZ3Jvb3Z5RnVuY0RlZgkJRnVuY3Rpb24KK0dyb292eUhpTGluayBncm9vdnlCcmFjZXMJCUZ1bmN0aW9uCitHcm9vdnlIaUxpbmsgZ3Jvb3Z5QnJhbmNoCQlDb25kaXRpb25hbAorR3Jvb3Z5SGlMaW5rIGdyb292eVVzZXJMYWJlbFJlZglncm9vdnlVc2VyTGFiZWwKK0dyb292eUhpTGluayBncm9vdnlMYWJlbAkJTGFiZWwKK0dyb292eUhpTGluayBncm9vdnlVc2VyTGFiZWwJCUxhYmVsCitHcm9vdnlIaUxpbmsgZ3Jvb3Z5Q29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0dyb292eUhpTGluayBncm9vdnlSZXBlYXQJCVJlcGVhdAorR3Jvb3Z5SGlMaW5rIGdyb292eUV4Y2VwdGlvbnMJCUV4Y2VwdGlvbgorR3Jvb3Z5SGlMaW5rIGdyb292eUFzc2VydCAJCVN0YXRlbWVudAorR3Jvb3Z5SGlMaW5rIGdyb292eVN0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKK0dyb292eUhpTGluayBncm9vdnlNZXRob2REZWNsCQlncm9vdnlTdG9yYWdlQ2xhc3MKK0dyb292eUhpTGluayBncm9vdnlDbGFzc0RlY2wJCWdyb292eVN0b3JhZ2VDbGFzcworR3Jvb3Z5SGlMaW5rIGdyb292eVNjb3BlRGVjbAkJZ3Jvb3Z5U3RvcmFnZUNsYXNzCitHcm9vdnlIaUxpbmsgZ3Jvb3Z5Qm9vbGVhbgkJQm9vbGVhbgorR3Jvb3Z5SGlMaW5rIGdyb292eVNwZWNpYWwJCVNwZWNpYWwKK0dyb292eUhpTGluayBncm9vdnlTcGVjaWFsRXJyb3IJRXJyb3IKK0dyb292eUhpTGluayBncm9vdnlTcGVjaWFsQ2hhckVycm9yCUVycm9yCitHcm9vdnlIaUxpbmsgZ3Jvb3Z5U3RyaW5nCQlTdHJpbmcKK0dyb292eUhpTGluayBncm9vdnlSZWdleENoYXIJCVN0cmluZworR3Jvb3Z5SGlMaW5rIGdyb292eUNoYXJhY3RlcgkJQ2hhcmFjdGVyCitHcm9vdnlIaUxpbmsgZ3Jvb3Z5U3BlY2lhbENoYXIJU3BlY2lhbENoYXIKK0dyb292eUhpTGluayBncm9vdnlOdW1iZXIJCU51bWJlcgorR3Jvb3Z5SGlMaW5rIGdyb292eUVycm9yCQlFcnJvcgorR3Jvb3Z5SGlMaW5rIGdyb292eVN0cmluZ0Vycm9yCUVycm9yCitHcm9vdnlIaUxpbmsgZ3Jvb3Z5U3RhdGVtZW50CQlTdGF0ZW1lbnQKK0dyb292eUhpTGluayBncm9vdnlPcGVyYXRvcgkJT3BlcmF0b3IKK0dyb292eUhpTGluayBncm9vdnlDb21tZW50CQlDb21tZW50CitHcm9vdnlIaUxpbmsgZ3Jvb3Z5RG9jQ29tbWVudAkJQ29tbWVudAorR3Jvb3Z5SGlMaW5rIGdyb292eUxpbmVDb21tZW50CUNvbW1lbnQKK0dyb292eUhpTGluayBncm9vdnlDb25zdGFudAkJQ29uc3RhbnQKK0dyb292eUhpTGluayBncm9vdnlUeXBlZGVmCQlUeXBlZGVmCitHcm9vdnlIaUxpbmsgZ3Jvb3Z5VG9kbwkJVG9kbwogCi0gIEdyb292eUhpTGluayBncm9vdnlDb21tZW50VGl0bGUJU3BlY2lhbENvbW1lbnQKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eURvY1RhZ3MJCVNwZWNpYWwKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eURvY1BhcmFtCQlGdW5jdGlvbgotICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5Q29tbWVudFN0YXIJZ3Jvb3Z5Q29tbWVudAorR3Jvb3Z5SGlMaW5rIGdyb292eUNvbW1lbnRUaXRsZQlTcGVjaWFsQ29tbWVudAorR3Jvb3Z5SGlMaW5rIGdyb292eURvY1RhZ3MJCVNwZWNpYWwKK0dyb292eUhpTGluayBncm9vdnlEb2NQYXJhbQkJRnVuY3Rpb24KK0dyb292eUhpTGluayBncm9vdnlDb21tZW50U3Rhcglncm9vdnlDb21tZW50CiAKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eVR5cGUJCVR5cGUKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eUV4dGVybmFsCQlJbmNsdWRlCitHcm9vdnlIaUxpbmsgZ3Jvb3Z5VHlwZQkJVHlwZQorR3Jvb3Z5SGlMaW5rIGdyb292eUV4dGVybmFsCQlJbmNsdWRlCiAKLSAgR3Jvb3Z5SGlMaW5rIGh0bWxDb21tZW50CQlTcGVjaWFsCi0gIEdyb292eUhpTGluayBodG1sQ29tbWVudFBhcnQJCVNwZWNpYWwKLSAgR3Jvb3Z5SGlMaW5rIGdyb292eVNwYWNlRXJyb3IJCUVycm9yCi0gIEdyb292eUhpTGluayBncm9vdnlKREtCdWlsdGluICAgICAgICAgU3BlY2lhbAotICBHcm9vdnlIaUxpbmsgZ3Jvb3Z5SkRLT3Blck92ZXJsICAgICAgIE9wZXJhdG9yCi0gIEdyb292eUhpTGluayBncm9vdnlKREtNZXRob2RzICAgICAgICAgRnVuY3Rpb24KLWVuZGlmCitHcm9vdnlIaUxpbmsgaHRtbENvbW1lbnQJCVNwZWNpYWwKK0dyb292eUhpTGluayBodG1sQ29tbWVudFBhcnQJCVNwZWNpYWwKK0dyb292eUhpTGluayBncm9vdnlTcGFjZUVycm9yCQlFcnJvcgorR3Jvb3Z5SGlMaW5rIGdyb292eUpES0J1aWx0aW4gICAgICAgICBTcGVjaWFsCitHcm9vdnlIaUxpbmsgZ3Jvb3Z5SkRLT3Blck92ZXJsICAgICAgIE9wZXJhdG9yCitHcm9vdnlIaUxpbmsgZ3Jvb3Z5SkRLTWV0aG9kcyAgICAgICAgIEZ1bmN0aW9uCiAKIGRlbGNvbW1hbmQgR3Jvb3Z5SGlMaW5rCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2dzcC52aW0gYi9ydW50aW1lL3N5bnRheC9nc3AudmltCmluZGV4IGU3YjFiMTYuLjYyNzBiMmEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2dzcC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZ3NwLnZpbQpAQCAtNSwxMSArNSw4IEBACiAiIEZpbGVuYW1lczogICAgKi5nc3AKICIgVVJMOgkJaHR0cDovL3d3dy5jb25zdHJ1Y3RpY29uLmNvbS9+bmhhcndhcmQvdmltL3N5bnRheC9nc3AudmltCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xOCwyMSArMTUsMTMgQEAKIGVuZGlmCiAKICIgU291cmNlIEhUTUwgc3ludGF4Ci1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvdXJjZSA8c2ZpbGU+OnA6aC9odG1sLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvaHRtbC52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvaHRtbC52aW0KIHVubGV0IGI6Y3VycmVudF9zeW50YXgKIAogc3luIGNhc2UgbWF0Y2gKIAogIiBJbmNsdWRlIEphdmEgc3ludGF4Ci1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5biBpbmNsdWRlIEBnc3BKYXZhIDxzZmlsZT46cDpoL2phdmEudmltCi1lbHNlCi0gIHN5biBpbmNsdWRlIEBnc3BKYXZhIHN5bnRheC9qYXZhLnZpbQotZW5kaWYKK3N5biBpbmNsdWRlIEBnc3BKYXZhIHN5bnRheC9qYXZhLnZpbQogCiBsZXQgczpjcG9fc2F2ZSA9ICZjcG8KIHNldCBjcG8mdmltCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ndGtyYy52aW0gYi9ydW50aW1lL3N5bnRheC9ndGtyYy52aW0KaW5kZXggNTcwNTRhMi4uZTNhNTU1MCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZ3RrcmMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2d0a3JjLnZpbQpAQCAtNiwxOSArNiwxMiBAQAogIiBVUkw6IGh0dHA6Ly90cmlmaWMuYXRoLmN4L0Z0cC92aW0vc3ludGF4L2d0a3JjLnZpbQogCiAiIFNldHVwCi1pZiB2ZXJzaW9uID49IDYwMAotCWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCi0JCWZpbmlzaAotCWVuZGlmCi1lbHNlCi0Jc3ludGF4IGNsZWFyCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKwlmaW5pc2gKIGVuZGlmCiAKLWlmIHZlcnNpb24gPj0gNjAwCi0Jc2V0bG9jYWwgaXNrZXl3b3JkPV8sLSxhLXosQS1aLDQ4LTU3Ci1lbHNlCi0Jc2V0IGlza2V5d29yZD1fLC0sYS16LEEtWiw0OC01NwotZW5kaWYKK3NldGxvY2FsIGlza2V5d29yZD1fLC0sYS16LEEtWiw0OC01NwogCiBzeW4gY2FzZSBtYXRjaAogCkBAIC04Niw1NyArNzksNTAgQEAKIHN5biBzeW5jIG1hdGNoIGd0a3JjU3luY0NsYXNzIGdyb3VwdGhlcmUgTk9ORSAiXlxzKmNsYXNzXD4iCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZwotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2d0a3JjX3N5bnRheF9pbml0cyIpCi0JaWYgdmVyc2lvbiA8IDUwOAotCQlsZXQgZGlkX2d0a3JjX3N5bnRheF9pbml0cyA9IDEKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLQllbHNlCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotCWVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCUhpTGluayBndGtyY0NvbW1lbnQgQ29tbWVudAotCUhpTGluayBndGtyY0ZpeG1lIFRvZG8KK0hpTGluayBndGtyY0NvbW1lbnQgQ29tbWVudAorSGlMaW5rIGd0a3JjRml4bWUgVG9kbwogCi0JSGlMaW5rIGd0a3JjSW5jbHVkZSBQcmVwcm9jCitIaUxpbmsgZ3RrcmNJbmNsdWRlIFByZXByb2MKIAotCUhpTGluayBndGtyY0FDU3RyaW5nIGd0a3JjU3RyaW5nCi0JSGlMaW5rIGd0a3JjQlN0cmluZyBndGtyY1N0cmluZwotCUhpTGluayBndGtyY1N0cmluZyBTdHJpbmcKLQlIaUxpbmsgZ3RrcmNOdW1iZXIgTnVtYmVyCi0JSGlMaW5rIGd0a3JjU3RhdGVOYW1lIGd0a3JjQ29uc3RhbnQKLQlIaUxpbmsgZ3RrcmNQcmlvcml0eU5hbWUgZ3RrcmNDb25zdGFudAotCUhpTGluayBndGtyY1RleHREaXJOYW1lIGd0a3JjQ29uc3RhbnQKLQlIaUxpbmsgZ3RrcmNTZXR0aW5nc05hbWUgRnVuY3Rpb24KLQlIaUxpbmsgZ3RrcmNTdG9ja05hbWUgRnVuY3Rpb24KLQlIaUxpbmsgZ3RrcmNDb25zdGFudCBDb25zdGFudAorSGlMaW5rIGd0a3JjQUNTdHJpbmcgZ3RrcmNTdHJpbmcKK0hpTGluayBndGtyY0JTdHJpbmcgZ3RrcmNTdHJpbmcKK0hpTGluayBndGtyY1N0cmluZyBTdHJpbmcKK0hpTGluayBndGtyY051bWJlciBOdW1iZXIKK0hpTGluayBndGtyY1N0YXRlTmFtZSBndGtyY0NvbnN0YW50CitIaUxpbmsgZ3RrcmNQcmlvcml0eU5hbWUgZ3RrcmNDb25zdGFudAorSGlMaW5rIGd0a3JjVGV4dERpck5hbWUgZ3RrcmNDb25zdGFudAorSGlMaW5rIGd0a3JjU2V0dGluZ3NOYW1lIEZ1bmN0aW9uCitIaUxpbmsgZ3RrcmNTdG9ja05hbWUgRnVuY3Rpb24KK0hpTGluayBndGtyY0NvbnN0YW50IENvbnN0YW50CiAKLQlIaUxpbmsgZ3RrcmNQYXRoU3BlY2lhbCBndGtyY1NwZWNpYWwKLQlIaUxpbmsgZ3RrcmNXUGF0aFNwZWNpYWwgZ3RrcmNTcGVjaWFsCi0JSGlMaW5rIGd0a3JjUkdCQ29sb3IgZ3RrcmNTcGVjaWFsCi0JSGlMaW5rIGd0a3JjS2V5TW9kIGd0a3JjU3BlY2lhbAotCUhpTGluayBndGtyY1NwZWNpYWwgU3BlY2lhbAorSGlMaW5rIGd0a3JjUGF0aFNwZWNpYWwgZ3RrcmNTcGVjaWFsCitIaUxpbmsgZ3RrcmNXUGF0aFNwZWNpYWwgZ3RrcmNTcGVjaWFsCitIaUxpbmsgZ3RrcmNSR0JDb2xvciBndGtyY1NwZWNpYWwKK0hpTGluayBndGtyY0tleU1vZCBndGtyY1NwZWNpYWwKK0hpTGluayBndGtyY1NwZWNpYWwgU3BlY2lhbAogCi0JSGlMaW5rIGd0a3JjVG9wIGd0a3JjS2V5d29yZAotCUhpTGluayBndGtyY1BhdGhTZXQgZ3RrcmNLZXl3b3JkCi0JSGlMaW5rIGd0a3JjU3R5bGVLZXl3b3JkIGd0a3JjS2V5d29yZAotCUhpTGluayBndGtyY0Z1bmN0aW9uIGd0a3JjS2V5d29yZAotCUhpTGluayBndGtyY0JpbmQgZ3RrcmNLZXl3b3JkCi0JSGlMaW5rIGd0a3JjS2V5d29yZCBLZXl3b3JkCitIaUxpbmsgZ3RrcmNUb3AgZ3RrcmNLZXl3b3JkCitIaUxpbmsgZ3RrcmNQYXRoU2V0IGd0a3JjS2V5d29yZAorSGlMaW5rIGd0a3JjU3R5bGVLZXl3b3JkIGd0a3JjS2V5d29yZAorSGlMaW5rIGd0a3JjRnVuY3Rpb24gZ3RrcmNLZXl3b3JkCitIaUxpbmsgZ3RrcmNCaW5kIGd0a3JjS2V5d29yZAorSGlMaW5rIGd0a3JjS2V5d29yZCBLZXl3b3JkCiAKLQlIaUxpbmsgZ3RrcmNDbGFzc05hbWVHbm9tZSBndGtyY0d0a0NsYXNzCi0JSGlMaW5rIGd0a3JjQ2xhc3NOYW1lIGd0a3JjR3RrQ2xhc3MKLQlIaUxpbmsgZ3RrcmNGdW5jdGlvbk5hbWUgZ3RrcmNHdGtDbGFzcwotCUhpTGluayBndGtyY0d0a0NsYXNzIFR5cGUKK0hpTGluayBndGtyY0NsYXNzTmFtZUdub21lIGd0a3JjR3RrQ2xhc3MKK0hpTGluayBndGtyY0NsYXNzTmFtZSBndGtyY0d0a0NsYXNzCitIaUxpbmsgZ3RrcmNGdW5jdGlvbk5hbWUgZ3RrcmNHdGtDbGFzcworSGlMaW5rIGd0a3JjR3RrQ2xhc3MgVHlwZQogCi0JSGlMaW5rIGd0a3JjSW1hZ2UgZ3RrcmNPdGhlcndvcmQKLQlIaUxpbmsgZ3RrcmNPdGhlcndvcmQgRnVuY3Rpb24KK0hpTGluayBndGtyY0ltYWdlIGd0a3JjT3RoZXJ3b3JkCitIaUxpbmsgZ3RrcmNPdGhlcndvcmQgRnVuY3Rpb24KIAotCUhpTGluayBndGtyY1BhcmVuRXJyb3IgZ3RrcmNFcnJvcgotCUhpTGluayBndGtyY0JyYWNlRXJyb3IgZ3RrcmNFcnJvcgotCUhpTGluayBndGtyY0JyYWNrZXRFcnJvciBndGtyY0Vycm9yCi0JSGlMaW5rIGd0a3JjRXJyb3IgRXJyb3IKK0hpTGluayBndGtyY1BhcmVuRXJyb3IgZ3RrcmNFcnJvcgorSGlMaW5rIGd0a3JjQnJhY2VFcnJvciBndGtyY0Vycm9yCitIaUxpbmsgZ3RrcmNCcmFja2V0RXJyb3IgZ3RrcmNFcnJvcgorSGlMaW5rIGd0a3JjRXJyb3IgRXJyb3IKIAotCWRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ3RrcmMiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9oYW1sLnZpbSBiL3J1bnRpbWUvc3ludGF4L2hhbWwudmltCmluZGV4IGJmN2EwNzMuLjUzNjk2OTUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2hhbWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2hhbWwudmltCkBAIC0yLDcgKzIsNyBAQAogIiBMYW5ndWFnZToJSGFtbAogIiBNYWludGFpbmVyOglUaW0gUG9wZSA8dmltTk9TUEFNQHRwb3BlLm9yZz4KICIgRmlsZW5hbWVzOgkqLmhhbWwKLSIgTGFzdCBDaGFuZ2U6CTIwMTAgQXVnIDA5CisiIExhc3QgQ2hhbmdlOgkyMDE2IEF1ZyAyOQogCiBpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKQEAgLTY3LDcgKzY3LDcgQEAKIHN5biByZWdpb24gIGhhbWxDU1NGaWx0ZXIgICAgICAgIG1hdGNoZ3JvdXA9aGFtbEZpbHRlciBzdGFydD0iXlx6KFxzKlwpOmNzc1xzKiQiICAgICAgICBlbmQ9Il5cJShcejEgXHwgKiRcKVxAISIgY29udGFpbnM9QGh0bWxDc3MsaGFtbEludGVycG9sYXRpb24ga2VlcGVuZAogc3luIHJlZ2lvbiAgaGFtbFNhc3NGaWx0ZXIgICAgICAgbWF0Y2hncm91cD1oYW1sRmlsdGVyIHN0YXJ0PSJeXHooXHMqXCk6c2Fzc1xzKiQiICAgICAgIGVuZD0iXlwlKFx6MSBcfCAqJFwpXEAhIiBjb250YWlucz1AaGFtbFNhc3NUb3AKIAotc3luIHJlZ2lvbiAgaGFtbEphdmFzY3JpcHRCbG9jayBzdGFydD0iXlx6KFxzKlwpJXNjcmlwdCIgbmV4dGdyb3VwPUBoYW1sQ29tcG9uZW50LGhhbWxFcnJvciBlbmQ9Il5cJShcejEgXHwgKiRcKVxAISIgY29udGFpbnM9QGhhbWxUb3AsQGh0bWxKYXZhU2NyaXB0IGtlZXBlbmQKK3N5biByZWdpb24gIGhhbWxKYXZhc2NyaXB0QmxvY2sgc3RhcnQ9Il5ceihccypcKSVzY3JpcHRcJSgodHlwZT1bXCInXXRleHQvamF2YXNjcmlwdFtcIiddKVwpXD1ccyokIiBuZXh0Z3JvdXA9QGhhbWxDb21wb25lbnQsaGFtbEVycm9yIGVuZD0iXlwlKFx6MSBcfCAqJFwpXEAhIiBjb250YWlucz1AaGFtbFRvcCxAaHRtbEphdmFTY3JpcHQga2VlcGVuZAogc3luIHJlZ2lvbiAgaGFtbENzc0Jsb2NrICAgICAgICBzdGFydD0iXlx6KFxzKlwpJXN0eWxlIiBuZXh0Z3JvdXA9QGhhbWxDb21wb25lbnQsaGFtbEVycm9yICBlbmQ9Il5cJShcejEgXHwgKiRcKVxAISIgY29udGFpbnM9QGhhbWxUb3AsQGh0bWxDc3Mga2VlcGVuZAogc3luIG1hdGNoICAgaGFtbEVycm9yICJcJCIgY29udGFpbmVkCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2hhbXN0ZXIudmltIGIvcnVudGltZS9zeW50YXgvaGFtc3Rlci52aW0KaW5kZXggYmQ1MjMwMC4uZjlhYWRhMiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvaGFtc3Rlci52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaGFtc3Rlci52aW0KQEAgLTEyLDEwICsxMiw4IEBACiAiIGZvciBuZXdzIGFuZCBtYWlsLCBhIGJ1aWxkLWluIHNjcmlwdCBsYW5ndWFnZSwgdGhlIEdVSSBhbGxvd3MgdHJhbnNsYXRpb24gdG8KICIgb3RoZXIgbGFuZ3VhZ2VzLCBpdCBjYW4gYmUgdXNlZCBpbiBhIG5ldHdvcmsgYW5kIHRoYXQncyBub3QgYWxsIGZlYXR1cmVzLi4uCiAiCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgIGZpbmlzaAogZW5kaWYKIApAQCAtMzU4LDI0ICszNTYsMTYgQEAKIHN5biBzeW5jIGNjb21tZW50IGhhbXN0ZXJIYXNoQ29tbWVudAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9oYW1zdGVyX3N5bl9pbml0cyIpCi0gICAgaWYgdmVyc2lvbiA8IDUwOAotICAgICAgICBsZXQgZGlkX2hhbXN0ZXJfc3luX2luaXRzID0gMQotICAgICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgIGVsc2UKLSAgICAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gICAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gICAgSGlMaW5rIGhhbXN0ZXJIYXNoQ29tbWVudAlDb21tZW50Ci0gICAgSGlMaW5rIGhhbXN0ZXJTcGVjaWFsCVNwZWNpYWwKLSAgICBIaUxpbmsgaGFtc3RlclN0YXRlbWVudAlTdGF0ZW1lbnQKLSAgICBIaUxpbmsgaGFtc3RlclN0cmluZwlTdHJpbmcKLSAgICBIaUxpbmsgaGFtc3RlckZ1bmN0aW9uCUZ1bmN0aW9uCitIaUxpbmsgaGFtc3Rlckhhc2hDb21tZW50CUNvbW1lbnQKK0hpTGluayBoYW1zdGVyU3BlY2lhbAlTcGVjaWFsCitIaUxpbmsgaGFtc3RlclN0YXRlbWVudAlTdGF0ZW1lbnQKK0hpTGluayBoYW1zdGVyU3RyaW5nCVN0cmluZworSGlMaW5rIGhhbXN0ZXJGdW5jdGlvbglGdW5jdGlvbgogCi0gICAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJoYW1zdGVyIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9oYXNrZWxsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2hhc2tlbGwudmltCmluZGV4IDhhZmNhMDQuLjg2ZDU1NGIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2hhc2tlbGwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2hhc2tlbGwudmltCkBAIC0zMiwxMCArMzIsOCBAQAogIgkgICAgICAgdG8gYXR0cmlidXRpb24gb2Ygd29yay4KICIgMjAwOCBEZWMgMTU6IEFkZGVkIGNvbW1lbnRzIGFzIGNvbnRhaW5lZCBlbGVtZW50IGluIGltcG9ydCBzdGF0ZW1lbnRzCiAKLSIgUmVtb3ZlIGFueSBvbGQgc3ludGF4IHN0dWZmIGhhbmdpbmcgYXJvdW5kCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5biBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMjcsNjcgKzEyNSw1OSBAQAogc3luIHJlZ2lvbgljQ3BwU3RyaW5nCXN0YXJ0PStMXD0iKyBza2lwPStcXFxcXHxcXCJcfFxcJCsgZXhjbHVkZW5sIGVuZD0rIisgZW5kPSckJyBjb250YWlucz1jU3BlY2lhbCBjb250YWluZWQKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfaHNfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfaHNfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBoc01vZHVsZQkJCSAgaHNTdHJ1Y3R1cmUKLSAgSGlMaW5rIGhzSW1wb3J0CQkJICBJbmNsdWRlCi0gIEhpTGluayBoc0ltcG9ydE1vZAkJCSAgaHNJbXBvcnQKLSAgSGlMaW5rIGhzSW5maXgJCQkgIFByZVByb2MKLSAgSGlMaW5rIGhzU3RydWN0dXJlCQkJICBTdHJ1Y3R1cmUKLSAgSGlMaW5rIGhzU3RhdGVtZW50CQkJICBTdGF0ZW1lbnQKLSAgSGlMaW5rIGhzQ29uZGl0aW9uYWwJCQkgIENvbmRpdGlvbmFsCi0gIEhpTGluayBoc1NwZWNpYWxDaGFyCQkJICBTcGVjaWFsQ2hhcgotICBIaUxpbmsgaHNUeXBlZGVmCQkJICBUeXBlZGVmCi0gIEhpTGluayBoc1ZhclN5bQkJCSAgaHNPcGVyYXRvcgotICBIaUxpbmsgaHNDb25TeW0JCQkgIGhzT3BlcmF0b3IKLSAgSGlMaW5rIGhzT3BlcmF0b3IJCQkgIE9wZXJhdG9yCi0gIGlmIGV4aXN0cygiaHNfaGlnaGxpZ2h0X2RlbGltaXRlcnMiKQotICAgICIgU29tZSBwZW9wbGUgZmluZCB0aGlzIGhpZ2hsaWdodGluZyBkaXN0cmFjdGluZy4KLSAgICBIaUxpbmsgaHNEZWxpbWl0ZXIJCQkgIERlbGltaXRlcgotICBlbmRpZgotICBIaUxpbmsgaHNTcGVjaWFsQ2hhckVycm9yCQkgIEVycm9yCi0gIEhpTGluayBoc1N0cmluZwkJCSAgU3RyaW5nCi0gIEhpTGluayBoc0NoYXJhY3RlcgkJCSAgQ2hhcmFjdGVyCi0gIEhpTGluayBoc051bWJlcgkJCSAgTnVtYmVyCi0gIEhpTGluayBoc0Zsb2F0CQkJICBGbG9hdAotICBIaUxpbmsgaHNDb25kaXRpb25hbAkJCSAgQ29uZGl0aW9uYWwKLSAgSGlMaW5rIGhzTGl0ZXJhdGVDb21tZW50CQkgIGhzQ29tbWVudAotICBIaUxpbmsgaHNCbG9ja0NvbW1lbnQJCSAgaHNDb21tZW50Ci0gIEhpTGluayBoc0xpbmVDb21tZW50CQkJICBoc0NvbW1lbnQKLSAgSGlMaW5rIGhzQ29tbWVudAkJCSAgQ29tbWVudAotICBIaUxpbmsgaHNQcmFnbWEJCQkgIFNwZWNpYWxDb21tZW50Ci0gIEhpTGluayBoc0Jvb2xlYW4JCQkgIEJvb2xlYW4KLSAgSGlMaW5rIGhzVHlwZQkJCSAgVHlwZQotICBIaUxpbmsgaHNNYXliZQkJCSAgaHNFbnVtQ29uc3QKLSAgSGlMaW5rIGhzT3JkZXJpbmcJCQkgIGhzRW51bUNvbnN0Ci0gIEhpTGluayBoc0VudW1Db25zdAkJCSAgQ29uc3RhbnQKLSAgSGlMaW5rIGhzRGVidWcJCQkgIERlYnVnCi0KLSAgSGlMaW5rIGNDcHBTdHJpbmcJCWhzU3RyaW5nCi0gIEhpTGluayBjQ29tbWVudFN0YXJ0CQloc0NvbW1lbnQKLSAgSGlMaW5rIGNDb21tZW50RXJyb3IJCWhzRXJyb3IKLSAgSGlMaW5rIGNDb21tZW50U3RhcnRFcnJvcgloc0Vycm9yCi0gIEhpTGluayBjSW5jbHVkZQkJSW5jbHVkZQotICBIaUxpbmsgY1ByZVByb2MJCVByZVByb2MKLSAgSGlMaW5rIGNEZWZpbmUJCU1hY3JvCi0gIEhpTGluayBjSW5jbHVkZWQJCWhzU3RyaW5nCi0gIEhpTGluayBjRXJyb3IJCQlFcnJvcgotICBIaUxpbmsgY1ByZUNvbmRpdAkJUHJlQ29uZGl0Ci0gIEhpTGluayBjQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgY0NwcFNraXAJCWNDcHBPdXQKLSAgSGlMaW5rIGNDcHBPdXQyCQljQ3BwT3V0Ci0gIEhpTGluayBjQ3BwT3V0CQlDb21tZW50Ci0KLSAgZGVsY29tbWFuZCBIaUxpbmsKK0hpTGluayBoc01vZHVsZQkJCSAgaHNTdHJ1Y3R1cmUKK0hpTGluayBoc0ltcG9ydAkJCSAgSW5jbHVkZQorSGlMaW5rIGhzSW1wb3J0TW9kCQkJICBoc0ltcG9ydAorSGlMaW5rIGhzSW5maXgJCQkgIFByZVByb2MKK0hpTGluayBoc1N0cnVjdHVyZQkJCSAgU3RydWN0dXJlCitIaUxpbmsgaHNTdGF0ZW1lbnQJCQkgIFN0YXRlbWVudAorSGlMaW5rIGhzQ29uZGl0aW9uYWwJCQkgIENvbmRpdGlvbmFsCitIaUxpbmsgaHNTcGVjaWFsQ2hhcgkJCSAgU3BlY2lhbENoYXIKK0hpTGluayBoc1R5cGVkZWYJCQkgIFR5cGVkZWYKK0hpTGluayBoc1ZhclN5bQkJCSAgaHNPcGVyYXRvcgorSGlMaW5rIGhzQ29uU3ltCQkJICBoc09wZXJhdG9yCitIaUxpbmsgaHNPcGVyYXRvcgkJCSAgT3BlcmF0b3IKK2lmIGV4aXN0cygiaHNfaGlnaGxpZ2h0X2RlbGltaXRlcnMiKQorIiBTb21lIHBlb3BsZSBmaW5kIHRoaXMgaGlnaGxpZ2h0aW5nIGRpc3RyYWN0aW5nLgorSGlMaW5rIGhzRGVsaW1pdGVyCQkJICBEZWxpbWl0ZXIKIGVuZGlmCitIaUxpbmsgaHNTcGVjaWFsQ2hhckVycm9yCQkgIEVycm9yCitIaUxpbmsgaHNTdHJpbmcJCQkgIFN0cmluZworSGlMaW5rIGhzQ2hhcmFjdGVyCQkJICBDaGFyYWN0ZXIKK0hpTGluayBoc051bWJlcgkJCSAgTnVtYmVyCitIaUxpbmsgaHNGbG9hdAkJCSAgRmxvYXQKK0hpTGluayBoc0NvbmRpdGlvbmFsCQkJICBDb25kaXRpb25hbAorSGlMaW5rIGhzTGl0ZXJhdGVDb21tZW50CQkgIGhzQ29tbWVudAorSGlMaW5rIGhzQmxvY2tDb21tZW50CQkgIGhzQ29tbWVudAorSGlMaW5rIGhzTGluZUNvbW1lbnQJCQkgIGhzQ29tbWVudAorSGlMaW5rIGhzQ29tbWVudAkJCSAgQ29tbWVudAorSGlMaW5rIGhzUHJhZ21hCQkJICBTcGVjaWFsQ29tbWVudAorSGlMaW5rIGhzQm9vbGVhbgkJCSAgQm9vbGVhbgorSGlMaW5rIGhzVHlwZQkJCSAgVHlwZQorSGlMaW5rIGhzTWF5YmUJCQkgIGhzRW51bUNvbnN0CitIaUxpbmsgaHNPcmRlcmluZwkJCSAgaHNFbnVtQ29uc3QKK0hpTGluayBoc0VudW1Db25zdAkJCSAgQ29uc3RhbnQKK0hpTGluayBoc0RlYnVnCQkJICBEZWJ1ZworCitIaUxpbmsgY0NwcFN0cmluZwkJaHNTdHJpbmcKK0hpTGluayBjQ29tbWVudFN0YXJ0CQloc0NvbW1lbnQKK0hpTGluayBjQ29tbWVudEVycm9yCQloc0Vycm9yCitIaUxpbmsgY0NvbW1lbnRTdGFydEVycm9yCWhzRXJyb3IKK0hpTGluayBjSW5jbHVkZQkJSW5jbHVkZQorSGlMaW5rIGNQcmVQcm9jCQlQcmVQcm9jCitIaUxpbmsgY0RlZmluZQkJTWFjcm8KK0hpTGluayBjSW5jbHVkZWQJCWhzU3RyaW5nCitIaUxpbmsgY0Vycm9yCQkJRXJyb3IKK0hpTGluayBjUHJlQ29uZGl0CQlQcmVDb25kaXQKK0hpTGluayBjQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGNDcHBTa2lwCQljQ3BwT3V0CitIaUxpbmsgY0NwcE91dDIJCWNDcHBPdXQKK0hpTGluayBjQ3BwT3V0CQlDb21tZW50CisKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImhhc2tlbGwiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2hhc3RlLnZpbSBiL3J1bnRpbWUvc3ludGF4L2hhc3RlLnZpbQppbmRleCBiODg5YzVjLi43OWU5ZjVlIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9oYXN0ZS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaGFzdGUudmltCkBAIC0xMiwxMSArMTIsOCBAQAogaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKIGVuZGlmCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaGFzdGVwcmVwcm9jLnZpbSBiL3J1bnRpbWUvc3ludGF4L2hhc3RlcHJlcHJvYy52aW0KaW5kZXggM2ZjYjhkZC4uZjA4YmYzZiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvaGFzdGVwcmVwcm9jLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9oYXN0ZXByZXByb2MudmltCkBAIC01LDI0ICs1LDEzIEBACiAiCQlmaWxlcwogIiBWZXJzaW9uOgkwLjUKIAotIiBIQVNURQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCi0gICAgZmluaXNoCi1lbmRpZgotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgotIiBSZWFkIHRoZSBDIHN5bnRheCB0byBzdGFydCB3aXRoCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICAgc28gPHNmaWxlPjpwOmgvaGFzdGUudmltCi1lbHNlCi0gICAgcnVudGltZSEgc3ludGF4L2hhc3RlLnZpbQotICAgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCisiIFJlYWQgdGhlIGhhc3RlIHN5bnRheCB0byBzdGFydCB3aXRoCitydW50aW1lISBzeW50YXgvaGFzdGUudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CiAKICIgY2FzZSBpcyBzaWduaWZpY2FudAogc3luIGNhc2UgbWF0Y2gKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2hiLnZpbSBiL3J1bnRpbWUvc3ludGF4L2hiLnZpbQppbmRleCBkNGRlM2ZmLi5hYjJmYjdmIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9oYi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaGIudmltCkBAIC00LDExICs0LDggQEAKICIgVVJMOgkJaHR0cDovL2JhY2h1ZS5jb20vaGIvdmltL3N5bnRheC9oYi52aW0KICIgTGFzdCBDaGFuZ2U6CTIwMTIgSmFuIDA4IGJ5IFRoaWxvIFNpeAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNjMsMzEgKzYwLDIzIEBACiBzeW4gbWF0Y2ggSEJDb21tZW50ICJeIy4qJCIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfaGJfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfaGJfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBIQmh0bWxTdHJpbmcJCQkgU3RyaW5nCi0gIEhpTGluayBIQmh0bWxUYWdOCQkJIEZ1bmN0aW9uCi0gIEhpTGluayBodG1sU3BlY2lhbENoYXIJCSBTdHJpbmcKK0hpTGluayBIQmh0bWxTdHJpbmcJCQkgU3RyaW5nCitIaUxpbmsgSEJodG1sVGFnTgkJCSBGdW5jdGlvbgorSGlMaW5rIGh0bWxTcGVjaWFsQ2hhcgkJIFN0cmluZwogCi0gIEhpTGluayBIQkludmFsaWRMaW5lIEVycm9yCi0gIEhpTGluayBIQkZvb2JhciBDb21tZW50Ci0gIGhpIEhCRmlsZU5hbWUgZ3VpYmc9bGlnaHRncmF5IGd1aWZnPWJsYWNrCi0gIEhpTGluayBIQkRpcmVjdGl2ZUVycm9yIEVycm9yCi0gIEhpTGluayBIQkRpcmVjdGl2ZUJsb2NrRW5kIEhCRGlyZWN0aXZlS2V5d29yZAotICBoaSBIQkRpcmVjdGl2ZUtleXdvcmQgZ3VpYmc9bGlnaHRncmF5IGd1aWZnPWRhcmtncmVlbgotICBIaUxpbmsgSEJDb21tZW50IENvbW1lbnQKLSAgSGlMaW5rIEhCaHRtbFRhZ1NrIFN0YXRlbWVudAorSGlMaW5rIEhCSW52YWxpZExpbmUgRXJyb3IKK0hpTGluayBIQkZvb2JhciBDb21tZW50CitoaSBIQkZpbGVOYW1lIGd1aWJnPWxpZ2h0Z3JheSBndWlmZz1ibGFjaworSGlMaW5rIEhCRGlyZWN0aXZlRXJyb3IgRXJyb3IKK0hpTGluayBIQkRpcmVjdGl2ZUJsb2NrRW5kIEhCRGlyZWN0aXZlS2V5d29yZAoraGkgSEJEaXJlY3RpdmVLZXl3b3JkIGd1aWJnPWxpZ2h0Z3JheSBndWlmZz1kYXJrZ3JlZW4KK0hpTGluayBIQkNvbW1lbnQgQ29tbWVudAorSGlMaW5rIEhCaHRtbFRhZ1NrIFN0YXRlbWVudAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogc3luIHN5bmMgbWF0Y2ggTm9ybWFsIGdyb3VwaGVyZSBOT05FICJeOlxzKiQiCiBzeW4gc3luYyBtYXRjaCBOb3JtYWwgZ3JvdXBoZXJlIE5PTkUgIl46XHMqbGliXHNcK1teIFx0XVwrJCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2hlcmN1bGVzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2hlcmN1bGVzLnZpbQppbmRleCAwMmQ4ZTliLi4yYTc4Njc2IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9oZXJjdWxlcy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaGVyY3VsZXMudmltCkBAIC03LDExICs3LDggQEAKICIJCXRoYXQgYW4gSUMncyBwaHlzaWNhbCBkZXNpZ24gbWF0Y2hlcyBpdHMgbG9naWNhbCBkZXNpZ24gYW5kCiAiCQlzYXRpc2ZpZXMgbWFudWZhY3R1cmluZyBydWxlcy4KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTEwMSwzMiArOTgsMjMgQEAKIHN5biBzeW5jICAgICAgbGluZXM9MTAwCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2hlcmN1bGVzX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2hlcmN1bGVzX3N5bnRheF9pbml0cyA9IDEKLSAgICAiIERlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLgotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBoZXJjdWxlc1N0YXRlbWVudCAgU3RhdGVtZW50Ci0gIEhpTGluayBoZXJjdWxlc1R5cGUgICAgICAgVHlwZQotICBIaUxpbmsgaGVyY3VsZXNDb21tZW50ICAgIENvbW1lbnQKLSAgSGlMaW5rIGhlcmN1bGVzUHJlUHJvYyAgICBQcmVQcm9jCi0gIEhpTGluayBoZXJjdWxlc1RvZG8gICAgICAgVG9kbwotICBIaUxpbmsgaGVyY3VsZXNPdXRwdXQgICAgIEluY2x1ZGUKLSAgSGlMaW5rIGhlcmN1bGVzQ21kQ21udCAgICBJZGVudGlmaWVyCi0gIEhpTGluayBoZXJjdWxlc051bWJlciAgICAgTnVtYmVyCi0gIEhpTGluayBoZXJjdWxlc0JyYWNlRXJyb3IgaGVyY3VsZXNFcnJvcgotICBIaUxpbmsgaGVyY3VsZXNDdXJseUVycm9yIGhlcmN1bGVzRXJyb3IKLSAgSGlMaW5rIGhlcmN1bGVzUGFyZW5FcnJvciBoZXJjdWxlc0Vycm9yCi0gIEhpTGluayBoZXJjdWxlc0Vycm9yICAgICAgRXJyb3IKK0hpTGluayBoZXJjdWxlc1N0YXRlbWVudCAgU3RhdGVtZW50CitIaUxpbmsgaGVyY3VsZXNUeXBlICAgICAgIFR5cGUKK0hpTGluayBoZXJjdWxlc0NvbW1lbnQgICAgQ29tbWVudAorSGlMaW5rIGhlcmN1bGVzUHJlUHJvYyAgICBQcmVQcm9jCitIaUxpbmsgaGVyY3VsZXNUb2RvICAgICAgIFRvZG8KK0hpTGluayBoZXJjdWxlc091dHB1dCAgICAgSW5jbHVkZQorSGlMaW5rIGhlcmN1bGVzQ21kQ21udCAgICBJZGVudGlmaWVyCitIaUxpbmsgaGVyY3VsZXNOdW1iZXIgICAgIE51bWJlcgorSGlMaW5rIGhlcmN1bGVzQnJhY2VFcnJvciBoZXJjdWxlc0Vycm9yCitIaUxpbmsgaGVyY3VsZXNDdXJseUVycm9yIGhlcmN1bGVzRXJyb3IKK0hpTGluayBoZXJjdWxlc1BhcmVuRXJyb3IgaGVyY3VsZXNFcnJvcgorSGlMaW5rIGhlcmN1bGVzRXJyb3IgICAgICBFcnJvcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaGVyY3VsZXMiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2hleC52aW0gYi9ydW50aW1lL3N5bnRheC9oZXgudmltCmluZGV4IDQwZjdmMGQuLmQyNjM3ZWEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2hleC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaGV4LnZpbQpAQCAtMjUsMTEgKzI1LDggQEAKICIgU3RhdGVzIGluIHBhcmVudGhlc2VzIGluIHRoZSB1cHBlciBmb3JtYXQgZGVzY3JpcHRpb24gaW5kaWNhdGUgdGhhdCB0aGV5CiAiIHNob3VsZCBub3QgYXBwZWFyIGluIGEgdmFsaWQgZmlsZS4KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTY4LDM0ICs2NSwyNiBAQAogc3luIHJlZ2lvbiBoZXhFeHRBZHJCbG9jayBzdGFydD0iXjpbMC05YS1mQS1GXVx7N31bMjRdIiBza2lwPSJeOlswLTlhLWZBLUZdXHs3fTAiIGVuZD0iXjoibWU9cy0xIGZvbGQgdHJhbnNwYXJlbnQKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfaGV4X3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2hleF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCi0gIEhpTGluayBoZXhSZWNTdGFydCAgICAgICAgICAgIGhleFJlY1R5cGUKLSAgSGlMaW5rIGhleERhdGFCeXRlQ291bnQgICAgICAgQ29uc3RhbnQKLSAgaGkgZGVmIGhleEFkZHJlc3NGaWVsZFVua25vd24gdGVybT1pdGFsaWMgY3Rlcm09aXRhbGljIGd1aT1pdGFsaWMKLSAgSGlMaW5rIGhleERhdGFBZGRyZXNzICAgICAgICAgQ29tbWVudAotICBIaUxpbmsgaGV4Tm9BZGRyZXNzICAgICAgICAgICBEaWZmQWRkCi0gIEhpTGluayBoZXhSZWNUeXBlVW5rbm93biAgICAgIGhleFJlY1R5cGUKLSAgSGlMaW5rIGhleFJlY1R5cGUgICAgICAgICAgICAgV2FybmluZ01zZwotICBoaSBkZWYgaGV4RGF0YUZpZWxkVW5rbm93biAgICB0ZXJtPWl0YWxpYyBjdGVybT1pdGFsaWMgZ3VpPWl0YWxpYwotICBoaSBkZWYgaGV4RGF0YU9kZCAgICAgICAgICAgICB0ZXJtPWJvbGQgY3Rlcm09Ym9sZCBndWk9Ym9sZAotICBoaSBkZWYgaGV4RGF0YUV2ZW4gICAgICAgICAgICB0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBndWk9Tk9ORQotICBIaUxpbmsgaGV4RGF0YVVuZXhwZWN0ZWQgICAgICBFcnJvcgotICBIaUxpbmsgaGV4RXh0ZW5kZWRBZGRyZXNzICAgICBoZXhEYXRhQWRkcmVzcwotICBIaUxpbmsgaGV4U3RhcnRBZGRyZXNzICAgICAgICBoZXhEYXRhQWRkcmVzcwotICBIaUxpbmsgaGV4Q2hlY2tzdW0gICAgICAgICAgICBEaWZmQ2hhbmdlCisiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKK0hpTGluayBoZXhSZWNTdGFydCAgICAgICAgICAgIGhleFJlY1R5cGUKK0hpTGluayBoZXhEYXRhQnl0ZUNvdW50ICAgICAgIENvbnN0YW50CitoaSBkZWYgaGV4QWRkcmVzc0ZpZWxkVW5rbm93biB0ZXJtPWl0YWxpYyBjdGVybT1pdGFsaWMgZ3VpPWl0YWxpYworSGlMaW5rIGhleERhdGFBZGRyZXNzICAgICAgICAgQ29tbWVudAorSGlMaW5rIGhleE5vQWRkcmVzcyAgICAgICAgICAgRGlmZkFkZAorSGlMaW5rIGhleFJlY1R5cGVVbmtub3duICAgICAgaGV4UmVjVHlwZQorSGlMaW5rIGhleFJlY1R5cGUgICAgICAgICAgICAgV2FybmluZ01zZworaGkgZGVmIGhleERhdGFGaWVsZFVua25vd24gICAgdGVybT1pdGFsaWMgY3Rlcm09aXRhbGljIGd1aT1pdGFsaWMKK2hpIGRlZiBoZXhEYXRhT2RkICAgICAgICAgICAgIHRlcm09Ym9sZCBjdGVybT1ib2xkIGd1aT1ib2xkCitoaSBkZWYgaGV4RGF0YUV2ZW4gICAgICAgICAgICB0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBndWk9Tk9ORQorSGlMaW5rIGhleERhdGFVbmV4cGVjdGVkICAgICAgRXJyb3IKK0hpTGluayBoZXhFeHRlbmRlZEFkZHJlc3MgICAgIGhleERhdGFBZGRyZXNzCitIaUxpbmsgaGV4U3RhcnRBZGRyZXNzICAgICAgICBoZXhEYXRhQWRkcmVzcworSGlMaW5rIGhleENoZWNrc3VtICAgICAgICAgICAgRGlmZkNoYW5nZQogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaGV4IgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ob2cudmltIGIvcnVudGltZS9zeW50YXgvaG9nLnZpbQppbmRleCBmMzdmN2FlLi43MjA2ODE1IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9ob2cudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2hvZy52aW0KQEAgLTQsOSArNCw4IEBACiAiIExhc3QgQ2hhbmdlOiAyMDE1IE9jdCAyNCAgLT4gUmVuYW1lIHN5bnRheCBpdGVtcyBmcm9tIFNub3J0IC0+IEhvZwogIiAgICAgICAgICAgICAgMjAxMiBPY3QgMjQgIC0+IE9yaWdpbmFsaXNoIHJlbGVhc2UKIAotaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2hvc3RzYWNjZXNzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2hvc3RzYWNjZXNzLnZpbQppbmRleCA4YTlmMDJlLi43MjAxODE2IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9ob3N0c2FjY2Vzcy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaG9zdHNhY2Nlc3MudmltCkBAIC0xNSwxMiArMTUsOCBAQAogZW5kaWYKIAogIiBGb3IgYSBzdGFydGVyIHdlIGp1c3QgdXNlIGNvbmYudmltIGZvciBoaWdobGlnaHRpbmcKLWlmIHZlcnNpb24gPCA2MDAKLSAgc28gPHNmaWxlPjpwOmgvY29uZi52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2NvbmYudmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvY29uZi52aW0KK3VubGV0IGI6Y3VycmVudF9zeW50YXgKIAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJob3N0c2FjY2VzcyIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2h0bWwudmltIGIvcnVudGltZS9zeW50YXgvaHRtbC52aW0KaW5kZXggYWIxZjliMy4uYWMzMWU0OCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvaHRtbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaHRtbC52aW0KQEAgLTcsMTIgKzcsOSBAQAogCiAiIFBsZWFzZSBjaGVjayA6aGVscCBodG1sLnZpbSBmb3Igc29tZSBjb21tZW50cyBhbmQgYSBkZXNjcmlwdGlvbiBvZiB0aGUgb3B0aW9ucwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKIGlmICFleGlzdHMoIm1haW5fc3ludGF4IikKLSAgaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5bnRheCBjbGVhcgotICBlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKICAgZW5kaWYKICAgbGV0IG1haW5fc3ludGF4ID0gJ2h0bWwnCkBAIC0yMiwxMSArMTksNyBAQAogc2V0IGNwbyZ2aW0KIAogIiBkb24ndCB1c2Ugc3RhbmRhcmQgSGlMaW5rLCBpdCB3aWxsIG5vdCB3b3JrIHdpdGggaW5jbHVkZWQgc3ludGF4IGZpbGVzCi1pZiB2ZXJzaW9uIDwgNTA4Ci0gIGNvbW1hbmQhIC1uYXJncz0rIEh0bWxIaUxpbmsgaGkgbGluayA8YXJncz4KLWVsc2UKLSAgY29tbWFuZCEgLW5hcmdzPSsgSHRtbEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLWVuZGlmCitjb21tYW5kISAtbmFyZ3M9KyBIdG1sSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCiBzeW50YXggc3BlbGwgdG9wbGV2ZWwKIApAQCAtMjIxLDcyICsyMTQsNjcgQEAKIGVuZGlmCiAKICIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2h0bWxfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfaHRtbF9zeW5faW5pdHMgPSAxCitIdG1sSGlMaW5rIGh0bWxUYWcgICAgICAgICAgICAgICAgICAgICBGdW5jdGlvbgorSHRtbEhpTGluayBodG1sRW5kVGFnICAgICAgICAgICAgICAgICAgSWRlbnRpZmllcgorSHRtbEhpTGluayBodG1sQXJnICAgICAgICAgICAgICAgICAgICAgVHlwZQorSHRtbEhpTGluayBodG1sVGFnTmFtZSAgICAgICAgICAgICAgICAgaHRtbFN0YXRlbWVudAorSHRtbEhpTGluayBodG1sU3BlY2lhbFRhZ05hbWUgICAgICAgICAgRXhjZXB0aW9uCitIdG1sSGlMaW5rIGh0bWxWYWx1ZSAgICAgICAgICAgICAgICAgICAgIFN0cmluZworSHRtbEhpTGluayBodG1sU3BlY2lhbENoYXIgICAgICAgICAgICAgU3BlY2lhbAorCitpZiAhZXhpc3RzKCJodG1sX25vX3JlbmRlcmluZyIpCisgIEh0bWxIaUxpbmsgaHRtbEgxICAgICAgICAgICAgICAgICAgICAgIFRpdGxlCisgIEh0bWxIaUxpbmsgaHRtbEgyICAgICAgICAgICAgICAgICAgICAgIGh0bWxIMQorICBIdG1sSGlMaW5rIGh0bWxIMyAgICAgICAgICAgICAgICAgICAgICBodG1sSDIKKyAgSHRtbEhpTGluayBodG1sSDQgICAgICAgICAgICAgICAgICAgICAgaHRtbEgzCisgIEh0bWxIaUxpbmsgaHRtbEg1ICAgICAgICAgICAgICAgICAgICAgIGh0bWxINAorICBIdG1sSGlMaW5rIGh0bWxINiAgICAgICAgICAgICAgICAgICAgICBodG1sSDUKKyAgSHRtbEhpTGluayBodG1sSGVhZCAgICAgICAgICAgICAgICAgICAgUHJlUHJvYworICBIdG1sSGlMaW5rIGh0bWxUaXRsZSAgICAgICAgICAgICAgICAgICBUaXRsZQorICBIdG1sSGlMaW5rIGh0bWxCb2xkSXRhbGljVW5kZXJsaW5lICAgICBodG1sQm9sZFVuZGVybGluZUl0YWxpYworICBIdG1sSGlMaW5rIGh0bWxVbmRlcmxpbmVCb2xkICAgICAgICAgICBodG1sQm9sZFVuZGVybGluZQorICBIdG1sSGlMaW5rIGh0bWxVbmRlcmxpbmVJdGFsaWNCb2xkICAgICBodG1sQm9sZFVuZGVybGluZUl0YWxpYworICBIdG1sSGlMaW5rIGh0bWxVbmRlcmxpbmVCb2xkSXRhbGljICAgICBodG1sQm9sZFVuZGVybGluZUl0YWxpYworICBIdG1sSGlMaW5rIGh0bWxJdGFsaWNVbmRlcmxpbmUgICAgICAgICBodG1sVW5kZXJsaW5lSXRhbGljCisgIEh0bWxIaUxpbmsgaHRtbEl0YWxpY0JvbGQgICAgICAgICAgICAgIGh0bWxCb2xkSXRhbGljCisgIEh0bWxIaUxpbmsgaHRtbEl0YWxpY0JvbGRVbmRlcmxpbmUgICAgIGh0bWxCb2xkVW5kZXJsaW5lSXRhbGljCisgIEh0bWxIaUxpbmsgaHRtbEl0YWxpY1VuZGVybGluZUJvbGQgICAgIGh0bWxCb2xkVW5kZXJsaW5lSXRhbGljCisgIEh0bWxIaUxpbmsgaHRtbExpbmsgICAgICAgICAgICAgICAgICAgIFVuZGVybGluZWQKKyAgSHRtbEhpTGluayBodG1sTGVhZGluZ1NwYWNlICAgICAgICAgICAgTm9uZQorICBpZiAhZXhpc3RzKCJodG1sX215X3JlbmRlcmluZyIpCisgICAgaGkgZGVmIGh0bWxCb2xkICAgICAgICAgICAgICAgIHRlcm09Ym9sZCBjdGVybT1ib2xkIGd1aT1ib2xkCisgICAgaGkgZGVmIGh0bWxCb2xkVW5kZXJsaW5lICAgICAgIHRlcm09Ym9sZCx1bmRlcmxpbmUgY3Rlcm09Ym9sZCx1bmRlcmxpbmUgZ3VpPWJvbGQsdW5kZXJsaW5lCisgICAgaGkgZGVmIGh0bWxCb2xkSXRhbGljICAgICAgICAgIHRlcm09Ym9sZCxpdGFsaWMgY3Rlcm09Ym9sZCxpdGFsaWMgZ3VpPWJvbGQsaXRhbGljCisgICAgaGkgZGVmIGh0bWxCb2xkVW5kZXJsaW5lSXRhbGljIHRlcm09Ym9sZCxpdGFsaWMsdW5kZXJsaW5lIGN0ZXJtPWJvbGQsaXRhbGljLHVuZGVybGluZSBndWk9Ym9sZCxpdGFsaWMsdW5kZXJsaW5lCisgICAgaGkgZGVmIGh0bWxVbmRlcmxpbmUgICAgICAgICAgIHRlcm09dW5kZXJsaW5lIGN0ZXJtPXVuZGVybGluZSBndWk9dW5kZXJsaW5lCisgICAgaGkgZGVmIGh0bWxVbmRlcmxpbmVJdGFsaWMgICAgIHRlcm09aXRhbGljLHVuZGVybGluZSBjdGVybT1pdGFsaWMsdW5kZXJsaW5lIGd1aT1pdGFsaWMsdW5kZXJsaW5lCisgICAgaGkgZGVmIGh0bWxJdGFsaWMgICAgICAgICAgICAgIHRlcm09aXRhbGljIGN0ZXJtPWl0YWxpYyBndWk9aXRhbGljCiAgIGVuZGlmCi0gIEh0bWxIaUxpbmsgaHRtbFRhZyAgICAgICAgICAgICAgICAgICAgIEZ1bmN0aW9uCi0gIEh0bWxIaUxpbmsgaHRtbEVuZFRhZyAgICAgICAgICAgICAgICAgIElkZW50aWZpZXIKLSAgSHRtbEhpTGluayBodG1sQXJnICAgICAgICAgICAgICAgICAgICAgVHlwZQotICBIdG1sSGlMaW5rIGh0bWxUYWdOYW1lICAgICAgICAgICAgICAgICBodG1sU3RhdGVtZW50Ci0gIEh0bWxIaUxpbmsgaHRtbFNwZWNpYWxUYWdOYW1lICAgICAgICAgIEV4Y2VwdGlvbgotICBIdG1sSGlMaW5rIGh0bWxWYWx1ZSAgICAgICAgICAgICAgICAgICAgIFN0cmluZwotICBIdG1sSGlMaW5rIGh0bWxTcGVjaWFsQ2hhciAgICAgICAgICAgICBTcGVjaWFsCi0gIAotICBpZiAhZXhpc3RzKCJodG1sX25vX3JlbmRlcmluZyIpCi0gICAgSHRtbEhpTGluayBodG1sSDEgICAgICAgICAgICAgICAgICAgICAgVGl0bGUKLSAgICBIdG1sSGlMaW5rIGh0bWxIMiAgICAgICAgICAgICAgICAgICAgICBodG1sSDEKLSAgICBIdG1sSGlMaW5rIGh0bWxIMyAgICAgICAgICAgICAgICAgICAgICBodG1sSDIKLSAgICBIdG1sSGlMaW5rIGh0bWxINCAgICAgICAgICAgICAgICAgICAgICBodG1sSDMKLSAgICBIdG1sSGlMaW5rIGh0bWxINSAgICAgICAgICAgICAgICAgICAgICBodG1sSDQKLSAgICBIdG1sSGlMaW5rIGh0bWxINiAgICAgICAgICAgICAgICAgICAgICBodG1sSDUKLSAgICBIdG1sSGlMaW5rIGh0bWxIZWFkICAgICAgICAgICAgICAgICAgICBQcmVQcm9jCi0gICAgSHRtbEhpTGluayBodG1sVGl0bGUgICAgICAgICAgICAgICAgICAgVGl0bGUKLSAgICBIdG1sSGlMaW5rIGh0bWxCb2xkSXRhbGljVW5kZXJsaW5lICAgICBodG1sQm9sZFVuZGVybGluZUl0YWxpYwotICAgIEh0bWxIaUxpbmsgaHRtbFVuZGVybGluZUJvbGQgICAgICAgICAgIGh0bWxCb2xkVW5kZXJsaW5lCi0gICAgSHRtbEhpTGluayBodG1sVW5kZXJsaW5lSXRhbGljQm9sZCAgICAgaHRtbEJvbGRVbmRlcmxpbmVJdGFsaWMKLSAgICBIdG1sSGlMaW5rIGh0bWxVbmRlcmxpbmVCb2xkSXRhbGljICAgICBodG1sQm9sZFVuZGVybGluZUl0YWxpYwotICAgIEh0bWxIaUxpbmsgaHRtbEl0YWxpY1VuZGVybGluZSAgICAgICAgIGh0bWxVbmRlcmxpbmVJdGFsaWMKLSAgICBIdG1sSGlMaW5rIGh0bWxJdGFsaWNCb2xkICAgICAgICAgICAgICBodG1sQm9sZEl0YWxpYwotICAgIEh0bWxIaUxpbmsgaHRtbEl0YWxpY0JvbGRVbmRlcmxpbmUgICAgIGh0bWxCb2xkVW5kZXJsaW5lSXRhbGljCi0gICAgSHRtbEhpTGluayBodG1sSXRhbGljVW5kZXJsaW5lQm9sZCAgICAgaHRtbEJvbGRVbmRlcmxpbmVJdGFsaWMKLSAgICBIdG1sSGlMaW5rIGh0bWxMaW5rICAgICAgICAgICAgICAgICAgICBVbmRlcmxpbmVkCi0gICAgSHRtbEhpTGluayBodG1sTGVhZGluZ1NwYWNlICAgICAgICAgICAgTm9uZQotICAgIGlmICFleGlzdHMoImh0bWxfbXlfcmVuZGVyaW5nIikKLSAgICAgIGhpIGRlZiBodG1sQm9sZCAgICAgICAgICAgICAgICB0ZXJtPWJvbGQgY3Rlcm09Ym9sZCBndWk9Ym9sZAotICAgICAgaGkgZGVmIGh0bWxCb2xkVW5kZXJsaW5lICAgICAgIHRlcm09Ym9sZCx1bmRlcmxpbmUgY3Rlcm09Ym9sZCx1bmRlcmxpbmUgZ3VpPWJvbGQsdW5kZXJsaW5lCi0gICAgICBoaSBkZWYgaHRtbEJvbGRJdGFsaWMgICAgICAgICAgdGVybT1ib2xkLGl0YWxpYyBjdGVybT1ib2xkLGl0YWxpYyBndWk9Ym9sZCxpdGFsaWMKLSAgICAgIGhpIGRlZiBodG1sQm9sZFVuZGVybGluZUl0YWxpYyB0ZXJtPWJvbGQsaXRhbGljLHVuZGVybGluZSBjdGVybT1ib2xkLGl0YWxpYyx1bmRlcmxpbmUgZ3VpPWJvbGQsaXRhbGljLHVuZGVybGluZQotICAgICAgaGkgZGVmIGh0bWxVbmRlcmxpbmUgICAgICAgICAgIHRlcm09dW5kZXJsaW5lIGN0ZXJtPXVuZGVybGluZSBndWk9dW5kZXJsaW5lCi0gICAgICBoaSBkZWYgaHRtbFVuZGVybGluZUl0YWxpYyAgICAgdGVybT1pdGFsaWMsdW5kZXJsaW5lIGN0ZXJtPWl0YWxpYyx1bmRlcmxpbmUgZ3VpPWl0YWxpYyx1bmRlcmxpbmUKLSAgICAgIGhpIGRlZiBodG1sSXRhbGljICAgICAgICAgICAgICB0ZXJtPWl0YWxpYyBjdGVybT1pdGFsaWMgZ3VpPWl0YWxpYwotICAgIGVuZGlmCi0gIGVuZGlmCi0gIAotICBIdG1sSGlMaW5rIGh0bWxQcmVTdG10ICAgICAgICAgICAgUHJlUHJvYwotICBIdG1sSGlMaW5rIGh0bWxQcmVFcnJvciAgICAgICAgICAgRXJyb3IKLSAgSHRtbEhpTGluayBodG1sUHJlUHJvYyAgICAgICAgICAgIFByZVByb2MKLSAgSHRtbEhpTGluayBodG1sUHJlQXR0ciAgICAgICAgICAgIFN0cmluZwotICBIdG1sSGlMaW5rIGh0bWxQcmVQcm9jQXR0ck5hbWUgICAgUHJlUHJvYwotICBIdG1sSGlMaW5rIGh0bWxQcmVQcm9jQXR0ckVycm9yICAgRXJyb3IKLSAgSHRtbEhpTGluayBodG1sU3BlY2lhbCAgICAgICAgICAgIFNwZWNpYWwKLSAgSHRtbEhpTGluayBodG1sU3BlY2lhbENoYXIgICAgICAgIFNwZWNpYWwKLSAgSHRtbEhpTGluayBodG1sU3RyaW5nICAgICAgICAgICAgIFN0cmluZwotICBIdG1sSGlMaW5rIGh0bWxTdGF0ZW1lbnQgICAgICAgICAgU3RhdGVtZW50Ci0gIEh0bWxIaUxpbmsgaHRtbENvbW1lbnQgICAgICAgICAgICBDb21tZW50Ci0gIEh0bWxIaUxpbmsgaHRtbENvbW1lbnRQYXJ0ICAgICAgICBDb21tZW50Ci0gIEh0bWxIaUxpbmsgaHRtbFZhbHVlICAgICAgICAgICAgICBTdHJpbmcKLSAgSHRtbEhpTGluayBodG1sQ29tbWVudEVycm9yICAgICAgIGh0bWxFcnJvcgotICBIdG1sSGlMaW5rIGh0bWxUYWdFcnJvciAgICAgICAgICAgaHRtbEVycm9yCi0gIEh0bWxIaUxpbmsgaHRtbEV2ZW50ICAgICAgICAgICAgICBqYXZhU2NyaXB0Ci0gIEh0bWxIaUxpbmsgaHRtbEVycm9yICAgICAgICAgICAgICBFcnJvcgotICAKLSAgSHRtbEhpTGluayBqYXZhU2NyaXB0ICAgICAgICAgICAgIFNwZWNpYWwKLSAgSHRtbEhpTGluayBqYXZhU2NyaXB0RXhwcmVzc2lvbiAgIGphdmFTY3JpcHQKLSAgSHRtbEhpTGluayBodG1sQ3NzU3R5bGVDb21tZW50ICAgIENvbW1lbnQKLSAgSHRtbEhpTGluayBodG1sQ3NzRGVmaW5pdGlvbiAgICAgIFNwZWNpYWwKIGVuZGlmCiAKK0h0bWxIaUxpbmsgaHRtbFByZVN0bXQgICAgICAgICAgICBQcmVQcm9jCitIdG1sSGlMaW5rIGh0bWxQcmVFcnJvciAgICAgICAgICAgRXJyb3IKK0h0bWxIaUxpbmsgaHRtbFByZVByb2MgICAgICAgICAgICBQcmVQcm9jCitIdG1sSGlMaW5rIGh0bWxQcmVBdHRyICAgICAgICAgICAgU3RyaW5nCitIdG1sSGlMaW5rIGh0bWxQcmVQcm9jQXR0ck5hbWUgICAgUHJlUHJvYworSHRtbEhpTGluayBodG1sUHJlUHJvY0F0dHJFcnJvciAgIEVycm9yCitIdG1sSGlMaW5rIGh0bWxTcGVjaWFsICAgICAgICAgICAgU3BlY2lhbAorSHRtbEhpTGluayBodG1sU3BlY2lhbENoYXIgICAgICAgIFNwZWNpYWwKK0h0bWxIaUxpbmsgaHRtbFN0cmluZyAgICAgICAgICAgICBTdHJpbmcKK0h0bWxIaUxpbmsgaHRtbFN0YXRlbWVudCAgICAgICAgICBTdGF0ZW1lbnQKK0h0bWxIaUxpbmsgaHRtbENvbW1lbnQgICAgICAgICAgICBDb21tZW50CitIdG1sSGlMaW5rIGh0bWxDb21tZW50UGFydCAgICAgICAgQ29tbWVudAorSHRtbEhpTGluayBodG1sVmFsdWUgICAgICAgICAgICAgIFN0cmluZworSHRtbEhpTGluayBodG1sQ29tbWVudEVycm9yICAgICAgIGh0bWxFcnJvcgorSHRtbEhpTGluayBodG1sVGFnRXJyb3IgICAgICAgICAgIGh0bWxFcnJvcgorSHRtbEhpTGluayBodG1sRXZlbnQgICAgICAgICAgICAgIGphdmFTY3JpcHQKK0h0bWxIaUxpbmsgaHRtbEVycm9yICAgICAgICAgICAgICBFcnJvcgorCitIdG1sSGlMaW5rIGphdmFTY3JpcHQgICAgICAgICAgICAgU3BlY2lhbAorSHRtbEhpTGluayBqYXZhU2NyaXB0RXhwcmVzc2lvbiAgIGphdmFTY3JpcHQKK0h0bWxIaUxpbmsgaHRtbENzc1N0eWxlQ29tbWVudCAgICBDb21tZW50CitIdG1sSGlMaW5rIGh0bWxDc3NEZWZpbml0aW9uICAgICAgU3BlY2lhbAorCiBkZWxjb21tYW5kIEh0bWxIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaHRtbCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2h0bWxjaGVldGFoLnZpbSBiL3J1bnRpbWUvc3ludGF4L2h0bWxjaGVldGFoLnZpbQppbmRleCBmNTdkZjkwLi4wNzIxYzc2IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9odG1sY2hlZXRhaC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaHRtbGNoZWV0YWgudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJTWF4IElzY2hlbmtvIDxtZmlAdWtyLm5ldD4KICIgTGFzdCBDaGFuZ2U6IDIwMDMtMDUtMTEKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE1LDE0ICsxMiw5IEBACiAgIGxldCBtYWluX3N5bnRheCA9ICdodG1sJwogZW5kaWYKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzbyA8c2ZpbGU+OnA6aC9jaGVldGFoLnZpbQotICBzbyA8c2ZpbGU+OnA6aC9odG1sLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvY2hlZXRhaC52aW0KLSAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvY2hlZXRhaC52aW0KK3J1bnRpbWUhIHN5bnRheC9odG1sLnZpbQordW5sZXQgYjpjdXJyZW50X3N5bnRheAogCiBzeW50YXggY2x1c3RlciBodG1sUHJlcHJvYyBhZGQ9Y2hlZXRhaFBsYWNlSG9sZGVyCiBzeW50YXggY2x1c3RlciBodG1sU3RyaW5nIGFkZD1jaGVldGFoUGxhY2VIb2xkZXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2h0bWxkamFuZ28udmltIGIvcnVudGltZS9zeW50YXgvaHRtbGRqYW5nby52aW0KaW5kZXggNThhZmQxYi4uMDdiMWMzNyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvaHRtbGRqYW5nby52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaHRtbGRqYW5nby52aW0KQEAgLTMsMTEgKzMsOCBAQAogIiBNYWludGFpbmVyOglEYXZlIEhvZGRlciA8ZG1oQGRtaC5vcmcudWs+CiAiIExhc3QgQ2hhbmdlOgkyMDE0IEp1bCAxMwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTUsMTQgKzEyLDkgQEAKICAgbGV0IG1haW5fc3ludGF4ID0gJ2h0bWwnCiBlbmRpZgogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvIDxzZmlsZT46cDpoL2RqYW5nby52aW0KLSAgc28gPHNmaWxlPjpwOmgvaHRtbC52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2RqYW5nby52aW0KLSAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvZGphbmdvLnZpbQorcnVudGltZSEgc3ludGF4L2h0bWwudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CiAKIHN5biBjbHVzdGVyIGRqYW5nb0Jsb2NrcyBhZGQ9ZGphbmdvVGFnQmxvY2ssZGphbmdvVmFyQmxvY2ssZGphbmdvQ29tbWVudCxkamFuZ29Db21CbG9jawogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9odG1sbTQudmltIGIvcnVudGltZS9zeW50YXgvaHRtbG00LnZpbQppbmRleCAzMTE5ZDJkLi5lZTFmMDZlIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9odG1sbTQudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2h0bWxtNC52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiBVUkw6CQlodHRwOi8vd3d3LmZsZWluZXIuY29tL3ZpbS9zeW50YXgvaHRtbG00LnZpbQogIiBMYXN0IENoYW5nZToJMjAwMSBBcHIgMzAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE3LDE5ICsxNCwxMiBAQAogICBsZXQgbWFpbl9zeW50YXg9J2h0bWxtNCcKIGVuZGlmCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc28gPHNmaWxlPjpwOmgvaHRtbC52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCi1lbmRpZgorcnVudGltZSEgc3ludGF4L2h0bWwudmltCiB1bmxldCBiOmN1cnJlbnRfc3ludGF4CiBzeW4gY2FzZSBtYXRjaAogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvIDxzZmlsZT46cDpoL200LnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvbTQudmltCi1lbmRpZgorcnVudGltZSEgc3ludGF4L200LnZpbQorCiB1bmxldCBiOmN1cnJlbnRfc3ludGF4CiBzeW4gY2x1c3RlciBodG1sUHJlcHJvYyBhZGQ9QG00VG9wCiBzeW4gY2x1c3RlciBtNFN0cmluZ0NvbnRlbnRzIGFkZD1odG1sVGFnLGh0bWxFbmRUYWcKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2h0bWxvcy52aW0gYi9ydW50aW1lL3N5bnRheC9odG1sb3MudmltCmluZGV4IGYzMWI5ZjYuLjUzMGMwNDYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2h0bWxvcy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaHRtbG9zLnZpbQpAQCAtNiwxMSArNiw4IEBACiAiIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAxMQogIgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTgsMTIgKzE1LDggQEAKICAgbGV0IG1haW5fc3ludGF4ID0gJ2h0bWxvcycKIGVuZGlmCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc28gPHNmaWxlPjpwOmgvaHRtbC52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvaHRtbC52aW0KK3VubGV0IGI6Y3VycmVudF9zeW50YXgKIAogc3luIGNsdXN0ZXIgaHRtbFByZXByb2MgYWRkPWh0bWxvc1JlZ2lvbgogCkBAIC0xMjEsNDIgKzExNCwzNCBAQAogZW5kaWYKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfaHRtbG9zX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2h0bWxvc19zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgotICBIaUxpbmsJIGh0bWxvc1NwZWNpYWxJZGVudGlmaWVyCU9wZXJhdG9yCi0gIEhpTGluawkgaHRtbG9zSWRlbnRpZmllcglJZGVudGlmaWVyCi0gIEhpTGluawkgaHRtbG9zU3RvcmFnZUNsYXNzCVN0b3JhZ2VDbGFzcwotICBIaUxpbmsJIGh0bWxvc0NvbW1lbnQJQ29tbWVudAotICBIaUxpbmsJIGh0bWxvc0Jvb2xlYW4JQm9vbGVhbgotICBIaUxpbmsJIGh0bWxvc1N0cmluZ1NpbmdsZQlTdHJpbmcKLSAgSGlMaW5rCSBodG1sb3NTdHJpbmdEb3VibGUJU3RyaW5nCi0gIEhpTGluawkgaHRtbG9zTnVtYmVyCU51bWJlcgotICBIaUxpbmsJIGh0bWxvc0Zsb2F0CUZsb2F0Ci0gIEhpTGluawkgaHRtbG9zRnVuY3Rpb25zCUZ1bmN0aW9uCi0gIEhpTGluawkgaHRtbG9zUmVwZWF0CVJlcGVhdAotICBIaUxpbmsJIGh0bWxvc0NvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluawkgaHRtbG9zTGFiZWwJTGFiZWwKLSAgSGlMaW5rCSBodG1sb3NTdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluawkgaHRtbG9zS2V5d29yZAlTdGF0ZW1lbnQKLSAgSGlMaW5rCSBodG1sb3NUeXBlCVR5cGUKLSAgSGlMaW5rCSBodG1sb3NEZWZpbmUJRGVmaW5lCi0gIEhpTGluawkgaHRtbG9zUGFyZW50CURlbGltaXRlcgotICBIaUxpbmsJIGh0bWxvc0Vycm9yCUVycm9yCi0gIEhpTGluawkgaHRtbG9zVG9kbwlUb2RvCi0gIEhpTGluawlodG1sb3NPcGVyYXRvcglPcGVyYXRvcgotICBIaUxpbmsJaHRtbG9zUmVsYXRpb24JT3BlcmF0b3IKKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKK0hpTGluawkgaHRtbG9zU3BlY2lhbElkZW50aWZpZXIJT3BlcmF0b3IKK0hpTGluawkgaHRtbG9zSWRlbnRpZmllcglJZGVudGlmaWVyCitIaUxpbmsJIGh0bWxvc1N0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKK0hpTGluawkgaHRtbG9zQ29tbWVudAlDb21tZW50CitIaUxpbmsJIGh0bWxvc0Jvb2xlYW4JQm9vbGVhbgorSGlMaW5rCSBodG1sb3NTdHJpbmdTaW5nbGUJU3RyaW5nCitIaUxpbmsJIGh0bWxvc1N0cmluZ0RvdWJsZQlTdHJpbmcKK0hpTGluawkgaHRtbG9zTnVtYmVyCU51bWJlcgorSGlMaW5rCSBodG1sb3NGbG9hdAlGbG9hdAorSGlMaW5rCSBodG1sb3NGdW5jdGlvbnMJRnVuY3Rpb24KK0hpTGluawkgaHRtbG9zUmVwZWF0CVJlcGVhdAorSGlMaW5rCSBodG1sb3NDb25kaXRpb25hbAlDb25kaXRpb25hbAorSGlMaW5rCSBodG1sb3NMYWJlbAlMYWJlbAorSGlMaW5rCSBodG1sb3NTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsJIGh0bWxvc0tleXdvcmQJU3RhdGVtZW50CitIaUxpbmsJIGh0bWxvc1R5cGUJVHlwZQorSGlMaW5rCSBodG1sb3NEZWZpbmUJRGVmaW5lCitIaUxpbmsJIGh0bWxvc1BhcmVudAlEZWxpbWl0ZXIKK0hpTGluawkgaHRtbG9zRXJyb3IJRXJyb3IKK0hpTGluawkgaHRtbG9zVG9kbwlUb2RvCitIaUxpbmsJaHRtbG9zT3BlcmF0b3IJT3BlcmF0b3IKK0hpTGluawlodG1sb3NSZWxhdGlvbglPcGVyYXRvcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImh0bWxvcyIKIAogaWYgbWFpbl9zeW50YXggPT0gJ2h0bWxvcycKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2lhNjQudmltIGIvcnVudGltZS9zeW50YXgvaWE2NC52aW0KaW5kZXggZjBkNTEwYi4uOGNjOWFkZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvaWE2NC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaWE2NC52aW0KQEAgLTYsMTEgKzYsOCBAQAogIiBGaWxlIFZlcnNpb246IDAuNwogIiBMYXN0IENoYW5nZTogIDIwMDYgU2VwIDA4CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xOSwxMSArMTYsNyBAQAogc3luIGNhc2UgaWdub3JlCiAKICIgIElkZW50aWZpZXIgS2V5d29yZCBjaGFyYWN0ZXJzIChkZWZpbmVzIFxrKQotaWYgdmVyc2lvbiA+PSA2MDAKLQlzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NywjLCQsLiw6LD8sQC1ALF8sfgotZWxzZQotCXNldCBpc2tleXdvcmQ9QCw0OC01NywjLCQsLiw6LD8sQC1ALF8sfgotZW5kaWYKK3NldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LCMsJCwuLDosPyxALUAsXyx+CiAKIHN5biBzeW5jIG1pbmxpbmVzPTUKIApAQCAtMjY4LDQzICsyNjEsMzUgQEAKIHN5biBtYXRjaCBpYTY0ZGF0YSAic3RyaW5nelw9XChcKFwoXC51YVwpXD1cKFwubXNiXHxcLmxzYlwpXD1cKVx8XChcKFwubXNiXHxcLmxzYlwpXD1cKFwudWFcKVw9XClcKVw9XD4iCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2lhNjRfc3luX2luaXRzIikKLQlpZiB2ZXJzaW9uIDwgNTA4Ci0JCWxldCBkaWRfaWE2NF9zeW5faW5pdHMgPSAxCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0JZWxzZQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLQllbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLQkicHV0IG1hc20gZ3JvdXBzIHdpdGggb3VyIGdyb3VwcwotCUhpTGluayBtYXNtT3BlcmF0b3IJaWE2NG9wZXJhdG9yCi0JSGlMaW5rIG1hc21EaXJlY3RpdmUJaWE2NERpcmVjdGl2ZQotCUhpTGluayBtYXNtT3Bjb2RlCWlhNjRPcGNvZGUKLQlIaUxpbmsgbWFzbUlkZW50aWZpZXIJaWE2NElkZW50aWZpZXIKLQlIaUxpbmsgbWFzbUZsb2F0CWlhNjRGbG9hdAorInB1dCBtYXNtIGdyb3VwcyB3aXRoIG91ciBncm91cHMKK0hpTGluayBtYXNtT3BlcmF0b3IJaWE2NG9wZXJhdG9yCitIaUxpbmsgbWFzbURpcmVjdGl2ZQlpYTY0RGlyZWN0aXZlCitIaUxpbmsgbWFzbU9wY29kZQlpYTY0T3Bjb2RlCitIaUxpbmsgbWFzbUlkZW50aWZpZXIJaWE2NElkZW50aWZpZXIKK0hpTGluayBtYXNtRmxvYXQJaWE2NEZsb2F0CiAKLQkiaWE2NCBzcGVjaWZpYyBzdHVmZgotCUhpTGluayBpYTY0TGFiZWwJRGVmaW5lCi0JSGlMaW5rIGlhNjRDb21tZW50CUNvbW1lbnQKLQlIaUxpbmsgaWE2NERpcmVjdGl2ZQlUeXBlCi0JSGlMaW5rIGlhNjRvcGNvZGUJU3RhdGVtZW50Ci0JSGlMaW5rIGlhNjRyZWdpc3RlcnMJT3BlcmF0b3IKLQlIaUxpbmsgaWE2NHN0cmluZwlTdHJpbmcKLQlIaUxpbmsgaWE2NEhleAkJTnVtYmVyCi0JSGlMaW5rIGlhNjRCaW5hcnkJTnVtYmVyCi0JSGlMaW5rIGlhNjRPY3RhbAlOdW1iZXIKLQlIaUxpbmsgaWE2NEZsb2F0CUZsb2F0Ci0JSGlMaW5rIGlhNjREZWNpbWFsCU51bWJlcgotCUhpTGluayBpYTY0SWRlbnRpZmllcglJZGVudGlmaWVyCi0JSGlMaW5rIGlhNjRkYXRhCQlUeXBlCi0JSGlMaW5rIGlhNjRkZWxpbWl0ZXIJRGVsaW1pdGVyCi0JSGlMaW5rIGlhNjRvcGVyYXRvcglPcGVyYXRvcgotCUhpTGluayBpYTY0VG9kbwkJVG9kbworImlhNjQgc3BlY2lmaWMgc3R1ZmYKK0hpTGluayBpYTY0TGFiZWwJRGVmaW5lCitIaUxpbmsgaWE2NENvbW1lbnQJQ29tbWVudAorSGlMaW5rIGlhNjREaXJlY3RpdmUJVHlwZQorSGlMaW5rIGlhNjRvcGNvZGUJU3RhdGVtZW50CitIaUxpbmsgaWE2NHJlZ2lzdGVycwlPcGVyYXRvcgorSGlMaW5rIGlhNjRzdHJpbmcJU3RyaW5nCitIaUxpbmsgaWE2NEhleAkJTnVtYmVyCitIaUxpbmsgaWE2NEJpbmFyeQlOdW1iZXIKK0hpTGluayBpYTY0T2N0YWwJTnVtYmVyCitIaUxpbmsgaWE2NEZsb2F0CUZsb2F0CitIaUxpbmsgaWE2NERlY2ltYWwJTnVtYmVyCitIaUxpbmsgaWE2NElkZW50aWZpZXIJSWRlbnRpZmllcgorSGlMaW5rIGlhNjRkYXRhCQlUeXBlCitIaUxpbmsgaWE2NGRlbGltaXRlcglEZWxpbWl0ZXIKK0hpTGluayBpYTY0b3BlcmF0b3IJT3BlcmF0b3IKK0hpTGluayBpYTY0VG9kbwkJVG9kbwogCi0JZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJpYTY0IgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9pY2VtZW51LnZpbSBiL3J1bnRpbWUvc3ludGF4L2ljZW1lbnUudmltCmluZGV4IGQzYTczM2QuLjY1MTMyODcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2ljZW1lbnUudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2ljZW1lbnUudmltCkBAIC02LDEwICs2LDggQEAKICIgQ29tbWVudDoJSWNld20gaXMgYSBsaWdodHdlaWdodCB3aW5kb3cgbWFuYWdlci4gIFRoaXMgYWRkcyBzeW50YXgKICIJCWhpZ2hsaWdodGluZyB3aGVuIGVkaXRpbmcgeW91ciB1c2VyJ3MgbWVudSBmaWxlICh+Ly5pY2V3bS9tZW51KS4KIAotIiBjbGVhciBleGlzdGluZyBzeW50YXgKLWlmIHZlcnNpb24gPCA2MDAKLQlzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAJZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9pY29uLnZpbSBiL3J1bnRpbWUvc3ludGF4L2ljb24udmltCmluZGV4IDFhNzNjNDMuLjFiZDEyZDMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2ljb24udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2ljb24udmltCkBAIC00LDExICs0LDggQEAKICIgVVJMOgkJZnRwOi8vZnRwLmhhbGN5b24uY29tL3B1Yi91c2Vycy93dHVybmVyL2ljb24udmltCiAiIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAxMQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTU3LDU2ICsxNTQsNDggQEAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgogCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZwotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2ljb25fc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfaWNvbl9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCisiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCiAKLSAgIiBIaUxpbmsgaWNvblNwZWNpYWxDaGFyYWN0ZXIJaWNvblNwZWNpYWwKKyIgSGlMaW5rIGljb25TcGVjaWFsQ2hhcmFjdGVyCWljb25TcGVjaWFsCiAKLSAgSGlMaW5rIGljb25PY3RhbEVycm9yCQlpY29uRXJyb3IKLSAgSGlMaW5rIGljb25QYXJlbkVycm9yCQlpY29uRXJyb3IKLSAgSGlMaW5rIGljb25JblBhcmVuCQlpY29uRXJyb3IKLSAgSGlMaW5rIGljb25Db21tZW50RXJyb3IJaWNvbkVycm9yCi0gIEhpTGluayBpY29uU3BhY2VFcnJvcgkJaWNvbkVycm9yCi0gIEhpTGluayBpY29uQ29tbWVudEVycm9yCWljb25FcnJvcgotICBIaUxpbmsgaWNvbkluY2x1ZGVkCQlpY29uU3RyaW5nCi0gIEhpTGluayBpY29uQ29tbWVudFN0cmluZwlpY29uU3RyaW5nCi0gIEhpTGluayBpY29uQ29tbWVudDJTdHJpbmcJaWNvblN0cmluZwotICBIaUxpbmsgaWNvbkNvbW1lbnRTa2lwCWljb25Db21tZW50CitIaUxpbmsgaWNvbk9jdGFsRXJyb3IJCWljb25FcnJvcgorSGlMaW5rIGljb25QYXJlbkVycm9yCQlpY29uRXJyb3IKK0hpTGluayBpY29uSW5QYXJlbgkJaWNvbkVycm9yCitIaUxpbmsgaWNvbkNvbW1lbnRFcnJvcglpY29uRXJyb3IKK0hpTGluayBpY29uU3BhY2VFcnJvcgkJaWNvbkVycm9yCitIaUxpbmsgaWNvbkNvbW1lbnRFcnJvcglpY29uRXJyb3IKK0hpTGluayBpY29uSW5jbHVkZWQJCWljb25TdHJpbmcKK0hpTGluayBpY29uQ29tbWVudFN0cmluZwlpY29uU3RyaW5nCitIaUxpbmsgaWNvbkNvbW1lbnQyU3RyaW5nCWljb25TdHJpbmcKK0hpTGluayBpY29uQ29tbWVudFNraXAJaWNvbkNvbW1lbnQKIAotICBIaUxpbmsgaWNvblVzZXJMYWJlbAkJTGFiZWwKLSAgSGlMaW5rIGljb25DaGFyYWN0ZXIJCUNoYXJhY3RlcgotICBIaUxpbmsgaWNvbk51bWJlcgkJCU51bWJlcgotICBIaUxpbmsgaWNvblJhZGl4CQkJTnVtYmVyCi0gIEhpTGluayBpY29uRmxvYXQJCQlGbG9hdAotICBIaUxpbmsgaWNvbkluY2x1ZGUJCUluY2x1ZGUKLSAgSGlMaW5rIGljb25QcmVQcm9jCQlQcmVQcm9jCi0gIEhpTGluayBpY29uRGVmaW5lCQkJTWFjcm8KLSAgSGlMaW5rIGljb25FcnJvcgkJCUVycm9yCi0gIEhpTGluayBpY29uU3RhdGVtZW50CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGljb25QcmVDb25kaXQJCVByZUNvbmRpdAotICBIaUxpbmsgaWNvblN0cmluZwkJCVN0cmluZwotICBIaUxpbmsgaWNvbkNzZXQJCQlTdHJpbmcKLSAgSGlMaW5rIGljb25Db21tZW50CQlDb21tZW50Ci0gIEhpTGluayBpY29uU3BlY2lhbAkJU3BlY2lhbENoYXIKLSAgSGlMaW5rIGljb25Ub2RvCQkJVG9kbwotICBIaUxpbmsgaWNvblN0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rIGljb25GdW5jdGlvbgkJU3RhdGVtZW50Ci0gIEhpTGluayBpY29uUmVzZXJ2ZWQJCUxhYmVsCi0gIEhpTGluayBpY29uS2V5d29yZAkJT3BlcmF0b3IKK0hpTGluayBpY29uVXNlckxhYmVsCQlMYWJlbAorSGlMaW5rIGljb25DaGFyYWN0ZXIJCUNoYXJhY3RlcgorSGlMaW5rIGljb25OdW1iZXIJCQlOdW1iZXIKK0hpTGluayBpY29uUmFkaXgJCQlOdW1iZXIKK0hpTGluayBpY29uRmxvYXQJCQlGbG9hdAorSGlMaW5rIGljb25JbmNsdWRlCQlJbmNsdWRlCitIaUxpbmsgaWNvblByZVByb2MJCVByZVByb2MKK0hpTGluayBpY29uRGVmaW5lCQkJTWFjcm8KK0hpTGluayBpY29uRXJyb3IJCQlFcnJvcgorSGlMaW5rIGljb25TdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIGljb25QcmVDb25kaXQJCVByZUNvbmRpdAorSGlMaW5rIGljb25TdHJpbmcJCQlTdHJpbmcKK0hpTGluayBpY29uQ3NldAkJCVN0cmluZworSGlMaW5rIGljb25Db21tZW50CQlDb21tZW50CitIaUxpbmsgaWNvblNwZWNpYWwJCVNwZWNpYWxDaGFyCitIaUxpbmsgaWNvblRvZG8JCQlUb2RvCitIaUxpbmsgaWNvblN0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKK0hpTGluayBpY29uRnVuY3Rpb24JCVN0YXRlbWVudAorSGlMaW5rIGljb25SZXNlcnZlZAkJTGFiZWwKK0hpTGluayBpY29uS2V5d29yZAkJT3BlcmF0b3IKIAotICAiSGlMaW5rIGljb25JZGVudGlmaWVyCUlkZW50aWZpZXIKKyJIaUxpbmsgaWNvbklkZW50aWZpZXIJSWRlbnRpZmllcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaWNvbiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaWRsYW5nLnZpbSBiL3J1bnRpbWUvc3ludGF4L2lkbGFuZy52aW0KaW5kZXggNjcwZDA4MC4uNmQ2MzljOSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvaWRsYW5nLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9pZGxhbmcudmltCkBAIC00LDExICs0LDggQEAKICIgQ3JlYXRlZCBieTogSGVybWFubiBSb2NoaG9seiA8SGVybWFubi5Sb2NoaG9seiBBVCBnbXguZGU+CiAKICIgUmVtb3ZlIGFueSBvbGQgc3ludGF4IHN0dWZmIGhhbmdpbmcgYXJvdW5kCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjE5LDM1ICsyMTYsMjcgQEAKIHN5biBrZXl3b3JkIGlkbGFuZ1JvdXRpbmUgWFZPTFVNRV9XUklURV9JTUFHRSBYWU9VVFMgWk9PTSBaT09NXzI0CiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2lkbGFuZ19zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9pZGxhbmdfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci1lbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci1lbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGlkbGFuZ0NvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluayBpZGxhbmdSb3V0aW5lCVR5cGUKLSAgSGlMaW5rIGlkbGFuZ1N0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIGlkbGFuZ0NvbnRpbnVlTGluZQlUb2RvCi0gIEhpTGluayBpZGxhbmdSZWFsTnVtYmVyCUZsb2F0Ci0gIEhpTGluayBpZGxhbmdOdW1iZXIJTnVtYmVyCi0gIEhpTGluayBpZGxhbmdTdHJpbmcJU3RyaW5nCi0gIEhpTGluayBpZGxhbmdPcGVyYXRvcglPcGVyYXRvcgotICBIaUxpbmsgaWRsYW5nQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBpZGxhbmdUb2RvCVRvZG8KLSAgSGlMaW5rIGlkbGFuZ1ByZUNvbmRpdAlJZGVudGlmaWVyCi0gIEhpTGluayBpZGxhbmdEYmxDb21tYUVycm9yCUVycm9yCi0gIEhpTGluayBpZGxhbmdTdG9wCUVycm9yCi0gIEhpTGluayBpZGxhbmdTdHJ1Y3ZhcglQcmVQcm9jCi0gIEhpTGluayBpZGxhbmdTeXN0ZW0JSWRlbnRpZmllcgotICBIaUxpbmsgaWRsYW5nS2V5d29yZAlTcGVjaWFsCitIaUxpbmsgaWRsYW5nQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayBpZGxhbmdSb3V0aW5lCVR5cGUKK0hpTGluayBpZGxhbmdTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgaWRsYW5nQ29udGludWVMaW5lCVRvZG8KK0hpTGluayBpZGxhbmdSZWFsTnVtYmVyCUZsb2F0CitIaUxpbmsgaWRsYW5nTnVtYmVyCU51bWJlcgorSGlMaW5rIGlkbGFuZ1N0cmluZwlTdHJpbmcKK0hpTGluayBpZGxhbmdPcGVyYXRvcglPcGVyYXRvcgorSGlMaW5rIGlkbGFuZ0NvbW1lbnQJQ29tbWVudAorSGlMaW5rIGlkbGFuZ1RvZG8JVG9kbworSGlMaW5rIGlkbGFuZ1ByZUNvbmRpdAlJZGVudGlmaWVyCitIaUxpbmsgaWRsYW5nRGJsQ29tbWFFcnJvcglFcnJvcgorSGlMaW5rIGlkbGFuZ1N0b3AJRXJyb3IKK0hpTGluayBpZGxhbmdTdHJ1Y3ZhcglQcmVQcm9jCitIaUxpbmsgaWRsYW5nU3lzdGVtCUlkZW50aWZpZXIKK0hpTGluayBpZGxhbmdLZXl3b3JkCVNwZWNpYWwKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImlkbGFuZyIKICIgdmltOiB0cz0xOApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaW5mb3JtLnZpbSBiL3J1bnRpbWUvc3ludGF4L2luZm9ybS52aW0KaW5kZXggZDhiYTQzZC4uNGQ4MzNjNyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvaW5mb3JtLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9pbmZvcm0udmltCkBAIC00LDEwICs0LDggQEAKICIgVVJMOgkJaHR0cDovL3d3dy5nb3dhcnRob21hcy5jb20vaW5mb3JtdmltCiAiIExhc3QgQ2hhbmdlOiAgMjAwNiBBcHJpbCAyMAogCi0iIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjk0LDEzICsyOTIsOCBAQAogCiAiIEhhbmRsaW5nIGZvciBkaWZmZXJlbnQgdmVyc2lvbnMgb2YgVklNLgogCi1pZiB2ZXJzaW9uID49IDYwMAotICBzZXRsb2NhbCBpc2tleXdvcmQrPSQKLSAgY29tbWFuZCAtbmFyZ3M9KyBTeW5EaXNwbGF5IHN5bnRheCA8YXJncz4gZGlzcGxheQotZWxzZQotICBzZXQgaXNrZXl3b3JkKz0kCi0gIGNvbW1hbmQgLW5hcmdzPSsgU3luRGlzcGxheSBzeW50YXggPGFyZ3M+Ci1lbmRpZgorc2V0bG9jYWwgaXNrZXl3b3JkKz0kCitjb21tYW5kIC1uYXJncz0rIFN5bkRpc3BsYXkgc3ludGF4IDxhcmdzPiBkaXNwbGF5CiAKICIgR3JhbW1hciBzZWN0aW9ucy4KIApAQCAtMzQ3LDYxICszNDAsNTQgQEAKIGRlbGNvbW1hbmQgU3luRGlzcGxheQogCiAiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9pbmZvcm1fc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfaW5mb3JtX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgaW5mb3JtRGVmaW5lCQlEZWZpbmUKLSAgSGlMaW5rIGluZm9ybVR5cGUJCVR5cGUKLSAgSGlMaW5rIGluZm9ybUluY2x1ZGUJCUluY2x1ZGUKLSAgSGlMaW5rIGluZm9ybVByZUNvbmRpdAlQcmVDb25kaXQKLSAgSGlMaW5rIGluZm9ybVByZVByb2MJCVByZVByb2MKLSAgSGlMaW5rIGluZm9ybUdyYW1QcmVQcm9jCVByZVByb2MKLSAgSGlMaW5rIGluZm9ybUFzbQkJU3BlY2lhbAotICBpZiAhZXhpc3RzKCJpbmZvcm1fc3VwcHJlc3Nfb2Jzb2xldGUiKQotICAgIEhpTGluayBpbmZvcm1Bc21PYnNvbGV0ZQkJaW5mb3JtRXJyb3IKLSAgICBIaUxpbmsgaW5mb3JtS2V5d29yZE9ic29sZXRlCWluZm9ybUVycm9yCi0gIGVsc2UKLSAgICBIaUxpbmsgaW5mb3JtQXNtT2Jzb2xldGUJCVNwZWNpYWwKLSAgICBIaUxpbmsgaW5mb3JtS2V5d29yZE9ic29sZXRlCUtleXdvcmQKLSAgZW5kaWYKLSAgSGlMaW5rIGluZm9ybVByZWRpY2F0ZQlPcGVyYXRvcgotICBIaUxpbmsgaW5mb3JtU3lzRnVuYwkJSWRlbnRpZmllcgotICBIaUxpbmsgaW5mb3JtU3lzQ29uc3QJCUlkZW50aWZpZXIKLSAgSGlMaW5rIGluZm9ybUNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluayBpbmZvcm1SZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgaW5mb3JtU3RhdGVtZW50CVN0YXRlbWVudAotICBIaUxpbmsgaW5mb3JtT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayBpbmZvcm1LZXl3b3JkCQlLZXl3b3JkCi0gIEhpTGluayBpbmZvcm1HcmFtbWFyCQlLZXl3b3JkCi0gIEhpTGluayBpbmZvcm1EaWN0U3RyaW5nCVN0cmluZwotICBIaUxpbmsgaW5mb3JtTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIGluZm9ybUVycm9yCQlFcnJvcgotICBIaUxpbmsgaW5mb3JtU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIGluZm9ybUNvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIGluZm9ybUFjY2VudAkJU3BlY2lhbAotICBIaUxpbmsgaW5mb3JtU3RyaW5nVW5pY29kZQlTcGVjaWFsCi0gIEhpTGluayBpbmZvcm1TdHJpbmdDb2RlCVNwZWNpYWwKLSAgSGlMaW5rIGluZm9ybVRvZG8JCVRvZG8KLSAgaWYgIWV4aXN0cygiaW5mb3JtX2hpZ2hsaWdodF9zaW1wbGUiKQotICAgIEhpTGluayBpbmZvcm1MaWJBdHRyaWIJSWRlbnRpZmllcgotICAgIEhpTGluayBpbmZvcm1MaWJQcm9wCUlkZW50aWZpZXIKLSAgICBIaUxpbmsgaW5mb3JtTGliT2JqCQlJZGVudGlmaWVyCi0gICAgSGlMaW5rIGluZm9ybUxpYlJvdXRpbmUJSWRlbnRpZmllcgotICAgIEhpTGluayBpbmZvcm1MaWJWYXJpYWJsZQlJZGVudGlmaWVyCi0gICAgSGlMaW5rIGluZm9ybUxpYkNvbnN0CUlkZW50aWZpZXIKLSAgICBIaUxpbmsgaW5mb3JtTGliQWN0aW9uCUlkZW50aWZpZXIKLSAgZW5kaWYKLSAgSGlMaW5rIGluZm9ybUJhZERpY3RTdHJpbmcJaW5mb3JtRXJyb3IKLSAgSGlMaW5rIGluZm9ybUJhZEFjY2VudAlpbmZvcm1FcnJvcgotICBIaUxpbmsgaW5mb3JtQmFkU3RyVW5pY29kZQlpbmZvcm1FcnJvcgotCi0gIGRlbGNvbW1hbmQgSGlMaW5rCitIaUxpbmsgaW5mb3JtRGVmaW5lCQlEZWZpbmUKK0hpTGluayBpbmZvcm1UeXBlCQlUeXBlCitIaUxpbmsgaW5mb3JtSW5jbHVkZQkJSW5jbHVkZQorSGlMaW5rIGluZm9ybVByZUNvbmRpdAlQcmVDb25kaXQKK0hpTGluayBpbmZvcm1QcmVQcm9jCQlQcmVQcm9jCitIaUxpbmsgaW5mb3JtR3JhbVByZVByb2MJUHJlUHJvYworSGlMaW5rIGluZm9ybUFzbQkJU3BlY2lhbAoraWYgIWV4aXN0cygiaW5mb3JtX3N1cHByZXNzX29ic29sZXRlIikKK0hpTGluayBpbmZvcm1Bc21PYnNvbGV0ZQkJaW5mb3JtRXJyb3IKK0hpTGluayBpbmZvcm1LZXl3b3JkT2Jzb2xldGUJaW5mb3JtRXJyb3IKK2Vsc2UKK0hpTGluayBpbmZvcm1Bc21PYnNvbGV0ZQkJU3BlY2lhbAorSGlMaW5rIGluZm9ybUtleXdvcmRPYnNvbGV0ZQlLZXl3b3JkCiBlbmRpZgorSGlMaW5rIGluZm9ybVByZWRpY2F0ZQlPcGVyYXRvcgorSGlMaW5rIGluZm9ybVN5c0Z1bmMJCUlkZW50aWZpZXIKK0hpTGluayBpbmZvcm1TeXNDb25zdAkJSWRlbnRpZmllcgorSGlMaW5rIGluZm9ybUNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCitIaUxpbmsgaW5mb3JtUmVwZWF0CQlSZXBlYXQKK0hpTGluayBpbmZvcm1TdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgaW5mb3JtT3BlcmF0b3IJCU9wZXJhdG9yCitIaUxpbmsgaW5mb3JtS2V5d29yZAkJS2V5d29yZAorSGlMaW5rIGluZm9ybUdyYW1tYXIJCUtleXdvcmQKK0hpTGluayBpbmZvcm1EaWN0U3RyaW5nCVN0cmluZworSGlMaW5rIGluZm9ybU51bWJlcgkJTnVtYmVyCitIaUxpbmsgaW5mb3JtRXJyb3IJCUVycm9yCitIaUxpbmsgaW5mb3JtU3RyaW5nCQlTdHJpbmcKK0hpTGluayBpbmZvcm1Db21tZW50CQlDb21tZW50CitIaUxpbmsgaW5mb3JtQWNjZW50CQlTcGVjaWFsCitIaUxpbmsgaW5mb3JtU3RyaW5nVW5pY29kZQlTcGVjaWFsCitIaUxpbmsgaW5mb3JtU3RyaW5nQ29kZQlTcGVjaWFsCitIaUxpbmsgaW5mb3JtVG9kbwkJVG9kbworaWYgIWV4aXN0cygiaW5mb3JtX2hpZ2hsaWdodF9zaW1wbGUiKQorSGlMaW5rIGluZm9ybUxpYkF0dHJpYglJZGVudGlmaWVyCitIaUxpbmsgaW5mb3JtTGliUHJvcAlJZGVudGlmaWVyCitIaUxpbmsgaW5mb3JtTGliT2JqCQlJZGVudGlmaWVyCitIaUxpbmsgaW5mb3JtTGliUm91dGluZQlJZGVudGlmaWVyCitIaUxpbmsgaW5mb3JtTGliVmFyaWFibGUJSWRlbnRpZmllcgorSGlMaW5rIGluZm9ybUxpYkNvbnN0CUlkZW50aWZpZXIKK0hpTGluayBpbmZvcm1MaWJBY3Rpb24JSWRlbnRpZmllcgorZW5kaWYKK0hpTGluayBpbmZvcm1CYWREaWN0U3RyaW5nCWluZm9ybUVycm9yCitIaUxpbmsgaW5mb3JtQmFkQWNjZW50CWluZm9ybUVycm9yCitIaUxpbmsgaW5mb3JtQmFkU3RyVW5pY29kZQlpbmZvcm1FcnJvcgorCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJpbmZvcm0iCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2luaXR0YWIudmltIGIvcnVudGltZS9zeW50YXgvaW5pdHRhYi52aW0KaW5kZXggYjc0NzJmOS4uYTc0M2M4MiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvaW5pdHRhYi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaW5pdHRhYi52aW0KQEAgLTYsMTIgKzYsOSBAQAogIiBVUkw6IGh0dHA6Ly9waHlzaWNzLm11bmkuY3ovfnlldGkvZG93bmxvYWQvc3ludGF4L2luaXR0YWIudmltCiAKICIgU2V0dXAKLWlmIHZlcnNpb24gPj0gNjAwCi0gIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCi0gICAgZmluaXNoCi0gIGVuZGlmCi1lbHNlCi0gIHN5bnRheCBjbGVhcgorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAogZW5kaWYKIAogc3luIGNhc2UgbWF0Y2gKQEAgLTQ1LDMxICs0MiwyNCBAQAogc3luIHJlZ2lvbiBpbml0dGFiUHJvY2VzcyBzdGFydD0iLyIgZW5kPSIkIiB0cmFuc3BhcmVudCBvbmVsaW5lIGNvbnRhaW5lZCBjb250YWlucz1AaW5pdHRhYlNoLGluaXR0YWJDb21tZW50CiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZwotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2luaXR0YWJfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfaW5pdHRhYl9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGluaXR0YWJDb21tZW50IENvbW1lbnQKLSAgSGlMaW5rIGluaXR0YWJGaXhtZSBUb2RvCi0gIEhpTGluayBpbml0dGFiQWN0aW9uTmFtZSBUeXBlCi0gIEhpTGluayBpbml0dGFiRXJyb3IgRXJyb3IKLSAgSGlMaW5rIGluaXR0YWJJZCBJZGVudGlmaWVyCi0gIEhpTGluayBpbml0dGFiUnVuTGV2ZWxzIFNwZWNpYWwKK0hpTGluayBpbml0dGFiQ29tbWVudCBDb21tZW50CitIaUxpbmsgaW5pdHRhYkZpeG1lIFRvZG8KK0hpTGluayBpbml0dGFiQWN0aW9uTmFtZSBUeXBlCitIaUxpbmsgaW5pdHRhYkVycm9yIEVycm9yCitIaUxpbmsgaW5pdHRhYklkIElkZW50aWZpZXIKK0hpTGluayBpbml0dGFiUnVuTGV2ZWxzIFNwZWNpYWwKIAotICBIaUxpbmsgaW5pdHRhYkNvbG9uUHJvY2VzcyBpbml0dGFiQ29sb24KLSAgSGlMaW5rIGluaXR0YWJDb2xvbkFjdGlvbiBpbml0dGFiQ29sb24KLSAgSGlMaW5rIGluaXR0YWJDb2xvblJ1bkxldmVscyBpbml0dGFiQ29sb24KLSAgSGlMaW5rIGluaXR0YWJDb2xvbiBQcmVQcm9jCitIaUxpbmsgaW5pdHRhYkNvbG9uUHJvY2VzcyBpbml0dGFiQ29sb24KK0hpTGluayBpbml0dGFiQ29sb25BY3Rpb24gaW5pdHRhYkNvbG9uCitIaUxpbmsgaW5pdHRhYkNvbG9uUnVuTGV2ZWxzIGluaXR0YWJDb2xvbgorSGlMaW5rIGluaXR0YWJDb2xvbiBQcmVQcm9jCiAKLSAgSGlMaW5rIGluaXR0YWJTaFN0cmluZyBTdHJpbmcKLSAgSGlMaW5rIGluaXR0YWJTaE9wdGlvbiBTcGVjaWFsCi0gIEhpTGluayBpbml0dGFiU2hDb21tYW5kIFN0YXRlbWVudAorSGlMaW5rIGluaXR0YWJTaFN0cmluZyBTdHJpbmcKK0hpTGluayBpbml0dGFiU2hPcHRpb24gU3BlY2lhbAorSGlMaW5rIGluaXR0YWJTaENvbW1hbmQgU3RhdGVtZW50CiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJpbml0dGFiIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaXBmaWx0ZXIudmltIGIvcnVudGltZS9zeW50YXgvaXBmaWx0ZXIudmltCmluZGV4IGRiOTk4MTIuLmE3YjdkZjIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2lwZmlsdGVyLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9pcGZpbHRlci52aW0KQEAgLTksMTEgKzksOCBAQAogIiBub3QgY29ycmVjdGx5IGlkZW50aWZpZWQuCiAiIFBsZWFzZSBzZW5kIGNvbW1lbnRzIHRvIGhlbmRyaWtAc2Nob2x6Lm5ldAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaXNoZC52aW0gYi9ydW50aW1lL3N5bnRheC9pc2hkLnZpbQppbmRleCAxYzAxMWYxLi43OGQ4OGI5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9pc2hkLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9pc2hkLnZpbQpAQCAtMywxMSArMyw4IEBACiAiIE1haW50YWluZXI6CVJvYmVydCBNLiBDb3J0b3Bhc3NpIDxjb3J0b3BhckBtaW5kc3ByaW5nLmNvbT4KICIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDA5CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0zODcsMzUgKzM4NCwyNyBAQAogc3luIHJlZ2lvbglpc2hkRGVmaW5lCQlzdGFydD0iXlxzKiNccypcKGRlZmluZVx8dW5kZWZcKVw+IiBlbmQ9IiQiIGNvbnRhaW5zPUFMTEJVVCxAaXNoZFByZVByb2NHcm91cAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9pc19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9pc19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGlzaGROdW1iZXIJICAgIE51bWJlcgotICBIaUxpbmsgaXNoZEVycm9yCSAgICBFcnJvcgotICBIaUxpbmsgaXNoZFN0YXRlbWVudAkgICAgU3RhdGVtZW50Ci0gIEhpTGluayBpc2hkU3RyaW5nCSAgICBTdHJpbmcKLSAgSGlMaW5rIGlzaGRDb21tZW50CSAgICBDb21tZW50Ci0gIEhpTGluayBpc2hkVG9kbwkgICAgVG9kbwotICBIaUxpbmsgaXNoZEZ1bmN0aW9uCSAgICBJZGVudGlmaWVyCi0gIEhpTGluayBpc2hkQ29uc3RhbnQJICAgIFByZVByb2MKLSAgSGlMaW5rIGlzaGRUeXBlCSAgICBUeXBlCi0gIEhpTGluayBpc2hkSW5jbHVkZQkgICAgSW5jbHVkZQotICBIaUxpbmsgaXNoZERlZmluZQkgICAgTWFjcm8KLSAgSGlMaW5rIGlzaGRJbmNsdWRlZAkgICAgU3RyaW5nCi0gIEhpTGluayBpc2hkUHJlQ29uZGl0CSAgICBQcmVDb25kaXQKLSAgSGlMaW5rIGlzaGRIYXNoSWYwU2tpcCAgIGlzaGRIYXNoSWYwCi0gIEhpTGluayBpc2hkSGFzaElmMEVuZCAgICBpc2hkSGFzaElmMAotICBIaUxpbmsgaXNoZEhhc2hJZjAJICAgIENvbW1lbnQKK0hpTGluayBpc2hkTnVtYmVyCSAgICBOdW1iZXIKK0hpTGluayBpc2hkRXJyb3IJICAgIEVycm9yCitIaUxpbmsgaXNoZFN0YXRlbWVudAkgICAgU3RhdGVtZW50CitIaUxpbmsgaXNoZFN0cmluZwkgICAgU3RyaW5nCitIaUxpbmsgaXNoZENvbW1lbnQJICAgIENvbW1lbnQKK0hpTGluayBpc2hkVG9kbwkgICAgVG9kbworSGlMaW5rIGlzaGRGdW5jdGlvbgkgICAgSWRlbnRpZmllcgorSGlMaW5rIGlzaGRDb25zdGFudAkgICAgUHJlUHJvYworSGlMaW5rIGlzaGRUeXBlCSAgICBUeXBlCitIaUxpbmsgaXNoZEluY2x1ZGUJICAgIEluY2x1ZGUKK0hpTGluayBpc2hkRGVmaW5lCSAgICBNYWNybworSGlMaW5rIGlzaGRJbmNsdWRlZAkgICAgU3RyaW5nCitIaUxpbmsgaXNoZFByZUNvbmRpdAkgICAgUHJlQ29uZGl0CitIaUxpbmsgaXNoZEhhc2hJZjBTa2lwICAgaXNoZEhhc2hJZjAKK0hpTGluayBpc2hkSGFzaElmMEVuZCAgICBpc2hkSGFzaElmMAorSGlMaW5rIGlzaGRIYXNoSWYwCSAgICBDb21tZW50CiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJpc2hkIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9pc3MudmltIGIvcnVudGltZS9zeW50YXgvaXNzLnZpbQppbmRleCAyNmQ5MTUwLi42M2E0NTNhIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9pc3MudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2lzcy52aW0KQEAgLTksMTEgKzksOCBAQAogIiAgLSBQYXNjYWwgc2NyaXB0aW5nIHN5bnRheCBpcyBub3QgcmVjb2duaXplZC4KICIgIC0gRW1iZWRkZWQgZG91YmxlIHF1b3RlcyBjb25mdXNlIHN0cmluZyBtYXRjaGVzLiBlLmcuICJhc2ZkIiJhc2ZhIgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTA1LDQ0ICsxMDIsMzYgQEAKIAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9pc3Nfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfaXNzX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgotICAgSGlMaW5rIGlzc1NlY3Rpb24JU3BlY2lhbAotICAgSGlMaW5rIGlzc0NvbW1lbnQJQ29tbWVudAotICAgSGlMaW5rIGlzc0RpcmVjdGl2ZQlUeXBlCi0gICBIaUxpbmsgaXNzUGFyYW0JVHlwZQotICAgSGlMaW5rIGlzc0ZvbGRlcglTcGVjaWFsCi0gICBIaUxpbmsgaXNzU3RyaW5nCVN0cmluZwotICAgSGlMaW5rIGlzc1VSTAlJbmNsdWRlCi0gICBIaUxpbmsgaXNzUHJlUHJvYwlQcmVQcm9jIAorIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorSGlMaW5rIGlzc1NlY3Rpb24JU3BlY2lhbAorSGlMaW5rIGlzc0NvbW1lbnQJQ29tbWVudAorSGlMaW5rIGlzc0RpcmVjdGl2ZQlUeXBlCitIaUxpbmsgaXNzUGFyYW0JVHlwZQorSGlMaW5rIGlzc0ZvbGRlcglTcGVjaWFsCitIaUxpbmsgaXNzU3RyaW5nCVN0cmluZworSGlMaW5rIGlzc1VSTAlJbmNsdWRlCitIaUxpbmsgaXNzUHJlUHJvYwlQcmVQcm9jIAogCi0gICBIaUxpbmsgaXNzRGlyc0ZsYWdzCQlLZXl3b3JkCi0gICBIaUxpbmsgaXNzRmlsZXNDb3B5TW9kZQlLZXl3b3JkCi0gICBIaUxpbmsgaXNzRmlsZXNBdHRyaWJzCUtleXdvcmQKLSAgIEhpTGluayBpc3NGaWxlc1Blcm1pc3Npb25zCUtleXdvcmQKLSAgIEhpTGluayBpc3NGaWxlc0ZsYWdzCQlLZXl3b3JkCi0gICBIaUxpbmsgaXNzSWNvbnNGbGFncwkJS2V5d29yZAotICAgSGlMaW5rIGlzc0lOSUZsYWdzCQlLZXl3b3JkCi0gICBIaUxpbmsgaXNzUmVnUm9vdEtleQkJS2V5d29yZAotICAgSGlMaW5rIGlzc1JlZ1ZhbHVlVHlwZQlLZXl3b3JkCi0gICBIaUxpbmsgaXNzUmVnRmxhZ3MJCUtleXdvcmQKLSAgIEhpTGluayBpc3NSdW5GbGFncwkJS2V5d29yZAotICAgSGlMaW5rIGlzc1R5cGVzRmxhZ3MJCUtleXdvcmQKLSAgIEhpTGluayBpc3NDb21wb25lbnRzRmxhZ3MJS2V5d29yZAotICAgSGlMaW5rIGlzc0luc3RhbGxEZWxldGVUeXBlCUtleXdvcmQKLSAgIEhpTGluayBpc3NUYXNrc0ZsYWdzCQlLZXl3b3JkCitIaUxpbmsgaXNzRGlyc0ZsYWdzCQlLZXl3b3JkCitIaUxpbmsgaXNzRmlsZXNDb3B5TW9kZQlLZXl3b3JkCitIaUxpbmsgaXNzRmlsZXNBdHRyaWJzCUtleXdvcmQKK0hpTGluayBpc3NGaWxlc1Blcm1pc3Npb25zCUtleXdvcmQKK0hpTGluayBpc3NGaWxlc0ZsYWdzCQlLZXl3b3JkCitIaUxpbmsgaXNzSWNvbnNGbGFncwkJS2V5d29yZAorSGlMaW5rIGlzc0lOSUZsYWdzCQlLZXl3b3JkCitIaUxpbmsgaXNzUmVnUm9vdEtleQkJS2V5d29yZAorSGlMaW5rIGlzc1JlZ1ZhbHVlVHlwZQlLZXl3b3JkCitIaUxpbmsgaXNzUmVnRmxhZ3MJCUtleXdvcmQKK0hpTGluayBpc3NSdW5GbGFncwkJS2V5d29yZAorSGlMaW5rIGlzc1R5cGVzRmxhZ3MJCUtleXdvcmQKK0hpTGluayBpc3NDb21wb25lbnRzRmxhZ3MJS2V5d29yZAorSGlMaW5rIGlzc0luc3RhbGxEZWxldGVUeXBlCUtleXdvcmQKK0hpTGluayBpc3NUYXNrc0ZsYWdzCQlLZXl3b3JkCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJpc3MiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2lzdC52aW0gYi9ydW50aW1lL3N5bnRheC9pc3QudmltCmluZGV4IDEzMWQ4MzMuLmYzZjAwNWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2lzdC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvaXN0LnZpbQpAQCAtMywyMiArMywxNSBAQAogIiBNYWludGFpbmVyOglQZXRlciBNZXN6YXJvcyA8cG1lc3phcm9zQGVmZmljZS5odT4KICIgTGFzdCBDaGFuZ2U6CTIwMTIgSmFuIDA4IGJ5IFRoaWxvIFNpeAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAogbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCiBzZXQgY3BvJnZpbQogCi1pZiB2ZXJzaW9uID49IDYwMAotICBzZXRsb2NhbCBpc2tleXdvcmQ9JCxALDQ4LTU3LF8KLWVsc2UKLSAgc2V0IGlza2V5d29yZD0kLEAsNDgtNTcsXwotZW5kaWYKK3NldGxvY2FsIGlza2V5d29yZD0kLEAsNDgtNTcsXwogCiBzeW4gY2FzZSBpZ25vcmUKIHN5biBrZXl3b3JkIElzdElucFNwZWMgIGFjdHVhbCAgYXJnX2Nsb3NlIGFyZ19vcGVuIGVuY2FwICAgICAgIGVzY2FwZQpAQCAtNDUsMjggKzM4LDIwIEBACiBzeW4gbWF0Y2ggICBJc3RUb2RvCSAgICJERUJVR1x8VE9ETyIJIGNvbnRhaW5lZAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kdW1teV9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9kdW1teV9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIElzdElucFNwZWMJVHlwZQotICBIaUxpbmsgSXN0T3V0U3BlYwlJZGVudGlmaWVyCi0gIEhpTGluayBJc3RTdHJpbmcJU3RyaW5nCi0gIEhpTGluayBJc3ROdW1iZXIJTnVtYmVyCi0gIEhpTGluayBJc3RDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIElzdFRvZG8JVG9kbwotICBIaUxpbmsgSXN0U3BlY2lhbAlTcGVjaWFsCi0gIEhpTGluayBJc3REb3VibGVRdW90ZQlMYWJlbAotICBIaUxpbmsgSXN0Q2hhcmFjdGVyCUxhYmVsCitIaUxpbmsgSXN0SW5wU3BlYwlUeXBlCitIaUxpbmsgSXN0T3V0U3BlYwlJZGVudGlmaWVyCitIaUxpbmsgSXN0U3RyaW5nCVN0cmluZworSGlMaW5rIElzdE51bWJlcglOdW1iZXIKK0hpTGluayBJc3RDb21tZW50CUNvbW1lbnQKK0hpTGluayBJc3RUb2RvCVRvZG8KK0hpTGluayBJc3RTcGVjaWFsCVNwZWNpYWwKK0hpTGluayBJc3REb3VibGVRdW90ZQlMYWJlbAorSGlMaW5rIElzdENoYXJhY3RlcglMYWJlbAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaXN0IgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9qYWwudmltIGIvcnVudGltZS9zeW50YXgvamFsLnZpbQppbmRleCBkMGJhNjcyLi5kZWQyZWNkIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9qYWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2phbC52aW0KQEAgLTksMTEgKzksOCBAQAogIgogIiBUT0RPIHRlc3QuCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xNzEsNzcgKzE2OCw2OSBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2phbF9zeW5faW5pdHMiKQotaWYgdmVyc2lvbiA8IDUwOAotICBsZXQgZGlkX2phbF9zeW5faW5pdHMgPSAxCi0gIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci1lbHNlCi0gIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBqYWxBY2NlcwkJamFsU3RhdGVtZW50Ci0gIEhpTGluayBqYWxCb29sZWFuCQlCb29sZWFuCi0gIEhpTGluayBqYWxCaXQJCQlCb29sZWFuCi0gIEhpTGluayBqYWxDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBqYWxDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIGphbENvbnN0YW50CQlDb25zdGFudAotICBIaUxpbmsgamFsRGVsaW1pdGVyCQlJZGVudGlmaWVyCi0gIEhpTGluayBqYWxEaXJlY3RpdmUJCVByZVByb2MKLSAgSGlMaW5rIGphbEV4Y2VwdGlvbgkJRXhjZXB0aW9uCi0gIEhpTGluayBqYWxGbG9hdAkJRmxvYXQKLSAgSGlMaW5rIGphbEZ1bmN0aW9uCQlGdW5jdGlvbgotICBIaUxpbmsgamFsUHN1ZG9WYXJzS2V5CUZ1bmN0aW9uCi0gIEhpTGluayBqYWxMYWJlbAkJTGFiZWwKLSAgSGlMaW5rIGphbE1hdHJpeERlbGltaXRlcglJZGVudGlmaWVyCi0gIEhpTGluayBqYWxNb2RpZmllcgkJVHlwZQotICBIaUxpbmsgamFsTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIGphbEJpbk51bWJlcgkJTnVtYmVyCi0gIEhpTGluayBqYWxIZXhOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgamFsT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayBqYWxQcmVkZWZpbmVkCQlDb25zdGFudAotICBIaUxpbmsgamFsUHJlUHJvYwkJUHJlUHJvYwotICBIaUxpbmsgamFsUmVwZWF0CQlSZXBlYXQKLSAgSGlMaW5rIGphbFN0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBqYWxTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgamFsU3RyaW5nRXNjYXBlCVNwZWNpYWwKLSAgSGlMaW5rIGphbFN0cmluZ0VzY2FwZUdQQwlTcGVjaWFsCi0gIEhpTGluayBqYWxTdHJpbmdFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIGphbFN0cnVjdAkJamFsU3RhdGVtZW50Ci0gIEhpTGluayBqYWxTeW1ib2xPcGVyYXRvcglqYWxPcGVyYXRvcgotICBIaUxpbmsgamFsVG9kbwkJVG9kbwotICBIaUxpbmsgamFsVHlwZQkJVHlwZQotICBIaUxpbmsgamFsVW5jbGFzc2lmaWVkCVN0YXRlbWVudAotICBIaUxpbmsgamFsQXNtCQkJQXNzZW1ibGVyCi0gIEhpTGluayBqYWxFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIGphbEFzbUtleQkJU3RhdGVtZW50Ci0gIEhpTGluayBqYWxQSUMJCQlTdGF0ZW1lbnQKK0hpTGluayBqYWxBY2NlcwkJamFsU3RhdGVtZW50CitIaUxpbmsgamFsQm9vbGVhbgkJQm9vbGVhbgorSGlMaW5rIGphbEJpdAkJCUJvb2xlYW4KK0hpTGluayBqYWxDb21tZW50CQlDb21tZW50CitIaUxpbmsgamFsQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCitIaUxpbmsgamFsQ29uc3RhbnQJCUNvbnN0YW50CitIaUxpbmsgamFsRGVsaW1pdGVyCQlJZGVudGlmaWVyCitIaUxpbmsgamFsRGlyZWN0aXZlCQlQcmVQcm9jCitIaUxpbmsgamFsRXhjZXB0aW9uCQlFeGNlcHRpb24KK0hpTGluayBqYWxGbG9hdAkJRmxvYXQKK0hpTGluayBqYWxGdW5jdGlvbgkJRnVuY3Rpb24KK0hpTGluayBqYWxQc3Vkb1ZhcnNLZXkJRnVuY3Rpb24KK0hpTGluayBqYWxMYWJlbAkJTGFiZWwKK0hpTGluayBqYWxNYXRyaXhEZWxpbWl0ZXIJSWRlbnRpZmllcgorSGlMaW5rIGphbE1vZGlmaWVyCQlUeXBlCitIaUxpbmsgamFsTnVtYmVyCQlOdW1iZXIKK0hpTGluayBqYWxCaW5OdW1iZXIJCU51bWJlcgorSGlMaW5rIGphbEhleE51bWJlcgkJTnVtYmVyCitIaUxpbmsgamFsT3BlcmF0b3IJCU9wZXJhdG9yCitIaUxpbmsgamFsUHJlZGVmaW5lZAkJQ29uc3RhbnQKK0hpTGluayBqYWxQcmVQcm9jCQlQcmVQcm9jCitIaUxpbmsgamFsUmVwZWF0CQlSZXBlYXQKK0hpTGluayBqYWxTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIGphbFN0cmluZwkJU3RyaW5nCitIaUxpbmsgamFsU3RyaW5nRXNjYXBlCVNwZWNpYWwKK0hpTGluayBqYWxTdHJpbmdFc2NhcGVHUEMJU3BlY2lhbAorSGlMaW5rIGphbFN0cmluZ0Vycm9yCQlFcnJvcgorSGlMaW5rIGphbFN0cnVjdAkJamFsU3RhdGVtZW50CitIaUxpbmsgamFsU3ltYm9sT3BlcmF0b3IJamFsT3BlcmF0b3IKK0hpTGluayBqYWxUb2RvCQlUb2RvCitIaUxpbmsgamFsVHlwZQkJVHlwZQorSGlMaW5rIGphbFVuY2xhc3NpZmllZAlTdGF0ZW1lbnQKK0hpTGluayBqYWxBc20JCQlBc3NlbWJsZXIKK0hpTGluayBqYWxFcnJvcgkJRXJyb3IKK0hpTGluayBqYWxBc21LZXkJCVN0YXRlbWVudAorSGlMaW5rIGphbFBJQwkJCVN0YXRlbWVudAogCi0gIEhpTGluayBqYWxTaG93VGFiCQlFcnJvcgorSGlMaW5rIGphbFNob3dUYWIJCUVycm9yCiAKLSAgSGlMaW5rIHBpY1RvZG8JCVRvZG8KLSAgSGlMaW5rIHBpY0NvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIHBpY0RpcmVjdGl2ZQkJU3RhdGVtZW50Ci0gIEhpTGluayBwaWNMYWJlbAkJTGFiZWwKLSAgSGlMaW5rIHBpY1N0cmluZwkJU3RyaW5nCitIaUxpbmsgcGljVG9kbwkJVG9kbworSGlMaW5rIHBpY0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBwaWNEaXJlY3RpdmUJCVN0YXRlbWVudAorSGlMaW5rIHBpY0xhYmVsCQlMYWJlbAorSGlMaW5rIHBpY1N0cmluZwkJU3RyaW5nCiAKLSAgSGlMaW5rIHBpY09wY29kZQkJS2V5d29yZAotICBIaUxpbmsgcGljUmVnaXN0ZXIJCVN0cnVjdHVyZQotICBIaUxpbmsgcGljUmVnaXN0ZXJQYXJ0CVNwZWNpYWwKLSAgSGlMaW5rIHBpY1BpbkRpcgkJU1BlY2lhbAotICBIaUxpbmsgcGljUG9ydERpcgkJU1BlY2lhbAorSGlMaW5rIHBpY09wY29kZQkJS2V5d29yZAorSGlMaW5rIHBpY1JlZ2lzdGVyCQlTdHJ1Y3R1cmUKK0hpTGluayBwaWNSZWdpc3RlclBhcnQJU3BlY2lhbAorSGlMaW5rIHBpY1BpbkRpcgkJU1BlY2lhbAorSGlMaW5rIHBpY1BvcnREaXIJCVNQZWNpYWwKIAotICBIaUxpbmsgcGljQVNDSUkJCVN0cmluZwotICBIaUxpbmsgcGljQmluYXJ5CQlOdW1iZXIKLSAgSGlMaW5rIHBpY0RlY2ltYWwJCU51bWJlcgotICBIaUxpbmsgcGljSGV4YWRlY2ltYWwJCU51bWJlcgotICBIaUxpbmsgcGljT2N0YWwJCU51bWJlcgorSGlMaW5rIHBpY0FTQ0lJCQlTdHJpbmcKK0hpTGluayBwaWNCaW5hcnkJCU51bWJlcgorSGlMaW5rIHBpY0RlY2ltYWwJCU51bWJlcgorSGlMaW5rIHBpY0hleGFkZWNpbWFsCQlOdW1iZXIKK0hpTGluayBwaWNPY3RhbAkJTnVtYmVyCiAKLSAgSGlMaW5rIHBpY0lkZW50aWZpZXIJCUlkZW50aWZpZXIKK0hpTGluayBwaWNJZGVudGlmaWVyCQlJZGVudGlmaWVyCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImphbCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2phbS52aW0gYi9ydW50aW1lL3N5bnRheC9qYW0udmltCmluZGV4IGNiZDk5YmIuLmYxNjVhNzggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2phbS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvamFtLnZpbQpAQCAtMywyMiArMywxNSBAQAogIiBNYWludGFpbmVyOglSYWxmIExlbWtlIChyYWxmbGVta0B0LW9ubGluZS5kZSkKICIgTGFzdCBjaGFuZ2U6CTIwMTIgSmFuIDA4IGJ5IFRoaWxvIFNpeAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAogbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCiBzZXQgY3BvJnZpbQogCi1pZiB2ZXJzaW9uID49IDYwMAotICBzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NyxfLC0KLWVsc2UKLSAgc2V0IGlza2V5d29yZD1ALDQ4LTU3LF8sLQotZW5kaWYKK3NldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sLQogCiAiIEEgYnVuY2ggb2YgdXNlZnVsIGphbSBrZXl3b3Jkcwogc3luIGtleXdvcmQJamFtU3RhdGVtZW50CWJyZWFrIGNhbGwgZGJtcyBmbHVzaCBnbG9iYWwgaW5jbHVkZSBtc2cgcGFybXMgcHJvYyBwdWJsaWMgcmVjZWl2ZSByZXR1cm4gc2VuZCB1bmxvYWQgdmFycwpAQCAtMTY3LDg4ICsxNjAsODAgQEAKIHN5bnRheCBtYXRjaCAgICBqYW1PcGVyYXRvcjNFcnJvciAgICIqLyIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfamFtX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2phbV9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgICBIaUxpbmsgamFtQ29tbWVudEwJCWphbUNvbW1lbnQKLSAgICBIaUxpbmsgamFtQ29tbWVudEwyCQlqYW1Db21tZW50Ci0gICAgSGlMaW5rIGphbU9wZXJhdG9yM0Vycm9yCWphbUVycm9yCi0gICAgSGlMaW5rIGphbUNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gICAgSGlMaW5rIGphbVJlcGVhdAkJUmVwZWF0Ci0gICAgSGlMaW5rIGphbUNoYXJhY3RlcgkJQ2hhcmFjdGVyCi0gICAgSGlMaW5rIGphbVNwZWNpYWxDaGFyYWN0ZXIJamFtU3BlY2lhbAotICAgIEhpTGluayBqYW1OdW1iZXIJCU51bWJlcgotICAgIEhpTGluayBqYW1QYXJlbkVycm9yCWphbUVycm9yCi0gICAgSGlMaW5rIGphbUVyckluUGFyZW4JamFtRXJyb3IKLSAgICBIaUxpbmsgamFtRXJySW5CcmFja2V0CWphbUVycm9yCi0gICAgSGlMaW5rIGphbUNvbW1lbnRFcnJvcglqYW1FcnJvcgotICAgIEhpTGluayBqYW1TcGFjZUVycm9yCWphbUVycm9yCi0gICAgSGlMaW5rIGphbVNwZWNpYWxFcnJvcglqYW1FcnJvcgotICAgIEhpTGluayBqYW1PcGVyYXRvcjEJCWphbU9wZXJhdG9yCi0gICAgSGlMaW5rIGphbU9wZXJhdG9yMgkJamFtT3BlcmF0b3IKLSAgICBIaUxpbmsgamFtT3BlcmF0b3IzCQlqYW1PcGVyYXRvcgotICAgIEhpTGluayBqYW1PcGVyYXRvcjQJCWphbU9wZXJhdG9yCi0gICAgSGlMaW5rIGphbU9wZXJhdG9yNQkJamFtT3BlcmF0b3IKLSAgICBIaUxpbmsgamFtT3BlcmF0b3I2CQlqYW1PcGVyYXRvcgotICAgIEhpTGluayBqYW1PcGVyYXRvcjcJCWphbU9wZXJhdG9yCi0gICAgSGlMaW5rIGphbU9wZXJhdG9yOAkJamFtT3BlcmF0b3IKLSAgICBIaUxpbmsgamFtT3BlcmF0b3I5CQlqYW1PcGVyYXRvcgotICAgIEhpTGluayBqYW1PcGVyYXRvcjEwCWphbU9wZXJhdG9yCi0gICAgSGlMaW5rIGphbU9wZXJhdG9yMTEJamFtT3BlcmF0b3IKLSAgICBIaUxpbmsgamFtT3BlcmF0b3IxMglqYW1PcGVyYXRvcgotICAgIEhpTGluayBqYW1PcGVyYXRvcjEzCWphbU9wZXJhdG9yCi0gICAgSGlMaW5rIGphbU9wZXJhdG9yMTQJamFtT3BlcmF0b3IKLSAgICBIaUxpbmsgamFtRXJyb3IJCUVycm9yCi0gICAgSGlMaW5rIGphbVN0YXRlbWVudAkJU3RhdGVtZW50Ci0gICAgSGlMaW5rIGphbVByZUNvbmRpdAkJUHJlQ29uZGl0Ci0gICAgSGlMaW5rIGphbUNvbW1lbnRFcnJvcglqYW1FcnJvcgotICAgIEhpTGluayBqYW1Db21tZW50U3RyaW5nCWphbVN0cmluZwotICAgIEhpTGluayBqYW1Db21tZW50MlN0cmluZwlqYW1TdHJpbmcKLSAgICBIaUxpbmsgamFtQ29tbWVudFNraXAJamFtQ29tbWVudAotICAgIEhpTGluayBqYW1TdHJpbmcJCVN0cmluZwotICAgIEhpTGluayBqYW1Db21tZW50CQlDb21tZW50Ci0gICAgSGlMaW5rIGphbVNwZWNpYWwJCVNwZWNpYWxDaGFyCi0gICAgSGlMaW5rIGphbVRvZG8JCVRvZG8KLSAgICBIaUxpbmsgamFtQ3BwU2tpcAkJamFtQ3BwT3V0Ci0gICAgSGlMaW5rIGphbUNwcE91dDIJCWphbUNwcE91dAotICAgIEhpTGluayBqYW1DcHBPdXQJCUNvbW1lbnQKLSAgICBIaUxpbmsgamFtREJTdGF0ZTEJCUlkZW50aWZpZXIKLSAgICBIaUxpbmsgamFtREJTdGF0ZTIJCUlkZW50aWZpZXIKLSAgICBIaUxpbmsgamFtU1FMU3RhdGUxCQlqYW1TUUwKLSAgICBIaUxpbmsgamFtU1FMU3RhdGUyCQlqYW1TUUwKLSAgICBIaUxpbmsgamFtTGliRnVuYzEJCWphbUxpYkZ1bmMKLSAgICBIaUxpbmsgamFtTGliRnVuYzIJCWphbUxpYkZ1bmMKLSAgICBIaUxpbmsgamFtTGliRnVuYzMJCWphbUxpYkZ1bmMKLSAgICBIaUxpbmsgamFtTGliRnVuYzQJCWphbUxpYkZ1bmMKLSAgICBIaUxpbmsgamFtTGliRnVuYzUJCWphbUxpYkZ1bmMKLSAgICBIaUxpbmsgamFtTGliRnVuYzYJCWphbUxpYkZ1bmMKLSAgICBIaUxpbmsgamFtTGliRnVuYzcJCWphbUxpYkZ1bmMKLSAgICBIaUxpbmsgamFtTGliRnVuYzgJCWphbUxpYkZ1bmMKLSAgICBIaUxpbmsgamFtTGliRnVuYzkJCWphbUxpYkZ1bmMKLSAgICBIaUxpbmsgamFtVmFyaWFibGUxCQlqYW1WYXJpYWJsZW4KLSAgICBIaUxpbmsgamFtVmFyaWFibGUyCQlqYW1WYXJpYWJsZW4KLSAgICBIaUxpbmsgamFtVmFyaWFibGUzCQlqYW1WYXJpYWJsZW4KLSAgICBIaUxpbmsgamFtVmFyaWFibGU0CQlqYW1WYXJpYWJsZW4KLSAgICBIaUxpbmsgamFtVmFyaWFibGU1CQlqYW1WYXJpYWJsZW4KLSAgICBIaUxpbmsgamFtVmFyaWFibGU2CQlqYW1WYXJpYWJsZW4KLSAgICBIaUxpbmsgamFtVmFyaWFibGU3CQlqYW1WYXJpYWJsZW4KLSAgICBIaUxpbmsgamFtVmFyaWFibGU4CQlqYW1WYXJpYWJsZW4KLSAgICBIaUxpbmsgamFtVmFyaWFibGU5CQlqYW1WYXJpYWJsZW4KLSAgICBIaUxpbmsgamFtVmFyaWFibGUxMAlqYW1WYXJpYWJsZW4KLSAgICBIaUxpbmsgamFtVmFyaWFibGVuCQlDb25zdGFudAotICAgIEhpTGluayBqYW1TUUwJCVR5cGUKLSAgICBIaUxpbmsgamFtTGliRnVuYwkJUHJlUHJvYwotICAgIEhpTGluayBqYW1PcGVyYXRvcgkJU3BlY2lhbAorSGlMaW5rIGphbUNvbW1lbnRMCQlqYW1Db21tZW50CitIaUxpbmsgamFtQ29tbWVudEwyCQlqYW1Db21tZW50CitIaUxpbmsgamFtT3BlcmF0b3IzRXJyb3IJamFtRXJyb3IKK0hpTGluayBqYW1Db25kaXRpb25hbAlDb25kaXRpb25hbAorSGlMaW5rIGphbVJlcGVhdAkJUmVwZWF0CitIaUxpbmsgamFtQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKK0hpTGluayBqYW1TcGVjaWFsQ2hhcmFjdGVyCWphbVNwZWNpYWwKK0hpTGluayBqYW1OdW1iZXIJCU51bWJlcgorSGlMaW5rIGphbVBhcmVuRXJyb3IJamFtRXJyb3IKK0hpTGluayBqYW1FcnJJblBhcmVuCWphbUVycm9yCitIaUxpbmsgamFtRXJySW5CcmFja2V0CWphbUVycm9yCitIaUxpbmsgamFtQ29tbWVudEVycm9yCWphbUVycm9yCitIaUxpbmsgamFtU3BhY2VFcnJvcglqYW1FcnJvcgorSGlMaW5rIGphbVNwZWNpYWxFcnJvcglqYW1FcnJvcgorSGlMaW5rIGphbU9wZXJhdG9yMQkJamFtT3BlcmF0b3IKK0hpTGluayBqYW1PcGVyYXRvcjIJCWphbU9wZXJhdG9yCitIaUxpbmsgamFtT3BlcmF0b3IzCQlqYW1PcGVyYXRvcgorSGlMaW5rIGphbU9wZXJhdG9yNAkJamFtT3BlcmF0b3IKK0hpTGluayBqYW1PcGVyYXRvcjUJCWphbU9wZXJhdG9yCitIaUxpbmsgamFtT3BlcmF0b3I2CQlqYW1PcGVyYXRvcgorSGlMaW5rIGphbU9wZXJhdG9yNwkJamFtT3BlcmF0b3IKK0hpTGluayBqYW1PcGVyYXRvcjgJCWphbU9wZXJhdG9yCitIaUxpbmsgamFtT3BlcmF0b3I5CQlqYW1PcGVyYXRvcgorSGlMaW5rIGphbU9wZXJhdG9yMTAJamFtT3BlcmF0b3IKK0hpTGluayBqYW1PcGVyYXRvcjExCWphbU9wZXJhdG9yCitIaUxpbmsgamFtT3BlcmF0b3IxMglqYW1PcGVyYXRvcgorSGlMaW5rIGphbU9wZXJhdG9yMTMJamFtT3BlcmF0b3IKK0hpTGluayBqYW1PcGVyYXRvcjE0CWphbU9wZXJhdG9yCitIaUxpbmsgamFtRXJyb3IJCUVycm9yCitIaUxpbmsgamFtU3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayBqYW1QcmVDb25kaXQJCVByZUNvbmRpdAorSGlMaW5rIGphbUNvbW1lbnRFcnJvcglqYW1FcnJvcgorSGlMaW5rIGphbUNvbW1lbnRTdHJpbmcJamFtU3RyaW5nCitIaUxpbmsgamFtQ29tbWVudDJTdHJpbmcJamFtU3RyaW5nCitIaUxpbmsgamFtQ29tbWVudFNraXAJamFtQ29tbWVudAorSGlMaW5rIGphbVN0cmluZwkJU3RyaW5nCitIaUxpbmsgamFtQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGphbVNwZWNpYWwJCVNwZWNpYWxDaGFyCitIaUxpbmsgamFtVG9kbwkJVG9kbworSGlMaW5rIGphbUNwcFNraXAJCWphbUNwcE91dAorSGlMaW5rIGphbUNwcE91dDIJCWphbUNwcE91dAorSGlMaW5rIGphbUNwcE91dAkJQ29tbWVudAorSGlMaW5rIGphbURCU3RhdGUxCQlJZGVudGlmaWVyCitIaUxpbmsgamFtREJTdGF0ZTIJCUlkZW50aWZpZXIKK0hpTGluayBqYW1TUUxTdGF0ZTEJCWphbVNRTAorSGlMaW5rIGphbVNRTFN0YXRlMgkJamFtU1FMCitIaUxpbmsgamFtTGliRnVuYzEJCWphbUxpYkZ1bmMKK0hpTGluayBqYW1MaWJGdW5jMgkJamFtTGliRnVuYworSGlMaW5rIGphbUxpYkZ1bmMzCQlqYW1MaWJGdW5jCitIaUxpbmsgamFtTGliRnVuYzQJCWphbUxpYkZ1bmMKK0hpTGluayBqYW1MaWJGdW5jNQkJamFtTGliRnVuYworSGlMaW5rIGphbUxpYkZ1bmM2CQlqYW1MaWJGdW5jCitIaUxpbmsgamFtTGliRnVuYzcJCWphbUxpYkZ1bmMKK0hpTGluayBqYW1MaWJGdW5jOAkJamFtTGliRnVuYworSGlMaW5rIGphbUxpYkZ1bmM5CQlqYW1MaWJGdW5jCitIaUxpbmsgamFtVmFyaWFibGUxCQlqYW1WYXJpYWJsZW4KK0hpTGluayBqYW1WYXJpYWJsZTIJCWphbVZhcmlhYmxlbgorSGlMaW5rIGphbVZhcmlhYmxlMwkJamFtVmFyaWFibGVuCitIaUxpbmsgamFtVmFyaWFibGU0CQlqYW1WYXJpYWJsZW4KK0hpTGluayBqYW1WYXJpYWJsZTUJCWphbVZhcmlhYmxlbgorSGlMaW5rIGphbVZhcmlhYmxlNgkJamFtVmFyaWFibGVuCitIaUxpbmsgamFtVmFyaWFibGU3CQlqYW1WYXJpYWJsZW4KK0hpTGluayBqYW1WYXJpYWJsZTgJCWphbVZhcmlhYmxlbgorSGlMaW5rIGphbVZhcmlhYmxlOQkJamFtVmFyaWFibGVuCitIaUxpbmsgamFtVmFyaWFibGUxMAlqYW1WYXJpYWJsZW4KK0hpTGluayBqYW1WYXJpYWJsZW4JCUNvbnN0YW50CitIaUxpbmsgamFtU1FMCQlUeXBlCitIaUxpbmsgamFtTGliRnVuYwkJUHJlUHJvYworSGlMaW5rIGphbU9wZXJhdG9yCQlTcGVjaWFsCiAKLSAgICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImphbSIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvamFyZ29uLnZpbSBiL3J1bnRpbWUvc3ludGF4L2phcmdvbi52aW0KaW5kZXggMjVhODhiYy4uOTdiMDNjMyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvamFyZ29uLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9qYXJnb24udmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJPHJtc0Bwb2N6dGEub25ldC5wbD4KICIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDI2CiAiCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotCXN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKIAlmaW5pc2gKIGVuZGlmCiAKQEAgLTE3LDIwICsxNCwxMiBAQAogc3luIG1hdGNoIGphcmdvbk1hcmsJL3tbXn1dKn0vCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2phcmdvbl9zeW50YXhfaW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9qYXJnb25fc3ludGF4X2luaXRzID0gMQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotCWVsc2UKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0JZW5kaWYKLQlIaUxpbmsgamFyZ29uQ2hhcHRUaXRsZQlUaXRsZQotCUhpTGluayBqYXJnb25FbWFpbEFkZHIJIENvbW1lbnQKLQlIaUxpbmsgamFyZ29uVXJsCSBDb21tZW50Ci0JSGlMaW5rIGphcmdvbk1hcmsJTGFiZWwKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorSGlMaW5rIGphcmdvbkNoYXB0VGl0bGUJVGl0bGUKK0hpTGluayBqYXJnb25FbWFpbEFkZHIJIENvbW1lbnQKK0hpTGluayBqYXJnb25VcmwJIENvbW1lbnQKK0hpTGluayBqYXJnb25NYXJrCUxhYmVsCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJqYXJnb24iCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9qYXZhLnZpbSBiL3J1bnRpbWUvc3ludGF4L2phdmEudmltCmluZGV4IGUxMTNhOTAuLmMyMmM2N2IgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2phdmEudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2phdmEudmltCkBAIC02LDExICs2LDkgQEAKIAogIiBQbGVhc2UgY2hlY2sgOmhlbHAgamF2YS52aW0gZm9yIGNvbW1lbnRzIG9uIHNvbWUgb2YgdGhlIG9wdGlvbnMgYXZhaWxhYmxlLgogCi0iIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKIGlmICFleGlzdHMoIm1haW5fc3ludGF4IikKLSAgaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5bnRheCBjbGVhcgotICBlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKICAgZW5kaWYKICAgIiB3ZSBkZWZpbmUgaXQgaGVyZSBzbyB0aGF0IGluY2x1ZGVkIGZpbGVzIGNhbiB0ZXN0IGZvciBpdApAQCAtMjIsMTEgKzIwLDcgQEAKIHNldCBjcG8mdmltCiAKICIgZG9uJ3QgdXNlIHN0YW5kYXJkIEhpTGluaywgaXQgd2lsbCBub3Qgd29yayB3aXRoIGluY2x1ZGVkIHN5bnRheCBmaWxlcwotaWYgdmVyc2lvbiA8IDUwOAotICBjb21tYW5kISAtbmFyZ3M9KyBKYXZhSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci1lbHNlCi0gIGNvbW1hbmQhIC1uYXJncz0rIEphdmFIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci1lbmRpZgorY29tbWFuZCEgLW5hcmdzPSsgSmF2YUhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAogIiBzb21lIGNoYXJhY3RlcnMgdGhhdCBjYW5ub3QgYmUgaW4gYSBqYXZhIHByb2dyYW0gKG91dHNpZGUgYSBzdHJpbmcpCiBzeW4gbWF0Y2ggamF2YUVycm9yICJbXFxAYF0iCkBAIC0yNDIsMjMgKzIzNiwyMSBAQAogCiAgIHN5biBjbHVzdGVyIGphdmFUb3AgYWRkPWphdmFEZWJ1ZwogCi0gIGlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jX3N5bl9pbml0cyIpCi0gICAgSmF2YUhpTGluayBqYXZhRGVidWcJCSBEZWJ1ZwotICAgIEphdmFIaUxpbmsgamF2YURlYnVnU3RyaW5nCQkgRGVidWdTdHJpbmcKLSAgICBKYXZhSGlMaW5rIGphdmFEZWJ1Z1N0cmluZ0Vycm9yCSBqYXZhRXJyb3IKLSAgICBKYXZhSGlMaW5rIGphdmFEZWJ1Z1R5cGUJCSBEZWJ1Z1R5cGUKLSAgICBKYXZhSGlMaW5rIGphdmFEZWJ1Z0Jvb2xlYW4JCSBEZWJ1Z0Jvb2xlYW4KLSAgICBKYXZhSGlMaW5rIGphdmFEZWJ1Z051bWJlcgkJIERlYnVnCi0gICAgSmF2YUhpTGluayBqYXZhRGVidWdTcGVjaWFsCQkgRGVidWdTcGVjaWFsCi0gICAgSmF2YUhpTGluayBqYXZhRGVidWdTcGVjaWFsQ2hhcmFjdGVyIERlYnVnU3BlY2lhbAotICAgIEphdmFIaUxpbmsgamF2YURlYnVnQ2hhcmFjdGVyCSBEZWJ1Z1N0cmluZwotICAgIEphdmFIaUxpbmsgamF2YURlYnVnUGFyZW4JCSBEZWJ1ZworICBKYXZhSGlMaW5rIGphdmFEZWJ1ZwkJIERlYnVnCisgIEphdmFIaUxpbmsgamF2YURlYnVnU3RyaW5nCQkgRGVidWdTdHJpbmcKKyAgSmF2YUhpTGluayBqYXZhRGVidWdTdHJpbmdFcnJvcgkgamF2YUVycm9yCisgIEphdmFIaUxpbmsgamF2YURlYnVnVHlwZQkJIERlYnVnVHlwZQorICBKYXZhSGlMaW5rIGphdmFEZWJ1Z0Jvb2xlYW4JCSBEZWJ1Z0Jvb2xlYW4KKyAgSmF2YUhpTGluayBqYXZhRGVidWdOdW1iZXIJCSBEZWJ1ZworICBKYXZhSGlMaW5rIGphdmFEZWJ1Z1NwZWNpYWwJCSBEZWJ1Z1NwZWNpYWwKKyAgSmF2YUhpTGluayBqYXZhRGVidWdTcGVjaWFsQ2hhcmFjdGVyIERlYnVnU3BlY2lhbAorICBKYXZhSGlMaW5rIGphdmFEZWJ1Z0NoYXJhY3RlcgkgRGVidWdTdHJpbmcKKyAgSmF2YUhpTGluayBqYXZhRGVidWdQYXJlbgkJIERlYnVnCiAKLSAgICBKYXZhSGlMaW5rIERlYnVnU3RyaW5nCQkgU3RyaW5nCi0gICAgSmF2YUhpTGluayBEZWJ1Z1NwZWNpYWwJCSBTcGVjaWFsCi0gICAgSmF2YUhpTGluayBEZWJ1Z0Jvb2xlYW4JCSBCb29sZWFuCi0gICAgSmF2YUhpTGluayBEZWJ1Z1R5cGUJCSBUeXBlCi0gIGVuZGlmCisgIEphdmFIaUxpbmsgRGVidWdTdHJpbmcJCSBTdHJpbmcKKyAgSmF2YUhpTGluayBEZWJ1Z1NwZWNpYWwJCSBTcGVjaWFsCisgIEphdmFIaUxpbmsgRGVidWdCb29sZWFuCQkgQm9vbGVhbgorICBKYXZhSGlMaW5rIERlYnVnVHlwZQkJIFR5cGUKIGVuZGlmCiAKIGlmIGV4aXN0cygiamF2YV9tYXJrX2JyYWNlc19pbl9wYXJlbnNfYXNfZXJyb3JzIikKQEAgLTI5MSw1OSArMjgzLDU0IEBACiBleGVjICJzeW4gc3luYyBjY29tbWVudCBqYXZhQ29tbWVudCBtaW5saW5lcz0iIC4gamF2YV9taW5saW5lcwogCiAiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9qYXZhX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2phdmFfc3luX2luaXRzID0gMQotICBlbmRpZgotICBKYXZhSGlMaW5rIGphdmFMYW1iZGFEZWYJCUZ1bmN0aW9uCi0gIEphdmFIaUxpbmsgamF2YUZ1bmNEZWYJCUZ1bmN0aW9uCi0gIEphdmFIaUxpbmsgamF2YVZhckFyZwkJCUZ1bmN0aW9uCi0gIEphdmFIaUxpbmsgamF2YUJyYWNlcwkJCUZ1bmN0aW9uCi0gIEphdmFIaUxpbmsgamF2YUJyYW5jaAkJCUNvbmRpdGlvbmFsCi0gIEphdmFIaUxpbmsgamF2YVVzZXJMYWJlbFJlZgkJamF2YVVzZXJMYWJlbAotICBKYXZhSGlMaW5rIGphdmFMYWJlbAkJCUxhYmVsCi0gIEphdmFIaUxpbmsgamF2YVVzZXJMYWJlbAkJTGFiZWwKLSAgSmF2YUhpTGluayBqYXZhQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCi0gIEphdmFIaUxpbmsgamF2YVJlcGVhdAkJCVJlcGVhdAotICBKYXZhSGlMaW5rIGphdmFFeGNlcHRpb25zCQlFeGNlcHRpb24KLSAgSmF2YUhpTGluayBqYXZhQXNzZXJ0CQkJU3RhdGVtZW50Ci0gIEphdmFIaUxpbmsgamF2YVN0b3JhZ2VDbGFzcwkJU3RvcmFnZUNsYXNzCi0gIEphdmFIaUxpbmsgamF2YU1ldGhvZERlY2wJCWphdmFTdG9yYWdlQ2xhc3MKLSAgSmF2YUhpTGluayBqYXZhQ2xhc3NEZWNsCQlqYXZhU3RvcmFnZUNsYXNzCi0gIEphdmFIaUxpbmsgamF2YVNjb3BlRGVjbAkJamF2YVN0b3JhZ2VDbGFzcwotICBKYXZhSGlMaW5rIGphdmFCb29sZWFuCQlCb29sZWFuCi0gIEphdmFIaUxpbmsgamF2YVNwZWNpYWwJCVNwZWNpYWwKLSAgSmF2YUhpTGluayBqYXZhU3BlY2lhbEVycm9yCQlFcnJvcgotICBKYXZhSGlMaW5rIGphdmFTcGVjaWFsQ2hhckVycm9yCUVycm9yCi0gIEphdmFIaUxpbmsgamF2YVN0cmluZwkJCVN0cmluZwotICBKYXZhSGlMaW5rIGphdmFDaGFyYWN0ZXIJCUNoYXJhY3RlcgotICBKYXZhSGlMaW5rIGphdmFTcGVjaWFsQ2hhcgkJU3BlY2lhbENoYXIKLSAgSmF2YUhpTGluayBqYXZhTnVtYmVyCQkJTnVtYmVyCi0gIEphdmFIaUxpbmsgamF2YUVycm9yCQkJRXJyb3IKLSAgSmF2YUhpTGluayBqYXZhU3RyaW5nRXJyb3IJCUVycm9yCi0gIEphdmFIaUxpbmsgamF2YVN0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEphdmFIaUxpbmsgamF2YU9wZXJhdG9yCQlPcGVyYXRvcgotICBKYXZhSGlMaW5rIGphdmFDb21tZW50CQlDb21tZW50Ci0gIEphdmFIaUxpbmsgamF2YURvY0NvbW1lbnQJCUNvbW1lbnQKLSAgSmF2YUhpTGluayBqYXZhTGluZUNvbW1lbnQJCUNvbW1lbnQKLSAgSmF2YUhpTGluayBqYXZhQ29uc3RhbnQJCUNvbnN0YW50Ci0gIEphdmFIaUxpbmsgamF2YVR5cGVkZWYJCVR5cGVkZWYKLSAgSmF2YUhpTGluayBqYXZhVG9kbwkJCVRvZG8KLSAgSmF2YUhpTGluayBqYXZhQW5ub3RhdGlvbgkJUHJlUHJvYworSmF2YUhpTGluayBqYXZhTGFtYmRhRGVmCQlGdW5jdGlvbgorSmF2YUhpTGluayBqYXZhRnVuY0RlZgkJRnVuY3Rpb24KK0phdmFIaUxpbmsgamF2YVZhckFyZwkJCUZ1bmN0aW9uCitKYXZhSGlMaW5rIGphdmFCcmFjZXMJCQlGdW5jdGlvbgorSmF2YUhpTGluayBqYXZhQnJhbmNoCQkJQ29uZGl0aW9uYWwKK0phdmFIaUxpbmsgamF2YVVzZXJMYWJlbFJlZgkJamF2YVVzZXJMYWJlbAorSmF2YUhpTGluayBqYXZhTGFiZWwJCQlMYWJlbAorSmF2YUhpTGluayBqYXZhVXNlckxhYmVsCQlMYWJlbAorSmF2YUhpTGluayBqYXZhQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCitKYXZhSGlMaW5rIGphdmFSZXBlYXQJCQlSZXBlYXQKK0phdmFIaUxpbmsgamF2YUV4Y2VwdGlvbnMJCUV4Y2VwdGlvbgorSmF2YUhpTGluayBqYXZhQXNzZXJ0CQkJU3RhdGVtZW50CitKYXZhSGlMaW5rIGphdmFTdG9yYWdlQ2xhc3MJCVN0b3JhZ2VDbGFzcworSmF2YUhpTGluayBqYXZhTWV0aG9kRGVjbAkJamF2YVN0b3JhZ2VDbGFzcworSmF2YUhpTGluayBqYXZhQ2xhc3NEZWNsCQlqYXZhU3RvcmFnZUNsYXNzCitKYXZhSGlMaW5rIGphdmFTY29wZURlY2wJCWphdmFTdG9yYWdlQ2xhc3MKK0phdmFIaUxpbmsgamF2YUJvb2xlYW4JCUJvb2xlYW4KK0phdmFIaUxpbmsgamF2YVNwZWNpYWwJCVNwZWNpYWwKK0phdmFIaUxpbmsgamF2YVNwZWNpYWxFcnJvcgkJRXJyb3IKK0phdmFIaUxpbmsgamF2YVNwZWNpYWxDaGFyRXJyb3IJRXJyb3IKK0phdmFIaUxpbmsgamF2YVN0cmluZwkJCVN0cmluZworSmF2YUhpTGluayBqYXZhQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKK0phdmFIaUxpbmsgamF2YVNwZWNpYWxDaGFyCQlTcGVjaWFsQ2hhcgorSmF2YUhpTGluayBqYXZhTnVtYmVyCQkJTnVtYmVyCitKYXZhSGlMaW5rIGphdmFFcnJvcgkJCUVycm9yCitKYXZhSGlMaW5rIGphdmFTdHJpbmdFcnJvcgkJRXJyb3IKK0phdmFIaUxpbmsgamF2YVN0YXRlbWVudAkJU3RhdGVtZW50CitKYXZhSGlMaW5rIGphdmFPcGVyYXRvcgkJT3BlcmF0b3IKK0phdmFIaUxpbmsgamF2YUNvbW1lbnQJCUNvbW1lbnQKK0phdmFIaUxpbmsgamF2YURvY0NvbW1lbnQJCUNvbW1lbnQKK0phdmFIaUxpbmsgamF2YUxpbmVDb21tZW50CQlDb21tZW50CitKYXZhSGlMaW5rIGphdmFDb25zdGFudAkJQ29uc3RhbnQKK0phdmFIaUxpbmsgamF2YVR5cGVkZWYJCVR5cGVkZWYKK0phdmFIaUxpbmsgamF2YVRvZG8JCQlUb2RvCitKYXZhSGlMaW5rIGphdmFBbm5vdGF0aW9uCQlQcmVQcm9jCiAKLSAgSmF2YUhpTGluayBqYXZhQ29tbWVudFRpdGxlCQlTcGVjaWFsQ29tbWVudAotICBKYXZhSGlMaW5rIGphdmFEb2NUYWdzCQlTcGVjaWFsCi0gIEphdmFIaUxpbmsgamF2YURvY1BhcmFtCQlGdW5jdGlvbgotICBKYXZhSGlMaW5rIGphdmFEb2NTZWVUYWdQYXJhbQkJRnVuY3Rpb24KLSAgSmF2YUhpTGluayBqYXZhQ29tbWVudFN0YXIJCWphdmFDb21tZW50CitKYXZhSGlMaW5rIGphdmFDb21tZW50VGl0bGUJCVNwZWNpYWxDb21tZW50CitKYXZhSGlMaW5rIGphdmFEb2NUYWdzCQlTcGVjaWFsCitKYXZhSGlMaW5rIGphdmFEb2NQYXJhbQkJRnVuY3Rpb24KK0phdmFIaUxpbmsgamF2YURvY1NlZVRhZ1BhcmFtCQlGdW5jdGlvbgorSmF2YUhpTGluayBqYXZhQ29tbWVudFN0YXIJCWphdmFDb21tZW50CiAKLSAgSmF2YUhpTGluayBqYXZhVHlwZQkJCVR5cGUKLSAgSmF2YUhpTGluayBqYXZhRXh0ZXJuYWwJCUluY2x1ZGUKK0phdmFIaUxpbmsgamF2YVR5cGUJCQlUeXBlCitKYXZhSGlMaW5rIGphdmFFeHRlcm5hbAkJSW5jbHVkZQogCi0gIEphdmFIaUxpbmsgaHRtbENvbW1lbnQJCVNwZWNpYWwKLSAgSmF2YUhpTGluayBodG1sQ29tbWVudFBhcnQJCVNwZWNpYWwKLSAgSmF2YUhpTGluayBqYXZhU3BhY2VFcnJvcgkJRXJyb3IKLWVuZGlmCitKYXZhSGlMaW5rIGh0bWxDb21tZW50CQlTcGVjaWFsCitKYXZhSGlMaW5rIGh0bWxDb21tZW50UGFydAkJU3BlY2lhbAorSmF2YUhpTGluayBqYXZhU3BhY2VFcnJvcgkJRXJyb3IKIAogZGVsY29tbWFuZCBKYXZhSGlMaW5rCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2phdmFjYy52aW0gYi9ydW50aW1lL3N5bnRheC9qYXZhY2MudmltCmluZGV4IDU0NThkZTcuLjkzZDE3NDAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2phdmFjYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvamF2YWNjLnZpbQpAQCAtNywxMSArNyw4IEBACiAiIFVzZXMgamF2YS52aW0sIGFuZCBhZGRzIGEgZmV3IHNwZWNpYWwgdGhpbmdzIGZvciBKYXZhQ0MgUGFyc2VyIGZpbGVzLgogIiBUaG9zZSBmaWxlcyB1c3VhbGx5IGhhdmUgdGhlIGV4dGVuc2lvbiAgKi5qagogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTksMTEgKzE2LDcgQEAKIHNldCBjcG8mdmltCiAKICIgc291cmNlIHRoZSBqYXZhLnZpbSBmaWxlCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvdXJjZSA8c2ZpbGU+OnA6aC9qYXZhLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvamF2YS52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvamF2YS52aW0KIHVubGV0IGI6Y3VycmVudF9zeW50YXgKIAogInJlbW92ZSBjYXRjaGluZyBlcnJvcnMgY2F1c2VkIGJ5IHdyb25nIHBhcmVudGhlc2lzIChkb2VzIG5vdCB3b3JrIGluIGphdmFjYwpAQCAtNTgsMjIgKzUxLDE0IEBACiBzeW4ga2V5d29yZCBqYXZhY2NFcnJvciBERUJVRyBJR05PUkVfSU5fQk5GCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2Nzc19zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9jc3Nfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKLSAgSGlMaW5rIGphdmFjY1NwZWNUb2tlbiBTdGF0ZW1lbnQKLSAgSGlMaW5rIGphdmFjY0FjdGlvblRva2VuIFR5cGUKLSAgSGlMaW5rIGphdmFjY1BhY2thZ2VzIGphdmFTY29wZURlY2wKLSAgSGlMaW5rIGphdmFjY1Rva2VuIFN0cmluZwotICBIaUxpbmsgamF2YWNjRXJyb3IgRXJyb3IKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KK0hpTGluayBqYXZhY2NTcGVjVG9rZW4gU3RhdGVtZW50CitIaUxpbmsgamF2YWNjQWN0aW9uVG9rZW4gVHlwZQorSGlMaW5rIGphdmFjY1BhY2thZ2VzIGphdmFTY29wZURlY2wKK0hpTGluayBqYXZhY2NUb2tlbiBTdHJpbmcKK0hpTGluayBqYXZhY2NFcnJvciBFcnJvcgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiamF2YWNjIgogbGV0ICZjcG8gPSBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9qYXZhc2NyaXB0LnZpbSBiL3J1bnRpbWUvc3ludGF4L2phdmFzY3JpcHQudmltCmluZGV4IDFiMjBmOTguLmUzZTgyNjIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2phdmFzY3JpcHQudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2phdmFzY3JpcHQudmltCkBAIC0xMCwxNSArMTAsMTIgQEAKICIgTGFzdCBDaGFuZ2U6CTIwMTIgT2N0IDA1CiAiIAkJMjAxMyBKdW4gMTI6IGFkanVzdGVkIGphdmFTY3JpcHRSZWdleHBTdHJpbmcgKEtldmluIExvY2tlKQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAogIiB0dW5pbmcgcGFyYW1ldGVyczoKICIgdW5sZXQgamF2YVNjcmlwdF9mb2xkCiAKIGlmICFleGlzdHMoIm1haW5fc3ludGF4IikKLSAgaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5bnRheCBjbGVhcgotICBlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKKyAgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKICAgZW5kaWYKICAgbGV0IG1haW5fc3ludGF4ID0gJ2phdmFzY3JpcHQnCkBAIC0yOSwxMSArMjYsNiBAQAogbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCiBzZXQgY3BvJnZpbQogCi0iIERyb3AgZm9sZCBpZiBpdCBzZXQgYnV0IHZpbSBkb2Vzbid0IHN1cHBvcnQgaXQuCi1pZiB2ZXJzaW9uIDwgNjAwICYmIGV4aXN0cygiamF2YVNjcmlwdF9mb2xkIikKLSAgdW5sZXQgamF2YVNjcmlwdF9mb2xkCi1lbmRpZgotCiAKIHN5biBrZXl3b3JkIGphdmFTY3JpcHRDb21tZW50VG9kbyAgICAgIFRPRE8gRklYTUUgWFhYIFRCRCBjb250YWluZWQKIHN5biBtYXRjaCAgIGphdmFTY3JpcHRMaW5lQ29tbWVudCAgICAgICJcL1wvLioiIGNvbnRhaW5zPUBTcGVsbCxqYXZhU2NyaXB0Q29tbWVudFRvZG8KQEAgLTg3LDUxICs3OSw0MyBAQAogZW5kaWYKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfamF2YXNjcmlwdF9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9qYXZhc2NyaXB0X3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCi0gIEhpTGluayBqYXZhU2NyaXB0Q29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgamF2YVNjcmlwdExpbmVDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBqYXZhU2NyaXB0Q29tbWVudFRvZG8JCVRvZG8KLSAgSGlMaW5rIGphdmFTY3JpcHRTcGVjaWFsCQlTcGVjaWFsCi0gIEhpTGluayBqYXZhU2NyaXB0U3RyaW5nUwkJU3RyaW5nCi0gIEhpTGluayBqYXZhU2NyaXB0U3RyaW5nRAkJU3RyaW5nCi0gIEhpTGluayBqYXZhU2NyaXB0Q2hhcmFjdGVyCQlDaGFyYWN0ZXIKLSAgSGlMaW5rIGphdmFTY3JpcHRTcGVjaWFsQ2hhcmFjdGVyCWphdmFTY3JpcHRTcGVjaWFsCi0gIEhpTGluayBqYXZhU2NyaXB0TnVtYmVyCQlqYXZhU2NyaXB0VmFsdWUKLSAgSGlMaW5rIGphdmFTY3JpcHRDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIGphdmFTY3JpcHRSZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgamF2YVNjcmlwdEJyYW5jaAkJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIGphdmFTY3JpcHRPcGVyYXRvcgkJT3BlcmF0b3IKLSAgSGlMaW5rIGphdmFTY3JpcHRUeXBlCQkJVHlwZQotICBIaUxpbmsgamF2YVNjcmlwdFN0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBqYXZhU2NyaXB0RnVuY3Rpb24JCUZ1bmN0aW9uCi0gIEhpTGluayBqYXZhU2NyaXB0QnJhY2VzCQlGdW5jdGlvbgotICBIaUxpbmsgamF2YVNjcmlwdEVycm9yCQlFcnJvcgotICBIaUxpbmsgamF2YVNjclBhcmVuRXJyb3IJCWphdmFTY3JpcHRFcnJvcgotICBIaUxpbmsgamF2YVNjcmlwdE51bGwJCQlLZXl3b3JkCi0gIEhpTGluayBqYXZhU2NyaXB0Qm9vbGVhbgkJQm9vbGVhbgotICBIaUxpbmsgamF2YVNjcmlwdFJlZ2V4cFN0cmluZwkJU3RyaW5nCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KK0hpTGluayBqYXZhU2NyaXB0Q29tbWVudAkJQ29tbWVudAorSGlMaW5rIGphdmFTY3JpcHRMaW5lQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIGphdmFTY3JpcHRDb21tZW50VG9kbwkJVG9kbworSGlMaW5rIGphdmFTY3JpcHRTcGVjaWFsCQlTcGVjaWFsCitIaUxpbmsgamF2YVNjcmlwdFN0cmluZ1MJCVN0cmluZworSGlMaW5rIGphdmFTY3JpcHRTdHJpbmdECQlTdHJpbmcKK0hpTGluayBqYXZhU2NyaXB0Q2hhcmFjdGVyCQlDaGFyYWN0ZXIKK0hpTGluayBqYXZhU2NyaXB0U3BlY2lhbENoYXJhY3RlcglqYXZhU2NyaXB0U3BlY2lhbAorSGlMaW5rIGphdmFTY3JpcHROdW1iZXIJCWphdmFTY3JpcHRWYWx1ZQorSGlMaW5rIGphdmFTY3JpcHRDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKK0hpTGluayBqYXZhU2NyaXB0UmVwZWF0CQlSZXBlYXQKK0hpTGluayBqYXZhU2NyaXB0QnJhbmNoCQlDb25kaXRpb25hbAorSGlMaW5rIGphdmFTY3JpcHRPcGVyYXRvcgkJT3BlcmF0b3IKK0hpTGluayBqYXZhU2NyaXB0VHlwZQkJCVR5cGUKK0hpTGluayBqYXZhU2NyaXB0U3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayBqYXZhU2NyaXB0RnVuY3Rpb24JCUZ1bmN0aW9uCitIaUxpbmsgamF2YVNjcmlwdEJyYWNlcwkJRnVuY3Rpb24KK0hpTGluayBqYXZhU2NyaXB0RXJyb3IJCUVycm9yCitIaUxpbmsgamF2YVNjclBhcmVuRXJyb3IJCWphdmFTY3JpcHRFcnJvcgorSGlMaW5rIGphdmFTY3JpcHROdWxsCQkJS2V5d29yZAorSGlMaW5rIGphdmFTY3JpcHRCb29sZWFuCQlCb29sZWFuCitIaUxpbmsgamF2YVNjcmlwdFJlZ2V4cFN0cmluZwkJU3RyaW5nCiAKLSAgSGlMaW5rIGphdmFTY3JpcHRJZGVudGlmaWVyCQlJZGVudGlmaWVyCi0gIEhpTGluayBqYXZhU2NyaXB0TGFiZWwJCUxhYmVsCi0gIEhpTGluayBqYXZhU2NyaXB0RXhjZXB0aW9uCQlFeGNlcHRpb24KLSAgSGlMaW5rIGphdmFTY3JpcHRNZXNzYWdlCQlLZXl3b3JkCi0gIEhpTGluayBqYXZhU2NyaXB0R2xvYmFsCQlLZXl3b3JkCi0gIEhpTGluayBqYXZhU2NyaXB0TWVtYmVyCQlLZXl3b3JkCi0gIEhpTGluayBqYXZhU2NyaXB0RGVwcmVjYXRlZAkJRXhjZXB0aW9uIAotICBIaUxpbmsgamF2YVNjcmlwdFJlc2VydmVkCQlLZXl3b3JkCi0gIEhpTGluayBqYXZhU2NyaXB0RGVidWcJCURlYnVnCi0gIEhpTGluayBqYXZhU2NyaXB0Q29uc3RhbnQJCUxhYmVsCitIaUxpbmsgamF2YVNjcmlwdElkZW50aWZpZXIJCUlkZW50aWZpZXIKK0hpTGluayBqYXZhU2NyaXB0TGFiZWwJCUxhYmVsCitIaUxpbmsgamF2YVNjcmlwdEV4Y2VwdGlvbgkJRXhjZXB0aW9uCitIaUxpbmsgamF2YVNjcmlwdE1lc3NhZ2UJCUtleXdvcmQKK0hpTGluayBqYXZhU2NyaXB0R2xvYmFsCQlLZXl3b3JkCitIaUxpbmsgamF2YVNjcmlwdE1lbWJlcgkJS2V5d29yZAorSGlMaW5rIGphdmFTY3JpcHREZXByZWNhdGVkCQlFeGNlcHRpb24gCitIaUxpbmsgamF2YVNjcmlwdFJlc2VydmVkCQlLZXl3b3JkCitIaUxpbmsgamF2YVNjcmlwdERlYnVnCQlEZWJ1ZworSGlMaW5rIGphdmFTY3JpcHRDb25zdGFudAkJTGFiZWwKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImphdmFzY3JpcHQiCiBpZiBtYWluX3N5bnRheCA9PSAnamF2YXNjcmlwdCcKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2plc3MudmltIGIvcnVudGltZS9zeW50YXgvamVzcy52aW0KaW5kZXggMjQzYmFiMy4uYWQ2MjVhYyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvamVzcy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvamVzcy52aW0KQEAgLTQsMTkgKzQsMTIgQEAKICIgTGFzdCBjaGFuZ2U6CVNlcHRlbWJlciAxNCwgMjAwMAogIiBCYXNlZCBvbiBsaXNwLnZpbSBieSA6IERyLiBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc2V0IGlza2V5d29yZD00Miw0Myw0NSw0Ny01OCw2MC02Miw2NC05MCw5Ny0xMjIsXwotZWxzZQotICBzZXRsb2NhbCBpc2tleXdvcmQ9NDIsNDMsNDUsNDctNTgsNjAtNjIsNjQtOTAsOTctMTIyLF8KLWVuZGlmCitzZXRsb2NhbCBpc2tleXdvcmQ9NDIsNDMsNDUsNDctNTgsNjAtNjIsNjQtOTAsOTctMTIyLF8KIAogIiBMaXN0cwogc3luIG1hdGNoCWplc3NTeW1ib2wJIVteKCknYCwiOyBcdF1cKyEJY29udGFpbmVkCkBAIC0xMjUsMzYgKzExOCwyOCBAQAogc3luIHN5bmMgbGluZXM9MTAwCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2plc3Nfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfamVzc19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGplc3NBdG9tTm1icglqZXNzTnVtYmVyCi0gIEhpTGluayBqZXNzQXRvbU1hcmsJamVzc01hcmsKK0hpTGluayBqZXNzQXRvbU5tYnIJamVzc051bWJlcgorSGlMaW5rIGplc3NBdG9tTWFyawlqZXNzTWFyawogCi0gIEhpTGluayBqZXNzQXRvbQkJSWRlbnRpZmllcgotICBIaUxpbmsgamVzc0F0b21CYXJTeW1ib2wJU3BlY2lhbAotICBIaUxpbmsgamVzc0JhclN5bWJvbAlTcGVjaWFsCi0gIEhpTGluayBqZXNzQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBqZXNzQ29uY2F0CVN0YXRlbWVudAotICBIaUxpbmsgamVzc0RlY2xhcmF0aW9uCVN0YXRlbWVudAotICBIaUxpbmsgamVzc0Z1bmMJCVN0YXRlbWVudAotICBIaUxpbmsgamVzc0tleQkJVHlwZQotICBIaUxpbmsgamVzc01hcmsJCURlbGltaXRlcgotICBIaUxpbmsgamVzc051bWJlcglOdW1iZXIKLSAgSGlMaW5rIGplc3NQYXJlbkVycm9yCUVycm9yCi0gIEhpTGluayBqZXNzU3BlY2lhbAlUeXBlCi0gIEhpTGluayBqZXNzU3RyaW5nCVN0cmluZwotICBIaUxpbmsgamVzc1ZhcgkJSWRlbnRpZmllcgorSGlMaW5rIGplc3NBdG9tCQlJZGVudGlmaWVyCitIaUxpbmsgamVzc0F0b21CYXJTeW1ib2wJU3BlY2lhbAorSGlMaW5rIGplc3NCYXJTeW1ib2wJU3BlY2lhbAorSGlMaW5rIGplc3NDb21tZW50CUNvbW1lbnQKK0hpTGluayBqZXNzQ29uY2F0CVN0YXRlbWVudAorSGlMaW5rIGplc3NEZWNsYXJhdGlvbglTdGF0ZW1lbnQKK0hpTGluayBqZXNzRnVuYwkJU3RhdGVtZW50CitIaUxpbmsgamVzc0tleQkJVHlwZQorSGlMaW5rIGplc3NNYXJrCQlEZWxpbWl0ZXIKK0hpTGluayBqZXNzTnVtYmVyCU51bWJlcgorSGlMaW5rIGplc3NQYXJlbkVycm9yCUVycm9yCitIaUxpbmsgamVzc1NwZWNpYWwJVHlwZQorSGlMaW5rIGplc3NTdHJpbmcJU3RyaW5nCitIaUxpbmsgamVzc1ZhcgkJSWRlbnRpZmllcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiamVzcyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvamdyYXBoLnZpbSBiL3J1bnRpbWUvc3ludGF4L2pncmFwaC52aW0KaW5kZXggN2VjZDVhZi4uNDNmYzQyNyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvamdyYXBoLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9qZ3JhcGgudmltCkBAIC01LDExICs1LDggQEAKICIgdGhpcyBzeW50YXggZmlsZSBpcyBub3QgeWV0IGNvbXBsZXRlCiAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTM2LDIzICszMywxNSBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2pncmFwaF9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9qZ3JhcGhfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBqZ3JhcGhDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIGpncmFwaENtZAlJZGVudGlmaWVyCi0gIEhpTGluayBqZ3JhcGhUeXBlCVR5cGUKLSAgSGlMaW5rIGpncmFwaE51bWJlcglOdW1iZXIKK0hpTGluayBqZ3JhcGhDb21tZW50CUNvbW1lbnQKK0hpTGluayBqZ3JhcGhDbWQJSWRlbnRpZmllcgorSGlMaW5rIGpncmFwaFR5cGUJVHlwZQorSGlMaW5rIGpncmFwaE51bWJlcglOdW1iZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiamdyYXBoIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvanByb3BlcnRpZXMudmltIGIvcnVudGltZS9zeW50YXgvanByb3BlcnRpZXMudmltCmluZGV4IDkzNDNiZDIuLmJkZTE2MGIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2pwcm9wZXJ0aWVzLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9qcHJvcGVydGllcy52aW0KQEAgLTQzLDExICs0Myw4IEBACiAKICIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTEyMCwyOCArMTE3LDIwIEBACiBzeW4ga2V5d29yZCBqcHJvcGVydGllc1RvZG8JCVRPRE8gRklYTUUgWFhYIGNvbnRhaW5lZAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9qcHJvcGVydGllc19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9qcHJvcGVydGllc19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLQlIaUxpbmsganByb3BlcnRpZXNDb21tZW50CUNvbW1lbnQKLQlIaUxpbmsganByb3BlcnRpZXNUb2RvCQlUb2RvCi0JSGlMaW5rIGpwcm9wZXJ0aWVzSWRlbnRpZmllcglJZGVudGlmaWVyCi0JSGlMaW5rIGpwcm9wZXJ0aWVzU3RyaW5nCVN0cmluZwotCUhpTGluayBqcHJvcGVydGllc0V4dGVuZFN0cmluZwlTdHJpbmcKLQlIaUxpbmsganByb3BlcnRpZXNDaGFyYWN0ZXIJQ2hhcmFjdGVyCi0JSGlMaW5rIGpwcm9wZXJ0aWVzU3BlY2lhbAlTcGVjaWFsCi0JSGlMaW5rIGpwcm9wZXJ0aWVzU3BlY2lhbENoYXIJU3BlY2lhbENoYXIKLQlIaUxpbmsganByb3BlcnRpZXNFcnJvcglFcnJvcgorSGlMaW5rIGpwcm9wZXJ0aWVzQ29tbWVudAlDb21tZW50CitIaUxpbmsganByb3BlcnRpZXNUb2RvCQlUb2RvCitIaUxpbmsganByb3BlcnRpZXNJZGVudGlmaWVyCUlkZW50aWZpZXIKK0hpTGluayBqcHJvcGVydGllc1N0cmluZwlTdHJpbmcKK0hpTGluayBqcHJvcGVydGllc0V4dGVuZFN0cmluZwlTdHJpbmcKK0hpTGluayBqcHJvcGVydGllc0NoYXJhY3RlcglDaGFyYWN0ZXIKK0hpTGluayBqcHJvcGVydGllc1NwZWNpYWwJU3BlY2lhbAorSGlMaW5rIGpwcm9wZXJ0aWVzU3BlY2lhbENoYXIJU3BlY2lhbENoYXIKK0hpTGluayBqcHJvcGVydGllc0Vycm9yCUVycm9yCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJqcHJvcGVydGllcyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvanNvbi52aW0gYi9ydW50aW1lL3N5bnRheC9qc29uLnZpbQppbmRleCAxZmRmZWEyLi4zNGMyNmQzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9qc29uLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9qc29uLnZpbQpAQCAtNSw5ICs1LDggQEAKICIgVmVyc2lvbjogICAgICAwLjEyCiAKIGlmICFleGlzdHMoIm1haW5fc3ludGF4IikKLSAgaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5bnRheCBjbGVhcgotICBlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKKyAgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKICAgZW5kaWYKICAgbGV0IG1haW5fc3ludGF4ID0gJ2pzb24nCkBAIC05MywzOSArOTIsMzEgQEAKIHN5biByZWdpb24gIGpzb25Gb2xkIG1hdGNoZ3JvdXA9anNvbkJyYWNlcyBzdGFydD0iXFsiIGVuZD0vXVwoXF9zXCtcemUiXClcQCEvIHRyYW5zcGFyZW50IGZvbGQKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfanNvbl9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9qc29uX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCi0gIEhpTGluayBqc29uUGFkZGluZyAgICAgICAgIE9wZXJhdG9yCi0gIEhpTGluayBqc29uU3RyaW5nICAgICAgICAgIFN0cmluZwotICBIaUxpbmsganNvblRlc3QgICAgICAgICAgTGFiZWwKLSAgSGlMaW5rIGpzb25Fc2NhcGUgICAgICAgICAgU3BlY2lhbAotICBIaUxpbmsganNvbk51bWJlciAgICAgICAgICBOdW1iZXIKLSAgSGlMaW5rIGpzb25CcmFjZXMgICAgICAgICAgRGVsaW1pdGVyCi0gIEhpTGluayBqc29uTnVsbCAgICAgICAgICAgIEZ1bmN0aW9uCi0gIEhpTGluayBqc29uQm9vbGVhbiAgICAgICAgIEJvb2xlYW4KLSAgSGlMaW5rIGpzb25LZXl3b3JkICAgICAgICAgTGFiZWwKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorSGlMaW5rIGpzb25QYWRkaW5nICAgICAgICAgT3BlcmF0b3IKK0hpTGluayBqc29uU3RyaW5nICAgICAgICAgIFN0cmluZworSGlMaW5rIGpzb25UZXN0ICAgICAgICAgIExhYmVsCitIaUxpbmsganNvbkVzY2FwZSAgICAgICAgICBTcGVjaWFsCitIaUxpbmsganNvbk51bWJlciAgICAgICAgICBOdW1iZXIKK0hpTGluayBqc29uQnJhY2VzICAgICAgICAgIERlbGltaXRlcgorSGlMaW5rIGpzb25OdWxsICAgICAgICAgICAgRnVuY3Rpb24KK0hpTGluayBqc29uQm9vbGVhbiAgICAgICAgIEJvb2xlYW4KK0hpTGluayBqc29uS2V5d29yZCAgICAgICAgIExhYmVsCiAKLQlpZiAoIWV4aXN0cygiZzp2aW1fanNvbl93YXJuaW5ncyIpIHx8IGc6dmltX2pzb25fd2FybmluZ3M9PTEpCi0JICBIaUxpbmsganNvbk51bUVycm9yICAgICAgICBFcnJvcgotCSAgSGlMaW5rIGpzb25Db21tZW50RXJyb3IgICAgRXJyb3IKLQkgIEhpTGluayBqc29uU2VtaWNvbG9uRXJyb3IgIEVycm9yCi0JICBIaUxpbmsganNvblRyYWlsaW5nQ29tbWFFcnJvciAgICAgRXJyb3IKLQkgIEhpTGluayBqc29uTWlzc2luZ0NvbW1hRXJyb3IgICAgICBFcnJvcgotCSAgSGlMaW5rIGpzb25TdHJpbmdTUUVycm9yICAgICAgICAJRXJyb3IKLQkgIEhpTGluayBqc29uTm9RdW90ZXNFcnJvciAgICAgICAgCUVycm9yCi0JICBIaUxpbmsganNvblRyaXBsZVF1b3Rlc0Vycm9yICAgICAJRXJyb3IKLSAgZW5kaWYKLSAgSGlMaW5rIGpzb25RdW90ZSAgICAgICAgICAgUXVvdGUKLSAgSGlMaW5rIGpzb25Ob2lzZSAgICAgICAgICAgTm9pc2UKLSAgZGVsY29tbWFuZCBIaUxpbmsKK2lmICghZXhpc3RzKCJnOnZpbV9qc29uX3dhcm5pbmdzIikgfHwgZzp2aW1fanNvbl93YXJuaW5ncz09MSkKK0hpTGluayBqc29uTnVtRXJyb3IgICAgICAgIEVycm9yCitIaUxpbmsganNvbkNvbW1lbnRFcnJvciAgICBFcnJvcgorSGlMaW5rIGpzb25TZW1pY29sb25FcnJvciAgRXJyb3IKK0hpTGluayBqc29uVHJhaWxpbmdDb21tYUVycm9yICAgICBFcnJvcgorSGlMaW5rIGpzb25NaXNzaW5nQ29tbWFFcnJvciAgICAgIEVycm9yCitIaUxpbmsganNvblN0cmluZ1NRRXJyb3IgICAgICAgIAlFcnJvcgorSGlMaW5rIGpzb25Ob1F1b3Rlc0Vycm9yICAgICAgICAJRXJyb3IKK0hpTGluayBqc29uVHJpcGxlUXVvdGVzRXJyb3IgICAgIAlFcnJvcgogZW5kaWYKK0hpTGluayBqc29uUXVvdGUgICAgICAgICAgIFF1b3RlCitIaUxpbmsganNvbk5vaXNlICAgICAgICAgICBOb2lzZQorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAianNvbiIKIGlmIG1haW5fc3ludGF4ID09ICdqc29uJwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvanNwLnZpbSBiL3J1bnRpbWUvc3ludGF4L2pzcC52aW0KaW5kZXggOTc2NjY1Ny4uODEyYTgxNCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvanNwLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9qc3AudmltCkBAIC02LDExICs2LDggQEAKICIgQ3JlZGl0cyA6IFBhdGNoIGJ5IERhcnJlbiBHcmVhdmVzIChyZWNvZ25pemVzIDxqc3A6Li4uPiB0YWdzKQogIgkgICAgUGF0Y2ggYnkgVGhvbWFzIEtpbXB0b24gKHJlY29nbml6ZXMganNwRXhwciBpbnNpZGUgSFRNTCB0YWdzKQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTksMTEgKzE2LDcgQEAKIGVuZGlmCiAKICIgU291cmNlIEhUTUwgc3ludGF4Ci1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvdXJjZSA8c2ZpbGU+OnA6aC9odG1sLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvaHRtbC52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvaHRtbC52aW0KIHVubGV0IGI6Y3VycmVudF9zeW50YXgKIAogIiBOZXh0IHN5bnRheCBpdGVtcyBhcmUgY2FzZS1zZW5zaXRpdmUKQEAgLTUyLDI5ICs0NSwyMSBAQAogc3luIHJlZ2lvbiBodG1sVGFnIHN0YXJ0PSs8W14vJV0rIGVuZD0rPisgY29udGFpbnM9aHRtbFRhZ04saHRtbFN0cmluZyxodG1sQXJnLGh0bWxWYWx1ZSxodG1sVGFnRXJyb3IsaHRtbEV2ZW50LGh0bWxDc3NEZWZpbml0aW9uLEBodG1sUHJlcHJvYyxAaHRtbEFyZ0NsdXN0ZXIsanNwRXhwcixqYXZhU2NyaXB0CiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2pzcF9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9qc3Bfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKLSAgIiBqYXZhLnZpbSBoYXMgcmVkZWZpbmVkIGh0bWxDb21tZW50IGhpZ2hsaWdodGluZwotICBIaUxpbmsgaHRtbENvbW1lbnQJIENvbW1lbnQKLSAgSGlMaW5rIGh0bWxDb21tZW50UGFydCBDb21tZW50Ci0gICIgQmUgY29uc2lzdGVudCB3aXRoIGh0bWwgaGlnaGxpZ2h0IHNldHRpbmdzCi0gIEhpTGluayBqc3BDb21tZW50CSBodG1sQ29tbWVudAotICBIaUxpbmsganNwVGFnCQkgaHRtbFRhZwotICBIaUxpbmsganNwRGlyZWN0aXZlCSBqc3BUYWcKLSAgSGlMaW5rIGpzcERpck5hbWUJIGh0bWxUYWdOYW1lCi0gIEhpTGluayBqc3BEaXJBcmcJIGh0bWxBcmcKLSAgSGlMaW5rIGpzcENvbW1hbmQJIGpzcFRhZwotICBIaUxpbmsganNwQ29tbWFuZE5hbWUgIGh0bWxUYWdOYW1lCi0gIEhpTGluayBqc3BDb21tYW5kQXJnCSBodG1sQXJnCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisiIGphdmEudmltIGhhcyByZWRlZmluZWQgaHRtbENvbW1lbnQgaGlnaGxpZ2h0aW5nCitIaUxpbmsgaHRtbENvbW1lbnQJIENvbW1lbnQKK0hpTGluayBodG1sQ29tbWVudFBhcnQgQ29tbWVudAorIiBCZSBjb25zaXN0ZW50IHdpdGggaHRtbCBoaWdobGlnaHQgc2V0dGluZ3MKK0hpTGluayBqc3BDb21tZW50CSBodG1sQ29tbWVudAorSGlMaW5rIGpzcFRhZwkJIGh0bWxUYWcKK0hpTGluayBqc3BEaXJlY3RpdmUJIGpzcFRhZworSGlMaW5rIGpzcERpck5hbWUJIGh0bWxUYWdOYW1lCitIaUxpbmsganNwRGlyQXJnCSBodG1sQXJnCitIaUxpbmsganNwQ29tbWFuZAkganNwVGFnCitIaUxpbmsganNwQ29tbWFuZE5hbWUgIGh0bWxUYWdOYW1lCitIaUxpbmsganNwQ29tbWFuZEFyZwkgaHRtbEFyZworZGVsY29tbWFuZCBIaUxpbmsKIAogaWYgbWFpbl9zeW50YXggPT0gJ2pzcCcKICAgdW5sZXQgbWFpbl9zeW50YXgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2tpeC52aW0gYi9ydW50aW1lL3N5bnRheC9raXgudmltCmluZGV4IDYyZGMzMjUuLmE4NmQ2NmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2tpeC52aW0KKysrIGIvcnVudGltZS9zeW50YXgva2l4LnZpbQpAQCAtMTksMTAgKzE5LDggQEAKICIJV29yayBvdXQgaG93IHRvIGVycm9yIHRvbyBtYW55ICIoIiwgaS5lLiAoKCkgc2hvdWxkIGJlIGFuIGVycm9yLgogIglTaW1pbGFybHksICJpZiIgd2l0aG91dCAiZW5kaWYiIGFuZCBzaW1pbGFyIGNvbnN0cnVjdHMgc2hvdWxkIGVycm9yLgogCi0iIENsZWFyIGxlZ2FjeSBzeW50YXggcnVsZXMgZm9yIHZlcnNpb24gNS54LCBleGl0IGlmIGFscmVhZHkgcHJvY2Vzc2VkIGZvciB2ZXJzaW9uIDYrCi1pZiB2ZXJzaW9uIDwgNjAwCi0Jc3luIGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogCWZpbmlzaAogZW5kaWYKIApAQCAtMTMwLDUyICsxMjgsNDQgQEAKIAogCiAiIERlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBWZXJzaW9uIDwgNS44IHNldCBkZWZhdWx0IGhpZ2hsaWdodCBpZiBmaWxlIG5vdCBhbHJlYWR5IHByb2Nlc3NlZC4KLSIgVmVyc2lvbiA+PSA1Ljggc2V0IGRlZmF1bHQgaGlnaGxpZ2h0IG9ubHkgaWYgaXQgZG9lc24ndCBhbHJlYWR5IGhhdmUgYSB2YWx1ZS4KLWlmIHZlcnNpb24gPiA1MDggfHwgIWV4aXN0cygiZGlkX2tpeF9zeW5faW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9raXhfc3luX2luaXRzPTEKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLQllbHNlCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotCWVuZGlmCisiIFNldCBkZWZhdWx0IGhpZ2hsaWdodCBvbmx5IGlmIGl0IGRvZXNuJ3QgYWxyZWFkeSBoYXZlIGEgdmFsdWUuCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCUhpTGluayBraXhEb3VibGVTdHJpbmcJCVN0cmluZwotCUhpTGluayBraXhTaW5nbGVTdHJpbmcJCVN0cmluZwotCUhpTGluayBraXhTdGF0ZW1lbnQJCVN0YXRlbWVudAotCUhpTGluayBraXhSZXBlYXQJCVJlcGVhdAotCUhpTGluayBraXhDb21tZW50CQlDb21tZW50Ci0JSGlMaW5rIGtpeEJ1aWx0aW4JCUZ1bmN0aW9uCi0JSGlMaW5rIGtpeExvY2FsVmFyCQlTcGVjaWFsCi0JSGlMaW5rIGtpeE1hY3JvCQkJU3BlY2lhbAotCUhpTGluayBraXhFbnZWYXIJCVNwZWNpYWwKLQlIaUxpbmsga2l4TGFiZWwJCQlUeXBlCi0JSGlMaW5rIGtpeEZ1bmN0aW9uCQlGdW5jdGlvbgotCUhpTGluayBraXhJbnRlZ2VyCQlOdW1iZXIKLQlIaUxpbmsga2l4SGV4CQkJTnVtYmVyCi0JSGlMaW5rIGtpeEZsb2F0CQkJTnVtYmVyCi0JSGlMaW5rIGtpeE9wZXJhdG9yCQlPcGVyYXRvcgotCUhpTGluayBraXhFeHByZXNzaW9uCQlPcGVyYXRvcgorSGlMaW5rIGtpeERvdWJsZVN0cmluZwkJU3RyaW5nCitIaUxpbmsga2l4U2luZ2xlU3RyaW5nCQlTdHJpbmcKK0hpTGluayBraXhTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIGtpeFJlcGVhdAkJUmVwZWF0CitIaUxpbmsga2l4Q29tbWVudAkJQ29tbWVudAorSGlMaW5rIGtpeEJ1aWx0aW4JCUZ1bmN0aW9uCitIaUxpbmsga2l4TG9jYWxWYXIJCVNwZWNpYWwKK0hpTGluayBraXhNYWNybwkJCVNwZWNpYWwKK0hpTGluayBraXhFbnZWYXIJCVNwZWNpYWwKK0hpTGluayBraXhMYWJlbAkJCVR5cGUKK0hpTGluayBraXhGdW5jdGlvbgkJRnVuY3Rpb24KK0hpTGluayBraXhJbnRlZ2VyCQlOdW1iZXIKK0hpTGluayBraXhIZXgJCQlOdW1iZXIKK0hpTGluayBraXhGbG9hdAkJCU51bWJlcgorSGlMaW5rIGtpeE9wZXJhdG9yCQlPcGVyYXRvcgorSGlMaW5rIGtpeEV4cHJlc3Npb24JCU9wZXJhdG9yCiAKLQlIaUxpbmsga2l4UGFyZW5DbG9zZUVycm9yCUVycm9yCi0JSGlMaW5rIGtpeEJyYWNrQ2xvc2VFcnJvcglFcnJvcgotCUhpTGluayBraXhTdHJpbmdFcnJvcgkJRXJyb3IKK0hpTGluayBraXhQYXJlbkNsb3NlRXJyb3IJRXJyb3IKK0hpTGluayBraXhCcmFja0Nsb3NlRXJyb3IJRXJyb3IKK0hpTGluayBraXhTdHJpbmdFcnJvcgkJRXJyb3IKIAotCUhpTGluayBraXhXaGlsZUVycm9yCQlFcnJvcgotCUhpTGluayBraXhXaGlsZU9LCQlDb25kaXRpb25hbAotCUhpTGluayBraXhEb0Vycm9yCQlFcnJvcgotCUhpTGluayBraXhEb09LCQkJQ29uZGl0aW9uYWwKLQlIaUxpbmsga2l4SWZFcnJvcgkJRXJyb3IKLQlIaUxpbmsga2l4SWZPSwkJCUNvbmRpdGlvbmFsCi0JSGlMaW5rIGtpeFNlbGVjdEVycm9yCQlFcnJvcgotCUhpTGluayBraXhTZWxlY3RPSwkJQ29uZGl0aW9uYWwKLQlIaUxpbmsga2l4Rm9yTmV4dEVycm9yCQlFcnJvcgotCUhpTGluayBraXhGb3JOZXh0T0sJCUNvbmRpdGlvbmFsCi0JSGlMaW5rIGtpeEZvckVhY2hFcnJvcgkJRXJyb3IKLQlIaUxpbmsga2l4Rm9yRWFjaE9LCQlDb25kaXRpb25hbAorSGlMaW5rIGtpeFdoaWxlRXJyb3IJCUVycm9yCitIaUxpbmsga2l4V2hpbGVPSwkJQ29uZGl0aW9uYWwKK0hpTGluayBraXhEb0Vycm9yCQlFcnJvcgorSGlMaW5rIGtpeERvT0sJCQlDb25kaXRpb25hbAorSGlMaW5rIGtpeElmRXJyb3IJCUVycm9yCitIaUxpbmsga2l4SWZPSwkJCUNvbmRpdGlvbmFsCitIaUxpbmsga2l4U2VsZWN0RXJyb3IJCUVycm9yCitIaUxpbmsga2l4U2VsZWN0T0sJCUNvbmRpdGlvbmFsCitIaUxpbmsga2l4Rm9yTmV4dEVycm9yCQlFcnJvcgorSGlMaW5rIGtpeEZvck5leHRPSwkJQ29uZGl0aW9uYWwKK0hpTGluayBraXhGb3JFYWNoRXJyb3IJCUVycm9yCitIaUxpbmsga2l4Rm9yRWFjaE9LCQlDb25kaXRpb25hbAogCi0JZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJraXgiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2tzY3JpcHQudmltIGIvcnVudGltZS9zeW50YXgva3NjcmlwdC52aW0KaW5kZXggY2VmYmUzOS4uZTA2YjQ5ZCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgva3NjcmlwdC52aW0KKysrIGIvcnVudGltZS9zeW50YXgva3NjcmlwdC52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiBVUkw6CQlodHRwOi8vYXF1aWxhLnJlemVsLmVuc3QuZnIvdGhvbWFzL3ZpbS9rc2NyaXB0LnZpbQogIiBDVlM6CQkkSWQ6IGtzY3JpcHQudmltLHYgMS4xIDIwMDQvMDYvMTMgMTc6NDA6MDIgdmltYm9zcyBFeHAgJAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMzcsMzMgKzM0LDI1IEBACiBzeW4gcmVnaW9uCWtzY3JpcHRTdHJpbmcJCXN0YXJ0PSsnJycrICBlbmQ9KycnJysKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfa3NjcmlwdF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9rc2NyaXB0X3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsga3NjcmlwdENvbmRpdGlvbmFsCQlDb25kaXRpb25hbAotICBIaUxpbmsga3NjcmlwdFJlcGVhdAkJCVJlcGVhdAotICBIaUxpbmsga3NjcmlwdEV4Y2VwdGlvbnMJCVN0YXRlbWVudAotICBIaUxpbmsga3NjcmlwdEZ1bmN0aW9uCQlGdW5jdGlvbgotICBIaUxpbmsga3NjcmlwdENvbnN0CQkJQ29uc3RhbnQKLSAgSGlMaW5rIGtzY3JpcHRTdGF0ZW1lbnQJCVN0YXRlbWVudAotICBIaUxpbmsga3NjcmlwdExhYmVsCQkJTGFiZWwKLSAgSGlMaW5rIGtzY3JpcHRTdG9yYWdlQ2xhc3MJCVN0b3JhZ2VDbGFzcwotICBIaUxpbmsga3NjcmlwdFR5cGUJCQlUeXBlCi0gIEhpTGluayBrc2NyaXB0VG9kbwkJCVRvZG8KLSAgSGlMaW5rIGtzY3JpcHRDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBrc2NyaXB0U3RyaW5nCQkJU3RyaW5nCi0gIEhpTGluayBrc2NyaXB0UHJlQ29uZGl0CQlQcmVDb25kaXQKLSAgSGlMaW5rIGtzY3JpcHRIYXJkQ29kZWQJCVN0YXRlbWVudAorSGlMaW5rIGtzY3JpcHRDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKK0hpTGluayBrc2NyaXB0UmVwZWF0CQkJUmVwZWF0CitIaUxpbmsga3NjcmlwdEV4Y2VwdGlvbnMJCVN0YXRlbWVudAorSGlMaW5rIGtzY3JpcHRGdW5jdGlvbgkJRnVuY3Rpb24KK0hpTGluayBrc2NyaXB0Q29uc3QJCQlDb25zdGFudAorSGlMaW5rIGtzY3JpcHRTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIGtzY3JpcHRMYWJlbAkJCUxhYmVsCitIaUxpbmsga3NjcmlwdFN0b3JhZ2VDbGFzcwkJU3RvcmFnZUNsYXNzCitIaUxpbmsga3NjcmlwdFR5cGUJCQlUeXBlCitIaUxpbmsga3NjcmlwdFRvZG8JCQlUb2RvCitIaUxpbmsga3NjcmlwdENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBrc2NyaXB0U3RyaW5nCQkJU3RyaW5nCitIaUxpbmsga3NjcmlwdFByZUNvbmRpdAkJUHJlQ29uZGl0CitIaUxpbmsga3NjcmlwdEhhcmRDb2RlZAkJU3RhdGVtZW50CiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJrc2NyaXB0IgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9rd3QudmltIGIvcnVudGltZS9zeW50YXgva3d0LnZpbQppbmRleCA0YzJjOWQ5Li5iNzExNjYzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9rd3QudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2t3dC52aW0KQEAgLTMsMjEgKzMsMTQgQEAKICIgTWFpbnRhaW5lcjoJTWljaGFlbCBQaWVmZWwgPGVudHd1cmZAcGllZmVsLmRlPgogIiBMYXN0IENoYW5nZToJMiBNYXkgMjAwMQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKIGVuZGlmCiAKICIgUmVhZCB0aGUgQysrIHN5bnRheCB0byBzdGFydCB3aXRoCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvdXJjZSA8c2ZpbGU+OnA6aC9jcHAudmltCi1lbHNlCi0gIHJ1bnRpbWUhIHN5bnRheC9jcHAudmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvY3BwLnZpbQordW5sZXQgYjpjdXJyZW50X3N5bnRheAogCiAiIGtpbXdpdHUrKyBleHRlbnRpb25zCiAKQEAgLTU4LDI3ICs1MSwxOSBAQAogc3luIHJlZ2lvbiBrd3RSZXdCb2R5CQl0cmFuc3BhcmVudCBrZWVwZW5kIGV4dGVuZCBmb2xkIHN0YXJ0PSItPlxzKjwiIHN0YXJ0PSJeXHMqPCIgZW5kPSJccz5cc1w9O1w9JCIgZW5kPSJePlxzXD07XD0kIgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9rd3Rfc3luX2luaXRzIikKLSAgICBpZiB2ZXJzaW9uIDwgNTA4Ci0JbGV0IGRpZF9rd3Rfc3luX2luaXRzID0gMQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICAgZWxzZQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICAgIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAgIEhpTGluayBrd3RTdGF0ZW1lbnQJY3BwU3RhdGVtZW50Ci0gICAgSGlMaW5rIGt3dERlY2wJY3BwU3RhdGVtZW50Ci0gICAgSGlMaW5rIGt3dENhc3QJY3BwU3RhdGVtZW50Ci0gICAgSGlMaW5rIGt3dFNlcAlEZWxpbWl0ZXIKLSAgICBIaUxpbmsga3d0Vmlld3MJTGFiZWwKLSAgICBIaUxpbmsga3d0UGh5bHVtCVR5cGUKLSAgICBIaUxpbmsga3d0T3B0aW9uCVByZVByb2MKLSAgICAiSGlMaW5rIGNUZXh0CUNvbW1lbnQKK0hpTGluayBrd3RTdGF0ZW1lbnQJY3BwU3RhdGVtZW50CitIaUxpbmsga3d0RGVjbAljcHBTdGF0ZW1lbnQKK0hpTGluayBrd3RDYXN0CWNwcFN0YXRlbWVudAorSGlMaW5rIGt3dFNlcAlEZWxpbWl0ZXIKK0hpTGluayBrd3RWaWV3cwlMYWJlbAorSGlMaW5rIGt3dFBoeWx1bQlUeXBlCitIaUxpbmsga3d0T3B0aW9uCVByZVByb2MKKyJIaUxpbmsgY1RleHQJQ29tbWVudAogCi0gICAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBzeW4gc3luYyBsaW5lcz0zMDAKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbGFjZS52aW0gYi9ydW50aW1lL3N5bnRheC9sYWNlLnZpbQppbmRleCA5ZTY0ZWVhLi5kYmRhZjhiIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9sYWNlLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9sYWNlLnZpbQpAQCAtOSwxMSArOSw4IEBACiAiIGl0IHRvIHRoZSBtYWludGFpbmVyIGF0IDx1dGlsaXRpZXNAZWlmZmVsLmNvbT4KIAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtODUsNTAgKzgyLDQyIEBACiBzeW4gc3luYyBsaW5lcz00MAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9sYWNlX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2xhY2Vfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBsYWNlVG9wU3RydWN0CQkJUHJlUHJvYworSGlMaW5rIGxhY2VUb3BTdHJ1Y3QJCQlQcmVQcm9jCiAKLSAgSGlMaW5rIGxhY2VPcHRpb25DbGF1c2UJCVN0YXRlbWVudAotICBIaUxpbmsgbGFjZU9wdGlvbk1hcmsJCQlDb25zdGFudAotICBIaUxpbmsgbGFjZUNsdXN0ZXJQcm9wCQlMYWJlbAotICBIaUxpbmsgbGFjZUFkYXB0Q2xhc3NOYW1lCQlMYWJlbAotICBIaUxpbmsgbGFjZUV4dGVybmFsCQkJU3RhdGVtZW50Ci0gIEhpTGluayBsYWNlQ2x1c3RlcgkJCU1vZGVNc2cKK0hpTGluayBsYWNlT3B0aW9uQ2xhdXNlCQlTdGF0ZW1lbnQKK0hpTGluayBsYWNlT3B0aW9uTWFyawkJCUNvbnN0YW50CitIaUxpbmsgbGFjZUNsdXN0ZXJQcm9wCQlMYWJlbAorSGlMaW5rIGxhY2VBZGFwdENsYXNzTmFtZQkJTGFiZWwKK0hpTGluayBsYWNlRXh0ZXJuYWwJCQlTdGF0ZW1lbnQKK0hpTGluayBsYWNlQ2x1c3RlcgkJCU1vZGVNc2cKIAotICBIaUxpbmsgbGFjZUVzY2FwZQkJCQlTcGVjaWFsCitIaUxpbmsgbGFjZUVzY2FwZQkJCQlTcGVjaWFsCiAKLSAgSGlMaW5rIGxhY2VCb29sCQkJCUJvb2xlYW4KLSAgSGlMaW5rIGxhY2VTdHJpbmcJCQkJU3RyaW5nCi0gIEhpTGluayBsYWNlQ2hhcmFjdGVyCQkJQ2hhcmFjdGVyCi0gIEhpTGluayBsYWNlQ2xhc3NOYW1lCQkJVHlwZQotICBIaUxpbmsgbGFjZU51bWJlcgkJCQlOdW1iZXIKK0hpTGluayBsYWNlQm9vbAkJCQlCb29sZWFuCitIaUxpbmsgbGFjZVN0cmluZwkJCQlTdHJpbmcKK0hpTGluayBsYWNlQ2hhcmFjdGVyCQkJQ2hhcmFjdGVyCitIaUxpbmsgbGFjZUNsYXNzTmFtZQkJCVR5cGUKK0hpTGluayBsYWNlTnVtYmVyCQkJCU51bWJlcgogCi0gIEhpTGluayBsYWNlT3BlcmF0b3IJCQlTcGVjaWFsCi0gIEhpTGluayBsYWNlQXJyYXkJCQkJU3BlY2lhbAotICBIaUxpbmsgbGFjZUV4cG9ydAkJCQlTcGVjaWFsCi0gIEhpTGluayBsYWNlQ3JlYXRpb24JCQlTcGVjaWFsCi0gIEhpTGluayBsYWNlQnJhY2tldHMJCQlTcGVjaWFsCi0gIEhpTGluayBsYWNlQ29uc3RyYWludAkJCVNwZWNpYWwKK0hpTGluayBsYWNlT3BlcmF0b3IJCQlTcGVjaWFsCitIaUxpbmsgbGFjZUFycmF5CQkJCVNwZWNpYWwKK0hpTGluayBsYWNlRXhwb3J0CQkJCVNwZWNpYWwKK0hpTGluayBsYWNlQ3JlYXRpb24JCQlTcGVjaWFsCitIaUxpbmsgbGFjZUJyYWNrZXRzCQkJU3BlY2lhbAorSGlMaW5rIGxhY2VDb25zdHJhaW50CQkJU3BlY2lhbAogCi0gIEhpTGluayBsYWNlQ29tbWVudAkJCUNvbW1lbnQKK0hpTGluayBsYWNlQ29tbWVudAkJCUNvbW1lbnQKIAotICBIaUxpbmsgbGFjZUVycm9yCQkJCUVycm9yCi0gIEhpTGluayBsYWNlU3RyaW5nRXJyb3IJCUVycm9yCi0gIEhpTGluayBsYWNlUGFyZW5FcnJvcgkJCUVycm9yCi0gIEhpTGluayBsYWNlQnJhY2tldEVycm9yCQlFcnJvcgotICBIaUxpbmsgbGFjZVRvZG8JCQkJVG9kbworSGlMaW5rIGxhY2VFcnJvcgkJCQlFcnJvcgorSGlMaW5rIGxhY2VTdHJpbmdFcnJvcgkJRXJyb3IKK0hpTGluayBsYWNlUGFyZW5FcnJvcgkJCUVycm9yCitIaUxpbmsgbGFjZUJyYWNrZXRFcnJvcgkJRXJyb3IKK0hpTGluayBsYWNlVG9kbwkJCQlUb2RvCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsYWNlIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sYXR0ZS52aW0gYi9ydW50aW1lL3N5bnRheC9sYXR0ZS52aW0KaW5kZXggZTJhODcyOS4uZjk1YzdiNSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbGF0dGUudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2xhdHRlLnZpbQpAQCAtNywxMSArNyw4IEBACiAiIEkgYmFzZWQgdGhpcyBvbiB0aGUgVGVYIGFuZCBTY2hlbWUgc3ludGF4IGZpbGVzIChidXQgbW9zdGx5IHNjaGVtZSkuCiAiIFNlZSBodHRwOi8vd3d3LmxhdHRlLm9yZyBmb3IgaW5mbyBvbiB0aGUgbGFuZ3VhZ2UuCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0yMCwxMSArMTcsNyBAQAogc3luIG1hdGNoIGxhdHRlT3RoZXIgIlxcfSIKIHN5biBtYXRjaCBsYXR0ZU90aGVyICJcXFxcIgogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNldCBpc2tleXdvcmQ9MzMsNDMsNDUsNDgtNTcsNjMsNjUtOTAsOTUsOTctMTIyLF8KLWVsc2UKLSAgc2V0bG9jYWwgaXNrZXl3b3JkPTMzLDQzLDQ1LDQ4LTU3LDYzLDY1LTkwLDk1LDk3LTEyMixfCi1lbmRpZgorc2V0bG9jYWwgaXNrZXl3b3JkPTMzLDQzLDQ1LDQ4LTU3LDYzLDY1LTkwLDk1LDk3LTEyMixfCiAKIHN5biByZWdpb24gbGF0dGVWYXIgbWF0Y2hncm91cD1TcGVjaWFsQ2hhciBzdGFydD0hXFxbQS1aYS16X10hcnM9cysxIGVuZD0hW15BLVphLXowLTk/IStfLV0hbWU9ZS0xIGNvbnRhaW5zPUFMTEJVVCxsYXR0ZU51bWJlcixsYXR0ZU90aGVyCiBzeW4gcmVnaW9uIGxhdHRlVmFyIG1hdGNoZ3JvdXA9U3BlY2lhbENoYXIgc3RhcnQ9IVxcWz1cJl1bQS1aYS16X10hcnM9cysyIGVuZD0hW15BLVphLXowLTk/IStfLV0hbWU9ZS0xIGNvbnRhaW5zPUFMTEJVVCxsYXR0ZU51bWJlcixsYXR0ZU90aGVyCkBAIC03MCwyOSArNjMsMjEgQEAKICIgLi4uIGkuZS4gc3luY2hyb25pemUgb24gYSBsaW5lIHRoYXQgc3RhcnRzIGF0IHRoZSBsZWZ0IG1hcmdpbgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9sYXR0ZV9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9sYXR0ZV9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGxhdHRlU3ludGF4CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGxhdHRlVmFyCQkJRnVuY3Rpb24KK0hpTGluayBsYXR0ZVN5bnRheAkJU3RhdGVtZW50CitIaUxpbmsgbGF0dGVWYXIJCQlGdW5jdGlvbgogCi0gIEhpTGluayBsYXR0ZVN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBsYXR0ZVF1b3RlCQkJU3RyaW5nCitIaUxpbmsgbGF0dGVTdHJpbmcJCVN0cmluZworSGlMaW5rIGxhdHRlUXVvdGUJCQlTdHJpbmcKIAotICBIaUxpbmsgbGF0dGVEZWxpbWl0ZXIJCURlbGltaXRlcgotICBIaUxpbmsgbGF0dGVPcGVyYXRvcgkJT3BlcmF0b3IKK0hpTGluayBsYXR0ZURlbGltaXRlcgkJRGVsaW1pdGVyCitIaUxpbmsgbGF0dGVPcGVyYXRvcgkJT3BlcmF0b3IKIAotICBIaUxpbmsgbGF0dGVDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBsYXR0ZUVycm9yCQkJRXJyb3IKK0hpTGluayBsYXR0ZUNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBsYXR0ZUVycm9yCQkJRXJyb3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImxhdHRlIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbGRpZi52aW0gYi9ydW50aW1lL3N5bnRheC9sZGlmLnZpbQppbmRleCA5ZjY3YjU3Li43MDRhNTkwIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9sZGlmLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9sZGlmLnZpbQpAQCAtMyw5ICszLDggQEAKICIgTWFpbnRhaW5lcjoJWmFrIEpvaG5zb24gPHpha2pAbm94LmN4PgogIiBMYXN0IENoYW5nZToJMjAwMy0xMi0zMAogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0yMSwyMyArMjAsMTYgQEAKIAogc3luIHJlZ2lvbiBsZGlmQ29tbWVudCBzdGFydD0vXiMvIGVuZD0vXF8kLyBza2lwPS9cbiAvCiAKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9sZGlmX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2xkaWZfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBsZGlmQXR0cmlidXRlCQlUeXBlCi0gIEhpTGluayBsZGlmT3B0aW9uCQlJZGVudGlmaWVyCi0gIEhpTGluayBsZGlmUHVuY3R1YXRpb24JTm9ybWFsCi0gIEhpTGluayBsZGlmU3RyaW5nVmFsdWUJU3RyaW5nCi0gIEhpTGluayBsZGlmQmFzZTY0VmFsdWUJU3BlY2lhbAotICBIaUxpbmsgbGRpZkZpbGVWYWx1ZQkJU3BlY2lhbAotICBIaUxpbmsgbGRpZkNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBsZGlmQXR0cmlidXRlCQlUeXBlCitIaUxpbmsgbGRpZk9wdGlvbgkJSWRlbnRpZmllcgorSGlMaW5rIGxkaWZQdW5jdHVhdGlvbglOb3JtYWwKK0hpTGluayBsZGlmU3RyaW5nVmFsdWUJU3RyaW5nCitIaUxpbmsgbGRpZkJhc2U2NFZhbHVlCVNwZWNpYWwKK0hpTGluayBsZGlmRmlsZVZhbHVlCQlTcGVjaWFsCitIaUxpbmsgbGRpZkNvbW1lbnQJCUNvbW1lbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImxkaWYiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sZXgudmltIGIvcnVudGltZS9zeW50YXgvbGV4LnZpbQppbmRleCBiN2FmZjM0Li44M2ViMjEyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9sZXgudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2xleC52aW0KQEAgLTgsMTEgKzgsOCBAQAogIiBPcHRpb246CiAiICAgbGV4X3VzZXNfY3BwIDogaWYgdGhpcyB2YXJpYWJsZSBleGlzdHMsIHRoZW4gQysrIGlzIGxvYWRlZCByYXRoZXIgdGhhbiBDCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9saGFza2VsbC52aW0gYi9ydW50aW1lL3N5bnRheC9saGFza2VsbC52aW0KaW5kZXggMDc3NTQ5YS4uNzgyMDc4MSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbGhhc2tlbGwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2xoYXNrZWxsLnZpbQpAQCAtMzYsMTEgKzM2LDggQEAKICIKIAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtODQsMTUgKzgxLDEwIEBACiAKICIgSWYgdXNlciB3YW50cyB1cyB0byBoaWdobGlnaHQgVGVYIHN5bnRheCBvciBndWVzcyB0aGlua3MgaXQncyBUZVgsIHJlYWQgaXQuCiBpZiBiOmxoc19tYXJrdXAgPT0gInRleCIKLSAgICBpZiB2ZXJzaW9uIDwgNjAwCi0Jc291cmNlIDxzZmlsZT46cDpoL3RleC52aW0KLQlzZXQgaXNrKz1fCi0gICAgZWxzZQotCXJ1bnRpbWUhIHN5bnRheC90ZXgudmltCi0JdW5sZXQgYjpjdXJyZW50X3N5bnRheAotCSIgVGV4LnZpbSByZW1vdmVzICJfIiBmcm9tICdpc2tleXdvcmQnLCBidXQgd2UgbmVlZCBpdCBmb3IgSGFza2VsbC4KLQlzZXRsb2NhbCBpc2srPV8KLSAgICBlbmRpZgorICAgIHJ1bnRpbWUhIHN5bnRheC90ZXgudmltCisgICAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAorICAgICIgVGV4LnZpbSByZW1vdmVzICJfIiBmcm9tICdpc2tleXdvcmQnLCBidXQgd2UgbmVlZCBpdCBmb3IgSGFza2VsbC4KKyAgICBzZXRsb2NhbCBpc2srPV8KICAgICBzeW50YXggY2x1c3RlciBsaHNUZVhDb250YWluZXIgY29udGFpbnM9dGV4Lipab25lLHRleEFic3RyYWN0CiBlbHNlCiAgICAgc3ludGF4IGNsdXN0ZXIgbGhzVGVYQ29udGFpbmVyIGNvbnRhaW5zPS4qCkBAIC0xMDAsMTEgKzkyLDcgQEAKIAogIiBMaXRlcmF0ZSBIYXNrZWxsIGlzIEhhc2tlbGwgaW4gYmV0d2VlbiB0ZXh0LCBzbyBhdCBsZWFzdCByZWFkIEhhc2tlbGwKICIgaGlnaGxpZ2h0aW5nCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3ludGF4IGluY2x1ZGUgQGhhc2tlbGxUb3AgPHNmaWxlPjpwOmgvaGFza2VsbC52aW0KLWVsc2UKLSAgICBzeW50YXggaW5jbHVkZSBAaGFza2VsbFRvcCBzeW50YXgvaGFza2VsbC52aW0KLWVuZGlmCitzeW50YXggaW5jbHVkZSBAaGFza2VsbFRvcCBzeW50YXgvaGFza2VsbC52aW0KIAogc3ludGF4IHJlZ2lvbiBsaHNIYXNrZWxsQmlyZFRyYWNrIHN0YXJ0PSJePiIgZW5kPSJcJSheW14+XVwpXEA9IiBjb250YWlucz1AaGFza2VsbFRvcCxsaHNCaXJkVHJhY2sgY29udGFpbmVkaW49QGxoc1RlWENvbnRhaW5lcgogc3ludGF4IHJlZ2lvbiBsaHNIYXNrZWxsQmVnaW5FbmRCbG9jayBzdGFydD0iXlxcYmVnaW57Y29kZX1ccyokIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJcJSheXFxlbmR7Y29kZX0uKiRcKVxAPSIgY29udGFpbnM9QGhhc2tlbGxUb3AsYmVnaW5Db2RlQmVnaW4gY29udGFpbmVkaW49QGxoc1RlWENvbnRhaW5lcgpAQCAtMTE1LDIzICsxMDMsMTUgQEAKIHN5bnRheCByZWdpb24gYmVnaW5Db2RlQ29kZSAgbWF0Y2hncm91cD10ZXhEZWxpbWl0ZXIgc3RhcnQ9InsiIGVuZD0ifSIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdGV4X3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3RleF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGxoc0JpcmRUcmFjayBDb21tZW50CitIaUxpbmsgbGhzQmlyZFRyYWNrIENvbW1lbnQKIAotICBIaUxpbmsgYmVnaW5Db2RlQmVnaW4JICAgICAgdGV4Q21kTmFtZQotICBIaUxpbmsgYmVnaW5Db2RlQ29kZQkgICAgICB0ZXhTZWN0aW9uCitIaUxpbmsgYmVnaW5Db2RlQmVnaW4JICAgICAgdGV4Q21kTmFtZQorSGlMaW5rIGJlZ2luQ29kZUNvZGUJICAgICAgdGV4U2VjdGlvbgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogIiBSZXN0b3JlIGN1cnNvciB0byBvcmlnaW5hbCBwb3NpdGlvbiwgYXMgaXQgbWF5IGhhdmUgYmVlbiBkaXN0dXJiZWQKICIgYnkgdGhlIHNlYXJjaGVzIGluIG91ciBndWVzc2luZyBjb2RlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9saWZlbGluZXMudmltIGIvcnVudGltZS9zeW50YXgvbGlmZWxpbmVzLnZpbQppbmRleCBmOGJlYTAxLi4wNDFjNTA5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9saWZlbGluZXMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2xpZmVsaW5lcy52aW0KQEAgLTExLDkgKzExLDggQEAKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTExMCw5ICsxMDksNyBAQAogc3luIG1hdGNoCWxpZmVsaW5lc051bWJlcgkiLVw9XC5cZFwrXD4iCiAKICIgZm9sZGluZyB1c2luZyB7fQotaWYgdmVyc2lvbiA+PSA2MDAKLQlzeW4gcmVnaW9uIGxpZmVsaW5lc0ZvbGRCbG9jawlzdGFydD0ieyIgZW5kPSJ9IiB0cmFuc3BhcmVudCBmb2xkCi1lbmRpZgorc3luIHJlZ2lvbiBsaWZlbGluZXNGb2xkQmxvY2sJc3RhcnQ9InsiIGVuZD0ifSIgdHJhbnNwYXJlbnQgZm9sZAogCiAiY2F0Y2ggZXJyb3JzIGNhdXNlZCBieSB3cm9uZyBwYXJlbnRoZXNpcwogImFkYXB0ZWQgZnJvbSBvcmlnaW5hbCBjLnZpbSB3cml0dGVuIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xMjMsNDQgKzEyMCwzNiBAQAogc3luIG1hdGNoCWxpZmVsaW5lc0VyckluUGFyZW4JY29udGFpbmVkICJbe31dIgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2xpZmVsaW5lc19zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9saWZlbGluZXNfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBsaWZlbGluZXNDb25kaXRpb25hbAlDb25kaXRpb25hbAotICBIaUxpbmsgbGlmZWxpbmVzQXJpdGhtCU9wZXJhdG9yCi0gIEhpTGluayBsaWZlbGluZXNMb2dpY2FsCUNvbmRpdGlvbmFsCi0gIEhpTGluayBsaWZlbGluZXNJbmNsdWRlCUluY2x1ZGUKLSAgSGlMaW5rIGxpZmVsaW5lc0NvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgbGlmZWxpbmVzU3RhdGVtZW50CVN0YXRlbWVudAotICBIaUxpbmsgbGlmZWxpbmVzVXNlcgkJU3RhdGVtZW50Ci0gIEhpTGluayBsaWZlbGluZXNGdW5jdAkJU3RhdGVtZW50Ci0gIEhpTGluayBsaWZlbGluZXNUYWJsZQkJU3RhdGVtZW50Ci0gIEhpTGluayBsaWZlbGluZXNHZWRjb20JU3RhdGVtZW50Ci0gIEhpTGluayBsaWZlbGluZXNMaXN0CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGxpZmVsaW5lc1JlcGVhdAlSZXBlYXQKLSAgSGlMaW5rIGxpZmVsaW5lc0ZhbQkJU3RhdGVtZW50Ci0gIEhpTGluayBsaWZlbGluZXNJbmRpCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGxpZmVsaW5lc1Byb2MJCVN0YXRlbWVudAotICBIaUxpbmsgbGlmZWxpbmVzRGVmCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGxpZmVsaW5lc1N0cmluZwlTdHJpbmcKLSAgSGlMaW5rIGxpZmVsaW5lc1NwZWNpYWwJU3BlY2lhbAotICBIaUxpbmsgbGlmZWxpbmVzTnVtYmVyCU51bWJlcgotICBIaUxpbmsgbGlmZWxpbmVzUGFyZW5FcnJvcglFcnJvcgotICBIaUxpbmsgbGlmZWxpbmVzRXJySW5QYXJlbglFcnJvcgotICBIaUxpbmsgbGlmZWxpbmVzRXJyb3IJCUVycm9yCi0gIEhpTGluayBsaWZlbGluZXNUb2RvCQlUb2RvCi0gIEhpTGluayBsaWZlbGluZXNEZWNsCQlQcmVQcm9jCitIaUxpbmsgbGlmZWxpbmVzQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayBsaWZlbGluZXNBcml0aG0JT3BlcmF0b3IKK0hpTGluayBsaWZlbGluZXNMb2dpY2FsCUNvbmRpdGlvbmFsCitIaUxpbmsgbGlmZWxpbmVzSW5jbHVkZQlJbmNsdWRlCitIaUxpbmsgbGlmZWxpbmVzQ29tbWVudAlDb21tZW50CitIaUxpbmsgbGlmZWxpbmVzU3RhdGVtZW50CVN0YXRlbWVudAorSGlMaW5rIGxpZmVsaW5lc1VzZXIJCVN0YXRlbWVudAorSGlMaW5rIGxpZmVsaW5lc0Z1bmN0CQlTdGF0ZW1lbnQKK0hpTGluayBsaWZlbGluZXNUYWJsZQkJU3RhdGVtZW50CitIaUxpbmsgbGlmZWxpbmVzR2VkY29tCVN0YXRlbWVudAorSGlMaW5rIGxpZmVsaW5lc0xpc3QJCVN0YXRlbWVudAorSGlMaW5rIGxpZmVsaW5lc1JlcGVhdAlSZXBlYXQKK0hpTGluayBsaWZlbGluZXNGYW0JCVN0YXRlbWVudAorSGlMaW5rIGxpZmVsaW5lc0luZGkJCVN0YXRlbWVudAorSGlMaW5rIGxpZmVsaW5lc1Byb2MJCVN0YXRlbWVudAorSGlMaW5rIGxpZmVsaW5lc0RlZgkJU3RhdGVtZW50CitIaUxpbmsgbGlmZWxpbmVzU3RyaW5nCVN0cmluZworSGlMaW5rIGxpZmVsaW5lc1NwZWNpYWwJU3BlY2lhbAorSGlMaW5rIGxpZmVsaW5lc051bWJlcglOdW1iZXIKK0hpTGluayBsaWZlbGluZXNQYXJlbkVycm9yCUVycm9yCitIaUxpbmsgbGlmZWxpbmVzRXJySW5QYXJlbglFcnJvcgorSGlMaW5rIGxpZmVsaW5lc0Vycm9yCQlFcnJvcgorSGlMaW5rIGxpZmVsaW5lc1RvZG8JCVRvZG8KK0hpTGluayBsaWZlbGluZXNEZWNsCQlQcmVQcm9jCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsaWZlbGluZXMiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2xpbG8udmltIGIvcnVudGltZS9zeW50YXgvbGlsby52aW0KaW5kZXggM2U5NDU5Mi4uZjU4ZTM0MCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbGlsby52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbGlsby52aW0KQEAgLTUsMjEgKzUsMTIgQEAKICIgTGFzdCBDaGFuZ2U6IDIwMTAtMDItMDMKIAogIiBTZXR1cAotaWYgdmVyc2lvbiA+PSA2MDAKLSAgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKLSAgICBmaW5pc2gKLSAgZW5kaWYKLWVsc2UKLSAgc3ludGF4IGNsZWFyCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCiBlbmRpZgogCi1pZiB2ZXJzaW9uID49IDYwMAotICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXRsb2NhbCBpc2tleXdvcmQ9PGFyZ3M+Ci1lbHNlCi0gIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldCBpc2tleXdvcmQ9PGFyZ3M+Ci1lbmRpZgotU2V0SXNrIEAsNDgtNTcsLiwtLF8KLWRlbGNvbW1hbmQgU2V0SXNrCitzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NywuLC0sXwogCiBzeW4gY2FzZSBpZ25vcmUKIApAQCAtMTI4LDY1ICsxMTksNTggQEAKIHN5biBtYXRjaCBsaWxvQW55dGhpbmdDb21tZW50ICIjLiokIiBjb250YWluZWQgbmV4dGdyb3VwPWxpbG9Bbnl0aGluZyxsaWxvQW55dGhpbmdDb21tZW50LGxpbG9FcnJvciBza2lwd2hpdGUgc2tpcGVtcHR5CiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZwotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2xpbG9fc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbGlsb19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGxpbG9FcVBhdGggICAgICAgICAgICAgbGlsb0VxdWFscwotICBIaUxpbmsgbGlsb0VxV29yZCAgICAgICAgICAgICBsaWxvRXF1YWxzCi0gIEhpTGluayBsaWxvRXFWZ2EgICAgICAgICAgICAgIGxpbG9FcXVhbHMKLSAgSGlMaW5rIGxpbG9FcURlY051bWJlciAgICAgICAgbGlsb0VxdWFscwotICBIaUxpbmsgbGlsb0VxSGV4TnVtYmVyICAgICAgICBsaWxvRXF1YWxzCi0gIEhpTGluayBsaWxvRXFOdW1iZXIgICAgICAgICAgIGxpbG9FcXVhbHMKLSAgSGlMaW5rIGxpbG9FcVN0cmluZyAgICAgICAgICAgbGlsb0VxdWFscwotICBIaUxpbmsgbGlsb0VxQW55dGhpbmcgICAgICAgICBsaWxvRXF1YWxzCi0gIEhpTGluayBsaWxvRXF1YWxzICAgICAgICAgICAgIFNwZWNpYWwKK0hpTGluayBsaWxvRXFQYXRoICAgICAgICAgICAgIGxpbG9FcXVhbHMKK0hpTGluayBsaWxvRXFXb3JkICAgICAgICAgICAgIGxpbG9FcXVhbHMKK0hpTGluayBsaWxvRXFWZ2EgICAgICAgICAgICAgIGxpbG9FcXVhbHMKK0hpTGluayBsaWxvRXFEZWNOdW1iZXIgICAgICAgIGxpbG9FcXVhbHMKK0hpTGluayBsaWxvRXFIZXhOdW1iZXIgICAgICAgIGxpbG9FcXVhbHMKK0hpTGluayBsaWxvRXFOdW1iZXIgICAgICAgICAgIGxpbG9FcXVhbHMKK0hpTGluayBsaWxvRXFTdHJpbmcgICAgICAgICAgIGxpbG9FcXVhbHMKK0hpTGluayBsaWxvRXFBbnl0aGluZyAgICAgICAgIGxpbG9FcXVhbHMKK0hpTGluayBsaWxvRXF1YWxzICAgICAgICAgICAgIFNwZWNpYWwKIAotICBIaUxpbmsgbGlsb0Vycm9yICAgICAgICAgICAgICBFcnJvcgorSGlMaW5rIGxpbG9FcnJvciAgICAgICAgICAgICAgRXJyb3IKIAotICBIaUxpbmsgbGlsb0VxUGF0aENvbW1lbnQgICAgICBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb0VxVmdhQ29tbWVudCAgICAgICBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb0VxRGVjTnVtYmVyQ29tbWVudCBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb0VxSGV4TnVtYmVyQ29tbWVudCBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb0VxU3RyaW5nQ29tbWVudCAgICBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb0VxQW55dGhpbmdDb21tZW50ICBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb1BhdGhDb21tZW50ICAgICAgICBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb1ZnYUNvbW1lbnQgICAgICAgICBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb0RlY051bWJlckNvbW1lbnQgICBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb0hleE51bWJlckNvbW1lbnQgICBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb051bWJlckNvbW1lbnQgICAgICBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb1N0cmluZ0NvbW1lbnQgICAgICBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb0FueXRoaW5nQ29tbWVudCAgICBsaWxvQ29tbWVudAotICBIaUxpbmsgbGlsb0NvbW1lbnQgICAgICAgICAgICBDb21tZW50CitIaUxpbmsgbGlsb0VxUGF0aENvbW1lbnQgICAgICBsaWxvQ29tbWVudAorSGlMaW5rIGxpbG9FcVZnYUNvbW1lbnQgICAgICAgbGlsb0NvbW1lbnQKK0hpTGluayBsaWxvRXFEZWNOdW1iZXJDb21tZW50IGxpbG9Db21tZW50CitIaUxpbmsgbGlsb0VxSGV4TnVtYmVyQ29tbWVudCBsaWxvQ29tbWVudAorSGlMaW5rIGxpbG9FcVN0cmluZ0NvbW1lbnQgICAgbGlsb0NvbW1lbnQKK0hpTGluayBsaWxvRXFBbnl0aGluZ0NvbW1lbnQgIGxpbG9Db21tZW50CitIaUxpbmsgbGlsb1BhdGhDb21tZW50ICAgICAgICBsaWxvQ29tbWVudAorSGlMaW5rIGxpbG9WZ2FDb21tZW50ICAgICAgICAgbGlsb0NvbW1lbnQKK0hpTGluayBsaWxvRGVjTnVtYmVyQ29tbWVudCAgIGxpbG9Db21tZW50CitIaUxpbmsgbGlsb0hleE51bWJlckNvbW1lbnQgICBsaWxvQ29tbWVudAorSGlMaW5rIGxpbG9OdW1iZXJDb21tZW50ICAgICAgbGlsb0NvbW1lbnQKK0hpTGluayBsaWxvU3RyaW5nQ29tbWVudCAgICAgIGxpbG9Db21tZW50CitIaUxpbmsgbGlsb0FueXRoaW5nQ29tbWVudCAgICBsaWxvQ29tbWVudAorSGlMaW5rIGxpbG9Db21tZW50ICAgICAgICAgICAgQ29tbWVudAogCi0gIEhpTGluayBsaWxvRGlza09wdCAgICAgICAgICAgIGxpbG9PcHRpb24KLSAgSGlMaW5rIGxpbG9LZXJuZWxPcHQgICAgICAgICAgbGlsb09wdGlvbgotICBIaUxpbmsgbGlsb0ltYWdlT3B0ICAgICAgICAgICBsaWxvT3B0aW9uCi0gIEhpTGluayBsaWxvT3B0aW9uICAgICAgICAgICAgIEtleXdvcmQKK0hpTGluayBsaWxvRGlza09wdCAgICAgICAgICAgIGxpbG9PcHRpb24KK0hpTGluayBsaWxvS2VybmVsT3B0ICAgICAgICAgIGxpbG9PcHRpb24KK0hpTGluayBsaWxvSW1hZ2VPcHQgICAgICAgICAgIGxpbG9PcHRpb24KK0hpTGluayBsaWxvT3B0aW9uICAgICAgICAgICAgIEtleXdvcmQKIAotICBIaUxpbmsgbGlsb0RlY051bWJlciAgICAgICAgICBsaWxvTnVtYmVyCi0gIEhpTGluayBsaWxvSGV4TnVtYmVyICAgICAgICAgIGxpbG9OdW1iZXIKLSAgSGlMaW5rIGxpbG9EZWNOdW1iZXJQICAgICAgICAgbGlsb051bWJlcgotICBIaUxpbmsgbGlsb051bWJlciAgICAgICAgICAgICBOdW1iZXIKLSAgSGlMaW5rIGxpbG9TdHJpbmcgICAgICAgICAgICAgU3RyaW5nCi0gIEhpTGluayBsaWxvUGF0aCAgICAgICAgICAgICAgIENvbnN0YW50CitIaUxpbmsgbGlsb0RlY051bWJlciAgICAgICAgICBsaWxvTnVtYmVyCitIaUxpbmsgbGlsb0hleE51bWJlciAgICAgICAgICBsaWxvTnVtYmVyCitIaUxpbmsgbGlsb0RlY051bWJlclAgICAgICAgICBsaWxvTnVtYmVyCitIaUxpbmsgbGlsb051bWJlciAgICAgICAgICAgICBOdW1iZXIKK0hpTGluayBsaWxvU3RyaW5nICAgICAgICAgICAgIFN0cmluZworSGlMaW5rIGxpbG9QYXRoICAgICAgICAgICAgICAgQ29uc3RhbnQKIAotICBIaUxpbmsgbGlsb1NwZWNpYWwgICAgICAgICAgICBTcGVjaWFsCi0gIEhpTGluayBsaWxvTGFiZWwgICAgICAgICAgICAgIFRpdGxlCi0gIEhpTGluayBsaWxvRGVjTnVtYmVyTGlzdCAgICAgIFNwZWNpYWwKLSAgSGlMaW5rIGxpbG9EZWNOdW1iZXJQTGlzdCAgICAgU3BlY2lhbAotICBIaUxpbmsgbGlsb0FueXRoaW5nICAgICAgICAgICBOb3JtYWwKLSAgSGlMaW5rIGxpbG9FbnZpcm9uICAgICAgICAgICAgSWRlbnRpZmllcgotICBIaUxpbmsgbGlsb1ZnYUtleXdvcmQgICAgICAgICBJZGVudGlmaWVyCi0gIEhpTGluayBsaWxvSW1hZ2UgICAgICAgICAgICAgIFR5cGUKLSAgSGlMaW5rIGxpbG9DaFJ1bGVzICAgICAgICAgICAgUHJlcHJvYwotICBIaUxpbmsgbGlsb0Rpc2sgICAgICAgICAgICAgICBQcmVwcm9jCitIaUxpbmsgbGlsb1NwZWNpYWwgICAgICAgICAgICBTcGVjaWFsCitIaUxpbmsgbGlsb0xhYmVsICAgICAgICAgICAgICBUaXRsZQorSGlMaW5rIGxpbG9EZWNOdW1iZXJMaXN0ICAgICAgU3BlY2lhbAorSGlMaW5rIGxpbG9EZWNOdW1iZXJQTGlzdCAgICAgU3BlY2lhbAorSGlMaW5rIGxpbG9Bbnl0aGluZyAgICAgICAgICAgTm9ybWFsCitIaUxpbmsgbGlsb0Vudmlyb24gICAgICAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgbGlsb1ZnYUtleXdvcmQgICAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgbGlsb0ltYWdlICAgICAgICAgICAgICBUeXBlCitIaUxpbmsgbGlsb0NoUnVsZXMgICAgICAgICAgICBQcmVwcm9jCitIaUxpbmsgbGlsb0Rpc2sgICAgICAgICAgICAgICBQcmVwcm9jCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsaWxvIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbGlzcC52aW0gYi9ydW50aW1lL3N5bnRheC9saXNwLnZpbQppbmRleCBhNDAyNDUyLi5mNTU1MDcwIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9saXNwLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9saXNwLnZpbQpAQCAtNTYxLDYxICs1NjEsNTggQEAKIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICIgRGVmaW5lIEhpZ2hsaWdodGluZzoge3t7MQotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOAotICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBsaXNwQ29tbWVudFJlZ2lvbglsaXNwQ29tbWVudAotICBIaUxpbmsgbGlzcEF0b21ObWJyCQlsaXNwTnVtYmVyCi0gIEhpTGluayBsaXNwQXRvbU1hcmsJCWxpc3BNYXJrCi0gIEhpTGluayBsaXNwSW5TdHJpbmdTdHJpbmcJbGlzcFN0cmluZworSGlMaW5rIGxpc3BDb21tZW50UmVnaW9uCWxpc3BDb21tZW50CitIaUxpbmsgbGlzcEF0b21ObWJyCQlsaXNwTnVtYmVyCitIaUxpbmsgbGlzcEF0b21NYXJrCQlsaXNwTWFyaworSGlMaW5rIGxpc3BJblN0cmluZ1N0cmluZwlsaXNwU3RyaW5nCiAKLSAgSGlMaW5rIGxpc3BBdG9tCQlJZGVudGlmaWVyCi0gIEhpTGluayBsaXNwQXRvbUJhclN5bWJvbAlTcGVjaWFsCi0gIEhpTGluayBsaXNwQmFyU3ltYm9sCQlTcGVjaWFsCi0gIEhpTGluayBsaXNwQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgbGlzcENvbmNhdAkJU3RhdGVtZW50Ci0gIEhpTGluayBsaXNwRGVjbAkJU3RhdGVtZW50Ci0gIEhpTGluayBsaXNwRnVuYwkJU3RhdGVtZW50Ci0gIEhpTGluayBsaXNwS2V5CQlUeXBlCi0gIEhpTGluayBsaXNwTWFyawkJRGVsaW1pdGVyCi0gIEhpTGluayBsaXNwTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIGxpc3BQYXJlbkVycm9yCQlFcnJvcgotICBIaUxpbmsgbGlzcEVzY2FwZVNwZWNpYWwJVHlwZQotICBIaUxpbmsgbGlzcFN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBsaXNwVG9kbwkJVG9kbwotICBIaUxpbmsgbGlzcFZhcgkJU3RhdGVtZW50CitIaUxpbmsgbGlzcEF0b20JCUlkZW50aWZpZXIKK0hpTGluayBsaXNwQXRvbUJhclN5bWJvbAlTcGVjaWFsCitIaUxpbmsgbGlzcEJhclN5bWJvbAkJU3BlY2lhbAorSGlMaW5rIGxpc3BDb21tZW50CQlDb21tZW50CitIaUxpbmsgbGlzcENvbmNhdAkJU3RhdGVtZW50CitIaUxpbmsgbGlzcERlY2wJCVN0YXRlbWVudAorSGlMaW5rIGxpc3BGdW5jCQlTdGF0ZW1lbnQKK0hpTGluayBsaXNwS2V5CQlUeXBlCitIaUxpbmsgbGlzcE1hcmsJCURlbGltaXRlcgorSGlMaW5rIGxpc3BOdW1iZXIJCU51bWJlcgorSGlMaW5rIGxpc3BQYXJlbkVycm9yCQlFcnJvcgorSGlMaW5rIGxpc3BFc2NhcGVTcGVjaWFsCVR5cGUKK0hpTGluayBsaXNwU3RyaW5nCQlTdHJpbmcKK0hpTGluayBsaXNwVG9kbwkJVG9kbworSGlMaW5rIGxpc3BWYXIJCVN0YXRlbWVudAogCi0gIGlmIGV4aXN0cygiZzpsaXNwX3JhaW5ib3ciKSAmJiBnOmxpc3BfcmFpbmJvdyAhPSAwCi0gICBpZiAmYmcgPT0gImRhcmsiCi0gICAgaGkgZGVmIGhsTGV2ZWwwIGN0ZXJtZmc9cmVkICAgICAgICAgZ3VpZmc9cmVkMQotICAgIGhpIGRlZiBobExldmVsMSBjdGVybWZnPXllbGxvdyAgICAgIGd1aWZnPW9yYW5nZTEKLSAgICBoaSBkZWYgaGxMZXZlbDIgY3Rlcm1mZz1ncmVlbiAgICAgICBndWlmZz15ZWxsb3cxCi0gICAgaGkgZGVmIGhsTGV2ZWwzIGN0ZXJtZmc9Y3lhbiAgICAgICAgZ3VpZmc9Z3JlZW55ZWxsb3cKLSAgICBoaSBkZWYgaGxMZXZlbDQgY3Rlcm1mZz1tYWdlbnRhICAgICBndWlmZz1ncmVlbjEKLSAgICBoaSBkZWYgaGxMZXZlbDUgY3Rlcm1mZz1yZWQgICAgICAgICBndWlmZz1zcHJpbmdncmVlbjEKLSAgICBoaSBkZWYgaGxMZXZlbDYgY3Rlcm1mZz15ZWxsb3cgICAgICBndWlmZz1jeWFuMQotICAgIGhpIGRlZiBobExldmVsNyBjdGVybWZnPWdyZWVuICAgICAgIGd1aWZnPXNsYXRlYmx1ZTEKLSAgICBoaSBkZWYgaGxMZXZlbDggY3Rlcm1mZz1jeWFuICAgICAgICBndWlmZz1tYWdlbnRhMQotICAgIGhpIGRlZiBobExldmVsOSBjdGVybWZnPW1hZ2VudGEgICAgIGd1aWZnPXB1cnBsZTEKLSAgIGVsc2UKLSAgICBoaSBkZWYgaGxMZXZlbDAgY3Rlcm1mZz1yZWQgICAgICAgICBndWlmZz1yZWQzCi0gICAgaGkgZGVmIGhsTGV2ZWwxIGN0ZXJtZmc9ZGFya3llbGxvdyAgZ3VpZmc9b3JhbmdlcmVkMwotICAgIGhpIGRlZiBobExldmVsMiBjdGVybWZnPWRhcmtncmVlbiAgIGd1aWZnPW9yYW5nZTIKLSAgICBoaSBkZWYgaGxMZXZlbDMgY3Rlcm1mZz1ibHVlICAgICAgICBndWlmZz15ZWxsb3czCi0gICAgaGkgZGVmIGhsTGV2ZWw0IGN0ZXJtZmc9ZGFya21hZ2VudGEgZ3VpZmc9b2xpdmVkcmFiNAotICAgIGhpIGRlZiBobExldmVsNSBjdGVybWZnPXJlZCAgICAgICAgIGd1aWZnPWdyZWVuNAotICAgIGhpIGRlZiBobExldmVsNiBjdGVybWZnPWRhcmt5ZWxsb3cgIGd1aWZnPXBhbGV0dXJxdW9pc2UzCi0gICAgaGkgZGVmIGhsTGV2ZWw3IGN0ZXJtZmc9ZGFya2dyZWVuICAgZ3VpZmc9ZGVlcHNreWJsdWU0Ci0gICAgaGkgZGVmIGhsTGV2ZWw4IGN0ZXJtZmc9Ymx1ZSAgICAgICAgZ3VpZmc9ZGFya3NsYXRlYmx1ZQotICAgIGhpIGRlZiBobExldmVsOSBjdGVybWZnPWRhcmttYWdlbnRhIGd1aWZnPWRhcmt2aW9sZXQKLSAgIGVuZGlmCi0gIGVuZGlmCi0KLSAgZGVsY29tbWFuZCBIaUxpbmsKK2lmIGV4aXN0cygiZzpsaXNwX3JhaW5ib3ciKSAmJiBnOmxpc3BfcmFpbmJvdyAhPSAwCisgaWYgJmJnID09ICJkYXJrIgorICBoaSBkZWYgaGxMZXZlbDAgY3Rlcm1mZz1yZWQgICAgICAgICBndWlmZz1yZWQxCisgIGhpIGRlZiBobExldmVsMSBjdGVybWZnPXllbGxvdyAgICAgIGd1aWZnPW9yYW5nZTEKKyAgaGkgZGVmIGhsTGV2ZWwyIGN0ZXJtZmc9Z3JlZW4gICAgICAgZ3VpZmc9eWVsbG93MQorICBoaSBkZWYgaGxMZXZlbDMgY3Rlcm1mZz1jeWFuICAgICAgICBndWlmZz1ncmVlbnllbGxvdworICBoaSBkZWYgaGxMZXZlbDQgY3Rlcm1mZz1tYWdlbnRhICAgICBndWlmZz1ncmVlbjEKKyAgaGkgZGVmIGhsTGV2ZWw1IGN0ZXJtZmc9cmVkICAgICAgICAgZ3VpZmc9c3ByaW5nZ3JlZW4xCisgIGhpIGRlZiBobExldmVsNiBjdGVybWZnPXllbGxvdyAgICAgIGd1aWZnPWN5YW4xCisgIGhpIGRlZiBobExldmVsNyBjdGVybWZnPWdyZWVuICAgICAgIGd1aWZnPXNsYXRlYmx1ZTEKKyAgaGkgZGVmIGhsTGV2ZWw4IGN0ZXJtZmc9Y3lhbiAgICAgICAgZ3VpZmc9bWFnZW50YTEKKyAgaGkgZGVmIGhsTGV2ZWw5IGN0ZXJtZmc9bWFnZW50YSAgICAgZ3VpZmc9cHVycGxlMQorIGVsc2UKKyAgaGkgZGVmIGhsTGV2ZWwwIGN0ZXJtZmc9cmVkICAgICAgICAgZ3VpZmc9cmVkMworICBoaSBkZWYgaGxMZXZlbDEgY3Rlcm1mZz1kYXJreWVsbG93ICBndWlmZz1vcmFuZ2VyZWQzCisgIGhpIGRlZiBobExldmVsMiBjdGVybWZnPWRhcmtncmVlbiAgIGd1aWZnPW9yYW5nZTIKKyAgaGkgZGVmIGhsTGV2ZWwzIGN0ZXJtZmc9Ymx1ZSAgICAgICAgZ3VpZmc9eWVsbG93MworICBoaSBkZWYgaGxMZXZlbDQgY3Rlcm1mZz1kYXJrbWFnZW50YSBndWlmZz1vbGl2ZWRyYWI0CisgIGhpIGRlZiBobExldmVsNSBjdGVybWZnPXJlZCAgICAgICAgIGd1aWZnPWdyZWVuNAorICBoaSBkZWYgaGxMZXZlbDYgY3Rlcm1mZz1kYXJreWVsbG93ICBndWlmZz1wYWxldHVycXVvaXNlMworICBoaSBkZWYgaGxMZXZlbDcgY3Rlcm1mZz1kYXJrZ3JlZW4gICBndWlmZz1kZWVwc2t5Ymx1ZTQKKyAgaGkgZGVmIGhsTGV2ZWw4IGN0ZXJtZmc9Ymx1ZSAgICAgICAgZ3VpZmc9ZGFya3NsYXRlYmx1ZQorICBoaSBkZWYgaGxMZXZlbDkgY3Rlcm1mZz1kYXJrbWFnZW50YSBndWlmZz1kYXJrdmlvbGV0CisgZW5kaWYKIGVuZGlmCiAKK2RlbGNvbW1hbmQgSGlMaW5rCisKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImxpc3AiCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9saXRlLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xpdGUudmltCmluZGV4IDhhYmM1MWQuLjFhNzZlNmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2xpdGUudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2xpdGUudmltCkBAIC04LDExICs4LDggQEAKICIgT3B0aW9ucwlsaXRlX3NxbF9xdWVyeSA9IDEgZm9yIFNRTCBzeW50YXggaGlnaGxpZ3RoaW5nIGluc2lkZSBzdHJpbmdzCiAiCQlsaXRlX21pbmxpbmVzID0geCAgICAgdG8gc3luYyBhdCBsZWFzdCB4IGxpbmVzIGJhY2t3YXJkcwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTM4LDM5ICsxMzUsMzEgQEAKIGVuZGlmCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2xpdGVfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbGl0ZV9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGxpdGVDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBsaXRlU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIGxpdGVOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgbGl0ZUZsb2F0CQlGbG9hdAotICBIaUxpbmsgbGl0ZUlkZW50aWZpZXIJSWRlbnRpZmllcgotICBIaUxpbmsgbGl0ZUdsb2JhbElkZW50aWZpZXIJSWRlbnRpZmllcgotICBIaUxpbmsgbGl0ZUludFZhcgkJSWRlbnRpZmllcgotICBIaUxpbmsgbGl0ZUZ1bmN0aW9ucwkJRnVuY3Rpb24KLSAgSGlMaW5rIGxpdGVSZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgbGl0ZUNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluayBsaXRlU3RhdGVtZW50CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGxpdGVUeXBlCQlUeXBlCi0gIEhpTGluayBsaXRlSW5jbHVkZQkJSW5jbHVkZQotICBIaUxpbmsgbGl0ZURlZmluZQkJRGVmaW5lCi0gIEhpTGluayBsaXRlU3BlY2lhbENoYXIJU3BlY2lhbENoYXIKLSAgSGlMaW5rIGxpdGVQYXJlbnRFcnJvcglsaXRlRXJyb3IKLSAgSGlMaW5rIGxpdGVFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIGxpdGVUb2RvCQlUb2RvCi0gIEhpTGluayBsaXRlT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayBsaXRlUmVsYXRpb24JCU9wZXJhdG9yCitIaUxpbmsgbGl0ZUNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBsaXRlU3RyaW5nCQlTdHJpbmcKK0hpTGluayBsaXRlTnVtYmVyCQlOdW1iZXIKK0hpTGluayBsaXRlRmxvYXQJCUZsb2F0CitIaUxpbmsgbGl0ZUlkZW50aWZpZXIJSWRlbnRpZmllcgorSGlMaW5rIGxpdGVHbG9iYWxJZGVudGlmaWVyCUlkZW50aWZpZXIKK0hpTGluayBsaXRlSW50VmFyCQlJZGVudGlmaWVyCitIaUxpbmsgbGl0ZUZ1bmN0aW9ucwkJRnVuY3Rpb24KK0hpTGluayBsaXRlUmVwZWF0CQlSZXBlYXQKK0hpTGluayBsaXRlQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayBsaXRlU3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayBsaXRlVHlwZQkJVHlwZQorSGlMaW5rIGxpdGVJbmNsdWRlCQlJbmNsdWRlCitIaUxpbmsgbGl0ZURlZmluZQkJRGVmaW5lCitIaUxpbmsgbGl0ZVNwZWNpYWxDaGFyCVNwZWNpYWxDaGFyCitIaUxpbmsgbGl0ZVBhcmVudEVycm9yCWxpdGVFcnJvcgorSGlMaW5rIGxpdGVFcnJvcgkJRXJyb3IKK0hpTGluayBsaXRlVG9kbwkJVG9kbworSGlMaW5rIGxpdGVPcGVyYXRvcgkJT3BlcmF0b3IKK0hpTGluayBsaXRlUmVsYXRpb24JCU9wZXJhdG9yCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsaXRlIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sb2d0YWxrLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xvZ3RhbGsudmltCmluZGV4IGJlMzRjN2UuLmU0ZGVjZjIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2xvZ3RhbGsudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2xvZ3RhbGsudmltCkBAIC01LDExICs1LDggQEAKICIgTGFzdCBDaGFuZ2U6CUZlYnJ1YXJ5IDQsIDIwMTIKIAogCi0iIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZDoKLQotaWYgdmVyc2lvbiA8IDYwMAotCXN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKIAlmaW5pc2gKIGVuZGlmCiAKQEAgLTM4OSw1OSArMzg2LDQ5IEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2xvZ3RhbGtfc3luX2luaXRzIikKLQlpZiB2ZXJzaW9uIDwgNTA4Ci0JCWxldCBkaWRfbG9ndGFsa19zeW5faW5pdHMgPSAxCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0JZWxzZQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLQllbmRpZgorSGlMaW5rCWxvZ3RhbGtCbG9ja0NvbW1lbnQJQ29tbWVudAorSGlMaW5rCWxvZ3RhbGtMaW5lQ29tbWVudAlDb21tZW50CiAKLQlIaUxpbmsJbG9ndGFsa0Jsb2NrQ29tbWVudAlDb21tZW50Ci0JSGlMaW5rCWxvZ3RhbGtMaW5lQ29tbWVudAlDb21tZW50CitIaUxpbmsJbG9ndGFsa09wZW5FbnRpdHlEaXIJTm9ybWFsCitIaUxpbmsJbG9ndGFsa09wZW5FbnRpdHlEaXJUYWcJUHJlUHJvYwogCi0JSGlMaW5rCWxvZ3RhbGtPcGVuRW50aXR5RGlyCU5vcm1hbAotCUhpTGluawlsb2d0YWxrT3BlbkVudGl0eURpclRhZwlQcmVQcm9jCitIaUxpbmsJbG9ndGFsa0lmQ29udGFpbmVyCVByZVByb2MKK0hpTGluawlsb2d0YWxrSWYJCVByZVByb2MKK0hpTGluawlsb2d0YWxrRWxzZUlmCQlQcmVQcm9jCitIaUxpbmsJbG9ndGFsa0Vsc2UJCVByZVByb2MKIAotCUhpTGluawlsb2d0YWxrSWZDb250YWluZXIJUHJlUHJvYwotCUhpTGluawlsb2d0YWxrSWYJCVByZVByb2MKLQlIaUxpbmsJbG9ndGFsa0Vsc2VJZgkJUHJlUHJvYwotCUhpTGluawlsb2d0YWxrRWxzZQkJUHJlUHJvYworSGlMaW5rCWxvZ3RhbGtFbnRpdHkJCU5vcm1hbAogCi0JSGlMaW5rCWxvZ3RhbGtFbnRpdHkJCU5vcm1hbAorSGlMaW5rCWxvZ3RhbGtFbnRpdHlSZWwJTm9ybWFsCitIaUxpbmsJbG9ndGFsa0VudGl0eVJlbFRhZwlQcmVQcm9jCiAKLQlIaUxpbmsJbG9ndGFsa0VudGl0eVJlbAlOb3JtYWwKLQlIaUxpbmsJbG9ndGFsa0VudGl0eVJlbFRhZwlQcmVQcm9jCitIaUxpbmsJbG9ndGFsa0Nsb3NlRW50aXR5RGlyCVByZVByb2MKIAotCUhpTGluawlsb2d0YWxrQ2xvc2VFbnRpdHlEaXIJUHJlUHJvYworSGlMaW5rCWxvZ3RhbGtEaXIJCU5vcm1hbAorSGlMaW5rCWxvZ3RhbGtEaXJUYWcJCVByZVByb2MKIAotCUhpTGluawlsb2d0YWxrRGlyCQlOb3JtYWwKLQlIaUxpbmsJbG9ndGFsa0RpclRhZwkJUHJlUHJvYworSGlMaW5rCWxvZ3RhbGtBdG9tCQlTdHJpbmcKK0hpTGluawlsb2d0YWxrU3RyaW5nCQlTdHJpbmcKK0hpTGluawlsb2d0YWxrRXNjYXBlU2VxdWVuY2UJU3BlY2lhbENoYXIKIAotCUhpTGluawlsb2d0YWxrQXRvbQkJU3RyaW5nCi0JSGlMaW5rCWxvZ3RhbGtTdHJpbmcJCVN0cmluZwotCUhpTGluawlsb2d0YWxrRXNjYXBlU2VxdWVuY2UJU3BlY2lhbENoYXIKK0hpTGluawlsb2d0YWxrTnVtYmVyCQlOdW1iZXIKIAotCUhpTGluawlsb2d0YWxrTnVtYmVyCQlOdW1iZXIKK0hpTGluawlsb2d0YWxrS2V5d29yZAkJS2V5d29yZAogCi0JSGlMaW5rCWxvZ3RhbGtLZXl3b3JkCQlLZXl3b3JkCitIaUxpbmsJbG9ndGFsa0J1aWx0SW4JCUtleXdvcmQKK0hpTGluawlsb2d0YWxrQnVpbHRJbk1ldGhvZAlLZXl3b3JkCiAKLQlIaUxpbmsJbG9ndGFsa0J1aWx0SW4JCUtleXdvcmQKLQlIaUxpbmsJbG9ndGFsa0J1aWx0SW5NZXRob2QJS2V5d29yZAorSGlMaW5rCWxvZ3RhbGtPcGVyYXRvcgkJT3BlcmF0b3IKIAotCUhpTGluawlsb2d0YWxrT3BlcmF0b3IJCU9wZXJhdG9yCitIaUxpbmsJbG9ndGFsa0V4dENhbGwJCU5vcm1hbAorSGlMaW5rCWxvZ3RhbGtFeHRDYWxsVGFnCU9wZXJhdG9yCiAKLQlIaUxpbmsJbG9ndGFsa0V4dENhbGwJCU5vcm1hbAotCUhpTGluawlsb2d0YWxrRXh0Q2FsbFRhZwlPcGVyYXRvcgorSGlMaW5rCWxvZ3RhbGtWYXJpYWJsZQkJSWRlbnRpZmllcgogCi0JSGlMaW5rCWxvZ3RhbGtWYXJpYWJsZQkJSWRlbnRpZmllcgotCi0JZGVsY29tbWFuZCBIaUxpbmsKLQotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAibG9ndGFsayIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2xvdG9zLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xvdG9zLnZpbQppbmRleCAzY2Q4M2M0Li5lNjE3YmRiIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9sb3Rvcy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbG90b3MudmltCkBAIC03LDExICs3LDggQEAKICIgSSdtIG5vdCBzdXJlIEkgdW5kZXJzdGFuZCBhbGwgb2YgdGhlIHN5bnRheCBoaWdobGlnaHQgbGFuZ3VhZ2UsCiAiIGJ1dCB0aGlzIGZpbGUgc2VlbXMgdG8gZG8gdGhlIGpvYiBmb3Igc3RhbmRhcmQgTE9UT1MuCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC01NiwyNiArNTMsMTggQEAKIHN5biBzeW5jIGxpbmVzPTI1MAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9sb3Rvc19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9sb3Rvc19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGxvdG9zU3RhdGVtZW50CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIGxvdG9zUHJvY2VzcwkJTGFiZWwKLSAgSGlMaW5rIGxvdG9zT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayBsb3Rvc1NvcnQJCUZ1bmN0aW9uCi0gIEhpTGluayBsb3Rvc1R5cGUJCVR5cGUKLSAgSGlMaW5rIGxvdG9zQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgbG90b3NEZWxpbWl0ZXIJCVN0cmluZworSGlMaW5rIGxvdG9zU3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayBsb3Rvc1Byb2Nlc3MJCUxhYmVsCitIaUxpbmsgbG90b3NPcGVyYXRvcgkJT3BlcmF0b3IKK0hpTGluayBsb3Rvc1NvcnQJCUZ1bmN0aW9uCitIaUxpbmsgbG90b3NUeXBlCQlUeXBlCitIaUxpbmsgbG90b3NDb21tZW50CQlDb21tZW50CitIaUxpbmsgbG90b3NEZWxpbWl0ZXIJCVN0cmluZwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAibG90b3MiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2xvdXQudmltIGIvcnVudGltZS9zeW50YXgvbG91dC52aW0KaW5kZXggOWEzNDMyOC4uZTdhMWUxNSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbG91dC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbG91dC52aW0KQEAgLTE2LDExICsxNiw4IEBACiAiIFNlZSB0aGUgZGlzY3Vzc2lvbiBhdCBodHRwOi8vdGhyZWFkLmdtYW5lLm9yZy9nbWFuZS5lZGl0b3JzLnZpbS5kZXZlbC8zMjE1MQogCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0Jc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogCWZpbmlzaAogZW5kaWYKIApAQCAtMzYsMTEgKzMzLDcgQEAKIAogIiBDaGFyYWN0ZXJzIGFsbG93ZWQgaW4ga2V5d29yZHMKICIgSSBkb24ndCBrbm93IGlmIDEyOC0yNTUgYXJlIGFsbG93ZWQgaW4gQU5TLUZPUkhUCi1pZiB2ZXJzaW9uID49IDYwMAotCXNldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LC4sQC1ALF8sMTkyLTI1NQotZWxzZQotCXNldCBpc2tleXdvcmQ9QCw0OC01NywuLEAtQCxfLDE5Mi0yNTUKLWVuZGlmCitzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NywuLEAtQCxfLDE5Mi0yNTUKIAogIiBTb21lIHNwZWNpYWwga2V5d29yZHMKIHN5biBrZXl3b3JkIGxvdXRUb2RvIGNvbnRhaW5lZCBUT0RPIGxvdXQgTG91dCBMT1VUCkBAIC0xMDYsNDQgKzk5LDM2IEBACiBzeW4gcmVnaW9uIGxvdXRIZWFkaW5ncyBtYXRjaGdyb3VwPWxvdXRIZWFkcyBzdGFydD0nQFwoXChUaXRsZVwpXHxcKENhcHRpb25cKVwpXHMqeycgbWF0Y2hncm91cD1sb3V0SGVhZHMgZW5kPSd9JyBjb250YWlucz1BTExCVVQsbG91dEJyYWNlRXJyb3IKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbG91dF9zeW5faW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9sb3V0X3N5bl9pbml0cyA9IDEKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLQllbHNlCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotCWVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCSIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiBDYW4gYmUgb3ZlcnJyaWRlbiBsYXRlci4KLQlIaUxpbmsgbG91dFRvZG8gVG9kbwotCUhpTGluayBsb3V0RGVmaW5lIERlZmluZQotCUhpTGluayBsb3V0RU9tbERlZiBEZWZpbmUKLQlIaUxpbmsgbG91dEZ1bmN0aW9uIEZ1bmN0aW9uCi0JSGlMaW5rIGxvdXRCcmFjZUVycm9yIEVycm9yCi0JSGlMaW5rIGxvdXROVUxMIFNwZWNpYWwKLQlIaUxpbmsgbG91dENvbW1lbnQgQ29tbWVudAotCUhpTGluayBsb3V0U3BlY2lhbCBTcGVjaWFsCi0JSGlMaW5rIGxvdXRTeW1ib2xzIENoYXJhY3RlcgotCUhpTGluayBsb3V0SW5jbHVkZSBJbmNsdWRlCi0JSGlMaW5rIGxvdXRLZXl3b3JkIEtleXdvcmQKLQlIaUxpbmsgbG91dFRhZyBUYWcKLQlIaUxpbmsgbG91dE1hdGggTnVtYmVyCisiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gQ2FuIGJlIG92ZXJycmlkZW4gbGF0ZXIuCitIaUxpbmsgbG91dFRvZG8gVG9kbworSGlMaW5rIGxvdXREZWZpbmUgRGVmaW5lCitIaUxpbmsgbG91dEVPbWxEZWYgRGVmaW5lCitIaUxpbmsgbG91dEZ1bmN0aW9uIEZ1bmN0aW9uCitIaUxpbmsgbG91dEJyYWNlRXJyb3IgRXJyb3IKK0hpTGluayBsb3V0TlVMTCBTcGVjaWFsCitIaUxpbmsgbG91dENvbW1lbnQgQ29tbWVudAorSGlMaW5rIGxvdXRTcGVjaWFsIFNwZWNpYWwKK0hpTGluayBsb3V0U3ltYm9scyBDaGFyYWN0ZXIKK0hpTGluayBsb3V0SW5jbHVkZSBJbmNsdWRlCitIaUxpbmsgbG91dEtleXdvcmQgS2V5d29yZAorSGlMaW5rIGxvdXRUYWcgVGFnCitIaUxpbmsgbG91dE1hdGggTnVtYmVyCiAKLQkiIEhpTGluayBOb3QgcmVhbGx5IG5lZWRlZCBoZXJlLCBidXQgSSB0aGluayBpdCBpcyBtb3JlIGNvbnNpc3RlbnQuCi0JSGlMaW5rIGxvdXRNQnJhY2VzIGxvdXRNYXRoCi0JaGkgbG91dEl0YWxpYyB0ZXJtPWl0YWxpYyBjdGVybT1pdGFsaWMgZ3VpPWl0YWxpYwotCUhpTGluayBsb3V0SUJyYWNlcyBsb3V0SXRhbGljCi0JaGkgbG91dEJvbGQgdGVybT1ib2xkIGN0ZXJtPWJvbGQgZ3VpPWJvbGQKLQlIaUxpbmsgbG91dEJCcmFjZXMgbG91dEJvbGQKLQloaSBsb3V0Qm9sZEl0YWxpYyB0ZXJtPWJvbGQsaXRhbGljIGN0ZXJtPWJvbGQsaXRhbGljIGd1aT1ib2xkLGl0YWxpYwotCUhpTGluayBsb3V0QklCcmFjZXMgbG91dEJvbGRJdGFsaWMKLQloaSBsb3V0SGVhZGluZ3MgdGVybT1ib2xkIGN0ZXJtPWJvbGQgZ3VpZmc9aW5kaWFucmVkCi0JSGlMaW5rIGxvdXRIZWFkcyBsb3V0SGVhZGluZ3MKKyIgSGlMaW5rIE5vdCByZWFsbHkgbmVlZGVkIGhlcmUsIGJ1dCBJIHRoaW5rIGl0IGlzIG1vcmUgY29uc2lzdGVudC4KK0hpTGluayBsb3V0TUJyYWNlcyBsb3V0TWF0aAoraGkgbG91dEl0YWxpYyB0ZXJtPWl0YWxpYyBjdGVybT1pdGFsaWMgZ3VpPWl0YWxpYworSGlMaW5rIGxvdXRJQnJhY2VzIGxvdXRJdGFsaWMKK2hpIGxvdXRCb2xkIHRlcm09Ym9sZCBjdGVybT1ib2xkIGd1aT1ib2xkCitIaUxpbmsgbG91dEJCcmFjZXMgbG91dEJvbGQKK2hpIGxvdXRCb2xkSXRhbGljIHRlcm09Ym9sZCxpdGFsaWMgY3Rlcm09Ym9sZCxpdGFsaWMgZ3VpPWJvbGQsaXRhbGljCitIaUxpbmsgbG91dEJJQnJhY2VzIGxvdXRCb2xkSXRhbGljCitoaSBsb3V0SGVhZGluZ3MgdGVybT1ib2xkIGN0ZXJtPWJvbGQgZ3VpZmc9aW5kaWFucmVkCitIaUxpbmsgbG91dEhlYWRzIGxvdXRIZWFkaW5ncwogCi0JZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsb3V0IgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9scGMudmltIGIvcnVudGltZS9zeW50YXgvbHBjLnZpbQppbmRleCBlOTQ4ZjNkLi40NWFiYTkyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9scGMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2xwYy52aW0KQEAgLTksMTEgKzksOCBAQAogCiAiIE5vZHVsZTogVGhpcyBpcyB0aGUgc3RhcnQgbm9kdWxlLiB7e3sxCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0zNjAsOTQgKzM1Nyw4NiBAQAogIiBOb2R1bGU6IEhpZ2hsaWdodCBsaW5rcyB7e3sxCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2xwY19zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9scGNfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBscGNNb2RpZmllcgkJbHBjU3RvcmFnZUNsYXNzCitIaUxpbmsgbHBjTW9kaWZpZXIJCWxwY1N0b3JhZ2VDbGFzcwogCi0gIEhpTGluayBscGNRdW90ZWRGbXQJCWxwY0Zvcm1hdAotICBIaUxpbmsgbHBjRm9ybWF0CQlscGNTcGVjaWFsCi0gIEhpTGluayBscGNDcHBTdHJpbmcJCWxwY1N0cmluZwkiIENwcCBtZWFucwotCQkJCQkJIiBDIFByZS1Qcm9jZXNzb3IKLSAgSGlMaW5rIGxwY0NvbW1lbnRMCQlscGNDb21tZW50Ci0gIEhpTGluayBscGNDb21tZW50U3RhcnQJbHBjQ29tbWVudAotICBIaUxpbmsgbHBjVXNlckxhYmVsCQlscGNMYWJlbAotICBIaUxpbmsgbHBjU3BlY2lhbENoYXJhY3RlcglscGNTcGVjaWFsCi0gIEhpTGluayBscGNPY3RhbAkJbHBjUHJlUHJvYwotICBIaUxpbmsgbHBjT2N0YWxaZXJvCQlscGNTcGVjaWFsICAiIExQQyB3aWxsIHRyZWF0IG9jdGFsIG51bWJlcnMKLQkJCQkJICAgICIgYXMgZGVjaW1hbHMsIHByb2dyYW1tZXJzIHNob3VsZAotCQkJCQkgICAgIiBiZSBhd2FyZSBvZiB0aGF0LgotICBIaUxpbmsgbHBjRWZ1bkVycm9yCQlscGNFcnJvcgotICBIaUxpbmsgbHBjS2V5d2RFcnJvcgkJbHBjRXJyb3IKLSAgSGlMaW5rIGxwY09jdGFsRXJyb3IJCWxwY0Vycm9yCi0gIEhpTGluayBscGNQYXJlbkVycm9yCQlscGNFcnJvcgotICBIaUxpbmsgbHBjRXJySW5QYXJlbgkJbHBjRXJyb3IKLSAgSGlMaW5rIGxwY0VyckluQnJhY2tldAlscGNFcnJvcgotICBIaUxpbmsgbHBjQ29tbWVudEVycm9yCWxwY0Vycm9yCi0gIEhpTGluayBscGNDb21tZW50U3RhcnRFcnJvcglscGNFcnJvcgotICBIaUxpbmsgbHBjU3BhY2VFcnJvcgkJbHBjRXJyb3IKLSAgSGlMaW5rIGxwY1NwZWNpYWxFcnJvcglscGNFcnJvcgotICBIaUxpbmsgbHBjRXJyRnVuYwkJbHBjRXJyb3IKK0hpTGluayBscGNRdW90ZWRGbXQJCWxwY0Zvcm1hdAorSGlMaW5rIGxwY0Zvcm1hdAkJbHBjU3BlY2lhbAorSGlMaW5rIGxwY0NwcFN0cmluZwkJbHBjU3RyaW5nCSIgQ3BwIG1lYW5zCisJCQkJCSAgICAgICIgQyBQcmUtUHJvY2Vzc29yCitIaUxpbmsgbHBjQ29tbWVudEwJCWxwY0NvbW1lbnQKK0hpTGluayBscGNDb21tZW50U3RhcnQJbHBjQ29tbWVudAorSGlMaW5rIGxwY1VzZXJMYWJlbAkJbHBjTGFiZWwKK0hpTGluayBscGNTcGVjaWFsQ2hhcmFjdGVyCWxwY1NwZWNpYWwKK0hpTGluayBscGNPY3RhbAkJbHBjUHJlUHJvYworSGlMaW5rIGxwY09jdGFsWmVybwkJbHBjU3BlY2lhbCAgIiBMUEMgd2lsbCB0cmVhdCBvY3RhbCBudW1iZXJzCisJCQkJCSAgIiBhcyBkZWNpbWFscywgcHJvZ3JhbW1lcnMgc2hvdWxkCisJCQkJCSAgIiBiZSBhd2FyZSBvZiB0aGF0LgorSGlMaW5rIGxwY0VmdW5FcnJvcgkJbHBjRXJyb3IKK0hpTGluayBscGNLZXl3ZEVycm9yCQlscGNFcnJvcgorSGlMaW5rIGxwY09jdGFsRXJyb3IJCWxwY0Vycm9yCitIaUxpbmsgbHBjUGFyZW5FcnJvcgkJbHBjRXJyb3IKK0hpTGluayBscGNFcnJJblBhcmVuCQlscGNFcnJvcgorSGlMaW5rIGxwY0VyckluQnJhY2tldAlscGNFcnJvcgorSGlMaW5rIGxwY0NvbW1lbnRFcnJvcglscGNFcnJvcgorSGlMaW5rIGxwY0NvbW1lbnRTdGFydEVycm9yCWxwY0Vycm9yCitIaUxpbmsgbHBjU3BhY2VFcnJvcgkJbHBjRXJyb3IKK0hpTGluayBscGNTcGVjaWFsRXJyb3IJbHBjRXJyb3IKK0hpTGluayBscGNFcnJGdW5jCQlscGNFcnJvcgogCi0gIGlmIGV4aXN0cygibHBjX3ByZV92MjIiKQotICAgICAgSGlMaW5rIGxwY09sZEVmdW5zCWxwY19lZnVucwotICAgICAgSGlMaW5rIGxwY05ld0VmdW5zCWxwY0Vycm9yCi0gIGVsc2UKLSAgICAgIEhpTGluayBscGNPbGRFZnVucwlscGNSZXNlcnZlZAotICAgICAgSGlMaW5rIGxwY05ld0VmdW5zCWxwY19lZnVucwotICBlbmRpZgotICBIaUxpbmsgbHBjX2VmdW5zCQlscGNGdW5jdGlvbgotCi0gIEhpTGluayBscGNSZXNlcnZlZAkJbHBjUHJlUHJvYwotICBIaUxpbmsgbHBjVGV4dFN0cmluZwkJbHBjU3RyaW5nICAgIiBUaGlzIHNob3VsZCBiZSBwcmVwcm9jZXNzb3JzLCBidXQKLSAgSGlMaW5rIGxwY0FycmF5U3RyaW5nCQlscGNQcmVQcm9jICAiIGxldCdzIG1ha2Ugc29tZSBkaWZmZXJlbmNlCi0JCQkJCSAgICAiIGJldHdlZW4gdGV4dCBhbmQgYXJyYXkKLQotICBIaUxpbmsgbHBjSW5jbHVkZWQJCWxwY1N0cmluZwotICBIaUxpbmsgbHBjQ29tbWVudFN0cmluZwlscGNTdHJpbmcKLSAgSGlMaW5rIGxwY0NvbW1lbnQyU3RyaW5nCWxwY1N0cmluZwotICBIaUxpbmsgbHBjQ29tbWVudFNraXAJCWxwY0NvbW1lbnQKLSAgSGlMaW5rIGxwY0NvbW1lbnRGdW5jCQlscGNDb21tZW50Ci0KLSAgSGlMaW5rIGxwY0NwcFNraXAJCWxwY0NwcE91dAotICBIaUxpbmsgbHBjQ3BwT3V0MgkJbHBjQ3BwT3V0Ci0gIEhpTGluayBscGNDcHBPdXQJCWxwY0NvbW1lbnQKLQotICAiIFN0YW5kYXJkIHR5cGUgYmVsb3cKLSAgSGlMaW5rIGxwY0FwcGxpZXMJCVNwZWNpYWwKLSAgSGlMaW5rIGxwY0NoYXJhY3RlcgkJQ2hhcmFjdGVyCi0gIEhpTGluayBscGNDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBscGNDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIGxwY0NvbnN0YW50CQlDb25zdGFudAotICBIaUxpbmsgbHBjRGVmaW5lCQlNYWNybwotICBIaUxpbmsgbHBjRXJyb3IJCUVycm9yCi0gIEhpTGluayBscGNGbG9hdAkJRmxvYXQKLSAgSGlMaW5rIGxwY0Z1bmN0aW9uCQlGdW5jdGlvbgotICBIaUxpbmsgbHBjSWRlbnRpZmllcgkJSWRlbnRpZmllcgotICBIaUxpbmsgbHBjSW5jbHVkZQkJSW5jbHVkZQotICBIaUxpbmsgbHBjTGFiZWwJCUxhYmVsCi0gIEhpTGluayBscGNOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgbHBjT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayBscGNQcmVDb25kaXQJCVByZUNvbmRpdAotICBIaUxpbmsgbHBjUHJlUHJvYwkJUHJlUHJvYwotICBIaUxpbmsgbHBjUmVwZWF0CQlSZXBlYXQKLSAgSGlMaW5rIGxwY1N0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBscGNTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCi0gIEhpTGluayBscGNTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgbHBjU3RydWN0dXJlCQlTdHJ1Y3R1cmUKLSAgSGlMaW5rIGxwY1NwZWNpYWwJCUxpbmVOcgotICBIaUxpbmsgbHBjVG9kbwkJVG9kbwotICBIaUxpbmsgbHBjVHlwZQkJVHlwZQotCi0gIGRlbGNvbW1hbmQgSGlMaW5rCitpZiBleGlzdHMoImxwY19wcmVfdjIyIikKKyAgICBIaUxpbmsgbHBjT2xkRWZ1bnMJbHBjX2VmdW5zCisgICAgSGlMaW5rIGxwY05ld0VmdW5zCWxwY0Vycm9yCitlbHNlCisgICAgSGlMaW5rIGxwY09sZEVmdW5zCWxwY1Jlc2VydmVkCisgICAgSGlMaW5rIGxwY05ld0VmdW5zCWxwY19lZnVucwogZW5kaWYKK0hpTGluayBscGNfZWZ1bnMJCWxwY0Z1bmN0aW9uCisKK0hpTGluayBscGNSZXNlcnZlZAkJbHBjUHJlUHJvYworSGlMaW5rIGxwY1RleHRTdHJpbmcJCWxwY1N0cmluZyAgICIgVGhpcyBzaG91bGQgYmUgcHJlcHJvY2Vzc29ycywgYnV0CitIaUxpbmsgbHBjQXJyYXlTdHJpbmcJCWxwY1ByZVByb2MgICIgbGV0J3MgbWFrZSBzb21lIGRpZmZlcmVuY2UKKwkJCQkJICAiIGJldHdlZW4gdGV4dCBhbmQgYXJyYXkKKworSGlMaW5rIGxwY0luY2x1ZGVkCQlscGNTdHJpbmcKK0hpTGluayBscGNDb21tZW50U3RyaW5nCWxwY1N0cmluZworSGlMaW5rIGxwY0NvbW1lbnQyU3RyaW5nCWxwY1N0cmluZworSGlMaW5rIGxwY0NvbW1lbnRTa2lwCQlscGNDb21tZW50CitIaUxpbmsgbHBjQ29tbWVudEZ1bmMJCWxwY0NvbW1lbnQKKworSGlMaW5rIGxwY0NwcFNraXAJCWxwY0NwcE91dAorSGlMaW5rIGxwY0NwcE91dDIJCWxwY0NwcE91dAorSGlMaW5rIGxwY0NwcE91dAkJbHBjQ29tbWVudAorCisiIFN0YW5kYXJkIHR5cGUgYmVsb3cKK0hpTGluayBscGNBcHBsaWVzCQlTcGVjaWFsCitIaUxpbmsgbHBjQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKK0hpTGluayBscGNDb21tZW50CQlDb21tZW50CitIaUxpbmsgbHBjQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCitIaUxpbmsgbHBjQ29uc3RhbnQJCUNvbnN0YW50CitIaUxpbmsgbHBjRGVmaW5lCQlNYWNybworSGlMaW5rIGxwY0Vycm9yCQlFcnJvcgorSGlMaW5rIGxwY0Zsb2F0CQlGbG9hdAorSGlMaW5rIGxwY0Z1bmN0aW9uCQlGdW5jdGlvbgorSGlMaW5rIGxwY0lkZW50aWZpZXIJCUlkZW50aWZpZXIKK0hpTGluayBscGNJbmNsdWRlCQlJbmNsdWRlCitIaUxpbmsgbHBjTGFiZWwJCUxhYmVsCitIaUxpbmsgbHBjTnVtYmVyCQlOdW1iZXIKK0hpTGluayBscGNPcGVyYXRvcgkJT3BlcmF0b3IKK0hpTGluayBscGNQcmVDb25kaXQJCVByZUNvbmRpdAorSGlMaW5rIGxwY1ByZVByb2MJCVByZVByb2MKK0hpTGluayBscGNSZXBlYXQJCVJlcGVhdAorSGlMaW5rIGxwY1N0YXRlbWVudAkJU3RhdGVtZW50CitIaUxpbmsgbHBjU3RvcmFnZUNsYXNzCVN0b3JhZ2VDbGFzcworSGlMaW5rIGxwY1N0cmluZwkJU3RyaW5nCitIaUxpbmsgbHBjU3RydWN0dXJlCQlTdHJ1Y3R1cmUKK0hpTGluayBscGNTcGVjaWFsCQlMaW5lTnIKK0hpTGluayBscGNUb2RvCQlUb2RvCitIaUxpbmsgbHBjVHlwZQkJVHlwZQorCitkZWxjb21tYW5kIEhpTGluawogCiAiIE5vZHVsZTogVGhpcyBpcyB0aGUgZW5kIG5vZHVsZS4ge3t7MQogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9scHJvbG9nLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xwcm9sb2cudmltCmluZGV4IDA4NmMwMGYuLjEyNTY3NTggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2xwcm9sb2cudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2xwcm9sb2cudmltCkBAIC03LDExICs3LDggQEAKICIgICAgICAgICAgICAgICAyMDAxIEFwciAyNiAtIFVwZ3JhZGVkIGZvciBuZXcgVmltIHZlcnNpb24KICIgICAgICAgICAgICAgICAyMDAwIEp1biAgNSAtIEluaXRpYWwgcmVsZWFzZQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtOTYsNDEgKzkzLDMzIEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbHByb2xvZ19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9scHJvbG9nX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgbHByb2xvZ0NvbW1lbnQgICAgIENvbW1lbnQKLSAgSGlMaW5rIGxwcm9sb2dUb2RvCSAgICBUb2RvCitIaUxpbmsgbHByb2xvZ0NvbW1lbnQgICAgIENvbW1lbnQKK0hpTGluayBscHJvbG9nVG9kbwkgICAgVG9kbwogCi0gIEhpTGluayBscHJvbG9nS2V5d29yZCAgICAgS2V5d29yZAotICBIaUxpbmsgbHByb2xvZ1NwZWNpYWwgICAgIFNwZWNpYWwKLSAgSGlMaW5rIGxwcm9sb2dPcGVyYXRvciAgICBPcGVyYXRvcgotICBIaUxpbmsgbHByb2xvZ0lkZW50aWZpZXIgIE5vcm1hbAorSGlMaW5rIGxwcm9sb2dLZXl3b3JkICAgICBLZXl3b3JkCitIaUxpbmsgbHByb2xvZ1NwZWNpYWwgICAgIFNwZWNpYWwKK0hpTGluayBscHJvbG9nT3BlcmF0b3IgICAgT3BlcmF0b3IKK0hpTGluayBscHJvbG9nSWRlbnRpZmllciAgTm9ybWFsCiAKLSAgSGlMaW5rIGxwcm9sb2dJbnRlZ2VyICAgICBOdW1iZXIKLSAgSGlMaW5rIGxwcm9sb2dSZWFsCSAgICBOdW1iZXIKLSAgSGlMaW5rIGxwcm9sb2dTdHJpbmcJICAgIFN0cmluZworSGlMaW5rIGxwcm9sb2dJbnRlZ2VyICAgICBOdW1iZXIKK0hpTGluayBscHJvbG9nUmVhbAkgICAgTnVtYmVyCitIaUxpbmsgbHByb2xvZ1N0cmluZwkgICAgU3RyaW5nCiAKLSAgSGlMaW5rIGxwcm9sb2dDb21tZW50RXJyICBFcnJvcgotICBIaUxpbmsgbHByb2xvZ0JyYWNrRXJyICAgIEVycm9yCi0gIEhpTGluayBscHJvbG9nUGFyZW5FcnIgICAgRXJyb3IKK0hpTGluayBscHJvbG9nQ29tbWVudEVyciAgRXJyb3IKK0hpTGluayBscHJvbG9nQnJhY2tFcnIgICAgRXJyb3IKK0hpTGluayBscHJvbG9nUGFyZW5FcnIgICAgRXJyb3IKIAotICBIaUxpbmsgbHByb2xvZ01vZHVsZU5hbWUgIFNwZWNpYWwKLSAgSGlMaW5rIGxwcm9sb2dUeXBlTmFtZSAgICBJZGVudGlmaWVyCitIaUxpbmsgbHByb2xvZ01vZHVsZU5hbWUgIFNwZWNpYWwKK0hpTGluayBscHJvbG9nVHlwZU5hbWUgICAgSWRlbnRpZmllcgogCi0gIEhpTGluayBscHJvbG9nVmFyaWFibGUgICAgS2V5d29yZAotICBIaUxpbmsgbHByb2xvZ0F0b20JICAgIE5vcm1hbAotICBIaUxpbmsgbHByb2xvZ0NsYXVzZQkgICAgVHlwZQorSGlMaW5rIGxwcm9sb2dWYXJpYWJsZSAgICBLZXl3b3JkCitIaUxpbmsgbHByb2xvZ0F0b20JICAgIE5vcm1hbAorSGlMaW5rIGxwcm9sb2dDbGF1c2UJICAgIFR5cGUKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImxwcm9sb2ciCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2xzY3JpcHQudmltIGIvcnVudGltZS9zeW50YXgvbHNjcmlwdC52aW0KaW5kZXggNjQ4YTBlYi4uMmRiZDMzZCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbHNjcmlwdC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbHNjcmlwdC52aW0KQEAgLTksMTEgKzksOCBAQAogIiBhbmQgYikgSSdtIG5vdCBzbyBjcmFzaCBob3QgYXQgTG90dXNTY3JpcHQgZWl0aGVyLiBJZiB5b3Ugc2VlIGFueSBwcm9ibGVtcwogIiBmZWVsIGZyZWUgdG8gZW1haWwgbWUgd2l0aCB0aGVtLgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTc5LDM0ICsxNzYsMjYgQEAKIHN5biBtYXRjaCAgIGxzY3JpcHRUeXBlU3BlY2lmaWVyCSJbYS16QS1aMC05XVtcJCUmISNdIm1zPXMrMQogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9sc2NyaXB0X3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2xzY3JpcHRfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIGhpIGxzY3JpcHROb3Rlc1R5cGUJdGVybT11bmRlcmxpbmUgY3Rlcm1mZz1EYXJrR3JlZW4gZ3VpZmc9U2VhR3JlZW4gZ3VpPWJvbGQKK2hpIGxzY3JpcHROb3Rlc1R5cGUJdGVybT11bmRlcmxpbmUgY3Rlcm1mZz1EYXJrR3JlZW4gZ3VpZmc9U2VhR3JlZW4gZ3VpPWJvbGQKIAotICBIaUxpbmsgbHNjcmlwdE5vdGVzQ29uc3QJbHNjcmlwdE5vdGVzVHlwZQotICBIaUxpbmsgbHNjcmlwdExpbmVOdW1iZXIJQ29tbWVudAotICBIaUxpbmsgbHNjcmlwdERhdGF0eXBlCVR5cGUKLSAgSGlMaW5rIGxzY3JpcHROdW1iZXIJCU51bWJlcgotICBIaUxpbmsgbHNjcmlwdEVycm9yCQlFcnJvcgotICBIaUxpbmsgbHNjcmlwdFN0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIGxzY3JpcHRTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgbHNjcmlwdENvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIGxzY3JpcHRUb2RvCQlUb2RvCi0gIEhpTGluayBsc2NyaXB0RnVuY3Rpb24JSWRlbnRpZmllcgotICBIaUxpbmsgbHNjcmlwdE1ldGhvZHMJCVByZVByb2MKLSAgSGlMaW5rIGxzY3JpcHRFdmVudHMJCVNwZWNpYWwKLSAgSGlMaW5rIGxzY3JpcHRUeXBlU3BlY2lmaWVyCVR5cGUKK0hpTGluayBsc2NyaXB0Tm90ZXNDb25zdAlsc2NyaXB0Tm90ZXNUeXBlCitIaUxpbmsgbHNjcmlwdExpbmVOdW1iZXIJQ29tbWVudAorSGlMaW5rIGxzY3JpcHREYXRhdHlwZQlUeXBlCitIaUxpbmsgbHNjcmlwdE51bWJlcgkJTnVtYmVyCitIaUxpbmsgbHNjcmlwdEVycm9yCQlFcnJvcgorSGlMaW5rIGxzY3JpcHRTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgbHNjcmlwdFN0cmluZwkJU3RyaW5nCitIaUxpbmsgbHNjcmlwdENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBsc2NyaXB0VG9kbwkJVG9kbworSGlMaW5rIGxzY3JpcHRGdW5jdGlvbglJZGVudGlmaWVyCitIaUxpbmsgbHNjcmlwdE1ldGhvZHMJCVByZVByb2MKK0hpTGluayBsc2NyaXB0RXZlbnRzCQlTcGVjaWFsCitIaUxpbmsgbHNjcmlwdFR5cGVTcGVjaWZpZXIJVHlwZQogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAibHNjcmlwdCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbHNzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xzcy52aW0KaW5kZXggNjYyMDcwNy4uNmVlNzE3YiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbHNzLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9sc3MudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJU2NvdHQgQmlnaGFtIDxkc2JAa2lsbGVyYnVubmllcy5vcmc+CiAiIExhc3QgQ2hhbmdlOgkyMDA0IE9jdCAwNgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNzAsNjQgKzY3LDU3IEBACiBzeW4gbWF0Y2ggbHNzQ29tbWVudCAiIy4qJCIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbHNzX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2xzc19zeW50YXhfaW5pdHMgPSAxCi0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitoaSBkZWYgbGluayBsc3NDb21tZW50IENvbW1lbnQKK2hpIGRlZiBsaW5rIGxzc0VsZW1lbnQgSWRlbnRpZmllcgogCi0gIGhpIGRlZiBsaW5rIGxzc0NvbW1lbnQgQ29tbWVudAotICBoaSBkZWYgbGluayBsc3NFbGVtZW50IElkZW50aWZpZXIKK2hpIGRlZiBsc3NCb2xkCQl0ZXJtPWJvbGQgY3Rlcm09Ym9sZAoraGkgZGVmIGxzc1JldmVyc2UJCXRlcm09cmV2ZXJzZSBjdGVybT1yZXZlcnNlCitoaSBkZWYgbHNzVW5kZXJsaW5lCQl0ZXJtPXVuZGVybGluZSBjdGVybT11bmRlcmxpbmUKK2hpIGRlZiBsc3NTdGFuZG91dAkJdGVybT1zdGFuZG91dCBjdGVybT1zdGFuZG91dAogCi0gIGhpIGRlZiBsc3NCb2xkCQl0ZXJtPWJvbGQgY3Rlcm09Ym9sZAotICBoaSBkZWYgbHNzUmV2ZXJzZQkJdGVybT1yZXZlcnNlIGN0ZXJtPXJldmVyc2UKLSAgaGkgZGVmIGxzc1VuZGVybGluZQkJdGVybT11bmRlcmxpbmUgY3Rlcm09dW5kZXJsaW5lCi0gIGhpIGRlZiBsc3NTdGFuZG91dAkJdGVybT1zdGFuZG91dCBjdGVybT1zdGFuZG91dAotCi0gIGhpIGRlZiBsc3NSZWRGZwkJY3Rlcm1mZz1yZWQKLSAgaGkgZGVmIGxzc0JsdWVGZwkJY3Rlcm1mZz1ibHVlCi0gIGhpIGRlZiBsc3NHcmVlbkZnCQljdGVybWZnPWdyZWVuCi0gIGhpIGRlZiBsc3NCcm93bkZnCQljdGVybWZnPWJyb3duCi0gIGhpIGRlZiBsc3NNYWdlbnRhRmcJCWN0ZXJtZmc9bWFnZW50YQotICBoaSBkZWYgbHNzQ3lhbkZnCQljdGVybWZnPWN5YW4KLSAgaGkgZGVmIGxzc0dyYXlGZwkJY3Rlcm1mZz1ncmF5Ci0gIGlmICRDT0xPUlRFUk0gPT0gInJ4dnQiCi0gICAgIiBPbiByeHZ0J3MsIGJyaWdodCBjb2xvcnMgYXJlIGFjdGl2YXRlZCBieSBzZXR0aW5nIHRoZSBib2xkIGF0dHJpYnV0ZS4KLSAgICBoaSBkZWYgbHNzTGlnaHRncmF5RmcJY3Rlcm1mZz1ncmF5IGN0ZXJtPWJvbGQKLSAgICBoaSBkZWYgbHNzQnJpZ2h0cmVkRmcJY3Rlcm1mZz1yZWQgY3Rlcm09Ym9sZAotICAgIGhpIGRlZiBsc3NCcmlnaHRncmVlbkZnCWN0ZXJtZmc9Z3JlZW4gY3Rlcm09Ym9sZAotICAgIGhpIGRlZiBsc3NZZWxsb3dGZwkJY3Rlcm1mZz15ZWxsb3cgY3Rlcm09Ym9sZAotICAgIGhpIGRlZiBsc3NCcmlnaHRibHVlRmcJY3Rlcm1mZz1ibHVlIGN0ZXJtPWJvbGQKLSAgICBoaSBkZWYgbHNzQnJpZ2h0bWFnZW50YUZnCWN0ZXJtZmc9bWFnZW50YSBjdGVybT1ib2xkCi0gICAgaGkgZGVmIGxzc0JyaWdodGN5YW5GZwljdGVybWZnPWN5YW4gY3Rlcm09Ym9sZAotICBlbHNlCi0gICAgaGkgZGVmIGxzc0xpZ2h0Z3JheUZnCWN0ZXJtZmc9bGlnaHRncmF5Ci0gICAgaGkgZGVmIGxzc0JyaWdodHJlZEZnCWN0ZXJtZmc9bGlnaHRyZWQKLSAgICBoaSBkZWYgbHNzQnJpZ2h0Z3JlZW5GZwljdGVybWZnPWxpZ2h0Z3JlZW4KLSAgICBoaSBkZWYgbHNzWWVsbG93RmcJCWN0ZXJtZmc9eWVsbG93Ci0gICAgaGkgZGVmIGxzc0JyaWdodGJsdWVGZwljdGVybWZnPWxpZ2h0Ymx1ZQotICAgIGhpIGRlZiBsc3NCcmlnaHRtYWdlbnRhRmcJY3Rlcm1mZz1saWdodG1hZ2VudGEKLSAgICBoaSBkZWYgbHNzQnJpZ2h0Y3lhbkZnCWN0ZXJtZmc9bGlnaHRjeWFuCi0gIGVuZGlmCi0KLSAgaGkgZGVmIGxzc1JlZEJnCQljdGVybWJnPXJlZAotICBoaSBkZWYgbHNzQmx1ZUJnCQljdGVybWJnPWJsdWUKLSAgaGkgZGVmIGxzc0dyZWVuQmcJCWN0ZXJtYmc9Z3JlZW4KLSAgaGkgZGVmIGxzc0Jyb3duQmcJCWN0ZXJtYmc9YnJvd24KLSAgaGkgZGVmIGxzc01hZ2VudGFCZwkJY3Rlcm1iZz1tYWdlbnRhCi0gIGhpIGRlZiBsc3NDeWFuQmcJCWN0ZXJtYmc9Y3lhbgotICBoaSBkZWYgbHNzTGlnaHRncmF5QmcJCWN0ZXJtYmc9bGlnaHRncmF5Ci0gIGhpIGRlZiBsc3NHcmF5QmcJCWN0ZXJtYmc9Z3JheQotICBoaSBkZWYgbHNzQnJpZ2h0cmVkQmcJCWN0ZXJtYmc9bGlnaHRyZWQKLSAgaGkgZGVmIGxzc0JyaWdodGdyZWVuQmcJY3Rlcm1iZz1saWdodGdyZWVuCi0gIGhpIGRlZiBsc3NZZWxsb3dCZwkJY3Rlcm1iZz15ZWxsb3cKLSAgaGkgZGVmIGxzc0JyaWdodGJsdWVCZwljdGVybWJnPWxpZ2h0Ymx1ZQotICBoaSBkZWYgbHNzQnJpZ2h0bWFnZW50YUJnCWN0ZXJtYmc9bGlnaHRtYWdlbnRhCi0gIGhpIGRlZiBsc3NCcmlnaHRjeWFuQmcJY3Rlcm1iZz1saWdodGN5YW4KLSAgaGkgZGVmIGxzc1doaXRlQmcJCWN0ZXJtYmc9d2hpdGUgY3Rlcm1mZz1ibGFjaworaGkgZGVmIGxzc1JlZEZnCQljdGVybWZnPXJlZAoraGkgZGVmIGxzc0JsdWVGZwkJY3Rlcm1mZz1ibHVlCitoaSBkZWYgbHNzR3JlZW5GZwkJY3Rlcm1mZz1ncmVlbgoraGkgZGVmIGxzc0Jyb3duRmcJCWN0ZXJtZmc9YnJvd24KK2hpIGRlZiBsc3NNYWdlbnRhRmcJCWN0ZXJtZmc9bWFnZW50YQoraGkgZGVmIGxzc0N5YW5GZwkJY3Rlcm1mZz1jeWFuCitoaSBkZWYgbHNzR3JheUZnCQljdGVybWZnPWdyYXkKK2lmICRDT0xPUlRFUk0gPT0gInJ4dnQiCisgICIgT24gcnh2dCdzLCBicmlnaHQgY29sb3JzIGFyZSBhY3RpdmF0ZWQgYnkgc2V0dGluZyB0aGUgYm9sZCBhdHRyaWJ1dGUuCisgIGhpIGRlZiBsc3NMaWdodGdyYXlGZwljdGVybWZnPWdyYXkgY3Rlcm09Ym9sZAorICBoaSBkZWYgbHNzQnJpZ2h0cmVkRmcJY3Rlcm1mZz1yZWQgY3Rlcm09Ym9sZAorICBoaSBkZWYgbHNzQnJpZ2h0Z3JlZW5GZwljdGVybWZnPWdyZWVuIGN0ZXJtPWJvbGQKKyAgaGkgZGVmIGxzc1llbGxvd0ZnCQljdGVybWZnPXllbGxvdyBjdGVybT1ib2xkCisgIGhpIGRlZiBsc3NCcmlnaHRibHVlRmcJY3Rlcm1mZz1ibHVlIGN0ZXJtPWJvbGQKKyAgaGkgZGVmIGxzc0JyaWdodG1hZ2VudGFGZwljdGVybWZnPW1hZ2VudGEgY3Rlcm09Ym9sZAorICBoaSBkZWYgbHNzQnJpZ2h0Y3lhbkZnCWN0ZXJtZmc9Y3lhbiBjdGVybT1ib2xkCitlbHNlCisgIGhpIGRlZiBsc3NMaWdodGdyYXlGZwljdGVybWZnPWxpZ2h0Z3JheQorICBoaSBkZWYgbHNzQnJpZ2h0cmVkRmcJY3Rlcm1mZz1saWdodHJlZAorICBoaSBkZWYgbHNzQnJpZ2h0Z3JlZW5GZwljdGVybWZnPWxpZ2h0Z3JlZW4KKyAgaGkgZGVmIGxzc1llbGxvd0ZnCQljdGVybWZnPXllbGxvdworICBoaSBkZWYgbHNzQnJpZ2h0Ymx1ZUZnCWN0ZXJtZmc9bGlnaHRibHVlCisgIGhpIGRlZiBsc3NCcmlnaHRtYWdlbnRhRmcJY3Rlcm1mZz1saWdodG1hZ2VudGEKKyAgaGkgZGVmIGxzc0JyaWdodGN5YW5GZwljdGVybWZnPWxpZ2h0Y3lhbgogZW5kaWYKIAoraGkgZGVmIGxzc1JlZEJnCQljdGVybWJnPXJlZAoraGkgZGVmIGxzc0JsdWVCZwkJY3Rlcm1iZz1ibHVlCitoaSBkZWYgbHNzR3JlZW5CZwkJY3Rlcm1iZz1ncmVlbgoraGkgZGVmIGxzc0Jyb3duQmcJCWN0ZXJtYmc9YnJvd24KK2hpIGRlZiBsc3NNYWdlbnRhQmcJCWN0ZXJtYmc9bWFnZW50YQoraGkgZGVmIGxzc0N5YW5CZwkJY3Rlcm1iZz1jeWFuCitoaSBkZWYgbHNzTGlnaHRncmF5QmcJCWN0ZXJtYmc9bGlnaHRncmF5CitoaSBkZWYgbHNzR3JheUJnCQljdGVybWJnPWdyYXkKK2hpIGRlZiBsc3NCcmlnaHRyZWRCZwkJY3Rlcm1iZz1saWdodHJlZAoraGkgZGVmIGxzc0JyaWdodGdyZWVuQmcJY3Rlcm1iZz1saWdodGdyZWVuCitoaSBkZWYgbHNzWWVsbG93QmcJCWN0ZXJtYmc9eWVsbG93CitoaSBkZWYgbHNzQnJpZ2h0Ymx1ZUJnCWN0ZXJtYmc9bGlnaHRibHVlCitoaSBkZWYgbHNzQnJpZ2h0bWFnZW50YUJnCWN0ZXJtYmc9bGlnaHRtYWdlbnRhCitoaSBkZWYgbHNzQnJpZ2h0Y3lhbkJnCWN0ZXJtYmc9bGlnaHRjeWFuCitoaSBkZWYgbHNzV2hpdGVCZwkJY3Rlcm1iZz13aGl0ZSBjdGVybWZnPWJsYWNrCisKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImxzcyIKIAogIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2x1YS52aW0gYi9ydW50aW1lL3N5bnRheC9sdWEudmltCmluZGV4IDNmZjgwYjEuLjVlZjc3MWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2x1YS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbHVhLnZpbQpAQCAtNywxMSArNyw4IEBACiAiCQlsdWFfc3VidmVyc2lvbiA9IDAgKDQuMCwgNS4wKSBvciAxICg1LjEpIG9yIDIgKDUuMikKICIJCWRlZmF1bHQgNS4yCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0zMjUsNDAgKzMyMiwzMiBAQAogZW5kaWYKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbHVhX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2x1YV9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIGx1YVN0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBsdWFSZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgbHVhRm9yCQkJUmVwZWF0Ci0gIEhpTGluayBsdWFTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgbHVhU3RyaW5nMgkJU3RyaW5nCi0gIEhpTGluayBsdWFOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgbHVhT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayBsdWFJbgkJCU9wZXJhdG9yCi0gIEhpTGluayBsdWFDb25zdGFudAkJQ29uc3RhbnQKLSAgSGlMaW5rIGx1YUNvbmQJCUNvbmRpdGlvbmFsCi0gIEhpTGluayBsdWFFbHNlCQlDb25kaXRpb25hbAotICBIaUxpbmsgbHVhRnVuY3Rpb24JCUZ1bmN0aW9uCi0gIEhpTGluayBsdWFDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBsdWFUb2RvCQlUb2RvCi0gIEhpTGluayBsdWFUYWJsZQkJU3RydWN0dXJlCi0gIEhpTGluayBsdWFFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIGx1YVBhcmVuRXJyb3IJCUVycm9yCi0gIEhpTGluayBsdWFCcmFjZUVycm9yCQlFcnJvcgotICBIaUxpbmsgbHVhU3BlY2lhbAkJU3BlY2lhbENoYXIKLSAgSGlMaW5rIGx1YUZ1bmMJCUlkZW50aWZpZXIKLSAgSGlMaW5rIGx1YUxhYmVsCQlMYWJlbAorSGlMaW5rIGx1YVN0YXRlbWVudAkJU3RhdGVtZW50CitIaUxpbmsgbHVhUmVwZWF0CQlSZXBlYXQKK0hpTGluayBsdWFGb3IJCQlSZXBlYXQKK0hpTGluayBsdWFTdHJpbmcJCVN0cmluZworSGlMaW5rIGx1YVN0cmluZzIJCVN0cmluZworSGlMaW5rIGx1YU51bWJlcgkJTnVtYmVyCitIaUxpbmsgbHVhT3BlcmF0b3IJCU9wZXJhdG9yCitIaUxpbmsgbHVhSW4JCQlPcGVyYXRvcgorSGlMaW5rIGx1YUNvbnN0YW50CQlDb25zdGFudAorSGlMaW5rIGx1YUNvbmQJCUNvbmRpdGlvbmFsCitIaUxpbmsgbHVhRWxzZQkJQ29uZGl0aW9uYWwKK0hpTGluayBsdWFGdW5jdGlvbgkJRnVuY3Rpb24KK0hpTGluayBsdWFDb21tZW50CQlDb21tZW50CitIaUxpbmsgbHVhVG9kbwkJVG9kbworSGlMaW5rIGx1YVRhYmxlCQlTdHJ1Y3R1cmUKK0hpTGluayBsdWFFcnJvcgkJRXJyb3IKK0hpTGluayBsdWFQYXJlbkVycm9yCQlFcnJvcgorSGlMaW5rIGx1YUJyYWNlRXJyb3IJCUVycm9yCitIaUxpbmsgbHVhU3BlY2lhbAkJU3BlY2lhbENoYXIKK0hpTGluayBsdWFGdW5jCQlJZGVudGlmaWVyCitIaUxpbmsgbHVhTGFiZWwJCUxhYmVsCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsdWEiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L200LnZpbSBiL3J1bnRpbWUvc3ludGF4L200LnZpbQppbmRleCBiYTdhMjk0Li44MzI1NDA1IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9tNC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbTQudmltCkBAIC04LDE1ICs4LDEyIEBACiAiIGNhcGl0YWwgbGV0dGVycyBhbmQgaGF2ZSBhdCBsZWFzdCBvbmUgYXJndW1lbnQgKGkuZS4gdGhlICcoJwogIiBtdXN0IGJlIHRoZXJlKS4gTGV0IG1lIGtub3cgaWYgdGhpcyBpcyBhIHByb2JsZW0uCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAogaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQotICBpZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3ludGF4IGNsZWFyCi0gIGVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQotICBmaW5pc2gKLWVuZGlmCi0iIHdlIGRlZmluZSBpdCBoZXJlIHNvIHRoYXQgaW5jbHVkZWQgZmlsZXMgY2FuIHRlc3QgZm9yIGl0CisgIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisJZmluaXNoCisgIGVuZGlmCisgICIgd2UgZGVmaW5lIGl0IGhlcmUgc28gdGhhdCBpbmNsdWRlZCBmaWxlcyBjYW4gdGVzdCBmb3IgaXQKICAgbGV0IG1haW5fc3ludGF4PSdtNCcKIGVuZGlmCiAKQEAgLTM5LDMwICszNiwyMiBAQAogc3luIGNsdXN0ZXIgbTRUb3AgICAgIGNvbnRhaW5zPW00Q29tbWVudCxtNENvbnN0YW50cyxtNFNwZWNpYWwsbTRWYXJpYWJsZSxtNFN0cmluZyxtNFBhcmVuLG00Q29tbWFuZCxtNFN0YXRlbWVudCxtNEZ1bmN0aW9uCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX200X3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX200X3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCi0gIEhpTGluayBtNERlbGltaXRlciBEZWxpbWl0ZXIKLSAgSGlMaW5rIG00Q29tbWVudCAgIENvbW1lbnQKLSAgSGlMaW5rIG00RnVuY3Rpb24gIEZ1bmN0aW9uCi0gIEhpTGluayBtNEtleXdvcmQgICBLZXl3b3JkCi0gIEhpTGluayBtNFNwZWNpYWwgICBTcGVjaWFsCi0gIEhpTGluayBtNFN0cmluZyAgICBTdHJpbmcKLSAgSGlMaW5rIG00U3RhdGVtZW50IFN0YXRlbWVudAotICBIaUxpbmsgbTRQcmVwcm9jICAgUHJlUHJvYwotICBIaUxpbmsgbTRUeXBlICAgICAgVHlwZQotICBIaUxpbmsgbTRTcGVjaWFsICAgU3BlY2lhbAotICBIaUxpbmsgbTRWYXJpYWJsZSAgU3BlY2lhbAotICBIaUxpbmsgbTRDb25zdGFudHMgQ29uc3RhbnQKLSAgSGlMaW5rIG00QnVpbHRpbiAgIFN0YXRlbWVudAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorSGlMaW5rIG00RGVsaW1pdGVyIERlbGltaXRlcgorSGlMaW5rIG00Q29tbWVudCAgIENvbW1lbnQKK0hpTGluayBtNEZ1bmN0aW9uICBGdW5jdGlvbgorSGlMaW5rIG00S2V5d29yZCAgIEtleXdvcmQKK0hpTGluayBtNFNwZWNpYWwgICBTcGVjaWFsCitIaUxpbmsgbTRTdHJpbmcgICAgU3RyaW5nCitIaUxpbmsgbTRTdGF0ZW1lbnQgU3RhdGVtZW50CitIaUxpbmsgbTRQcmVwcm9jICAgUHJlUHJvYworSGlMaW5rIG00VHlwZSAgICAgIFR5cGUKK0hpTGluayBtNFNwZWNpYWwgICBTcGVjaWFsCitIaUxpbmsgbTRWYXJpYWJsZSAgU3BlY2lhbAorSGlMaW5rIG00Q29uc3RhbnRzIENvbnN0YW50CitIaUxpbmsgbTRCdWlsdGluICAgU3RhdGVtZW50CitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtNCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWFrZS52aW0gYi9ydW50aW1lL3N5bnRheC9tYWtlLnZpbQppbmRleCAzNWIwOTM0Li5mMDIyYTRlIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9tYWtlLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9tYWtlLnZpbQpAQCAtNCwxMSArNCw4IEBACiAiIFVSTDoJCWh0dHA6Ly93d3cuZmxlaW5lci5jb20vdmltL3N5bnRheC9tYWtlLnZpbQogIiBMYXN0IENoYW5nZToJMjAxNSBGZWIgMjgKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTEwMSw0MCArOTgsMzIgQEAKIHN5biBzeW5jIG1hdGNoIG1ha2VDb21tYW5kU3luYyBncm91cHRoZXJlIG1ha2VDb21tYW5kcyAiXltBLVphLXowLTlfLi8kKCklLV1bQS1aYS16MC05Xy4vXHQgJCgpJS1dKjpcezEsMn1ccyokIgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tYWtlX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX21ha2Vfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBtYWtlTmV4dExpbmUJCW1ha2VTcGVjaWFsCi0gIEhpTGluayBtYWtlQ21kTmV4dExpbmUJbWFrZVNwZWNpYWwKLSAgSGlMaW5rIG1ha2VTcGVjVGFyZ2V0CQlTdGF0ZW1lbnQKLSAgaWYgIWV4aXN0cygibWFrZV9ub19jb21tYW5kcyIpCi0gICAgSGlMaW5rIG1ha2VDb21tYW5kcwkJTnVtYmVyCi0gIGVuZGlmCi0gIEhpTGluayBtYWtlSW1wbGljaXQJCUZ1bmN0aW9uCi0gIEhpTGluayBtYWtlVGFyZ2V0CQlGdW5jdGlvbgotICBIaUxpbmsgbWFrZUluY2x1ZGUJCUluY2x1ZGUKLSAgSGlMaW5rIG1ha2VQcmVDb25kaXQJCVByZUNvbmRpdAotICBIaUxpbmsgbWFrZVN0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBtYWtlSWRlbnQJCUlkZW50aWZpZXIKLSAgSGlMaW5rIG1ha2VTcGVjaWFsCQlTcGVjaWFsCi0gIEhpTGluayBtYWtlQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgbWFrZURTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgbWFrZVNTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgbWFrZUJTdHJpbmcJCUZ1bmN0aW9uCi0gIEhpTGluayBtYWtlRXJyb3IJCUVycm9yCi0gIEhpTGluayBtYWtlVG9kbwkJVG9kbwotICBIaUxpbmsgbWFrZURlZmluZQkJRGVmaW5lCi0gIEhpTGluayBtYWtlQ29tbWFuZEVycm9yCUVycm9yCi0gIEhpTGluayBtYWtlQ29uZmlnCQlQcmVDb25kaXQKLSAgZGVsY29tbWFuZCBIaUxpbmsKK0hpTGluayBtYWtlTmV4dExpbmUJCW1ha2VTcGVjaWFsCitIaUxpbmsgbWFrZUNtZE5leHRMaW5lCW1ha2VTcGVjaWFsCitIaUxpbmsgbWFrZVNwZWNUYXJnZXQJCVN0YXRlbWVudAoraWYgIWV4aXN0cygibWFrZV9ub19jb21tYW5kcyIpCitIaUxpbmsgbWFrZUNvbW1hbmRzCQlOdW1iZXIKIGVuZGlmCitIaUxpbmsgbWFrZUltcGxpY2l0CQlGdW5jdGlvbgorSGlMaW5rIG1ha2VUYXJnZXQJCUZ1bmN0aW9uCitIaUxpbmsgbWFrZUluY2x1ZGUJCUluY2x1ZGUKK0hpTGluayBtYWtlUHJlQ29uZGl0CQlQcmVDb25kaXQKK0hpTGluayBtYWtlU3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayBtYWtlSWRlbnQJCUlkZW50aWZpZXIKK0hpTGluayBtYWtlU3BlY2lhbAkJU3BlY2lhbAorSGlMaW5rIG1ha2VDb21tZW50CQlDb21tZW50CitIaUxpbmsgbWFrZURTdHJpbmcJCVN0cmluZworSGlMaW5rIG1ha2VTU3RyaW5nCQlTdHJpbmcKK0hpTGluayBtYWtlQlN0cmluZwkJRnVuY3Rpb24KK0hpTGluayBtYWtlRXJyb3IJCUVycm9yCitIaUxpbmsgbWFrZVRvZG8JCVRvZG8KK0hpTGluayBtYWtlRGVmaW5lCQlEZWZpbmUKK0hpTGluayBtYWtlQ29tbWFuZEVycm9yCUVycm9yCitIaUxpbmsgbWFrZUNvbmZpZwkJUHJlQ29uZGl0CitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtYWtlIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tYW4udmltIGIvcnVudGltZS9zeW50YXgvbWFuLnZpbQppbmRleCBmYmMxODQ3Li5kNmM4NzY0IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9tYW4udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L21hbi52aW0KQEAgLTksMjAgKzksMTMgQEAKICIJKiBtYW5TdWJIZWFkaW5nCiAiCSogbWFuU3lub3BzaXMgKG9ubHkgZm9yIHNlY3Rpb25zIDIgYW5kIDMpCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCiAiIEdldCB0aGUgQ1RSTC1IIHN5bnRheCB0byBoYW5kbGUgYmFja3NwYWNlZCB0ZXh0Ci1pZiB2ZXJzaW9uID49IDYwMAotICBydW50aW1lISBzeW50YXgvY3RybGgudmltCi1lbHNlCi0gIHNvdXJjZSA8c2ZpbGU+OnA6aC9jdHJsaC52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvY3RybGgudmltCiAKIHN5biBjYXNlIGlnbm9yZQogc3luIG1hdGNoICBtYW5SZWZlcmVuY2UgICAgICAgIlxmXCsoWzEtOV1bYS16XVw9KSIKQEAgLTQxLDI2ICszNCwxOCBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21hbl9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9tYW5fc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBtYW5UaXRsZQkgICAgVGl0bGUKLSAgSGlMaW5rIG1hblNlY3Rpb25IZWFkaW5nICBTdGF0ZW1lbnQKLSAgSGlMaW5rIG1hbk9wdGlvbkRlc2MJICAgIENvbnN0YW50Ci0gIEhpTGluayBtYW5Mb25nT3B0aW9uRGVzYyAgQ29uc3RhbnQKLSAgSGlMaW5rIG1hblJlZmVyZW5jZQkgICAgUHJlUHJvYwotICBIaUxpbmsgbWFuU3ViSGVhZGluZyAgICAgIEZ1bmN0aW9uCi0gIEhpTGluayBtYW5DRnVuY0RlZmluaXRpb24gRnVuY3Rpb24KK0hpTGluayBtYW5UaXRsZQkgICAgVGl0bGUKK0hpTGluayBtYW5TZWN0aW9uSGVhZGluZyAgU3RhdGVtZW50CitIaUxpbmsgbWFuT3B0aW9uRGVzYwkgICAgQ29uc3RhbnQKK0hpTGluayBtYW5Mb25nT3B0aW9uRGVzYyAgQ29uc3RhbnQKK0hpTGluayBtYW5SZWZlcmVuY2UJICAgIFByZVByb2MKK0hpTGluayBtYW5TdWJIZWFkaW5nICAgICAgRnVuY3Rpb24KK0hpTGluayBtYW5DRnVuY0RlZmluaXRpb24gRnVuY3Rpb24KIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1hbiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWFwbGUudmltIGIvcnVudGltZS9zeW50YXgvbWFwbGUudmltCmluZGV4IDc3YjE1MDcuLmFkOTQwNTMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21hcGxlLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9tYXBsZS52aW0KQEAgLTIxLDExICsyMSw4IEBACiAiIGJ1dCBvbmx5IHRoZSBjb250ZW50cyBvZiBwYWNrYWdlcyBvZiBNYXBsZSBWIFJlbGVhc2UgNCwgYW5kIHRoZSB0b3AtbGV2ZWwKICIgcm91dGluZXMgb2YgUmVsZWFzZSA0LiAgPEphY3F1ZXMgQ2FyZXR0ZSAtIGNhcmV0dGVAbWNtYXN0ZXIuY2E+CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC01NTEsODIgKzU0OCw3NCBAQAogIiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAogIiBIaWdobGlnaHRpbmc6IERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuIHt7ezEKLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21hcGxldl9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9tYXBsZXZfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gICIgTWFwbGUtPk1hcGxlIExpbmtzIHt7ezIKLSAgSGlMaW5rIG12QnJhY2VFcnJvcgltdkVycm9yCi0gIEhpTGluayBtdkN1cmx5RXJyb3IJbXZFcnJvcgotICBIaUxpbmsgbXZEZWJ1ZwkJbXZUb2RvCi0gIEhpTGluayBtdlBhcmVuRXJyb3IJbXZFcnJvcgotICBIaUxpbmsgbXZQa2dfREV0b29scwltdlBrZ0Z1bmMKLSAgSGlMaW5rIG12UGtnX0dhbG9pcwltdlBrZ0Z1bmMKLSAgSGlMaW5rIG12UGtnX0dhdXNzSW50CW12UGtnRnVuYwotICBIaUxpbmsgbXZQa2dfTFJFdG9vbHMJbXZQa2dGdW5jCi0gIEhpTGluayBtdlBrZ19jb21iaW5hdAltdlBrZ0Z1bmMKLSAgSGlMaW5rIG12UGtnX2NvbWJzdHJ1Y3QJbXZQa2dGdW5jCi0gIEhpTGluayBtdlBrZ19kaWZmb3JtcwltdlBrZ0Z1bmMKLSAgSGlMaW5rIG12UGtnX2ZpbmFuY2UJbXZQa2dGdW5jCi0gIEhpTGluayBtdlBrZ19nZW5mdW5jCW12UGtnRnVuYwotICBIaUxpbmsgbXZQa2dfZ2VvbWV0cnkJbXZQa2dGdW5jCi0gIEhpTGluayBtdlBrZ19ncm9ibmVyCW12UGtnRnVuYwotICBIaUxpbmsgbXZQa2dfZ3JvdXAJbXZQa2dGdW5jCi0gIEhpTGluayBtdlBrZ19pbnR0cmFucwltdlBrZ0Z1bmMKLSAgSGlMaW5rIG12UGtnX2xpZXN5bW0JbXZQa2dGdW5jCi0gIEhpTGluayBtdlBrZ19saW5hbGcJbXZQa2dGdW5jCi0gIEhpTGluayBtdlBrZ19sb2dpYwltdlBrZ0Z1bmMKLSAgSGlMaW5rIG12UGtnX25ldHdvcmtzCW12UGtnRnVuYwotICBIaUxpbmsgbXZQa2dfbnVtYXBwcm94CW12UGtnRnVuYwotICBIaUxpbmsgbXZQa2dfbnVtdGhlb3J5CW12UGtnRnVuYwotICBIaUxpbmsgbXZQa2dfb3J0aG9wb2x5CW12UGtnRnVuYwotICBIaUxpbmsgbXZQa2dfcGFkaWMJbXZQa2dGdW5jCi0gIEhpTGluayBtdlBrZ19wbG90cwltdlBrZ0Z1bmMKLSAgSGlMaW5rIG12UGtnX3Bsb3R0b29scwltdlBrZ0Z1bmMKLSAgSGlMaW5rIG12UGtnX3Bvd3NlcmllcwltdlBrZ0Z1bmMKLSAgSGlMaW5rIG12UGtnX3Byb2Nlc3MJbXZQa2dGdW5jCi0gIEhpTGluayBtdlBrZ19zaW1wbGV4CW12UGtnRnVuYwotICBIaUxpbmsgbXZQa2dfc3RhdHMJbXZQa2dGdW5jCi0gIEhpTGluayBtdlBrZ19zdHVkZW50CW12UGtnRnVuYwotICBIaUxpbmsgbXZQa2dfc3VtdG9vbHMJbXZQa2dGdW5jCi0gIEhpTGluayBtdlBrZ190ZW5zb3IJbXZQa2dGdW5jCi0gIEhpTGluayBtdlBrZ190b3RvcmRlcgltdlBrZ0Z1bmMKLSAgSGlMaW5rIG12UmFuZ2UJCW12T3BlcgotICBIaUxpbmsgbXZTZW1pRXJyb3IJbXZFcnJvcgotICBIaUxpbmsgbXZEZWxpbQkJRGVsaW1pdGVyCisiIE1hcGxlLT5NYXBsZSBMaW5rcyB7e3syCitIaUxpbmsgbXZCcmFjZUVycm9yCW12RXJyb3IKK0hpTGluayBtdkN1cmx5RXJyb3IJbXZFcnJvcgorSGlMaW5rIG12RGVidWcJCW12VG9kbworSGlMaW5rIG12UGFyZW5FcnJvcgltdkVycm9yCitIaUxpbmsgbXZQa2dfREV0b29scwltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19HYWxvaXMJbXZQa2dGdW5jCitIaUxpbmsgbXZQa2dfR2F1c3NJbnQJbXZQa2dGdW5jCitIaUxpbmsgbXZQa2dfTFJFdG9vbHMJbXZQa2dGdW5jCitIaUxpbmsgbXZQa2dfY29tYmluYXQJbXZQa2dGdW5jCitIaUxpbmsgbXZQa2dfY29tYnN0cnVjdAltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19kaWZmb3JtcwltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19maW5hbmNlCW12UGtnRnVuYworSGlMaW5rIG12UGtnX2dlbmZ1bmMJbXZQa2dGdW5jCitIaUxpbmsgbXZQa2dfZ2VvbWV0cnkJbXZQa2dGdW5jCitIaUxpbmsgbXZQa2dfZ3JvYm5lcgltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19ncm91cAltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19pbnR0cmFucwltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19saWVzeW1tCW12UGtnRnVuYworSGlMaW5rIG12UGtnX2xpbmFsZwltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19sb2dpYwltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19uZXR3b3JrcwltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19udW1hcHByb3gJbXZQa2dGdW5jCitIaUxpbmsgbXZQa2dfbnVtdGhlb3J5CW12UGtnRnVuYworSGlMaW5rIG12UGtnX29ydGhvcG9seQltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19wYWRpYwltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19wbG90cwltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19wbG90dG9vbHMJbXZQa2dGdW5jCitIaUxpbmsgbXZQa2dfcG93c2VyaWVzCW12UGtnRnVuYworSGlMaW5rIG12UGtnX3Byb2Nlc3MJbXZQa2dGdW5jCitIaUxpbmsgbXZQa2dfc2ltcGxleAltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19zdGF0cwltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ19zdHVkZW50CW12UGtnRnVuYworSGlMaW5rIG12UGtnX3N1bXRvb2xzCW12UGtnRnVuYworSGlMaW5rIG12UGtnX3RlbnNvcgltdlBrZ0Z1bmMKK0hpTGluayBtdlBrZ190b3RvcmRlcgltdlBrZ0Z1bmMKK0hpTGluayBtdlJhbmdlCQltdk9wZXIKK0hpTGluayBtdlNlbWlFcnJvcgltdkVycm9yCitIaUxpbmsgbXZEZWxpbQkJRGVsaW1pdGVyCiAKLSAgIiBNYXBsZS0+U3RhbmRhcmQgTGlua3Mge3t7MgotICBIaUxpbmsgbXZBc3NpZ24JCURlbGltaXRlcgotICBIaUxpbmsgbXZCb29sCQlCb29sZWFuCi0gIEhpTGluayBtdkNvbW1hCQlEZWxpbWl0ZXIKLSAgSGlMaW5rIG12Q29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgbXZDb25kCQlDb25kaXRpb25hbAotICBIaUxpbmsgbXZDb25zdGFudAkJTnVtYmVyCi0gIEhpTGluayBtdkRlbGF5RXZhbAlMYWJlbAotICBIaUxpbmsgbXZEY29sb24JCURlbGltaXRlcgotICBIaUxpbmsgbXZFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIG12TGlicmFyeQkJU3RhdGVtZW50Ci0gIEhpTGluayBtdk51bWJlcgkJTnVtYmVyCi0gIEhpTGluayBtdk9wZXIJCU9wZXJhdG9yCi0gIEhpTGluayBtdkFzc2lnbgkJRGVsaW1pdGVyCi0gIEhpTGluayBtdlBhY2thZ2UJCVR5cGUKLSAgSGlMaW5rIG12UGtnRnVuYwkJRnVuY3Rpb24KLSAgSGlMaW5rIG12UGt0T3B0aW9uCVNwZWNpYWwKLSAgSGlMaW5rIG12UmVwZWF0CQlSZXBlYXQKLSAgSGlMaW5rIG12U3BlY2lhbAkJU3BlY2lhbAotICBIaUxpbmsgbXZTdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluayBtdk5hbWUJCVN0cmluZwotICBIaUxpbmsgbXZTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgbXZUb2RvCQlUb2RvCisiIE1hcGxlLT5TdGFuZGFyZCBMaW5rcyB7e3syCitIaUxpbmsgbXZBc3NpZ24JCURlbGltaXRlcgorSGlMaW5rIG12Qm9vbAkJQm9vbGVhbgorSGlMaW5rIG12Q29tbWEJCURlbGltaXRlcgorSGlMaW5rIG12Q29tbWVudAkJQ29tbWVudAorSGlMaW5rIG12Q29uZAkJQ29uZGl0aW9uYWwKK0hpTGluayBtdkNvbnN0YW50CQlOdW1iZXIKK0hpTGluayBtdkRlbGF5RXZhbAlMYWJlbAorSGlMaW5rIG12RGNvbG9uCQlEZWxpbWl0ZXIKK0hpTGluayBtdkVycm9yCQlFcnJvcgorSGlMaW5rIG12TGlicmFyeQkJU3RhdGVtZW50CitIaUxpbmsgbXZOdW1iZXIJCU51bWJlcgorSGlMaW5rIG12T3BlcgkJT3BlcmF0b3IKK0hpTGluayBtdkFzc2lnbgkJRGVsaW1pdGVyCitIaUxpbmsgbXZQYWNrYWdlCQlUeXBlCitIaUxpbmsgbXZQa2dGdW5jCQlGdW5jdGlvbgorSGlMaW5rIG12UGt0T3B0aW9uCVNwZWNpYWwKK0hpTGluayBtdlJlcGVhdAkJUmVwZWF0CitIaUxpbmsgbXZTcGVjaWFsCQlTcGVjaWFsCitIaUxpbmsgbXZTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgbXZOYW1lCQlTdHJpbmcKK0hpTGluayBtdlN0cmluZwkJU3RyaW5nCitIaUxpbmsgbXZUb2RvCQlUb2RvCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiAiIEN1cnJlbnQgU3ludGF4OiB7e3sxCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtYXBsZSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21hcmtkb3duLnZpbSBiL3J1bnRpbWUvc3ludGF4L21hcmtkb3duLnZpbQppbmRleCAwNjgxMTVlLi4xOTU1YTc0IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9tYXJrZG93bi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbWFya2Rvd24udmltCkBAIC0yLDcgKzIsNyBAQAogIiBMYW5ndWFnZTogICAgIE1hcmtkb3duCiAiIE1haW50YWluZXI6ICAgVGltIFBvcGUgPHZpbU5PU1BBTUB0cG9wZS5vcmc+CiAiIEZpbGVuYW1lczogICAgKi5tYXJrZG93bgotIiBMYXN0IENoYW5nZTogIDIwMTMgTWF5IDMwCisiIExhc3QgQ2hhbmdlOiAgMjAxNiBBdWcgMjkKIAogaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCkBAIC03MCwyOSArNzAsMzQgQEAKIHN5biByZWdpb24gbWFya2Rvd25VcmxUaXRsZSBtYXRjaGdyb3VwPW1hcmtkb3duVXJsVGl0bGVEZWxpbWl0ZXIgc3RhcnQ9KycrIGVuZD0rJysga2VlcGVuZCBjb250YWluZWQKIHN5biByZWdpb24gbWFya2Rvd25VcmxUaXRsZSBtYXRjaGdyb3VwPW1hcmtkb3duVXJsVGl0bGVEZWxpbWl0ZXIgc3RhcnQ9KygrIGVuZD0rKSsga2VlcGVuZCBjb250YWluZWQKIAotc3luIHJlZ2lvbiBtYXJrZG93bkxpbmtUZXh0IG1hdGNoZ3JvdXA9bWFya2Rvd25MaW5rVGV4dERlbGltaXRlciBzdGFydD0iIVw9XFtcJShcX1teXV0qXVwlKCBcPVtbKF1cKVwpXEA9IiBlbmQ9IlxdXCUoIFw9W1soXVwpXEA9IiBrZWVwZW5kIG5leHRncm91cD1tYXJrZG93bkxpbmssbWFya2Rvd25JZCBza2lwd2hpdGUgY29udGFpbnM9QG1hcmtkb3duSW5saW5lLG1hcmtkb3duTGluZVN0YXJ0CitzeW4gcmVnaW9uIG1hcmtkb3duTGlua1RleHQgbWF0Y2hncm91cD1tYXJrZG93bkxpbmtUZXh0RGVsaW1pdGVyIHN0YXJ0PSIhXD1cW1wlKFxfW15dXSpdXCUoIFw9W1soXVwpXClcQD0iIGVuZD0iXF1cJSggXD1bWyhdXClcQD0iIG5leHRncm91cD1tYXJrZG93bkxpbmssbWFya2Rvd25JZCBza2lwd2hpdGUgY29udGFpbnM9QG1hcmtkb3duSW5saW5lLG1hcmtkb3duTGluZVN0YXJ0CiBzeW4gcmVnaW9uIG1hcmtkb3duTGluayBtYXRjaGdyb3VwPW1hcmtkb3duTGlua0RlbGltaXRlciBzdGFydD0iKCIgZW5kPSIpIiBjb250YWlucz1tYXJrZG93blVybCBrZWVwZW5kIGNvbnRhaW5lZAogc3luIHJlZ2lvbiBtYXJrZG93bklkIG1hdGNoZ3JvdXA9bWFya2Rvd25JZERlbGltaXRlciBzdGFydD0iXFsiIGVuZD0iXF0iIGtlZXBlbmQgY29udGFpbmVkCiBzeW4gcmVnaW9uIG1hcmtkb3duQXV0b21hdGljTGluayBtYXRjaGdyb3VwPW1hcmtkb3duVXJsRGVsaW1pdGVyIHN0YXJ0PSI8XCUoXHdcKzpcfFtbOmFsbnVtOl1fKy1dXCtAXClcQD0iIGVuZD0iPiIga2VlcGVuZCBvbmVsaW5lCiAKLXN5biByZWdpb24gbWFya2Rvd25JdGFsaWMgc3RhcnQ9IlxTXEA8PVwqXHxcKlxTXEA9IiBlbmQ9IlxTXEA8PVwqXHxcKlxTXEA9IiBrZWVwZW5kIGNvbnRhaW5zPW1hcmtkb3duTGluZVN0YXJ0Ci1zeW4gcmVnaW9uIG1hcmtkb3duSXRhbGljIHN0YXJ0PSJcU1xAPD1fXHxfXFNcQD0iIGVuZD0iXFNcQDw9X1x8X1xTXEA9IiBrZWVwZW5kIGNvbnRhaW5zPW1hcmtkb3duTGluZVN0YXJ0Ci1zeW4gcmVnaW9uIG1hcmtkb3duQm9sZCBzdGFydD0iXFNcQDw9XCpcKlx8XCpcKlxTXEA9IiBlbmQ9IlxTXEA8PVwqXCpcfFwqXCpcU1xAPSIga2VlcGVuZCBjb250YWlucz1tYXJrZG93bkxpbmVTdGFydCxtYXJrZG93bkl0YWxpYwotc3luIHJlZ2lvbiBtYXJrZG93bkJvbGQgc3RhcnQ9IlxTXEA8PV9fXHxfX1xTXEA9IiBlbmQ9IlxTXEA8PV9fXHxfX1xTXEA9IiBrZWVwZW5kIGNvbnRhaW5zPW1hcmtkb3duTGluZVN0YXJ0LG1hcmtkb3duSXRhbGljCi1zeW4gcmVnaW9uIG1hcmtkb3duQm9sZEl0YWxpYyBzdGFydD0iXFNcQDw9XCpcKlwqXHxcKlwqXCpcU1xAPSIgZW5kPSJcU1xAPD1cKlwqXCpcfFwqXCpcKlxTXEA9IiBrZWVwZW5kIGNvbnRhaW5zPW1hcmtkb3duTGluZVN0YXJ0Ci1zeW4gcmVnaW9uIG1hcmtkb3duQm9sZEl0YWxpYyBzdGFydD0iXFNcQDw9X19fXHxfX19cU1xAPSIgZW5kPSJcU1xAPD1fX19cfF9fX1xTXEA9IiBrZWVwZW5kIGNvbnRhaW5zPW1hcmtkb3duTGluZVN0YXJ0CitsZXQgczpjb25jZWFsZW5kcyA9IGhhcygnY29uY2VhbCcpID8gJyBjb25jZWFsZW5kcycgOiAnJworZXhlICdzeW4gcmVnaW9uIG1hcmtkb3duSXRhbGljIG1hdGNoZ3JvdXA9bWFya2Rvd25JdGFsaWNEZWxpbWl0ZXIgc3RhcnQ9IlxTXEA8PVwqXHxcKlxTXEA9IiBlbmQ9IlxTXEA8PVwqXHxcKlxTXEA9IiBrZWVwZW5kIGNvbnRhaW5zPW1hcmtkb3duTGluZVN0YXJ0JyAuIHM6Y29uY2VhbGVuZHMKK2V4ZSAnc3luIHJlZ2lvbiBtYXJrZG93bkl0YWxpYyBtYXRjaGdyb3VwPW1hcmtkb3duSXRhbGljRGVsaW1pdGVyIHN0YXJ0PSJcU1xAPD1fXHxfXFNcQD0iIGVuZD0iXFNcQDw9X1x8X1xTXEA9IiBrZWVwZW5kIGNvbnRhaW5zPW1hcmtkb3duTGluZVN0YXJ0JyAuIHM6Y29uY2VhbGVuZHMKK2V4ZSAnc3luIHJlZ2lvbiBtYXJrZG93bkJvbGQgbWF0Y2hncm91cD1tYXJrZG93bkJvbGREZWxpbWl0ZXIgc3RhcnQ9IlxTXEA8PVwqXCpcfFwqXCpcU1xAPSIgZW5kPSJcU1xAPD1cKlwqXHxcKlwqXFNcQD0iIGtlZXBlbmQgY29udGFpbnM9bWFya2Rvd25MaW5lU3RhcnQsbWFya2Rvd25JdGFsaWMnIC4gczpjb25jZWFsZW5kcworZXhlICdzeW4gcmVnaW9uIG1hcmtkb3duQm9sZCBtYXRjaGdyb3VwPW1hcmtkb3duQm9sZERlbGltaXRlciBzdGFydD0iXFNcQDw9X19cfF9fXFNcQD0iIGVuZD0iXFNcQDw9X19cfF9fXFNcQD0iIGtlZXBlbmQgY29udGFpbnM9bWFya2Rvd25MaW5lU3RhcnQsbWFya2Rvd25JdGFsaWMnIC4gczpjb25jZWFsZW5kcworZXhlICdzeW4gcmVnaW9uIG1hcmtkb3duQm9sZEl0YWxpYyBtYXRjaGdyb3VwPW1hcmtkb3duQm9sZEl0YWxpY0RlbGltaXRlciBzdGFydD0iXFNcQDw9XCpcKlwqXHxcKlwqXCpcU1xAPSIgZW5kPSJcU1xAPD1cKlwqXCpcfFwqXCpcKlxTXEA9IiBrZWVwZW5kIGNvbnRhaW5zPW1hcmtkb3duTGluZVN0YXJ0JyAuIHM6Y29uY2VhbGVuZHMKK2V4ZSAnc3luIHJlZ2lvbiBtYXJrZG93bkJvbGRJdGFsaWMgbWF0Y2hncm91cD1tYXJrZG93bkJvbGRJdGFsaWNEZWxpbWl0ZXIgc3RhcnQ9IlxTXEA8PV9fX1x8X19fXFNcQD0iIGVuZD0iXFNcQDw9X19fXHxfX19cU1xAPSIga2VlcGVuZCBjb250YWlucz1tYXJrZG93bkxpbmVTdGFydCcgLiBzOmNvbmNlYWxlbmRzCisKIHN5biByZWdpb24gbWFya2Rvd25Db2RlIG1hdGNoZ3JvdXA9bWFya2Rvd25Db2RlRGVsaW1pdGVyIHN0YXJ0PSJgIiBlbmQ9ImAiIGtlZXBlbmQgY29udGFpbnM9bWFya2Rvd25MaW5lU3RhcnQKIHN5biByZWdpb24gbWFya2Rvd25Db2RlIG1hdGNoZ3JvdXA9bWFya2Rvd25Db2RlRGVsaW1pdGVyIHN0YXJ0PSJgYCBcPSIgZW5kPSIgXD1gYCIga2VlcGVuZCBjb250YWlucz1tYXJrZG93bkxpbmVTdGFydAogc3luIHJlZ2lvbiBtYXJrZG93bkNvZGUgbWF0Y2hncm91cD1tYXJrZG93bkNvZGVEZWxpbWl0ZXIgc3RhcnQ9Il5ccypgYGAuKiQiIGVuZD0iXlxzKmBgYFx6ZVxzKiQiIGtlZXBlbmQKIAorc3luIG1hdGNoIG1hcmtkb3duRm9vdG5vdGUgIlxbXlteXF1dXCtcXSIKK3N5biBtYXRjaCBtYXJrZG93bkZvb3Rub3RlRGVmaW5pdGlvbiAiXlxbXlteXF1dXCtcXToiCisKIGlmIG1haW5fc3ludGF4ID09IyAnbWFya2Rvd24nCiAgIGZvciBzOnR5cGUgaW4gZzptYXJrZG93bl9mZW5jZWRfbGFuZ3VhZ2VzCi0gICAgZXhlICdzeW4gcmVnaW9uIG1hcmtkb3duSGlnaGxpZ2h0Jy5zdWJzdGl0dXRlKG1hdGNoc3RyKHM6dHlwZSwnW149XSokJyksJ1wuLionLCcnLCcnKS4nIG1hdGNoZ3JvdXA9bWFya2Rvd25Db2RlRGVsaW1pdGVyIHN0YXJ0PSJeXHMqYGBgJy5tYXRjaHN0cihzOnR5cGUsJ1tePV0qJykuJ1w+LiokIiBlbmQ9Il5ccypgYGBcemVccyokIiBrZWVwZW5kIGNvbnRhaW5zPUBtYXJrZG93bkhpZ2hsaWdodCcuc3Vic3RpdHV0ZShtYXRjaHN0cihzOnR5cGUsJ1tePV0qJCcpLCdcLicsJycsJ2cnKQorICAgIGV4ZSAnc3luIHJlZ2lvbiBtYXJrZG93bkhpZ2hsaWdodCcuc3Vic3RpdHV0ZShtYXRjaHN0cihzOnR5cGUsJ1tePV0qJCcpLCdcLi4qJywnJywnJykuJyBtYXRjaGdyb3VwPW1hcmtkb3duQ29kZURlbGltaXRlciBzdGFydD0iXlxzKmBgYFxzKicubWF0Y2hzdHIoczp0eXBlLCdbXj1dKicpLidcPi4qJCIgZW5kPSJeXHMqYGBgXHplXHMqJCIga2VlcGVuZCBjb250YWlucz1AbWFya2Rvd25IaWdobGlnaHQnLnN1YnN0aXR1dGUobWF0Y2hzdHIoczp0eXBlLCdbXj1dKiQnKSwnXC4nLCcnLCdnJykKICAgZW5kZm9yCiAgIHVubGV0ISBzOnR5cGUKIGVuZGlmCiAKLXN5biBtYXRjaCBtYXJrZG93bkVzY2FwZSAiXFxbXVtcXGAqX3t9KCkjKy4hLV0iCitzeW4gbWF0Y2ggbWFya2Rvd25Fc2NhcGUgIlxcW11bXFxgKl97fSgpPD4jKy4hLV0iCiBzeW4gbWF0Y2ggbWFya2Rvd25FcnJvciAiXHdcQDw9X1x3XEA9IgogCiBoaSBkZWYgbGluayBtYXJrZG93bkgxICAgICAgICAgICAgICAgICAgICBodG1sSDEKQEAgLTEwOCw2ICsxMTMsOSBAQAogaGkgZGVmIGxpbmsgbWFya2Rvd25CbG9ja3F1b3RlICAgICAgICAgICAgQ29tbWVudAogaGkgZGVmIGxpbmsgbWFya2Rvd25SdWxlICAgICAgICAgICAgICAgICAgUHJlUHJvYwogCitoaSBkZWYgbGluayBtYXJrZG93bkZvb3Rub3RlICAgICAgICAgICAgICBUeXBlZGVmCitoaSBkZWYgbGluayBtYXJrZG93bkZvb3Rub3RlRGVmaW5pdGlvbiAgICBUeXBlZGVmCisKIGhpIGRlZiBsaW5rIG1hcmtkb3duTGlua1RleHQgICAgICAgICAgICAgIGh0bWxMaW5rCiBoaSBkZWYgbGluayBtYXJrZG93bklkRGVjbGFyYXRpb24gICAgICAgICBUeXBlZGVmCiBoaSBkZWYgbGluayBtYXJrZG93bklkICAgICAgICAgICAgICAgICAgICBUeXBlCkBAIC0xMTksOCArMTI3LDExIEBACiBoaSBkZWYgbGluayBtYXJrZG93blVybFRpdGxlRGVsaW1pdGVyICAgICBEZWxpbWl0ZXIKIAogaGkgZGVmIGxpbmsgbWFya2Rvd25JdGFsaWMgICAgICAgICAgICAgICAgaHRtbEl0YWxpYworaGkgZGVmIGxpbmsgbWFya2Rvd25JdGFsaWNEZWxpbWl0ZXIgICAgICAgbWFya2Rvd25JdGFsaWMKIGhpIGRlZiBsaW5rIG1hcmtkb3duQm9sZCAgICAgICAgICAgICAgICAgIGh0bWxCb2xkCitoaSBkZWYgbGluayBtYXJrZG93bkJvbGREZWxpbWl0ZXIgICAgICAgICBtYXJrZG93bkJvbGQKIGhpIGRlZiBsaW5rIG1hcmtkb3duQm9sZEl0YWxpYyAgICAgICAgICAgIGh0bWxCb2xkSXRhbGljCitoaSBkZWYgbGluayBtYXJrZG93bkJvbGRJdGFsaWNEZWxpbWl0ZXIgICBtYXJrZG93bkJvbGRJdGFsaWMKIGhpIGRlZiBsaW5rIG1hcmtkb3duQ29kZURlbGltaXRlciAgICAgICAgIERlbGltaXRlcgogCiBoaSBkZWYgbGluayBtYXJrZG93bkVzY2FwZSAgICAgICAgICAgICAgICBTcGVjaWFsCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tYXNvbi52aW0gYi9ydW50aW1lL3N5bnRheC9tYXNvbi52aW0KaW5kZXggNDBiZGIwZS4uNjc4OWUxMSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbWFzb24udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L21hc29uLnZpbQpAQCAtMTMsMTIgKzEzLDggQEAKICIgIC0gRml4IDwldGV4dD4gYmxvY2tzIHRvIHNob3cgSFRNTCB0YWdzIGJ1dCBpZ25vcmUgTWFzb24gdGFncy4KICIKIAotIiBDbGVhciBwcmV2aW91cyBzeW50YXggc2V0dGluZ3MgdW5sZXNzIHRoaXMgaXMgdjYgb3IgYWJvdmUsIGluIHdoaWNoIGNhc2UganVzdAotIiBleGl0IHdpdGhvdXQgZG9pbmcgYW55dGhpbmcuCi0iCi1pZiB2ZXJzaW9uIDwgNjAwCi0Jc3luIGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogCWZpbmlzaAogZW5kaWYKIApAQCAtMzAsMjIgKzI2LDE0IEBACiAKICIgRmlyc3QgcHVsbCBpbiB0aGUgSFRNTCBzeW50YXguCiAiCi1pZiB2ZXJzaW9uIDwgNjAwCi0Jc28gPHNmaWxlPjpwOmgvaHRtbC52aW0KLWVsc2UKLQlydW50aW1lISBzeW50YXgvaHRtbC52aW0KLQl1bmxldCBiOmN1cnJlbnRfc3ludGF4Ci1lbmRpZgorcnVudGltZSEgc3ludGF4L2h0bWwudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CiAKIHN5biBjbHVzdGVyIGh0bWxQcmVwcm9jIGFkZD1AbWFzb25Ub3AKIAogIiBOb3cgcHVsbCBpbiB0aGUgUGVybCBzeW50YXguCiAiCi1pZiB2ZXJzaW9uIDwgNjAwCi0Jc3luIGluY2x1ZGUgQHBlcmxUb3AgPHNmaWxlPjpwOmgvcGVybC52aW0KLWVsc2UKLQlzeW4gaW5jbHVkZSBAcGVybFRvcCBzeW50YXgvcGVybC52aW0KLWVuZGlmCitzeW4gaW5jbHVkZSBAcGVybFRvcCBzeW50YXgvcGVybC52aW0KIAogIiBJdCdzIGhhcmQgdG8gcmVkdWNlIGRvd24gdG8gdGhlIGNvcnJlY3Qgc3ViLXNldCBvZiBQZXJsIHRvIGhpZ2hsaWdodCBpbiBzb21lCiAiIG9mIHRoZXNlIGNhc2VzIHNvIEkndmUgdGFrZW4gdGhlIHNhZmUgb3B0aW9uIG9mIGp1c3QgdXNpbmcgcGVybFRvcCBpbiBhbGwgb2YKQEAgLTc4LDE5ICs2Niw3IEBACiAKICIgU2V0IHVwIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLiBBbG1vc3QgYWxsIG9mIHRoaXMgaXMgZG9uZSBpbiB0aGUgaW5jbHVkZWQKICIgc3ludGF4IGZpbGVzLgotIgotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21hc29uX3N5bl9pbml0cyIpCi0JaWYgdmVyc2lvbiA8IDUwOAotCQlsZXQgZGlkX21hc29uX3N5bl9pbml0cyA9IDEKLQkJY29tIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotCWVsc2UKLQkJY29tIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLQllbmRpZgotCi0JSGlMaW5rIG1hc29uRG9jIENvbW1lbnQKLQotCWRlbGMgSGlMaW5rCi1lbmRpZgoraGkgZGVmIGxpbmsgbWFzb25Eb2MgQ29tbWVudAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtYXNvbiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWFzdGVyLnZpbSBiL3J1bnRpbWUvc3ludGF4L21hc3Rlci52aW0KaW5kZXggNDBkNjQ0ZS4uMTQ0NDBlZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbWFzdGVyLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9tYXN0ZXIudmltCkBAIC04LDExICs4LDggQEAKICIgdGhpcyBpcyBhIHZlcnkgc2ltcGxlIHN5bnRheCBmaWxlIC0gSSB3aWxsIGJlIGltcHJvdmluZyBpdAogIiBhZGQgZW50aXJlIERFRklORSBzeW50YXgKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTI4LDIyICsyNSwxNCBAQAogc3luIG1hdGNoICAgbWFzdGVyQ29tbWVudAkiXCQuKiIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbWFzdGVyX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX21hc3Rlcl9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIG1hc3RlcktleXdvcmQgS2V5d29yZAotICBIaUxpbmsgbWFzdGVyQ29tbWVudCBDb21tZW50Ci0gIEhpTGluayBtYXN0ZXJTdHJpbmcgIFN0cmluZworSGlMaW5rIG1hc3RlcktleXdvcmQgS2V5d29yZAorSGlMaW5rIG1hc3RlckNvbW1lbnQgQ29tbWVudAorSGlMaW5rIG1hc3RlclN0cmluZyAgU3RyaW5nCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtYXN0ZXIiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21hdGxhYi52aW0gYi9ydW50aW1lL3N5bnRheC9tYXRsYWIudmltCmluZGV4IDM4MjhmM2UuLjljYzJiZTggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21hdGxhYi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbWF0bGFiLnZpbQpAQCAtOCwxMSArOCw4IEBACiAiIENoYW5nZSBIaXN0b3J5OgogIiAJCS0gJ2dsb2JhbCcgYW5kICdwZXJzaXN0ZW50JyBrZXl3b3JkIGFyZSBub3cgcmVjb2duaXplZAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNzYsNDkgKzczLDQxIEBACiBzeW4gbWF0Y2ggbWF0bGFiRXJyb3IJIi1cPVw8XGRcK1wuXGRcK1tlRWREXVstK11cPVxkXCtcLlwoW14qL1xcXl1cKSIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbWF0bGFiX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX21hdGxhYl9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIG1hdGxhYlRyYW5zcG9zZU9wZXJhdG9yCW1hdGxhYk9wZXJhdG9yCi0gIEhpTGluayBtYXRsYWJPcGVyYXRvcgkJCU9wZXJhdG9yCi0gIEhpTGluayBtYXRsYWJMaW5lQ29udGludWF0aW9uCQlTcGVjaWFsCi0gIEhpTGluayBtYXRsYWJMYWJlbAkJCUxhYmVsCi0gIEhpTGluayBtYXRsYWJDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIG1hdGxhYkV4Y2VwdGlvbnMJCUNvbmRpdGlvbmFsCi0gIEhpTGluayBtYXRsYWJSZXBlYXQJCQlSZXBlYXQKLSAgSGlMaW5rIG1hdGxhYlRvZG8JCQlUb2RvCi0gIEhpTGluayBtYXRsYWJTdHJpbmcJCQlTdHJpbmcKLSAgSGlMaW5rIG1hdGxhYkRlbGltaXRlcgkJSWRlbnRpZmllcgotICBIaUxpbmsgbWF0bGFiVHJhbnNwb3NlT3RoZXIJCUlkZW50aWZpZXIKLSAgSGlMaW5rIG1hdGxhYk51bWJlcgkJCU51bWJlcgotICBIaUxpbmsgbWF0bGFiRmxvYXQJCQlGbG9hdAotICBIaUxpbmsgbWF0bGFiRnVuY3Rpb24JCQlGdW5jdGlvbgotICBIaUxpbmsgbWF0bGFiRXJyb3IJCQlFcnJvcgotICBIaUxpbmsgbWF0bGFiSW1wbGljaXQJCQltYXRsYWJTdGF0ZW1lbnQKLSAgSGlMaW5rIG1hdGxhYlN0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBtYXRsYWJPTwkJCVN0YXRlbWVudAotICBIaUxpbmsgbWF0bGFiU2VtaWNvbG9uCQlTcGVjaWFsQ2hhcgotICBIaUxpbmsgbWF0bGFiQ29tbWVudAkJCUNvbW1lbnQKLSAgSGlMaW5rIG1hdGxhYk11bHRpbGluZUNvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIG1hdGxhYlNjb3BlCQkJVHlwZQorSGlMaW5rIG1hdGxhYlRyYW5zcG9zZU9wZXJhdG9yCW1hdGxhYk9wZXJhdG9yCitIaUxpbmsgbWF0bGFiT3BlcmF0b3IJCQlPcGVyYXRvcgorSGlMaW5rIG1hdGxhYkxpbmVDb250aW51YXRpb24JCVNwZWNpYWwKK0hpTGluayBtYXRsYWJMYWJlbAkJCUxhYmVsCitIaUxpbmsgbWF0bGFiQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCitIaUxpbmsgbWF0bGFiRXhjZXB0aW9ucwkJQ29uZGl0aW9uYWwKK0hpTGluayBtYXRsYWJSZXBlYXQJCQlSZXBlYXQKK0hpTGluayBtYXRsYWJUb2RvCQkJVG9kbworSGlMaW5rIG1hdGxhYlN0cmluZwkJCVN0cmluZworSGlMaW5rIG1hdGxhYkRlbGltaXRlcgkJSWRlbnRpZmllcgorSGlMaW5rIG1hdGxhYlRyYW5zcG9zZU90aGVyCQlJZGVudGlmaWVyCitIaUxpbmsgbWF0bGFiTnVtYmVyCQkJTnVtYmVyCitIaUxpbmsgbWF0bGFiRmxvYXQJCQlGbG9hdAorSGlMaW5rIG1hdGxhYkZ1bmN0aW9uCQkJRnVuY3Rpb24KK0hpTGluayBtYXRsYWJFcnJvcgkJCUVycm9yCitIaUxpbmsgbWF0bGFiSW1wbGljaXQJCQltYXRsYWJTdGF0ZW1lbnQKK0hpTGluayBtYXRsYWJTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIG1hdGxhYk9PCQkJU3RhdGVtZW50CitIaUxpbmsgbWF0bGFiU2VtaWNvbG9uCQlTcGVjaWFsQ2hhcgorSGlMaW5rIG1hdGxhYkNvbW1lbnQJCQlDb21tZW50CitIaUxpbmsgbWF0bGFiTXVsdGlsaW5lQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIG1hdGxhYlNjb3BlCQkJVHlwZQogCi0gIEhpTGluayBtYXRsYWJBcml0aG1ldGljT3BlcmF0b3IJbWF0bGFiT3BlcmF0b3IKLSAgSGlMaW5rIG1hdGxhYlJlbGF0aW9uYWxPcGVyYXRvcgltYXRsYWJPcGVyYXRvcgotICBIaUxpbmsgbWF0bGFiTG9naWNhbE9wZXJhdG9yCQltYXRsYWJPcGVyYXRvcgorSGlMaW5rIG1hdGxhYkFyaXRobWV0aWNPcGVyYXRvcgltYXRsYWJPcGVyYXRvcgorSGlMaW5rIG1hdGxhYlJlbGF0aW9uYWxPcGVyYXRvcgltYXRsYWJPcGVyYXRvcgorSGlMaW5rIG1hdGxhYkxvZ2ljYWxPcGVyYXRvcgkJbWF0bGFiT3BlcmF0b3IKIAogIm9wdGlvbmFsIGhpZ2hsaWdodGluZwotICAiSGlMaW5rIG1hdGxhYklkZW50aWZpZXIJCUlkZW50aWZpZXIKLSAgIkhpTGluayBtYXRsYWJUYWIJCQlFcnJvcgorIkhpTGluayBtYXRsYWJJZGVudGlmaWVyCQlJZGVudGlmaWVyCisiSGlMaW5rIG1hdGxhYlRhYgkJCUVycm9yCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtYXRsYWIiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21heGltYS52aW0gYi9ydW50aW1lL3N5bnRheC9tYXhpbWEudmltCmluZGV4IDI3ZGNjMTguLmJlMTNiMGUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21heGltYS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbWF4aW1hLnZpbQpAQCAtNiwxMSArNiw4IEBACiAiIEFkYXB0ZWQgbW9zdGx5IGZyb20geG1hdGgudmltCiAiIE51bWJlciBmb3JtYXRzIGFkYXB0ZWQgZnJvbSByLnZpbQogIgotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTIzNCw0MSArMjMxLDMzIEBACiBzeW4gc3luYyBtYXRjaCBtYXhpbWFTeW5jQ29tbWVudAlncm91cHRoZXJlIE5PTkUgIiovIgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tYXhpbWFfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbWF4aW1hX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgbWF4aW1hQnJhY2VFcnJvcgltYXhpbWFFcnJvcgotICBIaUxpbmsgbWF4aW1hQ21kCW1heGltYVN0YXRlbWVudAotICBIaUxpbmsgbWF4aW1hQ3VybHlFcnJvcgltYXhpbWFFcnJvcgotICBIaUxpbmsgbWF4aW1hRnVuY0NtZAltYXhpbWFTdGF0ZW1lbnQKLSAgSGlMaW5rIG1heGltYVBhcmVuRXJyb3IJbWF4aW1hRXJyb3IKK0hpTGluayBtYXhpbWFCcmFjZUVycm9yCW1heGltYUVycm9yCitIaUxpbmsgbWF4aW1hQ21kCW1heGltYVN0YXRlbWVudAorSGlMaW5rIG1heGltYUN1cmx5RXJyb3IJbWF4aW1hRXJyb3IKK0hpTGluayBtYXhpbWFGdW5jQ21kCW1heGltYVN0YXRlbWVudAorSGlMaW5rIG1heGltYVBhcmVuRXJyb3IJbWF4aW1hRXJyb3IKIAotICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCi0gIEhpTGluayBtYXhpbWFDaGFyYWN0ZXIJQ2hhcmFjdGVyCi0gIEhpTGluayBtYXhpbWFDb21tYQlGdW5jdGlvbgotICBIaUxpbmsgbWF4aW1hQ29tbWVudEJsb2NrCUNvbW1lbnQKLSAgSGlMaW5rIG1heGltYUNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluayBtYXhpbWFFcnJvcglFcnJvcgotICBIaUxpbmsgbWF4aW1hRnVuYwlEZWxpbWl0ZXIKLSAgSGlMaW5rIG1heGltYU9wICAgICAgICAgICAgICAgICBEZWxpbWl0ZXIKLSAgSGlMaW5rIG1heGltYUxhYmVsCVByZVByb2MKLSAgSGlMaW5rIG1heGltYU51bWJlcglOdW1iZXIKLSAgSGlMaW5rIG1heGltYUZsb2F0CUZsb2F0Ci0gIEhpTGluayBtYXhpbWFSZXBlYXQJUmVwZWF0Ci0gIEhpTGluayBtYXhpbWFTcGVjaWFsCVR5cGUKLSAgSGlMaW5rIG1heGltYVNwZWNpYWxDaGFyCVNwZWNpYWxDaGFyCi0gIEhpTGluayBtYXhpbWFTdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluayBtYXhpbWFTdHJpbmcJU3RyaW5nCi0gIEhpTGluayBtYXhpbWFUb2RvCVRvZG8KKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKK0hpTGluayBtYXhpbWFDaGFyYWN0ZXIJQ2hhcmFjdGVyCitIaUxpbmsgbWF4aW1hQ29tbWEJRnVuY3Rpb24KK0hpTGluayBtYXhpbWFDb21tZW50QmxvY2sJQ29tbWVudAorSGlMaW5rIG1heGltYUNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCitIaUxpbmsgbWF4aW1hRXJyb3IJRXJyb3IKK0hpTGluayBtYXhpbWFGdW5jCURlbGltaXRlcgorSGlMaW5rIG1heGltYU9wICAgICAgICAgICAgICAgICBEZWxpbWl0ZXIKK0hpTGluayBtYXhpbWFMYWJlbAlQcmVQcm9jCitIaUxpbmsgbWF4aW1hTnVtYmVyCU51bWJlcgorSGlMaW5rIG1heGltYUZsb2F0CUZsb2F0CitIaUxpbmsgbWF4aW1hUmVwZWF0CVJlcGVhdAorSGlMaW5rIG1heGltYVNwZWNpYWwJVHlwZQorSGlMaW5rIG1heGltYVNwZWNpYWxDaGFyCVNwZWNpYWxDaGFyCitIaUxpbmsgbWF4aW1hU3RhdGVtZW50CVN0YXRlbWVudAorSGlMaW5rIG1heGltYVN0cmluZwlTdHJpbmcKK0hpTGluayBtYXhpbWFUb2RvCVRvZG8KIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1heGltYSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21lbC52aW0gYi9ydW50aW1lL3N5bnRheC9tZWwudmltCmluZGV4IGRhYjg5NDguLjlmNGQ1ZmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21lbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbWVsLnZpbQpAQCAtNCwxMSArNCw4IEBACiAiIExhc3QgQ2hhbmdlOglNYXkgMjcgMTk5OQogIiBCYXNlZCBvbjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4gQyBzeW50YXggZmlsZQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNzcsNDUgKzc0LDM3IEBACiBleGVjICJzeSBzeW5jIGNjb21tZW50IG1lbENvbW1lbnQgbWlubGluZXM9IiAuIG1lbF9taW5saW5lcwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tZWxfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbWVsX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgbWVsQm9vbGVhbglCb29sZWFuCi0gIEhpTGluayBtZWxGdW5jdGlvbglGdW5jdGlvbgotICBIaUxpbmsgbWVsSWRlbnRpZmllcglJZGVudGlmaWVyCi0gIEhpTGluayBtZWxTdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluayBtZWxDb25kaXRpb25hbCBDb25kaXRpb25hbAotICBIaUxpbmsgbWVsUmVwZWF0CVJlcGVhdAotICBIaUxpbmsgbWVsTGFiZWwJTGFiZWwKLSAgSGlMaW5rIG1lbE9wZXJhdG9yCU9wZXJhdG9yCi0gIEhpTGluayBtZWxLZXl3b3JkCUtleXdvcmQKLSAgSGlMaW5rIG1lbEV4Y2VwdGlvbglFeGNlcHRpb24KLSAgSGlMaW5rIG1lbEluY2x1ZGUJSW5jbHVkZQotICBIaUxpbmsgbWVsVHlwZQlUeXBlCi0gIEhpTGluayBtZWxTdG9yYWdlQ2xhc3MgU3RvcmFnZUNsYXNzCi0gIEhpTGluayBtZWxEZWJ1ZwlEZWJ1ZwotICBIaUxpbmsgbWVsVG9kbwlUb2RvCi0gIEhpTGluayBtZWxDaGFyU3BlY2lhbCBTcGVjaWFsQ2hhcgotICBIaUxpbmsgbWVsU3RyaW5nCVN0cmluZwotICBIaUxpbmsgbWVsSW50ZWdlcglOdW1iZXIKLSAgSGlMaW5rIG1lbEZsb2F0CUZsb2F0Ci0gIEhpTGluayBtZWxNYXRyaXhWZWN0b3IgRmxvYXQKLSAgSGlMaW5rIG1lbENvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgbWVsRXJyb3IJRXJyb3IKLSAgSGlMaW5rIG1lbFNwYWNlRXJyb3IJbWVsRXJyb3IKLSAgSGlMaW5rIG1lbENoYXJFcnJvcgltZWxFcnJvcgotICBIaUxpbmsgbWVsUGFyZW5FcnJvcgltZWxFcnJvcgotICBIaUxpbmsgbWVsSW5QYXJlbgltZWxFcnJvcgotICBIaUxpbmsgbWVsQ29tbWVudEVycm9yIG1lbEVycm9yCitIaUxpbmsgbWVsQm9vbGVhbglCb29sZWFuCitIaUxpbmsgbWVsRnVuY3Rpb24JRnVuY3Rpb24KK0hpTGluayBtZWxJZGVudGlmaWVyCUlkZW50aWZpZXIKK0hpTGluayBtZWxTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgbWVsQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKK0hpTGluayBtZWxSZXBlYXQJUmVwZWF0CitIaUxpbmsgbWVsTGFiZWwJTGFiZWwKK0hpTGluayBtZWxPcGVyYXRvcglPcGVyYXRvcgorSGlMaW5rIG1lbEtleXdvcmQJS2V5d29yZAorSGlMaW5rIG1lbEV4Y2VwdGlvbglFeGNlcHRpb24KK0hpTGluayBtZWxJbmNsdWRlCUluY2x1ZGUKK0hpTGluayBtZWxUeXBlCVR5cGUKK0hpTGluayBtZWxTdG9yYWdlQ2xhc3MgU3RvcmFnZUNsYXNzCitIaUxpbmsgbWVsRGVidWcJRGVidWcKK0hpTGluayBtZWxUb2RvCVRvZG8KK0hpTGluayBtZWxDaGFyU3BlY2lhbCBTcGVjaWFsQ2hhcgorSGlMaW5rIG1lbFN0cmluZwlTdHJpbmcKK0hpTGluayBtZWxJbnRlZ2VyCU51bWJlcgorSGlMaW5rIG1lbEZsb2F0CUZsb2F0CitIaUxpbmsgbWVsTWF0cml4VmVjdG9yIEZsb2F0CitIaUxpbmsgbWVsQ29tbWVudAlDb21tZW50CitIaUxpbmsgbWVsRXJyb3IJRXJyb3IKK0hpTGluayBtZWxTcGFjZUVycm9yCW1lbEVycm9yCitIaUxpbmsgbWVsQ2hhckVycm9yCW1lbEVycm9yCitIaUxpbmsgbWVsUGFyZW5FcnJvcgltZWxFcnJvcgorSGlMaW5rIG1lbEluUGFyZW4JbWVsRXJyb3IKK0hpTGluayBtZWxDb21tZW50RXJyb3IgbWVsRXJyb3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1lbCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21mLnZpbSBiL3J1bnRpbWUvc3ludGF4L21mLnZpbQppbmRleCA4YmM0OGZlLi5lMjc3YzJkIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9tZi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbWYudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJQW5kcmVhcyBTY2hlcmVyIDxhbmRyZWFzLnNjaGVyZXJAcG9ib3guY29tPgogIiBMYXN0IENoYW5nZToJQXByaWwgMjUsIDIwMDEKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3luIGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE1Nyw0MCArMTU0LDMyIEBACiBzeW4gc3luYyBtYXhsaW5lcz01MAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21mX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX21mX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgbWZCb29sRXhwCVN0YXRlbWVudAotICBIaUxpbmsgbWZOdW1FeHAJU3RhdGVtZW50Ci0gIEhpTGluayBtZkludGVybmFsCUlkZW50aWZpZXIKLSAgSGlMaW5rIG1mUGFpckV4cAlTdGF0ZW1lbnQKLSAgSGlMaW5rIG1mUGF0aEV4cAlTdGF0ZW1lbnQKLSAgSGlMaW5rIG1mUGVuRXhwCVN0YXRlbWVudAotICBIaUxpbmsgbWZQaWNFeHAJU3RhdGVtZW50Ci0gIEhpTGluayBtZlN0cmluZ0V4cAlTdGF0ZW1lbnQKLSAgSGlMaW5rIG1mQ29tbWFuZAlTdGF0ZW1lbnQKLSAgSGlMaW5rIG1mVHlwZQlUeXBlCi0gIEhpTGluayBtZlN0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIG1mRGVmaW5pdGlvbglTdGF0ZW1lbnQKLSAgSGlMaW5rIG1mQ29uZGl0aW9uCUNvbmRpdGlvbmFsCi0gIEhpTGluayBtZlByaW1pdGl2ZQlTdGF0ZW1lbnQKLSAgSGlMaW5rIG1mTWFjcm8JTWFjcm8KLSAgSGlMaW5rIG1mQ29vcmQJSWRlbnRpZmllcgotICBIaUxpbmsgbWZQb2ludAlJZGVudGlmaWVyCi0gIEhpTGluayBtZk51bWVyaWMJTnVtYmVyCi0gIEhpTGluayBtZkxlbmd0aAlOdW1iZXIKLSAgSGlMaW5rIG1mQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBtZlN0cmluZwlTdHJpbmcKK0hpTGluayBtZkJvb2xFeHAJU3RhdGVtZW50CitIaUxpbmsgbWZOdW1FeHAJU3RhdGVtZW50CitIaUxpbmsgbWZJbnRlcm5hbAlJZGVudGlmaWVyCitIaUxpbmsgbWZQYWlyRXhwCVN0YXRlbWVudAorSGlMaW5rIG1mUGF0aEV4cAlTdGF0ZW1lbnQKK0hpTGluayBtZlBlbkV4cAlTdGF0ZW1lbnQKK0hpTGluayBtZlBpY0V4cAlTdGF0ZW1lbnQKK0hpTGluayBtZlN0cmluZ0V4cAlTdGF0ZW1lbnQKK0hpTGluayBtZkNvbW1hbmQJU3RhdGVtZW50CitIaUxpbmsgbWZUeXBlCVR5cGUKK0hpTGluayBtZlN0YXRlbWVudAlTdGF0ZW1lbnQKK0hpTGluayBtZkRlZmluaXRpb24JU3RhdGVtZW50CitIaUxpbmsgbWZDb25kaXRpb24JQ29uZGl0aW9uYWwKK0hpTGluayBtZlByaW1pdGl2ZQlTdGF0ZW1lbnQKK0hpTGluayBtZk1hY3JvCU1hY3JvCitIaUxpbmsgbWZDb29yZAlJZGVudGlmaWVyCitIaUxpbmsgbWZQb2ludAlJZGVudGlmaWVyCitIaUxpbmsgbWZOdW1lcmljCU51bWJlcgorSGlMaW5rIG1mTGVuZ3RoCU51bWJlcgorSGlMaW5rIG1mQ29tbWVudAlDb21tZW50CitIaUxpbmsgbWZTdHJpbmcJU3RyaW5nCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtZiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWdsLnZpbSBiL3J1bnRpbWUvc3ludGF4L21nbC52aW0KaW5kZXggNTVhZTEzNy4uNGZkNzE4ZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbWdsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9tZ2wudmltCkBAIC02LDkgKzYsOCBAQAogIgogIiAkSWQ6IG1nbC52aW0sdiAxLjEgMjAwNi8wMi8yMSAyMjowODoyMCB2aW1ib3NzIEV4cCAkCiAiCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC04NCw0MyArODMsMzUgQEAKIAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tZ2xfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbWdsX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgbWdsQm9vbGVhbgkJQm9vbGVhbgotICBIaUxpbmsgbWdsQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgbWdsQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCi0gIEhpTGluayBtZ2xDb25zdGFudAkJQ29uc3RhbnQKLSAgSGlMaW5rIG1nbEV4Y2VwdGlvbgkJRXhjZXB0aW9uCi0gIEhpTGluayBtZ2xGdW5jdGlvbgkJRnVuY3Rpb24KLSAgSGlMaW5rIG1nbExhYmVsCQlMYWJlbAotICBIaUxpbmsgbWdsTWF0cml4RGVsaW1pdGVyCUlkZW50aWZpZXIKLSAgSGlMaW5rIG1nbE51bWJlcgkJTnVtYmVyCi0gIEhpTGluayBtZ2xIZXhOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgbWdsQ2hhcmFjdGVyCQlOdW1iZXIKLSAgSGlMaW5rIG1nbElwQWRkcgkJTnVtYmVyCi0gIEhpTGluayBtZ2xPcGVyYXRvcgkJT3BlcmF0b3IKLSAgSGlMaW5rIG1nbFByZWRlZmluZWQJCW1nbEZ1bmN0aW9uCi0gIEhpTGluayBtZ2xQcmVQcm9jCQlQcmVQcm9jCi0gIEhpTGluayBtZ2xSZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgbWdsU3RhdGVtZW50CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIG1nbFN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBtZ2xTdHJpbmdFc2NhcGUJU3BlY2lhbAotICBIaUxpbmsgbWdsU3RyaW5nRXNjYXBlR1BDCVNwZWNpYWwKLSAgSGlMaW5rIG1nbFN0cmluZ0Vycm9yCQlFcnJvcgotICBIaUxpbmsgbWdsU3RydWN0CQltZ2xTdGF0ZW1lbnQKLSAgSGlMaW5rIG1nbFN5bWJvbE9wZXJhdG9yCW1nbE9wZXJhdG9yCi0gIEhpTGluayBtZ2xUeXBlCQlUeXBlCitIaUxpbmsgbWdsQm9vbGVhbgkJQm9vbGVhbgorSGlMaW5rIG1nbENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBtZ2xDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKK0hpTGluayBtZ2xDb25zdGFudAkJQ29uc3RhbnQKK0hpTGluayBtZ2xFeGNlcHRpb24JCUV4Y2VwdGlvbgorSGlMaW5rIG1nbEZ1bmN0aW9uCQlGdW5jdGlvbgorSGlMaW5rIG1nbExhYmVsCQlMYWJlbAorSGlMaW5rIG1nbE1hdHJpeERlbGltaXRlcglJZGVudGlmaWVyCitIaUxpbmsgbWdsTnVtYmVyCQlOdW1iZXIKK0hpTGluayBtZ2xIZXhOdW1iZXIJCU51bWJlcgorSGlMaW5rIG1nbENoYXJhY3RlcgkJTnVtYmVyCitIaUxpbmsgbWdsSXBBZGRyCQlOdW1iZXIKK0hpTGluayBtZ2xPcGVyYXRvcgkJT3BlcmF0b3IKK0hpTGluayBtZ2xQcmVkZWZpbmVkCQltZ2xGdW5jdGlvbgorSGlMaW5rIG1nbFByZVByb2MJCVByZVByb2MKK0hpTGluayBtZ2xSZXBlYXQJCVJlcGVhdAorSGlMaW5rIG1nbFN0YXRlbWVudAkJU3RhdGVtZW50CitIaUxpbmsgbWdsU3RyaW5nCQlTdHJpbmcKK0hpTGluayBtZ2xTdHJpbmdFc2NhcGUJU3BlY2lhbAorSGlMaW5rIG1nbFN0cmluZ0VzY2FwZUdQQwlTcGVjaWFsCitIaUxpbmsgbWdsU3RyaW5nRXJyb3IJCUVycm9yCitIaUxpbmsgbWdsU3RydWN0CQltZ2xTdGF0ZW1lbnQKK0hpTGluayBtZ2xTeW1ib2xPcGVyYXRvcgltZ2xPcGVyYXRvcgorSGlMaW5rIG1nbFR5cGUJCVR5cGUKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAibWdsIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWdwLnZpbSBiL3J1bnRpbWUvc3ludGF4L21ncC52aW0KaW5kZXggNzZiOTY2MS4uYTVjNjE4NiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbWdwLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9tZ3AudmltCkBAIC0xMCwxMSArMTAsOCBAQAogIiBTUEFNIGlzIF9OT1RfIHdlbGNvbWUgLSBiZSByZWFkeSB0byBiZSByZXBvcnRlZCEKIAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW4gY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNDgsMzYgKzQ1LDI3IEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbWdwX3N5bl9pbml0cyIpCi0gIGxldCBkaWRfbWdwX3N5bl9pbml0cyA9IDEKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbWdwX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgbWdwTGluZVNraXAJU3BlY2lhbAorSGlMaW5rIG1ncExpbmVTa2lwCVNwZWNpYWwKIAotICBIaUxpbmsgbWdwSGFzaAltZ3BDb21tZW50Ci0gIEhpTGluayBtZ3BQZXJjZW50CW1ncENvbW1lbnQKLSAgSGlMaW5rIG1ncENvbW1lbnQJQ29tbWVudAorSGlMaW5rIG1ncEhhc2gJbWdwQ29tbWVudAorSGlMaW5rIG1ncFBlcmNlbnQJbWdwQ29tbWVudAorSGlMaW5rIG1ncENvbW1lbnQJQ29tbWVudAogCi0gIEhpTGluayBtZ3BDb21tYW5kCUlkZW50aWZpZXIKK0hpTGluayBtZ3BDb21tYW5kCUlkZW50aWZpZXIKIAotICBIaUxpbmsgbWdwTGluZQlUeXBlCitIaUxpbmsgbWdwTGluZQlUeXBlCiAKLSAgSGlMaW5rIG1ncEZpbGUJU3RyaW5nCi0gIEhpTGluayBtZ3BTaXplCU51bWJlcgotICBIaUxpbmsgbWdwVmFsdWUJTnVtYmVyCitIaUxpbmsgbWdwRmlsZQlTdHJpbmcKK0hpTGluayBtZ3BTaXplCU51bWJlcgorSGlMaW5rIG1ncFZhbHVlCU51bWJlcgogCi0gIEhpTGluayBtZ3BQYWdlCW1ncERlZmluZQotICBIaUxpbmsgbWdwTm9EZWZhdWx0CW1ncERlZmluZQotICBIaUxpbmsgbWdwRGVmaW5lCURlZmluZQorSGlMaW5rIG1ncFBhZ2UJbWdwRGVmaW5lCitIaUxpbmsgbWdwTm9EZWZhdWx0CW1ncERlZmluZQorSGlMaW5rIG1ncERlZmluZQlEZWZpbmUKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1ncCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21tYS52aW0gYi9ydW50aW1lL3N5bnRheC9tbWEudmltCmluZGV4IGM2M2JlYjEuLjliZGI3MDEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21tYS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbW1hLnZpbQpAQCAtMzUsOSArMzUsOCBAQAogIiAgIGZpeCBuZXN0aW5nCiAiICAgZmluaXNoIHBvcHVsYXRpbmcgcG9wdWxhciBzeW1ib2xzCiAKLWlmIHZlcnNpb24gPCA2MDAKLQlzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICAgZmluaXNoCiBlbmRpZgogCkBAIC0yODMsNDcgKzI4Miw0MCBAQAogInNldCBmb2xkbmVzdG1heD0xCiAic2V0IGZvbGRtaW5saW5lcz0xNQogCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbW1hX3N5bl9pbml0cyIpCi0JaWYgdmVyc2lvbiA8IDUwOAotCQlsZXQgZGlkX21tYV9zeW5faW5pdHMgPSAxCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0JZWxzZQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLQllbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgICAiIE5PVEUgLSB0aGUgZm9sbG93aW5nIGxpbmtzIGFyZSBub3QgZ3VhcmFudGVlZCB0bwotICAgICIgbG9vayBnb29kIHVuZGVyIGFsbCBjb2xvcnNjaGVtZXMuICBZb3UgbWlnaHQgbmVlZCB0bwotICAgICIgOnNvICRWSU1SVU5USU1FL3N5bnRheC9oaXRlc3QudmltIGFuZCB0d2VhayB0aGVzZSB0bwotICAgICIgbG9vayBnb29kIGluIHlvdXJzCisiIE5PVEUgLSB0aGUgZm9sbG93aW5nIGxpbmtzIGFyZSBub3QgZ3VhcmFudGVlZCB0bworIiBsb29rIGdvb2QgdW5kZXIgYWxsIGNvbG9yc2NoZW1lcy4gIFlvdSBtaWdodCBuZWVkIHRvCisiIDpzbyAkVklNUlVOVElNRS9zeW50YXgvaGl0ZXN0LnZpbSBhbmQgdHdlYWsgdGhlc2UgdG8KKyIgbG9vayBnb29kIGluIHlvdXJzCiAKIAotICAgIEhpTGluayBtbWFDb21tZW50ICAgICAgICAgICBDb21tZW50Ci0gICAgSGlMaW5rIG1tYUNvbW1lbnRTdGFyICAgICAgIENvbW1lbnQKLSAgICBIaUxpbmsgbW1hRnVuY3Rpb25Db21tZW50ICAgQ29tbWVudAotICAgIEhpTGluayBtbWFMb29zZVF1b3RlICAgICAgICBDb21tZW50Ci0JSGlMaW5rIG1tYUdlbmVyaWNGdW5jdGlvbiAgIEZ1bmN0aW9uCi0JSGlMaW5rIG1tYVZhcmlhYmxlICAgICAgICAgIElkZW50aWZpZXIKK0hpTGluayBtbWFDb21tZW50ICAgICAgICAgICBDb21tZW50CitIaUxpbmsgbW1hQ29tbWVudFN0YXIgICAgICAgQ29tbWVudAorSGlMaW5rIG1tYUZ1bmN0aW9uQ29tbWVudCAgIENvbW1lbnQKK0hpTGluayBtbWFMb29zZVF1b3RlICAgICAgICBDb21tZW50CitIaUxpbmsgbW1hR2VuZXJpY0Z1bmN0aW9uICAgRnVuY3Rpb24KK0hpTGluayBtbWFWYXJpYWJsZSAgICAgICAgICBJZGVudGlmaWVyCiAiICAgIEhpTGluayBtbWFTeW1ib2wgICAgICAgICAgICBJZGVudGlmaWVyCi0JSGlMaW5rIG1tYU9wZXJhdG9yICAgICAgICAgIE9wZXJhdG9yCi0gICAgSGlMaW5rIG1tYVBhdHRlcm5PcCAgICAgICAgIE9wZXJhdG9yCi0JSGlMaW5rIG1tYVB1cmVGdW5jdGlvbiAgICAgIE9wZXJhdG9yCi0JSGlMaW5rIG1tYVN0cmluZyAgICAgICAgICAgIFN0cmluZwotICAgIEhpTGluayBtbWFDb21tZW50U3RyaW5nICAgICBTdHJpbmcKLQlIaUxpbmsgbW1hVW5pY29kZSAgICAgICAgICAgU3RyaW5nCi0JSGlMaW5rIG1tYU1lc3NhZ2UgICAgICAgICAgIFR5cGUKLSAgICBIaUxpbmsgbW1hTnVtYmVyICAgICAgICAgICAgVHlwZQotCUhpTGluayBtbWFQYXR0ZXJuICAgICAgICAgICBUeXBlCi0JSGlMaW5rIG1tYUVycm9yICAgICAgICAgICAgIEVycm9yCi0JSGlMaW5rIG1tYUZpeG1lICAgICAgICAgICAgIEVycm9yCi0gICAgSGlMaW5rIG1tYVBhdHRlcm5FcnJvciAgICAgIEVycm9yCi0gICAgSGlMaW5rIG1tYVRvZG8gICAgICAgICAgICAgIFRvZG8KLSAgICBIaUxpbmsgbW1hZW1QSEFzaXMgICAgICAgICAgU3BlY2lhbAotICAgIEhpTGluayBtbWFGdW5jdGlvblRpdGxlICAgICBTcGVjaWFsCi0gICAgSGlMaW5rIG1tYU1lc3NhZ2VUeXBlICAgICAgIFNwZWNpYWwKLSAgICBIaUxpbmsgbW1hSXRlbSAgICAgICAgICAgICAgUHJlcHJvYworSGlMaW5rIG1tYU9wZXJhdG9yICAgICAgICAgIE9wZXJhdG9yCitIaUxpbmsgbW1hUGF0dGVybk9wICAgICAgICAgT3BlcmF0b3IKK0hpTGluayBtbWFQdXJlRnVuY3Rpb24gICAgICBPcGVyYXRvcgorSGlMaW5rIG1tYVN0cmluZyAgICAgICAgICAgIFN0cmluZworSGlMaW5rIG1tYUNvbW1lbnRTdHJpbmcgICAgIFN0cmluZworSGlMaW5rIG1tYVVuaWNvZGUgICAgICAgICAgIFN0cmluZworSGlMaW5rIG1tYU1lc3NhZ2UgICAgICAgICAgIFR5cGUKK0hpTGluayBtbWFOdW1iZXIgICAgICAgICAgICBUeXBlCitIaUxpbmsgbW1hUGF0dGVybiAgICAgICAgICAgVHlwZQorSGlMaW5rIG1tYUVycm9yICAgICAgICAgICAgIEVycm9yCitIaUxpbmsgbW1hRml4bWUgICAgICAgICAgICAgRXJyb3IKK0hpTGluayBtbWFQYXR0ZXJuRXJyb3IgICAgICBFcnJvcgorSGlMaW5rIG1tYVRvZG8gICAgICAgICAgICAgIFRvZG8KK0hpTGluayBtbWFlbVBIQXNpcyAgICAgICAgICBTcGVjaWFsCitIaUxpbmsgbW1hRnVuY3Rpb25UaXRsZSAgICAgU3BlY2lhbAorSGlMaW5rIG1tYU1lc3NhZ2VUeXBlICAgICAgIFNwZWNpYWwKK0hpTGluayBtbWFJdGVtICAgICAgICAgICAgICBQcmVwcm9jCiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1tYSIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbW1peC52aW0gYi9ydW50aW1lL3N5bnRheC9tbWl4LnZpbQppbmRleCA3OWNhNzgxLi43MjRiZGQzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9tbWl4LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9tbWl4LnZpbQpAQCAtOSw5ICs5LDggQEAKICIgTGltaXRhdGlvbnM6CUNvbW1lbnRzIG11c3Qgc3RhcnQgd2l0aCBlaXRoZXIgJSBvciAvLwogIgkJKHByZWZlcmFibHkgJSwgS251dGgtU3R5bGUpCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTExOSw0NCArMTE4LDM2IEBACiBzeW4ga2V5d29yZCBtbWl4UmVnaXN0ZXIJckJCIHJUVCByV1cgclhYIHJZWSByWloKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbW1peF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9tbWl4X3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCi0gIEhpTGluayBtbWl4QXQJCVR5cGUKLSAgSGlMaW5rIG1taXhQc2V1ZG8JVHlwZQotICBIaUxpbmsgbW1peFJlZ2lzdGVyCVNwZWNpYWwKLSAgSGlMaW5rIG1taXhTZWdtZW50cwlUeXBlCisiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCitIaUxpbmsgbW1peEF0CQlUeXBlCitIaUxpbmsgbW1peFBzZXVkbwlUeXBlCitIaUxpbmsgbW1peFJlZ2lzdGVyCVNwZWNpYWwKK0hpTGluayBtbWl4U2VnbWVudHMJVHlwZQogCi0gIEhpTGluayBtbWl4TGFiZWwJU3BlY2lhbAotICBIaUxpbmsgbW1peENvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgbW1peE9wY29kZQlLZXl3b3JkCitIaUxpbmsgbW1peExhYmVsCVNwZWNpYWwKK0hpTGluayBtbWl4Q29tbWVudAlDb21tZW50CitIaUxpbmsgbW1peE9wY29kZQlLZXl3b3JkCiAKLSAgSGlMaW5rIGhleE51bWJlcglOdW1iZXIKLSAgSGlMaW5rIGRlY051bWJlcglOdW1iZXIKLSAgSGlMaW5rIG9jdE51bWJlcglOdW1iZXIKK0hpTGluayBoZXhOdW1iZXIJTnVtYmVyCitIaUxpbmsgZGVjTnVtYmVyCU51bWJlcgorSGlMaW5rIG9jdE51bWJlcglOdW1iZXIKIAotICBIaUxpbmsgbW1peFN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIG1taXhDaGFyCVN0cmluZworSGlMaW5rIG1taXhTdHJpbmcJU3RyaW5nCitIaUxpbmsgbW1peENoYXIJU3RyaW5nCiAKLSAgSGlMaW5rIG1taXhUeXBlCVR5cGUKLSAgSGlMaW5rIG1taXhJZGVudGlmaWVyCU5vcm1hbAotICBIaUxpbmsgbW1peFNwZWNpYWxDb21tZW50IENvbW1lbnQKK0hpTGluayBtbWl4VHlwZQlUeXBlCitIaUxpbmsgbW1peElkZW50aWZpZXIJTm9ybWFsCitIaUxpbmsgbW1peFNwZWNpYWxDb21tZW50IENvbW1lbnQKIAotICAiIE15IGRlZmF1bHQgY29sb3Igb3ZlcnJpZGVzOgotICAiIGhpIG1taXhTcGVjaWFsQ29tbWVudCBjdGVybWZnPXJlZAotICAiaGkgbW1peExhYmVsIGN0ZXJtZmc9bGlnaHRjeWFuCi0gICIgaGkgbW1peFR5cGUgY3Rlcm1iZz1ibGFjayBjdGVybWZnPWJyb3duCisiIE15IGRlZmF1bHQgY29sb3Igb3ZlcnJpZGVzOgorIiBoaSBtbWl4U3BlY2lhbENvbW1lbnQgY3Rlcm1mZz1yZWQKKyJoaSBtbWl4TGFiZWwgY3Rlcm1mZz1saWdodGN5YW4KKyIgaGkgbW1peFR5cGUgY3Rlcm1iZz1ibGFjayBjdGVybWZnPWJyb3duCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtbWl4IgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tbXAudmltIGIvcnVudGltZS9zeW50YXgvbW1wLnZpbQppbmRleCAwMTE3ZTc3Li5kMGI5ZjdjIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9tbXAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L21tcC52aW0KQEAgLTUsMTEgKzUsOCBAQAogIiBVUkw6IGh0dHA6Ly9yb253YXJlLm9yZy93aWtpL3ZpbS9tbXAKICIgRmlsZXR5cGVzOgkqLm1tcAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMzQsOCArMzEsNyBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAogaWYgIWV4aXN0cygiZGlkX21tcF9zeW50YXhfaW5pdHMiKQogICBsZXQgZGlkX21tcF9zeW50YXhfaW5pdHM9MQogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tb2RzaW0zLnZpbSBiL3J1bnRpbWUvc3ludGF4L21vZHNpbTMudmltCmluZGV4IDA0ZTlhYjkuLmJhMTk2M2IgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21vZHNpbTMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L21vZHNpbTMudmltCkBAIC0xMiwxMCArMTIsOCBAQAogIgogIiB2ZXJ5IGJhc2ljIHRoaW5ncyBvbmx5IChiYXNlZCBvbiB0aGUgbW9kdWxhMiBhbmQgYyBmaWxlcykuCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgIiBSZW1vdmUgYW55IG9sZCBzeW50YXggc3R1ZmYgaGFuZ2luZyBhcm91bmQKLSAgc3luIGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTc3LDMxICs3NSwyMyBAQAogc3luIG1hdGNoIG1vZHNpbTNMaXRlcmFsICInW14nXSdcfCcnJyciCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21vZHNpbTNfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbW9kc2ltM19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgotICBIaUxpbmsgbW9kc2ltM0tleXdvcmQJU3RhdGVtZW50Ci0gIEhpTGluayBtb2RzaW0zQmxvY2sJCVN0YXRlbWVudAotICBIaUxpbmsgbW9kc2ltM0NvbW1lbnQxCUNvbW1lbnQKLSAgSGlMaW5rIG1vZHNpbTNDb21tZW50MglDb21tZW50Ci0gIEhpTGluayBtb2RzaW0zU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIG1vZHNpbTNMaXRlcmFsCUNoYXJhY3RlcgotICBIaUxpbmsgbW9kc2ltM0luY2x1ZGUJU3RhdGVtZW50Ci0gIEhpTGluayBtb2RzaW0zVHlwZQkJVHlwZQotICBIaUxpbmsgbW9kc2ltM1BhcmVuRXJyb3IJRXJyb3IKLSAgSGlMaW5rIG1vZHNpbTNCdWlsdGluCUZ1bmN0aW9uCi0gIEhpTGluayBtb2RzaW0zQnVpbHRpbk5vUGFyZW4JRnVuY3Rpb24KKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKK0hpTGluayBtb2RzaW0zS2V5d29yZAlTdGF0ZW1lbnQKK0hpTGluayBtb2RzaW0zQmxvY2sJCVN0YXRlbWVudAorSGlMaW5rIG1vZHNpbTNDb21tZW50MQlDb21tZW50CitIaUxpbmsgbW9kc2ltM0NvbW1lbnQyCUNvbW1lbnQKK0hpTGluayBtb2RzaW0zU3RyaW5nCQlTdHJpbmcKK0hpTGluayBtb2RzaW0zTGl0ZXJhbAlDaGFyYWN0ZXIKK0hpTGluayBtb2RzaW0zSW5jbHVkZQlTdGF0ZW1lbnQKK0hpTGluayBtb2RzaW0zVHlwZQkJVHlwZQorSGlMaW5rIG1vZHNpbTNQYXJlbkVycm9yCUVycm9yCitIaUxpbmsgbW9kc2ltM0J1aWx0aW4JRnVuY3Rpb24KK0hpTGluayBtb2RzaW0zQnVpbHRpbk5vUGFyZW4JRnVuY3Rpb24KIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1vZHNpbTMiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21vZHVsYTIudmltIGIvcnVudGltZS9zeW50YXgvbW9kdWxhMi52aW0KaW5kZXggMzAxODkwMC4uOTg3MzIwMSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbW9kdWxhMi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbW9kdWxhMi52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiAgIGJhc2VkIG9uIG9yaWdpbmFsIHdvcmsgb2YgQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KICIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDA5CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC01NCwzMiArNTEsMjQgQEAKIHN5biByZWdpb24gbW9kdWxhMlNldCBzdGFydD0ieyIgZW5kPSJ9IgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tb2R1bGEyX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX21vZHVsYTJfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBtb2R1bGEySWRlbnQJCUlkZW50aWZpZXIKLSAgSGlMaW5rIG1vZHVsYTJTdGRDb25zdAlCb29sZWFuCi0gIEhpTGluayBtb2R1bGEyVHlwZQkJSWRlbnRpZmllcgotICBIaUxpbmsgbW9kdWxhMlN0ZEZ1bmMJCUlkZW50aWZpZXIKLSAgSGlMaW5rIG1vZHVsYTJIZWFkZXIJCVR5cGUKLSAgSGlMaW5rIG1vZHVsYTJLZXl3b3JkCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIG1vZHVsYTJBdHRLZXl3b3JkCVByZVByb2MKLSAgSGlMaW5rIG1vZHVsYTJDb21tZW50CQlDb21tZW50Ci0gICIgVGhlIGZvbGxvd2luZyBpcyBqdXN0IGEgbWF0dGVyIG9mIHRhc3RlICh5b3Ugd2FudCB0byB0cnkgdGhpcyBpbnN0ZWFkKToKLSAgIiBoaSBtb2R1bGEyQ29tbWVudCB0ZXJtPWJvbGQgY3Rlcm1mZz1EYXJrQmx1ZSBndWlmZz1CbHVlIGd1aT1ib2xkCi0gIEhpTGluayBtb2R1bGEyVG9kbwkJVG9kbwotICBIaUxpbmsgbW9kdWxhMlN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBtb2R1bGEyU2V0CQlTdHJpbmcKK0hpTGluayBtb2R1bGEySWRlbnQJCUlkZW50aWZpZXIKK0hpTGluayBtb2R1bGEyU3RkQ29uc3QJQm9vbGVhbgorSGlMaW5rIG1vZHVsYTJUeXBlCQlJZGVudGlmaWVyCitIaUxpbmsgbW9kdWxhMlN0ZEZ1bmMJCUlkZW50aWZpZXIKK0hpTGluayBtb2R1bGEySGVhZGVyCQlUeXBlCitIaUxpbmsgbW9kdWxhMktleXdvcmQJCVN0YXRlbWVudAorSGlMaW5rIG1vZHVsYTJBdHRLZXl3b3JkCVByZVByb2MKK0hpTGluayBtb2R1bGEyQ29tbWVudAkJQ29tbWVudAorIiBUaGUgZm9sbG93aW5nIGlzIGp1c3QgYSBtYXR0ZXIgb2YgdGFzdGUgKHlvdSB3YW50IHRvIHRyeSB0aGlzIGluc3RlYWQpOgorIiBoaSBtb2R1bGEyQ29tbWVudCB0ZXJtPWJvbGQgY3Rlcm1mZz1EYXJrQmx1ZSBndWlmZz1CbHVlIGd1aT1ib2xkCitIaUxpbmsgbW9kdWxhMlRvZG8JCVRvZG8KK0hpTGluayBtb2R1bGEyU3RyaW5nCQlTdHJpbmcKK0hpTGluayBtb2R1bGEyU2V0CQlTdHJpbmcKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1vZHVsYTIiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21vZHVsYTMudmltIGIvcnVudGltZS9zeW50YXgvbW9kdWxhMy52aW0KaW5kZXggZDZmNzJhZi4uNWYwMGVmYiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbW9kdWxhMy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbW9kdWxhMy52aW0KQEAgLTYsMTEgKzYsOCBAQAogIiBCYXNpYyB0aGluZ3Mgb25seS4uLgogIiBCYXNlZCBvbiB0aGUgbW9kdWxhIDIgc3ludGF4IGZpbGUKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTQ2LDI0ICs0MywxNiBAQAogc3luIHJlZ2lvbiBtb2R1bGEzU3RyaW5nIHN0YXJ0PSsnKyBlbmQ9KycrCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21vZHVsYTNfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbW9kdWxhM19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgotICBIaUxpbmsgbW9kdWxhM0tleXdvcmQJU3RhdGVtZW50Ci0gIEhpTGluayBtb2R1bGEzQmxvY2sJCVByZVByb2MKLSAgSGlMaW5rIG1vZHVsYTNDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIG1vZHVsYTNTdHJpbmcJCVN0cmluZworIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorSGlMaW5rIG1vZHVsYTNLZXl3b3JkCVN0YXRlbWVudAorSGlMaW5rIG1vZHVsYTNCbG9jawkJUHJlUHJvYworSGlMaW5rIG1vZHVsYTNDb21tZW50CUNvbW1lbnQKK0hpTGluayBtb2R1bGEzU3RyaW5nCQlTdHJpbmcKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1vZHVsYTMiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21vbmsudmltIGIvcnVudGltZS9zeW50YXgvbW9uay52aW0KaW5kZXggYWZlMmI1Ni4uODUxNTYwYSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbW9uay52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbW9uay52aW0KQEAgLTIxLDExICsyMSw4IEBACiAKICIgSW5pdGlhbGl6aW5nOgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNjAsMTEgKzU3LDcgQEAKIAogIiBSNVJTIFNjaGVtZSBGdW5jdGlvbnMgYW5kIFN5bnRheDoKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzZXQgaXNrZXl3b3JkPTMzLDM1LTM5LDQyLTU4LDYwLTkwLDk0LDk1LDk3LTEyMiwxMjYsXwotZWxzZQotICBzZXRsb2NhbCBpc2tleXdvcmQ9MzMsMzUtMzksNDItNTgsNjAtOTAsOTQsOTUsOTctMTIyLDEyNixfCi1lbmRpZgorc2V0bG9jYWwgaXNrZXl3b3JkPTMzLDM1LTM5LDQyLTU4LDYwLTkwLDk0LDk1LDk3LTEyMiwxMjYsXwogCiBzeW4ga2V5d29yZCBtb25rU3ludGF4IGxhbWJkYSBhbmQgb3IgaWYgY29uZCBjYXNlIGRlZmluZSBsZXQgbGV0KiBsZXRyZWMKIHN5biBrZXl3b3JkIG1vbmtTeW50YXggYmVnaW4gZG8gZGVsYXkgc2V0ISBlbHNlID0+CkBAIC0yMDEsMzIgKzE5NCwyNCBAQAogIiAuLi4gaS5lLiBzeW5jaHJvbml6ZSBvbiBhIGxpbmUgdGhhdCBzdGFydHMgYXQgdGhlIGxlZnQgbWFyZ2luCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21vbmtfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbW9ua19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIG1vbmtTeW50YXgJCVN0YXRlbWVudAotICBIaUxpbmsgbW9ua0Z1bmMJCUZ1bmN0aW9uCitIaUxpbmsgbW9ua1N5bnRheAkJU3RhdGVtZW50CitIaUxpbmsgbW9ua0Z1bmMJCUZ1bmN0aW9uCiAKLSAgSGlMaW5rIG1vbmtTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgbW9ua0NoYXIJCUNoYXJhY3RlcgotICBIaUxpbmsgbW9ua051bWJlcgkJTnVtYmVyCi0gIEhpTGluayBtb25rQm9vbGVhbgkJQm9vbGVhbgorSGlMaW5rIG1vbmtTdHJpbmcJCVN0cmluZworSGlMaW5rIG1vbmtDaGFyCQlDaGFyYWN0ZXIKK0hpTGluayBtb25rTnVtYmVyCQlOdW1iZXIKK0hpTGluayBtb25rQm9vbGVhbgkJQm9vbGVhbgogCi0gIEhpTGluayBtb25rRGVsaW1pdGVyCURlbGltaXRlcgotICBIaUxpbmsgbW9ua0NvbnN0YW50CUNvbnN0YW50CitIaUxpbmsgbW9ua0RlbGltaXRlcglEZWxpbWl0ZXIKK0hpTGluayBtb25rQ29uc3RhbnQJQ29uc3RhbnQKIAotICBIaUxpbmsgbW9ua0NvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIG1vbmtFcnJvcgkJRXJyb3IKK0hpTGluayBtb25rQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIG1vbmtFcnJvcgkJRXJyb3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1vbmsiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21vby52aW0gYi9ydW50aW1lL3N5bnRheC9tb28udmltCmluZGV4IDEwYzVkM2IuLjYxNzA1OGYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21vby52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbW9vLnZpbQpAQCAtNCw4ICs0LDggQEAKICIgTGFzdCBDaGFuZ2U6CTIwMDEgT2N0IDA2CiAiIE5vdGU6CQlSZXF1aXJlcyBWaW0gNi4wIG9yIGFib3ZlCiAKLSIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwIHx8IGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tcC52aW0gYi9ydW50aW1lL3N5bnRheC9tcC52aW0KaW5kZXggYzBmZDYwYi4uNDgwZGIyYSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbXAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L21wLnZpbQpAQCAtMywxMSArMyw4IEBACiAiIE1haW50YWluZXI6CUFuZHJlYXMgU2NoZXJlciA8YW5kcmVhcy5zY2hlcmVyQHBvYm94LmNvbT4KICIgTGFzdCBDaGFuZ2U6CUFwcmlsIDMwLCAyMDAxCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5biBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xNSwxMSArMTIsNyBAQAogbGV0IG90aGVyX21mX21hY3JvcyA9IDAgIiBjbWJhc2UubWYsIGxvZ28ubWYsIC4uLiBuZWl0aGVyCiAKICIgUmVhZCB0aGUgTWV0YWZvbnQgc3ludGF4IHRvIHN0YXJ0IHdpdGgKLWlmIHZlcnNpb24gPCA2MDAKLSAgc291cmNlIDxzZmlsZT46cDpoL21mLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvbWYudmltCi1lbmRpZgorcnVudGltZSEgc3ludGF4L21mLnZpbQogCiAiIE1ldGFQb3N0IGhhcyBUZVggaW5zZXJ0cyBmb3IgdHlwZXNldCBsYWJlbHMKICIgdmVyYmF0aW10ZXgsIGJ0ZXgsIGFuZCBldGV4IHdpbGwgYmUgdHJlYXRlZCBhcyBrZXl3b3JkcwpAQCAtMTA4LDI0ICsxMDEsMTYgQEAKIGVuZGlmCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZwotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbXBfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbXBfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBtcFRlWGluc2VydAlTdHJpbmcKLSAgSGlMaW5rIG1wVGVYYmVnaW4JU3RhdGVtZW50Ci0gIEhpTGluayBtcFRlWGVuZAlTdGF0ZW1lbnQKLSAgSGlMaW5rIG1wSW50ZXJuYWwJbWZJbnRlcm5hbAotICBIaUxpbmsgbXBNYWNybwlNYWNybworSGlMaW5rIG1wVGVYaW5zZXJ0CVN0cmluZworSGlMaW5rIG1wVGVYYmVnaW4JU3RhdGVtZW50CitIaUxpbmsgbXBUZVhlbmQJU3RhdGVtZW50CitIaUxpbmsgbXBJbnRlcm5hbAltZkludGVybmFsCitIaUxpbmsgbXBNYWNybwlNYWNybwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAibXAiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21zaWRsLnZpbSBiL3J1bnRpbWUvc3ludGF4L21zaWRsLnZpbQppbmRleCA3OTU4NWJlLi4zYmY1OTQwIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9tc2lkbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbXNpZGwudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjogICBWYWRpbSBaZWl0bGluIDx2YWRpbUB3eHdpbmRvd3Mub3JnPgogIiBMYXN0IENoYW5nZTogIDIwMTIgRmViIDEyIGJ5IFRoaWxvIFNpeAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTYsMzkgKzUzLDMxIEBACiBzeW4gc3luYyBsaW5lcz01MAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tc2lkbF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9tc2lkbF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIG1zaWRsSW5jbHVkZQkJSW5jbHVkZQotICBIaUxpbmsgbXNpZGxQcmVQcm9jCQlQcmVQcm9jCi0gIEhpTGluayBtc2lkbFByZUNvbmRpdAkJUHJlQ29uZGl0Ci0gIEhpTGluayBtc2lkbERlZmluZQkJTWFjcm8KLSAgSGlMaW5rIG1zaWRsSW5jbHVkZWQJCVN0cmluZwotICBIaUxpbmsgbXNpZGxTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgbXNpZGxDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBtc2lkbFRvZG8JCVRvZG8KLSAgSGlMaW5rIG1zaWRsU3BlY2lhbAkJU3BlY2lhbENoYXIKLSAgSGlMaW5rIG1zaWRsTGl0ZXJhbAkJTnVtYmVyCi0gIEhpTGluayBtc2lkbFVVSUQJCU51bWJlcgorSGlMaW5rIG1zaWRsSW5jbHVkZQkJSW5jbHVkZQorSGlMaW5rIG1zaWRsUHJlUHJvYwkJUHJlUHJvYworSGlMaW5rIG1zaWRsUHJlQ29uZGl0CQlQcmVDb25kaXQKK0hpTGluayBtc2lkbERlZmluZQkJTWFjcm8KK0hpTGluayBtc2lkbEluY2x1ZGVkCQlTdHJpbmcKK0hpTGluayBtc2lkbFN0cmluZwkJU3RyaW5nCitIaUxpbmsgbXNpZGxDb21tZW50CQlDb21tZW50CitIaUxpbmsgbXNpZGxUb2RvCQlUb2RvCitIaUxpbmsgbXNpZGxTcGVjaWFsCQlTcGVjaWFsQ2hhcgorSGlMaW5rIG1zaWRsTGl0ZXJhbAkJTnVtYmVyCitIaUxpbmsgbXNpZGxVVUlECQlOdW1iZXIKIAotICBIaUxpbmsgbXNpZGxJbXBvcnQJCUluY2x1ZGUKLSAgSGlMaW5rIG1zaWRsRW51bQkJU3RvcmFnZUNsYXNzCi0gIEhpTGluayBtc2lkbFN0cnVjdAkJU3RydWN0dXJlCi0gIEhpTGluayBtc2lkbFR5cGVkZWYJCVR5cGVkZWYKLSAgSGlMaW5rIG1zaWRsQXR0cmlidXRlCQlTdG9yYWdlQ2xhc3MKK0hpTGluayBtc2lkbEltcG9ydAkJSW5jbHVkZQorSGlMaW5rIG1zaWRsRW51bQkJU3RvcmFnZUNsYXNzCitIaUxpbmsgbXNpZGxTdHJ1Y3QJCVN0cnVjdHVyZQorSGlMaW5rIG1zaWRsVHlwZWRlZgkJVHlwZWRlZgorSGlMaW5rIG1zaWRsQXR0cmlidXRlCQlTdG9yYWdlQ2xhc3MKIAotICBIaUxpbmsgbXNpZGxTdGFuZGFyZFR5cGUJVHlwZQotICBIaUxpbmsgbXNpZGxTYWZlQXJyYXkJCVR5cGUKK0hpTGluayBtc2lkbFN0YW5kYXJkVHlwZQlUeXBlCitIaUxpbmsgbXNpZGxTYWZlQXJyYXkJCVR5cGUKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1zaWRsIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tc21lc3NhZ2VzLnZpbSBiL3J1bnRpbWUvc3ludGF4L21zbWVzc2FnZXMudmltCmluZGV4IDYwNTg4NTcuLjVmYWVlOTcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21zbWVzc2FnZXMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L21zbWVzc2FnZXMudmltCkBAIC03LDExICs3LDggQEAKICIgU2VlIGZvcm1hdCBkZXNjcmlwdGlvbiBhdCA8aHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM4NTY0Ni5hc3B4PgogIiBUaGlzIGZpbGUgaXMgYmFzZWQgb24gdGhlIHJjLnZpbSBhbmQgYy52aW0KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L21zcWwudmltIGIvcnVudGltZS9zeW50YXgvbXNxbC52aW0KaW5kZXggMDcxNmZiYi4uNjE5NTc4NiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbXNxbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbXNxbC52aW0KQEAgLTgsMTEgKzgsOCBAQAogIiBPcHRpb25zCW1zcWxfc3FsX3F1ZXJ5ID0gMSBmb3IgU1FMIHN5bnRheCBoaWdobGlndGhpbmcgaW5zaWRlIHN0cmluZ3MKICIJCW1zcWxfbWlubGluZXMgPSB4ICAgICB0byBzeW5jIGF0IGxlYXN0IHggbGluZXMgYmFja3dhcmRzCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0yMCwxMiArMTcsOCBAQAogICBsZXQgbWFpbl9zeW50YXggPSAnbXNxbCcKIGVuZGlmCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc28gPHNmaWxlPjpwOmgvaHRtbC52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvaHRtbC52aW0KK3VubGV0IGI6Y3VycmVudF9zeW50YXgKIAogc3luIGNsdXN0ZXIgaHRtbFByZXByb2MgYWRkPW1zcWxSZWdpb24KIApAQCAtNTcsMzkgKzUwLDMxIEBACiBlbmRpZgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tc3FsX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX21zcWxfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBtc3FsQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgbXNxbFN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBtc3FsTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIG1zcWxGbG9hdAkJRmxvYXQKLSAgSGlMaW5rIG1zcWxJZGVudGlmaWVyCUlkZW50aWZpZXIKLSAgSGlMaW5rIG1zcWxHbG9iYWxJZGVudGlmaWVyCUlkZW50aWZpZXIKLSAgSGlMaW5rIG1zcWxJbnRWYXIJCUlkZW50aWZpZXIKLSAgSGlMaW5rIG1zcWxFbnZWYXIJCUlkZW50aWZpZXIKLSAgSGlMaW5rIG1zcWxGdW5jdGlvbnMJCUZ1bmN0aW9uCi0gIEhpTGluayBtc3FsUmVwZWF0CQlSZXBlYXQKLSAgSGlMaW5rIG1zcWxDb25kaXRpb25hbAlDb25kaXRpb25hbAotICBIaUxpbmsgbXNxbFN0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBtc3FsVHlwZQkJVHlwZQotICBIaUxpbmsgbXNxbEluY2x1ZGUJCUluY2x1ZGUKLSAgSGlMaW5rIG1zcWxEZWZpbmUJCURlZmluZQotICBIaUxpbmsgbXNxbFNwZWNpYWxDaGFyCVNwZWNpYWxDaGFyCi0gIEhpTGluayBtc3FsUGFyZW50RXJyb3IJRXJyb3IKLSAgSGlMaW5rIG1zcWxUb2RvCQlUb2RvCi0gIEhpTGluayBtc3FsT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayBtc3FsUmVsYXRpb24JCU9wZXJhdG9yCitIaUxpbmsgbXNxbENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBtc3FsU3RyaW5nCQlTdHJpbmcKK0hpTGluayBtc3FsTnVtYmVyCQlOdW1iZXIKK0hpTGluayBtc3FsRmxvYXQJCUZsb2F0CitIaUxpbmsgbXNxbElkZW50aWZpZXIJSWRlbnRpZmllcgorSGlMaW5rIG1zcWxHbG9iYWxJZGVudGlmaWVyCUlkZW50aWZpZXIKK0hpTGluayBtc3FsSW50VmFyCQlJZGVudGlmaWVyCitIaUxpbmsgbXNxbEVudlZhcgkJSWRlbnRpZmllcgorSGlMaW5rIG1zcWxGdW5jdGlvbnMJCUZ1bmN0aW9uCitIaUxpbmsgbXNxbFJlcGVhdAkJUmVwZWF0CitIaUxpbmsgbXNxbENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCitIaUxpbmsgbXNxbFN0YXRlbWVudAkJU3RhdGVtZW50CitIaUxpbmsgbXNxbFR5cGUJCVR5cGUKK0hpTGluayBtc3FsSW5jbHVkZQkJSW5jbHVkZQorSGlMaW5rIG1zcWxEZWZpbmUJCURlZmluZQorSGlMaW5rIG1zcWxTcGVjaWFsQ2hhcglTcGVjaWFsQ2hhcgorSGlMaW5rIG1zcWxQYXJlbnRFcnJvcglFcnJvcgorSGlMaW5rIG1zcWxUb2RvCQlUb2RvCitIaUxpbmsgbXNxbE9wZXJhdG9yCQlPcGVyYXRvcgorSGlMaW5rIG1zcWxSZWxhdGlvbgkJT3BlcmF0b3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm1zcWwiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L211cGFkLnZpbSBiL3J1bnRpbWUvc3ludGF4L211cGFkLnZpbQppbmRleCAxMDlmODgwLi43Zjk4MWYwIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9tdXBhZC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbXVwYWQudmltCkBAIC01LDExICs1LDggQEAKICIgRGF0ZTogICAgICAgIDYvMzAvMjAwNAogCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0yNjgsMjggKzI2NSwyMSBAQAogIiBncmFwaGljcyAgbWV0YS1kb2N1bWVudGF0aW9uIEF0dHJpYnV0ZXMKIHN5biBrZXl3b3JkIG11cGFkSWRlbnRpZmllcglvYmplY3RHcm91cHNMaXN0ZWQKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX211cGFkX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX211cGFkX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgbXVwYWRDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBtdXBhZFN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBtdXBhZE9wZXJhdG9yCQlPcGVyYXRvcgotICBIaUxpbmsgbXVwYWRTcGVjaWFsCQlTcGVjaWFsCi0gIEhpTGluayBtdXBhZFN0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBtdXBhZFVuZGVybGluZWQJVW5kZXJsaW5lZAotICBIaUxpbmsgbXVwYWRDb25kaXRpb25hbAlDb25kaXRpb25hbAotICBIaUxpbmsgbXVwYWRSZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgbXVwYWRGdW5jdGlvbgkJRnVuY3Rpb24KLSAgSGlMaW5rIG11cGFkVHlwZQkJVHlwZQotICBIaUxpbmsgbXVwYWREZWZpbmUJCURlZmluZQotICBIaUxpbmsgbXVwYWRJZGVudGlmaWVyCUlkZW50aWZpZXIKK0hpTGluayBtdXBhZENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBtdXBhZFN0cmluZwkJU3RyaW5nCitIaUxpbmsgbXVwYWRPcGVyYXRvcgkJT3BlcmF0b3IKK0hpTGluayBtdXBhZFNwZWNpYWwJCVNwZWNpYWwKK0hpTGluayBtdXBhZFN0YXRlbWVudAkJU3RhdGVtZW50CitIaUxpbmsgbXVwYWRVbmRlcmxpbmVkCVVuZGVybGluZWQKK0hpTGluayBtdXBhZENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCitIaUxpbmsgbXVwYWRSZXBlYXQJCVJlcGVhdAorSGlMaW5rIG11cGFkRnVuY3Rpb24JCUZ1bmN0aW9uCitIaUxpbmsgbXVwYWRUeXBlCQlUeXBlCitIaUxpbmsgbXVwYWREZWZpbmUJCURlZmluZQorSGlMaW5rIG11cGFkSWRlbnRpZmllcglJZGVudGlmaWVyCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiAiIFRPRE8gIE1vcmUgY29tcHJlaGVuc2l2ZSBsaXN0aW5nLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbXVzaC52aW0gYi9ydW50aW1lL3N5bnRheC9tdXNoLnZpbQppbmRleCAwNjQ1ZjMzLi5jZjk1ZDJhIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9tdXNoLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9tdXNoLnZpbQpAQCAtMywxMSArMyw4IEBACiAiIEJhc2VkIG9uIHZpbSBTeW50YXggZmlsZSBieTogQmVrIE9iZXJpbiA8Z29zc2FtZXJAdGVydGl1cy5uZXQuYXU+CiAiIExhc3QgVXBkYXRlZDogRnJpIE5vdiAwNCAyMDoyODoxNSAyMDA1CiAiCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTg1LDQyICsxODIsMzUgQEAKIHN5bnRheCBrZXl3b3JkIG11c2hBdHRyaWJ1dGUgdm8gdnAgdnEgdnIgdnMgdnQgdnUgdnYgdncgdnggdnkgdnoKIAogCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbXVzaF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9tdXNoX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCi0gIEhpTGluayBtdXNoQXR0cmlidXRlICBDb25zdGFudAotICBIaUxpbmsgbXVzaENvbW1hbmQgICAgRnVuY3Rpb24KLSAgSGlMaW5rIG11c2hOdW1iZXIgICAgIE51bWJlcgotICBIaUxpbmsgbXVzaFNldHRpbmcgICAgUHJlUHJvYwotICBIaUxpbmsgbXVzaEZ1bmN0aW9uICAgU3RhdGVtZW50Ci0gIEhpTGluayBtdXNoVmFyaWFibGUgICBJZGVudGlmaWVyCi0gIEhpTGluayBtdXNoU3BlY2lhbCAgICBTcGVjaWFsCi0gIEhpTGluayBtdXNoVG9kbyAgICAgICBUb2RvCi0gIEhpTGluayBtdXNoRmxhZyAgICAgICBTcGVjaWFsCi0gIEhpTGluayBtdXNoSWRlbnRpZmllciBJZGVudGlmaWVyCi0gIEhpTGluayBtdXNoRGVmaW5lICAgICBNYWNybwotICBIaUxpbmsgbXVzaFByZVByb2MgICAgUHJlUHJvYwotICBIaUxpbmsgbXVzaFByZVByb2NHcm91cCBQcmVQcm9jIAotICBIaUxpbmsgbXVzaFByZUNvbmRpdCBQcmVDb25kaXQKLSAgSGlMaW5rIG11c2hJbmNsdWRlZCBjU3RyaW5nCi0gIEhpTGluayAgbXVzaEluY2x1ZGUgSW5jbHVkZQorIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorSGlMaW5rIG11c2hBdHRyaWJ1dGUgIENvbnN0YW50CitIaUxpbmsgbXVzaENvbW1hbmQgICAgRnVuY3Rpb24KK0hpTGluayBtdXNoTnVtYmVyICAgICBOdW1iZXIKK0hpTGluayBtdXNoU2V0dGluZyAgICBQcmVQcm9jCitIaUxpbmsgbXVzaEZ1bmN0aW9uICAgU3RhdGVtZW50CitIaUxpbmsgbXVzaFZhcmlhYmxlICAgSWRlbnRpZmllcgorSGlMaW5rIG11c2hTcGVjaWFsICAgIFNwZWNpYWwKK0hpTGluayBtdXNoVG9kbyAgICAgICBUb2RvCitIaUxpbmsgbXVzaEZsYWcgICAgICAgU3BlY2lhbAorSGlMaW5rIG11c2hJZGVudGlmaWVyIElkZW50aWZpZXIKK0hpTGluayBtdXNoRGVmaW5lICAgICBNYWNybworSGlMaW5rIG11c2hQcmVQcm9jICAgIFByZVByb2MKK0hpTGluayBtdXNoUHJlUHJvY0dyb3VwIFByZVByb2MgCitIaUxpbmsgbXVzaFByZUNvbmRpdCBQcmVDb25kaXQKK0hpTGluayBtdXNoSW5jbHVkZWQgY1N0cmluZworSGlMaW5rICBtdXNoSW5jbHVkZSBJbmNsdWRlCiAKIAogCiAiIENvbW1lbnRzCi0gIEhpTGluayBtdXNoQ29tbWVudFN0YXJ0IG11c2hDb21tZW50Ci0gIEhpTGluayBtdXNoQ29tbWVudCAgICBDb21tZW50Ci0gIEhpTGluayBtdXNoQ29tbWVudFN0cmluZyBtdXNoU3RyaW5nCitIaUxpbmsgbXVzaENvbW1lbnRTdGFydCBtdXNoQ29tbWVudAorSGlMaW5rIG11c2hDb21tZW50ICAgIENvbW1lbnQKK0hpTGluayBtdXNoQ29tbWVudFN0cmluZyBtdXNoU3RyaW5nCiAKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm11c2giCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L211dHRyYy52aW0gYi9ydW50aW1lL3N5bnRheC9tdXR0cmMudmltCmluZGV4IDk0YjI3MzEuLjRlMDczYjggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L211dHRyYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbXV0dHJjLnZpbQpAQCAtNiwxMSArNiw4IEBACiAKICIgVGhpcyBmaWxlIGNvdmVycyBtdXR0IHZlcnNpb24gMS43LjAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE4LDExICsxNSw3IEBACiBzZXQgY3BvJnZpbQogCiAiIFNldCB0aGUga2V5d29yZCBjaGFyYWN0ZXJzCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNldCBpc2s9QCw0OC01NyxfLC0KLWVsc2UKLSAgc2V0bG9jYWwgaXNrPUAsNDgtNTcsXywtCi1lbmRpZgorc2V0bG9jYWwgaXNrPUAsNDgtNTcsXywtCiAKICIgaGFuZGxpbmcgb3B0aW9uYWwgdmFyaWFibGVzCiBpZiAhZXhpc3RzKCJ1c2VfbXV0dF9zaWRlYmFyIikKQEAgLTYzNiwxNjAgKzYyOSwxNTIgQEAKIHN5biBtYXRjaCAgIG11dHRyY01vbm9MaW5lCSJeXHMqbW9ub1xzXCtcU1wrIglza2lwd2hpdGUgbmV4dGdyb3VwPW11dHRyY01vbm9BdHRyaWIgY29udGFpbnM9bXV0dHJjTW9ubwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tdXR0cmNfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbXV0dHJjX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgbXV0dHJjQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgbXV0dHJjRXNjYXBlCQlTcGVjaWFsQ2hhcgotICBIaUxpbmsgbXV0dHJjUlhDaGFycwkJU3BlY2lhbENoYXIKLSAgSGlMaW5rIG11dHRyY1N0cmluZwkJU3RyaW5nCi0gIEhpTGluayBtdXR0cmNSWFN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBtdXR0cmNSWFN0cmluZzIJU3RyaW5nCi0gIEhpTGluayBtdXR0cmNTcGVjaWFsCQlTcGVjaWFsCi0gIEhpTGluayBtdXR0cmNIb29rcwkJVHlwZQotICBIaUxpbmsgbXV0dHJjR3JvdXBGbGFnCVR5cGUKLSAgSGlMaW5rIG11dHRyY0dyb3VwRGVmCQlNYWNybwotICBIaUxpbmsgbXV0dHJjQWRkckRlZgkJbXV0dHJjR3JvdXBGbGFnCi0gIEhpTGluayBtdXR0cmNSWERlZgkJbXV0dHJjR3JvdXBGbGFnCi0gIEhpTGluayBtdXR0cmNSWFBhdAkJU3RyaW5nCi0gIEhpTGluayBtdXR0cmNBbGlhc0dyb3VwTmFtZQlNYWNybwotICBIaUxpbmsgbXV0dHJjQWxpYXNLZXkJICAgICAgICBJZGVudGlmaWVyCi0gIEhpTGluayBtdXR0cmNVbkFsaWFzS2V5CUlkZW50aWZpZXIKLSAgSGlMaW5rIG11dHRyY0FsaWFzRW5jRW1haWwJSWRlbnRpZmllcgotICBIaUxpbmsgbXV0dHJjQWxpYXNQYXJlbnMJVHlwZQotICBIaUxpbmsgbXV0dHJjU2V0TnVtQXNzaWdubWVudAlOdW1iZXIKLSAgSGlMaW5rIG11dHRyY1NldEJvb2xBc3NpZ25tZW50CUJvb2xlYW4KLSAgSGlMaW5rIG11dHRyY1NldFF1YWRBc3NpZ25tZW50CUJvb2xlYW4KLSAgSGlMaW5rIG11dHRyY1NldFN0ckFzc2lnbm1lbnQJU3RyaW5nCi0gIEhpTGluayBtdXR0cmNFbWFpbAkJU3BlY2lhbAotICBIaUxpbmsgbXV0dHJjVmFyaWFibGVJbm5lcglTcGVjaWFsCi0gIEhpTGluayBtdXR0cmNFc2NhcGVkVmFyaWFibGUJU3RyaW5nCi0gIEhpTGluayBtdXR0cmNIZWFkZXIJCVR5cGUKLSAgSGlMaW5rIG11dHRyY0tleVNwZWNpYWwJU3BlY2lhbENoYXIKLSAgSGlMaW5rIG11dHRyY0tleQkJVHlwZQotICBIaUxpbmsgbXV0dHJjS2V5TmFtZQkJU3BlY2lhbENoYXIKLSAgSGlMaW5rIG11dHRyY1ZhckJvb2wJCUlkZW50aWZpZXIKLSAgSGlMaW5rIG11dHRyY1ZhclF1YWQJCUlkZW50aWZpZXIKLSAgSGlMaW5rIG11dHRyY1Zhck51bQkJSWRlbnRpZmllcgotICBIaUxpbmsgbXV0dHJjVmFyU3RyCQlJZGVudGlmaWVyCi0gIEhpTGluayBtdXR0cmNNZW51CQlJZGVudGlmaWVyCi0gIEhpTGluayBtdXR0cmNDb21tYW5kCQlLZXl3b3JkCi0gIEhpTGluayBtdXR0cmNNYWNyb0Rlc2NyCVN0cmluZwotICBIaUxpbmsgbXV0dHJjQWN0aW9uCQlNYWNybwotICBIaUxpbmsgbXV0dHJjQmFkQWN0aW9uCUVycm9yCi0gIEhpTGluayBtdXR0cmNCaW5kRnVuY3Rpb24JRXJyb3IKLSAgSGlMaW5rIG11dHRyY0JpbmRNZW51TGlzdAlFcnJvcgotICBIaUxpbmsgbXV0dHJjRnVuY3Rpb24JCU1hY3JvCi0gIEhpTGluayBtdXR0cmNHcm91cEtleXdvcmQJbXV0dHJjQ29tbWFuZAotICBIaUxpbmsgbXV0dHJjR3JvdXBMaW5lCUVycm9yCi0gIEhpTGluayBtdXR0cmNTdWJzY3JpYmVLZXl3b3JkCW11dHRyY0NvbW1hbmQKLSAgSGlMaW5rIG11dHRyY1N1YnNjcmliZUxpbmUJRXJyb3IKLSAgSGlMaW5rIG11dHRyY0xpc3RzS2V5d29yZAltdXR0cmNDb21tYW5kCi0gIEhpTGluayBtdXR0cmNMaXN0c0xpbmUJRXJyb3IKLSAgSGlMaW5rIG11dHRyY0FsdGVybmF0ZUtleXdvcmQJbXV0dHJjQ29tbWFuZAotICBIaUxpbmsgbXV0dHJjQWx0ZXJuYXRlc0xpbmUJRXJyb3IKLSAgSGlMaW5rIG11dHRyY0F0dGFjaG1lbnRzTGluZQltdXR0cmNDb21tYW5kCi0gIEhpTGluayBtdXR0cmNBdHRhY2htZW50c0ZsYWcJVHlwZQotICBIaUxpbmsgbXV0dHJjQXR0YWNobWVudHNNaW1lVHlwZQlTdHJpbmcKLSAgSGlMaW5rIG11dHRyY0NvbG9yTGluZQlFcnJvcgotICBIaUxpbmsgbXV0dHJjQ29sb3JDb250ZXh0CUVycm9yCi0gIEhpTGluayBtdXR0cmNDb2xvckNvbnRleHRJCUlkZW50aWZpZXIKLSAgSGlMaW5rIG11dHRyY0NvbG9yQ29udGV4dEgJSWRlbnRpZmllcgotICBIaUxpbmsgbXV0dHJjQ29sb3JLZXl3b3JkCW11dHRyY0NvbW1hbmQKLSAgSGlMaW5rIG11dHRyY0NvbG9yS2V5d29yZEkJbXV0dHJjQ29sb3JLZXl3b3JkCi0gIEhpTGluayBtdXR0cmNDb2xvcktleXdvcmRICW11dHRyY0NvbG9yS2V5d29yZAotICBIaUxpbmsgbXV0dHJjQ29sb3JGaWVsZAlJZGVudGlmaWVyCi0gIEhpTGluayBtdXR0cmNDb2xvcgkJVHlwZQotICBIaUxpbmsgbXV0dHJjQ29sb3JGRwkJRXJyb3IKLSAgSGlMaW5rIG11dHRyY0NvbG9yRkdJCQlFcnJvcgotICBIaUxpbmsgbXV0dHJjQ29sb3JGR0gJCUVycm9yCi0gIEhpTGluayBtdXR0cmNDb2xvckJHCQlFcnJvcgotICBIaUxpbmsgbXV0dHJjQ29sb3JCR0kJCUVycm9yCi0gIEhpTGluayBtdXR0cmNDb2xvckJHSAkJRXJyb3IKLSAgSGlMaW5rIG11dHRyY01vbm9BdHRyaWIJbXV0dHJjQ29sb3IKLSAgSGlMaW5rIG11dHRyY01vbm8JCW11dHRyY0NvbW1hbmQKLSAgSGlMaW5rIG11dHRyY1NpbXBsZVBhdAlJZGVudGlmaWVyCi0gIEhpTGluayBtdXR0cmNTaW1wbGVQYXRTdHJpbmcJTWFjcm8KLSAgSGlMaW5rIG11dHRyY1NpbXBsZVBhdE1ldGFzCVNwZWNpYWwKLSAgSGlMaW5rIG11dHRyY1BhdHRlcm4JCUVycm9yCi0gIEhpTGluayBtdXR0cmNVbkNvbG9yTGluZQlFcnJvcgotICBIaUxpbmsgbXV0dHJjVW5Db2xvcktleXdvcmQJbXV0dHJjQ29tbWFuZAotICBIaUxpbmsgbXV0dHJjVW5Db2xvckluZGV4CUlkZW50aWZpZXIKLSAgSGlMaW5rIG11dHRyY1NoZWxsU3RyaW5nCW11dHRyY0VzY2FwZQotICBIaUxpbmsgbXV0dHJjUlhIb29rcwkJbXV0dHJjQ29tbWFuZAotICBIaUxpbmsgbXV0dHJjUlhIb29rTm90CVR5cGUKLSAgSGlMaW5rIG11dHRyY1BhdEhvb2tzCQltdXR0cmNDb21tYW5kCi0gIEhpTGluayBtdXR0cmNQYXRIb29rTm90CVR5cGUKLSAgSGlMaW5rIG11dHRyY0Zvcm1hdENvbmRpdGlvbmFsczIgVHlwZQotICBIaUxpbmsgbXV0dHJjSW5kZXhGb3JtYXRTdHIJbXV0dHJjU3RyaW5nCi0gIEhpTGluayBtdXR0cmNJbmRleEZvcm1hdEVzY2FwZXMgbXV0dHJjRXNjYXBlCi0gIEhpTGluayBtdXR0cmNJbmRleEZvcm1hdENvbmRpdGlvbmFscyBtdXR0cmNGb3JtYXRDb25kaXRpb25hbHMyCi0gIEhpTGluayBtdXR0cmNBbGlhc0Zvcm1hdFN0cgltdXR0cmNTdHJpbmcKLSAgSGlMaW5rIG11dHRyY0FsaWFzRm9ybWF0RXNjYXBlcyBtdXR0cmNFc2NhcGUKLSAgSGlMaW5rIG11dHRyY0F0dGFjaEZvcm1hdFN0cgltdXR0cmNTdHJpbmcKLSAgSGlMaW5rIG11dHRyY0F0dGFjaEZvcm1hdEVzY2FwZXMgbXV0dHJjRXNjYXBlCi0gIEhpTGluayBtdXR0cmNBdHRhY2hGb3JtYXRDb25kaXRpb25hbHMgbXV0dHJjRm9ybWF0Q29uZGl0aW9uYWxzMgotICBIaUxpbmsgbXV0dHJjQ29tcG9zZUZvcm1hdFN0cgltdXR0cmNTdHJpbmcKLSAgSGlMaW5rIG11dHRyY0NvbXBvc2VGb3JtYXRFc2NhcGVzIG11dHRyY0VzY2FwZQotICBIaUxpbmsgbXV0dHJjRm9sZGVyRm9ybWF0U3RyCW11dHRyY1N0cmluZwotICBIaUxpbmsgbXV0dHJjRm9sZGVyRm9ybWF0RXNjYXBlcyBtdXR0cmNFc2NhcGUKLSAgSGlMaW5rIG11dHRyY0ZvbGRlckZvcm1hdENvbmRpdGlvbmFscyBtdXR0cmNGb3JtYXRDb25kaXRpb25hbHMyCi0gIEhpTGluayBtdXR0cmNNaXhGb3JtYXRTdHIJbXV0dHJjU3RyaW5nCi0gIEhpTGluayBtdXR0cmNNaXhGb3JtYXRFc2NhcGVzIG11dHRyY0VzY2FwZQotICBIaUxpbmsgbXV0dHJjTWl4Rm9ybWF0Q29uZGl0aW9uYWxzIG11dHRyY0Zvcm1hdENvbmRpdGlvbmFsczIKLSAgSGlMaW5rIG11dHRyY1BHUEZvcm1hdFN0cgltdXR0cmNTdHJpbmcKLSAgSGlMaW5rIG11dHRyY1BHUEZvcm1hdEVzY2FwZXMgbXV0dHJjRXNjYXBlCi0gIEhpTGluayBtdXR0cmNQR1BGb3JtYXRDb25kaXRpb25hbHMgbXV0dHJjRm9ybWF0Q29uZGl0aW9uYWxzMgotICBIaUxpbmsgbXV0dHJjUEdQQ21kRm9ybWF0U3RyCW11dHRyY1N0cmluZwotICBIaUxpbmsgbXV0dHJjUEdQQ21kRm9ybWF0RXNjYXBlcyBtdXR0cmNFc2NhcGUKLSAgSGlMaW5rIG11dHRyY1BHUENtZEZvcm1hdENvbmRpdGlvbmFscyBtdXR0cmNGb3JtYXRDb25kaXRpb25hbHMyCi0gIEhpTGluayBtdXR0cmNTdGF0dXNGb3JtYXRTdHIJbXV0dHJjU3RyaW5nCi0gIEhpTGluayBtdXR0cmNTdGF0dXNGb3JtYXRFc2NhcGVzIG11dHRyY0VzY2FwZQotICBIaUxpbmsgbXV0dHJjU3RhdHVzRm9ybWF0Q29uZGl0aW9uYWxzIG11dHRyY0Zvcm1hdENvbmRpdGlvbmFsczIKLSAgSGlMaW5rIG11dHRyY1BHUEdldEtleXNGb3JtYXRTdHIJbXV0dHJjU3RyaW5nCi0gIEhpTGluayBtdXR0cmNQR1BHZXRLZXlzRm9ybWF0RXNjYXBlcyBtdXR0cmNFc2NhcGUKLSAgSGlMaW5rIG11dHRyY1NtaW1lRm9ybWF0U3RyCW11dHRyY1N0cmluZwotICBIaUxpbmsgbXV0dHJjU21pbWVGb3JtYXRFc2NhcGVzIG11dHRyY0VzY2FwZQotICBIaUxpbmsgbXV0dHJjU21pbWVGb3JtYXRDb25kaXRpb25hbHMgbXV0dHJjRm9ybWF0Q29uZGl0aW9uYWxzMgotICBIaUxpbmsgbXV0dHJjVGltZUVzY2FwZXMJbXV0dHJjRXNjYXBlCi0gIEhpTGluayBtdXR0cmNQR1BUaW1lRXNjYXBlcwltdXR0cmNFc2NhcGUKLSAgSGlMaW5rIG11dHRyY1N0cmZ0aW1lRXNjYXBlcwlUeXBlCi0gIEhpTGluayBtdXR0cmNTdHJmdGltZUZvcm1hdFN0ciBtdXR0cmNTdHJpbmcKLSAgSGlMaW5rIG11dHRyY0Zvcm1hdEVycm9ycyBFcnJvcgorSGlMaW5rIG11dHRyY0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBtdXR0cmNFc2NhcGUJCVNwZWNpYWxDaGFyCitIaUxpbmsgbXV0dHJjUlhDaGFycwkJU3BlY2lhbENoYXIKK0hpTGluayBtdXR0cmNTdHJpbmcJCVN0cmluZworSGlMaW5rIG11dHRyY1JYU3RyaW5nCQlTdHJpbmcKK0hpTGluayBtdXR0cmNSWFN0cmluZzIJU3RyaW5nCitIaUxpbmsgbXV0dHJjU3BlY2lhbAkJU3BlY2lhbAorSGlMaW5rIG11dHRyY0hvb2tzCQlUeXBlCitIaUxpbmsgbXV0dHJjR3JvdXBGbGFnCVR5cGUKK0hpTGluayBtdXR0cmNHcm91cERlZgkJTWFjcm8KK0hpTGluayBtdXR0cmNBZGRyRGVmCQltdXR0cmNHcm91cEZsYWcKK0hpTGluayBtdXR0cmNSWERlZgkJbXV0dHJjR3JvdXBGbGFnCitIaUxpbmsgbXV0dHJjUlhQYXQJCVN0cmluZworSGlMaW5rIG11dHRyY0FsaWFzR3JvdXBOYW1lCU1hY3JvCitIaUxpbmsgbXV0dHJjQWxpYXNLZXkJICAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgbXV0dHJjVW5BbGlhc0tleQlJZGVudGlmaWVyCitIaUxpbmsgbXV0dHJjQWxpYXNFbmNFbWFpbAlJZGVudGlmaWVyCitIaUxpbmsgbXV0dHJjQWxpYXNQYXJlbnMJVHlwZQorSGlMaW5rIG11dHRyY1NldE51bUFzc2lnbm1lbnQJTnVtYmVyCitIaUxpbmsgbXV0dHJjU2V0Qm9vbEFzc2lnbm1lbnQJQm9vbGVhbgorSGlMaW5rIG11dHRyY1NldFF1YWRBc3NpZ25tZW50CUJvb2xlYW4KK0hpTGluayBtdXR0cmNTZXRTdHJBc3NpZ25tZW50CVN0cmluZworSGlMaW5rIG11dHRyY0VtYWlsCQlTcGVjaWFsCitIaUxpbmsgbXV0dHJjVmFyaWFibGVJbm5lcglTcGVjaWFsCitIaUxpbmsgbXV0dHJjRXNjYXBlZFZhcmlhYmxlCVN0cmluZworSGlMaW5rIG11dHRyY0hlYWRlcgkJVHlwZQorSGlMaW5rIG11dHRyY0tleVNwZWNpYWwJU3BlY2lhbENoYXIKK0hpTGluayBtdXR0cmNLZXkJCVR5cGUKK0hpTGluayBtdXR0cmNLZXlOYW1lCQlTcGVjaWFsQ2hhcgorSGlMaW5rIG11dHRyY1ZhckJvb2wJCUlkZW50aWZpZXIKK0hpTGluayBtdXR0cmNWYXJRdWFkCQlJZGVudGlmaWVyCitIaUxpbmsgbXV0dHJjVmFyTnVtCQlJZGVudGlmaWVyCitIaUxpbmsgbXV0dHJjVmFyU3RyCQlJZGVudGlmaWVyCitIaUxpbmsgbXV0dHJjTWVudQkJSWRlbnRpZmllcgorSGlMaW5rIG11dHRyY0NvbW1hbmQJCUtleXdvcmQKK0hpTGluayBtdXR0cmNNYWNyb0Rlc2NyCVN0cmluZworSGlMaW5rIG11dHRyY0FjdGlvbgkJTWFjcm8KK0hpTGluayBtdXR0cmNCYWRBY3Rpb24JRXJyb3IKK0hpTGluayBtdXR0cmNCaW5kRnVuY3Rpb24JRXJyb3IKK0hpTGluayBtdXR0cmNCaW5kTWVudUxpc3QJRXJyb3IKK0hpTGluayBtdXR0cmNGdW5jdGlvbgkJTWFjcm8KK0hpTGluayBtdXR0cmNHcm91cEtleXdvcmQJbXV0dHJjQ29tbWFuZAorSGlMaW5rIG11dHRyY0dyb3VwTGluZQlFcnJvcgorSGlMaW5rIG11dHRyY1N1YnNjcmliZUtleXdvcmQJbXV0dHJjQ29tbWFuZAorSGlMaW5rIG11dHRyY1N1YnNjcmliZUxpbmUJRXJyb3IKK0hpTGluayBtdXR0cmNMaXN0c0tleXdvcmQJbXV0dHJjQ29tbWFuZAorSGlMaW5rIG11dHRyY0xpc3RzTGluZQlFcnJvcgorSGlMaW5rIG11dHRyY0FsdGVybmF0ZUtleXdvcmQJbXV0dHJjQ29tbWFuZAorSGlMaW5rIG11dHRyY0FsdGVybmF0ZXNMaW5lCUVycm9yCitIaUxpbmsgbXV0dHJjQXR0YWNobWVudHNMaW5lCW11dHRyY0NvbW1hbmQKK0hpTGluayBtdXR0cmNBdHRhY2htZW50c0ZsYWcJVHlwZQorSGlMaW5rIG11dHRyY0F0dGFjaG1lbnRzTWltZVR5cGUJU3RyaW5nCitIaUxpbmsgbXV0dHJjQ29sb3JMaW5lCUVycm9yCitIaUxpbmsgbXV0dHJjQ29sb3JDb250ZXh0CUVycm9yCitIaUxpbmsgbXV0dHJjQ29sb3JDb250ZXh0SQlJZGVudGlmaWVyCitIaUxpbmsgbXV0dHJjQ29sb3JDb250ZXh0SAlJZGVudGlmaWVyCitIaUxpbmsgbXV0dHJjQ29sb3JLZXl3b3JkCW11dHRyY0NvbW1hbmQKK0hpTGluayBtdXR0cmNDb2xvcktleXdvcmRJCW11dHRyY0NvbG9yS2V5d29yZAorSGlMaW5rIG11dHRyY0NvbG9yS2V5d29yZEgJbXV0dHJjQ29sb3JLZXl3b3JkCitIaUxpbmsgbXV0dHJjQ29sb3JGaWVsZAlJZGVudGlmaWVyCitIaUxpbmsgbXV0dHJjQ29sb3IJCVR5cGUKK0hpTGluayBtdXR0cmNDb2xvckZHCQlFcnJvcgorSGlMaW5rIG11dHRyY0NvbG9yRkdJCQlFcnJvcgorSGlMaW5rIG11dHRyY0NvbG9yRkdICQlFcnJvcgorSGlMaW5rIG11dHRyY0NvbG9yQkcJCUVycm9yCitIaUxpbmsgbXV0dHJjQ29sb3JCR0kJCUVycm9yCitIaUxpbmsgbXV0dHJjQ29sb3JCR0gJCUVycm9yCitIaUxpbmsgbXV0dHJjTW9ub0F0dHJpYgltdXR0cmNDb2xvcgorSGlMaW5rIG11dHRyY01vbm8JCW11dHRyY0NvbW1hbmQKK0hpTGluayBtdXR0cmNTaW1wbGVQYXQJSWRlbnRpZmllcgorSGlMaW5rIG11dHRyY1NpbXBsZVBhdFN0cmluZwlNYWNybworSGlMaW5rIG11dHRyY1NpbXBsZVBhdE1ldGFzCVNwZWNpYWwKK0hpTGluayBtdXR0cmNQYXR0ZXJuCQlFcnJvcgorSGlMaW5rIG11dHRyY1VuQ29sb3JMaW5lCUVycm9yCitIaUxpbmsgbXV0dHJjVW5Db2xvcktleXdvcmQJbXV0dHJjQ29tbWFuZAorSGlMaW5rIG11dHRyY1VuQ29sb3JJbmRleAlJZGVudGlmaWVyCitIaUxpbmsgbXV0dHJjU2hlbGxTdHJpbmcJbXV0dHJjRXNjYXBlCitIaUxpbmsgbXV0dHJjUlhIb29rcwkJbXV0dHJjQ29tbWFuZAorSGlMaW5rIG11dHRyY1JYSG9va05vdAlUeXBlCitIaUxpbmsgbXV0dHJjUGF0SG9va3MJCW11dHRyY0NvbW1hbmQKK0hpTGluayBtdXR0cmNQYXRIb29rTm90CVR5cGUKK0hpTGluayBtdXR0cmNGb3JtYXRDb25kaXRpb25hbHMyIFR5cGUKK0hpTGluayBtdXR0cmNJbmRleEZvcm1hdFN0cgltdXR0cmNTdHJpbmcKK0hpTGluayBtdXR0cmNJbmRleEZvcm1hdEVzY2FwZXMgbXV0dHJjRXNjYXBlCitIaUxpbmsgbXV0dHJjSW5kZXhGb3JtYXRDb25kaXRpb25hbHMgbXV0dHJjRm9ybWF0Q29uZGl0aW9uYWxzMgorSGlMaW5rIG11dHRyY0FsaWFzRm9ybWF0U3RyCW11dHRyY1N0cmluZworSGlMaW5rIG11dHRyY0FsaWFzRm9ybWF0RXNjYXBlcyBtdXR0cmNFc2NhcGUKK0hpTGluayBtdXR0cmNBdHRhY2hGb3JtYXRTdHIJbXV0dHJjU3RyaW5nCitIaUxpbmsgbXV0dHJjQXR0YWNoRm9ybWF0RXNjYXBlcyBtdXR0cmNFc2NhcGUKK0hpTGluayBtdXR0cmNBdHRhY2hGb3JtYXRDb25kaXRpb25hbHMgbXV0dHJjRm9ybWF0Q29uZGl0aW9uYWxzMgorSGlMaW5rIG11dHRyY0NvbXBvc2VGb3JtYXRTdHIJbXV0dHJjU3RyaW5nCitIaUxpbmsgbXV0dHJjQ29tcG9zZUZvcm1hdEVzY2FwZXMgbXV0dHJjRXNjYXBlCitIaUxpbmsgbXV0dHJjRm9sZGVyRm9ybWF0U3RyCW11dHRyY1N0cmluZworSGlMaW5rIG11dHRyY0ZvbGRlckZvcm1hdEVzY2FwZXMgbXV0dHJjRXNjYXBlCitIaUxpbmsgbXV0dHJjRm9sZGVyRm9ybWF0Q29uZGl0aW9uYWxzIG11dHRyY0Zvcm1hdENvbmRpdGlvbmFsczIKK0hpTGluayBtdXR0cmNNaXhGb3JtYXRTdHIJbXV0dHJjU3RyaW5nCitIaUxpbmsgbXV0dHJjTWl4Rm9ybWF0RXNjYXBlcyBtdXR0cmNFc2NhcGUKK0hpTGluayBtdXR0cmNNaXhGb3JtYXRDb25kaXRpb25hbHMgbXV0dHJjRm9ybWF0Q29uZGl0aW9uYWxzMgorSGlMaW5rIG11dHRyY1BHUEZvcm1hdFN0cgltdXR0cmNTdHJpbmcKK0hpTGluayBtdXR0cmNQR1BGb3JtYXRFc2NhcGVzIG11dHRyY0VzY2FwZQorSGlMaW5rIG11dHRyY1BHUEZvcm1hdENvbmRpdGlvbmFscyBtdXR0cmNGb3JtYXRDb25kaXRpb25hbHMyCitIaUxpbmsgbXV0dHJjUEdQQ21kRm9ybWF0U3RyCW11dHRyY1N0cmluZworSGlMaW5rIG11dHRyY1BHUENtZEZvcm1hdEVzY2FwZXMgbXV0dHJjRXNjYXBlCitIaUxpbmsgbXV0dHJjUEdQQ21kRm9ybWF0Q29uZGl0aW9uYWxzIG11dHRyY0Zvcm1hdENvbmRpdGlvbmFsczIKK0hpTGluayBtdXR0cmNTdGF0dXNGb3JtYXRTdHIJbXV0dHJjU3RyaW5nCitIaUxpbmsgbXV0dHJjU3RhdHVzRm9ybWF0RXNjYXBlcyBtdXR0cmNFc2NhcGUKK0hpTGluayBtdXR0cmNTdGF0dXNGb3JtYXRDb25kaXRpb25hbHMgbXV0dHJjRm9ybWF0Q29uZGl0aW9uYWxzMgorSGlMaW5rIG11dHRyY1BHUEdldEtleXNGb3JtYXRTdHIJbXV0dHJjU3RyaW5nCitIaUxpbmsgbXV0dHJjUEdQR2V0S2V5c0Zvcm1hdEVzY2FwZXMgbXV0dHJjRXNjYXBlCitIaUxpbmsgbXV0dHJjU21pbWVGb3JtYXRTdHIJbXV0dHJjU3RyaW5nCitIaUxpbmsgbXV0dHJjU21pbWVGb3JtYXRFc2NhcGVzIG11dHRyY0VzY2FwZQorSGlMaW5rIG11dHRyY1NtaW1lRm9ybWF0Q29uZGl0aW9uYWxzIG11dHRyY0Zvcm1hdENvbmRpdGlvbmFsczIKK0hpTGluayBtdXR0cmNUaW1lRXNjYXBlcwltdXR0cmNFc2NhcGUKK0hpTGluayBtdXR0cmNQR1BUaW1lRXNjYXBlcwltdXR0cmNFc2NhcGUKK0hpTGluayBtdXR0cmNTdHJmdGltZUVzY2FwZXMJVHlwZQorSGlMaW5rIG11dHRyY1N0cmZ0aW1lRm9ybWF0U3RyIG11dHRyY1N0cmluZworSGlMaW5rIG11dHRyY0Zvcm1hdEVycm9ycyBFcnJvcgogCi0gIEhpTGluayBtdXR0cmNCaW5kRnVuY3Rpb25OTAlTcGVjaWFsQ2hhcgotICBIaUxpbmsgbXV0dHJjQmluZEtleU5MCVNwZWNpYWxDaGFyCi0gIEhpTGluayBtdXR0cmNCaW5kTWVudUxpc3ROTAlTcGVjaWFsQ2hhcgotICBIaUxpbmsgbXV0dHJjTWFjcm9EZXNjck5MCVNwZWNpYWxDaGFyCi0gIEhpTGluayBtdXR0cmNNYWNyb0JvZHlOTAlTcGVjaWFsQ2hhcgotICBIaUxpbmsgbXV0dHJjTWFjcm9LZXlOTAlTcGVjaWFsQ2hhcgotICBIaUxpbmsgbXV0dHJjTWFjcm9NZW51TGlzdE5MCVNwZWNpYWxDaGFyCi0gIEhpTGluayBtdXR0cmNDb2xvck1hdGNoQ291bnROTCBTcGVjaWFsQ2hhcgotICBIaUxpbmsgbXV0dHJjQ29sb3JOTAkJU3BlY2lhbENoYXIKLSAgSGlMaW5rIG11dHRyY0NvbG9yUlhOTAlTcGVjaWFsQ2hhcgotICBIaUxpbmsgbXV0dHJjQ29sb3JCR05MCVNwZWNpYWxDaGFyCi0gIEhpTGluayBtdXR0cmNDb2xvckZHTkwJU3BlY2lhbENoYXIKLSAgSGlMaW5rIG11dHRyY0FsaWFzTmFtZU5MCVNwZWNpYWxDaGFyCi0gIEhpTGluayBtdXR0cmNBbGlhc0VOTkwJU3BlY2lhbENoYXIKLSAgSGlMaW5rIG11dHRyY0FsaWFzTkwJCVNwZWNpYWxDaGFyCi0gIEhpTGluayBtdXR0cmNVbkFsaWFzTkwJU3BlY2lhbENoYXIKLSAgSGlMaW5rIG11dHRyY0FsaWFzR3JvdXBEZWZOTAlTcGVjaWFsQ2hhcgotICBIaUxpbmsgbXV0dHJjQWxpYXNFbmNFbWFpbE5MCVNwZWNpYWxDaGFyCi0gIEhpTGluayBtdXR0cmNQYXR0ZXJuTkwJU3BlY2lhbENoYXIKLSAgSGlMaW5rIG11dHRyY1VuQ29sb3JQYXROTAlTcGVjaWFsQ2hhcgotICBIaUxpbmsgbXV0dHJjVW5Db2xvckFQTkwJU3BlY2lhbENoYXIKLSAgSGlMaW5rIG11dHRyY1VuQ29sb3JJbmRleE5MCVNwZWNpYWxDaGFyCi0gIEhpTGluayBtdXR0cmNTdHJpbmdOTAkJU3BlY2lhbENoYXIKK0hpTGluayBtdXR0cmNCaW5kRnVuY3Rpb25OTAlTcGVjaWFsQ2hhcgorSGlMaW5rIG11dHRyY0JpbmRLZXlOTAlTcGVjaWFsQ2hhcgorSGlMaW5rIG11dHRyY0JpbmRNZW51TGlzdE5MCVNwZWNpYWxDaGFyCitIaUxpbmsgbXV0dHJjTWFjcm9EZXNjck5MCVNwZWNpYWxDaGFyCitIaUxpbmsgbXV0dHJjTWFjcm9Cb2R5TkwJU3BlY2lhbENoYXIKK0hpTGluayBtdXR0cmNNYWNyb0tleU5MCVNwZWNpYWxDaGFyCitIaUxpbmsgbXV0dHJjTWFjcm9NZW51TGlzdE5MCVNwZWNpYWxDaGFyCitIaUxpbmsgbXV0dHJjQ29sb3JNYXRjaENvdW50TkwgU3BlY2lhbENoYXIKK0hpTGluayBtdXR0cmNDb2xvck5MCQlTcGVjaWFsQ2hhcgorSGlMaW5rIG11dHRyY0NvbG9yUlhOTAlTcGVjaWFsQ2hhcgorSGlMaW5rIG11dHRyY0NvbG9yQkdOTAlTcGVjaWFsQ2hhcgorSGlMaW5rIG11dHRyY0NvbG9yRkdOTAlTcGVjaWFsQ2hhcgorSGlMaW5rIG11dHRyY0FsaWFzTmFtZU5MCVNwZWNpYWxDaGFyCitIaUxpbmsgbXV0dHJjQWxpYXNFTk5MCVNwZWNpYWxDaGFyCitIaUxpbmsgbXV0dHJjQWxpYXNOTAkJU3BlY2lhbENoYXIKK0hpTGluayBtdXR0cmNVbkFsaWFzTkwJU3BlY2lhbENoYXIKK0hpTGluayBtdXR0cmNBbGlhc0dyb3VwRGVmTkwJU3BlY2lhbENoYXIKK0hpTGluayBtdXR0cmNBbGlhc0VuY0VtYWlsTkwJU3BlY2lhbENoYXIKK0hpTGluayBtdXR0cmNQYXR0ZXJuTkwJU3BlY2lhbENoYXIKK0hpTGluayBtdXR0cmNVbkNvbG9yUGF0TkwJU3BlY2lhbENoYXIKK0hpTGluayBtdXR0cmNVbkNvbG9yQVBOTAlTcGVjaWFsQ2hhcgorSGlMaW5rIG11dHRyY1VuQ29sb3JJbmRleE5MCVNwZWNpYWxDaGFyCitIaUxpbmsgbXV0dHJjU3RyaW5nTkwJCVNwZWNpYWxDaGFyCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtdXR0cmMiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L215c3FsLnZpbSBiL3J1bnRpbWUvc3ludGF4L215c3FsLnZpbQppbmRleCBkN2NmNzQ3Li44ZDAzNjFjIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9teXNxbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbXlzcWwudmltCkBAIC02LDExICs2LDggQEAKICIgVVJMOiAgICAgICAgICBmdHA6Ly9jZWRhci1zb2x1dGlvbnMuY29tL3NvZnR3YXJlL215c3FsLnZpbQogIiBOb3RlOiAgICAgICAgIFRoZSBkZWZpbml0aW9ucyBiZWxvdyBhcmUgdGFrZW4gZnJvbSB0aGUgbXlzcWwgdXNlciBtYW51YWwgYXMgb2YgQXByaWwgMjAwMiwgZm9yIHZlcnNpb24gMy4yMwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjczLDI5ICsyNzAsMjEgQEAKIHN5biByZWdpb24gbXlzcWxGdW5jdGlvbiAgICAgICAgIHN0YXJ0PSJ5ZWFyd2VlaygiIGVuZD0iKSIgY29udGFpbnM9QUxMCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX215c3FsX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX215c3FsX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgbXlzcWxLZXl3b3JkICAgICAgICAgICAgU3RhdGVtZW50Ci0gIEhpTGluayBteXNxbFNwZWNpYWwgICAgICAgICAgICBTcGVjaWFsCi0gIEhpTGluayBteXNxbFN0cmluZyAgICAgICAgICAgICBTdHJpbmcKLSAgSGlMaW5rIG15c3FsTnVtYmVyICAgICAgICAgICAgIE51bWJlcgotICBIaUxpbmsgbXlzcWxWYXJpYWJsZSAgICAgICAgICAgSWRlbnRpZmllcgotICBIaUxpbmsgbXlzcWxDb21tZW50ICAgICAgICAgICAgQ29tbWVudAotICBIaUxpbmsgbXlzcWxUeXBlICAgICAgICAgICAgICAgVHlwZQotICBIaUxpbmsgbXlzcWxPcGVyYXRvciAgICAgICAgICAgU3RhdGVtZW50Ci0gIEhpTGluayBteXNxbEZsb3cgICAgICAgICAgICAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIG15c3FsRnVuY3Rpb24gICAgICAgICAgIEZ1bmN0aW9uCitIaUxpbmsgbXlzcWxLZXl3b3JkICAgICAgICAgICAgU3RhdGVtZW50CitIaUxpbmsgbXlzcWxTcGVjaWFsICAgICAgICAgICAgU3BlY2lhbAorSGlMaW5rIG15c3FsU3RyaW5nICAgICAgICAgICAgIFN0cmluZworSGlMaW5rIG15c3FsTnVtYmVyICAgICAgICAgICAgIE51bWJlcgorSGlMaW5rIG15c3FsVmFyaWFibGUgICAgICAgICAgIElkZW50aWZpZXIKK0hpTGluayBteXNxbENvbW1lbnQgICAgICAgICAgICBDb21tZW50CitIaUxpbmsgbXlzcWxUeXBlICAgICAgICAgICAgICAgVHlwZQorSGlMaW5rIG15c3FsT3BlcmF0b3IgICAgICAgICAgIFN0YXRlbWVudAorSGlMaW5rIG15c3FsRmxvdyAgICAgICAgICAgICAgIFN0YXRlbWVudAorSGlMaW5rIG15c3FsRnVuY3Rpb24gICAgICAgICAgIEZ1bmN0aW9uCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJteXNxbCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbmFtZWQudmltIGIvcnVudGltZS9zeW50YXgvbmFtZWQudmltCmluZGV4IGZhZWM1ZjYuLjZkNmNiZDQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L25hbWVkLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9uYW1lZC52aW0KQEAgLTExLDI1ICsxMSwxNiBAQAogIiBUaGlzIGZpbGUgY291bGQgZG8gd2l0aCBhIGxvdCBvZiBpbXByb3ZlbWVudHMsIHNvIGNvbW1lbnRzIGFyZSB3ZWxjb21lLgogIiBQbGVhc2Ugc3VibWl0IHRoZSBuYW1lZC5jb25mIChzZWdtZW50KSB3aXRoIGFueSBjb21tZW50cy4KICIKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCiBzeW4gY2FzZSBtYXRjaAogCi1pZiB2ZXJzaW9uID49IDYwMAotICBzZXRsb2NhbCBpc2tleXdvcmQ9LiwtLDQ4LTU4LEEtWixhLXosXwotZWxzZQotICBzZXQgaXNrZXl3b3JkPS4sLSw0OC01OCxBLVosYS16LF8KLWVuZGlmCitzZXRsb2NhbCBpc2tleXdvcmQ9LiwtLDQ4LTU4LEEtWixhLXosXwogCi1pZiB2ZXJzaW9uID49IDYwMAotICBzeW4gc3luYyBtYXRjaCBuYW1lZFN5bmMgZ3JvdXBoZXJlIE5PTkUgIl4oem9uZXxjb250cm9sc3xhY2x8a2V5KSIKLWVuZGlmCitzeW4gc3luYyBtYXRjaCBuYW1lZFN5bmMgZ3JvdXBoZXJlIE5PTkUgIl4oem9uZXxjb250cm9sc3xhY2x8a2V5KSIKIAogbGV0IHM6c2F2ZV9jcG8gPSAmY3BvCiBzZXQgY3BvLT1DCkBAIC0xOTcsNDggKzE4OCw0MCBAQAogc3luIG1hdGNoCW5hbWVkUGFyZW5FcnJvcgkrfVwoW147XVx8JFwpKwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9uYW1lZF9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9uYW1lZF9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIG5hbWVkQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBuYW1lZEluY2x1ZGUJSW5jbHVkZQotICBIaUxpbmsgbmFtZWRLZXl3b3JkCUtleXdvcmQKLSAgSGlMaW5rIG5hbWVkSW50S2V5d29yZAlLZXl3b3JkCi0gIEhpTGluayBuYW1lZElkZW50aWZpZXIJSWRlbnRpZmllcgotICBIaUxpbmsgbmFtZWRJbnRJZGVudAlJZGVudGlmaWVyCitIaUxpbmsgbmFtZWRDb21tZW50CUNvbW1lbnQKK0hpTGluayBuYW1lZEluY2x1ZGUJSW5jbHVkZQorSGlMaW5rIG5hbWVkS2V5d29yZAlLZXl3b3JkCitIaUxpbmsgbmFtZWRJbnRLZXl3b3JkCUtleXdvcmQKK0hpTGluayBuYW1lZElkZW50aWZpZXIJSWRlbnRpZmllcgorSGlMaW5rIG5hbWVkSW50SWRlbnQJSWRlbnRpZmllcgogCi0gIEhpTGluayBuYW1lZFN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIG5hbWVkQm9vbAlUeXBlCi0gIEhpTGluayBuYW1lZE5vdEJvb2wJRXJyb3IKLSAgSGlMaW5rIG5hbWVkTnVtYmVyCU51bWJlcgotICBIaUxpbmsgbmFtZWROb3ROdW1iZXIJRXJyb3IKK0hpTGluayBuYW1lZFN0cmluZwlTdHJpbmcKK0hpTGluayBuYW1lZEJvb2wJVHlwZQorSGlMaW5rIG5hbWVkTm90Qm9vbAlFcnJvcgorSGlMaW5rIG5hbWVkTnVtYmVyCU51bWJlcgorSGlMaW5rIG5hbWVkTm90TnVtYmVyCUVycm9yCiAKLSAgSGlMaW5rIG5hbWVkT3B0aW9uCW5hbWVkS2V5d29yZAotICBIaUxpbmsgbmFtZWRMb2dPcHRpb24JbmFtZWRLZXl3b3JkCi0gIEhpTGluayBuYW1lZENOT3B0aW9uCW5hbWVkS2V5d29yZAotICBIaUxpbmsgbmFtZWRRU0tleXdvcmRzCVR5cGUKLSAgSGlMaW5rIG5hbWVkQ05LZXl3b3JkcwlUeXBlCi0gIEhpTGluayBuYW1lZExvZ0NhdGVnb3J5CVR5cGUKLSAgSGlMaW5rIG5hbWVkSVBhZGRyCU51bWJlcgotICBIaUxpbmsgbmFtZWREb21haW4JSWRlbnRpZmllcgotICBIaUxpbmsgbmFtZWRab25lT3B0CW5hbWVkS2V5d29yZAotICBIaUxpbmsgbmFtZWRab25lVHlwZQlUeXBlCi0gIEhpTGluayBuYW1lZFBhcmVuRXJyb3IJRXJyb3IKLSAgSGlMaW5rIG5hbWVkRVBhcmVuRXJyb3IJRXJyb3IKLSAgSGlMaW5rIG5hbWVkSWxsZWdhbERvbQlFcnJvcgotICBIaUxpbmsgbmFtZWRJUGVycm9yCUVycm9yCi0gIEhpTGluayBuYW1lZFNwYXJlRG90CUVycm9yCi0gIEhpTGluayBuYW1lZEVycm9yCUVycm9yCitIaUxpbmsgbmFtZWRPcHRpb24JbmFtZWRLZXl3b3JkCitIaUxpbmsgbmFtZWRMb2dPcHRpb24JbmFtZWRLZXl3b3JkCitIaUxpbmsgbmFtZWRDTk9wdGlvbgluYW1lZEtleXdvcmQKK0hpTGluayBuYW1lZFFTS2V5d29yZHMJVHlwZQorSGlMaW5rIG5hbWVkQ05LZXl3b3JkcwlUeXBlCitIaUxpbmsgbmFtZWRMb2dDYXRlZ29yeQlUeXBlCitIaUxpbmsgbmFtZWRJUGFkZHIJTnVtYmVyCitIaUxpbmsgbmFtZWREb21haW4JSWRlbnRpZmllcgorSGlMaW5rIG5hbWVkWm9uZU9wdAluYW1lZEtleXdvcmQKK0hpTGluayBuYW1lZFpvbmVUeXBlCVR5cGUKK0hpTGluayBuYW1lZFBhcmVuRXJyb3IJRXJyb3IKK0hpTGluayBuYW1lZEVQYXJlbkVycm9yCUVycm9yCitIaUxpbmsgbmFtZWRJbGxlZ2FsRG9tCUVycm9yCitIaUxpbmsgbmFtZWRJUGVycm9yCUVycm9yCitIaUxpbmsgbmFtZWRTcGFyZURvdAlFcnJvcgorSGlMaW5rIG5hbWVkRXJyb3IJRXJyb3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCAmY3BvID0gczpzYXZlX2NwbwogdW5sZXQgczpzYXZlX2NwbwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbmFzbS52aW0gYi9ydW50aW1lL3N5bnRheC9uYXNtLnZpbQppbmRleCBhNmVkMDU2Li4wZjgxY2ViIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9uYXNtLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9uYXNtLnZpbQpAQCAtOSwxMCArOSw4IEBACiAKIAogIiBTZXR1cCBTeW50YXg6Ci0iICBDbGVhciBvbGQgc3ludGF4IHNldHRpbmdzCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5biBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogIiAgQXNzZW1ibGVyIHN5bnRheCBpcyBjYXNlIGluc2Vuc2V0aXZlCkBAIC0yMSwxOCArMTksMTAgQEAKIAogCiAiIFZpbSBzZWFyY2ggYW5kIG1vdmVtZW50IGNvbW1hbmRzIG9uIGlkZW50aWZlcnMKLWlmIHZlcnNpb24gPCA2MDAKLSAgIiAgQ29tbWVudHMgYXQgc3RhcnQgb2YgYSBsaW5lIGluc2lkZSB3aGljaCB0byBza2lwIHNlYXJjaCBmb3IgaW5kZW50aWZpZXJzCi0gIHNldCBjb21tZW50cz06OwotICAiICBJZGVudGlmaWVyIEtleXdvcmQgY2hhcmFjdGVycyAoZGVmaW5lcyBcaykKLSAgc2V0IGlza2V5d29yZD1ALDQ4LTU3LCMsJCwuLD8sQC1ALF8sfgotZWxzZQotICAiICBDb21tZW50cyBhdCBzdGFydCBvZiBhIGxpbmUgaW5zaWRlIHdoaWNoIHRvIHNraXAgc2VhcmNoIGZvciBpbmRlbnRpZmllcnMKLSAgc2V0bG9jYWwgY29tbWVudHM9OjsKLSAgIiAgSWRlbnRpZmllciBLZXl3b3JkIGNoYXJhY3RlcnMgKGRlZmluZXMgXGspCi0gIHNldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LCMsJCwuLD8sQC1ALF8sfgotZW5kaWYKLQorIiAgQ29tbWVudHMgYXQgc3RhcnQgb2YgYSBsaW5lIGluc2lkZSB3aGljaCB0byBza2lwIHNlYXJjaCBmb3IgaW5kZW50aWZpZXJzCitzZXRsb2NhbCBjb21tZW50cz06OworIiAgSWRlbnRpZmllciBLZXl3b3JkIGNoYXJhY3RlcnMgKGRlZmluZXMgXGspCitzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NywjLCQsLiw/LEAtQCxfLH4KIAogCiAiIENvbW1lbnRzOgpAQCAtNDMxLDk2ICs0MjEsODggQEAKIAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlciAgOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX25hc21fc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbmFzbV9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgIiBTdWIgTGlua3M6Ci0gIEhpTGluayBuYXNtSW5NYWNEaXJlY3RpdmUJbmFzbURpcmVjdGl2ZQotICBIaUxpbmsgbmFzbUluTWFjTGFiZWwJCW5hc21Mb2NhbExhYmVsCi0gIEhpTGluayBuYXNtSW5NYWNMYmxXYXJuCW5hc21MYWJlbFdhcm4KLSAgSGlMaW5rIG5hc21Jbk1hY01hY3JvCQluYXNtTWFjcm8KLSAgSGlMaW5rIG5hc21Jbk1hY1BhcmFtCQluYXNtTWFjcm8KLSAgSGlMaW5rIG5hc21Jbk1hY1BhcmFtTnVtCW5hc21EZWNOdW1iZXIKLSAgSGlMaW5rIG5hc21Jbk1hY1ByZUNvbmRpdAluYXNtUHJlQ29uZGl0Ci0gIEhpTGluayBuYXNtSW5NYWNQcmVQcm9jCW5hc21QcmVQcm9jCi0gIEhpTGluayBuYXNtSW5QcmVDb25kaXQJbmFzbVByZUNvbmRpdAotICBIaUxpbmsgbmFzbUluU3RydWN0dXJlCW5hc21TdHJ1Y3R1cmUKLSAgSGlMaW5rIG5hc21TdHJ1Y3R1cmVMYWJlbAluYXNtU3RydWN0dXJlCisiIFN1YiBMaW5rczoKK0hpTGluayBuYXNtSW5NYWNEaXJlY3RpdmUJbmFzbURpcmVjdGl2ZQorSGlMaW5rIG5hc21Jbk1hY0xhYmVsCQluYXNtTG9jYWxMYWJlbAorSGlMaW5rIG5hc21Jbk1hY0xibFdhcm4JbmFzbUxhYmVsV2FybgorSGlMaW5rIG5hc21Jbk1hY01hY3JvCQluYXNtTWFjcm8KK0hpTGluayBuYXNtSW5NYWNQYXJhbQkJbmFzbU1hY3JvCitIaUxpbmsgbmFzbUluTWFjUGFyYW1OdW0JbmFzbURlY051bWJlcgorSGlMaW5rIG5hc21Jbk1hY1ByZUNvbmRpdAluYXNtUHJlQ29uZGl0CitIaUxpbmsgbmFzbUluTWFjUHJlUHJvYwluYXNtUHJlUHJvYworSGlMaW5rIG5hc21JblByZUNvbmRpdAluYXNtUHJlQ29uZGl0CitIaUxpbmsgbmFzbUluU3RydWN0dXJlCW5hc21TdHJ1Y3R1cmUKK0hpTGluayBuYXNtU3RydWN0dXJlTGFiZWwJbmFzbVN0cnVjdHVyZQogCi0gICIgQ29tbWVudCBHcm91cDoKLSAgSGlMaW5rIG5hc21Db21tZW50CQlDb21tZW50Ci0gIEhpTGluayBuYXNtU3BlY2lhbENvbW1lbnQJU3BlY2lhbENvbW1lbnQKLSAgSGlMaW5rIG5hc21JbkNvbW1lbnRUb2RvCVRvZG8KKyIgQ29tbWVudCBHcm91cDoKK0hpTGluayBuYXNtQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIG5hc21TcGVjaWFsQ29tbWVudAlTcGVjaWFsQ29tbWVudAorSGlMaW5rIG5hc21JbkNvbW1lbnRUb2RvCVRvZG8KIAotICAiIENvbnN0YW50IEdyb3VwOgotICBIaUxpbmsgbmFzbVN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBuYXNtU3RyaW5nRXJyb3IJRXJyb3IKLSAgSGlMaW5rIG5hc21CaW5OdW1iZXIJCU51bWJlcgotICBIaUxpbmsgbmFzbU9jdE51bWJlcgkJTnVtYmVyCi0gIEhpTGluayBuYXNtRGVjTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIG5hc21IZXhOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgbmFzbUZsdE51bWJlcgkJRmxvYXQKLSAgSGlMaW5rIG5hc21OdW1iZXJFcnJvcglFcnJvcgorIiBDb25zdGFudCBHcm91cDoKK0hpTGluayBuYXNtU3RyaW5nCQlTdHJpbmcKK0hpTGluayBuYXNtU3RyaW5nRXJyb3IJRXJyb3IKK0hpTGluayBuYXNtQmluTnVtYmVyCQlOdW1iZXIKK0hpTGluayBuYXNtT2N0TnVtYmVyCQlOdW1iZXIKK0hpTGluayBuYXNtRGVjTnVtYmVyCQlOdW1iZXIKK0hpTGluayBuYXNtSGV4TnVtYmVyCQlOdW1iZXIKK0hpTGluayBuYXNtRmx0TnVtYmVyCQlGbG9hdAorSGlMaW5rIG5hc21OdW1iZXJFcnJvcglFcnJvcgogCi0gICIgSWRlbnRpZmllciBHcm91cDoKLSAgSGlMaW5rIG5hc21MYWJlbAkJSWRlbnRpZmllcgotICBIaUxpbmsgbmFzbUxvY2FsTGFiZWwJCUlkZW50aWZpZXIKLSAgSGlMaW5rIG5hc21TcGVjaWFsTGFiZWwJU3BlY2lhbAotICBIaUxpbmsgbmFzbUxhYmVsRXJyb3IJCUVycm9yCi0gIEhpTGluayBuYXNtTGFiZWxXYXJuCQlUb2RvCisiIElkZW50aWZpZXIgR3JvdXA6CitIaUxpbmsgbmFzbUxhYmVsCQlJZGVudGlmaWVyCitIaUxpbmsgbmFzbUxvY2FsTGFiZWwJCUlkZW50aWZpZXIKK0hpTGluayBuYXNtU3BlY2lhbExhYmVsCVNwZWNpYWwKK0hpTGluayBuYXNtTGFiZWxFcnJvcgkJRXJyb3IKK0hpTGluayBuYXNtTGFiZWxXYXJuCQlUb2RvCiAKLSAgIiBQcmVQcm9jIEdyb3VwOgotICBIaUxpbmsgbmFzbVByZVByb2MJCVByZVByb2MKLSAgSGlMaW5rIG5hc21EZWZpbmUJCURlZmluZQotICBIaUxpbmsgbmFzbUluY2x1ZGUJCUluY2x1ZGUKLSAgSGlMaW5rIG5hc21NYWNybwkJTWFjcm8KLSAgSGlMaW5rIG5hc21QcmVDb25kaXQJCVByZUNvbmRpdAotICBIaUxpbmsgbmFzbVByZVByb2NFcnJvcglFcnJvcgotICBIaUxpbmsgbmFzbVByZVByb2NXYXJuCVRvZG8KKyIgUHJlUHJvYyBHcm91cDoKK0hpTGluayBuYXNtUHJlUHJvYwkJUHJlUHJvYworSGlMaW5rIG5hc21EZWZpbmUJCURlZmluZQorSGlMaW5rIG5hc21JbmNsdWRlCQlJbmNsdWRlCitIaUxpbmsgbmFzbU1hY3JvCQlNYWNybworSGlMaW5rIG5hc21QcmVDb25kaXQJCVByZUNvbmRpdAorSGlMaW5rIG5hc21QcmVQcm9jRXJyb3IJRXJyb3IKK0hpTGluayBuYXNtUHJlUHJvY1dhcm4JVG9kbwogCi0gICIgVHlwZSBHcm91cDoKLSAgSGlMaW5rIG5hc21UeXBlCQlUeXBlCi0gIEhpTGluayBuYXNtU3RvcmFnZQkJU3RvcmFnZUNsYXNzCi0gIEhpTGluayBuYXNtU3RydWN0dXJlCQlTdHJ1Y3R1cmUKLSAgSGlMaW5rIG5hc21UeXBlRXJyb3IJCUVycm9yCisiIFR5cGUgR3JvdXA6CitIaUxpbmsgbmFzbVR5cGUJCVR5cGUKK0hpTGluayBuYXNtU3RvcmFnZQkJU3RvcmFnZUNsYXNzCitIaUxpbmsgbmFzbVN0cnVjdHVyZQkJU3RydWN0dXJlCitIaUxpbmsgbmFzbVR5cGVFcnJvcgkJRXJyb3IKIAotICAiIERpcmVjdGl2ZSBHcm91cDoKLSAgSGlMaW5rIG5hc21Db25zdGFudAkJQ29uc3RhbnQKLSAgSGlMaW5rIG5hc21JbnN0ck1vZGlmaWVyCU9wZXJhdG9yCi0gIEhpTGluayBuYXNtUmVwZWF0CQlSZXBlYXQKLSAgSGlMaW5rIG5hc21EaXJlY3RpdmUJCUtleXdvcmQKLSAgSGlMaW5rIG5hc21TdGREaXJlY3RpdmUJT3BlcmF0b3IKLSAgSGlMaW5rIG5hc21GbXREaXJlY3RpdmUJS2V5d29yZAorIiBEaXJlY3RpdmUgR3JvdXA6CitIaUxpbmsgbmFzbUNvbnN0YW50CQlDb25zdGFudAorSGlMaW5rIG5hc21JbnN0ck1vZGlmaWVyCU9wZXJhdG9yCitIaUxpbmsgbmFzbVJlcGVhdAkJUmVwZWF0CitIaUxpbmsgbmFzbURpcmVjdGl2ZQkJS2V5d29yZAorSGlMaW5rIG5hc21TdGREaXJlY3RpdmUJT3BlcmF0b3IKK0hpTGluayBuYXNtRm10RGlyZWN0aXZlCUtleXdvcmQKIAotICAiIFJlZ2lzdGVyIEdyb3VwOgotICBIaUxpbmsgbmFzbUN0cmxSZWdpc3RlcglTcGVjaWFsCi0gIEhpTGluayBuYXNtRGVidWdSZWdpc3RlcglEZWJ1ZwotICBIaUxpbmsgbmFzbVRlc3RSZWdpc3RlcglTcGVjaWFsCi0gIEhpTGluayBuYXNtUmVnaXN0ZXJFcnJvcglFcnJvcgotICBIaUxpbmsgbmFzbU1lbVJlZkVycm9yCUVycm9yCisiIFJlZ2lzdGVyIEdyb3VwOgorSGlMaW5rIG5hc21DdHJsUmVnaXN0ZXIJU3BlY2lhbAorSGlMaW5rIG5hc21EZWJ1Z1JlZ2lzdGVyCURlYnVnCitIaUxpbmsgbmFzbVRlc3RSZWdpc3RlcglTcGVjaWFsCitIaUxpbmsgbmFzbVJlZ2lzdGVyRXJyb3IJRXJyb3IKK0hpTGluayBuYXNtTWVtUmVmRXJyb3IJRXJyb3IKIAotICAiIEluc3RydWN0aW9uIEdyb3VwOgotICBIaUxpbmsgbmFzbVN0ZEluc3RydWN0aW9uCVN0YXRlbWVudAotICBIaUxpbmsgbmFzbVN5c0luc3RydWN0aW9uCVN0YXRlbWVudAotICBIaUxpbmsgbmFzbURiZ0luc3RydWN0aW9uCURlYnVnCi0gIEhpTGluayBuYXNtRnB1SW5zdHJ1Y3Rpb24JU3RhdGVtZW50Ci0gIEhpTGluayBuYXNtTW14SW5zdHJ1Y3Rpb24JU3RhdGVtZW50Ci0gIEhpTGluayBuYXNtU3NlSW5zdHJ1Y3Rpb24JU3RhdGVtZW50Ci0gIEhpTGluayBuYXNtTm93SW5zdHJ1Y3Rpb24JU3RhdGVtZW50Ci0gIEhpTGluayBuYXNtQW1kSW5zdHJ1Y3Rpb24JU3BlY2lhbAotICBIaUxpbmsgbmFzbUNyeEluc3RydWN0aW9uCVNwZWNpYWwKLSAgSGlMaW5rIG5hc21VbmRJbnN0cnVjdGlvbglUb2RvCi0gIEhpTGluayBuYXNtSW5zdHJ1Y3RuRXJyb3IJRXJyb3IKKyIgSW5zdHJ1Y3Rpb24gR3JvdXA6CitIaUxpbmsgbmFzbVN0ZEluc3RydWN0aW9uCVN0YXRlbWVudAorSGlMaW5rIG5hc21TeXNJbnN0cnVjdGlvbglTdGF0ZW1lbnQKK0hpTGluayBuYXNtRGJnSW5zdHJ1Y3Rpb24JRGVidWcKK0hpTGluayBuYXNtRnB1SW5zdHJ1Y3Rpb24JU3RhdGVtZW50CitIaUxpbmsgbmFzbU1teEluc3RydWN0aW9uCVN0YXRlbWVudAorSGlMaW5rIG5hc21Tc2VJbnN0cnVjdGlvbglTdGF0ZW1lbnQKK0hpTGluayBuYXNtTm93SW5zdHJ1Y3Rpb24JU3RhdGVtZW50CitIaUxpbmsgbmFzbUFtZEluc3RydWN0aW9uCVNwZWNpYWwKK0hpTGluayBuYXNtQ3J4SW5zdHJ1Y3Rpb24JU3BlY2lhbAorSGlMaW5rIG5hc21VbmRJbnN0cnVjdGlvbglUb2RvCitIaUxpbmsgbmFzbUluc3RydWN0bkVycm9yCUVycm9yCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJuYXNtIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9uYXN0cmFuLnZpbSBiL3J1bnRpbWUvc3ludGF4L25hc3RyYW4udmltCmluZGV4IGY3OTI3NjkuLjM0YWQxYmYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L25hc3RyYW4udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L25hc3RyYW4udmltCkBAIC02LDExICs2LDggQEAKICIJCVNpbmNlIERNQVAgc2hhcmVzIHNvbWUgdHJhaXRzIHdpdGggZm9ydHJhbiwgdGhpcyBzeW50YXggZmlsZQogIgkJaXMgYmFzZWQgb24gdGhlIGZvcnRyYW4udmltIHN5bnRheCBmaWxlLgogIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgUmVtb3ZlIGFueSBvbGQgc3ludGF4IHN0dWZmIGhhbmdpbmcgYXJvdW5kCi0ic3luIGNsZWFyCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogIiBETUFQIGlzIG5vdCBjYXNlIGRlcGVuZGVudApAQCAtMTU2LDM3ICsxNTMsMzAgQEAKIHN5biBrZXl3b3JkIG5hc3RyYW5VdGlsQ2FyZCBFQ0hPT04gRUNIT09GRiBJTkNMVURFIFBBUkFNCiAKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX25hc3RyYW5fc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgICBsZXQgZGlkX25hc3RyYW5fc3ludGF4X2luaXRzID0gMQotICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCi0gICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKLSAgSGlMaW5rIG5hc3RyYW5EbWFwZXhlY21vZAkgICAgIFN0YXRlbWVudAotICBIaUxpbmsgbmFzdHJhbkRtYXBUeXBlCSAgICAgVHlwZQotICBIaUxpbmsgbmFzdHJhbkRtYXBQcmVDb25kaXQJICAgICBFcnJvcgotICBIaUxpbmsgbmFzdHJhbkRtYXBVdGlsbW9kCSAgICAgUHJlUHJvYwotICBIaUxpbmsgbmFzdHJhbkRtYXBNYXRtb2QJICAgICBuYXN0cmFuRG1hcFV0aWxtb2QKLSAgSGlMaW5rIG5hc3RyYW5EbWFwU3RyaW5nCSAgICAgU3RyaW5nCi0gIEhpTGluayBuYXN0cmFuRG1hcE51bWJlcgkgICAgIENvbnN0YW50Ci0gIEhpTGluayBuYXN0cmFuRG1hcEZsb2F0CSAgICAgbmFzdHJhbkRtYXBOdW1iZXIKLSAgSGlMaW5rIG5hc3RyYW5EbWFwSW5pdFRhYgkgICAgIG5hc3RyYW5EbWFwTnVtYmVyCi0gIEhpTGluayBuYXN0cmFuRG1hcFRhYgkJICAgICBuYXN0cmFuRG1hcE51bWJlcgotICBIaUxpbmsgbmFzdHJhbkRtYXBMb2dpY2FsCSAgICAgbmFzdHJhbkRtYXBFeGVjbW9kCi0gIEhpTGluayBuYXN0cmFuRG1hcEltcGxpY2l0CSAgICAgSWRlbnRpZmllcgotICBIaUxpbmsgbmFzdHJhbkRtYXBDb21tZW50CSAgICAgQ29tbWVudAotICBIaUxpbmsgbmFzdHJhbkRtYXBSZXBlYXQJICAgICBuYXN0cmFuRG1hcGV4ZWNtb2QKLSAgSGlMaW5rIG5hc3RyYW5OYXN0cmFuQ2FyZAkgICAgIG5hc3RyYW5EbWFwUHJlQ29uZGl0Ci0gIEhpTGluayBuYXN0cmFuRUNTQ2FyZAkJICAgICBuYXN0cmFuRG1hcFV0aWxtb2QKLSAgSGlMaW5rIG5hc3RyYW5GTVNDYXJkCQkgICAgIG5hc3RyYW5OYXN0cmFuQ2FyZAotICBIaUxpbmsgbmFzdHJhbkNDCQkgICAgIG5hc3RyYW5EbWFwZXhlY21vZAotICBIaUxpbmsgbmFzdHJhbkRlbGltaXRlcgkgICAgIFNwZWNpYWwKLSAgSGlMaW5rIG5hc3RyYW5CdWxrRGF0YQkgICAgIG5hc3RyYW5EbWFwVHlwZQotICBIaUxpbmsgbmFzdHJhblV0aWxDYXJkCSAgICAgbmFzdHJhbkRtYXBleGVjbW9kCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKK0hpTGluayBuYXN0cmFuRG1hcGV4ZWNtb2QJICAgICBTdGF0ZW1lbnQKK0hpTGluayBuYXN0cmFuRG1hcFR5cGUJICAgICBUeXBlCitIaUxpbmsgbmFzdHJhbkRtYXBQcmVDb25kaXQJICAgICBFcnJvcgorSGlMaW5rIG5hc3RyYW5EbWFwVXRpbG1vZAkgICAgIFByZVByb2MKK0hpTGluayBuYXN0cmFuRG1hcE1hdG1vZAkgICAgIG5hc3RyYW5EbWFwVXRpbG1vZAorSGlMaW5rIG5hc3RyYW5EbWFwU3RyaW5nCSAgICAgU3RyaW5nCitIaUxpbmsgbmFzdHJhbkRtYXBOdW1iZXIJICAgICBDb25zdGFudAorSGlMaW5rIG5hc3RyYW5EbWFwRmxvYXQJICAgICBuYXN0cmFuRG1hcE51bWJlcgorSGlMaW5rIG5hc3RyYW5EbWFwSW5pdFRhYgkgICAgIG5hc3RyYW5EbWFwTnVtYmVyCitIaUxpbmsgbmFzdHJhbkRtYXBUYWIJCSAgICAgbmFzdHJhbkRtYXBOdW1iZXIKK0hpTGluayBuYXN0cmFuRG1hcExvZ2ljYWwJICAgICBuYXN0cmFuRG1hcEV4ZWNtb2QKK0hpTGluayBuYXN0cmFuRG1hcEltcGxpY2l0CSAgICAgSWRlbnRpZmllcgorSGlMaW5rIG5hc3RyYW5EbWFwQ29tbWVudAkgICAgIENvbW1lbnQKK0hpTGluayBuYXN0cmFuRG1hcFJlcGVhdAkgICAgIG5hc3RyYW5EbWFwZXhlY21vZAorSGlMaW5rIG5hc3RyYW5OYXN0cmFuQ2FyZAkgICAgIG5hc3RyYW5EbWFwUHJlQ29uZGl0CitIaUxpbmsgbmFzdHJhbkVDU0NhcmQJCSAgICAgbmFzdHJhbkRtYXBVdGlsbW9kCitIaUxpbmsgbmFzdHJhbkZNU0NhcmQJCSAgICAgbmFzdHJhbk5hc3RyYW5DYXJkCitIaUxpbmsgbmFzdHJhbkNDCQkgICAgIG5hc3RyYW5EbWFwZXhlY21vZAorSGlMaW5rIG5hc3RyYW5EZWxpbWl0ZXIJICAgICBTcGVjaWFsCitIaUxpbmsgbmFzdHJhbkJ1bGtEYXRhCSAgICAgbmFzdHJhbkRtYXBUeXBlCitIaUxpbmsgbmFzdHJhblV0aWxDYXJkCSAgICAgbmFzdHJhbkRtYXBleGVjbW9kCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJuYXN0cmFuIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9uYXR1cmFsLnZpbSBiL3J1bnRpbWUvc3ludGF4L25hdHVyYWwudmltCmluZGV4IDRmYmM5MTYuLmM5NDIzMWQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L25hdHVyYWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L25hdHVyYWwudmltCkBAIC02LDE2ICs2LDExIEBACiAiIExhc3QgQ2hhbmdlZDoJMjAxMi0wMi0wNSAxODo1MDo0MwogIiBTdXBwb3J0OglodHRwOi8vd3d3LnZvbi1vcHBlbi5jb20vCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIHRoaXMgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2OnZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi0gIHNldCBpc2tleXdvcmQrPS0sKiwjLCssXywvCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKLWVsc2UKLSAgc2V0bG9jYWwgaXNrZXl3b3JkKz0tLCosIywrLF8sLwogZW5kaWYKK3NldGxvY2FsIGlza2V5d29yZCs9LSwqLCMsKyxfLC8KIAogbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCiBzZXQgY3BvJnZpbQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbmNmLnZpbSBiL3J1bnRpbWUvc3ludGF4L25jZi52aW0KaW5kZXggMjAxOWMwMy4uYjQ1OGU2MyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbmNmLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9uY2YudmltCkBAIC00LDEwICs0LDggQEAKICIgTGFzdCBDaGFuZ2U6CVR1ZSwgMDQgU2VwIDIwMDEgMTY6MjA6MzMgQ0RUCiAiICRJZDogbmNmLnZpbSx2IDEuMSAyMDA0LzA2LzEzIDE2OjMxOjU4IHZpbWJvc3MgRXhwICQKIAotIiBSZW1vdmUgYW55IG9sZCBzeW50YXggc3R1ZmYgaGFuZ2luZyBhcm91bmQKLWlmIHZlcnNpb24gPCA2MDAKLSAgICBzeW4gY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICAgZmluaXNoCiBlbmRpZgogCkBAIC0yMTcsNDIgKzIxNSwzNSBAQAogICAgIHN5biBtYXRjaCBFcnJvciAiW14gXHRdKiIgY29udGFpbnM9QUxMCiBlbmRpZgogCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbmNmX3N5bnRheF9pbml0cyIpCi0gICAgaWYgdmVyc2lvbiA8IDUwOAotCWxldCBkaWRfbmNmX3N5bnRheF9pbml0cyA9IDEKLQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgIGVsc2UKLQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgICBlbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCi0gICAgSGlMaW5rIG5jZkNvbW1hbmRzCQlTdGF0ZW1lbnQKLSAgICBIaUxpbmsgbmNmU2V0Q29tbWFuZHMJbmNmQ29tbWFuZHMKLSAgICBIaUxpbmsgbmNmTG9naW5zCQluY2ZDb21tYW5kcwotICAgIEhpTGluayBuY2ZTdHJpbmcJCVN0cmluZwotICAgIEhpTGluayBuY2ZDb250U3RyaW5nCW5jZlN0cmluZwotICAgIEhpTGluayBuY2ZDb21tZW50CQlDb21tZW50Ci0gICAgSGlMaW5rIG5jZkltcGxpY2l0CQlUeXBlCi0gICAgSGlMaW5rIG5jZkJvb2xlYW4JCUJvb2xlYW4KLSAgICBIaUxpbmsgbmNmU2NyaXB0CQlJZGVudGlmaWVyCi0gICAgSGlMaW5rIG5jZk51bWJlcgkJTnVtYmVyCi0gICAgSGlMaW5rIG5jZklQQWRkcgkJbmNmTnVtYmVyCi0gICAgSGlMaW5rIG5jZkhleE51bWJlcgkJbmNmTnVtYmVyCi0gICAgSGlMaW5rIG5jZlRpbWUJCW5jZk51bWJlcgotICAgIEhpTGluayBuY2ZEU1RUaW1lCQluY2ZOdW1iZXIKLSAgICBIaUxpbmsgbmNmUGF0aAkJQ29uc3RhbnQKLSAgICBIaUxpbmsgbmNmU2VydmVyTmFtZQlTcGVjaWFsCi0gICAgSGlMaW5rIG5jZklQWE5ldAkJbmNmU2VydmVyTmFtZQotICAgIEhpTGluayBuY2ZUaW1lVHlwZXMJCUNvbnN0YW50Ci0gICAgSGlMaW5rIG5jZlNldENvbW1hbmRzTnVtCSAgIG5jZlNldENvbW1hbmRzCi0gICAgSGlMaW5rIG5jZlNldENvbW1hbmRzQm9vbAkgICBuY2ZTZXRDb21tYW5kcwotICAgIEhpTGluayBuY2ZTZXRDb21tYW5kc1N0cgkgICBuY2ZTZXRDb21tYW5kcwotICAgIEhpTGluayBuY2ZTZXRDb21tYW5kc1RpbWUJICAgbmNmU2V0Q29tbWFuZHMKLSAgICBIaUxpbmsgbmNmU2V0Q29tbWFuZHNUaW1lRGF0ZSAgbmNmU2V0Q29tbWFuZHMKLSAgICBIaUxpbmsgbmNmU2V0Q29tbWFuZHNCaW5kQ29uICAgbmNmU2V0Q29tbWFuZHMKKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKK0hpTGluayBuY2ZDb21tYW5kcwkJU3RhdGVtZW50CitIaUxpbmsgbmNmU2V0Q29tbWFuZHMJbmNmQ29tbWFuZHMKK0hpTGluayBuY2ZMb2dpbnMJCW5jZkNvbW1hbmRzCitIaUxpbmsgbmNmU3RyaW5nCQlTdHJpbmcKK0hpTGluayBuY2ZDb250U3RyaW5nCW5jZlN0cmluZworSGlMaW5rIG5jZkNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBuY2ZJbXBsaWNpdAkJVHlwZQorSGlMaW5rIG5jZkJvb2xlYW4JCUJvb2xlYW4KK0hpTGluayBuY2ZTY3JpcHQJCUlkZW50aWZpZXIKK0hpTGluayBuY2ZOdW1iZXIJCU51bWJlcgorSGlMaW5rIG5jZklQQWRkcgkJbmNmTnVtYmVyCitIaUxpbmsgbmNmSGV4TnVtYmVyCQluY2ZOdW1iZXIKK0hpTGluayBuY2ZUaW1lCQluY2ZOdW1iZXIKK0hpTGluayBuY2ZEU1RUaW1lCQluY2ZOdW1iZXIKK0hpTGluayBuY2ZQYXRoCQlDb25zdGFudAorSGlMaW5rIG5jZlNlcnZlck5hbWUJU3BlY2lhbAorSGlMaW5rIG5jZklQWE5ldAkJbmNmU2VydmVyTmFtZQorSGlMaW5rIG5jZlRpbWVUeXBlcwkJQ29uc3RhbnQKK0hpTGluayBuY2ZTZXRDb21tYW5kc051bQkgICBuY2ZTZXRDb21tYW5kcworSGlMaW5rIG5jZlNldENvbW1hbmRzQm9vbAkgICBuY2ZTZXRDb21tYW5kcworSGlMaW5rIG5jZlNldENvbW1hbmRzU3RyCSAgIG5jZlNldENvbW1hbmRzCitIaUxpbmsgbmNmU2V0Q29tbWFuZHNUaW1lCSAgIG5jZlNldENvbW1hbmRzCitIaUxpbmsgbmNmU2V0Q29tbWFuZHNUaW1lRGF0ZSAgbmNmU2V0Q29tbWFuZHMKK0hpTGluayBuY2ZTZXRDb21tYW5kc0JpbmRDb24gICBuY2ZTZXRDb21tYW5kcwogCi0gICAgZGVsY29tbWFuZCBIaUxpbmsKK2RlbGNvbW1hbmQgSGlMaW5rCiAKLWVuZGlmCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm5jZiIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L25ldHJ3LnZpbSBiL3J1bnRpbWUvc3ludGF4L25ldHJ3LnZpbQppbmRleCA3MThjZWUxLi4zZDNhYTk5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9uZXRydy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbmV0cncudmltCkBAIC01LDkgKzUsOCBAQAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogIiBTeW50YXggQ2xlYXJpbmc6IHt7ezEKLWlmIHZlcnNpb24gPCA2MDAKLSBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ucWMudmltIGIvcnVudGltZS9zeW50YXgvbnFjLnZpbQppbmRleCAwYTNjZDZiLi45MTA1NzA1IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9ucWMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L25xYy52aW0KQEAgLTYsMTEgKzYsOCBAQAogIiBVUkw6CQlodHRwOi8vd3d3LmVub3Rlcy5kZS90d2lraS9wdWIvSG9tZS9MZWdvTWluZHN0b3Jtcy9ucWMudmltCiAiIEZpbGVuYW1lczoJLm5xYwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMzI2LDUyICszMjMsNDQgQEAKIGV4ZWMgInN5biBzeW5jIGNjb21tZW50IG5xY0NvbW1lbnQgbWlubGluZXM9IiAuIG5xY19taW5saW5lcwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ucWNfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbnFjX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCi0gIEhpTGluayBucWNMYWJlbAkJTGFiZWwKLSAgSGlMaW5rIG5xY0NvbmRpdGlvbmFsCQlDb25kaXRpb25hbAotICBIaUxpbmsgbnFjUmVwZWF0CQlSZXBlYXQKLSAgSGlMaW5rIG5xY0NoYXJhY3RlcgkJQ2hhcmFjdGVyCi0gIEhpTGluayBucWNOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgbnFjRmxvYXQJCUZsb2F0Ci0gIEhpTGluayBucWNGdW5jdGlvbgkJRnVuY3Rpb24KLSAgSGlMaW5rIG5xY1BhcmVuRXJyb3IJCW5xY0Vycm9yCi0gIEhpTGluayBucWNFcnJJblBhcmVuCQlucWNFcnJvcgotICBIaUxpbmsgbnFjRXJySW5CcmFja2V0CW5xY0Vycm9yCi0gIEhpTGluayBucWNDb21tZW50TAkJbnFjQ29tbWVudAotICBIaUxpbmsgbnFjQ29tbWVudFN0YXJ0CW5xY0NvbW1lbnQKLSAgSGlMaW5rIG5xY0NvbW1lbnRFcnJvcglucWNFcnJvcgotICBIaUxpbmsgbnFjQ29tbWVudFN0YXJ0RXJyb3IJbnFjRXJyb3IKLSAgSGlMaW5rIG5xY1NwYWNlRXJyb3IJCW5xY0Vycm9yCi0gIEhpTGluayBucWNTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCi0gIEhpTGluayBucWNJbmNsdWRlCQlJbmNsdWRlCi0gIEhpTGluayBucWNQcmVQcm9jCQlQcmVQcm9jCi0gIEhpTGluayBucWNEZWZpbmUJCU1hY3JvCi0gIEhpTGluayBucWNJbmNsdWRlZAkJU3RyaW5nCi0gIEhpTGluayBucWNFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIG5xY1N0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBucWNFdmVudHMJCVN0YXRlbWVudAotICBIaUxpbmsgbnFjUHJlQ29uZGl0CQlQcmVDb25kaXQKLSAgSGlMaW5rIG5xY1R5cGUJCVR5cGUKLSAgSGlMaW5rIG5xY0NvbnN0YW50CQlDb25zdGFudAotICBIaUxpbmsgbnFjQ29tbWVudFNraXAJCW5xY0NvbW1lbnQKLSAgSGlMaW5rIG5xY0NvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIG5xY1RvZG8JCVRvZG8KLSAgSGlMaW5rIG5xY0NwcFNraXAJCW5xY0NwcE91dAotICBIaUxpbmsgbnFjQ3BwT3V0MgkJbnFjQ3BwT3V0Ci0gIEhpTGluayBucWNDcHBPdXQJCUNvbW1lbnQKKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKK0hpTGluayBucWNMYWJlbAkJTGFiZWwKK0hpTGluayBucWNDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKK0hpTGluayBucWNSZXBlYXQJCVJlcGVhdAorSGlMaW5rIG5xY0NoYXJhY3RlcgkJQ2hhcmFjdGVyCitIaUxpbmsgbnFjTnVtYmVyCQlOdW1iZXIKK0hpTGluayBucWNGbG9hdAkJRmxvYXQKK0hpTGluayBucWNGdW5jdGlvbgkJRnVuY3Rpb24KK0hpTGluayBucWNQYXJlbkVycm9yCQlucWNFcnJvcgorSGlMaW5rIG5xY0VyckluUGFyZW4JCW5xY0Vycm9yCitIaUxpbmsgbnFjRXJySW5CcmFja2V0CW5xY0Vycm9yCitIaUxpbmsgbnFjQ29tbWVudEwJCW5xY0NvbW1lbnQKK0hpTGluayBucWNDb21tZW50U3RhcnQJbnFjQ29tbWVudAorSGlMaW5rIG5xY0NvbW1lbnRFcnJvcglucWNFcnJvcgorSGlMaW5rIG5xY0NvbW1lbnRTdGFydEVycm9yCW5xY0Vycm9yCitIaUxpbmsgbnFjU3BhY2VFcnJvcgkJbnFjRXJyb3IKK0hpTGluayBucWNTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCitIaUxpbmsgbnFjSW5jbHVkZQkJSW5jbHVkZQorSGlMaW5rIG5xY1ByZVByb2MJCVByZVByb2MKK0hpTGluayBucWNEZWZpbmUJCU1hY3JvCitIaUxpbmsgbnFjSW5jbHVkZWQJCVN0cmluZworSGlMaW5rIG5xY0Vycm9yCQlFcnJvcgorSGlMaW5rIG5xY1N0YXRlbWVudAkJU3RhdGVtZW50CitIaUxpbmsgbnFjRXZlbnRzCQlTdGF0ZW1lbnQKK0hpTGluayBucWNQcmVDb25kaXQJCVByZUNvbmRpdAorSGlMaW5rIG5xY1R5cGUJCVR5cGUKK0hpTGluayBucWNDb25zdGFudAkJQ29uc3RhbnQKK0hpTGluayBucWNDb21tZW50U2tpcAkJbnFjQ29tbWVudAorSGlMaW5rIG5xY0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBucWNUb2RvCQlUb2RvCitIaUxpbmsgbnFjQ3BwU2tpcAkJbnFjQ3BwT3V0CitIaUxpbmsgbnFjQ3BwT3V0MgkJbnFjQ3BwT3V0CitIaUxpbmsgbnFjQ3BwT3V0CQlDb21tZW50CiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJucWMiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L25yb2ZmLnZpbSBiL3J1bnRpbWUvc3ludGF4L25yb2ZmLnZpbQppbmRleCAyODBiYTllLi4yNjE5ZDAyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9ucm9mZi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbnJvZmYudmltCkBAIC0yMiwxMiArMjIsOSBAQAogIgogIiB7e3sxIFN0YXJ0IHN5bnRheCBoaWdobGlnaHRpbmcuCiAiCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKICIKLWlmIHZlcnNpb24gPCA2MDAKLQlzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKIAlmaW5pc2gKIGVuZGlmCiAKQEAgLTE5Nyw2NSArMTk0LDU1IEBACiAKICIKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAogIgotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX25yb2ZmX3N5bl9pbml0cyIpCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9ucm9mZl9zeW5faW5pdHMgPSAxCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0JZWxzZQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLQllbmRpZgorSGlMaW5rIG5yb2ZmRXNjQ2hhciBucm9mZlNwZWNpYWxDaGFyCitIaUxpbmsgbnJvZmZFc2NDaGFyQXIgbnJvZmZTcGVjaWFsQ2hhcgorSGlMaW5rIG5yb2ZmU3BlY2lhbENoYXIgU3BlY2lhbENoYXIKK0hpTGluayBucm9mZlNwYWNlIERlbGltaXRlcgogCi0JSGlMaW5rIG5yb2ZmRXNjQ2hhciBucm9mZlNwZWNpYWxDaGFyCi0JSGlMaW5rIG5yb2ZmRXNjQ2hhckFyIG5yb2ZmU3BlY2lhbENoYXIKLQlIaUxpbmsgbnJvZmZTcGVjaWFsQ2hhciBTcGVjaWFsQ2hhcgotCUhpTGluayBucm9mZlNwYWNlIERlbGltaXRlcgorSGlMaW5rIG5yb2ZmRXNjUmVnQXJnMiBucm9mZkVzY1JlZ0FyZworSGlMaW5rIG5yb2ZmRXNjUmVnQXJnIG5yb2ZmSWRlbnQKIAotCUhpTGluayBucm9mZkVzY1JlZ0FyZzIgbnJvZmZFc2NSZWdBcmcKLQlIaUxpbmsgbnJvZmZFc2NSZWdBcmcgbnJvZmZJZGVudAorSGlMaW5rIG5yb2ZmRXNjQXJnMiBucm9mZkVzY0FyZworSGlMaW5rIG5yb2ZmRXNjUGFyIG5yb2ZmRXNjYXBlCiAKLQlIaUxpbmsgbnJvZmZFc2NBcmcyIG5yb2ZmRXNjQXJnCi0JSGlMaW5rIG5yb2ZmRXNjUGFyIG5yb2ZmRXNjYXBlCitIaUxpbmsgbnJvZmZFc2NSZWdQYXIgbnJvZmZFc2NhcGUKK0hpTGluayBucm9mZkVzY0FyZyBucm9mZkVzY2FwZQorSGlMaW5rIG5yb2ZmU2l6ZSBucm9mZkVzY2FwZQorSGlMaW5rIG5yb2ZmRXNjYXBlIFByZXByb2MKIAotCUhpTGluayBucm9mZkVzY1JlZ1BhciBucm9mZkVzY2FwZQotCUhpTGluayBucm9mZkVzY0FyZyBucm9mZkVzY2FwZQotCUhpTGluayBucm9mZlNpemUgbnJvZmZFc2NhcGUKLQlIaUxpbmsgbnJvZmZFc2NhcGUgUHJlcHJvYworSGlMaW5rIG5yb2ZmSWdub3JlIENvbW1lbnQKK0hpTGluayBucm9mZkNvbW1lbnQgQ29tbWVudAorSGlMaW5rIG5yb2ZmVG9kbyBUb2RvCiAKLQlIaUxpbmsgbnJvZmZJZ25vcmUgQ29tbWVudAotCUhpTGluayBucm9mZkNvbW1lbnQgQ29tbWVudAotCUhpTGluayBucm9mZlRvZG8gVG9kbworSGlMaW5rIG5yb2ZmUmVxTGVhZGVyIG5yb2ZmUmVxdWVzdAorSGlMaW5rIG5yb2ZmUmVxTmFtZSBucm9mZlJlcXVlc3QKK0hpTGluayBucm9mZlJlcXVlc3QgU3RhdGVtZW50CitIaUxpbmsgbnJvZmZDb25kIFByZUNvbmRpdAorSGlMaW5rIG5yb2ZmRGVmSWRlbnQgbnJvZmZJZGVudAorSGlMaW5rIG5yb2ZmSWRlbnQgSWRlbnRpZmllcgogCi0JSGlMaW5rIG5yb2ZmUmVxTGVhZGVyIG5yb2ZmUmVxdWVzdAotCUhpTGluayBucm9mZlJlcU5hbWUgbnJvZmZSZXF1ZXN0Ci0JSGlMaW5rIG5yb2ZmUmVxdWVzdCBTdGF0ZW1lbnQKLQlIaUxpbmsgbnJvZmZDb25kIFByZUNvbmRpdAotCUhpTGluayBucm9mZkRlZklkZW50IG5yb2ZmSWRlbnQKLQlIaUxpbmsgbnJvZmZJZGVudCBJZGVudGlmaWVyCitIaUxpbmsgbnJvZmZFcXVhdGlvbiBQcmVQcm9jCitIaUxpbmsgbnJvZmZUYWJsZSBQcmVQcm9jCitIaUxpbmsgbnJvZmZQaWN0dXJlIFByZVByb2MKK0hpTGluayBucm9mZlJlZmVyIFByZVByb2MKK0hpTGluayBucm9mZkdyYXAgUHJlUHJvYworSGlMaW5rIG5yb2ZmR3JlbWxpbiBQcmVQcm9jCiAKLQlIaUxpbmsgbnJvZmZFcXVhdGlvbiBQcmVQcm9jCi0JSGlMaW5rIG5yb2ZmVGFibGUgUHJlUHJvYwotCUhpTGluayBucm9mZlBpY3R1cmUgUHJlUHJvYwotCUhpTGluayBucm9mZlJlZmVyIFByZVByb2MKLQlIaUxpbmsgbnJvZmZHcmFwIFByZVByb2MKLQlIaUxpbmsgbnJvZmZHcmVtbGluIFByZVByb2MKK0hpTGluayBucm9mZk51bWJlciBOdW1iZXIKK0hpTGluayBucm9mZkJhZENoYXIgbnJvZmZFcnJvcgorSGlMaW5rIG5yb2ZmU3BhY2VFcnJvciBucm9mZkVycm9yCitIaUxpbmsgbnJvZmZFcnJvciBFcnJvcgogCi0JSGlMaW5rIG5yb2ZmTnVtYmVyIE51bWJlcgotCUhpTGluayBucm9mZkJhZENoYXIgbnJvZmZFcnJvcgotCUhpTGluayBucm9mZlNwYWNlRXJyb3IgbnJvZmZFcnJvcgotCUhpTGluayBucm9mZkVycm9yIEVycm9yCitIaUxpbmsgbnJvZmZQcmVzZXJ2ZSBTdHJpbmcKK0hpTGluayBucm9mZlN0cmluZyBTdHJpbmcKK0hpTGluayBucm9mZkRlZmluaXRpb24gU3RyaW5nCitIaUxpbmsgbnJvZmZEZWZTcGVjaWFsIFNwZWNpYWwKIAotCUhpTGluayBucm9mZlByZXNlcnZlIFN0cmluZwotCUhpTGluayBucm9mZlN0cmluZyBTdHJpbmcKLQlIaUxpbmsgbnJvZmZEZWZpbml0aW9uIFN0cmluZwotCUhpTGluayBucm9mZkRlZlNwZWNpYWwgU3BlY2lhbAotCi0JZGVsY29tbWFuZCBIaUxpbmsKLQotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm5yb2ZmIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9uc2lzLnZpbSBiL3J1bnRpbWUvc3ludGF4L25zaXMudmltCmluZGV4IGQ2ZDgwMzcuLjhmM2FhMjUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L25zaXMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L25zaXMudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJQWxleCBKYWt1c2hldiA8QWxleC5KYWt1c2hldkBrZW1lay5sdD4KICIgTGFzdCBDaGFuZ2U6CTIwMDQgTWF5IDEyCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0yMjQsNDggKzIyMSwzOCBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX25zaXNfc3luX2luaXRzIikKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX25zeXNfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK0hpTGluayBuc2lzSW5zdHJ1Y3Rpb24JCUZ1bmN0aW9uCitIaUxpbmsgbnNpc0NvbW1lbnQJCQlDb21tZW50CitIaUxpbmsgbnNpc0xvY2FsTGFiZWwJCQlMYWJlbAorSGlMaW5rIG5zaXNHbG9iYWxMYWJlbAkJTGFiZWwKK0hpTGluayBuc2lzU3RhdGVtZW50CQkJU3RhdGVtZW50CitIaUxpbmsgbnNpc1N0cmluZwkJCVN0cmluZworSGlMaW5rIG5zaXNCb29sZWFuCQkJQm9vbGVhbgorSGlMaW5rIG5zaXNBdHRyaWJPcHRpb25zCQlDb25zdGFudAorSGlMaW5rIG5zaXNFeGVjU2hlbGwJCQlDb25zdGFudAorSGlMaW5rIG5zaXNGaWxlQXR0cmliCQkJQ29uc3RhbnQKK0hpTGluayBuc2lzTWVzc2FnZUJveAkJCUNvbnN0YW50CitIaUxpbmsgbnNpc1JlZ2lzdHJ5CQkJSWRlbnRpZmllcgorSGlMaW5rIG5zaXNOdW1iZXIJCQlOdW1iZXIKK0hpTGluayBuc2lzRXJyb3IJCQlFcnJvcgorSGlMaW5rIG5zaXNVc2VyVmFyCQkJSWRlbnRpZmllcgorSGlMaW5rIG5zaXNTeXNWYXIJCQlJZGVudGlmaWVyCitIaUxpbmsgbnNpc0F0dHJpYnV0ZQkJCVR5cGUKK0hpTGluayBuc2lzQ29tcGlsZXIJCQlUeXBlCitIaUxpbmsgbnNpc1RvZG8JCQlUb2RvCitIaUxpbmsgbnNpc0NhbGxiYWNrCQkJT3BlcmF0b3IKKyIgcHJlcHJvY2Vzc29yIGNvbW1hbmRzCitIaUxpbmsgbnNpc1ByZXByb2NTdWJzdAkJUHJlUHJvYworSGlMaW5rIG5zaXNEZWZpbmUJCQlEZWZpbmUKK0hpTGluayBuc2lzTWFjcm8JCQlNYWNybworSGlMaW5rIG5zaXNQcmVDb25kaXQJCQlQcmVDb25kaXQKK0hpTGluayBuc2lzSW5jbHVkZQkJCUluY2x1ZGUKK0hpTGluayBuc2lzU3lzdGVtCQkJUHJlUHJvYwogCi0KLSAgSGlMaW5rIG5zaXNJbnN0cnVjdGlvbgkJRnVuY3Rpb24KLSAgSGlMaW5rIG5zaXNDb21tZW50CQkJQ29tbWVudAotICBIaUxpbmsgbnNpc0xvY2FsTGFiZWwJCQlMYWJlbAotICBIaUxpbmsgbnNpc0dsb2JhbExhYmVsCQlMYWJlbAotICBIaUxpbmsgbnNpc1N0YXRlbWVudAkJCVN0YXRlbWVudAotICBIaUxpbmsgbnNpc1N0cmluZwkJCVN0cmluZwotICBIaUxpbmsgbnNpc0Jvb2xlYW4JCQlCb29sZWFuCi0gIEhpTGluayBuc2lzQXR0cmliT3B0aW9ucwkJQ29uc3RhbnQKLSAgSGlMaW5rIG5zaXNFeGVjU2hlbGwJCQlDb25zdGFudAotICBIaUxpbmsgbnNpc0ZpbGVBdHRyaWIJCQlDb25zdGFudAotICBIaUxpbmsgbnNpc01lc3NhZ2VCb3gJCQlDb25zdGFudAotICBIaUxpbmsgbnNpc1JlZ2lzdHJ5CQkJSWRlbnRpZmllcgotICBIaUxpbmsgbnNpc051bWJlcgkJCU51bWJlcgotICBIaUxpbmsgbnNpc0Vycm9yCQkJRXJyb3IKLSAgSGlMaW5rIG5zaXNVc2VyVmFyCQkJSWRlbnRpZmllcgotICBIaUxpbmsgbnNpc1N5c1ZhcgkJCUlkZW50aWZpZXIKLSAgSGlMaW5rIG5zaXNBdHRyaWJ1dGUJCQlUeXBlCi0gIEhpTGluayBuc2lzQ29tcGlsZXIJCQlUeXBlCi0gIEhpTGluayBuc2lzVG9kbwkJCVRvZG8KLSAgSGlMaW5rIG5zaXNDYWxsYmFjawkJCU9wZXJhdG9yCi0gICIgcHJlcHJvY2Vzc29yIGNvbW1hbmRzCi0gIEhpTGluayBuc2lzUHJlcHJvY1N1YnN0CQlQcmVQcm9jCi0gIEhpTGluayBuc2lzRGVmaW5lCQkJRGVmaW5lCi0gIEhpTGluayBuc2lzTWFjcm8JCQlNYWNybwotICBIaUxpbmsgbnNpc1ByZUNvbmRpdAkJCVByZUNvbmRpdAotICBIaUxpbmsgbnNpc0luY2x1ZGUJCQlJbmNsdWRlCi0gIEhpTGluayBuc2lzU3lzdGVtCQkJUHJlUHJvYwotCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAibnNpcyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvb2JqLnZpbSBiL3J1bnRpbWUvc3ludGF4L29iai52aW0KaW5kZXggNjZjZDZjMi4uZjJjZDhhNCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvb2JqLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9vYmoudmltCkBAIC00LDExICs0LDggQEAKICIgRmlsZSBUeXBlczoJLm9iaiAodXNlZCBpbiAzRCkKICIgTGFzdCBDaGFuZ2U6ICAyMDEwIE1heSAxOAogIgotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTYyLDM0ICs1OSwyNiBAQAogc3luIG1hdGNoICAgICAgIG9iakluZGV4ICAgICAgICAiXGRcK1wvXGQqXC9cZCoiCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2NhYmFsX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2NhYmFsX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgb2JqRXJyb3IgICAgICAgICAgIEVycm9yCi0gIEhpTGluayBvYmpDb21tZW50ICAgICAgICAgQ29tbWVudAotICBIaUxpbmsgb2JqSW5jbHVkZSAgICAgICAgIFByZVByb2MKLSAgSGlMaW5rIG9iakZsb2F0ICAgICAgICAgICBGbG9hdAotICBIaUxpbmsgb2JqSW50ICAgICAgICAgICAgIE51bWJlcgotICBIaUxpbmsgb2JqR3JvdXAgICAgICAgICAgIFN0cnVjdHVyZQotICBIaUxpbmsgb2JqSW5kZXggICAgICAgICAgIENvbnN0YW50Ci0gIEhpTGluayBvYmpNYXRlcmlhbCAgICAgICAgTGFiZWwKK0hpTGluayBvYmpFcnJvciAgICAgICAgICAgRXJyb3IKK0hpTGluayBvYmpDb21tZW50ICAgICAgICAgQ29tbWVudAorSGlMaW5rIG9iakluY2x1ZGUgICAgICAgICBQcmVQcm9jCitIaUxpbmsgb2JqRmxvYXQgICAgICAgICAgIEZsb2F0CitIaUxpbmsgb2JqSW50ICAgICAgICAgICAgIE51bWJlcgorSGlMaW5rIG9iakdyb3VwICAgICAgICAgICBTdHJ1Y3R1cmUKK0hpTGluayBvYmpJbmRleCAgICAgICAgICAgQ29uc3RhbnQKK0hpTGluayBvYmpNYXRlcmlhbCAgICAgICAgTGFiZWwKIAotICBIaUxpbmsgb2JqVmVydGV4ICAgICAgICAgIEtleXdvcmQKLSAgSGlMaW5rIG9iak5vcm1hbGUgICAgICAgICBLZXl3b3JkCi0gIEhpTGluayBvYmpWZXJ0aWNlICAgICAgICAgS2V5d29yZAotICBIaUxpbmsgb2JqRmFjZSAgICAgICAgICAgIEtleXdvcmQKLSAgSGlMaW5rIG9iaktleXdvcmRzICAgICAgICBLZXl3b3JkCitIaUxpbmsgb2JqVmVydGV4ICAgICAgICAgIEtleXdvcmQKK0hpTGluayBvYmpOb3JtYWxlICAgICAgICAgS2V5d29yZAorSGlMaW5rIG9ialZlcnRpY2UgICAgICAgICBLZXl3b3JkCitIaUxpbmsgb2JqRmFjZSAgICAgICAgICAgIEtleXdvcmQKK0hpTGluayBvYmpLZXl3b3JkcyAgICAgICAgS2V5d29yZAogCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJvYmoiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L29iamNwcC52aW0gYi9ydW50aW1lL3N5bnRheC9vYmpjcHAudmltCmluZGV4IGU4MGVlZDkuLmYxMWUzMDcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L29iamNwcC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvb2JqY3BwLnZpbQpAQCAtNCwyMyArNCwxNSBAQAogIiBFeC1NYWludGFpbmVyOiAgICBBbnRob255IEhvZHNkb24gPGFob2RzZG9uQGZhc3RtYWlsLmZtPgogIiBMYXN0IENoYW5nZToJICAgIDIwMDcgT2N0IDI5CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICBmaW5pc2gKIGVuZGlmCiAKICIgUmVhZCBpbiBDKysgYW5kIE9iakMgc3ludGF4IGZpbGVzCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICBzbyA8c2ZpbGU+OnA6aC9jcHAudmltCi0gICBzbyA8c2ZpbGU+OnA6aC9vYmpjLnZpbQotZWxzZQotICAgcnVudGltZSEgc3ludGF4L2NwcC52aW0KLSAgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLSAgIHJ1bnRpbWUhIHN5bnRheC9vYmpjLnZpbQotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9jcHAudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CitydW50aW1lISBzeW50YXgvb2JqYy52aW0KIAogc3luIGtleXdvcmQgb2JqQ3BwTm9uU3RydWN0dXJlICAgIGNsYXNzIHRlbXBsYXRlIG5hbWVzcGFjZSB0cmFuc3BhcmVudCBjb250YWluZWQKIHN5biBrZXl3b3JkIG9iakNwcE5vblN0YXRlbWVudCAgICBuZXcgZGVsZXRlIGZyaWVuZCB1c2luZyB0cmFuc3BhcmVudCBjb250YWluZWQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L29jYW1sLnZpbSBiL3J1bnRpbWUvc3ludGF4L29jYW1sLnZpbQppbmRleCAyNDExNmYwLi4xODg0YzMxIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9vY2FtbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvb2NhbWwudmltCkBAIC0xMywxMSArMTMsOCBAQAogIiBjYW4gYmUgZGlzdGluZ3Vpc2hlZCBmcm9tIGJlZ2luL2VuZCwgd2hpY2ggaXMgdXNlZCBmb3IgaW5kZW50YXRpb24sCiAiIGFuZCBmb2xkaW5nLiAoRGF2aWQgQmFlbGRlKQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKSAmJiBiOmN1cnJlbnRfc3ludGF4ID09ICJvY2FtbCIKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKSAmJiBiOmN1cnJlbnRfc3ludGF4ID09ICJvY2FtbCIKICAgZmluaXNoCiBlbmRpZgogCkBAIC0yNTMsNzggKzI1MCw3MCBAQAogc3luIHN5bmMgbWF0Y2ggb2NhbWxTaWdTeW5jICAgICBncm91cHRoZXJlIG9jYW1sU2lnICAgICAiXDxlbmRcPiIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfb2NhbWxfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfb2NhbWxfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBvY2FtbEJyYWNlRXJyCSAgIEVycm9yCi0gIEhpTGluayBvY2FtbEJyYWNrRXJyCSAgIEVycm9yCi0gIEhpTGluayBvY2FtbFBhcmVuRXJyCSAgIEVycm9yCi0gIEhpTGluayBvY2FtbEFyckVycgkgICBFcnJvcgorSGlMaW5rIG9jYW1sQnJhY2VFcnIJICAgRXJyb3IKK0hpTGluayBvY2FtbEJyYWNrRXJyCSAgIEVycm9yCitIaUxpbmsgb2NhbWxQYXJlbkVycgkgICBFcnJvcgorSGlMaW5rIG9jYW1sQXJyRXJyCSAgIEVycm9yCiAKLSAgSGlMaW5rIG9jYW1sQ29tbWVudEVyciAgIEVycm9yCitIaUxpbmsgb2NhbWxDb21tZW50RXJyICAgRXJyb3IKIAotICBIaUxpbmsgb2NhbWxDb3VudEVycgkgICBFcnJvcgotICBIaUxpbmsgb2NhbWxEb0VycgkgICBFcnJvcgotICBIaUxpbmsgb2NhbWxEb25lRXJyCSAgIEVycm9yCi0gIEhpTGluayBvY2FtbEVuZEVycgkgICBFcnJvcgotICBIaUxpbmsgb2NhbWxUaGVuRXJyCSAgIEVycm9yCitIaUxpbmsgb2NhbWxDb3VudEVycgkgICBFcnJvcgorSGlMaW5rIG9jYW1sRG9FcnIJICAgRXJyb3IKK0hpTGluayBvY2FtbERvbmVFcnIJICAgRXJyb3IKK0hpTGluayBvY2FtbEVuZEVycgkgICBFcnJvcgorSGlMaW5rIG9jYW1sVGhlbkVycgkgICBFcnJvcgogCi0gIEhpTGluayBvY2FtbENoYXJFcnIJICAgRXJyb3IKK0hpTGluayBvY2FtbENoYXJFcnIJICAgRXJyb3IKIAotICBIaUxpbmsgb2NhbWxFcnIJICAgRXJyb3IKK0hpTGluayBvY2FtbEVycgkgICBFcnJvcgogCi0gIEhpTGluayBvY2FtbENvbW1lbnQJICAgQ29tbWVudAorSGlMaW5rIG9jYW1sQ29tbWVudAkgICBDb21tZW50CiAKLSAgSGlMaW5rIG9jYW1sTW9kUGF0aAkgICBJbmNsdWRlCi0gIEhpTGluayBvY2FtbE9iamVjdAkgICBJbmNsdWRlCi0gIEhpTGluayBvY2FtbE1vZHVsZQkgICBJbmNsdWRlCi0gIEhpTGluayBvY2FtbE1vZFBhcmFtMSAgICBJbmNsdWRlCi0gIEhpTGluayBvY2FtbE1vZFR5cGUJICAgSW5jbHVkZQotICBIaUxpbmsgb2NhbWxNUFJlc3RyMwkgICBJbmNsdWRlCi0gIEhpTGluayBvY2FtbEZ1bGxNb2QJICAgSW5jbHVkZQotICBIaUxpbmsgb2NhbWxNb2RUeXBlUmVzdHIgSW5jbHVkZQotICBIaUxpbmsgb2NhbWxXaXRoCSAgIEluY2x1ZGUKLSAgSGlMaW5rIG9jYW1sTVREZWYJICAgSW5jbHVkZQorSGlMaW5rIG9jYW1sTW9kUGF0aAkgICBJbmNsdWRlCitIaUxpbmsgb2NhbWxPYmplY3QJICAgSW5jbHVkZQorSGlMaW5rIG9jYW1sTW9kdWxlCSAgIEluY2x1ZGUKK0hpTGluayBvY2FtbE1vZFBhcmFtMSAgICBJbmNsdWRlCitIaUxpbmsgb2NhbWxNb2RUeXBlCSAgIEluY2x1ZGUKK0hpTGluayBvY2FtbE1QUmVzdHIzCSAgIEluY2x1ZGUKK0hpTGluayBvY2FtbEZ1bGxNb2QJICAgSW5jbHVkZQorSGlMaW5rIG9jYW1sTW9kVHlwZVJlc3RyIEluY2x1ZGUKK0hpTGluayBvY2FtbFdpdGgJICAgSW5jbHVkZQorSGlMaW5rIG9jYW1sTVREZWYJICAgSW5jbHVkZQogCi0gIEhpTGluayBvY2FtbFNjcmlwdAkgICBJbmNsdWRlCitIaUxpbmsgb2NhbWxTY3JpcHQJICAgSW5jbHVkZQogCi0gIEhpTGluayBvY2FtbENvbnN0cnVjdG9yICBDb25zdGFudAorSGlMaW5rIG9jYW1sQ29uc3RydWN0b3IgIENvbnN0YW50CiAKLSAgSGlMaW5rIG9jYW1sVmFsICAgICAgICAgIEtleXdvcmQKLSAgSGlMaW5rIG9jYW1sTW9kUHJlUkhTICAgIEtleXdvcmQKLSAgSGlMaW5rIG9jYW1sTVBSZXN0cjIJICAgS2V5d29yZAotICBIaUxpbmsgb2NhbWxLZXl3b3JkCSAgIEtleXdvcmQKLSAgSGlMaW5rIG9jYW1sTWV0aG9kCSAgIEluY2x1ZGUKLSAgSGlMaW5rIG9jYW1sRnVuRGVmCSAgIEtleXdvcmQKLSAgSGlMaW5rIG9jYW1sUmVmQXNzaWduICAgIEtleXdvcmQKLSAgSGlMaW5rIG9jYW1sS2V5Q2hhcgkgICBLZXl3b3JkCi0gIEhpTGluayBvY2FtbEFueVZhcgkgICBLZXl3b3JkCi0gIEhpTGluayBvY2FtbFRvcFN0b3AJICAgS2V5d29yZAotICBIaUxpbmsgb2NhbWxPcGVyYXRvcgkgICBLZXl3b3JkCitIaUxpbmsgb2NhbWxWYWwgICAgICAgICAgS2V5d29yZAorSGlMaW5rIG9jYW1sTW9kUHJlUkhTICAgIEtleXdvcmQKK0hpTGluayBvY2FtbE1QUmVzdHIyCSAgIEtleXdvcmQKK0hpTGluayBvY2FtbEtleXdvcmQJICAgS2V5d29yZAorSGlMaW5rIG9jYW1sTWV0aG9kCSAgIEluY2x1ZGUKK0hpTGluayBvY2FtbEZ1bkRlZgkgICBLZXl3b3JkCitIaUxpbmsgb2NhbWxSZWZBc3NpZ24gICAgS2V5d29yZAorSGlMaW5rIG9jYW1sS2V5Q2hhcgkgICBLZXl3b3JkCitIaUxpbmsgb2NhbWxBbnlWYXIJICAgS2V5d29yZAorSGlMaW5rIG9jYW1sVG9wU3RvcAkgICBLZXl3b3JkCitIaUxpbmsgb2NhbWxPcGVyYXRvcgkgICBLZXl3b3JkCiAKLSAgSGlMaW5rIG9jYW1sQm9vbGVhbgkgICBCb29sZWFuCi0gIEhpTGluayBvY2FtbENoYXJhY3RlciAgICBDaGFyYWN0ZXIKLSAgSGlMaW5rIG9jYW1sTnVtYmVyCSAgIE51bWJlcgotICBIaUxpbmsgb2NhbWxGbG9hdAkgICBGbG9hdAotICBIaUxpbmsgb2NhbWxTdHJpbmcJICAgU3RyaW5nCitIaUxpbmsgb2NhbWxCb29sZWFuCSAgIEJvb2xlYW4KK0hpTGluayBvY2FtbENoYXJhY3RlciAgICBDaGFyYWN0ZXIKK0hpTGluayBvY2FtbE51bWJlcgkgICBOdW1iZXIKK0hpTGluayBvY2FtbEZsb2F0CSAgIEZsb2F0CitIaUxpbmsgb2NhbWxTdHJpbmcJICAgU3RyaW5nCiAKLSAgSGlMaW5rIG9jYW1sTGFiZWwJICAgSWRlbnRpZmllcgorSGlMaW5rIG9jYW1sTGFiZWwJICAgSWRlbnRpZmllcgogCi0gIEhpTGluayBvY2FtbFR5cGUJICAgVHlwZQorSGlMaW5rIG9jYW1sVHlwZQkgICBUeXBlCiAKLSAgSGlMaW5rIG9jYW1sVG9kbwkgICBUb2RvCitIaUxpbmsgb2NhbWxUb2RvCSAgIFRvZG8KIAotICBIaUxpbmsgb2NhbWxFbmNsCSAgIEtleXdvcmQKK0hpTGluayBvY2FtbEVuY2wJICAgS2V5d29yZAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAib2NhbWwiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L29jY2FtLnZpbSBiL3J1bnRpbWUvc3ludGF4L29jY2FtLnZpbQppbmRleCAxYzg0YmYwLi5iYWI4NGYyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9vY2NhbS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvb2NjYW0udmltCkBAIC00LDkgKzQsOCBAQAogIiBNYWludGFpbmVyOglNYXJpbyBTY2h3ZWlnbGVyIDxtczQ0QGtlbnQuYWMudWs+CiAiIExhc3QgQ2hhbmdlOgkyNCBNYXkgMjAwMwogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC04Niw0MSArODUsMzQgQEAKIAogc3luIHJlZ2lvbiBvY2NhbUNEaXJlY3RpdmUJc3RhcnQ9LyNcKFVTRVx8SU5DTFVERVx8UFJBR01BXHxERUZJTkVcfFVOREVGSU5FXHxVTkRFRlx8SUZcfEVMSUZcfEVMU0VcfEVORElGXHxXQVJOSU5HXHxFUlJPUlx8UkVMQVhcKVw+LyBlbmQ9LyQvIGNvbnRhaW5zPW9jY2FtU3RyaW5nLG9jY2FtQ29tbWVudCxvY2NhbUNEU3RyaW5nCiAKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9vY2NhbV9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9vY2NhbV9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIG9jY2FtVHlwZSBUeXBlCi0gIEhpTGluayBvY2NhbUtleXdvcmQgS2V5d29yZAotICBIaUxpbmsgb2NjYW1Db21tZW50IENvbW1lbnQKLSAgSGlMaW5rIG9jY2FtQ29tbWVudFRpdGxlIFByZVByb2MKLSAgSGlMaW5rIG9jY2FtVG9kbyBUb2RvCi0gIEhpTGluayBvY2NhbU5vdGUgVG9kbwotICBIaUxpbmsgb2NjYW1TdHJpbmcgU3RyaW5nCi0gIEhpTGluayBvY2NhbUNoYXJTdHJpbmcgU3RyaW5nCi0gIEhpTGluayBvY2NhbU51bWJlciBOdW1iZXIKLSAgSGlMaW5rIG9jY2FtQ0RpcmVjdGl2ZSBQcmVQcm9jCi0gIEhpTGluayBvY2NhbUNEU3RyaW5nIFN0cmluZwotICBIaUxpbmsgb2NjYW1QUElkZW50aWZpZXIgUHJlUHJvYwotICBIaUxpbmsgb2NjYW1Cb29sZWFuIEJvb2xlYW4KLSAgSGlMaW5rIG9jY2FtU3BlY2lhbENoYXIgU3BlY2lhbENoYXIKLSAgSGlMaW5rIG9jY2FtQ2hhciBDaGFyYWN0ZXIKLSAgSGlMaW5rIG9jY2FtU3RydWN0dXJlIFN0cnVjdHVyZQotICBIaUxpbmsgb2NjYW1JZGVudGlmaWVyIElkZW50aWZpZXIKLSAgSGlMaW5rIG9jY2FtQ29uc3RhbnQgQ29uc3RhbnQKLSAgSGlMaW5rIG9jY2FtT3BlcmF0b3IgT3BlcmF0b3IKLSAgSGlMaW5rIG9jY2FtRnVuY3Rpb24gSWdub3JlCi0gIEhpTGluayBvY2NhbVJlcGVhdCBSZXBlYXQKLSAgSGlMaW5rIG9jY2FtQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKLSAgSGlMaW5rIG9jY2FtQnJhY2tldHMgVHlwZQotICBIaUxpbmsgb2NjYW1QYXJhbnRoZXNlcyBEZWxpbWl0ZXIKK0hpTGluayBvY2NhbVR5cGUgVHlwZQorSGlMaW5rIG9jY2FtS2V5d29yZCBLZXl3b3JkCitIaUxpbmsgb2NjYW1Db21tZW50IENvbW1lbnQKK0hpTGluayBvY2NhbUNvbW1lbnRUaXRsZSBQcmVQcm9jCitIaUxpbmsgb2NjYW1Ub2RvIFRvZG8KK0hpTGluayBvY2NhbU5vdGUgVG9kbworSGlMaW5rIG9jY2FtU3RyaW5nIFN0cmluZworSGlMaW5rIG9jY2FtQ2hhclN0cmluZyBTdHJpbmcKK0hpTGluayBvY2NhbU51bWJlciBOdW1iZXIKK0hpTGluayBvY2NhbUNEaXJlY3RpdmUgUHJlUHJvYworSGlMaW5rIG9jY2FtQ0RTdHJpbmcgU3RyaW5nCitIaUxpbmsgb2NjYW1QUElkZW50aWZpZXIgUHJlUHJvYworSGlMaW5rIG9jY2FtQm9vbGVhbiBCb29sZWFuCitIaUxpbmsgb2NjYW1TcGVjaWFsQ2hhciBTcGVjaWFsQ2hhcgorSGlMaW5rIG9jY2FtQ2hhciBDaGFyYWN0ZXIKK0hpTGluayBvY2NhbVN0cnVjdHVyZSBTdHJ1Y3R1cmUKK0hpTGluayBvY2NhbUlkZW50aWZpZXIgSWRlbnRpZmllcgorSGlMaW5rIG9jY2FtQ29uc3RhbnQgQ29uc3RhbnQKK0hpTGluayBvY2NhbU9wZXJhdG9yIE9wZXJhdG9yCitIaUxpbmsgb2NjYW1GdW5jdGlvbiBJZ25vcmUKK0hpTGluayBvY2NhbVJlcGVhdCBSZXBlYXQKK0hpTGluayBvY2NhbUNvbmRpdGlvbmFsIENvbmRpdGlvbmFsCitIaUxpbmsgb2NjYW1CcmFja2V0cyBUeXBlCitIaUxpbmsgb2NjYW1QYXJhbnRoZXNlcyBEZWxpbWl0ZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm9jY2FtIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9vbW5pbWFyay52aW0gYi9ydW50aW1lL3N5bnRheC9vbW5pbWFyay52aW0KaW5kZXggNjk4YjNjMC4uOTg4NzM1MiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvb21uaW1hcmsudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L29tbmltYXJrLnZpbQpAQCAtMywxOSArMywxMiBAQAogIiBNYWludGFpbmVyOglQYXVsIFRlcnJheSA8bWFpbHRvOnRlcnJheUA0ZGNvbmNlcHQuZnI+CiAiIExhc3QgQ2hhbmdlOgkxMSBPY3QgMjAwMAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzZXQgaXNrZXl3b3JkPUAsNDgtNTcsXywxMjgtMTY3LDIyNC0yMzUsLQotZWxzZQotICBzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NyxfLDEyOC0xNjcsMjI0LTIzNSwtCi1lbmRpZgorc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsXywxMjgtMTY3LDIyNC0yMzUsLQogCiBzeW4ga2V5d29yZCBvbW5pbWFya0tleXdvcmRzCUFDVElWQVRFIEFHQUlOCiBzeW4ga2V5d29yZCBvbW5pbWFya0tleXdvcmRzCUNBVENIIENMRUFSIENMT1NFIENPUFkgQ09QWS1DTEVBUiBDUk9TUy1UUkFOU0xBVEUKQEAgLTk2LDI2ICs4OSwxOCBAQAogc3luIHN5bmMgbWlubGluZXM9MjAwMAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9vbW5pbWFya19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9vbW5pbWFya19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIG9tbmltYXJrQ29tbWFuZHMJCVN0YXRlbWVudAotICBIaUxpbmsgb21uaW1hcmtLZXl3b3JkcwkJSWRlbnRpZmllcgotICBIaUxpbmsgb21uaW1hcmtTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgb21uaW1hcmtQYXR0ZXJucwkJTWFjcm8KK0hpTGluayBvbW5pbWFya0NvbW1hbmRzCQlTdGF0ZW1lbnQKK0hpTGluayBvbW5pbWFya0tleXdvcmRzCQlJZGVudGlmaWVyCitIaUxpbmsgb21uaW1hcmtTdHJpbmcJCVN0cmluZworSGlMaW5rIG9tbmltYXJrUGF0dGVybnMJCU1hY3JvCiAiICBIaUxpbmsgb21uaW1hcmtOdW1iZXIJCQlOdW1iZXIKLSAgSGlMaW5rIG9tbmltYXJrQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgb21uaW1hcmtFc2NhcGUJCVNwZWNpYWwKK0hpTGluayBvbW5pbWFya0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBvbW5pbWFya0VzY2FwZQkJU3BlY2lhbAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAib21uaW1hcmsiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L29wZW5yb2FkLnZpbSBiL3J1bnRpbWUvc3ludGF4L29wZW5yb2FkLnZpbQppbmRleCAzZjlhNzhkLi42ZDJhZmZjIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9vcGVucm9hZC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvb3BlbnJvYWQudmltCkBAIC0zLDEyICszLDggQEAKICIgTWFpbnRhaW5lcjoJTHVpcyBNb3Jlbm8gPGxtb3Jlbm9AZXJlc21hcy5uZXQ+CiAiIExhc3QgY2hhbmdlOgkyMDAxIEp1biAxMgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotIgotaWYgdmVyc2lvbiA8IDYwMAotCXN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKIAlmaW5pc2gKIGVuZGlmCiAKQEAgLTIzNSwzMiArMjMxLDI0IEBACiBlbmRpZgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKICIKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9vcGVucm9hZF9zeW50YXhfaW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9vcGVucm9hZF9zeW50YXhfaW5pdHMgPSAxCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0JZWxzZQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLQllbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLQlIaUxpbmsgb3BlbnJvYWRLZXl3b3JkCVN0YXRlbWVudAotCUhpTGluayBvcGVucm9hZE51bWJlcglOdW1iZXIKLQlIaUxpbmsgb3BlbnJvYWRTdHJpbmcJU3RyaW5nCi0JSGlMaW5rIG9wZW5yb2FkQ29tbWVudAlDb21tZW50Ci0JSGlMaW5rIG9wZW5yb2FkT3BlcmF0b3IJT3BlcmF0b3IKLQlIaUxpbmsgb3BlbnJvYWRUeXBlCQlUeXBlCi0JSGlMaW5rIG9wZW5yb2FkRnVuYwkJU3BlY2lhbAotCUhpTGluayBvcGVucm9hZENsYXNzCVR5cGUKLQlIaUxpbmsgb3BlbnJvYWRFdmVudAlTdGF0ZW1lbnQKLQlIaUxpbmsgb3BlbnJvYWRDb25zdAlDb25zdGFudAotCUhpTGluayBvcGVucm9hZFZhcgkJSWRlbnRpZmllcgotCUhpTGluayBvcGVucm9hZElkZW50CUlkZW50aWZpZXIKLQlIaUxpbmsgb3BlbnJvYWRUb2RvCQlUb2RvCitIaUxpbmsgb3BlbnJvYWRLZXl3b3JkCVN0YXRlbWVudAorSGlMaW5rIG9wZW5yb2FkTnVtYmVyCU51bWJlcgorSGlMaW5rIG9wZW5yb2FkU3RyaW5nCVN0cmluZworSGlMaW5rIG9wZW5yb2FkQ29tbWVudAlDb21tZW50CitIaUxpbmsgb3BlbnJvYWRPcGVyYXRvcglPcGVyYXRvcgorSGlMaW5rIG9wZW5yb2FkVHlwZQkJVHlwZQorSGlMaW5rIG9wZW5yb2FkRnVuYwkJU3BlY2lhbAorSGlMaW5rIG9wZW5yb2FkQ2xhc3MJVHlwZQorSGlMaW5rIG9wZW5yb2FkRXZlbnQJU3RhdGVtZW50CitIaUxpbmsgb3BlbnJvYWRDb25zdAlDb25zdGFudAorSGlMaW5rIG9wZW5yb2FkVmFyCQlJZGVudGlmaWVyCitIaUxpbmsgb3BlbnJvYWRJZGVudAlJZGVudGlmaWVyCitIaUxpbmsgb3BlbnJvYWRUb2RvCQlUb2RvCiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm9wZW5yb2FkIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvb3BsLnZpbSBiL3J1bnRpbWUvc3ludGF4L29wbC52aW0KaW5kZXggMWIwN2UzNS4uODk1OWNmNiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvb3BsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9vcGwudmltCkBAIC02LDExICs2LDggQEAKIAogIiBPcGVuIFBzaW9uIExhbmd1YWdlLi4uIChFUE9DMTYvRVBPQzMyKQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNzUsMjUgKzcyLDE3IEBACiBzeW4gbWF0Y2ggICBPUExNYXRoc09wZXJhdG9yICAgICItXHw9XHxbOjw+K1wqXi9cXF0iCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX09QTF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9PUExfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBPUExTdGF0ZW1lbnQJCVN0YXRlbWVudAotICBIaUxpbmsgT1BMTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIE9QTFN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBPUExDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBPUExNYXRoc09wZXJhdG9yCUNvbmRpdGlvbmFsCitIaUxpbmsgT1BMU3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayBPUExOdW1iZXIJCU51bWJlcgorSGlMaW5rIE9QTFN0cmluZwkJU3RyaW5nCitIaUxpbmsgT1BMQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIE9QTE1hdGhzT3BlcmF0b3IJQ29uZGl0aW9uYWwKICIgIEhpTGluayBPUExFcnJvcgkJRXJyb3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIm9wbCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvb3JhLnZpbSBiL3J1bnRpbWUvc3ludGF4L29yYS52aW0KaW5kZXggYmY1ZDMyMi4uZTg0Mjk5YSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvb3JhLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9vcmEudmltCkBAIC0xMSwxMCArMTEsOCBAQAogIiAgIHNxbG5ldC1vcmEgYW5kIHRuc25hbWVzLm9yYTsgc2luY2Ugd2lsbCBub3QgY2F1c2UoPykgcHJvYmxlbXMKICIgICBpcyBlYXNpZXIgdG8gZm9sbG93IHNlcGFyYXRlbHkgZWFjaCBmaWxlJ3Mga2V5d29yZHMpCiAKLSIgUmVtb3ZlIGFueSBvbGQgc3ludGF4IHN0dWZmIGhhbmdpbmcgYXJvdW5kLCBpZiBuZWVkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3luIGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTQzNywzNiArNDM1LDI2IEBACiAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAiIGhpZ2hsaWdodGluZwogCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9vcmFfc3luX2luaXRzIikKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX29yYV9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorSGlMaW5rIG9yYUtleXdvcmQJICBTdGF0ZW1lbnQJCSJ1c3VhbCBrZXl3b3JkcworSGlMaW5rIG9yYUtleXdvcmRHcm91cCAgVHlwZQkJCSJrZXl3b3JkcyB3aGljaCBncm91cCBvdGhlciBrZXl3b3JkcworSGlMaW5rIG9yYUtleXdvcmRQcmVmICAgb3JhS2V5d29yZEdyb3VwCSJrZXl3b3JkcyB3aGljaCBhY3QgYXMgcHJlZml4ZXMKK0hpTGluayBvcmFLZXl3b3JkT2JzCSAgVG9kbwkJCSJvYnNvbGV0ZSBrZXl3b3JkcworSGlMaW5rIG9yYUtleXdvcmRVbmQJICBQcmVQcm9jCQkidW5kb2N1bWVudGVkIGtleXdvcmRzCitIaUxpbmsgb3JhS2V5d29yZFVuZE9icyBvcmFLZXl3b3JkT2JzCQkidW5kb2N1bWVudGVkIG9ic29sZXRlIGtleXdvcmRzCitIaUxpbmsgb3JhVmFsdWUJICBJZGVudGlmaWVyCQkidmFsdWVzLCBsaWtlIHRydWUgb3IgZmFsc2UKK0hpTGluayBvcmFNb2RpZmllcgkgIG9yYVZhbHVlCQkibW9kaWZpZXMgdmFsdWVzCitIaUxpbmsgb3JhU3RyaW5nCSAgU3RyaW5nCQkic3RyaW5ncwogCi0gIEhpTGluayBvcmFLZXl3b3JkCSAgU3RhdGVtZW50CQkidXN1YWwga2V5d29yZHMKLSAgSGlMaW5rIG9yYUtleXdvcmRHcm91cCAgVHlwZQkJCSJrZXl3b3JkcyB3aGljaCBncm91cCBvdGhlciBrZXl3b3JkcwotICBIaUxpbmsgb3JhS2V5d29yZFByZWYgICBvcmFLZXl3b3JkR3JvdXAJImtleXdvcmRzIHdoaWNoIGFjdCBhcyBwcmVmaXhlcwotICBIaUxpbmsgb3JhS2V5d29yZE9icwkgIFRvZG8JCQkib2Jzb2xldGUga2V5d29yZHMKLSAgSGlMaW5rIG9yYUtleXdvcmRVbmQJICBQcmVQcm9jCQkidW5kb2N1bWVudGVkIGtleXdvcmRzCi0gIEhpTGluayBvcmFLZXl3b3JkVW5kT2JzIG9yYUtleXdvcmRPYnMJCSJ1bmRvY3VtZW50ZWQgb2Jzb2xldGUga2V5d29yZHMKLSAgSGlMaW5rIG9yYVZhbHVlCSAgSWRlbnRpZmllcgkJInZhbHVlcywgbGlrZSB0cnVlIG9yIGZhbHNlCi0gIEhpTGluayBvcmFNb2RpZmllcgkgIG9yYVZhbHVlCQkibW9kaWZpZXMgdmFsdWVzCi0gIEhpTGluayBvcmFTdHJpbmcJICBTdHJpbmcJCSJzdHJpbmdzCitIaUxpbmsgb3JhU3BlY2lhbAkgIFNwZWNpYWwJCSJzcGVjaWFsIGNoYXJhY3RlcnMKK0hpTGluayBvcmFFcnJvcgkgIEVycm9yCQkJImVycm9ycworSGlMaW5rIG9yYVBhcmVuRXJyb3IJICBvcmFFcnJvcgkJImVycm9ycyBjYXVzZWQgYnkgbWlzbWF0Y2hpbmcgcGFyYW50aGVzZXMKIAotICBIaUxpbmsgb3JhU3BlY2lhbAkgIFNwZWNpYWwJCSJzcGVjaWFsIGNoYXJhY3RlcnMKLSAgSGlMaW5rIG9yYUVycm9yCSAgRXJyb3IJCQkiZXJyb3JzCi0gIEhpTGluayBvcmFQYXJlbkVycm9yCSAgb3JhRXJyb3IJCSJlcnJvcnMgY2F1c2VkIGJ5IG1pc21hdGNoaW5nIHBhcmFudGhlc2VzCitIaUxpbmsgb3JhQ29tbWVudAkgIENvbW1lbnQJCSJjb21tZW50cwogCi0gIEhpTGluayBvcmFDb21tZW50CSAgQ29tbWVudAkJImNvbW1lbnRzCi0KLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCi0KK2RlbGNvbW1hbmQgSGlMaW5rCiAKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAib3JhIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcGFwcC52aW0gYi9ydW50aW1lL3N5bnRheC9wYXBwLnZpbQppbmRleCBkODZkY2U2Li41YjY1ZjA1IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9wYXBwLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9wYXBwLnZpbQpAQCAtMTQsNDEgKzE0LDI0IEBACiAKICIgcG9kIGlzLCBidHcsIGFsbG93ZWQgZXZlcnl3aGVyZSwgd2hpY2ggaXMgYWN0dWFsbHkgd3JvbmcgOigKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKICIgc291cmNlIGlzIGJhc2ljYWxseSB4bWwsIHdpdGggaW5jbHVkZWQgaHRtbCAodGhpcyBpcyBjb21tb24pIGFuZCBwZXJsIGJpdHMKLWlmIHZlcnNpb24gPCA2MDAKLSAgc28gPHNmaWxlPjpwOmgveG1sLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgveG1sLnZpbQotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC94bWwudmltCiB1bmxldCBiOmN1cnJlbnRfc3ludGF4CiAKIGlmIGV4aXN0cygicGFwcF9pbmNsdWRlX2h0bWwiKQotICBpZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3luIGluY2x1ZGUgQFBBcHBIdG1sIDxzZmlsZT46cDpoL2h0bWwudmltCi0gIGVsc2UKLSAgICBzeW4gaW5jbHVkZSBAUEFwcEh0bWwgc3ludGF4L2h0bWwudmltCi0gIGVuZGlmCisgIHN5biBpbmNsdWRlIEBQQXBwSHRtbCBzeW50YXgvaHRtbC52aW0KICAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAogICBzeW50YXggc3BlbGwgZGVmYXVsdCAgIiBhZGRlZCBieSBCcmFtCiBlbmRpZgogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5biBpbmNsdWRlIEBQQXBwUGVybCA8c2ZpbGU+OnA6aC9wZXJsLnZpbQotZWxzZQotICBzeW4gaW5jbHVkZSBAUEFwcFBlcmwgc3ludGF4L3BlcmwudmltCi1lbmRpZgorc3luIGluY2x1ZGUgQFBBcHBQZXJsIHN5bnRheC9wZXJsLnZpbQogCi1pZiB2OnZlcnNpb24gPj0gNjAwCi0gICBzeW4gY2x1c3RlciB4bWxGb2xkQ2x1c3RlciBhZGQ9cGFwcF9wZXJsLHBhcHBfeHBlcmwscGFwcF9waHRtbCxwYXBwX3B4bWwscGFwcF9wZXJsUE9ECi1lbmRpZgorc3luIGNsdXN0ZXIgeG1sRm9sZENsdXN0ZXIgYWRkPXBhcHBfcGVybCxwYXBwX3hwZXJsLHBhcHBfcGh0bWwscGFwcF9weG1sLHBhcHBfcGVybFBPRAogCiAiIHByZXByb2Nlc3NvciBjb21tYW5kcwogc3luIHJlZ2lvbiBwYXBwX3ByZXAgbWF0Y2hncm91cD1wYXBwX3ByZXAgc3RhcnQ9Il4jXHMqXChpZlx8ZWxzaWZcKSIgZW5kPSIkIiBrZWVwZW5kIGNvbnRhaW5zPUBwZXJsRXhwciBjb250YWluZWQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Bhc2NhbC52aW0gYi9ydW50aW1lL3N5bnRheC9wYXNjYWwudmltCmluZGV4IGQyYjYwNjAuLjRhMjkwZjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Bhc2NhbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcGFzY2FsLnZpbQpAQCAtMTIsMTEgKzEyLDggQEAKICIJQXVzdGluIFppZWdsZXIgPGF1c3RpbkBoYWxvc3RhdHVlLmNhPiwKICIJTWFya3VzIEtvZW5pZyA8bWFya3VzQHN0YmVyLWtvZW5pZy5kZT4KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTMyMCw1MiArMzE3LDQ0IEBACiBlbmRpZgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9wYXNjYWxfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcGFzY2FsX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgcGFzY2FsQWNjZXMJCXBhc2NhbFN0YXRlbWVudAotICBIaUxpbmsgcGFzY2FsQm9vbGVhbgkJQm9vbGVhbgotICBIaUxpbmsgcGFzY2FsQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgcGFzY2FsQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIHBhc2NhbENvbnN0YW50CQlDb25zdGFudAotICBIaUxpbmsgcGFzY2FsRGVsaW1pdGVyCUlkZW50aWZpZXIKLSAgSGlMaW5rIHBhc2NhbERpcmVjdGl2ZQlwYXNjYWxTdGF0ZW1lbnQKLSAgSGlMaW5rIHBhc2NhbEV4Y2VwdGlvbglFeGNlcHRpb24KLSAgSGlMaW5rIHBhc2NhbEZsb2F0CQlGbG9hdAotICBIaUxpbmsgcGFzY2FsRnVuY3Rpb24JCUZ1bmN0aW9uCi0gIEhpTGluayBwYXNjYWxMYWJlbAkJTGFiZWwKLSAgSGlMaW5rIHBhc2NhbE1hdHJpeERlbGltaXRlcglJZGVudGlmaWVyCi0gIEhpTGluayBwYXNjYWxNb2RpZmllcgkJVHlwZQotICBIaUxpbmsgcGFzY2FsTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIHBhc2NhbE9wZXJhdG9yCQlPcGVyYXRvcgotICBIaUxpbmsgcGFzY2FsUHJlZGVmaW5lZAlwYXNjYWxTdGF0ZW1lbnQKLSAgSGlMaW5rIHBhc2NhbFByZVByb2MJCVByZVByb2MKLSAgSGlMaW5rIHBhc2NhbFJlcGVhdAkJUmVwZWF0Ci0gIEhpTGluayBwYXNjYWxTcGFjZUVycm9yCUVycm9yCi0gIEhpTGluayBwYXNjYWxTdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluayBwYXNjYWxTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgcGFzY2FsU3RyaW5nRXNjYXBlCVNwZWNpYWwKLSAgSGlMaW5rIHBhc2NhbFN0cmluZ0VzY2FwZUdQQwlTcGVjaWFsCi0gIEhpTGluayBwYXNjYWxTdHJpbmdFcnJvcglFcnJvcgotICBIaUxpbmsgcGFzY2FsU3RydWN0CQlwYXNjYWxTdGF0ZW1lbnQKLSAgSGlMaW5rIHBhc2NhbFN5bWJvbE9wZXJhdG9yCXBhc2NhbE9wZXJhdG9yCi0gIEhpTGluayBwYXNjYWxUb2RvCQlUb2RvCi0gIEhpTGluayBwYXNjYWxUeXBlCQlUeXBlCi0gIEhpTGluayBwYXNjYWxVbmNsYXNzaWZpZWQJcGFzY2FsU3RhdGVtZW50Ci0gICIgIEhpTGluayBwYXNjYWxBc20JCUFzc2VtYmxlcgotICBIaUxpbmsgcGFzY2FsRXJyb3IJCUVycm9yCi0gIEhpTGluayBwYXNjYWxBc21LZXkJCXBhc2NhbFN0YXRlbWVudAotICBIaUxpbmsgcGFzY2FsU2hvd1RhYgkJRXJyb3IKK0hpTGluayBwYXNjYWxBY2NlcwkJcGFzY2FsU3RhdGVtZW50CitIaUxpbmsgcGFzY2FsQm9vbGVhbgkJQm9vbGVhbgorSGlMaW5rIHBhc2NhbENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBwYXNjYWxDb25kaXRpb25hbAlDb25kaXRpb25hbAorSGlMaW5rIHBhc2NhbENvbnN0YW50CQlDb25zdGFudAorSGlMaW5rIHBhc2NhbERlbGltaXRlcglJZGVudGlmaWVyCitIaUxpbmsgcGFzY2FsRGlyZWN0aXZlCXBhc2NhbFN0YXRlbWVudAorSGlMaW5rIHBhc2NhbEV4Y2VwdGlvbglFeGNlcHRpb24KK0hpTGluayBwYXNjYWxGbG9hdAkJRmxvYXQKK0hpTGluayBwYXNjYWxGdW5jdGlvbgkJRnVuY3Rpb24KK0hpTGluayBwYXNjYWxMYWJlbAkJTGFiZWwKK0hpTGluayBwYXNjYWxNYXRyaXhEZWxpbWl0ZXIJSWRlbnRpZmllcgorSGlMaW5rIHBhc2NhbE1vZGlmaWVyCQlUeXBlCitIaUxpbmsgcGFzY2FsTnVtYmVyCQlOdW1iZXIKK0hpTGluayBwYXNjYWxPcGVyYXRvcgkJT3BlcmF0b3IKK0hpTGluayBwYXNjYWxQcmVkZWZpbmVkCXBhc2NhbFN0YXRlbWVudAorSGlMaW5rIHBhc2NhbFByZVByb2MJCVByZVByb2MKK0hpTGluayBwYXNjYWxSZXBlYXQJCVJlcGVhdAorSGlMaW5rIHBhc2NhbFNwYWNlRXJyb3IJRXJyb3IKK0hpTGluayBwYXNjYWxTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgcGFzY2FsU3RyaW5nCQlTdHJpbmcKK0hpTGluayBwYXNjYWxTdHJpbmdFc2NhcGUJU3BlY2lhbAorSGlMaW5rIHBhc2NhbFN0cmluZ0VzY2FwZUdQQwlTcGVjaWFsCitIaUxpbmsgcGFzY2FsU3RyaW5nRXJyb3IJRXJyb3IKK0hpTGluayBwYXNjYWxTdHJ1Y3QJCXBhc2NhbFN0YXRlbWVudAorSGlMaW5rIHBhc2NhbFN5bWJvbE9wZXJhdG9yCXBhc2NhbE9wZXJhdG9yCitIaUxpbmsgcGFzY2FsVG9kbwkJVG9kbworSGlMaW5rIHBhc2NhbFR5cGUJCVR5cGUKK0hpTGluayBwYXNjYWxVbmNsYXNzaWZpZWQJcGFzY2FsU3RhdGVtZW50CisiICBIaUxpbmsgcGFzY2FsQXNtCQlBc3NlbWJsZXIKK0hpTGluayBwYXNjYWxFcnJvcgkJRXJyb3IKK0hpTGluayBwYXNjYWxBc21LZXkJCXBhc2NhbFN0YXRlbWVudAorSGlMaW5rIHBhc2NhbFNob3dUYWIJCUVycm9yCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInBhc2NhbCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BjYXAudmltIGIvcnVudGltZS9zeW50YXgvcGNhcC52aW0KaW5kZXggMTdkMGQ0Mi4uN2M5NzczOCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcGNhcC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcGNhcC52aW0KQEAgLTQsMjAgKzQsMTMgQEAKICIJCU1vZGlmaWVkIGJ5IEJyYW0KICIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCiAiZGVmaW5lIGtleXdvcmRzCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNldCBpc2s9QCw0Ni01NyxfLC0sIyw9LDE5Mi0yNTUKLWVsc2UKLSAgc2V0bG9jYWwgaXNrPUAsNDYtNTcsXywtLCMsPSwxOTItMjU1Ci1lbmRpZgorc2V0bG9jYWwgaXNrPUAsNDYtNTcsXywtLCMsPSwxOTItMjU1CiAKICJmaXJzdCBhbGwgdGhlIGJhZCBndXlzCiBzeW4gbWF0Y2ggcGNhcEJhZCAnXi5cKyQnCSAgICAgICAiZGVmaW5lIGFueSBsaW5lIGFzIGJhZApAQCAtNDMsMjIgKzM2LDE0IEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcGNhcF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9wY2FwX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgcGNhcEJhZCBXYXJuaW5nTXNnCi0gIEhpTGluayBwY2FwQmFkd29yZCBXYXJuaW5nTXNnCi0gIEhpTGluayBwY2FwQ29tbWVudCBDb21tZW50CitIaUxpbmsgcGNhcEJhZCBXYXJuaW5nTXNnCitIaUxpbmsgcGNhcEJhZHdvcmQgV2FybmluZ01zZworSGlMaW5rIHBjYXBDb21tZW50IENvbW1lbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInBjYXAiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BjY3RzLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BjY3RzLnZpbQppbmRleCA4MzQxZjViLi41ZGRjNTcwIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9wY2N0cy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcGNjdHMudmltCkBAIC0zLDIwICszLDEzIEBACiAiIE1haW50YWluZXI6CVNjb3R0IEJpZ2hhbSA8ZHNiQGtpbGxlcmJ1bm5pZXMub3JnPgogIiBMYXN0IENoYW5nZToJMTAgQXVnIDE5OTkKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKICIgUmVhZCB0aGUgQysrIHN5bnRheCB0byBzdGFydCB3aXRoCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5biBpbmNsdWRlIEBjcHBUb3BMZXZlbCA8c2ZpbGU+OnA6aC9jcHAudmltCi1lbHNlCi0gIHN5biBpbmNsdWRlIEBjcHBUb3BMZXZlbCBzeW50YXgvY3BwLnZpbQotZW5kaWYKK3N5biBpbmNsdWRlIEBjcHBUb3BMZXZlbCBzeW50YXgvY3BwLnZpbQogCiBzeW4gcmVnaW9uIHBjY3RzQWN0aW9uIG1hdGNoZ3JvdXA9cGNjdHNEZWxpbSBzdGFydD0iPDwiIGVuZD0iPj4/XD0iIGNvbnRhaW5zPUBjcHBUb3BMZXZlbCxwY2N0c1J1bGVSZWYKIApAQCAtNzIsMzQgKzY1LDI2IEBACiBzeW4gc3luYyBtYXRjaCBwY2N0c1N5bmNSdWxlIGdyb3VwaGVyZSBwY2N0c1J1bGUgIlw8W2Etel1bQS1aYS16MC05X10qXD5cKFxzKlxbW15dXSpcXVwpXD1ccyo+XHMqXFtbXl1dKlxdXHMqOiIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcGNjdHNfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcGNjdHNfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBwY2N0c0RlbGltCQlTcGVjaWFsCi0gIEhpTGluayBwY2N0c1Rva2VuTmFtZQkJSWRlbnRpZmllcgotICBIaUxpbmsgcGNjdHNSdWxlTmFtZQkJU3RhdGVtZW50Ci0gIEhpTGluayBwY2N0c0xhYmVsSGFjawkJTGFiZWwKLSAgSGlMaW5rIHBjY3RzRGlyZWN0aXZlCQlQcmVQcm9jCi0gIEhpTGluayBwY2N0c1N0cmluZwkJU3RyaW5nCi0gIEhpTGluayBwY2N0c0NvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIHBjY3RzQ2xhc3MJCVN0YXRlbWVudAotICBIaUxpbmsgcGNjdHNDbGFzc05hbWUJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHBjY3RzRXhjZXB0aW9uCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHBjY3RzRXhjZXB0aW9uSGFuZGxlcglLZXl3b3JkCi0gIEhpTGluayBwY2N0c0V4Y2VwdGlvblJ1bGVSZWYJcGNjdHNEZWxpbQotICBIaUxpbmsgcGNjdHNFeGNlcHRpb25JRAlJZGVudGlmaWVyCi0gIEhpTGluayBwY2N0c1J1bGVSZWYJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHBjY3RzU3BlY2lhbENoYXIJU3BlY2lhbENoYXIKK0hpTGluayBwY2N0c0RlbGltCQlTcGVjaWFsCitIaUxpbmsgcGNjdHNUb2tlbk5hbWUJCUlkZW50aWZpZXIKK0hpTGluayBwY2N0c1J1bGVOYW1lCQlTdGF0ZW1lbnQKK0hpTGluayBwY2N0c0xhYmVsSGFjawkJTGFiZWwKK0hpTGluayBwY2N0c0RpcmVjdGl2ZQkJUHJlUHJvYworSGlMaW5rIHBjY3RzU3RyaW5nCQlTdHJpbmcKK0hpTGluayBwY2N0c0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBwY2N0c0NsYXNzCQlTdGF0ZW1lbnQKK0hpTGluayBwY2N0c0NsYXNzTmFtZQkJSWRlbnRpZmllcgorSGlMaW5rIHBjY3RzRXhjZXB0aW9uCQlTdGF0ZW1lbnQKK0hpTGluayBwY2N0c0V4Y2VwdGlvbkhhbmRsZXIJS2V5d29yZAorSGlMaW5rIHBjY3RzRXhjZXB0aW9uUnVsZVJlZglwY2N0c0RlbGltCitIaUxpbmsgcGNjdHNFeGNlcHRpb25JRAlJZGVudGlmaWVyCitIaUxpbmsgcGNjdHNSdWxlUmVmCQlJZGVudGlmaWVyCitIaUxpbmsgcGNjdHNTcGVjaWFsQ2hhcglTcGVjaWFsQ2hhcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAicGNjdHMiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Blcmw2LnZpbSBiL3J1bnRpbWUvc3ludGF4L3Blcmw2LnZpbQppbmRleCAzZDgyY2VkLi5mNDBhMDQwIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9wZXJsNi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcGVybDYudmltCkBAIC02MSwxMSArNjEsOCBAQAogIiAgdW5sZXQgcGVybDZfZXh0ZW5kZWRfcQogIiAgdW5sZXQgcGVybDZfZXh0ZW5kZWRfYWxsCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgIGZpbmlzaAogZW5kaWYKIGxldCBzOmtlZXBjcG89ICZjcG8KQEAgLTIwNjMsMTc2ICsyMDYwLDE2OCBAQAogICAgIFwgY29udGFpbnM9cDZQb2RGb3JtYXRBbmdsZXNGcmVuY2gscDZQb2RGb3JtYXRGcmVuY2gscDZQb2RGb3JtYXRPbmUscDZQb2RGb3JtYXRUd28scDZQb2RGb3JtYXRUaHJlZSxwNlBvZFZlcnRpY2FsQmFyLHA2UG9kU2VtaUNvbG9uLHA2UG9kQ29tbWEKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcGVybDZfc3ludGF4X2luaXRzIikKLSAgICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgICAgIGxldCBkaWRfcGVybDZfc3ludGF4X2luaXRzID0gMQotICAgICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgIGVsc2UKLSAgICAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gICAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gICAgSGlMaW5rIHA2RXNjT2N0T2xkICAgICAgIHA2RXJyb3IKLSAgICBIaUxpbmsgcDZQYWNrYWdlVHdpZ2lsICAgcDZUd2lnaWwKLSAgICBIaUxpbmsgcDZTdHJpbmdBbmdsZSAgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZTdHJpbmdGcmVuY2ggICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZTdHJpbmdBbmdsZXMgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZTdHJpbmdTUSAgICAgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZTdHJpbmdEUSAgICAgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZTdHJpbmdRICAgICAgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZSeFN0cmluZ1NRICAgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZSeFN0cmluZ0RRICAgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZTdWJzdGl0dXRpb24gICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZUcmFuc2xpdGVyYXRpb24gcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZTdHJpbmdBdXRvICAgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZTdHJpbmdQNUF1dG8gICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZLZXkgICAgICAgICAgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZNYXRjaCAgICAgICAgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZSZWdleEJsb2NrICAgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZSeFA1Q2hhckNsYXNzICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZSeFA1UXVvdGVNZXRhICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZSeENoYXJDbGFzcyAgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZSeFF1b3RlV29yZHMgICAgcDZTdHJpbmcKLSAgICBIaUxpbmsgcDZSZWR1Y2VPcCAgICAgICAgcDZPcGVyYXRvcgotICAgIEhpTGluayBwNlJldmVyc2VDcm9zc09wICBwNk9wZXJhdG9yCi0gICAgSGlMaW5rIHA2SHlwZXJPcCAgICAgICAgIHA2T3BlcmF0b3IKLSAgICBIaUxpbmsgcDZRdW90ZVEgICAgICAgICAgcDZPcGVyYXRvcgotICAgIEhpTGluayBwNlJ4UmFuZ2UgICAgICAgICBwNlN0cmluZ1NwZWNpYWwKLSAgICBIaUxpbmsgcDZSeEFuY2hvciAgICAgICAgcDZTdHJpbmdTcGVjaWFsCi0gICAgSGlMaW5rIHA2UnhQNUFuY2hvciAgICAgIHA2U3RyaW5nU3BlY2lhbAotICAgIEhpTGluayBwNkNvZGVQb2ludCAgICAgICBwNlN0cmluZ1NwZWNpYWwKLSAgICBIaUxpbmsgcDZSeE1ldGEgICAgICAgICAgcDZTdHJpbmdTcGVjaWFsCi0gICAgSGlMaW5rIHA2UnhQNVJhbmdlICAgICAgIHA2U3RyaW5nU3BlY2lhbAotICAgIEhpTGluayBwNlJ4UDVDUElkICAgICAgICBwNlN0cmluZ1NwZWNpYWwKLSAgICBIaUxpbmsgcDZSeFA1UG9zaXggICAgICAgcDZTdHJpbmdTcGVjaWFsCi0gICAgSGlMaW5rIHA2UnhQNU1vZCAgICAgICAgIHA2U3RyaW5nU3BlY2lhbAotICAgIEhpTGluayBwNlJ4UDVIZXhTZXEgICAgICBwNlN0cmluZ1NwZWNpYWwKLSAgICBIaUxpbmsgcDZSeFA1T2N0U2VxICAgICAgcDZTdHJpbmdTcGVjaWFsCi0gICAgSGlMaW5rIHA2UnhQNVdyaXRlUmVmSWQgIHA2U3RyaW5nU3BlY2lhbAotICAgIEhpTGluayBwNkhleFNlcXVlbmNlICAgICBwNlN0cmluZ1NwZWNpYWwKLSAgICBIaUxpbmsgcDZPY3RTZXF1ZW5jZSAgICAgcDZTdHJpbmdTcGVjaWFsCi0gICAgSGlMaW5rIHA2UnhQNU5hbWVkICAgICAgIHA2U3RyaW5nU3BlY2lhbAotICAgIEhpTGluayBwNlJ4UDVQcm9wSWQgICAgICBwNlN0cmluZ1NwZWNpYWwKLSAgICBIaUxpbmsgcDZSeFA1UXVhbnRpZmllciAgcDZTdHJpbmdTcGVjaWFsCi0gICAgSGlMaW5rIHA2UnhQNUNvdW50SWQgICAgIHA2U3RyaW5nU3BlY2lhbAotICAgIEhpTGluayBwNlJ4UDVWZXJiICAgICAgICBwNlN0cmluZ1NwZWNpYWwKLSAgICBIaUxpbmsgcDZFc2NhcGUgICAgICAgICAgcDZTdHJpbmdTcGVjaWFsMgotICAgIEhpTGluayBwNkVzY051bGwgICAgICAgICBwNlN0cmluZ1NwZWNpYWwyCi0gICAgSGlMaW5rIHA2RXNjSGFzaCAgICAgICAgIHA2U3RyaW5nU3BlY2lhbDIKLSAgICBIaUxpbmsgcDZFc2NRUSAgICAgICAgICAgcDZTdHJpbmdTcGVjaWFsMgotICAgIEhpTGluayBwNkVzY1F1b3RlICAgICAgICBwNlN0cmluZ1NwZWNpYWwyCi0gICAgSGlMaW5rIHA2RXNjRG91YmxlUXVvdGUgIHA2U3RyaW5nU3BlY2lhbDIKLSAgICBIaUxpbmsgcDZFc2NCYWNrVGljayAgICAgcDZTdHJpbmdTcGVjaWFsMgotICAgIEhpTGluayBwNkVzY0ZvcndhcmRTbGFzaCBwNlN0cmluZ1NwZWNpYWwyCi0gICAgSGlMaW5rIHA2RXNjVmVydGljYWxCYXIgIHA2U3RyaW5nU3BlY2lhbDIKLSAgICBIaUxpbmsgcDZFc2NFeGNsYW1hdGlvbiAgcDZTdHJpbmdTcGVjaWFsMgotICAgIEhpTGluayBwNkVzY0RvbGxhciAgICAgICBwNlN0cmluZ1NwZWNpYWwyCi0gICAgSGlMaW5rIHA2RXNjT3BlbkN1cmx5ICAgIHA2U3RyaW5nU3BlY2lhbDIKLSAgICBIaUxpbmsgcDZFc2NDbG9zZUN1cmx5ICAgcDZTdHJpbmdTcGVjaWFsMgotICAgIEhpTGluayBwNkVzY0Nsb3NlQnJhY2tldCBwNlN0cmluZ1NwZWNpYWwyCi0gICAgSGlMaW5rIHA2RXNjQ2xvc2VBbmdsZSAgIHA2U3RyaW5nU3BlY2lhbDIKLSAgICBIaUxpbmsgcDZFc2NDbG9zZUZyZW5jaCAgcDZTdHJpbmdTcGVjaWFsMgotICAgIEhpTGluayBwNkVzY0JhY2tTbGFzaCAgICBwNlN0cmluZ1NwZWNpYWwyCi0gICAgSGlMaW5rIHA2UnhFc2NhcGUgICAgICAgIHA2U3RyaW5nU3BlY2lhbDIKLSAgICBIaUxpbmsgcDZSeENhcHR1cmUgICAgICAgcDZTdHJpbmdTcGVjaWFsMgotICAgIEhpTGluayBwNlJ4QWx0ZXJuYXRpb24gICBwNlN0cmluZ1NwZWNpYWwyCi0gICAgSGlMaW5rIHA2UnhQNSAgICAgICAgICAgIHA2U3RyaW5nU3BlY2lhbDIKLSAgICBIaUxpbmsgcDZSeFA1UmVhZFJlZiAgICAgcDZTdHJpbmdTcGVjaWFsMgotICAgIEhpTGluayBwNlJ4UDVPY3QgICAgICAgICBwNlN0cmluZ1NwZWNpYWwyCi0gICAgSGlMaW5rIHA2UnhQNUhleCAgICAgICAgIHA2U3RyaW5nU3BlY2lhbDIKLSAgICBIaUxpbmsgcDZSeFA1RXNjTWV0YSAgICAgcDZTdHJpbmdTcGVjaWFsMgotICAgIEhpTGluayBwNlJ4UDVNZXRhICAgICAgICBwNlN0cmluZ1NwZWNpYWwyCi0gICAgSGlMaW5rIHA2UnhQNUVzY2FwZSAgICAgIHA2U3RyaW5nU3BlY2lhbDIKLSAgICBIaUxpbmsgcDZSeFA1Q29kZVBvaW50ICAgcDZTdHJpbmdTcGVjaWFsMgotICAgIEhpTGluayBwNlJ4UDVXcml0ZVJlZiAgICBwNlN0cmluZ1NwZWNpYWwyCi0gICAgSGlMaW5rIHA2UnhQNVByb3AgICAgICAgIHA2U3RyaW5nU3BlY2lhbDIKK0hpTGluayBwNkVzY09jdE9sZCAgICAgICBwNkVycm9yCitIaUxpbmsgcDZQYWNrYWdlVHdpZ2lsICAgcDZUd2lnaWwKK0hpTGluayBwNlN0cmluZ0FuZ2xlICAgICBwNlN0cmluZworSGlMaW5rIHA2U3RyaW5nRnJlbmNoICAgIHA2U3RyaW5nCitIaUxpbmsgcDZTdHJpbmdBbmdsZXMgICAgcDZTdHJpbmcKK0hpTGluayBwNlN0cmluZ1NRICAgICAgICBwNlN0cmluZworSGlMaW5rIHA2U3RyaW5nRFEgICAgICAgIHA2U3RyaW5nCitIaUxpbmsgcDZTdHJpbmdRICAgICAgICAgcDZTdHJpbmcKK0hpTGluayBwNlJ4U3RyaW5nU1EgICAgICBwNlN0cmluZworSGlMaW5rIHA2UnhTdHJpbmdEUSAgICAgIHA2U3RyaW5nCitIaUxpbmsgcDZTdWJzdGl0dXRpb24gICAgcDZTdHJpbmcKK0hpTGluayBwNlRyYW5zbGl0ZXJhdGlvbiBwNlN0cmluZworSGlMaW5rIHA2U3RyaW5nQXV0byAgICAgIHA2U3RyaW5nCitIaUxpbmsgcDZTdHJpbmdQNUF1dG8gICAgcDZTdHJpbmcKK0hpTGluayBwNktleSAgICAgICAgICAgICBwNlN0cmluZworSGlMaW5rIHA2TWF0Y2ggICAgICAgICAgIHA2U3RyaW5nCitIaUxpbmsgcDZSZWdleEJsb2NrICAgICAgcDZTdHJpbmcKK0hpTGluayBwNlJ4UDVDaGFyQ2xhc3MgICBwNlN0cmluZworSGlMaW5rIHA2UnhQNVF1b3RlTWV0YSAgIHA2U3RyaW5nCitIaUxpbmsgcDZSeENoYXJDbGFzcyAgICAgcDZTdHJpbmcKK0hpTGluayBwNlJ4UXVvdGVXb3JkcyAgICBwNlN0cmluZworSGlMaW5rIHA2UmVkdWNlT3AgICAgICAgIHA2T3BlcmF0b3IKK0hpTGluayBwNlJldmVyc2VDcm9zc09wICBwNk9wZXJhdG9yCitIaUxpbmsgcDZIeXBlck9wICAgICAgICAgcDZPcGVyYXRvcgorSGlMaW5rIHA2UXVvdGVRICAgICAgICAgIHA2T3BlcmF0b3IKK0hpTGluayBwNlJ4UmFuZ2UgICAgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4QW5jaG9yICAgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVBbmNob3IgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNkNvZGVQb2ludCAgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4TWV0YSAgICAgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVSYW5nZSAgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVDUElkICAgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVQb3NpeCAgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVNb2QgICAgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVIZXhTZXEgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVPY3RTZXEgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVXcml0ZVJlZklkICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNkhleFNlcXVlbmNlICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNk9jdFNlcXVlbmNlICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVOYW1lZCAgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVQcm9wSWQgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVRdWFudGlmaWVyICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVDb3VudElkICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNlJ4UDVWZXJiICAgICAgICBwNlN0cmluZ1NwZWNpYWwKK0hpTGluayBwNkVzY2FwZSAgICAgICAgICBwNlN0cmluZ1NwZWNpYWwyCitIaUxpbmsgcDZFc2NOdWxsICAgICAgICAgcDZTdHJpbmdTcGVjaWFsMgorSGlMaW5rIHA2RXNjSGFzaCAgICAgICAgIHA2U3RyaW5nU3BlY2lhbDIKK0hpTGluayBwNkVzY1FRICAgICAgICAgICBwNlN0cmluZ1NwZWNpYWwyCitIaUxpbmsgcDZFc2NRdW90ZSAgICAgICAgcDZTdHJpbmdTcGVjaWFsMgorSGlMaW5rIHA2RXNjRG91YmxlUXVvdGUgIHA2U3RyaW5nU3BlY2lhbDIKK0hpTGluayBwNkVzY0JhY2tUaWNrICAgICBwNlN0cmluZ1NwZWNpYWwyCitIaUxpbmsgcDZFc2NGb3J3YXJkU2xhc2ggcDZTdHJpbmdTcGVjaWFsMgorSGlMaW5rIHA2RXNjVmVydGljYWxCYXIgIHA2U3RyaW5nU3BlY2lhbDIKK0hpTGluayBwNkVzY0V4Y2xhbWF0aW9uICBwNlN0cmluZ1NwZWNpYWwyCitIaUxpbmsgcDZFc2NEb2xsYXIgICAgICAgcDZTdHJpbmdTcGVjaWFsMgorSGlMaW5rIHA2RXNjT3BlbkN1cmx5ICAgIHA2U3RyaW5nU3BlY2lhbDIKK0hpTGluayBwNkVzY0Nsb3NlQ3VybHkgICBwNlN0cmluZ1NwZWNpYWwyCitIaUxpbmsgcDZFc2NDbG9zZUJyYWNrZXQgcDZTdHJpbmdTcGVjaWFsMgorSGlMaW5rIHA2RXNjQ2xvc2VBbmdsZSAgIHA2U3RyaW5nU3BlY2lhbDIKK0hpTGluayBwNkVzY0Nsb3NlRnJlbmNoICBwNlN0cmluZ1NwZWNpYWwyCitIaUxpbmsgcDZFc2NCYWNrU2xhc2ggICAgcDZTdHJpbmdTcGVjaWFsMgorSGlMaW5rIHA2UnhFc2NhcGUgICAgICAgIHA2U3RyaW5nU3BlY2lhbDIKK0hpTGluayBwNlJ4Q2FwdHVyZSAgICAgICBwNlN0cmluZ1NwZWNpYWwyCitIaUxpbmsgcDZSeEFsdGVybmF0aW9uICAgcDZTdHJpbmdTcGVjaWFsMgorSGlMaW5rIHA2UnhQNSAgICAgICAgICAgIHA2U3RyaW5nU3BlY2lhbDIKK0hpTGluayBwNlJ4UDVSZWFkUmVmICAgICBwNlN0cmluZ1NwZWNpYWwyCitIaUxpbmsgcDZSeFA1T2N0ICAgICAgICAgcDZTdHJpbmdTcGVjaWFsMgorSGlMaW5rIHA2UnhQNUhleCAgICAgICAgIHA2U3RyaW5nU3BlY2lhbDIKK0hpTGluayBwNlJ4UDVFc2NNZXRhICAgICBwNlN0cmluZ1NwZWNpYWwyCitIaUxpbmsgcDZSeFA1TWV0YSAgICAgICAgcDZTdHJpbmdTcGVjaWFsMgorSGlMaW5rIHA2UnhQNUVzY2FwZSAgICAgIHA2U3RyaW5nU3BlY2lhbDIKK0hpTGluayBwNlJ4UDVDb2RlUG9pbnQgICBwNlN0cmluZ1NwZWNpYWwyCitIaUxpbmsgcDZSeFA1V3JpdGVSZWYgICAgcDZTdHJpbmdTcGVjaWFsMgorSGlMaW5rIHA2UnhQNVByb3AgICAgICAgIHA2U3RyaW5nU3BlY2lhbDIKIAotICAgIEhpTGluayBwNlByb3BlcnR5ICAgICAgIFRhZwotICAgIEhpTGluayBwNkF0dGVudGlvbiAgICAgIFRvZG8KLSAgICBIaUxpbmsgcDZUeXBlICAgICAgICAgICBUeXBlCi0gICAgSGlMaW5rIHA2RXJyb3IgICAgICAgICAgRXJyb3IKLSAgICBIaUxpbmsgcDZCbG9ja0xhYmVsICAgICBMYWJlbAotICAgIEhpTGluayBwNkZsb2F0ICAgICAgICAgIEZsb2F0Ci0gICAgSGlMaW5rIHA2Tm9ybWFsICAgICAgICAgTm9ybWFsCi0gICAgSGlMaW5rIHA2UGFja2FnZSAgICAgICAgTm9ybWFsCi0gICAgSGlMaW5rIHA2UGFja2FnZVNjb3BlICAgTm9ybWFsCi0gICAgSGlMaW5rIHA2TnVtYmVyICAgICAgICAgTnVtYmVyCi0gICAgSGlMaW5rIHA2VmVyc2lvbk51bSAgICAgTnVtYmVyCi0gICAgSGlMaW5rIHA2U3RyaW5nICAgICAgICAgU3RyaW5nCi0gICAgSGlMaW5rIHA2UmVwZWF0ICAgICAgICAgUmVwZWF0Ci0gICAgSGlMaW5rIHA2S2V5d29yZCAgICAgICAgS2V5d29yZAotICAgIEhpTGluayBwNlByYWdtYSAgICAgICAgIEtleXdvcmQKLSAgICBIaUxpbmsgcDZNb2R1bGUgICAgICAgICBLZXl3b3JkCi0gICAgSGlMaW5rIHA2RGVjbGFyZVJvdXRpbmUgS2V5d29yZAotICAgIEhpTGluayBwNlZhclN0b3JhZ2UgICAgIFNwZWNpYWwKLSAgICBIaUxpbmsgcDZGbG93Q29udHJvbCAgICBTcGVjaWFsCi0gICAgSGlMaW5rIHA2TnVtYmVyQmFzZSAgICAgU3BlY2lhbAotICAgIEhpTGluayBwNlR3aWdpbCAgICAgICAgIFNwZWNpYWwKLSAgICBIaUxpbmsgcDZTdHJpbmdTcGVjaWFsMiBTcGVjaWFsCi0gICAgSGlMaW5rIHA2VmVyc2lvbkRvdCAgICAgU3BlY2lhbAotICAgIEhpTGluayBwNkNvbW1lbnQgICAgICAgIENvbW1lbnQKLSAgICBIaUxpbmsgcDZJbmNsdWRlICAgICAgICBJbmNsdWRlCi0gICAgSGlMaW5rIHA2U2hlYmFuZyAgICAgICAgUHJlUHJvYwotICAgIEhpTGluayBwNkNsb3N1cmVUcmFpdCAgIFByZVByb2MKLSAgICBIaUxpbmsgcDZSb3V0aW5lICAgICAgICBGdW5jdGlvbgotICAgIEhpTGluayBwNk9wZXJhdG9yICAgICAgIE9wZXJhdG9yCi0gICAgSGlMaW5rIHA2VmVyc2lvbiAgICAgICAgT3BlcmF0b3IKLSAgICBIaUxpbmsgcDZDb250ZXh0ICAgICAgICBPcGVyYXRvcgotICAgIEhpTGluayBwNlF1b3RlICAgICAgICAgIERlbGltaXRlcgotICAgIEhpTGluayBwNlR5cGVDb25zdHJhaW50IFByZUNvbmRpdAotICAgIEhpTGluayBwNkV4Y2VwdGlvbiAgICAgIEV4Y2VwdGlvbgotICAgIEhpTGluayBwNlBsYWNlaG9sZGVyICAgIElkZW50aWZpZXIKLSAgICBIaUxpbmsgcDZWYXJpYWJsZSAgICAgICBJZGVudGlmaWVyCi0gICAgSGlMaW5rIHA2VmFyU2xhc2ggICAgICAgSWRlbnRpZmllcgotICAgIEhpTGluayBwNlZhck51bSAgICAgICAgIElkZW50aWZpZXIKLSAgICBIaUxpbmsgcDZWYXJFeGNsYW0gICAgICBJZGVudGlmaWVyCi0gICAgSGlMaW5rIHA2VmFyTWF0Y2ggICAgICAgSWRlbnRpZmllcgotICAgIEhpTGluayBwNlZhck5hbWUgICAgICAgIElkZW50aWZpZXIKLSAgICBIaUxpbmsgcDZNYXRjaFZhciAgICAgICBJZGVudGlmaWVyCi0gICAgSGlMaW5rIHA2UnhQNVJlYWRSZWZJZCAgSWRlbnRpZmllcgotICAgIEhpTGluayBwNlJ4UDVNb2REZWYgICAgIElkZW50aWZpZXIKLSAgICBIaUxpbmsgcDZSeFA1TW9kTmFtZSAgICBJZGVudGlmaWVyCi0gICAgSGlMaW5rIHA2Q29uZGl0aW9uYWwgICAgQ29uZGl0aW9uYWwKLSAgICBIaUxpbmsgcDZTdHJpbmdTcGVjaWFsICBTcGVjaWFsQ2hhcgorSGlMaW5rIHA2UHJvcGVydHkgICAgICAgVGFnCitIaUxpbmsgcDZBdHRlbnRpb24gICAgICBUb2RvCitIaUxpbmsgcDZUeXBlICAgICAgICAgICBUeXBlCitIaUxpbmsgcDZFcnJvciAgICAgICAgICBFcnJvcgorSGlMaW5rIHA2QmxvY2tMYWJlbCAgICAgTGFiZWwKK0hpTGluayBwNkZsb2F0ICAgICAgICAgIEZsb2F0CitIaUxpbmsgcDZOb3JtYWwgICAgICAgICBOb3JtYWwKK0hpTGluayBwNlBhY2thZ2UgICAgICAgIE5vcm1hbAorSGlMaW5rIHA2UGFja2FnZVNjb3BlICAgTm9ybWFsCitIaUxpbmsgcDZOdW1iZXIgICAgICAgICBOdW1iZXIKK0hpTGluayBwNlZlcnNpb25OdW0gICAgIE51bWJlcgorSGlMaW5rIHA2U3RyaW5nICAgICAgICAgU3RyaW5nCitIaUxpbmsgcDZSZXBlYXQgICAgICAgICBSZXBlYXQKK0hpTGluayBwNktleXdvcmQgICAgICAgIEtleXdvcmQKK0hpTGluayBwNlByYWdtYSAgICAgICAgIEtleXdvcmQKK0hpTGluayBwNk1vZHVsZSAgICAgICAgIEtleXdvcmQKK0hpTGluayBwNkRlY2xhcmVSb3V0aW5lIEtleXdvcmQKK0hpTGluayBwNlZhclN0b3JhZ2UgICAgIFNwZWNpYWwKK0hpTGluayBwNkZsb3dDb250cm9sICAgIFNwZWNpYWwKK0hpTGluayBwNk51bWJlckJhc2UgICAgIFNwZWNpYWwKK0hpTGluayBwNlR3aWdpbCAgICAgICAgIFNwZWNpYWwKK0hpTGluayBwNlN0cmluZ1NwZWNpYWwyIFNwZWNpYWwKK0hpTGluayBwNlZlcnNpb25Eb3QgICAgIFNwZWNpYWwKK0hpTGluayBwNkNvbW1lbnQgICAgICAgIENvbW1lbnQKK0hpTGluayBwNkluY2x1ZGUgICAgICAgIEluY2x1ZGUKK0hpTGluayBwNlNoZWJhbmcgICAgICAgIFByZVByb2MKK0hpTGluayBwNkNsb3N1cmVUcmFpdCAgIFByZVByb2MKK0hpTGluayBwNlJvdXRpbmUgICAgICAgIEZ1bmN0aW9uCitIaUxpbmsgcDZPcGVyYXRvciAgICAgICBPcGVyYXRvcgorSGlMaW5rIHA2VmVyc2lvbiAgICAgICAgT3BlcmF0b3IKK0hpTGluayBwNkNvbnRleHQgICAgICAgIE9wZXJhdG9yCitIaUxpbmsgcDZRdW90ZSAgICAgICAgICBEZWxpbWl0ZXIKK0hpTGluayBwNlR5cGVDb25zdHJhaW50IFByZUNvbmRpdAorSGlMaW5rIHA2RXhjZXB0aW9uICAgICAgRXhjZXB0aW9uCitIaUxpbmsgcDZQbGFjZWhvbGRlciAgICBJZGVudGlmaWVyCitIaUxpbmsgcDZWYXJpYWJsZSAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgcDZWYXJTbGFzaCAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgcDZWYXJOdW0gICAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgcDZWYXJFeGNsYW0gICAgICBJZGVudGlmaWVyCitIaUxpbmsgcDZWYXJNYXRjaCAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgcDZWYXJOYW1lICAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgcDZNYXRjaFZhciAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgcDZSeFA1UmVhZFJlZklkICBJZGVudGlmaWVyCitIaUxpbmsgcDZSeFA1TW9kRGVmICAgICBJZGVudGlmaWVyCitIaUxpbmsgcDZSeFA1TW9kTmFtZSAgICBJZGVudGlmaWVyCitIaUxpbmsgcDZDb25kaXRpb25hbCAgICBDb25kaXRpb25hbAorSGlMaW5rIHA2U3RyaW5nU3BlY2lhbCAgU3BlY2lhbENoYXIKIAotICAgIEhpTGluayBwNlBvZEFiYnIgICAgICAgICBwNlBvZAotICAgIEhpTGluayBwNlBvZEFiYnJFT0YgICAgICBwNlBvZAotICAgIEhpTGluayBwNlBvZEFiYnJOb0NvZGUgICBwNlBvZAotICAgIEhpTGluayBwNlBvZEFiYnJDb2RlICAgICBwNlBvZENvZGUKLSAgICBIaUxpbmsgcDZQb2RQYXJhICAgICAgICAgcDZQb2QKLSAgICBIaUxpbmsgcDZQb2RQYXJhRU9GICAgICAgcDZQb2QKLSAgICBIaUxpbmsgcDZQb2RQYXJhTm9Db2RlICAgcDZQb2QKLSAgICBIaUxpbmsgcDZQb2RQYXJhQ29kZSAgICAgcDZQb2RDb2RlCi0gICAgSGlMaW5rIHA2UG9kRGVsaW0gICAgICAgIHA2UG9kCi0gICAgSGlMaW5rIHA2UG9kRGVsaW1FT0YgICAgIHA2UG9kCi0gICAgSGlMaW5rIHA2UG9kRGVsaW1Ob0NvZGUgIHA2UG9kCi0gICAgSGlMaW5rIHA2UG9kRGVsaW1Db2RlICAgIHA2UG9kQ29kZQotICAgIEhpTGluayBwNlBvZEltcGxpY2l0Q29kZSBwNlBvZENvZGUKLSAgICBIaUxpbmsgcDZQb2RFeHRyYUNvbmZpZyAgcDZQb2RQcmVmaXgKLSAgICBIaUxpbmsgcDZQb2RWZXJ0aWNhbEJhciAgcDZQb2RGb3JtYXRDb2RlCi0gICAgSGlMaW5rIHA2UG9kQ29sb24gICAgICAgIHA2UG9kRm9ybWF0Q29kZQotICAgIEhpTGluayBwNlBvZFNlbWljb2xvbiAgICBwNlBvZEZvcm1hdENvZGUKLSAgICBIaUxpbmsgcDZQb2RDb21tYSAgICAgICAgcDZQb2RGb3JtYXRDb2RlCi0gICAgSGlMaW5rIHA2UG9kRm9ybWF0T25lICAgIHA2UG9kRm9ybWF0Ci0gICAgSGlMaW5rIHA2UG9kRm9ybWF0VHdvICAgIHA2UG9kRm9ybWF0Ci0gICAgSGlMaW5rIHA2UG9kRm9ybWF0VGhyZWUgIHA2UG9kRm9ybWF0Ci0gICAgSGlMaW5rIHA2UG9kRm9ybWF0RnJlbmNoIHA2UG9kRm9ybWF0CitIaUxpbmsgcDZQb2RBYmJyICAgICAgICAgcDZQb2QKK0hpTGluayBwNlBvZEFiYnJFT0YgICAgICBwNlBvZAorSGlMaW5rIHA2UG9kQWJick5vQ29kZSAgIHA2UG9kCitIaUxpbmsgcDZQb2RBYmJyQ29kZSAgICAgcDZQb2RDb2RlCitIaUxpbmsgcDZQb2RQYXJhICAgICAgICAgcDZQb2QKK0hpTGluayBwNlBvZFBhcmFFT0YgICAgICBwNlBvZAorSGlMaW5rIHA2UG9kUGFyYU5vQ29kZSAgIHA2UG9kCitIaUxpbmsgcDZQb2RQYXJhQ29kZSAgICAgcDZQb2RDb2RlCitIaUxpbmsgcDZQb2REZWxpbSAgICAgICAgcDZQb2QKK0hpTGluayBwNlBvZERlbGltRU9GICAgICBwNlBvZAorSGlMaW5rIHA2UG9kRGVsaW1Ob0NvZGUgIHA2UG9kCitIaUxpbmsgcDZQb2REZWxpbUNvZGUgICAgcDZQb2RDb2RlCitIaUxpbmsgcDZQb2RJbXBsaWNpdENvZGUgcDZQb2RDb2RlCitIaUxpbmsgcDZQb2RFeHRyYUNvbmZpZyAgcDZQb2RQcmVmaXgKK0hpTGluayBwNlBvZFZlcnRpY2FsQmFyICBwNlBvZEZvcm1hdENvZGUKK0hpTGluayBwNlBvZENvbG9uICAgICAgICBwNlBvZEZvcm1hdENvZGUKK0hpTGluayBwNlBvZFNlbWljb2xvbiAgICBwNlBvZEZvcm1hdENvZGUKK0hpTGluayBwNlBvZENvbW1hICAgICAgICBwNlBvZEZvcm1hdENvZGUKK0hpTGluayBwNlBvZEZvcm1hdE9uZSAgICBwNlBvZEZvcm1hdAorSGlMaW5rIHA2UG9kRm9ybWF0VHdvICAgIHA2UG9kRm9ybWF0CitIaUxpbmsgcDZQb2RGb3JtYXRUaHJlZSAgcDZQb2RGb3JtYXQKK0hpTGluayBwNlBvZEZvcm1hdEZyZW5jaCBwNlBvZEZvcm1hdAogCi0gICAgSGlMaW5rIHA2UG9kVHlwZSAgICAgICAgICAgVHlwZQotICAgIEhpTGluayBwNlBvZENvbmZpZ09wdGlvbiAgIFN0cmluZwotICAgIEhpTGluayBwNlBvZENvZGUgICAgICAgICAgIFByZVByb2MKLSAgICBIaUxpbmsgcDZQb2QgICAgICAgICAgICAgICBDb21tZW50Ci0gICAgSGlMaW5rIHA2UG9kQ29tbWVudCAgICAgICAgQ29tbWVudAotICAgIEhpTGluayBwNlBvZEF1dG9RdW90ZSAgICAgIE9wZXJhdG9yCi0gICAgSGlMaW5rIHA2UG9kQ29uZmlnT3BlcmF0b3IgT3BlcmF0b3IKLSAgICBIaUxpbmsgcDZQb2RQcmVmaXggICAgICAgICBTdGF0ZW1lbnQKLSAgICBIaUxpbmsgcDZQb2ROYW1lICAgICAgICAgICBJZGVudGlmaWVyCi0gICAgSGlMaW5rIHA2UG9kRm9ybWF0Q29kZSAgICAgU3BlY2lhbENoYXIKLSAgICBIaUxpbmsgcDZQb2RGb3JtYXQgICAgICAgICBTcGVjaWFsQ29tbWVudAorSGlMaW5rIHA2UG9kVHlwZSAgICAgICAgICAgVHlwZQorSGlMaW5rIHA2UG9kQ29uZmlnT3B0aW9uICAgU3RyaW5nCitIaUxpbmsgcDZQb2RDb2RlICAgICAgICAgICBQcmVQcm9jCitIaUxpbmsgcDZQb2QgICAgICAgICAgICAgICBDb21tZW50CitIaUxpbmsgcDZQb2RDb21tZW50ICAgICAgICBDb21tZW50CitIaUxpbmsgcDZQb2RBdXRvUXVvdGUgICAgICBPcGVyYXRvcgorSGlMaW5rIHA2UG9kQ29uZmlnT3BlcmF0b3IgT3BlcmF0b3IKK0hpTGluayBwNlBvZFByZWZpeCAgICAgICAgIFN0YXRlbWVudAorSGlMaW5rIHA2UG9kTmFtZSAgICAgICAgICAgSWRlbnRpZmllcgorSGlMaW5rIHA2UG9kRm9ybWF0Q29kZSAgICAgU3BlY2lhbENoYXIKK0hpTGluayBwNlBvZEZvcm1hdCAgICAgICAgIFNwZWNpYWxDb21tZW50CiAKLSAgICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKICIgU3luY2luZyB0byBzcGVlZCB1cCBwcm9jZXNzaW5nCiAic3luIHN5bmMgbWF0Y2ggcDZTeW5jUG9kIGdyb3VwdGhlcmUgcDZQb2RBYmJyUmVnaW9uICAgICAiXj1cS1xrKlw+IgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcGZtYWluLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BmbWFpbi52aW0KaW5kZXggMzJlZDY5Ny4uNzk0YWE1ZCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcGZtYWluLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9wZm1haW4udmltCkBAIC03LDE3ICs3LDEyIEBACiAiIFVSTDoJCWh0dHA6Ly9jZXJuLmNoL2Z1amkvdmltL3N5bnRheC9wZm1haW4udmltCiAiIENvbW1lbnQ6CUJhc2VkIG9uIFBvc3RmaXggMi4xMi8zLjAgcG9zdGNvbmYuNS5odG1sLgogCi1pZiB2ZXJzaW9uIDwgNjAwCi0Jc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogCWZpbmlzaAogZW5kaWYKIAotaWYgdmVyc2lvbiA+PSA2MDAKLQlzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NyxfLC0KLWVsc2UKLQlzZXQgaXNrZXl3b3JkPUAsNDgtNTcsXywtCi1lbmRpZgorc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsXywtCiAKIHN5bnRheCBjYXNlIG1hdGNoCiBzeW50YXggc3luYyBtaW5saW5lcz0xCkBAIC0xODE2LDMzICsxODExLDI2IEBACiBzeW50YXggbWF0Y2ggcGZtYWluU3BlY2lhbAkiXDx0cmFjZVw+Igogc3ludGF4IG1hdGNoIHBmbWFpblNwZWNpYWwJIlw8dmVyaWZ5XD4iCiAKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoInBmbWFpbl9zeW50YXhfaW5pdCIpCi0JaWYgdmVyc2lvbiA8IDUwOAotCQlsZXQgcGZtYWluX3N5bnRheF9pbml0ID0gMQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotCWVsc2UKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0JZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0JSGlMaW5rIHBmbWFpbkNvbmYJU3RhdGVtZW50Ci0JSGlMaW5rIHBmbWFpblJlZglQcmVQcm9jCi0JSGlMaW5rIHBmbWFpbldvcmQJaWRlbnRpZmllcgorSGlMaW5rIHBmbWFpbkNvbmYJU3RhdGVtZW50CitIaUxpbmsgcGZtYWluUmVmCVByZVByb2MKK0hpTGluayBwZm1haW5Xb3JkCWlkZW50aWZpZXIKIAotCUhpTGluayBwZm1haW5EaWN0CVR5cGUKLQlIaUxpbmsgcGZtYWluUXVldWVEaXIJQ29uc3RhbnQKLQlIaUxpbmsgcGZtYWluVHJhbnNwb3J0CUNvbnN0YW50Ci0JSGlMaW5rIHBmbWFpbkxvY2sJQ29uc3RhbnQKLQlIaUxpbmsgcGZtYWluQW5zd2VyCUNvbnN0YW50CitIaUxpbmsgcGZtYWluRGljdAlUeXBlCitIaUxpbmsgcGZtYWluUXVldWVEaXIJQ29uc3RhbnQKK0hpTGluayBwZm1haW5UcmFuc3BvcnQJQ29uc3RhbnQKK0hpTGluayBwZm1haW5Mb2NrCUNvbnN0YW50CitIaUxpbmsgcGZtYWluQW5zd2VyCUNvbnN0YW50CiAKLQlIaUxpbmsgcGZtYWluQ29tbWVudAlDb21tZW50Ci0JSGlMaW5rIHBmbWFpbk51bWJlcglOdW1iZXIKLQlIaUxpbmsgcGZtYWluVGltZQlOdW1iZXIKLQlIaUxpbmsgcGZtYWluSVAJCU51bWJlcgotCUhpTGluayBwZm1haW5WYXJpYWJsZQlFcnJvcgotCUhpTGluayBwZm1haW5TcGVjaWFsCVNwZWNpYWwKK0hpTGluayBwZm1haW5Db21tZW50CUNvbW1lbnQKK0hpTGluayBwZm1haW5OdW1iZXIJTnVtYmVyCitIaUxpbmsgcGZtYWluVGltZQlOdW1iZXIKK0hpTGluayBwZm1haW5JUAkJTnVtYmVyCitIaUxpbmsgcGZtYWluVmFyaWFibGUJRXJyb3IKK0hpTGluayBwZm1haW5TcGVjaWFsCVNwZWNpYWwKIAotCWRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAicGZtYWluIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9waHAudmltIGIvcnVudGltZS9zeW50YXgvcGhwLnZpbQppbmRleCBkNDk0YTkyLi4zMDE5YTQyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9waHAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3BocC52aW0KQEAgLTU1LDExICs1NSw4IEBACiAiICAgIGlpKSBTYW1lIHByb2JsZW0gaWYgeW91IGFyZSBzZXR0aW5nIHBocF9mb2xkaW5nID0gMiB3aXRoIGEgY2xvc2luZwogIiAgICAgICAgfSBpbnNpZGUgYW4gc3RyaW5nIG9uIHRoZSBmaXJzdCBsaW5lIG9mIHRoaXMgc3RyaW5nLgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNjcsMTYgKzY0LDggQEAKICAgbGV0IG1haW5fc3ludGF4ID0gJ3BocCcKIGVuZGlmCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgdW5sZXQhIHBocF9mb2xkaW5nCi0gIGlmIGV4aXN0cygicGhwX3N5bmNfbWV0aG9kIikgJiYgIXBocF9zeW5jX21ldGhvZAotICAgIGxldCBwaHBfc3luY19tZXRob2Q9LTEKLSAgZW5kaWYKLSAgc28gPHNmaWxlPjpwOmgvaHRtbC52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvaHRtbC52aW0KK3VubGV0IGI6Y3VycmVudF9zeW50YXgKIAogIiBhY2NlcHQgb2xkIG9wdGlvbnMKIGlmICFleGlzdHMoInBocF9zeW5jX21ldGhvZCIpCkBAIC05NCwxMSArODMsNyBAQAogCiBzeW4gY2x1c3RlciBodG1sUHJlcHJvYyBhZGQ9cGhwUmVnaW9uLHBocFJlZ2lvbkFzcCxwaHBSZWdpb25TYwogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5biBpbmNsdWRlIEBzcWxUb3AgPHNmaWxlPjpwOmgvc3FsLnZpbQotZWxzZQotICBzeW4gaW5jbHVkZSBAc3FsVG9wIHN5bnRheC9zcWwudmltCi1lbmRpZgorc3luIGluY2x1ZGUgQHNxbFRvcCBzeW50YXgvc3FsLnZpbQogc3luIHN5bmMgY2xlYXIKIHVubGV0IGI6Y3VycmVudF9zeW50YXgKIHN5biBjbHVzdGVyIHNxbFRvcCByZW1vdmU9c3FsU3RyaW5nLHNxbENvbW1lbnQKQEAgLTM4MSwxNSArMzY2LDggQEAKIGVsc2UKICAgc3luIHJlZ2lvbiAgcGhwQ29tbWVudCAgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5lZCBjb250YWlucz1waHBUb2RvLEBTcGVsbCBleHRlbmQKIGVuZGlmCi1pZiB2ZXJzaW9uID49IDYwMAotICBzeW4gbWF0Y2ggcGhwQ29tbWVudCAgIiMuXHstfVwoPz5cfCRcKVxAPSIgIGNvbnRhaW5lZCBjb250YWlucz1waHBUb2RvLEBTcGVsbAotICBzeW4gbWF0Y2ggcGhwQ29tbWVudCAgIi8vLlx7LX1cKD8+XHwkXClcQD0iIGNvbnRhaW5lZCBjb250YWlucz1waHBUb2RvLEBTcGVsbAotZWxzZQotICBzeW4gbWF0Y2ggcGhwQ29tbWVudCAgIiMuXHstfSQiIGNvbnRhaW5lZCBjb250YWlucz1waHBUb2RvLEBTcGVsbAotICBzeW4gbWF0Y2ggcGhwQ29tbWVudCAgIiMuXHstfT8+Im1lPWUtMiAgY29udGFpbmVkIGNvbnRhaW5zPXBocFRvZG8sQFNwZWxsCi0gIHN5biBtYXRjaCBwaHBDb21tZW50ICAiLy8uXHstfSQiICBjb250YWluZWQgY29udGFpbnM9cGhwVG9kbyxAU3BlbGwKLSAgc3luIG1hdGNoIHBocENvbW1lbnQgICIvLy5cey19Pz4ibWU9ZS0yIGNvbnRhaW5lZCBjb250YWlucz1waHBUb2RvLEBTcGVsbAotZW5kaWYKK3N5biBtYXRjaCBwaHBDb21tZW50ICAiIy5cey19XCg/Plx8JFwpXEA9IiAgY29udGFpbmVkIGNvbnRhaW5zPXBocFRvZG8sQFNwZWxsCitzeW4gbWF0Y2ggcGhwQ29tbWVudCAgIi8vLlx7LX1cKD8+XHwkXClcQD0iIGNvbnRhaW5lZCBjb250YWlucz1waHBUb2RvLEBTcGVsbAogCiAiIFN0cmluZwogaWYgZXhpc3RzKCJwaHBfcGFyZW50X2Vycm9yX29wZW4iKQpAQCAtNDAzLDI0ICszODEsMjIgQEAKIGVuZGlmCiAKICIgSGVyZURvYyBhbmQgTm93RG9jCi1pZiB2ZXJzaW9uID49IDYwMAotICBzeW4gY2FzZSBtYXRjaAorc3luIGNhc2UgbWF0Y2gKIAotICAiIEhlcmVEb2MKLSAgc3luIHJlZ2lvbiAgcGhwSGVyZURvYyAgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlwoPDw8XClcQDw9XChcIlw9XClceihcSVxpKlwpXDIkIiBlbmQ9Il5cejFcKDtcPSRcKVxAPSIgY29udGFpbmVkIGNvbnRhaW5zPXBocElkZW50aWZpZXIscGhwSWRlbnRpZmllclNpbXBseSxwaHBJZGVudGlmaWVyQ29tcGxleCxwaHBCYWNrc2xhc2hTZXF1ZW5jZXMscGhwTWV0aG9kc1ZhcixAU3BlbGwga2VlcGVuZCBleHRlbmQKKyIgSGVyZURvYworc3luIHJlZ2lvbiAgcGhwSGVyZURvYyAgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlwoPDw8XClcQDw9XChcIlw9XClceihcSVxpKlwpXDIkIiBlbmQ9Il5cejFcKDtcPSRcKVxAPSIgY29udGFpbmVkIGNvbnRhaW5zPXBocElkZW50aWZpZXIscGhwSWRlbnRpZmllclNpbXBseSxwaHBJZGVudGlmaWVyQ29tcGxleCxwaHBCYWNrc2xhc2hTZXF1ZW5jZXMscGhwTWV0aG9kc1ZhcixAU3BlbGwga2VlcGVuZCBleHRlbmQKICIgaW5jbHVkaW5nIEhUTUwsSmF2YVNjcmlwdCxTUUwgZXZlbiBpZiBub3QgZW5hYmxlZCB2aWEgb3B0aW9ucwotICBzeW4gcmVnaW9uICBwaHBIZXJlRG9jICBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXCg8PDxcKVxAPD1cKFwiXD1cKVx6KFwoXElcaSpcKVw9XChodG1sXClcY1woXGkqXClcKVwyJCIgZW5kPSJeXHoxXCg7XD0kXClcQD0iICBjb250YWluZWQgY29udGFpbnM9QGh0bWxUb3AscGhwSWRlbnRpZmllcixwaHBJZGVudGlmaWVyU2ltcGx5LHBocElkZW50aWZpZXJDb21wbGV4LHBocEJhY2tzbGFzaFNlcXVlbmNlcyxwaHBNZXRob2RzVmFyLEBTcGVsbCBrZWVwZW5kIGV4dGVuZAotICBzeW4gcmVnaW9uICBwaHBIZXJlRG9jICBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXCg8PDxcKVxAPD1cKFwiXD1cKVx6KFwoXElcaSpcKVw9XChzcWxcKVxjXChcaSpcKVwpXDIkIiBlbmQ9Il5cejFcKDtcPSRcKVxAPSIgY29udGFpbmVkIGNvbnRhaW5zPUBzcWxUb3AscGhwSWRlbnRpZmllcixwaHBJZGVudGlmaWVyU2ltcGx5LHBocElkZW50aWZpZXJDb21wbGV4LHBocEJhY2tzbGFzaFNlcXVlbmNlcyxwaHBNZXRob2RzVmFyLEBTcGVsbCBrZWVwZW5kIGV4dGVuZAotICBzeW4gcmVnaW9uICBwaHBIZXJlRG9jICBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXCg8PDxcKVxAPD1cKFwiXD1cKVx6KFwoXElcaSpcKVw9XChqYXZhc2NyaXB0XClcY1woXGkqXClcKVwyJCIgZW5kPSJeXHoxXCg7XD0kXClcQD0iICBjb250YWluZWQgY29udGFpbnM9QGh0bWxKYXZhc2NyaXB0LHBocElkZW50aWZpZXJTaW1wbHkscGhwSWRlbnRpZmllcixwaHBJZGVudGlmaWVyQ29tcGxleCxwaHBCYWNrc2xhc2hTZXF1ZW5jZXMscGhwTWV0aG9kc1ZhcixAU3BlbGwga2VlcGVuZCBleHRlbmQKK3N5biByZWdpb24gIHBocEhlcmVEb2MgIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcKDw8PFwpXEA8PVwoXCJcPVwpXHooXChcSVxpKlwpXD1cKGh0bWxcKVxjXChcaSpcKVwpXDIkIiBlbmQ9Il5cejFcKDtcPSRcKVxAPSIgIGNvbnRhaW5lZCBjb250YWlucz1AaHRtbFRvcCxwaHBJZGVudGlmaWVyLHBocElkZW50aWZpZXJTaW1wbHkscGhwSWRlbnRpZmllckNvbXBsZXgscGhwQmFja3NsYXNoU2VxdWVuY2VzLHBocE1ldGhvZHNWYXIsQFNwZWxsIGtlZXBlbmQgZXh0ZW5kCitzeW4gcmVnaW9uICBwaHBIZXJlRG9jICBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXCg8PDxcKVxAPD1cKFwiXD1cKVx6KFwoXElcaSpcKVw9XChzcWxcKVxjXChcaSpcKVwpXDIkIiBlbmQ9Il5cejFcKDtcPSRcKVxAPSIgY29udGFpbmVkIGNvbnRhaW5zPUBzcWxUb3AscGhwSWRlbnRpZmllcixwaHBJZGVudGlmaWVyU2ltcGx5LHBocElkZW50aWZpZXJDb21wbGV4LHBocEJhY2tzbGFzaFNlcXVlbmNlcyxwaHBNZXRob2RzVmFyLEBTcGVsbCBrZWVwZW5kIGV4dGVuZAorc3luIHJlZ2lvbiAgcGhwSGVyZURvYyAgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlwoPDw8XClcQDw9XChcIlw9XClceihcKFxJXGkqXClcPVwoamF2YXNjcmlwdFwpXGNcKFxpKlwpXClcMiQiIGVuZD0iXlx6MVwoO1w9JFwpXEA9IiAgY29udGFpbmVkIGNvbnRhaW5zPUBodG1sSmF2YXNjcmlwdCxwaHBJZGVudGlmaWVyU2ltcGx5LHBocElkZW50aWZpZXIscGhwSWRlbnRpZmllckNvbXBsZXgscGhwQmFja3NsYXNoU2VxdWVuY2VzLHBocE1ldGhvZHNWYXIsQFNwZWxsIGtlZXBlbmQgZXh0ZW5kCiAKLSAgIiBOb3dEb2MKLSAgc3luIHJlZ2lvbiAgcGhwTm93RG9jICBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXCg8PDxcKVxAPD0nXHooXElcaSpcKSckIiBlbmQ9Il5cejFcKDtcPSRcKVxAPSIgY29udGFpbmVkIGNvbnRhaW5zPUBTcGVsbCBrZWVwZW5kIGV4dGVuZAorIiBOb3dEb2MKK3N5biByZWdpb24gIHBocE5vd0RvYyAgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlwoPDw8XClcQDw9J1x6KFxJXGkqXCknJCIgZW5kPSJeXHoxXCg7XD0kXClcQD0iIGNvbnRhaW5lZCBjb250YWlucz1AU3BlbGwga2VlcGVuZCBleHRlbmQKICIgaW5jbHVkaW5nIEhUTUwsSmF2YVNjcmlwdCxTUUwgZXZlbiBpZiBub3QgZW5hYmxlZCB2aWEgb3B0aW9ucwotICBzeW4gcmVnaW9uICBwaHBOb3dEb2MgIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcKDw8PFwpXEA8PSdceihcKFxJXGkqXClcPVwoaHRtbFwpXGNcKFxpKlwpXCknJCIgZW5kPSJeXHoxXCg7XD0kXClcQD0iICBjb250YWluZWQgY29udGFpbnM9QGh0bWxUb3AsQFNwZWxsIGtlZXBlbmQgZXh0ZW5kCi0gIHN5biByZWdpb24gIHBocE5vd0RvYyAgbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlwoPDw8XClcQDw9J1x6KFwoXElcaSpcKVw9XChzcWxcKVxjXChcaSpcKVwpJyQiIGVuZD0iXlx6MVwoO1w9JFwpXEA9IiBjb250YWluZWQgY29udGFpbnM9QHNxbFRvcCxAU3BlbGwga2VlcGVuZCBleHRlbmQKLSAgc3luIHJlZ2lvbiAgcGhwTm93RG9jICBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXCg8PDxcKVxAPD0nXHooXChcSVxpKlwpXD1cKGphdmFzY3JpcHRcKVxjXChcaSpcKVwpJyQiIGVuZD0iXlx6MVwoO1w9JFwpXEA9IiAgY29udGFpbmVkIGNvbnRhaW5zPUBodG1sSmF2YXNjcmlwdCxAU3BlbGwga2VlcGVuZCBleHRlbmQKLSAgc3luIGNhc2UgaWdub3JlCi1lbmRpZgorc3luIHJlZ2lvbiAgcGhwTm93RG9jICBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXCg8PDxcKVxAPD0nXHooXChcSVxpKlwpXD1cKGh0bWxcKVxjXChcaSpcKVwpJyQiIGVuZD0iXlx6MVwoO1w9JFwpXEA9IiAgY29udGFpbmVkIGNvbnRhaW5zPUBodG1sVG9wLEBTcGVsbCBrZWVwZW5kIGV4dGVuZAorc3luIHJlZ2lvbiAgcGhwTm93RG9jICBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXCg8PDxcKVxAPD0nXHooXChcSVxpKlwpXD1cKHNxbFwpXGNcKFxpKlwpXCknJCIgZW5kPSJeXHoxXCg7XD0kXClcQD0iIGNvbnRhaW5lZCBjb250YWlucz1Ac3FsVG9wLEBTcGVsbCBrZWVwZW5kIGV4dGVuZAorc3luIHJlZ2lvbiAgcGhwTm93RG9jICBtYXRjaGdyb3VwPURlbGltaXRlciBzdGFydD0iXCg8PDxcKVxAPD0nXHooXChcSVxpKlwpXD1cKGphdmFzY3JpcHRcKVxjXChcaSpcKVwpJyQiIGVuZD0iXlx6MVwoO1w9JFwpXEA9IiAgY29udGFpbmVkIGNvbnRhaW5zPUBodG1sSmF2YXNjcmlwdCxAU3BlbGwga2VlcGVuZCBleHRlbmQKK3N5biBjYXNlIGlnbm9yZQogCiAiIFBhcmVudAogaWYgZXhpc3RzKCJwaHBfcGFyZW50X2Vycm9yX2Nsb3NlIikgfHwgZXhpc3RzKCJwaHBfcGFyZW50X2Vycm9yX29wZW4iKQpAQCAtNjIxLDgyICs1OTcsNzQgQEAKIHN5bnRheCBtYXRjaCAgcGhwRG9jVG9kbyAgIkBcKHRvZG9cfGZpeG1lXHx4eHhcKVwoXHNcK1wpXD8iIGNvbnRhaW5lZGluPXBocENvbW1lbnQKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcGhwX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3BocF9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rICAgcGhwQ29uc3RhbnQgIENvbnN0YW50Ci0gIEhpTGluayAgIHBocENvcmVDb25zdGFudCAgQ29uc3RhbnQKLSAgSGlMaW5rICAgcGhwQ29tbWVudCBDb21tZW50Ci0gIEhpTGluayAgIHBocERvY1RhZ3MgUHJlUHJvYwotICBIaUxpbmsgICBwaHBEb2NDdXN0b21UYWdzIFR5cGUKLSAgSGlMaW5rICAgcGhwRXhjZXB0aW9uIEV4Y2VwdGlvbgotICBIaUxpbmsgICBwaHBCb29sZWFuIEJvb2xlYW4KLSAgSGlMaW5rICAgcGhwU3RvcmFnZUNsYXNzICBTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rICAgcGhwU0NLZXl3b3JkIFN0b3JhZ2VDbGFzcwotICBIaUxpbmsgICBwaHBGQ0tleXdvcmQgRGVmaW5lCi0gIEhpTGluayAgIHBocFN0cnVjdHVyZSBTdHJ1Y3R1cmUKLSAgSGlMaW5rICAgcGhwU3RyaW5nU2luZ2xlICBTdHJpbmcKLSAgSGlMaW5rICAgcGhwU3RyaW5nRG91YmxlICBTdHJpbmcKLSAgSGlMaW5rICAgcGhwQmFja3RpY2sgIFN0cmluZwotICBIaUxpbmsgICBwaHBOdW1iZXIgIE51bWJlcgotICBIaUxpbmsgICBwaHBGbG9hdCBGbG9hdAotICBIaUxpbmsgICBwaHBNZXRob2RzIEZ1bmN0aW9uCi0gIEhpTGluayAgIHBocEZ1bmN0aW9ucyBGdW5jdGlvbgotICBIaUxpbmsgICBwaHBCYXNlbGliIEZ1bmN0aW9uCi0gIEhpTGluayAgIHBocFJlcGVhdCAgUmVwZWF0Ci0gIEhpTGluayAgIHBocENvbmRpdGlvbmFsIENvbmRpdGlvbmFsCi0gIEhpTGluayAgIHBocExhYmVsIExhYmVsCi0gIEhpTGluayAgIHBocFN0YXRlbWVudCBTdGF0ZW1lbnQKLSAgSGlMaW5rICAgcGhwS2V5d29yZCBTdGF0ZW1lbnQKLSAgSGlMaW5rICAgcGhwVHlwZSAgVHlwZQotICBIaUxpbmsgICBwaHBJbmNsdWRlIEluY2x1ZGUKLSAgSGlMaW5rICAgcGhwRGVmaW5lICBEZWZpbmUKLSAgSGlMaW5rICAgcGhwQmFja3NsYXNoU2VxdWVuY2VzIFNwZWNpYWxDaGFyCi0gIEhpTGluayAgIHBocEJhY2tzbGFzaERvdWJsZVF1b3RlIFNwZWNpYWxDaGFyCi0gIEhpTGluayAgIHBocEJhY2tzbGFzaFNpbmdsZVF1b3RlIFNwZWNpYWxDaGFyCi0gIEhpTGluayAgIHBocFBhcmVudCAgRGVsaW1pdGVyCi0gIEhpTGluayAgIHBocEJyYWNrZXRzICBEZWxpbWl0ZXIKLSAgSGlMaW5rICAgcGhwSWRlbnRpZmllckNvbnN0IERlbGltaXRlcgotICBIaUxpbmsgICBwaHBQYXJlbnRFcnJvciBFcnJvcgotICBIaUxpbmsgICBwaHBPY3RhbEVycm9yICBFcnJvcgotICBIaUxpbmsgICBwaHBJbnRlcnBTaW1wbGVFcnJvciBFcnJvcgotICBIaUxpbmsgICBwaHBJbnRlcnBCb2d1c0RvbGxhckN1cmxleSBFcnJvcgotICBIaUxpbmsgICBwaHBJbnRlcnBEb2xsYXJDdXJseTEgRXJyb3IKLSAgSGlMaW5rICAgcGhwSW50ZXJwRG9sbGFyQ3VybHkyIEVycm9yCi0gIEhpTGluayAgIHBocEludGVycFNpbXBsZUJyYWNrZXRzSW5uZXIgU3RyaW5nCi0gIEhpTGluayAgIHBocEludGVycFNpbXBsZUN1cmx5IERlbGltaXRlcgotICBIaUxpbmsgICBwaHBJbnRlcnBWYXJuYW1lIElkZW50aWZpZXIKLSAgSGlMaW5rICAgcGhwVG9kbyAgVG9kbwotICBIaUxpbmsgICBwaHBEb2NUb2RvIFRvZG8KLSAgSGlMaW5rICAgcGhwTWVtYmVyU2VsZWN0b3IgIFN0cnVjdHVyZQotICBpZiBleGlzdHMoInBocF9vbGRTdHlsZSIpCi0gIGhpICBwaHBJbnRWYXIgZ3VpZmc9UmVkIGN0ZXJtZmc9RGFya1JlZAotICBoaSAgcGhwRW52VmFyIGd1aWZnPVJlZCBjdGVybWZnPURhcmtSZWQKLSAgaGkgIHBocE9wZXJhdG9yIGd1aWZnPVNlYUdyZWVuIGN0ZXJtZmc9RGFya0dyZWVuCi0gIGhpICBwaHBWYXJTZWxlY3RvciBndWlmZz1TZWFHcmVlbiBjdGVybWZnPURhcmtHcmVlbgotICBoaSAgcGhwUmVsYXRpb24gZ3VpZmc9U2VhR3JlZW4gY3Rlcm1mZz1EYXJrR3JlZW4KLSAgaGkgIHBocElkZW50aWZpZXIgZ3VpZmc9RGFya0dyYXkgY3Rlcm1mZz1Ccm93bgotICBoaSAgcGhwSWRlbnRpZmllclNpbXBseSBndWlmZz1EYXJrR3JheSBjdGVybWZnPUJyb3duCi0gIGVsc2UKLSAgSGlMaW5rICAgcGhwSW50VmFyIElkZW50aWZpZXIKLSAgSGlMaW5rICAgcGhwRW52VmFyIElkZW50aWZpZXIKLSAgSGlMaW5rICAgcGhwT3BlcmF0b3IgT3BlcmF0b3IKLSAgSGlMaW5rICAgcGhwVmFyU2VsZWN0b3IgIE9wZXJhdG9yCi0gIEhpTGluayAgIHBocFJlbGF0aW9uIE9wZXJhdG9yCi0gIEhpTGluayAgIHBocElkZW50aWZpZXIgSWRlbnRpZmllcgotICBIaUxpbmsgICBwaHBJZGVudGlmaWVyU2ltcGx5IElkZW50aWZpZXIKLSAgZW5kaWYKLQotICBkZWxjb21tYW5kIEhpTGluaworSGlMaW5rICAgcGhwQ29uc3RhbnQgIENvbnN0YW50CitIaUxpbmsgICBwaHBDb3JlQ29uc3RhbnQgIENvbnN0YW50CitIaUxpbmsgICBwaHBDb21tZW50IENvbW1lbnQKK0hpTGluayAgIHBocERvY1RhZ3MgUHJlUHJvYworSGlMaW5rICAgcGhwRG9jQ3VzdG9tVGFncyBUeXBlCitIaUxpbmsgICBwaHBFeGNlcHRpb24gRXhjZXB0aW9uCitIaUxpbmsgICBwaHBCb29sZWFuIEJvb2xlYW4KK0hpTGluayAgIHBocFN0b3JhZ2VDbGFzcyAgU3RvcmFnZUNsYXNzCitIaUxpbmsgICBwaHBTQ0tleXdvcmQgU3RvcmFnZUNsYXNzCitIaUxpbmsgICBwaHBGQ0tleXdvcmQgRGVmaW5lCitIaUxpbmsgICBwaHBTdHJ1Y3R1cmUgU3RydWN0dXJlCitIaUxpbmsgICBwaHBTdHJpbmdTaW5nbGUgIFN0cmluZworSGlMaW5rICAgcGhwU3RyaW5nRG91YmxlICBTdHJpbmcKK0hpTGluayAgIHBocEJhY2t0aWNrICBTdHJpbmcKK0hpTGluayAgIHBocE51bWJlciAgTnVtYmVyCitIaUxpbmsgICBwaHBGbG9hdCBGbG9hdAorSGlMaW5rICAgcGhwTWV0aG9kcyBGdW5jdGlvbgorSGlMaW5rICAgcGhwRnVuY3Rpb25zIEZ1bmN0aW9uCitIaUxpbmsgICBwaHBCYXNlbGliIEZ1bmN0aW9uCitIaUxpbmsgICBwaHBSZXBlYXQgIFJlcGVhdAorSGlMaW5rICAgcGhwQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKK0hpTGluayAgIHBocExhYmVsIExhYmVsCitIaUxpbmsgICBwaHBTdGF0ZW1lbnQgU3RhdGVtZW50CitIaUxpbmsgICBwaHBLZXl3b3JkIFN0YXRlbWVudAorSGlMaW5rICAgcGhwVHlwZSAgVHlwZQorSGlMaW5rICAgcGhwSW5jbHVkZSBJbmNsdWRlCitIaUxpbmsgICBwaHBEZWZpbmUgIERlZmluZQorSGlMaW5rICAgcGhwQmFja3NsYXNoU2VxdWVuY2VzIFNwZWNpYWxDaGFyCitIaUxpbmsgICBwaHBCYWNrc2xhc2hEb3VibGVRdW90ZSBTcGVjaWFsQ2hhcgorSGlMaW5rICAgcGhwQmFja3NsYXNoU2luZ2xlUXVvdGUgU3BlY2lhbENoYXIKK0hpTGluayAgIHBocFBhcmVudCAgRGVsaW1pdGVyCitIaUxpbmsgICBwaHBCcmFja2V0cyAgRGVsaW1pdGVyCitIaUxpbmsgICBwaHBJZGVudGlmaWVyQ29uc3QgRGVsaW1pdGVyCitIaUxpbmsgICBwaHBQYXJlbnRFcnJvciBFcnJvcgorSGlMaW5rICAgcGhwT2N0YWxFcnJvciAgRXJyb3IKK0hpTGluayAgIHBocEludGVycFNpbXBsZUVycm9yIEVycm9yCitIaUxpbmsgICBwaHBJbnRlcnBCb2d1c0RvbGxhckN1cmxleSBFcnJvcgorSGlMaW5rICAgcGhwSW50ZXJwRG9sbGFyQ3VybHkxIEVycm9yCitIaUxpbmsgICBwaHBJbnRlcnBEb2xsYXJDdXJseTIgRXJyb3IKK0hpTGluayAgIHBocEludGVycFNpbXBsZUJyYWNrZXRzSW5uZXIgU3RyaW5nCitIaUxpbmsgICBwaHBJbnRlcnBTaW1wbGVDdXJseSBEZWxpbWl0ZXIKK0hpTGluayAgIHBocEludGVycFZhcm5hbWUgSWRlbnRpZmllcgorSGlMaW5rICAgcGhwVG9kbyAgVG9kbworSGlMaW5rICAgcGhwRG9jVG9kbyBUb2RvCitIaUxpbmsgICBwaHBNZW1iZXJTZWxlY3RvciAgU3RydWN0dXJlCitpZiBleGlzdHMoInBocF9vbGRTdHlsZSIpCitoaSAgcGhwSW50VmFyIGd1aWZnPVJlZCBjdGVybWZnPURhcmtSZWQKK2hpICBwaHBFbnZWYXIgZ3VpZmc9UmVkIGN0ZXJtZmc9RGFya1JlZAoraGkgIHBocE9wZXJhdG9yIGd1aWZnPVNlYUdyZWVuIGN0ZXJtZmc9RGFya0dyZWVuCitoaSAgcGhwVmFyU2VsZWN0b3IgZ3VpZmc9U2VhR3JlZW4gY3Rlcm1mZz1EYXJrR3JlZW4KK2hpICBwaHBSZWxhdGlvbiBndWlmZz1TZWFHcmVlbiBjdGVybWZnPURhcmtHcmVlbgoraGkgIHBocElkZW50aWZpZXIgZ3VpZmc9RGFya0dyYXkgY3Rlcm1mZz1Ccm93bgoraGkgIHBocElkZW50aWZpZXJTaW1wbHkgZ3VpZmc9RGFya0dyYXkgY3Rlcm1mZz1Ccm93bgorZWxzZQorSGlMaW5rICAgcGhwSW50VmFyIElkZW50aWZpZXIKK0hpTGluayAgIHBocEVudlZhciBJZGVudGlmaWVyCitIaUxpbmsgICBwaHBPcGVyYXRvciBPcGVyYXRvcgorSGlMaW5rICAgcGhwVmFyU2VsZWN0b3IgIE9wZXJhdG9yCitIaUxpbmsgICBwaHBSZWxhdGlvbiBPcGVyYXRvcgorSGlMaW5rICAgcGhwSWRlbnRpZmllciBJZGVudGlmaWVyCitIaUxpbmsgICBwaHBJZGVudGlmaWVyU2ltcGx5IElkZW50aWZpZXIKIGVuZGlmCiAKK2RlbGNvbW1hbmQgSGlMaW5rCisKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInBocCIKIAogaWYgbWFpbl9zeW50YXggPT0gJ3BocCcKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BpYy52aW0gYi9ydW50aW1lL3N5bnRheC9waWMudmltCmluZGV4IGFkYzk2NGUuLmI5ODk4NGUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3BpYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcGljLnZpbQpAQCAtNSwxMSArNSw4IEBACiAiIFVSTDoJCWh0dHA6Ly9nYWxlYi5ldGYuYmcuYWMueXUvfmFsZXhhL3ZpbS9zeW50YXgvcGljLnZpbQogIiBSZXZpc2lvbjogICAgIDEuMDEKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTkxLDM2ICs4OCwyOCBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3BpYzE2Zjg0X3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3BpYzE2Zjg0X3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgcGljVG9kbwkJVG9kbwotICBIaUxpbmsgcGljQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgcGljRGlyZWN0aXZlCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHBpY0xhYmVsCQlMYWJlbAotICBIaUxpbmsgcGljU3RyaW5nCQlTdHJpbmcKK0hpTGluayBwaWNUb2RvCQlUb2RvCitIaUxpbmsgcGljQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIHBpY0RpcmVjdGl2ZQkJU3RhdGVtZW50CitIaUxpbmsgcGljTGFiZWwJCUxhYmVsCitIaUxpbmsgcGljU3RyaW5nCQlTdHJpbmcKIAotICJIaUxpbmsgcGljT3Bjb2RlCQlLZXl3b3JkCi0gIkhpTGluayBwaWNSZWdpc3RlcgkJU3RydWN0dXJlCi0gIkhpTGluayBwaWNSZWdpc3RlclBhcnQJU3BlY2lhbAorIkhpTGluayBwaWNPcGNvZGUJCUtleXdvcmQKKyJIaUxpbmsgcGljUmVnaXN0ZXIJCVN0cnVjdHVyZQorIkhpTGluayBwaWNSZWdpc3RlclBhcnQJU3BlY2lhbAogCi0gIEhpTGluayBwaWNBU0NJSQkJU3RyaW5nCi0gIEhpTGluayBwaWNCaW5hcnkJCU51bWJlcgotICBIaUxpbmsgcGljRGVjaW1hbAkJTnVtYmVyCi0gIEhpTGluayBwaWNIZXhhZGVjaW1hbAkJTnVtYmVyCi0gIEhpTGluayBwaWNPY3RhbAkJTnVtYmVyCitIaUxpbmsgcGljQVNDSUkJCVN0cmluZworSGlMaW5rIHBpY0JpbmFyeQkJTnVtYmVyCitIaUxpbmsgcGljRGVjaW1hbAkJTnVtYmVyCitIaUxpbmsgcGljSGV4YWRlY2ltYWwJCU51bWJlcgorSGlMaW5rIHBpY09jdGFsCQlOdW1iZXIKIAotICBIaUxpbmsgcGljSWRlbnRpZmllcgkJSWRlbnRpZmllcgorSGlMaW5rIHBpY0lkZW50aWZpZXIJCUlkZW50aWZpZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInBpYyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcGlrZS52aW0gYi9ydW50aW1lL3N5bnRheC9waWtlLnZpbQppbmRleCBlZmJhZmQ1Li5kY2YzMjExIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9waWtlLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9waWtlLnZpbQpAQCAtMywxMSArMyw4IEBACiAiIE1haW50YWluZXI6CUZyYW5jZXNjbyBDaGVtb2xsaSA8a2lua2llQGthbWUudXNyLmRzaS51bmltaS5pdD4KICIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDEwCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMDQsNTEgKzEwMSw0MyBAQAogc3luIHN5bmMgY2NvbW1lbnQgcGlrZUNvbW1lbnQgbWlubGluZXM9MTAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcGlrZV9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9waWtlX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgcGlrZUxhYmVsCQlMYWJlbAotICBIaUxpbmsgcGlrZVVzZXJMYWJlbAkJTGFiZWwKLSAgSGlMaW5rIHBpa2VDb25kaXRpb25hbAlDb25kaXRpb25hbAotICBIaUxpbmsgcGlrZVJlcGVhdAkJUmVwZWF0Ci0gIEhpTGluayBwaWtlQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKLSAgSGlMaW5rIHBpa2VTcGVjaWFsQ2hhcmFjdGVyIHBpa2VTcGVjaWFsCi0gIEhpTGluayBwaWtlTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIHBpa2VGbG9hdAkJRmxvYXQKLSAgSGlMaW5rIHBpa2VPY3RhbEVycm9yCQlwaWtlRXJyb3IKLSAgSGlMaW5rIHBpa2VQYXJlbkVycm9yCQlwaWtlRXJyb3IKLSAgSGlMaW5rIHBpa2VJblBhcmVuCQlwaWtlRXJyb3IKLSAgSGlMaW5rIHBpa2VDb21tZW50RXJyb3IJcGlrZUVycm9yCi0gIEhpTGluayBwaWtlT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayBwaWtlSW5jbHVkZQkJSW5jbHVkZQotICBIaUxpbmsgcGlrZVByZVByb2MJCVByZVByb2MKLSAgSGlMaW5rIHBpa2VEZWZpbmUJCU1hY3JvCi0gIEhpTGluayBwaWtlSW5jbHVkZWQJCXBpa2VTdHJpbmcKLSAgSGlMaW5rIHBpa2VFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIHBpa2VTdGF0ZW1lbnQJCVN0YXRlbWVudAotICBIaUxpbmsgcGlrZVByZUNvbmRpdAkJUHJlQ29uZGl0Ci0gIEhpTGluayBwaWtlVHlwZQkJVHlwZQotICBIaUxpbmsgcGlrZUNvbW1lbnRFcnJvcglwaWtlRXJyb3IKLSAgSGlMaW5rIHBpa2VDb21tZW50U3RyaW5nCXBpa2VTdHJpbmcKLSAgSGlMaW5rIHBpa2VDb21tZW50MlN0cmluZwlwaWtlU3RyaW5nCi0gIEhpTGluayBwaWtlQ29tbWVudFNraXAJcGlrZUNvbW1lbnQKLSAgSGlMaW5rIHBpa2VTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgcGlrZUNvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIHBpa2VTcGVjaWFsCQlTcGVjaWFsQ2hhcgotICBIaUxpbmsgcGlrZVRvZG8JCVRvZG8KLSAgSGlMaW5rIHBpa2VFeGNlcHRpb24JCXBpa2VTdGF0ZW1lbnQKLSAgSGlMaW5rIHBpa2VDb21wb3VuZFR5cGUJQ29uc3RhbnQKLSAgIkhpTGluayBwaWtlSWRlbnRpZmllcglJZGVudGlmaWVyCitIaUxpbmsgcGlrZUxhYmVsCQlMYWJlbAorSGlMaW5rIHBpa2VVc2VyTGFiZWwJCUxhYmVsCitIaUxpbmsgcGlrZUNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCitIaUxpbmsgcGlrZVJlcGVhdAkJUmVwZWF0CitIaUxpbmsgcGlrZUNoYXJhY3RlcgkJQ2hhcmFjdGVyCitIaUxpbmsgcGlrZVNwZWNpYWxDaGFyYWN0ZXIgcGlrZVNwZWNpYWwKK0hpTGluayBwaWtlTnVtYmVyCQlOdW1iZXIKK0hpTGluayBwaWtlRmxvYXQJCUZsb2F0CitIaUxpbmsgcGlrZU9jdGFsRXJyb3IJCXBpa2VFcnJvcgorSGlMaW5rIHBpa2VQYXJlbkVycm9yCQlwaWtlRXJyb3IKK0hpTGluayBwaWtlSW5QYXJlbgkJcGlrZUVycm9yCitIaUxpbmsgcGlrZUNvbW1lbnRFcnJvcglwaWtlRXJyb3IKK0hpTGluayBwaWtlT3BlcmF0b3IJCU9wZXJhdG9yCitIaUxpbmsgcGlrZUluY2x1ZGUJCUluY2x1ZGUKK0hpTGluayBwaWtlUHJlUHJvYwkJUHJlUHJvYworSGlMaW5rIHBpa2VEZWZpbmUJCU1hY3JvCitIaUxpbmsgcGlrZUluY2x1ZGVkCQlwaWtlU3RyaW5nCitIaUxpbmsgcGlrZUVycm9yCQlFcnJvcgorSGlMaW5rIHBpa2VTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIHBpa2VQcmVDb25kaXQJCVByZUNvbmRpdAorSGlMaW5rIHBpa2VUeXBlCQlUeXBlCitIaUxpbmsgcGlrZUNvbW1lbnRFcnJvcglwaWtlRXJyb3IKK0hpTGluayBwaWtlQ29tbWVudFN0cmluZwlwaWtlU3RyaW5nCitIaUxpbmsgcGlrZUNvbW1lbnQyU3RyaW5nCXBpa2VTdHJpbmcKK0hpTGluayBwaWtlQ29tbWVudFNraXAJcGlrZUNvbW1lbnQKK0hpTGluayBwaWtlU3RyaW5nCQlTdHJpbmcKK0hpTGluayBwaWtlQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIHBpa2VTcGVjaWFsCQlTcGVjaWFsQ2hhcgorSGlMaW5rIHBpa2VUb2RvCQlUb2RvCitIaUxpbmsgcGlrZUV4Y2VwdGlvbgkJcGlrZVN0YXRlbWVudAorSGlMaW5rIHBpa2VDb21wb3VuZFR5cGUJQ29uc3RhbnQKKyJIaUxpbmsgcGlrZUlkZW50aWZpZXIJSWRlbnRpZmllcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAicGlrZSIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcGlscmMudmltIGIvcnVudGltZS9zeW50YXgvcGlscmMudmltCmluZGV4IDg2ZDU2MTEuLmMxZDMyODggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3BpbHJjLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9waWxyYy52aW0KQEAgLTQsMTAgKzQsOCBAQAogIiBMYXN0IGNoYW5nZToJMjAwMyBNYXkgMTEKICIgQXZhaWxhYmxlIG9uOglodHRwOi8vd3d3LnNjaGF1LmNvbS9waWxyY3ZpbS9waWxyYy52aW0KIAotIiBSZW1vdmUgYW55IG9sZCBzeW50YXgKLWlmIHZlcnNpb24gPCA2MDAKLQlzeW4gY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAJZmluaXNoCiBlbmRpZgogCkBAIC0xMTksMzAgKzExNywyMiBAQAogCiBzeW4gc3luYyBjY29tbWVudCBwaWxyY0NvbW1lbnQKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3BpbHJjX3N5bnRheF9pbml0cyIpCi0JaWYgdmVyc2lvbiA8IDUwOAotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotCWVsc2UKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0JZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0JbGV0IGRpZF9waWxyY19zeW50YXhfaW5pdHMgPSAxCisiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZworSGlMaW5rIHBpbHJjS2V5d29yZAkJU3RhdGVtZW50CitIaUxpbmsgcGlscmNUeXBlCQlUeXBlCitIaUxpbmsgcGlscmNFcnJvcgkJRXJyb3IKK0hpTGluayBwaWxyY0NvdW50cnkJCVNwZWNpYWxDaGFyCitIaUxpbmsgcGlscmNMYW5ndWFnZQkJU3BlY2lhbENoYXIKK0hpTGluayBwaWxyY1N0cmluZwkJU3BlY2lhbENoYXIKK0hpTGluayBwaWxyY051bWJlcgkJTnVtYmVyCitIaUxpbmsgcGlscmNDb21tZW50CQlDb21tZW50CitIaUxpbmsgcGlscmNDb25zdGFudAkJQ29uc3RhbnQKK0hpTGluayBwaWxyY0Z1bmN0aW9uCQlGdW5jdGlvbgorSGlMaW5rIHBpbHJjSW5jbHVkZQkJU3BlY2lhbENoYXIKK0hpTGluayBwaWxyY0lkZW50aWZpZXIJCU51bWJlcgogCi0JIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcKLQlIaUxpbmsgcGlscmNLZXl3b3JkCQlTdGF0ZW1lbnQKLQlIaUxpbmsgcGlscmNUeXBlCQlUeXBlCi0JSGlMaW5rIHBpbHJjRXJyb3IJCUVycm9yCi0JSGlMaW5rIHBpbHJjQ291bnRyeQkJU3BlY2lhbENoYXIKLQlIaUxpbmsgcGlscmNMYW5ndWFnZQkJU3BlY2lhbENoYXIKLQlIaUxpbmsgcGlscmNTdHJpbmcJCVNwZWNpYWxDaGFyCi0JSGlMaW5rIHBpbHJjTnVtYmVyCQlOdW1iZXIKLQlIaUxpbmsgcGlscmNDb21tZW50CQlDb21tZW50Ci0JSGlMaW5rIHBpbHJjQ29uc3RhbnQJCUNvbnN0YW50Ci0JSGlMaW5rIHBpbHJjRnVuY3Rpb24JCUZ1bmN0aW9uCi0JSGlMaW5rIHBpbHJjSW5jbHVkZQkJU3BlY2lhbENoYXIKLQlIaUxpbmsgcGlscmNJZGVudGlmaWVyCQlOdW1iZXIKLQotCWRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAicGlscmMiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9waW5lLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BpbmUudmltCmluZGV4IDRjNjRiOWIuLmU0MWRkODcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3BpbmUudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3BpbmUudmltCkBAIC0zLDE5ICszLDEyIEBACiAiIE1haW50YWluZXI6CURhdmlkIFBhc2NvZSA8cGFzY29lZGpAc3BhbWNvcC5uZXQ+CiAiIExhc3QgQ2hhbmdlOglUaHUgRmViIDI3IDEwOjE4OjQ4IFdTVCAyMDAzLCB1cGRhdGUgZm9yIHBpbmUgNC41MwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotaWYgdmVyc2lvbiA+PSA2MDAKLSAgc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsXywxMjgtMTY3LDIyNC0yMzUsLQotZWxzZQotICBzZXQgaXNrZXl3b3JkPUAsNDgtNTcsXywxMjgtMTY3LDIyNC0yMzUsLQotZW5kaWYKK3NldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sMTI4LTE2NywyMjQtMjM1LC0KIAogc3luIGtleXdvcmQgcGluZUNvbmZpZyBhZGRyYm9vay1zb3J0LXJ1bGUKIHN5biBrZXl3b3JkIHBpbmVDb25maWcgYWRkcmVzcy1ib29rCkBAIC0zNTEsMjEgKzM0NCwxMyBAQAogc3luIG1hdGNoICBwaW5lQ29tbWVudCAgIl4jLiokIgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9waW5lX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3BpbmVfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBwaW5lQ29uZmlnCVR5cGUKLSAgSGlMaW5rIHBpbmVDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIHBpbmVPcHRpb24JTWFjcm8KLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitIaUxpbmsgcGluZUNvbmZpZwlUeXBlCitIaUxpbmsgcGluZUNvbW1lbnQJQ29tbWVudAorSGlMaW5rIHBpbmVPcHRpb24JTWFjcm8KK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInBpbmUiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BsaS52aW0gYi9ydW50aW1lL3N5bnRheC9wbGkudmltCmluZGV4IGY4ZDdlNTEuLjljNzRmOWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3BsaS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcGxpLnZpbQpAQCAtMyw5ICszLDggQEAKICIgdXNpbmcga2V5d29yZHMgZnJvbSBodHRwOi8vd3d3LmtlZG5vcy5jb20vcGxpL2RvY3MvcmVmZXJlbmNlX21hbnVhbC82MjkxcHJvX2NvbnRlbnRzLmh0bWwKICIgICAgMjAxMi0xMS0xMyBBbGFuIFRob21wc29uCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICAgZmluaXNoCiBlbmRpZgogCkBAIC0yMjIsNTcgKzIyMSw0OCBAQAogc3luIHN5bmMgbWlubGluZXM9MTAgbWF4bGluZXM9MTAwCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS54IGFuZCBlYXJsaWVyLCBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeS4KLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlciwgb25seSB3aGVuIGFuZCBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcKLSIgeWV0LgotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3BsMV9zeW5faW5pdHMiKQotICAgIGlmIHZlcnNpb24gPCA1MDgKLSAgICAgICAgbGV0IGRpZF9wbDFfc3luX2luaXRzID0gMQotICAgICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgIGVsc2UKLSAgICAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gICAgZW5kaWYKKyIgT25seSB3aGVuIGFuZCBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0LgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgICBIaUxpbmsgcGwxQXR0cmlidXRlICAgICAgIE1hY3JvCi0gICAgSGlMaW5rIHBsMUJsb2NrRXJyb3IgICAgICBFcnJvcgotICAgIEhpTGluayBwbDFCb29sZWFuTGl0ZXJhbCAgQm9vbGVhbgotICAgIEhpTGluayBwbDFDaGFyTGl0ZXJhbCAgICAgQ2hhcmFjdGVyCi0gICAgSGlMaW5rIHBsMUNvbW1lbnQgICAgICAgICBDb21tZW50Ci0gICAgSGlMaW5rIHBsMUNvbW1lbnRMICAgICAgICBDb21tZW50Ci0gICAgSGlMaW5rIHBsMUNvbmRpdGlvbmFsICAgICBDb25kaXRpb25hbAotICAgIEhpTGluayBwbDFFcnJvciAgICAgICAgICAgRXJyb3IKLSAgICBIaUxpbmsgcGwxRXJySW5CcmFja2V0ICAgIEVycm9yCi0gICAgSGlMaW5rIHBsMUVyckluQmxvY2sgICAgICBFcnJvcgotICAgIEhpTGluayBwbDFFcnJJblBhcmVuICAgICAgRXJyb3IKLSAgICBIaUxpbmsgcGwxRXhjZXB0aW9uICAgICAgIEZ1bmN0aW9uCi0gICAgSGlMaW5rIHBsMUZsb2F0TGl0ZXJhbCAgICBGbG9hdAotICAgIEhpTGluayBwbDFGdW5jdGlvbiAgICAgICAgRnVuY3Rpb24KLSAgICBIaUxpbmsgcGwxR2FyYmFnZSAgICAgICAgIEVycm9yCi0gICAgSGlMaW5rIHBsMUhvc3RJZGVudGlmaWVyICBMYWJlbAotICAgIEhpTGluayBwbDFJZGVudGlmaWVyICAgICAgTm9ybWFsCi0gICAgSGlMaW5rIHBsMUludExpdGVyYWwgICAgICBOdW1iZXIKLSAgICBIaUxpbmsgcGwxT3BlcmF0b3IgICAgICAgIE9wZXJhdG9yCi0gICAgSGlMaW5rIHBsMVBhcmVuICAgICAgICAgICBOb3JtYWwKLSAgICBIaUxpbmsgcGwxUGFyZW5FcnJvciAgICAgIEVycm9yCi0gICAgSGlMaW5rIHBsMVNwYWNlRXJyb3IgICAgICBFcnJvcgotICAgIEhpTGluayBwbDFQc2V1ZG8gICAgICAgICAgUHJlUHJvYwotICAgIEhpTGluayBwbDFQcmVQcm9jICAgICAgICAgUHJlUHJvYwotICAgIEhpTGluayBwbDFQcmVQcm9jU3ltICAgICAgUHJlUHJvYwotICAgIEhpTGluayBwbDFLZXl3b3JkICAgICAgICAgS2V5d29yZAotICAgIEhpTGluayBwbDFPdGhlciAgICAgICAgICAgS2V5d29yZAotICAgIEhpTGluayBwbDFSZXBlYXQgICAgICAgICAgUmVwZWF0Ci0gICAgSGlMaW5rIHBsMVN0YXRlbWVudCAgICAgICBLZXl3b3JkCi0gICAgSGlMaW5rIHBsMVN0b3JhZ2UgICAgICAgICBTdG9yYWdlQ2xhc3MKLSAgICBIaUxpbmsgcGwxU3RyaW5nRXJyb3IgICAgIEVycm9yCi0gICAgSGlMaW5rIHBsMVN0cmluZ0xpdGVyYWwgICBTdHJpbmcKLSAgICBIaUxpbmsgcGwxQ29tbWVudFN0cmluZyAgIFN0cmluZwotICAgIEhpTGluayBwbDFDb21tZW50MlN0cmluZyAgU3RyaW5nCi0gICAgSGlMaW5rIHBsMVN5bWJvbCAgICAgICAgICBOb3JtYWwKLSAgICBIaUxpbmsgcGwxVHJpZ2dlciAgICAgICAgIEZ1bmN0aW9uCi0gICAgSGlMaW5rIHBsMVR5cGVBdHRyaWJ1dGUgICBTdG9yYWdlQ2xhc3MKLSAgICBIaUxpbmsgcGwxVG9kbyAgICAgICAgICAgIFRvZG8KK0hpTGluayBwbDFBdHRyaWJ1dGUgICAgICAgTWFjcm8KK0hpTGluayBwbDFCbG9ja0Vycm9yICAgICAgRXJyb3IKK0hpTGluayBwbDFCb29sZWFuTGl0ZXJhbCAgQm9vbGVhbgorSGlMaW5rIHBsMUNoYXJMaXRlcmFsICAgICBDaGFyYWN0ZXIKK0hpTGluayBwbDFDb21tZW50ICAgICAgICAgQ29tbWVudAorSGlMaW5rIHBsMUNvbW1lbnRMICAgICAgICBDb21tZW50CitIaUxpbmsgcGwxQ29uZGl0aW9uYWwgICAgIENvbmRpdGlvbmFsCitIaUxpbmsgcGwxRXJyb3IgICAgICAgICAgIEVycm9yCitIaUxpbmsgcGwxRXJySW5CcmFja2V0ICAgIEVycm9yCitIaUxpbmsgcGwxRXJySW5CbG9jayAgICAgIEVycm9yCitIaUxpbmsgcGwxRXJySW5QYXJlbiAgICAgIEVycm9yCitIaUxpbmsgcGwxRXhjZXB0aW9uICAgICAgIEZ1bmN0aW9uCitIaUxpbmsgcGwxRmxvYXRMaXRlcmFsICAgIEZsb2F0CitIaUxpbmsgcGwxRnVuY3Rpb24gICAgICAgIEZ1bmN0aW9uCitIaUxpbmsgcGwxR2FyYmFnZSAgICAgICAgIEVycm9yCitIaUxpbmsgcGwxSG9zdElkZW50aWZpZXIgIExhYmVsCitIaUxpbmsgcGwxSWRlbnRpZmllciAgICAgIE5vcm1hbAorSGlMaW5rIHBsMUludExpdGVyYWwgICAgICBOdW1iZXIKK0hpTGluayBwbDFPcGVyYXRvciAgICAgICAgT3BlcmF0b3IKK0hpTGluayBwbDFQYXJlbiAgICAgICAgICAgTm9ybWFsCitIaUxpbmsgcGwxUGFyZW5FcnJvciAgICAgIEVycm9yCitIaUxpbmsgcGwxU3BhY2VFcnJvciAgICAgIEVycm9yCitIaUxpbmsgcGwxUHNldWRvICAgICAgICAgIFByZVByb2MKK0hpTGluayBwbDFQcmVQcm9jICAgICAgICAgUHJlUHJvYworSGlMaW5rIHBsMVByZVByb2NTeW0gICAgICBQcmVQcm9jCitIaUxpbmsgcGwxS2V5d29yZCAgICAgICAgIEtleXdvcmQKK0hpTGluayBwbDFPdGhlciAgICAgICAgICAgS2V5d29yZAorSGlMaW5rIHBsMVJlcGVhdCAgICAgICAgICBSZXBlYXQKK0hpTGluayBwbDFTdGF0ZW1lbnQgICAgICAgS2V5d29yZAorSGlMaW5rIHBsMVN0b3JhZ2UgICAgICAgICBTdG9yYWdlQ2xhc3MKK0hpTGluayBwbDFTdHJpbmdFcnJvciAgICAgRXJyb3IKK0hpTGluayBwbDFTdHJpbmdMaXRlcmFsICAgU3RyaW5nCitIaUxpbmsgcGwxQ29tbWVudFN0cmluZyAgIFN0cmluZworSGlMaW5rIHBsMUNvbW1lbnQyU3RyaW5nICBTdHJpbmcKK0hpTGluayBwbDFTeW1ib2wgICAgICAgICAgTm9ybWFsCitIaUxpbmsgcGwxVHJpZ2dlciAgICAgICAgIEZ1bmN0aW9uCitIaUxpbmsgcGwxVHlwZUF0dHJpYnV0ZSAgIFN0b3JhZ2VDbGFzcworSGlMaW5rIHBsMVRvZG8gICAgICAgICAgICBUb2RvCiAKLSAgICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInBsMSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BsbS52aW0gYi9ydW50aW1lL3N5bnRheC9wbG0udmltCmluZGV4IGJmN2MzMmYuLmRlODA2YjMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3BsbS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcGxtLnZpbQpAQCAtMywxMSArMyw4IEBACiAiIE1haW50YWluZXI6CVBoaWxpcHBlIENvdWxvbmdlcyA8Y3BoaWxAY3BoaWwubmV0PgogIiBMYXN0IGNoYW5nZToJMjAwMyBNYXkgMTEKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTEwMyw0MyArMTAwLDM1IEBACiBzeW4gc3luYyBsaW5lcz01MAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9wbG1fc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcGxtX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKICIgIEhpTGluayBwbG1MYWJlbAkJCUxhYmVsCiAiICBIaUxpbmsgcGxtQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCiAiICBIaUxpbmsgcGxtUmVwZWF0CQkJUmVwZWF0Ci0gIEhpTGluayBwbG1Ub2RvCQkJVG9kbwotICBIaUxpbmsgcGxtTnVtYmVyCQkJTnVtYmVyCi0gIEhpTGluayBwbG1PcGVyYXRvcgkJCU9wZXJhdG9yCi0gIEhpTGluayBwbG1EZWxpbWl0ZXIJCQlPcGVyYXRvcgotICAiSGlMaW5rIHBsbVNob3dUYWIJCQlFcnJvcgotICAiSGlMaW5rIHBsbVNob3dUYWJjCQkJRXJyb3IKLSAgSGlMaW5rIHBsbUlkZW50aWZpZXIJCQlJZGVudGlmaWVyCi0gIEhpTGluayBwbG1CdWlsdEluCQkJU3RhdGVtZW50Ci0gIEhpTGluayBwbG0yODZCdWlsdEluCQkJU3RhdGVtZW50Ci0gIEhpTGluayBwbG0zODZCdWlsdEluCQkJU3RhdGVtZW50Ci0gIEhpTGluayBwbG0zODZ3MTZCdWlsdEluCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHBsbVJlc2VydmVkCQkJU3RhdGVtZW50Ci0gIEhpTGluayBwbG0zODZSZXNlcnZlZAkJCVN0YXRlbWVudAotICBIaUxpbmsgcGxtUHJlUHJvYwkJCVByZVByb2MKLSAgSGlMaW5rIHBsbUNvbW1lbnRFcnJvcgkJcGxtRXJyb3IKLSAgSGlMaW5rIHBsbUNvbW1lbnRTdHJpbmcJCXBsbVN0cmluZwotICBIaUxpbmsgcGxtQ29tbWVudDJTdHJpbmcJCXBsbVN0cmluZwotICBIaUxpbmsgcGxtQ29tbWVudFNraXAJCQlwbG1Db21tZW50Ci0gIEhpTGluayBwbG1TdHJpbmcJCQlTdHJpbmcKLSAgSGlMaW5rIHBsbUNvbW1lbnQJCQlDb21tZW50CitIaUxpbmsgcGxtVG9kbwkJCVRvZG8KK0hpTGluayBwbG1OdW1iZXIJCQlOdW1iZXIKK0hpTGluayBwbG1PcGVyYXRvcgkJCU9wZXJhdG9yCitIaUxpbmsgcGxtRGVsaW1pdGVyCQkJT3BlcmF0b3IKKyJIaUxpbmsgcGxtU2hvd1RhYgkJCUVycm9yCisiSGlMaW5rIHBsbVNob3dUYWJjCQkJRXJyb3IKK0hpTGluayBwbG1JZGVudGlmaWVyCQkJSWRlbnRpZmllcgorSGlMaW5rIHBsbUJ1aWx0SW4JCQlTdGF0ZW1lbnQKK0hpTGluayBwbG0yODZCdWlsdEluCQkJU3RhdGVtZW50CitIaUxpbmsgcGxtMzg2QnVpbHRJbgkJCVN0YXRlbWVudAorSGlMaW5rIHBsbTM4NncxNkJ1aWx0SW4JCVN0YXRlbWVudAorSGlMaW5rIHBsbVJlc2VydmVkCQkJU3RhdGVtZW50CitIaUxpbmsgcGxtMzg2UmVzZXJ2ZWQJCQlTdGF0ZW1lbnQKK0hpTGluayBwbG1QcmVQcm9jCQkJUHJlUHJvYworSGlMaW5rIHBsbUNvbW1lbnRFcnJvcgkJcGxtRXJyb3IKK0hpTGluayBwbG1Db21tZW50U3RyaW5nCQlwbG1TdHJpbmcKK0hpTGluayBwbG1Db21tZW50MlN0cmluZwkJcGxtU3RyaW5nCitIaUxpbmsgcGxtQ29tbWVudFNraXAJCQlwbG1Db21tZW50CitIaUxpbmsgcGxtU3RyaW5nCQkJU3RyaW5nCitIaUxpbmsgcGxtQ29tbWVudAkJCUNvbW1lbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInBsbSIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcGxwLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BscC52aW0KaW5kZXggZjU5NzAyZC4uNDhkYzRiMiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcGxwLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9wbHAudmltCkBAIC03LDExICs3LDggQEAKICIgQWRkIHRvIGZpbGV0eXBlLnZpbSB0aGUgZm9sbG93aW5nIGxpbmUgKHdpdGhvdXQgcXVvdGUgc2lnbik6CiAiIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnBscCBzZXRmIHBscAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTksMTQgKzE2LDkgQEAKICAgbGV0IG1haW5fc3ludGF4ID0gJ3BlcmxzY3JpcHQnCiBlbmRpZgogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvIDxzZmlsZT46cDpoL2h0bWwudmltCi0gIHN5biBpbmNsdWRlIEBQTFBwZXJsIDxzZmlsZT46cDpoL3BlcmwudmltCi1lbHNlCi0gIHJ1bnRpbWUhIHN5bnRheC9odG1sLnZpbQotICB1bmxldCBiOmN1cnJlbnRfc3ludGF4Ci0gIHN5biBpbmNsdWRlIEBQTFBwZXJsIHN5bnRheC9wZXJsLnZpbQotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9odG1sLnZpbQordW5sZXQgYjpjdXJyZW50X3N5bnRheAorc3luIGluY2x1ZGUgQFBMUHBlcmwgc3ludGF4L3BlcmwudmltCiAKIHN5biBjbHVzdGVyIGh0bWxQcmVwcm9jIGFkZD1QTFBwZXJsYmxvY2sKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcGxzcWwudmltIGIvcnVudGltZS9zeW50YXgvcGxzcWwudmltCmluZGV4IDZlNTEzNjYuLjE3M2MyMmYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Bsc3FsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9wbHNxbC52aW0KQEAgLTksMTEgKzksOCBAQAogIgkgICBBdXN0aW4gWmllZ2xlciAoYXVzdGluIGF0IGhhbG9zdGF0dWUgZG90IGNhKQogIgkJQWRkZWQgOGkrIGZlYXR1cmVzLgogIgotIiBGb3IgdmVyc2lvbiA1LngsIGNsZWFyIGFsbCBzeW50YXggaXRlbXMuCi0iIEZvciB2ZXJzaW9uIDYueCwgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkLgotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjIzLDU0ICsyMjAsNDYgQEAKIHN5biBzeW5jIG1pbmxpbmVzPTEwIG1heGxpbmVzPTEwMAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUueCBhbmQgZWFybGllciwgb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkuCi0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXIsIG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0LgotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Bsc3FsX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3Bsc3FsX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0LgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHBsc3FsQXR0cmlidXRlCQlNYWNybwotICBIaUxpbmsgcGxzcWxCbG9ja0Vycm9yCUVycm9yCi0gIEhpTGluayBwbHNxbEJvb2xlYW5MaXRlcmFsCUJvb2xlYW4KLSAgSGlMaW5rIHBsc3FsQ2hhckxpdGVyYWwJQ2hhcmFjdGVyCi0gIEhpTGluayBwbHNxbENvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIHBsc3FsQ29tbWVudEwJCUNvbW1lbnQKLSAgSGlMaW5rIHBsc3FsQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIHBsc3FsRXJyb3IJCUVycm9yCi0gIEhpTGluayBwbHNxbEVyckluQnJhY2tldAlFcnJvcgotICBIaUxpbmsgcGxzcWxFcnJJbkJsb2NrCUVycm9yCi0gIEhpTGluayBwbHNxbEVyckluUGFyZW4JRXJyb3IKLSAgSGlMaW5rIHBsc3FsRXhjZXB0aW9uCQlGdW5jdGlvbgotICBIaUxpbmsgcGxzcWxGbG9hdExpdGVyYWwJRmxvYXQKLSAgSGlMaW5rIHBsc3FsRnVuY3Rpb24JCUZ1bmN0aW9uCi0gIEhpTGluayBwbHNxbEdhcmJhZ2UJCUVycm9yCi0gIEhpTGluayBwbHNxbEhvc3RJZGVudGlmaWVyCUxhYmVsCi0gIEhpTGluayBwbHNxbElkZW50aWZpZXIJTm9ybWFsCi0gIEhpTGluayBwbHNxbEludExpdGVyYWwJTnVtYmVyCi0gIEhpTGluayBwbHNxbE9wZXJhdG9yCQlPcGVyYXRvcgotICBIaUxpbmsgcGxzcWxQYXJlbgkJTm9ybWFsCi0gIEhpTGluayBwbHNxbFBhcmVuRXJyb3IJRXJyb3IKLSAgSGlMaW5rIHBsc3FsU3BhY2VFcnJvcglFcnJvcgotICBIaUxpbmsgcGxzcWxQc2V1ZG8JCVByZVByb2MKLSAgSGlMaW5rIHBsc3FsS2V5d29yZAkJS2V5d29yZAotICBIaUxpbmsgcGxzcWxSZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgcGxzcWxTdG9yYWdlCQlTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rIHBsc3FsU1FMS2V5d29yZAlGdW5jdGlvbgotICBIaUxpbmsgcGxzcWxTdHJpbmdFcnJvcglFcnJvcgotICBIaUxpbmsgcGxzcWxTdHJpbmdMaXRlcmFsCVN0cmluZwotICBIaUxpbmsgcGxzcWxDb21tZW50U3RyaW5nCVN0cmluZwotICBIaUxpbmsgcGxzcWxDb21tZW50MlN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIHBsc3FsU3ltYm9sCQlOb3JtYWwKLSAgSGlMaW5rIHBsc3FsVHJpZ2dlcgkJRnVuY3Rpb24KLSAgSGlMaW5rIHBsc3FsVHlwZUF0dHJpYnV0ZQlTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rIHBsc3FsVG9kbwkJVG9kbworSGlMaW5rIHBsc3FsQXR0cmlidXRlCQlNYWNybworSGlMaW5rIHBsc3FsQmxvY2tFcnJvcglFcnJvcgorSGlMaW5rIHBsc3FsQm9vbGVhbkxpdGVyYWwJQm9vbGVhbgorSGlMaW5rIHBsc3FsQ2hhckxpdGVyYWwJQ2hhcmFjdGVyCitIaUxpbmsgcGxzcWxDb21tZW50CQlDb21tZW50CitIaUxpbmsgcGxzcWxDb21tZW50TAkJQ29tbWVudAorSGlMaW5rIHBsc3FsQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayBwbHNxbEVycm9yCQlFcnJvcgorSGlMaW5rIHBsc3FsRXJySW5CcmFja2V0CUVycm9yCitIaUxpbmsgcGxzcWxFcnJJbkJsb2NrCUVycm9yCitIaUxpbmsgcGxzcWxFcnJJblBhcmVuCUVycm9yCitIaUxpbmsgcGxzcWxFeGNlcHRpb24JCUZ1bmN0aW9uCitIaUxpbmsgcGxzcWxGbG9hdExpdGVyYWwJRmxvYXQKK0hpTGluayBwbHNxbEZ1bmN0aW9uCQlGdW5jdGlvbgorSGlMaW5rIHBsc3FsR2FyYmFnZQkJRXJyb3IKK0hpTGluayBwbHNxbEhvc3RJZGVudGlmaWVyCUxhYmVsCitIaUxpbmsgcGxzcWxJZGVudGlmaWVyCU5vcm1hbAorSGlMaW5rIHBsc3FsSW50TGl0ZXJhbAlOdW1iZXIKK0hpTGluayBwbHNxbE9wZXJhdG9yCQlPcGVyYXRvcgorSGlMaW5rIHBsc3FsUGFyZW4JCU5vcm1hbAorSGlMaW5rIHBsc3FsUGFyZW5FcnJvcglFcnJvcgorSGlMaW5rIHBsc3FsU3BhY2VFcnJvcglFcnJvcgorSGlMaW5rIHBsc3FsUHNldWRvCQlQcmVQcm9jCitIaUxpbmsgcGxzcWxLZXl3b3JkCQlLZXl3b3JkCitIaUxpbmsgcGxzcWxSZXBlYXQJCVJlcGVhdAorSGlMaW5rIHBsc3FsU3RvcmFnZQkJU3RvcmFnZUNsYXNzCitIaUxpbmsgcGxzcWxTUUxLZXl3b3JkCUZ1bmN0aW9uCitIaUxpbmsgcGxzcWxTdHJpbmdFcnJvcglFcnJvcgorSGlMaW5rIHBsc3FsU3RyaW5nTGl0ZXJhbAlTdHJpbmcKK0hpTGluayBwbHNxbENvbW1lbnRTdHJpbmcJU3RyaW5nCitIaUxpbmsgcGxzcWxDb21tZW50MlN0cmluZwlTdHJpbmcKK0hpTGluayBwbHNxbFN5bWJvbAkJTm9ybWFsCitIaUxpbmsgcGxzcWxUcmlnZ2VyCQlGdW5jdGlvbgorSGlMaW5rIHBsc3FsVHlwZUF0dHJpYnV0ZQlTdG9yYWdlQ2xhc3MKK0hpTGluayBwbHNxbFRvZG8JCVRvZG8KIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInBsc3FsIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wby52aW0gYi9ydW50aW1lL3N5bnRheC9wby52aW0KaW5kZXggMmFiMTNhYy4uZjk4ODEzYyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcG8udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3BvLnZpbQpAQCAtNiwxMSArNiw4IEBACiAiICAgICAgICAgICAgICAgTGVvbmFyZG8gRm9udGVuZWxsZSAoU3BlbGwgY2hlY2tpbmcpCiAiICAgICAgICAgICAgICAgTmFtIFN1bmdIeXVuIDxuYW1zaEBrbGRwLm9yZz4gKE9yaWdpbmFsIG1haW50YWluZXIpCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogbGV0IHM6a2VlcGNwbz0gJmNwbwpAQCAtODIsNjEgKzc5LDUzIEBACiBzeW4gbWF0Y2ggcG9WYXJpYWJsZSBjb250YWluZWQgIiVcZCIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcG9fc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcG9fc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBwb0NvbW1lbnRTb3VyY2VzICAgIFByZVByb2MKLSAgSGlMaW5rIHBvQ29tbWVudAkgICAgIENvbW1lbnQKLSAgSGlMaW5rIHBvQ29tbWVudEF1dG9tYXRpYyAgQ29tbWVudAotICBIaUxpbmsgcG9Db21tZW50VHJhbnNsYXRvciBDb21tZW50Ci0gIEhpTGluayBwb0NvbW1lbnRGbGFncyAgICAgIFNwZWNpYWwKLSAgSGlMaW5rIHBvQ29tbWVudERpZmYgICAgICAgQ29tbWVudAotICBIaUxpbmsgcG9Db3B5cmlnaHRVbnNldCAgICBUb2RvCi0gIEhpTGluayBwb0ZsYWdGdXp6eSAgICAgICAgIFRvZG8KLSAgSGlMaW5rIHBvRGlmZk9sZCAgICAgICAgICAgVG9kbwotICBIaUxpbmsgcG9EaWZmTmV3ICAgICAgICAgIFNwZWNpYWwKLSAgSGlMaW5rIHBvT2Jzb2xldGUgICAgICAgICBDb21tZW50CitIaUxpbmsgcG9Db21tZW50U291cmNlcyAgICBQcmVQcm9jCitIaUxpbmsgcG9Db21tZW50CSAgICAgQ29tbWVudAorSGlMaW5rIHBvQ29tbWVudEF1dG9tYXRpYyAgQ29tbWVudAorSGlMaW5rIHBvQ29tbWVudFRyYW5zbGF0b3IgQ29tbWVudAorSGlMaW5rIHBvQ29tbWVudEZsYWdzICAgICAgU3BlY2lhbAorSGlMaW5rIHBvQ29tbWVudERpZmYgICAgICAgQ29tbWVudAorSGlMaW5rIHBvQ29weXJpZ2h0VW5zZXQgICAgVG9kbworSGlMaW5rIHBvRmxhZ0Z1enp5ICAgICAgICAgVG9kbworSGlMaW5rIHBvRGlmZk9sZCAgICAgICAgICAgVG9kbworSGlMaW5rIHBvRGlmZk5ldyAgICAgICAgICBTcGVjaWFsCitIaUxpbmsgcG9PYnNvbGV0ZSAgICAgICAgIENvbW1lbnQKIAotICBIaUxpbmsgcG9TdGF0ZW1lbnRNc2dpZCAgIFN0YXRlbWVudAotICBIaUxpbmsgcG9TdGF0ZW1lbnRNc2dzdHIgIFN0YXRlbWVudAotICBIaUxpbmsgcG9TdGF0ZW1lbnRNc2dpZHBsdXJhbCAgU3RhdGVtZW50Ci0gIEhpTGluayBwb1N0YXRlbWVudE1zZ0NUeHQgU3RhdGVtZW50Ci0gIEhpTGluayBwb1BsdXJhbENhc2VOICAgICAgQ29uc3RhbnQKK0hpTGluayBwb1N0YXRlbWVudE1zZ2lkICAgU3RhdGVtZW50CitIaUxpbmsgcG9TdGF0ZW1lbnRNc2dzdHIgIFN0YXRlbWVudAorSGlMaW5rIHBvU3RhdGVtZW50TXNnaWRwbHVyYWwgIFN0YXRlbWVudAorSGlMaW5rIHBvU3RhdGVtZW50TXNnQ1R4dCBTdGF0ZW1lbnQKK0hpTGluayBwb1BsdXJhbENhc2VOICAgICAgQ29uc3RhbnQKIAotICBIaUxpbmsgcG9TdHJpbmdDVHh0CSAgICBDb21tZW50Ci0gIEhpTGluayBwb1N0cmluZ0lECSAgICBTdHJpbmcKLSAgSGlMaW5rIHBvU3RyaW5nU1RSCSAgICBTdHJpbmcKLSAgSGlMaW5rIHBvQ29tbWVudEtERSAgICAgICBDb21tZW50Ci0gIEhpTGluayBwb0NvbW1lbnRLREVFcnJvciAgRXJyb3IKLSAgSGlMaW5rIHBvUGx1cmFsS0RFICAgICAgICBDb21tZW50Ci0gIEhpTGluayBwb1BsdXJhbEtERUVycm9yICAgRXJyb3IKLSAgSGlMaW5rIHBvSGVhZGVySXRlbSAgICAgICBJZGVudGlmaWVyCi0gIEhpTGluayBwb0hlYWRlclVuZGVmaW5lZCAgVG9kbwotICBIaUxpbmsgcG9LREVkZXNrdG9wRmlsZSAgIElkZW50aWZpZXIKK0hpTGluayBwb1N0cmluZ0NUeHQJICAgIENvbW1lbnQKK0hpTGluayBwb1N0cmluZ0lECSAgICBTdHJpbmcKK0hpTGluayBwb1N0cmluZ1NUUgkgICAgU3RyaW5nCitIaUxpbmsgcG9Db21tZW50S0RFICAgICAgIENvbW1lbnQKK0hpTGluayBwb0NvbW1lbnRLREVFcnJvciAgRXJyb3IKK0hpTGluayBwb1BsdXJhbEtERSAgICAgICAgQ29tbWVudAorSGlMaW5rIHBvUGx1cmFsS0RFRXJyb3IgICBFcnJvcgorSGlMaW5rIHBvSGVhZGVySXRlbSAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgcG9IZWFkZXJVbmRlZmluZWQgIFRvZG8KK0hpTGluayBwb0tERWRlc2t0b3BGaWxlICAgSWRlbnRpZmllcgogCi0gIEhpTGluayBwb0h0bWwgICAgICAgICAgICAgIElkZW50aWZpZXIKLSAgSGlMaW5rIHBvSHRtbE5vdCAgICAgICAgICAgU3RyaW5nCi0gIEhpTGluayBwb0h0bWxUcmFuc2xhdGFibGVzIFN0cmluZwotICBIaUxpbmsgcG9MaW5lQnJlYWsgICAgICAgICBTdHJpbmcKK0hpTGluayBwb0h0bWwgICAgICAgICAgICAgIElkZW50aWZpZXIKK0hpTGluayBwb0h0bWxOb3QgICAgICAgICAgIFN0cmluZworSGlMaW5rIHBvSHRtbFRyYW5zbGF0YWJsZXMgU3RyaW5nCitIaUxpbmsgcG9MaW5lQnJlYWsgICAgICAgICBTdHJpbmcKIAotICBIaUxpbmsgcG9Gb3JtYXQJICAgIHBvU3BlY2lhbAotICBIaUxpbmsgcG9TcGVjaWFsCSAgICBTcGVjaWFsCi0gIEhpTGluayBwb0FjY2VsZXJhdG9ySWQgICAgU3BlY2lhbAotICBIaUxpbmsgcG9BY2NlbGVyYXRvclN0ciAgIFNwZWNpYWwKLSAgSGlMaW5rIHBvVmFyaWFibGUgICAgICAgICBTcGVjaWFsCitIaUxpbmsgcG9Gb3JtYXQJICAgIHBvU3BlY2lhbAorSGlMaW5rIHBvU3BlY2lhbAkgICAgU3BlY2lhbAorSGlMaW5rIHBvQWNjZWxlcmF0b3JJZCAgICBTcGVjaWFsCitIaUxpbmsgcG9BY2NlbGVyYXRvclN0ciAgIFNwZWNpYWwKK0hpTGluayBwb1ZhcmlhYmxlICAgICAgICAgU3BlY2lhbAogCi0gIEhpTGluayBwb01zZ3VuaXFFcnJvciAgICAgICAgU3BlY2lhbAotICBIaUxpbmsgcG9Nc2d1bmlxRXJyb3JNYXJrZXJzIENvbW1lbnQKK0hpTGluayBwb01zZ3VuaXFFcnJvciAgICAgICAgU3BlY2lhbAorSGlMaW5rIHBvTXNndW5pcUVycm9yTWFya2VycyBDb21tZW50CiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwbyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcG9kLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BvZC52aW0KaW5kZXggYjlmMmUwOC4uYzU0NTE0MSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcG9kLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9wb2QudmltCkBAIC0xOSwxMSArMTksOCBAQAogCiAiIFJlbW92ZSBhbnkgb2xkIHN5bnRheCBzdHVmZiBoYW5naW5nIGFyb3VuZCAodGhpcyBpcyBzdXBwcmVzc2VkCiAiIGF1dG9tYXRpY2FsbHkgYnkgIjpzeW4gaW5jbHVkZSIgaWYgbmVjZXNzYXJ5KS4KLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC02NywyOCArNjQsMjAgQEAKIHN5biBtYXRjaCAgcG9kRXNjYXBlMgkiXGRcKz4ibWU9ZS0xIGNvbnRhaW5lZCBjb250YWlucz1ATm9TcGVsbAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9wb2Rfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcG9kX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgcG9kQ29tbWFuZAkJU3RhdGVtZW50Ci0gIEhpTGluayBwb2RDbWRUZXh0CQlTdHJpbmcKLSAgSGlMaW5rIHBvZE92ZXJJbmRlbnQJCU51bWJlcgotICBIaUxpbmsgcG9kRm9yS2V5d2QJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHBvZEZvcm1hdAkJSWRlbnRpZmllcgotICBIaUxpbmsgcG9kVmVyYmF0aW1MaW5lCVByZVByb2MKLSAgSGlMaW5rIHBvZFNwZWNpYWwJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHBvZEVzY2FwZQkJU3RyaW5nCi0gIEhpTGluayBwb2RFc2NhcGUyCQlOdW1iZXIKK0hpTGluayBwb2RDb21tYW5kCQlTdGF0ZW1lbnQKK0hpTGluayBwb2RDbWRUZXh0CQlTdHJpbmcKK0hpTGluayBwb2RPdmVySW5kZW50CQlOdW1iZXIKK0hpTGluayBwb2RGb3JLZXl3ZAkJSWRlbnRpZmllcgorSGlMaW5rIHBvZEZvcm1hdAkJSWRlbnRpZmllcgorSGlMaW5rIHBvZFZlcmJhdGltTGluZQlQcmVQcm9jCitIaUxpbmsgcG9kU3BlY2lhbAkJSWRlbnRpZmllcgorSGlMaW5rIHBvZEVzY2FwZQkJU3RyaW5nCitIaUxpbmsgcG9kRXNjYXBlMgkJTnVtYmVyCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBpZiBleGlzdHMoInBlcmxfcG9kX3NwZWxsY2hlY2tfaGVhZGluZ3MiKQogICAiIFNwZWxsLWNoZWNrIGhlYWRpbmdzCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wb3N0c2NyLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Bvc3RzY3IudmltCmluZGV4IGZkZGZlNGMuLjViMGI0NDIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Bvc3RzY3IudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Bvc3RzY3IudmltCkBAIC0xMywxMSArMTMsOCBAQAogIiBwb3N0c2NyX2VuY29kaW5ncyAgICAgICAgICAgICAtIGhpZ2hsaWdodCBlbmNvZGluZyBuYW1lcyAodGhlcmUgYXJlIGEgbG90KQogIiBwb3N0c2NyX2FuZG9ybm90X2JpbmFyeSAgICAgICAtIGhpZ2hsaWdodCBhbmQsIG9yLCBhbmQgbm90IGFzIGJpbmFyeSBvcGVyYXRvcnMgKG5vdCBsb2dpY2FsKQogIgotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTI1LDExICsyMiw3IEBACiBzeW4gY2FzZSBtYXRjaAogCiAiIEtleXdvcmQgY2hhcmFjdGVycyAtIGFsbCA3LWJpdCBBU0NJSSBiYXIgUFMgZGVsaW1pdGVycyBhbmQgd3MKLWlmIHZlcnNpb24gPj0gNjAwCi0gIHNldGxvY2FsIGlza2V5d29yZD0zMy0xMjcsXigsXiksXjwsXj4sXlssXl0sXnssXn0sXi8sXiUKLWVsc2UKLSAgc2V0IGlza2V5d29yZD0zMy0xMjcsXigsXiksXjwsXj4sXlssXl0sXnssXn0sXi8sXiUKLWVuZGlmCitzZXRsb2NhbCBpc2tleXdvcmQ9MzMtMTI3LF4oLF4pLF48LF4+LF5bLF5dLF57LF59LF4vLF4lCiAKICIgWWVyIHRydXN0eSBvbGQgVE9ETyBoaWdobGdodGVyIQogc3luIGtleXdvcmQgcG9zdHNjclRvZG8gY29udGFpbmVkICBUT0RPCkBAIC03MzAsNjggKzcyMyw2MCBAQAogZW5kaWYgIiBHaG9zdFNjcmlwdCBoaWdobGlnaHRpbmcKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcG9zdHNjcl9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9wb3N0c2NyX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgcG9zdHNjckNvbW1lbnQgICAgICAgICBDb21tZW50CitIaUxpbmsgcG9zdHNjckNvbW1lbnQgICAgICAgICBDb21tZW50CiAKLSAgSGlMaW5rIHBvc3RzY3JDb25zdGFudCAgICAgICAgQ29uc3RhbnQKLSAgSGlMaW5rIHBvc3RzY3JTdHJpbmcgICAgICAgICAgU3RyaW5nCi0gIEhpTGluayBwb3N0c2NyQVNDSUlTdHJpbmcgICAgIHBvc3RzY3JTdHJpbmcKLSAgSGlMaW5rIHBvc3RzY3JIZXhTdHJpbmcgICAgICAgcG9zdHNjclN0cmluZwotICBIaUxpbmsgcG9zdHNjckFTQ0lJODVTdHJpbmcgICBwb3N0c2NyU3RyaW5nCi0gIEhpTGluayBwb3N0c2NyTnVtYmVyICAgICAgICAgIE51bWJlcgotICBIaUxpbmsgcG9zdHNjckludGVnZXIgICAgICAgICBwb3N0c2NyTnVtYmVyCi0gIEhpTGluayBwb3N0c2NySGV4ICAgICAgICAgICAgIHBvc3RzY3JOdW1iZXIKLSAgSGlMaW5rIHBvc3RzY3JSYWRpeCAgICAgICAgICAgcG9zdHNjck51bWJlcgotICBIaUxpbmsgcG9zdHNjckZsb2F0ICAgICAgICAgICBGbG9hdAotICBIaUxpbmsgcG9zdHNjckJvb2xlYW4gICAgICAgICBCb29sZWFuCitIaUxpbmsgcG9zdHNjckNvbnN0YW50ICAgICAgICBDb25zdGFudAorSGlMaW5rIHBvc3RzY3JTdHJpbmcgICAgICAgICAgU3RyaW5nCitIaUxpbmsgcG9zdHNjckFTQ0lJU3RyaW5nICAgICBwb3N0c2NyU3RyaW5nCitIaUxpbmsgcG9zdHNjckhleFN0cmluZyAgICAgICBwb3N0c2NyU3RyaW5nCitIaUxpbmsgcG9zdHNjckFTQ0lJODVTdHJpbmcgICBwb3N0c2NyU3RyaW5nCitIaUxpbmsgcG9zdHNjck51bWJlciAgICAgICAgICBOdW1iZXIKK0hpTGluayBwb3N0c2NySW50ZWdlciAgICAgICAgIHBvc3RzY3JOdW1iZXIKK0hpTGluayBwb3N0c2NySGV4ICAgICAgICAgICAgIHBvc3RzY3JOdW1iZXIKK0hpTGluayBwb3N0c2NyUmFkaXggICAgICAgICAgIHBvc3RzY3JOdW1iZXIKK0hpTGluayBwb3N0c2NyRmxvYXQgICAgICAgICAgIEZsb2F0CitIaUxpbmsgcG9zdHNjckJvb2xlYW4gICAgICAgICBCb29sZWFuCiAKLSAgSGlMaW5rIHBvc3RzY3JJZGVudGlmaWVyICAgICAgSWRlbnRpZmllcgotICBIaUxpbmsgcG9zdHNjclByb2NlZHVyZSAgICAgICBGdW5jdGlvbgorSGlMaW5rIHBvc3RzY3JJZGVudGlmaWVyICAgICAgSWRlbnRpZmllcgorSGlMaW5rIHBvc3RzY3JQcm9jZWR1cmUgICAgICAgRnVuY3Rpb24KIAotICBIaUxpbmsgcG9zdHNjck5hbWUgICAgICAgICAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIHBvc3RzY3JDb25kaXRpb25hbCAgICAgQ29uZGl0aW9uYWwKLSAgSGlMaW5rIHBvc3RzY3JSZXBlYXQgICAgICAgICAgUmVwZWF0Ci0gIEhpTGluayBwb3N0c2NyTDJSZXBlYXQgICAgICAgIHBvc3RzY3JSZXBlYXQKLSAgSGlMaW5rIHBvc3RzY3JPcGVyYXRvciAgICAgICAgT3BlcmF0b3IKLSAgSGlMaW5rIHBvc3RzY3JMMU9wZXJhdG9yICAgICAgcG9zdHNjck9wZXJhdG9yCi0gIEhpTGluayBwb3N0c2NyTDJPcGVyYXRvciAgICAgIHBvc3RzY3JPcGVyYXRvcgotICBIaUxpbmsgcG9zdHNjckwzT3BlcmF0b3IgICAgICBwb3N0c2NyT3BlcmF0b3IKLSAgSGlMaW5rIHBvc3RzY3JNYXRoT3BlcmF0b3IgICAgcG9zdHNjck9wZXJhdG9yCi0gIEhpTGluayBwb3N0c2NyTG9naWNhbE9wZXJhdG9yIHBvc3RzY3JPcGVyYXRvcgotICBIaUxpbmsgcG9zdHNjckJpbmFyeU9wZXJhdG9yICBwb3N0c2NyT3BlcmF0b3IKK0hpTGluayBwb3N0c2NyTmFtZSAgICAgICAgICAgIFN0YXRlbWVudAorSGlMaW5rIHBvc3RzY3JDb25kaXRpb25hbCAgICAgQ29uZGl0aW9uYWwKK0hpTGluayBwb3N0c2NyUmVwZWF0ICAgICAgICAgIFJlcGVhdAorSGlMaW5rIHBvc3RzY3JMMlJlcGVhdCAgICAgICAgcG9zdHNjclJlcGVhdAorSGlMaW5rIHBvc3RzY3JPcGVyYXRvciAgICAgICAgT3BlcmF0b3IKK0hpTGluayBwb3N0c2NyTDFPcGVyYXRvciAgICAgIHBvc3RzY3JPcGVyYXRvcgorSGlMaW5rIHBvc3RzY3JMMk9wZXJhdG9yICAgICAgcG9zdHNjck9wZXJhdG9yCitIaUxpbmsgcG9zdHNjckwzT3BlcmF0b3IgICAgICBwb3N0c2NyT3BlcmF0b3IKK0hpTGluayBwb3N0c2NyTWF0aE9wZXJhdG9yICAgIHBvc3RzY3JPcGVyYXRvcgorSGlMaW5rIHBvc3RzY3JMb2dpY2FsT3BlcmF0b3IgcG9zdHNjck9wZXJhdG9yCitIaUxpbmsgcG9zdHNjckJpbmFyeU9wZXJhdG9yICBwb3N0c2NyT3BlcmF0b3IKIAotICBIaUxpbmsgcG9zdHNjckRTQ0NvbW1lbnQgICAgICBTcGVjaWFsQ29tbWVudAotICBIaUxpbmsgcG9zdHNjclNwZWNpYWxDaGFyICAgICBTcGVjaWFsQ2hhcgorSGlMaW5rIHBvc3RzY3JEU0NDb21tZW50ICAgICAgU3BlY2lhbENvbW1lbnQKK0hpTGluayBwb3N0c2NyU3BlY2lhbENoYXIgICAgIFNwZWNpYWxDaGFyCiAKLSAgSGlMaW5rIHBvc3RzY3JUb2RvICAgICAgICAgICAgVG9kbworSGlMaW5rIHBvc3RzY3JUb2RvICAgICAgICAgICAgVG9kbwogCi0gIEhpTGluayBwb3N0c2NyRXJyb3IgICAgICAgICAgIEVycm9yCi0gIEhpTGluayBwb3N0c2NyU3BlY2lhbENoYXJFcnJvciBwb3N0c2NyRXJyb3IKLSAgSGlMaW5rIHBvc3RzY3JBU0NJSTg1Q2hhckVycm9yIHBvc3RzY3JFcnJvcgotICBIaUxpbmsgcG9zdHNjckhleENoYXJFcnJvciAgICBwb3N0c2NyRXJyb3IKLSAgSGlMaW5rIHBvc3RzY3JBU0NJSVN0cmluZ0Vycm9yIHBvc3RzY3JFcnJvcgotICBIaUxpbmsgcG9zdHNjcklkZW50aWZpZXJFcnJvciBwb3N0c2NyRXJyb3IKK0hpTGluayBwb3N0c2NyRXJyb3IgICAgICAgICAgIEVycm9yCitIaUxpbmsgcG9zdHNjclNwZWNpYWxDaGFyRXJyb3IgcG9zdHNjckVycm9yCitIaUxpbmsgcG9zdHNjckFTQ0lJODVDaGFyRXJyb3IgcG9zdHNjckVycm9yCitIaUxpbmsgcG9zdHNjckhleENoYXJFcnJvciAgICBwb3N0c2NyRXJyb3IKK0hpTGluayBwb3N0c2NyQVNDSUlTdHJpbmdFcnJvciBwb3N0c2NyRXJyb3IKK0hpTGluayBwb3N0c2NySWRlbnRpZmllckVycm9yIHBvc3RzY3JFcnJvcgogCi0gIGlmIGV4aXN0cygicG9zdHNjcl9naG9zdHNjcmlwdCIpCi0gICAgSGlMaW5rIHBvc3RzY3JHU09wZXJhdG9yICAgICAgcG9zdHNjck9wZXJhdG9yCi0gICAgSGlMaW5rIHBvc3RzY3JHU01hdGhPcGVyYXRvciAgcG9zdHNjck1hdGhPcGVyYXRvcgotICBlbHNlCi0gICAgSGlMaW5rIHBvc3RzY3JHU09wZXJhdG9yICAgICAgcG9zdHNjckVycm9yCi0gICAgSGlMaW5rIHBvc3RzY3JHU01hdGhPcGVyYXRvciAgcG9zdHNjckVycm9yCi0gIGVuZGlmCi0KLSAgZGVsY29tbWFuZCBIaUxpbmsKK2lmIGV4aXN0cygicG9zdHNjcl9naG9zdHNjcmlwdCIpCitIaUxpbmsgcG9zdHNjckdTT3BlcmF0b3IgICAgICBwb3N0c2NyT3BlcmF0b3IKK0hpTGluayBwb3N0c2NyR1NNYXRoT3BlcmF0b3IgIHBvc3RzY3JNYXRoT3BlcmF0b3IKK2Vsc2UKK0hpTGluayBwb3N0c2NyR1NPcGVyYXRvciAgICAgIHBvc3RzY3JFcnJvcgorSGlMaW5rIHBvc3RzY3JHU01hdGhPcGVyYXRvciAgcG9zdHNjckVycm9yCiBlbmRpZgogCitkZWxjb21tYW5kIEhpTGluaworCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwb3N0c2NyIgogCiAiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcG92LnZpbSBiL3J1bnRpbWUvc3ludGF4L3Bvdi52aW0KaW5kZXggNGMxZmQ5Ni4uODU5NWJjYiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcG92LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9wb3YudmltCkBAIC01LDE0ICs1LDggQEAKICIgUmVxdWlyZWQgVmltIFZlcnNpb246IDYuMAogCiAiIFNldHVwCi1pZiB2ZXJzaW9uID49IDYwMAotICAiIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotICBpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQotICAgIGZpbmlzaAotICBlbmRpZgotZWxzZQotICAiIENyb2FrIHdoZW4gYW4gb2xkIFZpbSBpcyBzb3VyY2luZyB1cy4KLSAgZWNobyAiU29ycnksIGJ1dCB0aGlzIHN5bnRheCBmaWxlIHJlbGllcyBvbiBWaW0gNiBmZWF0dXJlcy4gIEVpdGhlciB1cGdyYWRlIFZpbSBvciB1c2UgYSB2ZXJzaW9uIG9mICIgLiBleHBhbmQoIjxzZmlsZT46dDpyIikgLiAiIHN5bnRheCBmaWxlIGFwcHJvcHJpYXRlIGZvciBWaW0gIiAuIHZlcnNpb24vMTAwIC4gIi4iIC4gdmVyc2lvbiAlMTAwIC4gIi4iCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wb3ZpbmkudmltIGIvcnVudGltZS9zeW50YXgvcG92aW5pLnZpbQppbmRleCA3MjZmZTFmLi5hYzFmODc4IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9wb3ZpbmkudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3BvdmluaS52aW0KQEAgLTUsMTQgKzUsOCBAQAogIiBSZXF1aXJlZCBWaW0gVmVyc2lvbjogNi4wCiAKICIgU2V0dXAKLWlmIHZlcnNpb24gPj0gNjAwCi0gICIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi0gIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCi0gICAgZmluaXNoCi0gIGVuZGlmCi1lbHNlCi0gICIgQ3JvYWsgd2hlbiBhbiBvbGQgVmltIGlzIHNvdXJjaW5nIHVzLgotICBlY2hvICJTb3JyeSwgYnV0IHRoaXMgc3ludGF4IGZpbGUgcmVsaWVzIG9uIFZpbSA2IGZlYXR1cmVzLiAgRWl0aGVyIHVwZ3JhZGUgVmltIG9yIHVzZWEgdmVyc2lvbiBvZiAiIC4gZXhwYW5kKCI8c2ZpbGU+OnQ6ciIpIC4gIiBzeW50YXggZmlsZSBhcHByb3ByaWF0ZSBmb3IgVmltICIgLiB2ZXJzaW9uLzEwMCAuICIuIiAuIHZlcnNpb24gJTEwMCAuICIuIgorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcHBkLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BwZC52aW0KaW5kZXggMTkyZjcwYy4uMzFkMzg0MSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcHBkLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9wcGQudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJQmpvZXJuIEphY2tlIDxiamFja2VAc3VzZS5kZT4KICIgTGFzdCBDaGFuZ2U6CTIwMDEtMTAtMDYKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTIxLDI3ICsxOCwxOSBAQAogc3luIG1hdGNoCXBwZENvbnRyYWludHMJIl4qVUlDb25zdHJhaW50czoiCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FoZGxfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfYWhkbF9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKIAotICBIaUxpbmsgcHBkQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgcHBkRGVmaW5lCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHBwZFVJCQkJRnVuY3Rpb24KLSAgSGlMaW5rIHBwZFVJR3JvdXAJCUZ1bmN0aW9uCi0gIEhpTGluayBwcGREZWYJCQlTdHJpbmcKLSAgSGlMaW5rIHBwZEdVSVRleHQJCVR5cGUKLSAgSGlMaW5rIHBwZENvbnRyYWludHMJCVNwZWNpYWwKK0hpTGluayBwcGRDb21tZW50CQlDb21tZW50CitIaUxpbmsgcHBkRGVmaW5lCQlTdGF0ZW1lbnQKK0hpTGluayBwcGRVSQkJCUZ1bmN0aW9uCitIaUxpbmsgcHBkVUlHcm91cAkJRnVuY3Rpb24KK0hpTGluayBwcGREZWYJCQlTdHJpbmcKK0hpTGluayBwcGRHVUlUZXh0CQlUeXBlCitIaUxpbmsgcHBkQ29udHJhaW50cwkJU3BlY2lhbAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAicHBkIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wcHdpei52aW0gYi9ydW50aW1lL3N5bnRheC9wcHdpei52aW0KaW5kZXggZDNkN2IzYS4uNTk5YmYwYiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcHB3aXoudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Bwd2l6LnZpbQpAQCAtNiwxMSArNiw4IEBACiAiIEZpbGVuYW1lOiAgICAgcHB3aXoudmltCiAKICIgUmVtb3ZlIG9sZCBzeW50YXggc3R1ZmYKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC02MywzMyArNjAsMjUgQEAKIHN5biBjbHVzdGVyIHBwd2l6QXJnVmFsIGFkZD1wcHdpelN0cmluZyxwcHdpekludGVnZXIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcHB3aXpfc3luX2luaXRzIikKLSAgICBpZiB2ZXJzaW9uIDwgNTA4Ci0JCWxldCBkaWRfcHB3aXpfc3luX2luaXRzID0gMQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotCWVsc2UKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gICAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gICAgSGlMaW5rIHBwd2l6U3BlY2lhbCAgU3BlY2lhbAotICAgIEhpTGluayBwcHdpekVxdWFsICAgIHBwd2l6U3BlY2lhbAotICAgIEhpTGluayBwcHdpek9wZXJhdG9yIHBwd2l6U3BlY2lhbAotICAgIEhpTGluayBwcHdpekNvbW1lbnQgIENvbW1lbnQKLSAgICBIaUxpbmsgcHB3aXpEZWYgICAgICBQcmVQcm9jCi0gICAgSGlMaW5rIHBwd2l6TWFjcm8gICAgU3RhdGVtZW50Ci0gICAgSGlMaW5rIHBwd2l6QXJnICAgICAgSWRlbnRpZmllcgotICAgIEhpTGluayBwcHdpelN0ZFZhciAgIElkZW50aWZpZXIKLSAgICBIaUxpbmsgcHB3aXpSZXh4VmFyICBJZGVudGlmaWVyCi0gICAgSGlMaW5rIHBwd2l6U3RyaW5nICAgQ29uc3RhbnQKLSAgICBIaUxpbmsgcHB3aXpJbnRlZ2VyICBDb25zdGFudAotICAgIEhpTGluayBwcHdpekNvbnQgICAgIHBwd2l6U3BlY2lhbAotICAgIEhpTGluayBwcHdpekVycm9yICAgIEVycm9yCi0gICAgSGlMaW5rIHBwd2l6SFRNTCAgICAgVHlwZQorSGlMaW5rIHBwd2l6U3BlY2lhbCAgU3BlY2lhbAorSGlMaW5rIHBwd2l6RXF1YWwgICAgcHB3aXpTcGVjaWFsCitIaUxpbmsgcHB3aXpPcGVyYXRvciBwcHdpelNwZWNpYWwKK0hpTGluayBwcHdpekNvbW1lbnQgIENvbW1lbnQKK0hpTGluayBwcHdpekRlZiAgICAgIFByZVByb2MKK0hpTGluayBwcHdpek1hY3JvICAgIFN0YXRlbWVudAorSGlMaW5rIHBwd2l6QXJnICAgICAgSWRlbnRpZmllcgorSGlMaW5rIHBwd2l6U3RkVmFyICAgSWRlbnRpZmllcgorSGlMaW5rIHBwd2l6UmV4eFZhciAgSWRlbnRpZmllcgorSGlMaW5rIHBwd2l6U3RyaW5nICAgQ29uc3RhbnQKK0hpTGluayBwcHdpekludGVnZXIgIENvbnN0YW50CitIaUxpbmsgcHB3aXpDb250ICAgICBwcHdpelNwZWNpYWwKK0hpTGluayBwcHdpekVycm9yICAgIEVycm9yCitIaUxpbmsgcHB3aXpIVE1MICAgICBUeXBlCiAKLSAgICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInBwd2l6IgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wcmVzY3JpYmUudmltIGIvcnVudGltZS9zeW50YXgvcHJlc2NyaWJlLnZpbQppbmRleCBkODllZTM1Li4wNWY5MTYyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9wcmVzY3JpYmUudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3ByZXNjcmliZS52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiBVUkw6ICAgICAgICAgIGh0dHA6Ly93d3cuaGFtcGZ0LmRlL3ZpbS9zeW50YXgvcHJlc2NyaWJlLnZpbQogIiBMYXN0IENoYW5nZToJMjAwNSBNYXIgMDQKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTQ0LDI1ICs0MSwxNyBAQAogc3luIHJlZ2lvbiAgcHJlc2NyaWJlQ29tbWVudAlzdGFydD0rQ01OVCsgZW5kPSs7KwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9wcmVzY3JpYmVfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcHJlc2NyaWJlX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgcHJlc2NyaWJlU3BlY2lhbAkJUHJlUHJvYwotICBIaUxpbmsgcHJlc2NyaWJlU3RhdGVtZW50CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHByZXNjcmliZU51bWJlcgkJTnVtYmVyCi0gIEhpTGluayBwcmVzY3JpYmVDU0VUQXJnCQlTdHJpbmcKLSAgSGlMaW5rIHByZXNjcmliZUZSUE9BcmcJCVN0cmluZwotICBIaUxpbmsgcHJlc2NyaWJlQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIHByZXNjcmliZVNwZWNpYWwJCVByZVByb2MKK0hpTGluayBwcmVzY3JpYmVTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIHByZXNjcmliZU51bWJlcgkJTnVtYmVyCitIaUxpbmsgcHJlc2NyaWJlQ1NFVEFyZwkJU3RyaW5nCitIaUxpbmsgcHJlc2NyaWJlRlJQT0FyZwkJU3RyaW5nCitIaUxpbmsgcHJlc2NyaWJlQ29tbWVudAkJQ29tbWVudAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAicHJlc2NyaWJlIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wcm9jbWFpbC52aW0gYi9ydW50aW1lL3N5bnRheC9wcm9jbWFpbC52aW0KaW5kZXggYzJmZmEzOS4uOTIwMmRiZiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcHJvY21haWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Byb2NtYWlsLnZpbQpAQCAtNCwxMSArNCw4IEBACiAiIExhc3QgQ2hhbmdlOgkyMDAzIEF1ZyAxNAogIiBBdXRob3I6CVNvbmlhIEhlaW1hbm4KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTMzLDM0ICszMCwyNiBAQAogc3luIHJlZ2lvbiBwcm9jbWFpbFJlY2lwZSBzdGFydD0rXlxzKjouKiQrIGVuZD0rXlxzKlwoJFx8fVwpK21lPWUtMSBjb250YWlucz1wcm9jbWFpbENvbW1lbnQscHJvY21haWxDb25kaXRpb24scHJvY21haWxBY3Rpb25Gb2xkZXIscHJvY21haWxBY3Rpb25WYXJpYWJsZSxwcm9jbWFpbEFjdGlvbkZvcndhcmQscHJvY21haWxBY3Rpb25QaXBlLHByb2NtYWlsQWN0aW9uTmVzdGVkLHByb2NtYWlsVmFyRGVjbFJlZ2lvbgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9wcm9jbWFpbF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9wcm9jbWFpbF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHByb2NtYWlsQ29tbWVudCBDb21tZW50Ci0gIEhpTGluayBwcm9jbWFpbFRvZG8gICAgVG9kbworSGlMaW5rIHByb2NtYWlsQ29tbWVudCBDb21tZW50CitIaUxpbmsgcHJvY21haWxUb2RvICAgIFRvZG8KIAotICBIaUxpbmsgcHJvY21haWxSZWNpcGUgICBTdGF0ZW1lbnQKLSAgIkhpTGluayBwcm9jbWFpbENvbmRpdGlvbiAgIFN0YXRlbWVudAorSGlMaW5rIHByb2NtYWlsUmVjaXBlICAgU3RhdGVtZW50CisiSGlMaW5rIHByb2NtYWlsQ29uZGl0aW9uICAgU3RhdGVtZW50CiAKLSAgSGlMaW5rIHByb2NtYWlsQWN0aW9uRm9sZGVyCXByb2NtYWlsQWN0aW9uCi0gIEhpTGluayBwcm9jbWFpbEFjdGlvblZhcmlhYmxlIHByb2NtYWlsQWN0aW9uCi0gIEhpTGluayBwcm9jbWFpbEFjdGlvbkZvcndhcmQJcHJvY21haWxBY3Rpb24KLSAgSGlMaW5rIHByb2NtYWlsQWN0aW9uUGlwZQlwcm9jbWFpbEFjdGlvbgotICBIaUxpbmsgcHJvY21haWxBY3Rpb24JCUZ1bmN0aW9uCi0gIEhpTGluayBwcm9jbWFpbFZhcgkJSWRlbnRpZmllcgotICBIaUxpbmsgcHJvY21haWxWYXJEZWNsCUlkZW50aWZpZXIKK0hpTGluayBwcm9jbWFpbEFjdGlvbkZvbGRlcglwcm9jbWFpbEFjdGlvbgorSGlMaW5rIHByb2NtYWlsQWN0aW9uVmFyaWFibGUgcHJvY21haWxBY3Rpb24KK0hpTGluayBwcm9jbWFpbEFjdGlvbkZvcndhcmQJcHJvY21haWxBY3Rpb24KK0hpTGluayBwcm9jbWFpbEFjdGlvblBpcGUJcHJvY21haWxBY3Rpb24KK0hpTGluayBwcm9jbWFpbEFjdGlvbgkJRnVuY3Rpb24KK0hpTGluayBwcm9jbWFpbFZhcgkJSWRlbnRpZmllcgorSGlMaW5rIHByb2NtYWlsVmFyRGVjbAlJZGVudGlmaWVyCiAKLSAgSGlMaW5rIHByb2NtYWlsU3RyaW5nIFN0cmluZworSGlMaW5rIHByb2NtYWlsU3RyaW5nIFN0cmluZwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAicHJvY21haWwiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Byb2dyZXNzLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Byb2dyZXNzLnZpbQppbmRleCA4NWE1NGE2Li45ZmY1MDY5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9wcm9ncmVzcy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcHJvZ3Jlc3MudmltCkBAIC0xMSwyMiArMTEsMTUgQEAKICIgVmVyc2lvbjogICAgICAgICAgICAgIDEzCiAiIExhc3QgQ2hhbmdlOgkJTm92IDExIDIwMTIKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbQotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotCXN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKIAlmaW5pc2gKIGVuZGlmCiAKIGxldCBzOmNwb19zYXZlID0gJmNwbwogc2V0IGNwbyZ2aW0KIAotaWYgdmVyc2lvbiA+PSA2MDAKLSAgc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsXywtLCEsIywkLCUKLWVsc2UKLSAgc2V0IGlza2V5d29yZD1ALDQ4LTU3LF8sLSwhLCMsJCwlCi1lbmRpZgorc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsXywtLCEsIywkLCUKIAogIiBUaGUgUHJvZ3Jlc3MgZWRpdG9yIGRvZXNuJ3QgY29wZSB3aXRoIHRhYnMgdmVyeSB3ZWxsLgogc2V0IGV4cGFuZHRhYgpAQCAtMjgyLDQ0ICsyNzUsMzYgQEAKIHN5biBzeW5jIGxpbmVzPTgwMAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9wcm9ncmVzc19zeW50YXhfaW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9wcm9ncmVzc19zeW50YXhfaW5pdHMgPSAxCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0JZWxzZQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLQllbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLQkiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIuCi0JSGlMaW5rIFByb2dyZXNzQnl0ZQkJTnVtYmVyCi0JSGlMaW5rIFByb2dyZXNzQ2FzZQkJUmVwZWF0Ci0JSGlMaW5rIFByb2dyZXNzQ29tbWVudAkJQ29tbWVudAotCUhpTGluayBQcm9ncmVzc0NvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0JSGlMaW5rIFByb2dyZXNzRGVidWcJCURlYnVnCi0JSGlMaW5rIFByb2dyZXNzRG8JCVJlcGVhdAotCUhpTGluayBQcm9ncmVzc0VuZEVycm9yCQlFcnJvcgotCUhpTGluayBQcm9ncmVzc0ZvcgkJUmVwZWF0Ci0JSGlMaW5rIFByb2dyZXNzRnVuY3Rpb24JCVByb2NlZHVyZQotCUhpTGluayBQcm9ncmVzc0lkZW50aWZpZXIJSWRlbnRpZmllcgotCUhpTGluayBQcm9ncmVzc0luY2x1ZGUJCUluY2x1ZGUKLQlIaUxpbmsgUHJvZ3Jlc3NNYXRyaXhEZWxpbWl0ZXIJSWRlbnRpZmllcgotCUhpTGluayBQcm9ncmVzc051bWJlcgkJTnVtYmVyCi0JSGlMaW5rIFByb2dyZXNzT3BlcmF0b3IJCU9wZXJhdG9yCi0JSGlMaW5rIFByb2dyZXNzUHJlUHJvYwkJUHJlUHJvYwotCUhpTGluayBQcm9ncmVzc1Byb2NlZHVyZQlQcm9jZWR1cmUKLQlIaUxpbmsgUHJvZ3Jlc3NRdW90ZQkJRGVsaW1pdGVyCi0JSGlMaW5rIFByb2dyZXNzUmVwZWF0CQlSZXBlYXQKLQlIaUxpbmsgUHJvZ3Jlc3NSZXNlcnZlZAkJU3RhdGVtZW50Ci0JSGlMaW5rIFByb2dyZXNzU3BhY2VFcnJvcglFcnJvcgotCUhpTGluayBQcm9ncmVzc1N0cmluZwkJU3RyaW5nCi0JSGlMaW5rIFByb2dyZXNzVG9kbwkJVG9kbwotCUhpTGluayBQcm9ncmVzc1R5cGUJCVN0YXRlbWVudAotCUhpTGluayBQcm9ncmVzc1Nob3dUYWIJCUVycm9yCisiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIuCitIaUxpbmsgUHJvZ3Jlc3NCeXRlCQlOdW1iZXIKK0hpTGluayBQcm9ncmVzc0Nhc2UJCVJlcGVhdAorSGlMaW5rIFByb2dyZXNzQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIFByb2dyZXNzQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayBQcm9ncmVzc0RlYnVnCQlEZWJ1ZworSGlMaW5rIFByb2dyZXNzRG8JCVJlcGVhdAorSGlMaW5rIFByb2dyZXNzRW5kRXJyb3IJCUVycm9yCitIaUxpbmsgUHJvZ3Jlc3NGb3IJCVJlcGVhdAorSGlMaW5rIFByb2dyZXNzRnVuY3Rpb24JCVByb2NlZHVyZQorSGlMaW5rIFByb2dyZXNzSWRlbnRpZmllcglJZGVudGlmaWVyCitIaUxpbmsgUHJvZ3Jlc3NJbmNsdWRlCQlJbmNsdWRlCitIaUxpbmsgUHJvZ3Jlc3NNYXRyaXhEZWxpbWl0ZXIJSWRlbnRpZmllcgorSGlMaW5rIFByb2dyZXNzTnVtYmVyCQlOdW1iZXIKK0hpTGluayBQcm9ncmVzc09wZXJhdG9yCQlPcGVyYXRvcgorSGlMaW5rIFByb2dyZXNzUHJlUHJvYwkJUHJlUHJvYworSGlMaW5rIFByb2dyZXNzUHJvY2VkdXJlCVByb2NlZHVyZQorSGlMaW5rIFByb2dyZXNzUXVvdGUJCURlbGltaXRlcgorSGlMaW5rIFByb2dyZXNzUmVwZWF0CQlSZXBlYXQKK0hpTGluayBQcm9ncmVzc1Jlc2VydmVkCQlTdGF0ZW1lbnQKK0hpTGluayBQcm9ncmVzc1NwYWNlRXJyb3IJRXJyb3IKK0hpTGluayBQcm9ncmVzc1N0cmluZwkJU3RyaW5nCitIaUxpbmsgUHJvZ3Jlc3NUb2RvCQlUb2RvCitIaUxpbmsgUHJvZ3Jlc3NUeXBlCQlTdGF0ZW1lbnQKK0hpTGluayBQcm9ncmVzc1Nob3dUYWIJCUVycm9yCiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInByb2dyZXNzIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wcm9sb2cudmltIGIvcnVudGltZS9zeW50YXgvcHJvbG9nLnZpbQppbmRleCBmNWYwZTY3Li4yMTMxMzA4IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9wcm9sb2cudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Byb2xvZy52aW0KQEAgLTgsMTAgKzgsOCBAQAogIiBJZiB0aGUgInByb2xvZ19oaWdobGlnaHRpbmdfY2xlYW4iIHZhcmlhYmxlIGV4aXN0cywgaXQgaXMgcmF0aGVyIHNwYXJzZS4KICIgT3RoZXJ3aXNlIHlvdSBnZXQgbW9yZSBoaWdobGlnaHRpbmcuCiAKLSIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNzgsNDYgKzc2LDM4IEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcHJvbG9nX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3Byb2xvZ19zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0gIEhpTGluayBwcm9sb2dDb21tZW50ICAgICAgICAgIENvbW1lbnQKLSAgSGlMaW5rIHByb2xvZ0NDb21tZW50ICAgICAgICAgQ29tbWVudAotICBIaUxpbmsgcHJvbG9nQ2hhckNvZGUgICAgICAgICBTcGVjaWFsCisiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KK0hpTGluayBwcm9sb2dDb21tZW50ICAgICAgICAgIENvbW1lbnQKK0hpTGluayBwcm9sb2dDQ29tbWVudCAgICAgICAgIENvbW1lbnQKK0hpTGluayBwcm9sb2dDaGFyQ29kZSAgICAgICAgIFNwZWNpYWwKIAotICBpZiBleGlzdHMgKCJwcm9sb2dfaGlnaGxpZ2h0aW5nX2NsZWFuIikKK2lmIGV4aXN0cyAoInByb2xvZ19oaWdobGlnaHRpbmdfY2xlYW4iKQogCi0gICAgSGlMaW5rIHByb2xvZ0tleXdvcmQgICAgICAgIFN0YXRlbWVudAotICAgIEhpTGluayBwcm9sb2dDbGF1c2VIZWFkICAgICBTdGF0ZW1lbnQKLSAgICBIaUxpbmsgcHJvbG9nQ2xhdXNlIE5vcm1hbAorSGlMaW5rIHByb2xvZ0tleXdvcmQgICAgICAgIFN0YXRlbWVudAorSGlMaW5rIHByb2xvZ0NsYXVzZUhlYWQgICAgIFN0YXRlbWVudAorSGlMaW5rIHByb2xvZ0NsYXVzZSBOb3JtYWwKIAotICBlbHNlCitlbHNlCiAKLSAgICBIaUxpbmsgcHJvbG9nS2V5d29yZCAgICAgICAgS2V5d29yZAotICAgIEhpTGluayBwcm9sb2dDbGF1c2VIZWFkICAgICBDb25zdGFudAotICAgIEhpTGluayBwcm9sb2dDbGF1c2UgTm9ybWFsCi0gICAgSGlMaW5rIHByb2xvZ1F1ZXN0aW9uICAgICAgIFByZVByb2MKLSAgICBIaUxpbmsgcHJvbG9nU3BlY2lhbENoYXJhY3RlciBTcGVjaWFsCi0gICAgSGlMaW5rIHByb2xvZ051bWJlciAgICAgICAgIE51bWJlcgotICAgIEhpTGluayBwcm9sb2dBc0lzICAgICAgICAgICBOb3JtYWwKLSAgICBIaUxpbmsgcHJvbG9nQ29tbWVudEVycm9yICAgRXJyb3IKLSAgICBIaUxpbmsgcHJvbG9nQXRvbSAgICAgICAgICAgU3RyaW5nCi0gICAgSGlMaW5rIHByb2xvZ1N0cmluZyAgICAgICAgIFN0cmluZwotICAgIEhpTGluayBwcm9sb2dPcGVyYXRvciAgICAgICBPcGVyYXRvcgorSGlMaW5rIHByb2xvZ0tleXdvcmQgICAgICAgIEtleXdvcmQKK0hpTGluayBwcm9sb2dDbGF1c2VIZWFkICAgICBDb25zdGFudAorSGlMaW5rIHByb2xvZ0NsYXVzZSBOb3JtYWwKK0hpTGluayBwcm9sb2dRdWVzdGlvbiAgICAgICBQcmVQcm9jCitIaUxpbmsgcHJvbG9nU3BlY2lhbENoYXJhY3RlciBTcGVjaWFsCitIaUxpbmsgcHJvbG9nTnVtYmVyICAgICAgICAgTnVtYmVyCitIaUxpbmsgcHJvbG9nQXNJcyAgICAgICAgICAgTm9ybWFsCitIaUxpbmsgcHJvbG9nQ29tbWVudEVycm9yICAgRXJyb3IKK0hpTGluayBwcm9sb2dBdG9tICAgICAgICAgICBTdHJpbmcKK0hpTGluayBwcm9sb2dTdHJpbmcgICAgICAgICBTdHJpbmcKK0hpTGluayBwcm9sb2dPcGVyYXRvciAgICAgICBPcGVyYXRvcgogCi0gIGVuZGlmCi0KLSAgZGVsY29tbWFuZCBIaUxpbmsKIGVuZGlmCiAKK2RlbGNvbW1hbmQgSGlMaW5rCisKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInByb2xvZyIKIAogIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Byb21lbGEudmltIGIvcnVudGltZS9zeW50YXgvcHJvbWVsYS52aW0KaW5kZXggZTgxMmJjMi4uYWRkNDUxNCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcHJvbWVsYS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcHJvbWVsYS52aW0KQEAgLTUsMTEgKzUsOCBAQAogIiBMYXN0IENoYW5nZToJCVRodSBBdWcgNyAyMToyMjo0OCBDRVNUIDIwMDgKICIgVmVyc2lvbjoJCQkwLjUKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Byb3RvLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Byb3RvLnZpbQppbmRleCA0ZDZhNzdlLi40NjE1ZTBjIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9wcm90by52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcHJvdG8udmltCkBAIC0yMiw5ICsyMiw4IEBACiAiCiAiIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9wcm90b2J1Zi8KIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcHNmLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BzZi52aW0KaW5kZXggMmIzNzZmOS4uZTA1OWZmOSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcHNmLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9wc2YudmltCkBAIC00LDEwICs0LDggQEAKICIgTWFpbnRhaW5lcjoJUmV4IEJhcnplZSA8cmV4X2JhcnplZUBocC5jb20+CiAiIExhc3QgY2hhbmdlOgkyNSBBcHIgMjAwMQogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICIgUmVtb3ZlIGFueSBvbGQgc3ludGF4IHN0dWZmIGhhbmdpbmcgYXJvdW5kCi0gIHN5biBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC03MywyNyArNzEsMTkgQEAKIAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9wc2Zfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcHNmX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgcHNmT2JqZWN0ICAgICAgIFN0YXRlbWVudAotICBIaUxpbmsgcHNmQXR0cmliICAgICAgIFR5cGUKLSAgSGlMaW5rIHBzZlF1b3RTdHJpbmcgICBTdHJpbmcKLSAgSGlMaW5rIHBzZk9ialRhZyAgICAgICBJZGVudGlmaWVyCi0gIEhpTGluayBwc2ZBdHRBYmJyZXYgICAgUHJlUHJvYwotICBIaUxpbmsgcHNmT2JqVGFncyAgICAgIElkZW50aWZpZXIKK0hpTGluayBwc2ZPYmplY3QgICAgICAgU3RhdGVtZW50CitIaUxpbmsgcHNmQXR0cmliICAgICAgIFR5cGUKK0hpTGluayBwc2ZRdW90U3RyaW5nICAgU3RyaW5nCitIaUxpbmsgcHNmT2JqVGFnICAgICAgIElkZW50aWZpZXIKK0hpTGluayBwc2ZBdHRBYmJyZXYgICAgUHJlUHJvYworSGlMaW5rIHBzZk9ialRhZ3MgICAgICBJZGVudGlmaWVyCiAKLSAgSGlMaW5rIHBzZkNvbW1lbnQgICAgICBDb21tZW50CitIaUxpbmsgcHNmQ29tbWVudCAgICAgIENvbW1lbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKICIgTG9uZyBkZXNjcmlwdGlvbnMgYW5kIGNvcHlyaWdodHMgY29uZnVzZSB0aGUgc3ludGF4IGhpZ2hsaWdodGluZywgc28KICIgZm9yY2UgdmltIHRvIGJhY2t1cCBhdCBsZWFzdCAxMDAgbGluZXMgYmVmb3JlIHRoZSB0b3AgdmlzaWJsZSBsaW5lCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wdGNhcC52aW0gYi9ydW50aW1lL3N5bnRheC9wdGNhcC52aW0KaW5kZXggNDU1OTBjZi4uNmQzYzQ2MCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcHRjYXAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3B0Y2FwLnZpbQpAQCAtNCwxMSArNCw4IEBACiAiIFVSTDoJCWh0dHA6Ly9mb2xrLnVpby5uby9oYWtvbnJrL3ZpbS9zeW50YXgvcHRjYXAudmltCiAiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAxNQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5biBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKIGVuZGlmCiAKQEAgLTczLDM0ICs3MCwyNyBAQAogc3luIHJlZ2lvbiBwdGNhcFN0cmluZwkgICAgbWF0Y2hncm91cD1wdGNhcE9wZXJhdG9yIHN0YXJ0PSI9IiBza2lwPSJbXlxcXVwoXFxcXFwpKlxcOiIgbWF0Y2hncm91cD1wdGNhcERlbGltaXRlciBlbmQ9IjoibWU9ZS0xIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9IlteXFxdXChcXFxcXCkqW15cXF0kIiBlbmQ9Il4kIiBjb250YWlucz1wdGNhcEVzY2FwZWRDaGFyLHB0Y2FwTGluZUNvbnQga2VlcGVuZCBjb250YWluZWQKIHN5biByZWdpb24gcHRjYXBDb21tZW50CSAgICBzdGFydD0iXlxzKiMiIGVuZD0iJCIgY29udGFpbnM9cHRjYXBMZWFkQmxhbmsKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3B0Y2FwX3N5bnRheF9pbml0cyIpCi0gICAgaWYgdmVyc2lvbiA8IDUwOAotCWxldCBkaWRfcHRjYXBfc3ludGF4X2luaXRzID0gMQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICAgZWxzZQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICAgIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAgIEhpTGluayBwdGNhcENvbW1lbnQJCUNvbW1lbnQKLSAgICBIaUxpbmsgcHRjYXBEZWxpbWl0ZXIJRGVsaW1pdGVyCi0gICAgIiBUaGUgaGlnaGxpZ2h0aW5nIG9mICJwdGNhcEVudHJ5IiBzaG91bGQgYWx3YXlzIGJlIG92ZXJyaWRkZW4gYnkKLSAgICAiIGl0cyBjb250ZW50cywgc28gSSB1c2UgVG9kbyBoaWdobGlnaHRpbmcgdG8gaW5kaWNhdGUgdGhhdCB0aGVyZQotICAgICIgaXMgd29yayB0byBiZSBkb25lIHdpdGggdGhlIHN5bnRheCBmaWxlIGlmIHlvdSBjYW4gc2VlIGl0IDotKQotICAgIEhpTGluayBwdGNhcEVudHJ5CQlUb2RvCi0gICAgSGlMaW5rIHB0Y2FwRXJyb3IJCUVycm9yCi0gICAgSGlMaW5rIHB0Y2FwRXNjYXBlZENoYXIJU3BlY2lhbENoYXIKLSAgICBIaUxpbmsgcHRjYXBGaWVsZAkJVHlwZQotICAgIEhpTGluayBwdGNhcExlYWRCbGFuawlOT05FCi0gICAgSGlMaW5rIHB0Y2FwTGluZUNvbnQJU3BlY2lhbAotICAgIEhpTGluayBwdGNhcE5hbWVzCQlMYWJlbAotICAgIEhpTGluayBwdGNhcE51bWJlcgkJTk9ORQotICAgIEhpTGluayBwdGNhcE51bWJlckVycm9yCUVycm9yCi0gICAgSGlMaW5rIHB0Y2FwT3BlcmF0b3IJT3BlcmF0b3IKLSAgICBIaUxpbmsgcHRjYXBTcGVjaWFsQ2FwCVR5cGUKLSAgICBIaUxpbmsgcHRjYXBTdHJpbmcJCU5PTkUKK0hpTGluayBwdGNhcENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBwdGNhcERlbGltaXRlcglEZWxpbWl0ZXIKKyIgVGhlIGhpZ2hsaWdodGluZyBvZiAicHRjYXBFbnRyeSIgc2hvdWxkIGFsd2F5cyBiZSBvdmVycmlkZGVuIGJ5CisiIGl0cyBjb250ZW50cywgc28gSSB1c2UgVG9kbyBoaWdobGlnaHRpbmcgdG8gaW5kaWNhdGUgdGhhdCB0aGVyZQorIiBpcyB3b3JrIHRvIGJlIGRvbmUgd2l0aCB0aGUgc3ludGF4IGZpbGUgaWYgeW91IGNhbiBzZWUgaXQgOi0pCitIaUxpbmsgcHRjYXBFbnRyeQkJVG9kbworSGlMaW5rIHB0Y2FwRXJyb3IJCUVycm9yCitIaUxpbmsgcHRjYXBFc2NhcGVkQ2hhcglTcGVjaWFsQ2hhcgorSGlMaW5rIHB0Y2FwRmllbGQJCVR5cGUKK0hpTGluayBwdGNhcExlYWRCbGFuawlOT05FCitIaUxpbmsgcHRjYXBMaW5lQ29udAlTcGVjaWFsCitIaUxpbmsgcHRjYXBOYW1lcwkJTGFiZWwKK0hpTGluayBwdGNhcE51bWJlcgkJTk9ORQorSGlMaW5rIHB0Y2FwTnVtYmVyRXJyb3IJRXJyb3IKK0hpTGluayBwdGNhcE9wZXJhdG9yCU9wZXJhdG9yCitIaUxpbmsgcHRjYXBTcGVjaWFsQ2FwCVR5cGUKK0hpTGluayBwdGNhcFN0cmluZwkJTk9ORQogCi0gICAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwdGNhcCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcHVyaWZ5bG9nLnZpbSBiL3J1bnRpbWUvc3ludGF4L3B1cmlmeWxvZy52aW0KaW5kZXggOGJjZmI0Yi4uYjU2Y2E2YSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcHVyaWZ5bG9nLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9wdXJpZnlsb2cudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJR2F1dGFtIEguIE11ZHVudXJpIDxnbXVkdW51ckBpbmZvcm1hdGljYS5jb20+CiAiIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAxMQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTcsNjIgKzU0LDU0IEBACiBzeW4gbWF0Y2ggcHVyaWZ5TG9nWlBXICJeWlBXOi4qJCIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcHVyaWZ5TG9nX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3B1cmlmeUxvZ19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLQlIaUxpbmsgcHVyaWZ5TG9nRklVIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKLQlIaUxpbmsgcHVyaWZ5TG9nTUFGIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKLQlIaUxpbmsgcHVyaWZ5TG9nTUlVIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKLQlIaUxpbmsgcHVyaWZ5TG9nU0lHIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKLQlIaUxpbmsgcHVyaWZ5TG9nV1BGIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKLQlIaUxpbmsgcHVyaWZ5TG9nV1BNIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKLQlIaUxpbmsgcHVyaWZ5TG9nV1BOIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKLQlIaUxpbmsgcHVyaWZ5TG9nV1BSIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKLQlIaUxpbmsgcHVyaWZ5TG9nV1BXIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKLQlIaUxpbmsgcHVyaWZ5TG9nV1BYIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKK0hpTGluayBwdXJpZnlMb2dGSVUgcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorSGlMaW5rIHB1cmlmeUxvZ01BRiBwdXJpZnlMb2dJbmZvcm1hdGlvbmFsCitIaUxpbmsgcHVyaWZ5TG9nTUlVIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKK0hpTGluayBwdXJpZnlMb2dTSUcgcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorSGlMaW5rIHB1cmlmeUxvZ1dQRiBwdXJpZnlMb2dJbmZvcm1hdGlvbmFsCitIaUxpbmsgcHVyaWZ5TG9nV1BNIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKK0hpTGluayBwdXJpZnlMb2dXUE4gcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAorSGlMaW5rIHB1cmlmeUxvZ1dQUiBwdXJpZnlMb2dJbmZvcm1hdGlvbmFsCitIaUxpbmsgcHVyaWZ5TG9nV1BXIHB1cmlmeUxvZ0luZm9ybWF0aW9uYWwKK0hpTGluayBwdXJpZnlMb2dXUFggcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAogCi0JSGlMaW5rIHB1cmlmeUxvZ0FCUiBwdXJpZnlMb2dXYXJuaW5nCi0JSGlMaW5rIHB1cmlmeUxvZ0JTUiBwdXJpZnlMb2dXYXJuaW5nCi0JSGlMaW5rIHB1cmlmeUxvZ0JTVyBwdXJpZnlMb2dXYXJuaW5nCi0JSGlMaW5rIHB1cmlmeUxvZ0ZNUiBwdXJpZnlMb2dXYXJuaW5nCi0JSGlMaW5rIHB1cmlmeUxvZ01MSyBwdXJpZnlMb2dXYXJuaW5nCi0JSGlMaW5rIHB1cmlmeUxvZ01TRSBwdXJpZnlMb2dXYXJuaW5nCi0JSGlMaW5rIHB1cmlmeUxvZ1BBUiBwdXJpZnlMb2dXYXJuaW5nCi0JSGlMaW5rIHB1cmlmeUxvZ1BMSyBwdXJpZnlMb2dXYXJuaW5nCi0JSGlMaW5rIHB1cmlmeUxvZ1NCUiBwdXJpZnlMb2dXYXJuaW5nCi0JSGlMaW5rIHB1cmlmeUxvZ1NPRiBwdXJpZnlMb2dXYXJuaW5nCi0JSGlMaW5rIHB1cmlmeUxvZ1VNQyBwdXJpZnlMb2dXYXJuaW5nCi0JSGlMaW5rIHB1cmlmeUxvZ1VNUiBwdXJpZnlMb2dXYXJuaW5nCitIaUxpbmsgcHVyaWZ5TG9nQUJSIHB1cmlmeUxvZ1dhcm5pbmcKK0hpTGluayBwdXJpZnlMb2dCU1IgcHVyaWZ5TG9nV2FybmluZworSGlMaW5rIHB1cmlmeUxvZ0JTVyBwdXJpZnlMb2dXYXJuaW5nCitIaUxpbmsgcHVyaWZ5TG9nRk1SIHB1cmlmeUxvZ1dhcm5pbmcKK0hpTGluayBwdXJpZnlMb2dNTEsgcHVyaWZ5TG9nV2FybmluZworSGlMaW5rIHB1cmlmeUxvZ01TRSBwdXJpZnlMb2dXYXJuaW5nCitIaUxpbmsgcHVyaWZ5TG9nUEFSIHB1cmlmeUxvZ1dhcm5pbmcKK0hpTGluayBwdXJpZnlMb2dQTEsgcHVyaWZ5TG9nV2FybmluZworSGlMaW5rIHB1cmlmeUxvZ1NCUiBwdXJpZnlMb2dXYXJuaW5nCitIaUxpbmsgcHVyaWZ5TG9nU09GIHB1cmlmeUxvZ1dhcm5pbmcKK0hpTGluayBwdXJpZnlMb2dVTUMgcHVyaWZ5TG9nV2FybmluZworSGlMaW5rIHB1cmlmeUxvZ1VNUiBwdXJpZnlMb2dXYXJuaW5nCiAKLQlIaUxpbmsgcHVyaWZ5TG9nQUJXIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKLQlIaUxpbmsgcHVyaWZ5TG9nQlJLIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKLQlIaUxpbmsgcHVyaWZ5TG9nRk1XIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKLQlIaUxpbmsgcHVyaWZ5TG9nRk5IIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKLQlIaUxpbmsgcHVyaWZ5TG9nRlVNIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKLQlIaUxpbmsgcHVyaWZ5TG9nTVJFIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKLQlIaUxpbmsgcHVyaWZ5TG9nU0JXIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKK0hpTGluayBwdXJpZnlMb2dBQlcgcHVyaWZ5TG9nQ29ycnVwdGluZworSGlMaW5rIHB1cmlmeUxvZ0JSSyBwdXJpZnlMb2dDb3JydXB0aW5nCitIaUxpbmsgcHVyaWZ5TG9nRk1XIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKK0hpTGluayBwdXJpZnlMb2dGTkggcHVyaWZ5TG9nQ29ycnVwdGluZworSGlMaW5rIHB1cmlmeUxvZ0ZVTSBwdXJpZnlMb2dDb3JydXB0aW5nCitIaUxpbmsgcHVyaWZ5TG9nTVJFIHB1cmlmeUxvZ0NvcnJ1cHRpbmcKK0hpTGluayBwdXJpZnlMb2dTQlcgcHVyaWZ5TG9nQ29ycnVwdGluZwogCi0JSGlMaW5rIHB1cmlmeUxvZ0NPUiBwdXJpZnlMb2dGYXRhbAotCUhpTGluayBwdXJpZnlMb2dOUFIgcHVyaWZ5TG9nRmF0YWwKLQlIaUxpbmsgcHVyaWZ5TG9nTlBXIHB1cmlmeUxvZ0ZhdGFsCi0JSGlMaW5rIHB1cmlmeUxvZ1pQUiBwdXJpZnlMb2dGYXRhbAotCUhpTGluayBwdXJpZnlMb2daUFcgcHVyaWZ5TG9nRmF0YWwKK0hpTGluayBwdXJpZnlMb2dDT1IgcHVyaWZ5TG9nRmF0YWwKK0hpTGluayBwdXJpZnlMb2dOUFIgcHVyaWZ5TG9nRmF0YWwKK0hpTGluayBwdXJpZnlMb2dOUFcgcHVyaWZ5TG9nRmF0YWwKK0hpTGluayBwdXJpZnlMb2daUFIgcHVyaWZ5TG9nRmF0YWwKK0hpTGluayBwdXJpZnlMb2daUFcgcHVyaWZ5TG9nRmF0YWwKIAotCUhpTGluayBwdXJpZnlMb2dIZWFkZXIJCUNvbW1lbnQKLQlIaUxpbmsgcHVyaWZ5TG9nSW5mb3JtYXRpb25hbAlQcmVQcm9jCi0JSGlMaW5rIHB1cmlmeUxvZ1dhcm5pbmcJCVR5cGUKLQlIaUxpbmsgcHVyaWZ5TG9nQ29ycnVwdGluZwlFcnJvcgotCUhpTGluayBwdXJpZnlMb2dGYXRhbAkJRXJyb3IKK0hpTGluayBwdXJpZnlMb2dIZWFkZXIJCUNvbW1lbnQKK0hpTGluayBwdXJpZnlMb2dJbmZvcm1hdGlvbmFsCVByZVByb2MKK0hpTGluayBwdXJpZnlMb2dXYXJuaW5nCQlUeXBlCitIaUxpbmsgcHVyaWZ5TG9nQ29ycnVwdGluZwlFcnJvcgorSGlMaW5rIHB1cmlmeUxvZ0ZhdGFsCQlFcnJvcgogCi0JZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwdXJpZnlsb2ciCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3B5cmV4LnZpbSBiL3J1bnRpbWUvc3ludGF4L3B5cmV4LnZpbQppbmRleCA3ZGM5Yjk1Li5jZDc0M2RmIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9weXJleC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcHlyZXgudmltCkBAIC00LDIxICs0LDE0IEBACiAiIFVSTDoJCWh0dHA6Ly9tYXJjb2JhcmkuYWx0ZXJ2aXN0YS5vcmcvcHlyZXhfdmltLmh0bWwKICIgTGFzdCBDaGFuZ2U6CTIwMDkgTm92IDA5CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCiAiIFJlYWQgdGhlIFB5dGhvbiBzeW50YXggdG8gc3RhcnQgd2l0aAotaWYgdmVyc2lvbiA8IDYwMAotICBzbyA8c2ZpbGU+OnA6aC9weXRob24udmltCi1lbHNlCi0gIHJ1bnRpbWUhIHN5bnRheC9weXRob24udmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvcHl0aG9uLnZpbQordW5sZXQgYjpjdXJyZW50X3N5bnRheAogCiAiIFB5cmV4IGV4dGVudGlvbnMKIHN5biBrZXl3b3JkIHB5cmV4U3RhdGVtZW50ICAgICAgY2RlZiB0eXBlZGVmIGN0eXBlZGVmIHNpemVvZgpAQCAtNDQsMjQgKzM3LDE3IEBACiBzeW4gbWF0Y2ggICBweXJleEZvckZyb20gICAgICAgICJcKGZvclteOl0qXClcQDw9ZnJvbSIKIAogIiBEZWZhdWx0IGhpZ2hsaWdodGluZwotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3B5cmV4X3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3B5cmV4X3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCi0gIEhpTGluayBweXJleFN0YXRlbWVudAkJU3RhdGVtZW50Ci0gIEhpTGluayBweXJleFR5cGUJCVR5cGUKLSAgSGlMaW5rIHB5cmV4U3RydWN0dXJlCQlTdHJ1Y3R1cmUKLSAgSGlMaW5rIHB5cmV4SW5jbHVkZQkJUHJlQ29uZGl0Ci0gIEhpTGluayBweXJleEFjY2VzcwkJcHlyZXhTdGF0ZW1lbnQKLSAgaWYgZXhpc3RzKCJweXRob25faGlnaGxpZ2h0X2J1aWx0aW5zIikgfHwgZXhpc3RzKCJweXJleF9oaWdobGlnaHRfYnVpbHRpbnMiKQotICAgICAgSGlMaW5rIHB5cmV4QnVpbHRpbglGdW5jdGlvbgotICBlbmRpZgotICBIaUxpbmsgcHlyZXhGb3JGcm9tCQlTdGF0ZW1lbnQKLQotICBkZWxjb21tYW5kIEhpTGluaworY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CitIaUxpbmsgcHlyZXhTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIHB5cmV4VHlwZQkJVHlwZQorSGlMaW5rIHB5cmV4U3RydWN0dXJlCQlTdHJ1Y3R1cmUKK0hpTGluayBweXJleEluY2x1ZGUJCVByZUNvbmRpdAorSGlMaW5rIHB5cmV4QWNjZXNzCQlweXJleFN0YXRlbWVudAoraWYgZXhpc3RzKCJweXRob25faGlnaGxpZ2h0X2J1aWx0aW5zIikgfHwgZXhpc3RzKCJweXJleF9oaWdobGlnaHRfYnVpbHRpbnMiKQorSGlMaW5rIHB5cmV4QnVpbHRpbglGdW5jdGlvbgogZW5kaWYKK0hpTGluayBweXJleEZvckZyb20JCVN0YXRlbWVudAorCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJweXJleCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3B5dGhvbi52aW0gYi9ydW50aW1lL3N5bnRheC9weXRob24udmltCmluZGV4IDU5Njc1YzMuLjE5NTE2ODAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3B5dGhvbi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcHl0aG9uLnZpbQpAQCAtMzYsMTEgKzM2LDggQEAKICIgICBsZXQgcHl0aG9uX2hpZ2hsaWdodF9hbGwgPSAxCiAiCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zLgotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZC4KLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkLgoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0yOTIsNTEgKzI4OSw0NCBAQAogIiBTeW5jIGF0IHRoZSBiZWdpbm5pbmcgb2YgY2xhc3MsIGZ1bmN0aW9uLCBvciBtZXRob2QgZGVmaW5pdGlvbi4KIHN5biBzeW5jIG1hdGNoIHB5dGhvblN5bmMgZ3JvdXBoZXJlIE5PTkUgIl5ccypcJShkZWZcfGNsYXNzXClcc1wrXGhcdypccyooIgogCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcHl0aG9uX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPD0gNTA4Ci0gICAgbGV0IGRpZF9weXRob25fc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gICIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0IGxpbmtzLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIuCi0gIEhpTGluayBweXRob25TdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluayBweXRob25Db25kaXRpb25hbAlDb25kaXRpb25hbAotICBIaUxpbmsgcHl0aG9uUmVwZWF0CQlSZXBlYXQKLSAgSGlMaW5rIHB5dGhvbk9wZXJhdG9yCQlPcGVyYXRvcgotICBIaUxpbmsgcHl0aG9uRXhjZXB0aW9uCUV4Y2VwdGlvbgotICBIaUxpbmsgcHl0aG9uSW5jbHVkZQkJSW5jbHVkZQotICBIaUxpbmsgcHl0aG9uQXN5bmMJCVN0YXRlbWVudAotICBIaUxpbmsgcHl0aG9uRGVjb3JhdG9yCURlZmluZQotICBIaUxpbmsgcHl0aG9uRGVjb3JhdG9yTmFtZQlGdW5jdGlvbgotICBIaUxpbmsgcHl0aG9uRnVuY3Rpb24JCUZ1bmN0aW9uCi0gIEhpTGluayBweXRob25Db21tZW50CQlDb21tZW50Ci0gIEhpTGluayBweXRob25Ub2RvCQlUb2RvCi0gIEhpTGluayBweXRob25TdHJpbmcJCVN0cmluZwotICBIaUxpbmsgcHl0aG9uUmF3U3RyaW5nCVN0cmluZwotICBIaUxpbmsgcHl0aG9uUXVvdGVzCQlTdHJpbmcKLSAgSGlMaW5rIHB5dGhvblRyaXBsZVF1b3RlcwlweXRob25RdW90ZXMKLSAgSGlMaW5rIHB5dGhvbkVzY2FwZQkJU3BlY2lhbAotICBpZiAhZXhpc3RzKCJweXRob25fbm9fbnVtYmVyX2hpZ2hsaWdodCIpCi0gICAgSGlMaW5rIHB5dGhvbk51bWJlcgkJTnVtYmVyCi0gIGVuZGlmCi0gIGlmICFleGlzdHMoInB5dGhvbl9ub19idWlsdGluX2hpZ2hsaWdodCIpCi0gICAgSGlMaW5rIHB5dGhvbkJ1aWx0aW4JRnVuY3Rpb24KLSAgZW5kaWYKLSAgaWYgIWV4aXN0cygicHl0aG9uX25vX2V4Y2VwdGlvbl9oaWdobGlnaHQiKQotICAgIEhpTGluayBweXRob25FeGNlcHRpb25zCVN0cnVjdHVyZQotICBlbmRpZgotICBpZiBleGlzdHMoInB5dGhvbl9zcGFjZV9lcnJvcl9oaWdobGlnaHQiKQotICAgIEhpTGluayBweXRob25TcGFjZUVycm9yCUVycm9yCi0gIGVuZGlmCi0gIGlmICFleGlzdHMoInB5dGhvbl9ub19kb2N0ZXN0X2hpZ2hsaWdodCIpCi0gICAgSGlMaW5rIHB5dGhvbkRvY3Rlc3QJU3BlY2lhbAotICAgIEhpTGluayBweXRob25Eb2N0ZXN0VmFsdWUJRGVmaW5lCi0gIGVuZGlmCi0KLSAgZGVsY29tbWFuZCBIaUxpbmsKKyIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0IGxpbmtzLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIuCitIaUxpbmsgcHl0aG9uU3RhdGVtZW50CVN0YXRlbWVudAorSGlMaW5rIHB5dGhvbkNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCitIaUxpbmsgcHl0aG9uUmVwZWF0CQlSZXBlYXQKK0hpTGluayBweXRob25PcGVyYXRvcgkJT3BlcmF0b3IKK0hpTGluayBweXRob25FeGNlcHRpb24JRXhjZXB0aW9uCitIaUxpbmsgcHl0aG9uSW5jbHVkZQkJSW5jbHVkZQorSGlMaW5rIHB5dGhvbkFzeW5jCQlTdGF0ZW1lbnQKK0hpTGluayBweXRob25EZWNvcmF0b3IJRGVmaW5lCitIaUxpbmsgcHl0aG9uRGVjb3JhdG9yTmFtZQlGdW5jdGlvbgorSGlMaW5rIHB5dGhvbkZ1bmN0aW9uCQlGdW5jdGlvbgorSGlMaW5rIHB5dGhvbkNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBweXRob25Ub2RvCQlUb2RvCitIaUxpbmsgcHl0aG9uU3RyaW5nCQlTdHJpbmcKK0hpTGluayBweXRob25SYXdTdHJpbmcJU3RyaW5nCitIaUxpbmsgcHl0aG9uUXVvdGVzCQlTdHJpbmcKK0hpTGluayBweXRob25UcmlwbGVRdW90ZXMJcHl0aG9uUXVvdGVzCitIaUxpbmsgcHl0aG9uRXNjYXBlCQlTcGVjaWFsCitpZiAhZXhpc3RzKCJweXRob25fbm9fbnVtYmVyX2hpZ2hsaWdodCIpCisgIEhpTGluayBweXRob25OdW1iZXIJCU51bWJlcgogZW5kaWYKK2lmICFleGlzdHMoInB5dGhvbl9ub19idWlsdGluX2hpZ2hsaWdodCIpCisgIEhpTGluayBweXRob25CdWlsdGluCUZ1bmN0aW9uCitlbmRpZgoraWYgIWV4aXN0cygicHl0aG9uX25vX2V4Y2VwdGlvbl9oaWdobGlnaHQiKQorICBIaUxpbmsgcHl0aG9uRXhjZXB0aW9ucwlTdHJ1Y3R1cmUKK2VuZGlmCitpZiBleGlzdHMoInB5dGhvbl9zcGFjZV9lcnJvcl9oaWdobGlnaHQiKQorICBIaUxpbmsgcHl0aG9uU3BhY2VFcnJvcglFcnJvcgorZW5kaWYKK2lmICFleGlzdHMoInB5dGhvbl9ub19kb2N0ZXN0X2hpZ2hsaWdodCIpCisgIEhpTGluayBweXRob25Eb2N0ZXN0CVNwZWNpYWwKKyAgSGlMaW5rIHB5dGhvbkRvY3Rlc3RWYWx1ZQlEZWZpbmUKK2VuZGlmCisKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInB5dGhvbiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcmFkaWFuY2UudmltIGIvcnVudGltZS9zeW50YXgvcmFkaWFuY2UudmltCmluZGV4IDQ2MWI3MDguLjEzNDc5MmEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3JhZGlhbmNlLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9yYWRpYW5jZS52aW0KQEAgLTE4LDIwICsxOCwxMyBAQAogIiBjb21tZW50cywgZXh0ZXJuYWwgY29tbWFuZCBuYW1lcyBhbmQgdGhlIG51bGwtbW9kaWZpZXIgInZvaWQiLgogCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCiAiIGFsbCBwcmludGluZyBjaGFyYWN0ZXJzIGV4Y2VwdCAnIycgYW5kICchJyBhcmUgdmFsaWQgaW4gbmFtZXMuCi1pZiB2ZXJzaW9uID49IDYwMAotICBzZXRsb2NhbCBpc2tleXdvcmQ9XCIsJC1+Ci1lbHNlCi0gIHNldCBpc2tleXdvcmQ9XCIsJC1+Ci1lbmRpZgorc2V0bG9jYWwgaXNrZXl3b3JkPVwiLCQtfgogCiAiIFRoZSBudWxsLW1vZGlmaWVyCiBzeW4ga2V5d29yZCByYWRpYW5jZUtleXdvcmQgdm9pZApAQCAtMTMwLDI5ICsxMjMsMjEgQEAKIHN5biBtYXRjaCByYWRpYW5jZUNvbW1lbnQgIiMuKiQiIGNvbnRhaW5zPXJhZGlhbmNlVG9kbwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yYWRpYW5jZV9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9yYWRpYW5jZV9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgotICBIaUxpbmsgcmFkaWFuY2VLZXl3b3JkCUtleXdvcmQKLSAgSGlMaW5rIHJhZGlhbmNlRXh0cmFUeXBlCVR5cGUKLSAgSGlMaW5rIHJhZGlhbmNlU3VyZlR5cGUJVHlwZQotICBIaUxpbmsgcmFkaWFuY2VMaWdodFR5cGUJVHlwZQotICBIaUxpbmsgcmFkaWFuY2VNYXRUeXBlCVR5cGUKLSAgSGlMaW5rIHJhZGlhbmNlUGF0VHlwZQlUeXBlCi0gIEhpTGluayByYWRpYW5jZVRleFR5cGUJVHlwZQotICBIaUxpbmsgcmFkaWFuY2VNaXhUeXBlCVR5cGUKLSAgSGlMaW5rIHJhZGlhbmNlQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayByYWRpYW5jZUNvbW1hbmQJRnVuY3Rpb24KLSAgSGlMaW5rIHJhZGlhbmNlSUQJCVN0cmluZwotICBIaUxpbmsgcmFkaWFuY2VUb2RvCQlUb2RvCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CitIaUxpbmsgcmFkaWFuY2VLZXl3b3JkCUtleXdvcmQKK0hpTGluayByYWRpYW5jZUV4dHJhVHlwZQlUeXBlCitIaUxpbmsgcmFkaWFuY2VTdXJmVHlwZQlUeXBlCitIaUxpbmsgcmFkaWFuY2VMaWdodFR5cGUJVHlwZQorSGlMaW5rIHJhZGlhbmNlTWF0VHlwZQlUeXBlCitIaUxpbmsgcmFkaWFuY2VQYXRUeXBlCVR5cGUKK0hpTGluayByYWRpYW5jZVRleFR5cGUJVHlwZQorSGlMaW5rIHJhZGlhbmNlTWl4VHlwZQlUeXBlCitIaUxpbmsgcmFkaWFuY2VDb21tZW50CUNvbW1lbnQKK0hpTGluayByYWRpYW5jZUNvbW1hbmQJRnVuY3Rpb24KK0hpTGluayByYWRpYW5jZUlECQlTdHJpbmcKK0hpTGluayByYWRpYW5jZVRvZG8JCVRvZG8KK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInJhZGlhbmNlIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9yYXRwb2lzb24udmltIGIvcnVudGltZS9zeW50YXgvcmF0cG9pc29uLnZpbQppbmRleCA5ZmM1OWJlLi4zMGNmMzY5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9yYXRwb2lzb24udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3JhdHBvaXNvbi52aW0KQEAgLTUsMTEgKzUsOCBAQAogIiBMYXN0IENoYW5nZToJMjAxMSBBcHIgMTEKICIgUHJldmlvdXMgTWFpbnRhaW5lcjoJRG91ZyBLZWFybnMgPGRqa2VhMkBndXMuZ3NjaXQubW9uYXNoLmVkdS5hdT4KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTI0NywzMyArMjQ0LDI1IEBACiBzeW4gbWF0Y2ggICByYXRwb2lzb25Wb2lkQ29tbWFuZAkiXlxzKlx6c3dpbmRvd3NcemVccyokIgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yYXRwb2lzb25fc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcmF0cG9pc29uX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgcmF0cG9pc29uQm9vbGVhbkFyZwlCb29sZWFuCi0gIEhpTGluayByYXRwb2lzb25Db21tYW5kQXJnCUtleXdvcmQKLSAgSGlMaW5rIHJhdHBvaXNvbkNvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgcmF0cG9pc29uRGVmQ29tbWFuZAlJZGVudGlmaWVyCi0gIEhpTGluayByYXRwb2lzb25HcmF2aXR5QXJnCUNvbnN0YW50Ci0gIEhpTGluayByYXRwb2lzb25LZXlTZXFBcmcJU3BlY2lhbAotICBIaUxpbmsgcmF0cG9pc29uTnVtYmVyQXJnCU51bWJlcgotICBIaUxpbmsgcmF0cG9pc29uU2V0QXJnCUtleXdvcmQKLSAgSGlMaW5rIHJhdHBvaXNvblN0cmluZ0NvbW1hbmQJSWRlbnRpZmllcgotICBIaUxpbmsgcmF0cG9pc29uVG9kbwkJVG9kbwotICBIaUxpbmsgcmF0cG9pc29uVm9pZENvbW1hbmQJSWRlbnRpZmllcgotICBIaUxpbmsgcmF0cG9pc29uV2luRm10QXJnCVNwZWNpYWwKLSAgSGlMaW5rIHJhdHBvaXNvbldpbk5hbWVBcmcJQ29uc3RhbnQKLSAgSGlMaW5rIHJhdHBvaXNvbldpbkxpc3RBcmcJQ29uc3RhbnQKK0hpTGluayByYXRwb2lzb25Cb29sZWFuQXJnCUJvb2xlYW4KK0hpTGluayByYXRwb2lzb25Db21tYW5kQXJnCUtleXdvcmQKK0hpTGluayByYXRwb2lzb25Db21tZW50CUNvbW1lbnQKK0hpTGluayByYXRwb2lzb25EZWZDb21tYW5kCUlkZW50aWZpZXIKK0hpTGluayByYXRwb2lzb25HcmF2aXR5QXJnCUNvbnN0YW50CitIaUxpbmsgcmF0cG9pc29uS2V5U2VxQXJnCVNwZWNpYWwKK0hpTGluayByYXRwb2lzb25OdW1iZXJBcmcJTnVtYmVyCitIaUxpbmsgcmF0cG9pc29uU2V0QXJnCUtleXdvcmQKK0hpTGluayByYXRwb2lzb25TdHJpbmdDb21tYW5kCUlkZW50aWZpZXIKK0hpTGluayByYXRwb2lzb25Ub2RvCQlUb2RvCitIaUxpbmsgcmF0cG9pc29uVm9pZENvbW1hbmQJSWRlbnRpZmllcgorSGlMaW5rIHJhdHBvaXNvbldpbkZtdEFyZwlTcGVjaWFsCitIaUxpbmsgcmF0cG9pc29uV2luTmFtZUFyZwlDb25zdGFudAorSGlMaW5rIHJhdHBvaXNvbldpbkxpc3RBcmcJQ29uc3RhbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInJhdHBvaXNvbiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcmMudmltIGIvcnVudGltZS9zeW50YXgvcmMudmltCmluZGV4IGEyZDU4MjQuLjEzOTAwYjMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3JjLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9yYy52aW0KQEAgLTgsMTEgKzgsOCBAQAogCiAiIFRoaXMgZmlsZSBpcyBiYXNlZCBvbiB0aGUgYy52aW0KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE0OCw1NSArMTQ1LDQ3IEBACiBzeW4gc3luYyBjY29tbWVudCByY0NvbW1lbnQgbWlubGluZXM9MTAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcmNfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcmNfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayByY0NoYXJhY3RlcglDaGFyYWN0ZXIKLSAgSGlMaW5rIHJjU3BlY2lhbENoYXJhY3RlciByY1NwZWNpYWwKLSAgSGlMaW5rIHJjTnVtYmVyCU51bWJlcgotICBIaUxpbmsgcmNGbG9hdAlGbG9hdAotICBIaUxpbmsgcmNPY3RhbEVycm9yCXJjRXJyb3IKLSAgSGlMaW5rIHJjUGFyZW5FcnJvcglyY0Vycm9yCi0gIEhpTGluayByY0luUGFyZW4JcmNFcnJvcgotICBIaUxpbmsgcmNDb21tZW50RXJyb3IJcmNFcnJvcgotICBIaUxpbmsgcmNJbmNsdWRlCUluY2x1ZGUKLSAgSGlMaW5rIHJjUHJlUHJvYwlQcmVQcm9jCi0gIEhpTGluayByY0RlZmluZQlNYWNybwotICBIaUxpbmsgcmNJbmNsdWRlZAlyY1N0cmluZwotICBIaUxpbmsgcmNFcnJvcglFcnJvcgotICBIaUxpbmsgcmNQcmVDb25kaXQJUHJlQ29uZGl0Ci0gIEhpTGluayByY0NvbW1lbnRTdHJpbmcgcmNTdHJpbmcKLSAgSGlMaW5rIHJjQ29tbWVudDJTdHJpbmcgcmNTdHJpbmcKLSAgSGlMaW5rIHJjQ29tbWVudFNraXAJcmNDb21tZW50Ci0gIEhpTGluayByY1N0cmluZwlTdHJpbmcKLSAgSGlMaW5rIHJjQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayByY1NwZWNpYWwJU3BlY2lhbENoYXIKLSAgSGlMaW5rIHJjVG9kbwlUb2RvCitIaUxpbmsgcmNDaGFyYWN0ZXIJQ2hhcmFjdGVyCitIaUxpbmsgcmNTcGVjaWFsQ2hhcmFjdGVyIHJjU3BlY2lhbAorSGlMaW5rIHJjTnVtYmVyCU51bWJlcgorSGlMaW5rIHJjRmxvYXQJRmxvYXQKK0hpTGluayByY09jdGFsRXJyb3IJcmNFcnJvcgorSGlMaW5rIHJjUGFyZW5FcnJvcglyY0Vycm9yCitIaUxpbmsgcmNJblBhcmVuCXJjRXJyb3IKK0hpTGluayByY0NvbW1lbnRFcnJvcglyY0Vycm9yCitIaUxpbmsgcmNJbmNsdWRlCUluY2x1ZGUKK0hpTGluayByY1ByZVByb2MJUHJlUHJvYworSGlMaW5rIHJjRGVmaW5lCU1hY3JvCitIaUxpbmsgcmNJbmNsdWRlZAlyY1N0cmluZworSGlMaW5rIHJjRXJyb3IJRXJyb3IKK0hpTGluayByY1ByZUNvbmRpdAlQcmVDb25kaXQKK0hpTGluayByY0NvbW1lbnRTdHJpbmcgcmNTdHJpbmcKK0hpTGluayByY0NvbW1lbnQyU3RyaW5nIHJjU3RyaW5nCitIaUxpbmsgcmNDb21tZW50U2tpcAlyY0NvbW1lbnQKK0hpTGluayByY1N0cmluZwlTdHJpbmcKK0hpTGluayByY0NvbW1lbnQJQ29tbWVudAorSGlMaW5rIHJjU3BlY2lhbAlTcGVjaWFsQ2hhcgorSGlMaW5rIHJjVG9kbwlUb2RvCiAKLSAgSGlMaW5rIHJjQXR0cmlidXRlCXJjQ29tbW9uQXR0cmlidXRlCi0gIEhpTGluayByY1N0ZElkCXJjU3RhdGVtZW50Ci0gIEhpTGluayByY1N0YXRlbWVudAlTdGF0ZW1lbnQKK0hpTGluayByY0F0dHJpYnV0ZQlyY0NvbW1vbkF0dHJpYnV0ZQorSGlMaW5rIHJjU3RkSWQJcmNTdGF0ZW1lbnQKK0hpTGluayByY1N0YXRlbWVudAlTdGF0ZW1lbnQKIAotICAiIERlZmF1bHQgY29sb3Igb3ZlcnJpZGVzCi0gIGhpIGRlZiByY0xhbmd1YWdlCXRlcm09cmV2ZXJzZSBjdGVybWJnPVJlZCBjdGVybWZnPVllbGxvdyBndWliZz1SZWQgZ3VpZmc9WWVsbG93Ci0gIGhpIGRlZiByY01haW5PYmplY3QJdGVybT11bmRlcmxpbmUgY3Rlcm1mZz1CbHVlIGd1aWZnPUJsdWUKLSAgaGkgZGVmIHJjU3ViT2JqZWN0CWN0ZXJtZmc9R3JlZW4gZ3VpZmc9R3JlZW4KLSAgaGkgZGVmIHJjQ2FwdGlvblBhcmFtCXRlcm09dW5kZXJsaW5lIGN0ZXJtZmc9RGFya0dyZWVuIGd1aWZnPUdyZWVuCi0gIGhpIGRlZiByY1BhcmFtCWN0ZXJtZmc9RGFya0dyZWVuIGd1aWZnPURhcmtHcmVlbgotICBoaSBkZWYgcmNTdGF0ZW1lbnQJY3Rlcm1mZz1EYXJrR3JlZW4gZ3VpZmc9RGFya0dyZWVuCi0gIGhpIGRlZiByY0NvbW1vbkF0dHJpYnV0ZQljdGVybWZnPUJyb3duIGd1aWZnPUJyb3duCisiIERlZmF1bHQgY29sb3Igb3ZlcnJpZGVzCitoaSBkZWYgcmNMYW5ndWFnZQl0ZXJtPXJldmVyc2UgY3Rlcm1iZz1SZWQgY3Rlcm1mZz1ZZWxsb3cgZ3VpYmc9UmVkIGd1aWZnPVllbGxvdworaGkgZGVmIHJjTWFpbk9iamVjdAl0ZXJtPXVuZGVybGluZSBjdGVybWZnPUJsdWUgZ3VpZmc9Qmx1ZQoraGkgZGVmIHJjU3ViT2JqZWN0CWN0ZXJtZmc9R3JlZW4gZ3VpZmc9R3JlZW4KK2hpIGRlZiByY0NhcHRpb25QYXJhbQl0ZXJtPXVuZGVybGluZSBjdGVybWZnPURhcmtHcmVlbiBndWlmZz1HcmVlbgoraGkgZGVmIHJjUGFyYW0JY3Rlcm1mZz1EYXJrR3JlZW4gZ3VpZmc9RGFya0dyZWVuCitoaSBkZWYgcmNTdGF0ZW1lbnQJY3Rlcm1mZz1EYXJrR3JlZW4gZ3VpZmc9RGFya0dyZWVuCitoaSBkZWYgcmNDb21tb25BdHRyaWJ1dGUJY3Rlcm1mZz1Ccm93biBndWlmZz1Ccm93bgogCi0gICJIaUxpbmsgcmNJZGVudGlmaWVyCUlkZW50aWZpZXIKKyJIaUxpbmsgcmNJZGVudGlmaWVyCUlkZW50aWZpZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInJjIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9yY3MudmltIGIvcnVudGltZS9zeW50YXgvcmNzLnZpbQppbmRleCBlNDVkNWZkLi41ZmE2NmM0IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9yY3MudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Jjcy52aW0KQEAgLTksMTEgKzksOCBAQAogIiBPcHRpb25zOgogIiAgIHJjc19mb2xkaW5nID0gMSAgIEZvciBmb2xkaW5nIHN0cmluZ3MKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMuCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkLgotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQuCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTUyLDI1ICs0OSwxNyBAQAogZW5kaWYKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5LgotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldC4KLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yY3Nfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8PSA1MDgKLSAgICBsZXQgZGlkX3Jjc19zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldC4KK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayByY3NLZXl3b3JkICAgICBLZXl3b3JkCi0gIEhpTGluayByY3NOdW1iZXIgICAgICBJZGVudGlmaWVyCi0gIEhpTGluayByY3NTdHJpbmcgICAgICBTdHJpbmcKLSAgSGlMaW5rIHJjc1RleHRTdHIgICAgIFN0cmluZwotICBIaUxpbmsgcmNzU3BlY2lhbCAgICAgU3BlY2lhbAotICBIaUxpbmsgcmNzRGlmZkxpbmVzICAgU3BlY2lhbAotICBIaUxpbmsgcmNzRU9GRXJyb3IgICAgRXJyb3IKK0hpTGluayByY3NLZXl3b3JkICAgICBLZXl3b3JkCitIaUxpbmsgcmNzTnVtYmVyICAgICAgSWRlbnRpZmllcgorSGlMaW5rIHJjc1N0cmluZyAgICAgIFN0cmluZworSGlMaW5rIHJjc1RleHRTdHIgICAgIFN0cmluZworSGlMaW5rIHJjc1NwZWNpYWwgICAgIFNwZWNpYWwKK0hpTGluayByY3NEaWZmTGluZXMgICBTcGVjaWFsCitIaUxpbmsgcmNzRU9GRXJyb3IgICAgRXJyb3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInJjcyIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Jjc2xvZy52aW0gYi9ydW50aW1lL3N5bnRheC9yY3Nsb2cudmltCmluZGV4IGFjYWNmYTEuLjg0NTE4NTIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Jjc2xvZy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcmNzbG9nLnZpbQpAQCAtMywxMSArMyw4IEBACiAiIE1haW50YWluZXI6CUpvZSBLYXJ0aGF1c2VyIDxqb2VAZnJlZWJzZC5vcmc+CiAiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTYsMjIgKzEzLDE0IEBACiBzeW4gbWF0Y2ggcmNzbG9nRGF0ZQkJIl5kYXRlOiAuKiQiCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Jjc2xvZ19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9yY3Nsb2dfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayByY3Nsb2dGaWxlCQlUeXBlCi0gIEhpTGluayByY3Nsb2dSZXZpc2lvbglDb25zdGFudAotICBIaUxpbmsgcmNzbG9nRGF0ZQkJSWRlbnRpZmllcgorSGlMaW5rIHJjc2xvZ0ZpbGUJCVR5cGUKK0hpTGluayByY3Nsb2dSZXZpc2lvbglDb25zdGFudAorSGlMaW5rIHJjc2xvZ0RhdGUJCUlkZW50aWZpZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInJjc2xvZyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcmVib2wudmltIGIvcnVudGltZS9zeW50YXgvcmVib2wudmltCmluZGV4IGU2Mzk1NzUuLjljMzY3YjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3JlYm9sLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9yZWJvbC52aW0KQEAgLTYsMTEgKzYsOCBAQAogIiBVUkw6CQlodHRwOi8vd3d3LmVhbmRlbS5jby51ay9tcncvdmltCiAiCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xOCwxMSArMTUsNyBAQAogc3luIGNhc2UgaWdub3JlCiAKICIgQXMgcGVyIGN1cnJlbnQgdXNlcnMgZG9jdW1lbnRhdGlvbgotaWYgdmVyc2lvbiA8IDYwMAotICBzZXQgaXNrPUAsNDgtNTcsPywhLC4sJywrLC0sKiwmLFx8LD0sXyx+Ci1lbHNlCi0gIHNldGxvY2FsIGlzaz1ALDQ4LTU3LD8sISwuLCcsKywtLCosJixcfCw9LF8sfgotZW5kaWYKK3NldGxvY2FsIGlzaz1ALDQ4LTU3LD8sISwuLCcsKywtLCosJixcfCw9LF8sfgogCiAiIFllciBUT0RPIGhpZ2hsaWdodGVyCiBzeW4ga2V5d29yZAlyZWJvbFRvZG8JY29udGFpbmVkIFRPRE8KQEAgLTE0NSw2NSArMTM4LDU3IEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcmVib2xfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcmVib2xfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayByZWJvbFRvZG8gICAgIFRvZG8KK0hpTGluayByZWJvbFRvZG8gICAgIFRvZG8KIAotICBIaUxpbmsgcmVib2xTdGF0ZW1lbnQgU3RhdGVtZW50Ci0gIEhpTGluayByZWJvbExhYmVsCUxhYmVsCi0gIEhpTGluayByZWJvbENvbmRpdGlvbmFsIENvbmRpdGlvbmFsCi0gIEhpTGluayByZWJvbFJlcGVhdAlSZXBlYXQKK0hpTGluayByZWJvbFN0YXRlbWVudCBTdGF0ZW1lbnQKK0hpTGluayByZWJvbExhYmVsCUxhYmVsCitIaUxpbmsgcmVib2xDb25kaXRpb25hbCBDb25kaXRpb25hbAorSGlMaW5rIHJlYm9sUmVwZWF0CVJlcGVhdAogCi0gIEhpTGluayByZWJvbE9wZXJhdG9yCU9wZXJhdG9yCi0gIEhpTGluayByZWJvbExvZ2ljT3BlcmF0b3IgcmVib2xPcGVyYXRvcgotICBIaUxpbmsgcmVib2xMb2dpY0Z1bmN0aW9uIHJlYm9sTG9naWNPcGVyYXRvcgotICBIaUxpbmsgcmVib2xNYXRoT3BlcmF0b3IgcmVib2xPcGVyYXRvcgotICBIaUxpbmsgcmVib2xNYXRoRnVuY3Rpb24gcmVib2xNYXRoT3BlcmF0b3IKLSAgSGlMaW5rIHJlYm9sQmluYXJ5T3BlcmF0b3IgcmVib2xPcGVyYXRvcgotICBIaUxpbmsgcmVib2xCaW5hcnlGdW5jdGlvbiByZWJvbEJpbmFyeU9wZXJhdG9yCitIaUxpbmsgcmVib2xPcGVyYXRvcglPcGVyYXRvcgorSGlMaW5rIHJlYm9sTG9naWNPcGVyYXRvciByZWJvbE9wZXJhdG9yCitIaUxpbmsgcmVib2xMb2dpY0Z1bmN0aW9uIHJlYm9sTG9naWNPcGVyYXRvcgorSGlMaW5rIHJlYm9sTWF0aE9wZXJhdG9yIHJlYm9sT3BlcmF0b3IKK0hpTGluayByZWJvbE1hdGhGdW5jdGlvbiByZWJvbE1hdGhPcGVyYXRvcgorSGlMaW5rIHJlYm9sQmluYXJ5T3BlcmF0b3IgcmVib2xPcGVyYXRvcgorSGlMaW5rIHJlYm9sQmluYXJ5RnVuY3Rpb24gcmVib2xCaW5hcnlPcGVyYXRvcgogCi0gIEhpTGluayByZWJvbFR5cGUgICAgIFR5cGUKLSAgSGlMaW5rIHJlYm9sVHlwZUZ1bmN0aW9uIHJlYm9sT3BlcmF0b3IKK0hpTGluayByZWJvbFR5cGUgICAgIFR5cGUKK0hpTGluayByZWJvbFR5cGVGdW5jdGlvbiByZWJvbE9wZXJhdG9yCiAKLSAgSGlMaW5rIHJlYm9sV29yZCAgICAgSWRlbnRpZmllcgotICBIaUxpbmsgcmVib2xXb3JkUGF0aCByZWJvbFdvcmQKLSAgSGlMaW5rIHJlYm9sRnVuY3Rpb24JRnVuY3Rpb24KK0hpTGluayByZWJvbFdvcmQgICAgIElkZW50aWZpZXIKK0hpTGluayByZWJvbFdvcmRQYXRoIHJlYm9sV29yZAorSGlMaW5rIHJlYm9sRnVuY3Rpb24JRnVuY3Rpb24KIAotICBIaUxpbmsgcmVib2xDaGFyYWN0ZXIgQ2hhcmFjdGVyCi0gIEhpTGluayByZWJvbFNwZWNpYWxDaGFyYWN0ZXIgU3BlY2lhbENoYXIKLSAgSGlMaW5rIHJlYm9sU3RyaW5nCVN0cmluZworSGlMaW5rIHJlYm9sQ2hhcmFjdGVyIENoYXJhY3RlcgorSGlMaW5rIHJlYm9sU3BlY2lhbENoYXJhY3RlciBTcGVjaWFsQ2hhcgorSGlMaW5rIHJlYm9sU3RyaW5nCVN0cmluZwogCi0gIEhpTGluayByZWJvbE51bWJlciAgIE51bWJlcgotICBIaUxpbmsgcmVib2xJbnRlZ2VyICByZWJvbE51bWJlcgotICBIaUxpbmsgcmVib2xEZWNpbWFsICByZWJvbE51bWJlcgotICBIaUxpbmsgcmVib2xUaW1lICAgICByZWJvbE51bWJlcgotICBIaUxpbmsgcmVib2xEYXRlICAgICByZWJvbE51bWJlcgotICBIaUxpbmsgcmVib2xNb25leSAgICByZWJvbE51bWJlcgotICBIaUxpbmsgcmVib2xCaW5hcnkgICByZWJvbE51bWJlcgotICBIaUxpbmsgcmVib2xFbWFpbCAgICByZWJvbFN0cmluZwotICBIaUxpbmsgcmVib2xGaWxlICAgICByZWJvbFN0cmluZwotICBIaUxpbmsgcmVib2xVUkwgICAgICByZWJvbFN0cmluZwotICBIaUxpbmsgcmVib2xJc3N1ZSAgICByZWJvbE51bWJlcgotICBIaUxpbmsgcmVib2xUdXBsZSAgICByZWJvbE51bWJlcgotICBIaUxpbmsgcmVib2xGbG9hdCAgICBGbG9hdAotICBIaUxpbmsgcmVib2xCb29sZWFuICBCb29sZWFuCitIaUxpbmsgcmVib2xOdW1iZXIgICBOdW1iZXIKK0hpTGluayByZWJvbEludGVnZXIgIHJlYm9sTnVtYmVyCitIaUxpbmsgcmVib2xEZWNpbWFsICByZWJvbE51bWJlcgorSGlMaW5rIHJlYm9sVGltZSAgICAgcmVib2xOdW1iZXIKK0hpTGluayByZWJvbERhdGUgICAgIHJlYm9sTnVtYmVyCitIaUxpbmsgcmVib2xNb25leSAgICByZWJvbE51bWJlcgorSGlMaW5rIHJlYm9sQmluYXJ5ICAgcmVib2xOdW1iZXIKK0hpTGluayByZWJvbEVtYWlsICAgIHJlYm9sU3RyaW5nCitIaUxpbmsgcmVib2xGaWxlICAgICByZWJvbFN0cmluZworSGlMaW5rIHJlYm9sVVJMICAgICAgcmVib2xTdHJpbmcKK0hpTGluayByZWJvbElzc3VlICAgIHJlYm9sTnVtYmVyCitIaUxpbmsgcmVib2xUdXBsZSAgICByZWJvbE51bWJlcgorSGlMaW5rIHJlYm9sRmxvYXQgICAgRmxvYXQKK0hpTGluayByZWJvbEJvb2xlYW4gIEJvb2xlYW4KIAotICBIaUxpbmsgcmVib2xDb25zdGFudCBDb25zdGFudAorSGlMaW5rIHJlYm9sQ29uc3RhbnQgQ29uc3RhbnQKIAotICBIaUxpbmsgcmVib2xDb21tZW50CUNvbW1lbnQKK0hpTGluayByZWJvbENvbW1lbnQJQ29tbWVudAogCi0gIEhpTGluayByZWJvbEVycm9yCUVycm9yCitIaUxpbmsgcmVib2xFcnJvcglFcnJvcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogaWYgZXhpc3RzKCJteV9yZWJvbF9maWxlIikKICAgaWYgZmlsZV9yZWFkYWJsZShleHBhbmQobXlfcmVib2xfZmlsZSkpCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9yZWRpZi52aW0gYi9ydW50aW1lL3N5bnRheC9yZWRpZi52aW0KaW5kZXggMWI4M2MwNy4uOWZhOTA2NCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcmVkaWYudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3JlZGlmLnZpbQpAQCAtNywxMCArNyw4IEBACiAiIEZpbGUgRXh0ZW5zaW9uOiAgICByZGYKICIgTm90ZTogICAgICAgICAgICAgIFRoZSBSZURJRiBmb3JtYXQgaXMgdXNlZCBieSBSZVBFYy4KIAotIiBUbyBiZSBjb21wYXRpYmxlIHdpdGggVmltIDUuOCB1c2U6Ci1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9yZWdpc3RyeS52aW0gYi9ydW50aW1lL3N5bnRheC9yZWdpc3RyeS52aW0KaW5kZXggNDUyNDI0Ny4uNjUyYjYwOSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcmVnaXN0cnkudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3JlZ2lzdHJ5LnZpbQpAQCAtNiwxMSArNiw4IEBACiAiCQlJbmNsdWRlZCBwYXRjaCBmcm9tIEFsZXhhbmRlciBBLiBVbGl0aW4KIAogIiBjbGVhciBhbnkgdW53YW50ZWQgc3ludGF4IGRlZnMKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC04NSwyOSArODIsMjIgQEAKICIgRHdvcmQgKDMyIGJpdHMpCiBzeW4gbWF0Y2ggcmVnaXN0cnlEd29yZAkJImR3b3JkOlswLTlhLWZBLUZdXHs4fSQiIGNvbnRhaW5zPXJlZ2lzdHJ5U3BlY2lhbAogCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcmVnaXN0cnlfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcmVnaXN0cnlfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCiAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCi0gICBIaUxpbmsgcmVnaXN0cnlDb21tZW50CUNvbW1lbnQKLSAgIEhpTGluayByZWdpc3RyeUhlYWQJCUNvbnN0YW50Ci0gICBIaUxpbmsgcmVnaXN0cnlIS0VZCQlDb25zdGFudAotICAgSGlMaW5rIHJlZ2lzdHJ5UGF0aAkJU3BlY2lhbAotICAgSGlMaW5rIHJlZ2lzdHJ5UmVtb3ZlCVByZVByb2MKLSAgIEhpTGluayByZWdpc3RyeUdVSUQJCUlkZW50aWZpZXIKLSAgIEhpTGluayByZWdpc3RyeVNwZWNpYWwJU3BlY2lhbAotICAgSGlMaW5rIHJlZ2lzdHJ5U3ViS2V5CVR5cGUKLSAgIEhpTGluayByZWdpc3RyeVN0cmluZwlTdHJpbmcKLSAgIEhpTGluayByZWdpc3RyeUhleAkJTnVtYmVyCi0gICBIaUxpbmsgcmVnaXN0cnlEd29yZAkJTnVtYmVyCitIaUxpbmsgcmVnaXN0cnlDb21tZW50CUNvbW1lbnQKK0hpTGluayByZWdpc3RyeUhlYWQJCUNvbnN0YW50CitIaUxpbmsgcmVnaXN0cnlIS0VZCQlDb25zdGFudAorSGlMaW5rIHJlZ2lzdHJ5UGF0aAkJU3BlY2lhbAorSGlMaW5rIHJlZ2lzdHJ5UmVtb3ZlCVByZVByb2MKK0hpTGluayByZWdpc3RyeUdVSUQJCUlkZW50aWZpZXIKK0hpTGluayByZWdpc3RyeVNwZWNpYWwJU3BlY2lhbAorSGlMaW5rIHJlZ2lzdHJ5U3ViS2V5CVR5cGUKK0hpTGluayByZWdpc3RyeVN0cmluZwlTdHJpbmcKK0hpTGluayByZWdpc3RyeUhleAkJTnVtYmVyCitIaUxpbmsgcmVnaXN0cnlEd29yZAkJTnVtYmVyCiAKLSAgIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJyZWdpc3RyeSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3JlbWluZC52aW0gYi9ydW50aW1lL3N5bnRheC9yZW1pbmQudmltCmluZGV4IDk4MDY0ZTAuLjhlNGU1NTQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3JlbWluZC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcmVtaW5kLnZpbQpAQCAtMTMsOSArMTMsOCBAQAogIiB2ZXJzaW9uIDAuNzogdXBkYXRlZCBlbWFpbCBhbmQgbGluawogIiB2ZXJzaW9uIDAuNjogYWRkZWQgVEhST1VHSCBrZXl3b3JkIChjb3VydGVzeSBvZiBCZW4gT3JjaGFyZCkKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNDgsMzUgKzQ3LDI4IEBACiBzeW4gbWF0Y2ggcmVtaW5kV2FybmluZwkJZGlzcGxheSBleGNsdWRlbmwgIlxTXHNcKyQibXM9cysxCiAKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3JlbWluZF9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9yZW1pbmRfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayByZW1pbmRDb21tYW5kcwkJRnVuY3Rpb24KLSAgSGlMaW5rIHJlbWluZEV4cGlyeQkJUmVwZWF0Ci0gIEhpTGluayByZW1pbmRUYWcJCUxhYmVsCi0gIEhpTGluayByZW1pbmRUaW1lZAkJU3RhdGVtZW50Ci0gIEhpTGluayByZW1pbmRNb3ZlCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHJlbWluZFNwZWNpYWwJCUluY2x1ZGUKLSAgSGlMaW5rIHJlbWluZFJ1bgkJRnVuY3Rpb24KLSAgSGlMaW5rIHJlbWluZENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluayByZW1pbmRDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayByZW1pbmRUaW1lcwkJU3RyaW5nCi0gIEhpTGluayByZW1pbmRTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgcmVtaW5kRGVidWcJCURlYnVnCi0gIEhpTGluayByZW1pbmRWYXIJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHJlbWluZFN1YnN0CQlDb25zdGFudAotICBIaUxpbmsgcmVtaW5kQWR2YW5jZU51bWJlcglOdW1iZXIKLSAgSGlMaW5rIHJlbWluZERhdGVTZXBhcmF0b3JzCUNvbW1lbnQKLSAgSGlMaW5rIHJlbWluZERhdGVzCQlTdHJpbmcKLSAgSGlMaW5rIHJlbWluZFdhcm5pbmcJCUVycm9yCitIaUxpbmsgcmVtaW5kQ29tbWFuZHMJCUZ1bmN0aW9uCitIaUxpbmsgcmVtaW5kRXhwaXJ5CQlSZXBlYXQKK0hpTGluayByZW1pbmRUYWcJCUxhYmVsCitIaUxpbmsgcmVtaW5kVGltZWQJCVN0YXRlbWVudAorSGlMaW5rIHJlbWluZE1vdmUJCVN0YXRlbWVudAorSGlMaW5rIHJlbWluZFNwZWNpYWwJCUluY2x1ZGUKK0hpTGluayByZW1pbmRSdW4JCUZ1bmN0aW9uCitIaUxpbmsgcmVtaW5kQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayByZW1pbmRDb21tZW50CQlDb21tZW50CitIaUxpbmsgcmVtaW5kVGltZXMJCVN0cmluZworSGlMaW5rIHJlbWluZFN0cmluZwkJU3RyaW5nCitIaUxpbmsgcmVtaW5kRGVidWcJCURlYnVnCitIaUxpbmsgcmVtaW5kVmFyCQlJZGVudGlmaWVyCitIaUxpbmsgcmVtaW5kU3Vic3QJCUNvbnN0YW50CitIaUxpbmsgcmVtaW5kQWR2YW5jZU51bWJlcglOdW1iZXIKK0hpTGluayByZW1pbmREYXRlU2VwYXJhdG9ycwlDb21tZW50CitIaUxpbmsgcmVtaW5kRGF0ZXMJCVN0cmluZworSGlMaW5rIHJlbWluZFdhcm5pbmcJCUVycm9yCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJyZW1pbmQiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Jlc29sdi52aW0gYi9ydW50aW1lL3N5bnRheC9yZXNvbHYudmltCmluZGV4IDA2ZDY4ODUuLjE3NDRlNjYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Jlc29sdi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcmVzb2x2LnZpbQpAQCAtOSw5ICs5LDggQEAKICIgICBEYXZpZCBOZWNhcyAoWWV0aSkgPHlldGlAcGh5c2ljcy5tdW5pLmN6PgogIiAgIFN0ZWZhbm8gWmFjY2hpcm9saSA8emFja0BkZWJpYW4ub3JnPgogCi1pZiB2ZXJzaW9uIDwgNjAwCi0Jc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogCWZpbmlzaAogZW5kaWYKIApAQCAtNTAsMzggKzQ5LDMxIEBACiAiIEFkZGl0aW9uYWwgZXJyb3JzCiBzeW4gbWF0Y2ggcmVzb2x2RXJyb3IgL15zZWFyY2ggLlx7MjU3LH0vCiAKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jb25maWdfc3ludGF4X2luaXRzIikKLQlpZiB2ZXJzaW9uIDwgNTA4Ci0JCWxldCBkaWRfY29uZmlnX3N5bnRheF9pbml0cyA9IDEKLQkJY29tbWFuZCEgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0JZWxzZQotCQljb21tYW5kISAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0JZW5kaWYKK2NvbW1hbmQhIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCUhpTGluayByZXNvbHZJUCBOdW1iZXIKLQlIaUxpbmsgcmVzb2x2SVBOZXRtYXNrIE51bWJlcgotCUhpTGluayByZXNvbHZIb3N0bmFtZSBTdHJpbmcKLQlIaUxpbmsgcmVzb2x2T3B0aW9uIFN0cmluZworSGlMaW5rIHJlc29sdklQIE51bWJlcgorSGlMaW5rIHJlc29sdklQTmV0bWFzayBOdW1iZXIKK0hpTGluayByZXNvbHZIb3N0bmFtZSBTdHJpbmcKK0hpTGluayByZXNvbHZPcHRpb24gU3RyaW5nCiAKLQlIaUxpbmsgcmVzb2x2SVBOYW1lc2VydmVyIE51bWJlcgotCUhpTGluayByZXNvbHZIb3N0bmFtZVNlYXJjaCBTdHJpbmcKLQlIaUxpbmsgcmVzb2x2SVBOZXRtYXNrU29ydExpc3QgTnVtYmVyCitIaUxpbmsgcmVzb2x2SVBOYW1lc2VydmVyIE51bWJlcgorSGlMaW5rIHJlc29sdkhvc3RuYW1lU2VhcmNoIFN0cmluZworSGlMaW5rIHJlc29sdklQTmV0bWFza1NvcnRMaXN0IE51bWJlcgogCi0JSGlMaW5rIHJlc29sdk5hbWVTZXJ2ZXIgSWRlbnRpZmllcgotCUhpTGluayByZXNvbHZMd3NlcnZlciBJZGVudGlmaWVyCi0JSGlMaW5rIHJlc29sdkRvbWFpbiBJZGVudGlmaWVyCi0JSGlMaW5rIHJlc29sdlNlYXJjaCBJZGVudGlmaWVyCi0JSGlMaW5rIHJlc29sdlNvcnRMaXN0IElkZW50aWZpZXIKLQlIaUxpbmsgcmVzb2x2T3B0aW9ucyBJZGVudGlmaWVyCitIaUxpbmsgcmVzb2x2TmFtZVNlcnZlciBJZGVudGlmaWVyCitIaUxpbmsgcmVzb2x2THdzZXJ2ZXIgSWRlbnRpZmllcgorSGlMaW5rIHJlc29sdkRvbWFpbiBJZGVudGlmaWVyCitIaUxpbmsgcmVzb2x2U2VhcmNoIElkZW50aWZpZXIKK0hpTGluayByZXNvbHZTb3J0TGlzdCBJZGVudGlmaWVyCitIaUxpbmsgcmVzb2x2T3B0aW9ucyBJZGVudGlmaWVyCiAKLQlIaUxpbmsgcmVzb2x2Q29tbWVudCBDb21tZW50Ci0JSGlMaW5rIHJlc29sdk9wZXJhdG9yIE9wZXJhdG9yCi0JSGlMaW5rIHJlc29sdkVycm9yIEVycm9yCi0JSGlMaW5rIHJlc29sdklQRXJyb3IgRXJyb3IKLQlIaUxpbmsgcmVzb2x2SVBTcGVjaWFsIFNwZWNpYWwKK0hpTGluayByZXNvbHZDb21tZW50IENvbW1lbnQKK0hpTGluayByZXNvbHZPcGVyYXRvciBPcGVyYXRvcgorSGlMaW5rIHJlc29sdkVycm9yIEVycm9yCitIaUxpbmsgcmVzb2x2SVBFcnJvciBFcnJvcgorSGlMaW5rIHJlc29sdklQU3BlY2lhbCBTcGVjaWFsCiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInJlc29sdiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcmV2YS52aW0gYi9ydW50aW1lL3N5bnRheC9yZXZhLnZpbQppbmRleCAwM2RmYzlkLi5mNjA1OTkyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9yZXZhLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9yZXZhLnZpbQpAQCAtNywxMyArNyw4IEBACiAiIEZpbGV0eXBlczoJKi5yZiAqLmZydAogIiBOT1RFOiAJWW91IHNob3VsZCBhbHNvIGhhdmUgdGhlIGZ0cGx1Z2luL3JldmEudmltIGZpbGUgdG8gc2V0ICdpc2snCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zIGFuZCBkb24ndCBsb2FkCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotICBlY2hvICJSZXZhIHN5bnRheCBmaWxlIHJlcXVpcmVzIHZlcnNpb24gNi4wIG9yIGxhdGVyIG9mIHZpbSEiCi0gIGZpbmlzaAotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgIGZpbmlzaAogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcmV4eC52aW0gYi9ydW50aW1lL3N5bnRheC9yZXh4LnZpbQppbmRleCBlZjY5OGE1Li5iMjJhZjkzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9yZXh4LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9yZXh4LnZpbQpAQCAtNiwxMSArNiw4IEBACiAiIFNwZWNpYWwgVGhhbmtzIHRvIERhbiBTaGFycCA8ZHdzaGFycEBob3RtYWlsLmNvbT4gYW5kIFJvbnkgRy4gRmxhdHNjaGVyCiAiIDxSb255LkZsYXRzY2hlckB3dS13aWVuLmFjLmF0PiBmb3IgY29tbWVudHMgYW5kIGFkZGl0aW9ucwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjQ0LDg3ICsyNDEsNzkgQEAKIGV4ZWMgInN5biBzeW5jIGZyb21zdGFydCIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcmV4eF9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9yZXh4X3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIG1ha2UgYmluYXJ5IGFuZCBoZXggc3RyaW5ncyBzdGFuZCBvdXQKLSAgaGkgcmV4eFN0cmluZ0NvbnN0YW50IHRlcm09Ym9sZCx1bmRlcmxpbmUgY3Rlcm1mZz01IGN0ZXJtPWJvbGQgZ3VpZmc9ZGFya01hZ2VudGEgZ3VpPWJvbGQKKyIgbWFrZSBiaW5hcnkgYW5kIGhleCBzdHJpbmdzIHN0YW5kIG91dAoraGkgcmV4eFN0cmluZ0NvbnN0YW50IHRlcm09Ym9sZCx1bmRlcmxpbmUgY3Rlcm1mZz01IGN0ZXJtPWJvbGQgZ3VpZmc9ZGFya01hZ2VudGEgZ3VpPWJvbGQKIAotICBIaUxpbmsgcmV4eExhYmVsMgkJRnVuY3Rpb24KLSAgSGlMaW5rIGRvTG9vcFNlbGVjdExhYmVsUmVnaW9uCXJleHhLZXl3b3JkCi0gIEhpTGluayBlbmRJdGVyYXRlTGVhdmVMYWJlbFJlZ2lvbglyZXh4S2V5d29yZAotICBIaUxpbmsgcmV4eExvb3BLZXl3b3JkcwlyZXh4S2V5d29yZCAiIFRvZG8KK0hpTGluayByZXh4TGFiZWwyCQlGdW5jdGlvbgorSGlMaW5rIGRvTG9vcFNlbGVjdExhYmVsUmVnaW9uCXJleHhLZXl3b3JkCitIaUxpbmsgZW5kSXRlcmF0ZUxlYXZlTGFiZWxSZWdpb24JcmV4eEtleXdvcmQKK0hpTGluayByZXh4TG9vcEtleXdvcmRzCXJleHhLZXl3b3JkICIgVG9kbwogCi0gIEhpTGluayByZXh4TnVtYmVyCQlOb3JtYWwgIkRpZmZDaGFuZ2UKK0hpTGluayByZXh4TnVtYmVyCQlOb3JtYWwgIkRpZmZDaGFuZ2UKICIgIEhpTGluayByZXh4SWRlbnRpZmllcgkJRGlmZkNoYW5nZQogCi0gIEhpTGluayByZXh4UmVndWxhckNhbGxTaWduYWwJU3RhdGVtZW50Ci0gIEhpTGluayByZXh4RXhjZXB0aW9uSGFuZGxpbmcJU3RhdGVtZW50CitIaUxpbmsgcmV4eFJlZ3VsYXJDYWxsU2lnbmFsCVN0YXRlbWVudAorSGlMaW5rIHJleHhFeGNlcHRpb25IYW5kbGluZwlTdGF0ZW1lbnQKIAotICBIaUxpbmsgcmV4eExhYmVsCQlGdW5jdGlvbgotICBIaUxpbmsgcmV4eENoYXJhY3RlcgkJQ2hhcmFjdGVyCi0gIEhpTGluayByZXh4UGFyZW5FcnJvcgkJcmV4eEVycm9yCi0gIEhpTGluayByZXh4SW5QYXJlbgkJcmV4eEVycm9yCi0gIEhpTGluayByZXh4Q29tbWVudEVycm9yCXJleHhFcnJvcgotICBIaUxpbmsgcmV4eEVycm9yCQlFcnJvcgotICBIaUxpbmsgcmV4eEtleXdvcmQJCVN0YXRlbWVudAotICBIaUxpbmsgcmV4eEtleXdvcmRTdGF0ZW1lbnRzCVN0YXRlbWVudAorSGlMaW5rIHJleHhMYWJlbAkJRnVuY3Rpb24KK0hpTGluayByZXh4Q2hhcmFjdGVyCQlDaGFyYWN0ZXIKK0hpTGluayByZXh4UGFyZW5FcnJvcgkJcmV4eEVycm9yCitIaUxpbmsgcmV4eEluUGFyZW4JCXJleHhFcnJvcgorSGlMaW5rIHJleHhDb21tZW50RXJyb3IJcmV4eEVycm9yCitIaUxpbmsgcmV4eEVycm9yCQlFcnJvcgorSGlMaW5rIHJleHhLZXl3b3JkCQlTdGF0ZW1lbnQKK0hpTGluayByZXh4S2V5d29yZFN0YXRlbWVudHMJU3RhdGVtZW50CiAKLSAgSGlMaW5rIHJleHhGdW5jdGlvbgkJRnVuY3Rpb24KLSAgSGlMaW5rIHJleHhTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgcmV4eENvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIHJleHhUb2RvCQlUb2RvCi0gIEhpTGluayByZXh4U3BlY2lhbFZhcmlhYmxlCVNwZWNpYWwKLSAgSGlMaW5rIHJleHhDb25kaXRpb25hbAlyZXh4S2V5d29yZAorSGlMaW5rIHJleHhGdW5jdGlvbgkJRnVuY3Rpb24KK0hpTGluayByZXh4U3RyaW5nCQlTdHJpbmcKK0hpTGluayByZXh4Q29tbWVudAkJQ29tbWVudAorSGlMaW5rIHJleHhUb2RvCQlUb2RvCitIaUxpbmsgcmV4eFNwZWNpYWxWYXJpYWJsZQlTcGVjaWFsCitIaUxpbmsgcmV4eENvbmRpdGlvbmFsCXJleHhLZXl3b3JkCiAKLSAgSGlMaW5rIHJleHhPcGVyYXRvcgkJT3BlcmF0b3IKLSAgSGlMaW5rIHJleHhNZXNzYWdlT3BlcmF0b3IJcmV4eE9wZXJhdG9yCi0gIEhpTGluayByZXh4TGluZUNvbW1lbnQJQ29tbWVudAorSGlMaW5rIHJleHhPcGVyYXRvcgkJT3BlcmF0b3IKK0hpTGluayByZXh4TWVzc2FnZU9wZXJhdG9yCXJleHhPcGVyYXRvcgorSGlMaW5rIHJleHhMaW5lQ29tbWVudAlDb21tZW50CiAKLSAgSGlMaW5rIHJleHhMaW5lQ29udGludWUJV2lsZE1lbnUKK0hpTGluayByZXh4TGluZUNvbnRpbnVlCVdpbGRNZW51CiAKLSAgSGlMaW5rIHJleHhEaXJlY3RpdmUJCXJleHhLZXl3b3JkCi0gIEhpTGluayByZXh4Q2xhc3NEaXJlY3RpdmUJVHlwZQotICBIaUxpbmsgcmV4eE1ldGhvZERpcmVjdGl2ZQlyZXh4RnVuY3Rpb24KLSAgSGlMaW5rIHJleHhBdHRyaWJ1dGVEaXJlY3RpdmUJcmV4eEZ1bmN0aW9uCi0gIEhpTGluayByZXh4UmVxdWlyZXNEaXJlY3RpdmUJSW5jbHVkZQotICBIaUxpbmsgcmV4eFJvdXRpbmVEaXJlY3RpdmUJcmV4eEZ1bmN0aW9uCitIaUxpbmsgcmV4eERpcmVjdGl2ZQkJcmV4eEtleXdvcmQKK0hpTGluayByZXh4Q2xhc3NEaXJlY3RpdmUJVHlwZQorSGlMaW5rIHJleHhNZXRob2REaXJlY3RpdmUJcmV4eEZ1bmN0aW9uCitIaUxpbmsgcmV4eEF0dHJpYnV0ZURpcmVjdGl2ZQlyZXh4RnVuY3Rpb24KK0hpTGluayByZXh4UmVxdWlyZXNEaXJlY3RpdmUJSW5jbHVkZQorSGlMaW5rIHJleHhSb3V0aW5lRGlyZWN0aXZlCXJleHhGdW5jdGlvbgogCiAiIHJnZiwgMjAxMi0wOS0wOQotICBIaUxpbmsgcmV4eE9wdGlvbnNEaXJlY3RpdmUJcmV4eEZ1bmN0aW9uCi0gIEhpTGluayByZXh4T3B0aW9uc0RpcmVjdGl2ZTIgIHJleHhPcHRpb25zRGlyZWN0aXZlCi0gIEhpTGluayByZXh4T3B0aW9uc0RpcmVjdGl2ZTMgIE5vcm1hbCAiIHJleHhPcHRpb25zRGlyZWN0aXZlCitIaUxpbmsgcmV4eE9wdGlvbnNEaXJlY3RpdmUJcmV4eEZ1bmN0aW9uCitIaUxpbmsgcmV4eE9wdGlvbnNEaXJlY3RpdmUyICByZXh4T3B0aW9uc0RpcmVjdGl2ZQorSGlMaW5rIHJleHhPcHRpb25zRGlyZWN0aXZlMyAgTm9ybWFsICIgcmV4eE9wdGlvbnNEaXJlY3RpdmUKIAotICBIaUxpbmsgcmV4eENvbnN0YW50RGlyZWN0aXZlCXJleHhGdW5jdGlvbgorSGlMaW5rIHJleHhDb25zdGFudERpcmVjdGl2ZQlyZXh4RnVuY3Rpb24KIAotICBIaUxpbmsgcmV4eENvbnN0CQlDb25zdGFudAotICBIaUxpbmsgcmV4eFR5cGVTcGVjaWZpZXIJVHlwZQotICBIaUxpbmsgcmV4eEJ1aWx0aW5DbGFzcwlyZXh4VHlwZVNwZWNpZmllcgorSGlMaW5rIHJleHhDb25zdAkJQ29uc3RhbnQKK0hpTGluayByZXh4VHlwZVNwZWNpZmllcglUeXBlCitIaUxpbmsgcmV4eEJ1aWx0aW5DbGFzcwlyZXh4VHlwZVNwZWNpZmllcgogCi0gIEhpTGluayByZXh4RW52aXJvbm1lbnRTeW1ib2wgIHJleHhDb25zdAotICBIaUxpbmsgcmV4eE1lc3NhZ2UJCXJleHhGdW5jdGlvbgorSGlMaW5rIHJleHhFbnZpcm9ubWVudFN5bWJvbCAgcmV4eENvbnN0CitIaUxpbmsgcmV4eE1lc3NhZ2UJCXJleHhGdW5jdGlvbgogCi0gIEhpTGluayByZXh4UGFyc2UgICAgICAgICAgICAgIHJleHhLZXl3b3JkCi0gIEhpTGluayByZXh4UGFyc2UyICAgICAgICAgICAgIHJleHhQYXJzZQorSGlMaW5rIHJleHhQYXJzZSAgICAgICAgICAgICAgcmV4eEtleXdvcmQKK0hpTGluayByZXh4UGFyc2UyICAgICAgICAgICAgIHJleHhQYXJzZQogCi0gIEhpTGluayByZXh4R3VhcmQgICAgICAgICAgICAgIHJleHhLZXl3b3JkCi0gIEhpTGluayByZXh4VHJhY2UgICAgICAgICAgICAgIHJleHhLZXl3b3JkCitIaUxpbmsgcmV4eEd1YXJkICAgICAgICAgICAgICByZXh4S2V5d29yZAorSGlMaW5rIHJleHhUcmFjZSAgICAgICAgICAgICAgcmV4eEtleXdvcmQKIAotICBIaUxpbmsgcmV4eFJhaXNlICAgICAgICAgICAgICByZXh4S2V5d29yZAotICBIaUxpbmsgcmV4eFJhaXNlMiAgICAgICAgICAgICByZXh4UmFpc2UKK0hpTGluayByZXh4UmFpc2UgICAgICAgICAgICAgIHJleHhLZXl3b3JkCitIaUxpbmsgcmV4eFJhaXNlMiAgICAgICAgICAgICByZXh4UmFpc2UKIAotICBIaUxpbmsgcmV4eEZvcndhcmQgICAgICAgICAgICByZXh4S2V5d29yZAotICBIaUxpbmsgcmV4eEZvcndhcmQyICAgICAgICAgICByZXh4Rm9yd2FyZAorSGlMaW5rIHJleHhGb3J3YXJkICAgICAgICAgICAgcmV4eEtleXdvcmQKK0hpTGluayByZXh4Rm9yd2FyZDIgICAgICAgICAgIHJleHhGb3J3YXJkCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJyZXh4IgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9yaWIudmltIGIvcnVudGltZS9zeW50YXgvcmliLnZpbQppbmRleCA2YjlmMmIwLi4zZDIyMzVmIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9yaWIudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3JpYi52aW0KQEAgLTQsMTAgKzQsOCBAQAogIiBMYXN0IENoYW5nZToJMjAwMyBNYXkgMTEKICIKIAotIiBSZW1vdmUgYW55IG9sZCBzeW50YXggc3R1ZmYgaGFuZ2luZyBhcm91bmQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3luIGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTQ2LDI2ICs0NCwxOSBAQAogc3luIG1hdGNoCXJpYkZsb2F0CSAgZGlzcGxheSBjb250YWluZWQgIlstXVw9XGRcK2VbLStdXGRcK1w+Igogc3luIGNhc2UgbWF0Y2gKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3JpYl9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9yaWJfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayByaWJTdHJ1Y3R1cmUJCVN0cnVjdHVyZQotICBIaUxpbmsgcmliQ29tbWFuZAkJU3RhdGVtZW50CitIaUxpbmsgcmliU3RydWN0dXJlCQlTdHJ1Y3R1cmUKK0hpTGluayByaWJDb21tYW5kCQlTdGF0ZW1lbnQKIAotICBIaUxpbmsgcmliU3RydWN0dXJlQ29tbWVudAlTcGVjaWFsQ29tbWVudAotICBIaUxpbmsgcmliTGluZUNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayByaWJTdHJ1Y3R1cmVDb21tZW50CVNwZWNpYWxDb21tZW50CitIaUxpbmsgcmliTGluZUNvbW1lbnQJCUNvbW1lbnQKIAotICBIaUxpbmsgcmliU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIHJpYk51bWJlcgkJTnVtYmVyCi0gIEhpTGluayByaWJGbG9hdAkJRmxvYXQKK0hpTGluayByaWJTdHJpbmcJCVN0cmluZworSGlMaW5rIHJpYk51bWJlcgkJTnVtYmVyCitIaUxpbmsgcmliRmxvYXQJCUZsb2F0CiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZAorZGVsY29tbWFuZCBIaUxpbmsKIAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJyaWIiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9yb2JvdHMudmltIGIvcnVudGltZS9zeW50YXgvcm9ib3RzLnZpbQppbmRleCAwNjY2MjhiLi4yM2JlOGQyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9yb2JvdHMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3JvYm90cy52aW0KQEAgLTUsMTEgKzUsOCBAQAogIiBVUkw6IGh0dHA6Ly93d3cubWdnZW4uY29tL3ZpbS9zeW50YXgvcm9ib3RzLnppcAogIiBMYXN0IGNoYW5nZToJMjAwMSBNYXkgMDkKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICAgZmluaXNoCiBlbmRpZgogCkBAIC00MSwyNiArMzgsMTkgQEAKIHN5biBtYXRjaCAgcm9ib3RzTWFpbAkJIlxTKkBcUyoiCiBzeW4gcmVnaW9uIHJvYm90c1N0cmluZwkJc3RhcnQ9K0xcPSIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKwogCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcm9ib3Nfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcm9ib3RzX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgcm9ib3RzQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgcm9ib3RzQWdlbnQJCVR5cGUKLSAgSGlMaW5rIHJvYm90c0Rpc2FsbG93CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHJvYm90c0xpbmUJCVNwZWNpYWwKLSAgSGlMaW5rIHJvYm90c1N0YXIJCU9wZXJhdG9yCi0gIEhpTGluayByb2JvdHNEZWxpbWl0ZXIJRGVsaW1pdGVyCi0gIEhpTGluayByb2JvdHNVcmwJCVN0cmluZwotICBIaUxpbmsgcm9ib3RzTWFpbAkJU3RyaW5nCi0gIEhpTGluayByb2JvdHNTdHJpbmcJCVN0cmluZworSGlMaW5rIHJvYm90c0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayByb2JvdHNBZ2VudAkJVHlwZQorSGlMaW5rIHJvYm90c0Rpc2FsbG93CQlTdGF0ZW1lbnQKK0hpTGluayByb2JvdHNMaW5lCQlTcGVjaWFsCitIaUxpbmsgcm9ib3RzU3RhcgkJT3BlcmF0b3IKK0hpTGluayByb2JvdHNEZWxpbWl0ZXIJRGVsaW1pdGVyCitIaUxpbmsgcm9ib3RzVXJsCQlTdHJpbmcKK0hpTGluayByb2JvdHNNYWlsCQlTdHJpbmcKK0hpTGluayByb2JvdHNTdHJpbmcJCVN0cmluZwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJyb2JvdHMiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ycGNnZW4udmltIGIvcnVudGltZS9zeW50YXgvcnBjZ2VuLnZpbQppbmRleCA4NTAzNmRjLi5lZTRjYzNmIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9ycGNnZW4udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3JwY2dlbi52aW0KQEAgLTEwLDExICsxMCw3IEBACiBlbmRpZgogCiAiIFJlYWQgdGhlIEMgc3ludGF4IHRvIHN0YXJ0IHdpdGgKLWlmIHZlcnNpb24gPCA2MDAKLSAgc291cmNlIDxzZmlsZT46cDpoL2MudmltCi1lbHNlCi0gIHJ1bnRpbWUhIHN5bnRheC9jLnZpbQotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9jLnZpbQogCiBzeW4ga2V5d29yZCBycGNQcm9ncmFtCXByb2dyYW0JCQkJc2tpcG5sIHNraXB3aGl0ZSBuZXh0Z3JvdXA9cnBjUHJvZ05hbWUKIHN5biBtYXRjaCAgIHJwY1Byb2dOYW1lCWNvbnRhaW5lZAkiXDxcaVxJKlw+Iglza2lwbmwgc2tpcHdoaXRlIG5leHRncm91cD1ycGNQcm9nWm9uZQpAQCAtMjgsMzEgKzI0LDIzIEBACiBzeW4gbWF0Y2ggICBycGNQYXNzVGhydQkJCSJeXHMqJS4qJCIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcnBjZ2VuX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3JwY2dlbl9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHJwY1Byb2dOYW1lCXJwY05hbWUKLSAgSGlMaW5rIHJwY1Byb2dyYW0JcnBjU3RhdGVtZW50Ci0gIEhpTGluayBycGNWZXJzTmFtZQlycGNOYW1lCi0gIEhpTGluayBycGNWZXJzaW9uCXJwY1N0YXRlbWVudAorSGlMaW5rIHJwY1Byb2dOYW1lCXJwY05hbWUKK0hpTGluayBycGNQcm9ncmFtCXJwY1N0YXRlbWVudAorSGlMaW5rIHJwY1ZlcnNOYW1lCXJwY05hbWUKK0hpTGluayBycGNWZXJzaW9uCXJwY1N0YXRlbWVudAogCi0gIEhpTGluayBycGNEZWNsCWNUeXBlCi0gIEhpTGluayBycGNQYXNzVGhydQljQ29tbWVudAorSGlMaW5rIHJwY0RlY2wJY1R5cGUKK0hpTGluayBycGNQYXNzVGhydQljQ29tbWVudAogCi0gIEhpTGluayBycGNOYW1lCVNwZWNpYWwKLSAgSGlMaW5rIHJwY1Byb2NObWJyCURlbGltaXRlcgotICBIaUxpbmsgcnBjUHJvZ05tYnJFcnIJRXJyb3IKLSAgSGlMaW5rIHJwY1N0YXRlbWVudAlTdGF0ZW1lbnQKK0hpTGluayBycGNOYW1lCVNwZWNpYWwKK0hpTGluayBycGNQcm9jTm1icglEZWxpbWl0ZXIKK0hpTGluayBycGNQcm9nTm1ickVycglFcnJvcgorSGlMaW5rIHJwY1N0YXRlbWVudAlTdGF0ZW1lbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInJwY2dlbiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcnBsLnZpbSBiL3J1bnRpbWUvc3ludGF4L3JwbC52aW0KaW5kZXggNjQ1NzgwMy4uZDJiZmZiYSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcnBsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9ycGwudmltCkBAIC02LDExICs2LDggQEAKICIgVVJMOgkJaHR0cDovL3d3dy5tYWthbGlzLmZyL35iZXJ0cmFuZC9ycGwyL2Rvd25sb2FkL3ZpbS9pbmRlbnQvcnBsLnZpbQogIiBDcmVkaXRzOglOb3RoaW5nCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC00MTcsNzcgKzQxNCw2OSBAQAogc3ludGF4IG1hdGNoIHJwbFRhYiAiXHQiICB0cmFuc3BhcmVudAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ycGxfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcnBsX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaWdobGlnaHQgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpZ2hsaWdodCBkZWZhdWx0IGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaWdobGlnaHQgZGVmYXVsdCBsaW5rIDxhcmdzPgogCi0gICIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCiAKLSAgSGlMaW5rIHJwbENvbnRyb2wJCVN0YXRlbWVudAotICBIaUxpbmsgcnBsU3RhdGVtZW50CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHJwbEFsZ0NvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluayBycGxDb25kaXRpb25hbAkJUmVwZWF0Ci0gIEhpTGluayBycGxDb25kaXRpb25hbEVycm9yCUVycm9yCi0gIEhpTGluayBycGxSZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgcnBsQ3ljbGUJCVJlcGVhdAotICBIaUxpbmsgcnBsVW50aWwJCVJlcGVhdAotICBIaUxpbmsgcnBsSW50cmluc2ljCQlTcGVjaWFsCi0gIEhpTGluayBycGxTdG9yYWdlCQlTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rIHJwbFN0b3JhZ2VFeHByCQlTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rIHJwbFN0b3JhZ2VFcnJvcglFcnJvcgotICBIaUxpbmsgcnBsUmVhZFdyaXRlCQlycGxJbnRyaW5zaWMKK0hpTGluayBycGxDb250cm9sCQlTdGF0ZW1lbnQKK0hpTGluayBycGxTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIHJwbEFsZ0NvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCitIaUxpbmsgcnBsQ29uZGl0aW9uYWwJCVJlcGVhdAorSGlMaW5rIHJwbENvbmRpdGlvbmFsRXJyb3IJRXJyb3IKK0hpTGluayBycGxSZXBlYXQJCVJlcGVhdAorSGlMaW5rIHJwbEN5Y2xlCQlSZXBlYXQKK0hpTGluayBycGxVbnRpbAkJUmVwZWF0CitIaUxpbmsgcnBsSW50cmluc2ljCQlTcGVjaWFsCitIaUxpbmsgcnBsU3RvcmFnZQkJU3RvcmFnZUNsYXNzCitIaUxpbmsgcnBsU3RvcmFnZUV4cHIJCVN0b3JhZ2VDbGFzcworSGlMaW5rIHJwbFN0b3JhZ2VFcnJvcglFcnJvcgorSGlMaW5rIHJwbFJlYWRXcml0ZQkJcnBsSW50cmluc2ljCiAKLSAgSGlMaW5rIHJwbE9wZXJhdG9yCQlPcGVyYXRvcgorSGlMaW5rIHJwbE9wZXJhdG9yCQlPcGVyYXRvcgogCi0gIEhpTGluayBycGxMaXN0CQlTcGVjaWFsCi0gIEhpTGluayBycGxBcnJheQkJU3BlY2lhbAotICBIaUxpbmsgcnBsQ29uc3RhbnQJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHJwbEV4cHIJCVR5cGUKK0hpTGluayBycGxMaXN0CQlTcGVjaWFsCitIaUxpbmsgcnBsQXJyYXkJCVNwZWNpYWwKK0hpTGluayBycGxDb25zdGFudAkJSWRlbnRpZmllcgorSGlMaW5rIHJwbEV4cHIJCVR5cGUKIAotICBIaUxpbmsgcnBsU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIHJwbFN0cmluZ0d1aWxsZXMJU3RyaW5nCi0gIEhpTGluayBycGxTdHJpbmdBbnRpc2xhc2gJU3RyaW5nCitIaUxpbmsgcnBsU3RyaW5nCQlTdHJpbmcKK0hpTGluayBycGxTdHJpbmdHdWlsbGVzCVN0cmluZworSGlMaW5rIHJwbFN0cmluZ0FudGlzbGFzaAlTdHJpbmcKIAotICBIaUxpbmsgcnBsQmluYXJ5CQlCb29sZWFuCi0gIEhpTGluayBycGxPY3RhbAkJQm9vbGVhbgotICBIaUxpbmsgcnBsRGVjaW1hbAkJQm9vbGVhbgotICBIaUxpbmsgcnBsSGV4YWRlY2ltYWwJCUJvb2xlYW4KLSAgSGlMaW5rIHJwbEludGVnZXIJCU51bWJlcgotICBIaUxpbmsgcnBsRmxvYXQJCUZsb2F0Ci0gIEhpTGluayBycGxDb21wbGV4CQlGbG9hdAotICBIaUxpbmsgcnBsQm9vbGVhbgkJSWRlbnRpZmllcgorSGlMaW5rIHJwbEJpbmFyeQkJQm9vbGVhbgorSGlMaW5rIHJwbE9jdGFsCQlCb29sZWFuCitIaUxpbmsgcnBsRGVjaW1hbAkJQm9vbGVhbgorSGlMaW5rIHJwbEhleGFkZWNpbWFsCQlCb29sZWFuCitIaUxpbmsgcnBsSW50ZWdlcgkJTnVtYmVyCitIaUxpbmsgcnBsRmxvYXQJCUZsb2F0CitIaUxpbmsgcnBsQ29tcGxleAkJRmxvYXQKK0hpTGluayBycGxCb29sZWFuCQlJZGVudGlmaWVyCiAKLSAgSGlMaW5rIHJwbE9ic29sZXRlCQlUb2RvCitIaUxpbmsgcnBsT2Jzb2xldGUJCVRvZG8KIAotICBIaUxpbmsgcnBsUHJlQ29uZGl0CQlQcmVDb25kaXQKLSAgSGlMaW5rIHJwbEluY2x1ZGUJCUluY2x1ZGUKLSAgSGlMaW5rIHJwbEluY2x1ZGVkCQlycGxTdHJpbmcKLSAgSGlMaW5rIHJwbEluY2x1ZGUJCUluY2x1ZGUKLSAgSGlMaW5rIHJwbEV4ZWNQYXRoCQlJbmNsdWRlCi0gIEhpTGluayBycGxQcmVQcm9jCQlQcmVQcm9jCi0gIEhpTGluayBycGxDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBycGxDb21tZW50TGluZQkJQ29tbWVudAotICBIaUxpbmsgcnBsQ29tbWVudFN0cmluZwlDb21tZW50Ci0gIEhpTGluayBycGxTdWJEZWxpbWl0b3IJcnBsU3RvcmFnZQotICBIaUxpbmsgcnBsQ29tbWVudEVycm9yCUVycm9yCi0gIEhpTGluayBycGxQYXJlbkVycm9yCQlFcnJvcgotICBIaUxpbmsgcnBsU3ViRXJyb3IJCUVycm9yCi0gIEhpTGluayBycGxBcnJheUVycm9yCQlFcnJvcgotICBIaUxpbmsgcnBsTGlzdEVycm9yCQlFcnJvcgotICBIaUxpbmsgcnBsVGFiCQkJRXJyb3IKLSAgSGlMaW5rIHJwbEJpbmFyeUVycm9yCQlFcnJvcgotICBIaUxpbmsgcnBsT2N0YWxFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIHJwbERlY2ltYWxFcnJvcglFcnJvcgotICBIaUxpbmsgcnBsSGV4YWRlY2ltYWxFcnJvcglFcnJvcgorSGlMaW5rIHJwbFByZUNvbmRpdAkJUHJlQ29uZGl0CitIaUxpbmsgcnBsSW5jbHVkZQkJSW5jbHVkZQorSGlMaW5rIHJwbEluY2x1ZGVkCQlycGxTdHJpbmcKK0hpTGluayBycGxJbmNsdWRlCQlJbmNsdWRlCitIaUxpbmsgcnBsRXhlY1BhdGgJCUluY2x1ZGUKK0hpTGluayBycGxQcmVQcm9jCQlQcmVQcm9jCitIaUxpbmsgcnBsQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIHJwbENvbW1lbnRMaW5lCQlDb21tZW50CitIaUxpbmsgcnBsQ29tbWVudFN0cmluZwlDb21tZW50CitIaUxpbmsgcnBsU3ViRGVsaW1pdG9yCXJwbFN0b3JhZ2UKK0hpTGluayBycGxDb21tZW50RXJyb3IJRXJyb3IKK0hpTGluayBycGxQYXJlbkVycm9yCQlFcnJvcgorSGlMaW5rIHJwbFN1YkVycm9yCQlFcnJvcgorSGlMaW5rIHJwbEFycmF5RXJyb3IJCUVycm9yCitIaUxpbmsgcnBsTGlzdEVycm9yCQlFcnJvcgorSGlMaW5rIHJwbFRhYgkJCUVycm9yCitIaUxpbmsgcnBsQmluYXJ5RXJyb3IJCUVycm9yCitIaUxpbmsgcnBsT2N0YWxFcnJvcgkJRXJyb3IKK0hpTGluayBycGxEZWNpbWFsRXJyb3IJRXJyb3IKK0hpTGluayBycGxIZXhhZGVjaW1hbEVycm9yCUVycm9yCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJycGwiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3J0Zi52aW0gYi9ydW50aW1lL3N5bnRheC9ydGYudmltCmluZGV4IDhmNWVhNzEuLjBjNjNlOGQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3J0Zi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcnRmLnZpbQpAQCAtMTMsMTEgKzEzLDggQEAKIAogIiBUT0RPOiByZW5kZXIgdW5kZXJsaW5lLCBpdGFsaWMsIGJvbGQKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTUyLDM1ICs0OSwyNyBAQAogc3luIG1hdGNoIHJ0ZkZvb3ROb3RlICJbIyRLK117XFxmb290bm90ZS4qfSIgY29udGFpbnM9cnRmQ29udHJvbFdvcmQscnRmTmV3Q29udHJvbFdvcmQKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcnRmX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3J0Zl9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKIAotICAgSGlMaW5rIHJ0ZkNvbnRyb2xXb3JkCQlTdGF0ZW1lbnQKLSAgIEhpTGluayBydGZOZXdDb250cm9sV29yZAlTcGVjaWFsCi0gICBIaUxpbmsgcnRmQ29udHJvbFN5bWJvbAlDb25zdGFudAotICAgSGlMaW5rIHJ0ZkNoYXJhY3RlcgkJQ2hhcmFjdGVyCi0gICBIaUxpbmsgcnRmVW5pY29kZUNoYXJhY3RlcglTcGVjaWFsQ2hhcgotICAgSGlMaW5rIHJ0ZkZvb3ROb3RlCQlDb21tZW50CitIaUxpbmsgcnRmQ29udHJvbFdvcmQJCVN0YXRlbWVudAorSGlMaW5rIHJ0Zk5ld0NvbnRyb2xXb3JkCVNwZWNpYWwKK0hpTGluayBydGZDb250cm9sU3ltYm9sCUNvbnN0YW50CitIaUxpbmsgcnRmQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKK0hpTGluayBydGZVbmljb2RlQ2hhcmFjdGVyCVNwZWNpYWxDaGFyCitIaUxpbmsgcnRmRm9vdE5vdGUJCUNvbW1lbnQKIAotICAgIiBEZWZpbmUgY29sb3JzIGZvciB0aGUgc3ludGF4IGZpbGUKLSAgIGhpIHJ0ZlJlZAkgICAgICB0ZXJtPXVuZGVybGluZSBjdGVybT11bmRlcmxpbmUgY3Rlcm1mZz1EYXJrUmVkIGd1aT11bmRlcmxpbmUgZ3VpZmc9RGFya1JlZAotICAgaGkgcnRmR3JlZW4JICAgICAgdGVybT11bmRlcmxpbmUgY3Rlcm09dW5kZXJsaW5lIGN0ZXJtZmc9RGFya0dyZWVuIGd1aT11bmRlcmxpbmUgZ3VpZmc9RGFya0dyZWVuCi0gICBoaSBydGZCbHVlCSAgICAgIHRlcm09dW5kZXJsaW5lIGN0ZXJtPXVuZGVybGluZSBjdGVybWZnPURhcmtCbHVlIGd1aT11bmRlcmxpbmUgZ3VpZmc9RGFya0JsdWUKKyIgRGVmaW5lIGNvbG9ycyBmb3IgdGhlIHN5bnRheCBmaWxlCitoaSBydGZSZWQJICAgICAgdGVybT11bmRlcmxpbmUgY3Rlcm09dW5kZXJsaW5lIGN0ZXJtZmc9RGFya1JlZCBndWk9dW5kZXJsaW5lIGd1aWZnPURhcmtSZWQKK2hpIHJ0ZkdyZWVuCSAgICAgIHRlcm09dW5kZXJsaW5lIGN0ZXJtPXVuZGVybGluZSBjdGVybWZnPURhcmtHcmVlbiBndWk9dW5kZXJsaW5lIGd1aWZnPURhcmtHcmVlbgoraGkgcnRmQmx1ZQkgICAgICB0ZXJtPXVuZGVybGluZSBjdGVybT11bmRlcmxpbmUgY3Rlcm1mZz1EYXJrQmx1ZSBndWk9dW5kZXJsaW5lIGd1aWZnPURhcmtCbHVlCiAKLSAgIEhpTGluayBydGZSZWQJcnRmUmVkCi0gICBIaUxpbmsgcnRmR3JlZW4JcnRmR3JlZW4KLSAgIEhpTGluayBydGZCbHVlCXJ0ZkJsdWUKK0hpTGluayBydGZSZWQJcnRmUmVkCitIaUxpbmsgcnRmR3JlZW4JcnRmR3JlZW4KK0hpTGluayBydGZCbHVlCXJ0ZkJsdWUKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAicnRmIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcnVieS52aW0gYi9ydW50aW1lL3N5bnRheC9ydWJ5LnZpbQppbmRleCAyOGY1NTNkLi5jYTdmNTFiIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9ydWJ5LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9ydWJ5LnZpbQpAQCAtOSwxNiArOSw0NSBAQAogIiBUaGFua3MgdG8gcGVybC52aW0gYXV0aG9ycywgYW5kIHRvIFJlaW1lciBCZWhyZW5kcy4gOi0pIChNTikKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCisiIFByZWx1ZGUge3t7MQogaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCisiIHRoaXMgZmlsZSB1c2VzIGxpbmUgY29udGludWF0aW9ucworbGV0IHM6Y3BvX3NhdiA9ICZjcG8KK3NldCBjcG8mdmltCisKKyIgRm9sZGluZyBDb25maWcge3t7MQogaWYgaGFzKCJmb2xkaW5nIikgJiYgZXhpc3RzKCJydWJ5X2ZvbGQiKQogICBzZXRsb2NhbCBmb2xkbWV0aG9kPXN5bnRheAogZW5kaWYKIAorbGV0IHM6Zm9sZGFibGVfZ3JvdXBzID0gc3BsaXQoCisgICAgICBcCSAgZ2V0KAorICAgICAgXAkgICAgYjosCisgICAgICBcCSAgICAncnVieV9mb2xkYWJsZV9ncm91cHMnLAorICAgICAgXAkgICAgZ2V0KGc6LCAncnVieV9mb2xkYWJsZV9ncm91cHMnLCAnQUxMJykKKyAgICAgIFwJICApCisgICAgICBcCSkKKworZnVuY3Rpb24hIHM6Zm9sZGFibGUoLi4uKSBhYm9ydAorICBpZiBpbmRleChzOmZvbGRhYmxlX2dyb3VwcywgJ0FMTCcpID4gLTEKKyAgICByZXR1cm4gMQorICBlbmRpZgorCisgIGZvciBsOmkgaW4gYTowMDAKKyAgICBpZiBpbmRleChzOmZvbGRhYmxlX2dyb3VwcywgbDppKSA+IC0xCisgICAgICByZXR1cm4gMQorICAgIGVuZGlmCisgIGVuZGZvcgorCisgIHJldHVybiAwCitlbmRmdW5jdGlvbiAiIH19fQorCiBzeW4gY2x1c3RlciBydWJ5Tm90VG9wIGNvbnRhaW5zPUBydWJ5RXh0ZW5kZWRTdHJpbmdTcGVjaWFsLEBydWJ5UmVnZXhwU3BlY2lhbCxAcnVieURlY2xhcmF0aW9uLHJ1YnlDb25kaXRpb25hbCxydWJ5RXhjZXB0aW9uYWwscnVieU1ldGhvZEV4Y2VwdGlvbmFsLHJ1YnlUb2RvCiAKKyIgV2hpdGVzcGFjZSBFcnJvcnMge3t7MQogaWYgZXhpc3RzKCJydWJ5X3NwYWNlX2Vycm9ycyIpCiAgIGlmICFleGlzdHMoInJ1Ynlfbm9fdHJhaWxfc3BhY2VfZXJyb3IiKQogICAgIHN5biBtYXRjaCBydWJ5U3BhY2VFcnJvciBkaXNwbGF5IGV4Y2x1ZGVubCAiXHNcKyQiCkBAIC0yOCwxNCArNTcsMTQgQEAKICAgZW5kaWYKIGVuZGlmCiAKLSIgT3BlcmF0b3JzCisiIE9wZXJhdG9ycyB7e3sxCiBpZiBleGlzdHMoInJ1Ynlfb3BlcmF0b3JzIikKLSAgc3luIG1hdGNoICBydWJ5T3BlcmF0b3IgIlt+IV4mfCovJSstXVx8XCUoY2xhc3NccypcKVxAPCE8PFx8PD0+XHw8PVx8XCUoPFx8XDxjbGFzc1xzXCtcdVx3KlxzKlwpXEA8ITxbXjxdXEA9XHw9PT1cfD09XHw9XH5cfD4+XHw+PVx8PVxAPCE+XHxcKlwqXHxcLlwuXC5cfFwuXC5cfDo6IgorICBzeW4gbWF0Y2ggIHJ1YnlPcGVyYXRvciAiW34hXnwqLyUrLV1cfCZcLlxAIVx8XCUoY2xhc3NccypcKVxAPCE8PFx8PD0+XHw8PVx8XCUoPFx8XDxjbGFzc1xzXCtcdVx3KlxzKlwpXEA8ITxbXjxdXEA9XHw9PT1cfD09XHw9XH5cfD4+XHw+PVx8PVxAMTwhPlx8XCpcKlx8XC5cLlwuXHxcLlwuXHw6OiIKICAgc3luIG1hdGNoICBydWJ5T3BlcmF0b3IgIi0+XHwtPVx8Lz1cfFwqXCo9XHxcKj1cfCYmPVx8Jj1cfCYmXHx8fD1cfHw9XHx8fFx8JT1cfCs9XHwhXH5cfCE9IgotICBzeW4gcmVnaW9uIHJ1YnlCcmFja2V0T3BlcmF0b3IgbWF0Y2hncm91cD1ydWJ5T3BlcmF0b3Igc3RhcnQ9IlwlKFx3Wz8hXVw9XHxbXX0pXVwpXEA8PVxbXHMqIiBlbmQ9IlxzKl0iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAorICBzeW4gcmVnaW9uIHJ1YnlCcmFja2V0T3BlcmF0b3IgbWF0Y2hncm91cD1ydWJ5T3BlcmF0b3Igc3RhcnQ9IlwlKFx3Wz8hXVw9XHxbXX0pXVwpXEAyPD1cW1xzKiIgZW5kPSJccypdIiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AKIGVuZGlmCiAKLSIgRXhwcmVzc2lvbiBTdWJzdGl0dXRpb24gYW5kIEJhY2tzbGFzaCBOb3RhdGlvbgorIiBFeHByZXNzaW9uIFN1YnN0aXR1dGlvbiBhbmQgQmFja3NsYXNoIE5vdGF0aW9uIHt7ezEKIHN5biBtYXRjaCBydWJ5U3RyaW5nRXNjYXBlICJcXFxcXHxcXFthYmVmbnJzdHZdXHxcXFxvXHsxLDN9XHxcXHhceFx7MSwyfSIJCQkJCQkgICAgY29udGFpbmVkIGRpc3BsYXkKIHN5biBtYXRjaCBydWJ5U3RyaW5nRXNjYXBlICJcJShcXE0tXFxDLVx8XFxDLVxcTS1cfFxcTS1cXGNcfFxcY1xcTS1cfFxcY1x8XFxDLVx8XFxNLVwpXCUoXFxcb1x7MSwzfVx8XFx4XHhcezEsMn1cfFxcXD1cU1wpIiBjb250YWluZWQgZGlzcGxheQogc3luIG1hdGNoIHJ1YnlRdW90ZUVzY2FwZSAgIlxcW1xcJ10iCQkJCQkJCQkJCQkgICAgY29udGFpbmVkIGRpc3BsYXkKQEAgLTQ1LDE4ICs3NCwxOSBAQAogc3luIG1hdGNoICBydWJ5SW50ZXJwb2xhdGlvbkRlbGltaXRlciAiI1x6ZVwlKFwkXHxAQFw9XClcd1wrIiBkaXNwbGF5IGNvbnRhaW5lZAogc3luIG1hdGNoICBydWJ5SW50ZXJwb2xhdGlvbgkgICAgICAiI1wkXCUoLVx3XHxcV1wpIiAgICAgICBkaXNwbGF5IGNvbnRhaW5lZCBjb250YWlucz1ydWJ5SW50ZXJwb2xhdGlvbkRlbGltaXRlcixydWJ5UHJlZGVmaW5lZFZhcmlhYmxlLHJ1YnlJbnZhbGlkVmFyaWFibGUKIHN5biBtYXRjaCAgcnVieUludGVycG9sYXRpb25EZWxpbWl0ZXIgIiNcemVcJFwlKC1cd1x8XFdcKSIgICAgZGlzcGxheSBjb250YWluZWQKLXN5biByZWdpb24gcnVieU5vSW50ZXJwb2xhdGlvbgkgICAgICBzdGFydD0iXFwjeyIgZW5kPSJ9IiAgICAgICAgICAgIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBydWJ5Tm9JbnRlcnBvbGF0aW9uCSAgICAgIHN0YXJ0PSJcXCN7IiBlbmQ9In0iCSAgICAgIGNvbnRhaW5lZAogc3luIG1hdGNoICBydWJ5Tm9JbnRlcnBvbGF0aW9uCSAgICAgICJcXCN7IgkJICAgICAgZGlzcGxheSBjb250YWluZWQKIHN5biBtYXRjaCAgcnVieU5vSW50ZXJwb2xhdGlvbgkgICAgICAiXFwjXCUoXCRcfEBAXD1cKVx3XCsiICBkaXNwbGF5IGNvbnRhaW5lZAogc3luIG1hdGNoICBydWJ5Tm9JbnRlcnBvbGF0aW9uCSAgICAgICJcXCNcJFxXIgkJICAgICAgZGlzcGxheSBjb250YWluZWQKIAotc3luIG1hdGNoIHJ1YnlEZWxpbUVzY2FwZQkiXFxbKDx7XFspPn1cXV0iIHRyYW5zcGFyZW50IGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPU5PTkUKK3N5biBtYXRjaCBydWJ5RGVsaW1pdGVyRXNjYXBlCSJcXFsoPHtcWyk+fVxdXSIgdHJhbnNwYXJlbnQgZGlzcGxheSBjb250YWluZWQgY29udGFpbnM9Tk9ORQogCiBzeW4gcmVnaW9uIHJ1YnlOZXN0ZWRQYXJlbnRoZXNlcyAgICBzdGFydD0iKCIgIHNraXA9IlxcXFxcfFxcKSIgIG1hdGNoZ3JvdXA9cnVieVN0cmluZyBlbmQ9IikiCXRyYW5zcGFyZW50IGNvbnRhaW5lZAogc3luIHJlZ2lvbiBydWJ5TmVzdGVkQ3VybHlCcmFjZXMgICAgc3RhcnQ9InsiICBza2lwPSJcXFxcXHxcXH0iICBtYXRjaGdyb3VwPXJ1YnlTdHJpbmcgZW5kPSJ9Igl0cmFuc3BhcmVudCBjb250YWluZWQKIHN5biByZWdpb24gcnVieU5lc3RlZEFuZ2xlQnJhY2tldHMgIHN0YXJ0PSI8IiAgc2tpcD0iXFxcXFx8XFw+IiAgbWF0Y2hncm91cD1ydWJ5U3RyaW5nIGVuZD0iPiIJdHJhbnNwYXJlbnQgY29udGFpbmVkCiBzeW4gcmVnaW9uIHJ1YnlOZXN0ZWRTcXVhcmVCcmFja2V0cyBzdGFydD0iXFsiIHNraXA9IlxcXFxcfFxcXF0iIG1hdGNoZ3JvdXA9cnVieVN0cmluZyBlbmQ9IlxdIgl0cmFuc3BhcmVudCBjb250YWluZWQKIAorIiBSZWd1bGFyIEV4cHJlc3Npb24gTWV0YWNoYXJhY3RlcnMge3t7MQogIiBUaGVzZSBhcmUgbW9zdGx5IE9uaWd1cnVtYSByZWFkeQogc3luIHJlZ2lvbiBydWJ5UmVnZXhwQ29tbWVudAltYXRjaGdyb3VwPXJ1YnlSZWdleHBTcGVjaWFsICAgc3RhcnQ9Iig/IyIJCQkJCQkJCSAgc2tpcD0iXFwpIiAgZW5kPSIpIiAgY29udGFpbmVkCiBzeW4gcmVnaW9uIHJ1YnlSZWdleHBQYXJlbnMJbWF0Y2hncm91cD1ydWJ5UmVnZXhwU3BlY2lhbCAgIHN0YXJ0PSIoXCg/Olx8PzxcPVs9IV1cfD8+XHw/PFthLXpfXVx3Kj5cfD9baW14XSotW2lteF0qOlw9XHxcJSg/I1wpXEAhXCkiIHNraXA9IlxcKSIgIGVuZD0iKSIgIGNvbnRhaW5lZCB0cmFuc3BhcmVudCBjb250YWlucz1AcnVieVJlZ2V4cFNwZWNpYWwKQEAgLTc5LDM2ICsxMDksNDAgQEAKIHN5biBjbHVzdGVyIHJ1YnlFeHRlbmRlZFN0cmluZ1NwZWNpYWwgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsLHJ1YnlOZXN0ZWRQYXJlbnRoZXNlcyxydWJ5TmVzdGVkQ3VybHlCcmFjZXMscnVieU5lc3RlZEFuZ2xlQnJhY2tldHMscnVieU5lc3RlZFNxdWFyZUJyYWNrZXRzCiBzeW4gY2x1c3RlciBydWJ5UmVnZXhwU3BlY2lhbAkgICAgICBjb250YWlucz1ydWJ5SW50ZXJwb2xhdGlvbixydWJ5Tm9JbnRlcnBvbGF0aW9uLHJ1YnlTdHJpbmdFc2NhcGUscnVieVJlZ2V4cFNwZWNpYWwscnVieVJlZ2V4cEVzY2FwZSxydWJ5UmVnZXhwQnJhY2tldHMscnVieVJlZ2V4cENoYXJDbGFzcyxydWJ5UmVnZXhwRG90LHJ1YnlSZWdleHBRdWFudGlmaWVyLHJ1YnlSZWdleHBBbmNob3IscnVieVJlZ2V4cFBhcmVucyxydWJ5UmVnZXhwQ29tbWVudAogCi0iIE51bWJlcnMgYW5kIEFTQ0lJIENvZGVzCi1zeW4gbWF0Y2ggcnVieUFTQ0lJQ29kZQkiXCUoXHdcfFtdfSlcIicvXVwpXEA8IVwlKD9cJShcXE0tXFxDLVx8XFxDLVxcTS1cfFxcTS1cXGNcfFxcY1xcTS1cfFxcY1x8XFxDLVx8XFxNLVwpXD1cJShcXFxvXHsxLDN9XHxcXHhceFx7MSwyfVx8XFxcPVxTXClcKSIKLXN5biBtYXRjaCBydWJ5SW50ZWdlcgkiXCUoXCUoXHdcfFtdfSlcIiddXHMqXClcQDwhLVwpXD1cPDBbeFhdXHhcK1wlKF9ceFwrXCkqXD4iCQkJCQkJCQlkaXNwbGF5Ci1zeW4gbWF0Y2ggcnVieUludGVnZXIJIlwlKFwlKFx3XHxbXX0pXCInXVxzKlwpXEA8IS1cKVw9XDxcJSgwW2REXVwpXD1cJSgwXHxbMS05XVxkKlwlKF9cZFwrXCkqXClcPiIJCQkJCQlkaXNwbGF5Ci1zeW4gbWF0Y2ggcnVieUludGVnZXIJIlwlKFwlKFx3XHxbXX0pXCInXVxzKlwpXEA8IS1cKVw9XDwwW29PXVw9XG9cK1wlKF9cb1wrXCkqXD4iCQkJCQkJCQlkaXNwbGF5Ci1zeW4gbWF0Y2ggcnVieUludGVnZXIJIlwlKFwlKFx3XHxbXX0pXCInXVxzKlwpXEA8IS1cKVw9XDwwW2JCXVswMV1cK1wlKF9bMDFdXCtcKSpcPiIJCQkJCQkJCWRpc3BsYXkKLXN5biBtYXRjaCBydWJ5RmxvYXQJIlwlKFwlKFx3XHxbXX0pXCInXVxzKlwpXEA8IS1cKVw9XDxcJSgwXHxbMS05XVxkKlwlKF9cZFwrXCkqXClcLlxkXCtcJShfXGRcK1wpKlw+IgkJCQkJZGlzcGxheQotc3luIG1hdGNoIHJ1YnlGbG9hdAkiXCUoXCUoXHdcfFtdfSlcIiddXHMqXClcQDwhLVwpXD1cPFwlKDBcfFsxLTldXGQqXCUoX1xkXCtcKSpcKVwlKFwuXGRcK1wlKF9cZFwrXCkqXClcPVwlKFtlRV1bLStdXD1cZFwrXCUoX1xkXCtcKSpcKVw+IglkaXNwbGF5CisiIE51bWJlcnMgYW5kIEFTQ0lJIENvZGVzIHt7ezEKK3N5biBtYXRjaCBydWJ5QVNDSUlDb2RlICJcJShcd1x8W119KVwiJy9dXClcQDE8IVwlKD9cJShcXE0tXFxDLVx8XFxDLVxcTS1cfFxcTS1cXGNcfFxcY1xcTS1cfFxcY1x8XFxDLVx8XFxNLVwpXD1cJShcXFxvXHsxLDN9XHxcXHhceFx7MSwyfVx8XFxcPVxTXClcKSIKK3N5biBtYXRjaCBydWJ5SW50ZWdlcgkiXCUoXCUoXHdcfFtdfSlcIiddXHMqXClcQDwhLVwpXD1cPDBbeFhdXHhcK1wlKF9ceFwrXCkqclw9aVw9XD4iCQkJCQkJCQlkaXNwbGF5CitzeW4gbWF0Y2ggcnVieUludGVnZXIJIlwlKFwlKFx3XHxbXX0pXCInXVxzKlwpXEA8IS1cKVw9XDxcJSgwW2REXVwpXD1cJSgwXHxbMS05XVxkKlwlKF9cZFwrXCkqXClyXD1pXD1cPiIJCQkJCQlkaXNwbGF5CitzeW4gbWF0Y2ggcnVieUludGVnZXIJIlwlKFwlKFx3XHxbXX0pXCInXVxzKlwpXEA8IS1cKVw9XDwwW29PXVw9XG9cK1wlKF9cb1wrXCkqclw9aVw9XD4iCQkJCQkJCQlkaXNwbGF5CitzeW4gbWF0Y2ggcnVieUludGVnZXIJIlwlKFwlKFx3XHxbXX0pXCInXVxzKlwpXEA8IS1cKVw9XDwwW2JCXVswMV1cK1wlKF9bMDFdXCtcKSpyXD1pXD1cPiIJCQkJCQkJCWRpc3BsYXkKK3N5biBtYXRjaCBydWJ5RmxvYXQJIlwlKFwlKFx3XHxbXX0pXCInXVxzKlwpXEA8IS1cKVw9XDxcJSgwXHxbMS05XVxkKlwlKF9cZFwrXCkqXClcLlxkXCtcJShfXGRcK1wpKnJcPWlcPVw+IgkJCQkJZGlzcGxheQorc3luIG1hdGNoIHJ1YnlGbG9hdAkiXCUoXCUoXHdcfFtdfSlcIiddXHMqXClcQDwhLVwpXD1cPFwlKDBcfFsxLTldXGQqXCUoX1xkXCtcKSpcKVwlKFwuXGRcK1wlKF9cZFwrXCkqXClcPVwlKFtlRV1bLStdXD1cZFwrXCUoX1xkXCtcKSpcKXJcPWlcPVw+IglkaXNwbGF5CiAKLSIgSWRlbnRpZmllcnMKKyIgSWRlbnRpZmllcnMge3t7MQogc3luIG1hdGNoIHJ1YnlMb2NhbFZhcmlhYmxlT3JNZXRob2QgIlw8W19bOmxvd2VyOl1dW19bOmFsbnVtOl1dKls/IT1dXD0iIGNvbnRhaW5zPU5PTkUgZGlzcGxheSB0cmFuc3BhcmVudAogc3luIG1hdGNoIHJ1YnlCbG9ja0FyZ3VtZW50CSAgICAiJltfWzpsb3dlcjpdXVtfWzphbG51bTpdXSIJCSBjb250YWlucz1OT05FIGRpc3BsYXkgdHJhbnNwYXJlbnQKIAotc3luIG1hdGNoICBydWJ5Q29uc3RhbnQJCSJcJShcJShbLkAkXVxAPCFcLlwpXEA8IVw8XHw6OlwpXF9zKlx6c1x1XHcqXCUoXD5cfDo6XClcQD1cJShccyooXClcQCEiCitzeW4gbWF0Y2ggIHJ1YnlDb25zdGFudAkJIlwlKFwlKF5cfFteLl1cKVwuXHMqXClcQDwhXDxcdVwlKFx3XHxbXlx4MDAtXHg3Rl1cKSpcPlwlKFxzKihcKVxAISIKIHN5biBtYXRjaCAgcnVieUNsYXNzVmFyaWFibGUJIkBAXCUoXGhcfFteXHgwMC1ceDdGXVwpXCUoXHdcfFteXHgwMC1ceDdGXVwpKiIgZGlzcGxheQotc3luIG1hdGNoICBydWJ5SW5zdGFuY2VWYXJpYWJsZSAiQFwlKFxoXHxbXlx4MDAtXHg3Rl1cKVwlKFx3XHxbXlx4MDAtXHg3Rl1cKSoiICBkaXNwbGF5CitzeW4gbWF0Y2ggIHJ1YnlJbnN0YW5jZVZhcmlhYmxlICJAXCUoXGhcfFteXHgwMC1ceDdGXVwpXCUoXHdcfFteXHgwMC1ceDdGXVwpKiIJZGlzcGxheQogc3luIG1hdGNoICBydWJ5R2xvYmFsVmFyaWFibGUJIiRcJShcJShcaFx8W15ceDAwLVx4N0ZdXClcJShcd1x8W15ceDAwLVx4N0ZdXCkqXHwtLlwpIgotc3luIG1hdGNoICBydWJ5U3ltYm9sCQkiW119KVwiJzpdXEA8ITpcJShcXlx8XH5cfDw8XHw8PT5cfDw9XHw8XHw9PT1cfFs9IV09XHxbPSFdXH5cfCFcfD4+XHw+PVx8Plx8fFx8LUBcfC1cfC9cfFxbXT1cfFxbXVx8XCpcKlx8XCpcfCZcfCVcfCtAXHwrXHxgXCkiCi1zeW4gbWF0Y2ggIHJ1YnlTeW1ib2wJCSJbXX0pXCInOl1cQDwhOlwkXCUoLS5cfFtgfjw9Pl8sOzohPy8uJyJAJCpcJiswXVwpIgotc3luIG1hdGNoICBydWJ5U3ltYm9sCQkiW119KVwiJzpdXEA8ITpcJShcJFx8QEBcPVwpXD1cJShcaFx8W15ceDAwLVx4N0ZdXClcJShcd1x8W15ceDAwLVx4N0ZdXCkqIgotc3luIG1hdGNoICBydWJ5U3ltYm9sCQkiW119KVwiJzpdXEA8ITpcJShcaFx8W15ceDAwLVx4N0ZdXClcJShcd1x8W15ceDAwLVx4N0ZdXCkqXCUoWz8hPV0+XEAhXClcPSIKLXN5biBtYXRjaCAgcnVieVN5bWJvbAkJIlwlKFt7KCxdXF9zKlwpXEA8PVxsXHcqWyE/XVw9OjpcQCEiaGU9ZS0xCi1zeW4gbWF0Y2ggIHJ1YnlTeW1ib2wJCSJbXX0pXCInOl1cQDwhXCUoXGhcfFteXHgwMC1ceDdGXVwpXCUoXHdcfFteXHgwMC1ceDdGXVwpKlshP11cPTpcc1xAPSJoZT1lLTEKLXN5biBtYXRjaCAgcnVieVN5bWJvbAkJIlwlKFt7KCxdXF9zKlwpXEA8PVtbOnNwYWNlOl0se11cbFx3KlshP11cPTo6XEAhImhzPXMrMSxoZT1lLTEKLXN5biBtYXRjaCAgcnVieVN5bWJvbAkJIltbOnNwYWNlOl0se11cJShcaFx8W15ceDAwLVx4N0ZdXClcJShcd1x8W15ceDAwLVx4N0ZdXCkqWyE/XVw9OlxzXEA9ImhzPXMrMSxoZT1lLTEKLXN5biByZWdpb24gcnVieVN5bWJvbAkJc3RhcnQ9IltdfSlcIic6XVxAPCE6JyIgIGVuZD0iJyIgIHNraXA9IlxcXFxcfFxcJyIgIGNvbnRhaW5zPXJ1YnlRdW90ZUVzY2FwZSBmb2xkCi1zeW4gcmVnaW9uIHJ1YnlTeW1ib2wJCXN0YXJ0PSJbXX0pXCInOl1cQDwhOlwiIiBlbmQ9IlwiIiBza2lwPSJcXFxcXHxcXFwiIiBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwgZm9sZAorc3luIG1hdGNoICBydWJ5U3ltYm9sCQkiW119KVwiJzpdXEAxPCE6XCUoXF5cfFx+QFx8XH5cfDw8XHw8PT5cfDw9XHw8XHw9PT1cfFs9IV09XHxbPSFdXH5cfCFAXHwhXHw+Plx8Pj1cfD5cfHxcfC1AXHwtXHwvXHxcW109XHxcW11cfFwqXCpcfFwqXHwmXHwlXHwrQFx8K1x8YFwpIgorc3luIG1hdGNoICBydWJ5U3ltYm9sCQkiW119KVwiJzpdXEAxPCE6XCRcJSgtLlx8W2B+PD0+Xyw7OiE/Ly4nIkAkKlwmKzBdXCkiCitzeW4gbWF0Y2ggIHJ1YnlTeW1ib2wJCSJbXX0pXCInOl1cQDE8ITpcJShcJFx8QEBcPVwpXD1cJShcaFx8W15ceDAwLVx4N0ZdXClcJShcd1x8W15ceDAwLVx4N0ZdXCkqIgorc3luIG1hdGNoICBydWJ5U3ltYm9sCQkiW119KVwiJzpdXEAxPCE6XCUoXGhcfFteXHgwMC1ceDdGXVwpXCUoXHdcfFteXHgwMC1ceDdGXVwpKlwlKFs/IT1dPlxAIVwpXD0iCisKK2lmIHM6Zm9sZGFibGUoJzonKQorICBzeW4gcmVnaW9uIHJ1YnlTeW1ib2wJCXN0YXJ0PSJbXX0pXCInOl1cQDE8ITonIiAgZW5kPSInIiAgc2tpcD0iXFxcXFx8XFwnIiAgY29udGFpbnM9cnVieVF1b3RlRXNjYXBlIGZvbGQKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sCQlzdGFydD0iW119KVwiJzpdXEAxPCE6XCIiIGVuZD0iXCIiIHNraXA9IlxcXFxcfFxcXCIiIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCBmb2xkCitlbHNlCisgIHN5biByZWdpb24gcnVieVN5bWJvbAkJc3RhcnQ9IltdfSlcIic6XVxAMTwhOiciICBlbmQ9IiciICBza2lwPSJcXFxcXHxcXCciICBjb250YWlucz1ydWJ5UXVvdGVFc2NhcGUKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sCQlzdGFydD0iW119KVwiJzpdXEAxPCE6XCIiIGVuZD0iXCIiIHNraXA9IlxcXFxcfFxcXCIiIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbAorZW5kaWYKKworc3luIG1hdGNoICBydWJ5Q2FwaXRhbGl6ZWRNZXRob2QJIlwlKFwlKF5cfFteLl1cKVwuXHMqXClcQDwhXDxcdVwlKFx3XHxbXlx4MDAtXHg3Rl1cKSpcPlwlKFxzKihcKSpccyooXEA9IgogCiBzeW4gbWF0Y2ggIHJ1YnlCbG9ja1BhcmFtZXRlcgkgICJcJShcaFx8W15ceDAwLVx4N0ZdXClcJShcd1x8W15ceDAwLVx4N0ZdXCkqIiBjb250YWluZWQKLXN5biByZWdpb24gcnVieUJsb2NrUGFyYW1ldGVyTGlzdCBzdGFydD0iXCUoXCUoXDxkb1w+XHx7XClccypcKVxAPD18IiBlbmQ9InwiIG9uZWxpbmUgZGlzcGxheSBjb250YWlucz1ydWJ5QmxvY2tQYXJhbWV0ZXIKK3N5biByZWdpb24gcnVieUJsb2NrUGFyYW1ldGVyTGlzdCBzdGFydD0iXCUoXCUoXDxkb1w+XHx7XClcX3MqXClcQDMyPD18IiBlbmQ9InwiIG9uZWxpbmUgZGlzcGxheSBjb250YWlucz1ydWJ5QmxvY2tQYXJhbWV0ZXIKIAogc3luIG1hdGNoIHJ1YnlJbnZhbGlkVmFyaWFibGUJICIkW14gQS1aYS16Xy1dIgogc3luIG1hdGNoIHJ1YnlQcmVkZWZpbmVkVmFyaWFibGUgIyRbISQmIicqKywuLzA6Ozw9Pj9AXGB+XSMKQEAgLTExNyw5MyArMTUxLDE4NyBAQAogc3luIG1hdGNoIHJ1YnlQcmVkZWZpbmVkVmFyaWFibGUgIiQtWzBGSUthZGlscHZ3XVw+IgkJCQkJCQkJCSAgIGRpc3BsYXkKIHN5biBtYXRjaCBydWJ5UHJlZGVmaW5lZFZhcmlhYmxlICIkXCUoZGVmZXJyXHxkZWZvdXRcfHN0ZGVyclx8c3RkaW5cfHN0ZG91dFwpXD4iCQkJCQkgICBkaXNwbGF5CiBzeW4gbWF0Y2ggcnVieVByZWRlZmluZWRWYXJpYWJsZSAiJFwlKERFQlVHXHxGSUxFTkFNRVx8S0NPREVcfExPQURFRF9GRUFUVVJFU1x8TE9BRF9QQVRIXHxQUk9HUkFNX05BTUVcfFNBRkVcfFZFUkJPU0VcKVw+IiBkaXNwbGF5Ci1zeW4gbWF0Y2ggcnVieVByZWRlZmluZWRDb25zdGFudCAiXCUoXCUoXC5cQDwhXC5cKVxAPCFcfDo6XClcX3MqXHpzXCUoTWF0Y2hpbmdEYXRhXHxBUkdGXHxBUkdWXHxFTlZcKVw+XCUoXHMqKFwpXEAhIgotc3luIG1hdGNoIHJ1YnlQcmVkZWZpbmVkQ29uc3RhbnQgIlwlKFwlKFwuXEA8IVwuXClcQDwhXHw6OlwpXF9zKlx6c1wlKERBVEFcfEZBTFNFXHxOSUxcKVw+XCUoXHMqKFwpXEAhIgotc3luIG1hdGNoIHJ1YnlQcmVkZWZpbmVkQ29uc3RhbnQgIlwlKFwlKFwuXEA8IVwuXClcQDwhXHw6OlwpXF9zKlx6c1wlKFNUREVSUlx8U1RESU5cfFNURE9VVFx8VE9QTEVWRUxfQklORElOR1x8VFJVRVwpXD5cJShccyooXClcQCEiCi1zeW4gbWF0Y2ggcnVieVByZWRlZmluZWRDb25zdGFudCAiXCUoXCUoXC5cQDwhXC5cKVxAPCFcfDo6XClcX3MqXHpzXCUoUlVCWV9cJShWRVJTSU9OXHxSRUxFQVNFX0RBVEVcfFBMQVRGT1JNXHxQQVRDSExFVkVMXHxSRVZJU0lPTlx8REVTQ1JJUFRJT05cfENPUFlSSUdIVFx8RU5HSU5FXClcKVw+XCUoXHMqKFwpXEAhIgorc3luIG1hdGNoIHJ1YnlQcmVkZWZpbmVkQ29uc3RhbnQgIlwlKFwlKF5cfFteLl1cKVwuXHMqXClcQDwhXDxcJShBUkdGXHxBUkdWXHxFTlZcfERBVEFcfEZBTFNFXHxOSUxcfFNUREVSUlx8U1RESU5cfFNURE9VVFx8VE9QTEVWRUxfQklORElOR1x8VFJVRVwpXD5cJShccyooXClcQCEiCitzeW4gbWF0Y2ggcnVieVByZWRlZmluZWRDb25zdGFudCAiXCUoXCUoXlx8W14uXVwpXC5ccypcKVxAPCFcPFwlKFJVQllfXCUoVkVSU0lPTlx8UkVMRUFTRV9EQVRFXHxQTEFURk9STVx8UEFUQ0hMRVZFTFx8UkVWSVNJT05cfERFU0NSSVBUSU9OXHxDT1BZUklHSFRcfEVOR0lORVwpXClcPlwlKFxzKihcKVxAISIKIAotIiBOb3JtYWwgUmVndWxhciBFeHByZXNzaW9uCi1zeW4gcmVnaW9uIHJ1YnlSZWdleHAgbWF0Y2hncm91cD1ydWJ5UmVnZXhwRGVsaW1pdGVyIHN0YXJ0PSJcJShcJSheXHxcPFwlKGFuZFx8b3JcfHdoaWxlXHx1bnRpbFx8dW5sZXNzXHxpZlx8ZWxzaWZcfHdoZW5cfG5vdFx8dGhlblx8ZWxzZVwpXHxbO1x+PSF8JigsWzw+PzoqKy1dXClccypcKVxAPD0vIiBlbmQ9Ii9baW9teG5ldXNdKiIgc2tpcD0iXFxcXFx8XFwvIiBjb250YWlucz1AcnVieVJlZ2V4cFNwZWNpYWwgZm9sZAotc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iXCUoXGhcaypcc1wrXClcQDw9L1sgXHQ9XVxAISIgZW5kPSIvW2lvbXhuZXVzXSoiIHNraXA9IlxcXFxcfFxcLyIgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsIGZvbGQKKyIgTm9ybWFsIFJlZ3VsYXIgRXhwcmVzc2lvbiB7e3sxCitpZiBzOmZvbGRhYmxlKCcvJykKKyAgc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iXCUoXCUoXlx8XDxcJShhbmRcfG9yXHx3aGlsZVx8dW50aWxcfHVubGVzc1x8aWZcfGVsc2lmXHx3aGVuXHxub3RcfHRoZW5cfGVsc2VcKVx8Wztcfj0hfCYoLHtbPD4/OiorLV1cKVxzKlwpXEA8PS8iIGVuZD0iL1tpb214bmV1c10qIiBza2lwPSJcXFxcXHxcXC8iIGNvbnRhaW5zPUBydWJ5UmVnZXhwU3BlY2lhbCBmb2xkCisgIHN5biByZWdpb24gcnVieVJlZ2V4cCBtYXRjaGdyb3VwPXJ1YnlSZWdleHBEZWxpbWl0ZXIgc3RhcnQ9IlwlKFxoXGsqXHNcK1wpXEA8PS9bIFx0PV1cQCEiIGVuZD0iL1tpb214bmV1c10qIiBza2lwPSJcXFxcXHxcXC8iIGNvbnRhaW5zPUBydWJ5UmVnZXhwU3BlY2lhbCBmb2xkCitlbHNlCisgIHN5biByZWdpb24gcnVieVJlZ2V4cCBtYXRjaGdyb3VwPXJ1YnlSZWdleHBEZWxpbWl0ZXIgc3RhcnQ9IlwlKFwlKF5cfFw8XCUoYW5kXHxvclx8d2hpbGVcfHVudGlsXHx1bmxlc3NcfGlmXHxlbHNpZlx8d2hlblx8bm90XHx0aGVuXHxlbHNlXClcfFs7XH49IXwmKCx7Wzw+PzoqKy1dXClccypcKVxAPD0vIiBlbmQ9Ii9baW9teG5ldXNdKiIgc2tpcD0iXFxcXFx8XFwvIiBjb250YWlucz1AcnVieVJlZ2V4cFNwZWNpYWwKKyAgc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iXCUoXGhcaypcc1wrXClcQDw9L1sgXHQ9XVxAISIgZW5kPSIvW2lvbXhuZXVzXSoiIHNraXA9IlxcXFxcfFxcLyIgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsCitlbmRpZgogCi0iIEdlbmVyYWxpemVkIFJlZ3VsYXIgRXhwcmVzc2lvbgotc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iJXJceihbfmAhQCMkJV4mKl9cLSs9fFw6OyInLC4/IC9dXCkiIGVuZD0iXHoxW2lvbXhuZXVzXSoiIHNraXA9IlxcXFxcfFxcXHoxIiBjb250YWlucz1AcnVieVJlZ2V4cFNwZWNpYWwgZm9sZAotc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iJXJ7IgkJCQkgZW5kPSJ9W2lvbXhuZXVzXSoiICAgc2tpcD0iXFxcXFx8XFx9IgkgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsIGZvbGQKLXN5biByZWdpb24gcnVieVJlZ2V4cCBtYXRjaGdyb3VwPXJ1YnlSZWdleHBEZWxpbWl0ZXIgc3RhcnQ9IiVyPCIJCQkJIGVuZD0iPltpb214bmV1c10qIiAgIHNraXA9IlxcXFxcfFxcPiIJIGNvbnRhaW5zPUBydWJ5UmVnZXhwU3BlY2lhbCxydWJ5TmVzdGVkQW5nbGVCcmFja2V0cyxydWJ5RGVsaW1Fc2NhcGUgZm9sZAotc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iJXJcWyIJCQkJIGVuZD0iXF1baW9teG5ldXNdKiIgIHNraXA9IlxcXFxcfFxcXF0iCSBjb250YWlucz1AcnVieVJlZ2V4cFNwZWNpYWwgZm9sZAotc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iJXIoIgkJCQkgZW5kPSIpW2lvbXhuZXVzXSoiICAgc2tpcD0iXFxcXFx8XFwpIgkgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsIGZvbGQKKyIgR2VuZXJhbGl6ZWQgUmVndWxhciBFeHByZXNzaW9uIHt7ezEKK2lmIHM6Zm9sZGFibGUoJyUnKQorICBzeW4gcmVnaW9uIHJ1YnlSZWdleHAgbWF0Y2hncm91cD1ydWJ5UmVnZXhwRGVsaW1pdGVyIHN0YXJ0PSIlclx6KFt+YCFAIyQlXiYqX1wtKz18XDo7IicsLj8vXVwpIiBlbmQ9Ilx6MVtpb214bmV1c10qIiBza2lwPSJcXFxcXHxcXFx6MSIgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsIGZvbGQKKyAgc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iJXJ7IgkJCQllbmQ9In1baW9teG5ldXNdKiIgICBza2lwPSJcXFxcXHxcXH0iCSBjb250YWlucz1AcnVieVJlZ2V4cFNwZWNpYWwgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlSZWdleHAgbWF0Y2hncm91cD1ydWJ5UmVnZXhwRGVsaW1pdGVyIHN0YXJ0PSIlcjwiCQkJCWVuZD0iPltpb214bmV1c10qIiAgIHNraXA9IlxcXFxcfFxcPiIJIGNvbnRhaW5zPUBydWJ5UmVnZXhwU3BlY2lhbCxydWJ5TmVzdGVkQW5nbGVCcmFja2V0cyxydWJ5RGVsaW1pdGVyRXNjYXBlIGZvbGQKKyAgc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iJXJcWyIJCQkJZW5kPSJcXVtpb214bmV1c10qIiAgc2tpcD0iXFxcXFx8XFxcXSIJIGNvbnRhaW5zPUBydWJ5UmVnZXhwU3BlY2lhbCBmb2xkCisgIHN5biByZWdpb24gcnVieVJlZ2V4cCBtYXRjaGdyb3VwPXJ1YnlSZWdleHBEZWxpbWl0ZXIgc3RhcnQ9IiVyKCIJCQkJZW5kPSIpW2lvbXhuZXVzXSoiICAgc2tpcD0iXFxcXFx8XFwpIgkgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsIGZvbGQKKyAgc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iJXJceihcc1wpIgkJCQllbmQ9Ilx6MVtpb214bmV1c10qIiBza2lwPSJcXFxcXHxcXFx6MSIgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsIGZvbGQKK2Vsc2UKKyAgc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iJXJceihbfmAhQCMkJV4mKl9cLSs9fFw6OyInLC4/L11cKSIgZW5kPSJcejFbaW9teG5ldXNdKiIgc2tpcD0iXFxcXFx8XFxcejEiIGNvbnRhaW5zPUBydWJ5UmVnZXhwU3BlY2lhbAorICBzeW4gcmVnaW9uIHJ1YnlSZWdleHAgbWF0Y2hncm91cD1ydWJ5UmVnZXhwRGVsaW1pdGVyIHN0YXJ0PSIlcnsiCQkJCWVuZD0ifVtpb214bmV1c10qIiAgIHNraXA9IlxcXFxcfFxcfSIJIGNvbnRhaW5zPUBydWJ5UmVnZXhwU3BlY2lhbAorICBzeW4gcmVnaW9uIHJ1YnlSZWdleHAgbWF0Y2hncm91cD1ydWJ5UmVnZXhwRGVsaW1pdGVyIHN0YXJ0PSIlcjwiCQkJCWVuZD0iPltpb214bmV1c10qIiAgIHNraXA9IlxcXFxcfFxcPiIJIGNvbnRhaW5zPUBydWJ5UmVnZXhwU3BlY2lhbCxydWJ5TmVzdGVkQW5nbGVCcmFja2V0cyxydWJ5RGVsaW1pdGVyRXNjYXBlCisgIHN5biByZWdpb24gcnVieVJlZ2V4cCBtYXRjaGdyb3VwPXJ1YnlSZWdleHBEZWxpbWl0ZXIgc3RhcnQ9IiVyXFsiCQkJCWVuZD0iXF1baW9teG5ldXNdKiIgIHNraXA9IlxcXFxcfFxcXF0iCSBjb250YWlucz1AcnVieVJlZ2V4cFNwZWNpYWwKKyAgc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iJXIoIgkJCQllbmQ9IilbaW9teG5ldXNdKiIgICBza2lwPSJcXFxcXHxcXCkiCSBjb250YWlucz1AcnVieVJlZ2V4cFNwZWNpYWwKKyAgc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iJXJceihcc1wpIgkJCQllbmQ9Ilx6MVtpb214bmV1c10qIiBza2lwPSJcXFxcXHxcXFx6MSIgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsCitlbmRpZgogCi0iIE5vcm1hbCBTdHJpbmcgYW5kIFNoZWxsIENvbW1hbmQgT3V0cHV0Ci1zeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSJcIiIgZW5kPSJcIiIgc2tpcD0iXFxcXFx8XFxcIiIgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsLEBTcGVsbCBmb2xkCi1zeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSInIgllbmQ9IiciICBza2lwPSJcXFxcXHxcXCciICBjb250YWlucz1ydWJ5UXVvdGVFc2NhcGUsQFNwZWxsICAgIGZvbGQKLXN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9ImAiCWVuZD0iYCIgIHNraXA9IlxcXFxcfFxcYCIgIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCBmb2xkCisiIE5vcm1hbCBTdHJpbmcge3t7MQorbGV0IHM6c3BlbGxfY2x1c3RlciA9IGV4aXN0cygncnVieV9zcGVsbGNoZWNrX3N0cmluZ3MnKSA/ICcsQFNwZWxsJyA6ICcnCitleGUgJ3N5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9IlwiIiBlbmQ9IlwiIiBza2lwPSJcXFxcXHxcXFwiIiAnIC4KKyAgICAgIFwgKHM6Zm9sZGFibGUoJyUnKSA/ICdmb2xkJyA6ICcnKSAuICcgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsJyAuIHM6c3BlbGxfY2x1c3RlcgorZXhlICdzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSInJyIgZW5kPSInJyIgc2tpcD0iXFxcXFx8XFwnJyIgJyAuCisgICAgICBcIChzOmZvbGRhYmxlKCclJykgPyAnZm9sZCcgOiAnJykgLiAnIGNvbnRhaW5zPXJ1YnlRdW90ZUVzY2FwZScJIC4gczpzcGVsbF9jbHVzdGVyCiAKLSIgR2VuZXJhbGl6ZWQgU2luZ2xlIFF1b3RlZCBTdHJpbmcsIFN5bWJvbCBhbmQgQXJyYXkgb2YgU3RyaW5ncwotc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVtxd2ldXHooW35gIUAjJCVeJipfXC0rPXxcOjsiJywuPy9dXCkiIGVuZD0iXHoxIiBza2lwPSJcXFxcXHxcXFx6MSIgZm9sZAotc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVtxd2ldeyIJCQkJICAgZW5kPSJ9IiAgIHNraXA9IlxcXFxcfFxcfSIJZm9sZCBjb250YWlucz1ydWJ5TmVzdGVkQ3VybHlCcmFjZXMscnVieURlbGltRXNjYXBlCi1zeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW3F3aV08IgkJCQkgICBlbmQ9Ij4iICAgc2tpcD0iXFxcXFx8XFw+Iglmb2xkIGNvbnRhaW5zPXJ1YnlOZXN0ZWRBbmdsZUJyYWNrZXRzLHJ1YnlEZWxpbUVzY2FwZQotc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVtxd2ldXFsiCQkJCSAgIGVuZD0iXF0iICBza2lwPSJcXFxcXHxcXFxdIglmb2xkIGNvbnRhaW5zPXJ1YnlOZXN0ZWRTcXVhcmVCcmFja2V0cyxydWJ5RGVsaW1Fc2NhcGUKLXN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9IiVbcXdpXSgiCQkJCSAgIGVuZD0iKSIgICBza2lwPSJcXFxcXHxcXCkiCWZvbGQgY29udGFpbnM9cnVieU5lc3RlZFBhcmVudGhlc2VzLHJ1YnlEZWxpbUVzY2FwZQotc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJXEgIgkJCQkgICBlbmQ9IiAiICAgc2tpcD0iXFxcXFx8XFwpIglmb2xkCi1zeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlc1x6KFt+YCFAIyQlXiYqX1wtKz18XDo7IicsLj8gL11cKSIgICBlbmQ9Ilx6MSIgc2tpcD0iXFxcXFx8XFxcejEiIGZvbGQKLXN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVzeyIJCQkJICAgZW5kPSJ9IiAgIHNraXA9IlxcXFxcfFxcfSIJZm9sZCBjb250YWlucz1ydWJ5TmVzdGVkQ3VybHlCcmFjZXMscnVieURlbGltRXNjYXBlCi1zeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlczwiCQkJCSAgIGVuZD0iPiIgICBza2lwPSJcXFxcXHxcXD4iCWZvbGQgY29udGFpbnM9cnVieU5lc3RlZEFuZ2xlQnJhY2tldHMscnVieURlbGltRXNjYXBlCi1zeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlc1xbIgkJCQkgICBlbmQ9IlxdIiAgc2tpcD0iXFxcXFx8XFxcXSIJZm9sZCBjb250YWlucz1ydWJ5TmVzdGVkU3F1YXJlQnJhY2tldHMscnVieURlbGltRXNjYXBlCi1zeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlcygiCQkJCSAgIGVuZD0iKSIgICBza2lwPSJcXFxcXHxcXCkiCWZvbGQgY29udGFpbnM9cnVieU5lc3RlZFBhcmVudGhlc2VzLHJ1YnlEZWxpbUVzY2FwZQorIiBTaGVsbCBDb21tYW5kIE91dHB1dCB7e3sxCitpZiBzOmZvbGRhYmxlKCclJykKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iYCIgZW5kPSJgIiBza2lwPSJcXFxcXHxcXGAiIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCBmb2xkCitlbHNlCisgIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9ImAiIGVuZD0iYCIgc2tpcD0iXFxcXFx8XFxgIiBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwKK2VuZGlmCiAKLSIgR2VuZXJhbGl6ZWQgRG91YmxlIFF1b3RlZCBTdHJpbmcgYW5kIEFycmF5IG9mIFN0cmluZ3MgYW5kIFNoZWxsIENvbW1hbmQgT3V0cHV0CisiIEdlbmVyYWxpemVkIFNpbmdsZSBRdW90ZWQgU3RyaW5nLCBTeW1ib2wgYW5kIEFycmF5IG9mIFN0cmluZ3Mge3t7MQoraWYgczpmb2xkYWJsZSgnJScpCisgIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9IiVbcXddXHooW35gIUAjJCVeJipfXC0rPXxcOjsiJywuPy9dXCkiIGVuZD0iXHoxIiBza2lwPSJcXFxcXHxcXFx6MSIgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW3F3XXsiCQkJCSAgICAgZW5kPSJ9IiAgIHNraXA9IlxcXFxcfFxcfSIJICBmb2xkIGNvbnRhaW5zPXJ1YnlOZXN0ZWRDdXJseUJyYWNlcyxydWJ5RGVsaW1pdGVyRXNjYXBlCisgIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9IiVbcXddPCIJCQkJICAgICBlbmQ9Ij4iICAgc2tpcD0iXFxcXFx8XFw+IgkgIGZvbGQgY29udGFpbnM9cnVieU5lc3RlZEFuZ2xlQnJhY2tldHMscnVieURlbGltaXRlckVzY2FwZQorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW3F3XVxbIgkJCQkgICAgIGVuZD0iXF0iICBza2lwPSJcXFxcXHxcXFxdIiAgZm9sZCBjb250YWlucz1ydWJ5TmVzdGVkU3F1YXJlQnJhY2tldHMscnVieURlbGltaXRlckVzY2FwZQorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW3F3XSgiCQkJCSAgICAgZW5kPSIpIiAgIHNraXA9IlxcXFxcfFxcKSIJICBmb2xkIGNvbnRhaW5zPXJ1YnlOZXN0ZWRQYXJlbnRoZXNlcyxydWJ5RGVsaW1pdGVyRXNjYXBlCisgIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9IiVxXHooXHNcKSIJCQkgICAgIGVuZD0iXHoxIiBza2lwPSJcXFxcXHxcXFx6MSIgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlc1x6KFt+YCFAIyQlXiYqX1wtKz18XDo7IicsLj8vXVwpIiAgICBlbmQ9Ilx6MSIgc2tpcD0iXFxcXFx8XFxcejEiIGZvbGQKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sIG1hdGNoZ3JvdXA9cnVieVN5bWJvbERlbGltaXRlciBzdGFydD0iJXN7IgkJCQkgICAgIGVuZD0ifSIgICBza2lwPSJcXFxcXHxcXH0iCSAgZm9sZCBjb250YWlucz1ydWJ5TmVzdGVkQ3VybHlCcmFjZXMscnVieURlbGltaXRlckVzY2FwZQorICBzeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlczwiCQkJCSAgICAgZW5kPSI+IiAgIHNraXA9IlxcXFxcfFxcPiIJICBmb2xkIGNvbnRhaW5zPXJ1YnlOZXN0ZWRBbmdsZUJyYWNrZXRzLHJ1YnlEZWxpbWl0ZXJFc2NhcGUKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sIG1hdGNoZ3JvdXA9cnVieVN5bWJvbERlbGltaXRlciBzdGFydD0iJXNcWyIJCQkJICAgICBlbmQ9IlxdIiAgc2tpcD0iXFxcXFx8XFxcXSIgIGZvbGQgY29udGFpbnM9cnVieU5lc3RlZFNxdWFyZUJyYWNrZXRzLHJ1YnlEZWxpbWl0ZXJFc2NhcGUKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sIG1hdGNoZ3JvdXA9cnVieVN5bWJvbERlbGltaXRlciBzdGFydD0iJXMoIgkJCQkgICAgIGVuZD0iKSIgICBza2lwPSJcXFxcXHxcXCkiCSAgZm9sZCBjb250YWlucz1ydWJ5TmVzdGVkUGFyZW50aGVzZXMscnVieURlbGltaXRlckVzY2FwZQorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlc1x6KFxzXCkiCQkJICAgICBlbmQ9Ilx6MSIgc2tpcD0iXFxcXFx8XFxcejEiIGZvbGQKK2Vsc2UKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVtxd11ceihbfmAhQCMkJV4mKl9cLSs9fFw6OyInLC4/L11cKSIgZW5kPSJcejEiIHNraXA9IlxcXFxcfFxcXHoxIgorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW3F3XXsiCQkJCSAgICAgZW5kPSJ9IiAgIHNraXA9IlxcXFxcfFxcfSIJICBjb250YWlucz1ydWJ5TmVzdGVkQ3VybHlCcmFjZXMscnVieURlbGltaXRlckVzY2FwZQorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW3F3XTwiCQkJCSAgICAgZW5kPSI+IiAgIHNraXA9IlxcXFxcfFxcPiIJICBjb250YWlucz1ydWJ5TmVzdGVkQW5nbGVCcmFja2V0cyxydWJ5RGVsaW1pdGVyRXNjYXBlCisgIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9IiVbcXddXFsiCQkJCSAgICAgZW5kPSJcXSIgIHNraXA9IlxcXFxcfFxcXF0iICBjb250YWlucz1ydWJ5TmVzdGVkU3F1YXJlQnJhY2tldHMscnVieURlbGltaXRlckVzY2FwZQorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW3F3XSgiCQkJCSAgICAgZW5kPSIpIiAgIHNraXA9IlxcXFxcfFxcKSIJICBjb250YWlucz1ydWJ5TmVzdGVkUGFyZW50aGVzZXMscnVieURlbGltaXRlckVzY2FwZQorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlcVx6KFxzXCkiCQkJICAgICBlbmQ9Ilx6MSIgc2tpcD0iXFxcXFx8XFxcejEiCisgIHN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVzXHooW35gIUAjJCVeJipfXC0rPXxcOjsiJywuPy9dXCkiICAgIGVuZD0iXHoxIiBza2lwPSJcXFxcXHxcXFx6MSIKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sIG1hdGNoZ3JvdXA9cnVieVN5bWJvbERlbGltaXRlciBzdGFydD0iJXN7IgkJCQkgICAgIGVuZD0ifSIgICBza2lwPSJcXFxcXHxcXH0iCSAgY29udGFpbnM9cnVieU5lc3RlZEN1cmx5QnJhY2VzLHJ1YnlEZWxpbWl0ZXJFc2NhcGUKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sIG1hdGNoZ3JvdXA9cnVieVN5bWJvbERlbGltaXRlciBzdGFydD0iJXM8IgkJCQkgICAgIGVuZD0iPiIgICBza2lwPSJcXFxcXHxcXD4iCSAgY29udGFpbnM9cnVieU5lc3RlZEFuZ2xlQnJhY2tldHMscnVieURlbGltaXRlckVzY2FwZQorICBzeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlc1xbIgkJCQkgICAgIGVuZD0iXF0iICBza2lwPSJcXFxcXHxcXFxdIiAgY29udGFpbnM9cnVieU5lc3RlZFNxdWFyZUJyYWNrZXRzLHJ1YnlEZWxpbWl0ZXJFc2NhcGUKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sIG1hdGNoZ3JvdXA9cnVieVN5bWJvbERlbGltaXRlciBzdGFydD0iJXMoIgkJCQkgICAgIGVuZD0iKSIgICBza2lwPSJcXFxcXHxcXCkiCSAgY29udGFpbnM9cnVieU5lc3RlZFBhcmVudGhlc2VzLHJ1YnlEZWxpbWl0ZXJFc2NhcGUKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJXNceihcc1wpIgkJCSAgICAgZW5kPSJcejEiIHNraXA9IlxcXFxcfFxcXHoxIgorZW5kaWYKKworIiBHZW5lcmFsaXplZCBEb3VibGUgUXVvdGVkIFN0cmluZyBhbmQgQXJyYXkgb2YgU3RyaW5ncyBhbmQgU2hlbGwgQ29tbWFuZCBPdXRwdXQge3t7MQogIiBOb3RlOiAlPSBpcyBub3QgbWF0Y2hlZCBoZXJlIGFzIHRoZSBiZWdpbm5pbmcgb2YgYSBkb3VibGUgcXVvdGVkIHN0cmluZwotc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVx6KFt+YCFAIyQlXiYqX1wtK3xcOjsiJywuPy9dXCkiCSAgICBlbmQ9Ilx6MSIgc2tpcD0iXFxcXFx8XFxcejEiIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCBmb2xkCi1zeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW1FXSXhdXHooW35gIUAjJCVeJipfXC0rPXxcOjsiJywuPy9dXCkiIGVuZD0iXHoxIiBza2lwPSJcXFxcXHxcXFx6MSIgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsIGZvbGQKLXN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9IiVbUVdJeF1cPXsiCQkJCSAgICBlbmQ9In0iICAgc2tpcD0iXFxcXFx8XFx9IgkgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsLHJ1YnlOZXN0ZWRDdXJseUJyYWNlcyxydWJ5RGVsaW1Fc2NhcGUgICAgZm9sZAotc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVtRV0l4XVw9PCIJCQkJICAgIGVuZD0iPiIgICBza2lwPSJcXFxcXHxcXD4iCSBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZEFuZ2xlQnJhY2tldHMscnVieURlbGltRXNjYXBlICBmb2xkCi1zeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW1FXSXhdXD1cWyIJCQkJICAgIGVuZD0iXF0iICBza2lwPSJcXFxcXHxcXFxdIgkgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsLHJ1YnlOZXN0ZWRTcXVhcmVCcmFja2V0cyxydWJ5RGVsaW1Fc2NhcGUgZm9sZAotc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVtRV0l4XVw9KCIJCQkJICAgIGVuZD0iKSIgICBza2lwPSJcXFxcXHxcXCkiCSBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZFBhcmVudGhlc2VzLHJ1YnlEZWxpbUVzY2FwZSAgICBmb2xkCi1zeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW1F4XSAiCQkJCSAgICBlbmQ9IiAiICAgc2tpcD0iXFxcXFx8XFwpIiAgIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCBmb2xkCitpZiBzOmZvbGRhYmxlKCclJykKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVx6KFt+YCFAIyQlXiYqX1wtK3xcOjsiJywuPy9dXCkiCSAgICAgIGVuZD0iXHoxIiBza2lwPSJcXFxcXHxcXFx6MSIgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsIGZvbGQKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVtRV3hdXHooW35gIUAjJCVeJipfXC0rPXxcOjsiJywuPy9dXCkiIGVuZD0iXHoxIiBza2lwPSJcXFxcXHxcXFx6MSIgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsIGZvbGQKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVtRV3hdXD17IgkJCSAgICAgIGVuZD0ifSIJc2tpcD0iXFxcXFx8XFx9IiAgIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCxydWJ5TmVzdGVkQ3VybHlCcmFjZXMscnVieURlbGltaXRlckVzY2FwZSAgICBmb2xkCisgIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9IiVbUVd4XVw9PCIJCQkgICAgICBlbmQ9Ij4iCXNraXA9IlxcXFxcfFxcPiIgICBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZEFuZ2xlQnJhY2tldHMscnVieURlbGltaXRlckVzY2FwZSAgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW1FXeF1cPVxbIgkJCSAgICAgIGVuZD0iXF0iCXNraXA9IlxcXFxcfFxcXF0iICBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZFNxdWFyZUJyYWNrZXRzLHJ1YnlEZWxpbWl0ZXJFc2NhcGUgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW1FXeF1cPSgiCQkJICAgICAgZW5kPSIpIglza2lwPSJcXFxcXHxcXCkiICAgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsLHJ1YnlOZXN0ZWRQYXJlbnRoZXNlcyxydWJ5RGVsaW1pdGVyRXNjYXBlICAgIGZvbGQKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVtReF1ceihcc1wpIgkJCSAgICAgIGVuZD0iXHoxIiBza2lwPSJcXFxcXHxcXFx6MSIgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsIGZvbGQKK2Vsc2UKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVx6KFt+YCFAIyQlXiYqX1wtK3xcOjsiJywuPy9dXCkiCSAgICAgIGVuZD0iXHoxIiBza2lwPSJcXFxcXHxcXFx6MSIgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsCisgIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9IiVbUVd4XVx6KFt+YCFAIyQlXiYqX1wtKz18XDo7IicsLj8vXVwpIiBlbmQ9Ilx6MSIgc2tpcD0iXFxcXFx8XFxcejEiIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbAorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW1FXeF1cPXsiCQkJICAgICAgZW5kPSJ9Iglza2lwPSJcXFxcXHxcXH0iICAgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsLHJ1YnlOZXN0ZWRDdXJseUJyYWNlcyxydWJ5RGVsaW1pdGVyRXNjYXBlCisgIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9IiVbUVd4XVw9PCIJCQkgICAgICBlbmQ9Ij4iCXNraXA9IlxcXFxcfFxcPiIgICBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZEFuZ2xlQnJhY2tldHMscnVieURlbGltaXRlckVzY2FwZQorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW1FXeF1cPVxbIgkJCSAgICAgIGVuZD0iXF0iCXNraXA9IlxcXFxcfFxcXF0iICBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZFNxdWFyZUJyYWNrZXRzLHJ1YnlEZWxpbWl0ZXJFc2NhcGUKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVtRV3hdXD0oIgkJCSAgICAgIGVuZD0iKSIJc2tpcD0iXFxcXFx8XFwpIiAgIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCxydWJ5TmVzdGVkUGFyZW50aGVzZXMscnVieURlbGltaXRlckVzY2FwZQorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW1F4XVx6KFxzXCkiCQkJICAgICAgZW5kPSJcejEiIHNraXA9IlxcXFxcfFxcXHoxIiBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwKK2VuZGlmCiAKLSIgSGVyZSBEb2N1bWVudAotc3luIHJlZ2lvbiBydWJ5SGVyZWRvY1N0YXJ0IG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0rXCUoXCUoY2xhc3NccypcfFwlKFtdfSkiJy5dXHw6OlwpXClcX3MqXHxcd1wpXEA8ITw8LVw9XHpzXCUoXCUoXGhcfFteXHgwMC1ceDdGXVwpXCUoXHdcfFteXHgwMC1ceDdGXVwpKlwpKwkgZW5kPSskKyBvbmVsaW5lIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAotc3luIHJlZ2lvbiBydWJ5SGVyZWRvY1N0YXJ0IG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0rXCUoXCUoY2xhc3NccypcfFwlKFtdfSkiJy5dXHw6OlwpXClcX3MqXHxcd1wpXEA8ITw8LVw9XHpzIlwlKFteIl0qXCkiKyBlbmQ9KyQrIG9uZWxpbmUgY29udGFpbnM9QUxMQlVULEBydWJ5Tm90VG9wCi1zeW4gcmVnaW9uIHJ1YnlIZXJlZG9jU3RhcnQgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PStcJShcJShjbGFzc1xzKlx8XCUoW119KSInLl1cfDo6XClcKVxfcypcfFx3XClcQDwhPDwtXD1cenMnXCUoW14nXSpcKScrIGVuZD0rJCsgb25lbGluZSBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AKLXN5biByZWdpb24gcnVieUhlcmVkb2NTdGFydCBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9K1wlKFwlKGNsYXNzXHMqXHxcJShbXX0pIicuXVx8OjpcKVwpXF9zKlx8XHdcKVxAPCE8PC1cPVx6c2BcJShbXmBdKlwpYCsgZW5kPSskKyBvbmVsaW5lIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAorIiBBcnJheSBvZiBTeW1ib2xzIHt7ezEKK2lmIHM6Zm9sZGFibGUoJyUnKQorICAiIEFycmF5IG9mIFN5bWJvbHMKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sIG1hdGNoZ3JvdXA9cnVieVN5bWJvbERlbGltaXRlciBzdGFydD0iJWlceihbfmAhQCMkJV4mKl9cLSs9fFw6OyInLC4/L11cKSIgZW5kPSJcejEiIHNraXA9IlxcXFxcfFxcXHoxIglmb2xkCisgIHN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVpeyIJCQkJICBlbmQ9In0iICAgc2tpcD0iXFxcXFx8XFx9Iglmb2xkIGNvbnRhaW5zPXJ1YnlOZXN0ZWRDdXJseUJyYWNlcyxydWJ5RGVsaW1pdGVyRXNjYXBlCisgIHN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVpPCIJCQkJICBlbmQ9Ij4iICAgc2tpcD0iXFxcXFx8XFw+Iglmb2xkIGNvbnRhaW5zPXJ1YnlOZXN0ZWRBbmdsZUJyYWNrZXRzLHJ1YnlEZWxpbWl0ZXJFc2NhcGUKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sIG1hdGNoZ3JvdXA9cnVieVN5bWJvbERlbGltaXRlciBzdGFydD0iJWlcWyIJCQkJICBlbmQ9IlxdIiAgc2tpcD0iXFxcXFx8XFxcXSIJZm9sZCBjb250YWlucz1ydWJ5TmVzdGVkU3F1YXJlQnJhY2tldHMscnVieURlbGltaXRlckVzY2FwZQorICBzeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlaSgiCQkJCSAgZW5kPSIpIiAgIHNraXA9IlxcXFxcfFxcKSIJZm9sZCBjb250YWlucz1ydWJ5TmVzdGVkUGFyZW50aGVzZXMscnVieURlbGltaXRlckVzY2FwZQogCi1zeW4gcmVnaW9uIHJ1YnlTdHJpbmcgc3RhcnQ9K1wlKFwlKGNsYXNzXHw6OlwpXF9zKlx8XCUoW119KSInLl1cKVxzXHxcd1wpXEA8ITw8XHooXCUoXGhcfFteXHgwMC1ceDdGXVwpXCUoXHdcfFteXHgwMC1ceDdGXVwpKlwpXHplXCUoLio8PC1cPVsnYCJdXD1caFwpXEAhK2hzPXMrMgltYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgZW5kPSteXHoxJCsgY29udGFpbnM9cnVieUhlcmVkb2NTdGFydCxydWJ5SGVyZWRvYyxAcnVieVN0cmluZ1NwZWNpYWwgZm9sZCBrZWVwZW5kCi1zeW4gcmVnaW9uIHJ1YnlTdHJpbmcgc3RhcnQ9K1wlKFwlKGNsYXNzXHw6OlwpXF9zKlx8XCUoW119KSInLl1cKVxzXHxcd1wpXEA8ITw8Ilx6KFteIl0qXCkiXHplXCUoLio8PC1cPVsnYCJdXD1caFwpXEAhK2hzPXMrMgltYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgZW5kPSteXHoxJCsgY29udGFpbnM9cnVieUhlcmVkb2NTdGFydCxydWJ5SGVyZWRvYyxAcnVieVN0cmluZ1NwZWNpYWwgZm9sZCBrZWVwZW5kCi1zeW4gcmVnaW9uIHJ1YnlTdHJpbmcgc3RhcnQ9K1wlKFwlKGNsYXNzXHw6OlwpXF9zKlx8XCUoW119KSInLl1cKVxzXHxcd1wpXEA8ITw8J1x6KFteJ10qXCknXHplXCUoLio8PC1cPVsnYCJdXD1caFwpXEAhK2hzPXMrMgltYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgZW5kPSteXHoxJCsgY29udGFpbnM9cnVieUhlcmVkb2NTdGFydCxydWJ5SGVyZWRvYwkJCWZvbGQga2VlcGVuZAotc3luIHJlZ2lvbiBydWJ5U3RyaW5nIHN0YXJ0PStcJShcJShjbGFzc1x8OjpcKVxfcypcfFwlKFtdfSkiJy5dXClcc1x8XHdcKVxAPCE8PGBceihbXmBdKlwpYFx6ZVwlKC4qPDwtXD1bJ2AiXVw9XGhcKVxAIStocz1zKzIJbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIGVuZD0rXlx6MSQrIGNvbnRhaW5zPXJ1YnlIZXJlZG9jU3RhcnQscnVieUhlcmVkb2MsQHJ1YnlTdHJpbmdTcGVjaWFsIGZvbGQga2VlcGVuZAorICAiIEFycmF5IG9mIGludGVycG9sYXRlZCBTeW1ib2xzCisgIHN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVJXHooW35gIUAjJCVeJipfXC0rPXxcOjsiJywuPy9dXCkiIGVuZD0iXHoxIiBza2lwPSJcXFxcXHxcXFx6MSIJY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsIGZvbGQKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sIG1hdGNoZ3JvdXA9cnVieVN5bWJvbERlbGltaXRlciBzdGFydD0iJUl7IgkJCQkgIGVuZD0ifSIgICBza2lwPSJcXFxcXHxcXH0iCWNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCxydWJ5TmVzdGVkQ3VybHlCcmFjZXMscnVieURlbGltaXRlckVzY2FwZSAgICBmb2xkCisgIHN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVJPCIJCQkJICBlbmQ9Ij4iICAgc2tpcD0iXFxcXFx8XFw+Igljb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZEFuZ2xlQnJhY2tldHMscnVieURlbGltaXRlckVzY2FwZSAgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlSVxbIgkJCQkgIGVuZD0iXF0iICBza2lwPSJcXFxcXHxcXFxdIgljb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZFNxdWFyZUJyYWNrZXRzLHJ1YnlEZWxpbWl0ZXJFc2NhcGUgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlSSgiCQkJCSAgZW5kPSIpIiAgIHNraXA9IlxcXFxcfFxcKSIJY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsLHJ1YnlOZXN0ZWRQYXJlbnRoZXNlcyxydWJ5RGVsaW1pdGVyRXNjYXBlICAgIGZvbGQKK2Vsc2UKKyAgIiBBcnJheSBvZiBTeW1ib2xzCisgIHN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVpXHooW35gIUAjJCVeJipfXC0rPXxcOjsiJywuPy9dXCkiIGVuZD0iXHoxIiBza2lwPSJcXFxcXHxcXFx6MSIKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sIG1hdGNoZ3JvdXA9cnVieVN5bWJvbERlbGltaXRlciBzdGFydD0iJWl7IgkJCQkgIGVuZD0ifSIgICBza2lwPSJcXFxcXHxcXH0iCWNvbnRhaW5zPXJ1YnlOZXN0ZWRDdXJseUJyYWNlcyxydWJ5RGVsaW1pdGVyRXNjYXBlCisgIHN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVpPCIJCQkJICBlbmQ9Ij4iICAgc2tpcD0iXFxcXFx8XFw+Igljb250YWlucz1ydWJ5TmVzdGVkQW5nbGVCcmFja2V0cyxydWJ5RGVsaW1pdGVyRXNjYXBlCisgIHN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVpXFsiCQkJCSAgZW5kPSJcXSIgIHNraXA9IlxcXFxcfFxcXF0iCWNvbnRhaW5zPXJ1YnlOZXN0ZWRTcXVhcmVCcmFja2V0cyxydWJ5RGVsaW1pdGVyRXNjYXBlCisgIHN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVpKCIJCQkJICBlbmQ9IikiICAgc2tpcD0iXFxcXFx8XFwpIgljb250YWlucz1ydWJ5TmVzdGVkUGFyZW50aGVzZXMscnVieURlbGltaXRlckVzY2FwZQogCi1zeW4gcmVnaW9uIHJ1YnlTdHJpbmcgc3RhcnQ9K1wlKFwlKGNsYXNzXHw6OlwpXF9zKlx8XCUoW119KS5dXClcc1x8XHdcKVxAPCE8PC1ceihcJShcaFx8W15ceDAwLVx4N0ZdXClcJShcd1x8W15ceDAwLVx4N0ZdXCkqXClcemVcJSguKjw8LVw9WydgIl1cPVxoXClcQCEraHM9cyszICAgIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBlbmQ9K15ccypcenNcejEkKyBjb250YWlucz1ydWJ5SGVyZWRvY1N0YXJ0LEBydWJ5U3RyaW5nU3BlY2lhbCBmb2xkIGtlZXBlbmQKLXN5biByZWdpb24gcnVieVN0cmluZyBzdGFydD0rXCUoXCUoY2xhc3NcfDo6XClcX3MqXHxcJShbXX0pLl1cKVxzXHxcd1wpXEA8ITw8LSJceihbXiJdKlwpIlx6ZVwlKC4qPDwtXD1bJ2AiXVw9XGhcKVxAIStocz1zKzMgIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBlbmQ9K15ccypcenNcejEkKyBjb250YWlucz1ydWJ5SGVyZWRvY1N0YXJ0LEBydWJ5U3RyaW5nU3BlY2lhbCBmb2xkIGtlZXBlbmQKLXN5biByZWdpb24gcnVieVN0cmluZyBzdGFydD0rXCUoXCUoY2xhc3NcfDo6XClcX3MqXHxcJShbXX0pLl1cKVxzXHxcd1wpXEA8ITw8LSdceihbXiddKlwpJ1x6ZVwlKC4qPDwtXD1bJ2AiXVw9XGhcKVxAIStocz1zKzMgIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBlbmQ9K15ccypcenNcejEkKyBjb250YWlucz1ydWJ5SGVyZWRvY1N0YXJ0CQkgICAgIGZvbGQga2VlcGVuZAotc3luIHJlZ2lvbiBydWJ5U3RyaW5nIHN0YXJ0PStcJShcJShjbGFzc1x8OjpcKVxfcypcfFwlKFtdfSkuXVwpXHNcfFx3XClcQDwhPDwtYFx6KFteYF0qXClgXHplXCUoLio8PC1cPVsnYCJdXD1caFwpXEAhK2hzPXMrMyAgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIGVuZD0rXlxzKlx6c1x6MSQrIGNvbnRhaW5zPXJ1YnlIZXJlZG9jU3RhcnQsQHJ1YnlTdHJpbmdTcGVjaWFsIGZvbGQga2VlcGVuZAorICAiIEFycmF5IG9mIGludGVycG9sYXRlZCBTeW1ib2xzCisgIHN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVJXHooW35gIUAjJCVeJipfXC0rPXxcOjsiJywuPy9dXCkiIGVuZD0iXHoxIiBza2lwPSJcXFxcXHxcXFx6MSIJY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsCisgIHN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVJeyIJCQkJICBlbmQ9In0iICAgc2tpcD0iXFxcXFx8XFx9Igljb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZEN1cmx5QnJhY2VzLHJ1YnlEZWxpbWl0ZXJFc2NhcGUKKyAgc3luIHJlZ2lvbiBydWJ5U3ltYm9sIG1hdGNoZ3JvdXA9cnVieVN5bWJvbERlbGltaXRlciBzdGFydD0iJUk8IgkJCQkgIGVuZD0iPiIgICBza2lwPSJcXFxcXHxcXD4iCWNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCxydWJ5TmVzdGVkQW5nbGVCcmFja2V0cyxydWJ5RGVsaW1pdGVyRXNjYXBlCisgIHN5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVJXFsiCQkJCSAgZW5kPSJcXSIgIHNraXA9IlxcXFxcfFxcXF0iCWNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCxydWJ5TmVzdGVkU3F1YXJlQnJhY2tldHMscnVieURlbGltaXRlckVzY2FwZQorICBzeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlSSgiCQkJCSAgZW5kPSIpIiAgIHNraXA9IlxcXFxcfFxcKSIJY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsLHJ1YnlOZXN0ZWRQYXJlbnRoZXNlcyxydWJ5RGVsaW1pdGVyRXNjYXBlCitlbmRpZgogCisiIEhlcmUgRG9jdW1lbnQge3t7MQorc3luIHJlZ2lvbiBydWJ5SGVyZWRvY1N0YXJ0IG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0rXCUoXCUoY2xhc3NccypcfFwlKFtdfSkiJy5dXHw6OlwpXClcX3MqXHxcd1wpXEA8ITw8Wy1+XVw9XHpzXCUoXCUoXGhcfFteXHgwMC1ceDdGXVwpXCUoXHdcfFteXHgwMC1ceDdGXVwpKlwpKwkgZW5kPSskKyBvbmVsaW5lIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAorc3luIHJlZ2lvbiBydWJ5SGVyZWRvY1N0YXJ0IG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0rXCUoXCUoY2xhc3NccypcfFwlKFtdfSkiJy5dXHw6OlwpXClcX3MqXHxcd1wpXEA8ITw8Wy1+XVw9XHpzIlwlKFteIl0qXCkiKyBlbmQ9KyQrIG9uZWxpbmUgY29udGFpbnM9QUxMQlVULEBydWJ5Tm90VG9wCitzeW4gcmVnaW9uIHJ1YnlIZXJlZG9jU3RhcnQgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PStcJShcJShjbGFzc1xzKlx8XCUoW119KSInLl1cfDo6XClcKVxfcypcfFx3XClcQDwhPDxbLX5dXD1cenMnXCUoW14nXSpcKScrIGVuZD0rJCsgb25lbGluZSBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AKK3N5biByZWdpb24gcnVieUhlcmVkb2NTdGFydCBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9K1wlKFwlKGNsYXNzXHMqXHxcJShbXX0pIicuXVx8OjpcKVwpXF9zKlx8XHdcKVxAPCE8PFstfl1cPVx6c2BcJShbXmBdKlwpYCsgZW5kPSskKyBvbmVsaW5lIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAorCitpZiBzOmZvbGRhYmxlKCc8PCcpCisgIHN5biByZWdpb24gcnVieVN0cmluZyBzdGFydD0rXCUoXCUoY2xhc3NcfDo6XClcX3MqXHxcJShbXX0pIicuXVwpXHNcfFx3XClcQDwhPDxceihcJShcaFx8W15ceDAwLVx4N0ZdXClcJShcd1x8W15ceDAwLVx4N0ZdXCkqXClcemVcJSguKjw8Wy1+XVw9WydgIl1cPVxoXClcQCEraHM9cysyCW1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBlbmQ9K15cejEkKyBjb250YWlucz1ydWJ5SGVyZWRvY1N0YXJ0LHJ1YnlIZXJlZG9jLEBydWJ5U3RyaW5nU3BlY2lhbCBmb2xkIGtlZXBlbmQKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIHN0YXJ0PStcJShcJShjbGFzc1x8OjpcKVxfcypcfFwlKFtdfSkiJy5dXClcc1x8XHdcKVxAPCE8PCJceihbXiJdKlwpIlx6ZVwlKC4qPDxbLX5dXD1bJ2AiXVw9XGhcKVxAIStocz1zKzIJbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIGVuZD0rXlx6MSQrIGNvbnRhaW5zPXJ1YnlIZXJlZG9jU3RhcnQscnVieUhlcmVkb2MsQHJ1YnlTdHJpbmdTcGVjaWFsIGZvbGQga2VlcGVuZAorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgc3RhcnQ9K1wlKFwlKGNsYXNzXHw6OlwpXF9zKlx8XCUoW119KSInLl1cKVxzXHxcd1wpXEA8ITw8J1x6KFteJ10qXCknXHplXCUoLio8PFstfl1cPVsnYCJdXD1caFwpXEAhK2hzPXMrMgltYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgZW5kPSteXHoxJCsgY29udGFpbnM9cnVieUhlcmVkb2NTdGFydCxydWJ5SGVyZWRvYwkJICAgIGZvbGQga2VlcGVuZAorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgc3RhcnQ9K1wlKFwlKGNsYXNzXHw6OlwpXF9zKlx8XCUoW119KSInLl1cKVxzXHxcd1wpXEA8ITw8YFx6KFteYF0qXClgXHplXCUoLio8PFstfl1cPVsnYCJdXD1caFwpXEAhK2hzPXMrMgltYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgZW5kPSteXHoxJCsgY29udGFpbnM9cnVieUhlcmVkb2NTdGFydCxydWJ5SGVyZWRvYyxAcnVieVN0cmluZ1NwZWNpYWwgZm9sZCBrZWVwZW5kCisKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIHN0YXJ0PStcJShcJShjbGFzc1x8OjpcKVxfcypcfFwlKFtdfSkuXVwpXHNcfFx3XClcQDwhPDxbLX5dXHooXCUoXGhcfFteXHgwMC1ceDdGXVwpXCUoXHdcfFteXHgwMC1ceDdGXVwpKlwpXHplXCUoLio8PFstfl1cPVsnYCJdXD1caFwpXEAhK2hzPXMrMyAgICBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgZW5kPSteXHMqXHpzXHoxJCsgY29udGFpbnM9cnVieUhlcmVkb2NTdGFydCxAcnVieVN0cmluZ1NwZWNpYWwgZm9sZCBrZWVwZW5kCisgIHN5biByZWdpb24gcnVieVN0cmluZyBzdGFydD0rXCUoXCUoY2xhc3NcfDo6XClcX3MqXHxcJShbXX0pLl1cKVxzXHxcd1wpXEA8ITw8Wy1+XSJceihbXiJdKlwpIlx6ZVwlKC4qPDxbLX5dXD1bJ2AiXVw9XGhcKVxAIStocz1zKzMgIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBlbmQ9K15ccypcenNcejEkKyBjb250YWlucz1ydWJ5SGVyZWRvY1N0YXJ0LEBydWJ5U3RyaW5nU3BlY2lhbCBmb2xkIGtlZXBlbmQKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIHN0YXJ0PStcJShcJShjbGFzc1x8OjpcKVxfcypcfFwlKFtdfSkuXVwpXHNcfFx3XClcQDwhPDxbLX5dJ1x6KFteJ10qXCknXHplXCUoLio8PFstfl1cPVsnYCJdXD1caFwpXEAhK2hzPXMrMyAgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIGVuZD0rXlxzKlx6c1x6MSQrIGNvbnRhaW5zPXJ1YnlIZXJlZG9jU3RhcnQJCSAgICBmb2xkIGtlZXBlbmQKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIHN0YXJ0PStcJShcJShjbGFzc1x8OjpcKVxfcypcfFwlKFtdfSkuXVwpXHNcfFx3XClcQDwhPDxbLX5dYFx6KFteYF0qXClgXHplXCUoLio8PFstfl1cPVsnYCJdXD1caFwpXEAhK2hzPXMrMyAgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIGVuZD0rXlxzKlx6c1x6MSQrIGNvbnRhaW5zPXJ1YnlIZXJlZG9jU3RhcnQsQHJ1YnlTdHJpbmdTcGVjaWFsIGZvbGQga2VlcGVuZAorZWxzZQorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgc3RhcnQ9K1wlKFwlKGNsYXNzXHw6OlwpXF9zKlx8XCUoW119KSInLl1cKVxzXHxcd1wpXEA8ITw8XHooXCUoXGhcfFteXHgwMC1ceDdGXVwpXCUoXHdcfFteXHgwMC1ceDdGXVwpKlwpXHplXCUoLio8PFstfl1cPVsnYCJdXD1caFwpXEAhK2hzPXMrMgltYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgZW5kPSteXHoxJCsgY29udGFpbnM9cnVieUhlcmVkb2NTdGFydCxydWJ5SGVyZWRvYyxAcnVieVN0cmluZ1NwZWNpYWwga2VlcGVuZAorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgc3RhcnQ9K1wlKFwlKGNsYXNzXHw6OlwpXF9zKlx8XCUoW119KSInLl1cKVxzXHxcd1wpXEA8ITw8Ilx6KFteIl0qXCkiXHplXCUoLio8PFstfl1cPVsnYCJdXD1caFwpXEAhK2hzPXMrMgltYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgZW5kPSteXHoxJCsgY29udGFpbnM9cnVieUhlcmVkb2NTdGFydCxydWJ5SGVyZWRvYyxAcnVieVN0cmluZ1NwZWNpYWwga2VlcGVuZAorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgc3RhcnQ9K1wlKFwlKGNsYXNzXHw6OlwpXF9zKlx8XCUoW119KSInLl1cKVxzXHxcd1wpXEA8ITw8J1x6KFteJ10qXCknXHplXCUoLio8PFstfl1cPVsnYCJdXD1caFwpXEAhK2hzPXMrMgltYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgZW5kPSteXHoxJCsgY29udGFpbnM9cnVieUhlcmVkb2NTdGFydCxydWJ5SGVyZWRvYwkJICAgIGtlZXBlbmQKKyAgc3luIHJlZ2lvbiBydWJ5U3RyaW5nIHN0YXJ0PStcJShcJShjbGFzc1x8OjpcKVxfcypcfFwlKFtdfSkiJy5dXClcc1x8XHdcKVxAPCE8PGBceihbXmBdKlwpYFx6ZVwlKC4qPDxbLX5dXD1bJ2AiXVw9XGhcKVxAIStocz1zKzIJbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIGVuZD0rXlx6MSQrIGNvbnRhaW5zPXJ1YnlIZXJlZG9jU3RhcnQscnVieUhlcmVkb2MsQHJ1YnlTdHJpbmdTcGVjaWFsIGtlZXBlbmQKKworICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgc3RhcnQ9K1wlKFwlKGNsYXNzXHw6OlwpXF9zKlx8XCUoW119KS5dXClcc1x8XHdcKVxAPCE8PFstfl1ceihcJShcaFx8W15ceDAwLVx4N0ZdXClcJShcd1x8W15ceDAwLVx4N0ZdXCkqXClcemVcJSguKjw8Wy1+XVw9WydgIl1cPVxoXClcQCEraHM9cyszICAgIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBlbmQ9K15ccypcenNcejEkKyBjb250YWlucz1ydWJ5SGVyZWRvY1N0YXJ0LEBydWJ5U3RyaW5nU3BlY2lhbCBrZWVwZW5kCisgIHN5biByZWdpb24gcnVieVN0cmluZyBzdGFydD0rXCUoXCUoY2xhc3NcfDo6XClcX3MqXHxcJShbXX0pLl1cKVxzXHxcd1wpXEA8ITw8Wy1+XSJceihbXiJdKlwpIlx6ZVwlKC4qPDxbLX5dXD1bJ2AiXVw9XGhcKVxAIStocz1zKzMgIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBlbmQ9K15ccypcenNcejEkKyBjb250YWlucz1ydWJ5SGVyZWRvY1N0YXJ0LEBydWJ5U3RyaW5nU3BlY2lhbCBrZWVwZW5kCisgIHN5biByZWdpb24gcnVieVN0cmluZyBzdGFydD0rXCUoXCUoY2xhc3NcfDo6XClcX3MqXHxcJShbXX0pLl1cKVxzXHxcd1wpXEA8ITw8Wy1+XSdceihbXiddKlwpJ1x6ZVwlKC4qPDxbLX5dXD1bJ2AiXVw9XGhcKVxAIStocz1zKzMgIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBlbmQ9K15ccypcenNcejEkKyBjb250YWlucz1ydWJ5SGVyZWRvY1N0YXJ0CQkgICAga2VlcGVuZAorICBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgc3RhcnQ9K1wlKFwlKGNsYXNzXHw6OlwpXF9zKlx8XCUoW119KS5dXClcc1x8XHdcKVxAPCE8PFstfl1gXHooW15gXSpcKWBcemVcJSguKjw8Wy1+XVw9WydgIl1cPVxoXClcQCEraHM9cyszICBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgZW5kPSteXHMqXHpzXHoxJCsgY29udGFpbnM9cnVieUhlcmVkb2NTdGFydCxAcnVieVN0cmluZ1NwZWNpYWwga2VlcGVuZAorZW5kaWYKKworIiBlUnVieSBDb25maWcge3t7MQogaWYgZXhpc3RzKCdtYWluX3N5bnRheCcpICYmIG1haW5fc3ludGF4ID09ICdlcnVieScKICAgbGV0IGI6cnVieV9ub19leHBlbnNpdmUgPSAxCiBlbmQKIAorIiBNb2R1bGUsIENsYXNzLCBNZXRob2QgYW5kIEFsaWFzIERlY2xhcmF0aW9ucyB7e3sxCiBzeW4gbWF0Y2ggIHJ1YnlBbGlhc0RlY2xhcmF0aW9uICAgICJbXls6c3BhY2U6XTsjLigpXVwrIiBjb250YWluZWQgY29udGFpbnM9cnVieVN5bWJvbCxydWJ5R2xvYmFsVmFyaWFibGUscnVieVByZWRlZmluZWRWYXJpYWJsZSBuZXh0Z3JvdXA9cnVieUFsaWFzRGVjbGFyYXRpb24yIHNraXB3aGl0ZQogc3luIG1hdGNoICBydWJ5QWxpYXNEZWNsYXJhdGlvbjIgICAiW15bOnNwYWNlOl07Iy4oKV1cKyIgY29udGFpbmVkIGNvbnRhaW5zPXJ1YnlTeW1ib2wscnVieUdsb2JhbFZhcmlhYmxlLHJ1YnlQcmVkZWZpbmVkVmFyaWFibGUKIHN5biBtYXRjaCAgcnVieU1ldGhvZERlY2xhcmF0aW9uICAgIlteWzpzcGFjZTpdOyMoXVwrIgkgY29udGFpbmVkIGNvbnRhaW5zPXJ1YnlDb25zdGFudCxydWJ5Qm9vbGVhbixydWJ5UHNldWRvVmFyaWFibGUscnVieUluc3RhbmNlVmFyaWFibGUscnVieUNsYXNzVmFyaWFibGUscnVieUdsb2JhbFZhcmlhYmxlCiBzeW4gbWF0Y2ggIHJ1YnlDbGFzc0RlY2xhcmF0aW9uICAgICJbXls6c3BhY2U6XTsjPF1cKyIJIGNvbnRhaW5lZCBjb250YWlucz1ydWJ5Q29uc3RhbnQscnVieU9wZXJhdG9yCiBzeW4gbWF0Y2ggIHJ1YnlNb2R1bGVEZWNsYXJhdGlvbiAgICJbXls6c3BhY2U6XTsjPF1cKyIJIGNvbnRhaW5lZCBjb250YWlucz1ydWJ5Q29uc3RhbnQscnVieU9wZXJhdG9yCiBzeW4gbWF0Y2ggIHJ1YnlGdW5jdGlvbiAiXDxbX1s6YWxwaGE6XV1bX1s6YWxudW06XV0qWz8hPV1cPVtbOmFsbnVtOl1fLjo/IT1dXEAhIiBjb250YWluZWQgY29udGFpbmVkaW49cnVieU1ldGhvZERlY2xhcmF0aW9uCi1zeW4gbWF0Y2ggIHJ1YnlGdW5jdGlvbiAiXCUoXHNcfF5cKVxAPD1bX1s6YWxwaGE6XV1bX1s6YWxudW06XV0qWz8hPV1cPVwlKFxzXHwkXClcQD0iIGNvbnRhaW5lZCBjb250YWluZWRpbj1ydWJ5QWxpYXNEZWNsYXJhdGlvbixydWJ5QWxpYXNEZWNsYXJhdGlvbjIKLXN5biBtYXRjaCAgcnVieUZ1bmN0aW9uICJcJShbWzpzcGFjZTpdLl1cfF5cKVxAPD1cJShcW1xdPVw9XHxcKlwqXHxbKy1dQFw9XHxbKi8lfCZefl1cfDw8XHw+Plx8Wzw+XT1cPVx8PD0+XHw9PT1cfFs9IV09XHxbPSFdXH5cfCFcfGBcKVwlKFtbOnNwYWNlOl07IyhdXHwkXClcQD0iIGNvbnRhaW5lZCBjb250YWluZWRpbj1ydWJ5QWxpYXNEZWNsYXJhdGlvbixydWJ5QWxpYXNEZWNsYXJhdGlvbjIscnVieU1ldGhvZERlY2xhcmF0aW9uCitzeW4gbWF0Y2ggIHJ1YnlGdW5jdGlvbiAiXCUoXHNcfF5cKVxAMTw9W19bOmFscGhhOl1dW19bOmFsbnVtOl1dKls/IT1dXD1cJShcc1x8JFwpXEA9IiBjb250YWluZWQgY29udGFpbmVkaW49cnVieUFsaWFzRGVjbGFyYXRpb24scnVieUFsaWFzRGVjbGFyYXRpb24yCitzeW4gbWF0Y2ggIHJ1YnlGdW5jdGlvbiAiXCUoW1s6c3BhY2U6XS5dXHxeXClcQDI8PVwlKFxbXF09XD1cfFwqXCpcfFstKyF+XUBcPVx8WyovJXwmXn5dXHw8PFx8Pj5cfFs8Pl09XD1cfDw9Plx8PT09XHxbPSFdPVx8Wz0hXVx+XHwhXHxgXClcJShbWzpzcGFjZTpdOyMoXVx8JFwpXEA9IiBjb250YWluZWQgY29udGFpbmVkaW49cnVieUFsaWFzRGVjbGFyYXRpb24scnVieUFsaWFzRGVjbGFyYXRpb24yLHJ1YnlNZXRob2REZWNsYXJhdGlvbgogCiBzeW4gY2x1c3RlciBydWJ5RGVjbGFyYXRpb24gY29udGFpbnM9cnVieUFsaWFzRGVjbGFyYXRpb24scnVieUFsaWFzRGVjbGFyYXRpb24yLHJ1YnlNZXRob2REZWNsYXJhdGlvbixydWJ5TW9kdWxlRGVjbGFyYXRpb24scnVieUNsYXNzRGVjbGFyYXRpb24scnVieUZ1bmN0aW9uLHJ1YnlCbG9ja1BhcmFtZXRlcgogCi0iIEtleXdvcmRzCisiIEtleXdvcmRzIHt7ezEKICIgTm90ZTogdGhlIGZvbGxvd2luZyBrZXl3b3JkcyBoYXZlIGFscmVhZHkgYmVlbiBkZWZpbmVkOgogIiBiZWdpbiBjYXNlIGNsYXNzIGRlZiBkbyBlbmQgZm9yIGlmIG1vZHVsZSB1bmxlc3MgdW50aWwgd2hpbGUKIHN5biBtYXRjaCAgIHJ1YnlDb250cm9sCSAgICAgICAiXDxcJShhbmRcfGJyZWFrXHxpblx8bmV4dFx8bm90XHxvclx8cmVkb1x8cmVzY3VlXHxyZXRyeVx8cmV0dXJuXClcPls/IV1cQCEiCiBzeW4gbWF0Y2ggICBydWJ5T3BlcmF0b3IgICAgICAgIlw8ZGVmaW5lZD8iIGRpc3BsYXkKIHN5biBtYXRjaCAgIHJ1YnlLZXl3b3JkCSAgICAgICAiXDxcJShzdXBlclx8eWllbGRcKVw+Wz8hXVxAISIKIHN5biBtYXRjaCAgIHJ1YnlCb29sZWFuCSAgICAgICAiXDxcJSh0cnVlXHxmYWxzZVwpXD5bPyFdXEAhIgotc3luIG1hdGNoICAgcnVieVBzZXVkb1ZhcmlhYmxlICJcPFwlKG5pbFx8c2VsZlx8X19FTkNPRElOR19fXHxfX0ZJTEVfX1x8X19MSU5FX19cfF9fY2FsbGVlX19cfF9fbWV0aG9kX19cKVw+Wz8hXVxAISIgIiBUT0RPOiByZW9yZ2FuaXNlCitzeW4gbWF0Y2ggICBydWJ5UHNldWRvVmFyaWFibGUgIlw8XCUobmlsXHxzZWxmXHxfX0VOQ09ESU5HX19cfF9fZGlyX19cfF9fRklMRV9fXHxfX0xJTkVfX1x8X19jYWxsZWVfX1x8X19tZXRob2RfX1wpXD5bPyFdXEAhIiAiIFRPRE86IHJlb3JnYW5pc2UKIHN5biBtYXRjaCAgIHJ1YnlCZWdpbkVuZCAgICAgICAiXDxcJShCRUdJTlx8RU5EXClcPls/IV1cQCEiCiAKLSIgRXhwZW5zaXZlIE1vZGUgLSBtYXRjaCAnZW5kJyB3aXRoIHRoZSBhcHByb3ByaWF0ZSBvcGVuaW5nIGtleXdvcmQgZm9yIHN5bnRheAotIiBiYXNlZCBmb2xkaW5nIGFuZCBzcGVjaWFsIGhpZ2hsaWdodGluZyBvZiBtb2R1bGUvY2xhc3MvbWV0aG9kIGRlZmluaXRpb25zCisiIEV4cGVuc2l2ZSBNb2RlIHt7ezEKKyIgTWF0Y2ggJ2VuZCcgd2l0aCB0aGUgYXBwcm9wcmlhdGUgb3BlbmluZyBrZXl3b3JkIGZvciBzeW50YXggYmFzZWQgZm9sZGluZworIiBhbmQgc3BlY2lhbCBoaWdobGlnaHRpbmcgb2YgbW9kdWxlL2NsYXNzL21ldGhvZCBkZWZpbml0aW9ucwogaWYgIWV4aXN0cygiYjpydWJ5X25vX2V4cGVuc2l2ZSIpICYmICFleGlzdHMoInJ1Ynlfbm9fZXhwZW5zaXZlIikKICAgc3luIG1hdGNoICBydWJ5RGVmaW5lICJcPGFsaWFzXD4iICBuZXh0Z3JvdXA9cnVieUFsaWFzRGVjbGFyYXRpb24gIHNraXB3aGl0ZSBza2lwbmwKICAgc3luIG1hdGNoICBydWJ5RGVmaW5lICJcPGRlZlw+IiAgICBuZXh0Z3JvdXA9cnVieU1ldGhvZERlY2xhcmF0aW9uIHNraXB3aGl0ZSBza2lwbmwKQEAgLTIxMSwyMyArMzM5LDY2IEBACiAgIHN5biBtYXRjaCAgcnVieUNsYXNzCSJcPGNsYXNzXD4iICBuZXh0Z3JvdXA9cnVieUNsYXNzRGVjbGFyYXRpb24gIHNraXB3aGl0ZSBza2lwbmwKICAgc3luIG1hdGNoICBydWJ5TW9kdWxlICJcPG1vZHVsZVw+IiBuZXh0Z3JvdXA9cnVieU1vZHVsZURlY2xhcmF0aW9uIHNraXB3aGl0ZSBza2lwbmwKIAotICBzeW4gcmVnaW9uIHJ1YnlNZXRob2RCbG9jayBzdGFydD0iXDxkZWZcPiIJbWF0Y2hncm91cD1ydWJ5RGVmaW5lIGVuZD0iXCUoXDxkZWZcX3NcK1wpXEA8IVw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcCBmb2xkCi0gIHN5biByZWdpb24gcnVieUJsb2NrCSAgICAgc3RhcnQ9Ilw8Y2xhc3NcPiIJbWF0Y2hncm91cD1ydWJ5Q2xhc3MgIGVuZD0iXDxlbmRcPiIJCSAgICAgICBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgZm9sZAotICBzeW4gcmVnaW9uIHJ1YnlCbG9jawkgICAgIHN0YXJ0PSJcPG1vZHVsZVw+IiBtYXRjaGdyb3VwPXJ1YnlNb2R1bGUgZW5kPSJcPGVuZFw+IgkJICAgICAgIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcCBmb2xkCisgIGlmIHM6Zm9sZGFibGUoJ2RlZicpCisgICAgc3luIHJlZ2lvbiBydWJ5TWV0aG9kQmxvY2sgc3RhcnQ9Ilw8ZGVmXD4iCW1hdGNoZ3JvdXA9cnVieURlZmluZSBlbmQ9IlwlKFw8ZGVmXF9zXCtcKVxAPCFcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgZm9sZAorICBlbHNlCisgICAgc3luIHJlZ2lvbiBydWJ5TWV0aG9kQmxvY2sgc3RhcnQ9Ilw8ZGVmXD4iCW1hdGNoZ3JvdXA9cnVieURlZmluZSBlbmQ9IlwlKFw8ZGVmXF9zXCtcKVxAPCFcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AKKyAgZW5kaWYKKworICBpZiBzOmZvbGRhYmxlKCdjbGFzcycpCisgICAgc3luIHJlZ2lvbiBydWJ5QmxvY2sgc3RhcnQ9Ilw8Y2xhc3NcPiIJbWF0Y2hncm91cD1ydWJ5Q2xhc3MgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgZm9sZAorICBlbHNlCisgICAgc3luIHJlZ2lvbiBydWJ5QmxvY2sgc3RhcnQ9Ilw8Y2xhc3NcPiIJbWF0Y2hncm91cD1ydWJ5Q2xhc3MgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AKKyAgZW5kaWYKKworICBpZiBzOmZvbGRhYmxlKCdtb2R1bGUnKQorICAgIHN5biByZWdpb24gcnVieUJsb2NrIHN0YXJ0PSJcPG1vZHVsZVw+IiBtYXRjaGdyb3VwPXJ1YnlNb2R1bGUgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgZm9sZAorICBlbHNlCisgICAgc3luIHJlZ2lvbiBydWJ5QmxvY2sgc3RhcnQ9Ilw8bW9kdWxlXD4iIG1hdGNoZ3JvdXA9cnVieU1vZHVsZSBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAorICBlbmRpZgogCiAgICIgbW9kaWZpZXJzCi0gIHN5biBtYXRjaCBydWJ5Q29uZGl0aW9uYWxNb2RpZmllciAiXDxcJShpZlx8dW5sZXNzXClcPiIgICAgZGlzcGxheQotICBzeW4gbWF0Y2ggcnVieVJlcGVhdE1vZGlmaWVyCSAgICAgIlw8XCUod2hpbGVcfHVudGlsXClcPiIgZGlzcGxheQorICBzeW4gbWF0Y2ggcnVieUxpbmVDb250aW51YXRpb24gICAgIlxcJCIgbmV4dGdyb3VwPXJ1YnlDb25kaXRpb25hbE1vZGlmaWVyLHJ1YnlSZXBlYXRNb2RpZmllciBza2lwd2hpdGUgc2tpcG5sCisgIHN5biBtYXRjaCBydWJ5Q29uZGl0aW9uYWxNb2RpZmllciAiXDxcJShpZlx8dW5sZXNzXClcPiIKKyAgc3luIG1hdGNoIHJ1YnlSZXBlYXRNb2RpZmllcgkgICAgIlw8XCUod2hpbGVcfHVudGlsXClcPiIKIAotICBzeW4gcmVnaW9uIHJ1YnlEb0Jsb2NrICAgICAgbWF0Y2hncm91cD1ydWJ5Q29udHJvbCBzdGFydD0iXDxkb1w+IiBlbmQ9Ilw8ZW5kXD4iICAgICAgICAgICAgICAgICBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgZm9sZAorICBpZiBzOmZvbGRhYmxlKCdkbycpCisgICAgc3luIHJlZ2lvbiBydWJ5RG9CbG9jayBtYXRjaGdyb3VwPXJ1YnlDb250cm9sIHN0YXJ0PSJcPGRvXD4iIGVuZD0iXDxlbmRcPiIgY29udGFpbnM9QUxMQlVULEBydWJ5Tm90VG9wIGZvbGQKKyAgZWxzZQorICAgIHN5biByZWdpb24gcnVieURvQmxvY2sgbWF0Y2hncm91cD1ydWJ5Q29udHJvbCBzdGFydD0iXDxkb1w+IiBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAorICBlbmRpZgorCiAgICIgY3VybHkgYnJhY2tldCBibG9jayBvciBoYXNoIGxpdGVyYWwKLSAgc3luIHJlZ2lvbiBydWJ5Q3VybHlCbG9jawltYXRjaGdyb3VwPXJ1YnlDdXJseUJsb2NrRGVsaW1pdGVyICBzdGFydD0ieyIgZW5kPSJ9IgkJCQljb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgZm9sZAotICBzeW4gcmVnaW9uIHJ1YnlBcnJheUxpdGVyYWwJbWF0Y2hncm91cD1ydWJ5QXJyYXlEZWxpbWl0ZXIJICAgIHN0YXJ0PSJcJShcd1x8W1xdfSldXClcQDwhXFsiIGVuZD0iXSIJY29udGFpbnM9QUxMQlVULEBydWJ5Tm90VG9wIGZvbGQKKyAgaWYgczpmb2xkYWJsZSgneycpCisgICAgc3luIHJlZ2lvbiBydWJ5Q3VybHlCbG9jayBtYXRjaGdyb3VwPXJ1YnlDdXJseUJsb2NrRGVsaW1pdGVyIHN0YXJ0PSJ7IiBlbmQ9In0iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcCBmb2xkCisgIGVsc2UKKyAgICBzeW4gcmVnaW9uIHJ1YnlDdXJseUJsb2NrIG1hdGNoZ3JvdXA9cnVieUN1cmx5QmxvY2tEZWxpbWl0ZXIgc3RhcnQ9InsiIGVuZD0ifSIgY29udGFpbnM9QUxMQlVULEBydWJ5Tm90VG9wCisgIGVuZGlmCisKKyAgaWYgczpmb2xkYWJsZSgnWycpCisgICAgc3luIHJlZ2lvbiBydWJ5QXJyYXlMaXRlcmFsCW1hdGNoZ3JvdXA9cnVieUFycmF5RGVsaW1pdGVyIHN0YXJ0PSJcJShcd1x8W1xdfSldXClcQDwhXFsiIGVuZD0iXSIgY29udGFpbnM9QUxMQlVULEBydWJ5Tm90VG9wIGZvbGQKKyAgZWxzZQorICAgIHN5biByZWdpb24gcnVieUFycmF5TGl0ZXJhbAltYXRjaGdyb3VwPXJ1YnlBcnJheURlbGltaXRlciBzdGFydD0iXCUoXHdcfFtcXX0pXVwpXEA8IVxbIiBlbmQ9Il0iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAorICBlbmRpZgogCiAgICIgc3RhdGVtZW50cyB3aXRob3V0ICdkbycKLSAgc3luIHJlZ2lvbiBydWJ5QmxvY2tFeHByZXNzaW9uICAgICAgIG1hdGNoZ3JvdXA9cnVieUNvbnRyb2wJICBzdGFydD0iXDxiZWdpblw+IiBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcCBmb2xkCi0gIHN5biByZWdpb24gcnVieUNhc2VFeHByZXNzaW9uCSAgICAgICBtYXRjaGdyb3VwPXJ1YnlDb25kaXRpb25hbCBzdGFydD0iXDxjYXNlXD4iICBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcCBmb2xkCi0gIHN5biByZWdpb24gcnVieUNvbmRpdGlvbmFsRXhwcmVzc2lvbiBtYXRjaGdyb3VwPXJ1YnlDb25kaXRpb25hbCBzdGFydD0iXCUoXCUoXlx8XC5cLlwuXD1cfFt7Oiw7KFs8Pn5cKi8lJl58Kz0tXVx8XCUoXDxbX1s6bG93ZXI6XV1bX1s6YWxudW06XV0qXClcQDwhWz8hXVwpXHMqXClcQDw9XCUoaWZcfHVubGVzc1wpXD4iIGVuZD0iXCUoXCUoXCUoXC5cQDwhXC5cKVx8OjpcKVxzKlwpXEA8IVw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcCBmb2xkCisgIGlmIHM6Zm9sZGFibGUoJ2JlZ2luJykKKyAgICBzeW4gcmVnaW9uIHJ1YnlCbG9ja0V4cHJlc3Npb24gbWF0Y2hncm91cD1ydWJ5Q29udHJvbCBzdGFydD0iXDxiZWdpblw+IiBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcCBmb2xkCisgIGVsc2UKKyAgICBzeW4gcmVnaW9uIHJ1YnlCbG9ja0V4cHJlc3Npb24gbWF0Y2hncm91cD1ydWJ5Q29udHJvbCBzdGFydD0iXDxiZWdpblw+IiBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAorICBlbmRpZgorCisgIGlmIHM6Zm9sZGFibGUoJ2Nhc2UnKQorICAgIHN5biByZWdpb24gcnVieUNhc2VFeHByZXNzaW9uIG1hdGNoZ3JvdXA9cnVieUNvbmRpdGlvbmFsIHN0YXJ0PSJcPGNhc2VcPiIgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgZm9sZAorICBlbHNlCisgICAgc3luIHJlZ2lvbiBydWJ5Q2FzZUV4cHJlc3Npb24gbWF0Y2hncm91cD1ydWJ5Q29uZGl0aW9uYWwgc3RhcnQ9Ilw8Y2FzZVw+IiBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAorICBlbmRpZgorCisgIGlmIHM6Zm9sZGFibGUoJ2lmJykKKyAgICBzeW4gcmVnaW9uIHJ1YnlDb25kaXRpb25hbEV4cHJlc3Npb24gbWF0Y2hncm91cD1ydWJ5Q29uZGl0aW9uYWwgc3RhcnQ9IlwlKFwlKF5cfFwuXC5cLlw9XHxbezosOyhbPD5+XColJl58Kz0tXVx8XCUoXDxbX1s6bG93ZXI6XV1bX1s6YWxudW06XV0qXClcQDwhWz8hXVwpXHMqXClcQDw9XCUoaWZcfHVubGVzc1wpXD4iIGVuZD0iXCUoXCUoXCUoXC5cQDE8IVwuXClcfDo6XClccypcKVxAPCFcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgZm9sZAorICBlbHNlCisgICAgc3luIHJlZ2lvbiBydWJ5Q29uZGl0aW9uYWxFeHByZXNzaW9uIG1hdGNoZ3JvdXA9cnVieUNvbmRpdGlvbmFsIHN0YXJ0PSJcJShcJSheXHxcLlwuXC5cPVx8W3s6LDsoWzw+flwqJSZefCs9LV1cfFwlKFw8W19bOmxvd2VyOl1dW19bOmFsbnVtOl1dKlwpXEA8IVs/IV1cKVxzKlwpXEA8PVwlKGlmXHx1bmxlc3NcKVw+IiBlbmQ9IlwlKFwlKFwlKFwuXEAxPCFcLlwpXHw6OlwpXHMqXClcQDwhXDxlbmRcPiIgY29udGFpbnM9QUxMQlVULEBydWJ5Tm90VG9wCisgIGVuZGlmCiAKICAgc3luIG1hdGNoIHJ1YnlDb25kaXRpb25hbCAiXDxcJSh0aGVuXHxlbHNlXHx3aGVuXClcPls/IV1cQCEiCWNvbnRhaW5lZCBjb250YWluZWRpbj1ydWJ5Q2FzZUV4cHJlc3Npb24KICAgc3luIG1hdGNoIHJ1YnlDb25kaXRpb25hbCAiXDxcJSh0aGVuXHxlbHNlXHxlbHNpZlwpXD5bPyFdXEAhIiBjb250YWluZWQgY29udGFpbmVkaW49cnVieUNvbmRpdGlvbmFsRXhwcmVzc2lvbgpAQCAtMjM3LDcgKzQwOCwxMiBAQAogCiAgICIgc3RhdGVtZW50cyB3aXRoIG9wdGlvbmFsICdkbycKICAgc3luIHJlZ2lvbiBydWJ5T3B0aW9uYWxEb0xpbmUgICBtYXRjaGdyb3VwPXJ1YnlSZXBlYXQgc3RhcnQ9Ilw8Zm9yXD5bPyFdXEAhIiBzdGFydD0iXCUoXCUoXlx8XC5cLlwuXD1cfFt7Oiw7KFs8Pn5cKi8lJl58Ky1dXHxcJShcPFtfWzpsb3dlcjpdXVtfWzphbG51bTpdXSpcKVxAPCFbIT0/XVwpXHMqXClcQDw9XDxcJSh1bnRpbFx8d2hpbGVcKVw+IiBtYXRjaGdyb3VwPXJ1YnlPcHRpb25hbERvIGVuZD0iXCUoXDxkb1w+XCkiIGVuZD0iXHplXCUoO1x8JFwpIiBvbmVsaW5lIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAotICBzeW4gcmVnaW9uIHJ1YnlSZXBlYXRFeHByZXNzaW9uIHN0YXJ0PSJcPGZvclw+Wz8hXVxAISIgc3RhcnQ9IlwlKFwlKF5cfFwuXC5cLlw9XHxbezosOyhbPD5+XCovJSZefCstXVx8XCUoXDxbX1s6bG93ZXI6XV1bX1s6YWxudW06XV0qXClcQDwhWyE9P11cKVxzKlwpXEA8PVw8XCUodW50aWxcfHdoaWxlXClcPiIgbWF0Y2hncm91cD1ydWJ5UmVwZWF0IGVuZD0iXDxlbmRcPiIgY29udGFpbnM9QUxMQlVULEBydWJ5Tm90VG9wIG5leHRncm91cD1ydWJ5T3B0aW9uYWxEb0xpbmUgZm9sZAorCisgIGlmIHM6Zm9sZGFibGUoJ2ZvcicpCisgICAgc3luIHJlZ2lvbiBydWJ5UmVwZWF0RXhwcmVzc2lvbiBzdGFydD0iXDxmb3JcPls/IV1cQCEiIHN0YXJ0PSJcJShcJSheXHxcLlwuXC5cPVx8W3s6LDsoWzw+flwqLyUmXnwrLV1cfFwlKFw8W19bOmxvd2VyOl1dW19bOmFsbnVtOl1dKlwpXEA8IVshPT9dXClccypcKVxAPD1cPFwlKHVudGlsXHx3aGlsZVwpXD4iIG1hdGNoZ3JvdXA9cnVieVJlcGVhdCBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcCBuZXh0Z3JvdXA9cnVieU9wdGlvbmFsRG9MaW5lIGZvbGQKKyAgZWxzZQorICAgIHN5biByZWdpb24gcnVieVJlcGVhdEV4cHJlc3Npb24gc3RhcnQ9Ilw8Zm9yXD5bPyFdXEAhIiBzdGFydD0iXCUoXCUoXlx8XC5cLlwuXD1cfFt7Oiw7KFs8Pn5cKi8lJl58Ky1dXHxcJShcPFtfWzpsb3dlcjpdXVtfWzphbG51bTpdXSpcKVxAPCFbIT0/XVwpXHMqXClcQDw9XDxcJSh1bnRpbFx8d2hpbGVcKVw+IiBtYXRjaGdyb3VwPXJ1YnlSZXBlYXQgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgbmV4dGdyb3VwPXJ1YnlPcHRpb25hbERvTGluZQorICBlbmRpZgogCiAgIGlmICFleGlzdHMoInJ1YnlfbWlubGluZXMiKQogICAgIGxldCBydWJ5X21pbmxpbmVzID0gNTAwCkBAIC0yNTIsNyArNDI4LDcgQEAKICAgc3luIG1hdGNoIHJ1YnlLZXl3b3JkICJcPFwlKGFsaWFzXHx1bmRlZlwpXD5bPyFdXEAhIgogZW5kaWYKIAotIiBTcGVjaWFsIE1ldGhvZHMKKyIgU3BlY2lhbCBNZXRob2RzIHt7ezEKIGlmICFleGlzdHMoInJ1Ynlfbm9fc3BlY2lhbF9tZXRob2RzIikKICAgc3luIGtleXdvcmQgcnVieUFjY2VzcyAgICBwdWJsaWMgcHJvdGVjdGVkIHByaXZhdGUgcHVibGljX2NsYXNzX21ldGhvZCBwcml2YXRlX2NsYXNzX21ldGhvZCBwdWJsaWNfY29uc3RhbnQgcHJpdmF0ZV9jb25zdGFudCBtb2R1bGVfZnVuY3Rpb24KICAgIiBhdHRyIGlzIGEgY29tbW9uIHZhcmlhYmxlIG5hbWUKQEAgLTI2Myw0MCArNDM5LDQwIEBACiAgIHN5biBrZXl3b3JkIHJ1YnlFeGNlcHRpb24gcmFpc2UgZmFpbCBjYXRjaCB0aHJvdwogICAiIGZhbHNlIHBvc2l0aXZlIHdpdGggJ2luY2x1ZGU/JwogICBzeW4gbWF0Y2ggICBydWJ5SW5jbHVkZSAgICJcPGluY2x1ZGVcPls/IV1cQCEiCi0gIHN5biBrZXl3b3JkIHJ1YnlJbmNsdWRlICAgYXV0b2xvYWQgZXh0ZW5kIGxvYWQgcHJlcGVuZCByZXF1aXJlIHJlcXVpcmVfcmVsYXRpdmUKKyAgc3luIGtleXdvcmQgcnVieUluY2x1ZGUgICBhdXRvbG9hZCBleHRlbmQgbG9hZCBwcmVwZW5kIHJlZmluZSByZXF1aXJlIHJlcXVpcmVfcmVsYXRpdmUgdXNpbmcKICAgc3luIGtleXdvcmQgcnVieUtleXdvcmQgICBjYWxsY2MgY2FsbGVyIGxhbWJkYSBwcm9jCiBlbmRpZgogCi0iIENvbW1lbnRzIGFuZCBEb2N1bWVudGF0aW9uCisiIENvbW1lbnRzIGFuZCBEb2N1bWVudGF0aW9uIHt7ezEKIHN5biBtYXRjaCAgIHJ1YnlTaGFycEJhbmcgIlwlXiMhLioiIGRpc3BsYXkKLXN5biBrZXl3b3JkIHJ1YnlUb2RvCSAgRklYTUUgTk9URSBUT0RPIE9QVElNSVpFIFhYWCB0b2RvIGNvbnRhaW5lZAorc3luIGtleXdvcmQgcnVieVRvZG8JICBGSVhNRSBOT1RFIFRPRE8gT1BUSU1JWkUgSEFDSyBSRVZJRVcgWFhYIHRvZG8gY29udGFpbmVkCiBzeW4gbWF0Y2ggICBydWJ5Q29tbWVudCAgICIjLioiIGNvbnRhaW5zPXJ1YnlTaGFycEJhbmcscnVieVNwYWNlRXJyb3IscnVieVRvZG8sQFNwZWxsCi1pZiAhZXhpc3RzKCJydWJ5X25vX2NvbW1lbnRfZm9sZCIpCi0gIHN5biByZWdpb24gcnVieU11bHRpbGluZUNvbW1lbnQgc3RhcnQ9IlwlKFwlKF5ccyojLipcblwpXEA8IVwlKF5ccyojLipcblwpXClcJShcKF5ccyojLipcblwpXHsxLH1cKVxAPSIgZW5kPSJcJSheXHMqIy4qXG5cKVxAPD1cJSheXHMqIy4qXG5cKVwlKF5ccyojXClcQCEiIGNvbnRhaW5zPXJ1YnlDb21tZW50IHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZAoraWYgIWV4aXN0cygicnVieV9ub19jb21tZW50X2ZvbGQiKSAmJiBzOmZvbGRhYmxlKCcjJykKKyAgc3luIHJlZ2lvbiBydWJ5TXVsdGlsaW5lQ29tbWVudCBzdGFydD0iXlxzKiMuKlxuXCUoXlxzKiNcKVxAPSIgZW5kPSJeXHMqIy4qXG5cJSheXHMqI1wpXEAhIiBjb250YWlucz1ydWJ5Q29tbWVudCB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQKICAgc3luIHJlZ2lvbiBydWJ5RG9jdW1lbnRhdGlvbgkgIHN0YXJ0PSJePWJlZ2luXHplXCUoXHMuKlwpXD0kIiBlbmQ9Il49ZW5kXCUoXHMuKlwpXD0kIiBjb250YWlucz1ydWJ5U3BhY2VFcnJvcixydWJ5VG9kbyxAU3BlbGwgZm9sZAogZWxzZQogICBzeW4gcmVnaW9uIHJ1YnlEb2N1bWVudGF0aW9uCSAgc3RhcnQ9Il49YmVnaW5ccyokIiBlbmQ9Il49ZW5kXHMqJCIgY29udGFpbnM9cnVieVNwYWNlRXJyb3IscnVieVRvZG8sQFNwZWxsCiBlbmRpZgogCisiIEtleXdvcmQgTm9iYmxpbmcge3t7MQogIiBOb3RlOiB0aGlzIGlzIGEgaGFjayB0byBwcmV2ZW50ICdrZXl3b3JkcycgYmVpbmcgaGlnaGxpZ2h0ZWQgYXMgc3VjaCB3aGVuIGNhbGxlZCBhcyBtZXRob2RzIHdpdGggYW4gZXhwbGljaXQgcmVjZWl2ZXIKLXN5biBtYXRjaCBydWJ5S2V5d29yZEFzTWV0aG9kICJcJShcJShcLlxAPCFcLlwpXHw6OlwpXF9zKlwlKGFsaWFzXHxhbmRcfGJlZ2luXHxicmVha1x8Y2FzZVx8Y2xhc3NcfGRlZlx8ZGVmaW5lZFx8ZG9cfGVsc2VcKVw+IgkJICB0cmFuc3BhcmVudCBjb250YWlucz1OT05FCi1zeW4gbWF0Y2ggcnVieUtleXdvcmRBc01ldGhvZCAiXCUoXCUoXC5cQDwhXC5cKVx8OjpcKVxfcypcJShlbHNpZlx8ZW5kXHxlbnN1cmVcfGZhbHNlXHxmb3JcfGlmXHxpblx8bW9kdWxlXHxuZXh0XHxuaWxcKVw+IgkJICB0cmFuc3BhcmVudCBjb250YWlucz1OT05FCi1zeW4gbWF0Y2ggcnVieUtleXdvcmRBc01ldGhvZCAiXCUoXCUoXC5cQDwhXC5cKVx8OjpcKVxfcypcJShub3RcfG9yXHxyZWRvXHxyZXNjdWVcfHJldHJ5XHxyZXR1cm5cfHNlbGZcfHN1cGVyXHx0aGVuXHx0cnVlXClcPiIJCSAgdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQotc3luIG1hdGNoIHJ1YnlLZXl3b3JkQXNNZXRob2QgIlwlKFwlKFwuXEA8IVwuXClcfDo6XClcX3MqXCUodW5kZWZcfHVubGVzc1x8dW50aWxcfHdoZW5cfHdoaWxlXHx5aWVsZFx8QkVHSU5cfEVORFx8X19GSUxFX19cfF9fTElORV9fXClcPiIgdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQorc3luIG1hdGNoIHJ1YnlLZXl3b3JkQXNNZXRob2QgIlwlKFwlKFwuXEAxPCFcLlwpXHw6OlwpXF9zKlwlKFtfWzpsb3dlcjpdXVtfWzphbG51bTpdXSpcfFw8XCUoQkVHSU5cfEVORFwpXD5cKSIgdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQorc3luIG1hdGNoIHJ1YnlLZXl3b3JkQXNNZXRob2QgIlwoZGVmaW5lZD9cfGV4aXQhXClcQCFcPFtfWzpsb3dlcjpdXVtfWzphbG51bTpdXSpbPyFdIgkJCSAgICAgICB0cmFuc3BhcmVudCBjb250YWlucz1OT05FCiAKLXN5biBtYXRjaCBydWJ5S2V5d29yZEFzTWV0aG9kICJcPFwlKGFsaWFzXHxiZWdpblx8Y2FzZVx8Y2xhc3NcfGRlZlx8ZG9cfGVuZFwpWz8hXSIgdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQotc3luIG1hdGNoIHJ1YnlLZXl3b3JkQXNNZXRob2QgIlw8XCUoaWZcfG1vZHVsZVx8dW5kZWZcfHVubGVzc1x8dW50aWxcfHdoaWxlXClbPyFdIiB0cmFuc3BhcmVudCBjb250YWlucz1OT05FCisiIE1vcmUgU3ltYm9scyB7e3sxCitzeW4gbWF0Y2ggIHJ1YnlTeW1ib2wJCSJcJShbeygsXVxfcypcKVx6c1xsXHcqWyE/XVw9OjpcQCEiaGU9ZS0xCitzeW4gbWF0Y2ggIHJ1YnlTeW1ib2wJCSJbXX0pXCInOl1cQDE8IVwlKFxoXHxbXlx4MDAtXHg3Rl1cKVwlKFx3XHxbXlx4MDAtXHg3Rl1cKSpbIT9dXD06W1s6c3BhY2U6XSxdXEA9ImhlPWUtMQorc3luIG1hdGNoICBydWJ5U3ltYm9sCQkiXCUoW3soLF1cX3MqXClcenNbWzpzcGFjZTpdLHtdXGxcdypbIT9dXD06OlxAISJocz1zKzEsaGU9ZS0xCitzeW4gbWF0Y2ggIHJ1YnlTeW1ib2wJCSJbWzpzcGFjZTpdLHsoXVwlKFxoXHxbXlx4MDAtXHg3Rl1cKVwlKFx3XHxbXlx4MDAtXHg3Rl1cKSpbIT9dXD06W1s6c3BhY2U6XSxdXEA9ImhzPXMrMSxoZT1lLTEKIAotc3luIG1hdGNoIHJ1YnlLZXl3b3JkQXNNZXRob2QgIlwlKFwlKFwuXEA8IVwuXClcfDo6XClcX3MqXCUoYWJvcnRcfGF0X2V4aXRcfGF0dHJcfGF0dHJfYWNjZXNzb3JcfGF0dHJfcmVhZGVyXClcPiIJdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQotc3luIG1hdGNoIHJ1YnlLZXl3b3JkQXNNZXRob2QgIlwlKFwlKFwuXEA8IVwuXClcfDo6XClcX3MqXCUoYXR0cl93cml0ZXJcfGF1dG9sb2FkXHxjYWxsY2NcfGNhdGNoXHxjYWxsZXJcKVw+IgkJdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQotc3luIG1hdGNoIHJ1YnlLZXl3b3JkQXNNZXRob2QgIlwlKFwlKFwuXEA8IVwuXClcfDo6XClcX3MqXCUoZXZhbFx8Y2xhc3NfZXZhbFx8aW5zdGFuY2VfZXZhbFx8bW9kdWxlX2V2YWxcfGV4aXRcKVw+Igl0cmFuc3BhcmVudCBjb250YWlucz1OT05FCi1zeW4gbWF0Y2ggcnVieUtleXdvcmRBc01ldGhvZCAiXCUoXCUoXC5cQDwhXC5cKVx8OjpcKVxfcypcJShleHRlbmRcfGZhaWxcfGZvcmtcfGluY2x1ZGVcfGxhbWJkYVwpXD4iCQkJdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQotc3luIG1hdGNoIHJ1YnlLZXl3b3JkQXNNZXRob2QgIlwlKFwlKFwuXEA8IVwuXClcfDo6XClcX3MqXCUobG9hZFx8bG9vcFx8cHJlcGVuZFx8cHJpdmF0ZVx8cHJvY1x8cHJvdGVjdGVkXClcPiIJCXRyYW5zcGFyZW50IGNvbnRhaW5zPU5PTkUKLXN5biBtYXRjaCBydWJ5S2V5d29yZEFzTWV0aG9kICJcJShcJShcLlxAPCFcLlwpXHw6OlwpXF9zKlwlKHB1YmxpY1x8cmVxdWlyZVx8cmVxdWlyZV9yZWxhdGl2ZVx8cmFpc2VcfHRocm93XHx0cmFwXClcPiIJdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQorIiBfX0VORF9fIERpcmVjdGl2ZSB7e3sxCitpZiBzOmZvbGRhYmxlKCdfX0VORF9fJykKKyAgc3luIHJlZ2lvbiBydWJ5RGF0YSBtYXRjaGdyb3VwPXJ1YnlEYXRhRGlyZWN0aXZlIHN0YXJ0PSJeX19FTkRfXyQiIGVuZD0iXCUkIiBmb2xkCitlbHNlCisgIHN5biByZWdpb24gcnVieURhdGEgbWF0Y2hncm91cD1ydWJ5RGF0YURpcmVjdGl2ZSBzdGFydD0iXl9fRU5EX18kIiBlbmQ9IlwlJCIKK2VuZGlmCiAKLSIgX19FTkRfXyBEaXJlY3RpdmUKLXN5biByZWdpb24gcnVieURhdGEgbWF0Y2hncm91cD1ydWJ5RGF0YURpcmVjdGl2ZSBzdGFydD0iXl9fRU5EX18kIiBlbmQ9IlwlJCIgZm9sZAotCisiIERlZmF1bHQgSGlnaGxpZ2h0aW5nIHt7ezEKIGhpIGRlZiBsaW5rIHJ1YnlDbGFzcwkJCXJ1YnlEZWZpbmUKIGhpIGRlZiBsaW5rIHJ1YnlNb2R1bGUJCQlydWJ5RGVmaW5lCiBoaSBkZWYgbGluayBydWJ5TWV0aG9kRXhjZXB0aW9uYWwJcnVieURlZmluZQpAQCAtMzM2LDYgKzUxMiw3IEBACiBoaSBkZWYgbGluayBydWJ5QXR0cmlidXRlCQlTdGF0ZW1lbnQKIGhpIGRlZiBsaW5rIHJ1YnlFdmFsCQkJU3RhdGVtZW50CiBoaSBkZWYgbGluayBydWJ5UHNldWRvVmFyaWFibGUJCUNvbnN0YW50CitoaSBkZWYgbGluayBydWJ5Q2FwaXRhbGl6ZWRNZXRob2QJcnVieUxvY2FsVmFyaWFibGVPck1ldGhvZAogCiBoaSBkZWYgbGluayBydWJ5Q29tbWVudAkJCUNvbW1lbnQKIGhpIGRlZiBsaW5rIHJ1YnlEYXRhCQkJQ29tbWVudApAQCAtMzQ5LDcgKzUyNiw3IEBACiBoaSBkZWYgbGluayBydWJ5Tm9JbnRlcnBvbGF0aW9uCQlydWJ5U3RyaW5nCiBoaSBkZWYgbGluayBydWJ5U2hhcnBCYW5nCQlQcmVQcm9jCiBoaSBkZWYgbGluayBydWJ5UmVnZXhwRGVsaW1pdGVyCQlydWJ5U3RyaW5nRGVsaW1pdGVyCi1oaSBkZWYgbGluayBydWJ5U3ltYm9sRGVsaW1pdGVyCQlydWJ5U3RyaW5nRGVsaW1pdGVyCitoaSBkZWYgbGluayBydWJ5U3ltYm9sRGVsaW1pdGVyCQlydWJ5U3ltYm9sCiBoaSBkZWYgbGluayBydWJ5U3RyaW5nRGVsaW1pdGVyCQlEZWxpbWl0ZXIKIGhpIGRlZiBsaW5rIHJ1YnlIZXJlZG9jCQkJcnVieVN0cmluZwogaGkgZGVmIGxpbmsgcnVieVN0cmluZwkJCVN0cmluZwpAQCAtMzY2LDYgKzU0MywxMCBAQAogaGkgZGVmIGxpbmsgcnVieUVycm9yCQkJRXJyb3IKIGhpIGRlZiBsaW5rIHJ1YnlTcGFjZUVycm9yCQlydWJ5RXJyb3IKIAorIiBQb3N0c2NyaXB0IHt7ezEKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInJ1YnkiCiAKLSIgdmltOiBub3dyYXAgc3c9MiBzdHM9MiB0cz04IG5vZXQ6CitsZXQgJmNwbyA9IHM6Y3BvX3NhdgordW5sZXQhIHM6Y3BvX3NhdgorCisiIHZpbTogbm93cmFwIHN3PTIgc3RzPTIgdHM9OCBub2V0IGZkbT1tYXJrZXI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zYW1iYS52aW0gYi9ydW50aW1lL3N5bnRheC9zYW1iYS52aW0KaW5kZXggZGFlNDA0MC4uNzM0ZjhiMiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2FtYmEudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NhbWJhLnZpbQpAQCAtOCwxMSArOCw4IEBACiAiCiAiIERvbid0IGZvcmdldCB0byBydW4geW91ciBjb25maWcgZmlsZSB0aHJvdWdoIHRlc3RwYXJtKDEpIQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTA3LDI0ICsxMDQsMTYgQEAKIHN5biBrZXl3b3JkIHNhbWJhS2V5d29yZCBjb250YWluZWQgc3RvcmUgdW5rbm93biB1bndyaXRlYWJsZQogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zYW1iYV9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zYW1iYV9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgotICBIaUxpbmsgc2FtYmFQYXJhbWV0ZXIgTm9ybWFsCi0gIEhpTGluayBzYW1iYUtleXdvcmQgICBUeXBlCi0gIEhpTGluayBzYW1iYVNlY3Rpb24gICBTdGF0ZW1lbnQKLSAgSGlMaW5rIHNhbWJhTWFjcm8gICAgIFByZVByb2MKLSAgSGlMaW5rIHNhbWJhQ29tbWVudCAgIENvbW1lbnQKLSAgSGlMaW5rIHNhbWJhQ29udGludWUgIE9wZXJhdG9yCi0gIEhpTGluayBzYW1iYUJvb2xlYW4gICBDb25zdGFudAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorSGlMaW5rIHNhbWJhUGFyYW1ldGVyIE5vcm1hbAorSGlMaW5rIHNhbWJhS2V5d29yZCAgIFR5cGUKK0hpTGluayBzYW1iYVNlY3Rpb24gICBTdGF0ZW1lbnQKK0hpTGluayBzYW1iYU1hY3JvICAgICBQcmVQcm9jCitIaUxpbmsgc2FtYmFDb21tZW50ICAgQ29tbWVudAorSGlMaW5rIHNhbWJhQ29udGludWUgIE9wZXJhdG9yCitIaUxpbmsgc2FtYmFCb29sZWFuICAgQ29uc3RhbnQKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNhbWJhIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zYXMudmltIGIvcnVudGltZS9zeW50YXgvc2FzLnZpbQppbmRleCBkYzcwZTFmLi5hOTk1MDExIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zYXMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Nhcy52aW0KQEAgLTEyLDExICsxMiw4IEBACiAiCQlBdHRlbXB0ZWQgdG8gbWF0Y2ggU0FTIGRlZmF1bHQgc3ludGF4IGNvbG9yczsKICIJCUNoYW5nZWQgc3luY2luZyBzbyBpdCBkb2Vzbid0IGxvc2UgY29sb3JzIG9uIGxhcmdlIGJsb2NrczsKICIJCU11Y2ggdGhhbmtzIHRvIEJvYiBIZWNrZWwgZm9yIGtub3dsZWRnZWFibGUgdHdlYWtpbmcuCi0iICBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiAgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgZmluaXNoCiBlbmRpZgogCkBAIC01MiwxMSArNDksNyBAQAogIiBUaGFua3MgdG8gcm9uYWxkIGj2bGx3YXJ0aCBmb3IgdGhpcyBmaXggdG8gYW4gaW50cmEtdmVyc2lvbmluZwogIiBwcm9ibGVtIHdpdGggdGhpcyBsaXR0bGUgZmVhdHVyZQogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICBzeW4gcmVnaW9uIHNhc01hY3JvVmFyCXN0YXJ0PSJcJiIgc2tpcD0iW18mXSIgZW5kPSJcVyJoZT1lLTEKLWVsc2UJCSAiIGZvciB0aGUgb2xkZXIgVmltJ3MganVzdCBkbyBpdCB0aGVpciB3YXkgLi4uCi0gICBzeW4gcmVnaW9uIHNhc01hY3JvVmFyCXN0YXJ0PSImIiBza2lwPSJbXyZdIiBlbmQ9IlxXImhlPWUtMQotZW5kaWYKK3N5biByZWdpb24gc2FzTWFjcm9WYXIJc3RhcnQ9IiYiIHNraXA9IltfJl0iIGVuZD0iXFciaGU9ZS0xCiAKIAogIiBJIGRvbnQgdGhpbmsgc3BlY2lmaWMgUFJPQ3MgbmVlZCB0byBiZSBsaXN0ZWQgaWYgdXNlIHRoaXMgbGluZSAoQm9iIEhlY2tlbCkuCkBAIC0yMTgsNjIgKzIxMSw1NCBAQAogIiBFbmQgb2YgU0FTIEZ1bmN0aW9ucwogCiAiICBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiAgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiAgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKKyIgIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CiAKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zYXNfc3ludGF4X2luaXRzIikKLSAgIGlmIHZlcnNpb24gPCA1MDgKLSAgICAgIGxldCBkaWRfc2FzX3N5bnRheF9pbml0cyA9IDEKLSAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICBlbHNlCi0gICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAgIiBEZWZhdWx0IHNhcyBlbmhhbmNlZCBlZGl0b3IgY29sb3Igc3ludGF4Ci0JaGkgc0NvbW1lbnQJdGVybT1ib2xkIGN0ZXJtPU5PTkUgY3Rlcm1mZz1HcmVlbiBjdGVybWJnPUJsYWNrIGd1aT1OT05FIGd1aWZnPURhcmtHcmVlbiBndWliZz1XaGl0ZQotCWhpIHNDYXJkCXRlcm09Ym9sZCBjdGVybT1OT05FIGN0ZXJtZmc9QmxhY2sgY3Rlcm1iZz1ZZWxsb3cgZ3VpPU5PTkUgZ3VpZmc9QmxhY2sgZ3VpYmc9TGlnaHRZZWxsb3cKLQloaSBzRGF0ZV9UaW1lCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9R3JlZW4gY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1TZWFHcmVlbiBndWliZz1XaGl0ZQotCWhpIHNLZXl3b3JkCXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9Qmx1ZSAgY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1CbHVlIGd1aWJnPVdoaXRlCi0JaGkgc0ZtdEluZm10CXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9TGlnaHRHcmVlbiBjdGVybWJnPUJsYWNrIGd1aT1OT05FIGd1aWZnPVNlYUdyZWVuIGd1aWJnPVdoaXRlCi0JaGkgc1N0cmluZwl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPU1hZ2VudGEgY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1QdXJwbGUgZ3VpYmc9V2hpdGUKLQloaSBzVGV4dAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPVdoaXRlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9QmxhY2sgZ3VpYmc9V2hpdGUKLQloaSBzTnVtYmVyCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9R3JlZW4gY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1TZWFHcmVlbiBndWliZz1XaGl0ZQotCWhpIHNQcm9jCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9Qmx1ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPU5hdnkgZ3VpYmc9V2hpdGUKLQloaSBzU2VjdGlvbgl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPUJsdWUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1OYXZ5IGd1aWJnPVdoaXRlCi0JaGkgbURlZmluZQl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPVdoaXRlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9QmxhY2sgZ3VpYmc9V2hpdGUKLQloaSBtS2V5d29yZAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUJsdWUgY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1CbHVlIGd1aWJnPVdoaXRlCi0JaGkgbVJlZmVyZW5jZQl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPVdoaXRlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9Qmx1ZSBndWliZz1XaGl0ZQotCWhpIG1TZWN0aW9uCXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9Qmx1ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPU5hdnkgZ3VpYmc9V2hpdGUKLQloaSBtVGV4dAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPVdoaXRlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9QmxhY2sgZ3VpYmc9V2hpdGUKKyIgRGVmYXVsdCBzYXMgZW5oYW5jZWQgZWRpdG9yIGNvbG9yIHN5bnRheAoraGkgc0NvbW1lbnQJdGVybT1ib2xkIGN0ZXJtPU5PTkUgY3Rlcm1mZz1HcmVlbiBjdGVybWJnPUJsYWNrIGd1aT1OT05FIGd1aWZnPURhcmtHcmVlbiBndWliZz1XaGl0ZQoraGkgc0NhcmQJdGVybT1ib2xkIGN0ZXJtPU5PTkUgY3Rlcm1mZz1CbGFjayBjdGVybWJnPVllbGxvdyBndWk9Tk9ORSBndWlmZz1CbGFjayBndWliZz1MaWdodFllbGxvdworaGkgc0RhdGVfVGltZQl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPUdyZWVuIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9U2VhR3JlZW4gZ3VpYmc9V2hpdGUKK2hpIHNLZXl3b3JkCXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9Qmx1ZSAgY3Rlcm1iZz1CbGFjayBndWk9Tk9ORSBndWlmZz1CbHVlIGd1aWJnPVdoaXRlCitoaSBzRm10SW5mbXQJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1MaWdodEdyZWVuIGN0ZXJtYmc9QmxhY2sgZ3VpPU5PTkUgZ3VpZmc9U2VhR3JlZW4gZ3VpYmc9V2hpdGUKK2hpIHNTdHJpbmcJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1NYWdlbnRhIGN0ZXJtYmc9QmxhY2sgZ3VpPU5PTkUgZ3VpZmc9UHVycGxlIGd1aWJnPVdoaXRlCitoaSBzVGV4dAl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPVdoaXRlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9QmxhY2sgZ3VpYmc9V2hpdGUKK2hpIHNOdW1iZXIJdGVybT1OT05FIGN0ZXJtPWJvbGQgY3Rlcm1mZz1HcmVlbiBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPVNlYUdyZWVuIGd1aWJnPVdoaXRlCitoaSBzUHJvYwl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPUJsdWUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1OYXZ5IGd1aWJnPVdoaXRlCitoaSBzU2VjdGlvbgl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPUJsdWUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1OYXZ5IGd1aWJnPVdoaXRlCitoaSBtRGVmaW5lCXRlcm09Tk9ORSBjdGVybT1ib2xkIGN0ZXJtZmc9V2hpdGUgY3Rlcm1iZz1CbGFjayBndWk9Ym9sZCBndWlmZz1CbGFjayBndWliZz1XaGl0ZQoraGkgbUtleXdvcmQJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1CbHVlIGN0ZXJtYmc9QmxhY2sgZ3VpPU5PTkUgZ3VpZmc9Qmx1ZSBndWliZz1XaGl0ZQoraGkgbVJlZmVyZW5jZQl0ZXJtPU5PTkUgY3Rlcm09Ym9sZCBjdGVybWZnPVdoaXRlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9Qmx1ZSBndWliZz1XaGl0ZQoraGkgbVNlY3Rpb24JdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1CbHVlIGN0ZXJtYmc9QmxhY2sgZ3VpPWJvbGQgZ3VpZmc9TmF2eSBndWliZz1XaGl0ZQoraGkgbVRleHQJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1XaGl0ZSBjdGVybWJnPUJsYWNrIGd1aT1ib2xkIGd1aWZnPUJsYWNrIGd1aWJnPVdoaXRlCiAKICIgQ29sb3JzIHRoYXQgY2xvc2VseSBtYXRjaCBTQVMgbG9nIGNvbG9ycyBmb3IgZGVmYXVsdCBjb2xvciBzY2hlbWUKLQloaSBsRXJyb3IJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1SZWQgY3Rlcm1iZz1CbGFjayBndWk9bm9uZSBndWlmZz1SZWQgZ3VpYmc9V2hpdGUKLQloaSBsV2FybmluZwl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUdyZWVuIGN0ZXJtYmc9QmxhY2sgZ3VpPW5vbmUgZ3VpZmc9R3JlZW4gZ3VpYmc9V2hpdGUKLQloaSBsTm90ZQl0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBjdGVybWZnPUN5YW4gY3Rlcm1iZz1CbGFjayBndWk9bm9uZSBndWlmZz1CbHVlIGd1aWJnPVdoaXRlCitoaSBsRXJyb3IJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1SZWQgY3Rlcm1iZz1CbGFjayBndWk9bm9uZSBndWlmZz1SZWQgZ3VpYmc9V2hpdGUKK2hpIGxXYXJuaW5nCXRlcm09Tk9ORSBjdGVybT1OT05FIGN0ZXJtZmc9R3JlZW4gY3Rlcm1iZz1CbGFjayBndWk9bm9uZSBndWlmZz1HcmVlbiBndWliZz1XaGl0ZQoraGkgbE5vdGUJdGVybT1OT05FIGN0ZXJtPU5PTkUgY3Rlcm1mZz1DeWFuIGN0ZXJtYmc9QmxhY2sgZ3VpPW5vbmUgZ3VpZmc9Qmx1ZSBndWliZz1XaGl0ZQogCiAKLSAgICIgU3BlY2lhbCBoaWxpZ2h0aW5nIGZvciB0aGUgU0FTIHByb2Mgc2VjdGlvbgorIiBTcGVjaWFsIGhpbGlnaHRpbmcgZm9yIHRoZSBTQVMgcHJvYyBzZWN0aW9uCiAKLQlIaUxpbmsJc2FzQ29tbWVudAlzQ29tbWVudAotCUhpTGluawlzYXNDb25kaXRpb25hbAlzS2V5d29yZAotCUhpTGluawlzYXNTdGVwCQlzU2VjdGlvbgotCUhpTGluawlzYXNGdW5jdGlvbglzS2V5d29yZAotCUhpTGluawlzYXNNYWNybwltS2V5d29yZAotCUhpTGluawlzYXNNYWNyb1ZhcglOb25UZXh0Ci0JSGlMaW5rCXNhc051bWJlcglzTnVtYmVyCi0JSGlMaW5rCXNhc1N0YXRlbWVudAlzS2V5d29yZAotCUhpTGluawlzYXNTdHJpbmcJc1N0cmluZwotCUhpTGluawlzYXNQcm9jCQlzUHJvYwotICAgIiAoQm9iIEhlY2tlbCkKLQlIaUxpbmsJc2FzVG9kbwkJVG9kbwotCUhpTGluawlzYXNFcnJNc2cJbEVycm9yCi0JSGlMaW5rCXNhc1dhcm5Nc2cJbFdhcm5pbmcKLQlIaUxpbmsJc2FzTG9nTXNnCWxOb3RlCi0JSGlMaW5rCXNhc0NhcmRzCXNDYXJkCi0gICIgKEJvYiBIZWNrZWwpCi0JSGlMaW5rCXNhc1VuZGVyc2NvcmUJUHJlUHJvYwotCWRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorSGlMaW5rCXNhc0NvbW1lbnQJc0NvbW1lbnQKK0hpTGluawlzYXNDb25kaXRpb25hbAlzS2V5d29yZAorSGlMaW5rCXNhc1N0ZXAJCXNTZWN0aW9uCitIaUxpbmsJc2FzRnVuY3Rpb24Jc0tleXdvcmQKK0hpTGluawlzYXNNYWNybwltS2V5d29yZAorSGlMaW5rCXNhc01hY3JvVmFyCU5vblRleHQKK0hpTGluawlzYXNOdW1iZXIJc051bWJlcgorSGlMaW5rCXNhc1N0YXRlbWVudAlzS2V5d29yZAorSGlMaW5rCXNhc1N0cmluZwlzU3RyaW5nCitIaUxpbmsJc2FzUHJvYwkJc1Byb2MKKyIgKEJvYiBIZWNrZWwpCitIaUxpbmsJc2FzVG9kbwkJVG9kbworSGlMaW5rCXNhc0Vyck1zZwlsRXJyb3IKK0hpTGluawlzYXNXYXJuTXNnCWxXYXJuaW5nCitIaUxpbmsJc2FzTG9nTXNnCWxOb3RlCitIaUxpbmsJc2FzQ2FyZHMJc0NhcmQKKyIgKEJvYiBIZWNrZWwpCitIaUxpbmsJc2FzVW5kZXJzY29yZQlQcmVQcm9jCitkZWxjb21tYW5kIEhpTGluawogCiAiIFN5bmNyb25pemUgZnJvbSBiZWdpbm5pbmcgdG8ga2VlcCBsYXJnZSBibG9ja3MgZnJvbSBsb3NpbmcKICIgc3ludGF4IGNvbG9yaW5nIHdoaWxlIG1vdmluZyB0aHJvdWdoIGNvZGUuCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zYXNzLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Nhc3MudmltCmluZGV4IDJlYTA3MjIuLmQwNzVjODcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Nhc3MudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Nhc3MudmltCkBAIC0yLDcgKzIsNyBAQAogIiBMYW5ndWFnZToJU2FzcwogIiBNYWludGFpbmVyOglUaW0gUG9wZSA8dmltTk9TUEFNQHRwb3BlLm9yZz4KICIgRmlsZW5hbWVzOgkqLnNhc3MKLSIgTGFzdCBDaGFuZ2U6CTIwMTMgTWF5IDMwCisiIExhc3QgQ2hhbmdlOgkyMDE2IEF1ZyAyOQogCiBpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKQEAgLTEzLDcgKzEzLDcgQEAKIHN5biBjYXNlIGlnbm9yZQogCiBzeW4gY2x1c3RlciBzYXNzQ3NzUHJvcGVydGllcyBjb250YWlucz1jc3NGb250UHJvcCxjc3NGb250RGVzY3JpcHRvclByb3AsY3NzQ29sb3JQcm9wLGNzc1RleHRQcm9wLGNzc0JveFByb3AsY3NzR2VuZXJhdGVkQ29udGVudFByb3AsY3NzUGFnaW5nUHJvcCxjc3NVSVByb3AsY3NzUmVuZGVyUHJvcCxjc3NBdXJhbFByb3AsY3NzVGFibGVQcm9wCi1zeW4gY2x1c3RlciBzYXNzQ3NzQXR0cmlidXRlcyBjb250YWlucz1jc3MuKkF0dHIsc2Nzc0NvbW1lbnQsY3NzVmFsdWUuKixjc3NDb2xvcixjc3NVUkwsc2Fzc0RlZmF1bHQsY3NzSW1wb3J0YW50LGNzc0Vycm9yLGNzc1N0cmluZ1EsY3NzU3RyaW5nUVEsY3NzRnVuY3Rpb24sY3NzVW5pY29kZUVzY2FwZSxjc3NSZW5kZXJQcm9wCitzeW4gY2x1c3RlciBzYXNzQ3NzQXR0cmlidXRlcyBjb250YWlucz1jc3MuKkF0dHIsc2Fzc0VuZE9mTGluZUNvbW1lbnQsc2Nzc0NvbW1lbnQsY3NzVmFsdWUuKixjc3NDb2xvcixjc3NVUkwsc2Fzc0RlZmF1bHQsY3NzSW1wb3J0YW50LGNzc0Vycm9yLGNzc1N0cmluZ1EsY3NzU3RyaW5nUVEsY3NzRnVuY3Rpb24sY3NzVW5pY29kZUVzY2FwZSxjc3NSZW5kZXJQcm9wCiAKIHN5biByZWdpb24gc2Fzc0RlZmluaXRpb24gbWF0Y2hncm91cD1jc3NCcmFjZXMgc3RhcnQ9InsiIGVuZD0ifSIgY29udGFpbnM9VE9QCiAKQEAgLTU4LDYgKzU4LDkgQEAKICIgVE9ETzogQXR0cmlidXRlIG5hbWVzcGFjZXMKICIgVE9ETzogQXJpdGhtZXRpYyAoaW5jbHVkaW5nIHN0cmluZ3MgYW5kIGNvbmNhdGVuYXRpb24pCiAKK3N5biByZWdpb24gc2Fzc01lZGlhUXVlcnkgbWF0Y2hncm91cD1zYXNzTWVkaWEgc3RhcnQ9IkBtZWRpYSIgZW5kPSJbe307XVxAPVx8JCIgY29udGFpbnM9c2Fzc01lZGlhT3BlcmF0b3JzCitzeW4ga2V5d29yZCBzYXNzTWVkaWFPcGVyYXRvcnMgYW5kIG5vdCBvbmx5IGNvbnRhaW5lZAorc3luIHJlZ2lvbiBzYXNzQ2hhcnNldCBzdGFydD0iQGNoYXJzZXQiIGVuZD0iO1x8JCIgY29udGFpbnM9c2Nzc0NvbW1lbnQsY3NzU3RyaW5nUSxjc3NTdHJpbmdRUSxjc3NVUkwsY3NzVW5pY29kZUVzY2FwZSxjc3NNZWRpYVR5cGUKIHN5biByZWdpb24gc2Fzc0luY2x1ZGUgc3RhcnQ9IkBpbXBvcnQiIGVuZD0iO1x8JCIgY29udGFpbnM9c2Nzc0NvbW1lbnQsY3NzU3RyaW5nUSxjc3NTdHJpbmdRUSxjc3NVUkwsY3NzVW5pY29kZUVzY2FwZSxjc3NNZWRpYVR5cGUKIHN5biByZWdpb24gc2Fzc0RlYnVnTGluZSBlbmQ9IjtcfCQiIG1hdGNoZ3JvdXA9c2Fzc0RlYnVnIHN0YXJ0PSJAZGVidWdcPiIgY29udGFpbnM9QHNhc3NDc3NBdHRyaWJ1dGVzLHNhc3NWYXJpYWJsZSxzYXNzRnVuY3Rpb24KIHN5biByZWdpb24gc2Fzc1dhcm5MaW5lIGVuZD0iO1x8JCIgbWF0Y2hncm91cD1zYXNzV2FybiBzdGFydD0iQHdhcm5cPiIgY29udGFpbnM9QHNhc3NDc3NBdHRyaWJ1dGVzLHNhc3NWYXJpYWJsZSxzYXNzRnVuY3Rpb24KQEAgLTY3LDcgKzcwLDkgQEAKIHN5biBrZXl3b3JkIHNhc3NUb2RvICAgICAgICBGSVhNRSBOT1RFIFRPRE8gT1BUSU1JWkUgWFhYIGNvbnRhaW5lZAogc3luIHJlZ2lvbiAgc2Fzc0NvbW1lbnQgICAgIHN0YXJ0PSJeXHooXHMqXCkvLyIgIGVuZD0iXlwlKFx6MSBcKVxAISIgY29udGFpbnM9c2Fzc1RvZG8sQFNwZWxsCiBzeW4gcmVnaW9uICBzYXNzQ3NzQ29tbWVudCAgc3RhcnQ9Il5ceihccypcKS9cKiIgZW5kPSJeXCUoXHoxIFwpXEAhIiBjb250YWlucz1zYXNzVG9kbyxAU3BlbGwKK3N5biBtYXRjaCAgIHNhc3NFbmRPZkxpbmVDb21tZW50ICIvLy4qIiBjb250YWlucz1zYXNzQ29tbWVudCxzYXNzVG9kbyxAU3BlbGwKIAoraGkgZGVmIGxpbmsgc2Fzc0VuZE9mTGluZUNvbW1lbnQgICAgICAgIHNhc3NDb21tZW50CiBoaSBkZWYgbGluayBzYXNzQ3NzQ29tbWVudCAgICAgICAgICAgICAgc2Fzc0NvbW1lbnQKIGhpIGRlZiBsaW5rIHNhc3NDb21tZW50ICAgICAgICAgICAgICAgICBDb21tZW50CiBoaSBkZWYgbGluayBzYXNzRGVmYXVsdCAgICAgICAgICAgICAgICAgY3NzSW1wb3J0YW50CkBAIC04MCw2ICs4NSw5IEBACiBoaSBkZWYgbGluayBzYXNzRnVuY3Rpb25EZWNsICAgICAgICAgICAgUHJlUHJvYwogaGkgZGVmIGxpbmsgc2Fzc1JldHVybiAgICAgICAgICAgICAgICAgIFByZVByb2MKIGhpIGRlZiBsaW5rIHNhc3NUb2RvICAgICAgICAgICAgICAgICAgICBUb2RvCitoaSBkZWYgbGluayBzYXNzQ2hhcnNldCAgICAgICAgICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgc2Fzc01lZGlhICAgICAgICAgICAgICAgICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIHNhc3NNZWRpYU9wZXJhdG9ycyAgICAgICAgICBQcmVQcm9jCiBoaSBkZWYgbGluayBzYXNzSW5jbHVkZSAgICAgICAgICAgICAgICAgSW5jbHVkZQogaGkgZGVmIGxpbmsgc2Fzc0RlYnVnICAgICAgICAgICAgICAgICAgIHNhc3NDb250cm9sCiBoaSBkZWYgbGluayBzYXNzV2FybiAgICAgICAgICAgICAgICAgICAgc2Fzc0NvbnRyb2wKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NhdGhlci52aW0gYi9ydW50aW1lL3N5bnRheC9zYXRoZXIudmltCmluZGV4IDc1OTU5MWIuLjFiODRlZDggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NhdGhlci52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc2F0aGVyLnZpbQpAQCAtOSwxMSArOSw4IEBACiAiIEhvbWVwYWdlOiBodHRwOi8vd3d3Lmljc2kuYmVya2VsZXkuZWR1L35zYXRoZXIKICIgU2F0aGVyIGZpbGVzIHVzZSAuc2EgYXMgc3VmZml4CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC02MSw0NCArNTgsMzYgQEAKIHN5biBzeW5jIGNjb21tZW50IHNhdGhlckNvbW1lbnQKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2F0aGVyX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3NhdGhlcl9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHNhdGhlckJyYW5jaAkJc2F0aGVyU3RhdGVtZW50Ci0gIEhpTGluayBzYXRoZXJMYWJlbAkJc2F0aGVyU3RhdGVtZW50Ci0gIEhpTGluayBzYXRoZXJDb25kaXRpb25hbAlzYXRoZXJTdGF0ZW1lbnQKLSAgSGlMaW5rIHNhdGhlclN5bmNocm9uaXplCXNhdGhlclN0YXRlbWVudAotICBIaUxpbmsgc2F0aGVyUmVwZWF0CQlzYXRoZXJTdGF0ZW1lbnQKLSAgSGlMaW5rIHNhdGhlckV4Y2VwdGlvbnMJc2F0aGVyU3RhdGVtZW50Ci0gIEhpTGluayBzYXRoZXJTdG9yYWdlQ2xhc3MJc2F0aGVyRGVjbGFyYXRpdmUKLSAgSGlMaW5rIHNhdGhlck1ldGhvZERlY2wJc2F0aGVyRGVjbGFyYXRpdmUKLSAgSGlMaW5rIHNhdGhlckNsYXNzRGVjbAlzYXRoZXJEZWNsYXJhdGl2ZQotICBIaUxpbmsgc2F0aGVyU2NvcGVEZWNsCXNhdGhlckRlY2xhcmF0aXZlCi0gIEhpTGluayBzYXRoZXJCb29sVmFsdWUJc2F0aGVyVmFsdWUKLSAgSGlMaW5rIHNhdGhlclNwZWNpYWwJCXNhdGhlclZhbHVlCi0gIEhpTGluayBzYXRoZXJTdHJpbmcJCXNhdGhlclZhbHVlCi0gIEhpTGluayBzYXRoZXJDaGFyYWN0ZXIJc2F0aGVyVmFsdWUKLSAgSGlMaW5rIHNhdGhlclNwZWNpYWxDaGFyYWN0ZXIgc2F0aGVyVmFsdWUKLSAgSGlMaW5rIHNhdGhlck51bWJlcgkJc2F0aGVyVmFsdWUKLSAgSGlMaW5rIHNhdGhlclN0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIHNhdGhlck9wZXJhdG9yCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHNhdGhlckNvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIHNhdGhlclR5cGUJCVR5cGUKLSAgSGlMaW5rIHNhdGhlclZhbHVlCQlTdHJpbmcKLSAgSGlMaW5rIHNhdGhlclN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBzYXRoZXJTcGVjaWFsCQlTdHJpbmcKLSAgSGlMaW5rIHNhdGhlckNoYXJhY3RlcglTdHJpbmcKLSAgSGlMaW5rIHNhdGhlckRlY2xhcmF0aXZlCVR5cGUKLSAgSGlMaW5rIHNhdGhlckV4dGVybmFsCQlQcmVDb25kaXQKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitIaUxpbmsgc2F0aGVyQnJhbmNoCQlzYXRoZXJTdGF0ZW1lbnQKK0hpTGluayBzYXRoZXJMYWJlbAkJc2F0aGVyU3RhdGVtZW50CitIaUxpbmsgc2F0aGVyQ29uZGl0aW9uYWwJc2F0aGVyU3RhdGVtZW50CitIaUxpbmsgc2F0aGVyU3luY2hyb25pemUJc2F0aGVyU3RhdGVtZW50CitIaUxpbmsgc2F0aGVyUmVwZWF0CQlzYXRoZXJTdGF0ZW1lbnQKK0hpTGluayBzYXRoZXJFeGNlcHRpb25zCXNhdGhlclN0YXRlbWVudAorSGlMaW5rIHNhdGhlclN0b3JhZ2VDbGFzcwlzYXRoZXJEZWNsYXJhdGl2ZQorSGlMaW5rIHNhdGhlck1ldGhvZERlY2wJc2F0aGVyRGVjbGFyYXRpdmUKK0hpTGluayBzYXRoZXJDbGFzc0RlY2wJc2F0aGVyRGVjbGFyYXRpdmUKK0hpTGluayBzYXRoZXJTY29wZURlY2wJc2F0aGVyRGVjbGFyYXRpdmUKK0hpTGluayBzYXRoZXJCb29sVmFsdWUJc2F0aGVyVmFsdWUKK0hpTGluayBzYXRoZXJTcGVjaWFsCQlzYXRoZXJWYWx1ZQorSGlMaW5rIHNhdGhlclN0cmluZwkJc2F0aGVyVmFsdWUKK0hpTGluayBzYXRoZXJDaGFyYWN0ZXIJc2F0aGVyVmFsdWUKK0hpTGluayBzYXRoZXJTcGVjaWFsQ2hhcmFjdGVyIHNhdGhlclZhbHVlCitIaUxpbmsgc2F0aGVyTnVtYmVyCQlzYXRoZXJWYWx1ZQorSGlMaW5rIHNhdGhlclN0YXRlbWVudAlTdGF0ZW1lbnQKK0hpTGluayBzYXRoZXJPcGVyYXRvcgkJU3RhdGVtZW50CitIaUxpbmsgc2F0aGVyQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIHNhdGhlclR5cGUJCVR5cGUKK0hpTGluayBzYXRoZXJWYWx1ZQkJU3RyaW5nCitIaUxpbmsgc2F0aGVyU3RyaW5nCQlTdHJpbmcKK0hpTGluayBzYXRoZXJTcGVjaWFsCQlTdHJpbmcKK0hpTGluayBzYXRoZXJDaGFyYWN0ZXIJU3RyaW5nCitIaUxpbmsgc2F0aGVyRGVjbGFyYXRpdmUJVHlwZQorSGlMaW5rIHNhdGhlckV4dGVybmFsCQlQcmVDb25kaXQKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNhdGhlciIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2NhbGEudmltIGIvcnVudGltZS9zeW50YXgvc2NhbGEudmltCmluZGV4IGIwNGFmM2IuLjc3NzljNDMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NjYWxhLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zY2FsYS52aW0KQEAgLTcsOSArNyw4IEBACiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogaWYgIWV4aXN0cygnbWFpbl9zeW50YXgnKQotICBpZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3ludGF4IGNsZWFyCi0gIGVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAorICBpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgIGZpbmlzaAogICBlbmRpZgogICBsZXQgbWFpbl9zeW50YXggPSAnc2NhbGEnCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zY2hlbWUudmltIGIvcnVudGltZS9zeW50YXgvc2NoZW1lLnZpbQppbmRleCBjNTllMDljLi5hYzUwZWFkIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zY2hlbWUudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NjaGVtZS52aW0KQEAgLTE0LDExICsxNCw4IEBACiAKICIgSW5pdGlhbGl6aW5nOgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNjQsMTEgKzYxLDcgQEAKIAogIiBSNVJTIFNjaGVtZSBGdW5jdGlvbnMgYW5kIFN5bnRheDoKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzZXQgaXNrZXl3b3JkPTMzLDM1LTM5LDQyLTU4LDYwLTkwLDk0LDk1LDk3LTEyMiwxMjYsXwotZWxzZQotICBzZXRsb2NhbCBpc2tleXdvcmQ9MzMsMzUtMzksNDItNTgsNjAtOTAsOTQsOTUsOTctMTIyLDEyNixfCi1lbmRpZgorc2V0bG9jYWwgaXNrZXl3b3JkPTMzLDM1LTM5LDQyLTU4LDYwLTkwLDk0LDk1LDk3LTEyMiwxMjYsXwogCiBzeW4ga2V5d29yZCBzY2hlbWVTeW50YXggbGFtYmRhIGFuZCBvciBpZiBjb25kIGNhc2UgZGVmaW5lIGxldCBsZXQqIGxldHJlYwogc3luIGtleXdvcmQgc2NoZW1lU3ludGF4IGJlZ2luIGRvIGRlbGF5IHNldCEgZWxzZSA9PgpAQCAtMzA2LDM4ICsyOTksMzAgQEAKICIgLi4uIGkuZS4gc3luY2hyb25pemUgb24gYSBsaW5lIHRoYXQgc3RhcnRzIGF0IHRoZSBsZWZ0IG1hcmdpbgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zY2hlbWVfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfc2NoZW1lX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc2NoZW1lU3ludGF4CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHNjaGVtZUZ1bmMJCUZ1bmN0aW9uCitIaUxpbmsgc2NoZW1lU3ludGF4CQlTdGF0ZW1lbnQKK0hpTGluayBzY2hlbWVGdW5jCQlGdW5jdGlvbgogCi0gIEhpTGluayBzY2hlbWVTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgc2NoZW1lQ2hhcmFjdGVyCUNoYXJhY3RlcgotICBIaUxpbmsgc2NoZW1lTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIHNjaGVtZUJvb2xlYW4JCUJvb2xlYW4KK0hpTGluayBzY2hlbWVTdHJpbmcJCVN0cmluZworSGlMaW5rIHNjaGVtZUNoYXJhY3RlcglDaGFyYWN0ZXIKK0hpTGluayBzY2hlbWVOdW1iZXIJCU51bWJlcgorSGlMaW5rIHNjaGVtZUJvb2xlYW4JCUJvb2xlYW4KIAotICBIaUxpbmsgc2NoZW1lRGVsaW1pdGVyCURlbGltaXRlcgotICBIaUxpbmsgc2NoZW1lQ29uc3RhbnQJCUNvbnN0YW50CitIaUxpbmsgc2NoZW1lRGVsaW1pdGVyCURlbGltaXRlcgorSGlMaW5rIHNjaGVtZUNvbnN0YW50CQlDb25zdGFudAogCi0gIEhpTGluayBzY2hlbWVDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBzY2hlbWVNdWx0aWxpbmVDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIHNjaGVtZUVycm9yCQlFcnJvcgorSGlMaW5rIHNjaGVtZUNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBzY2hlbWVNdWx0aWxpbmVDb21tZW50CUNvbW1lbnQKK0hpTGluayBzY2hlbWVFcnJvcgkJRXJyb3IKIAotICBIaUxpbmsgc2NoZW1lRXh0U3ludGF4CVR5cGUKLSAgSGlMaW5rIHNjaGVtZUV4dEZ1bmMJCVByZVByb2MKK0hpTGluayBzY2hlbWVFeHRTeW50YXgJVHlwZQorSGlMaW5rIHNjaGVtZUV4dEZ1bmMJCVByZVByb2MKIAotICBIaUxpbmsgc2NoZW1lTGFuZwkJUHJlUHJvYworSGlMaW5rIHNjaGVtZUxhbmcJCVByZVByb2MKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNjaGVtZSIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2NpbGFiLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NjaWxhYi52aW0KaW5kZXggMWJmYzAwMy4uYmVlNDAwNyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2NpbGFiLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zY2lsYWIudmltCkBAIC05LDExICs5LDggQEAKICIKIAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNjYsNDkgKzYzLDQxIEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2NpbGFiX3N5bnRheF9pbml0cyIpCi0JaWYgdmVyc2lvbiA8IDUwOAotCQlsZXQgZGlkX3NjaWxhYl9zeW50YXhfaW5pdHMgPSAxCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0JZWxzZQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLQllbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLQlIaUxpbmsJc2NpbGFiU3RhdGVtZW50CQkJCVN0YXRlbWVudAotCUhpTGluawlzY2lsYWJGdW5jdGlvbgkJCQlLZXl3b3JkCi0JSGlMaW5rCXNjaWxhYlByZWRpY2F0ZQkJCQlLZXl3b3JkCi0JSGlMaW5rCXNjaWxhYktleXdvcmQJCQkJS2V5d29yZAotCUhpTGluawlzY2lsYWJEZWJ1ZwkJCQkJRGVidWcKLQlIaUxpbmsJc2NpbGFiUmVwZWF0CQkJCVJlcGVhdAotCUhpTGluawlzY2lsYWJDb25kaXRpb25hbAkJCUNvbmRpdGlvbmFsCi0JSGlMaW5rCXNjaWxhYk11bHRpcGxleAkJCQlDb25kaXRpb25hbAorSGlMaW5rCXNjaWxhYlN0YXRlbWVudAkJCQlTdGF0ZW1lbnQKK0hpTGluawlzY2lsYWJGdW5jdGlvbgkJCQlLZXl3b3JkCitIaUxpbmsJc2NpbGFiUHJlZGljYXRlCQkJCUtleXdvcmQKK0hpTGluawlzY2lsYWJLZXl3b3JkCQkJCUtleXdvcmQKK0hpTGluawlzY2lsYWJEZWJ1ZwkJCQkJRGVidWcKK0hpTGluawlzY2lsYWJSZXBlYXQJCQkJUmVwZWF0CitIaUxpbmsJc2NpbGFiQ29uZGl0aW9uYWwJCQlDb25kaXRpb25hbAorSGlMaW5rCXNjaWxhYk11bHRpcGxleAkJCQlDb25kaXRpb25hbAogCi0JSGlMaW5rCXNjaWxhYkNvbnN0YW50CQkJCUNvbnN0YW50Ci0JSGlMaW5rCXNjaWxhYkJvb2xlYW4JCQkJQm9vbGVhbgorSGlMaW5rCXNjaWxhYkNvbnN0YW50CQkJCUNvbnN0YW50CitIaUxpbmsJc2NpbGFiQm9vbGVhbgkJCQlCb29sZWFuCiAKLQlIaUxpbmsJc2NpbGFiRGVsaW1pdGVyCQkJCURlbGltaXRlcgotCUhpTGluawlzY2lsYWJNbGlzdEFjY2VzcwkJCURlbGltaXRlcgotCUhpTGluawlzY2lsYWJDb21wYXJpc29uCQkJT3BlcmF0b3IKLQlIaUxpbmsJc2NpbGFiTG9naWNhbAkJCQlPcGVyYXRvcgotCUhpTGluawlzY2lsYWJBc3NpZ25tZW50CQkJT3BlcmF0b3IKLQlIaUxpbmsJc2NpbGFiQXJpdGhtZXRpYwkJCU9wZXJhdG9yCi0JSGlMaW5rCXNjaWxhYlJhbmdlCQkJCQlPcGVyYXRvcgotCUhpTGluawlzY2lsYWJMaW5lQ29udGludWF0aW9uCQlVbmRlcmxpbmVkCi0JSGlMaW5rCXNjaWxhYlRyYW5zcG9zaXRpb24JCQlPcGVyYXRvcgorSGlMaW5rCXNjaWxhYkRlbGltaXRlcgkJCQlEZWxpbWl0ZXIKK0hpTGluawlzY2lsYWJNbGlzdEFjY2VzcwkJCURlbGltaXRlcgorSGlMaW5rCXNjaWxhYkNvbXBhcmlzb24JCQlPcGVyYXRvcgorSGlMaW5rCXNjaWxhYkxvZ2ljYWwJCQkJT3BlcmF0b3IKK0hpTGluawlzY2lsYWJBc3NpZ25tZW50CQkJT3BlcmF0b3IKK0hpTGluawlzY2lsYWJBcml0aG1ldGljCQkJT3BlcmF0b3IKK0hpTGluawlzY2lsYWJSYW5nZQkJCQkJT3BlcmF0b3IKK0hpTGluawlzY2lsYWJMaW5lQ29udGludWF0aW9uCQlVbmRlcmxpbmVkCitIaUxpbmsJc2NpbGFiVHJhbnNwb3NpdGlvbgkJCU9wZXJhdG9yCiAKLQlIaUxpbmsJc2NpbGFiVG9kbwkJCQkJVG9kbwotCUhpTGluawlzY2lsYWJDb21tZW50CQkJCUNvbW1lbnQKK0hpTGluawlzY2lsYWJUb2RvCQkJCQlUb2RvCitIaUxpbmsJc2NpbGFiQ29tbWVudAkJCQlDb21tZW50CiAKLQlIaUxpbmsJc2NpbGFiTnVtYmVyCQkJCU51bWJlcgotCUhpTGluawlzY2lsYWJTdHJpbmcJCQkJU3RyaW5nCitIaUxpbmsJc2NpbGFiTnVtYmVyCQkJCU51bWJlcgorSGlMaW5rCXNjaWxhYlN0cmluZwkJCQlTdHJpbmcKIAotCUhpTGluawlzY2lsYWJJZGVudGlmaWVyCQkJSWRlbnRpZmllcgotCUhpTGluawlzY2lsYWJPdmVybG9hZAkJCQlTcGVjaWFsCitIaUxpbmsJc2NpbGFiSWRlbnRpZmllcgkJCUlkZW50aWZpZXIKK0hpTGluawlzY2lsYWJPdmVybG9hZAkJCQlTcGVjaWFsCiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNjaWxhYiIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2QudmltIGIvcnVudGltZS9zeW50YXgvc2QudmltCmluZGV4IDdmYTBlMDQuLjAxNWMxZjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NkLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zZC52aW0KQEAgLTUsOSArNSw4IEBACiAiIFVSTDogaHR0cDovL25ldHN0dWRlbnQucG9saXRvLml0L3ZpbV9zeW50YXgvCiAiIExhc3QgQ2hhbmdlOiAyMDEyIEZlYiAwMyBieSBUaGlsbyBTaXgKIAotaWYgdmVyc2lvbiA8IDYwMAotICAgICAgICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICAgICAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTEsMjkgKzUwLDIyIEBACiBzeW4ga2V5d29yZCBzZERlbGltaXRlciBTVFJFQU0gU1RSRUFNX0VORAogc3luIG1hdGNoIHNkRXJyb3IgL15zZWFyY2ggLlx7MjU3LH0vCiAKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jb25maWdfc3ludGF4X2luaXRzIikKLSAgICAgICAgaWYgdmVyc2lvbiA8IDUwOAotICAgICAgICAgICAgICAgIGxldCBkaWRfY29uZmlnX3N5bnRheF9pbml0cyA9IDEKLSAgICAgICAgICAgICAgICBjb21tYW5kISAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGNvbW1hbmQhIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgICAgICAgZW5kaWYKK2NvbW1hbmQhIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAgICAgICBIaUxpbmsgc2RJUCBOdW1iZXIKLQkJICBIaUxpbmsgc2RIb3N0bmFtZSBUeXBlCi0gICAgICAgIEhpTGluayBzZEVuY29kaW5nIElkZW50aWZpZXIKLSAgICAgICAgSGlMaW5rIHNkQ29kaW5nIElkZW50aWZpZXIKLSAgICAgICAgSGlMaW5rIHNkU291cmNlIElkZW50aWZpZXIKLSAgICAgICAgSGlMaW5rIHNkQ29tbWVudCBDb21tZW50Ci0gICAgICAgIEhpTGluayBzZElQRXJyb3IgRXJyb3IKLSAgICAgICAgSGlMaW5rIHNkRXJyb3IgRXJyb3IKLSAgICAgICAgSGlMaW5rIHNkU3RhdGVtZW50IFN0YXRlbWVudAotICAgICAgICBIaUxpbmsgc2RJUFNwZWNpYWwgU3BlY2lhbAotICAgICAgICBIaUxpbmsgc2RTcGVjaWFsIFNwZWNpYWwKLQkJICBIaUxpbmsgc2REZWxpbWl0ZXIgRGVsaW1pdGVyCitIaUxpbmsgc2RJUCBOdW1iZXIKK0hpTGluayBzZEhvc3RuYW1lIFR5cGUKK0hpTGluayBzZEVuY29kaW5nIElkZW50aWZpZXIKK0hpTGluayBzZENvZGluZyBJZGVudGlmaWVyCitIaUxpbmsgc2RTb3VyY2UgSWRlbnRpZmllcgorSGlMaW5rIHNkQ29tbWVudCBDb21tZW50CitIaUxpbmsgc2RJUEVycm9yIEVycm9yCitIaUxpbmsgc2RFcnJvciBFcnJvcgorSGlMaW5rIHNkU3RhdGVtZW50IFN0YXRlbWVudAorSGlMaW5rIHNkSVBTcGVjaWFsIFNwZWNpYWwKK0hpTGluayBzZFNwZWNpYWwgU3BlY2lhbAorSGlMaW5rIHNkRGVsaW1pdGVyIERlbGltaXRlcgogCi0gICAgICAgIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2QiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NkbC52aW0gYi9ydW50aW1lL3N5bnRheC9zZGwudmltCmluZGV4IGI1MjRiNzIuLjUxMDg2ZGEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NkbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc2RsLnZpbQpAQCAtMywxMSArMyw4IEBACiAiIE1haW50YWluZXI6CU1pY2hhZWwgUGllZmVsIDxlbnR3dXJmQHBpZWZlbC5kZT4KICIgTGFzdCBDaGFuZ2U6CTIgTWF5IDIwMDEKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMjksMzggKzEyNiwyOSBAQAogc3luIHN5bmMgY2NvbW1lbnQgc2RsQ29tbWVudAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zZGxfc3luX2luaXRzIikKLSAgICBpZiB2ZXJzaW9uIDwgNTA4Ci0JbGV0IGRpZF9zZGxfc3luX2luaXRzID0gMQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0JY29tbWFuZCAtbmFyZ3M9KyBIaSAgICAgaGkgPGFyZ3M+Ci0gICAgZWxzZQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotCWNvbW1hbmQgLW5hcmdzPSsgSGkgICAgIGhpIGRlZiA8YXJncz4KLSAgICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Citjb21tYW5kIC1uYXJncz0rIEhpICAgICBoaSBkZWYgPGFyZ3M+CiAKLSAgICBIaUxpbmsgIHNkbEV4Y2VwdGlvbglMYWJlbAotICAgIEhpTGluayAgc2RsQ29uZGl0aW9uYWwJc2RsU3RhdGVtZW50Ci0gICAgSGlMaW5rICBzZGxWaXJ0dWFsCQlzZGxTdGF0ZW1lbnQKLSAgICBIaUxpbmsgIHNkbEV4cG9ydGVkCQlzZGxGbGFnCi0gICAgSGlMaW5rICBzZGxDb21tZW50RXJyb3IJc2RsRXJyb3IKLSAgICBIaUxpbmsgIHNkbE9wZXJhdG9yCQlPcGVyYXRvcgotICAgIEhpTGluayAgc2RsU3RydWN0dXJlCXNkbFR5cGUKLSAgICBIaQkgICAgc2RsU3RhdGVtZW50CXRlcm09Ym9sZCBjdGVybWZnPTQgZ3VpZmc9Qmx1ZQotICAgIEhpCSAgICBzZGxGbGFnCQl0ZXJtPWJvbGQgY3Rlcm1mZz00IGd1aWZnPUJsdWUgZ3VpPWl0YWxpYwotICAgIEhpCSAgICBzZGxOZXdTdGF0ZQkJdGVybT1pdGFsaWMgY3Rlcm1mZz0yIGd1aWZnPU1hZ2VudGEgZ3VpPXVuZGVybGluZQotICAgIEhpCSAgICBzZGxJbnB1dAkJdGVybT1ib2xkIGd1aWZnPVJlZAotICAgIEhpTGluayAgc2RsVHlwZQkJVHlwZQotICAgIEhpTGluayAgc2RsU3RyaW5nCQlTdHJpbmcKLSAgICBIaUxpbmsgIHNkbENvbW1lbnQJCUNvbW1lbnQKLSAgICBIaUxpbmsgIHNkbFNwZWNpYWwJCVNwZWNpYWwKLSAgICBIaUxpbmsgIHNkbEVycm9yCQlFcnJvcgorSGlMaW5rICBzZGxFeGNlcHRpb24JTGFiZWwKK0hpTGluayAgc2RsQ29uZGl0aW9uYWwJc2RsU3RhdGVtZW50CitIaUxpbmsgIHNkbFZpcnR1YWwJCXNkbFN0YXRlbWVudAorSGlMaW5rICBzZGxFeHBvcnRlZAkJc2RsRmxhZworSGlMaW5rICBzZGxDb21tZW50RXJyb3IJc2RsRXJyb3IKK0hpTGluayAgc2RsT3BlcmF0b3IJCU9wZXJhdG9yCitIaUxpbmsgIHNkbFN0cnVjdHVyZQlzZGxUeXBlCitIaQkgICAgc2RsU3RhdGVtZW50CXRlcm09Ym9sZCBjdGVybWZnPTQgZ3VpZmc9Qmx1ZQorSGkJICAgIHNkbEZsYWcJCXRlcm09Ym9sZCBjdGVybWZnPTQgZ3VpZmc9Qmx1ZSBndWk9aXRhbGljCitIaQkgICAgc2RsTmV3U3RhdGUJCXRlcm09aXRhbGljIGN0ZXJtZmc9MiBndWlmZz1NYWdlbnRhIGd1aT11bmRlcmxpbmUKK0hpCSAgICBzZGxJbnB1dAkJdGVybT1ib2xkIGd1aWZnPVJlZAorSGlMaW5rICBzZGxUeXBlCQlUeXBlCitIaUxpbmsgIHNkbFN0cmluZwkJU3RyaW5nCitIaUxpbmsgIHNkbENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayAgc2RsU3BlY2lhbAkJU3BlY2lhbAorSGlMaW5rICBzZGxFcnJvcgkJRXJyb3IKIAotICAgIGRlbGNvbW1hbmQgSGlMaW5rCi0gICAgZGVsY29tbWFuZCBIaQotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCitkZWxjb21tYW5kIEhpCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNkbCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2VkLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NlZC52aW0KaW5kZXggNDJhZDZkOC4uMTNlMDE2NSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2VkLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zZWQudmltCkBAIC00LDExICs0LDggQEAKICIgVVJMOgkJaHR0cDovL2ZvbGsudWlvLm5vL2hha29ucmsvdmltL3N5bnRheC9zZWQudmltCiAiIExhc3QgQ2hhbmdlOgkyMDEwIE1heSAyOQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5biBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKIGVuZGlmCiAKQEAgLTc1LDQ1ICs3MiwzOCBAQAogIiAoeSkgZG9lcyBub3QgYWxsb3cgYW55IGZsYWdzLiAgVG8gc2F2ZSBtZW1vcnksIEkgaWdub3JlIHRoaXMgcHJvYmxlbS4KIHN5biBtYXRjaCBzZWRTVAkiW3N5XSIgbmV4dGdyb3VwPXNlZFJlZ2V4cFxkXCsKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NlZF9zeW50YXhfaW5pdHMiKQotICAgIGlmIHZlcnNpb24gPCA1MDgKLQlsZXQgZGlkX3NlZF9zeW50YXhfaW5pdHMgPSAxCi0JY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgICBlbHNlCi0JY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gICAgZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gICAgSGlMaW5rIHNlZEFkZHJlc3MJCU1hY3JvCi0gICAgSGlMaW5rIHNlZEFDSQkJTk9ORQotICAgIEhpTGluayBzZWRCcmFuY2gJCUxhYmVsCi0gICAgSGlMaW5rIHNlZENvbW1lbnQJCUNvbW1lbnQKLSAgICBIaUxpbmsgc2VkRGVsZXRlCQlGdW5jdGlvbgotICAgIEhpTGluayBzZWRFcnJvcgkJRXJyb3IKLSAgICBIaUxpbmsgc2VkRmxhZwkJVHlwZQotICAgIEhpTGluayBzZWRGbGFnd3JpdGUJCUNvbnN0YW50Ci0gICAgSGlMaW5rIHNlZEZ1bmN0aW9uCQlGdW5jdGlvbgotICAgIEhpTGluayBzZWRMYWJlbAkJTGFiZWwKLSAgICBIaUxpbmsgc2VkTGluZUNvbnQJCVNwZWNpYWwKLSAgICBIaUxpbmsgc2VkUHV0SG9sZHNwYwlGdW5jdGlvbgotICAgIEhpTGluayBzZWRSZXBsYWNlTWV0YQlTcGVjaWFsCi0gICAgSGlMaW5rIHNlZFJlZ2V4cE1ldGEJU3BlY2lhbAotICAgIEhpTGluayBzZWRSVwkJQ29uc3RhbnQKLSAgICBIaUxpbmsgc2VkU2VtaWNvbG9uCQlTcGVjaWFsCi0gICAgSGlMaW5rIHNlZFNUCQlGdW5jdGlvbgotICAgIEhpTGluayBzZWRTcGVjaWFsCQlTcGVjaWFsCi0gICAgSGlMaW5rIHNlZFdoaXRlc3BhY2UJTk9ORQotICAgIGlmIGV4aXN0cygiaGlnaGxpZ2h0X3NlZHRhYnMiKQotCUhpTGluayBzZWRUYWIJCVRvZG8KLSAgICBlbmRpZgotICAgIGxldCBfX3NlZF9pID0gY2hhcjJucigiICIpICIgQVNDSUk6IDMyLCBFQkNESUM6IDY0Ci0gICAgd2hpbGUgX19zZWRfaSA8PSBfX3NlZF9sYXN0Ci0JZXhlICJIaUxpbmsgc2VkUmVnZXhwIi5fX3NlZF9pCQkiTWFjcm8iCi0JZXhlICJIaUxpbmsgc2VkUmVwbGFjZW1lbnQiLl9fc2VkX2kJIk5PTkUiCi0JbGV0IF9fc2VkX2kgPSBfX3NlZF9pICsgMQotICAgIGVuZHdoaWxlCi0KLSAgICBkZWxjb21tYW5kIEhpTGluaworSGlMaW5rIHNlZEFkZHJlc3MJCU1hY3JvCitIaUxpbmsgc2VkQUNJCQlOT05FCitIaUxpbmsgc2VkQnJhbmNoCQlMYWJlbAorSGlMaW5rIHNlZENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBzZWREZWxldGUJCUZ1bmN0aW9uCitIaUxpbmsgc2VkRXJyb3IJCUVycm9yCitIaUxpbmsgc2VkRmxhZwkJVHlwZQorSGlMaW5rIHNlZEZsYWd3cml0ZQkJQ29uc3RhbnQKK0hpTGluayBzZWRGdW5jdGlvbgkJRnVuY3Rpb24KK0hpTGluayBzZWRMYWJlbAkJTGFiZWwKK0hpTGluayBzZWRMaW5lQ29udAkJU3BlY2lhbAorSGlMaW5rIHNlZFB1dEhvbGRzcGMJRnVuY3Rpb24KK0hpTGluayBzZWRSZXBsYWNlTWV0YQlTcGVjaWFsCitIaUxpbmsgc2VkUmVnZXhwTWV0YQlTcGVjaWFsCitIaUxpbmsgc2VkUlcJCUNvbnN0YW50CitIaUxpbmsgc2VkU2VtaWNvbG9uCQlTcGVjaWFsCitIaUxpbmsgc2VkU1QJCUZ1bmN0aW9uCitIaUxpbmsgc2VkU3BlY2lhbAkJU3BlY2lhbAorSGlMaW5rIHNlZFdoaXRlc3BhY2UJTk9ORQoraWYgZXhpc3RzKCJoaWdobGlnaHRfc2VkdGFicyIpCitIaUxpbmsgc2VkVGFiCQlUb2RvCiBlbmRpZgorbGV0IF9fc2VkX2kgPSBjaGFyMm5yKCIgIikgIiBBU0NJSTogMzIsIEVCQ0RJQzogNjQKK3doaWxlIF9fc2VkX2kgPD0gX19zZWRfbGFzdAorZXhlICJIaUxpbmsgc2VkUmVnZXhwIi5fX3NlZF9pCQkiTWFjcm8iCitleGUgIkhpTGluayBzZWRSZXBsYWNlbWVudCIuX19zZWRfaQkiTk9ORSIKK2xldCBfX3NlZF9pID0gX19zZWRfaSArIDEKK2VuZHdoaWxlCisKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIHVubGV0IF9fc2VkX2kgX19zZWRfbGFzdCBfX3NlZF9kZWxpbWl0ZXIgX19zZWRfbWV0YWNoYXJhY3RlcnMKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2VuZHByLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NlbmRwci52aW0KaW5kZXggNmNmOTM5NS4uMmUwNzgwMiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2VuZHByLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zZW5kcHIudmltCkBAIC01LDExICs1LDggQEAKICIKICIgaHR0cDovL3JhaXNkb3JmLm5ldC9maWxlcy9taXNjL3NlbmQtcHIudmltCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zZ21sLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NnbWwudmltCmluZGV4IGMwYzM2NDMuLmQ2MDA0MGMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NnbWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NnbWwudmltCkBAIC01LDExICs1LDggQEAKICIgRmlsZW5hbWVzOgkqLnNnbWwsKi5zZ20KICIgJElkOiBzZ21sLnZpbSx2IDEuMSAyMDA0LzA2LzEzIDE3OjUyOjU3IHZpbWJvc3MgRXhwICQKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NnbWxkZWNsLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NnbWxkZWNsLnZpbQppbmRleCAxMzU1MWIyLi4xYmYxYjQ5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zZ21sZGVjbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc2dtbGRlY2wudmltCkBAIC01LDExICs1LDggQEAKICIgWW91IGNhbiBtb2RpZnkgYW5kIG1haW50YWluIHRoaXMgZmlsZSwgaW4gb3RoZXIgY2FzZSBzZW5kIGNvbW1lbnRzCiAiIHRoZSBtYWludGFpbmVyIGVtYWlsIGFkZHJlc3MuCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogbGV0IHM6a2VlcGNwbz0gJmNwbwpAQCAtNTIsMzAgKzQ5LDIyIEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2dtbGRlY2xfc3ludGF4X2luaXQiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zZ21sZGVjbF9zeW50YXhfaW5pdCA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAgICAgSGlMaW5rCXNnbWxkZWNsRGVjbEtleXMJS2V5d29yZAotICAgICAgSGlMaW5rCXNnbWxkZWNsVHlwZXMJCVR5cGUKLSAgICAgIEhpTGluawlzZ21sZGVjbENvbnN0CQlDb25zdGFudAotICAgICAgSGlMaW5rCXNnbWxkZWNsTkNvbnN0CQlDb25zdGFudAotICAgICAgSGlMaW5rCXNnbWxkZWNsU3RyaW5nCQlTdHJpbmcKLSAgICAgIEhpTGluawlzZ21sZGVjbERlY2xCbG9jawlOb3JtYWwKLSAgICAgIEhpTGluawlzZ21sZGVjbEJvb2wJCUJvb2xlYW4KLSAgICAgIEhpTGluawlzZ21sZGVjbFNwZWNpYWwJCVNwZWNpYWwKLSAgICAgIEhpTGluawlzZ21sZGVjbENvbW1lbnQJCUNvbW1lbnQKLSAgICAgIEhpTGluawlzZ21sZGVjbFN0YXRlbQkJU3RhdGVtZW50Ci0JICBIaUxpbmsJc2dtbGRlY2xWYXJpYWJsZXMJVHlwZQorSGlMaW5rCXNnbWxkZWNsRGVjbEtleXMJS2V5d29yZAorSGlMaW5rCXNnbWxkZWNsVHlwZXMJCVR5cGUKK0hpTGluawlzZ21sZGVjbENvbnN0CQlDb25zdGFudAorSGlMaW5rCXNnbWxkZWNsTkNvbnN0CQlDb25zdGFudAorSGlMaW5rCXNnbWxkZWNsU3RyaW5nCQlTdHJpbmcKK0hpTGluawlzZ21sZGVjbERlY2xCbG9jawlOb3JtYWwKK0hpTGluawlzZ21sZGVjbEJvb2wJCUJvb2xlYW4KK0hpTGluawlzZ21sZGVjbFNwZWNpYWwJCVNwZWNpYWwKK0hpTGluawlzZ21sZGVjbENvbW1lbnQJCUNvbW1lbnQKK0hpTGluawlzZ21sZGVjbFN0YXRlbQkJU3RhdGVtZW50CitIaUxpbmsJc2dtbGRlY2xWYXJpYWJsZXMJVHlwZQogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2dtbGRlY2wiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NnbWxsbngudmltIGIvcnVudGltZS9zeW50YXgvc2dtbGxueC52aW0KaW5kZXggMjgyMjRmNi4uN2ZkNjMzZCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2dtbGxueC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc2dtbGxueC52aW0KQEAgLTMsMTEgKzMsOCBAQAogIiBNYWludGFpbmVyOglTdW5nSHl1biBOYW0gPGdvd2VvbEBnbWFpbC5jb20+CiAiIExhc3QgQ2hhbmdlOgkyMDEzIE1heSAxMwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMzYsMzEgKzMzLDIzIEBACiBzeW4gcmVnaW9uIHNnbWxsbnhEb2NUeXBlIHN0YXJ0PSs8IWRvY3R5cGUrIGVuZD0rPisKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2dtbGxueF9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zZ21sbG54X3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc2dtbGxueFRhZzIJICAgIEZ1bmN0aW9uCi0gIEhpTGluayBzZ21sbG54VGFnTjIJICAgIEZ1bmN0aW9uCi0gIEhpTGluayBzZ21sbG54VGFnCSAgICBTcGVjaWFsCi0gIEhpTGluayBzZ21sbG54RW5kVGFnCSAgICBTcGVjaWFsCi0gIEhpTGluayBzZ21sbG54UGFyZW4JICAgIFNwZWNpYWwKLSAgSGlMaW5rIHNnbWxsbnhFbnRpdHkJICAgIFR5cGUKLSAgSGlMaW5rIHNnbWxsbnhEb2NFbnQJICAgIFR5cGUKLSAgSGlMaW5rIHNnbWxsbnhUYWdOYW1lCSAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIHNnbWxsbnhDb21tZW50CSAgICBDb21tZW50Ci0gIEhpTGluayBzZ21sbG54U3BlY2lhbAkgICAgU3BlY2lhbAotICBIaUxpbmsgc2dtbGxueERvY1R5cGUJICAgIFByZVByb2MKLSAgSGlMaW5rIHNnbWxsbnhUYWdFcnJvciAgICBFcnJvcgorSGlMaW5rIHNnbWxsbnhUYWcyCSAgICBGdW5jdGlvbgorSGlMaW5rIHNnbWxsbnhUYWdOMgkgICAgRnVuY3Rpb24KK0hpTGluayBzZ21sbG54VGFnCSAgICBTcGVjaWFsCitIaUxpbmsgc2dtbGxueEVuZFRhZwkgICAgU3BlY2lhbAorSGlMaW5rIHNnbWxsbnhQYXJlbgkgICAgU3BlY2lhbAorSGlMaW5rIHNnbWxsbnhFbnRpdHkJICAgIFR5cGUKK0hpTGluayBzZ21sbG54RG9jRW50CSAgICBUeXBlCitIaUxpbmsgc2dtbGxueFRhZ05hbWUJICAgIFN0YXRlbWVudAorSGlMaW5rIHNnbWxsbnhDb21tZW50CSAgICBDb21tZW50CitIaUxpbmsgc2dtbGxueFNwZWNpYWwJICAgIFNwZWNpYWwKK0hpTGluayBzZ21sbG54RG9jVHlwZQkgICAgUHJlUHJvYworSGlMaW5rIHNnbWxsbnhUYWdFcnJvciAgICBFcnJvcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2dtbGxueCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2gudmltIGIvcnVudGltZS9zeW50YXgvc2gudmltCmluZGV4IGVmOTBlYmUuLjMxYzdiMDUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NoLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zaC52aW0KQEAgLTgsMTEgKzgsOCBAQAogIiBGb3Igb3B0aW9ucyBhbmQgc2V0dGluZ3MsIHBsZWFzZSB1c2U6ICAgICAgOmhlbHAgZnQtc2gtc3ludGF4CiAiIFRoaXMgZmlsZSBpbmNsdWRlcyBtYW55IGlkZWFzIGZyb20gRXJpYyBCcnVuZXQgKGVyaWMuYnJ1bmV0QGVucy5mcikKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMge3t7MQotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdjp2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zaWNhZC52aW0gYi9ydW50aW1lL3N5bnRheC9zaWNhZC52aW0KaW5kZXggN2UzMjQ1MS4uMDRmODcwZCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2ljYWQudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NpY2FkLnZpbQpAQCAtNCwyOCArNCwxNyBAQAogIiBMYXN0IENoYW5nZTogIDIwMDMgTWF5IDExCiAiIFVSTDoJCWh0dHA6Ly9sbWFyay5tZ3guaHU6ODEvZG93bmxvYWQvdmltL3NpY2FkLnZpbQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAogIiB1c2UgU1FMIGhpZ2hsaWdodGluZyBhZnRlciAnc3FsJyBjb21tYW5kCi1pZiB2ZXJzaW9uID49IDYwMAotICBzeW4gaW5jbHVkZSBAU1FMIHN5bnRheC9zcWwudmltCi1lbHNlCi0gIHN5biBpbmNsdWRlIEBTUUwgPHNmaWxlPjpwOmgvc3FsLnZpbQotZW5kaWYKK3N5biBpbmNsdWRlIEBTUUwgc3ludGF4L3NxbC52aW0KIHVubGV0IGI6Y3VycmVudF9zeW50YXgKIAogIiBzcGFjZXMgYXJlIHVzZWQgaW4gKGF1dG8paW5kZW50cyBzaW5jZSBzaWNhZCBoYXRlcyB0YWJ1bGF0b3IgY2hhcmFjdGVycwotaWYgdmVyc2lvbiA+PSA2MDAKLSAgc2V0bG9jYWwgZXhwYW5kdGFiCi1lbHNlCi0gIHNldCBleHBhbmR0YWIKLWVuZGlmCitzZXRsb2NhbCBleHBhbmR0YWIKIAogIiBpZ25vcmUgY2FzZQogc3luIGNhc2UgaWdub3JlCkBAIC0zNjksNDQgKzM1OCwzNCBAQAogc3luIGtleXdvcmQgc2ljYWRTdGF0ZW1lbnQgenBhcnAgenBhcnBuIHp3aW5rcCB6d2lua3BuCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NpY2FkX3N5bnRheF9pbml0cyIpCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zaWNhZF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgotCi0gIEhpTGluayBzaWNhZExhYmVsIFByZVByb2MKLSAgSGlMaW5rIHNpY2FkTGFiZWwxIHNpY2FkTGFiZWwKLSAgSGlMaW5rIHNpY2FkTGFiZWwyIHNpY2FkTGFiZWwKLSAgSGlMaW5rIHNpY2FkQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKLSAgSGlMaW5rIHNpY2FkQm9vbGVhbiBCb29sZWFuCi0gIEhpTGluayBzaWNhZE51bWJlciBOdW1iZXIKLSAgSGlMaW5rIHNpY2FkRmxvYXQgRmxvYXQKLSAgSGlMaW5rIHNpY2FkT3BlcmF0b3IgT3BlcmF0b3IKLSAgSGlMaW5rIHNpY2FkU3RhdGVtZW50IFN0YXRlbWVudAotICBIaUxpbmsgc2ljYWRQYXJhbWV0ZXIgc2ljYWRTdGF0ZW1lbnQKLSAgSGlMaW5rIHNpY2FkR290byBzaWNhZFN0YXRlbWVudAotICBIaUxpbmsgc2ljYWRMaW5lQ29udCBzaWNhZFN0YXRlbWVudAotICBIaUxpbmsgc2ljYWRTdHJpbmcgU3RyaW5nCi0gIEhpTGluayBzaWNhZENvbW1lbnQgQ29tbWVudAotICBIaUxpbmsgc2ljYWRTcGVjaWFsIFNwZWNpYWwKLSAgSGlMaW5rIHNpY2FkSWRlbnRpZmllciBUeXBlCitIaUxpbmsgc2ljYWRMYWJlbCBQcmVQcm9jCitIaUxpbmsgc2ljYWRMYWJlbDEgc2ljYWRMYWJlbAorSGlMaW5rIHNpY2FkTGFiZWwyIHNpY2FkTGFiZWwKK0hpTGluayBzaWNhZENvbmRpdGlvbmFsIENvbmRpdGlvbmFsCitIaUxpbmsgc2ljYWRCb29sZWFuIEJvb2xlYW4KK0hpTGluayBzaWNhZE51bWJlciBOdW1iZXIKK0hpTGluayBzaWNhZEZsb2F0IEZsb2F0CitIaUxpbmsgc2ljYWRPcGVyYXRvciBPcGVyYXRvcgorSGlMaW5rIHNpY2FkU3RhdGVtZW50IFN0YXRlbWVudAorSGlMaW5rIHNpY2FkUGFyYW1ldGVyIHNpY2FkU3RhdGVtZW50CitIaUxpbmsgc2ljYWRHb3RvIHNpY2FkU3RhdGVtZW50CitIaUxpbmsgc2ljYWRMaW5lQ29udCBzaWNhZFN0YXRlbWVudAorSGlMaW5rIHNpY2FkU3RyaW5nIFN0cmluZworSGlMaW5rIHNpY2FkQ29tbWVudCBDb21tZW50CitIaUxpbmsgc2ljYWRTcGVjaWFsIFNwZWNpYWwKK0hpTGluayBzaWNhZElkZW50aWZpZXIgVHlwZQogIiAgSGlMaW5rIHNpY2FkSWRlbnRpZmllciBJZGVudGlmaWVyCi0gIEhpTGluayBzaWNhZEVycm9yIEVycm9yCi0gIEhpTGluayBzaWNhZFBhcmVuRXJyb3Igc2ljYWRFcnJvcgotICBIaUxpbmsgc2ljYWRBcG9zdHJvcGhlRXJyb3Igc2ljYWRFcnJvcgotICBIaUxpbmsgc2ljYWRTdHJpbmdFcnJvciBzaWNhZEVycm9yCi0gIEhpTGluayBzaWNhZENvbW1lbnRFcnJvciBzaWNhZEVycm9yCitIaUxpbmsgc2ljYWRFcnJvciBFcnJvcgorSGlMaW5rIHNpY2FkUGFyZW5FcnJvciBzaWNhZEVycm9yCitIaUxpbmsgc2ljYWRBcG9zdHJvcGhlRXJyb3Igc2ljYWRFcnJvcgorSGlMaW5rIHNpY2FkU3RyaW5nRXJyb3Igc2ljYWRFcnJvcgorSGlMaW5rIHNpY2FkQ29tbWVudEVycm9yIHNpY2FkRXJyb3IKICIgIEhpTGluayBzcWxTdGF0ZW1lbnQgU3BlY2lhbCAgIiBtb2RpZmllZCBoaWdobGlnaHQgZ3JvdXAgaW4gc3FsLnZpbQogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi0KLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzaWNhZCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2ltdWxhLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NpbXVsYS52aW0KaW5kZXggZTk1MmVlMi4uZWIzZjhhMSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2ltdWxhLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zaW11bGEudmltCkBAIC00LDExICs0LDggQEAKICIgVVJMOgkJaHR0cDovL2ZvbGsudWlvLm5vL2hha29ucmsvdmltL3N5bnRheC9zaW11bGEudmltCiAiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAxNQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5biBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKIGVuZGlmCiAKQEAgLTU4LDQyICs1NSwzNSBAQAogIiBSZWFsIHN0YXJ0aW5nIHdpdGggYSBgLicsIG9wdGlvbmFsIGV4cG9uZW50CiBzeW4gbWF0Y2gJc2ltdWxhUmVhbAkJIi1cPVwuXGRcK1woJiZcPVsrLV1cPVxkXCtcKVw9XD4iCiAKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zaW11bGFfc3ludGF4X2luaXRzIikKLSAgICBpZiB2ZXJzaW9uIDwgNTA4Ci0JbGV0IGRpZF9zaW11bGFfc3ludGF4X2luaXRzID0gMQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICAgZWxzZQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICAgIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAgIEhpTGluayBzaW11bGFBc3NpZ25lZAkJSWRlbnRpZmllcgotICAgIEhpTGluayBzaW11bGFCb29sZWFuCQlCb29sZWFuCi0gICAgSGlMaW5rIHNpbXVsYUNoYXJhY3RlcgkJQ2hhcmFjdGVyCi0gICAgSGlMaW5rIHNpbXVsYUNoYXJFcnJvcgkJRXJyb3IKLSAgICBIaUxpbmsgc2ltdWxhQ29tbWVudAkJQ29tbWVudAotICAgIEhpTGluayBzaW11bGFDb21wb3VuZAkJU3RhdGVtZW50Ci0gICAgSGlMaW5rIHNpbXVsYUNvbmRpdGlvbmFsCQlDb25kaXRpb25hbAotICAgIEhpTGluayBzaW11bGFDb25zdGFudAkJQ29uc3RhbnQKLSAgICBIaUxpbmsgc2ltdWxhRnVuY3Rpb24JCUZ1bmN0aW9uCi0gICAgSGlMaW5rIHNpbXVsYU51bWJlcgkJCU51bWJlcgotICAgIEhpTGluayBzaW11bGFPcGVyYXRvcgkJT3BlcmF0b3IKLSAgICBIaUxpbmsgc2ltdWxhUmVhbAkJCUZsb2F0Ci0gICAgSGlMaW5rIHNpbXVsYVJlZmVyZW5jZVR5cGUJCVR5cGUKLSAgICBIaUxpbmsgc2ltdWxhUmVwZWF0CQkJUmVwZWF0Ci0gICAgSGlMaW5rIHNpbXVsYVJlc2VydmVkCQlFcnJvcgotICAgIEhpTGluayBzaW11bGFTZW1pY29sb24JCVN0YXRlbWVudAotICAgIEhpTGluayBzaW11bGFTcGVjaWFsCQlTcGVjaWFsCi0gICAgSGlMaW5rIHNpbXVsYVNwZWNpYWxDaGFyCQlTcGVjaWFsQ2hhcgotICAgIEhpTGluayBzaW11bGFTcGVjaWFsQ2hhckVycgkJRXJyb3IKLSAgICBIaUxpbmsgc2ltdWxhU3RhdGVtZW50CQlTdGF0ZW1lbnQKLSAgICBIaUxpbmsgc2ltdWxhU3RvcmFnZUNsYXNzCQlTdG9yYWdlQ2xhc3MKLSAgICBIaUxpbmsgc2ltdWxhU3RyaW5nCQkJU3RyaW5nCi0gICAgSGlMaW5rIHNpbXVsYVN0cnVjdHVyZQkJU3RydWN0dXJlCi0gICAgSGlMaW5rIHNpbXVsYVRvZG8JCQlUb2RvCi0gICAgSGlMaW5rIHNpbXVsYVR5cGUJCQlUeXBlCitIaUxpbmsgc2ltdWxhQXNzaWduZWQJCUlkZW50aWZpZXIKK0hpTGluayBzaW11bGFCb29sZWFuCQlCb29sZWFuCitIaUxpbmsgc2ltdWxhQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKK0hpTGluayBzaW11bGFDaGFyRXJyb3IJCUVycm9yCitIaUxpbmsgc2ltdWxhQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIHNpbXVsYUNvbXBvdW5kCQlTdGF0ZW1lbnQKK0hpTGluayBzaW11bGFDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKK0hpTGluayBzaW11bGFDb25zdGFudAkJQ29uc3RhbnQKK0hpTGluayBzaW11bGFGdW5jdGlvbgkJRnVuY3Rpb24KK0hpTGluayBzaW11bGFOdW1iZXIJCQlOdW1iZXIKK0hpTGluayBzaW11bGFPcGVyYXRvcgkJT3BlcmF0b3IKK0hpTGluayBzaW11bGFSZWFsCQkJRmxvYXQKK0hpTGluayBzaW11bGFSZWZlcmVuY2VUeXBlCQlUeXBlCitIaUxpbmsgc2ltdWxhUmVwZWF0CQkJUmVwZWF0CitIaUxpbmsgc2ltdWxhUmVzZXJ2ZWQJCUVycm9yCitIaUxpbmsgc2ltdWxhU2VtaWNvbG9uCQlTdGF0ZW1lbnQKK0hpTGluayBzaW11bGFTcGVjaWFsCQlTcGVjaWFsCitIaUxpbmsgc2ltdWxhU3BlY2lhbENoYXIJCVNwZWNpYWxDaGFyCitIaUxpbmsgc2ltdWxhU3BlY2lhbENoYXJFcnIJCUVycm9yCitIaUxpbmsgc2ltdWxhU3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayBzaW11bGFTdG9yYWdlQ2xhc3MJCVN0b3JhZ2VDbGFzcworSGlMaW5rIHNpbXVsYVN0cmluZwkJCVN0cmluZworSGlMaW5rIHNpbXVsYVN0cnVjdHVyZQkJU3RydWN0dXJlCitIaUxpbmsgc2ltdWxhVG9kbwkJCVRvZG8KK0hpTGluayBzaW11bGFUeXBlCQkJVHlwZQogCi0gICAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzaW11bGEiCiAiIHZpbTogc3RzPTQgc3c9NCB0cz04CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zaW5kYS52aW0gYi9ydW50aW1lL3N5bnRheC9zaW5kYS52aW0KaW5kZXggMmJkZTI2Ny4uZWYwOTI5ZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2luZGEudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NpbmRhLnZpbQpAQCAtOCwxMSArOCw4IEBACiAKIAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMzIsMTEgKzI5LDcgQEAKIGxldCBmb3J0cmFuX2ZyZWVfc291cmNlPTEKIAogIiBMb2FkIEZPUlRSQU4gc3ludGF4IGZpbGUKLWlmIHZlcnNpb24gPCA2MDAKLSAgc291cmNlIDxzZmlsZT46cDpoL2ZvcnRyYW4udmltCi1lbHNlCi0gIHJ1bnRpbWUhIHN5bnRheC9mb3J0cmFuLnZpbQotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9mb3J0cmFuLnZpbQogdW5sZXQgYjpjdXJyZW50X3N5bnRheAogCiAKQEAgLTEwNiwzOSArOTksMzEgQEAKIAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NpbmRhX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3NpbmRhX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc2luZGFNYWNybwkJTWFjcm8KLSAgSGlMaW5rIHNpbmRhT3B0aW9ucwkJU3BlY2lhbAotICBIaUxpbmsgc2luZGFSb3V0aW5lCQlUeXBlCi0gIEhpTGluayBzaW5kYUNvbnRyb2wJCVNwZWNpYWwKLSAgSGlMaW5rIHNpbmRhU3ViUm91dGluZQlGdW5jdGlvbgotICBIaUxpbmsgc2luZGFJZGVudGlmaWVyCUlkZW50aWZpZXIKK0hpTGluayBzaW5kYU1hY3JvCQlNYWNybworSGlMaW5rIHNpbmRhT3B0aW9ucwkJU3BlY2lhbAorSGlMaW5rIHNpbmRhUm91dGluZQkJVHlwZQorSGlMaW5rIHNpbmRhQ29udHJvbAkJU3BlY2lhbAorSGlMaW5rIHNpbmRhU3ViUm91dGluZQlGdW5jdGlvbgorSGlMaW5rIHNpbmRhSWRlbnRpZmllcglJZGVudGlmaWVyCiAKLSAgSGlMaW5rIHNpbmRhRm9ydHJhbgkJUHJlUHJvYwotICBIaUxpbmsgc2luZGFNb3RyYW4JCVByZVByb2MKK0hpTGluayBzaW5kYUZvcnRyYW4JCVByZVByb2MKK0hpTGluayBzaW5kYU1vdHJhbgkJUHJlUHJvYwogCi0gIEhpTGluayBzaW5kYUNvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIHNpbmRhSGVhZGVyCQlUeXBlZGVmCi0gIEhpTGluayBzaW5kYUluY2x1ZGVGaWxlCVR5cGUKLSAgSGlMaW5rIHNpbmRhSW50ZWdlcgkJTnVtYmVyCi0gIEhpTGluayBzaW5kYUZsb2F0CQlGbG9hdAotICBIaUxpbmsgc2luZGFTY2llbnRpZmljCUZsb2F0CitIaUxpbmsgc2luZGFDb21tZW50CQlDb21tZW50CitIaUxpbmsgc2luZGFIZWFkZXIJCVR5cGVkZWYKK0hpTGluayBzaW5kYUluY2x1ZGVGaWxlCVR5cGUKK0hpTGluayBzaW5kYUludGVnZXIJCU51bWJlcgorSGlMaW5rIHNpbmRhRmxvYXQJCUZsb2F0CitIaUxpbmsgc2luZGFTY2llbnRpZmljCUZsb2F0CiAKLSAgSGlMaW5rIHNpbmRhRW5kRGF0YQkJTWFjcm8KK0hpTGluayBzaW5kYUVuZERhdGEJCU1hY3JvCiAKLSAgSGlMaW5rIHNpbmRhVG9kbwkJVG9kbworSGlMaW5rIHNpbmRhVG9kbwkJVG9kbwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzaW5kYSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NpbmRhY21wLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NpbmRhY21wLnZpbQppbmRleCA4N2I0ODM0Li4yOGMzY2RjIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zaW5kYWNtcC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc2luZGFjbXAudmltCkBAIC04LDExICs4LDggQEAKIAogCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC00NSwyOCArNDIsMjAgQEAKIAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NpbmRhY21wX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3NpbmRhY21wX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc2luZGFjbXBUaXRsZQkJICAgICBUeXBlCi0gIEhpTGluayBzaW5kYWNtcFVuaXQJCSAgICAgUHJlUHJvYworSGlMaW5rIHNpbmRhY21wVGl0bGUJCSAgICAgVHlwZQorSGlMaW5rIHNpbmRhY21wVW5pdAkJICAgICBQcmVQcm9jCiAKLSAgSGlMaW5rIHNpbmRhY21wTGFiZWwJCSAgICAgU3RhdGVtZW50CitIaUxpbmsgc2luZGFjbXBMYWJlbAkJICAgICBTdGF0ZW1lbnQKIAotICBIaUxpbmsgc2luZGFjbXBIZWFkZXIJCSAgICAgc2luZGFIZWFkZXIKK0hpTGluayBzaW5kYWNtcEhlYWRlcgkJICAgICBzaW5kYUhlYWRlcgogCi0gIEhpTGluayBzaW5kYWNtcEludGVnZXIJICAgICBOdW1iZXIKLSAgSGlMaW5rIHNpbmRhY21wRmxvYXQJCSAgICAgU3BlY2lhbAorSGlMaW5rIHNpbmRhY21wSW50ZWdlcgkgICAgIE51bWJlcgorSGlMaW5rIHNpbmRhY21wRmxvYXQJCSAgICAgU3BlY2lhbAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzaW5kYWNtcCIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NpbmRhb3V0LnZpbSBiL3J1bnRpbWUvc3ludGF4L3NpbmRhb3V0LnZpbQppbmRleCBiNTU3ZTAxLi5iNGZiMTc3IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zaW5kYW91dC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc2luZGFvdXQudmltCkBAIC04LDExICs4LDggQEAKIAogCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0yNCwxMSArMjEsNyBAQAogCiAKICIgTG9hZCBTSU5EQSBzeW50YXggZmlsZQotaWYgdmVyc2lvbiA8IDYwMAotICBzb3VyY2UgPHNmaWxlPjpwOmgvc2luZGEudmltCi1lbHNlCi0gIHJ1bnRpbWUhIHN5bnRheC9zaW5kYS52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvc2luZGEudmltCiB1bmxldCBiOmN1cnJlbnRfc3ludGF4CiAKIApAQCAtNjYsMzMgKzU5LDI1IEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zaW5kYW91dF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zaW5kYW91dF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgaGkgc2luZGFIZWFkZXJEZWxpbSAgY3Rlcm1mZz1CbGFjayBjdGVybWJnPUdyZWVuCSAgICAgICBndWlmZz1CbGFjayBndWliZz1HcmVlbgoraGkgc2luZGFIZWFkZXJEZWxpbSAgY3Rlcm1mZz1CbGFjayBjdGVybWJnPUdyZWVuCSAgICAgICBndWlmZz1CbGFjayBndWliZz1HcmVlbgogCi0gIEhpTGluayBzaW5kYW91dFBvcwkJICAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIHNpbmRhb3V0TmVnCQkgICAgIFByZVByb2MKLSAgSGlMaW5rIHNpbmRhb3V0VGl0bGUJCSAgICAgVHlwZQotICBIaUxpbmsgc2luZGFvdXRGaWxlCQkgICAgIHNpbmRhSW5jbHVkZUZpbGUKLSAgSGlMaW5rIHNpbmRhb3V0SW50ZWdlcgkgICAgIHNpbmRhSW50ZWdlcgorSGlMaW5rIHNpbmRhb3V0UG9zCQkgICAgIFN0YXRlbWVudAorSGlMaW5rIHNpbmRhb3V0TmVnCQkgICAgIFByZVByb2MKK0hpTGluayBzaW5kYW91dFRpdGxlCQkgICAgIFR5cGUKK0hpTGluayBzaW5kYW91dEZpbGUJCSAgICAgc2luZGFJbmNsdWRlRmlsZQorSGlMaW5rIHNpbmRhb3V0SW50ZWdlcgkgICAgIHNpbmRhSW50ZWdlcgogCi0gIEhpTGluayBzaW5kYW91dFNlY3Rpb25EZWxpbQkgICAgICBEZWxpbWl0ZXIKLSAgSGlMaW5rIHNpbmRhb3V0U2VjdGlvblRpdGxlCSAgICAgRXhjZXB0aW9uCi0gIEhpTGluayBzaW5kYW91dEhlYWRlckRlbGltCSAgICAgU3BlY2lhbENvbW1lbnQKLSAgSGlMaW5rIHNpbmRhb3V0TGFiZWwJCSAgICAgSWRlbnRpZmllcgorSGlMaW5rIHNpbmRhb3V0U2VjdGlvbkRlbGltCSAgICAgIERlbGltaXRlcgorSGlMaW5rIHNpbmRhb3V0U2VjdGlvblRpdGxlCSAgICAgRXhjZXB0aW9uCitIaUxpbmsgc2luZGFvdXRIZWFkZXJEZWxpbQkgICAgIFNwZWNpYWxDb21tZW50CitIaUxpbmsgc2luZGFvdXRMYWJlbAkJICAgICBJZGVudGlmaWVyCiAKLSAgSGlMaW5rIHNpbmRhb3V0RXJyb3IJCSAgICAgRXJyb3IKK0hpTGluayBzaW5kYW91dEVycm9yCQkgICAgIEVycm9yCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNpbmRhb3V0IgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2lzdS52aW0gYi9ydW50aW1lL3N5bnRheC9zaXN1LnZpbQppbmRleCAwZTBmMmRiLi44M2QyYTE3IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zaXN1LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zaXN1LnZpbQpAQCAtNiwxMSArNiw5IEBACiAiICAgICAgPGh0dHA6Ly9naXQuc2lzdWRvYy5vcmcvZ2l0d2ViLz9wPWNvZGUvc2lzdS5naXQ7YT1ibG9iX3BsYWluO2Y9ZGF0YS9zaXN1L2NvbmYvZWRpdG9yLXN5bnRheC1ldGMvdmltL3N5bnRheC9zaXN1LnZpbTtoYj1IRUFEPgogIihvcmlnaW5hbGx5IGxvb2tlZCBhdCBSdWJ5IFZpbSBieSBNaXJrbyBOYXNhdG8pCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKLWVsc2UKIGVuZGlmCiBsZXQgczpjcG9fc2F2ZSA9ICZjcG8KIHNldCBjcG8mdmltCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9za2lsbC52aW0gYi9ydW50aW1lL3N5bnRheC9za2lsbC52aW0KaW5kZXggOGI5NjA0NC4uZjMyZDVlZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2tpbGwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NraWxsLnZpbQpAQCAtOSwxMSArOSw4IEBACiAiCQkJCWRhdGFiYXNlLiBUaGlzIGZpbGUgYWxzbyBkZWZpbmVzIHN5bnRheCBoaWdobGlnaHRpbmcgZm9yCiAiCQkJCWNlcnRhaW4gRGVzaWduIEZyYW1ld29yayBJSSBpbnRlcmZhY2UgZnVuY3Rpb25zLgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTI1LDM3ICs1MjIsMjkgQEAKIHN5biBzeW5jIGNjb21tZW50IHNraWxsQ29tbWVudCBtaW5saW5lcz0xMAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9za2lsbF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9za2lsbF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLQlIaUxpbmsgc2tpbGxjZGZGdW5jdGlvbnMJRnVuY3Rpb24KLQlIaUxpbmsgc2tpbGxnZUZ1bmN0aW9ucwkJRnVuY3Rpb24KLQlIaUxpbmsgc2tpbGxoaUZ1bmN0aW9ucwkJRnVuY3Rpb24KLQlIaUxpbmsgc2tpbGxsZUZ1bmN0aW9ucwkJRnVuY3Rpb24KLQlIaUxpbmsgc2tpbGxkYmVmRnVuY3Rpb25zCUZ1bmN0aW9uCi0JSGlMaW5rIHNraWxsZGRGdW5jdGlvbnMJCUZ1bmN0aW9uCi0JSGlMaW5rIHNraWxscGNGdW5jdGlvbnMJCUZ1bmN0aW9uCi0JSGlMaW5rIHNraWxsdGVjaEZ1bmN0aW9ucwlGdW5jdGlvbgotCUhpTGluayBza2lsbENvbnN0YW50cwkJQ29uc3RhbnQKLQlIaUxpbmsgc2tpbGxGdW5jdGlvbgkJRnVuY3Rpb24KLQlIaUxpbmsgc2tpbGxLZXl3b3JkcwkJU3RhdGVtZW50Ci0JSGlMaW5rIHNraWxsQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCi0JSGlMaW5rIHNraWxsUmVwZWF0CQkJUmVwZWF0Ci0JSGlMaW5rIHNraWxsU3RyaW5nCQkJU3RyaW5nCi0JSGlMaW5rIHNraWxsVG9kbwkJCVRvZG8KLQlIaUxpbmsgc2tpbGxOb3RlCQkJVG9kbwotCUhpTGluayBza2lsbENvbW1lbnQJCQlDb21tZW50Ci0JSGlMaW5rIHNraWxsQ29tbWVudEVycm9yCUVycm9yCitIaUxpbmsgc2tpbGxjZGZGdW5jdGlvbnMJRnVuY3Rpb24KK0hpTGluayBza2lsbGdlRnVuY3Rpb25zCQlGdW5jdGlvbgorSGlMaW5rIHNraWxsaGlGdW5jdGlvbnMJCUZ1bmN0aW9uCitIaUxpbmsgc2tpbGxsZUZ1bmN0aW9ucwkJRnVuY3Rpb24KK0hpTGluayBza2lsbGRiZWZGdW5jdGlvbnMJRnVuY3Rpb24KK0hpTGluayBza2lsbGRkRnVuY3Rpb25zCQlGdW5jdGlvbgorSGlMaW5rIHNraWxscGNGdW5jdGlvbnMJCUZ1bmN0aW9uCitIaUxpbmsgc2tpbGx0ZWNoRnVuY3Rpb25zCUZ1bmN0aW9uCitIaUxpbmsgc2tpbGxDb25zdGFudHMJCUNvbnN0YW50CitIaUxpbmsgc2tpbGxGdW5jdGlvbgkJRnVuY3Rpb24KK0hpTGluayBza2lsbEtleXdvcmRzCQlTdGF0ZW1lbnQKK0hpTGluayBza2lsbENvbmRpdGlvbmFsCQlDb25kaXRpb25hbAorSGlMaW5rIHNraWxsUmVwZWF0CQkJUmVwZWF0CitIaUxpbmsgc2tpbGxTdHJpbmcJCQlTdHJpbmcKK0hpTGluayBza2lsbFRvZG8JCQlUb2RvCitIaUxpbmsgc2tpbGxOb3RlCQkJVG9kbworSGlMaW5rIHNraWxsQ29tbWVudAkJCUNvbW1lbnQKK0hpTGluayBza2lsbENvbW1lbnRFcnJvcglFcnJvcgogCi0JZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJza2lsbCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2wudmltIGIvcnVudGltZS9zeW50YXgvc2wudmltCmluZGV4IGZhM2JjYTAuLmE0MGQ0M2UgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zbC52aW0KQEAgLTMsMTEgKzMsOCBAQAogIiBNYWludGFpbmVyOglEYW4gUGlwb25pIDxkYW5AdGFuZWxvcm4uZGVtb24uY28udWs+CiAiIExhc3QgQ2hhbmdlOgkyMDAxIE1heSAwOQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNzUsNDUgKzcyLDM3IEBACiBzeW4gc3luYyBjY29tbWVudCBzbENvbW1lbnQgbWlubGluZXM9MTAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2xfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfc2xfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBzbExhYmVsCUxhYmVsCi0gIEhpTGluayBzbFVzZXJMYWJlbAlMYWJlbAotICBIaUxpbmsgc2xDb25kaXRpb25hbAlDb25kaXRpb25hbAotICBIaUxpbmsgc2xSZXBlYXQJUmVwZWF0Ci0gIEhpTGluayBzbENoYXJhY3RlcglDaGFyYWN0ZXIKLSAgSGlMaW5rIHNsU3BlY2lhbENoYXJhY3RlciBzbFNwZWNpYWwKLSAgSGlMaW5rIHNsTnVtYmVyCU51bWJlcgotICBIaUxpbmsgc2xGbG9hdAlGbG9hdAotICBIaUxpbmsgc2xQYXJlbkVycm9yCXNsRXJyb3IKLSAgSGlMaW5rIHNsSW5QYXJlbglzbEVycm9yCi0gIEhpTGluayBzbENvbW1lbnRFcnJvcglzbEVycm9yCi0gIEhpTGluayBzbE9wZXJhdG9yCU9wZXJhdG9yCi0gIEhpTGluayBzbFN0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rIHNsRXJyb3IJRXJyb3IKLSAgSGlMaW5rIHNsU3RhdGVtZW50CVN0YXRlbWVudAotICBIaUxpbmsgc2xUeXBlCQlUeXBlCi0gIEhpTGluayBzbENvbW1lbnRFcnJvcglzbEVycm9yCi0gIEhpTGluayBzbENvbW1lbnRTdHJpbmcgc2xTdHJpbmcKLSAgSGlMaW5rIHNsQ29tbWVudDJTdHJpbmcgc2xTdHJpbmcKLSAgSGlMaW5rIHNsQ29tbWVudFNraXAJc2xDb21tZW50Ci0gIEhpTGluayBzbFN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIHNsQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBzbFNwZWNpYWwJU3BlY2lhbENoYXIKLSAgSGlMaW5rIHNsVG9kbwlUb2RvCi0gIEhpTGluayBzbFZhcmlhYmxlCUlkZW50aWZpZXIKLSAgIkhpTGluayBzbElkZW50aWZpZXIJSWRlbnRpZmllcgorSGlMaW5rIHNsTGFiZWwJTGFiZWwKK0hpTGluayBzbFVzZXJMYWJlbAlMYWJlbAorSGlMaW5rIHNsQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayBzbFJlcGVhdAlSZXBlYXQKK0hpTGluayBzbENoYXJhY3RlcglDaGFyYWN0ZXIKK0hpTGluayBzbFNwZWNpYWxDaGFyYWN0ZXIgc2xTcGVjaWFsCitIaUxpbmsgc2xOdW1iZXIJTnVtYmVyCitIaUxpbmsgc2xGbG9hdAlGbG9hdAorSGlMaW5rIHNsUGFyZW5FcnJvcglzbEVycm9yCitIaUxpbmsgc2xJblBhcmVuCXNsRXJyb3IKK0hpTGluayBzbENvbW1lbnRFcnJvcglzbEVycm9yCitIaUxpbmsgc2xPcGVyYXRvcglPcGVyYXRvcgorSGlMaW5rIHNsU3RvcmFnZUNsYXNzCVN0b3JhZ2VDbGFzcworSGlMaW5rIHNsRXJyb3IJRXJyb3IKK0hpTGluayBzbFN0YXRlbWVudAlTdGF0ZW1lbnQKK0hpTGluayBzbFR5cGUJCVR5cGUKK0hpTGluayBzbENvbW1lbnRFcnJvcglzbEVycm9yCitIaUxpbmsgc2xDb21tZW50U3RyaW5nIHNsU3RyaW5nCitIaUxpbmsgc2xDb21tZW50MlN0cmluZyBzbFN0cmluZworSGlMaW5rIHNsQ29tbWVudFNraXAJc2xDb21tZW50CitIaUxpbmsgc2xTdHJpbmcJU3RyaW5nCitIaUxpbmsgc2xDb21tZW50CUNvbW1lbnQKK0hpTGluayBzbFNwZWNpYWwJU3BlY2lhbENoYXIKK0hpTGluayBzbFRvZG8JVG9kbworSGlMaW5rIHNsVmFyaWFibGUJSWRlbnRpZmllcgorIkhpTGluayBzbElkZW50aWZpZXIJSWRlbnRpZmllcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2wiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NsYW5nLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NsYW5nLnZpbQppbmRleCA5ZmE4OWI0Li45MzhlOGQ1IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zbGFuZy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc2xhbmcudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJSmFuIEhsYXZhY2VrIDxsYWh2YWtAbWF0aC5vaGlvLXN0YXRlLmVkdT4KICIgTGFzdCBDaGFuZ2U6CTk4MDIxNgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTUsNDcgKzUyLDM5IEBACiBzeW4gcmVnaW9uIHNsYW5nUHJlQ29uZGl0IHN0YXJ0PSJeXHMqI1xzKlwoaWZkZWZcPlx8aWZuZGVmXD5cfGlmdHJ1ZVw+XHxpZm5mYWxzZVw+XHxpZmZhbHNlXD5cfGlmbnRydWVcPlx8aWZcJFx8aWZuXCRcfFx8ZWxpZlw+XHxlbHNlXD5cfGVuZGlmXD5cKSIgc2tpcD0iXFwkIiBlbmQ9IiQiIGNvbnRhaW5zPWNDb21tZW50LHNsYW5nU3RyaW5nLHNsYW5nQ2hhcmFjdGVyLHNsYW5nTnVtYmVyCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NsYW5nX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3NsYW5nX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc2xhbmdEZWZpbml0aW9uCVR5cGUKLSAgSGlMaW5rIHNsYW5nQmxvY2sJCXNsYW5nRGVmaW5pdGlvbgotICBIaUxpbmsgc2xhbmdMYWJlbAkJTGFiZWwKLSAgSGlMaW5rIHNsYW5nQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIHNsYW5nUmVwZWF0CQlSZXBlYXQKLSAgSGlMaW5rIHNsYW5nQ2hhcmFjdGVyCUNoYXJhY3RlcgotICBIaUxpbmsgc2xhbmdGbG9hdAkJRmxvYXQKLSAgSGlMaW5rIHNsYW5nSW1hZ2luYXJ5CUZsb2F0Ci0gIEhpTGluayBzbGFuZ0RlY2ltYWwJCXNsYW5nTnVtYmVyCi0gIEhpTGluayBzbGFuZ09jdGFsCQlzbGFuZ051bWJlcgotICBIaUxpbmsgc2xhbmdIZXgJCXNsYW5nTnVtYmVyCi0gIEhpTGluayBzbGFuZ051bWJlcgkJTnVtYmVyCi0gIEhpTGluayBzbGFuZ1BhcmVuRXJyb3IJRXJyb3IKLSAgSGlMaW5rIHNsYW5nT2N0YWxFcnJvcglFcnJvcgotICBIaUxpbmsgc2xhbmdPcGVyYXRvcgkJT3BlcmF0b3IKLSAgSGlMaW5rIHNsYW5nU3RydWN0dXJlCVN0cnVjdHVyZQotICBIaUxpbmsgc2xhbmdJbmNsdWRlCQlJbmNsdWRlCi0gIEhpTGluayBzbGFuZ1ByZUNvbmRpdAlQcmVDb25kaXQKLSAgSGlMaW5rIHNsYW5nRXJyb3IJCUVycm9yCi0gIEhpTGluayBzbGFuZ1N0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIHNsYW5nVHlwZQkJVHlwZQotICBIaUxpbmsgc2xhbmdTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgc2xhbmdDb25zdGFudAkJQ29uc3RhbnQKLSAgSGlMaW5rIHNsYW5nUmFuZ2VBcnJheQlzbGFuZ0NvbnN0YW50Ci0gIEhpTGluayBzbGFuZ0NvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIHNsYW5nU3BlY2lhbAkJU3BlY2lhbENoYXIKLSAgSGlMaW5rIHNsYW5nVG9kbwkJVG9kbwotICBIaUxpbmsgc2xhbmdEZWxpbQkJRGVsaW1pdGVyCitIaUxpbmsgc2xhbmdEZWZpbml0aW9uCVR5cGUKK0hpTGluayBzbGFuZ0Jsb2NrCQlzbGFuZ0RlZmluaXRpb24KK0hpTGluayBzbGFuZ0xhYmVsCQlMYWJlbAorSGlMaW5rIHNsYW5nQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayBzbGFuZ1JlcGVhdAkJUmVwZWF0CitIaUxpbmsgc2xhbmdDaGFyYWN0ZXIJQ2hhcmFjdGVyCitIaUxpbmsgc2xhbmdGbG9hdAkJRmxvYXQKK0hpTGluayBzbGFuZ0ltYWdpbmFyeQlGbG9hdAorSGlMaW5rIHNsYW5nRGVjaW1hbAkJc2xhbmdOdW1iZXIKK0hpTGluayBzbGFuZ09jdGFsCQlzbGFuZ051bWJlcgorSGlMaW5rIHNsYW5nSGV4CQlzbGFuZ051bWJlcgorSGlMaW5rIHNsYW5nTnVtYmVyCQlOdW1iZXIKK0hpTGluayBzbGFuZ1BhcmVuRXJyb3IJRXJyb3IKK0hpTGluayBzbGFuZ09jdGFsRXJyb3IJRXJyb3IKK0hpTGluayBzbGFuZ09wZXJhdG9yCQlPcGVyYXRvcgorSGlMaW5rIHNsYW5nU3RydWN0dXJlCVN0cnVjdHVyZQorSGlMaW5rIHNsYW5nSW5jbHVkZQkJSW5jbHVkZQorSGlMaW5rIHNsYW5nUHJlQ29uZGl0CVByZUNvbmRpdAorSGlMaW5rIHNsYW5nRXJyb3IJCUVycm9yCitIaUxpbmsgc2xhbmdTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgc2xhbmdUeXBlCQlUeXBlCitIaUxpbmsgc2xhbmdTdHJpbmcJCVN0cmluZworSGlMaW5rIHNsYW5nQ29uc3RhbnQJCUNvbnN0YW50CitIaUxpbmsgc2xhbmdSYW5nZUFycmF5CXNsYW5nQ29uc3RhbnQKK0hpTGluayBzbGFuZ0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBzbGFuZ1NwZWNpYWwJCVNwZWNpYWxDaGFyCitIaUxpbmsgc2xhbmdUb2RvCQlUb2RvCitIaUxpbmsgc2xhbmdEZWxpbQkJRGVsaW1pdGVyCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzbGFuZyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2xpY2UudmltIGIvcnVudGltZS9zeW50YXgvc2xpY2UudmltCmluZGV4IDRlMmY5YTguLjIwMmFlZTcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NsaWNlLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zbGljZS52aW0KQEAgLTMsMTEgKzMsOCBAQAogIiBNYWludGFpbmVyOglNb3JlbCBCb2RpbiA8c2xpY2UwNkBueW0uaHVzaC5jb20+CiAiIExhc3QgQ2hhbmdlOgkyMDA1IERlYyAwMwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTgsMzMgKzU1LDI1IEBACiBzeW4gc3luYyBjY29tbWVudCBzbGljZUNvbW1lbnQKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2xpY2Vfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfc2xpY2Vfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBzbGljZUNvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgc2xpY2VDb25zdHJ1Y3QJS2V5d29yZAotICBIaUxpbmsgc2xpY2VUeXBlCVR5cGUKLSAgSGlMaW5rIHNsaWNlU3RyaW5nCVN0cmluZwotICBIaUxpbmsgc2xpY2VJbmNsdWRlZAlTdHJpbmcKLSAgSGlMaW5rIHNsaWNlUXVhbGlmaWVyCUtleXdvcmQKLSAgSGlMaW5rIHNsaWNlSW5jbHVkZQlJbmNsdWRlCi0gIEhpTGluayBzbGljZUd1YXJkCVByZVByb2MKLSAgSGlMaW5rIHNsaWNlQm9vbGVhbglCb29sZWFuCi0gIEhpTGluayBzbGljZUZsb2F0CU51bWJlcgotICBIaUxpbmsgc2xpY2VOdW1iZXIJTnVtYmVyCi0gIEhpTGluayBzbGljZU9jdGFsCU51bWJlcgotICBIaUxpbmsgc2xpY2VPY3RhbFplcm8JU3BlY2lhbAotICBIaUxpbmsgc2xpY2VOdW1iZXJFcnJvciBTcGVjaWFsCitIaUxpbmsgc2xpY2VDb21tZW50CUNvbW1lbnQKK0hpTGluayBzbGljZUNvbnN0cnVjdAlLZXl3b3JkCitIaUxpbmsgc2xpY2VUeXBlCVR5cGUKK0hpTGluayBzbGljZVN0cmluZwlTdHJpbmcKK0hpTGluayBzbGljZUluY2x1ZGVkCVN0cmluZworSGlMaW5rIHNsaWNlUXVhbGlmaWVyCUtleXdvcmQKK0hpTGluayBzbGljZUluY2x1ZGUJSW5jbHVkZQorSGlMaW5rIHNsaWNlR3VhcmQJUHJlUHJvYworSGlMaW5rIHNsaWNlQm9vbGVhbglCb29sZWFuCitIaUxpbmsgc2xpY2VGbG9hdAlOdW1iZXIKK0hpTGluayBzbGljZU51bWJlcglOdW1iZXIKK0hpTGluayBzbGljZU9jdGFsCU51bWJlcgorSGlMaW5rIHNsaWNlT2N0YWxaZXJvCVNwZWNpYWwKK0hpTGluayBzbGljZU51bWJlckVycm9yIFNwZWNpYWwKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNsaWNlIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zbHJucmMudmltIGIvcnVudGltZS9zeW50YXgvc2xybnJjLnZpbQppbmRleCAwMzhiNjJlLi5hNTU0MzlhIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zbHJucmMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Nscm5yYy52aW0KQEAgLTMsMTEgKzMsOCBAQAogIiBNYWludGFpbmVyOglQcmViZW4gJ1BlcHBlJyBHdWxkYmVyZyA8cGVwcGUtdmltQHdpZWxkZXJzLm9yZz4KICIgTGFzdCBDaGFuZ2U6CTIzIEFwcmlsIDIwMDYKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE1MCw0NCArMTQ3LDM2IEBACiBzeW4gbWF0Y2ggICBzbHJucmNVbnNldGtleQknXlxzKnVuc2V0a2V5XHNcK1woIlwpXD1cKGFydGljbGVcfGdyb3VwXHxyZWFkbGluZVwpXD5cMScgc2tpcHdoaXRlIG5leHRncm91cD1zbHJucmNLZXkgY29udGFpbnM9c2xybnJjU2V0a2V5T2JqXChTdHJcKVw9CiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Nscm5yY19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zbHJucmNfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBzbHJucmNUb2RvCQlUb2RvCi0gIEhpTGluayBzbHJucmNTcGFjZUVycm9yCUVycm9yCi0gIEhpTGluayBzbHJucmNOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgc2xybnJjU3BlY0tleQkJU3BlY2lhbENoYXIKLSAgSGlMaW5rIHNscm5yY0tleQkJU3RyaW5nCi0gIEhpTGluayBzbHJucmNTcGVjQ2hhcgkJU3BlY2lhbENoYXIKLSAgSGlMaW5rIHNscm5yY1N0cmluZwkJU3RyaW5nCi0gIEhpTGluayBzbHJuU2xhbmdQcmVDb25kaXQJU3BlY2lhbAotICBIaUxpbmsgc2xybnJjQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgc2xybnJjVmFySW50CQlJZGVudGlmaWVyCi0gIEhpTGluayBzbHJucmNWYXJTdHIJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHNscm5yY0NtZAkJc2xybnJjU2V0Ci0gIEhpTGluayBzbHJucmNTZXQJCU9wZXJhdG9yCi0gIEhpTGluayBzbHJucmNDb2xvcgkJS2V5d29yZAotICBIaUxpbmsgc2xybnJjQ29sb3JPYmoJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHNscm5yY0NvbG9yVmFsCQlTdHJpbmcKLSAgSGlMaW5rIHNscm5yY01vbm8JCUtleXdvcmQKLSAgSGlMaW5rIHNscm5yY01vbm9PYmoJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHNscm5yY01vbm9WYWwJCVN0cmluZwotICBIaUxpbmsgc2xybnJjRnVuQXJ0CQlNYWNybwotICBIaUxpbmsgc2xybnJjRnVuR3JvdXAJCU1hY3JvCi0gIEhpTGluayBzbHJucmNGdW5SZWFkCQlNYWNybwotICBIaUxpbmsgc2xybnJjU2V0a2V5T2JqCUlkZW50aWZpZXIKLSAgSGlMaW5rIHNscm5yY1NldGtleQkJS2V5d29yZAotICBIaUxpbmsgc2xybnJjVW5zZXRrZXkJCXNscm5yY1NldGtleQorSGlMaW5rIHNscm5yY1RvZG8JCVRvZG8KK0hpTGluayBzbHJucmNTcGFjZUVycm9yCUVycm9yCitIaUxpbmsgc2xybnJjTnVtYmVyCQlOdW1iZXIKK0hpTGluayBzbHJucmNTcGVjS2V5CQlTcGVjaWFsQ2hhcgorSGlMaW5rIHNscm5yY0tleQkJU3RyaW5nCitIaUxpbmsgc2xybnJjU3BlY0NoYXIJCVNwZWNpYWxDaGFyCitIaUxpbmsgc2xybnJjU3RyaW5nCQlTdHJpbmcKK0hpTGluayBzbHJuU2xhbmdQcmVDb25kaXQJU3BlY2lhbAorSGlMaW5rIHNscm5yY0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBzbHJucmNWYXJJbnQJCUlkZW50aWZpZXIKK0hpTGluayBzbHJucmNWYXJTdHIJCUlkZW50aWZpZXIKK0hpTGluayBzbHJucmNDbWQJCXNscm5yY1NldAorSGlMaW5rIHNscm5yY1NldAkJT3BlcmF0b3IKK0hpTGluayBzbHJucmNDb2xvcgkJS2V5d29yZAorSGlMaW5rIHNscm5yY0NvbG9yT2JqCQlJZGVudGlmaWVyCitIaUxpbmsgc2xybnJjQ29sb3JWYWwJCVN0cmluZworSGlMaW5rIHNscm5yY01vbm8JCUtleXdvcmQKK0hpTGluayBzbHJucmNNb25vT2JqCQlJZGVudGlmaWVyCitIaUxpbmsgc2xybnJjTW9ub1ZhbAkJU3RyaW5nCitIaUxpbmsgc2xybnJjRnVuQXJ0CQlNYWNybworSGlMaW5rIHNscm5yY0Z1bkdyb3VwCQlNYWNybworSGlMaW5rIHNscm5yY0Z1blJlYWQJCU1hY3JvCitIaUxpbmsgc2xybnJjU2V0a2V5T2JqCUlkZW50aWZpZXIKK0hpTGluayBzbHJucmNTZXRrZXkJCUtleXdvcmQKK0hpTGluayBzbHJucmNVbnNldGtleQkJc2xybnJjU2V0a2V5CiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzbHJucmMiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Nscm5zYy52aW0gYi9ydW50aW1lL3N5bnRheC9zbHJuc2MudmltCmluZGV4IDgzOGFmNmEuLmE1ZGZhNTUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Nscm5zYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc2xybnNjLnZpbQpAQCAtMywyMCArMywxMyBAQAogIiBNYWludGFpbmVyOglQcmViZW4gJ1BlcHBlJyBHdWxkYmVyZyA8cGVwcGVAd2llbGRlcnMub3JnPgogIiBMYXN0IENoYW5nZToJOCBPY3QgMjAwNAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAogIiBjaGFyYWN0ZXJzIGluIG5ld3Nncm91cCBuYW1lcwotaWYgdmVyc2lvbiA8IDYwMAotICBzZXQgaXNrPUAsNDgtNTcsLiwtLF8sKwotZWxzZQotICBzZXRsb2NhbCBpc2s9QCw0OC01NywuLC0sXywrCi1lbmRpZgorc2V0bG9jYWwgaXNrPUAsNDgtNTcsLiwtLF8sKwogCiBzeW4gbWF0Y2ggc2xybnNjQ29tbWVudAkJIiUuKiQiCiBzeW4gbWF0Y2ggc2xybnNjU2VjdGlvbkNvbQkiLl0uKiJsYz0yCkBAIC01MSwzNCArNDQsMjYgQEAKIHN5biBtYXRjaCBzbHJuU2NvcmVMaW5lCQkiXlxzKlNjb3JlOjpcPVxzXCs9XD1bLStdXD1cZFwrXHMqXCglLipcKVw9JCIgc2tpcGVtcHR5IG5leHRncm91cD1zbHJuc2NTY29yZUl0ZW0gY29udGFpbnM9c2xybnNjU2NvcmUsc2xybnNjRGVsaW0sc2xybnNjT3BlcixzbHJuc2NOdW1iZXIsc2xybnNjU2NvcmVJZGVudAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zbHJuc2Nfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfc2xybnNjX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc2xybnNjQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgc2xybnNjU2VjdGlvbkNvbQlzbHJuc2NDb21tZW50Ci0gIEhpTGluayBzbHJuc2NHcm91cAkJU3RyaW5nCi0gIEhpTGluayBzbHJuc2NOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgc2xybnNjRGF0ZQkJU3BlY2lhbAotICBIaUxpbmsgc2xybnNjRGVsaW0JCURlbGltaXRlcgotICBIaUxpbmsgc2xybnNjQ29tbWEJCVNwZWNpYWxDaGFyCi0gIEhpTGluayBzbHJuc2NPcGVyCQlTcGVjaWFsQ2hhcgotICBIaUxpbmsgc2xybnNjRXNjCQlTdHJpbmcKLSAgSGlMaW5rIHNscm5zY1NlY3Rpb25TdGQJVHlwZQotICBIaUxpbmsgc2xybnNjU2VjdGlvbk5vdAlEZWxpbWl0ZXIKLSAgSGlMaW5rIHNscm5zY0l0ZW0JCVN0YXRlbWVudAotICBIaUxpbmsgc2xybnNjU2NvcmUJCUtleXdvcmQKLSAgSGlMaW5rIHNscm5zY1Njb3JlSWRlbnQJSWRlbnRpZmllcgotICBIaUxpbmsgc2xybnNjSW5jbHVkZQkJS2V5d29yZAorSGlMaW5rIHNscm5zY0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBzbHJuc2NTZWN0aW9uQ29tCXNscm5zY0NvbW1lbnQKK0hpTGluayBzbHJuc2NHcm91cAkJU3RyaW5nCitIaUxpbmsgc2xybnNjTnVtYmVyCQlOdW1iZXIKK0hpTGluayBzbHJuc2NEYXRlCQlTcGVjaWFsCitIaUxpbmsgc2xybnNjRGVsaW0JCURlbGltaXRlcgorSGlMaW5rIHNscm5zY0NvbW1hCQlTcGVjaWFsQ2hhcgorSGlMaW5rIHNscm5zY09wZXIJCVNwZWNpYWxDaGFyCitIaUxpbmsgc2xybnNjRXNjCQlTdHJpbmcKK0hpTGluayBzbHJuc2NTZWN0aW9uU3RkCVR5cGUKK0hpTGluayBzbHJuc2NTZWN0aW9uTm90CURlbGltaXRlcgorSGlMaW5rIHNscm5zY0l0ZW0JCVN0YXRlbWVudAorSGlMaW5rIHNscm5zY1Njb3JlCQlLZXl3b3JkCitIaUxpbmsgc2xybnNjU2NvcmVJZGVudAlJZGVudGlmaWVyCitIaUxpbmsgc2xybnNjSW5jbHVkZQkJS2V5d29yZAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2xybnNjIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zbS52aW0gYi9ydW50aW1lL3N5bnRheC9zbS52aW0KaW5kZXggOGZkYzE0Yi4uMzNhNjc3MiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc20udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NtLnZpbQpAQCAtNTYsMzYgKzU2LDI4IEBACiBzeW4gcmVnaW9uIHNtQ2xhdXNlCW1hdGNoZ3JvdXA9RGVsaW1pdGVyIHN0YXJ0PSJcJD8uIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9IlwkXC4iIGNvbnRhaW5zPXNtRWxzZSxzbUNsYXVzZSxzbVZhcixzbUNsYXVzZUNvbnQKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc21pbF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zbWlsX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc21DbGF1c2UJU3BlY2lhbAotICBIaUxpbmsgc21DbGF1c2VFcnJvcglFcnJvcgotICBIaUxpbmsgc21Db21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIHNtRGVmaW5lCVN0YXRlbWVudAotICBIaUxpbmsgc21FbHNlCQlEZWxpbWl0ZXIKLSAgSGlMaW5rIHNtSGVhZGVyCVN0YXRlbWVudAotICBIaUxpbmsgc21IZWFkZXJTZXAJU3RyaW5nCi0gIEhpTGluayBzbU1lc2cJCVNwZWNpYWwKLSAgSGlMaW5rIHNtUHJlY2VkZW5jZQlOdW1iZXIKLSAgSGlMaW5rIHNtUmV3cml0ZQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHNtUmV3cml0ZUNvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgc21SZXdyaXRlTGhzVG9rZW4JU3RyaW5nCi0gIEhpTGluayBzbVJld3JpdGVMaHNVc2VyCVN0YXRlbWVudAotICBIaUxpbmsgc21SZXdyaXRlUmhzVG9rZW4JU3RyaW5nCi0gIEhpTGluayBzbVJ1bGVzZXQJUHJlcHJvYwotICBIaUxpbmsgc21UcnVzdGVkCVNwZWNpYWwKLSAgSGlMaW5rIHNtVmFyCQlTdHJpbmcKK0hpTGluayBzbUNsYXVzZQlTcGVjaWFsCitIaUxpbmsgc21DbGF1c2VFcnJvcglFcnJvcgorSGlMaW5rIHNtQ29tbWVudAlDb21tZW50CitIaUxpbmsgc21EZWZpbmUJU3RhdGVtZW50CitIaUxpbmsgc21FbHNlCQlEZWxpbWl0ZXIKK0hpTGluayBzbUhlYWRlcglTdGF0ZW1lbnQKK0hpTGluayBzbUhlYWRlclNlcAlTdHJpbmcKK0hpTGluayBzbU1lc2cJCVNwZWNpYWwKK0hpTGluayBzbVByZWNlZGVuY2UJTnVtYmVyCitIaUxpbmsgc21SZXdyaXRlCVN0YXRlbWVudAorSGlMaW5rIHNtUmV3cml0ZUNvbW1lbnQJQ29tbWVudAorSGlMaW5rIHNtUmV3cml0ZUxoc1Rva2VuCVN0cmluZworSGlMaW5rIHNtUmV3cml0ZUxoc1VzZXIJU3RhdGVtZW50CitIaUxpbmsgc21SZXdyaXRlUmhzVG9rZW4JU3RyaW5nCitIaUxpbmsgc21SdWxlc2V0CVByZXByb2MKK0hpTGluayBzbVRydXN0ZWQJU3BlY2lhbAorSGlMaW5rIHNtVmFyCQlTdHJpbmcKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNtIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zbWFydHkudmltIGIvcnVudGltZS9zeW50YXgvc21hcnR5LnZpbQppbmRleCA2ZGRhMzY2Li5hYjhlODVkIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zbWFydHkudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NtYXJ0eS52aW0KQEAgLTgsMTEgKzgsMTAgQEAKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCiBpZiAhZXhpc3RzKCJtYWluX3N5bnRheCIpCi0gIGlmIHZlcnNpb24gPCA2MDAKLSAgICBzeW50YXggY2xlYXIKLSAgZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCi0gIGZpbmlzaAotZW5kaWYKKyAgIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKKyAgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgICBmaW5pc2gKKyAgZW5kaWYKICAgbGV0IG1haW5fc3ludGF4ID0gJ3NtYXJ0eScKIGVuZGlmCiAKQEAgLTU3LDI1ICs1NiwxOCBAQAogICBzeW4gcmVnaW9uIGh0bWxMaW5rIHN0YXJ0PSI8YVw+XF9bXj5dKlw8aHJlZlw+IiBlbmQ9IjwvYT4ibWU9ZS00IGNvbnRhaW5zPUBTcGVsbCxodG1sVGFnLGh0bWxFbmRUYWcsaHRtbFNwZWNpYWxDaGFyLGh0bWxQcmVQcm9jLGh0bWxDb21tZW50LGphdmFTY3JpcHQsQGh0bWxQcmVwcm9jLHNtYXJ0eVpvbmUKIAogCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc21hcnR5X3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3NtYXJ0eV9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHNtYXJ0eVRhZ05hbWUgSWRlbnRpZmllcgotICBIaUxpbmsgc21hcnR5UHJvcGVydHkgQ29uc3RhbnQKLSAgIiBpZiB5b3Ugd2FudCB0aGUgdGV4dCBpbnNpZGUgdGhlIGJyYWNlcyB0byBiZSBjb2xvcmVkLCB0aGVuCi0gICIgcmVtb3ZlIHRoZSBjb21tZW50IGluIGZyb20gb2YgdGhlIG5leHQgc3RhdGVtZW50Ci0gICJIaUxpbmsgc21hcnR5Wm9uZSBJbmNsdWRlCi0gIEhpTGluayBzbWFydHlJbkZ1bmMgRnVuY3Rpb24KLSAgSGlMaW5rIHNtYXJ0eUJsb2NrIENvbnN0YW50Ci0gIEhpTGluayBzbWFydHlEb3QgU3BlY2lhbENoYXIKLSAgSGlMaW5rIHNtYXJ0eU1vZGlmaWVyIEZ1bmN0aW9uCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorSGlMaW5rIHNtYXJ0eVRhZ05hbWUgSWRlbnRpZmllcgorSGlMaW5rIHNtYXJ0eVByb3BlcnR5IENvbnN0YW50CisiIGlmIHlvdSB3YW50IHRoZSB0ZXh0IGluc2lkZSB0aGUgYnJhY2VzIHRvIGJlIGNvbG9yZWQsIHRoZW4KKyIgcmVtb3ZlIHRoZSBjb21tZW50IGluIGZyb20gb2YgdGhlIG5leHQgc3RhdGVtZW50CisiSGlMaW5rIHNtYXJ0eVpvbmUgSW5jbHVkZQorSGlMaW5rIHNtYXJ0eUluRnVuYyBGdW5jdGlvbgorSGlMaW5rIHNtYXJ0eUJsb2NrIENvbnN0YW50CitIaUxpbmsgc21hcnR5RG90IFNwZWNpYWxDaGFyCitIaUxpbmsgc21hcnR5TW9kaWZpZXIgRnVuY3Rpb24KK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNtYXJ0eSIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc21jbC52aW0gYi9ydW50aW1lL3N5bnRheC9zbWNsLnZpbQppbmRleCBkOWFmYmE2Li5hNWJhYTQ3IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zbWNsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zbWNsLnZpbQpAQCAtMTAsOSArMTAsOCBAQAogIgkJY2hlY2sgZm9yICdiOmN1cnJlbnRfc3ludGF4JywgcmVtb3ZlZCAnZGlkX3NtY2xfc3ludGF4X2luaXRzJwogIiAyNmFwcjIwMDYJY2hhbmdlZCAnc3RhdGFfc21jbCcgdG8gJ3NtY2wnCiAKLWlmIHZlcnNpb24gPCA2MDAKLQlzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAJZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zbWlsLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NtaWwudmltCmluZGV4IDZiNWEwMDIuLjg0ODI2MzIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NtaWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NtaWwudmltCkBAIC03LDExICs3LDggQEAKICIgVG8gbGVhcm4gbW9yZSBhYm91dCBTTUlMLCBwbGVhc2UgcmVmZXIgdG8gaHR0cDovL3d3dy53My5vcmcvQXVkaW9WaWRlby8KICIgYW5kIHRvIGh0dHA6Ly93d3cuaGVsaW8ub3JnL3Byb2R1Y3RzL3NtaWwvdHV0b3JpYWwvCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMTUsMzggKzExMiwzMCBAQAogc3luIHJlZ2lvbiBzbWlsQ29tbWVudAkJICAgICAgc3RhcnQ9KzwhRE9DVFlQRSsga2VlcGVuZCBlbmQ9Kz4rCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NtaWxfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfc21pbF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHNtaWxUYWcJCQlGdW5jdGlvbgotICBIaUxpbmsgc21pbEVuZFRhZwkJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHNtaWxBcmcJCQlUeXBlCi0gIEhpTGluayBzbWlsVGFnTmFtZQkJCXNtaWxTdGF0ZW1lbnQKLSAgSGlMaW5rIHNtaWxTcGVjaWFsVGFnTmFtZQkJRXhjZXB0aW9uCi0gIEhpTGluayBzbWlsVmFsdWUJCQlWYWx1ZQotICBIaUxpbmsgc21pbFNwZWNpYWxDaGFyCQlTcGVjaWFsCitIaUxpbmsgc21pbFRhZwkJCUZ1bmN0aW9uCitIaUxpbmsgc21pbEVuZFRhZwkJCUlkZW50aWZpZXIKK0hpTGluayBzbWlsQXJnCQkJVHlwZQorSGlMaW5rIHNtaWxUYWdOYW1lCQkJc21pbFN0YXRlbWVudAorSGlMaW5rIHNtaWxTcGVjaWFsVGFnTmFtZQkJRXhjZXB0aW9uCitIaUxpbmsgc21pbFZhbHVlCQkJVmFsdWUKK0hpTGluayBzbWlsU3BlY2lhbENoYXIJCVNwZWNpYWwKIAotICBIaUxpbmsgc21pbFNwZWNpYWwJCQlTcGVjaWFsCi0gIEhpTGluayBzbWlsU3BlY2lhbENoYXIJCVNwZWNpYWwKLSAgSGlMaW5rIHNtaWxTdHJpbmcJCQlTdHJpbmcKLSAgSGlMaW5rIHNtaWxTdGF0ZW1lbnQJCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHNtaWxDb21tZW50CQkJQ29tbWVudAotICBIaUxpbmsgc21pbENvbW1lbnRQYXJ0CQlDb21tZW50Ci0gIEhpTGluayBzbWlsUHJlUHJvYwkJCVByZVByb2MKLSAgSGlMaW5rIHNtaWxWYWx1ZQkJCVN0cmluZwotICBIaUxpbmsgc21pbENvbW1lbnRFcnJvcgkJc21pbEVycm9yCi0gIEhpTGluayBzbWlsVGFnRXJyb3IJCQlzbWlsRXJyb3IKLSAgSGlMaW5rIHNtaWxFcnJvcgkJCUVycm9yCitIaUxpbmsgc21pbFNwZWNpYWwJCQlTcGVjaWFsCitIaUxpbmsgc21pbFNwZWNpYWxDaGFyCQlTcGVjaWFsCitIaUxpbmsgc21pbFN0cmluZwkJCVN0cmluZworSGlMaW5rIHNtaWxTdGF0ZW1lbnQJCQlTdGF0ZW1lbnQKK0hpTGluayBzbWlsQ29tbWVudAkJCUNvbW1lbnQKK0hpTGluayBzbWlsQ29tbWVudFBhcnQJCUNvbW1lbnQKK0hpTGluayBzbWlsUHJlUHJvYwkJCVByZVByb2MKK0hpTGluayBzbWlsVmFsdWUJCQlTdHJpbmcKK0hpTGluayBzbWlsQ29tbWVudEVycm9yCQlzbWlsRXJyb3IKK0hpTGluayBzbWlsVGFnRXJyb3IJCQlzbWlsRXJyb3IKK0hpTGluayBzbWlsRXJyb3IJCQlFcnJvcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic21pbCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc21pdGgudmltIGIvcnVudGltZS9zeW50YXgvc21pdGgudmltCmluZGV4IGUwNWNlNjkuLjgyNDI5NjkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NtaXRoLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zbWl0aC52aW0KQEAgLTMsMTEgKzMsOCBAQAogIiBNYWludGFpbmVyOglSYWZhbCBNLiBTdWxlam1hbiA8cm1zQHBvY3p0YS5vbmV0LnBsPgogIiBMYXN0IENoYW5nZToJMjEuMDcuMjAwMAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjgsMjQgKzI1LDE2IEBACiBzeW4gY2FzZSBtYXRjaAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zbWl0aF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zbWl0aF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHNtaXRoUmVnaXN0ZXIJSWRlbnRpZmllcgotICBIaUxpbmsgc21pdGhLZXl3b3JkCUtleXdvcmQKLQlIaUxpbmsgc21pdGhDb21tZW50IENvbW1lbnQKLQlIaUxpbmsgc21pdGhTdHJpbmcgU3RyaW5nCi0gIEhpTGluayBzbWl0aE51bWJlcglOdW1iZXIKK0hpTGluayBzbWl0aFJlZ2lzdGVyCUlkZW50aWZpZXIKK0hpTGluayBzbWl0aEtleXdvcmQJS2V5d29yZAorSGlMaW5rIHNtaXRoQ29tbWVudCBDb21tZW50CitIaUxpbmsgc21pdGhTdHJpbmcgU3RyaW5nCitIaUxpbmsgc21pdGhOdW1iZXIJTnVtYmVyCiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNtaXRoIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zbWwudmltIGIvcnVudGltZS9zeW50YXgvc21sLnZpbQppbmRleCBhYTdkNjRhLi4wMWQ0OTRkIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zbWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NtbC52aW0KQEAgLTgsMTEgKzgsOCBAQAogIiAgICAgICAgICAgICAgIDIwMDIgSnVuIDAyIC0gRml4ZWQgc21hbGwgdHlwbyAgKE1NKQogIiAgICAgICAgICAgICAgIDIwMDEgTm92IDIwIC0gRml4ZWQgc21hbGwgaGlnaGxpZ2h0aW5nIGJ1ZyB3aXRoIG1vZHVsZXMgKE1NKQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTY4LDYyICsxNjUsNTQgQEAKIHN5biBzeW5jIG1hdGNoIHNtbFNpZ1N5bmMgICAgIGdyb3VwdGhlcmUgc21sU2lnICAgICAiXDxlbmRcPiIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc21sX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3NtbF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHNtbEJyYWNlRXJyCSBFcnJvcgotICBIaUxpbmsgc21sQnJhY2tFcnIJIEVycm9yCi0gIEhpTGluayBzbWxQYXJlbkVycgkgRXJyb3IKK0hpTGluayBzbWxCcmFjZUVycgkgRXJyb3IKK0hpTGluayBzbWxCcmFja0VycgkgRXJyb3IKK0hpTGluayBzbWxQYXJlbkVycgkgRXJyb3IKIAotICBIaUxpbmsgc21sQ29tbWVudEVycgkgRXJyb3IKK0hpTGluayBzbWxDb21tZW50RXJyCSBFcnJvcgogCi0gIEhpTGluayBzbWxFbmRFcnIJIEVycm9yCi0gIEhpTGluayBzbWxUaGVuRXJyCSBFcnJvcgorSGlMaW5rIHNtbEVuZEVycgkgRXJyb3IKK0hpTGluayBzbWxUaGVuRXJyCSBFcnJvcgogCi0gIEhpTGluayBzbWxDaGFyRXJyCSBFcnJvcgorSGlMaW5rIHNtbENoYXJFcnIJIEVycm9yCiAKLSAgSGlMaW5rIHNtbENvbW1lbnQJIENvbW1lbnQKK0hpTGluayBzbWxDb21tZW50CSBDb21tZW50CiAKLSAgSGlMaW5rIHNtbE1vZFBhdGgJIEluY2x1ZGUKLSAgSGlMaW5rIHNtbE1vZHVsZQkgSW5jbHVkZQotICBIaUxpbmsgc21sTW9kUGFyYW0xCSBJbmNsdWRlCi0gIEhpTGluayBzbWxNb2RUeXBlCSBJbmNsdWRlCi0gIEhpTGluayBzbWxNUFJlc3RyMwkgSW5jbHVkZQotICBIaUxpbmsgc21sRnVsbE1vZAkgSW5jbHVkZQotICBIaUxpbmsgc21sTW9kVHlwZVJlc3RyIEluY2x1ZGUKLSAgSGlMaW5rIHNtbFdpdGgJIEluY2x1ZGUKLSAgSGlMaW5rIHNtbE1URGVmCSBJbmNsdWRlCitIaUxpbmsgc21sTW9kUGF0aAkgSW5jbHVkZQorSGlMaW5rIHNtbE1vZHVsZQkgSW5jbHVkZQorSGlMaW5rIHNtbE1vZFBhcmFtMQkgSW5jbHVkZQorSGlMaW5rIHNtbE1vZFR5cGUJIEluY2x1ZGUKK0hpTGluayBzbWxNUFJlc3RyMwkgSW5jbHVkZQorSGlMaW5rIHNtbEZ1bGxNb2QJIEluY2x1ZGUKK0hpTGluayBzbWxNb2RUeXBlUmVzdHIgSW5jbHVkZQorSGlMaW5rIHNtbFdpdGgJIEluY2x1ZGUKK0hpTGluayBzbWxNVERlZgkgSW5jbHVkZQogCi0gIEhpTGluayBzbWxDb25zdHJ1Y3RvciAgQ29uc3RhbnQKK0hpTGluayBzbWxDb25zdHJ1Y3RvciAgQ29uc3RhbnQKIAotICBIaUxpbmsgc21sTW9kUHJlUkhTCSBLZXl3b3JkCi0gIEhpTGluayBzbWxNUFJlc3RyMgkgS2V5d29yZAotICBIaUxpbmsgc21sS2V5d29yZAkgS2V5d29yZAotICBIaUxpbmsgc21sRnVuRGVmCSBLZXl3b3JkCi0gIEhpTGluayBzbWxSZWZBc3NpZ24JIEtleXdvcmQKLSAgSGlMaW5rIHNtbEtleUNoYXIJIEtleXdvcmQKLSAgSGlMaW5rIHNtbEFueVZhcgkgS2V5d29yZAotICBIaUxpbmsgc21sVG9wU3RvcAkgS2V5d29yZAotICBIaUxpbmsgc21sT3BlcmF0b3IJIEtleXdvcmQKK0hpTGluayBzbWxNb2RQcmVSSFMJIEtleXdvcmQKK0hpTGluayBzbWxNUFJlc3RyMgkgS2V5d29yZAorSGlMaW5rIHNtbEtleXdvcmQJIEtleXdvcmQKK0hpTGluayBzbWxGdW5EZWYJIEtleXdvcmQKK0hpTGluayBzbWxSZWZBc3NpZ24JIEtleXdvcmQKK0hpTGluayBzbWxLZXlDaGFyCSBLZXl3b3JkCitIaUxpbmsgc21sQW55VmFyCSBLZXl3b3JkCitIaUxpbmsgc21sVG9wU3RvcAkgS2V5d29yZAorSGlMaW5rIHNtbE9wZXJhdG9yCSBLZXl3b3JkCiAKLSAgSGlMaW5rIHNtbEJvb2xlYW4JIEJvb2xlYW4KLSAgSGlMaW5rIHNtbENoYXJhY3RlcgkgQ2hhcmFjdGVyCi0gIEhpTGluayBzbWxOdW1iZXIJIE51bWJlcgotICBIaUxpbmsgc21sUmVhbAkgRmxvYXQKLSAgSGlMaW5rIHNtbFN0cmluZwkgU3RyaW5nCi0gIEhpTGluayBzbWxUeXBlCSBUeXBlCi0gIEhpTGluayBzbWxUb2RvCSBUb2RvCi0gIEhpTGluayBzbWxFbmNsCSBLZXl3b3JkCitIaUxpbmsgc21sQm9vbGVhbgkgQm9vbGVhbgorSGlMaW5rIHNtbENoYXJhY3RlcgkgQ2hhcmFjdGVyCitIaUxpbmsgc21sTnVtYmVyCSBOdW1iZXIKK0hpTGluayBzbWxSZWFsCSBGbG9hdAorSGlMaW5rIHNtbFN0cmluZwkgU3RyaW5nCitIaUxpbmsgc21sVHlwZQkgVHlwZQorSGlMaW5rIHNtbFRvZG8JIFRvZG8KK0hpTGluayBzbWxFbmNsCSBLZXl3b3JkCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzbWwiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NubnNuZXQudmltIGIvcnVudGltZS9zeW50YXgvc25uc25ldC52aW0KaW5kZXggNmIyNGRlNS4uYzczODkxZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc25uc25ldC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc25uc25ldC52aW0KQEAgLTgsOSArOCw4IEBACiAiIFNOTlMgaHR0cDovL3d3dy1yYS5pbmZvcm1hdGlrLnVuaS10dWViaW5nZW4uZGUvU05OUy8KICIgaXMgYSBzaW11bGF0b3IgZm9yIG5ldXJhbCBuZXR3b3Jrcy4KIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTQsMjMgKzUzLDE2IEBACiBzeW4gbWF0Y2gJc25uc25ldENvbW1lbnQJIiMuKiQiIGNvbnRhaW5zPXNubnNuZXRUb2RvCiBzeW4ga2V5d29yZAlzbm5zbmV0VG9kbwlUT0RPIFhYWCBGSVhNRSBjb250YWluZWQKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NubnNuZXRfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfc25uc25ldF9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHNubnNuZXRUeXBlCQlUeXBlCi0gIEhpTGluayBzbm5zbmV0Q29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgc25uc25ldE51bWJlcnMJCU51bWJlcgotICBIaUxpbmsgc25uc25ldFNlY3Rpb24JCVN0YXRlbWVudAotICBIaUxpbmsgc25uc25ldFRpdGxlCQlMYWJlbAotICBIaUxpbmsgc25uc25ldFRvZG8JCVRvZG8KK0hpTGluayBzbm5zbmV0VHlwZQkJVHlwZQorSGlMaW5rIHNubnNuZXRDb21tZW50CQlDb21tZW50CitIaUxpbmsgc25uc25ldE51bWJlcnMJCU51bWJlcgorSGlMaW5rIHNubnNuZXRTZWN0aW9uCQlTdGF0ZW1lbnQKK0hpTGluayBzbm5zbmV0VGl0bGUJCUxhYmVsCitIaUxpbmsgc25uc25ldFRvZG8JCVRvZG8KIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNubnNuZXQiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NubnNwYXQudmltIGIvcnVudGltZS9zeW50YXgvc25uc3BhdC52aW0KaW5kZXggNWJmYTQ4ZS4uZmZjNGNhZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc25uc3BhdC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc25uc3BhdC52aW0KQEAgLTgsOSArOCw4IEBACiAiIFNOTlMgaHR0cDovL3d3dy1yYS5pbmZvcm1hdGlrLnVuaS10dWViaW5nZW4uZGUvU05OUy8KICIgaXMgYSBzaW11bGF0b3IgZm9yIG5ldXJhbCBuZXR3b3Jrcy4KIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNDQsMjYgKzQzLDE5IEBACiBzeW4gbWF0Y2gJc25uc3BhdENvbW1lbnQJIiMuKiQiIGNvbnRhaW5zPXNubnNwYXRUb2RvCiBzeW4ga2V5d29yZAlzbm5zcGF0VG9kbwlUT0RPIFhYWCBGSVhNRSBjb250YWluZWQKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NubnNwYXRfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfc25uc3BhdF9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHNubnNwYXRHZW4JCVN0YXRlbWVudAotICBIaUxpbmsgc25uc3BhdEhlYWRlcgkJRXJyb3IKLSAgSGlMaW5rIHNubnNwYXROb0hlYWRlcglEZWZpbmUKLSAgSGlMaW5rIHNubnNwYXROdW1iZXJzCQlOdW1iZXIKLSAgSGlMaW5rIHNubnNwYXRDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBzbm5zcGF0RXJyb3IJCUVycm9yCi0gIEhpTGluayBzbm5zcGF0VG9kbwkJVG9kbwotICBIaUxpbmsgc25uc3BhdEFjY2VwdGVkCU5PTkUKLSAgSGlMaW5rIHNubnNwYXRCcmFjCQlOT05FCitIaUxpbmsgc25uc3BhdEdlbgkJU3RhdGVtZW50CitIaUxpbmsgc25uc3BhdEhlYWRlcgkJRXJyb3IKK0hpTGluayBzbm5zcGF0Tm9IZWFkZXIJRGVmaW5lCitIaUxpbmsgc25uc3BhdE51bWJlcnMJCU51bWJlcgorSGlMaW5rIHNubnNwYXRDb21tZW50CQlDb21tZW50CitIaUxpbmsgc25uc3BhdEVycm9yCQlFcnJvcgorSGlMaW5rIHNubnNwYXRUb2RvCQlUb2RvCitIaUxpbmsgc25uc3BhdEFjY2VwdGVkCU5PTkUKK0hpTGluayBzbm5zcGF0QnJhYwkJTk9ORQogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic25uc3BhdCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc25uc3Jlcy52aW0gYi9ydW50aW1lL3N5bnRheC9zbm5zcmVzLnZpbQppbmRleCA0YzFkNTk2Li4yZDI3OTE2IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zbm5zcmVzLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zbm5zcmVzLnZpbQpAQCAtOCw5ICs4LDggQEAKICIgU05OUyBodHRwOi8vd3d3LXJhLmluZm9ybWF0aWsudW5pLXR1ZWJpbmdlbi5kZS9TTk5TLwogIiBpcyBhIHNpbXVsYXRvciBmb3IgbmV1cmFsIG5ldHdvcmtzLgogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0zNywyMyArMzYsMTYgQEAKIHN5biBtYXRjaAlzbm5zcmVzQ29tbWVudAkiIy4qJCIgY29udGFpbnM9c25uc3Jlc1RvZG8KIHN5biBrZXl3b3JkCXNubnNyZXNUb2RvCVRPRE8gWFhYIEZJWE1FIGNvbnRhaW5lZAogCi1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc25uc3Jlc19zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zbm5zcmVzX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc25uc3Jlc0dlbgkJU3RhdGVtZW50Ci0gIEhpTGluayBzbm5zcmVzSGVhZGVyCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHNubnNyZXNOb0hlYWRlcglEZWZpbmUKLSAgSGlMaW5rIHNubnNyZXNOdW1iZXJzCQlOdW1iZXIKLSAgSGlMaW5rIHNubnNyZXNDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBzbm5zcmVzVG9kbwkJVG9kbworSGlMaW5rIHNubnNyZXNHZW4JCVN0YXRlbWVudAorSGlMaW5rIHNubnNyZXNIZWFkZXIJCVN0YXRlbWVudAorSGlMaW5rIHNubnNyZXNOb0hlYWRlcglEZWZpbmUKK0hpTGluayBzbm5zcmVzTnVtYmVycwkJTnVtYmVyCitIaUxpbmsgc25uc3Jlc0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBzbm5zcmVzVG9kbwkJVG9kbwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic25uc3JlcyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc25vYm9sNC52aW0gYi9ydW50aW1lL3N5bnRheC9zbm9ib2w0LnZpbQppbmRleCAwN2ViNjNkLi42OTFhY2RlIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zbm9ib2w0LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zbm9ib2w0LnZpbQpAQCAtMTAsMTEgKzEwLDggQEAKICIgLSBvbmUgY2hhcmFjdGVyIGxhYmVscyB3ZXJlbid0IGRpc3BsYXllZCBjb3JyZWN0bHkuCiAiIC0gbm9uZXhpc3RlbnQgU25vYm9sNCBrZXl3b3JkcyBkaXNwbGF5ZWQgYXMgZXJyb3JzLgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNzksNDcgKzc2LDM5IEBACiAiIHN5biBtYXRjaCAgICAgICBzbm9ib2w0Q29tbWVudCAgICAgICJeXCNcIS4qJCIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc25vYm9sNF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zbm9ib2w0X3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc25vYm9sNENvbnN0YW50ICAgICAgICBDb25zdGFudAotICBIaUxpbmsgc25vYm9sNExhYmVsICAgICAgICAgICBMYWJlbAotICBIaUxpbmsgc25vYm9sNEdvdG8gICAgICAgICAgICBSZXBlYXQKLSAgSGlMaW5rIHNub2JvbDRDb25kaXRpb25hbCAgICAgQ29uZGl0aW9uYWwKLSAgSGlMaW5rIHNub2JvbDRSZXBlYXQgICAgICAgICAgUmVwZWF0Ci0gIEhpTGluayBzbm9ib2w0TnVtYmVyICAgICAgICAgIE51bWJlcgotICBIaUxpbmsgc25vYm9sNEVycm9yICAgICAgICAgICBFcnJvcgotICBIaUxpbmsgc25vYm9sNFN0YXRlbWVudCAgICAgICBQcmVQcm9jCi0gIEhpTGluayBzbm9ib2w0Qm9ndXNTdGF0ZW1lbnQgIHNub2JvbDRFcnJvcgotICBIaUxpbmsgc25vYm9sNFN0cmluZyAgICAgICAgICBTdHJpbmcKLSAgSGlMaW5rIHNub2JvbDRDb21tZW50ICAgICAgICAgQ29tbWVudAotICBIaUxpbmsgc25vYm9sNFNwZWNpYWwgICAgICAgICBTcGVjaWFsCi0gIEhpTGluayBzbm9ib2w0VG9kbyAgICAgICAgICAgIFRvZG8KLSAgSGlMaW5rIHNub2JvbDRLZXl3b3JkICAgICAgICAgS2V5d29yZAotICBIaUxpbmsgc25vYm9sNEZ1bmN0aW9uICAgICAgICBGdW5jdGlvbgotICBIaUxpbmsgc25vYm9sNE1hdGhzT3BlcmF0b3IgICBPcGVyYXRvcgotICBIaUxpbmsgc25vYm9sNFBhcmVuRXJyb3IgICAgICBzbm9ib2w0RXJyb3IKLSAgSGlMaW5rIHNub2JvbDRFcnJJblBhcmVuICAgICAgc25vYm9sNEVycm9yCi0gIEhpTGluayBzbm9ib2w0RXJySW5CcmFja2V0ICAgIHNub2JvbDRFcnJvcgotICBIaUxpbmsgc25vYm9sNFN5c1ZhciAgICAgICAgICBLZXl3b3JkCi0gIEhpTGluayBzbm9ib2w0Qm9ndXNTeXNWYXIgICAgIHNub2JvbDRFcnJvcgotICBpZiBleGlzdHMoInNub2JvbDRfc3RyaWN0X21vZGUiKQotICAgIEhpTGluayBzbm9ib2w0RXh0U3lzVmFyICAgICAgIFdhcm5pbmdNc2cKLSAgICBIaUxpbmsgc25vYm9sNEV4dEtleXdvcmQgICAgICBXYXJuaW5nTXNnCi0gIGVsc2UKLSAgICBIaUxpbmsgc25vYm9sNEV4dFN5c1ZhciAgICAgICBzbm9ib2w0U3lzVmFyCi0gICAgSGlMaW5rIHNub2JvbDRFeHRLZXl3b3JkICAgICAgc25vYm9sNEtleXdvcmQKLSAgZW5kaWYKLQotICBkZWxjb21tYW5kIEhpTGluaworSGlMaW5rIHNub2JvbDRDb25zdGFudCAgICAgICAgQ29uc3RhbnQKK0hpTGluayBzbm9ib2w0TGFiZWwgICAgICAgICAgIExhYmVsCitIaUxpbmsgc25vYm9sNEdvdG8gICAgICAgICAgICBSZXBlYXQKK0hpTGluayBzbm9ib2w0Q29uZGl0aW9uYWwgICAgIENvbmRpdGlvbmFsCitIaUxpbmsgc25vYm9sNFJlcGVhdCAgICAgICAgICBSZXBlYXQKK0hpTGluayBzbm9ib2w0TnVtYmVyICAgICAgICAgIE51bWJlcgorSGlMaW5rIHNub2JvbDRFcnJvciAgICAgICAgICAgRXJyb3IKK0hpTGluayBzbm9ib2w0U3RhdGVtZW50ICAgICAgIFByZVByb2MKK0hpTGluayBzbm9ib2w0Qm9ndXNTdGF0ZW1lbnQgIHNub2JvbDRFcnJvcgorSGlMaW5rIHNub2JvbDRTdHJpbmcgICAgICAgICAgU3RyaW5nCitIaUxpbmsgc25vYm9sNENvbW1lbnQgICAgICAgICBDb21tZW50CitIaUxpbmsgc25vYm9sNFNwZWNpYWwgICAgICAgICBTcGVjaWFsCitIaUxpbmsgc25vYm9sNFRvZG8gICAgICAgICAgICBUb2RvCitIaUxpbmsgc25vYm9sNEtleXdvcmQgICAgICAgICBLZXl3b3JkCitIaUxpbmsgc25vYm9sNEZ1bmN0aW9uICAgICAgICBGdW5jdGlvbgorSGlMaW5rIHNub2JvbDRNYXRoc09wZXJhdG9yICAgT3BlcmF0b3IKK0hpTGluayBzbm9ib2w0UGFyZW5FcnJvciAgICAgIHNub2JvbDRFcnJvcgorSGlMaW5rIHNub2JvbDRFcnJJblBhcmVuICAgICAgc25vYm9sNEVycm9yCitIaUxpbmsgc25vYm9sNEVyckluQnJhY2tldCAgICBzbm9ib2w0RXJyb3IKK0hpTGluayBzbm9ib2w0U3lzVmFyICAgICAgICAgIEtleXdvcmQKK0hpTGluayBzbm9ib2w0Qm9ndXNTeXNWYXIgICAgIHNub2JvbDRFcnJvcgoraWYgZXhpc3RzKCJzbm9ib2w0X3N0cmljdF9tb2RlIikKK0hpTGluayBzbm9ib2w0RXh0U3lzVmFyICAgICAgIFdhcm5pbmdNc2cKK0hpTGluayBzbm9ib2w0RXh0S2V5d29yZCAgICAgIFdhcm5pbmdNc2cKK2Vsc2UKK0hpTGluayBzbm9ib2w0RXh0U3lzVmFyICAgICAgIHNub2JvbDRTeXNWYXIKK0hpTGluayBzbm9ib2w0RXh0S2V5d29yZCAgICAgIHNub2JvbDRLZXl3b3JkCiBlbmRpZgogCitkZWxjb21tYW5kIEhpTGluaworCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzbm9ib2w0IgogIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NwZWMudmltIGIvcnVudGltZS9zeW50YXgvc3BlYy52aW0KaW5kZXggOTk1MmJkMi4uZWRmZGY0MyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc3BlYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc3BlYy52aW0KQEAgLTUsMTEgKzUsOCBAQAogIiBGb3JtZXIgTWFpbnRhaW5lcjogIERvbm92YW4gUmViYmVjaGkgZWxmbG9yZEBwYW5peC5jb20gKHVudGlsIE1hcmNoIDIwMTQpCiAiIExhc3QgQ2hhbmdlOiBTYXQgQXByIDkgMTU6MzAgMjAxNiBGaWxpcCBTenltYcWEc2tpCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xNTksNzggKzE1Niw3MCBAQAogc3luIHN5bmMgbWF0Y2ggc2hDYXNlRXNhY1N5bmMgZ3JvdXB0aGVyZSBzaENhc2VFc2FjICJcPGVzYWNcPiIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3BlY19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zcGVjX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAibWFpbiB0eXBlcyBjb2xvciBkZWZpbml0aW9ucwotICBIaUxpbmsgc3BlY1NlY3Rpb24JCQlTdHJ1Y3R1cmUKLSAgSGlMaW5rIHNwZWNTZWN0aW9uTWFjcm8JCU1hY3JvCi0gIEhpTGluayBzcGVjV1dXbGluawkJCVByZVByb2MKLSAgSGlMaW5rIHNwZWNPcHRzCQkJT3BlcmF0b3IKKyJtYWluIHR5cGVzIGNvbG9yIGRlZmluaXRpb25zCitIaUxpbmsgc3BlY1NlY3Rpb24JCQlTdHJ1Y3R1cmUKK0hpTGluayBzcGVjU2VjdGlvbk1hY3JvCQlNYWNybworSGlMaW5rIHNwZWNXV1dsaW5rCQkJUHJlUHJvYworSGlMaW5rIHNwZWNPcHRzCQkJT3BlcmF0b3IKIAotICAieWVzLCBpdCdzIHVnbHksIGJ1dCB3aGl0ZSBpcyBzb29vIGNvb2wKLSAgaWYgJmJhY2tncm91bmQgPT0gImRhcmsiCi0gICAgaGkgZGVmIHNwZWNHbG9iYWxNYWNybwkJY3Rlcm1mZz13aGl0ZQotICBlbHNlCi0gICAgSGlMaW5rIHNwZWNHbG9iYWxNYWNybwkJSWRlbnRpZmllcgotICBlbmRpZgotCi0gICJzaCBjb2xvcnMKLSAgSGlMaW5rIHNoQ29tbWVudAkJCUNvbW1lbnQKLSAgSGlMaW5rIHNoSWYJCQkJU3RhdGVtZW50Ci0gIEhpTGluayBzaE9wZXJhdG9yCQkJU3BlY2lhbAotICBIaUxpbmsgc2hRdW90ZTEJCQlTdHJpbmcKLSAgSGlMaW5rIHNoUXVvdGUyCQkJU3RyaW5nCi0gIEhpTGluayBzaFF1b3RlRGVsaW0JCQlTdGF0ZW1lbnQKLQotICAic3BlYyBjb2xvcnMKLSAgSGlMaW5rIHNwZWNCbG9jawkJCUZ1bmN0aW9uCi0gIEhpTGluayBzcGVjQ29sb24JCQlTcGVjaWFsCi0gIEhpTGluayBzcGVjQ29tbWFuZAkJCVN0YXRlbWVudAotICBIaUxpbmsgc3BlY0NvbW1hbmRPcHRzCQlzcGVjT3B0cwotICBIaUxpbmsgc3BlY0NvbW1hbmRTcGVjaWFsCQlTcGVjaWFsCi0gIEhpTGluayBzcGVjQ29tbWVudAkJCUNvbW1lbnQKLSAgSGlMaW5rIHNwZWNDb25maWd1cmUJCQlzcGVjQ29tbWFuZAotICBIaUxpbmsgc3BlY0RhdGUJCQlTdHJpbmcKLSAgSGlMaW5rIHNwZWNEZXNjcmlwdGlvbk9wdHMJCXNwZWNPcHRzCi0gIEhpTGluayBzcGVjRW1haWwJCQlzcGVjV1dXbGluawotICBIaUxpbmsgc3BlY0Vycm9yCQkJRXJyb3IKLSAgSGlMaW5rIHNwZWNGaWxlc0RpcmVjdGl2ZQkJc3BlY1NlY3Rpb25NYWNybwotICBIaUxpbmsgc3BlY0ZpbGVzT3B0cwkJCXNwZWNPcHRzCi0gIEhpTGluayBzcGVjTGljZW5zZQkJCVN0cmluZwotICBIaUxpbmsgc3BlY01hY3JvTmFtZUxvY2FsCQlzcGVjR2xvYmFsTWFjcm8KLSAgSGlMaW5rIHNwZWNNYWNyb05hbWVPdGhlcgkJc3BlY0dsb2JhbE1hY3JvCi0gIEhpTGluayBzcGVjTWFucGFnZUZpbGUJCU5PTkUKLSAgSGlMaW5rIHNwZWNNb250aAkJCXNwZWNEYXRlCi0gIEhpTGluayBzcGVjTm9OdW1iZXJIaWxpdGUJCU5PTkUKLSAgSGlMaW5rIHNwZWNOdW1iZXIJCQlOdW1iZXIKLSAgSGlMaW5rIHNwZWNQYWNrYWdlT3B0cwkJc3BlY09wdHMKLSAgSGlMaW5rIHNwZWNQZXJjZW50CQkJU3BlY2lhbAotICBIaUxpbmsgc3BlY1NwZWNpYWxDaGFyCQlTcGVjaWFsCi0gIEhpTGluayBzcGVjU3BlY2lhbFZhcmlhYmxlcwkJc3BlY0dsb2JhbE1hY3JvCi0gIEhpTGluayBzcGVjU3BlY2lhbFZhcmlhYmxlc05hbWVzCXNwZWNHbG9iYWxNYWNybwotICBIaUxpbmsgc3BlY1RhckNvbW1hbmQJCQlzcGVjQ29tbWFuZAotICBIaUxpbmsgc3BlY1VSTAkJCXNwZWNXV1dsaW5rCi0gIEhpTGluayBzcGVjVVJMTWFjcm8JCQlzcGVjV1dXbGluawotICBIaUxpbmsgc3BlY1ZhcmlhYmxlcwkJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHNwZWNXZWVrZGF5CQkJc3BlY0RhdGUKLSAgSGlMaW5rIHNwZWNMaXN0ZWRGaWxlc0JpbgkJU3RhdGVtZW50Ci0gIEhpTGluayBzcGVjTGlzdGVkRmlsZXNEb2MJCVN0YXRlbWVudAotICBIaUxpbmsgc3BlY0xpc3RlZEZpbGVzRXRjCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHNwZWNMaXN0ZWRGaWxlc0xpYgkJU3RhdGVtZW50Ci0gIEhpTGluayBzcGVjTGlzdGVkRmlsZXNQcmVmaXgJCVN0YXRlbWVudAotICBIaUxpbmsgc3BlY0xpc3RlZEZpbGVzU2hhcmUJCVN0YXRlbWVudAotCi0gIGRlbGNvbW1hbmQgSGlMaW5rCisieWVzLCBpdCdzIHVnbHksIGJ1dCB3aGl0ZSBpcyBzb29vIGNvb2wKK2lmICZiYWNrZ3JvdW5kID09ICJkYXJrIgoraGkgZGVmIHNwZWNHbG9iYWxNYWNybwkJY3Rlcm1mZz13aGl0ZQorZWxzZQorSGlMaW5rIHNwZWNHbG9iYWxNYWNybwkJSWRlbnRpZmllcgogZW5kaWYKIAorInNoIGNvbG9ycworSGlMaW5rIHNoQ29tbWVudAkJCUNvbW1lbnQKK0hpTGluayBzaElmCQkJCVN0YXRlbWVudAorSGlMaW5rIHNoT3BlcmF0b3IJCQlTcGVjaWFsCitIaUxpbmsgc2hRdW90ZTEJCQlTdHJpbmcKK0hpTGluayBzaFF1b3RlMgkJCVN0cmluZworSGlMaW5rIHNoUXVvdGVEZWxpbQkJCVN0YXRlbWVudAorCisic3BlYyBjb2xvcnMKK0hpTGluayBzcGVjQmxvY2sJCQlGdW5jdGlvbgorSGlMaW5rIHNwZWNDb2xvbgkJCVNwZWNpYWwKK0hpTGluayBzcGVjQ29tbWFuZAkJCVN0YXRlbWVudAorSGlMaW5rIHNwZWNDb21tYW5kT3B0cwkJc3BlY09wdHMKK0hpTGluayBzcGVjQ29tbWFuZFNwZWNpYWwJCVNwZWNpYWwKK0hpTGluayBzcGVjQ29tbWVudAkJCUNvbW1lbnQKK0hpTGluayBzcGVjQ29uZmlndXJlCQkJc3BlY0NvbW1hbmQKK0hpTGluayBzcGVjRGF0ZQkJCVN0cmluZworSGlMaW5rIHNwZWNEZXNjcmlwdGlvbk9wdHMJCXNwZWNPcHRzCitIaUxpbmsgc3BlY0VtYWlsCQkJc3BlY1dXV2xpbmsKK0hpTGluayBzcGVjRXJyb3IJCQlFcnJvcgorSGlMaW5rIHNwZWNGaWxlc0RpcmVjdGl2ZQkJc3BlY1NlY3Rpb25NYWNybworSGlMaW5rIHNwZWNGaWxlc09wdHMJCQlzcGVjT3B0cworSGlMaW5rIHNwZWNMaWNlbnNlCQkJU3RyaW5nCitIaUxpbmsgc3BlY01hY3JvTmFtZUxvY2FsCQlzcGVjR2xvYmFsTWFjcm8KK0hpTGluayBzcGVjTWFjcm9OYW1lT3RoZXIJCXNwZWNHbG9iYWxNYWNybworSGlMaW5rIHNwZWNNYW5wYWdlRmlsZQkJTk9ORQorSGlMaW5rIHNwZWNNb250aAkJCXNwZWNEYXRlCitIaUxpbmsgc3BlY05vTnVtYmVySGlsaXRlCQlOT05FCitIaUxpbmsgc3BlY051bWJlcgkJCU51bWJlcgorSGlMaW5rIHNwZWNQYWNrYWdlT3B0cwkJc3BlY09wdHMKK0hpTGluayBzcGVjUGVyY2VudAkJCVNwZWNpYWwKK0hpTGluayBzcGVjU3BlY2lhbENoYXIJCVNwZWNpYWwKK0hpTGluayBzcGVjU3BlY2lhbFZhcmlhYmxlcwkJc3BlY0dsb2JhbE1hY3JvCitIaUxpbmsgc3BlY1NwZWNpYWxWYXJpYWJsZXNOYW1lcwlzcGVjR2xvYmFsTWFjcm8KK0hpTGluayBzcGVjVGFyQ29tbWFuZAkJCXNwZWNDb21tYW5kCitIaUxpbmsgc3BlY1VSTAkJCXNwZWNXV1dsaW5rCitIaUxpbmsgc3BlY1VSTE1hY3JvCQkJc3BlY1dXV2xpbmsKK0hpTGluayBzcGVjVmFyaWFibGVzCQkJSWRlbnRpZmllcgorSGlMaW5rIHNwZWNXZWVrZGF5CQkJc3BlY0RhdGUKK0hpTGluayBzcGVjTGlzdGVkRmlsZXNCaW4JCVN0YXRlbWVudAorSGlMaW5rIHNwZWNMaXN0ZWRGaWxlc0RvYwkJU3RhdGVtZW50CitIaUxpbmsgc3BlY0xpc3RlZEZpbGVzRXRjCQlTdGF0ZW1lbnQKK0hpTGluayBzcGVjTGlzdGVkRmlsZXNMaWIJCVN0YXRlbWVudAorSGlMaW5rIHNwZWNMaXN0ZWRGaWxlc1ByZWZpeAkJU3RhdGVtZW50CitIaUxpbmsgc3BlY0xpc3RlZEZpbGVzU2hhcmUJCVN0YXRlbWVudAorCitkZWxjb21tYW5kIEhpTGluaworCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzcGVjIgogCiAiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3BlY21hbi52aW0gYi9ydW50aW1lL3N5bnRheC9zcGVjbWFuLnZpbQppbmRleCAzZmI3N2EyLi5jNDI2Yzk5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zcGVjbWFuLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zcGVjbWFuLnZpbQpAQCAtMTAsMTEgKzEwLDggQEAKICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogIiBSZW1vdmUgYW55IG9sZCBzeW50YXggc3R1ZmYgaGFuZ2luZyBhcm91bmQKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMzcsNDYgKzEzNCwzOCBAQAogc3luIHN5bmMgbGluZXM9NTAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3BlY21hbl9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zcGVjbWFuX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCi0gICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKLQlIaUxpbmsJc3BlY21hbkNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0JSGlMaW5rCXNwZWNtYW5Db25zdHJhaW50CUNvbmRpdGlvbmFsCi0JSGlMaW5rCXNwZWNtYW5SZXBlYXQJCVJlcGVhdAotCUhpTGluawlzcGVjbWFuU3RyaW5nCQlTdHJpbmcKLQlIaUxpbmsJc3BlY21hbkNvbW1lbnQJCUNvbW1lbnQKLQlIaUxpbmsJc3BlY21hbkNvbnN0YW50CQlNYWNybwotCUhpTGluawlzcGVjbWFuTnVtYmVyCQlOdW1iZXIKLQlIaUxpbmsJc3BlY21hbkNvbXBhcmUJCU9wZXJhdG9yCi0JSGlMaW5rCXNwZWNtYW5PcGVyYXRvcgkJT3BlcmF0b3IKLQlIaUxpbmsJc3BlY21hbkxvZ2ljYWwJCU9wZXJhdG9yCi0JSGlMaW5rCXNwZWNtYW5TdGF0ZW1lbnQJU3RhdGVtZW50Ci0JSGlMaW5rCXNwZWNtYW5IREwJCVNwZWNpYWxDaGFyCi0JSGlMaW5rCXNwZWNtYW5NZXRob2QJCUZ1bmN0aW9uCi0JSGlMaW5rCXNwZWNtYW5JbmNsdWRlCQlJbmNsdWRlCi0JSGlMaW5rCXNwZWNtYW5TdHJ1Y3R1cmUJU3RydWN0dXJlCi0JSGlMaW5rCXNwZWNtYW5Cb29sZWFuCQlCb29sZWFuCi0JSGlMaW5rCXNwZWNtYW5GU00JCUxhYmVsCi0JSGlMaW5rCXNwZWNtYW5TcGVjaWFsCQlTcGVjaWFsCi0JSGlMaW5rCXNwZWNtYW5UeXBlCQlUeXBlCi0JSGlMaW5rCXNwZWNtYW5UZW1wb3JhbAkJVHlwZQotCUhpTGluawlzcGVjbWFuRmlsZQkJSW5jbHVkZQotCUhpTGluawlzcGVjbWFuUHJlQ29uZGl0CUluY2x1ZGUKLQlIaUxpbmsJc3BlY21hbkRlZmluZQkJVHlwZWRlZgotCUhpTGluawlzcGVjbWFuTGFiZWwJCUxhYmVsCi0JSGlMaW5rCXNwZWNtYW5QYWNraW5nCQlrZXl3b3JkCi0JSGlMaW5rCXNwZWNtYW5Ub2RvCQlUb2RvCi0JSGlMaW5rCXNwZWNtYW5QYXJlbkVycm9yCUVycm9yCi0JSGlMaW5rCXNwZWNtYW5FcnJJblBhcmVuCUVycm9yCi0JSGlMaW5rCXNwZWNtYW5FcnJJbkJyYWNrZXQJRXJyb3IKLQlkZWxjb21tYW5kCUhpTGluawotZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgorSGlMaW5rCXNwZWNtYW5Db25kaXRpb25hbAlDb25kaXRpb25hbAorSGlMaW5rCXNwZWNtYW5Db25zdHJhaW50CUNvbmRpdGlvbmFsCitIaUxpbmsJc3BlY21hblJlcGVhdAkJUmVwZWF0CitIaUxpbmsJc3BlY21hblN0cmluZwkJU3RyaW5nCitIaUxpbmsJc3BlY21hbkNvbW1lbnQJCUNvbW1lbnQKK0hpTGluawlzcGVjbWFuQ29uc3RhbnQJCU1hY3JvCitIaUxpbmsJc3BlY21hbk51bWJlcgkJTnVtYmVyCitIaUxpbmsJc3BlY21hbkNvbXBhcmUJCU9wZXJhdG9yCitIaUxpbmsJc3BlY21hbk9wZXJhdG9yCQlPcGVyYXRvcgorSGlMaW5rCXNwZWNtYW5Mb2dpY2FsCQlPcGVyYXRvcgorSGlMaW5rCXNwZWNtYW5TdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsJc3BlY21hbkhETAkJU3BlY2lhbENoYXIKK0hpTGluawlzcGVjbWFuTWV0aG9kCQlGdW5jdGlvbgorSGlMaW5rCXNwZWNtYW5JbmNsdWRlCQlJbmNsdWRlCitIaUxpbmsJc3BlY21hblN0cnVjdHVyZQlTdHJ1Y3R1cmUKK0hpTGluawlzcGVjbWFuQm9vbGVhbgkJQm9vbGVhbgorSGlMaW5rCXNwZWNtYW5GU00JCUxhYmVsCitIaUxpbmsJc3BlY21hblNwZWNpYWwJCVNwZWNpYWwKK0hpTGluawlzcGVjbWFuVHlwZQkJVHlwZQorSGlMaW5rCXNwZWNtYW5UZW1wb3JhbAkJVHlwZQorSGlMaW5rCXNwZWNtYW5GaWxlCQlJbmNsdWRlCitIaUxpbmsJc3BlY21hblByZUNvbmRpdAlJbmNsdWRlCitIaUxpbmsJc3BlY21hbkRlZmluZQkJVHlwZWRlZgorSGlMaW5rCXNwZWNtYW5MYWJlbAkJTGFiZWwKK0hpTGluawlzcGVjbWFuUGFja2luZwkJa2V5d29yZAorSGlMaW5rCXNwZWNtYW5Ub2RvCQlUb2RvCitIaUxpbmsJc3BlY21hblBhcmVuRXJyb3IJRXJyb3IKK0hpTGluawlzcGVjbWFuRXJySW5QYXJlbglFcnJvcgorSGlMaW5rCXNwZWNtYW5FcnJJbkJyYWNrZXQJRXJyb3IKK2RlbGNvbW1hbmQJSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNwZWNtYW4iCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zcGljZS52aW0gYi9ydW50aW1lL3N5bnRheC9zcGljZS52aW0KaW5kZXggMjAwZTFhYS4uNTdmZjA1ZiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc3BpY2UudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NwaWNlLnZpbQpAQCAtNywxMSArNyw4IEBACiAiIFRoaXMgaXMgYmFzZWQgb24gc2gudmltIGJ5IExlbm5hcnQgU2NodWx0egogIiBidXQgZ3JlYXRseSBzaW1wbGlmaWVkCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC01MywyOCArNTAsMjAgQEAKIHN5biBzeW5jIG1pbmxpbmVzPTUwCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NwaWNlX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3NwaWNlX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc3BpY2VUb2RvCQlUb2RvCi0gIEhpTGluayBzcGljZVdyYXBMaW5lT3BlcmF0b3IJc3BpY2VPcGVyYXRvcgotICBIaUxpbmsgc3BpY2VTaW5nbGVxdW90ZQlzcGljZUV4cHIKLSAgSGlMaW5rIHNwaWNlRXhwcgkJRnVuY3Rpb24KLSAgSGlMaW5rIHNwaWNlUGFyZW5FcnJvcglFcnJvcgotICBIaUxpbmsgc3BpY2VTdGF0ZW1lbnQJCVN0YXRlbWVudAotICBIaUxpbmsgc3BpY2VOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgc3BpY2VDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayBzcGljZU9wZXJhdG9yCQlPcGVyYXRvcgorSGlMaW5rIHNwaWNlVG9kbwkJVG9kbworSGlMaW5rIHNwaWNlV3JhcExpbmVPcGVyYXRvcglzcGljZU9wZXJhdG9yCitIaUxpbmsgc3BpY2VTaW5nbGVxdW90ZQlzcGljZUV4cHIKK0hpTGluayBzcGljZUV4cHIJCUZ1bmN0aW9uCitIaUxpbmsgc3BpY2VQYXJlbkVycm9yCUVycm9yCitIaUxpbmsgc3BpY2VTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIHNwaWNlTnVtYmVyCQlOdW1iZXIKK0hpTGluayBzcGljZUNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBzcGljZU9wZXJhdG9yCQlPcGVyYXRvcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic3BpY2UiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NwbGludC52aW0gYi9ydW50aW1lL3N5bnRheC9zcGxpbnQudmltCmluZGV4IGRjMDlkOGIuLjE0Zjg0YTggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NwbGludC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc3BsaW50LnZpbQpAQCAtMTUsMjAgKzE1LDEzIEBACiAiCQlpbiB5b3VyIHZpbXJjIGZpbGUgb3IgZmlsZXR5cGUudmltCiAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKICIgUmVhZCB0aGUgQyBzeW50YXggdG8gc3RhcnQgd2l0aAotaWYgdmVyc2lvbiA8IDYwMAotICBzbyA8c2ZpbGU+OnA6aC9jLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvYy52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvYy52aW0KIAogCiAiIEZJWE1FOiB1c2VzIGFuZCBjaGFuZ2VzIHNldmVyYWwgY2x1c3RlcnMgZGVmaW5lZCBpbiBjLnZpbQpAQCAtMTk5LDYxICsxOTIsNTMgQEAKIHN5biBjbHVzdGVyCWNNdWx0aUdyb3VwCWFkZD1Ac3BsaW50QWxsU3R1ZmYKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3BsaW50X3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3NwbGludF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHNwbGludFNob3J0QW5uCQlzcGxpbnRBbm5vdGF0aW9uCi0gIEhpTGluayBzcGxpbnRBbm5vdGF0aW9uCUNvbW1lbnQKLSAgSGlMaW5rIHNwbGludEFubkVycm9yCQlzcGxpbnRFcnJvcgotICBIaUxpbmsgc3BsaW50QW5uRXJyb3IyCXNwbGludEVycm9yCi0gIEhpTGluayBzcGxpbnRGbGFnCQlTcGVjaWFsQ29tbWVudAotICBIaUxpbmsgc3BsaW50R2xvYmFsRmxhZwlzcGxpbnRFcnJvcgotICBIaUxpbmsgc3BsaW50U3BlY2lhbEFubm90CXNwbGludEFubktleQotICBIaUxpbmsgc3BsaW50U3RhdGVBbm5vdAlzcGxpbnRBbm5LZXkKLSAgSGlMaW5rIHNwbGludFNwZWNUYWcJCXNwbGludEFubktleQotICBIaUxpbmsgc3BsaW50TW9kaWZpZXMJCXNwbGludEFubktleQotICBIaUxpbmsgc3BsaW50UmVxdWlyZXMJCXNwbGludEFubktleQotICBIaUxpbmsgc3BsaW50R2xvYmFscwkJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnRHbG9iaXRlbQkJQ29uc3RhbnQKLSAgSGlMaW5rIHNwbGludEdsb2Jhbm5vdAlzcGxpbnRBbm5LZXkKLSAgSGlMaW5rIHNwbGludFdhcm5pbmcJCXNwbGludEFubktleQotICBIaUxpbmsgc3BsaW50TW9kaXRlbQkJQ29uc3RhbnQKLSAgSGlMaW5rIHNwbGludEl0ZXIJCXNwbGludEFubktleQotICBIaUxpbmsgc3BsaW50Q29uc3QJCXNwbGludEFubktleQotICBIaUxpbmsgc3BsaW50QWx0CQlzcGxpbnRBbm5LZXkKLSAgSGlMaW5rIHNwbGludFR5cGUJCXNwbGludEFubktleQotICBIaUxpbmsgc3BsaW50R2xvYmFsVHlwZQlzcGxpbnRBbm5LZXkKLSAgSGlMaW5rIHNwbGludE1lbU1nbQkJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnRBbGlhcwkJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnRFeHBvc3VyZQkJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnREZWZTdGF0ZQkJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnRHbG9iU3RhdGUJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnROdWxsU3RhdGUJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnROdWxsUHJlZAkJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnRFeGl0CQlzcGxpbnRBbm5LZXkKLSAgSGlMaW5rIHNwbGludEV4ZWMJCXNwbGludEFubktleQotICBIaUxpbmsgc3BsaW50U2VmCQlzcGxpbnRBbm5LZXkKLSAgSGlMaW5rIHNwbGludERlY2wJCXNwbGludEFubktleQotICBIaUxpbmsgc3BsaW50Q2FzZQkJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnRCcmVhawkJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnRVbnJlYWNoCQlzcGxpbnRBbm5LZXkKLSAgSGlMaW5rIHNwbGludFNwZWNGdW5jCQlzcGxpbnRBbm5LZXkKLSAgSGlMaW5rIHNwbGludEVyclN1cHAJCXNwbGludEFubktleQotICBIaUxpbmsgc3BsaW50VHlwZUFjYwkJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnRNYWNybwkJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnRTcGVjVHlwZQkJc3BsaW50QW5uS2V5Ci0gIEhpTGluayBzcGxpbnRBbm5LZXkJCVR5cGUKLSAgSGlMaW5rIHNwbGludEVycm9yCQlFcnJvcgorSGlMaW5rIHNwbGludFNob3J0QW5uCQlzcGxpbnRBbm5vdGF0aW9uCitIaUxpbmsgc3BsaW50QW5ub3RhdGlvbglDb21tZW50CitIaUxpbmsgc3BsaW50QW5uRXJyb3IJCXNwbGludEVycm9yCitIaUxpbmsgc3BsaW50QW5uRXJyb3IyCXNwbGludEVycm9yCitIaUxpbmsgc3BsaW50RmxhZwkJU3BlY2lhbENvbW1lbnQKK0hpTGluayBzcGxpbnRHbG9iYWxGbGFnCXNwbGludEVycm9yCitIaUxpbmsgc3BsaW50U3BlY2lhbEFubm90CXNwbGludEFubktleQorSGlMaW5rIHNwbGludFN0YXRlQW5ub3QJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50U3BlY1RhZwkJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50TW9kaWZpZXMJCXNwbGludEFubktleQorSGlMaW5rIHNwbGludFJlcXVpcmVzCQlzcGxpbnRBbm5LZXkKK0hpTGluayBzcGxpbnRHbG9iYWxzCQlzcGxpbnRBbm5LZXkKK0hpTGluayBzcGxpbnRHbG9iaXRlbQkJQ29uc3RhbnQKK0hpTGluayBzcGxpbnRHbG9iYW5ub3QJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50V2FybmluZwkJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50TW9kaXRlbQkJQ29uc3RhbnQKK0hpTGluayBzcGxpbnRJdGVyCQlzcGxpbnRBbm5LZXkKK0hpTGluayBzcGxpbnRDb25zdAkJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50QWx0CQlzcGxpbnRBbm5LZXkKK0hpTGluayBzcGxpbnRUeXBlCQlzcGxpbnRBbm5LZXkKK0hpTGluayBzcGxpbnRHbG9iYWxUeXBlCXNwbGludEFubktleQorSGlMaW5rIHNwbGludE1lbU1nbQkJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50QWxpYXMJCXNwbGludEFubktleQorSGlMaW5rIHNwbGludEV4cG9zdXJlCQlzcGxpbnRBbm5LZXkKK0hpTGluayBzcGxpbnREZWZTdGF0ZQkJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50R2xvYlN0YXRlCXNwbGludEFubktleQorSGlMaW5rIHNwbGludE51bGxTdGF0ZQlzcGxpbnRBbm5LZXkKK0hpTGluayBzcGxpbnROdWxsUHJlZAkJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50RXhpdAkJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50RXhlYwkJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50U2VmCQlzcGxpbnRBbm5LZXkKK0hpTGluayBzcGxpbnREZWNsCQlzcGxpbnRBbm5LZXkKK0hpTGluayBzcGxpbnRDYXNlCQlzcGxpbnRBbm5LZXkKK0hpTGluayBzcGxpbnRCcmVhawkJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50VW5yZWFjaAkJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50U3BlY0Z1bmMJCXNwbGludEFubktleQorSGlMaW5rIHNwbGludEVyclN1cHAJCXNwbGludEFubktleQorSGlMaW5rIHNwbGludFR5cGVBY2MJCXNwbGludEFubktleQorSGlMaW5rIHNwbGludE1hY3JvCQlzcGxpbnRBbm5LZXkKK0hpTGluayBzcGxpbnRTcGVjVHlwZQkJc3BsaW50QW5uS2V5CitIaUxpbmsgc3BsaW50QW5uS2V5CQlUeXBlCitIaUxpbmsgc3BsaW50RXJyb3IJCUVycm9yCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzcGxpbnQiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NwdXAudmltIGIvcnVudGltZS9zeW50YXgvc3B1cC52aW0KaW5kZXggMDdlOTcwOC4uYTA3MjYyOSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc3B1cC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc3B1cC52aW0KQEAgLTE3LDExICsxNyw4IEBACiAiIElmIHlvdSBlbmNvdW50ZXIgcHJvYmxlbXMgb3IgaGF2ZSBxdWVzdGlvbnMgb3Igc3VnZ2VzdGlvbnMsIG1haWwgbWUKIAogIiBSZW1vdmUgb2xkIHN5bnRheCBzdHVmZgotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICAgZmluaXNoCiBlbmRpZgogCkBAIC0yMDYsNzQgKzIwMyw2NiBAQAogc3luIHN5bmMgbWF0Y2ggc3B1cFN5bmNVbml0ICAgICAgIGdyb3VwaGVyZSBzcHVwVW5pdCAgICAgICAiXlVOSVQiCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NwdXBfc3luX2luaXRzIikKLSAgICBpZiB2ZXJzaW9uIDwgNTA4Ci0JbGV0IGRpZF9zcHVwX3N5bl9pbml0cyA9IDEKLQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgIGVsc2UKLQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgICBIaUxpbmsgc3B1cENkaQkgICAgc3B1cFNlY3Rpb24KLSAgICBIaUxpbmsgc3B1cENvbmRpdGlvbnMgICBzcHVwU2VjdGlvbgotICAgIEhpTGluayBzcHVwRGVjbGFyZQkgICAgc3B1cFNlY3Rpb24KLSAgICBIaUxpbmsgc3B1cEVzdGltYXRpb24gICBzcHVwU2VjdGlvbgotICAgIEhpTGluayBzcHVwRXh0ZXJuYWwJICAgIHNwdXBTZWN0aW9uCi0gICAgSGlMaW5rIHNwdXBGbG93c2hlZXQgICAgc3B1cFNlY3Rpb24KLSAgICBIaUxpbmsgc3B1cEZ1bmN0aW9uCSAgICBzcHVwU2VjdGlvbgotICAgIEhpTGluayBzcHVwR2xvYmFsCSAgICBzcHVwU2VjdGlvbgotICAgIEhpTGluayBzcHVwSG9tb3RvcHkJICAgIHNwdXBTZWN0aW9uCi0gICAgSGlMaW5rIHNwdXBNYWNybwkgICAgc3B1cFNlY3Rpb24KLSAgICBIaUxpbmsgc3B1cE1vZGVsCSAgICBzcHVwU2VjdGlvbgotICAgIEhpTGluayBzcHVwT3BlcmF0aW9uICAgIHNwdXBTZWN0aW9uCi0gICAgSGlMaW5rIHNwdXBPcHRpb25zCSAgICBzcHVwU2VjdGlvbgotICAgIEhpTGluayBzcHVwUHJvY2VkdXJlICAgIHNwdXBTZWN0aW9uCi0gICAgSGlMaW5rIHNwdXBQcm9maWxlcwkgICAgc3B1cFNlY3Rpb24KLSAgICBIaUxpbmsgc3B1cFJlcG9ydAkgICAgc3B1cFNlY3Rpb24KLSAgICBIaUxpbmsgc3B1cFRpdGxlCSAgICBzcHVwQ29uc3RhbnQgICIgdGhpcyBpcyBjb3JyZWN0LCB0cnVseSA7KQotICAgIEhpTGluayBzcHVwVW5pdAkgICAgc3B1cFNlY3Rpb24KK0hpTGluayBzcHVwQ2RpCSAgICBzcHVwU2VjdGlvbgorSGlMaW5rIHNwdXBDb25kaXRpb25zICAgc3B1cFNlY3Rpb24KK0hpTGluayBzcHVwRGVjbGFyZQkgICAgc3B1cFNlY3Rpb24KK0hpTGluayBzcHVwRXN0aW1hdGlvbiAgIHNwdXBTZWN0aW9uCitIaUxpbmsgc3B1cEV4dGVybmFsCSAgICBzcHVwU2VjdGlvbgorSGlMaW5rIHNwdXBGbG93c2hlZXQgICAgc3B1cFNlY3Rpb24KK0hpTGluayBzcHVwRnVuY3Rpb24JICAgIHNwdXBTZWN0aW9uCitIaUxpbmsgc3B1cEdsb2JhbAkgICAgc3B1cFNlY3Rpb24KK0hpTGluayBzcHVwSG9tb3RvcHkJICAgIHNwdXBTZWN0aW9uCitIaUxpbmsgc3B1cE1hY3JvCSAgICBzcHVwU2VjdGlvbgorSGlMaW5rIHNwdXBNb2RlbAkgICAgc3B1cFNlY3Rpb24KK0hpTGluayBzcHVwT3BlcmF0aW9uICAgIHNwdXBTZWN0aW9uCitIaUxpbmsgc3B1cE9wdGlvbnMJICAgIHNwdXBTZWN0aW9uCitIaUxpbmsgc3B1cFByb2NlZHVyZSAgICBzcHVwU2VjdGlvbgorSGlMaW5rIHNwdXBQcm9maWxlcwkgICAgc3B1cFNlY3Rpb24KK0hpTGluayBzcHVwUmVwb3J0CSAgICBzcHVwU2VjdGlvbgorSGlMaW5rIHNwdXBUaXRsZQkgICAgc3B1cENvbnN0YW50ICAiIHRoaXMgaXMgY29ycmVjdCwgdHJ1bHkgOykKK0hpTGluayBzcHVwVW5pdAkgICAgc3B1cFNlY3Rpb24KIAotICAgIEhpTGluayBzcHVwQ2RpU3VicwkgICAgICBzcHVwU3VicwotICAgIEhpTGluayBzcHVwQ29uZGl0aW9uc1N1YnMgc3B1cFN1YnMKLSAgICBIaUxpbmsgc3B1cERlY2xhcmVTdWJzICAgIHNwdXBTdWJzCi0gICAgSGlMaW5rIHNwdXBFc3RpbWF0aW9uU3VicyBzcHVwU3VicwotICAgIEhpTGluayBzcHVwRXh0ZXJuYWxTdWJzICAgc3B1cFN1YnMKLSAgICBIaUxpbmsgc3B1cEZsb3dzaGVldFN1YnMgIHNwdXBTdWJzCi0gICAgSGlMaW5rIHNwdXBGdW5jdGlvblN1YnMgICBzcHVwU3VicwotICAgIEhpTGluayBzcHVwSG9tb3RvcHlTdWJzICAgc3B1cFN1YnMKLSAgICBIaUxpbmsgc3B1cE1hY3JvU3VicyAgICAgIHNwdXBTdWJzCi0gICAgSGlMaW5rIHNwdXBNb2RlbFN1YnMgICAgICBzcHVwU3VicwotICAgIEhpTGluayBzcHVwT3BlcmF0aW9uU3VicyAgc3B1cFN1YnMKLSAgICBIaUxpbmsgc3B1cE9wdGlvbnNTdWJzICAgIHNwdXBTdWJzCi0gICAgSGlMaW5rIHNwdXBQcm9jZWR1cmVTdWJzICBzcHVwU3VicwotICAgIEhpTGluayBzcHVwUmVwb3J0U3VicyAgICAgc3B1cFN1YnMKLSAgICBIaUxpbmsgc3B1cFVuaXRTdWJzCSAgICAgIHNwdXBTdWJzCitIaUxpbmsgc3B1cENkaVN1YnMJICAgICAgc3B1cFN1YnMKK0hpTGluayBzcHVwQ29uZGl0aW9uc1N1YnMgc3B1cFN1YnMKK0hpTGluayBzcHVwRGVjbGFyZVN1YnMgICAgc3B1cFN1YnMKK0hpTGluayBzcHVwRXN0aW1hdGlvblN1YnMgc3B1cFN1YnMKK0hpTGluayBzcHVwRXh0ZXJuYWxTdWJzICAgc3B1cFN1YnMKK0hpTGluayBzcHVwRmxvd3NoZWV0U3VicyAgc3B1cFN1YnMKK0hpTGluayBzcHVwRnVuY3Rpb25TdWJzICAgc3B1cFN1YnMKK0hpTGluayBzcHVwSG9tb3RvcHlTdWJzICAgc3B1cFN1YnMKK0hpTGluayBzcHVwTWFjcm9TdWJzICAgICAgc3B1cFN1YnMKK0hpTGluayBzcHVwTW9kZWxTdWJzICAgICAgc3B1cFN1YnMKK0hpTGluayBzcHVwT3BlcmF0aW9uU3VicyAgc3B1cFN1YnMKK0hpTGluayBzcHVwT3B0aW9uc1N1YnMgICAgc3B1cFN1YnMKK0hpTGluayBzcHVwUHJvY2VkdXJlU3VicyAgc3B1cFN1YnMKK0hpTGluayBzcHVwUmVwb3J0U3VicyAgICAgc3B1cFN1YnMKK0hpTGluayBzcHVwVW5pdFN1YnMJICAgICAgc3B1cFN1YnMKIAotICAgIEhpTGluayBzcHVwQ29kZQkgICAgICAgTm9ybWFsCi0gICAgSGlMaW5rIHNwdXBDb21tZW50CSAgICAgICBDb21tZW50Ci0gICAgSGlMaW5rIHNwdXBDb21tZW50MgkgICAgICAgc3B1cENvbW1lbnQKLSAgICBIaUxpbmsgc3B1cENvbmRpdGlvbmFsICAgICBTdGF0ZW1lbnQKLSAgICBIaUxpbmsgc3B1cENvbnN0YW50CSAgICAgICBDb25zdGFudAotICAgIEhpTGluayBzcHVwRXJyb3IJICAgICAgIEVycm9yCi0gICAgSGlMaW5rIHNwdXBIZWxwCSAgICAgICBOb3JtYWwKLSAgICBIaUxpbmsgc3B1cElkZW50aWZpZXIgICAgICBJZGVudGlmaWVyCi0gICAgSGlMaW5rIHNwdXBOdW1iZXIJICAgICAgIENvbnN0YW50Ci0gICAgSGlMaW5rIHNwdXBPcGVyYXRvcgkgICAgICAgU3BlY2lhbAotICAgIEhpTGluayBzcHVwT3BlbkJyYWNlICAgICAgIHNwdXBFcnJvcgotICAgIEhpTGluayBzcHVwU2VjdGlvbgkgICAgICAgU3RhdGVtZW50Ci0gICAgSGlMaW5rIHNwdXBTcGVjaWFsCSAgICAgICBzcHVwVGV4dHByb2NHZW5lcmljCi0gICAgSGlMaW5rIHNwdXBTdHJlYW1zCSAgICAgICBUeXBlCi0gICAgSGlMaW5rIHNwdXBTdHJpbmcJICAgICAgIENvbnN0YW50Ci0gICAgSGlMaW5rIHNwdXBTdWJzCSAgICAgICBTdGF0ZW1lbnQKLSAgICBIaUxpbmsgc3B1cFN5bWJvbAkgICAgICAgU3BlY2lhbAotICAgIEhpTGluayBzcHVwVGV4dHByb2NFcnJvciAgIE5vcm1hbAotICAgIEhpTGluayBzcHVwVGV4dHByb2NHZW5lcmljIFByZVByb2MKLSAgICBIaUxpbmsgc3B1cFR5cGVzCSAgICAgICBUeXBlCitIaUxpbmsgc3B1cENvZGUJICAgICAgIE5vcm1hbAorSGlMaW5rIHNwdXBDb21tZW50CSAgICAgICBDb21tZW50CitIaUxpbmsgc3B1cENvbW1lbnQyCSAgICAgICBzcHVwQ29tbWVudAorSGlMaW5rIHNwdXBDb25kaXRpb25hbCAgICAgU3RhdGVtZW50CitIaUxpbmsgc3B1cENvbnN0YW50CSAgICAgICBDb25zdGFudAorSGlMaW5rIHNwdXBFcnJvcgkgICAgICAgRXJyb3IKK0hpTGluayBzcHVwSGVscAkgICAgICAgTm9ybWFsCitIaUxpbmsgc3B1cElkZW50aWZpZXIgICAgICBJZGVudGlmaWVyCitIaUxpbmsgc3B1cE51bWJlcgkgICAgICAgQ29uc3RhbnQKK0hpTGluayBzcHVwT3BlcmF0b3IJICAgICAgIFNwZWNpYWwKK0hpTGluayBzcHVwT3BlbkJyYWNlICAgICAgIHNwdXBFcnJvcgorSGlMaW5rIHNwdXBTZWN0aW9uCSAgICAgICBTdGF0ZW1lbnQKK0hpTGluayBzcHVwU3BlY2lhbAkgICAgICAgc3B1cFRleHRwcm9jR2VuZXJpYworSGlMaW5rIHNwdXBTdHJlYW1zCSAgICAgICBUeXBlCitIaUxpbmsgc3B1cFN0cmluZwkgICAgICAgQ29uc3RhbnQKK0hpTGluayBzcHVwU3VicwkgICAgICAgU3RhdGVtZW50CitIaUxpbmsgc3B1cFN5bWJvbAkgICAgICAgU3BlY2lhbAorSGlMaW5rIHNwdXBUZXh0cHJvY0Vycm9yICAgTm9ybWFsCitIaUxpbmsgc3B1cFRleHRwcm9jR2VuZXJpYyBQcmVQcm9jCitIaUxpbmsgc3B1cFR5cGVzCSAgICAgICBUeXBlCiAKLSAgICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNwdXAiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NweWNlLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NweWNlLnZpbQppbmRleCBlNzZjYjFhLi4xNjlkZTE5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zcHljZS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc3B5Y2UudmltCkBAIC00LDExICs0LDggQEAKICIgVVJMOgkJICAgICBodHRwOi8vc3B5Y2Uuc291cmNlZm9yZ2UubmV0CiAiIExhc3QgQ2hhbmdlOiAyMDA5IE5vdiAxMQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjAsMTMgKzE3LDkgQEAKICIgUmVhZCB0aGUgSFRNTCBzeW50YXggdG8gc3RhcnQgd2l0aAogbGV0IGI6ZGlkX2luZGVudCA9IDEJICAgICAiIGRvbid0IHBlcmZvcm0gSFRNTCBpbmRlbnRhdGlvbiEKIGxldCBodG1sX25vX3JlbmRlcmluZyA9IDEgICAgIiBkbyBub3QgcmVuZGVyIDxiPiw8aT4sIGV0Yy4uLgotaWYgdmVyc2lvbiA8IDYwMAotICBzbyA8c2ZpbGU+OnA6aC9odG1sLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvaHRtbC52aW0KLSAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAotICBzeW50YXggc3BlbGwgZGVmYXVsdCAgIiBhZGRlZCBieSBCcmFtCi1lbmRpZgorcnVudGltZSEgc3ludGF4L2h0bWwudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CitzeW50YXggc3BlbGwgZGVmYXVsdCAgIiBhZGRlZCBieSBCcmFtCiAKICIgaW5jbHVkZSBweXRob24KIHN5biBpbmNsdWRlIEBQeXRob24gPHNmaWxlPjpwOmgvcHl0aG9uLnZpbQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3FsLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NxbC52aW0KaW5kZXggN2JhMjBmMy4uNmRlM2Y0YSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc3FsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zcWwudmltCkBAIC0xMCwxMSArMTAsOCBAQAogIiAgICAgICAgICAgICAgSWYgdGhlIGFib3ZlIGV4aXN0LCBpdCB3aWxsIHNvdXJjZSB0aGUgdHlwZSBzcGVjaWZpZWQuCiAiICAgICAgICAgICAgICBJZiBub25lIGV4aXN0LCBpdCB3aWxsIHNvdXJjZSB0aGUgZGVmYXVsdCBzcWwudmltIGZpbGUuCiAiCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NxbGFueXdoZXJlLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NxbGFueXdoZXJlLnZpbQppbmRleCAwNWIwNWM5Li5lOTFhOTlkIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zcWxhbnl3aGVyZS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc3FsYW55d2hlcmUudmltCkBAIC0xMiwxMSArMTIsOCBAQAogIiAgICAgICAgICAgICAgVXBkYXRlZCB0byBBZGFwdGl2ZSBTZXJ2ZXIgQW55d2hlcmUgIDkuMC4xCiAiICAgICAgICAgICAgICBVcGRhdGVkIHRvIEFkYXB0aXZlIFNlcnZlciBBbnl3aGVyZSAgOS4wLjAKICIKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgIGZpbmlzaAogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3FsZm9ybXMudmltIGIvcnVudGltZS9zeW50YXgvc3FsZm9ybXMudmltCmluZGV4IDA1NWIyYWUuLjM1ODM0OWMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NxbGZvcm1zLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zcWxmb3Jtcy52aW0KQEAgLTcsMjEgKzcsMTQgQEAKICIKICIgVE9ETyBGaW5kIGEgbmV3IG1haW50YWluZXIgd2hvIGtub3dzIFNRTCpGb3Jtcy4KIAotICAgICIgRm9yIHZlcnNpb24gNS54LCBjbGVhciBhbGwgc3ludGF4IGl0ZW1zLgotICAgICIgRm9yIHZlcnNpb24gNi54LCBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQuCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgIGZpbmlzaAogZW5kaWYKIAogc3ludGF4IGNhc2UgaWdub3JlCiAKLWlmIHZlcnNpb24gPj0gNjAwCi0gIHNldGxvY2FsIGlza2V5d29yZD1hLXosQS1aLDQ4LTU3LF8sLiwtLD4KLWVsc2UKLSAgc2V0IGlza2V5d29yZD1hLXosQS1aLDQ4LTU3LF8sLiwtLD4KLWVuZGlmCitzZXRsb2NhbCBpc2tleXdvcmQ9YS16LEEtWiw0OC01NyxfLC4sLSw+CiAKIAogICAgICIgVGhlIFNRTCByZXNlcnZlZCB3b3JkcywgZGVmaW5lZCBhcyBrZXl3b3Jkcy4KQEAgLTEzOCwzMCArMTMxLDIzIEBACiAKIHN5bnRheCBzeW5jIGNjb21tZW50IHNxbENvbW1lbnQKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NxbGZvcm1zX3N5bl9pbml0cyIpCi0gICAgaWYgdmVyc2lvbiA8IDUwOAotCWxldCBkaWRfc3FsZm9ybXNfc3luX2luaXRzID0gMQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICAgZWxzZQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICAgIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAgIEhpTGluayBzcWxDb21tZW50IENvbW1lbnQKLSAgICBIaUxpbmsgc3FsS2V5d29yZCBTdGF0ZW1lbnQKLSAgICBIaUxpbmsgc3FsTnVtYmVyIE51bWJlcgotICAgIEhpTGluayBzcWxPcGVyYXRvciBTdGF0ZW1lbnQKLSAgICBIaUxpbmsgc3FsUHJvY2VkdXJlIFN0YXRlbWVudAotICAgIEhpTGluayBzcWxGdW5jdGlvbiBTdGF0ZW1lbnQKLSAgICBIaUxpbmsgc3FsU3lzdGVtIElkZW50aWZpZXIKLSAgICBIaUxpbmsgc3FsU3BlY2lhbCBTcGVjaWFsCi0gICAgSGlMaW5rIHNxbFN0YXRlbWVudCBTdGF0ZW1lbnQKLSAgICBIaUxpbmsgc3FsU3RyaW5nIFN0cmluZwotICAgIEhpTGluayBzcWxUeXBlIFR5cGUKLSAgICBIaUxpbmsgc3FsQ29kZXMgSWRlbnRpZmllcgotICAgIEhpTGluayBzcWxUcmlnZ2VycyBQcmVQcm9jCitIaUxpbmsgc3FsQ29tbWVudCBDb21tZW50CitIaUxpbmsgc3FsS2V5d29yZCBTdGF0ZW1lbnQKK0hpTGluayBzcWxOdW1iZXIgTnVtYmVyCitIaUxpbmsgc3FsT3BlcmF0b3IgU3RhdGVtZW50CitIaUxpbmsgc3FsUHJvY2VkdXJlIFN0YXRlbWVudAorSGlMaW5rIHNxbEZ1bmN0aW9uIFN0YXRlbWVudAorSGlMaW5rIHNxbFN5c3RlbSBJZGVudGlmaWVyCitIaUxpbmsgc3FsU3BlY2lhbCBTcGVjaWFsCitIaUxpbmsgc3FsU3RhdGVtZW50IFN0YXRlbWVudAorSGlMaW5rIHNxbFN0cmluZyBTdHJpbmcKK0hpTGluayBzcWxUeXBlIFR5cGUKK0hpTGluayBzcWxDb2RlcyBJZGVudGlmaWVyCitIaUxpbmsgc3FsVHJpZ2dlcnMgUHJlUHJvYwogCi0gICAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzcWxmb3JtcyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3FsaGFuYS52aW0gYi9ydW50aW1lL3N5bnRheC9zcWxoYW5hLnZpbQppbmRleCAxNDEwZTk5Li4yZTMzNGJiIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zcWxoYW5hLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zcWxoYW5hLnZpbQpAQCAtNywxMSArNyw4IEBACiAKICIgRGVzY3JpcHRpb246IFVwZGF0ZWQgdG8gU0FQIEhBTkEgU1A0CiAiCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgICBmaW5pc2gKIGVuZGlmCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NxbGluZm9ybWl4LnZpbSBiL3J1bnRpbWUvc3ludGF4L3NxbGluZm9ybWl4LnZpbQppbmRleCBiNGQwMjM2Li4yMGE4OGFjIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zcWxpbmZvcm1peC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc3FsaW5mb3JtaXgudmltCkBAIC00LDExICs0LDggQEAKICIgTWFpbnRhaW5lcjoJRGVhbiBIaWxsIDxkaGlsbEBob3RtYWlsLmNvbT4KICIgTGFzdCBDaGFuZ2U6CTIwMDQgQXVnIDMwCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xNTQsNDMgKzE1MSwzNSBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NxbF9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zcWxfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCiAKLSAgIiA9PT0gQ29tbWVudCBzeW50YXggZ3JvdXAgPT09Ci0gIEhpTGluayBzcWxDb21tZW50CUNvbW1lbnQKKyIgPT09IENvbW1lbnQgc3ludGF4IGdyb3VwID09PQorSGlMaW5rIHNxbENvbW1lbnQJQ29tbWVudAogCi0gICIgPT09IENvbnN0YW50IHN5bnRheCBncm91cCA9PT0KLSAgSGlMaW5rIHNxbE51bWJlcglOdW1iZXIKLSAgSGlMaW5rIHNxbEJvb2xlYW4JQm9vbGVhbgotICBIaUxpbmsgc3FsU3RyaW5nCVN0cmluZworIiA9PT0gQ29uc3RhbnQgc3ludGF4IGdyb3VwID09PQorSGlMaW5rIHNxbE51bWJlcglOdW1iZXIKK0hpTGluayBzcWxCb29sZWFuCUJvb2xlYW4KK0hpTGluayBzcWxTdHJpbmcJU3RyaW5nCiAKLSAgIiA9PT0gU3RhdG1lbnQgc3ludGF4IGdyb3VwID09PQotICBIaUxpbmsgc3FsU3RhdGVtZW50CVN0YXRlbWVudAotICBIaUxpbmsgc3FsQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIHNxbFJlcGVhdAkJUmVwZWF0Ci0gIEhpTGluayBzcWxLZXl3b3JkCQlLZXl3b3JkCi0gIEhpTGluayBzcWxPcGVyYXRvcglPcGVyYXRvcgotICBIaUxpbmsgc3FsRXhjZXB0aW9uCUV4Y2VwdGlvbgorIiA9PT0gU3RhdG1lbnQgc3ludGF4IGdyb3VwID09PQorSGlMaW5rIHNxbFN0YXRlbWVudAlTdGF0ZW1lbnQKK0hpTGluayBzcWxDb25kaXRpb25hbAlDb25kaXRpb25hbAorSGlMaW5rIHNxbFJlcGVhdAkJUmVwZWF0CitIaUxpbmsgc3FsS2V5d29yZAkJS2V5d29yZAorSGlMaW5rIHNxbE9wZXJhdG9yCU9wZXJhdG9yCitIaUxpbmsgc3FsRXhjZXB0aW9uCUV4Y2VwdGlvbgogCi0gICIgPT09IElkZW50aWZpZXIgc3ludGF4IGdyb3VwID09PQotICBIaUxpbmsgc3FsRnVuY3Rpb24JRnVuY3Rpb24KKyIgPT09IElkZW50aWZpZXIgc3ludGF4IGdyb3VwID09PQorSGlMaW5rIHNxbEZ1bmN0aW9uCUZ1bmN0aW9uCiAKLSAgIiA9PT0gVHlwZSBzeW50YXggZ3JvdXAgPT09Ci0gIEhpTGluayBzcWxUeXBlCVR5cGUKKyIgPT09IFR5cGUgc3ludGF4IGdyb3VwID09PQorSGlMaW5rIHNxbFR5cGUJVHlwZQogCi0gICIgPT09IFRvZG8gc3ludGF4IGdyb3VwID09PQotICBIaUxpbmsgc3FsVG9kbwlUb2RvCisiID09PSBUb2RvIHN5bnRheCBncm91cCA9PT0KK0hpTGluayBzcWxUb2RvCVRvZG8KIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNxbGluZm9ybWl4IgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3Fsai52aW0gYi9ydW50aW1lL3N5bnRheC9zcWxqLnZpbQppbmRleCA1MTM5OGVmLi5lYThkN2VjIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zcWxqLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zcWxqLnZpbQpAQCAtOCwxMCArOCw4IEBACiAKICIgYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouc3FsaiBzbyAkVklNL3N5bnRheC9zcWxqLnZpbQogCi0iIFJlbW92ZSBhbnkgb2xkIHN5bnRheCBzdHVmZiBoYW5naW5nIGFyb3VuZAotaWYgdmVyc2lvbiA8IDYwMAotICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgZmluaXNoCiBlbmRpZgogCkBAIC03NiwyNyArNzQsMjAgQEAKIAogc3luIHN5bmMgY2NvbW1lbnQgc3FsakNvbW1lbnQKIAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NxbGpfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfc3Fsal9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCEgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kISAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitjb21tYW5kISAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyLgotICBIaUxpbmsgc3FsakNvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgc3FsaktleXdvcmQJc3FsalNwZWNpYWwKLSAgSGlMaW5rIHNxbGpOdW1iZXIJTnVtYmVyCi0gIEhpTGluayBzcWxqT3BlcmF0b3IJc3FsalN0YXRlbWVudAotICBIaUxpbmsgc3FsalNwZWNpYWwJU3BlY2lhbAotICBIaUxpbmsgc3FsalN0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIHNxbGpTdHJpbmcJU3RyaW5nCi0gIEhpTGluayBzcWxqVHlwZQlUeXBlCi0gIEhpTGluayBzcWxqUHJlCVByZVByb2MKKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlci4KK0hpTGluayBzcWxqQ29tbWVudAlDb21tZW50CitIaUxpbmsgc3FsaktleXdvcmQJc3FsalNwZWNpYWwKK0hpTGluayBzcWxqTnVtYmVyCU51bWJlcgorSGlMaW5rIHNxbGpPcGVyYXRvcglzcWxqU3RhdGVtZW50CitIaUxpbmsgc3FsalNwZWNpYWwJU3BlY2lhbAorSGlMaW5rIHNxbGpTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgc3FsalN0cmluZwlTdHJpbmcKK0hpTGluayBzcWxqVHlwZQlUeXBlCitIaUxpbmsgc3FsalByZQlQcmVQcm9jCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzcWxqIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zcXIudmltIGIvcnVudGltZS9zeW50YXgvc3FyLnZpbQppbmRleCA4YzllN2I0Li43ZTczNDQzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zcXIudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Nxci52aW0KQEAgLTE2LDE5ICsxNiwxMiBAQAogIiAgICBodHRwOi8vbGFuemFyb3R0YS50cmlwb2QuY29tL3ZpbS5odG1sCiAiICAgIGplZmZsYW56YXJvdHRhIGF0IHlhaG9vIGRvdCBjb20KIAotIiBGb3IgdmVyc2lvbiA1LngsIGNsZWFyIGFsbCBzeW50YXggaXRlbXMuCi0iIEZvciB2ZXJzaW9uIDYueCwgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkLgotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotaWYgdmVyc2lvbiA+PSA2MDAKLSAgc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsXywtLCMsJCx7LH0KLWVsc2UKLSAgc2V0IGlza2V5d29yZD1ALDQ4LTU3LF8sLSwjLCQseyx9Ci1lbmRpZgorc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsXywtLCMsJCx7LH0KIAogc3luIGNhc2UgaWdub3JlCiAKQEAgLTIyMCw3NSArMjEzLDUxIEBACiBzeW4ga2V5d29yZAlzcXJUb2RvCQlUT0RPIEZJWE1FIFhYWCBERUJVRyBOT1RFICMjIwogc3luIG1hdGNoCXNxclRvZG8JCS8/Pz8vCiAKLWlmIHZlcnNpb24gPj0gNjAwCi0gICIgU2VlIGFsc28gdGhlIHNxclN0cmluZyBzZWN0aW9uIGFib3ZlIGZvciBoYW5kbGluZyBvZiAhIGNoYXJhY3RlcnMKLSAgIiBpbnNpZGUgb2Ygc3RyaW5ncy4gIChUaG9zZSBwYXR0ZXJucyBvdmVycmlkZSB0aGUgb25lcyBiZWxvdy4pCi0gIHN5biBtYXRjaAlzcXJDb21tZW50CS8hXEA8ISFcKFteIT1dLipcfCRcKS8gY29udGFpbnM9c3FyVG9kbwotICAiCQkJCSAgdGhlICEgY2FuJ3QgYmUgcHJlY2VkZWQgYnkgYW5vdGhlciAhLAotICAiCQkJCSAgYW5kIG11c3QgYmUgZm9sbG93ZWQgYnkgYXQgbGVhc3Qgb25lCi0gICIJCQkJICBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAhIG9yID0sIG9yIGltbWVkaWF0ZWx5Ci0gICIJCQkJICBieSB0aGUgZW5kLW9mLWxpbmUKLSAgc3luIG1hdGNoCXNxckNvbW1lbnQJL14hPS4qLyBjb250YWlucz1zcXJUb2RvCi0gIHN5biBtYXRjaAlzcXJDb21tZW50CS9eISEuKi8gY29udGFpbnM9c3FyVG9kbwotICBzeW4gbWF0Y2gJc3FyRXJyb3IJL15cc1wrXHpzIT0uKi8KLSAgIgkJCQkgIGl0J3MgYW4gZXJyb3IgdG8gaGF2ZSAiIT0iIHByZWNlZGVkIGJ5Ci0gICIJCQkJICBqdXN0IHdoaXRlc3BhY2Ugb24gdGhlIGxpbmUgKCIhPSIKLSAgIgkJCQkgIHByZWNlZGVkIGJ5IG5vbi13aGl0ZXNwYWNlIGlzIHRyZWF0ZWQKLSAgIgkJCQkgIGFzIG5laXRoZXIgYSBjb21tZW50IG5vciBhbiBlcnJvciwgc2luY2UKLSAgIgkJCQkgIGl0IGlzIG9mdGVuIGNvcnJlY3QsIGkuZS4KLSAgIgkJCQkgICAgaWYgI2NvdW50ICE9IDcKLSAgc3luIG1hdGNoCXNxckVycm9yCS8uXCtcenMhIS4qLwotICAiCQkJCSAgYSAiISEiIGFueXdoZXJlIGJ1dCBhdCB0aGUgYmVnaW5uaW5nIG9mCi0gICIJCQkJICB0aGUgbGluZSBpcyBhbHdheXMgYW4gZXJyb3IKLWVsc2UgIkZvciB2ZXJzaW9ucyBiZWZvcmUgNi4wLCBzYW1lIGlkZWEgYXMgYWJvdmUgYnV0IHdlIGFyZSBsaW1pdGVkCi0gICAgICJ0byBzaW1wbGUgcGF0dGVybnMgb25seS4gIEFsc28sIHRoZSBzcXJTdHJpbmcgcGF0dGVybnMgYWJvdmUKLSAgICAgImRvbid0IHNlZW0gdG8gdGFrZSBwcmVjZWRlbmNlIGluIHY1IGFzIHRoZXkgZG8gaW4gdjYsIHNvCi0gICAgICJ3ZSBzcGxpdCB0aGUgbGFzdCBydWxlIHRvIGlnbm9yZSBjb21tZW50cyBmb3VuZCBpbnNpZGUgb2YKLSAgICAgInN0cmluZyBsaXRlcmFscy4KLSAgc3luIG1hdGNoCXNxckNvbW1lbnQJLyFcKFteIT1dLipcfCRcKS8gY29udGFpbnM9c3FyVG9kbwotICBzeW4gbWF0Y2gJc3FyQ29tbWVudAkvXiE9LiovIGNvbnRhaW5zPXNxclRvZG8KLSAgc3luIG1hdGNoCXNxckNvbW1lbnQJL14hIS4qLyBjb250YWlucz1zcXJUb2RvCi0gIHN5biBtYXRjaAlzcXJFcnJvcgkvXlxzXCshPS4qLwotICBzeW4gbWF0Y2gJc3FyRXJyb3IJL15bXichXVwrISEvCi0gICIJCQkJZmxhZyAhISBvbiBsaW5lcyB0aGF0IGRvbid0IGhhdmUgISBvciAnCi0gIHN5biBtYXRjaAlzcXJFcnJvcgkvXlwoW14hJ10qJ1teJ10qJ1teISddKlwpXCshIS8KLSAgIgkJCQlmbGFnICEhIGZvdW5kIGFmdGVyIG1hdGNoZWQgJyAnIGNoYXJzCi0gICIJCQkJKHRoYXQgYXJlbid0IGFsc28gY29tbWVudGVkKQotZW5kaWYKKyIgU2VlIGFsc28gdGhlIHNxclN0cmluZyBzZWN0aW9uIGFib3ZlIGZvciBoYW5kbGluZyBvZiAhIGNoYXJhY3RlcnMKKyIgaW5zaWRlIG9mIHN0cmluZ3MuICAoVGhvc2UgcGF0dGVybnMgb3ZlcnJpZGUgdGhlIG9uZXMgYmVsb3cuKQorc3luIG1hdGNoCXNxckNvbW1lbnQJLyFcQDwhIVwoW14hPV0uKlx8JFwpLyBjb250YWlucz1zcXJUb2RvCisiCQkJCSAgdGhlICEgY2FuJ3QgYmUgcHJlY2VkZWQgYnkgYW5vdGhlciAhLAorIgkJCQkgIGFuZCBtdXN0IGJlIGZvbGxvd2VkIGJ5IGF0IGxlYXN0IG9uZQorIgkJCQkgIGNoYXJhY3RlciBvdGhlciB0aGFuICEgb3IgPSwgb3IgaW1tZWRpYXRlbHkKKyIJCQkJICBieSB0aGUgZW5kLW9mLWxpbmUKK3N5biBtYXRjaAlzcXJDb21tZW50CS9eIT0uKi8gY29udGFpbnM9c3FyVG9kbworc3luIG1hdGNoCXNxckNvbW1lbnQJL14hIS4qLyBjb250YWlucz1zcXJUb2RvCitzeW4gbWF0Y2gJc3FyRXJyb3IJL15cc1wrXHpzIT0uKi8KKyIJCQkJICBpdCdzIGFuIGVycm9yIHRvIGhhdmUgIiE9IiBwcmVjZWRlZCBieQorIgkJCQkgIGp1c3Qgd2hpdGVzcGFjZSBvbiB0aGUgbGluZSAoIiE9IgorIgkJCQkgIHByZWNlZGVkIGJ5IG5vbi13aGl0ZXNwYWNlIGlzIHRyZWF0ZWQKKyIJCQkJICBhcyBuZWl0aGVyIGEgY29tbWVudCBub3IgYW4gZXJyb3IsIHNpbmNlCisiCQkJCSAgaXQgaXMgb2Z0ZW4gY29ycmVjdCwgaS5lLgorIgkJCQkgICAgaWYgI2NvdW50ICE9IDcKK3N5biBtYXRjaAlzcXJFcnJvcgkvLlwrXHpzISEuKi8KKyIJCQkJICBhICIhISIgYW55d2hlcmUgYnV0IGF0IHRoZSBiZWdpbm5pbmcgb2YKKyIJCQkJICB0aGUgbGluZSBpcyBhbHdheXMgYW4gZXJyb3IKIAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllciwgb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkuCi0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXIsIG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0LgotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Nxcl9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zcXJfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQuCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc3FyU2VjdGlvbiBTdGF0ZW1lbnQKLSAgSGlMaW5rIHNxclBhcmFncmFwaCBTdGF0ZW1lbnQKLSAgSGlMaW5rIHNxclJlc2VydmVkIFN0YXRlbWVudAotICBIaUxpbmsgc3FyUGFyYW1ldGVyIFN0YXRlbWVudAotICBIaUxpbmsgc3FyUHJlUHJvYyBQcmVQcm9jCi0gIEhpTGluayBzcXJTdWJzdFZhciBQcmVQcm9jCi0gIEhpTGluayBzcXJDb21tYW5kIFN0YXRlbWVudAotICBIaUxpbmsgc3FyUGFyYW0gVHlwZQotICBIaUxpbmsgc3FyRnVuY3Rpb24gU3BlY2lhbAorSGlMaW5rIHNxclNlY3Rpb24gU3RhdGVtZW50CitIaUxpbmsgc3FyUGFyYWdyYXBoIFN0YXRlbWVudAorSGlMaW5rIHNxclJlc2VydmVkIFN0YXRlbWVudAorSGlMaW5rIHNxclBhcmFtZXRlciBTdGF0ZW1lbnQKK0hpTGluayBzcXJQcmVQcm9jIFByZVByb2MKK0hpTGluayBzcXJTdWJzdFZhciBQcmVQcm9jCitIaUxpbmsgc3FyQ29tbWFuZCBTdGF0ZW1lbnQKK0hpTGluayBzcXJQYXJhbSBUeXBlCitIaUxpbmsgc3FyRnVuY3Rpb24gU3BlY2lhbAogCi0gIEhpTGluayBzcXJTdHJpbmcgU3RyaW5nCi0gIEhpTGluayBzcXJTdHJPcGVuIFRvZG8KLSAgSGlMaW5rIHNxck51bWJlciBOdW1iZXIKLSAgSGlMaW5rIHNxclZhcmlhYmxlIElkZW50aWZpZXIKK0hpTGluayBzcXJTdHJpbmcgU3RyaW5nCitIaUxpbmsgc3FyU3RyT3BlbiBUb2RvCitIaUxpbmsgc3FyTnVtYmVyIE51bWJlcgorSGlMaW5rIHNxclZhcmlhYmxlIElkZW50aWZpZXIKIAotICBIaUxpbmsgc3FyQ29tbWVudCBDb21tZW50Ci0gIEhpTGluayBzcXJUb2RvIFRvZG8KLSAgSGlMaW5rIHNxckVycm9yIEVycm9yCitIaUxpbmsgc3FyQ29tbWVudCBDb21tZW50CitIaUxpbmsgc3FyVG9kbyBUb2RvCitIaUxpbmsgc3FyRXJyb3IgRXJyb3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNxciIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3F1aWQudmltIGIvcnVudGltZS9zeW50YXgvc3F1aWQudmltCmluZGV4IGE4NDYyYmIuLmVlMmI4NTQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NxdWlkLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zcXVpZC52aW0KQEAgLTcsMTEgKzcsOCBAQAogIiAgICAgICAgICAgICAgIE1pY2hhZWwgRG90emxlciA8TWljaGFlbC5Eb3R6bGVyQGxlb25pLmNvbT4KIAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTIzLDMwICsxMjAsMjIgQEAKIHN5biBzeW5jIG1pbmxpbmVzPTMKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3F1aWRfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfc3F1aWRfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBzcXVpZFRvZG8JVG9kbwotICBIaUxpbmsgc3F1aWRDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIHNxdWlkVGFnCVNwZWNpYWwKLSAgSGlMaW5rIHNxdWlkQ29uZglLZXl3b3JkCi0gIEhpTGluayBzcXVpZE9wdAlDb25zdGFudAotICBIaUxpbmsgc3F1aWRBY3Rpb24JU3RyaW5nCi0gIEhpTGluayBzcXVpZE51bWJlcglOdW1iZXIKLSAgSGlMaW5rIHNxdWlkSVAJTnVtYmVyCi0gIEhpTGluayBzcXVpZEFjbAlLZXl3b3JkCi0gIEhpTGluayBzcXVpZFN0cglTdHJpbmcKLSAgSGlMaW5rIHNxdWlkUmVnZXhPcHQJU3BlY2lhbAorSGlMaW5rIHNxdWlkVG9kbwlUb2RvCitIaUxpbmsgc3F1aWRDb21tZW50CUNvbW1lbnQKK0hpTGluayBzcXVpZFRhZwlTcGVjaWFsCitIaUxpbmsgc3F1aWRDb25mCUtleXdvcmQKK0hpTGluayBzcXVpZE9wdAlDb25zdGFudAorSGlMaW5rIHNxdWlkQWN0aW9uCVN0cmluZworSGlMaW5rIHNxdWlkTnVtYmVyCU51bWJlcgorSGlMaW5rIHNxdWlkSVAJTnVtYmVyCitIaUxpbmsgc3F1aWRBY2wJS2V5d29yZAorSGlMaW5rIHNxdWlkU3RyCVN0cmluZworSGlMaW5rIHNxdWlkUmVnZXhPcHQJU3BlY2lhbAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic3F1aWQiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NyZWMudmltIGIvcnVudGltZS9zeW50YXgvc3JlYy52aW0KaW5kZXggMTliNmQ5Ny4uODM0Y2VjNyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc3JlYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc3JlYy52aW0KQEAgLTI0LDExICsyNCw4IEBACiAiIFN0YXRlcyBpbiBwYXJlbnRoZXNlcyBpbiB0aGUgdXBwZXIgZm9ybWF0IGRlc2NyaXB0aW9uIGluZGljYXRlIHRoYXQgdGhleQogIiBzaG91bGQgbm90IGFwcGVhciBpbiBhIHZhbGlkIGZpbGUuCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC02MywzMyArNjAsMjUgQEAKIHN5biBtYXRjaCBzcmVjQ2hlY2tzdW0gIlswLTlhLWZBLUZdXHsyfSQiIGNvbnRhaW5lZAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zcmVjX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3NyZWNfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgotICBIaUxpbmsgc3JlY1JlY1N0YXJ0ICAgICAgICAgICAgc3JlY1JlY1R5cGUKLSAgSGlMaW5rIHNyZWNSZWNUeXBlVW5rbm93biAgICAgIHNyZWNSZWNUeXBlCi0gIEhpTGluayBzcmVjUmVjVHlwZSAgICAgICAgICAgICBXYXJuaW5nTXNnCi0gIEhpTGluayBzcmVjQnl0ZUNvdW50ICAgICAgICAgICBDb25zdGFudAotICBoaSBkZWYgc3JlY0FkZHJlc3NGaWVsZFVua25vd24gdGVybT1pdGFsaWMgY3Rlcm09aXRhbGljIGd1aT1pdGFsaWMKLSAgSGlMaW5rIHNyZWNOb0FkZHJlc3MgICAgICAgICAgIERpZmZBZGQKLSAgSGlMaW5rIHNyZWNEYXRhQWRkcmVzcyAgICAgICAgIENvbW1lbnQKLSAgSGlMaW5rIHNyZWNSZWNDb3VudCAgICAgICAgICAgIHNyZWNOb0FkZHJlc3MKLSAgSGlMaW5rIHNyZWNTdGFydEFkZHJlc3MgICAgICAgIHNyZWNEYXRhQWRkcmVzcwotICBoaSBkZWYgc3JlY0RhdGFPZGQgICAgICAgICAgICAgdGVybT1ib2xkIGN0ZXJtPWJvbGQgZ3VpPWJvbGQKLSAgaGkgZGVmIHNyZWNEYXRhRXZlbiAgICAgICAgICAgIHRlcm09Tk9ORSBjdGVybT1OT05FIGd1aT1OT05FCi0gIEhpTGluayBzcmVjRGF0YVVuZXhwZWN0ZWQgICAgICBFcnJvcgotICBIaUxpbmsgc3JlY0NoZWNrc3VtICAgICAgICAgICAgRGlmZkNoYW5nZQorIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCitIaUxpbmsgc3JlY1JlY1N0YXJ0ICAgICAgICAgICAgc3JlY1JlY1R5cGUKK0hpTGluayBzcmVjUmVjVHlwZVVua25vd24gICAgICBzcmVjUmVjVHlwZQorSGlMaW5rIHNyZWNSZWNUeXBlICAgICAgICAgICAgIFdhcm5pbmdNc2cKK0hpTGluayBzcmVjQnl0ZUNvdW50ICAgICAgICAgICBDb25zdGFudAoraGkgZGVmIHNyZWNBZGRyZXNzRmllbGRVbmtub3duIHRlcm09aXRhbGljIGN0ZXJtPWl0YWxpYyBndWk9aXRhbGljCitIaUxpbmsgc3JlY05vQWRkcmVzcyAgICAgICAgICAgRGlmZkFkZAorSGlMaW5rIHNyZWNEYXRhQWRkcmVzcyAgICAgICAgIENvbW1lbnQKK0hpTGluayBzcmVjUmVjQ291bnQgICAgICAgICAgICBzcmVjTm9BZGRyZXNzCitIaUxpbmsgc3JlY1N0YXJ0QWRkcmVzcyAgICAgICAgc3JlY0RhdGFBZGRyZXNzCitoaSBkZWYgc3JlY0RhdGFPZGQgICAgICAgICAgICAgdGVybT1ib2xkIGN0ZXJtPWJvbGQgZ3VpPWJvbGQKK2hpIGRlZiBzcmVjRGF0YUV2ZW4gICAgICAgICAgICB0ZXJtPU5PTkUgY3Rlcm09Tk9ORSBndWk9Tk9ORQorSGlMaW5rIHNyZWNEYXRhVW5leHBlY3RlZCAgICAgIEVycm9yCitIaUxpbmsgc3JlY0NoZWNrc3VtICAgICAgICAgICAgRGlmZkNoYW5nZQogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic3JlYyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3NoY29uZmlnLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NzaGNvbmZpZy52aW0KaW5kZXggMzAyZDA3My4uMDUxYjJmOSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc3NoY29uZmlnLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zc2hjb25maWcudmltCkBAIC0xMCwxOSArMTAsMTIgQEAKICIKIAogIiBTZXR1cAotaWYgdmVyc2lvbiA+PSA2MDAKLSAgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKLSAgICBmaW5pc2gKLSAgZW5kaWYKLWVsc2UKLSAgc3ludGF4IGNsZWFyCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCiBlbmRpZgogCi1pZiB2ZXJzaW9uID49IDYwMAotICBzZXRsb2NhbCBpc2tleXdvcmQ9XywtLGEteixBLVosNDgtNTcKLWVsc2UKLSAgc2V0IGlza2V5d29yZD1fLC0sYS16LEEtWiw0OC01NwotZW5kaWYKK3NldGxvY2FsIGlza2V5d29yZD1fLC0sYS16LEEtWiw0OC01NwogCiAKICIgY2FzZSBvbgpAQCAtMjMzLDQwICsyMjYsMzMgQEAKIHN5biBrZXl3b3JkIHNzaGNvbmZpZ0tleXdvcmQgWEF1dGhMb2NhdGlvbgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zc2hjb25maWdfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfc3NoY29uZmlnX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc3NoY29uZmlnQ29tbWVudCAgICAgICAgQ29tbWVudAotICBIaUxpbmsgc3NoY29uZmlnVG9kbyAgICAgICAgICAgVG9kbwotICBIaUxpbmsgc3NoY29uZmlnSG9zdFBvcnQgICAgICAgc3NoY29uZmlnQ29uc3RhbnQKLSAgSGlMaW5rIHNzaGNvbmZpZ051bWJlciAgICAgICAgIHNzaGNvbmZpZ0NvbnN0YW50Ci0gIEhpTGluayBzc2hjb25maWdDb25zdGFudCAgICAgICBDb25zdGFudAotICBIaUxpbmsgc3NoY29uZmlnWWVzTm8gICAgICAgICAgc3NoY29uZmlnRW51bQotICBIaUxpbmsgc3NoY29uZmlnQ2lwaGVyICAgICAgICAgc3NoY29uZmlnRW51bQotICBIaUxpbmsgc3NoY29uZmlnQ2lwaGVycwkgc3NoY29uZmlnRW51bQotICBIaUxpbmsgc3NoY29uZmlnTUFDICAgICAgICAgICAgc3NoY29uZmlnRW51bQotICBIaUxpbmsgc3NoY29uZmlnSG9zdEtleUFsZ28gICAgc3NoY29uZmlnRW51bQotICBIaUxpbmsgc3NoY29uZmlnTG9nTGV2ZWwgICAgICAgc3NoY29uZmlnRW51bQotICBIaUxpbmsgc3NoY29uZmlnU3lzTG9nRmFjaWxpdHkgc3NoY29uZmlnRW51bQotICBIaUxpbmsgc3NoY29uZmlnQWRkcmVzc0ZhbWlseSAgc3NoY29uZmlnRW51bQotICBIaUxpbmsgc3NoY29uZmlnSVBRb1MJCSBzc2hjb25maWdFbnVtCi0gIEhpTGluayBzc2hjb25maWdLYmRJbnRlcmFjdGl2ZSBzc2hjb25maWdFbnVtCi0gIEhpTGluayBzc2hjb25maWdLZXhBbGdvCSBzc2hjb25maWdFbnVtCi0gIEhpTGluayBzc2hjb25maWdUdW5uZWwJIHNzaGNvbmZpZ0VudW0KLSAgSGlMaW5rIHNzaGNvbmZpZ1ByZWZlcnJlZEF1dGggIHNzaGNvbmZpZ0VudW0KLSAgSGlMaW5rIHNzaGNvbmZpZ1ZhciAgICAgICAgICAgIHNzaGNvbmZpZ0VudW0KLSAgSGlMaW5rIHNzaGNvbmZpZ0VudW0gICAgICAgICAgIElkZW50aWZpZXIKLSAgSGlMaW5rIHNzaGNvbmZpZ1NwZWNpYWwgICAgICAgIFNwZWNpYWwKLSAgSGlMaW5rIHNzaGNvbmZpZ0tleXdvcmQgICAgICAgIEtleXdvcmQKLSAgSGlMaW5rIHNzaGNvbmZpZ0hvc3RTZWN0ICAgICAgIFR5cGUKLSAgSGlMaW5rIHNzaGNvbmZpZ01hdGNoICAgICAgICAgIFR5cGUKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitIaUxpbmsgc3NoY29uZmlnQ29tbWVudCAgICAgICAgQ29tbWVudAorSGlMaW5rIHNzaGNvbmZpZ1RvZG8gICAgICAgICAgIFRvZG8KK0hpTGluayBzc2hjb25maWdIb3N0UG9ydCAgICAgICBzc2hjb25maWdDb25zdGFudAorSGlMaW5rIHNzaGNvbmZpZ051bWJlciAgICAgICAgIHNzaGNvbmZpZ0NvbnN0YW50CitIaUxpbmsgc3NoY29uZmlnQ29uc3RhbnQgICAgICAgQ29uc3RhbnQKK0hpTGluayBzc2hjb25maWdZZXNObyAgICAgICAgICBzc2hjb25maWdFbnVtCitIaUxpbmsgc3NoY29uZmlnQ2lwaGVyICAgICAgICAgc3NoY29uZmlnRW51bQorSGlMaW5rIHNzaGNvbmZpZ0NpcGhlcnMJIHNzaGNvbmZpZ0VudW0KK0hpTGluayBzc2hjb25maWdNQUMgICAgICAgICAgICBzc2hjb25maWdFbnVtCitIaUxpbmsgc3NoY29uZmlnSG9zdEtleUFsZ28gICAgc3NoY29uZmlnRW51bQorSGlMaW5rIHNzaGNvbmZpZ0xvZ0xldmVsICAgICAgIHNzaGNvbmZpZ0VudW0KK0hpTGluayBzc2hjb25maWdTeXNMb2dGYWNpbGl0eSBzc2hjb25maWdFbnVtCitIaUxpbmsgc3NoY29uZmlnQWRkcmVzc0ZhbWlseSAgc3NoY29uZmlnRW51bQorSGlMaW5rIHNzaGNvbmZpZ0lQUW9TCQkgc3NoY29uZmlnRW51bQorSGlMaW5rIHNzaGNvbmZpZ0tiZEludGVyYWN0aXZlIHNzaGNvbmZpZ0VudW0KK0hpTGluayBzc2hjb25maWdLZXhBbGdvCSBzc2hjb25maWdFbnVtCitIaUxpbmsgc3NoY29uZmlnVHVubmVsCSBzc2hjb25maWdFbnVtCitIaUxpbmsgc3NoY29uZmlnUHJlZmVycmVkQXV0aCAgc3NoY29uZmlnRW51bQorSGlMaW5rIHNzaGNvbmZpZ1ZhciAgICAgICAgICAgIHNzaGNvbmZpZ0VudW0KK0hpTGluayBzc2hjb25maWdFbnVtICAgICAgICAgICBJZGVudGlmaWVyCitIaUxpbmsgc3NoY29uZmlnU3BlY2lhbCAgICAgICAgU3BlY2lhbAorSGlMaW5rIHNzaGNvbmZpZ0tleXdvcmQgICAgICAgIEtleXdvcmQKK0hpTGluayBzc2hjb25maWdIb3N0U2VjdCAgICAgICBUeXBlCitIaUxpbmsgc3NoY29uZmlnTWF0Y2ggICAgICAgICAgVHlwZQorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic3NoY29uZmlnIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zc2hkY29uZmlnLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NzaGRjb25maWcudmltCmluZGV4IDZiN2I5OGQuLjI4YjhhY2EgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NzaGRjb25maWcudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NzaGRjb25maWcudmltCkBAIC0xMSwxOSArMTEsMTIgQEAKICIKIAogIiBTZXR1cAotaWYgdmVyc2lvbiA+PSA2MDAKLSAgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKLSAgICBmaW5pc2gKLSAgZW5kaWYKLWVsc2UKLSAgc3ludGF4IGNsZWFyCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCiBlbmRpZgogCi1pZiB2ZXJzaW9uID49IDYwMAotICBzZXRsb2NhbCBpc2tleXdvcmQ9XywtLGEteixBLVosNDgtNTcKLWVsc2UKLSAgc2V0IGlza2V5d29yZD1fLC0sYS16LEEtWiw0OC01NwotZW5kaWYKK3NldGxvY2FsIGlza2V5d29yZD1fLC0sYS16LEEtWiw0OC01NwogCiAKICIgY2FzZSBvbgpAQCAtMjM5LDQzICsyMzIsMzYgQEAKIAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zc2hkY29uZmlnX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3NzaGRjb25maWdfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBzc2hkY29uZmlnQ29tbWVudCAgICAgICAgICAgICAgQ29tbWVudAotICBIaUxpbmsgc3NoZGNvbmZpZ1RvZG8gICAgICAgICAgICAgICAgIFRvZG8KLSAgSGlMaW5rIHNzaGRjb25maWdIb3N0UG9ydCAgICAgICAgICAgICBzc2hkY29uZmlnQ29uc3RhbnQKLSAgSGlMaW5rIHNzaGRjb25maWdUaW1lICAgICAgICAgICAgICAgICBzc2hkY29uZmlnQ29uc3RhbnQKLSAgSGlMaW5rIHNzaGRjb25maWdOdW1iZXIgICAgICAgICAgICAgICBzc2hkY29uZmlnQ29uc3RhbnQKLSAgSGlMaW5rIHNzaGRjb25maWdDb25zdGFudCAgICAgICAgICAgICBDb25zdGFudAotICBIaUxpbmsgc3NoZGNvbmZpZ1llc05vICAgICAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCi0gIEhpTGluayBzc2hkY29uZmlnQWRkcmVzc0ZhbWlseSAgICAgICAgc3NoZGNvbmZpZ0VudW0KLSAgSGlMaW5rIHNzaGRjb25maWdQcml2aWxlZ2VTZXBhcmF0aW9uICBzc2hkY29uZmlnRW51bQotICBIaUxpbmsgc3NoZGNvbmZpZ1RjcEZvcndhcmRpbmcgICAgICAgIHNzaGRjb25maWdFbnVtCi0gIEhpTGluayBzc2hkY29uZmlnUm9vdExvZ2luICAgICAgICAgICAgc3NoZGNvbmZpZ0VudW0KLSAgSGlMaW5rIHNzaGRjb25maWdDaXBoZXJzICAgICAgICAgICAgICBzc2hkY29uZmlnRW51bQotICBIaUxpbmsgc3NoZGNvbmZpZ01BQyAgICAgICAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCi0gIEhpTGluayBzc2hkY29uZmlnSG9zdEtleUFsZ28gICAgICAgICAgc3NoZGNvbmZpZ0VudW0KLSAgSGlMaW5rIHNzaGRjb25maWdSb290TG9naW4gICAgICAgICAgICBzc2hkY29uZmlnRW51bQotICBIaUxpbmsgc3NoZGNvbmZpZ0xvZ0xldmVsICAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCi0gIEhpTGluayBzc2hkY29uZmlnU3lzTG9nRmFjaWxpdHkgICAgICAgc3NoZGNvbmZpZ0VudW0KLSAgSGlMaW5rIHNzaGRjb25maWdWYXIgICAgICAgICAgICAgICAgICBzc2hkY29uZmlnRW51bQotICBIaUxpbmsgc3NoZGNvbmZpZ0NvbXByZXNzaW9uICAgICAgICAgIHNzaGRjb25maWdFbnVtCi0gIEhpTGluayBzc2hkY29uZmlnSVBRb1MgICAgICAgICAgICAgICAgc3NoZGNvbmZpZ0VudW0KLSAgSGlMaW5rIHNzaGRjb25maWdLZXhBbGdvICAgICAgICAgICAgICBzc2hkY29uZmlnRW51bQotICBIaUxpbmsgc3NoZGNvbmZpZ1R1bm5lbCAgICAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCi0gIEhpTGluayBzc2hkY29uZmlnU3Vic3lzdGVtICAgICAgICAgICAgc3NoZGNvbmZpZ0VudW0KLSAgSGlMaW5rIHNzaGRjb25maWdFbnVtICAgICAgICAgICAgICAgICBGdW5jdGlvbgotICBIaUxpbmsgc3NoZGNvbmZpZ1NwZWNpYWwgICAgICAgICAgICAgIFNwZWNpYWwKLSAgSGlMaW5rIHNzaGRjb25maWdLZXl3b3JkICAgICAgICAgICAgICBLZXl3b3JkCi0gIEhpTGluayBzc2hkY29uZmlnTWF0Y2ggICAgICAgICAgICAgICAgVHlwZQotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK0hpTGluayBzc2hkY29uZmlnQ29tbWVudCAgICAgICAgICAgICAgQ29tbWVudAorSGlMaW5rIHNzaGRjb25maWdUb2RvICAgICAgICAgICAgICAgICBUb2RvCitIaUxpbmsgc3NoZGNvbmZpZ0hvc3RQb3J0ICAgICAgICAgICAgIHNzaGRjb25maWdDb25zdGFudAorSGlMaW5rIHNzaGRjb25maWdUaW1lICAgICAgICAgICAgICAgICBzc2hkY29uZmlnQ29uc3RhbnQKK0hpTGluayBzc2hkY29uZmlnTnVtYmVyICAgICAgICAgICAgICAgc3NoZGNvbmZpZ0NvbnN0YW50CitIaUxpbmsgc3NoZGNvbmZpZ0NvbnN0YW50ICAgICAgICAgICAgIENvbnN0YW50CitIaUxpbmsgc3NoZGNvbmZpZ1llc05vICAgICAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ0FkZHJlc3NGYW1pbHkgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ1ByaXZpbGVnZVNlcGFyYXRpb24gIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ1RjcEZvcndhcmRpbmcgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ1Jvb3RMb2dpbiAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ0NpcGhlcnMgICAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ01BQyAgICAgICAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ0hvc3RLZXlBbGdvICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ1Jvb3RMb2dpbiAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ0xvZ0xldmVsICAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ1N5c0xvZ0ZhY2lsaXR5ICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ1ZhciAgICAgICAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ0NvbXByZXNzaW9uICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ0lQUW9TICAgICAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ0tleEFsZ28gICAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ1R1bm5lbCAgICAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ1N1YnN5c3RlbSAgICAgICAgICAgIHNzaGRjb25maWdFbnVtCitIaUxpbmsgc3NoZGNvbmZpZ0VudW0gICAgICAgICAgICAgICAgIEZ1bmN0aW9uCitIaUxpbmsgc3NoZGNvbmZpZ1NwZWNpYWwgICAgICAgICAgICAgIFNwZWNpYWwKK0hpTGluayBzc2hkY29uZmlnS2V5d29yZCAgICAgICAgICAgICAgS2V5d29yZAorSGlMaW5rIHNzaGRjb25maWdNYXRjaCAgICAgICAgICAgICAgICBUeXBlCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzc2hkY29uZmlnIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zdC52aW0gYi9ydW50aW1lL3N5bnRheC9zdC52aW0KaW5kZXggNDdhYTA3ZC4uMTA3MWNhYSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc3QudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3N0LnZpbQpAQCAtMywxMSArMyw4IEBACiAiIE1haW50YWluZXI6CUFybmR0IEhlc3NlIDxoZXNzZUBzZWxmLmRlPgogIiBMYXN0IENoYW5nZToJMjAxMiBGZWIgMTIgYnkgVGhpbG8gU2l4CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC03NywzMCArNzQsMjIgQEAKIHN5biBzeW5jIG1pbmxpbmVzPTUwCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3N0X3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3N0X3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgc3RLZXl3b3JkCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHN0TWV0aG9kCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHN0Q29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgc3RDaGFyYWN0ZXIJCUNvbnN0YW50Ci0gIEhpTGluayBzdFN0cmluZwkJQ29uc3RhbnQKLSAgSGlMaW5rIHN0U3ltYm9sCQlTcGVjaWFsCi0gIEhpTGluayBzdE51bWJlcgkJVHlwZQotICBIaUxpbmsgc3RGbG9hdAkJVHlwZQotICBIaUxpbmsgc3RFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIHN0TG9jYWxWYXJpYWJsZXMJSWRlbnRpZmllcgotICBIaUxpbmsgc3RCbG9ja1ZhcmlhYmxlCUlkZW50aWZpZXIKK0hpTGluayBzdEtleXdvcmQJCVN0YXRlbWVudAorSGlMaW5rIHN0TWV0aG9kCQlTdGF0ZW1lbnQKK0hpTGluayBzdENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayBzdENoYXJhY3RlcgkJQ29uc3RhbnQKK0hpTGluayBzdFN0cmluZwkJQ29uc3RhbnQKK0hpTGluayBzdFN5bWJvbAkJU3BlY2lhbAorSGlMaW5rIHN0TnVtYmVyCQlUeXBlCitIaUxpbmsgc3RGbG9hdAkJVHlwZQorSGlMaW5rIHN0RXJyb3IJCUVycm9yCitIaUxpbmsgc3RMb2NhbFZhcmlhYmxlcwlJZGVudGlmaWVyCitIaUxpbmsgc3RCbG9ja1ZhcmlhYmxlCUlkZW50aWZpZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInN0IgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zdGF0YS52aW0gYi9ydW50aW1lL3N5bnRheC9zdGF0YS52aW0KaW5kZXggZTFmMTljOC4uMjlmNTA1MiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc3RhdGEudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3N0YXRhLnZpbQpAQCAtMTIsOSArMTIsOCBAQAogIiAyNmFwcjIwMDYJZml4ZWQgYnJhY2UgY29uZnVzaW9uIGluIHN0YXRhRXJySW5QYXJlbiBhbmQgc3RhdGFFcnJJbkJyYWNrZXQKICIJCWZpeGVkIHBhcmVuL2JyYWNrZXQgY29uZnVzaW9uIGluIHN0YXRhRnVuY0dyb3VwCiAKLWlmIHZlcnNpb24gPCA2MDAKLQlzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAJZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zdHAudmltIGIvcnVudGltZS9zeW50YXgvc3RwLnZpbQppbmRleCBmNGYwZjNiLi5mYmQ2NTk2IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9zdHAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3N0cC52aW0KQEAgLTQsMTEgKzQsOCBAQAogIgkgIFVSTDogaHR0cDovL2xhbnphcm90dGEudHJpcG9kLmNvbS92aW0vc3ludGF4L3N0cC52aW0uemlwCiAiIExhc3QgQ2hhbmdlOiBNYXJjaCAwNSwgMjAwMgogCi0iIEZvciB2ZXJzaW9uIDUueCwgY2xlYXIgYWxsIHN5bnRheCBpdGVtcy4KLSIgRm9yIHZlcnNpb24gNi54LCBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQuCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMzEsMzYgKzEyOCwyOCBAQAogc3luIHN5bmMgbWlubGluZXM9MTAgbWF4bGluZXM9MTAwCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS54IGFuZCBlYXJsaWVyLCBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeS4KLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlciwgb25seSB3aGVuIGFuZCBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0LgotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3N0cF9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zdHBfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuZCBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0LgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHN0cENvbmRpdGlvbmFsIENvbmRpdGlvbmFsCi0gIEhpTGluayBzdHBDb21tZW50IENvbW1lbnQKLSAgSGlMaW5rIHN0cEtleXdvcmQgS2V5d29yZAotICBIaUxpbmsgc3RwTnVtYmVyIE51bWJlcgotICBIaUxpbmsgc3RwT3BlcmF0b3IgT3BlcmF0b3IKLSAgSGlMaW5rIHN0cFNwZWNpYWwgU3BlY2lhbAotICBIaUxpbmsgc3RwU3RhdGVtZW50IFN0YXRlbWVudAotICBIaUxpbmsgc3RwU3RyaW5nIFN0cmluZwotICBIaUxpbmsgc3RwU3RyaW5nRXJyb3IgRXJyb3IKLSAgSGlMaW5rIHN0cFR5cGUgVHlwZQotICBIaUxpbmsgc3RwVG9kbyBUb2RvCi0gIEhpTGluayBzdHBGdW5jdGlvbiBGdW5jdGlvbgotICBIaUxpbmsgc3RwR2xvYmFscyBNYWNybwotICBIaUxpbmsgc3RwUGFyZW4gTm9ybWFsCi0gIEhpTGluayBzdHBQYXJlbkVycm9yIEVycm9yCi0gIEhpTGluayBzdHBTUUxLZXl3b3JkIEZ1bmN0aW9uCi0gIEhpTGluayBzdHBSZXBlYXQgUmVwZWF0CitIaUxpbmsgc3RwQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKK0hpTGluayBzdHBDb21tZW50IENvbW1lbnQKK0hpTGluayBzdHBLZXl3b3JkIEtleXdvcmQKK0hpTGluayBzdHBOdW1iZXIgTnVtYmVyCitIaUxpbmsgc3RwT3BlcmF0b3IgT3BlcmF0b3IKK0hpTGluayBzdHBTcGVjaWFsIFNwZWNpYWwKK0hpTGluayBzdHBTdGF0ZW1lbnQgU3RhdGVtZW50CitIaUxpbmsgc3RwU3RyaW5nIFN0cmluZworSGlMaW5rIHN0cFN0cmluZ0Vycm9yIEVycm9yCitIaUxpbmsgc3RwVHlwZSBUeXBlCitIaUxpbmsgc3RwVG9kbyBUb2RvCitIaUxpbmsgc3RwRnVuY3Rpb24gRnVuY3Rpb24KK0hpTGluayBzdHBHbG9iYWxzIE1hY3JvCitIaUxpbmsgc3RwUGFyZW4gTm9ybWFsCitIaUxpbmsgc3RwUGFyZW5FcnJvciBFcnJvcgorSGlMaW5rIHN0cFNRTEtleXdvcmQgRnVuY3Rpb24KK0hpTGluayBzdHBSZXBlYXQgUmVwZWF0CiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzdHAiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3N0cmFjZS52aW0gYi9ydW50aW1lL3N5bnRheC9zdHJhY2UudmltCmluZGV4IDBmNjg2ZmQuLjQ1YjcwMDcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3N0cmFjZS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc3RyYWNlLnZpbQpAQCAtNSwxMiArNSw5IEBACiAiIExhc3QgQ2hhbmdlOiAyMDE1LTAxLTE2CiAKICIgU2V0dXAKLWlmIHZlcnNpb24gPj0gNjAwCi0JaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKLQkJZmluaXNoCi0JZW5kaWYKLWVsc2UKLQlzeW50YXggY2xlYXIKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCWZpbmlzaAogZW5kaWYKIAogc3luIGNhc2UgbWF0Y2gKQEAgLTM1LDMxICszMiwyNCBAQAogc3luIHJlZ2lvbiBzdHJhY2VDb21tZW50IHN0YXJ0PSIvXCoiIGVuZD0iXCovIiBvbmVsaW5lCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZwotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3N0cmFjZV9zeW50YXhfaW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF9zdHJhY2Vfc3ludGF4X2luaXRzID0gMQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotCWVsc2UKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0JZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0JSGlMaW5rIHN0cmFjZUNvbW1lbnQgQ29tbWVudAotCUhpTGluayBzdHJhY2VWZXJib3NlZCBDb21tZW50Ci0JSGlMaW5rIHN0cmFjZVBJRCBQcmVQcm9jCi0JSGlMaW5rIHN0cmFjZU51bWJlciBOdW1iZXIKLQlIaUxpbmsgc3RyYWNlTnVtYmVyUkhTIFR5cGUKLQlIaUxpbmsgc3RyYWNlT3RoZXJSSFMgVHlwZQotCUhpTGluayBzdHJhY2VTdHJpbmcgU3RyaW5nCi0JSGlMaW5rIHN0cmFjZUNvbnN0YW50IEZ1bmN0aW9uCi0JSGlMaW5rIHN0cmFjZUVxdWFscyBUeXBlCi0JSGlMaW5rIHN0cmFjZVN5c0NhbGxFbWJlZCBzdHJhY2VTeXNDYWxsCi0JSGlMaW5rIHN0cmFjZVN5c0NhbGwgU3RhdGVtZW50Ci0JSGlMaW5rIHN0cmFjZVBhcmVudGhlc2lzIFN0YXRlbWVudAotCUhpTGluayBzdHJhY2VPcGVyYXRvciBOb3JtYWwKLQlIaUxpbmsgc3RyYWNlU3BlY2lhbENoYXIgU3BlY2lhbAotCUhpTGluayBzdHJhY2VPdGhlclBJRCBQcmVQcm9jCitIaUxpbmsgc3RyYWNlQ29tbWVudCBDb21tZW50CitIaUxpbmsgc3RyYWNlVmVyYm9zZWQgQ29tbWVudAorSGlMaW5rIHN0cmFjZVBJRCBQcmVQcm9jCitIaUxpbmsgc3RyYWNlTnVtYmVyIE51bWJlcgorSGlMaW5rIHN0cmFjZU51bWJlclJIUyBUeXBlCitIaUxpbmsgc3RyYWNlT3RoZXJSSFMgVHlwZQorSGlMaW5rIHN0cmFjZVN0cmluZyBTdHJpbmcKK0hpTGluayBzdHJhY2VDb25zdGFudCBGdW5jdGlvbgorSGlMaW5rIHN0cmFjZUVxdWFscyBUeXBlCitIaUxpbmsgc3RyYWNlU3lzQ2FsbEVtYmVkIHN0cmFjZVN5c0NhbGwKK0hpTGluayBzdHJhY2VTeXNDYWxsIFN0YXRlbWVudAorSGlMaW5rIHN0cmFjZVBhcmVudGhlc2lzIFN0YXRlbWVudAorSGlMaW5rIHN0cmFjZU9wZXJhdG9yIE5vcm1hbAorSGlMaW5rIHN0cmFjZVNwZWNpYWxDaGFyIFNwZWNpYWwKK0hpTGluayBzdHJhY2VPdGhlclBJRCBQcmVQcm9jCiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInN0cmFjZSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3N2bi52aW0gYi9ydW50aW1lL3N5bnRheC9zdm4udmltCmluZGV4IDY1MzZkNmQuLjhiODM3NTMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3N2bi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc3ZuLnZpbQpAQCAtMTUsMTEgKzE1LDggQEAKICIgICBNeWsgVGF5bG9yCiAiICAgU3RlZmFubyBaYWNjaGlyb2xpCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zLgotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZC4KLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkLgoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC00MiwyOCArMzksMjAgQEAKIHN5biBzeW5jIG1hdGNoIHN2blN5bmMgIGdyb3VwaGVyZSBzdm5SZWdpb24gIl4tLS4qLS0kIm1lPXMtMQogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkuCi0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0LgotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3N2bl9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDw9IDUwOAotICAgIGxldCBkaWRfc3ZuX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0LgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHN2blN1bW1hcnkgICAgIEtleXdvcmQKLSAgSGlMaW5rIHN2bkJsYW5rICAgICAgIEVycm9yCitIaUxpbmsgc3ZuU3VtbWFyeSAgICAgS2V5d29yZAorSGlMaW5rIHN2bkJsYW5rICAgICAgIEVycm9yCiAKLSAgSGlMaW5rIHN2blJlZ2lvbiAgICAgIENvbW1lbnQKLSAgSGlMaW5rIHN2bkRlbGltaXRlciAgIE5vblRleHQKLSAgSGlMaW5rIHN2blJlbW92ZWQgICAgIENvbnN0YW50Ci0gIEhpTGluayBzdm5BZGRlZCAgICAgICBJZGVudGlmaWVyCi0gIEhpTGluayBzdm5Nb2RpZmllZCAgICBTcGVjaWFsCi0gIEhpTGluayBzdm5Qcm9wZXJ0eSAgICBTcGVjaWFsCi0gIEhpTGluayBzdm5SZW5hbWVkICAgICBTcGVjaWFsCitIaUxpbmsgc3ZuUmVnaW9uICAgICAgQ29tbWVudAorSGlMaW5rIHN2bkRlbGltaXRlciAgIE5vblRleHQKK0hpTGluayBzdm5SZW1vdmVkICAgICBDb25zdGFudAorSGlMaW5rIHN2bkFkZGVkICAgICAgIElkZW50aWZpZXIKK0hpTGluayBzdm5Nb2RpZmllZCAgICBTcGVjaWFsCitIaUxpbmsgc3ZuUHJvcGVydHkgICAgU3BlY2lhbAorSGlMaW5rIHN2blJlbmFtZWQgICAgIFNwZWNpYWwKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInN2biIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3N5c3RlbXZlcmlsb2cudmltIGIvcnVudGltZS9zeW50YXgvc3lzdGVtdmVyaWxvZy52aW0KaW5kZXggNWJmMjkzNS4uOTQwNzRiZCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc3lzdGVtdmVyaWxvZy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc3lzdGVtdmVyaWxvZy52aW0KQEAgLTMsMjEgKzMsMTQgQEAKICIgTWFpbnRhaW5lcjogIGtvY2hhIDxrb2NoYS5sc2lmcm9udGVuZEBnbWFpbC5jb20+CiAiIExhc3QgQ2hhbmdlOiAxMi1BdWctMjAxMy4gCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgIGZpbmlzaAogZW5kaWYKIAogIiBSZWFkIGluIFZlcmlsb2cgc3ludGF4IGZpbGVzCi1pZiB2ZXJzaW9uIDwgNjAwCi0gICAgc28gPHNmaWxlPjpwOmgvdmVyaWxvZy52aW0KLWVsc2UKLSAgICBydW50aW1lISBzeW50YXgvdmVyaWxvZy52aW0KLSAgICB1bmxldCBiOmN1cnJlbnRfc3ludGF4Ci1lbmRpZgorcnVudGltZSEgc3ludGF4L3Zlcmlsb2cudmltCit1bmxldCBiOmN1cnJlbnRfc3ludGF4CiAKICIgSUVFRTE4MDAtMjAwNQogc3luIGtleXdvcmQgc3lzdGVtdmVyaWxvZ1N0YXRlbWVudCAgIGFsd2F5c19jb21iIGFsd2F5c19mZiBhbHdheXNfbGF0Y2gKQEAgLTc2LDI1ICs2OSwxOCBAQAogc3luIGtleXdvcmQgc3lzdGVtdmVyaWxvZ1N0YXRlbWVudCAgIGludGVyY29ubmVjdCBzb2Z0IG5ldHR5cGUKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3N5c3RlbXZlcmlsb2dfc3luX2luaXRzIikKLSAgIGlmIHZlcnNpb24gPCA1MDgKLSAgICAgIGxldCBkaWRfc3lzdGVtdmVyaWxvZ19zeW5faW5pdHMgPSAxCi0gICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgZWxzZQotICAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gICBlbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgICIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotICAgSGlMaW5rIHN5c3RlbXZlcmlsb2dTdGF0ZW1lbnQgICAgICAgU3RhdGVtZW50Ci0gICBIaUxpbmsgc3lzdGVtdmVyaWxvZ1R5cGVEZWYgICAgICAgICBUeXBlRGVmCi0gICBIaUxpbmsgc3lzdGVtdmVyaWxvZ0NvbmRpdGlvbmFsICAgICBDb25kaXRpb25hbAotICAgSGlMaW5rIHN5c3RlbXZlcmlsb2dSZXBlYXQgICAgICAgICAgUmVwZWF0Ci0gICBIaUxpbmsgc3lzdGVtdmVyaWxvZ0xhYmVsICAgICAgICAgICBMYWJlbAotICAgSGlMaW5rIHN5c3RlbXZlcmlsb2dHbG9iYWwgICAgICAgICAgRGVmaW5lCi0gICBIaUxpbmsgc3lzdGVtdmVyaWxvZ051bWJlciAgICAgICAgICBOdW1iZXIKKyIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorSGlMaW5rIHN5c3RlbXZlcmlsb2dTdGF0ZW1lbnQgICAgICAgU3RhdGVtZW50CitIaUxpbmsgc3lzdGVtdmVyaWxvZ1R5cGVEZWYgICAgICAgICBUeXBlRGVmCitIaUxpbmsgc3lzdGVtdmVyaWxvZ0NvbmRpdGlvbmFsICAgICBDb25kaXRpb25hbAorSGlMaW5rIHN5c3RlbXZlcmlsb2dSZXBlYXQgICAgICAgICAgUmVwZWF0CitIaUxpbmsgc3lzdGVtdmVyaWxvZ0xhYmVsICAgICAgICAgICBMYWJlbAorSGlMaW5rIHN5c3RlbXZlcmlsb2dHbG9iYWwgICAgICAgICAgRGVmaW5lCitIaUxpbmsgc3lzdGVtdmVyaWxvZ051bWJlciAgICAgICAgICBOdW1iZXIKIAotICAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzeXN0ZW12ZXJpbG9nIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90YWRzLnZpbSBiL3J1bnRpbWUvc3ludGF4L3RhZHMudmltCmluZGV4IDI2MGZmMzYuLjBmNjNiZWEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3RhZHMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3RhZHMudmltCkBAIC0xMywxMSArMTMsOCBAQAogIiBBY3R1YWxseSwgc2hvdWxkIGN2dHN0ciBldGMuIGJlIGZ1bmN0aW9ucz8hIChjaGFuZ2UgdGFkc0Z1bmN0aW9uKQogIiBNYWtlIGdsb2JhbCBldGMuIGludG8gSWRlbnRpZmllcnMsIHNpbmNlIHdlIGRvbid0IGhhdmUgcmVndWxhciB2YXJpYWJsZXM/CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMjIsNTcgKzExOSw0OSBAQAogZXhlY3V0ZSAic3luIHN5bmMgbWF4bGluZXM9IiAuIHRhZHNfc3luY19kaXN0CiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3RhZHNfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfdGFkc19zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgIiBUaGUgZGVmYXVsdCBtZXRob2RzIGZvciBoaWdobGlnaHRpbmcuICBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlcgotICBIaUxpbmsgdGFkc0Z1bmN0aW9uRGVmIEZ1bmN0aW9uCi0gIEhpTGluayB0YWRzRnVuY3Rpb24gIFN0cnVjdHVyZQotICBIaUxpbmsgdGFkc0NsYXNzICAgICBTdHJ1Y3R1cmUKLSAgSGlMaW5rIHRhZHNDbGFzc0RlZiAgSWRlbnRpZmllcgotICBIaUxpbmsgdGFkc09iamVjdERlZiBJZGVudGlmaWVyCisiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCitIaUxpbmsgdGFkc0Z1bmN0aW9uRGVmIEZ1bmN0aW9uCitIaUxpbmsgdGFkc0Z1bmN0aW9uICBTdHJ1Y3R1cmUKK0hpTGluayB0YWRzQ2xhc3MgICAgIFN0cnVjdHVyZQorSGlMaW5rIHRhZHNDbGFzc0RlZiAgSWRlbnRpZmllcgorSGlMaW5rIHRhZHNPYmplY3REZWYgSWRlbnRpZmllcgogIiBubyBoaWdobGlnaHQgZm9yIHRhZHNFbWJlZGRlZCwgc28gaXQgcHJpbnRzIGFzIG5vcm1hbCB0ZXh0IHcvaW4gdGhlIHN0cmluZwogCi0gIEhpTGluayB0YWRzT3BlcmF0b3IJT3BlcmF0b3IKLSAgSGlMaW5rIHRhZHNTdHJ1Y3R1cmUJU3RydWN0dXJlCi0gIEhpTGluayB0YWRzVG9kbwlUb2RvCi0gIEhpTGluayB0YWRzTGFiZWwJTGFiZWwKLSAgSGlMaW5rIHRhZHNDb25kaXRpb25hbAlDb25kaXRpb25hbAotICBIaUxpbmsgdGFkc1JlcGVhdAlSZXBlYXQKLSAgSGlMaW5rIHRhZHNFeGNlcHRpb24JRXhjZXB0aW9uCi0gIEhpTGluayB0YWRzU3RhdGVtZW50CVN0YXRlbWVudAotICBIaUxpbmsgdGFkc1N0b3JhZ2VDbGFzcwlTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rIHRhZHNLZXlXb3JkICAgS2V5d29yZAotICBIaUxpbmsgdGFkc1NwZWNpYWwJU3BlY2lhbENoYXIKLSAgSGlMaW5rIHRhZHNOdW1iZXIJTnVtYmVyCi0gIEhpTGluayB0YWRzQm9vbGVhbglCb29sZWFuCi0gIEhpTGluayB0YWRzRG91YmxlU3RyaW5nCXRhZHNTdHJpbmcKLSAgSGlMaW5rIHRhZHNTaW5nbGVTdHJpbmcJdGFkc1N0cmluZworSGlMaW5rIHRhZHNPcGVyYXRvcglPcGVyYXRvcgorSGlMaW5rIHRhZHNTdHJ1Y3R1cmUJU3RydWN0dXJlCitIaUxpbmsgdGFkc1RvZG8JVG9kbworSGlMaW5rIHRhZHNMYWJlbAlMYWJlbAorSGlMaW5rIHRhZHNDb25kaXRpb25hbAlDb25kaXRpb25hbAorSGlMaW5rIHRhZHNSZXBlYXQJUmVwZWF0CitIaUxpbmsgdGFkc0V4Y2VwdGlvbglFeGNlcHRpb24KK0hpTGluayB0YWRzU3RhdGVtZW50CVN0YXRlbWVudAorSGlMaW5rIHRhZHNTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCitIaUxpbmsgdGFkc0tleVdvcmQgICBLZXl3b3JkCitIaUxpbmsgdGFkc1NwZWNpYWwJU3BlY2lhbENoYXIKK0hpTGluayB0YWRzTnVtYmVyCU51bWJlcgorSGlMaW5rIHRhZHNCb29sZWFuCUJvb2xlYW4KK0hpTGluayB0YWRzRG91YmxlU3RyaW5nCXRhZHNTdHJpbmcKK0hpTGluayB0YWRzU2luZ2xlU3RyaW5nCXRhZHNTdHJpbmcKIAotICBIaUxpbmsgdGFkc09jdGFsRXJyb3IJdGFkc0Vycm9yCi0gIEhpTGluayB0YWRzQ29tbWVudEVycm9yCXRhZHNFcnJvcgotICBIaUxpbmsgdGFkc0JyYWNlRXJyb3IJdGFkc0Vycm9yCi0gIEhpTGluayB0YWRzSW5CcmFjZQl0YWRzRXJyb3IKLSAgSGlMaW5rIHRhZHNFcnJvcglFcnJvcgorSGlMaW5rIHRhZHNPY3RhbEVycm9yCXRhZHNFcnJvcgorSGlMaW5rIHRhZHNDb21tZW50RXJyb3IJdGFkc0Vycm9yCitIaUxpbmsgdGFkc0JyYWNlRXJyb3IJdGFkc0Vycm9yCitIaUxpbmsgdGFkc0luQnJhY2UJdGFkc0Vycm9yCitIaUxpbmsgdGFkc0Vycm9yCUVycm9yCiAKLSAgSGlMaW5rIHRhZHNJbmNsdWRlCUluY2x1ZGUKLSAgSGlMaW5rIHRhZHNQcmVQcm9jCVByZVByb2MKLSAgSGlMaW5rIHRhZHNEZWZpbmUJTWFjcm8KLSAgSGlMaW5rIHRhZHNJbmNsdWRlZAl0YWRzU3RyaW5nCi0gIEhpTGluayB0YWRzUHJlQ29uZGl0CVByZUNvbmRpdAorSGlMaW5rIHRhZHNJbmNsdWRlCUluY2x1ZGUKK0hpTGluayB0YWRzUHJlUHJvYwlQcmVQcm9jCitIaUxpbmsgdGFkc0RlZmluZQlNYWNybworSGlMaW5rIHRhZHNJbmNsdWRlZAl0YWRzU3RyaW5nCitIaUxpbmsgdGFkc1ByZUNvbmRpdAlQcmVDb25kaXQKIAotICBIaUxpbmsgdGFkc1N0cmluZwlTdHJpbmcKLSAgSGlMaW5rIHRhZHNDb21tZW50CUNvbW1lbnQKK0hpTGluayB0YWRzU3RyaW5nCVN0cmluZworSGlMaW5rIHRhZHNDb21tZW50CUNvbW1lbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAidGFkcyIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3RhZ3MudmltIGIvcnVudGltZS9zeW50YXgvdGFncy52aW0KaW5kZXggYzg2ZjE3YS4uYTcwNDRjMCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdGFncy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvdGFncy52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiBWZXJzaW9uOgkJNAogIiBVUkw6CWh0dHA6Ly93d3cuZHJjaGlwLm9yZy9hc3Ryb25hdXQvdmltL2luZGV4Lmh0bWwjU1lOVEFYX1RBR1MKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTIyLDI1ICsxOSwxNyBAQAogc3luIG1hdGNoCXRhZ0ZpZWxkCWNvbnRhaW5lZCAiW2Etel0qOiIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZHJjaGlwX3RhZ3NfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9kcmNoaXBfdGFnc19pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgdGFnQmFzZUZpbGUJUHJlUHJvYwotICBIaUxpbmsgdGFnQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayB0YWdEZWxpbQlEZWxpbWl0ZXIKLSAgSGlMaW5rIHRhZ0ZpZWxkCU51bWJlcgotICBIaUxpbmsgdGFnTmFtZQlJZGVudGlmaWVyCi0gIEhpTGluayB0YWdQYXRoCVByZVByb2MKK0hpTGluayB0YWdCYXNlRmlsZQlQcmVQcm9jCitIaUxpbmsgdGFnQ29tbWVudAlDb21tZW50CitIaUxpbmsgdGFnRGVsaW0JRGVsaW1pdGVyCitIaUxpbmsgdGFnRmllbGQJTnVtYmVyCitIaUxpbmsgdGFnTmFtZQlJZGVudGlmaWVyCitIaUxpbmsgdGFnUGF0aAlQcmVQcm9jCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ0YWdzIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90YWsudmltIGIvcnVudGltZS9zeW50YXgvdGFrLnZpbQppbmRleCAyMDE4NmRiLi5iMzYzZWEzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC90YWsudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Rhay52aW0KQEAgLTgsMTEgKzgsOCBAQAogCiAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTMyLDExICsyOSw3IEBACiBsZXQgZm9ydHJhbl9mcmVlX3NvdXJjZT0xCiAKICIgTG9hZCBGT1JUUkFOIHN5bnRheCBmaWxlCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvdXJjZSA8c2ZpbGU+OnA6aC9mb3J0cmFuLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvZm9ydHJhbi52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvZm9ydHJhbi52aW0KIHVubGV0IGI6Y3VycmVudF9zeW50YXgKIAogCkBAIC05NSw0MCArODgsMzIgQEAKIAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Rha19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF90YWtfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayB0YWtNYWNybwkJTWFjcm8KLSAgSGlMaW5rIHRha09wdGlvbnMJCVNwZWNpYWwKLSAgSGlMaW5rIHRha1JvdXRpbmUJCVR5cGUKLSAgSGlMaW5rIHRha0NvbnRyb2wJCVNwZWNpYWwKLSAgSGlMaW5rIHRha1NvbGlkcwkJU3BlY2lhbAotICBIaUxpbmsgdGFrU29saWRzQXJnCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHRha0lkZW50aWZpZXIJCUlkZW50aWZpZXIKK0hpTGluayB0YWtNYWNybwkJTWFjcm8KK0hpTGluayB0YWtPcHRpb25zCQlTcGVjaWFsCitIaUxpbmsgdGFrUm91dGluZQkJVHlwZQorSGlMaW5rIHRha0NvbnRyb2wJCVNwZWNpYWwKK0hpTGluayB0YWtTb2xpZHMJCVNwZWNpYWwKK0hpTGluayB0YWtTb2xpZHNBcmcJCVN0YXRlbWVudAorSGlMaW5rIHRha0lkZW50aWZpZXIJCUlkZW50aWZpZXIKIAotICBIaUxpbmsgdGFrRm9ydHJhbgkJUHJlUHJvYwotICBIaUxpbmsgdGFrTW90cmFuCQlQcmVQcm9jCitIaUxpbmsgdGFrRm9ydHJhbgkJUHJlUHJvYworSGlMaW5rIHRha01vdHJhbgkJUHJlUHJvYwogCi0gIEhpTGluayB0YWtDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayB0YWtIZWFkZXIJCVR5cGVkZWYKLSAgSGlMaW5rIHRha0luY2x1ZGVGaWxlCQlUeXBlCi0gIEhpTGluayB0YWtJbnRlZ2VyCQlOdW1iZXIKLSAgSGlMaW5rIHRha0Zsb2F0CQlGbG9hdAotICBIaUxpbmsgdGFrU2NpZW50aWZpYwkJRmxvYXQKK0hpTGluayB0YWtDb21tZW50CQlDb21tZW50CitIaUxpbmsgdGFrSGVhZGVyCQlUeXBlZGVmCitIaUxpbmsgdGFrSW5jbHVkZUZpbGUJCVR5cGUKK0hpTGluayB0YWtJbnRlZ2VyCQlOdW1iZXIKK0hpTGluayB0YWtGbG9hdAkJRmxvYXQKK0hpTGluayB0YWtTY2llbnRpZmljCQlGbG9hdAogCi0gIEhpTGluayB0YWtFbmREYXRhCQlNYWNybworSGlMaW5rIHRha0VuZERhdGEJCU1hY3JvCiAKLSAgSGlMaW5rIHRha1RvZG8JCVRvZG8KK0hpTGluayB0YWtUb2RvCQlUb2RvCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInRhayIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Rha2NtcC52aW0gYi9ydW50aW1lL3N5bnRheC90YWtjbXAudmltCmluZGV4IGE5NDYwOWIuLjZmYWRkYzIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Rha2NtcC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvdGFrY21wLnZpbQpAQCAtOCwxMSArOCw4IEBACiAKIAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTEsMzAgKzQ4LDIyIEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90YWtjbXBfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfdGFrY21wX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgdGFrY21wVGl0bGUJCSAgIFR5cGUKLSAgSGlMaW5rIHRha2NtcFVuaXQJCSAgIFByZVByb2MKK0hpTGluayB0YWtjbXBUaXRsZQkJICAgVHlwZQorSGlMaW5rIHRha2NtcFVuaXQJCSAgIFByZVByb2MKIAotICBIaUxpbmsgdGFrY21wTGFiZWwJCSAgIFN0YXRlbWVudAorSGlMaW5rIHRha2NtcExhYmVsCQkgICBTdGF0ZW1lbnQKIAotICBIaUxpbmsgdGFrY21wSGVhZGVyCQkgICB0YWtIZWFkZXIKK0hpTGluayB0YWtjbXBIZWFkZXIJCSAgIHRha0hlYWRlcgogCi0gIEhpTGluayB0YWtjbXBEYXRlCQkgICBJZGVudGlmaWVyCi0gIEhpTGluayB0YWtjbXBUaW1lCQkgICBJZGVudGlmaWVyCi0gIEhpTGluayB0YWtjbXBJbnRlZ2VyCQkgICBOdW1iZXIKLSAgSGlMaW5rIHRha2NtcEZsb2F0CQkgICBTcGVjaWFsCitIaUxpbmsgdGFrY21wRGF0ZQkJICAgSWRlbnRpZmllcgorSGlMaW5rIHRha2NtcFRpbWUJCSAgIElkZW50aWZpZXIKK0hpTGluayB0YWtjbXBJbnRlZ2VyCQkgICBOdW1iZXIKK0hpTGluayB0YWtjbXBGbG9hdAkJICAgU3BlY2lhbAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ0YWtjbXAiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90YWtvdXQudmltIGIvcnVudGltZS9zeW50YXgvdGFrb3V0LnZpbQppbmRleCA3NzQzNTM5Li5lZDY5ZmYwIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC90YWtvdXQudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Rha291dC52aW0KQEAgLTgsMTEgKzgsOCBAQAogCiAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTI0LDExICsyMSw3IEBACiAKIAogIiBMb2FkIFRBSyBzeW50YXggZmlsZQotaWYgdmVyc2lvbiA8IDYwMAotICBzb3VyY2UgPHNmaWxlPjpwOmgvdGFrLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvdGFrLnZpbQotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC90YWsudmltCiB1bmxldCBiOmN1cnJlbnRfc3ludGF4CiAKIApAQCAtNzAsMzEgKzYzLDIzIEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90YWtvdXRfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfdGFrb3V0X3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgdGFrb3V0UG9zCQkgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIHRha291dE5lZwkJICAgUHJlUHJvYwotICBIaUxpbmsgdGFrb3V0VGl0bGUJCSAgIFR5cGUKLSAgSGlMaW5rIHRha291dEZpbGUJCSAgIHRha0luY2x1ZGVGaWxlCi0gIEhpTGluayB0YWtvdXRJbnRlZ2VyCQkgICB0YWtJbnRlZ2VyCitIaUxpbmsgdGFrb3V0UG9zCQkgICBTdGF0ZW1lbnQKK0hpTGluayB0YWtvdXROZWcJCSAgIFByZVByb2MKK0hpTGluayB0YWtvdXRUaXRsZQkJICAgVHlwZQorSGlMaW5rIHRha291dEZpbGUJCSAgIHRha0luY2x1ZGVGaWxlCitIaUxpbmsgdGFrb3V0SW50ZWdlcgkJICAgdGFrSW50ZWdlcgogCi0gIEhpTGluayB0YWtvdXRTZWN0aW9uRGVsaW0JICAgIERlbGltaXRlcgotICBIaUxpbmsgdGFrb3V0U2VjdGlvblRpdGxlCSAgIEV4Y2VwdGlvbgotICBIaUxpbmsgdGFrb3V0SGVhZGVyRGVsaW0JICAgU3BlY2lhbENvbW1lbnQKLSAgSGlMaW5rIHRha291dExhYmVsCQkgICBJZGVudGlmaWVyCitIaUxpbmsgdGFrb3V0U2VjdGlvbkRlbGltCSAgICBEZWxpbWl0ZXIKK0hpTGluayB0YWtvdXRTZWN0aW9uVGl0bGUJICAgRXhjZXB0aW9uCitIaUxpbmsgdGFrb3V0SGVhZGVyRGVsaW0JICAgU3BlY2lhbENvbW1lbnQKK0hpTGluayB0YWtvdXRMYWJlbAkJICAgSWRlbnRpZmllcgogCi0gIEhpTGluayB0YWtvdXRFcnJvcgkJICAgRXJyb3IKK0hpTGluayB0YWtvdXRFcnJvcgkJICAgRXJyb3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAidGFrb3V0IgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdGFza2RhdGEudmltIGIvcnVudGltZS9zeW50YXgvdGFza2RhdGEudmltCmluZGV4IGIzN2M3MGMuLjYzYTgyODQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Rhc2tkYXRhLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC90YXNrZGF0YS52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiBVcGRhdGVkOglXZWQgSnVsICA4IDE5OjQ2OjIwIEVEVCAyMDA5CiAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMuCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkLgotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQuCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiBsZXQgczprZWVwY3BvPSAmY3BvCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90YXNrZWRpdC52aW0gYi9ydW50aW1lL3N5bnRheC90YXNrZWRpdC52aW0KaW5kZXggMTcwMTUzYy4uZDMzY2E3OCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdGFza2VkaXQudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Rhc2tlZGl0LnZpbQpAQCAtNCwxMSArNCw4IEBACiAiIFVwZGF0ZWQ6CVdlZCBKdWwgIDggMTk6NDY6MzIgRURUIDIwMDkKIAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcy4KLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQuCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZC4KK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIGxldCBzOmtlZXBjcG89ICZjcG8KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Rhc20udmltIGIvcnVudGltZS9zeW50YXgvdGFzbS52aW0KaW5kZXggMmY4NTU5Ni4uOTk1ZThiNCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdGFzbS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvdGFzbS52aW0KQEAgLTMsMTEgKzMsOCBAQAogIiBNYWludGFuZXI6IEZvb0xtYW4gb2YgVW5pdGVkIEZvcmNlIDxmb29sbWFuQGJpZ2Zvb3QuY29tPgogIiBMYXN0IENoYW5nZTogMjAxMiBGZWIgMDMgYnkgVGhpbG8gU2l4CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC05NSwzMiArOTIsMjQgQEAKIHN5biBtYXRjaCB0YXNtQmluICJcPFswMV1cK0JcPiIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdGFzbV9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF90YXNtX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgdGFzbVN0cmluZyBTdHJpbmcKLSAgSGlMaW5rIHRhc21EZWMgTnVtYmVyCi0gIEhpTGluayB0YXNtSGV4IE51bWJlcgotICBIaUxpbmsgdGFzbU9jdCBOdW1iZXIKLSAgSGlMaW5rIHRhc21CaW4gTnVtYmVyCi0gIEhpTGluayB0YXNtSW5zdHJ1Y3Rpb24gS2V5d29yZAotICBIaUxpbmsgdGFzbUNvcHJvY0luc3RyIEtleXdvcmQKLSAgSGlMaW5rIHRhc21NTVhJbnN0CUtleXdvcmQKLSAgSGlMaW5rIHRhc21EaXJlY3RpdmUgUHJlUHJvYwotICBIaUxpbmsgdGFzbVJlZ2lzdGVyIElkZW50aWZpZXIKLSAgSGlMaW5rIHRhc21Qcm9jdHlwZSBQcmVQcm9jCi0gIEhpTGluayB0YXNtQ29tbWVudCBDb21tZW50Ci0gIEhpTGluayB0YXNtTGFiZWwgTGFiZWwKK0hpTGluayB0YXNtU3RyaW5nIFN0cmluZworSGlMaW5rIHRhc21EZWMgTnVtYmVyCitIaUxpbmsgdGFzbUhleCBOdW1iZXIKK0hpTGluayB0YXNtT2N0IE51bWJlcgorSGlMaW5rIHRhc21CaW4gTnVtYmVyCitIaUxpbmsgdGFzbUluc3RydWN0aW9uIEtleXdvcmQKK0hpTGluayB0YXNtQ29wcm9jSW5zdHIgS2V5d29yZAorSGlMaW5rIHRhc21NTVhJbnN0CUtleXdvcmQKK0hpTGluayB0YXNtRGlyZWN0aXZlIFByZVByb2MKK0hpTGluayB0YXNtUmVnaXN0ZXIgSWRlbnRpZmllcgorSGlMaW5rIHRhc21Qcm9jdHlwZSBQcmVQcm9jCitIaUxpbmsgdGFzbUNvbW1lbnQgQ29tbWVudAorSGlMaW5rIHRhc21MYWJlbCBMYWJlbAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmV0X3N5bnRheCA9ICJ0YXNtIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90Y2wudmltIGIvcnVudGltZS9zeW50YXgvdGNsLnZpbQppbmRleCAzYzU5ODI2Li43NzhiMTY0IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC90Y2wudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3RjbC52aW0KQEAgLTEwLDExICsxMCw4IEBACiAiIFZlcnNpb246CTEuMTQKICIgVVJMOgkJaHR0cDovL2JpdGJ1Y2tldC5vcmcvdGF5bG9yX3ZlbmFibGUvbWV0YXN5bnRheC9zcmMvdGlwL0NvbmZpZy92aW0vc3ludGF4L3RjbC52aW0KIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTIzOCw0OSArMjM1LDQxIEBACiAic3luIHN5bmMgY2NvbW1lbnQgdGNsQ29tbWVudAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90Y2xfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfdGNsX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgdGNsdGtTd2l0Y2gJCVNwZWNpYWwKLSAgSGlMaW5rIHRjbEV4cGFuZAkJU3BlY2lhbAotICBIaUxpbmsgdGNsTGFiZWwJCUxhYmVsCi0gIEhpTGluayB0Y2xDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIHRjbFJlcGVhdAkJUmVwZWF0Ci0gIEhpTGluayB0Y2xOdW1iZXIJCU51bWJlcgotICBIaUxpbmsgdGNsRXJyb3IJCUVycm9yCi0gIEhpTGluayB0Y2xDb21tYW5kCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHRjbFByb2NDb21tYW5kCQlUeXBlCi0gIEhpTGluayB0Y2xTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgdGNsQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgdGNsU3BlY2lhbAkJU3BlY2lhbAotICBIaUxpbmsgdGNsVG9kbwkJVG9kbwotICAiIEJlbG93IGhlcmUgYXJlIHRoZSBjb21tYW5kcyBhbmQgdGhlaXIgb3B0aW9ucy4KLSAgSGlMaW5rIHRjbHRrQ29tbWFuZENvbG9yCVN0YXRlbWVudAotICBIaUxpbmsgdGNsdGtXaWRnZXRDb2xvcglTdHJ1Y3R1cmUKLSAgSGlMaW5rIHRjbExpbmVDb250aW51ZQlXYXJuaW5nTXNnCitIaUxpbmsgdGNsdGtTd2l0Y2gJCVNwZWNpYWwKK0hpTGluayB0Y2xFeHBhbmQJCVNwZWNpYWwKK0hpTGluayB0Y2xMYWJlbAkJTGFiZWwKK0hpTGluayB0Y2xDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKK0hpTGluayB0Y2xSZXBlYXQJCVJlcGVhdAorSGlMaW5rIHRjbE51bWJlcgkJTnVtYmVyCitIaUxpbmsgdGNsRXJyb3IJCUVycm9yCitIaUxpbmsgdGNsQ29tbWFuZAkJU3RhdGVtZW50CitIaUxpbmsgdGNsUHJvY0NvbW1hbmQJCVR5cGUKK0hpTGluayB0Y2xTdHJpbmcJCVN0cmluZworSGlMaW5rIHRjbENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayB0Y2xTcGVjaWFsCQlTcGVjaWFsCitIaUxpbmsgdGNsVG9kbwkJVG9kbworIiBCZWxvdyBoZXJlIGFyZSB0aGUgY29tbWFuZHMgYW5kIHRoZWlyIG9wdGlvbnMuCitIaUxpbmsgdGNsdGtDb21tYW5kQ29sb3IJU3RhdGVtZW50CitIaUxpbmsgdGNsdGtXaWRnZXRDb2xvcglTdHJ1Y3R1cmUKK0hpTGluayB0Y2xMaW5lQ29udGludWUJV2FybmluZ01zZwogaWYgZXhpc3RzKCdnOnRjbF93YXJuX2NvbnRpbnVhdGlvbicpCi0gIEhpTGluayB0Y2xOb3RMaW5lQ29udGludWUJRXJyb3JNc2cKK0hpTGluayB0Y2xOb3RMaW5lQ29udGludWUJRXJyb3JNc2cKIGVuZGlmCi0gIEhpTGluayB0Y2x0a1N0cmluZ1N3aXRjaAlTcGVjaWFsCi0gIEhpTGluayB0Y2x0a0FycmF5U3dpdGNoCVNwZWNpYWwKLSAgSGlMaW5rIHRjbHRrTHNvcnRTd2l0Y2gJU3BlY2lhbAotICBIaUxpbmsgdGNsdGtQYWNrU3dpdGNoCVNwZWNpYWwKLSAgSGlMaW5rIHRjbHRrUGFja0NvbmZTd2l0Y2gJU3BlY2lhbAotICBIaUxpbmsgdGNsdGtNYXRocwkJU3BlY2lhbAotICBIaUxpbmsgdGNsdGtOYW1lc3BhY2VTd2l0Y2gJU3BlY2lhbAotICBIaUxpbmsgdGNsdGtXaWRnZXRTd2l0Y2gJU3BlY2lhbAotICBIaUxpbmsgdGNsdGtQYWNrQ29uZkNvbG9yCUlkZW50aWZpZXIKLSAgSGlMaW5rIHRjbFZhclJlZgkJSWRlbnRpZmllcgorSGlMaW5rIHRjbHRrU3RyaW5nU3dpdGNoCVNwZWNpYWwKK0hpTGluayB0Y2x0a0FycmF5U3dpdGNoCVNwZWNpYWwKK0hpTGluayB0Y2x0a0xzb3J0U3dpdGNoCVNwZWNpYWwKK0hpTGluayB0Y2x0a1BhY2tTd2l0Y2gJU3BlY2lhbAorSGlMaW5rIHRjbHRrUGFja0NvbmZTd2l0Y2gJU3BlY2lhbAorSGlMaW5rIHRjbHRrTWF0aHMJCVNwZWNpYWwKK0hpTGluayB0Y2x0a05hbWVzcGFjZVN3aXRjaAlTcGVjaWFsCitIaUxpbmsgdGNsdGtXaWRnZXRTd2l0Y2gJU3BlY2lhbAorSGlMaW5rIHRjbHRrUGFja0NvbmZDb2xvcglJZGVudGlmaWVyCitIaUxpbmsgdGNsVmFyUmVmCQlJZGVudGlmaWVyCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ0Y2wiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3RleC52aW0gYi9ydW50aW1lL3N5bnRheC90ZXgudmltCmluZGV4IGMwOTgyZDguLjZjYjI3ZWEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3RleC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvdGV4LnZpbQpAQCAtNDAsMTEgKzQwLDggQEAKICIgICAgICB1c2luZyBjb25jZWFsIG1vZGUgICAgICAgOmhlbHAgdGV4LWNvbmNlYWwKIAogIiBWZXJzaW9uIENsZWFyczoge3t7MQotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiBsZXQgczprZWVwY3BvPSAmY3BvCkBAIC01NCwxNCArNTEsOCBAQAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLiB7e3sxCiAiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKICIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90ZXhfc3ludGF4X2luaXRzIikKLSBsZXQgZGlkX3RleF9zeW50YXhfaW5pdHMgPSAxCi0gaWYgdmVyc2lvbiA8IDUwOAotICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotIGVsc2UKLSAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gZW5kaWYKLWVuZGlmCitsZXQgZGlkX3RleF9zeW50YXhfaW5pdHMgPSAxCitjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAogIiBieSBkZWZhdWx0LCBlbmFibGUgYWxsIHJlZ2lvbi1iYXNlZCBoaWdobGlnaHRpbmcKIGxldCBzOnRleF9mYXN0PSAiYmNtTXByc1N2ViIKQEAgLTU5OCwyNyArNTg5LDE3IEBACiAgICBzeW4gcmVnaW9uIHRleFpvbmUJCXN0YXJ0PSJcXGJlZ2lue1t2Vl1lcmJhdGltfSIJCWVuZD0iXFxlbmR7W3ZWXWVyYmF0aW19XHwlc3RvcHpvbmVcPiIJY29udGFpbnM9QFNwZWxsCiAgICAiIGxpc3RpbmdzIHBhY2thZ2U6CiAgICBzeW4gcmVnaW9uIHRleFpvbmUJCXN0YXJ0PSJcXGJlZ2lue2xzdGxpc3Rpbmd9IgkJZW5kPSJcXGVuZHtsc3RsaXN0aW5nfVx8JXN0b3B6b25lXD4iCWNvbnRhaW5zPUBTcGVsbAotICAgaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5biByZWdpb24gdGV4Wm9uZQkJc3RhcnQ9IlxcdmVyYlwqXD1gIgkJCWVuZD0iYFx8JXN0b3B6b25lXD4iCQkJY29udGFpbnM9QFNwZWxsCi0gICAgc3luIHJlZ2lvbiB0ZXhab25lCQlzdGFydD0iXFx2ZXJiXCpcPSMiCQkJZW5kPSIjXHwlc3RvcHpvbmVcPiIJCQljb250YWlucz1AU3BlbGwKKyAgIGlmIGI6dGV4X3N0eWxpc2gKKyAgICBzeW4gcmVnaW9uIHRleFpvbmUJCXN0YXJ0PSJcXHZlcmJcKlw9XHooW15cdGEtekEtWkBdXCkiCWVuZD0iXHoxXHwlc3RvcHpvbmVcPiIJCQljb250YWlucz1AU3BlbGwKICAgIGVsc2UKLSAgICAgaWYgYjp0ZXhfc3R5bGlzaAotICAgICAgc3luIHJlZ2lvbiB0ZXhab25lCQlzdGFydD0iXFx2ZXJiXCpcPVx6KFteXHRhLXpBLVpAXVwpIgllbmQ9Ilx6MVx8JXN0b3B6b25lXD4iCQkJY29udGFpbnM9QFNwZWxsCi0gICAgIGVsc2UKLSAgICAgIHN5biByZWdpb24gdGV4Wm9uZQkJc3RhcnQ9IlxcdmVyYlwqXD1ceihbXlx0YS16QS1aXVwpIgllbmQ9Ilx6MVx8JXN0b3B6b25lXD4iCQkJY29udGFpbnM9QFNwZWxsCi0gICAgIGVuZGlmCisgICAgc3luIHJlZ2lvbiB0ZXhab25lCQlzdGFydD0iXFx2ZXJiXCpcPVx6KFteXHRhLXpBLVpdXCkiCWVuZD0iXHoxXHwlc3RvcHpvbmVcPiIJCQljb250YWlucz1AU3BlbGwKICAgIGVuZGlmCiAgIGVsc2UKICAgIHN5biByZWdpb24gdGV4Wm9uZQkJc3RhcnQ9IlxcYmVnaW57W3ZWXWVyYmF0aW19IgkJZW5kPSJcXGVuZHtbdlZdZXJiYXRpbX1cfCVzdG9wem9uZVw+IgotICAgaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5biByZWdpb24gdGV4Wm9uZQkJc3RhcnQ9IlxcdmVyYlwqXD1gIgkJCWVuZD0iYFx8JXN0b3B6b25lXD4iCi0gICAgc3luIHJlZ2lvbiB0ZXhab25lCQlzdGFydD0iXFx2ZXJiXCpcPSMiCQkJZW5kPSIjXHwlc3RvcHpvbmVcPiIKKyAgIGlmIGI6dGV4X3N0eWxpc2gKKyAgICAgc3luIHJlZ2lvbiB0ZXhab25lCQlzdGFydD0iXFx2ZXJiXCpcPVx6KFteXHRhLXpBLVpAXVwpIgllbmQ9Ilx6MVx8JXN0b3B6b25lXD4iCiAgICBlbHNlCi0gICAgIGlmIGI6dGV4X3N0eWxpc2gKLSAgICAgICBzeW4gcmVnaW9uIHRleFpvbmUJCXN0YXJ0PSJcXHZlcmJcKlw9XHooW15cdGEtekEtWkBdXCkiCWVuZD0iXHoxXHwlc3RvcHpvbmVcPiIKLSAgICAgZWxzZQotICAgICAgIHN5biByZWdpb24gdGV4Wm9uZQkJc3RhcnQ9IlxcdmVyYlwqXD1ceihbXlx0YS16QS1aXVwpIgllbmQ9Ilx6MVx8JXN0b3B6b25lXD4iCi0gICAgIGVuZGlmCisgICAgIHN5biByZWdpb24gdGV4Wm9uZQkJc3RhcnQ9IlxcdmVyYlwqXD1ceihbXlx0YS16QS1aXVwpIgllbmQ9Ilx6MVx8JXN0b3B6b25lXD4iCiAgICBlbmRpZgogICBlbmRpZgogZW5kaWYKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3RleGluZm8udmltIGIvcnVudGltZS9zeW50YXgvdGV4aW5mby52aW0KaW5kZXggMTM0ZmM2Ny4uZWMzNTNiYiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdGV4aW5mby52aW0KKysrIGIvcnVudGltZS9zeW50YXgvdGV4aW5mby52aW0KQEAgLTksMTAgKzksOCBAQAogIiBzaW5jZSBAIGNhbiBoYXZlIHNwZWNpYWwgbWVhbmluZ3MsIGV2ZXJ5dGhpbmcgaXMgJ21hdGNoJy1lZCBhbmQgJ3JlZ2lvbictZWQKICIgKGluY2x1ZGluZyBAIGluICdpc2tleXdvcmQnIG9wdGlvbiBoYXMgdW5leHBlY3RlZCBlZmZlY3RzKQogCi0iIFJlbW92ZSBhbnkgb2xkIHN5bnRheCBzdHVmZiBoYW5naW5nIGFyb3VuZCwgaWYgbmVlZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5biBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0zNTYsNDggKzM1NCwzOSBAQAogIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogIiBoaWdobGlnaHRpbmcKIAotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdGV4aW5mb19zeW5faW5pdHMiKQorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfdGV4aW5mb19zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorSGlMaW5rIHRleGluZm9TcGVjaWFsQ2hhcglTcGVjaWFsCitIaUxpbmsgdGV4aW5mb0hGU3BlY2lhbENoYXIJU3BlY2lhbAogCi0gIEhpTGluayB0ZXhpbmZvU3BlY2lhbENoYXIJU3BlY2lhbAotICBIaUxpbmsgdGV4aW5mb0hGU3BlY2lhbENoYXIJU3BlY2lhbAotCi0gIEhpTGluayB0ZXhpbmZvRXJyb3IJCUVycm9yCi0gIEhpTGluayB0ZXhpbmZvSWRlbnQJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHRleGluZm9Bc3NpZ25tZW50CUlkZW50aWZpZXIKLSAgSGlMaW5rIHRleGluZm9TaW5nbGVQYXIJSWRlbnRpZmllcgotICBIaUxpbmsgdGV4aW5mb0luZGV4UGFyCUlkZW50aWZpZXIKLSAgSGlMaW5rIHRleGluZm9TSVBhcgkJSWRlbnRpZmllcgotICBIaUxpbmsgdGV4aW5mb0RJRVBhcgkJSWRlbnRpZmllcgotICBIaUxpbmsgdGV4aW5mb1RleENtZAkJUHJlUHJvYworSGlMaW5rIHRleGluZm9FcnJvcgkJRXJyb3IKK0hpTGluayB0ZXhpbmZvSWRlbnQJCUlkZW50aWZpZXIKK0hpTGluayB0ZXhpbmZvQXNzaWdubWVudAlJZGVudGlmaWVyCitIaUxpbmsgdGV4aW5mb1NpbmdsZVBhcglJZGVudGlmaWVyCitIaUxpbmsgdGV4aW5mb0luZGV4UGFyCUlkZW50aWZpZXIKK0hpTGluayB0ZXhpbmZvU0lQYXIJCUlkZW50aWZpZXIKK0hpTGluayB0ZXhpbmZvRElFUGFyCQlJZGVudGlmaWVyCitIaUxpbmsgdGV4aW5mb1RleENtZAkJUHJlUHJvYwogCiAKLSAgSGlMaW5rIHRleGluZm9BdENtZAkJU3RhdGVtZW50CSJALWNvbW1hbmQKLSAgSGlMaW5rIHRleGluZm9Qcm1BdENtZAlTdHJpbmcJCSJALWNvbW1hbmQgaW4gb25lIGxpbmUgd2l0aCB1bmtub3duIG5yLiBvZiBwYXJhbWV0ZXJzCi0JCQkJCQkiaXMgU3RyaW5nIGJlY2F1c2UgaXMgZm91bmQgYXMgYSByZWdpb24gYW5kIGlzICdtYXRjaGdyb3VwJy1lZAotCQkJCQkJInRvIHRleGluZm9BdENtZAotICBIaUxpbmsgdGV4aW5mb0JyY1BybUF0Q21kCVN0cmluZwkJIkAtY29tbWFuZCB3aXRoIHBhcmFtZXRlcihzKSBpbiBicmFjZXMgKHt9KQotCQkJCQkJImlzIFN0cmluZyBiZWNhdXNlIGlzIGZvdW5kIGFzIGEgcmVnaW9uIGFuZCBpcyAnbWF0Y2hncm91cCctZWQgdG8gdGV4aW5mb0F0Q21kCi0gIEhpTGluayB0ZXhpbmZvTWx0bG5BdENtZEZMaW5lICB0ZXhpbmZvQXRDbWQJInJlcGVhdGVkIGVtYmVkZGVkIEZpcnN0IGxpbmVzIGluIEAtY29tbWFuZHMKLSAgSGlMaW5rIHRleGluZm9NbHRsbkF0Q21kCVN0cmluZwkJIkAtY29tbWFuZCBpbiBtdWx0aXBsZSBsaW5lcwotCQkJCQkJImlzIFN0cmluZyBiZWNhdXNlIGlzIGZvdW5kIGFzIGEgcmVnaW9uIGFuZCBpcyAnbWF0Y2hncm91cCctZWQgdG8gdGV4aW5mb0F0Q21kCi0gIEhpTGluayB0ZXhpbmZvTWx0bG4yQXRDbWQJUHJlUHJvYwkJIkAtY29tbWFuZCBpbiBtdWx0aXBsZSBsaW5lcyAoc2FtZSBhcyB0ZXhpbmZvTWx0bG5BdENtZCwganVzdCB3aXRoIG90aGVyIGNvbG9ycykKLSAgSGlMaW5rIHRleGluZm9NbHRsbkRNQXRDbWQJUHJlUHJvYwkJIkAtY29tbWFuZCBpbiBtdWx0aXBsZSBsaW5lcyAoc2FtZSBhcyB0ZXhpbmZvTWx0bG5BdENtZCwganVzdCB3aXRoIG90aGVyIGNvbG9yczsgdXNlZCBmb3IgQGRldGFpbG1lbnUsIHdoaWNoIGNhbiBiZSBpbmNsdWRlZCBpbiBAbWVudSkKLSAgSGlMaW5rIHRleGluZm9NbHRsbk5BdENtZAlOb3JtYWwJCSJALWNvbW1hbmQgaW4gbXVsdGlwbGUgbGluZXMgKHNhbWUgYXMgdGV4aW5mb01sdGxuQXRDbWQsIGp1c3Qgd2l0aCBvdGhlciBjb2xvcnMpCi0gIEhpTGluayB0ZXhpbmZvVGhpc0F0Q21kCVN0YXRlbWVudAkiQC1jb21tYW5kIHVzZWQgaW4gaGVhZGVycyBhbmQgZm9vdGVycyAoQHRoaXMuLi4gc2VyaWVzKQorSGlMaW5rIHRleGluZm9BdENtZAkJU3RhdGVtZW50CSJALWNvbW1hbmQKK0hpTGluayB0ZXhpbmZvUHJtQXRDbWQJU3RyaW5nCQkiQC1jb21tYW5kIGluIG9uZSBsaW5lIHdpdGggdW5rbm93biBuci4gb2YgcGFyYW1ldGVycworCQkJCQkgICAgICAiaXMgU3RyaW5nIGJlY2F1c2UgaXMgZm91bmQgYXMgYSByZWdpb24gYW5kIGlzICdtYXRjaGdyb3VwJy1lZAorCQkJCQkgICAgICAidG8gdGV4aW5mb0F0Q21kCitIaUxpbmsgdGV4aW5mb0JyY1BybUF0Q21kCVN0cmluZwkJIkAtY29tbWFuZCB3aXRoIHBhcmFtZXRlcihzKSBpbiBicmFjZXMgKHt9KQorCQkJCQkgICAgICAiaXMgU3RyaW5nIGJlY2F1c2UgaXMgZm91bmQgYXMgYSByZWdpb24gYW5kIGlzICdtYXRjaGdyb3VwJy1lZCB0byB0ZXhpbmZvQXRDbWQKK0hpTGluayB0ZXhpbmZvTWx0bG5BdENtZEZMaW5lICB0ZXhpbmZvQXRDbWQJInJlcGVhdGVkIGVtYmVkZGVkIEZpcnN0IGxpbmVzIGluIEAtY29tbWFuZHMKK0hpTGluayB0ZXhpbmZvTWx0bG5BdENtZAlTdHJpbmcJCSJALWNvbW1hbmQgaW4gbXVsdGlwbGUgbGluZXMKKwkJCQkJICAgICAgImlzIFN0cmluZyBiZWNhdXNlIGlzIGZvdW5kIGFzIGEgcmVnaW9uIGFuZCBpcyAnbWF0Y2hncm91cCctZWQgdG8gdGV4aW5mb0F0Q21kCitIaUxpbmsgdGV4aW5mb01sdGxuMkF0Q21kCVByZVByb2MJCSJALWNvbW1hbmQgaW4gbXVsdGlwbGUgbGluZXMgKHNhbWUgYXMgdGV4aW5mb01sdGxuQXRDbWQsIGp1c3Qgd2l0aCBvdGhlciBjb2xvcnMpCitIaUxpbmsgdGV4aW5mb01sdGxuRE1BdENtZAlQcmVQcm9jCQkiQC1jb21tYW5kIGluIG11bHRpcGxlIGxpbmVzIChzYW1lIGFzIHRleGluZm9NbHRsbkF0Q21kLCBqdXN0IHdpdGggb3RoZXIgY29sb3JzOyB1c2VkIGZvciBAZGV0YWlsbWVudSwgd2hpY2ggY2FuIGJlIGluY2x1ZGVkIGluIEBtZW51KQorSGlMaW5rIHRleGluZm9NbHRsbk5BdENtZAlOb3JtYWwJCSJALWNvbW1hbmQgaW4gbXVsdGlwbGUgbGluZXMgKHNhbWUgYXMgdGV4aW5mb01sdGxuQXRDbWQsIGp1c3Qgd2l0aCBvdGhlciBjb2xvcnMpCitIaUxpbmsgdGV4aW5mb1RoaXNBdENtZAlTdGF0ZW1lbnQJIkAtY29tbWFuZCB1c2VkIGluIGhlYWRlcnMgYW5kIGZvb3RlcnMgKEB0aGlzLi4uIHNlcmllcykKIAotICBIaUxpbmsgdGV4aW5mb0NvbW1lbnQJQ29tbWVudAorSGlMaW5rIHRleGluZm9Db21tZW50CUNvbW1lbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAidGV4aW5mbyIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3RleG1mLnZpbSBiL3J1bnRpbWUvc3ludGF4L3RleG1mLnZpbQppbmRleCA3YjkxMTY4Li40YzNjY2Y4IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC90ZXhtZi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvdGV4bWYudmltCkBAIC02LDEyICs2LDkgQEAKICIgVVJMOiBodHRwOi8vcGh5c2ljcy5tdW5pLmN6L355ZXRpL2Rvd25sb2FkL3N5bnRheC90ZXhtZi52aW0KIAogIiBTZXR1cAotaWYgdmVyc2lvbiA+PSA2MDAKLSAgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKLSAgICBmaW5pc2gKLSAgZW5kaWYKLWVsc2UKLSAgc3ludGF4IGNsZWFyCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCiBlbmRpZgogCiBzeW4gY2FzZSBtYXRjaApAQCAtNDUsNDIgKzQyLDM1IEBACiBzeW4gbWF0Y2ggdGV4bWZCcmFjZUVycm9yICJ9IgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90ZXhtZl9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF90ZXhtZl9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHRleG1mQ29tbWVudCBDb21tZW50Ci0gIEhpTGluayB0ZXhtZlRvZG8gVG9kbworSGlMaW5rIHRleG1mQ29tbWVudCBDb21tZW50CitIaUxpbmsgdGV4bWZUb2RvIFRvZG8KIAotICBIaUxpbmsgdGV4bWZQYXNzZWRQYXJhbWV0ZXIgdGV4bWZWYXJpYWJsZQotICBIaUxpbmsgdGV4bWZWYXJpYWJsZSBJZGVudGlmaWVyCitIaUxpbmsgdGV4bWZQYXNzZWRQYXJhbWV0ZXIgdGV4bWZWYXJpYWJsZQorSGlMaW5rIHRleG1mVmFyaWFibGUgSWRlbnRpZmllcgogCi0gIEhpTGluayB0ZXhtZk51bWJlciBOdW1iZXIKLSAgSGlMaW5rIHRleG1mU3RyaW5nIFN0cmluZworSGlMaW5rIHRleG1mTnVtYmVyIE51bWJlcgorSGlMaW5rIHRleG1mU3RyaW5nIFN0cmluZwogCi0gIEhpTGluayB0ZXhtZkxIU1N0YXJ0IHRleG1mTEhTCi0gIEhpTGluayB0ZXhtZkxIU1ZhcmlhYmxlIHRleG1mTEhTCi0gIEhpTGluayB0ZXhtZkxIU0RvdCB0ZXhtZkxIUwotICBIaUxpbmsgdGV4bWZMSFMgVHlwZQorSGlMaW5rIHRleG1mTEhTU3RhcnQgdGV4bWZMSFMKK0hpTGluayB0ZXhtZkxIU1ZhcmlhYmxlIHRleG1mTEhTCitIaUxpbmsgdGV4bWZMSFNEb3QgdGV4bWZMSFMKK0hpTGluayB0ZXhtZkxIUyBUeXBlCiAKLSAgSGlMaW5rIHRleG1mRXF1YWxzIE5vcm1hbAorSGlMaW5rIHRleG1mRXF1YWxzIE5vcm1hbAogCi0gIEhpTGluayB0ZXhtZkJyYWNlQnJhY2UgdGV4bWZEZWxpbWl0ZXIKLSAgSGlMaW5rIHRleG1mQ29tbWEgdGV4bWZEZWxpbWl0ZXIKLSAgSGlMaW5rIHRleG1mQ29sb25zIHRleG1mRGVsaW1pdGVyCi0gIEhpTGluayB0ZXhtZkRlbGltaXRlciBQcmVwcm9jCitIaUxpbmsgdGV4bWZCcmFjZUJyYWNlIHRleG1mRGVsaW1pdGVyCitIaUxpbmsgdGV4bWZDb21tYSB0ZXhtZkRlbGltaXRlcgorSGlMaW5rIHRleG1mQ29sb25zIHRleG1mRGVsaW1pdGVyCitIaUxpbmsgdGV4bWZEZWxpbWl0ZXIgUHJlcHJvYwogCi0gIEhpTGluayB0ZXhtZkRvdWJsZUV4Y2xhbSBTdGF0ZW1lbnQKLSAgSGlMaW5rIHRleG1mU3BlY2lhbCBTcGVjaWFsCitIaUxpbmsgdGV4bWZEb3VibGVFeGNsYW0gU3RhdGVtZW50CitIaUxpbmsgdGV4bWZTcGVjaWFsIFNwZWNpYWwKIAotICBIaUxpbmsgdGV4bWZCcmFjZUVycm9yIHRleG1mRXJyb3IKLSAgSGlMaW5rIHRleG1mRXJyb3IgRXJyb3IKK0hpTGluayB0ZXhtZkJyYWNlRXJyb3IgdGV4bWZFcnJvcgorSGlMaW5rIHRleG1mRXJyb3IgRXJyb3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInRleG1mIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdGYudmltIGIvcnVudGltZS9zeW50YXgvdGYudmltCmluZGV4IDJhOWE5OTkuLjlkZTkzZGEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3RmLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC90Zi52aW0KQEAgLTksMTEgKzksOCBAQAogCiAiIFJlbW92ZSBhbnkgb2xkIHN5bnRheCBzdHVmZiBoYW5naW5nIGFyb3VuZAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTYxLDQ0ICsxNTgsMzYgQEAKIGVuZGlmCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3RmX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3RmX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgdGZDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayB0ZlN0cmluZwkJU3RyaW5nCi0gIEhpTGluayB0Zk51bWJlcgkJTnVtYmVyCi0gIEhpTGluayB0ZkZsb2F0CQlGbG9hdAotICBIaUxpbmsgdGZJZGVudGlmaWVyCQlJZGVudGlmaWVyCi0gIEhpTGluayB0ZlZhcgkJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHRmV29ybGQJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHRmUmVhZG9ubHkJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHRmSG9vawkJSWRlbnRpZmllcgotICBIaUxpbmsgdGZGdW5jdGlvbnMJCUZ1bmN0aW9uCi0gIEhpTGluayB0ZlJlcGVhdAkJUmVwZWF0Ci0gIEhpTGluayB0ZkNvbmRpdGlvbmFsCQlDb25kaXRpb25hbAotICBIaUxpbmsgdGZMYWJlbAkJTGFiZWwKLSAgSGlMaW5rIHRmU3RhdGVtZW50CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHRmVHlwZQkJVHlwZQotICBIaUxpbmsgdGZJbmNsdWRlCQlJbmNsdWRlCi0gIEhpTGluayB0ZkRlZmluZQkJRGVmaW5lCi0gIEhpTGluayB0ZlNwZWNpYWxDaGFyCQlTcGVjaWFsQ2hhcgotICBIaUxpbmsgdGZTcGVjaWFsQ2hhckVzYwlTcGVjaWFsQ2hhcgotICBIaUxpbmsgdGZQYXJlbnRFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIHRmVG9kbwkJVG9kbwotICBIaUxpbmsgdGZFbmRDb21tYW5kCQlEZWxpbWl0ZXIKLSAgSGlMaW5rIHRmSm9pbkxpbmVzCQlEZWxpbWl0ZXIKLSAgSGlMaW5rIHRmT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayB0ZlJlbGF0aW9uCQlPcGVyYXRvcgorSGlMaW5rIHRmQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIHRmU3RyaW5nCQlTdHJpbmcKK0hpTGluayB0Zk51bWJlcgkJTnVtYmVyCitIaUxpbmsgdGZGbG9hdAkJRmxvYXQKK0hpTGluayB0ZklkZW50aWZpZXIJCUlkZW50aWZpZXIKK0hpTGluayB0ZlZhcgkJCUlkZW50aWZpZXIKK0hpTGluayB0ZldvcmxkCQlJZGVudGlmaWVyCitIaUxpbmsgdGZSZWFkb25seQkJSWRlbnRpZmllcgorSGlMaW5rIHRmSG9vawkJSWRlbnRpZmllcgorSGlMaW5rIHRmRnVuY3Rpb25zCQlGdW5jdGlvbgorSGlMaW5rIHRmUmVwZWF0CQlSZXBlYXQKK0hpTGluayB0ZkNvbmRpdGlvbmFsCQlDb25kaXRpb25hbAorSGlMaW5rIHRmTGFiZWwJCUxhYmVsCitIaUxpbmsgdGZTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIHRmVHlwZQkJVHlwZQorSGlMaW5rIHRmSW5jbHVkZQkJSW5jbHVkZQorSGlMaW5rIHRmRGVmaW5lCQlEZWZpbmUKK0hpTGluayB0ZlNwZWNpYWxDaGFyCQlTcGVjaWFsQ2hhcgorSGlMaW5rIHRmU3BlY2lhbENoYXJFc2MJU3BlY2lhbENoYXIKK0hpTGluayB0ZlBhcmVudEVycm9yCQlFcnJvcgorSGlMaW5rIHRmVG9kbwkJVG9kbworSGlMaW5rIHRmRW5kQ29tbWFuZAkJRGVsaW1pdGVyCitIaUxpbmsgdGZKb2luTGluZXMJCURlbGltaXRlcgorSGlMaW5rIHRmT3BlcmF0b3IJCU9wZXJhdG9yCitIaUxpbmsgdGZSZWxhdGlvbgkJT3BlcmF0b3IKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInRmIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90bGkudmltIGIvcnVudGltZS9zeW50YXgvdGxpLnZpbQppbmRleCA1Njg1YTZjLi5lMGUxOWFiIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC90bGkudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3RsaS52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiBMYXN0IENoYW5nZToJMjAwMSBNYXkgMTAKICIgVmVyc2lvbjogICAgICAxLjAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTQ0LDI3ICs0MSwxOSBAQAogc3luIGNhc2UgbWF0Y2gKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdGxpX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3RsaV9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHRsaU51bWJlcglOdW1iZXIKLSAgSGlMaW5rIHRsaVN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIHRsaUNvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgdGxpU3BlY2lhbAlTcGVjaWFsQ2hhcgotICBIaUxpbmsgdGxpSWRlbnRpZmllciBJZGVudGlmaWVyCi0gIEhpTGluayB0bGlPYmplY3QgICAgIFN0YXRlbWVudAotICBIaUxpbmsgdGxpRmllbGQgICAgICBUeXBlCi0gIEhpTGluayB0bGlTdHlsZSAgICAgIFByZVByb2MKK0hpTGluayB0bGlOdW1iZXIJTnVtYmVyCitIaUxpbmsgdGxpU3RyaW5nCVN0cmluZworSGlMaW5rIHRsaUNvbW1lbnQJQ29tbWVudAorSGlMaW5rIHRsaVNwZWNpYWwJU3BlY2lhbENoYXIKK0hpTGluayB0bGlJZGVudGlmaWVyIElkZW50aWZpZXIKK0hpTGluayB0bGlPYmplY3QgICAgIFN0YXRlbWVudAorSGlMaW5rIHRsaUZpZWxkICAgICAgVHlwZQorSGlMaW5rIHRsaVN0eWxlICAgICAgUHJlUHJvYwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAidGxpIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90cHAudmltIGIvcnVudGltZS9zeW50YXgvdHBwLnZpbQppbmRleCAwNTBhMmJhLi5iMWVhMzVmIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC90cHAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3RwcC52aW0KQEAgLTE3LDExICsxNyw4IEBACiAiIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIGZpbGUuCiAiIFNQQU0gaXMgX05PVF8gd2VsY29tZSAtIGJlIHJlYWR5IHRvIGJlIHJlcG9ydGVkIQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNTEsMTEgKzQ4LDcgQEAKIAogaWYgbWFpbl9zeW50YXggIT0gJ3NoJwogICAiIHNoZWxsIGNvbW1hbmQKLSAgaWYgdmVyc2lvbiA8IDYwMAotICAgIHN5biBpbmNsdWRlIEB0cHBTaEV4ZWMgPHNmaWxlPjpwOmgvc2gudmltCi0gIGVsc2UKLSAgICBzeW4gaW5jbHVkZSBAdHBwU2hFeGVjIHN5bnRheC9zaC52aW0KLSAgZW5kaWYKKyAgc3luIGluY2x1ZGUgQHRwcFNoRXhlYyBzeW50YXgvc2gudmltCiAgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKIAogICBzeW4gcmVnaW9uIHNoRXhlYyBtYXRjaGdyb3VwPXRwcFBhZ2VMb2NhbE9wdGlvbktleSBzdGFydD0nXi0tZXhlYyAqJyBrZWVwZW5kIGVuZD0nJCcgY29udGFpbnM9QHRwcFNoRXhlYwpAQCAtNjUsMzUgKzU4LDI3IEBACiBzeW4gbWF0Y2ggdHBwQ29tbWVudCAiXi0tIyMuKiQiCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3RwcF9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF90cHBfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayB0cHBBYnN0cmFjdE9wdGlvbktleQkJU3BlY2lhbAotICBIaUxpbmsgdHBwUGFnZUxvY2FsT3B0aW9uS2V5CQlLZXl3b3JkCi0gIEhpTGluayB0cHBQYWdlTG9jYWxTd2l0Y2hLZXkJCUtleXdvcmQKLSAgSGlMaW5rIHRwcENvbG9yT3B0aW9uS2V5CQlLZXl3b3JkCi0gIEhpTGluayB0cHBUaW1lT3B0aW9uS2V5CQlDb21tZW50Ci0gIEhpTGluayB0cHBOZXdQYWdlT3B0aW9uS2V5CQlQcmVQcm9jCi0gIEhpTGluayB0cHBTdHJpbmcJCQlTdHJpbmcKLSAgSGlMaW5rIHRwcENvbG9yCQkJU3RyaW5nCi0gIEhpTGluayB0cHBUaW1lCQkJTnVtYmVyCi0gIEhpTGluayB0cHBDb21tZW50CQkJQ29tbWVudAotICBIaUxpbmsgdHBwQWJzdHJhY3RPcHRpb24JCUVycm9yCi0gIEhpTGluayB0cHBQYWdlTG9jYWxPcHRpb24JCUVycm9yCi0gIEhpTGluayB0cHBQYWdlTG9jYWxTd2l0Y2gJCUVycm9yCi0gIEhpTGluayB0cHBDb2xvck9wdGlvbgkJCUVycm9yCi0gIEhpTGluayB0cHBOZXdQYWdlT3B0aW9uCQlFcnJvcgotICBIaUxpbmsgdHBwVGltZU9wdGlvbgkJCUVycm9yCitIaUxpbmsgdHBwQWJzdHJhY3RPcHRpb25LZXkJCVNwZWNpYWwKK0hpTGluayB0cHBQYWdlTG9jYWxPcHRpb25LZXkJCUtleXdvcmQKK0hpTGluayB0cHBQYWdlTG9jYWxTd2l0Y2hLZXkJCUtleXdvcmQKK0hpTGluayB0cHBDb2xvck9wdGlvbktleQkJS2V5d29yZAorSGlMaW5rIHRwcFRpbWVPcHRpb25LZXkJCUNvbW1lbnQKK0hpTGluayB0cHBOZXdQYWdlT3B0aW9uS2V5CQlQcmVQcm9jCitIaUxpbmsgdHBwU3RyaW5nCQkJU3RyaW5nCitIaUxpbmsgdHBwQ29sb3IJCQlTdHJpbmcKK0hpTGluayB0cHBUaW1lCQkJTnVtYmVyCitIaUxpbmsgdHBwQ29tbWVudAkJCUNvbW1lbnQKK0hpTGluayB0cHBBYnN0cmFjdE9wdGlvbgkJRXJyb3IKK0hpTGluayB0cHBQYWdlTG9jYWxPcHRpb24JCUVycm9yCitIaUxpbmsgdHBwUGFnZUxvY2FsU3dpdGNoCQlFcnJvcgorSGlMaW5rIHRwcENvbG9yT3B0aW9uCQkJRXJyb3IKK0hpTGluayB0cHBOZXdQYWdlT3B0aW9uCQlFcnJvcgorSGlMaW5rIHRwcFRpbWVPcHRpb24JCQlFcnJvcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAidHBwIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90cmFzeXMudmltIGIvcnVudGltZS9zeW50YXgvdHJhc3lzLnZpbQppbmRleCBjZmVjYzFjLi4xZTdmNzVjIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC90cmFzeXMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3RyYXN5cy52aW0KQEAgLTgsMTEgKzgsOCBAQAogCiAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTIxLDExICsxOCw3IEBACiBsZXQgZm9ydHJhbl9mcmVlX3NvdXJjZT0xCiAKICIgTG9hZCBGT1JUUkFOIHN5bnRheCBmaWxlCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvdXJjZSA8c2ZpbGU+OnA6aC9mb3J0cmFuLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvZm9ydHJhbi52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvZm9ydHJhbi52aW0KIHVubGV0IGI6Y3VycmVudF9zeW50YXgKIAogCkBAIC0xMzYsNDAgKzEyOSwzMiBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZwotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdHJhc3lzX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3RyYXN5c19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHRyYXN5c09wdGlvbnMJCVNwZWNpYWwKLSAgSGlMaW5rIHRyYXN5c1N1cmZhY2UJCVNwZWNpYWwKLSAgSGlMaW5rIHRyYXN5c1N1cmZhY2VUeXBlCUNvbnN0YW50Ci0gIEhpTGluayB0cmFzeXNTdXJmYWNlQXJncwlDb25zdGFudAotICBIaUxpbmsgdHJhc3lzQXJncwkJQ29uc3RhbnQKLSAgSGlMaW5rIHRyYXN5c09wZXJhdGlvbnMJU3RhdGVtZW50Ci0gIEhpTGluayB0cmFzeXNTdWJSb3V0aW5lCVN0YXRlbWVudAotICBIaUxpbmsgdHJhc3N5UHJjc3JTZWdtCVByZVByb2MKLSAgSGlMaW5rIHRyYXN5c0lkZW50aWZpZXIJSWRlbnRpZmllcgotICBIaUxpbmsgdHJhc3lzQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgdHJhc3lzSGVhZGVyCQlUeXBlZGVmCi0gIEhpTGluayB0cmFzeXNNYWNybwkJTWFjcm8KLSAgSGlMaW5rIHRyYXN5c0ludGVnZXIJCU51bWJlcgotICBIaUxpbmsgdHJhc3lzRmxvYXQJCUZsb2F0Ci0gIEhpTGluayB0cmFzeXNTY2llbnRpZmljCUZsb2F0CitIaUxpbmsgdHJhc3lzT3B0aW9ucwkJU3BlY2lhbAorSGlMaW5rIHRyYXN5c1N1cmZhY2UJCVNwZWNpYWwKK0hpTGluayB0cmFzeXNTdXJmYWNlVHlwZQlDb25zdGFudAorSGlMaW5rIHRyYXN5c1N1cmZhY2VBcmdzCUNvbnN0YW50CitIaUxpbmsgdHJhc3lzQXJncwkJQ29uc3RhbnQKK0hpTGluayB0cmFzeXNPcGVyYXRpb25zCVN0YXRlbWVudAorSGlMaW5rIHRyYXN5c1N1YlJvdXRpbmUJU3RhdGVtZW50CitIaUxpbmsgdHJhc3N5UHJjc3JTZWdtCVByZVByb2MKK0hpTGluayB0cmFzeXNJZGVudGlmaWVyCUlkZW50aWZpZXIKK0hpTGluayB0cmFzeXNDb21tZW50CQlDb21tZW50CitIaUxpbmsgdHJhc3lzSGVhZGVyCQlUeXBlZGVmCitIaUxpbmsgdHJhc3lzTWFjcm8JCU1hY3JvCitIaUxpbmsgdHJhc3lzSW50ZWdlcgkJTnVtYmVyCitIaUxpbmsgdHJhc3lzRmxvYXQJCUZsb2F0CitIaUxpbmsgdHJhc3lzU2NpZW50aWZpYwlGbG9hdAogCi0gIEhpTGluayB0cmFzeXNCbGFuawkJU3BlY2lhbENoYXIKK0hpTGluayB0cmFzeXNCbGFuawkJU3BlY2lhbENoYXIKIAotICBIaUxpbmsgdHJhc3lzRW5kRGF0YQkJTWFjcm8KK0hpTGluayB0cmFzeXNFbmREYXRhCQlNYWNybwogCi0gIEhpTGluayB0cmFzeXNUb2RvCQlUb2RvCitIaUxpbmsgdHJhc3lzVG9kbwkJVG9kbwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ0cmFzeXMiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90cnVzdGVlcy52aW0gYi9ydW50aW1lL3N5bnRheC90cnVzdGVlcy52aW0KaW5kZXggNGJjODg3NC4uNmM1OGQzOSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdHJ1c3RlZXMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3RydXN0ZWVzLnZpbQpAQCAtMyw5ICszLDggQEAKICIgTWFpbnRhaW5lcjogICBOaW1hIFRhbGViaSA8bmltYUBpdC5uZXQuYXU+CiAiIExhc3QgQ2hhbmdlOiAgMjAwNS0xMC0xMgogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90c2FsdC52aW0gYi9ydW50aW1lL3N5bnRheC90c2FsdC52aW0KaW5kZXggODg3ZDZiNy4uN2JjY2RlMCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdHNhbHQudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3RzYWx0LnZpbQpAQCAtNCwxMSArNCw4IEBACiAiIExhc3QgQ2hhbmdlOgkyMDEyIEZlYiAwMyBieSBUaGlsbyBTaXgKICIgVmVyc2lvbiBJbmZvOiBAKCMpdHNhbHQudmltCTEuNQk5Ny8xMi8xNiAwODoxMToxNQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTcxLDQ2ICsxNjgsMzggQEAKIAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90c2FsdF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF90c2FsdF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLQlIaUxpbmsgdHNhbHRGdW5jdGlvbgkJU3RhdGVtZW50Ci0JSGlMaW5rIHRzYWx0U3lzVmFyCQlUeXBlCi0JIkhpTGluayB0c2FsdExpYkZ1bmMJCVVzZXJEZWZGdW5jCi0JIkhpTGluayB0c2FsdENvbnN0YW50cwkJVHlwZQotCSJIaUxpbmsgdHNhbHRGdW5jQXJnCQlUeXBlCi0JIkhpTGluayB0c2FsdE9wZXJhdG9yCQlPcGVyYXRvcgotCSJIaUxpbmsgdHNhbHRMYWJlbAkJTGFiZWwKLQkiSGlMaW5rIHRzYWx0VXNlckxhYmVsCQlMYWJlbAotCUhpTGluayB0c2FsdENvbmRpdGlvbmFsCQlDb25kaXRpb25hbAotCUhpTGluayB0c2FsdFJlcGVhdAkJUmVwZWF0Ci0JSGlMaW5rIHRzYWx0Q2hhcmFjdGVyCQlTcGVjaWFsQ2hhcgotCUhpTGluayB0c2FsdFNwZWNpYWxDaGFyYWN0ZXIJU3BlY2lhbENoYXIKLQlIaUxpbmsgdHNhbHROdW1iZXIJCU51bWJlcgotCUhpTGluayB0c2FsdEZsb2F0CQlGbG9hdAotCUhpTGluayB0c2FsdENvbW1lbnRFcnJvcgl0c2FsdEVycm9yCi0JSGlMaW5rIHRzYWx0SW5jbHVkZQkJSW5jbHVkZQotCUhpTGluayB0c2FsdFByZVByb2MJCVByZVByb2MKLQlIaUxpbmsgdHNhbHREZWZpbmUJCU1hY3JvCi0JSGlMaW5rIHRzYWx0SW5jbHVkZWQJCXRzYWx0U3RyaW5nCi0JSGlMaW5rIHRzYWx0RXJyb3IJCUVycm9yCi0JSGlMaW5rIHRzYWx0U3RhdGVtZW50CQlTdGF0ZW1lbnQKLQlIaUxpbmsgdHNhbHRQcmVDb25kaXQJCVByZUNvbmRpdAotCUhpTGluayB0c2FsdFR5cGUJCVR5cGUKLQlIaUxpbmsgdHNhbHRTdHJpbmcJCVN0cmluZwotCUhpTGluayB0c2FsdENvbW1lbnQJCUNvbW1lbnQKLQlIaUxpbmsgdHNhbHRTcGVjaWFsCQlTcGVjaWFsCi0JSGlMaW5rIHRzYWx0VG9kbwkJVG9kbworSGlMaW5rIHRzYWx0RnVuY3Rpb24JCVN0YXRlbWVudAorSGlMaW5rIHRzYWx0U3lzVmFyCQlUeXBlCisiSGlMaW5rIHRzYWx0TGliRnVuYwkJVXNlckRlZkZ1bmMKKyJIaUxpbmsgdHNhbHRDb25zdGFudHMJCVR5cGUKKyJIaUxpbmsgdHNhbHRGdW5jQXJnCQlUeXBlCisiSGlMaW5rIHRzYWx0T3BlcmF0b3IJCU9wZXJhdG9yCisiSGlMaW5rIHRzYWx0TGFiZWwJCUxhYmVsCisiSGlMaW5rIHRzYWx0VXNlckxhYmVsCQlMYWJlbAorSGlMaW5rIHRzYWx0Q29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCitIaUxpbmsgdHNhbHRSZXBlYXQJCVJlcGVhdAorSGlMaW5rIHRzYWx0Q2hhcmFjdGVyCQlTcGVjaWFsQ2hhcgorSGlMaW5rIHRzYWx0U3BlY2lhbENoYXJhY3RlcglTcGVjaWFsQ2hhcgorSGlMaW5rIHRzYWx0TnVtYmVyCQlOdW1iZXIKK0hpTGluayB0c2FsdEZsb2F0CQlGbG9hdAorSGlMaW5rIHRzYWx0Q29tbWVudEVycm9yCXRzYWx0RXJyb3IKK0hpTGluayB0c2FsdEluY2x1ZGUJCUluY2x1ZGUKK0hpTGluayB0c2FsdFByZVByb2MJCVByZVByb2MKK0hpTGluayB0c2FsdERlZmluZQkJTWFjcm8KK0hpTGluayB0c2FsdEluY2x1ZGVkCQl0c2FsdFN0cmluZworSGlMaW5rIHRzYWx0RXJyb3IJCUVycm9yCitIaUxpbmsgdHNhbHRTdGF0ZW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIHRzYWx0UHJlQ29uZGl0CQlQcmVDb25kaXQKK0hpTGluayB0c2FsdFR5cGUJCVR5cGUKK0hpTGluayB0c2FsdFN0cmluZwkJU3RyaW5nCitIaUxpbmsgdHNhbHRDb21tZW50CQlDb21tZW50CitIaUxpbmsgdHNhbHRTcGVjaWFsCQlTcGVjaWFsCitIaUxpbmsgdHNhbHRUb2RvCQlUb2RvCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ0c2FsdCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdHNzY2wudmltIGIvcnVudGltZS9zeW50YXgvdHNzY2wudmltCmluZGV4IDNmYzE4YzYuLjMyY2E4ZDQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Rzc2NsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC90c3NjbC52aW0KQEAgLTgsMTEgKzgsOCBAQAogCiAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTE3OSwzNyArMTc2LDI5IEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90c3NjbF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF90c3NjbF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHRzc2NsQ29tbWFuZAkJU3RhdGVtZW50Ci0gIEhpTGluayB0c3NjbEtleXdvcmQJCVNwZWNpYWwKLSAgSGlMaW5rIHRzc2NsRW5kCQlNYWNybwotICBIaUxpbmsgdHNzY2xVbml0cwkJU3BlY2lhbAorSGlMaW5rIHRzc2NsQ29tbWFuZAkJU3RhdGVtZW50CitIaUxpbmsgdHNzY2xLZXl3b3JkCQlTcGVjaWFsCitIaUxpbmsgdHNzY2xFbmQJCU1hY3JvCitIaUxpbmsgdHNzY2xVbml0cwkJU3BlY2lhbAogCi0gIEhpTGluayB0c3NjbENvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIHRzc2NsRGlyZWN0aXZlCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHRzc2NsQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIHRzc2NsQ29udENoYXIJCU1hY3JvCi0gIEhpTGluayB0c3NjbFF1YWxpZmllcgkJVHlwZWRlZgotICBIaUxpbmsgdHNzY2xTeW1ib2wJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHRzc2NsU3ltYm9sMgkJU3ltYm9sCi0gIEhpTGluayB0c3NjbFN0cmluZwkJU3RyaW5nCi0gIEhpTGluayB0c3NjbE9wZXIJCU9wZXJhdG9yCitIaUxpbmsgdHNzY2xDb21tZW50CQlDb21tZW50CitIaUxpbmsgdHNzY2xEaXJlY3RpdmUJCVN0YXRlbWVudAorSGlMaW5rIHRzc2NsQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayB0c3NjbENvbnRDaGFyCQlNYWNybworSGlMaW5rIHRzc2NsUXVhbGlmaWVyCQlUeXBlZGVmCitIaUxpbmsgdHNzY2xTeW1ib2wJCUlkZW50aWZpZXIKK0hpTGluayB0c3NjbFN5bWJvbDIJCVN5bWJvbAorSGlMaW5rIHRzc2NsU3RyaW5nCQlTdHJpbmcKK0hpTGluayB0c3NjbE9wZXIJCU9wZXJhdG9yCiAKLSAgSGlMaW5rIHRzc2NsSW50ZWdlcgkJTnVtYmVyCi0gIEhpTGluayB0c3NjbEZsb2F0CQlOdW1iZXIKLSAgSGlMaW5rIHRzc2NsU2NpZW50aWZpYwlOdW1iZXIKK0hpTGluayB0c3NjbEludGVnZXIJCU51bWJlcgorSGlMaW5rIHRzc2NsRmxvYXQJCU51bWJlcgorSGlMaW5rIHRzc2NsU2NpZW50aWZpYwlOdW1iZXIKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAidHNzY2wiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC90c3NnbS52aW0gYi9ydW50aW1lL3N5bnRheC90c3NnbS52aW0KaW5kZXggYjgxODJkNC4uYzU3NTM0NyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdHNzZ20udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Rzc2dtLnZpbQpAQCAtOCwxMSArOCw4IEBACiAKIAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNzUsMzUgKzcyLDI3IEBACiAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF90c3NnbV9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF90c3NnbV9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHRzc2dtUGFyYW0JCVN0YXRlbWVudAotICBIaUxpbmsgdHNzZ21TdXJmVHlwZQkJVHlwZQotICBIaUxpbmsgdHNzZ21BcmdzCQlTcGVjaWFsCi0gIEhpTGluayB0c3NnbURlbGltCQlUeXBlZGVmCi0gIEhpTGluayB0c3NnbUVuZAkJTWFjcm8KLSAgSGlMaW5rIHRzc2dtVW5pdHMJCVNwZWNpYWwKK0hpTGluayB0c3NnbVBhcmFtCQlTdGF0ZW1lbnQKK0hpTGluayB0c3NnbVN1cmZUeXBlCQlUeXBlCitIaUxpbmsgdHNzZ21BcmdzCQlTcGVjaWFsCitIaUxpbmsgdHNzZ21EZWxpbQkJVHlwZWRlZgorSGlMaW5rIHRzc2dtRW5kCQlNYWNybworSGlMaW5rIHRzc2dtVW5pdHMJCVNwZWNpYWwKIAotICBIaUxpbmsgdHNzZ21EZWZhdWx0CQlTcGVjaWFsQ29tbWVudAotICBIaUxpbmsgdHNzZ21Db21tZW50CQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHRzc2dtQ29tbWVudFN0cmluZwlDb21tZW50Ci0gIEhpTGluayB0c3NnbVN1cmZJZGVudAkJSWRlbnRpZmllcgotICBIaUxpbmsgdHNzZ21TdHJpbmcJCURlbGltaXRlcgorSGlMaW5rIHRzc2dtRGVmYXVsdAkJU3BlY2lhbENvbW1lbnQKK0hpTGluayB0c3NnbUNvbW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIHRzc2dtQ29tbWVudFN0cmluZwlDb21tZW50CitIaUxpbmsgdHNzZ21TdXJmSWRlbnQJCUlkZW50aWZpZXIKK0hpTGluayB0c3NnbVN0cmluZwkJRGVsaW1pdGVyCiAKLSAgSGlMaW5rIHRzc2dtSW50ZWdlcgkJTnVtYmVyCi0gIEhpTGluayB0c3NnbUZsb2F0CQlGbG9hdAotICBIaUxpbmsgdHNzZ21TY2llbnRpZmljCUZsb2F0CitIaUxpbmsgdHNzZ21JbnRlZ2VyCQlOdW1iZXIKK0hpTGluayB0c3NnbUZsb2F0CQlGbG9hdAorSGlMaW5rIHRzc2dtU2NpZW50aWZpYwlGbG9hdAogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ0c3NnbSIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Rzc29wLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Rzc29wLnZpbQppbmRleCBkNDE2ZGYwLi5mOGZhZGFiIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC90c3NvcC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvdHNzb3AudmltCkBAIC04LDExICs4LDggQEAKIAogCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC01NiwzMCArNTMsMjIgQEAKIAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcKLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Rzc29wX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3Rzc29wX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgdHNzb3BQYXJhbQkJU3RhdGVtZW50Ci0gIEhpTGluayB0c3NvcFByb3AJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHRzc29wQXJncwkJU3BlY2lhbAorSGlMaW5rIHRzc29wUGFyYW0JCVN0YXRlbWVudAorSGlMaW5rIHRzc29wUHJvcAkJSWRlbnRpZmllcgorSGlMaW5rIHRzc29wQXJncwkJU3BlY2lhbAogCi0gIEhpTGluayB0c3NvcENvbW1lbnQJCVN0YXRlbWVudAotICBIaUxpbmsgdHNzb3BDb21tZW50U3RyaW5nCUNvbW1lbnQKLSAgSGlMaW5rIHRzc29wUHJvcE5hbWUJCVR5cGVkZWYKK0hpTGluayB0c3NvcENvbW1lbnQJCVN0YXRlbWVudAorSGlMaW5rIHRzc29wQ29tbWVudFN0cmluZwlDb21tZW50CitIaUxpbmsgdHNzb3BQcm9wTmFtZQkJVHlwZWRlZgogCi0gIEhpTGluayB0c3NvcEludGVnZXIJCU51bWJlcgotICBIaUxpbmsgdHNzb3BGbG9hdAkJRmxvYXQKLSAgSGlMaW5rIHRzc29wU2NpZW50aWZpYwlGbG9hdAorSGlMaW5rIHRzc29wSW50ZWdlcgkJTnVtYmVyCitIaUxpbmsgdHNzb3BGbG9hdAkJRmxvYXQKK0hpTGluayB0c3NvcFNjaWVudGlmaWMJRmxvYXQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAidHNzb3AiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC91Yy52aW0gYi9ydW50aW1lL3N5bnRheC91Yy52aW0KaW5kZXggN2VhYjFkNC4uZTEyOGNiZiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdWMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3VjLnZpbQpAQCAtNywxMSArNyw4IEBACiAKICIgUGxlYXNlIGNoZWNrIDpoZWxwIHVjLnZpbSBmb3IgY29tbWVudHMgb24gc29tZSBvZiB0aGUgb3B0aW9ucyBhdmFpbGFibGUuCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMTAsNjQgKzEwNyw1NiBAQAogZXhlYyAic3luIHN5bmMgY2NvbW1lbnQgdWNDb21tZW50IG1pbmxpbmVzPSIgLiB1Y19taW5saW5lcwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF91Y19zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF91Y19zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHVjRnVuY0RlZgkJCUNvbmRpdGlvbmFsCi0gIEhpTGluayB1Y0V2ZW50RGVmCQkJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIHVjQnJhY2VzCQkJRnVuY3Rpb24KLSAgSGlMaW5rIHVjQnJhbmNoCQkJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIHVjTGFiZWwJCQlMYWJlbAotICBIaUxpbmsgdWNVc2VyTGFiZWwJCQlMYWJlbAotICBIaUxpbmsgdWNDb25kaXRpb25hbAkJCUNvbmRpdGlvbmFsCi0gIEhpTGluayB1Y1JlcGVhdAkJCVJlcGVhdAotICBIaUxpbmsgdWNTdG9yYWdlQ2xhc3MJCQlTdG9yYWdlQ2xhc3MKLSAgSGlMaW5rIHVjTWV0aG9kRGVjbAkJCXVjU3RvcmFnZUNsYXNzCi0gIEhpTGluayB1Y0NsYXNzRGVjbAkJCXVjU3RvcmFnZUNsYXNzCi0gIEhpTGluayB1Y1Njb3BlRGVjbAkJCXVjU3RvcmFnZUNsYXNzCi0gIEhpTGluayB1Y0Jvb2xlYW4JCQlCb29sZWFuCi0gIEhpTGluayB1Y1NwZWNpYWwJCQlTcGVjaWFsCi0gIEhpTGluayB1Y1NwZWNpYWxFcnJvcgkJCUVycm9yCi0gIEhpTGluayB1Y1NwZWNpYWxDaGFyRXJyb3IJCUVycm9yCi0gIEhpTGluayB1Y1N0cmluZwkJCVN0cmluZwotICBIaUxpbmsgdWNDaGFyYWN0ZXIJCQlDaGFyYWN0ZXIKLSAgSGlMaW5rIHVjU3BlY2lhbENoYXIJCQlTcGVjaWFsQ2hhcgotICBIaUxpbmsgdWNOdW1iZXIJCQlOdW1iZXIKLSAgSGlMaW5rIHVjRXJyb3IJCQlFcnJvcgotICBIaUxpbmsgdWNTdHJpbmdFcnJvcgkJCUVycm9yCi0gIEhpTGluayB1Y1N0YXRlbWVudAkJCVN0YXRlbWVudAotICBIaUxpbmsgdWNPcGVyYXRvcgkJCU9wZXJhdG9yCi0gIEhpTGluayB1Y092ZXJMb2FkZWQJCQlPcGVyYXRvcgotICBIaUxpbmsgdWNDb21tZW50CQkJQ29tbWVudAotICBIaUxpbmsgdWNEb2NDb21tZW50CQkJQ29tbWVudAotICBIaUxpbmsgdWNMaW5lQ29tbWVudAkJCUNvbW1lbnQKLSAgSGlMaW5rIHVjQ29uc3RhbnQJCQl1Y0Jvb2xlYW4KLSAgSGlMaW5rIHVjVHlwZWRlZgkJCVR5cGVkZWYKLSAgSGlMaW5rIHVjVG9kbwkJCQlUb2RvCitIaUxpbmsgdWNGdW5jRGVmCQkJQ29uZGl0aW9uYWwKK0hpTGluayB1Y0V2ZW50RGVmCQkJQ29uZGl0aW9uYWwKK0hpTGluayB1Y0JyYWNlcwkJCUZ1bmN0aW9uCitIaUxpbmsgdWNCcmFuY2gJCQlDb25kaXRpb25hbAorSGlMaW5rIHVjTGFiZWwJCQlMYWJlbAorSGlMaW5rIHVjVXNlckxhYmVsCQkJTGFiZWwKK0hpTGluayB1Y0NvbmRpdGlvbmFsCQkJQ29uZGl0aW9uYWwKK0hpTGluayB1Y1JlcGVhdAkJCVJlcGVhdAorSGlMaW5rIHVjU3RvcmFnZUNsYXNzCQkJU3RvcmFnZUNsYXNzCitIaUxpbmsgdWNNZXRob2REZWNsCQkJdWNTdG9yYWdlQ2xhc3MKK0hpTGluayB1Y0NsYXNzRGVjbAkJCXVjU3RvcmFnZUNsYXNzCitIaUxpbmsgdWNTY29wZURlY2wJCQl1Y1N0b3JhZ2VDbGFzcworSGlMaW5rIHVjQm9vbGVhbgkJCUJvb2xlYW4KK0hpTGluayB1Y1NwZWNpYWwJCQlTcGVjaWFsCitIaUxpbmsgdWNTcGVjaWFsRXJyb3IJCQlFcnJvcgorSGlMaW5rIHVjU3BlY2lhbENoYXJFcnJvcgkJRXJyb3IKK0hpTGluayB1Y1N0cmluZwkJCVN0cmluZworSGlMaW5rIHVjQ2hhcmFjdGVyCQkJQ2hhcmFjdGVyCitIaUxpbmsgdWNTcGVjaWFsQ2hhcgkJCVNwZWNpYWxDaGFyCitIaUxpbmsgdWNOdW1iZXIJCQlOdW1iZXIKK0hpTGluayB1Y0Vycm9yCQkJRXJyb3IKK0hpTGluayB1Y1N0cmluZ0Vycm9yCQkJRXJyb3IKK0hpTGluayB1Y1N0YXRlbWVudAkJCVN0YXRlbWVudAorSGlMaW5rIHVjT3BlcmF0b3IJCQlPcGVyYXRvcgorSGlMaW5rIHVjT3ZlckxvYWRlZAkJCU9wZXJhdG9yCitIaUxpbmsgdWNDb21tZW50CQkJQ29tbWVudAorSGlMaW5rIHVjRG9jQ29tbWVudAkJCUNvbW1lbnQKK0hpTGluayB1Y0xpbmVDb21tZW50CQkJQ29tbWVudAorSGlMaW5rIHVjQ29uc3RhbnQJCQl1Y0Jvb2xlYW4KK0hpTGluayB1Y1R5cGVkZWYJCQlUeXBlZGVmCitIaUxpbmsgdWNUb2RvCQkJCVRvZG8KIAotICBIaUxpbmsgdWNDb21tZW50VGl0bGUJCQlTcGVjaWFsQ29tbWVudAotICBIaUxpbmsgdWNEb2NUYWdzCQkJU3BlY2lhbAotICBIaUxpbmsgdWNEb2NQYXJhbQkJCUZ1bmN0aW9uCi0gIEhpTGluayB1Y0NvbW1lbnRTdGFyCQkJdWNDb21tZW50CitIaUxpbmsgdWNDb21tZW50VGl0bGUJCQlTcGVjaWFsQ29tbWVudAorSGlMaW5rIHVjRG9jVGFncwkJCVNwZWNpYWwKK0hpTGluayB1Y0RvY1BhcmFtCQkJRnVuY3Rpb24KK0hpTGluayB1Y0NvbW1lbnRTdGFyCQkJdWNDb21tZW50CiAKLSAgSGlMaW5rIHVjVHlwZQkJCQlUeXBlCi0gIEhpTGluayB1Y0V4dGVybmFsCQkJSW5jbHVkZQorSGlMaW5rIHVjVHlwZQkJCQlUeXBlCitIaUxpbmsgdWNFeHRlcm5hbAkJCUluY2x1ZGUKIAotICBIaUxpbmsgdWNDbGFzc0tleXMJCQlDb25kaXRpb25hbAotICBIaUxpbmsgdWNDbGFzc0xhYmVsCQkJQ29uZGl0aW9uYWwKK0hpTGluayB1Y0NsYXNzS2V5cwkJCUNvbmRpdGlvbmFsCitIaUxpbmsgdWNDbGFzc0xhYmVsCQkJQ29uZGl0aW9uYWwKIAotICBIaUxpbmsgaHRtbENvbW1lbnQJCQlTcGVjaWFsCi0gIEhpTGluayBodG1sQ29tbWVudFBhcnQJCVNwZWNpYWwKK0hpTGluayBodG1sQ29tbWVudAkJCVNwZWNpYWwKK0hpTGluayBodG1sQ29tbWVudFBhcnQJCVNwZWNpYWwKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInVjIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC91aWwudmltIGIvcnVudGltZS9zeW50YXgvdWlsLnZpbQppbmRleCBiNTQyMWJjLi42ODliMTg3IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC91aWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3VpbC52aW0KQEAgLTQsMTAgKzQsOCBAQAogIiBMYXN0IENoYW5nZToJMjAxMyBNYXkgMjMKICIgVVJMOgkJaHR0cDovL2dvdHQtZ2VoYWJ0LmRlLzgwMF93ZXJfd2lyX3NpbmQvdGhvbWFzL0hvbWVwYWdlL0NvbXB1dGVyL3ZpbS9zeW50YXgvdWlsLnZpbQogCi0iIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTQ3LDM3ICs0NSwyOSBAQAogc3luIHN5bmMgY2NvbW1lbnQgdWlsQ29tbWVudAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF91aWxfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfdWlsX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSAgSGlMaW5rIHVpbENoYXJhY3RlcgkJdWlsU3RyaW5nCi0gIEhpTGluayB1aWxTcGVjaWFsQ2hhcmFjdGVyCXVpbFNwZWNpYWwKLSAgSGlMaW5rIHVpbE51bWJlcgkJdWlsU3RyaW5nCi0gIEhpTGluayB1aWxDb21tZW50RXJyb3IJdWlsRXJyb3IKLSAgSGlMaW5rIHVpbEluY2x1ZGUJCXVpbFByZUNvbmRpdAotICBIaUxpbmsgdWlsRGVmaW5lCQl1aWxQcmVDb25kaXQKLSAgSGlMaW5rIHVpbEluY2x1ZGVkCQl1aWxTdHJpbmcKLSAgSGlMaW5rIHVpbFNwZWNpYWxGdW5jdGlvbgl1aWxSZXNzb3VyY2UKLSAgSGlMaW5rIHVpbFJlc3NvdXJjZQkJSWRlbnRpZmllcgotICBIaUxpbmsgdWlsU3BlY2lhbFN0YXRlbWVudAlLZXl3b3JkCi0gIEhpTGluayB1aWxFcnJvcgkJRXJyb3IKLSAgSGlMaW5rIHVpbFByZUNvbmRpdAkJUHJlQ29uZGl0Ci0gIEhpTGluayB1aWxUeXBlCQlUeXBlCi0gIEhpTGluayB1aWxTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgdWlsQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgdWlsU3BlY2lhbAkJU3BlY2lhbAotICBIaUxpbmsgdWlsVG9kbwkJVG9kbworIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCitIaUxpbmsgdWlsQ2hhcmFjdGVyCQl1aWxTdHJpbmcKK0hpTGluayB1aWxTcGVjaWFsQ2hhcmFjdGVyCXVpbFNwZWNpYWwKK0hpTGluayB1aWxOdW1iZXIJCXVpbFN0cmluZworSGlMaW5rIHVpbENvbW1lbnRFcnJvcgl1aWxFcnJvcgorSGlMaW5rIHVpbEluY2x1ZGUJCXVpbFByZUNvbmRpdAorSGlMaW5rIHVpbERlZmluZQkJdWlsUHJlQ29uZGl0CitIaUxpbmsgdWlsSW5jbHVkZWQJCXVpbFN0cmluZworSGlMaW5rIHVpbFNwZWNpYWxGdW5jdGlvbgl1aWxSZXNzb3VyY2UKK0hpTGluayB1aWxSZXNzb3VyY2UJCUlkZW50aWZpZXIKK0hpTGluayB1aWxTcGVjaWFsU3RhdGVtZW50CUtleXdvcmQKK0hpTGluayB1aWxFcnJvcgkJRXJyb3IKK0hpTGluayB1aWxQcmVDb25kaXQJCVByZUNvbmRpdAorSGlMaW5rIHVpbFR5cGUJCVR5cGUKK0hpTGluayB1aWxTdHJpbmcJCVN0cmluZworSGlMaW5rIHVpbENvbW1lbnQJCUNvbW1lbnQKK0hpTGluayB1aWxTcGVjaWFsCQlTcGVjaWFsCitIaUxpbmsgdWlsVG9kbwkJVG9kbwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ1aWwiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC91cHN0YXJ0LnZpbSBiL3J1bnRpbWUvc3ludGF4L3Vwc3RhcnQudmltCmluZGV4IGIzZjJiOWUuLjE0MGNkMTcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Vwc3RhcnQudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Vwc3RhcnQudmltCkBAIC0xMCw5ICsxMCw4IEBACiAiIEl0IGlzIGluc3BpcmVkIGJ5IHRoZSBpbml0bmcgc3ludGF4IGZpbGUgYW5kIGluY2x1ZGVzIHNoLnZpbSB0byBkbyB0aGUKICIgaGlnaGxpZ2h0aW5nIG9mIHNjcmlwdCBibG9ja3MuCiAKLWlmIHZlcnNpb24gPCA2MDAKLQlzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAJZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC92Yi52aW0gYi9ydW50aW1lL3N5bnRheC92Yi52aW0KaW5kZXggMGMwNWIzNS4uMjRjOTRmZCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdmIudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3ZiLnZpbQpAQCAtMTEsMTEgKzExLDggQEAKICIgVklNIGFuZCBWSU0tREVWIG1haWxpbmcgbGlzdHMuICBJdCBpcyBieSBubyBtZWFucyBjb21wbGV0ZS4KICIgU2VuZCBjb21tZW50cywgc3VnZ2VzdGlvbnMgYW5kIHJlcXVlc3RzIHRvIHRoZSBtYWludGFpbmVyLgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotCXN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKIAlmaW5pc2gKIGVuZGlmCiAKQEAgLTMzOCw0MCArMzM1LDMyIEBACiBzeW4gbWF0Y2ggICB2YlR5cGVTcGVjaWZpZXIgICIjW2EtekEtWjAtOV0ibWU9ZS0xCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3ZiX3N5bnRheF9pbml0cyIpCi0JaWYgdmVyc2lvbiA8IDUwOAotCQlsZXQgZGlkX3ZiX3N5bnRheF9pbml0cyA9IDEKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLQllbHNlCi0JCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotCWVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotCUhpTGluayB2YkJvb2xlYW4JCUJvb2xlYW4KLQlIaUxpbmsgdmJMaW5lTnVtYmVyCQlDb21tZW50Ci0JSGlMaW5rIHZiQ29tbWVudAkJQ29tbWVudAotCUhpTGluayB2YkNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0JSGlMaW5rIHZiQ29uc3QJCQlDb25zdGFudAotCUhpTGluayB2YkRlZmluZQkJCUNvbnN0YW50Ci0JSGlMaW5rIHZiRXJyb3IJCQlFcnJvcgotCUhpTGluayB2YkZ1bmN0aW9uCQlJZGVudGlmaWVyCi0JSGlMaW5rIHZiSWRlbnRpZmllcgkJSWRlbnRpZmllcgotCUhpTGluayB2Yk51bWJlcgkJCU51bWJlcgotCUhpTGluayB2YkZsb2F0CQkJRmxvYXQKLQlIaUxpbmsgdmJNZXRob2RzCQlQcmVQcm9jCi0JSGlMaW5rIHZiT3BlcmF0b3IJCU9wZXJhdG9yCi0JSGlMaW5rIHZiUmVwZWF0CQkJUmVwZWF0Ci0JSGlMaW5rIHZiU3RyaW5nCQkJU3RyaW5nCi0JSGlMaW5rIHZiU3RhdGVtZW50CQlTdGF0ZW1lbnQKLQlIaUxpbmsgdmJLZXl3b3JkCQlTdGF0ZW1lbnQKLQlIaUxpbmsgdmJFdmVudHMJCQlTcGVjaWFsCi0JSGlMaW5rIHZiVG9kbwkJCVRvZG8KLQlIaUxpbmsgdmJUeXBlcwkJCVR5cGUKLQlIaUxpbmsgdmJUeXBlU3BlY2lmaWVyCVR5cGUKK0hpTGluayB2YkJvb2xlYW4JCUJvb2xlYW4KK0hpTGluayB2YkxpbmVOdW1iZXIJCUNvbW1lbnQKK0hpTGluayB2YkNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayB2YkNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCitIaUxpbmsgdmJDb25zdAkJCUNvbnN0YW50CitIaUxpbmsgdmJEZWZpbmUJCQlDb25zdGFudAorSGlMaW5rIHZiRXJyb3IJCQlFcnJvcgorSGlMaW5rIHZiRnVuY3Rpb24JCUlkZW50aWZpZXIKK0hpTGluayB2YklkZW50aWZpZXIJCUlkZW50aWZpZXIKK0hpTGluayB2Yk51bWJlcgkJCU51bWJlcgorSGlMaW5rIHZiRmxvYXQJCQlGbG9hdAorSGlMaW5rIHZiTWV0aG9kcwkJUHJlUHJvYworSGlMaW5rIHZiT3BlcmF0b3IJCU9wZXJhdG9yCitIaUxpbmsgdmJSZXBlYXQJCQlSZXBlYXQKK0hpTGluayB2YlN0cmluZwkJCVN0cmluZworSGlMaW5rIHZiU3RhdGVtZW50CQlTdGF0ZW1lbnQKK0hpTGluayB2YktleXdvcmQJCVN0YXRlbWVudAorSGlMaW5rIHZiRXZlbnRzCQkJU3BlY2lhbAorSGlMaW5rIHZiVG9kbwkJCVRvZG8KK0hpTGluayB2YlR5cGVzCQkJVHlwZQorSGlMaW5rIHZiVHlwZVNwZWNpZmllcglUeXBlCiAKLQlkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInZiIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC92ZXJhLnZpbSBiL3J1bnRpbWUvc3ludGF4L3ZlcmEudmltCmluZGV4IGI4ZTI1Y2YuLjc5NTJjOTQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3ZlcmEudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3ZlcmEudmltCkBAIC0xMCwxMSArMTAsOCBAQAogCiAiIChjaGFuZ2UgdGhlIHZhbHVlIGZvciBndWliZyB0byBhbnkgY29sb3IgeW91IGxpa2UpCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0yODcsNzQgKzI4NCw2NiBAQAogZXhlYyAic3luIHN5bmMgY2NvbW1lbnQgdmVyYUNvbW1lbnQgbWlubGluZXM9IiAuIGI6dmVyYV9taW5saW5lcwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF92ZXJhX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3ZlcmFfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayB2ZXJhQ2xhc3MJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHZlcmFPYmplY3QJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHZlcmFVc2VyTWV0aG9kCQlGdW5jdGlvbgotICBIaUxpbmsgdmVyYVRhc2sJCUtleXdvcmQKLSAgSGlMaW5rIHZlcmFNb2RpZmllcgkJVGFnCi0gIEhpTGluayB2ZXJhRGVwcmVjYXRlZAkJdmVyYUVycm9yCi0gIEhpTGluayB2ZXJhTWV0aG9kcwkJU3RhdGVtZW50Ci0gICIgSGlMaW5rIHZlcmFJbnRlcmZhY2UJCUxhYmVsCi0gIEhpTGluayB2ZXJhSW50ZXJmYWNlCQlGdW5jdGlvbgorSGlMaW5rIHZlcmFDbGFzcwkJSWRlbnRpZmllcgorSGlMaW5rIHZlcmFPYmplY3QJCUlkZW50aWZpZXIKK0hpTGluayB2ZXJhVXNlck1ldGhvZAkJRnVuY3Rpb24KK0hpTGluayB2ZXJhVGFzawkJS2V5d29yZAorSGlMaW5rIHZlcmFNb2RpZmllcgkJVGFnCitIaUxpbmsgdmVyYURlcHJlY2F0ZWQJCXZlcmFFcnJvcgorSGlMaW5rIHZlcmFNZXRob2RzCQlTdGF0ZW1lbnQKKyIgSGlMaW5rIHZlcmFJbnRlcmZhY2UJCUxhYmVsCitIaUxpbmsgdmVyYUludGVyZmFjZQkJRnVuY3Rpb24KIAotICBIaUxpbmsgdmVyYUZvcm1hdAkJdmVyYVNwZWNpYWwKLSAgSGlMaW5rIHZlcmFDcHBTdHJpbmcJCXZlcmFTdHJpbmcKLSAgSGlMaW5rIHZlcmFDb21tZW50TAkJdmVyYUNvbW1lbnQKLSAgSGlMaW5rIHZlcmFDb21tZW50U3RhcnQJCXZlcmFDb21tZW50Ci0gIEhpTGluayB2ZXJhTGFiZWwJCQlMYWJlbAotICBIaUxpbmsgdmVyYVVzZXJMYWJlbAkJTGFiZWwKLSAgSGlMaW5rIHZlcmFDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKLSAgSGlMaW5rIHZlcmFSZXBlYXQJCVJlcGVhdAotICBIaUxpbmsgdmVyYUNoYXJhY3RlcgkJQ2hhcmFjdGVyCi0gIEhpTGluayB2ZXJhU3BlY2lhbENoYXJhY3Rlcgl2ZXJhU3BlY2lhbAotICBIaUxpbmsgdmVyYU51bWJlcgkJTnVtYmVyCi0gIEhpTGluayB2ZXJhT2N0YWwJCQlOdW1iZXIKLSAgSGlMaW5rIHZlcmFPY3RhbFplcm8JCVByZVByb2MJICIgbGluayB0aGlzIHRvIEVycm9yIGlmIHlvdSB3YW50Ci0gIEhpTGluayB2ZXJhRmxvYXQJCQlGbG9hdAotICBIaUxpbmsgdmVyYU9jdGFsRXJyb3IJCXZlcmFFcnJvcgotICBIaUxpbmsgdmVyYVBhcmVuRXJyb3IJCXZlcmFFcnJvcgotICBIaUxpbmsgdmVyYUVyckluUGFyZW4JCXZlcmFFcnJvcgotICBIaUxpbmsgdmVyYUVyckluQnJhY2tldAkJdmVyYUVycm9yCi0gIEhpTGluayB2ZXJhQ29tbWVudEVycm9yCQl2ZXJhRXJyb3IKLSAgSGlMaW5rIHZlcmFDb21tZW50U3RhcnRFcnJvcgl2ZXJhRXJyb3IKLSAgSGlMaW5rIHZlcmFTcGFjZUVycm9yICAgICAgICAgU3BhY2VFcnJvcgotICBIaUxpbmsgdmVyYVNwZWNpYWxFcnJvcgkJdmVyYUVycm9yCi0gIEhpTGluayB2ZXJhT3BlcmF0b3IJCU9wZXJhdG9yCi0gIEhpTGluayB2ZXJhU3RydWN0dXJlCQlTdHJ1Y3R1cmUKLSAgSGlMaW5rIHZlcmFJbmNsdWRlCQlJbmNsdWRlCi0gIEhpTGluayB2ZXJhUHJlUHJvYwkJUHJlUHJvYwotICBIaUxpbmsgdmVyYURlZmluZQkJTWFjcm8KLSAgSGlMaW5rIHZlcmFJbmNsdWRlZAkJdmVyYVN0cmluZwotICBIaUxpbmsgdmVyYUVycm9yCQkJRXJyb3IKLSAgSGlMaW5rIHZlcmFTdGF0ZW1lbnQJCVN0YXRlbWVudAotICBIaUxpbmsgdmVyYVByZUNvbmRpdAkJUHJlQ29uZGl0Ci0gIEhpTGluayB2ZXJhVHlwZQkJCVR5cGUKLSAgIiBIaUxpbmsgdmVyYUNvbnN0YW50CQlDb25zdGFudAotICBIaUxpbmsgdmVyYUNvbnN0YW50CQlLZXl3b3JkCi0gIEhpTGluayB2ZXJhVXNlckNvbnN0YW50CQlDb25zdGFudAotICBIaUxpbmsgdmVyYUNvbW1lbnRTdHJpbmcJCXZlcmFTdHJpbmcKLSAgSGlMaW5rIHZlcmFDb21tZW50MlN0cmluZwl2ZXJhU3RyaW5nCi0gIEhpTGluayB2ZXJhQ29tbWVudFNraXAJCXZlcmFDb21tZW50Ci0gIEhpTGluayB2ZXJhU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIHZlcmFDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayB2ZXJhU3BlY2lhbAkJU3BlY2lhbENoYXIKLSAgSGlMaW5rIHZlcmFUb2RvCQkJVG9kbwotICBIaUxpbmsgdmVyYUNwcFNraXAJCXZlcmFDcHBPdXQKLSAgSGlMaW5rIHZlcmFDcHBPdXQyCQl2ZXJhQ3BwT3V0Ci0gIEhpTGluayB2ZXJhQ3BwT3V0CQlDb21tZW50CitIaUxpbmsgdmVyYUZvcm1hdAkJdmVyYVNwZWNpYWwKK0hpTGluayB2ZXJhQ3BwU3RyaW5nCQl2ZXJhU3RyaW5nCitIaUxpbmsgdmVyYUNvbW1lbnRMCQl2ZXJhQ29tbWVudAorSGlMaW5rIHZlcmFDb21tZW50U3RhcnQJCXZlcmFDb21tZW50CitIaUxpbmsgdmVyYUxhYmVsCQkJTGFiZWwKK0hpTGluayB2ZXJhVXNlckxhYmVsCQlMYWJlbAorSGlMaW5rIHZlcmFDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKK0hpTGluayB2ZXJhUmVwZWF0CQlSZXBlYXQKK0hpTGluayB2ZXJhQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKK0hpTGluayB2ZXJhU3BlY2lhbENoYXJhY3Rlcgl2ZXJhU3BlY2lhbAorSGlMaW5rIHZlcmFOdW1iZXIJCU51bWJlcgorSGlMaW5rIHZlcmFPY3RhbAkJCU51bWJlcgorSGlMaW5rIHZlcmFPY3RhbFplcm8JCVByZVByb2MJICIgbGluayB0aGlzIHRvIEVycm9yIGlmIHlvdSB3YW50CitIaUxpbmsgdmVyYUZsb2F0CQkJRmxvYXQKK0hpTGluayB2ZXJhT2N0YWxFcnJvcgkJdmVyYUVycm9yCitIaUxpbmsgdmVyYVBhcmVuRXJyb3IJCXZlcmFFcnJvcgorSGlMaW5rIHZlcmFFcnJJblBhcmVuCQl2ZXJhRXJyb3IKK0hpTGluayB2ZXJhRXJySW5CcmFja2V0CQl2ZXJhRXJyb3IKK0hpTGluayB2ZXJhQ29tbWVudEVycm9yCQl2ZXJhRXJyb3IKK0hpTGluayB2ZXJhQ29tbWVudFN0YXJ0RXJyb3IJdmVyYUVycm9yCitIaUxpbmsgdmVyYVNwYWNlRXJyb3IgICAgICAgICBTcGFjZUVycm9yCitIaUxpbmsgdmVyYVNwZWNpYWxFcnJvcgkJdmVyYUVycm9yCitIaUxpbmsgdmVyYU9wZXJhdG9yCQlPcGVyYXRvcgorSGlMaW5rIHZlcmFTdHJ1Y3R1cmUJCVN0cnVjdHVyZQorSGlMaW5rIHZlcmFJbmNsdWRlCQlJbmNsdWRlCitIaUxpbmsgdmVyYVByZVByb2MJCVByZVByb2MKK0hpTGluayB2ZXJhRGVmaW5lCQlNYWNybworSGlMaW5rIHZlcmFJbmNsdWRlZAkJdmVyYVN0cmluZworSGlMaW5rIHZlcmFFcnJvcgkJCUVycm9yCitIaUxpbmsgdmVyYVN0YXRlbWVudAkJU3RhdGVtZW50CitIaUxpbmsgdmVyYVByZUNvbmRpdAkJUHJlQ29uZGl0CitIaUxpbmsgdmVyYVR5cGUJCQlUeXBlCisiIEhpTGluayB2ZXJhQ29uc3RhbnQJCUNvbnN0YW50CitIaUxpbmsgdmVyYUNvbnN0YW50CQlLZXl3b3JkCitIaUxpbmsgdmVyYVVzZXJDb25zdGFudAkJQ29uc3RhbnQKK0hpTGluayB2ZXJhQ29tbWVudFN0cmluZwkJdmVyYVN0cmluZworSGlMaW5rIHZlcmFDb21tZW50MlN0cmluZwl2ZXJhU3RyaW5nCitIaUxpbmsgdmVyYUNvbW1lbnRTa2lwCQl2ZXJhQ29tbWVudAorSGlMaW5rIHZlcmFTdHJpbmcJCVN0cmluZworSGlMaW5rIHZlcmFDb21tZW50CQlDb21tZW50CitIaUxpbmsgdmVyYVNwZWNpYWwJCVNwZWNpYWxDaGFyCitIaUxpbmsgdmVyYVRvZG8JCQlUb2RvCitIaUxpbmsgdmVyYUNwcFNraXAJCXZlcmFDcHBPdXQKK0hpTGluayB2ZXJhQ3BwT3V0MgkJdmVyYUNwcE91dAorSGlMaW5rIHZlcmFDcHBPdXQJCUNvbW1lbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInZlcmEiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3Zlcmlsb2cudmltIGIvcnVudGltZS9zeW50YXgvdmVyaWxvZy52aW0KaW5kZXggZjRkMjFkMC4uNGI3NTcwYSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdmVyaWxvZy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvdmVyaWxvZy52aW0KQEAgLTMsMjIgKzMsMTUgQEAKICIgTWFpbnRhaW5lcjoJTXVuIEpvaGwgPE11bi5Kb2hsQGVtdWxleC5jb20+CiAiIExhc3QgVXBkYXRlOiAgV2VkIEp1bCAyMCAxNjowNDoxOSBQRFQgMjAxMQogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgZmluaXNoCiBlbmRpZgogCiAiIFNldCB0aGUgbG9jYWwgdmFsdWUgb2YgdGhlICdpc2tleXdvcmQnIG9wdGlvbi4KICIgTk9URTogJz8nIHdhcyBhZGRlZCBzbyB0aGF0IHZlcmlsb2dOdW1iZXIgd291bGQgYmUgcHJvY2Vzc2VkIGNvcnJlY3RseSB3aGVuCiAiICAgICAgICc/JyBpcyB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgdGhlIG51bWJlci4KLWlmIHZlcnNpb24gPj0gNjAwCi0gICBzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01Nyw2MyxfLDE5Mi0yNTUKLWVsc2UKLSAgIHNldCBpc2tleXdvcmQ9QCw0OC01Nyw2MyxfLDE5Mi0yNTUKLWVuZGlmCitzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01Nyw2MyxfLDE5Mi0yNTUKIAogIiBBIGJ1bmNoIG9mIHVzZWZ1bCBWZXJpbG9nIGtleXdvcmRzCiAKQEAgLTEwMiwzNCArOTUsMjYgQEAKIHN5biBzeW5jIG1pbmxpbmVzPTUwCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3Zlcmlsb2dfc3luX2luaXRzIikKLSAgIGlmIHZlcnNpb24gPCA1MDgKLSAgICAgIGxldCBkaWRfdmVyaWxvZ19zeW5faW5pdHMgPSAxCi0gICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgZWxzZQotICAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgICIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotICAgSGlMaW5rIHZlcmlsb2dDaGFyYWN0ZXIgICAgICAgQ2hhcmFjdGVyCi0gICBIaUxpbmsgdmVyaWxvZ0NvbmRpdGlvbmFsICAgICBDb25kaXRpb25hbAotICAgSGlMaW5rIHZlcmlsb2dSZXBlYXQgICAgICAgICAgUmVwZWF0Ci0gICBIaUxpbmsgdmVyaWxvZ1N0cmluZyAgICAgICAgICBTdHJpbmcKLSAgIEhpTGluayB2ZXJpbG9nVG9kbyAgICAgICAgICAgIFRvZG8KLSAgIEhpTGluayB2ZXJpbG9nQ29tbWVudCAgICAgICAgIENvbW1lbnQKLSAgIEhpTGluayB2ZXJpbG9nQ29uc3RhbnQgICAgICAgIENvbnN0YW50Ci0gICBIaUxpbmsgdmVyaWxvZ0xhYmVsICAgICAgICAgICBMYWJlbAotICAgSGlMaW5rIHZlcmlsb2dOdW1iZXIgICAgICAgICAgTnVtYmVyCi0gICBIaUxpbmsgdmVyaWxvZ09wZXJhdG9yICAgICAgICBTcGVjaWFsCi0gICBIaUxpbmsgdmVyaWxvZ1N0YXRlbWVudCAgICAgICBTdGF0ZW1lbnQKLSAgIEhpTGluayB2ZXJpbG9nR2xvYmFsICAgICAgICAgIERlZmluZQotICAgSGlMaW5rIHZlcmlsb2dEaXJlY3RpdmUgICAgICAgU3BlY2lhbENvbW1lbnQKLSAgIEhpTGluayB2ZXJpbG9nRXNjYXBlCQkgU3BlY2lhbAorIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCitIaUxpbmsgdmVyaWxvZ0NoYXJhY3RlciAgICAgICBDaGFyYWN0ZXIKK0hpTGluayB2ZXJpbG9nQ29uZGl0aW9uYWwgICAgIENvbmRpdGlvbmFsCitIaUxpbmsgdmVyaWxvZ1JlcGVhdCAgICAgICAgICBSZXBlYXQKK0hpTGluayB2ZXJpbG9nU3RyaW5nICAgICAgICAgIFN0cmluZworSGlMaW5rIHZlcmlsb2dUb2RvICAgICAgICAgICAgVG9kbworSGlMaW5rIHZlcmlsb2dDb21tZW50ICAgICAgICAgQ29tbWVudAorSGlMaW5rIHZlcmlsb2dDb25zdGFudCAgICAgICAgQ29uc3RhbnQKK0hpTGluayB2ZXJpbG9nTGFiZWwgICAgICAgICAgIExhYmVsCitIaUxpbmsgdmVyaWxvZ051bWJlciAgICAgICAgICBOdW1iZXIKK0hpTGluayB2ZXJpbG9nT3BlcmF0b3IgICAgICAgIFNwZWNpYWwKK0hpTGluayB2ZXJpbG9nU3RhdGVtZW50ICAgICAgIFN0YXRlbWVudAorSGlMaW5rIHZlcmlsb2dHbG9iYWwgICAgICAgICAgRGVmaW5lCitIaUxpbmsgdmVyaWxvZ0RpcmVjdGl2ZSAgICAgICBTcGVjaWFsQ29tbWVudAorSGlMaW5rIHZlcmlsb2dFc2NhcGUJCSBTcGVjaWFsCiAKLSAgIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAidmVyaWxvZyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdmVyaWxvZ2Ftcy52aW0gYi9ydW50aW1lL3N5bnRheC92ZXJpbG9nYW1zLnZpbQppbmRleCBkMTZlNGJmLi4zZTIzNjA5IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC92ZXJpbG9nYW1zLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC92ZXJpbG9nYW1zLnZpbQpAQCAtOSwyMCArOSwxMyBAQAogIiAgICAgICAgICAgICAgTWlub3IgcmVzZXJ2ZWQga2V5d29yZCB1cGRhdGVzLgogIiBMYXN0IFVwZGF0ZTogVGh1cnNkYXkgU2VwdGVtYmVyIDE1IDE1OjM2OjAzIENTVCAyMDA1IAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICAgZmluaXNoCiBlbmRpZgogCiAiIFNldCB0aGUgbG9jYWwgdmFsdWUgb2YgdGhlICdpc2tleXdvcmQnIG9wdGlvbgotaWYgdmVyc2lvbiA+PSA2MDAKLSAgIHNldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sMTkyLTI1NQotZWxzZQotICAgc2V0IGlza2V5d29yZD1ALDQ4LTU3LF8sMTkyLTI1NQotZW5kaWYKK3NldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sMTkyLTI1NQogCiAiIEFubmV4IEIuMSAnQWxsIGtleXdvcmRzJwogc3luIGtleXdvcmQgdmVyaWxvZ2Ftc1N0YXRlbWVudCBhYm92ZSBhYnMgYWJzZGVsYXkgYWNvcyBhY29zaCBhY19zdGltCkBAIC0xMTMsMzYgKzEwNiwyOCBAQAogc3luIHN5bmMgbGluZXM9NTAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdmVyaWxvZ2Ftc19zeW5faW5pdHMiKQotICAgaWYgdmVyc2lvbiA8IDUwOAotICAgICAgbGV0IGRpZF92ZXJpbG9nYW1zX3N5bl9pbml0cyA9IDEKLSAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICBlbHNlCi0gICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAgIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0gICBIaUxpbmsgdmVyaWxvZ2Ftc0NoYXJhY3RlciAgICBDaGFyYWN0ZXIKLSAgIEhpTGluayB2ZXJpbG9nYW1zQ29uZGl0aW9uYWwgIENvbmRpdGlvbmFsCi0gICBIaUxpbmsgdmVyaWxvZ2Ftc1JlcGVhdCAgICAgICBSZXBlYXQKLSAgIEhpTGluayB2ZXJpbG9nYW1zU3RyaW5nICAgICAgIFN0cmluZwotICAgSGlMaW5rIHZlcmlsb2dhbXNUb2RvICAgICAgICAgVG9kbwotICAgSGlMaW5rIHZlcmlsb2dhbXNDb21tZW50ICAgICAgQ29tbWVudAotICAgSGlMaW5rIHZlcmlsb2dhbXNDb25zdGFudCAgICAgQ29uc3RhbnQKLSAgIEhpTGluayB2ZXJpbG9nYW1zTGFiZWwgICAgICAgIExhYmVsCi0gICBIaUxpbmsgdmVyaWxvZ2Ftc051bWJlciAgICAgICBOdW1iZXIKLSAgIEhpTGluayB2ZXJpbG9nYW1zT3BlcmF0b3IgICAgIFNwZWNpYWwKLSAgIEhpTGluayB2ZXJpbG9nYW1zU3RhdGVtZW50ICAgIFN0YXRlbWVudAotICAgSGlMaW5rIHZlcmlsb2dhbXNHbG9iYWwgICAgICAgRGVmaW5lCi0gICBIaUxpbmsgdmVyaWxvZ2Ftc0RpcmVjdGl2ZSAgICBTcGVjaWFsQ29tbWVudAotICAgSGlMaW5rIHZlcmlsb2dhbXNFc2NhcGUgICAgICAgU3BlY2lhbAotICAgSGlMaW5rIHZlcmlsb2dhbXNUeXBlICAgICAgICAgVHlwZQotICAgSGlMaW5rIHZlcmlsb2dhbXNTeXN0YXNrICAgICAgRnVuY3Rpb24KKyIgVGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorSGlMaW5rIHZlcmlsb2dhbXNDaGFyYWN0ZXIgICAgQ2hhcmFjdGVyCitIaUxpbmsgdmVyaWxvZ2Ftc0NvbmRpdGlvbmFsICBDb25kaXRpb25hbAorSGlMaW5rIHZlcmlsb2dhbXNSZXBlYXQgICAgICAgUmVwZWF0CitIaUxpbmsgdmVyaWxvZ2Ftc1N0cmluZyAgICAgICBTdHJpbmcKK0hpTGluayB2ZXJpbG9nYW1zVG9kbyAgICAgICAgIFRvZG8KK0hpTGluayB2ZXJpbG9nYW1zQ29tbWVudCAgICAgIENvbW1lbnQKK0hpTGluayB2ZXJpbG9nYW1zQ29uc3RhbnQgICAgIENvbnN0YW50CitIaUxpbmsgdmVyaWxvZ2Ftc0xhYmVsICAgICAgICBMYWJlbAorSGlMaW5rIHZlcmlsb2dhbXNOdW1iZXIgICAgICAgTnVtYmVyCitIaUxpbmsgdmVyaWxvZ2Ftc09wZXJhdG9yICAgICBTcGVjaWFsCitIaUxpbmsgdmVyaWxvZ2Ftc1N0YXRlbWVudCAgICBTdGF0ZW1lbnQKK0hpTGluayB2ZXJpbG9nYW1zR2xvYmFsICAgICAgIERlZmluZQorSGlMaW5rIHZlcmlsb2dhbXNEaXJlY3RpdmUgICAgU3BlY2lhbENvbW1lbnQKK0hpTGluayB2ZXJpbG9nYW1zRXNjYXBlICAgICAgIFNwZWNpYWwKK0hpTGluayB2ZXJpbG9nYW1zVHlwZSAgICAgICAgIFR5cGUKK0hpTGluayB2ZXJpbG9nYW1zU3lzdGFzayAgICAgIEZ1bmN0aW9uCiAKLSAgIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAidmVyaWxvZ2FtcyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdmhkbC52aW0gYi9ydW50aW1lL3N5bnRheC92aGRsLnZpbQppbmRleCAzMjUwMzgyLi40YTU0MjE2IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC92aGRsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC92aGRsLnZpbQpAQCAtNSw5ICs1LDggQEAKICIgQ3JlZGl0czoJCVN0ZXBoYW4gSGVnZWwgPHN0ZXBoYW4uaGVnZWxAc25jLnNpZW1lbnMuY29tLmNuPgogIiBMYXN0IENoYW5nZWQ6CQkyMDE2IE1hciAwNSBieSBEYW5pZWwgS2hvCiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTIzNCwzNSArMjMzLDI3IEBACiBzeW4gc3luYwltaW5saW5lcz02MDAKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdmhkbF9zeW50YXhfaW5pdHMiKQotICAgIGlmIHZlcnNpb24gPCA1MDgKLQlsZXQgZGlkX3ZoZGxfc3ludGF4X2luaXRzID0gMQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gICAgZWxzZQotCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICAgIGVuZGlmCi0gICAgCi0gICAgSGlMaW5rCXZoZGxTcGVjaWFsCVNwZWNpYWwKLSAgICBIaUxpbmsJdmhkbFN0YXRlbWVudCAgIFN0YXRlbWVudAotICAgIEhpTGluawl2aGRsQ2hhcmFjdGVyICAgQ2hhcmFjdGVyCi0gICAgSGlMaW5rCXZoZGxTdHJpbmcJU3RyaW5nCi0gICAgSGlMaW5rCXZoZGxWZWN0b3IJTnVtYmVyCi0gICAgSGlMaW5rCXZoZGxCb29sZWFuCU51bWJlcgotICAgIEhpTGluawl2aGRsVG9kbwlUb2RvCi0gICAgSGlMaW5rCXZoZGxGaXhtZQlGaXhtZQotICAgIEhpTGluawl2aGRsQ29tbWVudAlDb21tZW50Ci0gICAgSGlMaW5rCXZoZGxOdW1iZXIJTnVtYmVyCi0gICAgSGlMaW5rCXZoZGxUaW1lCU51bWJlcgotICAgIEhpTGluawl2aGRsVHlwZQlUeXBlCi0gICAgSGlMaW5rCXZoZGxPcGVyYXRvciAgICBPcGVyYXRvcgotICAgIEhpTGluawl2aGRsRXJyb3IJRXJyb3IKLSAgICBIaUxpbmsJdmhkbEF0dHJpYnV0ZSAgIFNwZWNpYWwKLSAgICBIaUxpbmsJdmhkbFByZVByb2MJUHJlUHJvYwotICAgIAotICAgIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisKK0hpTGluawl2aGRsU3BlY2lhbAlTcGVjaWFsCitIaUxpbmsJdmhkbFN0YXRlbWVudCAgIFN0YXRlbWVudAorSGlMaW5rCXZoZGxDaGFyYWN0ZXIgICBDaGFyYWN0ZXIKK0hpTGluawl2aGRsU3RyaW5nCVN0cmluZworSGlMaW5rCXZoZGxWZWN0b3IJTnVtYmVyCitIaUxpbmsJdmhkbEJvb2xlYW4JTnVtYmVyCitIaUxpbmsJdmhkbFRvZG8JVG9kbworSGlMaW5rCXZoZGxGaXhtZQlGaXhtZQorSGlMaW5rCXZoZGxDb21tZW50CUNvbW1lbnQKK0hpTGluawl2aGRsTnVtYmVyCU51bWJlcgorSGlMaW5rCXZoZGxUaW1lCU51bWJlcgorSGlMaW5rCXZoZGxUeXBlCVR5cGUKK0hpTGluawl2aGRsT3BlcmF0b3IgICAgT3BlcmF0b3IKK0hpTGluawl2aGRsRXJyb3IJRXJyb3IKK0hpTGluawl2aGRsQXR0cmlidXRlICAgU3BlY2lhbAorSGlMaW5rCXZoZGxQcmVQcm9jCVByZVByb2MKKworZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAidmhkbCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdmlyYXRhLnZpbSBiL3J1bnRpbWUvc3ludGF4L3ZpcmF0YS52aW0KaW5kZXggZTU5N2I4ZS4uMzAyM2YxMyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdmlyYXRhLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC92aXJhdGEudmltCkBAIC0xMywxMCArMTMsOCBAQAogCiAKICIgU2V0dXAgU3ludGF4OgotaWYgdmVyc2lvbiA8IDYwMAotICAiICBDbGVhciBvbGQgc3ludGF4IHNldHRpbmdzCi0gIHN5biBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogIiAgVmlyYXRhIHN5bnRheCBpcyBjYXNlIGluc2Vuc2l0aXZlIChtb3N0bHkpCkBAIC0xNTYsNjMgKzE1NCw1NSBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyICA6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdmlyYXRhX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3ZpcmF0YV9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgIiBTdWIgTGlua3M6Ci0gIEhpTGluayB2aXJhdGFEZWZTdWJzdEVycm9yCXZpcmF0YVByZVByb2NFcnJvcgotICBIaUxpbmsgdmlyYXRhRGVmU3Vic3QJCXZpcmF0YVByZVByb2MKLSAgSGlMaW5rIHZpcmF0YUluQWx0ZXIJCXZpcmF0YU9wZXJhdG9yCi0gIEhpTGluayB2aXJhdGFJbkV4ZWMJCXZpcmF0YU9wZXJhdG9yCi0gIEhpTGluayB2aXJhdGFJbkV4cG9ydAkJdmlyYXRhT3BlcmF0b3IKLSAgSGlMaW5rIHZpcmF0YUluSW1wb3J0CQl2aXJhdGFPcGVyYXRvcgotICBIaUxpbmsgdmlyYXRhSW5JbnN0YW5jZQl2aXJhdGFPcGVyYXRvcgotICBIaUxpbmsgdmlyYXRhSW5NYWtlCQl2aXJhdGFPcGVyYXRvcgotICBIaUxpbmsgdmlyYXRhSW5Nb2R1bGUJCXZpcmF0YU9wZXJhdG9yCi0gIEhpTGluayB2aXJhdGFJblByb2Nlc3MJdmlyYXRhT3BlcmF0b3IKLSAgSGlMaW5rIHZpcmF0YUluTWFjQWRkcgl2aXJhdGFIZXhOdW1iZXIKKyIgU3ViIExpbmtzOgorSGlMaW5rIHZpcmF0YURlZlN1YnN0RXJyb3IJdmlyYXRhUHJlUHJvY0Vycm9yCitIaUxpbmsgdmlyYXRhRGVmU3Vic3QJCXZpcmF0YVByZVByb2MKK0hpTGluayB2aXJhdGFJbkFsdGVyCQl2aXJhdGFPcGVyYXRvcgorSGlMaW5rIHZpcmF0YUluRXhlYwkJdmlyYXRhT3BlcmF0b3IKK0hpTGluayB2aXJhdGFJbkV4cG9ydAkJdmlyYXRhT3BlcmF0b3IKK0hpTGluayB2aXJhdGFJbkltcG9ydAkJdmlyYXRhT3BlcmF0b3IKK0hpTGluayB2aXJhdGFJbkluc3RhbmNlCXZpcmF0YU9wZXJhdG9yCitIaUxpbmsgdmlyYXRhSW5NYWtlCQl2aXJhdGFPcGVyYXRvcgorSGlMaW5rIHZpcmF0YUluTW9kdWxlCQl2aXJhdGFPcGVyYXRvcgorSGlMaW5rIHZpcmF0YUluUHJvY2Vzcwl2aXJhdGFPcGVyYXRvcgorSGlMaW5rIHZpcmF0YUluTWFjQWRkcgl2aXJhdGFIZXhOdW1iZXIKIAotICAiIENvbW1lbnQgR3JvdXA6Ci0gIEhpTGluayB2aXJhdGFDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayB2aXJhdGFTcGNsQ29tbWVudAlTcGVjaWFsQ29tbWVudAotICBIaUxpbmsgdmlyYXRhSW5Db21tZW50VG9kbwlUb2RvCisiIENvbW1lbnQgR3JvdXA6CitIaUxpbmsgdmlyYXRhQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIHZpcmF0YVNwY2xDb21tZW50CVNwZWNpYWxDb21tZW50CitIaUxpbmsgdmlyYXRhSW5Db21tZW50VG9kbwlUb2RvCiAKLSAgIiBDb25zdGFudCBHcm91cDoKLSAgSGlMaW5rIHZpcmF0YVN0cmluZwkJU3RyaW5nCi0gIEhpTGluayB2aXJhdGFTdHJpbmdFcnJvcglFcnJvcgotICBIaUxpbmsgdmlyYXRhQ2hhcmFjdGVyCUNoYXJhY3RlcgotICBIaUxpbmsgdmlyYXRhU3BjbENoYXIJCVNwZWNpYWwKLSAgSGlMaW5rIHZpcmF0YURlY051bWJlcglOdW1iZXIKLSAgSGlMaW5rIHZpcmF0YUhleE51bWJlcglOdW1iZXIKLSAgSGlMaW5rIHZpcmF0YVNpemVOdW1iZXIJTnVtYmVyCi0gIEhpTGluayB2aXJhdGFOdW1iZXJFcnJvcglFcnJvcgorIiBDb25zdGFudCBHcm91cDoKK0hpTGluayB2aXJhdGFTdHJpbmcJCVN0cmluZworSGlMaW5rIHZpcmF0YVN0cmluZ0Vycm9yCUVycm9yCitIaUxpbmsgdmlyYXRhQ2hhcmFjdGVyCUNoYXJhY3RlcgorSGlMaW5rIHZpcmF0YVNwY2xDaGFyCQlTcGVjaWFsCitIaUxpbmsgdmlyYXRhRGVjTnVtYmVyCU51bWJlcgorSGlMaW5rIHZpcmF0YUhleE51bWJlcglOdW1iZXIKK0hpTGluayB2aXJhdGFTaXplTnVtYmVyCU51bWJlcgorSGlMaW5rIHZpcmF0YU51bWJlckVycm9yCUVycm9yCiAKLSAgIiBJZGVudGlmaWVyIEdyb3VwOgotICBIaUxpbmsgdmlyYXRhSWRlbnRFcnJvcglFcnJvcgorIiBJZGVudGlmaWVyIEdyb3VwOgorSGlMaW5rIHZpcmF0YUlkZW50RXJyb3IJRXJyb3IKIAotICAiIFByZVByb2MgR3JvdXA6Ci0gIEhpTGluayB2aXJhdGFQcmVQcm9jCQlQcmVQcm9jCi0gIEhpTGluayB2aXJhdGFEZWZpbmUJCURlZmluZQotICBIaUxpbmsgdmlyYXRhSW5jbHVkZQkJSW5jbHVkZQotICBIaUxpbmsgdmlyYXRhUHJlQ29uZGl0CVByZUNvbmRpdAotICBIaUxpbmsgdmlyYXRhUHJlUHJvY0Vycm9yCUVycm9yCi0gIEhpTGluayB2aXJhdGFQcmVQcm9jV2FybglUb2RvCisiIFByZVByb2MgR3JvdXA6CitIaUxpbmsgdmlyYXRhUHJlUHJvYwkJUHJlUHJvYworSGlMaW5rIHZpcmF0YURlZmluZQkJRGVmaW5lCitIaUxpbmsgdmlyYXRhSW5jbHVkZQkJSW5jbHVkZQorSGlMaW5rIHZpcmF0YVByZUNvbmRpdAlQcmVDb25kaXQKK0hpTGluayB2aXJhdGFQcmVQcm9jRXJyb3IJRXJyb3IKK0hpTGluayB2aXJhdGFQcmVQcm9jV2FybglUb2RvCiAKLSAgIiBEaXJlY3RpdmUgR3JvdXA6Ci0gIEhpTGluayB2aXJhdGFTdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluayB2aXJhdGFDZmdTdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluayB2aXJhdGFPcGVyYXRvcgkJT3BlcmF0b3IKLSAgSGlMaW5rIHZpcmF0YURpcmVjdGl2ZQlLZXl3b3JkCisiIERpcmVjdGl2ZSBHcm91cDoKK0hpTGluayB2aXJhdGFTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgdmlyYXRhQ2ZnU3RhdGVtZW50CVN0YXRlbWVudAorSGlMaW5rIHZpcmF0YU9wZXJhdG9yCQlPcGVyYXRvcgorSGlMaW5rIHZpcmF0YURpcmVjdGl2ZQlLZXl3b3JkCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ2aXJhdGEiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3ZtYXNtLnZpbSBiL3J1bnRpbWUvc3ludGF4L3ZtYXNtLnZpbQppbmRleCA4NWQwNDQxLi5hNGI3MTIyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC92bWFzbS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvdm1hc20udmltCkBAIC02LDExICs2LDggQEAKICIgVGhpcyBpcyBpbmNvbXBsZXRlLiBGZWVsIGZyZWUgdG8gY29udHJpYnV0ZS4uLgogIgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTk2LDU1ICsxOTMsNDcgQEAKIHN5biBjYXNlIG1hdGNoCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21hY3JvX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX21hY3JvX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICAiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCi0gICIgQ29tbWVudCBDb25zdGFudCBFcnJvciBJZGVudGlmaWVyIFByZVByb2MgU3BlY2lhbCBTdGF0ZW1lbnQgVG9kbyBUeXBlCi0gICIKLSAgIiBDb25zdGFudAkJQm9vbGVhbiBDaGFyYWN0ZXIgTnVtYmVyIFN0cmluZwotICAiIElkZW50aWZpZXIJCUZ1bmN0aW9uCi0gICIgUHJlUHJvYwkJRGVmaW5lIEluY2x1ZGUgTWFjcm8gUHJlQ29uZGl0Ci0gICIgU3BlY2lhbAkJRGVidWcgRGVsaW1pdGVyIFNwZWNpYWxDaGFyIFNwZWNpYWxDb21tZW50IFRhZwotICAiIFN0YXRlbWVudAkJQ29uZGl0aW9uYWwgRXhjZXB0aW9uIEtleXdvcmQgTGFiZWwgT3BlcmF0b3IgUmVwZWF0Ci0gICIgVHlwZQkJU3RvcmFnZUNsYXNzIFN0cnVjdHVyZSBUeXBlZGVmCisiIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gIENhbiBiZSBvdmVycmlkZGVuIGxhdGVyCisiIENvbW1lbnQgQ29uc3RhbnQgRXJyb3IgSWRlbnRpZmllciBQcmVQcm9jIFNwZWNpYWwgU3RhdGVtZW50IFRvZG8gVHlwZQorIgorIiBDb25zdGFudAkJQm9vbGVhbiBDaGFyYWN0ZXIgTnVtYmVyIFN0cmluZworIiBJZGVudGlmaWVyCQlGdW5jdGlvbgorIiBQcmVQcm9jCQlEZWZpbmUgSW5jbHVkZSBNYWNybyBQcmVDb25kaXQKKyIgU3BlY2lhbAkJRGVidWcgRGVsaW1pdGVyIFNwZWNpYWxDaGFyIFNwZWNpYWxDb21tZW50IFRhZworIiBTdGF0ZW1lbnQJCUNvbmRpdGlvbmFsIEV4Y2VwdGlvbiBLZXl3b3JkIExhYmVsIE9wZXJhdG9yIFJlcGVhdAorIiBUeXBlCQlTdG9yYWdlQ2xhc3MgU3RydWN0dXJlIFR5cGVkZWYKIAotICBIaUxpbmsgdm1hc21Db21tZW50CQlDb21tZW50Ci0gIEhpTGluayB2bWFzbVRvZG8JCVRvZG8KK0hpTGluayB2bWFzbUNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayB2bWFzbVRvZG8JCVRvZG8KIAotICBIaUxpbmsgdm1hc21oZXhOdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAotICBIaUxpbmsgdm1hc21vY3ROdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAotICBIaUxpbmsgdm1hc21iaW5OdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAotICBIaUxpbmsgdm1hc21kZWNOdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAotICBIaUxpbmsgdm1hc21mbG9hdE51bWJlcglOdW1iZXIJCSIgQ29uc3RhbnQKK0hpTGluayB2bWFzbWhleE51bWJlcgkJTnVtYmVyCQkiIENvbnN0YW50CitIaUxpbmsgdm1hc21vY3ROdW1iZXIJCU51bWJlcgkJIiBDb25zdGFudAorSGlMaW5rIHZtYXNtYmluTnVtYmVyCQlOdW1iZXIJCSIgQ29uc3RhbnQKK0hpTGluayB2bWFzbWRlY051bWJlcgkJTnVtYmVyCQkiIENvbnN0YW50CitIaUxpbmsgdm1hc21mbG9hdE51bWJlcglOdW1iZXIJCSIgQ29uc3RhbnQKIAogIiAgSGlMaW5rIHZtYXNtU3RyaW5nCQlTdHJpbmcJCSIgQ29uc3RhbnQKIAotICBIaUxpbmsgdm1hc21SZWcJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHZtYXNtT3BlcmF0b3IJCUlkZW50aWZpZXIKK0hpTGluayB2bWFzbVJlZwkJSWRlbnRpZmllcgorSGlMaW5rIHZtYXNtT3BlcmF0b3IJCUlkZW50aWZpZXIKIAotICBIaUxpbmsgdm1hc21JbmNsdWRlCQlJbmNsdWRlCQkiIFByZVByb2MKLSAgSGlMaW5rIHZtYXNtTWFjcm8JCU1hY3JvCQkiIFByZVByb2MKLSAgIiBIaUxpbmsgdm1hc21NYWNyb1BhcmFtCUtleXdvcmQJCSIgU3RhdGVtZW50CitIaUxpbmsgdm1hc21JbmNsdWRlCQlJbmNsdWRlCQkiIFByZVByb2MKK0hpTGluayB2bWFzbU1hY3JvCQlNYWNybwkJIiBQcmVQcm9jCisiIEhpTGluayB2bWFzbU1hY3JvUGFyYW0JS2V5d29yZAkJIiBTdGF0ZW1lbnQKIAotICBIaUxpbmsgdm1hc21EaXJlY3RpdmUJCVNwZWNpYWwKLSAgSGlMaW5rIHZtYXNtUHJlQ29uZAkJU3BlY2lhbAorSGlMaW5rIHZtYXNtRGlyZWN0aXZlCQlTcGVjaWFsCitIaUxpbmsgdm1hc21QcmVDb25kCQlTcGVjaWFsCiAKIAotICBIaUxpbmsgdm1hc21PcGNvZGUJCVN0YXRlbWVudAotICBIaUxpbmsgdm1hc21Db25kCQlDb25kaXRpb25hbAkiIFN0YXRlbWVudAotICBIaUxpbmsgdm1hc21SZXBlYXQJCVJlcGVhdAkJIiBTdGF0ZW1lbnQKK0hpTGluayB2bWFzbU9wY29kZQkJU3RhdGVtZW50CitIaUxpbmsgdm1hc21Db25kCQlDb25kaXRpb25hbAkiIFN0YXRlbWVudAorSGlMaW5rIHZtYXNtUmVwZWF0CQlSZXBlYXQJCSIgU3RhdGVtZW50CiAKLSAgSGlMaW5rIHZtYXNtTGFiZWwJCVR5cGUKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitIaUxpbmsgdm1hc21MYWJlbAkJVHlwZQorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAidm1hc20iCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3ZybWwudmltIGIvcnVudGltZS9zeW50YXgvdnJtbC52aW0KaW5kZXggNDQ4MTRhYS4uNTMwYmVjYiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdnJtbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvdnJtbC52aW0KQEAgLTUsMTEgKzUsOCBAQAogIiBGb3JtZXIgTWFpbnRhaW5lcjogICAgR3JlZ29yeSBTZWlkbWFuIDxnc3NsaXN0K3ZpbUBhbnRocm9wb2hlZHJvbi5uZXQ+CiAiIExhc3QgY2hhbmdlOgkgICAyMDA2IE1heSAwMwogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTY4LDExICsxNjUsOSBAQAogCiBzeW4ga2V5d29yZCBWUk1MUm91dGVzCSAgICAgICBjb250YWluZWQgUk9VVEUgVE8KIAotaWYgdmVyc2lvbiA+PSA1MDIKICJjb250YWlubWVudCEKLSAgc3luIGluY2x1ZGUgQGpzY3JpcHQgJFZJTVJVTlRJTUUvc3ludGF4L2phdmFzY3JpcHQudmltCi0gIHN5biByZWdpb24gVlJNTGpTY3JpcHRTdHJpbmcgY29udGFpbmVkIHN0YXJ0PSsiXChcKGphdmFzY3JpcHRcKVx8XCh2cm1sc2NyaXB0XClcfFwoZWNtYXNjcmlwdFwpXCk6K21zPWUrMSBza2lwPStcXFxcXHxcXCIrIGVuZD0rIittZT1lLTEgY29udGFpbnM9QGpzY3JpcHQKLWVuZGlmCitzeW4gaW5jbHVkZSBAanNjcmlwdCAkVklNUlVOVElNRS9zeW50YXgvamF2YXNjcmlwdC52aW0KK3N5biByZWdpb24gVlJNTGpTY3JpcHRTdHJpbmcgY29udGFpbmVkIHN0YXJ0PSsiXChcKGphdmFzY3JpcHRcKVx8XCh2cm1sc2NyaXB0XClcfFwoZWNtYXNjcmlwdFwpXCk6K21zPWUrMSBza2lwPStcXFxcXHxcXCIrIGVuZD0rIittZT1lLTEgY29udGFpbnM9QGpzY3JpcHQKIAogIiBtYXRjaCBkZWZpbml0aW9ucy4KIHN5biBtYXRjaCAgIFZSTUxTcGVjaWFsCQkgIGNvbnRhaW5lZCAiXFxbMC05XVswLTldWzAtOV1cfFxcLiIKQEAgLTE5Miw0NyArMTg3LDM3IEBACiBzeW4ga2V5d29yZCBWUk1MSW5zdGFuY2VzICAgICAgY29udGFpbmVkIERFRiBVU0UKIHN5biBzeW5jIG1pbmxpbmVzPTEKIAotaWYgdmVyc2lvbiA+PSA2MDAKICJGT0xEUyEKLSAgc3luIHN5bmMgZnJvbXN0YXJ0Ci0gICJzZXRsb2NhbCBmb2xkbWV0aG9kPXN5bnRheAotICBzeW4gcmVnaW9uIGJyYWNlRm9sZCBzdGFydD0ieyIgZW5kPSJ9IiB0cmFuc3BhcmVudCBmb2xkIGNvbnRhaW5zPVRPUAotICBzeW4gcmVnaW9uIGJyYWNrZXRGb2xkIHN0YXJ0PSJcWyIgZW5kPSJdIiB0cmFuc3BhcmVudCBmb2xkIGNvbnRhaW5zPVRPUAotICBzeW4gcmVnaW9uIFZSTUxTdHJpbmcgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBmb2xkIGNvbnRhaW5zPVZSTUxTcGVjaWFsLFZSTUxqU2NyaXB0U3RyaW5nCi1lbmRpZgorc3luIHN5bmMgZnJvbXN0YXJ0Cisic2V0bG9jYWwgZm9sZG1ldGhvZD1zeW50YXgKK3N5biByZWdpb24gYnJhY2VGb2xkIHN0YXJ0PSJ7IiBlbmQ9In0iIHRyYW5zcGFyZW50IGZvbGQgY29udGFpbnM9VE9QCitzeW4gcmVnaW9uIGJyYWNrZXRGb2xkIHN0YXJ0PSJcWyIgZW5kPSJdIiB0cmFuc3BhcmVudCBmb2xkIGNvbnRhaW5zPVRPUAorc3luIHJlZ2lvbiBWUk1MU3RyaW5nIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgZm9sZCBjb250YWlucz1WUk1MU3BlY2lhbCxWUk1MalNjcmlwdFN0cmluZwogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9WUk1MX3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX1ZSTUxfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayBWUk1MQ2hhcmFjdGVyICBWUk1MU3RyaW5nCi0gIEhpTGluayBWUk1MU3BlY2lhbENoYXJhY3RlciBWUk1MU3BlY2lhbAotICBIaUxpbmsgVlJNTE51bWJlciAgICAgVlJNTFN0cmluZwotICBIaUxpbmsgVlJNTFZhbHVlcyAgICAgVlJNTFN0cmluZwotICBIaUxpbmsgVlJNTFN0cmluZyAgICAgU3RyaW5nCi0gIEhpTGluayBWUk1MU3BlY2lhbCAgICBTcGVjaWFsCi0gIEhpTGluayBWUk1MQ29tbWVudCAgICBDb21tZW50Ci0gIEhpTGluayBWUk1MTm9kZXMgICAgICBTdGF0ZW1lbnQKLSAgSGlMaW5rIFZSTUxGaWVsZHMgICAgIFR5cGUKLSAgSGlMaW5rIFZSTUxFdmVudHMgICAgIFR5cGUKLSAgSGlMaW5rIFZSTUxmVHlwZXMgICAgIExpbmVOcgorSGlMaW5rIFZSTUxDaGFyYWN0ZXIgIFZSTUxTdHJpbmcKK0hpTGluayBWUk1MU3BlY2lhbENoYXJhY3RlciBWUk1MU3BlY2lhbAorSGlMaW5rIFZSTUxOdW1iZXIgICAgIFZSTUxTdHJpbmcKK0hpTGluayBWUk1MVmFsdWVzICAgICBWUk1MU3RyaW5nCitIaUxpbmsgVlJNTFN0cmluZyAgICAgU3RyaW5nCitIaUxpbmsgVlJNTFNwZWNpYWwgICAgU3BlY2lhbAorSGlMaW5rIFZSTUxDb21tZW50ICAgIENvbW1lbnQKK0hpTGluayBWUk1MTm9kZXMgICAgICBTdGF0ZW1lbnQKK0hpTGluayBWUk1MRmllbGRzICAgICBUeXBlCitIaUxpbmsgVlJNTEV2ZW50cyAgICAgVHlwZQorSGlMaW5rIFZSTUxmVHlwZXMgICAgIExpbmVOcgogIiAgaGkgICAgIFZSTUxmVHlwZXMgICAgIGN0ZXJtZmc9NiBndWlmZz1Ccm93bgotICBIaUxpbmsgVlJNTEluc3RhbmNlcyAgUHJlQ29uZGl0Ci0gIEhpTGluayBWUk1MUm91dGVzICAgICBQcmVDb25kaXQKLSAgSGlMaW5rIFZSTUxQcm90b3MgICAgIFByZVByb2MKLSAgSGlMaW5rIFZSTUxSb3V0ZU5vZGUgIElkZW50aWZpZXIKLSAgSGlMaW5rIFZSTUxJbnN0TmFtZSAgIElkZW50aWZpZXIKLSAgSGlMaW5rIFZSTUxUeXBlcyAgICAgIElkZW50aWZpZXIKK0hpTGluayBWUk1MSW5zdGFuY2VzICBQcmVDb25kaXQKK0hpTGluayBWUk1MUm91dGVzICAgICBQcmVDb25kaXQKK0hpTGluayBWUk1MUHJvdG9zICAgICBQcmVQcm9jCitIaUxpbmsgVlJNTFJvdXRlTm9kZSAgSWRlbnRpZmllcgorSGlMaW5rIFZSTUxJbnN0TmFtZSAgIElkZW50aWZpZXIKK0hpTGluayBWUk1MVHlwZXMgICAgICBJZGVudGlmaWVyCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ2cm1sIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC92cm9vbS52aW0gYi9ydW50aW1lL3N5bnRheC92cm9vbS52aW0KaW5kZXggMGNkNmNjYy4uMDUwOWUzMCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdnJvb20udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Zyb29tLnZpbQpAQCAtMywxMSArMyw4IEBACiAiIE1haW50YWluZXI6CURhdmlkIEJhcm5ldHQgKGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvdmltLWZ0LXZyb29tKQogIiBMYXN0IENoYW5nZToJMjAxNCBKdWwgMjMKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMuCi0iIEZvciB2ZXJzaW9uIDYueCBhbmQgbGF0ZXI6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZC4KLWlmIHY6dmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoJ2I6Y3VycmVudF9zeW50YXgnKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygnYjpjdXJyZW50X3N5bnRheCcpCiAgIGZpbmlzaAogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdnNlamNsLnZpbSBiL3J1bnRpbWUvc3ludGF4L3ZzZWpjbC52aW0KaW5kZXggZjRmMDBjNi4uNWExMDZjMiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvdnNlamNsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC92c2VqY2wudmltCkBAIC00LDExICs0LDggQEAKICIgVVJMOgogIiBMYXN0IGNoYW5nZTogMjAwMSBNYXkgMTAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTIzLDI2ICsyMCwxOCBAQAogc3luIG1hdGNoIHZzZWpjbFBhcm1zIC8oLlx7LX0pLyBjb250YWluZWQKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdnNlamNsX3N5bnRheCIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3ZzZWpjbF9zeW50YXggPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHZzZWpjbENvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIHZzZWpjbEZpZWxkCQlUeXBlCi0gIEhpTGluayB2c2VqY2xLZXl3b3JkCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIHZzZWpjbE9iamVjdAkJQ29uc3RhbnQKLSAgSGlMaW5rIHZzZWpjbFN0cmluZwkJQ29uc3RhbnQKLSAgSGlMaW5rIHZzZWpjbE1pc2MJCQlTcGVjaWFsCi0gIEhpTGluayB2c2VqY2xQYXJtcwkJQ29uc3RhbnQKK0hpTGluayB2c2VqY2xDb21tZW50CQlDb21tZW50CitIaUxpbmsgdnNlamNsRmllbGQJCVR5cGUKK0hpTGluayB2c2VqY2xLZXl3b3JkCQlTdGF0ZW1lbnQKK0hpTGluayB2c2VqY2xPYmplY3QJCUNvbnN0YW50CitIaUxpbmsgdnNlamNsU3RyaW5nCQlDb25zdGFudAorSGlMaW5rIHZzZWpjbE1pc2MJCQlTcGVjaWFsCitIaUxpbmsgdnNlamNsUGFybXMJCUNvbnN0YW50CiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ2c2VqY2wiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3dkaWZmLnZpbSBiL3J1bnRpbWUvc3ludGF4L3dkaWZmLnZpbQppbmRleCA5Y2QwNjExLi5iZGM3YmU3IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC93ZGlmZi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvd2RpZmYudmltCkBAIC05LDExICs5LDggQEAKICIgU1BBTSBpcyBfTk9UXyB3ZWxjb21lIC0gYmUgcmVhZHkgdG8gYmUgcmVwb3J0ZWQhCiAKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3luIGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTIzLDIxICsyMCwxMiBAQAogCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3dkaWZmX3N5bl9pbml0cyIpCi0gIGxldCBkaWRfd2RpZmZfc3luX2luaXRzID0gMQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF93ZGlmZl9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHdkaWZmT2xkICAgICAgIFNwZWNpYWwKLSAgSGlMaW5rIHdkaWZmTmV3ICAgICAgIElkZW50aWZpZXIKK0hpTGluayB3ZGlmZk9sZCAgICAgICBTcGVjaWFsCitIaUxpbmsgd2RpZmZOZXcgICAgICAgSWRlbnRpZmllcgogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAid2RpZmYiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC93ZWIudmltIGIvcnVudGltZS9zeW50YXgvd2ViLnZpbQppbmRleCBmN2E3ZmRmLi41NGVlYmRhIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC93ZWIudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3dlYi52aW0KQEAgLTgsMTEgKzgsOCBAQAogIiB0aGUgc3RhbmRhcmQgV0VCIGRpc3RyaWJ1dGlvbiwgYXZhaWxhYmxlIGZvciBhbm9ueW1vdXMgZnRwIGF0CiAiIGZ0cDovL2xhYnJlYS5zdGFuZm9yZC5lZHUvcHViL3RleC93ZWIvLgogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMjAsMTIgKzE3LDggQEAKICIgd2UgYmFzZSB0aGlzIHN5bnRheCBmaWxlIG9uIHRoZSBtb2Rlcm4gc3VwZXJzZXQsIENXRUIuICBOb3RlOiBUaGlzIHNob3J0Y3V0CiAiIG1heSBpbnRyb2R1Y2Ugc29tZSBpbGxlZ2FsIGNvbnN0cnVjdHMsIGUuZy4sIENXRUIncyAiQGMiIGRvZXMgX25vdF8gc3RhcnQgYQogIiBjb2RlIHNlY3Rpb24gaW4gV0VCLiAgQW55d2F5LCBJJ20gbm90IGEgV0VCIHByb2dyYW1tZXIuCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHNvdXJjZSA8c2ZpbGU+OnA6aC9jd2ViLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvY3dlYi52aW0KLSAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9jd2ViLnZpbQordW5sZXQgYjpjdXJyZW50X3N5bnRheAogCiAiIFJlcGxhY2UgQy9DKysgc3ludGF4IGJ5IFBhc2NhbCBzeW50YXguCiBzeW50YXggaW5jbHVkZSBAd2ViSW5jbHVkZWRDIDxzZmlsZT46cDpoL3Bhc2NhbC52aW0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3dlYm1hY3JvLnZpbSBiL3J1bnRpbWUvc3ludGF4L3dlYm1hY3JvLnZpbQppbmRleCAzYjg2M2Y3Li4yYzMyZjUzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC93ZWJtYWNyby52aW0KKysrIGIvcnVudGltZS9zeW50YXgvd2VibWFjcm8udmltCkBAIC0xMSwyMSArMTEsMTYgQEAKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCiBpZiAhZXhpc3RzKCJtYWluX3N5bnRheCIpCi0gIGlmIHZlcnNpb24gPCA2MDAKLSAgICBzeW50YXggY2xlYXIKLSAgZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgICIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCisgIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgICAgZmluaXNoCiAgIGVuZGlmCiAgIGxldCBtYWluX3N5bnRheCA9ICd3ZWJtYWNybycKIGVuZGlmCiAKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzb3VyY2UgPHNmaWxlPjpwOmgvaHRtbC52aW0KLWVsc2UKLSAgcnVudGltZSEgc3ludGF4L2h0bWwudmltCi0gIHVubGV0IGI6Y3VycmVudF9zeW50YXgKLWVuZGlmCitydW50aW1lISBzeW50YXgvaHRtbC52aW0KK3VubGV0IGI6Y3VycmVudF9zeW50YXgKIAogc3luIGNsdXN0ZXIgaHRtbFByZVByb2MgYWRkPXdlYm1hY3JvSWYsd2VibWFjcm9Vc2Usd2VibWFjcm9CcmFjZXMsd2VibWFjcm9QYXJzZSx3ZWJtYWNyb0luY2x1ZGUsd2VibWFjcm9TZXQsd2VibWFjcm9Gb3JlYWNoLHdlYm1hY3JvQ29tbWVudAogCkBAIC00OSwzMSArNDQsMjMgQEAKIHN5biBtYXRjaCB3ZWJtYWNyb0hhc2ggIlsje31cJF0iIGNvbnRhaW5lZAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF93ZWJtYWNyb19zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF93ZWJtYWNyb19zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHdlYm1hY3JvQ29tbWVudCBDb21tZW50VGl0bGUKLSAgSGlMaW5rIHdlYm1hY3JvVmFyaWFibGUgUHJlUHJvYwotICBIaUxpbmsgd2VibWFjcm9JZiB3ZWJtYWNyb1N0YXRlbWVudAotICBIaUxpbmsgd2VibWFjcm9Gb3JlYWNoIHdlYm1hY3JvU3RhdGVtZW50Ci0gIEhpTGluayB3ZWJtYWNyb1NldCB3ZWJtYWNyb1N0YXRlbWVudAotICBIaUxpbmsgd2VibWFjcm9JbmNsdWRlIHdlYm1hY3JvU3RhdGVtZW50Ci0gIEhpTGluayB3ZWJtYWNyb1BhcnNlIHdlYm1hY3JvU3RhdGVtZW50Ci0gIEhpTGluayB3ZWJtYWNyb1N0YXRlbWVudCBGdW5jdGlvbgotICBIaUxpbmsgd2VibWFjcm9OdW1iZXIgTnVtYmVyCi0gIEhpTGluayB3ZWJtYWNyb0Jvb2xlYW4gQm9vbGVhbgotICBIaUxpbmsgd2VibWFjcm9TcGVjaWFsIFNwZWNpYWwKLSAgSGlMaW5rIHdlYm1hY3JvU3RyaW5nIFN0cmluZwotICBIaUxpbmsgd2VibWFjcm9CcmFjZXNFcnJvciBFcnJvcgotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK0hpTGluayB3ZWJtYWNyb0NvbW1lbnQgQ29tbWVudFRpdGxlCitIaUxpbmsgd2VibWFjcm9WYXJpYWJsZSBQcmVQcm9jCitIaUxpbmsgd2VibWFjcm9JZiB3ZWJtYWNyb1N0YXRlbWVudAorSGlMaW5rIHdlYm1hY3JvRm9yZWFjaCB3ZWJtYWNyb1N0YXRlbWVudAorSGlMaW5rIHdlYm1hY3JvU2V0IHdlYm1hY3JvU3RhdGVtZW50CitIaUxpbmsgd2VibWFjcm9JbmNsdWRlIHdlYm1hY3JvU3RhdGVtZW50CitIaUxpbmsgd2VibWFjcm9QYXJzZSB3ZWJtYWNyb1N0YXRlbWVudAorSGlMaW5rIHdlYm1hY3JvU3RhdGVtZW50IEZ1bmN0aW9uCitIaUxpbmsgd2VibWFjcm9OdW1iZXIgTnVtYmVyCitIaUxpbmsgd2VibWFjcm9Cb29sZWFuIEJvb2xlYW4KK0hpTGluayB3ZWJtYWNyb1NwZWNpYWwgU3BlY2lhbAorSGlMaW5rIHdlYm1hY3JvU3RyaW5nIFN0cmluZworSGlMaW5rIHdlYm1hY3JvQnJhY2VzRXJyb3IgRXJyb3IKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIndlYm1hY3JvIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC93aW5iYXRjaC52aW0gYi9ydW50aW1lL3N5bnRheC93aW5iYXRjaC52aW0KaW5kZXggYWVhMmNkZS4uZTc4N2E1ZCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvd2luYmF0Y2gudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3dpbmJhdGNoLnZpbQpAQCAtNCwxMSArNCw4IEBACiAiIFVSTDoJCWh0dHA6Ly93d3cubWdnZW4uY29tL3ZpbS9zeW50YXgvd2luYmF0Y2guemlwCiAiIExhc3QgY2hhbmdlOgkyMDAxIE1heSAxMAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTU4LDI5ICsxNTUsMjEgQEAKIHN5biBrZXl3b3JkIHdpbmJhdGNoSW1wbGljaXQgeHNlbmRtZXNzYWdlIHh2ZXJpZnljY2FyZCB5aWVsZAogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF93aW5iYXRjaF9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF93aW5iYXRjaF9zeW50YXhfaW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAKLSAgSGlMaW5rIHdpbmJhdGNoTGFiZWwJCVByZVByb2MKLSAgSGlMaW5rIHdpbmJhdGNoQ3RsCQlPcGVyYXRvcgotICBIaUxpbmsgd2luYmF0Y2hTdGF0ZW1lbnQJU3RhdGVtZW50Ci0gIEhpTGluayB3aW5iYXRjaFRvZG8JCVRvZG8KLSAgSGlMaW5rIHdpbmJhdGNoU3RyaW5nCQlTdHJpbmcKLSAgSGlMaW5rIHdpbmJhdGNoVmFyCQlUeXBlCi0gIEhpTGluayB3aW5iYXRjaENvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgd2luYmF0Y2hJbXBsaWNpdAlTcGVjaWFsCi0gIEhpTGluayB3aW5iYXRjaE51bWJlcgkJTnVtYmVyCi0gIEhpTGluayB3aW5iYXRjaENvbnN0YW50CVN0b3JhZ2VDbGFzcworSGlMaW5rIHdpbmJhdGNoTGFiZWwJCVByZVByb2MKK0hpTGluayB3aW5iYXRjaEN0bAkJT3BlcmF0b3IKK0hpTGluayB3aW5iYXRjaFN0YXRlbWVudAlTdGF0ZW1lbnQKK0hpTGluayB3aW5iYXRjaFRvZG8JCVRvZG8KK0hpTGluayB3aW5iYXRjaFN0cmluZwkJU3RyaW5nCitIaUxpbmsgd2luYmF0Y2hWYXIJCVR5cGUKK0hpTGluayB3aW5iYXRjaENvbW1lbnQJQ29tbWVudAorSGlMaW5rIHdpbmJhdGNoSW1wbGljaXQJU3BlY2lhbAorSGlMaW5rIHdpbmJhdGNoTnVtYmVyCQlOdW1iZXIKK0hpTGluayB3aW5iYXRjaENvbnN0YW50CVN0b3JhZ2VDbGFzcwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAid2luYmF0Y2giCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3dtbC52aW0gYi9ydW50aW1lL3N5bnRheC93bWwudmltCmluZGV4IDU5NTc5MzAuLmI5MTY5ZDAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3dtbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvd21sLnZpbQpAQCAtMTYsMjEgKzE2LDE0IEBACiAiICB2aW0tcGFja2FnZSBhcm91bmQgeW91ciBjb3JuZXIgOikKIAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW4gY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAogCiAiIEEgbG90IG9mIHRoZSB3ZWIgc3R1ZmYgbG9va3MgbGlrZSBIVE1MIHNvIHdlIGxvYWQgdGhhdCBmaXJzdAotaWYgdmVyc2lvbiA8IDYwMAotICBzbyA8c2ZpbGU+OnA6aC9odG1sLnZpbQotZWxzZQotICBydW50aW1lISBzeW50YXgvaHRtbC52aW0KLWVuZGlmCitydW50aW1lISBzeW50YXgvaHRtbC52aW0KIHVubGV0IGI6Y3VycmVudF9zeW50YXgKIAogaWYgIWV4aXN0cygibWFpbl9zeW50YXgiKQpAQCAtMTA4LDExICsxMDEsNyBAQAogIiBUaGUgcGVybCBpbmNsdWRlIHN0dWZmCiBpZiBtYWluX3N5bnRheCAhPSAncGVybCcKICAgIiBQZXJsIHNjcmlwdAotICBpZiB2ZXJzaW9uIDwgNjAwCi0gICAgc3luIGluY2x1ZGUgQHdtbFBlcmxTY3JpcHQgPHNmaWxlPjpwOmgvcGVybC52aW0KLSAgZWxzZQotICAgIHN5biBpbmNsdWRlIEB3bWxQZXJsU2NyaXB0IHN5bnRheC9wZXJsLnZpbQotICBlbmRpZgorICBzeW4gaW5jbHVkZSBAd21sUGVybFNjcmlwdCBzeW50YXgvcGVybC52aW0KICAgdW5sZXQgYjpjdXJyZW50X3N5bnRheAogCiAgIHN5biByZWdpb24gcGVybFNjcmlwdCAgIHN0YXJ0PSs8cGVybD4rIGtlZXBlbmQgZW5kPSs8L3Blcmw+KyBjb250YWlucz1Ad21sUGVybFNjcmlwdCx3bWxQZXJsVGFnCkBAIC0xNDAsMzMgKzEyOSwyNCBAQAogZW5kaWYKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfd21sX3N5bl9pbml0cyIpCi0gIGxldCBkaWRfd21sX3N5bl9pbml0cyA9IDEKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfd21sX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotICBIaUxpbmsgd21sTmV4dExpbmUJU3BlY2lhbAotICBIaUxpbmsgd21sVXNlCQlJbmNsdWRlCi0gIEhpTGluayB3bWxVc2VkCVN0cmluZwotICBIaUxpbmsgd21sQm9keQlTcGVjaWFsCi0gIEhpTGluayB3bWxEaXZlcnRlZAlMYWJlbAotICBIaUxpbmsgd21sRGl2ZXJ0CURlbGltaXRlcgotICBIaUxpbmsgd21sRGl2ZXJ0RW5kCURlbGltaXRlcgotICBIaUxpbmsgd21sTG9jYXRpb25JZAlMYWJlbAotICBIaUxpbmsgd21sTG9jYXRpb24JRGVsaW1pdGVyCitIaUxpbmsgd21sTmV4dExpbmUJU3BlY2lhbAorSGlMaW5rIHdtbFVzZQkJSW5jbHVkZQorSGlMaW5rIHdtbFVzZWQJU3RyaW5nCitIaUxpbmsgd21sQm9keQlTcGVjaWFsCitIaUxpbmsgd21sRGl2ZXJ0ZWQJTGFiZWwKK0hpTGluayB3bWxEaXZlcnQJRGVsaW1pdGVyCitIaUxpbmsgd21sRGl2ZXJ0RW5kCURlbGltaXRlcgorSGlMaW5rIHdtbExvY2F0aW9uSWQJTGFiZWwKK0hpTGluayB3bWxMb2NhdGlvbglEZWxpbWl0ZXIKICIgSGlMaW5rIHdtbExvY2F0aW9uZWQJRGVsaW1pdGVyCi0gIEhpTGluayB3bWxEZWZpbmVOYW1lCVN0cmluZwotICBIaUxpbmsgd21sQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayB3bWxJbmNsdWRlCUluY2x1ZGUKLSAgSGlMaW5rIHdtbFNoYXJwQmFuZwlQcmVQcm9jCitIaUxpbmsgd21sRGVmaW5lTmFtZQlTdHJpbmcKK0hpTGluayB3bWxDb21tZW50CUNvbW1lbnQKK0hpTGluayB3bWxJbmNsdWRlCUluY2x1ZGUKK0hpTGluayB3bWxTaGFycEJhbmcJUHJlUHJvYwogCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgorZGVsY29tbWFuZCBIaUxpbmsKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAid21sIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvd3NtbC52aW0gYi9ydW50aW1lL3N5bnRheC93c21sLnZpbQppbmRleCAyYTkyYTBkLi5mMmZiYmYyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC93c21sLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC93c21sLnZpbQpAQCAtNCwxMCArNCw4IEBACiAiIFVSTDoJCW5vbmUKICIgTGFzdCBDaGFuZ2U6ICAyMDA2IEFwciAzMAogCi0iIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtNzgsNDUgKzc2LDM3IEBACiBzeW4gY2x1c3RlciB3c21sVG9wIGFkZD13c21sU3RyaW5nLHdzbWxDaGFyYWN0ZXIsd3NtbE51bWJlcix3c21sU3BlY2lhbCx3c21sU3RyaW5nRXJyb3IKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiAiIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotIGlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF93c21sX3N5bl9pbml0cyIpCi0gICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgICAgbGV0IGRpZF93c21sX3N5bl9pbml0cyA9IDEKLSAgICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgZWxzZQotICAgICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICAgZW5kaWYgICAgICAgICAgICAgIAotICAgSGlMaW5rIHdzbWxIZWFkZXIJCQlUeXBlRGVmCi0gICBIaUxpbmsgd3NtbE5hbWVzcGFjZQkJCVR5cGVEZWYKLSAgIEhpTGluayB3c21sT250b2xvZ3kJCQlTdGF0ZW1lbnQKLSAgIEhpTGluayB3c21sQXhpb20JCQlUeXBlRGVmCi0gICBIaUxpbmsgd3NtbFNlcnZpY2UJCQlUeXBlRGVmCi0gICBIaUxpbmsgd3NtbE5GUAkJCVR5cGVEZWYKLSAgIEhpTGluayB3c21sVG9wTGV2ZWwJCQlUeXBlRGVmCi0gICBIaUxpbmsgd3NtbE1lZGlhdGlvbgkJCVR5cGVEZWYgCi0gICBIaUxpbmsgd3NtbEJlaGF2aW9yYWwJCVR5cGVEZWYKLSAgIEhpTGluayB3c21sQ2hvcmVvZ3JhcGh5UHJpCQlUeXBlRGVmCi0gICBIaUxpbmsgd3NtbENob3Jlb2dyYXBoeVNlYwkJT3BlcmF0b3IKLSAgIEhpTGluayB3c21sQ2hvcmVvZ3JhcGh5VGVyCQlTcGVjaWFsCi0gICBIaUxpbmsgd3NtbFN0cmluZwkJCVN0cmluZwotICAgSGlMaW5rIHdzbWxJZGVudGlmaWVyCQlOb3JtYWwgCi0gICBIaUxpbmsgd3NtbFNxTmFtZSAgICAgICAgICAgICAgICAgICAgIE5vcm1hbAotICAgSGlMaW5rIHdzbWxWYXJpYWJsZQkJCURlZmluZQotICAgSGlMaW5rIHdzbWxLZXl3b3Jkc0luc2lkZUxFcwkJT3BlcmF0b3IKLSAgIEhpTGluayB3c21sT3BlcmF0b3IJCQlPcGVyYXRvcgotICAgSGlMaW5rIHdzbWxCcmFjZQkJCU9wZXJhdG9yCi0gICBIaUxpbmsgd3NtbENoYXJhY3RlcgkJCUNoYXJhY3RlcgotICAgSGlMaW5rIHdzbWxOdW1iZXIJCQlOdW1iZXIKLSAgIEhpTGluayB3c21sRGF0YVR5cGVzCQkJU3BlY2lhbAotICAgSGlMaW5rIHdzbWxDb21tZW50CQkJQ29tbWVudAotICAgSGlMaW5rIHdzbWxEb2NDb21tZW50CQlDb21tZW50Ci0gICBIaUxpbmsgd3NtbExpbmVDb21tZW50CQlDb21tZW50Ci0gICBIaUxpbmsgd3NtbFRvZG8JCQlUb2RvCi0gICBIaUxpbmsgd3NtbEZpeE1lCQkJRXJyb3IKLSAgIEhpTGluayB3c21sQ29tbWVudFRpdGxlCQlTcGVjaWFsQ29tbWVudAotICAgSGlMaW5rIHdzbWxDb21tZW50U3RhcgkJd3NtbENvbW1lbnQKLSBlbmRpZgorIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAorY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CitIaUxpbmsgd3NtbEhlYWRlcgkJCVR5cGVEZWYKK0hpTGluayB3c21sTmFtZXNwYWNlCQkJVHlwZURlZgorSGlMaW5rIHdzbWxPbnRvbG9neQkJCVN0YXRlbWVudAorSGlMaW5rIHdzbWxBeGlvbQkJCVR5cGVEZWYKK0hpTGluayB3c21sU2VydmljZQkJCVR5cGVEZWYKK0hpTGluayB3c21sTkZQCQkJVHlwZURlZgorSGlMaW5rIHdzbWxUb3BMZXZlbAkJCVR5cGVEZWYKK0hpTGluayB3c21sTWVkaWF0aW9uCQkJVHlwZURlZiAKK0hpTGluayB3c21sQmVoYXZpb3JhbAkJVHlwZURlZgorSGlMaW5rIHdzbWxDaG9yZW9ncmFwaHlQcmkJCVR5cGVEZWYKK0hpTGluayB3c21sQ2hvcmVvZ3JhcGh5U2VjCQlPcGVyYXRvcgorSGlMaW5rIHdzbWxDaG9yZW9ncmFwaHlUZXIJCVNwZWNpYWwKK0hpTGluayB3c21sU3RyaW5nCQkJU3RyaW5nCitIaUxpbmsgd3NtbElkZW50aWZpZXIJCU5vcm1hbCAKK0hpTGluayB3c21sU3FOYW1lICAgICAgICAgICAgICAgICAgICAgTm9ybWFsCitIaUxpbmsgd3NtbFZhcmlhYmxlCQkJRGVmaW5lCitIaUxpbmsgd3NtbEtleXdvcmRzSW5zaWRlTEVzCQlPcGVyYXRvcgorSGlMaW5rIHdzbWxPcGVyYXRvcgkJCU9wZXJhdG9yCitIaUxpbmsgd3NtbEJyYWNlCQkJT3BlcmF0b3IKK0hpTGluayB3c21sQ2hhcmFjdGVyCQkJQ2hhcmFjdGVyCitIaUxpbmsgd3NtbE51bWJlcgkJCU51bWJlcgorSGlMaW5rIHdzbWxEYXRhVHlwZXMJCQlTcGVjaWFsCitIaUxpbmsgd3NtbENvbW1lbnQJCQlDb21tZW50CitIaUxpbmsgd3NtbERvY0NvbW1lbnQJCUNvbW1lbnQKK0hpTGluayB3c21sTGluZUNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayB3c21sVG9kbwkJCVRvZG8KK0hpTGluayB3c21sRml4TWUJCQlFcnJvcgorSGlMaW5rIHdzbWxDb21tZW50VGl0bGUJCVNwZWNpYWxDb21tZW50CitIaUxpbmsgd3NtbENvbW1lbnRTdGFyCQl3c21sQ29tbWVudAogCiBkZWxjb21tYW5kIEhpTGluawogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC94ZGVmYXVsdHMudmltIGIvcnVudGltZS9zeW50YXgveGRlZmF1bHRzLnZpbQppbmRleCA1ZTM4OTUyLi4xZGZjYzM0IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC94ZGVmYXVsdHMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3hkZWZhdWx0cy52aW0KQEAgLTEwLDExICsxMCw4IEBACiAiICAgeHJkYiBtYW51YWwgcGFnZQogIiAgIHhyZGIgc291cmNlOiBmdHA6Ly9mdHAueC5vcmcvcHViL1I2LjQveGMvcHJvZ3JhbXMveHJkYi94cmRiLmMKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTEwOSwzNiArMTA2LDI4IEBACiBzeW4ga2V5d29yZCB4ZGVmYXVsdHNTeW1ib2wgY29udGFpbmVkIFlfUkVTT0xVVElPTgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF94ZGVmYXVsdHNfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfeGRlZmF1bHRzX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCi0gIEhpTGluayB4ZGVmYXVsdHNMYWJlbAkJVHlwZQotICBIaUxpbmsgeGRlZmF1bHRzVmFsdWUJCUNvbnN0YW50Ci0gIEhpTGluayB4ZGVmYXVsdHNDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIHhkZWZhdWx0c0NvbW1lbnRICXhkZWZhdWx0c0NvbW1lbnQKLSAgSGlMaW5rIHhkZWZhdWx0c1ByZVByb2MJUHJlUHJvYwotICBIaUxpbmsgeGRlZmF1bHRzSW5jbHVkZQl4ZGVmYXVsdHNQcmVQcm9jCi0gIEhpTGluayB4ZGVmYXVsdHNDcHBTa2lwCXhkZWZhdWx0c0NwcE91dAotICBIaUxpbmsgeGRlZmF1bHRzQ3BwT3V0Mgl4ZGVmYXVsdHNDcHBPdXQKLSAgSGlMaW5rIHhkZWZhdWx0c0NwcE91dAlDb21tZW50Ci0gIEhpTGluayB4ZGVmYXVsdHNJbmNsdWRlZAlTdHJpbmcKLSAgSGlMaW5rIHhkZWZhdWx0c0RlZmluZQlNYWNybwotICBIaUxpbmsgeGRlZmF1bHRzU3ltYm9sCVN0YXRlbWVudAotICBIaUxpbmsgeGRlZmF1bHRzU3BlY2lhbAlTdGF0ZW1lbnQKLSAgSGlMaW5rIHhkZWZhdWx0c0Vycm9yTGluZQlFcnJvcgotICBIaUxpbmsgeGRlZmF1bHRzQ29tbWVudEVycm9yCUVycm9yCi0gIEhpTGluayB4ZGVmYXVsdHNQdW5jdAkJTm9ybWFsCi0gIEhpTGluayB4ZGVmYXVsdHNMaW5lRW5kCVNwZWNpYWwKLSAgSGlMaW5rIHhkZWZhdWx0c1RvZG8JCVRvZG8KKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorSGlMaW5rIHhkZWZhdWx0c0xhYmVsCQlUeXBlCitIaUxpbmsgeGRlZmF1bHRzVmFsdWUJCUNvbnN0YW50CitIaUxpbmsgeGRlZmF1bHRzQ29tbWVudAlDb21tZW50CitIaUxpbmsgeGRlZmF1bHRzQ29tbWVudEgJeGRlZmF1bHRzQ29tbWVudAorSGlMaW5rIHhkZWZhdWx0c1ByZVByb2MJUHJlUHJvYworSGlMaW5rIHhkZWZhdWx0c0luY2x1ZGUJeGRlZmF1bHRzUHJlUHJvYworSGlMaW5rIHhkZWZhdWx0c0NwcFNraXAJeGRlZmF1bHRzQ3BwT3V0CitIaUxpbmsgeGRlZmF1bHRzQ3BwT3V0Mgl4ZGVmYXVsdHNDcHBPdXQKK0hpTGluayB4ZGVmYXVsdHNDcHBPdXQJQ29tbWVudAorSGlMaW5rIHhkZWZhdWx0c0luY2x1ZGVkCVN0cmluZworSGlMaW5rIHhkZWZhdWx0c0RlZmluZQlNYWNybworSGlMaW5rIHhkZWZhdWx0c1N5bWJvbAlTdGF0ZW1lbnQKK0hpTGluayB4ZGVmYXVsdHNTcGVjaWFsCVN0YXRlbWVudAorSGlMaW5rIHhkZWZhdWx0c0Vycm9yTGluZQlFcnJvcgorSGlMaW5rIHhkZWZhdWx0c0NvbW1lbnRFcnJvcglFcnJvcgorSGlMaW5rIHhkZWZhdWx0c1B1bmN0CQlOb3JtYWwKK0hpTGluayB4ZGVmYXVsdHNMaW5lRW5kCVNwZWNpYWwKK0hpTGluayB4ZGVmYXVsdHNUb2RvCQlUb2RvCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ4ZGVmYXVsdHMiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3hmODZjb25mLnZpbSBiL3J1bnRpbWUvc3ludGF4L3hmODZjb25mLnZpbQppbmRleCA2Mjc4NGQyLi41NDVlZGE3IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC94Zjg2Y29uZi52aW0KKysrIGIvcnVudGltZS9zeW50YXgveGY4NmNvbmYudmltCkBAIC0xMCwxMiArMTAsOCBAQAogIgkJCQkJCQkgdG8gZm9yY2UgWEZyZWU4NiAzLnggb3IgNC54IFhGODZDb25maWcgc3ludGF4CiAKICIgU2V0dXAKLWlmIHZlcnNpb24gPj0gNjAwCi0JaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKLQkJZmluaXNoCi0JZW5kaWYKLWVsc2UKLQllY2hvICJTb3JyeSwgYnV0IHRoaXMgc3ludGF4IGZpbGUgcmVsaWVzIG9uIFZpbSA2IGZlYXR1cmVzLgkgRWl0aGVyIHVwZ3JhZGUgVmltIG9yIHVzZWEgdmVyc2lvbiBvZiAiIC4gZXhwYW5kKCI8c2ZpbGU+OnQ6ciIpIC4gIiBzeW50YXggZmlsZSBhcHByb3ByaWF0ZSBmb3IgVmltICIgLiB2ZXJzaW9uLzEwMCAuICIuIiAuIHZlcnNpb24gJTEwMCAuICIuIgorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAJZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC94a2IudmltIGIvcnVudGltZS9zeW50YXgveGtiLnZpbQppbmRleCBmZjliZmQwLi5lZmI3ZDY2IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC94a2IudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3hrYi52aW0KQEAgLTYsMTIgKzYsOSBAQAogIiBVUkw6IGh0dHA6Ly90cmlmaWMuYXRoLmN4L0Z0cC92aW0vc3ludGF4L3hrYi52aW0KIAogIiBTZXR1cAotaWYgdmVyc2lvbiA+PSA2MDAKLQlpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQotCQlmaW5pc2gKLQllbmRpZgotZWxzZQotCXN5bnRheCBjbGVhcgorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisJZmluaXNoCiBlbmRpZgogCiBzeW4gY2FzZSBtYXRjaApAQCAtNTAsNDIgKzQ3LDM1IEBACiBzeW4ga2V5d29yZCB4a2JTZWN0IGFscGhhbnVtZXJpY19rZXlzIGFsdGVybmF0ZV9ncm91cCBmdW5jdGlvbl9rZXlzIGtleXBhZF9rZXlzIG1vZGlmaWVyX2tleXMgeGtiX2NvbXBhdGliaWxpdHkgeGtiX2dlb21ldHJ5IHhrYl9rZXljb2RlcyB4a2Jfa2V5bWFwIHhrYl9zZW1hbnRpY3MgeGtiX3N5bWJvbHMgeGtiX3R5cGVzCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZwotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3hrYl9zeW50YXhfaW5pdHMiKQotCWlmIHZlcnNpb24gPCA1MDgKLQkJbGV0IGRpZF94a2Jfc3ludGF4X2luaXRzID0gMQotCQljb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotCWVsc2UKLQkJY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0JZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0JSGlMaW5rIHhrYk1vZGlmIHhrYlByZXByb2MKLQlIaUxpbmsgeGtiVE1vZGlmIHhrYlByZXByb2MKLQlIaUxpbmsgeGtiUHJlcHJvYyBQcmVwcm9jCitIaUxpbmsgeGtiTW9kaWYgeGtiUHJlcHJvYworSGlMaW5rIHhrYlRNb2RpZiB4a2JQcmVwcm9jCitIaUxpbmsgeGtiUHJlcHJvYyBQcmVwcm9jCiAKLQlIaUxpbmsgeGtiSWRlbnRpZmllciBLZXl3b3JkCi0JSGlMaW5rIHhrYkZ1bmN0aW9uIEZ1bmN0aW9uCi0JSGlMaW5rIHhrYlNlY3QgVHlwZQotCUhpTGluayB4a2JQaHlzaWNhbEtleSBJZGVudGlmaWVyCi0JSGlMaW5rIHhrYktleXdvcmQgS2V5d29yZAorSGlMaW5rIHhrYklkZW50aWZpZXIgS2V5d29yZAorSGlMaW5rIHhrYkZ1bmN0aW9uIEZ1bmN0aW9uCitIaUxpbmsgeGtiU2VjdCBUeXBlCitIaUxpbmsgeGtiUGh5c2ljYWxLZXkgSWRlbnRpZmllcgorSGlMaW5rIHhrYktleXdvcmQgS2V5d29yZAogCi0JSGlMaW5rIHhrYkNvbW1lbnQgQ29tbWVudAotCUhpTGluayB4a2JUb2RvIFRvZG8KK0hpTGluayB4a2JDb21tZW50IENvbW1lbnQKK0hpTGluayB4a2JUb2RvIFRvZG8KIAotCUhpTGluayB4a2JDb25zdGFudCBDb25zdGFudAotCUhpTGluayB4a2JTdHJpbmcgU3RyaW5nCitIaUxpbmsgeGtiQ29uc3RhbnQgQ29uc3RhbnQKK0hpTGluayB4a2JTdHJpbmcgU3RyaW5nCiAKLQlIaUxpbmsgeGtiU3BlY2lhbENoYXIgeGtiU3BlY2lhbAotCUhpTGluayB4a2JTcGVjaWFsIFNwZWNpYWwKK0hpTGluayB4a2JTcGVjaWFsQ2hhciB4a2JTcGVjaWFsCitIaUxpbmsgeGtiU3BlY2lhbCBTcGVjaWFsCiAKLQlIaUxpbmsgeGtiUGFyZW5FcnJvciB4a2JCYWxhbmNpbmdFcnJvcgotCUhpTGluayB4a2JCcmFjZUVycm9yIHhrYkJhbGFuY2luZ0Vycm9yCi0JSGlMaW5rIHhrYkJyYWtldEVycm9yIHhrYkJhbGFuY2luZ0Vycm9yCi0JSGlMaW5rIHhrYkJhbGFuY2luZ0Vycm9yIHhrYkVycm9yCi0JSGlMaW5rIHhrYkNvbW1lbnRTdGFydEVycm9yIHhrYkNvbW1lbnRFcnJvcgotCUhpTGluayB4a2JDb21tZW50RXJyb3IgeGtiRXJyb3IKLQlIaUxpbmsgeGtiRXJyb3IgRXJyb3IKK0hpTGluayB4a2JQYXJlbkVycm9yIHhrYkJhbGFuY2luZ0Vycm9yCitIaUxpbmsgeGtiQnJhY2VFcnJvciB4a2JCYWxhbmNpbmdFcnJvcgorSGlMaW5rIHhrYkJyYWtldEVycm9yIHhrYkJhbGFuY2luZ0Vycm9yCitIaUxpbmsgeGtiQmFsYW5jaW5nRXJyb3IgeGtiRXJyb3IKK0hpTGluayB4a2JDb21tZW50U3RhcnRFcnJvciB4a2JDb21tZW50RXJyb3IKK0hpTGluayB4a2JDb21tZW50RXJyb3IgeGtiRXJyb3IKK0hpTGluayB4a2JFcnJvciBFcnJvcgogCi0JZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ4a2IiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC94bWF0aC52aW0gYi9ydW50aW1lL3N5bnRheC94bWF0aC52aW0KaW5kZXggNTQzNGY5Mi4uYTgxYWRmNSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgveG1hdGgudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3htYXRoLnZpbQpAQCAtNSwxMSArNSw4IEBACiAiIFZlcnNpb246CTcKICIgVVJMOglodHRwOi8vd3d3LmRyY2hpcC5vcmcvYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI1NZTlRBWF9YTUFUSAogCi0iIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwotIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTk0LDQyICsxOTEsMzQgQEAKIHN5biBzeW5jIG1hdGNoIHhtYXRoU3luY0NvbW1lbnQJZ3JvdXB0aGVyZSBOT05FICJ9IyIKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfeG1hdGhfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfeG1hdGhfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayB4bWF0aEJyYWNlRXJyb3IJeG1hdGhFcnJvcgotICBIaUxpbmsgeG1hdGhDbWQJeG1hdGhTdGF0ZW1lbnQKLSAgSGlMaW5rIHhtYXRoQ29tbWVudEJsb2NrCXhtYXRoQ29tbWVudAotICBIaUxpbmsgeG1hdGhDdXJseUVycm9yCXhtYXRoRXJyb3IKLSAgSGlMaW5rIHhtYXRoRnVuY0NtZAl4bWF0aFN0YXRlbWVudAotICBIaUxpbmsgeG1hdGhQYXJlbkVycm9yCXhtYXRoRXJyb3IKK0hpTGluayB4bWF0aEJyYWNlRXJyb3IJeG1hdGhFcnJvcgorSGlMaW5rIHhtYXRoQ21kCXhtYXRoU3RhdGVtZW50CitIaUxpbmsgeG1hdGhDb21tZW50QmxvY2sJeG1hdGhDb21tZW50CitIaUxpbmsgeG1hdGhDdXJseUVycm9yCXhtYXRoRXJyb3IKK0hpTGluayB4bWF0aEZ1bmNDbWQJeG1hdGhTdGF0ZW1lbnQKK0hpTGluayB4bWF0aFBhcmVuRXJyb3IJeG1hdGhFcnJvcgogCi0gICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKLSAgSGlMaW5rIHhtYXRoQ2hhcmFjdGVyCUNoYXJhY3RlcgotICBIaUxpbmsgeG1hdGhDb21tYQlEZWxpbWl0ZXIKLSAgSGlMaW5rIHhtYXRoQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayB4bWF0aENvbW1lbnRCbG9jawlDb21tZW50Ci0gIEhpTGluayB4bWF0aENvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCi0gIEhpTGluayB4bWF0aEVycm9yCUVycm9yCi0gIEhpTGluayB4bWF0aEZ1bmMJRnVuY3Rpb24KLSAgSGlMaW5rIHhtYXRoTGFiZWwJUHJlUHJvYwotICBIaUxpbmsgeG1hdGhOdW1iZXIJTnVtYmVyCi0gIEhpTGluayB4bWF0aFJlcGVhdAlSZXBlYXQKLSAgSGlMaW5rIHhtYXRoU3BlY2lhbAlUeXBlCi0gIEhpTGluayB4bWF0aFNwZWNpYWxDaGFyCVNwZWNpYWxDaGFyCi0gIEhpTGluayB4bWF0aFN0YXRlbWVudAlTdGF0ZW1lbnQKLSAgSGlMaW5rIHhtYXRoU3RyaW5nCVN0cmluZwotICBIaUxpbmsgeG1hdGhUb2RvCVRvZG8KKyIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiAgQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIKK0hpTGluayB4bWF0aENoYXJhY3RlcglDaGFyYWN0ZXIKK0hpTGluayB4bWF0aENvbW1hCURlbGltaXRlcgorSGlMaW5rIHhtYXRoQ29tbWVudAlDb21tZW50CitIaUxpbmsgeG1hdGhDb21tZW50QmxvY2sJQ29tbWVudAorSGlMaW5rIHhtYXRoQ29uZGl0aW9uYWwJQ29uZGl0aW9uYWwKK0hpTGluayB4bWF0aEVycm9yCUVycm9yCitIaUxpbmsgeG1hdGhGdW5jCUZ1bmN0aW9uCitIaUxpbmsgeG1hdGhMYWJlbAlQcmVQcm9jCitIaUxpbmsgeG1hdGhOdW1iZXIJTnVtYmVyCitIaUxpbmsgeG1hdGhSZXBlYXQJUmVwZWF0CitIaUxpbmsgeG1hdGhTcGVjaWFsCVR5cGUKK0hpTGluayB4bWF0aFNwZWNpYWxDaGFyCVNwZWNpYWxDaGFyCitIaUxpbmsgeG1hdGhTdGF0ZW1lbnQJU3RhdGVtZW50CitIaUxpbmsgeG1hdGhTdHJpbmcJU3RyaW5nCitIaUxpbmsgeG1hdGhUb2RvCVRvZG8KIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInhtYXRoIgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC94cG0udmltIGIvcnVudGltZS9zeW50YXgveHBtLnZpbQppbmRleCAzY2JjMWI1Li44Y2M5MmExIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC94cG0udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3hwbS52aW0KQEAgLTQsMTEgKzQsOCBAQAogIiBMYXN0IENoYW5nZToJMjAwOCBNYXkgMjgKICIgVmVyc2lvbjoJNS40bi4xCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0xMjYsMjQgKzEyMywxNiBAQAogZW5kaWYJCSIgaGFzKCJndWlfcnVubmluZyIpCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3hwbV9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF94cG1fc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayB4cG1UeXBlCQlUeXBlCi0gIEhpTGluayB4cG1TdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCi0gIEhpTGluayB4cG1Ub2RvCQlUb2RvCi0gIEhpTGluayB4cG1Db21tZW50CQlDb21tZW50Ci0gIEhpTGluayB4cG1QaXhlbFN0cmluZwlTdHJpbmcKK0hpTGluayB4cG1UeXBlCQlUeXBlCitIaUxpbmsgeHBtU3RvcmFnZUNsYXNzCVN0b3JhZ2VDbGFzcworSGlMaW5rIHhwbVRvZG8JCVRvZG8KK0hpTGluayB4cG1Db21tZW50CQlDb21tZW50CitIaUxpbmsgeHBtUGl4ZWxTdHJpbmcJU3RyaW5nCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ4cG0iCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3hwbTIudmltIGIvcnVudGltZS9zeW50YXgveHBtMi52aW0KaW5kZXggNzRiM2M2Ni4uOTA4ZjM5MSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgveHBtMi52aW0KKysrIGIvcnVudGltZS9zeW50YXgveHBtMi52aW0KQEAgLTcsMTEgKzcsOCBAQAogIgogIiBNYWRlIGZyb20geHBtLnZpbSBieSBSb25hbGQgU2NoaWxkIDxyc0BzY3V0dW0uZGU+CiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC0yMywxMyArMjAsOCBAQAogc3luIG1hdGNoICAgeHBtMkNvbW1lbnQJCSJcIS4qJCIgIGNvbnRhaW5zPUBTcGVsbCx4cG0yVG9kbwogCiAKLWlmIHZlcnNpb24gPCA1MDgKLSAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgY29tbWFuZCAtbmFyZ3M9KyBIaSBoaSA8YXJncz4KLWVsc2UKLSAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGNvbW1hbmQgLW5hcmdzPSsgSGkgaGkgZGVmIDxhcmdzPgotZW5kaWYKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorY29tbWFuZCAtbmFyZ3M9KyBIaSBoaSBkZWYgPGFyZ3M+CiAKIGlmIGhhcygiZ3VpX3J1bm5pbmciKQogCkBAIC0xNDQsMjAgKzEzNiwxNCBAQAogZW5kaWYJCSIgaGFzKCJndWlfcnVubmluZyIpCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3hwbTJfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfeHBtMl9zeW50YXhfaW5pdHMgPSAxCi0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CisiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KK0hpTGluayB4cG0yVHlwZQkJVHlwZQorSGlMaW5rIHhwbTJTdG9yYWdlQ2xhc3MJU3RvcmFnZUNsYXNzCitIaUxpbmsgeHBtMlRvZG8JCVRvZG8KK0hpTGluayB4cG0yQ29tbWVudAkJQ29tbWVudAorSGlMaW5rIHhwbTJQaXhlbFN0cmluZwlTdHJpbmcKIAotICAiIFRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSAgSGlMaW5rIHhwbTJUeXBlCQlUeXBlCi0gIEhpTGluayB4cG0yU3RvcmFnZUNsYXNzCVN0b3JhZ2VDbGFzcwotICBIaUxpbmsgeHBtMlRvZG8JCVRvZG8KLSAgSGlMaW5rIHhwbTJDb21tZW50CQlDb21tZW50Ci0gIEhpTGluayB4cG0yUGl4ZWxTdHJpbmcJU3RyaW5nCi1lbmRpZgogZGVsY29tbWFuZCBIaUxpbmsKIGRlbGNvbW1hbmQgSGkKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgveHMudmltIGIvcnVudGltZS9zeW50YXgveHMudmltCmluZGV4IDZmZDBhNDYuLjlhOTE0MGYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3hzLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC94cy52aW0KQEAgLTUsMjAgKzUsMTMgQEAKICIgUHJldmlvdXM6ICAgIFZpbmNlbnQgUGl0IDxwZXJsQHByb2Z2aW5jZS5jb20+CiAiIExhc3QgQ2hhbmdlOiAyMDEzLTA1LTEyCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCiAiIFJlYWQgdGhlIEMgc3ludGF4IHRvIHN0YXJ0IHdpdGgKLWlmIHZlcnNpb24gPCA2MDAKLSAgc291cmNlIDxzZmlsZT46cDpoL2MudmltCi1lbHNlCi0gIHJ1bnRpbWUhIHN5bnRheC9jLnZpbQotZW5kaWYKK3J1bnRpbWUhIHN5bnRheC9jLnZpbQogCiBsZXQgeHNfc3VwZXJzZWRlZCA9IDEgIiBtYXJrIEMgZnVuY3Rpb25zIHN1cGVyc2VkZWQgYnkgUGVybCByZXBsYWNlbWVudHMKIGxldCB4c19ub3RfY29yZSAgID0gMSAiIG1hcmsgcHJpdmF0ZSBjb3JlIGZ1bmN0aW9ucwpAQCAtMzI0OSwyOSArMzI0MiwyMSBAQAogc3luIGtleXdvcmQgeHNNYWNybyB4aXZfaXYgeHV2X3V2IHl5c3R5cGUKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfeHNfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfeHNfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayB4c1ByaXZhdGUgICAgRXJyb3IKLSAgSGlMaW5rIHhzU3VwZXJzZWRlZCBFcnJvcgotICBIaUxpbmsgeHNUeXBlICAgICAgIFR5cGUKLSAgSGlMaW5rIHhzU3RyaW5nICAgICBTdHJpbmcKLSAgSGlMaW5rIHhzQ29uc3RhbnQgICBDb25zdGFudAotICBIaUxpbmsgeHNFeGNlcHRpb24gIEV4Y2VwdGlvbgotICBIaUxpbmsgeHNLZXl3b3JkICAgIEtleXdvcmQKLSAgSGlMaW5rIHhzRnVuY3Rpb24gICBGdW5jdGlvbgotICBIaUxpbmsgeHNWYXJpYWJsZSAgIElkZW50aWZpZXIKLSAgSGlMaW5rIHhzTWFjcm8gICAgICBNYWNybworSGlMaW5rIHhzUHJpdmF0ZSAgICBFcnJvcgorSGlMaW5rIHhzU3VwZXJzZWRlZCBFcnJvcgorSGlMaW5rIHhzVHlwZSAgICAgICBUeXBlCitIaUxpbmsgeHNTdHJpbmcgICAgIFN0cmluZworSGlMaW5rIHhzQ29uc3RhbnQgICBDb25zdGFudAorSGlMaW5rIHhzRXhjZXB0aW9uICBFeGNlcHRpb24KK0hpTGluayB4c0tleXdvcmQgICAgS2V5d29yZAorSGlMaW5rIHhzRnVuY3Rpb24gICBGdW5jdGlvbgorSGlMaW5rIHhzVmFyaWFibGUgICBJZGVudGlmaWVyCitIaUxpbmsgeHNNYWNybyAgICAgIE1hY3JvCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitkZWxjb21tYW5kIEhpTGluawogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ4cyIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgveHhkLnZpbSBiL3J1bnRpbWUvc3ludGF4L3h4ZC52aW0KaW5kZXggYjJiMWU0NC4uMTE0NWViYyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgveHhkLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC94eGQudmltCkBAIC02LDExICs2LDggQEAKICIgTm90ZXM6CQl1c2UgOmhlbHAgeHhkICAgdG8gc2VlIGhvdyB0byBpbnZva2UgaXQKICIgVVJMOglodHRwOi8vd3d3LmRyY2hpcC5vcmcvYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI1NZTlRBWF9YWEQKIAotIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKLSIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTIwLDIyICsxNywxNCBAQAogc3luIG1hdGNoIHh4ZERvdAljb250YWluZWQJIlsuXHJdIgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF94eGRfc3ludGF4X2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfeHhkX3N5bnRheF9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCisiIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Citjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KIAotIEhpTGluayB4eGRBZGRyZXNzCUNvbnN0YW50Ci0gSGlMaW5rIHh4ZFNlcAkJSWRlbnRpZmllcgotIEhpTGluayB4eGRBc2NpaQlTdGF0ZW1lbnQKK0hpTGluayB4eGRBZGRyZXNzCUNvbnN0YW50CitIaUxpbmsgeHhkU2VwCQlJZGVudGlmaWVyCitIaUxpbmsgeHhkQXNjaWkJU3RhdGVtZW50CiAKLSBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInh4ZCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgveWFjYy52aW0gYi9ydW50aW1lL3N5bnRheC95YWNjLnZpbQppbmRleCBjNjUxMDllLi44NzM2YmFmIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC95YWNjLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC95YWNjLnZpbQpAQCAtMTAsOSArMTAsNiBAQAogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiB0aGlzIHZlcnNpb24gb2Ygc3ludGF4L3lhY2MudmltIHJlcXVpcmVzIDYuMCBvciBsYXRlcgotaWYgdmVyc2lvbiA8IDYwMAotIGZpbmlzaAotZW5kaWYKIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgc3ludGF4IGNsZWFyCiBlbmRpZgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvejhhLnZpbSBiL3J1bnRpbWUvc3ludGF4L3o4YS52aW0KaW5kZXggYTNhOGEyYi4uMDU0ZjYzOSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvejhhLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC96OGEudmltCkBAIC0zLDExICszLDggQEAKICIgTWFpbnRhaW5lcjoJTWlsYW4gUGlrdWxhIDx3d3dAZm9ybmF4LmVsZi5zdHViYS5zaz4KICIgTGFzdCBDaGFuZ2U6CTIwMDMgTWF5IDExCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCi0iIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisiIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCkBAIC04NSwzMCArODIsMjIgQEAKIHN5biBjYXNlIG1hdGNoCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3o4YV9zeW50YXhfaW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF96OGFfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2NvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCi0gIEhpTGluayB6OGFTZWN0aW9uCQlTcGVjaWFsCi0gIEhpTGluayB6OGFMYWJlbAkJTGFiZWwKLSAgSGlMaW5rIHo4YVNwZWNpYWxMYWJlbAlMYWJlbAotICBIaUxpbmsgejhhQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgejhhSW5zdHJ1Y3Rpb24JU3RhdGVtZW50Ci0gIEhpTGluayB6OGFTcGVjSW5zdAkJU3RhdGVtZW50Ci0gIEhpTGluayB6OGFJbmNsdWRlCQlJbmNsdWRlCi0gIEhpTGluayB6OGFQcmVDb25kaXQJCVByZUNvbmRpdAotICBIaUxpbmsgejhhUHJlUHJvYwkJUHJlUHJvYwotICBIaUxpbmsgejhhTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIHo4YVN0cmluZwkJU3RyaW5nCitIaUxpbmsgejhhU2VjdGlvbgkJU3BlY2lhbAorSGlMaW5rIHo4YUxhYmVsCQlMYWJlbAorSGlMaW5rIHo4YVNwZWNpYWxMYWJlbAlMYWJlbAorSGlMaW5rIHo4YUNvbW1lbnQJCUNvbW1lbnQKK0hpTGluayB6OGFJbnN0cnVjdGlvbglTdGF0ZW1lbnQKK0hpTGluayB6OGFTcGVjSW5zdAkJU3RhdGVtZW50CitIaUxpbmsgejhhSW5jbHVkZQkJSW5jbHVkZQorSGlMaW5rIHo4YVByZUNvbmRpdAkJUHJlQ29uZGl0CitIaUxpbmsgejhhUHJlUHJvYwkJUHJlUHJvYworSGlMaW5rIHo4YU51bWJlcgkJTnVtYmVyCitIaUxpbmsgejhhU3RyaW5nCQlTdHJpbmcKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2RlbGNvbW1hbmQgSGlMaW5rCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gIno4YSIKICIgdmltOiB0cz04CmRpZmYgLS1naXQgYS9zcmMvcG8vZmkucG8gYi9zcmMvcG8vZmkucG8KaW5kZXggOTFlZjkxZS4uM2U4Mjk0NyAxMDA2NDQKLS0tIGEvc3JjL3BvL2ZpLnBvCisrKyBiL3NyYy9wby9maS5wbwpAQCAtMTcsNyArMTcsNyBAQAogIlByb2plY3QtSWQtVmVyc2lvbjogVmltIDdcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCiAiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTYtMDgtMjMgMTI6MjcrMDIwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMDgtMjMgMTY6MTIrMDIwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMDgtMjkgMTE6MjcrMDIwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogRmxhbW1pZSBBIFBpcmluZW4gPGZsYW1taWVAaWtpLmZpPlxuIgogIkxhbmd1YWdlLVRlYW06IEZpbm5pc2ggPGxhYXR1QGxva2FsaXNvaW50aS5vcmc+XG4iCiAiTGFuZ3VhZ2U6IGZpXG4iCkBAIC00ODA0LDcgKzQ4MDQsNyBAQAogbXNnc3RyICJFODcyOiAoTkZBIHJlZ2V4cCkgTGlpYW4gbW9udGEgc3VsamV0dGEgJygnIgogCiBtc2dpZCAiRTg3OTogKE5GQSByZWdleHApIFRvbyBtYW55IFxceigiCi1tc2dzdHIiRTg3OTogKE5GQSByZWdleHApIExpaWthYSBtZXJra2Vqw6QgXFx6KCIKK21zZ3N0ciAiRTg3OTogKE5GQSByZWdleHApIExpaWthYSBtZXJra2Vqw6QgXFx6KCIKIAogbXNnaWQgIkU4NzM6IChORkEgcmVnZXhwKSBwcm9wZXIgdGVybWluYXRpb24gZXJyb3IiCiBtc2dzdHIgIkU4NzM6IChORkEgcmVnZXhwKSBvaWtlYSBsb3BldHVzdmlyaGUiCg==