From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: =?utf-8?q?Miro_Hron=C4=8Dok_=3Cmiro=40hroncok=2Ecz=3E?= To: git-commits@fedoraproject.org Subject: [rpms/python-avocado] f45: Retired: Fails to install: https://forge.fedoraproject.org/releng/tickets/issues/13473 Date: Tue, 18 Aug 2026 13:41:31 GMT Message-ID: <178706049151.1.15013359064363044495.rpms-python-avocado-e855d28e77c8@fedoraproject.org> List-ID: X-Git-Repo: rpms/python-avocado X-Git-Branch: f45 X-Git-Rev: e855d28e77c8f964b82ff660c7f143445069ea42 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcHl0aG9uLWF2b2Nh ZG8KQnJhbmNoIDogZjQ1CkNvbW1pdCA6IGU4NTVkMjhlNzdjOGY5NjRiODJmZjY2MGM3ZjE0MzQ0 NTA2OWVhNDIKQXV0aG9yIDogTWlybyBIcm9uxI1vayA8bWlyb0Bocm9uY29rLmN6PgpEYXRlICAg OiAyMDI2LTA4LTE4VDE1OjQxOjI1KzAyOjAwClN0YXRzICA6ICsxLy0xMzcwIGluIDEwIGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9weXRob24tYXZv Y2Fkby9jL2U4NTVkMjhlNzdjOGY5NjRiODJmZjY2MGM3ZjE0MzQ0NTA2OWVhNDI/YnJhbmNoPWY0 NQoKTG9nOgpSZXRpcmVkOiBGYWlscyB0byBpbnN0YWxsOiBodHRwczovL2ZvcmdlLmZlZG9yYXBy b2plY3Qub3JnL3JlbGVuZy90aWNrZXRzL2lzc3Vlcy8xMzQ3MwoKLS0tCmRpZmYgLS1naXQgYS8u Z2l0aWdub3JlIGIvLmdpdGlnbm9yZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDBl ZjEzNi4uMDAwMDAwMAotLS0gYS8uZ2l0aWdub3JlCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAs MCBAQAotL2F2b2NhZG8tNDMuMC50YXIuZ3oKLS9hdm9jYWRvLTQ2LjAudGFyLmd6Ci0vYXZvY2Fk by00Ny4wLnRhci5negotL2F2b2NhZG8tNDguMC50YXIuZ3oKLS9hdm9jYWRvLTQ5LjAudGFyLmd6 Ci0vYXZvY2Fkby01MC4wLnRhci5negotL2F2b2NhZG8tNTEuMC50YXIuZ3oKLS9hdm9jYWRvLTUy LjAudGFyLmd6Ci0vYXZvY2Fkby01Mi4xLnRhci5negotL2F2b2NhZG8tNjEuMC50YXIuZ3oKLS9h dm9jYWRvLTYyLjAudGFyLmd6Ci0vYXZvY2Fkby02My4wLnRhci5negotL2F2b2NhZG8tNjQuMC50 YXIuZ3oKLS9hdm9jYWRvLTY1LjAudGFyLmd6Ci0vYXZvY2Fkby02Ni4wLnRhci5negotL2F2b2Nh ZG8tNjcuMC50YXIuZ3oKLS9hdm9jYWRvLTY4LjAudGFyLmd6Ci0vYXZvY2Fkby02OS4wLnRhci5n egotL2F2b2NhZG8tNzAuMC50YXIuZ3oKLS9hdm9jYWRvLTcxLjAudGFyLmd6Ci0vYXZvY2Fkby03 Mi4wLnRhci5negotL2F2b2NhZG8tNzMuMC50YXIuZ3oKLS9hdm9jYWRvLTc0LjAudGFyLmd6Ci0v YXZvY2Fkby03NS4xLnRhci5negotL2F2b2NhZG8tNzYuMC50YXIuZ3oKLS9hdm9jYWRvLTc3LjAu dGFyLmd6Ci0vYXZvY2Fkby03OC4wLnRhci5negotL2F2b2NhZG8tNzkuMC50YXIuZ3oKLS9hdm9j YWRvLTgwLjAudGFyLmd6Ci0vYXZvY2Fkby04Mi4wLnRhci5negotL2F2b2NhZG8tOTIuMC50YXIu Z3oKLS9hdm9jYWRvLTkyLjEudGFyLmd6Ci0vYXZvY2Fkby05Mi4xLXB5dGhvbjMxMi5wYXRjaAot L2F2b2NhZG8tOTIuMy50YXIuZ3oKLS9hdm9jYWRvLTExMi4wLnRhci5negoKZGlmZiAtLWdpdCBh LzAwMDEtQmUtbW9yZS1sZW5pZW50LXdpdGgtdGVzdC1lcnJvci1tZXNzYWdlcy5wYXRjaCBiLzAw MDEtQmUtbW9yZS1sZW5pZW50LXdpdGgtdGVzdC1lcnJvci1tZXNzYWdlcy5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTBkODI1Yi4uMDAwMDAwMAotLS0gYS8wMDAxLUJlLW1v cmUtbGVuaWVudC13aXRoLXRlc3QtZXJyb3ItbWVzc2FnZXMucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSw1MCArMCwwIEBACi1Gcm9tIDlmZWE5ZDI1YjIxNzZmMDkyOTMwN2Q0MDJmZDEyODdiZmVj YmQ0NjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDbGViZXIgUm9zYSA8Y3Jvc2FA cmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgNSBEZWMgMjAyNSAxNDoxMDoxNyAtMDUwMAotU3ViamVj dDogW1BBVENIXSBCZSBtb3JlIGxlbmllbnQgd2l0aCB0ZXN0IGVycm9yIG1lc3NhZ2VzCi0KLU9u IGxhdGVzdCBGZWRvcmEgcmF3aGlkZSwgY3VycmVudCBzZXR1cHRvb2xzIHVzYWdlIHdpbGwgcHJv ZHVjZQotd2FybmluZyBtZXNzYWdlcyBvbiBTVERFUlIuICBUaGlzIG1ha2VzIHRoZSBjaGVja2lu ZyBtb3JlIGxlbmllbnQgd2l0aAotZXh0cmEgY29udGVudCB0aGF0IG1heSBzaG93IHVwLgotCi1T aWduZWQtb2ZmLWJ5OiBDbGViZXIgUm9zYSA8Y3Jvc2FAcmVkaGF0LmNvbT4KLS0tLQotIHNlbGZ0 ZXN0cy9mdW5jdGlvbmFsL2Jhc2ljLnB5IHwgOCArKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0 IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zZWxmdGVzdHMv ZnVuY3Rpb25hbC9iYXNpYy5weSBiL3NlbGZ0ZXN0cy9mdW5jdGlvbmFsL2Jhc2ljLnB5Ci1pbmRl eCAzNjBiM2FlZS4uYWE1MGYwZTggMTAwNjQ0Ci0tLS0gYS9zZWxmdGVzdHMvZnVuY3Rpb25hbC9i YXNpYy5weQotKysrIGIvc2VsZnRlc3RzL2Z1bmN0aW9uYWwvYmFzaWMucHkKLUBAIC02NDcsMTMg KzY0NywxMyBAQCBjbGFzcyBSdW5uZXJPcGVyYXRpb25UZXN0KFRlc3RDYXNlVG1wRGlyKToKLSAg ICAgICAgICkKLSAgICAgICAgIHJlc3VsdCA9IHByb2Nlc3MucnVuKGNtZF9saW5lLCBpZ25vcmVf c3RhdHVzPVRydWUpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdC5leGl0X3N0YXR1 cywgZXhpdF9jb2Rlcy5BVk9DQURPX0pPQl9GQUlMKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh bCgKLS0gICAgICAgICAgICByZXN1bHQuc3RkZXJyLAotKyAgICAgICAgc2VsZi5hc3NlcnRJbigK LSAgICAgICAgICAgICAoCi0gICAgICAgICAgICAgICAgIGIiVGVzdCBTdWl0ZSBjb3VsZCBub3Qg YmUgY3JlYXRlZC4gTm8gdGVzdCByZWZlcmVuY2VzIgotICAgICAgICAgICAgICAgICBiIiBwcm92 aWRlZCBub3IgYW55IG90aGVyIGFyZ3VtZW50cyByZXNvbHZlZCBpbnRvICIKLSAgICAgICAgICAg ICAgICAgYiJ0ZXN0c1xuIgotICAgICAgICAgICAgICksCi0rICAgICAgICAgICAgcmVzdWx0LnN0 ZGVyciwKLSAgICAgICAgICkKLSAKLSAgICAgZGVmIHRlc3Rfbm90X2ZvdW5kKHNlbGYpOgotQEAg LTY2NCwxMCArNjY0LDEwIEBAIGNsYXNzIFJ1bm5lck9wZXJhdGlvblRlc3QoVGVzdENhc2VUbXBE aXIpOgotICAgICAgICAgcmVzdWx0ID0gcHJvY2Vzcy5ydW4oY21kX2xpbmUsIGlnbm9yZV9zdGF0 dXM9VHJ1ZSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LmV4aXRfc3RhdHVzLCBl eGl0X2NvZGVzLkFWT0NBRE9fSk9CX0ZBSUwpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJl c3VsdC5zdGRvdXQsIGIiIikKLS0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCi0tICAgICAgICAg ICAgcmVzdWx0LnN0ZGVyciwKLSsgICAgICAgIHNlbGYuYXNzZXJ0SW4oCi0gICAgICAgICAgICAg YiJObyB0ZXN0cyBmb3VuZCBmb3IgZ2l2ZW4gdGVzdCByZWZlcmVuY2VzOiBzYnJ1Ymxlc1xuIgot ICAgICAgICAgICAgIGIiVHJ5ICdhdm9jYWRvIC1WIGxpc3Qgc2JydWJsZXMnIGZvciBkZXRhaWxz XG4iLAotKyAgICAgICAgICAgIHJlc3VsdC5zdGRlcnIsCi0gICAgICAgICApCi0gCi0gICAgIGRl ZiB0ZXN0X2ludmFsaWRfdW5pcXVlX2lkKHNlbGYpOgotLS0gCi0yLjUzLjAKLQoKZGlmZiAtLWdp dCBhLzAwMDEtTG9vc2VuLXJlc3VsdHNkYi1hcGktZGVwLnBhdGNoIGIvMDAwMS1Mb29zZW4tcmVz dWx0c2RiLWFwaS1kZXAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1YmQ0 ZTYuLjAwMDAwMDAKLS0tIGEvMDAwMS1Mb29zZW4tcmVzdWx0c2RiLWFwaS1kZXAucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1Gcm9tIDczNzhkNmRlNjNiMjllNmEzYTk1ZmQy NDJjMzdkMmUxNmM1NWY3NzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBZGFtIFdp bGxpYW1zb24gPGF3aWxsaWFtQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDcgQXByIDIwMjYgMTE6 NTY6NTYgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gTG9vc2VuIHJlc3VsdHNkYi1hcGkgZGVwCi0K LVdlIHJlY2VudGx5IHJlbGVhc2VkIDIuMS42LiBGb2xsb3dpbmcgc2VtdmVyIGNvbnZlbnRpb25z LCB0aGlzCi12ZXJzaW9uIHNob3VsZG4ndCBicmVhayBhbnkgY29tcGF0aWJpbGl0eSwgaXQgaGFz IG9uZSBidWdmaXggYW5kCi1hIGJ1bmNoIG9mIGxpbnRpbmcgY2xlYW51cHMuCi0KLVRoZXJlJ3Mg bm8gcmVhc29uIGZvciB0aGlzIGRlcCB0byBiZSBvbiBhIHNwZWNpZmljIHZlcnNpb24sIGFuZAot aXQgY2F1c2VzIHByb2JsZW1zIGZvciBkb3duc3RyZWFtIHBhY2thZ2luZy4gTGV0J3MgbG9vc2Vu IGl0IHRvCi1hdCBsZWFzdCBhY2NlcHQgMi4xLjUgb3IgaGlnaGVyIHVwIHRvIDIuMi4KLQotU2ln bmVkLW9mZi1ieTogQWRhbSBXaWxsaWFtc29uIDxhd2lsbGlhbUByZWRoYXQuY29tPgotLS0tCi0g b3B0aW9uYWxfcGx1Z2lucy9yZXN1bHRzZGIvc2V0dXAucHkgfCAyICstCi0gMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9vcHRpb25h bF9wbHVnaW5zL3Jlc3VsdHNkYi9zZXR1cC5weSBiL29wdGlvbmFsX3BsdWdpbnMvcmVzdWx0c2Ri L3NldHVwLnB5Ci1pbmRleCBmODFjYjRkYi4uYjYwOTkyOGYgMTAwNjQ0Ci0tLS0gYS9vcHRpb25h bF9wbHVnaW5zL3Jlc3VsdHNkYi9zZXR1cC5weQotKysrIGIvb3B0aW9uYWxfcGx1Z2lucy9yZXN1 bHRzZGIvc2V0dXAucHkKLUBAIC00OSw3ICs0OSw3IEBAIHNldHVwKAotICAgICBpbmNsdWRlX3Bh Y2thZ2VfZGF0YT1UcnVlLAotICAgICBpbnN0YWxsX3JlcXVpcmVzPVsKLSAgICAgICAgIGYiYXZv Y2Fkby1mcmFtZXdvcms9PXtWRVJTSU9OfSIsCi0tICAgICAgICAicmVzdWx0c2RiLWFwaT09Mi4x LjUiLAotKyAgICAgICAgInJlc3VsdHNkYi1hcGk+PTIuMS41LDwyLjIiLAotICAgICAgICAgInVy bGxpYjM8Mi4zLjA7IHB5dGhvbl92ZXJzaW9uIDwgJzMuOSciLAotICAgICBdLAotICAgICBlbnRy eV9wb2ludHM9ewotLS0gCi0yLjUzLjAKLQoKZGlmZiAtLWdpdCBhL2RlYWQucGFja2FnZSBiL2Rl YWQucGFja2FnZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMDM1YTY0Ci0t LSAvZGV2L251bGwKKysrIGIvZGVhZC5wYWNrYWdlCkBAIC0wLDAgKzEgQEAKK1JldGlyZWQ6IEZh aWxzIHRvIGluc3RhbGw6IGh0dHBzOi8vZm9yZ2UuZmVkb3JhcHJvamVjdC5vcmcvcmVsZW5nL3Rp Y2tldHMvaXNzdWVzLzEzNDczCgpkaWZmIC0tZ2l0IGEvcHl0aG9uLWF2b2NhZG8uc3BlYyBiL3B5 dGhvbi1hdm9jYWRvLnNwZWMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiMDc1YzAu LjAwMDAwMDAKLS0tIGEvcHl0aG9uLWF2b2NhZG8uc3BlYworKysgL2Rldi9udWxsCkBAIC0xLDgx OCArMCwwIEBACi0jIENvbmRpdGlvbmFsIGZvciByZWxlYXNlIHZzLiBzbmFwc2hvdCBidWlsZHMu IFNldCB0byAxIGZvciByZWxlYXNlIGJ1aWxkLgotJWlmICEgMCV7P3JlbF9idWlsZDoxfQotICAg ICVnbG9iYWwgcmVsX2J1aWxkIDEKLSVlbmRpZgotCi0jIFNldHRpbmdzIHVzZWQgZm9yIGJ1aWxk IGZyb20gc25hcHNob3RzLgotJWlmIDAlez9yZWxfYnVpbGR9Ci0gICAgJWdsb2JhbCBnaXRyZWYg ICAgICAgICAgJXt2ZXJzaW9ufQotICAgICVnbG9iYWwgZ2l0dGFyICAgICAgICAgIGF2b2NhZG8t JXt2ZXJzaW9ufS50YXIuZ3oKLSVlbHNlCi0gICAgJWlmICEgMCV7P2NvbW1pdDoxfQotICAgICAg ICAlZ2xvYmFsIGNvbW1pdCAgICAgIGU0ZWRlNzlmMDk3ZGNjMWRiZDMwZTQzZmZlM2I3ZGFmNTJk MjIwNGQKLSAgICAlZW5kaWYKLSAgICAlaWYgISAwJXs/Y29tbWl0X2RhdGU6MX0KLSAgICAgICAg JWdsb2JhbCBjb21taXRfZGF0ZSAyMDI1MTAxMAotICAgICVlbmRpZgotICAgICVnbG9iYWwgc2hv cnRjb21taXQgICAgICUoYz0le2NvbW1pdH07ZWNobyAke2M6MDo5fSkKLSAgICAlZ2xvYmFsIGdp dHJlbCAgICAgICAgICAuJXtjb21taXRfZGF0ZX1naXQle3Nob3J0Y29tbWl0fQotICAgICVnbG9i YWwgZ2l0cmVmICAgICAgICAgICV7Y29tbWl0fQotICAgICVnbG9iYWwgZ2l0dGFyICAgICAgICAg IGF2b2NhZG8tJXtzaG9ydGNvbW1pdH0udGFyLmd6Ci0lZW5kaWYKLQotIyBTZWxmdGVzdHMgYXJl IHByb3ZpZGVkIGJ1dCBtYXkgbmVlZCB0byBiZSBza2lwcGVkIGJlY2F1c2UgbWFueSBvZgotIyB0 aGUgZnVuY3Rpb25hbCB0ZXN0cyBhcmUgdGltZSBhbmQgcmVzb3VyY2Ugc2Vuc2l0aXZlIGFuZCBj YW4KLSMgY2F1c2UgcmFjZSBjb25kaXRpb25zIGFuZCByYW5kb20gYnVpbGQgZmFpbHVyZXMuIFRo ZXkgYXJlCi0jIGVuYWJsZWQgYnkgZGVmYXVsdC4KLSMgWW91IGNhbiBkaXNhYmxlIHRoZW0gd2l0 aCBycG1idWlsZCAuLi4gLS13aXRob3V0IHRlc3RzCi0lYmNvbmRfd2l0aG91dCB0ZXN0cwotCi0j IE9ubHkgRmVkb3JhIDM2IGFuZCBsYXRlciBoYXZlIGEgc3VpdGFibGUgcHl0aG9uMy1yZXN1dGxz ZGJfYXBpCi0jIHBhY2thZ2UKLSVpZiAwJXs/ZmVkb3JhfSA+PSAzNgotJWdsb2JhbCB3aXRoX3Jl c3VsdHNkYiAxCi0lZWxzZQotJWdsb2JhbCB3aXRoX3Jlc3VsdHNkYiAwCi0lZW5kaWYKLQotTmFt ZTogcHl0aG9uLWF2b2NhZG8KLVZlcnNpb246IDExMi4wCi1SZWxlYXNlOiA1JXs/Z2l0cmVsfSV7 P2Rpc3R9Ci1TdW1tYXJ5OiBGcmFtZXdvcmsgd2l0aCB0b29scyBhbmQgbGlicmFyaWVzIGZvciBB dXRvbWF0ZWQgVGVzdGluZwotIyBGb3VuZCBsaWNlbnNlczoKLSMgYXZvY2Fkby9jb3JlL3RhcHBh cnNlci5weTogTUlUCi0jIGF2b2NhZG8vdXRpbHMvZXh0ZXJuYWwvZ2RibWlfcGFyc2VyLnB5OiBN SVQKLSMgYXZvY2Fkby91dGlscy9leHRlcm5hbC9zcGFyay5weTogTUlUCi0jIG9wdGlvbmFsX3Bs dWdpbnMvaHRtbC9hdm9jYWRvX3Jlc3VsdF9odG1sL3RlbXBsYXRlcy9ib290c3RyYXAubWluLmNz czogTUlUCi0jIG9wdGlvbmFsX3BsdWdpbnMvaHRtbC9hdm9jYWRvX3Jlc3VsdF9odG1sL3RlbXBs YXRlcy9ib290c3RyYXAubWluLmpzOiBNSVQKLSMgc2VsZnRlc3RzLy5kYXRhL2plbmtpbnMtanVu aXQueHNkOiBNSVQKLSMgT3RoZXIgZmlsZXM6IEdQTHYyIGFuZCBHUEx2MisKLUxpY2Vuc2U6IEdQ TC0yLjAtb3ItbGF0ZXIgQU5EIEdQTC0yLjAtb25seSBBTkQgTUlUCi1VUkw6IGh0dHBzOi8vYXZv Y2Fkby1mcmFtZXdvcmsuZ2l0aHViLmlvLwotU291cmNlMDogaHR0cHM6Ly9naXRodWIuY29tL2F2 b2NhZG8tZnJhbWV3b3JrL2F2b2NhZG8vYXJjaGl2ZS8le2dpdHJlZn0vJXtnaXR0YXJ9Ci0jIGh0 dHBzOi8vZ2l0aHViLmNvbS9hdm9jYWRvLWZyYW1ld29yay9hdm9jYWRvL3B1bGwvNjI5NQotIyBM b29zZW4gcHl0aG9uLXJlc3VsdHNkYl9hcGkgZGVwIHRvIGEgcmFuZ2UgcmF0aGVyIHRoYW4gYSBw aW4KLVBhdGNoMDogMDAwMS1Mb29zZW4tcmVzdWx0c2RiLWFwaS1kZXAucGF0Y2gKLSMgaHR0cHM6 Ly9naXRodWIuY29tL2F2b2NhZG8tZnJhbWV3b3JrL2F2b2NhZG8vcHVsbC82MjUyCi0jIEZpeCBh IGNvdXBsZSBvZiB0ZXN0cyB3aXRoIHJlY2VudCBzZXR1cHRvb2xzIHRoYXQgcHJvZHVjZXMgYQot IyBkZXByZWNhdGlvbiB3YXJuaW5nIGZvciBwa2dfcmVzb3VyY2VzCi1QYXRjaDE6IDAwMDEtQmUt bW9yZS1sZW5pZW50LXdpdGgtdGVzdC1lcnJvci1tZXNzYWdlcy5wYXRjaAotQnVpbGRBcmNoOiBu b2FyY2gKLQotQnVpbGRSZXF1aXJlczoga21vZAotQnVpbGRSZXF1aXJlczogcHJvY3BzLW5nCi1C dWlsZFJlcXVpcmVzOiBweXRob24zLWRldmVsCi1CdWlsZFJlcXVpcmVzOiBweXRob24zLWRvY3V0 aWxzCi1CdWlsZFJlcXVpcmVzOiBweXRob24zLWppbmphMgotQnVpbGRSZXF1aXJlczogcHl0aG9u My1seG1sCi1CdWlsZFJlcXVpcmVzOiBweXRob24zLXBzdXRpbAotQnVpbGRSZXF1aXJlczogcHl0 aG9uMy1zZXR1cHRvb2xzCi0laWYgISAwJXs/cmhlbH0KLUJ1aWxkUmVxdWlyZXM6IHB5dGhvbi1h ZXhwZWN0Ci0lZW5kaWYKLSVpZiAle3dpdGhfcmVzdWx0c2RifQotQnVpbGRSZXF1aXJlczogcHl0 aG9uMy1yZXN1bHRzZGJfYXBpCi1CdWlsZFJlcXVpcmVzOiBweXRob24zLXB5Y2RsaWIKLSVlbmRp ZgotCi0laWYgJXt3aXRoIHRlc3RzfQotQnVpbGRSZXF1aXJlczogcHl0aG9uMy1qc29uc2NoZW1h Ci0laWYgISAwJXs/cmhlbH0gPj0gOQotQnVpbGRSZXF1aXJlczogZ2VuaXNvaW1hZ2UKLSVlbmRp ZgotQnVpbGRSZXF1aXJlczogbGliY2RpbwotQnVpbGRSZXF1aXJlczogcHNtaXNjCi0laWYgISAw JXs/cmhlbH0KLUJ1aWxkUmVxdWlyZXM6IHBlcmwtVGVzdC1IYXJuZXNzCi1CdWlsZFJlcXVpcmVz OiBweXRob24zLXhtbHNjaGVtYQotQnVpbGRSZXF1aXJlczogYW5zaWJsZS1jb3JlCi0lZW5kaWYK LUJ1aWxkUmVxdWlyZXM6IGdsaWJjLWFsbC1sYW5ncGFja3MKLUJ1aWxkUmVxdWlyZXM6IHB5dGhv bjMtbmV0aWZhY2VzCi1CdWlsZFJlcXVpcmVzOiBweXRob24zLXlhbWwKLUJ1aWxkUmVxdWlyZXM6 IG5tYXAtbmNhdAotQnVpbGRSZXF1aXJlczogZ2NjCi1CdWlsZFJlcXVpcmVzOiBnZGIKLUJ1aWxk UmVxdWlyZXM6IGdkYi1nZGJzZXJ2ZXIKLSVlbmRpZgotIyB3aXRoIHRlc3RzCi0KLSVkZXNjcmlw dGlvbgotQXZvY2FkbyBpcyBhIHNldCBvZiB0b29scyBhbmQgbGlicmFyaWVzICh3aGF0IHBlb3Bs ZSBjYWxsCi10aGVzZSBkYXlzIGEgZnJhbWV3b3JrKSB0byBwZXJmb3JtIGF1dG9tYXRlZCB0ZXN0 aW5nLgotCi0KLSVwcmVwCi0lc2V0dXAgLXEgLW4gYXZvY2Fkby0le2dpdHJlZn0KLSVwYXRjaCAw IC1wMQotJXBhdGNoIDEgLXAxCi0laWYgMCV7P3JoZWx9Ci1zZWQgLWUgJ3MvIlB5WUFNTD49NC4y YjIiLyJQeVlBTUw+PTMuMTIiLycgLWkgb3B0aW9uYWxfcGx1Z2lucy92YXJpYW50ZXJfeWFtbF90 b19tdXgvc2V0dXAucHkKLSVlbmRpZgotJWlmIDAlez9mZWRvcmF9ID49IDQyCi1zZWQgLWUgJy8i bWFya3Vwc2FmZTwzLjAuMCIvZCcgLWkgb3B0aW9uYWxfcGx1Z2lucy9odG1sL3NldHVwLnB5Ci1z ZWQgLWUgJy8ibWFya3Vwc2FmZTwzLjAuMCIvZCcgLWkgb3B0aW9uYWxfcGx1Z2lucy9hbnNpYmxl L3NldHVwLnB5Ci0lZW5kaWYKLQotJWJ1aWxkCi0lcHkzX2J1aWxkCi1wdXNoZCBvcHRpb25hbF9w bHVnaW5zL2h0bWwKLSAgICAlcHkzX2J1aWxkCi1wb3BkCi0laWYgJXt3aXRoX3Jlc3VsdHNkYn0K LXB1c2hkIG9wdGlvbmFsX3BsdWdpbnMvcmVzdWx0c2RiCi0gICAgJXB5M19idWlsZAotcG9wZAot JWVuZGlmCi1wdXNoZCBvcHRpb25hbF9wbHVnaW5zL3ZhcmlhbnRlcl95YW1sX3RvX211eAotICAg ICVweTNfYnVpbGQKLXBvcGQKLXB1c2hkIG9wdGlvbmFsX3BsdWdpbnMvZ29sYW5nCi0gICAgJXB5 M19idWlsZAotcG9wZAotJWlmICEgMCV7P3JoZWx9Ci1wdXNoZCBvcHRpb25hbF9wbHVnaW5zL2Fu c2libGUKLSAgICAlcHkzX2J1aWxkCi1wb3BkCi0lZW5kaWYKLXB1c2hkIG9wdGlvbmFsX3BsdWdp bnMvdmFyaWFudGVyX3BpY3QKLSAgICAlcHkzX2J1aWxkCi1wb3BkCi1wdXNoZCBvcHRpb25hbF9w bHVnaW5zL3ZhcmlhbnRlcl9jaXQKLSAgICAlcHkzX2J1aWxkCi1wb3BkCi1wdXNoZCBvcHRpb25h bF9wbHVnaW5zL3Jlc3VsdF91cGxvYWQKLSAgICAlcHkzX2J1aWxkCi1wb3BkCi1wdXNoZCBvcHRp b25hbF9wbHVnaW5zL21haWwKLSAgICAlcHkzX2J1aWxkCi1wb3BkCi0laWYgISAwJXs/cmhlbH0K LXB1c2hkIG9wdGlvbmFsX3BsdWdpbnMvc3Bhd25lcl9yZW1vdGUKLSAgICAlcHkzX2J1aWxkCi1w b3BkCi0lZW5kaWYKLXJzdDJtYW4gbWFuL2F2b2NhZG8ucnN0IG1hbi9hdm9jYWRvLjEKLQotJWlu c3RhbGwKLSVweTNfaW5zdGFsbAotZm9yIGV4ZSBpbiBcCi0gICAgYXZvY2FkbyBcCi0gICAgYXZv Y2Fkby1ydW5uZXItbm9vcCBcCi0gICAgYXZvY2Fkby1ydW5uZXItZHJ5LXJ1biBcCi0gICAgYXZv Y2Fkby1ydW5uZXItZXhlYy10ZXN0IFwKLSAgICBhdm9jYWRvLXJ1bm5lci1weXRob24tdW5pdHRl c3QgXAotICAgIGF2b2NhZG8tcnVubmVyLWF2b2NhZG8taW5zdHJ1bWVudGVkIFwKLSAgICBhdm9j YWRvLXJ1bm5lci10YXAgXAotICAgIGF2b2NhZG8tcnVubmVyLWFzc2V0IFwKLSAgICBhdm9jYWRv LXJ1bm5lci1wYWNrYWdlIFwKLSAgICBhdm9jYWRvLXJ1bm5lci1waXAgXAotICAgIGF2b2NhZG8t cnVubmVyLXBvZG1hbi1pbWFnZSBcCi0gICAgYXZvY2Fkby1ydW5uZXItc3lzaW5mbyBcCi0gICAg YXZvY2Fkby1ydW5uZXItdm1pbWFnZSBcCi0gICAgYXZvY2Fkby1leHRlcm5hbC1ydW5uZXIgXAot ICAgIGF2b2NhZG8tc29mdHdhcmUtbWFuYWdlcgotZG8KLSAgICBtdiAle2J1aWxkcm9vdH0le19i aW5kaXJ9LyRleGUgJXtidWlsZHJvb3R9JXtfYmluZGlyfS8kZXhlLSV7cHl0aG9uM192ZXJzaW9u fQotICAgIGxuIC1zICRleGUtJXtweXRob24zX3ZlcnNpb259ICV7YnVpbGRyb290fSV7X2JpbmRp cn0vJGV4ZS0zCi0gICAgbG4gLXMgJGV4ZS0le3B5dGhvbjNfdmVyc2lvbn0gJXtidWlsZHJvb3R9 JXtfYmluZGlyfS8kZXhlCi1kb25lCi0jIGNvbmZpZ3VyYXRpb24gaXMgaGVsZCBhdCAvZXRjL2F2 b2NhZG8gb25seSBhbmQgcGFydCBvZiB0aGUKLSMgcHl0aG9uLWF2b2NhZG8tY29tbW9uIHBhY2th Z2UKLXJtIC1yZiAle2J1aWxkcm9vdH0le3B5dGhvbjNfc2l0ZWxpYn0vYXZvY2Fkby9ldGMKLSMg ZGl0dG8gZm9yIGxpYmV4ZWMgZmlsZXMKLXJtIC1yZiAle2J1aWxkcm9vdH0le3B5dGhvbjNfc2l0 ZWxpYn0vYXZvY2Fkby9saWJleGVjCi1wdXNoZCBvcHRpb25hbF9wbHVnaW5zL2h0bWwKLSAgICAl cHkzX2luc3RhbGwKLXBvcGQKLSVpZiAle3dpdGhfcmVzdWx0c2RifQotcHVzaGQgb3B0aW9uYWxf cGx1Z2lucy9yZXN1bHRzZGIKLSAgICAlcHkzX2luc3RhbGwKLXBvcGQKLSVlbmRpZgotcHVzaGQg b3B0aW9uYWxfcGx1Z2lucy92YXJpYW50ZXJfeWFtbF90b19tdXgKLSAgICAlcHkzX2luc3RhbGwK LXBvcGQKLXB1c2hkIG9wdGlvbmFsX3BsdWdpbnMvZ29sYW5nCi0gICAgJXB5M19pbnN0YWxsCi1w b3BkCi0laWYgISAwJXs/cmhlbH0KLXB1c2hkIG9wdGlvbmFsX3BsdWdpbnMvYW5zaWJsZQotICAg ICVweTNfaW5zdGFsbAotcG9wZAotJWVuZGlmCi1wdXNoZCBvcHRpb25hbF9wbHVnaW5zL3Zhcmlh bnRlcl9waWN0Ci0gICAgJXB5M19pbnN0YWxsCi1wb3BkCi1wdXNoZCBvcHRpb25hbF9wbHVnaW5z L3ZhcmlhbnRlcl9jaXQKLSAgICAlcHkzX2luc3RhbGwKLXBvcGQKLXB1c2hkIG9wdGlvbmFsX3Bs dWdpbnMvcmVzdWx0X3VwbG9hZAotICAgICVweTNfaW5zdGFsbAotcG9wZAotcHVzaGQgb3B0aW9u YWxfcGx1Z2lucy9tYWlsCi0gICAgJXB5M19pbnN0YWxsCi1wb3BkCi0laWYgISAwJXs/cmhlbH0K LXB1c2hkIG9wdGlvbmFsX3BsdWdpbnMvc3Bhd25lcl9yZW1vdGUKLSAgICAlcHkzX2luc3RhbGwK LXBvcGQKLSVlbmRpZgotIyBjbGVhbnVwIHBsdWdpbiB0ZXN0IGNydWZ0Ci1ybSAtcmYgJXtidWls ZHJvb3R9JXtweXRob24zX3NpdGVsaWJ9L3Rlc3RzCi1ta2RpciAtcCAle2J1aWxkcm9vdH0le19z eXNjb25mZGlyfS9hdm9jYWRvCi1jcCAtciBhdm9jYWRvL2V0Yy9hdm9jYWRvL3NjcmlwdHMgJXti dWlsZHJvb3R9JXtfc3lzY29uZmRpcn0vYXZvY2Fkby9zY3JpcHRzCi1jcCAtciBhdm9jYWRvL2V0 Yy9hdm9jYWRvL3N5c2luZm8gJXtidWlsZHJvb3R9JXtfc3lzY29uZmRpcn0vYXZvY2Fkby9zeXNp bmZvCi1ta2RpciAtcCAle2J1aWxkcm9vdH0le19saWJleGVjZGlyfS9hdm9jYWRvCi1jcCBhdm9j YWRvL2xpYmV4ZWMvYXZvY2Fkby1iYXNoLXV0aWxzICV7YnVpbGRyb290fSV7X2xpYmV4ZWNkaXJ9 L2F2b2NhZG8vYXZvY2Fkby1iYXNoLXV0aWxzCi1jcCBhdm9jYWRvL2xpYmV4ZWMvYXZvY2Fkb19k ZWJ1ZyAle2J1aWxkcm9vdH0le19saWJleGVjZGlyfS9hdm9jYWRvL2F2b2NhZG9fZGVidWcKLWNw IGF2b2NhZG8vbGliZXhlYy9hdm9jYWRvX2Vycm9yICV7YnVpbGRyb290fSV7X2xpYmV4ZWNkaXJ9 L2F2b2NhZG8vYXZvY2Fkb19lcnJvcgotY3AgYXZvY2Fkby9saWJleGVjL2F2b2NhZG9faW5mbyAl e2J1aWxkcm9vdH0le19saWJleGVjZGlyfS9hdm9jYWRvL2F2b2NhZG9faW5mbwotY3AgYXZvY2Fk by9saWJleGVjL2F2b2NhZG9fd2FybiAle2J1aWxkcm9vdH0le19saWJleGVjZGlyfS9hdm9jYWRv L2F2b2NhZG9fd2FybgotbWtkaXIgLXAgJXtidWlsZHJvb3R9JXtfbWFuZGlyfS9tYW4xCi1pbnN0 YWxsIC1tIDA2NDQgbWFuL2F2b2NhZG8uMSAle2J1aWxkcm9vdH0le19tYW5kaXJ9L21hbjEvYXZv Y2Fkby4xCi1ta2RpciAtcCAle2J1aWxkcm9vdH0le19wa2dkb2NkaXJ9Ci1pbnN0YWxsIC1tIDA2 NDQgUkVBRE1FLnJzdCAle2J1aWxkcm9vdH0le19wa2dkb2NkaXJ9Ci1pbnN0YWxsIC1kIC1tIDA3 NTUgJXtidWlsZHJvb3R9JXtfc2hhcmVkc3RhdGVkaXJ9L2F2b2NhZG8vZGF0YQotIyBwbGFjZSBl eGFtcGxlcyBpbiBkb2N1bWVudGF0aW9uIGRpcmVjdG9yeQotaW5zdGFsbCAtZCAtbSAwNzU1ICV7 YnVpbGRyb290fSV7X2RvY2Rpcn0vYXZvY2FkbwotY3AgLXIgZXhhbXBsZXMvZ2RiLXByZXJ1bi1z Y3JpcHRzICV7YnVpbGRyb290fSV7X2RvY2Rpcn0vYXZvY2Fkby9nZGItcHJlcnVuLXNjcmlwdHMK LWNwIC1yIGV4YW1wbGVzL3BsdWdpbnMgJXtidWlsZHJvb3R9JXtfZG9jZGlyfS9hdm9jYWRvL3Bs dWdpbnMKLWNwIC1yIGV4YW1wbGVzL3Rlc3RzICV7YnVpbGRyb290fSV7X2RvY2Rpcn0vYXZvY2Fk by90ZXN0cwotY3AgLXIgZXhhbXBsZXMvdmFyaWFudGVyX2NpdCAle2J1aWxkcm9vdH0le19kb2Nk aXJ9L2F2b2NhZG8vdmFyaWFudGVyX2NpdAotY3AgLXIgZXhhbXBsZXMvdmFyaWFudGVyX3BpY3Qg JXtidWlsZHJvb3R9JXtfZG9jZGlyfS9hdm9jYWRvL3ZhcmlhbnRlcl9waWN0Ci1jcCAtciBleGFt cGxlcy95YW1sX3RvX211eCAle2J1aWxkcm9vdH0le19kb2NkaXJ9L2F2b2NhZG8veWFtbF90b19t dXgKLW1rZGlyIC1wICV7YnVpbGRyb290fSV7X2RhdGFyb290ZGlyfS9hdm9jYWRvCi1tdiAle2J1 aWxkcm9vdH0le3B5dGhvbjNfc2l0ZWxpYn0vYXZvY2Fkby9zY2hlbWFzICV7YnVpbGRyb290fSV7 X2RhdGFyb290ZGlyfS9hdm9jYWRvCi1maW5kICV7YnVpbGRyb290fSV7X2RvY2Rpcn0vYXZvY2Fk byAtdHlwZSBmIC1uYW1lICcqLnB5JyAtZXhlYyBjaG1vZCAtYyAteCB7fSAnOycKLQotJWlmICV7 d2l0aCB0ZXN0c30KLSVjaGVjawotICAgICMgTEFORzogdG8gbWFrZSB0aGUgcmVzdWx0cyBwcmVk aWN0YWJsZSwgd2UgcGluIHRoZSBsYW5ndWFnZQotICAgICMgdGhhdCBpcyB1c2VkIGR1cmluZyB0 ZXN0IGV4ZWN1dGlvbi4KLSAgICAjIEFWT0NBRE9fQ0hFQ0tfTEVWRUw6IHBhY2thZ2UgYnVpbGQg ZW52aXJvbm1lbnRzIGhhdmUgdGhlIGxlYXN0Ci0gICAgIyBhbW91bnQgb2YgcmVzb3VyY2VzIHdl IGhhdmUgb2JzZXJ2ZWQgc28gZmFyLiBMZXQncyBhdm9pZCB0ZXN0cyB0aGF0Ci0gICAgIyByZXF1 aXJlIHRvbyBtdWNoIHJlc291cmNlcyBvciBhcmUgdGltZSBzZW5zaXRpdmUKLSAgICBQQVRIPSV7 YnVpbGRyb290fSV7X2JpbmRpcn06JXtidWlsZHJvb3R9JXtfbGliZXhlY2Rpcn0vYXZvY2Fkbzok UEFUSCBcCi0gICAgICAgIFBZVEhPTlBBVEg9JXtidWlsZHJvb3R9JXtweXRob24zX3NpdGVsaWJ9 Oi4gXAotICAgICAgICBMQU5HPWVuX1VTLlVURi04IFwKLSAgICAgICAgQVZPQ0FET19DSEVDS19M RVZFTD0wIFwKLSAgICAgICAgJXtweXRob24zfSBzZWxmdGVzdHMvY2hlY2sucHkgLS1za2lwIHN0 YXRpYy1jaGVja3MgLS1kaXNhYmxlLXBsdWdpbi1jaGVja3Mgcm9ib3QKLSVlbmRpZgotCi0KLSVw YWNrYWdlIC1uIHB5dGhvbjMtYXZvY2FkbwotU3VtbWFyeTogJXtzdW1tYXJ5fQotUmVxdWlyZXM6 IHB5dGhvbi1hdm9jYWRvLWNvbW1vbiA9PSAle3ZlcnNpb259LSV7cmVsZWFzZX0KLVJlcXVpcmVz OiBnZGIKLVJlcXVpcmVzOiBnZGItZ2Ric2VydmVyCi1SZXF1aXJlczogcHJvY3BzLW5nCi0laWYg ISAwJXs/cmhlbH0KLVJlcXVpcmVzOiBweXRob24zLXB5Y2RsaWIKLSVlbmRpZgotCi0lZGVzY3Jp cHRpb24gLW4gcHl0aG9uMy1hdm9jYWRvCi1Bdm9jYWRvIGlzIGEgc2V0IG9mIHRvb2xzIGFuZCBs aWJyYXJpZXMgKHdoYXQgcGVvcGxlIGNhbGwKLXRoZXNlIGRheXMgYSBmcmFtZXdvcmspIHRvIHBl cmZvcm0gYXV0b21hdGVkIHRlc3RpbmcuCi0KLSVmaWxlcyAtbiBweXRob24zLWF2b2NhZG8KLSVs aWNlbnNlIExJQ0VOU0UKLSV7X3BrZ2RvY2Rpcn0vUkVBRE1FLnJzdAotJXtweXRob24zX3NpdGVs aWJ9L2F2b2NhZG8vCi0le3B5dGhvbjNfc2l0ZWxpYn0vYXZvY2Fkb19mcmFtZXdvcmstJXt2ZXJz aW9ufS1weSV7cHl0aG9uM192ZXJzaW9ufS5lZ2ctaW5mbwotJXtfYmluZGlyfS9hdm9jYWRvLSV7 cHl0aG9uM192ZXJzaW9ufQotJXtfYmluZGlyfS9hdm9jYWRvLTMKLSV7X2JpbmRpcn0vYXZvY2Fk bwotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1ub29wLSV7cHl0aG9uM192ZXJzaW9ufQotJXtf YmluZGlyfS9hdm9jYWRvLXJ1bm5lci1ub29wLTMKLSV7X2JpbmRpcn0vYXZvY2Fkby1ydW5uZXIt bm9vcAotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1kcnktcnVuLSV7cHl0aG9uM192ZXJzaW9u fQotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1kcnktcnVuLTMKLSV7X2JpbmRpcn0vYXZvY2Fk by1ydW5uZXItZHJ5LXJ1bgotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1leGVjLXRlc3QtJXtw eXRob24zX3ZlcnNpb259Ci0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLWV4ZWMtdGVzdC0zCi0l e19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLWV4ZWMtdGVzdAotJXtfYmluZGlyfS9hdm9jYWRvLXJ1 bm5lci1weXRob24tdW5pdHRlc3QtJXtweXRob24zX3ZlcnNpb259Ci0le19iaW5kaXJ9L2F2b2Nh ZG8tcnVubmVyLXB5dGhvbi11bml0dGVzdC0zCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLXB5 dGhvbi11bml0dGVzdAotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1hdm9jYWRvLWluc3RydW1l bnRlZC0le3B5dGhvbjNfdmVyc2lvbn0KLSV7X2JpbmRpcn0vYXZvY2Fkby1ydW5uZXItYXZvY2Fk by1pbnN0cnVtZW50ZWQtMwotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1hdm9jYWRvLWluc3Ry dW1lbnRlZAotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci10YXAtJXtweXRob24zX3ZlcnNpb259 Ci0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLXRhcC0zCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVu bmVyLXRhcAotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1hc3NldC0le3B5dGhvbjNfdmVyc2lv bn0KLSV7X2JpbmRpcn0vYXZvY2Fkby1ydW5uZXItYXNzZXQtMwotJXtfYmluZGlyfS9hdm9jYWRv LXJ1bm5lci1hc3NldAotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1wYWNrYWdlLSV7cHl0aG9u M192ZXJzaW9ufQotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1wYWNrYWdlLTMKLSV7X2JpbmRp cn0vYXZvY2Fkby1ydW5uZXItcGFja2FnZQotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1waXAt JXtweXRob24zX3ZlcnNpb259Ci0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLXBpcC0zCi0le19i aW5kaXJ9L2F2b2NhZG8tcnVubmVyLXBpcAotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1wb2Rt YW4taW1hZ2UtJXtweXRob24zX3ZlcnNpb259Ci0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLXBv ZG1hbi1pbWFnZS0zCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLXBvZG1hbi1pbWFnZQotJXtf YmluZGlyfS9hdm9jYWRvLXJ1bm5lci1zeXNpbmZvLSV7cHl0aG9uM192ZXJzaW9ufQotJXtfYmlu ZGlyfS9hdm9jYWRvLXJ1bm5lci1zeXNpbmZvLTMKLSV7X2JpbmRpcn0vYXZvY2Fkby1ydW5uZXIt c3lzaW5mbwotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci12bWltYWdlLSV7cHl0aG9uM192ZXJz aW9ufQotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci12bWltYWdlLTMKLSV7X2JpbmRpcn0vYXZv Y2Fkby1ydW5uZXItdm1pbWFnZQotJXtfYmluZGlyfS9hdm9jYWRvLXNvZnR3YXJlLW1hbmFnZXIt JXtweXRob24zX3ZlcnNpb259Ci0le19iaW5kaXJ9L2F2b2NhZG8tc29mdHdhcmUtbWFuYWdlci0z Ci0le19iaW5kaXJ9L2F2b2NhZG8tc29mdHdhcmUtbWFuYWdlcgotJXtfYmluZGlyfS9hdm9jYWRv LWV4dGVybmFsLXJ1bm5lci0le3B5dGhvbjNfdmVyc2lvbn0KLSV7X2JpbmRpcn0vYXZvY2Fkby1l eHRlcm5hbC1ydW5uZXItMwotJXtfYmluZGlyfS9hdm9jYWRvLWV4dGVybmFsLXJ1bm5lcgotCi0K LSVwYWNrYWdlIC1uIHB5dGhvbi1hdm9jYWRvLWNvbW1vbgotU3VtbWFyeTogQXZvY2FkbyBjb21t b24gZmlsZXMKLUxpY2Vuc2U6IEdQTC0yLjAtb3ItbGF0ZXIKLQotJWRlc2NyaXB0aW9uIC1uIHB5 dGhvbi1hdm9jYWRvLWNvbW1vbgotQ29tbW9uIGZpbGVzIChzdWNoIGFzIGNvbmZpZ3VyYXRpb24p IGZvciB0aGUgQXZvY2FkbyBUZXN0aW5nIEZyYW1ld29yay4KLQotJWZpbGVzIC1uIHB5dGhvbi1h dm9jYWRvLWNvbW1vbgotJWxpY2Vuc2UgTElDRU5TRQotJXtfbWFuZGlyfS9tYW4xL2F2b2NhZG8u MS5negotJWRpciAle19kb2NkaXJ9L2F2b2NhZG8KLSVkaXIgJXtfc2hhcmVkc3RhdGVkaXJ9L2F2 b2NhZG8KLSVkaXIgJXtfc3lzY29uZmRpcn0vYXZvY2FkbwotJWRpciAle19zeXNjb25mZGlyfS9h dm9jYWRvL3N5c2luZm8KLSVkaXIgJXtfc3lzY29uZmRpcn0vYXZvY2Fkby9zY3JpcHRzCi0lZGly ICV7X3N5c2NvbmZkaXJ9L2F2b2NhZG8vc2NyaXB0cy9qb2IKLSVkaXIgJXtfc3lzY29uZmRpcn0v YXZvY2Fkby9zY3JpcHRzL2pvYi9wcmUuZAotJWRpciAle19zeXNjb25mZGlyfS9hdm9jYWRvL3Nj cmlwdHMvam9iL3Bvc3QuZAotJWRpciAle19zaGFyZWRzdGF0ZWRpcn0vYXZvY2Fkby9kYXRhCi0l ZGlyICV7X2RhdGFyb290ZGlyfS9hdm9jYWRvCi0lZGlyICV7X2RhdGFyb290ZGlyfS9hdm9jYWRv L3NjaGVtYXMKLSV7X2RhdGFyb290ZGlyfS9hdm9jYWRvL3NjaGVtYXMvKgotJWNvbmZpZyhub3Jl cGxhY2UpICV7X3N5c2NvbmZkaXJ9L2F2b2NhZG8vc3lzaW5mby9jb21tYW5kcwotJWNvbmZpZyhu b3JlcGxhY2UpICV7X3N5c2NvbmZkaXJ9L2F2b2NhZG8vc3lzaW5mby9maWxlcwotJWNvbmZpZyhu b3JlcGxhY2UpICV7X3N5c2NvbmZkaXJ9L2F2b2NhZG8vc3lzaW5mby9wcm9maWxlcnMKLSV7X3N5 c2NvbmZkaXJ9L2F2b2NhZG8vc2NyaXB0cy9qb2IvcHJlLmQvUkVBRE1FCi0le19zeXNjb25mZGly fS9hdm9jYWRvL3NjcmlwdHMvam9iL3Bvc3QuZC9SRUFETUUKLQotCi0lcGFja2FnZSAtbiBweXRo b24zLWF2b2NhZG8tcGx1Z2lucy1vdXRwdXQtaHRtbAotU3VtbWFyeTogQXZvY2FkbyBIVE1MIHJl cG9ydCBwbHVnaW4KLUxpY2Vuc2U6IEdQTC0yLjAtb3ItbGF0ZXIgQU5EIE1JVAotUmVxdWlyZXM6 IHB5dGhvbjMtYXZvY2FkbyA9PSAle3ZlcnNpb259LSV7cmVsZWFzZX0KLQotJWRlc2NyaXB0aW9u IC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLW91dHB1dC1odG1sCi1BZGRzIHRvIGF2b2NhZG8g dGhlIGFiaWxpdHkgdG8gZ2VuZXJhdGUgYW4gSFRNTCByZXBvcnQgYXQgZXZlcnkgam9iIHJlc3Vs dHMKLWRpcmVjdG9yeS4gSXQgYWxzbyBnaXZlcyB0aGUgdXNlciB0aGUgYWJpbGl0eSB0byB3cml0 ZSBhIHJlcG9ydCBvbiBhbgotYXJiaXRyYXJ5IGZpbGVzeXN0ZW0gbG9jYXRpb24uCi0KLSVmaWxl cyAtbiBweXRob24zLWF2b2NhZG8tcGx1Z2lucy1vdXRwdXQtaHRtbAotJXtweXRob24zX3NpdGVs aWJ9L2F2b2NhZG9fcmVzdWx0X2h0bWwvCi0le3B5dGhvbjNfc2l0ZWxpYn0vYXZvY2Fkb19mcmFt ZXdvcmtfcGx1Z2luX3Jlc3VsdF9odG1sLSV7dmVyc2lvbn0tcHkle3B5dGhvbjNfdmVyc2lvbn0u ZWdnLWluZm8KLQotCi0laWYgJXt3aXRoX3Jlc3VsdHNkYn0KLSVwYWNrYWdlIC1uIHB5dGhvbjMt YXZvY2Fkby1wbHVnaW5zLXJlc3VsdHNkYgotU3VtbWFyeTogQXZvY2FkbyBwbHVnaW4gdG8gcHJv cGFnYXRlIGpvYiByZXN1bHRzIHRvIFJlc3VsdHNEQgotTGljZW5zZTogR1BMLTIuMC1vci1sYXRl cgotUmVxdWlyZXM6IHB5dGhvbjMtYXZvY2FkbyA9PSAle3ZlcnNpb259LSV7cmVsZWFzZX0KLQot JWRlc2NyaXB0aW9uIC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLXJlc3VsdHNkYgotQWxsb3dz IEF2b2NhZG8gdG8gc2VuZCBqb2IgcmVzdWx0cyBkaXJlY3RseSB0byBhIFJlc3VsdHNEQgotc2Vy dmVyLgotCi0lZmlsZXMgLW4gcHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtcmVzdWx0c2RiCi0le3B5 dGhvbjNfc2l0ZWxpYn0vYXZvY2Fkb19yZXN1bHRzZGIvCi0le3B5dGhvbjNfc2l0ZWxpYn0vYXZv Y2Fkb19mcmFtZXdvcmtfcGx1Z2luX3Jlc3VsdHNkYi0le3ZlcnNpb259LXB5JXtweXRob24zX3Zl cnNpb259LmVnZy1pbmZvCi0lZW5kaWYKLSMgd2l0aF9yZXN1bHRzZGIKLQotCi0lcGFja2FnZSAt biBweXRob24zLWF2b2NhZG8tcGx1Z2lucy12YXJpYW50ZXIteWFtbC10by1tdXgKLVN1bW1hcnk6 IEF2b2NhZG8gcGx1Z2luIHRvIGdlbmVyYXRlIHZhcmlhbnRzIG91dCBvZiB5YW1sIGZpbGVzCi1M aWNlbnNlOiBHUEwtMi4wLW9yLWxhdGVyCi1SZXF1aXJlczogcHl0aG9uMy1hdm9jYWRvID09ICV7 dmVyc2lvbn0tJXtyZWxlYXNlfQotCi0lZGVzY3JpcHRpb24gLW4gcHl0aG9uMy1hdm9jYWRvLXBs dWdpbnMtdmFyaWFudGVyLXlhbWwtdG8tbXV4Ci1DYW4gYmUgdXNlZCB0byBwcm9kdWNlIG11bHRp cGxlIHRlc3QgdmFyaWFudHMgd2l0aCB0ZXN0IHBhcmFtZXRlcnMKLWRlZmluZWQgaW4gYSB5YW1s IGZpbGUocykuCi0KLSVmaWxlcyAtbiBweXRob24zLWF2b2NhZG8tcGx1Z2lucy12YXJpYW50ZXIt eWFtbC10by1tdXgKLSV7cHl0aG9uM19zaXRlbGlifS9hdm9jYWRvX3ZhcmlhbnRlcl95YW1sX3Rv X211eC8KLSV7cHl0aG9uM19zaXRlbGlifS9hdm9jYWRvX2ZyYW1ld29ya19wbHVnaW5fdmFyaWFu dGVyX3lhbWxfdG9fbXV4LSV7dmVyc2lvbn0tcHkle3B5dGhvbjNfdmVyc2lvbn0uZWdnLWluZm8K LQotCi0lcGFja2FnZSAtbiBweXRob24zLWF2b2NhZG8tcGx1Z2lucy1nb2xhbmcKLVN1bW1hcnk6 IEF2b2NhZG8gcGx1Z2luIGZvciBleGVjdXRpb24gb2YgZ29sYW5nIHRlc3RzCi1MaWNlbnNlOiBH UEwtMi4wLW9yLWxhdGVyCi1SZXF1aXJlczogcHl0aG9uMy1hdm9jYWRvID09ICV7dmVyc2lvbn0t JXtyZWxlYXNlfQotUmVxdWlyZXM6IGdvbGFuZwotCi0lZGVzY3JpcHRpb24gLW4gcHl0aG9uMy1h dm9jYWRvLXBsdWdpbnMtZ29sYW5nCi1BbGxvd3MgQXZvY2FkbyB0byBsaXN0IGdvbGFuZyB0ZXN0 cywgYW5kIGlmIGdvbGFuZyBpcyBpbnN0YWxsZWQsCi1hbHNvIHJ1biB0aGVtLgotCi0lZmlsZXMg LW4gcHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtZ29sYW5nCi0le3B5dGhvbjNfc2l0ZWxpYn0vYXZv Y2Fkb19nb2xhbmcvCi0le3B5dGhvbjNfc2l0ZWxpYn0vYXZvY2Fkb19mcmFtZXdvcmtfcGx1Z2lu X2dvbGFuZy0le3ZlcnNpb259LXB5JXtweXRob24zX3ZlcnNpb259LmVnZy1pbmZvCi0le19iaW5k aXJ9L2F2b2NhZG8tcnVubmVyLWdvbGFuZwotCi0KLSVpZiAhIDAlez9yaGVsfQotJXBhY2thZ2Ug LW4gcHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtYW5zaWJsZQotU3VtbWFyeTogQXZvY2FkbyBBbnNp YmxlIERlcGVuZGVuY3kgcGx1Z2luCi1MaWNlbnNlOiBHUEwtMi4wLW9yLWxhdGVyCi1SZXF1aXJl czogcHl0aG9uMy1hdm9jYWRvID09ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQotUmVxdWlyZXM6IGFu c2libGUtY29yZQotCi0lZGVzY3JpcHRpb24gLW4gcHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtYW5z aWJsZQotQWRkcyB0byBBdm9jYWRvIHRoZSBhYmlsaXR5IHRvIHVzZSBhbnNpYmxlIG1vZHVsZXMg YXMgZGVwZW5kZWNpZXMgZm9yCi10ZXN0cy4KLQotJWZpbGVzIC1uIHB5dGhvbjMtYXZvY2Fkby1w bHVnaW5zLWFuc2libGUKLSV7cHl0aG9uM19zaXRlbGlifS9hdm9jYWRvX2Fuc2libGUqCi0le3B5 dGhvbjNfc2l0ZWxpYn0vYXZvY2Fkb19mcmFtZXdvcmtfcGx1Z2luX2Fuc2libGUqCi0le19iaW5k aXJ9L2F2b2NhZG8tcnVubmVyLWFuc2libGUtbW9kdWxlCi0lZW5kaWYKLQotCi0lcGFja2FnZSAt biBweXRob24zLWF2b2NhZG8tcGx1Z2lucy12YXJpYW50ZXItcGljdAotU3VtbWFyeTogVmFyaWFu dGVyIHdpdGggY29tYmluYXRvcmlhbCBjYXBhYmlsaXRpZXMgYnkgUElDVAotTGljZW5zZTogR1BM LTIuMC1vci1sYXRlcgotUmVxdWlyZXM6IHB5dGhvbjMtYXZvY2FkbyA9PSAle3ZlcnNpb259LSV7 cmVsZWFzZX0KLQotJWRlc2NyaXB0aW9uIC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLXZhcmlh bnRlci1waWN0Ci1UaGlzIHBsdWdpbiB1c2VzIGEgdGhpcmQtcGFydHkgdG9vbCB0byBwcm92aWRl IHZhcmlhbnRzIGNyZWF0ZWQgYnkKLVBhaXItV2lzZSBhbGdvcml0aG1zLCBhbHNvIGtub3duIGFz IENvbWJpbmF0b3JpYWwgSW5kZXBlbmRlbnQgVGVzdGluZy4KLQotJWZpbGVzIC1uIHB5dGhvbjMt YXZvY2Fkby1wbHVnaW5zLXZhcmlhbnRlci1waWN0Ci0le3B5dGhvbjNfc2l0ZWxpYn0vYXZvY2Fk b192YXJpYW50ZXJfcGljdC8KLSV7cHl0aG9uM19zaXRlbGlifS9hdm9jYWRvX2ZyYW1ld29ya19w bHVnaW5fdmFyaWFudGVyX3BpY3QtJXt2ZXJzaW9ufS1weSV7cHl0aG9uM192ZXJzaW9ufS5lZ2ct aW5mbwotCi0KLSVwYWNrYWdlIC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLXZhcmlhbnRlci1j aXQKLVN1bW1hcnk6IFZhcmlhbnRlciB3aXRoIENvbWJpbmF0b3JpYWwgSW5kZXBlbmRlbnQgVGVz dGluZyBjYXBhYmlsaXRpZXMKLUxpY2Vuc2U6IEdQTC0yLjAtb3ItbGF0ZXIKLVJlcXVpcmVzOiBw eXRob24zLWF2b2NhZG8gPT0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9Ci0KLSVkZXNjcmlwdGlvbiAt biBweXRob24zLWF2b2NhZG8tcGx1Z2lucy12YXJpYW50ZXItY2l0Ci1BIHZhcmlhbnRlciBwbHVn aW4gdGhhdCBnZW5lcmF0ZXMgdmFyaWFudHMgdXNpbmcgQ29tYmluYXRvcmlhbAotSW5kZXBlbmRl bnQgVGVzdGluZyAoQUtBIFBhaXItV2lzZSkgYWxnb3JpdGhtIGRldmVsb3BlZCBpbgotY29sbGFi b3JhdGlvbiB3aXRoIENWVVQgUHJhZ3VlLgotCi0lZmlsZXMgLW4gcHl0aG9uMy1hdm9jYWRvLXBs dWdpbnMtdmFyaWFudGVyLWNpdAotJXtweXRob24zX3NpdGVsaWJ9L2F2b2NhZG9fdmFyaWFudGVy X2NpdC8KLSV7cHl0aG9uM19zaXRlbGlifS9hdm9jYWRvX2ZyYW1ld29ya19wbHVnaW5fdmFyaWFu dGVyX2NpdC0le3ZlcnNpb259LXB5JXtweXRob24zX3ZlcnNpb259LmVnZy1pbmZvCi0KLQotJXBh Y2thZ2UgLW4gcHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtcmVzdWx0LXVwbG9hZAotU3VtbWFyeTog QXZvY2FkbyBwbHVnaW4gcHJvcGFnYXRlIGpvYiByZXN1bHRzIHRvIGEgcmVtb3RlIGhvc3QKLUxp Y2Vuc2U6IEdQTC0yLjAtb3ItbGF0ZXIKLVJlcXVpcmVzOiBweXRob24zLWF2b2NhZG8gPT0gJXt2 ZXJzaW9ufS0le3JlbGVhc2V9Ci0KLSVkZXNjcmlwdGlvbiAtbiBweXRob24zLWF2b2NhZG8tcGx1 Z2lucy1yZXN1bHQtdXBsb2FkCi1UaGlzIG9wdGlvbmFsIHBsdWdpbiBpcyBpbnRlbmRlZCB0byB1 cGxvYWQgdGhlIEF2b2NhZG8gSm9iIHJlc3VsdHMgdG8KLWEgZGVkaWNhdGVkIHNldmVyLgotCi0l ZmlsZXMgLW4gcHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtcmVzdWx0LXVwbG9hZAotJXtweXRob24z X3NpdGVsaWJ9L2F2b2NhZG9fcmVzdWx0X3VwbG9hZC8KLSV7cHl0aG9uM19zaXRlbGlifS9hdm9j YWRvX2ZyYW1ld29ya19wbHVnaW5fcmVzdWx0X3VwbG9hZC0le3ZlcnNpb259LXB5JXtweXRob24z X3ZlcnNpb259LmVnZy1pbmZvCi0KLSVwYWNrYWdlIC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5z LXJlc3VsdC1tYWlsCi1TdW1tYXJ5OiBBdm9jYWRvIE1haWwgTm90aWZpY2F0aW9uIGZvciBKb2Jz Ci1MaWNlbnNlOiBHUEwtMi4wLW9yLWxhdGVyCi1SZXF1aXJlczogcHl0aG9uMy1hdm9jYWRvID09 ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQotCi0lZGVzY3JpcHRpb24gLW4gcHl0aG9uMy1hdm9jYWRv LXBsdWdpbnMtcmVzdWx0LW1haWwKLVRoZSBNYWlsIHJlc3VsdCBwbHVnaW4gZW5hYmxlcyB5b3Ug dG8gcmVjZWl2ZSBlbWFpbCBub3RpZmljYXRpb25zCi1mb3Igam9iIHN0YXJ0IGFuZCBjb21wbGV0 aW9uIGV2ZW50cyB3aXRoaW4gdGhlIEF2b2NhZG8gdGVzdGluZyBmcmFtZXdvcmsuCi0KLSVmaWxl cyAtbiBweXRob24zLWF2b2NhZG8tcGx1Z2lucy1yZXN1bHQtbWFpbAotJXtweXRob24zX3NpdGVs aWJ9L2F2b2NhZG9fcmVzdWx0X21haWwqCi0le3B5dGhvbjNfc2l0ZWxpYn0vYXZvY2Fkb19mcmFt ZXdvcmtfcGx1Z2luX3Jlc3VsdF9tYWlsKgotCi0laWYgISAwJXs/cmhlbH0KLSVwYWNrYWdlIC1u IHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLXNwYXduZXItcmVtb3RlCi1TdW1tYXJ5OiBBdm9jYWRv IFBsdWdpbiB0byBzcGF3biB0ZXN0cyBvbiBhIHJlbW90ZSBob3N0Ci1MaWNlbnNlOiBHUEwtMi4w LW9yLWxhdGVyCi1SZXF1aXJlczogcHl0aG9uMy1hdm9jYWRvID09ICV7dmVyc2lvbn0tJXtyZWxl YXNlfQotCi0lZGVzY3JpcHRpb24gLW4gcHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtc3Bhd25lci1y ZW1vdGUKLVRoaXMgb3B0aW9uYWwgcGx1Z2luIGlzIGludGVuZGVkIHRvIHNwYXduIHRlc3RzIG9u IGEgcmVtb3RlIGhvc3QuCi0KLSVmaWxlcyAtbiBweXRob24zLWF2b2NhZG8tcGx1Z2lucy1zcGF3 bmVyLXJlbW90ZQotJXtweXRob24zX3NpdGVsaWJ9L2F2b2NhZG9fc3Bhd25lcl9yZW1vdGUqCi0l e3B5dGhvbjNfc2l0ZWxpYn0vYXZvY2Fkb19mcmFtZXdvcmtfcGx1Z2luX3NwYXduZXJfcmVtb3Rl KgotJWVuZGlmCi0KLSVwYWNrYWdlIC1uIHB5dGhvbi1hdm9jYWRvLWV4YW1wbGVzCi1TdW1tYXJ5 OiBBdm9jYWRvIFRlc3QgRnJhbWV3b3JrIEV4YW1wbGUgVGVzdHMKLUxpY2Vuc2U6IEdQTC0yLjAt b3ItbGF0ZXIKLSMgZG9jdW1lbnRhdGlvbiBkb2VzIG5vdCByZXF1aXJlIG1haW4gcGFja2FnZSwg YnV0IG5lZWRzIHRvIGJlIGluIGxvY2stc3RlcCBpZiBwcmVzZW50Ci1Db25mbGljdHM6IHB5dGhv bjMtYXZvY2FkbyA8ICV7dmVyc2lvbn0tJXtyZWxlYXNlfSwgcHl0aG9uMy1hdm9jYWRvID4gJXt2 ZXJzaW9ufS0le3JlbGVhc2V9Ci0KLSVkZXNjcmlwdGlvbiAtbiBweXRob24tYXZvY2Fkby1leGFt cGxlcwotVGhlIHNldCBvZiBleGFtcGxlIHRlc3RzIHByZXNlbnQgaW4gdGhlIHVwc3RyZWFtIHRy ZWUgb2YgdGhlIEF2b2NhZG8gZnJhbWV3b3JrLgotU29tZSBvZiB0aGVtIGFyZSB1c2VkIGFzIGZ1 bmN0aW9uYWwgdGVzdHMgb2YgdGhlIGZyYW1ld29yaywgb3RoZXJzIHNlcnZlIGFzCi1leGFtcGxl cyBvZiBob3cgdG8gd3JpdGUgdGVzdHMgb24geW91ciBvd24uCi0KLSVmaWxlcyAtbiBweXRob24t YXZvY2Fkby1leGFtcGxlcwotJWxpY2Vuc2UgTElDRU5TRQotJWRpciAle19kb2NkaXJ9L2F2b2Nh ZG8KLSV7X2RvY2Rpcn0vYXZvY2Fkby9nZGItcHJlcnVuLXNjcmlwdHMKLSV7X2RvY2Rpcn0vYXZv Y2Fkby9wbHVnaW5zCi0le19kb2NkaXJ9L2F2b2NhZG8vdGVzdHMKLSV7X2RvY2Rpcn0vYXZvY2Fk by92YXJpYW50ZXJfY2l0Ci0le19kb2NkaXJ9L2F2b2NhZG8vdmFyaWFudGVyX3BpY3QKLSV7X2Rv Y2Rpcn0vYXZvY2Fkby95YW1sX3RvX211eAotCi0KLSVwYWNrYWdlIC1uIHB5dGhvbi1hdm9jYWRv LWJhc2gKLVN1bW1hcnk6IEF2b2NhZG8gVGVzdCBGcmFtZXdvcmsgQmFzaCBVdGlsaXRpZXMKLUxp Y2Vuc2U6IEdQTC0yLjAtb3ItbGF0ZXIgQU5EIEdQTC0yLjAtb25seQotUmVxdWlyZXM6IHB5dGhv bi1hdm9jYWRvLWNvbW1vbiA9PSAle3ZlcnNpb259LSV7cmVsZWFzZX0KLQotJWRlc2NyaXB0aW9u IC1uIHB5dGhvbi1hdm9jYWRvLWJhc2gKLUEgc21hbGwgc2V0IG9mIHV0aWxpdGllcyB0byBpbnRl cmFjdCB3aXRoIEF2b2NhZG8gZnJvbSB0aGUgQm91cm5lCi1BZ2FpbiBTaGVsbCBjb2RlIChhbmQg cG9zc2libHkgb3RoZXIgc2ltaWxhciBzaGVsbHMpLgotCi0lZmlsZXMgLW4gcHl0aG9uLWF2b2Nh ZG8tYmFzaAotJWxpY2Vuc2UgTElDRU5TRQotJWRpciAle19saWJleGVjZGlyfS9hdm9jYWRvCi0l e19saWJleGVjZGlyfS9hdm9jYWRvL2F2b2NhZG8tYmFzaC11dGlscwotJXtfbGliZXhlY2Rpcn0v YXZvY2Fkby9hdm9jYWRvX2RlYnVnCi0le19saWJleGVjZGlyfS9hdm9jYWRvL2F2b2NhZG9fZXJy b3IKLSV7X2xpYmV4ZWNkaXJ9L2F2b2NhZG8vYXZvY2Fkb19pbmZvCi0le19saWJleGVjZGlyfS9h dm9jYWRvL2F2b2NhZG9fd2FybgotCi0KLSVjaGFuZ2Vsb2cKLSogVGh1IEp1bCAxNiAyMDI2IEZl ZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMTEy LjAtNQotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3Jh XzQ1X01hc3NfUmVidWlsZAotCi0qIFRodSBKdW4gMDQgMjAyNiBQeXRob24gTWFpbnQgPHB5dGhv bi1tYWludEByZWRoYXQuY29tPiAtIDExMi4wLTQKLS0gUmVidWlsdCBmb3IgUHl0aG9uIDMuMTUK LQotKiBUdWUgQXByIDA3IDIwMjYgQWRhbSBXaWxsaWFtc29uIDxhd2lsbGlhbUByZWRoYXQuY29t PiAtIDExMi4wLTMKLS0gQmFja3BvcnQgUFIgIzYyOTUgdG8gZml4IHJlc3VsdHNkYl9hcGkgZGVw ZW5kZW5jeSAoIzI0NTI4MjEpCi0tIEJhY2twb3J0IFBSICM2MjUyIHRvIGZpeCBidWlsZCAodGVz dHMpIHdpdGggcmVjZW50IHNldHVwdG9vbHMgKCMyNDM0OTUxKQotCi0qIFNhdCBKYW4gMTcgMjAy NiBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAt IDExMi4wLTIKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0Zl ZG9yYV80NF9NYXNzX1JlYnVpbGQKLQotKiBGcmkgT2N0IDEwIDIwMjUgQ2xlYmVyIFJvc2EgIDxj cm9zYUByZWRoYXQuY29tPiAtIDExMi4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2Ug MTEyLjAKLS0gUmVtb3ZlZCBweXRob24zLWVsZW1lbnRwYXRoIGJ1aWxkIHJlcXVpcmVtZW50Ci0t IE1hZGUgdGhlIHJlbW90ZSBzcGF3bmVyIGEgcHJvcGVyIHN1YiBwYWNrYWdlCi0tIFBhY2thZ2Vk IEpTT04gc2NoZW1hIGZpbGVzCi0tIEludHJvZHVjZWQgbmV3IHN1YiBwYWNrYWdlIGZvciBtYWls IHBsdWdpbgotLSBSZW1vdmVkIHRoZSBwaW5uaW5nIG9mIG1hcmt1cHNhZmUgb24gRmVkb3JhIDQy IGFuZCBsYXRlcgotLSBQYWNrYWdlZCBhdm9jYWRvLXJ1bm5lci1waXAKLS0gUGFja2FnZWQgYXZv Y2Fkby1ydW5uZXItdm1pbWFnZQotLSBQcm92aWRlIHJlcXVpcmVtZW50cyBmb3IgcnVubmluZyB0 aGUgZnVuY3Rpb25hbCB0ZXN0Ci0gIG5ydW5uZXIucHk6VGFza1J1blN0YXR1c1NlcnZpY2UudGVz dF90YXNrX3N0YXR1c19zZXJ2aWNlX2xvc3QKLS0gUmVxdWlyZSBnY2MsIGdkYiBhbmQgZ2RiLWdk YnNlcnZlciBmb3IgdGVzdHMKLQotKiBGcmkgSnVsIDI1IDIwMjUgRmVkb3JhIFJlbGVhc2UgRW5n aW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSA5Mi4zLTYKLS0gUmVidWlsdCBm b3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80M19NYXNzX1JlYnVpbGQK LQotKiBUdWUgSnVuIDAzIDIwMjUgUHl0aG9uIE1haW50IDxweXRob24tbWFpbnRAcmVkaGF0LmNv bT4gLSA5Mi4zLTUKLS0gUmVidWlsdCBmb3IgUHl0aG9uIDMuMTQKLQotKiBNb24gSmFuIDIwIDIw MjUgTWlybyBIcm9uxI1vayA8bWhyb25jb2tAcmVkaGF0LmNvbT4gLSA5Mi4zLTQKLS0gTG9vc2Vu IHRoZSBQeVlBTUwgdmVyc2lvbiByZXF1aXJlbWVudCBpbiBweXRob24zLWF2b2NhZG8tcGx1Z2lu cy12YXJpYW50ZXIteWFtbC10by1tdXgKLQotKiBNb24gSmFuIDIwIDIwMjUgQ2xlYmVyIFJvc2Eg PGNyb3NhQHJlZGhhdC5jb20+IC0gOTIuMy0zCi0tIGNvbnZlcnQgcmVtYWluaW5nIGxpY2Vuc2Vz IHRvIFNQRFgKLQotKiBTYXQgSmFuIDE4IDIwMjUgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcg PHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSA5Mi4zLTIKLS0gUmVidWlsdCBmb3IgaHR0cHM6 Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80Ml9NYXNzX1JlYnVpbGQKLQotKiBNb24g QXVnIDE5IDIwMjQgQ2xlYmVyIFJvc2EgPGNyb3NhQHJlZGhhdC5jb20+IC0gOTIuMy0xCi0tIFVw ZGF0ZWQgdG8gOTIuMwotLSBTdXBwb3J0IGJ1aWxkaW5nIGFuZCBydW5uaW5nIHVuZGVyIFB5dGhv biAzLjEzIGZvciBGNDIKLS0gUmVtb3ZlZCBwYXRjaCBmcm9tIDkyLjEgYXMgaXRzIHByZXNlbnQg aW4gOTIuMwotCi0qIEZyaSBKdWwgMjYgMjAyNCBNaXJvc2xhdiBTdWNow70gPG1zdWNoeUByZWRo YXQuY29tPiAtIDkyLjEtOAotLSBjb252ZXJ0IGxpY2Vuc2UgdG8gU1BEWAotCi0qIEZyaSBKdWwg MTkgMjAyNCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qu b3JnPiAtIDkyLjEtNwotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dp a2kvRmVkb3JhXzQxX01hc3NfUmVidWlsZAotCi0qIEZyaSBKdW4gMDcgMjAyNCBQeXRob24gTWFp bnQgPHB5dGhvbi1tYWludEByZWRoYXQuY29tPiAtIDkyLjEtNgotLSBSZWJ1aWx0IGZvciBQeXRo b24gMy4xMwotCi0qIE1vbiBKYW4gMjkgMjAyNCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8 cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDkyLjEtNQotLSBSZWJ1aWx0IGZvciBodHRwczov L2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQwX01hc3NfUmVidWlsZAotCi0qIEZyaSBK YW4gMjYgMjAyNCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2pl Y3Qub3JnPiAtIDkyLjEtNAotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3Jn L3dpa2kvRmVkb3JhXzQwX01hc3NfUmVidWlsZAotCi0qIFN1biBKYW4gMjEgMjAyNCBGZWRvcmEg UmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDkyLjEtMwot LSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQwX01h c3NfUmVidWlsZAotCi0qIEZyaSBKdWwgMjEgMjAyMyBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmlu ZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDkyLjEtMgotLSBSZWJ1aWx0IGZvciBodHRw czovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM5X01hc3NfUmVidWlsZAotCi0qIE1v biBKdWwgMTcgMjAyMyBDbGViZXIgUm9zYSA8Y3Jvc2FAcmVkaGF0LmNvbT4gLSA5Mi4xLTEKLS0g VXBkYXRlZCB0byA5Mi4xCi0tIFN1cHBvcnQgYnVpbGRpbmcgYW5kIHJ1bm5pbmcgdW5kZXIgUHl0 aG9uIDMuMTIgZm9yIEYzOQotCi0qIFdlZCBKdW4gMTQgMjAyMyBQeXRob24gTWFpbnQgPHB5dGhv bi1tYWludEByZWRoYXQuY29tPiAtIDkyLjAtMwotLSBSZWJ1aWx0IGZvciBQeXRob24gMy4xMgot Ci0qIEZyaSBKYW4gMjAgMjAyMyBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZl ZG9yYXByb2plY3Qub3JnPiAtIDkyLjAtMgotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXBy b2plY3Qub3JnL3dpa2kvRmVkb3JhXzM4X01hc3NfUmVidWlsZAotCi0qIFR1ZSBBdWcgIDkgMjAy MiBDbGViZXIgUm9zYSA8Y3Jvc2FAcmVkaGF0LmNvbT4gLSA5Mi4wLTEKLS0gVXNlIHNlbGZ0ZXN0 cy9jaGVjay5weSBqb2IgaW5zdGVhZCBvZiBtb3JlIGxpbWl0ZWQgc2VsZnRlc3RzL3J1bgotLSBJ bmNsdWRlZCBhdm9jYWRvLXJ1bm5lci1zeXNpbmZvLCBhdm9jYWRvLXJ1bm5lci1yZXF1aXJlbWVu dC1wYWNrYWdlLAotICBhdm9jYWRvLXJ1bm5lci1yZXF1aXJlbWVudC1hc3NldCBhbmQgYXZvY2Fk by1ydW5uZXItZHJ5LXJ1biBhbmQKLSAgYXZvY2Fkby1ydW5uZXItZ29sYW5nIGV4ZWN1dGFibGVz Ci0tIFJlbW92ZWQgYXZvY2Fkby1ydW5uZXItZXhlYyBleGVjdXRhYmxlCi0tIFJlbW92ZWQgbG9h ZGVyX3lhbWwgYW5kIGdsaWIgcGx1Z2luIHBhY2thZ2VzCi0KLSogRnJpIEp1bCAyMiAyMDIyIEZl ZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gODIu MC03Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFf MzdfTWFzc19SZWJ1aWxkCi0KLSogVHVlIEp1biAyMSAyMDIyIFB5dGhvbiBNYWludCA8cHl0aG9u LW1haW50QHJlZGhhdC5jb20+IC0gODIuMC02Ci0tIFJlYnVpbHQgZm9yIFB5dGhvbiAzLjExCi0K LSogRnJpIEphbiAyMSAyMDIyIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVk b3JhcHJvamVjdC5vcmc+IC0gODIuMC01Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJv amVjdC5vcmcvd2lraS9GZWRvcmFfMzZfTWFzc19SZWJ1aWxkCi0KLSogV2VkIEp1bCAyOCAyMDIx IE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRoZXNpQHJlZGhhdC5jb20+IC0gODIuMC00Ci0tIExvb3Nl biBqaW5qYTIgdmVyc2lvbiByZXF1aXJlbWVudCB0byBmaXggRlRCRlMgaW4gUmF3aGlkZQotCi0q IEZyaSBKdWwgMjMgMjAyMSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9y YXByb2plY3Qub3JnPiAtIDgyLjAtMwotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2pl Y3Qub3JnL3dpa2kvRmVkb3JhXzM1X01hc3NfUmVidWlsZAotCi0qIFRodSBNYXIgMTggMjAyMSBN ZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDgyLjAtMgotLSBEcm9wIG9i c29sZXRlIHBhY2thZ2VzIGZyb20gQnVpbGRSZXF1aXJlcwotLSBHZW5lcmF0ZSBtYW4gcGFnZSBk aXJlY3RseSB1c2luZyAncnN0Mm1hbicgcmF0aGVyIHRoYW4gcmVxdWlyaW5nICdtYWtlJwotLSBB ZGp1c3QgUEFUSCB0byBtYWtlIHN1cmUgc2VsZi10ZXN0cyBmaW5kIGludGVybmFsIG1vZHVsZXMK LS0gU3BlYyBmaWxlIGNsZWFudXAgZm9sbG93aW5nIHBhY2thZ2UgcmV2aWV3LgotCi0qIE1vbiBT ZXAgMTQgMjAyMCBDbGViZXIgUm9zYSA8Y2xlYmVyQHJlZGhhdC5jb20+IC0gODIuMC0xCi0tIFN5 bmMgd2l0aCB1cHN0cmVhbSByZWxlYXNlIDgyLjAuCi0tIFJlbW92ZWQgcHl0aG9uIGxpYnZpcnQg ZGVwZWRlbmN5IGFzIHRoZSB2bSBydW5uZXIgaGFzIGJlZW4gcmVtb3ZlZAotICB1cHN0cmVhbQot LSBEcm9wcGVkIGNvbmZpZ3VyYXRpb24gZmlsZXMgdG8gc3luYyB3aXRoIHVwc3RyZWFtIHdoaWNo IG1hZGUgdGhlbQotICBvcHRpb25hbCBhbmQgZG9lc24ndCBzaGlwIHRoZW0gYW55bW9yZQotLSBB ZGQgb24gZXh0cmEgY2hhcmFjdGVyIHRvIHNob3J0IGNvbW1pdCB0byBzeW5jIHdpdGggdXBzdHJl YW0KLQotKiBTYXQgSnVuICA2IDIwMjAgQ2xlYmVyIFJvc2EgPGNsZWJlckByZWRoYXQuY29tPiAt IDgwLjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFzZSA4MC4wLgotLSBEcm9wcGVkIHVz ZSBvZiBjdXN0b20gYXZvY2FkbyBjb21tYW5kIGZvciB0ZXN0cwotLSBEbyBub3QgYnVpbGQgZGVw cmVjYXRlZCBydW5uZXJzCi0KLSogVHVlIE1heSAxMiAyMDIwIENsZWJlciBSb3NhIDxjbGViZXJA cmVkaGF0LmNvbT4gLSA3OS4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNzkuMC4K LS0gQWRkZWQgUHl0aG9uJ3MgdXNlciBiYXNlIGJpbiBkaXIgdG8gdGhlIFBBVEggZW52aXJvbm1l bnQgdmFyaWFibGUKLSAgd2hpbGUgcnVubmluZyB0ZXN0cywgc28gdGhhdCBhdm9jYWRvLXJ1bm5l ci0qIHNjcmlwdHMgY2FuIGJlIGZvdW5kCi0tIE1vdmVkIGNvbW1lbnQgdG8gbmV3IGxpbmVzIGNs b3NpbmcgdGhlIGNvbmRpdGlvbmFscywgdG8gYXZvaWQKLSAgZXJyb3JzIGZyb20gcnBtbGludCBh bmQgcnBtYnVpbGQKLQotKiBXZWQgQXByIDE1IDIwMjAgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhl c2lAcmVkaGF0LmNvbT4gLSA3OC4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNzgu MC4KLQotKiBUdWUgTWFyIDE3IDIwMjAgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0 LmNvbT4gLSA3Ny4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNzcuMC4KLQotKiBN b24gTWFyIDA5IDIwMjAgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA3 Ni4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNzYuMC4KLQotKiBNb24gSmFuIDIw IDIwMjAgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA3NS4xLTEKLS0g U3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNzUuMS4KLQotKiBNb24gRGVjIDIzIDIwMTkgTWVy bGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA3NC4wLTEKLS0gU3luYyB3aXRo IHVwc3RyZWFtIHJlbGVhc2UgNzQuMC4KLQotKiBXZWQgTm92IDI3IDIwMTkgTWVybGluIE1hdGhl c2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA3My4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFt IHJlbGVhc2UgNzMuMC4KLS0gQWRqdXN0bWVudHMgdG8gYnVpbGQgZm9yIFJIRUwgOC4KLQotKiBX ZWQgT2N0IDAyIDIwMTkgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA3 Mi4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNzIuMC4KLQotKiBXZWQgQXVnIDI4 IDIwMTkgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA3MS4wLTEKLS0g U3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNzEuMC4KLQotKiBXZWQgSnVuIDI2IDIwMTkgTWVy bGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA3MC4wLTEKLS0gU3luYyB3aXRo IHVwc3RyZWFtIHJlbGVhc2UgNzAuMC4KLS0gRHJvcCBhbGwgUHl0aG9uIDIgc3VwcG9ydCBmcm9t IFNQRUMgZmlsZS4KLQotKiBXZWQgTWF5IDIyIDIwMTkgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhl c2lAcmVkaGF0LmNvbT4gLSA2OS4wLTQKLS0gcHlsaWJsem1hIGlzIFB5dGhvbiAyLW9ubHkgYW5k IG5vIGxvbmdlciBhdmFpbGFibGUgYXMgb2YgRjMxLgotLSBVbnZlcnNpb25lZCBleGVjdXRhYmxl cyBzaG91bGQgbm93IGJlIFB5dGhvbiAzLgotCi0qIE1vbiBNYXkgMjAgMjAxOSBNZXJsaW4gTWF0 aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDY5LjAtMwotLSBEcm9wIFB5dGhvbiAyIHN1 cHBvcnQgZnJvbSBGMzEgYW5kIFJIRUw4IG9ud2FyZC4KLS0gRGlzYWJsZSBjb21wb25lbnRzIGRl cGVuZGVudCB1cG9uIEZpYmVyIGluIEZlZG9yYSAzMSBhbmQgbGF0ZXIsCi0gIHNpbmNlIGF2b2Nh ZG8gaXMgY3VycmVudGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBuZXcgRmliZXIgQVBJLgotCi0q IFR1ZSBNYXIgMTkgMjAxOSBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAt IDY5LjAtMgotLSBweXRob24yLXNwaGlueCBpcyBubyBsb25nZXIgYXZhaWxhYmxlIG9yIG5lZWRl ZCBhcyBvZiBGMzEKLQotKiBXZWQgRmViIDI3IDIwMTkgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhl c2lAcmVkaGF0LmNvbT4gLSA2OS4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNjku MC4KLQotKiBGcmkgRmViIDIyIDIwMTkgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0 LmNvbT4gLSA2OC4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNjguMC4KLQotKiBU aHUgSmFuIDMxIDIwMTkgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA2 Ny4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNjcuMC4KLS0gZ2VuaXNvaW1hZ2Us IGxpYmNkaW8sIGFuZCBwc21pc2MgYWRkZWQgYXMgYnVpbGQgZGVwcyBzbyBpc285NjYwIHRlc3Rz IHJ1bi4KLS0gUmVwbGFjZSBweXN0YWNoZSByZXF1aXJlbWVudCB3aXRoIGppbmphMi4KLS0gZ2xp YmMtYWxsLWxhbmdwYWNrcyBhZGRlZCBhcyBidWlsZCBkZXAgZm9yIEYzMCsgc28gdm1pbWFnZSB0 ZXN0cyBydW4uCi0tIHB5dGhvbjItcmVzdWx0c2RiX2FwaSBwYWNrYWdlIGhhcyBiZWVuIHJlbW92 ZWQgaW4gRjMwIHNvCi0gIHB5dGhvbjItYXZvY2Fkby1wbHVnaW5zLXJlc3VsdHNkYiB3YXMgYWxz byBkaXNhYmxlZC4KLQotKiBXZWQgTm92IDIxIDIwMTggTWVybGluIE1hdGhlc2l1cyA8bW1hdGhl c2lAcmVkaGF0LmNvbT4gLSA2Ni4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNjYu MC4KLS0gcHl0aG9uMi1weWNkbGliIHBhY2thZ2UgaGFzIGJlZW4gcmVtb3ZlZCBpbiBGMzAgYXMg cGFydCBvZgotICBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvQ2hhbmdlcy9NYXNzX1B5 dGhvbl8yX1BhY2thZ2VfUmVtb3ZhbAotCi0qIFRodSBPY3QgMDQgMjAxOCBNZXJsaW4gTWF0aGVz aXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDY1LjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0g cmVsZWFzZSA2NS4wLgotCi0qIFR1ZSBBdWcgMjggMjAxOCBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0 aGVzaUByZWRoYXQuY29tPiAtIDY0LjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFzZSA2 NC4wLgotCi0qIFRodSBKdWwgMjYgMjAxOCBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRo YXQuY29tPiAtIDYzLjAtMgotLSBBZGRlZCBtaXNzaW5nIHB5dGhvblsyXS1lbnVtMzQgcmVxdWly ZW1lbnQuCi0KLSogTW9uIEp1bCAyMyAyMDE4IE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRoZXNpQHJl ZGhhdC5jb20+IC0gNjMuMC0xCi0tIFN5bmMgd2l0aCB1cHN0cmVhbSByZWxlYXNlIDYzLjAuIChC WiMxNjAyMTc1KQotICBJbmNsdWRlIHVwc3RyZWFtIHBhdGNoZXMgbmVlZGVkIHRvIGJ1aWxkIGZv ciBSYXdoaWRlLgotCi0qIFdlZCBKdW4gMTMgMjAxOCBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVz aUByZWRoYXQuY29tPiAtIDYyLjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFzZSA2Mi4w LiAoQlojMTU5MDU3MikKLS0gQ29ycmVjdCBsaWJ2aXJ0IGRlcGVuZGVuY3kgZm9yIEVQRUw3L1JI RUw3Ci0KLSogVGh1IE1heSAxNyAyMDE4IE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRoZXNpQHJlZGhh dC5jb20+IC0gNjEuMC0xCi0tIFN5bmMgd2l0aCB1cHN0cmVhbSByZWxlYXNlIDYxLjAuCi0tIFBh Y2thZ2luZyB1cGRhdGVzIGZvciBQeXRob24gMy4KLS0gUmVvcmdhbml6ZSBTUEVDIGZpbGUuCi0K LSogTW9uIEFwciAgOSAyMDE4IENsZWJlciBSb3NhIDxjbGViZXJAcmVkaGF0LmNvbT4gLSA1Mi4x LTIKLS0gQWRkZWQgRmVkb3JhIENJIHRlc3RzCi0KLSogVHVlIEFwciAwMyAyMDE4IE1lcmxpbiBN YXRoZXNpdXMgPG1tYXRoZXNpQHJlZGhhdC5jb20+IC0gNTIuMS0xCi0tIFN5bmMgd2l0aCB1cHN0 cmVhbSByZWxlYXNlIDUyLjEgKExUUyBzZXJpZXMpLgotLSBDb3JyZWN0IGRlcHJlY2F0ZWQgdXNl IG9mIHVudmVyc2lvbmVkIHB5dGhvbi4KLQotKiBNb24gTWFyIDI2IDIwMTggSXJ5bmEgU2hjaGVy YmluYSA8aXNoY2hlcmJAcmVkaGF0LmNvbT4gLSA1Mi4wLTUKLS0gVXBkYXRlIFB5dGhvbiAyIGRl cGVuZGVuY3kgZGVjbGFyYXRpb25zIHRvIG5ldyBwYWNrYWdpbmcgc3RhbmRhcmRzCi0gIChTZWUg aHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZpbmFsaXppbmdGZWRvcmFTd2l0Y2h0b1B5 dGhvbjMpCi0KLSogRnJpIEZlYiAwOSAyMDE4IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxy ZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gNTIuMC00Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8v ZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjhfTWFzc19SZWJ1aWxkCi0KLSogV2VkIEF1 ZyAwOSAyMDE3IE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRoZXNpQHJlZGhhdC5jb20+IC0gNTIuMC0z Ci0tIEZpeCBGVEJGUyBlcnJvciBieSBkaXNhYmxpbmcgc2VsZmNoZWNrIHByb2R1Y2luZyBmYWxz ZSBmYWlsdXJlcwotLSBVcGRhdGUgU1BFQyB0byB1c2UgcGtnbmFtZSBpbnN0ZWFkIG9mIHNyY25h bWUgbWFjcm8gd2hlcmUgYXBwcm9wcmlhdGUKLQotKiBUaHUgSnVsIDI3IDIwMTcgRmVkb3JhIFJl bGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSA1Mi4wLTIKLS0g UmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yN19NYXNz X1JlYnVpbGQKLQotKiBUaHUgSnVuIDI5IDIwMTcgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhlc2lA cmVkaGF0LmNvbT4gLSA1Mi4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNTIuMC4g KEJaIzE0NjU0MDkpCi0KLSogV2VkIEp1biAxNCAyMDE3IE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRo ZXNpQHJlZGhhdC5jb20+IC0gNTEuMC0xCi0tIFN5bmMgd2l0aCB1cHN0cmVhbSByZWxlYXNlIDUx LjAuIChCWiMxNDYwODM3KQotLSBEaXNhYmxlIHNlbGZ0ZXN0cyB3aGVuIGxpYnZpcnQgbWF5IG5v dCBiZSBhdmFpbGFibGUuCi0KLSogV2VkIE1heSAxNyAyMDE3IE1lcmxpbiBNYXRoZXNpdXMgPG1t YXRoZXNpQHJlZGhhdC5jb20+IC0gNTAuMC0xCi0tIFN5bmMgd2l0aCB1cHN0cmVhbSByZWxlYXNl IDUwLjAuIChCWiMxNDMxNDEzKQotLSBCZSBleHBsaWNpdCBhYm91dCBzZWxmdGVzdCBsZXZlbCBy dW4gb24gY2hlY2suCi0KLSogVHVlIEFwciAyNSAyMDE3IE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRo ZXNpQHJlZGhhdC5jb20+IC0gNDkuMC0xCi0tIFN5bmMgd2l0aCB1cHN0cmVhbSByZWxlYXNlIDQ5 LjAuIChCWiMxNDMxNDEzKQotCi0qIFR1ZSBBcHIgMTggMjAxNyBNZXJsaW4gTWF0aGVzaXVzIDxt bWF0aGVzaUByZWRoYXQuY29tPiAtIDQ4LjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFz ZSA0OC4wLiAoQlojMTQzMTQxMykKLS0gQWxsb3cgcmVsX2J1aWxkIG1hY3JvIHRvIGJlIGRlZmlu ZWQgb3V0c2lkZSBvZiB0aGUgU1BFQyBmaWxlLgotCi0qIE1vbiBNYXIgMjcgMjAxNyBNZXJsaW4g TWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDQ3LjAtMQotLSBTeW5jIHdpdGggdXBz dHJlYW0gcmVsZWFzZSA0Ny4wLgotLSBFbmFibGUgc2VsZi10ZXN0cyBkdXJpbmcgYnVpbGQuCi0t IEFkZCBleGFtcGxlIHRlc3QgdG8gYmUgcnVuIGJ5IFRhc2tvdHJvbi4KLQotKiBNb24gRmViIDI3 IDIwMTcgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA0Ni4wLTIKLS0g SW5jb3Jwb3JhdGUgdXBzdHJlYW0gU1BFQyBmaWxlIGNoYW5nZXMgdG8gc3BsaXQgcGx1Z2lucyBp bnRvIHN1YnBhY2thZ2VzLgotLSBSZW1vdmUgb2Jzb2xldGUgQ0MtQlktU0EgbGljZW5zZSwgd2hp Y2ggd2VudCBhd2F5IHdpdGggdGhlIGhhbGZsaW5ncyBmb250LgotCi0qIFR1ZSBGZWIgMTQgMjAx NyBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDQ2LjAtMQotLSBTeW5j IHdpdGggdXBzdHJlYW0gcmVsZWFzZSA0Ni4wLgotLSBSZW1vdmUgaGFsZmxpbmdzIGxpY2Vuc2Ug c2luY2UgZm9udCB3YXMgcmVtb3ZlZCBmcm9tIHVwc3RyZWFtLgotLSBTUEVDIHVwZGF0ZXMgdG8g ZWFzaWx5IHN3aXRjaCBiZXR3ZWVuIHJlbGVhc2UgYW5kIHNuYXBzaG90IGJ1aWxkcy4KLQotKiBT YXQgRmViIDExIDIwMTcgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFw cm9qZWN0Lm9yZz4gLSA0My4wLTgKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0 Lm9yZy93aWtpL0ZlZG9yYV8yNl9NYXNzX1JlYnVpbGQKLQotKiBUdWUgSmFuIDEwIDIwMTcgTWVy bGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA0My4wLTcKLS0gU1BFQyB1cGRh dGVzIHRvIGJ1aWxkIGFuZCBpbnN0YWxsIGZvciBFUEVMLgotCi0qIE1vbiBOb3YgMjEgMjAxNiBN ZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDQzLjAtNgotLSBJbml0aWFs IHBhY2thZ2luZyBmb3IgRmVkb3JhLgoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDk0YWZjLi4wMDAwMDAwCi0tLSBhL3NvdXJj ZXMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1TSEE1MTIgKGF2b2NhZG8tMTEyLjAudGFy Lmd6KSA9IDE4NzJlZGE3MzBmNWNkMjhmMDU2MjczMjQ2NGNlMTRiMmM3NzMxY2VkYjI5OGZjYzRi MDkzYTA0MjM1ZDI2Y2M1ZTNkYjdmOTJjM2FlM2VkY2Q2MTA0YWQyZGI0ZmNlNjZmYTdhNjE0OGRh NzU0ZTRiZGI4MTIwZmExMmE3NWEzCgpkaWZmIC0tZ2l0IGEvdGVzdHMvZ2RidGVzdC5weSBiL3Rl c3RzL2dkYnRlc3QucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IGMwY2RjNTUuLjAw MDAwMDAKLS0tIGEvdGVzdHMvZ2RidGVzdC5weQorKysgL2Rldi9udWxsCkBAIC0xLDM0NyArMCww IEBACi1pbXBvcnQgb3MKLQotZnJvbSBhdm9jYWRvIGltcG9ydCBUZXN0Ci1mcm9tIGF2b2NhZG8u dXRpbHMgaW1wb3J0IGdkYiwgZ2VuaW8sIHByb2Nlc3MKLQotCi1jbGFzcyBHZGJUZXN0KFRlc3Qp OgotCi0gICAgIiIiCi0gICAgRXhlY3V0ZSB0aGUgZ2RiIHRlc3QKLQotICAgIDphdm9jYWRvOiB0 YWdzPXJlcXVpcmVzX2NfY29tcGlsZXIKLSAgICAiIiIKLQotICAgIFZBTElEX0NNRFMgPSBbIi1s aXN0LXRhcmdldC1mZWF0dXJlcyIsCi0gICAgICAgICAgICAgICAgICAiLWJyZWFrLWluZm8iLAot ICAgICAgICAgICAgICAgICAgIi1icmVhay1saXN0IiwKLSAgICAgICAgICAgICAgICAgICItdGhy ZWFkLWluZm8iLAotICAgICAgICAgICAgICAgICAgIi1zdGFjay1pbmZvLWZyYW1lIiwKLSAgICAg ICAgICAgICAgICAgICItc3RhY2staW5mby1kZXB0aCJdCi0KLSAgICBJTlZBTElEX0NNRFMgPSBb Ii1mb29iYXIiLAotICAgICAgICAgICAgICAgICAgICAiLW1hZ2ljOGJhbGwiLAotICAgICAgICAg ICAgICAgICAgICAiLWZpbmQtbWUtdGhlLWJ1ZyIsCi0gICAgICAgICAgICAgICAgICAgICItYXV0 by1kZWJ1Zy1pdCJdCi0KLSAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHNlbGYucmV0dXJu OTlfYmluYXJ5X3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi50ZXN0c3RtcGRpciwgJ3JldHVybjk5 JykKLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYucmV0dXJuOTlfYmluYXJ5X3Bh dGgpOgotICAgICAgICAgICAgcmV0dXJuOTlfc291cmNlX3BhdGggPSBzZWxmLmdldF9kYXRhKCdy ZXR1cm45OS5jJykKLSAgICAgICAgICAgIGlmIHJldHVybjk5X3NvdXJjZV9wYXRoIGlzIE5vbmU6 Ci0gICAgICAgICAgICAgICAgc2VsZi5jYW5jZWwoJ1Rlc3QgaXMgbWlzc2luZyBkYXRhIGZpbGUg InJldHVybjk5LmMiJykKLSAgICAgICAgICAgIHByb2Nlc3Muc3lzdGVtKGYnZ2NjIC1PMCAtZyB7 cmV0dXJuOTlfc291cmNlX3BhdGh9IC1vIHtzZWxmLnJldHVybjk5X2JpbmFyeV9wYXRofScpCi0K LSAgICAgICAgc2VsZi5zZWdmYXVsdF9iaW5hcnlfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnRl c3RzdG1wZGlyLCAnc2VnZmF1bHQnKQotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2Vs Zi5zZWdmYXVsdF9iaW5hcnlfcGF0aCk6Ci0gICAgICAgICAgICBzZWdmYXVsdF9zb3VyY2VfcGF0 aCA9IHNlbGYuZ2V0X2RhdGEoJ3NlZ2ZhdWx0LmMnKQotICAgICAgICAgICAgaWYgc2VnZmF1bHRf c291cmNlX3BhdGggaXMgTm9uZToKLSAgICAgICAgICAgICAgICBzZWxmLmNhbmNlbCgnVGVzdCBp cyBtaXNzaW5nIGRhdGEgZmlsZSAic2VnZmF1bHQuYyInKQotICAgICAgICAgICAgcHJvY2Vzcy5z eXN0ZW0oZidnY2MgLU8wIC1nIHtzZWdmYXVsdF9zb3VyY2VfcGF0aH0gLW8ge3NlbGYuc2VnZmF1 bHRfYmluYXJ5X3BhdGh9JykKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgaXNfcHJvY2Vz c19hbGl2ZShwcm9jZXNzKTogICMgcHlsaW50OiBkaXNhYmxlPVcwNjIxCi0gICAgICAgICIiIgot ICAgICAgICBDaGVja3MgaWYgYSBwcm9jZXNzIGlzIHN0aWxsIGFsaXZlCi0KLSAgICAgICAgOnBh cmFtIHByb2Nlc3M6IGEgOmNsYXNzOmBzdWJwcm9jZXNzLlBPcGVuYCBpbnN0YW5jZQotICAgICAg ICA6dHlwZSBwcm9jZXNzOiA6Y2xhc3M6YHN1YnByb2Nlc3MuUE9wZW5gCi0gICAgICAgIDpyZXR1 cm5zOiBUcnVlIG9yIEZhbHNlCi0gICAgICAgIDpydHlwZTogYm9vbAotICAgICAgICAiIiIKLSAg ICAgICAgcmV0dXJuIHByb2Nlc3MucG9sbCgpIGlzIE5vbmUKLQotICAgIGRlZiB0ZXN0X3N0YXJ0 X2V4aXQoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0cyBleGVjdXRpb24gb2YgbXVs dGlwbGUgR0RCIGluc3RhbmNlcyB3aXRob3V0IGFueSBibG9ja2luZyBvciByYWNlCi0gICAgICAg ICIiIgotICAgICAgICBzZWxmLmxvZy5pbmZvKCJUZXN0aW5nIGV4ZWN1dGlvbiBvZiBtdWx0aXBs ZSBHREIgaW5zdGFuY2VzIikKLSAgICAgICAgcHJvY2Vzc19jb3VudCA9IDEwCi0gICAgICAgIGdk Yl9pbnN0YW5jZXMgPSBbXQotICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBwcm9jZXNzX2NvdW50 KToKLSAgICAgICAgICAgIGdkYl9pbnN0YW5jZXMuYXBwZW5kKGdkYi5HREIoKSkKLQotICAgICAg ICBmb3IgaSBpbiByYW5nZSgwLCBwcm9jZXNzX2NvdW50KToKLSAgICAgICAgICAgIHNlbGYuYXNz ZXJ0RXF1YWwoZ2RiX2luc3RhbmNlc1tpXS5leGl0KCksIDApCi0KLSAgICBkZWYgdGVzdF9leGlz dGluZ19jb21tYW5kc19yYXcoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0cyB0aGUg R0RCIHJlc3BvbnNlIHRvIGNvbW1hbmRzIHRoYXQgZXhpc3QgYW5kIHRvIHRob3NlIHRoYXQgZG8g bm90Ci0gICAgICAgICIiIgotICAgICAgICBnID0gZ2RiLkdEQigpCi0gICAgICAgIHNlbGYubG9n LmluZm8oIlRlc3RpbmcgZXhpc3RpbmcgKHZhbGlkKSBHREIgY29tbWFuZHMgdXNpbmcgcmF3IGNv bW1hbmRzIikKLSAgICAgICAgZm9yIGNtZCBpbiBzZWxmLlZBTElEX0NNRFM6Ci0gICAgICAgICAg ICBpbmZvX2NtZCA9IGYiLWluZm8tZ2RiLW1pLWNvbW1hbmQge2NtZFsxOl19IgotICAgICAgICAg ICAgciA9IGcuY21kKGluZm9fY21kKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyLnJl c3VsdC5yZXN1bHQuY29tbWFuZC5leGlzdHMsICd0cnVlJykKLQotICAgICAgICBzZWxmLmxvZy5p bmZvKCJUZXN0aW5nIG5vbi1leGlzdGluZyAoaW52YWxpZCkgR0RCIGNvbW1hbmRzIHVzaW5nIHJh dyAiCi0gICAgICAgICAgICAgICAgICAgICAgImNvbW1hbmRzIikKLSAgICAgICAgZm9yIGNtZCBp biBzZWxmLklOVkFMSURfQ01EUzoKLSAgICAgICAgICAgIGluZm9fY21kID0gZiItaW5mby1nZGIt bWktY29tbWFuZCB7Y21kWzE6XX0iCi0gICAgICAgICAgICByID0gZy5jbWQoaW5mb19jbWQpCi0g ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHIucmVzdWx0LnJlc3VsdC5jb21tYW5kLmV4aXN0 cywgJ2ZhbHNlJykKLQotICAgIGRlZiB0ZXN0X2V4aXN0aW5nX2NvbW1hbmRzKHNlbGYpOgotICAg ICAgICBnID0gZ2RiLkdEQigpCi0KLSAgICAgICAgc2VsZi5sb2cuaW5mbygiVGVzdGluZyBleGlz dGluZyAodmFsaWQpIEdEQiBjb21tYW5kcyB1c2luZyB1dGlsaXR5ICIKLSAgICAgICAgICAgICAg ICAgICAgICAibWV0aG9kcyIpCi0gICAgICAgIGZvciBjbWQgaW4gc2VsZi5WQUxJRF9DTURTOgot ICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGcuY21kX2V4aXN0cyhjbWQpKQotICAgICAgICAg ICAgZy5jbWQoY21kKQotCi0gICAgICAgIHNlbGYubG9nLmluZm8oIlRlc3Rpbmcgbm9uLWV4aXN0 aW5nIChpbnZhbGlkKSBHREIgY29tbWFuZHMgdXNpbmcgIgotICAgICAgICAgICAgICAgICAgICAg ICJ1dGlsaXR5IG1ldGhvZHMiKQotICAgICAgICBmb3IgY21kIGluIHNlbGYuSU5WQUxJRF9DTURT OgotICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShnLmNtZF9leGlzdHMoY21kKSkKLQotICAg IGRlZiB0ZXN0X2xvYWRfc2V0X2JyZWFrcG9pbnRfcnVuX2V4aXRfcmF3KHNlbGYpOgotICAgICAg ICAiIiIKLSAgICAgICAgVGVzdCBhIGNvbW1vbiBHREIgY3ljbGUgdXNpbmcgcmF3IGNvbW1hbmRz OiBsb2FkLCBzZXQgYnJlYWssIHJ1biwgZXhpdAotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5s b2cuaW5mbygiVGVzdGluZyB0aGF0IEdEQiBsb2FkcyBhIGZpbGUgYW5kIHNldHMgYSBicmVha3Bv aW50IikKLSAgICAgICAgZyA9IGdkYi5HREIoKQotCi0gICAgICAgIGZpbGVfY21kID0gZiItZmls ZS1leGVjLWFuZC1zeW1ib2xzIHtzZWxmLnJldHVybjk5X2JpbmFyeV9wYXRofSIKLSAgICAgICAg ciA9IGcuY21kKGZpbGVfY21kKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHIucmVzdWx0LmNs YXNzXywgJ2RvbmUnKQotCi0gICAgICAgIGJyZWFrX2NtZCA9ICItYnJlYWstaW5zZXJ0IDUiCi0g ICAgICAgIHIgPSBnLmNtZChicmVha19jbWQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5y ZXN1bHQuY2xhc3NfLCAnZG9uZScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5yZXN1bHQu cmVzdWx0LmJrcHQubnVtYmVyLCAnMScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5yZXN1 bHQucmVzdWx0LmJrcHQuZW5hYmxlZCwgJ3knKQotCi0gICAgICAgIGJyZWFrX2RlbF9jbWQgPSAi LWJyZWFrLWRlbGV0ZSAxIgotICAgICAgICByID0gZy5jbWQoYnJlYWtfZGVsX2NtZCkKLSAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChyLnJlc3VsdC5jbGFzc18sICdkb25lJykKLQotICAgICAgICBy dW5fY21kID0gIi1leGVjLXJ1biIKLSAgICAgICAgciA9IGcuY21kKHJ1bl9jbWQpCi0gICAgICAg IHNlbGYuYXNzZXJ0RXF1YWwoci5yZXN1bHQuY2xhc3NfLCAncnVubmluZycpCi0KLSAgICAgICAg Zy5jbWQoIi1nZGItZXhpdCIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZy5wcm9jZXNzLndh aXQoKSwgMCkKLQotICAgIGRlZiB0ZXN0X2xvYWRfc2V0X2JyZWFrcG9pbnRfcnVuX2V4aXQoc2Vs Zik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IGEgY29tbW9uIEdEQiBjeWNsZTogbG9hZCwg c2V0IGJyZWFrLCBkZWxldGUgYnJlYWssIHJ1biwgZXhpdAotICAgICAgICAiIiIKLSAgICAgICAg c2VsZi5sb2cuaW5mbygiVGVzdGluZyBhIGNvbW1vbiBHREIgY3ljbGUiKQotICAgICAgICBnID0g Z2RiLkdEQigpCi0gICAgICAgIGcuc2V0X2ZpbGUoc2VsZi5yZXR1cm45OV9iaW5hcnlfcGF0aCkK LSAgICAgICAgZy5zZXRfYnJlYWsoIjUiKQotICAgICAgICBnLmRlbF9icmVhaygxKQotICAgICAg ICBnLnJ1bigpCi0gICAgICAgIGcuZXhpdCgpCi0KLSAgICBkZWYgdGVzdF9nZW5lcmF0ZV9jb3Jl KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgTG9hZCBhIGZpbGUgdGhhdCB3aWxsIGNhdXNl IGEgc2VnZmF1bHQgYW5kIHByb2R1Y2UgYSBjb3JlIGR1bXAKLSAgICAgICAgIiIiCi0gICAgICAg IHNlbGYubG9nLmluZm8oIlRlc3RpbmcgdGhhdCBhIGNvcmUgZHVtcCB3aWxsIGJlIGdlbmVyYXRl ZCIpCi0KLSAgICAgICAgZyA9IGdkYi5HREIoKQotICAgICAgICBmaWxlX2NtZCA9IGYiLWZpbGUt ZXhlYy1hbmQtc3ltYm9scyB7c2VsZi5zZWdmYXVsdF9iaW5hcnlfcGF0aH0iCi0gICAgICAgIHIg PSBnLmNtZChmaWxlX2NtZCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyLnJlc3VsdC5jbGFz c18sICdkb25lJykKLQotICAgICAgICBydW5fY21kID0gIi1leGVjLXJ1biIKLSAgICAgICAgciA9 IGcuY21kKHJ1bl9jbWQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5yZXN1bHQuY2xhc3Nf LCAncnVubmluZycpCi0KLSAgICAgICAgb3RoZXJfbWVzc2FnZXMgPSBnLnJlYWRfdW50aWxfYnJl YWsoKQotICAgICAgICBjb3JlX3BhdGggPSBOb25lCi0gICAgICAgIGZvciBtc2cgaW4gb3RoZXJf bWVzc2FnZXM6Ci0gICAgICAgICAgICBwYXJzZWRfbXNnID0gZ2RiLnBhcnNlX21pKG1zZy5kZWNv ZGUoKSkKLSAgICAgICAgICAgIGlmIChoYXNhdHRyKHBhcnNlZF9tc2csICdjbGFzc18nKSBhbmQK LSAgICAgICAgICAgICAgICAocGFyc2VkX21zZy5jbGFzc18gPT0gJ3N0b3BwZWQnKSBhbmQKLSAg ICAgICAgICAgICAgICAgICAgKHBhcnNlZF9tc2cucmVzdWx0LnNpZ25hbF9uYW1lID09ICdTSUdT RUdWJykpOgotICAgICAgICAgICAgICAgIGNvcmVfcGF0aCA9IGYie3NlbGYuc2VnZmF1bHRfYmlu YXJ5X3BhdGh9LmNvcmUiCi0gICAgICAgICAgICAgICAgZ2NvcmVfY21kID0gZidnY29yZSB7Y29y ZV9wYXRofScKLSAgICAgICAgICAgICAgICBnY29yZV9jbWQgPSBnZGIuZW5jb2RlX21pX2NsaShn Y29yZV9jbWQpCi0gICAgICAgICAgICAgICAgciA9IGcuY21kKGdjb3JlX2NtZCkKLSAgICAgICAg ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHIucmVzdWx0LmNsYXNzXywgJ2RvbmUnKQotCi0gICAg ICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhjb3JlX3BhdGgpKQotICAgICAgICBn LmV4aXQoKQotCi0gICAgZGVmIHRlc3Rfc2V0X211bHRpcGxlX2JyZWFrKHNlbGYpOgotICAgICAg ICAiIiIKLSAgICAgICAgVGVzdHMgdGhhdCBtdWx0aXBsZSBicmVha3BvaW50cyBkbyBub3QgaW50 ZXJmZXJlIHdpdGggZWFjaCBvdGhlcgotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5sb2cuaW5m bygiVGVzdGluZyBzZXR0aW5nIG11bHRpcGxlIGJyZWFrcG9pbnRzIikKLSAgICAgICAgZyA9IGdk Yi5HREIoKQotICAgICAgICBnLnNldF9maWxlKHNlbGYucmV0dXJuOTlfYmluYXJ5X3BhdGgpCi0g ICAgICAgIGcuc2V0X2JyZWFrKCdlbXB0eScpCi0gICAgICAgIGcuc2V0X2JyZWFrKCc3JykKLSAg ICAgICAgZy5leGl0KCkKLQotICAgIGRlZiB0ZXN0X2Rpc2Nvbm5lY3RfcmF3KHNlbGYpOgotICAg ICAgICAiIiIKLSAgICAgICAgQ29ubmVjdC9kaXNjb25uZWN0IHJlcGVhdGVkbHkgZnJvbSBhIHJl bW90ZSBkZWJ1Z2dlciB1c2luZyByYXcgY29tbWFuZHMKLSAgICAgICAgIiIiCi0gICAgICAgIHNl bGYubG9nLmluZm8oIlRlc3RpbmcgY29ubmVjdGluZyBhbmQgZGlzY29ubmVjdGluZyByZXBlYXRl ZGx5IHVzaW5nICIKLSAgICAgICAgICAgICAgICAgICAgICAicmF3IGNvbW1hbmRzIikKLSAgICAg ICAgcyA9IGdkYi5HREJTZXJ2ZXIoKQotICAgICAgICBnID0gZ2RiLkdEQigpCi0KLSAgICAgICAg IyBEbyAxMDAgY3ljbGUgb2YgdGFyZ2V0IChraW5kIG9mIGNvbm5lY3RzKSBhbmQgZGlzY29ubmVj dHMKLSAgICAgICAgZm9yIF8gaW4gcmFuZ2UoMCwgMTAwKToKLSAgICAgICAgICAgIGNtZCA9IGYn LXRhcmdldC1zZWxlY3QgZXh0ZW5kZWQtcmVtb3RlIDp7cy5wb3J0fScKLSAgICAgICAgICAgIHIg PSBnLmNtZChjbWQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHIucmVzdWx0LmNsYXNz XywgJ2Nvbm5lY3RlZCcpCi0gICAgICAgICAgICByID0gZy5jbWQoJy10YXJnZXQtZGlzY29ubmVj dCcpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHIucmVzdWx0LmNsYXNzXywgJ2RvbmUn KQotCi0gICAgICAgICMgbWFudWFsIHNlcnZlciBzaHV0ZG93bgotICAgICAgICBjbWQgPSBmJy10 YXJnZXQtc2VsZWN0IGV4dGVuZGVkLXJlbW90ZSA6e3MucG9ydH0nCi0gICAgICAgIHIgPSBnLmNt ZChjbWQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5yZXN1bHQuY2xhc3NfLCAnY29ubmVj dGVkJykKLSAgICAgICAgciA9IGcuY2xpX2NtZCgnbW9uaXRvciBleGl0JykKLSAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbChyLnJlc3VsdC5jbGFzc18sICdkb25lJykKLQotICAgICAgICBnLmV4aXQo KQotICAgICAgICBzLmV4aXQoKQotCi0gICAgZGVmIHRlc3RfZGlzY29ubmVjdChzZWxmKToKLSAg ICAgICAgIiIiCi0gICAgICAgIENvbm5lY3QvZGlzY29ubmVjdCByZXBlYXRlZGx5IGZyb20gYSBy ZW1vdGUgZGVidWdnZXIgdXNpbmcgdXRpbGl0aWVzCi0gICAgICAgICIiIgotICAgICAgICBzZWxm LmxvZy5pbmZvKCJUZXN0aW5nIGNvbm5lY3RpbmcgYW5kIGRpc2Nvbm5lY3RpbmcgcmVwZWF0ZWRs eSIpCi0gICAgICAgIHMgPSBnZGIuR0RCU2VydmVyKCkKLSAgICAgICAgZyA9IGdkYi5HREIoKQot Ci0gICAgICAgIGZvciBfIGluIHJhbmdlKDAsIDEwMCk6Ci0gICAgICAgICAgICByID0gZy5jb25u ZWN0KHMucG9ydCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5yZXN1bHQuY2xhc3Nf LCAnY29ubmVjdGVkJykKLSAgICAgICAgICAgIHIgPSBnLmRpc2Nvbm5lY3QoKQotICAgICAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbChyLnJlc3VsdC5jbGFzc18sICdkb25lJykKLQotICAgICAgICBn LmV4aXQoKQotICAgICAgICBzLmV4aXQoKQotCi0gICAgZGVmIHRlc3RfcmVtb3RlX2V4ZWMoc2Vs Zik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0cyBleGVjdXRpb24gb24gYSByZW1vdGUgdGFy Z2V0Ci0gICAgICAgICIiIgotICAgICAgICBzZWxmLmxvZy5pbmZvKCJUZXN0aW5nIGV4ZWN1dGlv biBvbiBhIHJlbW90ZSB0YXJnZXQiKQotICAgICAgICBoaXRfYnJlYWtwb2ludCA9IEZhbHNlCi0K LSAgICAgICAgcyA9IGdkYi5HREJTZXJ2ZXIoKQotICAgICAgICBnID0gZ2RiLkdEQigpCi0KLSAg ICAgICAgY21kID0gZictZmlsZS1leGVjLWFuZC1zeW1ib2xzIHtzZWxmLnJldHVybjk5X2JpbmFy eV9wYXRofScKLSAgICAgICAgciA9IGcuY21kKGNtZCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh bChyLnJlc3VsdC5jbGFzc18sICdkb25lJykKLQotICAgICAgICBjbWQgPSBmJ3NldCByZW1vdGUg ZXhlYy1maWxlIHtzZWxmLnJldHVybjk5X2JpbmFyeV9wYXRofScKLSAgICAgICAgciA9IGcuY21k KGNtZCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyLnJlc3VsdC5jbGFzc18sICdkb25lJykK LQotICAgICAgICBjbWQgPSBmIi1icmVhay1pbnNlcnQgeydtYWluJ30iCi0gICAgICAgIHIgPSBn LmNtZChjbWQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5yZXN1bHQuY2xhc3NfLCAnZG9u ZScpCi0KLSAgICAgICAgciA9IGcuY21kKCctZXhlYy1ydW4nKQotCi0gICAgICAgIG90aGVyX21l c3NhZ2VzID0gZy5yZWFkX3VudGlsX2JyZWFrKCkKLSAgICAgICAgZm9yIG1zZyBpbiBvdGhlcl9t ZXNzYWdlczoKLSAgICAgICAgICAgIHBhcnNlZF9tc2cgPSBnZGIucGFyc2VfbWkobXNnLmRlY29k ZSgpKQotICAgICAgICAgICAgaWYgKGhhc2F0dHIocGFyc2VkX21zZywgJ2NsYXNzXycpIGFuZAot ICAgICAgICAgICAgICAgIHBhcnNlZF9tc2cuY2xhc3NfID09ICdzdG9wcGVkJyBhbmQKLSAgICAg ICAgICAgICAgICAgICAgcGFyc2VkX21zZy5yZXN1bHQucmVhc29uID09ICdicmVha3BvaW50LWhp dCcpOgotICAgICAgICAgICAgICAgIGhpdF9icmVha3BvaW50ID0gVHJ1ZQotCi0gICAgICAgIHNl bGYuYXNzZXJ0VHJ1ZShoaXRfYnJlYWtwb2ludCkKLSAgICAgICAgZy5leGl0KCkKLSAgICAgICAg cy5leGl0KCkKLQotICAgIGRlZiB0ZXN0X3N0cmVhbV9tZXNzYWdlcyhzZWxmKToKLSAgICAgICAg IiIiCi0gICAgICAgIFRlc3RzIGlmIHRoZSBleHBlY3RlZCByZXNwb25zZSBhcHBlYXJzIGluIHRo ZSByZXN1bHQgc3RyZWFtIG1lc3NhZ2VzCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLmxvZy5p bmZvKCJUZXN0aW5nIHRoYXQgbWVzc2FnZXMgYXBwZWFycyBpbiB0aGUgcmVzdWx0IHN0cmVhbSIp Ci0gICAgICAgIGcgPSBnZGIuR0RCKCkKLSAgICAgICAgciA9IGcuY21kKCItZ2RiLXZlcnNpb24i KQotICAgICAgICBzZWxmLmFzc2VydEluKCJHTlUgR1BMIHZlcnNpb24iLCByLmdldF9zdHJlYW1f bWVzc2FnZXNfdGV4dCgpKQotCi0gICAgZGVmIHRlc3RfY29ubmVjdF9tdWx0aXBsZV9jbGllbnRz KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdHMgdHdvIG9yIG1vcmUgY29ubmVjdGlv bnMgdG8gdGhlIHNhbWUgc2VydmVyIHJhaXNlIGFuIGV4Y2VwdGlvbgotICAgICAgICAiIiIKLSAg ICAgICAgc2VsZi5sb2cuaW5mbygiVGVzdGluZyB0aGF0IG11bHRpcGxlIGNsaWVudHMgY2Fubm90 IGNvbm5lY3QgYXQgb25jZSIpCi0gICAgICAgIHMgPSBnZGIuR0RCU2VydmVyKCkKLSAgICAgICAg YzEgPSBnZGIuR0RCKCkKLSAgICAgICAgYzEuY29ubmVjdChzLnBvcnQpCi0gICAgICAgIGMyID0g Z2RiLkdEQigpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoZ2RiLlVuZXhwZWN0ZWRS ZXNwb25zZUVycm9yKToKLSAgICAgICAgICAgIGMyLmNvbm5lY3Qocy5wb3J0KQotICAgICAgICBz LmV4aXQoKQotCi0gICAgZGVmIHRlc3Rfc2VydmVyX2V4aXQoc2VsZik6Ci0gICAgICAgICIiIgot ICAgICAgICBUZXN0cyB0aGF0IHRoZSBzZXJ2ZXIgaXMgc2h1dGRvd24gYnkgdXNpbmcgYSBtb25p dG9yIGV4aXQgY29tbWFuZAotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5sb2cuaW5mbygiVGVz dGluZyB0aGF0IGEgc2luZ2xlIHNlcnZlciBleGl0cyBjbGVhbmx5IikKLSAgICAgICAgcyA9IGdk Yi5HREJTZXJ2ZXIoKQotICAgICAgICBzLmV4aXQoKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNl KHNlbGYuaXNfcHJvY2Vzc19hbGl2ZShzLnByb2Nlc3MpKQotCi0gICAgZGVmIHRlc3RfbXVsdGlw bGVfc2VydmVycyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3RzIG11bHRpcGxlIHNl cnZlciBpbnN0YW5jZXMgd2l0aG91dCBhbnkgYmxvY2tpbmcgb3IgcmFjZSBjb25kaXRpb24KLSAg ICAgICAgIiIiCi0gICAgICAgIHNlbGYubG9nLmluZm8oIlRlc3RpbmcgZXhlY3V0aW9uIG9mIG11 bHRpcGxlIEdEQiBzZXJ2ZXIgaW5zdGFuY2VzIikKLSAgICAgICAgcHJvY2Vzc19jb3VudCA9IDEw Ci0gICAgICAgIHNlcnZlcl9pbnN0YW5jZXMgPSBbXQotICAgICAgICBmb3IgaSBpbiByYW5nZSgw LCBwcm9jZXNzX2NvdW50KToKLSAgICAgICAgICAgIHMgPSBnZGIuR0RCU2VydmVyKCkKLSAgICAg ICAgICAgIGMgPSBnZGIuR0RCKCkKLSAgICAgICAgICAgIGMuY29ubmVjdChzLnBvcnQpCi0gICAg ICAgICAgICBjLmNtZCgnc2hvdy12ZXJzaW9uJykKLSAgICAgICAgICAgIGMuZGlzY29ubmVjdCgp Ci0gICAgICAgICAgICBzZXJ2ZXJfaW5zdGFuY2VzLmFwcGVuZChzKQotCi0gICAgICAgIGZvciBp IGluIHJhbmdlKDAsIHByb2Nlc3NfY291bnQpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVl KHNlbGYuaXNfcHJvY2Vzc19hbGl2ZShzZXJ2ZXJfaW5zdGFuY2VzW2ldLnByb2Nlc3MpKQotICAg ICAgICAgICAgc2VydmVyX2luc3RhbmNlc1tpXS5leGl0KCkKLSAgICAgICAgICAgIHNlbGYuYXNz ZXJ0RmFsc2Uoc2VsZi5pc19wcm9jZXNzX2FsaXZlKHNlcnZlcl9pbnN0YW5jZXNbaV0ucHJvY2Vz cykpCi0KLSAgICBkZWYgdGVzdF9zZXJ2ZXJfc3RkZXJyKHNlbGYpOgotICAgICAgICBzZWxmLmxv Zy5pbmZvKCdUZXN0aW5nIHNlcnZlciBzdGRlcnIgY29sbGVjdGlvbicpCi0gICAgICAgIHMgPSBn ZGIuR0RCU2VydmVyKCkKLSAgICAgICAgcy5leGl0KCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVl KG9zLnBhdGguZXhpc3RzKHMuc3RkZXJyX3BhdGgpKQotCi0gICAgICAgIHN0ZGVycl9saW5lcyA9 IGdlbmlvLnJlYWRfYWxsX2xpbmVzKHMuc3RkZXJyX3BhdGgpCi0gICAgICAgIGxpc3RlbmluZ19s aW5lID0gZiJMaXN0ZW5pbmcgb24gcG9ydCB7cy5wb3J0fSIKLSAgICAgICAgc2VsZi5hc3NlcnRJ bihsaXN0ZW5pbmdfbGluZSwgc3RkZXJyX2xpbmVzKQotCi0gICAgZGVmIHRlc3Rfc2VydmVyX3N0 ZG91dChzZWxmKToKLSAgICAgICAgc2VsZi5sb2cuaW5mbygnVGVzdGluZyBzZXJ2ZXIgc3Rkb3V0 L3N0ZGVyciBjb2xsZWN0aW9uJykKLSAgICAgICAgcyA9IGdkYi5HREJTZXJ2ZXIoKQotICAgICAg ICBjID0gZ2RiLkdEQigpCi0gICAgICAgIGMuY29ubmVjdChzLnBvcnQpCi0gICAgICAgIGMuc2V0 X2ZpbGUoc2VsZi5yZXR1cm45OV9iaW5hcnlfcGF0aCkKLSAgICAgICAgYy5ydW4oKQotICAgICAg ICBzLmV4aXQoKQotCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhzLnN0 ZG91dF9wYXRoKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKHMuc3Rk ZXJyX3BhdGgpKQotCi0gICAgICAgIHN0ZG91dF9saW5lcyA9IGdlbmlvLnJlYWRfYWxsX2xpbmVz KHMuc3Rkb3V0X3BhdGgpCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4oInJldHVybiA5OSIsIHN0ZG91 dF9saW5lcykKLQotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgdGVzdF9yZW1vdGUoKToKLSAg ICAgICAgIiIiCi0gICAgICAgIFRlc3RzIEdEQlJlbW90ZSBpbnRlcmFjdGlvbiB3aXRoIGEgR0RC U2VydmVyCi0gICAgICAgICIiIgotICAgICAgICBzID0gZ2RiLkdEQlNlcnZlcigpCi0gICAgICAg IHIgPSBnZGIuR0RCUmVtb3RlKCcxMjcuMC4wLjEnLCBzLnBvcnQpCi0gICAgICAgIHIuY29ubmVj dCgpCi0gICAgICAgIHIuY21kKGIicVN1cHBvcnRlZCIpCi0gICAgICAgIHIuY21kKGIicWZUaHJl YWRJbmZvIikKLSAgICAgICAgcy5leGl0KCkKCmRpZmYgLS1naXQgYS90ZXN0cy9nZGJ0ZXN0LnB5 LmRhdGEvcmV0dXJuOTkuYyBiL3Rlc3RzL2dkYnRlc3QucHkuZGF0YS9yZXR1cm45OS5jCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZjE0OTM1Li4wMDAwMDAwCi0tLSBhL3Rlc3RzL2dk YnRlc3QucHkuZGF0YS9yZXR1cm45OS5jCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAot I2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8c3RkbGliLmg+Ci0KLXZvaWQgZW1wdHkoKQot ewotfQotCi12b2lkIHdyaXRlX3N0ZG91dCgpCi17Ci0gIGZwcmludGYoc3Rkb3V0LCAidGVzdGlu ZyBvdXRwdXQgdG8gc3Rkb3V0XG4iKTsKLX0KLQotdm9pZCB3cml0ZV9zdGRlcnIoKQotewotICBm cHJpbnRmKHN0ZGVyciwgInRlc3Rpbmcgb3V0cHV0IHRvIHN0ZGVyclxuIik7Ci19Ci0KLWludCBm b3JrbWUoKQotewotICBpbnQgcGlkOwotCi0gIHBpZCA9IGZvcmsoKTsKLSAgaWYgKHBpZCAhPSAw KQotICAgIHBpZCA9IGZvcmsoKTsKLSAgaWYgKHBpZCAhPSAwKQotICAgIHBpZCA9IGZvcmsoKTsK LQotICByZXR1cm4gcGlkOwotfQotCi1pbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQot ewotICBpbnQgZXhpdF9zdGF0dXMgPSA5OTsKLQotICBpZiAoYXJnYyA+IDEpCi0gICAgZXhpdF9z dGF0dXMgPSBhdG9pKGFyZ3ZbMV0pOwotCi0gIGVtcHR5KCk7Ci0gIHdyaXRlX3N0ZG91dCgpOwot ICB3cml0ZV9zdGRlcnIoKTsKLQotICBpZiAoZm9ya21lKCkpIHsKLSAgICBmcHJpbnRmKHN0ZG91 dCwgInJldHVybiAlaVxuIiwgZXhpdF9zdGF0dXMpOwotICB9Ci0KLSAgcmV0dXJuIGV4aXRfc3Rh dHVzOwotfQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2dkYnRlc3QucHkuZGF0YS9zZWdmYXVsdC5jIGIv dGVzdHMvZ2RidGVzdC5weS5kYXRhL3NlZ2ZhdWx0LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IGE2ODVmODYuLjAwMDAwMDAKLS0tIGEvdGVzdHMvZ2RidGVzdC5weS5kYXRhL3NlZ2Zh dWx0LmMKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLSNpbmNsdWRlIDxzdGRpby5oPgot Ci1pbnQgbWFpbigpCi17Ci0gIGludCAqcCA9IE5VTEw7Ci0gICpwID0gMHhkZWFkOwotCi0gIHJl dHVybiAwOwotfQoKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RzLnltbCBiL3Rlc3RzL3Rlc3RzLnlt bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmU0YTAzMS4uMDAwMDAwMAotLS0gYS90 ZXN0cy90ZXN0cy55bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi0tIGhvc3RzOiBs b2NhbGhvc3QKLSAgcm9sZXM6Ci0gIC0gcm9sZTogc3RhbmRhcmQtdGVzdC1hdm9jYWRvCi0gICAg dGVzdHM6Ci0gICAgLSBnZGJ0ZXN0LnB5OkdkYlRlc3QudGVzdF9zdGFydF9leGl0Ci0gICAgLSBn ZGJ0ZXN0LnB5OkdkYlRlc3QudGVzdF9leGlzdGluZ19jb21tYW5kcwotICAgIC0gZ2RidGVzdC5w eTpHZGJUZXN0LnRlc3RfZXhpc3RpbmdfY29tbWFuZHNfcmF3Ci0gICAgLSBnZGJ0ZXN0LnB5Okdk YlRlc3QudGVzdF9sb2FkX3NldF9icmVha3BvaW50X3J1bl9leGl0X3JhdwotICAgIC0gZ2RidGVz dC5weTpHZGJUZXN0LnRlc3RfbG9hZF9zZXRfYnJlYWtwb2ludF9ydW5fZXhpdAotICAgIC0gZ2Ri dGVzdC5weTpHZGJUZXN0LnRlc3RfZ2VuZXJhdGVfY29yZQotICAgIC0gZ2RidGVzdC5weTpHZGJU ZXN0LnRlc3Rfc2V0X211bHRpcGxlX2JyZWFrCi0gICAgLSBnZGJ0ZXN0LnB5OkdkYlRlc3QudGVz dF9kaXNjb25uZWN0X3JhdwotICAgIC0gZ2RidGVzdC5weTpHZGJUZXN0LnRlc3RfZGlzY29ubmVj dAotICAgIC0gZ2RidGVzdC5weTpHZGJUZXN0LnRlc3RfcmVtb3RlX2V4ZWMKLSAgICAtIGdkYnRl c3QucHk6R2RiVGVzdC50ZXN0X3N0cmVhbV9tZXNzYWdlcwotICAgIC0gZ2RidGVzdC5weTpHZGJU ZXN0LnRlc3RfY29ubmVjdF9tdWx0aXBsZV9jbGllbnRzCi0gICAgLSBnZGJ0ZXN0LnB5OkdkYlRl c3QudGVzdF9zZXJ2ZXJfZXhpdAotICAgIC0gZ2RidGVzdC5weTpHZGJUZXN0LnRlc3Rfc2VydmVy X3N0ZG91dAotICAgIC0gZ2RidGVzdC5weTpHZGJUZXN0LnRlc3Rfc2VydmVyX3N0ZGVycgotICAg IC0gZ2RidGVzdC5weTpHZGJUZXN0LnRlc3RfbXVsdGlwbGVfc2VydmVycwotICAgIC0gZ2RidGVz dC5weTpHZGJUZXN0LnRlc3RfaW50ZXJhY3RpdmUKLSAgICAtIGdkYnRlc3QucHk6R2RiVGVzdC50 ZXN0X2ludGVyYWN0aXZlX2FyZ3MKLSAgICAtIGdkYnRlc3QucHk6R2RiVGVzdC50ZXN0X2V4aXRf c3RhdHVzCi0gICAgLSBnZGJ0ZXN0LnB5OkdkYlRlc3QudGVzdF9pbnRlcmFjdGl2ZV9zdGRvdXQK LSAgICAtIGdkYnRlc3QucHk6R2RiVGVzdC50ZXN0X3JlbW90ZQotICAgIHJlcXVpcmVkX3BhY2th Z2VzOgotICAgIC0gZ2NjCi0gICAgLSBnZGIKLSAgICAtIGdkYi1nZGJzZXJ2ZXIK