From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.7 required=5.0 tests=ALL_TRUSTED,URIBL_BLACK autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 12816 invoked from network); 25 Dec 2020 20:32:55 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 25 Dec 2020 20:32:55 -0000 Content-Type: multipart/mixed; boundary="===============6042709006755305035==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_=5BRFC_WIP=5D_crosstoolchain_build-style?= To: ml@inbox.vuxu.org From: q66 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Fri, 25 Dec 2020 21:32:52 +0100 List-Id: Message-ID: <20201225203252.fpO_e0idqIo5nrEdRlFsvpdfw43D3WP_otEODTAeVA0@z> GitHub notification mails are now in MIME to allow UTF8. --===============6042709006755305035== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgcTY2IGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9xNjYvdm9p ZC1wYWNrYWdlcyBjcm9zcy1zdHlsZQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lk LXBhY2thZ2VzL3B1bGwvMjc0MTIKCltSRkMgV0lQXSBjcm9zc3Rvb2xjaGFpbiBidWlsZC1zdHls ZQpUaGlzIGludHJvZHVjZXMgYSBidWlsZC1zdHlsZSBmb3Igc3lzdGVtIGNyb3NzdG9vbGNoYWlu cy4gSXQgb25seSB3b3JrcywgYW5kIHdpbGwgb25seSB3b3JrLCBmb3IgdG9vbGNoYWlucyB0YXJn ZXRpbmcgVm9pZCBhbmQgb25lIG9mIGl0cyBzdGFuZGFyZCBsaWJyYXJpZXMuIFRoZSBub25lIHRh cmdldHMgYW5kIHN0dWZmIGxpa2UgbWluZ3cgYXJlIGV4cGxpY2l0bHkgYSBub24tZ29hbCwgdG8g cmVkdWNlIHRoZSBhbW91bnQgb2YgbWFnaWMgd2UgaGF2ZSB0byBkby4NCg0KVGhpcyBoYXMgYSBi dW5jaCBvZiBhZHZhbnRhZ2VzOg0KDQotIGNyb3NzdG9vbGNoYWluIHRlbXBsYXRlcyBjYW4gbm93 IGJlIHNtYWxsIGFuZCBzaW1wbGUNCi0gY3Jvc3N0b29sY2hhaW5zIHdyaXRlbiB3aXRoIHRoaXMg YnVpbGQtc3R5bGUgd2lsbCBubyBsb25nZXIgbWVzcyB1cCBtYXN0ZXJkaXJzIGxpa2UgdGhlIGV4 aXN0aW5nIG9uZXMgZG87IHlvdSBjYW4gc2FmZWx5IGJ1aWxkIHlvdXIgc3R1ZmYgd2l0aG91dCBg LXRgIGFuZCB5b3VyIGBtYXN0ZXJkaXJgIHdpbGwgYmUgcHJpc3RpbmUNCi0gdW5pZmljYXRpb24g b2Ygb3B0aW9ucyBwYXNzZWQgdG8gYGdjY2AvbGliYy9gYmludXRpbHNgIGNvbmZpZ3VyZSwgYXMg bXVjaCBhcyBwb3NzaWJsZQ0KLSByZWR1Y2VkIHJlcGVhdGVkIGJvaWxlcnBsYXRlIGNvZGUgYmV0 d2VlbiBpbmRpdmlkdWFsIGNyb3NzdG9vbGNoYWlucw0KLSBgY2NhY2hlYCBmcmllbmRseQ0KLSBl YXNpZXIgdXBncmFkZXMsIGVhc2llciBtYWludGVuYW5jZSwgZXRjDQoNClRoaXMgaXMgY3VycmVu dGx5IGluY29tcGxldGUuIFRoZXNlIHRoaW5ncyBhcmUgbGVmdCB0byBkbzoNCg0KLSBbeF0gQWRk IG11c2wgc3VwcG9ydA0KLSBbeF0gQ2xlYW4gdXAgdGhlIGNvbmZpZ3VyZSBwYXJhbXMsIG9ubHkg a2VlcCB0aGUgZ2VuZXJpYyBvbmVzIGluIHRoZSBidWlsZC1zdHlsZSwgc3BlY2lmaWMgb25lcyB3 aWxsIGdvIGludG8gaW5kaXZpZHVhbCBjcm9zc3Rvb2xjaGFpbnMgKHRoaXMgb25lIGlzIGxhcmdl bHkgYmFzZWQgb24gd2hhdCB0aGUgYWFyY2g2NCBvbmUgd2FzIGRvaW5nKQ0KLSBbeF0gNjQtYml0 IGNyb3NzIG9uIDMyLWJpdCBob3N0cyBpcyBwcm9iYWJseSBhY3R1YWxseSBmaW5lIGluIGdlbmVy YWwsIHdlIGp1c3QgbmVlZCB0byBlbmFibGUgaXQNCi0gfn5BbGxvdyBnbGliYyBjcm9zc3Rvb2xj aGFpbnMgb24gbXVzbH5+ICh0aGlzIG5lZWRzIGBnbGliY2AgMi4zMiBzbyBpdCB3aWxsIGJlIGRv bmUgbGF0ZXIpDQoNClRvb2xjaGFpbiByZXdyaXRlIFRPRE86DQoNCi0gW3hdIGBjcm9zcy1hYXJj aDY0LWxpbnV4LWdudWANCi0gW3hdIGBjcm9zcy1hYXJjaDY0LWxpbnV4LW11c2xgDQotIFt4XSBg Y3Jvc3MtYXJtLWxpbnV4LWdudWVhYmlgDQotIFsgXSBgY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJp YA0KLSBbeF0gYGNyb3NzLWFybS1saW51eC1nbnVlYWJpaGZgDQotIFsgXSBgY3Jvc3MtYXJtLWxp bnV4LW11c2xlYWJpaGZgDQotIFsgXSBgY3Jvc3MtYXJtdjdsLWxpbnV4LWdudWVhYmloZmANCi0g WyBdIGBjcm9zcy1hcm12N2wtbGludXgtbXVzbGVhYmloZmANCi0gWyBdIGBjcm9zcy1pNjg2LXBj LWxpbnV4LWdudWANCi0gWyBdIGBjcm9zcy1pNjg2LWxpbnV4LW11c2xgDQotIFsgXSBgY3Jvc3Mt bWlwcy1saW51eC1tdXNsYA0KLSBbIF0gYGNyb3NzLW1pcHMtbGludXgtbXVzbGhmYA0KLSBbIF0g YGNyb3NzLW1pcHNlbC1saW51eC1tdXNsYA0KLSBbIF0gYGNyb3NzLW1pcHNlbC1saW51eC1tdXNs aGZgDQotIFsgXSBgY3Jvc3MtcG93ZXJwYy1saW51eC1nbnVgDQotIFsgXSBgY3Jvc3MtcG93ZXJw Yy1saW51eC1tdXNsYA0KLSBbIF0gYGNyb3NzLXBvd2VycGNsZS1saW51eC1nbnVgDQotIFsgXSBg Y3Jvc3MtcG93ZXJwY2xlLWxpbnV4LW11c2xgDQotIFsgXSBgY3Jvc3MtcG93ZXJwYzY0LWxpbnV4 LWdudWANCi0gWyBdIGBjcm9zcy1wb3dlcnBjNjQtbGludXgtbXVzbGANCi0gWyBdIGBjcm9zcy1w b3dlcnBjNjRsZS1saW51eC1nbnVgDQotIFsgXSBgY3Jvc3MtcG93ZXJwYzY0bGUtbGludXgtbXVz bGANCg0KRm9yIG5vdywgcG9zdGluZyBmb3IgaW5wdXQuDQoNCkBEdW5jYWVuIEBsZWFobmV1a2ly Y2hlbiBAcHVsbG1vbGwgQGVyaWNvbnIgQHZvaWQtbGludXgvcGtnLWNvbW1pdHRlcnMgDQoNCltj aSBza2lwXQoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzI3NDEyLnBhdGNoIGlzIGF0dGFjaGVk --===============6042709006755305035== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-cross-style-27412.patch" RnJvbSBkODUwOTY3ZDViMzJjYTU3OTk0NGFjYzQ1ZTFmYjllZWJhMTA0NDVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgpEYXRlOiBGcmks IDI1IERlYyAyMDIwIDE0OjU4OjM4ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxLzhdIGdjYzogdXNl IGNvbnNpc3RlbnQgcGF0Y2ggbGV2ZWwgZm9yIG11c2wgcGF0Y2hlcwoKbmVlZGVkIGZvciBjcm9z cyBidWlsZCBzdHlsZQotLS0KIHNyY3BrZ3MvZ2NjL2ZpbGVzL2xpYmduYXJsLW11c2wucGF0Y2gg fCAgOCArKysrLS0tLQogc3JjcGtncy9nY2MvZmlsZXMvbGlic3NwLW11c2wucGF0Y2ggICB8IDEy ICsrKysrKy0tLS0tLQogc3JjcGtncy9nY2MvdGVtcGxhdGUgICAgICAgICAgICAgICAgICB8ICA0 ICsrLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nY2MvZmlsZXMvbGliZ25hcmwtbXVzbC5wYXRjaCBiL3Ny Y3BrZ3MvZ2NjL2ZpbGVzL2xpYmduYXJsLW11c2wucGF0Y2gKaW5kZXggMzFkMzk2MDdlYTQuLjVl ZDlmMTZmNTU4IDEwMDY0NAotLS0gYS9zcmNwa2dzL2djYy9maWxlcy9saWJnbmFybC1tdXNsLnBh dGNoCisrKyBiL3NyY3BrZ3MvZ2NjL2ZpbGVzL2xpYmduYXJsLW11c2wucGF0Y2gKQEAgLTMsOCAr Myw4IEBAIFVwc3RyZWFtOiBVbmtub3duCiBSZWFzb246IFBhdGNoIGxpYmduYXJsIHRvIG5vdCB1 c2UgZnVuY3Rpb24gbWlzc2luZyBmcm9tIG11c2wuCiAKIGRpZmYgLXJ1cCBnY2MtOC4yLjAvZ2Nj L2FkYS9saWJnbmFybC9zLW9zaW50ZV9fbGludXguYWRzIGdjYy04LjIuMC1uZXcvZ2NjL2FkYS9s aWJnbmFybC9zLW9zaW50ZV9fbGludXguYWRzCi0tLS0gZ2NjLTguMi4wL2djYy9hZGEvbGliZ25h cmwvcy1vc2ludGVfX2xpbnV4LmFkcwkyMDE4LTAxLTExIDAwOjU1OjI1LjAwMDAwMDAwMCAtMDgw MAotKysrIGdjYy04LjIuMC1uZXcvZ2NjL2FkYS9saWJnbmFybC9zLW9zaW50ZV9fbGludXguYWRz CTIwMTgtMTEtMDEgMTY6MTY6MjMuMzcyNDUyOTUxIC0wNzAwCistLS0gZ2NjL2FkYS9saWJnbmFy bC9zLW9zaW50ZV9fbGludXguYWRzCTIwMTgtMDEtMTEgMDA6NTU6MjUuMDAwMDAwMDAwIC0wODAw CisrKysgZ2NjL2FkYS9saWJnbmFybC9zLW9zaW50ZV9fbGludXguYWRzCTIwMTgtMTEtMDEgMTY6 MTY6MjMuMzcyNDUyOTUxIC0wNzAwCiBAQCAtMzk0LDEyICszOTQsNiBAQCBwYWNrYWdlIFN5c3Rl bS5PU19JbnRlcmZhY2UgaXMKICAgICBQVEhSRUFEX1JXTE9DS19QUkVGRVJfV1JJVEVSX05QICAg ICAgICAgICAgICA6IGNvbnN0YW50IDo9IDE7CiAgICAgUFRIUkVBRF9SV0xPQ0tfUFJFRkVSX1dS SVRFUl9OT05SRUNVUlNJVkVfTlAgOiBjb25zdGFudCA6PSAyOwpAQCAtMzEsOCArMzEsOCBAQCBk aWZmIC1ydXAgZ2NjLTguMi4wL2djYy9hZGEvbGliZ25hcmwvcy1vc2ludGVfX2xpbnV4LmFkcyBn Y2MtOC4yLjAtbmV3L2djYy9hZGEvbAogICAgICAgIHNjaGVkX3ByaW9yaXR5IDogaW50OyAgLS0g IHNjaGVkdWxpbmcgcHJpb3JpdHkKICAgICBlbmQgcmVjb3JkOwogZGlmZiAtcnVwIGdjYy04LjIu MC9nY2MvYWRhL2xpYmduYXJsL3MtdGFwcm9wX19saW51eC5hZGIgZ2NjLTguMi4wLW5ldy9nY2Mv YWRhL2xpYmduYXJsL3MtdGFwcm9wX19saW51eC5hZGIKLS0tLSBnY2MtOC4yLjAvZ2NjL2FkYS9s aWJnbmFybC9zLXRhcHJvcF9fbGludXguYWRiCTIwMTgtMDEtMTEgMDA6NTU6MjUuMDAwMDAwMDAw IC0wODAwCi0rKysgZ2NjLTguMi4wLW5ldy9nY2MvYWRhL2xpYmduYXJsL3MtdGFwcm9wX19saW51 eC5hZGIJMjAxOC0xMS0xMyAxMToyODozNi40MzM5NjQ0NDkgLTA4MDAKKy0tLSBnY2MvYWRhL2xp YmduYXJsL3MtdGFwcm9wX19saW51eC5hZGIJMjAxOC0wMS0xMSAwMDo1NToyNS4wMDAwMDAwMDAg LTA4MDAKKysrKyBnY2MvYWRhL2xpYmduYXJsL3MtdGFwcm9wX19saW51eC5hZGIJMjAxOC0xMS0x MyAxMToyODozNi40MzM5NjQ0NDkgLTA4MDAKIEBAIC0yMDIsOSArMjAyLDYgQEAgcGFja2FnZSBi b2R5IFN5c3RlbS5UYXNrX1ByaW1pdGl2ZXMuT3BlcgogICAgIHByYWdtYSBJbXBvcnQKICAgICAg IChDLCBHTkFUX3B0aHJlYWRfY29uZGF0dHJfc2V0dXAsICJfX2duYXRfcHRocmVhZF9jb25kYXR0 cl9zZXR1cCIpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9nY2MvZmlsZXMvbGlic3NwLW11c2wucGF0 Y2ggYi9zcmNwa2dzL2djYy9maWxlcy9saWJzc3AtbXVzbC5wYXRjaAppbmRleCA4YTY5MmMwZDY2 NC4uOGQ0N2I0NDJhYTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ2NjL2ZpbGVzL2xpYnNzcC1tdXNs LnBhdGNoCisrKyBiL3NyY3BrZ3MvZ2NjL2ZpbGVzL2xpYnNzcC1tdXNsLnBhdGNoCkBAIC0yLDgg KzIsOCBAQCBGaXJzdCBwYXJ0IHRha2VuIGZyb20gQWxwaW5lLgogCiBTZWNvbmQgcGFydCBhZGRl ZCB0byBwcmV2ZW50IGdjY2dvIGZyb20gdGhpbmtpbmcgaXQgY2FuIC1mc3BsaXQtc3RhY2sgb24g bXVzbC4KIAotLS0tIGEvZ2NjL2djYy5jCi0rKysgYi9nY2MvZ2NjLmMKKy0tLSBnY2MvZ2NjLmMK KysrKyBnY2MvZ2NjLmMKIEBAIC04NzYsOSArODc2LDggQEAKICAjZW5kaWYKICAKQEAgLTE1LDgg KzE1LDggQEAgU2Vjb25kIHBhcnQgYWRkZWQgdG8gcHJldmVudCBnY2NnbyBmcm9tIHRoaW5raW5n IGl0IGNhbiAtZnNwbGl0LXN0YWNrIG9uIG11c2wuCiAgI2Vsc2UKICAjZGVmaW5lIExJTktfU1NQ X1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAogIAkJICAg ICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIg XAotLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2dudS11c2VyLWNvbW1vbi5oCi0rKysgYi9nY2MvY29u ZmlnL2kzODYvZ251LXVzZXItY29tbW9uLmgKKy0tLSBnY2MvY29uZmlnL2kzODYvZ251LXVzZXIt Y29tbW9uLmgKKysrKyBnY2MvY29uZmlnL2kzODYvZ251LXVzZXItY29tbW9uLmgKIEBAIC02NCw5 ICs2NCwzIEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qg c2VlCiAgCiAgLyogU3RhdGljIHN0YWNrIGNoZWNraW5nIGlzIHN1cHBvcnRlZCBieSBtZWFucyBv ZiBwcm9iZXMuICAqLwpAQCAtMjcsOCArMjcsOCBAQCBTZWNvbmQgcGFydCBhZGRlZCB0byBwcmV2 ZW50IGdjY2dvIGZyb20gdGhpbmtpbmcgaXQgY2FuIC1mc3BsaXQtc3RhY2sgb24gbXVzbC4KIC0j aWYgSEFWRV9HQVNfQ0ZJX1BFUlNPTkFMSVRZX0RJUkVDVElWRQogLSNkZWZpbmUgVEFSR0VUX0NB Tl9TUExJVF9TVEFDSwogLSNlbmRpZgotLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2dudS5oCi0rKysg Yi9nY2MvY29uZmlnL2kzODYvZ251LmgKKy0tLSBnY2MvY29uZmlnL2kzODYvZ251LmgKKysrKyBn Y2MvY29uZmlnL2kzODYvZ251LmgKIEBAIC00MCwxMSArNDAsNiBAQCBhbG9uZyB3aXRoIEdDQy4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAvKiBpMzg2IGds aWJjIHByb3ZpZGVzIF9fc3RhY2tfY2hrX2d1YXJkIGluICVnczoweDE0LiAgKi8KICAjZGVmaW5l IFRBUkdFVF9USFJFQURfU1NQX09GRlNFVCAgICAgICAgMHgxNApkaWZmIC0tZ2l0IGEvc3JjcGtn cy9nY2MvdGVtcGxhdGUgYi9zcmNwa2dzL2djYy90ZW1wbGF0ZQppbmRleCA0NzJiOTUyZWFlMy4u MDJhNzUxNjAwMmQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZ2NjL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvZ2NjL3RlbXBsYXRlCkBAIC0xNzMsOCArMTczLDggQEAgcHJlX2NvbmZpZ3VyZSgpIHsKIAlz ZWQgLWkgIi9hY19jcHA9L3MvXCRDUFBGTEFHUy9cJENQUEZMQUdTIC1PMi8iIHtnY2MsbGliaWJl cnR5fS9jb25maWd1cmUKIAljYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KIAkJKi1tdXNs KQotCQkJcGF0Y2ggLXAxIC1pICR7RklMRVNESVJ9L2xpYmduYXJsLW11c2wucGF0Y2gKLQkJCXBh dGNoIC1wMSAtaSAke0ZJTEVTRElSfS9saWJzc3AtbXVzbC5wYXRjaAorCQkJcGF0Y2ggLXAwIC1p ICR7RklMRVNESVJ9L2xpYmduYXJsLW11c2wucGF0Y2gKKwkJCXBhdGNoIC1wMCAtaSAke0ZJTEVT RElSfS9saWJzc3AtbXVzbC5wYXRjaAogCQkJcGF0Y2ggLXAwIC1pICR7RklMRVNESVJ9L2djY2dv LW11c2wucGF0Y2gKIAkJCTs7CiAJZXNhYwoKRnJvbSA0ODAxODQ2NWQwNDI3NWEyOGE1ODRhMjc5 MDcxNTdjODRiZmY5MTZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBxNjYgPGRhbmll bEBvY3RhZm9yZ2Uub3JnPgpEYXRlOiBGcmksIDI1IERlYyAyMDIwIDAwOjQyOjI2ICswMTAwClN1 YmplY3Q6IFtQQVRDSCAyLzhdIGNvbW1vbi9idWlsZC1zdHlsZTogYWRkIHZvaWQtY3Jvc3MKCnRo aXMgaW50cm9kdWNlcyBhIG5ldyBidWlsZC1zdHlsZSB2b2lkLWNyb3NzLCB3aGljaCBjYW4gYmUg dXNlZAp0byB3cml0ZSBzeXN0ZW0gY3Jvc3N0b29sY2hhaW4gdGVtcGxhdGVzOyB0aGlzIGlzIHRv IHJlZHVjZSB0aGUKYW1vdW50IG9mIG1haW50ZW5hbmNlLCByZXNvbHZlIGV4aXN0aW5nIHByb2Js ZW1zIHdpdGggdGhlIGNyb3NzCnRvb2xjaGFpbiB0ZW1wbGF0ZXMgYW5kIHJlbW92ZSByZXBlYXRl ZCBjb2RlCi0tLQogY29tbW9uL2J1aWxkLXN0eWxlL3ZvaWQtY3Jvc3Muc2ggICAgICAgICAgICAg fCA1MzkgKysrKysrKysrKysrKysrKysrKwogY29tbW9uL2Vudmlyb25tZW50L2J1aWxkLXN0eWxl L3ZvaWQtY3Jvc3Muc2ggfCAgMTEgKwogMiBmaWxlcyBjaGFuZ2VkLCA1NTAgaW5zZXJ0aW9ucygr KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbW1vbi9idWlsZC1zdHlsZS92b2lkLWNyb3NzLnNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgY29tbW9uL2Vudmlyb25tZW50L2J1aWxkLXN0eWxlL3ZvaWQtY3Jv c3Muc2gKCmRpZmYgLS1naXQgYS9jb21tb24vYnVpbGQtc3R5bGUvdm9pZC1jcm9zcy5zaCBiL2Nv bW1vbi9idWlsZC1zdHlsZS92b2lkLWNyb3NzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi5jYTk2NzFmMzI2NAotLS0gL2Rldi9udWxsCisrKyBiL2NvbW1vbi9idWls ZC1zdHlsZS92b2lkLWNyb3NzLnNoCkBAIC0wLDAgKzEsNTM5IEBACisjCisjIFRoaXMgaGVscGVy IGlzIGZvciB2b2lkIHN5c3RlbSBjcm9zc3Rvb2xjaGFpbiB0ZW1wbGF0ZXMuCisjCisjIE1hbmRh dG9yeSB2YXJpYWJsZXM6CisjCisjIC0gY3Jvc3NfdHJpcGxldCAtIHRoZSB0YXJnZXQgdHJpcGxl dCAoZS5nLiBhYXJjaDY0LWxpbnV4LWdudSkKKyMgLSBjcm9zc193b3Jkc2l6ZSAtIDMyIG9yIDY0 CisjIC0gY3Jvc3NfbGliYyAtIGdsaWJjIG9yIG11c2wKKyMgLSBjcm9zc19iaW51dGlsc192ZXJz aW9uCisjIC0gY3Jvc3NfZ2NjX3ZlcnNpb24KKyMgLSBjcm9zc19saW51eF92ZXJzaW9uCisjIC0g Y3Jvc3NfbGludXhfYXJjaCAtIHRoZSBzb3VyY2UgQVJDSCBvZiB0aGUga2VybmVsIChlLmcuIGFy bTY0KQorIyAtIGNyb3NzX2dsaWJjX3ZlcnNpb24KKyMgLSBjcm9zc19tdXNsX3ZlcnNpb24KKyMg LSBjcm9zc19saWJ1Y29udGV4dF92ZXJzaW9uIC0gb25seSBvbiBtdXNsIHdpdGhvdXQgY3Jvc3Nf Z2NjX3NraXBfZ28KKyMgLSBjcm9zc19saWJ1Y29udGV4dF9hcmNoIC0gZGl0dG8sIHRoZSBsaWJ1 Y29udGV4dCBhcmNoCisjCisjIE9wdGlvbmFsIHZhcmlhYmxlczoKKyMKKyMgLSBjcm9zc19nY2Nf c2tpcF9nbyAtIGRvIG5vdCBidWlsZCBnY2NnbyBzdXBwb3J0CisjIC0gY3Jvc3NfYmludXRpbHNf Y29uZmlndXJlX2FyZ3MKKyMgLSBjcm9zc19nY2NfYm9vdHN0cmFwX2NvbmZpZ3VyZV9hcmdzCisj IC0gY3Jvc3NfZ2NjX2NvbmZpZ3VyZV9hcmdzCisjIC0gY3Jvc3NfZ2xpYmNfY2ZsYWdzCisjIC0g Y3Jvc3NfZ2xpYmNfbGRmbGFncworIyAtIGNyb3NzX2dsaWJjX2NvbmZpZ3VyZV9hcmdzCisjIC0g Y3Jvc3NfbXVzbF9jZmxhZ3MKKyMgLSBjcm9zc19tdXNsX2xkZmxhZ3MKKyMgLSBjcm9zc19tdXNs X2NvbmZpZ3VyZV9hcmdzCisjCisjIGNvbmZpZ3VyZV9hcmdzIGlzIHBhc3NlZCB0byBib3RoIGJv b3RzdHJhcCBnY2MgYW5kIGZpbmFsIGdjYworIyBpZiB5b3UgbmVlZCB0byBwYXNzIHNvbWUgdG8g b25lIGFuZCBub3QgdGhlIG90aGVyLCB1c2UgdGhlCisjIHJlc3BlY3RpdmUgY3Jvc3NfIHZhcmlh YmxlcyBmb3IgZmluYWwgZ2NjIGFuZCBib290c3RyYXAgZ2NjCisjCisKK19hcHBseV9wYXRjaCgp IHsKKwlsb2NhbCBhcmdzPSIkMSIgcG5hbWU9IiQoYmFzZW5hbWUgJDIpIgorCWlmIFsgISAtZiAi LiR7cG5hbWV9X2RvbmUiIF07IHRoZW4KKwkJcGF0Y2ggLU4gJGFyZ3MgLWkgJDIKKwkJdG91Y2gg LiR7cG5hbWV9X2RvbmUKKwlmaQorfQorCitfY2hlY2tfY3Jvc3NfZGlyKCkgeworCWxvY2FsIGRu YW1lPSQxCisJbG9jYWwgc25hbWU9JDIKKwlsb2NhbCB2YXI9ImNyb3NzXyR7ZG5hbWV9X3ZlcnNp b24iCisJY2QgJHt3cmtzcmN9CisJaWYgWyAtZiAiLiR7c25hbWU6PWRuYW1lfV9kb25lIiBdOyB0 aGVuCisJCXJldHVybiAwCisJZmkKKwlpZiBbICEgLWQgIiR7MX0tJHshdmFyfSIgXTsgdGhlbgor CQltc2dfZXJyb3IgIiR7MX0tJHshdmFyfSBkb2VzIG5vdCBleGlzdCIKKwlmaQorfQorCitfYnVp bGRfYmludXRpbHMoKSB7CisJX2NoZWNrX2Nyb3NzX2RpciBiaW51dGlscworCisJbXNnX25vcm1h bCAiQnVpbGRpbmcgYmludXRpbHMgZm9yICR7Y3Jvc3NfdHJpcGxldH1cbiIKKworCW1rZGlyIC1w IGJpbnV0aWxzX2J1aWxkCisJY2QgYmludXRpbHNfYnVpbGQKKworCS4uL2JpbnV0aWxzLSR7Y3Jv c3NfYmludXRpbHNfdmVyc2lvbn0vY29uZmlndXJlIFwKKwkJLS1wcmVmaXg9L3VzciBcCisJCS0t c2JpbmRpcj0vdXNyL2JpbiBcCisJCS0tbGliZGlyPS91c3IvbGliIFwKKwkJLS1saWJleGVjZGly PS91c3IvbGliIFwKKwkJLS10YXJnZXQ9JHtjcm9zc190cmlwbGV0fSBcCisJCS0td2l0aC1zeXNy b290PS91c3IvJHtjcm9zc190cmlwbGV0fSBcCisJCS0tZGlzYWJsZS1ubHMgXAorCQktLWRpc2Fi bGUtc2hhcmVkIFwKKwkJLS1kaXNhYmxlLW11bHRpbGliIFwKKwkJLS1kaXNhYmxlLXdlcnJvciBc CisJCS0tZGlzYWJsZS1nb2xkIFwKKwkJLS13aXRoLXN5c3RlbS16bGliIFwKKwkJJHtjcm9zc19i aW51dGlsc19jb25maWd1cmVfYXJnc30KKworCW1ha2UgY29uZmlndXJlLWhvc3QKKwltYWtlICR7 bWFrZWpvYnN9CisKKwltYWtlIGluc3RhbGwgREVTVERJUj0ke3dya3NyY30vYnVpbGRfcm9vdAor CisJdG91Y2ggJHt3cmtzcmN9Ly5iaW51dGlsc19kb25lCit9CisKK19idWlsZF9ib290c3RyYXBf Z2NjKCkgeworCV9jaGVja19jcm9zc19kaXIgZ2NjIGdjY19ib290c3RyYXAKKworCW1zZ19ub3Jt YWwgIlBhdGNoaW5nIEdDQyBmb3IgJHtjcm9zc190cmlwbGV0fVxuIgorCisJY2QgZ2NjLSR7Y3Jv c3NfZ2NjX3ZlcnNpb259CisJZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2NjL3BhdGNoZXMv Ki5wYXRjaDsgZG8KKwkJX2FwcGx5X3BhdGNoIC1wMCAiJGYiCisJZG9uZQorCWlmIFsgIiRjcm9z c19saWJjIiA9ICJtdXNsIiBdOyB0aGVuCisJCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2dj Yy9maWxlcy8qLW11c2wucGF0Y2g7IGRvCisJCQlfYXBwbHlfcGF0Y2ggLXAwICIkZiIKKwkJZG9u ZQorCWZpCisJY2QgLi4KKworCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGJvb3RzdHJhcCBHQ0MgZm9y ICR7Y3Jvc3NfdHJpcGxldH1cbiIKKworCW1rZGlyIC1wIGdjY19ib290c3RyYXAKKwljZCBnY2Nf Ym9vdHN0cmFwCisKKwlsb2NhbCBleHRyYV9hcmdzCisJaWYgWyAiJGNyb3NzX2xpYmMiID0gIm11 c2wiIF07IHRoZW4KKwkJZXh0cmFfYXJncys9IiAtLXdpdGgtbmV3bGliIgorCQlleHRyYV9hcmdz Kz0iIC0tZGlzYWJsZS1zeW12ZXJzIgorCQlleHRyYV9hcmdzKz0iIGxpYmF0X2N2X2hhdmVfaWZ1 bmM9bm8iCisJZWxzZQorCQlleHRyYV9hcmdzKz0iIC0td2l0aG91dC1oZWFkZXJzIgorCWZpCisK KwkuLi9nY2MtJHtjcm9zc19nY2NfdmVyc2lvbn0vY29uZmlndXJlIFwKKwkJLS1wcmVmaXg9L3Vz ciBcCisJCS0tc2JpbmRpcj0vdXNyL2JpbiBcCisJCS0tbGliZGlyPS91c3IvbGliIFwKKwkJLS1s aWJleGVjZGlyPS91c3IvbGliIFwKKwkJLS10YXJnZXQ9JHtjcm9zc190cmlwbGV0fSBcCisJCS0t ZGlzYWJsZS1ubHMgXAorCQktLWRpc2FibGUtbXVsdGlsaWIgXAorCQktLWRpc2FibGUtc2hhcmVk IFwKKwkJLS1kaXNhYmxlLWxpYnF1YWRtYXRoIFwKKwkJLS1kaXNhYmxlLWRlY2ltYWwtZmxvYXQg XAorCQktLWRpc2FibGUtbGliZ29tcCBcCisJCS0tZGlzYWJsZS1saWJtcHggXAorCQktLWRpc2Fi bGUtbGlibXVkZmxhcCBcCisJCS0tZGlzYWJsZS1saWJzc3AgXAorCQktLWRpc2FibGUtbGliaXRt IFwKKwkJLS1kaXNhYmxlLWxpYmF0b21pYyBcCisJCS0tZGlzYWJsZS10aHJlYWRzIFwKKwkJLS1k aXNhYmxlLXNqbGotZXhjZXB0aW9ucyBcCisJCS0tZW5hYmxlLWxhbmd1YWdlcz1jIFwKKwkJLS13 aXRoLWdudS1sZCBcCisJCS0td2l0aC1nbnUtYXMgXAorCQkke2V4dHJhX2FyZ3N9IFwKKwkJJHtj b25maWd1cmVfYXJnc30gXAorCQkke2Nyb3NzX2djY19ib290c3RyYXBfY29uZmlndXJlX2FyZ3N9 CisKKwltYWtlICR7bWFrZWpvYnN9CisJbWFrZSBpbnN0YWxsIERFU1RESVI9JHt3cmtzcmN9L2J1 aWxkX3Jvb3QKKworCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lCit9CisKK19i dWlsZF9rZXJuZWxfaGVhZGVycygpIHsKKwlfY2hlY2tfY3Jvc3NfZGlyIGxpbnV4CisKKwltc2df bm9ybWFsICJQYXRjaGluZyBMaW51eCBoZWFkZXJzIGZvciAke2Nyb3NzX3RyaXBsZXR9XG4iCisK KwljZCBsaW51eC0ke2Nyb3NzX2xpbnV4X3ZlcnNpb259CisJZm9yIGYgaW4gJHtYQlBTX1NSQ1BL R0RJUn0va2VybmVsLWxpYmMtaGVhZGVycy9wYXRjaGVzLyoucGF0Y2g7IGRvCisJCV9hcHBseV9w YXRjaCAtcDAgJGYKKwlkb25lCisJY2QgLi4KKworCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIExpbnV4 IGhlYWRlcnMgZm9yICR7Y3Jvc3NfdHJpcGxldH1cbiIKKworCWNkIGxpbnV4LSR7Y3Jvc3NfbGlu dXhfdmVyc2lvbn0KKworCW1ha2UgQVJDSD0kY3Jvc3NfbGludXhfYXJjaCBoZWFkZXJzX2NoZWNr CisJbWFrZSBBUkNIPSRjcm9zc19saW51eF9hcmNoIFwKKwkJSU5TVEFMTF9IRFJfUEFUSD0ke3dy a3NyY30vYnVpbGRfcm9vdC91c3IvJHtjcm9zc190cmlwbGV0fS91c3IgXAorCQloZWFkZXJzX2lu c3RhbGwKKworCXRvdWNoICR7d3Jrc3JjfS8ubGludXhfaGVhZGVyc19kb25lCit9CisKK19idWls ZF9nbGliY19oZWFkZXJzKCkgeworCV9jaGVja19jcm9zc19kaXIgZ2xpYmMgZ2xpYmNfaGVhZGVy cworCisJbG9jYWwgdGd0PSRjcm9zc190cmlwbGV0CisKKwltc2dfbm9ybWFsICJQYXRjaGluZyBn bGliYyBmb3IgJHtjcm9zc190cmlwbGV0fVxuIgorCisJY2QgZ2xpYmMtJHtjcm9zc19nbGliY192 ZXJzaW9ufQorCWlmIFsgLWQgIiR7WEJQU19TUkNQS0dESVJ9L2dsaWJjL3BhdGNoZXMiIF07IHRo ZW4KKwkJZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2xpYmMvcGF0Y2hlcy8qLnBhdGNoOyBk bworCQkJX2FwcGx5X3BhdGNoIC1wMSAiJGYiCisJCWRvbmUKKwlmaQorCWNkIC4uCisKKwltc2df bm9ybWFsICJCdWlsZGluZyBnbGliYyBoZWFkZXJzIGZvciAke2Nyb3NzX3RyaXBsZXR9XG4iCisK Kwlta2RpciAtcCBnbGliY19oZWFkZXJzCisJY2QgZ2xpYmNfaGVhZGVycworCisJZWNobyAibGli Y19jdl9mb3JjZWRfdW53aW5kPXllcyIgPiBjb25maWcuY2FjaGUKKwllY2hvICJsaWJjX2N2X2Nf Y2xlYW51cD15ZXMiID4+IGNvbmZpZy5jYWNoZQorCisJIyB3ZSBkb24ndCBuZWVkIGFueSBjdXN0 b20gYXJncyBoZXJlLCBpdCdzIGp1c3QgaGVhZGVycworCUNDPSIke3RndH0tZ2NjIiBDWFg9IiR7 dGd0fS1nKysiIENQUD0iJHt0Z3R9LWNwcCIgTEQ9IiR7dGd0fS1sZCIgXAorCUFTPSIke3RndH0t YXMiIE5NPSIke3RndH0tbm0iIENGTEFHUz0iLXBpcGUiIENYWEZMQUdTPSIiIENQUEZMQUdTPSIi IFwKKwlMREZMQUdTPSIiIFwKKwkuLi9nbGliYy0ke2Nyb3NzX2dsaWJjX3ZlcnNpb259L2NvbmZp Z3VyZSBcCisJCS0tcHJlZml4PS91c3IgXAorCQktLWhvc3Q9JHt0Z3R9IFwKKwkJLS13aXRoLWhl YWRlcnM9JHt3cmtzcmN9L2J1aWxkX3Jvb3QvdXNyLyR7dGd0fS91c3IvaW5jbHVkZSBcCisJCS0t Y29uZmlnLWNhY2hlIFwKKwkJLS1lbmFibGUtb2Jzb2xldGUtcnBjIFwKKwkJLS1lbmFibGUtb2Jz b2xldGUtbnNsIFwKKwkJLS1lbmFibGUta2VybmVsPTIuNi4yNyBcCisJCSR7Y3Jvc3NfZ2xpYmNf Y29uZmlndXJlX2FyZ3N9CisKKwltYWtlIC1rIGluc3RhbGwtaGVhZGVycyBjcm9zc19jb21waWxp bmc9eWVzIFwKKwkJaW5zdGFsbF9yb290PSR7d3Jrc3JjfS9idWlsZF9yb290L3Vzci8ke3RndH0K KworCXRvdWNoICR7d3Jrc3JjfS8uZ2xpYmNfaGVhZGVyc19kb25lCit9CisKK19idWlsZF9nbGli YygpIHsKKwlfY2hlY2tfY3Jvc3NfZGlyIGdsaWJjCisKKwlsb2NhbCB0Z3Q9JGNyb3NzX3RyaXBs ZXQKKworCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGdsaWJjIGZvciAke3RndH1cbiIKKworCW1rZGly IC1wIGdsaWJjX2J1aWxkCisJY2QgZ2xpYmNfYnVpbGQKKworCWVjaG8gInNsaWJkaXI9L3Vzci9s aWIke2Nyb3NzX3dvcmRzaXplfSIgPiBjb25maWdwYXJtcworCisJZWNobyAibGliY19jdl9mb3Jj ZWRfdW53aW5kPXllcyIgPiBjb25maWcuY2FjaGUKKwllY2hvICJsaWJjX2N2X2NfY2xlYW51cD15 ZXMiID4+IGNvbmZpZy5jYWNoZQorCisJQ0M9IiR7dGd0fS1nY2MiIENYWD0iJHt0Z3R9LWcrKyIg Q1BQPSIke3RndH0tY3BwIiBMRD0iJHt0Z3R9LWxkIiBcCisJQVI9IiR7dGd0fS1hciIgQVM9IiR7 dGd0fS1hcyIgTk09IiR7dGd0fS1ubSIgXAorCUNGTEFHUz0iLXBpcGUgJHtjcm9zc19nbGliY19j ZmxhZ3N9IiBcCisJQ1hYRkxBR1M9Ii1waXBlICR7Y3Jvc3NfZ2xpYmNfY2ZsYWdzfSIgXAorCUNQ UEZMQUdTPSIke2Nyb3NzX2dsaWJjX2NmbGFnc30iIFwKKwlMREZMQUdTPSIke2Nyb3NzX2dsaWJj X2xkZmxhZ3N9IiBcCisJLi4vZ2xpYmMtJHtjcm9zc19nbGliY192ZXJzaW9ufS9jb25maWd1cmUg XAorCQktLXByZWZpeD0vdXNyIFwKKwkJLS1saWJkaXI9L3Vzci9saWIke2Nyb3NzX3dvcmRzaXpl fSBcCisJCS0tbGliZXhlY2Rpcj0vdXNyL2xpYmV4ZWMgXAorCQktLWhvc3Q9JHt0Z3R9IFwKKwkJ LS13aXRoLWhlYWRlcnM9JHt3cmtzcmN9L2J1aWxkX3Jvb3QvdXNyLyR7dGd0fS91c3IvaW5jbHVk ZSBcCisJCS0tY29uZmlnLWNhY2hlIFwKKwkJLS1lbmFibGUtb2Jzb2xldGUtcnBjIFwKKwkJLS1l bmFibGUtb2Jzb2xldGUtbnNsIFwKKwkJLS1kaXNhYmxlLXByb2ZpbGUgXAorCQktLWRpc2FibGUt d2Vycm9yIFwKKwkJLS1lbmFibGUta2VybmVsPTIuNi4yNyBcCisJCSR7Y3Jvc3NfZ2xpYmNfY29u ZmlndXJlX2FyZ3N9CisKKwltYWtlICR7bWFrZWpvYnN9CisJbWFrZSBpbnN0YWxsX3Jvb3Q9JHt3 cmtzcmN9L2J1aWxkX3Jvb3QvdXNyLyR7dGd0fSBpbnN0YWxsCisKKwl0b3VjaCAke3dya3NyY30v LmdsaWJjX2J1aWxkX2RvbmUKK30KKworX2J1aWxkX211c2woKSB7CisJX2NoZWNrX2Nyb3NzX2Rp ciBtdXNsCisKKwlsb2NhbCB0Z3Q9JGNyb3NzX3RyaXBsZXQKKworCW1zZ19ub3JtYWwgIlBhdGNo aW5nIG11c2wgZm9yICR7dGd0fVxuIgorCisJY2QgbXVzbC0ke2Nyb3NzX211c2xfdmVyc2lvbn0K KwlpZiBbIC1kICIke1hCUFNfU1JDUEtHRElSfS9tdXNsL3BhdGNoZXMiIF07IHRoZW4KKwkJZm9y IGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vbXVzbC9wYXRjaGVzLyoucGF0Y2g7IGRvCisJCQlfYXBw bHlfcGF0Y2ggLXAwICIkZiIKKwkJZG9uZQorCWZpCisJY2QgLi4KKworCW1zZ19ub3JtYWwgIkJ1 aWxkaW5nIG11c2wgZm9yICR7dGd0fVxuIgorCisJbWtkaXIgLXAgbXVzbF9idWlsZAorCWNkIG11 c2xfYnVpbGQKKworCUNDPSIke3RndH0tZ2NjIiBDWFg9IiR7dGd0fS1nKysiIENQUD0iJHt0Z3R9 LWNwcCIgTEQ9IiR7dGd0fS1sZCIgXAorCUFSPSIke3RndH0tYXIiIEFTPSIke3RndH0tYXMiIE5N PSIke3RndH0tbm0iIFwKKwlDRkxBR1M9Ii1waXBlIC1mUElDICR7Y3Jvc3NfbXVzbF9jZmxhZ3N9 IiBcCisJQ1BQRkxBR1M9IiR7Y3Jvc3NfbXVzbF9jZmxhZ3N9IiBMREZMQUdTPSIke2Nyb3NzX211 c2xfbGRmbGFnc30iIFwKKwkuLi9tdXNsLSR7Y3Jvc3NfbXVzbF92ZXJzaW9ufS9jb25maWd1cmUg XAorCQktLXByZWZpeD0vdXNyIFwKKwkJLS1ob3N0PSR7dGd0fSBcCisJCSR7Y3Jvc3NfbXVzbF9j b25maWd1cmVfYXJnc30KKworCW1ha2UgJHttYWtlam9ic30KKwltYWtlIERFU1RESVI9JHt3cmtz cmN9L2J1aWxkX3Jvb3QvdXNyLyR7dGd0fSBpbnN0YWxsCisKKwl0b3VjaCAke3dya3NyY30vLm11 c2xfYnVpbGRfZG9uZQorfQorCitfYnVpbGRfbGlidWNvbnRleHQoKSB7CisJWyAtbiAiJGNyb3Nz X2djY19za2lwX2dvIiBdICYmIHJldHVybiAwCisJX2NoZWNrX2Nyb3NzX2RpciBsaWJ1Y29udGV4 dAorCisJbXNnX25vcm1hbCAiQnVpbGRpbmcgbGlidWNvbnRleHQgZm9yICR7Y3Jvc3NfdHJpcGxl dH1cbiIKKworCWNkIGxpYnVjb250ZXh0LSR7Y3Jvc3NfbGlidWNvbnRleHRfdmVyc2lvbn0KKwkj IGEgdGVycmlibGUgaGFjayBidXQgc2VlbXMgdG8gd29yayBmb3Igbm93CisJQ0M9IiR7Y3Jvc3Nf dHJpcGxldH0tZ2NjIiBBUz0iJHtjcm9zc190cmlwbGV0fS1hcyIgQVI9IiR7Y3Jvc3NfdHJpcGxl dH0tYXIiIFwKKwlDUFBGTEFHUz0iLXBpcGUgJHtjcm9zc19tdXNsX2NmbGFnc30gLWcwIC1PcyAt bm9zdGRpbmMgLWlzeXN0ZW0gJHt3cmtzcmN9L2J1aWxkX3Jvb3QvdXNyLyR7Y3Jvc3NfdHJpcGxl dH0vdXNyL2luY2x1ZGUiIFwKKwltYWtlIEFSQ0g9JHtjcm9zc19saWJ1Y29udGV4dF9hcmNofSBs aWJ1Y29udGV4dC5hCisKKwljcCBsaWJ1Y29udGV4dC5hICR7d3Jrc3JjfS9idWlsZF9yb290L3Vz ci8ke2Nyb3NzX3RyaXBsZXR9L3Vzci9saWIKKworCXRvdWNoICR7d3Jrc3JjfS8ubGlidWNvbnRl eHRfYnVpbGRfZG9uZQorfQorCitfYnVpbGRfZ2NjKCkgeworCV9jaGVja19jcm9zc19kaXIgZ2Nj CisKKwltc2dfbm9ybWFsICJCdWlsZGluZyBnY2MgZm9yICR7Y3Jvc3NfdHJpcGxldH1cbiIKKwor CW1rZGlyIC1wIGdjY19idWlsZAorCWNkIGdjY19idWlsZAorCisJbG9jYWwgbGFuZ3M9ImMsYysr LGZvcnRyYW4sb2JqYyxvYmotYysrLGFkYSxsdG8iCisJaWYgWyAteiAiJGNyb3NzX2djY19za2lw X2dvIiBdOyB0aGVuCisJCWxhbmdzKz0iLGdvIgorCWZpCisKKwlsb2NhbCBleHRyYV9hcmdzCisJ aWYgWyAiJGNyb3NzX2xpYmMiID0gIm11c2wiIF07IHRoZW4KKwkJZXh0cmFfYXJncys9IiAtLWVu YWJsZS1saWJzc3AiCisJCSMgb3RoZXJ3aXNlIGdsaWJjIGhvc3RzIGdldCBjb25mdXNlZCBhbmQg dXNlIHRoZSBnbnUgaW1wbAorCQlleHRyYV9hcmdzKz0iIC0tZW5hYmxlLWNsb2NhbGU9Z2VuZXJp YyIKKwkJZXh0cmFfYXJncys9IiAtLWRpc2FibGUtc3ltdmVycyIKKwkJZXh0cmFfYXJncys9IiAt LWRpc2FibGUtZ251LXVuaXF1ZS1vYmplY3QiCisJCWV4dHJhX2FyZ3MrPSIgbGliYXRfY3ZfaGF2 ZV9pZnVuYz1ubyIKKwllbHNlCisJCWV4dHJhX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIKKwkJ ZXh0cmFfYXJncys9IiAtLWVuYWJsZS1nbnUtdW5pcXVlLW9iamVjdCIKKwlmaQorCisJLi4vZ2Nj LSR7Y3Jvc3NfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSBcCisJCS0tcHJlZml4PS91c3IgXAorCQkt LXNiaW5kaXI9L3Vzci9iaW4gXAorCQktLWxpYmRpcj0vdXNyL2xpYiBcCisJCS0tbGliZXhlY2Rp cj0vdXNyL2xpYiBcCisJCS0tdGFyZ2V0PSR7Y3Jvc3NfdHJpcGxldH0gXAorCQktLXdpdGgtc3lz cm9vdD0vdXNyLyR7Y3Jvc3NfdHJpcGxldH0gXAorCQktLXdpdGgtYnVpbGQtc3lzcm9vdD0ke3dy a3NyY30vYnVpbGRfcm9vdC91c3IvJHtjcm9zc190cmlwbGV0fSBcCisJCS0tZW5hYmxlLWxhbmd1 YWdlcz0ke2xhbmdzfSBcCisJCS0tZGlzYWJsZS1ubHMgXAorCQktLWRpc2FibGUtbXVsdGlsaWIg XAorCQktLWRpc2FibGUtc2psai1leGNlcHRpb25zIFwKKwkJLS1kaXNhYmxlLWxpYnF1YWRtYXRo IFwKKwkJLS1kaXNhYmxlLWxpYm11ZGZsYXAgXAorCQktLWRpc2FibGUtbGliaXRtIFwKKwkJLS1k aXNhYmxlLWxpYnZ0diBcCisJCS0tZGlzYWJsZS1saWJzYW5pdGl6ZXIgXAorCQktLWRpc2FibGUt bGlic3RkY3h4LXBjaCBcCisJCS0tZW5hYmxlLXNoYXJlZCBcCisJCS0tZW5hYmxlLXRocmVhZHM9 cG9zaXggXAorCQktLWVuYWJsZS1fX2N4YV9hdGV4aXQgXAorCQktLWVuYWJsZS1saW5rZXItYnVp bGQtaWQgXAorCQktLWVuYWJsZS1saWJhZGEgXAorCQktLWVuYWJsZS1sdG8gXAorCQktLWVuYWJs ZS1kZWZhdWx0LXBpZSBcCisJCS0tZW5hYmxlLWRlZmF1bHQtc3NwIFwKKwkJLS13aXRoLWdudS1s ZCBcCisJCS0td2l0aC1nbnUtYXMgXAorCQktLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9Z251IFwK KwkJJHtleHRyYV9hcmdzfSBcCisJCSR7Y29uZmlndXJlX2FyZ3N9IFwKKwkJJHtjcm9zc19nY2Nf Y29uZmlndXJlX2FyZ3N9CisKKwltYWtlICR7bWFrZWpvYnN9CisKKwl0b3VjaCAke3dya3NyY30v LmdjY19idWlsZF9kb25lCit9CisKK19jaGVja19jcm9zc192YXIoKSB7CisJbG9jYWwgdmFyPSJj cm9zc18kezF9IgorCWlmIFsgLXogIiR7IXZhcn0iIF07IHRoZW4KKwkJbXNnX2Vycm9yICJjcm9z c18kezF9IG5vdCBkZWZpbmVkIGluIHRlbXBsYXRlIgorCWZpCit9CisKK2RvX2J1aWxkKCkgewor CSMgVmVyaWZ5IHRvb2xjaGFpbiB2ZXJzaW9ucworCisJX2NoZWNrX2Nyb3NzX3ZhciBiaW51dGls c192ZXJzaW9uCisJX2NoZWNrX2Nyb3NzX3ZhciBnY2NfdmVyc2lvbgorCV9jaGVja19jcm9zc192 YXIgbGludXhfdmVyc2lvbgorCisJY2FzZSAiJHtjcm9zc19saWJjfSIgaW4KKwkJbXVzbCkKKwkJ CV9jaGVja19jcm9zc192YXIgbXVzbF92ZXJzaW9uCisJCQlpZiBbIC16ICIkY3Jvc3NfZ2NjX3Nr aXBfZ28iIF07IHRoZW4KKwkJCQlfY2hlY2tfY3Jvc3NfdmFyIGxpYnVjb250ZXh0X3ZlcnNpb24K KwkJCQlfY2hlY2tfY3Jvc3NfdmFyIGxpYnVjb250ZXh0X2FyY2gKKwkJCWZpCisJCQk7OworCQln bGliYykKKwkJCV9jaGVja19jcm9zc192YXIgZ2xpYmNfdmVyc2lvbgorCQkJOzsKKwkJKikgbXNn X2Vycm9yICJhbGxvd2VkIGNyb3NzX2xpYmMgdmFsdWVzIGFyZSAnZ2xpYmMnLCAnbXVzbCdcbiIg OzsKKwllc2FjCisKKwkjIFZlcmlmeSB0cmlwbGV0CisJX2NoZWNrX2Nyb3NzX3ZhciB0cmlwbGV0 CisJX2NoZWNrX2Nyb3NzX3ZhciB3b3Jkc2l6ZQorCV9jaGVja19jcm9zc192YXIgbGludXhfYXJj aAorCisJbG9jYWwgc3lzcm9vdD0iL3Vzci8ke2Nyb3NzX3RyaXBsZXR9IgorCisJIyBQcmVwYXJl IGVudmlyb25tZW50CisJY2QgJHt3cmtzcmN9CisKKwkjIENvcmUgZGlyZWN0b3JpZXMgZm9yIHRo ZSBidWlsZCByb290CisJbWtkaXIgLXAgYnVpbGRfcm9vdC91c3Ive2JpbixsaWIsaW5jbHVkZSxz aGFyZX0KKwlta2RpciAtcCBidWlsZF9yb290L3Vzci8ke2Nyb3NzX3RyaXBsZXR9L3Vzci97Ymlu LGxpYixpbmNsdWRlLHNoYXJlfQorCisJIyBIb3N0IHJvb3QgdXNlcyBob3N0IHdvcmRzaXplCisJ bG4gLXNmIHVzci9saWIgYnVpbGRfcm9vdC9saWIKKwlsbiAtc2YgdXNyL2xpYiBidWlsZF9yb290 L2xpYiR7WEJQU19UQVJHRVRfV09SRFNJWkV9CisJbG4gLXNmIGxpYiBidWlsZF9yb290L3Vzci9s aWIke1hCUFNfVEFSR0VUX1dPUkRTSVpFfQorCisJIyBUYXJnZXQgc3lzcm9vdCB1c2VzIHRhcmdl dCB3b3Jkc2l6ZQorCWxuIC1zZiB1c3IvbGliIGJ1aWxkX3Jvb3QvJHtzeXNyb290fS9saWIKKwls biAtc2YgdXNyL2xpYiBidWlsZF9yb290LyR7c3lzcm9vdH0vbGliJHtjcm9zc193b3Jkc2l6ZX0K KwlsbiAtc2YgbGliIGJ1aWxkX3Jvb3QvJHtzeXNyb290fS91c3IvbGliJHtjcm9zc193b3Jkc2l6 ZX0KKwlsbiAtc2YgbGliIGJ1aWxkX3Jvb3QvJHtzeXNyb290fS91c3IvbGliZXhlYworCisJX2J1 aWxkX2JpbnV0aWxzCisKKwkjIFByZXBhcmUgZW52aXJvbm1lbnQgc28gd2UgY2FuIHVzZSB0ZW1w b3JhcnkgcHJlZml4CisJbG9jYWwgb2xkcGF0aD0iJFBBVEgiCisJbG9jYWwgb2xkbGRsaWI9IiRM RF9MSUJSQVJZX1BBVEgiCisKKwlleHBvcnQgUEFUSD0iJHt3cmtzcmN9L2J1aWxkX3Jvb3QvdXNy L2JpbjokUEFUSCIKKwlleHBvcnQgTERfTElCUkFSWV9QQVRIPSIke3dya3NyY30vYnVpbGRfcm9v dC91c3IvbGliOiRQQVRIIgorCisJX2J1aWxkX2Jvb3RzdHJhcF9nY2MKKwlfYnVpbGRfa2VybmVs X2hlYWRlcnMKKworCWlmIFsgIiRjcm9zc19saWJjIiA9ICJtdXNsIiBdOyB0aGVuCisJCV9idWls ZF9tdXNsCisJCV9idWlsZF9saWJ1Y29udGV4dAorCWVsc2UKKwkJX2J1aWxkX2dsaWJjX2hlYWRl cnMKKwkJX2J1aWxkX2dsaWJjCisJZmkKKworCV9idWlsZF9nY2MKKworCSMgcmVzdG9yZSB0aGlz IHN0dWZmIGluIGNhc2UgbGF0ZXIgaG9va3MgZGVwZW5kIG9uIGl0CisJZXhwb3J0IFBBVEg9IiRv bGRwYXRoIgorCWV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9IiRvbGRsZGxpYiIKK30KKworZG9faW5z dGFsbCgpIHsKKwkjIFdlIG5lZWQgdG8gYmUgYWJsZSB0byBhY2Nlc3MgYmludXRpbHMgaW4gdGhl IHJvb3QKKwlsb2NhbCBvbGRwYXRoPSIkUEFUSCIKKwlsb2NhbCBvbGRsZGxpYj0iJExEX0xJQlJB UllfUEFUSCIKKwlleHBvcnQgUEFUSD0iJHt3cmtzcmN9L2J1aWxkX3Jvb3QvdXNyL2JpbjokUEFU SCIKKwlleHBvcnQgTERfTElCUkFSWV9QQVRIPSIke3dya3NyY30vYnVpbGRfcm9vdC91c3IvbGli OiRQQVRIIgorCisJbG9jYWwgc3lzcm9vdD0iL3Vzci8ke2Nyb3NzX3RyaXBsZXR9IgorCisJIyBD b3JlIGRpcmVjdG9yaWVzIGZvciB0aGUgc3lzcm9vdAorCSMKKwkjIGxpYmV4ZWMgaXMgY3JlYXRl ZCBmb3Igc3lzcm9vdCBidXQgbm90IGZvciBkZXN0LCBzaW5jZSBpbiBzeXNyb290CisJIyB3ZSBj b25maWd1cmUgZ2xpYmMgd2l0aCBzZXBhcmF0ZSBsaWJleGVjLCBlbHNld2hlcmUgaXQncyBqdXN0 IGxpYgorCSMgYW5kIHdlIHdhbnQgdG8gZGVsZXRlIHRoZSBsaWJleGVjIGZyb20gZ2xpYmMgYWZ0 ZXJ3YXJkcyB0byBzYXZlIHNwYWNlCisJbWtkaXIgLXAgJHtERVNURElSfS8ke3N5c3Jvb3R9L3Vz ci97YmluLGxpYixsaWJleGVjLGluY2x1ZGUsc2hhcmV9CisJIyBTeXNyb290IGJhc2Ugc3ltbGlu a3MKKwlsbiAtc2YgdXNyL2xpYiAke0RFU1RESVJ9LyR7c3lzcm9vdH0vbGliCisJbG4gLXNmIHVz ci9saWIgJHtERVNURElSfS8ke3N5c3Jvb3R9L2xpYiR7Y3Jvc3Nfd29yZHNpemV9CisJbG4gLXNm IGxpYiAke0RFU1RESVJ9LyR7c3lzcm9vdH0vdXNyL2xpYiR7Y3Jvc3Nfd29yZHNpemV9CisKKwkj IEluc3RhbGwgTGludXggaGVhZGVycworCWNkICR7d3Jrc3JjfS9saW51eC0ke2Nyb3NzX2xpbnV4 X3ZlcnNpb259CisJbWFrZSBBUkNIPSR7Y3Jvc3NfbGludXhfYXJjaH0gXAorCQlJTlNUQUxMX0hE Ul9QQVRIPSR7REVTVERJUn0vJHtzeXNyb290fS91c3IgaGVhZGVyc19pbnN0YWxsCisJcm0gLWYg JChmaW5kICR7REVTVERJUn0vJHtzeXNyb290fS91c3IvaW5jbHVkZSBcCisJCS1uYW1lIC5pbnN0 YWxsIC1vciAtbmFtZSAuLmluc3RhbGwuY21kKQorCXJtIC1yZiAke0RFU1RESVJ9LyR7c3lzcm9v dH0vdXNyL2luY2x1ZGUvZHJtCisKKwkjIEluc3RhbGwgYmludXRpbHMKKwljZCAke3dya3NyY30v YmludXRpbHNfYnVpbGQKKwltYWtlIGluc3RhbGwgREVTVERJUj0ke0RFU1RESVJ9CisKKwkjIElu c3RhbGwgZmluYWwgZ2NjCisJY2QgJHt3cmtzcmN9L2djY19idWlsZAorCW1ha2UgaW5zdGFsbCBE RVNURElSPSR7REVTVERJUn0KKworCSMgTW92ZSBsaWJjYzEuc28qIHRvIHRoZSBzeXNyb290CisJ bXYgJHtERVNURElSfS91c3IvbGliL2xpYmNjMS5zbyogJHtERVNURElSfS8ke3N5c3Jvb3R9L3Vz ci9saWIKKworCWlmIFsgIiRjcm9zc19saWJjIiA9ICJtdXNsIiBdOyB0aGVuCisJCSMgSW5zdGFs bCBtdXNsCisJCWNkICR7d3Jrc3JjfS9tdXNsX2J1aWxkCisJCW1ha2UgREVTVERJUj0ke0RFU1RE SVJ9LyR7c3lzcm9vdH0gaW5zdGFsbAorCisJCSMgUmVtb3ZlIHVzZWxlc3MgaGVhZGVycworCQly bSAtcmYgJHtERVNURElSfS91c3IvbGliL2djYy8ke2Nyb3NzX3RyaXBsZXR9LyovaW5jbHVkZS1m aXhlZAorCisJCSMgTWFrZSBsZC1tdXNsLnNvIHN5bWxpbmtzIHJlbGF0aXZlCisJCWZvciBmIGlu ICR7REVTVERJUn0vJHtzeXNyb290fS91c3IvbGliL2xkLW11c2wtKi5zby4qOyBkbworCQkJbG4g LXNmIGxpYmMuc28gJHtmfQorCQlkb25lCisJZWxzZQorCQkjIEluc3RhbGwgZ2xpYmMKKwkJY2Qg JHt3cmtzcmN9L2dsaWJjX2J1aWxkCisJCW1ha2UgaW5zdGFsbF9yb290PSR7REVTVERJUn0vJHtz eXNyb290fSBpbnN0YWxsIGluc3RhbGwtaGVhZGVycworCisJCSMgUmVtb3ZlIGJhZCBoZWFkZXIK KwkJcm0gLWYgJHtERVNURElSfS91c3IvbGliL2djYy8ke2Nyb3NzX190cmlwbGV0fS8qL2luY2x1 ZGUtZml4ZWQvYml0cy9zdGF0eC5oCisJZmkKKworCSMgU3ltbGlua3MgZm9yIGduYXJsIGFuZCBn bmF0IHNoYXJlZCBsaWJyYXJpZXMKKwlsb2NhbCBtYWpvcnZlcj0ke2Nyb3NzX2djY192ZXJzaW9u JS4qLip9CisJbG9jYWwgYWRhbGliPXVzci9saWIvZ2NjLyR7X3RyaXBsZXR9LyR7X2djY192ZXJz aW9ufS9hZGFsaWIKKwltdiAke0RFU1RESVJ9LyR7YWRhbGlifS9saWJnbmFybC0ke21ham9ydmVy fS5zbyBcCisJCSR7REVTVERJUn0vJHtzeXNyb290fS91c3IvbGliCisJbXYgJHtERVNURElSfS8k e2FkYWxpYn0vbGliZ25hdC0ke21ham9ydmVyfS5zbyBcCisJCSR7REVTVERJUn0vJHtzeXNyb290 fS91c3IvbGliCisJbG4gLXNmIGxpYmduYXJsLSR7bWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtz eXNyb290fS91c3IvbGliL2xpYmduYXJsLnNvCisJbG4gLXNmIGxpYmduYXQtJHttYWpvcnZlcn0u c28gJHtERVNURElSfS8ke3N5c3Jvb3R9L3Vzci9saWIvbGliZ25hdC5zbworCXJtIC12ZiAke0RF U1RESVJ9LyR7YWRhbGlifS9saWJnbmF7cmwsdH0uc28KKworCSMgUmVtb3ZlIHVubmVjZXNzYXJ5 IGxpYmF0b21pYyB3aGljaCBpcyBvbmx5IGJ1aWx0IGZvciBnY2NnbworCXJtIC1yZiAke0RFU1RE SVJ9LyR7c3lzcm9vdH0vdXNyL2xpYi9saWJhdG9taWMuKgorCisJIyBSZW1vdmUgbGVmdG92ZXIg c3ltbGlua3MKKwlybSAtZiAke0RFU1RESVJ9L3Vzci9saWIke1hCUFNfVEFSR0VUX1dPUkRTSVpF fQorCXJtIC1mICR7REVTVERJUn0vbGliKgorCXJtIC1mICR7REVTVERJUn0vKmJpbgorCSMgUmVt b3ZlIHVubmVjZXNzYXJ5IHN0dWZmCisJcm0gLXJmICR7REVTVERJUn0vJHtzeXNyb290fS97c2Jp bixldGMsdmFyLGxpYmV4ZWN9CisJcm0gLXJmICR7REVTVERJUn0vJHtzeXNyb290fS91c3Ive3Ni aW4sc2hhcmUsbGliZXhlY30KKwlybSAtcmYgJHtERVNURElSfS91c3Ivc2hhcmUKKwlybSAtZiAk e0RFU1RESVJ9L3Vzci9saWIqL2xpYmliZXJ0eS5hCisKKwlleHBvcnQgUEFUSD0iJG9sZHBhdGgi CisJZXhwb3J0IExEX0xJQlJBUllfUEFUSD0iJG9sZGxkbGliIgorfQpkaWZmIC0tZ2l0IGEvY29t bW9uL2Vudmlyb25tZW50L2J1aWxkLXN0eWxlL3ZvaWQtY3Jvc3Muc2ggYi9jb21tb24vZW52aXJv bm1lbnQvYnVpbGQtc3R5bGUvdm9pZC1jcm9zcy5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uODBhYWFiNDdmZDIKLS0tIC9kZXYvbnVsbAorKysgYi9jb21tb24vZW52 aXJvbm1lbnQvYnVpbGQtc3R5bGUvdm9pZC1jcm9zcy5zaApAQCAtMCwwICsxLDExIEBACitsaWIz MmRpc2FibGVkPXllcworbm9jcm9zcz15ZXMKK25vcGllPXllcworY3JlYXRlX3dya3NyYz15ZXMK Kworbm9zdHJpcF9maWxlcys9ImxpYmNhZl9zaW5nbGUuYSBsaWJnY2MuYSBsaWJnY292LmEgbGli Z2NjX2VoLmEKKyBsaWJnbmFybF9waWMuYSBsaWJnbmFybC5hIGxpYmduYXRfcGljLmEgbGliZ25h dC5hIGxpYmdtZW0uYSIKKworaWYgWyAiJGNyb3NzX2xpYmMiID0gImdsaWJjIiAtYSAiJFhCUFNf VEFSR0VUX0xJQkMiICE9ICJnbGliYyIgXTsgdGhlbgorICAgIGJyb2tlbj0iZ2xpYmMgY3Jvc3N0 b29sY2hhaW5zIGFyZSBvbmx5IGF2YWlsYWJsZSBvbiBnbGliYyBob3N0cyBmb3Igbm93IgorZmkK CkZyb20gM2RiMzlmMjk0YTVmYTY0MGQwYjdiMjUyMjdlNDQ0YzY3NzU4NDM2OCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogcTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KRGF0ZTogRnJp LCAyNSBEZWMgMjAyMCAwMDo0Mzo0OCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMy84XSBjcm9zcy1h YXJjaDY0LWxpbnV4LWdudTogcmVkbyB3aXRoIHZvaWQtY3Jvc3MKCi0tLQogc3JjcGtncy9jcm9z cy1hYXJjaDY0LWxpbnV4LWdudS90ZW1wbGF0ZSB8IDM2NyArKy0tLS0tLS0tLS0tLS0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDM0OCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2Nyb3NzLWFhcmNoNjQtbGludXgtZ251L3RlbXBsYXRlIGIvc3Jj cGtncy9jcm9zcy1hYXJjaDY0LWxpbnV4LWdudS90ZW1wbGF0ZQppbmRleCBiMDEyMmM4ZWM0YS4u ZjUwZDE3YjhiODAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3Jvc3MtYWFyY2g2NC1saW51eC1nbnUv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9jcm9zcy1hYXJjaDY0LWxpbnV4LWdudS90ZW1wbGF0ZQpA QCAtMSwyMSArMSwyMSBAQAotIyBUZW1wbGF0ZSBidWlsZCBmaWxlIGZvciAnY3Jvc3MtYWFyY2g2 NC1saW51eC1nbnUnCi0jCisjIFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy1hYXJjaDY0LWxpbnV4 LWdudScKK190cmlwbGV0PWFhcmNoNjQtbGludXgtZ251CiBfYmludXRpbHNfdmVyc2lvbj0yLjMy CiBfZ2NjX3ZlcnNpb249OS4zLjAKIF9nbGliY192ZXJzaW9uPTIuMzAKIF9saW51eF92ZXJzaW9u PTQuMTkKLQotX3RyaXBsZXQ9YWFyY2g2NC1saW51eC1nbnUKLV9hcmNoZmxhZ3M9Ii1tYXJjaD1h cm12OC1hIgotX3N5c3Jvb3Q9Ii91c3IvJHtfdHJpcGxldH0iCi0KIHBrZ25hbWU9Y3Jvc3MtJHtf dHJpcGxldH0KIHZlcnNpb249MC4zMwogcmV2aXNpb249Mwotc2hvcnRfZGVzYz0iR05VIENyb3Nz IHRvb2xjaGFpbiBmb3IgdGhlICR7X3RyaXBsZXR9IExFIHRhcmdldCAoYmludXRpbHMvZ2NjL2ds aWJjKSIKK2J1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKK2NvbmZpZ3VyZV9hcmdzPSItLXdpdGgtYXJj aD1hcm12OC1hIgoraG9zdG1ha2VkZXBlbmRzPSJ0YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXggcGVy bCBweXRob24zIgorbWFrZWRlcGVuZHM9ImlzbDE1LWRldmVsIGxpYm1wYy1kZXZlbCB6bGliLWRl dmVsIGdtcC1kZXZlbCBtcGZyLWRldmVsIgorZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7dmVy c2lvbn1fJHtyZXZpc2lvbn0iCitzaG9ydF9kZXNjPSJWb2lkIGNyb3NzIHRvb2xjaGFpbiBmb3Ig JHtfdHJpcGxldH0iCiBtYWludGFpbmVyPSJMZWFoIE5ldWtpcmNoZW4gPGxlYWhAdnV4dS5vcmc+ IgotaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmcvIgogbGljZW5zZT0iR1BMLTIu MC1vci1sYXRlciwgR1BMLTMuMC1vci1sYXRlciwgTEdQTC0yLjEtb3ItbGF0ZXIiCitob21lcGFn ZT0iaHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9yZy8iCiBkaXN0ZmlsZXM9IgogICR7R05VX1NJVEV9 L2JpbnV0aWxzL2JpbnV0aWxzLSR7X2JpbnV0aWxzX3ZlcnNpb259LnRhci54egogICR7R05VX1NJ VEV9L2djYy9nY2MtJHtfZ2NjX3ZlcnNpb259L2djYy0ke19nY2NfdmVyc2lvbn0udGFyLnh6CkBA IC0yNiwzNDkgKzI2LDIwIEBAIGNoZWNrc3VtPSIwYWI2YzU1ZGQ4NmE5MmVkNTYxOTcyYmExNWI5 YjcwYThiOWY3NTU1N2Y4OTY0NDZjODJlOGIzNmU0NzNlZTA0CiAgZTJjNDExNGU1NjlhZmJlN2Vk YmMyOTEzMWE0M2JlODMzODUwYWI5YTQ1OWQ4MWJlYjI1ODgwMTZkMmJiYjhhZgogIDBjNjhmNTY1 NTUyOGFlZDRmOTlkYWU3MWE1YjI1OWVkYzkzMjM5ZmE4OTllMmRmNzljMDU1Mjc1YzIxNzQ5YTEi CiAKLWxpYjMyZGlzYWJsZWQ9eWVzCi1ub2Nyb3NzPXllcwotbm9waWU9eWVzCi1jcmVhdGVfd3Jr c3JjPXllcwotaG9zdG1ha2VkZXBlbmRzPSJ0YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXggcGVybCBw eXRob24zIgotbWFrZWRlcGVuZHM9ImlzbDE1LWRldmVsIGxpYm1wYy1kZXZlbCB6bGliLWRldmVs IgotZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi1ub3N0 cmlwX2ZpbGVzPSJsaWJjYWZfc2luZ2xlLmEgbGliZ2NjLmEgbGliZ2Nvdi5hIGxpYmdjY19laC5h Ci0gbGliZ25hcmxfcGljLmEgbGliZ25hcmwuYSBsaWJnbmF0X3BpYy5hIGxpYmduYXQuYSBsaWJn bWVtLmEiCi0KLWlmIFsgIiRYQlBTX1RBUkdFVF9MSUJDIiAhPSAiZ2xpYmMiIF07IHRoZW4KLQli cm9rZW49ImdsaWJjIGNyb3NzdG9vbGNoYWluIG9ubHkgYXZhaWxhYmxlIG9uIGdsaWJjIgotZmkK LQotaWYgWyAiJFhCUFNfVEFSR0VUX1dPUkRTSVpFIiAhPSAiNjQiIF07IHRoZW4KLQlicm9rZW49 IjY0LWJpdCBjcm9zc3Rvb2xjaGFpbiBvbmx5IGF2YWlsYWJsZSBvbiA2NC1iaXQgaG9zdCIKLWZp Citjcm9zc190cmlwbGV0PSR7X3RyaXBsZXR9Citjcm9zc193b3Jkc2l6ZT02NAorY3Jvc3NfbGli Yz1nbGliYworY3Jvc3NfYmludXRpbHNfdmVyc2lvbj0ke19iaW51dGlsc192ZXJzaW9ufQorY3Jv c3NfZ2NjX3ZlcnNpb249JHtfZ2NjX3ZlcnNpb259Citjcm9zc19nbGliY192ZXJzaW9uPSR7X2ds aWJjX3ZlcnNpb259Citjcm9zc19saW51eF92ZXJzaW9uPSR7X2xpbnV4X3ZlcnNpb259Citjcm9z c19saW51eF9hcmNoPWFybTY0Citjcm9zc19nbGliY19jZmxhZ3M9Ii1PMiAtbWFyY2g9YXJtdjgt YSIKIAogaWYgWyAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiID0gImFhcmNoNjQiIF07IHRoZW4KIAli cm9rZW49IkNhbid0IGJ1aWxkIGNyb3NzdG9vbGNoYWluIHRvIGl0c2VsZiIKIGZpCiAKLV9hcHBs eV9wYXRjaCgpIHsKLQlsb2NhbCBhcmdzPSIkMSIgcG5hbWU9IiQoYmFzZW5hbWUgJDIpIgotCi0J aWYgWyAhIC1mICIuJHtwbmFtZX1fZG9uZSIgXTsgdGhlbgotCQlwYXRjaCAtTiAkYXJncyAtaSAk MgotCQl0b3VjaCAuJHtwbmFtZX1fZG9uZQotCWZpCi19Ci0KLV9saW51eF9oZWFkZXJzKCkgewot CVsgLWYgJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7 d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIExpbnV4IEFQSSBoZWFkZXJzIGZvciBBUk1c biIKLQotCWNkIGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0KLQltYWtlIEFSQ0g9YXJtNjQgaGVh ZGVyc19jaGVjawotCW1ha2UgQVJDSD1hcm02NCBJTlNUQUxMX0hEUl9QQVRIPSR7X3N5c3Jvb3R9 L3VzciBoZWFkZXJzX2luc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9u ZQotfQotCi1fYmludXRpbHNfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtz cmN9Ly5iaW51dGlsc19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQot CW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGJpbnV0aWxzXG4iCi0JWyAhIC1kIGJpbnV0aWxz LWJ1aWxkIF0gJiYgbWtkaXIgYmludXRpbHMtYnVpbGQKLQljZCBiaW51dGlscy1idWlsZAotCi0J X2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0J X2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1t dWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtd2Vycm9yIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1nb2xkIgotCV9hcmdzKz0iIC0td2l0aC1zeXN0ZW0temxpYiIKLQkuLi9iaW51dGlscy0ke19i aW51dGlsc192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgY29uZmlndXJlLWhv c3QgJiYgbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9 Ly5iaW51dGlsc19idWlsZF9kb25lCi19Ci0KLV9nY2NfYm9vdHN0cmFwKCkgewotCWxvY2FsIF9h cmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lIF0gJiYgcmV0dXJuIDAK LQotCWNkICR7d3Jrc3JjfS9nY2MtJHtfZ2NjX3ZlcnNpb259Ci0JZm9yIGYgaW4gJHtYQlBTX1NS Q1BLR0RJUn0vZ2NjL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJX2FwcGx5X3BhdGNoIC1wMCAiJGYi Ci0JZG9uZQotCi0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGJvb3RzdHJhcFxuIgot Ci0JWyAhIC1kIC4uL2djYy1ib290c3RyYXAgXSAmJiBta2RpciAuLi9nY2MtYm9vdHN0cmFwCi0J Y2QgLi4vZ2NjLWJvb3RzdHJhcAotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIg LS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRob3V0LWhlYWRlcnMiCi0JX2Fy Z3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtc2hhcmVkIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAtLWRpc2FibGUtZGVjaW1hbC1m bG9hdCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliZ29tcCIKLQlfYXJncys9IiAtLWRpc2FibGUt bGlibXB4IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtdWRmbGFwIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1saWJzc3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYml0bSIKLQlfYXJncys9IiAtLWRp c2FibGUtbGliYXRvbWljIgotCV9hcmdzKz0iIC0tZGlzYWJsZS10aHJlYWRzIgotCV9hcmdzKz0i IC0tZW5hYmxlLWxhbmd1YWdlcz1jIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1zamxqLWV4Y2VwdGlv bnMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9hcmdzKz0iIC0td2l0aC1nbnUt bGQiCi0JX2FyZ3MrPSIgLS13aXRoLWdudS1hcyIKLQotCS4uL2djYy0ke19nY2NfdmVyc2lvbn0v Y29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlICR7bWFrZWpvYnN9Ci0JbWFrZSBpbnN0YWxsCi0K LQl0b3VjaCAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZQotfQotCi1fZ2xpYmNfaGVhZGVy cygpIHsKLQlsb2NhbCBfYXJncyBmCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2xpYmNfaGVhZGVyc19k b25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9nbGliYy0ke19nbGliY192ZXJzaW9u fQotCWlmIFsgLWQgIiR7WEJQU19TUkNQS0dESVJ9L2dsaWJjL3BhdGNoZXMiIF07IHRoZW4KLQkJ Zm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0vZ2xpYmMvcGF0Y2hlcy8qLnBhdGNoOyBkbwotCQkJ X2FwcGx5X3BhdGNoIC1wMSAiJGYiCi0JCWRvbmUKLQlmaQotCi0JY2QgJHt3cmtzcmN9Ci0JbXNn X25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2xpYmMgaGVhZGVyc1xuIgotCi0JWyAhIC1kIGdsaWJj LWhlYWRlcnMgXSAmJiBta2RpciBnbGliYy1oZWFkZXJzCi0JY2QgZ2xpYmMtaGVhZGVycwotCi0J ZWNobyAibGliY19jdl9mb3JjZWRfdW53aW5kPXllcyIgPiBjb25maWcuY2FjaGUKLQllY2hvICJs aWJjX2N2X2NfY2xlYW51cD15ZXMiID4+IGNvbmZpZy5jYWNoZQotCi0JZXhwb3J0IENDPSIke190 cmlwbGV0fS1nY2MiIExEPSIke190cmlwbGV0fS1sZCIgXAotCQlBUz0iJHtfdHJpcGxldH0tYXMi IENQUD0iJHtfdHJpcGxldH0tY3BwIiBcCi0JCU5NPSIke190cmlwbGV0fS1ubSIKLQotCV9hcmdz PSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0taG9zdD0ke190cmlwbGV0fSIKLQlfYXJncys9 IiAtLXdpdGgtaGVhZGVycz0ke19zeXNyb290fS91c3IvaW5jbHVkZSIKLQlfYXJncys9IiAtLWNv bmZpZy1jYWNoZSIKLQlfYXJncys9IiAtLWVuYWJsZS1vYnNvbGV0ZS1ycGMiCi0JX2FyZ3MrPSIg LS1lbmFibGUtb2Jzb2xldGUtbnNsIgotCV9hcmdzKz0iIC0tZW5hYmxlLWtlcm5lbD0yLjYuMjci Ci0KLQkuLi9nbGliYy0ke19nbGliY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1h a2UgLWsgaW5zdGFsbC1oZWFkZXJzIGNyb3NzX2NvbXBpbGluZz15ZXMgXAotCQlpbnN0YWxsX3Jv b3Q9JHtfc3lzcm9vdH0KLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2xpYmNfaGVhZGVyc19kb25lCi19 Ci0KLV9nbGliY19idWlsZCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmds aWJjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1h bCAiQnVpbGRpbmcgY3Jvc3MgZ2xpYmNcbiIKLQotCVsgISAtZCBnbGliYy1idWlsZCBdICYmIG1r ZGlyIGdsaWJjLWJ1aWxkCi0JY2QgZ2xpYmMtYnVpbGQKLQotCWVjaG8gInNsaWJkaXI9L3Vzci9s aWI2NCIgPiBjb25maWdwYXJtcwotCi0JZWNobyAibGliY19jdl9mb3JjZWRfdW53aW5kPXllcyIg PiBjb25maWcuY2FjaGUKLQllY2hvICJsaWJjX2N2X2NfY2xlYW51cD15ZXMiID4+IGNvbmZpZy5j YWNoZQotCi0JZXhwb3J0IENDPSIke190cmlwbGV0fS1nY2MiIENYWD0iJHtfdHJpcGxldH0tZysr IiBMRD0iJHtfdHJpcGxldH0tbGQiIFwKLQkJQVM9IiR7X3RyaXBsZXR9LWFzIiBDUFA9IiR7X3Ry aXBsZXR9LWNwcCIgXAotCQlOTT0iJHtfdHJpcGxldH0tbm0iCi0JZXhwb3J0IENGTEFHUz0iLU8x IC1waXBlICR7X2FyY2hmbGFnc30iCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9 IiAtLWxpYmRpcj0vdXNyL2xpYjY0IgotCV9hcmdzKz0iIC0taG9zdD0ke190cmlwbGV0fSIKLQlf YXJncys9IiAtLXdpdGgtaGVhZGVycz0ke19zeXNyb290fS91c3IvaW5jbHVkZSIKLQlfYXJncys9 IiAtLWNvbmZpZy1jYWNoZSIKLQlfYXJncys9IiAtLWVuYWJsZS1vYnNvbGV0ZS1ycGMiCi0JX2Fy Z3MrPSIgLS1lbmFibGUtb2Jzb2xldGUtbnNsIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1wcm9maWxl IgotCV9hcmdzKz0iIC0tZW5hYmxlLWtlcm5lbD0yLjYuMjciCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LXdlcnJvciIKLQotCS4uL2dsaWJjLSR7X2dsaWJjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdz fQotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbF9yb290PSR7X3N5c3Jvb3R9IGlu c3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2xpYmNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2J1 aWxkKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUg XSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jv c3MgZ2NjIGZpbmFsXG4iCi0KLQlbICEgLWQgZ2NjLWJ1aWxkIF0gJiYgbWtkaXIgZ2NjLWJ1aWxk Ci0JY2QgZ2NjLWJ1aWxkCi0KLQlleHBvcnQgQ0M9ImdjYyIgQ1hYPSJnKysiIENGTEFHUz0iLU9z IC1waXBlIgotCXVuc2V0IExEIEFTCi0KLQkjIE1ha2UgdGhpcyBsaW5rIHRvIHRhcmdldCBsaWJz LgotCWlmIFsgISAtZiAuc2VkX3N1YnN0X2RvbmUgXTsgdGhlbgotCQlzZWQgLWUgInMsIC9saWIv LCAke19zeXNyb290fS9saWIvLGc7cywgL3Vzci9saWIvLCAke19zeXNyb290fS91c3IvbGliLyxn IiBcCi0JCQktaSAke19zeXNyb290fS9saWIvbGliYy5zbwotCQlzZWQgLWUgInMsIC9saWI2NC8s ICR7X3N5c3Jvb3R9L2xpYjY0LyxnO3MsIC91c3IvbGliNjQvLCAke19zeXNyb290fS91c3IvbGli NjQvLGciIFwKLQkJCS1pICR7X3N5c3Jvb3R9L2xpYi9saWJjLnNvCi0JCXRvdWNoIC5zZWRfc3Vi c3RfZG9uZQotCWZpCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLWxpYmV4 ZWNkaXI9L3Vzci9saWIiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3Mr PSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3Vh Z2VzPWMsYWRhLGMrKyxvYmpjLG9iai1jKyssZ28sZm9ydHJhbixsdG8iCi0JX2FyZ3MrPSIgLS13 aXRoLWdudS1hcyIKLQlfYXJncys9IiAtLXdpdGgtZ251LWxkIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1zamxqLWV4Y2VwdGlvbnMiCi0JX2FyZ3MrPSIgLS1lbmFibGUtdGhyZWFkcz1wb3NpeCIKLQlf YXJncys9IiAtLWVuYWJsZS1sb25nLWxvbmd4IgotCV9hcmdzKz0iIC0tZW5hYmxlLXNoYXJlZCIK LQlfYXJncys9IiAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQiCi0JX2FyZ3MrPSIgLS1lbmFibGUt Z251LXVuaXF1ZS1vYmplY3QiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGliYWRhIgotCV9hcmdzKz0i IC0tZW5hYmxlLWx0byIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0LXBpZSIKLQlfYXJncys9 IiAtLWVuYWJsZS1kZWZhdWx0LXNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgi Ci0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXVk ZmxhcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic2FuaXRpemVyIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1saWJjaWxrcnRzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJpdG0iCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLWxpYnZ0diIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic3RkY3h4LXBjaCIKLQlf YXJncys9IiAtLWVuYWJsZS1saWJzdGRjeHgtdGltZSIKLQlfYXJncys9IiAtLXdpdGgtbGlua2Vy LWhhc2gtc3R5bGU9Z251IgotCi0JLi4vZ2NjLSR7X2djY192ZXJzaW9ufS9jb25maWd1cmUgJHtf YXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2J1aWxk X2RvbmUKLX0KLQotZG9fYnVpbGQoKSB7Ci0JdW5zZXQgTERGTEFHUwotCWV4cG9ydCBDRkxBR1M9 Ii1PcyIgQ1hYRkxBR1M9Ii1PcyIKLQotCWZvciBmIGluIGluY2x1ZGUgbGliIGxpYmV4ZWMgYmlu IHNiaW47IGRvCi0JCWlmIFsgISAtZCAke19zeXNyb290fS91c3IvJHtmfSBdOyB0aGVuCi0JCQlt a2RpciAtcCAke19zeXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtfc3lzcm9v dH0vJHtmfSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7X3N5c3Jvb3R9L3Vzci8ke2Z9ICR7X3N5c3Jv b3R9LyR7Zn0KLQkJZmkKLQlkb25lCi0JbG4gLXNmIGxpYiAke19zeXNyb290fS91c3IvbGliNjQK LQlsbiAtc2YgdXNyL2xpYiAke19zeXNyb290fS9saWI2NAotCi0JX2JpbnV0aWxzX2J1aWxkCi0J X2djY19ib290c3RyYXAKLQlfbGludXhfaGVhZGVycwotCV9nbGliY19oZWFkZXJzCi0JX2dsaWJj X2J1aWxkCi0JX2djY19idWlsZAotfQotCi1kb19pbnN0YWxsKCkgewotCWZvciBmIGluIGluY2x1 ZGUgbGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsgISAtZCAke0RFU1RESVJ9LyR7X3N5 c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGlyIC1wICR7REVTVERJUn0vJHtfc3lzcm9v dH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYgWyAhIC1oICR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtm fSBdOyB0aGVuCi0JCQlsbiAtc2ZyICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXAot CQkJCSR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGli ICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYjY0Ci0JbG4gLXNmIHVzci9saWIgJHtERVNU RElSfS8ke19zeXNyb290fS9saWI2NAotCi0JIyBpbnN0YWxsIGNyb3NzIGJpbnV0aWxzCi0JY2Qg JHt3cmtzcmN9L2JpbnV0aWxzLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFs bAotCi0JIyBpbnN0YWxsIGNyb3NzIGdjYwotCWNkICR7d3Jrc3JjfS9nY2MtYnVpbGQKLQltYWtl IERFU1RESVI9JHtERVNURElSfSBpbnN0YWxsCi0KLQkjIG1vdmUgbGliY2MxLnNvKiB0byB0aGUg c3lzcm9vdAotCW12ICR7REVTVERJUn0vdXNyL2xpYi9saWJjYzEuc28qICR7REVTVERJUn0vJHtf c3lzcm9vdH0vdXNyL2xpYgotCi0JIyBpbnN0YWxsIGxpbnV4IEFQSSBoZWFkZXJzIGZvciBBUk02 NAotCWNkICR7d3Jrc3JjfS9saW51eC0ke19saW51eF92ZXJzaW9ufQotCW1ha2UgQVJDSD1hcm02 NCBJTlNUQUxMX0hEUl9QQVRIPSR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5z dGFsbAotCXJtIC1mICQoZmluZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIC1u YW1lIC5pbnN0YWxsIC1vciAtbmFtZSAuLmluc3RhbGwuY21kKQotCXJtIC1yZiAke0RFU1RESVJ9 LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlL2RybQotCi0JIyBpbnN0YWxsIGdsaWJjIGZvciB0YXJn ZXQKLQljZCAke3dya3NyY30vZ2xpYmMtYnVpbGQKLQltYWtlIGluc3RhbGxfcm9vdD0ke0RFU1RE SVJ9LyR7X3N5c3Jvb3R9IGluc3RhbGwgaW5zdGFsbC1oZWFkZXJzCi0KLQkjIHN5bWxpbmtzIGZv ciBnbmFybCBhbmQgZ25hdCBzaGFyZWQgbGlicmFyaWVzCi0JX21ham9ydmVyPSR7X2djY192ZXJz aW9uJS4qLip9Ci0JX2FkYWxpYj11c3IvbGliL2djYy8ke190cmlwbGV0fS8ke19nY2NfdmVyc2lv bn0vYWRhbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXJsLSR7X21ham9y dmVyfS5zbyAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQltdiAtdiAke0RFU1RESVJ9 LyR7X2FkYWxpYn0vbGliZ25hdC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8ke19zeXNyb290 fS91c3IvbGliCi0JbG4gLXN2ZiBsaWJnbmFybC0ke19tYWpvcnZlcn0uc28gbGliZ25hcmwuc28K LQlsbiAtc3ZmIGxpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXQuc28KLQlybSAtdmYgJHtE RVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXtybCx0fS5zbwotCi0JIyBXZSBuZWVkIHRvIGJ1aWxk IGxpYmF0b21pYyBpbiB0YXJnZXQgZ2NjIGFzIGdjY2dvIG5lZWRzIGl0IHRvCi0JIyBidWlsZC4u LiBidXQgaXQncyBub3QgbmVlZGVkIGF0IHJ1bnRpbWUsIHNvIHJlbW92ZSBpdCBmcm9tIHRoZQot CSMgZGVzdGRpciBzbyBpdCBkb2Vzbid0IGNvbmZsaWN0IHdpdGggdGhlIGxpYmF0b21pYyBwYWNr YWdlCi0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliL2xpYmF0b21pYy4qCi0K LQkjIFJlbW92ZSB1bm5lY2Vzc2FyeSBzdHVmZgotCXJtIC1mICR7REVTVERJUn0vdXNyL2xpYiov bGliaWJlcnR5LmEKLQlybSAtcmYgJHtERVNURElSfS91c3Ivc2hhcmUKLQlybSAtcmYgJHtERVNU RElSfS8ke19zeXNyb290fS97c2JpbixldGMsdmFyfQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5 c3Jvb3R9L3Vzci97c2JpbixzaGFyZSxsaWJleGVjfQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lz cm9vdH0vbGliZXhlYwotfQotCi1kb19jbGVhbigpIHsKLQkjIFJlbW92ZSB0ZW1wb3Jhcnkgc3R1 ZmYgZnJvbSBtYXN0ZXJkaXIKLQlybSAtcmYgJHtfc3lzcm9vdH0KLQlybSAtZiAvdXNyL2Jpbi8k e190cmlwbGV0fSoKLQlybSAtcmYgL3Vzci9saWIvZ2NjLyR7X3RyaXBsZXR9Ci0Jcm0gLXJmIC91 c3IvbGliZXhlYy9nY2MvJHtfdHJpcGxldH0KLX0KLQogY3Jvc3MtYWFyY2g2NC1saW51eC1nbnUt bGliY19wYWNrYWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBnbGliYyBmaWxlcyIKIAlub3N0cmlw PXllcwpAQCAtMzc2LDYgKzQ3LDYgQEAgY3Jvc3MtYWFyY2g2NC1saW51eC1nbnUtbGliY19wYWNr YWdlKCkgewogCW5vdmVyaWZ5cmRlcHM9eWVzCiAKIAlwa2dfaW5zdGFsbCgpIHsKLQkJdm1vdmUg JHtfc3lzcm9vdH0KKwkJdm1vdmUgdXNyLyR7Y3Jvc3NfdHJpcGxldH0KIAl9CiB9CgpGcm9tIGVl MmY5ODExNzZlNjhhYzZlMDE1NGZmMTQzYTA0MGZkYjBmMjVmZTIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+CkRhdGU6IEZyaSwgMjUgRGVj IDIwMjAgMTQ6NTI6MzYgKzAxMDAKU3ViamVjdDogW1BBVENIIDQvOF0gY3Jvc3MtYWFyY2g2NC1s aW51eC1tdXNsOiByZWRvIHdpdGggdm9pZC1jcm9zcwoKLS0tCiBzcmNwa2dzL2Nyb3NzLWFhcmNo NjQtbGludXgtbXVzbC90ZW1wbGF0ZSB8IDMwOSArKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMjg4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvY3Jvc3MtYWFyY2g2NC1saW51eC1tdXNsL3RlbXBsYXRlIGIvc3JjcGtncy9j cm9zcy1hYXJjaDY0LWxpbnV4LW11c2wvdGVtcGxhdGUKaW5kZXggOGQ0NTg3Y2ZlNDguLjc2YjM2 YjY2MGI2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLWFhcmNoNjQtbGludXgtbXVzbC90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL2Nyb3NzLWFhcmNoNjQtbGludXgtbXVzbC90ZW1wbGF0ZQpAQCAt MSwxOSArMSwxOSBAQAotIyBUZW1wbGF0ZSBidWlsZCBmaWxlIGZvciAnY3Jvc3MtYWFyY2g2NC1s aW51eC1tdXNsJwotIworIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3Jvc3MtYWFyY2g2NC1saW51eC1t dXNsJworX3RyaXBsZXQ9YWFyY2g2NC1saW51eC1tdXNsCiBfYmludXRpbHNfdmVyc2lvbj0yLjMy CiBfZ2NjX3ZlcnNpb249OS4zLjAKIF9tdXNsX3ZlcnNpb249MS4xLjI0CiBfbGludXhfdmVyc2lv bj00LjE5CiBfbGlidWNvbnRleHRfdmVyc2lvbj0wLjkuMAotCi1fdHJpcGxldD1hYXJjaDY0LWxp bnV4LW11c2wKLV9hcmNoZmxhZ3M9Ii1tYXJjaD1hcm12OC1hIgotX3N5c3Jvb3Q9Ii91c3IvJHtf dHJpcGxldH0iCi0KIHBrZ25hbWU9Y3Jvc3MtJHtfdHJpcGxldH0KIHZlcnNpb249MC4zMwogcmV2 aXNpb249NAotc2hvcnRfZGVzYz0iQ3Jvc3MgdG9vbGNoYWluIGZvciBBUk02NCBMRSB0YXJnZXQg KG11c2wpIgorYnVpbGRfc3R5bGU9dm9pZC1jcm9zcworY29uZmlndXJlX2FyZ3M9Ii0td2l0aC1h cmNoPWFybXY4LWEiCitob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxleCBw ZXJsIHB5dGhvbjMiCittYWtlZGVwZW5kcz0iaXNsMTUtZGV2ZWwgbGlibXBjLWRldmVsIHpsaWIt ZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwiCitkZXBlbmRzPSIke3BrZ25hbWV9LWxpYmMtJHt2 ZXJzaW9ufV8ke3JldmlzaW9ufSIKK3Nob3J0X2Rlc2M9IlZvaWQgY3Jvc3MgdG9vbGNoYWluIGZv ciAke190cmlwbGV0fSIKIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9y Zz4iCiBob21lcGFnZT0iaHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9yZy8iCiBsaWNlbnNlPSJHUEwt Mi4wLW9yLWxhdGVyLCBHUEwtMy4wLW9yLWxhdGVyLCBNSVQiCkBAIC0yOSwyOTYgKzI5LDI5IEBA IGNoZWNrc3VtPSIwYWI2YzU1ZGQ4NmE5MmVkNTYxOTcyYmExNWI5YjcwYThiOWY3NTU1N2Y4OTY0 NDZjODJlOGIzNmU0NzNlZTA0CiAgMGM2OGY1NjU1NTI4YWVkNGY5OWRhZTcxYTViMjU5ZWRjOTMy MzlmYTg5OWUyZGY3OWMwNTUyNzVjMjE3NDlhMQogIDBkNTNhNDE1YTMwN2VmMTc1MTUzYmJlNjBh NTcyYzk0MGE5MjJjYjczNmNlMTM1MzBiNjY2ZTdlYzI3OTVkNjgiCiAKLWxpYjMyZGlzYWJsZWQ9 eWVzCi1ub2Nyb3NzPXllcwotbm9waWU9eWVzCi1ub2RlYnVnPXllcwotY3JlYXRlX3dya3NyYz15 ZXMKLQotaG9zdG1ha2VkZXBlbmRzPSJ0YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXggcGVybCBweXRo b24zIgotbWFrZWRlcGVuZHM9InpsaWItZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2ZWwgbGlibXBj LWRldmVsIGlzbDE1LWRldmVsIgotbm9zdHJpcF9maWxlcz0ibGliY2FmX3NpbmdsZS5hIGxpYmdj Yy5hIGxpYmdjb3YuYSBsaWJnY2NfZWguYQotIGxpYmduYXJsX3BpYy5hIGxpYmduYXJsLmEgbGli Z25hdF9waWMuYSBsaWJnbmF0LmEgbGliZ21lbS5hIgotZGVwZW5kcz0iJHtwa2duYW1lfS1saWJj LSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi0KLWlmIFsgIiRYQlBTX1RBUkdFVF9XT1JEU0laRSIg IT0gIjY0IiBdOyB0aGVuCi0JYnJva2VuPSI2NC1iaXQgY3Jvc3N0b29sY2hhaW4gb25seSBhdmFp bGFibGUgb24gNjQtYml0IGhvc3QiCi1maQorY3Jvc3NfdHJpcGxldD0ke190cmlwbGV0fQorY3Jv c3Nfd29yZHNpemU9NjQKK2Nyb3NzX2xpYmM9bXVzbAorY3Jvc3NfYmludXRpbHNfdmVyc2lvbj0k e19iaW51dGlsc192ZXJzaW9ufQorY3Jvc3NfZ2NjX3ZlcnNpb249JHtfZ2NjX3ZlcnNpb259Citj cm9zc19tdXNsX3ZlcnNpb249JHtfbXVzbF92ZXJzaW9ufQorY3Jvc3NfbGludXhfdmVyc2lvbj0k e19saW51eF92ZXJzaW9ufQorY3Jvc3NfbGlidWNvbnRleHRfdmVyc2lvbj0ke19saWJ1Y29udGV4 dF92ZXJzaW9ufQorY3Jvc3NfbGlidWNvbnRleHRfYXJjaD1hYXJjaDY0Citjcm9zc19saW51eF9h cmNoPWFybTY0Citjcm9zc19tdXNsX2NmbGFncz0iLU8yIC1tYXJjaD1hcm12OC1hIgogCiBpZiBb ICIkWEJQU19UQVJHRVRfTUFDSElORSIgPSAiYWFyY2g2NC1tdXNsIiBdOyB0aGVuCiAJYnJva2Vu PSJDYW4ndCBidWlsZCBjcm9zc3Rvb2xjaGFpbiB0byBpdHNlbGYiCiBmaQogCi1fYXBwbHlfcGF0 Y2goKSB7Ci0JbG9jYWwgYXJncz0iJDEiIHBuYW1lPSIkKGJhc2VuYW1lICQyKSIKLQotCWlmIFsg ISAtZiAiLiR7cG5hbWV9X2RvbmUiIF07IHRoZW4KLQkJcGF0Y2ggLU4gJGFyZ3MgLWkgJDIKLQkJ dG91Y2ggLiR7cG5hbWV9X2RvbmUKLQlmaQotfQotCi1fYmludXRpbHNfYnVpbGQoKSB7Ci0JbG9j YWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5iaW51dGlsc19idWlsZF9kb25lIF0gJiYgcmV0 dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGJpbnV0 aWxzIGJvb3RzdHJhcFxuIgotCi0JWyAhIC1kIGJpbnV0aWxzLWJ1aWxkIF0gJiYgbWtkaXIgYmlu dXRpbHMtYnVpbGQKLQljZCBiaW51dGlscy1idWlsZAotCV9hcmdzPSItLXByZWZpeD0vdXNyIgot CV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290 PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLW11bHRpbGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS13ZXJyb3IiCi0JX2FyZ3MrPSIgLS1k aXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLXdpdGgtc3lzdGVtLXpsaWIiCi0KLQkuLi9iaW51 dGlscy0ke19iaW51dGlsc192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgY29u ZmlndXJlLWhvc3QgJiYgbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAotCi0JdG91Y2gg JHt3cmtzcmN9Ly5iaW51dGlsc19idWlsZF9kb25lCi19Ci0KLV9nY2NfYm9vdHN0cmFwKCkgewot CWxvY2FsIF9hcmdzCi0JWyAtZiAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZSBdICYmIHJl dHVybiAwCi0KLQljZCAke3dya3NyY30vZ2NjLSR7X2djY192ZXJzaW9ufQotCWZvciBmIGluICR7 WEJQU19TUkNQS0dESVJ9L2djYy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAt cDAgIiRmIgotCWRvbmUKLQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9nY2MvZmlsZXMvKi1t dXNsLnBhdGNoOyBkbwotCQlfYXBwbHlfcGF0Y2ggLXAxICIkZiIKLQlkb25lCi0KLQltc2dfbm9y bWFsICJCdWlsZGluZyBjcm9zcyBnY2MgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQgLi4vZ2NjLWJv b3RzdHJhcCBdICYmIG1rZGlyIC4uL2djYy1ib290c3RyYXAKLQljZCAuLi9nY2MtYm9vdHN0cmFw Ci0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0 fSIKLQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLXdp dGgtbmV3bGliIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jIgotCV9hcmdzKz0iIC0t d2l0aC1uZXdsaWIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRp c2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAt LWRpc2FibGUtdGhyZWFkcyIKLQlfYXJncys9IiAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCIKLQlf YXJncys9IiAtLWRpc2FibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtdWRmbGFw IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJnb21wIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJh dG9taWMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXN5bXZlcnMiCi0JX2FyZ3MrPSIgbGliYXRfY3Zf aGF2ZV9pZnVuYz1ubyIKLQotCUNGTEFHUz0iLU8wIC1nMCIgQ1hYRkxBR1M9Ii1PMCAtZzAiIFwK LQkJLi4vZ2NjLSR7X2djY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHtt YWtlam9ic30KLQltYWtlIGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJh cF9kb25lCi19Ci0KLV9saW51eF9oZWFkZXJzKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5saW51eF9i dWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1 aWxkaW5nIExpbnV4IEFQSSBoZWFkZXJzXG4iCi0KLQljZCBsaW51eC0ke19saW51eF92ZXJzaW9u fQotCi0JZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0va2VybmVsLWxpYmMtaGVhZGVycy9wYXRj aGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgJGYKLQlkb25lCi0KLQltYWtlIEFS Q0g9YXJtNjQgaGVhZGVyc19jaGVjawotCW1ha2UgQVJDSD1hcm02NCBJTlNUQUxMX0hEUl9QQVRI PSR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8ubGlu dXhfYnVpbGRfZG9uZQotfQotCi1fbXVzbF9idWlsZCgpIHsKLQlbIC1mICR7d3Jrc3JjfS8ubXVz bF9idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfS9tdXNsLSR7X211c2xf dmVyc2lvbn0KLQltc2dfbm9ybWFsICJCdWlsZGluZyBjcm9zcyBtdXNsIGxpYmNcbiIKLQotCSMg QXBwbHkgbXVzbCBwYXRjaGVzIGlmIHRoZXJlIGFyZSBhbnkKLQlpZiBbIC1kICIke1hCUFNfU1JD UEtHRElSfS9tdXNsL3BhdGNoZXMiIF07IHRoZW4KLQkJZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJ Un0vbXVzbC9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCQlfYXBwbHlfcGF0Y2ggLXAwICIkZiIKLQkJ ZG9uZQotCWZpCi0KLQlDQz0iJHtfdHJpcGxldH0tZ2NjIiBMRD0iJHtfdHJpcGxldH0tbGQiIEFS PSIke190cmlwbGV0fS1hciIgXAotCQlBUz0iJHtfdHJpcGxldH0tYXMiIFJBTkxJQj0iJHtfdHJp cGxldH0tcmFubGliIiBcCi0JCUNGTEFHUz0iLU9zIC1waXBlIC1mUElDICR7X2FyY2hmbGFnc30i IFwKLQkJLi9jb25maWd1cmUgLS1wcmVmaXg9L3VzcgotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1h a2UgREVTVERJUj0ke19zeXNyb290fSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLm11c2xf YnVpbGRfZG9uZQotfQotCi1fbGlidWNvbnRleHRfYnVpbGQoKSB7Ci0JWyAtZiAke3dya3NyY30v LmxpYnVjb250ZXh0X2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9L2xp YnVjb250ZXh0LSR7X2xpYnVjb250ZXh0X3ZlcnNpb259Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcg Y3Jvc3MgbGlidWNvbnRleHRcbiIKLQotCSMgaXQncyBvayBpZiB3ZSdyZSBzdGF0aWMgb25seSBo ZXJlCi0JQ0M9IiR7X3RyaXBsZXR9LWdjYyIgQVI9IiR7X3RyaXBsZXR9LWFyIiBBUz0iJHtfdHJp cGxldH0tYXMiIFwKLQkJQ0ZMQUdTPSItT3MgLXBpcGUgJHtfYXJjaGZsYWdzfSIgXAotCQltYWtl IEFSQ0g9YWFyY2g2NCBsaWJ1Y29udGV4dC5hCi0KLQljcCBsaWJ1Y29udGV4dC5hICR7X3N5c3Jv b3R9L3Vzci9saWIKLQotCXRvdWNoICR7d3Jrc3JjfS8ubGlidWNvbnRleHRfYnVpbGRfZG9uZQot fQotCi1fZ2NjX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uZ2Nj X2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAi QnVpbGRpbmcgY3Jvc3MgZ2NjIGZpbmFsXG4iCi0KLQlbICEgLWQgZ2NjLWJ1aWxkIF0gJiYgbWtk aXIgZ2NjLWJ1aWxkCi0JY2QgZ2NjLWJ1aWxkCi0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlf YXJncys9IiAtLWxpYmV4ZWNkaXI9L3Vzci9saWIiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9JHtfdHJp cGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2FyZ3MrPSIg LS1lbmFibGUtbGFuZ3VhZ2VzPWMsYWRhLGMrKyxvYmpjLG9iai1jKyssZ28sZm9ydHJhbixsdG8i Ci0JX2FyZ3MrPSIgLS1lbmFibGUtbGliYWRhIgotCV9hcmdzKz0iIC0tZW5hYmxlLWx0byIKLQlf YXJncys9IiAtLWVuYWJsZS1kZWZhdWx0LXBpZSIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0 LXNzcCIKLQlfYXJncys9IiAtLWVuYWJsZS1saWJzc3AiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxp YnNhbml0aXplciIKLQlfYXJncys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1k aXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1lbmFibGUtc2hhcmVkIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1zeW12ZXJzIgotCV9hcmdzKz0iIGxpYmF0X2N2X2hhdmVfaWZ1bmM9bm8i Ci0KLQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAk e21ha2Vqb2JzfQotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZQotfQotCi1kb19i dWlsZCgpIHsKLQkjIEVuc3VyZSB3ZSB1c2Ugc2FuZSBlbnZpcm9ubWVudAotCXVuc2V0IENDIENY WCBDUFAgTEQgQVMgQVIgUkFOTElCIE9CSkRVTVAgUkVBREVMRiBOTQotCXVuc2V0IENGTEFHUyBD WFhGTEFHUyBDUFBGTEFHUyBMREZMQUdTCi0JZXhwb3J0IENGTEFHUz0iLU9zIC1waXBlIiBDWFhG TEFHUz0iLU9zIC1waXBlIgotCi0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2Jp bjsgZG8KLQkJaWYgWyAhIC1kICR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGly IC1wICR7X3N5c3Jvb3R9L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAke19zeXNyb290fS8k e2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtfc3lzcm9vdH0vdXNyLyR7Zn0gJHtfc3lzcm9vdH0v JHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGliICR7X3N5c3Jvb3R9L3Vzci9saWI2NAotCWxu IC1zZiB1c3IvbGliICR7X3N5c3Jvb3R9L2xpYjY0Ci0KLQlfYmludXRpbHNfYnVpbGQKLQlfZ2Nj X2Jvb3RzdHJhcAotCV9saW51eF9oZWFkZXJzCi0JX211c2xfYnVpbGQKLQlfbGlidWNvbnRleHRf YnVpbGQKLQlfZ2NjX2J1aWxkCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JZm9yIGYgaW4gaW5jbHVk ZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7REVTVERJUn0vJHtfc3lz cm9vdH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtERVNURElSfS8ke19zeXNyb290 fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9 IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfSBcCi0J CQkJJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIg JHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliNjQKLQlsbiAtc2YgdXNyL2xpYiAke0RFU1RE SVJ9LyR7X3N5c3Jvb3R9L2xpYjY0Ci0KLQkjIGluc3RhbGwgbGludXggQVBJIGhlYWRlcnMKLQlj ZCAke3dya3NyY30vbGludXgtJHtfbGludXhfdmVyc2lvbn0KLQltYWtlIEFSQ0g9YXJtNjQgSU5T VEFMTF9IRFJfUEFUSD0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwK LQlybSAtZiAkKGZpbmQgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZSAtbmFtZSAu aW5zdGFsbCAtb3IgLW5hbWUgLi5pbnN0YWxsLmNtZCkKLQlybSAtcmYgJHtERVNURElSfS8ke19z eXNyb290fS91c3IvaW5jbHVkZS9kcm0KLQotCSMgaW5zdGFsbCBjcm9zcyBiaW51dGlscwotCWNk ICR7d3Jrc3JjfS9iaW51dGlscy1idWlsZAotCW1ha2UgREVTVERJUj0ke0RFU1RESVJ9IGluc3Rh bGwKLQotCSMgaW5zdGFsbCBjcm9zcyBnY2MKLQljZCAke3dya3NyY30vZ2NjLWJ1aWxkCi0JbWFr ZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBtb3ZlIGxpYmNjMS5zbyogdG8gdGhl IHN5c3Jvb3QKLQltdiAke0RFU1RESVJ9L3Vzci9saWIvbGliY2MxLnNvKiAke0RFU1RESVJ9LyR7 X3N5c3Jvb3R9L3Vzci9saWIKLQotCSMgaW5zdGFsbCBtdXNsIGxpYmMgZm9yIHRhcmdldAotCWNk ICR7d3Jrc3JjfS9tdXNsLSR7X211c2xfdmVyc2lvbn0KLQltYWtlIERFU1RESVI9JHtERVNURElS fS8ke19zeXNyb290fSBpbnN0YWxsCi0KLQkjIFJlbW92ZSB1c2VsZXNzIGhlYWRlcnMuCi0Jcm0g LXJmICR7REVTVERJUn0vdXNyL2xpYi9nY2MvJHtfdHJpcGxldH0vKi9pbmNsdWRlLWZpeGVkCi0K LQkjIE1ha2UgbGQtbXVzbC5zbyBzeW1saW5rcyByZWxhdGl2ZS4KLQlsbiAtc2YgbGliYy5zbyAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIvbGQtbXVzbC1hYXJjaDY0LnNvLjEKLQotCSMg c3ltbGlua3MgZm9yIGduYXJsIGFuZCBnbmF0IHNoYXJlZCBsaWJyYXJpZXMKLQlfbWFqb3J2ZXI9 JHtfZ2NjX3ZlcnNpb24lLiouKn0KLQlfYWRhbGliPXVzci9saWIvZ2NjLyR7X3RyaXBsZXR9LyR7 X2djY192ZXJzaW9ufS9hZGFsaWIKLQltdiAtdiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25h cmwtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCW12IC12 ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF0LSR7X21ham9ydmVyfS5zbyAke0RFU1RESVJ9 LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQlsbiAtc3ZmIGxpYmduYXJsLSR7X21ham9ydmVyfS5zbyBs aWJnbmFybC5zbwotCWxuIC1zdmYgbGliZ25hdC0ke19tYWpvcnZlcn0uc28gbGliZ25hdC5zbwot CXJtIC12ZiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25he3JsLHR9LnNvCi0KLQkjIFdlIG5l ZWQgdG8gYnVpbGQgbGliYXRvbWljIGluIHRhcmdldCBnY2MgYXMgZ2NjZ28gbmVlZHMgaXQgdG8K LQkjIGJ1aWxkLi4uIGJ1dCBpdCdzIG5vdCBuZWVkZWQgYXQgcnVudGltZSwgc28gcmVtb3ZlIGl0 IGZyb20gdGhlCi0JIyBkZXN0ZGlyIHNvIGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCB0aGUgbGli YXRvbWljIHBhY2thZ2UKLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIvbGli YXRvbWljLioKLQotCSMgUmVtb3ZlIHVubmVjZXNzYXJ5IHN0dWZmCi0Jcm0gLWYgJHtERVNURElS fS91c3IvbGliKi9saWJpYmVydHkuYQotCXJtIC1yZiAke0RFU1RESVJ9L3Vzci9zaGFyZQotCXJt IC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tldGMsdmFyfQotCXJtIC1yZiAke0RFU1RESVJ9 LyR7X3N5c3Jvb3R9L3Vzci97c2JpbixzaGFyZSxsaWJleGVjfQotCXJtIC1mICR7REVTVERJUn0v JHtfc3lzcm9vdH0vbGliZXhlYwotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vbGliLyou cHkKLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3NiaW4KLX0KLQogY3Jvc3MtYWFyY2g2 NC1saW51eC1tdXNsLWxpYmNfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gbGliYyBmaWxl cyIKIAlub3N0cmlwPXllcwogCW5vc2hsaWJwcm92aWRlcz15ZXMKIAlub3ZlcmlmeXJkZXBzPXll cworCiAJcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlICR7X3N5c3Jvb3R9CisJCXZtb3ZlIHVzci8k e2Nyb3NzX3RyaXBsZXR9CiAJfQogfQoKRnJvbSAyNDExYmI0MTYyZWM5ODMwNzYyMjMzOGU1ZDY4 YzZmOWEwNzIzZTA0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBxNjYgPGRhbmllbEBv Y3RhZm9yZ2Uub3JnPgpEYXRlOiBGcmksIDI1IERlYyAyMDIwIDIwOjEwOjM1ICswMTAwClN1Ympl Y3Q6IFtQQVRDSCA1LzhdIGNyb3NzLWFybS1saW51eC1nbnVlYWJpOiByZWRvIHdpdGggdm9pZC1j cm9zcwoKLS0tCiBzcmNwa2dzL2Nyb3NzLWFybS1saW51eC1nbnVlYWJpL3RlbXBsYXRlIHwgMzY2 ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygr KSwgMzQ2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4 LWdudWVhYmkvdGVtcGxhdGUgYi9zcmNwa2dzL2Nyb3NzLWFybS1saW51eC1nbnVlYWJpL3RlbXBs YXRlCmluZGV4IGU1ODEwMGU2OGRmLi5iMWU1OTA0NGZiZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9j cm9zcy1hcm0tbGludXgtZ251ZWFiaS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nyb3NzLWFybS1s aW51eC1nbnVlYWJpL3RlbXBsYXRlCkBAIC0xLDIyICsxLDIxIEBACi0jIFRlbXBsYXRlIGJ1aWxk IGZpbGUgZm9yICdjcm9zcy1hcm0tbGludXgtZ251ZWFiaScKLSMKKyMgVGVtcGxhdGUgZmlsZSBm b3IgJ2Nyb3NzLWFybS1saW51eC1nbnVlYWJpJworX3RyaXBsZXQ9YXJtLWxpbnV4LWdudWVhYmkK IF9iaW51dGlsc192ZXJzaW9uPTIuMzIKIF9nY2NfdmVyc2lvbj05LjMuMAogX2dsaWJjX3ZlcnNp b249Mi4zMAogX2xpbnV4X3ZlcnNpb249NC4xOQotCi1fdHJpcGxldD1hcm0tbGludXgtZ251ZWFi aQotX2ZwdWZsYWdzPSItLXdpdGgtYXJjaD1hcm12NXRlIC0td2l0aG91dC1mcCAtLXdpdGgtZmxv YXQ9c29mdCIKLV9hcmNoZmxhZ3M9Ii1tYXJjaD1hcm12NXRlIC1tc29mdC1mbG9hdCAtbWZsb2F0 LWFiaT1zb2Z0IgotX3N5c3Jvb3Q9Ii91c3IvJHtfdHJpcGxldH0iCi0KIHBrZ25hbWU9Y3Jvc3Mt JHtfdHJpcGxldH0KIHZlcnNpb249MC4zMwogcmV2aXNpb249Mgotc2hvcnRfZGVzYz0iR05VIENy b3NzIHRvb2xjaGFpbiBmb3IgdGhlICR7X3RyaXBsZXR9IExFIHRhcmdldCAoYmludXRpbHMvZ2Nj L2dsaWJjKSIKK2J1aWxkX3N0eWxlPXZvaWQtY3Jvc3MKK2NvbmZpZ3VyZV9hcmdzPSItLXdpdGgt YXJjaD1hcm12NXRlIC0td2l0aC1mbG9hdD1zb2Z0IgoraG9zdG1ha2VkZXBlbmRzPSJ0YXIgZ2Nj LW9iamMgZ2NjLWdvIGZsZXggcGVybCBweXRob24zIgorbWFrZWRlcGVuZHM9ImlzbDE1LWRldmVs IGxpYm1wYy1kZXZlbCB6bGliLWRldmVsIGdtcC1kZXZlbCBtcGZyLWRldmVsIgorZGVwZW5kcz0i JHtwa2duYW1lfS1saWJjLSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCitzaG9ydF9kZXNjPSJWb2lk IGNyb3NzIHRvb2xjaGFpbiBmb3IgJHtfdHJpcGxldH0iCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8 b3JwaGFuQHZvaWRsaW51eC5vcmc+IgorbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciwgR1BMLTMu MC1vci1sYXRlciwgTEdQTC0yLjEtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cudm9p ZGxpbnV4Lm9yZy8iCi1saWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBHUEwtMy4wLW9yLWxhdGVy LCBMR1BMLTIuMS4wLW9yLWxhdGVyIgogZGlzdGZpbGVzPSIKICAke0dOVV9TSVRFfS9iaW51dGls cy9iaW51dGlscy0ke19iaW51dGlsc192ZXJzaW9ufS50YXIueHoKICAke0dOVV9TSVRFfS9nY2Mv Z2NjLSR7X2djY192ZXJzaW9ufS9nY2MtJHtfZ2NjX3ZlcnNpb259LnRhci54egpAQCAtMjcsMzQ2 ICsyNiwyMSBAQCBjaGVja3N1bT0iMGFiNmM1NWRkODZhOTJlZDU2MTk3MmJhMTViOWI3MGE4Yjlm NzU1NTdmODk2NDQ2YzgyZThiMzZlNDczZWUwNAogIGUyYzQxMTRlNTY5YWZiZTdlZGJjMjkxMzFh NDNiZTgzMzg1MGFiOWE0NTlkODFiZWIyNTg4MDE2ZDJiYmI4YWYKICAwYzY4ZjU2NTU1MjhhZWQ0 Zjk5ZGFlNzFhNWIyNTllZGM5MzIzOWZhODk5ZTJkZjc5YzA1NTI3NWMyMTc0OWExIgogCi1saWIz MmRpc2FibGVkPXllcwotbm9jcm9zcz15ZXMKLW5vcGllPXllcwotbm9kZWJ1Zz15ZXMKLWNyZWF0 ZV93cmtzcmM9eWVzCi0KLWhvc3RtYWtlZGVwZW5kcz0idGFyIGdjYy1vYmpjIGdjYy1nbyBmbGV4 IHBlcmwgcHl0aG9uMyIKLW1ha2VkZXBlbmRzPSJpc2wxNS1kZXZlbCBsaWJtcGMtZGV2ZWwgemxp Yi1kZXZlbCIKLWRlcGVuZHM9IiR7cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259 Igotbm9zdHJpcF9maWxlcz0ibGliY2FmX3NpbmdsZS5hIGxpYmdjYy5hIGxpYmdjb3YuYSBsaWJn Y2NfZWguYQotIGxpYmduYXJsX3BpYy5hIGxpYmduYXJsLmEgbGliZ25hdF9waWMuYSBsaWJnbmF0 LmEgbGliZ21lbS5hIgotCi1pZiBbICIkWEJQU19UQVJHRVRfTElCQyIgIT0gImdsaWJjIiBdOyB0 aGVuCi0JYnJva2VuPSJnbGliYyBjcm9zc3Rvb2xjaGFpbiBvbmx5IGF2YWlsYWJsZSBvbiBnbGli YyIKLWZpCitjcm9zc190cmlwbGV0PSR7X3RyaXBsZXR9Citjcm9zc193b3Jkc2l6ZT0zMgorY3Jv c3NfbGliYz1nbGliYworY3Jvc3NfYmludXRpbHNfdmVyc2lvbj0ke19iaW51dGlsc192ZXJzaW9u fQorY3Jvc3NfZ2NjX3ZlcnNpb249JHtfZ2NjX3ZlcnNpb259Citjcm9zc19nbGliY192ZXJzaW9u PSR7X2dsaWJjX3ZlcnNpb259Citjcm9zc19saW51eF92ZXJzaW9uPSR7X2xpbnV4X3ZlcnNpb259 Citjcm9zc19saW51eF9hcmNoPWFybQorY3Jvc3NfZ2xpYmNfY29uZmlndXJlX2FyZ3M9Ii0td2l0 aG91dC1mcCIKK2Nyb3NzX2dsaWJjX2NmbGFncz0iLU9zIC1tYXJjaD1hcm12NXRlIC1tc29mdC1m bG9hdCAtbWZsb2F0LWFiaT1zb2Z0IgogCiBpZiBbICIkWEJQU19UQVJHRVRfTUFDSElORSIgPSAi YXJtdjV0ZWwiIF07IHRoZW4KIAlicm9rZW49IkNhbid0IGJ1aWxkIGNyb3NzdG9vbGNoYWluIHRv IGl0c2VsZiIKIGZpCiAKLV9hcHBseV9wYXRjaCgpIHsKLQlsb2NhbCBhcmdzPSIkMSIgcG5hbWU9 IiQoYmFzZW5hbWUgJDIpIgotCi0JaWYgWyAhIC1mICIuJHtwbmFtZX1fZG9uZSIgXTsgdGhlbgot CQlwYXRjaCAtTiAkYXJncyAtaSAkMgotCQl0b3VjaCAuJHtwbmFtZX1fZG9uZQotCWZpCi19Ci0K LV9saW51eF9oZWFkZXJzKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lIF0g JiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIExpbnV4 IEFQSSBoZWFkZXJzIGZvciBBUk1cbiIKLQotCWNkIGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0K LQltYWtlIEFSQ0g9YXJtIGhlYWRlcnNfY2hlY2sKLQltYWtlIEFSQ0g9YXJtIElOU1RBTExfSERS X1BBVEg9JHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9 Ly5saW51eF9idWlsZF9kb25lCi19Ci0KLV9iaW51dGlsc19idWlsZCgpIHsKLQlsb2NhbCBfYXJn cwotCi0JWyAtZiAke3dya3NyY30vLmJpbnV0aWxzX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAot Ci0JY2QgJHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgYmludXRpbHNcbiIK LQlbICEgLWQgYmludXRpbHMtYnVpbGQgXSAmJiBta2RpciBiaW51dGlscy1idWlsZAotCWNkIGJp bnV0aWxzLWJ1aWxkCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS10YXJnZXQ9 JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0JX2Fy Z3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtc2hhcmVkIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtd2Vycm9yIgotCV9h cmdzKz0iIC0td2l0aC1zeXN0ZW0temxpYiIKLQotCS4uL2JpbnV0aWxzLSR7X2JpbnV0aWxzX3Zl cnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSBjb25maWd1cmUtaG9zdAotCW1ha2Ug JHttYWtlam9ic30KLQltYWtlIGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uYmludXRpbHNf YnVpbGRfZG9uZQotfQotCi1fZ2NjX2Jvb3RzdHJhcCgpIHsKLQlsb2NhbCBfYXJncwotCi0JWyAt ZiAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dy a3NyY30vZ2NjLSR7X2djY192ZXJzaW9ufQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2dj Yy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCWRvbmUKLQot CW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdjYyBib290c3RyYXBcbiIKLQotCVsgISAtZCAu Li9nY2MtYm9vdHN0cmFwIF0gJiYgbWtkaXIgLi4vZ2NjLWJvb3RzdHJhcAotCWNkIC4uL2djYy1i b290c3RyYXAKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7 X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aG91dC1oZWFkZXJzIgotCV9hcmdzKz0iIC0tZGlz YWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWRpc2Fi bGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWRlY2ltYWwtZmxvYXQiCi0JX2Fy Z3MrPSIgLS1kaXNhYmxlLWxpYmdvbXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm1weCIKLQlf YXJncys9IiAtLWRpc2FibGUtbGlibXVkZmxhcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic3Nw IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJpdG0iCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmF0 b21pYyIKLQlfYXJncys9IiAtLWRpc2FibGUtdGhyZWFkcyIKLQlfYXJncys9IiAtLWVuYWJsZS1s YW5ndWFnZXM9YyIKLQlfYXJncys9IiAtLWRpc2FibGUtc2psai1leGNlcHRpb25zIgotCV9hcmdz Kz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLXdpdGgtZ251LWxkIgotCV9hcmdz Kz0iIC0td2l0aC1nbnUtYXMiCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9IgotCi0JQ0ZMQUdTPSIt TzAgLWcwIiBDWFhGTEFHUz0iLU8wIC1nMCIgXAotCQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2Nv bmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAotCi0J dG91Y2ggJHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUKLX0KLQotX2dsaWJjX2hlYWRlcnMo KSB7Ci0JbG9jYWwgX2FyZ3MgZgotCi0JWyAtZiAke3dya3NyY30vLmdsaWJjX2hlYWRlcnNfZG9u ZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0K LQlpZiBbIC1kICIke1hCUFNfU1JDUEtHRElSfS9nbGliYy9wYXRjaGVzIiBdOyB0aGVuCi0JCWZv ciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2dsaWJjL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJCV9h cHBseV9wYXRjaCAtcDEgIiRmIgotCQlkb25lCi0JZmkKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19u b3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdsaWJjIGhlYWRlcnNcbiIKLQotCVsgISAtZCBnbGliYy1o ZWFkZXJzIF0gJiYgbWtkaXIgZ2xpYmMtaGVhZGVycwotCWNkIGdsaWJjLWhlYWRlcnMKLQotCWVj aG8gImxpYmNfY3ZfZm9yY2VkX3Vud2luZD15ZXMiID4gY29uZmlnLmNhY2hlCi0JZWNobyAibGli Y19jdl9jX2NsZWFudXA9eWVzIiA+PiBjb25maWcuY2FjaGUKLQotCWV4cG9ydCBDQz0iJHtfdHJp cGxldH0tZ2NjIiBMRD0iJHtfdHJpcGxldH0tbGQiIFwKLQkJQVM9IiR7X3RyaXBsZXR9LWFzIiBD UFA9IiR7X3RyaXBsZXR9LWNwcCIKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0i IC0taG9zdD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtaGVhZGVycz0ke19zeXNyb290 fS91c3IvaW5jbHVkZSIKLQlfYXJncys9IiAtLWNvbmZpZy1jYWNoZSIKLQlfYXJncys9IiAtLWVu YWJsZS1vYnNvbGV0ZS1ycGMiCi0JX2FyZ3MrPSIgLS1lbmFibGUtb2Jzb2xldGUtbnNsIgotCV9h cmdzKz0iIC0tZW5hYmxlLWtlcm5lbD0yLjYuMjciCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9Igot Ci0JLi4vZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtl IC1rIGluc3RhbGwtaGVhZGVycyBjcm9zc19jb21waWxpbmc9eWVzIFwKLQkJaW5zdGFsbF9yb290 PSR7X3N5c3Jvb3R9Ci0KLQl0b3VjaCAke3dya3NyY30vLmdsaWJjX2hlYWRlcnNfZG9uZQotfQot Ci1fZ2xpYmNfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5nbGli Y19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwg IkJ1aWxkaW5nIGNyb3NzIGdsaWJjXG4iCi0KLQlbICEgLWQgZ2xpYmMtYnVpbGQgXSAmJiBta2Rp ciBnbGliYy1idWlsZAotCWNkIGdsaWJjLWJ1aWxkCi0KLQllY2hvICJzbGliZGlyPS91c3IvbGli MzIiID4gY29uZmlncGFybXMKLQotCWVjaG8gImxpYmNfY3ZfZm9yY2VkX3Vud2luZD15ZXMiID4g Y29uZmlnLmNhY2hlCi0JZWNobyAibGliY19jdl9jX2NsZWFudXA9eWVzIiA+PiBjb25maWcuY2Fj aGUKLQotCWV4cG9ydCBDQz0iJHtfdHJpcGxldH0tZ2NjIiBMRD0iJHtfdHJpcGxldH0tbGQiIFwK LQkJQVM9IiR7X3RyaXBsZXR9LWFzIiBDUFA9IiR7X3RyaXBsZXR9LWNwcCIKLQlleHBvcnQgQ0ZM QUdTPSItT3MgLXBpcGUgJHtfYXJjaGZsYWdzfSIKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgot CV9hcmdzKz0iIC0tbGliZGlyPS91c3IvbGliMzIiCi0JX2FyZ3MrPSIgLS1ob3N0PSR7X3RyaXBs ZXR9IgotCV9hcmdzKz0iIC0td2l0aC1oZWFkZXJzPSR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIgot CV9hcmdzKz0iIC0tY29uZmlnLWNhY2hlIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1wcm9maWxlIgot CV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLXJwYyIKLQlfYXJncys9IiAtLWVuYWJsZS1vYnNv bGV0ZS1uc2wiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXdlcnJvciIKLQlfYXJncys9IiAtLWVuYWJs ZS1rZXJuZWw9Mi42LjI3IgotCV9hcmdzKz0iICR7X2ZwdWZsYWdzfSIKLQotCS4uL2dsaWJjLSR7 X2dsaWJjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQot CW1ha2UgaW5zdGFsbF9yb290PSR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3Jj fS8uZ2xpYmNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0K LQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3 cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGZpbmFsXG4iCi0KLQlbICEg LWQgZ2NjLWJ1aWxkIF0gJiYgbWtkaXIgZ2NjLWJ1aWxkCi0JY2QgZ2NjLWJ1aWxkCi0KLQl1bnNl dCBMRCBBUyBDUFAKLQlleHBvcnQgQ0M9ImdjYyIgQ0ZMQUdTPSItT3MgLXBpcGUiCi0KLQkjIE1h a2UgdGhpcyBsaW5rIHRvIHRhcmdldCBsaWJzLgotCWlmIFsgISAtZiAuc2VkX3N1YnN0X2RvbmUg XTsgdGhlbgotCQlzZWQgLWUgInMsIC9saWIvLCAke19zeXNyb290fS9saWIvLGc7cywgL3Vzci9s aWIvLCAke19zeXNyb290fS91c3IvbGliLyxnIiBcCi0JCQktaSAke19zeXNyb290fS9saWIvbGli Yy5zbwotCQlzZWQgLWUgInMsIC9saWIzMi8sICR7X3N5c3Jvb3R9L2xpYjMyLyxnO3MsIC91c3Iv bGliMzIvLCAke19zeXNyb290fS91c3IvbGliMzIvLGciIFwKLQkJCS1pICR7X3N5c3Jvb3R9L2xp Yi9saWJjLnNvCi0JCXRvdWNoIC5zZWRfc3Vic3RfZG9uZQotCWZpCi0KLQlfYXJncz0iLS1wcmVm aXg9L3VzciIKLQlfYXJncys9IiAtLWxpYmV4ZWNkaXI9L3Vzci9saWIiCi0JX2FyZ3MrPSIgLS10 YXJnZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0i Ci0JX2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYWRhLGMrKyxvYmpjLG9iai1jKyssZ28s Zm9ydHJhbixsdG8iCi0JX2FyZ3MrPSIgLS13aXRoLWdudS1hcyIKLQlfYXJncys9IiAtLXdpdGgt Z251LWxkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2Fi bGUtd2Vycm9yIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LXNqbGotZXhjZXB0aW9ucyIKLQlfYXJncys9IiAtLWVuYWJsZS10aHJlYWRzPXBvc2l4IgotCV9h cmdzKz0iIC0tZW5hYmxlLWxvbmctbG9uZ3giCi0JX2FyZ3MrPSIgLS1lbmFibGUtc2hhcmVkIgot CV9hcmdzKz0iIC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCIKLQlfYXJncys9IiAtLWVuYWJsZS1n bnUtdW5pcXVlLW9iamVjdCIKLQlfYXJncys9IiAtLWVuYWJsZS1saWJhZGEiCi0JX2FyZ3MrPSIg LS1lbmFibGUtbHRvIgotCV9hcmdzKz0iIC0tZW5hYmxlLWRlZmF1bHQtcGllIgotCV9hcmdzKz0i IC0tZW5hYmxlLWRlZmF1bHQtc3NwIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIK LQlfYXJncys9IiAtLWRpc2FibGUtbGlic3NwIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtcHgi Ci0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxp YnNhbml0aXplciIKLQlfYXJncys9IiAtLWRpc2FibGUtbGliY2lsa3J0cyIKLQlfYXJncys9IiAt LWRpc2FibGUtbGliaXRtIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJ2dHYiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLWxpYnN0ZGN4eC1wY2giCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGlic3RkY3h4LXRp bWUiCi0JX2FyZ3MrPSIgLS13aXRoLWxpbmtlci1oYXNoLXN0eWxlPWdudSIKLQlfYXJncys9IiAk e19mcHVmbGFnc30iCi0KLQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdz fQotCi0JbWFrZSAke21ha2Vqb2JzfQotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9u ZQotfQotCi1kb19idWlsZCgpIHsKLQlmb3IgZiBpbiBpbmNsdWRlIGxpYiBsaWJleGVjIGJpbiBz YmluOyBkbwotCQlpZiBbICEgLWQgJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtk aXIgLXAgJHtfc3lzcm9vdH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYgWyAhIC1oICR7X3N5c3Jvb3R9 LyR7Zn0gXTsgdGhlbgotCQkJbG4gLXNmciAke19zeXNyb290fS91c3IvJHtmfSAke19zeXNyb290 fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtfc3lzcm9vdH0vdXNyL2xpYjMyCi0J bG4gLXNmIHVzci9saWIgJHtfc3lzcm9vdH0vbGliMzIKLQotCSMgRW5zdXJlIHdlIHVzZSBzYW5l IGVudmlyb25tZW50Ci0JdW5zZXQgQ0MgQ1hYIENQUCBMRCBBUyBBUiBSQU5MSUIgT0JKRFVNUCBS RUFERUxGIE5NCi0JdW5zZXQgQ0ZMQUdTIENYWEZMQUdTIENQUEZMQUdTIExERkxBR1MKLQlleHBv cnQgQ0ZMQUdTPSItT3MiIENYWEZMQUdTPSItT3MiCi0KLQlfYmludXRpbHNfYnVpbGQKLQlfZ2Nj X2Jvb3RzdHJhcAotCV9saW51eF9oZWFkZXJzCi0JX2dsaWJjX2hlYWRlcnMKLQlfZ2xpYmNfYnVp bGQKLQlfZ2NjX2J1aWxkCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JZm9yIGYgaW4gaW5jbHVkZSBs aWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7REVTVERJUn0vJHtfc3lzcm9v dH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtERVNURElSfS8ke19zeXNyb290fS91 c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9IF07 IHRoZW4KLQkJCWxuIC1zZnIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtmfSBcCi0JCQkJ JHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtE RVNURElSfS8ke19zeXNyb290fS91c3IvbGliMzIKLQlsbiAtc2YgdXNyL2xpYiAke0RFU1RESVJ9 LyR7X3N5c3Jvb3R9L2xpYjMyCi0KLQkjIGluc3RhbGwgY3Jvc3MgYmludXRpbHMKLQljZCAke3dy a3NyY30vYmludXRpbHMtYnVpbGQKLQltYWtlIERFU1RESVI9JHtERVNURElSfSBpbnN0YWxsCi0K LQkjIGluc3RhbGwgY3Jvc3MgZ2NjCi0JY2QgJHt3cmtzcmN9L2djYy1idWlsZAotCW1ha2UgREVT VERJUj0ke0RFU1RESVJ9IGluc3RhbGwKLQotCSMgbW92ZSBsaWJjYzEuc28qIHRvIHRoZSBzeXNy b290Ci0JbXYgJHtERVNURElSfS91c3IvbGliL2xpYmNjMS5zbyogJHtERVNURElSfS8ke19zeXNy b290fS91c3IvbGliCi0KLQkjIGluc3RhbGwgbGludXggQVBJIGhlYWRlcnMgZm9yIE1JUFMKLQlj ZCAke3dya3NyY30vbGludXgtJHtfbGludXhfdmVyc2lvbn0KLQltYWtlIEFSQ0g9YXJtIElOU1RB TExfSERSX1BBVEg9JHtERVNURElSfS8ke19zeXNyb290fS91c3IgaGVhZGVyc19pbnN0YWxsCi0J cm0gLWYgJChmaW5kICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUgLW5hbWUgLmlu c3RhbGwgLW9yIC1uYW1lIC4uaW5zdGFsbC5jbWQpCi0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lz cm9vdH0vdXNyL2luY2x1ZGUvZHJtCi0KLQkjIGluc3RhbGwgZ2xpYmMgZm9yIHRhcmdldAotCWNk ICR7d3Jrc3JjfS9nbGliYy1idWlsZAotCW1ha2UgaW5zdGFsbF9yb290PSR7REVTVERJUn0vJHtf c3lzcm9vdH0gaW5zdGFsbCBpbnN0YWxsLWhlYWRlcnMKLQotCSMgc3ltbGlua3MgZm9yIGduYXJs IGFuZCBnbmF0IHNoYXJlZCBsaWJyYXJpZXMKLQlfbWFqb3J2ZXI9JHtfZ2NjX3ZlcnNpb24lLiou Kn0KLQlfYWRhbGliPXVzci9saWIvZ2NjLyR7X3RyaXBsZXR9LyR7X2djY192ZXJzaW9ufS9hZGFs aWIKLQltdiAtdiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNv ICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYgotCW12IC12ICR7REVTVERJUn0vJHtfYWRh bGlifS9saWJnbmF0LSR7X21ham9ydmVyfS5zbyAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9s aWIKLQlsbiAtc3ZmIGxpYmduYXJsLSR7X21ham9ydmVyfS5zbyBsaWJnbmFybC5zbwotCWxuIC1z dmYgbGliZ25hdC0ke19tYWpvcnZlcn0uc28gbGliZ25hdC5zbwotCXJtIC12ZiAke0RFU1RESVJ9 LyR7X2FkYWxpYn0vbGliZ25he3JsLHR9LnNvCi0KLQkjIFdlIG5lZWQgdG8gYnVpbGQgbGliYXRv bWljIGluIHRhcmdldCBnY2MgYXMgZ2NjZ28gbmVlZHMgaXQgdG8KLQkjIGJ1aWxkLi4uIGJ1dCBp dCdzIG5vdCBuZWVkZWQgYXQgcnVudGltZSwgc28gcmVtb3ZlIGl0IGZyb20gdGhlCi0JIyBkZXN0 ZGlyIHNvIGl0IGRvZXNuJ3QgY29uZmxpY3Qgd2l0aCB0aGUgbGliYXRvbWljIHBhY2thZ2UKLQly bSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIvbGliYXRvbWljLioKLQotCSMgUmVt b3ZlIHVubmVjZXNzYXJ5IHN0dWZmCi0Jcm0gLWYgJHtERVNURElSfS91c3IvbGliKi9saWJpYmVy dHkuYQotCXJtIC1yZiAke0RFU1RESVJ9L3Vzci9zaGFyZQotCXJtIC1yZiAke0RFU1RESVJ9LyR7 X3N5c3Jvb3R9L3tzYmluLGxpYixldGMsdmFyfQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jv b3R9L3Vzci97c2JpbixzaGFyZSxsaWJleGVjfQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9v dH0vbGliZXhlYwotfQotCiBjcm9zcy1hcm0tbGludXgtZ251ZWFiaS1saWJjX3BhY2thZ2UoKSB7 CiAJc2hvcnRfZGVzYys9IiAtIGdsaWJjIGZpbGVzIgogCW5vc3RyaXA9eWVzCkBAIC0zNzQsNiAr NDgsNiBAQCBjcm9zcy1hcm0tbGludXgtZ251ZWFiaS1saWJjX3BhY2thZ2UoKSB7CiAJbm92ZXJp ZnlyZGVwcz15ZXMKIAogCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSAke19zeXNyb290fQorCQl2 bW92ZSB1c3IvJHtjcm9zc190cmlwbGV0fQogCX0KIH0KCkZyb20gOGUzYjUzY2IyZTU0NjljNTQ1 OWI3ZTRiZTNkZDg4Zjk1YjUwYzBlZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogcTY2 IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KRGF0ZTogRnJpLCAyNSBEZWMgMjAyMCAyMDoxMDo0NSAr MDEwMApTdWJqZWN0OiBbUEFUQ0ggNi84XSBjcm9zcy1hcm0tbGludXgtZ251ZWFiaWhmOiByZWRv IHdpdGggdm9pZC1jcm9zcwoKLS0tCiBzcmNwa2dzL2Nyb3NzLWFybS1saW51eC1nbnVlYWJpaGYv dGVtcGxhdGUgfCAzNjUgKystLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTkg aW5zZXJ0aW9ucygrKSwgMzQ2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY3Jv c3MtYXJtLWxpbnV4LWdudWVhYmloZi90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4 LWdudWVhYmloZi90ZW1wbGF0ZQppbmRleCA0ZTQ2YmExZTMwNi4uZjIxYTRlYmI0ODUgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmloZi90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2Nyb3NzLWFybS1saW51eC1nbnVlYWJpaGYvdGVtcGxhdGUKQEAgLTEsMjIgKzEsMjEg QEAKLSMgVGVtcGxhdGUgYnVpbGQgZmlsZSBmb3IgJ2Nyb3NzLWFybS1saW51eC1nbnVlYWJpaGYn Ci0jCisjIFRlbXBsYXRlIGZpbGUgZm9yICdjcm9zcy1hcm0tbGludXgtZ251ZWFiaWhmJworX3Ry aXBsZXQ9YXJtLWxpbnV4LWdudWVhYmloZgogX2JpbnV0aWxzX3ZlcnNpb249Mi4zMgogX2djY192 ZXJzaW9uPTkuMy4wCiBfZ2xpYmNfdmVyc2lvbj0yLjMwCiBfbGludXhfdmVyc2lvbj00LjE5Ci0K LV90cmlwbGV0PWFybS1saW51eC1nbnVlYWJpaGYKLV9mcHVmbGFncz0iLS13aXRoLWFyY2g9YXJt djYgLS13aXRoLWZwdT12ZnAgLS13aXRoLWZsb2F0PWhhcmQiCi1fYXJjaGZsYWdzPSItbWFyY2g9 YXJtdjYgLW1mcHU9dmZwIC1tZmxvYXQtYWJpPWhhcmQiCi1fc3lzcm9vdD0iL3Vzci8ke190cmlw bGV0fSIKLQogcGtnbmFtZT1jcm9zcy0ke190cmlwbGV0fQogdmVyc2lvbj0wLjMzCiByZXZpc2lv bj0yCi1zaG9ydF9kZXNjPSJHTlUgQ3Jvc3MgdG9vbGNoYWluIGZvciB0aGUgJHtfdHJpcGxldH0g TEUgdGFyZ2V0IChiaW51dGlscy9nY2MvZ2xpYmMpIgorYnVpbGRfc3R5bGU9dm9pZC1jcm9zcwor Y29uZmlndXJlX2FyZ3M9Ii0td2l0aC1hcmNoPWFybXY2IC0td2l0aC1mcHU9dmZwIC0td2l0aC1m bG9hdD1oYXJkIgoraG9zdG1ha2VkZXBlbmRzPSJ0YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXggcGVy bCBweXRob24zIgorbWFrZWRlcGVuZHM9ImlzbDE1LWRldmVsIGxpYm1wYy1kZXZlbCB6bGliLWRl dmVsIGdtcC1kZXZlbCBtcGZyLWRldmVsIgorZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7dmVy c2lvbn1fJHtyZXZpc2lvbn0iCitzaG9ydF9kZXNjPSJWb2lkIGNyb3NzIHRvb2xjaGFpbiBmb3Ig JHtfdHJpcGxldH0iCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+ IgorbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciwgR1BMLTMuMC1vci1sYXRlciwgTEdQTC0yLjEt b3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cudm9pZGxpbnV4Lm9yZy8iCi1saWNlbnNl PSJQdWJsaWMgRG9tYWluIgogZGlzdGZpbGVzPSIKICAke0dOVV9TSVRFfS9iaW51dGlscy9iaW51 dGlscy0ke19iaW51dGlsc192ZXJzaW9ufS50YXIueHoKICAke0dOVV9TSVRFfS9nY2MvZ2NjLSR7 X2djY192ZXJzaW9ufS9nY2MtJHtfZ2NjX3ZlcnNpb259LnRhci54egpAQCAtMjcsMzQ2ICsyNiwy MCBAQCBjaGVja3N1bT0iMGFiNmM1NWRkODZhOTJlZDU2MTk3MmJhMTViOWI3MGE4YjlmNzU1NTdm ODk2NDQ2YzgyZThiMzZlNDczZWUwNAogIGUyYzQxMTRlNTY5YWZiZTdlZGJjMjkxMzFhNDNiZTgz Mzg1MGFiOWE0NTlkODFiZWIyNTg4MDE2ZDJiYmI4YWYKICAwYzY4ZjU2NTU1MjhhZWQ0Zjk5ZGFl NzFhNWIyNTllZGM5MzIzOWZhODk5ZTJkZjc5YzA1NTI3NWMyMTc0OWExIgogCi1saWIzMmRpc2Fi bGVkPXllcwotbm9jcm9zcz15ZXMKLW5vcGllPXllcwotbm9kZWJ1Zz15ZXMKLWNyZWF0ZV93cmtz cmM9eWVzCi0KLWhvc3RtYWtlZGVwZW5kcz0idGFyIGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwg cHl0aG9uMyIKLW1ha2VkZXBlbmRzPSJpc2wxNS1kZXZlbCBsaWJtcGMtZGV2ZWwgemxpYi1kZXZl bCIKLWRlcGVuZHM9IiR7cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259Igotbm9z dHJpcF9maWxlcz0ibGliY2FmX3NpbmdsZS5hIGxpYmdjYy5hIGxpYmdjb3YuYSBsaWJnY2NfZWgu YQotIGxpYmduYXJsX3BpYy5hIGxpYmduYXJsLmEgbGliZ25hdF9waWMuYSBsaWJnbmF0LmEgbGli Z21lbS5hIgotCi1pZiBbICIkWEJQU19UQVJHRVRfTElCQyIgIT0gImdsaWJjIiBdOyB0aGVuCi0J YnJva2VuPSJnbGliYyBjcm9zc3Rvb2xjaGFpbiBvbmx5IGF2YWlsYWJsZSBvbiBnbGliYyIKLWZp Citjcm9zc190cmlwbGV0PSR7X3RyaXBsZXR9Citjcm9zc193b3Jkc2l6ZT0zMgorY3Jvc3NfbGli Yz1nbGliYworY3Jvc3NfYmludXRpbHNfdmVyc2lvbj0ke19iaW51dGlsc192ZXJzaW9ufQorY3Jv c3NfZ2NjX3ZlcnNpb249JHtfZ2NjX3ZlcnNpb259Citjcm9zc19nbGliY192ZXJzaW9uPSR7X2ds aWJjX3ZlcnNpb259Citjcm9zc19saW51eF92ZXJzaW9uPSR7X2xpbnV4X3ZlcnNpb259Citjcm9z c19saW51eF9hcmNoPWFybQorY3Jvc3NfZ2xpYmNfY2ZsYWdzPSItT3MgLW1hcmNoPWFybXY2IC1t ZnB1PXZmcCAtbWZsb2F0LWFiaT1oYXJkIgogCiBpZiBbICIkWEJQU19UQVJHRVRfTUFDSElORSIg PSAiYXJtdjZsIiBdOyB0aGVuCiAJYnJva2VuPSJDYW4ndCBidWlsZCBjcm9zc3Rvb2xjaGFpbiB0 byBpdHNlbGYiCiBmaQogCi1fYXBwbHlfcGF0Y2goKSB7Ci0JbG9jYWwgYXJncz0iJDEiIHBuYW1l PSIkKGJhc2VuYW1lICQyKSIKLQotCWlmIFsgISAtZiAiLiR7cG5hbWV9X2RvbmUiIF07IHRoZW4K LQkJcGF0Y2ggLU4gJGFyZ3MgLWkgJDIKLQkJdG91Y2ggLiR7cG5hbWV9X2RvbmUKLQlmaQotfQot Ci1fbGludXhfaGVhZGVycygpIHsKLQlbIC1mICR7d3Jrc3JjfS8ubGludXhfYnVpbGRfZG9uZSBd ICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGluZyBMaW51 eCBBUEkgaGVhZGVycyBmb3IgQVJNXG4iCi0KLQljZCBsaW51eC0ke19saW51eF92ZXJzaW9ufQot Ci0JbWFrZSBBUkNIPWFybSBoZWFkZXJzX2NoZWNrCi0JbWFrZSBBUkNIPWFybSBJTlNUQUxMX0hE Ul9QQVRIPSR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQotCXRvdWNoICR7d3Jrc3Jj fS8ubGludXhfYnVpbGRfZG9uZQotfQotCi1fYmludXRpbHNfYnVpbGQoKSB7Ci0JbG9jYWwgX2Fy Z3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5iaW51dGlsc19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAK LQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGJpbnV0aWxzXG4i Ci0JWyAhIC1kIGJpbnV0aWxzLWJ1aWxkIF0gJiYgbWtkaXIgYmludXRpbHMtYnVpbGQKLQljZCBi aW51dGlscy1idWlsZAotCi0JX2FyZ3M9Ii0tcHJlZml4PS91c3IiCi0JX2FyZ3MrPSIgLS10YXJn ZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtc2hhcmVkIgotCV9h cmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2FibGUtd2Vycm9yIgot CV9hcmdzKz0iIC0td2l0aC1zeXN0ZW0temxpYiIKLQotCS4uL2JpbnV0aWxzLSR7X2JpbnV0aWxz X3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSBjb25maWd1cmUtaG9zdAotCW1h a2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uYmludXRp bHNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2Jvb3RzdHJhcCgpIHsKLQlsb2NhbCBfYXJncwotCi0J WyAtZiAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAk e3dya3NyY30vZ2NjLSR7X2djY192ZXJzaW9ufQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9 L2djYy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCWRvbmUK LQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdjYyBib290c3RyYXBcbiIKLQotCVsgISAt ZCAuLi9nY2MtYm9vdHN0cmFwIF0gJiYgbWtkaXIgLi4vZ2NjLWJvb3RzdHJhcAotCWNkIC4uL2dj Yy1ib290c3RyYXAKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0 PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aG91dC1oZWFkZXJzIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWRp c2FibGUtbGlicXVhZG1hdGgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWRlY2ltYWwtZmxvYXQiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdvbXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm1weCIK LQlfYXJncys9IiAtLWRpc2FibGUtbGlibXVkZmxhcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGli c3NwIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJpdG0iCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxp YmF0b21pYyIKLQlfYXJncys9IiAtLWRpc2FibGUtdGhyZWFkcyIKLQlfYXJncys9IiAtLWVuYWJs ZS1sYW5ndWFnZXM9YyIKLQlfYXJncys9IiAtLWRpc2FibGUtc2psai1leGNlcHRpb25zIgotCV9h cmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLXdpdGgtZ251LWxkIgotCV9h cmdzKz0iIC0td2l0aC1nbnUtYXMiCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9IgotCi0JQ0ZMQUdT PSItTzAgLWcwIiBDWFhGTEFHUz0iLU8wIC1nMCIgXAotCQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259 L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1ha2UgaW5zdGFsbAot Ci0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYm9vdHN0cmFwX2RvbmUKLX0KLQotX2dsaWJjX2hlYWRl cnMoKSB7Ci0JbG9jYWwgX2FyZ3MgZgotCi0JWyAtZiAke3dya3NyY30vLmdsaWJjX2hlYWRlcnNf ZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30vZ2xpYmMtJHtfZ2xpYmNfdmVyc2lv bn0KLQlpZiBbIC1kICIke1hCUFNfU1JDUEtHRElSfS9nbGliYy9wYXRjaGVzIiBdOyB0aGVuCi0J CWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9L2dsaWJjL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJ CV9hcHBseV9wYXRjaCAtcDEgIiRmIgotCQlkb25lCi0JZmkKLQotCWNkICR7d3Jrc3JjfQotCW1z Z19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIGdsaWJjIGhlYWRlcnNcbiIKLQotCVsgISAtZCBnbGli Yy1oZWFkZXJzIF0gJiYgbWtkaXIgZ2xpYmMtaGVhZGVycwotCWNkIGdsaWJjLWhlYWRlcnMKLQot CWVjaG8gImxpYmNfY3ZfZm9yY2VkX3Vud2luZD15ZXMiID4gY29uZmlnLmNhY2hlCi0JZWNobyAi bGliY19jdl9jX2NsZWFudXA9eWVzIiA+PiBjb25maWcuY2FjaGUKLQotCWV4cG9ydCBDQz0iJHtf dHJpcGxldH0tZ2NjIiBMRD0iJHtfdHJpcGxldH0tbGQiIFwKLQkJQVM9IiR7X3RyaXBsZXR9LWFz IiBDUFA9IiR7X3RyaXBsZXR9LWNwcCIKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdz Kz0iIC0taG9zdD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAtLXdpdGgtaGVhZGVycz0ke19zeXNy b290fS91c3IvaW5jbHVkZSIKLQlfYXJncys9IiAtLWNvbmZpZy1jYWNoZSIKLQlfYXJncys9IiAt LWVuYWJsZS1vYnNvbGV0ZS1ycGMiCi0JX2FyZ3MrPSIgLS1lbmFibGUtb2Jzb2xldGUtbnNsIgot CV9hcmdzKz0iIC0tZW5hYmxlLWtlcm5lbD0yLjYuMjciCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9 IgotCi0JLi4vZ2xpYmMtJHtfZ2xpYmNfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQlt YWtlIC1rIGluc3RhbGwtaGVhZGVycyBjcm9zc19jb21waWxpbmc9eWVzIFwKLQkJaW5zdGFsbF9y b290PSR7X3N5c3Jvb3R9Ci0KLQl0b3VjaCAke3dya3NyY30vLmdsaWJjX2hlYWRlcnNfZG9uZQot fQotCi1fZ2xpYmNfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5n bGliY19idWlsZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3Jt YWwgIkJ1aWxkaW5nIGNyb3NzIGdsaWJjXG4iCi0KLQlbICEgLWQgZ2xpYmMtYnVpbGQgXSAmJiBt a2RpciBnbGliYy1idWlsZAotCWNkIGdsaWJjLWJ1aWxkCi0KLQllY2hvICJzbGliZGlyPS91c3Iv bGliMzIiID4gY29uZmlncGFybXMKLQotCWVjaG8gImxpYmNfY3ZfZm9yY2VkX3Vud2luZD15ZXMi ID4gY29uZmlnLmNhY2hlCi0JZWNobyAibGliY19jdl9jX2NsZWFudXA9eWVzIiA+PiBjb25maWcu Y2FjaGUKLQotCWV4cG9ydCBDQz0iJHtfdHJpcGxldH0tZ2NjIiBMRD0iJHtfdHJpcGxldH0tbGQi IFwKLQkJQVM9IiR7X3RyaXBsZXR9LWFzIiBDUFA9IiR7X3RyaXBsZXR9LWNwcCIKLQlleHBvcnQg Q0ZMQUdTPSItT3MgLXBpcGUgJHtfYXJjaGZsYWdzfSIKLQotCV9hcmdzPSItLXByZWZpeD0vdXNy IgotCV9hcmdzKz0iIC0tbGliZGlyPS91c3IvbGliMzIiCi0JX2FyZ3MrPSIgLS1ob3N0PSR7X3Ry aXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1oZWFkZXJzPSR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRl IgotCV9hcmdzKz0iIC0tY29uZmlnLWNhY2hlIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1wcm9maWxl IgotCV9hcmdzKz0iIC0tZW5hYmxlLW9ic29sZXRlLXJwYyIKLQlfYXJncys9IiAtLWVuYWJsZS1v YnNvbGV0ZS1uc2wiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXdlcnJvciIKLQlfYXJncys9IiAtLWVu YWJsZS1rZXJuZWw9Mi42LjI3IgotCV9hcmdzKz0iICR7X2ZwdWZsYWdzfSIKLQotCS4uL2dsaWJj LSR7X2dsaWJjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0JbWFrZSAke21ha2Vqb2Jz fQotCW1ha2UgaW5zdGFsbF9yb290PSR7X3N5c3Jvb3R9IGluc3RhbGwKLQotCXRvdWNoICR7d3Jr c3JjfS8uZ2xpYmNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2J1aWxkKCkgewotCWxvY2FsIF9hcmdz Ci0KLQlbIC1mICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2Qg JHt3cmtzcmN9Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGZpbmFsXG4iCi0KLQlb ICEgLWQgZ2NjLWJ1aWxkIF0gJiYgbWtkaXIgZ2NjLWJ1aWxkCi0JY2QgZ2NjLWJ1aWxkCi0KLQl1 bnNldCBMRCBBUyBDUFAKLQlleHBvcnQgQ0M9ImdjYyIgQ0ZMQUdTPSItT3MgLXBpcGUiCi0KLQkj IE1ha2UgdGhpcyBsaW5rIHRvIHRhcmdldCBsaWJzLgotCWlmIFsgISAtZiAuc2VkX3N1YnN0X2Rv bmUgXTsgdGhlbgotCQlzZWQgLWUgInMsIC9saWIvLCAke19zeXNyb290fS9saWIvLGc7cywgL3Vz ci9saWIvLCAke19zeXNyb290fS91c3IvbGliLyxnIiBcCi0JCQktaSAke19zeXNyb290fS9saWIv bGliYy5zbwotCQlzZWQgLWUgInMsIC9saWIzMi8sICR7X3N5c3Jvb3R9L2xpYjMyLyxnO3MsIC91 c3IvbGliMzIvLCAke19zeXNyb290fS91c3IvbGliMzIvLGciIFwKLQkJCS1pICR7X3N5c3Jvb3R9 L2xpYi9saWJjLnNvCi0JCXRvdWNoIC5zZWRfc3Vic3RfZG9uZQotCWZpCi0JX2FyZ3M9Ii0tcHJl Zml4PS91c3IiCi0JX2FyZ3MrPSIgLS1saWJleGVjZGlyPS91c3IvbGliIgotCV9hcmdzKz0iIC0t dGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9 IgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGFkYSxjKyssb2JqYyxvYmotYysrLGdv LGZvcnRyYW4sbHRvIgotCV9hcmdzKz0iIC0td2l0aC1nbnUtYXMiCi0JX2FyZ3MrPSIgLS13aXRo LWdudS1sZCIKLQlfYXJncys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLXdlcnJvciIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJs ZS1zamxqLWV4Y2VwdGlvbnMiCi0JX2FyZ3MrPSIgLS1lbmFibGUtdGhyZWFkcz1wb3NpeCIKLQlf YXJncys9IiAtLWVuYWJsZS1sb25nLWxvbmd4IgotCV9hcmdzKz0iIC0tZW5hYmxlLXNoYXJlZCIK LQlfYXJncys9IiAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQiCi0JX2FyZ3MrPSIgLS1lbmFibGUt Z251LXVuaXF1ZS1vYmplY3QiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGliYWRhIgotCV9hcmdzKz0i IC0tZW5hYmxlLWx0byIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0LXBpZSIKLQlfYXJncys9 IiAtLWVuYWJsZS1kZWZhdWx0LXNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgi Ci0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXB4 IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtdWRmbGFwIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1s aWJzYW5pdGl6ZXIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmNpbGtydHMiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLWxpYml0bSIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlidnR2IgotCV9hcmdzKz0i IC0tZGlzYWJsZS1saWJzdGRjeHgtcGNoIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYnN0ZGN4eC10 aW1lIgotCV9hcmdzKz0iIC0td2l0aC1saW5rZXItaGFzaC1zdHlsZT1nbnUiCi0JX2FyZ3MrPSIg JHtfZnB1ZmxhZ3N9IgotCi0JLi4vZ2NjLSR7X2djY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJn c30KLQotCW1ha2UgJHttYWtlam9ic30KLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2J1aWxkX2Rv bmUKLX0KLQotZG9fYnVpbGQoKSB7Ci0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBiaW4g c2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1r ZGlyIC1wICR7X3N5c3Jvb3R9L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAke19zeXNyb290 fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtfc3lzcm9vdH0vdXNyLyR7Zn0gJHtfc3lzcm9v dH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGliICR7X3N5c3Jvb3R9L3Vzci9saWIzMgot CWxuIC1zZiB1c3IvbGliICR7X3N5c3Jvb3R9L2xpYjMyCi0KLQkjIEVuc3VyZSB3ZSB1c2Ugc2Fu ZSBlbnZpcm9ubWVudAotCXVuc2V0IENDIENYWCBDUFAgTEQgQVMgQVIgUkFOTElCIE9CSkRVTVAg UkVBREVMRiBOTQotCXVuc2V0IENGTEFHUyBDWFhGTEFHUyBDUFBGTEFHUyBMREZMQUdTCi0JZXhw b3J0IENGTEFHUz0iLU9zIiBDWFhGTEFHUz0iLU9zIgotCi0JX2JpbnV0aWxzX2J1aWxkCi0JX2dj Y19ib290c3RyYXAKLQlfbGludXhfaGVhZGVycwotCV9nbGliY19oZWFkZXJzCi0JX2dsaWJjX2J1 aWxkCi0JX2djY19idWlsZAotfQotCi1kb19pbnN0YWxsKCkgewotCWZvciBmIGluIGluY2x1ZGUg bGliIGxpYmV4ZWMgYmluIHNiaW47IGRvCi0JCWlmIFsgISAtZCAke0RFU1RESVJ9LyR7X3N5c3Jv b3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJCW1rZGlyIC1wICR7REVTVERJUn0vJHtfc3lzcm9vdH0v dXNyLyR7Zn0KLQkJZmkKLQkJaWYgWyAhIC1oICR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtmfSBd OyB0aGVuCi0JCQlsbiAtc2ZyICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXAotCQkJ CSR7REVTVERJUn0vJHtfc3lzcm9vdH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGliICR7 REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYjMyCi0JbG4gLXNmIHVzci9saWIgJHtERVNURElS fS8ke19zeXNyb290fS9saWIzMgotCi0JIyBpbnN0YWxsIGNyb3NzIGJpbnV0aWxzCi0JY2QgJHt3 cmtzcmN9L2JpbnV0aWxzLWJ1aWxkCi0JbWFrZSBERVNURElSPSR7REVTVERJUn0gaW5zdGFsbAot Ci0JIyBpbnN0YWxsIGNyb3NzIGdjYwotCWNkICR7d3Jrc3JjfS9nY2MtYnVpbGQKLQltYWtlIERF U1RESVI9JHtERVNURElSfSBpbnN0YWxsCi0KLQkjIG1vdmUgbGliY2MxLnNvKiB0byB0aGUgc3lz cm9vdAotCW12ICR7REVTVERJUn0vdXNyL2xpYi9saWJjYzEuc28qICR7REVTVERJUn0vJHtfc3lz cm9vdH0vdXNyL2xpYgotCi0JIyBpbnN0YWxsIGxpbnV4IEFQSSBoZWFkZXJzIGZvciBNSVBTCi0J Y2QgJHt3cmtzcmN9L2xpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0JbWFrZSBBUkNIPWFybSBJTlNU QUxMX0hEUl9QQVRIPSR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFsbAot CXJtIC1mICQoZmluZCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9pbmNsdWRlIC1uYW1lIC5p bnN0YWxsIC1vciAtbmFtZSAuLmluc3RhbGwuY21kKQotCXJtIC1yZiAke0RFU1RESVJ9LyR7X3N5 c3Jvb3R9L3Vzci9pbmNsdWRlL2RybQotCi0JIyBpbnN0YWxsIGdsaWJjIGZvciB0YXJnZXQKLQlj ZCAke3dya3NyY30vZ2xpYmMtYnVpbGQKLQltYWtlIGluc3RhbGxfcm9vdD0ke0RFU1RESVJ9LyR7 X3N5c3Jvb3R9IGluc3RhbGwgaW5zdGFsbC1oZWFkZXJzCi0KLQkjIHN5bWxpbmtzIGZvciBnbmFy bCBhbmQgZ25hdCBzaGFyZWQgbGlicmFyaWVzCi0JX21ham9ydmVyPSR7X2djY192ZXJzaW9uJS4q Lip9Ci0JX2FkYWxpYj11c3IvbGliL2djYy8ke190cmlwbGV0fS8ke19nY2NfdmVyc2lvbn0vYWRh bGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXJsLSR7X21ham9ydmVyfS5z byAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIKLQltdiAtdiAke0RFU1RESVJ9LyR7X2Fk YWxpYn0vbGliZ25hdC0ke19tYWpvcnZlcn0uc28gJHtERVNURElSfS8ke19zeXNyb290fS91c3Iv bGliCi0JbG4gLXN2ZiBsaWJnbmFybC0ke19tYWpvcnZlcn0uc28gbGliZ25hcmwuc28KLQlsbiAt c3ZmIGxpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXQuc28KLQlybSAtdmYgJHtERVNURElS fS8ke19hZGFsaWJ9L2xpYmduYXtybCx0fS5zbwotCi0JIyBXZSBuZWVkIHRvIGJ1aWxkIGxpYmF0 b21pYyBpbiB0YXJnZXQgZ2NjIGFzIGdjY2dvIG5lZWRzIGl0IHRvCi0JIyBidWlsZC4uLiBidXQg aXQncyBub3QgbmVlZGVkIGF0IHJ1bnRpbWUsIHNvIHJlbW92ZSBpdCBmcm9tIHRoZQotCSMgZGVz dGRpciBzbyBpdCBkb2Vzbid0IGNvbmZsaWN0IHdpdGggdGhlIGxpYmF0b21pYyBwYWNrYWdlCi0J cm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliL2xpYmF0b21pYy4qCi0KLQkjIFJl bW92ZSB1bm5lY2Vzc2FyeSBzdHVmZgotCXJtIC1mICR7REVTVERJUn0vdXNyL2xpYiovbGliaWJl cnR5LmEKLQlybSAtcmYgJHtERVNURElSfS91c3Ivc2hhcmUKLQlybSAtcmYgJHtERVNURElSfS8k e19zeXNyb290fS97c2JpbixsaWIsZXRjLHZhcn0KLQlybSAtcmYgJHtERVNURElSfS8ke19zeXNy b290fS91c3Ive3NiaW4sc2hhcmUsbGliZXhlY30KLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jv b3R9L2xpYmV4ZWMKLX0KLQogY3Jvc3MtYXJtLWxpbnV4LWdudWVhYmloZi1saWJjX3BhY2thZ2Uo KSB7CiAJc2hvcnRfZGVzYys9IiAtIGdsaWJjIGZpbGVzIgogCW5vc3RyaXA9eWVzCkBAIC0zNzQs NiArNDcsNiBAQCBjcm9zcy1hcm0tbGludXgtZ251ZWFiaWhmLWxpYmNfcGFja2FnZSgpIHsKIAlu b3ZlcmlmeXJkZXBzPXllcwogCiAJcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlICR7X3N5c3Jvb3R9 CisJCXZtb3ZlIHVzci8ke2Nyb3NzX3RyaXBsZXR9CiAJfQogfQoKRnJvbSBiMmI4NjhkMGZmNWVk YjBjYjc3MDMwNjdhNTg3YmY1OTIwOWVkMzg3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgpEYXRlOiBGcmksIDI1IERlYyAyMDIwIDIxOjA4 OjI3ICswMTAwClN1YmplY3Q6IFtQQVRDSCA3LzhdIGNyb3NzLWFybS1saW51eC1tdXNsZWFiaTog cmV3b3JrIHdpdGggdm9pZC1jcm9zcwoKLS0tCiBzcmNwa2dzL2Nyb3NzLWFybS1saW51eC1tdXNs ZWFiaS90ZW1wbGF0ZSB8IDMxMCArKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMjEgaW5zZXJ0aW9ucygrKSwgMjg5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJpL3RlbXBsYXRlIGIvc3JjcGtncy9jcm9zcy1hcm0t bGludXgtbXVzbGVhYmkvdGVtcGxhdGUKaW5kZXggNzRiOGU4ZDRjMTEuLmY3MTM2Yzc1MDk0IDEw MDY0NAotLS0gYS9zcmNwa2dzL2Nyb3NzLWFybS1saW51eC1tdXNsZWFiaS90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL2Nyb3NzLWFybS1saW51eC1tdXNsZWFiaS90ZW1wbGF0ZQpAQCAtMSwyMCArMSwx OSBAQAotIyBUZW1wbGF0ZSBidWlsZCBmaWxlIGZvciAnY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJp JwotIworIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJpJworX3Ry aXBsZXQ9YXJtLWxpbnV4LW11c2xlYWJpCiBfYmludXRpbHNfdmVyc2lvbj0yLjMyCiBfZ2NjX3Zl cnNpb249OS4zLjAKIF9tdXNsX3ZlcnNpb249MS4xLjI0CiBfbGludXhfdmVyc2lvbj00LjE5CiBf bGlidWNvbnRleHRfdmVyc2lvbj0wLjkuMAotCi1fdHJpcGxldD1hcm0tbGludXgtbXVzbGVhYmkK LV9mcHVmbGFncz0iLS13aXRoLWFyY2g9YXJtdjV0ZSAtLXdpdGhvdXQtZnAgLS13aXRoLWZsb2F0 PXNvZnQiCi1fYXJjaGZsYWdzPSItbWFyY2g9YXJtdjV0ZSAtbXNvZnQtZmxvYXQgLW1mbG9hdC1h Ymk9c29mdCIKLV9zeXNyb290PSIvdXNyLyR7X3RyaXBsZXR9IgotCiBwa2duYW1lPWNyb3NzLSR7 X3RyaXBsZXR9CiB2ZXJzaW9uPTAuMzMKIHJldmlzaW9uPTMKLXNob3J0X2Rlc2M9IkNyb3NzIHRv b2xjaGFpbiBmb3IgQVJNdjUgVEUgdGFyZ2V0IChtdXNsKSIKK2J1aWxkX3N0eWxlPXZvaWQtY3Jv c3MKK2NvbmZpZ3VyZV9hcmdzPSItLXdpdGgtYXJjaD1hcm12NXRlIC0td2l0aC1mbG9hdD1zb2Z0 IgoraG9zdG1ha2VkZXBlbmRzPSJ0YXIgZ2NjLW9iamMgZ2NjLWdvIGZsZXggcGVybCBweXRob24z IgorbWFrZWRlcGVuZHM9ImlzbDE1LWRldmVsIGxpYm1wYy1kZXZlbCB6bGliLWRldmVsIGdtcC1k ZXZlbCBtcGZyLWRldmVsIgorZGVwZW5kcz0iJHtwa2duYW1lfS1saWJjLSR7dmVyc2lvbn1fJHty ZXZpc2lvbn0iCitzaG9ydF9kZXNjPSJWb2lkIGNyb3NzIHRvb2xjaGFpbiBmb3IgJHtfdHJpcGxl dH0iCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgogaG9tZXBh Z2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmcvIgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRl ciwgR1BMLTMuMC1vci1sYXRlciwgTUlUIgpAQCAtMzAsMjk2ICsyOSwyOSBAQCBjaGVja3N1bT0i MGFiNmM1NWRkODZhOTJlZDU2MTk3MmJhMTViOWI3MGE4YjlmNzU1NTdmODk2NDQ2YzgyZThiMzZl NDczZWUwNAogIDBjNjhmNTY1NTUyOGFlZDRmOTlkYWU3MWE1YjI1OWVkYzkzMjM5ZmE4OTllMmRm NzljMDU1Mjc1YzIxNzQ5YTEKICAwZDUzYTQxNWEzMDdlZjE3NTE1M2JiZTYwYTU3MmM5NDBhOTIy Y2I3MzZjZTEzNTMwYjY2NmU3ZWMyNzk1ZDY4IgogCi1saWIzMmRpc2FibGVkPXllcwotbm9jcm9z cz15ZXMKLW5vcGllPXllcwotbm9kZWJ1Zz15ZXMKLWNyZWF0ZV93cmtzcmM9eWVzCi0KLWhvc3Rt YWtlZGVwZW5kcz0idGFyIGdjYy1vYmpjIGdjYy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKLW1ha2Vk ZXBlbmRzPSJ6bGliLWRldmVsIGdtcC1kZXZlbCBtcGZyLWRldmVsIGxpYm1wYy1kZXZlbCBpc2wx NS1kZXZlbCIKLW5vc3RyaXBfZmlsZXM9ImxpYmNhZl9zaW5nbGUuYSBsaWJnY2MuYSBsaWJnY292 LmEgbGliZ2NjX2VoLmEKLSBsaWJnbmFybF9waWMuYSBsaWJnbmFybC5hIGxpYmduYXRfcGljLmEg bGliZ25hdC5hIGxpYmdtZW0uYSIKLWRlcGVuZHM9IiR7cGtnbmFtZX0tbGliYy0ke3ZlcnNpb259 XyR7cmV2aXNpb259IgorY3Jvc3NfdHJpcGxldD0ke190cmlwbGV0fQorY3Jvc3Nfd29yZHNpemU9 MzIKK2Nyb3NzX2xpYmM9bXVzbAorY3Jvc3NfYmludXRpbHNfdmVyc2lvbj0ke19iaW51dGlsc192 ZXJzaW9ufQorY3Jvc3NfZ2NjX3ZlcnNpb249JHtfZ2NjX3ZlcnNpb259Citjcm9zc19tdXNsX3Zl cnNpb249JHtfbXVzbF92ZXJzaW9ufQorY3Jvc3NfbGludXhfdmVyc2lvbj0ke19saW51eF92ZXJz aW9ufQorY3Jvc3NfbGlidWNvbnRleHRfdmVyc2lvbj0ke19saWJ1Y29udGV4dF92ZXJzaW9ufQor Y3Jvc3NfbGlidWNvbnRleHRfYXJjaD1hcm0KK2Nyb3NzX2xpbnV4X2FyY2g9YXJtCitjcm9zc19t dXNsX2NmbGFncz0iLU9zIC1tYXJjaD1hcm12NXRlIC1tc29mdC1mbG9hdCAtbWZsb2F0LWFiaT1z b2Z0IgogCiBpZiBbICIkWEJQU19UQVJHRVRfTUFDSElORSIgPSAiYXJtdjV0ZWwtbXVzbCIgXTsg dGhlbgogCWJyb2tlbj0iQ2FuJ3QgYnVpbGQgY3Jvc3N0b29sY2hhaW4gdG8gaXRzZWxmIgogZmkK IAotX2FwcGx5X3BhdGNoKCkgewotCWxvY2FsIGFyZ3M9IiQxIiBwbmFtZT0iJChiYXNlbmFtZSAk MikiCi0KLQlpZiBbICEgLWYgIi4ke3BuYW1lfV9kb25lIiBdOyB0aGVuCi0JCXBhdGNoIC1OICRh cmdzIC1pICQyCi0JCXRvdWNoIC4ke3BuYW1lfV9kb25lCi0JZmkKLX0KLQotX2JpbnV0aWxzX2J1 aWxkKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRf ZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWlsZGlu ZyBjcm9zcyBiaW51dGlscyBib290c3RyYXBcbiIKLQotCVsgISAtZCBiaW51dGlscy1idWlsZCBd ICYmIG1rZGlyIGJpbnV0aWxzLWJ1aWxkCi0JY2QgYmludXRpbHMtYnVpbGQKLQotCV9hcmdzPSIt LXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBsZXR9IgotCV9hcmdzKz0i IC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0tZGlzYWJsZS1ubHMiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9hcmdzKz0iIC0tZGlzYWJsZS13ZXJyb3Ii Ci0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLXdpdGgtc3lzdGVtLXps aWIiCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9IgotCi0JLi4vYmludXRpbHMtJHtfYmludXRpbHNf dmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlIGNvbmZpZ3VyZS1ob3N0ICYmIG1h a2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uYmludXRp bHNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2Jvb3RzdHJhcCgpIHsKLQlsb2NhbCBfYXJncwotCi0J WyAtZiAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAk e3dya3NyY30vZ2NjLSR7X2djY192ZXJzaW9ufQotCWZvciBmIGluICR7WEJQU19TUkNQS0dESVJ9 L2djYy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCWRvbmUK LQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9nY2MvZmlsZXMvKi1tdXNsLnBhdGNoOyBkbwot CQlfYXBwbHlfcGF0Y2ggLXAxICIkZiIKLQlkb25lCi0KLQltc2dfbm9ybWFsICJCdWlsZGluZyBj cm9zcyBnY2MgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQgLi4vZ2NjLWJvb3RzdHJhcCBdICYmIG1r ZGlyIC4uL2djYy1ib290c3RyYXAKLQljZCAuLi9nY2MtYm9vdHN0cmFwCi0KLQlfYXJncz0iLS1w cmVmaXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0fSIKLQlfYXJncys9IiAt LXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLXdpdGgtbmV3bGliIgotCV9h cmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jIgotCV9hcmdzKz0iIC0td2l0aC1uZXdsaWIiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbmxzIgotCV9h cmdzKz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAtLWRpc2FibGUtdGhyZWFk cyIKLQlfYXJncys9IiAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCIKLQlfYXJncys9IiAtLWRpc2Fi bGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtcHgiCi0JX2FyZ3MrPSIgLS1kaXNh YmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdvbXAiCi0JX2FyZ3MrPSIg LS1kaXNhYmxlLWxpYmF0b21pYyIKLQlfYXJncys9IiAtLWRpc2FibGUtc3ltdmVycyIKLQlfYXJn cys9IiBsaWJhdF9jdl9oYXZlX2lmdW5jPW5vIgotCV9hcmdzKz0iICR7X2ZwdWZsYWdzfSIKLQot CUNGTEFHUz0iLU8wIC1nMCIgQ1hYRkxBR1M9Ii1PMCAtZzAiIFwKLQkJLi4vZ2NjLSR7X2djY192 ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtlam9ic30KLQltYWtlIGlu c3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9kb25lCi19Ci0KLV9saW51 eF9oZWFkZXJzKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lIF0gJiYgcmV0 dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIExpbnV4IEFQSSBo ZWFkZXJzIGZvciBBUk1cbiIKLQotCWNkIGxpbnV4LSR7X2xpbnV4X3ZlcnNpb259Ci0JZm9yIGYg aW4gJHtYQlBTX1NSQ1BLR0RJUn0va2VybmVsLWxpYmMtaGVhZGVycy9wYXRjaGVzLyoucGF0Y2g7 IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgJGYKLQlkb25lCi0KLQltYWtlIEFSQ0g9YXJtIGhlYWRl cnNfY2hlY2sKLQltYWtlIEFSQ0g9YXJtIElOU1RBTExfSERSX1BBVEg9JHtfc3lzcm9vdH0vdXNy IGhlYWRlcnNfaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5saW51eF9idWlsZF9kb25lCi19 Ci0KLV9tdXNsX2J1aWxkKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5tdXNsX2J1aWxkX2RvbmUgXSAm JiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9L211c2wtJHtfbXVzbF92ZXJzaW9ufQotCW1zZ19u b3JtYWwgIkJ1aWxkaW5nIGNyb3NzIG11c2wgbGliY1xuIgotCi0JIyBBcHBseSBtdXNsIHBhdGNo ZXMgaWYgdGhlcmUgYXJlIGFueQotCWlmIFsgLWQgIiR7WEJQU19TUkNQS0dESVJ9L211c2wvcGF0 Y2hlcyIgXTsgdGhlbgotCQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9tdXNsL3BhdGNoZXMv Ki5wYXRjaDsgZG8KLQkJCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCQlkb25lCi0JZmkKLQotCUND PSIke190cmlwbGV0fS1nY2MiIENGTEFHUz0iLU9zIC1waXBlIC1mUElDICR7X2FyY2hmbGFnc30i IFwKLQkJLi9jb25maWd1cmUgLS1wcmVmaXg9L3VzcgotCi0JbWFrZSAke21ha2Vqb2JzfQotCW1h a2UgREVTVERJUj0ke19zeXNyb290fSBpbnN0YWxsCi0KLQl0b3VjaCAke3dya3NyY30vLm11c2xf YnVpbGRfZG9uZQotfQotCi1fbGlidWNvbnRleHRfYnVpbGQoKSB7Ci0JWyAtZiAke3dya3NyY30v LmxpYnVjb250ZXh0X2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9L2xp YnVjb250ZXh0LSR7X2xpYnVjb250ZXh0X3ZlcnNpb259Ci0JbXNnX25vcm1hbCAiQnVpbGRpbmcg Y3Jvc3MgbGlidWNvbnRleHRcbiIKLQotCSMgaXQncyBvayBpZiB3ZSdyZSBzdGF0aWMgb25seSBo ZXJlCi0JQ0M9IiR7X3RyaXBsZXR9LWdjYyIgQVI9IiR7X3RyaXBsZXR9LWFyIiBBUz0iJHtfdHJp cGxldH0tYXMiIFwKLQkJQ0ZMQUdTPSItT3MgLXBpcGUgJHtfYXJjaGZsYWdzfSIgXAotCQltYWtl IEFSQ0g9YXJtIGxpYnVjb250ZXh0LmEKLQotCWNwIGxpYnVjb250ZXh0LmEgJHtfc3lzcm9vdH0v dXNyL2xpYgotCi0JdG91Y2ggJHt3cmtzcmN9Ly5saWJ1Y29udGV4dF9idWlsZF9kb25lCi19Ci0K LV9nY2NfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MKLQotCVsgLWYgJHt3cmtzcmN9Ly5nY2NfYnVp bGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2dfbm9ybWFsICJCdWls ZGluZyBjcm9zcyBnY2MgZmluYWxcbiIKLQotCVsgISAtZCBnY2MtYnVpbGQgXSAmJiBta2RpciBn Y2MtYnVpbGQKLQljZCBnY2MtYnVpbGQKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdz Kz0iIC0tbGliZXhlY2Rpcj0vdXNyL2xpYiIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0 fSIKLQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLWVu YWJsZS1sYW5ndWFnZXM9YyxhZGEsYysrLG9iamMsb2JqLWMrKyxnbyxmb3J0cmFuLGx0byIKLQlf YXJncys9IiAtLWVuYWJsZS1saWJhZGEiCi0JX2FyZ3MrPSIgLS1lbmFibGUtbHRvIgotCV9hcmdz Kz0iIC0tZW5hYmxlLWRlZmF1bHQtcGllIgotCV9hcmdzKz0iIC0tZW5hYmxlLWRlZmF1bHQtc3Nw IgotCV9hcmdzKz0iIC0tZW5hYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlic2Fu aXRpemVyIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1tdWx0aWxpYiIKLQlfYXJncys9IiAtLWRpc2Fi bGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtcHgiCi0JX2FyZ3MrPSIgLS1kaXNhYmxl LWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnF1YWRtYXRoIgotCV9hcmdzKz0i IC0tZW5hYmxlLXNoYXJlZCIKLQlfYXJncys9IiAtLWRpc2FibGUtc3ltdmVycyIKLQlfYXJncys9 IiBsaWJhdF9jdl9oYXZlX2lmdW5jPW5vIgotCV9hcmdzKz0iICR7X2ZwdWZsYWdzfSIKLQotCS4u L2djYy0ke19nY2NfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlICR7bWFrZWpv YnN9Ci0KLQl0b3VjaCAke3dya3NyY30vLmdjY19idWlsZF9kb25lCi19Ci0KLWRvX2J1aWxkKCkg ewotCSMgRW5zdXJlIHdlIHVzZSBzYW5lIGVudmlyb25tZW50Ci0JdW5zZXQgQ0MgQ1hYIENQUCBM RCBBUyBBUiBSQU5MSUIgT0JKRFVNUCBSRUFERUxGIE5NCi0JdW5zZXQgQ0ZMQUdTIENYWEZMQUdT IENQUEZMQUdTIExERkxBR1MKLQlleHBvcnQgQ0ZMQUdTPSItT3MgLXBpcGUiIENYWEZMQUdTPSIt T3MgLXBpcGUiCi0KLQlmb3IgZiBpbiBpbmNsdWRlIGxpYiBsaWJleGVjIGJpbiBzYmluOyBkbwot CQlpZiBbICEgLWQgJHtfc3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtf c3lzcm9vdH0vdXNyLyR7Zn0KLQkJZmkKLQkJaWYgWyAhIC1oICR7X3N5c3Jvb3R9LyR7Zn0gXTsg dGhlbgotCQkJbG4gLXNmciAke19zeXNyb290fS91c3IvJHtmfSAke19zeXNyb290fS8ke2Z9Ci0J CWZpCi0JZG9uZQotCWxuIC1zZiBsaWIgJHtfc3lzcm9vdH0vdXNyL2xpYjMyCi0JbG4gLXNmIHVz ci9saWIgJHtfc3lzcm9vdH0vbGliMzIKLQotCV9iaW51dGlsc19idWlsZAotCV9nY2NfYm9vdHN0 cmFwCi0JX2xpbnV4X2hlYWRlcnMKLQlfbXVzbF9idWlsZAotCV9saWJ1Y29udGV4dF9idWlsZAot CV9nY2NfYnVpbGQKLX0KLQotZG9faW5zdGFsbCgpIHsKLQlmb3IgZiBpbiBpbmNsdWRlIGxpYiBs aWJleGVjIGJpbiBzYmluOyBkbwotCQlpZiBbICEgLWQgJHtERVNURElSfS8ke19zeXNyb290fS91 c3IvJHtmfSBdOyB0aGVuCi0JCQlta2RpciAtcCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci8k e2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9LyR7Zn0gXTsgdGhl bgotCQkJbG4gLXNmciAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci8ke2Z9IFwKLQkJCQkke0RF U1RESVJ9LyR7X3N5c3Jvb3R9LyR7Zn0KLQkJZmkKLQlkb25lCi0JbG4gLXNmIGxpYiAke0RFU1RE SVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIzMgotCWxuIC1zZiB1c3IvbGliICR7REVTVERJUn0vJHtf c3lzcm9vdH0vbGliMzIKLQotCSMgaW5zdGFsbCBsaW51eCBBUEkgaGVhZGVycwotCWNkICR7d3Jr c3JjfS9saW51eC0ke19saW51eF92ZXJzaW9ufQotCW1ha2UgQVJDSD1hcm0gSU5TVEFMTF9IRFJf UEFUSD0ke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3VzciBoZWFkZXJzX2luc3RhbGwKLQlybSAtZiAk KGZpbmQgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvaW5jbHVkZSAtbmFtZSAuaW5zdGFsbCAt b3IgLW5hbWUgLi5pbnN0YWxsLmNtZCkKLQlybSAtcmYgJHtERVNURElSfS8ke19zeXNyb290fS91 c3IvaW5jbHVkZS9kcm0KLQotCSMgaW5zdGFsbCBjcm9zcyBiaW51dGlscwotCWNkICR7d3Jrc3Jj fS9iaW51dGlscy1idWlsZAotCW1ha2UgREVTVERJUj0ke0RFU1RESVJ9IGluc3RhbGwKLQotCSMg aW5zdGFsbCBjcm9zcyBnY2MKLQljZCAke3dya3NyY30vZ2NjLWJ1aWxkCi0JbWFrZSBERVNURElS PSR7REVTVERJUn0gaW5zdGFsbAotCi0JIyBtb3ZlIGxpYmNjMS5zbyogdG8gdGhlIHN5c3Jvb3QK LQltdiAke0RFU1RESVJ9L3Vzci9saWIvbGliY2MxLnNvKiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9 L3Vzci9saWIKLQotCSMgaW5zdGFsbCBtdXNsIGxpYmMgZm9yIHRhcmdldAotCWNkICR7d3Jrc3Jj fS9tdXNsLSR7X211c2xfdmVyc2lvbn0KLQltYWtlIERFU1RESVI9JHtERVNURElSfS8ke19zeXNy b290fSBpbnN0YWxsCi0KLQkjIFJlbW92ZSB1c2VsZXNzIGhlYWRlcnMuCi0Jcm0gLXJmICR7REVT VERJUn0vdXNyL2xpYi9nY2MvJHtfdHJpcGxldH0vKi9pbmNsdWRlLWZpeGVkLwotCi0JIyBNYWtl IGxkLW11c2wtYXJtLnNvLjEgc3ltbGluayByZWxhdGl2ZS4KLQlsbiAtc2YgbGliYy5zbyAke0RF U1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIvbGQtbXVzbC1hcm0uc28uMQotCi0JIyBzeW1saW5r cyBmb3IgZ25hcmwgYW5kIGduYXQgc2hhcmVkIGxpYnJhcmllcwotCV9tYWpvcnZlcj0ke19nY2Nf dmVyc2lvbiUuKi4qfQotCV9hZGFsaWI9dXNyL2xpYi9nY2MvJHtfdHJpcGxldH0vJHtfZ2NjX3Zl cnNpb259L2FkYWxpYgotCW12IC12ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmFybC0ke19t YWpvcnZlcn0uc28gJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0JbXYgLXYgJHtERVNU RElSfS8ke19hZGFsaWJ9L2xpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvICR7REVTVERJUn0vJHtfc3lz cm9vdH0vdXNyL2xpYgotCWxuIC1zdmYgbGliZ25hcmwtJHtfbWFqb3J2ZXJ9LnNvIGxpYmduYXJs LnNvCi0JbG4gLXN2ZiBsaWJnbmF0LSR7X21ham9ydmVyfS5zbyBsaWJnbmF0LnNvCi0Jcm0gLXZm ICR7REVTVERJUn0vJHtfYWRhbGlifS9saWJnbmF7cmwsdH0uc28KLQotCSMgV2UgbmVlZCB0byBi dWlsZCBsaWJhdG9taWMgaW4gdGFyZ2V0IGdjYyBhcyBnY2NnbyBuZWVkcyBpdCB0bwotCSMgYnVp bGQuLi4gYnV0IGl0J3Mgbm90IG5lZWRlZCBhdCBydW50aW1lLCBzbyByZW1vdmUgaXQgZnJvbSB0 aGUKLQkjIGRlc3RkaXIgc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRoIHRoZSBsaWJhdG9taWMg cGFja2FnZQotCXJtIC1mICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2xpYi9saWJhdG9taWMu KgotCi0JIyBSZW1vdmUgdW5uZWNlc3Nhcnkgc3R1ZmYKLQlybSAtZiAke0RFU1RESVJ9L3Vzci9s aWIqL2xpYmliZXJ0eS5hCi0Jcm0gLXJmICR7REVTVERJUn0vdXNyL3NoYXJlCi0Jcm0gLXJmICR7 REVTVERJUn0vJHtfc3lzcm9vdH0ve2V0Yyx2YXJ9Ci0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lz cm9vdH0vdXNyL3tzYmluLHNoYXJlLGxpYmV4ZWN9Ci0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNy b290fS9saWJleGVjCi0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS9saWIvKi5weQotCXJt IC1yZiAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3tzYmluLGxpYn0KLX0KLQogY3Jvc3MtYXJtLWxp bnV4LW11c2xlYWJpLWxpYmNfcGFja2FnZSgpIHsKIAlzaG9ydF9kZXNjKz0iIC0gbGliYyBmaWxl cyIKIAlub3N0cmlwPXllcwogCW5vc2hsaWJwcm92aWRlcz15ZXMKIAlub3ZlcmlmeXJkZXBzPXll cworCiAJcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlICR7X3N5c3Jvb3R9CisJCXZtb3ZlIHVzci8k e2Nyb3NzX3RyaXBsZXR9CiAJfQogfQoKRnJvbSAxYmNhNGE4MWJhMGEzNzBhNzg3MDk0NGQ4NmU4 MGI4YTlmNTM2ZDNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBxNjYgPGRhbmllbEBv Y3RhZm9yZ2Uub3JnPgpEYXRlOiBGcmksIDI1IERlYyAyMDIwIDIxOjA4OjM5ICswMTAwClN1Ympl Y3Q6IFtQQVRDSCA4LzhdIGNyb3NzLWFybS1saW51eC1tdXNsZWFiaWhmOiByZXdvcmsgd2l0aCB2 b2lkLWNyb3NzCgotLS0KIHNyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJpaGYvdGVtcGxh dGUgfCAzMDkgKystLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRp b25zKCspLCAyODggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jcm9zcy1hcm0t bGludXgtbXVzbGVhYmloZi90ZW1wbGF0ZSBiL3NyY3BrZ3MvY3Jvc3MtYXJtLWxpbnV4LW11c2xl YWJpaGYvdGVtcGxhdGUKaW5kZXggOTJlMjVmNDllNDcuLmY4YjUzNjZmMjI4IDEwMDY0NAotLS0g YS9zcmNwa2dzL2Nyb3NzLWFybS1saW51eC1tdXNsZWFiaWhmL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJpaGYvdGVtcGxhdGUKQEAgLTEsMjAgKzEsMTkgQEAK LSMgVGVtcGxhdGUgYnVpbGQgZmlsZSBmb3IgJ2Nyb3NzLWFybS1saW51eC1tdXNsZWFiaWhmJwot IworIyBUZW1wbGF0ZSBmaWxlIGZvciAnY3Jvc3MtYXJtLWxpbnV4LW11c2xlYWJpaGYnCitfdHJp cGxldD1hcm0tbGludXgtbXVzbGVhYmloZgogX2JpbnV0aWxzX3ZlcnNpb249Mi4zMgogX2djY192 ZXJzaW9uPTkuMy4wCiBfbXVzbF92ZXJzaW9uPTEuMS4yNAogX2xpbnV4X3ZlcnNpb249NC4xOQog X2xpYnVjb250ZXh0X3ZlcnNpb249MC45LjAKLQotX3RyaXBsZXQ9YXJtLWxpbnV4LW11c2xlYWJp aGYKLV9mcHVmbGFncz0iLS13aXRoLWFyY2g9YXJtdjYgLS13aXRoLWZwdT12ZnAgLS13aXRoLWZs b2F0PWhhcmQiCi1fYXJjaGZsYWdzPSItbWFyY2g9YXJtdjYgLW1mcHU9dmZwIC1tZmxvYXQtYWJp PWhhcmQiCi1fc3lzcm9vdD0iL3Vzci8ke190cmlwbGV0fSIKLQogcGtnbmFtZT1jcm9zcy0ke190 cmlwbGV0fQogdmVyc2lvbj0wLjMzCiByZXZpc2lvbj0zCi1zaG9ydF9kZXNjPSJDcm9zcyB0b29s Y2hhaW4gZm9yIEFSTXY2IExFIEhhcmQgRmxvYXQgdGFyZ2V0IChtdXNsKSIKK2J1aWxkX3N0eWxl PXZvaWQtY3Jvc3MKK2NvbmZpZ3VyZV9hcmdzPSItLXdpdGgtYXJjaD1hcm12NiAtLXdpdGgtZnB1 PXZmcCAtLXdpdGgtZmxvYXQ9aGFyZCIKK2hvc3RtYWtlZGVwZW5kcz0idGFyIGdjYy1vYmpjIGdj Yy1nbyBmbGV4IHBlcmwgcHl0aG9uMyIKK21ha2VkZXBlbmRzPSJpc2wxNS1kZXZlbCBsaWJtcGMt ZGV2ZWwgemxpYi1kZXZlbCBnbXAtZGV2ZWwgbXBmci1kZXZlbCIKK2RlcGVuZHM9IiR7cGtnbmFt ZX0tbGliYy0ke3ZlcnNpb259XyR7cmV2aXNpb259Igorc2hvcnRfZGVzYz0iVm9pZCBjcm9zcyB0 b29sY2hhaW4gZm9yICR7X3RyaXBsZXR9IgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2 b2lkbGludXgub3JnPiIKIGhvbWVwYWdlPSJodHRwczovL3d3dy52b2lkbGludXgub3JnLyIKIGxp Y2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIsIEdQTC0zLjAtb3ItbGF0ZXIsIE1JVCIKQEAgLTMwLDI5 NSArMjksMjkgQEAgY2hlY2tzdW09IjBhYjZjNTVkZDg2YTkyZWQ1NjE5NzJiYTE1YjliNzBhOGI5 Zjc1NTU3Zjg5NjQ0NmM4MmU4YjM2ZTQ3M2VlMDQKICAwYzY4ZjU2NTU1MjhhZWQ0Zjk5ZGFlNzFh NWIyNTllZGM5MzIzOWZhODk5ZTJkZjc5YzA1NTI3NWMyMTc0OWExCiAgMGQ1M2E0MTVhMzA3ZWYx NzUxNTNiYmU2MGE1NzJjOTQwYTkyMmNiNzM2Y2UxMzUzMGI2NjZlN2VjMjc5NWQ2OCIKIAotbGli MzJkaXNhYmxlZD15ZXMKLW5vY3Jvc3M9eWVzCi1ub3BpZT15ZXMKLW5vZGVidWc9eWVzCi1jcmVh dGVfd3Jrc3JjPXllcwotCi1ob3N0bWFrZWRlcGVuZHM9InRhciBnY2Mtb2JqYyBnY2MtZ28gZmxl eCBwZXJsIHB5dGhvbjMiCi1tYWtlZGVwZW5kcz0iemxpYi1kZXZlbCBnbXAtZGV2ZWwgbXBmci1k ZXZlbCBsaWJtcGMtZGV2ZWwgaXNsMTUtZGV2ZWwiCi1ub3N0cmlwX2ZpbGVzPSJsaWJjYWZfc2lu Z2xlLmEgbGliZ2NjLmEgbGliZ2Nvdi5hIGxpYmdjY19laC5hCi0gbGliZ25hcmxfcGljLmEgbGli Z25hcmwuYSBsaWJnbmF0X3BpYy5hIGxpYmduYXQuYSBsaWJnbWVtLmEiCi1kZXBlbmRzPSIke3Br Z25hbWV9LWxpYmMtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKK2Nyb3NzX3RyaXBsZXQ9JHtfdHJp cGxldH0KK2Nyb3NzX3dvcmRzaXplPTMyCitjcm9zc19saWJjPW11c2wKK2Nyb3NzX2JpbnV0aWxz X3ZlcnNpb249JHtfYmludXRpbHNfdmVyc2lvbn0KK2Nyb3NzX2djY192ZXJzaW9uPSR7X2djY192 ZXJzaW9ufQorY3Jvc3NfbXVzbF92ZXJzaW9uPSR7X211c2xfdmVyc2lvbn0KK2Nyb3NzX2xpbnV4 X3ZlcnNpb249JHtfbGludXhfdmVyc2lvbn0KK2Nyb3NzX2xpYnVjb250ZXh0X3ZlcnNpb249JHtf bGlidWNvbnRleHRfdmVyc2lvbn0KK2Nyb3NzX2xpYnVjb250ZXh0X2FyY2g9YXJtCitjcm9zc19s aW51eF9hcmNoPWFybQorY3Jvc3NfbXVzbF9jZmxhZ3M9Ii1PcyAtbWFyY2g9YXJtdjYgLW1mcHU9 dmZwIC1tZmxvYXQtYWJpPWhhcmQiCiAKIGlmIFsgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiA9ICJh cm12NmwtbXVzbCIgXTsgdGhlbgogCWJyb2tlbj0iQ2FuJ3QgYnVpbGQgY3Jvc3N0b29sY2hhaW4g dG8gaXRzZWxmIgogZmkKIAotX2FwcGx5X3BhdGNoKCkgewotCWxvY2FsIGFyZ3M9IiQxIiBwbmFt ZT0iJChiYXNlbmFtZSAkMikiCi0KLQlpZiBbICEgLWYgIi4ke3BuYW1lfV9kb25lIiBdOyB0aGVu Ci0JCXBhdGNoIC1OICRhcmdzIC1pICQyCi0JCXRvdWNoIC4ke3BuYW1lfV9kb25lCi0JZmkKLX0K LQotX2JpbnV0aWxzX2J1aWxkKCkgewotCWxvY2FsIF9hcmdzCi0KLQlbIC1mICR7d3Jrc3JjfS8u YmludXRpbHNfYnVpbGRfZG9uZSBdICYmIHJldHVybiAwCi0KLQljZCAke3dya3NyY30KLQltc2df bm9ybWFsICJCdWlsZGluZyBjcm9zcyBiaW51dGlscyBib290c3RyYXBcbiIKLQotCVsgISAtZCBi aW51dGlscy1idWlsZCBdICYmIG1rZGlyIGJpbnV0aWxzLWJ1aWxkCi0JY2QgYmludXRpbHMtYnVp bGQKLQotCV9hcmdzPSItLXByZWZpeD0vdXNyIgotCV9hcmdzKz0iIC0tdGFyZ2V0PSR7X3RyaXBs ZXR9IgotCV9hcmdzKz0iIC0td2l0aC1zeXNyb290PSR7X3N5c3Jvb3R9IgotCV9hcmdzKz0iIC0t ZGlzYWJsZS1ubHMiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLW11bHRpbGliIgotCV9hcmdzKz0iIC0t ZGlzYWJsZS13ZXJyb3IiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXNoYXJlZCIKLQlfYXJncys9IiAt LXdpdGgtc3lzdGVtLXpsaWIiCi0JX2FyZ3MrPSIgJHtfZnB1ZmxhZ3N9IgotCi0JLi4vYmludXRp bHMtJHtfYmludXRpbHNfdmVyc2lvbn0vY29uZmlndXJlICR7X2FyZ3N9Ci0KLQltYWtlIGNvbmZp Z3VyZS1ob3N0ICYmIG1ha2UgJHttYWtlam9ic30KLQltYWtlIGluc3RhbGwKLQotCXRvdWNoICR7 d3Jrc3JjfS8uYmludXRpbHNfYnVpbGRfZG9uZQotfQotCi1fZ2NjX2Jvb3RzdHJhcCgpIHsKLQls b2NhbCBfYXJncwotCi0JWyAtZiAke3dya3NyY30vLmdjY19ib290c3RyYXBfZG9uZSBdICYmIHJl dHVybiAwCi0KLQljZCAke3dya3NyY30vZ2NjLSR7X2djY192ZXJzaW9ufQotCWZvciBmIGluICR7 WEJQU19TUkNQS0dESVJ9L2djYy9wYXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAt cDAgIiRmIgotCWRvbmUKLQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElSfS9nY2MvZmlsZXMvKi1t dXNsLnBhdGNoOyBkbwotCQlfYXBwbHlfcGF0Y2ggLXAxICIkZiIKLQlkb25lCi0KLQltc2dfbm9y bWFsICJCdWlsZGluZyBjcm9zcyBnY2MgYm9vdHN0cmFwXG4iCi0KLQlbICEgLWQgLi4vZ2NjLWJv b3RzdHJhcCBdICYmIG1rZGlyIC4uL2djYy1ib290c3RyYXAKLQljZCAuLi9nY2MtYm9vdHN0cmFw Ci0KLQlfYXJncz0iLS1wcmVmaXg9L3VzciIKLQlfYXJncys9IiAtLXRhcmdldD0ke190cmlwbGV0 fSIKLQlfYXJncys9IiAtLXdpdGgtc3lzcm9vdD0ke19zeXNyb290fSIKLQlfYXJncys9IiAtLXdp dGgtbmV3bGliIgotCV9hcmdzKz0iIC0tZW5hYmxlLWxhbmd1YWdlcz1jIgotCV9hcmdzKz0iIC0t d2l0aC1uZXdsaWIiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYnNzcCIKLQlfYXJncys9IiAtLWRp c2FibGUtbmxzIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJxdWFkbWF0aCIKLQlfYXJncys9IiAt LWRpc2FibGUtdGhyZWFkcyIKLQlfYXJncys9IiAtLWRpc2FibGUtZGVjaW1hbC1mbG9hdCIKLQlf YXJncys9IiAtLWRpc2FibGUtc2hhcmVkIgotCV9hcmdzKz0iIC0tZGlzYWJsZS1saWJtcHgiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm11ZGZsYXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmdv bXAiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLWxpYmF0b21pYyIKLQlfYXJncys9IiAtLWRpc2FibGUt c3ltdmVycyIKLQlfYXJncys9IiBsaWJhdF9jdl9oYXZlX2lmdW5jPW5vIgotCV9hcmdzKz0iICR7 X2ZwdWZsYWdzfSIKLQotCUNGTEFHUz0iLU8wIC1nMCIgQ1hYRkxBR1M9Ii1PMCAtZzAiIFwKLQkJ Li4vZ2NjLSR7X2djY192ZXJzaW9ufS9jb25maWd1cmUgJHtfYXJnc30KLQotCW1ha2UgJHttYWtl am9ic30KLQltYWtlIGluc3RhbGwKLQotCXRvdWNoICR7d3Jrc3JjfS8uZ2NjX2Jvb3RzdHJhcF9k b25lCi19Ci0KLV9saW51eF9oZWFkZXJzKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5saW51eF9idWls ZF9kb25lIF0gJiYgcmV0dXJuIDAKLQotCWNkICR7d3Jrc3JjfQotCW1zZ19ub3JtYWwgIkJ1aWxk aW5nIExpbnV4IEFQSSBoZWFkZXJzIGZvciBBUk1cbiIKLQotCWNkIGxpbnV4LSR7X2xpbnV4X3Zl cnNpb259Ci0JZm9yIGYgaW4gJHtYQlBTX1NSQ1BLR0RJUn0va2VybmVsLWxpYmMtaGVhZGVycy9w YXRjaGVzLyoucGF0Y2g7IGRvCi0JCV9hcHBseV9wYXRjaCAtcDAgJGYKLQlkb25lCi0KLQltYWtl IEFSQ0g9YXJtIGhlYWRlcnNfY2hlY2sKLQltYWtlIEFSQ0g9YXJtIElOU1RBTExfSERSX1BBVEg9 JHtfc3lzcm9vdH0vdXNyIGhlYWRlcnNfaW5zdGFsbAotCi0JdG91Y2ggJHt3cmtzcmN9Ly5saW51 eF9idWlsZF9kb25lCi19Ci0KLV9tdXNsX2J1aWxkKCkgewotCVsgLWYgJHt3cmtzcmN9Ly5tdXNs X2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9L211c2wtJHtfbXVzbF92 ZXJzaW9ufQotCW1zZ19ub3JtYWwgIkJ1aWxkaW5nIGNyb3NzIG11c2wgbGliY1xuIgotCi0JIyBB cHBseSBtdXNsIHBhdGNoZXMgaWYgdGhlcmUgYXJlIGFueQotCWlmIFsgLWQgIiR7WEJQU19TUkNQ S0dESVJ9L211c2wvcGF0Y2hlcyIgXTsgdGhlbgotCQlmb3IgZiBpbiAke1hCUFNfU1JDUEtHRElS fS9tdXNsL3BhdGNoZXMvKi5wYXRjaDsgZG8KLQkJCV9hcHBseV9wYXRjaCAtcDAgIiRmIgotCQlk b25lCi0JZmkKLQotCUNDPSIke190cmlwbGV0fS1nY2MiIENGTEFHUz0iLU9zIC1waXBlIC1mUElD ICR7X2FyY2hmbGFnc30iIFwKLQkJLi9jb25maWd1cmUgLS1wcmVmaXg9L3VzcgotCi0JbWFrZSAk e21ha2Vqb2JzfQotCW1ha2UgREVTVERJUj0ke19zeXNyb290fSBpbnN0YWxsCi0KLQl0b3VjaCAk e3dya3NyY30vLm11c2xfYnVpbGRfZG9uZQotfQotCi1fbGlidWNvbnRleHRfYnVpbGQoKSB7Ci0J WyAtZiAke3dya3NyY30vLmxpYnVjb250ZXh0X2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0J Y2QgJHt3cmtzcmN9L2xpYnVjb250ZXh0LSR7X2xpYnVjb250ZXh0X3ZlcnNpb259Ci0JbXNnX25v cm1hbCAiQnVpbGRpbmcgY3Jvc3MgbGlidWNvbnRleHRcbiIKLQotCSMgaXQncyBvayBpZiB3ZSdy ZSBzdGF0aWMgb25seSBoZXJlCi0JQ0M9IiR7X3RyaXBsZXR9LWdjYyIgQVI9IiR7X3RyaXBsZXR9 LWFyIiBBUz0iJHtfdHJpcGxldH0tYXMiIFwKLQkJQ0ZMQUdTPSItT3MgLXBpcGUgJHtfYXJjaGZs YWdzfSIgXAotCQltYWtlIEFSQ0g9YXJtIGxpYnVjb250ZXh0LmEKLQotCWNwIGxpYnVjb250ZXh0 LmEgJHtfc3lzcm9vdH0vdXNyL2xpYgotCi0JdG91Y2ggJHt3cmtzcmN9Ly5saWJ1Y29udGV4dF9i dWlsZF9kb25lCi19Ci0KLV9nY2NfYnVpbGQoKSB7Ci0JbG9jYWwgX2FyZ3MKLQlbIC1mICR7d3Jr c3JjfS8uZ2NjX2J1aWxkX2RvbmUgXSAmJiByZXR1cm4gMAotCi0JY2QgJHt3cmtzcmN9Ci0JbXNn X25vcm1hbCAiQnVpbGRpbmcgY3Jvc3MgZ2NjIGZpbmFsXG4iCi0KLQlbICEgLWQgZ2NjLWJ1aWxk IF0gJiYgbWtkaXIgZ2NjLWJ1aWxkCi0JY2QgZ2NjLWJ1aWxkCi0KLQlfYXJncz0iLS1wcmVmaXg9 L3VzciIKLQlfYXJncys9IiAtLWxpYmV4ZWNkaXI9L3Vzci9saWIiCi0JX2FyZ3MrPSIgLS10YXJn ZXQ9JHtfdHJpcGxldH0iCi0JX2FyZ3MrPSIgLS13aXRoLXN5c3Jvb3Q9JHtfc3lzcm9vdH0iCi0J X2FyZ3MrPSIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYWRhLGMrKyxvYmpjLG9iai1jKyssZ28sZm9y dHJhbixsdG8iCi0JX2FyZ3MrPSIgLS1lbmFibGUtbGliYWRhIgotCV9hcmdzKz0iIC0tZW5hYmxl LWx0byIKLQlfYXJncys9IiAtLWVuYWJsZS1kZWZhdWx0LXBpZSIKLQlfYXJncys9IiAtLWVuYWJs ZS1kZWZhdWx0LXNzcCIKLQlfYXJncys9IiAtLWVuYWJsZS1saWJzc3AiCi0JX2FyZ3MrPSIgLS1k aXNhYmxlLWxpYnNhbml0aXplciIKLQlfYXJncys9IiAtLWRpc2FibGUtbXVsdGlsaWIiCi0JX2Fy Z3MrPSIgLS1kaXNhYmxlLW5scyIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlicXVhZG1hdGgiCi0J X2FyZ3MrPSIgLS1kaXNhYmxlLWxpYm1weCIKLQlfYXJncys9IiAtLWRpc2FibGUtbGlibXVkZmxh cCIKLQlfYXJncys9IiAtLWVuYWJsZS1zaGFyZWQiCi0JX2FyZ3MrPSIgLS1kaXNhYmxlLXN5bXZl cnMiCi0JX2FyZ3MrPSIgbGliYXRfY3ZfaGF2ZV9pZnVuYz1ubyIKLQlfYXJncys9IiAke19mcHVm bGFnc30iCi0KLQkuLi9nY2MtJHtfZ2NjX3ZlcnNpb259L2NvbmZpZ3VyZSAke19hcmdzfQotCi0J bWFrZSAke21ha2Vqb2JzfQotCi0JdG91Y2ggJHt3cmtzcmN9Ly5nY2NfYnVpbGRfZG9uZQotfQot Ci1kb19idWlsZCgpIHsKLQkjIEVuc3VyZSB3ZSB1c2Ugc2FuZSBlbnZpcm9ubWVudAotCXVuc2V0 IENDIENYWCBDUFAgTEQgQVMgQVIgUkFOTElCIE9CSkRVTVAgUkVBREVMRiBOTQotCXVuc2V0IENG TEFHUyBDWFhGTEFHUyBDUFBGTEFHUyBMREZMQUdTCi0JZXhwb3J0IENGTEFHUz0iLU9zIC1waXBl IiBDWFhGTEFHUz0iLU9zIC1waXBlIgotCi0JZm9yIGYgaW4gaW5jbHVkZSBsaWIgbGliZXhlYyBi aW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7X3N5c3Jvb3R9L3Vzci8ke2Z9IF07IHRoZW4KLQkJ CW1rZGlyIC1wICR7X3N5c3Jvb3R9L3Vzci8ke2Z9Ci0JCWZpCi0JCWlmIFsgISAtaCAke19zeXNy b290fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtfc3lzcm9vdH0vdXNyLyR7Zn0gJHtfc3lz cm9vdH0vJHtmfQotCQlmaQotCWRvbmUKLQlsbiAtc2YgbGliICR7X3N5c3Jvb3R9L3Vzci9saWIz MgotCWxuIC1zZiB1c3IvbGliICR7X3N5c3Jvb3R9L2xpYjMyCi0KLQlfYmludXRpbHNfYnVpbGQK LQlfZ2NjX2Jvb3RzdHJhcAotCV9saW51eF9oZWFkZXJzCi0JX211c2xfYnVpbGQKLQlfbGlidWNv bnRleHRfYnVpbGQKLQlfZ2NjX2J1aWxkCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JZm9yIGYgaW4g aW5jbHVkZSBsaWIgbGliZXhlYyBiaW4gc2JpbjsgZG8KLQkJaWYgWyAhIC1kICR7REVTVERJUn0v JHtfc3lzcm9vdH0vdXNyLyR7Zn0gXTsgdGhlbgotCQkJbWtkaXIgLXAgJHtERVNURElSfS8ke19z eXNyb290fS91c3IvJHtmfQotCQlmaQotCQlpZiBbICEgLWggJHtERVNURElSfS8ke19zeXNyb290 fS8ke2Z9IF07IHRoZW4KLQkJCWxuIC1zZnIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvJHtm fSBcCi0JCQkJJHtERVNURElSfS8ke19zeXNyb290fS8ke2Z9Ci0JCWZpCi0JZG9uZQotCWxuIC1z ZiBsaWIgJHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliMzIKLQlsbiAtc2YgdXNyL2xpYiAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYjMyCi0KLQkjIGluc3RhbGwgbGludXggQVBJIGhlYWRl cnMKLQljZCAke3dya3NyY30vbGludXgtJHtfbGludXhfdmVyc2lvbn0KLQltYWtlIEFSQ0g9YXJt IElOU1RBTExfSERSX1BBVEg9JHtERVNURElSfS8ke19zeXNyb290fS91c3IgaGVhZGVyc19pbnN0 YWxsCi0Jcm0gLWYgJChmaW5kICR7REVTVERJUn0vJHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUgLW5h bWUgLmluc3RhbGwgLW9yIC1uYW1lIC4uaW5zdGFsbC5jbWQpCi0Jcm0gLXJmICR7REVTVERJUn0v JHtfc3lzcm9vdH0vdXNyL2luY2x1ZGUvZHJtCi0KLQkjIGluc3RhbGwgY3Jvc3MgYmludXRpbHMK LQljZCAke3dya3NyY30vYmludXRpbHMtYnVpbGQKLQltYWtlIERFU1RESVI9JHtERVNURElSfSBp bnN0YWxsCi0KLQkjIGluc3RhbGwgY3Jvc3MgZ2NjCi0JY2QgJHt3cmtzcmN9L2djYy1idWlsZAot CW1ha2UgREVTVERJUj0ke0RFU1RESVJ9IGluc3RhbGwKLQotCSMgbW92ZSBsaWJjYzEuc28qIHRv IHRoZSBzeXNyb290Ci0JbXYgJHtERVNURElSfS91c3IvbGliL2xpYmNjMS5zbyogJHtERVNURElS fS8ke19zeXNyb290fS91c3IvbGliCi0KLQkjIGluc3RhbGwgbXVzbCBsaWJjIGZvciB0YXJnZXQK LQljZCAke3dya3NyY30vbXVzbC0ke19tdXNsX3ZlcnNpb259Ci0JbWFrZSBERVNURElSPSR7REVT VERJUn0vJHtfc3lzcm9vdH0gaW5zdGFsbAotCi0JIyBSZW1vdmUgdXNlbGVzcyBoZWFkZXJzLgot CXJtIC1yZiAke0RFU1RESVJ9L3Vzci9saWIvZ2NjLyR7X3RyaXBsZXR9LyovaW5jbHVkZS1maXhl ZC8KLQotCSMgTWFrZSBsZC1tdXNsLWFybWhmLnNvLjEgc3ltbGluayByZWxhdGl2ZS4KLQlsbiAt c2YgbGliYy5zbyAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9saWIvbGQtbXVzbC1hcm1oZi5z by4xCi0KLQkjIHN5bWxpbmtzIGZvciBnbmFybCBhbmQgZ25hdCBzaGFyZWQgbGlicmFyaWVzCi0J X21ham9ydmVyPSR7X2djY192ZXJzaW9uJS4qLip9Ci0JX2FkYWxpYj11c3IvbGliL2djYy8ke190 cmlwbGV0fS8ke19nY2NfdmVyc2lvbn0vYWRhbGliCi0JbXYgLXYgJHtERVNURElSfS8ke19hZGFs aWJ9L2xpYmduYXJsLSR7X21ham9ydmVyfS5zbyAke0RFU1RESVJ9LyR7X3N5c3Jvb3R9L3Vzci9s aWIKLQltdiAtdiAke0RFU1RESVJ9LyR7X2FkYWxpYn0vbGliZ25hdC0ke19tYWpvcnZlcn0uc28g JHtERVNURElSfS8ke19zeXNyb290fS91c3IvbGliCi0JbG4gLXN2ZiBsaWJnbmFybC0ke19tYWpv cnZlcn0uc28gbGliZ25hcmwuc28KLQlsbiAtc3ZmIGxpYmduYXQtJHtfbWFqb3J2ZXJ9LnNvIGxp YmduYXQuc28KLQlybSAtdmYgJHtERVNURElSfS8ke19hZGFsaWJ9L2xpYmduYXtybCx0fS5zbwot Ci0JIyBXZSBuZWVkIHRvIGJ1aWxkIGxpYmF0b21pYyBpbiB0YXJnZXQgZ2NjIGFzIGdjY2dvIG5l ZWRzIGl0IHRvCi0JIyBidWlsZC4uLiBidXQgaXQncyBub3QgbmVlZGVkIGF0IHJ1bnRpbWUsIHNv IHJlbW92ZSBpdCBmcm9tIHRoZQotCSMgZGVzdGRpciBzbyBpdCBkb2Vzbid0IGNvbmZsaWN0IHdp dGggdGhlIGxpYmF0b21pYyBwYWNrYWdlCi0Jcm0gLWYgJHtERVNURElSfS8ke19zeXNyb290fS91 c3IvbGliL2xpYmF0b21pYy4qCi0KLQkjIFJlbW92ZSB1bm5lY2Vzc2FyeSBzdHVmZgotCXJtIC1m ICR7REVTVERJUn0vdXNyL2xpYiovbGliaWJlcnR5LmEKLQlybSAtcmYgJHtERVNURElSfS91c3Iv c2hhcmUKLQlybSAtcmYgJHtERVNURElSfS8ke19zeXNyb290fS97ZXRjLHZhcn0KLQlybSAtcmYg JHtERVNURElSfS8ke19zeXNyb290fS91c3Ive3NiaW4sc2hhcmUsbGliZXhlY30KLQlybSAtZiAk e0RFU1RESVJ9LyR7X3N5c3Jvb3R9L2xpYmV4ZWMKLQlybSAtZiAke0RFU1RESVJ9LyR7X3N5c3Jv b3R9L2xpYi8qLnB5Ci0Jcm0gLXJmICR7REVTVERJUn0vJHtfc3lzcm9vdH0ve3NiaW4sbGlifQot fQotCiBjcm9zcy1hcm0tbGludXgtbXVzbGVhYmloZi1saWJjX3BhY2thZ2UoKSB7CiAJc2hvcnRf ZGVzYys9IiAtIGxpYmMgZmlsZXMiCiAJbm9zdHJpcD15ZXMKIAlub3NobGlicHJvdmlkZXM9eWVz CiAJbm92ZXJpZnlyZGVwcz15ZXMKKwogCXBrZ19pbnN0YWxsKCkgewotCQl2bW92ZSAke19zeXNy b290fQorCQl2bW92ZSB1c3IvJHtjcm9zc190cmlwbGV0fQogCX0KIH0K --===============6042709006755305035==--