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] rawhide: Retired: Fails to install: https://forge.fedoraproject.org/releng/tickets/issues/13473 Date: Tue, 18 Aug 2026 13:41:38 GMT Message-ID: <178706049864.1.15391306182153361470.rpms-python-avocado-e855d28e77c8@fedoraproject.org> List-ID: X-Git-Repo: rpms/python-avocado X-Git-Branch: rawhide X-Git-Rev: e855d28e77c8f964b82ff660c7f143445069ea42 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcHl0aG9uLWF2b2Nh ZG8KQnJhbmNoIDogcmF3aGlkZQpDb21taXQgOiBlODU1ZDI4ZTc3YzhmOTY0YjgyZmY2NjBjN2Yx NDM0NDUwNjllYTQyCkF1dGhvciA6IE1pcm8gSHJvbsSNb2sgPG1pcm9AaHJvbmNvay5jej4KRGF0 ZSAgIDogMjAyNi0wOC0xOFQxNTo0MToyNSswMjowMApTdGF0cyAgOiArMS8tMTM3MCBpbiAxMCBm aWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvcHl0aG9u LWF2b2NhZG8vYy9lODU1ZDI4ZTc3YzhmOTY0YjgyZmY2NjBjN2YxNDM0NDUwNjllYTQyP2JyYW5j aD1yYXdoaWRlCgpMb2c6ClJldGlyZWQ6IEZhaWxzIHRvIGluc3RhbGw6IGh0dHBzOi8vZm9yZ2Uu ZmVkb3JhcHJvamVjdC5vcmcvcmVsZW5nL3RpY2tldHMvaXNzdWVzLzEzNDczCgotLS0KZGlmZiAt LWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMGVmMTM2Li4wMDAwMDAwCi0tLSBhLy5naXRpZ25vcmUKKysrIC9kZXYvbnVsbApAQCAt MSwzNSArMCwwIEBACi0vYXZvY2Fkby00My4wLnRhci5negotL2F2b2NhZG8tNDYuMC50YXIuZ3oK LS9hdm9jYWRvLTQ3LjAudGFyLmd6Ci0vYXZvY2Fkby00OC4wLnRhci5negotL2F2b2NhZG8tNDku MC50YXIuZ3oKLS9hdm9jYWRvLTUwLjAudGFyLmd6Ci0vYXZvY2Fkby01MS4wLnRhci5negotL2F2 b2NhZG8tNTIuMC50YXIuZ3oKLS9hdm9jYWRvLTUyLjEudGFyLmd6Ci0vYXZvY2Fkby02MS4wLnRh ci5negotL2F2b2NhZG8tNjIuMC50YXIuZ3oKLS9hdm9jYWRvLTYzLjAudGFyLmd6Ci0vYXZvY2Fk by02NC4wLnRhci5negotL2F2b2NhZG8tNjUuMC50YXIuZ3oKLS9hdm9jYWRvLTY2LjAudGFyLmd6 Ci0vYXZvY2Fkby02Ny4wLnRhci5negotL2F2b2NhZG8tNjguMC50YXIuZ3oKLS9hdm9jYWRvLTY5 LjAudGFyLmd6Ci0vYXZvY2Fkby03MC4wLnRhci5negotL2F2b2NhZG8tNzEuMC50YXIuZ3oKLS9h dm9jYWRvLTcyLjAudGFyLmd6Ci0vYXZvY2Fkby03My4wLnRhci5negotL2F2b2NhZG8tNzQuMC50 YXIuZ3oKLS9hdm9jYWRvLTc1LjEudGFyLmd6Ci0vYXZvY2Fkby03Ni4wLnRhci5negotL2F2b2Nh ZG8tNzcuMC50YXIuZ3oKLS9hdm9jYWRvLTc4LjAudGFyLmd6Ci0vYXZvY2Fkby03OS4wLnRhci5n egotL2F2b2NhZG8tODAuMC50YXIuZ3oKLS9hdm9jYWRvLTgyLjAudGFyLmd6Ci0vYXZvY2Fkby05 Mi4wLnRhci5negotL2F2b2NhZG8tOTIuMS50YXIuZ3oKLS9hdm9jYWRvLTkyLjEtcHl0aG9uMzEy LnBhdGNoCi0vYXZvY2Fkby05Mi4zLnRhci5negotL2F2b2NhZG8tMTEyLjAudGFyLmd6CgpkaWZm IC0tZ2l0IGEvMDAwMS1CZS1tb3JlLWxlbmllbnQtd2l0aC10ZXN0LWVycm9yLW1lc3NhZ2VzLnBh dGNoIGIvMDAwMS1CZS1tb3JlLWxlbmllbnQtd2l0aC10ZXN0LWVycm9yLW1lc3NhZ2VzLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMGQ4MjViLi4wMDAwMDAwCi0tLSBhLzAw MDEtQmUtbW9yZS1sZW5pZW50LXdpdGgtdGVzdC1lcnJvci1tZXNzYWdlcy5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDUwICswLDAgQEAKLUZyb20gOWZlYTlkMjViMjE3NmYwOTI5MzA3ZDQwMmZk MTI4N2JmZWNiZDQ2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENsZWJlciBSb3Nh IDxjcm9zYUByZWRoYXQuY29tPgotRGF0ZTogRnJpLCA1IERlYyAyMDI1IDE0OjEwOjE3IC0wNTAw Ci1TdWJqZWN0OiBbUEFUQ0hdIEJlIG1vcmUgbGVuaWVudCB3aXRoIHRlc3QgZXJyb3IgbWVzc2Fn ZXMKLQotT24gbGF0ZXN0IEZlZG9yYSByYXdoaWRlLCBjdXJyZW50IHNldHVwdG9vbHMgdXNhZ2Ug d2lsbCBwcm9kdWNlCi13YXJuaW5nIG1lc3NhZ2VzIG9uIFNUREVSUi4gIFRoaXMgbWFrZXMgdGhl IGNoZWNraW5nIG1vcmUgbGVuaWVudCB3aXRoCi1leHRyYSBjb250ZW50IHRoYXQgbWF5IHNob3cg dXAuCi0KLVNpZ25lZC1vZmYtYnk6IENsZWJlciBSb3NhIDxjcm9zYUByZWRoYXQuY29tPgotLS0t Ci0gc2VsZnRlc3RzL2Z1bmN0aW9uYWwvYmFzaWMucHkgfCA4ICsrKystLS0tCi0gMSBmaWxlIGNo YW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Nl bGZ0ZXN0cy9mdW5jdGlvbmFsL2Jhc2ljLnB5IGIvc2VsZnRlc3RzL2Z1bmN0aW9uYWwvYmFzaWMu cHkKLWluZGV4IDM2MGIzYWVlLi5hYTUwZjBlOCAxMDA2NDQKLS0tLSBhL3NlbGZ0ZXN0cy9mdW5j dGlvbmFsL2Jhc2ljLnB5Ci0rKysgYi9zZWxmdGVzdHMvZnVuY3Rpb25hbC9iYXNpYy5weQotQEAg LTY0NywxMyArNjQ3LDEzIEBAIGNsYXNzIFJ1bm5lck9wZXJhdGlvblRlc3QoVGVzdENhc2VUbXBE aXIpOgotICAgICAgICAgKQotICAgICAgICAgcmVzdWx0ID0gcHJvY2Vzcy5ydW4oY21kX2xpbmUs IGlnbm9yZV9zdGF0dXM9VHJ1ZSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LmV4 aXRfc3RhdHVzLCBleGl0X2NvZGVzLkFWT0NBRE9fSk9CX0ZBSUwpCi0tICAgICAgICBzZWxmLmFz c2VydEVxdWFsKAotLSAgICAgICAgICAgIHJlc3VsdC5zdGRlcnIsCi0rICAgICAgICBzZWxmLmFz c2VydEluKAotICAgICAgICAgICAgICgKLSAgICAgICAgICAgICAgICAgYiJUZXN0IFN1aXRlIGNv dWxkIG5vdCBiZSBjcmVhdGVkLiBObyB0ZXN0IHJlZmVyZW5jZXMiCi0gICAgICAgICAgICAgICAg IGIiIHByb3ZpZGVkIG5vciBhbnkgb3RoZXIgYXJndW1lbnRzIHJlc29sdmVkIGludG8gIgotICAg ICAgICAgICAgICAgICBiInRlc3RzXG4iCi0gICAgICAgICAgICAgKSwKLSsgICAgICAgICAgICBy ZXN1bHQuc3RkZXJyLAotICAgICAgICAgKQotIAotICAgICBkZWYgdGVzdF9ub3RfZm91bmQoc2Vs Zik6Ci1AQCAtNjY0LDEwICs2NjQsMTAgQEAgY2xhc3MgUnVubmVyT3BlcmF0aW9uVGVzdChUZXN0 Q2FzZVRtcERpcik6Ci0gICAgICAgICByZXN1bHQgPSBwcm9jZXNzLnJ1bihjbWRfbGluZSwgaWdu b3JlX3N0YXR1cz1UcnVlKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQuZXhpdF9z dGF0dXMsIGV4aXRfY29kZXMuQVZPQ0FET19KT0JfRkFJTCkKLSAgICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWwocmVzdWx0LnN0ZG91dCwgYiIiKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLS0g ICAgICAgICAgICByZXN1bHQuc3RkZXJyLAotKyAgICAgICAgc2VsZi5hc3NlcnRJbigKLSAgICAg ICAgICAgICBiIk5vIHRlc3RzIGZvdW5kIGZvciBnaXZlbiB0ZXN0IHJlZmVyZW5jZXM6IHNicnVi bGVzXG4iCi0gICAgICAgICAgICAgYiJUcnkgJ2F2b2NhZG8gLVYgbGlzdCBzYnJ1YmxlcycgZm9y IGRldGFpbHNcbiIsCi0rICAgICAgICAgICAgcmVzdWx0LnN0ZGVyciwKLSAgICAgICAgICkKLSAK LSAgICAgZGVmIHRlc3RfaW52YWxpZF91bmlxdWVfaWQoc2VsZik6Ci0tLSAKLTIuNTMuMAotCgpk aWZmIC0tZ2l0IGEvMDAwMS1Mb29zZW4tcmVzdWx0c2RiLWFwaS1kZXAucGF0Y2ggYi8wMDAxLUxv b3Nlbi1yZXN1bHRzZGItYXBpLWRlcC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggZjViZDRlNi4uMDAwMDAwMAotLS0gYS8wMDAxLUxvb3Nlbi1yZXN1bHRzZGItYXBpLWRlcC5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZyb20gNzM3OGQ2ZGU2M2IyOWU2 YTNhOTVmZDI0MmMzN2QyZTE2YzU1Zjc3NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IEFkYW0gV2lsbGlhbXNvbiA8YXdpbGxpYW1AcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgNyBBcHIg MjAyNiAxMTo1Njo1NiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBMb29zZW4gcmVzdWx0c2RiLWFw aSBkZXAKLQotV2UgcmVjZW50bHkgcmVsZWFzZWQgMi4xLjYuIEZvbGxvd2luZyBzZW12ZXIgY29u dmVudGlvbnMsIHRoaXMKLXZlcnNpb24gc2hvdWxkbid0IGJyZWFrIGFueSBjb21wYXRpYmlsaXR5 LCBpdCBoYXMgb25lIGJ1Z2ZpeCBhbmQKLWEgYnVuY2ggb2YgbGludGluZyBjbGVhbnVwcy4KLQot VGhlcmUncyBubyByZWFzb24gZm9yIHRoaXMgZGVwIHRvIGJlIG9uIGEgc3BlY2lmaWMgdmVyc2lv biwgYW5kCi1pdCBjYXVzZXMgcHJvYmxlbXMgZm9yIGRvd25zdHJlYW0gcGFja2FnaW5nLiBMZXQn cyBsb29zZW4gaXQgdG8KLWF0IGxlYXN0IGFjY2VwdCAyLjEuNSBvciBoaWdoZXIgdXAgdG8gMi4y LgotCi1TaWduZWQtb2ZmLWJ5OiBBZGFtIFdpbGxpYW1zb24gPGF3aWxsaWFtQHJlZGhhdC5jb20+ Ci0tLS0KLSBvcHRpb25hbF9wbHVnaW5zL3Jlc3VsdHNkYi9zZXR1cC5weSB8IDIgKy0KLSAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBh L29wdGlvbmFsX3BsdWdpbnMvcmVzdWx0c2RiL3NldHVwLnB5IGIvb3B0aW9uYWxfcGx1Z2lucy9y ZXN1bHRzZGIvc2V0dXAucHkKLWluZGV4IGY4MWNiNGRiLi5iNjA5OTI4ZiAxMDA2NDQKLS0tLSBh L29wdGlvbmFsX3BsdWdpbnMvcmVzdWx0c2RiL3NldHVwLnB5Ci0rKysgYi9vcHRpb25hbF9wbHVn aW5zL3Jlc3VsdHNkYi9zZXR1cC5weQotQEAgLTQ5LDcgKzQ5LDcgQEAgc2V0dXAoCi0gICAgIGlu Y2x1ZGVfcGFja2FnZV9kYXRhPVRydWUsCi0gICAgIGluc3RhbGxfcmVxdWlyZXM9WwotICAgICAg ICAgZiJhdm9jYWRvLWZyYW1ld29yaz09e1ZFUlNJT059IiwKLS0gICAgICAgICJyZXN1bHRzZGIt YXBpPT0yLjEuNSIsCi0rICAgICAgICAicmVzdWx0c2RiLWFwaT49Mi4xLjUsPDIuMiIsCi0gICAg ICAgICAidXJsbGliMzwyLjMuMDsgcHl0aG9uX3ZlcnNpb24gPCAnMy45JyIsCi0gICAgIF0sCi0g ICAgIGVudHJ5X3BvaW50cz17Ci0tLSAKLTIuNTMuMAotCgpkaWZmIC0tZ2l0IGEvZGVhZC5wYWNr YWdlIGIvZGVhZC5wYWNrYWdlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQw MzVhNjQKLS0tIC9kZXYvbnVsbAorKysgYi9kZWFkLnBhY2thZ2UKQEAgLTAsMCArMSBAQAorUmV0 aXJlZDogRmFpbHMgdG8gaW5zdGFsbDogaHR0cHM6Ly9mb3JnZS5mZWRvcmFwcm9qZWN0Lm9yZy9y ZWxlbmcvdGlja2V0cy9pc3N1ZXMvMTM0NzMKCmRpZmYgLS1naXQgYS9weXRob24tYXZvY2Fkby5z cGVjIGIvcHl0aG9uLWF2b2NhZG8uc3BlYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg N2IwNzVjMC4uMDAwMDAwMAotLS0gYS9weXRob24tYXZvY2Fkby5zcGVjCisrKyAvZGV2L251bGwK QEAgLTEsODE4ICswLDAgQEAKLSMgQ29uZGl0aW9uYWwgZm9yIHJlbGVhc2UgdnMuIHNuYXBzaG90 IGJ1aWxkcy4gU2V0IHRvIDEgZm9yIHJlbGVhc2UgYnVpbGQuCi0laWYgISAwJXs/cmVsX2J1aWxk OjF9Ci0gICAgJWdsb2JhbCByZWxfYnVpbGQgMQotJWVuZGlmCi0KLSMgU2V0dGluZ3MgdXNlZCBm b3IgYnVpbGQgZnJvbSBzbmFwc2hvdHMuCi0laWYgMCV7P3JlbF9idWlsZH0KLSAgICAlZ2xvYmFs IGdpdHJlZiAgICAgICAgICAle3ZlcnNpb259Ci0gICAgJWdsb2JhbCBnaXR0YXIgICAgICAgICAg YXZvY2Fkby0le3ZlcnNpb259LnRhci5negotJWVsc2UKLSAgICAlaWYgISAwJXs/Y29tbWl0OjF9 Ci0gICAgICAgICVnbG9iYWwgY29tbWl0ICAgICAgZTRlZGU3OWYwOTdkY2MxZGJkMzBlNDNmZmUz YjdkYWY1MmQyMjA0ZAotICAgICVlbmRpZgotICAgICVpZiAhIDAlez9jb21taXRfZGF0ZToxfQot ICAgICAgICAlZ2xvYmFsIGNvbW1pdF9kYXRlIDIwMjUxMDEwCi0gICAgJWVuZGlmCi0gICAgJWds b2JhbCBzaG9ydGNvbW1pdCAgICAgJShjPSV7Y29tbWl0fTtlY2hvICR7YzowOjl9KQotICAgICVn bG9iYWwgZ2l0cmVsICAgICAgICAgIC4le2NvbW1pdF9kYXRlfWdpdCV7c2hvcnRjb21taXR9Ci0g ICAgJWdsb2JhbCBnaXRyZWYgICAgICAgICAgJXtjb21taXR9Ci0gICAgJWdsb2JhbCBnaXR0YXIg ICAgICAgICAgYXZvY2Fkby0le3Nob3J0Y29tbWl0fS50YXIuZ3oKLSVlbmRpZgotCi0jIFNlbGZ0 ZXN0cyBhcmUgcHJvdmlkZWQgYnV0IG1heSBuZWVkIHRvIGJlIHNraXBwZWQgYmVjYXVzZSBtYW55 IG9mCi0jIHRoZSBmdW5jdGlvbmFsIHRlc3RzIGFyZSB0aW1lIGFuZCByZXNvdXJjZSBzZW5zaXRp dmUgYW5kIGNhbgotIyBjYXVzZSByYWNlIGNvbmRpdGlvbnMgYW5kIHJhbmRvbSBidWlsZCBmYWls dXJlcy4gVGhleSBhcmUKLSMgZW5hYmxlZCBieSBkZWZhdWx0LgotIyBZb3UgY2FuIGRpc2FibGUg dGhlbSB3aXRoIHJwbWJ1aWxkIC4uLiAtLXdpdGhvdXQgdGVzdHMKLSViY29uZF93aXRob3V0IHRl c3RzCi0KLSMgT25seSBGZWRvcmEgMzYgYW5kIGxhdGVyIGhhdmUgYSBzdWl0YWJsZSBweXRob24z LXJlc3V0bHNkYl9hcGkKLSMgcGFja2FnZQotJWlmIDAlez9mZWRvcmF9ID49IDM2Ci0lZ2xvYmFs IHdpdGhfcmVzdWx0c2RiIDEKLSVlbHNlCi0lZ2xvYmFsIHdpdGhfcmVzdWx0c2RiIDAKLSVlbmRp ZgotCi1OYW1lOiBweXRob24tYXZvY2FkbwotVmVyc2lvbjogMTEyLjAKLVJlbGVhc2U6IDUlez9n aXRyZWx9JXs/ZGlzdH0KLVN1bW1hcnk6IEZyYW1ld29yayB3aXRoIHRvb2xzIGFuZCBsaWJyYXJp ZXMgZm9yIEF1dG9tYXRlZCBUZXN0aW5nCi0jIEZvdW5kIGxpY2Vuc2VzOgotIyBhdm9jYWRvL2Nv cmUvdGFwcGFyc2VyLnB5OiBNSVQKLSMgYXZvY2Fkby91dGlscy9leHRlcm5hbC9nZGJtaV9wYXJz ZXIucHk6IE1JVAotIyBhdm9jYWRvL3V0aWxzL2V4dGVybmFsL3NwYXJrLnB5OiBNSVQKLSMgb3B0 aW9uYWxfcGx1Z2lucy9odG1sL2F2b2NhZG9fcmVzdWx0X2h0bWwvdGVtcGxhdGVzL2Jvb3RzdHJh cC5taW4uY3NzOiBNSVQKLSMgb3B0aW9uYWxfcGx1Z2lucy9odG1sL2F2b2NhZG9fcmVzdWx0X2h0 bWwvdGVtcGxhdGVzL2Jvb3RzdHJhcC5taW4uanM6IE1JVAotIyBzZWxmdGVzdHMvLmRhdGEvamVu a2lucy1qdW5pdC54c2Q6IE1JVAotIyBPdGhlciBmaWxlczogR1BMdjIgYW5kIEdQTHYyKwotTGlj ZW5zZTogR1BMLTIuMC1vci1sYXRlciBBTkQgR1BMLTIuMC1vbmx5IEFORCBNSVQKLVVSTDogaHR0 cHM6Ly9hdm9jYWRvLWZyYW1ld29yay5naXRodWIuaW8vCi1Tb3VyY2UwOiBodHRwczovL2dpdGh1 Yi5jb20vYXZvY2Fkby1mcmFtZXdvcmsvYXZvY2Fkby9hcmNoaXZlLyV7Z2l0cmVmfS8le2dpdHRh cn0KLSMgaHR0cHM6Ly9naXRodWIuY29tL2F2b2NhZG8tZnJhbWV3b3JrL2F2b2NhZG8vcHVsbC82 Mjk1Ci0jIExvb3NlbiBweXRob24tcmVzdWx0c2RiX2FwaSBkZXAgdG8gYSByYW5nZSByYXRoZXIg dGhhbiBhIHBpbgotUGF0Y2gwOiAwMDAxLUxvb3Nlbi1yZXN1bHRzZGItYXBpLWRlcC5wYXRjaAot IyBodHRwczovL2dpdGh1Yi5jb20vYXZvY2Fkby1mcmFtZXdvcmsvYXZvY2Fkby9wdWxsLzYyNTIK LSMgRml4IGEgY291cGxlIG9mIHRlc3RzIHdpdGggcmVjZW50IHNldHVwdG9vbHMgdGhhdCBwcm9k dWNlcyBhCi0jIGRlcHJlY2F0aW9uIHdhcm5pbmcgZm9yIHBrZ19yZXNvdXJjZXMKLVBhdGNoMTog MDAwMS1CZS1tb3JlLWxlbmllbnQtd2l0aC10ZXN0LWVycm9yLW1lc3NhZ2VzLnBhdGNoCi1CdWls ZEFyY2g6IG5vYXJjaAotCi1CdWlsZFJlcXVpcmVzOiBrbW9kCi1CdWlsZFJlcXVpcmVzOiBwcm9j cHMtbmcKLUJ1aWxkUmVxdWlyZXM6IHB5dGhvbjMtZGV2ZWwKLUJ1aWxkUmVxdWlyZXM6IHB5dGhv bjMtZG9jdXRpbHMKLUJ1aWxkUmVxdWlyZXM6IHB5dGhvbjMtamluamEyCi1CdWlsZFJlcXVpcmVz OiBweXRob24zLWx4bWwKLUJ1aWxkUmVxdWlyZXM6IHB5dGhvbjMtcHN1dGlsCi1CdWlsZFJlcXVp cmVzOiBweXRob24zLXNldHVwdG9vbHMKLSVpZiAhIDAlez9yaGVsfQotQnVpbGRSZXF1aXJlczog cHl0aG9uLWFleHBlY3QKLSVlbmRpZgotJWlmICV7d2l0aF9yZXN1bHRzZGJ9Ci1CdWlsZFJlcXVp cmVzOiBweXRob24zLXJlc3VsdHNkYl9hcGkKLUJ1aWxkUmVxdWlyZXM6IHB5dGhvbjMtcHljZGxp YgotJWVuZGlmCi0KLSVpZiAle3dpdGggdGVzdHN9Ci1CdWlsZFJlcXVpcmVzOiBweXRob24zLWpz b25zY2hlbWEKLSVpZiAhIDAlez9yaGVsfSA+PSA5Ci1CdWlsZFJlcXVpcmVzOiBnZW5pc29pbWFn ZQotJWVuZGlmCi1CdWlsZFJlcXVpcmVzOiBsaWJjZGlvCi1CdWlsZFJlcXVpcmVzOiBwc21pc2MK LSVpZiAhIDAlez9yaGVsfQotQnVpbGRSZXF1aXJlczogcGVybC1UZXN0LUhhcm5lc3MKLUJ1aWxk UmVxdWlyZXM6IHB5dGhvbjMteG1sc2NoZW1hCi1CdWlsZFJlcXVpcmVzOiBhbnNpYmxlLWNvcmUK LSVlbmRpZgotQnVpbGRSZXF1aXJlczogZ2xpYmMtYWxsLWxhbmdwYWNrcwotQnVpbGRSZXF1aXJl czogcHl0aG9uMy1uZXRpZmFjZXMKLUJ1aWxkUmVxdWlyZXM6IHB5dGhvbjMteWFtbAotQnVpbGRS ZXF1aXJlczogbm1hcC1uY2F0Ci1CdWlsZFJlcXVpcmVzOiBnY2MKLUJ1aWxkUmVxdWlyZXM6IGdk YgotQnVpbGRSZXF1aXJlczogZ2RiLWdkYnNlcnZlcgotJWVuZGlmCi0jIHdpdGggdGVzdHMKLQot JWRlc2NyaXB0aW9uCi1Bdm9jYWRvIGlzIGEgc2V0IG9mIHRvb2xzIGFuZCBsaWJyYXJpZXMgKHdo YXQgcGVvcGxlIGNhbGwKLXRoZXNlIGRheXMgYSBmcmFtZXdvcmspIHRvIHBlcmZvcm0gYXV0b21h dGVkIHRlc3RpbmcuCi0KLQotJXByZXAKLSVzZXR1cCAtcSAtbiBhdm9jYWRvLSV7Z2l0cmVmfQot JXBhdGNoIDAgLXAxCi0lcGF0Y2ggMSAtcDEKLSVpZiAwJXs/cmhlbH0KLXNlZCAtZSAncy8iUHlZ QU1MPj00LjJiMiIvIlB5WUFNTD49My4xMiIvJyAtaSBvcHRpb25hbF9wbHVnaW5zL3ZhcmlhbnRl cl95YW1sX3RvX211eC9zZXR1cC5weQotJWVuZGlmCi0laWYgMCV7P2ZlZG9yYX0gPj0gNDIKLXNl ZCAtZSAnLyJtYXJrdXBzYWZlPDMuMC4wIi9kJyAtaSBvcHRpb25hbF9wbHVnaW5zL2h0bWwvc2V0 dXAucHkKLXNlZCAtZSAnLyJtYXJrdXBzYWZlPDMuMC4wIi9kJyAtaSBvcHRpb25hbF9wbHVnaW5z L2Fuc2libGUvc2V0dXAucHkKLSVlbmRpZgotCi0lYnVpbGQKLSVweTNfYnVpbGQKLXB1c2hkIG9w dGlvbmFsX3BsdWdpbnMvaHRtbAotICAgICVweTNfYnVpbGQKLXBvcGQKLSVpZiAle3dpdGhfcmVz dWx0c2RifQotcHVzaGQgb3B0aW9uYWxfcGx1Z2lucy9yZXN1bHRzZGIKLSAgICAlcHkzX2J1aWxk Ci1wb3BkCi0lZW5kaWYKLXB1c2hkIG9wdGlvbmFsX3BsdWdpbnMvdmFyaWFudGVyX3lhbWxfdG9f bXV4Ci0gICAgJXB5M19idWlsZAotcG9wZAotcHVzaGQgb3B0aW9uYWxfcGx1Z2lucy9nb2xhbmcK LSAgICAlcHkzX2J1aWxkCi1wb3BkCi0laWYgISAwJXs/cmhlbH0KLXB1c2hkIG9wdGlvbmFsX3Bs dWdpbnMvYW5zaWJsZQotICAgICVweTNfYnVpbGQKLXBvcGQKLSVlbmRpZgotcHVzaGQgb3B0aW9u YWxfcGx1Z2lucy92YXJpYW50ZXJfcGljdAotICAgICVweTNfYnVpbGQKLXBvcGQKLXB1c2hkIG9w dGlvbmFsX3BsdWdpbnMvdmFyaWFudGVyX2NpdAotICAgICVweTNfYnVpbGQKLXBvcGQKLXB1c2hk IG9wdGlvbmFsX3BsdWdpbnMvcmVzdWx0X3VwbG9hZAotICAgICVweTNfYnVpbGQKLXBvcGQKLXB1 c2hkIG9wdGlvbmFsX3BsdWdpbnMvbWFpbAotICAgICVweTNfYnVpbGQKLXBvcGQKLSVpZiAhIDAl ez9yaGVsfQotcHVzaGQgb3B0aW9uYWxfcGx1Z2lucy9zcGF3bmVyX3JlbW90ZQotICAgICVweTNf YnVpbGQKLXBvcGQKLSVlbmRpZgotcnN0Mm1hbiBtYW4vYXZvY2Fkby5yc3QgbWFuL2F2b2NhZG8u MQotCi0laW5zdGFsbAotJXB5M19pbnN0YWxsCi1mb3IgZXhlIGluIFwKLSAgICBhdm9jYWRvIFwK LSAgICBhdm9jYWRvLXJ1bm5lci1ub29wIFwKLSAgICBhdm9jYWRvLXJ1bm5lci1kcnktcnVuIFwK LSAgICBhdm9jYWRvLXJ1bm5lci1leGVjLXRlc3QgXAotICAgIGF2b2NhZG8tcnVubmVyLXB5dGhv bi11bml0dGVzdCBcCi0gICAgYXZvY2Fkby1ydW5uZXItYXZvY2Fkby1pbnN0cnVtZW50ZWQgXAot ICAgIGF2b2NhZG8tcnVubmVyLXRhcCBcCi0gICAgYXZvY2Fkby1ydW5uZXItYXNzZXQgXAotICAg IGF2b2NhZG8tcnVubmVyLXBhY2thZ2UgXAotICAgIGF2b2NhZG8tcnVubmVyLXBpcCBcCi0gICAg YXZvY2Fkby1ydW5uZXItcG9kbWFuLWltYWdlIFwKLSAgICBhdm9jYWRvLXJ1bm5lci1zeXNpbmZv IFwKLSAgICBhdm9jYWRvLXJ1bm5lci12bWltYWdlIFwKLSAgICBhdm9jYWRvLWV4dGVybmFsLXJ1 bm5lciBcCi0gICAgYXZvY2Fkby1zb2Z0d2FyZS1tYW5hZ2VyCi1kbwotICAgIG12ICV7YnVpbGRy b290fSV7X2JpbmRpcn0vJGV4ZSAle2J1aWxkcm9vdH0le19iaW5kaXJ9LyRleGUtJXtweXRob24z X3ZlcnNpb259Ci0gICAgbG4gLXMgJGV4ZS0le3B5dGhvbjNfdmVyc2lvbn0gJXtidWlsZHJvb3R9 JXtfYmluZGlyfS8kZXhlLTMKLSAgICBsbiAtcyAkZXhlLSV7cHl0aG9uM192ZXJzaW9ufSAle2J1 aWxkcm9vdH0le19iaW5kaXJ9LyRleGUKLWRvbmUKLSMgY29uZmlndXJhdGlvbiBpcyBoZWxkIGF0 IC9ldGMvYXZvY2FkbyBvbmx5IGFuZCBwYXJ0IG9mIHRoZQotIyBweXRob24tYXZvY2Fkby1jb21t b24gcGFja2FnZQotcm0gLXJmICV7YnVpbGRyb290fSV7cHl0aG9uM19zaXRlbGlifS9hdm9jYWRv L2V0YwotIyBkaXR0byBmb3IgbGliZXhlYyBmaWxlcwotcm0gLXJmICV7YnVpbGRyb290fSV7cHl0 aG9uM19zaXRlbGlifS9hdm9jYWRvL2xpYmV4ZWMKLXB1c2hkIG9wdGlvbmFsX3BsdWdpbnMvaHRt bAotICAgICVweTNfaW5zdGFsbAotcG9wZAotJWlmICV7d2l0aF9yZXN1bHRzZGJ9Ci1wdXNoZCBv cHRpb25hbF9wbHVnaW5zL3Jlc3VsdHNkYgotICAgICVweTNfaW5zdGFsbAotcG9wZAotJWVuZGlm Ci1wdXNoZCBvcHRpb25hbF9wbHVnaW5zL3ZhcmlhbnRlcl95YW1sX3RvX211eAotICAgICVweTNf aW5zdGFsbAotcG9wZAotcHVzaGQgb3B0aW9uYWxfcGx1Z2lucy9nb2xhbmcKLSAgICAlcHkzX2lu c3RhbGwKLXBvcGQKLSVpZiAhIDAlez9yaGVsfQotcHVzaGQgb3B0aW9uYWxfcGx1Z2lucy9hbnNp YmxlCi0gICAgJXB5M19pbnN0YWxsCi1wb3BkCi0lZW5kaWYKLXB1c2hkIG9wdGlvbmFsX3BsdWdp bnMvdmFyaWFudGVyX3BpY3QKLSAgICAlcHkzX2luc3RhbGwKLXBvcGQKLXB1c2hkIG9wdGlvbmFs X3BsdWdpbnMvdmFyaWFudGVyX2NpdAotICAgICVweTNfaW5zdGFsbAotcG9wZAotcHVzaGQgb3B0 aW9uYWxfcGx1Z2lucy9yZXN1bHRfdXBsb2FkCi0gICAgJXB5M19pbnN0YWxsCi1wb3BkCi1wdXNo ZCBvcHRpb25hbF9wbHVnaW5zL21haWwKLSAgICAlcHkzX2luc3RhbGwKLXBvcGQKLSVpZiAhIDAl ez9yaGVsfQotcHVzaGQgb3B0aW9uYWxfcGx1Z2lucy9zcGF3bmVyX3JlbW90ZQotICAgICVweTNf aW5zdGFsbAotcG9wZAotJWVuZGlmCi0jIGNsZWFudXAgcGx1Z2luIHRlc3QgY3J1ZnQKLXJtIC1y ZiAle2J1aWxkcm9vdH0le3B5dGhvbjNfc2l0ZWxpYn0vdGVzdHMKLW1rZGlyIC1wICV7YnVpbGRy b290fSV7X3N5c2NvbmZkaXJ9L2F2b2NhZG8KLWNwIC1yIGF2b2NhZG8vZXRjL2F2b2NhZG8vc2Ny aXB0cyAle2J1aWxkcm9vdH0le19zeXNjb25mZGlyfS9hdm9jYWRvL3NjcmlwdHMKLWNwIC1yIGF2 b2NhZG8vZXRjL2F2b2NhZG8vc3lzaW5mbyAle2J1aWxkcm9vdH0le19zeXNjb25mZGlyfS9hdm9j YWRvL3N5c2luZm8KLW1rZGlyIC1wICV7YnVpbGRyb290fSV7X2xpYmV4ZWNkaXJ9L2F2b2NhZG8K LWNwIGF2b2NhZG8vbGliZXhlYy9hdm9jYWRvLWJhc2gtdXRpbHMgJXtidWlsZHJvb3R9JXtfbGli ZXhlY2Rpcn0vYXZvY2Fkby9hdm9jYWRvLWJhc2gtdXRpbHMKLWNwIGF2b2NhZG8vbGliZXhlYy9h dm9jYWRvX2RlYnVnICV7YnVpbGRyb290fSV7X2xpYmV4ZWNkaXJ9L2F2b2NhZG8vYXZvY2Fkb19k ZWJ1ZwotY3AgYXZvY2Fkby9saWJleGVjL2F2b2NhZG9fZXJyb3IgJXtidWlsZHJvb3R9JXtfbGli ZXhlY2Rpcn0vYXZvY2Fkby9hdm9jYWRvX2Vycm9yCi1jcCBhdm9jYWRvL2xpYmV4ZWMvYXZvY2Fk b19pbmZvICV7YnVpbGRyb290fSV7X2xpYmV4ZWNkaXJ9L2F2b2NhZG8vYXZvY2Fkb19pbmZvCi1j cCBhdm9jYWRvL2xpYmV4ZWMvYXZvY2Fkb193YXJuICV7YnVpbGRyb290fSV7X2xpYmV4ZWNkaXJ9 L2F2b2NhZG8vYXZvY2Fkb193YXJuCi1ta2RpciAtcCAle2J1aWxkcm9vdH0le19tYW5kaXJ9L21h bjEKLWluc3RhbGwgLW0gMDY0NCBtYW4vYXZvY2Fkby4xICV7YnVpbGRyb290fSV7X21hbmRpcn0v bWFuMS9hdm9jYWRvLjEKLW1rZGlyIC1wICV7YnVpbGRyb290fSV7X3BrZ2RvY2Rpcn0KLWluc3Rh bGwgLW0gMDY0NCBSRUFETUUucnN0ICV7YnVpbGRyb290fSV7X3BrZ2RvY2Rpcn0KLWluc3RhbGwg LWQgLW0gMDc1NSAle2J1aWxkcm9vdH0le19zaGFyZWRzdGF0ZWRpcn0vYXZvY2Fkby9kYXRhCi0j IHBsYWNlIGV4YW1wbGVzIGluIGRvY3VtZW50YXRpb24gZGlyZWN0b3J5Ci1pbnN0YWxsIC1kIC1t IDA3NTUgJXtidWlsZHJvb3R9JXtfZG9jZGlyfS9hdm9jYWRvCi1jcCAtciBleGFtcGxlcy9nZGIt cHJlcnVuLXNjcmlwdHMgJXtidWlsZHJvb3R9JXtfZG9jZGlyfS9hdm9jYWRvL2dkYi1wcmVydW4t c2NyaXB0cwotY3AgLXIgZXhhbXBsZXMvcGx1Z2lucyAle2J1aWxkcm9vdH0le19kb2NkaXJ9L2F2 b2NhZG8vcGx1Z2lucwotY3AgLXIgZXhhbXBsZXMvdGVzdHMgJXtidWlsZHJvb3R9JXtfZG9jZGly fS9hdm9jYWRvL3Rlc3RzCi1jcCAtciBleGFtcGxlcy92YXJpYW50ZXJfY2l0ICV7YnVpbGRyb290 fSV7X2RvY2Rpcn0vYXZvY2Fkby92YXJpYW50ZXJfY2l0Ci1jcCAtciBleGFtcGxlcy92YXJpYW50 ZXJfcGljdCAle2J1aWxkcm9vdH0le19kb2NkaXJ9L2F2b2NhZG8vdmFyaWFudGVyX3BpY3QKLWNw IC1yIGV4YW1wbGVzL3lhbWxfdG9fbXV4ICV7YnVpbGRyb290fSV7X2RvY2Rpcn0vYXZvY2Fkby95 YW1sX3RvX211eAotbWtkaXIgLXAgJXtidWlsZHJvb3R9JXtfZGF0YXJvb3RkaXJ9L2F2b2NhZG8K LW12ICV7YnVpbGRyb290fSV7cHl0aG9uM19zaXRlbGlifS9hdm9jYWRvL3NjaGVtYXMgJXtidWls ZHJvb3R9JXtfZGF0YXJvb3RkaXJ9L2F2b2NhZG8KLWZpbmQgJXtidWlsZHJvb3R9JXtfZG9jZGly fS9hdm9jYWRvIC10eXBlIGYgLW5hbWUgJyoucHknIC1leGVjIGNobW9kIC1jIC14IHt9ICc7Jwot Ci0laWYgJXt3aXRoIHRlc3RzfQotJWNoZWNrCi0gICAgIyBMQU5HOiB0byBtYWtlIHRoZSByZXN1 bHRzIHByZWRpY3RhYmxlLCB3ZSBwaW4gdGhlIGxhbmd1YWdlCi0gICAgIyB0aGF0IGlzIHVzZWQg ZHVyaW5nIHRlc3QgZXhlY3V0aW9uLgotICAgICMgQVZPQ0FET19DSEVDS19MRVZFTDogcGFja2Fn ZSBidWlsZCBlbnZpcm9ubWVudHMgaGF2ZSB0aGUgbGVhc3QKLSAgICAjIGFtb3VudCBvZiByZXNv dXJjZXMgd2UgaGF2ZSBvYnNlcnZlZCBzbyBmYXIuIExldCdzIGF2b2lkIHRlc3RzIHRoYXQKLSAg ICAjIHJlcXVpcmUgdG9vIG11Y2ggcmVzb3VyY2VzIG9yIGFyZSB0aW1lIHNlbnNpdGl2ZQotICAg IFBBVEg9JXtidWlsZHJvb3R9JXtfYmluZGlyfTole2J1aWxkcm9vdH0le19saWJleGVjZGlyfS9h dm9jYWRvOiRQQVRIIFwKLSAgICAgICAgUFlUSE9OUEFUSD0le2J1aWxkcm9vdH0le3B5dGhvbjNf c2l0ZWxpYn06LiBcCi0gICAgICAgIExBTkc9ZW5fVVMuVVRGLTggXAotICAgICAgICBBVk9DQURP X0NIRUNLX0xFVkVMPTAgXAotICAgICAgICAle3B5dGhvbjN9IHNlbGZ0ZXN0cy9jaGVjay5weSAt LXNraXAgc3RhdGljLWNoZWNrcyAtLWRpc2FibGUtcGx1Z2luLWNoZWNrcyByb2JvdAotJWVuZGlm Ci0KLQotJXBhY2thZ2UgLW4gcHl0aG9uMy1hdm9jYWRvCi1TdW1tYXJ5OiAle3N1bW1hcnl9Ci1S ZXF1aXJlczogcHl0aG9uLWF2b2NhZG8tY29tbW9uID09ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQot UmVxdWlyZXM6IGdkYgotUmVxdWlyZXM6IGdkYi1nZGJzZXJ2ZXIKLVJlcXVpcmVzOiBwcm9jcHMt bmcKLSVpZiAhIDAlez9yaGVsfQotUmVxdWlyZXM6IHB5dGhvbjMtcHljZGxpYgotJWVuZGlmCi0K LSVkZXNjcmlwdGlvbiAtbiBweXRob24zLWF2b2NhZG8KLUF2b2NhZG8gaXMgYSBzZXQgb2YgdG9v bHMgYW5kIGxpYnJhcmllcyAod2hhdCBwZW9wbGUgY2FsbAotdGhlc2UgZGF5cyBhIGZyYW1ld29y aykgdG8gcGVyZm9ybSBhdXRvbWF0ZWQgdGVzdGluZy4KLQotJWZpbGVzIC1uIHB5dGhvbjMtYXZv Y2FkbwotJWxpY2Vuc2UgTElDRU5TRQotJXtfcGtnZG9jZGlyfS9SRUFETUUucnN0Ci0le3B5dGhv bjNfc2l0ZWxpYn0vYXZvY2Fkby8KLSV7cHl0aG9uM19zaXRlbGlifS9hdm9jYWRvX2ZyYW1ld29y ay0le3ZlcnNpb259LXB5JXtweXRob24zX3ZlcnNpb259LmVnZy1pbmZvCi0le19iaW5kaXJ9L2F2 b2NhZG8tJXtweXRob24zX3ZlcnNpb259Ci0le19iaW5kaXJ9L2F2b2NhZG8tMwotJXtfYmluZGly fS9hdm9jYWRvCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLW5vb3AtJXtweXRob24zX3ZlcnNp b259Ci0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLW5vb3AtMwotJXtfYmluZGlyfS9hdm9jYWRv LXJ1bm5lci1ub29wCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLWRyeS1ydW4tJXtweXRob24z X3ZlcnNpb259Ci0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLWRyeS1ydW4tMwotJXtfYmluZGly fS9hdm9jYWRvLXJ1bm5lci1kcnktcnVuCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLWV4ZWMt dGVzdC0le3B5dGhvbjNfdmVyc2lvbn0KLSV7X2JpbmRpcn0vYXZvY2Fkby1ydW5uZXItZXhlYy10 ZXN0LTMKLSV7X2JpbmRpcn0vYXZvY2Fkby1ydW5uZXItZXhlYy10ZXN0Ci0le19iaW5kaXJ9L2F2 b2NhZG8tcnVubmVyLXB5dGhvbi11bml0dGVzdC0le3B5dGhvbjNfdmVyc2lvbn0KLSV7X2JpbmRp cn0vYXZvY2Fkby1ydW5uZXItcHl0aG9uLXVuaXR0ZXN0LTMKLSV7X2JpbmRpcn0vYXZvY2Fkby1y dW5uZXItcHl0aG9uLXVuaXR0ZXN0Ci0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLWF2b2NhZG8t aW5zdHJ1bWVudGVkLSV7cHl0aG9uM192ZXJzaW9ufQotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5l ci1hdm9jYWRvLWluc3RydW1lbnRlZC0zCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLWF2b2Nh ZG8taW5zdHJ1bWVudGVkCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLXRhcC0le3B5dGhvbjNf dmVyc2lvbn0KLSV7X2JpbmRpcn0vYXZvY2Fkby1ydW5uZXItdGFwLTMKLSV7X2JpbmRpcn0vYXZv Y2Fkby1ydW5uZXItdGFwCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLWFzc2V0LSV7cHl0aG9u M192ZXJzaW9ufQotJXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1hc3NldC0zCi0le19iaW5kaXJ9 L2F2b2NhZG8tcnVubmVyLWFzc2V0Ci0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLXBhY2thZ2Ut JXtweXRob24zX3ZlcnNpb259Ci0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLXBhY2thZ2UtMwot JXtfYmluZGlyfS9hdm9jYWRvLXJ1bm5lci1wYWNrYWdlCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVu bmVyLXBpcC0le3B5dGhvbjNfdmVyc2lvbn0KLSV7X2JpbmRpcn0vYXZvY2Fkby1ydW5uZXItcGlw LTMKLSV7X2JpbmRpcn0vYXZvY2Fkby1ydW5uZXItcGlwCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVu bmVyLXBvZG1hbi1pbWFnZS0le3B5dGhvbjNfdmVyc2lvbn0KLSV7X2JpbmRpcn0vYXZvY2Fkby1y dW5uZXItcG9kbWFuLWltYWdlLTMKLSV7X2JpbmRpcn0vYXZvY2Fkby1ydW5uZXItcG9kbWFuLWlt YWdlCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLXN5c2luZm8tJXtweXRob24zX3ZlcnNpb259 Ci0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLXN5c2luZm8tMwotJXtfYmluZGlyfS9hdm9jYWRv LXJ1bm5lci1zeXNpbmZvCi0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLXZtaW1hZ2UtJXtweXRo b24zX3ZlcnNpb259Ci0le19iaW5kaXJ9L2F2b2NhZG8tcnVubmVyLXZtaW1hZ2UtMwotJXtfYmlu ZGlyfS9hdm9jYWRvLXJ1bm5lci12bWltYWdlCi0le19iaW5kaXJ9L2F2b2NhZG8tc29mdHdhcmUt bWFuYWdlci0le3B5dGhvbjNfdmVyc2lvbn0KLSV7X2JpbmRpcn0vYXZvY2Fkby1zb2Z0d2FyZS1t YW5hZ2VyLTMKLSV7X2JpbmRpcn0vYXZvY2Fkby1zb2Z0d2FyZS1tYW5hZ2VyCi0le19iaW5kaXJ9 L2F2b2NhZG8tZXh0ZXJuYWwtcnVubmVyLSV7cHl0aG9uM192ZXJzaW9ufQotJXtfYmluZGlyfS9h dm9jYWRvLWV4dGVybmFsLXJ1bm5lci0zCi0le19iaW5kaXJ9L2F2b2NhZG8tZXh0ZXJuYWwtcnVu bmVyCi0KLQotJXBhY2thZ2UgLW4gcHl0aG9uLWF2b2NhZG8tY29tbW9uCi1TdW1tYXJ5OiBBdm9j YWRvIGNvbW1vbiBmaWxlcwotTGljZW5zZTogR1BMLTIuMC1vci1sYXRlcgotCi0lZGVzY3JpcHRp b24gLW4gcHl0aG9uLWF2b2NhZG8tY29tbW9uCi1Db21tb24gZmlsZXMgKHN1Y2ggYXMgY29uZmln dXJhdGlvbikgZm9yIHRoZSBBdm9jYWRvIFRlc3RpbmcgRnJhbWV3b3JrLgotCi0lZmlsZXMgLW4g cHl0aG9uLWF2b2NhZG8tY29tbW9uCi0lbGljZW5zZSBMSUNFTlNFCi0le19tYW5kaXJ9L21hbjEv YXZvY2Fkby4xLmd6Ci0lZGlyICV7X2RvY2Rpcn0vYXZvY2FkbwotJWRpciAle19zaGFyZWRzdGF0 ZWRpcn0vYXZvY2FkbwotJWRpciAle19zeXNjb25mZGlyfS9hdm9jYWRvCi0lZGlyICV7X3N5c2Nv bmZkaXJ9L2F2b2NhZG8vc3lzaW5mbwotJWRpciAle19zeXNjb25mZGlyfS9hdm9jYWRvL3Njcmlw dHMKLSVkaXIgJXtfc3lzY29uZmRpcn0vYXZvY2Fkby9zY3JpcHRzL2pvYgotJWRpciAle19zeXNj b25mZGlyfS9hdm9jYWRvL3NjcmlwdHMvam9iL3ByZS5kCi0lZGlyICV7X3N5c2NvbmZkaXJ9L2F2 b2NhZG8vc2NyaXB0cy9qb2IvcG9zdC5kCi0lZGlyICV7X3NoYXJlZHN0YXRlZGlyfS9hdm9jYWRv L2RhdGEKLSVkaXIgJXtfZGF0YXJvb3RkaXJ9L2F2b2NhZG8KLSVkaXIgJXtfZGF0YXJvb3RkaXJ9 L2F2b2NhZG8vc2NoZW1hcwotJXtfZGF0YXJvb3RkaXJ9L2F2b2NhZG8vc2NoZW1hcy8qCi0lY29u ZmlnKG5vcmVwbGFjZSkgJXtfc3lzY29uZmRpcn0vYXZvY2Fkby9zeXNpbmZvL2NvbW1hbmRzCi0l Y29uZmlnKG5vcmVwbGFjZSkgJXtfc3lzY29uZmRpcn0vYXZvY2Fkby9zeXNpbmZvL2ZpbGVzCi0l Y29uZmlnKG5vcmVwbGFjZSkgJXtfc3lzY29uZmRpcn0vYXZvY2Fkby9zeXNpbmZvL3Byb2ZpbGVy cwotJXtfc3lzY29uZmRpcn0vYXZvY2Fkby9zY3JpcHRzL2pvYi9wcmUuZC9SRUFETUUKLSV7X3N5 c2NvbmZkaXJ9L2F2b2NhZG8vc2NyaXB0cy9qb2IvcG9zdC5kL1JFQURNRQotCi0KLSVwYWNrYWdl IC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLW91dHB1dC1odG1sCi1TdW1tYXJ5OiBBdm9jYWRv IEhUTUwgcmVwb3J0IHBsdWdpbgotTGljZW5zZTogR1BMLTIuMC1vci1sYXRlciBBTkQgTUlUCi1S ZXF1aXJlczogcHl0aG9uMy1hdm9jYWRvID09ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQotCi0lZGVz Y3JpcHRpb24gLW4gcHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtb3V0cHV0LWh0bWwKLUFkZHMgdG8g YXZvY2FkbyB0aGUgYWJpbGl0eSB0byBnZW5lcmF0ZSBhbiBIVE1MIHJlcG9ydCBhdCBldmVyeSBq b2IgcmVzdWx0cwotZGlyZWN0b3J5LiBJdCBhbHNvIGdpdmVzIHRoZSB1c2VyIHRoZSBhYmlsaXR5 IHRvIHdyaXRlIGEgcmVwb3J0IG9uIGFuCi1hcmJpdHJhcnkgZmlsZXN5c3RlbSBsb2NhdGlvbi4K LQotJWZpbGVzIC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLW91dHB1dC1odG1sCi0le3B5dGhv bjNfc2l0ZWxpYn0vYXZvY2Fkb19yZXN1bHRfaHRtbC8KLSV7cHl0aG9uM19zaXRlbGlifS9hdm9j YWRvX2ZyYW1ld29ya19wbHVnaW5fcmVzdWx0X2h0bWwtJXt2ZXJzaW9ufS1weSV7cHl0aG9uM192 ZXJzaW9ufS5lZ2ctaW5mbwotCi0KLSVpZiAle3dpdGhfcmVzdWx0c2RifQotJXBhY2thZ2UgLW4g cHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtcmVzdWx0c2RiCi1TdW1tYXJ5OiBBdm9jYWRvIHBsdWdp biB0byBwcm9wYWdhdGUgam9iIHJlc3VsdHMgdG8gUmVzdWx0c0RCCi1MaWNlbnNlOiBHUEwtMi4w LW9yLWxhdGVyCi1SZXF1aXJlczogcHl0aG9uMy1hdm9jYWRvID09ICV7dmVyc2lvbn0tJXtyZWxl YXNlfQotCi0lZGVzY3JpcHRpb24gLW4gcHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtcmVzdWx0c2Ri Ci1BbGxvd3MgQXZvY2FkbyB0byBzZW5kIGpvYiByZXN1bHRzIGRpcmVjdGx5IHRvIGEgUmVzdWx0 c0RCCi1zZXJ2ZXIuCi0KLSVmaWxlcyAtbiBweXRob24zLWF2b2NhZG8tcGx1Z2lucy1yZXN1bHRz ZGIKLSV7cHl0aG9uM19zaXRlbGlifS9hdm9jYWRvX3Jlc3VsdHNkYi8KLSV7cHl0aG9uM19zaXRl bGlifS9hdm9jYWRvX2ZyYW1ld29ya19wbHVnaW5fcmVzdWx0c2RiLSV7dmVyc2lvbn0tcHkle3B5 dGhvbjNfdmVyc2lvbn0uZWdnLWluZm8KLSVlbmRpZgotIyB3aXRoX3Jlc3VsdHNkYgotCi0KLSVw YWNrYWdlIC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLXZhcmlhbnRlci15YW1sLXRvLW11eAot U3VtbWFyeTogQXZvY2FkbyBwbHVnaW4gdG8gZ2VuZXJhdGUgdmFyaWFudHMgb3V0IG9mIHlhbWwg ZmlsZXMKLUxpY2Vuc2U6IEdQTC0yLjAtb3ItbGF0ZXIKLVJlcXVpcmVzOiBweXRob24zLWF2b2Nh ZG8gPT0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9Ci0KLSVkZXNjcmlwdGlvbiAtbiBweXRob24zLWF2 b2NhZG8tcGx1Z2lucy12YXJpYW50ZXIteWFtbC10by1tdXgKLUNhbiBiZSB1c2VkIHRvIHByb2R1 Y2UgbXVsdGlwbGUgdGVzdCB2YXJpYW50cyB3aXRoIHRlc3QgcGFyYW1ldGVycwotZGVmaW5lZCBp biBhIHlhbWwgZmlsZShzKS4KLQotJWZpbGVzIC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLXZh cmlhbnRlci15YW1sLXRvLW11eAotJXtweXRob24zX3NpdGVsaWJ9L2F2b2NhZG9fdmFyaWFudGVy X3lhbWxfdG9fbXV4LwotJXtweXRob24zX3NpdGVsaWJ9L2F2b2NhZG9fZnJhbWV3b3JrX3BsdWdp bl92YXJpYW50ZXJfeWFtbF90b19tdXgtJXt2ZXJzaW9ufS1weSV7cHl0aG9uM192ZXJzaW9ufS5l Z2ctaW5mbwotCi0KLSVwYWNrYWdlIC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLWdvbGFuZwot U3VtbWFyeTogQXZvY2FkbyBwbHVnaW4gZm9yIGV4ZWN1dGlvbiBvZiBnb2xhbmcgdGVzdHMKLUxp Y2Vuc2U6IEdQTC0yLjAtb3ItbGF0ZXIKLVJlcXVpcmVzOiBweXRob24zLWF2b2NhZG8gPT0gJXt2 ZXJzaW9ufS0le3JlbGVhc2V9Ci1SZXF1aXJlczogZ29sYW5nCi0KLSVkZXNjcmlwdGlvbiAtbiBw eXRob24zLWF2b2NhZG8tcGx1Z2lucy1nb2xhbmcKLUFsbG93cyBBdm9jYWRvIHRvIGxpc3QgZ29s YW5nIHRlc3RzLCBhbmQgaWYgZ29sYW5nIGlzIGluc3RhbGxlZCwKLWFsc28gcnVuIHRoZW0uCi0K LSVmaWxlcyAtbiBweXRob24zLWF2b2NhZG8tcGx1Z2lucy1nb2xhbmcKLSV7cHl0aG9uM19zaXRl bGlifS9hdm9jYWRvX2dvbGFuZy8KLSV7cHl0aG9uM19zaXRlbGlifS9hdm9jYWRvX2ZyYW1ld29y a19wbHVnaW5fZ29sYW5nLSV7dmVyc2lvbn0tcHkle3B5dGhvbjNfdmVyc2lvbn0uZWdnLWluZm8K LSV7X2JpbmRpcn0vYXZvY2Fkby1ydW5uZXItZ29sYW5nCi0KLQotJWlmICEgMCV7P3JoZWx9Ci0l cGFja2FnZSAtbiBweXRob24zLWF2b2NhZG8tcGx1Z2lucy1hbnNpYmxlCi1TdW1tYXJ5OiBBdm9j YWRvIEFuc2libGUgRGVwZW5kZW5jeSBwbHVnaW4KLUxpY2Vuc2U6IEdQTC0yLjAtb3ItbGF0ZXIK LVJlcXVpcmVzOiBweXRob24zLWF2b2NhZG8gPT0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9Ci1SZXF1 aXJlczogYW5zaWJsZS1jb3JlCi0KLSVkZXNjcmlwdGlvbiAtbiBweXRob24zLWF2b2NhZG8tcGx1 Z2lucy1hbnNpYmxlCi1BZGRzIHRvIEF2b2NhZG8gdGhlIGFiaWxpdHkgdG8gdXNlIGFuc2libGUg bW9kdWxlcyBhcyBkZXBlbmRlY2llcyBmb3IKLXRlc3RzLgotCi0lZmlsZXMgLW4gcHl0aG9uMy1h dm9jYWRvLXBsdWdpbnMtYW5zaWJsZQotJXtweXRob24zX3NpdGVsaWJ9L2F2b2NhZG9fYW5zaWJs ZSoKLSV7cHl0aG9uM19zaXRlbGlifS9hdm9jYWRvX2ZyYW1ld29ya19wbHVnaW5fYW5zaWJsZSoK LSV7X2JpbmRpcn0vYXZvY2Fkby1ydW5uZXItYW5zaWJsZS1tb2R1bGUKLSVlbmRpZgotCi0KLSVw YWNrYWdlIC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLXZhcmlhbnRlci1waWN0Ci1TdW1tYXJ5 OiBWYXJpYW50ZXIgd2l0aCBjb21iaW5hdG9yaWFsIGNhcGFiaWxpdGllcyBieSBQSUNUCi1MaWNl bnNlOiBHUEwtMi4wLW9yLWxhdGVyCi1SZXF1aXJlczogcHl0aG9uMy1hdm9jYWRvID09ICV7dmVy c2lvbn0tJXtyZWxlYXNlfQotCi0lZGVzY3JpcHRpb24gLW4gcHl0aG9uMy1hdm9jYWRvLXBsdWdp bnMtdmFyaWFudGVyLXBpY3QKLVRoaXMgcGx1Z2luIHVzZXMgYSB0aGlyZC1wYXJ0eSB0b29sIHRv IHByb3ZpZGUgdmFyaWFudHMgY3JlYXRlZCBieQotUGFpci1XaXNlIGFsZ29yaXRobXMsIGFsc28g a25vd24gYXMgQ29tYmluYXRvcmlhbCBJbmRlcGVuZGVudCBUZXN0aW5nLgotCi0lZmlsZXMgLW4g cHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtdmFyaWFudGVyLXBpY3QKLSV7cHl0aG9uM19zaXRlbGli fS9hdm9jYWRvX3ZhcmlhbnRlcl9waWN0LwotJXtweXRob24zX3NpdGVsaWJ9L2F2b2NhZG9fZnJh bWV3b3JrX3BsdWdpbl92YXJpYW50ZXJfcGljdC0le3ZlcnNpb259LXB5JXtweXRob24zX3ZlcnNp b259LmVnZy1pbmZvCi0KLQotJXBhY2thZ2UgLW4gcHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtdmFy aWFudGVyLWNpdAotU3VtbWFyeTogVmFyaWFudGVyIHdpdGggQ29tYmluYXRvcmlhbCBJbmRlcGVu ZGVudCBUZXN0aW5nIGNhcGFiaWxpdGllcwotTGljZW5zZTogR1BMLTIuMC1vci1sYXRlcgotUmVx dWlyZXM6IHB5dGhvbjMtYXZvY2FkbyA9PSAle3ZlcnNpb259LSV7cmVsZWFzZX0KLQotJWRlc2Ny aXB0aW9uIC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLXZhcmlhbnRlci1jaXQKLUEgdmFyaWFu dGVyIHBsdWdpbiB0aGF0IGdlbmVyYXRlcyB2YXJpYW50cyB1c2luZyBDb21iaW5hdG9yaWFsCi1J bmRlcGVuZGVudCBUZXN0aW5nIChBS0EgUGFpci1XaXNlKSBhbGdvcml0aG0gZGV2ZWxvcGVkIGlu Ci1jb2xsYWJvcmF0aW9uIHdpdGggQ1ZVVCBQcmFndWUuCi0KLSVmaWxlcyAtbiBweXRob24zLWF2 b2NhZG8tcGx1Z2lucy12YXJpYW50ZXItY2l0Ci0le3B5dGhvbjNfc2l0ZWxpYn0vYXZvY2Fkb192 YXJpYW50ZXJfY2l0LwotJXtweXRob24zX3NpdGVsaWJ9L2F2b2NhZG9fZnJhbWV3b3JrX3BsdWdp bl92YXJpYW50ZXJfY2l0LSV7dmVyc2lvbn0tcHkle3B5dGhvbjNfdmVyc2lvbn0uZWdnLWluZm8K LQotCi0lcGFja2FnZSAtbiBweXRob24zLWF2b2NhZG8tcGx1Z2lucy1yZXN1bHQtdXBsb2FkCi1T dW1tYXJ5OiBBdm9jYWRvIHBsdWdpbiBwcm9wYWdhdGUgam9iIHJlc3VsdHMgdG8gYSByZW1vdGUg aG9zdAotTGljZW5zZTogR1BMLTIuMC1vci1sYXRlcgotUmVxdWlyZXM6IHB5dGhvbjMtYXZvY2Fk byA9PSAle3ZlcnNpb259LSV7cmVsZWFzZX0KLQotJWRlc2NyaXB0aW9uIC1uIHB5dGhvbjMtYXZv Y2Fkby1wbHVnaW5zLXJlc3VsdC11cGxvYWQKLVRoaXMgb3B0aW9uYWwgcGx1Z2luIGlzIGludGVu ZGVkIHRvIHVwbG9hZCB0aGUgQXZvY2FkbyBKb2IgcmVzdWx0cyB0bwotYSBkZWRpY2F0ZWQgc2V2 ZXIuCi0KLSVmaWxlcyAtbiBweXRob24zLWF2b2NhZG8tcGx1Z2lucy1yZXN1bHQtdXBsb2FkCi0l e3B5dGhvbjNfc2l0ZWxpYn0vYXZvY2Fkb19yZXN1bHRfdXBsb2FkLwotJXtweXRob24zX3NpdGVs aWJ9L2F2b2NhZG9fZnJhbWV3b3JrX3BsdWdpbl9yZXN1bHRfdXBsb2FkLSV7dmVyc2lvbn0tcHkl e3B5dGhvbjNfdmVyc2lvbn0uZWdnLWluZm8KLQotJXBhY2thZ2UgLW4gcHl0aG9uMy1hdm9jYWRv LXBsdWdpbnMtcmVzdWx0LW1haWwKLVN1bW1hcnk6IEF2b2NhZG8gTWFpbCBOb3RpZmljYXRpb24g Zm9yIEpvYnMKLUxpY2Vuc2U6IEdQTC0yLjAtb3ItbGF0ZXIKLVJlcXVpcmVzOiBweXRob24zLWF2 b2NhZG8gPT0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9Ci0KLSVkZXNjcmlwdGlvbiAtbiBweXRob24z LWF2b2NhZG8tcGx1Z2lucy1yZXN1bHQtbWFpbAotVGhlIE1haWwgcmVzdWx0IHBsdWdpbiBlbmFi bGVzIHlvdSB0byByZWNlaXZlIGVtYWlsIG5vdGlmaWNhdGlvbnMKLWZvciBqb2Igc3RhcnQgYW5k IGNvbXBsZXRpb24gZXZlbnRzIHdpdGhpbiB0aGUgQXZvY2FkbyB0ZXN0aW5nIGZyYW1ld29yay4K LQotJWZpbGVzIC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVnaW5zLXJlc3VsdC1tYWlsCi0le3B5dGhv bjNfc2l0ZWxpYn0vYXZvY2Fkb19yZXN1bHRfbWFpbCoKLSV7cHl0aG9uM19zaXRlbGlifS9hdm9j YWRvX2ZyYW1ld29ya19wbHVnaW5fcmVzdWx0X21haWwqCi0KLSVpZiAhIDAlez9yaGVsfQotJXBh Y2thZ2UgLW4gcHl0aG9uMy1hdm9jYWRvLXBsdWdpbnMtc3Bhd25lci1yZW1vdGUKLVN1bW1hcnk6 IEF2b2NhZG8gUGx1Z2luIHRvIHNwYXduIHRlc3RzIG9uIGEgcmVtb3RlIGhvc3QKLUxpY2Vuc2U6 IEdQTC0yLjAtb3ItbGF0ZXIKLVJlcXVpcmVzOiBweXRob24zLWF2b2NhZG8gPT0gJXt2ZXJzaW9u fS0le3JlbGVhc2V9Ci0KLSVkZXNjcmlwdGlvbiAtbiBweXRob24zLWF2b2NhZG8tcGx1Z2lucy1z cGF3bmVyLXJlbW90ZQotVGhpcyBvcHRpb25hbCBwbHVnaW4gaXMgaW50ZW5kZWQgdG8gc3Bhd24g dGVzdHMgb24gYSByZW1vdGUgaG9zdC4KLQotJWZpbGVzIC1uIHB5dGhvbjMtYXZvY2Fkby1wbHVn aW5zLXNwYXduZXItcmVtb3RlCi0le3B5dGhvbjNfc2l0ZWxpYn0vYXZvY2Fkb19zcGF3bmVyX3Jl bW90ZSoKLSV7cHl0aG9uM19zaXRlbGlifS9hdm9jYWRvX2ZyYW1ld29ya19wbHVnaW5fc3Bhd25l cl9yZW1vdGUqCi0lZW5kaWYKLQotJXBhY2thZ2UgLW4gcHl0aG9uLWF2b2NhZG8tZXhhbXBsZXMK LVN1bW1hcnk6IEF2b2NhZG8gVGVzdCBGcmFtZXdvcmsgRXhhbXBsZSBUZXN0cwotTGljZW5zZTog R1BMLTIuMC1vci1sYXRlcgotIyBkb2N1bWVudGF0aW9uIGRvZXMgbm90IHJlcXVpcmUgbWFpbiBw YWNrYWdlLCBidXQgbmVlZHMgdG8gYmUgaW4gbG9jay1zdGVwIGlmIHByZXNlbnQKLUNvbmZsaWN0 czogcHl0aG9uMy1hdm9jYWRvIDwgJXt2ZXJzaW9ufS0le3JlbGVhc2V9LCBweXRob24zLWF2b2Nh ZG8gPiAle3ZlcnNpb259LSV7cmVsZWFzZX0KLQotJWRlc2NyaXB0aW9uIC1uIHB5dGhvbi1hdm9j YWRvLWV4YW1wbGVzCi1UaGUgc2V0IG9mIGV4YW1wbGUgdGVzdHMgcHJlc2VudCBpbiB0aGUgdXBz dHJlYW0gdHJlZSBvZiB0aGUgQXZvY2FkbyBmcmFtZXdvcmsuCi1Tb21lIG9mIHRoZW0gYXJlIHVz ZWQgYXMgZnVuY3Rpb25hbCB0ZXN0cyBvZiB0aGUgZnJhbWV3b3JrLCBvdGhlcnMgc2VydmUgYXMK LWV4YW1wbGVzIG9mIGhvdyB0byB3cml0ZSB0ZXN0cyBvbiB5b3VyIG93bi4KLQotJWZpbGVzIC1u IHB5dGhvbi1hdm9jYWRvLWV4YW1wbGVzCi0lbGljZW5zZSBMSUNFTlNFCi0lZGlyICV7X2RvY2Rp cn0vYXZvY2FkbwotJXtfZG9jZGlyfS9hdm9jYWRvL2dkYi1wcmVydW4tc2NyaXB0cwotJXtfZG9j ZGlyfS9hdm9jYWRvL3BsdWdpbnMKLSV7X2RvY2Rpcn0vYXZvY2Fkby90ZXN0cwotJXtfZG9jZGly fS9hdm9jYWRvL3ZhcmlhbnRlcl9jaXQKLSV7X2RvY2Rpcn0vYXZvY2Fkby92YXJpYW50ZXJfcGlj dAotJXtfZG9jZGlyfS9hdm9jYWRvL3lhbWxfdG9fbXV4Ci0KLQotJXBhY2thZ2UgLW4gcHl0aG9u LWF2b2NhZG8tYmFzaAotU3VtbWFyeTogQXZvY2FkbyBUZXN0IEZyYW1ld29yayBCYXNoIFV0aWxp dGllcwotTGljZW5zZTogR1BMLTIuMC1vci1sYXRlciBBTkQgR1BMLTIuMC1vbmx5Ci1SZXF1aXJl czogcHl0aG9uLWF2b2NhZG8tY29tbW9uID09ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQotCi0lZGVz Y3JpcHRpb24gLW4gcHl0aG9uLWF2b2NhZG8tYmFzaAotQSBzbWFsbCBzZXQgb2YgdXRpbGl0aWVz IHRvIGludGVyYWN0IHdpdGggQXZvY2FkbyBmcm9tIHRoZSBCb3VybmUKLUFnYWluIFNoZWxsIGNv ZGUgKGFuZCBwb3NzaWJseSBvdGhlciBzaW1pbGFyIHNoZWxscykuCi0KLSVmaWxlcyAtbiBweXRo b24tYXZvY2Fkby1iYXNoCi0lbGljZW5zZSBMSUNFTlNFCi0lZGlyICV7X2xpYmV4ZWNkaXJ9L2F2 b2NhZG8KLSV7X2xpYmV4ZWNkaXJ9L2F2b2NhZG8vYXZvY2Fkby1iYXNoLXV0aWxzCi0le19saWJl eGVjZGlyfS9hdm9jYWRvL2F2b2NhZG9fZGVidWcKLSV7X2xpYmV4ZWNkaXJ9L2F2b2NhZG8vYXZv Y2Fkb19lcnJvcgotJXtfbGliZXhlY2Rpcn0vYXZvY2Fkby9hdm9jYWRvX2luZm8KLSV7X2xpYmV4 ZWNkaXJ9L2F2b2NhZG8vYXZvY2Fkb193YXJuCi0KLQotJWNoYW5nZWxvZwotKiBUaHUgSnVsIDE2 IDIwMjYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9y Zz4gLSAxMTIuMC01Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lr aS9GZWRvcmFfNDVfTWFzc19SZWJ1aWxkCi0KLSogVGh1IEp1biAwNCAyMDI2IFB5dGhvbiBNYWlu dCA8cHl0aG9uLW1haW50QHJlZGhhdC5jb20+IC0gMTEyLjAtNAotLSBSZWJ1aWx0IGZvciBQeXRo b24gMy4xNQotCi0qIFR1ZSBBcHIgMDcgMjAyNiBBZGFtIFdpbGxpYW1zb24gPGF3aWxsaWFtQHJl ZGhhdC5jb20+IC0gMTEyLjAtMwotLSBCYWNrcG9ydCBQUiAjNjI5NSB0byBmaXggcmVzdWx0c2Ri X2FwaSBkZXBlbmRlbmN5ICgjMjQ1MjgyMSkKLS0gQmFja3BvcnQgUFIgIzYyNTIgdG8gZml4IGJ1 aWxkICh0ZXN0cykgd2l0aCByZWNlbnQgc2V0dXB0b29scyAoIzI0MzQ5NTEpCi0KLSogU2F0IEph biAxNyAyMDI2IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVj dC5vcmc+IC0gMTEyLjAtMgotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3Jn L3dpa2kvRmVkb3JhXzQ0X01hc3NfUmVidWlsZAotCi0qIEZyaSBPY3QgMTAgMjAyNSBDbGViZXIg Um9zYSAgPGNyb3NhQHJlZGhhdC5jb20+IC0gMTEyLjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0g cmVsZWFzZSAxMTIuMAotLSBSZW1vdmVkIHB5dGhvbjMtZWxlbWVudHBhdGggYnVpbGQgcmVxdWly ZW1lbnQKLS0gTWFkZSB0aGUgcmVtb3RlIHNwYXduZXIgYSBwcm9wZXIgc3ViIHBhY2thZ2UKLS0g UGFja2FnZWQgSlNPTiBzY2hlbWEgZmlsZXMKLS0gSW50cm9kdWNlZCBuZXcgc3ViIHBhY2thZ2Ug Zm9yIG1haWwgcGx1Z2luCi0tIFJlbW92ZWQgdGhlIHBpbm5pbmcgb2YgbWFya3Vwc2FmZSBvbiBG ZWRvcmEgNDIgYW5kIGxhdGVyCi0tIFBhY2thZ2VkIGF2b2NhZG8tcnVubmVyLXBpcAotLSBQYWNr YWdlZCBhdm9jYWRvLXJ1bm5lci12bWltYWdlCi0tIFByb3ZpZGUgcmVxdWlyZW1lbnRzIGZvciBy dW5uaW5nIHRoZSBmdW5jdGlvbmFsIHRlc3QKLSAgbnJ1bm5lci5weTpUYXNrUnVuU3RhdHVzU2Vy dmljZS50ZXN0X3Rhc2tfc3RhdHVzX3NlcnZpY2VfbG9zdAotLSBSZXF1aXJlIGdjYywgZ2RiIGFu ZCBnZGItZ2Ric2VydmVyIGZvciB0ZXN0cwotCi0qIEZyaSBKdWwgMjUgMjAyNSBGZWRvcmEgUmVs ZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDkyLjMtNgotLSBS ZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQzX01hc3Nf UmVidWlsZAotCi0qIFR1ZSBKdW4gMDMgMjAyNSBQeXRob24gTWFpbnQgPHB5dGhvbi1tYWludEBy ZWRoYXQuY29tPiAtIDkyLjMtNQotLSBSZWJ1aWx0IGZvciBQeXRob24gMy4xNAotCi0qIE1vbiBK YW4gMjAgMjAyNSBNaXJvIEhyb27EjW9rIDxtaHJvbmNva0ByZWRoYXQuY29tPiAtIDkyLjMtNAot LSBMb29zZW4gdGhlIFB5WUFNTCB2ZXJzaW9uIHJlcXVpcmVtZW50IGluIHB5dGhvbjMtYXZvY2Fk by1wbHVnaW5zLXZhcmlhbnRlci15YW1sLXRvLW11eAotCi0qIE1vbiBKYW4gMjAgMjAyNSBDbGVi ZXIgUm9zYSA8Y3Jvc2FAcmVkaGF0LmNvbT4gLSA5Mi4zLTMKLS0gY29udmVydCByZW1haW5pbmcg bGljZW5zZXMgdG8gU1BEWAotCi0qIFNhdCBKYW4gMTggMjAyNSBGZWRvcmEgUmVsZWFzZSBFbmdp bmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDkyLjMtMgotLSBSZWJ1aWx0IGZv ciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQyX01hc3NfUmVidWlsZAot Ci0qIE1vbiBBdWcgMTkgMjAyNCBDbGViZXIgUm9zYSA8Y3Jvc2FAcmVkaGF0LmNvbT4gLSA5Mi4z LTEKLS0gVXBkYXRlZCB0byA5Mi4zCi0tIFN1cHBvcnQgYnVpbGRpbmcgYW5kIHJ1bm5pbmcgdW5k ZXIgUHl0aG9uIDMuMTMgZm9yIEY0MgotLSBSZW1vdmVkIHBhdGNoIGZyb20gOTIuMSBhcyBpdHMg cHJlc2VudCBpbiA5Mi4zCi0KLSogRnJpIEp1bCAyNiAyMDI0IE1pcm9zbGF2IFN1Y2jDvSA8bXN1 Y2h5QHJlZGhhdC5jb20+IC0gOTIuMS04Ci0tIGNvbnZlcnQgbGljZW5zZSB0byBTUERYCi0KLSog RnJpIEp1bCAxOSAyMDI0IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3Jh cHJvamVjdC5vcmc+IC0gOTIuMS03Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVj dC5vcmcvd2lraS9GZWRvcmFfNDFfTWFzc19SZWJ1aWxkCi0KLSogRnJpIEp1biAwNyAyMDI0IFB5 dGhvbiBNYWludCA8cHl0aG9uLW1haW50QHJlZGhhdC5jb20+IC0gOTIuMS02Ci0tIFJlYnVpbHQg Zm9yIFB5dGhvbiAzLjEzCi0KLSogTW9uIEphbiAyOSAyMDI0IEZlZG9yYSBSZWxlYXNlIEVuZ2lu ZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gOTIuMS01Ci0tIFJlYnVpbHQgZm9y IGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDBfTWFzc19SZWJ1aWxkCi0K LSogRnJpIEphbiAyNiAyMDI0IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVk b3JhcHJvamVjdC5vcmc+IC0gOTIuMS00Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJv amVjdC5vcmcvd2lraS9GZWRvcmFfNDBfTWFzc19SZWJ1aWxkCi0KLSogU3VuIEphbiAyMSAyMDI0 IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0g OTIuMS0zCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRv cmFfNDBfTWFzc19SZWJ1aWxkCi0KLSogRnJpIEp1bCAyMSAyMDIzIEZlZG9yYSBSZWxlYXNlIEVu Z2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gOTIuMS0yCi0tIFJlYnVpbHQg Zm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzlfTWFzc19SZWJ1aWxk Ci0KLSogTW9uIEp1bCAxNyAyMDIzIENsZWJlciBSb3NhIDxjcm9zYUByZWRoYXQuY29tPiAtIDky LjEtMQotLSBVcGRhdGVkIHRvIDkyLjEKLS0gU3VwcG9ydCBidWlsZGluZyBhbmQgcnVubmluZyB1 bmRlciBQeXRob24gMy4xMiBmb3IgRjM5Ci0KLSogV2VkIEp1biAxNCAyMDIzIFB5dGhvbiBNYWlu dCA8cHl0aG9uLW1haW50QHJlZGhhdC5jb20+IC0gOTIuMC0zCi0tIFJlYnVpbHQgZm9yIFB5dGhv biAzLjEyCi0KLSogRnJpIEphbiAyMCAyMDIzIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxy ZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gOTIuMC0yCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8v ZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzhfTWFzc19SZWJ1aWxkCi0KLSogVHVlIEF1 ZyAgOSAyMDIyIENsZWJlciBSb3NhIDxjcm9zYUByZWRoYXQuY29tPiAtIDkyLjAtMQotLSBVc2Ug c2VsZnRlc3RzL2NoZWNrLnB5IGpvYiBpbnN0ZWFkIG9mIG1vcmUgbGltaXRlZCBzZWxmdGVzdHMv cnVuCi0tIEluY2x1ZGVkIGF2b2NhZG8tcnVubmVyLXN5c2luZm8sIGF2b2NhZG8tcnVubmVyLXJl cXVpcmVtZW50LXBhY2thZ2UsCi0gIGF2b2NhZG8tcnVubmVyLXJlcXVpcmVtZW50LWFzc2V0IGFu ZCBhdm9jYWRvLXJ1bm5lci1kcnktcnVuIGFuZAotICBhdm9jYWRvLXJ1bm5lci1nb2xhbmcgZXhl Y3V0YWJsZXMKLS0gUmVtb3ZlZCBhdm9jYWRvLXJ1bm5lci1leGVjIGV4ZWN1dGFibGUKLS0gUmVt b3ZlZCBsb2FkZXJfeWFtbCBhbmQgZ2xpYiBwbHVnaW4gcGFja2FnZXMKLQotKiBGcmkgSnVsIDIy IDIwMjIgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9y Zz4gLSA4Mi4wLTcKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtp L0ZlZG9yYV8zN19NYXNzX1JlYnVpbGQKLQotKiBUdWUgSnVuIDIxIDIwMjIgUHl0aG9uIE1haW50 IDxweXRob24tbWFpbnRAcmVkaGF0LmNvbT4gLSA4Mi4wLTYKLS0gUmVidWlsdCBmb3IgUHl0aG9u IDMuMTEKLQotKiBGcmkgSmFuIDIxIDIwMjIgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJl bGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSA4Mi4wLTUKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9m ZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zNl9NYXNzX1JlYnVpbGQKLQotKiBXZWQgSnVs IDI4IDIwMjEgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA4Mi4wLTQK LS0gTG9vc2VuIGppbmphMiB2ZXJzaW9uIHJlcXVpcmVtZW50IHRvIGZpeCBGVEJGUyBpbiBSYXdo aWRlCi0KLSogRnJpIEp1bCAyMyAyMDIxIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxl bmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gODIuMC0zCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVk b3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzVfTWFzc19SZWJ1aWxkCi0KLSogVGh1IE1hciAx OCAyMDIxIE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRoZXNpQHJlZGhhdC5jb20+IC0gODIuMC0yCi0t IERyb3Agb2Jzb2xldGUgcGFja2FnZXMgZnJvbSBCdWlsZFJlcXVpcmVzCi0tIEdlbmVyYXRlIG1h biBwYWdlIGRpcmVjdGx5IHVzaW5nICdyc3QybWFuJyByYXRoZXIgdGhhbiByZXF1aXJpbmcgJ21h a2UnCi0tIEFkanVzdCBQQVRIIHRvIG1ha2Ugc3VyZSBzZWxmLXRlc3RzIGZpbmQgaW50ZXJuYWwg bW9kdWxlcwotLSBTcGVjIGZpbGUgY2xlYW51cCBmb2xsb3dpbmcgcGFja2FnZSByZXZpZXcuCi0K LSogTW9uIFNlcCAxNCAyMDIwIENsZWJlciBSb3NhIDxjbGViZXJAcmVkaGF0LmNvbT4gLSA4Mi4w LTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgODIuMC4KLS0gUmVtb3ZlZCBweXRob24g bGlidmlydCBkZXBlZGVuY3kgYXMgdGhlIHZtIHJ1bm5lciBoYXMgYmVlbiByZW1vdmVkCi0gIHVw c3RyZWFtCi0tIERyb3BwZWQgY29uZmlndXJhdGlvbiBmaWxlcyB0byBzeW5jIHdpdGggdXBzdHJl YW0gd2hpY2ggbWFkZSB0aGVtCi0gIG9wdGlvbmFsIGFuZCBkb2Vzbid0IHNoaXAgdGhlbSBhbnlt b3JlCi0tIEFkZCBvbiBleHRyYSBjaGFyYWN0ZXIgdG8gc2hvcnQgY29tbWl0IHRvIHN5bmMgd2l0 aCB1cHN0cmVhbQotCi0qIFNhdCBKdW4gIDYgMjAyMCBDbGViZXIgUm9zYSA8Y2xlYmVyQHJlZGhh dC5jb20+IC0gODAuMC0xCi0tIFN5bmMgd2l0aCB1cHN0cmVhbSByZWxlYXNlIDgwLjAuCi0tIERy b3BwZWQgdXNlIG9mIGN1c3RvbSBhdm9jYWRvIGNvbW1hbmQgZm9yIHRlc3RzCi0tIERvIG5vdCBi dWlsZCBkZXByZWNhdGVkIHJ1bm5lcnMKLQotKiBUdWUgTWF5IDEyIDIwMjAgQ2xlYmVyIFJvc2Eg PGNsZWJlckByZWRoYXQuY29tPiAtIDc5LjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFz ZSA3OS4wLgotLSBBZGRlZCBQeXRob24ncyB1c2VyIGJhc2UgYmluIGRpciB0byB0aGUgUEFUSCBl bnZpcm9ubWVudCB2YXJpYWJsZQotICB3aGlsZSBydW5uaW5nIHRlc3RzLCBzbyB0aGF0IGF2b2Nh ZG8tcnVubmVyLSogc2NyaXB0cyBjYW4gYmUgZm91bmQKLS0gTW92ZWQgY29tbWVudCB0byBuZXcg bGluZXMgY2xvc2luZyB0aGUgY29uZGl0aW9uYWxzLCB0byBhdm9pZAotICBlcnJvcnMgZnJvbSBy cG1saW50IGFuZCBycG1idWlsZAotCi0qIFdlZCBBcHIgMTUgMjAyMCBNZXJsaW4gTWF0aGVzaXVz IDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDc4LjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVs ZWFzZSA3OC4wLgotCi0qIFR1ZSBNYXIgMTcgMjAyMCBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVz aUByZWRoYXQuY29tPiAtIDc3LjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFzZSA3Ny4w LgotCi0qIE1vbiBNYXIgMDkgMjAyMCBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQu Y29tPiAtIDc2LjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFzZSA3Ni4wLgotCi0qIE1v biBKYW4gMjAgMjAyMCBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDc1 LjEtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFzZSA3NS4xLgotCi0qIE1vbiBEZWMgMjMg MjAxOSBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDc0LjAtMQotLSBT eW5jIHdpdGggdXBzdHJlYW0gcmVsZWFzZSA3NC4wLgotCi0qIFdlZCBOb3YgMjcgMjAxOSBNZXJs aW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDczLjAtMQotLSBTeW5jIHdpdGgg dXBzdHJlYW0gcmVsZWFzZSA3My4wLgotLSBBZGp1c3RtZW50cyB0byBidWlsZCBmb3IgUkhFTCA4 LgotCi0qIFdlZCBPY3QgMDIgMjAxOSBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQu Y29tPiAtIDcyLjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFzZSA3Mi4wLgotCi0qIFdl ZCBBdWcgMjggMjAxOSBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDcx LjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFzZSA3MS4wLgotCi0qIFdlZCBKdW4gMjYg MjAxOSBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDcwLjAtMQotLSBT eW5jIHdpdGggdXBzdHJlYW0gcmVsZWFzZSA3MC4wLgotLSBEcm9wIGFsbCBQeXRob24gMiBzdXBw b3J0IGZyb20gU1BFQyBmaWxlLgotCi0qIFdlZCBNYXkgMjIgMjAxOSBNZXJsaW4gTWF0aGVzaXVz IDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDY5LjAtNAotLSBweWxpYmx6bWEgaXMgUHl0aG9uIDIt b25seSBhbmQgbm8gbG9uZ2VyIGF2YWlsYWJsZSBhcyBvZiBGMzEuCi0tIFVudmVyc2lvbmVkIGV4 ZWN1dGFibGVzIHNob3VsZCBub3cgYmUgUHl0aG9uIDMuCi0KLSogTW9uIE1heSAyMCAyMDE5IE1l cmxpbiBNYXRoZXNpdXMgPG1tYXRoZXNpQHJlZGhhdC5jb20+IC0gNjkuMC0zCi0tIERyb3AgUHl0 aG9uIDIgc3VwcG9ydCBmcm9tIEYzMSBhbmQgUkhFTDggb253YXJkLgotLSBEaXNhYmxlIGNvbXBv bmVudHMgZGVwZW5kZW50IHVwb24gRmliZXIgaW4gRmVkb3JhIDMxIGFuZCBsYXRlciwKLSAgc2lu Y2UgYXZvY2FkbyBpcyBjdXJyZW50bHkgaW5jb21wYXRpYmxlIHdpdGggdGhlIG5ldyBGaWJlciBB UEkuCi0KLSogVHVlIE1hciAxOSAyMDE5IE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRoZXNpQHJlZGhh dC5jb20+IC0gNjkuMC0yCi0tIHB5dGhvbjItc3BoaW54IGlzIG5vIGxvbmdlciBhdmFpbGFibGUg b3IgbmVlZGVkIGFzIG9mIEYzMQotCi0qIFdlZCBGZWIgMjcgMjAxOSBNZXJsaW4gTWF0aGVzaXVz IDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDY5LjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVs ZWFzZSA2OS4wLgotCi0qIEZyaSBGZWIgMjIgMjAxOSBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVz aUByZWRoYXQuY29tPiAtIDY4LjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFzZSA2OC4w LgotCi0qIFRodSBKYW4gMzEgMjAxOSBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQu Y29tPiAtIDY3LjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFzZSA2Ny4wLgotLSBnZW5p c29pbWFnZSwgbGliY2RpbywgYW5kIHBzbWlzYyBhZGRlZCBhcyBidWlsZCBkZXBzIHNvIGlzbzk2 NjAgdGVzdHMgcnVuLgotLSBSZXBsYWNlIHB5c3RhY2hlIHJlcXVpcmVtZW50IHdpdGggamluamEy LgotLSBnbGliYy1hbGwtbGFuZ3BhY2tzIGFkZGVkIGFzIGJ1aWxkIGRlcCBmb3IgRjMwKyBzbyB2 bWltYWdlIHRlc3RzIHJ1bi4KLS0gcHl0aG9uMi1yZXN1bHRzZGJfYXBpIHBhY2thZ2UgaGFzIGJl ZW4gcmVtb3ZlZCBpbiBGMzAgc28KLSAgcHl0aG9uMi1hdm9jYWRvLXBsdWdpbnMtcmVzdWx0c2Ri IHdhcyBhbHNvIGRpc2FibGVkLgotCi0qIFdlZCBOb3YgMjEgMjAxOCBNZXJsaW4gTWF0aGVzaXVz IDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDY2LjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVs ZWFzZSA2Ni4wLgotLSBweXRob24yLXB5Y2RsaWIgcGFja2FnZSBoYXMgYmVlbiByZW1vdmVkIGlu IEYzMCBhcyBwYXJ0IG9mCi0gIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9DaGFuZ2Vz L01hc3NfUHl0aG9uXzJfUGFja2FnZV9SZW1vdmFsCi0KLSogVGh1IE9jdCAwNCAyMDE4IE1lcmxp biBNYXRoZXNpdXMgPG1tYXRoZXNpQHJlZGhhdC5jb20+IC0gNjUuMC0xCi0tIFN5bmMgd2l0aCB1 cHN0cmVhbSByZWxlYXNlIDY1LjAuCi0KLSogVHVlIEF1ZyAyOCAyMDE4IE1lcmxpbiBNYXRoZXNp dXMgPG1tYXRoZXNpQHJlZGhhdC5jb20+IC0gNjQuMC0xCi0tIFN5bmMgd2l0aCB1cHN0cmVhbSBy ZWxlYXNlIDY0LjAuCi0KLSogVGh1IEp1bCAyNiAyMDE4IE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRo ZXNpQHJlZGhhdC5jb20+IC0gNjMuMC0yCi0tIEFkZGVkIG1pc3NpbmcgcHl0aG9uWzJdLWVudW0z NCByZXF1aXJlbWVudC4KLQotKiBNb24gSnVsIDIzIDIwMTggTWVybGluIE1hdGhlc2l1cyA8bW1h dGhlc2lAcmVkaGF0LmNvbT4gLSA2My4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2Ug NjMuMC4gKEJaIzE2MDIxNzUpCi0gIEluY2x1ZGUgdXBzdHJlYW0gcGF0Y2hlcyBuZWVkZWQgdG8g YnVpbGQgZm9yIFJhd2hpZGUuCi0KLSogV2VkIEp1biAxMyAyMDE4IE1lcmxpbiBNYXRoZXNpdXMg PG1tYXRoZXNpQHJlZGhhdC5jb20+IC0gNjIuMC0xCi0tIFN5bmMgd2l0aCB1cHN0cmVhbSByZWxl YXNlIDYyLjAuIChCWiMxNTkwNTcyKQotLSBDb3JyZWN0IGxpYnZpcnQgZGVwZW5kZW5jeSBmb3Ig RVBFTDcvUkhFTDcKLQotKiBUaHUgTWF5IDE3IDIwMTggTWVybGluIE1hdGhlc2l1cyA8bW1hdGhl c2lAcmVkaGF0LmNvbT4gLSA2MS4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJlbGVhc2UgNjEu MC4KLS0gUGFja2FnaW5nIHVwZGF0ZXMgZm9yIFB5dGhvbiAzLgotLSBSZW9yZ2FuaXplIFNQRUMg ZmlsZS4KLQotKiBNb24gQXByICA5IDIwMTggQ2xlYmVyIFJvc2EgPGNsZWJlckByZWRoYXQuY29t PiAtIDUyLjEtMgotLSBBZGRlZCBGZWRvcmEgQ0kgdGVzdHMKLQotKiBUdWUgQXByIDAzIDIwMTgg TWVybGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA1Mi4xLTEKLS0gU3luYyB3 aXRoIHVwc3RyZWFtIHJlbGVhc2UgNTIuMSAoTFRTIHNlcmllcykuCi0tIENvcnJlY3QgZGVwcmVj YXRlZCB1c2Ugb2YgdW52ZXJzaW9uZWQgcHl0aG9uLgotCi0qIE1vbiBNYXIgMjYgMjAxOCBJcnlu YSBTaGNoZXJiaW5hIDxpc2hjaGVyYkByZWRoYXQuY29tPiAtIDUyLjAtNQotLSBVcGRhdGUgUHl0 aG9uIDIgZGVwZW5kZW5jeSBkZWNsYXJhdGlvbnMgdG8gbmV3IHBhY2thZ2luZyBzdGFuZGFyZHMK LSAgKFNlZSBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmluYWxpemluZ0ZlZG9yYVN3 aXRjaHRvUHl0aG9uMykKLQotKiBGcmkgRmViIDA5IDIwMTggRmVkb3JhIFJlbGVhc2UgRW5naW5l ZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSA1Mi4wLTQKLS0gUmVidWlsdCBmb3Ig aHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yOF9NYXNzX1JlYnVpbGQKLQot KiBXZWQgQXVnIDA5IDIwMTcgTWVybGluIE1hdGhlc2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4g LSA1Mi4wLTMKLS0gRml4IEZUQkZTIGVycm9yIGJ5IGRpc2FibGluZyBzZWxmY2hlY2sgcHJvZHVj aW5nIGZhbHNlIGZhaWx1cmVzCi0tIFVwZGF0ZSBTUEVDIHRvIHVzZSBwa2duYW1lIGluc3RlYWQg b2Ygc3JjbmFtZSBtYWNybyB3aGVyZSBhcHByb3ByaWF0ZQotCi0qIFRodSBKdWwgMjcgMjAxNyBG ZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDUy LjAtMgotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3Jh XzI3X01hc3NfUmVidWlsZAotCi0qIFRodSBKdW4gMjkgMjAxNyBNZXJsaW4gTWF0aGVzaXVzIDxt bWF0aGVzaUByZWRoYXQuY29tPiAtIDUyLjAtMQotLSBTeW5jIHdpdGggdXBzdHJlYW0gcmVsZWFz ZSA1Mi4wLiAoQlojMTQ2NTQwOSkKLQotKiBXZWQgSnVuIDE0IDIwMTcgTWVybGluIE1hdGhlc2l1 cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA1MS4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJl bGVhc2UgNTEuMC4gKEJaIzE0NjA4MzcpCi0tIERpc2FibGUgc2VsZnRlc3RzIHdoZW4gbGlidmly dCBtYXkgbm90IGJlIGF2YWlsYWJsZS4KLQotKiBXZWQgTWF5IDE3IDIwMTcgTWVybGluIE1hdGhl c2l1cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA1MC4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFt IHJlbGVhc2UgNTAuMC4gKEJaIzE0MzE0MTMpCi0tIEJlIGV4cGxpY2l0IGFib3V0IHNlbGZ0ZXN0 IGxldmVsIHJ1biBvbiBjaGVjay4KLQotKiBUdWUgQXByIDI1IDIwMTcgTWVybGluIE1hdGhlc2l1 cyA8bW1hdGhlc2lAcmVkaGF0LmNvbT4gLSA0OS4wLTEKLS0gU3luYyB3aXRoIHVwc3RyZWFtIHJl bGVhc2UgNDkuMC4gKEJaIzE0MzE0MTMpCi0KLSogVHVlIEFwciAxOCAyMDE3IE1lcmxpbiBNYXRo ZXNpdXMgPG1tYXRoZXNpQHJlZGhhdC5jb20+IC0gNDguMC0xCi0tIFN5bmMgd2l0aCB1cHN0cmVh bSByZWxlYXNlIDQ4LjAuIChCWiMxNDMxNDEzKQotLSBBbGxvdyByZWxfYnVpbGQgbWFjcm8gdG8g YmUgZGVmaW5lZCBvdXRzaWRlIG9mIHRoZSBTUEVDIGZpbGUuCi0KLSogTW9uIE1hciAyNyAyMDE3 IE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRoZXNpQHJlZGhhdC5jb20+IC0gNDcuMC0xCi0tIFN5bmMg d2l0aCB1cHN0cmVhbSByZWxlYXNlIDQ3LjAuCi0tIEVuYWJsZSBzZWxmLXRlc3RzIGR1cmluZyBi dWlsZC4KLS0gQWRkIGV4YW1wbGUgdGVzdCB0byBiZSBydW4gYnkgVGFza290cm9uLgotCi0qIE1v biBGZWIgMjcgMjAxNyBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDQ2 LjAtMgotLSBJbmNvcnBvcmF0ZSB1cHN0cmVhbSBTUEVDIGZpbGUgY2hhbmdlcyB0byBzcGxpdCBw bHVnaW5zIGludG8gc3VicGFja2FnZXMuCi0tIFJlbW92ZSBvYnNvbGV0ZSBDQy1CWS1TQSBsaWNl bnNlLCB3aGljaCB3ZW50IGF3YXkgd2l0aCB0aGUgaGFsZmxpbmdzIGZvbnQuCi0KLSogVHVlIEZl YiAxNCAyMDE3IE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRoZXNpQHJlZGhhdC5jb20+IC0gNDYuMC0x Ci0tIFN5bmMgd2l0aCB1cHN0cmVhbSByZWxlYXNlIDQ2LjAuCi0tIFJlbW92ZSBoYWxmbGluZ3Mg bGljZW5zZSBzaW5jZSBmb250IHdhcyByZW1vdmVkIGZyb20gdXBzdHJlYW0uCi0tIFNQRUMgdXBk YXRlcyB0byBlYXNpbHkgc3dpdGNoIGJldHdlZW4gcmVsZWFzZSBhbmQgc25hcHNob3QgYnVpbGRz LgotCi0qIFNhdCBGZWIgMTEgMjAxNyBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5n QGZlZG9yYXByb2plY3Qub3JnPiAtIDQzLjAtOAotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9y YXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzI2X01hc3NfUmVidWlsZAotCi0qIFR1ZSBKYW4gMTAg MjAxNyBNZXJsaW4gTWF0aGVzaXVzIDxtbWF0aGVzaUByZWRoYXQuY29tPiAtIDQzLjAtNwotLSBT UEVDIHVwZGF0ZXMgdG8gYnVpbGQgYW5kIGluc3RhbGwgZm9yIEVQRUwuCi0KLSogTW9uIE5vdiAy MSAyMDE2IE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRoZXNpQHJlZGhhdC5jb20+IC0gNDMuMC02Ci0t IEluaXRpYWwgcGFja2FnaW5nIGZvciBGZWRvcmEuCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3Nv dXJjZXMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0OTRhZmMuLjAwMDAwMDAKLS0t IGEvc291cmNlcworKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLVNIQTUxMiAoYXZvY2Fkby0x MTIuMC50YXIuZ3opID0gMTg3MmVkYTczMGY1Y2QyOGYwNTYyNzMyNDY0Y2UxNGIyYzc3MzFjZWRi Mjk4ZmNjNGIwOTNhMDQyMzVkMjZjYzVlM2RiN2Y5MmMzYWUzZWRjZDYxMDRhZDJkYjRmY2U2NmZh N2E2MTQ4ZGE3NTRlNGJkYjgxMjBmYTEyYTc1YTMKCmRpZmYgLS1naXQgYS90ZXN0cy9nZGJ0ZXN0 LnB5IGIvdGVzdHMvZ2RidGVzdC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggYzBj ZGM1NS4uMDAwMDAwMAotLS0gYS90ZXN0cy9nZGJ0ZXN0LnB5CisrKyAvZGV2L251bGwKQEAgLTEs MzQ3ICswLDAgQEAKLWltcG9ydCBvcwotCi1mcm9tIGF2b2NhZG8gaW1wb3J0IFRlc3QKLWZyb20g YXZvY2Fkby51dGlscyBpbXBvcnQgZ2RiLCBnZW5pbywgcHJvY2VzcwotCi0KLWNsYXNzIEdkYlRl c3QoVGVzdCk6Ci0KLSAgICAiIiIKLSAgICBFeGVjdXRlIHRoZSBnZGIgdGVzdAotCi0gICAgOmF2 b2NhZG86IHRhZ3M9cmVxdWlyZXNfY19jb21waWxlcgotICAgICIiIgotCi0gICAgVkFMSURfQ01E UyA9IFsiLWxpc3QtdGFyZ2V0LWZlYXR1cmVzIiwKLSAgICAgICAgICAgICAgICAgICItYnJlYWst aW5mbyIsCi0gICAgICAgICAgICAgICAgICAiLWJyZWFrLWxpc3QiLAotICAgICAgICAgICAgICAg ICAgIi10aHJlYWQtaW5mbyIsCi0gICAgICAgICAgICAgICAgICAiLXN0YWNrLWluZm8tZnJhbWUi LAotICAgICAgICAgICAgICAgICAgIi1zdGFjay1pbmZvLWRlcHRoIl0KLQotICAgIElOVkFMSURf Q01EUyA9IFsiLWZvb2JhciIsCi0gICAgICAgICAgICAgICAgICAgICItbWFnaWM4YmFsbCIsCi0g ICAgICAgICAgICAgICAgICAgICItZmluZC1tZS10aGUtYnVnIiwKLSAgICAgICAgICAgICAgICAg ICAgIi1hdXRvLWRlYnVnLWl0Il0KLQotICAgIGRlZiBzZXRVcChzZWxmKToKLSAgICAgICAgc2Vs Zi5yZXR1cm45OV9iaW5hcnlfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnRlc3RzdG1wZGlyLCAn cmV0dXJuOTknKQotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2VsZi5yZXR1cm45OV9i aW5hcnlfcGF0aCk6Ci0gICAgICAgICAgICByZXR1cm45OV9zb3VyY2VfcGF0aCA9IHNlbGYuZ2V0 X2RhdGEoJ3JldHVybjk5LmMnKQotICAgICAgICAgICAgaWYgcmV0dXJuOTlfc291cmNlX3BhdGgg aXMgTm9uZToKLSAgICAgICAgICAgICAgICBzZWxmLmNhbmNlbCgnVGVzdCBpcyBtaXNzaW5nIGRh dGEgZmlsZSAicmV0dXJuOTkuYyInKQotICAgICAgICAgICAgcHJvY2Vzcy5zeXN0ZW0oZidnY2Mg LU8wIC1nIHtyZXR1cm45OV9zb3VyY2VfcGF0aH0gLW8ge3NlbGYucmV0dXJuOTlfYmluYXJ5X3Bh dGh9JykKLQotICAgICAgICBzZWxmLnNlZ2ZhdWx0X2JpbmFyeV9wYXRoID0gb3MucGF0aC5qb2lu KHNlbGYudGVzdHN0bXBkaXIsICdzZWdmYXVsdCcpCi0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4 aXN0cyhzZWxmLnNlZ2ZhdWx0X2JpbmFyeV9wYXRoKToKLSAgICAgICAgICAgIHNlZ2ZhdWx0X3Nv dXJjZV9wYXRoID0gc2VsZi5nZXRfZGF0YSgnc2VnZmF1bHQuYycpCi0gICAgICAgICAgICBpZiBz ZWdmYXVsdF9zb3VyY2VfcGF0aCBpcyBOb25lOgotICAgICAgICAgICAgICAgIHNlbGYuY2FuY2Vs KCdUZXN0IGlzIG1pc3NpbmcgZGF0YSBmaWxlICJzZWdmYXVsdC5jIicpCi0gICAgICAgICAgICBw cm9jZXNzLnN5c3RlbShmJ2djYyAtTzAgLWcge3NlZ2ZhdWx0X3NvdXJjZV9wYXRofSAtbyB7c2Vs Zi5zZWdmYXVsdF9iaW5hcnlfcGF0aH0nKQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBp c19wcm9jZXNzX2FsaXZlKHByb2Nlc3MpOiAgIyBweWxpbnQ6IGRpc2FibGU9VzA2MjEKLSAgICAg ICAgIiIiCi0gICAgICAgIENoZWNrcyBpZiBhIHByb2Nlc3MgaXMgc3RpbGwgYWxpdmUKLQotICAg ICAgICA6cGFyYW0gcHJvY2VzczogYSA6Y2xhc3M6YHN1YnByb2Nlc3MuUE9wZW5gIGluc3RhbmNl Ci0gICAgICAgIDp0eXBlIHByb2Nlc3M6IDpjbGFzczpgc3VicHJvY2Vzcy5QT3BlbmAKLSAgICAg ICAgOnJldHVybnM6IFRydWUgb3IgRmFsc2UKLSAgICAgICAgOnJ0eXBlOiBib29sCi0gICAgICAg ICIiIgotICAgICAgICByZXR1cm4gcHJvY2Vzcy5wb2xsKCkgaXMgTm9uZQotCi0gICAgZGVmIHRl c3Rfc3RhcnRfZXhpdChzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3RzIGV4ZWN1dGlv biBvZiBtdWx0aXBsZSBHREIgaW5zdGFuY2VzIHdpdGhvdXQgYW55IGJsb2NraW5nIG9yIHJhY2UK LSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYubG9nLmluZm8oIlRlc3RpbmcgZXhlY3V0aW9uIG9m IG11bHRpcGxlIEdEQiBpbnN0YW5jZXMiKQotICAgICAgICBwcm9jZXNzX2NvdW50ID0gMTAKLSAg ICAgICAgZ2RiX2luc3RhbmNlcyA9IFtdCi0gICAgICAgIGZvciBpIGluIHJhbmdlKDAsIHByb2Nl c3NfY291bnQpOgotICAgICAgICAgICAgZ2RiX2luc3RhbmNlcy5hcHBlbmQoZ2RiLkdEQigpKQot Ci0gICAgICAgIGZvciBpIGluIHJhbmdlKDAsIHByb2Nlc3NfY291bnQpOgotICAgICAgICAgICAg c2VsZi5hc3NlcnRFcXVhbChnZGJfaW5zdGFuY2VzW2ldLmV4aXQoKSwgMCkKLQotICAgIGRlZiB0 ZXN0X2V4aXN0aW5nX2NvbW1hbmRzX3JhdyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRl c3RzIHRoZSBHREIgcmVzcG9uc2UgdG8gY29tbWFuZHMgdGhhdCBleGlzdCBhbmQgdG8gdGhvc2Ug dGhhdCBkbyBub3QKLSAgICAgICAgIiIiCi0gICAgICAgIGcgPSBnZGIuR0RCKCkKLSAgICAgICAg c2VsZi5sb2cuaW5mbygiVGVzdGluZyBleGlzdGluZyAodmFsaWQpIEdEQiBjb21tYW5kcyB1c2lu ZyByYXcgY29tbWFuZHMiKQotICAgICAgICBmb3IgY21kIGluIHNlbGYuVkFMSURfQ01EUzoKLSAg ICAgICAgICAgIGluZm9fY21kID0gZiItaW5mby1nZGItbWktY29tbWFuZCB7Y21kWzE6XX0iCi0g ICAgICAgICAgICByID0gZy5jbWQoaW5mb19jbWQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVx dWFsKHIucmVzdWx0LnJlc3VsdC5jb21tYW5kLmV4aXN0cywgJ3RydWUnKQotCi0gICAgICAgIHNl bGYubG9nLmluZm8oIlRlc3Rpbmcgbm9uLWV4aXN0aW5nIChpbnZhbGlkKSBHREIgY29tbWFuZHMg dXNpbmcgcmF3ICIKLSAgICAgICAgICAgICAgICAgICAgICAiY29tbWFuZHMiKQotICAgICAgICBm b3IgY21kIGluIHNlbGYuSU5WQUxJRF9DTURTOgotICAgICAgICAgICAgaW5mb19jbWQgPSBmIi1p bmZvLWdkYi1taS1jb21tYW5kIHtjbWRbMTpdfSIKLSAgICAgICAgICAgIHIgPSBnLmNtZChpbmZv X2NtZCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5yZXN1bHQucmVzdWx0LmNvbW1h bmQuZXhpc3RzLCAnZmFsc2UnKQotCi0gICAgZGVmIHRlc3RfZXhpc3RpbmdfY29tbWFuZHMoc2Vs Zik6Ci0gICAgICAgIGcgPSBnZGIuR0RCKCkKLQotICAgICAgICBzZWxmLmxvZy5pbmZvKCJUZXN0 aW5nIGV4aXN0aW5nICh2YWxpZCkgR0RCIGNvbW1hbmRzIHVzaW5nIHV0aWxpdHkgIgotICAgICAg ICAgICAgICAgICAgICAgICJtZXRob2RzIikKLSAgICAgICAgZm9yIGNtZCBpbiBzZWxmLlZBTElE X0NNRFM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZy5jbWRfZXhpc3RzKGNtZCkpCi0g ICAgICAgICAgICBnLmNtZChjbWQpCi0KLSAgICAgICAgc2VsZi5sb2cuaW5mbygiVGVzdGluZyBu b24tZXhpc3RpbmcgKGludmFsaWQpIEdEQiBjb21tYW5kcyB1c2luZyAiCi0gICAgICAgICAgICAg ICAgICAgICAgInV0aWxpdHkgbWV0aG9kcyIpCi0gICAgICAgIGZvciBjbWQgaW4gc2VsZi5JTlZB TElEX0NNRFM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGcuY21kX2V4aXN0cyhjbWQp KQotCi0gICAgZGVmIHRlc3RfbG9hZF9zZXRfYnJlYWtwb2ludF9ydW5fZXhpdF9yYXcoc2VsZik6 Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0IGEgY29tbW9uIEdEQiBjeWNsZSB1c2luZyByYXcg Y29tbWFuZHM6IGxvYWQsIHNldCBicmVhaywgcnVuLCBleGl0Ci0gICAgICAgICIiIgotICAgICAg ICBzZWxmLmxvZy5pbmZvKCJUZXN0aW5nIHRoYXQgR0RCIGxvYWRzIGEgZmlsZSBhbmQgc2V0cyBh IGJyZWFrcG9pbnQiKQotICAgICAgICBnID0gZ2RiLkdEQigpCi0KLSAgICAgICAgZmlsZV9jbWQg PSBmIi1maWxlLWV4ZWMtYW5kLXN5bWJvbHMge3NlbGYucmV0dXJuOTlfYmluYXJ5X3BhdGh9Igot ICAgICAgICByID0gZy5jbWQoZmlsZV9jbWQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5y ZXN1bHQuY2xhc3NfLCAnZG9uZScpCi0KLSAgICAgICAgYnJlYWtfY21kID0gIi1icmVhay1pbnNl cnQgNSIKLSAgICAgICAgciA9IGcuY21kKGJyZWFrX2NtZCkKLSAgICAgICAgc2VsZi5hc3NlcnRF cXVhbChyLnJlc3VsdC5jbGFzc18sICdkb25lJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChy LnJlc3VsdC5yZXN1bHQuYmtwdC5udW1iZXIsICcxJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh bChyLnJlc3VsdC5yZXN1bHQuYmtwdC5lbmFibGVkLCAneScpCi0KLSAgICAgICAgYnJlYWtfZGVs X2NtZCA9ICItYnJlYWstZGVsZXRlIDEiCi0gICAgICAgIHIgPSBnLmNtZChicmVha19kZWxfY21k KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHIucmVzdWx0LmNsYXNzXywgJ2RvbmUnKQotCi0g ICAgICAgIHJ1bl9jbWQgPSAiLWV4ZWMtcnVuIgotICAgICAgICByID0gZy5jbWQocnVuX2NtZCkK LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyLnJlc3VsdC5jbGFzc18sICdydW5uaW5nJykKLQot ICAgICAgICBnLmNtZCgiLWdkYi1leGl0IikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnLnBy b2Nlc3Mud2FpdCgpLCAwKQotCi0gICAgZGVmIHRlc3RfbG9hZF9zZXRfYnJlYWtwb2ludF9ydW5f ZXhpdChzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgYSBjb21tb24gR0RCIGN5Y2xl OiBsb2FkLCBzZXQgYnJlYWssIGRlbGV0ZSBicmVhaywgcnVuLCBleGl0Ci0gICAgICAgICIiIgot ICAgICAgICBzZWxmLmxvZy5pbmZvKCJUZXN0aW5nIGEgY29tbW9uIEdEQiBjeWNsZSIpCi0gICAg ICAgIGcgPSBnZGIuR0RCKCkKLSAgICAgICAgZy5zZXRfZmlsZShzZWxmLnJldHVybjk5X2JpbmFy eV9wYXRoKQotICAgICAgICBnLnNldF9icmVhaygiNSIpCi0gICAgICAgIGcuZGVsX2JyZWFrKDEp Ci0gICAgICAgIGcucnVuKCkKLSAgICAgICAgZy5leGl0KCkKLQotICAgIGRlZiB0ZXN0X2dlbmVy YXRlX2NvcmUoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBMb2FkIGEgZmlsZSB0aGF0IHdp bGwgY2F1c2UgYSBzZWdmYXVsdCBhbmQgcHJvZHVjZSBhIGNvcmUgZHVtcAotICAgICAgICAiIiIK LSAgICAgICAgc2VsZi5sb2cuaW5mbygiVGVzdGluZyB0aGF0IGEgY29yZSBkdW1wIHdpbGwgYmUg Z2VuZXJhdGVkIikKLQotICAgICAgICBnID0gZ2RiLkdEQigpCi0gICAgICAgIGZpbGVfY21kID0g ZiItZmlsZS1leGVjLWFuZC1zeW1ib2xzIHtzZWxmLnNlZ2ZhdWx0X2JpbmFyeV9wYXRofSIKLSAg ICAgICAgciA9IGcuY21kKGZpbGVfY21kKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHIucmVz dWx0LmNsYXNzXywgJ2RvbmUnKQotCi0gICAgICAgIHJ1bl9jbWQgPSAiLWV4ZWMtcnVuIgotICAg ICAgICByID0gZy5jbWQocnVuX2NtZCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyLnJlc3Vs dC5jbGFzc18sICdydW5uaW5nJykKLQotICAgICAgICBvdGhlcl9tZXNzYWdlcyA9IGcucmVhZF91 bnRpbF9icmVhaygpCi0gICAgICAgIGNvcmVfcGF0aCA9IE5vbmUKLSAgICAgICAgZm9yIG1zZyBp biBvdGhlcl9tZXNzYWdlczoKLSAgICAgICAgICAgIHBhcnNlZF9tc2cgPSBnZGIucGFyc2VfbWko bXNnLmRlY29kZSgpKQotICAgICAgICAgICAgaWYgKGhhc2F0dHIocGFyc2VkX21zZywgJ2NsYXNz XycpIGFuZAotICAgICAgICAgICAgICAgIChwYXJzZWRfbXNnLmNsYXNzXyA9PSAnc3RvcHBlZCcp IGFuZAotICAgICAgICAgICAgICAgICAgICAocGFyc2VkX21zZy5yZXN1bHQuc2lnbmFsX25hbWUg PT0gJ1NJR1NFR1YnKSk6Ci0gICAgICAgICAgICAgICAgY29yZV9wYXRoID0gZiJ7c2VsZi5zZWdm YXVsdF9iaW5hcnlfcGF0aH0uY29yZSIKLSAgICAgICAgICAgICAgICBnY29yZV9jbWQgPSBmJ2dj b3JlIHtjb3JlX3BhdGh9JwotICAgICAgICAgICAgICAgIGdjb3JlX2NtZCA9IGdkYi5lbmNvZGVf bWlfY2xpKGdjb3JlX2NtZCkKLSAgICAgICAgICAgICAgICByID0gZy5jbWQoZ2NvcmVfY21kKQot ICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5yZXN1bHQuY2xhc3NfLCAnZG9uZScp Ci0KLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKGNvcmVfcGF0aCkpCi0g ICAgICAgIGcuZXhpdCgpCi0KLSAgICBkZWYgdGVzdF9zZXRfbXVsdGlwbGVfYnJlYWsoc2VsZik6 Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0cyB0aGF0IG11bHRpcGxlIGJyZWFrcG9pbnRzIGRv IG5vdCBpbnRlcmZlcmUgd2l0aCBlYWNoIG90aGVyCi0gICAgICAgICIiIgotICAgICAgICBzZWxm LmxvZy5pbmZvKCJUZXN0aW5nIHNldHRpbmcgbXVsdGlwbGUgYnJlYWtwb2ludHMiKQotICAgICAg ICBnID0gZ2RiLkdEQigpCi0gICAgICAgIGcuc2V0X2ZpbGUoc2VsZi5yZXR1cm45OV9iaW5hcnlf cGF0aCkKLSAgICAgICAgZy5zZXRfYnJlYWsoJ2VtcHR5JykKLSAgICAgICAgZy5zZXRfYnJlYWso JzcnKQotICAgICAgICBnLmV4aXQoKQotCi0gICAgZGVmIHRlc3RfZGlzY29ubmVjdF9yYXcoc2Vs Zik6Ci0gICAgICAgICIiIgotICAgICAgICBDb25uZWN0L2Rpc2Nvbm5lY3QgcmVwZWF0ZWRseSBm cm9tIGEgcmVtb3RlIGRlYnVnZ2VyIHVzaW5nIHJhdyBjb21tYW5kcwotICAgICAgICAiIiIKLSAg ICAgICAgc2VsZi5sb2cuaW5mbygiVGVzdGluZyBjb25uZWN0aW5nIGFuZCBkaXNjb25uZWN0aW5n IHJlcGVhdGVkbHkgdXNpbmcgIgotICAgICAgICAgICAgICAgICAgICAgICJyYXcgY29tbWFuZHMi KQotICAgICAgICBzID0gZ2RiLkdEQlNlcnZlcigpCi0gICAgICAgIGcgPSBnZGIuR0RCKCkKLQot ICAgICAgICAjIERvIDEwMCBjeWNsZSBvZiB0YXJnZXQgKGtpbmQgb2YgY29ubmVjdHMpIGFuZCBk aXNjb25uZWN0cwotICAgICAgICBmb3IgXyBpbiByYW5nZSgwLCAxMDApOgotICAgICAgICAgICAg Y21kID0gZictdGFyZ2V0LXNlbGVjdCBleHRlbmRlZC1yZW1vdGUgOntzLnBvcnR9JwotICAgICAg ICAgICAgciA9IGcuY21kKGNtZCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5yZXN1 bHQuY2xhc3NfLCAnY29ubmVjdGVkJykKLSAgICAgICAgICAgIHIgPSBnLmNtZCgnLXRhcmdldC1k aXNjb25uZWN0JykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5yZXN1bHQuY2xhc3Nf LCAnZG9uZScpCi0KLSAgICAgICAgIyBtYW51YWwgc2VydmVyIHNodXRkb3duCi0gICAgICAgIGNt ZCA9IGYnLXRhcmdldC1zZWxlY3QgZXh0ZW5kZWQtcmVtb3RlIDp7cy5wb3J0fScKLSAgICAgICAg ciA9IGcuY21kKGNtZCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyLnJlc3VsdC5jbGFzc18s ICdjb25uZWN0ZWQnKQotICAgICAgICByID0gZy5jbGlfY21kKCdtb25pdG9yIGV4aXQnKQotICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKHIucmVzdWx0LmNsYXNzXywgJ2RvbmUnKQotCi0gICAgICAg IGcuZXhpdCgpCi0gICAgICAgIHMuZXhpdCgpCi0KLSAgICBkZWYgdGVzdF9kaXNjb25uZWN0KHNl bGYpOgotICAgICAgICAiIiIKLSAgICAgICAgQ29ubmVjdC9kaXNjb25uZWN0IHJlcGVhdGVkbHkg ZnJvbSBhIHJlbW90ZSBkZWJ1Z2dlciB1c2luZyB1dGlsaXRpZXMKLSAgICAgICAgIiIiCi0gICAg ICAgIHNlbGYubG9nLmluZm8oIlRlc3RpbmcgY29ubmVjdGluZyBhbmQgZGlzY29ubmVjdGluZyBy ZXBlYXRlZGx5IikKLSAgICAgICAgcyA9IGdkYi5HREJTZXJ2ZXIoKQotICAgICAgICBnID0gZ2Ri LkdEQigpCi0KLSAgICAgICAgZm9yIF8gaW4gcmFuZ2UoMCwgMTAwKToKLSAgICAgICAgICAgIHIg PSBnLmNvbm5lY3Qocy5wb3J0KQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyLnJlc3Vs dC5jbGFzc18sICdjb25uZWN0ZWQnKQotICAgICAgICAgICAgciA9IGcuZGlzY29ubmVjdCgpCi0g ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHIucmVzdWx0LmNsYXNzXywgJ2RvbmUnKQotCi0g ICAgICAgIGcuZXhpdCgpCi0gICAgICAgIHMuZXhpdCgpCi0KLSAgICBkZWYgdGVzdF9yZW1vdGVf ZXhlYyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRlc3RzIGV4ZWN1dGlvbiBvbiBhIHJl bW90ZSB0YXJnZXQKLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYubG9nLmluZm8oIlRlc3Rpbmcg ZXhlY3V0aW9uIG9uIGEgcmVtb3RlIHRhcmdldCIpCi0gICAgICAgIGhpdF9icmVha3BvaW50ID0g RmFsc2UKLQotICAgICAgICBzID0gZ2RiLkdEQlNlcnZlcigpCi0gICAgICAgIGcgPSBnZGIuR0RC KCkKLQotICAgICAgICBjbWQgPSBmJy1maWxlLWV4ZWMtYW5kLXN5bWJvbHMge3NlbGYucmV0dXJu OTlfYmluYXJ5X3BhdGh9JwotICAgICAgICByID0gZy5jbWQoY21kKQotICAgICAgICBzZWxmLmFz c2VydEVxdWFsKHIucmVzdWx0LmNsYXNzXywgJ2RvbmUnKQotCi0gICAgICAgIGNtZCA9IGYnc2V0 IHJlbW90ZSBleGVjLWZpbGUge3NlbGYucmV0dXJuOTlfYmluYXJ5X3BhdGh9JwotICAgICAgICBy ID0gZy5jbWQoY21kKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHIucmVzdWx0LmNsYXNzXywg J2RvbmUnKQotCi0gICAgICAgIGNtZCA9IGYiLWJyZWFrLWluc2VydCB7J21haW4nfSIKLSAgICAg ICAgciA9IGcuY21kKGNtZCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyLnJlc3VsdC5jbGFz c18sICdkb25lJykKLQotICAgICAgICByID0gZy5jbWQoJy1leGVjLXJ1bicpCi0KLSAgICAgICAg b3RoZXJfbWVzc2FnZXMgPSBnLnJlYWRfdW50aWxfYnJlYWsoKQotICAgICAgICBmb3IgbXNnIGlu IG90aGVyX21lc3NhZ2VzOgotICAgICAgICAgICAgcGFyc2VkX21zZyA9IGdkYi5wYXJzZV9taSht c2cuZGVjb2RlKCkpCi0gICAgICAgICAgICBpZiAoaGFzYXR0cihwYXJzZWRfbXNnLCAnY2xhc3Nf JykgYW5kCi0gICAgICAgICAgICAgICAgcGFyc2VkX21zZy5jbGFzc18gPT0gJ3N0b3BwZWQnIGFu ZAotICAgICAgICAgICAgICAgICAgICBwYXJzZWRfbXNnLnJlc3VsdC5yZWFzb24gPT0gJ2JyZWFr cG9pbnQtaGl0Jyk6Ci0gICAgICAgICAgICAgICAgaGl0X2JyZWFrcG9pbnQgPSBUcnVlCi0KLSAg ICAgICAgc2VsZi5hc3NlcnRUcnVlKGhpdF9icmVha3BvaW50KQotICAgICAgICBnLmV4aXQoKQot ICAgICAgICBzLmV4aXQoKQotCi0gICAgZGVmIHRlc3Rfc3RyZWFtX21lc3NhZ2VzKHNlbGYpOgot ICAgICAgICAiIiIKLSAgICAgICAgVGVzdHMgaWYgdGhlIGV4cGVjdGVkIHJlc3BvbnNlIGFwcGVh cnMgaW4gdGhlIHJlc3VsdCBzdHJlYW0gbWVzc2FnZXMKLSAgICAgICAgIiIiCi0gICAgICAgIHNl bGYubG9nLmluZm8oIlRlc3RpbmcgdGhhdCBtZXNzYWdlcyBhcHBlYXJzIGluIHRoZSByZXN1bHQg c3RyZWFtIikKLSAgICAgICAgZyA9IGdkYi5HREIoKQotICAgICAgICByID0gZy5jbWQoIi1nZGIt dmVyc2lvbiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4oIkdOVSBHUEwgdmVyc2lvbiIsIHIuZ2V0 X3N0cmVhbV9tZXNzYWdlc190ZXh0KCkpCi0KLSAgICBkZWYgdGVzdF9jb25uZWN0X211bHRpcGxl X2NsaWVudHMoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUZXN0cyB0d28gb3IgbW9yZSBj b25uZWN0aW9ucyB0byB0aGUgc2FtZSBzZXJ2ZXIgcmFpc2UgYW4gZXhjZXB0aW9uCi0gICAgICAg ICIiIgotICAgICAgICBzZWxmLmxvZy5pbmZvKCJUZXN0aW5nIHRoYXQgbXVsdGlwbGUgY2xpZW50 cyBjYW5ub3QgY29ubmVjdCBhdCBvbmNlIikKLSAgICAgICAgcyA9IGdkYi5HREJTZXJ2ZXIoKQot ICAgICAgICBjMSA9IGdkYi5HREIoKQotICAgICAgICBjMS5jb25uZWN0KHMucG9ydCkKLSAgICAg ICAgYzIgPSBnZGIuR0RCKCkKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhnZGIuVW5l eHBlY3RlZFJlc3BvbnNlRXJyb3IpOgotICAgICAgICAgICAgYzIuY29ubmVjdChzLnBvcnQpCi0g ICAgICAgIHMuZXhpdCgpCi0KLSAgICBkZWYgdGVzdF9zZXJ2ZXJfZXhpdChzZWxmKToKLSAgICAg ICAgIiIiCi0gICAgICAgIFRlc3RzIHRoYXQgdGhlIHNlcnZlciBpcyBzaHV0ZG93biBieSB1c2lu ZyBhIG1vbml0b3IgZXhpdCBjb21tYW5kCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLmxvZy5p bmZvKCJUZXN0aW5nIHRoYXQgYSBzaW5nbGUgc2VydmVyIGV4aXRzIGNsZWFubHkiKQotICAgICAg ICBzID0gZ2RiLkdEQlNlcnZlcigpCi0gICAgICAgIHMuZXhpdCgpCi0gICAgICAgIHNlbGYuYXNz ZXJ0RmFsc2Uoc2VsZi5pc19wcm9jZXNzX2FsaXZlKHMucHJvY2VzcykpCi0KLSAgICBkZWYgdGVz dF9tdWx0aXBsZV9zZXJ2ZXJzKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdHMgbXVs dGlwbGUgc2VydmVyIGluc3RhbmNlcyB3aXRob3V0IGFueSBibG9ja2luZyBvciByYWNlIGNvbmRp dGlvbgotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5sb2cuaW5mbygiVGVzdGluZyBleGVjdXRp b24gb2YgbXVsdGlwbGUgR0RCIHNlcnZlciBpbnN0YW5jZXMiKQotICAgICAgICBwcm9jZXNzX2Nv dW50ID0gMTAKLSAgICAgICAgc2VydmVyX2luc3RhbmNlcyA9IFtdCi0gICAgICAgIGZvciBpIGlu IHJhbmdlKDAsIHByb2Nlc3NfY291bnQpOgotICAgICAgICAgICAgcyA9IGdkYi5HREJTZXJ2ZXIo KQotICAgICAgICAgICAgYyA9IGdkYi5HREIoKQotICAgICAgICAgICAgYy5jb25uZWN0KHMucG9y dCkKLSAgICAgICAgICAgIGMuY21kKCdzaG93LXZlcnNpb24nKQotICAgICAgICAgICAgYy5kaXNj b25uZWN0KCkKLSAgICAgICAgICAgIHNlcnZlcl9pbnN0YW5jZXMuYXBwZW5kKHMpCi0KLSAgICAg ICAgZm9yIGkgaW4gcmFuZ2UoMCwgcHJvY2Vzc19jb3VudCk6Ci0gICAgICAgICAgICBzZWxmLmFz c2VydFRydWUoc2VsZi5pc19wcm9jZXNzX2FsaXZlKHNlcnZlcl9pbnN0YW5jZXNbaV0ucHJvY2Vz cykpCi0gICAgICAgICAgICBzZXJ2ZXJfaW5zdGFuY2VzW2ldLmV4aXQoKQotICAgICAgICAgICAg c2VsZi5hc3NlcnRGYWxzZShzZWxmLmlzX3Byb2Nlc3NfYWxpdmUoc2VydmVyX2luc3RhbmNlc1tp XS5wcm9jZXNzKSkKLQotICAgIGRlZiB0ZXN0X3NlcnZlcl9zdGRlcnIoc2VsZik6Ci0gICAgICAg IHNlbGYubG9nLmluZm8oJ1Rlc3Rpbmcgc2VydmVyIHN0ZGVyciBjb2xsZWN0aW9uJykKLSAgICAg ICAgcyA9IGdkYi5HREJTZXJ2ZXIoKQotICAgICAgICBzLmV4aXQoKQotICAgICAgICBzZWxmLmFz c2VydFRydWUob3MucGF0aC5leGlzdHMocy5zdGRlcnJfcGF0aCkpCi0KLSAgICAgICAgc3RkZXJy X2xpbmVzID0gZ2VuaW8ucmVhZF9hbGxfbGluZXMocy5zdGRlcnJfcGF0aCkKLSAgICAgICAgbGlz dGVuaW5nX2xpbmUgPSBmIkxpc3RlbmluZyBvbiBwb3J0IHtzLnBvcnR9IgotICAgICAgICBzZWxm LmFzc2VydEluKGxpc3RlbmluZ19saW5lLCBzdGRlcnJfbGluZXMpCi0KLSAgICBkZWYgdGVzdF9z ZXJ2ZXJfc3Rkb3V0KHNlbGYpOgotICAgICAgICBzZWxmLmxvZy5pbmZvKCdUZXN0aW5nIHNlcnZl ciBzdGRvdXQvc3RkZXJyIGNvbGxlY3Rpb24nKQotICAgICAgICBzID0gZ2RiLkdEQlNlcnZlcigp Ci0gICAgICAgIGMgPSBnZGIuR0RCKCkKLSAgICAgICAgYy5jb25uZWN0KHMucG9ydCkKLSAgICAg ICAgYy5zZXRfZmlsZShzZWxmLnJldHVybjk5X2JpbmFyeV9wYXRoKQotICAgICAgICBjLnJ1bigp Ci0gICAgICAgIHMuZXhpdCgpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhp c3RzKHMuc3Rkb3V0X3BhdGgpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlz dHMocy5zdGRlcnJfcGF0aCkpCi0KLSAgICAgICAgc3Rkb3V0X2xpbmVzID0gZ2VuaW8ucmVhZF9h bGxfbGluZXMocy5zdGRvdXRfcGF0aCkKLSAgICAgICAgc2VsZi5hc3NlcnRJbigicmV0dXJuIDk5 Iiwgc3Rkb3V0X2xpbmVzKQotCi0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiB0ZXN0X3JlbW90 ZSgpOgotICAgICAgICAiIiIKLSAgICAgICAgVGVzdHMgR0RCUmVtb3RlIGludGVyYWN0aW9uIHdp dGggYSBHREJTZXJ2ZXIKLSAgICAgICAgIiIiCi0gICAgICAgIHMgPSBnZGIuR0RCU2VydmVyKCkK LSAgICAgICAgciA9IGdkYi5HREJSZW1vdGUoJzEyNy4wLjAuMScsIHMucG9ydCkKLSAgICAgICAg ci5jb25uZWN0KCkKLSAgICAgICAgci5jbWQoYiJxU3VwcG9ydGVkIikKLSAgICAgICAgci5jbWQo YiJxZlRocmVhZEluZm8iKQotICAgICAgICBzLmV4aXQoKQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2dk YnRlc3QucHkuZGF0YS9yZXR1cm45OS5jIGIvdGVzdHMvZ2RidGVzdC5weS5kYXRhL3JldHVybjk5 LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJmMTQ5MzUuLjAwMDAwMDAKLS0tIGEv dGVzdHMvZ2RidGVzdC5weS5kYXRhL3JldHVybjk5LmMKKysrIC9kZXYvbnVsbApAQCAtMSw0NyAr MCwwIEBACi0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLQotdm9pZCBl bXB0eSgpCi17Ci19Ci0KLXZvaWQgd3JpdGVfc3Rkb3V0KCkKLXsKLSAgZnByaW50ZihzdGRvdXQs ICJ0ZXN0aW5nIG91dHB1dCB0byBzdGRvdXRcbiIpOwotfQotCi12b2lkIHdyaXRlX3N0ZGVycigp Ci17Ci0gIGZwcmludGYoc3RkZXJyLCAidGVzdGluZyBvdXRwdXQgdG8gc3RkZXJyXG4iKTsKLX0K LQotaW50IGZvcmttZSgpCi17Ci0gIGludCBwaWQ7Ci0KLSAgcGlkID0gZm9yaygpOwotICBpZiAo cGlkICE9IDApCi0gICAgcGlkID0gZm9yaygpOwotICBpZiAocGlkICE9IDApCi0gICAgcGlkID0g Zm9yaygpOwotCi0gIHJldHVybiBwaWQ7Ci19Ci0KLWludCBtYWluKGludCBhcmdjLCBjaGFyICph cmd2W10pCi17Ci0gIGludCBleGl0X3N0YXR1cyA9IDk5OwotCi0gIGlmIChhcmdjID4gMSkKLSAg ICBleGl0X3N0YXR1cyA9IGF0b2koYXJndlsxXSk7Ci0KLSAgZW1wdHkoKTsKLSAgd3JpdGVfc3Rk b3V0KCk7Ci0gIHdyaXRlX3N0ZGVycigpOwotCi0gIGlmIChmb3JrbWUoKSkgewotICAgIGZwcmlu dGYoc3Rkb3V0LCAicmV0dXJuICVpXG4iLCBleGl0X3N0YXR1cyk7Ci0gIH0KLQotICByZXR1cm4g ZXhpdF9zdGF0dXM7Ci19CgpkaWZmIC0tZ2l0IGEvdGVzdHMvZ2RidGVzdC5weS5kYXRhL3NlZ2Zh dWx0LmMgYi90ZXN0cy9nZGJ0ZXN0LnB5LmRhdGEvc2VnZmF1bHQuYwpkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggYTY4NWY4Ni4uMDAwMDAwMAotLS0gYS90ZXN0cy9nZGJ0ZXN0LnB5LmRh dGEvc2VnZmF1bHQuYworKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotI2luY2x1ZGUgPHN0 ZGlvLmg+Ci0KLWludCBtYWluKCkKLXsKLSAgaW50ICpwID0gTlVMTDsKLSAgKnAgPSAweGRlYWQ7 Ci0KLSAgcmV0dXJuIDA7Ci19CgpkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdHMueW1sIGIvdGVzdHMv dGVzdHMueW1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZTRhMDMxLi4wMDAwMDAw Ci0tLSBhL3Rlc3RzL3Rlc3RzLnltbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLS0g aG9zdHM6IGxvY2FsaG9zdAotICByb2xlczoKLSAgLSByb2xlOiBzdGFuZGFyZC10ZXN0LWF2b2Nh ZG8KLSAgICB0ZXN0czoKLSAgICAtIGdkYnRlc3QucHk6R2RiVGVzdC50ZXN0X3N0YXJ0X2V4aXQK LSAgICAtIGdkYnRlc3QucHk6R2RiVGVzdC50ZXN0X2V4aXN0aW5nX2NvbW1hbmRzCi0gICAgLSBn ZGJ0ZXN0LnB5OkdkYlRlc3QudGVzdF9leGlzdGluZ19jb21tYW5kc19yYXcKLSAgICAtIGdkYnRl c3QucHk6R2RiVGVzdC50ZXN0X2xvYWRfc2V0X2JyZWFrcG9pbnRfcnVuX2V4aXRfcmF3Ci0gICAg LSBnZGJ0ZXN0LnB5OkdkYlRlc3QudGVzdF9sb2FkX3NldF9icmVha3BvaW50X3J1bl9leGl0Ci0g ICAgLSBnZGJ0ZXN0LnB5OkdkYlRlc3QudGVzdF9nZW5lcmF0ZV9jb3JlCi0gICAgLSBnZGJ0ZXN0 LnB5OkdkYlRlc3QudGVzdF9zZXRfbXVsdGlwbGVfYnJlYWsKLSAgICAtIGdkYnRlc3QucHk6R2Ri VGVzdC50ZXN0X2Rpc2Nvbm5lY3RfcmF3Ci0gICAgLSBnZGJ0ZXN0LnB5OkdkYlRlc3QudGVzdF9k aXNjb25uZWN0Ci0gICAgLSBnZGJ0ZXN0LnB5OkdkYlRlc3QudGVzdF9yZW1vdGVfZXhlYwotICAg IC0gZ2RidGVzdC5weTpHZGJUZXN0LnRlc3Rfc3RyZWFtX21lc3NhZ2VzCi0gICAgLSBnZGJ0ZXN0 LnB5OkdkYlRlc3QudGVzdF9jb25uZWN0X211bHRpcGxlX2NsaWVudHMKLSAgICAtIGdkYnRlc3Qu cHk6R2RiVGVzdC50ZXN0X3NlcnZlcl9leGl0Ci0gICAgLSBnZGJ0ZXN0LnB5OkdkYlRlc3QudGVz dF9zZXJ2ZXJfc3Rkb3V0Ci0gICAgLSBnZGJ0ZXN0LnB5OkdkYlRlc3QudGVzdF9zZXJ2ZXJfc3Rk ZXJyCi0gICAgLSBnZGJ0ZXN0LnB5OkdkYlRlc3QudGVzdF9tdWx0aXBsZV9zZXJ2ZXJzCi0gICAg LSBnZGJ0ZXN0LnB5OkdkYlRlc3QudGVzdF9pbnRlcmFjdGl2ZQotICAgIC0gZ2RidGVzdC5weTpH ZGJUZXN0LnRlc3RfaW50ZXJhY3RpdmVfYXJncwotICAgIC0gZ2RidGVzdC5weTpHZGJUZXN0LnRl c3RfZXhpdF9zdGF0dXMKLSAgICAtIGdkYnRlc3QucHk6R2RiVGVzdC50ZXN0X2ludGVyYWN0aXZl X3N0ZG91dAotICAgIC0gZ2RidGVzdC5weTpHZGJUZXN0LnRlc3RfcmVtb3RlCi0gICAgcmVxdWly ZWRfcGFja2FnZXM6Ci0gICAgLSBnY2MKLSAgICAtIGdkYgotICAgIC0gZ2RiLWdkYnNlcnZlcgo=