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=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 29259 invoked from network); 11 Oct 2023 10:42:29 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 11 Oct 2023 10:42:29 -0000 Content-Type: multipart/mixed; boundary="===============7041952870966522199==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_mozjs78=3A_remove_package=2E?= To: ml@inbox.vuxu.org From: mhmdanas Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 11 Oct 2023 12:42:28 +0200 List-Id: Message-ID: <20231011104228.v3lHXtwDvhmquXoq2ejewdpH2NCuiC5SRR3fd94bQdQ@z> GitHub notification mails are now in MIME to allow UTF8. --===============7041952870966522199== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgbWhtZGFuYXMgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL21o bWRhbmFzL3ZvaWQtcGFja2FnZXMgcmVtb3ZlLW1vempzNzkKaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ2NTI1Cgptb3pqczc4OiByZW1vdmUgcGFja2Fn ZS4KCjwhLS0gVW5jb21tZW50IHJlbGV2YW50IHNlY3Rpb25zIGFuZCBkZWxldGUgb3B0aW9ucyB3 aGljaCBhcmUgbm90IGFwcGxpY2FibGUgLS0+CgojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMKLSBJ IHRlc3RlZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKmJyaWVmbHkqKgoKQ2xvc2VzICMzOTIy Ni4KCjwhLS0KIyMjIyBOZXcgcGFja2FnZQotIFRoaXMgbmV3IHBhY2thZ2UgY29uZm9ybXMgdG8g dGhlIFtwYWNrYWdlIHJlcXVpcmVtZW50c10oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjcGFja2FnZS1yZXF1aXJl bWVudHMpOiAqKllFUyoqfCoqTk8qKgotLT4KCjwhLS0gTm90ZTogSWYgdGhlIGJ1aWxkIGlzIGxp a2VseSB0byB0YWtlIG1vcmUgdGhhbiAyIGhvdXJzLCBwbGVhc2UgYWRkIGNpIHNraXAgdGFnIGFz IGRlc2NyaWJlZCBpbgpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2Vz L2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNjb250aW51b3VzLWludGVncmF0aW9uCmFuZCB0 ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0 IG9uZSBjcm9zcyBidWlsZC4KSWdub3JlIHRoaXMgc2VjdGlvbiBpZiB0aGlzIFBSIGlzIG5vdCBz a2lwcGluZyBDSS4KLS0+CjwhLS0KIyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nCi0gSSBidWlsdCB0 aGlzIFBSIGxvY2FsbHkgZm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsIChBUkNILUxJQkMpCi0g SSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBv cnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6CiAgLSBhYXJjaDY0LW11c2wKICAtIGFybXY3bAogIC0g YXJtdjZsLW11c2wKLS0+CgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ2NTI1LnBhdGNoIGlzIGF0dGFjaGVk --===============7041952870966522199== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-remove-mozjs79-46525.patch" RnJvbSAwOWQ4NDQ4OTg1ZGI1NGExM2NkY2NkYTEzZDUwNGJjMDM4MjAxMGY5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNb2hhbW1lZCBBbmFzIDx0cmlhbGxheEB0dXRhbm90YS5jb20+ CkRhdGU6IE1vbiwgOSBPY3QgMjAyMyAxMTo0MjozNSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMS8y XSAwYWQ6IHJlbW92ZSB1bnVzZWQgYG1vempzNzgtZGV2ZWxgIG1ha2VkZXBlbmQsIG1hcmsgYXMK IGJyb2tlbi4KClVzZXMgaXRzIG93biB2ZW5kb3JlZCBgbW96anM3OGAuCi0tLQogc3JjcGtncy8w YWQvdGVtcGxhdGUgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvMGFkL3RlbXBsYXRlIGIvc3JjcGtncy8w YWQvdGVtcGxhdGUKaW5kZXggNTk3YTcwODJiOTM4OS4uMTkwYWMwMzIxNWQ5YyAxMDA2NDQKLS0t IGEvc3JjcGtncy8wYWQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy8wYWQvdGVtcGxhdGUKQEAgLTYs NyArNiw3IEBAIGFyY2hzPSJ4ODZfNjQqIGk2ODYqIGFhcmNoNjQqIGFybXY3bCogcHBjNjRsZSoi CiBob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgcGVybCBjbWFrZSBweXRob24zIHJ1c3QgY2Fy Z28geWFzbSB0YXIgY2xhbmciCiBtYWtlZGVwZW5kcz0iU0RMMi1kZXZlbCBib29zdC1kZXZlbCBn bG9veC1kZXZlbCBsaWJjdXJsLWRldmVsIGxpYmVuZXQtZGV2ZWwKICBsaWJvcGVuYWwtZGV2ZWwg bGlicG5nLWRldmVsIGxpYnNvZGl1bS1kZXZlbCBsaWJ4bWwyLWRldmVsIG1pbml1cG5wYy1kZXZl bAotIG5zcHItZGV2ZWwgd3hXaWRnZXRzLWd0azMtZGV2ZWwgZm10LWRldmVsIG1vempzNzgtZGV2 ZWwgZnJlZXR5cGUtZGV2ZWwiCisgbnNwci1kZXZlbCB3eFdpZGdldHMtZ3RrMy1kZXZlbCBmbXQt ZGV2ZWwgZnJlZXR5cGUtZGV2ZWwiCiBkZXBlbmRzPSIke3BrZ25hbWV9LWRhdGEiCiBzaG9ydF9k ZXNjPSJIaXN0b3JpY2FsbHktYmFzZWQgcmVhbC10aW1lIHN0cmF0ZWd5IGdhbWUiCiBtYWludGFp bmVyPSJIZWxtdXQgUG96aW1za2kgPGhlbG11dEBwb3ppbXNraS5ldT4iCkBAIC0xOCw2ICsxOCw3 IEBAIGNoZWNrc3VtPSIyZTFjNmRmN2UzMzEyZTc3YzVmODI3ODg2NjRjZmZjM2E3OGQzYmY2MDYw NmMwMDAzOTI3NWUxZDEzYzBlZTRiCiAgZjE4ZmEzYWRhZTdhY2IwN2E0OTE0ODM1NGI2ODA0MDI4 ZTZjOWQ3MzQ0OTkxNjIyZmI3YzAwZjYzODE3M2UwMyIKIG5vY3Jvc3M9InVzZXMgYnVuZGxlZCB0 aGlyZC1wYXJ0eSBsaWJyYXJpZXMgdGhhdCBkbyBub3QgY3Jvc3MtY29tcGlsZSIKIGxpYjMyZGlz YWJsZWQ9eWVzCiticm9rZW49IkZUQkZTIHdpdGggUHl0aG9uIDMuMTIiCiAKIHNraXBfZXh0cmFj dGlvbj0iMTY1NDQ1Ny12aXJ0dWFsZW52LnBhdGNoIgogCgpGcm9tIDFkYmNmMTE0ZjczOGY3ODEx M2IzYjQ5NDE5MmE2MmYzNGY2NWVmYzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1v aGFtbWVkIEFuYXMgPHRyaWFsbGF4QHR1dGFub3RhLmNvbT4KRGF0ZTogTW9uLCA5IE9jdCAyMDIz IDExOjQ1OjUyICswMTAwClN1YmplY3Q6IFtQQVRDSCAyLzJdIG1vempzNzg6IHJlbW92ZSBwYWNr YWdlLgoKRU9MIHNpbmNlIDIgeWVhcnMgYW5kIG5vdCB1c2VkIGJ5IGFueSBvdGhlciB0ZW1wbGF0 ZS4KCkNsb3NlcyAjMzkyMjYuCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxIC0KIHNyY3BrZ3MvbW96anM3OC1kZXZlbCAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgMSAtCiAuLi4vMDAxLXNpbGVuY2Utc2FuZGJveC12aW9sYXRpb25zLnBh dGNoICAgICAgfCAgMjcgLQogc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvMDAyLWZpeC1zb25hbWUu cGF0Y2ggIHwgIDIyIC0KIC4uLi9tb3pqczc4L3BhdGNoZXMvMDAzLWZpeC13YXNtLWFybS5wYXRj aCAgICB8ICAxNiAtCiAuLi4vbW96anM3OC9wYXRjaGVzLzAwNC1maXgtbXVzbC1idWlsZC5wYXRj aCAgfCAgMTcgLQogLi4uLzAwNS1zcGlkZXJtb25rZXktY2hlY2tzLWRpc2FibGUucGF0Y2ggICAg IHwgIDEyIC0KIC4uLi8wMDYtbW96anM3OC5wYy1ob25vci1zeXNyb290LnBhdGNoICAgICAgICB8 ICAxMCAtCiAuLi4vcGF0Y2hlcy8wMDctZml4LW1pcHMtc2dpZGVmc19oLnBhdGNoICAgICAgfCAg MTEgLQogLi4uL21vempzNzgvcGF0Y2hlcy9idWlsZC1ub24taml0LTMyYml0LnBhdGNoIHwgIDE0 IC0KIHNyY3BrZ3MvbW96anM3OC9wYXRjaGVzL2Rpc2FibGUtanNsaW50LnBhdGNoICB8ICAxNyAt CiAuLi40N2M5NDE2ZjllZWJkZTYzNmUyMWQ3OTRkMjVkMWJlODc5MWQucGF0Y2ggfCAgMzcgLQog c3JjcGtncy9tb3pqczc4L3BhdGNoZXMvZml4LXB5dGhvbjMuMTAucGF0Y2ggIHwgODI2IC0tLS0t LS0tLS0tLS0tLS0tLQogc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvZml4LXJ1c3QtdGFyZ2V0LnBh dGNoIHwgIDE1IC0KIHNyY3BrZ3MvbW96anM3OC9wYXRjaGVzL3B5dGhvbi0zLjExLnBhdGNoICAg ICB8IDEzMSAtLS0KIHNyY3BrZ3MvbW96anM3OC9wYXRjaGVzL3J1c3QtY29uZmlndXJlLnBhdGNo ICB8ICA1OCAtLQogc3JjcGtncy9tb3pqczc4L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAg IHwgIDc2IC0tCiBzcmNwa2dzL21vempzNzgvdXBkYXRlICAgICAgICAgICAgICAgICAgICAgICAg fCAgIDEgLQogc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlICAgICAgICAgICAgIHwg ICA0ICstCiAxOSBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEyOTMgZGVsZXRpb25z KC0pCiBkZWxldGUgbW9kZSAxMjAwMDAgc3JjcGtncy9tb3pqczc4LWRldmVsCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvMDAxLXNpbGVuY2Utc2FuZGJveC12aW9s YXRpb25zLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tb3pqczc4L3BhdGNoZXMv MDAyLWZpeC1zb25hbWUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21vempzNzgv cGF0Y2hlcy8wMDMtZml4LXdhc20tYXJtLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9tb3pqczc4L3BhdGNoZXMvMDA0LWZpeC1tdXNsLWJ1aWxkLnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvMDA1LXNwaWRlcm1vbmtleS1jaGVja3MtZGlz YWJsZS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbW96anM3OC9wYXRjaGVzLzAw Ni1tb3pqczc4LnBjLWhvbm9yLXN5c3Jvb3QucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL21vempzNzgvcGF0Y2hlcy8wMDctZml4LW1pcHMtc2dpZGVmc19oLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvYnVpbGQtbm9uLWppdC0zMmJpdC5w YXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbW96anM3OC9wYXRjaGVzL2Rpc2FibGUt anNsaW50LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tb3pqczc4L3BhdGNoZXMv ZmQ2ODQ3Yzk0MTZmOWVlYmRlNjM2ZTIxZDc5NGQyNWQxYmU4NzkxZC5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvbW96anM3OC9wYXRjaGVzL2ZpeC1weXRob24zLjEwLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvZml4LXJ1c3QtdGFyZ2V0 LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvcHl0aG9u LTMuMTEucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21vempzNzgvcGF0Y2hlcy9y dXN0LWNvbmZpZ3VyZS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbW96anM3OC90 ZW1wbGF0ZQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbW96anM3OC91cGRhdGUKCmRpZmYg LS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBjMmI3MmVkYjc3Y2Qy Li5kMzMzMjdlZDhhM2U2IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9z aGxpYnMKQEAgLTM0NTgsNyArMzQ1OCw2IEBAIGxpYm15c3FscHAuc28uMyBteXNxbCsrLTMuMi41 XzEKIGxpYktGNVN5bmRpY2F0aW9uLnNvLjUgc3luZGljYXRpb24tNS41MC4wXzEKIGxpYmxxci0x LnNvLjAgbGlibHFyLTAuNC4yXzEKIGxpYm1vempzLTEwMi5zby4wIG1vempzMTAyLTEwMi4zLjBf MQotbGlibW96anMtNzguc28uMCBtb3pqczc4LTc4LjEuMF8xCiBsaWJlYnVyMTI4LnNvLjEgbGli ZWJ1cjEyOC0xLjIuNF8xCiBsaWJndGtzb3VyY2V2aWV3LTQuc28uMCBndGtzb3VyY2V2aWV3NC00 LjAuMl8xCiBsaWJndGtzb3VyY2V2aWV3LTUuc28uMCBndGtzb3VyY2V2aWV3NS01LjIuMF8xCmRp ZmYgLS1naXQgYS9zcmNwa2dzL21vempzNzgtZGV2ZWwgYi9zcmNwa2dzL21vempzNzgtZGV2ZWwK ZGVsZXRlZCBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDc3MTM1OTkzNTZmZDYuLjAwMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9tb3pqczc4LWRldmVsCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBA QAotbW96anM3OApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvbW96anM3OC9wYXRjaGVzLzAwMS1zaWxlbmNlLXNhbmRib3gtdmlvbGF0aW9ucy5wYXRjaCBi L3NyY3BrZ3MvbW96anM3OC9wYXRjaGVzLzAwMS1zaWxlbmNlLXNhbmRib3gtdmlvbGF0aW9ucy5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMwMTE5NGI2NDZkMy4uMDAwMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL21vempzNzgvcGF0Y2hlcy8wMDEtc2lsZW5jZS1zYW5kYm94 LXZpb2xhdGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0iQ2Fycmll ZCBvdmVyICsgdXBkYXRlZCBmcm9tIG1vempzNjgiCi1VcHN0cmVhbTogbm8KLUZyb20gOWFkMTA1 NjllMTFhMmZiOTYzNzcxODhmODk1YmM2NmFiY2M5NTExZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IE1hcmMtQW50b2luZSBQZXJlbm5vdSA8TWFyYy1BbnRvaW5lQFBlcmVubm91LmNv bT4KLURhdGU6IFdlZCwgNSBTZXAgMjAxOCAxNTowNToyNCArMDIwMAotU3ViamVjdDogW1BBVENI XSBzaWxlbmNlIHNhbmRib3ggdmlvbGF0aW9ucwotCi1TaWduZWQtb2ZmLWJ5OiBNYXJjLUFudG9p bmUgUGVyZW5ub3UgPE1hcmMtQW50b2luZUBQZXJlbm5vdS5jb20+Ci0tLS0KLSBweXRob24vbW96 YnVpbGQvbW96YnVpbGQvZnJvbnRlbmQvZW1pdHRlci5weSB8IDUgLS0tLS0KLSAxIGZpbGUgY2hh bmdlZCwgNSBkZWxldGlvbnMoLSkKLQotLS0tIGEvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL2Zy b250ZW5kL2VtaXR0ZXIucHkKLSsrKyBiL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC9mcm9udGVu ZC9lbWl0dGVyLnB5Ci1AQCAtMTIzOSwxMiArMTIzOSw2IEBAIGNsYXNzIFRyZWVNZXRhZGF0YUVt aXR0ZXIoTG9nZ2luZ01peGluKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ2lzIGEgZmlsZW5hbWUsIGJ1dCBhIGRpcmVjdG9yeSBpcyByZXF1aXJl ZDogJXMgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnKHJlc29sdmVkIHRvICVzKScgJSAobG9jYWxfaW5jbHVkZSwgZnVsbF9wYXRoKSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dCkKLS0g ICAgICAgICAgICBpZiAoZnVsbF9wYXRoID09IGNvbnRleHQuY29uZmlnLnRvcHNyY2RpciBvcgot LSAgICAgICAgICAgICAgICAgICAgZnVsbF9wYXRoID09IGNvbnRleHQuY29uZmlnLnRvcG9iamRp cik6Ci0tICAgICAgICAgICAgICAgIHJhaXNlIFNhbmRib3hWYWxpZGF0aW9uRXJyb3IoCi0tICAg ICAgICAgICAgICAgICAgICAnUGF0aCBzcGVjaWZpZWQgaW4gTE9DQUxfSU5DTFVERVMgJwotLSAg ICAgICAgICAgICAgICAgICAgJyglcykgcmVzb2x2ZXMgdG8gdGhlIHRvcHNyY2RpciBvciB0b3Bv YmpkaXIgKCVzKSwgd2hpY2ggaXMgJwotLSAgICAgICAgICAgICAgICAgICAgJ25vdCBhbGxvd2Vk JyAlIChsb2NhbF9pbmNsdWRlLCBmdWxsX3BhdGgpLCBjb250ZXh0KQotICAgICAgICAgICAgIGlu Y2x1ZGVfb2JqID0gTG9jYWxJbmNsdWRlKGNvbnRleHQsIGxvY2FsX2luY2x1ZGUpCi0gICAgICAg ICAgICAgbG9jYWxfaW5jbHVkZXMuYXBwZW5kKGluY2x1ZGVfb2JqLnBhdGguZnVsbF9wYXRoKQot ICAgICAgICAgICAgIHlpZWxkIGluY2x1ZGVfb2JqCmRpZmYgLS1naXQgYS9zcmNwa2dzL21vempz NzgvcGF0Y2hlcy8wMDItZml4LXNvbmFtZS5wYXRjaCBiL3NyY3BrZ3MvbW96anM3OC9wYXRjaGVz LzAwMi1maXgtc29uYW1lLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzU0 MzEwOTM5OGQ1Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbW96anM3OC9wYXRjaGVzLzAw Mi1maXgtc29uYW1lLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotIkNhcnJp ZWQgb3ZlciBmcm9tIG1vempzNjgiCi0tLS0gYS9qcy9zcmMvYnVpbGQvTWFrZWZpbGUuaW4KLSsr KyBiL2pzL3NyYy9idWlsZC9NYWtlZmlsZS5pbgotQEAgLTc4LDYgKzc4LDggQEAKLSBlbmRpZgot IGlmbmVxICgsJChTSEFSRURfTElCUkFSWSkpCi0gCSQoU1lTSU5TVEFMTCkgJChTSEFSRURfTElC UkFSWSkgJChERVNURElSKSQobGliZGlyKQotKwltdiAtZiAkKERFU1RESVIpJChsaWJkaXIpLyQo U0hBUkVEX0xJQlJBUlkpICQoREVTVERJUikkKGxpYmRpcikvJChTSEFSRURfTElCUkFSWSkuMAot KwlsbiAtcyAkKFNIQVJFRF9MSUJSQVJZKS4wICQoREVTVERJUikkKGxpYmRpcikvJChTSEFSRURf TElCUkFSWSkKLSBpZmVxICgkKE9TX0FSQ0gpLERhcndpbikKLSAJaW5zdGFsbF9uYW1lX3Rvb2wg LWlkICQoYWJzcGF0aCAkKGxpYmRpcikvJChTSEFSRURfTElCUkFSWSkpICQoREVTVERJUikkKGxp YmRpcikvJChTSEFSRURfTElCUkFSWSkKLSBlbmRpZgotLS0tIGEvanMvc3JjL2J1aWxkL21vei5i dWlsZAotKysrIGIvanMvc3JjL2J1aWxkL21vei5idWlsZAotQEAgLTI1LDYgKzI1LDcgQEAKLSBp ZiBDT05GSUdbJ0pTX1NIQVJFRF9MSUJSQVJZJ106Ci0gICAgIEdlY2tvU2hhcmVkTGlicmFyeSgn anMnLCBsaW5rYWdlPU5vbmUpCi0gICAgIFNIQVJFRF9MSUJSQVJZX05BTUUgPSBDT05GSUdbJ0pT X0xJQlJBUllfTkFNRSddCi0rICAgIExERkxBR1MgKz0gWyctV2wsLXNvbmFtZSxsaWJ7fS5zby4w Jy5mb3JtYXQoU0hBUkVEX0xJQlJBUllfTkFNRSldCi0gCi0gICAgICMgRW5zdXJlIHN5bWJvbCB2 ZXJzaW9ucyBvZiBzaGFyZWQgbGlicmFyeSBvbiBMaW51eCBkbyBub3QgY29uZmxpY3QKLSAgICAg IyB3aXRoIHRob3NlIGluIGxpYnh1bC4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM3OC9wYXRj aGVzLzAwMy1maXgtd2FzbS1hcm0ucGF0Y2ggYi9zcmNwa2dzL21vempzNzgvcGF0Y2hlcy8wMDMt Zml4LXdhc20tYXJtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OTFhNzY1 MjA1NmFiLi4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbW96anM3OC9wYXRjaGVzLzAwMy1m aXgtd2FzbS1hcm0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi0iVGFrZW4g ZnJvbSBmaXJlZm94LWVzciIKLS0tLSBhL2pzL3NyYy93YXNtL1dhc21TaWduYWxIYW5kbGVycy5j cHAKLSsrKyBiL2pzL3NyYy93YXNtL1dhc21TaWduYWxIYW5kbGVycy5jcHAKLUBAIC0yNDMsOSAr MjQzLDkgQEAKLSAvLyBJZiB5b3UgcnVuIGludG8gY29tcGlsZSBwcm9ibGVtcyBvbiBhIHRpZXIt MyBwbGF0Zm9ybSwgeW91IGNhbiBkaXNhYmxlIHRoZQotIC8vIGVtdWxhdGlvbiBoZXJlLgotIAot LSNpZiBkZWZpbmVkKF9fbGludXhfXykgJiYgZGVmaW5lZChfX2FybV9fKQotLSMgIGRlZmluZSBX QVNNX0VNVUxBVEVfQVJNX1VOQUxJR05FRF9GUF9BQ0NFU1MKLS0jZW5kaWYKLSsvLyAjaWYgZGVm aW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19hcm1fXykKLSsvLyAjICBkZWZpbmUgV0FTTV9F TVVMQVRFX0FSTV9VTkFMSUdORURfRlBfQUNDRVNTCi0rLy8gI2VuZGlmCi0gCi0gI2lmZGVmIFdB U01fRU1VTEFURV9BUk1fVU5BTElHTkVEX0ZQX0FDQ0VTUwotICMgIGluY2x1ZGUgPHN5cy91c2Vy Lmg+CmRpZmYgLS1naXQgYS9zcmNwa2dzL21vempzNzgvcGF0Y2hlcy8wMDQtZml4LW11c2wtYnVp bGQucGF0Y2ggYi9zcmNwa2dzL21vempzNzgvcGF0Y2hlcy8wMDQtZml4LW11c2wtYnVpbGQucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY2MjlmYTJhYzM1NWYuLjAwMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvMDA0LWZpeC1tdXNsLWJ1aWxkLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotIkNhcnJpZWQgb3ZlciBmcm9tIG1v empzNjAiCi1VcHN0cmVhbTogTm8KLVJlYXNvbjogbW96anM2OCBtaXNjb21waWxlcyBvbiBtdXNs IGlmIGJ1aWx0IHdpdGggSEFWRV9USFJFQURfVExTX0tFWVdPUkQ6Ci1odHRwczovL2dpdGh1Yi5j b20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2lzc3Vlcy8yNTk4Ci1kaWZmIC0tZ2l0IGEvanMv c3JjL29sZC1jb25maWd1cmUuaW4gYi9qcy9zcmMvb2xkLWNvbmZpZ3VyZS5pbgotLS0tIGEvanMv c3JjL29sZC1jb25maWd1cmUuaW4KLSsrKyBiL2pzL3NyYy9vbGQtY29uZmlndXJlLmluCi1AQCAt MTI3Miw2ICsxMjcyLDkgQEAKLSAgICAgKi1hbmRyb2lkKnwqLWxpbnV4YW5kcm9pZCopCi0gICAg ICAgOgotICAgICAgIDs7Ci0rICAgICotbXVzbCopCi0rICAgICAgOgotKyAgICAgIDs7Ci0gICAg ICopCi0gICAgICAgQUNfREVGSU5FKEhBVkVfVEhSRUFEX1RMU19LRVlXT1JEKQotICAgICAgIDs7 CmRpZmYgLS1naXQgYS9zcmNwa2dzL21vempzNzgvcGF0Y2hlcy8wMDUtc3BpZGVybW9ua2V5LWNo ZWNrcy1kaXNhYmxlLnBhdGNoIGIvc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvMDA1LXNwaWRlcm1v bmtleS1jaGVja3MtZGlzYWJsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg ZjZlYWJhYmQxZjJmMC4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL21vempzNzgvcGF0Y2hl cy8wMDUtc3BpZGVybW9ua2V5LWNoZWNrcy1kaXNhYmxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMTIgKzAsMCBAQAotU291cmNlOkZlZG9yYQotUmVhc29uOiBDaGVja3MgZmFpbGVkKFRvZG86 IEZpZ3VyZSBvdXQgd2h5KQotKysrIGEvY29uZmlnL3J1bl9zcGlkZXJtb25rZXlfY2hlY2tzLnB5 Ci0rKysgYi9jb25maWcvcnVuX3NwaWRlcm1vbmtleV9jaGVja3MucHkKLUBAIC0xMSw1ICsxMSw1 IEBACi0gICAgIGZvciBzY3JpcHQgaW4gc2NyaXB0czoKLSAgICAgICAgIHJldGNvZGUgPSBzdWJw cm9jZXNzLmNhbGwoCi0gICAgICAgICAgICAgW3N5cy5leGVjdXRhYmxlLCBzY3JpcHRdLCBjd2Q9 YnVpbGRjb25maWcudG9wc3JjZGlyKQotLSAgICAgICAgaWYgcmV0Y29kZSAhPSAwOgotLSAgICAg ICAgICAgIHJhaXNlIEV4Y2VwdGlvbihzY3JpcHQgKyAiIGZhaWxlZCIpCi0rICAgICAgICAjaWYg cmV0Y29kZSAhPSAwOgotKyAgICAgICAgIyAgICByYWlzZSBFeGNlcHRpb24oc2NyaXB0ICsgIiBm YWlsZWQiKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvMDA2LW1vempzNzgu cGMtaG9ub3Itc3lzcm9vdC5wYXRjaCBiL3NyY3BrZ3MvbW96anM3OC9wYXRjaGVzLzAwNi1tb3pq czc4LnBjLWhvbm9yLXN5c3Jvb3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDcxMjE0YjhlY2NmOWUuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczc4L3BhdGNo ZXMvMDA2LW1vempzNzgucGMtaG9ub3Itc3lzcm9vdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDEwICswLDAgQEAKLSJDYXJyaWVkIG92ZXIgZnJvbSBtb3pqczYwIgotUmVhc29uOiBGaXggdGhl ICctaW5jbHVkZScgZGlyZWN0aXZlLCBvdGhlcndpc2UgaXQgdHJpZXMgdG8gdXNlIHRoZSBob3N0 J3MgaGVhZGVyCi0tLS0gYS9qcy9zcmMvYnVpbGQvanMucGMuaW4KLSsrKyBiL2pzL3NyYy9idWls ZC9qcy5wYy5pbgotQEAgLTExLDQgKzExLDQgQEAKLSAjIFVzZSAtaXN5c3RlbSBmb3IgaW5jbHVk ZXMgcmF0aGVyIHRoYW4gLUksIHRvIG1hcmsgdGhlbSBhcyAic3lzdGVtIGhlYWRlcnMiCi0gIyB0 aGF0IGRvbid0IGdlbmVyYXRlIHdhcm5pbmcgZGlhZ25vc3RpY3MuIEZvciBqdXN0aWZpY2F0aW9u LCBzZWUKLSAjIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE1 MzkwMzYKLS1DZmxhZ3M6IC1pbmNsdWRlICR7aW5jbHVkZWRpcn0vQEpTX0xJQlJBUllfTkFNRUAv anMvUmVxdWlyZWREZWZpbmVzLmggLWlzeXN0ZW0gJHtpbmNsdWRlZGlyfS9ASlNfTElCUkFSWV9O QU1FQAotK0NmbGFnczogLWluY2x1ZGUgJHtwY19zeXNyb290ZGlyfSR7aW5jbHVkZWRpcn0vQEpT X0xJQlJBUllfTkFNRUAvanMvUmVxdWlyZWREZWZpbmVzLmggLWlzeXN0ZW0gJHtpbmNsdWRlZGly fS9ASlNfTElCUkFSWV9OQU1FQApkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczc4L3BhdGNoZXMv MDA3LWZpeC1taXBzLXNnaWRlZnNfaC5wYXRjaCBiL3NyY3BrZ3MvbW96anM3OC9wYXRjaGVzLzAw Ny1maXgtbWlwcy1zZ2lkZWZzX2gucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IGFiYjE0MDIzM2EwNTMuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczc4L3BhdGNo ZXMvMDA3LWZpeC1taXBzLXNnaWRlZnNfaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExICsw LDAgQEAKLS0tLSBhL21mYnQvUmFuZG9tTnVtLmNwcAkyMDIwLTA0LTI5IDIzOjQ5OjQwLjAwMDAw MDAwMCArMDIwMAotKysrIGIvbWZidC9SYW5kb21OdW0uY3BwCTIwMjAtMDgtMDQgMTk6Mjk6MzYu MTI3NDcxMzAxICswMjAwCi1AQCAtNTIsNyArNTIsNyBAQAotICMgIGVsaWYgZGVmaW5lZChfX3Mz OTBfXykKLSAjICAgIGRlZmluZSBHRVRSQU5ET01fTlIgMzQ5Ci0gIyAgZWxpZiBkZWZpbmVkKF9f bWlwc19fKQotLSMgICAgaW5jbHVkZSA8c2dpZGVmcy5oPgotKyMgICAgaW5jbHVkZSA8YXNtL3Nn aWRlZnMuaD4KLSAjICAgIGlmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJMzIKLSAjICAgICAg ZGVmaW5lIEdFVFJBTkRPTV9OUiA0MzUzCi0gIyAgICBlbGlmIF9NSVBTX1NJTSA9PSBfTUlQU19T SU1fQUJJNjQKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM3OC9wYXRjaGVzL2J1aWxkLW5vbi1q aXQtMzJiaXQucGF0Y2ggYi9zcmNwa2dzL21vempzNzgvcGF0Y2hlcy9idWlsZC1ub24taml0LTMy Yml0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMWJhMGJkODY2MjEzLi4w MDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbW96anM3OC9wYXRjaGVzL2J1aWxkLW5vbi1qaXQt MzJiaXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1PbiAzMi1iaXQgc3lz dGVtcyB3aXRob3V0IEpJVCwgdGhlIEdDIGRvZXNuJ3QgbGlrZSA0LWJ5dGUgYWxpZ25tZW50LAot c28gZW5mb3JjZSBhIHN0cmljdGVyIG9uZS4KLQotLS0tIGEvanMvc3JjL2ppdC9ub25lL01hY3Jv QXNzZW1ibGVyLW5vbmUuaAotKysrIGIvanMvc3JjL2ppdC9ub25lL01hY3JvQXNzZW1ibGVyLW5v bmUuaAotQEAgLTEwMCw3ICsxMDAsNyBAQCBzdGF0aWMgY29uc3RleHByIFJlZ2lzdGVyIFdhc21U bHNSZWd7UmVnCi0gc3RhdGljIGNvbnN0ZXhwciBSZWdpc3RlciBXYXNtSml0RW50cnlSZXR1cm5T Y3JhdGNoe1JlZ2lzdGVyczo6aW52YWxpZF9yZWd9OwotIAotIHN0YXRpYyBjb25zdGV4cHIgdWlu dDMyX3QgQUJJU3RhY2tBbGlnbm1lbnQgPSA0OwotLXN0YXRpYyBjb25zdGV4cHIgdWludDMyX3Qg Q29kZUFsaWdubWVudCA9IDE2OwotK3N0YXRpYyBjb25zdGV4cHIgdWludDMyX3QgQ29kZUFsaWdu bWVudCA9IDg7Ci0gc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBKaXRTdGFja0FsaWdubWVudCA9 IDg7Ci0gc3RhdGljIGNvbnN0ZXhwciB1aW50MzJfdCBKaXRTdGFja1ZhbHVlQWxpZ25tZW50ID0K LSAgICAgSml0U3RhY2tBbGlnbm1lbnQgLyBzaXplb2YoVmFsdWUpOwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9tb3pqczc4L3BhdGNoZXMvZGlzYWJsZS1qc2xpbnQucGF0Y2ggYi9zcmNwa2dzL21vempz NzgvcGF0Y2hlcy9kaXNhYmxlLWpzbGludC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDRhOGIzZWRlZjQ5Yy4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL21vempzNzgv cGF0Y2hlcy9kaXNhYmxlLWpzbGludC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAg QEAKLS0tLSBhL2pzL3NyYy9idWlsZC9tb3ouYnVpbGQKLSsrKyBiL2pzL3NyYy9idWlsZC9tb3ou YnVpbGQKLUBAIC04MCwxNCArODAsMyBAQAotIE5PX0VYUEFORF9MSUJTID0gVHJ1ZQotIAotIERJ U1RfSU5TVEFMTCA9IFRydWUKLS0KLS0jIFJ1biBTcGlkZXJNb25rZXkgc3R5bGUgY2hlY2tlciBh ZnRlciBsaW5raW5nIHRoZSBzdGF0aWMgbGlicmFyeS4gVGhpcyBhdm9pZHMKLS0jIHJ1bm5pbmcg dGhlIHNjcmlwdCBmb3Igbm8tb3AgYnVpbGRzLgotLUdlbmVyYXRlZEZpbGUoCi0tICAgICdzcGlk ZXJtb25rZXlfY2hlY2tzJywgc2NyaXB0PScvY29uZmlnL3J1bl9zcGlkZXJtb25rZXlfY2hlY2tz LnB5JywKLS0gICAgaW5wdXRzPVsKLS0gICAgICAgICchJXNqc19zdGF0aWMuJXMnICUgKENPTkZJ R1snTElCX1BSRUZJWCddLCBDT05GSUdbJ0xJQl9TVUZGSVgnXSksCi0tICAgICAgICAnL2NvbmZp Zy9jaGVja19zcGlkZXJtb25rZXlfc3R5bGUucHknLAotLSAgICAgICAgJy9jb25maWcvY2hlY2tf bWFjcm9hc3NlbWJsZXJfc3R5bGUucHknLAotLSAgICAgICAgJy9jb25maWcvY2hlY2tfanNfb3Bj b2RlLnB5JwotLSAgICAgICAgXSkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM3OC9wYXRjaGVz L2ZkNjg0N2M5NDE2ZjllZWJkZTYzNmUyMWQ3OTRkMjVkMWJlODc5MWQucGF0Y2ggYi9zcmNwa2dz L21vempzNzgvcGF0Y2hlcy9mZDY4NDdjOTQxNmY5ZWViZGU2MzZlMjFkNzk0ZDI1ZDFiZTg3OTFk LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYWY2OGQ5M2M2Mjk3Li4wMDAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbW96anM3OC9wYXRjaGVzL2ZkNjg0N2M5NDE2ZjllZWJk ZTYzNmUyMWQ3OTRkMjVkMWJlODc5MWQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCww IEBACi1TZWUgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUz OTczOQotCi1Gcm9tIGZkNjg0N2M5NDE2ZjllZWJkZTYzNmUyMWQ3OTRkMjVkMWJlODc5MWQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNaWtlIEhvbW1leSA8bWhAZ2xhbmRpdW0ub3Jn PgotRGF0ZTogU2F0LCAxIEp1biAyMDE5IDA5OjA2OjAxICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hd IEJ1ZyAxNTI2NjUzIC0gSW5jbHVkZSBzdHJ1Y3QgZGVmaW5pdGlvbnMgZm9yIHVzZXJfdmZwIGFu ZAotIHVzZXJfdmZwX2V4Yy4KLQotLS0tCi0ganMvc3JjL3dhc20vV2FzbVNpZ25hbEhhbmRsZXJz LmNwcCB8IDExICsrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2pzL3NyYy93YXNtL1dhc21TaWduYWxIYW5k bGVycy5jcHAgYi9qcy9zcmMvd2FzbS9XYXNtU2lnbmFsSGFuZGxlcnMuY3BwCi1pbmRleCA2MzY1 MzdmODQ3OC4uMzgzYzM4MGYwNGMgMTAwNjQ0Ci0tLS0gYS9qcy9zcmMvd2FzbS9XYXNtU2lnbmFs SGFuZGxlcnMuY3BwCi0rKysgYi9qcy9zcmMvd2FzbS9XYXNtU2lnbmFsSGFuZGxlcnMuY3BwCi1A QCAtMjQ4LDcgKzI0OCwxNiBAQCB1c2luZyBtb3ppbGxhOjpEZWJ1Z09ubHk7Ci0gI2VuZGlmCi0g Ci0gI2lmZGVmIFdBU01fRU1VTEFURV9BUk1fVU5BTElHTkVEX0ZQX0FDQ0VTUwotLSMgIGluY2x1 ZGUgPHN5cy91c2VyLmg+Ci0rc3RydWN0IHVzZXJfdmZwIHsKLSsgIHVuc2lnbmVkIGxvbmcgbG9u ZyBmcHJlZ3NbMzJdOwotKyAgdW5zaWduZWQgbG9uZyBmcHNjcjsKLSt9OwotKwotK3N0cnVjdCB1 c2VyX3ZmcF9leGMgewotKyAgdW5zaWduZWQgbG9uZyBmcGV4YzsKLSsgIHVuc2lnbmVkIGxvbmcg ZnBpbnN0OwotKyAgdW5zaWduZWQgbG9uZyBmcGluc3QyOwotK307Ci0gI2VuZGlmCi0gCi0gI2lm IGRlZmluZWQoQU5EUk9JRCkKLS0tIAotMi4yMC4xCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96 anM3OC9wYXRjaGVzL2ZpeC1weXRob24zLjEwLnBhdGNoIGIvc3JjcGtncy9tb3pqczc4L3BhdGNo ZXMvZml4LXB5dGhvbjMuMTAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0 M2U1ODc4MjU4MTQuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczc4L3BhdGNoZXMv Zml4LXB5dGhvbjMuMTAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4MjYgKzAsMCBAQAotZGlm ZiAtdXIgYS9weXRob24vbWFjaC9tYWNoL2NvbmZpZy5weSBiL3B5dGhvbi9tYWNoL21hY2gvY29u ZmlnLnB5Ci0tLS0gYS9weXRob24vbWFjaC9tYWNoL2NvbmZpZy5weQkyMDIxLTA5LTAxIDEzOjI2 OjE4LjAwMDAwMDAwMCAtMDQwMAotKysrIGIvcHl0aG9uL21hY2gvbWFjaC9jb25maWcucHkJMjAy MS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC0xNDQsNyArMTQ0LDcgQEAKLSAg ICAgcmV0dXJuIF8KLSAKLSAKLS1jbGFzcyBDb25maWdTZXR0aW5ncyhjb2xsZWN0aW9ucy5NYXBw aW5nKToKLStjbGFzcyBDb25maWdTZXR0aW5ncyhjb2xsZWN0aW9ucy5hYmMuTWFwcGluZyk6Ci0g ICAgICIiIkludGVyZmFjZSBmb3IgY29uZmlndXJhdGlvbiBzZXR0aW5ncy4KLSAKLSAgICAgVGhp cyBpcyB0aGUgbWFpbiBpbnRlcmZhY2UgdG8gdGhlIGNvbmZpZ3VyYXRpb24uCi1AQCAtMTkwLDcg KzE5MCw3IEBACi0gICAgIHdpbGwgcmVzdWx0IGluIGV4Y2VwdGlvbnMgYmVpbmcgcmFpc2VkLgot ICAgICAiIiIKLSAKLS0gICAgY2xhc3MgQ29uZmlnU2VjdGlvbihjb2xsZWN0aW9ucy5NdXRhYmxl TWFwcGluZywgb2JqZWN0KToKLSsgICAgY2xhc3MgQ29uZmlnU2VjdGlvbihjb2xsZWN0aW9ucy5h YmMuTXV0YWJsZU1hcHBpbmcsIG9iamVjdCk6Ci0gICAgICAgICAiIiJSZXByZXNlbnRzIGFuIGlu ZGl2aWR1YWwgY29uZmlnIHNlY3Rpb24uIiIiCi0gICAgICAgICBkZWYgX19pbml0X18oc2VsZiwg Y29uZmlnLCBuYW1lLCBzZXR0aW5ncyk6Ci0gICAgICAgICAgICAgb2JqZWN0Ll9fc2V0YXR0cl9f KHNlbGYsICdfY29uZmlnJywgY29uZmlnKQotZGlmZiAtdXIgYS9weXRob24vbWFjaC9tYWNoL2Rl Y29yYXRvcnMucHkgYi9weXRob24vbWFjaC9tYWNoL2RlY29yYXRvcnMucHkKLS0tLSBhL3B5dGhv bi9tYWNoL21hY2gvZGVjb3JhdG9ycy5weQkyMDIxLTA5LTAxIDEzOjI2OjE4LjAwMDAwMDAwMCAt MDQwMAotKysrIGIvcHl0aG9uL21hY2gvbWFjaC9kZWNvcmF0b3JzLnB5CTIwMjEtMTEtMDUgMTU6 Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtMTQwLDcgKzE0MCw3IEBACi0gICAgICAgICAgICAg ICAnQ29uZGl0aW9ucyBhcmd1bWVudCBtdXN0IHRha2UgYSBsaXN0ICcgKyBcCi0gICAgICAgICAg ICAgICAnb2YgZnVuY3Rpb25zLiBGb3VuZCAlcyBpbnN0ZWFkLicKLSAKLS0gICAgICAgIGlmIG5v dCBpc2luc3RhbmNlKGNvbW1hbmQuY29uZGl0aW9ucywgY29sbGVjdGlvbnMuSXRlcmFibGUpOgot KyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoY29tbWFuZC5jb25kaXRpb25zLCBjb2xsZWN0aW9u cy5hYmMuSXRlcmFibGUpOgotICAgICAgICAgICAgIG1zZyA9IG1zZyAlIChjb21tYW5kLm5hbWUs IHR5cGUoY29tbWFuZC5jb25kaXRpb25zKSkKLSAgICAgICAgICAgICByYWlzZSBNYWNoRXJyb3Io bXNnKQotIAotZGlmZiAtdXIgYS9weXRob24vbWFjaC9tYWNoL21haW4ucHkgYi9weXRob24vbWFj aC9tYWNoL21haW4ucHkKLS0tLSBhL3B5dGhvbi9tYWNoL21hY2gvbWFpbi5weQkyMDIxLTA5LTAx IDEzOjI2OjIzLjAwMDAwMDAwMCAtMDQwMAotKysrIGIvcHl0aG9uL21hY2gvbWFjaC9tYWluLnB5 CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtMTYsNyArMTYsNyBAQAot IGltcG9ydCBzeXMKLSBpbXBvcnQgdHJhY2ViYWNrCi0gaW1wb3J0IHV1aWQKLS1mcm9tIGNvbGxl Y3Rpb25zIGltcG9ydCBJdGVyYWJsZQotK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBJdGVy YWJsZQotIAotIGZyb20gc2l4IGltcG9ydCBzdHJpbmdfdHlwZXMKLSAKLWRpZmYgLXVyIGEvcHl0 aG9uL21vemJ1aWxkL21vemJ1aWxkL2JhY2tlbmQvY29uZmlnZW52aXJvbm1lbnQucHkgYi9weXRo b24vbW96YnVpbGQvbW96YnVpbGQvYmFja2VuZC9jb25maWdlbnZpcm9ubWVudC5weQotLS0tIGEv cHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL2JhY2tlbmQvY29uZmlnZW52aXJvbm1lbnQucHkJMjAy MS0wOS0wMSAxMzoyNjozNC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3B5dGhvbi9tb3pidWlsZC9t b3pidWlsZC9iYWNrZW5kL2NvbmZpZ2Vudmlyb25tZW50LnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIu MDAwMDAwMDAwIC0wNDAwCi1AQCAtOSw3ICs5LDggQEAKLSBpbXBvcnQgc3lzCi0gaW1wb3J0IGpz b24KLSAKLS1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBJdGVyYWJsZSwgT3JkZXJlZERpY3QKLStm cm9tIGNvbGxlY3Rpb25zIGltcG9ydCBPcmRlcmVkRGljdAotK2Zyb20gY29sbGVjdGlvbnMuYWJj IGltcG9ydCBJdGVyYWJsZQotIGZyb20gdHlwZXMgaW1wb3J0IE1vZHVsZVR5cGUKLSAKLSBpbXBv cnQgbW96cGFjay5wYXRoIGFzIG1venBhdGgKLWRpZmYgLXVyIGEvcHl0aG9uL21vemJ1aWxkL21v emJ1aWxkL21ha2V1dGlsLnB5IGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL21ha2V1dGlsLnB5 Ci0tLS0gYS9weXRob24vbW96YnVpbGQvbW96YnVpbGQvbWFrZXV0aWwucHkJMjAyMS0wOS0wMSAx MzoyNjoxOC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC9t YWtldXRpbC5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTcsNyAr Nyw3IEBACi0gaW1wb3J0IG9zCi0gaW1wb3J0IHJlCi0gaW1wb3J0IHNpeAotLWZyb20gY29sbGVj dGlvbnMgaW1wb3J0IEl0ZXJhYmxlCi0rZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IEl0ZXJh YmxlCi0gCi0gCi0gY2xhc3MgTWFrZWZpbGUob2JqZWN0KToKLWRpZmYgLXVyIGEvcHl0aG9uL21v emJ1aWxkL21vemJ1aWxkL3V0aWwucHkgYi9weXRob24vbW96YnVpbGQvbW96YnVpbGQvdXRpbC5w eQotLS0tIGEvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL3V0aWwucHkJMjAyMS0wOS0wMSAxMzoy NjoxOC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC91dGls LnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtNzgyLDcgKzc4Miw3 IEBACi0gICAgICAgICBzZWxmLl9zdHJpbmdzID0gU3RyaWN0T3JkZXJpbmdPbkFwcGVuZExpc3Qo KQotICAgICAgICAgc2VsZi5fY2hpbGRyZW4gPSB7fQotIAotLSAgICBjbGFzcyBTdHJpbmdMaXN0 QWRhcHRvcihjb2xsZWN0aW9ucy5TZXF1ZW5jZSk6Ci0rICAgIGNsYXNzIFN0cmluZ0xpc3RBZGFw dG9yKGNvbGxlY3Rpb25zLmFiYy5TZXF1ZW5jZSk6Ci0gICAgICAgICBkZWYgX19pbml0X18oc2Vs ZiwgaHNsKToKLSAgICAgICAgICAgICBzZWxmLl9oc2wgPSBoc2wKLSAKLWRpZmYgLXVyIGEvdGVz dGluZy9tYXJpb25ldHRlL2NsaWVudC9tYXJpb25ldHRlX2RyaXZlci93YWl0LnB5IGIvdGVzdGlu Zy9tYXJpb25ldHRlL2NsaWVudC9tYXJpb25ldHRlX2RyaXZlci93YWl0LnB5Ci0tLS0gYS90ZXN0 aW5nL21hcmlvbmV0dGUvY2xpZW50L21hcmlvbmV0dGVfZHJpdmVyL3dhaXQucHkJMjAyMS0wOS0w MSAxMzoyNjozMC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3Rlc3RpbmcvbWFyaW9uZXR0ZS9jbGll bnQvbWFyaW9uZXR0ZV9kcml2ZXIvd2FpdC5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAw MCAtMDQwMAotQEAgLTgyLDcgKzgyLDcgQEAKLSAKLSAgICAgICAgIGV4Y2VwdGlvbnMgPSBbXQot ICAgICAgICAgaWYgaWdub3JlZF9leGNlcHRpb25zIGlzIG5vdCBOb25lOgotLSAgICAgICAgICAg IGlmIGlzaW5zdGFuY2UoaWdub3JlZF9leGNlcHRpb25zLCBjb2xsZWN0aW9ucy5JdGVyYWJsZSk6 Ci0rICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShpZ25vcmVkX2V4Y2VwdGlvbnMsIGNvbGxlY3Rp b25zLmFiYy5JdGVyYWJsZSk6Ci0gICAgICAgICAgICAgICAgIGV4Y2VwdGlvbnMuZXh0ZW5kKGl0 ZXIoaWdub3JlZF9leGNlcHRpb25zKSkKLSAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAg ICAgICBleGNlcHRpb25zLmFwcGVuZChpZ25vcmVkX2V4Y2VwdGlvbnMpCi1kaWZmIC11ciBhL3Rl c3RpbmcvbW96YmFzZS9tYW5pZmVzdHBhcnNlci9tYW5pZmVzdHBhcnNlci9maWx0ZXJzLnB5IGIv dGVzdGluZy9tb3piYXNlL21hbmlmZXN0cGFyc2VyL21hbmlmZXN0cGFyc2VyL2ZpbHRlcnMucHkK LS0tLSBhL3Rlc3RpbmcvbW96YmFzZS9tYW5pZmVzdHBhcnNlci9tYW5pZmVzdHBhcnNlci9maWx0 ZXJzLnB5CTIwMjEtMDktMDEgMTM6MjY6MjMuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90ZXN0aW5n L21vemJhc2UvbWFuaWZlc3RwYXJzZXIvbWFuaWZlc3RwYXJzZXIvZmlsdGVycy5weQkyMDIxLTEx LTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTEyLDcgKzEyLDggQEAKLSAKLSBpbXBv cnQgaXRlcnRvb2xzCi0gaW1wb3J0IG9zCi0tZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVs dGRpY3QsIE11dGFibGVTZXF1ZW5jZQotK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlZmF1bHRk aWN0Ci0rZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IE11dGFibGVTZXF1ZW5jZQotIAotIGlt cG9ydCBzaXgKLSBmcm9tIHNpeCBpbXBvcnQgc3RyaW5nX3R5cGVzCi1kaWZmIC11ciBhL3Rlc3Rp bmcvbW96YmFzZS92ZXJzaW9uaW5mby5weSBiL3Rlc3RpbmcvbW96YmFzZS92ZXJzaW9uaW5mby5w eQotLS0tIGEvdGVzdGluZy9tb3piYXNlL3ZlcnNpb25pbmZvLnB5CTIwMjEtMDktMDEgMTM6MjY6 MjMuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90ZXN0aW5nL21vemJhc2UvdmVyc2lvbmluZm8ucHkJ MjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC0xMSw3ICsxMSw3IEBACi0g Ci0gZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIHByaW50X2Z1bmN0aW9u Ci0gCi0tZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgSXRlcmFibGUKLStmcm9tIGNvbGxlY3Rpb25z LmFiYyBpbXBvcnQgSXRlcmFibGUKLSBmcm9tIGRpc3R1dGlscy52ZXJzaW9uIGltcG9ydCBTdHJp Y3RWZXJzaW9uCi0gaW1wb3J0IGFyZ3BhcnNlCi0gaW1wb3J0IG9zCi1kaWZmIC11ciBhL3Rlc3Rp bmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL21hbmlmZXN0L3R5cGVkYXRhLnB5IGIvdGVzdGlu Zy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvbWFuaWZlc3QvdHlwZWRhdGEucHkKLS0tLSBhL3Rl c3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL21hbmlmZXN0L3R5cGVkYXRhLnB5CTIwMjEt MDktMDEgMTM6MjY6NDAuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90ZXN0aW5nL3dlYi1wbGF0Zm9y bS90ZXN0cy90b29scy9tYW5pZmVzdC90eXBlZGF0YS5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAw MDAwMDAwMCAtMDQwMAotQEAgLTEsNCArMSw0IEBACi0tZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQg TXV0YWJsZU1hcHBpbmcKLStmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgTXV0YWJsZU1hcHBp bmcKLSAKLSBmcm9tIHNpeCBpbXBvcnQgaXRlcnZhbHVlcywgaXRlcml0ZW1zCi0gCi1kaWZmIC11 ciBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL21hbmlmZXN0L3Zjcy5weSBiL3Rl c3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL21hbmlmZXN0L3Zjcy5weQotLS0tIGEvdGVz dGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvbWFuaWZlc3QvdmNzLnB5CTIwMjEtMDktMDEg MTM6Mjc6MDUuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0 cy90b29scy9tYW5pZmVzdC92Y3MucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0 MDAKLUBAIC0zLDcgKzMsNyBAQAotIGltcG9ydCBvcwotIGltcG9ydCBzdGF0Ci0gZnJvbSBjb2xs ZWN0aW9ucyBpbXBvcnQgZGVxdWUKLS1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNdXRhYmxlTWFw cGluZwotK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNdXRhYmxlTWFwcGluZwotIAotIGZy b20gc2l4IGltcG9ydCB3aXRoX21ldGFjbGFzcywgUFkyCi0gCi1kaWZmIC11ciBhL3Rlc3Rpbmcv d2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2F0dHJzL3Rlc3RzL3Rlc3RfZnVu Y3MucHkgYi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9hdHRy cy90ZXN0cy90ZXN0X2Z1bmNzLnB5Ci0tLS0gYS90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90 b29scy90aGlyZF9wYXJ0eS9hdHRycy90ZXN0cy90ZXN0X2Z1bmNzLnB5CTIwMjEtMDktMDEgMTM6 MjY6NTYuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90 b29scy90aGlyZF9wYXJ0eS9hdHRycy90ZXN0cy90ZXN0X2Z1bmNzLnB5CTIwMjEtMTEtMDUgMTU6 Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtNCw3ICs0LDggQEAKLSAKLSBmcm9tIF9fZnV0dXJl X18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24sIHByaW50X2Z1bmN0aW9uCi0gCi0t ZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTWFwcGluZywgT3JkZXJlZERpY3QsIFNlcXVlbmNlCi0r ZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgT3JkZXJlZERpY3QKLStmcm9tIGNvbGxlY3Rpb25zLmFi YyBpbXBvcnQgTWFwcGluZywgU2VxdWVuY2UKLSAKLSBpbXBvcnQgcHl0ZXN0Ci0gCi1kaWZmIC11 ciBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2gyL2gyL3Nl dHRpbmdzLnB5IGIvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv aDIvaDIvc2V0dGluZ3MucHkKLS0tLSBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xz L3RoaXJkX3BhcnR5L2gyL2gyL3NldHRpbmdzLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDUuMDAwMDAw MDAwIC0wNDAwCi0rKysgYi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9w YXJ0eS9oMi9oMi9zZXR0aW5ncy5weQkyMDIxLTExLTA1IDE1OjMyOjI4LjgxNzczNzM1NyAtMDQw MAotQEAgLTg4LDcgKzg4LDcgQEAKLSAgICAgICAgICkKLSAKLSAKLS1jbGFzcyBTZXR0aW5ncyhj b2xsZWN0aW9ucy5NdXRhYmxlTWFwcGluZyk6Ci0rY2xhc3MgU2V0dGluZ3MoY29sbGVjdGlvbnMu YWJjLk11dGFibGVNYXBwaW5nKToKLSAgICAgIiIiCi0gICAgIEFuIG9iamVjdCB0aGF0IGVuY2Fw c3VsYXRlcyBIVFRQLzIgc2V0dGluZ3Mgc3RhdGUuCi0gCi1kaWZmIC11ciBhL3Rlc3Rpbmcvd2Vi LXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h0bWw1bGliL2h0bWw1bGliL190cmll L19iYXNlLnB5IGIvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkv aHRtbDVsaWIvaHRtbDVsaWIvX3RyaWUvX2Jhc2UucHkKLS0tLSBhL3Rlc3Rpbmcvd2ViLXBsYXRm b3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h0bWw1bGliL2h0bWw1bGliL190cmllL19iYXNl LnB5CTIwMjEtMDktMDEgMTM6Mjc6MDUuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90ZXN0aW5nL3dl Yi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9odG1sNWxpYi9odG1sNWxpYi9fdHJp ZS9fYmFzZS5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTEsNiAr MSw2IEBACi0gZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9u LCB1bmljb2RlX2xpdGVyYWxzCi0gCi0tZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTWFwcGluZwot K2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nCi0gCi0gCi0gY2xhc3MgVHJpZShN YXBwaW5nKToKLWRpZmYgLXVyIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhp cmRfcGFydHkvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5weSBiL3Rlc3Rpbmcv d2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h0bWw1bGliL2h0bWw1bGliL3Ry ZWVidWlsZGVycy9kb20ucHkKLS0tLSBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xz L3RoaXJkX3BhcnR5L2h0bWw1bGliL2h0bWw1bGliL3RyZWVidWlsZGVycy9kb20ucHkJMjAyMS0w OS0wMSAxMzoyNzowNS4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3Jt L3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h0bWw1bGliL2h0bWw1bGliL3RyZWVidWlsZGVycy9k b20ucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC0xLDcgKzEsNyBA QAotIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBkaXZpc2lvbiwgdW5p Y29kZV9saXRlcmFscwotIAotIAotLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE11dGFibGVNYXBw aW5nCi0rZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IE11dGFibGVNYXBwaW5nCi0gZnJvbSB4 bWwuZG9tIGltcG9ydCBtaW5pZG9tLCBOb2RlCi0gaW1wb3J0IHdlYWtyZWYKLSAKLWRpZmYgLXVy IGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXIvaHlw ZXIvY29tbW9uL2hlYWRlcnMucHkgYi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90 aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9jb21tb24vaGVhZGVycy5weQotLS0tIGEvdGVzdGluZy93 ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXIvaHlwZXIvY29tbW9uL2hl YWRlcnMucHkJMjAyMS0wOS0wMSAxMzoyNzowMC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3Rlc3Rp bmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVyL2h5cGVyL2NvbW1v bi9oZWFkZXJzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtMTAs NyArMTAsNyBAQAotIGZyb20gaHlwZXIuY29tbW9uLnV0aWwgaW1wb3J0IHRvX2J5dGVzdHJpbmcs IHRvX2J5dGVzdHJpbmdfdHVwbGUKLSAKLSAKLS1jbGFzcyBIVFRQSGVhZGVyTWFwKGNvbGxlY3Rp b25zLk11dGFibGVNYXBwaW5nKToKLStjbGFzcyBIVFRQSGVhZGVyTWFwKGNvbGxlY3Rpb25zLmFi Yy5NdXRhYmxlTWFwcGluZyk6Ci0gICAgICIiIgotICAgICBBIHN0cnVjdHVyZSB0aGF0IGNvbnRh aW5zIEhUVFAgaGVhZGVycy4KLSAKLWRpZmYgLXVyIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVz dHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXIvaHlwZXIvaDIvc2V0dGluZ3MucHkgYi90ZXN0aW5n L3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9oMi9zZXR0 aW5ncy5weQotLS0tIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFy dHkvaHlwZXIvaHlwZXIvaDIvc2V0dGluZ3MucHkJMjAyMS0wOS0wMSAxMzoyNjo1Ni4wMDAwMDAw MDAgLTA0MDAKLSsrKyBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3Bh cnR5L2h5cGVyL2h5cGVyL2gyL3NldHRpbmdzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAw MDAwIC0wNDAwCi1AQCAtMTUxLDcgKzE1MSw3IEBACi0gICAgICAgICApCi0gCi0gCi0tY2xhc3Mg U2V0dGluZ3MoY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcpOgotK2NsYXNzIFNldHRpbmdzKGNv bGxlY3Rpb25zLmFiYy5NdXRhYmxlTWFwcGluZyk6Ci0gICAgICIiIgotICAgICBBbiBvYmplY3Qg dGhhdCBlbmNhcHN1bGF0ZXMgSFRUUC8yIHNldHRpbmdzIHN0YXRlLgotIAotZGlmZiAtdXIgYS90 ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9o dHRwMTEvY29ubmVjdGlvbi5weSBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3Ro aXJkX3BhcnR5L2h5cGVyL2h5cGVyL2h0dHAxMS9jb25uZWN0aW9uLnB5Ci0tLS0gYS90ZXN0aW5n L3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9odHRwMTEv Y29ubmVjdGlvbi5weQkyMDIxLTA5LTAxIDEzOjI3OjAwLjAwMDAwMDAwMCAtMDQwMAotKysrIGIv dGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXIvaHlwZXIv aHR0cDExL2Nvbm5lY3Rpb24ucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAK LUBAIC0xMCw3ICsxMCw3IEBACi0gaW1wb3J0IHNvY2tldAotIGltcG9ydCBiYXNlNjQKLSAKLS1m cm9tIGNvbGxlY3Rpb25zIGltcG9ydCBJdGVyYWJsZSwgTWFwcGluZwotK2Zyb20gY29sbGVjdGlv bnMuYWJjIGltcG9ydCBJdGVyYWJsZSwgTWFwcGluZwotIAotIGltcG9ydCBjb2xsZWN0aW9ucwot IGZyb20gaHlwZXJmcmFtZS5mcmFtZSBpbXBvcnQgU2V0dGluZ3NGcmFtZQotQEAgLTI5NSw3ICsy OTUsNyBAQAotICAgICAgICAgICAgICAgICByZXR1cm4KLSAKLSAgICAgICAgICAgICAjIEl0ZXJh YmxlcyB0aGF0IHNldCBhIHNwZWNpZmljIGNvbnRlbnQgbGVuZ3RoLgotLSAgICAgICAgICAgIGVs aWYgaXNpbnN0YW5jZShib2R5LCBjb2xsZWN0aW9ucy5JdGVyYWJsZSk6Ci0rICAgICAgICAgICAg ZWxpZiBpc2luc3RhbmNlKGJvZHksIGNvbGxlY3Rpb25zLmFiYy5JdGVyYWJsZSk6Ci0gICAgICAg ICAgICAgICAgIGZvciBpdGVtIGluIGJvZHk6Ci0gICAgICAgICAgICAgICAgICAgICB0cnk6Ci0g ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc29jay5zZW5kKGl0ZW0pCi1kaWZmIC11ciBh L3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVyL2h5cGVy L3BhY2thZ2VzL2h5cGVyZnJhbWUvZmxhZ3MucHkgYi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0 cy90b29scy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9wYWNrYWdlcy9oeXBlcmZyYW1lL2ZsYWdz LnB5Ci0tLS0gYS90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9o eXBlci9oeXBlci9wYWNrYWdlcy9oeXBlcmZyYW1lL2ZsYWdzLnB5CTIwMjEtMDktMDEgMTM6Mjc6 MDUuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29s cy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9wYWNrYWdlcy9oeXBlcmZyYW1lL2ZsYWdzLnB5CTIw MjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtMTEsNyArMTEsNyBAQAotIEZs YWcgPSBjb2xsZWN0aW9ucy5uYW1lZHR1cGxlKCJGbGFnIiwgWyJuYW1lIiwgImJpdCJdKQotIAot IAotLWNsYXNzIEZsYWdzKGNvbGxlY3Rpb25zLk11dGFibGVTZXQpOgotK2NsYXNzIEZsYWdzKGNv bGxlY3Rpb25zLmFiYy5NdXRhYmxlU2V0KToKLSAgICAgIiIiCi0gICAgIEEgc2ltcGxlIE11dGFi bGVTZXQgaW1wbGVtZW50YXRpb24gdGhhdCB3aWxsIG9ubHkgYWNjZXB0IGtub3duIGZsYWdzIGFz IGVsZW1lbnRzLgotIAotZGlmZiAtdXIgYS90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29s cy90aGlyZF9wYXJ0eS9oeXBlcmZyYW1lL2h5cGVyZnJhbWUvZmxhZ3MucHkgYi90ZXN0aW5nL3dl Yi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oeXBlcmZyYW1lL2h5cGVyZnJhbWUv ZmxhZ3MucHkKLS0tLSBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3Bh cnR5L2h5cGVyZnJhbWUvaHlwZXJmcmFtZS9mbGFncy5weQkyMDIxLTA5LTAxIDEzOjI2OjM5LjAw MDAwMDAwMCAtMDQwMAotKysrIGIvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhp cmRfcGFydHkvaHlwZXJmcmFtZS9oeXBlcmZyYW1lL2ZsYWdzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6 MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtMTEsNyArMTEsNyBAQAotIEZsYWcgPSBjb2xsZWN0aW9u cy5uYW1lZHR1cGxlKCJGbGFnIiwgWyJuYW1lIiwgImJpdCJdKQotIAotIAotLWNsYXNzIEZsYWdz KGNvbGxlY3Rpb25zLk11dGFibGVTZXQpOgotK2NsYXNzIEZsYWdzKGNvbGxlY3Rpb25zLmFiYy5N dXRhYmxlU2V0KToKLSAgICAgIiIiCi0gICAgIEEgc2ltcGxlIE11dGFibGVTZXQgaW1wbGVtZW50 YXRpb24gdGhhdCB3aWxsIG9ubHkgYWNjZXB0IGtub3duIGZsYWdzIGFzCi0gICAgIGVsZW1lbnRz LgotZGlmZiAtdXIgYS90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy93cHRzZXJ2ZS93 cHRzZXJ2ZS9jb25maWcucHkgYi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy93cHRz ZXJ2ZS93cHRzZXJ2ZS9jb25maWcucHkKLS0tLSBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3Rz L3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL2NvbmZpZy5weQkyMDIxLTA5LTAxIDEzOjI3OjA1LjAw MDAwMDAwMCAtMDQwMAotKysrIGIvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvd3B0 c2VydmUvd3B0c2VydmUvY29uZmlnLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0w NDAwCi1AQCAtMiw3ICsyLDggQEAKLSBpbXBvcnQgbG9nZ2luZwotIGltcG9ydCBvcwotIAotLWZy b20gY29sbGVjdGlvbnMgaW1wb3J0IGRlZmF1bHRkaWN0LCBNYXBwaW5nCi0rZnJvbSBjb2xsZWN0 aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3QKLStmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgTWFw cGluZwotIGZyb20gc2l4IGltcG9ydCBpbnRlZ2VyX3R5cGVzLCBpdGVyaXRlbXMsIGl0ZXJ2YWx1 ZXMsIHN0cmluZ190eXBlcwotIAotIGZyb20gLiBpbXBvcnQgc3NsdXRpbHMKLWRpZmYgLXVyIGEv dGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvd2ViZHJpdmVyL3Rlc3RzL3N1cHBvcnQvc3luYy5w eSBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3dlYmRyaXZlci90ZXN0cy9zdXBwb3J0L3N5 bmMucHkKLS0tLSBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3dlYmRyaXZlci90ZXN0cy9z dXBwb3J0L3N5bmMucHkJMjAyMS0wOS0wMSAxMzoyNzowNS4wMDAwMDAwMDAgLTA0MDAKLSsrKyBi L3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3dlYmRyaXZlci90ZXN0cy9zdXBwb3J0L3N5bmMu cHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC04MSw3ICs4MSw3IEBA Ci0gCi0gICAgICAgICBleGNlcHRpb25zID0gW10KLSAgICAgICAgIGlmIGlnbm9yZWRfZXhjZXB0 aW9ucyBpcyBub3QgTm9uZToKLS0gICAgICAgICAgICBpZiBpc2luc3RhbmNlKGlnbm9yZWRfZXhj ZXB0aW9ucywgY29sbGVjdGlvbnMuSXRlcmFibGUpOgotKyAgICAgICAgICAgIGlmIGlzaW5zdGFu Y2UoaWdub3JlZF9leGNlcHRpb25zLCBjb2xsZWN0aW9ucy5hYmMuSXRlcmFibGUpOgotICAgICAg ICAgICAgICAgICBleGNlcHRpb25zLmV4dGVuZChpdGVyKGlnbm9yZWRfZXhjZXB0aW9ucykpCi0g ICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgZXhjZXB0aW9ucy5hcHBlbmQoaWdu b3JlZF9leGNlcHRpb25zKQotZGlmZiAtdXIgYS90aGlyZF9wYXJ0eS9weXRob24vZ3lwL3B5bGli L2d5cC9jb21tb24ucHkgYi90aGlyZF9wYXJ0eS9weXRob24vZ3lwL3B5bGliL2d5cC9jb21tb24u cHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9neXAvcHlsaWIvZ3lwL2NvbW1vbi5weQkyMDIx LTA5LTAxIDEzOjI2OjQ2LjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGhpcmRfcGFydHkvcHl0aG9u L2d5cC9weWxpYi9neXAvY29tbW9uLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0w NDAwCi1AQCAtNDk0LDcgKzQ5NCw3IEBACi0gCi0gCi0gIyBCYXNlZCBvbiBodHRwOi8vY29kZS5h Y3RpdmVzdGF0ZS5jb20vcmVjaXBlcy81NzY2OTQvLgotLWNsYXNzIE9yZGVyZWRTZXQoY29sbGVj dGlvbnMuTXV0YWJsZVNldCk6Ci0rY2xhc3MgT3JkZXJlZFNldChjb2xsZWN0aW9ucy5hYmMuTXV0 YWJsZVNldCk6Ci0gICBkZWYgX19pbml0X18oc2VsZiwgaXRlcmFibGU9Tm9uZSk6Ci0gICAgIHNl bGYuZW5kID0gZW5kID0gW10KLSAgICAgZW5kICs9IFtOb25lLCBlbmQsIGVuZF0gICAgICAgICAj IHNlbnRpbmVsIG5vZGUgZm9yIGRvdWJseSBsaW5rZWQgbGlzdAotZGlmZiAtdXIgYS90aGlyZF9w YXJ0eS9weXRob24vZ3lwL3B5bGliL2d5cC9tc3ZzX2VtdWxhdGlvbi5weSBiL3RoaXJkX3BhcnR5 L3B5dGhvbi9neXAvcHlsaWIvZ3lwL21zdnNfZW11bGF0aW9uLnB5Ci0tLS0gYS90aGlyZF9wYXJ0 eS9weXRob24vZ3lwL3B5bGliL2d5cC9tc3ZzX2VtdWxhdGlvbi5weQkyMDIxLTA5LTAxIDEzOjI3 OjA5LjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL2d5cC9weWxpYi9n eXAvbXN2c19lbXVsYXRpb24ucHkJMjAyMS0xMS0wNSAxNTozMDo0Ny43NTc3NjA4MjAgLTA0MDAK LUBAIC05MSw3ICs5MSw3IEBACi0gICAiIiJBZGQgfHByZWZpeHwgdG8gfGVsZW1lbnR8IG9yIGVh Y2ggc3ViZWxlbWVudCBpZiBlbGVtZW50IGlzIGl0ZXJhYmxlLiIiIgotICAgaWYgZWxlbWVudCBp cyBOb25lOgotICAgICByZXR1cm4gZWxlbWVudAotLSAgaWYgKGlzaW5zdGFuY2UoZWxlbWVudCwg Y29sbGVjdGlvbnMuSXRlcmFibGUpIGFuZAotKyAgaWYgKGlzaW5zdGFuY2UoZWxlbWVudCwgY29s bGVjdGlvbnMuYWJjLkl0ZXJhYmxlKSBhbmQKLSAgICAgICBub3QgaXNpbnN0YW5jZShlbGVtZW50 LCBiYXNlc3RyaW5nKSk6Ci0gICAgIHJldHVybiBbcHJlZml4ICsgZSBmb3IgZSBpbiBlbGVtZW50 XQotICAgZWxzZToKLUBAIC0xMDQsNyArMTA0LDcgQEAKLSAgIGlmIG1hcCBpcyBub3QgTm9uZSBh bmQgZWxlbWVudCBpcyBub3QgTm9uZToKLSAgICAgaWYgbm90IGNhbGxhYmxlKG1hcCk6Ci0gICAg ICAgbWFwID0gbWFwLmdldCAjIEFzc3VtZSBpdCdzIGEgZGljdCwgb3RoZXJ3aXNlIGEgY2FsbGFi bGUgdG8gZG8gdGhlIHJlbWFwLgotLSAgICBpZiAoaXNpbnN0YW5jZShlbGVtZW50LCBjb2xsZWN0 aW9ucy5JdGVyYWJsZSkgYW5kCi0rICAgIGlmIChpc2luc3RhbmNlKGVsZW1lbnQsIGNvbGxlY3Rp b25zLmFiYy5JdGVyYWJsZSkgYW5kCi0gICAgICAgICBub3QgaXNpbnN0YW5jZShlbGVtZW50LCBi YXNlc3RyaW5nKSk6Ci0gICAgICAgZWxlbWVudCA9IGZpbHRlcihOb25lLCBbbWFwKGVsZW0pIGZv ciBlbGVtIGluIGVsZW1lbnRdKQotICAgICBlbHNlOgotQEAgLTExNyw3ICsxMTcsNyBAQAotICAg dGhlbiBhZGQgfGVsZW1lbnR8IHRvIGl0LCBhZGRpbmcgZWFjaCBpdGVtIGluIHxlbGVtZW50fCBp ZiBpdCdzIGEgbGlzdCBvcgotICAgdHVwbGUuIiIiCi0gICBpZiBhcHBlbmQgaXMgbm90IE5vbmUg YW5kIGVsZW1lbnQgaXMgbm90IE5vbmU6Ci0tICAgIGlmIChpc2luc3RhbmNlKGVsZW1lbnQsIGNv bGxlY3Rpb25zLkl0ZXJhYmxlKSBhbmQKLSsgICAgaWYgKGlzaW5zdGFuY2UoZWxlbWVudCwgY29s bGVjdGlvbnMuYWJjLkl0ZXJhYmxlKSBhbmQKLSAgICAgICAgIG5vdCBpc2luc3RhbmNlKGVsZW1l bnQsIGJhc2VzdHJpbmcpKToKLSAgICAgICBhcHBlbmQuZXh0ZW5kKGVsZW1lbnQpCi0gICAgIGVs c2U6Ci1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9neXAvdGVzdC9saWIvVGVzdEd5cC5w eSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9neXAvdGVzdC9saWIvVGVzdEd5cC5weQotLS0tIGEvdGhp cmRfcGFydHkvcHl0aG9uL2d5cC90ZXN0L2xpYi9UZXN0R3lwLnB5CTIwMjEtMDktMDEgMTM6Mjc6 MDkuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vZ3lwL3Rlc3QvbGli L1Rlc3RHeXAucHkJMjAyMS0xMS0wNSAxNTozMDozNy42NzE3NjMxNTcgLTA0MDAKLUBAIC00OTYs NyArNDk2LDcgQEAKLSAgICAgaWYgc3RhdHVzIGlzIE5vbmU6Ci0gICAgICAga3dbJ3N0YXR1cydd ID0gTm9uZQotICAgICBlbHNlOgotLSAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHN0YXR1cywgY29s bGVjdGlvbnMuSXRlcmFibGUpOiBzdGF0dXMgPSAoc3RhdHVzLCkKLSsgICAgICBpZiBub3QgaXNp bnN0YW5jZShzdGF0dXMsIGNvbGxlY3Rpb25zLmFiYy5JdGVyYWJsZSk6IHN0YXR1cyA9IChzdGF0 dXMsKQotICAgICAgIGt3WydzdGF0dXMnXSA9IGxpc3QoaXRlcnRvb2xzLmNoYWluKCgwLCksIHN0 YXR1cykpCi0gICAgIHNlbGYuY21ha2VfYnVpbGQoZ3lwX2ZpbGUsIHRhcmdldCwgKiprdykKLSAg ICAga3dbJ3N0YXR1cyddID0gc3RhdHVzCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9w aXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvZGlzdGxpYi9jb21wYXQucHkgYi90 aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL2Rp c3RsaWIvY29tcGF0LnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9w YXRjaGVkL25vdHBpcC9fdmVuZG9yL2Rpc3RsaWIvY29tcGF0LnB5CTIwMjEtMDktMDEgMTM6Mjc6 MDkuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVu di9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL2Rpc3RsaWIvY29tcGF0LnB5CTIwMjEtMTEtMDUgMTU6 Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtMzE5LDcgKzMxOSw3IEBACi0gdHJ5OgotICAgICBj YWxsYWJsZSA9IGNhbGxhYmxlCi0gZXhjZXB0IE5hbWVFcnJvcjogICAjIHByYWdtYTogbm8gY292 ZXIKLS0gICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgQ2FsbGFibGUKLSsgICAgZnJvbSBjb2xs ZWN0aW9ucy5hYmMgaW1wb3J0IENhbGxhYmxlCi0gCi0gICAgIGRlZiBjYWxsYWJsZShvYmopOgot ICAgICAgICAgcmV0dXJuIGlzaW5zdGFuY2Uob2JqLCBDYWxsYWJsZSkKLUBAIC00NzUsNyArNDc1 LDcgQEAKLSB0cnk6Ci0gICAgIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IENoYWluTWFwCi0gZXhj ZXB0IEltcG9ydEVycm9yOiAjIHByYWdtYTogbm8gY292ZXIKLS0gICAgZnJvbSBjb2xsZWN0aW9u cyBpbXBvcnQgTXV0YWJsZU1hcHBpbmcKLSsgICAgZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0 IE11dGFibGVNYXBwaW5nCi0gCi0gICAgIHRyeToKLSAgICAgICAgIGZyb20gcmVwcmxpYiBpbXBv cnQgcmVjdXJzaXZlX3JlcHIgYXMgX3JlY3Vyc2l2ZV9yZXByCi1kaWZmIC11ciBhL3RoaXJkX3Bh cnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvaHRtbDVsaWIv dHJlZWJ1aWxkZXJzL2RvbS5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3Bh dGNoZWQvbm90cGlwL192ZW5kb3IvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5weQotLS0tIGEv dGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9o dG1sNWxpYi90cmVlYnVpbGRlcnMvZG9tLnB5CTIwMjEtMDktMDEgMTM6MjY6NDYuMDAwMDAwMDAw IC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25v dHBpcC9fdmVuZG9yL2h0bWw1bGliL3RyZWVidWlsZGVycy9kb20ucHkJMjAyMS0xMS0wNSAxNToy OToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC0xLDcgKzEsNyBAQAotIGZyb20gX19mdXR1cmVfXyBp bXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBkaXZpc2lvbiwgdW5pY29kZV9saXRlcmFscwotIAotIAot LWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE11dGFibGVNYXBwaW5nCi0rZnJvbSBjb2xsZWN0aW9u cy5hYmMgaW1wb3J0IE11dGFibGVNYXBwaW5nCi0gZnJvbSB4bWwuZG9tIGltcG9ydCBtaW5pZG9t LCBOb2RlCi0gaW1wb3J0IHdlYWtyZWYKLSAKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9u L3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9weXBhcnNpbmcucHkgYi90aGly ZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL3B5cGFy c2luZy5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9u b3RwaXAvX3ZlbmRvci9weXBhcnNpbmcucHkJMjAyMS0wOS0wMSAxMzoyNjo0Ni4wMDAwMDAwMDAg LTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90 cGlwL192ZW5kb3IvcHlwYXJzaW5nLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0w NDAwCi1AQCAtOTQwLDcgKzk0MCw3IEBACi0gICAgIGRlZiBfX2Rpcl9fKHNlbGYpOgotICAgICAg ICAgcmV0dXJuIChkaXIodHlwZShzZWxmKSkgKyBsaXN0KHNlbGYua2V5cygpKSkKLSAKLS1jb2xs ZWN0aW9ucy5NdXRhYmxlTWFwcGluZy5yZWdpc3RlcihQYXJzZVJlc3VsdHMpCi0rY29sbGVjdGlv bnMuYWJjLk11dGFibGVNYXBwaW5nLnJlZ2lzdGVyKFBhcnNlUmVzdWx0cykKLSAKLSBkZWYgY29s IChsb2Msc3RyZyk6Ci0gICAgICIiIlJldHVybnMgY3VycmVudCBjb2x1bW4gd2l0aGluIGEgc3Ry aW5nLCBjb3VudGluZyBuZXdsaW5lcyBhcyBsaW5lIHNlcGFyYXRvcnMuCi1AQCAtMzIyMyw3ICsz MjIzLDcgQEAKLSAKLSAgICAgICAgIGlmIGlzaW5zdGFuY2UoIGV4cHJzLCBiYXNlc3RyaW5nICk6 Ci0gICAgICAgICAgICAgc2VsZi5leHBycyA9IFsgUGFyc2VyRWxlbWVudC5fbGl0ZXJhbFN0cmlu Z0NsYXNzKCBleHBycyApIF0KLS0gICAgICAgIGVsaWYgaXNpbnN0YW5jZSggZXhwcnMsIGNvbGxl Y3Rpb25zLkl0ZXJhYmxlICk6Ci0rICAgICAgICBlbGlmIGlzaW5zdGFuY2UoIGV4cHJzLCBjb2xs ZWN0aW9ucy5hYmMuSXRlcmFibGUgKToKLSAgICAgICAgICAgICBleHBycyA9IGxpc3QoZXhwcnMp Ci0gICAgICAgICAgICAgIyBpZiBzZXF1ZW5jZSBvZiBzdHJpbmdzIHByb3ZpZGVkLCB3cmFwIHdp dGggTGl0ZXJhbAotICAgICAgICAgICAgIGlmIGFsbChpc2luc3RhbmNlKGV4cHIsIGJhc2VzdHJp bmcpIGZvciBleHByIGluIGV4cHJzKToKLUBAIC00NTY0LDcgKzQ1NjQsNyBAQAotICAgICBzeW1i b2xzID0gW10KLSAgICAgaWYgaXNpbnN0YW5jZShzdHJzLGJhc2VzdHJpbmcpOgotICAgICAgICAg c3ltYm9scyA9IHN0cnMuc3BsaXQoKQotLSAgICBlbGlmIGlzaW5zdGFuY2Uoc3RycywgY29sbGVj dGlvbnMuSXRlcmFibGUpOgotKyAgICBlbGlmIGlzaW5zdGFuY2Uoc3RycywgY29sbGVjdGlvbnMu YWJjLkl0ZXJhYmxlKToKLSAgICAgICAgIHN5bWJvbHMgPSBsaXN0KHN0cnMpCi0gICAgIGVsc2U6 Ci0gICAgICAgICB3YXJuaW5ncy53YXJuKCJJbnZhbGlkIGFyZ3VtZW50IHRvIG9uZU9mLCBleHBl Y3RlZCBzdHJpbmcgb3IgaXRlcmFibGUiLAotZGlmZiAtdXIgYS90aGlyZF9wYXJ0eS9weXRob24v cGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL3JlcXVlc3RzL2Nvb2tpZXMucHkg Yi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9y L3JlcXVlc3RzL2Nvb2tpZXMucHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlw ZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvcmVxdWVzdHMvY29va2llcy5weQkyMDIxLTA5LTAx IDEzOjI3OjAwLjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVu di9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9yZXF1ZXN0cy9jb29raWVzLnB5CTIwMjEt MTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtMTY5LDcgKzE2OSw3IEBACi0gICAg ICIiIgotIAotIAotLWNsYXNzIFJlcXVlc3RzQ29va2llSmFyKGNvb2tpZWxpYi5Db29raWVKYXIs IGNvbGxlY3Rpb25zLk11dGFibGVNYXBwaW5nKToKLStjbGFzcyBSZXF1ZXN0c0Nvb2tpZUphcihj b29raWVsaWIuQ29va2llSmFyLCBjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBpbmcpOgotICAg ICAiIiJDb21wYXRpYmlsaXR5IGNsYXNzOyBpcyBhIGNvb2tpZWxpYi5Db29raWVKYXIsIGJ1dCBl eHBvc2VzIGEgZGljdAotICAgICBpbnRlcmZhY2UuCi0gCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5 L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvcmVxdWVzdHMvbW9k ZWxzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAv X3ZlbmRvci9yZXF1ZXN0cy9tb2RlbHMucHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBl bnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvcmVxdWVzdHMvbW9kZWxzLnB5CTIwMjEt MDktMDEgMTM6MjY6NDYuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24v cGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL3JlcXVlc3RzL21vZGVscy5weQky MDIxLTExLTA1IDE1OjMxOjM1Ljc0NTc0OTY5MiAtMDQwMAotQEAgLTE3NCwxMCArMTc0LDEwIEBA Ci0gICAgICAgICBpZiBldmVudCBub3QgaW4gc2VsZi5ob29rczoKLSAgICAgICAgICAgICByYWlz ZSBWYWx1ZUVycm9yKCdVbnN1cHBvcnRlZCBldmVudCBzcGVjaWZpZWQsIHdpdGggZXZlbnQgbmFt ZSAiJXMiJyAlIChldmVudCkpCi0gCi0tICAgICAgICBpZiBpc2luc3RhbmNlKGhvb2ssIGNvbGxl Y3Rpb25zLkNhbGxhYmxlKToKLSsgICAgICAgIGlmIGlzaW5zdGFuY2UoaG9vaywgY29sbGVjdGlv bnMuYWJjLkNhbGxhYmxlKToKLSAgICAgICAgICAgICBzZWxmLmhvb2tzW2V2ZW50XS5hcHBlbmQo aG9vaykKLSAgICAgICAgIGVsaWYgaGFzYXR0cihob29rLCAnX19pdGVyX18nKToKLS0gICAgICAg ICAgICBzZWxmLmhvb2tzW2V2ZW50XS5leHRlbmQoaCBmb3IgaCBpbiBob29rIGlmIGlzaW5zdGFu Y2UoaCwgY29sbGVjdGlvbnMuQ2FsbGFibGUpKQotKyAgICAgICAgICAgIHNlbGYuaG9va3NbZXZl bnRdLmV4dGVuZChoIGZvciBoIGluIGhvb2sgaWYgaXNpbnN0YW5jZShoLCBjb2xsZWN0aW9ucy5h YmMuQ2FsbGFibGUpKQotIAotICAgICBkZWYgZGVyZWdpc3Rlcl9ob29rKHNlbGYsIGV2ZW50LCBo b29rKToKLSAgICAgICAgICIiIkRlcmVnaXN0ZXIgYSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgaG9v ay4KLUBAIC00NjEsNyArNDYxLDcgQEAKLSAKLSAgICAgICAgIGlzX3N0cmVhbSA9IGFsbChbCi0g ICAgICAgICAgICAgaGFzYXR0cihkYXRhLCAnX19pdGVyX18nKSwKLS0gICAgICAgICAgICBub3Qg aXNpbnN0YW5jZShkYXRhLCAoYmFzZXN0cmluZywgbGlzdCwgdHVwbGUsIGNvbGxlY3Rpb25zLk1h cHBpbmcpKQotKyAgICAgICAgICAgIG5vdCBpc2luc3RhbmNlKGRhdGEsIChiYXNlc3RyaW5nLCBs aXN0LCB0dXBsZSwgY29sbGVjdGlvbnMuYWJjLk1hcHBpbmcpKQotICAgICAgICAgXSkKLSAKLSAg ICAgICAgIHRyeToKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYv cGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9yZXF1ZXN0cy9zdHJ1Y3R1cmVzLnB5IGIvdGhpcmRfcGFy dHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9yZXF1ZXN0cy9z dHJ1Y3R1cmVzLnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRj aGVkL25vdHBpcC9fdmVuZG9yL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkJMjAyMS0wOS0wMSAxMzoy NzowMC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlw ZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvcmVxdWVzdHMvc3RydWN0dXJlcy5weQkyMDIxLTEx LTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTEyLDcgKzEyLDcgQEAKLSBmcm9tIC5j b21wYXQgaW1wb3J0IE9yZGVyZWREaWN0Ci0gCi0gCi0tY2xhc3MgQ2FzZUluc2Vuc2l0aXZlRGlj dChjb2xsZWN0aW9ucy5NdXRhYmxlTWFwcGluZyk6Ci0rY2xhc3MgQ2FzZUluc2Vuc2l0aXZlRGlj dChjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBpbmcpOgotICAgICAiIiJBIGNhc2UtaW5zZW5z aXRpdmUgYGBkaWN0YGAtbGlrZSBvYmplY3QuCi0gCi0gICAgIEltcGxlbWVudHMgYWxsIG1ldGhv ZHMgYW5kIG9wZXJhdGlvbnMgb2YKLUBAIC03MSw3ICs3MSw3IEBACi0gICAgICAgICApCi0gCi0g ICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgotLSAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhl ciwgY29sbGVjdGlvbnMuTWFwcGluZyk6Ci0rICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBj b2xsZWN0aW9ucy5hYmMuTWFwcGluZyk6Ci0gICAgICAgICAgICAgb3RoZXIgPSBDYXNlSW5zZW5z aXRpdmVEaWN0KG90aGVyKQotICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICByZXR1cm4gTm90 SW1wbGVtZW50ZWQKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYv cGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9yZXF1ZXN0cy91dGlscy5weSBiL3RoaXJkX3BhcnR5L3B5 dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvcmVxdWVzdHMvdXRpbHMu cHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlw L192ZW5kb3IvcmVxdWVzdHMvdXRpbHMucHkJMjAyMS0wOS0wMSAxMzoyNzowMC4wMDAwMDAwMDAg LTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90 cGlwL192ZW5kb3IvcmVxdWVzdHMvdXRpbHMucHkJMjAyMS0xMS0wNSAxNTozMTo0MC4xNTc3NDg2 NjUgLTA0MDAKLUBAIC0yNjIsNyArMjYyLDcgQEAKLSAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwg KHN0ciwgYnl0ZXMsIGJvb2wsIGludCkpOgotICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignY2Fu bm90IGVuY29kZSBvYmplY3RzIHRoYXQgYXJlIG5vdCAyLXR1cGxlcycpCi0gCi0tICAgIGlmIGlz aW5zdGFuY2UodmFsdWUsIGNvbGxlY3Rpb25zLk1hcHBpbmcpOgotKyAgICBpZiBpc2luc3RhbmNl KHZhbHVlLCBjb2xsZWN0aW9ucy5hYmMuTWFwcGluZyk6Ci0gICAgICAgICB2YWx1ZSA9IHZhbHVl Lml0ZW1zKCkKLSAKLSAgICAgcmV0dXJuIGxpc3QodmFsdWUpCi1kaWZmIC11ciBhL3RoaXJkX3Bh cnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvdXJsbGliMy9f Y29sbGVjdGlvbnMucHkgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVk L25vdHBpcC9fdmVuZG9yL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5Ci0tLS0gYS90aGlyZF9wYXJ0 eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL3VybGxpYjMvX2Nv bGxlY3Rpb25zLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90 aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL3Vy bGxpYjMvX2NvbGxlY3Rpb25zLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAw Ci1AQCAtMSw1ICsxLDUgQEAKLSBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9y dAotLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE1hcHBpbmcsIE11dGFibGVNYXBwaW5nCi0rZnJv bSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IE1hcHBpbmcsIE11dGFibGVNYXBwaW5nCi0gdHJ5Ogot ICAgICBmcm9tIHRocmVhZGluZyBpbXBvcnQgUkxvY2sKLSBleGNlcHQgSW1wb3J0RXJyb3I6ICAj IFBsYXRmb3JtLXNwZWNpZmljOiBObyB0aHJlYWRzIGF2YWlsYWJsZQotZGlmZiAtdXIgYS90aGly ZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvamluamEyL3NhbmRib3gucHkgYi90 aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvamluamEyL3NhbmRib3gucHkK LS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9qaW5qYTIvc2Fu ZGJveC5weQkyMDIxLTA5LTAxIDEzOjI3OjA5LjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGhpcmRf cGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL2ppbmphMi9zYW5kYm94LnB5CTIwMjEt MTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtMTQsNyArMTQsNyBAQAotICIiIgot IGltcG9ydCB0eXBlcwotIGltcG9ydCBvcGVyYXRvcgotLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0 IE1hcHBpbmcKLStmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgTWFwcGluZwotIGZyb20gamlu amEyLmVudmlyb25tZW50IGltcG9ydCBFbnZpcm9ubWVudAotIGZyb20gamluamEyLmV4Y2VwdGlv bnMgaW1wb3J0IFNlY3VyaXR5RXJyb3IKLSBmcm9tIGppbmphMi5fY29tcGF0IGltcG9ydCBzdHJp bmdfdHlwZXMsIFBZMgotQEAgLTc5LDcgKzc5LDcgQEAKLSAgICAgcGFzcwotIAotICM6IHJlZ2lz dGVyIFB5dGhvbiAyLjYgYWJzdHJhY3QgYmFzZSBjbGFzc2VzCi0tZnJvbSBjb2xsZWN0aW9ucyBp bXBvcnQgTXV0YWJsZVNldCwgTXV0YWJsZU1hcHBpbmcsIE11dGFibGVTZXF1ZW5jZQotK2Zyb20g Y29sbGVjdGlvbnMuYWJjIGltcG9ydCBNdXRhYmxlU2V0LCBNdXRhYmxlTWFwcGluZywgTXV0YWJs ZVNlcXVlbmNlCi0gX211dGFibGVfc2V0X3R5cGVzICs9IChNdXRhYmxlU2V0LCkKLSBfbXV0YWJs ZV9tYXBwaW5nX3R5cGVzICs9IChNdXRhYmxlTWFwcGluZywpCi0gX211dGFibGVfc2VxdWVuY2Vf dHlwZXMgKz0gKE11dGFibGVTZXF1ZW5jZSwpCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhv bi9waXBlbnYvcGlwZW52L3ZlbmRvci9qaW5qYTIvdXRpbHMucHkgYi90aGlyZF9wYXJ0eS9weXRo b24vcGlwZW52L3BpcGVudi92ZW5kb3IvamluamEyL3V0aWxzLnB5Ci0tLS0gYS90aGlyZF9wYXJ0 eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvamluamEyL3V0aWxzLnB5CTIwMjEtMDktMDEg MTM6Mjc6MDAuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52 L3BpcGVudi92ZW5kb3IvamluamEyL3V0aWxzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAw MDAwIC0wNDAwCi1AQCAtNDgyLDcgKzQ4Miw3IEBACi0gCi0gIyByZWdpc3RlciB0aGUgTFJVIGNh Y2hlIGFzIG11dGFibGUgbWFwcGluZyBpZiBwb3NzaWJsZQotIHRyeToKLS0gICAgZnJvbSBjb2xs ZWN0aW9ucyBpbXBvcnQgTXV0YWJsZU1hcHBpbmcKLSsgICAgZnJvbSBjb2xsZWN0aW9ucy5hYmMg aW1wb3J0IE11dGFibGVNYXBwaW5nCi0gICAgIE11dGFibGVNYXBwaW5nLnJlZ2lzdGVyKExSVUNh Y2hlKQotIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgcGFzcwotZGlmZiAtdXIgYS90aGlyZF9w YXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL2Rpc3RsaWIvY29t cGF0LnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3Zl bmRvci9kaXN0bGliL2NvbXBhdC5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9w aXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9kaXN0bGliL2NvbXBhdC5weQkyMDIxLTA5LTAxIDEz OjI3OjA1LjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9w aXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9kaXN0bGliL2NvbXBhdC5weQkyMDIxLTExLTA1IDE1 OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTMxOSw3ICszMTksNyBAQAotIHRyeToKLSAgICAg Y2FsbGFibGUgPSBjYWxsYWJsZQotIGV4Y2VwdCBOYW1lRXJyb3I6ICAgIyBwcmFnbWE6IG5vIGNv dmVyCi0tICAgIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IENhbGxhYmxlCi0rICAgIGZyb20gY29s bGVjdGlvbnMuYWJjIGltcG9ydCBDYWxsYWJsZQotIAotICAgICBkZWYgY2FsbGFibGUob2JqKToK LSAgICAgICAgIHJldHVybiBpc2luc3RhbmNlKG9iaiwgQ2FsbGFibGUpCi1AQCAtNDc1LDcgKzQ3 NSw3IEBACi0gdHJ5OgotICAgICBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBDaGFpbk1hcAotIGV4 Y2VwdCBJbXBvcnRFcnJvcjogIyBwcmFnbWE6IG5vIGNvdmVyCi0tICAgIGZyb20gY29sbGVjdGlv bnMgaW1wb3J0IE11dGFibGVNYXBwaW5nCi0rICAgIGZyb20gY29sbGVjdGlvbnMuYWJjIGltcG9y dCBNdXRhYmxlTWFwcGluZwotIAotICAgICB0cnk6Ci0gICAgICAgICBmcm9tIHJlcHJsaWIgaW1w b3J0IHJlY3Vyc2l2ZV9yZXByIGFzIF9yZWN1cnNpdmVfcmVwcgotZGlmZiAtdXIgYS90aGlyZF9w YXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL2h0bWw1bGliL3Ry ZWVidWlsZGVycy9kb20ucHkgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5k b3IvcGlwOS9fdmVuZG9yL2h0bWw1bGliL3RyZWVidWlsZGVycy9kb20ucHkKLS0tLSBhL3RoaXJk X3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvaHRtbDVsaWIv dHJlZWJ1aWxkZXJzL2RvbS5weQkyMDIxLTA5LTAxIDEzOjI3OjAwLjAwMDAwMDAwMCAtMDQwMAot KysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRv ci9odG1sNWxpYi90cmVlYnVpbGRlcnMvZG9tLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAw MDAwIC0wNDAwCi1AQCAtMSw3ICsxLDcgQEAKLSBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29s dXRlX2ltcG9ydCwgZGl2aXNpb24sIHVuaWNvZGVfbGl0ZXJhbHMKLSAKLSAKLS1mcm9tIGNvbGxl Y3Rpb25zIGltcG9ydCBNdXRhYmxlTWFwcGluZwotK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9y dCBNdXRhYmxlTWFwcGluZwotIGZyb20geG1sLmRvbSBpbXBvcnQgbWluaWRvbSwgTm9kZQotIGlt cG9ydCB3ZWFrcmVmCi0gCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlw ZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcHlwYXJzaW5nLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9u L3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9weXBhcnNpbmcucHkKLS0tLSBhL3Ro aXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcHlwYXJz aW5nLnB5CTIwMjEtMDktMDEgMTM6MjY6NDYuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9w YXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3B5cGFyc2luZy5w eQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTk0MCw3ICs5NDAsNyBA QAotICAgICBkZWYgX19kaXJfXyhzZWxmKToKLSAgICAgICAgIHJldHVybiAoZGlyKHR5cGUoc2Vs ZikpICsgbGlzdChzZWxmLmtleXMoKSkpCi0gCi0tY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcu cmVnaXN0ZXIoUGFyc2VSZXN1bHRzKQotK2NvbGxlY3Rpb25zLmFiYy5NdXRhYmxlTWFwcGluZy5y ZWdpc3RlcihQYXJzZVJlc3VsdHMpCi0gCi0gZGVmIGNvbCAobG9jLHN0cmcpOgotICAgICAiIiJS ZXR1cm5zIGN1cnJlbnQgY29sdW1uIHdpdGhpbiBhIHN0cmluZywgY291bnRpbmcgbmV3bGluZXMg YXMgbGluZSBzZXBhcmF0b3JzLgotQEAgLTMyMjMsNyArMzIyMyw3IEBACi0gCi0gICAgICAgICBp ZiBpc2luc3RhbmNlKCBleHBycywgYmFzZXN0cmluZyApOgotICAgICAgICAgICAgIHNlbGYuZXhw cnMgPSBbIFBhcnNlckVsZW1lbnQuX2xpdGVyYWxTdHJpbmdDbGFzcyggZXhwcnMgKSBdCi0tICAg ICAgICBlbGlmIGlzaW5zdGFuY2UoIGV4cHJzLCBjb2xsZWN0aW9ucy5JdGVyYWJsZSApOgotKyAg ICAgICAgZWxpZiBpc2luc3RhbmNlKCBleHBycywgY29sbGVjdGlvbnMuYWJjLkl0ZXJhYmxlICk6 Ci0gICAgICAgICAgICAgZXhwcnMgPSBsaXN0KGV4cHJzKQotICAgICAgICAgICAgICMgaWYgc2Vx dWVuY2Ugb2Ygc3RyaW5ncyBwcm92aWRlZCwgd3JhcCB3aXRoIExpdGVyYWwKLSAgICAgICAgICAg ICBpZiBhbGwoaXNpbnN0YW5jZShleHByLCBiYXNlc3RyaW5nKSBmb3IgZXhwciBpbiBleHBycyk6 Ci1AQCAtNDU2NCw3ICs0NTY0LDcgQEAKLSAgICAgc3ltYm9scyA9IFtdCi0gICAgIGlmIGlzaW5z dGFuY2Uoc3RycyxiYXNlc3RyaW5nKToKLSAgICAgICAgIHN5bWJvbHMgPSBzdHJzLnNwbGl0KCkK LS0gICAgZWxpZiBpc2luc3RhbmNlKHN0cnMsIGNvbGxlY3Rpb25zLkl0ZXJhYmxlKToKLSsgICAg ZWxpZiBpc2luc3RhbmNlKHN0cnMsIGNvbGxlY3Rpb25zLmFiYy5JdGVyYWJsZSk6Ci0gICAgICAg ICBzeW1ib2xzID0gbGlzdChzdHJzKQotICAgICBlbHNlOgotICAgICAgICAgd2FybmluZ3Mud2Fy bigiSW52YWxpZCBhcmd1bWVudCB0byBvbmVPZiwgZXhwZWN0ZWQgc3RyaW5nIG9yIGl0ZXJhYmxl IiwKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3Bp cDkvX3ZlbmRvci9yZXF1ZXN0cy9jb29raWVzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVu di9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9yZXF1ZXN0cy9jb29raWVzLnB5Ci0tLS0gYS90 aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3JlcXVl c3RzL2Nvb2tpZXMucHkJMjAyMS0wOS0wMSAxMzoyNzowMC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBi L3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVx dWVzdHMvY29va2llcy5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAg LTE2OSw3ICsxNjksNyBAQAotICAgICAiIiIKLSAKLSAKLS1jbGFzcyBSZXF1ZXN0c0Nvb2tpZUph cihjb29raWVsaWIuQ29va2llSmFyLCBjb2xsZWN0aW9ucy5NdXRhYmxlTWFwcGluZyk6Ci0rY2xh c3MgUmVxdWVzdHNDb29raWVKYXIoY29va2llbGliLkNvb2tpZUphciwgY29sbGVjdGlvbnMuYWJj Lk11dGFibGVNYXBwaW5nKToKLSAgICAgIiIiQ29tcGF0aWJpbGl0eSBjbGFzczsgaXMgYSBjb29r aWVsaWIuQ29va2llSmFyLCBidXQgZXhwb3NlcyBhIGRpY3QKLSAgICAgaW50ZXJmYWNlLgotIAot ZGlmZiAtdXIgYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9f dmVuZG9yL3JlcXVlc3RzL21vZGVscy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlw ZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvbW9kZWxzLnB5Ci0tLS0gYS90aGlyZF9w YXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3JlcXVlc3RzL21v ZGVscy5weQkyMDIxLTA5LTAxIDEzOjI2OjQ2LjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGhpcmRf cGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9yZXF1ZXN0cy9t b2RlbHMucHkJMjAyMS0xMS0wNSAxNTozMTo1Mi4zOTc3NDU4MjUgLTA0MDAKLUBAIC0xNzQsMTAg KzE3NCwxMCBAQAotICAgICAgICAgaWYgZXZlbnQgbm90IGluIHNlbGYuaG9va3M6Ci0gICAgICAg ICAgICAgcmFpc2UgVmFsdWVFcnJvcignVW5zdXBwb3J0ZWQgZXZlbnQgc3BlY2lmaWVkLCB3aXRo IGV2ZW50IG5hbWUgIiVzIicgJSAoZXZlbnQpKQotIAotLSAgICAgICAgaWYgaXNpbnN0YW5jZSho b29rLCBjb2xsZWN0aW9ucy5DYWxsYWJsZSk6Ci0rICAgICAgICBpZiBpc2luc3RhbmNlKGhvb2ss IGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSk6Ci0gICAgICAgICAgICAgc2VsZi5ob29rc1tldmVu dF0uYXBwZW5kKGhvb2spCi0gICAgICAgICBlbGlmIGhhc2F0dHIoaG9vaywgJ19faXRlcl9fJyk6 Ci0tICAgICAgICAgICAgc2VsZi5ob29rc1tldmVudF0uZXh0ZW5kKGggZm9yIGggaW4gaG9vayBp ZiBpc2luc3RhbmNlKGgsIGNvbGxlY3Rpb25zLkNhbGxhYmxlKSkKLSsgICAgICAgICAgICBzZWxm Lmhvb2tzW2V2ZW50XS5leHRlbmQoaCBmb3IgaCBpbiBob29rIGlmIGlzaW5zdGFuY2UoaCwgY29s bGVjdGlvbnMuYWJjLkNhbGxhYmxlKSkKLSAKLSAgICAgZGVmIGRlcmVnaXN0ZXJfaG9vayhzZWxm LCBldmVudCwgaG9vayk6Ci0gICAgICAgICAiIiJEZXJlZ2lzdGVyIGEgcHJldmlvdXNseSByZWdp c3RlcmVkIGhvb2suCi1AQCAtNDYxLDcgKzQ2MSw3IEBACi0gCi0gICAgICAgICBpc19zdHJlYW0g PSBhbGwoWwotICAgICAgICAgICAgIGhhc2F0dHIoZGF0YSwgJ19faXRlcl9fJyksCi0tICAgICAg ICAgICAgbm90IGlzaW5zdGFuY2UoZGF0YSwgKGJhc2VzdHJpbmcsIGxpc3QsIHR1cGxlLCBjb2xs ZWN0aW9ucy5NYXBwaW5nKSkKLSsgICAgICAgICAgICBub3QgaXNpbnN0YW5jZShkYXRhLCAoYmFz ZXN0cmluZywgbGlzdCwgdHVwbGUsIGNvbGxlY3Rpb25zLmFiYy5NYXBwaW5nKSkKLSAgICAgICAg IF0pCi0gCi0gICAgICAgICB0cnk6Ci1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBl bnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvc3RydWN0dXJlcy5weSBiL3Ro aXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVz dHMvc3RydWN0dXJlcy5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYv dmVuZG9yL3BpcDkvX3ZlbmRvci9yZXF1ZXN0cy9zdHJ1Y3R1cmVzLnB5CTIwMjEtMDktMDEgMTM6 Mjc6MDkuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3Bp cGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkJMjAyMS0xMS0w NSAxNTozMjowMi43NjU3NDM0MTMgLTA0MDAKLUBAIC0xMiw3ICsxMiw3IEBACi0gZnJvbSAuY29t cGF0IGltcG9ydCBPcmRlcmVkRGljdAotIAotIAotLWNsYXNzIENhc2VJbnNlbnNpdGl2ZURpY3Qo Y29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcpOgotK2NsYXNzIENhc2VJbnNlbnNpdGl2ZURpY3Qo Y29sbGVjdGlvbnMuYWJjLk11dGFibGVNYXBwaW5nKToKLSAgICAgIiIiQSBjYXNlLWluc2Vuc2l0 aXZlIGBgZGljdGBgLWxpa2Ugb2JqZWN0LgotIAotICAgICBJbXBsZW1lbnRzIGFsbCBtZXRob2Rz IGFuZCBvcGVyYXRpb25zIG9mCi1AQCAtNzEsNyArNzEsNyBAQAotICAgICAgICAgKQotIAotICAg ICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKLS0gICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIs IGNvbGxlY3Rpb25zLk1hcHBpbmcpOgotKyAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgY29s bGVjdGlvbnMuYWJjLk1hcHBpbmcpOgotICAgICAgICAgICAgIG90aGVyID0gQ2FzZUluc2Vuc2l0 aXZlRGljdChvdGhlcikKLSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgcmV0dXJuIE5vdElt cGxlbWVudGVkCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3Zl bmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvdXRpbHMucHkgYi90aGlyZF9wYXJ0eS9weXRob24v cGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3JlcXVlc3RzL3V0aWxzLnB5Ci0tLS0g YS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3Jl cXVlc3RzL3V0aWxzLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAwIC0wNDAwCi0rKysg Yi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3Jl cXVlc3RzL3V0aWxzLnB5CTIwMjEtMTEtMDUgMTU6MzE6NTcuMTIzNzQ0NzI0IC0wNDAwCi1AQCAt MjYyLDcgKzI2Miw3IEBACi0gICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIChzdHIsIGJ5dGVzLCBi b29sLCBpbnQpKToKLSAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2Nhbm5vdCBlbmNvZGUgb2Jq ZWN0cyB0aGF0IGFyZSBub3QgMi10dXBsZXMnKQotIAotLSAgICBpZiBpc2luc3RhbmNlKHZhbHVl LCBjb2xsZWN0aW9ucy5NYXBwaW5nKToKLSsgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgY29sbGVj dGlvbnMuYWJjLk1hcHBpbmcpOgotICAgICAgICAgdmFsdWUgPSB2YWx1ZS5pdGVtcygpCi0gCi0g ICAgIHJldHVybiBsaXN0KHZhbHVlKQotZGlmZiAtdXIgYS90aGlyZF9wYXJ0eS9weXRob24vcGlw ZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5IGIv dGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci91cmxs aWIzL19jb2xsZWN0aW9ucy5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBl bnYvdmVuZG9yL3BpcDkvX3ZlbmRvci91cmxsaWIzL19jb2xsZWN0aW9ucy5weQkyMDIxLTA5LTAx IDEzOjI3OjAwLjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVu di9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci91cmxsaWIzL19jb2xsZWN0aW9ucy5weQkyMDIx LTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTEsNSArMSw1IEBACi0gZnJvbSBf X2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKLS1mcm9tIGNvbGxlY3Rpb25zIGltcG9y dCBNYXBwaW5nLCBNdXRhYmxlTWFwcGluZwotK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBN YXBwaW5nLCBNdXRhYmxlTWFwcGluZwotIHRyeToKLSAgICAgZnJvbSB0aHJlYWRpbmcgaW1wb3J0 IFJMb2NrCi0gZXhjZXB0IEltcG9ydEVycm9yOiAgIyBQbGF0Zm9ybS1zcGVjaWZpYzogTm8gdGhy ZWFkcyBhdmFpbGFibGUKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBl bnYvdmVuZG9yL3JlcXVlc3RzL2Nvb2tpZXMucHkgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52 L3BpcGVudi92ZW5kb3IvcmVxdWVzdHMvY29va2llcy5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0 aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3JlcXVlc3RzL2Nvb2tpZXMucHkJMjAyMS0wOS0wMSAx MzoyNzowMC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYv cGlwZW52L3ZlbmRvci9yZXF1ZXN0cy9jb29raWVzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAw MDAwMDAwIC0wNDAwCi1AQCAtMTY5LDcgKzE2OSw3IEBACi0gICAgICIiIgotIAotIAotLWNsYXNz IFJlcXVlc3RzQ29va2llSmFyKGNvb2tpZWxpYi5Db29raWVKYXIsIGNvbGxlY3Rpb25zLk11dGFi bGVNYXBwaW5nKToKLStjbGFzcyBSZXF1ZXN0c0Nvb2tpZUphcihjb29raWVsaWIuQ29va2llSmFy LCBjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBpbmcpOgotICAgICAiIiJDb21wYXRpYmlsaXR5 IGNsYXNzOyBpcyBhIGNvb2tpZWxpYi5Db29raWVKYXIsIGJ1dCBleHBvc2VzIGEgZGljdAotICAg ICBpbnRlcmZhY2UuCi0gCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlw ZW52L3ZlbmRvci9yZXF1ZXN0cy9tb2RlbHMucHkgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52 L3BpcGVudi92ZW5kb3IvcmVxdWVzdHMvbW9kZWxzLnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRo b24vcGlwZW52L3BpcGVudi92ZW5kb3IvcmVxdWVzdHMvbW9kZWxzLnB5CTIwMjEtMDktMDEgMTM6 Mjc6MDkuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3Bp cGVudi92ZW5kb3IvcmVxdWVzdHMvbW9kZWxzLnB5CTIwMjEtMTEtMDUgMTU6MzI6MDkuNzMyNzQx NzkzIC0wNDAwCi1AQCAtMTc0LDEwICsxNzQsMTAgQEAKLSAgICAgICAgIGlmIGV2ZW50IG5vdCBp biBzZWxmLmhvb2tzOgotICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ1Vuc3VwcG9ydGVk IGV2ZW50IHNwZWNpZmllZCwgd2l0aCBldmVudCBuYW1lICIlcyInICUgKGV2ZW50KSkKLSAKLS0g ICAgICAgIGlmIGlzaW5zdGFuY2UoaG9vaywgY29sbGVjdGlvbnMuQ2FsbGFibGUpOgotKyAgICAg ICAgaWYgaXNpbnN0YW5jZShob29rLCBjb2xsZWN0aW9ucy5hYmMuQ2FsbGFibGUpOgotICAgICAg ICAgICAgIHNlbGYuaG9va3NbZXZlbnRdLmFwcGVuZChob29rKQotICAgICAgICAgZWxpZiBoYXNh dHRyKGhvb2ssICdfX2l0ZXJfXycpOgotLSAgICAgICAgICAgIHNlbGYuaG9va3NbZXZlbnRdLmV4 dGVuZChoIGZvciBoIGluIGhvb2sgaWYgaXNpbnN0YW5jZShoLCBjb2xsZWN0aW9ucy5DYWxsYWJs ZSkpCi0rICAgICAgICAgICAgc2VsZi5ob29rc1tldmVudF0uZXh0ZW5kKGggZm9yIGggaW4gaG9v ayBpZiBpc2luc3RhbmNlKGgsIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSkpCi0gCi0gICAgIGRl ZiBkZXJlZ2lzdGVyX2hvb2soc2VsZiwgZXZlbnQsIGhvb2spOgotICAgICAgICAgIiIiRGVyZWdp c3RlciBhIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBob29rLgotQEAgLTQ2MSw3ICs0NjEsNyBAQAot IAotICAgICAgICAgaXNfc3RyZWFtID0gYWxsKFsKLSAgICAgICAgICAgICBoYXNhdHRyKGRhdGEs ICdfX2l0ZXJfXycpLAotLSAgICAgICAgICAgIG5vdCBpc2luc3RhbmNlKGRhdGEsIChiYXNlc3Ry aW5nLCBsaXN0LCB0dXBsZSwgY29sbGVjdGlvbnMuTWFwcGluZykpCi0rICAgICAgICAgICAgbm90 IGlzaW5zdGFuY2UoZGF0YSwgKGJhc2VzdHJpbmcsIGxpc3QsIHR1cGxlLCBjb2xsZWN0aW9ucy5h YmMuTWFwcGluZykpCi0gICAgICAgICBdKQotIAotICAgICAgICAgdHJ5OgotZGlmZiAtdXIgYS90 aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcmVxdWVzdHMvc3RydWN0dXJl cy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9yZXF1ZXN0cy9z dHJ1Y3R1cmVzLnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5k b3IvcmVxdWVzdHMvc3RydWN0dXJlcy5weQkyMDIxLTA5LTAxIDEzOjI3OjAwLjAwMDAwMDAwMCAt MDQwMAotKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3JlcXVl c3RzL3N0cnVjdHVyZXMucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBA IC0xMiw3ICsxMiw3IEBACi0gZnJvbSAuY29tcGF0IGltcG9ydCBPcmRlcmVkRGljdAotIAotIAot LWNsYXNzIENhc2VJbnNlbnNpdGl2ZURpY3QoY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcpOgot K2NsYXNzIENhc2VJbnNlbnNpdGl2ZURpY3QoY29sbGVjdGlvbnMuYWJjLk11dGFibGVNYXBwaW5n KToKLSAgICAgIiIiQSBjYXNlLWluc2Vuc2l0aXZlIGBgZGljdGBgLWxpa2Ugb2JqZWN0LgotIAot ICAgICBJbXBsZW1lbnRzIGFsbCBtZXRob2RzIGFuZCBvcGVyYXRpb25zIG9mCi1AQCAtNzEsNyAr NzEsNyBAQAotICAgICAgICAgKQotIAotICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKLS0g ICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGNvbGxlY3Rpb25zLk1hcHBpbmcpOgotKyAgICAg ICAgaWYgaXNpbnN0YW5jZShvdGhlciwgY29sbGVjdGlvbnMuYWJjLk1hcHBpbmcpOgotICAgICAg ICAgICAgIG90aGVyID0gQ2FzZUluc2Vuc2l0aXZlRGljdChvdGhlcikKLSAgICAgICAgIGVsc2U6 Ci0gICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCi1kaWZmIC11ciBhL3RoaXJkX3Bh cnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9yZXF1ZXN0cy91dGlscy5weSBiL3RoaXJk X3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9yZXF1ZXN0cy91dGlscy5weQotLS0t IGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3JlcXVlc3RzL3V0aWxz LnB5CTIwMjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0 eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcmVxdWVzdHMvdXRpbHMucHkJMjAyMS0xMS0w NSAxNTozMjoxMy43NzY3NDA4NjAgLTA0MDAKLUBAIC0yNjIsNyArMjYyLDcgQEAKLSAgICAgaWYg aXNpbnN0YW5jZSh2YWx1ZSwgKHN0ciwgYnl0ZXMsIGJvb2wsIGludCkpOgotICAgICAgICAgcmFp c2UgVmFsdWVFcnJvcignY2Fubm90IGVuY29kZSBvYmplY3RzIHRoYXQgYXJlIG5vdCAyLXR1cGxl cycpCi0gCi0tICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGNvbGxlY3Rpb25zLk1hcHBpbmcpOgot KyAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBjb2xsZWN0aW9ucy5hYmMuTWFwcGluZyk6Ci0gICAg ICAgICB2YWx1ZSA9IHZhbHVlLml0ZW1zKCkKLSAKLSAgICAgcmV0dXJuIGxpc3QodmFsdWUpCi1k aWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci91cmxsaWIz L19jb2xsZWN0aW9ucy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRv ci91cmxsaWIzL19jb2xsZWN0aW9ucy5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVu di9waXBlbnYvdmVuZG9yL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5CTIwMjEtMDktMDEgMTM6MjY6 NDYuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVu di92ZW5kb3IvdXJsbGliMy9fY29sbGVjdGlvbnMucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAw MDAwMDAgLTA0MDAKLUBAIC0xLDUgKzEsNSBAQAotIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJz b2x1dGVfaW1wb3J0Ci0tZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTWFwcGluZywgTXV0YWJsZU1h cHBpbmcKLStmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgTWFwcGluZywgTXV0YWJsZU1hcHBp bmcKLSB0cnk6Ci0gICAgIGZyb20gdGhyZWFkaW5nIGltcG9ydCBSTG9jawotIGV4Y2VwdCBJbXBv cnRFcnJvcjogICMgUGxhdGZvcm0tc3BlY2lmaWM6IE5vIHRocmVhZHMgYXZhaWxhYmxlCi1kaWZm IC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9weXlhbWwvbGliMy95YW1sL2NvbnN0cnVjdG9yLnB5 IGIvdGhpcmRfcGFydHkvcHl0aG9uL3B5eWFtbC9saWIzL3lhbWwvY29uc3RydWN0b3IucHkKLS0t LSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9weXlhbWwvbGliMy95YW1sL2NvbnN0cnVjdG9yLnB5CTIw MjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRo b24vcHl5YW1sL2xpYjMveWFtbC9jb25zdHJ1Y3Rvci5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAw MDAwMDAwMCAtMDQwMAotQEAgLTEyMyw3ICsxMjMsNyBAQAotICAgICAgICAgbWFwcGluZyA9IHt9 Ci0gICAgICAgICBmb3Iga2V5X25vZGUsIHZhbHVlX25vZGUgaW4gbm9kZS52YWx1ZToKLSAgICAg ICAgICAgICBrZXkgPSBzZWxmLmNvbnN0cnVjdF9vYmplY3Qoa2V5X25vZGUsIGRlZXA9ZGVlcCkK LS0gICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShrZXksIGNvbGxlY3Rpb25zLkhhc2hhYmxl KToKLSsgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShrZXksIGNvbGxlY3Rpb25zLmFiYy5I YXNoYWJsZSk6Ci0gICAgICAgICAgICAgICAgIHJhaXNlIENvbnN0cnVjdG9yRXJyb3IoIndoaWxl IGNvbnN0cnVjdGluZyBhIG1hcHBpbmciLCBub2RlLnN0YXJ0X21hcmssCi0gICAgICAgICAgICAg ICAgICAgICAgICAgImZvdW5kIHVuaGFzaGFibGUga2V5Iiwga2V5X25vZGUuc3RhcnRfbWFyaykK LSAgICAgICAgICAgICB2YWx1ZSA9IHNlbGYuY29uc3RydWN0X29iamVjdCh2YWx1ZV9ub2RlLCBk ZWVwPWRlZXApCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9yZXF1ZXN0 cy9jb29raWVzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL2Nvb2tp ZXMucHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9yZXF1ZXN0cy9jb29raWVz LnB5CTIwMjEtMDktMDEgMTM6Mjc6MDUuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0 eS9weXRob24vcmVxdWVzdHMvcmVxdWVzdHMvY29va2llcy5weQkyMDIxLTExLTA1IDE1OjI5OjEy LjAwMDAwMDAwMCAtMDQwMAotQEAgLTE2MSw3ICsxNjEsNyBAQAotICAgICBVc2UgLmdldCBhbmQg LnNldCBhbmQgaW5jbHVkZSBkb21haW4gYW5kIHBhdGggYXJncyBpbiBvcmRlciB0byBiZSBtb3Jl IHNwZWNpZmljLiIiIgotIAotIAotLWNsYXNzIFJlcXVlc3RzQ29va2llSmFyKGNvb2tpZWxpYi5D b29raWVKYXIsIGNvbGxlY3Rpb25zLk11dGFibGVNYXBwaW5nKToKLStjbGFzcyBSZXF1ZXN0c0Nv b2tpZUphcihjb29raWVsaWIuQ29va2llSmFyLCBjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBp bmcpOgotICAgICAiIiJDb21wYXRpYmlsaXR5IGNsYXNzOyBpcyBhIGNvb2tpZWxpYi5Db29raWVK YXIsIGJ1dCBleHBvc2VzIGEgZGljdAotICAgICBpbnRlcmZhY2UuCi0gCi1kaWZmIC11ciBhL3Ro aXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9yZXF1ZXN0cy9wYWNrYWdlcy91cmxsaWIzL19jb2xs ZWN0aW9ucy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9yZXF1ZXN0cy9wYWNrYWdl cy91cmxsaWIzL19jb2xsZWN0aW9ucy5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3JlcXVl c3RzL3JlcXVlc3RzL3BhY2thZ2VzL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5CTIwMjEtMDktMDEg MTM6Mjc6MTMuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vcmVxdWVz dHMvcmVxdWVzdHMvcGFja2FnZXMvdXJsbGliMy9fY29sbGVjdGlvbnMucHkJMjAyMS0xMS0wNSAx NToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC0xLDUgKzEsNSBAQAotIGZyb20gX19mdXR1cmVf XyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Ci0tZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTWFwcGlu ZywgTXV0YWJsZU1hcHBpbmcKLStmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgTWFwcGluZywg TXV0YWJsZU1hcHBpbmcKLSB0cnk6Ci0gICAgIGZyb20gdGhyZWFkaW5nIGltcG9ydCBSTG9jawot IGV4Y2VwdCBJbXBvcnRFcnJvcjogICMgUGxhdGZvcm0tc3BlY2lmaWM6IE5vIHRocmVhZHMgYXZh aWxhYmxlCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9yZXF1ZXN0cy9z dHJ1Y3R1cmVzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL3N0cnVj dHVyZXMucHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9yZXF1ZXN0cy9zdHJ1 Y3R1cmVzLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDkuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGly ZF9wYXJ0eS9weXRob24vcmVxdWVzdHMvcmVxdWVzdHMvc3RydWN0dXJlcy5weQkyMDIxLTExLTA1 IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTExLDcgKzExLDcgQEAKLSBpbXBvcnQgY29s bGVjdGlvbnMKLSAKLSAKLS1jbGFzcyBDYXNlSW5zZW5zaXRpdmVEaWN0KGNvbGxlY3Rpb25zLk11 dGFibGVNYXBwaW5nKToKLStjbGFzcyBDYXNlSW5zZW5zaXRpdmVEaWN0KGNvbGxlY3Rpb25zLmFi Yy5NdXRhYmxlTWFwcGluZyk6Ci0gICAgICIiIgotICAgICBBIGNhc2UtaW5zZW5zaXRpdmUgYGBk aWN0YGAtbGlrZSBvYmplY3QuCi0gCi1AQCAtNzEsNyArNzEsNyBAQAotICAgICAgICAgKQotIAot ICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKLS0gICAgICAgIGlmIGlzaW5zdGFuY2Uob3Ro ZXIsIGNvbGxlY3Rpb25zLk1hcHBpbmcpOgotKyAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwg Y29sbGVjdGlvbnMuYWJjLk1hcHBpbmcpOgotICAgICAgICAgICAgIG90aGVyID0gQ2FzZUluc2Vu c2l0aXZlRGljdChvdGhlcikKLSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgcmV0dXJuIE5v dEltcGxlbWVudGVkCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9yZXF1 ZXN0cy91dGlscy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9yZXF1ZXN0cy91dGls cy5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL3V0aWxzLnB5 CTIwMjEtMDktMDEgMTM6Mjc6MDkuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9w eXRob24vcmVxdWVzdHMvcmVxdWVzdHMvdXRpbHMucHkJMjAyMS0xMS0wNSAxNTozMDo1NS40MjA3 NTkwNDUgLTA0MDAKLUBAIC0xODksNyArMTg5LDcgQEAKLSAgICAgaWYgaXNpbnN0YW5jZSh2YWx1 ZSwgKHN0ciwgYnl0ZXMsIGJvb2wsIGludCkpOgotICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcign Y2Fubm90IGVuY29kZSBvYmplY3RzIHRoYXQgYXJlIG5vdCAyLXR1cGxlcycpCi0gCi0tICAgIGlm IGlzaW5zdGFuY2UodmFsdWUsIGNvbGxlY3Rpb25zLk1hcHBpbmcpOgotKyAgICBpZiBpc2luc3Rh bmNlKHZhbHVlLCBjb2xsZWN0aW9ucy5hYmMuTWFwcGluZyk6Ci0gICAgICAgICB2YWx1ZSA9IHZh bHVlLml0ZW1zKCkKLSAKLSAgICAgcmV0dXJuIGxpc3QodmFsdWUpCi1kaWZmIC11ciBhL3RoaXJk X3BhcnR5L3B5dGhvbi92aXJ0dWFsZW52L19fdmlydHVhbGVudl9fL2Rpc3RsaWItMC4zLjEtcHky LnB5My1ub25lLWFueS9kaXN0bGliL2NvbXBhdC5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi92aXJ0 dWFsZW52L19fdmlydHVhbGVudl9fL2Rpc3RsaWItMC4zLjEtcHkyLnB5My1ub25lLWFueS9kaXN0 bGliL2NvbXBhdC5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3ZpcnR1YWxlbnYvX192aXJ0 dWFsZW52X18vZGlzdGxpYi0wLjMuMS1weTIucHkzLW5vbmUtYW55L2Rpc3RsaWIvY29tcGF0LnB5 CTIwMjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9w eXRob24vdmlydHVhbGVudi9fX3ZpcnR1YWxlbnZfXy9kaXN0bGliLTAuMy4xLXB5Mi5weTMtbm9u ZS1hbnkvZGlzdGxpYi9jb21wYXQucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0 MDAKLUBAIC00ODEsNyArNDgxLDcgQEAKLSB0cnk6Ci0gICAgIGZyb20gY29sbGVjdGlvbnMgaW1w b3J0IENoYWluTWFwCi0gZXhjZXB0IEltcG9ydEVycm9yOiAjIHByYWdtYTogbm8gY292ZXIKLS0g ICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTXV0YWJsZU1hcHBpbmcKLSsgICAgZnJvbSBjb2xs ZWN0aW9ucy5hYmMgaW1wb3J0IE11dGFibGVNYXBwaW5nCi0gCi0gICAgIHRyeToKLSAgICAgICAg IGZyb20gcmVwcmxpYiBpbXBvcnQgcmVjdXJzaXZlX3JlcHIgYXMgX3JlY3Vyc2l2ZV9yZXByCi1k aWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi92b2x1cHR1b3VzL3ZvbHVwdHVvdXMvc2NoZW1h X2J1aWxkZXIucHkgYi90aGlyZF9wYXJ0eS9weXRob24vdm9sdXB0dW91cy92b2x1cHR1b3VzL3Nj aGVtYV9idWlsZGVyLnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRob24vdm9sdXB0dW91cy92b2x1 cHR1b3VzL3NjaGVtYV9idWlsZGVyLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDkuMDAwMDAwMDAwIC0w NDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vdm9sdXB0dW91cy92b2x1cHR1b3VzL3NjaGVt YV9idWlsZGVyLnB5CTIwMjEtMTEtMDUgMTU6MzA6MzIuMzk5NzY0Mzc0IC0wNDAwCi1AQCAtMjgw LDcgKzI4MCw3IEBACi0gICAgICAgICAgICAgcmV0dXJuIHNjaGVtYS5fX3ZvbHVwdHVvdXNfY29t cGlsZV9fKHNlbGYpCi0gICAgICAgICBpZiBpc2luc3RhbmNlKHNjaGVtYSwgT2JqZWN0KToKLSAg ICAgICAgICAgICByZXR1cm4gc2VsZi5fY29tcGlsZV9vYmplY3Qoc2NoZW1hKQotLSAgICAgICAg aWYgaXNpbnN0YW5jZShzY2hlbWEsIGNvbGxlY3Rpb25zLk1hcHBpbmcpOgotKyAgICAgICAgaWYg aXNpbnN0YW5jZShzY2hlbWEsIGNvbGxlY3Rpb25zLmFiYy5NYXBwaW5nKToKLSAgICAgICAgICAg ICByZXR1cm4gc2VsZi5fY29tcGlsZV9kaWN0KHNjaGVtYSkKLSAgICAgICAgIGVsaWYgaXNpbnN0 YW5jZShzY2hlbWEsIGxpc3QpOgotICAgICAgICAgICAgIHJldHVybiBzZWxmLl9jb21waWxlX2xp c3Qoc2NoZW1hKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvZml4LXJ1c3Qt dGFyZ2V0LnBhdGNoIGIvc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvZml4LXJ1c3QtdGFyZ2V0LnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMWE5OGRmZDUzZmMzLi4wMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvbW96anM3OC9wYXRjaGVzL2ZpeC1ydXN0LXRhcmdldC5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLUFsbG93IHVzIHRvIGp1c3Qgc2V0IFJV U1RfVEFSR0V0IG91cnNlbHZlcyBpbnN0ZWFkIG9mIGhhY2tpbmcgYXJvdW5kIGluIG1vemlsbGEn cwotd2VpcmQgY3VzdG9tIGJ1aWxkIHN5c3RlbS4uLgotCi1kaWZmIC11cHIgZmlyZWZveC02OC45 LjAub3JpZy9idWlsZC9tb3ouY29uZmlndXJlL3J1c3QuY29uZmlndXJlIGZpcmVmb3gtNjguOS4w L2J1aWxkL21vei5jb25maWd1cmUvcnVzdC5jb25maWd1cmUKLS0tLSBmaXJlZm94LTY4LjkuMC5v cmlnL2J1aWxkL21vei5jb25maWd1cmUvcnVzdC5jb25maWd1cmUJMjAyMC0wNi0wMiAyMjo1NDoz OS45ODI2MTYxMjggKzAyMDAKLSsrKyBmaXJlZm94LTY4LjkuMC9idWlsZC9tb3ouY29uZmlndXJl L3J1c3QuY29uZmlndXJlCTIwMjAtMDYtMDIgMjM6MDg6MzcuNjU2MzMyODk5ICswMjAwCi1AQCAt MzQ1LDcgKzM0NSw3IEBAIGRlZiBydXN0X3RyaXBsZV9hbGlhcyhob3N0X29yX3RhcmdldCk6Ci0g Ci0gICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAKLS0gICAgICAgIHJ1c3RjX3RhcmdldCA9IGZp bmRfY2FuZGlkYXRlKGNhbmRpZGF0ZXMpCi0rICAgICAgICBydXN0Y190YXJnZXQgPSBvcy5lbnZp cm9uWydSVVNUX1RBUkdFVCddCi0gCi0gICAgICAgICBpZiBydXN0Y190YXJnZXQgaXMgTm9uZToK LSAgICAgICAgICAgICBkaWUoIkRvbid0IGtub3cgaG93IHRvIHRyYW5zbGF0ZSB7fSBmb3IgcnVz dGMiLmZvcm1hdCgKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM3OC9wYXRjaGVzL3B5dGhvbi0z LjExLnBhdGNoIGIvc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvcHl0aG9uLTMuMTEucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0NDc2MWY4YjYyMGIuLjAwMDAwMDAwMDAwMDAK LS0tIGEvc3JjcGtncy9tb3pqczc4L3BhdGNoZXMvcHl0aG9uLTMuMTEucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwxMzEgKzAsMCBAQAotRnJvbSA5NjQ4MzRhYmJhM2IwOTMzODU0MDlmMWQ1OTQ4 MzVhZDk0MzYyZGVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogYWhvY2hoZWlkZW4g PGFob2NoaGVpZGVuQG1vemlsbGEuY29tPgotRGF0ZTogVGh1LCAyIEp1biAyMDIyIDA2OjI3OjQ0 ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIEJ1ZyAxNzY5NjMxIC0gUmVtb3ZlICdVJyBmcm9tICdt b2RlJyBwYXJhbWV0ZXJzIGZvciB2YXJpb3VzCi0gJ29wZW4nIGNhbGxzIHRvIGVuc3VyZSBQeXRo b24zLjExIGNvbXBhdGliaWxpdHkKLSByPWZpcmVmb3gtYnVpbGQtc3lzdGVtLXJldmlld2Vycyxn bGFuZGl1bQotCi1UaGUgJ1UnIGZsYWcgcmVwcmVzZW50cyAidW5pdmVyc2FsIG5ld2xpbmUiLiBJ dCBoYXMgYmVlbiBkZXByZWNhdGVkCi1zaW5jZSBQeXRob24zLjMuIFNpbmNlIHRoZW4gInVuaXZl cnNhbCBuZXdsaW5lIiBpcyB0aGUgZGVmYXVsdCB3aGVuIGEKLWZpbGUgaXMgb3BlbmVkIGluIHRl eHQgbW9kZSAobm90IGJ5dGVzKS4gSW4gUHl0aG9uMy4xMSB1c2luZyB0aGUgJ1UnCi1mbGFnIHRo cm93cyBlcnJvcnMuIFRoZXJlIHNob3VsZCBiZSBubyBoYXJtIGluIHJlbW92aW5nICdVJyBmcm9t ICdvcGVuJwotZXZlcnl3aGVyZSBpdCBpcyB1c2VkLCBhbmQgZG9pbmcgYWxsb3dzIHRoZSB1c2Ug b2YgUHl0aG9uMy4xMS4KLQotRm9yIG1vcmUgcmVhZGluZyBzZWU6IGh0dHBzOi8vZG9jcy5weXRo b24ub3JnLzMuMTEvd2hhdHNuZXcvMy4xMS5odG1sI2NoYW5nZXMtaW4tdGhlLXB5dGhvbi1hcGkK LQotRGlmZmVyZW50aWFsIFJldmlzaW9uOiBodHRwczovL3BoYWJyaWNhdG9yLnNlcnZpY2VzLm1v emlsbGEuY29tL0QxNDc3MjEKLS0tLQotIGRvbS9iYXNlL3VzZWNvdW50ZXJzLnB5ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCi0gcHl0aG9uL21vemJ1aWxkL21vemJ1aWxk L2FjdGlvbi9wcm9jZXNzX2RlZmluZV9maWxlcy5weSB8IDIgKy0KLSBweXRob24vbW96YnVpbGQv bW96YnVpbGQvYmFja2VuZC9iYXNlLnB5ICAgICAgICAgICAgICAgIHwgMiArLQotIHB5dGhvbi9t b3pidWlsZC9tb3pidWlsZC9wcmVwcm9jZXNzb3IucHkgICAgICAgICAgICAgICAgfCA2ICsrKy0t LQotIHB5dGhvbi9tb3pidWlsZC9tb3pidWlsZC91dGlsLnB5ICAgICAgICAgICAgICAgICAgICAg ICAgfCAyICstCi0gcHl0aG9uL21vemJ1aWxkL21venBhY2svZmlsZXMucHkgICAgICAgICAgICAg ICAgICAgICAgICB8IDQgKystLQotIDYgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA5 IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZG9tL2Jhc2UvdXNlY291bnRlcnMucHkgYi9k b20vYmFzZS91c2Vjb3VudGVycy5weQotaW5kZXggNzgwZTNiMzJiMjEzMS4uN2UyYzcxNDhlY2U1 NSAxMDA2NDQKLS0tLSBhL2RvbS9iYXNlL3VzZWNvdW50ZXJzLnB5Ci0rKysgYi9kb20vYmFzZS91 c2Vjb3VudGVycy5weQotQEAgLTgsNyArOCw3IEBACi0gCi0gZGVmIHJlYWRfY29uZihjb25mX2Zp bGVuYW1lKToKLSAgICAgIyBDYW4ndCByZWFkL3dyaXRlIGZyb20gYSBzaW5nbGUgU3RyaW5nSU8s IHNvIG1ha2UgYSBuZXcgb25lIGZvciByZWFkaW5nLgotLSAgICBzdHJlYW0gPSBvcGVuKGNvbmZf ZmlsZW5hbWUsICdyVScpCi0rICAgIHN0cmVhbSA9IG9wZW4oY29uZl9maWxlbmFtZSwgJ3InKQot IAotICAgICBkZWYgcGFyc2VfY291bnRlcnMoc3RyZWFtKToKLSAgICAgICAgIGZvciBsaW5lX251 bSwgbGluZSBpbiBlbnVtZXJhdGUoc3RyZWFtKToKLWRpZmYgLS1naXQgYS9weXRob24vbW96YnVp bGQvbW96YnVpbGQvYWN0aW9uL3Byb2Nlc3NfZGVmaW5lX2ZpbGVzLnB5IGIvcHl0aG9uL21vemJ1 aWxkL21vemJ1aWxkL2FjdGlvbi9wcm9jZXNzX2RlZmluZV9maWxlcy5weQotaW5kZXggZjFkNDAx YWMyNjAwNi4uYWNhNTlkMGYwNTE3NyAxMDA2NDQKLS0tLSBhL3B5dGhvbi9tb3pidWlsZC9tb3pi dWlsZC9hY3Rpb24vcHJvY2Vzc19kZWZpbmVfZmlsZXMucHkKLSsrKyBiL3B5dGhvbi9tb3pidWls ZC9tb3pidWlsZC9hY3Rpb24vcHJvY2Vzc19kZWZpbmVfZmlsZXMucHkKLUBAIC0zNiw3ICszNiw3 IEBAIGRlZiBwcm9jZXNzX2RlZmluZV9maWxlKG91dHB1dCwgaW5wdXQpOgotICAgICAgICAgICAg IG5vdCBjb25maWcuc3Vic3RzLmdldCgnSlNfU1RBTkRBTE9ORScpOgotICAgICAgICAgY29uZmln ID0gUGFydGlhbENvbmZpZ0Vudmlyb25tZW50KG1venBhdGguam9pbih0b3BvYmpkaXIsICdqcycs ICdzcmMnKSkKLSAKLS0gICAgd2l0aCBvcGVuKHBhdGgsICdyVScpIGFzIGlucHV0OgotKyAgICB3 aXRoIG9wZW4ocGF0aCwgJ3InKSBhcyBpbnB1dDoKLSAgICAgICAgIHIgPSByZS5jb21waWxlKCde XHMqI1xzKig/UDxjbWQ+W2Etel0rKSg/OlxzKyg/UDxuYW1lPlxTKykoPzpccysoP1A8dmFsdWU+ XFMrKSk/KT8nLCByZS5VKQotICAgICAgICAgZm9yIGwgaW4gaW5wdXQ6Ci0gICAgICAgICAgICAg bSA9IHIubWF0Y2gobCkKLQotZGlmZiAtLWdpdCBhL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC9i YWNrZW5kL2Jhc2UucHkgYi9weXRob24vbW96YnVpbGQvbW96YnVpbGQvYmFja2VuZC9iYXNlLnB5 Ci1pbmRleCA3YmMxOTg2ZDg2M2I1Li5iNjRhNzA5NDY4NjNkIDEwMDY0NAotLS0tIGEvcHl0aG9u L21vemJ1aWxkL21vemJ1aWxkL2JhY2tlbmQvYmFzZS5weQotKysrIGIvcHl0aG9uL21vemJ1aWxk L21vemJ1aWxkL2JhY2tlbmQvYmFzZS5weQotQEAgLTI3Miw3ICsyNzIsNyBAQCBkZWYgcG9zdF9i dWlsZChzZWxmLCBjb25maWcsIG91dHB1dCwgam9icywgdmVyYm9zZSwgc3RhdHVzKToKLSAgICAg ICAgIHJldHVybiBzdGF0dXMKLSAKLSAgICAgQGNvbnRleHRtYW5hZ2VyCi0tICAgIGRlZiBfd3Jp dGVfZmlsZShzZWxmLCBwYXRoPU5vbmUsIGZoPU5vbmUsIHJlYWRtb2RlPSdyVScpOgotKyAgICBk ZWYgX3dyaXRlX2ZpbGUoc2VsZiwgcGF0aD1Ob25lLCBmaD1Ob25lLCByZWFkbW9kZT0ncicpOgot ICAgICAgICAgIiIiQ29udGV4dCBtYW5hZ2VyIHRvIHdyaXRlIGEgZmlsZS4KLSAKLSAgICAgICAg IFRoaXMgaXMgYSBnbG9yaWZpZWQgd3JhcHBlciBhcm91bmQgRmlsZUF2b2lkV3JpdGUgd2l0aCBp bnRlZ3JhdGlvbiB0bwotZGlmZiAtLWdpdCBhL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC9wcmVw cm9jZXNzb3IucHkgYi9weXRob24vbW96YnVpbGQvbW96YnVpbGQvcHJlcHJvY2Vzc29yLnB5Ci1p bmRleCBmNzgyMGI5YzkxNDczLi44NTdmMWE2YzliZmQxIDEwMDY0NAotLS0tIGEvcHl0aG9uL21v emJ1aWxkL21vemJ1aWxkL3ByZXByb2Nlc3Nvci5weQotKysrIGIvcHl0aG9uL21vemJ1aWxkL21v emJ1aWxkL3ByZXByb2Nlc3Nvci5weQotQEAgLTUzMSw3ICs1MzEsNyBAQCBkZWYgZ2V0X291dHB1 dF9maWxlKHBhdGgsIGVuY29kaW5nPU5vbmUpOgotIAotICAgICAgICAgaWYgYXJnczoKLSAgICAg ICAgICAgICBmb3IgZiBpbiBhcmdzOgotLSAgICAgICAgICAgICAgICB3aXRoIGlvLm9wZW4oZiwg J3JVJywgZW5jb2Rpbmc9J3V0Zi04JykgYXMgaW5wdXQ6Ci0rICAgICAgICAgICAgICAgIHdpdGgg aW8ub3BlbihmLCAncicsIGVuY29kaW5nPSd1dGYtOCcpIGFzIGlucHV0OgotICAgICAgICAgICAg ICAgICAgICAgc2VsZi5wcm9jZXNzRmlsZShpbnB1dD1pbnB1dCwgb3V0cHV0PW91dCkKLSAgICAg ICAgICAgICBpZiBkZXBmaWxlOgotICAgICAgICAgICAgICAgICBtayA9IE1ha2VmaWxlKCkKLUBA IC04NjAsNyArODYwLDcgQEAgZGVmIGRvX2luY2x1ZGUoc2VsZiwgYXJncywgZmlsdGVycz1UcnVl KToKLSAgICAgICAgICAgICAgICAgICAgIGFyZ3MgPSBzZWxmLmFwcGx5RmlsdGVycyhhcmdzKQot ICAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2FicyhhcmdzKToKLSAgICAgICAgICAg ICAgICAgICAgIGFyZ3MgPSBvcy5wYXRoLmpvaW4oc2VsZi5jdXJkaXIsIGFyZ3MpCi0tICAgICAg ICAgICAgICAgIGFyZ3MgPSBpby5vcGVuKGFyZ3MsICdyVScsIGVuY29kaW5nPSd1dGYtOCcpCi0r ICAgICAgICAgICAgICAgIGFyZ3MgPSBpby5vcGVuKGFyZ3MsICdyJywgZW5jb2Rpbmc9J3V0Zi04 JykKLSAgICAgICAgICAgICBleGNlcHQgUHJlcHJvY2Vzc29yLkVycm9yOgotICAgICAgICAgICAg ICAgICByYWlzZQotICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci1AQCAtOTE0LDcgKzkx NCw3IEBAIGRlZiBkb19lcnJvcihzZWxmLCBhcmdzKToKLSBkZWYgcHJlcHJvY2VzcyhpbmNsdWRl cz1bc3lzLnN0ZGluXSwgZGVmaW5lcz17fSwgb3V0cHV0PXN5cy5zdGRvdXQsIG1hcmtlcj0nIycp OgotICAgICBwcCA9IFByZXByb2Nlc3NvcihkZWZpbmVzPWRlZmluZXMsIG1hcmtlcj1tYXJrZXIp Ci0gICAgIGZvciBmIGluIGluY2x1ZGVzOgotLSAgICAgICAgd2l0aCBpby5vcGVuKGYsICdyVScs IGVuY29kaW5nPSd1dGYtOCcpIGFzIGlucHV0OgotKyAgICAgICAgd2l0aCBpby5vcGVuKGYsICdy JywgZW5jb2Rpbmc9J3V0Zi04JykgYXMgaW5wdXQ6Ci0gICAgICAgICAgICAgcHAucHJvY2Vzc0Zp bGUoaW5wdXQ9aW5wdXQsIG91dHB1dD1vdXRwdXQpCi0gICAgIHJldHVybiBwcC5pbmNsdWRlcwot IAotZGlmZiAtLWdpdCBhL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC91dGlsLnB5IGIvcHl0aG9u L21vemJ1aWxkL21vemJ1aWxkL3V0aWwucHkKLWluZGV4IGIwOWYxNjQ2OTg4ZjAuLjRmMWUwY2Rj NWY1NjggMTAwNjQ0Ci0tLS0gYS9weXRob24vbW96YnVpbGQvbW96YnVpbGQvdXRpbC5weQotKysr IGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL3V0aWwucHkKLUBAIC0yMzYsNyArMjM2LDcgQEAg Y2xhc3MgRmlsZUF2b2lkV3JpdGUoQnl0ZXNJTyk6Ci0gICAgIHN0aWxsIG9jY3VyLCBhcyB3ZWxs IGFzIGRpZmYgY2FwdHVyZSBpZiByZXF1ZXN0ZWQuCi0gICAgICIiIgotIAotLSAgICBkZWYgX19p bml0X18oc2VsZiwgZmlsZW5hbWUsIGNhcHR1cmVfZGlmZj1GYWxzZSwgZHJ5X3J1bj1GYWxzZSwg cmVhZG1vZGU9J3JVJyk6Ci0rICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgY2FwdHVy ZV9kaWZmPUZhbHNlLCBkcnlfcnVuPUZhbHNlLCByZWFkbW9kZT0ncicpOgotICAgICAgICAgQnl0 ZXNJTy5fX2luaXRfXyhzZWxmKQotICAgICAgICAgc2VsZi5uYW1lID0gZmlsZW5hbWUKLSAgICAg ICAgIGFzc2VydCB0eXBlKGNhcHR1cmVfZGlmZikgPT0gYm9vbAotZGlmZiAtLWdpdCBhL3B5dGhv bi9tb3pidWlsZC9tb3pwYWNrL2ZpbGVzLnB5IGIvcHl0aG9uL21vemJ1aWxkL21venBhY2svZmls ZXMucHkKLWluZGV4IDFkOGExZWQyZDhhN2UuLmEyOTVhNjdiNWEzNGYgMTAwNjQ0Ci0tLS0gYS9w eXRob24vbW96YnVpbGQvbW96cGFjay9maWxlcy5weQotKysrIGIvcHl0aG9uL21vemJ1aWxkL21v enBhY2svZmlsZXMucHkKLUBAIC01NTQsNyArNTU0LDcgQEAgZGVmIGlucHV0cyhzZWxmKToKLSAg ICAgICAgIHBwID0gUHJlcHJvY2Vzc29yKGRlZmluZXM9c2VsZi5kZWZpbmVzLCBtYXJrZXI9c2Vs Zi5tYXJrZXIpCi0gICAgICAgICBwcC5zZXRTaWxlbmNlRGlyZWN0aXZlV2FybmluZ3Moc2VsZi5z aWxlbmNlX21pc3NpbmdfZGlyZWN0aXZlX3dhcm5pbmdzKQotIAotLSAgICAgICAgd2l0aCBfb3Bl bihzZWxmLnBhdGgsICdyVScpIGFzIGlucHV0OgotKyAgICAgICAgd2l0aCBfb3BlbihzZWxmLnBh dGgsICdyJykgYXMgaW5wdXQ6Ci0gICAgICAgICAgICAgd2l0aCBfb3Blbihvcy5kZXZudWxsLCAn dycpIGFzIG91dHB1dDoKLSAgICAgICAgICAgICAgICAgcHAucHJvY2Vzc0ZpbGUoaW5wdXQ9aW5w dXQsIG91dHB1dD1vdXRwdXQpCi0gCi1AQCAtNjExLDcgKzYxMSw3IEBAIGRlZiBjb3B5KHNlbGYs IGRlc3QsIHNraXBfaWZfb2xkZXI9VHJ1ZSk6Ci0gICAgICAgICBwcCA9IFByZXByb2Nlc3Nvcihk ZWZpbmVzPXNlbGYuZGVmaW5lcywgbWFya2VyPXNlbGYubWFya2VyKQotICAgICAgICAgcHAuc2V0 U2lsZW5jZURpcmVjdGl2ZVdhcm5pbmdzKHNlbGYuc2lsZW5jZV9taXNzaW5nX2RpcmVjdGl2ZV93 YXJuaW5ncykKLSAKLS0gICAgICAgIHdpdGggX29wZW4oc2VsZi5wYXRoLCAnclUnKSBhcyBpbnB1 dDoKLSsgICAgICAgIHdpdGggX29wZW4oc2VsZi5wYXRoLCAncicpIGFzIGlucHV0OgotICAgICAg ICAgICAgIHBwLnByb2Nlc3NGaWxlKGlucHV0PWlucHV0LCBvdXRwdXQ9ZGVzdCwgZGVwZmlsZT1k ZXBzX291dCkKLSAKLSAgICAgICAgIGRlc3QuY2xvc2UoKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9t b3pqczc4L3BhdGNoZXMvcnVzdC1jb25maWd1cmUucGF0Y2ggYi9zcmNwa2dzL21vempzNzgvcGF0 Y2hlcy9ydXN0LWNvbmZpZ3VyZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg ZGUxZWVhNjY1ZGUzYi4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL21vempzNzgvcGF0Y2hl cy9ydXN0LWNvbmZpZ3VyZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLS0t LSBhL2J1aWxkL21vei5jb25maWd1cmUvcnVzdC5jb25maWd1cmUKLSsrKyBiL2J1aWxkL21vei5j b25maWd1cmUvcnVzdC5jb25maWd1cmUKLUBAIC03OCw5ICs3OCw2IEBACi0gCi0gICAgIHJldHVy biB1bndyYXAKLSAKLS1ydXN0YyA9IHVud3JhcF9ydXN0dXAocnVzdGMsICdydXN0YycpCi0tY2Fy Z28gPSB1bndyYXBfcnVzdHVwKGNhcmdvLCAnY2FyZ28nKQotLQotIAotIHNldF9jb25maWcoJ0NB UkdPJywgY2FyZ28pCi0gc2V0X2NvbmZpZygnUlVTVEMnLCBydXN0YykKLUBAIC0zNDgsMjYgKzM0 NSw2IEBACi0gCi0gICAgICAgICAgICAgb3Mud3JpdGUoaW5fZmQsIHNvdXJjZSkKLSAgICAgICAg ICAgICBvcy5jbG9zZShpbl9mZCkKLS0KLS0gICAgICAgICAgICBjbWQgPSBbCi0tICAgICAgICAg ICAgICAgIHJ1c3RjLAotLSAgICAgICAgICAgICAgICAnLS1jcmF0ZS10eXBlJywgJ3N0YXRpY2xp YicsCi0tICAgICAgICAgICAgICAgIHRhcmdldF9hcmcsCi0tICAgICAgICAgICAgICAgICctbycs IG91dF9wYXRoLAotLSAgICAgICAgICAgICAgICBpbl9wYXRoLAotLSAgICAgICAgICAgIF0KLS0K LS0gICAgICAgICAgICBkZWYgZmFpbGVkKCk6Ci0tICAgICAgICAgICAgICAgIGRpZShkZWRlbnQo JycnXAotLSAgICAgICAgICAgICAgICBDYW5ub3QgY29tcGlsZSBmb3Ige30gd2l0aCB7fQotLSAg ICAgICAgICAgICAgICBUaGUgdGFyZ2V0IG1heSBiZSB1bnN1cHBvcnRlZCwgb3IgeW91IG1heSBu b3QgaGF2ZQotLSAgICAgICAgICAgICAgICBhIHJ1c3Qgc3RkIGxpYnJhcnkgZm9yIHRoYXQgdGFy Z2V0IGluc3RhbGxlZC4gVHJ5OgotLQotLSAgICAgICAgICAgICAgICAgIHJ1c3R1cCB0YXJnZXQg YWRkIHt9Ci0tICAgICAgICAgICAgICAgICcnJy5mb3JtYXQoaG9zdF9vcl90YXJnZXQuYWxpYXMs IHJ1c3RjLCBydXN0Y190YXJnZXQpKSkKLS0gICAgICAgICAgICBjaGVja19jbWRfb3V0cHV0KCpj bWQsIG9uZXJyb3I9ZmFpbGVkKQotLSAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhv dXRfcGF0aCkgb3Igb3MucGF0aC5nZXRzaXplKG91dF9wYXRoKSA9PSAwOgotLSAgICAgICAgICAg ICAgICBmYWlsZWQoKQotICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICBvcy5yZW1vdmUo aW5fcGF0aCkKLSAgICAgICAgICAgICBvcy5yZW1vdmUob3V0X3BhdGgpCi1AQCAtNDA1LDE4ICs0 MDUsNiBAQCBkZWYgcnVzdF90cmlwbGVfYWxpYXMoaG9zdF9vcl90YXJnZXQsIGhvc3Rfb3JfdGFy Z2V0X2NfY29tcGlsZXIpOgotIHJ1c3RfdGFyZ2V0X3RyaXBsZSA9IHJ1c3RfdHJpcGxlX2FsaWFz KHRhcmdldCwgY19jb21waWxlcikKLSBydXN0X2hvc3RfdHJpcGxlID0gcnVzdF90cmlwbGVfYWxp YXMoaG9zdCwgaG9zdF9jX2NvbXBpbGVyKQotIAotLQotLUBkZXBlbmRzKGhvc3QsIHJ1c3RfaG9z dF90cmlwbGUsIHJ1c3RjX2luZm8uaG9zdCkKLS1kZWYgdmFsaWRhdGVfcnVzdF9ob3N0X3RyaXBs ZShob3N0LCBydXN0X2hvc3QsIHJ1c3RjX2hvc3QpOgotLSAgICBpZiBydXN0X2hvc3QgIT0gcnVz dGNfaG9zdDoKLS0gICAgICAgIGlmIGhvc3QuYWxpYXMgPT0gcnVzdF9ob3N0OgotLSAgICAgICAg ICAgIGNvbmZpZ3VyZV9ob3N0ID0gaG9zdC5hbGlhcwotLSAgICAgICAgZWxzZToKLS0gICAgICAg ICAgICBjb25maWd1cmVfaG9zdCA9ICd7fS97fScuZm9ybWF0KGhvc3QuYWxpYXMsIHJ1c3RfaG9z dCkKLS0gICAgICAgIGRpZSgiVGhlIHJ1c3QgY29tcGlsZXIgaG9zdCAoe30pIGlzIG5vdCBzdWl0 YWJsZSBmb3IgdGhlIGNvbmZpZ3VyZSBob3N0ICh7fSkuIgotLSAgICAgICAgICAgIC5mb3JtYXQo cnVzdGNfaG9zdCwgY29uZmlndXJlX2hvc3QpKQotLQotLQotIHNldF9jb25maWcoJ1JVU1RfVEFS R0VUJywgcnVzdF90YXJnZXRfdHJpcGxlKQotIHNldF9jb25maWcoJ1JVU1RfSE9TVF9UQVJHRVQn LCBydXN0X2hvc3RfdHJpcGxlKQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczc4L3RlbXBs YXRlIGIvc3JjcGtncy9tb3pqczc4L3RlbXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBiMTMwOWRhMGYzNDM5Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbW96anM3OC90 ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLSMgVGVtcGxhdGUgZmlsZSBm b3IgJ21vempzNzgnCi1wa2duYW1lPW1vempzNzgKLXZlcnNpb249NzguOS4wCi1yZXZpc2lvbj04 Ci1idWlsZF93cmtzcmM9anMvc3JjCi1idWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCi1idWlsZF9o ZWxwZXI9cnVzdAotaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHB5dGhvbiBwa2ctY29uZmlnIGF1dG9t YWtlIGF1dG9jb25mMjEzIGF1dG9jb25mLWFyY2hpdmUKLSBjYXJnbyBydXN0IGxsdm0gY2xhbmcg d2hpY2ggcHl0aG9uMyIKLW1ha2VkZXBlbmRzPSJpY3UtZGV2ZWwgbGliZmZpLWRldmVsIG5zcHIt ZGV2ZWwgcHl0aG9uLWRldmVsIHJlYWRsaW5lLWRldmVsCi0gemxpYi1kZXZlbCBweXRob24zLWRl dmVsIHJ1c3Qtc3RkIgotZGVwZW5kcz0ibnNwcj49NC4xOSIKLXNob3J0X2Rlc2M9Ik1vemlsbGEg SmF2YVNjcmlwdCBpbnRlcnByZXRlciBhbmQgbGlicmFyeSAoNzgueCBzZXJpZXMpIgotbWFpbnRh aW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKLWxpY2Vuc2U9Ik1QTC0yLjAi Ci1ob21lcGFnZT0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZmlyZWZveC8iCi1kaXN0ZmlsZXM9 IiR7TU9aSUxMQV9TSVRFfS9maXJlZm94L3JlbGVhc2VzLyR7dmVyc2lvbn1lc3Ivc291cmNlL2Zp cmVmb3gtJHt2ZXJzaW9ufWVzci5zb3VyY2UudGFyLnh6IgotY2hlY2tzdW09OGUwM2FjMWRmYzVh YzgwNGM4YjEzYTUyOTQxNGE5Mzg3ZTA0MjVlNTQ1YmIyZjQ0NjJkNzRjMzE3NWU2NDg2NAotCi1D WFhGTEFHUz0iLVduby1jbGFzcy1tZW1hY2Nlc3MiCi1MREZMQUdTPSItV2wsLXosc3RhY2stc2l6 ZT0xMDQ4NTc2IgotCi1pZiBbICIkWEJQU19UQVJHRVRfTk9fQVRPTUlDOCIgXTsgdGhlbgotCUxE RkxBR1MrPSIgLWxhdG9taWMiCi1maQotCi1jYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4K LQltaXBzKikgYnJva2VuPSJubyBtYXRjaGluZyBmdW5jdGlvbiBmb3IgY2FsbCB0byAnanM6Ompp dDo6TWFjcm9Bc3NlbWJsZXI6OnVuYm94SW50MzIoY29uc3QganM6OmppdDo6QmFzZU9iamVjdEVs ZW1lbnRJbmRleCYsIGpzOjpqaXQ6OlJlZ2lzdGVyJiknIjs7Ci1lc2FjCi0KLWRvX2NvbmZpZ3Vy ZSgpIHsKLQlsb2NhbCBfYXJncwotCSMgdXNlIGdjYyBhcyBhc3NlbWJsZXIgdG8gYXZvaWQgZXJy b3JzCi0JdW5zZXQgQVMKLQotCWlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgotCQlleHBvcnQg SE9TVF9DQz1jYwotCQlleHBvcnQgVEFSR0VUX0NDPSIke0NDfSIKLQkJZXhwb3J0IEhPU1RfQ0ZM QUdTPSItT3MiCi0JCWV4cG9ydCBIT1NUX0NYWEZMQUdTPSItT3MiCi0JCV9hcmdzKz0iIC0tdGFy Z2V0PSR7WEJQU19DUk9TU19UUklQTEVUfSAtLWVuYWJsZS1saW5rZXI9YmZkIgotCWVsc2UKLQkJ X2FyZ3MrPSIgLS10YXJnZXQ9JHtYQlBTX1RSSVBMRVR9IgotCWZpCi0KLQlBV0s9YXdrIGF1dG9j b25mLTIuMTMgb2xkLWNvbmZpZ3VyZS5pbiA+IG9sZC1jb25maWd1cmUKLQotCXRvdWNoICR7d3Jr c3JjfS9qcy9zcmMvY29uZmlndXJlCi0JdG91Y2ggJHt3cmtzcmN9L2pzL3NyYy9vbGQtY29uZmln dXJlCi0JU0hFTEw9L2Jpbi9iYXNoIFBZVEhPTj0vdXNyL2Jpbi9weXRob24yIC4vY29uZmlndXJl IC0tcHJlZml4PS91c3IgXAotCQktLWRpc2FibGUtamVtYWxsb2MgLS1kaXNhYmxlLW9wdGltaXpl IC0tZW5hYmxlLWN0eXBlcyBcCi0JCS0tZW5hYmxlLXJlYWRsaW5lIC0tZW5hYmxlLXNoYXJlZC1q cyAtLWVuYWJsZS1zeXN0ZW0tZmZpIFwKLQkJLS1lbmFibGUtdGVzdHMgLS13aXRoLWludGwtYXBp IC0td2l0aC1zeXN0ZW0taWN1IC0td2l0aC1zeXN0ZW0tbnNwciBcCi0JCS0tZW5hYmxlLWhhcmRl bmluZyAtLWVuYWJsZS1yZWxlYXNlIC0td2l0aC1zeXN0ZW0temxpYiBcCi0JCS0taG9zdD0ke1hC UFNfVFJJUExFVH0gJHtfYXJnc30KLX0KLQotZG9fY2hlY2soKSB7Ci0JZGlzdC9iaW4vanNhcGkt dGVzdHMgLS1mb3JtYXQ9bm9uZSAtLWV4Y2x1ZGUtcmFuZG9tIGJhc2ljCi19Ci0KLXBvc3RfaW5z dGFsbCgpIHsKLQkjIFJlbW92ZSB1bm5lZWRlZCBzdGF0aWMgbGlicmFyeQotCXJtIC1mICIke0RF U1RESVJ9Ii91c3IvbGliLyouYWpzCi19Ci0KLW1vempzNzgtZGV2ZWxfcGFja2FnZSgpIHsKLQlk ZXBlbmRzPSJuc3ByLWRldmVsICR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIK LQlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCi0JcGtnX2luc3RhbGwoKSB7Ci0J CXZtb3ZlIHVzci9iaW4vanM3OC1jb25maWcKLQkJdm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUg InVzci9saWIvKi5zbyIKLQkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKLQl9Ci19CmRpZmYgLS1n aXQgYS9zcmNwa2dzL21vempzNzgvdXBkYXRlIGIvc3JjcGtncy9tb3pqczc4L3VwZGF0ZQpkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTk0N2UxOTIxN2YwMC4uMDAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL21vempzNzgvdXBkYXRlCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAot cGtnbmFtZT0nbW96anMnCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVt cGxhdGUgYi9zcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUKaW5kZXggMzIxYjExZjlj MTVkOC4uMjUzYjQ2MzZhYmM5ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2Vz L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcmVtb3ZlZC1wYWNrYWdlcy90ZW1wbGF0ZQpAQCAtMSw2 ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3JlbW92ZWQtcGFja2FnZXMnCiBwa2duYW1l PXJlbW92ZWQtcGFja2FnZXMKLXZlcnNpb249MC4xLjIwMjMxMDA3Cit2ZXJzaW9uPTAuMS4yMDIz MTAwOQogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9bWV0YQogc2hvcnRfZGVzYz0iVW5pbnN0YWxs cyBwYWNrYWdlcyByZW1vdmVkIGZyb20gcmVwb3NpdG9yeSIKQEAgLTQxOSw2ICs0MTksOCBAQCBy ZXBsYWNlcz0iCiAgbW9waWR5LXNwb3RpZnk8PTQuMC4xXzUKICBtb3pqczYwPD02MC44LjBfNgog IG1vempzNjg8PTY4LjExLjBfMQorIG1vempzNzgtZGV2ZWw8PTc4LjkuMF84CisgbW96anM3ODw9 NzguOS4wXzgKICBtb3pqczkxLWRldmVsPD05MS43LjFfMwogIG1vempzOTE8PTkxLjcuMV8zCiAg bXAzZ2Fpbjw9MS42LjJfMgo= --===============7041952870966522199==--