ZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvemlwLnZpbSBiL3J1bnRpbWUvYXV0b2xvYWQvemlwLnZpbQppbmRleCA2NzkwZjRmLi5jNzFhNGRjIDEwMDY0NAotLS0gYS9ydW50aW1lL2F1dG9sb2FkL3ppcC52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC96aXAudmltCkBAIC0xLDcgKzEsNyBAQAogIiB6aXAudmltOiBIYW5kbGVzIGJyb3dzaW5nIHppcGZpbGVzCiAiICAgICAgICAgICAgQVVUT0xPQUQgUE9SVElPTgotIiBEYXRlOgkJCU1hciAyMiwgMjAwNgotIiBWZXJzaW9uOgkJNworIiBEYXRlOgkJCUFwciAxMCwgMjAwNgorIiBWZXJzaW9uOgkJOAogIiBNYWludGFpbmVyOglDaGFybGVzIEUgQ2FtcGJlbGwsIEpyIDxkcmNoaXBOT1NQQU0gYXQgY2FtcGJlbGxmYW1pbHkgZG90IGJpej4KICIgTGljZW5zZToJCVZpbSBMaWNlbnNlICAoc2VlIHZpbSdzIDpoZWxwIGxpY2Vuc2UpCiAiIENvcHlyaWdodDogICAgQ29weXJpZ2h0IChDKSAyMDA1IENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiB7e3sxCkBAIC0yMiw3ICsyMiw3IEBACiAgZmluaXNoCiBlbmRpZgogCi1sZXQgZzpsb2FkZWRfemlwICAgICA9ICJ2NyIKK2xldCBnOmxvYWRlZF96aXAgICAgID0gInY4IgogbGV0IHM6emlwZmlsZV9lc2NhcGUgPSAnID8mO1wnCiAKICIgLS0tLS0tLS0tLS0tLS0tLQpAQCAtODMsNyArODMsOSBAQAogICA0LCRnL15ccyotLS0tL2QKICAgNCwkZy9eXHMqXGEvZAogICAkZAotICBleGUgJ3NpbGVudCA0LCRzL14uKlwlJy5uYW1lY29sLidjLy8nCisgIGlmIG5hbWVjb2wgPiAwCisgICBleGUgJ3NpbGVudCA0LCRzL14uKlwlJy5uYW1lY29sLidjLy8nCisgIGVuZGlmCiAKICAgc2V0bG9jYWwgbm9tYSBub21vZCBybwogICBub3JlbWFwIDxzaWxlbnQ+IDxidWZmZXI+IDxjcj4gOmNhbGwgPFNJRD5aaXBCcm93c2VTZWxlY3QoKTxjcj4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQgYi9ydW50aW1lL2RvYy9jaGFuZ2UudHh0CmluZGV4IGU4ZTFjYWEuLjRhZWJlMzAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQKKysrIGIvcnVudGltZS9kb2MvY2hhbmdlLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpjaGFuZ2UudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wZC4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwOQorKmNoYW5nZS50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjBkLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDExCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xNTA4LDcgKzE1MDgsNyBAQAogZm91bmQgaGVyZTogfHNvcnQoKXwuCiAKIAkJCQkJCQkqOnNvciogKjpzb3J0KgotOltyYW5nZV1zb3JbdF1bIV0gW2ldW3VdW25dW3hdW29dIFsve3BhdHRlcm59L10KKzpbcmFuZ2Vdc29yW3RdWyFdIFtpXVt1XVtyXVtuXVt4XVtvXSBbL3twYXR0ZXJufS9dCiAJCQlTb3J0IGxpbmVzIGluIFtyYW5nZV0uICBXaGVuIG5vIHJhbmdlIGlzIGdpdmVuIGFsbAogCQkJbGluZXMgYXJlIHNvcnRlZC4KIApAQCAtMTUxNywyNCArMTUxNywyNSBAQAogCQkJV2l0aCBbaV0gY2FzZSBpcyBpZ25vcmVkLgogCiAJCQlXaXRoIFtuXSBzb3J0aW5nIGlzIGRvbmUgb24gdGhlIGZpcnN0IGRlY2ltYWwgbnVtYmVyCi0JCQlpbiB0aGUgbGluZSAoYWZ0ZXIgYSB7cGF0dGVybn0gbWF0Y2gpLgorCQkJaW4gdGhlIGxpbmUgKGFmdGVyIG9yIGluc2lkZSBhIHtwYXR0ZXJufSBtYXRjaCkuCiAKIAkJCVdpdGggW3hdIHNvcnRpbmcgaXMgZG9uZSBvbiB0aGUgZmlyc3QgaGV4YWRlY2ltYWwKLQkJCW51bWJlciBpbiB0aGUgbGluZSAoYWZ0ZXIgYSB7cGF0dGVybn0gbWF0Y2gpLiAgQQotCQkJbGVhZGluZyAiMHgiIG9yICIwWCIgaXMgaWdub3JlZC4KKwkJCW51bWJlciBpbiB0aGUgbGluZSAoYWZ0ZXIgb3IgaW5zaWRlIGEge3BhdHRlcm59CisJCQltYXRjaCkuICBBIGxlYWRpbmcgIjB4IiBvciAiMFgiIGlzIGlnbm9yZWQuCiAKIAkJCVdpdGggW29dIHNvcnRpbmcgaXMgZG9uZSBvbiB0aGUgZmlyc3Qgb2N0YWwgbnVtYmVyIGluCi0JCQl0aGUgbGluZSAoYWZ0ZXIgYSB7cGF0dGVybn0gbWF0Y2gpLgorCQkJdGhlIGxpbmUgKGFmdGVyIG9yIGluc2lkZSBhIHtwYXR0ZXJufSBtYXRjaCkuCiAKIAkJCVdpdGggW3VdIG9ubHkga2VlcCB0aGUgZmlyc3Qgb2YgYSBzZXF1ZW5jZSBvZgogCQkJaWRlbnRpY2FsIGxpbmVzIChpZ25vcmluZyBjYXNlIHdoZW4gW2ldIGlzIHVzZWQpLgorCQkJV2l0aG91dCB0aGlzIGZsYWcsIGEgc2VxdWVuY2Ugb2YgaWRlbnRpY2FsIGxpbmVzCisJCQl3aWxsIGJlIGtlcHQgaW4gdGhlaXIgb3JpZ2luYWwgb3JkZXIuCiAJCQlOb3RlIHRoYXQgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGUgc3BhY2UgbWF5IGNhdXNlCiAJCQlsaW5lcyB0byBiZSBkaWZmZXJlbnQuCiAKLQkJCVdoZW4gL3twYXR0ZXJufS8gaXMgc3BlY2lmaWVkIHRoZSB0ZXh0IG1hdGNoZWQgd2l0aAotCQkJe3BhdHRlcm59IGlzIHNraXBwZWQsIHNvIHRoYXQgeW91IHNvcnQgb24gd2hhdCBjb21lcwotCQkJYWZ0ZXIgdGhlIG1hdGNoLiAgRm9yIGxpbmVzIHdpdGhvdXQgYSBtYXRjaCBzb3J0aW5nCi0JCQlzdGFydHMgaW4gdGhlIGZpcnN0IGNvbHVtbiAoZS5nLiwgZm9yIGVtcHR5IGxpbmVzKS4KKwkJCVdoZW4gL3twYXR0ZXJufS8gaXMgc3BlY2lmaWVkIGFuZCB0aGVyZSBpcyBubyBbcl0gZmxhZworCQkJdGhlIHRleHQgbWF0Y2hlZCB3aXRoIHtwYXR0ZXJufSBpcyBza2lwcGVkLCBzbyB0aGF0CisJCQl5b3Ugc29ydCBvbiB3aGF0IGNvbWVzIGFmdGVyIHRoZSBtYXRjaC4KIAkJCUluc3RlYWQgb2YgdGhlIHNsYXNoIGFueSBub24tbGV0dGVyIGNhbiBiZSB1c2VkLgogCQkJRm9yIGV4YW1wbGUsIHRvIHNvcnQgb24gdGhlIHNlY29uZCBjb21tYS1zZXBhcmF0ZWQKIAkJCWZpZWxkOiA+CkBAIC0xNTQ1LDcgKzE1NDYsMjEgQEAKIDwJCQlUbyBzb3J0IG9uIHRoZSBmaXJzdCBudW1iZXIgaW4gdGhlIGxpbmUsIG5vIG1hdHRlcgogCQkJd2hhdCBpcyBpbiBmcm9udCBvZiBpdDogPgogCQkJCTpzb3J0IC8uKlx6ZVxkLwotPAorCis8CQkJV2l0aCBbcl0gc29ydGluZyBpcyBkb25lIG9uIHRoZSBtYXRjaGluZyB7cGF0dGVybn0KKwkJCWluc3RlYWQgb2Ygc2tpcHBpbmcgcGFzdCBpdCBhcyBkZXNjcmliZWQgYWJvdmUuCisJCQlGb3IgZXhhbXBsZSwgdG8gc29ydCBvbiBvbmx5IHRoZSBmaXJzdCB0aHJlZSBsZXR0ZXJzCisJCQlvZiBlYWNoIGxpbmU6ID4KKwkJCQk6c29ydCAvXGFcYVxhLyByCisKKzwJCQlJZiBhIHtwYXR0ZXJufSBpcyB1c2VkLCBhbnkgbGluZXMgd2hpY2ggZG9uJ3QgaGF2ZSBhCisJCQltYXRjaCBmb3Ige3BhdHRlcm59IGFyZSBrZXB0IGluIHRoZWlyIGN1cnJlbnQgb3JkZXIsCisJCQlidXQgc2VwYXJhdGUgZnJvbSB0aGUgbGluZXMgd2hpY2ggZG8gbWF0Y2gge3BhdHRlcm59LgorCQkJSWYgeW91IHNvcnRlZCBpbiByZXZlcnNlLCB0aGV5IHdpbGwgYmUgaW4gcmV2ZXJzZQorCQkJb3JkZXIgYWZ0ZXIgdGhlIHNvcnRlZCBsaW5lcywgb3RoZXJ3aXNlIHRoZXkgd2lsbCBiZQorCQkJaW4gdGhlaXIgb3JpZ2luYWwgb3JkZXIsIHJpZ2h0IGJlZm9yZSB0aGUgc29ydGVkCisJCQlsaW5lcy4KKwogTm90ZSB0aGF0IHVzaW5nICI6c29ydCIgd2l0aCAiOmdsb2JhbCIgZG9lc24ndCBzb3J0IHRoZSBtYXRjaGluZyBsaW5lcywgaXQncwogcXVpdGUgdXNlbGVzcy4KIApAQCAtMTU1Myw4ICsxNTY4LDggQEAKIGd1YXJhbnRlZSB0aGF0IHNvcnRpbmcgaXMgInN0YWJsZSIgb3Igb2JleXMgdGhlIGN1cnJlbnQgbG9jYWxlLiAgWW91IHdpbGwgaGF2ZQogdG8gdHJ5IGl0IG91dC4KIAotVGhlIHNvcnRpbmcgaXRzZWxmIGNhbm5vdCBiZSBpbnRlcnJ1cHRlZCwgYmVjYXVzZSBvZiB1c2luZyBhIHN5c3RlbSBsaWJyYXJ5Ci1mdW5jdGlvbi4gIFlvdSBjYW4gaW50ZXJydXB0IHRoZSBwcmVwYXJhdGlvbiAoZm9yIHVuZG8pIGFuZCBwdXR0aW5nIHRoZSBzb3J0ZWQKLWxpbmVzIGludG8gdGhlIGJ1ZmZlci4gIEluIHRoZSBsYXN0IGNhc2UgeW91IG1heSBlbmQgdXAgd2l0aCBkdXBsaWNhdGVkIGxpbmVzLgorVGhlIHNvcnRpbmcgY2FuIGJlIGludGVycnVwdGVkLCBidXQgaWYgeW91IGludGVycnVwdCBpdCB0b28gbGF0ZSBpbiB0aGUKK3Byb2Nlc3MgeW91IG1heSBlbmQgdXAgd2l0aCBkdXBsaWNhdGVkIGxpbmVzLiAgVGhpcyBhbHNvIGRlcGVuZHMgb24gdGhlIHN5c3RlbQorbGlicmFyeSBmdW5jdGlvbiB1c2VkLgogCiAgdmltOnR3PTc4OnRzPTg6ZnQ9aGVscDpub3JsOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaW5kZXgudHh0IGIvcnVudGltZS9kb2MvaW5kZXgudHh0CmluZGV4IDQ5MWY0Y2EuLjg0OGNlMGIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2luZGV4LnR4dAorKysgYi9ydW50aW1lL2RvYy9pbmRleC50eHQKQEAgLTEsNCArMSw0IEBACi0qaW5kZXgudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGQuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDYKKyppbmRleC50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4wZC4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAxMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNTI5LDYgKzUyOSw3IEBACiB8Q1RSTC1XX1B8CUNUUkwtVyBQCSAgIGdvIHRvIHByZXZpZXcgd2luZG93CiB8Q1RSTC1XX1J8CUNUUkwtVyBSCSAgIHJvdGF0ZSB3aW5kb3dzIHVwd2FyZHMgTiB0aW1lcwogfENUUkwtV19TfAlDVFJMLVcgUwkgICBzYW1lIGFzICJDVFJMLVcgcyIKK3xDVFJMLVdfVHwJQ1RSTC1XIFQJICAgbW92ZSBjdXJyZW50IHdpbmRvdyB0byBhIG5ldyB0YWIgcGFnZQogfENUUkwtV19XfAlDVFJMLVcgVwkgICBnbyB0byBOIHByZXZpb3VzIHdpbmRvdyAod3JhcCBhcm91bmQpCiB8Q1RSTC1XX118CUNUUkwtVyBdCSAgIHNwbGl0IHdpbmRvdyBhbmQganVtcCB0byB0YWcgdW5kZXIgY3Vyc29yCiB8Q1RSTC1XX158CUNUUkwtVyBeCSAgIHNwbGl0IGN1cnJlbnQgd2luZG93IGFuZCBlZGl0IGFsdGVybmF0ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaW5zZXJ0LnR4dCBiL3J1bnRpbWUvZG9jL2luc2VydC50eHQKaW5kZXggNDEyNzcxZC4uYWU0NzQ2OSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaW5zZXJ0LnR4dAorKysgYi9ydW50aW1lL2RvYy9pbnNlcnQudHh0CkBAIC0xLDQgKzEsNCBAQAotKmluc2VydC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjBkLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDEwCisqaW5zZXJ0LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGQuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMTEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTE0MTksOCArMTQxOSw4IEBACiAgIGEgdGFnKQogLSB3aGVuIGF0dHJpYnV0ZSBoYXMgbGltaXRlZCBudW1iZXIgb2YgcG9zc2libGUgdmFsdWVzIGhlbHAgdG8gY29tcGxldGUKICAgdGhlbQotLSBjb21wbGV0ZSBuYW1lcyBvZiBlbnRpdGllcyAoZGVmaW5lZCBpbiB8eG1sLW9tbmktZGF0YWZpbGV8IGFuZCBpbiBjdXJyZW50IGZpbGUKLSAgd2l0aCAiPCFFTlRJVFkiIGRlY2xhcmF0aW9ucworLSBjb21wbGV0ZSBuYW1lcyBvZiBlbnRpdGllcyAoZGVmaW5lZCBpbiB8eG1sLW9tbmktZGF0YWZpbGV8IGFuZCBpbiBjdXJyZW50CisgIGZpbGUgd2l0aCAiPCFFTlRJVFkiIGRlY2xhcmF0aW9ucwogLSB3aGVuIHVzZWQgYWZ0ZXIgIjwvIiBDVFJMLVggQ1RSTC1PIHdpbGwgY2xvc2UgdGhlIGxhc3Qgb3BlbmVkIHRhZwogCiBGb3JtYXQgb2YgWE1MIGRhdGEgZmlsZQkJCQkJKnhtbC1vbW5pLWRhdGFmaWxlKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvbWFwLnR4dCBiL3J1bnRpbWUvZG9jL21hcC50eHQKaW5kZXggMWVlMGU0MC4uNDllMWZhYSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvbWFwLnR4dAorKysgYi9ydW50aW1lL2RvYy9tYXAudHh0CkBAIC0xLDQgKzEsNCBAQAotKm1hcC50eHQqICAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBkLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDIwCisqbWFwLnR4dCogICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGQuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMTEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTI2NSw2ICsyNjUsNyBAQAogOnZtYXAgIDp2bm9yZW1hcCAgOnZ1bm1hcCAgOnZtYXBjbGVhciAgICAgLSAgICAgICAgIHllcyAgICAgICAgICAgICAtCiA6b21hcCAgOm9ub3JlbWFwICA6b3VubWFwICA6b21hcGNsZWFyICAgICAtICAgICAgICAgIC0gICAgICAgICAgICAgeWVzCiAKKzpudW5tYXAgY2FuIGFsc28gYmUgdXNlZCBvdXRzaWRlIG9mIGEgbW9uYXN0ZXJ5LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm1hcG1vZGUteCogKm1hcG1vZGUtcyoKIFNvbWUgY29tbWFuZHMgd29yayBib3RoIGluIFZpc3VhbCBhbmQgU2VsZWN0IG1vZGUsIHNvbWUgaW4gb25seSBvbmUuICBOb3RlCiB0aGF0IHF1aXRlIG9mdGVuICJWaXN1YWwiIGlzIG1lbnRpb25lZCB3aGVyZSBib3RoIFZpc3VhbCBhbmQgU2VsZWN0IG1vZGUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21lc3NhZ2UudHh0IGIvcnVudGltZS9kb2MvbWVzc2FnZS50eHQKaW5kZXggMTI5YzQzZS4uNzkwY2NjZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvbWVzc2FnZS50eHQKKysrIGIvcnVudGltZS9kb2MvbWVzc2FnZS50eHQKQEAgLTEsNCArMSw0IEBACi0qbWVzc2FnZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGQuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMDEKKyptZXNzYWdlLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wZC4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAxMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNDEzLDcgKzQxMywxMCBAQAogCiBZb3UgaGF2ZSB1c2VkIGFuICI6dW5tYXAiIGNvbW1hbmQgd2l0aCBhbiBhcmd1bWVudCB3aGljaCBpcyBub3QgYW4gZXhpc3RpbmcKIG1hcHBpbmcuICBBbGwgdmFyaWF0aW9ucyBvZiB0aGlzIGNvbW1hbmQgZ2l2ZSB0aGUgc2FtZSBtZXNzYWdlOiAiOmN1bm1hcCIsCi0iOnVubWFwISIsIGV0Yy4gIENoZWNrIGZvciB0cmFpbGluZyB3aGl0ZSBzcGFjZS4KKyI6dW5tYXAhIiwgZXRjLiAgQSBmZXcgaGludHM6CistIENoZWNrIGZvciB0cmFpbGluZyB3aGl0ZSBzcGFjZS4KKy0gSWYgdGhlIG1hcHBpbmcgaXMgYnVmZmVyLWxvY2FsIHlvdSBuZWVkIHRvIHVzZSAiOnVubWFwIDxidWZmZXI+Ii4KKyAgfDptYXAtPGJ1ZmZlcj58CiAKIAkJCQkJCQkqRTM3KiAqRTg5KiAgPgogICBObyB3cml0ZSBzaW5jZSBsYXN0IGNoYW5nZSAodXNlICEgdG8gb3ZlcnJpZGUpCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vcHRpb25zLnR4dCBiL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CmluZGV4IDc3MThhNTguLmRlYWY1OTAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CisrKyBiL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9wdGlvbnMudHh0KglGb3IgVmltIHZlcnNpb24gNy4wZC4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAxMAorKm9wdGlvbnMudHh0KglGb3IgVmltIHZlcnNpb24gNy4wZC4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAxMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yMDY4LDYgKzIwNjgsMTEgQEAKIAlIaWdobGlnaHQgdGhlIHNjcmVlbiBjb2x1bW4gb2YgdGhlIGN1cnNvciB3aXRoIEN1cnNvckNvbHVtbgogCXxobC1DdXJzb3JDb2x1bW58LiAgVXNlZnVsIHRvIGFsaWduIHRleHQuICBXaWxsIG1ha2Ugc2NyZWVuIHJlZHJhd2luZwogCXNsb3dlci4KKwlJZiB5b3Ugb25seSB3YW50IHRoZSBoaWdobGlnaHRpbmcgaW4gdGhlIGN1cnJlbnQgd2luZG93IHlvdSBjYW4gdXNlCisJdGhlc2UgYXV0b2NvbW1hbmRzOiA+CisJCWF1IFdpbkxlYXZlICogc2V0IG5vY3Vyc29ybGluZSBub2N1cnNvcmNvbHVtbgorCQlhdSBXaW5FbnRlciAqIHNldCBjdXJzb3JsaW5lIGN1cnNvcmNvbHVtbgorPAogCiAJCQkqJ2N1cnNvcmxpbmUnKiAqJ2N1bCcqIConbm9jdXJzb3JsaW5lJyogKidub2N1bCcqCiAnY3Vyc29ybGluZScgJ2N1bCcJYm9vbGVhbgkoZGVmYXVsdCBvZmYpCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9waV96aXAudHh0IGIvcnVudGltZS9kb2MvcGlfemlwLnR4dAppbmRleCBlY2E3N2RmLi5mYTRmM2IwIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9waV96aXAudHh0CisrKyBiL3J1bnRpbWUvZG9jL3BpX3ppcC50eHQKQEAgLTEsNCArMSw0IEBACi0qemlwLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGQuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDMKKyp6aXAudHh0KglGb3IgVmltIHZlcnNpb24gNy4wZC4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAxMAogCiAJCQkJKz09PT09PT09PT09PT09PT09PT09KwogCQkJCXwgWmlwIEZpbGUgSW50ZXJmYWNlIHwKQEAgLTMzLDYgKzMzLDExIEBACiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogMy4gSGlzdG9yeQkJCQkJKnppcC1oaXN0b3J5KgorICAgdjggQXByIDEwLCAyMDA2ICogQnJhbSBNb29sZW5hYXIgcmVwb3J0ZWQgdGhhdCBoZSByZWNlaXZlZCBhbiBlcnJvciBtZXNzYWdlCisgICAgICAgICAgICAgICAgICAgICBkdWUgdG8gIlBhdHRlcm4gbm90IGZvdW5kOiBeLipcJTBjIjsgdGhpcyB3YXMgY2F1c2VkIGJ5CisJCSAgICAgc3RyaWR4IGZpbmRpbmcgYSBOYW1lLi4uIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpbmU7CisJCSAgICAgemlwLnZpbSB0cmllZCA0LCRzL14uKlwlMGMvLywgYnV0IHRoYXQgZG9lc24ndCB3b3JrLgorCQkgICAgIEZpeGVkLgogICAgdjcgTWFyIDIyLCAyMDA2ICogZXNjYXBlZCBzb21lIGNoYXJhY3RlcnMgdGhhdCBjYW4gY2F1c2UgZmlsZW5hbWUgaGFuZGxpbmcKICAgICAgICAgICAgICAgICAgICAgIHByb2JsZW1zLgogICAgdjYgRGVjIDIxLCAyMDA1ICogd3JpdGluZyB0byBmaWxlcyBub3QgaW4gZGlyZWN0b3JpZXMgY2F1c2VkIHByb2JsZW1zIC0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhZ3MgYi9ydW50aW1lL2RvYy90YWdzCmluZGV4IDQxMzRhMWQuLjdmYTQ0MmQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RhZ3MKKysrIGIvcnVudGltZS9kb2MvdGFncwpAQCAtMzE4OCw2ICszMTg4LDcgQEAKIENUUkwtV19QCXdpbmRvd3MudHh0CS8qQ1RSTC1XX1AqCiBDVFJMLVdfUgl3aW5kb3dzLnR4dAkvKkNUUkwtV19SKgogQ1RSTC1XX1MJd2luZG93cy50eHQJLypDVFJMLVdfUyoKK0NUUkwtV19UCXdpbmRvd3MudHh0CS8qQ1RSTC1XX1QqCiBDVFJMLVdfVwl3aW5kb3dzLnR4dAkvKkNUUkwtV19XKgogQ1RSTC1XX10Jd2luZG93cy50eHQJLypDVFJMLVdfXSoKIENUUkwtV19eCXdpbmRvd3MudHh0CS8qQ1RSTC1XX14qCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90b2RvLnR4dCBiL3J1bnRpbWUvZG9jL3RvZG8udHh0CmluZGV4IDk3OTk4OGYuLjZjYTQ3YjYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RvZG8udHh0CisrKyBiL3J1bnRpbWUvZG9jL3RvZG8udHh0CkBAIC0xLDQgKzEsNCBAQAotKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBkLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDEwCisqdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGQuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMTEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzAsNyArMzAsMTEgQEAKIAkJCQkJCQkqa25vd24tYnVncyoKIC0tLS0tLS0tLS0tLS0tLS0tLS0tIEtub3duIGJ1Z3MgYW5kIGN1cnJlbnQgd29yayAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCitJbmNsdWRlIGF1dG9sb2FkL3htbC8qLnZpbSBmaWxlcz8gIE5lZWQgdG8gYWRqdXN0IGluc3RhbGwgc2NyaXB0cyB0aGVuLgorCiAiOm1rc3BlbGwiIHN0aWxsIHRha2VzIG11Y2ggdG9vIGxvbmcgaW4gSHVuZ2FyaWFuIGRpY3Rpb25hcnkuCistIEFyZSBhbGwgcHJlZml4ZXMgcmVhbGx5IHBvc3Rwb25lZCBub3c/CistIHBvc3Rwb25lIHNlY29uZGFyeSBzdWZmaXhlcz8KIAogSGFuZGxlIHBvc3Rwb25lZCBwcmVmaXggd2l0aCBDT01QT1VORFBFUk1JVEZMQUcgb3IgQ09NUE9VTkRGT1JCSURGTEFHLgogICAgIFdGUF9DT01QUEVSTUlUIGFuZCBXRlBfQ09NUEZPUkJJRApAQCAtNDcsOCArNTEsMTQgQEAKICAgICBIb3cgaXMgaXQgc3VwcG9zZWQgdG8gd29yaz8KIC0gICBpbXBsZW1lbnQgdXNpbmcgQ0hFQ0tDT01QT1VORFBBVFRFUk46IG1hdGNoIHdvcmRzIHdpdGggc2xfY29tcHBhdFtdLgogCitVcGRhdGUgdmlfZGlmZi50eHQgZm9yIFZpbSA3IGZlYXR1cmVzLgorCis4ICAgdGFiIHBhZ2VzIGluIHRoZSBzZXNzaW9uIGZpbGUsIGlmICJ0YWJwYWdlcyIgaW4gJ3Nlc3Npb25vcHRpb25zJworCiBBZGQgbW9yZSB0ZXN0cyBmb3IgYWxsIG5ldyBmdW5jdGlvbmFsaXR5IGluIFZpbSA3LiAgRXNwZWNpYWxseSBuZXcgZnVuY3Rpb25zLgogCitEbyBzb21lIG9mIHRoZSAnY2luZGVudCcgYnVncyBiZWxvdy4KKwogV2luMzI6IERlc2NyaWJlIGhvdyB0byBkbyBkZWJ1Z2dpbmcuIChHZW9yZ2UgUmVpbGx5KQogCiBNYWMgdW5pY29kZSBwYXRjaCAoRGEgV29vbiBKdW5nLCBFY2tlaGFyZCBCZXJucyk6CkBAIC0xMDkyLDcgKzExMDIsNiBAQAogVGFiIHBhZ2VzOgogOSAgIEdVSSBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHRhYiBwYWdlcyBsaW5lIGZvciBvdGhlciBzeXN0ZW1zLgogOCAgIE1ha2UgR1VJIG1lbnUgaW4gdGFiIHBhZ2VzIGxpbmUgY29uZmlndXJhYmxlLiAgTGlrZSB0aGUgcG9wdXAgbWVudS4KLTggICB0YWIgcGFnZXMgaW4gdGhlIHNlc3Npb24gZmlsZSwgaWYgInRhYnBhZ2VzIiBpbiAnc2Vzc2lvbm9wdGlvbnMnCiA4ICAgOnRhYm1vdmUgK04JIG1vdmUgdGFiIHBhZ2UgTiBwYWdlcyBmb3J3YXJkCiA4ICAgOnRhYm1vdmUgLU4JIG1vdmUgdGFiIHBhZ2UgTiBwYWdlcyBiYWNrd2FyZAogNyAgIDp0YWJkdXAJIGR1cGxpY2F0ZSB0aGUgdGFiIHdpdGggYWxsIGl0cyB3aW5kb3dzLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0IGIvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CmluZGV4IGEwNzU4YTYuLjRhZmFhZWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dAorKysgYi9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKQEAgLTEsNCArMSw0IEBACi0qdmVyc2lvbjcudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGQuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMTAKKyp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wZC4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAxMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNjI4LDcgKzYyOCw3IEBACiB8OnZpdXNhZ2V8CQlIZWxwIGZvciBWaSBjb21tYW5kcyAoTnZpIGNvbW1hbmQpLgogCiB8OnNvcnR8CQkJU29ydCBsaW5lcyBpbiB0aGUgYnVmZmVyIHdpdGhvdXQgZGVwZW5kaW5nIG9uIGFuCi0JCQlleHRlcm5hbCBjb21tYW5kLgorCQkJZXh0ZXJuYWwgY29tbWFuZC4gKHBhcnRseSBieSBCcnljZSBXYWduZXIpCiAKIHw6Y2FkZGZpbGV8CQlBZGQgZXJyb3IgbWVzc2FnZXMgdG8gYW4gZXhpc3RpbmcgcXVpY2tmaXggbGlzdAogCQkJKFllZ2FwcGFuIExha3NobWFuYW4pLgpAQCAtOTEzLDYgKzkxMyw3IEBACiBoZWxwIGZ0cGx1Z2luIGZpbGUuIChOaWtvbGFpIFdlaWJ1bGwpCiBpbmRlbnQgZnRwbHVnaW4gZmlsZS4gKE5pa29sYWkgV2VpYnVsbCkKIEphdmFzY3JpcHQgZnRwbHVnaW4gZmlsZS4gKEJyYW0gTW9vbGVuYWFyKQorS2NvbmZpZyBmdHBsdWdpbiBhbmQgc3ludGF4IGZpbGUuIChOaWtvbGFpIFdlaWJ1bGwpCiBsZCBzeW50YXgsIGluZGVudCBhbmQgZnRwbHVnaW4gZmlsZS4gKE5pa29sYWkgV2VpYnVsbCkKIGxmdHAgZnRwbHVnaW4gZmlsZS4gKE5pa29sYWkgV2VpYnVsbCkKIGxpYmFvIGNvbmZpZyBmdHBsdWdpbiBmaWxlLiAoTmlrb2xhaSBXZWlidWxsKQpAQCAtMjQyMCw0ICsyNDIxLDI2IEBACiAKIEFkZGVkICJ1c2V0YWIiIHRvICdzd2l0Y2hidWYnLgogCisKKy0tLSBmaXhlcyBhbmQgY2hhbmdlcyBzaW5jZSBWaW0gNy4wZCAtLS0KKworQWRkZWQgQ1RSTC1XIFQ6IG1vdmUgYSB3aW5kb3cgdG8gYSBuZXcgdGFiIHBhZ2UuCisKK1VzaW5nIENUUkwtWCBzIGluIEluc2VydCBtb2RlIHRvIGNvbXBsZXRlIHNwZWxsaW5nIHN1Z2dlc3Rpb25zIGFuZCB1c2luZyBCUworZGVsZXRlZCBjaGFyYWN0ZXJzIGJlZm9yZSB0aGUgYmFkIHdvcmQuCisKK0EgZmV3IHNtYWxsIGZpeGVzIGZvciB0aGUgVk1TIG1ha2VmaWxlLiAoWm9sdGFuIEFycGFkZmZ5KQorCitXaXRoIGEgd2luZG93IG9mIDkxIGxpbmVzIDQ1IGNvbHMsICI6dnNwIiBzY3JvbGxlZCB0aGUgd2luZG93LiAgQ29weSB3X3dyb3cKK3doZW4gc3BsaXR0aW5nIGEgd2luZG93IGFuZCBza2lwIHNldHRpbmcgdGhlIGhlaWdodCB3aGVuIGl0J3MgYWxyZWFkeSBhdCB0aGUKK3JpZ2h0IHZhbHVlLgorCitVc2luZyA8c2lsZW50PiBpbiBhIG1hcHBpbmcgd2l0aCBhIHNoZWxsIGNvbW1hbmQgYW5kIHRoZSBHVUkgY2F1c2VkIHJlZHJhdwordG8gdXNlIHdyb25nIGF0dHJpYnV0ZXMuCisKK1dpbjMyOiBVc2luZyBNU1ZDIDQuMSBmb3IgaW5zdGFsbC5leGUgcmVzdWx0ZWQgaW4gdGhlIHN0YXJ0IG1lbnUgaXRlbXMgdG8gYmUKK2NyZWF0ZWQgaW4gdGhlIGFkbWluaXN0cmF0b3IgZGlyZWN0b3J5IGluc3RlYWQgb2YgIkFsbCBVc2VycyIuICBEZWZpbmUgdGhlCitDU0lETF8gaXRlbXMgaWYgdGhleSBhcmUgbWlzc2luZy4KKworCiAgdmltOnR3PTc4OnRzPTg6ZnQ9aGVscDpub3JsOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmltLWZyLjEgYi9ydW50aW1lL2RvYy92aW0tZnIuMQppbmRleCA5NTZjMTIwLi44MjA5ODU3IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92aW0tZnIuMQorKysgYi9ydW50aW1lL2RvYy92aW0tZnIuMQpAQCAtMSw3ICsxLDcgQEAKIC5cIiBUcmFkdWN0aW9uIEx1bmRpIDcgYW/7dCAyMDAwIHBhciBSaWNoYXJkIEhpdGllcgogLlwiIChyaWNoYXJkLmhpdGllckBkaWFsLm9sZWFuZS5jb20pCiAuXCIgTWlzZSDgIGpvdXIgZGUgbGEgdHJhZHVjdGlvbiBwYXIgRGF2aWQgQmxhbmNoZXQKLS5cIiAoZGF2aWQuYmxhbmNoZXRAZnJlZS5mcikgMjAwNS0wMS0xNworLlwiIChkYXZpZC5ibGFuY2hldEBmcmVlLmZyKSAyMDA2LTA2LTEwCiAuXCIKIC5USCBWSU0gMSAiMjIgRul2cmllciAyMDAyIgogLlNIIE5PTQpAQCAtMzI1LDYgKzMyNSwxMCBAQAogT3V2cmUgTiBmZW7qdHJlcyBj9HRlIOAgY/R0ZS4KIFF1YW5kIE4gZXN0IG9taXMsIG91dnJlIHVuZSBmZW7qdHJlIHBvdXIgY2hhcXVlIGZpY2hpZXIgZmljaGllci4KIC5UUAorXC1wW05dCitPdXZyZSBOIG9uZ2xldHMuCitRdWFuZCBOIGVzdCBvbWlzLCBvdXZyZSB1biBvbmdsZXQgcG91ciBjaGFxdWUgZmljaGllciBmaWNoaWVyLgorLlRQCiBcLVIKIE1vZGUgTGVjdHVyZS1TZXVsZS4KIEFjdGl2ZSBsJ29wdGlvbiAncmVhZG9ubHknLgpAQCAtNTc5LDQgKzU4Myw0IEBACiA8cmljaGFyZC5oaXRpZXJAZGlhbC5vbGVhbmUuY29tPiAyMDAwLTA4LTA3LgogLmJyCiBDZXR0ZSBwYWdlIGRlIG1hbnVlbCBhIOl06SBtaXNlIOAgam91ciBwYXIgRGF2aWQgQmxhbmNoZXQuCi08ZGF2aWQuYmxhbmNoZXRAZnJlZS5mcj4gMjAwNS0wMS0xNy4KKzxkYXZpZC5ibGFuY2hldEBmcmVlLmZyPiAyMDA2LTA0LTEwLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmltLWZyLlVURi04LjEgYi9ydW50aW1lL2RvYy92aW0tZnIuVVRGLTguMQppbmRleCBkOWI3Y2Y0Li5hMjFhZDA2IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92aW0tZnIuVVRGLTguMQorKysgYi9ydW50aW1lL2RvYy92aW0tZnIuVVRGLTguMQpAQCAtMSw3ICsxLDcgQEAKIC5cIiBUcmFkdWN0aW9uIEx1bmRpIDcgYW/Du3QgMjAwMCBwYXIgUmljaGFyZCBIaXRpZXIKIC5cIiAocmljaGFyZC5oaXRpZXJAZGlhbC5vbGVhbmUuY29tKQogLlwiIE1pc2Ugw6Agam91ciBkZSBsYSB0cmFkdWN0aW9uIHBhciBEYXZpZCBCbGFuY2hldAotLlwiIChkYXZpZC5ibGFuY2hldEBmcmVlLmZyKSAyMDA1LTAxLTE3CisuXCIgKGRhdmlkLmJsYW5jaGV0QGZyZWUuZnIpIDIwMDYtMDYtMTAKIC5cIgogLlRIIFZJTSAxICIyMiBGw6l2cmllciAyMDAyIgogLlNIIE5PTQpAQCAtMzI1LDYgKzMyNSwxMCBAQAogT3V2cmUgTiBmZW7DqnRyZXMgY8O0dGUgw6AgY8O0dGUuCiBRdWFuZCBOIGVzdCBvbWlzLCBvdXZyZSB1bmUgZmVuw6p0cmUgcG91ciBjaGFxdWUgZmljaGllciBmaWNoaWVyLgogLlRQCitcLXBbTl0KK091dnJlIE4gb25nbGV0cy4KK1F1YW5kIE4gZXN0IG9taXMsIG91dnJlIHVuIG9uZ2xldCBwb3VyIGNoYXF1ZSBmaWNoaWVyIGZpY2hpZXIuCisuVFAKIFwtUgogTW9kZSBMZWN0dXJlLVNldWxlLgogQWN0aXZlIGwnb3B0aW9uICdyZWFkb25seScuCkBAIC01NzksNCArNTgzLDQgQEAKIDxyaWNoYXJkLmhpdGllckBkaWFsLm9sZWFuZS5jb20+IDIwMDAtMDgtMDcuCiAuYnIKIENldHRlIHBhZ2UgZGUgbWFudWVsIGEgw6l0w6kgbWlzZSDDoCBqb3VyIHBhciBEYXZpZCBCbGFuY2hldC4KLTxkYXZpZC5ibGFuY2hldEBmcmVlLmZyPiAyMDA1LTAxLTE3LgorPGRhdmlkLmJsYW5jaGV0QGZyZWUuZnI+IDIwMDYtMDQtMTAuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92aW0uMSBiL3J1bnRpbWUvZG9jL3ZpbS4xCmluZGV4IGNkZjcxYWMuLjRlOTBkYTIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZpbS4xCisrKyBiL3J1bnRpbWUvZG9jL3ZpbS4xCkBAIC0xLDQgKzEsNCBAQAotLlRIIFZJTSAxICIyMDAyIEZlYiAyMiIKKy5USCBWSU0gMSAiMjAwNiBBcHIgMTEiCiAuU0ggTkFNRQogdmltIFwtIFZpIElNcHJvdmVkLCBhIHByb2dyYW1tZXJzIHRleHQgZWRpdG9yCiAuU0ggU1lOT1BTSVMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZpbS5tYW4gYi9ydW50aW1lL2RvYy92aW0ubWFuCmluZGV4IDliNzBlN2YuLmZhNWM1YzggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZpbS5tYW4KKysrIGIvcnVudGltZS9kb2MvdmltLm1hbgpAQCAtNDI1LDQgKzQyNSw0IEBACiAKIAogCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMiBGZWIgMjIgICAgICAgICAgICAgICAgICAgICAgICAgICBWSU0oMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDA2IEFwciAxMSAgICAgICAgICAgICAgICAgICAgICAgICAgIFZJTSgxKQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvd2luZG93cy50eHQgYi9ydW50aW1lL2RvYy93aW5kb3dzLnR4dAppbmRleCBjNGFlYjg3Li40OTliNmNhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy93aW5kb3dzLnR4dAorKysgYi9ydW50aW1lL2RvYy93aW5kb3dzLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp3aW5kb3dzLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wZC4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwNgorKndpbmRvd3MudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBkLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDEwCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC00MzQsNiArNDM0LDEzIEBACiAJCWNvbnRlbnRzIGlzIHVzZWQgZm9yIHRoZSBuZXcgd2luZG93LgogCQl7bm90IGF2YWlsYWJsZSB3aGVuIGNvbXBpbGVkIHdpdGhvdXQgdGhlICt2ZXJ0c3BsaXQgZmVhdHVyZX0KIAorCQkJCQkJKkNUUkwtV19UKgorQ1RSTC1XIFQJTW92ZSB0aGUgY3VycmVudCB3aW5kb3cgdG8gYSBuZXcgdGFiIHBhZ2UuICBUaGlzIGZhaWxzIGlmCisJCXRoZXJlIGlzIG9ubHkgb25lIHdpbmRvdyBpbiB0aGUgY3VycmVudCB0YWIgcGFnZS4KKwkJV2hlbiBhIGNvdW50IGlzIHNwZWNpZmllZCB0aGUgbmV3IHRhYiBwYWdlIHdpbGwgYmUgb3BlbmVkCisJCWJlZm9yZSB0aGUgdGFiIHBhZ2Ugd2l0aCB0aGlzIGluZGV4LiAgT3RoZXJ3aXNlIGl0IGNvbWVzIGFmdGVyCisJCXRoZSBjdXJyZW50IHRhYiBwYWdlLgorCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDYuIFdpbmRvdyByZXNpemluZwkJCQkJKndpbmRvdy1yZXNpemUqCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZmlsZXR5cGUudmltIGIvcnVudGltZS9maWxldHlwZS52aW0KaW5kZXggOGQxZjE1NS4uM2FhMWVlNyAxMDA2NDQKLS0tIGEvcnVudGltZS9maWxldHlwZS52aW0KKysrIGIvcnVudGltZS9maWxldHlwZS52aW0KQEAgLTEsNyArMSw3IEBACiAiIFZpbSBzdXBwb3J0IGZpbGUgdG8gZGV0ZWN0IGZpbGUgdHlwZXMKICIKICIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KLSIgTGFzdCBDaGFuZ2U6CTIwMDYgQXByIDA0CisiIExhc3QgQ2hhbmdlOgkyMDA2IEFwciAxMQogCiAiIExpc3RlbiB2ZXJ5IGNhcmVmdWxseSwgSSB3aWxsIHNheSB0aGlzIG9ubHkgb25jZQogaWYgZXhpc3RzKCJkaWRfbG9hZF9maWxldHlwZXMiKQpAQCAtNzg0LDYgKzc4NCw5IEBACiAiIEtERSBzY3JpcHQKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmtzCQkJc2V0ZiBrc2NyaXB0CiAKKyIgS2NvbmZpZworYXUgQnVmTmV3RmlsZSxCdWZSZWFkIEtjb25maWcsS2NvbmZpZy5kZWJ1ZwlzZXRmIGtjb25maWcKKwogIiBMYWNlIChJU0UpCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5hY2UsKi5BQ0UJCXNldGYgbGFjZQogCkBAIC0xNjYyLDEzICsxNjY1LDI1IEBACiAiIFN1ZG9lcnMKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAvZXRjL3N1ZG9lcnMsc3Vkb2Vycy50bXAJc2V0ZiBzdWRvZXJzCiAKKyIgSWYgdGhlIGZpbGUgaGFzIGFuIGV4dGVuc2lvbiBvZiAndCcgYW5kIGlzIGluIGEgZGlyZWN0b3J5ICd0JyB0aGVuIGl0IGlzCisiIGFsbW9zdCBjZXJ0YWlubHkgYSBQZXJsIHRlc3QgZmlsZS4KICIgSWYgdGhlIGZpcnN0IGxpbmUgc3RhcnRzIHdpdGggJyMnIGFuZCBjb250YWlucyAncGVybCcgaXQncyBwcm9iYWJseSBhIFBlcmwKICIgZmlsZS4KKyIgKFNsb3cgdGVzdCkgSWYgYSBmaWxlIGNvbnRhaW5zIGEgJ3VzZScgc3RhdGVtZW50IHRoZW4gaXQgaXMgYWxtb3N0IGNlcnRhaW5seQorIiBhIFBlcmwgZmlsZS4KIGZ1biEgczpGVHBlcmwoKQorICBpZiBleHBhbmQoIiU6ZSIpID09ICd0JyAmJiBleHBhbmQoIiU6cDpoOnQiKSA9PSAndCcKKyAgICBzZXRmIHBlcmwKKyAgICByZXR1cm4gMQorICBlbmRpZgogICBpZiBnZXRsaW5lKDEpWzBdID09ICcjJyAmJiBnZXRsaW5lKDEpID1+ICdwZXJsJwogICAgIHNldGYgcGVybAogICAgIHJldHVybiAxCiAgIGVuZGlmCisgIGlmIHNlYXJjaCgnXnVzZVxzXHMqXGsnLCAnbmMnLCAzMCkKKyAgICBzZXRmIHBlcmwKKyAgICByZXR1cm4gMQorICBlbmRpZgogICByZXR1cm4gMAogZW5kZnVuCiAKQEAgLTE5NjEsNyArMTk3Niw3IEBACiAiIFpvcGUKICIgICBkdG1sICh6b3BlIGR5bmFtaWMgdGVtcGxhdGUgbWFya3VwIGxhbmd1YWdlKSwgcHQgKHpvcGUgcGFnZSB0ZW1wbGF0ZSksCiAiICAgY3B0ICh6b3BlIGZvcm0gY29udHJvbGxlciBwYWdlIHRlbXBsYXRlKQotYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouZHRtbCwqLnB0LCouY3B0CQljYWxsIDxTSUQ+RlRDaGVja19odG1sKCkKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmR0bWwsKi5wdCwqLmNwdAkJY2FsbCBzOkZUaHRtbCgpCiAiICAgenNxbCAoem9wZSBzcWwgbWV0aG9kKQogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouenNxbAkJCWNhbGwgczpTUUwoKQogCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2tjb25maWcudmltIGIvcnVudGltZS9mdHBsdWdpbi9rY29uZmlnLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTFhNTZiCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9rY29uZmlnLnZpbQpAQCAtMCwwICsxLDE0IEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5vd0BiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNi0wNC0xMAorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IGZvPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcyBmb3JtYXRvcHRpb25zLT10IGZvcm1hdG9wdGlvbnMrPWNyb3FsCisKKwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9vY2FtbC52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL29jYW1sLnZpbQppbmRleCA2ZjJiMTdjLi4wYjk4MTlhIDEwMDY0NAotLS0gYS9ydW50aW1lL2Z0cGx1Z2luL29jYW1sLnZpbQorKysgYi9ydW50aW1lL2Z0cGx1Z2luL29jYW1sLnZpbQpAQCAtNCwxMSArNCwxMiBAQAogIiAgICAgICAgICAgICAgTWFya3VzIE1vdHRsICAgICAgICA8bWFya3VzLm1vdHRsQGdtYWlsLmNvbT4KICIgICAgICAgICAgICAgIFN0ZWZhbm8gWmFjY2hpcm9saSAgPHphY2tAYm9ub25pYS5pdD4KICIgVVJMOiAgICAgICAgIGh0dHA6Ly93d3cub2NhbWwuaW5mby92aW0vZnRwbHVnaW4vb2NhbWwudmltCi0iIExhc3QgQ2hhbmdlOiAyMDA2IEZlYiAwNQorIiBMYXN0IENoYW5nZTogMjAwNiBBcHIgMTEgLSBGaXhlZCBhbiBpbml0aWFsaXphdGlvbiBidWc7IGZpeGVkIEFTUyBhYmJyZXYgKE1NKQorIiAgICAgICAgICAgICAgMjAwNSBPY3QgMTMgLSByZW1vdmVkIEdQTDsgYmV0dGVyIG1hdGNoaXQgc3VwcG9ydCAoTU0sIFNaKQogIgotIiBpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKLSIgICBmaW5pc2gKLSIgZW5kaWYKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCiBsZXQgYjpkaWRfZnRwbHVnaW49MQogCiAiIEVycm9yIGhhbmRsaW5nIC0tIGhlbHBzIG1vdmluZyB3aGVyZSB0aGUgY29tcGlsZXIgd2FudHMgeW91IHRvIGdvCkBAIC00NCw3ICs0NSw3IEBACiAgIHZub3JlbWFwIDxidWZmZXI+IDxQbHVnPkJVbmNvbU9mZiA8RVNDPjonPCwnPjxDUj5gPGRkYD5kZGA8CiAKICAgaWYgIWhhc21hcHRvKCc8UGx1Zz5BYmJyZXYnKQotICAgIGlhYmJyZXYgPGJ1ZmZlcj4gQVNTIChhc3NlcnQgZmFsc2UgKCogWFhYICopKQorICAgIGlhYmJyZXYgPGJ1ZmZlcj4gQVNTIChhc3NlcnQgKDA9MSkgKCogWFhYICopKQogICBlbmRpZgogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQvaHRtbC52aW0gYi9ydW50aW1lL2luZGVudC9odG1sLnZpbQppbmRleCBkNzhkYTE5Li42YzJkNDk5IDEwMDY0NAotLS0gYS9ydW50aW1lL2luZGVudC9odG1sLnZpbQorKysgYi9ydW50aW1lL2luZGVudC9odG1sLnZpbQpAQCAtMSw4ICsxLDggQEAKICIgRGVzY3JpcHRpb246CWh0bWwgaW5kZW50ZXIKICIgQXV0aG9yOglKb2hhbm5lcyBaZWxsbmVyIDxqb2hhbm5lc0B6ZWxsbmVyLm9yZz4KICIgTGFzdCBDaGFuZ2U6CVR1ZSwgMjcgQXByIDIwMDQgMTA6Mjg6MzkgQ0VTVAotIiBHbG9iYWxzOglnOmh0bWxfaW5kZW50X3RhZ3MJICAgLS0gaW5kZW50aW5nIHRhZ3MKLSIJCWc6aHRtbF9pbmRlbnRfc3RyaWN0CSAgIC0tIGluaGliaXQgJ08gTycgZWxlbWVudHMKKyIgR2xvYmFsczoJZzpodG1sX2luZGVudF90YWdzICAgICAgICAgLS0gaW5kZW50aW5nIHRhZ3MKKyIJCWc6aHRtbF9pbmRlbnRfc3RyaWN0ICAgICAgIC0tIGluaGliaXQgJ08gTycgZWxlbWVudHMKICIJCWc6aHRtbF9pbmRlbnRfc3RyaWN0X3RhYmxlIC0tIGluaGliaXQgJ08gLScgZWxlbWVudHMKIAogIiBPbmx5IGxvYWQgdGhpcyBpbmRlbnQgZmlsZSB3aGVuIG5vIG90aGVyIHdhcyBsb2FkZWQuCkBAIC0xNCw3ICsxNCw3IEBACiAKICIgWy0tIGxvY2FsIHNldHRpbmdzIChtdXN0IGNvbWUgYmVmb3JlIGFib3J0aW5nIHRoZSBzY3JpcHQpIC0tXQogc2V0bG9jYWwgaW5kZW50ZXhwcj1IdG1sSW5kZW50R2V0KHY6bG51bSkKLXNldGxvY2FsIGluZGVudGtleXM9byxPLCo8UmV0dXJuPiw8Pj4sPGJzPix7LH0KK3NldGxvY2FsIGluZGVudGtleXM9byxPLCo8UmV0dXJuPiw8Pj4seyx9CiAKIAogaWYgZXhpc3RzKCdnOmh0bWxfaW5kZW50X3RhZ3MnKQpkaWZmIC0tZ2l0IGEvcnVudGltZS9tYWtlbWVudS52aW0gYi9ydW50aW1lL21ha2VtZW51LnZpbQppbmRleCAwMjkwNWM5Li45MTk0ZTlmIDEwMDY0NAotLS0gYS9ydW50aW1lL21ha2VtZW51LnZpbQorKysgYi9ydW50aW1lL21ha2VtZW51LnZpbQpAQCAtMSw2ICsxLDYgQEAKICIgU2NyaXB0IHRvIGRlZmluZSB0aGUgc3ludGF4IG1lbnUgaW4gc3lubWVudS52aW0KICIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KLSIgTGFzdCBDaGFuZ2U6CTIwMDYgQXByIDEwCisiIExhc3QgQ2hhbmdlOgkyMDA2IEFwciAxMQogCiAiIFRoaXMgaXMgdXNlZCBieSAibWFrZSBtZW51IiBpbiB0aGUgc3JjIGRpcmVjdG9yeS4KIGVkaXQgPHNmaWxlPjpwOmgvc3lubWVudS52aW0KQEAgLTIzNyw2ICsyMzcsNyBAQAogU3luTWVudSBISUpLLkphdmFTY3JpcHQ6amF2YXNjcmlwdAogU3luTWVudSBISUpLLkplc3M6amVzcwogU3luTWVudSBISUpLLkpncmFwaDpqZ3JhcGgKK1N5bk1lbnUgSElKSy5LY29uZmlnOmtjb25maWcKIFN5bk1lbnUgSElKSy5LREVcIHNjcmlwdDprc2NyaXB0CiBTeW5NZW51IEhJSksuS2ltd2l0dSsrOmt3dAogU3luTWVudSBISUpLLktpeFRhcnQ6a2l4CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bm1lbnUudmltIGIvcnVudGltZS9zeW5tZW51LnZpbQppbmRleCBlN2FlYzA5Li4xYmRhNTIxIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bm1lbnUudmltCisrKyBiL3J1bnRpbWUvc3lubWVudS52aW0KQEAgLTIxMyw5ICsyMTMsMTAgQEAKIGFuIDUwLjUwLjQ1MCAmU3ludGF4LkhJSksuSmF2YVNjcmlwdCA6Y2FsIFNldFN5bigiamF2YXNjcmlwdCIpPENSPgogYW4gNTAuNTAuNDYwICZTeW50YXguSElKSy5KZXNzIDpjYWwgU2V0U3luKCJqZXNzIik8Q1I+CiBhbiA1MC41MC40NzAgJlN5bnRheC5ISUpLLkpncmFwaCA6Y2FsIFNldFN5bigiamdyYXBoIik8Q1I+Ci1hbiA1MC41MC40OTAgJlN5bnRheC5ISUpLLktERVwgc2NyaXB0IDpjYWwgU2V0U3luKCJrc2NyaXB0Iik8Q1I+Ci1hbiA1MC41MC41MDAgJlN5bnRheC5ISUpLLktpbXdpdHUrKyA6Y2FsIFNldFN5bigia3d0Iik8Q1I+Ci1hbiA1MC41MC41MTAgJlN5bnRheC5ISUpLLktpeFRhcnQgOmNhbCBTZXRTeW4oImtpeCIpPENSPgorYW4gNTAuNTAuNDkwICZTeW50YXguSElKSy5LY29uZmlnIDpjYWwgU2V0U3luKCJrY29uZmlnIik8Q1I+CithbiA1MC41MC41MDAgJlN5bnRheC5ISUpLLktERVwgc2NyaXB0IDpjYWwgU2V0U3luKCJrc2NyaXB0Iik8Q1I+CithbiA1MC41MC41MTAgJlN5bnRheC5ISUpLLktpbXdpdHUrKyA6Y2FsIFNldFN5bigia3d0Iik8Q1I+CithbiA1MC41MC41MjAgJlN5bnRheC5ISUpLLktpeFRhcnQgOmNhbCBTZXRTeW4oImtpeCIpPENSPgogYW4gNTAuNjAuMTAwICZTeW50YXguTC1NYS5MYWNlIDpjYWwgU2V0U3luKCJsYWNlIik8Q1I+CiBhbiA1MC42MC4xMTAgJlN5bnRheC5MLU1hLkxhbWRhUHJvbG9nIDpjYWwgU2V0U3luKCJscHJvbG9nIik8Q1I+CiBhbiA1MC42MC4xMjAgJlN5bnRheC5MLU1hLkxhdHRlIDpjYWwgU2V0U3luKCJsYXR0ZSIpPENSPgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY2wudmltIGIvcnVudGltZS9zeW50YXgvY2wudmltCmluZGV4IDNjNmY0MWIuLjMwMzA4ZTEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2NsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jbC52aW0KQEAgLTEsOCArMSw5IEBACiAiIFZpbSBzeW50YXggZmlsZQogIiBMYW5ndWFnZToJY2wgKCJDbGV2ZXIgTGFuZ3VhZ2UiIGJ5IE11bHRpYmFzZSwgaHR0cDovL3d3dy5tYmFzZS5jb20uYXUpCiAiIEZpbGVuYW1lIGV4dGVuc2lvbnM6ICouZW50LCAqLmVuaQotIiBNYWludGFpbmVyOglQaGlsaXAgVXJlbiA8cGhpbHVAc3lzdGVtNzcuY29tPgotIiBMYXN0IHVwZGF0ZToJV2VkIE1heSAgMiAxMDozMDozMCBFU1QgMjAwMQorIiBNYWludGFpbmVyOglQaGlsaXAgVXJlbiA8cGhpbHVTUEFYQGllZWUub3JnPiAtIFJlbW92ZSBTUEFYIHNwYW0gYmxvY2sKKyIgTGFzdCB1cGRhdGU6CVR1ZSBBcHIgMTEgMTA6MTk6MDEgRVNUIDIwMDYKKyIgJElkJAogCiAiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwogIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZApAQCAtMjgsMTIgKzI5LDE1IEBACiBzeW4gbWF0Y2ggICBjbGlmRXJyb3IJCSJcPGVsc2VcPiIKIHN5biBtYXRjaCAgIGNsaWZFcnJvcgkJIlw8ZW5kaWZcPiIKIAorc3luIG1hdGNoICAgY2xTcGFjZUVycm9yCSJcc1wrJCIKKwogIiBJZiBhbmQgd2hpbGUgcmVnaW9ucwogc3luIHJlZ2lvbiBjbExvb3AJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1jbFdoaWxlIHN0YXJ0PSJcPHdoaWxlXD4iIG1hdGNoZ3JvdXA9Y2xXaGlsZSBlbmQ9Ilw8d2VuZFw+IiBjb250YWlucz1BTExCVVQsY2xCcmVhayxjbFByb2NlZHVyZQogc3luIHJlZ2lvbiBjbElmCQl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWNsQ29uZGl0aW9uYWwgc3RhcnQ9Ilw8aWZcPiIgbWF0Y2hncm91cD1jbENvbmRpdGlvbmFsIGVuZD0iXDxlbmRpZlw+IiAgIGNvbnRhaW5zPUFMTEJVVCxjbEJyZWFrLGNsUHJvY2VkdXJlCiAKICIgTWFrZSB0aG9zZSBUT0RPIG5vdGVzIGFuZCBkZWJ1Z2dpbmcgc3RhbmQgb3V0IQogc3luIGtleXdvcmQJY2xUb2RvCQkJY29udGFpbmVkCVRPRE8gQlVHIERFQlVHIEZJWAorc3luIG1hdGNoCWNsTmVlZHNXb3JrCQljb250YWluZWQJIk5FRURbU10qXHNccypXT1JLIgogc3luIGtleXdvcmQgY2xEZWJ1ZwkJCWNvbnRhaW5lZAlkZWJ1ZwogCiBzeW4gbWF0Y2gJY2xDb21tZW50CQkiIy4qJCIJCWNvbnRhaW5zPWNsVG9kbyxjbE5lZWRzV29yawpAQCAtNzcsNiArODEsNyBAQAogCWVuZGlmCiAKIAlIaUxpbmsgY2xpZkVycm9yCQkJRXJyb3IKKwlIaUxpbmsgY2xTcGFjZUVycm9yCQkJRXJyb3IKIAlIaUxpbmsgY2xXaGlsZQkJCQlSZXBlYXQKIAlIaUxpbmsgY2xDb25kaXRpb25hbAkJQ29uZGl0aW9uYWwKIAlIaUxpbmsgY2xEZWJ1ZwkJCQlEZWJ1ZwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZHRkLnZpbSBiL3J1bnRpbWUvc3ludGF4L2R0ZC52aW0KaW5kZXggMGY4MGUxOS4uNzY3NzhiYSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZHRkLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9kdGQudmltCkBAIC01MiwxMSArNTIsMTEgQEAKIAogIiBpZiB0aGlzIGlzIGEgaHRtbCBsaWtlIGNvbW1lbnQgaGlnaHRsaWdodCBhbHNvCiAiIHRoZSBvcGVuaW5nIDwhIGFuZCB0aGUgY2xvc2luZyA+IGFzIENvbW1lbnQuCi1zeW4gcmVnaW9uIGR0ZENvbW1lbnQJCXN0YXJ0PSs8IVsgXHRdKi0tKyBlbmQ9Ky0tPisgY29udGFpbnM9ZHRkVG9kbworc3luIHJlZ2lvbiBkdGRDb21tZW50CQlzdGFydD0rPCFbIFx0XSotLSsgZW5kPSstLT4rIGNvbnRhaW5zPWR0ZFRvZG8sQFNwZWxsCiAKIAogIiBwcm9wZXIgRFREIGNvbW1lbnQKLXN5biByZWdpb24gZHRkQ29tbWVudCBjb250YWluZWQgc3RhcnQ9Ky0tKyBlbmQ9Ky0tKyBjb250YWlucz1kdGRUb2RvCitzeW4gcmVnaW9uIGR0ZENvbW1lbnQgY29udGFpbmVkIHN0YXJ0PSstLSsgZW5kPSstLSsgY29udGFpbnM9ZHRkVG9kbyxAU3BlbGwKIAogCiAiIFN0YXJ0IHRhZ3MgKGtleXdvcmRzKS4gVGhpcyBpcyBjb250YWluZWQgaW4gZHRkRnVuY3Rpb24uCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9rY29uZmlnLnZpbSBiL3J1bnRpbWUvc3ludGF4L2tjb25maWcudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3OTEwMTQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9rY29uZmlnLnZpbQpAQCAtMCwwICsxLDcyOCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxub3dAYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDYtMDQtMTEKKworaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCisKK2lmIGV4aXN0cygiZzprY29uZmlnX3N5bnRheF9oZWF2eSIpCisKK3N5biBtYXRjaCAgIGtjb25maWdCZWdpbiAgICAgICAgICAgICAgJ14nIG5leHRncm91cD1rY29uZmlnS2V5d29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBrY29uZmlnVG9kbyAgICAgICAgICAgICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCisKK3N5biBtYXRjaCAgIGtjb25maWdDb21tZW50ICAgICAgICAgICAgZGlzcGxheSAnIy4qJCcgY29udGFpbnM9a2NvbmZpZ1RvZG8KKworc3luIGtleXdvcmQga2NvbmZpZ0tleXdvcmQgICAgICAgICAgICBjb25maWcgbmV4dGdyb3VwPWtjb25maWdTeW1ib2wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIGtleXdvcmQga2NvbmZpZ0tleXdvcmQgICAgICAgICAgICBtZW51Y29uZmlnIG5leHRncm91cD1rY29uZmlnU3ltYm9sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIGtjb25maWdLZXl3b3JkICAgICAgICAgICAgY29tbWVudCBtZW51IG1haW5tZW51CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWtjb25maWdLZXl3b3JkUHJvbXB0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIGtjb25maWdLZXl3b3JkICAgICAgICAgICAgY2hvaWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnQ29uZmlnT3B0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIGtleXdvcmQga2NvbmZpZ0tleXdvcmQgICAgICAgICAgICBlbmRtZW51IGVuZGNob2ljZQorCitzeW4ga2V5d29yZCBrY29uZmlnUHJlUHJvYyAgICAgICAgICAgIHNvdXJjZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1rY29uZmlnUGF0aAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCisiIFRPRE86IFRoaXMgaXMgYSBoYWNrLiAgVGhlIHdobyAuKkV4cHIgc3R1ZmYgc2hvdWxkIHJlYWxseSBiZSBnZW5lcmF0ZWQgc28KKyIgdGhhdCB3ZSBjYW4gcmV1c2UgaXQgZm9yIHZhcmlvdXMgbmV4dGdyb3Vwcy4KK3N5biBrZXl3b3JkIGtjb25maWdDb25kaXRpb25hbCAgICAgICAgaWYgZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25maWdPcHRpb25JZkV4cHIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAga2NvbmZpZ0tleXdvcmRQcm9tcHQgICAgICAnIlteIlxcXSpcJShcXC5bXiJcXF0qXCkqIicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25maWdPcHRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4gbWF0Y2ggICBrY29uZmlnUGF0aCAgICAgICAgICAgICAgICciW14iXFxdKlwlKFxcLlteIlxcXSpcKSoiXHxcU1wrJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggICBrY29uZmlnU3ltYm9sICAgICAgICAgICAgICdcPFxrXCtcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25maWdPcHRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCisiIEZJWE1FOiBUaGVyZSBpcyDigJMgcHJvYmFibHkg4oCTIG5vIHJlYXNvbiB0byBjbHVzdGVyIHRoZXNlIGluc3RlYWQgb2YganVzdAorIiBkZWZpbmluZyB0aGVtIGluIHRoZSBzYW1lIGdyb3VwLgorc3luIGNsdXN0ZXIga2NvbmZpZ0NvbmZpZ09wdGlvbnMgICAgICBjb250YWlucz1rY29uZmlnVHlwZURlZmluaXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgIGtjb25maWdJbnB1dFByb21wdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAga2NvbmZpZ0RlZmF1bHRWYWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAga2NvbmZpZ0RlcGVuZGVuY2llcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAga2NvbmZpZ1JldmVyc2VEZXBlbmRlbmNpZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgIGtjb25maWdOdW1lcmljYWxSYW5nZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgIGtjb25maWdIZWxwVGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAga2NvbmZpZ0RlZkJvb2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgIGtjb25maWdPcHRpb25hbAorCitzeW4ga2V5d29yZCBrY29uZmlnVHlwZURlZmluaXRpb24gICAgIGJvb2wgYm9vbGVhbiB0cmlzdGF0ZSBzdHJpbmcgaGV4IGludAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1rY29uZmlnVHlwZURlZlByb21wdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAgQGtjb25maWdDb25maWdPcHRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4gbWF0Y2ggICBrY29uZmlnVHlwZURlZlByb21wdCAgICAgICciW14iXFxdKlwlKFxcLlteIlxcXSpcKSoiJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1rY29uZmlnQ29uZmlnT3B0aW9uSWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIEBrY29uZmlnQ29uZmlnT3B0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ1R5cGVEZWZQcm9tcHQgICAgICAiJ1teJ1xcXSpcJShcXC5bXidcXF0qXCkqJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ0NvbmZpZ09wdGlvbklmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBAa2NvbmZpZ0NvbmZpZ09wdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBrZXl3b3JkIGtjb25maWdJbnB1dFByb21wdCAgICAgICAgcHJvbXB0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWtjb25maWdQcm9tcHRQcm9tcHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAga2NvbmZpZ1Byb21wdFByb21wdCAgICAgICAnIlteIlxcXSpcJShcXC5bXiJcXF0qXCkqIicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ0NvbmZpZ09wdGlvbklmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBAa2NvbmZpZ0NvbmZpZ09wdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBtYXRjaCAgIGtjb25maWdQcm9tcHRQcm9tcHQgICAgICAgIidbXidcXF0qXCUoXFwuW14nXFxdKlwpKiciCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWtjb25maWdDb25maWdPcHRpb25JZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAgQGtjb25maWdDb25maWdPcHRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4ga2V5d29yZCAgIGtjb25maWdEZWZhdWx0VmFsdWUgICAgIGRlZmF1bHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25maWdPcHRpb25FeHByCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIGtjb25maWdEZXBlbmRlbmNpZXMgICAgICAgJ2RlcGVuZHMgb25cfHJlcXVpcmVzJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ0NvbmZpZ09wdGlvbklmRXhwcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBrY29uZmlnUmV2ZXJzZURlcGVuZGVuY2llcyBzZWxlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdSZXZEZXBTeW1ib2wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIGNsdXN0ZXIga2NvbmZpZ1JldkRlcFN5bWJvbCAgICAgICBjb250YWlucz1rY29uZmlnUmV2RGVwQ1N5bWJvbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAga2NvbmZpZ1JldkRlcE5DU3ltYm9sCisKK3N5biBtYXRjaCAgIGtjb25maWdSZXZEZXBDU3ltYm9sICAgICAgJyJbXiJcXF0qXCUoXFwuW14iXFxdKlwpKiInCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWtjb25maWdDb25maWdPcHRpb25JZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAgQGtjb25maWdDb25maWdPcHRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4gbWF0Y2ggICBrY29uZmlnUmV2RGVwQ1N5bWJvbCAgICAgICInW14nXFxdKlwlKFxcLlteJ1xcXSpcKSonIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1rY29uZmlnQ29uZmlnT3B0aW9uSWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIEBrY29uZmlnQ29uZmlnT3B0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ1JldkRlcE5DU3ltYm9sICAgICAnXDxca1wrXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWtjb25maWdDb25maWdPcHRpb25JZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAgQGtjb25maWdDb25maWdPcHRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4ga2V5d29yZCBrY29uZmlnTnVtZXJpY2FsUmFuZ2VzICAgIHJhbmdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnUmFuZ2VTeW1ib2wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIGNsdXN0ZXIga2NvbmZpZ1JhbmdlU3ltYm9sICAgICAgICBjb250YWlucz1rY29uZmlnUmFuZ2VDU3ltYm9sLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICBrY29uZmlnUmFuZ2VOQ1N5bWJvbAorCitzeW4gbWF0Y2ggICBrY29uZmlnUmFuZ2VDU3ltYm9sICAgICAgICciW14iXFxdKlwlKFxcLlteIlxcXSpcKSoiJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ1JhbmdlU3ltYm9sMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ1JhbmdlQ1N5bWJvbCAgICAgICAiJ1teJ1xcXSpcJShcXC5bXidcXF0qXCkqJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdSYW5nZVN5bWJvbDIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBtYXRjaCAgIGtjb25maWdSYW5nZU5DU3ltYm9sICAgICAgJ1w8XGtcK1w+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ1JhbmdlU3ltYm9sMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIGNsdXN0ZXIga2NvbmZpZ1JhbmdlU3ltYm9sMiAgICAgICBjb250YWlucz1rY29uZmlnUmFuZ2VDU3ltYm9sMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAga2NvbmZpZ1JhbmdlTkNTeW1ib2wyCisKK3N5biBtYXRjaCAgIGtjb25maWdSYW5nZUNTeW1ib2wyICAgICAgIidbXidcXF0qXCUoXFwuW14nXFxdKlwpKiciCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWtjb25maWdDb25maWdPcHRpb25JZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAgQGtjb25maWdDb25maWdPcHRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4gbWF0Y2ggICBrY29uZmlnUmFuZ2VOQ1N5bWJvbDIgICAgICdcPFxrXCtcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ0NvbmZpZ09wdGlvbklmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBAa2NvbmZpZ0NvbmZpZ09wdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biByZWdpb24gIGtjb25maWdIZWxwVGV4dCAgICAgICAgICAgY29udGFpbmVkCisgICAgICBcIG1hdGNoZ3JvdXA9a2NvbmZpZ0NvbmZpZ09wdGlvbgorICAgICAgXCBzdGFydD0nXCUoaGVscFx8LS0taGVscC0tLVwpXHMqXG5cemVceihcc1wrXCknCisgICAgICBcIHNraXA9J14kJworICAgICAgXCBlbmQ9J15cejFcQCEnCisgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ0NvbmZpZ09wdGlvbnMKKyAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCisiIFhYWDogVW5kb2N1bWVudGVkCitzeW4ga2V5d29yZCBrY29uZmlnRGVmQm9vbCAgICAgICAgICAgIGRlZl9ib29sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnRGVmQm9vbFN5bWJvbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4gY2x1c3RlciBrY29uZmlnRGVmQm9vbFN5bWJvbCAgICAgIGNvbnRhaW5zPWtjb25maWdEZWZCb29sQ1N5bWJvbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAga2NvbmZpZ0RlZkJvb2xOQ1N5bWJvbAorCitzeW4gbWF0Y2ggICBrY29uZmlnRGVmQm9vbENTeW1ib2wgICAgICciW14iXFxdKlwlKFxcLlteIlxcXSpcKSoiJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1rY29uZmlnQ29uZmlnT3B0aW9uSWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIEBrY29uZmlnQ29uZmlnT3B0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ0RlZkJvb2xDU3ltYm9sICAgICAiJ1teJ1xcXSpcJShcXC5bXidcXF0qXCkqJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ0NvbmZpZ09wdGlvbklmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBAa2NvbmZpZ0NvbmZpZ09wdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBtYXRjaCAgIGtjb25maWdEZWZCb29sTkNTeW1ib2wgICAgJ1w8XGtcK1w+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1rY29uZmlnQ29uZmlnT3B0aW9uSWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIEBrY29uZmlnQ29uZmlnT3B0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworIiBYWFg6IFRoaXMgaXMgYWN0dWFsbHkgb25seSBhIHZhbGlkIG9wdGlvbiBmb3Ig4oCcY2hvaWNl4oCdLCBidXQgdHJlYXRpbmcgaXQKKyIgc3BlY2lhbGx5IHdvdWxkIHJlcXVpcmUgYSBsb3Qgb2YgZXh0cmEgZ3JvdXBzLgorc3luIGtleXdvcmQga2NvbmZpZ09wdGlvbmFsICAgICAgICAgICBvcHRpb25hbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ0NvbmZpZ09wdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBrZXl3b3JkIGtjb25maWdDb25maWdPcHRpb25JZiAgICAgaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25maWdPcHRpb25JZkV4cHIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIGNsdXN0ZXIga2NvbmZpZ0NvbmZpZ09wdGlvbklmRXhwciBjb250YWlucz1Aa2NvbmZpZ0NvbmZPcHRJZkV4cHJTeW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgIGtjb25maWdDb25mT3B0SWZFeHByTmVnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICBrY29uZmlnQ29uZk9wdElmRXhwckdyb3VwCisKK3N5biBjbHVzdGVyIGtjb25maWdDb25mT3B0SWZFeHByU3ltICAgY29udGFpbnM9a2NvbmZpZ0NvbmZPcHRJZkV4cHJDU3ltLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICBrY29uZmlnQ29uZk9wdElmRXhwck5DU3ltCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0SWZFeHByQ1N5bSAgJyJbXiJcXF0qXCUoXFwuW14iXFxdKlwpKiInCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnQ29uZmlnT3B0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRJZkV4cHJBbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZFeHByT3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZFeHByRXEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZFeHByTkVxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdElmRXhwckNTeW0gICInW14nXFxdKlwlKFxcLlteJ1xcXSpcKSonIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ0NvbmZpZ09wdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZFeHByQW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdElmRXhwck9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdElmRXhwckVxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdElmRXhwck5FcQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRJZkV4cHJOQ1N5bSAnXDxca1wrXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnQ29uZmlnT3B0aW9ucywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRJZkV4cHJBbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZFeHByT3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZFeHByRXEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZFeHByTkVxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4gY2x1c3RlciBrY29uZmlnQ29uZk9wdElmRXhwclN5bTIgIGNvbnRhaW5zPWtjb25maWdDb25mT3B0SWZFeHByQ1N5bTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgIGtjb25maWdDb25mT3B0SWZFeHByTkNTeW0yCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0SWZFeHByRXEgICAgJz0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnQ29uZk9wdElmRXhwclN5bTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRJZkV4cHJORXEgICAnIT0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnQ29uZk9wdElmRXhwclN5bTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRJZkV4cHJDU3ltMiAiJ1teJ1xcXSpcJShcXC5bXidcXF0qXCkqJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25maWdPcHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdElmRXhwckFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRJZkV4cHJPcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRJZkV4cHJOQ1N5bTIgJ1w8XGtcK1w+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ0NvbmZpZ09wdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZFeHByQW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdElmRXhwck9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdElmRXhwck5lZyAgICchJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ0NvbmZpZ09wdGlvbklmRXhwcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdElmRXhwckFuZCAgICcmJicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25maWdPcHRpb25JZkV4cHIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRJZkV4cHJPciAgICAnfHwnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnQ29uZmlnT3B0aW9uSWZFeHByCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0SWZFeHByR3JvdXAgJygnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnQ29uZmlnT3B0aW9uSWZHRXhwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKKyIgVE9ETzogaG0sIHRoaXMga2luZCBvZiByZWN1cnNpb24gZG9lc24ndCB3b3JrIHJpZ2h0LiAgV2UgbmVlZCBhbm90aGVyIHNldCBvZgorIiBleHByZXNzaW9ucyB0aGF0IGhhdmUga2NvbmZpZ0NvbmZpZ09QdGlvbklmR0V4cCBhcyBuZXh0Z3JvdXAgYW5kIGEgbWF0Y2hlcgorIiBmb3IgJygnIHRoYXQgc2V0cyBpdCBhbGwgb2ZmLgorc3luIGNsdXN0ZXIga2NvbmZpZ0NvbmZpZ09wdGlvbklmR0V4cCBjb250YWlucz1Aa2NvbmZpZ0NvbmZPcHRJZkdFeHBTeW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgIGtjb25maWdDb25mT3B0SWZHRXhwTmVnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICBrY29uZmlnQ29uZk9wdElmRXhwckdyb3VwCisKK3N5biBjbHVzdGVyIGtjb25maWdDb25mT3B0SWZHRXhwU3ltICAgY29udGFpbnM9a2NvbmZpZ0NvbmZPcHRJZkdFeHBDU3ltLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICBrY29uZmlnQ29uZk9wdElmR0V4cE5DU3ltCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0SWZHRXhwQ1N5bSAgJyJbXiJcXF0qXCUoXFwuW14iXFxdKlwpKiInCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnQ29uZmlnSWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZHRXhwQW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdElmR0V4cE9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdElmR0V4cEVxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdElmR0V4cE5FcQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRJZkdFeHBDU3ltICAiJ1teJ1xcXSpcJShcXC5bXidcXF0qXCkqJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25maWdJZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRJZkdFeHBBbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZHRXhwT3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZHRXhwRXEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZHRXhwTkVxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdElmR0V4cE5DU3ltICdcPFxrXCtcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ0NvbmZPcHRJZkV4cHJHcnBFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdElmR0V4cEFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRJZkdFeHBPciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRJZkdFeHBFcSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRJZkdFeHBORXEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBjbHVzdGVyIGtjb25maWdDb25mT3B0SWZHRXhwU3ltMiAgY29udGFpbnM9a2NvbmZpZ0NvbmZPcHRJZkdFeHBDU3ltMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAga2NvbmZpZ0NvbmZPcHRJZkdFeHBOQ1N5bTIKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRJZkdFeHBFcSAgICAnPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25mT3B0SWZHRXhwU3ltMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdElmR0V4cE5FcSAgICchPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25mT3B0SWZHRXhwU3ltMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdElmR0V4cENTeW0yICciW14iXFxdKlwlKFxcLlteIlxcXSpcKSoiJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1rY29uZmlnQ29uZk9wdElmRXhwckdycEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZHRXhwQW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdElmR0V4cE9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdElmR0V4cENTeW0yICInW14nXFxdKlwlKFxcLlteJ1xcXSpcKSonIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1rY29uZmlnQ29uZk9wdElmRXhwckdycEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZHRXhwQW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdElmR0V4cE9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdElmR0V4cE5DU3ltMiAnXDxca1wrXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWtjb25maWdDb25mT3B0SWZFeHByR3JwRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRJZkdFeHBBbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0SWZHRXhwT3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0SWZHRXhwTmVnICAgJyEnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnQ29uZmlnT3B0aW9uSWZHRXhwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0SWZHRXhwQW5kICAgJyYmJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ0NvbmZpZ09wdGlvbklmR0V4cAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdElmR0V4cE9yICAgICd8fCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25maWdPcHRpb25JZkdFeHAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRJZkV4cHJHcnBFICAnKScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25maWdPcHRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdElmRXhwckFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRJZkV4cHJPcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworCitzeW4gY2x1c3RlciBrY29uZmlnQ29uZmlnT3B0aW9uRXhwciAgIGNvbnRhaW5zPUBrY29uZmlnQ29uZk9wdEV4cHJTeW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgIGtjb25maWdDb25mT3B0RXhwck5lZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAga2NvbmZpZ0NvbmZPcHRFeHByR3JvdXAKKworc3luIGNsdXN0ZXIga2NvbmZpZ0NvbmZPcHRFeHByU3ltICAgICBjb250YWlucz1rY29uZmlnQ29uZk9wdEV4cHJDU3ltLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICBrY29uZmlnQ29uZk9wdEV4cHJOQ1N5bQorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdEV4cHJDU3ltICAgICciW14iXFxdKlwlKFxcLlteIlxcXSpcKSoiJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1rY29uZmlnQ29uZmlnT3B0aW9uSWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0RXhwckFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRFeHByT3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0RXhwckVxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdEV4cHJORXEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIEBrY29uZmlnQ29uZmlnT3B0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRFeHByQ1N5bSAgICAiJ1teJ1xcXSpcJShcXC5bXidcXF0qXCkqJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ0NvbmZpZ09wdGlvbklmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdEV4cHJBbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0RXhwck9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdEV4cHJFcSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRFeHByTkVxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBAa2NvbmZpZ0NvbmZpZ09wdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0RXhwck5DU3ltICAgJ1w8XGtcK1w+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1rY29uZmlnQ29uZmlnT3B0aW9uSWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0RXhwckFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRFeHByT3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0RXhwckVxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdEV4cHJORXEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIEBrY29uZmlnQ29uZmlnT3B0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIGNsdXN0ZXIga2NvbmZpZ0NvbmZPcHRFeHByU3ltMiAgICBjb250YWlucz1rY29uZmlnQ29uZk9wdEV4cHJDU3ltMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAga2NvbmZpZ0NvbmZPcHRFeHByTkNTeW0yCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0RXhwckVxICAgICAgJz0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnQ29uZk9wdEV4cHJTeW0yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0RXhwck5FcSAgICAgJyE9JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ0NvbmZPcHRFeHByU3ltMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdEV4cHJDU3ltMiAgICciW14iXFxdKlwlKFxcLlteIlxcXSpcKSoiJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1rY29uZmlnQ29uZmlnT3B0aW9uSWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0RXhwckFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRFeHByT3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIEBrY29uZmlnQ29uZmlnT3B0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRFeHByQ1N5bTIgICAiJ1teJ1xcXSpcJShcXC5bXidcXF0qXCkqJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ0NvbmZpZ09wdGlvbklmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdEV4cHJBbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0RXhwck9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBAa2NvbmZpZ0NvbmZpZ09wdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0RXhwck5DU3ltMiAgJ1w8XGtcK1w+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1rY29uZmlnQ29uZmlnT3B0aW9uSWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0RXhwckFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRFeHByT3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIEBrY29uZmlnQ29uZmlnT3B0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRFeHByTmVnICAgICAnIScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25maWdPcHRpb25FeHByCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0RXhwckFuZCAgICAgJyYmJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ0NvbmZpZ09wdGlvbkV4cHIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRFeHByT3IgICAgICAnfHwnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnQ29uZmlnT3B0aW9uRXhwcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdEV4cHJHcm91cCAgICcoJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ0NvbmZpZ09wdGlvbkdFeHAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIGNsdXN0ZXIga2NvbmZpZ0NvbmZpZ09wdGlvbkdFeHAgICBjb250YWlucz1Aa2NvbmZpZ0NvbmZPcHRHRXhwU3ltLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICBrY29uZmlnQ29uZk9wdEdFeHBOZWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgIGtjb25maWdDb25mT3B0R0V4cEdyb3VwCisKK3N5biBjbHVzdGVyIGtjb25maWdDb25mT3B0R0V4cFN5bSAgICAgY29udGFpbnM9a2NvbmZpZ0NvbmZPcHRHRXhwQ1N5bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAga2NvbmZpZ0NvbmZPcHRHRXhwTkNTeW0KKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRHRXhwQ1N5bSAgICAnIlteIlxcXSpcJShcXC5bXiJcXF0qXCkqIicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ0NvbmZPcHRFeHByR3JwRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRHRXhwQW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdEdFeHBPciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRHRXhwRXEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0R0V4cE5FcQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRHRXhwQ1N5bSAgICAiJ1teJ1xcXSpcJShcXC5bXidcXF0qXCkqJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ0NvbmZPcHRFeHByR3JwRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRHRXhwQW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdEdFeHBPciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRHRXhwRXEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0R0V4cE5FcQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRHRXhwTkNTeW0gICAnXDxca1wrXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWtjb25maWdDb25mT3B0RXhwckdycEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0R0V4cEFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRHRXhwT3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0R0V4cEVxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdEdFeHBORXEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBjbHVzdGVyIGtjb25maWdDb25mT3B0R0V4cFN5bTIgICAgY29udGFpbnM9a2NvbmZpZ0NvbmZPcHRHRXhwQ1N5bTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgIGtjb25maWdDb25mT3B0R0V4cE5DU3ltMgorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdEdFeHBFcSAgICAgICc9JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ0NvbmZPcHRHRXhwU3ltMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdEdFeHBORXEgICAgICchPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25mT3B0R0V4cFN5bTIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRHRXhwQ1N5bTIgICAnIlteIlxcXSpcJShcXC5bXiJcXF0qXCkqIicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ0NvbmZPcHRFeHByR3JwRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRHRXhwQW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdEdFeHBPcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRHRXhwQ1N5bTIgICAiJ1teJ1xcXSpcJShcXC5bXidcXF0qXCkqJyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ0NvbmZPcHRFeHByR3JwRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRHRXhwQW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdEdFeHBPcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRHRXhwTkNTeW0yICAnXDxca1wrXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWtjb25maWdDb25mT3B0RXhwckdycEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0R0V4cEFuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAga2NvbmZpZ0NvbmZPcHRHRXhwT3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0R0V4cE5lZyAgICAgJyEnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPUBrY29uZmlnQ29uZmlnT3B0aW9uR0V4cAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBrY29uZmlnQ29uZk9wdEdFeHBBbmQgICAgICcmJicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGtjb25maWdDb25maWdPcHRpb25HRXhwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIGtjb25maWdDb25mT3B0R0V4cE9yICAgICAgJ3x8JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1Aa2NvbmZpZ0NvbmZpZ09wdGlvbkdFeHAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbmZPcHRFeHByR3JwRSAgICAnKScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ0NvbmZpZ09wdGlvbklmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICBrY29uZmlnQ29uZk9wdEV4cHJBbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIGtjb25maWdDb25mT3B0RXhwck9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorCitoaSBkZWYgbGluayBrY29uZmlnVG9kbyAgICAgICAgICAgICAgICAgVG9kbworaGkgZGVmIGxpbmsga2NvbmZpZ0NvbW1lbnQgICAgICAgICAgICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIGtjb25maWdLZXl3b3JkICAgICAgICAgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayBrY29uZmlnUHJlUHJvYyAgICAgICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsga2NvbmZpZ0NvbmRpdGlvbmFsICAgICAgICAgIENvbmRpdGlvbmFsCitoaSBkZWYgbGluayBrY29uZmlnUHJvbXB0ICAgICAgICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBrY29uZmlnS2V5d29yZFByb21wdCAgICAgICAga2NvbmZpZ1Byb21wdAoraGkgZGVmIGxpbmsga2NvbmZpZ1BhdGggICAgICAgICAgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsga2NvbmZpZ1N5bWJvbCAgICAgICAgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsga2NvbmZpZ0NvbnN0YW50U3ltYm9sICAgICAgIENvbnN0YW50CitoaSBkZWYgbGluayBrY29uZmlnQ29uZmlnT3B0aW9uICAgICAgICAgVHlwZQoraGkgZGVmIGxpbmsga2NvbmZpZ1R5cGVEZWZpbml0aW9uICAgICAgIGtjb25maWdDb25maWdPcHRpb24KK2hpIGRlZiBsaW5rIGtjb25maWdUeXBlRGVmUHJvbXB0ICAgICAgICBrY29uZmlnUHJvbXB0CitoaSBkZWYgbGluayBrY29uZmlnSW5wdXRQcm9tcHQgICAgICAgICAga2NvbmZpZ0NvbmZpZ09wdGlvbgoraGkgZGVmIGxpbmsga2NvbmZpZ1Byb21wdFByb21wdCAgICAgICAgIGtjb25maWdQcm9tcHQKK2hpIGRlZiBsaW5rIGtjb25maWdEZWZhdWx0VmFsdWUgICAgICAgICBrY29uZmlnQ29uZmlnT3B0aW9uCitoaSBkZWYgbGluayBrY29uZmlnRGVwZW5kZW5jaWVzICAgICAgICAga2NvbmZpZ0NvbmZpZ09wdGlvbgoraGkgZGVmIGxpbmsga2NvbmZpZ1JldmVyc2VEZXBlbmRlbmNpZXMgIGtjb25maWdDb25maWdPcHRpb24KK2hpIGRlZiBsaW5rIGtjb25maWdSZXZEZXBDU3ltYm9sICAgICAgICBrY29uZmlnQ29uc3RhbnRTeW1ib2wKK2hpIGRlZiBsaW5rIGtjb25maWdSZXZEZXBOQ1N5bWJvbCAgICAgICBrY29uZmlnU3ltYm9sCitoaSBkZWYgbGluayBrY29uZmlnTnVtZXJpY2FsUmFuZ2VzICAgICAga2NvbmZpZ0NvbmZpZ09wdGlvbgoraGkgZGVmIGxpbmsga2NvbmZpZ1JhbmdlQ1N5bWJvbCAgICAgICAgIGtjb25maWdDb25zdGFudFN5bWJvbAoraGkgZGVmIGxpbmsga2NvbmZpZ1JhbmdlTkNTeW1ib2wgICAgICAgIGtjb25maWdTeW1ib2wKK2hpIGRlZiBsaW5rIGtjb25maWdSYW5nZUNTeW1ib2wyICAgICAgICBrY29uZmlnQ29uc3RhbnRTeW1ib2wKK2hpIGRlZiBsaW5rIGtjb25maWdSYW5nZU5DU3ltYm9sMiAgICAgICBrY29uZmlnU3ltYm9sCitoaSBkZWYgbGluayBrY29uZmlnSGVscFRleHQgICAgICAgICAgICAgTm9ybWFsCitoaSBkZWYgbGluayBrY29uZmlnRGVmQm9vbCAgICAgICAgICAgICAga2NvbmZpZ0NvbmZpZ09wdGlvbgoraGkgZGVmIGxpbmsga2NvbmZpZ0RlZkJvb2xDU3ltYm9sICAgICAgIGtjb25maWdDb25zdGFudFN5bWJvbAoraGkgZGVmIGxpbmsga2NvbmZpZ0RlZkJvb2xOQ1N5bWJvbCAgICAgIGtjb25maWdTeW1ib2wKK2hpIGRlZiBsaW5rIGtjb25maWdPcHRpb25hbCAgICAgICAgICAgICBrY29uZmlnQ29uZmlnT3B0aW9uCitoaSBkZWYgbGluayBrY29uZmlnQ29uZmlnT3B0aW9uSWYgICAgICAgQ29uZGl0aW9uYWwKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0SWZFeHByQ1N5bSAgICBrY29uZmlnQ29uc3RhbnRTeW1ib2wKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0SWZFeHByTkNTeW0gICBrY29uZmlnU3ltYm9sCitoaSBkZWYgbGluayBrY29uZmlnT3BlcmF0b3IgICAgICAgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0SWZFeHByRXEgICAgICBrY29uZmlnT3BlcmF0b3IKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0SWZFeHByTkVxICAgICBrY29uZmlnT3BlcmF0b3IKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0SWZFeHByQ1N5bTIgICBrY29uZmlnQ29uc3RhbnRTeW1ib2wKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0SWZFeHByTkNTeW0yICBrY29uZmlnU3ltYm9sCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdElmRXhwck5lZyAgICAga2NvbmZpZ09wZXJhdG9yCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdElmRXhwckFuZCAgICAga2NvbmZpZ09wZXJhdG9yCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdElmRXhwck9yICAgICAga2NvbmZpZ09wZXJhdG9yCitoaSBkZWYgbGluayBrY29uZmlnRGVsaW1pdGVyICAgICAgICAgICAgRGVsaW1pdGVyCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdElmRXhwckdyb3VwICAga2NvbmZpZ0RlbGltaXRlcgoraGkgZGVmIGxpbmsga2NvbmZpZ0NvbmZPcHRJZkdFeHBDU3ltICAgIGtjb25maWdDb25zdGFudFN5bWJvbAoraGkgZGVmIGxpbmsga2NvbmZpZ0NvbmZPcHRJZkdFeHBOQ1N5bSAgIGtjb25maWdTeW1ib2wKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0SWZHRXhwRXEgICAgICBrY29uZmlnT3BlcmF0b3IKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0SWZHRXhwTkVxICAgICBrY29uZmlnT3BlcmF0b3IKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0SWZHRXhwQ1N5bTIgICBrY29uZmlnQ29uc3RhbnRTeW1ib2wKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0SWZHRXhwTkNTeW0yICBrY29uZmlnU3ltYm9sCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdElmR0V4cE5lZyAgICAga2NvbmZpZ09wZXJhdG9yCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdElmR0V4cEFuZCAgICAga2NvbmZpZ09wZXJhdG9yCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdElmR0V4cE9yICAgICAga2NvbmZpZ09wZXJhdG9yCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdElmRXhwckdycEUgICAga2NvbmZpZ0RlbGltaXRlcgoraGkgZGVmIGxpbmsga2NvbmZpZ0NvbmZPcHRFeHByQ1N5bSAgICAgIGtjb25maWdDb25zdGFudFN5bWJvbAoraGkgZGVmIGxpbmsga2NvbmZpZ0NvbmZPcHRFeHByTkNTeW0gICAgIGtjb25maWdTeW1ib2wKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0RXhwckVxICAgICAgICBrY29uZmlnT3BlcmF0b3IKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0RXhwck5FcSAgICAgICBrY29uZmlnT3BlcmF0b3IKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0RXhwckNTeW0yICAgICBrY29uZmlnQ29uc3RhbnRTeW1ib2wKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0RXhwck5DU3ltMiAgICBrY29uZmlnU3ltYm9sCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdEV4cHJOZWcgICAgICAga2NvbmZpZ09wZXJhdG9yCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdEV4cHJBbmQgICAgICAga2NvbmZpZ09wZXJhdG9yCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdEV4cHJPciAgICAgICAga2NvbmZpZ09wZXJhdG9yCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdEV4cHJHcm91cCAgICAga2NvbmZpZ0RlbGltaXRlcgoraGkgZGVmIGxpbmsga2NvbmZpZ0NvbmZPcHRHRXhwQ1N5bSAgICAgIGtjb25maWdDb25zdGFudFN5bWJvbAoraGkgZGVmIGxpbmsga2NvbmZpZ0NvbmZPcHRHRXhwTkNTeW0gICAgIGtjb25maWdTeW1ib2wKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0R0V4cEVxICAgICAgICBrY29uZmlnT3BlcmF0b3IKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0R0V4cE5FcSAgICAgICBrY29uZmlnT3BlcmF0b3IKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0R0V4cENTeW0yICAgICBrY29uZmlnQ29uc3RhbnRTeW1ib2wKK2hpIGRlZiBsaW5rIGtjb25maWdDb25mT3B0R0V4cE5DU3ltMiAgICBrY29uZmlnU3ltYm9sCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdEdFeHBOZWcgICAgICAga2NvbmZpZ09wZXJhdG9yCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdEdFeHBBbmQgICAgICAga2NvbmZpZ09wZXJhdG9yCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdEdFeHBPciAgICAgICAga2NvbmZpZ09wZXJhdG9yCitoaSBkZWYgbGluayBrY29uZmlnQ29uZk9wdEV4cHJHcnBFICAgICAga2NvbmZpZ0NvbmZPcHRJZkV4cHJHcm91cAorCitlbHNlCisKK3N5biBrZXl3b3JkIGtjb25maWdUb2RvICAgICAgICAgICAgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKKworc3luIG1hdGNoICAga2NvbmZpZ0NvbW1lbnQgICAgICAgICAgICBkaXNwbGF5ICcjLiokJyBjb250YWlucz1rY29uZmlnVG9kbworCitzeW4ga2V5d29yZCBrY29uZmlnS2V5d29yZCAgICAgICAgICAgIGNvbmZpZyBtZW51Y29uZmlnIGNvbW1lbnQgbWVudSBtYWlubWVudQorCitzeW4ga2V5d29yZCBrY29uZmlnQ29uZGl0aW9uYWwgICAgICAgIGNob2ljZSBlbmRjaG9pY2UgaWYgZW5kaWYKKworc3luIGtleXdvcmQga2NvbmZpZ1ByZVByb2MgICAgICAgICAgICBzb3VyY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9a2NvbmZpZ1BhdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAga2NvbmZpZ1NwZWNpYWxDaGFyICAgICAgICBjb250YWluZWQgJ1xcLicKKworc3luIHJlZ2lvbiAga2NvbmZpZ1BhdGggICAgICAgICAgICAgICBtYXRjaGdyb3VwPWtjb25maWdQYXRoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcXCIrIGVuZD0rIisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1rY29uZmlnU3BlY2lhbENoYXIKKworc3luIHJlZ2lvbiAga2NvbmZpZ1BhdGggICAgICAgICAgICAgICBtYXRjaGdyb3VwPWtjb25maWdQYXRoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcXCcrIGVuZD0rJysKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1rY29uZmlnU3BlY2lhbENoYXIKKworc3luIG1hdGNoICAga2NvbmZpZ1BhdGggICAgICAgICAgICAgICAnXFNcKycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWluZWQKKworc3luIHJlZ2lvbiAga2NvbmZpZ1N0cmluZyAgICAgICAgICAgICBtYXRjaGdyb3VwPWtjb25maWdTdHJpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFxcIisgZW5kPSsiKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWtjb25maWdTcGVjaWFsQ2hhcgorCitzeW4gcmVnaW9uICBrY29uZmlnU3RyaW5nICAgICAgICAgICAgIG1hdGNoZ3JvdXA9a2NvbmZpZ1N0cmluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSsnKyBza2lwPStcXFxcXHxcXFwnKyBlbmQ9KycrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9a2NvbmZpZ1NwZWNpYWxDaGFyCisKK3N5biBrZXl3b3JkIGtjb25maWdUeXBlICAgICAgICAgICAgICAgYm9vbCBib29sZWFuIHRyaXN0YXRlIHN0cmluZyBoZXggaW50CisKK3N5biBrZXl3b3JkIGtjb25maWdPcHRpb24gICAgICAgICAgICAgcHJvbXB0IGRlZmF1bHQgcmVxdWlyZXMgc2VsZWN0IHJhbmdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgb3B0aW9uYWwKK3N5biBtYXRjaCAgIGtjb25maWdPcHRpb24gICAgICAgICAgICAgJ2RlcGVuZHNcJSggb25cKScKKworc3luIGtleXdvcmQga2NvbmZpZ01hY3JvICAgICAgICAgICAgICBkZWZfYm9vbCBkZWZfdHJpc3RhdGUKKworc3luIHJlZ2lvbiAga2NvbmZpZ0hlbHBUZXh0ICAgICAgICAgICBjb250YWluZWQKKyAgICAgIFwgbWF0Y2hncm91cD1rY29uZmlnQ29uZmlnT3B0aW9uCisgICAgICBcIHN0YXJ0PSdcJShoZWxwXHwtLS1oZWxwLS0tXClccypcblx6ZVx6KFxzXCtcKScKKyAgICAgIFwgc2tpcD0nXiQnCisgICAgICBcIGVuZD0nXlx6MVxAIScKKworaGkgZGVmIGxpbmsga2NvbmZpZ1RvZG8gICAgICAgICBUb2RvCitoaSBkZWYgbGluayBrY29uZmlnQ29tbWVudCAgICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIGtjb25maWdLZXl3b3JkICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsga2NvbmZpZ0NvbmRpdGlvbmFsICBDb25kaXRpb25hbAoraGkgZGVmIGxpbmsga2NvbmZpZ1ByZVByb2MgICAgICBQcmVQcm9jCitoaSBkZWYgbGluayBrY29uZmlnU3BlY2lhbENoYXIgIFNwZWNpYWxDaGFyCitoaSBkZWYgbGluayBrY29uZmlnUGF0aCAgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsga2NvbmZpZ1N0cmluZyAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIGtjb25maWdUeXBlICAgICAgICAgVHlwZQoraGkgZGVmIGxpbmsga2NvbmZpZ09wdGlvbiAgICAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayBrY29uZmlnSGVscFRleHQgICAgIE5vcm1hbAoraGkgZGVmIGxpbmsga2NvbmZpZ21hY3JvICAgICAgICBNYWNybworCitlbmRpZgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJrY29uZmlnIgorCitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L29jYW1sLnZpbSBiL3J1bnRpbWUvc3ludGF4L29jYW1sLnZpbQppbmRleCBkOTVhM2M4Li5jZGVmOGMzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9vY2FtbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvb2NhbWwudmltCkBAIC01LDkgKzUsOSBAQAogIiAgICAgICAgICAgICAgIEthcmwtSGVpbnogU3lsbGEgIDxLYXJsLUhlaW56LlN5bGxhQGdtZC5kZT4KICIgICAgICAgICAgICAgICBJc3NhYyBUcm90dHMgICAgICA8aWp0cm90dHNAdWNkYXZpcy5lZHU+CiAiIFVSTDogICAgICAgICAgaHR0cDovL3d3dy5vY2FtbC5pbmZvL3ZpbS9zeW50YXgvb2NhbWwudmltCi0iIExhc3QgQ2hhbmdlOiAgMjAwNSBNYXkgMTggLSBBZGRlZCAnTk9URScgdG8gaGlnaGxpZ2h0ZWQgY29tbWVudCB3b3JkcyAoTU0pCisiIExhc3QgQ2hhbmdlOiAgMjAwNiBBcHIgMTEgLSBGaXhlZCBhbiBpbml0aWFsaXphdGlvbiBidWcgKE1NKQorIiAgICAgICAgICAgICAgIDIwMDUgTWF5IDE4IC0gQWRkZWQgJ05PVEUnIHRvIGhpZ2hsaWdodGVkIGNvbW1lbnQgd29yZHMgKE1NKQogIiAgICAgICAgICAgICAgIDIwMDUgQXByIDE0IC0gRml4ZWQgYSBzbWFsbCBidWcgY29uY2VybmluZyAnaW5jbHVkZScgKE1NKQotIiAgICAgICAgICAgICAgIDIwMDUgTWFyIDE1IC0gQWRkZWQgYSBwYXRjaCBmcm9tIERhdmlkIEJhZWxkZSAoTU0pCiAKICIgQSBtaW5vciBwYXRjaCB3YXMgYXBwbGllZCB0byB0aGUgb2ZmaWNpYWwgdmVyc2lvbiBzbyB0aGF0IG9iamVjdC9lbmQKICIgY2FuIGJlIGRpc3Rpbmd1aXNoZWQgZnJvbSBiZWdpbi9lbmQsIHdoaWNoIGlzIHVzZWQgZm9yIGluZGVudGF0aW9uLApAQCAtMTcsNyArMTcsNyBAQAogIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAogaWYgdmVyc2lvbiA8IDYwMAogICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKSAmJiBiOmN1cnJlbnRfc3ludGF4ICE9ICJvY2FtbCIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKSAmJiBiOmN1cnJlbnRfc3ludGF4ID09ICJvY2FtbCIKICAgZmluaXNoCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wcm9ncmVzcy52aW0gYi9ydW50aW1lL3N5bnRheC9wcm9ncmVzcy52aW0KaW5kZXggZGQyOTMxMC4uNTc2MDQyMyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcHJvZ3Jlc3MudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Byb2dyZXNzLnZpbQpAQCAtMywxMiArMywxMiBAQAogIiBGaWxlbmFtZSBleHRlbnNpb25zOgkqLnAgKGNvbGxpZGVzIHdpdGggUGFzY2FsKSwKICIJCQkJCQkqLmkgKGNvbGxpZGVzIHdpdGggYXNzZW1ibGVyKQogIgkJCQkJCSoudyAoY29sbGlkZXMgd2l0aCBjd2ViKQotIiBNYWludGFpbmVyOgkJCVBoaWxpcCBVcmVuCQkJPHBoaWx1QGNvbXB1dGVyLm9yZz4KLSIgQ29udHJpYnV0b3JzOgkJCUNocmlzIFJ1cHJlY2h0CQk8Y2hydXBAbWFjLmNvbT4KLSIJCQkJCQlQaGlsaXAgVXJlbgkJCTxwaGlsdUBjb21wdXRlci5vcmc+CisiIE1haW50YWluZXI6CQkJUGhpbGlwIFVyZW4JCQk8cGhpbHVTUEFYQGllZWUub3JnPiBSZW1vdmUgIlNQQVgiIHNwYW0gYmxvY2sKKyIgQ29udHJpYnV0b3JzOiAgICAgICAgIENocmlzIFJ1cHJlY2h0CQk8Y2hydXBAbWFjLmNvbT4KICIJCQkJCQlNaWtoYWlsIEt1cGVyYmx1bQk8bWlraGFpbEB3aGFzdXAuY29tPgotIiBVUkw6CQkJCQlodHRwOi8vd3d3LnpldGEub3JnLmF1L35waGlsdS92aW0vcHJvZ3Jlc3MudmltCi0iIExhc3QgQ2hhbmdlOgkJCVRodSBNYXkgIDMgMDg6NDk6NDcgRVNUIDIwMDEKKyIJCQkJCQlKb2huIEZsb3JpYW4JCTxqZmxvcmlhbkB2b3lhZ2VyLm5ldD4KKyIgTGFzdCBDaGFuZ2U6CQkJVHVlIEFwciAxMSAxMDoxODoyMyBFU1QgMjAwNgorIiAkSWQkCiAKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCkBAIC0yNCw2ICsyNCw5IEBACiAgIHNldCBpc2tleXdvcmQ9QCw0OC01NyxfLC0sISwjLCQsJQogZW5kaWYKIAorIiBUaGUgUHJvZ3Jlc3MgZWRpdG9yIGRvZXNuJ3QgY29wZSB3aXRoIHRhYnMgdmVyeSB3ZWxsLgorc2V0IGV4cGFuZHRhYgorCiBzeW4gY2FzZSBpZ25vcmUKIAogIiBQcm9ncmVzcyBCbG9ja3Mgb2YgY29kZSBhbmQgbWlzbWF0Y2hlZCAiZW5kLiIgZXJyb3JzLgpAQCAtMzEsNyArMzQsNyBAQAogc3luIHJlZ2lvbiBQcm9ncmVzc0RvQmxvY2sgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1Qcm9ncmVzc0RvIHN0YXJ0PSJcPGRvXD4iIG1hdGNoZ3JvdXA9UHJvZ3Jlc3NEbyBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxQcm9ncmVzc1Byb2NlZHVyZSxQcm9ncmVzc0Z1bmN0aW9uCiBzeW4gcmVnaW9uIFByb2dyZXNzRm9yQmxvY2sgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1Qcm9ncmVzc0ZvciBzdGFydD0iXDxmb3JcPiIgbWF0Y2hncm91cD1Qcm9ncmVzc0ZvciBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxQcm9ncmVzc1Byb2NlZHVyZSxQcm9ncmVzc0Z1bmN0aW9uCiBzeW4gcmVnaW9uIFByb2dyZXNzUmVwZWF0QmxvY2sgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1Qcm9ncmVzc1JlcGVhdCBzdGFydD0iXDxyZXBlYXRcPiIgbWF0Y2hncm91cD1Qcm9ncmVzc1JlcGVhdCBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxQcm9ncmVzc1Byb2NlZHVyZSxQcm9ncmVzc0Z1bmN0aW9uCi1zeW4gcmVnaW9uIFByb2dyZXNzQ2FzZUJsb2NrIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9UHJvZ3Jlc3NDYXNlIHN0YXJ0PSJcPGNhc2VcPiIgbWF0Y2hncm91cD1Qcm9ncmVzc0Nhc2UgZW5kPSJcPGVuZFxzY2FzZVw+IiBjb250YWlucz1BTExCVVQsUHJvZ3Jlc3NQcm9jZWR1cmUsUHJvZ3Jlc3NGdW5jdGlvbgorc3luIHJlZ2lvbiBQcm9ncmVzc0Nhc2VCbG9jayB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPVByb2dyZXNzQ2FzZSBzdGFydD0iXDxjYXNlXD4iIG1hdGNoZ3JvdXA9UHJvZ3Jlc3NDYXNlIGVuZD0iXDxlbmRcc2Nhc2VcPlx8XDxlbmRcPiIgY29udGFpbnM9QUxMQlVULFByb2dyZXNzUHJvY2VkdXJlLFByb2dyZXNzRnVuY3Rpb24KIAogIiBUaGVzZSBhcmUgUHJvZ3Jlc3MgcmVzZXJ2ZWQgd29yZHMsCiAiIGFuZCB0aGV5IGNvdWxkIGdvIGluIFByb2dyZXNzUmVzZXJ2ZWQsCkBAIC00MywxNCArNDYsMjMgQEAKIHN5biBrZXl3b3JkCVByb2dyZXNzVG9kbwkJCWNvbnRhaW5lZAlUT0RPIEJVRyBGSVgKIHN5biBrZXl3b3JkIFByb2dyZXNzRGVidWcJCQljb250YWluZWQJREVCVUcKIHN5biBrZXl3b3JkIFByb2dyZXNzRGVidWcJCQkJCQlkZWJ1Z2dlcgorc3luIG1hdGNoICAgUHJvZ3Jlc3NUb2RvICAgICAgICAgICAgY29udGFpbmVkICAgIk5FRURbU10qXHNccypXT1JLIgogCi1zeW4ga2V5d29yZCBQcm9ncmVzc0Z1bmN0aW9uCXByb2NlZHVyZSBmdW5jdGlvbgorIiBJZiB5b3UgbGlrZSB0byBoaWdobGlnaHQgdGhlIHdob2xlIGxpbmUgb2YKKyIgdGhlIHN0YXJ0IGFuZCBlbmQgb2YgcHJvY2VkdXJlcworIiB0byBtYWtlIHRoZSB3aG9sZSBibG9jayBvZiBjb2RlIHN0YW5kIG91dDoKK3N5biBtYXRjaCBQcm9ncmVzc1Byb2NlZHVyZQkJIl5ccypwcm9jZWR1cmUuKiIKK3N5biBtYXRjaCBQcm9ncmVzc1Byb2NlZHVyZQkJIl5ccyplbmRcc1xzKnByb2NlZHVyZS4qIgorc3luIG1hdGNoIFByb2dyZXNzRnVuY3Rpb24JCSJeXHMqZnVuY3Rpb24uKiIKK3N5biBtYXRjaCBQcm9ncmVzc0Z1bmN0aW9uCQkiXlxzKmVuZFxzXHMqZnVuY3Rpb24uKiIKKyIgLi4uIG90aGVyd2lzZSB1c2UgdGhpczoKKyIgc3luIGtleXdvcmQgUHJvZ3Jlc3NGdW5jdGlvbglwcm9jZWR1cmUgZnVuY3Rpb24KIAogc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAlhY2N1bVt1bGF0ZV0gYWN0aXZlLXdpbmRvdyBhZGQgYWxpYXMgYWxsIGFsdGVyIGFtYmlnW3VvdXNdIGFuYWx5eltlXSBhbmQgYW55IGFwcGx5IGFzIGFzY1tlbmRpbmddIGFzc2lnbiBhdCBhdHRyWy1zcGFjZV0KIHN5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJYXV0aG9yaXphdGlvbiBhdXRvLXJldFt1cm5dIGF2YWlsW2FibGVdIGJhY2tbZ3JvdW5kXSBiZWZvcmUtaFtpZGVdIGJlZ2lucyBiZWxsIGJldHdlZW4gYmxhbmsgYnJlYWsgYnRvcyBieSBjYWxsIGNhbi1kbyBjYW4tZmluZAotc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAljZW50ZXJbZWRdIGNoZWNrIGNociBjbGVhciBjbGlwYm9hcmQgY29sIGNvbG9uIGNvbG9yIGNvbFt1bW5dIGNvbHVtbi1sYWJbZWxdIGNvbFt1bW5zXSBjb21waWxlciBjb25uZWN0ZWQgY29udHJvbCBjb3VudC1vZgorc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAljZW50ZXJbZWRdIGNoYXJhY3RlciBjaGVjayBjaHIgY2xlYXIgY2xpcGJvYXJkIGNvbCBjb2xvbiBjb2xvciBjb2xbdW1uXSBjb2x1bW4tbGFiW2VsXSBjb2xbdW1uc10gY29tcGlsZXIgY29ubmVjdGVkIGNvbnRyb2wgY291bnQtb2YKIHN5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJY3BzdHJlYW0gY3JlYXRlIGN0b3MgY3VycmVudCBjdXJyZW50LWNoYW5nZWQgY3VycmVudC1sYW5nW3VhZ2VdIGN1cnJlbnQtd2luZG93IGN1cnJlbnRfZGF0ZSBjdXJzW29yXSBkYXRhYmFzZSBkYXRhc2VydmVycwotc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAlkYmNvZGVwYWdlIGRiY29sbGF0aW9uIGRibmFtZSBkYnJlc3RbcmljdGlvbnNdIGRidGFza2lkIGRidHlwZSBkYnZlcnNbaW9uXSBkZGUgZGVibGFuayBkZWJ1Zy1saXN0IGRlYnVnZ2VyIGRlY2ltYWxzIGRlY2xhcmUKK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJZGJjb2RlcGFnZSBkYmNvbGxhdGlvbiBkYm5hbWUgZGJyZXN0W3JpY3Rpb25zXSBkYnRhc2tpZCBkYnR5cGUgZGJ2ZXJzW2lvbl0gZGRlIGRlYmxhbmsgZGVidWctbGlzdCBkZWJ1Z2dlciBkZWNpbWFsIGRlY2ltYWxzIGRlY2xhcmUKIHN5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJZGVmIGRlZmF1bHQgZGVmYXVsdC1ub3hsW2F0ZV0gZGVmYXVsdC13aW5kb3cgZGVmW2luZV0gZGVsZXRlIGRlbGltaXRlciBkZXNjW2VuZGluZ10gZGljdFtpb25hcnldIGRpc2FibGUgZGlzY29uW25lY3RdIGRpc3AKIHN5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJZGlzcFtsYXldIGRpc3RpbmN0IGRvcyBkb3duIGRyb3AgZWRpdGluZyBlbmFibGUgZW5jb2RlIGVudHJ5IGVycm9yLXN0YXRbdXNdIGVzY2FwZSBldGltZSBleGNlcHQgZXhjbHVzaXZlCiBzeW4ga2V5d29yZCBQcm9ncmVzc1Jlc2VydmVkCWV4Y2x1c2l2ZVstbG9ja10gZXhjbHVzaXZlLXdlYi11c1tlcl0gZXhpc3RzIGV4cG9ydCBmYWxzZSBmZXRjaCBmaWVsZCBmaWVsZFtzXSBmaWxlLWluZm9bcm1hdGlvbl0gZmlsbCBmaW5kIGZpbmQtY2FzZS1zZW5zaXRpdmUKQEAgLTU4LDcgKzcwLDcgQEAKIHN5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJZnJhbVtlXSBmcmFtZS1jb2wgZnJhbWUtZGIgZnJhbWUtZG93biBmcmFtZS1maWVsZCBmcmFtZS1maWxlIGZyYW1lLWluZGVbeF0gZnJhbWUtbGluZSBmcmFtZS1uYW1lIGZyYW1lLXJvdyBmcmFtZS12YWxbdWVdCiBzeW4ga2V5d29yZCBQcm9ncmVzc1Jlc2VydmVkCWZyb20gZnJvbS1jW2hhcnNdIGZyb20tcFtpeGVsc10gZ2F0ZXdheVtzXSBnZXQtYnl0ZSBnZXQtY29kZXBhZ2Vbc10gZ2V0LWNvbGxbYXRpb25zXSBnZXQta2V5LXZhbFt1ZV0gZ2V0Ynl0ZSBnbG9iYWwgZ28tb24KIHN5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJZ28tcGVuZFtpbmddIGdyYW50IGdyYXBoaWMtZVtkZ2VdIGdyb3VwIGhhdmluZyBoZWFkZXIgaGVscCBoaWRlIGltcG9ydCBpbiBpbmRleCBpbmRpY2F0b3IgaW5wdXQgaW5wdXQtb1t1dHB1dF0gaW5zZXJ0Ci1zeW4ga2V5d29yZCBQcm9ncmVzc1Jlc2VydmVkCWludG8gaXMgaXMtYXR0clstc3BhY2VdIGpvaW4ga2JsYWJlbCBrZXktY29kZSBrZXktZnVuY1t0aW9uXSBrZXktbGFiZWwga2V5Y29kZSBrZXlmdW5jW3Rpb25dIGtleWxhYmVsIGtleXMga2V5d29yZCBsYWJlbAorc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAlpbnRlZ2VyIGludG8gaXMgaXMtYXR0clstc3BhY2VdIGpvaW4ga2JsYWJlbCBrZXktY29kZSBrZXktZnVuY1t0aW9uXSBrZXktbGFiZWwga2V5Y29kZSBrZXlmdW5jW3Rpb25dIGtleWxhYmVsIGtleXMga2V5d29yZCBsYWJlbAogc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAlsYXN0IGxhc3QtZXZlblt0XSBsYXN0LWtleSBsYXN0LW9mIGxhc3RrZXkgbGRibmFtZSBsZWF2ZSBsaWJyYXJ5IGxpa2UgbGluZS1jb3VudFtlcl0gbGlzdGlbbmddIGxvY2tlZCBsb29rdXAgbWFjaGluZS1jbGFzcwogc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAltYXAgbWVtYmVyIG1lc3NhZ2UgbWVzc2FnZS1saW5lcyBtb3VzZSBtcGUgbmV3IG5leHQgbmV4dC1wcm9tcHQgbm8gbm8tYXR0clstc3BhY2VdIG5vLWVycm9yIG5vLWZbaWxsXSBuby1oZWxwIG5vLWhpZGUgbm8tbGFiZWxbc10KIHN5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJbm8tbG9jayBuby1tYXAgbm8tbWVzW3NhZ2VdIG5vLXBhdXNlIG5vLXByZWZlW3RjaF0gbm8tdW5kbyBuby12YWxbaWRhdGVdIG5vLXdhaXQgbm90IG51bGwgbnVtLWFsaVthc2VzXSBudW0tZGJzIG51bS1lbnRyaWVzCkBAIC03MCwzOSArODIsNTEgQEAKIHN5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJc2Nyb2xsIHNkYm5hbWUgc2VhcmNoIHNlZWsgc2VsZWN0IHNlbGYgc2Vzc2lvbiBzZXQgc2V0dXNlcltpZF0gc2hhcmVbLWxvY2tdIHNoYXJlZCBzaG93LXN0YXRbc10gc2tpcCBzb21lIHNwYWNlIHN0YXR1cyBzdHJlYW0KIHN5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJc3RyZWFtLWlvIHN0cmluZy14cmVmIHN5c3RlbS1kaWFsb2cgdGFibGUgdGVybSB0ZXJtW2luYWxdIHRleHQgdGV4dC1jdXJzb3IgdGV4dC1zZWdbLWdyb3d0aF0gdGhpcy1wcm9jZWR1cmUgdGltZSB0aXRsZQogc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAl0byB0b2RheSB0b3Atb25seSB0cmFucyB0cmFuc1thY3Rpb25dIHRyaWdnZXIgdHJpZ2dlcnMgdHJpbSB0cnVlIHVuZGVybFtpbmVdIHVuZG8gdW5mb3JtW2F0dGVkXSB1bmlvbiB1bmlxdWUgdW5peCB1cCB1cGRhdGUKLXN5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJdXNlLWluZGV4IHVzZS1yZXZ2aWRlbyB1c2UtdW5kZXJsaW5lIHVzZXIgdXNlcltpZF0gdXNpbmcgdjZmcmFtZSB2YWx1ZSB2YWx1ZXMgdmlldyB2aWV3LWFzIHZtcyB3YWl0LWZvciB3ZWItY29uW3RleHRdCitzeW4ga2V5d29yZCBQcm9ncmVzc1Jlc2VydmVkCXVzZS1pbmRleCB1c2UtcmV2dmlkZW8gdXNlLXVuZGVybGluZSB1c2VyIHVzZXJbaWRdIHVzaW5nIHY2ZnJhbWUgdmFsdWUgdmFsdWVzIHZhcmlhYmxlIHZpZXcgdmlldy1hcyB2bXMgd2FpdC1mb3Igd2ViLWNvblt0ZXh0XQogc3luIGtleXdvcmQgUHJvZ3Jlc3NSZXNlcnZlZAl3aW5kb3cgd2luZG93LW1heGltW2l6ZWRdIHdpbmRvdy1taW5pbVtpemVkXSB3aW5kb3ctbm9ybWFsIHdpdGggd29yay10YWJbbGVdIHdvcmtmaWxlIHdyaXRlIHhjb2RlIHhyZWYgeWVzIF9jYml0Ci1zeW4ga2V5d29yZCBQcm9ncmVzc1Jlc2VydmVkCV9jb250cm9sIF9saXN0IF9tZW1vcnkgX21zZyBfcGNvbnRyb2wgX3NlcmlhbFstbnVtXSBfdHJhY2UKK3N5biBrZXl3b3JkIFByb2dyZXNzUmVzZXJ2ZWQJX2NvbnRyb2wgX2xpc3QgX21lbW9yeSBfbXNnIF9wY29udHJvbCBfc2VyaWFsWy1udW1dIF90cmFjZSAKIAogIiBTdHJpbmdzLiBIYW5kbGVzIGVtYmVkZGVkIHF1b3Rlcy4KICIgTm90ZSB0aGF0LCBmb3Igc29tZSByZWFzb24sIFByb2dyZXNzIGRvZXNuJ3QgdXNlIHRoZSBiYWNrc2xhc2gsICJcIgogIiBhcyB0aGUgZXNjYXBlIGNoYXJhY3RlcjsgaXQgdXNlcyB0aWxkZSwgIn4iLgotc3luIHJlZ2lvbiBQcm9ncmVzc1N0cmluZwltYXRjaGdyb3VwPVByb2dyZXNzUXVvdGUJc3RhcnQ9KyIrIGVuZD0rIisJc2tpcD0rXH4iKwotc3luIHJlZ2lvbiBQcm9ncmVzc1N0cmluZwltYXRjaGdyb3VwPVByb2dyZXNzUXVvdGUJc3RhcnQ9KycrIGVuZD0rJysJc2tpcD0rXH4nKworc3luIHJlZ2lvbiBQcm9ncmVzc1N0cmluZwltYXRjaGdyb3VwPVByb2dyZXNzUXVvdGUJc3RhcnQ9KyIrIGVuZD0rIisJc2tpcD0rXH4nXHxcflx+Kworc3luIHJlZ2lvbiBQcm9ncmVzc1N0cmluZwltYXRjaGdyb3VwPVByb2dyZXNzUXVvdGUJc3RhcnQ9KycrIGVuZD0rJysJc2tpcD0rXH4nXHxcflx+KwogCi1zeW4gbWF0Y2ggIFByb2dyZXNzSWRlbnRpZmllcgkJCSJcPFthLXpBLVpfXVthLXpBLVowLTlfXSpcPigpIgorc3luIG1hdGNoICBQcm9ncmVzc0lkZW50aWZpZXIJCQkiXDxbYS16QS1aXyUjXStcPigpIgogCiAiIHN5biBtYXRjaCAgUHJvZ3Jlc3NEZWxpbWl0ZXIJCQkiKCkiCiAKLSIgc3luIG1hdGNoICBQcm9ncmVzc01hdHJpeERlbGltaXRlcgkiW11bXSIKLQorc3luIG1hdGNoICBQcm9ncmVzc01hdHJpeERlbGltaXRlcgkiW11bXSIKICIgSWYgeW91IHByZWZlciB5b3UgY2FuIGhpZ2hsaWdodCB0aGUgcmFuZ2UKICJzeW4gbWF0Y2ggIFByb2dyZXNzTWF0cml4RGVsaW1pdGVyCQkiW1xkXCtcLlwuXGRcK10iCiAKLXN5biBtYXRjaCAgUHJvZ3Jlc3NOdW1iZXIJCQkJIlw8XGRcK1wodVw9bFw9XHxsdVx8ZlwpXD4iCitzeW4gbWF0Y2ggIFByb2dyZXNzTnVtYmVyCQkJCSJcPFwtXD1cZFwrXCh1XD1sXD1cfGx1XHxmXClcPiIKIHN5biBtYXRjaCAgUHJvZ3Jlc3NCeXRlCQkJCQkiXCRbMC05YS1mQS1GXVwrIgogCisiIE1vcmUgdmFsdWVzOiBMb2dpY2FscywgYW5kIFByb2dyZXNzJ3MgdW5rbm93biB2YWx1ZSwgPy4KK3N5biBtYXRjaCAgIFByb2dyZXNzTnVtYmVyCQkJCSI/Igorc3luIGtleXdvcmQgUHJvZ3Jlc3NOdW1iZXIJCQkJdHJ1ZSBmYWxzZSB5ZXMgbm8KKwogIiBJZiB5b3UgZG9uJ3QgbGlrZSB0YWJzOgotInN5biBtYXRjaCBQcm9ncmVzc1Nob3dUYWIgIlx0IgotInN5biBtYXRjaCBQcm9ncmVzc1Nob3dUYWJjICJcdCIKK3N5biBtYXRjaCBQcm9ncmVzc1Nob3dUYWIgIlx0IgorCisiIElmIHlvdSBkb24ndCBsaWtlIHdoaXRlIHNwYWNlIG9uIHRoZSBlbmQgb2YgbGluZXM6CisiIHN5biBtYXRjaCAgIFByb2dyZXNzU3BhY2VFcnJvciAiXHNcKyQiCiAKIHN5biByZWdpb24gUHJvZ3Jlc3NDb21tZW50CQlzdGFydD0iL1wqIiAgZW5kPSJcKi8iIGNvbnRhaW5zPVByb2dyZXNzQ29tbWVudCxQcm9ncmVzc1RvZG8sUHJvZ3Jlc3NEZWJ1Zwotc3luIG1hdGNoIFByb2dyZXNzSW5jbHVkZQkJIl5bIAldKlt7XS4qXC5pW31dIgorc3luIHJlZ2lvbiBQcm9ncmVzc0luY2x1ZGUJCXN0YXJ0PSJeWyAJXSpbe11bXiZdIiBlbmQ9Ilt9XSIgY29udGFpbnM9UHJvZ3Jlc3NQcmVQcm9jLFByb2dyZXNzT3BlcmF0b3IsUHJvZ3Jlc3NTdHJpbmcsUHJvZ3Jlc3NDb21tZW50CitzeW4gcmVnaW9uIFByb2dyZXNzUHJlUHJvYwkJc3RhcnQ9IiYiIGVuZD0iXD4iIGNvbnRhaW5lZAogCi1zeW4gbWF0Y2ggUHJvZ3Jlc3NTdWJzdGl0dXRlCSJeWyAJXSpbe10uKlteaV1bfV0iCi1zeW4gbWF0Y2ggUHJvZ3Jlc3NQcmVQcm9jCQkiXlsgCV0qJi4qIgotCi1zeW4gbWF0Y2ggUHJvZ3Jlc3NPcGVyYXRvcgkJIlshO3wpKDouPjwrKj0tXSIKKyIgVGhpcyBuZXh0IGxpbmUgd29ya3MgcmVhc29uYWJseSB3ZWxsLgorIiBzeW4gbWF0Y2ggUHJvZ3Jlc3NPcGVyYXRvciAgICAgICAgIlshO3wpKDouPjwrKj0tXSIKKyIKKyIgUHJvZ3Jlc3MgYWxsb3dzIGEgJy0nIHRvIGJlIHBhcnQgb2YgYW4gaWRlbnRpZmllci4gIFRvIGJlIGNvbnNpZGVyZWQKKyIgdGhlIHN1YnRyYWN0aW9uL25lZ2F0aW9uIG9wZXJhdGlvbiBvcGVyYXRvciBpdCBuZWVkcyBhIG5vbi13b3JkCisiIGNoYXJhY3RlciBvbiBlaXRoZXIgc2lkZS4gIEFsc28gdmFsaWQgYXJlIGNhc2VzIHdoZXJlIHRoZSBtaW51cworIiBvcGVyYXRpb24gYXBwZWFycyBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZCBvZiBhIGxpbmUuCisiIFRoaXMgbmV4dCBsaW5lIHRyaXBzIHVwIG9uICJuby11bmRvIiBldGMuCisiIHN5biBtYXRjaCBQcm9ncmVzc09wZXJhdG9yICAgICJbITt8KSg6Lj48Kyo9XVx8XFctXFdcfF4tXFdcfFxXLSQiCitzeW4gbWF0Y2ggUHJvZ3Jlc3NPcGVyYXRvciAgICAgICJbITt8KSg6Lj48Kyo9XVx8XHMtXHNcfF4tXHNcfFxzLSQiCiAKIHN5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJPD0gPD4gPj0gYWJzW29sdXRlXSBhY2NlbGVyYXRvciBhY3Jvc3MgYWRkLWZpcnN0IGFkZC1sYXN0IGFkdmlzZSBhbGVydC1ib3ggYWxsb3ctcmVwbGljYXRpb24gYW5zaS1vbmx5IGFueXdoZXJlIGFwcGVuZCBhcHBsLWFsZXJ0Wy1ib3hlc10gYXBwbGljYXRpb24gYXMtY3Vyc29yIGFzay1vdmVyd3JpdGUKIHN5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJYXR0YWNoW21lbnRdIGF1dG8tZW5kLWtleSBhdXRvLWVuZGtleSBhdXRvLWdvIGF1dG8taW5kW2VudF0gYXV0by1yZXNpemUgYXV0by16W2FwXSBhdmFpbGFibGUtZm9ybWF0cyBhdmVbcmFnZV0gYXZnIGJhY2t3YXJkW3NdIGJhc2Uta2V5IGJhdGNoWy1tb2RlXSBiZ2Nbb2xvcl0gYmluYXJ5CkBAIC0xMTQsNyArMTM4LDcgQEAKIHN5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJY29ubmVjdCBjb25zdHJhaW5lZCBjb250ZW50cyBjb250ZXh0IGNvbnRleHQtcG9wW3VwXSBjb250cm9sLWNvbnRhaW5lW3JdIGNbb250cm9sLWZvcm1dIGNvbnZlcnQtdG8tb2Zmc2VbdF0gY29udmVydCBjb3VudCBjcGNhc2UgY3Bjb2xsIGNwaW50W2VybmFsXSBjcGxvZwogc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcgljcHByaW50IGNwcmNvZGVpbiBjcHJjb2Rlb3V0IGNwdGVybSBjcmMtdmFsW3VlXSBjW3JlYXRlLWNvbnRyb2xdIGNyZWF0ZS1yZXN1bHQtbGlzdC1lbnRyeSBjcmVhdGUtdGVzdC1maWxlIGN1cnJlbnQtY29sdW1uIGN1cnJlbnQtZW52aXJvbm1bZW50XSBjdXJyZW50LWl0ZXJhdGlvbgogc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcgljdXJyZW50LXJlc3VsdC1yb3cgY3VycmVudC1yb3ctbW9kaWZpZWQgY3VycmVudC12YWx1ZSBjdXJzb3ItY2hhciBjdXJzb3ItbGluZSBjdXJzb3Itb2Zmc2V0IGRhdGEtZW50cnktcmV0dXJbbl0gZGF0YS10W3lwZV0gZGF0ZSBkYXRlLWZbb3JtYXRdIGRheSBkYi1yZWZlcmVuY2VzCi1zeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCWRjb2xvciBkZGUtZXJyb3IgZGRlLWlbZF0gZGRlLWl0ZW0gZGRlLW5hbWUgZGRlLXRvcGljIGRlYnVbZ10gZGVjW2ltYWxdIGRlZmF1bHQtYlt1dHRvbl0gZGVmYXVsdC1leHRlbnNpb1tuXSBkZWZlci1sb2ItZmV0Y2ggZGVmaW5lZCBkZWxldGUtY2hhciBkZWxldGUtY3VycmVudC1yb3cKK3N5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJZGNvbG9yIGRkZS1lcnJvciBkZGUtaVtkXSBkZGUtaXRlbSBkZGUtbmFtZSBkZGUtdG9waWMgZGVidVtnXSBkZWNbaW1hbF0gZGVmYXVsdC1iW3V0dG9uXSBkZWZhdWx0LWV4dGVuc2lvW25dIGRlZmVyLWxvYi1mZXRjaCBkZWZpbmUgZGVmaW5lZCBkZWxldGUtY2hhciBkZWxldGUtY3VycmVudC1yb3cKIHN5biBrZXl3b3JkIFByb2dyZXNzT3BlcmF0b3IJZGVsZXRlLWxpbmUgZGVsZXRlLXNlbGVjdGVkLXJvdyBkZWxldGUtc2VsZWN0ZWQtcm93cyBkZXNlbGVjdC1mb2N1c2VkLXJvdyBkZXNlbGVjdC1yb3dzIGRlc2VsZWN0LXNlbGVjdGVkLXJvdyBkW2VzaWduLW1vZGVdIGRpYWxvZy1ib3ggZGlhbG9nLWhlbHAgZGlyIGRpc2FibGVkIGRpc3BsYXktbWVzc2FnZQogc3luIGtleXdvcmQgUHJvZ3Jlc3NPcGVyYXRvcglkaXNwbGF5LXRbeXBlXSBkb3VibGUgZHJhZy1lbmFibGVkIGRyb3AtZG93biBkcm9wLWRvd24tbGlzdCBkdW1wIGR5bmFtaWMgZWNobyBlZGdlIGVkZ2VbLWNoYXJzXSBlZGdlLXBbaXhlbHNdIGVkaXRvciBlbXB0eSBlbmQta2V5IGVuZGtleSBlbnRlcmVkIGVxIGVycm9yIGVycm9yLWNvbFt1bW5dCiBzeW4ga2V5d29yZCBQcm9ncmVzc09wZXJhdG9yCWVycm9yLXJvdyBldmVudC10W3lwZV0gZXZlbnRbc10gZXhjbHVzaXZlLWlkIGV4ZWN1dGUgZXhwIGV4cGFuZCBleHRlbmRlZCBleHRlbnQgZXh0ZXJuYWwgZXh0cmFjdCBmZXRjaC1zZWxlY3RlZC1yb3cgZmdjW29sb3JdIGZpbGUgZmlsZS1uYW1lIGZpbGUtb2ZmW3NldF0gZmlsZS10eXBlCkBAIC0xNzQsMzggKzE5OCwzMCBAQAogICBlbmRpZgogCiAgICIgVGhlIGRlZmF1bHQgbWV0aG9kcyBmb3IgaGlnaGxpZ2h0aW5nLiBDYW4gYmUgb3ZlcnJpZGRlbiBsYXRlci4KLSAgSGlMaW5rIFByb2dyZXNzQnl0ZQkJCSAgICBOdW1iZXIKKyAgSGlMaW5rIFByb2dyZXNzQnl0ZQkJCQlOdW1iZXIKICAgSGlMaW5rIFByb2dyZXNzQ2FzZQkJCQlSZXBlYXQKLSAgSGlMaW5rIFByb2dyZXNzQ29tbWVudAkJCVN0YXR1c0xpbmUKKyAgSGlMaW5rIFByb2dyZXNzQ29tbWVudAkJCUNvbW1lbnQKICAgSGlMaW5rIFByb2dyZXNzQ29uZGl0aW9uYWwJCUNvbmRpdGlvbmFsCiAgIEhpTGluayBQcm9ncmVzc0RlYnVnCQkJCURlYnVnCiAgIEhpTGluayBQcm9ncmVzc0RvCQkJCQlSZXBlYXQKICAgSGlMaW5rIFByb2dyZXNzRW5kRXJyb3IJCQlFcnJvcgogICBIaUxpbmsgUHJvZ3Jlc3NGb3IJCQkJUmVwZWF0CiAgIEhpTGluayBQcm9ncmVzc0Z1bmN0aW9uCQkJUHJvY2VkdXJlCisgIEhpTGluayBQcm9ncmVzc0lkZW50aWZpZXIJCQlJZGVudGlmaWVyCiAgIEhpTGluayBQcm9ncmVzc0luY2x1ZGUJCQlJbmNsdWRlCi0gIEhpTGluayBQcm9ncmVzc0xhYmVsCQkJCUxhYmVsCiAgIEhpTGluayBQcm9ncmVzc01hdHJpeERlbGltaXRlcglJZGVudGlmaWVyCi0gIEhpTGluayBQcm9ncmVzc01vZGlmaWVyCQkJVHlwZQogICBIaUxpbmsgUHJvZ3Jlc3NOdW1iZXIJCQkJTnVtYmVyCi0gIEhpTGluayBQcm9ncmVzc09wZXJhdG9yCQkJRnVuY3Rpb24KKyAgSGlMaW5rIFByb2dyZXNzT3BlcmF0b3IJCQlPcGVyYXRvcgogICBIaUxpbmsgUHJvZ3Jlc3NQcmVQcm9jCQkJUHJlUHJvYwogICBIaUxpbmsgUHJvZ3Jlc3NQcm9jZWR1cmUJCQlQcm9jZWR1cmUKICAgSGlMaW5rIFByb2dyZXNzUXVvdGUJCQkJRGVsaW1pdGVyCiAgIEhpTGluayBQcm9ncmVzc1JlcGVhdAkJCQlSZXBlYXQKLSAgSGlMaW5rIFByb2dyZXNzUmVzZXJ2ZWQJCQlJZGVudGlmaWVyCisgIEhpTGluayBQcm9ncmVzc1Jlc2VydmVkCQkJU3RhdGVtZW50CisgIEhpTGluayBQcm9ncmVzc1NwYWNlRXJyb3IJCQlFcnJvcgogICBIaUxpbmsgUHJvZ3Jlc3NTdHJpbmcJCQkJU3RyaW5nCi0gIEhpTGluayBQcm9ncmVzc1N0cnVjdHVyZQkJCVN0cnVjdHVyZQotICBIaUxpbmsgUHJvZ3Jlc3NTdWJzdGl0dXRlCQkJUHJlUHJvYwogICBIaUxpbmsgUHJvZ3Jlc3NUb2RvCQkJCVRvZG8KICAgSGlMaW5rIFByb2dyZXNzVHlwZQkJCQlTdGF0ZW1lbnQKLSAgSGlMaW5rIFByb2dyZXNzVW5jbGFzc2lmaWVkCQlTdGF0ZW1lbnQKLQotICAiIE9wdGlvbmFsIGhpZ2hsaWdodGluZwotICAiIEhpTGluayBQcm9ncmVzc0RlbGltaXRlcgkJSWRlbnRpZmllcgotICAiIEhpTGluayBQcm9ncmVzc1Nob3dUYWIJCQlFcnJvcgotICAiIEhpTGluayBQcm9ncmVzc1Nob3dUYWJjCQkJRXJyb3IKLSAgIiBIaUxpbmsgUHJvZ3Jlc3NJZGVudGlmaWVyCQlJZGVudGlmaWVyCisgIEhpTGluayBQcm9ncmVzc1Nob3dUYWIJCQlFcnJvcgogCiAgIGRlbGNvbW1hbmQgSGlMaW5rCiBlbmRpZgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcmV4eC52aW0gYi9ydW50aW1lL3N5bnRheC9yZXh4LnZpbQppbmRleCBlZjRiMDU4Li4xNzllNDUzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9yZXh4LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9yZXh4LnZpbQpAQCAtMSwxMSArMSwxNSBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6CVJleHgKICIgTWFpbnRhaW5lcjoJVGhvbWFzIEdldWxpZyA8Z2V1bGlnQG5lbnRlYy5kZT4KLSIgTGFzdCBDaGFuZ2U6CTIwMDEgTWF5IDIKLSIgVVJMOgkJaHR0cDovL215d2VicGFnZS5uZXRzY2FwZS5jb20vc2hhcnBQZW9wbGUvdmltL3N5bnRheC9yZXh4LnZpbQorIiBMYXN0IENoYW5nZTogIDIwMDUgRGV6ICA5LCBhZGRlZCBzb21lIDxodHRwOi8vd3d3Lm9vUmV4eC5vcmc+LWNvbG9yaW5nLAorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lIGNvbW1lbnRzLCBkbyAqb3ZlciosIG1lc3NhZ2VzLCBkaXJlY3RpdmVzLAorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWdobGlnaHRpbmcgY2xhc3NlcywgbWV0aG9kcywgcm91dGluZXMgYW5kIHJlcXVpcmVzCisiICAgICAgICAgICAgICAgUm9ueSBHLiBGbGF0c2NoZXIgPHJvbnkuZmxhdHNjaGVyQHd1LXdpZW4uYWMuYXQ+CiAiCi0iIFNwZWNpYWwgVGhhbmtzIHRvIERhbiBTaGFycCA8ZHdzaGFycEBob3RtYWlsLmNvbT4gZm9yIGNvbW1lbnRzIGFuZCBhZGRpdGlvbnMKLSIgKGFuZCBwcm92aWRpbmcgdGhlIHdlYnNwYWNlKQorIiBVUkw6CQlodHRwOi8vd3d3LmdldWxpZy5kZS92aW0vcmV4eC52aW0KKyIKKyIgU3BlY2lhbCBUaGFua3MgdG8gRGFuIFNoYXJwIDxkd3NoYXJwQGhvdG1haWwuY29tPiBhbmQgUm9ueSBHLiBGbGF0c2NoZXIKKyIgPFJvbnkuRmxhdHNjaGVyQHd1LXdpZW4uYWMuYXQ+IGZvciBjb21tZW50cyBhbmQgYWRkaXRpb25zCiAKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCkBAIC0xNyw2NSArMjEsMTI2IEBACiAKIHN5biBjYXNlIGlnbm9yZQogCisiIGFkZCB0byB2YWxpZCBpZGVudGlmaWVyIGNoYXJzCitzZXRsb2NhbCBpc2tleXdvcmQrPS4KK3NldGxvY2FsIGlza2V5d29yZCs9IQorc2V0bG9jYWwgaXNrZXl3b3JkKz0/CisKKyIgLS0tcmdmLCBwb3NpdGlvbiBpbXBvcnRhbnQ6IG11c3QgYmUgYmVmb3JlIGNvbW1lbnRzIGV0Yy4gIQorc3luIG1hdGNoIHJleHhPcGVyYXRvciAiWy09fFwvXFxcK1wqXFtcXSw7PD4mXH5dIgorCitzeW4gbWF0Y2ggcmV4eElkZW50aWZpZXIgICAgICAgICJcPFthLXpBLVpcIVw/X11cKFthLXpBLVowLTkuXz8hXVwpKlw+Igorc3luIG1hdGNoIHJleHhFbnZpcm9ubWVudFN5bWJvbCAiXDxcLlwrXChbYS16QS1aMC05Ll8/IV1cKSpcPiIKKworCiAiIEEgS2V5d29yZCBpcyB0aGUgZmlyc3Qgc3ltYm9sIGluIGEgY2xhdXNlLiAgQSBjbGF1c2UgYmVnaW5zIGF0IHRoZSBzdGFydAogIiBvZiBhIGxpbmUgb3IgYWZ0ZXIgYSBzZW1pY29sb24uICBUSEVOLCBFTFNFLCBPVEhFUldJU0UsIGFuZCBjb2xvbnMgYXJlIGFsd2F5cwogIiBmb2xsb3dlZCBieSBhbiBpbXBsaWVkIHNlbWljb2xvbi4KLXN5biBtYXRjaCByZXh4Q2xhdXNlICJcKF5cfDtcfDpcfHRoZW4gXHxlbHNlIFx8b3RoZXJ3aXNlIFwpXHMqXHdcKyIgY29udGFpbnM9QUxMCitzeW4gbWF0Y2ggcmV4eENsYXVzZSAiXCheXHw7XHw6XHx0aGVuIFx8ZWxzZSBcfG90aGVyd2lzZSBcKVxzKlx3XCsiIGNvbnRhaW5zPUFMTEJVVCxyZXh4UGFyc2UyLHJleHhSYWlzZTIKKwogCiAiIENvbnNpZGVyZWQga2V5d29yZHMgd2hlbiB1c2VkIHRvZ2V0aGVyIGluIGEgcGhyYXNlIGFuZCBiZWdpbiBhIGNsYXVzZQotc3luIG1hdGNoIHJleHhLZXl3b3JkIGNvbnRhaW5lZCAiXDxzaWduYWxcKCBvbiBcKGVycm9yXHxmYWlsdXJlXHxoYWx0XHxub3RyZWFkeVx8bm92YWx1ZVx8c3ludGF4XHxsb3N0ZGlnaXRzXClcKFxzXCtuYW1lXClcPVwpXD1cPiIKLXN5biBtYXRjaCByZXh4S2V5d29yZCBjb250YWluZWQgIlw8c2lnbmFsIG9mZiBcKGVycm9yXHxmYWlsdXJlXHxoYWx0XHxub3RyZWFkeVx8bm92YWx1ZVx8c3ludGF4XHxsb3N0ZGlnaXRzXClcPiIKLXN5biBtYXRjaCByZXh4S2V5d29yZCBjb250YWluZWQgIlw8Y2FsbCBvZmYgXChlcnJvclx8ZmFpbHVyZVx8aGFsdFx8bm90cmVhZHlcKVw+Igotc3luIG1hdGNoIHJleHhLZXl3b3JkIGNvbnRhaW5lZCAiXDxwYXJzZSBcKHVwcGVyIFwpXD1cKGFyZ1x8bGluZWluXHxwdWxsXHxzb3VyY2VcfHZhclx8dmFsdWVcfHZlcnNpb25cKVw+Igorc3luIG1hdGNoIHJleHhQYXJzZSAiXDxwYXJzZVxzKlwoXCh1cHBlclx8bG93ZXJcfGNhc2VsZXNzXClccypcKVw9XChhcmdcfGxpbmVpblx8cHVsbFx8c291cmNlXHx2YXJcfFw8dmFsdWVcPlx8dmVyc2lvblwpXD4iCitzeW4gbWF0Y2ggcmV4eFBhcnNlMiAiXDx3aXRoXD4iIGNvbnRhaW5lZCBjb250YWluZWRpbj1yZXh4UGFyc2UKKworCiBzeW4gbWF0Y2ggcmV4eEtleXdvcmQgY29udGFpbmVkICJcPG51bWVyaWMgXChkaWdpdHNcfGZvcm0gXChzY2llbnRpZmljXHxlbmdpbmVlcmluZ1x8dmFsdWVcKVx8ZnV6elwpXD4iCiBzeW4gbWF0Y2ggcmV4eEtleXdvcmQgY29udGFpbmVkICJcPFwoYWRkcmVzc1x8dHJhY2VcKVwoIHZhbHVlXClcPVw+Igotc3luIG1hdGNoIHJleHhLZXl3b3JkIGNvbnRhaW5lZCAiXDxwcm9jZWR1cmVcKCBleHBvc2VcKVw9XD4iCi1zeW4gbWF0Y2ggcmV4eEtleXdvcmQgY29udGFpbmVkICJcPGRvXCggZm9yZXZlclwpXD1cPiIKK3N5biBtYXRjaCByZXh4S2V5d29yZCBjb250YWluZWQgIlw8cHJvY2VkdXJlXChccypleHBvc2VcKVw9XD4iCitzeW4gbWF0Y2ggcmV4eEtleXdvcmQgY29udGFpbmVkICJcPGRvXD5cKFxzKmZvcmV2ZXJcKVw9XD4iCitzeW4gbWF0Y2ggcmV4eEtleXdvcmQgY29udGFpbmVkICJcPHVzZVw+XHMqXDxhcmdcPiIKIAogIiBBbm90aGVyIGtleXdvcmQgcGhyYXNlLCBzZXBhcmF0ZWQgdG8gYWlkIGhpZ2hsaWdodGluZyBpbiByZXh4RnVuY3Rpb24KLXN5biBtYXRjaCByZXh4S2V5d29yZDIgY29udGFpbmVkICJcPGNhbGxcKCBvbiBcKGVycm9yXHxmYWlsdXJlXHxoYWx0XHxub3RyZWFkeVwpXChcc1wrbmFtZVwpXD1cKVw9XD4iCitzeW4gbWF0Y2ggcmV4eEtleXdvcmQgY29udGFpbmVkICJcPHNpZ25hbFwoXHMqXChvblx8b2ZmXClccypcKGFueVx8ZXJyb3JcfGZhaWx1cmVcfGhhbHRcfGxvc3RkaWdpdHNcfG5vbWV0aG9kXHxub3N0cmluZ1x8bm90cmVhZHlcfG5vdmFsdWVcfHN5bnRheFx8dXNlclxzKlxrKlwpXChcc1wrbmFtZVwpXD1cKVw9XD4iCitzeW4gbWF0Y2ggcmV4eEtleXdvcmQyIGNvbnRhaW5lZCAiXDxjYWxsXChccypcKG9uXHxvZmZcKVxzKlwoYW55XHxlcnJvclx8ZmFpbHVyZVx8aGFsdFx8bm90cmVhZHlcfHVzZXJccypcaypcKVwoXHNcK25hbWVcKVw9XClcPVw+IgorCiAKICIgQ29uc2lkZXJlZCBrZXl3b3JkcyB3aGVuIHRoZXkgYmVnaW4gYSBjbGF1c2UKLXN5biBtYXRjaCByZXh4S2V5d29yZCBjb250YWluZWQgIlw8XChhcmdcfGRyb3BcfGVuZFx8ZXhpdFx8aWZcfGludGVycHJldFx8aXRlcmF0ZVx8bGVhdmVcfG5vcFwpXD4iCi1zeW4gbWF0Y2ggcmV4eEtleXdvcmQgY29udGFpbmVkICJcPFwob3B0aW9uc1x8cHVsbFx8cHVzaFx8cXVldWVcfHJldHVyblx8c2F5XHxzZWxlY3RcfHRyYWNlXClcPiIKK3N5biBtYXRjaCByZXh4S2V5d29yZCBjb250YWluZWQgIlw8XChhcmdcfGRvXHxkcm9wXHxlbmRcfGV4aXRcfGV4cG9zZVx8Zm9yd2FyZFx8aWZcfGludGVycHJldFx8aXRlcmF0ZVx8bGVhdmVcfG5vcFwpXD4iCitzeW4gbWF0Y2ggcmV4eEtleXdvcmQgY29udGFpbmVkICJcPFwob3B0aW9uc1x8cHVsbFx8cHVzaFx8cXVldWVcfHJhaXNlXHxyZXBseVx8cmV0dXJuXHxzYXlcfHNlbGVjdFx8dHJhY2VcKVw+IgogCiAiIENvbmRpdGlvbmFsIHBocmFzZXMKLXN5biBtYXRjaCByZXh4Q29uZGl0aW9uYWwgIlwoXlxzKlx8IFwpXCh0b1x8YnlcfGZvclx8dW50aWxcfHdoaWxlXHx0aGVuXHx3aGVuXHxvdGhlcndpc2VcfGVsc2VcKVwoIFx8XHMqJFwpIiBjb250YWlucz1BTExCVVQscmV4eENvbmRpdGlvbmFsCi1zeW4gbWF0Y2ggcmV4eENvbmRpdGlvbmFsIGNvbnRhaW5lZCAiXDxcKHRvXHxieVx8Zm9yXHx1bnRpbFx8d2hpbGVcfHRoZW5cfHdoZW5cfGVsc2VcfG90aGVyd2lzZVwpXD4iCitzeW4gbWF0Y2ggcmV4eENvbmRpdGlvbmFsICAiXCheXHMqXHwgXClcKHRvXHxieVx8Zm9yXHx1bnRpbFx8d2hpbGVcfHRoZW5cfHdoZW5cfG90aGVyd2lzZVx8ZWxzZVx8b3ZlclwpXCggXHxccyokXCkiCitzeW4gbWF0Y2ggcmV4eENvbmRpdGlvbmFsIGNvbnRhaW5lZCAiXDxcKHRvXHxieVx8Zm9yXHx1bnRpbFx8d2hpbGVcfHRoZW5cfHdoZW5cfG90aGVyd2lzZVx8ZWxzZVx8b3ZlclwpXD4iCiAKLSIgQXNzaWdubWVudHMgLS0gYSBrZXl3b3JkIGZvbGxvd2VkIGJ5IGFuIGVxdWFsIHNpZ24gYmVjb21lcyBhIHZhcmlhYmxlCi1zeW4gbWF0Y2ggcmV4eEFzc2lnbiAiXDxcd1wrXHMqPVxzKiIgY29udGFpbnM9cmV4eFNwZWNpYWxWYXJpYWJsZQorIiBtdXN0IGJlIGFmdGVyIENvbmRpdGlvbmFsIHBocmFzZXMhCitzeW4gbWF0Y2ggcmV4eEtleXdvcmQgIi4qXDxcKHRoZW5cfGVsc2VcKVxzKlw8ZG9cPiIKKworIiBSYWlzZSBzdGF0ZW1lbnQKK3N5biBtYXRjaCByZXh4UmFpc2UgIlwoXlx8O1x8OlwpXHNcK1w8cmFpc2VcPlxzKlw8XChwcm9wYWdhdGVcfGVycm9yXHxmYWlsdXJlXHxzeW50YXhcfHVzZXJcKVw+XD0iCitzeW4gbWF0Y2ggcmV4eFJhaXNlMiAiXDxcKGFkZGl0aW9uYWxcfGFycmF5XHxkZXNjcmlwdGlvblx8ZXhpdFx8cmV0dXJuXClcPiIgY29udGFpbmVkIGNvbnRhaW5lZGluPXJleHhSYWlzZQorCisiIEZvcndhcmQgc3RhdGVtZW50IGtleXdvcmRzCitzeW4gbWF0Y2ggcmV4eEZvcndhcmQgICJcKF5cfDtcfDpcKVw8Zm9yd2FyZFw+XHMqIgorc3luIG1hdGNoIHJleHhGb3J3YXJkMiAiXDxcKGFyZ3VtZW50c1x8YXJyYXlcfGNvbnRpbnVlXHxtZXNzYWdlXHxjbGFzc1x8dG9cKVw+IiBjb250YWluZWQgY29udGFpbmVkaW49cmV4eEZvcndhcmQKIAogIiBGdW5jdGlvbnMvUHJvY2VkdXJlcwotc3luIG1hdGNoIHJleHhGdW5jdGlvbgkiXDxcaFx3KlwoL1wqXHMqXCovXCkqKCJtZT1lLTEgY29udGFpbnM9cmV4eENvbW1lbnQscmV4eENvbmRpdGlvbmFsLHJleHhLZXl3b3JkCi1zeW4gbWF0Y2ggcmV4eEZ1bmN0aW9uCSJcPFwoYXJnXHx0cmFjZVwpXCgvXCpccypcKi9cKSooIm1lPWUtMQotc3luIG1hdGNoIHJleHhGdW5jdGlvbgkiXDxjYWxsXCggb24gXChlcnJvclx8ZmFpbHVyZVx8aGFsdFx8bm90cmVhZHlcKVwoXHNcK25hbWVcKVw9XClcPVw+XHNcK1x3XCtcPiIgY29udGFpbnM9cmV4eEtleXdvcmQyCitzeW4gbWF0Y2ggcmV4eEZ1bmN0aW9uCSJcPFx3KlwoL1wqXHMqXCovXCkqKCJtZT1lLTEgY29udGFpbnM9cmV4eENvbW1lbnQscmV4eENvbmRpdGlvbmFsLHJleHhLZXl3b3JkLHJleHhJZGVudGlmaWVyCitzeW4gbWF0Y2ggcmV4eEZ1bmN0aW9uIAkiXDxcPFthLXpBLVpcIVw/X11cKFthLXpBLVowLTkuXz8hXVwpKlw+KCJtZT1lLTEKK3N5biBtYXRjaCByZXh4RnVuY3Rpb24JIlw8Y2FsbFxzXCtca1wrXD4iICBjb250YWlucz1yZXh4S2V5d29yZDIKK3N5biBtYXRjaCByZXh4RnVuY3Rpb24gIlsoKV0iCiAKICIgU3RyaW5nIGNvbnN0YW50cwotc3luIHJlZ2lvbiByZXh4U3RyaW5nCSAgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcJysgZW5kPSsiKwotc3luIHJlZ2lvbiByZXh4U3RyaW5nCSAgc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsnKwotc3luIG1hdGNoICByZXh4Q2hhcmFjdGVyICArIidbXlxcXSciKworc3luIHJlZ2lvbiByZXh4U3RyaW5nCSAgc3RhcnQ9KyIrIHNraXA9KyIiKyBlbmQ9KyJcKHhcfGJcKVw9KyBvbmVsaW5lCitzeW4gcmVnaW9uIHJleHhTdHJpbmcJICBzdGFydD0rJysgc2tpcD0rJycrIGVuZD0rJ1woeFx8YlwpXD0rIG9uZWxpbmUKIAogIiBDYXRjaCBlcnJvcnMgY2F1c2VkIGJ5IHdyb25nIHBhcmVudGhlc2lzCi1zeW4gcmVnaW9uIHJleHhQYXJlbiB0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBjb250YWlucz1BTExCVVQscmV4eFBhcmVuRXJyb3IscmV4eFRvZG8scmV4eFVzZXJMYWJlbCxyZXh4S2V5d29yZAorc3luIHJlZ2lvbiByZXh4UGFyZW4gdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULHJleHhQYXJlbkVycm9yLHJleHhUb2RvLHJleHhMYWJlbCxyZXh4S2V5d29yZAogc3luIG1hdGNoIHJleHhQYXJlbkVycm9yCSAiKSIKIHN5biBtYXRjaCByZXh4SW5QYXJlbgkJIltcXFtcXF17fV0iCiAKICIgQ29tbWVudHMKIHN5biByZWdpb24gcmV4eENvbW1lbnQJCXN0YXJ0PSIvXCoiIGVuZD0iXCovIiBjb250YWlucz1yZXh4VG9kbyxyZXh4Q29tbWVudAogc3luIG1hdGNoICByZXh4Q29tbWVudEVycm9yCSJcKi8iCitzeW4gbWF0Y2ggIHJleHhMaW5lQ29tbWVudCAgICAgICAvLS0uKi8KIAogc3luIGtleXdvcmQgcmV4eFRvZG8gY29udGFpbmVkCVRPRE8gRklYTUUgWFhYCiAKKworIiBvb1JleHggbWVzc2FnZXMKK3N5biByZWdpb24gcmV4eE1lc3NhZ2VPcGVyYXRvciBzdGFydD0iXChcflx8XH5cflwpIiBlbmQ9IlwoXFNcfFxzXCkibWU9ZS0xCitzeW4gbWF0Y2ggcmV4eE1lc3NhZ2UgIlwoXH5cfFx+XH5cKVxzKlw8XC4qW2EtekEtWl1cKFthLXpBLVowLTkuXz8hXVwpKlw+IiBjb250YWlucz1yZXh4TWVzc2FnZU9wZXJhdG9yCisKICIgSGlnaGxpZ2h0IFVzZXIgTGFiZWxzCi1zeW4gbWF0Y2ggcmV4eFVzZXJMYWJlbAkJICJcPFxJXGkqXHMqOiJtZT1lLTEKK3N5biBtYXRjaCByZXh4TGFiZWwJCSAiXlxzKlxrKlxzKjoibWU9ZS0xCisKK3N5biBtYXRjaCByZXh4TGluZUNvbnRpbnVlICIsXHplXHMqXCgtLS4qXHxcL1wqLipcKSokIgorIiB0aGUgZm9sbG93aW5nIGlzIG5lY2Vzc2FyeSwgb3RoZXJ3aXNlIHRocmVlIGNvbnNlY3V0aXZlIGRhc2hlcyB3aWxsIGNhdXNlIGl0IHRvIGhpZ2hsaWdodCB0aGUgZmlyc3Qgb25lCitzeW4gbWF0Y2ggcmV4eExpbmVDb250aW51ZSAiLVx6ZVwoXHMrLS0uKlx8XHMqXC9cKi4qXCkqJCIKIAogIiBTcGVjaWFsIFZhcmlhYmxlcwotc3luIGtleXdvcmQgcmV4eFNwZWNpYWxWYXJpYWJsZSAgc2lnbCByYyByZXN1bHQKLXN5biBtYXRjaCAgIHJleHhDb21wb3VuZFZhcmlhYmxlICJcPFx3XCtcLlx3Klw+Igorc3luIGtleXdvcmQgcmV4eFNwZWNpYWxWYXJpYWJsZSAgc2lnbCByYyByZXN1bHQgc2VsZiBzdXBlcgorCisiIENvbnN0YW50cworc3luIGtleXdvcmQgcmV4eENvbnN0IC50cnVlIC5mYWxzZSAubmlsCisKKyIgb29SZXh4IGJ1aWx0aW4gY2xhc3NlcywgZmlyc3QgZGVmaW5lIGRvdCB0byBiZSBvLmsuIGluIGtleXdvcmRzCitzeW4ga2V5d29yZCByZXh4QnVpbHRpbkNsYXNzIC5vYmplY3QgLmNsYXNzIC5tZXRob2QgLm1lc3NhZ2UKK3N5biBrZXl3b3JkIHJleHhCdWlsdGluQ2xhc3MgLm1vbml0b3IgLmFsYXJtCitzeW4ga2V5d29yZCByZXh4QnVpbHRpbkNsYXNzIC5zdGVtIC5zdHJlYW0gLnN0cmluZworc3luIGtleXdvcmQgcmV4eEJ1aWx0aW5DbGFzcyAubXV0YWJsZWJ1ZmZlcgorc3luIGtleXdvcmQgcmV4eEJ1aWx0aW5DbGFzcyAuYXJyYXkgLmxpc3QgLnF1ZXVlIC5kaXJlY3RvcnkgLnRhYmxlIC5zZXQKK3N5biBrZXl3b3JkIHJleHhCdWlsdGluQ2xhc3MgLnJlbGF0aW9uIC5iYWcgLnN1cHBsaWVyIC5yZWd1bGFyRXhwcmVzc2lvbnMKKworIiBXaW5kb3dzLW9ubHkgY2xhc3Nlcworc3luIGtleXdvcmQgcmV4eEJ1aWx0aW5DbGFzcyAuT0xFT2JqZWN0IC5NZW51T2JqZWN0IC5XaW5kb3dzQ2xpcGJvYXJkIC5XaW5kb3dzRXZlbnRMb2cKK3N5biBrZXl3b3JkIHJleHhCdWlsdGluQ2xhc3MgLldpbmRvd3NNYW5hZ2VyIC5XaW5kb3dPYmplY3QgLldpbmRvd3NQcm9ncmFtTWFuYWdlcgorCisKKyIgb29SZXh4IGRpcmVjdGl2ZXMsIC0tLXJnZiBsb2NhdGlvbiBpbXBvcnRhbnQsIG90aGVyd2lzZSBkaXJlY3RpdmVzIGluIHRvcCBvZgorIiBmaWxlIG5vdCBtYXRjaGVkIQorc3luIHJlZ2lvbiByZXh4Q2xhc3MgICAgc3RhcnQ9Ijo6XHMqY2xhc3NccyoibXM9ZSsxICAgIGVuZD0iXHplXChcc1x8O1x8JFwpIgorc3luIHJlZ2lvbiByZXh4TWV0aG9kICAgc3RhcnQ9Ijo6XHMqbWV0aG9kXHMqIm1zPWUrMSAgIGVuZD0iXHplXChcc1x8O1x8JFwpIgorc3luIHJlZ2lvbiByZXh4UmVxdWlyZXMgc3RhcnQ9Ijo6XHMqcmVxdWlyZXNccyoibXM9ZSsxIGVuZD0iXHplXChcc1x8O1x8JFwpIgorc3luIHJlZ2lvbiByZXh4Um91dGluZSAgc3RhcnQ9Ijo6XHMqcm91dGluZVxzKiJtcz1lKzEgIGVuZD0iXHplXChcc1x8O1x8JFwpIgorCitzeW4gcmVnaW9uIHJleHhEaXJlY3RpdmUgc3RhcnQ9IlwoXlx8O1wpXHMqOjpccypcd1wrIiAgZW5kPSJcKCRcfDtcKSIgY29udGFpbnM9cmV4eFN0cmluZyxyZXh4Q29tbWVudCxyZXh4TGluZUNvbW1lbnQscmV4eENsYXNzLHJleHhNZXRob2QscmV4eFJvdXRpbmUscmV4eFJlcXVpcmVzIGtlZXBlbmQKKworCiAKIGlmICFleGlzdHMoInJleHhfbWlubGluZXMiKQotICBsZXQgcmV4eF9taW5saW5lcyA9IDEwCisiICBsZXQgcmV4eF9taW5saW5lcyA9IDEwCisgIGxldCByZXh4X21pbmxpbmVzID0gNTAwCiBlbmRpZgogZXhlYyAic3luIHN5bmMgY2NvbW1lbnQgcmV4eENvbW1lbnQgbWlubGluZXM9IiAuIHJleHhfbWlubGluZXMKIApAQCAtOTAsNyArMTU1LDcgQEAKICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KICAgZW5kaWYKIAotICBIaUxpbmsgcmV4eFVzZXJMYWJlbAkJRnVuY3Rpb24KKyAgSGlMaW5rIHJleHhMYWJlbAkJRnVuY3Rpb24KICAgSGlMaW5rIHJleHhDaGFyYWN0ZXIJCUNoYXJhY3RlcgogICBIaUxpbmsgcmV4eFBhcmVuRXJyb3IJCXJleHhFcnJvcgogICBIaUxpbmsgcmV4eEluUGFyZW4JCXJleHhFcnJvcgpAQCAtMTA1LDYgKzE3MCwzNCBAQAogICBIaUxpbmsgcmV4eFNwZWNpYWxWYXJpYWJsZQlTcGVjaWFsCiAgIEhpTGluayByZXh4Q29uZGl0aW9uYWwJcmV4eEtleXdvcmQKIAorICBIaUxpbmsgcmV4eE9wZXJhdG9yCQlPcGVyYXRvcgorICBIaUxpbmsgcmV4eE1lc3NhZ2VPcGVyYXRvcglyZXh4T3BlcmF0b3IKKyAgSGlMaW5rIHJleHhMaW5lQ29tbWVudAlSZXh4Q29tbWVudAorCisgIEhpTGluayByZXh4TGluZUNvbnRpbnVlCVdpbGRNZW51CisKKyAgSGlMaW5rIHJleHhEaXJlY3RpdmUJCXJleHhLZXl3b3JkCisgIEhpTGluayByZXh4Q2xhc3MgICAgICAgICAgICAgIFR5cGUKKyAgSGlMaW5rIHJleHhNZXRob2QgICAgICAgICAgICAgcmV4eEZ1bmN0aW9uCisgIEhpTGluayByZXh4UmVxdWlyZXMgICAgICAgICAgIEluY2x1ZGUKKyAgSGlMaW5rIHJleHhSb3V0aW5lICAgICAgICAgICAgcmV4eEZ1bmN0aW9uCisKKyAgSGlMaW5rIHJleHhDb25zdAkJQ29uc3RhbnQKKyAgSGlMaW5rIHJleHhUeXBlU3BlY2lmaWVyCVR5cGUKKyAgSGlMaW5rIHJleHhCdWlsdGluQ2xhc3MJcmV4eFR5cGVTcGVjaWZpZXIKKworICBIaUxpbmsgcmV4eEVudmlyb25tZW50U3ltYm9sICByZXh4Q29uc3QKKyAgSGlMaW5rIHJleHhNZXNzYWdlCQlyZXh4RnVuY3Rpb24KKworICBIaUxpbmsgcmV4eFBhcnNlICAgICAgICAgICAgICByZXh4S2V5d29yZAorICBIaUxpbmsgcmV4eFBhcnNlMiAgICAgICAgICAgICByZXh4UGFyc2UKKworICBIaUxpbmsgcmV4eFJhaXNlICAgICAgICAgICAgICByZXh4S2V5d29yZAorICBIaUxpbmsgcmV4eFJhaXNlMiAgICAgICAgICAgICByZXh4UmFpc2UKKworICBIaUxpbmsgcmV4eEZvcndhcmQgICAgICAgICAgICByZXh4S2V5d29yZAorICBIaUxpbmsgcmV4eEZvcndhcmQyICAgICAgICAgICByZXh4Rm9yd2FyZAorCiAgIGRlbGNvbW1hbmQgSGlMaW5rCiBlbmRpZgogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC94bWwudmltIGIvcnVudGltZS9zeW50YXgveG1sLnZpbQppbmRleCAyODhlYTU0Li44ZjhlMTU1IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC94bWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3htbC52aW0KQEAgLTU4LDggKzU4LDggQEAKICIKICIgPHRhZyBmb28uYXR0cmlidXRlID0gInZhbHVlIj4KICIgICAgICAgICAgICAgICAgICAgICAgXl5eXl5eXgotc3luIHJlZ2lvbiAgeG1sU3RyaW5nIGNvbnRhaW5lZCBzdGFydD0rIisgZW5kPSsiKyBjb250YWlucz14bWxFbnRpdHkgZGlzcGxheQotc3luIHJlZ2lvbiAgeG1sU3RyaW5nIGNvbnRhaW5lZCBzdGFydD0rJysgZW5kPSsnKyBjb250YWlucz14bWxFbnRpdHkgZGlzcGxheQorc3luIHJlZ2lvbiAgeG1sU3RyaW5nIGNvbnRhaW5lZCBzdGFydD0rIisgZW5kPSsiKyBjb250YWlucz14bWxFbnRpdHksQFNwZWxsIGRpc3BsYXkKK3N5biByZWdpb24gIHhtbFN0cmluZyBjb250YWluZWQgc3RhcnQ9KycrIGVuZD0rJysgY29udGFpbnM9eG1sRW50aXR5LEBTcGVsbCBkaXNwbGF5CiAKIAogIiBwdW5jdHVhdGlvbiAod2l0aGluIGF0dHJpYnV0ZXMpIGUuZy4gPHRhZyB4bWw6Zm9vLmF0dHJpYnV0ZSAuLi4+CkBAIC0xODMsNyArMTgzLDcgQEAKIAlcIGVuZD0rPC9cejFcX1xzXHstfT4rCiAJXCBtYXRjaGdyb3VwPXhtbEVuZFRhZyBlbmQ9Ky8+KwogCVwgZm9sZAotCVwgY29udGFpbnM9eG1sVGFnLHhtbEVuZFRhZyx4bWxDZGF0YSx4bWxSZWdpb24seG1sQ29tbWVudCx4bWxFbnRpdHkseG1sUHJvY2Vzc2luZyxAeG1sUmVnaW9uSG9vaworCVwgY29udGFpbnM9eG1sVGFnLHhtbEVuZFRhZyx4bWxDZGF0YSx4bWxSZWdpb24seG1sQ29tbWVudCx4bWxFbnRpdHkseG1sUHJvY2Vzc2luZyxAeG1sUmVnaW9uSG9vayxAU3BlbGwKIAlcIGtlZXBlbmQKIAlcIGV4dGVuZAogCkBAIC0yMzksNyArMjM5LDcgQEAKICAgICBcIHN0YXJ0PSstLSsKICAgICBcIGVuZD0rLS0rCiAgICAgXCBjb250YWluZWQKLSAgICBcIGNvbnRhaW5zPXhtbFRvZG8sQHhtbENvbW1lbnRIb29rCisgICAgXCBjb250YWlucz14bWxUb2RvLEB4bWxDb21tZW50SG9vayxAU3BlbGwKIAogCiAiIENEYXRhIHNlY3Rpb25zCkBAIC0yNDksNyArMjQ5LDcgQEAKIHN5biByZWdpb24gICAgeG1sQ2RhdGEKICAgICBcIHN0YXJ0PSs8IVxbQ0RBVEFcWysKICAgICBcIGVuZD0rXV0+KwotICAgIFwgY29udGFpbnM9eG1sQ2RhdGFTdGFydCx4bWxDZGF0YUVuZCxAeG1sQ2RhdGFIb29rCisgICAgXCBjb250YWlucz14bWxDZGF0YVN0YXJ0LHhtbENkYXRhRW5kLEB4bWxDZGF0YUhvb2ssQFNwZWxsCiAgICAgXCBrZWVwZW5kCiAgICAgXCBleHRlbmQKIAo=