From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (qmail 22907 invoked from network); 28 Apr 2021 04:47:17 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 28 Apr 2021 04:47:17 -0000 Content-Type: multipart/mixed; boundary="===============6097912894326946364==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_budgie-desktop=3A_update_to_10=2E5=2E3?= To: ml@inbox.vuxu.org From: not-chicken Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 28 Apr 2021 06:47:17 +0200 List-Id: Message-ID: <20210428044717.USYh5u-qPV10OLOxg1WMrrQC8LNfMLBYdibJZzB7Dww@z> GitHub notification mails are now in MIME to allow UTF8. --===============6097912894326946364== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgbm90LWNoaWNrZW4gYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L25vdC1jaGlja2VuL3ZvaWQtcGFja2FnZXMgYnVkZ2llCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lk LWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zMDU1NAoKYnVkZ2llLWRlc2t0b3A6IHVwZGF0ZSB0 byAxMC41LjMKPCEtLSBNYXJrIGl0ZW1zIHdpdGggW3hdIHdoZXJlIGFwcGxpY2FibGUgLS0+DQpO b3cgYGJ1ZGdpZS1zY3JlZW5zYXZlcmAgaXMgYSByZXF1aXJlZCBkZXBlbmRlbmN5Lg0KIyMjIyBH ZW5lcmFsDQotIFsgXSBUaGlzIGlzIGEgbmV3IHBhY2thZ2UgYW5kIGl0IGNvbmZvcm1zIHRvIHRo ZSBbcXVhbGl0eSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKQ0K DQojIyMjIEhhdmUgdGhlIHJlc3VsdHMgb2YgdGhlIHByb3Bvc2VkIGNoYW5nZXMgYmVlbiB0ZXN0 ZWQ/DQotIFt4XSBJIHVzZSB0aGUgcGFja2FnZXMgYWZmZWN0ZWQgYnkgdGhlIHByb3Bvc2VkIGNo YW5nZXMgb24gYSByZWd1bGFyIGJhc2lzIGFuZCBjb25maXJtIHRoaXMgUFIgd29ya3MgZm9yIG1l DQotIFsgXSBJIGdlbmVyYWxseSBkb24ndCB1c2UgdGhlIGFmZmVjdGVkIHBhY2thZ2VzIGJ1dCBi cmllZmx5IHRlc3RlZCB0aGlzIFBSDQoNCjwhLS0NCklmIEdpdEh1YiBDSSBjYW5ub3QgYmUgdXNl ZCB0byB2YWxpZGF0ZSB0aGUgYnVpbGQgcmVzdWx0IChmb3IgZXhhbXBsZSwgaWYgdGhlDQpidWls ZCBpcyBsaWtlbHkgdG8gdGFrZSBzZXZlcmFsIGhvdXJzKSwgbWFrZSBzdXJlIHRvDQpbc2tpcCBD SV0oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rl ci9DT05UUklCVVRJTkcubWQjY29udGludW91cy1pbnRlZ3JhdGlvbikuDQpXaGVuIHNraXBwaW5n IENJLCB1bmNvbW1lbnQgYW5kIGZpbGwgb3V0IHRoZSBmb2xsb3dpbmcgc2VjdGlvbi4NCk5vdGU6 IGZvciBidWlsZHMgdGhhdCBhcmUgbGlrZWx5IHRvIGNvbXBsZXRlIGluIGxlc3MgdGhhbiAyIGhv dXJzLCBpdCBpcyBub3QNCmFjY2VwdGFibGUgdG8gc2tpcCBDSS4NCi0tPg0KPCEtLSANCiMjIyMg RG9lcyBpdCBidWlsZCBhbmQgcnVuIHN1Y2Nlc3NmdWxseT8gDQooUGxlYXNlIGNob29zZSBhdCBs ZWFzdCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBvbmUgY3Jv c3MgYnVpbGQuIE1vcmUgYXJlIGJldHRlci4pDQotIFsgXSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxs eSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gWyBdIEkgYnVpbHQg dGhpcyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChpZiBzdXBwb3J0ZWQuIG1h cmsgY3Jvc3NidWlsZHMpOg0KICAtIFsgXSBhYXJjaDY0LW11c2wNCiAgLSBbIF0gYXJtdjdsDQog IC0gWyBdIGFybXY2bC1tdXNsDQotLT4NCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRo dWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzMwNTU0LnBhdGNoIGlzIGF0dGFj aGVk --===============6097912894326946364== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-budgie-30554.patch" RnJvbSA2MGIwMmI3Zjg4N2JlMzhhZjdhYWE3ODEwOTI4MzE3ZTFjZjg4MTI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBMb3JlbSA8bm90bG9yZW1pcHN1bUBwcm90b25tYWlsLmNvbT4K RGF0ZTogV2VkLCAyOCBBcHIgMjAyMSAwODoyMjozOCArMDUzMApTdWJqZWN0OiBbUEFUQ0ggMS8y XSBOZXcgcGFja2FnZTogYnVkZ2llLXNjcmVlbnNhdmVyLTQuMAoKLS0tCiBzcmNwa2dzL2J1ZGdp ZS1zY3JlZW5zYXZlci90ZW1wbGF0ZSB8IDE0ICsrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgMTQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvYnVkZ2llLXNj cmVlbnNhdmVyL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9idWRnaWUtc2NyZWVuc2F2 ZXIvdGVtcGxhdGUgYi9zcmNwa2dzL2J1ZGdpZS1zY3JlZW5zYXZlci90ZW1wbGF0ZQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmUyYjBkNDRmM2I0ZQotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvYnVkZ2llLXNjcmVlbnNhdmVyL3RlbXBsYXRlCkBAIC0wLDAgKzEs MTQgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ2J1ZGdpZS1zY3JlZW5zYXZlcicKK3BrZ25hbWU9 YnVkZ2llLXNjcmVlbnNhdmVyCit2ZXJzaW9uPTQuMAorcmV2aXNpb249MQord3Jrc3JjPWJ1ZGdp ZS1zY3JlZW5zYXZlci12JHt2ZXJzaW9ufQorYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQoraG9z dG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGludGx0b29sIGdsaWIiCittYWtlZGVwZW5kcz0iZ25v bWUtZGVza3RvcC1kZXZlbCBkYnVzLWdsaWItZGV2ZWwgcGFtLWRldmVsIgorc2hvcnRfZGVzYz0i Rm9yayBvZiBHTk9NRSBTY3JlZW5zYXZlciBmb3IgQnVkZ2llIDEwIgorbWFpbnRhaW5lcj0iTG9y ZW0gPG5vdGxvcmVtaXBzdW1AcHJvdG9ubWFpbC5jb20+IgorbGljZW5zZT0iR1BMLTIuMC1vbmx5 IgoraG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9nZXRzb2x1cy9idWRnaWUtc2NyZWVuc2F2 ZXIiCitkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9nZXRzb2x1cy9idWRnaWUtc2NyZWVu c2F2ZXIvcmVsZWFzZXMvZG93bmxvYWQvdiR7dmVyc2lvbn0vYnVkZ2llLXNjcmVlbnNhdmVyLXYk e3ZlcnNpb259LnRhci54eiIKK2NoZWNrc3VtPWRkZTgzZjM1NWU1NDliNWY2MjkwNjU1ZjMzYWNk OTEwZDJmZWJiYjhmZDk3NGY5MjJiMTQ4MTQwNTRmODBmNDkKCkZyb20gMjE1YTZmZjQwZDI1NTJl ODY4YWYwZGU4Njk1OGI2YTUwNzNhYmE2MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog TG9yZW0gPG5vdGxvcmVtaXBzdW1AcHJvdG9ubWFpbC5jb20+CkRhdGU6IFdlZCwgMjggQXByIDIw MjEgMDk6Mjk6MjcgKzA1MzAKU3ViamVjdDogW1BBVENIIDIvMl0gYnVkZ2llLWRlc2t0b3A6IHVw ZGF0ZSB0byAxMC41LjMuCgogTm93IGRlcGVuZHMgb24gYnVkZ2llLXNjcmVlbnNhdmVyCi0tLQog Li4uL2ZpeC1idWRnaWUtZGVza3RvcC1zZXR0aW5ncy1jcmFzaC5wYXRjaCAgIHwgICAgNjUgLQog c3JjcGtncy9idWRnaWUtZGVza3RvcC9wYXRjaGVzL211dHRlci04LnBhdGNoIHwgMTI1OTMgLS0t LS0tLS0tLS0tLS0tLQogc3JjcGtncy9idWRnaWUtZGVza3RvcC90ZW1wbGF0ZSAgICAgICAgICAg ICAgIHwgICAgMTEgKy0KIDMgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxMjY2MyBk ZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2J1ZGdpZS1kZXNrdG9wL3Bh dGNoZXMvZml4LWJ1ZGdpZS1kZXNrdG9wLXNldHRpbmdzLWNyYXNoLnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9idWRnaWUtZGVza3RvcC9wYXRjaGVzL211dHRlci04LnBhdGNoCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9idWRnaWUtZGVza3RvcC9wYXRjaGVzL2ZpeC1idWRnaWUtZGVz a3RvcC1zZXR0aW5ncy1jcmFzaC5wYXRjaCBiL3NyY3BrZ3MvYnVkZ2llLWRlc2t0b3AvcGF0Y2hl cy9maXgtYnVkZ2llLWRlc2t0b3Atc2V0dGluZ3MtY3Jhc2gucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDg0ZmJjZTY2MTZlMC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv YnVkZ2llLWRlc2t0b3AvcGF0Y2hlcy9maXgtYnVkZ2llLWRlc2t0b3Atc2V0dGluZ3MtY3Jhc2gu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi1Gcm9tOiBKb3NodWEgU3Ryb2Js IDxqb3NodWFAc3RyZWFtYml0cy5pbz4KLURhdGU6IE1vbiwgMTIgQXByIDIwMjEgMDY6MTQ6MDQg KzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gU3VwcG9ydCBtb3ZlZCBmb250IGFudGktYWxpYXNpbmcg YW5kIGhpbnRpbmcgaW4gR1NEIDQwLiBGaXhlcwotICMyMTIxLgotCi0tLS0KLSBzcmMvcGFuZWwv bWVzb24uYnVpbGQgICAgICAgICAgICAgICAgICB8ICA0ICsrKysKLSBzcmMvcGFuZWwvc2V0dGlu Z3Mvc2V0dGluZ3NfZm9udHMudmFsYSB8IDExICsrKysrKysrKystCi0gMiBmaWxlcyBjaGFuZ2Vk LCAxNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgc3JjL3BhbmVs L21lc29uLmJ1aWxkIHNyYy9wYW5lbC9tZXNvbi5idWlsZAotaW5kZXggZWU2MTA4NjguLjU0NTFj Mjc4IDEwMDY0NAotLS0tIHNyYy9wYW5lbC9tZXNvbi5idWlsZAotKysrIHNyYy9wYW5lbC9tZXNv bi5idWlsZAotQEAgLTcyLDYgKzcyLDEwIEBAIGJ1ZGdpZV9wYW5lbF92YWxhX2FyZ3MgPSBbCi0g ICAgICAgICAnLS1ncmVzb3VyY2VzPScgKyBncmVzb3VyY2UsCi0gXQotIAotK2lmIGRlcF9nc2Qu dmVyc2lvbigpLnZlcnNpb25fY29tcGFyZSgnPj00MC4wJykKLSsgICAgYnVkZ2llX3BhbmVsX3Zh bGFfYXJncyArPSBbJy1EJywgJ0hBVkVfR1NEXzQwJ10KLStlbmRpZgotKwotIGJ1ZGdpZV9wYW5l bF9jX2FyZ3MgPSBbCi0gICAgICctRFdOQ0tfSV9LTk9XX1RISVNfSVNfVU5TVEFCTEUnCi0gXQot ZGlmZiAtLWdpdCBzcmMvcGFuZWwvc2V0dGluZ3Mvc2V0dGluZ3NfZm9udHMudmFsYSBzcmMvcGFu ZWwvc2V0dGluZ3Mvc2V0dGluZ3NfZm9udHMudmFsYQotaW5kZXggZmMxNzYyMmYuLmY3NTBiOTI2 IDEwMDY0NAotLS0tIHNyYy9wYW5lbC9zZXR0aW5ncy9zZXR0aW5nc19mb250cy52YWxhCi0rKysg c3JjL3BhbmVsL3NldHRpbmdzL3NldHRpbmdzX2ZvbnRzLnZhbGEKLUBAIC0yNCw3ICsyNCwxMCBA QCBuYW1lc3BhY2UgQnVkZ2llIHsKLSAKLSAJCXByaXZhdGUgU2V0dGluZ3MgdWlfc2V0dGluZ3M7 Ci0gCQlwcml2YXRlIFNldHRpbmdzIHdtX3NldHRpbmdzOwotKwotKyNpZiAhSEFWRV9HU0RfNDAK LSAJCXByaXZhdGUgU2V0dGluZ3MgeF9zZXR0aW5nczsKLSsjZW5kaWYKLSAKLSAJCXB1YmxpYyBG b250UGFnZSgpIHsKLSAJCQlPYmplY3QoZ3JvdXA6IFNFVFRJTkdTX0dST1VQX0FQUEVBUkFOQ0Us Ci1AQCAtMTM1LDE0ICsxMzgsMjAgQEAgbmFtZXNwYWNlIEJ1ZGdpZSB7Ci0gCQkJLyogSG9vayB1 cCBzZXR0aW5ncyAqLwotIAkJCXVpX3NldHRpbmdzID0gbmV3IFNldHRpbmdzKCJvcmcuZ25vbWUu ZGVza3RvcC5pbnRlcmZhY2UiKTsKLSAJCQl3bV9zZXR0aW5ncyA9IG5ldyBTZXR0aW5ncygib3Jn Lmdub21lLmRlc2t0b3Aud20ucHJlZmVyZW5jZXMiKTsKLS0JCQl4X3NldHRpbmdzID0gbmV3IFNl dHRpbmdzKCJvcmcuZ25vbWUuc2V0dGluZ3MtZGFlbW9uLnBsdWdpbnMueHNldHRpbmdzIik7Ci0g CQkJdWlfc2V0dGluZ3MuYmluZCgiZG9jdW1lbnQtZm9udC1uYW1lIiwgZm9udGJ1dHRvbl9kb2N1 bWVudCwgImZvbnQtbmFtZSIsIFNldHRpbmdzQmluZEZsYWdzLkRFRkFVTFQpOwotIAkJCXVpX3Nl dHRpbmdzLmJpbmQoImZvbnQtbmFtZSIsIGZvbnRidXR0b25faW50ZXJmYWNlLCAiZm9udC1uYW1l IiwgU2V0dGluZ3NCaW5kRmxhZ3MuREVGQVVMVCk7Ci0gCQkJdWlfc2V0dGluZ3MuYmluZCgibW9u b3NwYWNlLWZvbnQtbmFtZSIsIGZvbnRidXR0b25fbW9ub3NwYWNlLCAiZm9udC1uYW1lIiwgU2V0 dGluZ3NCaW5kRmxhZ3MuREVGQVVMVCk7Ci0gCQkJd21fc2V0dGluZ3MuYmluZCgidGl0bGViYXIt Zm9udCIsIGZvbnRidXR0b25fdGl0bGUsICJmb250LW5hbWUiLCBTZXR0aW5nc0JpbmRGbGFncy5E RUZBVUxUKTsKLSAJCQl1aV9zZXR0aW5ncy5iaW5kKCJ0ZXh0LXNjYWxpbmctZmFjdG9yIiwgc3Bp bmJ1dHRvbl9zY2FsaW5nLCAidmFsdWUiLCBTZXR0aW5nc0JpbmRGbGFncy5ERUZBVUxUKTsKLSsK LSsjaWYgSEFWRV9HU0RfNDAKLSsJCQl1aV9zZXR0aW5ncy5iaW5kKCJmb250LWFudGlhbGlhc2lu ZyIsIGNvbWJvYm94X2FudGlhbGlhcywgImFjdGl2ZS1pZCIsIFNldHRpbmdzQmluZEZsYWdzLkRF RkFVTFQpOwotKwkJCXVpX3NldHRpbmdzLmJpbmQoImZvbnQtaGludGluZyIsIGNvbWJvYm94X2hp bnRpbmcsICJhY3RpdmUtaWQiLCBTZXR0aW5nc0JpbmRGbGFncy5ERUZBVUxUKTsKLSsjZWxzZQot KwkJCXhfc2V0dGluZ3MgPSBuZXcgU2V0dGluZ3MoIm9yZy5nbm9tZS5zZXR0aW5ncy1kYWVtb24u cGx1Z2lucy54c2V0dGluZ3MiKTsKLSAJCQl4X3NldHRpbmdzLmJpbmQoImhpbnRpbmciLCBjb21i b2JveF9oaW50aW5nLCAiYWN0aXZlLWlkIiwgU2V0dGluZ3NCaW5kRmxhZ3MuREVGQVVMVCk7Ci0g CQkJeF9zZXR0aW5ncy5iaW5kKCJhbnRpYWxpYXNpbmciLCBjb21ib2JveF9hbnRpYWxpYXMsICJh Y3RpdmUtaWQiLCBTZXR0aW5nc0JpbmRGbGFncy5ERUZBVUxUKTsKLSsjZW5kaWYKLSAJCX0KLSAJ fQotIH0KLS0tIAotMi4zMS4xCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYnVkZ2llLWRlc2t0b3Av cGF0Y2hlcy9tdXR0ZXItOC5wYXRjaCBiL3NyY3BrZ3MvYnVkZ2llLWRlc2t0b3AvcGF0Y2hlcy9t dXR0ZXItOC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQxNzU0ZDkwNjdi Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9idWRnaWUtZGVza3RvcC9wYXRjaGVzL211dHRl ci04LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTI1OTMgKzAsMCBAQAotRnJvbSAwMzgzYjVl ZjY3OWQ2YWQ0NTU1YzY5YmZhOGEwODdlMmY2MWI4Njc5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogRGF2aWQgTW9oYW1tZWQgPGZvc3NmcmVlZG9tQHVzZXJzLm5vcmVwbHkuZ2l0aHVi LmNvbT4KLURhdGU6IFdlZCwgMyBNYXIgMjAyMSAxNTo1NTowMyArMDAwMAotU3ViamVjdDogW1BB VENIXSBDb21waWxlIHdpdGggbXV0dGVyLTggKEdOT01FIDQwIGJldGEpICgjMjA5NCkKLQotKiBD b21waWxlIHdpdGggbXV0dGVyLTggKEdOT01FIDQwIGFscGhhKQotCi0qIEZpeCB2YXBpZ2VuIHdh cm5pbmdzIGZvciA2LDcgJiA4IGFscGhhCi0KLSogQWRkIGdldF9zZXR0aW5ncyB0byBjdXN0b20g dmFwaQotCi0qIEJ5cGFzcyBzaGltIGNvbXBpbGF0aW9uIGZhaWx1cmUKLU5vdGUgdGhlIEZpeE1l IC0gdGhpcyBuZWVkcyByZXNvbHZpbmcgb3RoZXJ3aXNlIGtleWJvYXJkIHNob3J0Y3V0cwotYW5k IGNoYW5naW5nIGtleWJvYXJkIHNob3J0Y3V0cyB3aWxsIG5vdCB3b3JrCi0KLSogUmVzb2x2ZSBz aGltIEZJWE1FCi0KLSogUmVnZW5lcmF0ZSB2YXBpIHdpdGggbXV0dGVyLjQwLWJldGEKLS0tLQot IHNyYy93bS9tZXNvbi5idWlsZCAgICAgICAgICAgICAgICB8ICAgMjQgKy0KLSBzcmMvd20vc2hp bS52YWxhICAgICAgICAgICAgICAgICAgfCAgICA0ICsKLSB2YXBpL0NsdXR0ZXItNy5tZXRhZGF0 YSAgICAgICAgICAgfCAgIDYyICstCi0gdmFwaS9DbHV0dGVyLTgubWV0YWRhdGEgICAgICAgICAg IHwgIDE4NyArCi0gdmFwaS9NZXRhLTcubWV0YWRhdGEgICAgICAgICAgICAgIHwgICAgOCArCi0g dmFwaS9NZXRhLTgubWV0YWRhdGEgICAgICAgICAgICAgIHwgICA4NSArCi0gdmFwaS9nZW5lcmF0 ZS1tdXR0ZXItdmFwaS5zaCAgICAgIHwgICAgMiArLQotIHZhcGkvbGlibXV0dGVyLTctY3VzdG9t LnZhbGEgICAgICB8ICAgIDcgKwotIHZhcGkvbGlibXV0dGVyLTcudmFwaSAgICAgICAgICAgICB8 ICAgMzAgKy0KLSB2YXBpL2xpYm11dHRlci04LWN1c3RvbS52YWxhICAgICAgfCAgIDE0ICsKLSB2 YXBpL2xpYm11dHRlci04LmRlcHMgICAgICAgICAgICAgfCAgICA2ICsKLSB2YXBpL2xpYm11dHRl ci04LnZhcGkgICAgICAgICAgICAgfCAxNTM1ICsrKysrKwotIHZhcGkvbXV0dGVyLWNsdXR0ZXIt Ny1jdXN0b20udmFsYSB8ICAgNDIgKwotIHZhcGkvbXV0dGVyLWNsdXR0ZXItNy5kZXBzICAgICAg ICB8ICAgIDEgKwotIHZhcGkvbXV0dGVyLWNsdXR0ZXItNy52YXBpICAgICAgICB8ICAzMjIgKy0K LSB2YXBpL211dHRlci1jbHV0dGVyLTgtY3VzdG9tLnZhbGEgfCAgIDQyICsKLSB2YXBpL211dHRl ci1jbHV0dGVyLTguZGVwcyAgICAgICAgfCAgICA1ICsKLSB2YXBpL211dHRlci1jbHV0dGVyLTgu dmFwaSAgICAgICAgfCA4Mjc5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gdmFwaS9t dXR0ZXItY29nbC03LnZhcGkgICAgICAgICAgIHwgICAgNiArCi0gdmFwaS9tdXR0ZXItY29nbC04 LWN1c3RvbS52YWxhICAgIHwgIDExOSArCi0gdmFwaS9tdXR0ZXItY29nbC04LmRlcHMgICAgICAg ICAgIHwgICAgMSArCi0gdmFwaS9tdXR0ZXItY29nbC04LnZhcGkgICAgICAgICAgIHwgMTA5MSAr KysrCi0gMjIgZmlsZXMgY2hhbmdlZCwgMTE2OTEgaW5zZXJ0aW9ucygrKSwgMTgxIGRlbGV0aW9u cygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB2YXBpL0NsdXR0ZXItOC5tZXRhZGF0YQotIGNyZWF0 ZSBtb2RlIDEwMDY0NCB2YXBpL01ldGEtOC5tZXRhZGF0YQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB2 YXBpL2xpYm11dHRlci04LWN1c3RvbS52YWxhCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHZhcGkvbGli bXV0dGVyLTguZGVwcwotIGNyZWF0ZSBtb2RlIDEwMDY0NCB2YXBpL2xpYm11dHRlci04LnZhcGkK LSBjcmVhdGUgbW9kZSAxMDA2NDQgdmFwaS9tdXR0ZXItY2x1dHRlci03LWN1c3RvbS52YWxhCi0g Y3JlYXRlIG1vZGUgMTAwNjQ0IHZhcGkvbXV0dGVyLWNsdXR0ZXItOC1jdXN0b20udmFsYQotIGNy ZWF0ZSBtb2RlIDEwMDY0NCB2YXBpL211dHRlci1jbHV0dGVyLTguZGVwcwotIGNyZWF0ZSBtb2Rl IDEwMDY0NCB2YXBpL211dHRlci1jbHV0dGVyLTgudmFwaQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB2 YXBpL211dHRlci1jb2dsLTgtY3VzdG9tLnZhbGEKLSBjcmVhdGUgbW9kZSAxMDA2NDQgdmFwaS9t dXR0ZXItY29nbC04LmRlcHMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgdmFwaS9tdXR0ZXItY29nbC04 LnZhcGkKLQotZGlmZiAtLWdpdCBzcmMvd20vbWVzb24uYnVpbGQgc3JjL3dtL21lc29uLmJ1aWxk Ci1pbmRleCA1ODNjZTc5MC4uMTdlNmJjMDcgMTAwNjQ0Ci0tLS0gc3JjL3dtL21lc29uLmJ1aWxk Ci0rKysgc3JjL3dtL21lc29uLmJ1aWxkCi1AQCAtMTgsMTcgKzE4LDI1IEBAIGJ1ZGdpZV93bV9z b3VyY2VzID0gWwotIGJ1ZGdpZV93bV9zdGF0dXNfdmFsYV9hcmdzID0gW10KLSAKLSBkZXBfZ3Jh cGhlbmUgPSBkZXBlbmRlbmN5KCdncmFwaGVuZS1nb2JqZWN0LTEuMCcsIHZlcnNpb246ICc+PSAx LjEwJykKLS1kZXBfbXV0dGVyID0gZGVwZW5kZW5jeSgnbGlibXV0dGVyLTcnLCB2ZXJzaW9uOiBn bm9tZV9taW5pbXVtX3ZlcnNpb24sIHJlcXVpcmVkOiBmYWxzZSkKLStkZXBfbXV0dGVyID0gZGVw ZW5kZW5jeSgnbGlibXV0dGVyLTgnLCB2ZXJzaW9uOiBnbm9tZV9taW5pbXVtX3ZlcnNpb24sIHJl cXVpcmVkOiBmYWxzZSkKLSBpZiBkZXBfbXV0dGVyLmZvdW5kKCkKLS0gICAgYnVkZ2llX3dtX3N0 YXR1c192YWxhX2FyZ3MgKz0gWyctRCcsICdIQVZFX01VVFRFUl83J10KLS0gICAgbWVzc2FnZSgn VXNpbmcgbmV3IGxpYm11dHRlci03IEFCSSBmcm9tIEdOT01FIDMuMzgnKQotLSAgICB2YXBpX211 dHRlciA9ICdsaWJtdXR0ZXItNycKLSsgICAgIyBBc3N1bWUgbXV0dGVyLTcgY29tcGlsYXRpb24g YXJndW1lbnQgc2luY2Ugbm8gYWRkaXRpb25hbCBjb2RlIGNoYW5nZXMgcmVxdWlyZWQKLSsgICAg YnVkZ2llX3dtX3N0YXR1c192YWxhX2FyZ3MgKz0gWyctRCcsICdIQVZFX01VVFRFUl84J10KLSsg ICAgbWVzc2FnZSgnVXNpbmcgbmV3IGxpYm11dHRlci04IEFCSSBmcm9tIEdOT01FIDQwJykKLSsg ICAgdmFwaV9tdXR0ZXIgPSAnbGlibXV0dGVyLTgnCi0gZWxzZQotLSAgICBkZXBfbXV0dGVyID0g ZGVwZW5kZW5jeSgnbGlibXV0dGVyLTYnLCB2ZXJzaW9uOiBnbm9tZV9taW5pbXVtX3ZlcnNpb24p Ci0tICAgIGJ1ZGdpZV93bV9zdGF0dXNfdmFsYV9hcmdzICs9IFsnLUQnLCAnSEFWRV9NVVRURVJf NiddCi0rICAgIGRlcF9tdXR0ZXIgPSBkZXBlbmRlbmN5KCdsaWJtdXR0ZXItNycsIHZlcnNpb246 IGdub21lX21pbmltdW1fdmVyc2lvbiwgcmVxdWlyZWQ6IGZhbHNlKQotICAgICBpZiBkZXBfbXV0 dGVyLmZvdW5kKCkKLS0gICAgICAgIG1lc3NhZ2UoJ1VzaW5nIG5ldyBsaWJtdXR0ZXItNiBBQkkg ZnJvbSBHTk9NRSAzLjM2JykKLS0gICAgICAgIHZhcGlfbXV0dGVyID0gJ2xpYm11dHRlci02Jwot KyAgICAgICAgYnVkZ2llX3dtX3N0YXR1c192YWxhX2FyZ3MgKz0gWyctRCcsICdIQVZFX01VVFRF Ul83J10KLSsgICAgICAgIG1lc3NhZ2UoJ1VzaW5nIG5ldyBsaWJtdXR0ZXItNyBBQkkgZnJvbSBH Tk9NRSAzLjM4JykKLSsgICAgICAgIHZhcGlfbXV0dGVyID0gJ2xpYm11dHRlci03JwotKyAgICBl bHNlCi0rICAgICAgICBkZXBfbXV0dGVyID0gZGVwZW5kZW5jeSgnbGlibXV0dGVyLTYnLCB2ZXJz aW9uOiBnbm9tZV9taW5pbXVtX3ZlcnNpb24pCi0rICAgICAgICBidWRnaWVfd21fc3RhdHVzX3Zh bGFfYXJncyArPSBbJy1EJywgJ0hBVkVfTVVUVEVSXzYnXQotKyAgICAgICAgaWYgZGVwX211dHRl ci5mb3VuZCgpCi0rICAgICAgICAgICAgbWVzc2FnZSgnVXNpbmcgbmV3IGxpYm11dHRlci02IEFC SSBmcm9tIEdOT01FIDMuMzYnKQotKyAgICAgICAgICAgIHZhcGlfbXV0dGVyID0gJ2xpYm11dHRl ci02JwotKyAgICAgICAgZW5kaWYKLSAgICAgZW5kaWYKLSBlbmRpZgotIAotZGlmZiAtLWdpdCBz cmMvd20vc2hpbS52YWxhIHNyYy93bS9zaGltLnZhbGEKLWluZGV4IDRiYTE3YThlLi41YTk4NWFh MSAxMDA2NDQKLS0tLSBzcmMvd20vc2hpbS52YWxhCi0rKysgc3JjL3dtL3NoaW0udmFsYQotQEAg LTE3Nyw3ICsxNzcsMTEgQEAgbmFtZXNwYWNlIEJ1ZGdpZSB7Ci0gCQkJZm9yZWFjaCAoc3RyaW5n IGFjY2VsZXJhdG9yIGluIGdyYWJzLmdldF9rZXlzKCkpIHsKLSAJCQkJaWYgKGdyYWJzW2FjY2Vs ZXJhdG9yXSA9PSBhY3Rpb24pIHsKLSAJCQkJCXZhciBwYXJhbXMgPSBuZXcgSGFzaFRhYmxlPHN0 cmluZyxWYXJpYW50PihudWxsLCBudWxsKTsKLSsjaWYgSEFWRV9NVVRURVJfOAotKwkJCQkJcGFy YW1zLnNldCgiZGV2aWNlLW5hbWUiLCBuZXcgVmFyaWFudC5zdHJpbmcoZGV2LmdldF9kZXZpY2Vf bmFtZSgpKSk7Ci0rI2Vsc2UKLSAJCQkJCXBhcmFtcy5zZXQoImRldmljZS1pZCIsIG5ldyBWYXJp YW50LnVpbnQzMihkZXYuaWQpKTsKLSsjZW5kaWYKLSAJCQkJCXBhcmFtcy5zZXQoImFjdGlvbi1t b2RlIiwgbmV3IFZhcmlhbnQudWludDMyKGFjdGlvbikpOwotIAkJCQkJcGFyYW1zLnNldCgiZGV2 aWNlLW1vZGUiLCBuZXcgVmFyaWFudC5zdHJpbmcoZGV2LmdldF9kZXZpY2Vfbm9kZSgpKSk7Ci0g CQkJCQlwYXJhbXMuc2V0KCJ0aW1lc3RhbXAiLCBuZXcgVmFyaWFudC51aW50MzIodGltZXN0YW1w KSk7Ci1kaWZmIC0tZ2l0IHZhcGkvQ2x1dHRlci03Lm1ldGFkYXRhIHZhcGkvQ2x1dHRlci03Lm1l dGFkYXRhCi1pbmRleCAxODU1Mjc0ZC4uZjdiMWQ2OGIgMTAwNjQ0Ci0tLS0gdmFwaS9DbHV0dGVy LTcubWV0YWRhdGEKLSsrKyB2YXBpL0NsdXR0ZXItNy5tZXRhZGF0YQotQEAgLTIsNiArMiw4IEBA Ci0gQWN0b3JCb3ggc3RydWN0Ci0gQ29sb3Igc3RydWN0Ci0gS25vdCBzdHJ1Y3QKLStNYXJnaW4g c3RydWN0Ci0rUGFpbnRWb2x1bWUgc3RydWN0Ci0gUGF0aE5vZGUgc3RydWN0Ci0gUGVyc3BlY3Rp dmUgc3RydWN0Ci0gVW5pdHMgc3RydWN0Ci1AQCAtMzUsMTEgKzM3LDEzIEBAIHZhbHVlX2dldF9j b2xvciBudWxsYWJsZQotIC8vIG1ldGhvZC92aXJ0dWFsLW1ldGhvZC9zaWduYWwgZG9uJ3QgbWF0 Y2gKLSBBY3RvcgotIAkuZXZlbnQjbWV0aG9kIG5hbWU9ImVtaXRfZXZlbnQiCi0tCS5nZXRfcGFp bnRfdm9sdW1lI21ldGhvZCBza2lwCi0rCS5nZXRfcGFpbnRfdm9sdW1lI3ZpcnR1YWxfbWV0aG9k IG5hbWU9ImdldF9wYWludF92b2x1bWVfdmZ1bmMiCi0rCS5nZXRfcGFpbnRfdm9sdW1lI3ZpcnR1 YWxfbWV0aG9kLnZvbHVtZSBvdXQKLSAJLnF1ZXVlX3JlZHJhdyNzaWduYWwgc2tpcAotIAkucXVl dWVfcmVkcmF3I3ZpcnR1YWxfbWV0aG9kIHNraXAKLSBDb250YWluZXIKLSAJLmFkZF9hY3RvciBz a2lwPWZhbHNlCi0rCS5jbGFzc18qIHNraXAKLSBUZXh0Ci0gCS5hY3RpdmF0ZSNtZXRob2QgbmFt ZT0idHJ5X2FjdGl2YXRlIgotIAkuaW5zZXJ0X3RleHQjc2lnbmFsIHNraXAKLUBAIC01OCw2ICs2 MiwxMiBAQCBDb250YWluZXIKLSBTdGFnZS5yZWFkX3BpeGVscwotIAkud2lkdGggZGVmYXVsdD0t MQotIAkuaGVpZ2h0IGRlZmF1bHQ9LTEKLStTdGFnZS5nZXRfY2FwdHVyZV9maW5hbF9zaXplCi0r CS53aWR0aCBvdXQKLSsJLmhlaWdodCBvdXQKLSsJLnNjYWxlIG91dAotK1N0YWdlLnBhaW50X3Rv X2J1ZmZlcgotKyAgICAuZGF0YSB0eXBlPSJ1aW50OFtdIgotIFRleHQKLSAJLnBvc2l0aW9uX3Rv X2Nvb3Jkcy5saW5lX2hlaWdodCBkZWZhdWx0PW51bGwKLSAKLUBAIC03MCwxMSArODAsOCBAQCBM YXlvdXRNYW5hZ2VyCi0gCS5jcmVhdGVfY2hpbGRfbWV0YSBza2lwPWZhbHNlCi0gCi0gLy8gVmFy aWFkaWMgYXJndW1lbnRzCi0tQm94Ci0tCS5wYWNrIHNraXA9ZmFsc2UKLS0JLnBhY2tfYWZ0ZXIg c2tpcD1mYWxzZQotLQkucGFja19hdCBza2lwPWZhbHNlCi0tCS5wYWNrX2JlZm9yZSBza2lwPWZh bHNlCi0rQmFja2VuZAotKwkuZ2V0X2NvZ2xfY29udGV4dCBza2lwPWZhbHNlCi0gQ29udGFpbmVy Ci0gCS5jaGlsZF9nZXQgc2tpcD1mYWxzZQotIAkuY2hpbGRfc2V0IHNraXA9ZmFsc2UKLUBAIC05 MSwxMCArOTgsNiBAQCBMYXlvdXRNYW5hZ2VyCi0gU2NyaXB0Ci0gCS5nZXRfb2JqZWN0cyBza2lw PWZhbHNlCi0gCi0tLy8gQ2hhbmdpbmcgZXJyb3IgZG9tYWlucwotLVRleHR1cmUKLS0JLm5ld19m cm9tX2ZpbGUgdGhyb3dzPSJDbHV0dGVyLlRleHR1cmVFcnJvciIKLS0KLSAvLyBTa2lwcGVkIHVw c3RyZWFtIGZvciB1bmtub3duIHJlYXNvbnMKLSBJbnRlcnZhbC5yZWdpc3Rlcl9wcm9ncmVzc19m dW5jIHNraXA9ZmFsc2UKLSBnZXRfb3B0aW9uX2dyb3VwIHNraXA9ZmFsc2UKLUBAIC0xMTEsNDUg KzExNCw0NiBAQCBBY3RvckJveAotIFVuaXRzLmZyb21fKiBza2lwCi0gQ29sb3IKLSAJLm5ldyBz a2lwCi0rTWFyZ2luCi0rCS5uZXcgc2tpcAotIAotIC8vIENsYXNzIG1ldGhvZHMKLSBjb250YWlu ZXJfY2xhc3NfZmluZF9jaGlsZF9wcm9wZXJ0eSBza2lwCi0gY29udGFpbmVyX2NsYXNzX2xpc3Rf Y2hpbGRfcHJvcGVydGllcyBza2lwCi0gCi0gLy8gTW92ZSBzeW1ib2xzCi0rY29sb3JfZnJvbV8q IHNraXAKLSB1bml0c19mcm9tXyogc2tpcAotIAotLS8vIENsYXNzZXMgbWFya2VkIGFzIG91dCBi dXQgbm90IGRvdWJsZSBwdHIKLS1BY3RvcgotLQkuZ2V0X21hcmdpbi5tYXJnaW4gb3V0PWZhbHNl Ci0tRHJhZ0FjdGlvbgotLQkuZ2V0X2RyYWdfYXJlYS5kcmFnX2FyZWEgb3V0PWZhbHNlCi0tSW5w dXREZXZpY2UKLS0JLmdldF9jb29yZHMucG9pbnQgb3V0PWZhbHNlCi0tUmVjdAotLQkuZ2V0X2Nl bnRlci5jZW50ZXIgb3V0PWZhbHNlCi0tCS5pbnRlcnNlY3Rpb24ucmVzIG91dD1mYWxzZQotLQku dW5pb24ucmVzIG91dD1mYWxzZQotLVRpbWVsaW5lCi0tCS5nZXRfY3ViaWNfYmV6aWVyX3Byb2dy ZXNzLmNfKiBvdXQ9ZmFsc2UKLS1ab29tQWN0aW9uCi0tCS5nZXRfZm9jYWxfcG9pbnQucG9pbnQg b3V0PWZhbHNlCi0tCS5nZXRfdHJhbnNmb3JtZWRfZm9jYWxfcG9pbnQucG9pbnQgb3V0PWZhbHNl Ci0tCi0gLy8gU3RydWN0IHJldHVybiB2YWx1ZXMKLSBjb2xvcl9nZXRfc3RhdGljIG51bGxhYmxl Ci0gCi0rLy8gVXBzdHJlYW0KLStFdmVudAotKwkuZ2V0X3Bvc2l0aW9uLnBvc2l0aW9uIG91dAot KwotK0ZyYW1lTGlzdGVuZXJJZmFjZSBza2lwCi0rRnJhbWVDbG9jay5uZXcgc2tpcAotKwotIC8v IFJlbW92ZSBmb3IgY2x1dHRlci0yLjAKLSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0gCi0r U3RhZ2VWaWV3LmxheW91dCBza2lwCi0rCi0gU3RhZ2UKLSAgCS5ldmVudCBuYW1lPSJlbWl0X2V2 ZW50IgotKwkucGFpbnRfdmlldy5yZWRyYXdfY2xpcCB0eXBlPSJDYWlyby5SZWdpb24iCi0rCi0r Q2FwdHVyZQotKyAgLmltYWdlIHR5cGU9IkNhaXJvLkltYWdlU3VyZmFjZSIKLSAKLSAvLyAqRXZl bnQgc2hvdWxkIGJlIGNvbXBhY3QgY2xhc3NlcyBkZXJpdmVkIGZyb20gQ2x1dHRlci5FdmVudAot IEV2ZW50LnR5cGUgc2tpcD1mYWxzZQotIEFueUV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9 IkNsdXR0ZXIuRXZlbnQiCi0gQnV0dG9uRXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1 dHRlci5FdmVudCIKLSBDcm9zc2luZ0V2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0 ZXIuRXZlbnQiCi0rRGV2aWNlRXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5F dmVudCIKLStJTUV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0g S2V5RXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLSBNb3Rpb25F dmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50IgotIFNjcm9sbEV2ZW50 IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi1AQCAtMTU3LDYgKzE2MSwx MCBAQCBTdGFnZVN0YXRlRXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVu dCIKLSBUb3VjaEV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0g VG91Y2hwYWRQaW5jaEV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQi Ci0gVG91Y2hwYWRTd2lwZUV2ZW50IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZl bnQiCi0rUHJveGltaXR5RXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVu dCIKLStQYWRCdXR0b25FdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50 IgotK1BhZFJpbmdFdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50Igot K1BhZFN0cmlwRXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLSAK LSAvLyBLZXlzeW1zIHVzZWQgdG8gYmUgQ0xVVFRFUl9YIGluc3RlYWQgb2YgQ0xVVFRFUl9LRVlf WAotICojY29uc3RhbnQgc2tpcAotZGlmZiAtLWdpdCB2YXBpL0NsdXR0ZXItOC5tZXRhZGF0YSB2 YXBpL0NsdXR0ZXItOC5tZXRhZGF0YQotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAw MDAwLi5mYTEyMTBmMQotLS0tIC9kZXYvbnVsbAotKysrIHZhcGkvQ2x1dHRlci04Lm1ldGFkYXRh Ci1AQCAtMCwwICsxLDE4NyBAQAotKy8vIE5vbiBtaW5pLW9iamVjdAotK0FjdG9yQm94IHN0cnVj dAotK0NvbG9yIHN0cnVjdAotK0tub3Qgc3RydWN0Ci0rTWFyZ2luIHN0cnVjdAotK1BhaW50Vm9s dW1lIHN0cnVjdAotK1BhdGhOb2RlIHN0cnVjdAotK1BlcnNwZWN0aXZlIHN0cnVjdAotK1VuaXRz IHN0cnVjdAotKwotKyoucmVmIHVub3duZWQKLSsKLStpbml0LmFyZ3YgdW5vd25lZAotK2luaXRf d2l0aF9hcmdzCi0rCS5hcmd2IHVub3duZWQKLStBY3RvcgotKwkuYXBwbHlfdHJhbnNmb3JtLm1h dHJpeCByZWYKLSsJLmdldF9hYnNfYWxsb2NhdGlvbl92ZXJ0aWNlcy52ZXJ0cyBvdXQ9ZmFsc2UK LStDYW52YXMKLSsJLm5ldyBzeW1ib2xfdHlwZT0iY29uc3RydWN0b3IiCi0rRXZlbnQudHlwZSNt ZXRob2QgbmFtZT0iZ2V0X3R5cGUiCi0rSW1hZ2UKLSsJLm5ldyBzeW1ib2xfdHlwZT0iY29uc3Ry dWN0b3IiCi0rCi0rLy8gPz8/Ci0rQWN0b3IuaGFzX3BvaW50ZXIjbWV0aG9kIG5hbWU9ImdldF9o YXNfcG9pbnRlciIKLStJbml0RXJyb3IgZXJyb3Jkb21haW49ZmFsc2UKLSsKLSsvLyBOb3QgYWxs IGJhY2tpbmcgc3ltYm9scyBhcmUgZGVwcmVjYXRlZAotK0FjdG9yLnBpY2sgZGVwcmVjYXRlZD1m YWxzZQotKwotKy8vIE51bGxhYmxlIHJldHVybiB2YWx1ZXMKLStBY3RvcgotKwkuZ2V0X3BhcmVu dCBudWxsYWJsZQotK3ZhbHVlX2dldF9jb2xvciBudWxsYWJsZQotKwotKy8vIG1ldGhvZC92aXJ0 dWFsLW1ldGhvZC9zaWduYWwgZG9uJ3QgbWF0Y2gKLStBY3RvcgotKwkuZXZlbnQjbWV0aG9kIG5h bWU9ImVtaXRfZXZlbnQiCi0rCS5nZXRfcGFpbnRfdm9sdW1lI3ZpcnR1YWxfbWV0aG9kIG5hbWU9 ImdldF9wYWludF92b2x1bWVfdmZ1bmMiCi0rCS5nZXRfcGFpbnRfdm9sdW1lI3ZpcnR1YWxfbWV0 aG9kLnZvbHVtZSBvdXQKLStDb250YWluZXIKLSsJLmFkZF9hY3RvciBza2lwPWZhbHNlCi0rCS5j bGFzc18qIHNraXAKLStUZXh0Ci0rCS5hY3RpdmF0ZSNtZXRob2QgbmFtZT0idHJ5X2FjdGl2YXRl IgotKwkuaW5zZXJ0X3RleHQjc2lnbmFsIHNraXAKLStUZXh0QnVmZmVyLmdldF90ZXh0I3ZpcnR1 YWxfbWV0aG9kIG5hbWU9ImdldF90ZXh0X3dpdGhfbGVuZ3RoIgotKwotKy8vIHZpcnR1YWwvYWJz dHJhY3QgZGlzdGluY3Rpb24KLStDb250YWluZXIKLSsJLmxvd2VyIHZpcnR1YWwKLSsJLnJhaXNl IHZpcnR1YWwKLSsJLipfY2hpbGRfbWV0YSN2aXJ0dWFsX21ldGhvZCB2aXJ0dWFsCi0rCi0rLy8g RGVmYXVsdCB2YWx1ZXMKLStDb250YWluZXIKLSsJLmxvd2VyLnNpYmxpbmcgbnVsbGFibGUgZGVm YXVsdD1udWxsCi0rCS5yYWlzZS5zaWJsaW5nIG51bGxhYmxlIGRlZmF1bHQ9bnVsbAotK1N0YWdl LnJlYWRfcGl4ZWxzCi0rCS53aWR0aCBkZWZhdWx0PS0xCi0rCS5oZWlnaHQgZGVmYXVsdD0tMQot K1N0YWdlLnBhaW50X3RvX2J1ZmZlcgotKyAgICAuZGF0YSB0eXBlPSJ1aW50OFtdIgotK1RleHQK LSsJLnBvc2l0aW9uX3RvX2Nvb3Jkcy5saW5lX2hlaWdodCBkZWZhdWx0PW51bGwKLSsKLSsvLyBS ZXBhcmVudGVkIGZ1bmNzIG1ldGhvZHMgY2FuJ3QgYmUgaW5zdGFuY2UgbWV0aG9kcwotK2ZlYXR1 cmVfYXZhaWxhYmxlIHNraXAKLStmZWF0dXJlX2dldF9hbGwgc2tpcAotKwotKy8vIFNraXBwZWQg YnkgZy1pIGZvciB1bmtub3duIHJlYXNvbnMKLStMYXlvdXRNYW5hZ2VyCi0rCS5jcmVhdGVfY2hp bGRfbWV0YSBza2lwPWZhbHNlCi0rCi0rLy8gVmFyaWFkaWMgYXJndW1lbnRzCi0rQmFja2VuZAot KwkuZ2V0X2NvZ2xfY29udGV4dCBza2lwPWZhbHNlCi0rQ29udGFpbmVyCi0rCS5jaGlsZF9nZXQg c2tpcD1mYWxzZQotKwkuY2hpbGRfc2V0IHNraXA9ZmFsc2UKLSsJLnJlbW92ZSBza2lwPWZhbHNl Ci0rSW50ZXJ2YWwKLSsJLm5ldyBza2lwPWZhbHNlCi0rCS5nZXRfaW50ZXJ2YWwgc2tpcD1mYWxz ZQotKwkuc2V0X2ZpbmFsIHNraXA9ZmFsc2UKLSsJLnNldF9pbml0aWFsIHNraXA9ZmFsc2UKLSsJ LnNldF9pbnRlcnZhbCBza2lwPWZhbHNlCi0rTGF5b3V0TWFuYWdlcgotKwkuY2hpbGRfZ2V0IHNr aXA9ZmFsc2UKLSsJLmNoaWxkX3NldCBza2lwPWZhbHNlCi0rU2NyaXB0Ci0rCS5nZXRfb2JqZWN0 cyBza2lwPWZhbHNlCi0rCi0rLy8gU2tpcHBlZCB1cHN0cmVhbSBmb3IgdW5rbm93biByZWFzb25z Ci0rSW50ZXJ2YWwucmVnaXN0ZXJfcHJvZ3Jlc3NfZnVuYyBza2lwPWZhbHNlCi0rZ2V0X29wdGlv bl9ncm91cCBza2lwPWZhbHNlCi0rZ2V0X29wdGlvbl9ncm91cF93aXRob3V0X2luaXQgc2tpcD1m YWxzZQotK3RocmVhZHNfYWRkX2lkbGUgc2tpcD1mYWxzZQotK3RocmVhZHNfYWRkX2lkbGVfZnVs bCBza2lwPWZhbHNlCi0rdGhyZWFkc19hZGRfdGltZW91dCBza2lwPWZhbHNlCi0rdGhyZWFkc19h ZGRfdGltZW91dF9mdWxsIHNraXA9ZmFsc2UKLSsKLSsvLyBzdHJ1Y3QvY2xhc3MgY29uZnVzaW9u Ci0rQWN0b3JCb3gKLSsJLm5ldyBza2lwCi0rCS5mcm9tX3ZlcnRpY2VzIHNraXAKLStVbml0cy5m cm9tXyogc2tpcAotK0NvbG9yCi0rCS5uZXcgc2tpcAotK01hcmdpbgotKwkubmV3IHNraXAKLSsK LSsvLyBDbGFzcyBtZXRob2RzCi0rY29udGFpbmVyX2NsYXNzX2ZpbmRfY2hpbGRfcHJvcGVydHkg c2tpcAotK2NvbnRhaW5lcl9jbGFzc19saXN0X2NoaWxkX3Byb3BlcnRpZXMgc2tpcAotKwotKy8v IE1vdmUgc3ltYm9scwotK2NvbG9yX2Zyb21fKiBza2lwCi0rdW5pdHNfZnJvbV8qIHNraXAKLSsK LSsvLyBTdHJ1Y3QgcmV0dXJuIHZhbHVlcwotK2NvbG9yX2dldF9zdGF0aWMgbnVsbGFibGUKLSsK LSsvLyBVcHN0cmVhbQotK0V2ZW50Ci0rCS5nZXRfcG9zaXRpb24ucG9zaXRpb24gb3V0Ci0rCi0r RnJhbWVMaXN0ZW5lcklmYWNlIHNraXAKLStGcmFtZUNsb2NrLm5ldyBza2lwCi0rCi0rLy8gUmVt b3ZlIGZvciBjbHV0dGVyLTIuMAotKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLSsKLStTdGFn ZVZpZXcubGF5b3V0IHNraXAKLSsKLStTdGFnZQotKyAJLmV2ZW50IG5hbWU9ImVtaXRfZXZlbnQi Ci0rCS5wYWludF92aWV3LnJlZHJhd19jbGlwIHR5cGU9IkNhaXJvLlJlZ2lvbiIKLSsKLStDYXB0 dXJlCi0rICAuaW1hZ2UgdHlwZT0iQ2Fpcm8uSW1hZ2VTdXJmYWNlIgotKwotKy8vICpFdmVudCBz aG91bGQgYmUgY29tcGFjdCBjbGFzc2VzIGRlcml2ZWQgZnJvbSBDbHV0dGVyLkV2ZW50Ci0rRXZl bnQudHlwZSBza2lwPWZhbHNlCi0rQW55RXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1 dHRlci5FdmVudCIKLStCdXR0b25FdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVy LkV2ZW50IgotK0Nyb3NzaW5nRXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5F dmVudCIKLStEZXZpY2VFdmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50 IgotK0lNRXZlbnQgc3RydWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLStLZXlF dmVudCBzdHJ1Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50IgotK01vdGlvbkV2ZW50 IHN0cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0rU2Nyb2xsRXZlbnQgc3Ry dWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLStUb3VjaEV2ZW50IHN0cnVjdD1m YWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0rVG91Y2hwYWRQaW5jaEV2ZW50IHN0cnVj dD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0rVG91Y2hwYWRTd2lwZUV2ZW50IHN0 cnVjdD1mYWxzZSBiYXNlX3R5cGU9IkNsdXR0ZXIuRXZlbnQiCi0rUHJveGltaXR5RXZlbnQgc3Ry dWN0PWZhbHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLStQYWRCdXR0b25FdmVudCBzdHJ1 Y3Q9ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50IgotK1BhZFJpbmdFdmVudCBzdHJ1Y3Q9 ZmFsc2UgYmFzZV90eXBlPSJDbHV0dGVyLkV2ZW50IgotK1BhZFN0cmlwRXZlbnQgc3RydWN0PWZh bHNlIGJhc2VfdHlwZT0iQ2x1dHRlci5FdmVudCIKLSsKLSsvLyBLZXlzeW1zIHVzZWQgdG8gYmUg Q0xVVFRFUl9YIGluc3RlYWQgb2YgQ0xVVFRFUl9LRVlfWAotKyojY29uc3RhbnQgc2tpcAotK0NP R0wgc2tpcD1mYWxzZQotK0NVUlJFTlRfVElNRSBza2lwPWZhbHNlCi0rRkxBVk9VUiBza2lwPWZh bHNlCi0rUEFUSF9SRUxBVElWRSBza2lwPWZhbHNlCi0rUFJJT1JJVFlfUkVEUkFXIHNraXA9ZmFs c2UKLSsKLSsvLyBDbHV0dGVyIGRldnMgZG9uJ3QgbGlrZSB1cyBjcmVhdGluZyBuZXN0ZWQgbmFt ZXNwYWNlcwotK3ZhbHVlXyogbmFtZT0idmFsdWVfKC4rKSIgcGFyZW50PSJDbHV0dGVyLlZhbHVl IgotK3RocmVhZHNfKiBuYW1lPSJ0aHJlYWRzXyguKykiIHBhcmVudD0iQ2x1dHRlci5UaHJlYWRz IgotK3RocmVhZHNfYWRkX2lkbGUgbmFtZT0iYWRkIiBwYXJlbnQ9IkNsdXR0ZXIuVGhyZWFkcy5J ZGxlIgotK3RocmVhZHNfYWRkX2lkbGVfZnVsbCBuYW1lPSJhZGRfZnVsbCIgcGFyZW50PSJDbHV0 dGVyLlRocmVhZHMuSWRsZSIKLSt0aHJlYWRzX2FkZF90aW1lb3V0IG5hbWU9ImFkZCIgcGFyZW50 PSJDbHV0dGVyLlRocmVhZHMuVGltZW91dCIKLSt0aHJlYWRzX2FkZF90aW1lb3V0X2Z1bGwgbmFt ZT0iYWRkX2Z1bGwiIHBhcmVudD0iQ2x1dHRlci5UaHJlYWRzLlRpbWVvdXQiCi0rCi0rLy8gQmFj a3dhcmRzIGNvbXBhdGliaWxpdHkKLStDb2xvci5hbGxvYyBzeW1ib2xfdHlwZT0iZnVuY3Rpb24i Ci0rCi0rQmluQWxpZ25tZW50IGRlcHJlY2F0ZWQ9ZmFsc2UgZGVwcmVjYXRlZF9zaW5jZT1udWxs Ci0rQmluQWxpZ25tZW50LiogZGVwcmVjYXRlZAotK0JpbkFsaWdubWVudC5zdGFydCBkZXByZWNh dGVkPWZhbHNlCi0rQmluTGF5b3V0Lm5ldy4qX2FsaWduIGRlZmF1bHQ9Q2x1dHRlci5CaW5BbGln bm1lbnQuU1RBUlQKLSsKLSsvLyBQb3NzaWJseSBrZWVwCi0rS0VZXyogc2tpcD1mYWxzZSBuYW1l PSJLRVlfKC4rKSIgdHlwZT0idWludCIgcGFyZW50PSJDbHV0dGVyLktleSIKLWRpZmYgLS1naXQg dmFwaS9NZXRhLTcubWV0YWRhdGEgdmFwaS9NZXRhLTcubWV0YWRhdGEKLWluZGV4IDcyNjI5ZmJh Li5hYmFiZjVkOSAxMDA2NDQKLS0tLSB2YXBpL01ldGEtNy5tZXRhZGF0YQotKysrIHZhcGkvTWV0 YS03Lm1ldGFkYXRhCi1AQCAtOSw2ICs5LDEwIEBAIEJhcnJpZXIgY2hlYWRlcl9maWxlbmFtZT0i bWV0YS9iYXJyaWVyLmgiCi0gQmFycmllckV2ZW50IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvYmFy cmllci5oIgotIENsb3NlRGlhbG9nIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1jbG9zZS1k aWFsb2cuaCIKLSBDdXJzb3JUcmFja2VyIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1jdXJz b3ItdHJhY2tlci5oIgotK0N1cnNvclRyYWNrZXIuZ2V0X2Zvcl9kaXNwbGF5IHBhcmVudD0iTWV0 YS5EaXNwbGF5IiBzeW1ib2xfdHlwZT0ibWV0aG9kIiBpbnN0YW5jZV9pZHg9MCBuYW1lPSJnZXRf Y3Vyc29yX3RyYWNrZXIiCi0rQ3Vyc29yVHJhY2tlci5nZXRfcG9pbnRlci54IG91dAotK0N1cnNv clRyYWNrZXIuZ2V0X3BvaW50ZXIueSBvdXQKLStDdXJzb3JUcmFja2VyLmdldF9wb2ludGVyLm1v ZHMgb3V0Ci0gRGlzcGxheSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL2Rpc3BsYXkuaCIKLSBEbmQg Y2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLWRuZC5oIgotIElkbGVNb25pdG9yIGNoZWFkZXJf ZmlsZW5hbWU9Im1ldGEvbWV0YS1pZGxlLW1vbml0b3IuaCIKLUBAIC0yMCw2ICsyNCwxMCBAQCBQ cmVmZXJlbmNlIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvcHJlZnMuaCIKLSBSZW1vdGVBY2Nlc3ND b250cm9sbGVyIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1yZW1vdGUtYWNjZXNzLWNvbnRy b2xsZXIuaCIKLSBSZW1vdGVBY2Nlc3NIYW5kbGUgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRh LXJlbW90ZS1hY2Nlc3MtY29udHJvbGxlci5oIgotIFNldHRpbmdzIGNoZWFkZXJfZmlsZW5hbWU9 Im1ldGEvbWV0YS1zZXR0aW5ncy5oIgotK1NlbGVjdGlvbiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRh L21ldGEtc2VsZWN0aW9uLmgiCi0rU2VsZWN0aW9uU291cmNlIGNoZWFkZXJfZmlsZW5hbWU9Im1l dGEvbWV0YS1zZWxlY3Rpb24uaCIKLStTZWxlY3Rpb25Tb3VyY2VNZW1vcnkgY2hlYWRlcl9maWxl bmFtZT0ibWV0YS9tZXRhLXNlbGVjdGlvbi1zb3VyY2UtbWVtb3J5LmgiCi0rU2VsZWN0aW9uVHlw ZSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtc2VsZWN0aW9uLXNvdXJjZS5oIgotIFNoYWRv d0ZhY3RvcnkgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXNoYWRvdy1mYWN0b3J5LmgiCi0g U2hhcGVkVGV4dHVyZSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtc2hhcGVkLXRleHR1cmUu aCIKLSBTb3VuZFBsYXllciBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtc291bmQtcGxheWVy LmgiCi1kaWZmIC0tZ2l0IHZhcGkvTWV0YS04Lm1ldGFkYXRhIHZhcGkvTWV0YS04Lm1ldGFkYXRh Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAuLjBlMDAxMTdmCi0tLS0gL2Rl di9udWxsCi0rKysgdmFwaS9NZXRhLTgubWV0YWRhdGEKLUBAIC0wLDAgKzEsODUgQEAKLStCYWNr ZW5kIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1iYWNrZW5kLmgiCi0rQmFja2dyb3VuZCBj aGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtYmFja2dyb3VuZC5oIgotK0JhY2tncm91bmRBY3Rv ciBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtYmFja2dyb3VuZC1hY3Rvci5oIgotK0JhY2tn cm91bmRDb250ZW50IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1iYWNrZ3JvdW5kLWNvbnRl bnQuaCIKLStCYWNrZ3JvdW5kR3JvdXAgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLWJhY2tn cm91bmQtZ3JvdXAuaCIKLStCYWNrZ3JvdW5kSW1hZ2UgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9t ZXRhLWJhY2tncm91bmQtaW1hZ2UuaCIKLStCYWNrZ3JvdW5kSW1hZ2VDYWNoZSBjaGVhZGVyX2Zp bGVuYW1lPSJtZXRhL21ldGEtYmFja2dyb3VuZC1pbWFnZS5oIgotK0JhcnJpZXIgY2hlYWRlcl9m aWxlbmFtZT0ibWV0YS9iYXJyaWVyLmgiCi0rQmFycmllckV2ZW50IGNoZWFkZXJfZmlsZW5hbWU9 Im1ldGEvYmFycmllci5oIgotK0Nsb3NlRGlhbG9nIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0 YS1jbG9zZS1kaWFsb2cuaCIKLStDdXJzb3JUcmFja2VyIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEv bWV0YS1jdXJzb3ItdHJhY2tlci5oIgotK0N1cnNvclRyYWNrZXIuZ2V0X2Zvcl9kaXNwbGF5IHBh cmVudD0iTWV0YS5EaXNwbGF5IiBzeW1ib2xfdHlwZT0ibWV0aG9kIiBpbnN0YW5jZV9pZHg9MCBu YW1lPSJnZXRfY3Vyc29yX3RyYWNrZXIiCi0rQ3Vyc29yVHJhY2tlci5nZXRfcG9pbnRlci5tb2Rz IG91dAotK0Rpc3BsYXkgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9kaXNwbGF5LmgiCi0rRG5kIGNo ZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1kbmQuaCIKLStJZGxlTW9uaXRvciBjaGVhZGVyX2Zp bGVuYW1lPSJtZXRhL21ldGEtaWRsZS1tb25pdG9yLmgiCi0rSW5oaWJpdFNob3J0Y3V0c0RpYWxv ZyBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtaW5oaWJpdC1zaG9ydGN1dHMtZGlhbG9nLmgi Ci0rTGF1bmNoQ29udGV4dCBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtbGF1bmNoLWNvbnRl eHQuaCIKLStNZXRhIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWFpbi5oIgotK01vbml0b3JNYW5h Z2VyIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1tb25pdG9yLW1hbmFnZXIuaCIKLStQcmVm ZXJlbmNlIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvcHJlZnMuaCIKLStSZW1vdGVBY2Nlc3NDb250 cm9sbGVyIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS1yZW1vdGUtYWNjZXNzLWNvbnRyb2xs ZXIuaCIKLStSZW1vdGVBY2Nlc3NIYW5kbGUgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXJl bW90ZS1hY2Nlc3MtY29udHJvbGxlci5oIgotK1NldHRpbmdzIGNoZWFkZXJfZmlsZW5hbWU9Im1l dGEvbWV0YS1zZXR0aW5ncy5oIgotK1NlbGVjdGlvbiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21l dGEtc2VsZWN0aW9uLmgiCi0rU2VsZWN0aW9uU291cmNlIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEv bWV0YS1zZWxlY3Rpb24uaCIKLStTZWxlY3Rpb25Tb3VyY2VNZW1vcnkgY2hlYWRlcl9maWxlbmFt ZT0ibWV0YS9tZXRhLXNlbGVjdGlvbi1zb3VyY2UtbWVtb3J5LmgiCi0rU2VsZWN0aW9uVHlwZSBj aGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtc2VsZWN0aW9uLXNvdXJjZS5oIgotK1NoYWRvd0Zh Y3RvcnkgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXNoYWRvdy1mYWN0b3J5LmgiCi0rU2hh cGVkVGV4dHVyZSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtc2hhcGVkLXRleHR1cmUuaCIK LStTb3VuZFBsYXllciBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtc291bmQtcGxheWVyLmgi Ci0rU3RhZ2UgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXN0YWdlLmgiCi0rU3RhcnR1cE5v dGlmaWNhdGlvbiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtc3RhcnR1cC1ub3RpZmljYXRp b24uaCIKLStUaGVtZSBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3RoZW1lLmgiCi0rV2F5bGFuZENs aWVudCBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtd2F5bGFuZC1jbGllbnQuaCIKLStXaW5k b3cgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS93aW5kb3cuaCIKLStXaW5kb3dBY3RvciBjaGVhZGVy X2ZpbGVuYW1lPSJtZXRhL21ldGEtd2luZG93LWFjdG9yLmgiCi0rV2luZG93R3JvdXAgY2hlYWRl cl9maWxlbmFtZT0ibWV0YS9tZXRhLXdpbmRvdy1ncm91cC5oIgotK1dpbmRvd1NoYXBlIGNoZWFk ZXJfZmlsZW5hbWU9Im1ldGEvbWV0YS13aW5kb3ctc2hhcGUuaCIKLStXb3Jrc3BhY2UgY2hlYWRl cl9maWxlbmFtZT0ibWV0YS93b3Jrc3BhY2UuaCIKLStXb3Jrc3BhY2VNYW5hZ2VyIGNoZWFkZXJf ZmlsZW5hbWU9Im1ldGEvbWV0YS13b3Jrc3BhY2UtbWFuYWdlci5oIgotK1gxMURpc3BsYXkgY2hl YWRlcl9maWxlbmFtZT0ibWV0YS9tZXRhLXgxMS1kaXNwbGF5LmgiCi0rUmVjdGFuZ2xlIHN0cnVj dAotK1BsdWdpbiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtcGx1Z2luLmgiCi0rUGx1Z2lu SW5mbyBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL21ldGEtcGx1Z2luLmgiCi0rcHJlZnNfKiBjaGVh ZGVyX2ZpbGVuYW1lPSJtZXRhL3ByZWZzLmgiIHBhcmVudD0iTWV0YS5QcmVmcyIKLSthZGRfdmVy Ym9zZV90b3BpYyBwYXJlbnQ9Ik1ldGEuVXRpbCIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS91dGls LmgiCi0reDExX2Vycm9yX3RyYXBfcG9wIHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVu YW1lPSJtZXRhL3V0aWwuaCIKLSt4MTFfZXJyb3JfdHJhcF9wdXNoIHBhcmVudD0iTWV0YS5VdGls IiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIKLSt4MTFfZXJyb3JfdHJhcF9wb3Bfd2l0 aF9yZXR1cm4gcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvdXRpbC5o IgotK2V4dGVybmFsX2JpbmRpbmdfbmFtZV9mb3JfYWN0aW9uIHBhcmVudD0iTWV0YS5VdGlsIiBj aGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIKLStnZXRfbG9jYWxlX2RpcmVjdGlvbiBwYXJl bnQ9Ik1ldGEuVXRpbCIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS91dGlsLmgiCi0rZ3Jhdml0eV90 b19zdHJpbmcgcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvdXRpbC5o IgotK2lzX3N5bmNpbmcgcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEv dXRpbC5oIgotK2lzX3ZlcmJvc2UgcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9 Im1ldGEvdXRpbC5oIgotK2lzX3dheWxhbmRfY29tcG9zaXRvciBwYXJlbnQ9Ik1ldGEuVXRpbCIg Y2hlYWRlcl9maWxlbmFtZT0ibWV0YS91dGlsLmgiCi0rbGF0ZXJfYWRkIHBhcmVudD0iTWV0YS5V dGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIKLStsYXRlcl9yZW1vdmUgcGFyZW50 PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvdXRpbC5oIgotK3BvcF9ub19tc2df cHJlZml4IHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIK LStwdXNoX25vX21zZ19wcmVmaXggcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9 Im1ldGEvdXRpbC5oIgotK3JlY3QgcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9 Im1ldGEvdXRpbC5oIgotK3JlbW92ZV92ZXJib3NlX3RvcGljIHBhcmVudD0iTWV0YS5VdGlsIiBj aGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIKLSt1bnNpZ25lZF9sb25nX2VxdWFsIHBhcmVu dD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL3V0aWwuaCIKLSt1bnNpZ25lZF9s b25nX2hhc2ggcGFyZW50PSJNZXRhLlV0aWwiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvdXRpbC5o IgotK3Nob3dfZGlhbG9nIHBhcmVudD0iTWV0YS5VdGlsIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRh L3V0aWwuaCIKLStnZXRfc3RhZ2VfZm9yX2Rpc3BsYXkgcGFyZW50PSJNZXRhLkNvbXBvc2l0b3Ii IGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvY29tcG9zaXRvci1tdXR0ZXIuaCIKLStnZXRfd2luZG93 X2FjdG9ycyBwYXJlbnQ9Ik1ldGEuQ29tcG9zaXRvciIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9j b21wb3NpdG9yLW11dHRlci5oIgotK2dldF93aW5kb3dfZ3JvdXBfZm9yX2Rpc3BsYXkgcGFyZW50 PSJNZXRhLkNvbXBvc2l0b3IiIGNoZWFkZXJfZmlsZW5hbWU9Im1ldGEvY29tcG9zaXRvci1tdXR0 ZXIuaCIKLStnZXRfdG9wX3dpbmRvd19ncm91cF9mb3JfZGlzcGxheSBwYXJlbnQ9Ik1ldGEuQ29t cG9zaXRvciIgY2hlYWRlcl9maWxlbmFtZT0ibWV0YS9jb21wb3NpdG9yLW11dHRlci5oIgotK2dl dF9mZWVkYmFja19ncm91cF9mb3JfZGlzcGxheSBwYXJlbnQ9Ik1ldGEuQ29tcG9zaXRvciIgY2hl YWRlcl9maWxlbmFtZT0ibWV0YS9jb21wb3NpdG9yLW11dHRlci5oIgotK2Rpc2FibGVfdW5yZWRp cmVjdF9mb3JfZGlzcGxheSBwYXJlbnQ9Ik1ldGEuQ29tcG9zaXRvciIgY2hlYWRlcl9maWxlbmFt ZT0ibWV0YS9jb21wb3NpdG9yLW11dHRlci5oIgotK2VuYWJsZV91bnJlZGlyZWN0X2Zvcl9kaXNw bGF5IHBhcmVudD0iTWV0YS5Db21wb3NpdG9yIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL2NvbXBv c2l0b3ItbXV0dGVyLmgiCi0rZm9jdXNfc3RhZ2Vfd2luZG93IHBhcmVudD0iTWV0YS5Db21wb3Np dG9yIiBjaGVhZGVyX2ZpbGVuYW1lPSJtZXRhL2NvbXBvc2l0b3ItbXV0dGVyLmgiCi0ra2V5Ymlu ZGluZ3Nfc2V0X2N1c3RvbV9oYW5kbGVyIHBhcmVudD0iTWV0YS5LZXlCaW5kaW5nIiBuYW1lPSJz ZXRfY3VzdG9tX2hhbmRsZXIiCi0rS2V5SGFuZGxlckZ1bmMuZXZlbnQgdHlwZT0iQ2x1dHRlci5L ZXlFdmVudD8iCi0rZ2V0X2JhY2tlbmQgcGFyZW50PSJNZXRhLkJhY2tlbmQiCi0rV2luZG93LmZv Y3VzI3NpZ25hbCBza2lwPXRydWUKLStXaW5kb3cuZ2V0X3h3aW5kb3cgc2tpcD1mYWxzZQotK2dl dF9vcHRpb25fY29udGV4dCBza2lwPWZhbHNlCi0rc2V0X2dub21lX3dtX2tleWJpbmRpbmdzIHNr aXA9ZmFsc2UKLStzZXRfd21fbmFtZSBza2lwPWZhbHNlCi0raW5pdCBza2lwPWZhbHNlCi0rcnVu IHNraXA9ZmFsc2UKLStzaG93X2RpYWxvZyBza2lwPWZhbHNlCi0rZ2V0X2JhY2tlbmQgY2hlYWRl cl9maWxlbmFtZT0ibWV0YS9tZXRhLWJhY2tlbmQuaCIKLWRpZmYgLS1naXQgdmFwaS9nZW5lcmF0 ZS1tdXR0ZXItdmFwaS5zaCB2YXBpL2dlbmVyYXRlLW11dHRlci12YXBpLnNoCi1pbmRleCBiMjMz ZTU4Ni4uMTE3NDA0MzUgMTAwNzU1Ci0tLS0gdmFwaS9nZW5lcmF0ZS1tdXR0ZXItdmFwaS5zaAot KysrIHZhcGkvZ2VuZXJhdGUtbXV0dGVyLXZhcGkuc2gKLUBAIC0xLDcgKzEsNyBAQAotICMhL2Jp bi9iYXNoCi0gc2V0IC14ZQotIAotLXZlcnNpb249JHs2LTd9Ci0rdmVyc2lvbj0kezYtOH0KLSBn aXJkaXI9JChwa2ctY29uZmlnIGxpYm11dHRlci0kdmVyc2lvbiAtLXZhcmlhYmxlPWdpcmRpcikK LSAKLSBjZCAkKGRpcm5hbWUgJDApCi1kaWZmIC0tZ2l0IHZhcGkvbGlibXV0dGVyLTctY3VzdG9t LnZhbGEgdmFwaS9saWJtdXR0ZXItNy1jdXN0b20udmFsYQotaW5kZXggMWUwYjkxN2MuLjczYmM1 ZjFiIDEwMDY0NAotLS0tIHZhcGkvbGlibXV0dGVyLTctY3VzdG9tLnZhbGEKLSsrKyB2YXBpL2xp Ym11dHRlci03LWN1c3RvbS52YWxhCi1AQCAtNSwzICs1LDEwIEBAIHB1YmxpYyBzdHJ1Y3QgYmVm b3JlX2ZyYW1lIHsKLSBbQ0NvZGUgKGhhc190eXBlX2lkID0gZmFsc2UpXQotIHB1YmxpYyBzdHJ1 Y3QgZnJhbWUgewotIH0KLSsKLStuYW1lc3BhY2UgTWV0YSB7Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL21ldGEtYmFja2VuZC5oIiwgdHlwZV9pZCA9ICJtZXRhX2JhY2tlbmRf Z2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGFic3RyYWN0IGNsYXNzIEJhY2tlbmQgOiBHTGliLk9i amVjdCwgR0xpYi5Jbml0YWJsZSB7Ci0rICAgICAgICBwdWJsaWMgdW5vd25lZCBNZXRhLlNldHRp bmdzIGdldF9zZXR0aW5ncyAoKTsKLSsgICAgfQotK30KLVwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQotZGlmZiAtLWdpdCB2YXBpL2xpYm11dHRlci03LnZhcGkgdmFwaS9saWJtdXR0ZXItNy52 YXBpCi1pbmRleCA2YmZkYzRiNy4uMzBmODg5MmMgMTAwNjQ0Ci0tLS0gdmFwaS9saWJtdXR0ZXIt Ny52YXBpCi0rKysgdmFwaS9saWJtdXR0ZXItNy52YXBpCi1AQCAtMTQ5LDcgKzE0OSw3IEBAIG5h bWVzcGFjZSBNZXRhIHsKLSAJCXB1YmxpYyBzdGF0aWMgdm9pZCB4MTFfZXJyb3JfdHJhcF9wdXNo IChNZXRhLlgxMURpc3BsYXkgeDExX2Rpc3BsYXkpOwotIAl9Ci0gCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL21ldGEtYmFja2VuZC5oIiwgdHlwZV9pZCA9ICJtZXRhX2JhY2tlbmRf Z2V0X3R5cGUgKCkiKV0KLS0JcHVibGljIGFic3RyYWN0IGNsYXNzIEJhY2tlbmQgOiBHTGliLk9i amVjdCwgR0xpYi5Jbml0YWJsZSB7Ci0rCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBCYWNrZW5kIDog R0xpYi5PYmplY3QsIEdMaWIuSW5pdGFibGUsIEdMaWIuSW5pdGFibGUgewotIAkJW0NDb2RlICho YXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotIAkJcHJvdGVjdGVkIEJhY2tlbmQgKCk7 Ci0gCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLWJhY2tlbmQuaCIsIGNu YW1lID0gIm1ldGFfZ2V0X2JhY2tlbmQiKV0KLUBAIC0yNzcsOSArMjc3LDggQEAgbmFtZXNwYWNl IE1ldGEgewotIAlwdWJsaWMgY2xhc3MgQ3Vyc29yVHJhY2tlciA6IEdMaWIuT2JqZWN0IHsKLSAJ CVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSAJCXByb3RlY3RlZCBD dXJzb3JUcmFja2VyICgpOwotLQkJcHVibGljIHN0YXRpYyB1bm93bmVkIE1ldGEuQ3Vyc29yVHJh Y2tlciBnZXRfZm9yX2Rpc3BsYXkgKE1ldGEuRGlzcGxheSBkaXNwbGF5KTsKLSAJCXB1YmxpYyB2 b2lkIGdldF9ob3QgKG91dCBpbnQgeCwgb3V0IGludCB5KTsKLS0JCXB1YmxpYyB2b2lkIGdldF9w b2ludGVyIChpbnQgeCwgaW50IHksIENsdXR0ZXIuTW9kaWZpZXJUeXBlIG1vZHMpOwotKwkJcHVi bGljIHZvaWQgZ2V0X3BvaW50ZXIgKG91dCBpbnQgeCwgb3V0IGludCB5LCBvdXQgQ2x1dHRlci5N b2RpZmllclR5cGUgbW9kcyk7Ci0gCQlwdWJsaWMgYm9vbCBnZXRfcG9pbnRlcl92aXNpYmxlICgp OwotIAkJcHVibGljIHVub3duZWQgQ29nbC5UZXh0dXJlIGdldF9zcHJpdGUgKCk7Ci0gCQlwdWJs aWMgdm9pZCBzZXRfcG9pbnRlcl92aXNpYmxlIChib29sIHZpc2libGUpOwotQEAgLTMwNCw2ICsz MDMsOCBAQCBuYW1lc3BhY2UgTWV0YSB7Ci0gCQlwdWJsaWMgaW50IGdldF9jdXJyZW50X21vbml0 b3IgKCk7Ci0gCQlwdWJsaWMgdWludDMyIGdldF9jdXJyZW50X3RpbWUgKCk7Ci0gCQlwdWJsaWMg dWludDMyIGdldF9jdXJyZW50X3RpbWVfcm91bmR0cmlwICgpOwotKwkJW0NDb2RlIChjbmFtZSA9 ICJtZXRhX2N1cnNvcl90cmFja2VyX2dldF9mb3JfZGlzcGxheSIpXQotKwkJcHVibGljIHVub3du ZWQgTWV0YS5DdXJzb3JUcmFja2VyIGdldF9jdXJzb3JfdHJhY2tlciAoKTsKLSAJCXB1YmxpYyB1 bm93bmVkIE1ldGEuV2luZG93IGdldF9mb2N1c193aW5kb3cgKCk7Ci0gCQlwdWJsaWMgTWV0YS5H cmFiT3AgZ2V0X2dyYWJfb3AgKCk7Ci0gCQlwdWJsaWMgdWludCBnZXRfa2V5YmluZGluZ19hY3Rp b24gKHVpbnQga2V5Y29kZSwgdWxvbmcgbWFzayk7Ci1AQCAtNDIyLDEwICs0MjMsMTIgQEAgbmFt ZXNwYWNlIE1ldGEgewotIAkJcHVibGljIHN0YXRpYyBpbnQgZ2V0X2Rpc3BsYXlfY29uZmlndXJh dGlvbl90aW1lb3V0ICgpOwotIAkJcHVibGljIGJvb2wgZ2V0X2lzX2J1aWx0aW5fZGlzcGxheV9v biAoKTsKLSAJCXB1YmxpYyBpbnQgZ2V0X21vbml0b3JfZm9yX2Nvbm5lY3RvciAoc3RyaW5nIGNv bm5lY3Rvcik7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfcGFuZWxfb3JpZW50YXRpb25fbWFuYWdlZCAo KTsKLSAJCXB1YmxpYyBNZXRhLk1vbml0b3JTd2l0Y2hDb25maWdUeXBlIGdldF9zd2l0Y2hfY29u ZmlnICgpOwotIAkJcHVibGljIHZvaWQgc3dpdGNoX2NvbmZpZyAoTWV0YS5Nb25pdG9yU3dpdGNo Q29uZmlnVHlwZSBjb25maWdfdHlwZSk7Ci0gCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSAJCXB1Ymxp YyBNZXRhLkJhY2tlbmQgYmFja2VuZCB7IG93bmVkIGdldDsgY29uc3RydWN0OyB9Ci0rCQlwdWJs aWMgYm9vbCBwYW5lbF9vcmllbnRhdGlvbl9tYW5hZ2VkIHsgZ2V0OyB9Ci0gCQlwdWJsaWMgc2ln bmFsIHZvaWQgY29uZmlybV9kaXNwbGF5X2NoYW5nZSAoKTsKLSAJCXB1YmxpYyBzaWduYWwgdm9p ZCBtb25pdG9yc19jaGFuZ2VkICgpOwotIAkJcHVibGljIHNpZ25hbCB2b2lkIG1vbml0b3JzX2No YW5nZWRfaW50ZXJuYWwgKCk7Ci1AQCAtNTA0LDcgKzUwNyw3IEBAIG5hbWVzcGFjZSBNZXRhIHsK LSAJCXB1YmxpYyBib29sIGlzX3JlY29yZGluZyB7IGdldDsgY29uc3RydWN0OyB9Ci0gCQlwdWJs aWMgc2lnbmFsIHZvaWQgc3RvcHBlZCAoKTsKLSAJfQotLQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAibWV0YS9tYWluLmgiLCB0eXBlX2lkID0gIm1ldGFfc2VsZWN0aW9uX2dldF90eXBlICgp IildCi0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtc2VsZWN0aW9uLmgi LCB0eXBlX2lkID0gIm1ldGFfc2VsZWN0aW9uX2dldF90eXBlICgpIildCi0gCXB1YmxpYyBjbGFz cyBTZWxlY3Rpb24gOiBHTGliLk9iamVjdCB7Ci0gCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVu Y3Rpb24gPSBmYWxzZSldCi0gCQlwdWJsaWMgU2VsZWN0aW9uIChNZXRhLkRpc3BsYXkgZGlzcGxh eSk7Ci1AQCAtNTE0LDcgKzUxNyw3IEBAIG5hbWVzcGFjZSBNZXRhIHsKLSAJCXB1YmxpYyB2b2lk IHVuc2V0X293bmVyIChNZXRhLlNlbGVjdGlvblR5cGUgc2VsZWN0aW9uX3R5cGUsIE1ldGEuU2Vs ZWN0aW9uU291cmNlIG93bmVyKTsKLSAJCXB1YmxpYyBzaWduYWwgdm9pZCBvd25lcl9jaGFuZ2Vk ICh1aW50IG9iamVjdCwgTWV0YS5TZWxlY3Rpb25Tb3VyY2UgcDApOwotIAl9Ci0tCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIHR5cGVfaWQgPSAibWV0YV9zZWxlY3Rp b25fc291cmNlX2dldF90eXBlICgpIildCi0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJt ZXRhL21ldGEtc2VsZWN0aW9uLmgiLCB0eXBlX2lkID0gIm1ldGFfc2VsZWN0aW9uX3NvdXJjZV9n ZXRfdHlwZSAoKSIpXQotIAlwdWJsaWMgY2xhc3MgU2VsZWN0aW9uU291cmNlIDogR0xpYi5PYmpl Y3QgewotIAkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotIAkJcHJv dGVjdGVkIFNlbGVjdGlvblNvdXJjZSAoKTsKLUBAIC01MjQsNyArNTI3LDcgQEAgbmFtZXNwYWNl IE1ldGEgewotIAkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgYWN0aXZhdGVkICgpOwotIAkJ cHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgZGVhY3RpdmF0ZWQgKCk7Ci0gCX0KLS0JW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgdHlwZV9pZCA9ICJtZXRhX3NlbGVj dGlvbl9zb3VyY2VfbWVtb3J5X2dldF90eXBlICgpIildCi0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21ldGEtc2VsZWN0aW9uLXNvdXJjZS1tZW1vcnkuaCIsIHR5cGVfaWQgPSAi bWV0YV9zZWxlY3Rpb25fc291cmNlX21lbW9yeV9nZXRfdHlwZSAoKSIpXQotIAlwdWJsaWMgY2xh c3MgU2VsZWN0aW9uU291cmNlTWVtb3J5IDogTWV0YS5TZWxlY3Rpb25Tb3VyY2UgewotIAkJW0ND b2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiTWV0YVNlbGVjdGlv blNvdXJjZSoiKV0KLSAJCXB1YmxpYyBTZWxlY3Rpb25Tb3VyY2VNZW1vcnkgKHN0cmluZyBtaW1l dHlwZSwgR0xpYi5CeXRlcyBjb250ZW50KTsKLUBAIC03NjgsNiArNzcxLDcgQEAgbmFtZXNwYWNl IE1ldGEgewotIAkJcHVibGljIHVpbnQgdXNlcl90aW1lIHsgZ2V0OyB9Ci0gCQlwdWJsaWMgTWV0 YS5XaW5kb3dUeXBlIHdpbmRvd190eXBlIHsgZ2V0OyB9Ci0gCQlwdWJsaWMgc3RyaW5nIHdtX2Ns YXNzIHsgZ2V0OyB9Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgbW9uaXRvcl9jaGFuZ2VkIChpbnQg b2xkX21vbml0b3IpOwotIAkJcHVibGljIHNpZ25hbCB2b2lkIHBvc2l0aW9uX2NoYW5nZWQgKCk7 Ci0gCQlwdWJsaWMgc2lnbmFsIHZvaWQgcmFpc2VkICgpOwotIAkJcHVibGljIHNpZ25hbCB2b2lk IHNob3duICgpOwotQEAgLTEwMTIsNiArMTAxNiwxMiBAQCBuYW1lc3BhY2UgTWV0YSB7Ci0gCQlC TEFOSywKLSAJCUxBU1QKLSAJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9t YWluLmgiLCBjcHJlZml4ID0gIk1FVEFfREVCVUdfUEFJTlRfIiwgdHlwZV9pZCA9ICJtZXRhX2Rl YnVnX3BhaW50X2ZsYWdfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlwdWJsaWMgZW51bSBE ZWJ1Z1BhaW50RmxhZyB7Ci0rCQlOT05FLAotKwkJT1BBUVVFX1JFR0lPTgotKwl9Ci0gCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9ERUJV R18iLCB0eXBlX2lkID0gIm1ldGFfZGVidWdfdG9waWNfZ2V0X3R5cGUgKCkiKV0KLSAJW0ZsYWdz XQotIAlwdWJsaWMgZW51bSBEZWJ1Z1RvcGljIHsKLUBAIC0xMzU0LDcgKzEzNjQsNyBAQCBuYW1l c3BhY2UgTWV0YSB7Ci0gCQlDSEVDS19BTElWRV9USU1FT1VUOwotIAkJcHVibGljIHVub3duZWQg c3RyaW5nIHRvX3N0cmluZyAoKTsKLSAJfQotLQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi bWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfIiwgdHlwZV9pZCA9ICJtZXRhX3NlbGVjdGlv bl90eXBlX2dldF90eXBlICgpIildCi0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRh L21ldGEtc2VsZWN0aW9uLXNvdXJjZS5oIiwgY3ByZWZpeCA9ICJNRVRBXyIsIHR5cGVfaWQgPSAi bWV0YV9zZWxlY3Rpb25fdHlwZV9nZXRfdHlwZSAoKSIpXQotIAlwdWJsaWMgZW51bSBTZWxlY3Rp b25UeXBlIHsKLSAJCVNFTEVDVElPTl9QUklNQVJZLAotIAkJU0VMRUNUSU9OX0NMSVBCT0FSRCwK LUBAIC0xNDkxLDEyICsxNTAxLDE2IEBAIG5hbWVzcGFjZSBNZXRhIHsKLSAJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0gCXB1YmxpYyBzdGF0aWMgdm9pZCBhZGRf Y2x1dHRlcl9kZWJ1Z19mbGFncyAoQ2x1dHRlci5EZWJ1Z0ZsYWcgZGVidWdfZmxhZ3MsIENsdXR0 ZXIuRHJhd0RlYnVnRmxhZyBkcmF3X2ZsYWdzLCBDbHV0dGVyLlBpY2tEZWJ1Z0ZsYWcgcGlja19m bGFncyk7Ci0gCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlw dWJsaWMgc3RhdGljIHZvaWQgYWRkX2RlYnVnX3BhaW50X2ZsYWcgKE1ldGEuRGVidWdQYWludEZs YWcgZmxhZyk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQot IAlwdWJsaWMgc3RhdGljIHZvaWQgY2x1dHRlcl9pbml0ICgpOwotIAlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSAJcHVibGljIHN0YXRpYyB2b2lkIGV4aXQgKE1l dGEuRXhpdENvZGUgY29kZSk7Ci0gCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21h aW4uaCIpXQotIAlwdWJsaWMgc3RhdGljIHN0cmluZyBnX3V0Zjhfc3RybmR1cCAoc3RyaW5nIHNy Yywgc2l6ZV90IG4pOwotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgi KV0KLSsJcHVibGljIHN0YXRpYyBNZXRhLkRlYnVnUGFpbnRGbGFnIGdldF9kZWJ1Z19wYWludF9m bGFncyAoKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0g CXB1YmxpYyBzdGF0aWMgdW5vd25lZCBHTGliLk9wdGlvbkNvbnRleHQgZ2V0X29wdGlvbl9jb250 ZXh0ICgpOwotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSAJ cHVibGljIHN0YXRpYyBib29sIGdldF9yZXBsYWNlX2N1cnJlbnRfd20gKCk7Ci1AQCAtMTUxMSw2 ICsxNTI1LDggQEAgbmFtZXNwYWNlIE1ldGEgewotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tYWluLmgiKV0KLSAJcHVibGljIHN0YXRpYyB2b2lkIHJlbW92ZV9jbHV0dGVyX2Rl YnVnX2ZsYWdzIChDbHV0dGVyLkRlYnVnRmxhZyBkZWJ1Z19mbGFncywgQ2x1dHRlci5EcmF3RGVi dWdGbGFnIGRyYXdfZmxhZ3MsIENsdXR0ZXIuUGlja0RlYnVnRmxhZyBwaWNrX2ZsYWdzKTsKLSAJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0rCXB1YmxpYyBzdGF0 aWMgdm9pZCByZW1vdmVfZGVidWdfcGFpbnRfZmxhZyAoTWV0YS5EZWJ1Z1BhaW50RmxhZyBmbGFn KTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0gCXB1Ymxp YyBzdGF0aWMgdm9pZCByZXN0YXJ0IChzdHJpbmc/IG1lc3NhZ2UpOwotIAlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSAJcHVibGljIHN0YXRpYyBpbnQgcnVuICgp OwotZGlmZiAtLWdpdCB2YXBpL2xpYm11dHRlci04LWN1c3RvbS52YWxhIHZhcGkvbGlibXV0dGVy LTgtY3VzdG9tLnZhbGEKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMC4uNzNi YzVmMWIKLS0tLSAvZGV2L251bGwKLSsrKyB2YXBpL2xpYm11dHRlci04LWN1c3RvbS52YWxhCi1A QCAtMCwwICsxLDE0IEBACi0rW0NDb2RlIChoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLStwdWJsaWMg c3RydWN0IGJlZm9yZV9mcmFtZSB7Ci0rfQotKwotK1tDQ29kZSAoaGFzX3R5cGVfaWQgPSBmYWxz ZSldCi0rcHVibGljIHN0cnVjdCBmcmFtZSB7Ci0rfQotKwotK25hbWVzcGFjZSBNZXRhIHsKLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS1iYWNrZW5kLmgiLCB0eXBlX2lk ID0gIm1ldGFfYmFja2VuZF9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3Mg QmFja2VuZCA6IEdMaWIuT2JqZWN0LCBHTGliLkluaXRhYmxlIHsKLSsgICAgICAgIHB1YmxpYyB1 bm93bmVkIE1ldGEuU2V0dGluZ3MgZ2V0X3NldHRpbmdzICgpOwotKyAgICB9Ci0rfQotXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCi1kaWZmIC0tZ2l0IHZhcGkvbGlibXV0dGVyLTguZGVwcyB2 YXBpL2xpYm11dHRlci04LmRlcHMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAw MC4uZDk0YTYxNWQKLS0tLSAvZGV2L251bGwKLSsrKyB2YXBpL2xpYm11dHRlci04LmRlcHMKLUBA IC0wLDAgKzEsNiBAQAotK2d0aystMy4wCi0ranNvbi1nbGliLTEuMAotK211dHRlci1jbHV0dGVy LTgKLSt4MTEKLSt4Zml4ZXMtNC4wCi0rZ3JhcGhlbmUtZ29iamVjdC0xLjAKLWRpZmYgLS1naXQg dmFwaS9saWJtdXR0ZXItOC52YXBpIHZhcGkvbGlibXV0dGVyLTgudmFwaQotbmV3IGZpbGUgbW9k ZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwLi41Y2RjNzk0ZgotLS0tIC9kZXYvbnVsbAotKysrIHZh cGkvbGlibXV0dGVyLTgudmFwaQotQEAgLTAsMCArMSwxNTM1IEBACi0rLyogbGlibXV0dGVyLTgu dmFwaSBnZW5lcmF0ZWQgYnkgdmFwaWdlbiwgZG8gbm90IG1vZGlmeS4gKi8KLSsKLStbQ0NvZGUg KGNwcmVmaXggPSAiTWV0YSIsIGdpcl9uYW1lc3BhY2UgPSAiTWV0YSIsIGdpcl92ZXJzaW9uID0g IjgiLCBsb3dlcl9jYXNlX2NwcmVmaXggPSAibWV0YV8iKV0KLStuYW1lc3BhY2UgTWV0YSB7Ci0r CW5hbWVzcGFjZSBDb21wb3NpdG9yIHsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJt ZXRhL2NvbXBvc2l0b3ItbXV0dGVyLmgiLCBjbmFtZSA9ICJtZXRhX2Rpc2FibGVfdW5yZWRpcmVj dF9mb3JfZGlzcGxheSIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIGRpc2FibGVfdW5yZWRpcmVj dF9mb3JfZGlzcGxheSAoTWV0YS5EaXNwbGF5IGRpc3BsYXkpOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gIm1ldGEvY29tcG9zaXRvci1tdXR0ZXIuaCIsIGNuYW1lID0gIm1ldGFfZW5h YmxlX3VucmVkaXJlY3RfZm9yX2Rpc3BsYXkiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCBlbmFi bGVfdW5yZWRpcmVjdF9mb3JfZGlzcGxheSAoTWV0YS5EaXNwbGF5IGRpc3BsYXkpOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvY29tcG9zaXRvci1tdXR0ZXIuaCIsIGNuYW1l ID0gIm1ldGFfZm9jdXNfc3RhZ2Vfd2luZG93IildCi0rCQlwdWJsaWMgc3RhdGljIHZvaWQgZm9j dXNfc3RhZ2Vfd2luZG93IChNZXRhLkRpc3BsYXkgZGlzcGxheSwgdWludDMyIHRpbWVzdGFtcCk7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9jb21wb3NpdG9yLW11dHRlci5o IiwgY25hbWUgPSAibWV0YV9nZXRfZmVlZGJhY2tfZ3JvdXBfZm9yX2Rpc3BsYXkiKV0KLSsJCXB1 YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9mZWVkYmFja19ncm91cF9mb3Jf ZGlzcGxheSAoTWV0YS5EaXNwbGF5IGRpc3BsYXkpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvY29tcG9zaXRvci1tdXR0ZXIuaCIsIGNuYW1lID0gIm1ldGFfZ2V0X3N0YWdl X2Zvcl9kaXNwbGF5IildCi0rCQlwdWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5BY3RvciBn ZXRfc3RhZ2VfZm9yX2Rpc3BsYXkgKE1ldGEuRGlzcGxheSBkaXNwbGF5KTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL2NvbXBvc2l0b3ItbXV0dGVyLmgiLCBjbmFtZSA9ICJt ZXRhX2dldF90b3Bfd2luZG93X2dyb3VwX2Zvcl9kaXNwbGF5IildCi0rCQlwdWJsaWMgc3RhdGlj IHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfdG9wX3dpbmRvd19ncm91cF9mb3JfZGlzcGxheSAo TWV0YS5EaXNwbGF5IGRpc3BsYXkpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1l dGEvY29tcG9zaXRvci1tdXR0ZXIuaCIsIGNuYW1lID0gIm1ldGFfZ2V0X3dpbmRvd19hY3RvcnMi KV0KLSsJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBHTGliLkxpc3Q8Q2x1dHRlci5BY3Rvcj4gZ2V0 X3dpbmRvd19hY3RvcnMgKE1ldGEuRGlzcGxheSBkaXNwbGF5KTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL2NvbXBvc2l0b3ItbXV0dGVyLmgiLCBjbmFtZSA9ICJtZXRhX2dl dF93aW5kb3dfZ3JvdXBfZm9yX2Rpc3BsYXkiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBD bHV0dGVyLkFjdG9yIGdldF93aW5kb3dfZ3JvdXBfZm9yX2Rpc3BsYXkgKE1ldGEuRGlzcGxheSBk aXNwbGF5KTsKLSsJfQotKwluYW1lc3BhY2UgUHJlZnMgewotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfYmVsbF9pc19hdWRp YmxlIildCi0rCQlwdWJsaWMgc3RhdGljIGJvb2wgcHJlZnNfYmVsbF9pc19hdWRpYmxlICgpOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1l dGFfcHJlZnNfY2hhbmdlX3dvcmtzcGFjZV9uYW1lIildCi0rCQlwdWJsaWMgc3RhdGljIHZvaWQg cHJlZnNfY2hhbmdlX3dvcmtzcGFjZV9uYW1lIChpbnQgaSwgc3RyaW5nIG5hbWUpOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJl ZnNfZ2V0X2FjdGlvbl9kb3VibGVfY2xpY2tfdGl0bGViYXIiKV0KLSsJCXB1YmxpYyBzdGF0aWMg R0Rlc2t0b3AuVGl0bGViYXJBY3Rpb24gcHJlZnNfZ2V0X2FjdGlvbl9kb3VibGVfY2xpY2tfdGl0 bGViYXIgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwg Y25hbWUgPSAibWV0YV9wcmVmc19nZXRfYWN0aW9uX21pZGRsZV9jbGlja190aXRsZWJhciIpXQot KwkJcHVibGljIHN0YXRpYyBHRGVza3RvcC5UaXRsZWJhckFjdGlvbiBwcmVmc19nZXRfYWN0aW9u X21pZGRsZV9jbGlja190aXRsZWJhciAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9hY3Rpb25fcmlnaHRfY2xp Y2tfdGl0bGViYXIiKV0KLSsJCXB1YmxpYyBzdGF0aWMgR0Rlc2t0b3AuVGl0bGViYXJBY3Rpb24g cHJlZnNfZ2V0X2FjdGlvbl9yaWdodF9jbGlja190aXRsZWJhciAoKTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9h dHRhY2hfbW9kYWxfZGlhbG9ncyIpXQotKwkJcHVibGljIHN0YXRpYyBib29sIHByZWZzX2dldF9h dHRhY2hfbW9kYWxfZGlhbG9ncyAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJt ZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9hdXRvX21heGltaXplIildCi0r CQlwdWJsaWMgc3RhdGljIGJvb2wgcHJlZnNfZ2V0X2F1dG9fbWF4aW1pemUgKCk7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVm c19nZXRfYXV0b19yYWlzZSIpXQotKwkJcHVibGljIHN0YXRpYyBib29sIHByZWZzX2dldF9hdXRv X3JhaXNlICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIs IGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2F1dG9fcmFpc2VfZGVsYXkiKV0KLSsJCXB1YmxpYyBz dGF0aWMgaW50IHByZWZzX2dldF9hdXRvX3JhaXNlX2RlbGF5ICgpOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2J1 dHRvbl9sYXlvdXQiKV0KLSsJCXB1YmxpYyBzdGF0aWMgTWV0YS5CdXR0b25MYXlvdXQgcHJlZnNf Z2V0X2J1dHRvbl9sYXlvdXQgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0 YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfY2VudGVyX25ld193aW5kb3dzIild Ci0rCQlwdWJsaWMgc3RhdGljIGJvb2wgcHJlZnNfZ2V0X2NlbnRlcl9uZXdfd2luZG93cyAoKTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJt ZXRhX3ByZWZzX2dldF9jaGVja19hbGl2ZV90aW1lb3V0IildCi0rCQlwdWJsaWMgc3RhdGljIHVp bnQgcHJlZnNfZ2V0X2NoZWNrX2FsaXZlX3RpbWVvdXQgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfY29tcG9z aXRpbmdfbWFuYWdlciIpXQotKwkJcHVibGljIHN0YXRpYyBib29sIHByZWZzX2dldF9jb21wb3Np dGluZ19tYW5hZ2VyICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJl ZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2N1cnNvcl9zaXplIildCi0rCQlwdWJsaWMg c3RhdGljIGludCBwcmVmc19nZXRfY3Vyc29yX3NpemUgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfY3Vyc29y X3RoZW1lIildCi0rCQlwdWJsaWMgc3RhdGljIHVub3duZWQgc3RyaW5nIHByZWZzX2dldF9jdXJz b3JfdGhlbWUgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5o IiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfZGlzYWJsZV93b3JrYXJvdW5kcyIpXQotKwkJcHVi bGljIHN0YXRpYyBib29sIHByZWZzX2dldF9kaXNhYmxlX3dvcmthcm91bmRzICgpOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJl ZnNfZ2V0X2RyYWdfdGhyZXNob2xkIildCi0rCQlwdWJsaWMgc3RhdGljIGludCBwcmVmc19nZXRf ZHJhZ190aHJlc2hvbGQgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9w cmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfZHJhZ2dhYmxlX2JvcmRlcl93aWR0aCIp XQotKwkJcHVibGljIHN0YXRpYyBpbnQgcHJlZnNfZ2V0X2RyYWdnYWJsZV9ib3JkZXJfd2lkdGgg KCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUg PSAibWV0YV9wcmVmc19nZXRfZHluYW1pY193b3Jrc3BhY2VzIildCi0rCQlwdWJsaWMgc3RhdGlj IGJvb2wgcHJlZnNfZ2V0X2R5bmFtaWNfd29ya3NwYWNlcyAoKTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9lZGdl X3RpbGluZyIpXQotKwkJcHVibGljIHN0YXRpYyBib29sIHByZWZzX2dldF9lZGdlX3RpbGluZyAo KTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9 ICJtZXRhX3ByZWZzX2dldF9mb2N1c19jaGFuZ2Vfb25fcG9pbnRlcl9yZXN0IildCi0rCQlwdWJs aWMgc3RhdGljIGJvb2wgcHJlZnNfZ2V0X2ZvY3VzX2NoYW5nZV9vbl9wb2ludGVyX3Jlc3QgKCk7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAi bWV0YV9wcmVmc19nZXRfZm9jdXNfbW9kZSIpXQotKwkJcHVibGljIHN0YXRpYyBHRGVza3RvcC5G b2N1c01vZGUgcHJlZnNfZ2V0X2ZvY3VzX21vZGUgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfZm9jdXNfbmV3 X3dpbmRvd3MiKV0KLSsJCXB1YmxpYyBzdGF0aWMgR0Rlc2t0b3AuRm9jdXNOZXdXaW5kb3dzIHBy ZWZzX2dldF9mb2N1c19uZXdfd2luZG93cyAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9mb3JjZV9mdWxsc2Ny ZWVuIildCi0rCQlwdWJsaWMgc3RhdGljIGJvb2wgcHJlZnNfZ2V0X2ZvcmNlX2Z1bGxzY3JlZW4g KCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUg PSAibWV0YV9wcmVmc19nZXRfZ25vbWVfYWNjZXNzaWJpbGl0eSIpXQotKwkJcHVibGljIHN0YXRp YyBib29sIHByZWZzX2dldF9nbm9tZV9hY2Nlc3NpYmlsaXR5ICgpOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X2du b21lX2FuaW1hdGlvbnMiKV0KLSsJCXB1YmxpYyBzdGF0aWMgYm9vbCBwcmVmc19nZXRfZ25vbWVf YW5pbWF0aW9ucyAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZz LmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9rZXliaW5kaW5nX2FjdGlvbiIpXQotKwkJcHVi bGljIHN0YXRpYyBNZXRhLktleUJpbmRpbmdBY3Rpb24gcHJlZnNfZ2V0X2tleWJpbmRpbmdfYWN0 aW9uIChzdHJpbmcgbmFtZSk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9w cmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfbW91c2VfYnV0dG9uX21lbnUiKV0KLSsJ CXB1YmxpYyBzdGF0aWMgaW50IHByZWZzX2dldF9tb3VzZV9idXR0b25fbWVudSAoKTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3By ZWZzX2dldF9tb3VzZV9idXR0b25fbW9kcyIpXQotKwkJcHVibGljIHN0YXRpYyBNZXRhLlZpcnR1 YWxNb2RpZmllciBwcmVmc19nZXRfbW91c2VfYnV0dG9uX21vZHMgKCk7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRf bW91c2VfYnV0dG9uX3Jlc2l6ZSIpXQotKwkJcHVibGljIHN0YXRpYyBpbnQgcHJlZnNfZ2V0X21v dXNlX2J1dHRvbl9yZXNpemUgKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0 YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19nZXRfbnVtX3dvcmtzcGFjZXMiKV0KLSsJ CXB1YmxpYyBzdGF0aWMgaW50IHByZWZzX2dldF9udW1fd29ya3NwYWNlcyAoKTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZz X2dldF9yYWlzZV9vbl9jbGljayIpXQotKwkJcHVibGljIHN0YXRpYyBib29sIHByZWZzX2dldF9y YWlzZV9vbl9jbGljayAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3By ZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF9zaG93X2ZhbGxiYWNrX2FwcF9tZW51Iild Ci0rCQlwdWJsaWMgc3RhdGljIGJvb2wgcHJlZnNfZ2V0X3Nob3dfZmFsbGJhY2tfYXBwX21lbnUg KCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUg PSAibWV0YV9wcmVmc19nZXRfdGl0bGViYXJfZm9udCIpXQotKwkJcHVibGljIHN0YXRpYyB1bm93 bmVkIFBhbmdvLkZvbnREZXNjcmlwdGlvbiBwcmVmc19nZXRfdGl0bGViYXJfZm9udCAoKTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjbmFtZSA9ICJtZXRh X3ByZWZzX2dldF92aXN1YWxfYmVsbCIpXQotKwkJcHVibGljIHN0YXRpYyBib29sIHByZWZzX2dl dF92aXN1YWxfYmVsbCAoKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3By ZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX2dldF92aXN1YWxfYmVsbF90eXBlIildCi0rCQlw dWJsaWMgc3RhdGljIEdEZXNrdG9wLlZpc3VhbEJlbGxUeXBlIHByZWZzX2dldF92aXN1YWxfYmVs bF90eXBlICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIs IGNuYW1lID0gIm1ldGFfcHJlZnNfZ2V0X3dvcmtzcGFjZV9uYW1lIildCi0rCQlwdWJsaWMgc3Rh dGljIHVub3duZWQgc3RyaW5nIHByZWZzX2dldF93b3Jrc3BhY2VfbmFtZSAoaW50IGkpOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFf cHJlZnNfZ2V0X3dvcmtzcGFjZXNfb25seV9vbl9wcmltYXJ5IildCi0rCQlwdWJsaWMgc3RhdGlj IGJvb2wgcHJlZnNfZ2V0X3dvcmtzcGFjZXNfb25seV9vbl9wcmltYXJ5ICgpOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNf aW5pdCIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIHByZWZzX2luaXQgKCk7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9wcmVmcy5oIiwgY25hbWUgPSAibWV0YV9wcmVmc19z ZXRfZm9yY2VfZnVsbHNjcmVlbiIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIHByZWZzX3NldF9m b3JjZV9mdWxsc2NyZWVuIChib29sIHdoZXRoZXIpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvcHJlZnMuaCIsIGNuYW1lID0gIm1ldGFfcHJlZnNfc2V0X251bV93b3Jrc3Bh Y2VzIildCi0rCQlwdWJsaWMgc3RhdGljIHZvaWQgcHJlZnNfc2V0X251bV93b3Jrc3BhY2VzIChp bnQgbl93b3Jrc3BhY2VzKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3By ZWZzLmgiLCBjbmFtZSA9ICJtZXRhX3ByZWZzX3NldF9zaG93X2ZhbGxiYWNrX2FwcF9tZW51Iild Ci0rCQlwdWJsaWMgc3RhdGljIHZvaWQgcHJlZnNfc2V0X3Nob3dfZmFsbGJhY2tfYXBwX21lbnUg KGJvb2wgd2hldGhlcik7Ci0rCX0KLSsJbmFtZXNwYWNlIFV0aWwgewotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV9hZGRfdmVyYm9zZV90 b3BpYyIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIGFkZF92ZXJib3NlX3RvcGljIChNZXRhLkRl YnVnVG9waWMgdG9waWMpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRp bC5oIiwgY25hbWUgPSAibWV0YV9leHRlcm5hbF9iaW5kaW5nX25hbWVfZm9yX2FjdGlvbiIpXQot KwkJcHVibGljIHN0YXRpYyBzdHJpbmcgZXh0ZXJuYWxfYmluZGluZ19uYW1lX2Zvcl9hY3Rpb24g KHVpbnQga2V5YmluZGluZ19hY3Rpb24pOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g Im1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV9nZXRfbG9jYWxlX2RpcmVjdGlvbiIpXQotKwkJ cHVibGljIHN0YXRpYyBNZXRhLkxvY2FsZURpcmVjdGlvbiBnZXRfbG9jYWxlX2RpcmVjdGlvbiAo KTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNuYW1lID0g Im1ldGFfZ3Jhdml0eV90b19zdHJpbmciKV0KLSsJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBzdHJp bmcgZ3Jhdml0eV90b19zdHJpbmcgKE1ldGEuR3Jhdml0eSBncmF2aXR5KTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNuYW1lID0gIm1ldGFfaXNfc3luY2lu ZyIpXQotKwkJcHVibGljIHN0YXRpYyBib29sIGlzX3N5bmNpbmcgKCk7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRhX2lzX3ZlcmJvc2Ui KV0KLSsJCXB1YmxpYyBzdGF0aWMgYm9vbCBpc192ZXJib3NlICgpOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV9pc193YXlsYW5kX2Nv bXBvc2l0b3IiKV0KLSsJCXB1YmxpYyBzdGF0aWMgYm9vbCBpc193YXlsYW5kX2NvbXBvc2l0b3Ig KCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9 ICJtZXRhX2xhdGVyX2FkZCIpXQotKwkJcHVibGljIHN0YXRpYyB1aW50IGxhdGVyX2FkZCAoTWV0 YS5MYXRlclR5cGUgd2hlbiwgb3duZWQgR0xpYi5Tb3VyY2VGdW5jIGZ1bmMpOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUgPSAibWV0YV9sYXRlcl9y ZW1vdmUiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCBsYXRlcl9yZW1vdmUgKHVpbnQgbGF0ZXJf aWQpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRpbC5oIiwgY25hbWUg PSAibWV0YV9wb3Bfbm9fbXNnX3ByZWZpeCIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIHBvcF9u b19tc2dfcHJlZml4ICgpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvdXRp bC5oIiwgY25hbWUgPSAibWV0YV9wdXNoX25vX21zZ19wcmVmaXgiKV0KLSsJCXB1YmxpYyBzdGF0 aWMgdm9pZCBwdXNoX25vX21zZ19wcmVmaXggKCk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRhX3JlY3QiKV0KLSsJCXB1YmxpYyBzdGF0 aWMgTWV0YS5SZWN0YW5nbGU/IHJlY3QgKGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVp Z2h0KTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNuYW1l ID0gIm1ldGFfcmVtb3ZlX3ZlcmJvc2VfdG9waWMiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCBy ZW1vdmVfdmVyYm9zZV90b3BpYyAoTWV0YS5EZWJ1Z1RvcGljIHRvcGljKTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNuYW1lID0gIm1ldGFfc2hvd19kaWFs b2ciKV0KLSsJCXB1YmxpYyBzdGF0aWMgR0xpYi5QaWQgc2hvd19kaWFsb2cgKHN0cmluZyB0eXBl LCBzdHJpbmcgbWVzc2FnZSwgc3RyaW5nIHRpbWVvdXQsIHN0cmluZyBkaXNwbGF5LCBzdHJpbmcg b2tfdGV4dCwgc3RyaW5nIGNhbmNlbF90ZXh0LCBzdHJpbmcgaWNvbl9uYW1lLCBpbnQgdHJhbnNp ZW50X2ZvciwgR0xpYi5TTGlzdDx2b2lkKj4gY29sdW1ucywgR0xpYi5TTGlzdDx2b2lkKj4gZW50 cmllcyk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFt ZSA9ICJtZXRhX3Vuc2lnbmVkX2xvbmdfZXF1YWwiKV0KLSsJCXB1YmxpYyBzdGF0aWMgaW50IHVu c2lnbmVkX2xvbmdfZXF1YWwgKHZvaWQqIHYxLCB2b2lkKiB2Mik7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRhX3Vuc2lnbmVkX2xvbmdf aGFzaCIpXQotKwkJcHVibGljIHN0YXRpYyB1aW50IHVuc2lnbmVkX2xvbmdfaGFzaCAodm9pZCog dik7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9 ICJtZXRhX3gxMV9lcnJvcl90cmFwX3BvcCIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIHgxMV9l cnJvcl90cmFwX3BvcCAoTWV0YS5YMTFEaXNwbGF5IHgxMV9kaXNwbGF5KTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3V0aWwuaCIsIGNuYW1lID0gIm1ldGFfeDExX2Vycm9y X3RyYXBfcG9wX3dpdGhfcmV0dXJuIildCi0rCQlwdWJsaWMgc3RhdGljIGludCB4MTFfZXJyb3Jf dHJhcF9wb3Bfd2l0aF9yZXR1cm4gKE1ldGEuWDExRGlzcGxheSB4MTFfZGlzcGxheSk7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS91dGlsLmgiLCBjbmFtZSA9ICJtZXRhX3gx MV9lcnJvcl90cmFwX3B1c2giKV0KLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCB4MTFfZXJyb3JfdHJh cF9wdXNoIChNZXRhLlgxMURpc3BsYXkgeDExX2Rpc3BsYXkpOwotKwl9Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtYmFja2VuZC5oIiwgdHlwZV9pZCA9ICJtZXRhX2Jh Y2tlbmRfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGFic3RyYWN0IGNsYXNzIEJhY2tlbmQgOiBH TGliLk9iamVjdCwgR0xpYi5Jbml0YWJsZSwgR0xpYi5Jbml0YWJsZSB7Ci0rCQlbQ0NvZGUgKGhh c19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgQmFja2VuZCAoKTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtYmFja2VuZC5oIiwgY25h bWUgPSAibWV0YV9nZXRfYmFja2VuZCIpXQotKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIE1ldGEu QmFja2VuZCBnZXRfYmFja2VuZCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIE1ldGEuRG5kIGdldF9k bmQgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBNZXRhLlJlbW90ZUFjY2Vzc0NvbnRyb2xsZXIgZ2V0 X3JlbW90ZV9hY2Nlc3NfY29udHJvbGxlciAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIE1ldGEuU2V0 dGluZ3MgZ2V0X3NldHRpbmdzICgpOwotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5BY3RvciBn ZXRfc3RhZ2UgKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19yZW5kZXJpbmdfaGFyZHdhcmVfYWNjZWxl cmF0ZWQgKCk7Ci0rCQlwdWJsaWMgdm9pZCBsb2NrX2xheW91dF9ncm91cCAodWludCBpZHgpOwot KwkJcHVibGljIHZvaWQgc2V0X2tleW1hcCAoc3RyaW5nIGxheW91dHMsIHN0cmluZyB2YXJpYW50 cywgc3RyaW5nIG9wdGlvbnMpOwotKwkJcHVibGljIHZvaWQgc2V0X251bWxvY2sgKGJvb2wgbnVt bG9ja19zdGF0ZSk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQga2V5bWFwX2NoYW5nZWQgKCk7Ci0r CQlwdWJsaWMgc2lnbmFsIHZvaWQga2V5bWFwX2xheW91dF9ncm91cF9jaGFuZ2VkICh1aW50IG9i amVjdCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgbGFzdF9kZXZpY2VfY2hhbmdlZCAoQ2x1dHRl ci5JbnB1dERldmljZSBvYmplY3QpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIGxpZF9pc19jbG9z ZWRfY2hhbmdlZCAoYm9vbCBvYmplY3QpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJtZXRhL21ldGEtYmFja2dyb3VuZC5oIiwgdHlwZV9pZCA9ICJtZXRhX2JhY2tncm91bmRf Z2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIEJhY2tncm91bmQgOiBHTGliLk9iamVjdCB7 Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwdWJsaWMg QmFja2dyb3VuZCAoTWV0YS5EaXNwbGF5IGRpc3BsYXkpOwotKwkJcHVibGljIHN0YXRpYyB2b2lk IHJlZnJlc2hfYWxsICgpOwotKwkJcHVibGljIHZvaWQgc2V0X2JsZW5kIChHTGliLkZpbGUgZmls ZTEsIEdMaWIuRmlsZSBmaWxlMiwgZG91YmxlIGJsZW5kX2ZhY3RvciwgR0Rlc2t0b3AuQmFja2dy b3VuZFN0eWxlIHN0eWxlKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9jb2xvciAoQ2x1dHRlci5Db2xv ciBjb2xvcik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfZmlsZSAoR0xpYi5GaWxlPyBmaWxlLCBHRGVz a3RvcC5CYWNrZ3JvdW5kU3R5bGUgc3R5bGUpOwotKwkJcHVibGljIHZvaWQgc2V0X2dyYWRpZW50 IChHRGVza3RvcC5CYWNrZ3JvdW5kU2hhZGluZyBzaGFkaW5nX2RpcmVjdGlvbiwgQ2x1dHRlci5D b2xvciBjb2xvciwgQ2x1dHRlci5Db2xvciBzZWNvbmRfY29sb3IpOwotKwkJW05vQWNjZXNzb3JN ZXRob2RdCi0rCQlwdWJsaWMgTWV0YS5EaXNwbGF5IG1ldGFfZGlzcGxheSB7IG93bmVkIGdldDsg Y29uc3RydWN0OyB9Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgY2hhbmdlZCAoKTsKLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLWJhY2tncm91bmQtYWN0b3IuaCIs IHR5cGVfaWQgPSAibWV0YV9iYWNrZ3JvdW5kX2FjdG9yX2dldF90eXBlICgpIildCi0rCXB1Ymxp YyBjbGFzcyBCYWNrZ3JvdW5kQWN0b3IgOiBDbHV0dGVyLkFjdG9yLCBBdGsuSW1wbGVtZW50b3Is IENsdXR0ZXIuQW5pbWF0YWJsZSwgQ2x1dHRlci5Db250YWluZXIsIENsdXR0ZXIuU2NyaXB0YWJs ZSB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJD bHV0dGVyQWN0b3IqIildCi0rCQlwdWJsaWMgQmFja2dyb3VuZEFjdG9yIChNZXRhLkRpc3BsYXkg ZGlzcGxheSwgaW50IG1vbml0b3IpOwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMg TWV0YS5EaXNwbGF5IG1ldGFfZGlzcGxheSB7IG93bmVkIGdldDsgY29uc3RydWN0OyB9Ci0rCQlb Tm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBpbnQgbW9uaXRvciB7IGdldDsgY29uc3RydWN0 OyB9Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS1iYWNrZ3Jv dW5kLWNvbnRlbnQuaCIsIHR5cGVfaWQgPSAibWV0YV9iYWNrZ3JvdW5kX2NvbnRlbnRfZ2V0X3R5 cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIEJhY2tncm91bmRDb250ZW50IDogR0xpYi5PYmplY3Qs IENsdXR0ZXIuQ29udGVudCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBm YWxzZSldCi0rCQlwcm90ZWN0ZWQgQmFja2dyb3VuZENvbnRlbnQgKCk7Ci0rCQlwdWJsaWMgc3Rh dGljIENsdXR0ZXIuQ29udGVudCBAbmV3IChNZXRhLkRpc3BsYXkgZGlzcGxheSwgaW50IG1vbml0 b3IpOwotKwkJcHVibGljIHZvaWQgc2V0X2JhY2tncm91bmQgKE1ldGEuQmFja2dyb3VuZCBiYWNr Z3JvdW5kKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9ncmFkaWVudCAoYm9vbCBlbmFibGVkLCBpbnQg aGVpZ2h0LCBkb3VibGUgdG9uZV9zdGFydCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcm91bmRlZF9j bGlwX2JvdW5kcyAoR3JhcGhlbmUuUmVjdD8gYm91bmRzKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9y b3VuZGVkX2NsaXBfcmFkaXVzIChmbG9hdCByYWRpdXMpOwotKwkJcHVibGljIHZvaWQgc2V0X3Zp Z25ldHRlIChib29sIGVuYWJsZWQsIGRvdWJsZSBicmlnaHRuZXNzLCBkb3VibGUgc2hhcnBuZXNz KTsKLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIE1ldGEuQmFja2dyb3VuZCBiYWNr Z3JvdW5kIHsgb3duZWQgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVi bGljIGRvdWJsZSBicmlnaHRuZXNzIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9k XQotKwkJcHVibGljIGJvb2wgZ3JhZGllbnQgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JN ZXRob2RdCi0rCQlwdWJsaWMgaW50IGdyYWRpZW50X2hlaWdodCB7IGdldDsgc2V0OyB9Ci0rCQlb Tm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBkb3VibGUgZ3JhZGllbnRfbWF4X2RhcmtuZXNz IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIE1ldGEuRGlz cGxheSBtZXRhX2Rpc3BsYXkgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJW05vQWNjZXNz b3JNZXRob2RdCi0rCQlwdWJsaWMgaW50IG1vbml0b3IgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJ W05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgZmxvYXQgcm91bmRlZF9jbGlwX3JhZGl1cyB7 IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBib29sIHZpZ25l dHRlIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGRvdWJs ZSB2aWduZXR0ZV9zaGFycG5lc3MgeyBnZXQ7IHNldDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21ldGEtYmFja2dyb3VuZC1ncm91cC5oIiwgdHlwZV9pZCA9ICJt ZXRhX2JhY2tncm91bmRfZ3JvdXBfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIEJhY2tn cm91bmRHcm91cCA6IENsdXR0ZXIuQWN0b3IsIEF0ay5JbXBsZW1lbnRvciwgQ2x1dHRlci5Bbmlt YXRhYmxlLCBDbHV0dGVyLkNvbnRhaW5lciwgQ2x1dHRlci5TY3JpcHRhYmxlIHsKLSsJCVtDQ29k ZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJBY3Rvcioi KV0KLSsJCXB1YmxpYyBCYWNrZ3JvdW5kR3JvdXAgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gIm1ldGEvbWV0YS1iYWNrZ3JvdW5kLWltYWdlLmgiLCB0eXBlX2lkID0gIm1l dGFfYmFja2dyb3VuZF9pbWFnZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3MgQmFja2dy b3VuZEltYWdlIDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0 aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIEJhY2tncm91bmRJbWFnZSAoKTsKLSsJCXB1Ymxp YyBib29sIGdldF9zdWNjZXNzICgpOwotKwkJcHVibGljIHVub3duZWQgQ29nbC5UZXh0dXJlIGdl dF90ZXh0dXJlICgpOwotKwkJcHVibGljIGJvb2wgaXNfbG9hZGVkICgpOwotKwkJcHVibGljIHNp Z25hbCB2b2lkIGxvYWRlZCAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi bWV0YS9tZXRhLWJhY2tncm91bmQtaW1hZ2UuaCIsIHR5cGVfaWQgPSAibWV0YV9iYWNrZ3JvdW5k X2ltYWdlX2NhY2hlX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBCYWNrZ3JvdW5kSW1h Z2VDYWNoZSA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlv biA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBCYWNrZ3JvdW5kSW1hZ2VDYWNoZSAoKTsKLSsJCXB1 YmxpYyBzdGF0aWMgdW5vd25lZCBNZXRhLkJhY2tncm91bmRJbWFnZUNhY2hlIGdldF9kZWZhdWx0 ICgpOwotKwkJcHVibGljIE1ldGEuQmFja2dyb3VuZEltYWdlIGxvYWQgKEdMaWIuRmlsZSBmaWxl KTsKLSsJCXB1YmxpYyB2b2lkIHB1cmdlIChHTGliLkZpbGUgZmlsZSk7Ci0rCX0KLSsJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvYmFycmllci5oIiwgdHlwZV9pZCA9ICJtZXRhX2Jh cnJpZXJfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIEJhcnJpZXIgOiBHTGliLk9iamVj dCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90 ZWN0ZWQgQmFycmllciAoKTsKLSsJCXB1YmxpYyB2b2lkIGRlc3Ryb3kgKCk7Ci0rCQlwdWJsaWMg Ym9vbCBpc19hY3RpdmUgKCk7Ci0rCQlwdWJsaWMgdm9pZCByZWxlYXNlIChNZXRhLkJhcnJpZXJF dmVudCBldmVudCk7Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBNZXRhLkJhcnJp ZXJEaXJlY3Rpb24gZGlyZWN0aW9ucyB7IGdldDsgY29uc3RydWN0OyB9Ci0rCQlbTm9BY2Nlc3Nv ck1ldGhvZF0KLSsJCXB1YmxpYyBNZXRhLkRpc3BsYXkgZGlzcGxheSB7IG93bmVkIGdldDsgY29u c3RydWN0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBpbnQgeDEgeyBnZXQ7 IGNvbnN0cnVjdDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgaW50IHgyIHsg Z2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGludCB5 MSB7IGdldDsgY29uc3RydWN0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBp bnQgeTIgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIHNpZ25hbCB2b2lkIGhpdCAoTWV0 YS5CYXJyaWVyRXZlbnQgZXZlbnQpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIGxlZnQgKE1ldGEu QmFycmllckV2ZW50IGV2ZW50KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi bWV0YS9iYXJyaWVyLmgiLCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVu Y3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9ICJtZXRhX2JhcnJpZXJfZXZlbnRfZ2V0 X3R5cGUgKCkiKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBCYXJyaWVyRXZlbnQgewot KwkJcHVibGljIGludCBkdDsKLSsJCXB1YmxpYyBkb3VibGUgZHg7Ci0rCQlwdWJsaWMgZG91Ymxl IGR5OwotKwkJcHVibGljIGludCBldmVudF9pZDsKLSsJCXB1YmxpYyBib29sIGdyYWJiZWQ7Ci0r CQlwdWJsaWMgYm9vbCByZWxlYXNlZDsKLSsJCXB1YmxpYyB1aW50MzIgdGltZTsKLSsJCXB1Ymxp YyBkb3VibGUgeDsKLSsJCXB1YmxpYyBkb3VibGUgeTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9tZXRhLWN1cnNvci10cmFja2VyLmgiLCB0eXBlX2lkID0gIm1ldGFf Y3Vyc29yX3RyYWNrZXJfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIEN1cnNvclRyYWNr ZXIgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBm YWxzZSldCi0rCQlwcm90ZWN0ZWQgQ3Vyc29yVHJhY2tlciAoKTsKLSsJCXB1YmxpYyB2b2lkIGdl dF9ob3QgKG91dCBpbnQgeCwgb3V0IGludCB5KTsKLSsJCXB1YmxpYyB2b2lkIGdldF9wb2ludGVy IChHcmFwaGVuZS5Qb2ludCBjb29yZHMsIG91dCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBtb2RzKTsK LSsJCXB1YmxpYyBib29sIGdldF9wb2ludGVyX3Zpc2libGUgKCk7Ci0rCQlwdWJsaWMgdW5vd25l ZCBDb2dsLlRleHR1cmUgZ2V0X3Nwcml0ZSAoKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9wb2ludGVy X3Zpc2libGUgKGJvb2wgdmlzaWJsZSk7Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1Ymxp YyBNZXRhLkJhY2tlbmQgYmFja2VuZCB7IG93bmVkIGdldDsgY29uc3RydWN0OyB9Ci0rCQlwdWJs aWMgc2lnbmFsIHZvaWQgY3Vyc29yX2NoYW5nZWQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQg cG9zaXRpb25faW52YWxpZGF0ZWQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgdmlzaWJpbGl0 eV9jaGFuZ2VkICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL2Rp c3BsYXkuaCIsIHR5cGVfaWQgPSAibWV0YV9kaXNwbGF5X2dldF90eXBlICgpIildCi0rCXB1Ymxp YyBjbGFzcyBEaXNwbGF5IDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIERpc3BsYXkgKCk7Ci0rCQlwdWJsaWMg dm9pZCBhZGRfaWdub3JlZF9jcm9zc2luZ19zZXJpYWwgKHVsb25nIHNlcmlhbCk7Ci0rCQlwdWJs aWMgdWludCBhZGRfa2V5YmluZGluZyAoc3RyaW5nIG5hbWUsIEdMaWIuU2V0dGluZ3Mgc2V0dGlu Z3MsIE1ldGEuS2V5QmluZGluZ0ZsYWdzIGZsYWdzLCBvd25lZCBNZXRhLktleUhhbmRsZXJGdW5j IGhhbmRsZXIpOwotKwkJcHVibGljIGJvb2wgYmVnaW5fZ3JhYl9vcCAoTWV0YS5XaW5kb3cgd2lu ZG93LCBNZXRhLkdyYWJPcCBvcCwgYm9vbCBwb2ludGVyX2FscmVhZHlfZ3JhYmJlZCwgYm9vbCBm cmFtZV9hY3Rpb24sIGludCBidXR0b24sIHVsb25nIG1vZG1hc2ssIHVpbnQzMiB0aW1lc3RhbXAs IGludCByb290X3gsIGludCByb290X3kpOwotKwkJcHVibGljIHZvaWQgY2xlYXJfbW91c2VfbW9k ZSAoKTsKLSsJCXB1YmxpYyB2b2lkIGNsb3NlICh1aW50MzIgdGltZXN0YW1wKTsKLSsJCXB1Ymxp YyB2b2lkIGVuZF9ncmFiX29wICh1aW50MzIgdGltZXN0YW1wKTsKLSsJCXB1YmxpYyB2b2lkIGZv Y3VzX2RlZmF1bHRfd2luZG93ICh1aW50MzIgdGltZXN0YW1wKTsKLSsJCXB1YmxpYyB2b2lkIGZy ZWV6ZV9rZXlib2FyZCAodWludDMyIHRpbWVzdGFtcCk7Ci0rCQlwdWJsaWMgQ2x1dHRlci5Nb2Rp ZmllclR5cGUgZ2V0X2NvbXBvc2l0b3JfbW9kaWZpZXJzICgpOwotKwkJcHVibGljIGludCBnZXRf Y3VycmVudF9tb25pdG9yICgpOwotKwkJcHVibGljIHVpbnQzMiBnZXRfY3VycmVudF90aW1lICgp OwotKwkJcHVibGljIHVpbnQzMiBnZXRfY3VycmVudF90aW1lX3JvdW5kdHJpcCAoKTsKLSsJCVtD Q29kZSAoY25hbWUgPSAibWV0YV9jdXJzb3JfdHJhY2tlcl9nZXRfZm9yX2Rpc3BsYXkiKV0KLSsJ CXB1YmxpYyB1bm93bmVkIE1ldGEuQ3Vyc29yVHJhY2tlciBnZXRfY3Vyc29yX3RyYWNrZXIgKCk7 Ci0rCQlwdWJsaWMgdW5vd25lZCBNZXRhLldpbmRvdyBnZXRfZm9jdXNfd2luZG93ICgpOwotKwkJ cHVibGljIE1ldGEuR3JhYk9wIGdldF9ncmFiX29wICgpOwotKwkJcHVibGljIHVpbnQgZ2V0X2tl eWJpbmRpbmdfYWN0aW9uICh1aW50IGtleWNvZGUsIHVsb25nIG1hc2spOwotKwkJcHVibGljIHVp bnQzMiBnZXRfbGFzdF91c2VyX3RpbWUgKCk7Ci0rCQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUgZ2V0 X21vbml0b3JfZ2VvbWV0cnkgKGludCBtb25pdG9yKTsKLSsJCXB1YmxpYyBib29sIGdldF9tb25p dG9yX2luX2Z1bGxzY3JlZW4gKGludCBtb25pdG9yKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X21vbml0 b3JfaW5kZXhfZm9yX3JlY3QgKE1ldGEuUmVjdGFuZ2xlIHJlY3QpOwotKwkJcHVibGljIGludCBn ZXRfbW9uaXRvcl9uZWlnaGJvcl9pbmRleCAoaW50IHdoaWNoX21vbml0b3IsIE1ldGEuRGlzcGxh eURpcmVjdGlvbiBkaXIpOwotKwkJcHVibGljIGZsb2F0IGdldF9tb25pdG9yX3NjYWxlIChpbnQg bW9uaXRvcik7Ci0rCQlwdWJsaWMgaW50IGdldF9uX21vbml0b3JzICgpOwotKwkJcHVibGljIHN0 cmluZyBnZXRfcGFkX2FjdGlvbl9sYWJlbCAoQ2x1dHRlci5JbnB1dERldmljZSBwYWQsIE1ldGEu UGFkQWN0aW9uVHlwZSBhY3Rpb25fdHlwZSwgdWludCBhY3Rpb25fbnVtYmVyKTsKLSsJCXB1Ymxp YyBpbnQgZ2V0X3ByaW1hcnlfbW9uaXRvciAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIE1ldGEuU2Vs ZWN0aW9uIGdldF9zZWxlY3Rpb24gKCk7Ci0rCQlwdWJsaWMgdm9pZCBnZXRfc2l6ZSAob3V0IGlu dCB3aWR0aCwgb3V0IGludCBoZWlnaHQpOwotKwkJcHVibGljIHVub3duZWQgTWV0YS5Tb3VuZFBs YXllciBnZXRfc291bmRfcGxheWVyICgpOwotKwkJcHVibGljIHVub3duZWQgTWV0YS5XaW5kb3cg Z2V0X3RhYl9jdXJyZW50IChNZXRhLlRhYkxpc3QgdHlwZSwgTWV0YS5Xb3Jrc3BhY2Ugd29ya3Nw YWNlKTsKLSsJCXB1YmxpYyBHTGliLkxpc3Q8d2VhayBNZXRhLldpbmRvdz4gZ2V0X3RhYl9saXN0 IChNZXRhLlRhYkxpc3QgdHlwZSwgTWV0YS5Xb3Jrc3BhY2U/IHdvcmtzcGFjZSk7Ci0rCQlwdWJs aWMgdW5vd25lZCBNZXRhLldpbmRvdyBnZXRfdGFiX25leHQgKE1ldGEuVGFiTGlzdCB0eXBlLCBN ZXRhLldvcmtzcGFjZSB3b3Jrc3BhY2UsIE1ldGEuV2luZG93PyB3aW5kb3csIGJvb2wgYmFja3dh cmQpOwotKwkJcHVibGljIHVub3duZWQgTWV0YS5Xb3Jrc3BhY2VNYW5hZ2VyIGdldF93b3Jrc3Bh Y2VfbWFuYWdlciAoKTsKLSsJCXB1YmxpYyB1aW50IGdyYWJfYWNjZWxlcmF0b3IgKHN0cmluZyBh Y2NlbGVyYXRvciwgTWV0YS5LZXlCaW5kaW5nRmxhZ3MgZmxhZ3MpOwotKwkJcHVibGljIGJvb2wg aXNfcG9pbnRlcl9lbXVsYXRpbmdfc2VxdWVuY2UgKENsdXR0ZXIuRXZlbnRTZXF1ZW5jZT8gc2Vx dWVuY2UpOwotKwkJcHVibGljIGJvb2wgcmVtb3ZlX2tleWJpbmRpbmcgKHN0cmluZyBuYW1lKTsK LSsJCXB1YmxpYyB2b2lkIHJlcXVlc3RfcGFkX29zZCAoQ2x1dHRlci5JbnB1dERldmljZSBwYWQs IGJvb2wgZWRpdGlvbl9tb2RlKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9jdXJzb3IgKE1ldGEuQ3Vy c29yIGN1cnNvcik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfaW5wdXRfZm9jdXMgKE1ldGEuV2luZG93 IHdpbmRvdywgYm9vbCBmb2N1c19mcmFtZSwgdWludDMyIHRpbWVzdGFtcCk7Ci0rCQlwdWJsaWMg R0xpYi5TTGlzdDx3ZWFrIE1ldGEuV2luZG93PiBzb3J0X3dpbmRvd3NfYnlfc3RhY2tpbmcgKEdM aWIuU0xpc3Q8TWV0YS5XaW5kb3c+IHdpbmRvd3MpOwotKwkJcHVibGljIGJvb2wgc3VwcG9ydHNf ZXh0ZW5kZWRfYmFycmllcnMgKCk7Ci0rCQlwdWJsaWMgdm9pZCB1bmZyZWV6ZV9rZXlib2FyZCAo dWludDMyIHRpbWVzdGFtcCk7Ci0rCQlwdWJsaWMgYm9vbCB1bmdyYWJfYWNjZWxlcmF0b3IgKHVp bnQgYWN0aW9uX2lkKTsKLSsJCXB1YmxpYyB2b2lkIHVuZ3JhYl9rZXlib2FyZCAodWludDMyIHRp bWVzdGFtcCk7Ci0rCQlwdWJsaWMgdm9pZCB1bnNldF9pbnB1dF9mb2N1cyAodWludDMyIHRpbWVz dGFtcCk7Ci0rCQlwdWJsaWMgYm9vbCB4c2VydmVyX3RpbWVfaXNfYmVmb3JlICh1aW50MzIgdGlt ZTEsIHVpbnQzMiB0aW1lMik7Ci0rCQlwdWJsaWMgQ2x1dHRlci5Nb2RpZmllclR5cGUgY29tcG9z aXRvcl9tb2RpZmllcnMgeyBnZXQ7IH0KLSsJCXB1YmxpYyBNZXRhLldpbmRvdyBmb2N1c193aW5k b3cgeyBnZXQ7IH0KLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBhY2NlbGVyYXRvcl9hY3RpdmF0ZWQg KHVpbnQgb2JqZWN0LCBDbHV0dGVyLklucHV0RGV2aWNlIHAwLCB1aW50IHAxKTsKLSsJCXB1Ymxp YyBzaWduYWwgdm9pZCBjbG9zaW5nICgpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIGN1cnNvcl91 cGRhdGVkICgpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIGdsX3ZpZGVvX21lbW9yeV9wdXJnZWQg KCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgZ3JhYl9vcF9iZWdpbiAoTWV0YS5XaW5kb3cgb2Jq ZWN0LCBNZXRhLkdyYWJPcCBwMCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgZ3JhYl9vcF9lbmQg KE1ldGEuV2luZG93IG9iamVjdCwgTWV0YS5HcmFiT3AgcDApOwotKwkJcHVibGljIHNpZ25hbCB2 b2lkIGluX2Z1bGxzY3JlZW5fY2hhbmdlZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwgYm9vbCBpbml0 X3hzZXJ2ZXIgKEdMaWIuVGFzayBvYmplY3QpOwotKwkJcHVibGljIHNpZ25hbCBib29sIG1vZGlm aWVyc19hY2NlbGVyYXRvcl9hY3RpdmF0ZWQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgb3Zl cmxheV9rZXkgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgcGFkX21vZGVfc3dpdGNoIChDbHV0 dGVyLklucHV0RGV2aWNlIG9iamVjdCwgdWludCBwMCwgdWludCBwMSk7Ci0rCQlwdWJsaWMgc2ln bmFsIHZvaWQgcmVzdGFja2VkICgpOwotKwkJcHVibGljIHNpZ25hbCBib29sIHJlc3RhcnQgKCk7 Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgc2hvd19vc2QgKGludCBvYmplY3QsIHN0cmluZyBwMCwg c3RyaW5nIHAxKTsKLSsJCXB1YmxpYyBzaWduYWwgdW5vd25lZCBDbHV0dGVyLkFjdG9yPyBzaG93 X3BhZF9vc2QgKENsdXR0ZXIuSW5wdXREZXZpY2UgcGFkLCBHTGliLlNldHRpbmdzIHNldHRpbmdz LCBzdHJpbmcgbGF5b3V0X3BhdGgsIGJvb2wgZWRpdGlvbl9tb2RlLCBpbnQgbW9uaXRvcl9pZHgp OwotKwkJcHVibGljIHNpZ25hbCBib29sIHNob3dfcmVzaXplX3BvcHVwIChib29sIG9iamVjdCwg TWV0YS5SZWN0YW5nbGUgcDAsIGludCBwMSwgaW50IHAyKTsKLSsJCXB1YmxpYyBzaWduYWwgYm9v bCBzaG93X3Jlc3RhcnRfbWVzc2FnZSAoc3RyaW5nPyBtZXNzYWdlKTsKLSsJCXB1YmxpYyBzaWdu YWwgdm9pZCBzaG93aW5nX2Rlc2t0b3BfY2hhbmdlZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9p ZCB3aW5kb3dfY3JlYXRlZCAoTWV0YS5XaW5kb3cgb2JqZWN0KTsKLSsJCXB1YmxpYyBzaWduYWwg dm9pZCB3aW5kb3dfZGVtYW5kc19hdHRlbnRpb24gKE1ldGEuV2luZG93IG9iamVjdCk7Ci0rCQlw dWJsaWMgc2lnbmFsIHZvaWQgd2luZG93X2VudGVyZWRfbW9uaXRvciAoaW50IG9iamVjdCwgTWV0 YS5XaW5kb3cgcDApOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIHdpbmRvd19sZWZ0X21vbml0b3Ig KGludCBvYmplY3QsIE1ldGEuV2luZG93IHAwKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCB3aW5k b3dfbWFya2VkX3VyZ2VudCAoTWV0YS5XaW5kb3cgb2JqZWN0KTsKLSsJCXB1YmxpYyBzaWduYWwg dm9pZCB3b3JrYXJlYXNfY2hhbmdlZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCB4MTFfZGlz cGxheV9jbG9zaW5nICgpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIHgxMV9kaXNwbGF5X29wZW5l ZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCB4MTFfZGlzcGxheV9zZXR1cCAoKTsKLSsJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLWRuZC5oIiwgdHlwZV9pZCA9 ICJtZXRhX2RuZF9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3MgRG5kIDogR0xpYi5PYmpl Y3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJv dGVjdGVkIERuZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBkbmRfZW50ZXIgKCk7Ci0rCQlw dWJsaWMgc2lnbmFsIHZvaWQgZG5kX2xlYXZlICgpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIGRu ZF9wb3NpdGlvbl9jaGFuZ2UgKGludCBvYmplY3QsIGludCBwMCk7Ci0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0r CVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgRnJhbWUgewotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21ldGEtaWRsZS1tb25pdG9yLmgiLCB0eXBlX2lkID0gIm1ldGFf aWRsZV9tb25pdG9yX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBJZGxlTW9uaXRvciA6 IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNl KV0KLSsJCXByb3RlY3RlZCBJZGxlTW9uaXRvciAoKTsKLSsJCXB1YmxpYyB1aW50IGFkZF9pZGxl X3dhdGNoICh1aW50NjQgaW50ZXJ2YWxfbXNlYywgb3duZWQgTWV0YS5JZGxlTW9uaXRvcldhdGNo RnVuYz8gY2FsbGJhY2spOwotKwkJcHVibGljIHVpbnQgYWRkX3VzZXJfYWN0aXZlX3dhdGNoIChv d25lZCBNZXRhLklkbGVNb25pdG9yV2F0Y2hGdW5jPyBjYWxsYmFjayk7Ci0rCQlwdWJsaWMgc3Rh dGljIHVub3duZWQgTWV0YS5JZGxlTW9uaXRvciBnZXRfY29yZSAoKTsKLSsJCXB1YmxpYyBpbnQ2 NCBnZXRfaWRsZXRpbWUgKCk7Ci0rCQlwdWJsaWMgdm9pZCByZW1vdmVfd2F0Y2ggKHVpbnQgaWQp OwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgQ2x1dHRlci5JbnB1dERldmljZSBk ZXZpY2UgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19ib3hlZF9jb3B5Iiwg ZnJlZV9mdW5jdGlvbiA9ICJnX2JveGVkX2ZyZWUiLCB0eXBlX2lkID0gIm1ldGFfa2V5X2JpbmRp bmdfZ2V0X3R5cGUgKCkiKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBLZXlCaW5kaW5n IHsKLSsJCXB1YmxpYyB1aW50IGdldF9tYXNrICgpOwotKwkJcHVibGljIE1ldGEuVmlydHVhbE1v ZGlmaWVyIGdldF9tb2RpZmllcnMgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X25h bWUgKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19idWlsdGluICgpOwotKwkJcHVibGljIGJvb2wgaXNf cmV2ZXJzZWQgKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gIm1ldGFfa2V5YmluZGluZ3Nfc2V0X2N1 c3RvbV9oYW5kbGVyIildCi0rCQlwdWJsaWMgc3RhdGljIGJvb2wgc2V0X2N1c3RvbV9oYW5kbGVy IChzdHJpbmcgbmFtZSwgb3duZWQgTWV0YS5LZXlIYW5kbGVyRnVuYz8gaGFuZGxlcik7Ci0rCX0K LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS1sYXVuY2gtY29udGV4dC5o IiwgdHlwZV9pZCA9ICJtZXRhX2xhdW5jaF9jb250ZXh0X2dldF90eXBlICgpIildCi0rCXB1Ymxp YyBjbGFzcyBMYXVuY2hDb250ZXh0IDogR0xpYi5BcHBMYXVuY2hDb250ZXh0IHsKLSsJCVtDQ29k ZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBMYXVuY2hD b250ZXh0ICgpOwotKwkJcHVibGljIHZvaWQgc2V0X3RpbWVzdGFtcCAodWludDMyIHRpbWVzdGFt cCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfd29ya3NwYWNlIChNZXRhLldvcmtzcGFjZSB3b3Jrc3Bh Y2UpOwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgTWV0YS5EaXNwbGF5IGRpc3Bs YXkgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlw dWJsaWMgdWludCB0aW1lc3RhbXAgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2Rd Ci0rCQlwdWJsaWMgTWV0YS5Xb3Jrc3BhY2Ugd29ya3NwYWNlIHsgb3duZWQgZ2V0OyBzZXQ7IH0K LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLW1vbml0b3ItbWFu YWdlci5oIiwgdHlwZV9pZCA9ICJtZXRhX21vbml0b3JfbWFuYWdlcl9nZXRfdHlwZSAoKSIpXQot KwlwdWJsaWMgY2xhc3MgTW9uaXRvck1hbmFnZXIgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUg KGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgTW9uaXRvck1h bmFnZXIgKCk7Ci0rCQlwdWJsaWMgYm9vbCBjYW5fc3dpdGNoX2NvbmZpZyAoKTsKLSsJCXB1Ymxp YyBzdGF0aWMgdW5vd25lZCBNZXRhLk1vbml0b3JNYW5hZ2VyIEBnZXQgKCk7Ci0rCQlwdWJsaWMg c3RhdGljIGludCBnZXRfZGlzcGxheV9jb25maWd1cmF0aW9uX3RpbWVvdXQgKCk7Ci0rCQlwdWJs aWMgYm9vbCBnZXRfaXNfYnVpbHRpbl9kaXNwbGF5X29uICgpOwotKwkJcHVibGljIGludCBnZXRf bW9uaXRvcl9mb3JfY29ubmVjdG9yIChzdHJpbmcgY29ubmVjdG9yKTsKLSsJCXB1YmxpYyBib29s IGdldF9wYW5lbF9vcmllbnRhdGlvbl9tYW5hZ2VkICgpOwotKwkJcHVibGljIE1ldGEuTW9uaXRv clN3aXRjaENvbmZpZ1R5cGUgZ2V0X3N3aXRjaF9jb25maWcgKCk7Ci0rCQlwdWJsaWMgdm9pZCBz d2l0Y2hfY29uZmlnIChNZXRhLk1vbml0b3JTd2l0Y2hDb25maWdUeXBlIGNvbmZpZ190eXBlKTsK LSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIE1ldGEuQmFja2VuZCBiYWNrZW5kIHsg b3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCXB1YmxpYyBib29sIHBhbmVsX29yaWVudGF0aW9u X21hbmFnZWQgeyBnZXQ7IH0KLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBjb25maXJtX2Rpc3BsYXlf Y2hhbmdlICgpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIG1vbml0b3JzX2NoYW5nZWQgKCk7Ci0r CQlwdWJsaWMgc2lnbmFsIHZvaWQgbW9uaXRvcnNfY2hhbmdlZF9pbnRlcm5hbCAoKTsKLSsJCXB1 YmxpYyBzaWduYWwgdm9pZCBwb3dlcl9zYXZlX21vZGVfY2hhbmdlZCAoKTsKLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tZXRhLXBsdWdpbi5oIiwgdHlwZV9pZCA9ICJt ZXRhX3BsdWdpbl9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgUGx1Z2lu IDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFs c2UpXQotKwkJcHJvdGVjdGVkIFBsdWdpbiAoKTsKLSsJCXB1YmxpYyBib29sIGJlZ2luX21vZGFs IChNZXRhLk1vZGFsT3B0aW9ucyBvcHRpb25zLCB1aW50MzIgdGltZXN0YW1wKTsKLSsJCXB1Ymxp YyB2b2lkIGNvbXBsZXRlX2Rpc3BsYXlfY2hhbmdlIChib29sIG9rKTsKLSsJCVtOb1dyYXBwZXJd Ci0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGNvbmZpcm1fZGlzcGxheV9jaGFuZ2UgKCk7Ci0rCQlb Tm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBkZXN0cm95IChNZXRhLldpbmRvd0Fj dG9yIGFjdG9yKTsKLSsJCXB1YmxpYyB2b2lkIGRlc3Ryb3lfY29tcGxldGVkIChNZXRhLldpbmRv d0FjdG9yIGFjdG9yKTsKLSsJCXB1YmxpYyB2b2lkIGVuZF9tb2RhbCAodWludDMyIHRpbWVzdGFt cCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBNZXRhLkRpc3BsYXkgZ2V0X2Rpc3BsYXkgKCk7Ci0rCQlw dWJsaWMgdW5vd25lZCBNZXRhLlBsdWdpbkluZm8/IGdldF9pbmZvICgpOwotKwkJW05vV3JhcHBl cl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgaGlkZV90aWxlX3ByZXZpZXcgKCk7Ci0rCQlbTm9X cmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgYm9vbCBrZXliaW5kaW5nX2ZpbHRlciAoTWV0YS5L ZXlCaW5kaW5nIGJpbmRpbmcpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZv aWQga2lsbF9zd2l0Y2hfd29ya3NwYWNlICgpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2 aXJ0dWFsIHZvaWQga2lsbF93aW5kb3dfZWZmZWN0cyAoTWV0YS5XaW5kb3dBY3RvciBhY3Rvcik7 Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBsb2NhdGVfcG9pbnRlciAo KTsKLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCBtYW5hZ2VyX3NldF9wbHVnaW5fdHlwZSAoR0xpYi5U eXBlIGd0eXBlKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIG1hcCAo TWV0YS5XaW5kb3dBY3RvciBhY3Rvcik7Ci0rCQlwdWJsaWMgdm9pZCBtYXBfY29tcGxldGVkIChN ZXRhLldpbmRvd0FjdG9yIGFjdG9yKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVh bCB2b2lkIG1pbmltaXplIChNZXRhLldpbmRvd0FjdG9yIGFjdG9yKTsKLSsJCXB1YmxpYyB2b2lk IG1pbmltaXplX2NvbXBsZXRlZCAoTWV0YS5XaW5kb3dBY3RvciBhY3Rvcik7Ci0rCQlbTm9XcmFw cGVyXQotKwkJcHVibGljIHZpcnR1YWwgdW5vd25lZCBNZXRhLlBsdWdpbkluZm8/IHBsdWdpbl9p bmZvICgpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgc2hvd190aWxl X3ByZXZpZXcgKE1ldGEuV2luZG93IHdpbmRvdywgTWV0YS5SZWN0YW5nbGUgdGlsZV9yZWN0LCBp bnQgdGlsZV9tb25pdG9yX251bWJlcik7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1 YWwgdm9pZCBzaG93X3dpbmRvd19tZW51IChNZXRhLldpbmRvdyB3aW5kb3csIE1ldGEuV2luZG93 TWVudVR5cGUgbWVudSwgaW50IHgsIGludCB5KTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMg dmlydHVhbCB2b2lkIHNob3dfd2luZG93X21lbnVfZm9yX3JlY3QgKE1ldGEuV2luZG93IHdpbmRv dywgTWV0YS5XaW5kb3dNZW51VHlwZSBtZW51LCBNZXRhLlJlY3RhbmdsZSByZWN0KTsKLSsJCVtO b1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHNpemVfY2hhbmdlIChNZXRhLldpbmRv d0FjdG9yIGFjdG9yLCBNZXRhLlNpemVDaGFuZ2Ugd2hpY2hfY2hhbmdlLCBNZXRhLlJlY3Rhbmds ZSBvbGRfZnJhbWVfcmVjdCwgTWV0YS5SZWN0YW5nbGUgb2xkX2J1ZmZlcl9yZWN0KTsKLSsJCXB1 YmxpYyB2b2lkIHNpemVfY2hhbmdlX2NvbXBsZXRlZCAoTWV0YS5XaW5kb3dBY3RvciBhY3Rvcik7 Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBzaXplX2NoYW5nZWQgKE1l dGEuV2luZG93QWN0b3IgYWN0b3IpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFs IHZvaWQgc3RhcnQgKCk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBz d2l0Y2hfd29ya3NwYWNlIChpbnQgZnJvbSwgaW50IHRvLCBNZXRhLk1vdGlvbkRpcmVjdGlvbiBk aXJlY3Rpb24pOwotKwkJcHVibGljIHZvaWQgc3dpdGNoX3dvcmtzcGFjZV9jb21wbGV0ZWQgKCk7 Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCB1bm1pbmltaXplIChNZXRh LldpbmRvd0FjdG9yIGFjdG9yKTsKLSsJCXB1YmxpYyB2b2lkIHVubWluaW1pemVfY29tcGxldGVk IChNZXRhLldpbmRvd0FjdG9yIGFjdG9yKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmly dHVhbCBib29sIHhldmVudF9maWx0ZXIgKFguRXZlbnQgZXZlbnQpOwotKwl9Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtcmVtb3RlLWFjY2Vzcy1jb250cm9sbGVyLmgi LCB0eXBlX2lkID0gIm1ldGFfcmVtb3RlX2FjY2Vzc19jb250cm9sbGVyX2dldF90eXBlICgpIild Ci0rCXB1YmxpYyBjbGFzcyBSZW1vdGVBY2Nlc3NDb250cm9sbGVyIDogR0xpYi5PYmplY3Qgewot KwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVk IFJlbW90ZUFjY2Vzc0NvbnRyb2xsZXIgKCk7Ci0rCQlwdWJsaWMgdm9pZCBpbmhpYml0X3JlbW90 ZV9hY2Nlc3MgKCk7Ci0rCQlwdWJsaWMgdm9pZCB1bmluaGliaXRfcmVtb3RlX2FjY2VzcyAoKTsK LSsJCXB1YmxpYyBzaWduYWwgdm9pZCBuZXdfaGFuZGxlIChNZXRhLlJlbW90ZUFjY2Vzc0hhbmRs ZSBvYmplY3QpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEt cmVtb3RlLWFjY2Vzcy1jb250cm9sbGVyLmgiLCB0eXBlX2lkID0gIm1ldGFfcmVtb3RlX2FjY2Vz c19oYW5kbGVfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIFJlbW90ZUFjY2Vzc0hhbmRs ZSA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZh bHNlKV0KLSsJCXByb3RlY3RlZCBSZW1vdGVBY2Nlc3NIYW5kbGUgKCk7Ci0rCQlwdWJsaWMgYm9v bCBnZXRfZGlzYWJsZV9hbmltYXRpb25zICgpOwotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBzdG9w ICgpOwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgYm9vbCBpc19yZWNvcmRpbmcg eyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIHNpZ25hbCB2b2lkIHN0b3BwZWQgKCk7Ci0r CX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS1zZWxlY3Rpb24uaCIs IHR5cGVfaWQgPSAibWV0YV9zZWxlY3Rpb25fZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNz IFNlbGVjdGlvbiA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5j dGlvbiA9IGZhbHNlKV0KLSsJCXB1YmxpYyBTZWxlY3Rpb24gKE1ldGEuRGlzcGxheSBkaXNwbGF5 KTsKLSsJCXB1YmxpYyBHTGliLkxpc3Q8c3RyaW5nPiBnZXRfbWltZXR5cGVzIChNZXRhLlNlbGVj dGlvblR5cGUgc2VsZWN0aW9uX3R5cGUpOwotKwkJcHVibGljIHZvaWQgc2V0X293bmVyIChNZXRh LlNlbGVjdGlvblR5cGUgc2VsZWN0aW9uX3R5cGUsIE1ldGEuU2VsZWN0aW9uU291cmNlIG93bmVy KTsKLSsJCXB1YmxpYyBhc3luYyBib29sIHRyYW5zZmVyX2FzeW5jIChNZXRhLlNlbGVjdGlvblR5 cGUgc2VsZWN0aW9uX3R5cGUsIHN0cmluZyBtaW1ldHlwZSwgc3NpemVfdCBzaXplLCBHTGliLk91 dHB1dFN0cmVhbSBvdXRwdXQsIEdMaWIuQ2FuY2VsbGFibGU/IGNhbmNlbGxhYmxlKSB0aHJvd3Mg R0xpYi5FcnJvcjsKLSsJCXB1YmxpYyB2b2lkIHVuc2V0X293bmVyIChNZXRhLlNlbGVjdGlvblR5 cGUgc2VsZWN0aW9uX3R5cGUsIE1ldGEuU2VsZWN0aW9uU291cmNlIG93bmVyKTsKLSsJCXB1Ymxp YyBzaWduYWwgdm9pZCBvd25lcl9jaGFuZ2VkICh1aW50IG9iamVjdCwgTWV0YS5TZWxlY3Rpb25T b3VyY2UgcDApOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEt c2VsZWN0aW9uLmgiLCB0eXBlX2lkID0gIm1ldGFfc2VsZWN0aW9uX3NvdXJjZV9nZXRfdHlwZSAo KSIpXQotKwlwdWJsaWMgY2xhc3MgU2VsZWN0aW9uU291cmNlIDogR0xpYi5PYmplY3QgewotKwkJ W0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFNl bGVjdGlvblNvdXJjZSAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIEdMaWIuTGlzdDxzdHJpbmc+IGdl dF9taW1ldHlwZXMgKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19hY3RpdmUgKCk7Ci0rCQlwdWJsaWMg dmlydHVhbCBhc3luYyBHTGliLklucHV0U3RyZWFtIHJlYWRfYXN5bmMgKHN0cmluZyBtaW1ldHlw ZSwgR0xpYi5DYW5jZWxsYWJsZT8gY2FuY2VsbGFibGUpIHRocm93cyBHTGliLkVycm9yOwotKwkJ cHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgYWN0aXZhdGVkICgpOwotKwkJcHVibGljIHZpcnR1 YWwgc2lnbmFsIHZvaWQgZGVhY3RpdmF0ZWQgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvbWV0YS1zZWxlY3Rpb24tc291cmNlLW1lbW9yeS5oIiwgdHlwZV9pZCA9 ICJtZXRhX3NlbGVjdGlvbl9zb3VyY2VfbWVtb3J5X2dldF90eXBlICgpIildCi0rCXB1YmxpYyBj bGFzcyBTZWxlY3Rpb25Tb3VyY2VNZW1vcnkgOiBNZXRhLlNlbGVjdGlvblNvdXJjZSB7Ci0rCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJNZXRhU2VsZWN0 aW9uU291cmNlKiIpXQotKwkJcHVibGljIFNlbGVjdGlvblNvdXJjZU1lbW9yeSAoc3RyaW5nIG1p bWV0eXBlLCBHTGliLkJ5dGVzIGNvbnRlbnQpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21ldGEtc2V0dGluZ3MuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlb Q29tcGFjdF0KLSsJcHVibGljIGNsYXNzIFNldHRpbmdzIHsKLSsJCXB1YmxpYyBpbnQgZ2V0X2Zv bnRfZHBpICgpOwotKwkJcHVibGljIGludCBnZXRfdWlfc2NhbGluZ19mYWN0b3IgKCk7Ci0rCX0K LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgcmVmX2Z1bmN0aW9u ID0gIm1ldGFfc2hhZG93X3JlZiIsIHR5cGVfaWQgPSAibWV0YV9zaGFkb3dfZ2V0X3R5cGUgKCki LCB1bnJlZl9mdW5jdGlvbiA9ICJtZXRhX3NoYWRvd191bnJlZiIpXQotKwlbQ29tcGFjdF0KLSsJ cHVibGljIGNsYXNzIFNoYWRvdyB7Ci0rCQlwdWJsaWMgdm9pZCBnZXRfYm91bmRzIChpbnQgd2lu ZG93X3gsIGludCB3aW5kb3dfeSwgaW50IHdpbmRvd193aWR0aCwgaW50IHdpbmRvd19oZWlnaHQs IENhaXJvLlJlY3RhbmdsZUludCBib3VuZHMpOwotKwkJcHVibGljIHZvaWQgcGFpbnQgKENvZ2wu RnJhbWVidWZmZXIgZnJhbWVidWZmZXIsIGludCB3aW5kb3dfeCwgaW50IHdpbmRvd195LCBpbnQg d2luZG93X3dpZHRoLCBpbnQgd2luZG93X2hlaWdodCwgdWludDggb3BhY2l0eSwgQ2Fpcm8uUmVn aW9uPyBjbGlwLCBib29sIGNsaXBfc3RyaWN0bHkpOwotKwkJcHVibGljIE1ldGEuU2hhZG93IEBy ZWYgKCk7Ci0rCQlwdWJsaWMgdm9pZCB1bnJlZiAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9tZXRhLXNoYWRvdy1mYWN0b3J5LmgiLCB0eXBlX2lkID0gIm1ldGFf c2hhZG93X2ZhY3RvcnlfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIFNoYWRvd0ZhY3Rv cnkgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBm YWxzZSldCi0rCQlwdWJsaWMgU2hhZG93RmFjdG9yeSAoKTsKLSsJCXB1YmxpYyBzdGF0aWMgdW5v d25lZCBNZXRhLlNoYWRvd0ZhY3RvcnkgZ2V0X2RlZmF1bHQgKCk7Ci0rCQlwdWJsaWMgTWV0YS5T aGFkb3dQYXJhbXMgZ2V0X3BhcmFtcyAoc3RyaW5nIGNsYXNzX25hbWUsIGJvb2wgZm9jdXNlZCk7 Ci0rCQlwdWJsaWMgTWV0YS5TaGFkb3cgZ2V0X3NoYWRvdyAoTWV0YS5XaW5kb3dTaGFwZSBzaGFw ZSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBzdHJpbmcgY2xhc3NfbmFtZSwgYm9vbCBmb2N1c2Vk KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9wYXJhbXMgKHN0cmluZyBjbGFzc19uYW1lLCBib29sIGZv Y3VzZWQsIE1ldGEuU2hhZG93UGFyYW1zIEBwYXJhbXMpOwotKwkJcHVibGljIHNpZ25hbCB2b2lk IGNoYW5nZWQgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0 YS1zaGFwZWQtdGV4dHVyZS5oIiwgdHlwZV9pZCA9ICJtZXRhX3NoYXBlZF90ZXh0dXJlX2dldF90 eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBTaGFwZWRUZXh0dXJlIDogR0xpYi5PYmplY3QsIENs dXR0ZXIuQ29udGVudCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxz ZSldCi0rCQlwcm90ZWN0ZWQgU2hhcGVkVGV4dHVyZSAoKTsKLSsJCXB1YmxpYyBDYWlyby5TdXJm YWNlPyBnZXRfaW1hZ2UgKENhaXJvLlJlY3RhbmdsZUludD8gY2xpcCk7Ci0rCQlwdWJsaWMgdW5v d25lZCBDb2dsLlRleHR1cmUgZ2V0X3RleHR1cmUgKCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfY3Jl YXRlX21pcG1hcHMgKGJvb2wgY3JlYXRlX21pcG1hcHMpOwotKwkJcHVibGljIHZvaWQgc2V0X21h c2tfdGV4dHVyZSAoQ29nbC5UZXh0dXJlIG1hc2tfdGV4dHVyZSk7Ci0rCQlwdWJsaWMgc2lnbmFs IHZvaWQgc2l6ZV9jaGFuZ2VkICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJtZXRhL21ldGEtc291bmQtcGxheWVyLmgiLCB0eXBlX2lkID0gIm1ldGFfc291bmRfcGxheWVy X2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBTb3VuZFBsYXllciA6IEdMaWIuT2JqZWN0 IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3Rl Y3RlZCBTb3VuZFBsYXllciAoKTsKLSsJCXB1YmxpYyB2b2lkIHBsYXlfZnJvbV9maWxlIChHTGli LkZpbGUgZmlsZSwgc3RyaW5nIGRlc2NyaXB0aW9uLCBHTGliLkNhbmNlbGxhYmxlPyBjYW5jZWxs YWJsZSA9IG51bGwpOwotKwkJcHVibGljIHZvaWQgcGxheV9mcm9tX3RoZW1lIChzdHJpbmcgbmFt ZSwgc3RyaW5nIGRlc2NyaXB0aW9uLCBHTGliLkNhbmNlbGxhYmxlPyBjYW5jZWxsYWJsZSA9IG51 bGwpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtc3RhZ2Uu aCIsIHR5cGVfaWQgPSAibWV0YV9zdGFnZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3Mg U3RhZ2UgOiBDbHV0dGVyLlN0YWdlLCBBdGsuSW1wbGVtZW50b3IsIENsdXR0ZXIuQW5pbWF0YWJs ZSwgQ2x1dHRlci5Db250YWluZXIsIENsdXR0ZXIuU2NyaXB0YWJsZSB7Ci0rCQlbQ0NvZGUgKGhh c19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgU3RhZ2UgKCk7Ci0r CQlwdWJsaWMgc3RhdGljIGJvb2wgaXNfZm9jdXNlZCAoTWV0YS5EaXNwbGF5IGRpc3BsYXkpOwot KwkJcHVibGljIHNpZ25hbCB2b2lkIGFjdG9yc19wYWludGVkICgpOwotKwl9Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtc3RhcnR1cC1ub3RpZmljYXRpb24uaCIsIHR5 cGVfaWQgPSAibWV0YV9zdGFydHVwX25vdGlmaWNhdGlvbl9nZXRfdHlwZSAoKSIpXQotKwlwdWJs aWMgY2xhc3MgU3RhcnR1cE5vdGlmaWNhdGlvbiA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAo aGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBTdGFydHVwTm90 aWZpY2F0aW9uICgpOwotKwkJcHVibGljIE1ldGEuTGF1bmNoQ29udGV4dCBjcmVhdGVfbGF1bmNo ZXIgKCk7Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBNZXRhLkRpc3BsYXkgZGlz cGxheSB7IG93bmVkIGdldDsgY29uc3RydWN0OyB9Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgY2hh bmdlZCAodm9pZCogb2JqZWN0KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi bWV0YS9tYWluLmgiLCB0eXBlX2lkID0gIm1ldGFfc3RhcnR1cF9zZXF1ZW5jZV9nZXRfdHlwZSAo KSIpXQotKwlwdWJsaWMgY2xhc3MgU3RhcnR1cFNlcXVlbmNlIDogR0xpYi5PYmplY3QgewotKwkJ W0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFN0 YXJ0dXBTZXF1ZW5jZSAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfYXBwbGljYXRp b25faWQgKCk7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfY29tcGxldGVkICgpOwotKwkJcHVibGljIHVu b3duZWQgc3RyaW5nIGdldF9pY29uX25hbWUgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcg Z2V0X2lkICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9uYW1lICgpOwotKwkJcHVi bGljIHVpbnQ2NCBnZXRfdGltZXN0YW1wICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdl dF93bWNsYXNzICgpOwotKwkJcHVibGljIGludCBnZXRfd29ya3NwYWNlICgpOwotKwkJcHVibGlj IHN0cmluZyBhcHBsaWNhdGlvbl9pZCB7IGdldDsgY29uc3RydWN0OyB9Ci0rCQlwdWJsaWMgc3Ry aW5nIGljb25fbmFtZSB7IGdldDsgY29uc3RydWN0OyB9Ci0rCQlwdWJsaWMgc3RyaW5nIGlkIHsg Z2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCXB1YmxpYyBzdHJpbmcgbmFtZSB7IGdldDsgY29uc3RydWN0 OyB9Ci0rCQlwdWJsaWMgdWludDY0IHRpbWVzdGFtcCB7IGdldDsgY29uc3RydWN0OyB9Ci0rCQlw dWJsaWMgc3RyaW5nIHdtY2xhc3MgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIGludCB3 b3Jrc3BhY2UgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJW0hhc0VtaXR0ZXJdCi0rCQlwdWJsaWMg c2lnbmFsIHZvaWQgY29tcGxldGUgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvdGhlbWUuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0KLSsJ cHVibGljIGNsYXNzIFRoZW1lIHsKLSsJCXB1YmxpYyB2b2lkIGZyZWUgKCk7Ci0rCX0KLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS13YXlsYW5kLWNsaWVudC5oIiwgdHlw ZV9pZCA9ICJtZXRhX3dheWxhbmRfY2xpZW50X2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFz cyBXYXlsYW5kQ2xpZW50IDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHVibGljIFdheWxhbmRDbGllbnQgKEdMaWIuU3VicHJv Y2Vzc0xhdW5jaGVyIGxhdW5jaGVyKSB0aHJvd3MgR0xpYi5FcnJvcjsKLSsJCXB1YmxpYyB2b2lk IGhpZGVfZnJvbV93aW5kb3dfbGlzdCAoTWV0YS5XaW5kb3cgd2luZG93KTsKLSsJCXB1YmxpYyBi b29sIG93bnNfd2luZG93IChNZXRhLldpbmRvdyB3aW5kb3cpOwotKwkJcHVibGljIHZvaWQgc2hv d19pbl93aW5kb3dfbGlzdCAoTWV0YS5XaW5kb3cgd2luZG93KTsKLSsJCXB1YmxpYyBHTGliLlN1 YnByb2Nlc3Mgc3Bhd252IChNZXRhLkRpc3BsYXkgZGlzcGxheSwgW0NDb2RlIChhcnJheV9sZW5n dGggPSBmYWxzZSwgYXJyYXlfbnVsbF90ZXJtaW5hdGVkID0gdHJ1ZSldIHN0cmluZ1tdIGFyZ3Yp IHRocm93cyBHTGliLkVycm9yOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJt ZXRhL3dpbmRvdy5oIiwgdHlwZV9pZCA9ICJtZXRhX3dpbmRvd19nZXRfdHlwZSAoKSIpXQotKwlw dWJsaWMgYWJzdHJhY3QgY2xhc3MgV2luZG93IDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlICho YXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFdpbmRvdyAoKTsK LSsJCXB1YmxpYyB2b2lkIGFjdGl2YXRlICh1aW50MzIgY3VycmVudF90aW1lKTsKLSsJCXB1Ymxp YyB2b2lkIGFjdGl2YXRlX3dpdGhfd29ya3NwYWNlICh1aW50MzIgY3VycmVudF90aW1lLCBNZXRh LldvcmtzcGFjZSB3b3Jrc3BhY2UpOwotKwkJcHVibGljIGJvb2wgYWxsb3dzX21vdmUgKCk7Ci0r CQlwdWJsaWMgYm9vbCBhbGxvd3NfcmVzaXplICgpOwotKwkJcHVibGljIHZvaWQgYmVnaW5fZ3Jh Yl9vcCAoTWV0YS5HcmFiT3Agb3AsIGJvb2wgZnJhbWVfYWN0aW9uLCB1aW50MzIgdGltZXN0YW1w KTsKLSsJCXB1YmxpYyBib29sIGNhbl9jbG9zZSAoKTsKLSsJCXB1YmxpYyBib29sIGNhbl9tYXhp bWl6ZSAoKTsKLSsJCXB1YmxpYyBib29sIGNhbl9taW5pbWl6ZSAoKTsKLSsJCXB1YmxpYyBib29s IGNhbl9zaGFkZSAoKTsKLSsJCXB1YmxpYyB2b2lkIGNoYW5nZV93b3Jrc3BhY2UgKE1ldGEuV29y a3NwYWNlIHdvcmtzcGFjZSk7Ci0rCQlwdWJsaWMgdm9pZCBjaGFuZ2Vfd29ya3NwYWNlX2J5X2lu ZGV4IChpbnQgc3BhY2VfaW5kZXgsIGJvb2wgYXBwZW5kKTsKLSsJCXB1YmxpYyB2b2lkIGNoZWNr X2FsaXZlICh1aW50MzIgdGltZXN0YW1wKTsKLSsJCXB1YmxpYyBNZXRhLlJlY3RhbmdsZSBjbGll bnRfcmVjdF90b19mcmFtZV9yZWN0IChNZXRhLlJlY3RhbmdsZSBjbGllbnRfcmVjdCk7Ci0rCQlw dWJsaWMgdm9pZCBjb21wdXRlX2dyb3VwICgpOwotKwkJcHVibGljIHZvaWQgQGRlbGV0ZSAodWlu dDMyIHRpbWVzdGFtcCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBNZXRhLldpbmRvdyBmaW5kX3Jvb3Rf YW5jZXN0b3IgKCk7Ci0rCQlwdWJsaWMgdm9pZCBmb2N1cyAodWludDMyIHRpbWVzdGFtcCk7Ci0r CQlwdWJsaWMgdm9pZCBmb3JlYWNoX2FuY2VzdG9yIChNZXRhLldpbmRvd0ZvcmVhY2hGdW5jIGZ1 bmMpOwotKwkJcHVibGljIHZvaWQgZm9yZWFjaF90cmFuc2llbnQgKE1ldGEuV2luZG93Rm9yZWFj aEZ1bmMgZnVuYyk7Ci0rCQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUgZnJhbWVfcmVjdF90b19jbGll bnRfcmVjdCAoTWV0YS5SZWN0YW5nbGUgZnJhbWVfcmVjdCk7Ci0rCQlwdWJsaWMgTWV0YS5SZWN0 YW5nbGUgZ2V0X2J1ZmZlcl9yZWN0ICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9j bGllbnRfbWFjaGluZSAoKTsKLSsJCXB1YmxpYyBNZXRhLldpbmRvd0NsaWVudFR5cGUgZ2V0X2Ns aWVudF90eXBlICgpOwotKwkJcHVibGljIHVub3duZWQgR0xpYi5PYmplY3QgZ2V0X2NvbXBvc2l0 b3JfcHJpdmF0ZSAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfZGVzY3JpcHRpb24g KCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBNZXRhLkRpc3BsYXkgZ2V0X2Rpc3BsYXkgKCk7Ci0rCQlw dWJsaWMgdW5vd25lZCBDYWlyby5SZWdpb24/IGdldF9mcmFtZV9ib3VuZHMgKCk7Ci0rCQlwdWJs aWMgTWV0YS5SZWN0YW5nbGUgZ2V0X2ZyYW1lX3JlY3QgKCk7Ci0rCQlwdWJsaWMgTWV0YS5GcmFt ZVR5cGUgZ2V0X2ZyYW1lX3R5cGUgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X2d0 a19hcHBfbWVudV9vYmplY3RfcGF0aCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRf Z3RrX2FwcGxpY2F0aW9uX2lkICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9ndGtf YXBwbGljYXRpb25fb2JqZWN0X3BhdGggKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0 X2d0a19tZW51YmFyX29iamVjdF9wYXRoICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdl dF9ndGtfdGhlbWVfdmFyaWFudCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfZ3Rr X3VuaXF1ZV9idXNfbmFtZSAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfZ3RrX3dp bmRvd19vYmplY3RfcGF0aCAoKTsKLSsJCXB1YmxpYyBib29sIGdldF9pY29uX2dlb21ldHJ5IChv dXQgTWV0YS5SZWN0YW5nbGUgcmVjdCk7Ci0rCQlwdWJsaWMgdWludDY0IGdldF9pZCAoKTsKLSsJ CXB1YmxpYyBNZXRhLlN0YWNrTGF5ZXIgZ2V0X2xheWVyICgpOwotKwkJcHVibGljIE1ldGEuTWF4 aW1pemVGbGFncyBnZXRfbWF4aW1pemVkICgpOwotKwkJcHVibGljIGludCBnZXRfbW9uaXRvciAo KTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfbXV0dGVyX2hpbnRzICgpOwotKwkJcHVi bGljIGludCBnZXRfcGlkICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9yb2xlICgp OwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9zYW5kYm94ZWRfYXBwX2lkICgpOwotKwkJ cHVibGljIHVpbnQgZ2V0X3N0YWJsZV9zZXF1ZW5jZSAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0 cmluZyBnZXRfc3RhcnR1cF9pZCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIE1ldGEuV2luZG93PyBn ZXRfdGlsZV9tYXRjaCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfdGl0bGUgKCk7 Ci0rCQlwdWJsaWMgdW5vd25lZCBNZXRhLldpbmRvdyBnZXRfdHJhbnNpZW50X2ZvciAoKTsKLSsJ CXB1YmxpYyB1aW50MzIgZ2V0X3VzZXJfdGltZSAoKTsKLSsJCXB1YmxpYyBNZXRhLldpbmRvd1R5 cGUgZ2V0X3dpbmRvd190eXBlICgpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF93bV9j bGFzcyAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfd21fY2xhc3NfaW5zdGFuY2Ug KCk7Ci0rCQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUgZ2V0X3dvcmtfYXJlYV9hbGxfbW9uaXRvcnMg KCk7Ci0rCQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUgZ2V0X3dvcmtfYXJlYV9jdXJyZW50X21vbml0 b3IgKCk7Ci0rCQlwdWJsaWMgTWV0YS5SZWN0YW5nbGUgZ2V0X3dvcmtfYXJlYV9mb3JfbW9uaXRv ciAoaW50IHdoaWNoX21vbml0b3IpOwotKwkJcHVibGljIHVub3duZWQgTWV0YS5Xb3Jrc3BhY2Ug Z2V0X3dvcmtzcGFjZSAoKTsKLSsJCXB1YmxpYyBYLldpbmRvdyBnZXRfeHdpbmRvdyAoKTsKLSsJ CXB1YmxpYyB2b2lkIGdyb3VwX2xlYWRlcl9jaGFuZ2VkICgpOwotKwkJcHVibGljIGJvb2wgaGFz X2ZvY3VzICgpOwotKwkJcHVibGljIGJvb2wgaXNfYWJvdmUgKCk7Ci0rCQlwdWJsaWMgYm9vbCBp c19hbHdheXNfb25fYWxsX3dvcmtzcGFjZXMgKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19hbmNlc3Rv cl9vZl90cmFuc2llbnQgKE1ldGEuV2luZG93IHRyYW5zaWVudCk7Ci0rCQlwdWJsaWMgYm9vbCBp c19hdHRhY2hlZF9kaWFsb2cgKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19jbGllbnRfZGVjb3JhdGVk ICgpOwotKwkJcHVibGljIGJvb2wgaXNfZnVsbHNjcmVlbiAoKTsKLSsJCXB1YmxpYyBib29sIGlz X2hpZGRlbiAoKTsKLSsJCXB1YmxpYyBib29sIGlzX21vbml0b3Jfc2l6ZWQgKCk7Ci0rCQlwdWJs aWMgYm9vbCBpc19vbl9hbGxfd29ya3NwYWNlcyAoKTsKLSsJCXB1YmxpYyBib29sIGlzX29uX3By aW1hcnlfbW9uaXRvciAoKTsKLSsJCXB1YmxpYyBib29sIGlzX292ZXJyaWRlX3JlZGlyZWN0ICgp OwotKwkJcHVibGljIGJvb2wgaXNfcmVtb3RlICgpOwotKwkJcHVibGljIGJvb2wgaXNfc2NyZWVu X3NpemVkICgpOwotKwkJcHVibGljIGJvb2wgaXNfc2hhZGVkICgpOwotKwkJcHVibGljIGJvb2wg aXNfc2tpcF90YXNrYmFyICgpOwotKwkJcHVibGljIHZvaWQga2lsbCAoKTsKLSsJCXB1YmxpYyBi b29sIGxvY2F0ZWRfb25fd29ya3NwYWNlIChNZXRhLldvcmtzcGFjZSB3b3Jrc3BhY2UpOwotKwkJ cHVibGljIHZvaWQgbG93ZXIgKCk7Ci0rCQlwdWJsaWMgdm9pZCBtYWtlX2Fib3ZlICgpOwotKwkJ cHVibGljIHZvaWQgbWFrZV9mdWxsc2NyZWVuICgpOwotKwkJcHVibGljIHZvaWQgbWF4aW1pemUg KE1ldGEuTWF4aW1pemVGbGFncyBkaXJlY3Rpb25zKTsKLSsJCXB1YmxpYyB2b2lkIG1pbmltaXpl ICgpOwotKwkJcHVibGljIHZvaWQgbW92ZV9mcmFtZSAoYm9vbCB1c2VyX29wLCBpbnQgcm9vdF94 X253LCBpbnQgcm9vdF95X253KTsKLSsJCXB1YmxpYyB2b2lkIG1vdmVfcmVzaXplX2ZyYW1lIChi b29sIHVzZXJfb3AsIGludCByb290X3hfbncsIGludCByb290X3lfbncsIGludCB3LCBpbnQgaCk7 Ci0rCQlwdWJsaWMgdm9pZCBtb3ZlX3RvX21vbml0b3IgKGludCBtb25pdG9yKTsKLSsJCXB1Ymxp YyB2b2lkIHJhaXNlICgpOwotKwkJcHVibGljIHZvaWQgc2V0X2NvbXBvc2l0b3JfcHJpdmF0ZSAo R0xpYi5PYmplY3QgcHJpdik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfZGVtYW5kc19hdHRlbnRpb24g KCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfaWNvbl9nZW9tZXRyeSAoTWV0YS5SZWN0YW5nbGU/IHJl Y3QpOwotKwkJcHVibGljIHZvaWQgc2hhZGUgKHVpbnQzMiB0aW1lc3RhbXApOwotKwkJcHVibGlj IHZvaWQgc2hvdmVfdGl0bGViYXJfb25zY3JlZW4gKCk7Ci0rCQlwdWJsaWMgYm9vbCBzaG93aW5n X29uX2l0c193b3Jrc3BhY2UgKCk7Ci0rCQlwdWJsaWMgdm9pZCBzaHV0ZG93bl9ncm91cCAoKTsK LSsJCXB1YmxpYyB2b2lkIHN0aWNrICgpOwotKwkJcHVibGljIGJvb2wgdGl0bGViYXJfaXNfb25z Y3JlZW4gKCk7Ci0rCQlwdWJsaWMgdm9pZCB1bm1ha2VfYWJvdmUgKCk7Ci0rCQlwdWJsaWMgdm9p ZCB1bm1ha2VfZnVsbHNjcmVlbiAoKTsKLSsJCXB1YmxpYyB2b2lkIHVubWF4aW1pemUgKE1ldGEu TWF4aW1pemVGbGFncyBkaXJlY3Rpb25zKTsKLSsJCXB1YmxpYyB2b2lkIHVubWluaW1pemUgKCk7 Ci0rCQlwdWJsaWMgdm9pZCB1bnNldF9kZW1hbmRzX2F0dGVudGlvbiAoKTsKLSsJCXB1YmxpYyB2 b2lkIHVuc2hhZGUgKHVpbnQzMiB0aW1lc3RhbXApOwotKwkJcHVibGljIHZvaWQgdW5zdGljayAo KTsKLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGJvb2wgYWJvdmUgeyBnZXQ7IH0K LSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGJvb2wgYXBwZWFyc19mb2N1c2VkIHsg Z2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBib29sIGRlY29yYXRlZCB7 IGdldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgYm9vbCBkZW1hbmRzX2F0 dGVudGlvbiB7IGdldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgYm9vbCBm dWxsc2NyZWVuIHsgZ2V0OyB9Ci0rCQlwdWJsaWMgc3RyaW5nIGd0a19hcHBfbWVudV9vYmplY3Rf cGF0aCB7IGdldDsgfQotKwkJcHVibGljIHN0cmluZyBndGtfYXBwbGljYXRpb25faWQgeyBnZXQ7 IH0KLSsJCXB1YmxpYyBzdHJpbmcgZ3RrX2FwcGxpY2F0aW9uX29iamVjdF9wYXRoIHsgZ2V0OyB9 Ci0rCQlwdWJsaWMgc3RyaW5nIGd0a19tZW51YmFyX29iamVjdF9wYXRoIHsgZ2V0OyB9Ci0rCQlw dWJsaWMgc3RyaW5nIGd0a191bmlxdWVfYnVzX25hbWUgeyBnZXQ7IH0KLSsJCXB1YmxpYyBzdHJp bmcgZ3RrX3dpbmRvd19vYmplY3RfcGF0aCB7IGdldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2Rd Ci0rCQlwdWJsaWMgdm9pZCogaWNvbiB7IGdldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0r CQlwdWJsaWMgYm9vbCBtYXhpbWl6ZWRfaG9yaXpvbnRhbGx5IHsgZ2V0OyB9Ci0rCQlbTm9BY2Nl c3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBib29sIG1heGltaXplZF92ZXJ0aWNhbGx5IHsgZ2V0OyB9 Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyB2b2lkKiBtaW5pX2ljb24geyBnZXQ7 IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGJvb2wgbWluaW1pemVkIHsgZ2V0 OyB9Ci0rCQlwdWJsaWMgc3RyaW5nIG11dHRlcl9oaW50cyB7IGdldDsgfQotKwkJW05vQWNjZXNz b3JNZXRob2RdCi0rCQlwdWJsaWMgYm9vbCBvbl9hbGxfd29ya3NwYWNlcyB7IGdldDsgfQotKwkJ W05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgYm9vbCByZXNpemVhYmxlIHsgZ2V0OyB9Ci0r CQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBib29sIHNraXBfdGFza2JhciB7IGdldDsg fQotKwkJcHVibGljIHN0cmluZyB0aXRsZSB7IGdldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2Rd Ci0rCQlwdWJsaWMgYm9vbCB1cmdlbnQgeyBnZXQ7IH0KLSsJCXB1YmxpYyB1aW50IHVzZXJfdGlt ZSB7IGdldDsgfQotKwkJcHVibGljIE1ldGEuV2luZG93VHlwZSB3aW5kb3dfdHlwZSB7IGdldDsg fQotKwkJcHVibGljIHN0cmluZyB3bV9jbGFzcyB7IGdldDsgfQotKwkJcHVibGljIHNpZ25hbCB2 b2lkIHBvc2l0aW9uX2NoYW5nZWQgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgcmFpc2VkICgp OwotKwkJcHVibGljIHNpZ25hbCB2b2lkIHNob3duICgpOwotKwkJcHVibGljIHNpZ25hbCB2b2lk IHNpemVfY2hhbmdlZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCB1bm1hbmFnZWQgKCk7Ci0r CQlwdWJsaWMgc2lnbmFsIHZvaWQgdW5tYW5hZ2luZyAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9p ZCB3b3Jrc3BhY2VfY2hhbmdlZCAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tZXRhLXdpbmRvdy1hY3Rvci5oIiwgdHlwZV9pZCA9ICJtZXRhX3dpbmRvd19hY3Rv cl9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgV2luZG93QWN0b3IgOiBD bHV0dGVyLkFjdG9yLCBBdGsuSW1wbGVtZW50b3IsIENsdXR0ZXIuQW5pbWF0YWJsZSwgQ2x1dHRl ci5Db250YWluZXIsIENsdXR0ZXIuU2NyaXB0YWJsZSB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1 Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgV2luZG93QWN0b3IgKCk7Ci0rCQlw dWJsaWMgdm9pZCBmcmVlemUgKCk7Ci0rCQlwdWJsaWMgQ2Fpcm8uU3VyZmFjZT8gZ2V0X2ltYWdl IChDYWlyby5SZWN0YW5nbGVJbnQ/IGNsaXApOwotKwkJcHVibGljIHVub3duZWQgTWV0YS5XaW5k b3cgZ2V0X21ldGFfd2luZG93ICgpOwotKwkJcHVibGljIHVub3duZWQgTWV0YS5TaGFwZWRUZXh0 dXJlIGdldF90ZXh0dXJlICgpOwotKwkJcHVibGljIGJvb2wgaXNfZGVzdHJveWVkICgpOwotKwkJ cHVibGljIHZvaWQgc3luY192aXNpYmlsaXR5ICgpOwotKwkJcHVibGljIHZvaWQgdGhhdyAoKTsK LSsJCXB1YmxpYyBNZXRhLldpbmRvdyBtZXRhX3dpbmRvdyB7IGdldDsgY29uc3RydWN0OyB9Ci0r CQlwdWJsaWMgc2lnbmFsIHZvaWQgZGFtYWdlZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBl ZmZlY3RzX2NvbXBsZXRlZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBmaXJzdF9mcmFtZSAo KTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCB0aGF3ZWQgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS13aW5kb3ctZ3JvdXAuaCIsIHR5cGVfaWQgPSAibWV0 YV93aW5kb3dfZ3JvdXBfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIFdpbmRvd0dyb3Vw IDogQ2x1dHRlci5BY3RvciwgQXRrLkltcGxlbWVudG9yLCBDbHV0dGVyLkFuaW1hdGFibGUsIENs dXR0ZXIuQ29udGFpbmVyLCBDbHV0dGVyLlNjcmlwdGFibGUgewotKwkJW0NDb2RlIChoYXNfY29u c3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFdpbmRvd0dyb3VwICgpOwot Kwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtd2luZG93LXNoYXBl LmgiLCByZWZfZnVuY3Rpb24gPSAibWV0YV93aW5kb3dfc2hhcGVfcmVmIiwgdHlwZV9pZCA9ICJt ZXRhX3dpbmRvd19zaGFwZV9nZXRfdHlwZSAoKSIsIHVucmVmX2Z1bmN0aW9uID0gIm1ldGFfd2lu ZG93X3NoYXBlX3VucmVmIildCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgV2luZG93U2hh cGUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHVi bGljIFdpbmRvd1NoYXBlIChDYWlyby5SZWdpb24gcmVnaW9uKTsKLSsJCXB1YmxpYyBib29sIGVx dWFsIChNZXRhLldpbmRvd1NoYXBlIHNoYXBlX2IpOwotKwkJcHVibGljIHZvaWQgZ2V0X2JvcmRl cnMgKGludCBib3JkZXJfdG9wLCBpbnQgYm9yZGVyX3JpZ2h0LCBpbnQgYm9yZGVyX2JvdHRvbSwg aW50IGJvcmRlcl9sZWZ0KTsKLSsJCXB1YmxpYyB1aW50IGhhc2ggKCk7Ci0rCQlwdWJsaWMgTWV0 YS5XaW5kb3dTaGFwZSBAcmVmICgpOwotKwkJcHVibGljIENhaXJvLlJlZ2lvbiB0b19yZWdpb24g KGludCBjZW50ZXJfd2lkdGgsIGludCBjZW50ZXJfaGVpZ2h0KTsKLSsJCXB1YmxpYyB2b2lkIHVu cmVmICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL3dvcmtzcGFj ZS5oIiwgdHlwZV9pZCA9ICJtZXRhX3dvcmtzcGFjZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMg Y2xhc3MgV29ya3NwYWNlIDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFdvcmtzcGFjZSAoKTsKLSsJCXB1Ymxp YyB2b2lkIGFjdGl2YXRlICh1aW50MzIgdGltZXN0YW1wKTsKLSsJCXB1YmxpYyB2b2lkIGFjdGl2 YXRlX3dpdGhfZm9jdXMgKE1ldGEuV2luZG93IGZvY3VzX3RoaXMsIHVpbnQzMiB0aW1lc3RhbXAp OwotKwkJcHVibGljIHVub3duZWQgTWV0YS5EaXNwbGF5IGdldF9kaXNwbGF5ICgpOwotKwkJcHVi bGljIHVub3duZWQgTWV0YS5Xb3Jrc3BhY2UgZ2V0X25laWdoYm9yIChNZXRhLk1vdGlvbkRpcmVj dGlvbiBkaXJlY3Rpb24pOwotKwkJcHVibGljIE1ldGEuUmVjdGFuZ2xlIGdldF93b3JrX2FyZWFf YWxsX21vbml0b3JzICgpOwotKwkJcHVibGljIE1ldGEuUmVjdGFuZ2xlIGdldF93b3JrX2FyZWFf Zm9yX21vbml0b3IgKGludCB3aGljaF9tb25pdG9yKTsKLSsJCXB1YmxpYyBpbnQgaW5kZXggKCk7 Ci0rCQlwdWJsaWMgR0xpYi5MaXN0PHdlYWsgTWV0YS5XaW5kb3c+IGxpc3Rfd2luZG93cyAoKTsK LSsJCXB1YmxpYyB2b2lkIHNldF9idWlsdGluX3N0cnV0cyAoR0xpYi5TTGlzdDxNZXRhLlN0cnV0 Pz4gc3RydXRzKTsKLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGJvb2wgYWN0aXZl IHsgZ2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyB1aW50IG5fd2luZG93 cyB7IGdldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgdWludCB3b3Jrc3Bh Y2VfaW5kZXggeyBnZXQ7IH0KLSsJCXB1YmxpYyBzaWduYWwgdm9pZCB3aW5kb3dfYWRkZWQgKE1l dGEuV2luZG93IG9iamVjdCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgd2luZG93X3JlbW92ZWQg KE1ldGEuV2luZG93IG9iamVjdCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g Im1ldGEvbWV0YS13b3Jrc3BhY2UtbWFuYWdlci5oIiwgdHlwZV9pZCA9ICJtZXRhX3dvcmtzcGFj ZV9tYW5hZ2VyX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBXb3Jrc3BhY2VNYW5hZ2Vy IDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFs c2UpXQotKwkJcHJvdGVjdGVkIFdvcmtzcGFjZU1hbmFnZXIgKCk7Ci0rCQlwdWJsaWMgdW5vd25l ZCBNZXRhLldvcmtzcGFjZSBhcHBlbmRfbmV3X3dvcmtzcGFjZSAoYm9vbCBhY3RpdmF0ZSwgdWlu dDMyIHRpbWVzdGFtcCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBNZXRhLldvcmtzcGFjZSBnZXRfYWN0 aXZlX3dvcmtzcGFjZSAoKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X2FjdGl2ZV93b3Jrc3BhY2VfaW5k ZXggKCk7Ci0rCQlwdWJsaWMgaW50IGdldF9uX3dvcmtzcGFjZXMgKCk7Ci0rCQlwdWJsaWMgdW5v d25lZCBNZXRhLldvcmtzcGFjZT8gZ2V0X3dvcmtzcGFjZV9ieV9pbmRleCAoaW50IGluZGV4KTsK LSsJCXB1YmxpYyB2b2lkIG92ZXJyaWRlX3dvcmtzcGFjZV9sYXlvdXQgKE1ldGEuRGlzcGxheUNv cm5lciBzdGFydGluZ19jb3JuZXIsIGJvb2wgdmVydGljYWxfbGF5b3V0LCBpbnQgbl9yb3dzLCBp bnQgbl9jb2x1bW5zKTsKLSsJCXB1YmxpYyB2b2lkIHJlbW92ZV93b3Jrc3BhY2UgKE1ldGEuV29y a3NwYWNlIHdvcmtzcGFjZSwgdWludDMyIHRpbWVzdGFtcCk7Ci0rCQlwdWJsaWMgdm9pZCByZW9y ZGVyX3dvcmtzcGFjZSAoTWV0YS5Xb3Jrc3BhY2Ugd29ya3NwYWNlLCBpbnQgbmV3X2luZGV4KTsK LSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGludCBsYXlvdXRfY29sdW1ucyB7IGdl dDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgaW50IGxheW91dF9yb3dzIHsg Z2V0OyB9Ci0rCQlwdWJsaWMgaW50IG5fd29ya3NwYWNlcyB7IGdldDsgfQotKwkJcHVibGljIHNp Z25hbCB2b2lkIGFjdGl2ZV93b3Jrc3BhY2VfY2hhbmdlZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwg dm9pZCBzaG93aW5nX2Rlc2t0b3BfY2hhbmdlZCAoKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCB3 b3Jrc3BhY2VfYWRkZWQgKGludCBvYmplY3QpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIHdvcmtz cGFjZV9yZW1vdmVkIChpbnQgb2JqZWN0KTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCB3b3Jrc3Bh Y2Vfc3dpdGNoZWQgKGludCBvYmplY3QsIGludCBwMCwgTWV0YS5Nb3Rpb25EaXJlY3Rpb24gcDEp OwotKwkJcHVibGljIHNpZ25hbCB2b2lkIHdvcmtzcGFjZXNfcmVvcmRlcmVkICgpOwotKwl9Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEteDExLWRpc3BsYXkuaCIsIHR5 cGVfaWQgPSAibWV0YV94MTFfZGlzcGxheV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3Mg WDExRGlzcGxheSA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5j dGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBYMTFEaXNwbGF5ICgpOwotKwkJcHVibGljIHZv aWQgY2xlYXJfc3RhZ2VfaW5wdXRfcmVnaW9uICgpOwotKwkJcHVibGljIGludCBnZXRfZGFtYWdl X2V2ZW50X2Jhc2UgKCk7Ci0rCQlwdWJsaWMgaW50IGdldF9zY3JlZW5fbnVtYmVyICgpOwotKwkJ cHVibGljIGludCBnZXRfc2hhcGVfZXZlbnRfYmFzZSAoKTsKLSsJCXB1YmxpYyBib29sIGhhc19z aGFwZSAoKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9jbV9zZWxlY3Rpb24gKCk7Ci0rCQlwdWJsaWMg dm9pZCBzZXRfc3RhZ2VfaW5wdXRfcmVnaW9uIChYLlhzZXJ2ZXJSZWdpb24gcmVnaW9uKTsKLSsJ CXB1YmxpYyBib29sIHh3aW5kb3dfaXNfYV9ub19mb2N1c193aW5kb3cgKFguV2luZG93IHh3aW5k b3cpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtY2xvc2Ut ZGlhbG9nLmgiLCB0eXBlX2NuYW1lID0gIk1ldGFDbG9zZURpYWxvZ0ludGVyZmFjZSIsIHR5cGVf aWQgPSAibWV0YV9jbG9zZV9kaWFsb2dfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGludGVyZmFj ZSBDbG9zZURpYWxvZyA6IEdMaWIuT2JqZWN0IHsKLSsJCXB1YmxpYyBhYnN0cmFjdCB2b2lkIGZv Y3VzICgpOwotKwkJcHVibGljIGFic3RyYWN0IHZvaWQgaGlkZSAoKTsKLSsJCXB1YmxpYyBib29s IGlzX3Zpc2libGUgKCk7Ci0rCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBzaG93ICgpOwotKwkJW05v QWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgYWJzdHJhY3QgTWV0YS5XaW5kb3cgd2luZG93IHsg b3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCVtIYXNFbWl0dGVyXQotKwkJcHVibGljIHNpZ25h bCB2b2lkIHJlc3BvbnNlIChNZXRhLkNsb3NlRGlhbG9nUmVzcG9uc2UgcmVzcG9uc2UpOwotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtaW5oaWJpdC1zaG9ydGN1 dHMtZGlhbG9nLmgiLCB0eXBlX2NuYW1lID0gIk1ldGFJbmhpYml0U2hvcnRjdXRzRGlhbG9nSW50 ZXJmYWNlIiwgdHlwZV9pZCA9ICJtZXRhX2luaGliaXRfc2hvcnRjdXRzX2RpYWxvZ19nZXRfdHlw ZSAoKSIpXQotKwlwdWJsaWMgaW50ZXJmYWNlIEluaGliaXRTaG9ydGN1dHNEaWFsb2cgOiBHTGli Lk9iamVjdCB7Ci0rCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBoaWRlICgpOwotKwkJcHVibGljIGFi c3RyYWN0IHZvaWQgc2hvdyAoKTsKLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGFi c3RyYWN0IE1ldGEuV2luZG93IHdpbmRvdyB7IG93bmVkIGdldDsgY29uc3RydWN0OyB9Ci0rCQlb SGFzRW1pdHRlcl0KLSsJCXB1YmxpYyBzaWduYWwgdm9pZCByZXNwb25zZSAoTWV0YS5JbmhpYml0 U2hvcnRjdXRzRGlhbG9nUmVzcG9uc2UgcmVzcG9uc2UpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJs aWMgc3RydWN0IEJ1dHRvbkxheW91dCB7Ci0rCQlbQ0NvZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNl KV0KLSsJCXB1YmxpYyB3ZWFrIE1ldGEuQnV0dG9uRnVuY3Rpb24gbGVmdF9idXR0b25zWzRdOwot KwkJW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldCi0rCQlwdWJsaWMgd2VhayBib29sIGxl ZnRfYnV0dG9uc19oYXNfc3BhY2VyWzRdOwotKwkJW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxz ZSldCi0rCQlwdWJsaWMgd2VhayBNZXRhLkJ1dHRvbkZ1bmN0aW9uIHJpZ2h0X2J1dHRvbnNbNF07 Ci0rCQlbQ0NvZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNlKV0KLSsJCXB1YmxpYyB3ZWFrIGJvb2wg cmlnaHRfYnV0dG9uc19oYXNfc3BhY2VyWzRdOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21haW4uaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJsaWMgc3Ry dWN0IEVkZ2UgewotKwkJcHVibGljIE1ldGEuUmVjdGFuZ2xlIHJlY3Q7Ci0rCQlwdWJsaWMgTWV0 YS5TaWRlIHNpZGVfdHlwZTsKLSsJCXB1YmxpYyBNZXRhLkVkZ2VUeXBlIGVkZ2VfdHlwZTsKLSsJ fQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBoYXNfdHlwZV9p ZCA9IGZhbHNlKV0KLSsJcHVibGljIHN0cnVjdCBGcmFtZUJvcmRlcnMgewotKwkJcHVibGljIEd0 ay5Cb3JkZXIgdmlzaWJsZTsKLSsJCXB1YmxpYyBHdGsuQm9yZGVyIGludmlzaWJsZTsKLSsJCXB1 YmxpYyBHdGsuQm9yZGVyIHRvdGFsOwotKwkJcHVibGljIHZvaWQgY2xlYXIgKCk7Ci0rCX0KLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWV0YS1wbHVnaW4uaCIsIGhhc190eXBl X2lkID0gZmFsc2UpXQotKwlwdWJsaWMgc3RydWN0IFBsdWdpbkluZm8gewotKwkJcHVibGljIHdl YWsgc3RyaW5nIG5hbWU7Ci0rCQlwdWJsaWMgd2VhayBzdHJpbmcgdmVyc2lvbjsKLSsJCXB1Ymxp YyB3ZWFrIHN0cmluZyBhdXRob3I7Ci0rCQlwdWJsaWMgd2VhayBzdHJpbmcgbGljZW5zZTsKLSsJ CXB1YmxpYyB3ZWFrIHN0cmluZyBkZXNjcmlwdGlvbjsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIs IGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9ICJtZXRhX3JlY3Rhbmds ZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgc3RydWN0IFJlY3RhbmdsZSB7Ci0rCQlwdWJsaWMg aW50IHg7Ci0rCQlwdWJsaWMgaW50IHk7Ci0rCQlwdWJsaWMgaW50IHdpZHRoOwotKwkJcHVibGlj IGludCBoZWlnaHQ7Ci0rCQlwdWJsaWMgaW50IGFyZWEgKCk7Ci0rCQlwdWJsaWMgYm9vbCBjb250 YWluc19yZWN0IChNZXRhLlJlY3RhbmdsZSBpbm5lcl9yZWN0KTsKLSsJCXB1YmxpYyBNZXRhLlJl Y3RhbmdsZT8gY29weSAoKTsKLSsJCXB1YmxpYyBib29sIGNvdWxkX2ZpdF9yZWN0IChNZXRhLlJl Y3RhbmdsZSBpbm5lcl9yZWN0KTsKLSsJCXB1YmxpYyBib29sIGVxdWFsIChNZXRhLlJlY3Rhbmds ZSBzcmMyKTsKLSsJCXB1YmxpYyB2b2lkIGZyZWUgKCk7Ci0rCQlwdWJsaWMgYm9vbCBob3Jpel9v dmVybGFwIChNZXRhLlJlY3RhbmdsZSByZWN0Mik7Ci0rCQlwdWJsaWMgYm9vbCBpbnRlcnNlY3Qg KE1ldGEuUmVjdGFuZ2xlIHNyYzIsIG91dCBNZXRhLlJlY3RhbmdsZSBkZXN0KTsKLSsJCXB1Ymxp YyBib29sIG92ZXJsYXAgKE1ldGEuUmVjdGFuZ2xlIHJlY3QyKTsKLSsJCXB1YmxpYyBNZXRhLlJl Y3RhbmdsZSB1bmlvbiAoTWV0YS5SZWN0YW5nbGUgcmVjdDIpOwotKwkJcHVibGljIGJvb2wgdmVy dF9vdmVybGFwIChNZXRhLlJlY3RhbmdsZSByZWN0Mik7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1Ymxp YyBzdHJ1Y3QgU2hhZG93UGFyYW1zIHsKLSsJCXB1YmxpYyBpbnQgcmFkaXVzOwotKwkJcHVibGlj IGludCB0b3BfZmFkZTsKLSsJCXB1YmxpYyBpbnQgeF9vZmZzZXQ7Ci0rCQlwdWJsaWMgaW50IHlf b2Zmc2V0OwotKwkJcHVibGljIHVpbnQ4IG9wYWNpdHk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1Ymxp YyBzdHJ1Y3QgU3RydXQgewotKwkJcHVibGljIE1ldGEuUmVjdGFuZ2xlIHJlY3Q7Ci0rCQlwdWJs aWMgTWV0YS5TaWRlIHNpZGU7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1l dGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0JBUlJJRVJfRElSRUNUSU9OXyIsIHR5cGVfaWQg PSAibWV0YV9iYXJyaWVyX2RpcmVjdGlvbl9nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCXB1 YmxpYyBlbnVtIEJhcnJpZXJEaXJlY3Rpb24gewotKwkJUE9TSVRJVkVfWCwKLSsJCVBPU0lUSVZF X1ksCi0rCQlORUdBVElWRV9YLAotKwkJTkVHQVRJVkVfWQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9CVVRUT05fRlVOQ1RJ T05fIiwgdHlwZV9pZCA9ICJtZXRhX2J1dHRvbl9mdW5jdGlvbl9nZXRfdHlwZSAoKSIpXQotKwlw dWJsaWMgZW51bSBCdXR0b25GdW5jdGlvbiB7Ci0rCQlNRU5VLAotKwkJTUlOSU1JWkUsCi0rCQlN QVhJTUlaRSwKLSsJCUNMT1NFLAotKwkJTEFTVAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9DTE9TRV9ESUFMT0dfUkVTUE9O U0VfIiwgdHlwZV9pZCA9ICJtZXRhX2Nsb3NlX2RpYWxvZ19yZXNwb25zZV9nZXRfdHlwZSAoKSIp XQotKwlwdWJsaWMgZW51bSBDbG9zZURpYWxvZ1Jlc3BvbnNlIHsKLSsJCVdBSVQsCi0rCQlGT1JD RV9DTE9TRQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIs IGNwcmVmaXggPSAiTUVUQV9DT01QX0VGRkVDVF8iLCB0eXBlX2lkID0gIm1ldGFfY29tcF9lZmZl Y3RfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0gQ29tcEVmZmVjdCB7Ci0rCQlDUkVBVEUs Ci0rCQlVTk1JTklNSVpFLAotKwkJREVTVFJPWSwKLSsJCU1JTklNSVpFLAotKwkJTk9ORQotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAi TUVUQV9DVVJTT1JfIiwgdHlwZV9pZCA9ICJtZXRhX2N1cnNvcl9nZXRfdHlwZSAoKSIpXQotKwlw dWJsaWMgZW51bSBDdXJzb3IgewotKwkJTk9ORSwKLSsJCURFRkFVTFQsCi0rCQlOT1JUSF9SRVNJ WkUsCi0rCQlTT1VUSF9SRVNJWkUsCi0rCQlXRVNUX1JFU0laRSwKLSsJCUVBU1RfUkVTSVpFLAot KwkJU0VfUkVTSVpFLAotKwkJU1dfUkVTSVpFLAotKwkJTkVfUkVTSVpFLAotKwkJTldfUkVTSVpF LAotKwkJTU9WRV9PUl9SRVNJWkVfV0lORE9XLAotKwkJQlVTWSwKLSsJCURORF9JTl9EUkFHLAot KwkJRE5EX01PVkUsCi0rCQlETkRfQ09QWSwKLSsJCURORF9VTlNVUFBPUlRFRF9UQVJHRVQsCi0r CQlQT0lOVElOR19IQU5ELAotKwkJQ1JPU1NIQUlSLAotKwkJSUJFQU0sCi0rCQlCTEFOSywKLSsJ CUxBU1QKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBj cHJlZml4ID0gIk1FVEFfREVCVUdfUEFJTlRfIiwgdHlwZV9pZCA9ICJtZXRhX2RlYnVnX3BhaW50 X2ZsYWdfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlwdWJsaWMgZW51bSBEZWJ1Z1BhaW50 RmxhZyB7Ci0rCQlOT05FLAotKwkJT1BBUVVFX1JFR0lPTgotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9ERUJVR18iLCB0eXBl X2lkID0gIm1ldGFfZGVidWdfdG9waWNfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlwdWJs aWMgZW51bSBEZWJ1Z1RvcGljIHsKLSsJCVZFUkJPU0UsCi0rCQlGT0NVUywKLSsJCVdPUktBUkVB LAotKwkJU1RBQ0ssCi0rCQlTTSwKLSsJCUVWRU5UUywKLSsJCVdJTkRPV19TVEFURSwKLSsJCVdJ TkRPV19PUFMsCi0rCQlHRU9NRVRSWSwKLSsJCVBMQUNFTUVOVCwKLSsJCVBJTkcsCi0rCQlLRVlC SU5ESU5HUywKLSsJCVNZTkMsCi0rCQlTVEFSVFVQLAotKwkJUFJFRlMsCi0rCQlHUk9VUFMsCi0r CQlSRVNJWklORywKLSsJCVNIQVBFUywKLSsJCUVER0VfUkVTSVNUQU5DRSwKLSsJCURCVVMsCi0r CQlJTlBVVCwKLSsJCVdBWUxBTkQsCi0rCQlLTVMsCi0rCQlTQ1JFRU5fQ0FTVCwKLSsJCVJFTU9U RV9ERVNLVE9QCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5o IiwgY3ByZWZpeCA9ICJNRVRBX0RJUkVDVElPTl8iLCB0eXBlX2lkID0gIm1ldGFfZGlyZWN0aW9u X2dldF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJcHVibGljIGVudW0gRGlyZWN0aW9uIHsKLSsJ CUxFRlQsCi0rCQlSSUdIVCwKLSsJCVRPUCwKLSsJCUJPVFRPTSwKLSsJCVVQLAotKwkJRE9XTiwK LSsJCUhPUklaT05UQUwsCi0rCQlWRVJUSUNBTAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9ESVNQTEFZXyIsIHR5cGVfaWQg PSAibWV0YV9kaXNwbGF5X2Nvcm5lcl9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBEaXNw bGF5Q29ybmVyIHsKLSsJCVRPUExFRlQsCi0rCQlUT1BSSUdIVCwKLSsJCUJPVFRPTUxFRlQsCi0r CQlCT1RUT01SSUdIVAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21h aW4uaCIsIGNwcmVmaXggPSAiTUVUQV9ESVNQTEFZXyIsIHR5cGVfaWQgPSAibWV0YV9kaXNwbGF5 X2RpcmVjdGlvbl9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBEaXNwbGF5RGlyZWN0aW9u IHsKLSsJCVVQLAotKwkJRE9XTiwKLSsJCUxFRlQsCi0rCQlSSUdIVAotKwl9Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9FREdFXyIs IHR5cGVfaWQgPSAibWV0YV9lZGdlX3R5cGVfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0g RWRnZVR5cGUgewotKwkJV0lORE9XLAotKwkJTU9OSVRPUiwKLSsJCVNDUkVFTgotKwl9Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9F WElUXyIsIHR5cGVfaWQgPSAibWV0YV9leGl0X2NvZGVfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGlj IGVudW0gRXhpdENvZGUgewotKwkJU1VDQ0VTUywKLSsJCUVSUk9SCi0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0ZSQU1FXyIs IHR5cGVfaWQgPSAibWV0YV9mcmFtZV9mbGFnc19nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0r CXB1YmxpYyBlbnVtIEZyYW1lRmxhZ3MgewotKwkJQUxMT1dTX0RFTEVURSwKLSsJCUFMTE9XU19N RU5VLAotKwkJQUxMT1dTX01JTklNSVpFLAotKwkJQUxMT1dTX01BWElNSVpFLAotKwkJQUxMT1dT X1ZFUlRJQ0FMX1JFU0laRSwKLSsJCUFMTE9XU19IT1JJWk9OVEFMX1JFU0laRSwKLSsJCUhBU19G T0NVUywKLSsJCVNIQURFRCwKLSsJCVNUVUNLLAotKwkJTUFYSU1JWkVELAotKwkJQUxMT1dTX1NI QURFLAotKwkJQUxMT1dTX01PVkUsCi0rCQlGVUxMU0NSRUVOLAotKwkJQUJPVkUsCi0rCQlUSUxF RF9MRUZULAotKwkJVElMRURfUklHSFQKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfRlJBTUVfVFlQRV8iLCB0eXBlX2lkID0g Im1ldGFfZnJhbWVfdHlwZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBGcmFtZVR5cGUg ewotKwkJTk9STUFMLAotKwkJRElBTE9HLAotKwkJTU9EQUxfRElBTE9HLAotKwkJVVRJTElUWSwK LSsJCU1FTlUsCi0rCQlCT1JERVIsCi0rCQlBVFRBQ0hFRCwKLSsJCUxBU1Q7Ci0rCQlwdWJsaWMg dW5vd25lZCBzdHJpbmcgdG9fc3RyaW5nICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9HUkFCX09QXyIsIHR5cGVfaWQg PSAibWV0YV9ncmFiX29wX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIEdyYWJPcCB7Ci0r CQlOT05FLAotKwkJV0lORE9XX0JBU0UsCi0rCQlDT01QT1NJVE9SLAotKwkJV0FZTEFORF9QT1BV UCwKLSsJCUZSQU1FX0JVVFRPTiwKLSsJCU1PVklORywKLSsJCVJFU0laSU5HX05XLAotKwkJUkVT SVpJTkdfTiwKLSsJCVJFU0laSU5HX05FLAotKwkJUkVTSVpJTkdfRSwKLSsJCVJFU0laSU5HX1NX LAotKwkJUkVTSVpJTkdfUywKLSsJCVJFU0laSU5HX1NFLAotKwkJUkVTSVpJTkdfVywKLSsJCUtF WUJPQVJEX01PVklORywKLSsJCUtFWUJPQVJEX1JFU0laSU5HX1VOS05PV04sCi0rCQlLRVlCT0FS RF9SRVNJWklOR19OVywKLSsJCUtFWUJPQVJEX1JFU0laSU5HX04sCi0rCQlLRVlCT0FSRF9SRVNJ WklOR19ORSwKLSsJCUtFWUJPQVJEX1JFU0laSU5HX0UsCi0rCQlLRVlCT0FSRF9SRVNJWklOR19T VywKLSsJCUtFWUJPQVJEX1JFU0laSU5HX1MsCi0rCQlLRVlCT0FSRF9SRVNJWklOR19TRSwKLSsJ CUtFWUJPQVJEX1JFU0laSU5HX1cKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi bWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfR1JBVklUWV8iLCB0eXBlX2lkID0gIm1ldGFf Z3Jhdml0eV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBHcmF2aXR5IHsKLSsJCU5PTkUs Ci0rCQlOT1JUSF9XRVNULAotKwkJTk9SVEgsCi0rCQlOT1JUSF9FQVNULAotKwkJV0VTVCwKLSsJ CUNFTlRFUiwKLSsJCUVBU1QsCi0rCQlTT1VUSF9XRVNULAotKwkJU09VVEgsCi0rCQlTT1VUSF9F QVNULAotKwkJU1RBVElDCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEv bWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0lOSElCSVRfU0hPUlRDVVRTX0RJQUxPR19SRVNQT05T RV8iLCB0eXBlX2lkID0gIm1ldGFfaW5oaWJpdF9zaG9ydGN1dHNfZGlhbG9nX3Jlc3BvbnNlX2dl dF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIEluaGliaXRTaG9ydGN1dHNEaWFsb2dSZXNwb25z ZSB7Ci0rCQlBTExPVywKLSsJCURFTlkKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfS0VZQklORElOR19BQ1RJT05fIiwgdHlw ZV9pZCA9ICJtZXRhX2tleV9iaW5kaW5nX2FjdGlvbl9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMg ZW51bSBLZXlCaW5kaW5nQWN0aW9uIHsKLSsJCU5PTkUsCi0rCQlXT1JLU1BBQ0VfMSwKLSsJCVdP UktTUEFDRV8yLAotKwkJV09SS1NQQUNFXzMsCi0rCQlXT1JLU1BBQ0VfNCwKLSsJCVdPUktTUEFD RV81LAotKwkJV09SS1NQQUNFXzYsCi0rCQlXT1JLU1BBQ0VfNywKLSsJCVdPUktTUEFDRV84LAot KwkJV09SS1NQQUNFXzksCi0rCQlXT1JLU1BBQ0VfMTAsCi0rCQlXT1JLU1BBQ0VfMTEsCi0rCQlX T1JLU1BBQ0VfMTIsCi0rCQlXT1JLU1BBQ0VfTEVGVCwKLSsJCVdPUktTUEFDRV9SSUdIVCwKLSsJ CVdPUktTUEFDRV9VUCwKLSsJCVdPUktTUEFDRV9ET1dOLAotKwkJV09SS1NQQUNFX0xBU1QsCi0r CQlTV0lUQ0hfQVBQTElDQVRJT05TLAotKwkJU1dJVENIX0FQUExJQ0FUSU9OU19CQUNLV0FSRCwK LSsJCVNXSVRDSF9HUk9VUCwKLSsJCVNXSVRDSF9HUk9VUF9CQUNLV0FSRCwKLSsJCVNXSVRDSF9X SU5ET1dTLAotKwkJU1dJVENIX1dJTkRPV1NfQkFDS1dBUkQsCi0rCQlTV0lUQ0hfUEFORUxTLAot KwkJU1dJVENIX1BBTkVMU19CQUNLV0FSRCwKLSsJCUNZQ0xFX0dST1VQLAotKwkJQ1lDTEVfR1JP VVBfQkFDS1dBUkQsCi0rCQlDWUNMRV9XSU5ET1dTLAotKwkJQ1lDTEVfV0lORE9XU19CQUNLV0FS RCwKLSsJCUNZQ0xFX1BBTkVMUywKLSsJCUNZQ0xFX1BBTkVMU19CQUNLV0FSRCwKLSsJCVNIT1df REVTS1RPUCwKLSsJCVBBTkVMX01BSU5fTUVOVSwKLSsJCVBBTkVMX1JVTl9ESUFMT0csCi0rCQlU T0dHTEVfUkVDT1JESU5HLAotKwkJU0VUX1NQRVdfTUFSSywKLSsJCUFDVElWQVRFX1dJTkRPV19N RU5VLAotKwkJVE9HR0xFX0ZVTExTQ1JFRU4sCi0rCQlUT0dHTEVfTUFYSU1JWkVELAotKwkJVE9H R0xFX1RJTEVEX0xFRlQsCi0rCQlUT0dHTEVfVElMRURfUklHSFQsCi0rCQlUT0dHTEVfQUJPVkUs Ci0rCQlNQVhJTUlaRSwKLSsJCVVOTUFYSU1JWkUsCi0rCQlUT0dHTEVfU0hBREVELAotKwkJTUlO SU1JWkUsCi0rCQlDTE9TRSwKLSsJCUJFR0lOX01PVkUsCi0rCQlCRUdJTl9SRVNJWkUsCi0rCQlU T0dHTEVfT05fQUxMX1dPUktTUEFDRVMsCi0rCQlNT1ZFX1RPX1dPUktTUEFDRV8xLAotKwkJTU9W RV9UT19XT1JLU1BBQ0VfMiwKLSsJCU1PVkVfVE9fV09SS1NQQUNFXzMsCi0rCQlNT1ZFX1RPX1dP UktTUEFDRV80LAotKwkJTU9WRV9UT19XT1JLU1BBQ0VfNSwKLSsJCU1PVkVfVE9fV09SS1NQQUNF XzYsCi0rCQlNT1ZFX1RPX1dPUktTUEFDRV83LAotKwkJTU9WRV9UT19XT1JLU1BBQ0VfOCwKLSsJ CU1PVkVfVE9fV09SS1NQQUNFXzksCi0rCQlNT1ZFX1RPX1dPUktTUEFDRV8xMCwKLSsJCU1PVkVf VE9fV09SS1NQQUNFXzExLAotKwkJTU9WRV9UT19XT1JLU1BBQ0VfMTIsCi0rCQlNT1ZFX1RPX1dP UktTUEFDRV9MRUZULAotKwkJTU9WRV9UT19XT1JLU1BBQ0VfUklHSFQsCi0rCQlNT1ZFX1RPX1dP UktTUEFDRV9VUCwKLSsJCU1PVkVfVE9fV09SS1NQQUNFX0RPV04sCi0rCQlNT1ZFX1RPX1dPUktT UEFDRV9MQVNULAotKwkJTU9WRV9UT19NT05JVE9SX0xFRlQsCi0rCQlNT1ZFX1RPX01PTklUT1Jf UklHSFQsCi0rCQlNT1ZFX1RPX01PTklUT1JfVVAsCi0rCQlNT1ZFX1RPX01PTklUT1JfRE9XTiwK LSsJCVJBSVNFX09SX0xPV0VSLAotKwkJUkFJU0UsCi0rCQlMT1dFUiwKLSsJCU1BWElNSVpFX1ZF UlRJQ0FMTFksCi0rCQlNQVhJTUlaRV9IT1JJWk9OVEFMTFksCi0rCQlNT1ZFX1RPX0NPUk5FUl9O VywKLSsJCU1PVkVfVE9fQ09STkVSX05FLAotKwkJTU9WRV9UT19DT1JORVJfU1csCi0rCQlNT1ZF X1RPX0NPUk5FUl9TRSwKLSsJCU1PVkVfVE9fU0lERV9OLAotKwkJTU9WRV9UT19TSURFX1MsCi0r CQlNT1ZFX1RPX1NJREVfRSwKLSsJCU1PVkVfVE9fU0lERV9XLAotKwkJTU9WRV9UT19DRU5URVIs Ci0rCQlPVkVSTEFZX0tFWSwKLSsJCUxPQ0FURV9QT0lOVEVSX0tFWSwKLSsJCUlTT19ORVhUX0dS T1VQLAotKwkJQUxXQVlTX09OX1RPUCwKLSsJCVNXSVRDSF9NT05JVE9SLAotKwkJUk9UQVRFX01P TklUT1IsCi0rCQlMQVNUCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEv bWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0tFWV9CSU5ESU5HXyIsIHR5cGVfaWQgPSAibWV0YV9r ZXlfYmluZGluZ19mbGFnc19nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCXB1YmxpYyBlbnVt IEtleUJpbmRpbmdGbGFncyB7Ci0rCQlOT05FLAotKwkJUEVSX1dJTkRPVywKLSsJCUJVSUxUSU4s Ci0rCQlJU19SRVZFUlNFRCwKLSsJCU5PTl9NQVNLQUJMRSwKLSsJCUlHTk9SRV9BVVRPUkVQRUFU LAotKwkJTk9fQVVUT19HUkFCCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1l dGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0xBVEVSXyIsIHR5cGVfaWQgPSAibWV0YV9sYXRl cl90eXBlX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIExhdGVyVHlwZSB7Ci0rCQlSRVNJ WkUsCi0rCQlDQUxDX1NIT1dJTkcsCi0rCQlDSEVDS19GVUxMU0NSRUVOLAotKwkJU1lOQ19TVEFD SywKLSsJCUJFRk9SRV9SRURSQVcsCi0rCQlJRExFCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX0xPQ0FMRV9ESVJFQ1RJT05f IiwgdHlwZV9pZCA9ICJtZXRhX2xvY2FsZV9kaXJlY3Rpb25fZ2V0X3R5cGUgKCkiKV0KLSsJcHVi bGljIGVudW0gTG9jYWxlRGlyZWN0aW9uIHsKLSsJCUxUUiwKLSsJCVJUTAotKwl9Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9NQVhJ TUlaRV8iLCB0eXBlX2lkID0gIm1ldGFfbWF4aW1pemVfZmxhZ3NfZ2V0X3R5cGUgKCkiKV0KLSsJ W0ZsYWdzXQotKwlwdWJsaWMgZW51bSBNYXhpbWl6ZUZsYWdzIHsKLSsJCUhPUklaT05UQUwsCi0r CQlWRVJUSUNBTCwKLSsJCUJPVEgKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi bWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfTU9EQUxfIiwgdHlwZV9pZCA9ICJtZXRhX21v ZGFsX29wdGlvbnNfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlwdWJsaWMgZW51bSBNb2Rh bE9wdGlvbnMgewotKwkJUE9JTlRFUl9BTFJFQURZX0dSQUJCRUQsCi0rCQlLRVlCT0FSRF9BTFJF QURZX0dSQUJCRUQKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWlu LmgiLCBjcHJlZml4ID0gIk1FVEFfTU9OSVRPUl9TV0lUQ0hfQ09ORklHXyIsIHR5cGVfaWQgPSAi bWV0YV9tb25pdG9yX3N3aXRjaF9jb25maWdfdHlwZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMg ZW51bSBNb25pdG9yU3dpdGNoQ29uZmlnVHlwZSB7Ci0rCQlBTExfTUlSUk9SLAotKwkJQUxMX0xJ TkVBUiwKLSsJCUVYVEVSTkFMLAotKwkJQlVJTFRJTiwKLSsJCVVOS05PV04KLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfTU9U SU9OXyIsIHR5cGVfaWQgPSAibWV0YV9tb3Rpb25fZGlyZWN0aW9uX2dldF90eXBlICgpIildCi0r CXB1YmxpYyBlbnVtIE1vdGlvbkRpcmVjdGlvbiB7Ci0rCQlVUCwKLSsJCURPV04sCi0rCQlMRUZU LAotKwkJUklHSFQsCi0rCQlVUF9MRUZULAotKwkJVVBfUklHSFQsCi0rCQlET1dOX0xFRlQsCi0r CQlET1dOX1JJR0hUCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFp bi5oIiwgY3ByZWZpeCA9ICJNRVRBX1BBRF9BQ1RJT05fIiwgdHlwZV9pZCA9ICJtZXRhX3BhZF9h Y3Rpb25fdHlwZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBQYWRBY3Rpb25UeXBlIHsK LSsJCUJVVFRPTiwKLSsJCVJJTkcsCi0rCQlTVFJJUAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJtZXRhL3ByZWZzLmgiLCBjcHJlZml4ID0gIk1FVEFfUFJFRl8iLCB0eXBlX2lk ID0gIm1ldGFfcHJlZmVyZW5jZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBQcmVmZXJl bmNlIHsKLSsJCU1PVVNFX0JVVFRPTl9NT0RTLAotKwkJRk9DVVNfTU9ERSwKLSsJCUZPQ1VTX05F V19XSU5ET1dTLAotKwkJQVRUQUNIX01PREFMX0RJQUxPR1MsCi0rCQlSQUlTRV9PTl9DTElDSywK LSsJCUFDVElPTl9ET1VCTEVfQ0xJQ0tfVElUTEVCQVIsCi0rCQlBQ1RJT05fTUlERExFX0NMSUNL X1RJVExFQkFSLAotKwkJQUNUSU9OX1JJR0hUX0NMSUNLX1RJVExFQkFSLAotKwkJQVVUT19SQUlT RSwKLSsJCUFVVE9fUkFJU0VfREVMQVksCi0rCQlGT0NVU19DSEFOR0VfT05fUE9JTlRFUl9SRVNU LAotKwkJVElUTEVCQVJfRk9OVCwKLSsJCU5VTV9XT1JLU1BBQ0VTLAotKwkJRFlOQU1JQ19XT1JL U1BBQ0VTLAotKwkJS0VZQklORElOR1MsCi0rCQlESVNBQkxFX1dPUktBUk9VTkRTLAotKwkJQlVU VE9OX0xBWU9VVCwKLSsJCVdPUktTUEFDRV9OQU1FUywKLSsJCVZJU1VBTF9CRUxMLAotKwkJQVVE SUJMRV9CRUxMLAotKwkJVklTVUFMX0JFTExfVFlQRSwKLSsJCUdOT01FX0FDQ0VTU0lCSUxJVFks Ci0rCQlHTk9NRV9BTklNQVRJT05TLAotKwkJQ1VSU09SX1RIRU1FLAotKwkJQ1VSU09SX1NJWkUs Ci0rCQlSRVNJWkVfV0lUSF9SSUdIVF9CVVRUT04sCi0rCQlFREdFX1RJTElORywKLSsJCUZPUkNF X0ZVTExTQ1JFRU4sCi0rCQlXT1JLU1BBQ0VTX09OTFlfT05fUFJJTUFSWSwKLSsJCURSQUdHQUJM RV9CT1JERVJfV0lEVEgsCi0rCQlBVVRPX01BWElNSVpFLAotKwkJQ0VOVEVSX05FV19XSU5ET1dT LAotKwkJRFJBR19USFJFU0hPTEQsCi0rCQlMT0NBVEVfUE9JTlRFUiwKLSsJCUNIRUNLX0FMSVZF X1RJTUVPVVQ7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgdG9fc3RyaW5nICgpOwotKwl9Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21ldGEtc2VsZWN0aW9uLXNvdXJjZS5o IiwgY3ByZWZpeCA9ICJNRVRBXyIsIHR5cGVfaWQgPSAibWV0YV9zZWxlY3Rpb25fdHlwZV9nZXRf dHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBTZWxlY3Rpb25UeXBlIHsKLSsJCVNFTEVDVElPTl9Q UklNQVJZLAotKwkJU0VMRUNUSU9OX0NMSVBCT0FSRCwKLSsJCVNFTEVDVElPTl9ETkQsCi0rCQlO X1NFTEVDVElPTl9UWVBFUwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRh L21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9TSEFET1dfTU9ERV8iLCB0eXBlX2lkID0gIm1ldGFf c2hhZG93X21vZGVfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGVudW0gU2hhZG93TW9kZSB7Ci0r CQlBVVRPLAotKwkJRk9SQ0VEX09GRiwKLSsJCUZPUkNFRF9PTgotKwl9Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVmaXggPSAiTUVUQV9TSURFXyIsIHR5 cGVfaWQgPSAibWV0YV9zaWRlX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIFNpZGUgewot KwkJTEVGVCwKLSsJCVJJR0hULAotKwkJVE9QLAotKwkJQk9UVE9NCi0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX1NJWkVfQ0hB TkdFXyIsIHR5cGVfaWQgPSAibWV0YV9zaXplX2NoYW5nZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJs aWMgZW51bSBTaXplQ2hhbmdlIHsKLSsJCU1BWElNSVpFLAotKwkJVU5NQVhJTUlaRSwKLSsJCUZV TExTQ1JFRU4sCi0rCQlVTkZVTExTQ1JFRU4KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfTEFZRVJfIiwgdHlwZV9pZCA9ICJt ZXRhX3N0YWNrX2xheWVyX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIFN0YWNrTGF5ZXIg ewotKwkJREVTS1RPUCwKLSsJCUJPVFRPTSwKLSsJCU5PUk1BTCwKLSsJCVRPUCwKLSsJCURPQ0ss Ci0rCQlPVkVSUklERV9SRURJUkVDVCwKLSsJCUxBU1QKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0gIk1FVEFfVEFCX0xJU1RfIiwgdHlw ZV9pZCA9ICJtZXRhX3RhYl9saXN0X2dldF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIFRhYkxp c3QgewotKwkJTk9STUFMLAotKwkJRE9DS1MsCi0rCQlHUk9VUCwKLSsJCU5PUk1BTF9BTEwKLSsJ fQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjcHJlZml4ID0g Ik1FVEFfVEFCX1NIT1dfIiwgdHlwZV9pZCA9ICJtZXRhX3RhYl9zaG93X3R5cGVfZ2V0X3R5cGUg KCkiKV0KLSsJcHVibGljIGVudW0gVGFiU2hvd1R5cGUgewotKwkJSUNPTiwKLSsJCUlOU1RBTlRM WQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNwcmVm aXggPSAiTUVUQV9WSVJUVUFMXyIsIHR5cGVfaWQgPSAibWV0YV92aXJ0dWFsX21vZGlmaWVyX2dl dF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJcHVibGljIGVudW0gVmlydHVhbE1vZGlmaWVyIHsK LSsJCVNISUZUX01BU0ssCi0rCQlDT05UUk9MX01BU0ssCi0rCQlBTFRfTUFTSywKLSsJCU1FVEFf TUFTSywKLSsJCVNVUEVSX01BU0ssCi0rCQlIWVBFUl9NQVNLLAotKwkJTU9EMl9NQVNLLAotKwkJ TU9EM19NQVNLLAotKwkJTU9ENF9NQVNLLAotKwkJTU9ENV9NQVNLCi0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY3ByZWZpeCA9ICJNRVRBX1dJTkRPV19D TElFTlRfVFlQRV8iLCB0eXBlX2lkID0gIm1ldGFfd2luZG93X2NsaWVudF90eXBlX2dldF90eXBl ICgpIildCi0rCXB1YmxpYyBlbnVtIFdpbmRvd0NsaWVudFR5cGUgewotKwkJV0FZTEFORCwKLSsJ CVgxMQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNw cmVmaXggPSAiTUVUQV9XSU5ET1dfTUVOVV8iLCB0eXBlX2lkID0gIm1ldGFfd2luZG93X21lbnVf dHlwZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBXaW5kb3dNZW51VHlwZSB7Ci0rCQlX TSwKLSsJCUFQUAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4u aCIsIGNwcmVmaXggPSAiTUVUQV9XSU5ET1dfIiwgdHlwZV9pZCA9ICJtZXRhX3dpbmRvd190eXBl X2dldF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIFdpbmRvd1R5cGUgewotKwkJTk9STUFMLAot KwkJREVTS1RPUCwKLSsJCURPQ0ssCi0rCQlESUFMT0csCi0rCQlNT0RBTF9ESUFMT0csCi0rCQlU T09MQkFSLAotKwkJTUVOVSwKLSsJCVVUSUxJVFksCi0rCQlTUExBU0hTQ1JFRU4sCi0rCQlEUk9Q RE9XTl9NRU5VLAotKwkJUE9QVVBfTUVOVSwKLSsJCVRPT0xUSVAsCi0rCQlOT1RJRklDQVRJT04s Ci0rCQlDT01CTywKLSsJCURORCwKLSsJCU9WRVJSSURFX09USEVSCi0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgaW5zdGFuY2VfcG9zID0gMi45KV0KLSsJ cHVibGljIGRlbGVnYXRlIHZvaWQgSWRsZU1vbml0b3JXYXRjaEZ1bmMgKE1ldGEuSWRsZU1vbml0 b3IgbW9uaXRvciwgdWludCB3YXRjaF9pZCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJtZXRhL21haW4uaCIsIGluc3RhbmNlX3BvcyA9IDQuOSldCi0rCXB1YmxpYyBkZWxlZ2F0ZSB2 b2lkIEtleUhhbmRsZXJGdW5jIChNZXRhLkRpc3BsYXkgZGlzcGxheSwgTWV0YS5XaW5kb3cgd2lu ZG93LCBbQ0NvZGUgKHR5cGUgPSAiQ2x1dHRlcktleUV2ZW50KiIpXSBDbHV0dGVyLktleUV2ZW50 PyBldmVudCwgTWV0YS5LZXlCaW5kaW5nIGJpbmRpbmcpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tYWluLmgiLCBpbnN0YW5jZV9wb3MgPSAxLjkpXQotKwlwdWJsaWMgZGVs ZWdhdGUgdm9pZCBQcmVmc0NoYW5nZWRGdW5jIChNZXRhLlByZWZlcmVuY2UgcHJlZik7Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGluc3RhbmNlX3BvcyA9IDEu OSldCi0rCXB1YmxpYyBkZWxlZ2F0ZSBib29sIFdpbmRvd0ZvcmVhY2hGdW5jIChNZXRhLldpbmRv dyB3aW5kb3cpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBj bmFtZSA9ICJNRVRBX0NVUlJFTlRfVElNRSIpXQotKwlwdWJsaWMgY29uc3QgaW50IENVUlJFTlRf VElNRTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY25hbWUg PSAiTUVUQV9ERUZBVUxUX0lDT05fTkFNRSIpXQotKwlwdWJsaWMgY29uc3Qgc3RyaW5nIERFRkFV TFRfSUNPTl9OQU1FOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgi LCBjbmFtZSA9ICJNRVRBX0lDT05fSEVJR0hUIildCi0rCXB1YmxpYyBjb25zdCBpbnQgSUNPTl9I RUlHSFQ7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNuYW1l ID0gIk1FVEFfSUNPTl9XSURUSCIpXQotKwlwdWJsaWMgY29uc3QgaW50IElDT05fV0lEVEg7Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNuYW1lID0gIk1FVEFf TUlOSV9JQ09OX0hFSUdIVCIpXQotKwlwdWJsaWMgY29uc3QgaW50IE1JTklfSUNPTl9IRUlHSFQ7 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIsIGNuYW1lID0gIk1F VEFfTUlOSV9JQ09OX1dJRFRIIildCi0rCXB1YmxpYyBjb25zdCBpbnQgTUlOSV9JQ09OX1dJRFRI OwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiLCBjbmFtZSA9ICJN RVRBX1BSSU9SSVRZX0JFRk9SRV9SRURSQVciKV0KLSsJcHVibGljIGNvbnN0IGludCBQUklPUklU WV9CRUZPUkVfUkVEUkFXOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWlu LmgiLCBjbmFtZSA9ICJNRVRBX1BSSU9SSVRZX1BSRUZTX05PVElGWSIpXQotKwlwdWJsaWMgY29u c3QgaW50IFBSSU9SSVRZX1BSRUZTX05PVElGWTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvbWFpbi5oIiwgY25hbWUgPSAiTUVUQV9QUklPUklUWV9SRURSQVciKV0KLSsJcHVi bGljIGNvbnN0IGludCBQUklPUklUWV9SRURSQVc7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJtZXRhL21haW4uaCIsIGNuYW1lID0gIk1FVEFfUFJJT1JJVFlfUkVTSVpFIildCi0rCXB1 YmxpYyBjb25zdCBpbnQgUFJJT1JJVFlfUkVTSVpFOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAibWV0YS9tYWluLmgiLCBjbmFtZSA9ICJNRVRBX1ZJUlRVQUxfQ09SRV9LRVlCT0FSRF9J RCIpXQotKwlwdWJsaWMgY29uc3QgaW50IFZJUlRVQUxfQ09SRV9LRVlCT0FSRF9JRDsKLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIiwgY25hbWUgPSAiTUVUQV9WSVJU VUFMX0NPUkVfUE9JTlRFUl9JRCIpXQotKwlwdWJsaWMgY29uc3QgaW50IFZJUlRVQUxfQ09SRV9Q T0lOVEVSX0lEOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0K LSsJcHVibGljIHN0YXRpYyB2b2lkIGFkZF9jbHV0dGVyX2RlYnVnX2ZsYWdzIChDbHV0dGVyLkRl YnVnRmxhZyBkZWJ1Z19mbGFncywgQ2x1dHRlci5EcmF3RGVidWdGbGFnIGRyYXdfZmxhZ3MsIENs dXR0ZXIuUGlja0RlYnVnRmxhZyBwaWNrX2ZsYWdzKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gIm1ldGEvbWFpbi5oIildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBhZGRfZGVidWdfcGFp bnRfZmxhZyAoTWV0YS5EZWJ1Z1BhaW50RmxhZyBmbGFnKTsKLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBjbHV0dGVyX2lu aXQgKCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlw dWJsaWMgc3RhdGljIHZvaWQgZXhpdCAoTWV0YS5FeGl0Q29kZSBjb2RlKTsKLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0rCXB1YmxpYyBzdGF0aWMgc3RyaW5n IGdfdXRmOF9zdHJuZHVwIChzdHJpbmcgc3JjLCBzaXplX3Qgbik7Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGljIE1ldGEuRGVidWdQ YWludEZsYWcgZ2V0X2RlYnVnX3BhaW50X2ZsYWdzICgpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSsJcHVibGljIHN0YXRpYyB1bm93bmVkIEdMaWIuT3B0 aW9uQ29udGV4dCBnZXRfb3B0aW9uX2NvbnRleHQgKCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGljIGJvb2wgZ2V0X3JlcGxhY2Vf Y3VycmVudF93bSAoKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5o IildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBpbml0ICgpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSsJcHVibGljIHN0YXRpYyBib29sIGlzX3Jlc3RhcnQg KCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJs aWMgc3RhdGljIGJvb2wgaXNfdG9waWNfZW5hYmxlZCAoTWV0YS5EZWJ1Z1RvcGljIHRvcGljKTsK LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0rCXB1YmxpYyBz dGF0aWMgdm9pZCBxdWl0IChNZXRhLkV4aXRDb2RlIGNvZGUpOwotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAibWV0YS9tYWluLmgiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIHJlZ2lzdGVy X3dpdGhfc2Vzc2lvbiAoKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFp bi5oIildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCByZW1vdmVfY2x1dHRlcl9kZWJ1Z19mbGFncyAo Q2x1dHRlci5EZWJ1Z0ZsYWcgZGVidWdfZmxhZ3MsIENsdXR0ZXIuRHJhd0RlYnVnRmxhZyBkcmF3 X2ZsYWdzLCBDbHV0dGVyLlBpY2tEZWJ1Z0ZsYWcgcGlja19mbGFncyk7Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgcmVt b3ZlX2RlYnVnX3BhaW50X2ZsYWcgKE1ldGEuRGVidWdQYWludEZsYWcgZmxhZyk7Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGljIHZv aWQgcmVzdGFydCAoc3RyaW5nPyBtZXNzYWdlKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gIm1ldGEvbWFpbi5oIildCi0rCXB1YmxpYyBzdGF0aWMgaW50IHJ1biAoKTsKLSsJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0rCXB1YmxpYyBzdGF0aWMgdm9p ZCBzZXRfZ25vbWVfd21fa2V5YmluZGluZ3MgKHN0cmluZyB3bV9rZXliaW5kaW5ncyk7Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJsaWMgc3RhdGlj IHZvaWQgc2V0X3dtX25hbWUgKHN0cmluZyB3bV9uYW1lKTsKLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gIm1ldGEvbWFpbi5oIildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCB0ZXN0X2luaXQg KCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJtZXRhL21haW4uaCIpXQotKwlwdWJs aWMgc3RhdGljIGJvb2wgeDExX2luaXRfZ2RrX2Rpc3BsYXkgKCkgdGhyb3dzIEdMaWIuRXJyb3I7 Ci0rfQotK1tDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJsaWJtdXR0ZXItOC1jdXN0b20uaCIs IGhhc190eXBlX2lkID0gZmFsc2UpXQotK3B1YmxpYyBzdHJ1Y3QgYmVmb3JlX2ZyYW1lIHsKLSt9 Ci0rW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImxpYm11dHRlci04LWN1c3RvbS5oIiwgaGFz X3R5cGVfaWQgPSBmYWxzZSldCi0rcHVibGljIHN0cnVjdCBmcmFtZSB7Ci0rfQotZGlmZiAtLWdp dCB2YXBpL211dHRlci1jbHV0dGVyLTctY3VzdG9tLnZhbGEgdmFwaS9tdXR0ZXItY2x1dHRlci03 LWN1c3RvbS52YWxhCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAuLjYwYzlm NjExCi0tLS0gL2Rldi9udWxsCi0rKysgdmFwaS9tdXR0ZXItY2x1dHRlci03LWN1c3RvbS52YWxh Ci1AQCAtMCwwICsxLDQyIEBACi0rbmFtZXNwYWNlIENsdXR0ZXIgewotKwotKwlwdWJsaWMgc3Ry dWN0IENvbG9yIHsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9jb2xvcl9mcm9tX2hscyIp XQotKwkJcHVibGljIENvbG9yLmZyb21faGxzIChmbG9hdCBodWUsIGZsb2F0IGx1bWluYW5jZSwg ZmxvYXQgc2F0dXJhdGlvbik7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfY29sb3JfZnJv bV9waXhlbCIpXQotKwkJcHVibGljIENvbG9yLmZyb21fcGl4ZWwgKHVpbnQzMiBwaXhlbCk7Ci0r CQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfY29sb3JfZnJvbV9zdHJpbmciKV0KLSsJCXB1Ymxp YyBzdGF0aWMgYm9vbCBmcm9tX3N0cmluZyAob3V0IENsdXR0ZXIuQ29sb3IgY29sb3IsIHN0cmlu ZyBzdHIpOwotKwkJcHVibGljIGJvb2wgcGFyc2Vfc3RyaW5nIChzdHJpbmcgc3RyKTsKLSsJCXB1 YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkNvbG9yPyBnZXRfc3RhdGljIChDbHV0dGVyLlN0 YXRpY0NvbG9yIGNvbG9yKTsKLSsJfQotKwotKwlwdWJsaWMgaW50ZXJmYWNlIENvbnRhaW5lciA6 IEdMaWIuT2JqZWN0IHsKLSsJCXB1YmxpYyB2b2lkIGFkZCAocGFyYW1zIENsdXR0ZXIuQWN0b3Jb XSBhY3RvcnMpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbnRhaW5lcl9jbGFzc19m aW5kX2NoaWxkX3Byb3BlcnR5IildCi0rCQlwdWJsaWMgY2xhc3MgdW5vd25lZCBHTGliLlBhcmFt U3BlYyBmaW5kX2NoaWxkX3Byb3BlcnR5IChzdHJpbmcgcHJvcGVydHlfbmFtZSk7Ci0rCQlbQ0Nv ZGUgKGNuYW1lID0gImNsdXR0ZXJfY29udGFpbmVyX2NsYXNzX2xpc3RfY2hpbGRfcHJvcGVydGll cyIpXQotKwkJcHVibGljIGNsYXNzIHVub3duZWQgR0xpYi5QYXJhbVNwZWNbXSBsaXN0X2NoaWxk X3Byb3BlcnRpZXMgKCk7Ci0rCX0KLSsKLSsJcHVibGljIHN0cnVjdCBVbml0cyB7Ci0rCQlbQ0Nv ZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9jbSIpXQotKwkJcHVibGljIFVuaXRzLmZy b21fY20gKGZsb2F0IGNtKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9t X2VtIildCi0rCQlwdWJsaWMgVW5pdHMuZnJvbV9lbSAoZmxvYXQgZW0pOwotKwkJW0NDb2RlIChj bmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fZW1fZm9yX2ZvbnQiKV0KLSsJCXB1YmxpYyBVbml0 cy5mcm9tX2VtX2Zvcl9mb250IChzdHJpbmcgZm9udF9uYW1lLCBmbG9hdCBlbSk7Ci0rCQlbQ0Nv ZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9tbSIpXQotKwkJcHVibGljIFVuaXRzLmZy b21fbW0gKGZsb2F0IG1tKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9t X3BpeGVscyIpXQotKwkJcHVibGljIFVuaXRzLmZyb21fcGl4ZWxzIChpbnQgcHgpOwotKwkJW0ND b2RlIChjbmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fcHQiKV0KLSsJCXB1YmxpYyBVbml0cy5m cm9tX3B0IChmbG9hdCBwdCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJv bV9zdHJpbmciKV0KLSsJCXB1YmxpYyBVbml0cy5mcm9tX3N0cmluZyAoc3RyaW5nIHN0cik7Ci0r CX0KLSsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg aGFzX2NvcHlfZnVuY3Rpb24gPSBmYWxzZSwgaGFzX2Rlc3Ryb3lfZnVuY3Rpb24gPSBmYWxzZSwg aGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBzdHJ1Y3QgQ2FwdHVyZSB7Ci0rCX0KLSt9 Ci1kaWZmIC0tZ2l0IHZhcGkvbXV0dGVyLWNsdXR0ZXItNy5kZXBzIHZhcGkvbXV0dGVyLWNsdXR0 ZXItNy5kZXBzCi1pbmRleCA2YmQxY2NmNy4uMmY0Y2YzZTggMTAwNjQ0Ci0tLS0gdmFwaS9tdXR0 ZXItY2x1dHRlci03LmRlcHMKLSsrKyB2YXBpL211dHRlci1jbHV0dGVyLTcuZGVwcwotQEAgLTIs MyArMiw0IEBAIGF0awotIGNhaXJvCi0ganNvbi1nbGliLTEuMAotIG11dHRlci1jb2dsLTcKLStn cmFwaGVuZS1nb2JqZWN0LTEuMAotZGlmZiAtLWdpdCB2YXBpL211dHRlci1jbHV0dGVyLTcudmFw aSB2YXBpL211dHRlci1jbHV0dGVyLTcudmFwaQotaW5kZXggZDdlMTMzZGYuLmIxY2RkMTg1IDEw MDY0NAotLS0tIHZhcGkvbXV0dGVyLWNsdXR0ZXItNy52YXBpCi0rKysgdmFwaS9tdXR0ZXItY2x1 dHRlci03LnZhcGkKLUBAIC00NjU5LDExICs0NjU5LDExIEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsK LSAJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSAJCXB1YmxpYyB2b2lkIGFsbG9jYXRlX3By ZWZlcnJlZF9zaXplIChmbG9hdCB4LCBmbG9hdCB5KTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIw LjYiKV0KLS0JCXB1YmxpYyB2b2lkIGFwcGx5X3JlbGF0aXZlX3RyYW5zZm9ybV90b19wb2ludCAo Q2x1dHRlci5BY3Rvcj8gYW5jZXN0b3IsIEdyYXBoZW5lLlBvaW50M0QgcG9pbnQsIG91dCB1bm93 bmVkIEdyYXBoZW5lLlBvaW50M0QgdmVydGV4KTsKLSsJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludDNE IGFwcGx5X3JlbGF0aXZlX3RyYW5zZm9ybV90b19wb2ludCAoQ2x1dHRlci5BY3Rvcj8gYW5jZXN0 b3IsIEdyYXBoZW5lLlBvaW50M0QgcG9pbnQpOwotIAkJW05vV3JhcHBlcl0KLSAJCXB1YmxpYyB2 aXJ0dWFsIHZvaWQgYXBwbHlfdHJhbnNmb3JtIChyZWYgQ2x1dHRlci5NYXRyaXggbWF0cml4KTsK LSAJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLS0JCXB1YmxpYyB2b2lkIGFwcGx5X3RyYW5z Zm9ybV90b19wb2ludCAoR3JhcGhlbmUuUG9pbnQzRCBwb2ludCwgb3V0IHVub3duZWQgR3JhcGhl bmUuUG9pbnQzRCB2ZXJ0ZXgpOwotKwkJcHVibGljIEdyYXBoZW5lLlBvaW50M0QgYXBwbHlfdHJh bnNmb3JtX3RvX3BvaW50IChHcmFwaGVuZS5Qb2ludDNEIHBvaW50KTsKLSAJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjI0IildCi0gCQlwdWJsaWMgdm9pZCBiaW5kX21vZGVsIChHTGliLkxpc3RNb2Rl bD8gbW9kZWwsIG93bmVkIENsdXR0ZXIuQWN0b3JDcmVhdGVDaGlsZEZ1bmMgY3JlYXRlX2NoaWxk X2Z1bmMpOwotIAkJW05vV3JhcHBlcl0KLUBAIC00NzI0LDcgKzQ3MjQsNyBAQCBuYW1lc3BhY2Ug Q2x1dHRlciB7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotIAkJcHVibGljIHZvaWQg Z2V0X2NvbnRlbnRfc2NhbGluZ19maWx0ZXJzIChvdXQgQ2x1dHRlci5TY2FsaW5nRmlsdGVyIG1p bl9maWx0ZXIsIG91dCBDbHV0dGVyLlNjYWxpbmdGaWx0ZXIgbWFnX2ZpbHRlcik7Ci0gCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMCIpXQotLQkJcHVibGljIHVub3duZWQgQ2x1dHRlci5QYWludFZv bHVtZSBnZXRfZGVmYXVsdF9wYWludF92b2x1bWUgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBDbHV0 dGVyLlBhaW50Vm9sdW1lPyBnZXRfZGVmYXVsdF9wYWludF92b2x1bWUgKCk7Ci0gCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMCIpXQotIAkJcHVibGljIHVpbnQgZ2V0X2Vhc2luZ19kZWxheSAoKTsK LSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi1AQCAtNDc1MSw3ICs0NzUxLDcgQEAgbmFt ZXNwYWNlIENsdXR0ZXIgewotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSAJCXB1Ymxp YyB1bm93bmVkIENsdXR0ZXIuTGF5b3V0TWFuYWdlciBnZXRfbGF5b3V0X21hbmFnZXIgKCk7Ci0g CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotLQkJcHVibGljIHZvaWQgZ2V0X21hcmdpbiAo Q2x1dHRlci5NYXJnaW4gbWFyZ2luKTsKLSsJCXB1YmxpYyBDbHV0dGVyLk1hcmdpbiBnZXRfbWFy Z2luICgpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSAJCXB1YmxpYyBmbG9hdCBn ZXRfbWFyZ2luX2JvdHRvbSAoKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi1AQCAt NDc3Niw4ICs0Nzc2LDExIEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCXB1YmxpYyB1aW50OCBn ZXRfcGFpbnRfb3BhY2l0eSAoKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSAJCXB1 YmxpYyBib29sIGdldF9wYWludF92aXNpYmlsaXR5ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuNiIpXQotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5QYWludFZvbHVtZT8gZ2V0X3BhaW50 X3ZvbHVtZSAoKTsKLSsJCVtDQ29kZSAodmZ1bmNfbmFtZSA9ICJnZXRfcGFpbnRfdm9sdW1lIild Ci0gCQlbTm9XcmFwcGVyXQotLQkJcHVibGljIHZpcnR1YWwgYm9vbCBnZXRfcGFpbnRfdm9sdW1l IChDbHV0dGVyLlBhaW50Vm9sdW1lIHZvbHVtZSk7Ci0rCQlwdWJsaWMgdmlydHVhbCBib29sIGdl dF9wYWludF92b2x1bWVfdmZ1bmMgKG91dCBDbHV0dGVyLlBhaW50Vm9sdW1lIHZvbHVtZSk7Ci0g CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0gCQlwdWJsaWMgdW5vd25lZCBQYW5nby5Db250 ZXh0IGdldF9wYW5nb19jb250ZXh0ICgpOwotIAkJcHVibGljIHVub3duZWQgQ2x1dHRlci5BY3Rv cj8gZ2V0X3BhcmVudCAoKTsKLUBAIC00ODE0LDkgKzQ4MTcsOSBAQCBuYW1lc3BhY2UgQ2x1dHRl ciB7Ci0gCQlwdWJsaWMgQ2x1dHRlci5UZXh0RGlyZWN0aW9uIGdldF90ZXh0X2RpcmVjdGlvbiAo KTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0gCQlwdWJsaWMgQ2x1dHRlci5NYXRy aXggZ2V0X3RyYW5zZm9ybSAoKTsKLS0JCXB1YmxpYyB2b2lkIGdldF90cmFuc2Zvcm1lZF9leHRl bnRzIChvdXQgdW5vd25lZCBHcmFwaGVuZS5SZWN0IHJlY3QpOwotKwkJcHVibGljIEdyYXBoZW5l LlJlY3QgZ2V0X3RyYW5zZm9ybWVkX2V4dGVudHMgKCk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAi MS42IildCi0tCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlBhaW50Vm9sdW1lIGdldF90cmFuc2Zv cm1lZF9wYWludF92b2x1bWUgKENsdXR0ZXIuQWN0b3IgcmVsYXRpdmVfdG9fYW5jZXN0b3IpOwot KwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5QYWludFZvbHVtZT8gZ2V0X3RyYW5zZm9ybWVkX3Bh aW50X3ZvbHVtZSAoQ2x1dHRlci5BY3RvciByZWxhdGl2ZV90b19hbmNlc3Rvcik7Ci0gCQlbVmVy c2lvbiAoc2luY2UgPSAiMC44IildCi0gCQlwdWJsaWMgdm9pZCBnZXRfdHJhbnNmb3JtZWRfcG9z aXRpb24gKG91dCBmbG9hdCB4LCBvdXQgZmxvYXQgeSk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAi MC44IildCi1AQCAtNTI3NSw3ICs1Mjc4LDcgQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAkJcHVi bGljIEFsaWduQ29uc3RyYWludCAoQ2x1dHRlci5BY3Rvcj8gc291cmNlLCBDbHV0dGVyLkFsaWdu QXhpcyBheGlzLCBmbG9hdCBmYWN0b3IpOwotIAkJcHVibGljIENsdXR0ZXIuQWxpZ25BeGlzIGdl dF9hbGlnbl9heGlzICgpOwotIAkJcHVibGljIGZsb2F0IGdldF9mYWN0b3IgKCk7Ci0tCQlwdWJs aWMgdm9pZCBnZXRfcGl2b3RfcG9pbnQgKG91dCB1bm93bmVkIEdyYXBoZW5lLlBvaW50IHBpdm90 X3BvaW50KTsKLSsJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludCBnZXRfcGl2b3RfcG9pbnQgKCk7Ci0g CQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9zb3VyY2UgKCk7Ci0gCQlwdWJsaWMg dm9pZCBzZXRfYWxpZ25fYXhpcyAoQ2x1dHRlci5BbGlnbkF4aXMgYXhpcyk7Ci0gCQlwdWJsaWMg dm9pZCBzZXRfZmFjdG9yIChmbG9hdCBmYWN0b3IpOwotQEAgLTUyODMsOCArNTI4Niw3IEBAIG5h bWVzcGFjZSBDbHV0dGVyIHsKLSAJCXB1YmxpYyB2b2lkIHNldF9zb3VyY2UgKENsdXR0ZXIuQWN0 b3I/IHNvdXJjZSk7Ci0gCQlwdWJsaWMgQ2x1dHRlci5BbGlnbkF4aXMgYWxpZ25fYXhpcyB7IGdl dDsgc2V0IGNvbnN0cnVjdDsgfQotIAkJcHVibGljIGZsb2F0IGZhY3RvciB7IGdldDsgc2V0IGNv bnN0cnVjdDsgfQotLQkJW05vQWNjZXNzb3JNZXRob2RdCi0tCQlwdWJsaWMgR3JhcGhlbmUuUG9p bnQgcGl2b3RfcG9pbnQgeyBvd25lZCBnZXQ7IHNldDsgfQotKwkJcHVibGljIEdyYXBoZW5lLlBv aW50IHBpdm90X3BvaW50IHsgZ2V0OyBzZXQ7IH0KLSAJCXB1YmxpYyBDbHV0dGVyLkFjdG9yIHNv dXJjZSB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQotIAl9Ci0gCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotQEAgLTUz MDIsNiArNTMwNCw4IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJcHVibGljIGFic3RyYWN0IGNs YXNzIEJhY2tlbmQgOiBHTGliLk9iamVjdCB7Ci0gCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVu Y3Rpb24gPSBmYWxzZSldCi0gCQlwcm90ZWN0ZWQgQmFja2VuZCAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENvZ2wuQ29udGV4dCBnZXRfY29nbF9j b250ZXh0ICgpOwotIAkJcHVibGljIHVub3duZWQgQ2x1dHRlci5TZWF0IGdldF9kZWZhdWx0X3Nl YXQgKCk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0gCQlwdWJsaWMgdW5vd25lZCBD YWlyby5Gb250T3B0aW9ucyBnZXRfZm9udF9vcHRpb25zICgpOwotQEAgLTU1NjEsNiArNTU2NSwx NiBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCQlwdWJsaWMgdm9pZCBzZXRfZmFjdG9yIChkb3Vi bGUgZmFjdG9yKTsKLSAJCXB1YmxpYyBkb3VibGUgZmFjdG9yIHsgZ2V0OyBzZXQ7IH0KLSAJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlw ZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBEZXZpY2VFdmVudCA6 IENsdXR0ZXIuRXZlbnQgewotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5JbnB1dERldmljZSBkZXZp Y2U7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotKwkJcHVibGljIHdlYWsg Q2x1dHRlci5BY3RvciBzb3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0YWdlIHN0YWdl OwotKwkJcHVibGljIHVpbnQzMiB0aW1lOwotKwkJcHVibGljIENsdXR0ZXIuRXZlbnRUeXBlIHR5 cGU7Ci0rCX0KLSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgdHlwZV9pZCA9ICJjbHV0dGVyX2VmZmVjdF9nZXRfdHlwZSAoKSIpXQotIAlbVmVyc2lvbiAo c2luY2UgPSAiMS40IildCi0gCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBFZmZlY3QgOiBDbHV0dGVy LkFjdG9yTWV0YSB7Ci1AQCAtNTYzMCw3ICs1NjQ0LDcgQEAgbmFtZXNwYWNlIENsdXR0ZXIgewot IAkJcHVibGljIHVpbnQgZ2V0X21vZGVfZ3JvdXAgKCk7Ci0gCQlwdWJsaWMgYm9vbCBnZXRfcGFk X2V2ZW50X2RldGFpbHMgKG91dCB1aW50IG51bWJlciwgb3V0IHVpbnQgbW9kZSwgb3V0IGRvdWJs ZSB2YWx1ZSk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotLQkJcHVibGljIHZvaWQg Z2V0X3Bvc2l0aW9uIChHcmFwaGVuZS5Qb2ludCBwb3NpdGlvbik7Ci0rCQlwdWJsaWMgR3JhcGhl bmUuUG9pbnQgZ2V0X3Bvc2l0aW9uICgpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQot IAkJcHVibGljIHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfcmVsYXRlZCAoKTsKLSAJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCi1AQCAtNTc1Miw3ICs1NzY2LDcgQEAgbmFtZXNwYWNlIENs dXR0ZXIgewotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCB0eXBlX2lkID0gImNsdXR0ZXJfZnJhbWVfY2xvY2tfZ2V0X3R5cGUgKCkiKV0KLSAJcHVibGlj IGNsYXNzIEZyYW1lQ2xvY2sgOiBHTGliLk9iamVjdCB7Ci0gCQlbQ0NvZGUgKGhhc19jb25zdHJ1 Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0tCQlwdWJsaWMgRnJhbWVDbG9jayAoZmxvYXQgcmVmcmVz aF9yYXRlLCBDbHV0dGVyLkZyYW1lTGlzdGVuZXJJZmFjZSBpZmFjZSwgdm9pZCogdXNlcl9kYXRh KTsKLSsJCXByb3RlY3RlZCBGcmFtZUNsb2NrICgpOwotIAkJcHVibGljIHZvaWQgYWRkX3RpbWVs aW5lIChDbHV0dGVyLlRpbWVsaW5lIHRpbWVsaW5lKTsKLSAJCXB1YmxpYyBmbG9hdCBnZXRfcmVm cmVzaF9yYXRlICgpOwotIAkJcHVibGljIHZvaWQgaW5oaWJpdCAoKTsKLUBAIC01ODUwLDYgKzU4 NjQsMTggQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAkJcHVibGljIGJvb2wgcm93X2hvbW9nZW5l b3VzIHsgZ2V0OyBzZXQ7IH0KLSAJCXB1YmxpYyB1aW50IHJvd19zcGFjaW5nIHsgZ2V0OyBzZXQ7 IH0KLSAJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBJTUV2 ZW50IDogQ2x1dHRlci5FdmVudCB7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdz OwotKwkJcHVibGljIHVpbnQzMiBsZW47Ci0rCQlwdWJsaWMgaW50MzIgb2Zmc2V0OwotKwkJcHVi bGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0 YWdlIHN0YWdlOwotKwkJcHVibGljIHdlYWsgc3RyaW5nIHRleHQ7Ci0rCQlwdWJsaWMgdWludDMy IHRpbWU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJfQotIAlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0 ZXJfaW1hZ2VfZ2V0X3R5cGUgKCkiKV0KLSAJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSAJ cHVibGljIGNsYXNzIEltYWdlIDogR0xpYi5PYmplY3QsIENsdXR0ZXIuQ29udGVudCB7Ci1AQCAt NTg3NCw3ICs1OTAwLDcgQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNiIpXQotIAkJcHVibGljIGJvb2wgZ2V0X2F4aXNfdmFsdWUgKFtDQ29kZSAoYXJyYXlf bGVuZ3RoID0gZmFsc2UpXSBkb3VibGVbXSBheGVzLCBDbHV0dGVyLklucHV0QXhpcyBheGlzLCBv dXQgZG91YmxlIHZhbHVlKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0tCQlwdWJs aWMgYm9vbCBnZXRfY29vcmRzIChDbHV0dGVyLkV2ZW50U2VxdWVuY2U/IHNlcXVlbmNlLCBHcmFw aGVuZS5Qb2ludCBwb2ludCk7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfY29vcmRzIChDbHV0dGVyLkV2 ZW50U2VxdWVuY2U/IHNlcXVlbmNlLCBvdXQgR3JhcGhlbmUuUG9pbnQgcG9pbnQpOwotIAkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMCIpXQotIAkJcHVibGljIGludCBnZXRfZGV2aWNlX2lkICgpOwot IAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotQEAgLTU5MDQsMTMgKzU5MzAsMTMgQEAgbmFt ZXNwYWNlIENsdXR0ZXIgewotIAkJcHVibGljIGludCBnZXRfbl9tb2RlX2dyb3VwcyAoKTsKLSAJ CXB1YmxpYyBpbnQgZ2V0X25fcmluZ3MgKCk7Ci0gCQlwdWJsaWMgaW50IGdldF9uX3N0cmlwcyAo KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBHTGliLkxpc3Q8d2Vh ayBDbHV0dGVyLklucHV0RGV2aWNlPiBnZXRfcGh5c2ljYWxfZGV2aWNlcyAoKTsKLSAJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjIiKV0KLSAJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuU3RhZ2UgZ2V0 X3BvaW50ZXJfc3RhZ2UgKCk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yMiIpXQotIAkJcHVi bGljIHVub3duZWQgc3RyaW5nIGdldF9wcm9kdWN0X2lkICgpOwotIAkJcHVibGljIHVub3duZWQg Q2x1dHRlci5TZWF0IGdldF9zZWF0ICgpOwotLQkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQot LQkJcHVibGljIEdMaWIuTGlzdDx3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2U+IGdldF9zbGF2ZV9k ZXZpY2VzICgpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjIiKV0KLSAJCXB1YmxpYyB1bm93 bmVkIHN0cmluZyBnZXRfdmVuZG9yX2lkICgpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KLUBAIC01OTg3LDcgKzYwMTMsNyBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCQlwdWJsaWMg dmlydHVhbCB2b2lkIGNvbW1pdF90ZXh0IChzdHJpbmcgdGV4dCk7Ci0gCQlbTm9XcmFwcGVyXQot IAkJcHVibGljIHZpcnR1YWwgdm9pZCBkZWxldGVfc3Vycm91bmRpbmcgKGludCBvZmZzZXQsIHVp bnQgbGVuKTsKLS0JCXB1YmxpYyBib29sIGZpbHRlcl9rZXlfZXZlbnQgKENsdXR0ZXIuS2V5RXZl bnQga2V5KTsKLSsJCXB1YmxpYyBib29sIGZpbHRlcl9ldmVudCAoQ2x1dHRlci5FdmVudCBldmVu dCk7Ci0gCQlbTm9XcmFwcGVyXQotIAkJcHVibGljIHZpcnR1YWwgdm9pZCBmb2N1c19pbiAoQ2x1 dHRlci5JbnB1dE1ldGhvZCBpbnB1dF9tZXRob2QpOwotIAkJW05vV3JhcHBlcl0KLUBAIC02MTUz LDE5ICs2MTc5LDYgQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAkJcHVibGljIHVub3duZWQgQ2x1 dHRlci5MYXlvdXRNYW5hZ2VyIGdldF9tYW5hZ2VyICgpOwotIAkJcHVibGljIENsdXR0ZXIuTGF5 b3V0TWFuYWdlciBtYW5hZ2VyIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSAJfQotLQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjb3B5X2Z1bmN0aW9uID0gImdf Ym94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9ICJj bHV0dGVyX21hcmdpbl9nZXRfdHlwZSAoKSIpXQotLQlbQ29tcGFjdF0KLS0JW1ZlcnNpb24gKHNp bmNlID0gIjEuMTAiKV0KLS0JcHVibGljIGNsYXNzIE1hcmdpbiB7Ci0tCQlwdWJsaWMgZmxvYXQg Ym90dG9tOwotLQkJcHVibGljIGZsb2F0IGxlZnQ7Ci0tCQlwdWJsaWMgZmxvYXQgcmlnaHQ7Ci0t CQlwdWJsaWMgZmxvYXQgdG9wOwotLQkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0g ZmFsc2UpXQotLQkJcHVibGljIE1hcmdpbiAoKTsKLS0JCXB1YmxpYyBDbHV0dGVyLk1hcmdpbiBj b3B5ICgpOwotLQkJcHVibGljIHZvaWQgZnJlZSAoKTsKLS0JfQotIAlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSAJ W0NvbXBhY3RdCi0gCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLUBAIC02MTg4LDEzICs2MjAx LDU2IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCXByb3RlY3RlZCBPZmZzY3JlZW5FZmZlY3Qg KCk7Ci0gCQlwdWJsaWMgdmlydHVhbCBDb2dsLkhhbmRsZSBjcmVhdGVfdGV4dHVyZSAoZmxvYXQg d2lkdGgsIGZsb2F0IGhlaWdodCk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotLQkJ cHVibGljIGJvb2wgZ2V0X3RhcmdldF9yZWN0IChvdXQgdW5vd25lZCBHcmFwaGVuZS5SZWN0IHJl Y3QpOwotKwkJcHVibGljIGJvb2wgZ2V0X3RhcmdldF9yZWN0IChvdXQgR3JhcGhlbmUuUmVjdCBy ZWN0KTsKLSAJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9 ICIxLjE0Iiwgc2luY2UgPSAiMS44IildCi0gCQlwdWJsaWMgYm9vbCBnZXRfdGFyZ2V0X3NpemUg KG91dCBmbG9hdCB3aWR0aCwgb3V0IGZsb2F0IGhlaWdodCk7Ci0gCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xMCIpXQotIAkJcHVibGljIHVub3duZWQgQ29nbC5IYW5kbGUgZ2V0X3RleHR1cmUgKCk7 Ci0gCQlwdWJsaWMgdmlydHVhbCB2b2lkIHBhaW50X3RhcmdldCAoQ2x1dHRlci5QYWludENvbnRl eHQgcGFpbnRfY29udGV4dCk7Ci0gCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtDb21wYWN0XQotKwlw dWJsaWMgY2xhc3MgUGFkQnV0dG9uRXZlbnQgOiBDbHV0dGVyLkV2ZW50IHsKLSsJCXB1YmxpYyB1 aW50MzIgYnV0dG9uOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5JbnB1dERldmljZSBkZXZpY2U7 Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotKwkJcHVibGljIHVpbnQzMiBn cm91cDsKLSsJCXB1YmxpYyB1aW50MzIgbW9kZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0 b3Igc291cmNlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5TdGFnZSBzdGFnZTsKLSsJCXB1Ymxp YyB1aW50MzIgdGltZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOwotKwl9Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBl X2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNzIFBhZFJpbmdFdmVudCA6 IENsdXR0ZXIuRXZlbnQgewotKwkJcHVibGljIGRvdWJsZSBhbmdsZTsKLSsJCXB1YmxpYyB3ZWFr IENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOwotKwkJcHVibGljIENsdXR0ZXIuRXZlbnRGbGFn cyBmbGFnczsKLSsJCXB1YmxpYyB1aW50MzIgZ3JvdXA7Ci0rCQlwdWJsaWMgdWludDMyIG1vZGU7 Ci0rCQlwdWJsaWMgdWludDMyIHJpbmdfbnVtYmVyOwotKwkJcHVibGljIENsdXR0ZXIuSW5wdXRE ZXZpY2VQYWRTb3VyY2UgcmluZ19zb3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9y IHNvdXJjZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMg dWludDMyIHRpbWU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9p ZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBQYWRTdHJpcEV2ZW50IDog Q2x1dHRlci5FdmVudCB7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2aWNlIGRldmlj ZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7Ci0rCQlwdWJsaWMgdWludDMy IGdyb3VwOwotKwkJcHVibGljIHVpbnQzMiBtb2RlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5B Y3RvciBzb3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0YWdlIHN0YWdlOwotKwkJcHVi bGljIHVpbnQzMiBzdHJpcF9udW1iZXI7Ci0rCQlwdWJsaWMgQ2x1dHRlci5JbnB1dERldmljZVBh ZFNvdXJjZSBzdHJpcF9zb3VyY2U7Ci0rCQlwdWJsaWMgdWludDMyIHRpbWU7Ci0rCQlwdWJsaWMg Q2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJCXB1YmxpYyBkb3VibGUgdmFsdWU7Ci0rCX0KLSAJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9 ICJjbHV0dGVyX3BhZ2VfdHVybl9lZmZlY3RfZ2V0X3R5cGUgKCkiKV0KLSAJW1ZlcnNpb24gKHNp bmNlID0gIjEuNCIpXQotIAlwdWJsaWMgY2xhc3MgUGFnZVR1cm5FZmZlY3QgOiBDbHV0dGVyLkRl Zm9ybUVmZmVjdCB7Ci1AQCAtNjIzNiwzNyArNjI5Miw2IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsK LSAJCXB1YmxpYyB2b2lkIHNldF9uYW1lIChzdHJpbmcgbmFtZSk7Ci0gCQlwdWJsaWMgdm9pZCB1 bnJlZiAoKTsKLSAJfQotLQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAi Z19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BhaW50X3ZvbHVtZV9nZXRfdHlwZSAo KSIpXQotLQlbQ29tcGFjdF0KLS0JW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotLQlwdWJsaWMg Y2xhc3MgUGFpbnRWb2x1bWUgewotLQkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotLQkJcHVi bGljIENsdXR0ZXIuUGFpbnRWb2x1bWUgY29weSAoKTsKLS0JCVtWZXJzaW9uIChzaW5jZSA9ICIx LjYiKV0KLS0JCXB1YmxpYyB2b2lkIGZyZWUgKCk7Ci0tCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42 IildCi0tCQlwdWJsaWMgZmxvYXQgZ2V0X2RlcHRoICgpOwotLQkJW1ZlcnNpb24gKHNpbmNlID0g IjEuNiIpXQotLQkJcHVibGljIGZsb2F0IGdldF9oZWlnaHQgKCk7Ci0tCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS42IildCi0tCQlwdWJsaWMgdm9pZCBnZXRfb3JpZ2luIChvdXQgdW5vd25lZCBHcmFw aGVuZS5Qb2ludDNEIHZlcnRleCk7Ci0tCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0tCQlw dWJsaWMgZmxvYXQgZ2V0X3dpZHRoICgpOwotLQkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQot LQkJcHVibGljIHZvaWQgc2V0X2RlcHRoIChmbG9hdCBkZXB0aCk7Ci0tCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS42IildCi0tCQlwdWJsaWMgYm9vbCBzZXRfZnJvbV9hbGxvY2F0aW9uIChDbHV0dGVy LkFjdG9yIGFjdG9yKTsKLS0JCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLS0JCXB1YmxpYyB2 b2lkIHNldF9oZWlnaHQgKGZsb2F0IGhlaWdodCk7Ci0tCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42 IildCi0tCQlwdWJsaWMgdm9pZCBzZXRfb3JpZ2luIChHcmFwaGVuZS5Qb2ludDNEIG9yaWdpbik7 Ci0tCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0tCQlwdWJsaWMgdm9pZCBzZXRfd2lkdGgg KGZsb2F0IHdpZHRoKTsKLS0JCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLS0JCXB1YmxpYyB2 b2lkIHVuaW9uIChDbHV0dGVyLlBhaW50Vm9sdW1lIGFub3RoZXJfcHYpOwotLQkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTAiKV0KLS0JCXB1YmxpYyB2b2lkIHVuaW9uX2JveCAoQ2x1dHRlci5BY3Rv ckJveCBib3gpOwotLQl9Ci0gCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wYW5fYWN0aW9uX2dldF90eXBlICgpIildCi0g CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0gCXB1YmxpYyBjbGFzcyBQYW5BY3Rpb24gOiBD bHV0dGVyLkdlc3R1cmVBY3Rpb24gewotQEAgLTYzNzAsNiArNjM5NSwxNyBAQCBuYW1lc3BhY2Ug Q2x1dHRlciB7Ci0gCQlwdWJsaWMgdm9pZCBzZXRfcHJvcGVydHlfbmFtZSAoc3RyaW5nPyBwcm9w ZXJ0eV9uYW1lKTsKLSAJCXB1YmxpYyBzdHJpbmcgcHJvcGVydHlfbmFtZSB7IGdldDsgc2V0OyB9 Ci0gCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg aGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtDb21wYWN0XQotKwlbVmVyc2lvbiAoc2luY2UgPSAi MS4yOCIpXQotKwlwdWJsaWMgY2xhc3MgUHJveGltaXR5RXZlbnQgOiBDbHV0dGVyLkV2ZW50IHsK LSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOwotKwkJcHVibGljIENs dXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0b3Igc291 cmNlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5TdGFnZSBzdGFnZTsKLSsJCXB1YmxpYyB1aW50 MzIgdGltZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOwotKwl9Ci0gCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1 dHRlcl9yb290X25vZGVfZ2V0X3R5cGUgKCkiKV0KLSAJcHVibGljIGNsYXNzIFJvb3ROb2RlIDog Q2x1dHRlci5QYWludE5vZGUgewotIAkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0g ZmFsc2UsIHR5cGUgPSAiQ2x1dHRlclBhaW50Tm9kZSoiKV0KLUBAIC02NDY0LDYgKzY1MDAsNyBA QCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCQlwdWJsaWMgdmlydHVhbCB1bm93bmVkIENsdXR0ZXIu SW5wdXREZXZpY2UgZ2V0X3BvaW50ZXIgKCk7Ci0gCQlwdWJsaWMgdm9pZCBnZXRfcG9pbnRlcl9h MTF5X3NldHRpbmdzIChDbHV0dGVyLlBvaW50ZXJBMTF5U2V0dGluZ3Mgc2V0dGluZ3MpOwotIAkJ cHVibGljIGJvb2wgZ2V0X3RvdWNoX21vZGUgKCk7Ci0rCQlwdWJsaWMgdmlydHVhbCBib29sIGhh bmRsZV9kZXZpY2VfZXZlbnQgKENsdXR0ZXIuRXZlbnQgZXZlbnQpOwotIAkJcHVibGljIHZvaWQg aW5oaWJpdF91bmZvY3VzICgpOwotIAkJcHVibGljIGJvb2wgaXNfdW5mb2N1c19pbmhpYml0ZWQg KCk7Ci0gCQlwdWJsaWMgR0xpYi5MaXN0PHdlYWsgQ2x1dHRlci5JbnB1dERldmljZT4gbGlzdF9k ZXZpY2VzICgpOwotQEAgLTY1ODgsNyArNjYyNSw3IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSAJCXB1YmxpYyB2b2lkIGVuc3VyZV92aWV3cG9y dCAoKTsKLSAJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2FjdG9yX2F0X3BvcyAo Q2x1dHRlci5QaWNrTW9kZSBwaWNrX21vZGUsIGZsb2F0IHgsIGZsb2F0IHkpOwotLQkJcHVibGlj IGJvb2wgZ2V0X2NhcHR1cmVfZmluYWxfc2l6ZSAoQ2Fpcm8uUmVjdGFuZ2xlSW50IHJlY3QsIGlu dCB3aWR0aCwgaW50IGhlaWdodCwgZmxvYXQgc2NhbGUpOwotKwkJcHVibGljIGJvb2wgZ2V0X2Nh cHR1cmVfZmluYWxfc2l6ZSAoQ2Fpcm8uUmVjdGFuZ2xlSW50IHJlY3QsIG91dCBpbnQgd2lkdGgs IG91dCBpbnQgaGVpZ2h0LCBvdXQgZmxvYXQgc2NhbGUpOwotIAkJcHVibGljIGludDY0IGdldF9m cmFtZV9jb3VudGVyICgpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotIAkJcHVibGlj IHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfa2V5X2ZvY3VzICgpOwotQEAgLTY2MDIsNyArNjYz OSw3IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0K LSAJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfdGl0bGUgKCk7Ci0gCQlwdWJsaWMgYm9vbCBn ZXRfdXNlX2FscGhhICgpOwotLQkJcHVibGljIGJvb2wgcGFpbnRfdG9fYnVmZmVyIChDYWlyby5S ZWN0YW5nbGVJbnQgcmVjdCwgZmxvYXQgc2NhbGUsIHVpbnQ4IGRhdGEsIGludCBzdHJpZGUsIENv Z2wuUGl4ZWxGb3JtYXQgZm9ybWF0LCBDbHV0dGVyLlBhaW50RmxhZyBwYWludF9mbGFncykgdGhy b3dzIEdMaWIuRXJyb3I7Ci0rCQlwdWJsaWMgYm9vbCBwYWludF90b19idWZmZXIgKENhaXJvLlJl Y3RhbmdsZUludCByZWN0LCBmbG9hdCBzY2FsZSwgW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxz ZSwgdHlwZSA9ICJ1aW50OF90KiIpXSB1aW50OFtdIGRhdGEsIGludCBzdHJpZGUsIENvZ2wuUGl4 ZWxGb3JtYXQgZm9ybWF0LCBDbHV0dGVyLlBhaW50RmxhZyBwYWludF9mbGFncykgdGhyb3dzIEdM aWIuRXJyb3I7Ci0gCQlwdWJsaWMgdm9pZCBwYWludF90b19mcmFtZWJ1ZmZlciAoQ29nbC5GcmFt ZWJ1ZmZlciBmcmFtZWJ1ZmZlciwgQ2Fpcm8uUmVjdGFuZ2xlSW50IHJlY3QsIGZsb2F0IHNjYWxl LCBDbHV0dGVyLlBhaW50RmxhZyBwYWludF9mbGFncyk7Ci0gCQlbQ0NvZGUgKGFycmF5X2xlbmd0 aCA9IGZhbHNlKV0KLSAJCXB1YmxpYyB1aW50OFtdIHJlYWRfcGl4ZWxzIChpbnQgeCwgaW50IHks IGludCB3aWR0aCA9IC0xLCBpbnQgaGVpZ2h0ID0gLTEpOwotQEAgLTY2MjksNyArNjY2Niw3IEBA IG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIwIildCi0gCQlw dWJsaWMgc2lnbmFsIHZvaWQgYWZ0ZXJfcGFpbnQgKENsdXR0ZXIuU3RhZ2VWaWV3IHZpZXcpOwot IAkJcHVibGljIHNpZ25hbCB2b2lkIGFmdGVyX3VwZGF0ZSAoQ2x1dHRlci5TdGFnZVZpZXcgdmll dyk7Ci0tCQlwdWJsaWMgc2lnbmFsIHZvaWQgYmVmb3JlX3BhaW50IChDbHV0dGVyLlN0YWdlVmll dyB2aWV3KTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGJlZm9yZV9wYWludCAoQ2x1 dHRlci5TdGFnZVZpZXcgdmlldyk7Ci0gCQlwdWJsaWMgc2lnbmFsIHZvaWQgYmVmb3JlX3VwZGF0 ZSAoQ2x1dHRlci5TdGFnZVZpZXcgdmlldyk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42Iild Ci0gCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBkZWFjdGl2YXRlICgpOwotQEAgLTY2NzYs NiArNjcxMyw3IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJCXB1YmxpYyB2b2lkIGdldF9sYXlv dXQgKENhaXJvLlJlY3RhbmdsZUludCByZWN0KTsKLSAJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZ2V0 X29mZnNjcmVlbl90cmFuc2Zvcm1hdGlvbl9tYXRyaXggKENvZ2wuTWF0cml4IG1hdHJpeCk7Ci0g CQlwdWJsaWMgdW5vd25lZCBDb2dsLkZyYW1lYnVmZmVyIGdldF9vbnNjcmVlbiAoKTsKLSsJCXB1 YmxpYyBmbG9hdCBnZXRfcmVmcmVzaF9yYXRlICgpOwotIAkJcHVibGljIGZsb2F0IGdldF9zY2Fs ZSAoKTsKLSAJCXB1YmxpYyB2b2lkIGludmFsaWRhdGVfb2Zmc2NyZWVuX2JsaXRfcGlwZWxpbmUg KCk7Ci0gCQlbTm9XcmFwcGVyXQotQEAgLTY2ODMsOCArNjcyMSw2IEBAIG5hbWVzcGFjZSBDbHV0 dGVyIHsKLSAJCVtOb1dyYXBwZXJdCi0gCQlwdWJsaWMgdmlydHVhbCB2b2lkIHRyYW5zZm9ybV9y ZWN0X3RvX29uc2NyZWVuIChDYWlyby5SZWN0YW5nbGVJbnQgc3JjX3JlY3QsIGludCBkc3Rfd2lk dGgsIGludCBkc3RfaGVpZ2h0LCBDYWlyby5SZWN0YW5nbGVJbnQgZHN0X3JlY3QpOwotIAkJW05v QWNjZXNzb3JNZXRob2RdCi0tCQlwdWJsaWMgQ2Fpcm8uUmVjdGFuZ2xlSW50IGxheW91dCB7IG93 bmVkIGdldDsgc2V0IGNvbnN0cnVjdDsgfQotLQkJW05vQWNjZXNzb3JNZXRob2RdCi0gCQlwdWJs aWMgc3RyaW5nIG5hbWUgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotIAkJW05vQWNjZXNzb3JN ZXRob2RdCi0gCQlwdWJsaWMgZmxvYXQgcmVmcmVzaF9yYXRlIHsgZ2V0OyBzZXQgY29uc3RydWN0 OyB9Ci1AQCAtNjczMiw3ICs2NzY4LDcgQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAkJcHVibGlj IENsdXR0ZXIuQ29sb3IgZ2V0X2N1cnNvcl9jb2xvciAoKTsKLSAJCXB1YmxpYyBpbnQgZ2V0X2N1 cnNvcl9wb3NpdGlvbiAoKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE2IildCi0tCQlwdWJs aWMgdm9pZCBnZXRfY3Vyc29yX3JlY3QgKG91dCB1bm93bmVkIEdyYXBoZW5lLlJlY3QgcmVjdCk7 Ci0rCQlwdWJsaWMgR3JhcGhlbmUuUmVjdCBnZXRfY3Vyc29yX3JlY3QgKCk7Ci0gCQlwdWJsaWMg dWludCBnZXRfY3Vyc29yX3NpemUgKCk7Ci0gCQlwdWJsaWMgYm9vbCBnZXRfY3Vyc29yX3Zpc2li bGUgKCk7Ci0gCQlwdWJsaWMgYm9vbCBnZXRfZWRpdGFibGUgKCk7Ci1AQCAtNjkxNiw3ICs2OTUy LDcgQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQot IAkJcHVibGljIGJvb2wgZ2V0X2F1dG9fcmV2ZXJzZSAoKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEyIildCi0tCQlwdWJsaWMgYm9vbCBnZXRfY3ViaWNfYmV6aWVyX3Byb2dyZXNzIChHcmFw aGVuZS5Qb2ludCBjXzEsIEdyYXBoZW5lLlBvaW50IGNfMik7Ci0rCQlwdWJsaWMgYm9vbCBnZXRf Y3ViaWNfYmV6aWVyX3Byb2dyZXNzIChvdXQgR3JhcGhlbmUuUG9pbnQgY18xLCBvdXQgR3JhcGhl bmUuUG9pbnQgY18yKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0gCQlwdWJsaWMg aW50IGdldF9jdXJyZW50X3JlcGVhdCAoKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0K LUBAIC03MTA4LDggKzcxNDQsOCBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCXB1YmxpYyBjbGFz cyBab29tQWN0aW9uIDogQ2x1dHRlci5HZXN0dXJlQWN0aW9uIHsKLSAJCVtDQ29kZSAoaGFzX2Nv bnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJBY3Rpb24qIildCi0gCQlw dWJsaWMgWm9vbUFjdGlvbiAoKTsKLS0JCXB1YmxpYyB2b2lkIGdldF9mb2NhbF9wb2ludCAoR3Jh cGhlbmUuUG9pbnQgcG9pbnQpOwotLQkJcHVibGljIHZvaWQgZ2V0X3RyYW5zZm9ybWVkX2ZvY2Fs X3BvaW50IChHcmFwaGVuZS5Qb2ludCBwb2ludCk7Ci0rCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQg Z2V0X2ZvY2FsX3BvaW50ICgpOwotKwkJcHVibGljIEdyYXBoZW5lLlBvaW50IGdldF90cmFuc2Zv cm1lZF9mb2NhbF9wb2ludCAoKTsKLSAJCXB1YmxpYyBDbHV0dGVyLlpvb21BeGlzIGdldF96b29t X2F4aXMgKCk7Ci0gCQlwdWJsaWMgdm9pZCBzZXRfem9vbV9heGlzIChDbHV0dGVyLlpvb21BeGlz IGF4aXMpOwotIAkJcHVibGljIENsdXR0ZXIuWm9vbUF4aXMgem9vbV9heGlzIHsgZ2V0OyBzZXQ7 IH0KLUBAIC03MTMwLDYgKzcxNjYsNyBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRl cl9jb250YWluZXJfZ2V0X3R5cGUgKCkiKV0KLSAJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQot IAlwdWJsaWMgaW50ZXJmYWNlIENvbnRhaW5lciA6IEdMaWIuT2JqZWN0IHsKLSsJCXB1YmxpYyB2 b2lkIGFkZCAocGFyYW1zIENsdXR0ZXIuQWN0b3JbXSBhY3RvcnMpOwotIAkJW0NDb2RlICh2ZnVu Y19uYW1lID0gImFkZCIpXQotIAkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNh dGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIwLjQiKV0KLSAJCXB1YmxpYyBhYnN0cmFjdCB2 b2lkIGFkZF9hY3RvciAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci1AQCAtNzE0MSwyMSArNzE3OCwy MCBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCQlwdWJsaWMgdm9pZCBjaGlsZF9zZXQgKENsdXR0 ZXIuQWN0b3IgYWN0b3IsIC4uLik7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0gCQlw dWJsaWMgdm9pZCBjaGlsZF9zZXRfcHJvcGVydHkgKENsdXR0ZXIuQWN0b3IgY2hpbGQsIHN0cmlu ZyBwcm9wZXJ0eSwgR0xpYi5WYWx1ZSB2YWx1ZSk7Ci0tCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44 IildCi0tCQlwdWJsaWMgc3RhdGljIHVub3duZWQgR0xpYi5QYXJhbVNwZWMgY2xhc3NfZmluZF9j aGlsZF9wcm9wZXJ0eSAoR0xpYi5PYmplY3RDbGFzcyBrbGFzcywgc3RyaW5nIHByb3BlcnR5X25h bWUpOwotLQkJW0NDb2RlIChhcnJheV9sZW5ndGhfcG9zID0gMS4xLCBhcnJheV9sZW5ndGhfdHlw ZSA9ICJndWludCIpXQotLQkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotLQkJcHVibGljIHN0 YXRpYyBHTGliLlBhcmFtU3BlY1tdIGNsYXNzX2xpc3RfY2hpbGRfcHJvcGVydGllcyAoR0xpYi5P YmplY3RDbGFzcyBrbGFzcyk7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCi0gCQlwdWJs aWMgdmlydHVhbCB2b2lkIGNyZWF0ZV9jaGlsZF9tZXRhIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsK LSAJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSAJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZGVz dHJveV9jaGlsZF9tZXRhIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsKLSAJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjYiKV0KLSAJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZmluZF9jaGlsZF9i eV9uYW1lIChzdHJpbmcgY2hpbGRfbmFtZSk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJf Y29udGFpbmVyX2NsYXNzX2ZpbmRfY2hpbGRfcHJvcGVydHkiKV0KLSsJCXB1YmxpYyBjbGFzcyB1 bm93bmVkIEdMaWIuUGFyYW1TcGVjIGZpbmRfY2hpbGRfcHJvcGVydHkgKHN0cmluZyBwcm9wZXJ0 eV9uYW1lKTsKLSAJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSAJCXB1YmxpYyB2aXJ0dWFs IHVub3duZWQgQ2x1dHRlci5DaGlsZE1ldGEgZ2V0X2NoaWxkX21ldGEgKENsdXR0ZXIuQWN0b3Ig YWN0b3IpOwotIAkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNl ID0gIjEuMTAiLCBzaW5jZSA9ICIwLjQiKV0KLSAJCXB1YmxpYyBHTGliLkxpc3Q8d2VhayBDbHV0 dGVyLkFjdG9yPiBnZXRfY2hpbGRyZW4gKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJf Y29udGFpbmVyX2NsYXNzX2xpc3RfY2hpbGRfcHJvcGVydGllcyIpXQotKwkJcHVibGljIGNsYXNz IHVub3duZWQgR0xpYi5QYXJhbVNwZWNbXSBsaXN0X2NoaWxkX3Byb3BlcnRpZXMgKCk7Ci0gCQlb Q0NvZGUgKHZmdW5jX25hbWUgPSAibG93ZXIiKV0KLSAJCVtWZXJzaW9uIChkZXByZWNhdGVkID0g dHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMC42IildCi0gCQlwdWJs aWMgdmlydHVhbCB2b2lkIGxvd2VyX2NoaWxkIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBDbHV0dGVy LkFjdG9yPyBzaWJsaW5nID0gbnVsbCk7Ci1AQCAtNzI1Niw5ICs3MjkyLDkgQEAgbmFtZXNwYWNl IENsdXR0ZXIgewotIAkJcHVibGljIGJvb2wgcHJldiAob3V0IHVub3duZWQgQ2x1dHRlci5BY3Rv ciBjaGlsZCk7Ci0gCQlwdWJsaWMgdm9pZCByZW1vdmUgKCk7Ci0gCX0KLS0JW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSld Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc19j b3B5X2Z1bmN0aW9uID0gZmFsc2UsIGhhc19kZXN0cm95X2Z1bmN0aW9uID0gZmFsc2UsIGhhc190 eXBlX2lkID0gZmFsc2UpXQotIAlwdWJsaWMgc3RydWN0IENhcHR1cmUgewotLQkJcHVibGljIHdl YWsgQ2Fpcm8uU3VyZmFjZSBpbWFnZTsKLSsJCXB1YmxpYyBDYWlyby5JbWFnZVN1cmZhY2UgaW1h Z2U7Ci0gCQlwdWJsaWMgQ2Fpcm8uUmVjdGFuZ2xlSW50IHJlY3Q7Ci0gCX0KLSAJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY29weV9mdW5jdGlvbiA9ICJn X2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAi Y2x1dHRlcl9jb2xvcl9nZXRfdHlwZSAoKSIpXQotQEAgLTcyNzcsMTEgKzczMTMsMTIgQEAgbmFt ZXNwYWNlIENsdXR0ZXIgewotIAkJcHVibGljIGJvb2wgZXF1YWwgKENsdXR0ZXIuQ29sb3IgdjIp OwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQotIAkJcHVibGljIHZvaWQgZnJlZSAoKTsK LS0JCXB1YmxpYyBzdGF0aWMgdm9pZCBmcm9tX2hscyAob3V0IENsdXR0ZXIuQ29sb3IgY29sb3Is IGZsb2F0IGh1ZSwgZmxvYXQgbHVtaW5hbmNlLCBmbG9hdCBzYXR1cmF0aW9uKTsKLS0JCXB1Ymxp YyBzdGF0aWMgdm9pZCBmcm9tX3BpeGVsIChvdXQgQ2x1dHRlci5Db2xvciBjb2xvciwgdWludDMy IHBpeGVsKTsKLS0JCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCVtDQ29kZSAoY25hbWUg PSAiY2x1dHRlcl9jb2xvcl9mcm9tX2hscyIpXQotKwkJcHVibGljIENvbG9yLmZyb21faGxzIChm bG9hdCBodWUsIGZsb2F0IGx1bWluYW5jZSwgZmxvYXQgc2F0dXJhdGlvbik7Ci0rCQlbQ0NvZGUg KGNuYW1lID0gImNsdXR0ZXJfY29sb3JfZnJvbV9waXhlbCIpXQotKwkJcHVibGljIENvbG9yLmZy b21fcGl4ZWwgKHVpbnQzMiBwaXhlbCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfY29s b3JfZnJvbV9zdHJpbmciKV0KLSAJCXB1YmxpYyBzdGF0aWMgYm9vbCBmcm9tX3N0cmluZyAob3V0 IENsdXR0ZXIuQ29sb3IgY29sb3IsIHN0cmluZyBzdHIpOwotLQkJW1ZlcnNpb24gKHNpbmNlID0g IjEuNiIpXQotIAkJcHVibGljIHN0YXRpYyB1bm93bmVkIENsdXR0ZXIuQ29sb3I/IGdldF9zdGF0 aWMgKENsdXR0ZXIuU3RhdGljQ29sb3IgY29sb3IpOwotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MCIpXQotIAkJcHVibGljIHVpbnQgaGFzaCAoKTsKLUBAIC03MjkwLDYgKzczMjcsNyBAQCBuYW1l c3BhY2UgQ2x1dHRlciB7Ci0gCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0gCQlwdWJsaWMg Q2x1dHRlci5Db2xvciBpbnRlcnBvbGF0ZSAoQ2x1dHRlci5Db2xvciBmaW5hbCwgZG91YmxlIHBy b2dyZXNzKTsKLSAJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIGxpZ2h0ZW4gKCk7Ci0rCQlwdWJsaWMg Ym9vbCBwYXJzZV9zdHJpbmcgKHN0cmluZyBzdHIpOwotIAkJcHVibGljIENsdXR0ZXIuQ29sb3Ig c2hhZGUgKGRvdWJsZSBmYWN0b3IpOwotIAkJcHVibGljIENsdXR0ZXIuQ29sb3Igc3VidHJhY3Qg KENsdXR0ZXIuQ29sb3IgYik7Ci0gCQlwdWJsaWMgdm9pZCB0b19obHMgKG91dCBmbG9hdCBodWUs IG91dCBmbG9hdCBsdW1pbmFuY2UsIG91dCBmbG9hdCBzYXR1cmF0aW9uKTsKLUBAIC03Mjk4LDEx ICs3MzM2LDYgQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAkJcHVibGljIHN0cmluZyB0b19zdHJp bmcgKCk7Ci0gCX0KLSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0tCXB1YmxpYyBzdHJ1Y3QgRnJhbWVMaXN0ZW5l cklmYWNlIHsKLS0JCXB1YmxpYyB3ZWFrIGdsb2JhbDo6YmVmb3JlX2ZyYW1lIGJlZm9yZV9mcmFt ZTsKLS0JCXB1YmxpYyB3ZWFrIGdsb2JhbDo6ZnJhbWUgZnJhbWU7Ci0tCX0KLS0JW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxz ZSldCi0gCXB1YmxpYyBzdHJ1Y3QgS2JkQTExeVNldHRpbmdzIHsKLSAJCXB1YmxpYyBDbHV0dGVy LktleWJvYXJkQTExeUZsYWdzIGNvbnRyb2xzOwotIAkJcHVibGljIGludCBzbG93a2V5c19kZWxh eTsKLUBAIC03MzIxLDYgKzczNTQsMTYgQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAkJcHVibGlj IGJvb2wgZXF1YWwgKENsdXR0ZXIuS25vdCBrbm90X2IpOwotIAkJcHVibGljIHZvaWQgZnJlZSAo KTsKLSAJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hl ZF9mcmVlIiwgdHlwZV9pZCA9ICJjbHV0dGVyX21hcmdpbl9nZXRfdHlwZSAoKSIpXQotKwlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJsaWMgc3RydWN0IE1hcmdpbiB7Ci0rCQlwdWJs aWMgZmxvYXQgbGVmdDsKLSsJCXB1YmxpYyBmbG9hdCByaWdodDsKLSsJCXB1YmxpYyBmbG9hdCB0 b3A7Ci0rCQlwdWJsaWMgZmxvYXQgYm90dG9tOwotKwkJcHVibGljIENsdXR0ZXIuTWFyZ2luPyBj b3B5ICgpOwotKwkJcHVibGljIHZvaWQgZnJlZSAoKTsKLSsJfQotIAlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gIkNPR0xfVFlQRV9NQVRS SVgiKV0KLSAJcHVibGljIHN0cnVjdCBNYXRyaXggOiBDb2dsLk1hdHJpeCB7Ci0gCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMiIpXQotQEAgLTczMzUsNDUgKzczNzgsMzUgQEAgbmFtZXNwYWNlIENs dXR0ZXIgewotIAkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSAJCXB1YmxpYyB1bm93bmVk IENsdXR0ZXIuTWF0cml4PyBpbml0X2lkZW50aXR5ICgpOwotIAl9Ci0tCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQot LQlwdWJsaWMgc3RydWN0IFBhZEJ1dHRvbkV2ZW50IHsKLS0JCXB1YmxpYyBDbHV0dGVyLkV2ZW50 VHlwZSB0eXBlOwotLQkJcHVibGljIHVpbnQzMiB0aW1lOwotLQkJcHVibGljIENsdXR0ZXIuRXZl bnRGbGFncyBmbGFnczsKLS0JCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0tCQlw dWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKLS0JCXB1YmxpYyB1aW50MzIgYnV0dG9u OwotLQkJcHVibGljIHVpbnQzMiBncm91cDsKLS0JCXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXRE ZXZpY2UgZGV2aWNlOwotLQkJcHVibGljIHVpbnQzMiBtb2RlOwotLQl9Ci0tCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2Up XQotLQlwdWJsaWMgc3RydWN0IFBhZFJpbmdFdmVudCB7Ci0tCQlwdWJsaWMgQ2x1dHRlci5FdmVu dFR5cGUgdHlwZTsKLS0JCXB1YmxpYyB1aW50MzIgdGltZTsKLS0JCXB1YmxpYyBDbHV0dGVyLkV2 ZW50RmxhZ3MgZmxhZ3M7Ci0tCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0YWdlIHN0YWdlOwotLQkJ cHVibGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7Ci0tCQlwdWJsaWMgd2VhayBDbHV0dGVy LklucHV0RGV2aWNlIGRldmljZTsKLS0JCXB1YmxpYyBDbHV0dGVyLklucHV0RGV2aWNlUGFkU291 cmNlIHJpbmdfc291cmNlOwotLQkJcHVibGljIHVpbnQzMiByaW5nX251bWJlcjsKLS0JCXB1Ymxp YyB1aW50MzIgZ3JvdXA7Ci0tCQlwdWJsaWMgZG91YmxlIGFuZ2xlOwotLQkJcHVibGljIHVpbnQz MiBtb2RlOwotLQl9Ci0tCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotLQlwdWJsaWMgc3RydWN0IFBhZFN0cmlwRXZl bnQgewotLQkJcHVibGljIENsdXR0ZXIuRXZlbnRUeXBlIHR5cGU7Ci0tCQlwdWJsaWMgdWludDMy IHRpbWU7Ci0tCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotLQkJcHVibGljIHdl YWsgQ2x1dHRlci5TdGFnZSBzdGFnZTsKLS0JCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0b3Igc291 cmNlOwotLQkJcHVibGljIHdlYWsgQ2x1dHRlci5JbnB1dERldmljZSBkZXZpY2U7Ci0tCQlwdWJs aWMgQ2x1dHRlci5JbnB1dERldmljZVBhZFNvdXJjZSBzdHJpcF9zb3VyY2U7Ci0tCQlwdWJsaWMg dWludDMyIHN0cmlwX251bWJlcjsKLS0JCXB1YmxpYyB1aW50MzIgZ3JvdXA7Ci0tCQlwdWJsaWMg ZG91YmxlIHZhbHVlOwotLQkJcHVibGljIHVpbnQzMiBtb2RlOwotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRf Y29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9pZCA9ICJjbHV0dGVy X3BhaW50X3ZvbHVtZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS40Iild Ci0rCXB1YmxpYyBzdHJ1Y3QgUGFpbnRWb2x1bWUgewotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu NiIpXQotKwkJcHVibGljIENsdXR0ZXIuUGFpbnRWb2x1bWU/IGNvcHkgKCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMgdm9pZCBmcmVlICgpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIGZsb2F0IGdldF9kZXB0aCAoKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfaGVpZ2h0ICgpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIEdyYXBoZW5lLlBvaW50M0QgZ2V0 X29yaWdpbiAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBmbG9h dCBnZXRfd2lkdGggKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMg dm9pZCBzZXRfZGVwdGggKGZsb2F0IGRlcHRoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYi KV0KLSsJCXB1YmxpYyBib29sIHNldF9mcm9tX2FsbG9jYXRpb24gKENsdXR0ZXIuQWN0b3IgYWN0 b3IpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIHZvaWQgc2V0X2hl aWdodCAoZmxvYXQgaGVpZ2h0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1 YmxpYyB2b2lkIHNldF9vcmlnaW4gKEdyYXBoZW5lLlBvaW50M0Qgb3JpZ2luKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF93aWR0aCAoZmxvYXQgd2lk dGgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIHZvaWQgdW5pb24g KENsdXR0ZXIuUGFpbnRWb2x1bWUgYW5vdGhlcl9wdik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQotKwkJcHVibGljIHZvaWQgdW5pb25fYm94IChDbHV0dGVyLkFjdG9yQm94IGJveCk7 Ci0gCX0KLSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRf ZnJlZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wYXRoX25vZGVfZ2V0X3R5cGUgKCkiKV0KLSAJW1Zl cnNpb24gKHNpbmNlID0gIjEuMCIpXQotQEAgLTc0MDYsMjEgKzc0MzksMjUgQEAgbmFtZXNwYWNl IENsdXR0ZXIgewotIAkJcHVibGljIGludCBkd2VsbF9kZWxheTsKLSAJCXB1YmxpYyBpbnQgZHdl bGxfdGhyZXNob2xkOwotIAl9Ci0tCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotLQlbVmVyc2lvbiAoc2luY2UgPSAi MS4yOCIpXQotLQlwdWJsaWMgc3RydWN0IFByb3hpbWl0eUV2ZW50IHsKLS0JCXB1YmxpYyBDbHV0 dGVyLkV2ZW50VHlwZSB0eXBlOwotLQkJcHVibGljIHVpbnQzMiB0aW1lOwotLQkJcHVibGljIENs dXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKLS0JCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3Rh Z2U7Ci0tCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKLS0JCXB1YmxpYyB3ZWFr IENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOwotLQl9Ci0gCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19ib3hlZF9jb3B5 IiwgZnJlZV9mdW5jdGlvbiA9ICJnX2JveGVkX2ZyZWUiLCB0eXBlX2lkID0gImNsdXR0ZXJfdW5p dHNfZ2V0X3R5cGUgKCkiKV0KLSAJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotIAlwdWJsaWMg c3RydWN0IFVuaXRzIHsKLSAJCXB1YmxpYyBDbHV0dGVyLlVuaXRzPyBjb3B5ICgpOwotIAkJcHVi bGljIHZvaWQgZnJlZSAoKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9t X2NtIildCi0rCQlwdWJsaWMgVW5pdHMuZnJvbV9jbSAoZmxvYXQgY20pOwotKwkJW0NDb2RlIChj bmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fZW0iKV0KLSsJCXB1YmxpYyBVbml0cy5mcm9tX2Vt IChmbG9hdCBlbSk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9lbV9m b3JfZm9udCIpXQotKwkJcHVibGljIFVuaXRzLmZyb21fZW1fZm9yX2ZvbnQgKHN0cmluZyBmb250 X25hbWUsIGZsb2F0IGVtKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9t X21tIildCi0rCQlwdWJsaWMgVW5pdHMuZnJvbV9tbSAoZmxvYXQgbW0pOwotKwkJW0NDb2RlIChj bmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fcGl4ZWxzIildCi0rCQlwdWJsaWMgVW5pdHMuZnJv bV9waXhlbHMgKGludCBweCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJv bV9wdCIpXQotKwkJcHVibGljIFVuaXRzLmZyb21fcHQgKGZsb2F0IHB0KTsKLSsJCVtDQ29kZSAo Y25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9tX3N0cmluZyIpXQotKwkJcHVibGljIFVuaXRzLmZy b21fc3RyaW5nIChzdHJpbmcgc3RyKTsKLSAJCXB1YmxpYyBDbHV0dGVyLlVuaXRUeXBlIGdldF91 bml0X3R5cGUgKCk7Ci0gCQlwdWJsaWMgZmxvYXQgZ2V0X3VuaXRfdmFsdWUgKCk7Ci0gCQlwdWJs aWMgZmxvYXQgdG9fcGl4ZWxzICgpOwotQEAgLTc2MzgsNiArNzY3NSwxMSBAQCBuYW1lc3BhY2Ug Q2x1dHRlciB7Ci0gCQlQQURfQlVUVE9OX1JFTEVBU0UsCi0gCQlQQURfU1RSSVAsCi0gCQlQQURf UklORywKLSsJCURFVklDRV9BRERFRCwKLSsJCURFVklDRV9SRU1PVkVELAotKwkJSU1fQ09NTUlU LAotKwkJSU1fREVMRVRFLAotKwkJSU1fUFJFRURJVCwKLSAJCUVWRU5UX0xBU1QKLSAJfQotIAlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0g IkNMVVRURVJfRkVBVFVSRV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfZmVhdHVyZV9mbGFnc19nZXRf dHlwZSAoKSIpXQotQEAgLTc3ODcsOCArNzgyOSw4IEBAIG5hbWVzcGFjZSBDbHV0dGVyIHsKLSAJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9 ICJDTFVUVEVSX0lOUFVUX01PREVfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2lucHV0X21vZGVfZ2V0 X3R5cGUgKCkiKV0KLSAJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotIAlwdWJsaWMgZW51bSBJ bnB1dE1vZGUgewotLQkJTUFTVEVSLAotLQkJU0xBVkUsCi0rCQlMT0dJQ0FMLAotKwkJUEhZU0lD QUwsCi0gCQlGTE9BVElORwotIAl9Ci0gCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9JTlBVVF9QQU5FTF9TVEFURV8iLCB0 eXBlX2lkID0gImNsdXR0ZXJfaW5wdXRfcGFuZWxfc3RhdGVfZ2V0X3R5cGUgKCkiKV0KLUBAIC03 ODg5LDcgKzc5MzEsOCBAQCBuYW1lc3BhY2UgQ2x1dHRlciB7Ci0gCXB1YmxpYyBlbnVtIFBhaW50 RmxhZyB7Ci0gCQlOT05FLAotIAkJTk9fQ1VSU09SUywKLS0JCUZPUkNFX0NVUlNPUlMKLSsJCUZP UkNFX0NVUlNPUlMsCi0rCQlDTEVBUgotIAl9Ci0gCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9QQU5fIiwgdHlwZV9pZCA9 ICJjbHV0dGVyX3Bhbl9heGlzX2dldF90eXBlICgpIildCi0gCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEyIildCi1AQCAtODIzMSw2ICs4Mjc0LDkgQEAgbmFtZXNwYWNlIENsdXR0ZXIgewotIAlbVmVy c2lvbiAoc2luY2UgPSAiMS4wIildCi0gCXB1YmxpYyBzdGF0aWMgdm9pZCBjYWlyb19zZXRfc291 cmNlX2NvbG9yIChDYWlyby5Db250ZXh0IGNyLCBDbHV0dGVyLkNvbG9yIGNvbG9yKTsKLSAJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCVtWZXJzaW9u IChzaW5jZSA9ICIxLjYiKV0KLSsJcHVibGljIHN0YXRpYyB1bm93bmVkIENsdXR0ZXIuQ29sb3I/ IGNvbG9yX2dldF9zdGF0aWMgKENsdXR0ZXIuU3RhdGljQ29sb3IgY29sb3IpOwotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSAJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTQiKV0KLSAJcHVibGljIHN0YXRpYyB2b2lkIGRpc2FibGVfYWNjZXNzaWJpbGl0 eSAoKTsKLSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIild Ci1kaWZmIC0tZ2l0IHZhcGkvbXV0dGVyLWNsdXR0ZXItOC1jdXN0b20udmFsYSB2YXBpL211dHRl ci1jbHV0dGVyLTgtY3VzdG9tLnZhbGEKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAw MDAwMC4uNjBjOWY2MTEKLS0tLSAvZGV2L251bGwKLSsrKyB2YXBpL211dHRlci1jbHV0dGVyLTgt Y3VzdG9tLnZhbGEKLUBAIC0wLDAgKzEsNDIgQEAKLStuYW1lc3BhY2UgQ2x1dHRlciB7Ci0rCi0r CXB1YmxpYyBzdHJ1Y3QgQ29sb3IgewotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbG9y X2Zyb21faGxzIildCi0rCQlwdWJsaWMgQ29sb3IuZnJvbV9obHMgKGZsb2F0IGh1ZSwgZmxvYXQg bHVtaW5hbmNlLCBmbG9hdCBzYXR1cmF0aW9uKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRl cl9jb2xvcl9mcm9tX3BpeGVsIildCi0rCQlwdWJsaWMgQ29sb3IuZnJvbV9waXhlbCAodWludDMy IHBpeGVsKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9jb2xvcl9mcm9tX3N0cmluZyIp XQotKwkJcHVibGljIHN0YXRpYyBib29sIGZyb21fc3RyaW5nIChvdXQgQ2x1dHRlci5Db2xvciBj b2xvciwgc3RyaW5nIHN0cik7Ci0rCQlwdWJsaWMgYm9vbCBwYXJzZV9zdHJpbmcgKHN0cmluZyBz dHIpOwotKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIENsdXR0ZXIuQ29sb3I/IGdldF9zdGF0aWMg KENsdXR0ZXIuU3RhdGljQ29sb3IgY29sb3IpOwotKwl9Ci0rCi0rCXB1YmxpYyBpbnRlcmZhY2Ug Q29udGFpbmVyIDogR0xpYi5PYmplY3QgewotKwkJcHVibGljIHZvaWQgYWRkIChwYXJhbXMgQ2x1 dHRlci5BY3RvcltdIGFjdG9ycyk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfY29udGFp bmVyX2NsYXNzX2ZpbmRfY2hpbGRfcHJvcGVydHkiKV0KLSsJCXB1YmxpYyBjbGFzcyB1bm93bmVk IEdMaWIuUGFyYW1TcGVjIGZpbmRfY2hpbGRfcHJvcGVydHkgKHN0cmluZyBwcm9wZXJ0eV9uYW1l KTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9jb250YWluZXJfY2xhc3NfbGlzdF9jaGls ZF9wcm9wZXJ0aWVzIildCi0rCQlwdWJsaWMgY2xhc3MgdW5vd25lZCBHTGliLlBhcmFtU3BlY1td IGxpc3RfY2hpbGRfcHJvcGVydGllcyAoKTsKLSsJfQotKwotKwlwdWJsaWMgc3RydWN0IFVuaXRz IHsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9tX2NtIildCi0rCQlwdWJs aWMgVW5pdHMuZnJvbV9jbSAoZmxvYXQgY20pOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVy X3VuaXRzX2Zyb21fZW0iKV0KLSsJCXB1YmxpYyBVbml0cy5mcm9tX2VtIChmbG9hdCBlbSk7Ci0r CQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9lbV9mb3JfZm9udCIpXQotKwkJ cHVibGljIFVuaXRzLmZyb21fZW1fZm9yX2ZvbnQgKHN0cmluZyBmb250X25hbWUsIGZsb2F0IGVt KTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19mcm9tX21tIildCi0rCQlwdWJs aWMgVW5pdHMuZnJvbV9tbSAoZmxvYXQgbW0pOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVy X3VuaXRzX2Zyb21fcGl4ZWxzIildCi0rCQlwdWJsaWMgVW5pdHMuZnJvbV9waXhlbHMgKGludCBw eCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9wdCIpXQotKwkJcHVi bGljIFVuaXRzLmZyb21fcHQgKGZsb2F0IHB0KTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRl cl91bml0c19mcm9tX3N0cmluZyIpXQotKwkJcHVibGljIFVuaXRzLmZyb21fc3RyaW5nIChzdHJp bmcgc3RyKTsKLSsJfQotKwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBoYXNfY29weV9mdW5jdGlvbiA9IGZhbHNlLCBoYXNfZGVzdHJveV9mdW5jdGlv biA9IGZhbHNlLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJcHVibGljIHN0cnVjdCBDYXB0dXJl IHsKLSsJfQotK30KLWRpZmYgLS1naXQgdmFwaS9tdXR0ZXItY2x1dHRlci04LmRlcHMgdmFwaS9t dXR0ZXItY2x1dHRlci04LmRlcHMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAw MC4uYTAzYjEwOGIKLS0tLSAvZGV2L251bGwKLSsrKyB2YXBpL211dHRlci1jbHV0dGVyLTguZGVw cwotQEAgLTAsMCArMSw1IEBACi0rYXRrCi0rY2Fpcm8KLStqc29uLWdsaWItMS4wCi0rbXV0dGVy LWNvZ2wtOAotK2dyYXBoZW5lLWdvYmplY3QtMS4wCi1kaWZmIC0tZ2l0IHZhcGkvbXV0dGVyLWNs dXR0ZXItOC52YXBpIHZhcGkvbXV0dGVyLWNsdXR0ZXItOC52YXBpCi1uZXcgZmlsZSBtb2RlIDEw MDY0NAotaW5kZXggMDAwMDAwMDAuLmUyZmU1OTg5Ci0tLS0gL2Rldi9udWxsCi0rKysgdmFwaS9t dXR0ZXItY2x1dHRlci04LnZhcGkKLUBAIC0wLDAgKzEsODI3OSBAQAotKy8qIG11dHRlci1jbHV0 dGVyLTgudmFwaSBnZW5lcmF0ZWQgYnkgdmFwaWdlbiwgZG8gbm90IG1vZGlmeS4gKi8KLSsKLStb Q0NvZGUgKGNwcmVmaXggPSAiQ2x1dHRlciIsIGdpcl9uYW1lc3BhY2UgPSAiQ2x1dHRlciIsIGdp cl92ZXJzaW9uID0gIjgiLCBsb3dlcl9jYXNlX2NwcmVmaXggPSAiY2x1dHRlcl8iKV0KLStuYW1l c3BhY2UgQ2x1dHRlciB7Ci0rCW5hbWVzcGFjZSBLZXkgewotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgQDA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8xIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBAMTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEAyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfMyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDM7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV8zMjcwX0FsdEN1cnNvciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBf QWx0Q3Vyc29yOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9BdHRuIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBAMzI3MF9BdHRuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9CYWNrVGFiIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBAMzI3MF9CYWNrVGFiOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9DaGFuZ2VT Y3JlZW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX0NoYW5nZVNjcmVlbjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZXzMyNzBfQ29weSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBfQ29weTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZXzMyNzBfQ3Vyc29yQmxpbmsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEAzMjcwX0N1cnNvckJsaW5rOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9DdXJzb3JTZWxlY3QiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX0N1cnNvclNlbGVjdDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ XzMyNzBfRGVsZXRlV29yZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBfRGVsZXRlV29y ZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZXzMyNzBfRHVwbGljYXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBAMzI3MF9EdXBsaWNhdGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8zMjcwX0VudGVyIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBAMzI3MF9FbnRlcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfRXJhc2VFT0Yi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX0VyYXNlRU9GOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf MzI3MF9FcmFzZUlucHV0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9FcmFzZUlucHV0 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9FeFNlbGVjdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg QDMyNzBfRXhTZWxlY3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8zMjcwX0ZpZWxkTWFyayIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQDMyNzBfRmllbGRNYXJrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9JZGVu dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBfSWRlbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8z MjcwX0p1bXAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX0p1bXA7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV8zMjcwX0tleUNsaWNrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9LZXlDbGlj azsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZXzMyNzBfTGVmdDIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAz MjcwX0xlZnQyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9QQTEiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEAzMjcwX1BBMTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzMyNzBfUEEyIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBAMzI3MF9QQTI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8zMjcwX1BBMyIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgQDMyNzBfUEEzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9QbGF5IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBAMzI3MF9QbGF5OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9QcmludFNj cmVlbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBfUHJpbnRTY3JlZW47Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV8zMjcwX1F1aXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX1F1aXQ7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV8zMjcwX1JlY29yZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBf UmVjb3JkOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9SZXNldCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQDMyNzBfUmVzZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8zMjcwX1JpZ2h0MiIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgQDMyNzBfUmlnaHQyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9SdWxlIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBAMzI3MF9SdWxlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfMzI3MF9TZXR1 cCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDMyNzBfU2V0dXA7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV8z MjcwX1Rlc3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEAzMjcwX1Rlc3Q7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV80IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBANDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZXzUiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEA1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfNiIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgQDY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV83IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBANzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZXzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEA4OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfOSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQDk7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9BIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQUUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEFFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQWFjdXRlIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBBYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BYmVsb3dkb3QiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEFiZWxvd2RvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FicmV2ZSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQWJyZXZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQWJyZXZlYWN1dGUiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEFicmV2ZWFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQWJyZXZl YmVsb3dkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFicmV2ZWJlbG93ZG90OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQWJyZXZlZ3JhdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFicmV2ZWdyYXZl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQWJyZXZlaG9vayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQWJy ZXZlaG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FicmV2ZXRpbGRlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBBYnJldmV0aWxkZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FjY2Vzc1hfRW5hYmxlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBBY2Nlc3NYX0VuYWJsZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FjY2Vzc1hf RmVlZGJhY2tfRW5hYmxlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBY2Nlc3NYX0ZlZWRiYWNr X0VuYWJsZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FjaXJjdW1mbGV4IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBBY2lyY3VtZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FjaXJjdW1mbGV4YWN1dGUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEFjaXJjdW1mbGV4YWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BY2ly Y3VtZmxleGJlbG93ZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBY2lyY3VtZmxleGJlbG93 ZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQWNpcmN1bWZsZXhncmF2ZSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQWNpcmN1bWZsZXhncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FjaXJjdW1mbGV4aG9vayIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgQWNpcmN1bWZsZXhob29rOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf QWNpcmN1bWZsZXh0aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQWNpcmN1bWZsZXh0aWxk ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0FkZEZhdm9yaXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBB ZGRGYXZvcml0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FkaWFlcmVzaXMiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEFkaWFlcmVzaXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BZ3JhdmUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Fob29rIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBBaG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FsdF9MIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBBbHRfTDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FsdF9SIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBBbHRfUjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FtYWNyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEFtYWNyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bb2dvbmVrIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBBb2dvbmVrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXBwbGljYXRpb25MZWZ0IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBBcHBsaWNhdGlvbkxlZnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcHBsaWNhdGlvblJp Z2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcHBsaWNhdGlvblJpZ2h0OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQXJhYmljXzAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY18wOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQXJhYmljXzEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY18xOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXJhYmljXzIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY18yOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJhYmljXzMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY18z OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljXzQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJp Y180OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljXzUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFy YWJpY181OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljXzYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEFyYWJpY182OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljXzciKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEFyYWJpY183OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljXzgiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEFyYWJpY184OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljXzkiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFyYWJpY185OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2FpbiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQXJhYmljX2FpbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19hbGVmIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfYWxlZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJp Y19hbGVmbWFrc3VyYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2FsZWZtYWtzdXJh OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2JlaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJh YmljX2JlaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19jb21tYSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQXJhYmljX2NvbW1hOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2RhZCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQXJhYmljX2RhZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19kYWwiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19kYWw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNf ZGFtbWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19kYW1tYTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FyYWJpY19kYW1tYXRhbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2RhbW1h dGFuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2RkYWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEFyYWJpY19kZGFsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2ZhcnNpX3llaCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQXJhYmljX2ZhcnNpX3llaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19m YXRoYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2ZhdGhhOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQXJhYmljX2ZhdGhhdGFuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfZmF0aGF0 YW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfZmVoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBB cmFiaWNfZmVoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2Z1bGxzdG9wIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBBcmFiaWNfZnVsbHN0b3A7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfZ2FmIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfZ2FmOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmlj X2doYWluIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfZ2hhaW47Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9BcmFiaWNfaGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19oYTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0FyYWJpY19oYWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19oYWg7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfaGFtemEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFy YWJpY19oYW16YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19oYW16YV9hYm92ZSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQXJhYmljX2hhbXphX2Fib3ZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmlj X2hhbXphX2JlbG93IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfaGFtemFfYmVsb3c7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfaGFtemFvbmFsZWYiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEFyYWJpY19oYW16YW9uYWxlZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19oYW16YW9ud2F3 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfaGFtemFvbndhdzsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FyYWJpY19oYW16YW9ueWVoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfaGFt emFvbnllaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19oYW16YXVuZGVyYWxlZiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQXJhYmljX2hhbXphdW5kZXJhbGVmOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJh YmljX2hlaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2hlaDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FyYWJpY19oZWhfZG9hY2hhc2htZWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJp Y19oZWhfZG9hY2hhc2htZWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfaGVoX2dvYWwiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19oZWhfZ29hbDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJp Y19qZWVtIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfamVlbTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FyYWJpY19qZWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19qZWg7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9BcmFiaWNfa2FmIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfa2Fm OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX2thc3JhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBB cmFiaWNfa2FzcmE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfa2FzcmF0YW4iKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEFyYWJpY19rYXNyYXRhbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19rZWhl aCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2tlaGVoOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf QXJhYmljX2toYWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19raGFoOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQXJhYmljX2xhbSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX2xhbTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0FyYWJpY19tYWRkYV9hYm92ZSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQXJhYmljX21hZGRhX2Fib3ZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX21hZGRhb25hbGVm IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfbWFkZGFvbmFsZWY7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9BcmFiaWNfbWVlbSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX21lZW07Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9BcmFiaWNfbm9vbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmlj X25vb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfbm9vbl9naHVubmEiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFyYWJpY19ub29uX2dodW5uYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19wZWgi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19wZWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFi aWNfcGVyY2VudCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3BlcmNlbnQ7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9BcmFiaWNfcWFmIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfcWFm OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3F1ZXN0aW9uX21hcmsiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEFyYWJpY19xdWVzdGlvbl9tYXJrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3JhIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfcmE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNf cnJlaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3JyZWg7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9BcmFiaWNfc2FkIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfc2FkOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQXJhYmljX3NlZW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19zZWVu OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3NlbWljb2xvbiIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQXJhYmljX3NlbWljb2xvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY19zaGFkZGEiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19zaGFkZGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNf c2hlZW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY19zaGVlbjsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FyYWJpY19zdWt1biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3N1a3VuOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJhYmljX3N1cGVyc2NyaXB0X2FsZWYiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEFyYWJpY19zdXBlcnNjcmlwdF9hbGVmOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3N3 aXRjaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3N3aXRjaDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FyYWJpY190YWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY190YWg7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9BcmFiaWNfdGF0d2VlbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmlj X3RhdHdlZWw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfdGNoZWgiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEFyYWJpY190Y2hlaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY190ZWgiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEFyYWJpY190ZWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfdGVobWFy YnV0YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3RlaG1hcmJ1dGE7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9BcmFiaWNfdGhhbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3RoYWw7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfdGhlaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJh YmljX3RoZWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfdHRlaCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQXJhYmljX3R0ZWg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BcmFiaWNfdmVoIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBBcmFiaWNfdmVoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3dhdyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgQXJhYmljX3dhdzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY195 ZWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFyYWJpY195ZWg7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cmFiaWNfeWVoX2JhcmVlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcmFiaWNfeWVoX2JhcmVl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQXJhYmljX3phaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJh YmljX3phaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyYWJpY196YWluIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBBcmFiaWNfemFpbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FyaW5nIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBBcmluZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0FUIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBBcm1lbmlhbl9BVDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0FZQiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fQVlCOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5p YW5fQkVOIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9CRU47Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9Bcm1lbmlhbl9DSEEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX0NIQTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0RBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1l bmlhbl9EQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0RaQSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQXJtZW5pYW5fRFpBOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fRSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0ZFIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9GRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVu aWFuX0dIQVQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX0dIQVQ7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Bcm1lbmlhbl9HSU0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX0dJ TTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0hJIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBB cm1lbmlhbl9ISTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0hPIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBBcm1lbmlhbl9ITzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0lOSSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fSU5JOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5f SkUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX0pFOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf QXJtZW5pYW5fS0UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX0tFOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQXJtZW5pYW5fS0VOIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9L RU47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9LSEUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEFybWVuaWFuX0tIRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX0xZVU4iKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEFybWVuaWFuX0xZVU47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9NRU4i KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX01FTjsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Fy bWVuaWFuX05VIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9OVTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0FybWVuaWFuX08iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX087Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9QRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5p YW5fUEU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9QWVVSIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBBcm1lbmlhbl9QWVVSOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fUkEiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX1JBOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fUkUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX1JFOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJt ZW5pYW5fU0UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX1NFOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQXJtZW5pYW5fU0hBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9TSEE7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9UQ0hFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBB cm1lbmlhbl9UQ0hFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fVE8iKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFybWVuaWFuX1RPOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fVFNBIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9UU0E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlh bl9UU08iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX1RTTzsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FybWVuaWFuX1RZVU4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX1RZVU47 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9WRVYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFy bWVuaWFuX1ZFVjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX1ZPIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBBcm1lbmlhbl9WTzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX1ZZVU4iKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX1ZZVU47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlh bl9ZRUNIIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9ZRUNIOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQXJtZW5pYW5fWkEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX1pBOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fWkhFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1l bmlhbl9aSEU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9hY2NlbnQiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFybWVuaWFuX2FjY2VudDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2FtYW5h ayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fYW1hbmFrOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQXJtZW5pYW5fYXBvc3Ryb3BoZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5f YXBvc3Ryb3BoZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2F0IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBBcm1lbmlhbl9hdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2F5YiIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fYXliOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5f YmVuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9iZW47Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9Bcm1lbmlhbl9idXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2J1dDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FybWVuaWFuX2NoYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5p YW5fY2hhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fZGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEFybWVuaWFuX2RhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fZHphIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBBcm1lbmlhbl9kemE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9lIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9lOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5p YW5fZXhjbGFtIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9leGNsYW07Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9Bcm1lbmlhbl9mZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5f ZmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9mdWxsX3N0b3AiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEFybWVuaWFuX2Z1bGxfc3RvcDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2doYXQi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2doYXQ7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cm1lbmlhbl9naW0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2dpbTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0FybWVuaWFuX2hpIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9o aTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2hvIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBB cm1lbmlhbl9obzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2h5cGhlbiIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgQXJtZW5pYW5faHlwaGVuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5faW5p IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9pbmk7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9B cm1lbmlhbl9qZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5famU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Bcm1lbmlhbl9rZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fa2U7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl9rZW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFy bWVuaWFuX2tlbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX2toZSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgQXJtZW5pYW5fa2hlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fbGlnYXR1cmVf ZXciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX2xpZ2F0dXJlX2V3OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQXJtZW5pYW5fbHl1biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5f bHl1bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX21lbiIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQXJtZW5pYW5fbWVuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fbnUiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEFybWVuaWFuX251OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fbyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fbzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFu X3BhcnV5ayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fcGFydXlrOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfQXJtZW5pYW5fcGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3Bl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fcHl1ciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg QXJtZW5pYW5fcHl1cjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX3F1ZXN0aW9uIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9xdWVzdGlvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVu aWFuX3JhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9yYTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FybWVuaWFuX3JlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9yZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0FybWVuaWFuX3NlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlh bl9zZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX3NlcGFyYXRpb25fbWFyayIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fc2VwYXJhdGlvbl9tYXJrOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf QXJtZW5pYW5fc2hhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBcm1lbmlhbl9zaGE7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9Bcm1lbmlhbl9zaGVzaHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVu aWFuX3NoZXNodDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX3RjaGUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEFybWVuaWFuX3RjaGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl90byIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fdG87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlh bl90c2EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3RzYTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0FybWVuaWFuX3RzbyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fdHNvOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXJtZW5pYW5fdHl1biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJt ZW5pYW5fdHl1bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX3Zlcmpha2V0IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBBcm1lbmlhbl92ZXJqYWtldDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFu X3ZldiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5fdmV2OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQXJtZW5pYW5fdm8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFuX3ZvOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXJtZW5pYW5fdnl1biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5p YW5fdnl1bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0FybWVuaWFuX3llY2giKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEFybWVuaWFuX3llY2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Bcm1lbmlhbl95ZW50YW1uYSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5feWVudGFtbmE7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9Bcm1lbmlhbl96YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXJtZW5pYW5femE7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9Bcm1lbmlhbl96aGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEFybWVuaWFu X3poZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0F0aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXRp bGRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQXVkaWJsZUJlbGxfRW5hYmxlIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBBdWRpYmxlQmVsbF9FbmFibGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BdWRpb0N5Y2xlVHJh Y2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEF1ZGlvQ3ljbGVUcmFjazsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0F1ZGlvRm9yd2FyZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9Gb3J3YXJkOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQXVkaW9Mb3dlclZvbHVtZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg QXVkaW9Mb3dlclZvbHVtZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0F1ZGlvTWVkaWEiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEF1ZGlvTWVkaWE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BdWRpb01pY011dGUiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEF1ZGlvTWljTXV0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0F1ZGlv TXV0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQXVkaW9NdXRlOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf QXVkaW9OZXh0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBdWRpb05leHQ7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9BdWRpb1BhdXNlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBdWRpb1BhdXNlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQXVkaW9QbGF5IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBdWRpb1BsYXk7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9BdWRpb1ByZXYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEF1ZGlv UHJldjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0F1ZGlvUmFpc2VWb2x1bWUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEF1ZGlvUmFpc2VWb2x1bWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9BdWRpb1JhbmRvbVBsYXki KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEF1ZGlvUmFuZG9tUGxheTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0F1ZGlvUmVjb3JkIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBdWRpb1JlY29yZDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0F1ZGlvUmVwZWF0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBBdWRpb1JlcGVh dDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0F1ZGlvUmV3aW5kIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBB dWRpb1Jld2luZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0F1ZGlvU3RvcCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQXVkaW9TdG9wOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQXdheSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQXdheTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEI7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9CYWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEJhYm92 ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0JhY2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEJhY2s7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9CYWNrRm9yd2FyZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQmFj a0ZvcndhcmQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9CYWNrU3BhY2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEJhY2tTcGFjZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0JhdHRlcnkiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEJhdHRlcnk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9CZWdpbiIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQmVnaW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9CbHVlIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBCbHVlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQmx1ZXRvb3RoIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBCbHVldG9vdGg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Cb29rIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBCb29rOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQm91bmNlS2V5c19FbmFibGUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEJvdW5jZUtleXNfRW5hYmxlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQnJlYWsiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEJyZWFrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQnJpZ2h0bmVzc0FkanVz dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQnJpZ2h0bmVzc0FkanVzdDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0J5ZWxvcnVzc2lhbl9TSE9SVFUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEJ5ZWxvcnVz c2lhbl9TSE9SVFU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9CeWVsb3J1c3NpYW5fc2hvcnR1IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBCeWVsb3J1c3NpYW5fc2hvcnR1OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQyIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgQzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NEIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBDRDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NIIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBDSDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NfSCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ19I OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQ19oIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDX2g7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9DYWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IENhYm92ZWRvdDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0NhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ2FjdXRlOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQ2FsY3VsYXRvciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ2FsY3Vs YXRvcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0NhbGVuZGFyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBD YWxlbmRhcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NhbmNlbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg Q2FuY2VsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ2Fwc19Mb2NrIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBDYXBzX0xvY2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DY2Fyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IENjYXJvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NjZWRpbGxhIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBDY2VkaWxsYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NjaXJjdW1mbGV4IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBDY2lyY3VtZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NoIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBDaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NsZWFyIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBDbGVhcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NsZWFyR3JhYiIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQ2xlYXJHcmFiOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ2xvc2UiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IENsb3NlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ29kZWlucHV0IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBDb2RlaW5wdXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Db2xvblNpZ24iKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IENvbG9uU2lnbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0NvbW11bml0eSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQ29tbXVuaXR5OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ29udHJhc3RBZGp1 c3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IENvbnRyYXN0QWRqdXN0OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQ29udHJvbF9MIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDb250cm9sX0w7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Db250cm9sX1IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IENvbnRyb2xfUjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0NvcHkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IENvcHk7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9DcnV6ZWlyb1NpZ24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IENydXplaXJvU2ln bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0N1dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3V0OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQ3ljbGVBbmdsZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3ljbGVBbmds ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5 cmlsbGljX0E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19CRSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQ3lyaWxsaWNfQkU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19DSEUiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX0NIRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0NI RV9kZXNjZW5kZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX0NIRV9kZXNjZW5k ZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19DSEVfdmVydHN0cm9rZSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgQ3lyaWxsaWNfQ0hFX3ZlcnRzdHJva2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJp bGxpY19ERSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfREU7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9DeXJpbGxpY19EWkhFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19EWkhF OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3ly aWxsaWNfRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0VGIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBDeXJpbGxpY19FRjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0VMIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBDeXJpbGxpY19FTDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX0VNIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19FTTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmls bGljX0VOIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19FTjsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0N5cmlsbGljX0VOX2Rlc2NlbmRlciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxs aWNfRU5fZGVzY2VuZGVyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfRVIiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEN5cmlsbGljX0VSOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfRVMiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX0VTOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxs aWNfR0hFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19HSEU7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9DeXJpbGxpY19HSEVfYmFyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19H SEVfYmFyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfSEEiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEN5cmlsbGljX0hBOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfSEFSRFNJR04iKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX0hBUkRTSUdOOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3ly aWxsaWNfSEFfZGVzY2VuZGVyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19IQV9k ZXNjZW5kZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19JIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBDeXJpbGxpY19JOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfSUUiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEN5cmlsbGljX0lFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfSU8iKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX0lPOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxs aWNfSV9tYWNyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX0lfbWFjcm9uOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfSkUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmls bGljX0pFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfS0EiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEN5cmlsbGljX0tBOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfS0FfZGVzY2VuZGVyIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19LQV9kZXNjZW5kZXI7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9DeXJpbGxpY19LQV92ZXJ0c3Ryb2tlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJp bGxpY19LQV92ZXJ0c3Ryb2tlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfTEpFIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19MSkU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19O SkUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX05KRTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0N5cmlsbGljX08iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX087Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9DeXJpbGxpY19PX2JhciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNf T19iYXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19QRSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQ3lyaWxsaWNfUEU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19TQ0hXQSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfU0NIV0E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19T SEEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX1NIQTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0N5cmlsbGljX1NIQ0hBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19TSENIQTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX1NISEEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5 cmlsbGljX1NISEE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19TSE9SVEkiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEN5cmlsbGljX1NIT1JUSTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX1NP RlRTSUdOIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19TT0ZUU0lHTjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0N5cmlsbGljX1RFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19U RTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX1RTRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg Q3lyaWxsaWNfVFNFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfVSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgQ3lyaWxsaWNfVTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX1VfbWFjcm9uIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19VX21hY3JvbjsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0N5cmlsbGljX1Vfc3RyYWlnaHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX1Vf c3RyYWlnaHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19VX3N0cmFpZ2h0X2JhciIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfVV9zdHJhaWdodF9iYXI7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9DeXJpbGxpY19WRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfVkU7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9DeXJpbGxpY19ZQSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNf WUE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19ZRVJVIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBDeXJpbGxpY19ZRVJVOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfWVUiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEN5cmlsbGljX1lVOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfWkUiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX1pFOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxs aWNfWkhFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19aSEU7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9DeXJpbGxpY19aSEVfZGVzY2VuZGVyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJp bGxpY19aSEVfZGVzY2VuZGVyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfYSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2JlIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19iZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmls bGljX2NoZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfY2hlOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQ3lyaWxsaWNfY2hlX2Rlc2NlbmRlciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3ly aWxsaWNfY2hlX2Rlc2NlbmRlcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2NoZV92ZXJ0c3Ry b2tlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19jaGVfdmVydHN0cm9rZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0N5cmlsbGljX2RlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxp Y19kZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2R6aGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEN5cmlsbGljX2R6aGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19lIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBDeXJpbGxpY19lOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfZWYiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2VmOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxs aWNfZWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2VsOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfQ3lyaWxsaWNfZW0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2VtOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfQ3lyaWxsaWNfZW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGlj X2VuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfZW5fZGVzY2VuZGVyIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBDeXJpbGxpY19lbl9kZXNjZW5kZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxp Y19lciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfZXI7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9DeXJpbGxpY19lcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfZXM7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9DeXJpbGxpY19naGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGlj X2doZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2doZV9iYXIiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEN5cmlsbGljX2doZV9iYXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19oYSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfaGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxp Y19oYV9kZXNjZW5kZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2hhX2Rlc2Nl bmRlcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2hhcmRzaWduIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBDeXJpbGxpY19oYXJkc2lnbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2kiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2k7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxp Y19pX21hY3JvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfaV9tYWNyb247Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19pZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxs aWNfaWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19pbyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgQ3lyaWxsaWNfaW87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19qZSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgQ3lyaWxsaWNfamU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY19rYSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfa2E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxp Y19rYV9kZXNjZW5kZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2thX2Rlc2Nl bmRlcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX2thX3ZlcnRzdHJva2UiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEN5cmlsbGljX2thX3ZlcnRzdHJva2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJp bGxpY19samUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX2xqZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0N5cmlsbGljX25qZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfbmpl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfbyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3ly aWxsaWNfbzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX29fYmFyIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBDeXJpbGxpY19vX2JhcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3BlIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19wZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGlj X3NjaHdhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY19zY2h3YTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0N5cmlsbGljX3NoYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfc2hh OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfc2hjaGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEN5cmlsbGljX3NoY2hhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfc2hoYSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfc2hoYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3No b3J0aSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfc2hvcnRpOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfQ3lyaWxsaWNfc29mdHNpZ24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGlj X3NvZnRzaWduOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfdGUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEN5cmlsbGljX3RlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfdHNlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBDeXJpbGxpY190c2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxpY191 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY191OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfQ3ly aWxsaWNfdV9tYWNyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX3VfbWFjcm9u OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfQ3lyaWxsaWNfdV9zdHJhaWdodCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgQ3lyaWxsaWNfdV9zdHJhaWdodDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3Vfc3Ry YWlnaHRfYmFyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBDeXJpbGxpY191X3N0cmFpZ2h0X2Jh cjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3ZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBD eXJpbGxpY192ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3lhIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBDeXJpbGxpY195YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3llcnUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGljX3llcnU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9DeXJpbGxp Y195dSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfeXU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9DeXJpbGxpY196ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgQ3lyaWxsaWNfemU7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9DeXJpbGxpY196aGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEN5cmlsbGlj X3poZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0N5cmlsbGljX3poZV9kZXNjZW5kZXIiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEN5cmlsbGljX3poZV9kZXNjZW5kZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9EIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBEOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRE9TIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBET1M7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9EYWJvdmVkb3QiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IERhYm92ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0RjYXJvbiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgRGNhcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRGVsZXRlIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBEZWxldGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9EaXNwbGF5IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBEaXNwbGF5OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRG9jdW1lbnRzIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBEb2N1bWVudHM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Eb25nU2lnbiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgRG9uZ1NpZ247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Eb3duIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBEb3duOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRHN0cm9rZSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgRHN0cm9rZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0UiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FTkciKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEVORzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0VUSCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRVRI OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfRVpIIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFWkg7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9FYWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEVhYm92ZWRvdDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0VhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRWFjdXRlOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfRWJlbG93ZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFYmVsb3dk b3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9FY2Fyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEVjYXJv bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0VjaXJjdW1mbGV4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBF Y2lyY3VtZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0VjaXJjdW1mbGV4YWN1dGUiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEVjaXJjdW1mbGV4YWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9FY2lyY3VtZmxl eGJlbG93ZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFY2lyY3VtZmxleGJlbG93ZG90Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfRWNpcmN1bWZsZXhncmF2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg RWNpcmN1bWZsZXhncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0VjaXJjdW1mbGV4aG9vayIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgRWNpcmN1bWZsZXhob29rOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRWNpcmN1 bWZsZXh0aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRWNpcmN1bWZsZXh0aWxkZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0VjdVNpZ24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEVjdVNpZ247Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9FZGlhZXJlc2lzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFZGlhZXJl c2lzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfRWdyYXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFZ3Jh dmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9FaG9vayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRWhvb2s7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9FaXN1X1NoaWZ0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFaXN1 X1NoaWZ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRWlzdV90b2dnbGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEVpc3VfdG9nZ2xlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRWplY3QiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEVqZWN0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRW1hY3JvbiIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgRW1hY3JvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0VuZCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgRW5kOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRW9nb25layIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg RW9nb25lazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0VzY2FwZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg RXNjYXBlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRXRoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFdGg7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9FdGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEV0aWxkZTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0V1cm9TaWduIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFdXJvU2ln bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0V4Y2VsIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBFeGNlbDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0V4ZWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEV4ZWN1dGU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9FeHBsb3JlciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRXhwbG9y ZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9GIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfRjEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEYxOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf RjEwIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGMTA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMTEiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEYxMTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YxMiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgRjEyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjEzIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBGMTM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMTQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEYxNDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0YxNSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjE1Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfRjE2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGMTY7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9GMTciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEYxNzsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0YxOCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjE4OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjE5Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBGMTk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgRjI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMjAiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEYyMDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YyMSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg RjIxOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfRjIyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGMjI7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9GMjMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEYyMzsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0YyNCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjI0OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf RjI1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGMjU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMjYiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEYyNjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YyNyIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgRjI3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjI4IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBGMjg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMjkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEYyOTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0YzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGMzsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0YzMCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRjMwOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfRjMxIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGMzE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9G MzIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEYzMjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0YzMyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgRjMzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRjM0IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBGMzQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GMzUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEYzNTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Y0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBG NDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0Y1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGNTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0Y2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGNjsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0Y3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Y4IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBGODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0Y5IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBGOTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ZGcmFuY1NpZ24iKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEZGcmFuY1NpZ247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYWJvdmVkb3QiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEZhYm92ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ZhcnNpXzAiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEZhcnNpXzA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYXJzaV8xIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBGYXJzaV8xOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmFyc2lfMiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgRmFyc2lfMjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ZhcnNpXzMiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEZhcnNpXzM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYXJzaV80Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBGYXJzaV80OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmFyc2lfNSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgRmFyc2lfNTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ZhcnNpXzYi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEZhcnNpXzY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYXJzaV83 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBGYXJzaV83OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRmFyc2lf OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRmFyc2lfODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ZhcnNp XzkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEZhcnNpXzk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GYXJz aV95ZWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEZhcnNpX3llaDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0Zhdm9yaXRlcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRmF2b3JpdGVzOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfRmluYW5jZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRmluYW5jZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0ZpbmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEZpbmQ7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9GaXJzdF9WaXJ0dWFsX1NjcmVlbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgRmlyc3RfVmly dHVhbF9TY3JlZW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Gb3J3YXJkIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBGb3J3YXJkOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfRnJhbWVCYWNrIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBGcmFtZUJhY2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9GcmFtZUZvcndhcmQiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEZyYW1lRm9yd2FyZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0ciKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HYWJvdmVkb3QiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEdhYm92ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dhbWUiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEdhbWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HYnJldmUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEdicmV2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0djYXJvbiIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgR2Nhcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2NlZGlsbGEiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEdjZWRpbGxhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2NpcmN1bWZsZXgiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEdjaXJjdW1mbGV4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fYW4i KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX2FuOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2Vv cmdpYW5fYmFuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9iYW47Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9HZW9yZ2lhbl9jYW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX2Nh bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX2NoYXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEdlb3JnaWFuX2NoYXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9jaGluIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBHZW9yZ2lhbl9jaGluOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fY2ls IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9jaWw7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9H ZW9yZ2lhbl9kb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX2RvbjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0dlb3JnaWFuX2VuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9l bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX2ZpIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBH ZW9yZ2lhbl9maTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX2dhbiIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgR2VvcmdpYW5fZ2FuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fZ2hhbiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fZ2hhbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3Jn aWFuX2hhZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5faGFlOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfR2VvcmdpYW5faGFyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9oYXI7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9oZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2Vv cmdpYW5faGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9oaWUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEdlb3JnaWFuX2hpZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX2hvZSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5faG9lOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5f aW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX2luOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf R2VvcmdpYW5famhhbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5famhhbjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0dlb3JnaWFuX2ppbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2Vvcmdp YW5famlsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fa2FuIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBHZW9yZ2lhbl9rYW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9raGFyIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9raGFyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5f bGFzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9sYXM7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9HZW9yZ2lhbl9tYW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFuX21hbjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0dlb3JnaWFuX25hciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2Vvcmdp YW5fbmFyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEdlb3JnaWFuX29uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fcGFyIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBHZW9yZ2lhbl9wYXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl9waGFy IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9waGFyOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf R2VvcmdpYW5fcWFyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl9xYXI7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9HZW9yZ2lhbl9yYWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdlb3JnaWFu X3JhZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX3NhbiIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgR2VvcmdpYW5fc2FuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2VvcmdpYW5fc2hpbiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fc2hpbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX3Rh biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5fdGFuOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf R2VvcmdpYW5fdGFyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl90YXI7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9HZW9yZ2lhbl91biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5f dW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9HZW9yZ2lhbl92aW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEdlb3JnaWFuX3ZpbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX3dlIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBHZW9yZ2lhbl93ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dlb3JnaWFuX3hhbiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgR2VvcmdpYW5feGFuOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR2Vvcmdp YW5femVuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl96ZW47Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9HZW9yZ2lhbl96aGFyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHZW9yZ2lhbl96aGFy OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfR28iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdvOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfR3JlZWtfQUxQSEEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0FMUEhB OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfQUxQSEFhY2NlbnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEdyZWVrX0FMUEhBYWNjZW50OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfQkVUQSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgR3JlZWtfQkVUQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX0NISSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfQ0hJOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtf REVMVEEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0RFTFRBOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfR3JlZWtfRVBTSUxPTiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfRVBTSUxPTjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0dyZWVrX0VQU0lMT05hY2NlbnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEdyZWVrX0VQU0lMT05hY2NlbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19FVEEiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0VUQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX0VUQWFj Y2VudCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfRVRBYWNjZW50OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfR3JlZWtfR0FNTUEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0dBTU1BOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfR3JlZWtfSU9UQSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtf SU9UQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX0lPVEFhY2NlbnQiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEdyZWVrX0lPVEFhY2NlbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19JT1RBZGlhZXJl c2lzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19JT1RBZGlhZXJlc2lzOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfR3JlZWtfSU9UQWRpZXJlc2lzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVl a19JT1RBZGllcmVzaXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19LQVBQQSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgR3JlZWtfS0FQUEE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19MQU1CREEiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX0xBTUJEQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVr X0xBTURBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19MQU1EQTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0dyZWVrX01VIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19NVTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0dyZWVrX05VIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19OVTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0dyZWVrX09NRUdBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19PTUVH QTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX09NRUdBYWNjZW50IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBHcmVla19PTUVHQWFjY2VudDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX09NSUNST04iKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX09NSUNST047Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVl a19PTUlDUk9OYWNjZW50IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19PTUlDUk9OYWNj ZW50OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfUEhJIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBH cmVla19QSEk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19QSSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgR3JlZWtfUEk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19QU0kiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEdyZWVrX1BTSTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX1JITyIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgR3JlZWtfUkhPOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfU0lHTUEiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX1NJR01BOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfVEFV IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19UQVU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVl a19USEVUQSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfVEhFVEE7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9HcmVla19VUFNJTE9OIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19VUFNJTE9O OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfVVBTSUxPTmFjY2VudCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgR3JlZWtfVVBTSUxPTmFjY2VudDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX1VQU0lMT05k aWVyZXNpcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfVVBTSUxPTmRpZXJlc2lzOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfR3JlZWtfWEkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX1hJ OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfWkVUQSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3Jl ZWtfWkVUQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2FjY2VudGRpZXJlc2lzIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBHcmVla19hY2NlbnRkaWVyZXNpczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVr X2FscGhhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19hbHBoYTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0dyZWVrX2FscGhhYWNjZW50IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19hbHBo YWFjY2VudDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2JldGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEdyZWVrX2JldGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19jaGkiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEdyZWVrX2NoaTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2RlbHRhIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBHcmVla19kZWx0YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2Vwc2ls b24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX2Vwc2lsb247Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9HcmVla19lcHNpbG9uYWNjZW50IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19lcHNp bG9uYWNjZW50OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfZXRhIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBHcmVla19ldGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19ldGFhY2NlbnQiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEdyZWVrX2V0YWFjY2VudDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2Zp bmFsc21hbGxzaWdtYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfZmluYWxzbWFsbHNp Z21hOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfZ2FtbWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEdyZWVrX2dhbW1hOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfaG9yaXpiYXIiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEdyZWVrX2hvcml6YmFyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfaW90YSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfaW90YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVr X2lvdGFhY2NlbnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX2lvdGFhY2NlbnQ7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9HcmVla19pb3RhYWNjZW50ZGllcmVzaXMiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEdyZWVrX2lvdGFhY2NlbnRkaWVyZXNpczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX2lv dGFkaWVyZXNpcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfaW90YWRpZXJlc2lzOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfR3JlZWtfa2FwcGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVr X2thcHBhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfbGFtYmRhIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBHcmVla19sYW1iZGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19sYW1kYSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgR3JlZWtfbGFtZGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19tdSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfbXU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19udSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfbnU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19v bWVnYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfb21lZ2E7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9HcmVla19vbWVnYWFjY2VudCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfb21lZ2Fh Y2NlbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla19vbWljcm9uIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBHcmVla19vbWljcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfb21pY3JvbmFjY2VudCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfb21pY3JvbmFjY2VudDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0dyZWVrX3BoaSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfcGhpOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfR3JlZWtfcGkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVrX3BpOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfR3JlZWtfcHNpIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla19wc2k7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9HcmVla19yaG8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVr X3JobzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX3NpZ21hIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBHcmVla19zaWdtYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX3N3aXRjaCIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgR3JlZWtfc3dpdGNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfdGF1IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBHcmVla190YXU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla190aGV0 YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfdGhldGE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9H cmVla191cHNpbG9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla191cHNpbG9uOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfR3JlZWtfdXBzaWxvbmFjY2VudCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg R3JlZWtfdXBzaWxvbmFjY2VudDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0dyZWVrX3Vwc2lsb25hY2NlbnRk aWVyZXNpcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfdXBzaWxvbmFjY2VudGRpZXJl c2lzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfR3JlZWtfdXBzaWxvbmRpZXJlc2lzIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBHcmVla191cHNpbG9uZGllcmVzaXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVla194 aSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgR3JlZWtfeGk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9HcmVl a196ZXRhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBHcmVla196ZXRhOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfR3JlZW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEdyZWVuOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0EiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9BOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0FF IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfQUU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5n dWxfQXJhZUEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9BcmFlQTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0hhbmd1bF9BcmFlQUUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9BcmFl QUU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfQmFuamEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEhhbmd1bF9CYW5qYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9DaWV1YyIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgSGFuZ3VsX0NpZXVjOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0NvZGVpbnB1 dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0NvZGVpbnB1dDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0hhbmd1bF9EaWtldWQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9EaWtldWQ7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3Vs X0U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfRU8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhh bmd1bF9FTzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9FVSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgSGFuZ3VsX0VVOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0VuZCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgSGFuZ3VsX0VuZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9IYW5qYSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0hhbmphOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0hp ZXVoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSGlldWg7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9IYW5ndWxfSSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0k7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9IYW5ndWxfSWV1bmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9JZXVuZzsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX0NpZXVjIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBI YW5ndWxfSl9DaWV1YzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX0Rpa2V1ZCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfRGlrZXVkOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pf SGlldWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX0hpZXVoOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfSGFuZ3VsX0pfSWV1bmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX0ll dW5nOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfSmlldWoiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEhhbmd1bF9KX0ppZXVqOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfS2hpZXVxIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9LaGlldXE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5n dWxfSl9LaXllb2ciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX0tpeWVvZzsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0hhbmd1bF9KX0tpeWVvZ1Npb3MiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEhhbmd1bF9KX0tpeWVvZ1Npb3M7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9La29namlEYWxy aW5JZXVuZyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfS2tvZ2ppRGFscmluSWV1 bmc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9NaWV1bSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgSGFuZ3VsX0pfTWlldW07Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9OaWV1biIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfTmlldW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxf Sl9OaWV1bkhpZXVoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9OaWV1bkhpZXVo OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfTmlldW5KaWV1aiIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgSGFuZ3VsX0pfTmlldW5KaWV1ajsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1BhblNp b3MiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX1BhblNpb3M7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9IYW5ndWxfSl9QaGlldWYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX1Bo aWV1ZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1BpZXViIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBIYW5ndWxfSl9QaWV1YjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1BpZXViU2lvcyIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfUGlldWJTaW9zOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfSGFuZ3VsX0pfUmlldWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX1JpZXVs OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfUmlldWxIaWV1aCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgSGFuZ3VsX0pfUmlldWxIaWV1aDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1JpZXVs S2l5ZW9nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9SaWV1bEtpeWVvZzsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0hhbmd1bF9KX1JpZXVsTWlldW0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEhhbmd1bF9KX1JpZXVsTWlldW07Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfSl9SaWV1bFBoaWV1 ZiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0pfUmlldWxQaGlldWY7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9IYW5ndWxfSl9SaWV1bFBpZXViIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5n dWxfSl9SaWV1bFBpZXViOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfUmlldWxTaW9zIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9SaWV1bFNpb3M7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9I YW5ndWxfSl9SaWV1bFRpZXV0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9SaWV1 bFRpZXV0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfU2lvcyIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgSGFuZ3VsX0pfU2lvczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KX1NzYW5nS2l5ZW9n IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfSl9Tc2FuZ0tpeWVvZzsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0hhbmd1bF9KX1NzYW5nU2lvcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3Vs X0pfU3NhbmdTaW9zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfVGlldXQiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEhhbmd1bF9KX1RpZXV0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0pfWWVv cmluSGlldWgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9KX1llb3JpbkhpZXVoOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0phbW8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1 bF9KYW1vOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0plb25qYSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgSGFuZ3VsX0plb25qYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9KaWV1aiIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0ppZXVqOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX0to aWV1cSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX0toaWV1cTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0hhbmd1bF9LaXllb2ciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9LaXllb2c7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfS2l5ZW9nU2lvcyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgSGFuZ3VsX0tpeWVvZ1Npb3M7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfS2tvZ2ppRGFscmlu SWV1bmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9La29namlEYWxyaW5JZXVuZzsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0hhbmd1bF9NaWV1bSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFu Z3VsX01pZXVtOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX011bHRpcGxlQ2FuZGlkYXRlIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfTXVsdGlwbGVDYW5kaWRhdGU7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9IYW5ndWxfTmlldW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9OaWV1bjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0hhbmd1bF9OaWV1bkhpZXVoIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBIYW5ndWxfTmlldW5IaWV1aDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9OaWV1bkppZXVqIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfTmlldW5KaWV1ajsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0hhbmd1bF9PIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfTzsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0hhbmd1bF9PRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX09FOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfSGFuZ3VsX1BhblNpb3MiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9Q YW5TaW9zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1BoaWV1ZiIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgSGFuZ3VsX1BoaWV1ZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9QaWV1YiIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1BpZXViOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1Bp ZXViU2lvcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1BpZXViU2lvczsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0hhbmd1bF9Qb3N0SGFuamEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1 bF9Qb3N0SGFuamE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfUHJlSGFuamEiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEhhbmd1bF9QcmVIYW5qYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9QcmV2 aW91c0NhbmRpZGF0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1ByZXZpb3VzQ2Fu ZGlkYXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1JpZXVsIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBIYW5ndWxfUmlldWw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfUmlldWxIaWV1aCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1JpZXVsSGlldWg7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9I YW5ndWxfUmlldWxLaXllb2ciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9SaWV1bEtp eWVvZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9SaWV1bE1pZXVtIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBIYW5ndWxfUmlldWxNaWV1bTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9SaWV1bFBo aWV1ZiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1JpZXVsUGhpZXVmOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfSGFuZ3VsX1JpZXVsUGlldWIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1 bF9SaWV1bFBpZXViOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1JpZXVsU2lvcyIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgSGFuZ3VsX1JpZXVsU2lvczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9S aWV1bFRpZXV0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfUmlldWxUaWV1dDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0hhbmd1bF9SaWV1bFllb3JpbkhpZXVoIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBIYW5ndWxfUmlldWxZZW9yaW5IaWV1aDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9Sb21h amEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9Sb21hamE7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9IYW5ndWxfU2luZ2xlQ2FuZGlkYXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxf U2luZ2xlQ2FuZGlkYXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1Npb3MiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEhhbmd1bF9TaW9zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1NwZWNpYWwi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9TcGVjaWFsOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SGFuZ3VsX1NzYW5nRGlrZXVkIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfU3NhbmdE aWtldWQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfU3NhbmdKaWV1aiIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgSGFuZ3VsX1NzYW5nSmlldWo7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfU3NhbmdL aXllb2ciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9Tc2FuZ0tpeWVvZzsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0hhbmd1bF9Tc2FuZ1BpZXViIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5n dWxfU3NhbmdQaWV1YjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9Tc2FuZ1Npb3MiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IEhhbmd1bF9Tc2FuZ1Npb3M7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxf U3RhcnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9TdGFydDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0hhbmd1bF9TdW5reWVvbmdldW1NaWV1bSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFu Z3VsX1N1bmt5ZW9uZ2V1bU1pZXVtOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1N1bmt5ZW9uZ2V1 bVBoaWV1ZiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1N1bmt5ZW9uZ2V1bVBoaWV1 ZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9TdW5reWVvbmdldW1QaWV1YiIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgSGFuZ3VsX1N1bmt5ZW9uZ2V1bVBpZXViOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFu Z3VsX1RpZXV0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfVGlldXQ7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9IYW5ndWxfVSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1U7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9IYW5ndWxfV0EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1bF9XQTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0hhbmd1bF9XQUUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1 bF9XQUU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfV0UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IEhhbmd1bF9XRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9XRU8iKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEhhbmd1bF9XRU87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfV0kiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEhhbmd1bF9XSTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9ZQSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1lBOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX1lBRSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1lBRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1 bF9ZRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1lFOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SGFuZ3VsX1lFTyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1lFTzsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0hhbmd1bF9ZSSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX1lJOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfSGFuZ3VsX1lPIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIYW5ndWxfWU87 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9IYW5ndWxfWVUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmd1 bF9ZVTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0hhbmd1bF9ZZW9yaW5IaWV1aCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgSGFuZ3VsX1llb3JpbkhpZXVoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGFuZ3VsX3N3aXRj aCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGFuZ3VsX3N3aXRjaDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0hhbmtha3UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhhbmtha3U7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9IY2lyY3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGNpcmN1bWZsZXg7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9IZWJyZXdfc3dpdGNoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIZWJyZXdf c3dpdGNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGVscCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGVs cDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0hlbmthbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSGVua2Fu OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfSGVua2FuX01vZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhl bmthbl9Nb2RlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSGliZXJuYXRlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBIaWJlcm5hdGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IaXJhZ2FuYSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgSGlyYWdhbmE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9IaXJhZ2FuYV9LYXRha2FuYSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgSGlyYWdhbmFfS2F0YWthbmE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9I aXN0b3J5IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIaXN0b3J5OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SG9tZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSG9tZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hvbWVQ YWdlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIb21lUGFnZTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0hv dExpbmtzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIb3RMaW5rczsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0hzdHJva2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEhzdHJva2U7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9IeXBlcl9MIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBIeXBlcl9MOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfSHlwZXJfUiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSHlwZXJfUjsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX0kiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fQ2Vu dGVyX09iamVjdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX0NlbnRlcl9PYmplY3Q7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9JU09fQ29udGludW91c19VbmRlcmxpbmUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IElTT19Db250aW51b3VzX1VuZGVybGluZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19EaXNj b250aW51b3VzX1VuZGVybGluZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX0Rpc2NvbnRp bnVvdXNfVW5kZXJsaW5lOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0VtcGhhc2l6ZSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgSVNPX0VtcGhhc2l6ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19FbnRlciIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX0VudGVyOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0Zh c3RfQ3Vyc29yX0Rvd24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19GYXN0X0N1cnNvcl9E b3duOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0Zhc3RfQ3Vyc29yX0xlZnQiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IElTT19GYXN0X0N1cnNvcl9MZWZ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0Zhc3Rf Q3Vyc29yX1JpZ2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJU09fRmFzdF9DdXJzb3JfUmln aHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fRmFzdF9DdXJzb3JfVXAiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IElTT19GYXN0X0N1cnNvcl9VcDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19GaXJzdF9Hcm91 cCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX0ZpcnN0X0dyb3VwOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfSVNPX0ZpcnN0X0dyb3VwX0xvY2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19GaXJz dF9Hcm91cF9Mb2NrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0dyb3VwX0xhdGNoIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBJU09fR3JvdXBfTGF0Y2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fR3JvdXBf TG9jayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX0dyb3VwX0xvY2s7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9JU09fR3JvdXBfU2hpZnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19Hcm91cF9T aGlmdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19MYXN0X0dyb3VwIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBJU09fTGFzdF9Hcm91cDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19MYXN0X0dyb3VwX0xvY2si KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19MYXN0X0dyb3VwX0xvY2s7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9JU09fTGVmdF9UYWIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19MZWZ0X1RhYjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0lTT19MZXZlbDJfTGF0Y2giKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IElTT19MZXZlbDJfTGF0Y2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fTGV2ZWwzX0xhdGNoIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBJU09fTGV2ZWwzX0xhdGNoOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNP X0xldmVsM19Mb2NrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJU09fTGV2ZWwzX0xvY2s7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9JU09fTGV2ZWwzX1NoaWZ0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJ U09fTGV2ZWwzX1NoaWZ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX0xldmVsNV9MYXRjaCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgSVNPX0xldmVsNV9MYXRjaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19M ZXZlbDVfTG9jayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX0xldmVsNV9Mb2NrOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfSVNPX0xldmVsNV9TaGlmdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNP X0xldmVsNV9TaGlmdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19Mb2NrIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBJU09fTG9jazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19Nb3ZlX0xpbmVfRG93biIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX01vdmVfTGluZV9Eb3duOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SVNPX01vdmVfTGluZV9VcCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX01vdmVfTGluZV9V cDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0lTT19OZXh0X0dyb3VwIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBJU09fTmV4dF9Hcm91cDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19OZXh0X0dyb3VwX0xvY2siKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19OZXh0X0dyb3VwX0xvY2s7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9JU09fUGFydGlhbF9MaW5lX0Rvd24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19QYXJ0 aWFsX0xpbmVfRG93bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19QYXJ0aWFsX0xpbmVfVXAiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IElTT19QYXJ0aWFsX0xpbmVfVXA7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9J U09fUGFydGlhbF9TcGFjZV9MZWZ0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJU09fUGFydGlh bF9TcGFjZV9MZWZ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX1BhcnRpYWxfU3BhY2VfUmlnaHQiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19QYXJ0aWFsX1NwYWNlX1JpZ2h0OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfSVNPX1ByZXZfR3JvdXAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19QcmV2X0dy b3VwOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX1ByZXZfR3JvdXBfTG9jayIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgSVNPX1ByZXZfR3JvdXBfTG9jazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0lTT19SZWxlYXNl X0JvdGhfTWFyZ2lucyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSVNPX1JlbGVhc2VfQm90aF9N YXJnaW5zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSVNPX1JlbGVhc2VfTWFyZ2luX0xlZnQiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IElTT19SZWxlYXNlX01hcmdpbl9MZWZ0OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf SVNPX1JlbGVhc2VfTWFyZ2luX1JpZ2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJU09fUmVs ZWFzZV9NYXJnaW5fUmlnaHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JU09fU2V0X01hcmdpbl9MZWZ0Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBJU09fU2V0X01hcmdpbl9MZWZ0OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfSVNPX1NldF9NYXJnaW5fUmlnaHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IElTT19TZXRf TWFyZ2luX1JpZ2h0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSWFib3ZlZG90IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBJYWJvdmVkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JYWN1dGUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IElhY3V0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0liZWxvd2RvdCIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgSWJlbG93ZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSWJyZXZlIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBJYnJldmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JY2lyY3VtZmxleCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgSWNpcmN1bWZsZXg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JZGlhZXJlc2lz IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJZGlhZXJlc2lzOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSWdy YXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJZ3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JaG9v ayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgSWhvb2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9JbWFjcm9u IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJbWFjcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSW5zZXJ0 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJbnNlcnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Jb2dvbmVr IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJb2dvbmVrOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSXRpbGRl IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBJdGlsZGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9KIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBKOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSmNpcmN1bWZsZXgiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEpjaXJjdW1mbGV4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfSyIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgSzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0tQXzAiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IEtQXzA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF8xIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBLUF8xOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1BfMiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg S1BfMjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0tQXzMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQXzM7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9LUF80IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF80OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfS1BfNSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfNTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0tQXzYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQXzY7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9LUF83IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF83OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfS1Bf OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0tQXzkiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEtQXzk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9BZGQiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IEtQX0FkZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0tQX0JlZ2luIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBLUF9CZWdpbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0tQX0RlY2ltYWwi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0RlY2ltYWw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9E ZWxldGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0RlbGV0ZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0tQX0RpdmlkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfRGl2aWRlOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfS1BfRG93biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfRG93bjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0tQX0VuZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfRW5kOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfS1BfRW50ZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0VudGVyOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfS1BfRXF1YWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0VxdWFsOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfS1BfRjEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0YxOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfS1BfRjIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0YyOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfS1BfRjMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0YzOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfS1BfRjQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX0Y0OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf S1BfSG9tZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfSG9tZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X0tQX0luc2VydCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfSW5zZXJ0OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfS1BfTGVmdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfTGVmdDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0tQX011bHRpcGx5IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9NdWx0aXBseTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0tQX05leHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX05leHQ7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9LUF9QYWdlX0Rvd24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQ X1BhZ2VfRG93bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0tQX1BhZ2VfVXAiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IEtQX1BhZ2VfVXA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9QcmlvciIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgS1BfUHJpb3I7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9SaWdodCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgS1BfUmlnaHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LUF9TZXBhcmF0b3IiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX1NlcGFyYXRvcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0tQX1Nw YWNlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9TcGFjZTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0tQ X1N1YnRyYWN0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLUF9TdWJ0cmFjdDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0tQX1RhYiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS1BfVGFiOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfS1BfVXAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtQX1VwOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfS2FuYV9Mb2NrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLYW5hX0xvY2s7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9LYW5hX1NoaWZ0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLYW5hX1NoaWZ0Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfS2FuamkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEthbmppOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfS2FuamlfQmFuZ291IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBLYW5qaV9C YW5nb3U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LYXRha2FuYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg S2F0YWthbmE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LYmRCcmlnaHRuZXNzRG93biIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgS2JkQnJpZ2h0bmVzc0Rvd247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9LYmRCcmlnaHRu ZXNzVXAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtiZEJyaWdodG5lc3NVcDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX0tiZExpZ2h0T25PZmYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEtiZExpZ2h0T25P ZmY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9LY2VkaWxsYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgS2Nl ZGlsbGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Lb3JlYW5fV29uIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBLb3JlYW5fV29uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg TDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0wxIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMMTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX0wxMCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTDEwOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfTDIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEwyOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTDMiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IEwzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTDQiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IEw0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTDUiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IEw1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTDYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEw2Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfTDciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEw3OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfTDgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEw4OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTDki KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IEw5OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGFjdXRlIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBMYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MYXN0X1ZpcnR1YWxf U2NyZWVuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMYXN0X1ZpcnR1YWxfU2NyZWVuOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfTGF1bmNoMCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTGF1bmNoMDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX0xhdW5jaDEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IExhdW5jaDE7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9MYXVuY2gyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMYXVuY2gyOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfTGF1bmNoMyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTGF1bmNoMzsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX0xhdW5jaDQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IExhdW5jaDQ7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9MYXVuY2g1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMYXVuY2g1 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfTGF1bmNoNiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTGF1bmNo NjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX0xhdW5jaDciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IExhdW5j aDc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9MYXVuY2g4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMYXVu Y2g4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfTGF1bmNoOSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTGF1 bmNoOTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX0xhdW5jaEEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IExh dW5jaEE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MYXVuY2hCIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBM YXVuY2hCOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGF1bmNoQyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg TGF1bmNoQzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0xhdW5jaEQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IExhdW5jaEQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MYXVuY2hFIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBMYXVuY2hFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGF1bmNoRiIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgTGF1bmNoRjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0xiZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgTGJlbG93ZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGNhcm9uIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBMY2Fyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MY2VkaWxsYSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgTGNlZGlsbGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MZWZ0IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBMZWZ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTGlnaHRCdWxiIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBMaWdodEJ1bGI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MaW5lZmVlZCIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgTGluZWZlZWQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9MaXJhU2lnbiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgTGlyYVNpZ247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Mb2dHcmFiSW5mbyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgTG9nR3JhYkluZm87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Mb2dPZmYi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IExvZ09mZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX0xvZ1dpbmRv d1RyZWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IExvZ1dpbmRvd1RyZWU7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9Mc3Ryb2tlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBMc3Ryb2tlOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfTSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01hYm92 ZWRvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTWFib3ZlZG90OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf TWFjZWRvbmlhX0RTRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTWFjZWRvbmlhX0RTRTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX01hY2Vkb25pYV9HSkUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1hY2Vk b25pYV9HSkU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9NYWNlZG9uaWFfS0pFIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBNYWNlZG9uaWFfS0pFOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTWFjZWRvbmlhX2RzZSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgTWFjZWRvbmlhX2RzZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01hY2Vk b25pYV9namUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1hY2Vkb25pYV9namU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9NYWNlZG9uaWFfa2plIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNYWNlZG9uaWFf a2plOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfTWFlX0tvaG8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1h ZV9Lb2hvOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTWFpbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTWFp bDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX01haWxGb3J3YXJkIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBN YWlsRm9yd2FyZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX01hcmtldCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgTWFya2V0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTWFzc3lvIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBNYXNzeW87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9NZWV0aW5nIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBNZWV0aW5nOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTWVtbyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg TWVtbzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX01lbnUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1lbnU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9NZW51S0IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1lbnVLQjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX01lbnVQQiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTWVudVBCOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfTWVzc2VuZ2VyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNZXNzZW5n ZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9NZXRhX0wiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1ldGFf TDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX01ldGFfUiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTWV0YV9S OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfTWlsbFNpZ24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1pbGxT aWduOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfTW9kZUxvY2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE1v ZGVMb2NrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTW9kZV9zd2l0Y2giKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IE1vZGVfc3dpdGNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTW9uQnJpZ2h0bmVzc0Rvd24iKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IE1vbkJyaWdodG5lc3NEb3duOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTW9u QnJpZ2h0bmVzc1VwIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNb25CcmlnaHRuZXNzVXA7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Nb3VzZUtleXNfQWNjZWxfRW5hYmxlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBNb3VzZUtleXNfQWNjZWxfRW5hYmxlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTW91c2VLZXlzX0Vu YWJsZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTW91c2VLZXlzX0VuYWJsZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX011aGVua2FuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBNdWhlbmthbjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX011bHRpX2tleSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTXVsdGlfa2V5Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfTXVsdGlwbGVDYW5kaWRhdGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IE11bHRpcGxlQ2FuZGlkYXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTXVzaWMiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IE11c2ljOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTXlDb21wdXRlciIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgTXlDb21wdXRlcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX015U2l0ZXMiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IE15U2l0ZXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9OIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBOOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTmFjdXRlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBOYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9OYWlyYVNpZ24iKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IE5haXJhU2lnbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX05jYXJvbiIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgTmNhcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTmNlZGlsbGEiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IE5jZWRpbGxhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTmV3IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBOZXc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9OZXdTaGVxZWxTaWduIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBOZXdTaGVxZWxTaWduOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTmV3cyIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgTmV3czsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX05leHQiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IE5leHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9OZXh0X1ZNb2RlIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBOZXh0X1ZNb2RlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfTmV4dF9WaXJ0dWFsX1NjcmVl biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTmV4dF9WaXJ0dWFsX1NjcmVlbjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX050aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTnRpbGRlOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfTnVtX0xvY2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE51bV9Mb2NrOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfTyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgTzsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09F IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBPRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09hY3V0ZSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgT2FjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT2JhcnJlZCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgT2JhcnJlZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09iZWxvd2RvdCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgT2JlbG93ZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT2Nhcm9u IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBPY2Fyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PY2lyY3Vt ZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgT2NpcmN1bWZsZXg7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9PY2lyY3VtZmxleGFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBPY2lyY3VtZmxleGFj dXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfT2NpcmN1bWZsZXhiZWxvd2RvdCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgT2NpcmN1bWZsZXhiZWxvd2RvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09jaXJjdW1mbGV4 Z3JhdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE9jaXJjdW1mbGV4Z3JhdmU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9PY2lyY3VtZmxleGhvb2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE9jaXJjdW1m bGV4aG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09jaXJjdW1mbGV4dGlsZGUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IE9jaXJjdW1mbGV4dGlsZGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PZGlhZXJlc2lzIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBPZGlhZXJlc2lzOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT2RvdWJs ZWFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBPZG91YmxlYWN1dGU7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9PZmZpY2VIb21lIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBPZmZpY2VIb21lOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfT2dyYXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBPZ3JhdmU7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9PaG9vayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgT2hvb2s7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9PaG9ybiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgT2hvcm47Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9PaG9ybmFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBPaG9ybmFjdXRlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfT2hvcm5iZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgT2hvcm5i ZWxvd2RvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09ob3JuZ3JhdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IE9ob3JuZ3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PaG9ybmhvb2siKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IE9ob3JuaG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09ob3JudGlsZGUiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IE9ob3JudGlsZGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PbWFjcm9uIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBPbWFjcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT29ibGlxdWUiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IE9vYmxpcXVlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT3BlbiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgT3BlbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09wZW5VUkwiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IE9wZW5VUkw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PcHRpb24iKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IE9wdGlvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX09zbGFzaCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgT3NsYXNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfT3RpbGRlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBPdGlsZGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9PdmVybGF5MV9FbmFibGUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IE92ZXJsYXkxX0VuYWJsZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X092ZXJsYXkyX0VuYWJsZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgT3ZlcmxheTJfRW5hYmxl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfUCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1BhYm92ZWRvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUGFib3ZlZG90OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfUGFnZV9Eb3duIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQYWdlX0Rvd247 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9QYWdlX1VwIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQYWdlX1Vw OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfUGFzdGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBhc3RlOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfUGF1c2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBhdXNlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfUGVzZXRhU2lnbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUGVzZXRhU2ln bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1Bob25lIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQaG9uZTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1BpY3R1cmVzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQaWN0dXJl czsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfQWNjZWxlcmF0ZSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgUG9pbnRlcl9BY2NlbGVyYXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9CdXR0b24x IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0J1dHRvbjE7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9Qb2ludGVyX0J1dHRvbjIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfQnV0dG9u MjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfQnV0dG9uMyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgUG9pbnRlcl9CdXR0b24zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9CdXR0b240IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0J1dHRvbjQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2lu dGVyX0J1dHRvbjUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfQnV0dG9uNTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1BvaW50ZXJfQnV0dG9uX0RmbHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IFBvaW50ZXJfQnV0dG9uX0RmbHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0RibENsaWNrMSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9EYmxDbGljazE7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9Qb2ludGVyX0RibENsaWNrMiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9EYmxD bGljazI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0RibENsaWNrMyIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgUG9pbnRlcl9EYmxDbGljazM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0RibENs aWNrNCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9EYmxDbGljazQ7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Qb2ludGVyX0RibENsaWNrNSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRl cl9EYmxDbGljazU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0RibENsaWNrX0RmbHQiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRGJsQ2xpY2tfRGZsdDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1BvaW50ZXJfRGZsdEJ0bk5leHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRGZs dEJ0bk5leHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0RmbHRCdG5QcmV2IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBQb2ludGVyX0RmbHRCdG5QcmV2OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRl cl9Eb3duIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0Rvd247Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9Qb2ludGVyX0Rvd25MZWZ0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQb2ludGVyX0Rv d25MZWZ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9Eb3duUmlnaHQiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFBvaW50ZXJfRG93blJpZ2h0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9EcmFn MSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9EcmFnMTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1BvaW50ZXJfRHJhZzIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRHJhZzI7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0RyYWczIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBQb2lu dGVyX0RyYWczOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRlcl9EcmFnNCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgUG9pbnRlcl9EcmFnNDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfRHJhZzUiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfRHJhZzU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2lu dGVyX0RyYWdfRGZsdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9EcmFnX0RmbHQ7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX0VuYWJsZUtleXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IFBvaW50ZXJfRW5hYmxlS2V5czsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1BvaW50ZXJfTGVmdCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9MZWZ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG9pbnRl cl9SaWdodCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUG9pbnRlcl9SaWdodDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1BvaW50ZXJfVXAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBvaW50ZXJfVXA7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9Qb2ludGVyX1VwTGVmdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUG9p bnRlcl9VcExlZnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Qb2ludGVyX1VwUmlnaHQiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IFBvaW50ZXJfVXBSaWdodDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Bvd2VyRG93biIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgUG93ZXJEb3duOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUG93ZXJP ZmYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFBvd2VyT2ZmOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUHJl dl9WTW9kZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUHJldl9WTW9kZTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1ByZXZfVmlydHVhbF9TY3JlZW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFByZXZfVmly dHVhbF9TY3JlZW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9QcmV2aW91c0NhbmRpZGF0ZSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgUHJldmlvdXNDYW5kaWRhdGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9QcmludCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgUHJpbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9QcmlvciIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgUHJpb3I7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9RIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBROwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUiIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgUjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1IxIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSMTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1IxMCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUjEwOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfUjExIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSMTE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9S MTIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFIxMjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1IxMyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgUjEzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUjE0IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBSMTQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SMTUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IFIxNTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1IyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBS MjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1IzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSMzsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1I0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSNDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1I1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSNTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1I2IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBSNjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1I3IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBSNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1I4IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBSODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1I5IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSOTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1JhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUmFjdXRlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfUmNhcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSY2Fyb247Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9SY2VkaWxsYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUmNlZGlsbGE7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9SZWQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFJlZDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1JlZG8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFJlZG87Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9SZWZyZXNoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSZWZyZXNoOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfUmVsb2FkIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSZWxvYWQ7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9SZXBlYXRLZXlzX0VuYWJsZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUmVwZWF0S2V5c19F bmFibGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9SZXBseSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUmVw bHk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9SZXR1cm4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFJldHVy bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1JpZ2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSaWdodDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1JvY2tlckRvd24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFJvY2tl ckRvd247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Sb2NrZXJFbnRlciIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgUm9ja2VyRW50ZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Sb2NrZXJVcCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgUm9ja2VyVXA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Sb21hamkiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFJvbWFqaTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1JvdGF0ZVdpbmRvd3MiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFJvdGF0ZVdpbmRvd3M7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Sb3RhdGlvbktC IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBSb3RhdGlvbktCOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfUm90 YXRpb25QQiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUm90YXRpb25QQjsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1J1cGVlU2lnbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUnVwZWVTaWduOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfUyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgUzsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1ND SFdBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTQ0hXQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NhYm92 ZWRvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2Fib3ZlZG90OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf U2FjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T YXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTYXZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2Nhcm9u IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTY2Fyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TY2VkaWxs YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2NlZGlsbGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TY2ly Y3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2NpcmN1bWZsZXg7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9TY3JlZW5TYXZlciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2NyZWVuU2F2ZXI7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9TY3JvbGxDbGljayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2Nyb2xs Q2xpY2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TY3JvbGxEb3duIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBTY3JvbGxEb3duOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2Nyb2xsVXAiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IFNjcm9sbFVwOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2Nyb2xsX0xvY2siKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IFNjcm9sbF9Mb2NrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2VhcmNoIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBTZWFyY2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TZWxlY3QiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFNlbGVjdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NlbGVjdEJ1dHRvbiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgU2VsZWN0QnV0dG9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2VuZCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2VuZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NlcmJpYW5fREpF IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTZXJiaWFuX0RKRTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Nl cmJpYW5fRFpFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTZXJiaWFuX0RaRTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1NlcmJpYW5fSkUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNlcmJpYW5fSkU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9TZXJiaWFuX0xKRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2VyYmlh bl9MSkU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TZXJiaWFuX05KRSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgU2VyYmlhbl9OSkU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TZXJiaWFuX1RTSEUiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IFNlcmJpYW5fVFNIRTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NlcmJpYW5fZGplIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBTZXJiaWFuX2RqZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NlcmJp YW5fZHplIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTZXJiaWFuX2R6ZTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1NlcmJpYW5famUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNlcmJpYW5famU7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9TZXJiaWFuX2xqZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2VyYmlhbl9s amU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9TZXJiaWFuX25qZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg U2VyYmlhbl9uamU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TZXJiaWFuX3RzaGUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFNlcmJpYW5fdHNoZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NoaWZ0X0wiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFNoaWZ0X0w7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaGlmdF9Mb2NrIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBTaGlmdF9Mb2NrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2hpZnRfUiIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2hpZnRfUjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Nob3AiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IFNob3A7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5nbGVDYW5kaWRh dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmdsZUNhbmRpZGF0ZTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1NpbmhfYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9hOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfU2luaF9hYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9hYTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1NpbmhfYWEyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2FhMjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1NpbmhfYWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfYWU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9TaW5oX2FlMiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9hZTI7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9TaW5oX2FlZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9hZWU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9TaW5oX2FlZTIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfYWVl MjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1NpbmhfYWkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhf YWk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2FpMiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2lu aF9haTI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2FsIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBT aW5oX2FsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9hdSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg U2luaF9hdTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfYXUyIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBTaW5oX2F1MjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfYmEiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IFNpbmhfYmE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2JoYSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgU2luaF9iaGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2NhIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBTaW5oX2NhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9jaGEiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFNpbmhfY2hhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9kZGEiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IFNpbmhfZGRhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9kZGhhIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBTaW5oX2RkaGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2RoYSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9kaGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2RoaGEi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfZGhoYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Npbmhf ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9lOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9l MiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9lMjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Npbmhf ZWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfZWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5o X2VlMiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9lZTI7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T aW5oX2ZhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2ZhOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf U2luaF9nYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9nYTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1NpbmhfZ2hhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2doYTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1NpbmhfaDIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfaDI7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9TaW5oX2hhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2hhOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfU2luaF9pIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2k7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9TaW5oX2kyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2kyOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfU2luaF9paSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9paTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1NpbmhfaWkyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2lpMjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1NpbmhfamEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfamE7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9TaW5oX2poYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9qaGE7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9TaW5oX2pueWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfam55 YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1Npbmhfa2EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhf a2E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2toYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2lu aF9raGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2t1bmRkYWxpeWEiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IFNpbmhfa3VuZGRhbGl5YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfbGEiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFNpbmhfbGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2xsYSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgU2luaF9sbGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX2x1IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2x1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9sdTIiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfbHUyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9sdXUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfbHV1OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9s dXUyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX2x1dTI7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9T aW5oX21hIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX21hOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf U2luaF9tYmEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfbWJhOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfU2luaF9uYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9uYTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1NpbmhfbmRkYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9uZGRhOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU2luaF9uZGhhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX25kaGE7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9TaW5oX25nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX25nOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfU2luaF9uZzIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfbmcy OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9uZ2EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhf bmdhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9uamEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNp bmhfbmphOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9ubmEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IFNpbmhfbm5hOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9ueWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IFNpbmhfbnlhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9vIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBTaW5oX287Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX28yIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBTaW5oX28yOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9vbyIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgU2luaF9vbzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Npbmhfb28yIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBTaW5oX29vMjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfcGEiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFNpbmhfcGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3BoYSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgU2luaF9waGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3JhIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBTaW5oX3JhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9yaSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgU2luaF9yaTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfcmlpIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBTaW5oX3JpaTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfcnUyIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBTaW5oX3J1MjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NpbmhfcnV1MiIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9ydXUyOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF9z YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9zYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Npbmhf c2hhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX3NoYTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Np bmhfc3NoYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF9zc2hhOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfU2luaF90aGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfdGhhOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfU2luaF90aGhhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTaW5oX3RoaGE7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9TaW5oX3R0YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF90dGE7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9TaW5oX3R0aGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhfdHRo YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1NpbmhfdSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF91 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU2luaF91MiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2luaF91 MjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1NpbmhfdXUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFNpbmhf dXU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3V1MiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU2lu aF91dTI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9TaW5oX3ZhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBT aW5oX3ZhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU2luaF95YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg U2luaF95YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1NsZWVwIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBT bGVlcDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX1Nsb3dLZXlzX0VuYWJsZSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgU2xvd0tleXNfRW5hYmxlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU3BlbGwiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IFNwZWxsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU3BsaXRTY3JlZW4iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFNwbGl0U2NyZWVuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU3RhbmRieSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgU3RhbmRieTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N0YXJ0IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBTdGFydDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N0aWNreUtleXNfRW5h YmxlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTdGlja3lLZXlzX0VuYWJsZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1N0b3AiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFN0b3A7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9TdWJ0aXRsZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU3VidGl0bGU7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9TdXBlcl9MIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTdXBlcl9MOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfU3VwZXJfUiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU3VwZXJfUjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1N1cHBvcnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFN1cHBvcnQ7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9TdXNwZW5kIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBTdXNwZW5kOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU3dpdGNoX1ZUXzEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFN3aXRjaF9WVF8x OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfU3dpdGNoX1ZUXzEwIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBT d2l0Y2hfVlRfMTA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Td2l0Y2hfVlRfMTEiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFN3aXRjaF9WVF8xMTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1N3aXRjaF9WVF8xMiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgU3dpdGNoX1ZUXzEyOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU3dpdGNo X1ZUXzIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFN3aXRjaF9WVF8yOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfU3dpdGNoX1ZUXzMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFN3aXRjaF9WVF8zOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfU3dpdGNoX1ZUXzQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFN3aXRjaF9W VF80OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfU3dpdGNoX1ZUXzUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IFN3aXRjaF9WVF81OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU3dpdGNoX1ZUXzYiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFN3aXRjaF9WVF82OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU3dpdGNoX1ZUXzciKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFN3aXRjaF9WVF83OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfU3dpdGNoX1ZU XzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFN3aXRjaF9WVF84OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf U3dpdGNoX1ZUXzkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFN3aXRjaF9WVF85OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfU3lzX1JlcSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgU3lzX1JlcTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFQ7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9U SE9STiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVEhPUk47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UYWIi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRhYjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RhYm92ZWRvdCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGFib3ZlZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGFza1Bh bmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRhc2tQYW5lOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGNh cm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUY2Fyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UY2Vk aWxsYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGNlZGlsbGE7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9U ZXJtaW5hbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGVybWluYWw7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9UZXJtaW5hdGVfU2VydmVyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUZXJtaW5hdGVfU2Vy dmVyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9iYWh0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBU aGFpX2JhaHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2JvYmFpbWFpIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBUaGFpX2JvYmFpbWFpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9jaG9jaGFuIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2Nob2NoYW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2No b2NoYW5nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2Nob2NoYW5nOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfVGhhaV9jaG9jaGluZyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9jaG9jaGlu ZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1RoYWlfY2hvY2hvZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg VGhhaV9jaG9jaG9lOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9kb2NoYWRhIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBUaGFpX2RvY2hhZGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2RvZGVrIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2RvZGVrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9mb2Zh IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2ZvZmE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFp X2ZvZmFuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2ZvZmFuOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfVGhhaV9ob2hpcCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9ob2hpcDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1RoYWlfaG9ub2todWsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfaG9u b2todWs7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2tob2toYWkiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IFRoYWlfa2hva2hhaTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfa2hva2hvbiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgVGhhaV9raG9raG9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9raG9raHVh dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9raG9raHVhdDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1RoYWlfa2hva2h3YWkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfa2hva2h3YWk7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9UaGFpX2tob3Jha2hhbmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRo YWlfa2hvcmFraGFuZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfa29rYWkiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFRoYWlfa29rYWk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2xha2toYW5neWFvIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2xha2toYW5neWFvOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf VGhhaV9sZWtjaGV0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2xla2NoZXQ7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9UaGFpX2xla2hhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2xla2hh OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9sZWtob2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRo YWlfbGVraG9rOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9sZWtrYW8iKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IFRoYWlfbGVra2FvOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9sZWtudW5nIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBUaGFpX2xla251bmc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2xla3Bh ZXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbGVrcGFldDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1RoYWlfbGVrc2FtIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX2xla3NhbTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1RoYWlfbGVrc2kiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbGVrc2k7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9UaGFpX2xla3NvbmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRo YWlfbGVrc29uZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbGVrc3VuIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBUaGFpX2xla3N1bjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbG9jaHVsYSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgVGhhaV9sb2NodWxhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9sb2xp bmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbG9saW5nOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf VGhhaV9sdSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9sdTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1RoYWlfbWFpY2hhdHRhd2EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbWFpY2hhdHRh d2E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX21haWVrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBU aGFpX21haWVrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9tYWloYW5ha2F0IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBUaGFpX21haWhhbmFrYXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX21haWhhbmFr YXRfbWFpdGhvIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX21haWhhbmFrYXRfbWFpdGhv OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9tYWl0YWlraHUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IFRoYWlfbWFpdGFpa2h1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9tYWl0aG8iKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IFRoYWlfbWFpdGhvOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9tYWl0cmkiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbWFpdHJpOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9t YWl5YW1vayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9tYWl5YW1vazsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1RoYWlfbW9tYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9tb21hOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfVGhhaV9uZ29uZ3UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbmdv bmd1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9uaWtoYWhpdCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgVGhhaV9uaWtoYWhpdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfbm9uZW4iKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IFRoYWlfbm9uZW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX25vbnUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFRoYWlfbm9udTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfb2FuZyIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9vYW5nOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9w YWl5YW5ub2kiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfcGFpeWFubm9pOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfVGhhaV9waGludGh1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3BoaW50 aHU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3Bob3BoYW4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IFRoYWlfcGhvcGhhbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfcGhvcGh1bmciKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IFRoYWlfcGhvcGh1bmc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3Bob3NhbXBo YW8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfcGhvc2FtcGhhbzsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1RoYWlfcG9wbGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfcG9wbGE7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9UaGFpX3JvcnVhIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3JvcnVh OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9ydSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9y dTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1RoYWlfc2FyYWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRo YWlfc2FyYWE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3NhcmFhYSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgVGhhaV9zYXJhYWE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3NhcmFhZSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgVGhhaV9zYXJhYWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3NhcmFhaW1h aW1hbGFpIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3NhcmFhaW1haW1hbGFpOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfVGhhaV9zYXJhYWltYWltdWFuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBU aGFpX3NhcmFhaW1haW11YW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3NhcmFhbSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgVGhhaV9zYXJhYW07Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3NhcmFlIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3NhcmFlOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9z YXJhaSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9zYXJhaTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1RoYWlfc2FyYWlpIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3NhcmFpaTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1RoYWlfc2FyYW8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfc2FyYW87 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3NhcmF1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFp X3NhcmF1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJhdWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IFRoYWlfc2FyYXVlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV9zYXJhdWVlIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBUaGFpX3NhcmF1ZWU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3NhcmF1dSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9zYXJhdXU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFp X3NvcnVzaSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9zb3J1c2k7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9UaGFpX3Nvc2FsYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV9zb3NhbGE7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9UaGFpX3Nvc28iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfc29z bzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1RoYWlfc29zdWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRo YWlfc29zdWE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3RoYW50aGFraGF0IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBUaGFpX3RoYW50aGFraGF0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhhaV90aG9uYW5n bW9udGhvIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3Rob25hbmdtb250aG87Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9UaGFpX3Rob3BodXRoYW8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlf dGhvcGh1dGhhbzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfdGhvdGhhaGFuIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBUaGFpX3Rob3RoYWhhbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfdGhvdGhhbiIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV90aG90aGFuOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVGhh aV90aG90aG9uZyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV90aG90aG9uZzsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1RoYWlfdGhvdGh1bmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfdGhv dGh1bmc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3RvcGF0YWsiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IFRoYWlfdG9wYXRhazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RoYWlfdG90YW8iKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IFRoYWlfdG90YW87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3dvd2FlbiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgVGhhaV93b3dhZW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9UaGFpX3lv eWFrIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUaGFpX3lveWFrOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf VGhhaV95b3lpbmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRoYWlfeW95aW5nOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfVGhvcm4iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRob3JuOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfVGltZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVGltZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1RvRG9MaXN0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUb0RvTGlzdDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1Rvb2xzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUb29sczsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1RvcE1lbnUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFRvcE1lbnU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9Ub3VjaHBhZE9mZiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVG91Y2hwYWRPZmY7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9Ub3VjaHBhZE9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBUb3VjaHBhZE9u OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfVG91Y2hwYWRUb2dnbGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IFRvdWNocGFkVG9nZ2xlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVG91cm9rdSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgVG91cm9rdTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1RyYXZlbCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgVHJhdmVsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVHNsYXNoIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBUc2xhc2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBVOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfVVdCIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBVV0I7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9VYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVhY3V0ZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1ViZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVWJlbG93ZG90 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfVWJyZXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBVYnJldmU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9VY2lyY3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVWNp cmN1bWZsZXg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VZGlhZXJlc2lzIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBVZGlhZXJlc2lzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVWRvdWJsZWFjdXRlIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBVZG91YmxlYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VZ3JhdmUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IFVncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Vob29rIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBVaG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Vob3JuIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBVaG9ybjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1Vob3JuYWN1dGUiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IFVob3JuYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VaG9ybmJlbG93ZG90 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBVaG9ybmJlbG93ZG90OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf VWhvcm5ncmF2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVWhvcm5ncmF2ZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1Vob3JuaG9vayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVWhvcm5ob29rOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfVWhvcm50aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVWhvcm50aWxk ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1VrcmFpbmlhbl9HSEVfV0lUSF9VUFRVUk4iKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IFVrcmFpbmlhbl9HSEVfV0lUSF9VUFRVUk47Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9V a3JhaW5pYW5fSSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVWtyYWluaWFuX0k7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9Va3JhaW5pYW5fSUUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVrcmFpbmlhbl9J RTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1VrcmFpbmlhbl9ZSSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg VWtyYWluaWFuX1lJOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVWtyYWluaWFuX2doZV93aXRoX3VwdHVybiIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgVWtyYWluaWFuX2doZV93aXRoX3VwdHVybjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1VrcmFpbmlhbl9pIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBVa3JhaW5pYW5f aTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1VrcmFpbmlhbl9pZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg VWtyYWluaWFuX2llOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVWtyYWluaWFuX3lpIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBVa3JhaW5pYW5feWk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Va3Jhbmlhbl9JIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBVa3Jhbmlhbl9JOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVWtyYW5pYW5f SkUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVrcmFuaWFuX0pFOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf VWtyYW5pYW5fWUkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVrcmFuaWFuX1lJOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfVWtyYW5pYW5faSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVWtyYW5pYW5faTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1VrcmFuaWFuX2plIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBVa3Jh bmlhbl9qZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VrcmFuaWFuX3lpIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBVa3Jhbmlhbl95aTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1VtYWNyb24iKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IFVtYWNyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9VbmRvIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBVbmRvOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVW5ncmFiIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBVbmdyYWI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9Vb2dvbmVrIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBVb2dvbmVrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfVXAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IFVwOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfVXJpbmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVyaW5n OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfVXNlcjFLQiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVXNlcjFL QjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1VzZXIyS0IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVzZXIy S0I7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9Vc2VyUEIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFVzZXJQ QjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX1V0aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVXRpbGRl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfViIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1ZlbmRvckhvbWUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFZlbmRvckhvbWU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9WaWRlbyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVmlkZW87Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9WaWV3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBWaWV3OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfVm9pZFN5bWJvbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgVm9pZFN5bWJvbDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1ciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFc7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9XTEFOIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBXTEFOOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfV1dX IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBXV1c7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9XYWN1dGUiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IFdhY3V0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1dha2VVcCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgV2FrZVVwOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfV2NpcmN1bWZsZXgi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFdjaXJjdW1mbGV4OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfV2Rp YWVyZXNpcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgV2RpYWVyZXNpczsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1dlYkNhbSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgV2ViQ2FtOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfV2dyYXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBXZ3JhdmU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9XaGVlbEJ1dHRvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgV2hlZWxCdXR0b247Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9XaW5kb3dDbGVhciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgV2luZG93Q2xl YXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9Xb25TaWduIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBXb25T aWduOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfV29yZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgV29yZDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX1giKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFg7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9YYWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFhhYm92ZWRvdDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX1hmZXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFhmZXI7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9ZIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBZOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfWWFjdXRl IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBZYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ZYmVsb3dk b3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFliZWxvd2RvdDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX1lj aXJjdW1mbGV4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBZY2lyY3VtZmxleDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX1lkaWFlcmVzaXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFlkaWFlcmVzaXM7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9ZZWxsb3ciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFllbGxvdzsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX1lncmF2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgWWdyYXZlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfWWhvb2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFlob29rOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfWXRpbGRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBZdGlsZGU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9aIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBaOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfWmFi b3ZlZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBaYWJvdmVkb3Q7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9aYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFphY3V0ZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X1pjYXJvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgWmNhcm9uOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf WmVuX0tvaG8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IFplbl9Lb2hvOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfWmVua2FrdSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgWmVua2FrdTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX1plbmtha3VfSGFua2FrdSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgWmVua2FrdV9IYW5r YWt1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfWm9vbUluIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBab29t SW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9ab29tT3V0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBab29t T3V0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfWnN0cm9rZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgWnN0 cm9rZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGE7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9hYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFhY3V0ZTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2FiZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYWJlbG93ZG90Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFib3ZlZG90 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYWJyZXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBhYnJldmU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9hYnJldmVhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYWJy ZXZlYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9hYnJldmViZWxvd2RvdCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgYWJyZXZlYmVsb3dkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9hYnJldmVncmF2ZSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgYWJyZXZlZ3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9hYnJldmVo b29rIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBhYnJldmVob29rOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YWJyZXZldGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFicmV2ZXRpbGRlOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYWNpcmN1bWZsZXgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFjaXJjdW1mbGV4 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYWNpcmN1bWZsZXhhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgYWNpcmN1bWZsZXhhY3V0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2FjaXJjdW1mbGV4YmVsb3dkb3Qi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFjaXJjdW1mbGV4YmVsb3dkb3Q7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9hY2lyY3VtZmxleGdyYXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBhY2lyY3VtZmxl eGdyYXZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYWNpcmN1bWZsZXhob29rIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBhY2lyY3VtZmxleGhvb2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9hY2lyY3VtZmxleHRpbGRl IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBhY2lyY3VtZmxleHRpbGRlOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFjdXRlOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YWRpYWVyZXNpcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYWRpYWVyZXNpczsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2FlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBhZTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Fn cmF2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYWdyYXZlOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYWhv b2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFob29rOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYW1hY3Jv biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYW1hY3JvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2FtcGVy c2FuZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYW1wZXJzYW5kOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YW9nb25layIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYW9nb25lazsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2Fwb3N0cm9waGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGFwb3N0cm9waGU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9hcHByb3hlcSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYXBwcm94ZXE7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9hcHByb3hpbWF0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYXBwcm94aW1h dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9hcmluZyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYXJpbmc7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9hc2NpaWNpcmN1bSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYXNj aWljaXJjdW07Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9hc2NpaXRpbGRlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBhc2NpaXRpbGRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYXN0ZXJpc2siKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGFzdGVyaXNrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYXQiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGF0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYXRpbGRlIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBhdGlsZGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9iIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBiOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYmFib3ZlZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBiYWJvdmVk b3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9iYWNrc2xhc2giKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJh Y2tzbGFzaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JhbGxvdGNyb3NzIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBiYWxsb3Rjcm9zczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JhciIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgYmFyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYmVjYXVzZSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgYmVjYXVzZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JsYW5rIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBibGFuazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JvdGludGVncmFsIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBib3RpbnRlZ3JhbDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JvdGxlZnRwYXJlbnMiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGJvdGxlZnRwYXJlbnM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ib3RsZWZ0c3Fi cmFja2V0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBib3RsZWZ0c3FicmFja2V0OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYm90bGVmdHN1bW1hdGlvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYm90bGVm dHN1bW1hdGlvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JvdHJpZ2h0cGFyZW5zIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBib3RyaWdodHBhcmVuczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JvdHJpZ2h0c3FicmFj a2V0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBib3RyaWdodHNxYnJhY2tldDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JvdHJpZ2h0c3VtbWF0aW9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBib3RyaWdo dHN1bW1hdGlvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JvdHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGJvdHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ib3R2ZXJ0c3VtbWF0aW9uY29ubmVjdG9yIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBib3R2ZXJ0c3VtbWF0aW9uY29ubmVjdG9yOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYnJhY2VsZWZ0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFjZWxlZnQ7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFjZXJpZ2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFjZXJpZ2h0Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhY2tldGxlZnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWNr ZXRsZWZ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhY2tldHJpZ2h0IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBicmFja2V0cmlnaHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2JsYW5rIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2JsYW5rOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RfMSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RfMTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90XzEwIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdF8x MDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90XzIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90XzI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdF8zIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBicmFpbGxlX2RvdF8zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rf NCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RfNDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2JyYWlsbGVfZG90XzUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90XzU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdF82IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdF82OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RfNyIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgYnJhaWxsZV9kb3RfNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90XzgiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90Xzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFp bGxlX2RvdF85IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdF85OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c18xOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBicmFpbGxlX2RvdHNfMTI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIz IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYnJhaWxsZV9kb3RzXzEyMzQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18xMjM0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMzQ1IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNDU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2Rv dHNfMTIzNDU2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNDU2Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMzQ1NjciKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c18xMjM0NTY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEy MzQ1Njc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNDU2Nzg7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNDU2OCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgYnJhaWxsZV9kb3RzXzEyMzQ1Njg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIz NDU3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNDU3OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMzQ1NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18xMjM0NTc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMzQ1OCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzQ1ODsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18xMjM0NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzEyMzQ2OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMzQ2NyIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzQ2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18xMjM0Njc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIz NDY3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM0NjgiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM0Njg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2Rv dHNfMTIzNDciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM0NzsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM0NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c18xMjM0Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNDgi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM0ODsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18xMjM1IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2Rv dHNfMTIzNTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM1NiIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzU2OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzEyMzU2NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzU2NzsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM1Njc4IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMTIzNTY3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18x MjM1NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM1Njg7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTIzNTciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18xMjM1NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM1NzgiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjM1Nzg7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfMTIzNTgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18xMjM1ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM2IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18xMjM2NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzY3OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMzY3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzEyMzY3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjM2OCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzY4OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYnJhaWxsZV9kb3RzXzEyMzciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18xMjM3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyMzc4IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMTIzNzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2Rv dHNfMTIzOCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyMzg7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfMTI0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNDUiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjQ1OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzEyNDU2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI0NTY7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI0NTY3IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMTI0NTY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEy NDU2NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjQ1Njc4OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNDU2OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzEyNDU2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjQ1NyIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNDU3OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfYnJhaWxsZV9kb3RzXzEyNDU3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzEyNDU3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjQ1OCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNDU4OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzEyNDYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjQ2Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNDY3IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMTI0Njc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI0Njc4 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI0Njc4OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzEyNDY4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMTI0Njg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI0NyIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNDc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfMTI0NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjQ3ODsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjQ4IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMTI0ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjUiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjU7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMTI1NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEy NTY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI1NjciKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18xMjU2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18x MjU2NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjU2Nzg7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTI1NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18xMjU2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjU3IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI1NzsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18xMjU3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEy NTc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNTgiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18xMjU4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEy NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNjsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18xMjY3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2Rv dHNfMTI2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjY3OCIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEyNjc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzEyNjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjY4OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEyNyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJh aWxsZV9kb3RzXzEyNzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMjc4IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTI3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18xMjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMjg7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18xMzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzQiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfMTM0NSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNDU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM0NTYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c18xMzQ1NjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzQ1Njci KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzQ1Njc7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9icmFpbGxlX2RvdHNfMTM0NTY3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzEzNDU2Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM0NTY4IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0NTY4OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RzXzEzNDU3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNf MTM0NTc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM0NTc4IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0NTc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzEzNDU4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0NTg7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM0NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzEzNDY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM0NjciKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzQ2NzsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2JyYWlsbGVfZG90c18xMzQ2NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18xMzQ2Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM0NjgiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzQ2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVf ZG90c18xMzQ3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM0NzsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzQ3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzEzNDc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNDgiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzQ4OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RzXzEzNSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEz NTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzU2IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMTM1NjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzU2 NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNTY3OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzEzNTY3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzEzNTY3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xMzU2OCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNTY4OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJh aWxsZV9kb3RzXzEzNTciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzU3 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNTc4IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBicmFpbGxlX2RvdHNfMTM1Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM1 OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzEzNTg7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9icmFpbGxlX2RvdHNfMTM2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2Rv dHNfMTM2OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzNjciKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18xMzY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzEzNjc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM2Nzg7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM2OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJh aWxsZV9kb3RzXzEzNjg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTM3IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTM3OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzEzNzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xMzc4Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzEzOCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzEzODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE0OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzE0NSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE0NTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNDU2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBi cmFpbGxlX2RvdHNfMTQ1NjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNDU2NyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE0NTY3OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RzXzE0NTY3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzE0NTY3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNDU2OCIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE0NTY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzE0NTciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNDU3OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE0NTc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBi cmFpbGxlX2RvdHNfMTQ1Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTQ1OCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE0NTg7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMTQ2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTQ2 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE0NjciKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c18xNDY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE0Njc4 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTQ2Nzg7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9icmFpbGxlX2RvdHNfMTQ2OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzE0Njg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTQ3IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMTQ3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzE0NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNDc4OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE0OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzE0ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzE1NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE1NjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18xNTY3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMTU2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNTY3OCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE1Njc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzE1NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNTY4Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE1NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzE1NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNTc4IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTU3ODsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18xNTgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNTg7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c18xNjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18xNjciKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18xNjc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFp bGxlX2RvdHNfMTY3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzE2Nzg7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMTY4IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMTY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE3IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFp bGxlX2RvdHNfMTc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMTc4Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzE4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBi cmFpbGxlX2RvdHNfMTg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2Rv dHNfMjMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18yMzQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVf ZG90c18yMzQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM0NSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNDU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2Rv dHNfMjM0NTYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzQ1NjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzQ1NjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c18yMzQ1Njc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM0NTY3 OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNDU2Nzg7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMjM0NTY4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfMjM0NTY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNDU3IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM0NTc7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfMjM0NTc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNf MjM0NTc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNDU4IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM0NTg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2Rv dHNfMjM0NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNDY7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM0NjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18yMzQ2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzQ2NzgiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzQ2Nzg7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfMjM0NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18yMzQ2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzQ3IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM0NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18yMzQ3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNDc4OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNDgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJy YWlsbGVfZG90c18yMzQ4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWls bGVfZG90c18yMzU2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM1NjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yMzU2NyIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgYnJhaWxsZV9kb3RzXzIzNTY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNTY3 OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNTY3ODsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18yMzU2OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzIzNTY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNTciKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzU3OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzIzNTc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM1Nzg7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM1OCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgYnJhaWxsZV9kb3RzXzIzNTg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjM2Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjM2OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf YnJhaWxsZV9kb3RzXzIzNjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18y MzY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNjc4IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBicmFpbGxlX2RvdHNfMjM2Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNf MjM2OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzNjg7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMjM3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMjM3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzIzNzgiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yMzc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzIzOCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzIzODsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18yNCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxs ZV9kb3RzXzI0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI0NSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI0NTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18yNDU2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjQ1NjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18yNDU2NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJh aWxsZV9kb3RzXzI0NTY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI0NTY3OCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI0NTY3ODsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2JyYWlsbGVfZG90c18yNDU2OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzI0NTY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI0NTciKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18yNDU3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzI0NTc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjQ1Nzg7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjQ1OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJh aWxsZV9kb3RzXzI0NTg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjQ2IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjQ2OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzI0NjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNDY3Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI0Njc4IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBicmFpbGxlX2RvdHNfMjQ2Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjQ2OCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI0Njg7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfMjQ3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNf MjQ3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI0NzgiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18yNDc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI0 OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI0ODsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18yNSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzI1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI1NiIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgYnJhaWxsZV9kb3RzXzI1NjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNTY3 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjU2NzsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18yNTY3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzI1Njc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI1NjgiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNTY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzI1NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI1NzsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18yNTc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfMjU3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18yNTgiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNTg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfMjYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18yNjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2JyYWlsbGVfZG90c18yNjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWls bGVfZG90c18yNjc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjY3OCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzI2Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxl X2RvdHNfMjY4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjY4OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzI3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfMjc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMjc4IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9k b3RzXzI4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMjg7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9icmFpbGxlX2RvdHNfMyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzQiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c18zNDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNDUi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNDU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfMzQ1NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzM0NTY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzQ1NjciKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18zNDU2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90 c18zNDU2NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNDU2Nzg7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzQ1NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c18zNDU2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNDU3Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzQ1NzsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2JyYWlsbGVfZG90c18zNDU3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzM0NTc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM0NTgiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c18zNDU4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzM0NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM0NjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c18zNDY3IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxl X2RvdHNfMzQ2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNDY3OCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM0Njc4OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxs ZV9kb3RzXzM0NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNDY4Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM0NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzM0NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNDc4IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzQ3ODsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c18zNDgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNDg7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c18zNTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNTYiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNTY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFp bGxlX2RvdHNfMzU2NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM1Njc7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzU2NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c18zNTY3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNTY4 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzU2ODsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18zNTciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c18zNTc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzU3OCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM1Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNf MzU4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfMzU4OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzM2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2Rv dHNfMzY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfMzY3IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBicmFpbGxlX2RvdHNfMzY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM2 NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c18zNjc4OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzM2OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzM2ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c18zNyIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzM3 OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzM3ODsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c18zOCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzM4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzQiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGJyYWlsbGVfZG90c180OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzQ1IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNDU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFp bGxlX2RvdHNfNDU2IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNDU2Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzQ1NjciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c180NTY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzQ1Njc4Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNDU2Nzg7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9icmFpbGxlX2RvdHNfNDU2OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3Rz XzQ1Njg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNDU3IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBicmFpbGxlX2RvdHNfNDU3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzQ1 NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c180NTc4OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfYnJhaWxsZV9kb3RzXzQ1OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzQ1ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c180NiIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgYnJhaWxsZV9kb3RzXzQ2OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzQ2 NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzQ2NzsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c180Njc4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2Rv dHNfNDY3ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c180NjgiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGJyYWlsbGVfZG90c180Njg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNf NDciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c180NzsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2JyYWlsbGVfZG90c180NzgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90 c180Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNDgiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c180ODsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c181Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c181NiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzU2Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzU2NyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg YnJhaWxsZV9kb3RzXzU2NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c181Njc4IildCi0r CQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNTY3ODsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Jy YWlsbGVfZG90c181NjgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c181Njg7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9icmFpbGxlX2RvdHNfNTciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGJyYWlsbGVfZG90c181NzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c181NzgiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c181Nzg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9icmFp bGxlX2RvdHNfNTgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyYWlsbGVfZG90c181ODsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c182IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBicmFp bGxlX2RvdHNfNjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2JyYWlsbGVfZG90c182NyIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzY3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3Rz XzY3OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzY3ODsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2JyYWlsbGVfZG90c182OCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9k b3RzXzY4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzciKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGJyYWlsbGVfZG90c183OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfYnJhaWxsZV9kb3RzXzc4Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBicmFpbGxlX2RvdHNfNzg7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9i cmFpbGxlX2RvdHNfOCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJhaWxsZV9kb3RzXzg7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9icmV2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgYnJldmU7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9icm9rZW5iYXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGJyb2tlbmJhcjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2MiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGM7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9jX2giKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNfaDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Nh Ym92ZWRvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY2Fib3ZlZG90OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfY2FjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjYWN1dGU7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9jYXJlb2YiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNhcmVvZjsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2NhcmV0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjYXJldDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Nh cm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjYXJvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2NjYXJv biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY2Nhcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfY2NlZGls bGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNjZWRpbGxhOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfY2Np cmN1bWZsZXgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNjaXJjdW1mbGV4OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfY2VkaWxsYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY2VkaWxsYTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2NlbnQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNlbnQ7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9jaCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9jaGVja2Vy Ym9hcmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNoZWNrZXJib2FyZDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2NoZWNrbWFyayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY2hlY2ttYXJrOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfY2lyY2xlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjaXJjbGU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9jbHViIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjbHViOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfY29sb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNvbG9uOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf Y29tbWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNvbW1hOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfY29u dGFpbnNhcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY29udGFpbnNhczsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2NvcHlyaWdodCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY29weXJpZ2h0OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfY3IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGNyOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf Y3Jvc3NpbmdsaW5lcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY3Jvc3NpbmdsaW5lczsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2N1YmVyb290IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjdWJlcm9vdDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2N1cnJlbmN5IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBjdXJyZW5j eTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2N1cnNvciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgY3Vyc29y OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2RhYm92ZWRvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGFib3ZlZG90OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfZGFnZ2VyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkYWdnZXI7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9kY2Fyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRjYXJvbjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2RlYWRfQSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9BOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfZGVhZF9FIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX0U7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9kZWFkX0kiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfSTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2RlYWRfTyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9POwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfZGVhZF9VIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX1U7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9kZWFkX2EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfYTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2RlYWRfYWJvdmVjb21tYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9hYm92ZWNv bW1hOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9hYm92ZWRvdCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgZGVhZF9hYm92ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfYWJvdmVyZXZlcnNlZGNvbW1h IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2Fib3ZlcmV2ZXJzZWRjb21tYTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2RlYWRfYWJvdmVyaW5nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2Fi b3ZlcmluZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfYWJvdmV2ZXJ0aWNhbGxpbmUiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGRlYWRfYWJvdmV2ZXJ0aWNhbGxpbmU7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9k ZWFkX2FjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2FjdXRlOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfZGVhZF9iZWxvd2JyZXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2JlbG93 YnJldmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2JlbG93Y2lyY3VtZmxleCIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgZGVhZF9iZWxvd2NpcmN1bWZsZXg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2Jl bG93Y29tbWEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfYmVsb3djb21tYTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2RlYWRfYmVsb3dkaWFlcmVzaXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRl YWRfYmVsb3dkaWFlcmVzaXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2JlbG93ZG90IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBkZWFkX2JlbG93ZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9iZWxv d21hY3JvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9iZWxvd21hY3JvbjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2RlYWRfYmVsb3dyaW5nIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2Jl bG93cmluZzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfYmVsb3d0aWxkZSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgZGVhZF9iZWxvd3RpbGRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9iZWxvd3ZlcnRp Y2FsbGluZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9iZWxvd3ZlcnRpY2FsbGluZTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2RlYWRfYnJldmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRf YnJldmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2NhcGl0YWxfc2Nod2EiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGRlYWRfY2FwaXRhbF9zY2h3YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfY2Fyb24i KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfY2Fyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFk X2NlZGlsbGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfY2VkaWxsYTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2RlYWRfY2lyY3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9jaXJj dW1mbGV4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9jdXJyZW5jeSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgZGVhZF9jdXJyZW5jeTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfZGFzaWEiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGRlYWRfZGFzaWE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX2RpYWVyZXNp cyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9kaWFlcmVzaXM7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9kZWFkX2RvdWJsZWFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2RvdWJsZWFj dXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9kb3VibGVncmF2ZSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgZGVhZF9kb3VibGVncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfZSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgZGVhZF9lOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9ncmF2ZSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgZGVhZF9ncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfZ3JlZWsi KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfZ3JlZWs7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFk X2hvb2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfaG9vazsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2RlYWRfaG9ybiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF9ob3JuOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfZGVhZF9pIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2k7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9kZWFkX2ludmVydGVkYnJldmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfaW52 ZXJ0ZWRicmV2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfaW90YSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgZGVhZF9pb3RhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVhZF9sb25nc29saWR1c292ZXJsYXki KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfbG9uZ3NvbGlkdXNvdmVybGF5OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfZGVhZF9sb3dsaW5lIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX2xvd2xp bmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX21hY3JvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg ZGVhZF9tYWNyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX28iKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGRlYWRfbzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfb2dvbmVrIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBkZWFkX29nb25lazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RlYWRfcGVyaXNwb21lbmkiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfcGVyaXNwb21lbmk7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9k ZWFkX3BzaWxpIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFkX3BzaWxpOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfZGVhZF9zZW1pdm9pY2VkX3NvdW5kIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkZWFk X3NlbWl2b2ljZWRfc291bmQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWFkX3NtYWxsX3NjaHdhIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBkZWFkX3NtYWxsX3NjaHdhOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVh ZF9zdHJva2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRlYWRfc3Ryb2tlOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfZGVhZF90aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF90aWxkZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2RlYWRfdSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGVhZF91OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfZGVhZF92b2ljZWRfc291bmQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRl YWRfdm9pY2VkX3NvdW5kOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGVjaW1hbHBvaW50IildCi0rCQlwdWJs aWMgY29uc3QgdWludCBkZWNpbWFscG9pbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kZWdyZWUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGRlZ3JlZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RpYWVyZXNpcyIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgZGlhZXJlc2lzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZGlhbW9uZCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgZGlhbW9uZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RpZ2l0c3Bh Y2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRpZ2l0c3BhY2U7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9k aW50ZWdyYWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRpbnRlZ3JhbDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2RpdmlzaW9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkaXZpc2lvbjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2RvbGxhciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZG9sbGFyOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfZG91YmJhc2VsaW5lZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkb3ViYmFzZWxp bmVkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kb3VibGVhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgZG91YmxlYWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9kb3VibGVkYWdnZXIiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGRvdWJsZWRhZ2dlcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2RvdWJsZWxvd3F1b3Rl bWFyayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZG91YmxlbG93cXVvdGVtYXJrOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfZG93bmFycm93IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkb3duYXJyb3c7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9kb3duY2FyZXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGRvd25jYXJl dDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX2Rvd25zaG9lIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBkb3du c2hvZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2Rvd25zdGlsZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg ZG93bnN0aWxlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZG93bnRhY2siKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGRvd250YWNrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZHN0cm9rZSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgZHN0cm9rZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9lYWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGVh Ym92ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2VhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg ZWFjdXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZWJlbG93ZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBlYmVsb3dkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lY2Fyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGVjYXJvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2VjaXJjdW1mbGV4IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBlY2lyY3VtZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2VjaXJjdW1mbGV4YWN1dGUiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGVjaXJjdW1mbGV4YWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9l Y2lyY3VtZmxleGJlbG93ZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlY2lyY3VtZmxleGJl bG93ZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZWNpcmN1bWZsZXhncmF2ZSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgZWNpcmN1bWZsZXhncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2VjaXJjdW1mbGV4aG9v ayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZWNpcmN1bWZsZXhob29rOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfZWNpcmN1bWZsZXh0aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZWNpcmN1bWZsZXh0 aWxkZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2VkaWFlcmVzaXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGVkaWFlcmVzaXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lZ3JhdmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGVncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2Vob29rIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBlaG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2VpZ2h0c3Vic2NyaXB0IildCi0rCQlwdWJsaWMgY29u c3QgdWludCBlaWdodHN1YnNjcmlwdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2VpZ2h0c3VwZXJpb3IiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGVpZ2h0c3VwZXJpb3I7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lbGVt ZW50b2YiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGVsZW1lbnRvZjsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2VsbGlwc2lzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlbGxpcHNpczsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2VtM3NwYWNlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlbTNzcGFjZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2VtNHNwYWNlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlbTRzcGFjZTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2VtYWNyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGVtYWNyb247Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9lbWRhc2giKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGVtZGFzaDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2VtZmlsbGVkY2lyY2xlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlbWZpbGxl ZGNpcmNsZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2VtZmlsbGVkcmVjdCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgZW1maWxsZWRyZWN0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZW1vcGVuY2lyY2xlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBlbW9wZW5jaXJjbGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lbW9wZW5yZWN0 YW5nbGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGVtb3BlbnJlY3RhbmdsZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2VtcHR5c2V0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBlbXB0eXNldDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2Vtc3BhY2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGVtc3BhY2U7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9lbmRhc2giKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGVuZGFzaDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2VuZmlsbGVkY2lyY2J1bGxldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZW5m aWxsZWRjaXJjYnVsbGV0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZW5maWxsZWRzcWJ1bGxldCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgZW5maWxsZWRzcWJ1bGxldDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2VuZyIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgZW5nOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZW5vcGVuY2lyY2J1 bGxldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZW5vcGVuY2lyY2J1bGxldDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2Vub3BlbnNxdWFyZWJ1bGxldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZW5vcGVu c3F1YXJlYnVsbGV0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZW5zcGFjZSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgZW5zcGFjZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2VvZ29uZWsiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGVvZ29uZWs7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9lcXVhbCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgZXF1YWw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ldGgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGV0aDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2V0aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZXRp bGRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfZXhjbGFtIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBleGNs YW07Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9leGNsYW1kb3duIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBl eGNsYW1kb3duOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZXpoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBl emg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9mIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBmOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfZmFib3ZlZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBmYWJvdmVkb3Q7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9mZW1hbGVzeW1ib2wiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGZlbWFs ZXN5bWJvbDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2ZmIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBmZjsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2ZpZ2Rhc2giKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGZpZ2Rhc2g7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9maWxsZWRsZWZ0dHJpYnVsbGV0IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBmaWxsZWRsZWZ0dHJpYnVsbGV0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZmlsbGVkcmVjdGJ1bGxl dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZmlsbGVkcmVjdGJ1bGxldDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2ZpbGxlZHJpZ2h0dHJpYnVsbGV0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBmaWxsZWRy aWdodHRyaWJ1bGxldDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2ZpbGxlZHRyaWJ1bGxldGRvd24iKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGZpbGxlZHRyaWJ1bGxldGRvd247Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9m aWxsZWR0cmlidWxsZXR1cCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZmlsbGVkdHJpYnVsbGV0 dXA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9maXZlZWlnaHRocyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg Zml2ZWVpZ2h0aHM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9maXZlc2l4dGhzIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBmaXZlc2l4dGhzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZml2ZXN1YnNjcmlwdCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgZml2ZXN1YnNjcmlwdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2ZpdmVzdXBl cmlvciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZml2ZXN1cGVyaW9yOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfZm91cmZpZnRocyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgZm91cmZpZnRoczsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2ZvdXJzdWJzY3JpcHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGZvdXJzdWJz Y3JpcHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9mb3Vyc3VwZXJpb3IiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGZvdXJzdXBlcmlvcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2ZvdXJ0aHJvb3QiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGZvdXJ0aHJvb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9mdW5jdGlvbiIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgZnVuY3Rpb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9nIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBnOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZ2Fib3ZlZG90IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBnYWJvdmVkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9nYnJldmUiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGdicmV2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2djYXJvbiIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgZ2Nhcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZ2NlZGlsbGEiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGdjZWRpbGxhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZ2NpcmN1bWZsZXgiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGdjaXJjdW1mbGV4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZ3JhdmUiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGdyYXZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfZ3JlYXRlciIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgZ3JlYXRlcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2dyZWF0ZXJ0aGFu ZXF1YWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGdyZWF0ZXJ0aGFuZXF1YWw7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9ndWlsbGVtb3RsZWZ0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBndWlsbGVtb3Rs ZWZ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfZ3VpbGxlbW90cmlnaHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGd1aWxsZW1vdHJpZ2h0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hhaXJzcGFjZSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgaGFpcnNwYWNlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGNpcmN1bWZsZXgiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGhjaXJjdW1mbGV4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVhcnQiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGhlYXJ0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2FsZXBoIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBoZWJyZXdfYWxlcGg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfYXlp biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2F5aW47Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9o ZWJyZXdfYmV0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfYmV0OwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfaGVicmV3X2JldGgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19iZXRoOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfaGVicmV3X2NoZXQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJl d19jaGV0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2RhbGV0IildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBoZWJyZXdfZGFsZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfZGFsZXRoIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBoZWJyZXdfZGFsZXRoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2Rv dWJsZWxvd2xpbmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19kb3VibGVsb3dsaW5l OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2ZpbmFsa2FwaCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgaGVicmV3X2ZpbmFsa2FwaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19maW5hbG1lbSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2ZpbmFsbWVtOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVi cmV3X2ZpbmFsbnVuIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfZmluYWxudW47Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9oZWJyZXdfZmluYWxwZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVi cmV3X2ZpbmFscGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfZmluYWx6YWRlIildCi0rCQlwdWJs aWMgY29uc3QgdWludCBoZWJyZXdfZmluYWx6YWRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2Zp bmFsemFkaSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2ZpbmFsemFkaTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2hlYnJld19naW1lbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2dp bWVsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2dpbW1lbCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgaGVicmV3X2dpbW1lbDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19oZSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgaGVicmV3X2hlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X2hldCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgaGVicmV3X2hldDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19rYXBo IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfa2FwaDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hl YnJld19rdWYiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19rdWY7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9oZWJyZXdfbGFtZWQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld19sYW1lZDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2hlYnJld19tZW0iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJl d19tZW07Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfbnVuIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBoZWJyZXdfbnVuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3BlIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBoZWJyZXdfcGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfcW9waCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgaGVicmV3X3FvcGg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfcmVzaCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X3Jlc2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJy ZXdfc2FtZWNoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfc2FtZWNoOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfaGVicmV3X3NhbWVraCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X3Nh bWVraDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld19zaGluIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBoZWJyZXdfc2hpbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJld190YWYiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGhlYnJld190YWY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oZWJyZXdfdGF3IildCi0rCQlw dWJsaWMgY29uc3QgdWludCBoZWJyZXdfdGF3OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3RldCIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGVicmV3X3RldDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2hlYnJl d190ZXRoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfdGV0aDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2hlYnJld193YXciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhlYnJld193YXc7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9oZWJyZXdfeW9kIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfeW9k OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3phZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGhl YnJld196YWRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3phZGkiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGhlYnJld196YWRpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3phaW4iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGhlYnJld196YWluOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaGVicmV3X3pheWlu IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBoZWJyZXdfemF5aW47Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9o ZXhhZ3JhbSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaGV4YWdyYW07Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9ob3JpemNvbm5lY3RvciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaG9yaXpjb25uZWN0b3I7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9ob3JpemxpbmVzY2FuMSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg aG9yaXpsaW5lc2NhbjE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ob3JpemxpbmVzY2FuMyIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgaG9yaXpsaW5lc2NhbjM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ob3JpemxpbmVz Y2FuNSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaG9yaXpsaW5lc2NhbjU7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9ob3JpemxpbmVzY2FuNyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaG9yaXpsaW5lc2Nh bjc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9ob3JpemxpbmVzY2FuOSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgaG9yaXpsaW5lc2Nhbjk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9oc3Ryb2tlIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBoc3Ryb2tlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaHQiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGh0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaHlwaGVuIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBoeXBoZW47Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBpOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfaVRvdWNoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBpVG91Y2g7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9pYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGlhY3V0ZTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2liZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaWJlbG93ZG90 OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfaWJyZXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBpYnJldmU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9pY2lyY3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaWNp cmN1bWZsZXg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pZGVudGljYWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGlkZW50aWNhbDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2lkaWFlcmVzaXMiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGlkaWFlcmVzaXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pZG90bGVzcyIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgaWRvdGxlc3M7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pZm9ubHlpZiIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgaWZvbmx5aWY7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pZ3JhdmUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IGlncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2lob29rIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBpaG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2ltYWNyb24iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGltYWNyb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9pbXBsaWVzIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBpbXBsaWVzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfaW5jbHVkZWRpbiIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgaW5jbHVkZWRpbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2luY2x1ZGVz IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBpbmNsdWRlczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2luZmlu aXR5IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBpbmZpbml0eTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2lu dGVncmFsIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBpbnRlZ3JhbDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2ludGVyc2VjdGlvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaW50ZXJzZWN0aW9uOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfaW9nb25layIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaW9nb25lazsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2l0aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgaXRpbGRlOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfaiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgajsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2pjaXJjdW1mbGV4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBqY2lyY3VtZmxleDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2pvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgam90OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfQSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9BOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9DSEki KV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfQ0hJOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9F IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX0ZV IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0ZVOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9I QSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9IQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFf SEUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfSEU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5h X0hJIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0hJOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2Fu YV9ITyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9ITzsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2th bmFfSFUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfSFU7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9r YW5hX0kiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfSTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2th bmFfS0EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfS0E7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9r YW5hX0tFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0tFOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf a2FuYV9LSSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9LSTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2thbmFfS08iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfS087Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9rYW5hX0tVIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX0tVOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfa2FuYV9NQSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9NQTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX2thbmFfTUUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfTUU7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9rYW5hX01JIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX01JOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfa2FuYV9NTyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9NTzsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2thbmFfTVUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfTVU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9rYW5hX04iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfTjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX2thbmFfTkEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfTkE7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9rYW5hX05FIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX05FOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfa2FuYV9OSSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9OSTsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX2thbmFfTk8iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfTk87Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9rYW5hX05VIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX05VOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfa2FuYV9PIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX087Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9rYW5hX1JBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX1JBOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfa2FuYV9SRSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9SRTsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX2thbmFfUkkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfUkk7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9rYW5hX1JPIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX1JPOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfa2FuYV9SVSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9SVTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX2thbmFfU0EiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfU0E7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1NFIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX1NF OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9TSEkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFf U0hJOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9TTyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2Fu YV9TTzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfU1UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGth bmFfU1U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1RBIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBr YW5hX1RBOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9URSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg a2FuYV9URTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfVEkiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGthbmFfVEk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1RPIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBrYW5hX1RPOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9UU1UiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGthbmFfVFNVOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9UVSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQga2FuYV9UVTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfVSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQga2FuYV9VOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9XQSIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQga2FuYV9XQTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfV08iKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGthbmFfV087Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX1lBIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBrYW5hX1lBOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9ZTyIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQga2FuYV9ZTzsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfWVUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGthbmFfWVU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX2EiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGthbmFfYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfY2xvc2luZ2JyYWNrZXQiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfY2xvc2luZ2JyYWNrZXQ7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9rYW5hX2NvbW1hIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX2NvbW1hOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfa2FuYV9jb25qdW5jdGl2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQga2FuYV9j b25qdW5jdGl2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfZSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQga2FuYV9lOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9mdWxsc3RvcCIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQga2FuYV9mdWxsc3RvcDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfaSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQga2FuYV9pOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9taWRkbGVkb3QiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IGthbmFfbWlkZGxlZG90OwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2Fu YV9vIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX287Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5h X29wZW5pbmdicmFja2V0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBrYW5hX29wZW5pbmdicmFj a2V0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV9zd2l0Y2giKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IGthbmFfc3dpdGNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV90c3UiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IGthbmFfdHN1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV90dSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQga2FuYV90dTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfdSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQga2FuYV91OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FuYV95YSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQga2FuYV95YTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2thbmFfeW8iKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGthbmFfeW87Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9rYW5hX3l1IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBrYW5hX3l1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2FwcGEiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGthcHBhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa2NlZGlsbGEiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IGtjZWRpbGxhOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfa3JhIildCi0rCQlwdWJsaWMgY29u c3QgdWludCBrcmE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBs OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfbGFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBsYWN1dGU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9sYXRpbmNyb3NzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBsYXRp bmNyb3NzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbGJlbG93ZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBsYmVsb3dkb3Q7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sY2Fyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IGxjYXJvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2xjZWRpbGxhIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBsY2VkaWxsYTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2xlZnRhbmdsZWJyYWNrZXQiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IGxlZnRhbmdsZWJyYWNrZXQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sZWZ0YXJy b3ciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGxlZnRhcnJvdzsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2xl ZnRjYXJldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbGVmdGNhcmV0OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfbGVmdGRvdWJsZXF1b3RlbWFyayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbGVmdGRvdWJs ZXF1b3RlbWFyazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2xlZnRtaWRkbGVjdXJseWJyYWNlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBsZWZ0bWlkZGxlY3VybHlicmFjZTsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX2xl ZnRvcGVudHJpYW5nbGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGxlZnRvcGVudHJpYW5nbGU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9sZWZ0cG9pbnRlciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbGVm dHBvaW50ZXI7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sZWZ0cmFkaWNhbCIpXQotKwkJcHVibGljIGNvbnN0 IHVpbnQgbGVmdHJhZGljYWw7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sZWZ0c2hvZSIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgbGVmdHNob2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9sZWZ0c2luZ2xlcXVvdGVtYXJr IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBsZWZ0c2luZ2xlcXVvdGVtYXJrOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfbGVmdHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGxlZnR0OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfbGVmdHRhY2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGxlZnR0YWNrOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfbGVzcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbGVzczsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X2xlc3N0aGFuZXF1YWwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IGxlc3N0aGFuZXF1YWw7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9sZiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbGY7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9sb2dpY2FsYW5kIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBsb2dpY2FsYW5kOwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfbG9naWNhbG9yIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBsb2dpY2Fsb3I7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9sb3dsZWZ0Y29ybmVyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBs b3dsZWZ0Y29ybmVyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbG93cmlnaHRjb3JuZXIiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IGxvd3JpZ2h0Y29ybmVyOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbHN0cm9rZSIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgbHN0cm9rZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX20iKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IG07Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9tYWJvdmVkb3QiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IG1hYm92ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX21hY3JvbiIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgbWFjcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbWFsZXN5bWJvbCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgbWFsZXN5bWJvbDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX21hbHRlc2Vjcm9z cyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbWFsdGVzZWNyb3NzOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf bWFya2VyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBtYXJrZXI7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9t YXNjdWxpbmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG1hc2N1bGluZTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX21pbnVzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBtaW51czsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X21pbnV0ZXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG1pbnV0ZXM7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9tdSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbXU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9tdWx0aXBs eSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbXVsdGlwbHk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9tdXNp Y2FsZmxhdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbXVzaWNhbGZsYXQ7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9tdXNpY2Fsc2hhcnAiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG11c2ljYWxzaGFycDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG47Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV9uYWJsYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbmFibGE7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9uYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG5hY3V0ZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X25jYXJvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbmNhcm9uOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf bmNlZGlsbGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG5jZWRpbGxhOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfbmluZXN1YnNjcmlwdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbmluZXN1YnNjcmlwdDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX25pbmVzdXBlcmlvciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbmlu ZXN1cGVyaW9yOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfbmwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG5s OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfbm9icmVha3NwYWNlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBu b2JyZWFrc3BhY2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ub3RhcHByb3hlcSIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgbm90YXBwcm94ZXE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9ub3RlbGVtZW50b2YiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IG5vdGVsZW1lbnRvZjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX25vdGVxdWFs IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBub3RlcXVhbDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX25vdGlk ZW50aWNhbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbm90aWRlbnRpY2FsOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfbm90c2lnbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbm90c2lnbjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX250aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbnRpbGRlOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfbnVtYmVyc2lnbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgbnVtYmVyc2lnbjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX251bWVyb3NpZ24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG51bWVyb3Np Z247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9vIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfb2FjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvYWN1dGU7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9vYmFycmVkIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvYmFycmVkOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfb2JlbG93ZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvYmVsb3dkb3Q7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9vY2Fyb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9jYXJvbjsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX29jaXJjdW1mbGV4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvY2lyY3Vt ZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX29jaXJjdW1mbGV4YWN1dGUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IG9jaXJjdW1mbGV4YWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vY2lyY3VtZmxleGJlbG93 ZG90IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvY2lyY3VtZmxleGJlbG93ZG90OwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfb2NpcmN1bWZsZXhncmF2ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2NpcmN1 bWZsZXhncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29jaXJjdW1mbGV4aG9vayIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgb2NpcmN1bWZsZXhob29rOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb2NpcmN1bWZsZXh0 aWxkZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2NpcmN1bWZsZXh0aWxkZTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX29kaWFlcmVzaXMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9kaWFlcmVzaXM7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9vZG91YmxlYWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9kb3Vi bGVhY3V0ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29lIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvZTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX29nb25layIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2dvbmVrOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfb2dyYXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvZ3JhdmU7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV9vaG9vayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2hvb2s7Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV9vaG9ybiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2hvcm47Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9vaG9ybmFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvaG9ybmFjdXRlOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfb2hvcm5iZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb2hv cm5iZWxvd2RvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29ob3JuZ3JhdmUiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IG9ob3JuZ3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vaG9ybmhvb2siKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IG9ob3JuaG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX29ob3JudGlsZGUiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IG9ob3JudGlsZGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vbWFjcm9uIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBvbWFjcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb25lZWlnaHRo IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvbmVlaWdodGg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vbmVm aWZ0aCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb25lZmlmdGg7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9v bmVoYWxmIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvbmVoYWxmOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf b25lcXVhcnRlciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb25lcXVhcnRlcjsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX29uZXNpeHRoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBvbmVzaXh0aDsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX29uZXN1YnNjcmlwdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgb25lc3Vic2Ny aXB0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfb25lc3VwZXJpb3IiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IG9uZXN1cGVyaW9yOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb25ldGhpcmQiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IG9uZXRoaXJkOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb29ibGlxdWUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IG9vYmxpcXVlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb3BlbnJlY3RidWxsZXQiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IG9wZW5yZWN0YnVsbGV0OwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb3BlbnN0 YXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9wZW5zdGFyOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb3Bl bnRyaWJ1bGxldGRvd24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IG9wZW50cmlidWxsZXRkb3du OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfb3BlbnRyaWJ1bGxldHVwIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCBvcGVudHJpYnVsbGV0dXA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vcmRmZW1pbmluZSIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgb3JkZmVtaW5pbmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9vc2xhc2giKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IG9zbGFzaDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX290aWxkZSIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgb3RpbGRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfb3ZlcmJhciIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgb3ZlcmJhcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX292ZXJsaW5lIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBvdmVybGluZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3AiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IHA7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wYWJvdmVkb3QiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IHBhYm92ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3BhcmFncmFwaCIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgcGFyYWdyYXBoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcGFyZW5sZWZ0Iild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBwYXJlbmxlZnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wYXJlbnJp Z2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBwYXJlbnJpZ2h0OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf cGFydGRpZmZlcmVudGlhbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcGFydGRpZmZlcmVudGlh bDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX3BhcnRpYWxkZXJpdmF0aXZlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCBwYXJ0aWFsZGVyaXZhdGl2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3BlcmNlbnQiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IHBlcmNlbnQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wZXJpb2QiKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IHBlcmlvZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3BlcmlvZGNlbnRlcmVkIild Ci0rCQlwdWJsaWMgY29uc3QgdWludCBwZXJpb2RjZW50ZXJlZDsKLSsJCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3Bl cm1pbGxlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBwZXJtaWxsZTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X3Bob25vZ3JhcGhjb3B5cmlnaHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHBob25vZ3JhcGhj b3B5cmlnaHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wbHVzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBw bHVzOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfcGx1c21pbnVzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBw bHVzbWludXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9wcmVzY3JpcHRpb24iKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IHByZXNjcmlwdGlvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3Byb2xvbmdlZHNvdW5kIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBwcm9sb25nZWRzb3VuZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3B1bmN0 c3BhY2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHB1bmN0c3BhY2U7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV9xIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBxOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcXVhZCIpXQot KwkJcHVibGljIGNvbnN0IHVpbnQgcXVhZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3F1ZXN0aW9uIildCi0r CQlwdWJsaWMgY29uc3QgdWludCBxdWVzdGlvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3F1ZXN0aW9uZG93 biIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcXVlc3Rpb25kb3duOwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf cXVvdGVkYmwiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHF1b3RlZGJsOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfcXVvdGVsZWZ0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBxdW90ZWxlZnQ7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV9xdW90ZXJpZ2h0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBxdW90ZXJpZ2h0Owot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcjsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX3JhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcmFjdXRlOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfcmFkaWNhbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcmFkaWNhbDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX3JjYXJvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcmNhcm9uOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfcmNlZGlsbGEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHJjZWRpbGxhOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfcmVnaXN0ZXJlZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcmVnaXN0ZXJlZDsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX3JpZ2h0YW5nbGVicmFja2V0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBy aWdodGFuZ2xlYnJhY2tldDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3JpZ2h0YXJyb3ciKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IHJpZ2h0YXJyb3c7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9yaWdodGNhcmV0IildCi0r CQlwdWJsaWMgY29uc3QgdWludCByaWdodGNhcmV0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcmlnaHRkb3Vi bGVxdW90ZW1hcmsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHJpZ2h0ZG91YmxlcXVvdGVtYXJr OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfcmlnaHRtaWRkbGVjdXJseWJyYWNlIildCi0rCQlwdWJsaWMgY29u c3QgdWludCByaWdodG1pZGRsZWN1cmx5YnJhY2U7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9yaWdodG1pZGRs ZXN1bW1hdGlvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcmlnaHRtaWRkbGVzdW1tYXRpb247 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9yaWdodG9wZW50cmlhbmdsZSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgcmlnaHRvcGVudHJpYW5nbGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9yaWdodHBvaW50ZXIiKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IHJpZ2h0cG9pbnRlcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3JpZ2h0c2hv ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgcmlnaHRzaG9lOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcmln aHRzaW5nbGVxdW90ZW1hcmsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHJpZ2h0c2luZ2xlcXVv dGVtYXJrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfcmlnaHR0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCBy aWdodHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9yaWdodHRhY2siKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IHJpZ2h0dGFjazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3MiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHM7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV9zYWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNhYm92 ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX3NhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc2Fj dXRlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfc2Nhcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBzY2Fy b247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9zY2VkaWxsYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc2Nl ZGlsbGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zY2h3YSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc2No d2E7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9zY2lyY3VtZmxleCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg c2NpcmN1bWZsZXg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zY3JpcHRfc3dpdGNoIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBzY3JpcHRfc3dpdGNoOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2Vjb25kcyIpXQotKwkJ cHVibGljIGNvbnN0IHVpbnQgc2Vjb25kczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3NlY3Rpb24iKV0KLSsJ CXB1YmxpYyBjb25zdCB1aW50IHNlY3Rpb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zZW1pY29sb24iKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IHNlbWljb2xvbjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3NlbWl2b2lj ZWRzb3VuZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc2VtaXZvaWNlZHNvdW5kOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xV VFRFUl9LRVlfc2V2ZW5laWdodGhzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBzZXZlbmVpZ2h0 aHM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV9zZXZlbnN1YnNjcmlwdCIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgc2V2ZW5zdWJzY3JpcHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zZXZlbnN1cGVyaW9yIildCi0rCQlw dWJsaWMgY29uc3QgdWludCBzZXZlbnN1cGVyaW9yOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2lnbmF0dXJl bWFyayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc2lnbmF0dXJlbWFyazsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX3NpZ25pZmJsYW5rIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBzaWduaWZibGFuazsKLSsJ CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0g IkNMVVRURVJfS0VZX3NpbWlsYXJlcXVhbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc2ltaWxh cmVxdWFsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc2luZ2xlbG93cXVvdGVtYXJrIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCBzaW5nbGVsb3dxdW90ZW1hcms7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV9zaXhzdWJzY3Jp cHQiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNpeHN1YnNjcmlwdDsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X3NpeHN1cGVyaW9yIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBzaXhzdXBlcmlvcjsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX3NsYXNoIildCi0rCQlwdWJsaWMgY29uc3QgdWludCBzbGFzaDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX3NvbGlkZGlhbW9uZCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc29saWRkaWFtb25k OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfc3BhY2UiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHNwYWNlOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfc3F1YXJlcm9vdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc3F1YXJl cm9vdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGNuYW1lID0gIkNMVVRURVJfS0VZX3NzaGFycCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgc3No YXJwOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfc3RlcmxpbmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHN0 ZXJsaW5nOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfc3RyaWN0ZXEiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IHN0cmljdGVxOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdDsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX3RhYm92ZWRvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdGFib3Zl ZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfdGNhcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0Y2Fy b247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV90Y2VkaWxsYSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdGNl ZGlsbGE7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90ZWxlcGhvbmUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IHRlbGVwaG9uZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3RlbGVwaG9uZXJlY29yZGVyIildCi0rCQlwdWJs aWMgY29uc3QgdWludCB0ZWxlcGhvbmVyZWNvcmRlcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3RoZXJlZm9y ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdGhlcmVmb3JlOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdGhp bnNwYWNlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0aGluc3BhY2U7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV90aG9ybiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdGhvcm47Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90 aHJlZWVpZ2h0aHMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHRocmVlZWlnaHRoczsKLSsJCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNM VVRURVJfS0VZX3RocmVlZmlmdGhzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0aHJlZWZpZnRo czsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX3RocmVlcXVhcnRlcnMiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IHRocmVlcXVhcnRlcnM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90aHJlZXN1YnNjcmlwdCIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgdGhyZWVzdWJzY3JpcHQ7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90aHJlZXN1cGVy aW9yIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0aHJlZXN1cGVyaW9yOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfdGludGVncmFsIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0aW50ZWdyYWw7Ci0rCQlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVU VEVSX0tFWV90b3BpbnRlZ3JhbCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdG9waW50ZWdyYWw7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV90b3BsZWZ0cGFyZW5zIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0 b3BsZWZ0cGFyZW5zOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdG9wbGVmdHJhZGljYWwiKV0KLSsJCXB1Ymxp YyBjb25zdCB1aW50IHRvcGxlZnRyYWRpY2FsOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdG9wbGVmdHNxYnJh Y2tldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdG9wbGVmdHNxYnJhY2tldDsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX3RvcGxlZnRzdW1tYXRpb24iKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHRvcGxlZnRz dW1tYXRpb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90b3ByaWdodHBhcmVucyIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgdG9wcmlnaHRwYXJlbnM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90b3ByaWdodHNxYnJhY2tl dCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdG9wcmlnaHRzcWJyYWNrZXQ7Ci0rCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVS X0tFWV90b3ByaWdodHN1bW1hdGlvbiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdG9wcmlnaHRz dW1tYXRpb247Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90b3B0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0 b3B0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfdG9wdmVydHN1bW1hdGlvbmNvbm5lY3RvciIpXQotKwkJcHVi bGljIGNvbnN0IHVpbnQgdG9wdmVydHN1bW1hdGlvbmNvbm5lY3RvcjsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X3RyYWRlbWFyayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdHJhZGVtYXJrOwotKwkJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRF Ul9LRVlfdHJhZGVtYXJraW5jaXJjbGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHRyYWRlbWFy a2luY2lyY2xlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdHNsYXNoIildCi0rCQlwdWJsaWMgY29uc3QgdWlu dCB0c2xhc2g7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV90d29maWZ0aHMiKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IHR3b2ZpZnRoczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3R3b3N1YnNjcmlwdCIpXQotKwkJcHVibGlj IGNvbnN0IHVpbnQgdHdvc3Vic2NyaXB0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdHdvc3VwZXJpb3IiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IHR3b3N1cGVyaW9yOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdHdvdGhp cmRzIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB0d290aGlyZHM7Ci0rCQlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91 IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB1OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdWFjdXRlIildCi0r CQlwdWJsaWMgY29uc3QgdWludCB1YWN1dGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91YmVsb3dkb3QiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IHViZWxvd2RvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3VicmV2ZSIp XQotKwkJcHVibGljIGNvbnN0IHVpbnQgdWJyZXZlOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdWNpcmN1bWZs ZXgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVjaXJjdW1mbGV4OwotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlf dWRpYWVyZXNpcyIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdWRpYWVyZXNpczsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRU RVJfS0VZX3Vkb3VibGVhY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdWRvdWJsZWFjdXRl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfdWdyYXZlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB1Z3JhdmU7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV91aG9vayIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdWhvb2s7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV91aG9ybiIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdWhvcm47Ci0rCQlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJD TFVUVEVSX0tFWV91aG9ybmFjdXRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB1aG9ybmFjdXRl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfdWhvcm5iZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg dWhvcm5iZWxvd2RvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3Vob3JuZ3JhdmUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IHVob3JuZ3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91aG9ybmhvb2siKV0KLSsJCXB1 YmxpYyBjb25zdCB1aW50IHVob3JuaG9vazsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3Vob3JudGlsZGUiKV0K LSsJCXB1YmxpYyBjb25zdCB1aW50IHVob3JudGlsZGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV91bWFjcm9u IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB1bWFjcm9uOwotKwkJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdW5kZXJi YXIiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVuZGVyYmFyOwotKwkJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdW5k ZXJzY29yZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdW5kZXJzY29yZTsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX3VuaW9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB1bmlvbjsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZ X3VvZ29uZWsiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHVvZ29uZWs7Ci0rCQlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tF WV91cGFycm93IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB1cGFycm93OwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9L RVlfdXBjYXJldCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdXBjYXJldDsKLSsJCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJf S0VZX3VwbGVmdGNvcm5lciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdXBsZWZ0Y29ybmVyOwot KwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUg PSAiQ0xVVFRFUl9LRVlfdXByaWdodGNvcm5lciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgdXBy aWdodGNvcm5lcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3Vwc2hvZSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgdXBzaG9lOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdXBzdGlsZSIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgdXBzdGlsZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3VwdGFjayIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgdXB0YWNrOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdXJpbmciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IHVyaW5nOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfdXRpbGRlIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB1 dGlsZGU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV92IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB2OwotKwkJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAi Q0xVVFRFUl9LRVlfdmFyaWF0aW9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB2YXJpYXRpb247 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV92ZXJ0YmFyIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB2ZXJ0YmFy OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfdmVydGNvbm5lY3RvciIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQg dmVydGNvbm5lY3RvcjsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3ZvaWNlZHNvdW5kIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCB2b2ljZWRzb3VuZDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3Z0IildCi0rCQlwdWJsaWMg Y29uc3QgdWludCB2dDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3ciKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IHc7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj bmFtZSA9ICJDTFVUVEVSX0tFWV93YWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHdhY3V0 ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX3djaXJjdW1mbGV4IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB3 Y2lyY3VtZmxleDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3dkaWFlcmVzaXMiKV0KLSsJCXB1YmxpYyBjb25z dCB1aW50IHdkaWFlcmVzaXM7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV93Z3JhdmUiKV0KLSsJCXB1YmxpYyBj b25zdCB1aW50IHdncmF2ZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3giKV0KLSsJCXB1YmxpYyBjb25zdCB1 aW50IHg7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCBjbmFtZSA9ICJDTFVUVEVSX0tFWV94YWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IHhhYm92ZWRvdDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3kiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHk7 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV95YWN1dGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHlhY3V0ZTsK LSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNuYW1l ID0gIkNMVVRURVJfS0VZX3liZWxvd2RvdCIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgeWJlbG93 ZG90OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y25hbWUgPSAiQ0xVVFRFUl9LRVlfeWNpcmN1bWZsZXgiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IHljaXJjdW1mbGV4OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfeWRpYWVyZXNpcyIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgeWRpYWVyZXNpczsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3llbiIpXQotKwkJcHVibGljIGNv bnN0IHVpbnQgeWVuOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfeWdyYXZlIildCi0rCQlwdWJsaWMgY29uc3Qg dWludCB5Z3JhdmU7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV95aG9vayIpXQotKwkJcHVibGljIGNvbnN0IHVp bnQgeWhvb2s7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV95dGlsZGUiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50 IHl0aWxkZTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNuYW1lID0gIkNMVVRURVJfS0VZX3oiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHo7Ci0r CQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9 ICJDTFVUVEVSX0tFWV96YWJvdmVkb3QiKV0KLSsJCXB1YmxpYyBjb25zdCB1aW50IHphYm92ZWRv dDsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNu YW1lID0gIkNMVVRURVJfS0VZX3phY3V0ZSIpXQotKwkJcHVibGljIGNvbnN0IHVpbnQgemFjdXRl OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY25h bWUgPSAiQ0xVVFRFUl9LRVlfemNhcm9uIildCi0rCQlwdWJsaWMgY29uc3QgdWludCB6Y2Fyb247 Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0tFWV96ZXJvc3Vic2NyaXB0IildCi0rCQlwdWJsaWMgY29uc3QgdWludCB6 ZXJvc3Vic2NyaXB0OwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgY25hbWUgPSAiQ0xVVFRFUl9LRVlfemVyb3N1cGVyaW9yIildCi0rCQlwdWJsaWMg Y29uc3QgdWludCB6ZXJvc3VwZXJpb3I7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0tFWV96c3Ryb2tlIildCi0rCQlw dWJsaWMgY29uc3QgdWludCB6c3Ryb2tlOwotKwl9Ci0rCW5hbWVzcGFjZSBUaHJlYWRzIHsKLSsJ CW5hbWVzcGFjZSBJZGxlIHsKLSsJCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJjbHV0dGVyX3RocmVhZHNfYWRkX2lkbGUiKV0KLSsJCQlb VmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0rCQkJcHVibGljIHN0YXRpYyB1aW50IGFkZCAoR0xp Yi5Tb3VyY2VGdW5jIGZ1bmMpOwotKwkJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0 dGVyL2NsdXR0ZXIuaCIsIGNuYW1lID0gImNsdXR0ZXJfdGhyZWFkc19hZGRfaWRsZV9mdWxsIild Ci0rCQkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQotKwkJCXB1YmxpYyBzdGF0aWMgdWludCBh ZGRfZnVsbCAoaW50IHByaW9yaXR5LCBvd25lZCBHTGliLlNvdXJjZUZ1bmMgZnVuYyk7Ci0rCQl9 Ci0rCQluYW1lc3BhY2UgVGltZW91dCB7Ci0rCQkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIiwgY25hbWUgPSAiY2x1dHRlcl90aHJlYWRzX2FkZF90aW1lb3V0 IildCi0rCQkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQotKwkJCXB1YmxpYyBzdGF0aWMgdWlu dCBhZGQgKHVpbnQgaW50ZXJ2YWwsIEdMaWIuU291cmNlRnVuYyBmdW5jKTsKLSsJCQlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJjbHV0dGVy X3RocmVhZHNfYWRkX3RpbWVvdXRfZnVsbCIpXQotKwkJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQi KV0KLSsJCQlwdWJsaWMgc3RhdGljIHVpbnQgYWRkX2Z1bGwgKGludCBwcmlvcml0eSwgdWludCBp bnRlcnZhbCwgb3duZWQgR0xpYi5Tb3VyY2VGdW5jIGZ1bmMpOwotKwkJfQotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4wIildCi0rCQlwdWJsaWMgc3RhdGljIHVpbnQgYWRkX3JlcGFpbnRfZnVuYyAob3du ZWQgR0xpYi5Tb3VyY2VGdW5jIGZ1bmMpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJ cHVibGljIHN0YXRpYyB1aW50IGFkZF9yZXBhaW50X2Z1bmNfZnVsbCAoQ2x1dHRlci5SZXBhaW50 RmxhZ3MgZmxhZ3MsIG93bmVkIEdMaWIuU291cmNlRnVuYyBmdW5jKTsKLSsJCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMCIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIHJlbW92ZV9yZXBhaW50X2Z1bmMgKHVp bnQgaGFuZGxlX2lkKTsKLSsJfQotKwluYW1lc3BhY2UgVmFsdWUgewotKwkJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xMCIpXQotKwkJcHVibGljIHN0YXRpYyBDbHV0dGVyLlBhaW50Tm9kZSBkdXBfcGFpbnRf bm9kZSAoR0xpYi5WYWx1ZSB2YWx1ZSk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1 YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkNvbG9yPyBnZXRfY29sb3IgKEdMaWIuVmFsdWUg dmFsdWUpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IildCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHN0YXRpYyB1bm93 bmVkIENsdXR0ZXIuUGFpbnROb2RlIGdldF9wYWludF9ub2RlIChHTGliLlZhbHVlIHZhbHVlKTsK LSsJCVtDQ29kZSAoYXJyYXlfbGVuZ3RoX3BvcyA9IDEuMSwgYXJyYXlfbGVuZ3RoX3R5cGUgPSAi Z3NpemUiLCBjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgc3RhdGljIHVub3duZWQgZmxvYXRbXSBn ZXRfc2hhZGVyX2Zsb2F0IChHTGliLlZhbHVlIHZhbHVlKTsKLSsJCVtDQ29kZSAoYXJyYXlfbGVu Z3RoX3BvcyA9IDEuMSwgYXJyYXlfbGVuZ3RoX3R5cGUgPSAiZ3NpemUiLCBjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44Iild Ci0rCQlwdWJsaWMgc3RhdGljIHVub3duZWQgaW50W10gZ2V0X3NoYWRlcl9pbnQgKEdMaWIuVmFs dWUgdmFsdWUpOwotKwkJW0NDb2RlIChhcnJheV9sZW5ndGhfcG9zID0gMS4xLCBhcnJheV9sZW5n dGhfdHlwZSA9ICJnc2l6ZSIsIGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi KV0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBzdGF0aWMgdW5vd25l ZCBmbG9hdFtdIGdldF9zaGFkZXJfbWF0cml4IChHTGliLlZhbHVlIHZhbHVlKTsKLSsJCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIENsdXR0ZXIuVW5pdHM/ IGdldF91bml0cyAoR0xpYi5WYWx1ZSB2YWx1ZSk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0K LSsJCXB1YmxpYyBzdGF0aWMgdm9pZCBzZXRfY29sb3IgKEdMaWIuVmFsdWUgdmFsdWUsIENsdXR0 ZXIuQ29sb3IgY29sb3IpOwotKwkJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIildCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHN0 YXRpYyB2b2lkIHNldF9wYWludF9ub2RlIChHTGliLlZhbHVlIHZhbHVlLCBDbHV0dGVyLlBhaW50 Tm9kZT8gbm9kZSk7Ci0rCQlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiKV0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBzdGF0aWMg dm9pZCBzZXRfc2hhZGVyX2Zsb2F0IChHTGliLlZhbHVlIHZhbHVlLCBbQ0NvZGUgKGFycmF5X2xl bmd0aF9jbmFtZSA9ICJzaXplIiwgYXJyYXlfbGVuZ3RoX3BvcyA9IDEuNSldIGZsb2F0W10gZmxv YXRzKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIp XQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIHNl dF9zaGFkZXJfaW50IChHTGliLlZhbHVlIHZhbHVlLCBbQ0NvZGUgKGFycmF5X2xlbmd0aF9jbmFt ZSA9ICJzaXplIiwgYXJyYXlfbGVuZ3RoX3BvcyA9IDEuNSldIGludFtdIGludHMpOwotKwkJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCQlbVmVyc2lv biAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgc3RhdGljIHZvaWQgc2V0X3NoYWRlcl9tYXRy aXggKEdMaWIuVmFsdWUgdmFsdWUsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoX2NuYW1lID0gInNpemUi LCBhcnJheV9sZW5ndGhfcG9zID0gMS41KV0gZmxvYXRbXSBtYXRyaXgpOwotKwkJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMC44IildCi0rCQlwdWJsaWMgc3RhdGljIHZvaWQgc2V0X3VuaXRzIChHTGliLlZhbHVl IHZhbHVlLCBDbHV0dGVyLlVuaXRzIHVuaXRzKTsKLSsJCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K LSsJCXB1YmxpYyBzdGF0aWMgdm9pZCB0YWtlX3BhaW50X25vZGUgKEdMaWIuVmFsdWUgdmFsdWUs IENsdXR0ZXIuUGFpbnROb2RlPyBub2RlKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfYWN0aW9uX2dldF90 eXBlICgpIildCi0rCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBBY3Rpb24gOiBDbHV0dGVyLkFjdG9y TWV0YSB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlw cm90ZWN0ZWQgQWN0aW9uICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9hY3Rvcl9nZXRfdHlwZSAoKSIp XQotKwlwdWJsaWMgY2xhc3MgQWN0b3IgOiBHTGliLkluaXRpYWxseVVub3duZWQsIEF0ay5JbXBs ZW1lbnRvciwgQ2x1dHRlci5BbmltYXRhYmxlLCBDbHV0dGVyLkNvbnRhaW5lciwgQ2x1dHRlci5T Y3JpcHRhYmxlIHsKLSsJCXB1YmxpYyB1aW50MzIgZmxhZ3M7Ci0rCQlbQ0NvZGUgKGhhc19jb25z dHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQot KwkJcHVibGljIEFjdG9yICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVi bGljIHZvaWQgYWRkX2FjdGlvbiAoQ2x1dHRlci5BY3Rpb24gYWN0aW9uKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIGFkZF9hY3Rpb25fd2l0aF9uYW1lIChz dHJpbmcgbmFtZSwgQ2x1dHRlci5BY3Rpb24gYWN0aW9uKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBhZGRfY2hpbGQgKENsdXR0ZXIuQWN0b3IgY2hpbGQp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgYWRkX2NvbnN0 cmFpbnQgKENsdXR0ZXIuQ29uc3RyYWludCBjb25zdHJhaW50KTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIGFkZF9jb25zdHJhaW50X3dpdGhfbmFtZSAoc3Ry aW5nIG5hbWUsIENsdXR0ZXIuQ29uc3RyYWludCBjb25zdHJhaW50KTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIGFkZF9lZmZlY3QgKENsdXR0ZXIuRWZmZWN0 IGVmZmVjdCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBh ZGRfZWZmZWN0X3dpdGhfbmFtZSAoc3RyaW5nIG5hbWUsIENsdXR0ZXIuRWZmZWN0IGVmZmVjdCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgYWRkX3RyYW5z aXRpb24gKHN0cmluZyBuYW1lLCBDbHV0dGVyLlRyYW5zaXRpb24gdHJhbnNpdGlvbik7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGFsbG9jYXRl IChDbHV0dGVyLkFjdG9yQm94IGJveCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0r CQlwdWJsaWMgdm9pZCBhbGxvY2F0ZV9hbGlnbl9maWxsIChDbHV0dGVyLkFjdG9yQm94IGJveCwg ZG91YmxlIHhfYWxpZ24sIGRvdWJsZSB5X2FsaWduLCBib29sIHhfZmlsbCwgYm9vbCB5X2ZpbGwp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIHZvaWQgYWxsb2NhdGVf YXZhaWxhYmxlX3NpemUgKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IGF2YWlsYWJsZV93aWR0aCwg ZmxvYXQgYXZhaWxhYmxlX2hlaWdodCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0r CQlwdWJsaWMgdm9pZCBhbGxvY2F0ZV9wcmVmZXJyZWRfc2l6ZSAoZmxvYXQgeCwgZmxvYXQgeSk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQz RCBhcHBseV9yZWxhdGl2ZV90cmFuc2Zvcm1fdG9fcG9pbnQgKENsdXR0ZXIuQWN0b3I/IGFuY2Vz dG9yLCBHcmFwaGVuZS5Qb2ludDNEIHBvaW50KTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMg dmlydHVhbCB2b2lkIGFwcGx5X3RyYW5zZm9ybSAocmVmIEdyYXBoZW5lLk1hdHJpeCBtYXRyaXgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQotKwkJcHVibGljIEdyYXBoZW5lLlBvaW50 M0QgYXBwbHlfdHJhbnNmb3JtX3RvX3BvaW50IChHcmFwaGVuZS5Qb2ludDNEIHBvaW50KTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjI0IildCi0rCQlwdWJsaWMgdm9pZCBiaW5kX21vZGVsIChH TGliLkxpc3RNb2RlbD8gbW9kZWwsIG93bmVkIENsdXR0ZXIuQWN0b3JDcmVhdGVDaGlsZEZ1bmMg Y3JlYXRlX2NoaWxkX2Z1bmMpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIGZs b2F0IGNhbGN1bGF0ZV9yZXNvdXJjZV9zY2FsZSAoaW50IHBoYXNlKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIGNsZWFyX2FjdGlvbnMgKCk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBjbGVhcl9jb25zdHJhaW50cyAo KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIGNsZWFyX2Vm ZmVjdHMgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgYm9vbCBj b250YWlucyAoQ2x1dHRlci5BY3RvciBkZXNjZW5kYW50KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lkIGNvbnRpbnVlX3BhaW50IChDbHV0dGVyLlBhaW50Q29u dGV4dCBwYWludF9jb250ZXh0KTsKLSsJCXB1YmxpYyB2b2lkIGNvbnRpbnVlX3BpY2sgKENsdXR0 ZXIuUGlja0NvbnRleHQgcGlja19jb250ZXh0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAi KV0KLSsJCXB1YmxpYyBQYW5nby5Db250ZXh0IGNyZWF0ZV9wYW5nb19jb250ZXh0ICgpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIFBhbmdvLkxheW91dCBjcmVhdGVf cGFuZ29fbGF5b3V0IChzdHJpbmc/IHRleHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KLSsJCXB1YmxpYyB2b2lkIGRlc3Ryb3lfYWxsX2NoaWxkcmVuICgpOwotKwkJW0NDb2RlIChj bmFtZSA9ICJjbHV0dGVyX2FjdG9yX2V2ZW50IildCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42 IildCi0rCQlwdWJsaWMgYm9vbCBlbWl0X2V2ZW50IChDbHV0dGVyLkV2ZW50IGV2ZW50LCBib29s IGNhcHR1cmUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQotKwkJcHVibGljIHZvaWQg Z2V0X2Fic19hbGxvY2F0aW9uX3ZlcnRpY2VzIChbQ0NvZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNl KV0gR3JhcGhlbmUuUG9pbnQzRCB2ZXJ0c1s0XSk7Ci0rCQlwdWJsaWMgdmlydHVhbCB1bm93bmVk IEF0ay5PYmplY3QgZ2V0X2FjY2Vzc2libGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40 IildCi0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdGlvbiBnZXRfYWN0aW9uIChzdHJpbmcg bmFtZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgR0xpYi5MaXN0 PHdlYWsgQ2x1dHRlci5BY3Rpb24+IGdldF9hY3Rpb25zICgpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjAuOCIpXQotKwkJcHVibGljIENsdXR0ZXIuQWN0b3JCb3ggZ2V0X2FsbG9jYXRpb25fYm94 ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkNv bG9yIGdldF9iYWNrZ3JvdW5kX2NvbG9yICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2NoaWxkX2F0X2luZGV4IChp bnQgaW5kZXhfKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgR3Jh cGhlbmUuTWF0cml4IGdldF9jaGlsZF90cmFuc2Zvcm0gKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xMCIpXQotKwkJcHVibGljIEdMaWIuTGlzdDx3ZWFrIENsdXR0ZXIuQWN0b3I+IGdldF9j aGlsZHJlbiAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2b2lk IGdldF9jbGlwIChvdXQgZmxvYXQgeG9mZiwgb3V0IGZsb2F0IHlvZmYsIG91dCBmbG9hdCB3aWR0 aCwgb3V0IGZsb2F0IGhlaWdodCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlw dWJsaWMgYm9vbCBnZXRfY2xpcF90b19hbGxvY2F0aW9uICgpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNCIpXQotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5Db25zdHJhaW50IGdldF9jb25z dHJhaW50IChzdHJpbmcgbmFtZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlw dWJsaWMgR0xpYi5MaXN0PHdlYWsgQ2x1dHRlci5Db25zdHJhaW50PiBnZXRfY29uc3RyYWludHMg KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHVub3duZWQgQ2x1 dHRlci5Db250ZW50IGdldF9jb250ZW50ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KLSsJCXB1YmxpYyBDbHV0dGVyLkFjdG9yQm94IGdldF9jb250ZW50X2JveCAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgQ2x1dHRlci5Db250ZW50R3Jhdml0 eSBnZXRfY29udGVudF9ncmF2aXR5ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0K LSsJCXB1YmxpYyBDbHV0dGVyLkNvbnRlbnRSZXBlYXQgZ2V0X2NvbnRlbnRfcmVwZWF0ICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF9jb250ZW50 X3NjYWxpbmdfZmlsdGVycyAob3V0IENsdXR0ZXIuU2NhbGluZ0ZpbHRlciBtaW5fZmlsdGVyLCBv dXQgQ2x1dHRlci5TY2FsaW5nRmlsdGVyIG1hZ19maWx0ZXIpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuUGFpbnRWb2x1bWU/IGdldF9k ZWZhdWx0X3BhaW50X3ZvbHVtZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0r CQlwdWJsaWMgdWludCBnZXRfZWFzaW5nX2RlbGF5ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTAiKV0KLSsJCXB1YmxpYyB1aW50IGdldF9lYXNpbmdfZHVyYXRpb24gKCk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIENsdXR0ZXIuQW5pbWF0aW9uTW9kZSBn ZXRfZWFzaW5nX21vZGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJs aWMgdW5vd25lZCBDbHV0dGVyLkVmZmVjdCBnZXRfZWZmZWN0IChzdHJpbmcgbmFtZSk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgR0xpYi5MaXN0PHdlYWsgQ2x1dHRl ci5FZmZlY3Q+IGdldF9lZmZlY3RzICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K LSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2ZpcnN0X2NoaWxkICgpOwotKwkJ cHVibGljIGJvb2wgZ2V0X2ZpeGVkX3Bvc2l0aW9uIChvdXQgZmxvYXQgeCwgb3V0IGZsb2F0IHkp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIGJvb2wgZ2V0X2ZpeGVk X3Bvc2l0aW9uX3NldCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1Ymxp YyBDbHV0dGVyLkFjdG9yRmxhZ3MgZ2V0X2ZsYWdzICgpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJj bHV0dGVyX2FjdG9yX2hhc19wb2ludGVyIildCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIild Ci0rCQlwdWJsaWMgYm9vbCBnZXRfaGFzX3BvaW50ZXIgKCk7Ci0rCQlwdWJsaWMgZmxvYXQgZ2V0 X2hlaWdodCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdW5v d25lZCBDbHV0dGVyLkFjdG9yIGdldF9sYXN0X2NoaWxkICgpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuTGF5b3V0TWFuYWdlciBnZXRf bGF5b3V0X21hbmFnZXIgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVi bGljIENsdXR0ZXIuTWFyZ2luIGdldF9tYXJnaW4gKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQotKwkJcHVibGljIGZsb2F0IGdldF9tYXJnaW5fYm90dG9tICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfbWFyZ2luX2xlZnQgKCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGZsb2F0IGdldF9tYXJn aW5fcmlnaHQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGZs b2F0IGdldF9tYXJnaW5fdG9wICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJ CXB1YmxpYyBpbnQgZ2V0X25fY2hpbGRyZW4gKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcg Z2V0X25hbWUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHVu b3duZWQgQ2x1dHRlci5BY3RvciBnZXRfbmV4dF9zaWJsaW5nICgpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuOCIpXQotKwkJcHVibGljIENsdXR0ZXIuT2Zmc2NyZWVuUmVkaXJlY3QgZ2V0X29m ZnNjcmVlbl9yZWRpcmVjdCAoKTsKLSsJCXB1YmxpYyB1aW50OCBnZXRfb3BhY2l0eSAoKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjIyIildCi0rCQlwdWJsaWMgaW50IGdldF9vcGFjaXR5X292 ZXJyaWRlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIGJvb2wg Z2V0X3BhaW50X2JveCAob3V0IENsdXR0ZXIuQWN0b3JCb3ggYm94KTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyB1aW50OCBnZXRfcGFpbnRfb3BhY2l0eSAoKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBib29sIGdldF9wYWludF92aXNp YmlsaXR5ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIHVub3du ZWQgQ2x1dHRlci5QYWludFZvbHVtZT8gZ2V0X3BhaW50X3ZvbHVtZSAoKTsKLSsJCVtDQ29kZSAo dmZ1bmNfbmFtZSA9ICJnZXRfcGFpbnRfdm9sdW1lIildCi0rCQlbTm9XcmFwcGVyXQotKwkJcHVi bGljIHZpcnR1YWwgYm9vbCBnZXRfcGFpbnRfdm9sdW1lX3ZmdW5jIChvdXQgQ2x1dHRlci5QYWlu dFZvbHVtZSB2b2x1bWUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGlj IHVub3duZWQgUGFuZ28uQ29udGV4dCBnZXRfcGFuZ29fY29udGV4dCAoKTsKLSsJCXB1YmxpYyB1 bm93bmVkIENsdXR0ZXIuQWN0b3I/IGdldF9wYXJlbnQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xMiIpXQotKwkJcHVibGljIHZvaWQgZ2V0X3Bpdm90X3BvaW50IChvdXQgZmxvYXQgcGl2 b3RfeCwgb3V0IGZsb2F0IHBpdm90X3kpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0K LSsJCXB1YmxpYyBmbG9hdCBnZXRfcGl2b3RfcG9pbnRfeiAoKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF9wb3NpdGlvbiAob3V0IGZsb2F0IHgsIG91 dCBmbG9hdCB5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyB2aXJ0 dWFsIHZvaWQgZ2V0X3ByZWZlcnJlZF9oZWlnaHQgKGZsb2F0IGZvcl93aWR0aCwgb3V0IGZsb2F0 IG1pbl9oZWlnaHRfcCwgb3V0IGZsb2F0IG5hdHVyYWxfaGVpZ2h0X3ApOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHZvaWQgZ2V0X3ByZWZlcnJlZF9zaXplIChvdXQg ZmxvYXQgbWluX3dpZHRoX3AsIG91dCBmbG9hdCBtaW5faGVpZ2h0X3AsIG91dCBmbG9hdCBuYXR1 cmFsX3dpZHRoX3AsIG91dCBmbG9hdCBuYXR1cmFsX2hlaWdodF9wKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZ2V0X3ByZWZlcnJlZF93aWR0 aCAoZmxvYXQgZm9yX2hlaWdodCwgb3V0IGZsb2F0IG1pbl93aWR0aF9wLCBvdXQgZmxvYXQgbmF0 dXJhbF93aWR0aF9wKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMg dW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9wcmV2aW91c19zaWJsaW5nICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIGJvb2wgZ2V0X3JlYWN0aXZlICgpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIENsdXR0ZXIuUmVxdWVzdE1vZGUg Z2V0X3JlcXVlc3RfbW9kZSAoKTsKLSsJCXB1YmxpYyBmbG9hdCBnZXRfcmVzb3VyY2Vfc2NhbGUg KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGRvdWJsZSBnZXRf cm90YXRpb25fYW5nbGUgKENsdXR0ZXIuUm90YXRlQXhpcyBheGlzKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjIiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF9zY2FsZSAob3V0IGRvdWJsZSBzY2Fs ZV94LCBvdXQgZG91YmxlIHNjYWxlX3kpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0K LSsJCXB1YmxpYyBkb3VibGUgZ2V0X3NjYWxlX3ogKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MC4yIildCi0rCQlwdWJsaWMgdm9pZCBnZXRfc2l6ZSAob3V0IGZsb2F0IHdpZHRoLCBvdXQgZmxv YXQgaGVpZ2h0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyB1bm93 bmVkIENsdXR0ZXIuU3RhZ2UgZ2V0X3N0YWdlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MiIpXQotKwkJcHVibGljIENsdXR0ZXIuVGV4dERpcmVjdGlvbiBnZXRfdGV4dF9kaXJlY3Rpb24g KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIEdyYXBoZW5lLk1h dHJpeCBnZXRfdHJhbnNmb3JtICgpOwotKwkJcHVibGljIEdyYXBoZW5lLlJlY3QgZ2V0X3RyYW5z Zm9ybWVkX2V4dGVudHMgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlwdWJs aWMgdW5vd25lZCBDbHV0dGVyLlBhaW50Vm9sdW1lPyBnZXRfdHJhbnNmb3JtZWRfcGFpbnRfdm9s dW1lIChDbHV0dGVyLkFjdG9yIHJlbGF0aXZlX3RvX2FuY2VzdG9yKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF90cmFuc2Zvcm1lZF9wb3NpdGlvbiAo b3V0IGZsb2F0IHgsIG91dCBmbG9hdCB5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0K LSsJCXB1YmxpYyB2b2lkIGdldF90cmFuc2Zvcm1lZF9zaXplIChvdXQgZmxvYXQgd2lkdGgsIG91 dCBmbG9hdCBoZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1Ymxp YyB1bm93bmVkIENsdXR0ZXIuVHJhbnNpdGlvbiBnZXRfdHJhbnNpdGlvbiAoc3RyaW5nIG5hbWUp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF90cmFu c2xhdGlvbiAob3V0IGZsb2F0IHRyYW5zbGF0ZV94LCBvdXQgZmxvYXQgdHJhbnNsYXRlX3ksIG91 dCBmbG9hdCB0cmFuc2xhdGVfeik7Ci0rCQlwdWJsaWMgZmxvYXQgZ2V0X3dpZHRoICgpOwotKwkJ cHVibGljIGZsb2F0IGdldF94ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJ CXB1YmxpYyBDbHV0dGVyLkFjdG9yQWxpZ24gZ2V0X3hfYWxpZ24gKCk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGJvb2wgZ2V0X3hfZXhwYW5kICgpOwotKwkJcHVi bGljIGZsb2F0IGdldF95ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1 YmxpYyBDbHV0dGVyLkFjdG9yQWxpZ24gZ2V0X3lfYWxpZ24gKCk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGJvb2wgZ2V0X3lfZXhwYW5kICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBmbG9hdCBnZXRfel9wb3NpdGlvbiAoKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB2b2lkIGdyYWJfa2V5X2Zv Y3VzICgpOwotKwkJcHVibGljIHZpcnR1YWwgYm9vbCBoYXNfYWNjZXNzaWJsZSAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgYm9vbCBoYXNfYWN0aW9ucyAoKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyBib29sIGhhc19hbGxvY2F0 aW9uICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBib29sIGhh c19jb25zdHJhaW50cyAoKTsKLSsJCXB1YmxpYyBib29sIGhhc19kYW1hZ2UgKCk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGJvb2wgaGFzX2VmZmVjdHMgKCk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgYm9vbCBoYXNfa2V5X2ZvY3Vz ICgpOwotKwkJcHVibGljIGJvb2wgaGFzX21hcHBlZF9jbG9uZXMgKCk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgdmlydHVhbCBib29sIGhhc19vdmVybGFwcyAoKTsK LSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGhpZGVfYWxsICgpOwotKwkJ cHVibGljIHZvaWQgaW5oaWJpdF9jdWxsaW5nICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KLSsJCXB1YmxpYyB2b2lkIGluc2VydF9jaGlsZF9hYm92ZSAoQ2x1dHRlci5BY3RvciBj aGlsZCwgQ2x1dHRlci5BY3Rvcj8gc2libGluZyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MCIpXQotKwkJcHVibGljIHZvaWQgaW5zZXJ0X2NoaWxkX2F0X2luZGV4IChDbHV0dGVyLkFjdG9y IGNoaWxkLCBpbnQgaW5kZXhfKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlw dWJsaWMgdm9pZCBpbnNlcnRfY2hpbGRfYmVsb3cgKENsdXR0ZXIuQWN0b3IgY2hpbGQsIENsdXR0 ZXIuQWN0b3I/IHNpYmxpbmcpOwotKwkJcHVibGljIHZvaWQgaW52YWxpZGF0ZV90cmFuc2Zvcm0g KCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19lZmZlY3RpdmVseV9vbl9zdGFnZV92aWV3IChDbHV0dGVy LlN0YWdlVmlldyB2aWV3KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1Ymxp YyBib29sIGlzX2luX2Nsb25lX3BhaW50ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjQi KV0KLSsJCXB1YmxpYyBib29sIGlzX21hcHBlZCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjI0IildCi0rCQlwdWJsaWMgYm9vbCBpc19yZWFsaXplZCAoKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyBib29sIGlzX3JvdGF0ZWQgKCk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgYm9vbCBpc19zY2FsZWQgKCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS4yNCIpXQotKwkJcHVibGljIGJvb2wgaXNfdmlzaWJsZSAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgbWFwICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQotKwkJcHVibGljIHZvaWQgbW92ZV9ieSAoZmxv YXQgZHgsIGZsb2F0IGR5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJs aWMgYm9vbCBuZWVkc19leHBhbmQgKENsdXR0ZXIuT3JpZW50YXRpb24gb3JpZW50YXRpb24pOwot KwkJcHVibGljIHZpcnR1YWwgdm9pZCBwYWludCAoQ2x1dHRlci5QYWludENvbnRleHQgcGFpbnRf Y29udGV4dCk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBwYWludF9u b2RlIChDbHV0dGVyLlBhaW50Tm9kZSByb290KTsKLSsJCXB1YmxpYyB1bm93bmVkIEdMaWIuTGlz dDxDbHV0dGVyLlN0YWdlVmlldz4gcGVla19zdGFnZV92aWV3cyAoKTsKLSsJCXB1YmxpYyB2b2lk IHBpY2tfYm94IChDbHV0dGVyLlBpY2tDb250ZXh0IHBpY2tfY29udGV4dCwgQ2x1dHRlci5BY3Rv ckJveCBib3gpOwotKwkJcHVibGljIHZvaWQgcXVldWVfcmVkcmF3ICgpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHF1ZXVlX3JlZHJhd193aXRoX2NsaXAg KENhaXJvLlJlY3RhbmdsZUludD8gY2xpcCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40Iild Ci0rCQlwdWJsaWMgdm9pZCByZW1vdmVfYWN0aW9uIChDbHV0dGVyLkFjdGlvbiBhY3Rpb24pOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgcmVtb3ZlX2FjdGlv bl9ieV9uYW1lIChzdHJpbmcgbmFtZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQot KwkJcHVibGljIHZvaWQgcmVtb3ZlX2FsbF9jaGlsZHJlbiAoKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCByZW1vdmVfYWxsX3RyYW5zaXRpb25zICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHJlbW92ZV9jaGls ZCAoQ2x1dHRlci5BY3RvciBjaGlsZCk7Ci0rCQlwdWJsaWMgdm9pZCByZW1vdmVfY2xpcCAoKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHJlbW92ZV9jb25z dHJhaW50IChDbHV0dGVyLkNvbnN0cmFpbnQgY29uc3RyYWludCk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCByZW1vdmVfY29uc3RyYWludF9ieV9uYW1lIChz dHJpbmcgbmFtZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9p ZCByZW1vdmVfZWZmZWN0IChDbHV0dGVyLkVmZmVjdCBlZmZlY3QpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgcmVtb3ZlX2VmZmVjdF9ieV9uYW1lIChzdHJp bmcgbmFtZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQg cmVtb3ZlX3RyYW5zaXRpb24gKHN0cmluZyBuYW1lKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEwIildCi0rCQlwdWJsaWMgdm9pZCByZXBsYWNlX2NoaWxkIChDbHV0dGVyLkFjdG9yIG9sZF9j aGlsZCwgQ2x1dHRlci5BY3RvciBuZXdfY2hpbGQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KLSsJCXB1YmxpYyB2b2lkIHJlc3RvcmVfZWFzaW5nX3N0YXRlICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNhdmVfZWFzaW5nX3N0YXRlICgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9hbGxv Y2F0aW9uIChDbHV0dGVyLkFjdG9yQm94IGJveCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2JhY2tncm91bmRfY29sb3IgKENsdXR0ZXIuQ29sb3I/ IGNvbG9yKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBz ZXRfY2hpbGRfYWJvdmVfc2libGluZyAoQ2x1dHRlci5BY3RvciBjaGlsZCwgQ2x1dHRlci5BY3Rv cj8gc2libGluZyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZv aWQgc2V0X2NoaWxkX2F0X2luZGV4IChDbHV0dGVyLkFjdG9yIGNoaWxkLCBpbnQgaW5kZXhfKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfY2hpbGRf YmVsb3dfc2libGluZyAoQ2x1dHRlci5BY3RvciBjaGlsZCwgQ2x1dHRlci5BY3Rvcj8gc2libGlu Zyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIHZvaWQgc2V0X2No aWxkX3RyYW5zZm9ybSAoR3JhcGhlbmUuTWF0cml4PyB0cmFuc2Zvcm0pOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIHZvaWQgc2V0X2NsaXAgKGZsb2F0IHhvZmYsIGZs b2F0IHlvZmYsIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2NsaXBfdG9fYWxsb2NhdGlvbiAoYm9vbCBj bGlwX3NldCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQg c2V0X2NvbnRlbnQgKENsdXR0ZXIuQ29udGVudD8gY29udGVudCk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2NvbnRlbnRfZ3Jhdml0eSAoQ2x1dHRl ci5Db250ZW50R3Jhdml0eSBncmF2aXR5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIild Ci0rCQlwdWJsaWMgdm9pZCBzZXRfY29udGVudF9yZXBlYXQgKENsdXR0ZXIuQ29udGVudFJlcGVh dCByZXBlYXQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lk IHNldF9jb250ZW50X3NjYWxpbmdfZmlsdGVycyAoQ2x1dHRlci5TY2FsaW5nRmlsdGVyIG1pbl9m aWx0ZXIsIENsdXR0ZXIuU2NhbGluZ0ZpbHRlciBtYWdfZmlsdGVyKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfZWFzaW5nX2RlbGF5ICh1aW50IG1z ZWNzKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRf ZWFzaW5nX2R1cmF0aW9uICh1aW50IG1zZWNzKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEw IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfZWFzaW5nX21vZGUgKENsdXR0ZXIuQW5pbWF0aW9uTW9k ZSBtb2RlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyB2b2lkIHNl dF9maXhlZF9wb3NpdGlvbl9zZXQgKGJvb2wgaXNfc2V0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9mbGFncyAoQ2x1dHRlci5BY3RvckZsYWdzIGZs YWdzKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9o ZWlnaHQgKGZsb2F0IGhlaWdodCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJ cHVibGljIHZvaWQgc2V0X2xheW91dF9tYW5hZ2VyIChDbHV0dGVyLkxheW91dE1hbmFnZXI/IG1h bmFnZXIpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNl dF9tYXJnaW4gKENsdXR0ZXIuTWFyZ2luIG1hcmdpbik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X21hcmdpbl9ib3R0b20gKGZsb2F0IG1hcmdpbik7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X21hcmdp bl9sZWZ0IChmbG9hdCBtYXJnaW4pOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJ CXB1YmxpYyB2b2lkIHNldF9tYXJnaW5fcmlnaHQgKGZsb2F0IG1hcmdpbik7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X21hcmdpbl90b3AgKGZsb2F0 IG1hcmdpbik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfbmFtZSAoc3RyaW5nIG5hbWUpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQgc2V0X29mZnNjcmVlbl9yZWRp cmVjdCAoQ2x1dHRlci5PZmZzY3JlZW5SZWRpcmVjdCByZWRpcmVjdCk7Ci0rCQlwdWJsaWMgdm9p ZCBzZXRfb3BhY2l0eSAodWludDggb3BhY2l0eSk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfb3BhY2l0 eV9vdmVycmlkZSAoaW50IG9wYWNpdHkpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0K LSsJCXB1YmxpYyB2b2lkIHNldF9waXZvdF9wb2ludCAoZmxvYXQgcGl2b3RfeCwgZmxvYXQgcGl2 b3RfeSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIHZvaWQgc2V0 X3Bpdm90X3BvaW50X3ogKGZsb2F0IHBpdm90X3opOwotKwkJcHVibGljIHZvaWQgc2V0X3Bvc2l0 aW9uIChmbG9hdCB4LCBmbG9hdCB5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJ CXB1YmxpYyB2b2lkIHNldF9yZWFjdGl2ZSAoYm9vbCByZWFjdGl2ZSk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4yIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfcmVxdWVzdF9tb2RlIChDbHV0dGVy LlJlcXVlc3RNb2RlIG1vZGUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1 YmxpYyB2b2lkIHNldF9yb3RhdGlvbl9hbmdsZSAoQ2x1dHRlci5Sb3RhdGVBeGlzIGF4aXMsIGRv dWJsZSBhbmdsZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCi0rCQlwdWJsaWMgdm9p ZCBzZXRfc2NhbGUgKGRvdWJsZSBzY2FsZV94LCBkb3VibGUgc2NhbGVfeSk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIHZvaWQgc2V0X3NjYWxlX3ogKGRvdWJsZSBz Y2FsZV96KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9zaXplIChmbG9hdCB3aWR0aCwgZmxvYXQgaGVp Z2h0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF90 ZXh0X2RpcmVjdGlvbiAoQ2x1dHRlci5UZXh0RGlyZWN0aW9uIHRleHRfZGlyKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfdHJhbnNmb3JtIChHcmFw aGVuZS5NYXRyaXg/IHRyYW5zZm9ybSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQot KwkJcHVibGljIHZvaWQgc2V0X3RyYW5zbGF0aW9uIChmbG9hdCB0cmFuc2xhdGVfeCwgZmxvYXQg dHJhbnNsYXRlX3ksIGZsb2F0IHRyYW5zbGF0ZV96KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIw LjIiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF93aWR0aCAoZmxvYXQgd2lkdGgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIHZvaWQgc2V0X3ggKGZsb2F0IHgpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF94X2FsaWduIChD bHV0dGVyLkFjdG9yQWxpZ24geF9hbGlnbik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIp XQotKwkJcHVibGljIHZvaWQgc2V0X3hfZXhwYW5kIChib29sIGV4cGFuZCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfeSAoZmxvYXQgeSk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3lfYWxpZ24gKENs dXR0ZXIuQWN0b3JBbGlnbiB5X2FsaWduKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIild Ci0rCQlwdWJsaWMgdm9pZCBzZXRfeV9leHBhbmQgKGJvb2wgZXhwYW5kKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfel9wb3NpdGlvbiAoZmxvYXQg el9wb3NpdGlvbik7Ci0rCQlwdWJsaWMgYm9vbCBzaG91bGRfcGljayAoQ2x1dHRlci5QaWNrQ29u dGV4dCBwaWNrX2NvbnRleHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVi bGljIGJvb2wgdHJhbnNmb3JtX3N0YWdlX3BvaW50IChmbG9hdCB4LCBmbG9hdCB5LCBvdXQgZmxv YXQgeF9vdXQsIG91dCBmbG9hdCB5X291dCk7Ci0rCQlwdWJsaWMgdm9pZCB1bmluaGliaXRfY3Vs bGluZyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB2aXJ0dWFs IHZvaWQgdW5tYXAgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMg dm9pZCB1bnNldF9mbGFncyAoQ2x1dHRlci5BY3RvckZsYWdzIGZsYWdzKTsKLSsJCVtOb0FjY2Vz c29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIENsdXR0 ZXIuQWN0aW9uIGFjdGlvbnMgeyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIENsdXR0ZXIuQWN0b3JCb3ggYWxsb2Nh dGlvbiB7IG93bmVkIGdldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1 YmxpYyBDbHV0dGVyLkNvbG9yIGJhY2tncm91bmRfY29sb3IgeyBnZXQ7IHNldDsgfQotKwkJW05v QWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGlj IGJvb2wgYmFja2dyb3VuZF9jb2xvcl9zZXQgeyBnZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEyIildCi0rCQlwdWJsaWMgR3JhcGhlbmUuTWF0cml4IGNoaWxkX3RyYW5zZm9ybSB7IGdl dDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEyIildCi0rCQlwdWJsaWMgYm9vbCBjaGlsZF90cmFuc2Zvcm1fc2V0IHsgZ2V0OyB9Ci0rCQlb Tm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJs aWMgR3JhcGhlbmUuUmVjdCBjbGlwX3JlY3QgeyBvd25lZCBnZXQ7IHNldDsgfQotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIGJvb2wgY2xpcF90b19hbGxvY2F0aW9uIHsg Z2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuNCIpXQotKwkJcHVibGljIENsdXR0ZXIuQ29uc3RyYWludCBjb25zdHJhaW50cyB7IHNldDsg fQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkNvbnRl bnQgY29udGVudCB7IGdldDsgc2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQot KwkJcHVibGljIENsdXR0ZXIuQWN0b3JCb3ggY29udGVudF9ib3ggeyBnZXQ7IH0KLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgQ2x1dHRlci5Db250ZW50R3Jhdml0eSBj b250ZW50X2dyYXZpdHkgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIi KV0KLSsJCXB1YmxpYyBDbHV0dGVyLkNvbnRlbnRSZXBlYXQgY29udGVudF9yZXBlYXQgeyBnZXQ7 IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40 IildCi0rCQlwdWJsaWMgQ2x1dHRlci5FZmZlY3QgZWZmZWN0IHsgc2V0OyB9Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIENsdXR0ZXIuQWN0b3IgZmlyc3RfY2hpbGQg eyBnZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBib29sIGZp eGVkX3Bvc2l0aW9uX3NldCB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBmbG9hdCBmaXhlZF94IHsgZ2V0 OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAu OCIpXQotKwkJcHVibGljIGZsb2F0IGZpeGVkX3kgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNz b3JNZXRob2RdCi0rCQlwdWJsaWMgYm9vbCBoYXNfY2xpcCB7IGdldDsgfQotKwkJW05vQWNjZXNz b3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCi0rCQlwdWJsaWMgYm9vbCBo YXNfcG9pbnRlciB7IGdldDsgfQotKwkJcHVibGljIGZsb2F0IGhlaWdodCB7IGdldDsgc2V0OyB9 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIENsdXR0ZXIuQWN0b3Ig bGFzdF9jaGlsZCB7IGdldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1 YmxpYyBDbHV0dGVyLkxheW91dE1hbmFnZXIgbGF5b3V0X21hbmFnZXIgeyBnZXQ7IHNldDsgfQot KwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgQ2x1dHRlci5TY2FsaW5nRmlsdGVyIG1h Z25pZmljYXRpb25fZmlsdGVyIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIGJvb2wgbWFwcGVkIHsgZ2V0 OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGZsb2F0IG1hcmdp bl9ib3R0b20geyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJ CXB1YmxpYyBmbG9hdCBtYXJnaW5fbGVmdCB7IGdldDsgc2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGZsb2F0IG1hcmdpbl9yaWdodCB7IGdldDsgc2V0OyB9 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGZsb2F0IG1hcmdpbl90 b3AgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMC44IildCi0rCQlwdWJsaWMgZmxvYXQgbWluX2hlaWdodCB7IGdldDsgc2V0OyB9Ci0r CQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1 YmxpYyBib29sIG1pbl9oZWlnaHRfc2V0IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0 aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIGZsb2F0IG1pbl93 aWR0aCB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBib29sIG1pbl93aWR0aF9zZXQgeyBnZXQ7IHNldDsg fQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgQ2x1dHRlci5TY2FsaW5nRmlsdGVy IG1pbmlmaWNhdGlvbl9maWx0ZXIgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjAuMiIpXQotKwkJcHVibGljIHN0cmluZyBuYW1lIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vz c29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIGZsb2F0 IG5hdHVyYWxfaGVpZ2h0IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIGJvb2wgbmF0dXJhbF9oZWlnaHRf c2V0IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjAuOCIpXQotKwkJcHVibGljIGZsb2F0IG5hdHVyYWxfd2lkdGggeyBnZXQ7IHNldDsg fQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0r CQlwdWJsaWMgYm9vbCBuYXR1cmFsX3dpZHRoX3NldCB7IGdldDsgc2V0OyB9Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgQ2x1dHRlci5PZmZzY3JlZW5SZWRpcmVjdCBv ZmZzY3JlZW5fcmVkaXJlY3QgeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIHVpbnQgb3BhY2l0eSB7 IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEyIildCi0rCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQgcGl2b3RfcG9pbnQgeyBvd25lZCBn ZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBmbG9h dCBwaXZvdF9wb2ludF96IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBHcmFwaGVuZS5Qb2ludCBwb3Np dGlvbiB7IG93bmVkIGdldDsgc2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0r CQlwdWJsaWMgYm9vbCByZWFjdGl2ZSB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhv ZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBib29sIHJlYWxpemVk IHsgZ2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgQ2x1dHRl ci5SZXF1ZXN0TW9kZSByZXF1ZXN0X21vZGUgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JN ZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgZG91YmxlIHJv dGF0aW9uX2FuZ2xlX3ggeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgZG91YmxlIHJvdGF0aW9uX2FuZ2xl X3kgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMC42IildCi0rCQlwdWJsaWMgZG91YmxlIHJvdGF0aW9uX2FuZ2xlX3ogeyBnZXQ7IHNl dDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42Iild Ci0rCQlwdWJsaWMgZG91YmxlIHNjYWxlX3ggeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JN ZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgZG91YmxlIHNj YWxlX3kgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1 YmxpYyBkb3VibGUgc2NhbGVfeiB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0K LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBib29sIHNob3dfb25fc2V0 X3BhcmVudCB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgR3JhcGhlbmUuU2l6ZSBzaXplIHsgb3duZWQg Z2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBDbHV0 dGVyLlRleHREaXJlY3Rpb24gdGV4dF9kaXJlY3Rpb24geyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBHcmFwaGVuZS5NYXRyaXggdHJhbnNmb3Jt IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBib29sIHRyYW5zZm9ybV9zZXQgeyBnZXQ7IH0KLSsJCVtO b0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1Ymxp YyBmbG9hdCB0cmFuc2xhdGlvbl94IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9k XQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBmbG9hdCB0cmFuc2xh dGlvbl95IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBmbG9hdCB0cmFuc2xhdGlvbl96IHsgZ2V0OyBz ZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGJvb2wgdmlzaWJsZSB7IGdl dDsgc2V0OyB9Ci0rCQlwdWJsaWMgZmxvYXQgd2lkdGggeyBnZXQ7IHNldDsgfQotKwkJcHVibGlj IGZsb2F0IHggeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJ CXB1YmxpYyBDbHV0dGVyLkFjdG9yQWxpZ24geF9hbGlnbiB7IGdldDsgc2V0OyB9Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGJvb2wgeF9leHBhbmQgeyBnZXQ7IHNl dDsgfQotKwkJcHVibGljIGZsb2F0IHkgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkFjdG9yQWxpZ24geV9hbGlnbiB7IGdldDsg c2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGJvb2wgeV9l eHBhbmQgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1 YmxpYyBmbG9hdCB6X3Bvc2l0aW9uIHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIwLjYiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCBib29sIGJ1dHRvbl9wcmVzc19ldmVu dCAoQ2x1dHRlci5CdXR0b25FdmVudCBldmVudCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42 IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCBidXR0b25fcmVsZWFzZV9ldmVudCAo Q2x1dHRlci5CdXR0b25FdmVudCBldmVudCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42Iild Ci0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCBjYXB0dXJlZF9ldmVudCAoQ2x1dHRlci5F dmVudCBldmVudCk7Ci0rCQlbSGFzRW1pdHRlcl0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIi KV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGRlc3Ryb3kgKCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCBlbnRlcl9l dmVudCAoQ2x1dHRlci5Dcm9zc2luZ0V2ZW50IGV2ZW50KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIwLjYiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCBib29sIGV2ZW50IChDbHV0dGVyLkV2 ZW50IGV2ZW50KTsKLSsJCVtIYXNFbWl0dGVyXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIp XQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgaGlkZSAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGtleV9mb2N1c19p biAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNp Z25hbCB2b2lkIGtleV9mb2N1c19vdXQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42Iild Ci0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCBrZXlfcHJlc3NfZXZlbnQgKENsdXR0ZXIu S2V5RXZlbnQgZXZlbnQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGlj IHZpcnR1YWwgc2lnbmFsIGJvb2wga2V5X3JlbGVhc2VfZXZlbnQgKENsdXR0ZXIuS2V5RXZlbnQg ZXZlbnQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIHZpcnR1YWwg c2lnbmFsIGJvb2wgbGVhdmVfZXZlbnQgKENsdXR0ZXIuQ3Jvc3NpbmdFdmVudCBldmVudCk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9v bCBtb3Rpb25fZXZlbnQgKENsdXR0ZXIuTW90aW9uRXZlbnQgZXZlbnQpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjAuMiIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgcGFyZW50X3Nl dCAoQ2x1dHRlci5BY3Rvcj8gb2xkX3BhcmVudCk7Ci0rCQlbSGFzRW1pdHRlcl0KLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIHBpY2sg KENsdXR0ZXIuUGlja0NvbnRleHQgcGlja19jb250ZXh0KTsKLSsJCVtIYXNFbWl0dGVyXQotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQg cXVldWVfcmVsYXlvdXQgKCk7Ci0rCQlbSGFzRW1pdHRlcl0KLSsJCVtWZXJzaW9uIChkZXByZWNh dGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2Iiwgc2luY2UgPSAiMC44IildCi0r CQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCByZWFsaXplICgpOwotKwkJcHVibGljIHZpcnR1 YWwgc2lnbmFsIHZvaWQgcmVzb3VyY2Vfc2NhbGVfY2hhbmdlZCAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCBib29sIHNjcm9sbF9ldmVu dCAoQ2x1dHRlci5TY3JvbGxFdmVudCBldmVudCk7Ci0rCQlbSGFzRW1pdHRlcl0KLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIwLjIiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIHNob3cg KCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgc3RhZ2Vfdmlld3NfY2hhbmdlZCAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCB0 b3VjaF9ldmVudCAoQ2x1dHRlci5FdmVudCBldmVudCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMiIpXQotKwkJcHVibGljIHNpZ25hbCB2b2lkIHRyYW5zaXRpb25fc3RvcHBlZCAoc3RyaW5n IG5hbWUsIGJvb2wgaXNfZmluaXNoZWQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K LSsJCXB1YmxpYyBzaWduYWwgdm9pZCB0cmFuc2l0aW9uc19jb21wbGV0ZWQgKCk7Ci0rCQlbSGFz RW1pdHRlcl0KLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5j ZSA9ICIxLjE2Iiwgc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9p ZCB1bnJlYWxpemUgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2FjdG9yX21ldGFfZ2V0X3R5cGUgKCki KV0KLSsJcHVibGljIGFic3RyYWN0IGNsYXNzIEFjdG9yTWV0YSA6IEdMaWIuSW5pdGlhbGx5VW5v d25lZCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlw cm90ZWN0ZWQgQWN0b3JNZXRhICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJ cHVibGljIHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfYWN0b3IgKCk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgYm9vbCBnZXRfZW5hYmxlZCAoKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfbmFtZSAo KTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHNldF9hY3RvciAoQ2x1 dHRlci5BY3Rvcj8gYWN0b3IpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVi bGljIHZpcnR1YWwgdm9pZCBzZXRfZW5hYmxlZCAoYm9vbCBpc19lbmFibGVkKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9uYW1lIChzdHJpbmcgbmFt ZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgQ2x1dHRlci5BY3Rv ciBhY3RvciB7IGdldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGlj IGJvb2wgZW5hYmxlZCB7IGdldDsgc2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40Iild Ci0rCQlwdWJsaWMgc3RyaW5nIG5hbWUgeyBnZXQ7IHNldDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9h Y3Rvcl9ub2RlX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBBY3Rvck5vZGUgOiBDbHV0 dGVyLlBhaW50Tm9kZSB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxz ZSwgdHlwZSA9ICJDbHV0dGVyUGFpbnROb2RlKiIpXQotKwkJcHVibGljIEFjdG9yTm9kZSAoQ2x1 dHRlci5BY3RvciBhY3RvciwgaW50IG9wYWNpdHkpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9hbGlnbl9j b25zdHJhaW50X2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJ cHVibGljIGNsYXNzIEFsaWduQ29uc3RyYWludCA6IENsdXR0ZXIuQ29uc3RyYWludCB7Ci0rCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQ29u c3RyYWludCoiKV0KLSsJCXB1YmxpYyBBbGlnbkNvbnN0cmFpbnQgKENsdXR0ZXIuQWN0b3I/IHNv dXJjZSwgQ2x1dHRlci5BbGlnbkF4aXMgYXhpcywgZmxvYXQgZmFjdG9yKTsKLSsJCXB1YmxpYyBD bHV0dGVyLkFsaWduQXhpcyBnZXRfYWxpZ25fYXhpcyAoKTsKLSsJCXB1YmxpYyBmbG9hdCBnZXRf ZmFjdG9yICgpOwotKwkJcHVibGljIEdyYXBoZW5lLlBvaW50IGdldF9waXZvdF9wb2ludCAoKTsK LSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X3NvdXJjZSAoKTsKLSsJCXB1Ymxp YyB2b2lkIHNldF9hbGlnbl9heGlzIChDbHV0dGVyLkFsaWduQXhpcyBheGlzKTsKLSsJCXB1Ymxp YyB2b2lkIHNldF9mYWN0b3IgKGZsb2F0IGZhY3Rvcik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcGl2 b3RfcG9pbnQgKEdyYXBoZW5lLlBvaW50IHBpdm90X3BvaW50KTsKLSsJCXB1YmxpYyB2b2lkIHNl dF9zb3VyY2UgKENsdXR0ZXIuQWN0b3I/IHNvdXJjZSk7Ci0rCQlwdWJsaWMgQ2x1dHRlci5BbGln bkF4aXMgYWxpZ25fYXhpcyB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIGZsb2F0 IGZhY3RvciB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIEdyYXBoZW5lLlBvaW50 IHBpdm90X3BvaW50IHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBDbHV0dGVyLkFjdG9yIHNvdXJj ZSB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFj dF0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQotKwlwdWJsaWMgY2xhc3MgQW55RXZlbnQg OiBDbHV0dGVyLkV2ZW50IHsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7Ci0r CQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0 ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWludDMyIHRpbWU7Ci0rCQlwdWJsaWMgQ2x1dHRl ci5FdmVudFR5cGUgdHlwZTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfYmFja2VuZF9nZXRfdHlwZSAoKSIp XQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0rCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBC YWNrZW5kIDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9u ID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIEJhY2tlbmQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS44IildCi0rCQlwdWJsaWMgdW5vd25lZCBDb2dsLkNvbnRleHQgZ2V0X2NvZ2xfY29udGV4 dCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuU2VhdCBnZXRfZGVmYXVsdF9zZWF0ICgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIHVub3duZWQgQ2Fpcm8u Rm9udE9wdGlvbnMgZ2V0X2ZvbnRfb3B0aW9ucyAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0 ZXIuSW5wdXRNZXRob2QgZ2V0X2lucHV0X21ldGhvZCAoKTsKLSsJCXB1YmxpYyBkb3VibGUgZ2V0 X3Jlc29sdXRpb24gKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMg dm9pZCBzZXRfZm9udF9vcHRpb25zIChDYWlyby5Gb250T3B0aW9ucyBvcHRpb25zKTsKLSsJCXB1 YmxpYyB2b2lkIHNldF9pbnB1dF9tZXRob2QgKENsdXR0ZXIuSW5wdXRNZXRob2QgbWV0aG9kKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBmb250 X2NoYW5nZWQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgc2ln bmFsIHZvaWQgcmVzb2x1dGlvbl9jaGFuZ2VkICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu NCIpXQotKwkJcHVibGljIHNpZ25hbCB2b2lkIHNldHRpbmdzX2NoYW5nZWQgKCk7Ci0rCX0KLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9 ICJjbHV0dGVyX2Jpbl9sYXlvdXRfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0g IjEuMiIpXQotKwlwdWJsaWMgY2xhc3MgQmluTGF5b3V0IDogQ2x1dHRlci5MYXlvdXRNYW5hZ2Vy IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNs dXR0ZXJMYXlvdXRNYW5hZ2VyKiIpXQotKwkJcHVibGljIEJpbkxheW91dCAoQ2x1dHRlci5CaW5B bGlnbm1lbnQgeF9hbGlnbiA9IENsdXR0ZXIuQmluQWxpZ25tZW50LlNUQVJULCBDbHV0dGVyLkJp bkFsaWdubWVudCB5X2FsaWduID0gQ2x1dHRlci5CaW5BbGlnbm1lbnQuU1RBUlQpOwotKwkJW05v QWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0 ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIENsdXR0ZXIuQmlu QWxpZ25tZW50IHhfYWxpZ24geyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0r CQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIs IHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIENsdXR0ZXIuQmluQWxpZ25tZW50IHlfYWxpZ24g eyBnZXQ7IHNldDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9iaW5kX2NvbnN0cmFpbnRfZ2V0X3R5cGUg KCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwlwdWJsaWMgY2xhc3MgQmluZENv bnN0cmFpbnQgOiBDbHV0dGVyLkNvbnN0cmFpbnQgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0 X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckNvbnN0cmFpbnQqIildCi0rCQlwdWJs aWMgQmluZENvbnN0cmFpbnQgKENsdXR0ZXIuQWN0b3I/IHNvdXJjZSwgQ2x1dHRlci5CaW5kQ29v cmRpbmF0ZSBjb29yZGluYXRlLCBmbG9hdCBvZmZzZXQpOwotKwkJcHVibGljIENsdXR0ZXIuQmlu ZENvb3JkaW5hdGUgZ2V0X2Nvb3JkaW5hdGUgKCk7Ci0rCQlwdWJsaWMgZmxvYXQgZ2V0X29mZnNl dCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X3NvdXJjZSAoKTsKLSsJ CXB1YmxpYyB2b2lkIHNldF9jb29yZGluYXRlIChDbHV0dGVyLkJpbmRDb29yZGluYXRlIGNvb3Jk aW5hdGUpOwotKwkJcHVibGljIHZvaWQgc2V0X29mZnNldCAoZmxvYXQgb2Zmc2V0KTsKLSsJCXB1 YmxpYyB2b2lkIHNldF9zb3VyY2UgKENsdXR0ZXIuQWN0b3I/IHNvdXJjZSk7Ci0rCQlwdWJsaWMg Q2x1dHRlci5CaW5kQ29vcmRpbmF0ZSBjb29yZGluYXRlIHsgZ2V0OyBzZXQgY29uc3RydWN0OyB9 Ci0rCQlwdWJsaWMgZmxvYXQgb2Zmc2V0IHsgZ2V0OyBzZXQgY29uc3RydWN0OyB9Ci0rCQlwdWJs aWMgQ2x1dHRlci5BY3RvciBzb3VyY2UgeyBnZXQ7IHNldCBjb25zdHJ1Y3Q7IH0KLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0g ImNsdXR0ZXJfYmluZGluZ19wb29sX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjAiKV0KLSsJcHVibGljIGNsYXNzIEJpbmRpbmdQb29sIDogR0xpYi5PYmplY3QgewotKwkJ W0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHVibGljIEJpbmRp bmdQb29sIChzdHJpbmcgbmFtZSk7Ci0rCQlwdWJsaWMgYm9vbCBhY3RpdmF0ZSAodWludCBrZXlf dmFsLCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBtb2RpZmllcnMsIEdMaWIuT2JqZWN0IGdvYmplY3Qp OwotKwkJcHVibGljIHZvaWQgYmxvY2tfYWN0aW9uIChzdHJpbmcgYWN0aW9uX25hbWUpOwotKwkJ cHVibGljIHN0YXRpYyB1bm93bmVkIENsdXR0ZXIuQmluZGluZ1Bvb2wgZmluZCAoc3RyaW5nIG5h bWUpOwotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGZpbmRfYWN0aW9uICh1aW50IGtleV92YWws IENsdXR0ZXIuTW9kaWZpZXJUeXBlIG1vZGlmaWVycyk7Ci0rCQlwdWJsaWMgc3RhdGljIHVub3du ZWQgQ2x1dHRlci5CaW5kaW5nUG9vbCBnZXRfZm9yX2NsYXNzICh2b2lkKiBrbGFzcyk7Ci0rCQlw dWJsaWMgdm9pZCBpbnN0YWxsX2FjdGlvbiAoc3RyaW5nIGFjdGlvbl9uYW1lLCB1aW50IGtleV92 YWwsIENsdXR0ZXIuTW9kaWZpZXJUeXBlIG1vZGlmaWVycywgb3duZWQgQ2x1dHRlci5CaW5kaW5n QWN0aW9uRnVuYyBjYWxsYmFjayk7Ci0rCQlwdWJsaWMgdm9pZCBpbnN0YWxsX2Nsb3N1cmUgKHN0 cmluZyBhY3Rpb25fbmFtZSwgdWludCBrZXlfdmFsLCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBtb2Rp ZmllcnMsIEdMaWIuQ2xvc3VyZSBjbG9zdXJlKTsKLSsJCXB1YmxpYyB2b2lkIG92ZXJyaWRlX2Fj dGlvbiAodWludCBrZXlfdmFsLCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBtb2RpZmllcnMsIG93bmVk IEdMaWIuQ2FsbGJhY2sgY2FsbGJhY2spOwotKwkJcHVibGljIHZvaWQgb3ZlcnJpZGVfY2xvc3Vy ZSAodWludCBrZXlfdmFsLCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBtb2RpZmllcnMsIEdMaWIuQ2xv c3VyZSBjbG9zdXJlKTsKLSsJCXB1YmxpYyB2b2lkIHJlbW92ZV9hY3Rpb24gKHVpbnQga2V5X3Zh bCwgQ2x1dHRlci5Nb2RpZmllclR5cGUgbW9kaWZpZXJzKTsKLSsJCXB1YmxpYyB2b2lkIHVuYmxv Y2tfYWN0aW9uIChzdHJpbmcgYWN0aW9uX25hbWUpOwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0r CQlwdWJsaWMgc3RyaW5nIG5hbWUgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwl9Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAi Y2x1dHRlcl9ibGl0X25vZGVfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIEJsaXROb2Rl IDogQ2x1dHRlci5QYWludE5vZGUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9u ID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlclBhaW50Tm9kZSoiKV0KLSsJCXB1YmxpYyBCbGl0Tm9k ZSAoQ29nbC5GcmFtZWJ1ZmZlciBzcmMpOwotKwkJcHVibGljIHZvaWQgYWRkX2JsaXRfcmVjdGFu Z2xlIChpbnQgc3JjX3gsIGludCBzcmNfeSwgaW50IGRzdF94LCBpbnQgZHN0X3ksIGludCB3aWR0 aCwgaW50IGhlaWdodCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2JsdXJfZWZmZWN0X2dldF90eXBlICgp IildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJcHVibGljIGNsYXNzIEJsdXJFZmZl Y3QgOiBDbHV0dGVyLk9mZnNjcmVlbkVmZmVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3Rf ZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyRWZmZWN0KiIpXQotKwkJcHVibGljIEJs dXJFZmZlY3QgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2JsdXJfbm9kZV9nZXRfdHlwZSAoKSIpXQot KwlwdWJsaWMgY2xhc3MgQmx1ck5vZGUgOiBDbHV0dGVyLkxheWVyTm9kZSB7Ci0rCQlbQ0NvZGUg KGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyUGFpbnROb2Rl KiIpXQotKwkJcHVibGljIEJsdXJOb2RlICh1aW50IHdpZHRoLCB1aW50IGhlaWdodCwgZmxvYXQg c2lnbWEpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0 ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9ib3hfbGF5b3V0X2dldF90eXBlICgpIildCi0rCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJcHVibGljIGNsYXNzIEJveExheW91dCA6IENsdXR0 ZXIuTGF5b3V0TWFuYWdlciB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBm YWxzZSwgdHlwZSA9ICJDbHV0dGVyTGF5b3V0TWFuYWdlcioiKV0KLSsJCXB1YmxpYyBCb3hMYXlv dXQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgYm9vbCBnZXRf aG9tb2dlbmVvdXMgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGlj IENsdXR0ZXIuT3JpZW50YXRpb24gZ2V0X29yaWVudGF0aW9uICgpOwotKwkJcHVibGljIGJvb2wg Z2V0X3BhY2tfc3RhcnQgKCk7Ci0rCQlwdWJsaWMgdWludCBnZXRfc3BhY2luZyAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9ob21vZ2VuZW91cyAo Ym9vbCBob21vZ2VuZW91cyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVi bGljIHZvaWQgc2V0X29yaWVudGF0aW9uIChDbHV0dGVyLk9yaWVudGF0aW9uIG9yaWVudGF0aW9u KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9wYWNrX3N0YXJ0IChib29sIHBhY2tfc3RhcnQpOwotKwkJ cHVibGljIHZvaWQgc2V0X3NwYWNpbmcgKHVpbnQgc3BhY2luZyk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS40IildCi0rCQlwdWJsaWMgYm9vbCBob21vZ2VuZW91cyB7IGdldDsgc2V0OyB9Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIENsdXR0ZXIuT3JpZW50YXRp b24gb3JpZW50YXRpb24geyBnZXQ7IHNldDsgfQotKwkJcHVibGljIGJvb2wgcGFja19zdGFydCB7 IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgdWludCBzcGFjaW5nIHsgZ2V0OyBzZXQ7IH0KLSsJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lk ID0gImNsdXR0ZXJfYnJpZ2h0bmVzc19jb250cmFzdF9lZmZlY3RfZ2V0X3R5cGUgKCkiKV0KLSsJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJcHVibGljIGNsYXNzIEJyaWdodG5lc3NDb250 cmFzdEVmZmVjdCA6IENsdXR0ZXIuT2Zmc2NyZWVuRWZmZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2Nv bnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJFZmZlY3QqIildCi0rCQlw dWJsaWMgQnJpZ2h0bmVzc0NvbnRyYXN0RWZmZWN0ICgpOwotKwkJcHVibGljIHZvaWQgZ2V0X2Jy aWdodG5lc3MgKG91dCBmbG9hdCByZWQsIG91dCBmbG9hdCBncmVlbiwgb3V0IGZsb2F0IGJsdWUp OwotKwkJcHVibGljIHZvaWQgZ2V0X2NvbnRyYXN0IChvdXQgZmxvYXQgcmVkLCBvdXQgZmxvYXQg Z3JlZW4sIG91dCBmbG9hdCBibHVlKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9icmlnaHRuZXNzIChm bG9hdCBicmlnaHRuZXNzKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9icmlnaHRuZXNzX2Z1bGwgKGZs b2F0IHJlZCwgZmxvYXQgZ3JlZW4sIGZsb2F0IGJsdWUpOwotKwkJcHVibGljIHZvaWQgc2V0X2Nv bnRyYXN0IChmbG9hdCBjb250cmFzdCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfY29udHJhc3RfZnVs bCAoZmxvYXQgcmVkLCBmbG9hdCBncmVlbiwgZmxvYXQgYmx1ZSk7Ci0rCQlbTm9BY2Nlc3Nvck1l dGhvZF0KLSsJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIGJyaWdodG5lc3MgeyBvd25lZCBnZXQ7IHNl dDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgQ2x1dHRlci5Db2xvciBjb250 cmFzdCB7IG93bmVkIGdldDsgc2V0OyB9Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtDb21wYWN0 XQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCi0rCXB1YmxpYyBjbGFzcyBCdXR0b25FdmVu dCA6IENsdXR0ZXIuRXZlbnQgewotKwkJcHVibGljIGRvdWJsZSBheGVzOwotKwkJcHVibGljIHVp bnQzMiBidXR0b247Ci0rCQlwdWJsaWMgdWludCBjbGlja19jb3VudDsKLSsJCXB1YmxpYyB3ZWFr IENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOwotKwkJcHVibGljIHVpbnQzMiBldmRldl9jb2Rl OwotKwkJcHVibGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKLSsJCXB1YmxpYyBDbHV0dGVy Lk1vZGlmaWVyVHlwZSBtb2RpZmllcl9zdGF0ZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0 b3Igc291cmNlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5TdGFnZSBzdGFnZTsKLSsJCXB1Ymxp YyB1aW50MzIgdGltZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOwotKwkJcHVi bGljIGZsb2F0IHg7Ci0rCQlwdWJsaWMgZmxvYXQgeTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfY2FudmFz X2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCXB1YmxpYyBj bGFzcyBDYW52YXMgOiBHTGliLk9iamVjdCwgQ2x1dHRlci5Db250ZW50IHsKLSsJCVtDQ29kZSAo aGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJDb250ZW50KiIp XQotKwkJcHVibGljIENhbnZhcyAoKTsKLSsJCXB1YmxpYyBmbG9hdCBnZXRfc2NhbGVfZmFjdG9y ICgpOwotKwkJcHVibGljIHZvaWQgc2V0X3NjYWxlX2ZhY3RvciAoZmxvYXQgc2NhbGUpOwotKwkJ cHVibGljIGJvb2wgc2V0X3NpemUgKGludCB3aWR0aCwgaW50IGhlaWdodCk7Ci0rCQlbTm9BY2Nl c3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBpbnQgaGVpZ2h0IHsgZ2V0OyBzZXQ7IH0KLSsJCXB1Ymxp YyBmbG9hdCBzY2FsZV9mYWN0b3IgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2Rd Ci0rCQlwdWJsaWMgaW50IHdpZHRoIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNp Z25hbCBib29sIGRyYXcgKENhaXJvLkNvbnRleHQgY3IsIGludCB3aWR0aCwgaW50IGhlaWdodCk7 Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg dHlwZV9pZCA9ICJjbHV0dGVyX2NoaWxkX21ldGFfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24g KHNpbmNlID0gIjAuOCIpXQotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgQ2hpbGRNZXRhIDogR0xp Yi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQot KwkJcHJvdGVjdGVkIENoaWxkTWV0YSAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0 b3IgZ2V0X2FjdG9yICgpOwotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5Db250YWluZXIgZ2V0 X2NvbnRhaW5lciAoKTsKLSsJCXB1YmxpYyBDbHV0dGVyLkFjdG9yIGFjdG9yIHsgZ2V0OyBjb25z dHJ1Y3Q7IH0KLSsJCXB1YmxpYyBDbHV0dGVyLkNvbnRhaW5lciBjb250YWluZXIgeyBnZXQ7IGNv bnN0cnVjdDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9jbGlja19hY3Rpb25fZ2V0X3R5cGUgKCkiKV0K LSsJcHVibGljIGNsYXNzIENsaWNrQWN0aW9uIDogQ2x1dHRlci5BY3Rpb24gewotKwkJW0NDb2Rl IChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckFjdGlvbioi KV0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyBDbGlja0FjdGlvbiAo KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB1aW50IGdldF9idXR0 b24gKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgdm9pZCBnZXRf Y29vcmRzIChvdXQgZmxvYXQgcHJlc3NfeCwgb3V0IGZsb2F0IHByZXNzX3kpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIENsdXR0ZXIuTW9kaWZpZXJUeXBlIGdldF9z dGF0ZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHJl bGVhc2UgKCk7Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjQiKV0KLSsJCXB1YmxpYyBib29sIGhlbGQgeyBnZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9k XQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIGludCBsb25nX3ByZXNz X2R1cmF0aW9uIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIGludCBsb25nX3ByZXNzX3RocmVzaG9sZCB7 IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjQiKV0KLSsJCXB1YmxpYyBib29sIHByZXNzZWQgeyBnZXQ7IH0KLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lkIGNsaWNrZWQgKENs dXR0ZXIuQWN0b3IgYWN0b3IpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVi bGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgbG9uZ19wcmVzcyAoQ2x1dHRlci5BY3RvciBhY3Rvciwg Q2x1dHRlci5Mb25nUHJlc3NTdGF0ZSBzdGF0ZSk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2NsaXBfbm9k ZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJsaWMg Y2xhc3MgQ2xpcE5vZGUgOiBDbHV0dGVyLlBhaW50Tm9kZSB7Ci0rCQlbQ0NvZGUgKGhhc19jb25z dHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyUGFpbnROb2RlKiIpXQotKwkJ cHVibGljIENsaXBOb2RlICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9jbG9uZV9nZXRfdHlwZSAoKSIp XQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCXB1YmxpYyBjbGFzcyBDbG9uZSA6IENs dXR0ZXIuQWN0b3IsIEF0ay5JbXBsZW1lbnRvciwgQ2x1dHRlci5BbmltYXRhYmxlLCBDbHV0dGVy LkNvbnRhaW5lciwgQ2x1dHRlci5TY3JpcHRhYmxlIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVj dF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJBY3RvcioiKV0KLSsJCXB1YmxpYyBD bG9uZSAoQ2x1dHRlci5BY3RvciBzb3VyY2UpOwotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5B Y3RvciBnZXRfc291cmNlICgpOwotKwkJcHVibGljIHZvaWQgc2V0X3NvdXJjZSAoQ2x1dHRlci5B Y3Rvcj8gc291cmNlKTsKLSsJCXB1YmxpYyBDbHV0dGVyLkFjdG9yIHNvdXJjZSB7IGdldDsgc2V0 IGNvbnN0cnVjdDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9jb2xvcl9ub2RlX2dldF90eXBlICgpIild Ci0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCXB1YmxpYyBjbGFzcyBDb2xvck5vZGUg OiBDbHV0dGVyLlBpcGVsaW5lTm9kZSB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rp b24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyUGFpbnROb2RlKiIpXQotKwkJcHVibGljIENvbG9y Tm9kZSAoQ2x1dHRlci5Db2xvcj8gY29sb3IpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9jb2xvcml6ZV9l ZmZlY3RfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwlwdWJs aWMgY2xhc3MgQ29sb3JpemVFZmZlY3QgOiBDbHV0dGVyLk9mZnNjcmVlbkVmZmVjdCB7Ci0rCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyRWZm ZWN0KiIpXQotKwkJcHVibGljIENvbG9yaXplRWZmZWN0IChDbHV0dGVyLkNvbG9yIHRpbnQpOwot KwkJcHVibGljIENsdXR0ZXIuQ29sb3IgZ2V0X3RpbnQgKCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRf dGludCAoQ2x1dHRlci5Db2xvciB0aW50KTsKLSsJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIHRpbnQg eyBnZXQ7IHNldDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9jb25zdHJhaW50X2dldF90eXBlICgpIild Ci0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJcHVibGljIGFic3RyYWN0IGNsYXNzIENv bnN0cmFpbnQgOiBDbHV0dGVyLkFjdG9yTWV0YSB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3Rf ZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgQ29uc3RyYWludCAoKTsKLSsJCVtOb1dy YXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHVwZGF0ZV9hbGxvY2F0aW9uIChDbHV0dGVy LkFjdG9yIGFjdG9yLCBDbHV0dGVyLkFjdG9yQm94IGFsbG9jYXRpb24pOwotKwkJcHVibGljIHZp cnR1YWwgdm9pZCB1cGRhdGVfcHJlZmVycmVkX3NpemUgKENsdXR0ZXIuQWN0b3IgYWN0b3IsIENs dXR0ZXIuT3JpZW50YXRpb24gZGlyZWN0aW9uLCBmbG9hdCBmb3Jfc2l6ZSwgcmVmIGZsb2F0IG1p bmltdW1fc2l6ZSwgcmVmIGZsb2F0IG5hdHVyYWxfc2l6ZSk7Ci0rCX0KLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSld Ci0rCVtDb21wYWN0XQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCi0rCXB1YmxpYyBjbGFz cyBDcm9zc2luZ0V2ZW50IDogQ2x1dHRlci5FdmVudCB7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVy LklucHV0RGV2aWNlIGRldmljZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7 Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHJlbGF0ZWQ7Ci0rCQlwdWJsaWMgd2VhayBD bHV0dGVyLkV2ZW50U2VxdWVuY2Ugc2VxdWVuY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFj dG9yIHNvdXJjZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJs aWMgdWludDMyIHRpbWU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJCXB1 YmxpYyBmbG9hdCB4OwotKwkJcHVibGljIGZsb2F0IHk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2RlZm9y bV9lZmZlY3RfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwlw dWJsaWMgYWJzdHJhY3QgY2xhc3MgRGVmb3JtRWZmZWN0IDogQ2x1dHRlci5PZmZzY3JlZW5FZmZl Y3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJv dGVjdGVkIERlZm9ybUVmZmVjdCAoKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVh bCB2b2lkIGRlZm9ybV92ZXJ0ZXggKGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQsIENvZ2wuVGV4 dHVyZVZlcnRleCB2ZXJ0ZXgpOwotKwkJcHVibGljIHVub3duZWQgQ29nbC5IYW5kbGUgZ2V0X2Jh Y2tfbWF0ZXJpYWwgKCk7Ci0rCQlwdWJsaWMgdm9pZCBnZXRfbl90aWxlcyAob3V0IHVpbnQgeF90 aWxlcywgb3V0IHVpbnQgeV90aWxlcyk7Ci0rCQlwdWJsaWMgdm9pZCBpbnZhbGlkYXRlICgpOwot KwkJcHVibGljIHZvaWQgc2V0X2JhY2tfbWF0ZXJpYWwgKENvZ2wuSGFuZGxlPyBtYXRlcmlhbCk7 Ci0rCQlwdWJsaWMgdm9pZCBzZXRfbl90aWxlcyAodWludCB4X3RpbGVzLCB1aW50IHlfdGlsZXMp OwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgdWludCB4X3RpbGVzIHsgZ2V0OyBz ZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIHVpbnQgeV90aWxlcyB7IGdl dDsgc2V0OyB9Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2Rlc2F0dXJhdGVfZWZmZWN0X2dldF90eXBlICgp IildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJcHVibGljIGNsYXNzIERlc2F0dXJh dGVFZmZlY3QgOiBDbHV0dGVyLk9mZnNjcmVlbkVmZmVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25z dHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyRWZmZWN0KiIpXQotKwkJcHVi bGljIERlc2F0dXJhdGVFZmZlY3QgKGRvdWJsZSBmYWN0b3IpOwotKwkJcHVibGljIGRvdWJsZSBn ZXRfZmFjdG9yICgpOwotKwkJcHVibGljIHZvaWQgc2V0X2ZhY3RvciAoZG91YmxlIGZhY3Rvcik7 Ci0rCQlwdWJsaWMgZG91YmxlIGZhY3RvciB7IGdldDsgc2V0OyB9Ci0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxz ZSldCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgRGV2aWNlRXZlbnQgOiBDbHV0dGVyLkV2 ZW50IHsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOwotKwkJcHVi bGljIENsdXR0ZXIuRXZlbnRGbGFncyBmbGFnczsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0 b3Igc291cmNlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5TdGFnZSBzdGFnZTsKLSsJCXB1Ymxp YyB1aW50MzIgdGltZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOwotKwl9Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQg PSAiY2x1dHRlcl9lZmZlY3RfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEu NCIpXQotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgRWZmZWN0IDogQ2x1dHRlci5BY3Rvck1ldGEg ewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVj dGVkIEVmZmVjdCAoKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCBib29sIG1v ZGlmeV9wYWludF92b2x1bWUgKENsdXR0ZXIuUGFpbnRWb2x1bWUgdm9sdW1lKTsKLSsJCVtOb1dy YXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHBhaW50IChDbHV0dGVyLlBhaW50Tm9kZSBu b2RlLCBDbHV0dGVyLlBhaW50Q29udGV4dCBwYWludF9jb250ZXh0LCBDbHV0dGVyLkVmZmVjdFBh aW50RmxhZ3MgZmxhZ3MpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQg cGFpbnRfbm9kZSAoQ2x1dHRlci5QYWludE5vZGUgbm9kZSwgQ2x1dHRlci5QYWludENvbnRleHQg cGFpbnRfY29udGV4dCwgQ2x1dHRlci5FZmZlY3RQYWludEZsYWdzIGZsYWdzKTsKLSsJCVtOb1dy YXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHBpY2sgKENsdXR0ZXIuUGlja0NvbnRleHQg cGlja19jb250ZXh0KTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHBv c3RfcGFpbnQgKENsdXR0ZXIuUGFpbnROb2RlIG5vZGUsIENsdXR0ZXIuUGFpbnRDb250ZXh0IHBh aW50X2NvbnRleHQpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIGJvb2wgcHJl X3BhaW50IChDbHV0dGVyLlBhaW50Tm9kZSBub2RlLCBDbHV0dGVyLlBhaW50Q29udGV4dCBwYWlu dF9jb250ZXh0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lk IHF1ZXVlX3JlcGFpbnQgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1 bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9ldmVudF9nZXRfdHlw ZSAoKSIpXQotKwlbQ29tcGFjdF0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQotKwlwdWJs aWMgY2xhc3MgRXZlbnQgewotKwkJcHVibGljIENsdXR0ZXIuRXZlbnRUeXBlIHR5cGU7Ci0rCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwdWJsaWMgRXZlbnQg KENsdXR0ZXIuRXZlbnRUeXBlIHR5cGUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTgiKV0K LSsJCXB1YmxpYyBzdGF0aWMgdWludCBhZGRfZmlsdGVyIChDbHV0dGVyLlN0YWdlPyBzdGFnZSwg W0NDb2RlIChkZWxlZ2F0ZV90YXJnZXRfcG9zID0gMi4yLCBkZXN0cm95X25vdGlmeV9wb3MgPSAy LjEpXSBvd25lZCBDbHV0dGVyLkV2ZW50RmlsdGVyRnVuYyBmdW5jKTsKLSsJCXB1YmxpYyBDbHV0 dGVyLkV2ZW50IGNvcHkgKCk7Ci0rCQlwdWJsaWMgdm9pZCBmcmVlICgpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjAuNCIpXQotKwkJcHVibGljIHN0YXRpYyBDbHV0dGVyLkV2ZW50IEBnZXQgKCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGRvdWJsZSBnZXRfYW5n bGUgKENsdXR0ZXIuRXZlbnQgdGFyZ2V0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0K LSsJCXB1YmxpYyBkb3VibGUgZ2V0X2F4ZXMgKG91dCB1aW50IG5fYXhlcyk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgdWludDMyIGdldF9idXR0b24gKCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgdWludCBnZXRfY2xpY2tfY291bnQg KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0rCQlwdWJsaWMgdm9pZCBnZXRfY29v cmRzIChvdXQgZmxvYXQgeCwgb3V0IGZsb2F0IHkpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MCIpXQotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5JbnB1dERldmljZSBnZXRfZGV2aWNlICgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjgiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0 ZXIuSW5wdXREZXZpY2VUb29sIGdldF9kZXZpY2VfdG9vbCAoKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLklucHV0RGV2aWNlVHlwZSBnZXRfZGV2aWNl X3R5cGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGZsb2F0 IGdldF9kaXN0YW5jZSAoQ2x1dHRlci5FdmVudCB0YXJnZXQpOwotKwkJcHVibGljIHVpbnQzMiBn ZXRfZXZlbnRfY29kZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJs aWMgdW5vd25lZCBDbHV0dGVyLkV2ZW50U2VxdWVuY2UgZ2V0X2V2ZW50X3NlcXVlbmNlICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIENsdXR0ZXIuRXZlbnRGbGFn cyBnZXRfZmxhZ3MgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yNCIpXQotKwkJcHVibGlj IHZvaWQgZ2V0X2dlc3R1cmVfbW90aW9uX2RlbHRhIChvdXQgZG91YmxlIGR4LCBvdXQgZG91Ymxl IGR5KTsKLSsJCXB1YmxpYyBDbHV0dGVyLlRvdWNocGFkR2VzdHVyZVBoYXNlIGdldF9nZXN0dXJl X3BoYXNlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjQiKV0KLSsJCXB1YmxpYyBkb3Vi bGUgZ2V0X2dlc3R1cmVfcGluY2hfYW5nbGVfZGVsdGEgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4yNCIpXQotKwkJcHVibGljIGRvdWJsZSBnZXRfZ2VzdHVyZV9waW5jaF9zY2FsZSAoKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB1aW50MTYgZ2V0X2tleV9j b2RlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIHVpbnQgZ2V0 X2tleV9zeW1ib2wgKCk7Ci0rCQlwdWJsaWMgdW5pY2hhciBnZXRfa2V5X3VuaWNvZGUgKCk7Ci0r CQlwdWJsaWMgdWludCBnZXRfbW9kZV9ncm91cCAoKTsKLSsJCXB1YmxpYyBib29sIGdldF9wYWRf ZXZlbnRfZGV0YWlscyAob3V0IHVpbnQgbnVtYmVyLCBvdXQgdWludCBtb2RlLCBvdXQgZG91Ymxl IHZhbHVlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgR3JhcGhl bmUuUG9pbnQgZ2V0X3Bvc2l0aW9uICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQot KwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfcmVsYXRlZCAoKTsKLSsJCXB1Ymxp YyBib29sIGdldF9yZWxhdGl2ZV9tb3Rpb24gKGRvdWJsZSBkeCwgZG91YmxlIGR5LCBkb3VibGUg ZHhfdW5hY2NlbCwgZG91YmxlIGR5X3VuYWNjZWwpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF9zY3JvbGxfZGVsdGEgKG91dCBkb3VibGUgZHgsIG91 dCBkb3VibGUgZHkpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIENs dXR0ZXIuU2Nyb2xsRGlyZWN0aW9uIGdldF9zY3JvbGxfZGlyZWN0aW9uICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMjYiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLlNjcm9sbEZpbmlzaEZsYWdz IGdldF9zY3JvbGxfZmluaXNoX2ZsYWdzICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjYi KV0KLSsJCXB1YmxpYyBDbHV0dGVyLlNjcm9sbFNvdXJjZSBnZXRfc2Nyb2xsX3NvdXJjZSAoKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIu QWN0b3IgZ2V0X3NvdXJjZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1 YmxpYyB1bm93bmVkIENsdXR0ZXIuSW5wdXREZXZpY2UgZ2V0X3NvdXJjZV9kZXZpY2UgKCk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLlN0 YWdlIGdldF9zdGFnZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSsJCXB1Ymxp YyBDbHV0dGVyLk1vZGlmaWVyVHlwZSBnZXRfc3RhdGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xNiIpXQotKwkJcHVibGljIHZvaWQgZ2V0X3N0YXRlX2Z1bGwgKG91dCBDbHV0dGVyLk1v ZGlmaWVyVHlwZSBidXR0b25fc3RhdGUsIG91dCBDbHV0dGVyLk1vZGlmaWVyVHlwZSBiYXNlX3N0 YXRlLCBvdXQgQ2x1dHRlci5Nb2RpZmllclR5cGUgbGF0Y2hlZF9zdGF0ZSwgb3V0IENsdXR0ZXIu TW9kaWZpZXJUeXBlIGxvY2tlZF9zdGF0ZSwgb3V0IENsdXR0ZXIuTW9kaWZpZXJUeXBlIGVmZmVj dGl2ZV9zdGF0ZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0rCQlwdWJsaWMgdWlu dDMyIGdldF90aW1lICgpOwotKwkJcHVibGljIGludDY0IGdldF90aW1lX3VzICgpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMjQiKV0KLSsJCXB1YmxpYyB1aW50IGdldF90b3VjaHBhZF9nZXN0 dXJlX2Zpbmdlcl9jb3VudCAoKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl9ldmVudF90 eXBlIildCi0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgZ2V0X3R5cGUgKCk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGJvb2wgaGFzX2NvbnRyb2xfbW9kaWZp ZXIgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGJvb2wgaGFz X3NoaWZ0X21vZGlmaWVyICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1 YmxpYyBib29sIGlzX3BvaW50ZXJfZW11bGF0ZWQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MC42IildCi0rCQlwdWJsaWMgdm9pZCBwdXQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x OCIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIHJlbW92ZV9maWx0ZXIgKHVpbnQgaWQpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2J1dHRvbiAodWlu dDMyIGJ1dHRvbik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgdm9p ZCBzZXRfY29vcmRzIChmbG9hdCB4LCBmbG9hdCB5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjYiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9kZXZpY2UgKENsdXR0ZXIuSW5wdXREZXZpY2U/IGRl dmljZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yOCIpXQotKwkJcHVibGljIHZvaWQgc2V0 X2RldmljZV90b29sIChDbHV0dGVyLklucHV0RGV2aWNlVG9vbD8gdG9vbCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfZmxhZ3MgKENsdXR0ZXIuRXZl bnRGbGFncyBmbGFncyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMg dm9pZCBzZXRfa2V5X2NvZGUgKHVpbnQxNiBrZXlfY29kZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS44IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfa2V5X3N5bWJvbCAodWludCBrZXlfc3ltKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9rZXlfdW5p Y29kZSAodW5pY2hhciBrZXlfdW5pY29kZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44Iild Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcmVsYXRlZCAoQ2x1dHRlci5BY3Rvcj8gYWN0b3IpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9zY3JvbGxfZGVs dGEgKGRvdWJsZSBkeCwgZG91YmxlIGR5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0K LSsJCXB1YmxpYyB2b2lkIHNldF9zY3JvbGxfZGlyZWN0aW9uIChDbHV0dGVyLlNjcm9sbERpcmVj dGlvbiBkaXJlY3Rpb24pOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGlj IHZvaWQgc2V0X3NvdXJjZSAoQ2x1dHRlci5BY3Rvcj8gYWN0b3IpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3NvdXJjZV9kZXZpY2UgKENsdXR0ZXIu SW5wdXREZXZpY2U/IGRldmljZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlw dWJsaWMgdm9pZCBzZXRfc3RhZ2UgKENsdXR0ZXIuU3RhZ2U/IHN0YWdlKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9zdGF0ZSAoQ2x1dHRlci5Nb2Rp ZmllclR5cGUgc3RhdGUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGlj IHZvaWQgc2V0X3RpbWUgKHVpbnQzMiB0aW1lXyk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2Nv cHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY2x1dHRlcl9l dmVudF9zZXF1ZW5jZV9nZXRfdHlwZSAoKSIpXQotKwlbQ29tcGFjdF0KLSsJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTIiKV0KLSsJcHVibGljIGNsYXNzIEV2ZW50U2VxdWVuY2UgewotKwkJcHVibGlj IGludDMyIGdldF9zbG90ICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9maXhlZF9sYXlvdXRfZ2V0X3R5 cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQotKwlwdWJsaWMgY2xhc3MgRml4 ZWRMYXlvdXQgOiBDbHV0dGVyLkxheW91dE1hbmFnZXIgewotKwkJW0NDb2RlIChoYXNfY29uc3Ry dWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckxheW91dE1hbmFnZXIqIildCi0r CQlwdWJsaWMgRml4ZWRMYXlvdXQgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2Zsb3dfbGF5b3V0X2dl dF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJcHVibGljIGNsYXNz IEZsb3dMYXlvdXQgOiBDbHV0dGVyLkxheW91dE1hbmFnZXIgewotKwkJW0NDb2RlIChoYXNfY29u c3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckxheW91dE1hbmFnZXIqIild Ci0rCQlwdWJsaWMgRmxvd0xheW91dCAoQ2x1dHRlci5GbG93T3JpZW50YXRpb24gb3JpZW50YXRp b24pOwotKwkJcHVibGljIGZsb2F0IGdldF9jb2x1bW5fc3BhY2luZyAoKTsKLSsJCXB1YmxpYyB2 b2lkIGdldF9jb2x1bW5fd2lkdGggKG91dCBmbG9hdCBtaW5fd2lkdGgsIG91dCBmbG9hdCBtYXhf d2lkdGgpOwotKwkJcHVibGljIGJvb2wgZ2V0X2hvbW9nZW5lb3VzICgpOwotKwkJcHVibGljIENs dXR0ZXIuRmxvd09yaWVudGF0aW9uIGdldF9vcmllbnRhdGlvbiAoKTsKLSsJCXB1YmxpYyB2b2lk IGdldF9yb3dfaGVpZ2h0IChvdXQgZmxvYXQgbWluX2hlaWdodCwgb3V0IGZsb2F0IG1heF9oZWln aHQpOwotKwkJcHVibGljIGZsb2F0IGdldF9yb3dfc3BhY2luZyAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjE2IildCi0rCQlwdWJsaWMgYm9vbCBnZXRfc25hcF90b19ncmlkICgpOwotKwkJ cHVibGljIHZvaWQgc2V0X2NvbHVtbl9zcGFjaW5nIChmbG9hdCBzcGFjaW5nKTsKLSsJCXB1Ymxp YyB2b2lkIHNldF9jb2x1bW5fd2lkdGggKGZsb2F0IG1pbl93aWR0aCwgZmxvYXQgbWF4X3dpZHRo KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9ob21vZ2VuZW91cyAoYm9vbCBob21vZ2VuZW91cyk7Ci0r CQlwdWJsaWMgdm9pZCBzZXRfb3JpZW50YXRpb24gKENsdXR0ZXIuRmxvd09yaWVudGF0aW9uIG9y aWVudGF0aW9uKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9yb3dfaGVpZ2h0IChmbG9hdCBtaW5faGVp Z2h0LCBmbG9hdCBtYXhfaGVpZ2h0KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9yb3dfc3BhY2luZyAo ZmxvYXQgc3BhY2luZyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQotKwkJcHVibGlj IHZvaWQgc2V0X3NuYXBfdG9fZ3JpZCAoYm9vbCBzbmFwX3RvX2dyaWQpOwotKwkJcHVibGljIGZs b2F0IGNvbHVtbl9zcGFjaW5nIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBib29sIGhvbW9nZW5l b3VzIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIGZsb2F0 IG1heF9jb2x1bW5fd2lkdGggeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0r CQlwdWJsaWMgZmxvYXQgbWF4X3Jvd19oZWlnaHQgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNz b3JNZXRob2RdCi0rCQlwdWJsaWMgZmxvYXQgbWluX2NvbHVtbl93aWR0aCB7IGdldDsgc2V0OyB9 Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBmbG9hdCBtaW5fcm93X2hlaWdodCB7 IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgQ2x1dHRlci5GbG93T3JpZW50YXRpb24gb3JpZW50YXRp b24geyBnZXQ7IHNldCBjb25zdHJ1Y3Q7IH0KLSsJCXB1YmxpYyBmbG9hdCByb3dfc3BhY2luZyB7 IGdldDsgc2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQotKwkJcHVibGljIGJv b2wgc25hcF90b19ncmlkIHsgZ2V0OyBzZXQ7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0Nv bXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBGcmFtZSB7Ci0rCQlwdWJsaWMgYm9vbCBoYXNfcmVzdWx0 ICgpOwotKwkJcHVibGljIHZvaWQgc2V0X3Jlc3VsdCAoQ2x1dHRlci5GcmFtZVJlc3VsdCByZXN1 bHQpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9mcmFtZV9jbG9ja19nZXRfdHlwZSAoKSIpXQotKwlwdWJs aWMgY2xhc3MgRnJhbWVDbG9jayA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0 cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBGcmFtZUNsb2NrICgpOwotKwkJ cHVibGljIHZvaWQgYWRkX3RpbWVsaW5lIChDbHV0dGVyLlRpbWVsaW5lIHRpbWVsaW5lKTsKLSsJ CXB1YmxpYyBmbG9hdCBnZXRfcmVmcmVzaF9yYXRlICgpOwotKwkJcHVibGljIHZvaWQgaW5oaWJp dCAoKTsKLSsJCXB1YmxpYyB2b2lkIG5vdGlmeV9yZWFkeSAoKTsKLSsJCXB1YmxpYyB2b2lkIHJl bW92ZV90aW1lbGluZSAoQ2x1dHRlci5UaW1lbGluZSB0aW1lbGluZSk7Ci0rCQlwdWJsaWMgdm9p ZCBzY2hlZHVsZV91cGRhdGUgKCk7Ci0rCQlwdWJsaWMgdm9pZCBzY2hlZHVsZV91cGRhdGVfbm93 ICgpOwotKwkJcHVibGljIHZvaWQgdW5pbmhpYml0ICgpOwotKwkJW0hhc0VtaXR0ZXJdCi0rCQlw dWJsaWMgc2lnbmFsIHZvaWQgZGVzdHJveSAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfZ2VzdHVyZV9h Y3Rpb25fZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIEdlc3R1cmVBY3Rpb24gOiBDbHV0 dGVyLkFjdGlvbiB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwg dHlwZSA9ICJDbHV0dGVyQWN0aW9uKiIpXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQot KwkJcHVibGljIEdlc3R1cmVBY3Rpb24gKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIp XQotKwkJcHVibGljIHZvaWQgY2FuY2VsICgpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2 aXJ0dWFsIGJvb2wgZ2VzdHVyZV9wcmVwYXJlIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLklucHV0 RGV2aWNlIGdldF9kZXZpY2UgKHVpbnQgcG9pbnQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTQiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuRXZlbnQgZ2V0X2xhc3RfZXZlbnQgKHVp bnQgcG9pbnQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQg Z2V0X21vdGlvbl9jb29yZHMgKHVpbnQgcG9pbnQsIG91dCBmbG9hdCBtb3Rpb25feCwgb3V0IGZs b2F0IG1vdGlvbl95KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMg ZmxvYXQgZ2V0X21vdGlvbl9kZWx0YSAodWludCBwb2ludCwgb3V0IGZsb2F0IGRlbHRhX3gsIG91 dCBmbG9hdCBkZWx0YV95KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJs aWMgdWludCBnZXRfbl9jdXJyZW50X3BvaW50cyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEyIildCi0rCQlwdWJsaWMgaW50IGdldF9uX3RvdWNoX3BvaW50cyAoKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF9wcmVzc19jb29yZHMgKHVpbnQg cG9pbnQsIG91dCBmbG9hdCBwcmVzc194LCBvdXQgZmxvYXQgcHJlc3NfeSk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgdm9pZCBnZXRfcmVsZWFzZV9jb29yZHMgKHVp bnQgcG9pbnQsIG91dCBmbG9hdCByZWxlYXNlX3gsIG91dCBmbG9hdCByZWxlYXNlX3kpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuRXZl bnRTZXF1ZW5jZSBnZXRfc2VxdWVuY2UgKHVpbnQgcG9pbnQpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTgiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF90aHJlc2hvbGRfdHJpZ2dlcl9kaXN0YW5j ZSAob3V0IGZsb2F0IHgsIG91dCBmbG9hdCB5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIw IildCi0rCQlwdWJsaWMgQ2x1dHRlci5HZXN0dXJlVHJpZ2dlckVkZ2UgZ2V0X3RocmVzaG9sZF90 cmlnZ2VyX2VkZ2UgKCk7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0 ZWRfc2luY2UgPSAiMS4yMCIsIHNpbmNlID0gIjEuMTgiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkdl c3R1cmVUcmlnZ2VyRWRnZSBnZXRfdGhyZXNob2xkX3RyaWdnZXJfZWdkZSAoKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgZmxvYXQgZ2V0X3ZlbG9jaXR5ICh1aW50 IHBvaW50LCBvdXQgZmxvYXQgdmVsb2NpdHlfeCwgb3V0IGZsb2F0IHZlbG9jaXR5X3kpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9uX3RvdWNoX3Bv aW50cyAoaW50IG5iX3BvaW50cyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xOCIpXQotKwkJ cHVibGljIHZvaWQgc2V0X3RocmVzaG9sZF90cmlnZ2VyX2Rpc3RhbmNlIChmbG9hdCB4LCBmbG9h dCB5KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE4IildCi0rCQlwdWJsaWMgdm9pZCBzZXRf dGhyZXNob2xkX3RyaWdnZXJfZWRnZSAoQ2x1dHRlci5HZXN0dXJlVHJpZ2dlckVkZ2UgZWRnZSk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNiIpXQotKwkJcHVibGljIGludCBuX3RvdWNoX3Bv aW50cyB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjE4IildCi0rCQlwdWJsaWMgZmxvYXQgdGhyZXNob2xkX3RyaWdnZXJfZGlzdGFu Y2VfeCB7IGdldDsgY29uc3RydWN0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjE4IildCi0rCQlwdWJsaWMgZmxvYXQgdGhyZXNob2xkX3RyaWdnZXJf ZGlzdGFuY2VfeSB7IGdldDsgY29uc3RydWN0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x OCIpXQotKwkJcHVibGljIENsdXR0ZXIuR2VzdHVyZVRyaWdnZXJFZGdlIHRocmVzaG9sZF90cmln Z2VyX2VkZ2UgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIp XQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgZ2VzdHVyZV9iZWdpbiAoQ2x1dHRlci5B Y3RvciBhY3Rvcik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgdmly dHVhbCBzaWduYWwgdm9pZCBnZXN0dXJlX2NhbmNlbCAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9p ZCBnZXN0dXJlX2VuZCAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS44IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgYm9vbCBnZXN0dXJlX3Byb2dyZXNz IChDbHV0dGVyLkFjdG9yIGFjdG9yKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfZ3JpZF9sYXlvdXRfZ2V0 X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJcHVibGljIGNsYXNz IEdyaWRMYXlvdXQgOiBDbHV0dGVyLkxheW91dE1hbmFnZXIgewotKwkJW0NDb2RlIChoYXNfY29u c3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckxheW91dE1hbmFnZXIqIild Ci0rCQlwdWJsaWMgR3JpZExheW91dCAoKTsKLSsJCXB1YmxpYyB2b2lkIGF0dGFjaCAoQ2x1dHRl ci5BY3RvciBjaGlsZCwgaW50IGxlZnQsIGludCB0b3AsIGludCB3aWR0aCwgaW50IGhlaWdodCk7 Ci0rCQlwdWJsaWMgdm9pZCBhdHRhY2hfbmV4dF90byAoQ2x1dHRlci5BY3RvciBjaGlsZCwgQ2x1 dHRlci5BY3Rvcj8gc2libGluZywgQ2x1dHRlci5HcmlkUG9zaXRpb24gc2lkZSwgaW50IHdpZHRo LCBpbnQgaGVpZ2h0KTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2NoaWxk X2F0IChpbnQgbGVmdCwgaW50IHRvcCk7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfY29sdW1uX2hvbW9n ZW5lb3VzICgpOwotKwkJcHVibGljIHVpbnQgZ2V0X2NvbHVtbl9zcGFjaW5nICgpOwotKwkJcHVi bGljIENsdXR0ZXIuT3JpZW50YXRpb24gZ2V0X29yaWVudGF0aW9uICgpOwotKwkJcHVibGljIGJv b2wgZ2V0X3Jvd19ob21vZ2VuZW91cyAoKTsKLSsJCXB1YmxpYyB1aW50IGdldF9yb3dfc3BhY2lu ZyAoKTsKLSsJCXB1YmxpYyB2b2lkIGluc2VydF9jb2x1bW4gKGludCBwb3NpdGlvbik7Ci0rCQlw dWJsaWMgdm9pZCBpbnNlcnRfbmV4dF90byAoQ2x1dHRlci5BY3RvciBzaWJsaW5nLCBDbHV0dGVy LkdyaWRQb3NpdGlvbiBzaWRlKTsKLSsJCXB1YmxpYyB2b2lkIGluc2VydF9yb3cgKGludCBwb3Np dGlvbik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfY29sdW1uX2hvbW9nZW5lb3VzIChib29sIGhvbW9n ZW5lb3VzKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9jb2x1bW5fc3BhY2luZyAodWludCBzcGFjaW5n KTsKLSsJCXB1YmxpYyB2b2lkIHNldF9vcmllbnRhdGlvbiAoQ2x1dHRlci5PcmllbnRhdGlvbiBv cmllbnRhdGlvbik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcm93X2hvbW9nZW5lb3VzIChib29sIGhv bW9nZW5lb3VzKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9yb3dfc3BhY2luZyAodWludCBzcGFjaW5n KTsKLSsJCXB1YmxpYyBib29sIGNvbHVtbl9ob21vZ2VuZW91cyB7IGdldDsgc2V0OyB9Ci0rCQlw dWJsaWMgdWludCBjb2x1bW5fc3BhY2luZyB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgQ2x1dHRl ci5PcmllbnRhdGlvbiBvcmllbnRhdGlvbiB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgYm9vbCBy b3dfaG9tb2dlbmVvdXMgeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIHVpbnQgcm93X3NwYWNpbmcg eyBnZXQ7IHNldDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0KLSsJcHVibGlj IGNsYXNzIElNRXZlbnQgOiBDbHV0dGVyLkV2ZW50IHsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50 RmxhZ3MgZmxhZ3M7Ci0rCQlwdWJsaWMgdWludDMyIGxlbjsKLSsJCXB1YmxpYyBpbnQzMiBvZmZz ZXQ7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKLSsJCXB1YmxpYyB3ZWFr IENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgd2VhayBzdHJpbmcgdGV4dDsKLSsJCXB1 YmxpYyB1aW50MzIgdGltZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOwotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVf aWQgPSAiY2x1dHRlcl9pbWFnZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQotKwlwdWJsaWMgY2xhc3MgSW1hZ2UgOiBHTGliLk9iamVjdCwgQ2x1dHRlci5Db250 ZW50IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0g IkNsdXR0ZXJDb250ZW50KiIpXQotKwkJcHVibGljIEltYWdlICgpOwotKwkJcHVibGljIHVub3du ZWQgQ29nbC5UZXh0dXJlIGdldF90ZXh0dXJlICgpOwotKwkJcHVibGljIGJvb2wgc2V0X2FyZWEg KFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXSB1aW50OFtdIGRhdGEsIENvZ2wuUGl4ZWxG b3JtYXQgcGl4ZWxfZm9ybWF0LCBDYWlyby5SZWN0YW5nbGVJbnQgcmVjdCwgdWludCByb3dfc3Ry aWRlKSB0aHJvd3MgR0xpYi5FcnJvcjsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0r CQlwdWJsaWMgYm9vbCBzZXRfYnl0ZXMgKEdMaWIuQnl0ZXMgZGF0YSwgQ29nbC5QaXhlbEZvcm1h dCBwaXhlbF9mb3JtYXQsIHVpbnQgd2lkdGgsIHVpbnQgaGVpZ2h0LCB1aW50IHJvd19zdHJpZGUp IHRocm93cyBHTGliLkVycm9yOwotKwkJcHVibGljIGJvb2wgc2V0X2RhdGEgKFtDQ29kZSAoYXJy YXlfbGVuZ3RoID0gZmFsc2UpXSB1aW50OFtdIGRhdGEsIENvZ2wuUGl4ZWxGb3JtYXQgcGl4ZWxf Zm9ybWF0LCB1aW50IHdpZHRoLCB1aW50IGhlaWdodCwgdWludCByb3dfc3RyaWRlKSB0aHJvd3Mg R0xpYi5FcnJvcjsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfaW5wdXRfZGV2aWNlX2dldF90eXBlICgpIild Ci0rCXB1YmxpYyBjbGFzcyBJbnB1dERldmljZSA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAo aGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBJbnB1dERldmlj ZSAoKTsKLSsJCXB1YmxpYyBDbHV0dGVyLklucHV0QXhpcyBnZXRfYXhpcyAodWludCBpbmRleF8p OwotKwkJcHVibGljIGJvb2wgZ2V0X2F4aXNfdmFsdWUgKGRvdWJsZSBheGVzLCBDbHV0dGVyLklu cHV0QXhpcyBheGlzLCBkb3VibGUgdmFsdWUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIp XQotKwkJcHVibGljIENsdXR0ZXIuSW5wdXRNb2RlIGdldF9kZXZpY2VfbW9kZSAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfZGV2 aWNlX25hbWUgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X2RldmljZV9ub2RlICgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIENsdXR0ZXIuSW5wdXRE ZXZpY2VUeXBlIGdldF9kZXZpY2VfdHlwZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEw IildCi0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkFjdG9yIGdldF9ncmFiYmVkX2FjdG9yICgp OwotKwkJcHVibGljIHZpcnR1YWwgaW50IGdldF9ncm91cF9uX21vZGVzIChpbnQgZ3JvdXApOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIGJvb2wgZ2V0X2hhc19jdXJz b3IgKCk7Ci0rCQlwdWJsaWMgaW50IGdldF9tb2RlX3N3aXRjaF9idXR0b25fZ3JvdXAgKHVpbnQg YnV0dG9uKTsKLSsJCXB1YmxpYyB1aW50IGdldF9uX2F4ZXMgKCk7Ci0rCQlwdWJsaWMgaW50IGdl dF9uX2J1dHRvbnMgKCk7Ci0rCQlwdWJsaWMgaW50IGdldF9uX21vZGVfZ3JvdXBzICgpOwotKwkJ cHVibGljIGludCBnZXRfbl9yaW5ncyAoKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X25fc3RyaXBzICgp OwotKwkJcHVibGljIHZpcnR1YWwgaW50IGdldF9wYWRfZmVhdHVyZV9ncm91cCAoQ2x1dHRlci5J bnB1dERldmljZVBhZEZlYXR1cmUgZmVhdHVyZSwgaW50IG5fZmVhdHVyZSk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMS4yMiIpXQotKwkJcHVibGljIHVub3duZWQgc3RyaW5nIGdldF9wcm9kdWN0 X2lkICgpOwotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5TZWF0IGdldF9zZWF0ICgpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMjIiKV0KLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRf dmVuZG9yX2lkICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2 b2lkIGdyYWIgKENsdXR0ZXIuQWN0b3IgYWN0b3IpOwotKwkJcHVibGljIHZpcnR1YWwgYm9vbCBp c19ncm91cGVkIChDbHV0dGVyLklucHV0RGV2aWNlIG90aGVyX2RldmljZSk7Ci0rCQlwdWJsaWMg dmlydHVhbCBib29sIGlzX21vZGVfc3dpdGNoX2J1dHRvbiAodWludCBncm91cCwgdWludCBidXR0 b24pOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENs dXR0ZXIuQWN0b3Igc2VxdWVuY2VfZ2V0X2dyYWJiZWRfYWN0b3IgKENsdXR0ZXIuRXZlbnRTZXF1 ZW5jZSBzZXF1ZW5jZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGlj IHZvaWQgc2VxdWVuY2VfZ3JhYiAoQ2x1dHRlci5FdmVudFNlcXVlbmNlIHNlcXVlbmNlLCBDbHV0 dGVyLkFjdG9yIGFjdG9yKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJs aWMgdm9pZCBzZXF1ZW5jZV91bmdyYWIgKENsdXR0ZXIuRXZlbnRTZXF1ZW5jZSBzZXF1ZW5jZSk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgdW5ncmFiICgp OwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0r CQlwdWJsaWMgQ2x1dHRlci5CYWNrZW5kIGJhY2tlbmQgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsg fQotKwkJcHVibGljIENsdXR0ZXIuSW5wdXRNb2RlIGRldmljZV9tb2RlIHsgZ2V0OyBjb25zdHJ1 Y3Q7IH0KLSsJCXB1YmxpYyBzdHJpbmcgZGV2aWNlX25vZGUgeyBnZXQ7IGNvbnN0cnVjdDsgfQot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIENsdXR0ZXIuSW5wdXREZXZp Y2VUeXBlIGRldmljZV90eXBlIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBib29sIGhhc19jdXJzb3IgeyBnZXQ7IGNvbnN0cnVjdDsg fQotKwkJcHVibGljIGludCBuX2J1dHRvbnMgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVibGlj IGludCBuX21vZGVfZ3JvdXBzIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCXB1YmxpYyBpbnQgbl9y aW5ncyB7IGdldDsgY29uc3RydWN0OyB9Ci0rCQlwdWJsaWMgaW50IG5fc3RyaXBzIHsgZ2V0OyBj b25zdHJ1Y3Q7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMiIpXQotKwkJcHVibGljIHN0cmluZyBuYW1lIHsgb3duZWQgZ2V0OyBjb25zdHJ1Y3Q7IH0K LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIyIildCi0rCQlwdWJsaWMgc3RyaW5nIHByb2R1Y3Rf aWQgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJcHVibGljIENsdXR0ZXIuU2VhdCBzZWF0IHsgZ2V0 OyBjb25zdHJ1Y3Q7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIyIildCi0rCQlwdWJsaWMg c3RyaW5nIHZlbmRvcl9pZCB7IGdldDsgY29uc3RydWN0OyB9Ci0rCX0KLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2lu cHV0X2RldmljZV90b29sX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBJ bnB1dERldmljZVRvb2wgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3Rf ZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgSW5wdXREZXZpY2VUb29sICgpOwotKwkJ cHVibGljIENsdXR0ZXIuSW5wdXRBeGlzRmxhZ3MgZ2V0X2F4ZXMgKCk7Ci0rCQlwdWJsaWMgdWlu dDY0IGdldF9pZCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjI4IildCi0rCQlwdWJsaWMg dWludDY0IGdldF9zZXJpYWwgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yOCIpXQotKwkJ cHVibGljIENsdXR0ZXIuSW5wdXREZXZpY2VUb29sVHlwZSBnZXRfdG9vbF90eXBlICgpOwotKwkJ cHVibGljIENsdXR0ZXIuSW5wdXRBeGlzRmxhZ3MgYXhlcyB7IGdldDsgY29uc3RydWN0OyB9Ci0r CQlwdWJsaWMgdWludDY0IGlkIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCXB1YmxpYyB1aW50NjQg c2VyaWFsIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVi bGljIENsdXR0ZXIuSW5wdXREZXZpY2VUb29sVHlwZSB0eXBlIHsgZ2V0OyBjb25zdHJ1Y3Q7IH0K LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0 eXBlX2lkID0gImNsdXR0ZXJfaW5wdXRfZm9jdXNfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGFi c3RyYWN0IGNsYXNzIElucHV0Rm9jdXMgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19j b25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgSW5wdXRGb2N1cyAoKTsK LSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGNvbW1pdF90ZXh0IChzdHJp bmcgdGV4dCk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBkZWxldGVf c3Vycm91bmRpbmcgKGludCBvZmZzZXQsIHVpbnQgbGVuKTsKLSsJCXB1YmxpYyBib29sIGZpbHRl cl9ldmVudCAoQ2x1dHRlci5FdmVudCBldmVudCk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGlj IHZpcnR1YWwgdm9pZCBmb2N1c19pbiAoQ2x1dHRlci5JbnB1dE1ldGhvZCBpbnB1dF9tZXRob2Qp OwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZm9jdXNfb3V0ICgpOwot KwkJcHVibGljIGJvb2wgaXNfZm9jdXNlZCAoKTsKLSsJCVtOb1dyYXBwZXJdCi0rCQlwdWJsaWMg dmlydHVhbCB2b2lkIHJlcXVlc3Rfc3Vycm91bmRpbmcgKCk7Ci0rCQlwdWJsaWMgdm9pZCByZXNl dCAoKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9jYW5fc2hvd19wcmVlZGl0IChib29sIGNhbl9zaG93 X3ByZWVkaXQpOwotKwkJcHVibGljIHZvaWQgc2V0X2NvbnRlbnRfaGludHMgKENsdXR0ZXIuSW5w dXRDb250ZW50SGludEZsYWdzIGhpbnQpOwotKwkJcHVibGljIHZvaWQgc2V0X2NvbnRlbnRfcHVy cG9zZSAoQ2x1dHRlci5JbnB1dENvbnRlbnRQdXJwb3NlIHB1cnBvc2UpOwotKwkJcHVibGljIHZv aWQgc2V0X2N1cnNvcl9sb2NhdGlvbiAoR3JhcGhlbmUuUmVjdCByZWN0KTsKLSsJCXB1YmxpYyB2 b2lkIHNldF9pbnB1dF9wYW5lbF9zdGF0ZSAoQ2x1dHRlci5JbnB1dFBhbmVsU3RhdGUgc3RhdGUp OwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgc2V0X3ByZWVkaXRfdGV4 dCAoc3RyaW5nIHByZWVkaXQsIHVpbnQgY3Vyc29yKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9zdXJy b3VuZGluZyAoc3RyaW5nIHRleHQsIHVpbnQgY3Vyc29yLCB1aW50IGFuY2hvcik7Ci0rCX0KLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9 ICJjbHV0dGVyX2lucHV0X21ldGhvZF9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgYWJzdHJhY3Qg Y2xhc3MgSW5wdXRNZXRob2QgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1 Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgSW5wdXRNZXRob2QgKCk7Ci0rCQlb Tm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgYm9vbCBmaWx0ZXJfa2V5X2V2ZW50IChDbHV0 dGVyLkV2ZW50IGtleSk7Ci0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGZvY3VzX2luIChDbHV0dGVy LklucHV0Rm9jdXMgYWN0b3IpOwotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBmb2N1c19vdXQgKCk7 Ci0rCQlwdWJsaWMgdm9pZCBmb3J3YXJkX2tleSAodWludDMyIGtleXZhbCwgdWludDMyIGtleWNv ZGUsIHVpbnQzMiBzdGF0ZSwgdWludDY0IHRpbWVfLCBib29sIHByZXNzKTsKLSsJCXB1YmxpYyB2 b2lkIG5vdGlmeV9rZXlfZXZlbnQgKENsdXR0ZXIuRXZlbnQgZXZlbnQsIGJvb2wgZmlsdGVyZWQp OwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgcmVzZXQgKCk7Ci0rCQlb Tm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBzZXRfY3Vyc29yX2xvY2F0aW9uIChH cmFwaGVuZS5SZWN0IHJlY3QpOwotKwkJcHVibGljIHZvaWQgc2V0X2lucHV0X3BhbmVsX3N0YXRl IChDbHV0dGVyLklucHV0UGFuZWxTdGF0ZSBzdGF0ZSk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcHJl ZWRpdF90ZXh0IChzdHJpbmc/IHByZWVkaXQsIHVpbnQgY3Vyc29yKTsKLSsJCVtOb1dyYXBwZXJd Ci0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHNldF9zdXJyb3VuZGluZyAoc3RyaW5nIHRleHQsIHVp bnQgY3Vyc29yLCB1aW50IGFuY2hvcik7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1 YWwgdm9pZCB1cGRhdGVfY29udGVudF9oaW50cyAoQ2x1dHRlci5JbnB1dENvbnRlbnRIaW50Rmxh Z3MgaGludCk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCB1cGRhdGVf Y29udGVudF9wdXJwb3NlIChDbHV0dGVyLklucHV0Q29udGVudFB1cnBvc2UgcHVycG9zZSk7Ci0r CQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBib29sIGNhbl9zaG93X3ByZWVkaXQgeyBn ZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgQ2x1dHRlci5JbnB1 dENvbnRlbnRIaW50RmxhZ3MgY29udGVudF9oaW50cyB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nl c3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBDbHV0dGVyLklucHV0Q29udGVudFB1cnBvc2UgY29udGVu dF9wdXJwb3NlIHsgZ2V0OyBzZXQ7IH0KLSsJCVtIYXNFbWl0dGVyXQotKwkJcHVibGljIHNpZ25h bCB2b2lkIGNvbW1pdCAoc3RyaW5nIHRleHQpOwotKwkJcHVibGljIHNpZ25hbCB2b2lkIGN1cnNv cl9sb2NhdGlvbl9jaGFuZ2VkIChHcmFwaGVuZS5SZWN0IG9iamVjdCk7Ci0rCQlbSGFzRW1pdHRl cl0KLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBkZWxldGVfc3Vycm91bmRpbmcgKGludCBvZmZzZXQs IHVpbnQgbGVuKTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBpbnB1dF9wYW5lbF9zdGF0ZSAoQ2x1 dHRlci5JbnB1dFBhbmVsU3RhdGUgb2JqZWN0KTsKLSsJCVtIYXNFbWl0dGVyXQotKwkJcHVibGlj IHNpZ25hbCB2b2lkIHJlcXVlc3Rfc3Vycm91bmRpbmcgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2lu dGVydmFsX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJcHVi bGljIGNsYXNzIEludGVydmFsIDogR0xpYi5Jbml0aWFsbHlVbm93bmVkLCBDbHV0dGVyLlNjcmlw dGFibGUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJ cHVibGljIEludGVydmFsIChHTGliLlR5cGUgZ3R5cGUsIC4uLik7Ci0rCQlwdWJsaWMgQ2x1dHRl ci5JbnRlcnZhbCBjbG9uZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1 YmxpYyB1bm93bmVkIEdMaWIuVmFsdWU/IGNvbXB1dGUgKGRvdWJsZSBmYWN0b3IpOwotKwkJcHVi bGljIHZpcnR1YWwgYm9vbCBjb21wdXRlX3ZhbHVlIChkb3VibGUgZmFjdG9yLCBvdXQgR0xpYi5W YWx1ZSB2YWx1ZSk7Ci0rCQlwdWJsaWMgR0xpYi5WYWx1ZSBnZXRfZmluYWxfdmFsdWUgKCk7Ci0r CQlwdWJsaWMgR0xpYi5WYWx1ZSBnZXRfaW5pdGlhbF92YWx1ZSAoKTsKLSsJCXB1YmxpYyB2b2lk IGdldF9pbnRlcnZhbCAoLi4uKTsKLSsJCXB1YmxpYyBHTGliLlR5cGUgZ2V0X3ZhbHVlX3R5cGUg KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIGJvb2wgaXNfdmFs aWQgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBHTGliLlZhbHVlPyBwZWVrX2ZpbmFsX3ZhbHVlICgp OwotKwkJcHVibGljIHVub3duZWQgR0xpYi5WYWx1ZT8gcGVla19pbml0aWFsX3ZhbHVlICgpOwot KwkJcHVibGljIHN0YXRpYyB2b2lkIHJlZ2lzdGVyX3Byb2dyZXNzX2Z1bmMgKEdMaWIuVHlwZSB2 YWx1ZV90eXBlLCBDbHV0dGVyLlByb2dyZXNzRnVuYyBmdW5jKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfZmluYWwgKC4uLik7Ci0rCQlwdWJsaWMg dm9pZCBzZXRfZmluYWxfdmFsdWUgKEdMaWIuVmFsdWUgdmFsdWUpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9pbml0aWFsICguLi4pOwotKwkJcHVi bGljIHZvaWQgc2V0X2luaXRpYWxfdmFsdWUgKEdMaWIuVmFsdWUgdmFsdWUpOwotKwkJcHVibGlj IHZvaWQgc2V0X2ludGVydmFsICguLi4pOwotKwkJcHVibGljIHZpcnR1YWwgYm9vbCB2YWxpZGF0 ZSAoR0xpYi5QYXJhbVNwZWMgcHNwZWMpOwotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0 aW9uID0gZmFsc2UpXQotKwkJcHVibGljIEludGVydmFsLndpdGhfdmFsdWVzIChHTGliLlR5cGUg Z3R5cGUsIEdMaWIuVmFsdWU/IGluaXRpYWwsIEdMaWIuVmFsdWU/IGZpbmFsKTsKLSsJCVtOb0Fj Y2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBH TGliLlZhbHVlIGZpbmFsIHsgb3duZWQgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9k XQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBHTGliLlZhbHVlIGlu aXRpYWwgeyBvd25lZCBnZXQ7IHNldDsgfQotKwkJcHVibGljIEdMaWIuVHlwZSB2YWx1ZV90eXBl IHsgZ2V0OyBjb25zdHJ1Y3Q7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0r CVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLSsJcHVibGljIGNsYXNzIEtleUV2ZW50IDogQ2x1 dHRlci5FdmVudCB7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2aWNlIGRldmljZTsK LSsJCXB1YmxpYyB1aW50MzIgZXZkZXZfY29kZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50Rmxh Z3MgZmxhZ3M7Ci0rCQlwdWJsaWMgdWludDE2IGhhcmR3YXJlX2tleWNvZGU7Ci0rCQlwdWJsaWMg dWludCBrZXl2YWw7Ci0rCQlwdWJsaWMgQ2x1dHRlci5Nb2RpZmllclR5cGUgbW9kaWZpZXJfc3Rh dGU7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKLSsJCXB1YmxpYyB3ZWFr IENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWludDMyIHRpbWU7Ci0rCQlwdWJsaWMg Q2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJCXB1YmxpYyB1bmljaGFyIHVuaWNvZGVfdmFsdWU7 Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg dHlwZV9pZCA9ICJjbHV0dGVyX2tleWZyYW1lX3RyYW5zaXRpb25fZ2V0X3R5cGUgKCkiKV0KLSsJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJcHVibGljIGNsYXNzIEtleWZyYW1lVHJhbnNp dGlvbiA6IENsdXR0ZXIuUHJvcGVydHlUcmFuc2l0aW9uLCBDbHV0dGVyLlNjcmlwdGFibGUgewot KwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRl clRyYW5zaXRpb24qIildCi0rCQlwdWJsaWMgS2V5ZnJhbWVUcmFuc2l0aW9uIChzdHJpbmcgcHJv cGVydHlfbmFtZSk7Ci0rCQlwdWJsaWMgdm9pZCBjbGVhciAoKTsKLSsJCXB1YmxpYyB2b2lkIGdl dF9rZXlfZnJhbWUgKHVpbnQgaW5kZXhfLCBvdXQgZG91YmxlIGtleSwgb3V0IENsdXR0ZXIuQW5p bWF0aW9uTW9kZSBtb2RlLCBvdXQgR0xpYi5WYWx1ZSB2YWx1ZSk7Ci0rCQlwdWJsaWMgdWludCBn ZXRfbl9rZXlfZnJhbWVzICgpOwotKwkJcHVibGljIHZvaWQgc2V0X2tleV9mcmFtZSAodWludCBp bmRleF8sIGRvdWJsZSBrZXksIENsdXR0ZXIuQW5pbWF0aW9uTW9kZSBtb2RlLCBHTGliLlZhbHVl IHZhbHVlKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9rZXlfZnJhbWVzIChbQ0NvZGUgKGFycmF5X2xl bmd0aF9jbmFtZSA9ICJuX2tleV9mcmFtZXMiLCBhcnJheV9sZW5ndGhfcG9zID0gMC41LCBhcnJh eV9sZW5ndGhfdHlwZSA9ICJndWludCIpXSBkb3VibGVbXSBrZXlfZnJhbWVzKTsKLSsJCXB1Ymxp YyB2b2lkIHNldF9tb2RlcyAoW0NDb2RlIChhcnJheV9sZW5ndGhfY25hbWUgPSAibl9tb2RlcyIs IGFycmF5X2xlbmd0aF9wb3MgPSAwLjUsIGFycmF5X2xlbmd0aF90eXBlID0gImd1aW50IildIENs dXR0ZXIuQW5pbWF0aW9uTW9kZVtdIG1vZGVzKTsKLSsJCXB1YmxpYyB2b2lkIHNldF92YWx1ZXMg KFtDQ29kZSAoYXJyYXlfbGVuZ3RoX2NuYW1lID0gIm5fdmFsdWVzIiwgYXJyYXlfbGVuZ3RoX3Bv cyA9IDAuNSwgYXJyYXlfbGVuZ3RoX3R5cGUgPSAiZ3VpbnQiKV0gR0xpYi5WYWx1ZVtdIHZhbHVl cyk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgdHlwZV9pZCA9ICJjbHV0dGVyX2tleW1hcF9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgYWJz dHJhY3QgY2xhc3MgS2V5bWFwIDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3Ry dWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIEtleW1hcCAoKTsKLSsJCXB1Ymxp YyB2aXJ0dWFsIGJvb2wgZ2V0X2NhcHNfbG9ja19zdGF0ZSAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFs IFBhbmdvLkRpcmVjdGlvbiBnZXRfZGlyZWN0aW9uICgpOwotKwkJcHVibGljIHZpcnR1YWwgYm9v bCBnZXRfbnVtX2xvY2tfc3RhdGUgKCk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgc3RhdGVfY2hh bmdlZCAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfbGF5ZXJfbm9kZV9nZXRfdHlwZSAoKSIpXQotKwlw dWJsaWMgY2xhc3MgTGF5ZXJOb2RlIDogQ2x1dHRlci5QYWludE5vZGUgewotKwkJW0NDb2RlICho YXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlclBhaW50Tm9kZSoi KV0KLSsJCXB1YmxpYyBMYXllck5vZGUgKEdyYXBoZW5lLk1hdHJpeCBwcm9qZWN0aW9uLCBDYWly by5SZWN0YW5nbGUgdmlld3BvcnQsIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQsIHVpbnQ4IG9w YWNpdHkpOwotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUg PSAiQ2x1dHRlclBhaW50Tm9kZSoiKV0KLSsJCXB1YmxpYyBMYXllck5vZGUudG9fZnJhbWVidWZm ZXIgKENvZ2wuRnJhbWVidWZmZXIgZnJhbWVidWZmZXIsIENvZ2wuUGlwZWxpbmUgcGlwZWxpbmUp OwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IHR5cGVfaWQgPSAiY2x1dHRlcl9sYXlvdXRfbWFuYWdlcl9nZXRfdHlwZSAoKSIpXQotKwlbVmVy c2lvbiAoc2luY2UgPSAiMS4yIildCi0rCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBMYXlvdXRNYW5h Z2VyIDogR0xpYi5Jbml0aWFsbHlVbm93bmVkIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9m dW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBMYXlvdXRNYW5hZ2VyICgpOwotKwkJcHVi bGljIHZpcnR1YWwgdm9pZCBhbGxvY2F0ZSAoQ2x1dHRlci5Db250YWluZXIgY29udGFpbmVyLCBD bHV0dGVyLkFjdG9yQm94IGFsbG9jYXRpb24pOwotKwkJcHVibGljIHZvaWQgY2hpbGRfZ2V0IChD bHV0dGVyLkNvbnRhaW5lciBjb250YWluZXIsIENsdXR0ZXIuQWN0b3IgYWN0b3IsIC4uLik7Ci0r CQlwdWJsaWMgdm9pZCBjaGlsZF9nZXRfcHJvcGVydHkgKENsdXR0ZXIuQ29udGFpbmVyIGNvbnRh aW5lciwgQ2x1dHRlci5BY3RvciBhY3Rvciwgc3RyaW5nIHByb3BlcnR5X25hbWUsIEdMaWIuVmFs dWUgdmFsdWUpOwotKwkJcHVibGljIHZvaWQgY2hpbGRfc2V0IChDbHV0dGVyLkNvbnRhaW5lciBj b250YWluZXIsIENsdXR0ZXIuQWN0b3IgYWN0b3IsIC4uLik7Ci0rCQlwdWJsaWMgdm9pZCBjaGls ZF9zZXRfcHJvcGVydHkgKENsdXR0ZXIuQ29udGFpbmVyIGNvbnRhaW5lciwgQ2x1dHRlci5BY3Rv ciBhY3Rvciwgc3RyaW5nIHByb3BlcnR5X25hbWUsIEdMaWIuVmFsdWUgdmFsdWUpOwotKwkJW05v V3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHVub3duZWQgQ2x1dHRlci5MYXlvdXRNZXRhIGNy ZWF0ZV9jaGlsZF9tZXRhIChDbHV0dGVyLkNvbnRhaW5lciBjb250YWluZXIsIENsdXR0ZXIuQWN0 b3IgYWN0b3IpOwotKwkJcHVibGljIHVub3duZWQgR0xpYi5QYXJhbVNwZWMgZmluZF9jaGlsZF9w cm9wZXJ0eSAoc3RyaW5nIG5hbWUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJ cHVibGljIHVub3duZWQgQ2x1dHRlci5MYXlvdXRNZXRhIGdldF9jaGlsZF9tZXRhIChDbHV0dGVy LkNvbnRhaW5lciBjb250YWluZXIsIENsdXR0ZXIuQWN0b3IgYWN0b3IpOwotKwkJW05vV3JhcHBl cl0KLSsJCXB1YmxpYyB2aXJ0dWFsIEdMaWIuVHlwZSBnZXRfY2hpbGRfbWV0YV90eXBlICgpOwot KwkJcHVibGljIHZpcnR1YWwgdm9pZCBnZXRfcHJlZmVycmVkX2hlaWdodCAoQ2x1dHRlci5Db250 YWluZXIgY29udGFpbmVyLCBmbG9hdCBmb3Jfd2lkdGgsIG91dCBmbG9hdCBtaW5faGVpZ2h0X3As IG91dCBmbG9hdCBuYXRfaGVpZ2h0X3ApOwotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBnZXRfcHJl ZmVycmVkX3dpZHRoIChDbHV0dGVyLkNvbnRhaW5lciBjb250YWluZXIsIGZsb2F0IGZvcl9oZWln aHQsIG91dCBmbG9hdCBtaW5fd2lkdGhfcCwgb3V0IGZsb2F0IG5hdF93aWR0aF9wKTsKLSsJCVtD Q29kZSAoYXJyYXlfbGVuZ3RoX3BvcyA9IDAuMSwgYXJyYXlfbGVuZ3RoX3R5cGUgPSAiZ3VpbnQi KV0KLSsJCXB1YmxpYyBHTGliLlBhcmFtU3BlY1tdIGxpc3RfY2hpbGRfcHJvcGVydGllcyAoKTsK LSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgc2V0X2NvbnRhaW5lciAoQ2x1dHRlci5Db250YWluZXI/ IGNvbnRhaW5lcik7Ci0rCQlbSGFzRW1pdHRlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2 b2lkIGxheW91dF9jaGFuZ2VkICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9sYXlvdXRfbWV0YV9nZXRf dHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCi0rCXB1YmxpYyBhYnN0cmFj dCBjbGFzcyBMYXlvdXRNZXRhIDogQ2x1dHRlci5DaGlsZE1ldGEgewotKwkJW0NDb2RlIChoYXNf Y29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIExheW91dE1ldGEgKCk7 Ci0rCQlwdWJsaWMgdW5vd25lZCBDbHV0dGVyLkxheW91dE1hbmFnZXIgZ2V0X21hbmFnZXIgKCk7 Ci0rCQlwdWJsaWMgQ2x1dHRlci5MYXlvdXRNYW5hZ2VyIG1hbmFnZXIgeyBnZXQ7IGNvbnN0cnVj dDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0KLSsJW1ZlcnNpb24gKHNpbmNl ID0gIjAuMiIpXQotKwlwdWJsaWMgY2xhc3MgTW90aW9uRXZlbnQgOiBDbHV0dGVyLkV2ZW50IHsK LSsJCXB1YmxpYyBkb3VibGUgYXhlczsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZp Y2UgZGV2aWNlOwotKwkJcHVibGljIGRvdWJsZSBkeDsKLSsJCXB1YmxpYyBkb3VibGUgZHhfdW5h Y2NlbDsKLSsJCXB1YmxpYyBkb3VibGUgZHk7Ci0rCQlwdWJsaWMgZG91YmxlIGR5X3VuYWNjZWw7 Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotKwkJcHVibGljIENsdXR0ZXIu TW9kaWZpZXJUeXBlIG1vZGlmaWVyX3N0YXRlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5BY3Rv ciBzb3VyY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLlN0YWdlIHN0YWdlOwotKwkJcHVibGlj IHVpbnQzMiB0aW1lOwotKwkJcHVibGljIGludDY0IHRpbWVfdXM7Ci0rCQlwdWJsaWMgQ2x1dHRl ci5FdmVudFR5cGUgdHlwZTsKLSsJCXB1YmxpYyBmbG9hdCB4OwotKwkJcHVibGljIGZsb2F0IHk7 Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg dHlwZV9pZCA9ICJjbHV0dGVyX29mZnNjcmVlbl9lZmZlY3RfZ2V0X3R5cGUgKCkiKV0KLSsJW1Zl cnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwlwdWJsaWMgYWJzdHJhY3QgY2xhc3MgT2Zmc2NyZWVu RWZmZWN0IDogQ2x1dHRlci5FZmZlY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0 aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIE9mZnNjcmVlbkVmZmVjdCAoKTsKLSsJCXB1Ymxp YyB2aXJ0dWFsIENvZ2wuSGFuZGxlIGNyZWF0ZV90ZXh0dXJlIChmbG9hdCB3aWR0aCwgZmxvYXQg aGVpZ2h0KTsKLSsJCXB1YmxpYyB1bm93bmVkIENvZ2wuUGlwZWxpbmU/IGdldF9waXBlbGluZSAo KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyBib29sIGdldF90YXJn ZXRfc2l6ZSAob3V0IGZsb2F0IHdpZHRoLCBvdXQgZmxvYXQgaGVpZ2h0KTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdW5vd25lZCBDb2dsLkhhbmRsZSBnZXRfdGV4 dHVyZSAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgcGFpbnRfdGFyZ2V0IChDbHV0dGVyLlBh aW50Tm9kZSBub2RlLCBDbHV0dGVyLlBhaW50Q29udGV4dCBwYWludF9jb250ZXh0KTsKLSsJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlw ZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBQYWRCdXR0b25FdmVu dCA6IENsdXR0ZXIuRXZlbnQgewotKwkJcHVibGljIHVpbnQzMiBidXR0b247Ci0rCQlwdWJsaWMg d2VhayBDbHV0dGVyLklucHV0RGV2aWNlIGRldmljZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50 RmxhZ3MgZmxhZ3M7Ci0rCQlwdWJsaWMgdWludDMyIGdyb3VwOwotKwkJcHVibGljIHVpbnQzMiBt b2RlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5BY3RvciBzb3VyY2U7Ci0rCQlwdWJsaWMgd2Vh ayBDbHV0dGVyLlN0YWdlIHN0YWdlOwotKwkJcHVibGljIHVpbnQzMiB0aW1lOwotKwkJcHVibGlj IENsdXR0ZXIuRXZlbnRUeXBlIHR5cGU7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtDb21wYWN0 XQotKwlwdWJsaWMgY2xhc3MgUGFkUmluZ0V2ZW50IDogQ2x1dHRlci5FdmVudCB7Ci0rCQlwdWJs aWMgZG91YmxlIGFuZ2xlOwotKwkJcHVibGljIHdlYWsgQ2x1dHRlci5JbnB1dERldmljZSBkZXZp Y2U7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotKwkJcHVibGljIHVpbnQz MiBncm91cDsKLSsJCXB1YmxpYyB1aW50MzIgbW9kZTsKLSsJCXB1YmxpYyB1aW50MzIgcmluZ19u dW1iZXI7Ci0rCQlwdWJsaWMgQ2x1dHRlci5JbnB1dERldmljZVBhZFNvdXJjZSByaW5nX3NvdXJj ZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0b3Igc291cmNlOwotKwkJcHVibGljIHdlYWsg Q2x1dHRlci5TdGFnZSBzdGFnZTsKLSsJCXB1YmxpYyB1aW50MzIgdGltZTsKLSsJCXB1YmxpYyBD bHV0dGVyLkV2ZW50VHlwZSB0eXBlOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0K LSsJcHVibGljIGNsYXNzIFBhZFN0cmlwRXZlbnQgOiBDbHV0dGVyLkV2ZW50IHsKLSsJCXB1Ymxp YyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlOwotKwkJcHVibGljIENsdXR0ZXIuRXZl bnRGbGFncyBmbGFnczsKLSsJCXB1YmxpYyB1aW50MzIgZ3JvdXA7Ci0rCQlwdWJsaWMgdWludDMy IG1vZGU7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKLSsJCXB1YmxpYyB3 ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWludDMyIHN0cmlwX251bWJlcjsK LSsJCXB1YmxpYyBDbHV0dGVyLklucHV0RGV2aWNlUGFkU291cmNlIHN0cmlwX3NvdXJjZTsKLSsJ CXB1YmxpYyB1aW50MzIgdGltZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOwot KwkJcHVibGljIGRvdWJsZSB2YWx1ZTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfcGFnZV90dXJuX2VmZmVj dF9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCXB1YmxpYyBj bGFzcyBQYWdlVHVybkVmZmVjdCA6IENsdXR0ZXIuRGVmb3JtRWZmZWN0IHsKLSsJCVtDQ29kZSAo aGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJFZmZlY3QqIild Ci0rCQlwdWJsaWMgUGFnZVR1cm5FZmZlY3QgKGRvdWJsZSBwZXJpb2QsIGRvdWJsZSBhbmdsZSwg ZmxvYXQgcmFkaXVzKTsKLSsJCXB1YmxpYyBkb3VibGUgZ2V0X2FuZ2xlICgpOwotKwkJcHVibGlj IGRvdWJsZSBnZXRfcGVyaW9kICgpOwotKwkJcHVibGljIGZsb2F0IGdldF9yYWRpdXMgKCk7Ci0r CQlwdWJsaWMgdm9pZCBzZXRfYW5nbGUgKGRvdWJsZSBhbmdsZSk7Ci0rCQlwdWJsaWMgdm9pZCBz ZXRfcGVyaW9kIChkb3VibGUgcGVyaW9kKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9yYWRpdXMgKGZs b2F0IHJhZGl1cyk7Ci0rCQlwdWJsaWMgZG91YmxlIGFuZ2xlIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1 YmxpYyBkb3VibGUgcGVyaW9kIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBmbG9hdCByYWRpdXMg eyBnZXQ7IHNldDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIHJlZl9mdW5jdGlvbiA9ICJjbHV0dGVyX3BhaW50X2NvbnRleHRfcmVmIiwg dHlwZV9pZCA9ICJjbHV0dGVyX3BhaW50X2NvbnRleHRfZ2V0X3R5cGUgKCkiLCB1bnJlZl9mdW5j dGlvbiA9ICJjbHV0dGVyX3BhaW50X2NvbnRleHRfdW5yZWYiKV0KLSsJW0NvbXBhY3RdCi0rCXB1 YmxpYyBjbGFzcyBQYWludENvbnRleHQgewotKwkJcHVibGljIHZvaWQgZGVzdHJveSAoKTsKLSsJ CXB1YmxpYyB1bm93bmVkIENvZ2wuRnJhbWVidWZmZXIgZ2V0X2ZyYW1lYnVmZmVyICgpOwotKwkJ cHVibGljIHVub3duZWQgQ2Fpcm8uUmVnaW9uIGdldF9yZWRyYXdfY2xpcCAoKTsKLSsJCXB1Ymxp YyB2b2lkIHBvcF9mcmFtZWJ1ZmZlciAoKTsKLSsJCXB1YmxpYyB2b2lkIHB1c2hfZnJhbWVidWZm ZXIgKENvZ2wuRnJhbWVidWZmZXIgZnJhbWVidWZmZXIpOwotKwkJcHVibGljIHVub3duZWQgQ2x1 dHRlci5QYWludENvbnRleHQgQHJlZiAoKTsKLSsJCXB1YmxpYyB2b2lkIHVucmVmICgpOwotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVf aWQgPSAiY2x1dHRlcl9wYWludF9ub2RlX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEwIildCi0rCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBQYWludE5vZGUgewotKwkJW0ND b2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFBhaW50 Tm9kZSAoKTsKLSsJCXB1YmxpYyB2b2lkIGFkZF9jaGlsZCAoQ2x1dHRlci5QYWludE5vZGUgY2hp bGQpOwotKwkJcHVibGljIHZvaWQgYWRkX211bHRpdGV4dHVyZV9yZWN0YW5nbGUgKENsdXR0ZXIu QWN0b3JCb3ggcmVjdCwgZmxvYXQgdGV4dF9jb29yZHMsIHVpbnQgdGV4dF9jb29yZHNfbGVuKTsK LSsJCXB1YmxpYyB2b2lkIGFkZF9yZWN0YW5nbGUgKENsdXR0ZXIuQWN0b3JCb3ggcmVjdCk7Ci0r CQlwdWJsaWMgdm9pZCBhZGRfcmVjdGFuZ2xlcyAoW0NDb2RlIChhcnJheV9sZW5ndGhfY25hbWUg PSAibl9yZWN0cyIsIGFycmF5X2xlbmd0aF9wb3MgPSAxLjEsIGFycmF5X2xlbmd0aF90eXBlID0g Imd1aW50IildIGZsb2F0W10gY29vcmRzKTsKLSsJCXB1YmxpYyB2b2lkIGFkZF90ZXh0dXJlX3Jl Y3RhbmdsZSAoQ2x1dHRlci5BY3RvckJveCByZWN0LCBmbG9hdCB4XzEsIGZsb2F0IHlfMSwgZmxv YXQgeF8yLCBmbG9hdCB5XzIpOwotKwkJcHVibGljIHZvaWQgYWRkX3RleHR1cmVfcmVjdGFuZ2xl cyAoW0NDb2RlIChhcnJheV9sZW5ndGhfY25hbWUgPSAibl9yZWN0cyIsIGFycmF5X2xlbmd0aF9w b3MgPSAxLjEsIGFycmF5X2xlbmd0aF90eXBlID0gImd1aW50IildIGZsb2F0W10gY29vcmRzKTsK LSsJCXB1YmxpYyB1bm93bmVkIENvZ2wuRnJhbWVidWZmZXIgZ2V0X2ZyYW1lYnVmZmVyICgpOwot KwkJcHVibGljIHZvaWQgcGFpbnQgKENsdXR0ZXIuUGFpbnRDb250ZXh0IHBhaW50X2NvbnRleHQp OwotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5QYWludE5vZGUgQHJlZiAoKTsKLSsJCXB1Ymxp YyB2b2lkIHNldF9uYW1lIChzdHJpbmcgbmFtZSk7Ci0rCQlwdWJsaWMgdm9pZCB1bnJlZiAoKTsK LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0 eXBlX2lkID0gImNsdXR0ZXJfcGFuX2FjdGlvbl9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMiIpXQotKwlwdWJsaWMgY2xhc3MgUGFuQWN0aW9uIDogQ2x1dHRlci5HZXN0 dXJlQWN0aW9uIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0 eXBlID0gIkNsdXR0ZXJBY3Rpb24qIildCi0rCQlwdWJsaWMgUGFuQWN0aW9uICgpOwotKwkJcHVi bGljIGRvdWJsZSBnZXRfYWNjZWxlcmF0aW9uX2ZhY3RvciAoKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjI0IildCi0rCQlwdWJsaWMgZmxvYXQgZ2V0X2NvbnN0cmFpbmVkX21vdGlvbl9kZWx0 YSAodWludCBwb2ludCwgb3V0IGZsb2F0IGRlbHRhX3gsIG91dCBmbG9hdCBkZWx0YV95KTsKLSsJ CXB1YmxpYyBkb3VibGUgZ2V0X2RlY2VsZXJhdGlvbiAoKTsKLSsJCXB1YmxpYyBib29sIGdldF9p bnRlcnBvbGF0ZSAoKTsKLSsJCXB1YmxpYyB2b2lkIGdldF9pbnRlcnBvbGF0ZWRfY29vcmRzIChv dXQgZmxvYXQgaW50ZXJwb2xhdGVkX3gsIG91dCBmbG9hdCBpbnRlcnBvbGF0ZWRfeSk7Ci0rCQlw dWJsaWMgZmxvYXQgZ2V0X2ludGVycG9sYXRlZF9kZWx0YSAob3V0IGZsb2F0IGRlbHRhX3gsIG91 dCBmbG9hdCBkZWx0YV95KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE0IildCi0rCQlwdWJs aWMgdm9pZCBnZXRfbW90aW9uX2Nvb3JkcyAodWludCBwb2ludCwgb3V0IGZsb2F0IG1vdGlvbl94 LCBvdXQgZmxvYXQgbW90aW9uX3kpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTQiKV0KLSsJ CXB1YmxpYyBmbG9hdCBnZXRfbW90aW9uX2RlbHRhICh1aW50IHBvaW50LCBvdXQgZmxvYXQgZGVs dGFfeCwgb3V0IGZsb2F0IGRlbHRhX3kpOwotKwkJcHVibGljIENsdXR0ZXIuUGFuQXhpcyBnZXRf cGFuX2F4aXMgKCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfYWNjZWxlcmF0aW9uX2ZhY3RvciAoZG91 YmxlIGZhY3Rvcik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfZGVjZWxlcmF0aW9uIChkb3VibGUgcmF0 ZSk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfaW50ZXJwb2xhdGUgKGJvb2wgc2hvdWxkX2ludGVycG9s YXRlKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9wYW5fYXhpcyAoQ2x1dHRlci5QYW5BeGlzIGF4aXMp OwotKwkJcHVibGljIGRvdWJsZSBhY2NlbGVyYXRpb25fZmFjdG9yIHsgZ2V0OyBzZXQ7IH0KLSsJ CXB1YmxpYyBkb3VibGUgZGVjZWxlcmF0aW9uIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBib29s IGludGVycG9sYXRlIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBDbHV0dGVyLlBhbkF4aXMgcGFu X2F4aXMgeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgcGFuIChD bHV0dGVyLkFjdG9yIGFjdG9yLCBib29sIGlzX2ludGVycG9sYXRlZCk7Ci0rCQlwdWJsaWMgdmly dHVhbCBzaWduYWwgdm9pZCBwYW5fc3RvcHBlZCAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci0rCX0K LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgbG93ZXJf Y2FzZV9jc3VmZml4ID0gInBhcmFtX3VuaXRzIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BhcmFtX3Vu aXRzX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBQYXJhbVNwZWNVbml0IDogR0xpYi5Q YXJhbVNwZWMgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQot KwkJcHJvdGVjdGVkIFBhcmFtU3BlY1VuaXQgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BhdGhfZ2V0 X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMgY2xhc3Mg UGF0aCA6IEdMaWIuSW5pdGlhbGx5VW5vd25lZCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3Rf ZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwdWJsaWMgUGF0aCAoKTsKLSsJCXB1YmxpYyB2b2lkIGFk ZF9jYWlyb19wYXRoIChDYWlyby5QYXRoIGNwYXRoKTsKLSsJCXB1YmxpYyB2b2lkIGFkZF9jbG9z ZSAoKTsKLSsJCXB1YmxpYyB2b2lkIGFkZF9jdXJ2ZV90byAoaW50IHhfMSwgaW50IHlfMSwgaW50 IHhfMiwgaW50IHlfMiwgaW50IHhfMywgaW50IHlfMyk7Ci0rCQlwdWJsaWMgdm9pZCBhZGRfbGlu ZV90byAoaW50IHgsIGludCB5KTsKLSsJCXB1YmxpYyB2b2lkIGFkZF9tb3ZlX3RvIChpbnQgeCwg aW50IHkpOwotKwkJcHVibGljIHZvaWQgYWRkX25vZGUgKENsdXR0ZXIuUGF0aE5vZGUgbm9kZSk7 Ci0rCQlwdWJsaWMgdm9pZCBhZGRfcmVsX2N1cnZlX3RvIChpbnQgeF8xLCBpbnQgeV8xLCBpbnQg eF8yLCBpbnQgeV8yLCBpbnQgeF8zLCBpbnQgeV8zKTsKLSsJCXB1YmxpYyB2b2lkIGFkZF9yZWxf bGluZV90byAoaW50IHgsIGludCB5KTsKLSsJCXB1YmxpYyB2b2lkIGFkZF9yZWxfbW92ZV90byAo aW50IHgsIGludCB5KTsKLSsJCXB1YmxpYyBib29sIGFkZF9zdHJpbmcgKHN0cmluZyBzdHIpOwot KwkJcHVibGljIHZvaWQgY2xlYXIgKCk7Ci0rCQlwdWJsaWMgdm9pZCBAZm9yZWFjaCAoQ2x1dHRl ci5QYXRoQ2FsbGJhY2sgY2FsbGJhY2spOwotKwkJcHVibGljIHN0cmluZyBnZXRfZGVzY3JpcHRp b24gKCk7Ci0rCQlwdWJsaWMgdWludCBnZXRfbGVuZ3RoICgpOwotKwkJcHVibGljIHVpbnQgZ2V0 X25fbm9kZXMgKCk7Ci0rCQlwdWJsaWMgQ2x1dHRlci5QYXRoTm9kZSBnZXRfbm9kZSAodWludCBp bmRleF8pOwotKwkJcHVibGljIEdMaWIuU0xpc3Q8d2VhayBDbHV0dGVyLlBhdGhOb2RlPz4gZ2V0 X25vZGVzICgpOwotKwkJcHVibGljIHVpbnQgZ2V0X3Bvc2l0aW9uIChkb3VibGUgcHJvZ3Jlc3Ms IG91dCBDbHV0dGVyLktub3QgcG9zaXRpb24pOwotKwkJcHVibGljIHZvaWQgaW5zZXJ0X25vZGUg KGludCBpbmRleF8sIENsdXR0ZXIuUGF0aE5vZGUgbm9kZSk7Ci0rCQlwdWJsaWMgdm9pZCByZW1v dmVfbm9kZSAodWludCBpbmRleF8pOwotKwkJcHVibGljIHZvaWQgcmVwbGFjZV9ub2RlICh1aW50 IGluZGV4XywgQ2x1dHRlci5QYXRoTm9kZSBub2RlKTsKLSsJCXB1YmxpYyBib29sIHNldF9kZXNj cmlwdGlvbiAoc3RyaW5nIHN0cik7Ci0rCQlwdWJsaWMgdm9pZCB0b19jYWlyb19wYXRoIChDYWly by5Db250ZXh0IGNyKTsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNl KV0KLSsJCXB1YmxpYyBQYXRoLndpdGhfZGVzY3JpcHRpb24gKHN0cmluZyBkZXNjKTsKLSsJCXB1 YmxpYyBzdHJpbmcgZGVzY3JpcHRpb24geyBvd25lZCBnZXQ7IHNldDsgfQotKwkJcHVibGljIHVp bnQgbGVuZ3RoIHsgZ2V0OyB9Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BhdGhfY29uc3RyYWludF9nZXRf dHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCXB1YmxpYyBjbGFzcyBQ YXRoQ29uc3RyYWludCA6IENsdXR0ZXIuQ29uc3RyYWludCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25z dHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQ29uc3RyYWludCoiKV0KLSsJ CXB1YmxpYyBQYXRoQ29uc3RyYWludCAoQ2x1dHRlci5QYXRoPyBwYXRoLCBmbG9hdCBvZmZzZXQp OwotKwkJcHVibGljIGZsb2F0IGdldF9vZmZzZXQgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBDbHV0 dGVyLlBhdGggZ2V0X3BhdGggKCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfb2Zmc2V0IChmbG9hdCBv ZmZzZXQpOwotKwkJcHVibGljIHZvaWQgc2V0X3BhdGggKENsdXR0ZXIuUGF0aD8gcGF0aCk7Ci0r CQlwdWJsaWMgZmxvYXQgb2Zmc2V0IHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBDbHV0dGVyLlBh dGggcGF0aCB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgbm9kZV9yZWFjaGVk IChDbHV0dGVyLkFjdG9yIGFjdG9yLCB1aW50IGluZGV4KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCByZWZfZnVuY3Rpb24gPSAiY2x1dHRl cl9waWNrX2NvbnRleHRfcmVmIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BpY2tfY29udGV4dF9nZXRf dHlwZSAoKSIsIHVucmVmX2Z1bmN0aW9uID0gImNsdXR0ZXJfcGlja19jb250ZXh0X3VucmVmIild Ci0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgUGlja0NvbnRleHQgewotKwkJcHVibGljIHZv aWQgZGVzdHJveSAoKTsKLSsJCXB1YmxpYyBHcmFwaGVuZS5NYXRyaXggZ2V0X3RyYW5zZm9ybSAo KTsKLSsJCXB1YmxpYyB2b2lkIGxvZ19waWNrIChDbHV0dGVyLkFjdG9yQm94IGJveCwgQ2x1dHRl ci5BY3RvciBhY3Rvcik7Ci0rCQlwdWJsaWMgdm9pZCBwb3BfY2xpcCAoKTsKLSsJCXB1YmxpYyB2 b2lkIHBvcF90cmFuc2Zvcm0gKCk7Ci0rCQlwdWJsaWMgdm9pZCBwdXNoX2NsaXAgKENsdXR0ZXIu QWN0b3JCb3ggYm94KTsKLSsJCXB1YmxpYyB2b2lkIHB1c2hfdHJhbnNmb3JtIChHcmFwaGVuZS5N YXRyaXggdHJhbnNmb3JtKTsKLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuUGlja0NvbnRleHQg QHJlZiAoKTsKLSsJCXB1YmxpYyB2b2lkIHVucmVmICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9waXBl bGluZV9ub2RlX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0r CXB1YmxpYyBjbGFzcyBQaXBlbGluZU5vZGUgOiBDbHV0dGVyLlBhaW50Tm9kZSB7Ci0rCQlbQ0Nv ZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyUGFpbnRO b2RlKiIpXQotKwkJcHVibGljIFBpcGVsaW5lTm9kZSAoQ29nbC5QaXBlbGluZT8gcGlwZWxpbmUp OwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IHR5cGVfaWQgPSAiY2x1dHRlcl9wcm9wZXJ0eV90cmFuc2l0aW9uX2dldF90eXBlICgpIildCi0r CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCXB1YmxpYyBjbGFzcyBQcm9wZXJ0eVRyYW5z aXRpb24gOiBDbHV0dGVyLlRyYW5zaXRpb24sIENsdXR0ZXIuU2NyaXB0YWJsZSB7Ci0rCQlbQ0Nv ZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyVHJhbnNp dGlvbioiKV0KLSsJCXB1YmxpYyBQcm9wZXJ0eVRyYW5zaXRpb24gKHN0cmluZz8gcHJvcGVydHlf bmFtZSk7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9 ICJDbHV0dGVyVHJhbnNpdGlvbioiKV0KLSsJCXB1YmxpYyBQcm9wZXJ0eVRyYW5zaXRpb24uZm9y X2FjdG9yIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBzdHJpbmc/IHByb3BlcnR5X25hbWUpOwotKwkJ cHVibGljIHVub3duZWQgc3RyaW5nIGdldF9wcm9wZXJ0eV9uYW1lICgpOwotKwkJcHVibGljIHZv aWQgc2V0X3Byb3BlcnR5X25hbWUgKHN0cmluZz8gcHJvcGVydHlfbmFtZSk7Ci0rCQlwdWJsaWMg c3RyaW5nIHByb3BlcnR5X25hbWUgeyBnZXQ7IHNldDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQot KwlbQ29tcGFjdF0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjgiKV0KLSsJcHVibGljIGNsYXNz IFByb3hpbWl0eUV2ZW50IDogQ2x1dHRlci5FdmVudCB7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVy LklucHV0RGV2aWNlIGRldmljZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7 Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKLSsJCXB1YmxpYyB3ZWFrIENs dXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWludDMyIHRpbWU7Ci0rCQlwdWJsaWMgQ2x1 dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfcm9vdF9ub2RlX2dldF90eXBl ICgpIildCi0rCXB1YmxpYyBjbGFzcyBSb290Tm9kZSA6IENsdXR0ZXIuUGFpbnROb2RlIHsKLSsJ CVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJQ YWludE5vZGUqIildCi0rCQlwdWJsaWMgUm9vdE5vZGUgKENvZ2wuRnJhbWVidWZmZXIgZnJhbWVi dWZmZXIsIENsdXR0ZXIuQ29sb3IgY2xlYXJfY29sb3IsIENvZ2wuQnVmZmVyQml0IGNsZWFyX2Zs YWdzKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfcm90YXRlX2FjdGlvbl9nZXRfdHlwZSAoKSIpXQotKwlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwlwdWJsaWMgY2xhc3MgUm90YXRlQWN0aW9uIDog Q2x1dHRlci5HZXN0dXJlQWN0aW9uIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlv biA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJBY3Rpb24qIildCi0rCQlwdWJsaWMgUm90YXRlQWN0 aW9uICgpOwotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIGJvb2wgcm90YXRlIChDbHV0dGVyLkFj dG9yIGFjdG9yLCBkb3VibGUgYW5nbGUpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zY3JpcHRfZ2V0X3R5 cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwlwdWJsaWMgY2xhc3MgU2Ny aXB0IDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0g ZmFsc2UpXQotKwkJcHVibGljIFNjcmlwdCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgi KV0KLSsJCXB1YmxpYyB2b2lkIGFkZF9zZWFyY2hfcGF0aHMgKFtDQ29kZSAoYXJyYXlfbGVuZ3Ro X2NuYW1lID0gIm5fcGF0aHMiLCBhcnJheV9sZW5ndGhfcG9zID0gMS4xLCBhcnJheV9sZW5ndGhf dHlwZSA9ICJnc2l6ZSIpXSBzdHJpbmdbXSBwYXRocyk7Ci0rCQlwdWJsaWMgdm9pZCBjb25uZWN0 X3NpZ25hbHMgKHZvaWQqIHVzZXJfZGF0YSk7Ci0rCQlwdWJsaWMgdm9pZCBjb25uZWN0X3NpZ25h bHNfZnVsbCAoQ2x1dHRlci5TY3JpcHRDb25uZWN0RnVuYyBmdW5jKTsKLSsJCXB1YmxpYyB2b2lk IGVuc3VyZV9vYmplY3RzICgpOwotKwkJcHVibGljIHVub3duZWQgR0xpYi5PYmplY3QgZ2V0X29i amVjdCAoc3RyaW5nIG5hbWUpOwotKwkJcHVibGljIGludCBnZXRfb2JqZWN0cyAoLi4uKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0 X3RyYW5zbGF0aW9uX2RvbWFpbiAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIEdMaWIuVHlwZSBnZXRf dHlwZV9mcm9tX25hbWUgKHN0cmluZyB0eXBlX25hbWUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjAuOCIpXQotKwkJcHVibGljIEdMaWIuTGlzdDx3ZWFrIEdMaWIuT2JqZWN0PiBsaXN0X29iamVj dHMgKCk7Ci0rCQlwdWJsaWMgdWludCBsb2FkX2Zyb21fZGF0YSAoc3RyaW5nIGRhdGEsIHNzaXpl X3QgbGVuZ3RoKSB0aHJvd3MgR0xpYi5FcnJvcjsKLSsJCXB1YmxpYyB1aW50IGxvYWRfZnJvbV9m aWxlIChzdHJpbmcgZmlsZW5hbWUpIHRocm93cyBHTGliLkVycm9yOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB1aW50IGxvYWRfZnJvbV9yZXNvdXJjZSAoc3RyaW5n IHJlc291cmNlX3BhdGgpIHRocm93cyBHTGliLkVycm9yOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjAuOCIpXQotKwkJcHVibGljIHN0cmluZyBsb29rdXBfZmlsZW5hbWUgKHN0cmluZyBmaWxlbmFt ZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3Ry YW5zbGF0aW9uX2RvbWFpbiAoc3RyaW5nPyBkb21haW4pOwotKwkJcHVibGljIHZvaWQgdW5tZXJn ZV9vYmplY3RzICh1aW50IG1lcmdlX2lkKTsKLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVi bGljIHN0cmluZyBmaWxlbmFtZSB7IG93bmVkIGdldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2Rd Ci0rCQlwdWJsaWMgYm9vbCBmaWxlbmFtZV9zZXQgeyBnZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgc3RyaW5nIHRyYW5zbGF0aW9uX2RvbWFpbiB7IGdldDsg c2V0OyB9Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRl ci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3Njcm9sbF9hY3Rvcl9nZXRfdHlwZSAoKSIpXQotKwlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwlwdWJsaWMgY2xhc3MgU2Nyb2xsQWN0b3IgOiBD bHV0dGVyLkFjdG9yLCBBdGsuSW1wbGVtZW50b3IsIENsdXR0ZXIuQW5pbWF0YWJsZSwgQ2x1dHRl ci5Db250YWluZXIsIENsdXR0ZXIuU2NyaXB0YWJsZSB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1 Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0b3IqIildCi0rCQlwdWJsaWMg U2Nyb2xsQWN0b3IgKCk7Ci0rCQlwdWJsaWMgQ2x1dHRlci5TY3JvbGxNb2RlIGdldF9zY3JvbGxf bW9kZSAoKTsKLSsJCXB1YmxpYyB2b2lkIHNjcm9sbF90b19wb2ludCAoR3JhcGhlbmUuUG9pbnQg cG9pbnQpOwotKwkJcHVibGljIHZvaWQgc2Nyb2xsX3RvX3JlY3QgKEdyYXBoZW5lLlJlY3QgcmVj dCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfc2Nyb2xsX21vZGUgKENsdXR0ZXIuU2Nyb2xsTW9kZSBt b2RlKTsKLSsJCXB1YmxpYyBDbHV0dGVyLlNjcm9sbE1vZGUgc2Nyb2xsX21vZGUgeyBnZXQ7IHNl dDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0KLSsJW1ZlcnNpb24gKHNpbmNl ID0gIjAuMiIpXQotKwlwdWJsaWMgY2xhc3MgU2Nyb2xsRXZlbnQgOiBDbHV0dGVyLkV2ZW50IHsK LSsJCXB1YmxpYyBkb3VibGUgYXhlczsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuSW5wdXREZXZp Y2UgZGV2aWNlOwotKwkJcHVibGljIENsdXR0ZXIuU2Nyb2xsRGlyZWN0aW9uIGRpcmVjdGlvbjsK LSsJCXB1YmxpYyBDbHV0dGVyLlNjcm9sbEZpbmlzaEZsYWdzIGZpbmlzaF9mbGFnczsKLSsJCXB1 YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7Ci0rCQlwdWJsaWMgQ2x1dHRlci5Nb2RpZmll clR5cGUgbW9kaWZpZXJfc3RhdGU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5TY3JvbGxTb3VyY2Ugc2Ny b2xsX3NvdXJjZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuQWN0b3Igc291cmNlOwotKwkJcHVi bGljIHdlYWsgQ2x1dHRlci5TdGFnZSBzdGFnZTsKLSsJCXB1YmxpYyB1aW50MzIgdGltZTsKLSsJ CXB1YmxpYyBDbHV0dGVyLkV2ZW50VHlwZSB0eXBlOwotKwkJcHVibGljIGZsb2F0IHg7Ci0rCQlw dWJsaWMgZmxvYXQgeTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfc2VhdF9nZXRfdHlwZSAoKSIpXQotKwlw dWJsaWMgYWJzdHJhY3QgY2xhc3MgU2VhdCA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFz X2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBTZWF0ICgpOwotKwkJ cHVibGljIHZpcnR1YWwgdm9pZCBiZWxsX25vdGlmeSAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIENs dXR0ZXIuVmlydHVhbElucHV0RGV2aWNlIGNyZWF0ZV92aXJ0dWFsX2RldmljZSAoQ2x1dHRlci5J bnB1dERldmljZVR5cGUgZGV2aWNlX3R5cGUpOwotKwkJcHVibGljIHZvaWQgZW5zdXJlX2ExMXlf c3RhdGUgKCk7Ci0rCQlwdWJsaWMgdmlydHVhbCB1bm93bmVkIENsdXR0ZXIuSW5wdXREZXZpY2Ug Z2V0X2tleWJvYXJkICgpOwotKwkJcHVibGljIHZpcnR1YWwgdW5vd25lZCBDbHV0dGVyLktleW1h cCBnZXRfa2V5bWFwICgpOwotKwkJcHVibGljIHZpcnR1YWwgdW5vd25lZCBDbHV0dGVyLklucHV0 RGV2aWNlIGdldF9wb2ludGVyICgpOwotKwkJcHVibGljIHZvaWQgZ2V0X3BvaW50ZXJfYTExeV9z ZXR0aW5ncyAoQ2x1dHRlci5Qb2ludGVyQTExeVNldHRpbmdzIHNldHRpbmdzKTsKLSsJCXB1Ymxp YyBib29sIGdldF90b3VjaF9tb2RlICgpOwotKwkJcHVibGljIHZpcnR1YWwgYm9vbCBoYW5kbGVf ZXZlbnRfcG9zdCAoQ2x1dHRlci5FdmVudCBldmVudCk7Ci0rCQlwdWJsaWMgdm9pZCBpbmhpYml0 X3VuZm9jdXMgKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc191bmZvY3VzX2luaGliaXRlZCAoKTsKLSsJ CXB1YmxpYyBHTGliLkxpc3Q8d2VhayBDbHV0dGVyLklucHV0RGV2aWNlPiBsaXN0X2RldmljZXMg KCk7Ci0rCQlwdWJsaWMgdmlydHVhbCBib29sIHF1ZXJ5X3N0YXRlIChDbHV0dGVyLklucHV0RGV2 aWNlIGRldmljZSwgQ2x1dHRlci5FdmVudFNlcXVlbmNlIHNlcXVlbmNlLCBHcmFwaGVuZS5Qb2lu dCBjb29yZHMsIENsdXR0ZXIuTW9kaWZpZXJUeXBlIG1vZGlmaWVycyk7Ci0rCQlwdWJsaWMgdm9p ZCBzZXRfcG9pbnRlcl9hMTF5X2R3ZWxsX2NsaWNrX3R5cGUgKENsdXR0ZXIuUG9pbnRlckExMXlE d2VsbENsaWNrVHlwZSBjbGlja190eXBlKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9wb2ludGVyX2Ex MXlfc2V0dGluZ3MgKENsdXR0ZXIuUG9pbnRlckExMXlTZXR0aW5ncyBzZXR0aW5ncyk7Ci0rCQlw dWJsaWMgdm9pZCB1bmluaGliaXRfdW5mb2N1cyAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQg d2FycF9wb2ludGVyIChpbnQgeCwgaW50IHkpOwotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlw dWJsaWMgQ2x1dHRlci5CYWNrZW5kIGJhY2tlbmQgeyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQot KwkJcHVibGljIGJvb2wgdG91Y2hfbW9kZSB7IGdldDsgfQotKwkJcHVibGljIHNpZ25hbCB2b2lk IGRldmljZV9hZGRlZCAoQ2x1dHRlci5JbnB1dERldmljZSBvYmplY3QpOwotKwkJcHVibGljIHNp Z25hbCB2b2lkIGRldmljZV9yZW1vdmVkIChDbHV0dGVyLklucHV0RGV2aWNlIG9iamVjdCk7Ci0r CQlwdWJsaWMgc2lnbmFsIHZvaWQgaXNfdW5mb2N1c19pbmhpYml0ZWRfY2hhbmdlZCAoKTsKLSsJ CXB1YmxpYyBzaWduYWwgdm9pZCBrYmRfYTExeV9mbGFnc19jaGFuZ2VkICh1aW50IHNldHRpbmdz X2ZsYWdzLCB1aW50IGNoYW5nZWRfbWFzayk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQga2JkX2Ex MXlfbW9kc19zdGF0ZV9jaGFuZ2VkICh1aW50IGxhdGNoZWRfbWFzaywgdWludCBsb2NrZWRfbWFz ayk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgcHRyX2ExMXlfZHdlbGxfY2xpY2tfdHlwZV9jaGFu Z2VkIChDbHV0dGVyLlBvaW50ZXJBMTF5RHdlbGxDbGlja1R5cGUgY2xpY2tfdHlwZSk7Ci0rCQlw dWJsaWMgc2lnbmFsIHZvaWQgcHRyX2ExMXlfdGltZW91dF9zdGFydGVkIChDbHV0dGVyLklucHV0 RGV2aWNlIGRldmljZSwgQ2x1dHRlci5Qb2ludGVyQTExeVRpbWVvdXRUeXBlIHRpbWVvdXRfdHlw ZSwgdWludCBkZWxheSk7Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgcHRyX2ExMXlfdGltZW91dF9z dG9wcGVkIChDbHV0dGVyLklucHV0RGV2aWNlIGRldmljZSwgQ2x1dHRlci5Qb2ludGVyQTExeVRp bWVvdXRUeXBlIHRpbWVvdXRfdHlwZSwgYm9vbCBjbGlja2VkKTsKLSsJfQotKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJf c2V0dGluZ3NfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwlw dWJsaWMgY2xhc3MgU2V0dGluZ3MgOiBHTGliLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25z dHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgU2V0dGluZ3MgKCk7Ci0rCQlw dWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5TZXR0aW5ncyBnZXRfZGVmYXVsdCAoKTsKLSsJ CVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXBy ZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyBDbHV0dGVy LkJhY2tlbmQgYmFja2VuZCB7IGNvbnN0cnVjdDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgaW50IGRuZF9kcmFnX3RocmVz aG9sZCB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBpbnQg ZG91YmxlX2NsaWNrX2Rpc3RhbmNlIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9k XQotKwkJcHVibGljIGludCBkb3VibGVfY2xpY2tfdGltZSB7IGdldDsgc2V0OyB9Ci0rCQlbTm9B Y2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBpbnQgZm9udF9hbnRpYWxpYXMgeyBnZXQ7IHNldDsg fQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgaW50IGZvbnRfZHBpIHsgZ2V0OyBz ZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIHN0cmluZyBmb250X2hpbnRf c3R5bGUgeyBvd25lZCBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJs aWMgaW50IGZvbnRfaGludGluZyB7IGdldDsgc2V0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0K LSsJCXB1YmxpYyBzdHJpbmcgZm9udF9uYW1lIHsgb3duZWQgZ2V0OyBzZXQ7IH0KLSsJCVtOb0Fj Y2Vzc29yTWV0aG9kXQotKwkJcHVibGljIHN0cmluZyBmb250X3N1YnBpeGVsX29yZGVyIHsgb3du ZWQgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIHVpbnQgZm9u dGNvbmZpZ190aW1lc3RhbXAgeyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIGludCBsb25nX3ByZXNzX2R1cmF0aW9u IHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIHVpbnQgcGFz c3dvcmRfaGludF90aW1lIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJ cHVibGljIGludCB1bnNjYWxlZF9mb250X2RwaSB7IHNldDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhhc190eXBlX2lkID0gZmFsc2Up XQotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNzIFNoYWRlciB7Ci0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVy X3NoYWRlcl9lZmZlY3RfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIp XQotKwlwdWJsaWMgY2xhc3MgU2hhZGVyRWZmZWN0IDogQ2x1dHRlci5PZmZzY3JlZW5FZmZlY3Qg ewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1 dHRlckVmZmVjdCoiKV0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyBT aGFkZXJFZmZlY3QgKENsdXR0ZXIuU2hhZGVyVHlwZSBzaGFkZXJfdHlwZSk7Ci0rCQlwdWJsaWMg dW5vd25lZCBDb2dsLkhhbmRsZSBnZXRfcHJvZ3JhbSAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIENv Z2wuSGFuZGxlIGdldF9zaGFkZXIgKCk7Ci0rCQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1 YWwgc3RyaW5nIGdldF9zdGF0aWNfc2hhZGVyX3NvdXJjZSAoKTsKLSsJCXB1YmxpYyBib29sIHNl dF9zaGFkZXJfc291cmNlIChzdHJpbmcgc291cmNlKTsKLSsJCXB1YmxpYyB2b2lkIHNldF91bmlm b3JtX3ZhbHVlIChzdHJpbmcgbmFtZSwgR0xpYi5WYWx1ZSB2YWx1ZSk7Ci0rCQlbTm9BY2Nlc3Nv ck1ldGhvZF0KLSsJCXB1YmxpYyBDbHV0dGVyLlNoYWRlclR5cGUgc2hhZGVyX3R5cGUgeyBjb25z dHJ1Y3Q7IH0KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0 dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfc2hhZGVyX2Zsb2F0X2dldF90eXBlICgpIildCi0r CXB1YmxpYyBjbGFzcyBTaGFkZXJGbG9hdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVu Y3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgU2hhZGVyRmxvYXQgKCk7Ci0rCX0KLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJj bHV0dGVyX3NoYWRlcl9pbnRfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIFNoYWRlcklu dCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90 ZWN0ZWQgU2hhZGVySW50ICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zaGFkZXJfbWF0cml4X2dldF90 eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBTaGFkZXJNYXRyaXggewotKwkJW0NDb2RlIChoYXNf Y29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFNoYWRlck1hdHJpeCAo KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgi LCB0eXBlX2lkID0gImNsdXR0ZXJfc25hcF9jb25zdHJhaW50X2dldF90eXBlICgpIildCi0rCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJcHVibGljIGNsYXNzIFNuYXBDb25zdHJhaW50IDog Q2x1dHRlci5Db25zdHJhaW50IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9 IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJDb25zdHJhaW50KiIpXQotKwkJcHVibGljIFNuYXBDb25z dHJhaW50IChDbHV0dGVyLkFjdG9yPyBzb3VyY2UsIENsdXR0ZXIuU25hcEVkZ2UgZnJvbV9lZGdl LCBDbHV0dGVyLlNuYXBFZGdlIHRvX2VkZ2UsIGZsb2F0IG9mZnNldCk7Ci0rCQlwdWJsaWMgdm9p ZCBnZXRfZWRnZXMgKG91dCBDbHV0dGVyLlNuYXBFZGdlIGZyb21fZWRnZSwgb3V0IENsdXR0ZXIu U25hcEVkZ2UgdG9fZWRnZSk7Ci0rCQlwdWJsaWMgZmxvYXQgZ2V0X29mZnNldCAoKTsKLSsJCXB1 YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X3NvdXJjZSAoKTsKLSsJCXB1YmxpYyB2b2lk IHNldF9lZGdlcyAoQ2x1dHRlci5TbmFwRWRnZSBmcm9tX2VkZ2UsIENsdXR0ZXIuU25hcEVkZ2Ug dG9fZWRnZSk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfb2Zmc2V0IChmbG9hdCBvZmZzZXQpOwotKwkJ cHVibGljIHZvaWQgc2V0X3NvdXJjZSAoQ2x1dHRlci5BY3Rvcj8gc291cmNlKTsKLSsJCVtOb0Fj Y2Vzc29yTWV0aG9kXQotKwkJcHVibGljIENsdXR0ZXIuU25hcEVkZ2UgZnJvbV9lZGdlIHsgZ2V0 OyBzZXQgY29uc3RydWN0OyB9Ci0rCQlwdWJsaWMgZmxvYXQgb2Zmc2V0IHsgZ2V0OyBzZXQgY29u c3RydWN0OyB9Ci0rCQlwdWJsaWMgQ2x1dHRlci5BY3RvciBzb3VyY2UgeyBnZXQ7IHNldCBjb25z dHJ1Y3Q7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVibGljIENsdXR0ZXIuU25hcEVk Z2UgdG9fZWRnZSB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zdGFn ZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCi0rCXB1YmxpYyBj bGFzcyBTdGFnZSA6IENsdXR0ZXIuQWN0b3IsIEF0ay5JbXBsZW1lbnRvciwgQ2x1dHRlci5Bbmlt YXRhYmxlLCBDbHV0dGVyLkNvbnRhaW5lciwgQ2x1dHRlci5TY3JpcHRhYmxlIHsKLSsJCVtDQ29k ZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBTdGFnZSAo KTsKLSsJCXB1YmxpYyB2b2lkIGNhcHR1cmVfaW50byAoQ2Fpcm8uUmVjdGFuZ2xlSW50IHJlY3Qs IHVpbnQ4IGRhdGEpOwotKwkJcHVibGljIHZvaWQgY2xlYXJfc3RhZ2Vfdmlld3MgKCk7Ci0rCQlb Q0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfc3RhZ2VfZXZlbnQiKV0KLSsJCXB1YmxpYyBib29sIGVt aXRfZXZlbnQgKENsdXR0ZXIuRXZlbnQgZXZlbnQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MCIpXQotKwkJcHVibGljIHZvaWQgZW5zdXJlX3ZpZXdwb3J0ICgpOwotKwkJcHVibGljIHVub3du ZWQgQ2x1dHRlci5BY3RvciBnZXRfYWN0b3JfYXRfcG9zIChDbHV0dGVyLlBpY2tNb2RlIHBpY2tf bW9kZSwgZmxvYXQgeCwgZmxvYXQgeSk7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfY2FwdHVyZV9maW5h bF9zaXplIChDYWlyby5SZWN0YW5nbGVJbnQgcmVjdCwgb3V0IGludCBvdXRfd2lkdGgsIG91dCBp bnQgb3V0X2hlaWdodCwgb3V0IGZsb2F0IG91dF9zY2FsZSk7Ci0rCQlwdWJsaWMgdW5vd25lZCBD bHV0dGVyLkFjdG9yIGdldF9kZXZpY2VfYWN0b3IgKENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNl LCBDbHV0dGVyLkV2ZW50U2VxdWVuY2U/IHNlcXVlbmNlKTsKLSsJCXB1YmxpYyBpbnQ2NCBnZXRf ZnJhbWVfY291bnRlciAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1Ymxp YyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2tleV9mb2N1cyAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyB2b2lkIGdldF9taW5pbXVtX3NpemUgKG91dCB1aW50 IHdpZHRoLCBvdXQgdWludCBoZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQot KwkJcHVibGljIGJvb2wgZ2V0X21vdGlvbl9ldmVudHNfZW5hYmxlZCAoKTsKLSsJCXB1YmxpYyBD bHV0dGVyLlBlcnNwZWN0aXZlIGdldF9wZXJzcGVjdGl2ZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyBib29sIGdldF90aHJvdHRsZV9tb3Rpb25fZXZlbnRzICgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQotKwkJcHVibGljIHVub3duZWQgc3RyaW5n IGdldF90aXRsZSAoKTsKLSsJCXB1YmxpYyBib29sIGdldF91c2VfYWxwaGEgKCk7Ci0rCQlwdWJs aWMgYm9vbCBwYWludF90b19idWZmZXIgKENhaXJvLlJlY3RhbmdsZUludCByZWN0LCBmbG9hdCBz Y2FsZSwgW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldIHJlZiB1aW50OFtdIGRhdGEsIGlu dCBzdHJpZGUsIENvZ2wuUGl4ZWxGb3JtYXQgZm9ybWF0LCBDbHV0dGVyLlBhaW50RmxhZyBwYWlu dF9mbGFncykgdGhyb3dzIEdMaWIuRXJyb3I7Ci0rCQlwdWJsaWMgdm9pZCBwYWludF90b19mcmFt ZWJ1ZmZlciAoQ29nbC5GcmFtZWJ1ZmZlciBmcmFtZWJ1ZmZlciwgQ2Fpcm8uUmVjdGFuZ2xlSW50 IHJlY3QsIGZsb2F0IHNjYWxlLCBDbHV0dGVyLlBhaW50RmxhZyBwYWludF9mbGFncyk7Ci0rCQlb Q0NvZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNlKV0KLSsJCXB1YmxpYyB1aW50OFtdIHJlYWRfcGl4 ZWxzIChpbnQgeCwgaW50IHksIGludCB3aWR0aCA9IC0xLCBpbnQgaGVpZ2h0ID0gLTEpOwotKwkJ cHVibGljIHZvaWQgcmVwaWNrX2RldmljZSAoQ2x1dHRlci5JbnB1dERldmljZSBkZXZpY2UpOwot KwkJcHVibGljIHZvaWQgc2NoZWR1bGVfdXBkYXRlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjAuNiIpXQotKwkJcHVibGljIHZvaWQgc2V0X2tleV9mb2N1cyAoQ2x1dHRlci5BY3Rvcj8gYWN0 b3IpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIHZvaWQgc2V0X21p bmltdW1fc2l6ZSAodWludCB3aWR0aCwgdWludCBoZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQgc2V0X21vdGlvbl9ldmVudHNfZW5hYmxlZCAoYm9v bCBlbmFibGVkKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJCXB1YmxpYyB2b2lk IHNldF90aHJvdHRsZV9tb3Rpb25fZXZlbnRzIChib29sIHRocm90dGxlKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIwLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF90aXRsZSAoc3RyaW5nIHRpdGxl KTsKLSsJCXB1YmxpYyB2b2lkIHNldF91c2VfYWxwaGEgKGJvb2wgdXNlX2FscGhhKTsKLSsJCXB1 YmxpYyB2b2lkIHVwZGF0ZV9kZXZpY2UgKENsdXR0ZXIuSW5wdXREZXZpY2UgZGV2aWNlLCBDbHV0 dGVyLkV2ZW50U2VxdWVuY2Ugc2VxdWVuY2UsIEdyYXBoZW5lLlBvaW50IHBvaW50LCB1aW50MzIg dGltZSwgQ2x1dHRlci5BY3RvciBuZXdfYWN0b3IsIGJvb2wgZW1pdF9jcm9zc2luZyk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4yIildCi0rCQlwdWJsaWMgQ2x1dHRlci5BY3RvciBrZXlfZm9j dXMgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGlj IENsdXR0ZXIuUGVyc3BlY3RpdmUgcGVyc3BlY3RpdmUgeyBnZXQ7IH0KLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjQiKV0KLSsJCXB1YmxpYyBzdHJpbmcgdGl0bGUgeyBnZXQ7IHNldDsgfQotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQg YWN0aXZhdGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yMCIpXQotKwkJcHVibGljIHNp Z25hbCB2b2lkIGFmdGVyX3BhaW50IChDbHV0dGVyLlN0YWdlVmlldyB2aWV3KTsKLSsJCXB1Ymxp YyBzaWduYWwgdm9pZCBhZnRlcl91cGRhdGUgKENsdXR0ZXIuU3RhZ2VWaWV3IHZpZXcpOwotKwkJ cHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgYmVmb3JlX3BhaW50IChDbHV0dGVyLlN0YWdlVmll dyB2aWV3KTsKLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBiZWZvcmVfdXBkYXRlIChDbHV0dGVyLlN0 YWdlVmlldyB2aWV3KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2 aXJ0dWFsIHNpZ25hbCB2b2lkIGRlYWN0aXZhdGUgKCk7Ci0rCQlwdWJsaWMgdmlydHVhbCBzaWdu YWwgdm9pZCBwYWludF92aWV3IChDbHV0dGVyLlN0YWdlVmlldyB2aWV3LCBDYWlyby5SZWdpb24g cmVkcmF3X2NsaXApOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zdGFnZV9tYW5hZ2VyX2dldF90eXBlICgp IildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJcHVibGljIGNsYXNzIFN0YWdlTWFu YWdlciA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9 IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBTdGFnZU1hbmFnZXIgKCk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMC44IildCi0rCQlwdWJsaWMgc3RhdGljIHVub3duZWQgQ2x1dHRlci5TdGFnZU1hbmFn ZXIgZ2V0X2RlZmF1bHQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJs aWMgdW5vd25lZCBDbHV0dGVyLlN0YWdlIGdldF9kZWZhdWx0X3N0YWdlICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjAuOCIpXQotKwkJcHVibGljIEdMaWIuU0xpc3Q8d2VhayBDbHV0dGVyLlN0 YWdlPiBsaXN0X3N0YWdlcyAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIEdMaWIuU0xpc3Q8Q2x1dHRl ci5TdGFnZT4gcGVla19zdGFnZXMgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0r CQlwdWJsaWMgQ2x1dHRlci5TdGFnZSBkZWZhdWx0X3N0YWdlIHsgZ2V0OyB9Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBzdGFnZV9h ZGRlZCAoQ2x1dHRlci5TdGFnZSBzdGFnZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44Iild Ci0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBzdGFnZV9yZW1vdmVkIChDbHV0dGVyLlN0 YWdlIHN0YWdlKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfc3RhZ2Vfdmlld19nZXRfdHlwZSAoKSIpXQot KwlwdWJsaWMgY2xhc3MgU3RhZ2VWaWV3IDogR0xpYi5PYmplY3QgewotKwkJW0NDb2RlIChoYXNf Y29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFN0YWdlVmlldyAoKTsK LSsJCXB1YmxpYyB2b2lkIGFzc2lnbl9uZXh0X3NjYW5vdXQgKENvZ2wuU2Nhbm91dCBzY2Fub3V0 KTsKLSsJCXB1YmxpYyB2b2lkIGRlc3Ryb3kgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBDb2dsLkZy YW1lYnVmZmVyIGdldF9mcmFtZWJ1ZmZlciAoKTsKLSsJCXB1YmxpYyB2b2lkIGdldF9sYXlvdXQg KENhaXJvLlJlY3RhbmdsZUludCByZWN0KTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZ2V0X29m ZnNjcmVlbl90cmFuc2Zvcm1hdGlvbl9tYXRyaXggKEdyYXBoZW5lLk1hdHJpeCBtYXRyaXgpOwot KwkJcHVibGljIHVub3duZWQgQ29nbC5GcmFtZWJ1ZmZlciBnZXRfb25zY3JlZW4gKCk7Ci0rCQlw dWJsaWMgZmxvYXQgZ2V0X3JlZnJlc2hfcmF0ZSAoKTsKLSsJCXB1YmxpYyBmbG9hdCBnZXRfc2Nh bGUgKCk7Ci0rCQlwdWJsaWMgdm9pZCBpbnZhbGlkYXRlX29mZnNjcmVlbl9ibGl0X3BpcGVsaW5l ICgpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgc2V0dXBfb2Zmc2Ny ZWVuX2JsaXRfcGlwZWxpbmUgKENvZ2wuUGlwZWxpbmUgcGlwZWxpbmUpOwotKwkJW05vV3JhcHBl cl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgdHJhbnNmb3JtX3JlY3RfdG9fb25zY3JlZW4gKENh aXJvLlJlY3RhbmdsZUludCBzcmNfcmVjdCwgaW50IGRzdF93aWR0aCwgaW50IGRzdF9oZWlnaHQs IENhaXJvLlJlY3RhbmdsZUludCBkc3RfcmVjdCk7Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJ CXB1YmxpYyBDb2dsLkZyYW1lYnVmZmVyIGZyYW1lYnVmZmVyIHsgb3duZWQgZ2V0OyBzZXQgY29u c3RydWN0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBzdHJpbmcgbmFtZSB7 IG93bmVkIGdldDsgY29uc3RydWN0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1Ymxp YyBDb2dsLk9mZnNjcmVlbiBvZmZzY3JlZW4geyBvd25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJ W05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgZmxvYXQgcmVmcmVzaF9yYXRlIHsgZ2V0OyBz ZXQgY29uc3RydWN0OyB9Ci0rCQlbTm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBmbG9hdCBz Y2FsZSB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlw dWJsaWMgQ2x1dHRlci5TdGFnZSBzdGFnZSB7IG93bmVkIGdldDsgY29uc3RydWN0OyB9Ci0rCQlb Tm9BY2Nlc3Nvck1ldGhvZF0KLSsJCXB1YmxpYyBib29sIHVzZV9zaGFkb3dmYiB7IGdldDsgY29u c3RydWN0OyB9Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3N3aXBlX2FjdGlvbl9nZXRfdHlwZSAoKSIpXQot KwlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCXB1YmxpYyBjbGFzcyBTd2lwZUFjdGlvbiA6 IENsdXR0ZXIuR2VzdHVyZUFjdGlvbiB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rp b24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0aW9uKiIpXQotKwkJcHVibGljIFN3aXBlQWN0 aW9uICgpOwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNl ID0gIjEuMTQiLCBzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2b2lk IHN3ZXB0IChDbHV0dGVyLkFjdG9yIGFjdG9yLCBDbHV0dGVyLlN3aXBlRGlyZWN0aW9uIGRpcmVj dGlvbik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotKwkJcHVibGljIHZpcnR1YWwg c2lnbmFsIGJvb2wgc3dpcGUgKENsdXR0ZXIuQWN0b3IgYWN0b3IsIENsdXR0ZXIuU3dpcGVEaXJl Y3Rpb24gZGlyZWN0aW9uKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfdGFwX2FjdGlvbl9nZXRfdHlwZSAo KSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotKwlwdWJsaWMgY2xhc3MgVGFwQWN0 aW9uIDogQ2x1dHRlci5HZXN0dXJlQWN0aW9uIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9m dW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJBY3Rpb24qIildCi0rCQlwdWJsaWMgVGFw QWN0aW9uICgpOwotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgdGFwIChDbHV0dGVyLkFj dG9yIGFjdG9yKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJfdGV4dF9nZXRfdHlwZSAoKSIpXQotKwlbVmVy c2lvbiAoc2luY2UgPSAiMS4wIildCi0rCXB1YmxpYyBjbGFzcyBUZXh0IDogQ2x1dHRlci5BY3Rv ciwgQXRrLkltcGxlbWVudG9yLCBDbHV0dGVyLkFuaW1hdGFibGUsIENsdXR0ZXIuQ29udGFpbmVy LCBDbHV0dGVyLlNjcmlwdGFibGUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9u ID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlckFjdG9yKiIpXQotKwkJcHVibGljIFRleHQgKCk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGludCBjb29yZHNfdG9fcG9z aXRpb24gKGZsb2F0IHgsIGZsb2F0IHkpOwotKwkJcHVibGljIHZvaWQgZGVsZXRlX2NoYXJzICh1 aW50IG5fY2hhcnMpOwotKwkJcHVibGljIGJvb2wgZGVsZXRlX3NlbGVjdGlvbiAoKTsKLSsJCVtD Q29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJBY3Rv cioiKV0KLSsJCXB1YmxpYyBUZXh0LmZ1bGwgKHN0cmluZyBmb250X25hbWUsIHN0cmluZyB0ZXh0 LCBDbHV0dGVyLkNvbG9yIGNvbG9yKTsKLSsJCXB1YmxpYyBib29sIGdldF9hY3RpdmF0YWJsZSAo KTsKLSsJCXB1YmxpYyB1bm93bmVkIFBhbmdvLkF0dHJMaXN0IGdldF9hdHRyaWJ1dGVzICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIu VGV4dEJ1ZmZlciBnZXRfYnVmZmVyICgpOwotKwkJcHVibGljIHN0cmluZyBnZXRfY2hhcnMgKHNz aXplX3Qgc3RhcnRfcG9zLCBzc2l6ZV90IGVuZF9wb3MpOwotKwkJcHVibGljIENsdXR0ZXIuQ29s b3IgZ2V0X2NvbG9yICgpOwotKwkJcHVibGljIENsdXR0ZXIuQ29sb3IgZ2V0X2N1cnNvcl9jb2xv ciAoKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X2N1cnNvcl9wb3NpdGlvbiAoKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjE2IildCi0rCQlwdWJsaWMgR3JhcGhlbmUuUmVjdCBnZXRfY3Vyc29yX3Jl Y3QgKCk7Ci0rCQlwdWJsaWMgdWludCBnZXRfY3Vyc29yX3NpemUgKCk7Ci0rCQlwdWJsaWMgYm9v bCBnZXRfY3Vyc29yX3Zpc2libGUgKCk7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfZWRpdGFibGUgKCk7 Ci0rCQlwdWJsaWMgUGFuZ28uRWxsaXBzaXplTW9kZSBnZXRfZWxsaXBzaXplICgpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIFBhbmdvLkZvbnREZXNjcmlwdGlvbiBn ZXRfZm9udF9kZXNjcmlwdGlvbiAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfZm9u dF9uYW1lICgpOwotKwkJcHVibGljIENsdXR0ZXIuSW5wdXRDb250ZW50SGludEZsYWdzIGdldF9p bnB1dF9oaW50cyAoKTsKLSsJCXB1YmxpYyBDbHV0dGVyLklucHV0Q29udGVudFB1cnBvc2UgZ2V0 X2lucHV0X3B1cnBvc2UgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJs aWMgYm9vbCBnZXRfanVzdGlmeSAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIFBhbmdvLkxheW91dCBn ZXRfbGF5b3V0ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZv aWQgZ2V0X2xheW91dF9vZmZzZXRzIChvdXQgaW50IHgsIG91dCBpbnQgeSk7Ci0rCQlwdWJsaWMg UGFuZ28uQWxpZ25tZW50IGdldF9saW5lX2FsaWdubWVudCAoKTsKLSsJCXB1YmxpYyBib29sIGdl dF9saW5lX3dyYXAgKCk7Ci0rCQlwdWJsaWMgUGFuZ28uV3JhcE1vZGUgZ2V0X2xpbmVfd3JhcF9t b2RlICgpOwotKwkJcHVibGljIGludCBnZXRfbWF4X2xlbmd0aCAoKTsKLSsJCXB1YmxpYyB1bmlj aGFyIGdldF9wYXNzd29yZF9jaGFyICgpOwotKwkJcHVibGljIGJvb2wgZ2V0X3NlbGVjdGFibGUg KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgQ2x1dHRlci5Db2xv ciBnZXRfc2VsZWN0ZWRfdGV4dF9jb2xvciAoKTsKLSsJCXB1YmxpYyBzdHJpbmcgZ2V0X3NlbGVj dGlvbiAoKTsKLSsJCXB1YmxpYyBpbnQgZ2V0X3NlbGVjdGlvbl9ib3VuZCAoKTsKLSsJCXB1Ymxp YyBDbHV0dGVyLkNvbG9yIGdldF9zZWxlY3Rpb25fY29sb3IgKCk7Ci0rCQlwdWJsaWMgYm9vbCBn ZXRfc2luZ2xlX2xpbmVfbW9kZSAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIHN0cmluZyBnZXRfdGV4 dCAoKTsKLSsJCXB1YmxpYyBib29sIGdldF91c2VfbWFya3VwICgpOwotKwkJcHVibGljIGJvb2wg aGFzX3ByZWVkaXQgKCk7Ci0rCQlwdWJsaWMgdm9pZCBpbnNlcnRfdGV4dCAoc3RyaW5nIHRleHQs IHNzaXplX3QgcG9zaXRpb24pOwotKwkJcHVibGljIHZvaWQgaW5zZXJ0X3VuaWNoYXIgKHVuaWNo YXIgd2MpOwotKwkJcHVibGljIGJvb2wgcG9zaXRpb25fdG9fY29vcmRzIChpbnQgcG9zaXRpb24s IG91dCBmbG9hdCB4LCBvdXQgZmxvYXQgeSwgb3V0IGZsb2F0IGxpbmVfaGVpZ2h0ID0gbnVsbCk7 Ci0rCQlwdWJsaWMgdm9pZCBzZXRfYWN0aXZhdGFibGUgKGJvb2wgYWN0aXZhdGFibGUpOwotKwkJ cHVibGljIHZvaWQgc2V0X2F0dHJpYnV0ZXMgKFBhbmdvLkF0dHJMaXN0PyBhdHRycyk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2J1ZmZlciAoQ2x1 dHRlci5UZXh0QnVmZmVyIGJ1ZmZlcik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfY29sb3IgKENsdXR0 ZXIuQ29sb3IgY29sb3IpOwotKwkJcHVibGljIHZvaWQgc2V0X2N1cnNvcl9jb2xvciAoQ2x1dHRl ci5Db2xvcj8gY29sb3IpOwotKwkJcHVibGljIHZvaWQgc2V0X2N1cnNvcl9wb3NpdGlvbiAoaW50 IHBvc2l0aW9uKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9jdXJzb3Jfc2l6ZSAoaW50IHNpemUpOwot KwkJcHVibGljIHZvaWQgc2V0X2N1cnNvcl92aXNpYmxlIChib29sIGN1cnNvcl92aXNpYmxlKTsK LSsJCXB1YmxpYyB2b2lkIHNldF9lZGl0YWJsZSAoYm9vbCBlZGl0YWJsZSk7Ci0rCQlwdWJsaWMg dm9pZCBzZXRfZWxsaXBzaXplIChQYW5nby5FbGxpcHNpemVNb2RlIG1vZGUpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIHZvaWQgc2V0X2ZvbnRfZGVzY3JpcHRpb24g KFBhbmdvLkZvbnREZXNjcmlwdGlvbiBmb250X2Rlc2MpOwotKwkJcHVibGljIHZvaWQgc2V0X2Zv bnRfbmFtZSAoc3RyaW5nPyBmb250X25hbWUpOwotKwkJcHVibGljIHZvaWQgc2V0X2lucHV0X2hp bnRzIChDbHV0dGVyLklucHV0Q29udGVudEhpbnRGbGFncyBoaW50cyk7Ci0rCQlwdWJsaWMgdm9p ZCBzZXRfaW5wdXRfcHVycG9zZSAoQ2x1dHRlci5JbnB1dENvbnRlbnRQdXJwb3NlIHB1cnBvc2Up OwotKwkJcHVibGljIHZvaWQgc2V0X2p1c3RpZnkgKGJvb2wganVzdGlmeSk7Ci0rCQlwdWJsaWMg dm9pZCBzZXRfbGluZV9hbGlnbm1lbnQgKFBhbmdvLkFsaWdubWVudCBhbGlnbm1lbnQpOwotKwkJ cHVibGljIHZvaWQgc2V0X2xpbmVfd3JhcCAoYm9vbCBsaW5lX3dyYXApOwotKwkJcHVibGljIHZv aWQgc2V0X2xpbmVfd3JhcF9tb2RlIChQYW5nby5XcmFwTW9kZSB3cmFwX21vZGUpOwotKwkJcHVi bGljIHZvaWQgc2V0X21hcmt1cCAoc3RyaW5nPyBtYXJrdXApOwotKwkJcHVibGljIHZvaWQgc2V0 X21heF9sZW5ndGggKGludCBtYXgpOwotKwkJcHVibGljIHZvaWQgc2V0X3Bhc3N3b3JkX2NoYXIg KHVuaWNoYXIgd2MpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIHZv aWQgc2V0X3ByZWVkaXRfc3RyaW5nIChzdHJpbmc/IHByZWVkaXRfc3RyLCBQYW5nby5BdHRyTGlz dD8gcHJlZWRpdF9hdHRycywgdWludCBjdXJzb3JfcG9zKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9z ZWxlY3RhYmxlIChib29sIHNlbGVjdGFibGUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIp XQotKwkJcHVibGljIHZvaWQgc2V0X3NlbGVjdGVkX3RleHRfY29sb3IgKENsdXR0ZXIuQ29sb3I/ IGNvbG9yKTsKLSsJCXB1YmxpYyB2b2lkIHNldF9zZWxlY3Rpb24gKHNzaXplX3Qgc3RhcnRfcG9z LCBzc2l6ZV90IGVuZF9wb3MpOwotKwkJcHVibGljIHZvaWQgc2V0X3NlbGVjdGlvbl9ib3VuZCAo aW50IHNlbGVjdGlvbl9ib3VuZCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfc2VsZWN0aW9uX2NvbG9y IChDbHV0dGVyLkNvbG9yPyBjb2xvcik7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfc2luZ2xlX2xpbmVf bW9kZSAoYm9vbCBzaW5nbGVfbGluZSk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfdGV4dCAoc3RyaW5n PyB0ZXh0KTsKLSsJCXB1YmxpYyB2b2lkIHNldF91c2VfbWFya3VwIChib29sIHNldHRpbmcpOwot KwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX3RleHRfYWN0aXZhdGUiKV0KLSsJCXB1YmxpYyBi b29sIHRyeV9hY3RpdmF0ZSAoKTsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9 IGZhbHNlLCB0eXBlID0gIkNsdXR0ZXJBY3RvcioiKV0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEwIildCi0rCQlwdWJsaWMgVGV4dC53aXRoX2J1ZmZlciAoQ2x1dHRlci5UZXh0QnVmZmVyIGJ1 ZmZlcik7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9 ICJDbHV0dGVyQWN0b3IqIildCi0rCQlwdWJsaWMgVGV4dC53aXRoX3RleHQgKHN0cmluZz8gZm9u dF9uYW1lLCBzdHJpbmcgdGV4dCk7Ci0rCQlwdWJsaWMgYm9vbCBhY3RpdmF0YWJsZSB7IGdldDsg c2V0OyB9Ci0rCQlwdWJsaWMgUGFuZ28uQXR0ckxpc3QgYXR0cmlidXRlcyB7IGdldDsgc2V0OyB9 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgQ2x1dHRlci5UZXh0QnVm ZmVyIGJ1ZmZlciB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgQ2x1dHRlci5Db2xvciBjb2xvciB7 IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgQ2x1dHRlci5Db2xvciBjdXJzb3JfY29sb3IgeyBnZXQ7 IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgYm9vbCBjdXJzb3JfY29s b3Jfc2V0IHsgZ2V0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGlj IGludCBjdXJzb3JfcG9zaXRpb24geyBnZXQ7IHNldDsgfQotKwkJcHVibGljIGludCBjdXJzb3Jf c2l6ZSB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgYm9vbCBjdXJzb3JfdmlzaWJsZSB7IGdldDsg c2V0OyB9Ci0rCQlwdWJsaWMgYm9vbCBlZGl0YWJsZSB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMg UGFuZ28uRWxsaXBzaXplTW9kZSBlbGxpcHNpemUgeyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIFBhbmdvLkZvbnREZXNjcmlwdGlvbiBmb250X2Rl c2NyaXB0aW9uIHsgb3duZWQgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBzdHJpbmcgZm9udF9uYW1l IHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBDbHV0dGVyLklucHV0Q29udGVudEhpbnRGbGFncyBp bnB1dF9oaW50cyB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgQ2x1dHRlci5JbnB1dENvbnRlbnRQ dXJwb3NlIGlucHV0X3B1cnBvc2UgeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIGJvb2wganVzdGlm eSB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgUGFuZ28uQWxpZ25tZW50IGxpbmVfYWxpZ25tZW50 IHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBib29sIGxpbmVfd3JhcCB7IGdldDsgc2V0OyB9Ci0r CQlwdWJsaWMgUGFuZ28uV3JhcE1vZGUgbGluZV93cmFwX21vZGUgeyBnZXQ7IHNldDsgfQotKwkJ cHVibGljIGludCBtYXhfbGVuZ3RoIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyB1aW50IHBhc3N3 b3JkX2NoYXIgeyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lv biAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMiIsIHNpbmNlID0g IjEuMCIpXQotKwkJcHVibGljIGludCBwb3NpdGlvbiB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMg Ym9vbCBzZWxlY3RhYmxlIHsgZ2V0OyBzZXQ7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgi KV0KLSsJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIHNlbGVjdGVkX3RleHRfY29sb3IgeyBnZXQ7IHNl dDsgfQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44Iild Ci0rCQlwdWJsaWMgYm9vbCBzZWxlY3RlZF90ZXh0X2NvbG9yX3NldCB7IGdldDsgfQotKwkJcHVi bGljIGludCBzZWxlY3Rpb25fYm91bmQgeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIENsdXR0ZXIu Q29sb3Igc2VsZWN0aW9uX2NvbG9yIHsgZ2V0OyBzZXQ7IH0KLSsJCVtOb0FjY2Vzc29yTWV0aG9k XQotKwkJcHVibGljIGJvb2wgc2VsZWN0aW9uX2NvbG9yX3NldCB7IGdldDsgfQotKwkJcHVibGlj IGJvb2wgc2luZ2xlX2xpbmVfbW9kZSB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgc3RyaW5nIHRl eHQgeyBnZXQ7IHNldDsgfQotKwkJcHVibGljIGJvb2wgdXNlX21hcmt1cCB7IGdldDsgc2V0OyB9 Ci0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBhY3RpdmF0ZSAoKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjE2IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBjdXJzb3Jf Y2hhbmdlZCAoKTsKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9z aW5jZSA9ICIxLjE2Iiwgc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwg dm9pZCBjdXJzb3JfZXZlbnQgKEdyYXBoZW5lLlJlY3QgcmVjdCk7Ci0rCQlbSGFzRW1pdHRlcl0K LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyBzaWduYWwgdm9pZCBkZWxl dGVfdGV4dCAoaW50IHN0YXJ0X3BvcywgaW50IGVuZF9wb3MpOwotKwkJcHVibGljIHZpcnR1YWwg c2lnbmFsIHZvaWQgdGV4dF9jaGFuZ2VkICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl90ZXh0X2J1ZmZl cl9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJsaWMg Y2xhc3MgVGV4dEJ1ZmZlciA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVj dF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXB1YmxpYyBUZXh0QnVmZmVyICgpOwotKwkJcHVibGlj IHZpcnR1YWwgdWludCBkZWxldGVfdGV4dCAodWludCBwb3NpdGlvbiwgdWludCBuX2NoYXJzKTsK LSsJCXB1YmxpYyB2b2lkIGVtaXRfZGVsZXRlZF90ZXh0ICh1aW50IHBvc2l0aW9uLCB1aW50IG5f Y2hhcnMpOwotKwkJcHVibGljIHZvaWQgZW1pdF9pbnNlcnRlZF90ZXh0ICh1aW50IHBvc2l0aW9u LCBzdHJpbmcgY2hhcnMsIHVpbnQgbl9jaGFycyk7Ci0rCQlwdWJsaWMgc2l6ZV90IGdldF9ieXRl cyAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHVpbnQgZ2V0X2xlbmd0aCAoKTsKLSsJCXB1YmxpYyBp bnQgZ2V0X21heF9sZW5ndGggKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcgZ2V0X3RleHQg KCk7Ci0rCQlbQ0NvZGUgKHZmdW5jX25hbWUgPSAiZ2V0X3RleHQiKV0KLSsJCVtOb1dyYXBwZXJd Ci0rCQlwdWJsaWMgdmlydHVhbCB1bm93bmVkIHN0cmluZyBnZXRfdGV4dF93aXRoX2xlbmd0aCAo c2l6ZV90IG5fYnl0ZXMpOwotKwkJcHVibGljIHZpcnR1YWwgdWludCBpbnNlcnRfdGV4dCAodWlu dCBwb3NpdGlvbiwgc3RyaW5nIGNoYXJzLCB1aW50IG5fY2hhcnMpOwotKwkJcHVibGljIHZvaWQg c2V0X21heF9sZW5ndGggKGludCBtYXhfbGVuZ3RoKTsKLSsJCXB1YmxpYyB2b2lkIHNldF90ZXh0 IChzdHJpbmcgY2hhcnMsIGludCBuX2NoYXJzKTsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9m dW5jdGlvbiA9IGZhbHNlKV0KLSsJCXB1YmxpYyBUZXh0QnVmZmVyLndpdGhfdGV4dCAoc3RyaW5n PyB0ZXh0LCBzc2l6ZV90IHRleHRfbGVuKTsKLSsJCXB1YmxpYyB1aW50IGxlbmd0aCB7IGdldDsg fQotKwkJcHVibGljIGludCBtYXhfbGVuZ3RoIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1YmxpYyBzdHJp bmcgdGV4dCB7IGdldDsgfQotKwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgZGVsZXRlZF90 ZXh0ICh1aW50IHBvc2l0aW9uLCB1aW50IG5fY2hhcnMpOwotKwkJcHVibGljIHZpcnR1YWwgc2ln bmFsIHZvaWQgaW5zZXJ0ZWRfdGV4dCAodWludCBwb3NpdGlvbiwgc3RyaW5nIGNoYXJzLCB1aW50 IG5fY2hhcnMpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl90ZXh0X25vZGVfZ2V0X3R5cGUgKCkiKV0KLSsJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJcHVibGljIGNsYXNzIFRleHROb2RlIDogQ2x1 dHRlci5QYWludE5vZGUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFs c2UsIHR5cGUgPSAiQ2x1dHRlclBhaW50Tm9kZSoiKV0KLSsJCXB1YmxpYyBUZXh0Tm9kZSAoUGFu Z28uTGF5b3V0PyBsYXlvdXQsIENsdXR0ZXIuQ29sb3I/IGNvbG9yKTsKLSsJfQotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0 ZXJfdGV4dHVyZV9ub2RlX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEw IildCi0rCXB1YmxpYyBjbGFzcyBUZXh0dXJlTm9kZSA6IENsdXR0ZXIuUGlwZWxpbmVOb2RlIHsK LSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNsdXR0 ZXJQYWludE5vZGUqIildCi0rCQlwdWJsaWMgVGV4dHVyZU5vZGUgKENvZ2wuVGV4dHVyZSB0ZXh0 dXJlLCBDbHV0dGVyLkNvbG9yPyBjb2xvciwgQ2x1dHRlci5TY2FsaW5nRmlsdGVyIG1pbl9maWx0 ZXIsIENsdXR0ZXIuU2NhbGluZ0ZpbHRlciBtYWdfZmlsdGVyKTsKLSsJfQotKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2lkID0gImNsdXR0ZXJf dGltZWxpbmVfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQotKwlw dWJsaWMgY2xhc3MgVGltZWxpbmUgOiBHTGliLk9iamVjdCwgQ2x1dHRlci5TY3JpcHRhYmxlIHsK LSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyBUaW1lbGluZSAodWludCBkdXJhdGlvbl9tcyk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotKwkJcHVibGljIHZvaWQgYWRkX21hcmtl ciAoc3RyaW5nIG1hcmtlcl9uYW1lLCBkb3VibGUgcHJvZ3Jlc3MpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjAuOCIpXQotKwkJcHVibGljIHZvaWQgYWRkX21hcmtlcl9hdF90aW1lIChzdHJpbmcg bWFya2VyX25hbWUsIHVpbnQgbXNlY3MpOwotKwkJcHVibGljIHZvaWQgYWR2YW5jZSAodWludCBt c2Vjcyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgdm9pZCBhZHZh bmNlX3RvX21hcmtlciAoc3RyaW5nIG1hcmtlcl9uYW1lKTsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0 cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXB1YmxpYyBUaW1lbGluZS5mb3JfYWN0b3IgKENs dXR0ZXIuQWN0b3IgYWN0b3IsIHVpbnQgZHVyYXRpb25fbXMpOwotKwkJW0NDb2RlIChoYXNfY29u c3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHVibGljIFRpbWVsaW5lLmZvcl9mcmFtZV9j bG9jayAoQ2x1dHRlci5GcmFtZUNsb2NrIGZyYW1lX2Nsb2NrLCB1aW50IGR1cmF0aW9uX21zKTsK LSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZ2V0X2FjdG9yICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIGJvb2wgZ2V0X2F1dG9fcmV2ZXJzZSAoKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgYm9vbCBnZXRfY3ViaWNf YmV6aWVyX3Byb2dyZXNzIChvdXQgR3JhcGhlbmUuUG9pbnQgY18xLCBvdXQgR3JhcGhlbmUuUG9p bnQgY18yKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgaW50IGdl dF9jdXJyZW50X3JlcGVhdCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSsJCXB1 YmxpYyB1aW50IGdldF9kZWxheSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJ CXB1YmxpYyB1aW50IGdldF9kZWx0YSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0K LSsJCXB1YmxpYyBDbHV0dGVyLlRpbWVsaW5lRGlyZWN0aW9uIGdldF9kaXJlY3Rpb24gKCk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgdWludCBnZXRfZHVyYXRpb24g KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGludDY0IGdldF9k dXJhdGlvbl9oaW50ICgpOwotKwkJcHVibGljIHVpbnQgZ2V0X2VsYXBzZWRfdGltZSAoKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyBkb3VibGUgZ2V0X3Byb2dyZXNz ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkFu aW1hdGlvbk1vZGUgZ2V0X3Byb2dyZXNzX21vZGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQotKwkJcHVibGljIGludCBnZXRfcmVwZWF0X2NvdW50ICgpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBib29sIGdldF9zdGVwX3Byb2dyZXNzIChvdXQg aW50IG5fc3RlcHMsIG91dCBDbHV0dGVyLlN0ZXBNb2RlIHN0ZXBfbW9kZSk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgYm9vbCBoYXNfbWFya2VyIChzdHJpbmcgbWFy a2VyX25hbWUpOwotKwkJcHVibGljIGJvb2wgaXNfcGxheWluZyAoKTsKLSsJCVtDQ29kZSAoYXJy YXlfbGVuZ3RoID0gdHJ1ZSwgYXJyYXlfbGVuZ3RoX3BvcyA9IDEuMSwgYXJyYXlfbGVuZ3RoX3R5 cGUgPSAiZ3NpemUiLCBhcnJheV9udWxsX3Rlcm1pbmF0ZWQgPSB0cnVlKV0KLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBzdHJpbmdbXSBsaXN0X21hcmtlcnMgKGludCBt c2Vjcyk7Ci0rCQlwdWJsaWMgdm9pZCBwYXVzZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIw LjgiKV0KLSsJCXB1YmxpYyB2b2lkIHJlbW92ZV9tYXJrZXIgKHN0cmluZyBtYXJrZXJfbmFtZSk7 Ci0rCQlwdWJsaWMgdm9pZCByZXdpbmQgKCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfYWN0b3IgKENs dXR0ZXIuQWN0b3I/IGFjdG9yKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1 YmxpYyB2b2lkIHNldF9hdXRvX3JldmVyc2UgKGJvb2wgcmV2ZXJzZSk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIHZvaWQgc2V0X2N1YmljX2Jlemllcl9wcm9ncmVz cyAoR3JhcGhlbmUuUG9pbnQgY18xLCBHcmFwaGVuZS5Qb2ludCBjXzIpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjAuNCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2RlbGF5ICh1aW50IG1zZWNzKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9kaXJlY3Rp b24gKENsdXR0ZXIuVGltZWxpbmVEaXJlY3Rpb24gZGlyZWN0aW9uKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIwLjYiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9kdXJhdGlvbiAodWludCBtc2Vjcyk7 Ci0rCQlwdWJsaWMgdm9pZCBzZXRfZnJhbWVfY2xvY2sgKENsdXR0ZXIuRnJhbWVDbG9jayBmcmFt ZV9jbG9jayk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQg c2V0X3Byb2dyZXNzX2Z1bmMgKG93bmVkIENsdXR0ZXIuVGltZWxpbmVQcm9ncmVzc0Z1bmM/IGZ1 bmMpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9w cm9ncmVzc19tb2RlIChDbHV0dGVyLkFuaW1hdGlvbk1vZGUgbW9kZSk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3JlcGVhdF9jb3VudCAoaW50IGNv dW50KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCQlwdWJsaWMgdm9pZCBzZXRf c3RlcF9wcm9ncmVzcyAoaW50IG5fc3RlcHMsIENsdXR0ZXIuU3RlcE1vZGUgc3RlcF9tb2RlKTsK LSsJCXB1YmxpYyB2b2lkIHNraXAgKHVpbnQgbXNlY3MpOwotKwkJcHVibGljIHZvaWQgc3RhcnQg KCk7Ci0rCQlwdWJsaWMgdm9pZCBzdG9wICgpOwotKwkJcHVibGljIENsdXR0ZXIuQWN0b3IgYWN0 b3IgeyBnZXQ7IHNldCBjb25zdHJ1Y3Q7IH0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0K LSsJCXB1YmxpYyBib29sIGF1dG9fcmV2ZXJzZSB7IGdldDsgc2V0OyB9Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMC40IildCi0rCQlwdWJsaWMgdWludCBkZWxheSB7IGdldDsgc2V0OyB9Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgQ2x1dHRlci5UaW1lbGluZURpcmVj dGlvbiBkaXJlY3Rpb24geyBnZXQ7IHNldDsgfQotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIp XQotKwkJcHVibGljIHVpbnQgZHVyYXRpb24geyBnZXQ7IHNldDsgfQotKwkJW05vQWNjZXNzb3JN ZXRob2RdCi0rCQlwdWJsaWMgQ2x1dHRlci5GcmFtZUNsb2NrIGZyYW1lX2Nsb2NrIHsgb3duZWQg Z2V0OyBzZXQgY29uc3RydWN0OyB9Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJ cHVibGljIENsdXR0ZXIuQW5pbWF0aW9uTW9kZSBwcm9ncmVzc19tb2RlIHsgZ2V0OyBzZXQ7IH0K LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgaW50IHJlcGVhdF9jb3Vu dCB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBjb21wbGV0ZWQg KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWdu YWwgdm9pZCBtYXJrZXJfcmVhY2hlZCAoc3RyaW5nIG1hcmtlcl9uYW1lLCBpbnQgbXNlY3MpOwot KwkJcHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgbmV3X2ZyYW1lIChpbnQgbXNlY3MpOwotKwkJ cHVibGljIHZpcnR1YWwgc2lnbmFsIHZvaWQgcGF1c2VkICgpOwotKwkJcHVibGljIHZpcnR1YWwg c2lnbmFsIHZvaWQgc3RhcnRlZCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0r CQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBzdG9wcGVkIChib29sIGlzX2ZpbmlzaGVkKTsK LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBo YXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0NvbXBhY3RdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEwIildCi0rCXB1YmxpYyBjbGFzcyBUb3VjaEV2ZW50IDogQ2x1dHRlci5FdmVudCB7Ci0rCQlw dWJsaWMgZG91YmxlIGF4ZXM7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLklucHV0RGV2aWNlIGRl dmljZTsKLSsJCXB1YmxpYyBDbHV0dGVyLkV2ZW50RmxhZ3MgZmxhZ3M7Ci0rCQlwdWJsaWMgQ2x1 dHRlci5Nb2RpZmllclR5cGUgbW9kaWZpZXJfc3RhdGU7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVy LkV2ZW50U2VxdWVuY2Ugc2VxdWVuY2U7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNv dXJjZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWlu dDMyIHRpbWU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJCXB1YmxpYyBm bG9hdCB4OwotKwkJcHVibGljIGZsb2F0IHk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtDb21w YWN0XQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4yNCIpXQotKwlwdWJsaWMgY2xhc3MgVG91Y2hw YWRQaW5jaEV2ZW50IDogQ2x1dHRlci5FdmVudCB7Ci0rCQlwdWJsaWMgZmxvYXQgYW5nbGVfZGVs dGE7Ci0rCQlwdWJsaWMgZmxvYXQgZHg7Ci0rCQlwdWJsaWMgZmxvYXQgZHk7Ci0rCQlwdWJsaWMg Q2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotKwkJcHVibGljIHVpbnQgbl9maW5nZXJzOwotKwkJ cHVibGljIENsdXR0ZXIuVG91Y2hwYWRHZXN0dXJlUGhhc2UgcGhhc2U7Ci0rCQlwdWJsaWMgZmxv YXQgc2NhbGU7Ci0rCQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKLSsJCXB1Ymxp YyB3ZWFrIENsdXR0ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWludDMyIHRpbWU7Ci0rCQlw dWJsaWMgQ2x1dHRlci5FdmVudFR5cGUgdHlwZTsKLSsJCXB1YmxpYyBmbG9hdCB4OwotKwkJcHVi bGljIGZsb2F0IHk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtDb21wYWN0XQotKwlbVmVyc2lv biAoc2luY2UgPSAiMS4yNCIpXQotKwlwdWJsaWMgY2xhc3MgVG91Y2hwYWRTd2lwZUV2ZW50IDog Q2x1dHRlci5FdmVudCB7Ci0rCQlwdWJsaWMgZmxvYXQgZHg7Ci0rCQlwdWJsaWMgZmxvYXQgZHk7 Ci0rCQlwdWJsaWMgQ2x1dHRlci5FdmVudEZsYWdzIGZsYWdzOwotKwkJcHVibGljIHVpbnQgbl9m aW5nZXJzOwotKwkJcHVibGljIENsdXR0ZXIuVG91Y2hwYWRHZXN0dXJlUGhhc2UgcGhhc2U7Ci0r CQlwdWJsaWMgd2VhayBDbHV0dGVyLkFjdG9yIHNvdXJjZTsKLSsJCXB1YmxpYyB3ZWFrIENsdXR0 ZXIuU3RhZ2Ugc3RhZ2U7Ci0rCQlwdWJsaWMgdWludDMyIHRpbWU7Ci0rCQlwdWJsaWMgQ2x1dHRl ci5FdmVudFR5cGUgdHlwZTsKLSsJCXB1YmxpYyBmbG9hdCB4OwotKwkJcHVibGljIGZsb2F0IHk7 Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg dHlwZV9pZCA9ICJjbHV0dGVyX3RyYW5zZm9ybV9ub2RlX2dldF90eXBlICgpIildCi0rCXB1Ymxp YyBjbGFzcyBUcmFuc2Zvcm1Ob2RlIDogQ2x1dHRlci5QYWludE5vZGUgewotKwkJW0NDb2RlICho YXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ2x1dHRlclBhaW50Tm9kZSoi KV0KLSsJCXB1YmxpYyBUcmFuc2Zvcm1Ob2RlIChHcmFwaGVuZS5NYXRyaXggcHJvamVjdGlvbik7 Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg dHlwZV9pZCA9ICJjbHV0dGVyX3RyYW5zaXRpb25fZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTAiKV0KLSsJcHVibGljIGFic3RyYWN0IGNsYXNzIFRyYW5zaXRpb24gOiBD bHV0dGVyLlRpbWVsaW5lLCBDbHV0dGVyLlNjcmlwdGFibGUgewotKwkJW0NDb2RlIChoYXNfY29u c3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIFRyYW5zaXRpb24gKCk7Ci0r CQlbTm9XcmFwcGVyXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBhdHRhY2hlZCAoQ2x1dHRlci5B bmltYXRhYmxlIGFuaW1hdGFibGUpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFs IHZvaWQgY29tcHV0ZV92YWx1ZSAoQ2x1dHRlci5BbmltYXRhYmxlIGFuaW1hdGFibGUsIENsdXR0 ZXIuSW50ZXJ2YWwgaW50ZXJ2YWwsIGRvdWJsZSBwcm9ncmVzcyk7Ci0rCQlbTm9XcmFwcGVyXQot KwkJcHVibGljIHZpcnR1YWwgdm9pZCBkZXRhY2hlZCAoQ2x1dHRlci5BbmltYXRhYmxlIGFuaW1h dGFibGUpOwotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5BbmltYXRhYmxlIGdldF9hbmltYXRh YmxlICgpOwotKwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5JbnRlcnZhbCBnZXRfaW50ZXJ2YWwg KCk7Ci0rCQlwdWJsaWMgYm9vbCBnZXRfcmVtb3ZlX29uX2NvbXBsZXRlICgpOwotKwkJcHVibGlj IHZvaWQgc2V0X2FuaW1hdGFibGUgKENsdXR0ZXIuQW5pbWF0YWJsZT8gYW5pbWF0YWJsZSk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwkJcHVibGljIHZvaWQgc2V0X2Zyb21fdmFs dWUgKEdMaWIuVmFsdWUgdmFsdWUpOwotKwkJcHVibGljIHZvaWQgc2V0X2ludGVydmFsIChDbHV0 dGVyLkludGVydmFsPyBpbnRlcnZhbCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfcmVtb3ZlX29uX2Nv bXBsZXRlIChib29sIHJlbW92ZV9jb21wbGV0ZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MiIpXQotKwkJcHVibGljIHZvaWQgc2V0X3RvX3ZhbHVlIChHTGliLlZhbHVlIHZhbHVlKTsKLSsJ CXB1YmxpYyBDbHV0dGVyLkFuaW1hdGFibGUgYW5pbWF0YWJsZSB7IGdldDsgc2V0OyB9Ci0rCQlw dWJsaWMgQ2x1dHRlci5JbnRlcnZhbCBpbnRlcnZhbCB7IGdldDsgc2V0OyB9Ci0rCQlwdWJsaWMg Ym9vbCByZW1vdmVfb25fY29tcGxldGUgeyBnZXQ7IHNldDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl90 cmFuc2l0aW9uX2dyb3VwX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEy IildCi0rCXB1YmxpYyBjbGFzcyBUcmFuc2l0aW9uR3JvdXAgOiBDbHV0dGVyLlRyYW5zaXRpb24s IENsdXR0ZXIuU2NyaXB0YWJsZSB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24g PSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyVHJhbnNpdGlvbioiKV0KLSsJCXB1YmxpYyBUcmFuc2l0 aW9uR3JvdXAgKCk7Ci0rCQlwdWJsaWMgdm9pZCBhZGRfdHJhbnNpdGlvbiAoQ2x1dHRlci5UcmFu c2l0aW9uIHRyYW5zaXRpb24pOwotKwkJcHVibGljIHZvaWQgcmVtb3ZlX2FsbCAoKTsKLSsJCXB1 YmxpYyB2b2lkIHJlbW92ZV90cmFuc2l0aW9uIChDbHV0dGVyLlRyYW5zaXRpb24gdHJhbnNpdGlv bik7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgdHlwZV9pZCA9ICJjbHV0dGVyX3ZpcnR1YWxfaW5wdXRfZGV2aWNlX2dldF90eXBlICgpIild Ci0rCXB1YmxpYyBjbGFzcyBWaXJ0dWFsSW5wdXREZXZpY2UgOiBHTGliLk9iamVjdCB7Ci0rCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgVmly dHVhbElucHV0RGV2aWNlICgpOwotKwkJcHVibGljIGludCBnZXRfZGV2aWNlX3R5cGUgKCk7Ci0r CQlwdWJsaWMgdmlydHVhbCB2b2lkIG5vdGlmeV9hYnNvbHV0ZV9tb3Rpb24gKHVpbnQ2NCB0aW1l X3VzLCBkb3VibGUgeCwgZG91YmxlIHkpOwotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBub3RpZnlf YnV0dG9uICh1aW50NjQgdGltZV91cywgdWludDMyIGJ1dHRvbiwgQ2x1dHRlci5CdXR0b25TdGF0 ZSBidXR0b25fc3RhdGUpOwotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBub3RpZnlfZGlzY3JldGVf c2Nyb2xsICh1aW50NjQgdGltZV91cywgQ2x1dHRlci5TY3JvbGxEaXJlY3Rpb24gZGlyZWN0aW9u LCBDbHV0dGVyLlNjcm9sbFNvdXJjZSBzY3JvbGxfc291cmNlKTsKLSsJCXB1YmxpYyB2aXJ0dWFs IHZvaWQgbm90aWZ5X2tleSAodWludDY0IHRpbWVfdXMsIHVpbnQzMiBrZXksIENsdXR0ZXIuS2V5 U3RhdGUga2V5X3N0YXRlKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgbm90aWZ5X2tleXZhbCAo dWludDY0IHRpbWVfdXMsIHVpbnQzMiBrZXl2YWwsIENsdXR0ZXIuS2V5U3RhdGUga2V5X3N0YXRl KTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgbm90aWZ5X3JlbGF0aXZlX21vdGlvbiAodWludDY0 IHRpbWVfdXMsIGRvdWJsZSBkeCwgZG91YmxlIGR5KTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQg bm90aWZ5X3Njcm9sbF9jb250aW51b3VzICh1aW50NjQgdGltZV91cywgZG91YmxlIGR4LCBkb3Vi bGUgZHksIENsdXR0ZXIuU2Nyb2xsU291cmNlIHNjcm9sbF9zb3VyY2UsIENsdXR0ZXIuU2Nyb2xs RmluaXNoRmxhZ3MgZmluaXNoX2ZsYWdzKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgbm90aWZ5 X3RvdWNoX2Rvd24gKHVpbnQ2NCB0aW1lX3VzLCBpbnQgc2xvdCwgZG91YmxlIHgsIGRvdWJsZSB5 KTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgbm90aWZ5X3RvdWNoX21vdGlvbiAodWludDY0IHRp bWVfdXMsIGludCBzbG90LCBkb3VibGUgeCwgZG91YmxlIHkpOwotKwkJcHVibGljIHZpcnR1YWwg dm9pZCBub3RpZnlfdG91Y2hfdXAgKHVpbnQ2NCB0aW1lX3VzLCBpbnQgc2xvdCk7Ci0rCQlwdWJs aWMgQ2x1dHRlci5JbnB1dERldmljZVR5cGUgZGV2aWNlX3R5cGUgeyBnZXQ7IGNvbnN0cnVjdDsg fQotKwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgQ2x1dHRlci5TZWF0IHNlYXQgeyBv d25lZCBnZXQ7IGNvbnN0cnVjdDsgfQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1dHRlcl96b29tX2FjdGlvbl9nZXRf dHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwlwdWJsaWMgY2xhc3Mg Wm9vbUFjdGlvbiA6IENsdXR0ZXIuR2VzdHVyZUFjdGlvbiB7Ci0rCQlbQ0NvZGUgKGhhc19jb25z dHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDbHV0dGVyQWN0aW9uKiIpXQotKwkJcHVi bGljIFpvb21BY3Rpb24gKCk7Ci0rCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQgZ2V0X2ZvY2FsX3Bv aW50ICgpOwotKwkJcHVibGljIEdyYXBoZW5lLlBvaW50IGdldF90cmFuc2Zvcm1lZF9mb2NhbF9w b2ludCAoKTsKLSsJCXB1YmxpYyBDbHV0dGVyLlpvb21BeGlzIGdldF96b29tX2F4aXMgKCk7Ci0r CQlwdWJsaWMgdm9pZCBzZXRfem9vbV9heGlzIChDbHV0dGVyLlpvb21BeGlzIGF4aXMpOwotKwkJ cHVibGljIENsdXR0ZXIuWm9vbUF4aXMgem9vbV9heGlzIHsgZ2V0OyBzZXQ7IH0KLSsJCXB1Ymxp YyB2aXJ0dWFsIHNpZ25hbCBib29sIHpvb20gKENsdXR0ZXIuQWN0b3IgYWN0b3IsIEdyYXBoZW5l LlBvaW50IGZvY2FsX3BvaW50LCBkb3VibGUgZmFjdG9yKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2NuYW1lID0gIkNsdXR0ZXJB bmltYXRhYmxlSW50ZXJmYWNlIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2FuaW1hdGFibGVfZ2V0X3R5 cGUgKCkiKV0KLSsJcHVibGljIGludGVyZmFjZSBBbmltYXRhYmxlIDogR0xpYi5PYmplY3Qgewot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIGFic3RyYWN0IHVub3duZWQg R0xpYi5QYXJhbVNwZWMgZmluZF9wcm9wZXJ0eSAoc3RyaW5nIHByb3BlcnR5X25hbWUpOwotKwkJ cHVibGljIGFic3RyYWN0IHVub3duZWQgQ2x1dHRlci5BY3RvciBnZXRfYWN0b3IgKCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBnZXRfaW5p dGlhbF9zdGF0ZSAoc3RyaW5nIHByb3BlcnR5X25hbWUsIEdMaWIuVmFsdWUgdmFsdWUpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIGFic3RyYWN0IGJvb2wgaW50ZXJw b2xhdGVfdmFsdWUgKHN0cmluZyBwcm9wZXJ0eV9uYW1lLCBDbHV0dGVyLkludGVydmFsIGludGVy dmFsLCBkb3VibGUgcHJvZ3Jlc3MsIG91dCBHTGliLlZhbHVlIHZhbHVlKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyBhYnN0cmFjdCB2b2lkIHNldF9maW5hbF9zdGF0 ZSAoc3RyaW5nIHByb3BlcnR5X25hbWUsIEdMaWIuVmFsdWUgdmFsdWUpOwotKwl9Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIHR5cGVfaWQgPSAiY2x1 dHRlcl9jb250YWluZXJfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIp XQotKwlwdWJsaWMgaW50ZXJmYWNlIENvbnRhaW5lciA6IEdMaWIuT2JqZWN0IHsKLSsJCXB1Ymxp YyB2b2lkIGFkZCAocGFyYW1zIENsdXR0ZXIuQWN0b3JbXSBhY3RvcnMpOwotKwkJW0NDb2RlICh2 ZnVuY19uYW1lID0gImFkZCIpXQotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXBy ZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIwLjQiKV0KLSsJCXB1YmxpYyBhYnN0cmFj dCB2b2lkIGFkZF9hY3RvciAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMC44IildCi0rCQlwdWJsaWMgdm9pZCBjaGlsZF9nZXQgKENsdXR0ZXIuQWN0b3IgYWN0 b3IsIC4uLik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgdm9pZCBj aGlsZF9nZXRfcHJvcGVydHkgKENsdXR0ZXIuQWN0b3IgY2hpbGQsIHN0cmluZyBwcm9wZXJ0eSwg R0xpYi5WYWx1ZSB2YWx1ZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJs aWMgdm9pZCBjaGlsZF9zZXQgKENsdXR0ZXIuQWN0b3IgYWN0b3IsIC4uLik7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgdm9pZCBjaGlsZF9zZXRfcHJvcGVydHkgKENs dXR0ZXIuQWN0b3IgY2hpbGQsIHN0cmluZyBwcm9wZXJ0eSwgR0xpYi5WYWx1ZSB2YWx1ZSk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4yIildCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGNyZWF0 ZV9jaGlsZF9tZXRhIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjIiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgZGVzdHJveV9jaGlsZF9tZXRhIChDbHV0 dGVyLkFjdG9yIGFjdG9yKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJCXB1Ymxp YyB1bm93bmVkIENsdXR0ZXIuQWN0b3IgZmluZF9jaGlsZF9ieV9uYW1lIChzdHJpbmcgY2hpbGRf bmFtZSk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfY29udGFpbmVyX2NsYXNzX2ZpbmRf Y2hpbGRfcHJvcGVydHkiKV0KLSsJCXB1YmxpYyBjbGFzcyB1bm93bmVkIEdMaWIuUGFyYW1TcGVj IGZpbmRfY2hpbGRfcHJvcGVydHkgKHN0cmluZyBwcm9wZXJ0eV9uYW1lKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHVub3duZWQgQ2x1dHRlci5DaGls ZE1ldGEgZ2V0X2NoaWxkX21ldGEgKENsdXR0ZXIuQWN0b3IgYWN0b3IpOwotKwkJW1ZlcnNpb24g KGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIw LjQiKV0KLSsJCXB1YmxpYyBHTGliLkxpc3Q8d2VhayBDbHV0dGVyLkFjdG9yPiBnZXRfY2hpbGRy ZW4gKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfY29udGFpbmVyX2NsYXNzX2xpc3Rf Y2hpbGRfcHJvcGVydGllcyIpXQotKwkJcHVibGljIGNsYXNzIHVub3duZWQgR0xpYi5QYXJhbVNw ZWNbXSBsaXN0X2NoaWxkX3Byb3BlcnRpZXMgKCk7Ci0rCQlbQ0NvZGUgKHZmdW5jX25hbWUgPSAi bG93ZXIiKV0KLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5j ZSA9ICIxLjEwIiwgc2luY2UgPSAiMC42IildCi0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIGxvd2Vy X2NoaWxkIChDbHV0dGVyLkFjdG9yIGFjdG9yLCBDbHV0dGVyLkFjdG9yPyBzaWJsaW5nID0gbnVs bCk7Ci0rCQlbQ0NvZGUgKHZmdW5jX25hbWUgPSAicmFpc2UiKV0KLSsJCVtWZXJzaW9uIChkZXBy ZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjEwIiwgc2luY2UgPSAiMC42Iild Ci0rCQlwdWJsaWMgdmlydHVhbCB2b2lkIHJhaXNlX2NoaWxkIChDbHV0dGVyLkFjdG9yIGFjdG9y LCBDbHV0dGVyLkFjdG9yPyBzaWJsaW5nID0gbnVsbCk7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRl ZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIsIHNpbmNlID0gIjAuNCIpXQotKwkJ cHVibGljIHZvaWQgcmVtb3ZlICguLi4pOwotKwkJW0NDb2RlICh2ZnVuY19uYW1lID0gInJlbW92 ZSIpXQotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0g IjEuMTAiLCBzaW5jZSA9ICIwLjQiKV0KLSsJCXB1YmxpYyBhYnN0cmFjdCB2b2lkIHJlbW92ZV9h Y3RvciAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRy dWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xMCIsIHNpbmNlID0gIjAuNiIpXQotKwkJcHVibGlj IGFic3RyYWN0IHZvaWQgc29ydF9kZXB0aF9vcmRlciAoKTsKLSsJCXB1YmxpYyB2aXJ0dWFsIHNp Z25hbCB2b2lkIGFjdG9yX2FkZGVkIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsKLSsJCXB1YmxpYyB2 aXJ0dWFsIHNpZ25hbCB2b2lkIGFjdG9yX3JlbW92ZWQgKENsdXR0ZXIuQWN0b3IgYWN0b3IpOwot KwkJW0hhc0VtaXR0ZXJdCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMg dmlydHVhbCBzaWduYWwgdm9pZCBjaGlsZF9ub3RpZnkgKENsdXR0ZXIuQWN0b3IgY2hpbGQsIEdM aWIuUGFyYW1TcGVjIHBzcGVjKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCB0eXBlX2NuYW1lID0gIkNsdXR0ZXJDb250ZW50SW50ZXJmYWNl IiwgdHlwZV9pZCA9ICJjbHV0dGVyX2NvbnRlbnRfZ2V0X3R5cGUgKCkiKV0KLSsJcHVibGljIGlu dGVyZmFjZSBDb250ZW50IDogR0xpYi5PYmplY3QgewotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KLSsJCXB1YmxpYyBhYnN0cmFjdCBib29sIGdldF9wcmVmZXJyZWRfc2l6ZSAob3V0IGZs b2F0IHdpZHRoLCBvdXQgZmxvYXQgaGVpZ2h0KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEw IildCi0rCQlwdWJsaWMgYWJzdHJhY3Qgdm9pZCBpbnZhbGlkYXRlICgpOwotKwkJcHVibGljIGFi c3RyYWN0IHZvaWQgaW52YWxpZGF0ZV9zaXplICgpOwotKwkJW05vV3JhcHBlcl0KLSsJCXB1Ymxp YyBhYnN0cmFjdCB2b2lkIHBhaW50X2NvbnRlbnQgKENsdXR0ZXIuQWN0b3IgYWN0b3IsIENsdXR0 ZXIuUGFpbnROb2RlIG5vZGUsIENsdXR0ZXIuUGFpbnRDb250ZXh0IHBhaW50X2NvbnRleHQpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHNpZ25hbCB2 b2lkIGF0dGFjaGVkIChDbHV0dGVyLkFjdG9yIGFjdG9yKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEwIildCi0rCQlwdWJsaWMgdmlydHVhbCBzaWduYWwgdm9pZCBkZXRhY2hlZCAoQ2x1dHRl ci5BY3RvciBhY3Rvcik7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3NjcmlwdGFibGVfZ2V0X3R5cGUgKCki KV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwlwdWJsaWMgaW50ZXJmYWNlIFNjcmlw dGFibGUgOiBHTGliLk9iamVjdCB7Ci0rCQlwdWJsaWMgYWJzdHJhY3QgdW5vd25lZCBzdHJpbmcg Z2V0X2lkICgpOwotKwkJcHVibGljIGFic3RyYWN0IGJvb2wgcGFyc2VfY3VzdG9tX25vZGUgKENs dXR0ZXIuU2NyaXB0IHNjcmlwdCwgR0xpYi5WYWx1ZSB2YWx1ZSwgc3RyaW5nIG5hbWUsIEpzb24u Tm9kZSBub2RlKTsKLSsJCXB1YmxpYyBhYnN0cmFjdCB2b2lkIHNldF9jdXN0b21fcHJvcGVydHkg KENsdXR0ZXIuU2NyaXB0IHNjcmlwdCwgc3RyaW5nIG5hbWUsIEdMaWIuVmFsdWUgdmFsdWUpOwot KwkJcHVibGljIGFic3RyYWN0IHZvaWQgc2V0X2lkIChzdHJpbmcgaWRfKTsKLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjb3B5X2Z1bmN0aW9u ID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlwZV9p ZCA9ICJjbHV0dGVyX2FjdG9yX2JveF9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgc3RydWN0IEFj dG9yQm94IHsKLSsJCXB1YmxpYyBmbG9hdCB4MTsKLSsJCXB1YmxpYyBmbG9hdCB5MTsKLSsJCXB1 YmxpYyBmbG9hdCB4MjsKLSsJCXB1YmxpYyBmbG9hdCB5MjsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjEyIildCi0rCQlwdWJsaWMgc3RhdGljIENsdXR0ZXIuQWN0b3JCb3g/IGFsbG9jICgpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIpXQotKwkJcHVibGljIHN0YXRpYyB2b2lkIGNsYW1w X3RvX3BpeGVsIChyZWYgQ2x1dHRlci5BY3RvckJveCBib3gpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMCIpXQotKwkJcHVibGljIGJvb2wgY29udGFpbnMgKGZsb2F0IHgsIGZsb2F0IHkpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIENsdXR0ZXIuQWN0b3JCb3g/ IGNvcHkgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgYm9vbCBl cXVhbCAoQ2x1dHRlci5BY3RvckJveCBib3hfYik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4w IildCi0rCQlwdWJsaWMgdm9pZCBmcmVlICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIp XQotKwkJcHVibGljIGZsb2F0IGdldF9hcmVhICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MCIpXQotKwkJcHVibGljIGZsb2F0IGdldF9oZWlnaHQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4wIildCi0rCQlwdWJsaWMgdm9pZCBnZXRfb3JpZ2luIChvdXQgZmxvYXQgeCwgb3V0IGZs b2F0IHkpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIHZvaWQgZ2V0 X3NpemUgKG91dCBmbG9hdCB3aWR0aCwgb3V0IGZsb2F0IGhlaWdodCk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgZmxvYXQgZ2V0X3dpZHRoICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIGZsb2F0IGdldF94ICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIGZsb2F0IGdldF95ICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENsdXR0ZXIuQWN0b3JCb3g/ IGluaXQgKGZsb2F0IHhfMSwgZmxvYXQgeV8xLCBmbG9hdCB4XzIsIGZsb2F0IHlfMik7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgaW5pdF9yZWN0IChmbG9h dCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpZ2h0KTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjIiKV0KLSsJCXB1YmxpYyBDbHV0dGVyLkFjdG9yQm94IGludGVycG9sYXRlIChD bHV0dGVyLkFjdG9yQm94IGZpbmFsLCBkb3VibGUgcHJvZ3Jlc3MpOwotKwkJcHVibGljIGJvb2wg aXNfaW5pdGlhbGl6ZWQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlwdWJs aWMgdm9pZCBzY2FsZSAoZmxvYXQgc2NhbGUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIp XQotKwkJcHVibGljIHZvaWQgc2V0X29yaWdpbiAoZmxvYXQgeCwgZmxvYXQgeSk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfc2l6ZSAoZmxvYXQgd2lk dGgsIGZsb2F0IGhlaWdodCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJs aWMgQ2x1dHRlci5BY3RvckJveCB1bmlvbiAoQ2x1dHRlci5BY3RvckJveCBiKTsKLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBoYXNfdHlwZV9p ZCA9IGZhbHNlKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJcHVibGljIHN0cnVj dCBBY3Rvckl0ZXIgewotKwkJcHVibGljIHZvaWQgZGVzdHJveSAoKTsKLSsJCXB1YmxpYyB2b2lk IGluaXQgKENsdXR0ZXIuQWN0b3Igcm9vdCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIp XQotKwkJcHVibGljIGJvb2wgaXNfdmFsaWQgKCk7Ci0rCQlwdWJsaWMgYm9vbCBuZXh0IChvdXQg dW5vd25lZCBDbHV0dGVyLkFjdG9yIGNoaWxkKTsKLSsJCXB1YmxpYyBib29sIHByZXYgKG91dCB1 bm93bmVkIENsdXR0ZXIuQWN0b3IgY2hpbGQpOwotKwkJcHVibGljIHZvaWQgcmVtb3ZlICgpOwot Kwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGhh c19jb3B5X2Z1bmN0aW9uID0gZmFsc2UsIGhhc19kZXN0cm95X2Z1bmN0aW9uID0gZmFsc2UsIGhh c190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJsaWMgc3RydWN0IENhcHR1cmUgewotKwkJcHVibGlj IENhaXJvLkltYWdlU3VyZmFjZSBpbWFnZTsKLSsJCXB1YmxpYyBDYWlyby5SZWN0YW5nbGVJbnQg cmVjdDsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19i b3hlZF9mcmVlIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2NvbG9yX2dldF90eXBlICgpIildCi0rCXB1 YmxpYyBzdHJ1Y3QgQ29sb3IgewotKwkJcHVibGljIHVpbnQ4IHJlZDsKLSsJCXB1YmxpYyB1aW50 OCBncmVlbjsKLSsJCXB1YmxpYyB1aW50OCBibHVlOwotKwkJcHVibGljIHVpbnQ4IGFscGhhOwot KwkJcHVibGljIENsdXR0ZXIuQ29sb3IgYWRkIChDbHV0dGVyLkNvbG9yIGIpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuMTIiKV0KLSsJCXB1YmxpYyBzdGF0aWMgQ2x1dHRlci5Db2xvcj8gYWxs b2MgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMC4yIildCi0rCQlwdWJsaWMgQ2x1dHRlci5D b2xvcj8gY29weSAoKTsKLSsJCXB1YmxpYyBDbHV0dGVyLkNvbG9yIGRhcmtlbiAoKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLSsJCXB1YmxpYyBib29sIGVxdWFsIChDbHV0dGVyLkNv bG9yIHYyKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLSsJCXB1YmxpYyB2b2lkIGZy ZWUgKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfY29sb3JfZnJvbV9obHMiKV0KLSsJ CXB1YmxpYyBDb2xvci5mcm9tX2hscyAoZmxvYXQgaHVlLCBmbG9hdCBsdW1pbmFuY2UsIGZsb2F0 IHNhdHVyYXRpb24pOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbG9yX2Zyb21fcGl4 ZWwiKV0KLSsJCXB1YmxpYyBDb2xvci5mcm9tX3BpeGVsICh1aW50MzIgcGl4ZWwpOwotKwkJW0ND b2RlIChjbmFtZSA9ICJjbHV0dGVyX2NvbG9yX2Zyb21fc3RyaW5nIildCi0rCQlwdWJsaWMgc3Rh dGljIGJvb2wgZnJvbV9zdHJpbmcgKG91dCBDbHV0dGVyLkNvbG9yIGNvbG9yLCBzdHJpbmcgc3Ry KTsKLSsJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkNvbG9yPyBnZXRfc3RhdGljIChD bHV0dGVyLlN0YXRpY0NvbG9yIGNvbG9yKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0K LSsJCXB1YmxpYyB1aW50IGhhc2ggKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQot KwkJcHVibGljIHVub3duZWQgQ2x1dHRlci5Db2xvcj8gaW5pdCAodWludDggcmVkLCB1aW50OCBn cmVlbiwgdWludDggYmx1ZSwgdWludDggYWxwaGEpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu NiIpXQotKwkJcHVibGljIENsdXR0ZXIuQ29sb3IgaW50ZXJwb2xhdGUgKENsdXR0ZXIuQ29sb3Ig ZmluYWwsIGRvdWJsZSBwcm9ncmVzcyk7Ci0rCQlwdWJsaWMgQ2x1dHRlci5Db2xvciBsaWdodGVu ICgpOwotKwkJcHVibGljIGJvb2wgcGFyc2Vfc3RyaW5nIChzdHJpbmcgc3RyKTsKLSsJCXB1Ymxp YyBDbHV0dGVyLkNvbG9yIHNoYWRlIChkb3VibGUgZmFjdG9yKTsKLSsJCXB1YmxpYyBDbHV0dGVy LkNvbG9yIHN1YnRyYWN0IChDbHV0dGVyLkNvbG9yIGIpOwotKwkJcHVibGljIHZvaWQgdG9faGxz IChvdXQgZmxvYXQgaHVlLCBvdXQgZmxvYXQgbHVtaW5hbmNlLCBvdXQgZmxvYXQgc2F0dXJhdGlv bik7Ci0rCQlwdWJsaWMgdWludDMyIHRvX3BpeGVsICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjAuMiIpXQotKwkJcHVibGljIHN0cmluZyB0b19zdHJpbmcgKCk7Ci0rCX0KLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY29weV9mdW5jdGlvbiA9ICJn X2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAi Y2x1dHRlcl9rbm90X2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0K LSsJcHVibGljIHN0cnVjdCBLbm90IHsKLSsJCXB1YmxpYyBpbnQgeDsKLSsJCXB1YmxpYyBpbnQg eTsKLSsJCXB1YmxpYyBDbHV0dGVyLktub3Q/IGNvcHkgKCk7Ci0rCQlwdWJsaWMgYm9vbCBlcXVh bCAoQ2x1dHRlci5Lbm90IGtub3RfYik7Ci0rCQlwdWJsaWMgdm9pZCBmcmVlICgpOwotKwl9Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNvcHlfZnVu Y3Rpb24gPSAiZ19ib3hlZF9jb3B5IiwgZnJlZV9mdW5jdGlvbiA9ICJnX2JveGVkX2ZyZWUiLCB0 eXBlX2lkID0gImNsdXR0ZXJfbWFyZ2luX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEwIildCi0rCXB1YmxpYyBzdHJ1Y3QgTWFyZ2luIHsKLSsJCXB1YmxpYyBmbG9hdCBs ZWZ0OwotKwkJcHVibGljIGZsb2F0IHJpZ2h0OwotKwkJcHVibGljIGZsb2F0IHRvcDsKLSsJCXB1 YmxpYyBmbG9hdCBib3R0b207Ci0rCQlwdWJsaWMgQ2x1dHRlci5NYXJnaW4/IGNvcHkgKCk7Ci0r CQlwdWJsaWMgdm9pZCBmcmVlICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19ib3hlZF9jb3B5IiwgZnJl ZV9mdW5jdGlvbiA9ICJnX2JveGVkX2ZyZWUiLCB0eXBlX2lkID0gImNsdXR0ZXJfcGFpbnRfdm9s dW1lX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJcHVibGlj IHN0cnVjdCBQYWludFZvbHVtZSB7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlw dWJsaWMgQ2x1dHRlci5QYWludFZvbHVtZT8gY29weSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjYiKV0KLSsJCXB1YmxpYyB2b2lkIGZyZWUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS42IildCi0rCQlwdWJsaWMgZmxvYXQgZ2V0X2RlcHRoICgpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNiIpXQotKwkJcHVibGljIGZsb2F0IGdldF9oZWlnaHQgKCk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMgR3JhcGhlbmUuUG9pbnQzRCBnZXRfb3JpZ2luICgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIGZsb2F0IGdldF93aWR0 aCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9k ZXB0aCAoZmxvYXQgZGVwdGgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVi bGljIGJvb2wgc2V0X2Zyb21fYWxsb2NhdGlvbiAoQ2x1dHRlci5BY3RvciBhY3Rvcik7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfaGVpZ2h0IChmbG9h dCBoZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNiIpXQotKwkJcHVibGljIHZvaWQg c2V0X29yaWdpbiAoR3JhcGhlbmUuUG9pbnQzRCBvcmlnaW4pOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuNiIpXQotKwkJcHVibGljIHZvaWQgc2V0X3dpZHRoIChmbG9hdCB3aWR0aCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS42IildCi0rCQlwdWJsaWMgdm9pZCB1bmlvbiAoQ2x1dHRlci5Q YWludFZvbHVtZSBhbm90aGVyX3B2KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0r CQlwdWJsaWMgdm9pZCB1bmlvbl9ib3ggKENsdXR0ZXIuQWN0b3JCb3ggYm94KTsKLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjb3B5X2Z1bmN0 aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hlZF9mcmVlIiwgdHlw ZV9pZCA9ICJjbHV0dGVyX3BhdGhfbm9kZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4wIildCi0rCXB1YmxpYyBzdHJ1Y3QgUGF0aE5vZGUgewotKwkJcHVibGljIENsdXR0 ZXIuUGF0aE5vZGVUeXBlIHR5cGU7Ci0rCQlbQ0NvZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNlKV0K LSsJCXB1YmxpYyB3ZWFrIENsdXR0ZXIuS25vdCBwb2ludHNbM107Ci0rCQlwdWJsaWMgQ2x1dHRl ci5QYXRoTm9kZT8gY29weSAoKTsKLSsJCXB1YmxpYyBib29sIGVxdWFsIChDbHV0dGVyLlBhdGhO b2RlIG5vZGVfYik7Ci0rCQlwdWJsaWMgdm9pZCBmcmVlICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19i b3hlZF9jb3B5IiwgZnJlZV9mdW5jdGlvbiA9ICJnX2JveGVkX2ZyZWUiLCB0eXBlX2lkID0gImNs dXR0ZXJfcGVyc3BlY3RpdmVfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAu NCIpXQotKwlwdWJsaWMgc3RydWN0IFBlcnNwZWN0aXZlIHsKLSsJCXB1YmxpYyBmbG9hdCBmb3Z5 OwotKwkJcHVibGljIGZsb2F0IGFzcGVjdDsKLSsJCXB1YmxpYyBmbG9hdCB6X25lYXI7Ci0rCQlw dWJsaWMgZmxvYXQgel9mYXI7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNs dXR0ZXIvY2x1dHRlci5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBzdHJ1Y3Qg UG9pbnRlckExMXlTZXR0aW5ncyB7Ci0rCQlwdWJsaWMgQ2x1dHRlci5Qb2ludGVyQTExeUZsYWdz IGNvbnRyb2xzOwotKwkJcHVibGljIENsdXR0ZXIuUG9pbnRlckExMXlEd2VsbENsaWNrVHlwZSBk d2VsbF9jbGlja190eXBlOwotKwkJcHVibGljIENsdXR0ZXIuUG9pbnRlckExMXlEd2VsbE1vZGUg ZHdlbGxfbW9kZTsKLSsJCXB1YmxpYyBDbHV0dGVyLlBvaW50ZXJBMTF5RHdlbGxEaXJlY3Rpb24g ZHdlbGxfZ2VzdHVyZV9zaW5nbGU7Ci0rCQlwdWJsaWMgQ2x1dHRlci5Qb2ludGVyQTExeUR3ZWxs RGlyZWN0aW9uIGR3ZWxsX2dlc3R1cmVfZG91YmxlOwotKwkJcHVibGljIENsdXR0ZXIuUG9pbnRl ckExMXlEd2VsbERpcmVjdGlvbiBkd2VsbF9nZXN0dXJlX2RyYWc7Ci0rCQlwdWJsaWMgQ2x1dHRl ci5Qb2ludGVyQTExeUR3ZWxsRGlyZWN0aW9uIGR3ZWxsX2dlc3R1cmVfc2Vjb25kYXJ5OwotKwkJ cHVibGljIGludCBzZWNvbmRhcnlfY2xpY2tfZGVsYXk7Ci0rCQlwdWJsaWMgaW50IGR3ZWxsX2Rl bGF5OwotKwkJcHVibGljIGludCBkd2VsbF90aHJlc2hvbGQ7Ci0rCX0KLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2Jv eGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY2x1 dHRlcl91bml0c19nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0r CXB1YmxpYyBzdHJ1Y3QgVW5pdHMgewotKwkJcHVibGljIENsdXR0ZXIuVW5pdHM/IGNvcHkgKCk7 Ci0rCQlwdWJsaWMgdm9pZCBmcmVlICgpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX3Vu aXRzX2Zyb21fY20iKV0KLSsJCXB1YmxpYyBVbml0cy5mcm9tX2NtIChmbG9hdCBjbSk7Ci0rCQlb Q0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9lbSIpXQotKwkJcHVibGljIFVuaXRz LmZyb21fZW0gKGZsb2F0IGVtKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91bml0c19m cm9tX2VtX2Zvcl9mb250IildCi0rCQlwdWJsaWMgVW5pdHMuZnJvbV9lbV9mb3JfZm9udCAoc3Ry aW5nIGZvbnRfbmFtZSwgZmxvYXQgZW0pOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX3Vu aXRzX2Zyb21fbW0iKV0KLSsJCXB1YmxpYyBVbml0cy5mcm9tX21tIChmbG9hdCBtbSk7Ci0rCQlb Q0NvZGUgKGNuYW1lID0gImNsdXR0ZXJfdW5pdHNfZnJvbV9waXhlbHMiKV0KLSsJCXB1YmxpYyBV bml0cy5mcm9tX3BpeGVscyAoaW50IHB4KTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY2x1dHRlcl91 bml0c19mcm9tX3B0IildCi0rCQlwdWJsaWMgVW5pdHMuZnJvbV9wdCAoZmxvYXQgcHQpOwotKwkJ W0NDb2RlIChjbmFtZSA9ICJjbHV0dGVyX3VuaXRzX2Zyb21fc3RyaW5nIildCi0rCQlwdWJsaWMg VW5pdHMuZnJvbV9zdHJpbmcgKHN0cmluZyBzdHIpOwotKwkJcHVibGljIENsdXR0ZXIuVW5pdFR5 cGUgZ2V0X3VuaXRfdHlwZSAoKTsKLSsJCXB1YmxpYyBmbG9hdCBnZXRfdW5pdF92YWx1ZSAoKTsK LSsJCXB1YmxpYyBmbG9hdCB0b19waXhlbHMgKCk7Ci0rCQlwdWJsaWMgc3RyaW5nIHRvX3N0cmlu ZyAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVy LmgiLCBjcHJlZml4ID0gIkNMVVRURVJfQUNUT1JfQUxJR05fIiwgdHlwZV9pZCA9ICJjbHV0dGVy X2FjdG9yX2FsaWduX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIild Ci0rCXB1YmxpYyBlbnVtIEFjdG9yQWxpZ24gewotKwkJRklMTCwKLSsJCVNUQVJULAotKwkJQ0VO VEVSLAotKwkJRU5ECi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0FDVE9SXyIsIHR5cGVfaWQgPSAiY2x1dHRl cl9hY3Rvcl9mbGFnc19nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCXB1YmxpYyBlbnVtIEFj dG9yRmxhZ3MgewotKwkJTUFQUEVELAotKwkJUkVBTElaRUQsCi0rCQlSRUFDVElWRSwKLSsJCVZJ U0lCTEUsCi0rCQlOT19MQVlPVVQKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfQUxJR05fIiwgdHlwZV9pZCA9 ICJjbHV0dGVyX2FsaWduX2F4aXNfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0g IjEuNCIpXQotKwlwdWJsaWMgZW51bSBBbGlnbkF4aXMgewotKwkJWF9BWElTLAotKwkJWV9BWElT LAotKwkJQk9USAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl8iLCB0eXBlX2lkID0gImNsdXR0ZXJfYW5pbWF0 aW9uX21vZGVfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwlw dWJsaWMgZW51bSBBbmltYXRpb25Nb2RlIHsKLSsJCUNVU1RPTV9NT0RFLAotKwkJTElORUFSLAot KwkJRUFTRV9JTl9RVUFELAotKwkJRUFTRV9PVVRfUVVBRCwKLSsJCUVBU0VfSU5fT1VUX1FVQUQs Ci0rCQlFQVNFX0lOX0NVQklDLAotKwkJRUFTRV9PVVRfQ1VCSUMsCi0rCQlFQVNFX0lOX09VVF9D VUJJQywKLSsJCUVBU0VfSU5fUVVBUlQsCi0rCQlFQVNFX09VVF9RVUFSVCwKLSsJCUVBU0VfSU5f T1VUX1FVQVJULAotKwkJRUFTRV9JTl9RVUlOVCwKLSsJCUVBU0VfT1VUX1FVSU5ULAotKwkJRUFT RV9JTl9PVVRfUVVJTlQsCi0rCQlFQVNFX0lOX1NJTkUsCi0rCQlFQVNFX09VVF9TSU5FLAotKwkJ RUFTRV9JTl9PVVRfU0lORSwKLSsJCUVBU0VfSU5fRVhQTywKLSsJCUVBU0VfT1VUX0VYUE8sCi0r CQlFQVNFX0lOX09VVF9FWFBPLAotKwkJRUFTRV9JTl9DSVJDLAotKwkJRUFTRV9PVVRfQ0lSQywK LSsJCUVBU0VfSU5fT1VUX0NJUkMsCi0rCQlFQVNFX0lOX0VMQVNUSUMsCi0rCQlFQVNFX09VVF9F TEFTVElDLAotKwkJRUFTRV9JTl9PVVRfRUxBU1RJQywKLSsJCUVBU0VfSU5fQkFDSywKLSsJCUVB U0VfT1VUX0JBQ0ssCi0rCQlFQVNFX0lOX09VVF9CQUNLLAotKwkJRUFTRV9JTl9CT1VOQ0UsCi0r CQlFQVNFX09VVF9CT1VOQ0UsCi0rCQlFQVNFX0lOX09VVF9CT1VOQ0UsCi0rCQlTVEVQUywKLSsJ CVNURVBfU1RBUlQsCi0rCQlTVEVQX0VORCwKLSsJCUNVQklDX0JFWklFUiwKLSsJCUVBU0UsCi0r CQlFQVNFX0lOLAotKwkJRUFTRV9PVVQsCi0rCQlFQVNFX0lOX09VVCwKLSsJCUFOSU1BVElPTl9M QVNUCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY3ByZWZpeCA9ICJDTFVUVEVSX0JJTl9BTElHTk1FTlRfIiwgdHlwZV9pZCA9ICJjbHV0dGVy X2Jpbl9hbGlnbm1lbnRfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMiIp XQotKwlwdWJsaWMgZW51bSBCaW5BbGlnbm1lbnQgewotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQg PSB0cnVlKV0KLSsJCUZJWEVELAotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlKV0KLSsJ CUZJTEwsCi0rCQlTVEFSVCwKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSldCi0rCQlF TkQsCi0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUpXQotKwkJQ0VOVEVSCi0rCX0KLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9 ICJDTFVUVEVSX0JJTkRfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2JpbmRfY29vcmRpbmF0ZV9nZXRf dHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCXB1YmxpYyBlbnVtIEJp bmRDb29yZGluYXRlIHsKLSsJCVgsCi0rCQlZLAotKwkJV0lEVEgsCi0rCQlIRUlHSFQsCi0rCQlQ T1NJVElPTiwKLSsJCVNJWkUsCi0rCQlBTEwKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfQk9YX0FMSUdOTUVO VF8iLCB0eXBlX2lkID0gImNsdXR0ZXJfYm94X2FsaWdubWVudF9nZXRfdHlwZSAoKSIpXQotKwlb VmVyc2lvbiAoc2luY2UgPSAiMS4yIildCi0rCXB1YmxpYyBlbnVtIEJveEFsaWdubWVudCB7Ci0r CQlTVEFSVCwKLSsJCUVORCwKLSsJCUNFTlRFUgotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9CVVRUT05fU1RB VEVfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2J1dHRvbl9zdGF0ZV9nZXRfdHlwZSAoKSIpXQotKwlw dWJsaWMgZW51bSBCdXR0b25TdGF0ZSB7Ci0rCQlSRUxFQVNFRCwKLSsJCVBSRVNTRUQKLSsJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4 ID0gIkNMVVRURVJfQ09OVEVOVF9HUkFWSVRZXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9jb250ZW50 X2dyYXZpdHlfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJ cHVibGljIGVudW0gQ29udGVudEdyYXZpdHkgewotKwkJVE9QX0xFRlQsCi0rCQlUT1AsCi0rCQlU T1BfUklHSFQsCi0rCQlMRUZULAotKwkJQ0VOVEVSLAotKwkJUklHSFQsCi0rCQlCT1RUT01fTEVG VCwKLSsJCUJPVFRPTSwKLSsJCUJPVFRPTV9SSUdIVCwKLSsJCVJFU0laRV9GSUxMLAotKwkJUkVT SVpFX0FTUEVDVAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9SRVBFQVRfIiwgdHlwZV9pZCA9ICJjbHV0dGVy X2NvbnRlbnRfcmVwZWF0X2dldF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJW1ZlcnNpb24gKHNp bmNlID0gIjEuMTIiKV0KLSsJcHVibGljIGVudW0gQ29udGVudFJlcGVhdCB7Ci0rCQlOT05FLAot KwkJWF9BWElTLAotKwkJWV9BWElTLAotKwkJQk9USAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9ERUJVR18i LCB0eXBlX2lkID0gImNsdXR0ZXJfZGVidWdfZmxhZ19nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3Nd Ci0rCXB1YmxpYyBlbnVtIERlYnVnRmxhZyB7Ci0rCQlNSVNDLAotKwkJQUNUT1IsCi0rCQlURVhU VVJFLAotKwkJRVZFTlQsCi0rCQlQQUlOVCwKLSsJCVBBTkdPLAotKwkJQkFDS0VORCwKLSsJCVND SEVEVUxFUiwKLSsJCVNDUklQVCwKLSsJCVNIQURFUiwKLSsJCU1VTFRJU1RBR0UsCi0rCQlBTklN QVRJT04sCi0rCQlMQVlPVVQsCi0rCQlQSUNLLAotKwkJRVZFTlRMT09QLAotKwkJQ0xJUFBJTkcs Ci0rCQlPT0JfVFJBTlNGT1JNUwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9EUkFHXyIsIHR5cGVfaWQgPSAi Y2x1dHRlcl9kcmFnX2F4aXNfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEu NCIpXQotKwlwdWJsaWMgZW51bSBEcmFnQXhpcyB7Ci0rCQlBWElTX05PTkUsCi0rCQlYX0FYSVMs Ci0rCQlZX0FYSVMKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfREVCVUdfIiwgdHlwZV9pZCA9ICJjbHV0dGVy X2RyYXdfZGVidWdfZmxhZ19nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCXB1YmxpYyBlbnVt IERyYXdEZWJ1Z0ZsYWcgewotKwkJRElTQUJMRV9TV0FQX0VWRU5UUywKLSsJCURJU0FCTEVfQ0xJ UFBFRF9SRURSQVdTLAotKwkJUkVEUkFXUywKLSsJCVBBSU5UX1ZPTFVNRVMsCi0rCQlESVNBQkxF X0NVTExJTkcsCi0rCQlESVNBQkxFX09GRlNDUkVFTl9SRURJUkVDVCwKLSsJCUNPTlRJTlVPVVNf UkVEUkFXLAotKwkJUEFJTlRfREVGT1JNX1RJTEVTLAotKwkJUEFJTlRfREFNQUdFX1JFR0lPTgot Kwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNw cmVmaXggPSAiQ0xVVFRFUl9FRkZFQ1RfUEFJTlRfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2VmZmVj dF9wYWludF9mbGFnc19nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCXB1YmxpYyBlbnVtIEVm ZmVjdFBhaW50RmxhZ3MgewotKwkJQUNUT1JfRElSVFksCi0rCQlCWVBBU1NfRUZGRUNUCi0rCX0K LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZp eCA9ICJDTFVUVEVSX0VWRU5UXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9ldmVudF9mbGFnc19nZXRf dHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJcHVi bGljIGVudW0gRXZlbnRGbGFncyB7Ci0rCQlOT05FLAotKwkJRkxBR19TWU5USEVUSUMsCi0rCQlG TEFHX0lOUFVUX01FVEhPRCwKLSsJCUZMQUdfUkVQRUFURUQsCi0rCQlGTEFHX1JFTEFUSVZFX01P VElPTgotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNwcmVmaXggPSAiQ0xVVFRFUl8iLCB0eXBlX2lkID0gImNsdXR0ZXJfZXZlbnRfdHlwZV9n ZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0rCXB1YmxpYyBlbnVt IEV2ZW50VHlwZSB7Ci0rCQlOT1RISU5HLAotKwkJS0VZX1BSRVNTLAotKwkJS0VZX1JFTEVBU0Us Ci0rCQlNT1RJT04sCi0rCQlFTlRFUiwKLSsJCUxFQVZFLAotKwkJQlVUVE9OX1BSRVNTLAotKwkJ QlVUVE9OX1JFTEVBU0UsCi0rCQlTQ1JPTEwsCi0rCQlUT1VDSF9CRUdJTiwKLSsJCVRPVUNIX1VQ REFURSwKLSsJCVRPVUNIX0VORCwKLSsJCVRPVUNIX0NBTkNFTCwKLSsJCVRPVUNIUEFEX1BJTkNI LAotKwkJVE9VQ0hQQURfU1dJUEUsCi0rCQlQUk9YSU1JVFlfSU4sCi0rCQlQUk9YSU1JVFlfT1VU LAotKwkJUEFEX0JVVFRPTl9QUkVTUywKLSsJCVBBRF9CVVRUT05fUkVMRUFTRSwKLSsJCVBBRF9T VFJJUCwKLSsJCVBBRF9SSU5HLAotKwkJREVWSUNFX0FEREVELAotKwkJREVWSUNFX1JFTU9WRUQs Ci0rCQlJTV9DT01NSVQsCi0rCQlJTV9ERUxFVEUsCi0rCQlJTV9QUkVFRElULAotKwkJRVZFTlRf TEFTVAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9GRUFUVVJFXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9mZWF0 dXJlX2ZsYWdzX2dldF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJW1ZlcnNpb24gKHNpbmNlID0g IjAuNCIpXQotKwlwdWJsaWMgZW51bSBGZWF0dXJlRmxhZ3MgewotKwkJU1RBR0VfU1RBVElDLAot KwkJU1RBR0VfQ1VSU09SLAotKwkJU0hBREVSU19HTFNMLAotKwkJT0ZGU0NSRUVOLAotKwkJU1RB R0VfTVVMVElQTEUsCi0rCQlTV0FQX0VWRU5UUwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9GTE9XXyIsIHR5 cGVfaWQgPSAiY2x1dHRlcl9mbG93X29yaWVudGF0aW9uX2dldF90eXBlICgpIildCi0rCVtWZXJz aW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJcHVibGljIGVudW0gRmxvd09yaWVudGF0aW9uIHsKLSsJ CUhPUklaT05UQUwsCi0rCQlWRVJUSUNBTAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9GUkFNRV9SRVNVTFRf IiwgdHlwZV9pZCA9ICJjbHV0dGVyX2ZyYW1lX3Jlc3VsdF9nZXRfdHlwZSAoKSIpXQotKwlwdWJs aWMgZW51bSBGcmFtZVJlc3VsdCB7Ci0rCQlQRU5ESU5HX1BSRVNFTlRFRCwKLSsJCUlETEUKLSsJ fQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJl Zml4ID0gIkNMVVRURVJfR0VTVFVSRV9UUklHR0VSX0VER0VfIiwgdHlwZV9pZCA9ICJjbHV0dGVy X2dlc3R1cmVfdHJpZ2dlcl9lZGdlX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjE4IildCi0rCXB1YmxpYyBlbnVtIEdlc3R1cmVUcmlnZ2VyRWRnZSB7Ci0rCQlOT05FLAot KwkJQUZURVIsCi0rCQlCRUZPUkUKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfR1JBVklUWV8iLCB0eXBlX2lk ID0gImNsdXR0ZXJfZ3Jhdml0eV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRl ZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4yMiIsIHNpbmNlID0gIjAuMiIpXQotKwlw dWJsaWMgZW51bSBHcmF2aXR5IHsKLSsJCU5PTkUsCi0rCQlOT1JUSCwKLSsJCU5PUlRIX0VBU1Qs Ci0rCQlFQVNULAotKwkJU09VVEhfRUFTVCwKLSsJCVNPVVRILAotKwkJU09VVEhfV0VTVCwKLSsJ CVdFU1QsCi0rCQlOT1JUSF9XRVNULAotKwkJQ0VOVEVSCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0dSSURf UE9TSVRJT05fIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2dyaWRfcG9zaXRpb25fZ2V0X3R5cGUgKCki KV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0KLSsJcHVibGljIGVudW0gR3JpZFBvc2l0 aW9uIHsKLSsJCUxFRlQsCi0rCQlSSUdIVCwKLSsJCVRPUCwKLSsJCUJPVFRPTQotKwl9Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAi Q0xVVFRFUl9JTklUXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9pbml0X2Vycm9yX2dldF90eXBlICgp IildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjIiKV0KLSsJcHVibGljIGVudW0gSW5pdEVycm9y IHsKLSsJCVNVQ0NFU1MsCi0rCQlFUlJPUl9VTktOT1dOLAotKwkJRVJST1JfVEhSRUFEUywKLSsJ CUVSUk9SX0JBQ0tFTkQsCi0rCQlFUlJPUl9JTlRFUk5BTDsKLSsJCXB1YmxpYyBzdGF0aWMgR0xp Yi5RdWFyayBxdWFyayAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfSU5QVVRfQVhJU18iLCB0eXBlX2lk ID0gImNsdXR0ZXJfaW5wdXRfYXhpc19nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2Ug PSAiMS42IildCi0rCXB1YmxpYyBlbnVtIElucHV0QXhpcyB7Ci0rCQlJR05PUkUsCi0rCQlYLAot KwkJWSwKLSsJCVBSRVNTVVJFLAotKwkJWFRJTFQsCi0rCQlZVElMVCwKLSsJCVdIRUVMLAotKwkJ RElTVEFOQ0UsCi0rCQlST1RBVElPTiwKLSsJCVNMSURFUiwKLSsJCUxBU1QKLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNM VVRURVJfSU5QVVRfQVhJU19GTEFHXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9pbnB1dF9heGlzX2Zs YWdzX2dldF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJcHVibGljIGVudW0gSW5wdXRBeGlzRmxh Z3MgewotKwkJTk9ORSwKLSsJCVgsCi0rCQlZLAotKwkJUFJFU1NVUkUsCi0rCQlYVElMVCwKLSsJ CVlUSUxULAotKwkJV0hFRUwsCi0rCQlESVNUQU5DRSwKLSsJCVJPVEFUSU9OLAotKwkJU0xJREVS Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y3ByZWZpeCA9ICJDTFVUVEVSX0lOUFVUX0NPTlRFTlRfSElOVF8iLCB0eXBlX2lkID0gImNsdXR0 ZXJfaW5wdXRfY29udGVudF9oaW50X2ZsYWdzX2dldF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJ cHVibGljIGVudW0gSW5wdXRDb250ZW50SGludEZsYWdzIHsKLSsJCUNPTVBMRVRJT04sCi0rCQlT UEVMTENIRUNLLAotKwkJQVVUT19DQVBJVEFMSVpBVElPTiwKLSsJCUxPV0VSQ0FTRSwKLSsJCVVQ UEVSQ0FTRSwKLSsJCVRJVExFQ0FTRSwKLSsJCUhJRERFTl9URVhULAotKwkJU0VOU0lUSVZFX0RB VEEsCi0rCQlMQVRJTiwKLSsJCU1VTFRJTElORQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9JTlBVVF9DT05U RU5UX1BVUlBPU0VfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2lucHV0X2NvbnRlbnRfcHVycG9zZV9n ZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMgZW51bSBJbnB1dENvbnRlbnRQdXJwb3NlIHsKLSsJCU5P Uk1BTCwKLSsJCUFMUEhBLAotKwkJRElHSVRTLAotKwkJTlVNQkVSLAotKwkJUEhPTkUsCi0rCQlV UkwsCi0rCQlFTUFJTCwKLSsJCU5BTUUsCi0rCQlQQVNTV09SRCwKLSsJCURBVEUsCi0rCQlUSU1F LAotKwkJREFURVRJTUUsCi0rCQlURVJNSU5BTAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9QQURfRkVBVFVS RV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfaW5wdXRfZGV2aWNlX3BhZF9mZWF0dXJlX2dldF90eXBl ICgpIildCi0rCXB1YmxpYyBlbnVtIElucHV0RGV2aWNlUGFkRmVhdHVyZSB7Ci0rCQlCVVRUT04s Ci0rCQlSSU5HLAotKwkJU1RSSVAKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfSU5QVVRfREVWSUNFX1BBRF9T T1VSQ0VfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX2lucHV0X2RldmljZV9wYWRfc291cmNlX2dldF90 eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIElucHV0RGV2aWNlUGFkU291cmNlIHsKLSsJCVVOS05P V04sCi0rCQlGSU5HRVIKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRl ci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfSU5QVVRfREVWSUNFX1RPT0xfIiwgdHlw ZV9pZCA9ICJjbHV0dGVyX2lucHV0X2RldmljZV90b29sX3R5cGVfZ2V0X3R5cGUgKCkiKV0KLSsJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMjgiKV0KLSsJcHVibGljIGVudW0gSW5wdXREZXZpY2VUb29s VHlwZSB7Ci0rCQlOT05FLAotKwkJUEVOLAotKwkJRVJBU0VSLAotKwkJQlJVU0gsCi0rCQlQRU5D SUwsCi0rCQlBSVJCUlVTSCwKLSsJCU1PVVNFLAotKwkJTEVOUwotKwl9Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl8i LCB0eXBlX2lkID0gImNsdXR0ZXJfaW5wdXRfZGV2aWNlX3R5cGVfZ2V0X3R5cGUgKCkiKV0KLSsJ W1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMgZW51bSBJbnB1dERldmljZVR5cGUg ewotKwkJUE9JTlRFUl9ERVZJQ0UsCi0rCQlLRVlCT0FSRF9ERVZJQ0UsCi0rCQlFWFRFTlNJT05f REVWSUNFLAotKwkJSk9ZU1RJQ0tfREVWSUNFLAotKwkJVEFCTEVUX0RFVklDRSwKLSsJCVRPVUNI UEFEX0RFVklDRSwKLSsJCVRPVUNIU0NSRUVOX0RFVklDRSwKLSsJCVBFTl9ERVZJQ0UsCi0rCQlF UkFTRVJfREVWSUNFLAotKwkJQ1VSU09SX0RFVklDRSwKLSsJCVBBRF9ERVZJQ0UsCi0rCQlOX0RF VklDRV9UWVBFUwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9JTlBVVF9NT0RFXyIsIHR5cGVfaWQgPSAiY2x1 dHRlcl9pbnB1dF9tb2RlX2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjYi KV0KLSsJcHVibGljIGVudW0gSW5wdXRNb2RlIHsKLSsJCUxPR0lDQUwsCi0rCQlQSFlTSUNBTCwK LSsJCUZMT0FUSU5HCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0lOUFVUX1BBTkVMX1NUQVRFXyIsIHR5cGVf aWQgPSAiY2x1dHRlcl9pbnB1dF9wYW5lbF9zdGF0ZV9nZXRfdHlwZSAoKSIpXQotKwlwdWJsaWMg ZW51bSBJbnB1dFBhbmVsU3RhdGUgewotKwkJT0ZGLAotKwkJT04sCi0rCQlUT0dHTEUKLSsJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4 ID0gIkNMVVRURVJfSU5URVJQT0xBVElPTl8iLCB0eXBlX2lkID0gImNsdXR0ZXJfaW50ZXJwb2xh dGlvbl9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJl Y2F0ZWRfc2luY2UgPSAiMS4yMiIsIHNpbmNlID0gIjEuMiIpXQotKwlwdWJsaWMgZW51bSBJbnRl cnBvbGF0aW9uIHsKLSsJCUxJTkVBUiwKLSsJCUNVQklDCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0tFWV9T VEFURV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfa2V5X3N0YXRlX2dldF90eXBlICgpIildCi0rCXB1 YmxpYyBlbnVtIEtleVN0YXRlIHsKLSsJCVJFTEVBU0VELAotKwkJUFJFU1NFRAotKwl9Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAi Q0xVVFRFUl9MT05HX1BSRVNTXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9sb25nX3ByZXNzX3N0YXRl X2dldF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJcHVibGljIGVu dW0gTG9uZ1ByZXNzU3RhdGUgewotKwkJUVVFUlksCi0rCQlBQ1RJVkFURSwKLSsJCUNBTkNFTAot Kwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNw cmVmaXggPSAiQ0xVVFRFUl8iLCB0eXBlX2lkID0gImNsdXR0ZXJfbW9kaWZpZXJfdHlwZV9nZXRf dHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSsJcHVi bGljIGVudW0gTW9kaWZpZXJUeXBlIHsKLSsJCVNISUZUX01BU0ssCi0rCQlMT0NLX01BU0ssCi0r CQlDT05UUk9MX01BU0ssCi0rCQlNT0QxX01BU0ssCi0rCQlNT0QyX01BU0ssCi0rCQlNT0QzX01B U0ssCi0rCQlNT0Q0X01BU0ssCi0rCQlNT0Q1X01BU0ssCi0rCQlCVVRUT04xX01BU0ssCi0rCQlC VVRUT04yX01BU0ssCi0rCQlCVVRUT04zX01BU0ssCi0rCQlCVVRUT040X01BU0ssCi0rCQlCVVRU T041X01BU0ssCi0rCQlNT0RJRklFUl9SRVNFUlZFRF8xM19NQVNLLAotKwkJTU9ESUZJRVJfUkVT RVJWRURfMTRfTUFTSywKLSsJCU1PRElGSUVSX1JFU0VSVkVEXzE1X01BU0ssCi0rCQlNT0RJRklF Ul9SRVNFUlZFRF8xNl9NQVNLLAotKwkJTU9ESUZJRVJfUkVTRVJWRURfMTdfTUFTSywKLSsJCU1P RElGSUVSX1JFU0VSVkVEXzE4X01BU0ssCi0rCQlNT0RJRklFUl9SRVNFUlZFRF8xOV9NQVNLLAot KwkJTU9ESUZJRVJfUkVTRVJWRURfMjBfTUFTSywKLSsJCU1PRElGSUVSX1JFU0VSVkVEXzIxX01B U0ssCi0rCQlNT0RJRklFUl9SRVNFUlZFRF8yMl9NQVNLLAotKwkJTU9ESUZJRVJfUkVTRVJWRURf MjNfTUFTSywKLSsJCU1PRElGSUVSX1JFU0VSVkVEXzI0X01BU0ssCi0rCQlNT0RJRklFUl9SRVNF UlZFRF8yNV9NQVNLLAotKwkJU1VQRVJfTUFTSywKLSsJCUhZUEVSX01BU0ssCi0rCQlNRVRBX01B U0ssCi0rCQlNT0RJRklFUl9SRVNFUlZFRF8yOV9NQVNLLAotKwkJUkVMRUFTRV9NQVNLLAotKwkJ TU9ESUZJRVJfTUFTSwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9PRkZTQ1JFRU5fUkVESVJFQ1RfIiwgdHlw ZV9pZCA9ICJjbHV0dGVyX29mZnNjcmVlbl9yZWRpcmVjdF9nZXRfdHlwZSAoKSIpXQotKwlbRmxh Z3NdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJcHVibGljIGVudW0gT2Zmc2NyZWVu UmVkaXJlY3QgewotKwkJQVVUT01BVElDX0ZPUl9PUEFDSVRZLAotKwkJQUxXQVlTLAotKwkJT05f SURMRQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9PUklFTlRBVElPTl8iLCB0eXBlX2lkID0gImNsdXR0ZXJf b3JpZW50YXRpb25fZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTIiKV0K LSsJcHVibGljIGVudW0gT3JpZW50YXRpb24gewotKwkJSE9SSVpPTlRBTCwKLSsJCVZFUlRJQ0FM Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwg Y3ByZWZpeCA9ICJDTFVUVEVSX1BBSU5UX0ZMQUdfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BhaW50 X2ZsYWdfZ2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlwdWJsaWMgZW51bSBQYWludEZsYWcg ewotKwkJTk9ORSwKLSsJCU5PX0NVUlNPUlMsCi0rCQlGT1JDRV9DVVJTT1JTLAotKwkJQ0xFQVIK LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj cHJlZml4ID0gIkNMVVRURVJfUEFOXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wYW5fYXhpc19nZXRf dHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIpXQotKwlwdWJsaWMgZW51bSBQ YW5BeGlzIHsKLSsJCUFYSVNfTk9ORSwKLSsJCVhfQVhJUywKLSsJCVlfQVhJUywKLSsJCUFYSVNf QVVUTwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIu aCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9QQVRIXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9wYXRoX25v ZGVfdHlwZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCXB1 YmxpYyBlbnVtIFBhdGhOb2RlVHlwZSB7Ci0rCQlNT1ZFX1RPLAotKwkJTElORV9UTywKLSsJCUNV UlZFX1RPLAotKwkJQ0xPU0UsCi0rCQlSRUxfTU9WRV9UTywKLSsJCVJFTF9MSU5FX1RPLAotKwkJ UkVMX0NVUlZFX1RPCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0RFQlVHX05PUF8iLCB0eXBlX2lkID0gImNs dXR0ZXJfcGlja19kZWJ1Z19mbGFnX2dldF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJcHVibGlj IGVudW0gUGlja0RlYnVnRmxhZyB7Ci0rCQlQSUNLSU5HCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1BJQ0tf IiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BpY2tfbW9kZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lv biAoc2luY2UgPSAiMS4wIildCi0rCXB1YmxpYyBlbnVtIFBpY2tNb2RlIHsKLSsJCU5PTkUsCi0r CQlSRUFDVElWRSwKLSsJCUFMTAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9BMTFZX0RXRUxMX0NMSUNLX1RZ UEVfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BvaW50ZXJfYTExeV9kd2VsbF9jbGlja190eXBlX2dl dF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIFBvaW50ZXJBMTF5RHdlbGxDbGlja1R5cGUgewot KwkJTk9ORSwKLSsJCVBSSU1BUlksCi0rCQlTRUNPTkRBUlksCi0rCQlNSURETEUsCi0rCQlET1VC TEUsCi0rCQlEUkFHCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0ExMVlfRFdFTExfRElSRUNUSU9OXyIsIHR5 cGVfaWQgPSAiY2x1dHRlcl9wb2ludGVyX2ExMXlfZHdlbGxfZGlyZWN0aW9uX2dldF90eXBlICgp IildCi0rCXB1YmxpYyBlbnVtIFBvaW50ZXJBMTF5RHdlbGxEaXJlY3Rpb24gewotKwkJTk9ORSwK LSsJCUxFRlQsCi0rCQlSSUdIVCwKLSsJCVVQLAotKwkJRE9XTgotKwl9Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9B MTFZX0RXRUxMX01PREVfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BvaW50ZXJfYTExeV9kd2VsbF9t b2RlX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBlbnVtIFBvaW50ZXJBMTF5RHdlbGxNb2RlIHsK LSsJCVdJTkRPVywKLSsJCUdFU1RVUkUKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfQTExWV8iLCB0eXBlX2lk ID0gImNsdXR0ZXJfcG9pbnRlcl9hMTF5X2ZsYWdzX2dldF90eXBlICgpIildCi0rCVtGbGFnc10K LSsJcHVibGljIGVudW0gUG9pbnRlckExMXlGbGFncyB7Ci0rCQlTRUNPTkRBUllfQ0xJQ0tfRU5B QkxFRCwKLSsJCURXRUxMX0VOQUJMRUQKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfQTExWV9USU1FT1VUX1RZ UEVfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3BvaW50ZXJfYTExeV90aW1lb3V0X3R5cGVfZ2V0X3R5 cGUgKCkiKV0KLSsJcHVibGljIGVudW0gUG9pbnRlckExMXlUaW1lb3V0VHlwZSB7Ci0rCQlTRUNP TkRBUllfQ0xJQ0ssCi0rCQlEV0VMTCwKLSsJCUdFU1RVUkUKLSsJfQotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfUkVQ QUlOVF9GTEFHU18iLCB0eXBlX2lkID0gImNsdXR0ZXJfcmVwYWludF9mbGFnc19nZXRfdHlwZSAo KSIpXQotKwlbRmxhZ3NdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCXB1YmxpYyBl bnVtIFJlcGFpbnRGbGFncyB7Ci0rCQlQUkVfUEFJTlQsCi0rCQlQT1NUX1BBSU5UCi0rCX0KLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9 ICJDTFVUVEVSX1JFUVVFU1RfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3JlcXVlc3RfbW9kZV9nZXRf dHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCXB1YmxpYyBlbnVtIFJl cXVlc3RNb2RlIHsKLSsJCUhFSUdIVF9GT1JfV0lEVEgsCi0rCQlXSURUSF9GT1JfSEVJR0hULAot KwkJQ09OVEVOVF9TSVpFCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9y b3RhdGVfYXhpc19nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0r CXB1YmxpYyBlbnVtIFJvdGF0ZUF4aXMgewotKwkJWF9BWElTLAotKwkJWV9BWElTLAotKwkJWl9B WElTCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IiwgY3ByZWZpeCA9ICJDTFVUVEVSX1JPVEFURV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfcm90YXRl X2RpcmVjdGlvbl9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUs IGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4yMiIsIHNpbmNlID0gIjAuNCIpXQotKwlwdWJsaWMgZW51 bSBSb3RhdGVEaXJlY3Rpb24gewotKwkJQ1csCi0rCQlDQ1cKLSsJfQotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfU0NB TElOR19GSUxURVJfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3NjYWxpbmdfZmlsdGVyX2dldF90eXBl ICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCXB1YmxpYyBlbnVtIFNjYWxp bmdGaWx0ZXIgewotKwkJTElORUFSLAotKwkJTkVBUkVTVCwKLSsJCVRSSUxJTkVBUgotKwl9Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXgg PSAiQ0xVVFRFUl9TQ1JPTExfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3Njcm9sbF9kaXJlY3Rpb25f Z2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuNCIpXQotKwlwdWJsaWMgZW51 bSBTY3JvbGxEaXJlY3Rpb24gewotKwkJVVAsCi0rCQlET1dOLAotKwkJTEVGVCwKLSsJCVJJR0hU LAotKwkJU01PT1RICi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIv Y2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1NDUk9MTF9GSU5JU0hFRF8iLCB0eXBlX2lk ID0gImNsdXR0ZXJfc2Nyb2xsX2ZpbmlzaF9mbGFnc19nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3Nd Ci0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjI2IildCi0rCXB1YmxpYyBlbnVtIFNjcm9sbEZpbmlz aEZsYWdzIHsKLSsJCU5PTkUsCi0rCQlIT1JJWk9OVEFMLAotKwkJVkVSVElDQUwKLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0g IkNMVVRURVJfU0NST0xMXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl9zY3JvbGxfbW9kZV9nZXRfdHlw ZSAoKSIpXQotKwlbRmxhZ3NdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCXB1Ymxp YyBlbnVtIFNjcm9sbE1vZGUgewotKwkJTk9ORSwKLSsJCUhPUklaT05UQUxMWSwKLSsJCVZFUlRJ Q0FMTFksCi0rCQlCT1RICi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1NDUk9MTF9TT1VSQ0VfIiwgdHlwZV9p ZCA9ICJjbHV0dGVyX3Njcm9sbF9zb3VyY2VfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNp bmNlID0gIjEuMjYiKV0KLSsJcHVibGljIGVudW0gU2Nyb2xsU291cmNlIHsKLSsJCVVOS05PV04s Ci0rCQlXSEVFTCwKLSsJCUZJTkdFUiwKLSsJCUNPTlRJTlVPVVMKLSsJfQotKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJf IiwgdHlwZV9pZCA9ICJjbHV0dGVyX3NoYWRlcl90eXBlX2dldF90eXBlICgpIildCi0rCVtWZXJz aW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJcHVibGljIGVudW0gU2hhZGVyVHlwZSB7Ci0rCQlWRVJU RVhfU0hBREVSLAotKwkJRlJBR01FTlRfU0hBREVSCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1NOQVBfRURH RV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfc25hcF9lZGdlX2dldF90eXBlICgpIildCi0rCVtWZXJz aW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJcHVibGljIGVudW0gU25hcEVkZ2UgewotKwkJVE9QLAot KwkJUklHSFQsCi0rCQlCT1RUT00sCi0rCQlMRUZUCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX0NPTE9SXyIs IHR5cGVfaWQgPSAiY2x1dHRlcl9zdGF0aWNfY29sb3JfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNp b24gKHNpbmNlID0gIjEuNiIpXQotKwlwdWJsaWMgZW51bSBTdGF0aWNDb2xvciB7Ci0rCQlXSElU RSwKLSsJCUJMQUNLLAotKwkJUkVELAotKwkJREFSS19SRUQsCi0rCQlHUkVFTiwKLSsJCURBUktf R1JFRU4sCi0rCQlCTFVFLAotKwkJREFSS19CTFVFLAotKwkJQ1lBTiwKLSsJCURBUktfQ1lBTiwK LSsJCU1BR0VOVEEsCi0rCQlEQVJLX01BR0VOVEEsCi0rCQlZRUxMT1csCi0rCQlEQVJLX1lFTExP VywKLSsJCUdSQVksCi0rCQlEQVJLX0dSQVksCi0rCQlMSUdIVF9HUkFZLAotKwkJQlVUVEVSLAot KwkJQlVUVEVSX0xJR0hULAotKwkJQlVUVEVSX0RBUkssCi0rCQlPUkFOR0UsCi0rCQlPUkFOR0Vf TElHSFQsCi0rCQlPUkFOR0VfREFSSywKLSsJCUNIT0NPTEFURSwKLSsJCUNIT0NPTEFURV9MSUdI VCwKLSsJCUNIT0NPTEFURV9EQVJLLAotKwkJQ0hBTUVMRU9OLAotKwkJQ0hBTUVMRU9OX0xJR0hU LAotKwkJQ0hBTUVMRU9OX0RBUkssCi0rCQlTS1lfQkxVRSwKLSsJCVNLWV9CTFVFX0xJR0hULAot KwkJU0tZX0JMVUVfREFSSywKLSsJCVBMVU0sCi0rCQlQTFVNX0xJR0hULAotKwkJUExVTV9EQVJL LAotKwkJU0NBUkxFVF9SRUQsCi0rCQlTQ0FSTEVUX1JFRF9MSUdIVCwKLSsJCVNDQVJMRVRfUkVE X0RBUkssCi0rCQlBTFVNSU5JVU1fMSwKLSsJCUFMVU1JTklVTV8yLAotKwkJQUxVTUlOSVVNXzMs Ci0rCQlBTFVNSU5JVU1fNCwKLSsJCUFMVU1JTklVTV81LAotKwkJQUxVTUlOSVVNXzYsCi0rCQlU UkFOU1BBUkVOVAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2Ns dXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9TVEVQX01PREVfIiwgdHlwZV9pZCA9ICJjbHV0 dGVyX3N0ZXBfbW9kZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMiIp XQotKwlwdWJsaWMgZW51bSBTdGVwTW9kZSB7Ci0rCQlTVEFSVCwKLSsJCUVORAotKwl9Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAi Q0xVVFRFUl9TV0lQRV9ESVJFQ1RJT05fIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3N3aXBlX2RpcmVj dGlvbl9nZXRfdHlwZSAoKSIpXQotKwlbRmxhZ3NdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgi KV0KLSsJcHVibGljIGVudW0gU3dpcGVEaXJlY3Rpb24gewotKwkJVVAsCi0rCQlET1dOLAotKwkJ TEVGVCwKLSsJCVJJR0hUCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1RFWFRfRElSRUNUSU9OXyIsIHR5cGVf aWQgPSAiY2x1dHRlcl90ZXh0X2RpcmVjdGlvbl9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAo c2luY2UgPSAiMS4yIildCi0rCXB1YmxpYyBlbnVtIFRleHREaXJlY3Rpb24gewotKwkJREVGQVVM VCwKLSsJCUxUUiwKLSsJCVJUTAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj bHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9URVhUVVJFXyIsIHR5cGVfaWQg PSAiY2x1dHRlcl90ZXh0dXJlX2ZsYWdzX2dldF90eXBlICgpIildCi0rCVtGbGFnc10KLSsJW1Zl cnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMjIiLCBzaW5j ZSA9ICIwLjQiKV0KLSsJcHVibGljIGVudW0gVGV4dHVyZUZsYWdzIHsKLSsJCU5PTkUsCi0rCQlS R0JfRkxBR19CR1IsCi0rCQlSR0JfRkxBR19QUkVNVUxULAotKwkJWVVWX0ZMQUdfWVVWMgotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVm aXggPSAiQ0xVVFRFUl9URVhUVVJFX1FVQUxJVFlfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3RleHR1 cmVfcXVhbGl0eV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUs IGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4yMiIsIHNpbmNlID0gIjAuOCIpXQotKwlwdWJsaWMgZW51 bSBUZXh0dXJlUXVhbGl0eSB7Ci0rCQlMT1csCi0rCQlNRURJVU0sCi0rCQlISUdICi0rCX0KLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9 ICJDTFVUVEVSX1RJTUVMSU5FXyIsIHR5cGVfaWQgPSAiY2x1dHRlcl90aW1lbGluZV9kaXJlY3Rp b25fZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuNiIpXQotKwlwdWJsaWMg ZW51bSBUaW1lbGluZURpcmVjdGlvbiB7Ci0rCQlGT1JXQVJELAotKwkJQkFDS1dBUkQKLSsJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4 ID0gIkNMVVRURVJfVE9VQ0hQQURfR0VTVFVSRV9QSEFTRV8iLCB0eXBlX2lkID0gImNsdXR0ZXJf dG91Y2hwYWRfZ2VzdHVyZV9waGFzZV9nZXRfdHlwZSAoKSIpXQotKwlbVmVyc2lvbiAoc2luY2Ug PSAiMS4yNCIpXQotKwlwdWJsaWMgZW51bSBUb3VjaHBhZEdlc3R1cmVQaGFzZSB7Ci0rCQlCRUdJ TiwKLSsJCVVQREFURSwKLSsJCUVORCwKLSsJCUNBTkNFTAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGNwcmVmaXggPSAiQ0xVVFRFUl9VTklU XyIsIHR5cGVfaWQgPSAiY2x1dHRlcl91bml0X3R5cGVfZ2V0X3R5cGUgKCkiKV0KLSsJW1ZlcnNp b24gKHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMgZW51bSBVbml0VHlwZSB7Ci0rCQlQSVhFTCwK LSsJCUVNLAotKwkJTU0sCi0rCQlQT0lOVCwKLSsJCUNNCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgY3ByZWZpeCA9ICJDTFVUVEVSX1ZJUlRV QUxfREVWSUNFX1RZUEVfIiwgdHlwZV9pZCA9ICJjbHV0dGVyX3ZpcnR1YWxfZGV2aWNlX3R5cGVf Z2V0X3R5cGUgKCkiKV0KLSsJW0ZsYWdzXQotKwlwdWJsaWMgZW51bSBWaXJ0dWFsRGV2aWNlVHlw ZSB7Ci0rCQlOT05FLAotKwkJS0VZQk9BUkQsCi0rCQlQT0lOVEVSLAotKwkJVE9VQ0hTQ1JFRU4K LSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBj cHJlZml4ID0gIkNMVVRURVJfWk9PTV8iLCB0eXBlX2lkID0gImNsdXR0ZXJfem9vbV9heGlzX2dl dF90eXBlICgpIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEyIildCi0rCXB1YmxpYyBlbnVt IFpvb21BeGlzIHsKLSsJCVhfQVhJUywKLSsJCVlfQVhJUywKLSsJCUJPVEgKLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNM VVRURVJfSU1BR0VfRVJST1JfSU5WQUxJRF8iKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KLSsJcHVibGljIGVycm9yZG9tYWluIEltYWdlRXJyb3IgewotKwkJREFUQTsKLSsJCXB1Ymxp YyBzdGF0aWMgR0xpYi5RdWFyayBxdWFyayAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjcHJlZml4ID0gIkNMVVRURVJfU0NSSVBUX0VS Uk9SX0lOVkFMSURfIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJcHVibGljIGVy cm9yZG9tYWluIFNjcmlwdEVycm9yIHsKLSsJCVRZUEVfRlVOQ1RJT04sCi0rCQlQUk9QRVJUWSwK LSsJCVZBTFVFOwotKwkJcHVibGljIHN0YXRpYyBHTGliLlF1YXJrIHF1YXJrICgpOwotKwl9Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGluc3RhbmNl X3BvcyA9IDEuOSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjI0IildCi0rCXB1YmxpYyBkZWxl Z2F0ZSBDbHV0dGVyLkFjdG9yIEFjdG9yQ3JlYXRlQ2hpbGRGdW5jIChHTGliLk9iamVjdCBpdGVt KTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIiwgaW5z dGFuY2VfcG9zID0gNC45KV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMg ZGVsZWdhdGUgYm9vbCBCaW5kaW5nQWN0aW9uRnVuYyAoR0xpYi5PYmplY3QgZ29iamVjdCwgc3Ry aW5nIGFjdGlvbl9uYW1lLCB1aW50IGtleV92YWwsIENsdXR0ZXIuTW9kaWZpZXJUeXBlIG1vZGlm aWVycyk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGluc3RhbmNlX3BvcyA9IDEuOSldCi0rCXB1YmxpYyBkZWxlZ2F0ZSB2b2lkIENhbGxiYWNrIChD bHV0dGVyLkFjdG9yIGFjdG9yKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIiwgaW5zdGFuY2VfcG9zID0gMS45KV0KLSsJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTgiKV0KLSsJcHVibGljIGRlbGVnYXRlIGJvb2wgRXZlbnRGaWx0ZXJGdW5jIChDbHV0dGVy LkV2ZW50IGV2ZW50KTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1 dHRlci5oIiwgaW5zdGFuY2VfcG9zID0gMS45KV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIp XQotKwlwdWJsaWMgZGVsZWdhdGUgdm9pZCBQYXRoQ2FsbGJhY2sgKENsdXR0ZXIuUGF0aE5vZGUg bm9kZSk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIs IGhhc190YXJnZXQgPSBmYWxzZSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJcHVi bGljIGRlbGVnYXRlIGJvb2wgUHJvZ3Jlc3NGdW5jIChHTGliLlZhbHVlIGEsIEdMaWIuVmFsdWUg YiwgZG91YmxlIHByb2dyZXNzLCBHTGliLlZhbHVlIHJldHZhbCk7Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGluc3RhbmNlX3BvcyA9IDYuOSldCi0r CVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJcHVibGljIGRlbGVnYXRlIHZvaWQgU2NyaXB0 Q29ubmVjdEZ1bmMgKENsdXR0ZXIuU2NyaXB0IHNjcmlwdCwgR0xpYi5PYmplY3Qgb2JqZWN0LCBz dHJpbmcgc2lnbmFsX25hbWUsIHN0cmluZyBoYW5kbGVyX25hbWUsIEdMaWIuT2JqZWN0IGNvbm5l Y3Rfb2JqZWN0LCBHTGliLkNvbm5lY3RGbGFncyBmbGFncyk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIsIGluc3RhbmNlX3BvcyA9IDMuOSldCi0rCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCXB1YmxpYyBkZWxlZ2F0ZSBkb3VibGUgVGltZWxp bmVQcm9ncmVzc0Z1bmMgKENsdXR0ZXIuVGltZWxpbmUgdGltZWxpbmUsIGRvdWJsZSBlbGFwc2Vk LCBkb3VibGUgdG90YWwpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0NPR0wiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0 ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIwLjQiKV0KLSsJ cHVibGljIGNvbnN0IHN0cmluZyBDT0dMOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y2x1dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX0NVUlJFTlRfVElNRSIpXQotKwlb VmVyc2lvbiAoc2luY2UgPSAiMC40IildCi0rCXB1YmxpYyBjb25zdCBpbnQgQ1VSUkVOVF9USU1F OwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiLCBjbmFt ZSA9ICJDTFVUVEVSX0ZMQVZPVVIiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBk ZXByZWNhdGVkX3NpbmNlID0gIjEuMTAiLCBzaW5jZSA9ICIwLjQiKV0KLSsJcHVibGljIGNvbnN0 IHN0cmluZyBGTEFWT1VSOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX1BBVEhfUkVMQVRJVkUiKV0KLSsJcHVibGljIGNv bnN0IGludCBQQVRIX1JFTEFUSVZFOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1 dHRlci9jbHV0dGVyLmgiLCBjbmFtZSA9ICJDTFVUVEVSX1BSSU9SSVRZX1JFRFJBVyIpXQotKwlb VmVyc2lvbiAoc2luY2UgPSAiMC44IildCi0rCXB1YmxpYyBjb25zdCBpbnQgUFJJT1JJVFlfUkVE UkFXOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0K LSsJcHVibGljIHN0YXRpYyB2b2lkIGJhc2VfaW5pdCAoKTsKLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEy IildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBjYWlyb19jbGVhciAoQ2Fpcm8uQ29udGV4dCBjcik7 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlb VmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBjYWlyb19zZXRf c291cmNlX2NvbG9yIChDYWlyby5Db250ZXh0IGNyLCBDbHV0dGVyLkNvbG9yIGNvbG9yKTsKLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCVtWZXJz aW9uIChzaW5jZSA9ICIxLjYiKV0KLSsJcHVibGljIHN0YXRpYyB1bm93bmVkIENsdXR0ZXIuQ29s b3I/IGNvbG9yX2dldF9zdGF0aWMgKENsdXR0ZXIuU3RhdGljQ29sb3IgY29sb3IpOwotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTQiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIGRpc2FibGVfYWNjZXNzaWJp bGl0eSAoKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5o IildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIGRv X2V2ZW50IChDbHV0dGVyLkV2ZW50IGV2ZW50KTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjQiKV0KLSsJ cHVibGljIHN0YXRpYyBib29sIGV2ZW50c19wZW5kaW5nICgpOwotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEu NCIpXQotKwlwdWJsaWMgc3RhdGljIGJvb2wgZ2V0X2FjY2Vzc2liaWxpdHlfZW5hYmxlZCAoKTsK LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjIiKV0KLSsJcHVibGljIHN0YXRpYyB1bm93bmVkIENsdXR0ZXIu RXZlbnQgZ2V0X2N1cnJlbnRfZXZlbnQgKCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCXB1 YmxpYyBzdGF0aWMgdWludDMyIGdldF9jdXJyZW50X2V2ZW50X3RpbWUgKCk7Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlbVmVyc2lvbiAoc2lu Y2UgPSAiMC40IildCi0rCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDbHV0dGVyLkJhY2tlbmQgZ2V0 X2RlZmF1bHRfYmFja2VuZCAoKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0 ZXIvY2x1dHRlci5oIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjYiKV0KLSsJcHVibGljIHN0 YXRpYyB1aW50IGdldF9kZWZhdWx0X2ZyYW1lX3JhdGUgKCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4y IildCi0rCXB1YmxpYyBzdGF0aWMgQ2x1dHRlci5UZXh0RGlyZWN0aW9uIGdldF9kZWZhdWx0X3Rl eHRfZGlyZWN0aW9uICgpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9j bHV0dGVyLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMgc3RhdGlj IHVub3duZWQgUGFuZ28uRm9udE1hcCBnZXRfZm9udF9tYXAgKCk7Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAi MC4yIildCi0rCXB1YmxpYyBzdGF0aWMgR0xpYi5PcHRpb25Hcm91cCBnZXRfb3B0aW9uX2dyb3Vw ICgpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0K LSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwlwdWJsaWMgc3RhdGljIEdMaWIuT3B0aW9u R3JvdXAgZ2V0X29wdGlvbl9ncm91cF93aXRob3V0X2luaXQgKCk7Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAi MC42IildCi0rCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBzdHJpbmcgZ2V0X3NjcmlwdF9pZCAoR0xp Yi5PYmplY3QgZ29iamVjdCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjbHV0dGVy L2NsdXR0ZXIuaCIpXQotKwlwdWJsaWMgc3RhdGljIENsdXR0ZXIuSW5pdEVycm9yIGluaXQgKFtD Q29kZSAoYXJyYXlfbGVuZ3RoX2NuYW1lID0gImFyZ2MiLCBhcnJheV9sZW5ndGhfcG9zID0gMC41 KV0gcmVmIHVub3duZWQgc3RyaW5nW10/IGFyZ3YpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5h bWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjAuMiIpXQot KwlwdWJsaWMgc3RhdGljIENsdXR0ZXIuSW5pdEVycm9yIGluaXRfd2l0aF9hcmdzIChbQ0NvZGUg KGFycmF5X2xlbmd0aF9jbmFtZSA9ICJhcmdjIiwgYXJyYXlfbGVuZ3RoX3BvcyA9IDAuNSldIHJl ZiB1bm93bmVkIHN0cmluZ1tdPyBhcmd2LCBzdHJpbmc/IHBhcmFtZXRlcl9zdHJpbmcsIFtDQ29k ZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXSBHTGliLk9wdGlvbkVudHJ5W10/IGVudHJpZXMsIHN0 cmluZz8gdHJhbnNsYXRpb25fZG9tYWluKSB0aHJvd3MgR0xpYi5FcnJvcjsKLSsJW0NDb2RlIChj aGVhZGVyX2ZpbGVuYW1lID0gImNsdXR0ZXIvY2x1dHRlci5oIildCi0rCXB1YmxpYyBzdGF0aWMg dWludDMyIGtleXN5bV90b191bmljb2RlICh1aW50IGtleXZhbCk7Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjbHV0dGVyL2NsdXR0ZXIuaCIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQg c2V0X2N1c3RvbV9iYWNrZW5kX2Z1bmMgKHZvaWQqIGZ1bmMpOwotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY2x1dHRlci9jbHV0dGVyLmgiKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KLSsJcHVibGljIHN0YXRpYyB1aW50IHVuaWNvZGVfdG9fa2V5c3ltICh1aW50MzIgd2Mp OwotK30KLWRpZmYgLS1naXQgdmFwaS9tdXR0ZXItY29nbC03LnZhcGkgdmFwaS9tdXR0ZXItY29n bC03LnZhcGkKLWluZGV4IDYyMGMyMzE3Li4xYWFlOTdkNSAxMDA2NDQKLS0tLSB2YXBpL211dHRl ci1jb2dsLTcudmFwaQotKysrIHZhcGkvbXV0dGVyLWNvZ2wtNy52YXBpCi1AQCAtMzIsNyArMzIs OSBAQCBuYW1lc3BhY2UgQ29nbCB7Ci0gCXB1YmxpYyBjbGFzcyBDb250ZXh0IDogQ29nbC5PYmpl Y3QgewotIAkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotIAkJcHJv dGVjdGVkIENvbnRleHQgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBDb2dsLlBpcGVsaW5lIGdldF9u YW1lZF9waXBlbGluZSAoQ29nbC5QaXBlbGluZUtleSBrZXkpOwotIAkJcHVibGljIGJvb2wgaXNf aGFyZHdhcmVfYWNjZWxlcmF0ZWQgKCk7Ci0rCQlwdWJsaWMgdm9pZCBzZXRfbmFtZWRfcGlwZWxp bmUgKENvZ2wuUGlwZWxpbmVLZXkga2V5LCBDb2dsLlBpcGVsaW5lPyBwaXBlbGluZSk7Ci0gCX0K LSAJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY29weV9mdW5jdGlv biA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVf aWQgPSAiY29nbF9mcmFtZV9jbG9zdXJlX2dldF9ndHlwZSAoKSIpXQotIAlbQ29tcGFjdF0KLUBA IC0yNzAsNiArMjcyLDEwIEBAIG5hbWVzcGFjZSBDb2dsIHsKLSAJCVtWZXJzaW9uIChzaW5jZSA9 ICIyLjAiKV0KLSAJCXB1YmxpYyB2b2lkIHNldF91c2VyX3Byb2dyYW0gKENvZ2wuSGFuZGxlIHBy b2dyYW0pOwotIAl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIs IHR5cGVfaWQgPSAiR19UWVBFX1NUUklORyIpXQotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNz IFBpcGVsaW5lS2V5IDogc3RyaW5nIHsKLSsJfQotIAlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY29nbC9jb2dsLmgiKV0KLSAJW0NvbXBhY3RdCi0gCXB1YmxpYyBjbGFzcyBQaXhlbEJ1ZmZl ciA6IENvZ2wuSGFuZGxlIHsKLWRpZmYgLS1naXQgdmFwaS9tdXR0ZXItY29nbC04LWN1c3RvbS52 YWxhIHZhcGkvbXV0dGVyLWNvZ2wtOC1jdXN0b20udmFsYQotbmV3IGZpbGUgbW9kZSAxMDA2NDQK LWluZGV4IDAwMDAwMDAwLi5jNGQ0YjkzYQotLS0tIC9kZXYvbnVsbAotKysrIHZhcGkvbXV0dGVy LWNvZ2wtOC1jdXN0b20udmFsYQotQEAgLTAsMCArMSwxMTkgQEAKLStuYW1lc3BhY2UgQ29nbCB7 Ci0rCVtDb21wYWN0XQotKwlbQ0NvZGUgKGNuYW1lID0gIkNvZ2xIYW5kbGUiKV0KLSsJcHVibGlj IGNsYXNzIEJ1ZmZlcjogSGFuZGxlIHsKLSsJCXB1YmxpYyB1aW50IGdldF9zaXplICgpOwotKwkJ cHVibGljIGJvb2wgc2V0X2RhdGEgKHNpemVfdCBvZmZzZXQsIFtDQ29kZSAoYXJyYXlfbGVuZ3Ro X3R5cGUgPSAic2l6ZV90IildIHVpbnQ4W10gZGF0YSk7Ci0rCQlwdWJsaWMgdm9pZCB1bm1hcCAo KTsKLSsJfQotKwotKwlbQ0NvZGUgKGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJsaWMgc3Ry dWN0IENvbG9yIHsKLSsJCXB1YmxpYyBDb2xvci5mcm9tXzRmIChmbG9hdCByZWQsIGZsb2F0IGdy ZWVuLCBmbG9hdCBibHVlLCBmbG9hdCBhbHBoYSk7Ci0rCQlwdWJsaWMgQ29sb3IuZnJvbV80dWIg KHVpbnQ4IHJlZCwgdWludDggZ3JlZW4sIHVpbnQ4IGJsdWUsIHVpbnQ4IGFscGhhKTsKLSsJfQot KwotKwlbQ29tcGFjdF0KLSsJW0NDb2RlIChyZWZfZnVuY3Rpb24gPSAiY29nbF9oYW5kbGVfcmVm IiwgdW5yZWZfZnVuY3Rpb24gPSAiY29nbF9oYW5kbGVfdW5yZWYiKV0KLSsJcHVibGljIGNsYXNz IEhhbmRsZSB7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfaXNfYml0bWFwIildCi0rCQlwdWJs aWMgYm9vbCBpc19iaXRtYXAgKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfaXNfYnVmZmVy IildCi0rCQlwdWJsaWMgYm9vbCBpc19idWZmZXIgKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNv Z2xfaXNfbWF0ZXJpYWwiKV0KLSsJCXB1YmxpYyBib29sIGlzX21hdGVyaWFsICgpOwotKwkJW0ND b2RlIChjbmFtZSA9ICJjb2dsX2lzX29mZnNjcmVlbiIpXQotKwkJcHVibGljIGJvb2wgaXNfb2Zm c2NyZWVuICgpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX2lzX3BpeGVsX2J1ZmZlciIpXQot KwkJcHVibGljIGJvb2wgaXNfcGl4ZWxfYnVmZmVyICgpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJj b2dsX2lzX3Byb2dyYW0iKV0KLSsJCXB1YmxpYyBib29sIGlzX3Byb2dyYW0gKCk7Ci0rCQlbQ0Nv ZGUgKGNuYW1lID0gImNvZ2xfaXNfc2hhZGVyIildCi0rCQlwdWJsaWMgYm9vbCBpc19zaGFkZXIg KCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfaXNfdGV4dHVyZSIpXQotKwkJcHVibGljIGJv b2wgaXNfdGV4dHVyZSAoKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9pc192ZXJ0ZXhfYnVm ZmVyIildCi0rCQlwdWJsaWMgYm9vbCBpc192ZXJ0ZXhfYnVmZmVyICgpOwotKwl9Ci0rCi0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNvcHlfZnVuY3Rpb24gPSAi Y29nbF9wYXRoX2NvcHkiKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBQYXRoIHsKLSsJ CXB1YmxpYyBzdGF0aWMgdm9pZCBAbmV3ICgpOwotKwl9Ci0rCi0rCVtDb21wYWN0XQotKwlwdWJs aWMgY2xhc3MgUGl4ZWxCdWZmZXI6IEhhbmRsZSB7Ci0rCQlwdWJsaWMgUGl4ZWxCdWZmZXIgKHVp bnQgc2l6ZSk7Ci0rCQlwdWJsaWMgUGl4ZWxCdWZmZXIuZm9yX3NpemUgKHVpbnQgd2lkdGgsIHVp bnQgaGVpZ2h0LCBDb2dsLlBpeGVsRm9ybWF0IGZvcm1hdCwgdWludCBzdHJpZGUpOwotKwl9Ci0r Ci0rCVtDb21wYWN0XQotKwlbQ0NvZGUgKGNuYW1lID0gIkNvZ2xIYW5kbGUiLCByZWZfZnVuY3Rp b24gPSAiY29nbF9wcm9ncmFtX3JlZiIsIHVucmVmX2Z1bmN0aW9uID0gImNvZ2xfcHJvZ3JhbV91 bnJlZiIpXQotKwlwdWJsaWMgY2xhc3MgUHJvZ3JhbTogSGFuZGxlIHsKLSsJCVtDQ29kZSAoY25h bWUgPSAiY29nbF9jcmVhdGVfcHJvZ3JhbSIsIHR5cGUgPSAiQ29nbEhhbmRsZSoiLCBoYXNfY29u c3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHVibGljIFByb2dyYW0gKCk7Ci0rCQlwdWJs aWMgdm9pZCBhdHRhY2hfc2hhZGVyIChDb2dsLlNoYWRlciBzaGFkZXJfaGFuZGxlKTsKLSsJCXB1 YmxpYyBpbnQgZ2V0X3VuaWZvcm1fbG9jYXRpb24gKHN0cmluZyB1bmlmb3JtX25hbWUpOwotKwkJ cHVibGljIHZvaWQgbGluayAoKTsKLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCB1bmlmb3JtXzFmIChp bnQgdW5pZm9ybV9ubywgZmxvYXQgdmFsdWUpOwotKwkJcHVibGljIHN0YXRpYyB2b2lkIHVuaWZv cm1fMWkgKGludCB1bmlmb3JtX25vLCBpbnQgdmFsdWUpOwotKwkJcHVibGljIHN0YXRpYyB2b2lk IHVuaWZvcm1fZmxvYXQgKGludCB1bmlmb3JtX25vLCBpbnQgc2l6ZSwgW0NDb2RlIChhcnJheV9s ZW5ndGhfcG9zID0gMi45KV0gZmxvYXRbXSB2YWx1ZSk7Ci0rCQlwdWJsaWMgc3RhdGljIHZvaWQg dW5pZm9ybV9pbnQgKGludCB1bmlmb3JtX25vLCBpbnQgc2l6ZSwgW0NDb2RlIChhcnJheV9sZW5n dGhfcG9zID0gMi45KV0gaW50W10gdmFsdWUpOwotKwkJcHVibGljIHN0YXRpYyB2b2lkIHVuaWZv cm1fbWF0cml4IChpbnQgdW5pZm9ybV9ubywgaW50IHNpemUsIGJvb2wgdHJhbnNwb3NlLCBbQ0Nv ZGUgKGFycmF5X2xlbmd0aF9wb3MgPSAyLjkpXSBmbG9hdFtdIHZhbHVlKTsKLSsJCXB1YmxpYyB2 b2lkIHVzZSAoKTsKLSsJfQotKwotKwlbQ29tcGFjdF0KLSsJW0NDb2RlIChjbmFtZSA9ICJDb2ds SGFuZGxlIiwgcmVmX2Z1bmN0aW9uID0gImNvZ2xfc2hhZGVyX3JlZiIsIHVucmVmX2Z1bmN0aW9u ID0gImNvZ2xfc2hhZGVyX3VucmVmIildCi0rCXB1YmxpYyBjbGFzcyBTaGFkZXI6IEhhbmRsZSB7 Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfY3JlYXRlX3NoYWRlciIsIHR5cGUgPSAiQ29nbEhh bmRsZSoiLCBoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHVibGljIFNoYWRl ciAoQ29nbC5TaGFkZXJUeXBlIHNoYWRlcl90eXBlKTsKLSsJCXB1YmxpYyB2b2lkIGNvbXBpbGUg KCk7Ci0rCQlwdWJsaWMgc3RyaW5nIGdldF9pbmZvX2xvZyAoKTsKLSsJCXB1YmxpYyBDb2dsLlNo YWRlclR5cGUgZ2V0X3R5cGUgKCk7Ci0rCQlwdWJsaWMgYm9vbCBpc19jb21waWxlZCAoKTsKLSsJ CXB1YmxpYyB2b2lkIHNvdXJjZSAoc3RyaW5nIHNvdXJjZSk7Ci0rCX0KLSsKLSsJW0NvbXBhY3Rd Ci0rCVtDQ29kZSAoY25hbWUgPSAiQ29nbEhhbmRsZSIsIHJlZl9mdW5jdGlvbiA9ICJjb2dsX3Zl cnRleF9idWZmZXJfcmVmIiwgdW5yZWZfZnVuY3Rpb24gPSAiY29nbF92ZXJ0ZXhfYnVmZmVyX3Vu cmVmIildCi0rCXB1YmxpYyBjbGFzcyBWZXJ0ZXhCdWZmZXI6IEhhbmRsZSB7Ci0rCQlbQ0NvZGUg KHR5cGUgPSAiQ29nbEhhbmRsZSoiLCBoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQot KwkJcHVibGljIFZlcnRleEJ1ZmZlciAodWludCBuX3ZlcnRpY2VzKTsKLSsJCXB1YmxpYyB2b2lk IGFkZCAoc3RyaW5nIGF0dHJpYnV0ZV9uYW1lLCB1Y2hhciBuX2NvbXBvbmVudHMsIENvZ2wuQXR0 cmlidXRlVHlwZSB0eXBlLCBib29sIG5vcm1hbGl6ZWQsIHVpbnQxNiBzdHJpZGUsIHZvaWQqIHBv aW50ZXIpOwotKwkJcHVibGljIHZvaWQgZGVsZXRlIChzdHJpbmcgYXR0cmlidXRlX25hbWUpOwot KwkJcHVibGljIHZvaWQgZGlzYWJsZSAoc3RyaW5nIGF0dHJpYnV0ZV9uYW1lKTsKLSsJCXB1Ymxp YyB2b2lkIGRyYXcgKENvZ2wuVmVydGljZXNNb2RlIG1vZGUsIGludCBmaXJzdCwgaW50IGNvdW50 KTsKLSsJCXB1YmxpYyB2b2lkIGRyYXdfZWxlbWVudHMgKENvZ2wuVmVydGljZXNNb2RlIG1vZGUs IFZlcnRleEJ1ZmZlckluZGljZXMgaW5kaWNlcywgaW50IG1pbl9pbmRleCwgaW50IG1heF9pbmRl eCwgaW50IGluZGljZXNfb2Zmc2V0LCBpbnQgY291bnQpOwotKwkJcHVibGljIHZvaWQgZW5hYmxl IChzdHJpbmcgYXR0cmlidXRlX25hbWUpOwotKwkJcHVibGljIHVpbnQgZ2V0X25fdmVydGljZXMg KCk7Ci0rCQlwdWJsaWMgdm9pZCBzdWJtaXQgKCk7Ci0rCX0KLSsKLSsJW0NvbXBhY3RdCi0rCVtD Q29kZSAoY25hbWUgPSAiQ29nbEhhbmRsZSIpXQotKwlwdWJsaWMgY2xhc3MgVmVydGV4QnVmZmVy SW5kaWNlczogSGFuZGxlIHsKLSsJCXB1YmxpYyBWZXJ0ZXhCdWZmZXJJbmRpY2VzIChDb2dsLklu ZGljZXNUeXBlIGluZGljZXNfdHlwZSwgdm9pZCogaW5kaWNlc19hcnJheSwgaW50IGluZGljZXNf bGVuKTsKLSsJCXB1YmxpYyBzdGF0aWMgdW5vd25lZCBDb2dsLlZlcnRleEJ1ZmZlckluZGljZXMg Z2V0X2Zvcl9xdWFkcyAodWludCBuX2luZGljZXMpOwotKwkJcHVibGljIENvZ2wuSW5kaWNlc1R5 cGUgZ2V0X3R5cGUgKCk7Ci0rCX0KLSsKLSsJW0NDb2RlICh0eXBlX2lkID0gIkNPR0xfVFlQRV9N QVRSSVgiLCBjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCXB1YmxpYyBzdHJ1 Y3QgTWF0cml4IHsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9tYXRyaXhfaW5pdF9mcm9tX2Fy cmF5IiwgYXJyYXlfbGVuZ3RoID0gZmFsc2UsIGFycmF5X251bGxfdGVybWluYXRlZCA9IGZhbHNl KV0KLSsJCXB1YmxpYyBNYXRyaXguZnJvbV9hcnJheSAoW0NDb2RlIChhcnJheV9sZW5ndGggPSBm YWxzZSldIGZsb2F0W10gYXJyYXkpOwotKwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX21hdHJpeF9p bml0X2lkZW50aXR5IildCi0rCQlwdWJsaWMgTWF0cml4LmlkZW50aXR5ICgpOwotKwkJW0NDb2Rl IChjbmFtZSA9ICJjb2dsX21hdHJpeF9tdWx0aXBseSIpXQotKwkJcHVibGljIE1hdHJpeC5tdWx0 aXBseSAoQ29nbC5NYXRyaXggYSwgQ29nbC5NYXRyaXggYik7Ci0rCX0KLSsKLSsJW1NpbXBsZVR5 cGVdCi0rCVtHSVIgKG5hbWUgPSAiQm9vbCIpXQotKwlbQm9vbGVhblR5cGVdCi0rCXB1YmxpYyBz dHJ1Y3QgQm9vbCA6IGJvb2wgewotKwl9Ci0rCi0rCXB1YmxpYyBzdGF0aWMgR0xpYi5DYWxsYmFj ayBnZXRfcHJvY19hZGRyZXNzKHN0cmluZyBzKTsKLSt9Ci1kaWZmIC0tZ2l0IHZhcGkvbXV0dGVy LWNvZ2wtOC5kZXBzIHZhcGkvbXV0dGVyLWNvZ2wtOC5kZXBzCi1uZXcgZmlsZSBtb2RlIDEwMDY0 NAotaW5kZXggMDAwMDAwMDAuLjk4Y2NhYzViCi0tLS0gL2Rldi9udWxsCi0rKysgdmFwaS9tdXR0 ZXItY29nbC04LmRlcHMKLUBAIC0wLDAgKzEgQEAKLStwYW5nbwotZGlmZiAtLWdpdCB2YXBpL211 dHRlci1jb2dsLTgudmFwaSB2YXBpL211dHRlci1jb2dsLTgudmFwaQotbmV3IGZpbGUgbW9kZSAx MDA2NDQKLWluZGV4IDAwMDAwMDAwLi5jMTdjMTI0ZQotLS0tIC9kZXYvbnVsbAotKysrIHZhcGkv bXV0dGVyLWNvZ2wtOC52YXBpCi1AQCAtMCwwICsxLDEwOTEgQEAKLSsvKiBtdXR0ZXItY29nbC04 LnZhcGkgZ2VuZXJhdGVkIGJ5IHZhcGlnZW4sIGRvIG5vdCBtb2RpZnkuICovCi0rCi0rW0NDb2Rl IChjcHJlZml4ID0gIkNvZ2wiLCBnaXJfbmFtZXNwYWNlID0gIkNvZ2wiLCBnaXJfdmVyc2lvbiA9 ICI4IiwgbG93ZXJfY2FzZV9jcHJlZml4ID0gImNvZ2xfIildCi0rbmFtZXNwYWNlIENvZ2wgewot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCB0eXBlX2lkID0gImNv Z2xfYml0bWFwX2dldF9ndHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3MgQml0bWFwIDogQ29nbC5P YmplY3QgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJ cHJvdGVjdGVkIEJpdG1hcCAoKTsKLSsJCXB1YmxpYyBzdGF0aWMgdWludDMyIGVycm9yX3F1YXJr ICgpOwotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIEJpdG1hcC5mcm9tX2ZpbGUgKHN0cmlu ZyBmaWxlbmFtZSkgdGhyb3dzIEdMaWIuRXJyb3I7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4x MCIpXQotKwkJcHVibGljIENvZ2wuUGl4ZWxGb3JtYXQgZ2V0X2Zvcm1hdCAoKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgaW50IGdldF9oZWlnaHQgKCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGludCBnZXRfcm93c3RyaWRlICgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIHN0YXRpYyBib29sIGdl dF9zaXplX2Zyb21fZmlsZSAoc3RyaW5nIGZpbGVuYW1lLCBvdXQgaW50IHdpZHRoLCBvdXQgaW50 IGhlaWdodCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGludCBn ZXRfd2lkdGggKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29n bC5oIiwgY25hbWUgPSAiQ29nbEhhbmRsZSIpXQotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNz IEJ1ZmZlciA6IENvZ2wuSGFuZGxlIHsKLSsJCXB1YmxpYyB1aW50IGdldF9zaXplICgpOwotKwkJ cHVibGljIGJvb2wgc2V0X2RhdGEgKHNpemVfdCBvZmZzZXQsIFtDQ29kZSAoYXJyYXlfbGVuZ3Ro X3R5cGUgPSAic2l6ZV90IildIHVpbnQ4W10gZGF0YSk7Ci0rCQlwdWJsaWMgdm9pZCB1bm1hcCAo KTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCB0eXBl X2lkID0gImNvZ2xfY29udGV4dF9nZXRfZ3R5cGUgKCkiKV0KLSsJcHVibGljIGNsYXNzIENvbnRl eHQgOiBDb2dsLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBm YWxzZSldCi0rCQlwcm90ZWN0ZWQgQ29udGV4dCAoKTsKLSsJCXB1YmxpYyB1bm93bmVkIENvZ2wu UGlwZWxpbmUgZ2V0X25hbWVkX3BpcGVsaW5lIChDb2dsLlBpcGVsaW5lS2V5IGtleSk7Ci0rCQlw dWJsaWMgYm9vbCBpc19oYXJkd2FyZV9hY2NlbGVyYXRlZCAoKTsKLSsJCXB1YmxpYyB2b2lkIHNl dF9uYW1lZF9waXBlbGluZSAoQ29nbC5QaXBlbGluZUtleSBrZXksIENvZ2wuUGlwZWxpbmU/IHBp cGVsaW5lKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgi LCBjb3B5X2Z1bmN0aW9uID0gImdfYm94ZWRfY29weSIsIGZyZWVfZnVuY3Rpb24gPSAiZ19ib3hl ZF9mcmVlIiwgdHlwZV9pZCA9ICJjb2dsX2ZyYW1lX2Nsb3N1cmVfZ2V0X2d0eXBlICgpIildCi0r CVtDb21wYWN0XQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotKwlwdWJsaWMgY2xhc3Mg RnJhbWVDbG9zdXJlIHsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9j b2dsLmgiLCB0eXBlX2lkID0gImNvZ2xfZnJhbWVfaW5mb19nZXRfZ3R5cGUgKCkiKV0KLSsJcHVi bGljIGNsYXNzIEZyYW1lSW5mbyA6IENvZ2wuT2JqZWN0IHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0 cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBGcmFtZUluZm8gKCk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotKwkJcHVibGljIGludDY0IGdldF9mcmFtZV9jb3Vu dGVyICgpOwotKwkJcHVibGljIGJvb2wgZ2V0X2lzX3N5bWJvbGljICgpOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTQiKV0KLSsJCXB1YmxpYyBpbnQ2NCBnZXRfcHJlc2VudGF0aW9uX3RpbWUg KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotKwkJcHVibGljIGZsb2F0IGdldF9y ZWZyZXNoX3JhdGUgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wv Y29nbC5oIiwgdHlwZV9pZCA9ICJjb2dsX2ZyYW1lYnVmZmVyX2dldF90eXBlICgpIildCi0rCXB1 YmxpYyBhYnN0cmFjdCBjbGFzcyBGcmFtZWJ1ZmZlciA6IEdMaWIuT2JqZWN0IHsKLSsJCVtDQ29k ZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBGcmFtZWJ1 ZmZlciAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyB2aXJ0dWFs IGJvb2wgYWxsb2NhdGUgKCkgdGhyb3dzIEdMaWIuRXJyb3I7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS44IildCi0rCQlwdWJsaWMgdm9pZCBjbGVhciAodWxvbmcgYnVmZmVycywgQ29nbC5Db2xv ciBjb2xvcik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMgdm9pZCBj bGVhcjRmICh1bG9uZyBidWZmZXJzLCBmbG9hdCByZWQsIGZsb2F0IGdyZWVuLCBmbG9hdCBibHVl LCBmbG9hdCBhbHBoYSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMg dm9pZCBkaXNjYXJkX2J1ZmZlcnMgKHVsb25nIGJ1ZmZlcnMpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIGRyYXdfbXVsdGl0ZXh0dXJlZF9yZWN0YW5nbGUg KENvZ2wuUGlwZWxpbmUgcGlwZWxpbmUsIGZsb2F0IHhfMSwgZmxvYXQgeV8xLCBmbG9hdCB4XzIs IGZsb2F0IHlfMiwgW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldIGZsb2F0W10gdGV4X2Nv b3JkcywgaW50IHRleF9jb29yZHNfbGVuKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIild Ci0rCQlwdWJsaWMgdm9pZCBkcmF3X3JlY3RhbmdsZSAoQ29nbC5QaXBlbGluZSBwaXBlbGluZSwg ZmxvYXQgeF8xLCBmbG9hdCB5XzEsIGZsb2F0IHhfMiwgZmxvYXQgeV8yKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBkcmF3X3JlY3RhbmdsZXMgKENvZ2wu UGlwZWxpbmUgcGlwZWxpbmUsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXSBmbG9hdFtd IGNvb3JkaW5hdGVzLCB1aW50IG5fcmVjdGFuZ2xlcyk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS4xMCIpXQotKwkJcHVibGljIHZvaWQgZHJhd190ZXh0dXJlZF9yZWN0YW5nbGUgKENvZ2wuUGlw ZWxpbmUgcGlwZWxpbmUsIGZsb2F0IHhfMSwgZmxvYXQgeV8xLCBmbG9hdCB4XzIsIGZsb2F0IHlf MiwgZmxvYXQgc18xLCBmbG9hdCB0XzEsIGZsb2F0IHNfMiwgZmxvYXQgdF8yKTsKLSsJCVtWZXJz aW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBkcmF3X3RleHR1cmVkX3JlY3Rh bmdsZXMgKENvZ2wuUGlwZWxpbmUgcGlwZWxpbmUsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFs c2UpXSBmbG9hdFtdIGNvb3JkaW5hdGVzLCB1aW50IG5fcmVjdGFuZ2xlcyk7Ci0rCQlwdWJsaWMg c3RhdGljIHVpbnQzMiBlcnJvcl9xdWFyayAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEw IildCi0rCQlwdWJsaWMgdm9pZCBmaW5pc2ggKCk7Ci0rCQlwdWJsaWMgdm9pZCBmbHVzaCAoKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBmcnVzdHVtIChm bG9hdCBsZWZ0LCBmbG9hdCByaWdodCwgZmxvYXQgYm90dG9tLCBmbG9hdCB0b3AsIGZsb2F0IHpf bmVhciwgZmxvYXQgel9mYXIpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVi bGljIGludCBnZXRfYWxwaGFfYml0cyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0K LSsJCXB1YmxpYyBpbnQgZ2V0X2JsdWVfYml0cyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjgiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENvZ2wuQ29udGV4dCBnZXRfY29udGV4dCAoKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyBpbnQgZ2V0X2RlcHRoX2JpdHMg KCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xOCIpXQotKwkJcHVibGljIGJvb2wgZ2V0X2Rl cHRoX3dyaXRlX2VuYWJsZWQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlw dWJsaWMgYm9vbCBnZXRfZGl0aGVyX2VuYWJsZWQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAi MS44IildCi0rCQlwdWJsaWMgaW50IGdldF9ncmVlbl9iaXRzICgpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuOCIpXQotKwkJcHVibGljIGludCBnZXRfaGVpZ2h0ICgpOwotKwkJcHVibGljIGJv b2wgZ2V0X2lzX3N0ZXJlbyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlw dWJsaWMgdm9pZCBnZXRfbW9kZWx2aWV3X21hdHJpeCAob3V0IHVub3duZWQgR3JhcGhlbmUuTWF0 cml4IG1hdHJpeCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZv aWQgZ2V0X3Byb2plY3Rpb25fbWF0cml4IChvdXQgdW5vd25lZCBHcmFwaGVuZS5NYXRyaXggbWF0 cml4KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1YmxpYyBpbnQgZ2V0X3Jl ZF9iaXRzICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyBpbnQg Z2V0X3NhbXBsZXNfcGVyX3BpeGVsICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMjAiKV0K LSsJCXB1YmxpYyBDb2dsLlN0ZXJlb01vZGUgZ2V0X3N0ZXJlb19tb2RlICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQgZ2V0X3ZpZXdwb3J0NGZ2IChbQ0Nv ZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNlKV0gb3V0IHVub3duZWQgZmxvYXQgdmlld3BvcnRbNF0p OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIGZsb2F0IGdldF92aWV3 cG9ydF9oZWlnaHQgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlwdWJsaWMg ZmxvYXQgZ2V0X3ZpZXdwb3J0X3dpZHRoICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIp XQotKwkJcHVibGljIGZsb2F0IGdldF92aWV3cG9ydF94ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuOCIpXQotKwkJcHVibGljIGZsb2F0IGdldF92aWV3cG9ydF95ICgpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIGludCBnZXRfd2lkdGggKCk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgaWRlbnRpdHlfbWF0cml4ICgp OwotKwkJW05vV3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIGJvb2wgaXNfeV9mbGlwcGVkICgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIG9ydGhvZ3Jh cGhpYyAoZmxvYXQgeF8xLCBmbG9hdCB5XzEsIGZsb2F0IHhfMiwgZmxvYXQgeV8yLCBmbG9hdCBu ZWFyLCBmbG9hdCBmYXIpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1Ymxp YyB2b2lkIHBlcnNwZWN0aXZlIChmbG9hdCBmb3ZfeSwgZmxvYXQgYXNwZWN0LCBmbG9hdCB6X25l YXIsIGZsb2F0IHpfZmFyKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJs aWMgdm9pZCBwb3BfY2xpcCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlw dWJsaWMgdm9pZCBwb3BfbWF0cml4ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0K LSsJCXB1YmxpYyB2b2lkIHB1c2hfbWF0cml4ICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEu MTAiKV0KLSsJCXB1YmxpYyB2b2lkIHB1c2hfcmVjdGFuZ2xlX2NsaXAgKGZsb2F0IHhfMSwgZmxv YXQgeV8xLCBmbG9hdCB4XzIsIGZsb2F0IHlfMik7Ci0rCQlwdWJsaWMgdm9pZCBwdXNoX3JlZ2lv bl9jbGlwIChDYWlyby5SZWdpb24gcmVnaW9uKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEw IildCi0rCQlwdWJsaWMgdm9pZCBwdXNoX3NjaXNzb3JfY2xpcCAoaW50IHgsIGludCB5LCBpbnQg d2lkdGgsIGludCBoZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1 YmxpYyBib29sIHJlYWRfcGl4ZWxzIChpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdo dCwgQ29nbC5QaXhlbEZvcm1hdCBmb3JtYXQsIHVpbnQ4IHBpeGVscyk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIGJvb2wgcmVhZF9waXhlbHNfaW50b19iaXRtYXAg KGludCB4LCBpbnQgeSwgQ29nbC5SZWFkUGl4ZWxzRmxhZ3Mgc291cmNlLCBDb2dsLkJpdG1hcCBi aXRtYXApOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGljIHZvaWQgcmVz b2x2ZV9zYW1wbGVzICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIpXQotKwkJcHVibGlj IHZvaWQgcmVzb2x2ZV9zYW1wbGVzX3JlZ2lvbiAoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGlu dCBoZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lk IHJvdGF0ZSAoZmxvYXQgYW5nbGUsIGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHopOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIHZvaWQgcm90YXRlX2V1bGVyIChHcmFw aGVuZS5FdWxlciBldWxlcik7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVi bGljIHZvaWQgc2NhbGUgKGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHopOwotKwkJW1ZlcnNpb24g KHNpbmNlID0gIjEuMTgiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9kZXB0aF93cml0ZV9lbmFibGVk IChib29sIGRlcHRoX3dyaXRlX2VuYWJsZWQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuOCIp XQotKwkJcHVibGljIHZvaWQgc2V0X2RpdGhlcl9lbmFibGVkIChib29sIGRpdGhlcl9lbmFibGVk KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfbW9k ZWx2aWV3X21hdHJpeCAoR3JhcGhlbmUuTWF0cml4IG1hdHJpeCk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3Byb2plY3Rpb25fbWF0cml4IChHcmFw aGVuZS5NYXRyaXggbWF0cml4KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJCXB1 YmxpYyB2b2lkIHNldF9zYW1wbGVzX3Blcl9waXhlbCAoaW50IHNhbXBsZXNfcGVyX3BpeGVsKTsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjIwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfc3RlcmVv X21vZGUgKENvZ2wuU3RlcmVvTW9kZSBzdGVyZW9fbW9kZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS44IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfdmlld3BvcnQgKGZsb2F0IHgsIGZsb2F0IHks IGZsb2F0IHdpZHRoLCBmbG9hdCBoZWlnaHQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAi KV0KLSsJCXB1YmxpYyB2b2lkIHRyYW5zZm9ybSAoR3JhcGhlbmUuTWF0cml4IG1hdHJpeCk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgdHJhbnNsYXRlIChm bG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB6KTsKLSsJCVtOb0FjY2Vzc29yTWV0aG9kXQotKwkJcHVi bGljIHZvaWQqIGRyaXZlcl9jb25maWcgeyBnZXQ7IGNvbnN0cnVjdDsgfQotKwkJW05vQWNjZXNz b3JNZXRob2RdCi0rCQlwdWJsaWMgaW50IGhlaWdodCB7IGdldDsgc2V0IGNvbnN0cnVjdDsgfQot KwkJW05vQWNjZXNzb3JNZXRob2RdCi0rCQlwdWJsaWMgaW50IHdpZHRoIHsgZ2V0OyBzZXQgY29u c3RydWN0OyB9Ci0rCQlwdWJsaWMgc2lnbmFsIHZvaWQgZGVzdHJveSAoKTsKLSsJfQotKwlbQ0Nv ZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNl KV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBGcmFtZWJ1ZmZlckRyaXZlckNvbmZpZyB7 Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgcmVmX2Z1 bmN0aW9uID0gImNvZ2xfaGFuZGxlX3JlZiIsIHVucmVmX2Z1bmN0aW9uID0gImNvZ2xfaGFuZGxl X3VucmVmIildCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgSGFuZGxlIHsKLSsJCVtDQ29k ZSAoY25hbWUgPSAiY29nbF9pc19iaXRtYXAiKV0KLSsJCXB1YmxpYyBib29sIGlzX2JpdG1hcCAo KTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9pc19idWZmZXIiKV0KLSsJCXB1YmxpYyBib29s IGlzX2J1ZmZlciAoKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9pc19tYXRlcmlhbCIpXQot KwkJcHVibGljIGJvb2wgaXNfbWF0ZXJpYWwgKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xf aXNfb2Zmc2NyZWVuIildCi0rCQlwdWJsaWMgYm9vbCBpc19vZmZzY3JlZW4gKCk7Ci0rCQlbQ0Nv ZGUgKGNuYW1lID0gImNvZ2xfaXNfcGl4ZWxfYnVmZmVyIildCi0rCQlwdWJsaWMgYm9vbCBpc19w aXhlbF9idWZmZXIgKCk7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfaXNfcHJvZ3JhbSIpXQot KwkJcHVibGljIGJvb2wgaXNfcHJvZ3JhbSAoKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9p c19zaGFkZXIiKV0KLSsJCXB1YmxpYyBib29sIGlzX3NoYWRlciAoKTsKLSsJCVtDQ29kZSAoY25h bWUgPSAiY29nbF9pc190ZXh0dXJlIildCi0rCQlwdWJsaWMgYm9vbCBpc190ZXh0dXJlICgpOwot KwkJW0NDb2RlIChjbmFtZSA9ICJjb2dsX2lzX3ZlcnRleF9idWZmZXIiKV0KLSsJCXB1YmxpYyBi b29sIGlzX3ZlcnRleF9idWZmZXIgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNvZ2wvY29nbC5oIiwgY29weV9mdW5jdGlvbiA9ICJnX2JveGVkX2NvcHkiLCBmcmVlX2Z1 bmN0aW9uID0gImdfYm94ZWRfZnJlZSIsIHR5cGVfaWQgPSAiY29nbF9tYXRlcmlhbF9nZXRfdHlw ZSAoKSIpXQotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNzIE1hdGVyaWFsIHsKLSsJCVtDQ29k ZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCVtWZXJzaW9uIChkZXByZWNh dGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2IildCi0rCQlwdWJsaWMgTWF0ZXJp YWwgKCk7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2Ug PSAiMS4xNiIsIHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2FscGhhX3Rlc3Rf ZnVuY3Rpb24gKENvZ2wuTWF0ZXJpYWxBbHBoYUZ1bmMgYWxwaGFfZnVuYywgZmxvYXQgYWxwaGFf cmVmZXJlbmNlKTsKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9z aW5jZSA9ICIxLjE2Iiwgc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgYm9vbCBzZXRfYmxlbmQg KHN0cmluZyBibGVuZF9zdHJpbmcpIHRocm93cyBHTGliLkVycm9yOwotKwkJW1ZlcnNpb24gKGRl cHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiLCBzaW5jZSA9ICIxLjAi KV0KLSsJCXB1YmxpYyB2b2lkIHNldF9ibGVuZF9jb25zdGFudCAoQ29nbC5Db2xvciBjb25zdGFu dF9jb2xvcik7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2lu Y2UgPSAiMS4xNiIsIHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2NvbG9yIChD b2dsLkNvbG9yIGNvbG9yKTsKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVj YXRlZF9zaW5jZSA9ICIxLjE2Iiwgc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgdm9pZCBzZXRf Y29sb3I0dWIgKHVpbnQ4IHJlZCwgdWludDggZ3JlZW4sIHVpbnQ4IGJsdWUsIHVpbnQ4IGFscGhh KTsKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIx LjE2Iiwgc2luY2UgPSAiMS4wIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfbGF5ZXIgKGludCBsYXll cl9pbmRleCwgQ29nbC5IYW5kbGUgdGV4dHVyZSk7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9 IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNlID0gIjEuMCIpXQotKwkJcHVi bGljIGJvb2wgc2V0X2xheWVyX2NvbWJpbmUgKGludCBsYXllcl9pbmRleCwgc3RyaW5nIGJsZW5k X3N0cmluZykgdGhyb3dzIEdMaWIuRXJyb3I7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRy dWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNlID0gIjEuMCIpXQotKwkJcHVibGlj IHZvaWQgc2V0X2xheWVyX2NvbWJpbmVfY29uc3RhbnQgKGludCBsYXllcl9pbmRleCwgQ29nbC5D b2xvciBjb25zdGFudCk7Ci0rCQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0 ZWRfc2luY2UgPSAiMS4xNiIpXQotKwkJcHVibGljIHZvaWQgc2V0X2xheWVyX2ZpbHRlcnMgKGlu dCBsYXllcl9pbmRleCwgQ29nbC5NYXRlcmlhbEZpbHRlciBtaW5fZmlsdGVyLCBDb2dsLk1hdGVy aWFsRmlsdGVyIG1hZ19maWx0ZXIpOwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBk ZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9sYXllcl9tYXRy aXggKGludCBsYXllcl9pbmRleCwgR3JhcGhlbmUuTWF0cml4IG1hdHJpeCk7Ci0rCQlbVmVyc2lv biAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIsIHNpbmNlID0g IjEuNCIpXQotKwkJcHVibGljIGJvb2wgc2V0X2xheWVyX3BvaW50X3Nwcml0ZV9jb29yZHNfZW5h YmxlZCAoaW50IGxheWVyX2luZGV4LCBib29sIGVuYWJsZSkgdGhyb3dzIEdMaWIuRXJyb3I7Ci0r CQlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIs IHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3BvaW50X3NpemUgKGZsb2F0IHBv aW50X3NpemUpOwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3Np bmNlID0gIjEuMTYiLCBzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF91c2VyX3By b2dyYW0gKENvZ2wuSGFuZGxlIHByb2dyYW0pOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxl bmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbQ29tcGFjdF0K LSsJcHVibGljIGNsYXNzIE1hdGVyaWFsTGF5ZXIgewotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIHR5cGVfaWQgPSAiY29nbF9vYmplY3RfZ2V0X2d0eXBl ICgpIildCi0rCXB1YmxpYyBhYnN0cmFjdCBjbGFzcyBPYmplY3QgewotKwkJW0NDb2RlIChoYXNf Y29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJcHJvdGVjdGVkIE9iamVjdCAoKTsKLSsJ fQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCB0eXBlX2lkID0g ImNvZ2xfb2Zmc2NyZWVuX2dldF90eXBlICgpIildCi0rCXB1YmxpYyBjbGFzcyBPZmZzY3JlZW4g OiBDb2dsLkZyYW1lYnVmZmVyIHsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9 IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBPZmZzY3JlZW4gKCk7Ci0rCQlbQ0NvZGUgKGhhc19jb25z dHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwdWJsaWMgT2Zmc2NyZWVuLndpdGhfdGV4dHVy ZSAoQ29nbC5UZXh0dXJlIHRleHR1cmUpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjb2dsL2NvZ2wuaCIsIHR5cGVfaWQgPSAiY29nbF9vbnNjcmVlbl9nZXRfdHlwZSAoKSIp XQotKwlwdWJsaWMgY2xhc3MgT25zY3JlZW4gOiBDb2dsLkZyYW1lYnVmZmVyIHsKLSsJCVtDQ29k ZSAoaGFzX2NvbnN0cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCXByb3RlY3RlZCBPbnNjcmVl biAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE2IildCi0rCQlwdWJsaWMgQ29nbC5PbnNj cmVlbkRpcnR5Q2xvc3VyZSBhZGRfZGlydHlfY2FsbGJhY2sgKFtDQ29kZSAoZGVsZWdhdGVfdGFy Z2V0X3BvcyA9IDEuNSldIENvZ2wuT25zY3JlZW5EaXJ0eUNhbGxiYWNrIGNhbGxiYWNrLCBDb2ds LlVzZXJEYXRhRGVzdHJveUNhbGxiYWNrPyBkZXN0cm95KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjE0IildCi0rCQlwdWJsaWMgQ29nbC5GcmFtZUNsb3N1cmUgYWRkX2ZyYW1lX2NhbGxiYWNr IChbQ0NvZGUgKGRlbGVnYXRlX3RhcmdldF9wb3MgPSAxLjUpXSBDb2dsLkZyYW1lQ2FsbGJhY2sg Y2FsbGJhY2ssIENvZ2wuVXNlckRhdGFEZXN0cm95Q2FsbGJhY2s/IGRlc3Ryb3kpOwotKwkJW05v V3JhcHBlcl0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgYmluZCAoKTsKLSsJCVtWZXJzaW9uIChz aW5jZSA9ICIxLjE0IildCi0rCQlwdWJsaWMgdmlydHVhbCBpbnQgZ2V0X2J1ZmZlcl9hZ2UgKCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotKwkJcHVibGljIGludDY0IGdldF9mcmFt ZV9jb3VudGVyICgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIHZv aWQgaGlkZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE2IildCi0rCQlwdWJsaWMgdm9p ZCByZW1vdmVfZGlydHlfY2FsbGJhY2sgKENvZ2wuT25zY3JlZW5EaXJ0eUNsb3N1cmUgY2xvc3Vy ZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotKwkJcHVibGljIHZvaWQgcmVtb3Zl X2ZyYW1lX2NhbGxiYWNrIChDb2dsLkZyYW1lQ2xvc3VyZSBjbG9zdXJlKTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHNob3cgKCk7Ci0rCQlbVmVyc2lvbiAo c2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc3dhcF9idWZmZXJzIChDb2dsLkZyYW1l SW5mbyBmcmFtZV9pbmZvLCB2b2lkKiB1c2VyX2RhdGEpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuMTYiKV0KLSsJCXB1YmxpYyB2aXJ0dWFsIHZvaWQgc3dhcF9idWZmZXJzX3dpdGhfZGFtYWdl IChpbnQgcmVjdGFuZ2xlcywgaW50IG5fcmVjdGFuZ2xlcywgQ29nbC5GcmFtZUluZm8gaW5mbyk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZpcnR1YWwgdm9pZCBz d2FwX3JlZ2lvbiAoaW50IHJlY3RhbmdsZXMsIGludCBuX3JlY3RhbmdsZXMsIENvZ2wuRnJhbWVJ bmZvIGluZm8pOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wu aCIsIGNvcHlfZnVuY3Rpb24gPSAiZ19ib3hlZF9jb3B5IiwgZnJlZV9mdW5jdGlvbiA9ICJnX2Jv eGVkX2ZyZWUiLCB0eXBlX2lkID0gImNvZ2xfb25zY3JlZW5fZGlydHlfY2xvc3VyZV9nZXRfZ3R5 cGUgKCkiKV0KLSsJW0NvbXBhY3RdCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE2IildCi0rCXB1 YmxpYyBjbGFzcyBPbnNjcmVlbkRpcnR5Q2xvc3VyZSB7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY29weV9mdW5jdGlvbiA9ICJjb2dsX3BhdGhfY29w eSIpXQotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNzIFBhdGggewotKwkJcHVibGljIHN0YXRp YyB2b2lkIEBuZXcgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wv Y29nbC5oIiwgdHlwZV9pZCA9ICJjb2dsX3BpcGVsaW5lX2dldF9ndHlwZSAoKSIpXQotKwlwdWJs aWMgY2xhc3MgUGlwZWxpbmUgOiBDb2dsLk9iamVjdCB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1 Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlw dWJsaWMgUGlwZWxpbmUgKENvZ2wuQ29udGV4dCBjb250ZXh0KTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyBDb2dsLlBpcGVsaW5lIGNvcHkgKCk7Ci0rCQlbVmVyc2lv biAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgdm9pZCBmb3JlYWNoX2xheWVyIChDb2dsLlBp cGVsaW5lTGF5ZXJDYWxsYmFjayBjYWxsYmFjayk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4w IildCi0rCQlwdWJsaWMgQ29nbC5QaXBlbGluZUFscGhhRnVuYyBnZXRfYWxwaGFfdGVzdF9mdW5j dGlvbiAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyBmbG9hdCBn ZXRfYWxwaGFfdGVzdF9yZWZlcmVuY2UgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIild Ci0rCQlwdWJsaWMgQ29nbC5Db2xvciBnZXRfY29sb3IgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMi4wIildCi0rCQlwdWJsaWMgQ29nbC5QaXBlbGluZUN1bGxGYWNlTW9kZSBnZXRfY3VsbF9m YWNlX21vZGUgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgQ29n bC5XaW5kaW5nIGdldF9mcm9udF9mYWNlX3dpbmRpbmcgKCk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS4xMCIpXQotKwkJcHVibGljIENvZ2wuUGlwZWxpbmVGaWx0ZXIgZ2V0X2xheWVyX21hZ19m aWx0ZXIgKGludCBsYXllcl9pbmRleCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQot KwkJcHVibGljIENvZ2wuUGlwZWxpbmVGaWx0ZXIgZ2V0X2xheWVyX21pbl9maWx0ZXIgKGludCBs YXllcl9pbmRleCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgYm9v bCBnZXRfbGF5ZXJfcG9pbnRfc3ByaXRlX2Nvb3Jkc19lbmFibGVkIChpbnQgbGF5ZXJfaW5kZXgp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENvZ2wu VGV4dHVyZSBnZXRfbGF5ZXJfdGV4dHVyZSAoaW50IGxheWVyX2luZGV4KTsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIxLjYiKV0KLSsJCXB1YmxpYyBDb2dsLlBpcGVsaW5lV3JhcE1vZGUgZ2V0X2xh eWVyX3dyYXBfbW9kZV9zIChpbnQgbGF5ZXJfaW5kZXgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjEuNiIpXQotKwkJcHVibGljIENvZ2wuUGlwZWxpbmVXcmFwTW9kZSBnZXRfbGF5ZXJfd3JhcF9t b2RlX3QgKGludCBsYXllcl9pbmRleCk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0r CQlwdWJsaWMgaW50IGdldF9uX2xheWVycyAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAi KV0KLSsJCXB1YmxpYyBib29sIGdldF9wZXJfdmVydGV4X3BvaW50X3NpemUgKCk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgZmxvYXQgZ2V0X3BvaW50X3NpemUgKCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgaW50IGdldF91bmlmb3Jt X2xvY2F0aW9uIChzdHJpbmcgdW5pZm9ybV9uYW1lKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIy LjAiKV0KLSsJCXB1YmxpYyB1bm93bmVkIENvZ2wuSGFuZGxlIGdldF91c2VyX3Byb2dyYW0gKCk7 Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgcmVtb3ZlX2xh eWVyIChpbnQgbGF5ZXJfaW5kZXgpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJ cHVibGljIHZvaWQgc2V0X2FscGhhX3Rlc3RfZnVuY3Rpb24gKENvZ2wuUGlwZWxpbmVBbHBoYUZ1 bmMgYWxwaGFfZnVuYywgZmxvYXQgYWxwaGFfcmVmZXJlbmNlKTsKLSsJCVtWZXJzaW9uIChzaW5j ZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyBib29sIHNldF9ibGVuZCAoc3RyaW5nIGJsZW5kX3N0cmlu ZykgdGhyb3dzIEdMaWIuRXJyb3I7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlw dWJsaWMgdm9pZCBzZXRfYmxlbmRfY29uc3RhbnQgKENvZ2wuQ29sb3IgY29uc3RhbnRfY29sb3Ip OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2NvbG9y IChDb2dsLkNvbG9yIGNvbG9yKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1 YmxpYyB2b2lkIHNldF9jb2xvcjRmIChmbG9hdCByZWQsIGZsb2F0IGdyZWVuLCBmbG9hdCBibHVl LCBmbG9hdCBhbHBoYSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMg dm9pZCBzZXRfY29sb3I0dWIgKHVpbnQ4IHJlZCwgdWludDggZ3JlZW4sIHVpbnQ4IGJsdWUsIHVp bnQ4IGFscGhhKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lk IHNldF9jdWxsX2ZhY2VfbW9kZSAoQ29nbC5QaXBlbGluZUN1bGxGYWNlTW9kZSBjdWxsX2ZhY2Vf bW9kZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgdm9pZCBzZXRf ZnJvbnRfZmFjZV93aW5kaW5nIChDb2dsLldpbmRpbmcgZnJvbnRfd2luZGluZyk7Ci0rCQlbVmVy c2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgYm9vbCBzZXRfbGF5ZXJfY29tYmluZSAo aW50IGxheWVyX2luZGV4LCBzdHJpbmcgYmxlbmRfc3RyaW5nKSB0aHJvd3MgR0xpYi5FcnJvcjsK LSsJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9sYXllcl9j b21iaW5lX2NvbnN0YW50IChpbnQgbGF5ZXJfaW5kZXgsIENvZ2wuQ29sb3IgY29uc3RhbnQpOwot KwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9sYXllcl9m aWx0ZXJzIChpbnQgbGF5ZXJfaW5kZXgsIENvZ2wuUGlwZWxpbmVGaWx0ZXIgbWluX2ZpbHRlciwg Q29nbC5QaXBlbGluZUZpbHRlciBtYWdfZmlsdGVyKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIx LjEwIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfbGF5ZXJfbWF0cml4IChpbnQgbGF5ZXJfaW5kZXgs IEdyYXBoZW5lLk1hdHJpeCBtYXRyaXgpOwotKwkJcHVibGljIHZvaWQgc2V0X2xheWVyX21heF9t aXBtYXBfbGV2ZWwgKGludCBsYXllciwgaW50IG1heF9sZXZlbCk7Ci0rCQlbVmVyc2lvbiAoc2lu Y2UgPSAiMS4xMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2xheWVyX251bGxfdGV4dHVyZSAoaW50 IGxheWVyX2luZGV4KTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyBi b29sIHNldF9sYXllcl9wb2ludF9zcHJpdGVfY29vcmRzX2VuYWJsZWQgKGludCBsYXllcl9pbmRl eCwgYm9vbCBlbmFibGUpIHRocm93cyBHTGliLkVycm9yOwotKwkJcHVibGljIHZvaWQgc2V0X2xh eWVyX3RleHR1cmUgKGludCBsYXllcl9pbmRleCwgQ29nbC5UZXh0dXJlIHRleHR1cmUpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2xheWVyX3dyYXBf bW9kZSAoaW50IGxheWVyX2luZGV4LCBDb2dsLlBpcGVsaW5lV3JhcE1vZGUgbW9kZSk7Ci0rCQlb VmVyc2lvbiAoc2luY2UgPSAiMi4wIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfbGF5ZXJfd3JhcF9t b2RlX3MgKGludCBsYXllcl9pbmRleCwgQ29nbC5QaXBlbGluZVdyYXBNb2RlIG1vZGUpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2xheWVyX3dyYXBf bW9kZV90IChpbnQgbGF5ZXJfaW5kZXgsIENvZ2wuUGlwZWxpbmVXcmFwTW9kZSBtb2RlKTsKLSsJ CVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyBib29sIHNldF9wZXJfdmVydGV4 X3BvaW50X3NpemUgKGJvb2wgZW5hYmxlKSB0aHJvd3MgR0xpYi5FcnJvcjsKLSsJCVtWZXJzaW9u IChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9wb2ludF9zaXplIChmbG9hdCBw b2ludF9zaXplKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lk IHNldF91bmlmb3JtXzFmIChpbnQgdW5pZm9ybV9sb2NhdGlvbiwgZmxvYXQgdmFsdWUpOwotKwkJ W1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3VuaWZvcm1fMWkg KGludCB1bmlmb3JtX2xvY2F0aW9uLCBpbnQgdmFsdWUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0g IjIuMCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3VuaWZvcm1fZmxvYXQgKGludCB1bmlmb3JtX2xv Y2F0aW9uLCBpbnQgbl9jb21wb25lbnRzLCBpbnQgY291bnQsIGZsb2F0IHZhbHVlKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF91bmlmb3JtX2ludCAo aW50IHVuaWZvcm1fbG9jYXRpb24sIGludCBuX2NvbXBvbmVudHMsIGludCBjb3VudCwgaW50IHZh bHVlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF91 bmlmb3JtX21hdHJpeCAoaW50IHVuaWZvcm1fbG9jYXRpb24sIGludCBkaW1lbnNpb25zLCBpbnQg Y291bnQsIGJvb2wgdHJhbnNwb3NlLCBmbG9hdCB2YWx1ZSk7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMi4wIildCi0rCQlwdWJsaWMgdm9pZCBzZXRfdXNlcl9wcm9ncmFtIChDb2dsLkhhbmRsZSBw cm9ncmFtKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgi LCB0eXBlX2lkID0gIkdfVFlQRV9TVFJJTkciKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFz cyBQaXBlbGluZUtleSA6IHN0cmluZyB7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1l ID0gImNvZ2wvY29nbC5oIildCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgUGl4ZWxCdWZm ZXIgOiBDb2dsLkhhbmRsZSB7Ci0rCQlwdWJsaWMgUGl4ZWxCdWZmZXIgKHVpbnQgc2l6ZSk7Ci0r CQlwdWJsaWMgUGl4ZWxCdWZmZXIuZm9yX3NpemUgKHVpbnQgd2lkdGgsIHVpbnQgaGVpZ2h0LCBD b2dsLlBpeGVsRm9ybWF0IGZvcm1hdCwgdWludCBzdHJpZGUpOwotKwl9Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNuYW1lID0gIkNvZ2xIYW5kbGUiLCByZWZf ZnVuY3Rpb24gPSAiY29nbF9wcm9ncmFtX3JlZiIsIHVucmVmX2Z1bmN0aW9uID0gImNvZ2xfcHJv Z3JhbV91bnJlZiIpXQotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNzIFByb2dyYW0gOiBDb2ds LkhhbmRsZSB7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gImNvZ2xfY3JlYXRlX3Byb2dyYW0iLCBoYXNf Y29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UsIHR5cGUgPSAiQ29nbEhhbmRsZSoiKV0KLSsJCXB1 YmxpYyBQcm9ncmFtICgpOwotKwkJcHVibGljIHZvaWQgYXR0YWNoX3NoYWRlciAoQ29nbC5TaGFk ZXIgc2hhZGVyX2hhbmRsZSk7Ci0rCQlwdWJsaWMgaW50IGdldF91bmlmb3JtX2xvY2F0aW9uIChz dHJpbmcgdW5pZm9ybV9uYW1lKTsKLSsJCXB1YmxpYyB2b2lkIGxpbmsgKCk7Ci0rCQlwdWJsaWMg c3RhdGljIHZvaWQgdW5pZm9ybV8xZiAoaW50IHVuaWZvcm1fbm8sIGZsb2F0IHZhbHVlKTsKLSsJ CXB1YmxpYyBzdGF0aWMgdm9pZCB1bmlmb3JtXzFpIChpbnQgdW5pZm9ybV9ubywgaW50IHZhbHVl KTsKLSsJCXB1YmxpYyBzdGF0aWMgdm9pZCB1bmlmb3JtX2Zsb2F0IChpbnQgdW5pZm9ybV9ubywg aW50IHNpemUsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoX3BvcyA9IDIuOSldIGZsb2F0W10gdmFsdWUp OwotKwkJcHVibGljIHN0YXRpYyB2b2lkIHVuaWZvcm1faW50IChpbnQgdW5pZm9ybV9ubywgaW50 IHNpemUsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoX3BvcyA9IDIuOSldIGludFtdIHZhbHVlKTsKLSsJ CXB1YmxpYyBzdGF0aWMgdm9pZCB1bmlmb3JtX21hdHJpeCAoaW50IHVuaWZvcm1fbm8sIGludCBz aXplLCBib29sIHRyYW5zcG9zZSwgW0NDb2RlIChhcnJheV9sZW5ndGhfcG9zID0gMi45KV0gZmxv YXRbXSB2YWx1ZSk7Ci0rCQlwdWJsaWMgdm9pZCB1c2UgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtD b21wYWN0XQotKwlwdWJsaWMgY2xhc3MgU2Nhbm91dCB7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY25hbWUgPSAiQ29nbEhhbmRsZSIsIHJlZl9mdW5j dGlvbiA9ICJjb2dsX3NoYWRlcl9yZWYiLCB1bnJlZl9mdW5jdGlvbiA9ICJjb2dsX3NoYWRlcl91 bnJlZiIpXQotKwlbQ29tcGFjdF0KLSsJcHVibGljIGNsYXNzIFNoYWRlciA6IENvZ2wuSGFuZGxl IHsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9jcmVhdGVfc2hhZGVyIiwgaGFzX2NvbnN0cnVj dF9mdW5jdGlvbiA9IGZhbHNlLCB0eXBlID0gIkNvZ2xIYW5kbGUqIildCi0rCQlwdWJsaWMgU2hh ZGVyIChDb2dsLlNoYWRlclR5cGUgc2hhZGVyX3R5cGUpOwotKwkJcHVibGljIHZvaWQgY29tcGls ZSAoKTsKLSsJCXB1YmxpYyBzdHJpbmcgZ2V0X2luZm9fbG9nICgpOwotKwkJcHVibGljIENvZ2wu U2hhZGVyVHlwZSBnZXRfdHlwZSAoKTsKLSsJCXB1YmxpYyBib29sIGlzX2NvbXBpbGVkICgpOwot KwkJcHVibGljIHZvaWQgc291cmNlIChzdHJpbmcgc291cmNlKTsKLSsJfQotKwlbQ0NvZGUgKGNo ZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBsb3dlcl9jYXNlX2NzdWZmaXggPSAidGV4 dHVyZV8yZCIsIHR5cGVfaWQgPSAiY29nbF90ZXh0dXJlXzJkX2dldF9ndHlwZSAoKSIpXQotKwlw dWJsaWMgY2xhc3MgVGV4dHVyZTJEIDogQ29nbC5PYmplY3QsIENvZ2wuVGV4dHVyZSB7Ci0rCQlb Q0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgVGV4 dHVyZTJEICgpOwotKwkJcHVibGljIHZvaWQgZWdsX2ltYWdlX2V4dGVybmFsX2FsbG9jX2Zpbmlz aCAodm9pZCogdXNlcl9kYXRhLCBHTGliLkRlc3Ryb3lOb3RpZnkgZGVzdHJveSk7Ci0rCQlwdWJs aWMgdm9pZCBlZ2xfaW1hZ2VfZXh0ZXJuYWxfYmluZCAoKTsKLSsJCVtDQ29kZSAoaGFzX2NvbnN0 cnVjdF9mdW5jdGlvbiA9IGZhbHNlKV0KLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJ CXB1YmxpYyBUZXh0dXJlMkQuZnJvbV9iaXRtYXAgKENvZ2wuQml0bWFwIGJpdG1hcCk7Ci0rCX0K LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgbG93ZXJfY2FzZV9j c3VmZml4ID0gInRleHR1cmVfMmRfc2xpY2VkIiwgdHlwZV9pZCA9ICJjb2dsX3RleHR1cmVfMmRf c2xpY2VkX2dldF9ndHlwZSAoKSIpXQotKwlwdWJsaWMgY2xhc3MgVGV4dHVyZTJEU2xpY2VkIDog Q29nbC5PYmplY3QsIENvZ2wuVGV4dHVyZSB7Ci0rCQlbQ0NvZGUgKGhhc19jb25zdHJ1Y3RfZnVu Y3Rpb24gPSBmYWxzZSldCi0rCQlwcm90ZWN0ZWQgVGV4dHVyZTJEU2xpY2VkICgpOwotKwkJW0ND b2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFsc2UpXQotKwkJW1ZlcnNpb24gKHNpbmNl ID0gIjEuMTYiKV0KLSsJCXB1YmxpYyBUZXh0dXJlMkRTbGljZWQuZnJvbV9iaXRtYXAgKENvZ2wu Qml0bWFwIGJtcCwgaW50IG1heF93YXN0ZSk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNvZ2wvY29nbC5oIiwgY25hbWUgPSAiQ29nbEhhbmRsZSIsIHJlZl9mdW5jdGlvbiA9 ICJjb2dsX3ZlcnRleF9idWZmZXJfcmVmIiwgdW5yZWZfZnVuY3Rpb24gPSAiY29nbF92ZXJ0ZXhf YnVmZmVyX3VucmVmIildCi0rCVtDb21wYWN0XQotKwlwdWJsaWMgY2xhc3MgVmVydGV4QnVmZmVy IDogQ29nbC5IYW5kbGUgewotKwkJW0NDb2RlIChoYXNfY29uc3RydWN0X2Z1bmN0aW9uID0gZmFs c2UsIHR5cGUgPSAiQ29nbEhhbmRsZSoiKV0KLSsJCXB1YmxpYyBWZXJ0ZXhCdWZmZXIgKHVpbnQg bl92ZXJ0aWNlcyk7Ci0rCQlwdWJsaWMgdm9pZCBhZGQgKHN0cmluZyBhdHRyaWJ1dGVfbmFtZSwg dWNoYXIgbl9jb21wb25lbnRzLCBDb2dsLkF0dHJpYnV0ZVR5cGUgdHlwZSwgYm9vbCBub3JtYWxp emVkLCB1aW50MTYgc3RyaWRlLCB2b2lkKiBwb2ludGVyKTsKLSsJCXB1YmxpYyB2b2lkIEBkZWxl dGUgKHN0cmluZyBhdHRyaWJ1dGVfbmFtZSk7Ci0rCQlwdWJsaWMgdm9pZCBkaXNhYmxlIChzdHJp bmcgYXR0cmlidXRlX25hbWUpOwotKwkJcHVibGljIHZvaWQgZHJhdyAoQ29nbC5WZXJ0aWNlc01v ZGUgbW9kZSwgaW50IGZpcnN0LCBpbnQgY291bnQpOwotKwkJcHVibGljIHZvaWQgZHJhd19lbGVt ZW50cyAoQ29nbC5WZXJ0aWNlc01vZGUgbW9kZSwgQ29nbC5WZXJ0ZXhCdWZmZXJJbmRpY2VzIGlu ZGljZXMsIGludCBtaW5faW5kZXgsIGludCBtYXhfaW5kZXgsIGludCBpbmRpY2VzX29mZnNldCwg aW50IGNvdW50KTsKLSsJCXB1YmxpYyB2b2lkIGVuYWJsZSAoc3RyaW5nIGF0dHJpYnV0ZV9uYW1l KTsKLSsJCXB1YmxpYyB1aW50IGdldF9uX3ZlcnRpY2VzICgpOwotKwkJcHVibGljIHZvaWQgc3Vi bWl0ICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIs IGNuYW1lID0gIkNvZ2xIYW5kbGUiKV0KLSsJW0NvbXBhY3RdCi0rCXB1YmxpYyBjbGFzcyBWZXJ0 ZXhCdWZmZXJJbmRpY2VzIDogQ29nbC5IYW5kbGUgewotKwkJcHVibGljIFZlcnRleEJ1ZmZlcklu ZGljZXMgKENvZ2wuSW5kaWNlc1R5cGUgaW5kaWNlc190eXBlLCB2b2lkKiBpbmRpY2VzX2FycmF5 LCBpbnQgaW5kaWNlc19sZW4pOwotKwkJcHVibGljIHN0YXRpYyB1bm93bmVkIENvZ2wuVmVydGV4 QnVmZmVySW5kaWNlcyBnZXRfZm9yX3F1YWRzICh1aW50IG5faW5kaWNlcyk7Ci0rCQlwdWJsaWMg Q29nbC5JbmRpY2VzVHlwZSBnZXRfdHlwZSAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY29nbC9jb2dsLmgiLCB0eXBlX2lkID0gImNvZ2xfdGV4dHVyZV9nZXRfZ3R5cGUg KCkiKV0KLSsJcHVibGljIGludGVyZmFjZSBUZXh0dXJlIDogQ29nbC5PYmplY3QgewotKwkJcHVi bGljIGJvb2wgYWxsb2NhdGUgKCkgdGhyb3dzIEdMaWIuRXJyb3I7Ci0rCQlwdWJsaWMgc3RhdGlj IHVpbnQzMiBlcnJvcl9xdWFyayAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE4IildCi0r CQlwdWJsaWMgQ29nbC5UZXh0dXJlQ29tcG9uZW50cyBnZXRfY29tcG9uZW50cyAoKTsKLSsJCXB1 YmxpYyBpbnQgZ2V0X2RhdGEgKENvZ2wuUGl4ZWxGb3JtYXQgZm9ybWF0LCB1aW50IHJvd3N0cmlk ZSwgW0NDb2RlIChhcnJheV9sZW5ndGggPSBmYWxzZSldIHVpbnQ4W10/IGRhdGEpOwotKwkJcHVi bGljIGJvb2wgZ2V0X2dsX3RleHR1cmUgKG91dCB1aW50IG91dF9nbF9oYW5kbGUsIG91dCB1aW50 IG91dF9nbF90YXJnZXQpOwotKwkJcHVibGljIHVpbnQgZ2V0X2hlaWdodCAoKTsKLSsJCXB1Ymxp YyBpbnQgZ2V0X21heF93YXN0ZSAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE4IildCi0r CQlwdWJsaWMgYm9vbCBnZXRfcHJlbXVsdGlwbGllZCAoKTsKLSsJCXB1YmxpYyB1aW50IGdldF93 aWR0aCAoKTsKLSsJCXB1YmxpYyBib29sIGlzX3NsaWNlZCAoKTsKLSsJCVtWZXJzaW9uIChkZXBy ZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE4Iiwgc2luY2UgPSAiMS4wIild Ci0rCQlwdWJsaWMgc3RhdGljIENvZ2wuVGV4dHVyZSBuZXdfZnJvbV9iaXRtYXAgKENvZ2wuQml0 bWFwIGJpdG1hcCwgQ29nbC5UZXh0dXJlRmxhZ3MgZmxhZ3MsIENvZ2wuUGl4ZWxGb3JtYXQgaW50 ZXJuYWxfZm9ybWF0KTsKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRl ZF9zaW5jZSA9ICIxLjE4Iiwgc2luY2UgPSAiMC44IildCi0rCQlwdWJsaWMgc3RhdGljIENvZ2wu VGV4dHVyZSBuZXdfZnJvbV9kYXRhIChpbnQgd2lkdGgsIGludCBoZWlnaHQsIENvZ2wuVGV4dHVy ZUZsYWdzIGZsYWdzLCBDb2dsLlBpeGVsRm9ybWF0IGZvcm1hdCwgQ29nbC5QaXhlbEZvcm1hdCBp bnRlcm5hbF9mb3JtYXQsIGludCByb3dzdHJpZGUsIFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFs c2UpXSB1aW50OFtdIGRhdGEpOwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXBy ZWNhdGVkX3NpbmNlID0gIjEuMTgiLCBzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBzdGF0aWMg Q29nbC5UZXh0dXJlIG5ld19mcm9tX2ZpbGUgKHN0cmluZyBmaWxlbmFtZSwgQ29nbC5UZXh0dXJl RmxhZ3MgZmxhZ3MsIENvZ2wuUGl4ZWxGb3JtYXQgaW50ZXJuYWxfZm9ybWF0KSB0aHJvd3MgR0xp Yi5FcnJvcjsKLSsJCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5j ZSA9ICIxLjE4Iiwgc2luY2UgPSAiMS4yIildCi0rCQlwdWJsaWMgQ29nbC5UZXh0dXJlIG5ld19m cm9tX3N1Yl90ZXh0dXJlIChpbnQgc3ViX3gsIGludCBzdWJfeSwgaW50IHN1Yl93aWR0aCwgaW50 IHN1Yl9oZWlnaHQpOwotKwkJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVk X3NpbmNlID0gIjEuMTgiLCBzaW5jZSA9ICIwLjgiKV0KLSsJCXB1YmxpYyBzdGF0aWMgQ29nbC5U ZXh0dXJlIG5ld193aXRoX3NpemUgKHVpbnQgd2lkdGgsIHVpbnQgaGVpZ2h0LCBDb2dsLlRleHR1 cmVGbGFncyBmbGFncywgQ29nbC5QaXhlbEZvcm1hdCBpbnRlcm5hbF9mb3JtYXQpOwotKwkJW1Zl cnNpb24gKHNpbmNlID0gIjEuMTgiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9jb21wb25lbnRzIChD b2dsLlRleHR1cmVDb21wb25lbnRzIGNvbXBvbmVudHMpOwotKwkJcHVibGljIGJvb2wgc2V0X2Rh dGEgKENvZ2wuUGl4ZWxGb3JtYXQgZm9ybWF0LCBpbnQgcm93c3RyaWRlLCBbQ0NvZGUgKGFycmF5 X2xlbmd0aCA9IGZhbHNlKV0gdWludDhbXSBkYXRhLCBpbnQgbGV2ZWwpIHRocm93cyBHTGliLkVy cm9yOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTgiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9w cmVtdWx0aXBsaWVkIChib29sIHByZW11bHRpcGxpZWQpOwotKwkJcHVibGljIGJvb2wgc2V0X3Jl Z2lvbiAoaW50IHNyY194LCBpbnQgc3JjX3ksIGludCBkc3RfeCwgaW50IGRzdF95LCB1aW50IGRz dF93aWR0aCwgdWludCBkc3RfaGVpZ2h0LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIENvZ2wuUGl4 ZWxGb3JtYXQgZm9ybWF0LCB1aW50IHJvd3N0cmlkZSwgW0NDb2RlIChhcnJheV9sZW5ndGggPSBm YWxzZSldIHVpbnQ4W10gZGF0YSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCQlw dWJsaWMgYm9vbCBzZXRfcmVnaW9uX2Zyb21fYml0bWFwIChpbnQgc3JjX3gsIGludCBzcmNfeSwg aW50IGRzdF94LCBpbnQgZHN0X3ksIHVpbnQgZHN0X3dpZHRoLCB1aW50IGRzdF9oZWlnaHQsIENv Z2wuQml0bWFwIGJpdG1hcCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNv Z2wvY29nbC5oIildCi0rCVtTaW1wbGVUeXBlXQotKwlwdWJsaWMgc3RydWN0IEFuZ2xlIDogaW50 MzIgewotKwl9Ci0rCVtCb29sZWFuVHlwZV0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNvZ2wvY29nbC5oIildCi0rCVtHSVIgKG5hbWUgPSAiQm9vbCIpXQotKwlbU2ltcGxlVHlwZV0K LSsJcHVibGljIHN0cnVjdCBCb29sIDogYm9vbCB7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNvZ2wvY29nbC5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtWZXJzaW9u IChzaW5jZSA9ICIxLjAiKV0KLSsJcHVibGljIHN0cnVjdCBDb2xvciB7Ci0rCQlbQ0NvZGUgKGhh c19jb25zdHJ1Y3RfZnVuY3Rpb24gPSBmYWxzZSwgdHlwZSA9ICJDb2dsQ29sb3IqIildCi0rCQlw dWJsaWMgQ29sb3IgKCk7Ci0rCQlwdWJsaWMgQ29nbC5Db2xvcj8gY29weSAoKTsKLSsJCXB1Ymxp YyB2b2lkIGZyZWUgKCk7Ci0rCQlwdWJsaWMgQ29sb3IuZnJvbV80ZiAoZmxvYXQgcmVkLCBmbG9h dCBncmVlbiwgZmxvYXQgYmx1ZSwgZmxvYXQgYWxwaGEpOwotKwkJcHVibGljIENvbG9yLmZyb21f NHViICh1aW50OCByZWQsIHVpbnQ4IGdyZWVuLCB1aW50OCBibHVlLCB1aW50OCBhbHBoYSk7Ci0r CQlwdWJsaWMgZmxvYXQgZ2V0X2FscGhhICgpOwotKwkJcHVibGljIHVpbnQ4IGdldF9hbHBoYV9i eXRlICgpOwotKwkJcHVibGljIGZsb2F0IGdldF9hbHBoYV9mbG9hdCAoKTsKLSsJCXB1YmxpYyBm bG9hdCBnZXRfYmx1ZSAoKTsKLSsJCXB1YmxpYyB1aW50OCBnZXRfYmx1ZV9ieXRlICgpOwotKwkJ cHVibGljIGZsb2F0IGdldF9ibHVlX2Zsb2F0ICgpOwotKwkJcHVibGljIGZsb2F0IGdldF9ncmVl biAoKTsKLSsJCXB1YmxpYyB1aW50OCBnZXRfZ3JlZW5fYnl0ZSAoKTsKLSsJCXB1YmxpYyBmbG9h dCBnZXRfZ3JlZW5fZmxvYXQgKCk7Ci0rCQlwdWJsaWMgZmxvYXQgZ2V0X3JlZCAoKTsKLSsJCXB1 YmxpYyB1aW50OCBnZXRfcmVkX2J5dGUgKCk7Ci0rCQlwdWJsaWMgZmxvYXQgZ2V0X3JlZF9mbG9h dCAoKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIGluaXRf ZnJvbV80ZiAoZmxvYXQgcmVkLCBmbG9hdCBncmVlbiwgZmxvYXQgYmx1ZSwgZmxvYXQgYWxwaGEp OwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgaW5pdF9mcm9t XzRmdiAoZmxvYXQgY29sb3JfYXJyYXkpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQot KwkJcHVibGljIHZvaWQgaW5pdF9mcm9tXzR1YiAodWludDggcmVkLCB1aW50OCBncmVlbiwgdWlu dDggYmx1ZSwgdWludDggYWxwaGEpOwotKwkJcHVibGljIHZvaWQgcHJlbXVsdGlwbHkgKCk7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfYWxwaGEgKGZs b2F0IGFscGhhKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lk IHNldF9hbHBoYV9ieXRlICh1aW50OCBhbHBoYSk7Ci0rCQlbVmVyc2lvbiAoc2luY2UgPSAiMS40 IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfYWxwaGFfZmxvYXQgKGZsb2F0IGFscGhhKTsKLSsJCVtW ZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9ibHVlIChmbG9hdCBi bHVlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1YmxpYyB2b2lkIHNldF9i bHVlX2J5dGUgKHVpbnQ4IGJsdWUpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJ cHVibGljIHZvaWQgc2V0X2JsdWVfZmxvYXQgKGZsb2F0IGJsdWUpOwotKwkJW1ZlcnNpb24gKHNp bmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgc2V0X2dyZWVuIChmbG9hdCBncmVlbik7Ci0r CQlbVmVyc2lvbiAoc2luY2UgPSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfZ3JlZW5fYnl0 ZSAodWludDggZ3JlZW4pOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGlj IHZvaWQgc2V0X2dyZWVuX2Zsb2F0IChmbG9hdCBncmVlbik7Ci0rCQlbVmVyc2lvbiAoc2luY2Ug PSAiMS40IildCi0rCQlwdWJsaWMgdm9pZCBzZXRfcmVkIChmbG9hdCByZWQpOwotKwkJW1ZlcnNp b24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3JlZF9ieXRlICh1aW50OCBy ZWQpOwotKwkJW1ZlcnNpb24gKHNpbmNlID0gIjEuNCIpXQotKwkJcHVibGljIHZvaWQgc2V0X3Jl ZF9mbG9hdCAoZmxvYXQgcmVkKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE2IildCi0rCQlw dWJsaWMgdm9pZCB0b19oc2wgKG91dCBmbG9hdCBodWUsIG91dCBmbG9hdCBzYXR1cmF0aW9uLCBv dXQgZmxvYXQgbHVtaW5hbmNlKTsKLSsJCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0KLSsJCXB1 YmxpYyB2b2lkIHVucHJlbXVsdGlwbHkgKCk7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVu YW1lID0gImNvZ2wvY29nbC5oIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtWZXJzaW9uIChz aW5jZSA9ICIxLjgiKV0KLSsJcHVibGljIHN0cnVjdCBEZWJ1Z09iamVjdFR5cGVJbmZvIHsKLSsJ CXB1YmxpYyB3ZWFrIHN0cmluZyBuYW1lOwotKwkJcHVibGljIHVsb25nIGluc3RhbmNlX2NvdW50 OwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIHR5cGVf aWQgPSAiQ09HTF9UWVBFX01BVFJJWCIpXQotKwlwdWJsaWMgc3RydWN0IE1hdHJpeCB7Ci0rCQlb Q0NvZGUgKGFycmF5X2xlbmd0aCA9IGZhbHNlLCBhcnJheV9udWxsX3Rlcm1pbmF0ZWQgPSBmYWxz ZSwgY25hbWUgPSAiY29nbF9tYXRyaXhfaW5pdF9mcm9tX2FycmF5IildCi0rCQlwdWJsaWMgTWF0 cml4LmZyb21fYXJyYXkgKFtDQ29kZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXSBmbG9hdFtdIGFy cmF5KTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9tYXRyaXhfaW5pdF9pZGVudGl0eSIpXQot KwkJcHVibGljIE1hdHJpeC5pZGVudGl0eSAoKTsKLSsJCVtDQ29kZSAoY25hbWUgPSAiY29nbF9t YXRyaXhfbXVsdGlwbHkiKV0KLSsJCXB1YmxpYyBNYXRyaXgubXVsdGlwbHkgKENvZ2wuTWF0cml4 IGEsIENvZ2wuTWF0cml4IGIpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj b2dsL2NvZ2wuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAi MS4xNiIpXQotKwlwdWJsaWMgc3RydWN0IE9uc2NyZWVuRGlydHlJbmZvIHsKLSsJCXB1YmxpYyBp bnQgeDsKLSsJCXB1YmxpYyBpbnQgeTsKLSsJCXB1YmxpYyBpbnQgd2lkdGg7Ci0rCQlwdWJsaWMg aW50IGhlaWdodDsKLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2ds LmgiLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJcHVibGljIHN0cnVjdCBUZXh0dXJlVmVydGV4 IHsKLSsJCXB1YmxpYyBmbG9hdCB4OwotKwkJcHVibGljIGZsb2F0IHk7Ci0rCQlwdWJsaWMgZmxv YXQgejsKLSsJCXB1YmxpYyBmbG9hdCB0eDsKLSsJCXB1YmxpYyBmbG9hdCB0eTsKLSsJCXB1Ymxp YyBDb2dsLkNvbG9yIGNvbG9yOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJj b2dsL2NvZ2wuaCIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAi MS40IildCi0rCXB1YmxpYyBzdHJ1Y3QgVXNlckRhdGFLZXkgewotKwkJcHVibGljIGludCB1bnVz ZWQ7Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY25h bWUgPSAiX0NvZ2xDb2xvclNpemVDaGVjayIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJs aWMgc3RydWN0IF9Db2xvclNpemVDaGVjayB7Ci0rCQlbQ0NvZGUgKGFycmF5X2xlbmd0aCA9IGZh bHNlKV0KLSsJCXB1YmxpYyB3ZWFrIGNoYXJbXSBjb21waWxlX3RpbWVfYXNzZXJ0X0NvZ2xDb2xv cl9zaXplOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIs IGNuYW1lID0gIl9Db2dsVGV4dHVyZVZlcnRleFNpemVDaGVjayIsIGhhc190eXBlX2lkID0gZmFs c2UpXQotKwlwdWJsaWMgc3RydWN0IF9UZXh0dXJlVmVydGV4U2l6ZUNoZWNrIHsKLSsJCVtDQ29k ZSAoYXJyYXlfbGVuZ3RoID0gZmFsc2UpXQotKwkJcHVibGljIHdlYWsgY2hhcltdIGNvbXBpbGVf dGltZV9hc3NlcnRfQ29nbFRleHR1cmVWZXJ0ZXhfc2l6ZTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfQVRUUklCVVRFX1RZ UEVfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0K LSsJcHVibGljIGVudW0gQXR0cmlidXRlVHlwZSB7Ci0rCQlCWVRFLAotKwkJVU5TSUdORURfQllU RSwKLSsJCVNIT1JULAotKwkJVU5TSUdORURfU0hPUlQsCi0rCQlGTE9BVAotKwl9Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9CSVRN QVBfRVJST1JfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIx LjQiKV0KLSsJcHVibGljIGVudW0gQml0bWFwRXJyb3IgewotKwkJRkFJTEVELAotKwkJVU5LTk9X Tl9UWVBFLAotKwkJQ09SUlVQVF9JTUFHRQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9CTEVORF9TVFJJTkdfRVJST1JfIiwg aGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjAiKV0KLSsJcHVi bGljIGVudW0gQmxlbmRTdHJpbmdFcnJvciB7Ci0rCQlQQVJTRV9FUlJPUiwKLSsJCUFSR1VNRU5U X1BBUlNFX0VSUk9SLAotKwkJSU5WQUxJRF9FUlJPUiwKLSsJCUdQVV9VTlNVUFBPUlRFRF9FUlJP UjsKLSsJCXB1YmxpYyBzdGF0aWMgdWludDMyIHF1YXJrICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9CVUZGRVJfQklU XyIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbRmxhZ3NdCi0rCVtWZXJzaW9uIChzaW5jZSA9 ICIxLjAiKV0KLSsJcHVibGljIGVudW0gQnVmZmVyQml0IHsKLSsJCUNPTE9SLAotKwkJREVQVEgs Ci0rCQlTVEVOQ0lMCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29n bC5oIiwgY3ByZWZpeCA9ICJDT0dMXyIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbRmxhZ3Nd Ci0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjgiKV0KLSsJcHVibGljIGVudW0gQnVmZmVyVGFyZ2V0 IHsKLSsJCVdJTkRPV19CVUZGRVIsCi0rCQlPRkZTQ1JFRU5fQlVGRkVSCi0rCX0KLSsJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX0RFUFRI X1RFU1RfRlVOQ1RJT05fIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBlbnVtIERl cHRoVGVzdEZ1bmN0aW9uIHsKLSsJCU5FVkVSLAotKwkJTEVTUywKLSsJCUVRVUFMLAotKwkJTEVR VUFMLAotKwkJR1JFQVRFUiwKLSsJCU5PVEVRVUFMLAotKwkJR0VRVUFMLAotKwkJQUxXQVlTCi0r CX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9 ICJDT0dMX0VHTF9JTUFHRV9GTEFHXyIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbRmxhZ3Nd Ci0rCXB1YmxpYyBlbnVtIEVnbEltYWdlRmxhZ3MgewotKwkJTk9ORSwKLSsJCU5PX0dFVF9EQVRB Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZp eCA9ICJDT0dMX0ZFQVRVUkVfSURfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtWZXJzaW9u IChzaW5jZSA9ICIxLjEwIildCi0rCXB1YmxpYyBlbnVtIEZlYXR1cmVJRCB7Ci0rCQlbQ0NvZGUg KGNuYW1lID0gIkNPR0xfRkVBVFVSRV9JRF9VTlNJR05FRF9JTlRfSU5ESUNFUyIpXQotKwkJT0dM X0ZFQVRVUkVfSURfVU5TSUdORURfSU5UX0lORElDRVMsCi0rCQlbQ0NvZGUgKGNuYW1lID0gIkNP R0xfRkVBVFVSRV9JRF9NQVBfQlVGRkVSX0ZPUl9SRUFEIildCi0rCQlPR0xfRkVBVFVSRV9JRF9N QVBfQlVGRkVSX0ZPUl9SRUFELAotKwkJW0NDb2RlIChjbmFtZSA9ICJDT0dMX0ZFQVRVUkVfSURf TUFQX0JVRkZFUl9GT1JfV1JJVEUiKV0KLSsJCU9HTF9GRUFUVVJFX0lEX01BUF9CVUZGRVJfRk9S X1dSSVRFLAotKwkJW0NDb2RlIChjbmFtZSA9ICJDT0dMX0ZFQVRVUkVfSURfRkVOQ0UiKV0KLSsJ CU9HTF9GRUFUVVJFX0lEX0ZFTkNFLAotKwkJW0NDb2RlIChjbmFtZSA9ICJDT0dMX0ZFQVRVUkVf SURfVEVYVFVSRV9SRyIpXQotKwkJT0dMX0ZFQVRVUkVfSURfVEVYVFVSRV9SRywKLSsJCVtDQ29k ZSAoY25hbWUgPSAiQ09HTF9GRUFUVVJFX0lEX0JVRkZFUl9BR0UiKV0KLSsJCU9HTF9GRUFUVVJF X0lEX0JVRkZFUl9BR0UsCi0rCQlbQ0NvZGUgKGNuYW1lID0gIkNPR0xfRkVBVFVSRV9JRF9URVhU VVJFX0VHTF9JTUFHRV9FWFRFUk5BTCIpXQotKwkJT0dMX0ZFQVRVUkVfSURfVEVYVFVSRV9FR0xf SU1BR0VfRVhURVJOQUwsCi0rCQlbQ0NvZGUgKGNuYW1lID0gIkNPR0xfRkVBVFVSRV9JRF9CTElU X0ZSQU1FQlVGRkVSIildCi0rCQlPR0xfRkVBVFVSRV9JRF9CTElUX0ZSQU1FQlVGRkVSCi0rCX0K LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJD T0dMX0ZJTFRFUl8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJcHVibGljIGVudW0gRmlsdGVy UmV0dXJuIHsKLSsJCUNPTlRJTlVFLAotKwkJUkVNT1ZFCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX0ZSQU1FX0VWRU5UXyIs IGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xNCIpXQotKwlw dWJsaWMgZW51bSBGcmFtZUV2ZW50IHsKLSsJCVNZTkMsCi0rCQlDT01QTEVURQotKwl9Ci0rCVtD Q29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9G UkFNRUJVRkZFUl9FUlJPUl8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJcHVibGljIGVudW0g RnJhbWVidWZmZXJFcnJvciB7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gIkNPR0xfRlJBTUVCVUZGRVJf RVJST1JfQUxMT0NBVEUiKV0KLSsJCUZSQU1FQlVGRkVSX0VSUk9SX0FMTE9DQVRFCi0rCX0KLSsJ W0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dM X0dSQVBISUNTX1JFU0VUX1NUQVRVU18iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJcHVibGlj IGVudW0gR3JhcGhpY3NSZXNldFN0YXR1cyB7Ci0rCQlOT19FUlJPUiwKLSsJCUdVSUxUWV9DT05U RVhUX1JFU0VULAotKwkJSU5OT0NFTlRfQ09OVEVYVF9SRVNFVCwKLSsJCVVOS05PV05fQ09OVEVY VF9SRVNFVCwKLSsJCVBVUkdFRF9DT05URVhUX1JFU0VUCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX0lORElDRVNfVFlQRV9V TlNJR05FRF8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJcHVibGljIGVudW0gSW5kaWNlc1R5 cGUgewotKwkJQllURSwKLSsJCVNIT1JULAotKwkJSU5UCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX01BVEVSSUFMX0FMUEhB X0ZVTkNfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBlbnVtIE1hdGVyaWFsQWxw aGFGdW5jIHsKLSsJCU5FVkVSLAotKwkJTEVTUywKLSsJCUVRVUFMLAotKwkJTEVRVUFMLAotKwkJ R1JFQVRFUiwKLSsJCU5PVEVRVUFMLAotKwkJR0VRVUFMLAotKwkJQUxXQVlTCi0rCX0KLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX01B VEVSSUFMX0ZJTFRFUl8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJcHVibGljIGVudW0gTWF0 ZXJpYWxGaWx0ZXIgewotKwkJTkVBUkVTVCwKLSsJCUxJTkVBUiwKLSsJCU5FQVJFU1RfTUlQTUFQ X05FQVJFU1QsCi0rCQlMSU5FQVJfTUlQTUFQX05FQVJFU1QsCi0rCQlORUFSRVNUX01JUE1BUF9M SU5FQVIsCi0rCQlMSU5FQVJfTUlQTUFQX0xJTkVBUgotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9NQVRFUklBTF9XUkFQX01P REVfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjQiKV0K LSsJcHVibGljIGVudW0gTWF0ZXJpYWxXcmFwTW9kZSB7Ci0rCQlSRVBFQVQsCi0rCQlDTEFNUF9U T19FREdFLAotKwkJQVVUT01BVElDCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0g ImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX1BJUEVMSU5FX0FMUEhBX0ZVTkNfIiwgaGFz X3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBlbnVtIFBpcGVsaW5lQWxwaGFGdW5jIHsKLSsJ CU5FVkVSLAotKwkJTEVTUywKLSsJCUVRVUFMLAotKwkJTEVRVUFMLAotKwkJR1JFQVRFUiwKLSsJ CU5PVEVRVUFMLAotKwkJR0VRVUFMLAotKwkJQUxXQVlTCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX1BJUEVMSU5FX0NVTExf RkFDRV9NT0RFXyIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlwdWJsaWMgZW51bSBQaXBlbGlu ZUN1bGxGYWNlTW9kZSB7Ci0rCQlOT05FLAotKwkJRlJPTlQsCi0rCQlCQUNLLAotKwkJQk9USAot Kwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXgg PSAiQ09HTF9QSVBFTElORV9GSUxURVJfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1Ymxp YyBlbnVtIFBpcGVsaW5lRmlsdGVyIHsKLSsJCU5FQVJFU1QsCi0rCQlMSU5FQVIsCi0rCQlORUFS RVNUX01JUE1BUF9ORUFSRVNULAotKwkJTElORUFSX01JUE1BUF9ORUFSRVNULAotKwkJTkVBUkVT VF9NSVBNQVBfTElORUFSLAotKwkJTElORUFSX01JUE1BUF9MSU5FQVIKLSsJfQotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfUElQRUxJ TkVfV1JBUF9NT0RFXyIsIGhhc190eXBlX2lkID0gZmFsc2UpXQotKwlbVmVyc2lvbiAoc2luY2Ug PSAiMi4wIildCi0rCXB1YmxpYyBlbnVtIFBpcGVsaW5lV3JhcE1vZGUgewotKwkJUkVQRUFULAot KwkJTUlSUk9SRURfUkVQRUFULAotKwkJQ0xBTVBfVE9fRURHRSwKLSsJCUFVVE9NQVRJQwotKwl9 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAi Q09HTF9QSVhFTF9GT1JNQVRfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCVtGbGFnc10KLSsJ W1ZlcnNpb24gKHNpbmNlID0gIjAuOCIpXQotKwlwdWJsaWMgZW51bSBQaXhlbEZvcm1hdCB7Ci0r CQlBTlksCi0rCQlBXzgsCi0rCQlSR0JfNTY1LAotKwkJUkdCQV80NDQ0LAotKwkJUkdCQV81NTUx LAotKwkJWVVWLAotKwkJR184LAotKwkJUkdfODgsCi0rCQlSR0JfODg4LAotKwkJQkdSXzg4OCwK LSsJCVJHQkFfODg4OCwKLSsJCUJHUkFfODg4OCwKLSsJCUFSR0JfODg4OCwKLSsJCUFCR1JfODg4 OCwKLSsJCVJHQkFfMTAxMDEwMiwKLSsJCUJHUkFfMTAxMDEwMiwKLSsJCUFSR0JfMjEwMTAxMCwK LSsJCUFCR1JfMjEwMTAxMCwKLSsJCVJHQkFfRlBfMTYxNjE2MTYsCi0rCQlCR1JBX0ZQXzE2MTYx NjE2LAotKwkJQVJHQl9GUF8xNjE2MTYxNiwKLSsJCUFCR1JfRlBfMTYxNjE2MTYsCi0rCQlSR0JB Xzg4ODhfUFJFLAotKwkJQkdSQV84ODg4X1BSRSwKLSsJCUFSR0JfODg4OF9QUkUsCi0rCQlBQkdS Xzg4ODhfUFJFLAotKwkJUkdCQV80NDQ0X1BSRSwKLSsJCVJHQkFfNTU1MV9QUkUsCi0rCQlSR0JB XzEwMTAxMDJfUFJFLAotKwkJQkdSQV8xMDEwMTAyX1BSRSwKLSsJCUFSR0JfMjEwMTAxMF9QUkUs Ci0rCQlBQkdSXzIxMDEwMTBfUFJFLAotKwkJUkdCQV9GUF8xNjE2MTYxNl9QUkUsCi0rCQlCR1JB X0ZQXzE2MTYxNjE2X1BSRSwKLSsJCUFSR0JfRlBfMTYxNjE2MTZfUFJFLAotKwkJQUJHUl9GUF8x NjE2MTYxNl9QUkUsCi0rCQlERVBUSF8xNiwKLSsJCURFUFRIXzMyLAotKwkJREVQVEhfMjRfU1RF TkNJTF84OwotKwkJcHVibGljIGludCBnZXRfYnl0ZXNfcGVyX3BpeGVsIChpbnQgcGxhbmUpOwot KwkJcHVibGljIGludCBnZXRfbl9wbGFuZXMgKCk7Ci0rCQlwdWJsaWMgdW5vd25lZCBzdHJpbmcg dG9fc3RyaW5nICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2Nv Z2wuaCIsIGNwcmVmaXggPSAiQ09HTF9SRUFEX1BJWEVMU19DT0xPUl8iLCBoYXNfdHlwZV9pZCA9 IGZhbHNlKV0KLSsJW0ZsYWdzXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4wIildCi0rCXB1Ymxp YyBlbnVtIFJlYWRQaXhlbHNGbGFncyB7Ci0rCQlbQ0NvZGUgKGNuYW1lID0gIkNPR0xfUkVBRF9Q SVhFTFNfQ09MT1JfQlVGRkVSIildCi0rCQlSRUFEX1BJWEVMU19DT0xPUl9CVUZGRVIKLSsJfQot KwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNP R0xfUkVOREVSRVJfRVJST1JfIiwgaGFzX3R5cGVfaWQgPSBmYWxzZSldCi0rCXB1YmxpYyBlbnVt IFJlbmRlcmVyRXJyb3IgewotKwkJWExJQl9ESVNQTEFZX09QRU4sCi0rCQlCQURfQ09OU1RSQUlO VAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNwcmVm aXggPSAiQ09HTF9TSEFERVJfVFlQRV8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW1ZlcnNp b24gKHNpbmNlID0gIjEuMCIpXQotKwlwdWJsaWMgZW51bSBTaGFkZXJUeXBlIHsKLSsJCVZFUlRF WCwKLSsJCUZSQUdNRU5UCi0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wv Y29nbC5oIiwgY3ByZWZpeCA9ICJDT0dMX1NURVJFT18iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0K LSsJcHVibGljIGVudW0gU3RlcmVvTW9kZSB7Ci0rCQlCT1RILAotKwkJTEVGVCwKLSsJCVJJR0hU Ci0rCX0KLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY3ByZWZp eCA9ICJDT0dMX1NZU1RFTV9FUlJPUl8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW1ZlcnNp b24gKHNpbmNlID0gIjEuNCIpXQotKwlwdWJsaWMgZW51bSBTeXN0ZW1FcnJvciB7Ci0rCQlVTlNV UFBPUlRFRCwKLSsJCU5PX01FTU9SWQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjb2dsL2NvZ2wuaCIsIGNwcmVmaXggPSAiQ09HTF9URVhUVVJFX0NPTVBPTkVOVFNfIiwgaGFz X3R5cGVfaWQgPSBmYWxzZSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE4IildCi0rCXB1Ymxp YyBlbnVtIFRleHR1cmVDb21wb25lbnRzIHsKLSsJCUEsCi0rCQlSRywKLSsJCVJHQiwKLSsJCVJH QkEsCi0rCQlERVBUSAotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2Nv Z2wuaCIsIGNwcmVmaXggPSAiQ09HTF9URVhUVVJFX0VSUk9SXyIsIGhhc190eXBlX2lkID0gZmFs c2UpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS44IildCi0rCXB1YmxpYyBlbnVtIFRleHR1cmVF cnJvciB7Ci0rCQlTSVpFLAotKwkJRk9STUFULAotKwkJQkFEX1BBUkFNRVRFUiwKLSsJCVRZUEU7 Ci0rCQlwdWJsaWMgc3RhdGljIHVpbnQzMiBxdWFyayAoKTsKLSsJfQotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfVEVYVFVSRV8iLCBo YXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW0ZsYWdzXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4w IildCi0rCXB1YmxpYyBlbnVtIFRleHR1cmVGbGFncyB7Ci0rCQlOT05FLAotKwkJTk9fQVVUT19N SVBNQVAsCi0rCQlOT19TTElDSU5HLAotKwkJTk9fQVRMQVMKLSsJfQotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfVkVSVElDRVNfTU9E RV8iLCBoYXNfdHlwZV9pZCA9IGZhbHNlKV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMCIpXQot KwlwdWJsaWMgZW51bSBWZXJ0aWNlc01vZGUgewotKwkJUE9JTlRTLAotKwkJTElORVMsCi0rCQlM SU5FX0xPT1AsCi0rCQlMSU5FX1NUUklQLAotKwkJVFJJQU5HTEVTLAotKwkJVFJJQU5HTEVfU1RS SVAsCi0rCQlUUklBTkdMRV9GQU4KLSsJfQotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xfV0lORElOR18iLCBoYXNfdHlwZV9pZCA9IGZh bHNlKV0KLSsJcHVibGljIGVudW0gV2luZGluZyB7Ci0rCQlDTE9DS1dJU0UsCi0rCQlDT1VOVEVS X0NMT0NLV0lTRQotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wu aCIsIGNwcmVmaXggPSAiQ09HTF9XSU5TWVNfRkVBVFVSRV8iLCBoYXNfdHlwZV9pZCA9IGZhbHNl KV0KLSsJcHVibGljIGVudW0gV2luc3lzRmVhdHVyZSB7Ci0rCQlNVUxUSVBMRV9PTlNDUkVFTiwK LSsJCVZCTEFOS19DT1VOVEVSLAotKwkJVkJMQU5LX1dBSVQsCi0rCQlURVhUVVJFX0ZST01fUElY TUFQLAotKwkJU1dBUF9CVUZGRVJTX0VWRU5ULAotKwkJU1dBUF9SRUdJT04sCi0rCQlTV0FQX1JF R0lPTl9USFJPVFRMRSwKLSsJCVNXQVBfUkVHSU9OX1NZTkNIUk9OSVpFRCwKLSsJCUJVRkZFUl9B R0UsCi0rCQlTWU5DX0FORF9DT01QTEVURV9FVkVOVCwKLSsJCU5fRkVBVFVSRVMKLSsJfQotKwlb Q0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjcHJlZml4ID0gIkNPR0xf U0NBTk9VVF9FUlJPUl8iKV0KLSsJcHVibGljIGVycm9yZG9tYWluIFNjYW5vdXRFcnJvciB7Ci0r CQlbQ0NvZGUgKGNuYW1lID0gIkNPR0xfU0NBTk9VVF9FUlJPUl9JTkhJQklURUQiKV0KLSsJCVND QU5PVVRfRVJST1JfSU5ISUJJVEVEOwotKwkJcHVibGljIHN0YXRpYyBHTGliLlF1YXJrIHF1YXJr ICgpOwotKwl9Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGlu c3RhbmNlX3BvcyA9IDEuOSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgiKV0KLSsJcHVibGlj IGRlbGVnYXRlIHZvaWQgRGVidWdPYmplY3RGb3JlYWNoVHlwZUNhbGxiYWNrIChDb2dsLkRlYnVn T2JqZWN0VHlwZUluZm8gaW5mbyk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2ds L2NvZ2wuaCIsIGluc3RhbmNlX3BvcyA9IDEuOSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIwLjEw IildCi0rCXB1YmxpYyBkZWxlZ2F0ZSB2b2lkIEZlYXR1cmVDYWxsYmFjayAoQ29nbC5GZWF0dXJl SUQgZmVhdHVyZSk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIs IGluc3RhbmNlX3BvcyA9IDMuOSldCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE0IildCi0rCXB1 YmxpYyBkZWxlZ2F0ZSB2b2lkIEZyYW1lQ2FsbGJhY2sgKENvZ2wuT25zY3JlZW4gb25zY3JlZW4s IENvZ2wuRnJhbWVFdmVudCBldmVudCwgQ29nbC5GcmFtZUluZm8gaW5mbyk7Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGluc3RhbmNlX3BvcyA9IDIuOSldCi0r CVtWZXJzaW9uIChzaW5jZSA9ICIxLjE2IildCi0rCXB1YmxpYyBkZWxlZ2F0ZSB2b2lkIE9uc2Ny ZWVuRGlydHlDYWxsYmFjayAoQ29nbC5PbnNjcmVlbiBvbnNjcmVlbiwgQ29nbC5PbnNjcmVlbkRp cnR5SW5mbyBpbmZvKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5o IiwgaW5zdGFuY2VfcG9zID0gMi45KV0KLSsJW1ZlcnNpb24gKHNpbmNlID0gIjIuMCIpXQotKwlw dWJsaWMgZGVsZWdhdGUgYm9vbCBQaXBlbGluZUxheWVyQ2FsbGJhY2sgKENvZ2wuUGlwZWxpbmUg cGlwZWxpbmUsIGludCBsYXllcl9pbmRleCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9 ICJjb2dsL2NvZ2wuaCIsIGluc3RhbmNlX3BvcyA9IDEuOSldCi0rCXB1YmxpYyBkZWxlZ2F0ZSBi b29sIFRleHR1cmUyREVHTEltYWdlRXh0ZXJuYWxBbGxvYyAoQ29nbC5UZXh0dXJlMkQgdGV4XzJk KSB0aHJvd3MgR0xpYi5FcnJvcjsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wv Y29nbC5oIiwgaGFzX3RhcmdldCA9IGZhbHNlKV0KLSsJcHVibGljIGRlbGVnYXRlIHZvaWQgVXNl ckRhdGFEZXN0cm95Q2FsbGJhY2sgKHZvaWQqIGRhdGEpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmls ZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFtZSA9ICJDT0dMX0FGSVJTVF9CSVQiKV0KLSsJcHVi bGljIGNvbnN0IGludCBBRklSU1RfQklUOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAi Y29nbC9jb2dsLmgiLCBjbmFtZSA9ICJDT0dMX0FfQklUIildCi0rCXB1YmxpYyBjb25zdCBpbnQg QV9CSVQ7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNuYW1l ID0gIkNPR0xfQkdSX0JJVCIpXQotKwlwdWJsaWMgY29uc3QgaW50IEJHUl9CSVQ7Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNuYW1lID0gIkNPR0xfREVQVEhf QklUIildCi0rCXB1YmxpYyBjb25zdCBpbnQgREVQVEhfQklUOwotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFtZSA9ICJDT0dMX1BJWEVMX0ZPUk1BVF9NQVhf UExBTkVTIildCi0rCXB1YmxpYyBjb25zdCBpbnQgUElYRUxfRk9STUFUX01BWF9QTEFORVM7Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIsIGNuYW1lID0gIkNPR0xf UFJFTVVMVF9CSVQiKV0KLSsJcHVibGljIGNvbnN0IGludCBQUkVNVUxUX0JJVDsKLSsJW0NDb2Rl IChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIiwgY25hbWUgPSAiQ09HTF9TVEVOQ0lM X0JJVCIpXQotKwlwdWJsaWMgY29uc3QgaW50IFNURU5DSUxfQklUOwotKwlbQ0NvZGUgKGNoZWFk ZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiLCBjbmFtZSA9ICJDT0dMX1RFWFRVUkVfTUFYX1dB U1RFIildCi0rCXB1YmxpYyBjb25zdCBpbnQgVEVYVFVSRV9NQVhfV0FTVEU7Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlwdWJsaWMgc3RhdGljIGJvb2wg YmxpdF9mcmFtZWJ1ZmZlciAoQ29nbC5GcmFtZWJ1ZmZlciBmcmFtZWJ1ZmZlciwgQ29nbC5GcmFt ZWJ1ZmZlciBkc3QsIGludCBzcmNfeCwgaW50IHNyY195LCBpbnQgZHN0X3gsIGludCBkc3RfeSwg aW50IHdpZHRoLCBpbnQgaGVpZ2h0KSB0aHJvd3MgR0xpYi5FcnJvcjsKLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCXB1YmxpYyBzdGF0aWMgYm9vbCBjbHV0 dGVyX3dpbnN5c19oYXNfZmVhdHVyZV9DTFVUVEVSIChDb2dsLldpbnN5c0ZlYXR1cmUgZmVhdHVy ZSk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVy c2lvbiAoc2luY2UgPSAiMS4wIildCi0rCXB1YmxpYyBzdGF0aWMgYm9vbCBjb2xvcl9lcXVhbCAo dm9pZCogdjEsIHZvaWQqIHYyKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wv Y29nbC5oIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE2IildCi0rCXB1YmxpYyBzdGF0aWMg dm9pZCBjb2xvcl9pbml0X2Zyb21faHNsIChvdXQgQ29nbC5Db2xvciBjb2xvciwgZmxvYXQgaHVl LCBmbG9hdCBzYXR1cmF0aW9uLCBmbG9hdCBsdW1pbmFuY2UpOwotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVl LCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiKV0KLSsJcHVibGljIHN0YXRpYyB1bm93bmVkIENv Z2wuSGFuZGxlIGNyZWF0ZV9wcm9ncmFtICgpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNh dGVkX3NpbmNlID0gIjEuMTYiKV0KLSsJcHVibGljIHN0YXRpYyB1bm93bmVkIENvZ2wuSGFuZGxl IGNyZWF0ZV9zaGFkZXIgKENvZ2wuU2hhZGVyVHlwZSBzaGFkZXJfdHlwZSk7Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAi MS44IildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBkZWJ1Z19vYmplY3RfZm9yZWFjaF90eXBlIChD b2dsLkRlYnVnT2JqZWN0Rm9yZWFjaFR5cGVDYWxsYmFjayBmdW5jKTsKLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjgi KV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIGRlYnVnX29iamVjdF9wcmludF9pbnN0YW5jZXMgKCk7 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lv biAoc2luY2UgPSAiMS4wIildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBmbHVzaCAoKTsKLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtWZXJzaW9uIChzaW5j ZSA9ICIxLjEwIildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBmb3JlYWNoX2ZlYXR1cmUgKENvZ2wu Q29udGV4dCBjb250ZXh0LCBDb2dsLkZlYXR1cmVDYWxsYmFjayBjYWxsYmFjayk7Ci0rCVtDQ29k ZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoZGVwcmVj YXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIpXQotKwlwdWJsaWMgc3RhdGlj IGJvb2wgZ2V0X2JhY2tmYWNlX2N1bGxpbmdfZW5hYmxlZCAoKTsKLSsJW0NDb2RlIChjaGVhZGVy X2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIxLjE0Iild Ci0rCXB1YmxpYyBzdGF0aWMgaW50NjQgZ2V0X2Nsb2NrX3RpbWUgKENvZ2wuQ29udGV4dCBjb250 ZXh0KTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtW ZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2IildCi0r CXB1YmxpYyBzdGF0aWMgYm9vbCBnZXRfZGVwdGhfdGVzdF9lbmFibGVkICgpOwotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJcHVibGljIHN0YXRpYyBDb2ds LkdyYXBoaWNzUmVzZXRTdGF0dXMgZ2V0X2dyYXBoaWNzX3Jlc2V0X3N0YXR1cyAoQ29nbC5Db250 ZXh0IGNvbnRleHQpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgi KV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEu MTYiLCBzaW5jZSA9ICIxLjAiKV0KLSsJcHVibGljIHN0YXRpYyBHTGliLk9wdGlvbkdyb3VwIGdl dF9vcHRpb25fZ3JvdXAgKCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2Nv Z2wuaCIpXQotKwlwdWJsaWMgc3RhdGljIEdMaWIuQ2FsbGJhY2sgZ2V0X3Byb2NfYWRkcmVzcyAo c3RyaW5nIHMpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0K LSsJW1ZlcnNpb24gKHNpbmNlID0gIjEuMTAiKV0KLSsJcHVibGljIHN0YXRpYyBib29sIGhhc19m ZWF0dXJlIChDb2dsLkNvbnRleHQgY29udGV4dCwgQ29nbC5GZWF0dXJlSUQgZmVhdHVyZSk7Ci0r CVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAo c2luY2UgPSAiMS4wIildCi0rCXB1YmxpYyBzdGF0aWMgYm9vbCBpc19iaXRtYXAgKHZvaWQqIG9i amVjdCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlb VmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJsaWMgc3RhdGljIGJvb2wgaXNfY29udGV4 dCAodm9pZCogb2JqZWN0KTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29n bC5oIildCi0rCVtWZXJzaW9uIChzaW5jZSA9ICIyLjAiKV0KLSsJcHVibGljIHN0YXRpYyBib29s IGlzX2ZyYW1lX2luZm8gKHZvaWQqIG9iamVjdCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFt ZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJs aWMgc3RhdGljIGJvb2wgaXNfZnJhbWVidWZmZXIgKHZvaWQqIG9iamVjdCk7Ci0rCVtDQ29kZSAo Y2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoc2luY2UgPSAi Mi4wIildCi0rCXB1YmxpYyBzdGF0aWMgYm9vbCBpc19waXBlbGluZSAodm9pZCogb2JqZWN0KTsK LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtWZXJzaW9u IChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2IildCi0rCXB1Ymxp YyBzdGF0aWMgYm9vbCBpc19wcm9ncmFtIChDb2dsLkhhbmRsZSBoYW5kbGUpOwotKwlbQ0NvZGUg KGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0 ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYiKV0KLSsJcHVibGljIHN0YXRpYyBi b29sIGlzX3NoYWRlciAoQ29nbC5IYW5kbGUgaGFuZGxlKTsKLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCXB1YmxpYyBzdGF0aWMgYm9vbCBpc190ZXh0dXJl ICh2b2lkKiBvYmplY3QpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2ds LmgiKV0KLSsJcHVibGljIHN0YXRpYyBib29sIGlzX3RleHR1cmVfMmQgKHZvaWQqIG9iamVjdCk7 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lv biAoc2luY2UgPSAiMS4xMCIpXQotKwlwdWJsaWMgc3RhdGljIGJvb2wgaXNfdGV4dHVyZV8yZF9z bGljZWQgKHZvaWQqIG9iamVjdCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2ds L2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2lu Y2UgPSAiMS4xNiIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgcHJvZ3JhbV9hdHRhY2hfc2hhZGVy IChDb2dsLkhhbmRsZSBwcm9ncmFtX2hhbmRsZSwgQ29nbC5IYW5kbGUgc2hhZGVyX2hhbmRsZSk7 Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lv biAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIpXQotKwlwdWJs aWMgc3RhdGljIGludCBwcm9ncmFtX2dldF91bmlmb3JtX2xvY2F0aW9uIChDb2dsLkhhbmRsZSBo YW5kbGUsIHN0cmluZyB1bmlmb3JtX25hbWUpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUg PSAiY29nbC9jb2dsLmgiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNh dGVkX3NpbmNlID0gIjEuMTYiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIHByb2dyYW1fbGluayAo Q29nbC5IYW5kbGUgaGFuZGxlKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wv Y29nbC5oIildCi0rCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5j ZSA9ICIxLjE2Iiwgc2luY2UgPSAiMS40IildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBwcm9ncmFt X3NldF91bmlmb3JtXzFmIChDb2dsLkhhbmRsZSBwcm9ncmFtLCBpbnQgdW5pZm9ybV9sb2NhdGlv biwgZmxvYXQgdmFsdWUpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2ds LmgiKV0KLSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0g IjEuMTYiLCBzaW5jZSA9ICIxLjQiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIHByb2dyYW1fc2V0 X3VuaWZvcm1fMWkgKENvZ2wuSGFuZGxlIHByb2dyYW0sIGludCB1bmlmb3JtX2xvY2F0aW9uLCBp bnQgdmFsdWUpOwotKwlbQ0NvZGUgKGNoZWFkZXJfZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0K LSsJW1ZlcnNpb24gKGRlcHJlY2F0ZWQgPSB0cnVlLCBkZXByZWNhdGVkX3NpbmNlID0gIjEuMTYi LCBzaW5jZSA9ICIxLjQiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIHByb2dyYW1fc2V0X3VuaWZv cm1fZmxvYXQgKENvZ2wuSGFuZGxlIHByb2dyYW0sIGludCB1bmlmb3JtX2xvY2F0aW9uLCBpbnQg bl9jb21wb25lbnRzLCBbQ0NvZGUgKGFycmF5X2xlbmd0aF9jbmFtZSA9ICJjb3VudCIsIGFycmF5 X2xlbmd0aF9wb3MgPSAzLjUpXSBmbG9hdFtdIHZhbHVlKTsKLSsJW0NDb2RlIChjaGVhZGVyX2Zp bGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtWZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwg ZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2Iiwgc2luY2UgPSAiMS40IildCi0rCXB1YmxpYyBzdGF0 aWMgdm9pZCBwcm9ncmFtX3NldF91bmlmb3JtX2ludCAoQ29nbC5IYW5kbGUgcHJvZ3JhbSwgaW50 IHVuaWZvcm1fbG9jYXRpb24sIGludCBuX2NvbXBvbmVudHMsIFtDQ29kZSAoYXJyYXlfbGVuZ3Ro X2NuYW1lID0gImNvdW50IiwgYXJyYXlfbGVuZ3RoX3BvcyA9IDMuNSldIGludFtdIHZhbHVlKTsK LSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtWZXJzaW9u IChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2Iiwgc2luY2UgPSAi MS40IildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBwcm9ncmFtX3NldF91bmlmb3JtX21hdHJpeCAo Q29nbC5IYW5kbGUgcHJvZ3JhbSwgaW50IHVuaWZvcm1fbG9jYXRpb24sIGludCBkaW1lbnNpb25z LCBib29sIHRyYW5zcG9zZSwgW0NDb2RlIChhcnJheV9sZW5ndGhfY25hbWUgPSAiY291bnQiLCBh cnJheV9sZW5ndGhfcG9zID0gMy41KV0gZmxvYXRbXSB2YWx1ZSk7Ci0rCVtDQ29kZSAoY2hlYWRl cl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRy dWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgc2V0 X2JhY2tmYWNlX2N1bGxpbmdfZW5hYmxlZCAoYm9vbCBzZXR0aW5nKTsKLSsJW0NDb2RlIChjaGVh ZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtWZXJzaW9uIChkZXByZWNhdGVkID0g dHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE2IildCi0rCXB1YmxpYyBzdGF0aWMgdm9pZCBz ZXRfZGVwdGhfdGVzdF9lbmFibGVkIChib29sIHNldHRpbmcpOwotKwlbQ0NvZGUgKGNoZWFkZXJf ZmlsZW5hbWUgPSAiY29nbC9jb2dsLmgiKV0KLSsJcHVibGljIHN0YXRpYyB2b2lkIHNldF90cmFj aW5nX2Rpc2FibGVkX29uX3RocmVhZCAodm9pZCogZGF0YSk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQgc2V0X3RyYWNp bmdfZW5hYmxlZF9vbl90aHJlYWQgKHZvaWQqIGRhdGEsIHN0cmluZyBncm91cCwgc3RyaW5nIGZp bGVuYW1lKTsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0r CXB1YmxpYyBzdGF0aWMgdm9pZCBzZXRfdHJhY2luZ19lbmFibGVkX29uX3RocmVhZF93aXRoX2Zk ICh2b2lkKiBkYXRhLCBzdHJpbmcgZ3JvdXAsIGludCBmZCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9m aWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUs IGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIpXQotKwlwdWJsaWMgc3RhdGljIENvZ2wuU2hhZGVy VHlwZSBzaGFkZXJfZ2V0X3R5cGUgKENvZ2wuSGFuZGxlIGhhbmRsZSk7Ci0rCVtDQ29kZSAoY2hl YWRlcl9maWxlbmFtZSA9ICJjb2dsL2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9 IHRydWUsIGRlcHJlY2F0ZWRfc2luY2UgPSAiMS4xNiIpXQotKwlwdWJsaWMgc3RhdGljIHZvaWQg c2hhZGVyX3NvdXJjZSAoQ29nbC5IYW5kbGUgc2hhZGVyLCBzdHJpbmcgc291cmNlKTsKLSsJW0ND b2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtWZXJzaW9uIChkZXBy ZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE4Iiwgc2luY2UgPSAiMS4wIild Ci0rCXB1YmxpYyBzdGF0aWMgQ29nbC5UZXh0dXJlIHRleHR1cmVfbmV3X2Zyb21fYml0bWFwIChD b2dsLkJpdG1hcCBiaXRtYXAsIENvZ2wuVGV4dHVyZUZsYWdzIGZsYWdzLCBDb2dsLlBpeGVsRm9y bWF0IGludGVybmFsX2Zvcm1hdCk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2ds L2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2lu Y2UgPSAiMS4xOCIsIHNpbmNlID0gIjAuOCIpXQotKwlwdWJsaWMgc3RhdGljIENvZ2wuVGV4dHVy ZSB0ZXh0dXJlX25ld19mcm9tX2RhdGEgKGludCB3aWR0aCwgaW50IGhlaWdodCwgQ29nbC5UZXh0 dXJlRmxhZ3MgZmxhZ3MsIENvZ2wuUGl4ZWxGb3JtYXQgZm9ybWF0LCBDb2dsLlBpeGVsRm9ybWF0 IGludGVybmFsX2Zvcm1hdCwgaW50IHJvd3N0cmlkZSwgW0NDb2RlIChhcnJheV9sZW5ndGggPSBm YWxzZSldIHVpbnQ4W10gZGF0YSk7Ci0rCVtDQ29kZSAoY2hlYWRlcl9maWxlbmFtZSA9ICJjb2ds L2NvZ2wuaCIpXQotKwlbVmVyc2lvbiAoZGVwcmVjYXRlZCA9IHRydWUsIGRlcHJlY2F0ZWRfc2lu Y2UgPSAiMS4xOCIsIHNpbmNlID0gIjAuOCIpXQotKwlwdWJsaWMgc3RhdGljIENvZ2wuVGV4dHVy ZSB0ZXh0dXJlX25ld19mcm9tX2ZpbGUgKHN0cmluZyBmaWxlbmFtZSwgQ29nbC5UZXh0dXJlRmxh Z3MgZmxhZ3MsIENvZ2wuUGl4ZWxGb3JtYXQgaW50ZXJuYWxfZm9ybWF0KSB0aHJvd3MgR0xpYi5F cnJvcjsKLSsJW0NDb2RlIChjaGVhZGVyX2ZpbGVuYW1lID0gImNvZ2wvY29nbC5oIildCi0rCVtW ZXJzaW9uIChkZXByZWNhdGVkID0gdHJ1ZSwgZGVwcmVjYXRlZF9zaW5jZSA9ICIxLjE4Iiwgc2lu Y2UgPSAiMC44IildCi0rCXB1YmxpYyBzdGF0aWMgQ29nbC5UZXh0dXJlIHRleHR1cmVfbmV3X3dp dGhfc2l6ZSAodWludCB3aWR0aCwgdWludCBoZWlnaHQsIENvZ2wuVGV4dHVyZUZsYWdzIGZsYWdz LCBDb2dsLlBpeGVsRm9ybWF0IGludGVybmFsX2Zvcm1hdCk7Ci0rfQpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9idWRnaWUtZGVza3RvcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvYnVkZ2llLWRlc2t0b3AvdGVt cGxhdGUKaW5kZXggNGU5YTdmNjNiM2RmLi5lM2ZhMGQ3YjhkZmEgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvYnVkZ2llLWRlc2t0b3AvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9idWRnaWUtZGVza3RvcC90 ZW1wbGF0ZQpAQCAtMSwyMyArMSwyNCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYnVkZ2llLWRl c2t0b3AnCiBwa2duYW1lPWJ1ZGdpZS1kZXNrdG9wCi12ZXJzaW9uPTEwLjUuMgotcmV2aXNpb249 MwordmVyc2lvbj0xMC41LjMKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPW1lc29uCiBidWlsZF9o ZWxwZXI9Z2lyCiBjb25maWd1cmVfYXJncz0iLUR3aXRoLWd0ay1kb2M9ZmFsc2UiCi1ob3N0bWFr ZWRlcGVuZHM9InBrZy1jb25maWcgaW50bHRvb2wgdmFsYSBnbGliLWRldmVsIGdvYmplY3QtaW50 cm9zcGVjdGlvbiBzYXNzYyIKK2hvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBpbnRsdG9vbCB2 YWxhIGdsaWItZGV2ZWwgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHNhc3NjCisgYnVkZ2llLXNjcmVl bnNhdmVyIgogbWFrZWRlcGVuZHM9ImFsc2EtbGliLWRldmVsIGxpYm5vdGlmeS1kZXZlbCBhY2Nv dW50c3NlcnZpY2UtZGV2ZWwgbGlicGVhcy1kZXZlbAogIGxpYnduY2stZGV2ZWwgbXV0dGVyLWRl dmVsIGlidXMtZGV2ZWwgZ25vbWUtZGVza3RvcC1kZXZlbCBwdWxzZWF1ZGlvLWRldmVsCiAgdXBv d2VyLWRldmVsIGd0ayszLWRldmVsIHBvbGtpdC1kZXZlbCBnbm9tZS1ibHVldG9vdGgtZGV2ZWwg Z25vbWUtbWVudXMtZGV2ZWwKICBnbm9tZS1zZXR0aW5ncy1kYWVtb24tZGV2ZWwgdmFsYSBsaWJ1 dWlkLWRldmVsIGxpYnVwb3dlci1nbGliMyIKIGRlcGVuZHM9Imdub21lLXNlc3Npb24gZ25vbWUt c2V0dGluZ3MtZGFlbW9uIGdub21lLWNvbnRyb2wtY2VudGVyIGVsb2dpbmQKLSBnbm9tZS10aGVt ZXMtZXh0cmEiCisgZ25vbWUtdGhlbWVzLWV4dHJhIGJ1ZGdpZS1zY3JlZW5zYXZlciIKIHNob3J0 X2Rlc2M9Ik1vZGVybiBkZXNrdG9wIGVudmlyb25tZW50IGZyb20gdGhlIFNvbHVzIFByb2plY3Qi CiBtYWludGFpbmVyPSJMb3JlbSA8bm90bG9yZW1pcHN1bUBwcm90b25tYWlsLmNvbT4iCiBsaWNl bnNlPSJHUEwtMi4wLW9ubHksIExHUEwtMi4xLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9naXRo dWIuY29tL3NvbHVzLXByb2plY3QvYnVkZ2llLWRlc2t0b3AiCiBkaXN0ZmlsZXM9IiR7aG9tZXBh Z2V9L3JlbGVhc2VzL2Rvd25sb2FkL3Yke3ZlcnNpb259L2J1ZGdpZS1kZXNrdG9wLXYke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPWQ3MjE5YzFkYzZkMGUzZmU1NGFjMzMwNjJiZmQ0MjBhYjk0 MTU4YmNmZTk0MDlkMDljODVkN2U3YTIxYzY3ZmEKK2NoZWNrc3VtPTg3OGY0ZTY0NjBjMjk3NDBi ZjYzM2MzYjExYmE5N2JjYjc4ODA2OGMxNDYwZjgyNTY5OTM4YWYyZjE2MzNiMjUKIAogYnVkZ2ll LWRlc2t0b3AtZGV2ZWxfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQg ZmlsZXMiCg== --===============6097912894326946364==--