From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id 98BFF24B37 for ; Mon, 22 Jan 2024 12:42:22 +0100 (CET) Content-Type: multipart/mixed; boundary="===============2691417338639474321==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_mozjs102=3A_update_to_102=2E15=2E1=2E?= To: ml@inbox.vuxu.org From: oreo639 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 22 Jan 2024 12:42:22 +0100 List-Id: Message-Id: <20240122114222.98BFF24B37@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============2691417338639474321== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgb3JlbzYzOSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vb3Jl bzYzOS92b2lkLXBhY2thZ2VzIG1vempzMTAyCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4 L3ZvaWQtcGFja2FnZXMvcHVsbC80ODMyMgoKbW96anMxMDI6IHVwZGF0ZSB0byAxMDIuMTUuMS4K QWxzbyBmaXggYnVpbGQgd2l0aCBweXRob24zLjEyLg0KDQo8IS0tIFVuY29tbWVudCByZWxldmFu dCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBhcHBsaWNhYmxlIC0t Pg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4g dGhpcyBQUjogICoqYnJpZWZseSoqDQoNCjwhLS0NCiMjIyMgTmV3IHBhY2thZ2UNCi0gVGhpcyBu ZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUgW3BhY2thZ2UgcmVxdWlyZW1lbnRzXShodHRwczov L2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJV VElORy5tZCNwYWNrYWdlLXJlcXVpcmVtZW50cyk6ICoqWUVTKip8KipOTyoqDQotLT4NCg0KPCEt LSBOb3RlOiBJZiB0aGUgYnVpbGQgaXMgbGlrZWx5IHRvIHRha2UgbW9yZSB0aGFuIDIgaG91cnMs IHBsZWFzZSBhZGQgY2kgc2tpcCB0YWcgYXMgZGVzY3JpYmVkIGluDQpodHRwczovL2dpdGh1Yi5j b20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNj b250aW51b3VzLWludGVncmF0aW9uDQphbmQgdGVzdCBhdCBsZWFzdCBvbmUgbmF0aXZlIGJ1aWxk IGFuZCwgaWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBvbmUgY3Jvc3MgYnVpbGQuDQpJZ25vcmUgdGhp cyBzZWN0aW9uIGlmIHRoaXMgUFIgaXMgbm90IHNraXBwaW5nIENJLg0KLS0+DQo8IS0tDQojIyMj IExvY2FsIGJ1aWxkIHRlc3RpbmcNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIG15IG5h dGl2ZSBhcmNoaXRlY3R1cmUsIChBUkNILUxJQkMpDQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5 IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChpZiBzdXBwb3J0ZWQuIG1hcmsgY3Jvc3NidWlsZHMp Og0KICAtIGFhcmNoNjQtbXVzbA0KICAtIGFybXY3bA0KICAtIGFybXY2bC1tdXNsDQotLT4NCgoK QSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNr YWdlcy9wdWxsLzQ4MzIyLnBhdGNoIGlzIGF0dGFjaGVk --===============2691417338639474321== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-mozjs102-48322.patch" RnJvbSAzMDM1NzZmYTA2NjlhZWM2MGQ0OGU0NjBlODlhNGRhMzJiMDAwYjVmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDxvcmVvNjM5MUBnbWFpbC5jb20+CkRhdGU6IE1v biwgMjIgSmFuIDIwMjQgMDI6NDk6NDEgLTA4MDAKU3ViamVjdDogW1BBVENIXSBtb3pqczEwMjog dXBkYXRlIHRvIDEwMi4xNS4xLgoKQWxzbyBmaXggYnVpbGQgd2l0aCBweXRob24zLjEyLgotLS0K IHNyY3BrZ3MvbW96anMxMDIvcGF0Y2hlcy9hcm12NmwtaXNiLnBhdGNoICAgICB8ICAgIDIgKy0K IC4uLi9wYXRjaGVzL2ZpeC1sb29zZXZlcnNpb24tcHl0aG9uMzEyLnBhdGNoICB8ICA1MzcgKysr KwogLi4uL21vempzMTAyL3BhdGNoZXMvZml4LXNpeC1weXRob24zMTIucGF0Y2ggIHwgMjQ0NSAr KysrKysrKysrKysrKysrKwogc3JjcGtncy9tb3pqczEwMi90ZW1wbGF0ZSAgICAgICAgICAgICAg ICAgICAgIHwgICAgOCArLQogNCBmaWxlcyBjaGFuZ2VkLCAyOTg3IGluc2VydGlvbnMoKyksIDUg ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tb3pqczEwMi9wYXRjaGVz L2ZpeC1sb29zZXZlcnNpb24tcHl0aG9uMzEyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9tb3pqczEwMi9wYXRjaGVzL2ZpeC1zaXgtcHl0aG9uMzEyLnBhdGNoCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9tb3pqczEwMi9wYXRjaGVzL2FybXY2bC1pc2IucGF0Y2ggYi9zcmNwa2dzL21v empzMTAyL3BhdGNoZXMvYXJtdjZsLWlzYi5wYXRjaAppbmRleCBjMDhjNzc2MjYxZTM1Li4xYTdm M2U0NWVlNDJhIDEwMDY0NAotLS0gYS9zcmNwa2dzL21vempzMTAyL3BhdGNoZXMvYXJtdjZsLWlz Yi5wYXRjaAorKysgYi9zcmNwa2dzL21vempzMTAyL3BhdGNoZXMvYXJtdjZsLWlzYi5wYXRjaApA QCAtMTMsNCArMTMsNCBAQCBkaWZmIC1ydXAgQXJjaGl0ZWN0dXJlLWFybS5jcHAub3JpZyBBcmNo aXRlY3R1cmUtYXJtLmNwcAogKyMgIGVuZGlmCiAgI2Vsc2UKICAgIC8vIFdlIGFzc3VtZSB0aGUg aWNhY2hlIGZsdXNoaW5nIHJvdXRpbmVzIG9uIG90aGVyIHBsYXRmb3JtcyB0YWtlIGNhcmUgb2Yg dGhpcwotICNlbmRpZgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyAjZW5kaWYKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvbW96anMxMDIvcGF0Y2hlcy9maXgtbG9vc2V2ZXJzaW9uLXB5dGhvbjMx Mi5wYXRjaCBiL3NyY3BrZ3MvbW96anMxMDIvcGF0Y2hlcy9maXgtbG9vc2V2ZXJzaW9uLXB5dGhv bjMxMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi45MWM0 ZGJlMzgwZDg1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9tb3pqczEwMi9wYXRjaGVzL2Zp eC1sb29zZXZlcnNpb24tcHl0aG9uMzEyLnBhdGNoCkBAIC0wLDAgKzEsNTM3IEBACitGcm9tIDcw MGQyZDVmZmJlYzVmMGJlMTAwZDA2YTc5MGFlMjk5ZjQ1YzgwNmYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBhaG9jaGhlaWRlbiA8YWhvY2hoZWlkZW5AbW96aWxsYS5jb20+CitEYXRl OiBGcmksIDI2IEF1ZyAyMDIyIDIzOjA1OjI1ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIEJ1ZyAx Nzc3NDE0IC0gUmVwbGFjZSBhbGwgdXNlcyBvZgorIGBkaXN0dXRpbHMudmVyc2lvbi5Mb29zZVZl cnNpb25gIHdpdGggYGxvb3NldmVyc2lvbi5Mb29zZVZlcnNpb25gCisgcj1maXJlZm94LWJ1aWxk LXN5c3RlbS1yZXZpZXdlcnMsZ2xhbmRpdW0KKworRGlmZmVyZW50aWFsIFJldmlzaW9uOiBodHRw czovL3BoYWJyaWNhdG9yLnNlcnZpY2VzLm1vemlsbGEuY29tL0QxNTEwNjQKKy0tLQorIC4uLi9j bG9zdXJlLWxpYnJhcnkvY2xvc3VyZS9iaW4vY2FsY2RlcHMucHkgICAgICAgICB8IDEzICsrLS0t LS0tLS0tLS0KKyBweXRob24vbW96YnVpbGQvbW96YnVpbGQvY29uZmlndXJlL3V0aWwucHkgICAg ICAgICAgfCAgNCArKy0tCisgcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL3ZlbmRvci92ZW5kb3Jf cnVzdC5weSAgICAgIHwgIDIgKy0KKyBweXRob24vbW96cmVsZWFzZS9tb3pyZWxlYXNlL3ZlcnNp b25zLnB5ICAgICAgICAgICAgfCAgMyArKy0KKyBweXRob24vbW96dmVyc2lvbmNvbnRyb2wvdGVz dC90ZXN0X2JyYW5jaC5weSAgICAgICAgfCAgMiArLQorIHRlc3RpbmcvbW96YmFzZS9tb3pjcmFz aC9tb3pjcmFzaC9tb3pjcmFzaC5weSAgICAgICB8ICAyICstCisgLi4uL3NjcmlwdHMvcmVsZWFz ZS91cGRhdGUtdmVyaWZ5LWNvbmZpZy1jcmVhdG9yLnB5IHwgIDIgKy0KKyA3IGZpbGVzIGNoYW5n ZWQsIDEwIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZG9t L2NhbnZhcy90ZXN0L3dlYmdsLWNvbmYvY2hlY2tvdXQvY2xvc3VyZS1saWJyYXJ5L2Nsb3N1cmUv YmluL2NhbGNkZXBzLnB5IGIvZG9tL2NhbnZhcy90ZXN0L3dlYmdsLWNvbmYvY2hlY2tvdXQvY2xv c3VyZS1saWJyYXJ5L2Nsb3N1cmUvYmluL2NhbGNkZXBzLnB5CitpbmRleCA5Y2IxYTZkYjA2MmU5 Li4zODc1NTg5NDE1MDYwIDEwMDc1NQorLS0tIGEvZG9tL2NhbnZhcy90ZXN0L3dlYmdsLWNvbmYv Y2hlY2tvdXQvY2xvc3VyZS1saWJyYXJ5L2Nsb3N1cmUvYmluL2NhbGNkZXBzLnB5CisrKysgYi9k b20vY2FudmFzL3Rlc3Qvd2ViZ2wtY29uZi9jaGVja291dC9jbG9zdXJlLWxpYnJhcnkvY2xvc3Vy ZS9iaW4vY2FsY2RlcHMucHkKK0BAIC0yNSwxNSArMjUsNyBAQAorIHJlcXVpcmVkIGZvciBjb21w aWxhdGlvbi4KKyAiIiIKKyAKKy0KKy0KKy0KKy0KKy10cnk6CistICBpbXBvcnQgZGlzdHV0aWxz LnZlcnNpb24KKy1leGNlcHQgSW1wb3J0RXJyb3I6CistICAjIGRpc3R1dGlscyBpcyBub3QgYXZh aWxhYmxlIGluIGFsbCBlbnZpcm9ubWVudHMKKy0gIGRpc3R1dGlscyA9IE5vbmUKKytmcm9tIGxv b3NldmVyc2lvbiBpbXBvcnQgTG9vc2VWZXJzaW9uCisgCisgaW1wb3J0IGxvZ2dpbmcKKyBpbXBv cnQgb3B0cGFyc2UKK0BAIC01NzQsOCArNTY2LDcgQEAgZGVmIG1haW4oKToKKyAgICAgICBzeXMu ZXhpdCgxKQorIAorICAgICAjIFVzZXIgZnJpZW5kbHkgdmVyc2lvbiBjaGVjay4KKy0gICAgaWYg ZGlzdHV0aWxzIGFuZCBub3QgKGRpc3R1dGlscy52ZXJzaW9uLkxvb3NlVmVyc2lvbihHZXRKYXZh VmVyc2lvbigpKSA+CistICAgICAgICBkaXN0dXRpbHMudmVyc2lvbi5Mb29zZVZlcnNpb24oJzEu NicpKToKKysgICAgaWYgbm90IExvb3NlVmVyc2lvbihHZXRKYXZhVmVyc2lvbigpKSA+IExvb3Nl VmVyc2lvbignMS42Jyk6CisgICAgICAgbG9nZ2luZy5lcnJvcignQ2xvc3VyZSBDb21waWxlciBy ZXF1aXJlcyBKYXZhIDEuNiBvciBoaWdoZXIuJykKKyAgICAgICBsb2dnaW5nLmVycm9yKCdQbGVh c2UgdmlzaXQgaHR0cDovL3d3dy5qYXZhLmNvbS9nZXRqYXZhJykKKyAgICAgICBzeXMuZXhpdCgx KQorZGlmZiAtLWdpdCBhL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC9jb25maWd1cmUvdXRpbC5w eSBiL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC9jb25maWd1cmUvdXRpbC5weQoraW5kZXggZmU2 ZjkwZjk2MDY2MS4uMzFhNmRhYTJlMWZkMSAxMDA2NDQKKy0tLSBhL3B5dGhvbi9tb3pidWlsZC9t b3pidWlsZC9jb25maWd1cmUvdXRpbC5weQorKysrIGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxk L2NvbmZpZ3VyZS91dGlsLnB5CitAQCAtMTQsNyArMTQsNyBAQAorIGltcG9ydCBzeXMKKyBmcm9t IGNvbGxlY3Rpb25zIGltcG9ydCBkZXF1ZQorIGZyb20gY29udGV4dGxpYiBpbXBvcnQgY29udGV4 dG1hbmFnZXIKKy1mcm9tIGRpc3R1dGlscy52ZXJzaW9uIGltcG9ydCBMb29zZVZlcnNpb24KKytm cm9tIGxvb3NldmVyc2lvbiBpbXBvcnQgTG9vc2VWZXJzaW9uCisgCisgCisgZGVmIGdldHByZWZl cnJlZGVuY29kaW5nKCk6CitAQCAtMzQsNyArMzQsNyBAQCBkZWYgZ2V0cHJlZmVycmVkZW5jb2Rp bmcoKToKKyAKKyAKKyBjbGFzcyBWZXJzaW9uKExvb3NlVmVyc2lvbik6CistICAgICIiIkEgc2lt cGxlIHN1YmNsYXNzIG9mIGRpc3R1dGlscy52ZXJzaW9uLkxvb3NlVmVyc2lvbi4KKysgICAgIiIi QSBzaW1wbGUgc3ViY2xhc3Mgb2YgbG9vc2V2ZXJzaW9uLkxvb3NlVmVyc2lvbi4KKyAgICAgQWRk cyBhdHRyaWJ1dGVzIGZvciBgbWFqb3JgLCBgbWlub3JgLCBgcGF0Y2hgIGZvciB0aGUgZmlyc3Qg dGhyZWUKKyAgICAgdmVyc2lvbiBjb21wb25lbnRzIHNvIHVzZXJzIGNhbiBlYXNpbHkgcHVsbCBv dXQgbWFqb3IvbWlub3IKKyAgICAgdmVyc2lvbnMsIGxpa2U6CitkaWZmIC0tZ2l0IGEvcHl0aG9u L21vemJ1aWxkL21vemJ1aWxkL3ZlbmRvci92ZW5kb3JfcnVzdC5weSBiL3B5dGhvbi9tb3pidWls ZC9tb3pidWlsZC92ZW5kb3IvdmVuZG9yX3J1c3QucHkKK2luZGV4IGRkZWYzMGIwNjQzMzkuLjI1 ZDFiOThmMGU2MWYgMTAwNjQ0CistLS0gYS9weXRob24vbW96YnVpbGQvbW96YnVpbGQvdmVuZG9y L3ZlbmRvcl9ydXN0LnB5CisrKysgYi9weXRob24vbW96YnVpbGQvbW96YnVpbGQvdmVuZG9yL3Zl bmRvcl9ydXN0LnB5CitAQCAtMTMsNyArMTMsNyBAQAorIGltcG9ydCByZQorIGltcG9ydCBzdWJw cm9jZXNzCisgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3QsIE9yZGVyZWREaWN0 CistZnJvbSBkaXN0dXRpbHMudmVyc2lvbiBpbXBvcnQgTG9vc2VWZXJzaW9uCisrZnJvbSBsb29z ZXZlcnNpb24gaW1wb3J0IExvb3NlVmVyc2lvbgorIGZyb20gaXRlcnRvb2xzIGltcG9ydCBkcm9w d2hpbGUKKyBmcm9tIG1vemJvb3QudXRpbCBpbXBvcnQgTUlOSU1VTV9SVVNUX1ZFUlNJT04KKyBm cm9tIHBhdGhsaWIgaW1wb3J0IFBhdGgKK2RpZmYgLS1naXQgYS9weXRob24vbW96cmVsZWFzZS9t b3pyZWxlYXNlL3ZlcnNpb25zLnB5IGIvcHl0aG9uL21venJlbGVhc2UvbW96cmVsZWFzZS92ZXJz aW9ucy5weQoraW5kZXggZDViZWMzMTNiZjk0OC4uNDE0MDU5ODA4OTQ1ZCAxMDA2NDQKKy0tLSBh L3B5dGhvbi9tb3pyZWxlYXNlL21venJlbGVhc2UvdmVyc2lvbnMucHkKKysrKyBiL3B5dGhvbi9t b3pyZWxlYXNlL21venJlbGVhc2UvdmVyc2lvbnMucHkKK0BAIC00LDcgKzQsOCBAQAorIAorIGZy b20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisgCistZnJvbSBkaXN0dXRpbHMu dmVyc2lvbiBpbXBvcnQgU3RyaWN0VmVyc2lvbiwgTG9vc2VWZXJzaW9uCisrZnJvbSBkaXN0dXRp bHMudmVyc2lvbiBpbXBvcnQgU3RyaWN0VmVyc2lvbgorK2Zyb20gbG9vc2V2ZXJzaW9uIGltcG9y dCBMb29zZVZlcnNpb24KKyBpbXBvcnQgcmUKKyAKKyAKK2RpZmYgLS1naXQgYS9weXRob24vbW96 dmVyc2lvbmNvbnRyb2wvdGVzdC90ZXN0X2JyYW5jaC5weSBiL3B5dGhvbi9tb3p2ZXJzaW9uY29u dHJvbC90ZXN0L3Rlc3RfYnJhbmNoLnB5CitpbmRleCBlYmQyMWIxNTQ0MjQ2Li45Mzg2MDNmOTZm YTc4IDEwMDY0NAorLS0tIGEvcHl0aG9uL21venZlcnNpb25jb250cm9sL3Rlc3QvdGVzdF9icmFu Y2gucHkKKysrKyBiL3B5dGhvbi9tb3p2ZXJzaW9uY29udHJvbC90ZXN0L3Rlc3RfYnJhbmNoLnB5 CitAQCAtMiw3ICsyLDcgQEAKKyAjIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBN UEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXMKKyAjIGZpbGUsIFlvdSBjYW4gb2J0YWlu IG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcvTVBMLzIuMC8uCisgCistZnJvbSBkaXN0dXRpbHMu dmVyc2lvbiBpbXBvcnQgTG9vc2VWZXJzaW9uCisrZnJvbSBsb29zZXZlcnNpb24gaW1wb3J0IExv b3NlVmVyc2lvbgorIAorIGltcG9ydCBtb3p1bml0CisgaW1wb3J0IHB5dGVzdAorZGlmZiAtLWdp dCBhL3Rlc3RpbmcvbW96YmFzZS9tb3pjcmFzaC9tb3pjcmFzaC9tb3pjcmFzaC5weSBiL3Rlc3Rp bmcvbW96YmFzZS9tb3pjcmFzaC9tb3pjcmFzaC9tb3pjcmFzaC5weQoraW5kZXggMThkMjc0MmEw Mjc0Yi4uMGQ5M2NkZDY4MTUzMiAxMDA2NDQKKy0tLSBhL3Rlc3RpbmcvbW96YmFzZS9tb3pjcmFz aC9tb3pjcmFzaC9tb3pjcmFzaC5weQorKysrIGIvdGVzdGluZy9tb3piYXNlL21vemNyYXNoL21v emNyYXNoL21vemNyYXNoLnB5CitAQCAtNDAwLDcgKzQwMCw3IEBAIGRlZiBfcHJvY2Vzc19kdW1w X2ZpbGUoc2VsZiwgcGF0aCwgZXh0cmEpOgorICAgICAgICAgICAgICMgRWl0aGVyIGBfYCBvciBg LWAgbWF5IGJlIHVzZWQgaW4gdGhlIG5hbWUsIHNvIGJlIGNhcmVmdWwgb2YgdGhhdAorICAgICAg ICAgICAgICMgKG5ld2VyIHZlcnNpb25zIHNob3VsZCB1c2UgYC1gKS4gT3RoZXJ3aXNlIHRoZSBh Y3R1YWwgdmVyc2lvbiBudW1iZXIKKyAgICAgICAgICAgICAjIGlzIHRoZSB1c3VhbCBgPG1ham9y Pi48bWlub3I+LjxwYXRjaD5gIHRoYXQgY2FuIGJlIHBhcnNlZCB3aXRoCistICAgICAgICAgICAg IyBgZGlzdHV0aWxzLnZlcnNpb24uTG9vc2VWZXJzaW9uYC4KKysgICAgICAgICAgICAjIGBsb29z ZXZlcnNpb24uTG9vc2VWZXJzaW9uYC4KKyAgICAgICAgICAgICBydXN0X21pbmlkdW1wID0gc3Rh Y2t3YWxrX3ZlcnNpb25fY2hlY2sucmV0dXJuY29kZSA9PSAwCisgCisgICAgICAgICAgICAgIyBO b3cgYnVpbGQgdXAgdGhlIGFjdHVhbCBjb21tYW5kCitkaWZmIC0tZ2l0IGEvdGVzdGluZy9tb3po YXJuZXNzL3NjcmlwdHMvcmVsZWFzZS91cGRhdGUtdmVyaWZ5LWNvbmZpZy1jcmVhdG9yLnB5IGIv dGVzdGluZy9tb3poYXJuZXNzL3NjcmlwdHMvcmVsZWFzZS91cGRhdGUtdmVyaWZ5LWNvbmZpZy1j cmVhdG9yLnB5CitpbmRleCBkODFkYmFmNWFjYzdjLi41M2IwNGZmYTI2ZTAwIDEwMDY0NAorLS0t IGEvdGVzdGluZy9tb3poYXJuZXNzL3NjcmlwdHMvcmVsZWFzZS91cGRhdGUtdmVyaWZ5LWNvbmZp Zy1jcmVhdG9yLnB5CisrKysgYi90ZXN0aW5nL21vemhhcm5lc3Mvc2NyaXB0cy9yZWxlYXNlL3Vw ZGF0ZS12ZXJpZnktY29uZmlnLWNyZWF0b3IucHkKK0BAIC0zLDcgKzMsNyBAQAorICMgZmlsZSwg WW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4KKyAKKyBm cm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24KKy1mcm9tIGRp c3R1dGlscy52ZXJzaW9uIGltcG9ydCBMb29zZVZlcnNpb24KKytmcm9tIGxvb3NldmVyc2lvbiBp bXBvcnQgTG9vc2VWZXJzaW9uCisgaW1wb3J0IGpzb24KKyBpbXBvcnQgbWF0aAorIGltcG9ydCBv cworCitGcm9tIDE4MzU4YTk2OGIyY2MyZjI0OWNlNGNhMjQ3ZWRlYTYxZDU2OTMyMTEgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBhaG9jaGhlaWRlbiA8YWhvY2hoZWlkZW5AbW96aWxs YS5jb20+CitEYXRlOiBGcmksIDI5IEp1bCAyMDIyIDAyOjAzOjM3ICswMDAwCitTdWJqZWN0OiBb UEFUQ0hdIEJ1ZyAxNzc3NDE0IC0gVmVuZG9yIHN0YW5kYWxvbmUgJ2xvb3NldmVyc2lvbicgYXQg dmVyc2lvbgorIDEuMC4xIHI9ZmlyZWZveC1idWlsZC1zeXN0ZW0tcmV2aWV3ZXJzLGdsYW5kaXVt CisKK1RoaXMgd2lsbCBiZSB1c2VkIHRvIHJlcGxhY2UgdGhlIGBMb29zZVZlcnNpb25gIHdpdGhp biBgZGlzdHV0aWxzYC4KK2BTdHJpY3RWZXJzaW9uYCBmcm9tIGBkaXN0dXRpbHNgIHdpbGwgbmVl ZCBzb21ldGhpbmcgZWxzZSwgYXMgc3dhcHBpbmcKK3VzYWdlcyBvZiBgU3RyaWN0VmVyc2lvbmAg d2l0aCBgTG9vc2VWZXJzaW9uYCBkb2VzIG5vdCByZXN1bHQgaW4gdGhlCitkZXNpcmVkIGJlaGF2 aW9yLgorCitEaWZmZXJlbnRpYWwgUmV2aXNpb246IGh0dHBzOi8vcGhhYnJpY2F0b3Iuc2Vydmlj ZXMubW96aWxsYS5jb20vRDE1MTA2MgorLS0tCisgcHl0aG9uL3NpdGVzL21hY2gudHh0ICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAxICsKKyAuLi4vbG9vc2V2ZXJzaW9uLTEuMC4xLmRpc3Qt aW5mby9MSUNFTlNFICAgICAgfCAgNDggKysrKysKKyAuLi4vbG9vc2V2ZXJzaW9uLTEuMC4xLmRp c3QtaW5mby9NRVRBREFUQSAgICAgfCAgNTYgKysrKysKKyAuLi4vbG9vc2V2ZXJzaW9uLTEuMC4x LmRpc3QtaW5mby9SRUNPUkQgICAgICAgfCAgIDYgKworIC4uLi9sb29zZXZlcnNpb24tMS4wLjEu ZGlzdC1pbmZvL1dIRUVMICAgICAgICB8ICAgNSArCisgLi4uL3RvcF9sZXZlbC50eHQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKKyAuLi4vcHl0aG9uL2xvb3NldmVyc2lvbi9s b29zZXZlcnNpb24ucHkgICAgICAgfCAyMDQgKysrKysrKysrKysrKysrKysrCisgdGhpcmRfcGFy dHkvcHl0aG9uL3BvZXRyeS5sb2NrICAgICAgICAgICAgICAgIHwgIDE0ICstCisgdGhpcmRfcGFy dHkvcHl0aG9uL3JlcXVpcmVtZW50cy5pbiAgICAgICAgICAgIHwgICAxICsKKyB0aGlyZF9wYXJ0 eS9weXRob24vcmVxdWlyZW1lbnRzLnR4dCAgICAgICAgICAgfCAgIDMgKworIDEwIGZpbGVzIGNo YW5nZWQsIDMzOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisgY3JlYXRlIG1vZGUgMTAw NjQ0IHRoaXJkX3BhcnR5L3B5dGhvbi9sb29zZXZlcnNpb24vbG9vc2V2ZXJzaW9uLTEuMC4xLmRp c3QtaW5mby9MSUNFTlNFCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHRoaXJkX3BhcnR5L3B5dGhvbi9s b29zZXZlcnNpb24vbG9vc2V2ZXJzaW9uLTEuMC4xLmRpc3QtaW5mby9NRVRBREFUQQorIGNyZWF0 ZSBtb2RlIDEwMDY0NCB0aGlyZF9wYXJ0eS9weXRob24vbG9vc2V2ZXJzaW9uL2xvb3NldmVyc2lv bi0xLjAuMS5kaXN0LWluZm8vUkVDT1JECisgY3JlYXRlIG1vZGUgMTAwNjQ0IHRoaXJkX3BhcnR5 L3B5dGhvbi9sb29zZXZlcnNpb24vbG9vc2V2ZXJzaW9uLTEuMC4xLmRpc3QtaW5mby9XSEVFTAor IGNyZWF0ZSBtb2RlIDEwMDY0NCB0aGlyZF9wYXJ0eS9weXRob24vbG9vc2V2ZXJzaW9uL2xvb3Nl dmVyc2lvbi0xLjAuMS5kaXN0LWluZm8vdG9wX2xldmVsLnR4dAorIGNyZWF0ZSBtb2RlIDEwMDY0 NCB0aGlyZF9wYXJ0eS9weXRob24vbG9vc2V2ZXJzaW9uL2xvb3NldmVyc2lvbi5weQorCitkaWZm IC0tZ2l0IGEvcHl0aG9uL3NpdGVzL21hY2gudHh0IGIvcHl0aG9uL3NpdGVzL21hY2gudHh0Citp bmRleCBlYmVmYzI0NmVhMTk2Li5kNWYzY2JkNWVlMDM3IDEwMDY0NAorLS0tIGEvcHl0aG9uL3Np dGVzL21hY2gudHh0CisrKysgYi9weXRob24vc2l0ZXMvbWFjaC50eHQKK0BAIC04NCw2ICs4NCw3 IEBAIHZlbmRvcmVkOnRoaXJkX3BhcnR5L3B5dGhvbi9KaW5qYTIKKyB2ZW5kb3JlZDp0aGlyZF9w YXJ0eS9weXRob24vanNtaW4KKyB2ZW5kb3JlZDp0aGlyZF9wYXJ0eS9weXRob24vanNvbi1lCisg dmVuZG9yZWQ6dGhpcmRfcGFydHkvcHl0aG9uL2pzb25zY2hlbWEKKyt2ZW5kb3JlZDp0aGlyZF9w YXJ0eS9weXRob24vbG9vc2V2ZXJzaW9uCisgdmVuZG9yZWQ6dGhpcmRfcGFydHkvcHl0aG9uL01h cmt1cFNhZmUvc3JjCisgdmVuZG9yZWQ6dGhpcmRfcGFydHkvcHl0aG9uL21vaGF3aworIHZlbmRv cmVkOnRoaXJkX3BhcnR5L3B5dGhvbi9tb3ppbGxhX3ZlcnNpb24KK2RpZmYgLS1naXQgYS90aGly ZF9wYXJ0eS9weXRob24vbG9vc2V2ZXJzaW9uL2xvb3NldmVyc2lvbi0xLjAuMS5kaXN0LWluZm8v TElDRU5TRSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9sb29zZXZlcnNpb24vbG9vc2V2ZXJzaW9uLTEu MC4xLmRpc3QtaW5mby9MSUNFTlNFCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MDAwMDAwMC4uYTliMjE5NmZkMTBiNworLS0tIC9kZXYvbnVsbAorKysrIGIvdGhpcmRfcGFydHkv cHl0aG9uL2xvb3NldmVyc2lvbi9sb29zZXZlcnNpb24tMS4wLjEuZGlzdC1pbmZvL0xJQ0VOU0UK K0BAIC0wLDAgKzEsNDggQEAKKytQWVRIT04gU09GVFdBUkUgRk9VTkRBVElPTiBMSUNFTlNFIFZF UlNJT04gMgorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisr CisrMS4gVGhpcyBMSUNFTlNFIEFHUkVFTUVOVCBpcyBiZXR3ZWVuIHRoZSBQeXRob24gU29mdHdh cmUgRm91bmRhdGlvbgorKygiUFNGIiksIGFuZCB0aGUgSW5kaXZpZHVhbCBvciBPcmdhbml6YXRp b24gKCJMaWNlbnNlZSIpIGFjY2Vzc2luZyBhbmQKKytvdGhlcndpc2UgdXNpbmcgdGhpcyBzb2Z0 d2FyZSAoIlB5dGhvbiIpIGluIHNvdXJjZSBvciBiaW5hcnkgZm9ybSBhbmQKKytpdHMgYXNzb2Np YXRlZCBkb2N1bWVudGF0aW9uLgorKworKzIuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25k aXRpb25zIG9mIHRoaXMgTGljZW5zZSBBZ3JlZW1lbnQsIFBTRiBoZXJlYnkKKytncmFudHMgTGlj ZW5zZWUgYSBub25leGNsdXNpdmUsIHJveWFsdHktZnJlZSwgd29ybGQtd2lkZSBsaWNlbnNlIHRv IHJlcHJvZHVjZSwKKythbmFseXplLCB0ZXN0LCBwZXJmb3JtIGFuZC9vciBkaXNwbGF5IHB1Ymxp Y2x5LCBwcmVwYXJlIGRlcml2YXRpdmUgd29ya3MsCisrZGlzdHJpYnV0ZSwgYW5kIG90aGVyd2lz ZSB1c2UgUHl0aG9uIGFsb25lIG9yIGluIGFueSBkZXJpdmF0aXZlIHZlcnNpb24sCisrcHJvdmlk ZWQsIGhvd2V2ZXIsIHRoYXQgUFNGJ3MgTGljZW5zZSBBZ3JlZW1lbnQgYW5kIFBTRidzIG5vdGlj ZSBvZiBjb3B5cmlnaHQsCisraS5lLiwgIkNvcHlyaWdodCAoYykgMjAwMSwgMjAwMiwgMjAwMywg MjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwKKysyMDExLCAyMDEyLCAy MDEzLCAyMDE0LCAyMDE1LCAyMDE2LCAyMDE3LCAyMDE4LCAyMDE5LCAyMDIwLCAyMDIxLCAyMDIy IFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uOworK0FsbCBSaWdodHMgUmVzZXJ2ZWQiIGFyZSBy ZXRhaW5lZCBpbiBQeXRob24gYWxvbmUgb3IgaW4gYW55IGRlcml2YXRpdmUgdmVyc2lvbgorK3By ZXBhcmVkIGJ5IExpY2Vuc2VlLgorKworKzMuIEluIHRoZSBldmVudCBMaWNlbnNlZSBwcmVwYXJl cyBhIGRlcml2YXRpdmUgd29yayB0aGF0IGlzIGJhc2VkIG9uCisrb3IgaW5jb3Jwb3JhdGVzIFB5 dGhvbiBvciBhbnkgcGFydCB0aGVyZW9mLCBhbmQgd2FudHMgdG8gbWFrZQorK3RoZSBkZXJpdmF0 aXZlIHdvcmsgYXZhaWxhYmxlIHRvIG90aGVycyBhcyBwcm92aWRlZCBoZXJlaW4sIHRoZW4KKytM aWNlbnNlZSBoZXJlYnkgYWdyZWVzIHRvIGluY2x1ZGUgaW4gYW55IHN1Y2ggd29yayBhIGJyaWVm IHN1bW1hcnkgb2YKKyt0aGUgY2hhbmdlcyBtYWRlIHRvIFB5dGhvbi4KKysKKys0LiBQU0YgaXMg bWFraW5nIFB5dGhvbiBhdmFpbGFibGUgdG8gTGljZW5zZWUgb24gYW4gIkFTIElTIgorK2Jhc2lz LiAgUFNGIE1BS0VTIE5PIFJFUFJFU0VOVEFUSU9OUyBPUiBXQVJSQU5USUVTLCBFWFBSRVNTIE9S CisrSU1QTElFRC4gIEJZIFdBWSBPRiBFWEFNUExFLCBCVVQgTk9UIExJTUlUQVRJT04sIFBTRiBN QUtFUyBOTyBBTkQKKytESVNDTEFJTVMgQU5ZIFJFUFJFU0VOVEFUSU9OIE9SIFdBUlJBTlRZIE9G IE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTCisrRk9SIEFOWSBQQVJUSUNVTEFSIFBVUlBPU0Ug T1IgVEhBVCBUSEUgVVNFIE9GIFBZVEhPTiBXSUxMIE5PVAorK0lORlJJTkdFIEFOWSBUSElSRCBQ QVJUWSBSSUdIVFMuCisrCisrNS4gUFNGIFNIQUxMIE5PVCBCRSBMSUFCTEUgVE8gTElDRU5TRUUg T1IgQU5ZIE9USEVSIFVTRVJTIE9GIFBZVEhPTgorK0ZPUiBBTlkgSU5DSURFTlRBTCwgU1BFQ0lB TCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIExPU1MgQVMKKytBIFJFU1VMVCBPRiBNT0RJ RllJTkcsIERJU1RSSUJVVElORywgT1IgT1RIRVJXSVNFIFVTSU5HIFBZVEhPTiwKKytPUiBBTlkg REVSSVZBVElWRSBUSEVSRU9GLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIFRI RVJFT0YuCisrCisrNi4gVGhpcyBMaWNlbnNlIEFncmVlbWVudCB3aWxsIGF1dG9tYXRpY2FsbHkg dGVybWluYXRlIHVwb24gYSBtYXRlcmlhbAorK2JyZWFjaCBvZiBpdHMgdGVybXMgYW5kIGNvbmRp dGlvbnMuCisrCisrNy4gTm90aGluZyBpbiB0aGlzIExpY2Vuc2UgQWdyZWVtZW50IHNoYWxsIGJl IGRlZW1lZCB0byBjcmVhdGUgYW55CisrcmVsYXRpb25zaGlwIG9mIGFnZW5jeSwgcGFydG5lcnNo aXAsIG9yIGpvaW50IHZlbnR1cmUgYmV0d2VlbiBQU0YgYW5kCisrTGljZW5zZWUuICBUaGlzIExp Y2Vuc2UgQWdyZWVtZW50IGRvZXMgbm90IGdyYW50IHBlcm1pc3Npb24gdG8gdXNlIFBTRgorK3Ry YWRlbWFya3Mgb3IgdHJhZGUgbmFtZSBpbiBhIHRyYWRlbWFyayBzZW5zZSB0byBlbmRvcnNlIG9y IHByb21vdGUKKytwcm9kdWN0cyBvciBzZXJ2aWNlcyBvZiBMaWNlbnNlZSwgb3IgYW55IHRoaXJk IHBhcnR5LgorKworKzguIEJ5IGNvcHlpbmcsIGluc3RhbGxpbmcgb3Igb3RoZXJ3aXNlIHVzaW5n IFB5dGhvbiwgTGljZW5zZWUKKythZ3JlZXMgdG8gYmUgYm91bmQgYnkgdGhlIHRlcm1zIGFuZCBj b25kaXRpb25zIG9mIHRoaXMgTGljZW5zZQorK0FncmVlbWVudC4KK2RpZmYgLS1naXQgYS90aGly ZF9wYXJ0eS9weXRob24vbG9vc2V2ZXJzaW9uL2xvb3NldmVyc2lvbi0xLjAuMS5kaXN0LWluZm8v TUVUQURBVEEgYi90aGlyZF9wYXJ0eS9weXRob24vbG9vc2V2ZXJzaW9uL2xvb3NldmVyc2lvbi0x LjAuMS5kaXN0LWluZm8vTUVUQURBVEEKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwMDAwLi4yYmE5ZjI2NWQwNDU5CistLS0gL2Rldi9udWxsCisrKysgYi90aGlyZF9wYXJ0 eS9weXRob24vbG9vc2V2ZXJzaW9uL2xvb3NldmVyc2lvbi0xLjAuMS5kaXN0LWluZm8vTUVUQURB VEEKK0BAIC0wLDAgKzEsNTYgQEAKKytNZXRhZGF0YS1WZXJzaW9uOiAyLjEKKytOYW1lOiBsb29z ZXZlcnNpb24KKytWZXJzaW9uOiAxLjAuMQorK1N1bW1hcnk6IFZlcnNpb24gbnVtYmVyaW5nIGZv ciBhbmFyY2hpc3RzIGFuZCBzb2Z0d2FyZSByZWFsaXN0cworK0hvbWUtcGFnZTogaHR0cHM6Ly9n aXRodWIuY29tL2VmZmlnaWVzL2xvb3NldmVyc2lvbgorK0F1dGhvcjogQ2hyaXMgTWFya2lld2lj egorK0F1dGhvci1lbWFpbDogZWZmaWdpZXNAZ21haWwuY29tCisrTGljZW5zZTogUFNGLTIuMAor K0NsYXNzaWZpZXI6IFByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzCisrQ2xhc3Np ZmllcjogRGV2ZWxvcG1lbnQgU3RhdHVzIDo6IDYgLSBNYXR1cmUKKytDbGFzc2lmaWVyOiBMaWNl bnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbiBMaWNlbnNl CisrUmVxdWlyZXMtUHl0aG9uOiA+PTMKKytEZXNjcmlwdGlvbi1Db250ZW50LVR5cGU6IHRleHQv bWFya2Rvd24KKytMaWNlbnNlLUZpbGU6IExJQ0VOU0UKKysKKysjIGxvb3NldmVyc2lvbiAtIFZl cnNpb24gbnVtYmVyaW5nIGZvciBhbmFyY2hpc3RzIGFuZCBzb2Z0d2FyZSByZWFsaXN0cworKwor K0EgYmFja3dhcmRzL2ZvcndhcmRzLWNvbXBhdGlibGUgZm9yayBvZiBgZGlzdHV0aWxzLnZlcnNp b24uTG9vc2VWZXJzaW9uYCwKKytmb3IgdGltZXMgd2hlbiBQRVAtNDQwIGlzbid0IHdoYXQgeW91 IG5lZWQuCisrCisrVGhlIGdvYWwgb2YgdGhpcyBwYWNrYWdlIGlzIHRvIGJlIGEgZHJvcC1pbiBy ZXBsYWNlbWVudCBmb3IgdGhlIG9yaWdpbmFsIGBMb29zZVZlcnNpb25gLgorK0l0IGltcGxlbWVu dHMgYW4gaWRlbnRpY2FsIGludGVyZmFjZSBhbmQgY29tcGFyaXNvbiBsb2dpYyB0byBgTG9vc2VW ZXJzaW9uYC4KKytUaGUgb25seSBtYWpvciBjaGFuZ2UgaXMgdGhhdCBhIGBsb29zZXZlcnNpb24u TG9vc2VWZXJzaW9uYCBpcyBjb21wYXJhYmxlIHRvIGEKKytgZGlzdHV0aWxzLnZlcnNpb24uTG9v c2VWZXJzaW9uYCwgd2hpY2ggbWVhbnMgdG9vbHMgc2hvdWxkIG5vdCBuZWVkIHRvIHdvcnJ5IHdo ZXRoZXIKKythbGwgZGVwZW5kZW5jaWVzIHRoYXQgdXNlIExvb3NlVmVyc2lvbiBoYXZlIG1pZ3Jh dGVkLgorKworK0lmIHlvdSBhcmUgc2ltcGx5IGNvbXBhcmluZyB2ZXJzaW9ucyBvZiBQeXRob24g cGFja2FnZXMsIGNvbnNpZGVyIG1vdmluZyB0bworK1twYWNrYWdpbmcudmVyc2lvbi5WZXJzaW9u XShodHRwczovL3BhY2thZ2luZy5weXBhLmlvL2VuL2xhdGVzdC92ZXJzaW9uLmh0bWwjcGFja2Fn aW5nLnZlcnNpb24uVmVyc2lvbiksCisrd2hpY2ggZm9sbG93cyBbUEVQLTQ0MF0oaHR0cHM6Ly9w ZXBzLnB5dGhvbi5vcmcvcGVwLTA0NDApLgorK2BMb29zZVZlcnNpb25gIGlzIGJldHRlciBzdWl0 ZWQgdG8gaW50ZXJhY3Rpbmcgd2l0aCBoZXRlcm9nZW5lb3VzIHZlcnNpb24gc2NoZW1lcyB0aGF0 CisrZG8gbm90IGZvbGxvdyBQRVAtNDQwLgorKworKyMjIEluc3RhbGxhdGlvbgorKworKyMjIyBG cm9tIFB5UEkKKysKKytgYGAKKytwaXAgaW5zdGFsbCBsb29zZXZlcnNpb24KKytgYGAKKysKKysj IyMgRnJvbSBzb3VyY2UKKysKKytgYGAKKytnaXQgY2xvbmUgaHR0cHM6Ly9naXRodWIuY29tL2Vm ZmlnaWVzL2xvb3NldmVyc2lvbi5naXQKKytwaXAgaW5zdGFsbCBsb29zZXZlcnNpb24vCisrYGBg CisrCisrIyMgVXNhZ2UKKysKKytgYGBQeXRob24KKys+Pj4gZnJvbSBsb29zZXZlcnNpb24gaW1w b3J0IExvb3NlVmVyc2lvbgorKz4+PiBMb29zZVZlcnNpb24oIjEuMC4wIikgPCBMb29zZVZlcnNp b24oIjIuMC4wIikKKytUcnVlCisrPj4+IExvb3NlVmVyc2lvbigiMS4wLjAiKSA8ICIyIgorK1Ry dWUKKytgYGAKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24vbG9vc2V2ZXJzaW9uL2xv b3NldmVyc2lvbi0xLjAuMS5kaXN0LWluZm8vUkVDT1JEIGIvdGhpcmRfcGFydHkvcHl0aG9uL2xv b3NldmVyc2lvbi9sb29zZXZlcnNpb24tMS4wLjEuZGlzdC1pbmZvL1JFQ09SRAorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwMDAuLjhjZGFlNjA3YjkzMDYKKy0tLSAvZGV2 L251bGwKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9sb29zZXZlcnNpb24vbG9vc2V2ZXJzaW9u LTEuMC4xLmRpc3QtaW5mby9SRUNPUkQKK0BAIC0wLDAgKzEsNiBAQAorK2xvb3NldmVyc2lvbi5w eSxzaGEyNTY9WmNUbkx2TVBkeDN5VkdiZ2NhVXV3SzMtczQwUWthT1IwX3VzRl9WYnJIVSw4MDI5 CisrbG9vc2V2ZXJzaW9uLTEuMC4xLmRpc3QtaW5mby9MSUNFTlNFLHNoYTI1Nj05UGdNbUJZZlZq SUFUVVJ4TzF5NVhrQUJSYlFNdkFLWDhmVU1KN1ZMNzlzLDI0OTAKKytsb29zZXZlcnNpb24tMS4w LjEuZGlzdC1pbmZvL01FVEFEQVRBLHNoYTI1Nj0tYzQ4ZmVTS3NHR3lMT1dhV1FmUE5NYXdoQTZP R0tOb3k1UGpVaExsQ2s4LDE3NTcKKytsb29zZXZlcnNpb24tMS4wLjEuZGlzdC1pbmZvL1dIRUVM LHNoYTI1Nj1HMTZINEEzSWVvUW1uT3JZVjR1ZVpHS1NqaGlwWHg4emM4bnU5Rkdsdk1BLDkyCisr bG9vc2V2ZXJzaW9uLTEuMC4xLmRpc3QtaW5mby90b3BfbGV2ZWwudHh0LHNoYTI1Nj1nWnNIOEFV bENGcU9FcEtEX2ZveUNVQjJ1S2FvNWVQd2pNcVdXTzdocG9NLDEzCisrbG9vc2V2ZXJzaW9uLTEu MC4xLmRpc3QtaW5mby9SRUNPUkQsLAorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3B5dGhvbi9s b29zZXZlcnNpb24vbG9vc2V2ZXJzaW9uLTEuMC4xLmRpc3QtaW5mby9XSEVFTCBiL3RoaXJkX3Bh cnR5L3B5dGhvbi9sb29zZXZlcnNpb24vbG9vc2V2ZXJzaW9uLTEuMC4xLmRpc3QtaW5mby9XSEVF TAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwMDAuLmJlY2M5YTY2ZWE3 MzkKKy0tLSAvZGV2L251bGwKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9sb29zZXZlcnNpb24v bG9vc2V2ZXJzaW9uLTEuMC4xLmRpc3QtaW5mby9XSEVFTAorQEAgLTAsMCArMSw1IEBACisrV2hl ZWwtVmVyc2lvbjogMS4wCisrR2VuZXJhdG9yOiBiZGlzdF93aGVlbCAoMC4zNy4xKQorK1Jvb3Qt SXMtUHVyZWxpYjogdHJ1ZQorK1RhZzogcHkzLW5vbmUtYW55CisrCitkaWZmIC0tZ2l0IGEvdGhp cmRfcGFydHkvcHl0aG9uL2xvb3NldmVyc2lvbi9sb29zZXZlcnNpb24tMS4wLjEuZGlzdC1pbmZv L3RvcF9sZXZlbC50eHQgYi90aGlyZF9wYXJ0eS9weXRob24vbG9vc2V2ZXJzaW9uL2xvb3NldmVy c2lvbi0xLjAuMS5kaXN0LWluZm8vdG9wX2xldmVsLnR4dAorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwMDAwMDAuLmMwODIwMjEwNGQ1NjkKKy0tLSAvZGV2L251bGwKKysrKyBi L3RoaXJkX3BhcnR5L3B5dGhvbi9sb29zZXZlcnNpb24vbG9vc2V2ZXJzaW9uLTEuMC4xLmRpc3Qt aW5mby90b3BfbGV2ZWwudHh0CitAQCAtMCwwICsxIEBACisrbG9vc2V2ZXJzaW9uCitkaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvcHl0aG9uL2xvb3NldmVyc2lvbi9sb29zZXZlcnNpb24ucHkgYi90 aGlyZF9wYXJ0eS9weXRob24vbG9vc2V2ZXJzaW9uL2xvb3NldmVyc2lvbi5weQorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwMDAuLmM3NWJkZjM4NzhlNzMKKy0tLSAvZGV2 L251bGwKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9sb29zZXZlcnNpb24vbG9vc2V2ZXJzaW9u LnB5CitAQCAtMCwwICsxLDIwNCBAQAorKyIiIlByb3ZpZGVzIGNsYXNzZXMgdG8gcmVwcmVzZW50 IG1vZHVsZSB2ZXJzaW9uIG51bWJlcnMgKG9uZSBjbGFzcyBmb3IKKytlYWNoIHN0eWxlIG9mIHZl cnNpb24gbnVtYmVyaW5nKS4gIFRoZXJlIGFyZSBjdXJyZW50bHkgdHdvIHN1Y2ggY2xhc3Nlcwor K2ltcGxlbWVudGVkOiBTdHJpY3RWZXJzaW9uIGFuZCBMb29zZVZlcnNpb24uCisrCisrRXZlcnkg dmVyc2lvbiBudW1iZXIgY2xhc3MgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIGludGVyZmFjZToK KysgICogdGhlICdwYXJzZScgbWV0aG9kIHRha2VzIGEgc3RyaW5nIGFuZCBwYXJzZXMgaXQgdG8g c29tZSBpbnRlcm5hbAorKyAgICByZXByZXNlbnRhdGlvbjsgaWYgdGhlIHN0cmluZyBpcyBhbiBp bnZhbGlkIHZlcnNpb24gbnVtYmVyLAorKyAgICAncGFyc2UnIHJhaXNlcyBhIFZhbHVlRXJyb3Ig ZXhjZXB0aW9uCisrICAqIHRoZSBjbGFzcyBjb25zdHJ1Y3RvciB0YWtlcyBhbiBvcHRpb25hbCBz dHJpbmcgYXJndW1lbnQgd2hpY2gsCisrICAgIGlmIHN1cHBsaWVkLCBpcyBwYXNzZWQgdG8gJ3Bh cnNlJworKyAgKiBfX3N0cl9fIHJlY29uc3RydWN0cyB0aGUgc3RyaW5nIHRoYXQgd2FzIHBhc3Nl ZCB0byAncGFyc2UnIChvcgorKyAgICBhbiBlcXVpdmFsZW50IHN0cmluZyAtLSBpZS4gb25lIHRo YXQgd2lsbCBnZW5lcmF0ZSBhbiBlcXVpdmFsZW50CisrICAgIHZlcnNpb24gbnVtYmVyIGluc3Rh bmNlKQorKyAgKiBfX3JlcHJfXyBnZW5lcmF0ZXMgUHl0aG9uIGNvZGUgdG8gcmVjcmVhdGUgdGhl IHZlcnNpb24gbnVtYmVyIGluc3RhbmNlCisrICAqIF9jbXAgY29tcGFyZXMgdGhlIGN1cnJlbnQg aW5zdGFuY2Ugd2l0aCBlaXRoZXIgYW5vdGhlciBpbnN0YW5jZQorKyAgICBvZiB0aGUgc2FtZSBj bGFzcyBvciBhIHN0cmluZyAod2hpY2ggd2lsbCBiZSBwYXJzZWQgdG8gYW4gaW5zdGFuY2UKKysg ICAgb2YgdGhlIHNhbWUgY2xhc3MsIHRodXMgbXVzdCBmb2xsb3cgdGhlIHNhbWUgcnVsZXMpCisr IiIiCisrCisraW1wb3J0IHN5cworK2ltcG9ydCByZQorKworKworKyMgVGhlIHJ1bGVzIGFjY29y ZGluZyB0byBHcmVnIFN0ZWluOgorKyMgMSkgYSB2ZXJzaW9uIG51bWJlciBoYXMgMSBvciBtb3Jl IG51bWJlcnMgc2VwYXJhdGVkIGJ5IGEgcGVyaW9kIG9yIGJ5CisrIyAgICBzZXF1ZW5jZXMgb2Yg bGV0dGVycy4gSWYgb25seSBwZXJpb2RzLCB0aGVuIHRoZXNlIGFyZSBjb21wYXJlZAorKyMgICAg bGVmdC10by1yaWdodCB0byBkZXRlcm1pbmUgYW4gb3JkZXJpbmcuCisrIyAyKSBzZXF1ZW5jZXMg b2YgbGV0dGVycyBhcmUgcGFydCBvZiB0aGUgdHVwbGUgZm9yIGNvbXBhcmlzb24gYW5kIGFyZQor KyMgICAgY29tcGFyZWQgbGV4aWNvZ3JhcGhpY2FsbHkKKysjIDMpIHJlY29nbml6ZSB0aGUgbnVt ZXJpYyBjb21wb25lbnRzIG1heSBoYXZlIGxlYWRpbmcgemVyb2VzCisrIworKyMgVGhlIExvb3Nl VmVyc2lvbiBjbGFzcyBiZWxvdyBpbXBsZW1lbnRzIHRoZXNlIHJ1bGVzOiBhIHZlcnNpb24gbnVt YmVyCisrIyBzdHJpbmcgaXMgc3BsaXQgdXAgaW50byBhIHR1cGxlIG9mIGludGVnZXIgYW5kIHN0 cmluZyBjb21wb25lbnRzLCBhbmQKKysjIGNvbXBhcmlzb24gaXMgYSBzaW1wbGUgdHVwbGUgY29t cGFyaXNvbi4gIFRoaXMgbWVhbnMgdGhhdCB2ZXJzaW9uCisrIyBudW1iZXJzIGJlaGF2ZSBpbiBh IHByZWRpY3RhYmxlIGFuZCBvYnZpb3VzIHdheSwgYnV0IGEgd2F5IHRoYXQgbWlnaHQKKysjIG5v dCBuZWNlc3NhcmlseSBiZSBob3cgcGVvcGxlICp3YW50KiB2ZXJzaW9uIG51bWJlcnMgdG8gYmVo YXZlLiAgVGhlcmUKKysjIHdvdWxkbid0IGJlIGEgcHJvYmxlbSBpZiBwZW9wbGUgY291bGQgc3Rp Y2sgdG8gcHVyZWx5IG51bWVyaWMgdmVyc2lvbgorKyMgbnVtYmVyczoganVzdCBzcGxpdCBvbiBw ZXJpb2QgYW5kIGNvbXBhcmUgdGhlIG51bWJlcnMgYXMgdHVwbGVzLgorKyMgSG93ZXZlciwgcGVv cGxlIGluc2lzdCBvbiBwdXR0aW5nIGxldHRlcnMgaW50byB0aGVpciB2ZXJzaW9uIG51bWJlcnM7 CisrIyB0aGUgbW9zdCBjb21tb24gcHVycG9zZSBzZWVtcyB0byBiZToKKysjICAgLSBpbmRpY2F0 aW5nIGEgInByZS1yZWxlYXNlIiB2ZXJzaW9uCisrIyAgICAgKCdhbHBoYScsICdiZXRhJywgJ2En LCAnYicsICdwcmUnLCAncCcpCisrIyAgIC0gaW5kaWNhdGluZyBhIHBvc3QtcmVsZWFzZSBwYXRj aCAoJ3AnLCAncGwnLCAncGF0Y2gnKQorKyMgYnV0IG9mIGNvdXJzZSB0aGlzIGNhbid0IGNvdmVy IGFsbCB2ZXJzaW9uIG51bWJlciBzY2hlbWVzLCBhbmQgdGhlcmUncworKyMgbm8gd2F5IHRvIGtu b3cgd2hhdCBhIHByb2dyYW1tZXIgbWVhbnMgd2l0aG91dCBhc2tpbmcgaGltLgorKyMKKysjIFRo ZSBwcm9ibGVtIGlzIHdoYXQgdG8gZG8gd2l0aCBsZXR0ZXJzIChhbmQgb3RoZXIgbm9uLW51bWVy aWMKKysjIGNoYXJhY3RlcnMpIGluIGEgdmVyc2lvbiBudW1iZXIuICBUaGUgY3VycmVudCBpbXBs ZW1lbnRhdGlvbiBkb2VzIHRoZQorKyMgb2J2aW91cyBhbmQgcHJlZGljdGFibGUgdGhpbmc6IGtl ZXAgdGhlbSBhcyBzdHJpbmdzIGFuZCBjb21wYXJlCisrIyBsZXhpY2FsbHkgd2l0aGluIGEgdHVw bGUgY29tcGFyaXNvbi4gIFRoaXMgaGFzIHRoZSBkZXNpcmVkIGVmZmVjdCBpZgorKyMgYW4gYXBw ZW5kZWQgbGV0dGVyIHNlcXVlbmNlIGltcGxpZXMgc29tZXRoaW5nICJwb3N0LXJlbGVhc2UiOgor KyMgZWcuICIwLjk5IiA8ICIwLjk5cGwxNCIgPCAiMS4wIiwgYW5kICI1LjAwMSIgPCAiNS4wMDFt IiA8ICI1LjAwMiIuCisrIworKyMgSG93ZXZlciwgaWYgbGV0dGVycyBpbiBhIHZlcnNpb24gbnVt YmVyIGltcGx5IGEgcHJlLXJlbGVhc2UgdmVyc2lvbiwKKysjIHRoZSAib2J2aW91cyIgdGhpbmcg aXNuJ3QgY29ycmVjdC4gIEVnLiB5b3Ugd291bGQgZXhwZWN0IHRoYXQKKysjICIxLjUuMSIgPCAi MS41LjJhMiIgPCAiMS41LjIiLCBidXQgdW5kZXIgdGhlIHR1cGxlL2xleGljYWwgY29tcGFyaXNv bgorKyMgaW1wbGVtZW50ZWQgaGVyZSwgdGhpcyBqdXN0IGlzbid0IHNvLgorKyMKKysjIFR3byBw b3NzaWJsZSBzb2x1dGlvbnMgY29tZSB0byBtaW5kLiAgVGhlIGZpcnN0IGlzIHRvIHRpZSB0aGUK KysjIGNvbXBhcmlzb24gYWxnb3JpdGhtIHRvIGEgcGFydGljdWxhciBzZXQgb2Ygc2VtYW50aWMg cnVsZXMsIGFzIGhhcworKyMgYmVlbiBkb25lIGluIHRoZSBTdHJpY3RWZXJzaW9uIGNsYXNzIGFi b3ZlLiAgVGhpcyB3b3JrcyBncmVhdCBhcyBsb25nCisrIyBhcyBldmVyeW9uZSBjYW4gZ28gYWxv bmcgd2l0aCBib25kYWdlIGFuZCBkaXNjaXBsaW5lLiAgSG9wZWZ1bGx5IGEKKysjIChsYXJnZSkg c3Vic2V0IG9mIFB5dGhvbiBtb2R1bGUgcHJvZ3JhbW1lcnMgd2lsbCBhZ3JlZSB0aGF0IHRoZQor KyMgcGFydGljdWxhciBmbGF2b3VyIG9mIGJvbmRhZ2UgYW5kIGRpc2NpcGxpbmUgcHJvdmlkZWQg YnkgU3RyaWN0VmVyc2lvbgorKyMgcHJvdmlkZXMgZW5vdWdoIGJlbmVmaXQgdG8gYmUgd29ydGgg dXNpbmcsIGFuZCB3aWxsIHN1Ym1pdCB0aGVpcgorKyMgdmVyc2lvbiBudW1iZXJpbmcgc2NoZW1l IHRvIGl0cyBkb21pbmF0aW9uLiAgVGhlIGZyZWUtdGhpbmtpbmcKKysjIGFuYXJjaGlzdHMgaW4g dGhlIGxvdCB3aWxsIG5ldmVyIGdpdmUgaW4sIHRob3VnaCwgYW5kIHNvbWV0aGluZyBuZWVkcwor KyMgdG8gYmUgZG9uZSB0byBhY2NvbW1vZGF0ZSB0aGVtLgorKyMKKysjIFBlcmhhcHMgYSAibW9k ZXJhdGVseSBzdHJpY3QiIHZlcnNpb24gY2xhc3MgY291bGQgYmUgaW1wbGVtZW50ZWQgdGhhdAor KyMgbGV0cyBhbG1vc3QgYW55dGhpbmcgc2xpZGUgKHN5bnRhY3RpY2FsbHkpLCBhbmQgbWFrZXMg c29tZSBoZXVyaXN0aWMKKysjIGFzc3VtcHRpb25zIGFib3V0IG5vbi1kaWdpdHMgaW4gdmVyc2lv biBudW1iZXIgc3RyaW5ncy4gIFRoaXMgY291bGQKKysjIHNpbmsgaW50byBzcGVjaWFsLWNhc2Ut aGVsbCwgdGhvdWdoOyBpZiBJIHdhcyBhcyB0YWxlbnRlZCBhbmQKKysjIGlkaW9zeW5jcmF0aWMg YXMgTGFycnkgV2FsbCwgSSdkIGdvIGFoZWFkIGFuZCBpbXBsZW1lbnQgYSBjbGFzcyB0aGF0Cisr IyBzb21laG93IGtub3dzIHRoYXQgIjEuMi4xIiA8ICIxLjIuMmEyIiA8ICIxLjIuMiIgPCAiMS4y LjJwbDMiLCBhbmQgaXMKKysjIGp1c3QgYXMgaGFwcHkgZGVhbGluZyB3aXRoIHRoaW5ncyBsaWtl ICIyZzYiIGFuZCAiMS4xMysrIi4gIEkgZG9uJ3QKKysjIHRoaW5rIEknbSBzbWFydCBlbm91Z2gg dG8gZG8gaXQgcmlnaHQgdGhvdWdoLgorKyMKKysjIEluIGFueSBjYXNlLCBJJ3ZlIGNvZGVkIHRo ZSB0ZXN0IHN1aXRlIGZvciB0aGlzIG1vZHVsZSAoc2VlCisrIyAuLi90ZXN0L3Rlc3RfdmVyc2lv bi5weSkgc3BlY2lmaWNhbGx5IHRvIGZhaWwgb24gdGhpbmdzIGxpa2UgY29tcGFyaW5nCisrIyAi MS4yYTIiIGFuZCAiMS4yIi4gIFRoYXQncyBub3QgYmVjYXVzZSB0aGUgKmNvZGUqIGlzIGRvaW5n IGFueXRoaW5nCisrIyB3cm9uZywgaXQncyBiZWNhdXNlIHRoZSBzaW1wbGUsIG9idmlvdXMgZGVz aWduIGRvZXNuJ3QgbWF0Y2ggbXkKKysjIGNvbXBsaWNhdGVkLCBoYWlyeSBleHBlY3RhdGlvbnMg Zm9yIHJlYWwtd29ybGQgdmVyc2lvbiBudW1iZXJzLiAgSXQKKysjIHdvdWxkIGJlIGEgc25hcCB0 byBmaXggdGhlIHRlc3Qgc3VpdGUgdG8gc2F5LCAiWWVwLCBMb29zZVZlcnNpb24gZG9lcworKyMg dGhlIFJpZ2h0IFRoaW5nIiAoaWUuIHRoZSBjb2RlIG1hdGNoZXMgdGhlIGNvbmNlcHRpb24pLiAg QnV0IEknZCByYXRoZXIKKysjIGhhdmUgYSBjb25jZXB0aW9uIHRoYXQgbWF0Y2hlcyBjb21tb24g bm90aW9ucyBhYm91dCB2ZXJzaW9uIG51bWJlcnMuCisrCisrCisrY2xhc3MgTG9vc2VWZXJzaW9u OgorKworKyAgICAiIiJWZXJzaW9uIG51bWJlcmluZyBmb3IgYW5hcmNoaXN0cyBhbmQgc29mdHdh cmUgcmVhbGlzdHMuCisrICAgIEltcGxlbWVudHMgdGhlIHN0YW5kYXJkIGludGVyZmFjZSBmb3Ig dmVyc2lvbiBudW1iZXIgY2xhc3NlcyBhcworKyAgICBkZXNjcmliZWQgYWJvdmUuICBBIHZlcnNp b24gbnVtYmVyIGNvbnNpc3RzIG9mIGEgc2VyaWVzIG9mIG51bWJlcnMsCisrICAgIHNlcGFyYXRl ZCBieSBlaXRoZXIgcGVyaW9kcyBvciBzdHJpbmdzIG9mIGxldHRlcnMuICBXaGVuIGNvbXBhcmlu ZworKyAgICB2ZXJzaW9uIG51bWJlcnMsIHRoZSBudW1lcmljIGNvbXBvbmVudHMgd2lsbCBiZSBj b21wYXJlZAorKyAgICBudW1lcmljYWxseSwgYW5kIHRoZSBhbHBoYWJldGljIGNvbXBvbmVudHMg bGV4aWNhbGx5LiAgVGhlIGZvbGxvd2luZworKyAgICBhcmUgYWxsIHZhbGlkIHZlcnNpb24gbnVt YmVycywgaW4gbm8gcGFydGljdWxhciBvcmRlcjoKKysKKysgICAgICAgIDEuNS4xCisrICAgICAg ICAxLjUuMmIyCisrICAgICAgICAxNjEKKysgICAgICAgIDMuMTBhCisrICAgICAgICA4LjAyCisr ICAgICAgICAzLjRqCisrICAgICAgICAxOTk2LjA3LjEyCisrICAgICAgICAzLjIucGwwCisrICAg ICAgICAzLjEuMS42CisrICAgICAgICAyZzYKKysgICAgICAgIDExZworKyAgICAgICAgMC45NjA5 MjMKKysgICAgICAgIDIuMmJldGEyOQorKyAgICAgICAgMS4xMysrCisrICAgICAgICA1LjUua3cK KysgICAgICAgIDIuMGIxcGwwCisrCisrICAgIEluIGZhY3QsIHRoZXJlIGlzIG5vIHN1Y2ggdGhp bmcgYXMgYW4gaW52YWxpZCB2ZXJzaW9uIG51bWJlciB1bmRlcgorKyAgICB0aGlzIHNjaGVtZTsg dGhlIHJ1bGVzIGZvciBjb21wYXJpc29uIGFyZSBzaW1wbGUgYW5kIHByZWRpY3RhYmxlLAorKyAg ICBidXQgbWF5IG5vdCBhbHdheXMgZ2l2ZSB0aGUgcmVzdWx0cyB5b3Ugd2FudCAoZm9yIHNvbWUg ZGVmaW5pdGlvbgorKyAgICBvZiAid2FudCIpLgorKyAgICAiIiIKKysKKysgICAgY29tcG9uZW50 X3JlID0gcmUuY29tcGlsZShyIihcZCsgfCBbYS16XSsgfCBcLikiLCByZS5WRVJCT1NFKQorKwor KyAgICBkZWYgX19pbml0X18oc2VsZiwgdnN0cmluZz1Ob25lKToKKysgICAgICAgIGlmIHZzdHJp bmc6CisrICAgICAgICAgICAgc2VsZi5wYXJzZSh2c3RyaW5nKQorKworKyAgICBkZWYgX19lcV9f KHNlbGYsIG90aGVyKToKKysgICAgICAgIGMgPSBzZWxmLl9jbXAob3RoZXIpCisrICAgICAgICBp ZiBjIGlzIE5vdEltcGxlbWVudGVkOgorKyAgICAgICAgICAgIHJldHVybiBjCisrICAgICAgICBy ZXR1cm4gYyA9PSAwCisrCisrICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOgorKyAgICAgICAg YyA9IHNlbGYuX2NtcChvdGhlcikKKysgICAgICAgIGlmIGMgaXMgTm90SW1wbGVtZW50ZWQ6Cisr ICAgICAgICAgICAgcmV0dXJuIGMKKysgICAgICAgIHJldHVybiBjIDwgMAorKworKyAgICBkZWYg X19sZV9fKHNlbGYsIG90aGVyKToKKysgICAgICAgIGMgPSBzZWxmLl9jbXAob3RoZXIpCisrICAg ICAgICBpZiBjIGlzIE5vdEltcGxlbWVudGVkOgorKyAgICAgICAgICAgIHJldHVybiBjCisrICAg ICAgICByZXR1cm4gYyA8PSAwCisrCisrICAgIGRlZiBfX2d0X18oc2VsZiwgb3RoZXIpOgorKyAg ICAgICAgYyA9IHNlbGYuX2NtcChvdGhlcikKKysgICAgICAgIGlmIGMgaXMgTm90SW1wbGVtZW50 ZWQ6CisrICAgICAgICAgICAgcmV0dXJuIGMKKysgICAgICAgIHJldHVybiBjID4gMAorKworKyAg ICBkZWYgX19nZV9fKHNlbGYsIG90aGVyKToKKysgICAgICAgIGMgPSBzZWxmLl9jbXAob3RoZXIp CisrICAgICAgICBpZiBjIGlzIE5vdEltcGxlbWVudGVkOgorKyAgICAgICAgICAgIHJldHVybiBj CisrICAgICAgICByZXR1cm4gYyA+PSAwCisrCisrICAgIGRlZiBwYXJzZShzZWxmLCB2c3RyaW5n KToKKysgICAgICAgICMgSSd2ZSBnaXZlbiB1cCBvbiB0aGlua2luZyBJIGNhbiByZWNvbnN0cnVj dCB0aGUgdmVyc2lvbiBzdHJpbmcKKysgICAgICAgICMgZnJvbSB0aGUgcGFyc2VkIHR1cGxlIC0t IHNvIEkganVzdCBzdG9yZSB0aGUgc3RyaW5nIGhlcmUgZm9yCisrICAgICAgICAjIHVzZSBieSBf X3N0cl9fCisrICAgICAgICBzZWxmLnZzdHJpbmcgPSB2c3RyaW5nCisrICAgICAgICBjb21wb25l bnRzID0gW3ggZm9yIHggaW4gc2VsZi5jb21wb25lbnRfcmUuc3BsaXQodnN0cmluZykgaWYgeCBh bmQgeCAhPSAiLiJdCisrICAgICAgICBmb3IgaSwgb2JqIGluIGVudW1lcmF0ZShjb21wb25lbnRz KToKKysgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgIGNvbXBvbmVudHNbaV0gPSBp bnQob2JqKQorKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorKyAgICAgICAgICAgICAg ICBwYXNzCisrCisrICAgICAgICBzZWxmLnZlcnNpb24gPSBjb21wb25lbnRzCisrCisrICAgIGRl ZiBfX3N0cl9fKHNlbGYpOgorKyAgICAgICAgcmV0dXJuIHNlbGYudnN0cmluZworKworKyAgICBk ZWYgX19yZXByX18oc2VsZik6CisrICAgICAgICByZXR1cm4gIkxvb3NlVmVyc2lvbiAoJyVzJyki ICUgc3RyKHNlbGYpCisrCisrICAgIGRlZiBfY21wKHNlbGYsIG90aGVyKToKKysgICAgICAgIG90 aGVyID0gc2VsZi5fY29lcmNlKG90aGVyKQorKyAgICAgICAgaWYgb3RoZXIgaXMgTm90SW1wbGVt ZW50ZWQ6CisrICAgICAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisrCisrICAgICAgICBp ZiBzZWxmLnZlcnNpb24gPT0gb3RoZXIudmVyc2lvbjoKKysgICAgICAgICAgICByZXR1cm4gMAor KyAgICAgICAgaWYgc2VsZi52ZXJzaW9uIDwgb3RoZXIudmVyc2lvbjoKKysgICAgICAgICAgICBy ZXR1cm4gLTEKKysgICAgICAgIGlmIHNlbGYudmVyc2lvbiA+IG90aGVyLnZlcnNpb246CisrICAg ICAgICAgICAgcmV0dXJuIDEKKysKKysgICAgQHN0YXRpY21ldGhvZAorKyAgICBkZWYgX2NvZXJj ZShvdGhlcik6CisrICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBMb29zZVZlcnNpb24pOgor KyAgICAgICAgICAgIHJldHVybiBvdGhlcgorKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKG90aGVy LCBzdHIpOgorKyAgICAgICAgICAgIHJldHVybiBMb29zZVZlcnNpb24ob3RoZXIpCisrICAgICAg ICBlbGlmICJkaXN0dXRpbHMiIGluIHN5cy5tb2R1bGVzOgorKyAgICAgICAgICAgICMgVXNpbmcg dGhpcyBjaGVjayB0byBhdm9pZCBpbXBvcnRpbmcgZGlzdHV0aWxzIGFuZCBzdXBwcmVzc2luZyB0 aGUgd2FybmluZworKyAgICAgICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgZnJvbSBkaXN0 dXRpbHMudmVyc2lvbiBpbXBvcnQgTG9vc2VWZXJzaW9uIGFzIGRlcHJlY2F0ZWQKKysgICAgICAg ICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisrICAgICAgICAgICAgICAgIHJldHVybiBOb3RJbXBs ZW1lbnRlZAorKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGRlcHJlY2F0ZWQpOgor KyAgICAgICAgICAgICAgICByZXR1cm4gTG9vc2VWZXJzaW9uKHN0cihvdGhlcikpCisrICAgICAg ICByZXR1cm4gTm90SW1wbGVtZW50ZWQKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anMxMDIvcGF0 Y2hlcy9maXgtc2l4LXB5dGhvbjMxMi5wYXRjaCBiL3NyY3BrZ3MvbW96anMxMDIvcGF0Y2hlcy9m aXgtc2l4LXB5dGhvbjMxMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAwLi5hNjU5NGJjYTk3OTMzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9tb3pqczEw Mi9wYXRjaGVzL2ZpeC1zaXgtcHl0aG9uMzEyLnBhdGNoCkBAIC0wLDAgKzEsMjQ0NSBAQAorRnJv bSA3MjkzY2ZhZTRmZDY4MDA0OTAxODI1YWQxY2FiYjgzNDI0ZDg3MjlhIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogc2VyZ2Utc2Fucy1wYWlsbGUgPHNndWVsdG9uQG1vemlsbGEuY29t PgorRGF0ZTogTW9uLCAxNiBPY3QgMjAyMyAxMzozNToyNCArMDAwMAorU3ViamVjdDogW1BBVENI XSBCdWcgMTg1NzQ5MiAtIFVwZ3JhZGUgdmVuZG9yZWQgdmVyc2lvbiBvZiBzaXggYW5kIHVybGxp YjMKKyByPXNhc2NoYW5hegorCitzaXggLT4gMS4xNgordXJsbGliMyAtPiAxLjI2LjE3CisKK0Rp ZmZlcmVudGlhbCBSZXZpc2lvbjogaHR0cHM6Ly9waGFicmljYXRvci5zZXJ2aWNlcy5tb3ppbGxh LmNvbS9EMTkwMjg4CistLS0KKyB0aGlyZF9wYXJ0eS9weXRob24vcG9ldHJ5LmxvY2sgICAgICAg ICAgICAgICAgfCAgMjIgKy0tCisgdGhpcmRfcGFydHkvcHl0aG9uL3JlcXVpcmVtZW50cy5pbiAg ICAgICAgICAgIHwgICA0ICstCisgdGhpcmRfcGFydHkvcHl0aG9uL3JlcXVpcmVtZW50cy50eHQg ICAgICAgICAgIHwgIDEyICstCisgLi4uL3B5dGhvbi9zaXgvc2l4LTEuMTMuMC5kaXN0LWluZm8v UkVDT1JEICAgIHwgICA2IC0KKyAuLi4vTElDRU5TRSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDIgKy0KKyAuLi4vTUVUQURBVEEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDkgKy0KKyAuLi4vcHl0aG9uL3NpeC9zaXgtMS4xNi4wLmRpc3QtaW5mby9S RUNPUkQgICAgfCAgIDYgKworIC4uLi9zaXgtMS4xNi4wLmRpc3QtaW5mb30vV0hFRUwgICAgICAg ICAgICAgICB8ICAgMiArLQorIC4uLi90b3BfbGV2ZWwudHh0ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMAorIHRoaXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LnB5ICAgICAgICAgICAg ICAgICB8ICA5MSArKysrKystLS0KKyAuLi4vdXJsbGliMy91cmxsaWIzLTEuMjYuMC5kaXN0LWlu Zm8vUkVDT1JEICAgfCAgNDQgLS0tLS0KKyAuLi4vTElDRU5TRS50eHQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDAKKyAuLi4vTUVUQURBVEEgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAxNzcgKysrKysrKysrKysrKysrKy0tCisgLi4uL3VybGxpYjMvdXJsbGli My0xLjI2LjE3LmRpc3QtaW5mby9SRUNPUkQgIHwgIDQ0ICsrKysrCisgLi4uL3VybGxpYjMtMS4y Ni4xNy5kaXN0LWluZm99L1dIRUVMICAgICAgICAgIHwgICAyICstCisgLi4uL3RvcF9sZXZlbC50 eHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAwCisgLi4uL3B5dGhvbi91cmxsaWIz L3VybGxpYjMvX19pbml0X18ucHkgICAgICAgIHwgIDE3ICsrCisgLi4uL3B5dGhvbi91cmxsaWIz L3VybGxpYjMvX3ZlcnNpb24ucHkgICAgICAgIHwgICAyICstCisgLi4uL3B5dGhvbi91cmxsaWIz L3VybGxpYjMvY29ubmVjdGlvbi5weSAgICAgIHwgIDYyICsrKystLQorIC4uLi9weXRob24vdXJs bGliMy91cmxsaWIzL2Nvbm5lY3Rpb25wb29sLnB5ICB8ICA5NyArKysrKysrKy0tCisgLi4uL2Nv bnRyaWIvX3NlY3VyZXRyYW5zcG9ydC9iaW5kaW5ncy5weSAgICAgIHwgICAyICstCisgLi4uL2Nv bnRyaWIvX3NlY3VyZXRyYW5zcG9ydC9sb3dfbGV2ZWwucHkgICAgIHwgICAxICsKKyAuLi4vdXJs bGliMy91cmxsaWIzL2NvbnRyaWIvYXBwZW5naW5lLnB5ICAgICAgfCAgIDQgKy0KKyAuLi4vdXJs bGliMy91cmxsaWIzL2NvbnRyaWIvbnRsbXBvb2wucHkgICAgICAgfCAgMTMgKy0KKyAuLi4vdXJs bGliMy91cmxsaWIzL2NvbnRyaWIvcHlvcGVuc3NsLnB5ICAgICAgfCAgMTkgKy0KKyAuLi4vdXJs bGliMy9jb250cmliL3NlY3VyZXRyYW5zcG9ydC5weSAgICAgICAgfCAgIDUgKy0KKyAuLi4vcHl0 aG9uL3VybGxpYjMvdXJsbGliMy9jb250cmliL3NvY2tzLnB5ICAgfCAgIDIgKy0KKyAuLi4vcHl0 aG9uL3VybGxpYjMvdXJsbGliMy9leGNlcHRpb25zLnB5ICAgICAgfCAgMTIgKy0KKyAuLi4vdXJs bGliMy91cmxsaWIzL3BhY2thZ2VzL19faW5pdF9fLnB5ICAgICAgfCAgIDUgLQorIC4uLi9wYWNr YWdlcy9iYWNrcG9ydHMvd2Vha3JlZl9maW5hbGl6ZS5weSAgICB8IDE1NSArKysrKysrKysrKysr KysKKyAuLi4vcHl0aG9uL3VybGxpYjMvdXJsbGliMy9wYWNrYWdlcy9zaXgucHkgICAgfCAxMjUg KysrKysrKysrLS0tLQorIC4uLi9wYWNrYWdlcy9zc2xfbWF0Y2hfaG9zdG5hbWUvX19pbml0X18u cHkgICB8ICAyMiAtLS0KKyAuLi4vcHl0aG9uL3VybGxpYjMvdXJsbGliMy9wb29sbWFuYWdlci5w eSAgICAgfCAgIDMgKy0KKyB0aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3JlcXVl c3QucHkgfCAgMjEgKysrCisgLi4uL3B5dGhvbi91cmxsaWIzL3VybGxpYjMvcmVzcG9uc2UucHkg ICAgICAgIHwgIDcyICsrKysrKy0KKyAuLi4vcHl0aG9uL3VybGxpYjMvdXJsbGliMy91dGlsL2Nv bm5lY3Rpb24ucHkgfCAgIDUgKy0KKyAuLi4vcHl0aG9uL3VybGxpYjMvdXJsbGliMy91dGlsL3By b3h5LnB5ICAgICAgfCAgIDEgKworIC4uLi9weXRob24vdXJsbGliMy91cmxsaWIzL3V0aWwvcmVx dWVzdC5weSAgICB8ICAgNSArLQorIC4uLi9weXRob24vdXJsbGliMy91cmxsaWIzL3V0aWwvcmV0 cnkucHkgICAgICB8ICAzNyArKystCisgLi4uL3B5dGhvbi91cmxsaWIzL3VybGxpYjMvdXRpbC9z c2xfLnB5ICAgICAgIHwgIDUzICsrKystLQorIC4uLi9zc2xfbWF0Y2hfaG9zdG5hbWUucHl9ICAg ICAgICAgICAgICAgICAgICB8ICAxNSArLQorIC4uLi91cmxsaWIzL3VybGxpYjMvdXRpbC9zc2x0 cmFuc3BvcnQucHkgICAgICB8ICAgNiArLQorIC4uLi9weXRob24vdXJsbGliMy91cmxsaWIzL3V0 aWwvdGltZW91dC5weSAgICB8ICAgOSArLQorIC4uLi9weXRob24vdXJsbGliMy91cmxsaWIzL3V0 aWwvdXJsLnB5ICAgICAgICB8ICAxNyArLQorIC4uLi9weXRob24vdXJsbGliMy91cmxsaWIzL3V0 aWwvd2FpdC5weSAgICAgICB8ICAgMSAtCisgNDUgZmlsZXMgY2hhbmdlZCwgOTM0IGluc2VydGlv bnMoKyksIDI3NSBkZWxldGlvbnMoLSkKKyBkZWxldGUgbW9kZSAxMDA2NDQgdGhpcmRfcGFydHkv cHl0aG9uL3NpeC9zaXgtMS4xMy4wLmRpc3QtaW5mby9SRUNPUkQKKyByZW5hbWUgdGhpcmRfcGFy dHkvcHl0aG9uL3NpeC97c2l4LTEuMTMuMC5kaXN0LWluZm8gPT4gc2l4LTEuMTYuMC5kaXN0LWlu Zm99L0xJQ0VOU0UgKDk2JSkKKyByZW5hbWUgdGhpcmRfcGFydHkvcHl0aG9uL3NpeC97c2l4LTEu MTMuMC5kaXN0LWluZm8gPT4gc2l4LTEuMTYuMC5kaXN0LWluZm99L01FVEFEQVRBICg4NSUpCisg Y3JlYXRlIG1vZGUgMTAwNjQ0IHRoaXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LTEuMTYuMC5kaXN0 LWluZm8vUkVDT1JECisgcmVuYW1lIHRoaXJkX3BhcnR5L3B5dGhvbi97dXJsbGliMy91cmxsaWIz LTEuMjYuMC5kaXN0LWluZm8gPT4gc2l4L3NpeC0xLjE2LjAuZGlzdC1pbmZvfS9XSEVFTCAoNzAl KQorIHJlbmFtZSB0aGlyZF9wYXJ0eS9weXRob24vc2l4L3tzaXgtMS4xMy4wLmRpc3QtaW5mbyA9 PiBzaXgtMS4xNi4wLmRpc3QtaW5mb30vdG9wX2xldmVsLnR4dCAoMTAwJSkKKyBkZWxldGUgbW9k ZSAxMDA2NDQgdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy0xLjI2LjAuZGlzdC1p bmZvL1JFQ09SRAorIHJlbmFtZSB0aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy97dXJsbGliMy0x LjI2LjAuZGlzdC1pbmZvID0+IHVybGxpYjMtMS4yNi4xNy5kaXN0LWluZm99L0xJQ0VOU0UudHh0 ICgxMDAlKQorIHJlbmFtZSB0aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy97dXJsbGliMy0xLjI2 LjAuZGlzdC1pbmZvID0+IHVybGxpYjMtMS4yNi4xNy5kaXN0LWluZm99L01FVEFEQVRBICg4NiUp CisgY3JlYXRlIG1vZGUgMTAwNjQ0IHRoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMt MS4yNi4xNy5kaXN0LWluZm8vUkVDT1JECisgcmVuYW1lIHRoaXJkX3BhcnR5L3B5dGhvbi97c2l4 L3NpeC0xLjEzLjAuZGlzdC1pbmZvID0+IHVybGxpYjMvdXJsbGliMy0xLjI2LjE3LmRpc3QtaW5m b30vV0hFRUwgKDcwJSkKKyByZW5hbWUgdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMve3VybGxp YjMtMS4yNi4wLmRpc3QtaW5mbyA9PiB1cmxsaWIzLTEuMjYuMTcuZGlzdC1pbmZvfS90b3BfbGV2 ZWwudHh0ICgxMDAlKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0aGlyZF9wYXJ0eS9weXRob24vdXJs bGliMy91cmxsaWIzL3BhY2thZ2VzL2JhY2twb3J0cy93ZWFrcmVmX2ZpbmFsaXplLnB5CisgZGVs ZXRlIG1vZGUgMTAwNjQ0IHRoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvcGFja2Fn ZXMvc3NsX21hdGNoX2hvc3RuYW1lL19faW5pdF9fLnB5CisgcmVuYW1lIHRoaXJkX3BhcnR5L3B5 dGhvbi91cmxsaWIzL3VybGxpYjMve3BhY2thZ2VzL3NzbF9tYXRjaF9ob3N0bmFtZS9faW1wbGVt ZW50YXRpb24ucHkgPT4gdXRpbC9zc2xfbWF0Y2hfaG9zdG5hbWUucHl9ICg5MiUpCisKK2RpZmYg LS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24vc2l4L3NpeC0xLjEzLjAuZGlzdC1pbmZvL1JFQ09S RCBiL3RoaXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LTEuMTMuMC5kaXN0LWluZm8vUkVDT1JECitk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGEwZTZjMWZkNGJkOTkuLjAwMDAwMDAwMDAw MDAKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LTEuMTMuMC5kaXN0LWluZm8vUkVD T1JECisrKysgL2Rldi9udWxsCitAQCAtMSw2ICswLDAgQEAKKy1zaXgucHksc2hhMjU2PWJzRXpT RlRaVHg0OXdRdHRMT1JtU1pUcnBqR2M4VWJYdC1IQmFfTFpYN1EsMzMwNDUKKy1zaXgtMS4xMy4w LmRpc3QtaW5mby9MSUNFTlNFLHNoYTI1Nj10MUtiakFjWEduaW93Mnd5ZzVCVktPU0JLVVhaZDlF bDY1SnVqTXZ5UmJZLDEwNjYKKy1zaXgtMS4xMy4wLmRpc3QtaW5mby9NRVRBREFUQSxzaGEyNTY9 aHhTNHJTUFJmTzhld2JjTFMzMGFub0ZpNkxGZ1VRM21rX3hrblo4UlY0dywxOTQwCistc2l4LTEu MTMuMC5kaXN0LWluZm8vV0hFRUwsc2hhMjU2PTh6TllaYndRU1hvQjlJZlhPalBmZU53dkFzQUxB amZmZ2syN0ZxdkNXYm8sMTEwCistc2l4LTEuMTMuMC5kaXN0LWluZm8vdG9wX2xldmVsLnR4dCxz aGEyNTY9X2lWSF9pWUV0RVhuRDhuWUdRWXBZRlV2a1VXOXNFTzFHWWJrZUtTQWFpcyw0Cistc2l4 LTEuMTMuMC5kaXN0LWluZm8vUkVDT1JELCwKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9weXRo b24vc2l4L3NpeC0xLjEzLjAuZGlzdC1pbmZvL0xJQ0VOU0UgYi90aGlyZF9wYXJ0eS9weXRob24v c2l4L3NpeC0xLjE2LjAuZGlzdC1pbmZvL0xJQ0VOU0UKK3NpbWlsYXJpdHkgaW5kZXggOTYlCity ZW5hbWUgZnJvbSB0aGlyZF9wYXJ0eS9weXRob24vc2l4L3NpeC0xLjEzLjAuZGlzdC1pbmZvL0xJ Q0VOU0UKK3JlbmFtZSB0byB0aGlyZF9wYXJ0eS9weXRob24vc2l4L3NpeC0xLjE2LjAuZGlzdC1p bmZvL0xJQ0VOU0UKK2luZGV4IDRiMDVhNTQ1MjYxYzAuLmRlNjYzMzExMmMxZjkgMTAwNjQ0Cist LS0gYS90aGlyZF9wYXJ0eS9weXRob24vc2l4L3NpeC0xLjEzLjAuZGlzdC1pbmZvL0xJQ0VOU0UK KysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LTEuMTYuMC5kaXN0LWluZm8vTElDRU5T RQorQEAgLTEsNCArMSw0IEBACistQ29weXJpZ2h0IChjKSAyMDEwLTIwMTkgQmVuamFtaW4gUGV0 ZXJzb24KKytDb3B5cmlnaHQgKGMpIDIwMTAtMjAyMCBCZW5qYW1pbiBQZXRlcnNvbgorIAorIFBl cm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29u IG9idGFpbmluZyBhIGNvcHkgb2YKKyB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3Vt ZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbgorZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LTEuMTMuMC5kaXN0LWluZm8vTUVUQURBVEEgYi90 aGlyZF9wYXJ0eS9weXRob24vc2l4L3NpeC0xLjE2LjAuZGlzdC1pbmZvL01FVEFEQVRBCitzaW1p bGFyaXR5IGluZGV4IDg1JQorcmVuYW1lIGZyb20gdGhpcmRfcGFydHkvcHl0aG9uL3NpeC9zaXgt MS4xMy4wLmRpc3QtaW5mby9NRVRBREFUQQorcmVuYW1lIHRvIHRoaXJkX3BhcnR5L3B5dGhvbi9z aXgvc2l4LTEuMTYuMC5kaXN0LWluZm8vTUVUQURBVEEKK2luZGV4IGIwYzhmNTFlMWYzNjYuLjZk NzUyNWMyZWJjZmUgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24vc2l4L3NpeC0xLjEz LjAuZGlzdC1pbmZvL01FVEFEQVRBCisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vc2l4L3NpeC0x LjE2LjAuZGlzdC1pbmZvL01FVEFEQVRBCitAQCAtMSw2ICsxLDYgQEAKKyBNZXRhZGF0YS1WZXJz aW9uOiAyLjEKKyBOYW1lOiBzaXgKKy1WZXJzaW9uOiAxLjEzLjAKKytWZXJzaW9uOiAxLjE2LjAK KyBTdW1tYXJ5OiBQeXRob24gMiBhbmQgMyBjb21wYXRpYmlsaXR5IHV0aWxpdGllcworIEhvbWUt cGFnZTogaHR0cHM6Ly9naXRodWIuY29tL2JlbmphbWlucC9zaXgKKyBBdXRob3I6IEJlbmphbWlu IFBldGVyc29uCitAQCAtMTQsNyArMTQsNyBAQCBDbGFzc2lmaWVyOiBJbnRlbmRlZCBBdWRpZW5j ZSA6OiBEZXZlbG9wZXJzCisgQ2xhc3NpZmllcjogTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjog TUlUIExpY2Vuc2UKKyBDbGFzc2lmaWVyOiBUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6 OiBMaWJyYXJpZXMKKyBDbGFzc2lmaWVyOiBUb3BpYyA6OiBVdGlsaXRpZXMKKy1SZXF1aXJlcy1Q eXRob246ID49Mi42LCAhPTMuMC4qLCAhPTMuMS4qCisrUmVxdWlyZXMtUHl0aG9uOiA+PTIuNywg IT0zLjAuKiwgIT0zLjEuKiwgIT0zLjIuKgorIAorIC4uIGltYWdlOjogaHR0cHM6Ly9pbWcuc2hp ZWxkcy5pby9weXBpL3Yvc2l4LnN2ZworICAgIDp0YXJnZXQ6IGh0dHBzOi8vcHlwaS5vcmcvcHJv amVjdC9zaXgvCitAQCAtMzcsNyArMzcsNyBAQCBmb3Igc21vb3RoaW5nIG92ZXIgdGhlIGRpZmZl cmVuY2VzIGJldHdlZW4gdGhlIFB5dGhvbiB2ZXJzaW9ucyB3aXRoIHRoZSBnb2FsIG9mCisgd3Jp dGluZyBQeXRob24gY29kZSB0aGF0IGlzIGNvbXBhdGlibGUgb24gYm90aCBQeXRob24gdmVyc2lv bnMuICBTZWUgdGhlCisgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB3aGF0 IGlzIHByb3ZpZGVkLgorIAorLVNpeCBzdXBwb3J0cyBldmVyeSBQeXRob24gdmVyc2lvbiBzaW5j ZSAyLjYuICBJdCBpcyBjb250YWluZWQgaW4gb25seSBvbmUgUHl0aG9uCisrU2l4IHN1cHBvcnRz IFB5dGhvbiAyLjcgYW5kIDMuMysuICBJdCBpcyBjb250YWluZWQgaW4gb25seSBvbmUgUHl0aG9u CisgZmlsZSwgc28gaXQgY2FuIGJlIGVhc2lseSBjb3BpZWQgaW50byB5b3VyIHByb2plY3QuIChU aGUgY29weXJpZ2h0IGFuZCBsaWNlbnNlCisgbm90aWNlIG11c3QgYmUgcmV0YWluZWQuKQorIAor QEAgLTQ2LDcgKzQ2LDQgQEAgT25saW5lIGRvY3VtZW50YXRpb24gaXMgYXQgaHR0cHM6Ly9zaXgu cmVhZHRoZWRvY3MuaW8vLgorIEJ1Z3MgY2FuIGJlIHJlcG9ydGVkIHRvIGh0dHBzOi8vZ2l0aHVi LmNvbS9iZW5qYW1pbnAvc2l4LiAgVGhlIGNvZGUgY2FuIGFsc28KKyBiZSBmb3VuZCB0aGVyZS4K KyAKKy1Gb3IgcXVlc3Rpb25zIGFib3V0IHNpeCBvciBwb3J0aW5nIGluIGdlbmVyYWwsIGVtYWls IHRoZSBweXRob24tcG9ydGluZyBtYWlsaW5nCistbGlzdDogaHR0cHM6Ly9tYWlsLnB5dGhvbi5v cmcvbWFpbG1hbi9saXN0aW5mby9weXRob24tcG9ydGluZworLQorIAorZGlmZiAtLWdpdCBhL3Ro aXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LTEuMTYuMC5kaXN0LWluZm8vUkVDT1JEIGIvdGhpcmRf cGFydHkvcHl0aG9uL3NpeC9zaXgtMS4xNi4wLmRpc3QtaW5mby9SRUNPUkQKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMDAwLi44ZGU0YWY3OWZhZTBiCistLS0gL2Rldi9u dWxsCisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vc2l4L3NpeC0xLjE2LjAuZGlzdC1pbmZvL1JF Q09SRAorQEAgLTAsMCArMSw2IEBACisrc2l4LnB5LHNoYTI1Nj1UT09mUWk3bkZHZk1ySXZ0ZHI2 d1g0d3lISDhNN2Frbm11TGZvMmNCQnJNLDM0NTQ5Cisrc2l4LTEuMTYuMC5kaXN0LWluZm8vTElD RU5TRSxzaGEyNTY9aTdoUXhXV3FPSl9jRnZPa2FXV3RJOWdxM19ZUEk1UDhKMksyTVlYbzVzaywx MDY2Cisrc2l4LTEuMTYuMC5kaXN0LWluZm8vTUVUQURBVEEsc2hhMjU2PVZRY0dJRkNBRW1mWmNs NzdFNXJpUENONHYyVElzY19xdGFjbmp4S0hKb0ksMTc5NQorK3NpeC0xLjE2LjAuZGlzdC1pbmZv L1dIRUVMLHNoYTI1Nj1aLW55WXB3cmNTcXhmZHV4NU1ibl9EUTUyNWlQN0oyREczSmdHdk9ZeVRR LDExMAorK3NpeC0xLjE2LjAuZGlzdC1pbmZvL3RvcF9sZXZlbC50eHQsc2hhMjU2PV9pVkhfaVlF dEVYbkQ4bllHUVlwWUZVdmtVVzlzRU8xR1lia2VLU0FhaXMsNAorK3NpeC0xLjE2LjAuZGlzdC1p bmZvL1JFQ09SRCwsCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJs bGliMy0xLjI2LjAuZGlzdC1pbmZvL1dIRUVMIGIvdGhpcmRfcGFydHkvcHl0aG9uL3NpeC9zaXgt MS4xNi4wLmRpc3QtaW5mby9XSEVFTAorc2ltaWxhcml0eSBpbmRleCA3MCUKK3JlbmFtZSBmcm9t IHRoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMtMS4yNi4wLmRpc3QtaW5mby9XSEVF TAorcmVuYW1lIHRvIHRoaXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LTEuMTYuMC5kaXN0LWluZm8v V0hFRUwKK2luZGV4IDZkMzhhYTA2MDFiMzEuLjAxYjhmYzdkNGExMGMgMTAwNjQ0CistLS0gYS90 aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzLTEuMjYuMC5kaXN0LWluZm8vV0hFRUwK KysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LTEuMTYuMC5kaXN0LWluZm8vV0hFRUwK K0BAIC0xLDUgKzEsNSBAQAorIFdoZWVsLVZlcnNpb246IDEuMAorLUdlbmVyYXRvcjogYmRpc3Rf d2hlZWwgKDAuMzUuMSkKKytHZW5lcmF0b3I6IGJkaXN0X3doZWVsICgwLjM2LjIpCisgUm9vdC1J cy1QdXJlbGliOiB0cnVlCisgVGFnOiBweTItbm9uZS1hbnkKKyBUYWc6IHB5My1ub25lLWFueQor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LTEuMTMuMC5kaXN0LWluZm8v dG9wX2xldmVsLnR4dCBiL3RoaXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LTEuMTYuMC5kaXN0LWlu Zm8vdG9wX2xldmVsLnR4dAorc2ltaWxhcml0eSBpbmRleCAxMDAlCityZW5hbWUgZnJvbSB0aGly ZF9wYXJ0eS9weXRob24vc2l4L3NpeC0xLjEzLjAuZGlzdC1pbmZvL3RvcF9sZXZlbC50eHQKK3Jl bmFtZSB0byB0aGlyZF9wYXJ0eS9weXRob24vc2l4L3NpeC0xLjE2LjAuZGlzdC1pbmZvL3RvcF9s ZXZlbC50eHQKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24vc2l4L3NpeC5weSBiL3Ro aXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LnB5CitpbmRleCAzNTdlNjI0YWJjNmM5Li40ZTE1Njc1 ZDhiNWNhIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3NpeC9zaXgucHkKKysrKyBi L3RoaXJkX3BhcnR5L3B5dGhvbi9zaXgvc2l4LnB5CitAQCAtMSw0ICsxLDQgQEAKKy0jIENvcHly aWdodCAoYykgMjAxMC0yMDE5IEJlbmphbWluIFBldGVyc29uCisrIyBDb3B5cmlnaHQgKGMpIDIw MTAtMjAyMCBCZW5qYW1pbiBQZXRlcnNvbgorICMKKyAjIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdy YW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAj IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl ICJTb2Z0d2FyZSIpLCB0byBkZWFsCitAQCAtMjksNyArMjksNyBAQAorIGltcG9ydCB0eXBlcwor IAorIF9fYXV0aG9yX18gPSAiQmVuamFtaW4gUGV0ZXJzb24gPGJlbmphbWluQHB5dGhvbi5vcmc+ IgorLV9fdmVyc2lvbl9fID0gIjEuMTMuMCIKKytfX3ZlcnNpb25fXyA9ICIxLjE2LjAiCisgCisg CisgIyBVc2VmdWwgZm9yIHZlcnkgY29hcnNlIHZlcnNpb24gZGlmZmVyZW50aWF0aW9uLgorQEAg LTcxLDYgKzcxLDExIEBAIGRlZiBfX2xlbl9fKHNlbGYpOgorICAgICAgICAgICAgIE1BWFNJWkUg PSBpbnQoKDEgPDwgNjMpIC0gMSkKKyAgICAgICAgIGRlbCBYCisgCisraWYgUFkzNDoKKysgICAg ZnJvbSBpbXBvcnRsaWIudXRpbCBpbXBvcnQgc3BlY19mcm9tX2xvYWRlcgorK2Vsc2U6CisrICAg IHNwZWNfZnJvbV9sb2FkZXIgPSBOb25lCisrCisgCisgZGVmIF9hZGRfZG9jKGZ1bmMsIGRvYyk6 CisgICAgICIiIkFkZCBkb2N1bWVudGF0aW9uIHRvIGEgZnVuY3Rpb24uIiIiCitAQCAtMTg2LDYg KzE5MSwxMSBAQCBkZWYgZmluZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUsIHBhdGg9Tm9uZSk6Cisg ICAgICAgICAgICAgcmV0dXJuIHNlbGYKKyAgICAgICAgIHJldHVybiBOb25lCisgCisrICAgIGRl ZiBmaW5kX3NwZWMoc2VsZiwgZnVsbG5hbWUsIHBhdGgsIHRhcmdldD1Ob25lKToKKysgICAgICAg IGlmIGZ1bGxuYW1lIGluIHNlbGYua25vd25fbW9kdWxlczoKKysgICAgICAgICAgICByZXR1cm4g c3BlY19mcm9tX2xvYWRlcihmdWxsbmFtZSwgc2VsZikKKysgICAgICAgIHJldHVybiBOb25lCisr CisgICAgIGRlZiBfX2dldF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUpOgorICAgICAgICAgdHJ5Ogor ICAgICAgICAgICAgIHJldHVybiBzZWxmLmtub3duX21vZHVsZXNbZnVsbG5hbWVdCitAQCAtMjIz LDYgKzIzMywxMiBAQCBkZWYgZ2V0X2NvZGUoc2VsZiwgZnVsbG5hbWUpOgorICAgICAgICAgcmV0 dXJuIE5vbmUKKyAgICAgZ2V0X3NvdXJjZSA9IGdldF9jb2RlICAjIHNhbWUgYXMgZ2V0X2NvZGUK KyAKKysgICAgZGVmIGNyZWF0ZV9tb2R1bGUoc2VsZiwgc3BlYyk6CisrICAgICAgICByZXR1cm4g c2VsZi5sb2FkX21vZHVsZShzcGVjLm5hbWUpCisrCisrICAgIGRlZiBleGVjX21vZHVsZShzZWxm LCBtb2R1bGUpOgorKyAgICAgICAgcGFzcworKworIF9pbXBvcnRlciA9IF9TaXhNZXRhUGF0aElt cG9ydGVyKF9fbmFtZV9fKQorIAorIAorQEAgLTI1OSw3ICsyNzUsNyBAQCBjbGFzcyBfTW92ZWRJ dGVtcyhfTGF6eU1vZHVsZSk6CisgICAgIE1vdmVkTW9kdWxlKCJjb3B5cmVnIiwgImNvcHlfcmVn IiksCisgICAgIE1vdmVkTW9kdWxlKCJkYm1fZ251IiwgImdkYm0iLCAiZGJtLmdudSIpLAorICAg ICBNb3ZlZE1vZHVsZSgiZGJtX25kYm0iLCAiZGJtIiwgImRibS5uZGJtIiksCistICAgIE1vdmVk TW9kdWxlKCJfZHVtbXlfdGhyZWFkIiwgImR1bW15X3RocmVhZCIsICJfZHVtbXlfdGhyZWFkIiks CisrICAgIE1vdmVkTW9kdWxlKCJfZHVtbXlfdGhyZWFkIiwgImR1bW15X3RocmVhZCIsICJfZHVt bXlfdGhyZWFkIiBpZiBzeXMudmVyc2lvbl9pbmZvIDwgKDMsIDkpIGVsc2UgIl90aHJlYWQiKSwK KyAgICAgTW92ZWRNb2R1bGUoImh0dHBfY29va2llamFyIiwgImNvb2tpZWxpYiIsICJodHRwLmNv b2tpZWphciIpLAorICAgICBNb3ZlZE1vZHVsZSgiaHR0cF9jb29raWVzIiwgIkNvb2tpZSIsICJo dHRwLmNvb2tpZXMiKSwKKyAgICAgTW92ZWRNb2R1bGUoImh0bWxfZW50aXRpZXMiLCAiaHRtbGVu dGl0eWRlZnMiLCAiaHRtbC5lbnRpdGllcyIpLAorQEAgLTY0NCw5ICs2NjAsMTEgQEAgZGVmIHUo cyk6CisgICAgIGlmIHN5cy52ZXJzaW9uX2luZm9bMV0gPD0gMToKKyAgICAgICAgIF9hc3NlcnRS YWlzZXNSZWdleCA9ICJhc3NlcnRSYWlzZXNSZWdleHAiCisgICAgICAgICBfYXNzZXJ0UmVnZXgg PSAiYXNzZXJ0UmVnZXhwTWF0Y2hlcyIKKysgICAgICAgIF9hc3NlcnROb3RSZWdleCA9ICJhc3Nl cnROb3RSZWdleHBNYXRjaGVzIgorICAgICBlbHNlOgorICAgICAgICAgX2Fzc2VydFJhaXNlc1Jl Z2V4ID0gImFzc2VydFJhaXNlc1JlZ2V4IgorICAgICAgICAgX2Fzc2VydFJlZ2V4ID0gImFzc2Vy dFJlZ2V4IgorKyAgICAgICAgX2Fzc2VydE5vdFJlZ2V4ID0gImFzc2VydE5vdFJlZ2V4IgorIGVs c2U6CisgICAgIGRlZiBiKHMpOgorICAgICAgICAgcmV0dXJuIHMKK0BAIC02NjgsNiArNjg2LDcg QEAgZGVmIGluZGV4Ynl0ZXMoYnVmLCBpKToKKyAgICAgX2Fzc2VydENvdW50RXF1YWwgPSAiYXNz ZXJ0SXRlbXNFcXVhbCIKKyAgICAgX2Fzc2VydFJhaXNlc1JlZ2V4ID0gImFzc2VydFJhaXNlc1Jl Z2V4cCIKKyAgICAgX2Fzc2VydFJlZ2V4ID0gImFzc2VydFJlZ2V4cE1hdGNoZXMiCisrICAgIF9h c3NlcnROb3RSZWdleCA9ICJhc3NlcnROb3RSZWdleHBNYXRjaGVzIgorIF9hZGRfZG9jKGIsICIi IkJ5dGUgbGl0ZXJhbCIiIikKKyBfYWRkX2RvYyh1LCAiIiJUZXh0IGxpdGVyYWwiIiIpCisgCitA QCAtNjg0LDYgKzcwMywxMCBAQCBkZWYgYXNzZXJ0UmVnZXgoc2VsZiwgKmFyZ3MsICoqa3dhcmdz KToKKyAgICAgcmV0dXJuIGdldGF0dHIoc2VsZiwgX2Fzc2VydFJlZ2V4KSgqYXJncywgKiprd2Fy Z3MpCisgCisgCisrZGVmIGFzc2VydE5vdFJlZ2V4KHNlbGYsICphcmdzLCAqKmt3YXJncyk6Cisr ICAgIHJldHVybiBnZXRhdHRyKHNlbGYsIF9hc3NlcnROb3RSZWdleCkoKmFyZ3MsICoqa3dhcmdz KQorKworKworIGlmIFBZMzoKKyAgICAgZXhlY18gPSBnZXRhdHRyKG1vdmVzLmJ1aWx0aW5zLCAi ZXhlYyIpCisgCitAQCAtNzE5LDE2ICs3NDIsNyBAQCBkZWYgZXhlY18oX2NvZGVfLCBfZ2xvYnNf PU5vbmUsIF9sb2NzXz1Ob25lKToKKyAiIiIpCisgCisgCistaWYgc3lzLnZlcnNpb25faW5mb1s6 Ml0gPT0gKDMsIDIpOgorLSAgICBleGVjXygiIiJkZWYgcmFpc2VfZnJvbSh2YWx1ZSwgZnJvbV92 YWx1ZSk6CistICAgIHRyeToKKy0gICAgICAgIGlmIGZyb21fdmFsdWUgaXMgTm9uZToKKy0gICAg ICAgICAgICByYWlzZSB2YWx1ZQorLSAgICAgICAgcmFpc2UgdmFsdWUgZnJvbSBmcm9tX3ZhbHVl CistICAgIGZpbmFsbHk6CistICAgICAgICB2YWx1ZSA9IE5vbmUKKy0iIiIpCistZWxpZiBzeXMu dmVyc2lvbl9pbmZvWzoyXSA+ICgzLCAyKToKKytpZiBzeXMudmVyc2lvbl9pbmZvWzoyXSA+ICgz LCk6CisgICAgIGV4ZWNfKCIiImRlZiByYWlzZV9mcm9tKHZhbHVlLCBmcm9tX3ZhbHVlKToKKyAg ICAgdHJ5OgorICAgICAgICAgcmFpc2UgdmFsdWUgZnJvbSBmcm9tX3ZhbHVlCitAQCAtODA4LDEz ICs4MjIsMzMgQEAgZGVmIHByaW50XygqYXJncywgKiprd2FyZ3MpOgorIF9hZGRfZG9jKHJlcmFp c2UsICIiIlJlcmFpc2UgYW4gZXhjZXB0aW9uLiIiIikKKyAKKyBpZiBzeXMudmVyc2lvbl9pbmZv WzA6Ml0gPCAoMywgNCk6CisrICAgICMgVGhpcyBkb2VzIGV4YWN0bHkgdGhlIHNhbWUgd2hhdCB0 aGUgOmZ1bmM6YHB5MzpmdW5jdG9vbHMudXBkYXRlX3dyYXBwZXJgCisrICAgICMgZnVuY3Rpb24g ZG9lcyBvbiBQeXRob24gdmVyc2lvbnMgYWZ0ZXIgMy4yLiBJdCBzZXRzIHRoZSBgYF9fd3JhcHBl ZF9fYGAKKysgICAgIyBhdHRyaWJ1dGUgb24gYGB3cmFwcGVyYGAgb2JqZWN0IGFuZCBpdCBkb2Vz bid0IHJhaXNlIGFuIGVycm9yIGlmIGFueSBvZgorKyAgICAjIHRoZSBhdHRyaWJ1dGVzIG1lbnRp b25lZCBpbiBgYGFzc2lnbmVkYGAgYW5kIGBgdXBkYXRlZGBgIGFyZSBtaXNzaW5nIG9uCisrICAg ICMgYGB3cmFwcGVkYGAgb2JqZWN0LgorKyAgICBkZWYgX3VwZGF0ZV93cmFwcGVyKHdyYXBwZXIs IHdyYXBwZWQsCisrICAgICAgICAgICAgICAgICAgICAgICAgYXNzaWduZWQ9ZnVuY3Rvb2xzLldS QVBQRVJfQVNTSUdOTUVOVFMsCisrICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZD1mdW5j dG9vbHMuV1JBUFBFUl9VUERBVEVTKToKKysgICAgICAgIGZvciBhdHRyIGluIGFzc2lnbmVkOgor KyAgICAgICAgICAgIHRyeToKKysgICAgICAgICAgICAgICAgdmFsdWUgPSBnZXRhdHRyKHdyYXBw ZWQsIGF0dHIpCisrICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorKyAgICAgICAg ICAgICAgICBjb250aW51ZQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgIHNl dGF0dHIod3JhcHBlciwgYXR0ciwgdmFsdWUpCisrICAgICAgICBmb3IgYXR0ciBpbiB1cGRhdGVk OgorKyAgICAgICAgICAgIGdldGF0dHIod3JhcHBlciwgYXR0cikudXBkYXRlKGdldGF0dHIod3Jh cHBlZCwgYXR0ciwge30pKQorKyAgICAgICAgd3JhcHBlci5fX3dyYXBwZWRfXyA9IHdyYXBwZWQK KysgICAgICAgIHJldHVybiB3cmFwcGVyCisrICAgIF91cGRhdGVfd3JhcHBlci5fX2RvY19fID0g ZnVuY3Rvb2xzLnVwZGF0ZV93cmFwcGVyLl9fZG9jX18KKysKKyAgICAgZGVmIHdyYXBzKHdyYXBw ZWQsIGFzc2lnbmVkPWZ1bmN0b29scy5XUkFQUEVSX0FTU0lHTk1FTlRTLAorICAgICAgICAgICAg ICAgdXBkYXRlZD1mdW5jdG9vbHMuV1JBUFBFUl9VUERBVEVTKToKKy0gICAgICAgIGRlZiB3cmFw cGVyKGYpOgorLSAgICAgICAgICAgIGYgPSBmdW5jdG9vbHMud3JhcHMod3JhcHBlZCwgYXNzaWdu ZWQsIHVwZGF0ZWQpKGYpCistICAgICAgICAgICAgZi5fX3dyYXBwZWRfXyA9IHdyYXBwZWQKKy0g ICAgICAgICAgICByZXR1cm4gZgorLSAgICAgICAgcmV0dXJuIHdyYXBwZXIKKysgICAgICAgIHJl dHVybiBmdW5jdG9vbHMucGFydGlhbChfdXBkYXRlX3dyYXBwZXIsIHdyYXBwZWQ9d3JhcHBlZCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NpZ25lZD1hc3NpZ25lZCwgdXBk YXRlZD11cGRhdGVkKQorKyAgICB3cmFwcy5fX2RvY19fID0gZnVuY3Rvb2xzLndyYXBzLl9fZG9j X18KKysKKyBlbHNlOgorICAgICB3cmFwcyA9IGZ1bmN0b29scy53cmFwcworIAorQEAgLTg3Miwx MiArOTA2LDExIEBAIGRlZiBlbnN1cmVfYmluYXJ5KHMsIGVuY29kaW5nPSd1dGYtOCcsIGVycm9y cz0nc3RyaWN0Jyk6CisgICAgICAgLSBgc3RyYCAtPiBlbmNvZGVkIHRvIGBieXRlc2AKKyAgICAg ICAtIGBieXRlc2AgLT4gYGJ5dGVzYAorICAgICAiIiIKKysgICAgaWYgaXNpbnN0YW5jZShzLCBi aW5hcnlfdHlwZSk6CisrICAgICAgICByZXR1cm4gcworICAgICBpZiBpc2luc3RhbmNlKHMsIHRl eHRfdHlwZSk6CisgICAgICAgICByZXR1cm4gcy5lbmNvZGUoZW5jb2RpbmcsIGVycm9ycykKKy0g ICAgZWxpZiBpc2luc3RhbmNlKHMsIGJpbmFyeV90eXBlKToKKy0gICAgICAgIHJldHVybiBzCist ICAgIGVsc2U6CistICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm5vdCBleHBlY3RpbmcgdHlwZSAn JXMnIiAlIHR5cGUocykpCisrICAgIHJhaXNlIFR5cGVFcnJvcigibm90IGV4cGVjdGluZyB0eXBl ICclcyciICUgdHlwZShzKSkKKyAKKyAKKyBkZWYgZW5zdXJlX3N0cihzLCBlbmNvZGluZz0ndXRm LTgnLCBlcnJvcnM9J3N0cmljdCcpOgorQEAgLTg5MSwxMiArOTI0LDE1IEBAIGRlZiBlbnN1cmVf c3RyKHMsIGVuY29kaW5nPSd1dGYtOCcsIGVycm9ycz0nc3RyaWN0Jyk6CisgICAgICAgLSBgc3Ry YCAtPiBgc3RyYAorICAgICAgIC0gYGJ5dGVzYCAtPiBkZWNvZGVkIHRvIGBzdHJgCisgICAgICIi IgorLSAgICBpZiBub3QgaXNpbnN0YW5jZShzLCAodGV4dF90eXBlLCBiaW5hcnlfdHlwZSkpOgor LSAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJub3QgZXhwZWN0aW5nIHR5cGUgJyVzJyIgJSB0eXBl KHMpKQorKyAgICAjIE9wdGltaXphdGlvbjogRmFzdCByZXR1cm4gZm9yIHRoZSBjb21tb24gY2Fz ZS4KKysgICAgaWYgdHlwZShzKSBpcyBzdHI6CisrICAgICAgICByZXR1cm4gcworICAgICBpZiBQ WTIgYW5kIGlzaW5zdGFuY2UocywgdGV4dF90eXBlKToKKy0gICAgICAgIHMgPSBzLmVuY29kZShl bmNvZGluZywgZXJyb3JzKQorKyAgICAgICAgcmV0dXJuIHMuZW5jb2RlKGVuY29kaW5nLCBlcnJv cnMpCisgICAgIGVsaWYgUFkzIGFuZCBpc2luc3RhbmNlKHMsIGJpbmFyeV90eXBlKToKKy0gICAg ICAgIHMgPSBzLmRlY29kZShlbmNvZGluZywgZXJyb3JzKQorKyAgICAgICAgcmV0dXJuIHMuZGVj b2RlKGVuY29kaW5nLCBlcnJvcnMpCisrICAgIGVsaWYgbm90IGlzaW5zdGFuY2UocywgKHRleHRf dHlwZSwgYmluYXJ5X3R5cGUpKToKKysgICAgICAgIHJhaXNlIFR5cGVFcnJvcigibm90IGV4cGVj dGluZyB0eXBlICclcyciICUgdHlwZShzKSkKKyAgICAgcmV0dXJuIHMKKyAKKyAKK0BAIC05MTks MTAgKzk1NSw5IEBAIGRlZiBlbnN1cmVfdGV4dChzLCBlbmNvZGluZz0ndXRmLTgnLCBlcnJvcnM9 J3N0cmljdCcpOgorICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJub3QgZXhwZWN0aW5nIHR5cGUg JyVzJyIgJSB0eXBlKHMpKQorIAorIAorLQorIGRlZiBweXRob25fMl91bmljb2RlX2NvbXBhdGli bGUoa2xhc3MpOgorICAgICAiIiIKKy0gICAgQSBkZWNvcmF0b3IgdGhhdCBkZWZpbmVzIF9fdW5p Y29kZV9fIGFuZCBfX3N0cl9fIG1ldGhvZHMgdW5kZXIgUHl0aG9uIDIuCisrICAgIEEgY2xhc3Mg ZGVjb3JhdG9yIHRoYXQgZGVmaW5lcyBfX3VuaWNvZGVfXyBhbmQgX19zdHJfXyBtZXRob2RzIHVu ZGVyIFB5dGhvbiAyLgorICAgICBVbmRlciBQeXRob24gMyBpdCBkb2VzIG5vdGhpbmcuCisgCisg ICAgIFRvIHN1cHBvcnQgUHl0aG9uIDIgYW5kIDMgd2l0aCBhIHNpbmdsZSBjb2RlIGJhc2UsIGRl ZmluZSBhIF9fc3RyX18gbWV0aG9kCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcHl0aG9uL3Vy bGxpYjMvdXJsbGliMy0xLjI2LjAuZGlzdC1pbmZvL1JFQ09SRCBiL3RoaXJkX3BhcnR5L3B5dGhv bi91cmxsaWIzL3VybGxpYjMtMS4yNi4wLmRpc3QtaW5mby9SRUNPUkQKK2RlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggZWM5MDg4YTExMWE0MS4uMDAwMDAwMDAwMDAwMAorLS0tIGEvdGhp cmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy0xLjI2LjAuZGlzdC1pbmZvL1JFQ09SRAor KysrIC9kZXYvbnVsbAorQEAgLTEsNDQgKzAsMCBAQAorLXVybGxpYjMvX19pbml0X18ucHksc2hh MjU2PWozeXpISWJtVzdDUy1JS1FKOS1QUFFmX1lLTzhFT0FleV9yTVcwVVI3dXMsMjc2MworLXVy bGxpYjMvX2NvbGxlY3Rpb25zLnB5LHNoYTI1Nj1ScDFtVnlCZ2NfVWxBY3A2TTNhdDFza0pCWFI1 SjQzTmF3UlR2VzJnX1hZLDEwODExCistdXJsbGliMy9fdmVyc2lvbi5weSxzaGEyNTY9SDB2TFE4 UFkzNTBFUFpsWlFhOHJpMHRFalZTLXhoR2RRT0hjVTM2MC0wQSw2MworLXVybGxpYjMvY29ubmVj dGlvbi5weSxzaGEyNTY9QmRhVVNOcEd6TzB6cTI4aTlNaE9YYjZRWnNwZVZkVnJZdGpua2syRXFn NCwxODM5NgorLXVybGxpYjMvY29ubmVjdGlvbnBvb2wucHksc2hhMjU2PUlLb2V1SlpZOVlBWW0w R0s0cS1NWEFoeVhXME1fRm52YWJZYU5zRElSLUUsMzcxMzMKKy11cmxsaWIzL2V4Y2VwdGlvbnMu cHksc2hhMjU2PWxOcktDNUo4emVCWEl1OVNTS1NOYjdjTGk4aVhsOUFSdTlESEQyU2ZsWk0sNzgx MAorLXVybGxpYjMvZmllbGRzLnB5LHNoYTI1Nj1rdkxEQ2dfSm1IMWxMalVVRVlfRkxTOFVoWTdo QnZEUHVWRVRiWThtZHJNLDg1NzkKKy11cmxsaWIzL2ZpbGVwb3N0LnB5LHNoYTI1Nj01Yl9xcWdS SFZsTDd1THRkQVlCekJoLUdIbVU1QWZKVnRfMk4wWFMzUGVZLDI0NDAKKy11cmxsaWIzL3Bvb2xt YW5hZ2VyLnB5LHNoYTI1Nj13aHpsWDZVVEVnT0RNT0N5MFpETVVPTlJCQ3o1d3lJTThaOW9wWEFZ LUxrLDE5NzYzCistdXJsbGliMy9yZXF1ZXN0LnB5LHNoYTI1Nj1aRlNJcVgwQzZXaXppeGVjQ2ha M19va3l1N0JFdjBsWnUxVlQwczZoNFNNLDU5ODUKKy11cmxsaWIzL3Jlc3BvbnNlLnB5LHNoYTI1 Nj1oR2hHQmg3VGtFa2hfSVFnNUMxV194dVBOcmdJS3Y1QlVYUHlFLXEwTHVFLDI4MjAzCistdXJs bGliMy9jb250cmliL19faW5pdF9fLnB5LHNoYTI1Nj00N0RFUXBqOEhCU2EtX1RJbVctNUpDZXVR ZVJrbTVOTXBKV1pHM2hTdUZVLDAKKy11cmxsaWIzL2NvbnRyaWIvX2FwcGVuZ2luZV9lbnZpcm9u LnB5LHNoYTI1Nj1iRGJ5T0VoVzJDS0xKY1FxQUtBeXJFSE4tYWtsc3lIRktxNnZGOFpGc21rLDk1 NworLXVybGxpYjMvY29udHJpYi9hcHBlbmdpbmUucHksc2hhMjU2PTdQeGIwdEtmREJfTFRHUEVS aXN3SDBxb21oRG9VVU9vNWt3eWJBS0xReUUsMTEwMTAKKy11cmxsaWIzL2NvbnRyaWIvbnRsbXBv b2wucHksc2hhMjU2PTZJOTVoMV83MWZ6eG1vTVNOdFkwZ0I4bG55Q29WdFBfRHBxRkdqMTRmZFUs NDE2MAorLXVybGxpYjMvY29udHJpYi9weW9wZW5zc2wucHksc2hhMjU2PXZnaDZqNTJ3OXhnd3Et M1Iya2ZCNU0ySmJsUUFUSmZLQUszbElBYzFrU2csMTY3NzgKKy11cmxsaWIzL2NvbnRyaWIvc2Vj dXJldHJhbnNwb3J0LnB5LHNoYTI1Nj1LeEdQWms4ZDRZZXBXbTdSYy1TQnQxWHJ6SWZuTEtjOEpr VVZWNzVYemdFLDM0Mjg2CistdXJsbGliMy9jb250cmliL3NvY2tzLnB5LHNoYTI1Nj1EY1JqTTJs MHJRTUl5aFlyTjZyLXRuVmtZNlpURHhISmxNOF91c0FrR0NBLDcwOTcKKy11cmxsaWIzL2NvbnRy aWIvX3NlY3VyZXRyYW5zcG9ydC9fX2luaXRfXy5weSxzaGEyNTY9NDdERVFwajhIQlNhLV9USW1X LTVKQ2V1UWVSa201Tk1wSldaRzNoU3VGVSwwCistdXJsbGliMy9jb250cmliL19zZWN1cmV0cmFu c3BvcnQvYmluZGluZ3MucHksc2hhMjU2PUUxXzdTY3NnT2NoZnhuZW96YkF1ZUs3emlDd0YzNWZu YTREdURDWUo5X28sMTc2MzcKKy11cmxsaWIzL2NvbnRyaWIvX3NlY3VyZXRyYW5zcG9ydC9sb3df bGV2ZWwucHksc2hhMjU2PWxnSWRzU3ljcWZCMFhtNUJpSnpYR2VJS1Q3eWJDUU1GUEpBZ2tjd1Bh MXMsMTM5MDgKKy11cmxsaWIzL3BhY2thZ2VzL19faW5pdF9fLnB5LHNoYTI1Nj1oNEJMaEQ0dExh QngxYWRhRHRLWGZ1cHNncVkwd1dMWGJfZjFfeVZsVjZBLDEwOAorLXVybGxpYjMvcGFja2FnZXMv c2l4LnB5LHNoYTI1Nj1hZHg0ei1lTV9EMFZ2dTBJSXFWekZBQ1FfdXg5bDY0eTdEa1NFZmJ4Q0Rz LDMyNTM2CistdXJsbGliMy9wYWNrYWdlcy9iYWNrcG9ydHMvX19pbml0X18ucHksc2hhMjU2PTQ3 REVRcGo4SEJTYS1fVEltVy01SkNldVFlUmttNU5NcEpXWkczaFN1RlUsMAorLXVybGxpYjMvcGFj a2FnZXMvYmFja3BvcnRzL21ha2VmaWxlLnB5LHNoYTI1Nj1uYnp0M2kwYWdQVlAwN2pxcWdqaGFZ ak1tdUFpX1c1RTBFeXdaaXZWTzhFLDE0MTcKKy11cmxsaWIzL3BhY2thZ2VzL3NzbF9tYXRjaF9o b3N0bmFtZS9fX2luaXRfXy5weSxzaGEyNTY9enBwZXpkRVFkcEdzWWVySTZtVjZNZlVZeTQ5NUpW NG1jT1dDX0dnYmxqVSw3NTcKKy11cmxsaWIzL3BhY2thZ2VzL3NzbF9tYXRjaF9ob3N0bmFtZS9f aW1wbGVtZW50YXRpb24ucHksc2hhMjU2PTZkWi1xMDc0ZzdYaHNKMjdNRkNna2N0OGlWTlpCM3NN WnZLaGYtS1VWeTAsNTY3OQorLXVybGxpYjMvdXRpbC9fX2luaXRfXy5weSxzaGEyNTY9SkVtU21t cXFMeWF3OFA1MWdVSW1aaDhHd2c5aTF6U2UtRG9xQWl0bjJuYywxMTU1CistdXJsbGliMy91dGls L2Nvbm5lY3Rpb24ucHksc2hhMjU2PTIxQi1MWDBjOGZreFBEc3N5SENhSzBwQ25tckttaGx0ZzVF b291SGlBUFUsNDkxMAorLXVybGxpYjMvdXRpbC9wcm94eS5weSxzaGEyNTY9RkdpcEFFbnZadGV5 bGRYTmpjZTRERUI3WXp3VS1hNWxlcDh5NVMwcUhRZywxNjA0CistdXJsbGliMy91dGlsL3F1ZXVl LnB5LHNoYTI1Nj1uUmdYOF9lWC1fVmt2eG9YMDk2UVdvejhQczBRSFVBRXhJTENZXzdQbmNNLDQ5 OAorLXVybGxpYjMvdXRpbC9yZXF1ZXN0LnB5LHNoYTI1Nj1ObnphRUtRMVBhdXc1TUZNVjZIbWdF TUhJVGYwQXVhOWZRdXppMnVaekdjLDQxMjMKKy11cmxsaWIzL3V0aWwvcmVzcG9uc2UucHksc2hh MjU2PUdKcGczRWdpOXFhSlhSd0JoNXd2LU1OdVJXYW41Qkl1NDBvUmVveFdQMjgsMzUxMAorLXVy bGxpYjMvdXRpbC9yZXRyeS5weSxzaGEyNTY9dG4xNjhIRE1VeW5GbVhSUC11VmFMUlVPbGJURUpp a29CMVJ1WmR3ZkNlcywyMTM2NgorLXVybGxpYjMvdXRpbC9zc2xfLnB5LHNoYTI1Nj1jVXNtVTYw NHoyekFPWmNhWERwSU5YT29rUTFSdGxKTWU5NlRCRGthSnAwLDE2MTk5CistdXJsbGliMy91dGls L3NzbHRyYW5zcG9ydC5weSxzaGEyNTY9SXZHUXZzOVlXa2Y0anpmcVZqVHVfVVdqd0FVZ1BuNUFj dGFqVzhWTHo2QSw2OTA4CistdXJsbGliMy91dGlsL3RpbWVvdXQucHksc2hhMjU2PVFTYkJVTk9C OXloNkFuRG42MVNyTFEwaGc1b3owSTktdVhFRzkxQUp1SWcsMTAwMDMKKy11cmxsaWIzL3V0aWwv dXJsLnB5LHNoYTI1Nj1MV2ZMU2xJNGwyRm1VTUtmQ2tFbENhVzEwLTBOLXNKRFQ5YnhhRFpKa2pz LDEzOTY0CistdXJsbGliMy91dGlsL3dhaXQucHksc2hhMjU2PTNNVUtSU0FVSkRCMnRnY283cVJV c2tXMHpYR0FXWXZSUkU0UTFfNnhsTHMsNTQwNAorLXVybGxpYjMtMS4yNi4wLmRpc3QtaW5mby9M SUNFTlNFLnR4dCxzaGEyNTY9dzN2eGh1SjgtZHZwWVo1VjdmNDg2bnN3Q1J6clBhWThmYXktRG0x M2tIcywxMTE1CistdXJsbGliMy0xLjI2LjAuZGlzdC1pbmZvL01FVEFEQVRBLHNoYTI1Nj1XZ2hk dDZuTGY5SGZaSGhXajhEcGd6NG45dkdScVhZaGRJd0pSUGdraTZNLDQyNjI5CistdXJsbGliMy0x LjI2LjAuZGlzdC1pbmZvL1dIRUVMLHNoYTI1Nj1BREtleWFHeUtGNUR3Qk5FMHNSRTVwdlctYlNr Rk1KZkJ1aHpaM3JjZVA0LDExMAorLXVybGxpYjMtMS4yNi4wLmRpc3QtaW5mby90b3BfbGV2ZWwu dHh0LHNoYTI1Nj1FTWlYTDJzS3JUY21yTXhJSFRxZGMzRVQ1NHBRSTJZMDcyTGV4RkVlbXZvLDgK Ky11cmxsaWIzLTEuMjYuMC5kaXN0LWluZm8vUkVDT1JELCwKK2RpZmYgLS1naXQgYS90aGlyZF9w YXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzLTEuMjYuMC5kaXN0LWluZm8vTElDRU5TRS50eHQg Yi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzLTEuMjYuMTcuZGlzdC1pbmZvL0xJ Q0VOU0UudHh0CitzaW1pbGFyaXR5IGluZGV4IDEwMCUKK3JlbmFtZSBmcm9tIHRoaXJkX3BhcnR5 L3B5dGhvbi91cmxsaWIzL3VybGxpYjMtMS4yNi4wLmRpc3QtaW5mby9MSUNFTlNFLnR4dAorcmVu YW1lIHRvIHRoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMtMS4yNi4xNy5kaXN0LWlu Zm8vTElDRU5TRS50eHQKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91 cmxsaWIzLTEuMjYuMC5kaXN0LWluZm8vTUVUQURBVEEgYi90aGlyZF9wYXJ0eS9weXRob24vdXJs bGliMy91cmxsaWIzLTEuMjYuMTcuZGlzdC1pbmZvL01FVEFEQVRBCitzaW1pbGFyaXR5IGluZGV4 IDg2JQorcmVuYW1lIGZyb20gdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy0xLjI2 LjAuZGlzdC1pbmZvL01FVEFEQVRBCityZW5hbWUgdG8gdGhpcmRfcGFydHkvcHl0aG9uL3VybGxp YjMvdXJsbGliMy0xLjI2LjE3LmRpc3QtaW5mby9NRVRBREFUQQoraW5kZXggMzk4NjlhYWZhZGE4 YS4uOTQ5M2ZhZWU2NmMwMSAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIz L3VybGxpYjMtMS4yNi4wLmRpc3QtaW5mby9NRVRBREFUQQorKysrIGIvdGhpcmRfcGFydHkvcHl0 aG9uL3VybGxpYjMvdXJsbGliMy0xLjI2LjE3LmRpc3QtaW5mby9NRVRBREFUQQorQEAgLTEsNiAr MSw2IEBACisgTWV0YWRhdGEtVmVyc2lvbjogMi4xCisgTmFtZTogdXJsbGliMworLVZlcnNpb246 IDEuMjYuMAorK1ZlcnNpb246IDEuMjYuMTcKKyBTdW1tYXJ5OiBIVFRQIGxpYnJhcnkgd2l0aCB0 aHJlYWQtc2FmZSBjb25uZWN0aW9uIHBvb2xpbmcsIGZpbGUgcG9zdCwgYW5kIG1vcmUuCisgSG9t ZS1wYWdlOiBodHRwczovL3VybGxpYjMucmVhZHRoZWRvY3MuaW8vCisgQXV0aG9yOiBBbmRyZXkg UGV0cm92CitAQCAtMTAsNyArMTAsNiBAQCBQcm9qZWN0LVVSTDogRG9jdW1lbnRhdGlvbiwgaHR0 cHM6Ly91cmxsaWIzLnJlYWR0aGVkb2NzLmlvLworIFByb2plY3QtVVJMOiBDb2RlLCBodHRwczov L2dpdGh1Yi5jb20vdXJsbGliMy91cmxsaWIzCisgUHJvamVjdC1VUkw6IElzc3VlIHRyYWNrZXIs IGh0dHBzOi8vZ2l0aHViLmNvbS91cmxsaWIzL3VybGxpYjMvaXNzdWVzCisgS2V5d29yZHM6IHVy bGxpYiBodHRwbGliIHRocmVhZHNhZmUgZmlsZXBvc3QgaHR0cCBodHRwcyBzc2wgcG9vbGluZwor LVBsYXRmb3JtOiBVTktOT1dOCisgQ2xhc3NpZmllcjogRW52aXJvbm1lbnQgOjogV2ViIEVudmly b25tZW50CisgQ2xhc3NpZmllcjogSW50ZW5kZWQgQXVkaWVuY2UgOjogRGV2ZWxvcGVycworIENs YXNzaWZpZXI6IExpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IE1JVCBMaWNlbnNlCitAQCAtMTks MjcgKzE4LDMzIEBAIENsYXNzaWZpZXI6IFByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbgor IENsYXNzaWZpZXI6IFByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAyCisgQ2xhc3Np ZmllcjogUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNworIENsYXNzaWZpZXI6 IFByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzCistQ2xhc3NpZmllcjogUHJvZ3Jh bW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMuNQorIENsYXNzaWZpZXI6IFByb2dyYW1taW5n IExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjYKKyBDbGFzc2lmaWVyOiBQcm9ncmFtbWluZyBMYW5n dWFnZSA6OiBQeXRob24gOjogMy43CisgQ2xhc3NpZmllcjogUHJvZ3JhbW1pbmcgTGFuZ3VhZ2Ug OjogUHl0aG9uIDo6IDMuOAorIENsYXNzaWZpZXI6IFByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5 dGhvbiA6OiAzLjkKKytDbGFzc2lmaWVyOiBQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24g OjogMy4xMAorK0NsYXNzaWZpZXI6IFByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAz LjExCisgQ2xhc3NpZmllcjogUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IEltcGxl bWVudGF0aW9uIDo6IENQeXRob24KKyBDbGFzc2lmaWVyOiBQcm9ncmFtbWluZyBMYW5ndWFnZSA6 OiBQeXRob24gOjogSW1wbGVtZW50YXRpb24gOjogUHlQeQorIENsYXNzaWZpZXI6IFRvcGljIDo6 IEludGVybmV0IDo6IFdXVy9IVFRQCisgQ2xhc3NpZmllcjogVG9waWMgOjogU29mdHdhcmUgRGV2 ZWxvcG1lbnQgOjogTGlicmFyaWVzCistUmVxdWlyZXMtUHl0aG9uOiA+PTIuNywgIT0zLjAuKiwg IT0zLjEuKiwgIT0zLjIuKiwgIT0zLjMuKiwgIT0zLjQuKiwgPDQKKytSZXF1aXJlcy1QeXRob246 ID49Mi43LCAhPTMuMC4qLCAhPTMuMS4qLCAhPTMuMi4qLCAhPTMuMy4qLCAhPTMuNC4qLCAhPTMu NS4qCisgRGVzY3JpcHRpb24tQ29udGVudC1UeXBlOiB0ZXh0L3gtcnN0CisrTGljZW5zZS1GaWxl OiBMSUNFTlNFLnR4dAorIFByb3ZpZGVzLUV4dHJhOiBicm90bGkKKy1SZXF1aXJlcy1EaXN0OiBi cm90bGlweSAoPj0wLjYuMCkgOyBleHRyYSA9PSAnYnJvdGxpJworK1JlcXVpcmVzLURpc3Q6IGJy b3RsaWNmZmkgPj0wLjguMCA7ICgob3NfbmFtZSAhPSAibnQiIG9yIHB5dGhvbl92ZXJzaW9uID49 ICIzIikgYW5kIHBsYXRmb3JtX3B5dGhvbl9pbXBsZW1lbnRhdGlvbiAhPSAiQ1B5dGhvbiIpIGFu ZCBleHRyYSA9PSAnYnJvdGxpJworK1JlcXVpcmVzLURpc3Q6IGJyb3RsaSA9PTEuMC45IDsgKG9z X25hbWUgIT0gIm50IiBhbmQgcHl0aG9uX3ZlcnNpb24gPCAiMyIgYW5kIHBsYXRmb3JtX3B5dGhv bl9pbXBsZW1lbnRhdGlvbiA9PSAiQ1B5dGhvbiIpIGFuZCBleHRyYSA9PSAnYnJvdGxpJworK1Jl cXVpcmVzLURpc3Q6IGJyb3RsaXB5ID49MC42LjAgOyAob3NfbmFtZSA9PSAibnQiIGFuZCBweXRo b25fdmVyc2lvbiA8ICIzIikgYW5kIGV4dHJhID09ICdicm90bGknCisrUmVxdWlyZXMtRGlzdDog YnJvdGxpID49MS4wLjkgOyAocHl0aG9uX3ZlcnNpb24gPj0gIjMiIGFuZCBwbGF0Zm9ybV9weXRo b25faW1wbGVtZW50YXRpb24gPT0gIkNQeXRob24iKSBhbmQgZXh0cmEgPT0gJ2Jyb3RsaScKKyBQ cm92aWRlcy1FeHRyYTogc2VjdXJlCistUmVxdWlyZXMtRGlzdDogcHlPcGVuU1NMICg+PTAuMTQp IDsgZXh0cmEgPT0gJ3NlY3VyZScKKy1SZXF1aXJlcy1EaXN0OiBjcnlwdG9ncmFwaHkgKD49MS4z LjQpIDsgZXh0cmEgPT0gJ3NlY3VyZScKKy1SZXF1aXJlcy1EaXN0OiBpZG5hICg+PTIuMC4wKSA7 IGV4dHJhID09ICdzZWN1cmUnCisrUmVxdWlyZXMtRGlzdDogcHlPcGVuU1NMID49MC4xNCA7IGV4 dHJhID09ICdzZWN1cmUnCisrUmVxdWlyZXMtRGlzdDogY3J5cHRvZ3JhcGh5ID49MS4zLjQgOyBl eHRyYSA9PSAnc2VjdXJlJworK1JlcXVpcmVzLURpc3Q6IGlkbmEgPj0yLjAuMCA7IGV4dHJhID09 ICdzZWN1cmUnCisgUmVxdWlyZXMtRGlzdDogY2VydGlmaSA7IGV4dHJhID09ICdzZWN1cmUnCisr UmVxdWlyZXMtRGlzdDogdXJsbGliMy1zZWN1cmUtZXh0cmEgOyBleHRyYSA9PSAnc2VjdXJlJwor IFJlcXVpcmVzLURpc3Q6IGlwYWRkcmVzcyA7IChweXRob25fdmVyc2lvbiA9PSAiMi43IikgYW5k IGV4dHJhID09ICdzZWN1cmUnCisgUHJvdmlkZXMtRXh0cmE6IHNvY2tzCistUmVxdWlyZXMtRGlz dDogUHlTb2NrcyAoIT0xLjUuNyw8Mi4wLD49MS41LjYpIDsgZXh0cmEgPT0gJ3NvY2tzJworK1Jl cXVpcmVzLURpc3Q6IFB5U29ja3MgIT0xLjUuNyw8Mi4wLD49MS41LjYgOyBleHRyYSA9PSAnc29j a3MnCisgCisgCisgdXJsbGliMyBpcyBhIHBvd2VyZnVsLCAqdXNlci1mcmllbmRseSogSFRUUCBj bGllbnQgZm9yIFB5dGhvbi4gTXVjaCBvZiB0aGUKK0BAIC03OCw4ICs4MywxMCBAQCB1cmxsaWIz IGNhbiBiZSBpbnN0YWxsZWQgd2l0aCBgcGlwIDxodHRwczovL3BpcC5weXBhLmlvPmBfOjoKKyAK KyBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGdyYWIgdGhlIGxhdGVzdCBzb3VyY2UgY29kZSBmcm9t IGBHaXRIdWIgPGh0dHBzOi8vZ2l0aHViLmNvbS91cmxsaWIzL3VybGxpYjM+YF86OgorIAorLSAg ICAkIGdpdCBjbG9uZSBnaXQ6Ly9naXRodWIuY29tL3VybGxpYjMvdXJsbGliMy5naXQKKy0gICAg JCBweXRob24gc2V0dXAucHkgaW5zdGFsbAorKyAgICAkIGdpdCBjbG9uZSBodHRwczovL2dpdGh1 Yi5jb20vdXJsbGliMy91cmxsaWIzLmdpdAorKyAgICAkIGNkIHVybGxpYjMKKysgICAgJCBnaXQg Y2hlY2tvdXQgMS4yNi54CisrICAgICQgcGlwIGluc3RhbGwgLgorIAorIAorIERvY3VtZW50YXRp b24KK0BAIC0xNDgsNiArMTU1LDE1MiBAQCBGb3IgRW50ZXJwcmlzZQorIENoYW5nZXMKKyA9PT09 PT09CisgCisrMS4yNi4xNyAoMjAyMy0xMC0wMikKKystLS0tLS0tLS0tLS0tLS0tLS0tLQorKwor KyogQWRkZWQgdGhlIGBgQ29va2llYGAgaGVhZGVyIHRvIHRoZSBsaXN0IG9mIGhlYWRlcnMgdG8g c3RyaXAgZnJvbSByZXF1ZXN0cyB3aGVuIHJlZGlyZWN0aW5nIHRvIGEgZGlmZmVyZW50IGhvc3Qu IEFzIGJlZm9yZSwgZGlmZmVyZW50IGhlYWRlcnMgY2FuIGJlIHNldCB2aWEgYGBSZXRyeS5yZW1v dmVfaGVhZGVyc19vbl9yZWRpcmVjdGBgLgorKworKworKzEuMjYuMTYgKDIwMjMtMDUtMjMpCisr LS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKysqIEZpeGVkIHRocmVhZC1zYWZldHkgaXNzdWUgd2hl cmUgYWNjZXNzaW5nIGEgYGBQb29sTWFuYWdlcmBgIHdpdGggbWFueSBkaXN0aW5jdCBvcmlnaW5z CisrICB3b3VsZCBjYXVzZSBjb25uZWN0aW9uIHBvb2xzIHRvIGJlIGNsb3NlZCB3aGlsZSByZXF1 ZXN0cyBhcmUgaW4gcHJvZ3Jlc3MgKGAjMjk1NCA8aHR0cHM6Ly9naXRodWIuY29tL3VybGxpYjMv dXJsbGliMy9wdWxsLzI5NTQ+YF8pCisrCisrCisrMS4yNi4xNSAoMjAyMy0wMy0xMCkKKystLS0t LS0tLS0tLS0tLS0tLS0tLQorKworKyogRml4IHNvY2tldCB0aW1lb3V0IHZhbHVlIHdoZW4gYGBI VFRQQ29ubmVjdGlvbmBgIGlzIHJldXNlZCAoYCMyNjQ1IDxodHRwczovL2dpdGh1Yi5jb20vdXJs bGliMy91cmxsaWIzL2lzc3Vlcy8yNjQ1PmBfXykKKysqIFJlbW92ZSAiISIgY2hhcmFjdGVyIGZy b20gdGhlIHVucmVzZXJ2ZWQgY2hhcmFjdGVycyBpbiBJUHY2IFpvbmUgSUQgcGFyc2luZworKyAg KGAjMjg5OSA8aHR0cHM6Ly9naXRodWIuY29tL3VybGxpYjMvdXJsbGliMy9pc3N1ZXMvMjg5OT5g X18pCisrKiBGaXggSUROQSBoYW5kbGluZyBvZiAnXHg4MCcgYnl0ZSAoYCMyOTAxIDxodHRwczov L2dpdGh1Yi5jb20vdXJsbGliMy91cmxsaWIzL2lzc3Vlcy8yOTAxPmBfXykKKysKKysxLjI2LjE0 ICgyMDIzLTAxLTExKQorKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisrKiBGaXhlZCBwYXJzaW5n IG9mIHBvcnQgMCAoemVybykgcmV0dXJuaW5nIE5vbmUsIGluc3RlYWQgb2YgMC4gKGAjMjg1MCA8 aHR0cHM6Ly9naXRodWIuY29tL3VybGxpYjMvdXJsbGliMy9pc3N1ZXMvMjg1MD5gX18pCisrKiBS ZW1vdmVkIGRlcHJlY2F0ZWQgZ2V0aGVhZGVycygpIGNhbGxzIGluIGNvbnRyaWIgbW9kdWxlLgor KworKzEuMjYuMTMgKDIwMjItMTEtMjMpCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKysqIERl cHJlY2F0ZWQgdGhlIGBgSFRUUFJlc3BvbnNlLmdldGhlYWRlcnMoKWBgIGFuZCBgYEhUVFBSZXNw b25zZS5nZXRoZWFkZXIoKWBgIG1ldGhvZHMuCisrKiBGaXhlZCBhbiBpc3N1ZSB3aGVyZSBwYXJz aW5nIGEgVVJMIHdpdGggbGVhZGluZyB6ZXJvZXMgaW4gdGhlIHBvcnQgd291bGQgYmUgcmVqZWN0 ZWQKKysgIGV2ZW4gd2hlbiB0aGUgcG9ydCBudW1iZXIgYWZ0ZXIgcmVtb3ZpbmcgdGhlIHplcm9l cyB3YXMgdmFsaWQuCisrKiBGaXhlZCBhIGRlcHJlY2F0aW9uIHdhcm5pbmcgd2hlbiB1c2luZyBj cnlwdG9ncmFwaHkgdjM5LjAuMC4KKysqIFJlbW92ZWQgdGhlIGBgPDRgYCBpbiB0aGUgYGBSZXF1 aXJlcy1QeXRob25gYCBwYWNrYWdpbmcgbWV0YWRhdGEgZmllbGQuCisrCisrCisrMS4yNi4xMiAo MjAyMi0wOC0yMikKKystLS0tLS0tLS0tLS0tLS0tLS0tLQorKworKyogRGVwcmVjYXRlZCB0aGUg YHVybGxpYjNbc2VjdXJlXWAgZXh0cmEgYW5kIHRoZSBgdXJsbGliMy5jb250cmliLnB5b3BlbnNz bGAgbW9kdWxlLgorKyAgQm90aCB3aWxsIGJlIHJlbW92ZWQgaW4gdjIueC4gU2VlIHRoaXMgYEdp dEh1YiBpc3N1ZSA8aHR0cHM6Ly9naXRodWIuY29tL3VybGxpYjMvdXJsbGliMy9pc3N1ZXMvMjY4 MD5gXworKyAgZm9yIGp1c3RpZmljYXRpb24gYW5kIGluZm8gb24gaG93IHRvIG1pZ3JhdGUuCisr CisrCisrMS4yNi4xMSAoMjAyMi0wNy0yNSkKKystLS0tLS0tLS0tLS0tLS0tLS0tLQorKworKyog Rml4ZWQgYW4gaXNzdWUgd2hlcmUgcmVhZGluZyBtb3JlIHRoYW4gMiBHaUIgaW4gYSBjYWxsIHRv IGBgSFRUUFJlc3BvbnNlLnJlYWRgYCB3b3VsZAorKyAgcmFpc2UgYW4gYGBPdmVyZmxvd0Vycm9y YGAgb24gUHl0aG9uIDMuOSBhbmQgZWFybGllci4KKysKKysKKysxLjI2LjEwICgyMDIyLTA3LTA3 KQorKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisrCisrKiBSZW1vdmVkIHN1cHBvcnQgZm9yIFB5dGhv biAzLjUKKysqIEZpeGVkIGFuIGlzc3VlIHdoZXJlIGEgYGBQcm94eUVycm9yYGAgcmVjb21tZW5k aW5nIGNvbmZpZ3VyaW5nIHRoZSBwcm94eSBhcyBIVFRQCisrICBpbnN0ZWFkIG9mIEhUVFBTIGNv dWxkIGFwcGVhciBldmVuIHdoZW4gYW4gSFRUUFMgcHJveHkgd2Fzbid0IGNvbmZpZ3VyZWQuCisr CisrCisrMS4yNi45ICgyMDIyLTAzLTE2KQorKy0tLS0tLS0tLS0tLS0tLS0tLS0KKysKKysqIENo YW5nZWQgYGB1cmxsaWIzW2Jyb3RsaV1gYCBleHRyYSB0byBmYXZvciBpbnN0YWxsaW5nIEJyb3Rs aSBsaWJyYXJpZXMgdGhhdCBhcmUgc3RpbGwKKysgIHJlY2VpdmluZyB1cGRhdGVzIGxpa2UgYGBi cm90bGlgYCBhbmQgYGBicm90bGljZmZpYGAgaW5zdGVhZCBvZiBgYGJyb3RsaXB5YGAuCisrICBU aGlzIGNoYW5nZSBkb2VzIG5vdCBpbXBhY3QgYmVoYXZpb3Igb2YgdXJsbGliMywgb25seSB3aGlj aCBkZXBlbmRlbmNpZXMgYXJlIGluc3RhbGxlZC4KKysqIEZpeGVkIGEgc29ja2V0IGxlYWtpbmcg d2hlbiBgYEhUVFBTQ29ubmVjdGlvbi5jb25uZWN0KClgYCByYWlzZXMgYW4gZXhjZXB0aW9uLgor KyogRml4ZWQgYGBzZXJ2ZXJfaG9zdG5hbWVgYCBiZWluZyBmb3J3YXJkZWQgZnJvbSBgYFBvb2xN YW5hZ2VyYGAgdG8gYGBIVFRQQ29ubmVjdGlvblBvb2xgYAorKyAgd2hlbiByZXF1ZXN0aW5nIGFu IEhUVFAgVVJMLiBTaG91bGQgb25seSBiZSBmb3J3YXJkZWQgd2hlbiByZXF1ZXN0aW5nIGFuIEhU VFBTIFVSTC4KKysKKysKKysxLjI2LjggKDIwMjItMDEtMDcpCisrLS0tLS0tLS0tLS0tLS0tLS0t LQorKworKyogQWRkZWQgZXh0cmEgbWVzc2FnZSB0byBgYHVybGxpYjMuZXhjZXB0aW9ucy5Qcm94 eUVycm9yYGAgd2hlbiB1cmxsaWIzIGRldGVjdHMgdGhhdAorKyAgYSBwcm94eSBpcyBjb25maWd1 cmVkIHRvIHVzZSBIVFRQUyBidXQgdGhlIHByb3h5IGl0c2VsZiBhcHBlYXJzIHRvIG9ubHkgdXNl IEhUVFAuCisrKiBBZGRlZCBhIG1lbnRpb24gb2YgdGhlIHNpemUgb2YgdGhlIGNvbm5lY3Rpb24g cG9vbCB3aGVuIGRpc2NhcmRpbmcgYSBjb25uZWN0aW9uIGR1ZSB0byB0aGUgcG9vbCBiZWluZyBm dWxsLgorKyogQWRkZWQgZXhwbGljaXQgc3VwcG9ydCBmb3IgUHl0aG9uIDMuMTEuCisrKiBEZXBy ZWNhdGVkIHRoZSBgYFJldHJ5Lk1BWF9CQUNLT0ZGYGAgY2xhc3MgcHJvcGVydHkgaW4gZmF2b3Ig b2YgYGBSZXRyeS5ERUZBVUxUX01BWF9CQUNLT0ZGYGAKKysgIHRvIGJldHRlciBtYXRjaCB0aGUg cmVzdCBvZiB0aGUgZGVmYXVsdCBwYXJhbWV0ZXIgbmFtZXMuIGBgUmV0cnkuTUFYX0JBQ0tPRkZg YCBpcyByZW1vdmVkIGluIHYyLjAuCisrKiBDaGFuZ2VkIGxvY2F0aW9uIG9mIHRoZSB2ZW5kb3Jl ZCBgYHNzbC5tYXRjaF9ob3N0bmFtZWBgIGZ1bmN0aW9uIGZyb20gYGB1cmxsaWIzLnBhY2thZ2Vz LnNzbF9tYXRjaF9ob3N0bmFtZWBgCisrICB0byBgYHVybGxpYjMudXRpbC5zc2xfbWF0Y2hfaG9z dG5hbWVgYCB0byBlbnN1cmUgUHl0aG9uIDMuMTArIGNvbXBhdGliaWxpdHkgYWZ0ZXIgYmVpbmcg cmVwYWNrYWdlZAorKyAgYnkgZG93bnN0cmVhbSBkaXN0cmlidXRvcnMuCisrKiBGaXhlZCBhYnNv bHV0ZSBpbXBvcnRzLCBhbGwgaW1wb3J0cyBhcmUgbm93IHJlbGF0aXZlLgorKworKworKzEuMjYu NyAoMjAyMS0wOS0yMikKKystLS0tLS0tLS0tLS0tLS0tLS0tCisrCisrKiBGaXhlZCBhIGJ1ZyB3 aXRoIEhUVFBTIGhvc3RuYW1lIHZlcmlmaWNhdGlvbiBpbnZvbHZpbmcgSVAgYWRkcmVzc2VzIGFu ZCBsYWNrCisrICBvZiBTTkkuIChJc3N1ZSAjMjQwMCkKKysqIEZpeGVkIGEgYnVnIHdoZXJlIElQ djYgYnJhY2VzIHdlcmVuJ3Qgc3RyaXBwZWQgZHVyaW5nIGNlcnRpZmljYXRlIGhvc3RuYW1lCisr ICBtYXRjaGluZy4gKElzc3VlICMyMjQwKQorKworKworKzEuMjYuNiAoMjAyMS0wNi0yNSkKKyst LS0tLS0tLS0tLS0tLS0tLS0tCisrCisrKiBEZXByZWNhdGVkIHRoZSBgYHVybGxpYjMuY29udHJp Yi5udGxtcG9vbGBgIG1vZHVsZS4gdXJsbGliMyBpcyBub3QgYWJsZSB0byBzdXBwb3J0CisrICBp dCBwcm9wZXJseSBkdWUgdG8gYHJlYXNvbnMgbGlzdGVkIGluIHRoaXMgaXNzdWUgPGh0dHBzOi8v Z2l0aHViLmNvbS91cmxsaWIzL3VybGxpYjMvaXNzdWVzLzIyODI+YF8uCisrICBJZiB5b3UgYXJl IGEgdXNlciBvZiB0aGlzIG1vZHVsZSBwbGVhc2UgbGVhdmUgYSBjb21tZW50LgorKyogQ2hhbmdl ZCBgYEhUVFBDb25uZWN0aW9uLnJlcXVlc3RfY2h1bmtlZCgpYGAgdG8gbm90IGVycm9uZW91c2x5 IGVtaXQgbXVsdGlwbGUKKysgIGBgVHJhbnNmZXItRW5jb2RpbmdgYCBoZWFkZXJzIGluIHRoZSBj YXNlIHRoYXQgb25lIGlzIGFscmVhZHkgc3BlY2lmaWVkLgorKyogRml4ZWQgdHlwbyBpbiBkZXBy ZWNhdGlvbiBtZXNzYWdlIHRvIHJlY29tbWVuZCBgYFJldHJ5LkRFRkFVTFRfQUxMT1dFRF9NRVRI T0RTYGAuCisrCisrCisrMS4yNi41ICgyMDIxLTA1LTI2KQorKy0tLS0tLS0tLS0tLS0tLS0tLS0K KysKKysqIEZpeGVkIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGVtaXR0ZWQgaW4gUHl0aG9uIDMuMTAu CisrKiBVcGRhdGVkIHZlbmRvcmVkIGBgc2l4YGAgbGlicmFyeSB0byAxLjE2LjAuCisrKiBJbXBy b3ZlZCBwZXJmb3JtYW5jZSBvZiBVUkwgcGFyc2VyIHdoZW4gc3BsaXR0aW5nCisrICB0aGUgYXV0 aG9yaXR5IGNvbXBvbmVudC4KKysKKysKKysxLjI2LjQgKDIwMjEtMDMtMTUpCisrLS0tLS0tLS0t LS0tLS0tLS0tLQorKworKyogQ2hhbmdlZCBiZWhhdmlvciBvZiB0aGUgZGVmYXVsdCBgYFNTTENv bnRleHRgYCB3aGVuIGNvbm5lY3RpbmcgdG8gSFRUUFMgcHJveHkKKysgIGR1cmluZyBIVFRQUyBy ZXF1ZXN0cy4gVGhlIGRlZmF1bHQgYGBTU0xDb250ZXh0YGAgbm93IHNldHMgYGBjaGVja19ob3N0 bmFtZT1UcnVlYGAuCisrCisrCisrMS4yNi4zICgyMDIxLTAxLTI2KQorKy0tLS0tLS0tLS0tLS0t LS0tLS0KKysKKysqIEZpeGVkIGJ5dGVzIGFuZCBzdHJpbmcgY29tcGFyaXNvbiBpc3N1ZSB3aXRo IGhlYWRlcnMgKFB1bGwgIzIxNDEpCisrCisrKiBDaGFuZ2VkIGBgUHJveHlTY2hlbWVVbmtub3du YGAgZXJyb3IgbWVzc2FnZSB0byBiZQorKyAgbW9yZSBhY3Rpb25hYmxlIGlmIHRoZSB1c2VyIHN1 cHBsaWVzIGEgcHJveHkgVVJMIHdpdGhvdXQKKysgIGEgc2NoZW1lLiAoUHVsbCAjMjEwNykKKysK KysKKysxLjI2LjIgKDIwMjAtMTEtMTIpCisrLS0tLS0tLS0tLS0tLS0tLS0tLQorKworKyogRml4 ZWQgYW4gaXNzdWUgd2hlcmUgYGB3cmFwX3NvY2tldGBgIGFuZCBgYENFUlRfUkVRVUlSRURgYCB3 b3VsZG4ndAorKyAgYmUgaW1wb3J0ZWQgcHJvcGVybHkgb24gUHl0aG9uIDIuNy44IGFuZCBlYXJs aWVyIChQdWxsICMyMDUyKQorKworKworKzEuMjYuMSAoMjAyMC0xMS0xMSkKKystLS0tLS0tLS0t LS0tLS0tLS0tCisrCisrKiBGaXhlZCBhbiBpc3N1ZSB3aGVyZSB0d28gYGBVc2VyLUFnZW50YGAg aGVhZGVycyB3b3VsZCBiZSBzZW50IGlmIGEKKysgIGBgVXNlci1BZ2VudGBgIGhlYWRlciBrZXkg aXMgcGFzc2VkIGFzIGBgYnl0ZXNgYCAoUHVsbCAjMjA0NykKKysKKysKKyAxLjI2LjAgKDIwMjAt MTEtMTApCisgLS0tLS0tLS0tLS0tLS0tLS0tLQorIAorQEAgLTEzMzEsNSArMTQ4NCwzIEBAIENo YW5nZXMKKyAtLS0tLS0tLS0tLS0tLS0tCisgCisgKiBGaXJzdCByZWxlYXNlLgorLQorLQorZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMtMS4yNi4xNy5kaXN0 LWluZm8vUkVDT1JEIGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy0xLjI2LjE3 LmRpc3QtaW5mby9SRUNPUkQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw MDAwLi4xYWZjNjU4MDU4OWMwCistLS0gL2Rldi9udWxsCisrKysgYi90aGlyZF9wYXJ0eS9weXRo b24vdXJsbGliMy91cmxsaWIzLTEuMjYuMTcuZGlzdC1pbmZvL1JFQ09SRAorQEAgLTAsMCArMSw0 NCBAQAorK3VybGxpYjMvX19pbml0X18ucHksc2hhMjU2PWlYTGNZaUp5U24wR05iV09PWkREQXBn QkwxSmdQNDRFWjhpMTc2MFM4TWMsMzMzMworK3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5LHNoYTI1 Nj1ScDFtVnlCZ2NfVWxBY3A2TTNhdDFza0pCWFI1SjQzTmF3UlR2VzJnX1hZLDEwODExCisrdXJs bGliMy9fdmVyc2lvbi5weSxzaGEyNTY9YXpvTTdNN0JVQURsMmtCaE1WUjZQUGYyR2hCREk5MG1l MWZjbnpUd2Rjdyw2NAorK3VybGxpYjMvY29ubmVjdGlvbi5weSxzaGEyNTY9OTJrOXRkX3k0UEVp VElqTnVmQ1VhMU56TUIzSjN3MExFZHlva1lnWG5XOCwyMDMwMAorK3VybGxpYjMvY29ubmVjdGlv bnBvb2wucHksc2hhMjU2PUl0VkRhc0RuUFJQUDlSOGJOeFk3dFBCbEM3MjRuSjlubHhWZ1hHX1NM YkksMzk5OTAKKyt1cmxsaWIzL2V4Y2VwdGlvbnMucHksc2hhMjU2PTBNbm5vM0tIVE5mWFJmWTc2 MzhOdWZPUGtVYjZtWE9tLUxxai00eDJ3OEEsODIxNworK3VybGxpYjMvZmllbGRzLnB5LHNoYTI1 Nj1rdkxEQ2dfSm1IMWxMalVVRVlfRkxTOFVoWTdoQnZEUHVWRVRiWThtZHJNLDg1NzkKKyt1cmxs aWIzL2ZpbGVwb3N0LnB5LHNoYTI1Nj01Yl9xcWdSSFZsTDd1THRkQVlCekJoLUdIbVU1QWZKVnRf Mk4wWFMzUGVZLDI0NDAKKyt1cmxsaWIzL3Bvb2xtYW5hZ2VyLnB5LHNoYTI1Nj0waThjSmdycXVw emE2N0lCUFpfdTlqWHZuU3hyNVVCbFZFaVVxZGtQdFlJLDE5NzUyCisrdXJsbGliMy9yZXF1ZXN0 LnB5LHNoYTI1Nj1ZVFdGTnI3UUl3aDdFMVc5ZGRlOUxNNzd2MlZXVEo1Vjc4WHVUVHc3RDFBLDY2 OTEKKyt1cmxsaWIzL3Jlc3BvbnNlLnB5LHNoYTI1Nj1VUGdMbW5IajR6NzFabkg4aXZZT3luY0FU aWZUT3c5RlF1a1VxRG5ja0NjLDMwNzYxCisrdXJsbGliMy9jb250cmliL19faW5pdF9fLnB5LHNo YTI1Nj00N0RFUXBqOEhCU2EtX1RJbVctNUpDZXVRZVJrbTVOTXBKV1pHM2hTdUZVLDAKKyt1cmxs aWIzL2NvbnRyaWIvX2FwcGVuZ2luZV9lbnZpcm9uLnB5LHNoYTI1Nj1iRGJ5T0VoVzJDS0xKY1Fx QUtBeXJFSE4tYWtsc3lIRktxNnZGOFpGc21rLDk1NworK3VybGxpYjMvY29udHJpYi9hcHBlbmdp bmUucHksc2hhMjU2PTZJQlc2bFBPb1ZVeEFTUHd0bjZJSDFBQVRlNURLM2xMSkNmd3lXbExLQUUs MTEwMTIKKyt1cmxsaWIzL2NvbnRyaWIvbnRsbXBvb2wucHksc2hhMjU2PU5sZmtXN1dNZFc4emlx dWRvcGpIb1cyOTlvZzFCVFdpMEllSWlicXVGd2ssNDUyOAorK3VybGxpYjMvY29udHJpYi9weW9w ZW5zc2wucHksc2hhMjU2PTRBSkFsbzlObWpXb2ZZNGRKd1JhNGtiWnVSdUhmTkp4dThQdjZ5UWsx c3MsMTcwNTUKKyt1cmxsaWIzL2NvbnRyaWIvc2VjdXJldHJhbnNwb3J0LnB5LHNoYTI1Nj1RT2hW YldyRlFUS2JtVi12dHlHNjlhbWVra0tWeFhrZGprOW95bWFPMEFnLDM0NDE2CisrdXJsbGliMy9j b250cmliL3NvY2tzLnB5LHNoYTI1Nj1hUmk5ZVdYbzlaRWI5NVhVeGVmNFoyMUNGbG5uamJFaUFv OUhPc2VvTXQ0LDcwOTcKKyt1cmxsaWIzL2NvbnRyaWIvX3NlY3VyZXRyYW5zcG9ydC9fX2luaXRf Xy5weSxzaGEyNTY9NDdERVFwajhIQlNhLV9USW1XLTVKQ2V1UWVSa201Tk1wSldaRzNoU3VGVSww CisrdXJsbGliMy9jb250cmliL19zZWN1cmV0cmFuc3BvcnQvYmluZGluZ3MucHksc2hhMjU2PTRY azY0cUlrUEJ0MDlBNXEtUklGVXVEaE5jOW1YaWxWYXBtN1duWW56UncsMTc2MzIKKyt1cmxsaWIz L2NvbnRyaWIvX3NlY3VyZXRyYW5zcG9ydC9sb3dfbGV2ZWwucHksc2hhMjU2PUIySkJCMl9OUlAw MnhLNkRDYTFQYTlJdXhyUHd4ekR6WmJpeFFrYjdVOU0sMTM5MjIKKyt1cmxsaWIzL3BhY2thZ2Vz L19faW5pdF9fLnB5LHNoYTI1Nj00N0RFUXBqOEhCU2EtX1RJbVctNUpDZXVRZVJrbTVOTXBKV1pH M2hTdUZVLDAKKyt1cmxsaWIzL3BhY2thZ2VzL3NpeC5weSxzaGEyNTY9YjlMTTB3Qlh2N0U3U3Ji Q2pBbTR3d04taHJILWlOeHYxOExnV05NTUtQbywzNDY2NQorK3VybGxpYjMvcGFja2FnZXMvYmFj a3BvcnRzL19faW5pdF9fLnB5LHNoYTI1Nj00N0RFUXBqOEhCU2EtX1RJbVctNUpDZXVRZVJrbTVO TXBKV1pHM2hTdUZVLDAKKyt1cmxsaWIzL3BhY2thZ2VzL2JhY2twb3J0cy9tYWtlZmlsZS5weSxz aGEyNTY9bmJ6dDNpMGFnUFZQMDdqcXFnamhhWWpNbXVBaV9XNUUwRXl3Wml2Vk84RSwxNDE3Cisr dXJsbGliMy9wYWNrYWdlcy9iYWNrcG9ydHMvd2Vha3JlZl9maW5hbGl6ZS5weSxzaGEyNTY9dFJD YWw1T0FoTlNSeWIwRGhIcC0zOEF0SWxDc1JQOEJ4RjNOWC02cnFJQSw1MzQzCisrdXJsbGliMy91 dGlsL19faW5pdF9fLnB5LHNoYTI1Nj1KRW1TbW1xcUx5YXc4UDUxZ1VJbVpoOEd3ZzlpMXpTZS1E b3FBaXRuMm5jLDExNTUKKyt1cmxsaWIzL3V0aWwvY29ubmVjdGlvbi5weSxzaGEyNTY9NUx4MkIx UFcyOUt4Qm4yVDB4a04xQ0JnUkJhM2dHVkpCS29Rb1JvZ0VWayw0OTAxCisrdXJsbGliMy91dGls L3Byb3h5LnB5LHNoYTI1Nj16VXZQUENKcnA2ZE9GME40R0FWYk9jbDZvLTR1WEtTckdpVGtrcjV2 VVM0LDE2MDUKKyt1cmxsaWIzL3V0aWwvcXVldWUucHksc2hhMjU2PW5SZ1g4X2VYLV9Wa3Z4b1gw OTZRV296OFBzMFFIVUFFeElMQ1lfN1BuY00sNDk4CisrdXJsbGliMy91dGlsL3JlcXVlc3QucHks c2hhMjU2PWZXaUFhYThwd2RMTElxb1RMQnhDQzJlNGVkODBtdXpLVTNlM0hXV1R6RlEsNDIyNQor K3VybGxpYjMvdXRpbC9yZXNwb25zZS5weSxzaGEyNTY9R0pwZzNFZ2k5cWFKWFJ3Qmg1d3YtTU51 UldhbjVCSXU0MG9SZW94V1AyOCwzNTEwCisrdXJsbGliMy91dGlsL3JldHJ5LnB5LHNoYTI1Nj1a NldFZjUxOGVUT1hQNWpyNVFTUTlncUpJMERWWXQzWHMzRUtuWWFUbXVzLDIyMDEzCisrdXJsbGli My91dGlsL3NzbF8ucHksc2hhMjU2PWMwc1lpU0M2MjcycjZ1UGt4UXBvNXJZUFA5UUMxZVI2b0k3 MDA0Z1lxWm8sMTcxNjUKKyt1cmxsaWIzL3V0aWwvc3NsX21hdGNoX2hvc3RuYW1lLnB5LHNoYTI1 Nj1JcjRjWlZFam1BazhnVUFJSFdTaTd3dE9PODNVQ1lBQlkyeEZEMVFsX1dBLDU3NTgKKyt1cmxs aWIzL3V0aWwvc3NsdHJhbnNwb3J0LnB5LHNoYTI1Nj1OQS11NXJNVHJERkRGQzhRelJLVUVLTUcw NTYxaE9ENHFCVHIzWjRwdjZFLDY4OTUKKyt1cmxsaWIzL3V0aWwvdGltZW91dC5weSxzaGEyNTY9 Y3dxNGRNazg3bUpIU0JrdEsxbWlZSi04NUctM1QzUm1UMjB2N1NGQ3BubywxMDE2OAorK3VybGxp YjMvdXRpbC91cmwucHksc2hhMjU2PWtNeEwxazBkLWFRbV9pWkR3X3pNbW55WXlqcklBX0Ric015 M2NtM1Y1NU0sMTQyNzkKKyt1cmxsaWIzL3V0aWwvd2FpdC5weSxzaGEyNTY9Zk9YMF9mYW96RzJQ N2lWb2pRb0UxbWJ5ZHdlTnlUY20taFhFZkZyVHRMSSw1NDAzCisrdXJsbGliMy0xLjI2LjE3LmRp c3QtaW5mby9MSUNFTlNFLnR4dCxzaGEyNTY9dzN2eGh1SjgtZHZwWVo1VjdmNDg2bnN3Q1J6clBh WThmYXktRG0xM2tIcywxMTE1CisrdXJsbGliMy0xLjI2LjE3LmRpc3QtaW5mby9NRVRBREFUQSxz aGEyNTY9c3dFaVFLbWIybTVWbDRmeWdteTRhTFN6Wmp4RGpEOHEyLV9YenVoTzlwQSw0ODc0Mwor K3VybGxpYjMtMS4yNi4xNy5kaXN0LWluZm8vV0hFRUwsc2hhMjU2PWlZbHY1ZlgzNTdQUXlSVDJv NnR3MWJOLVljS0ZGSEtxQl9Md0hPNXdQLWcsMTEwCisrdXJsbGliMy0xLjI2LjE3LmRpc3QtaW5m by90b3BfbGV2ZWwudHh0LHNoYTI1Nj1FTWlYTDJzS3JUY21yTXhJSFRxZGMzRVQ1NHBRSTJZMDcy TGV4RkVlbXZvLDgKKyt1cmxsaWIzLTEuMjYuMTcuZGlzdC1pbmZvL1JFQ09SRCwsCitkaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvcHl0aG9uL3NpeC9zaXgtMS4xMy4wLmRpc3QtaW5mby9XSEVFTCBi L3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMtMS4yNi4xNy5kaXN0LWluZm8vV0hF RUwKK3NpbWlsYXJpdHkgaW5kZXggNzAlCityZW5hbWUgZnJvbSB0aGlyZF9wYXJ0eS9weXRob24v c2l4L3NpeC0xLjEzLjAuZGlzdC1pbmZvL1dIRUVMCityZW5hbWUgdG8gdGhpcmRfcGFydHkvcHl0 aG9uL3VybGxpYjMvdXJsbGliMy0xLjI2LjE3LmRpc3QtaW5mby9XSEVFTAoraW5kZXggOGI3MDFl OTNjMjMxNS4uYzM0ZjExNjJlZjlhNSAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9z aXgvc2l4LTEuMTMuMC5kaXN0LWluZm8vV0hFRUwKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi91 cmxsaWIzL3VybGxpYjMtMS4yNi4xNy5kaXN0LWluZm8vV0hFRUwKK0BAIC0xLDUgKzEsNSBAQAor IFdoZWVsLVZlcnNpb246IDEuMAorLUdlbmVyYXRvcjogYmRpc3Rfd2hlZWwgKDAuMzMuNikKKytH ZW5lcmF0b3I6IGJkaXN0X3doZWVsICgwLjQxLjIpCisgUm9vdC1Jcy1QdXJlbGliOiB0cnVlCisg VGFnOiBweTItbm9uZS1hbnkKKyBUYWc6IHB5My1ub25lLWFueQorZGlmZiAtLWdpdCBhL3RoaXJk X3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMtMS4yNi4wLmRpc3QtaW5mby90b3BfbGV2ZWwu dHh0IGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy0xLjI2LjE3LmRpc3QtaW5m by90b3BfbGV2ZWwudHh0CitzaW1pbGFyaXR5IGluZGV4IDEwMCUKK3JlbmFtZSBmcm9tIHRoaXJk X3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMtMS4yNi4wLmRpc3QtaW5mby90b3BfbGV2ZWwu dHh0CityZW5hbWUgdG8gdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy0xLjI2LjE3 LmRpc3QtaW5mby90b3BfbGV2ZWwudHh0CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcHl0aG9u L3VybGxpYjMvdXJsbGliMy9fX2luaXRfXy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIz L3VybGxpYjMvX19pbml0X18ucHkKK2luZGV4IGZlODZiNTlkNzgyYmQuLmM2ZmEzODIxMmZiNTUg MTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL19faW5pdF9f LnB5CisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL19faW5pdF9fLnB5 CitAQCAtMTksNiArMTksMjMgQEAKKyBmcm9tIC51dGlsLnRpbWVvdXQgaW1wb3J0IFRpbWVvdXQK KyBmcm9tIC51dGlsLnVybCBpbXBvcnQgZ2V0X2hvc3QKKyAKKysjID09PSBOT1RFIFRPIFJFUEFD S0FHRVJTIEFORCBWRU5ET1JTID09PQorKyMgUGxlYXNlIGRlbGV0ZSB0aGlzIGJsb2NrLCB0aGlz IGxvZ2ljIGlzIG9ubHkKKysjIGZvciB1cmxsaWIzIGJlaW5nIGRpc3RyaWJ1dGVkIHZpYSBQeVBJ LgorKyMgU2VlOiBodHRwczovL2dpdGh1Yi5jb20vdXJsbGliMy91cmxsaWIzL2lzc3Vlcy8yNjgw CisrdHJ5OgorKyAgICBpbXBvcnQgdXJsbGliM19zZWN1cmVfZXh0cmEgICMgdHlwZTogaWdub3Jl ICMgbm9xYTogRjQwMQorK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKysgICAgcGFzcworK2Vsc2U6Cisr ICAgIHdhcm5pbmdzLndhcm4oCisrICAgICAgICAiJ3VybGxpYjNbc2VjdXJlXScgZXh0cmEgaXMg ZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkICIKKysgICAgICAgICJpbiBhIGZ1dHVyZSBy ZWxlYXNlIG9mIHVybGxpYjMgMi54LiBSZWFkIG1vcmUgaW4gdGhpcyBpc3N1ZTogIgorKyAgICAg ICAgImh0dHBzOi8vZ2l0aHViLmNvbS91cmxsaWIzL3VybGxpYjMvaXNzdWVzLzI2ODAiLAorKyAg ICAgICAgY2F0ZWdvcnk9RGVwcmVjYXRpb25XYXJuaW5nLAorKyAgICAgICAgc3RhY2tsZXZlbD0y LAorKyAgICApCisrCisgX19hdXRob3JfXyA9ICJBbmRyZXkgUGV0cm92IChhbmRyZXkucGV0cm92 QHNoYXpvdy5uZXQpIgorIF9fbGljZW5zZV9fID0gIk1JVCIKKyBfX3ZlcnNpb25fXyA9IF9fdmVy c2lvbl9fCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy9f dmVyc2lvbi5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvX3ZlcnNpb24u cHkKK2luZGV4IGNlZTQ2NWY4OGE5MzEuLmNhZDc1ZmI1ZGY4MmEgMTAwNjQ0CistLS0gYS90aGly ZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL192ZXJzaW9uLnB5CisrKysgYi90aGlyZF9w YXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL192ZXJzaW9uLnB5CitAQCAtMSwyICsxLDIgQEAK KyAjIFRoaXMgZmlsZSBpcyBwcm90ZWN0ZWQgdmlhIENPREVPV05FUlMKKy1fX3ZlcnNpb25fXyA9 ICIxLjI2LjAiCisrX192ZXJzaW9uX18gPSAiMS4yNi4xNyIKK2RpZmYgLS1naXQgYS90aGlyZF9w YXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL2Nvbm5lY3Rpb24ucHkgYi90aGlyZF9wYXJ0eS9w eXRob24vdXJsbGliMy91cmxsaWIzL2Nvbm5lY3Rpb24ucHkKK2luZGV4IDUyNDg3NDE3Yzk0NmIu LjU0Yjk2YjE5MTU0Y2MgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91 cmxsaWIzL2Nvbm5lY3Rpb24ucHkKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3Vy bGxpYjMvY29ubmVjdGlvbi5weQorQEAgLTQzLDYgKzQzLDcgQEAgY2xhc3MgQnJva2VuUGlwZUVy cm9yKEV4Y2VwdGlvbik6CisgICAgICAgICBwYXNzCisgCisgCisrZnJvbSAuX2NvbGxlY3Rpb25z IGltcG9ydCBIVFRQSGVhZGVyRGljdCAgIyBub3FhIChoaXN0b3JpY2FsLCByZW1vdmVkIGluIHYy KQorIGZyb20gLl92ZXJzaW9uIGltcG9ydCBfX3ZlcnNpb25fXworIGZyb20gLmV4Y2VwdGlvbnMg aW1wb3J0ICgKKyAgICAgQ29ubmVjdFRpbWVvdXRFcnJvciwKK0BAIC01MCwxNSArNTEsMTYgQEAg Y2xhc3MgQnJva2VuUGlwZUVycm9yKEV4Y2VwdGlvbik6CisgICAgIFN1YmplY3RBbHROYW1lV2Fy bmluZywKKyAgICAgU3lzdGVtVGltZVdhcm5pbmcsCisgKQorLWZyb20gLnBhY2thZ2VzLnNzbF9t YXRjaF9ob3N0bmFtZSBpbXBvcnQgQ2VydGlmaWNhdGVFcnJvciwgbWF0Y2hfaG9zdG5hbWUKKyBm cm9tIC51dGlsIGltcG9ydCBTS0lQX0hFQURFUiwgU0tJUFBBQkxFX0hFQURFUlMsIGNvbm5lY3Rp b24KKyBmcm9tIC51dGlsLnNzbF8gaW1wb3J0ICgKKyAgICAgYXNzZXJ0X2ZpbmdlcnByaW50LAor ICAgICBjcmVhdGVfdXJsbGliM19jb250ZXh0LAorKyAgICBpc19pcGFkZHJlc3MsCisgICAgIHJl c29sdmVfY2VydF9yZXFzLAorICAgICByZXNvbHZlX3NzbF92ZXJzaW9uLAorICAgICBzc2xfd3Jh cF9zb2NrZXQsCisgKQorK2Zyb20gLnV0aWwuc3NsX21hdGNoX2hvc3RuYW1lIGltcG9ydCBDZXJ0 aWZpY2F0ZUVycm9yLCBtYXRjaF9ob3N0bmFtZQorIAorIGxvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2Vy KF9fbmFtZV9fKQorIAorQEAgLTY2LDcgKzY4LDcgQEAgY2xhc3MgQnJva2VuUGlwZUVycm9yKEV4 Y2VwdGlvbik6CisgCisgIyBXaGVuIGl0IGNvbWVzIHRpbWUgdG8gdXBkYXRlIHRoaXMgdmFsdWUg YXMgYSBwYXJ0IG9mIHJlZ3VsYXIgbWFpbnRlbmFuY2UKKyAjIChpZSB0ZXN0X3JlY2VudF9kYXRl IGlzIGZhaWxpbmcpIHVwZGF0ZSBpdCB0byB+NiBtb250aHMgYmVmb3JlIHRoZSBjdXJyZW50IGRh dGUuCistUkVDRU5UX0RBVEUgPSBkYXRldGltZS5kYXRlKDIwMTksIDEsIDEpCisrUkVDRU5UX0RB VEUgPSBkYXRldGltZS5kYXRlKDIwMjIsIDEsIDEpCisgCisgX0NPTlRBSU5TX0NPTlRST0xfQ0hB Ul9SRSA9IHJlLmNvbXBpbGUociJbXi0hIyQlJicqKy5eX2B8fjAtOWEtekEtWl0iKQorIAorQEAg LTEwNiw2ICsxMDgsMTAgQEAgY2xhc3MgSFRUUENvbm5lY3Rpb24oX0hUVFBDb25uZWN0aW9uLCBv YmplY3QpOgorICAgICAjOiBXaGV0aGVyIHRoaXMgY29ubmVjdGlvbiB2ZXJpZmllcyB0aGUgaG9z dCdzIGNlcnRpZmljYXRlLgorICAgICBpc192ZXJpZmllZCA9IEZhbHNlCisgCisrICAgICM6IFdo ZXRoZXIgdGhpcyBwcm94eSBjb25uZWN0aW9uIChpZiB1c2VkKSB2ZXJpZmllcyB0aGUgcHJveHkg aG9zdCdzCisrICAgICM6IGNlcnRpZmljYXRlLgorKyAgICBwcm94eV9pc192ZXJpZmllZCA9IE5v bmUKKysKKyAgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3KToKKyAgICAgICAgIGlm IG5vdCBzaXguUFkyOgorICAgICAgICAgICAgIGt3LnBvcCgic3RyaWN0IiwgTm9uZSkKK0BAIC0y MDAsNyArMjA2LDcgQEAgZGVmIGNvbm5lY3Qoc2VsZik6CisgICAgICAgICBzZWxmLl9wcmVwYXJl X2Nvbm4oY29ubikKKyAKKyAgICAgZGVmIHB1dHJlcXVlc3Qoc2VsZiwgbWV0aG9kLCB1cmwsICph cmdzLCAqKmt3YXJncyk6CistICAgICAgICAiIiIiIiIKKysgICAgICAgICIiIiAiIiIKKyAgICAg ICAgICMgRW1wdHkgZG9jc3RyaW5nIGJlY2F1c2UgdGhlIGluZGVudGF0aW9uIG9mIENQeXRob24n cyBpbXBsZW1lbnRhdGlvbgorICAgICAgICAgIyBpcyBicm9rZW4gYnV0IHdlIGRvbid0IHdhbnQg dGhpcyBtZXRob2QgaW4gb3VyIGRvY3VtZW50YXRpb24uCisgICAgICAgICBtYXRjaCA9IF9DT05U QUlOU19DT05UUk9MX0NIQVJfUkUuc2VhcmNoKG1ldGhvZCkKK0BAIC0yMTMsOCArMjE5LDggQEAg ZGVmIHB1dHJlcXVlc3Qoc2VsZiwgbWV0aG9kLCB1cmwsICphcmdzLCAqKmt3YXJncyk6CisgICAg ICAgICByZXR1cm4gX0hUVFBDb25uZWN0aW9uLnB1dHJlcXVlc3Qoc2VsZiwgbWV0aG9kLCB1cmws ICphcmdzLCAqKmt3YXJncykKKyAKKyAgICAgZGVmIHB1dGhlYWRlcihzZWxmLCBoZWFkZXIsICp2 YWx1ZXMpOgorLSAgICAgICAgIiIiIiIiCistICAgICAgICBpZiBTS0lQX0hFQURFUiBub3QgaW4g dmFsdWVzOgorKyAgICAgICAgIiIiICIiIgorKyAgICAgICAgaWYgbm90IGFueShpc2luc3RhbmNl KHYsIHN0cikgYW5kIHYgPT0gU0tJUF9IRUFERVIgZm9yIHYgaW4gdmFsdWVzKToKKyAgICAgICAg ICAgICBfSFRUUENvbm5lY3Rpb24ucHV0aGVhZGVyKHNlbGYsIGhlYWRlciwgKnZhbHVlcykKKyAg ICAgICAgIGVsaWYgc2l4LmVuc3VyZV9zdHIoaGVhZGVyLmxvd2VyKCkpIG5vdCBpbiBTS0lQUEFC TEVfSEVBREVSUzoKKyAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKAorQEAgLTIyMywxMiAr MjI5LDE3IEBAIGRlZiBwdXRoZWFkZXIoc2VsZiwgaGVhZGVyLCAqdmFsdWVzKToKKyAgICAgICAg ICAgICApCisgCisgICAgIGRlZiByZXF1ZXN0KHNlbGYsIG1ldGhvZCwgdXJsLCBib2R5PU5vbmUs IGhlYWRlcnM9Tm9uZSk6CisrICAgICAgICAjIFVwZGF0ZSB0aGUgaW5uZXIgc29ja2V0J3MgdGlt ZW91dCB2YWx1ZSB0byBzZW5kIHRoZSByZXF1ZXN0LgorKyAgICAgICAgIyBUaGlzIG9ubHkgdHJp Z2dlcnMgaWYgdGhlIGNvbm5lY3Rpb24gaXMgcmUtdXNlZC4KKysgICAgICAgIGlmIGdldGF0dHIo c2VsZiwgInNvY2siLCBOb25lKSBpcyBub3QgTm9uZToKKysgICAgICAgICAgICBzZWxmLnNvY2su c2V0dGltZW91dChzZWxmLnRpbWVvdXQpCisrCisgICAgICAgICBpZiBoZWFkZXJzIGlzIE5vbmU6 CisgICAgICAgICAgICAgaGVhZGVycyA9IHt9CisgICAgICAgICBlbHNlOgorICAgICAgICAgICAg ICMgQXZvaWQgbW9kaWZ5aW5nIHRoZSBoZWFkZXJzIHBhc3NlZCBpbnRvIC5yZXF1ZXN0KCkKKyAg ICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5jb3B5KCkKKy0gICAgICAgIGlmICJ1c2VyLWFn ZW50IiBub3QgaW4gKGsubG93ZXIoKSBmb3IgayBpbiBoZWFkZXJzKToKKysgICAgICAgIGlmICJ1 c2VyLWFnZW50IiBub3QgaW4gKHNpeC5lbnN1cmVfc3RyKGsubG93ZXIoKSkgZm9yIGsgaW4gaGVh ZGVycyk6CisgICAgICAgICAgICAgaGVhZGVyc1siVXNlci1BZ2VudCJdID0gX2dldF9kZWZhdWx0 X3VzZXJfYWdlbnQoKQorICAgICAgICAgc3VwZXIoSFRUUENvbm5lY3Rpb24sIHNlbGYpLnJlcXVl c3QobWV0aG9kLCB1cmwsIGJvZHk9Ym9keSwgaGVhZGVycz1oZWFkZXJzKQorIAorQEAgLTI0OCw3 ICsyNTksNyBAQCBkZWYgcmVxdWVzdF9jaHVua2VkKHNlbGYsIG1ldGhvZCwgdXJsLCBib2R5PU5v bmUsIGhlYWRlcnM9Tm9uZSk6CisgICAgICAgICAgICAgc2VsZi5wdXRoZWFkZXIoIlVzZXItQWdl bnQiLCBfZ2V0X2RlZmF1bHRfdXNlcl9hZ2VudCgpKQorICAgICAgICAgZm9yIGhlYWRlciwgdmFs dWUgaW4gaGVhZGVycy5pdGVtcygpOgorICAgICAgICAgICAgIHNlbGYucHV0aGVhZGVyKGhlYWRl ciwgdmFsdWUpCistICAgICAgICBpZiAidHJhbnNmZXItZW5jb2RpbmciIG5vdCBpbiBoZWFkZXJz OgorKyAgICAgICAgaWYgInRyYW5zZmVyLWVuY29kaW5nIiBub3QgaW4gaGVhZGVyX2tleXM6Cisg ICAgICAgICAgICAgc2VsZi5wdXRoZWFkZXIoIlRyYW5zZmVyLUVuY29kaW5nIiwgImNodW5rZWQi KQorICAgICAgICAgc2VsZi5lbmRoZWFkZXJzKCkKKyAKK0BAIC0zNDksMTcgKzM2MCwxNSBAQCBk ZWYgc2V0X2NlcnQoCisgCisgICAgIGRlZiBjb25uZWN0KHNlbGYpOgorICAgICAgICAgIyBBZGQg Y2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uCistICAgICAgICBjb25uID0gc2VsZi5fbmV3X2Nvbm4o KQorKyAgICAgICAgc2VsZi5zb2NrID0gY29ubiA9IHNlbGYuX25ld19jb25uKCkKKyAgICAgICAg IGhvc3RuYW1lID0gc2VsZi5ob3N0CisgICAgICAgICB0bHNfaW5fdGxzID0gRmFsc2UKKyAKKyAg ICAgICAgIGlmIHNlbGYuX2lzX3VzaW5nX3R1bm5lbCgpOgorICAgICAgICAgICAgIGlmIHNlbGYu dGxzX2luX3Rsc19yZXF1aXJlZDoKKy0gICAgICAgICAgICAgICAgY29ubiA9IHNlbGYuX2Nvbm5l Y3RfdGxzX3Byb3h5KGhvc3RuYW1lLCBjb25uKQorKyAgICAgICAgICAgICAgICBzZWxmLnNvY2sg PSBjb25uID0gc2VsZi5fY29ubmVjdF90bHNfcHJveHkoaG9zdG5hbWUsIGNvbm4pCisgICAgICAg ICAgICAgICAgIHRsc19pbl90bHMgPSBUcnVlCisgCistICAgICAgICAgICAgc2VsZi5zb2NrID0g Y29ubgorLQorICAgICAgICAgICAgICMgQ2FsbHMgc2VsZi5fc2V0X2hvc3Rwb3J0KCksIHNvIHNl bGYuaG9zdCBpcworICAgICAgICAgICAgICMgc2VsZi5fdHVubmVsX2hvc3QgYmVsb3cuCisgICAg ICAgICAgICAgc2VsZi5fdHVubmVsKCkKK0BAIC00OTIsNyArNTAxLDcgQEAgZGVmIF9jb25uZWN0 X3Rsc19wcm94eShzZWxmLCBob3N0bmFtZSwgY29ubik6CisgCisgICAgICAgICAjIElmIG5vIGNl cnQgd2FzIHByb3ZpZGVkLCB1c2Ugb25seSB0aGUgZGVmYXVsdCBvcHRpb25zIGZvciBzZXJ2ZXIK KyAgICAgICAgICMgY2VydGlmaWNhdGUgdmFsaWRhdGlvbgorLSAgICAgICAgcmV0dXJuIHNzbF93 cmFwX3NvY2tldCgKKysgICAgICAgIHNvY2tldCA9IHNzbF93cmFwX3NvY2tldCgKKyAgICAgICAg ICAgICBzb2NrPWNvbm4sCisgICAgICAgICAgICAgY2FfY2VydHM9c2VsZi5jYV9jZXJ0cywKKyAg ICAgICAgICAgICBjYV9jZXJ0X2Rpcj1zZWxmLmNhX2NlcnRfZGlyLAorQEAgLTUwMSw4ICs1MTAs MzcgQEAgZGVmIF9jb25uZWN0X3Rsc19wcm94eShzZWxmLCBob3N0bmFtZSwgY29ubik6CisgICAg ICAgICAgICAgc3NsX2NvbnRleHQ9c3NsX2NvbnRleHQsCisgICAgICAgICApCisgCisrICAgICAg ICBpZiBzc2xfY29udGV4dC52ZXJpZnlfbW9kZSAhPSBzc2wuQ0VSVF9OT05FIGFuZCBub3QgZ2V0 YXR0cigKKysgICAgICAgICAgICBzc2xfY29udGV4dCwgImNoZWNrX2hvc3RuYW1lIiwgRmFsc2UK KysgICAgICAgICk6CisrICAgICAgICAgICAgIyBXaGlsZSB1cmxsaWIzIGF0dGVtcHRzIHRvIGFs d2F5cyB0dXJuIG9mZiBob3N0bmFtZSBtYXRjaGluZyBmcm9tCisrICAgICAgICAgICAgIyB0aGUg VExTIGxpYnJhcnksIHRoaXMgY2Fubm90IGFsd2F5cyBiZSBkb25lLiBTbyB3ZSBjaGVjayB3aGV0 aGVyCisrICAgICAgICAgICAgIyB0aGUgVExTIExpYnJhcnkgc3RpbGwgdGhpbmtzIGl0J3MgbWF0 Y2hpbmcgaG9zdG5hbWVzLgorKyAgICAgICAgICAgIGNlcnQgPSBzb2NrZXQuZ2V0cGVlcmNlcnQo KQorKyAgICAgICAgICAgIGlmIG5vdCBjZXJ0LmdldCgic3ViamVjdEFsdE5hbWUiLCAoKSk6Cisr ICAgICAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oCisrICAgICAgICAgICAgICAgICAgICAoCisr ICAgICAgICAgICAgICAgICAgICAgICAgIkNlcnRpZmljYXRlIGZvciB7MH0gaGFzIG5vIGBzdWJq ZWN0QWx0TmFtZWAsIGZhbGxpbmcgYmFjayB0byBjaGVjayBmb3IgYSAiCisrICAgICAgICAgICAg ICAgICAgICAgICAgImBjb21tb25OYW1lYCBmb3Igbm93LiBUaGlzIGZlYXR1cmUgaXMgYmVpbmcg cmVtb3ZlZCBieSBtYWpvciBicm93c2VycyBhbmQgIgorKyAgICAgICAgICAgICAgICAgICAgICAg ICJkZXByZWNhdGVkIGJ5IFJGQyAyODE4LiAoU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS91cmxsaWIz L3VybGxpYjMvaXNzdWVzLzQ5NyAiCisrICAgICAgICAgICAgICAgICAgICAgICAgImZvciBkZXRh aWxzLikiLmZvcm1hdChob3N0bmFtZSkKKysgICAgICAgICAgICAgICAgICAgICksCisrICAgICAg ICAgICAgICAgICAgICBTdWJqZWN0QWx0TmFtZVdhcm5pbmcsCisrICAgICAgICAgICAgICAgICkK KysgICAgICAgICAgICBfbWF0Y2hfaG9zdG5hbWUoY2VydCwgaG9zdG5hbWUpCisrCisrICAgICAg ICBzZWxmLnByb3h5X2lzX3ZlcmlmaWVkID0gc3NsX2NvbnRleHQudmVyaWZ5X21vZGUgPT0gc3Ns LkNFUlRfUkVRVUlSRUQKKysgICAgICAgIHJldHVybiBzb2NrZXQKKysKKyAKKyBkZWYgX21hdGNo X2hvc3RuYW1lKGNlcnQsIGFzc2VydGVkX2hvc3RuYW1lKToKKysgICAgIyBPdXIgdXBzdHJlYW0g aW1wbGVtZW50YXRpb24gb2Ygc3NsLm1hdGNoX2hvc3RuYW1lKCkKKysgICAgIyBvbmx5IGFwcGxp ZXMgdGhpcyBub3JtYWxpemF0aW9uIHRvIElQIGFkZHJlc3NlcyBzbyBpdCBkb2Vzbid0CisrICAg ICMgbWF0Y2ggRE5TIFNBTnMgc28gd2UgZG8gdGhlIHNhbWUgdGhpbmchCisrICAgIHN0cmlwcGVk X2hvc3RuYW1lID0gYXNzZXJ0ZWRfaG9zdG5hbWUuc3RyaXAoInVbXSIpCisrICAgIGlmIGlzX2lw YWRkcmVzcyhzdHJpcHBlZF9ob3N0bmFtZSk6CisrICAgICAgICBhc3NlcnRlZF9ob3N0bmFtZSA9 IHN0cmlwcGVkX2hvc3RuYW1lCisrCisgICAgIHRyeToKKyAgICAgICAgIG1hdGNoX2hvc3RuYW1l KGNlcnQsIGFzc2VydGVkX2hvc3RuYW1lKQorICAgICBleGNlcHQgQ2VydGlmaWNhdGVFcnJvciBh cyBlOgorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvY29u bmVjdGlvbnBvb2wucHkgYi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL2Nvbm5l Y3Rpb25wb29sLnB5CitpbmRleCA0NzA4YzViZmM3ODYyLi45Njg0NGQ5MzM3NDVkIDEwMDY0NAor LS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy9jb25uZWN0aW9ucG9vbC5w eQorKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy9jb25uZWN0aW9ucG9v bC5weQorQEAgLTIsNiArMiw3IEBACisgCisgaW1wb3J0IGVycm5vCisgaW1wb3J0IGxvZ2dpbmcK KytpbXBvcnQgcmUKKyBpbXBvcnQgc29ja2V0CisgaW1wb3J0IHN5cworIGltcG9ydCB3YXJuaW5n cworQEAgLTM1LDcgKzM2LDYgQEAKKyApCisgZnJvbSAucGFja2FnZXMgaW1wb3J0IHNpeAorIGZy b20gLnBhY2thZ2VzLnNpeC5tb3ZlcyBpbXBvcnQgcXVldWUKKy1mcm9tIC5wYWNrYWdlcy5zc2xf bWF0Y2hfaG9zdG5hbWUgaW1wb3J0IENlcnRpZmljYXRlRXJyb3IKKyBmcm9tIC5yZXF1ZXN0IGlt cG9ydCBSZXF1ZXN0TWV0aG9kcworIGZyb20gLnJlc3BvbnNlIGltcG9ydCBIVFRQUmVzcG9uc2UK KyBmcm9tIC51dGlsLmNvbm5lY3Rpb24gaW1wb3J0IGlzX2Nvbm5lY3Rpb25fZHJvcHBlZAorQEAg LTQ0LDExICs0NCwxOSBAQAorIGZyb20gLnV0aWwucmVxdWVzdCBpbXBvcnQgc2V0X2ZpbGVfcG9z aXRpb24KKyBmcm9tIC51dGlsLnJlc3BvbnNlIGltcG9ydCBhc3NlcnRfaGVhZGVyX3BhcnNpbmcK KyBmcm9tIC51dGlsLnJldHJ5IGltcG9ydCBSZXRyeQorK2Zyb20gLnV0aWwuc3NsX21hdGNoX2hv c3RuYW1lIGltcG9ydCBDZXJ0aWZpY2F0ZUVycm9yCisgZnJvbSAudXRpbC50aW1lb3V0IGltcG9y dCBUaW1lb3V0CisgZnJvbSAudXRpbC51cmwgaW1wb3J0IFVybCwgX2VuY29kZV90YXJnZXQKKyBm cm9tIC51dGlsLnVybCBpbXBvcnQgX25vcm1hbGl6ZV9ob3N0IGFzIG5vcm1hbGl6ZV9ob3N0Cisg ZnJvbSAudXRpbC51cmwgaW1wb3J0IGdldF9ob3N0LCBwYXJzZV91cmwKKyAKKyt0cnk6ICAjIFBs YXRmb3JtLXNwZWNpZmljOiBQeXRob24gMworKyAgICBpbXBvcnQgd2Vha3JlZgorKworKyAgICB3 ZWFrcmVmX2ZpbmFsaXplID0gd2Vha3JlZi5maW5hbGl6ZQorK2V4Y2VwdCBBdHRyaWJ1dGVFcnJv cjogICMgUGxhdGZvcm0tc3BlY2lmaWM6IFB5dGhvbiAyCisrICAgIGZyb20gLnBhY2thZ2VzLmJh Y2twb3J0cy53ZWFrcmVmX2ZpbmFsaXplIGltcG9ydCB3ZWFrcmVmX2ZpbmFsaXplCisrCisgeHJh bmdlID0gc2l4Lm1vdmVzLnhyYW5nZQorIAorIGxvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFt ZV9fKQorQEAgLTIxOSw2ICsyMjcsMTYgQEAgZGVmIF9faW5pdF9fKAorICAgICAgICAgICAgIHNl bGYuY29ubl9rd1sicHJveHkiXSA9IHNlbGYucHJveHkKKyAgICAgICAgICAgICBzZWxmLmNvbm5f a3dbInByb3h5X2NvbmZpZyJdID0gc2VsZi5wcm94eV9jb25maWcKKyAKKysgICAgICAgICMgRG8g bm90IHBhc3MgJ3NlbGYnIGFzIGNhbGxiYWNrIHRvICdmaW5hbGl6ZScuCisrICAgICAgICAjIFRo ZW4gdGhlICdmaW5hbGl6ZScgd291bGQga2VlcCBhbiBlbmRsZXNzIGxpdmluZyAobGVhaykgdG8g c2VsZi4KKysgICAgICAgICMgQnkganVzdCBwYXNzaW5nIGEgcmVmZXJlbmNlIHRvIHRoZSBwb29s IGFsbG93cyB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IKKysgICAgICAgICMgdG8gZnJlZSBzZWxmIGlm IG5vYm9keSBlbHNlIGhhcyBhIHJlZmVyZW5jZSB0byBpdC4KKysgICAgICAgIHBvb2wgPSBzZWxm LnBvb2wKKysKKysgICAgICAgICMgQ2xvc2UgYWxsIHRoZSBIVFRQQ29ubmVjdGlvbnMgaW4gdGhl IHBvb2wgYmVmb3JlIHRoZQorKyAgICAgICAgIyBIVFRQQ29ubmVjdGlvblBvb2wgb2JqZWN0IGlz IGdhcmJhZ2UgY29sbGVjdGVkLgorKyAgICAgICAgd2Vha3JlZl9maW5hbGl6ZShzZWxmLCBfY2xv c2VfcG9vbF9jb25uZWN0aW9ucywgcG9vbCkKKysKKyAgICAgZGVmIF9uZXdfY29ubihzZWxmKToK KyAgICAgICAgICIiIgorICAgICAgICAgUmV0dXJuIGEgZnJlc2ggOmNsYXNzOmBIVFRQQ29ubmVj dGlvbmAuCitAQCAtMzAxLDggKzMxOSwxMSBAQCBkZWYgX3B1dF9jb25uKHNlbGYsIGNvbm4pOgor ICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgIGV4Y2VwdCBxdWV1ZS5GdWxsOgorICAgICAgICAg ICAgICMgVGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuIGlmIHNlbGYuYmxvY2sgPT0gVHJ1ZQorLSAg ICAgICAgICAgIGxvZy53YXJuaW5nKCJDb25uZWN0aW9uIHBvb2wgaXMgZnVsbCwgZGlzY2FyZGlu ZyBjb25uZWN0aW9uOiAlcyIsIHNlbGYuaG9zdCkKKy0KKysgICAgICAgICAgICBsb2cud2Fybmlu ZygKKysgICAgICAgICAgICAgICAgIkNvbm5lY3Rpb24gcG9vbCBpcyBmdWxsLCBkaXNjYXJkaW5n IGNvbm5lY3Rpb246ICVzLiBDb25uZWN0aW9uIHBvb2wgc2l6ZTogJXMiLAorKyAgICAgICAgICAg ICAgICBzZWxmLmhvc3QsCisrICAgICAgICAgICAgICAgIHNlbGYucG9vbC5xc2l6ZSgpLAorKyAg ICAgICAgICAgICkKKyAgICAgICAgICMgQ29ubmVjdGlvbiBuZXZlciBnb3QgcHV0IGJhY2sgaW50 byB0aGUgcG9vbCwgY2xvc2UgaXQuCisgICAgICAgICBpZiBjb25uOgorICAgICAgICAgICAgIGNv bm4uY2xvc2UoKQorQEAgLTMxOCw3ICszMzksNyBAQCBkZWYgX3ByZXBhcmVfcHJveHkoc2VsZiwg Y29ubik6CisgICAgICAgICBwYXNzCisgCisgICAgIGRlZiBfZ2V0X3RpbWVvdXQoc2VsZiwgdGlt ZW91dCk6CistICAgICAgICAiIiIgSGVscGVyIHRoYXQgYWx3YXlzIHJldHVybnMgYSA6Y2xhc3M6 YHVybGxpYjMudXRpbC5UaW1lb3V0YCAiIiIKKysgICAgICAgICIiIkhlbHBlciB0aGF0IGFsd2F5 cyByZXR1cm5zIGEgOmNsYXNzOmB1cmxsaWIzLnV0aWwuVGltZW91dGAiIiIKKyAgICAgICAgIGlm IHRpbWVvdXQgaXMgX0RlZmF1bHQ6CisgICAgICAgICAgICAgcmV0dXJuIHNlbGYudGltZW91dC5j bG9uZSgpCisgCitAQCAtMzc1LDcgKzM5Niw3IEBAIGRlZiBfbWFrZV9yZXF1ZXN0KAorIAorICAg ICAgICAgdGltZW91dF9vYmogPSBzZWxmLl9nZXRfdGltZW91dCh0aW1lb3V0KQorICAgICAgICAg dGltZW91dF9vYmouc3RhcnRfY29ubmVjdCgpCistICAgICAgICBjb25uLnRpbWVvdXQgPSB0aW1l b3V0X29iai5jb25uZWN0X3RpbWVvdXQKKysgICAgICAgIGNvbm4udGltZW91dCA9IFRpbWVvdXQu cmVzb2x2ZV9kZWZhdWx0X3RpbWVvdXQodGltZW91dF9vYmouY29ubmVjdF90aW1lb3V0KQorIAor ICAgICAgICAgIyBUcmlnZ2VyIGFueSBleHRyYSB2YWxpZGF0aW9uIHdlIG5lZWQgdG8gZG8uCisg ICAgICAgICB0cnk6CitAQCAtNDg1LDE0ICs1MDYsOCBAQCBkZWYgY2xvc2Uoc2VsZik6CisgICAg ICAgICAjIERpc2FibGUgYWNjZXNzIHRvIHRoZSBwb29sCisgICAgICAgICBvbGRfcG9vbCwgc2Vs Zi5wb29sID0gc2VsZi5wb29sLCBOb25lCisgCistICAgICAgICB0cnk6CistICAgICAgICAgICAg d2hpbGUgVHJ1ZToKKy0gICAgICAgICAgICAgICAgY29ubiA9IG9sZF9wb29sLmdldChibG9jaz1G YWxzZSkKKy0gICAgICAgICAgICAgICAgaWYgY29ubjoKKy0gICAgICAgICAgICAgICAgICAgIGNv bm4uY2xvc2UoKQorLQorLSAgICAgICAgZXhjZXB0IHF1ZXVlLkVtcHR5OgorLSAgICAgICAgICAg IHBhc3MgICMgRG9uZS4KKysgICAgICAgICMgQ2xvc2UgYWxsIHRoZSBIVFRQQ29ubmVjdGlvbnMg aW4gdGhlIHBvb2wuCisrICAgICAgICBfY2xvc2VfcG9vbF9jb25uZWN0aW9ucyhvbGRfcG9vbCkK KyAKKyAgICAgZGVmIGlzX3NhbWVfaG9zdChzZWxmLCB1cmwpOgorICAgICAgICAgIiIiCitAQCAt NzQ1LDcgKzc2MCwzNSBAQCBkZWYgdXJsb3BlbigKKyAgICAgICAgICAgICAjIERpc2NhcmQgdGhl IGNvbm5lY3Rpb24gZm9yIHRoZXNlIGV4Y2VwdGlvbnMuIEl0IHdpbGwgYmUKKyAgICAgICAgICAg ICAjIHJlcGxhY2VkIGR1cmluZyB0aGUgbmV4dCBfZ2V0X2Nvbm4oKSBjYWxsLgorICAgICAgICAg ICAgIGNsZWFuX2V4aXQgPSBGYWxzZQorLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZSwgKEJh c2VTU0xFcnJvciwgQ2VydGlmaWNhdGVFcnJvcikpOgorKworKyAgICAgICAgICAgIGRlZiBfaXNf c3NsX2Vycm9yX21lc3NhZ2VfZnJvbV9odHRwX3Byb3h5KHNzbF9lcnJvcik6CisrICAgICAgICAg ICAgICAgICMgV2UncmUgdHJ5aW5nIHRvIGRldGVjdCB0aGUgbWVzc2FnZSAnV1JPTkdfVkVSU0lP Tl9OVU1CRVInIGJ1dAorKyAgICAgICAgICAgICAgICAjIFNTTEVycm9ycyBhcmUga2luZGEgYWxs IG92ZXIgdGhlIHBsYWNlIHdoZW4gaXQgY29tZXMgdG8gdGhlIG1lc3NhZ2UsCisrICAgICAgICAg ICAgICAgICMgc28gd2UgdHJ5IHRvIGNvdmVyIG91ciBiYXNlcyBoZXJlIQorKyAgICAgICAgICAg ICAgICBtZXNzYWdlID0gIiAiLmpvaW4ocmUuc3BsaXQoIlteYS16XSIsIHN0cihzc2xfZXJyb3Ip Lmxvd2VyKCkpKQorKyAgICAgICAgICAgICAgICByZXR1cm4gKAorKyAgICAgICAgICAgICAgICAg ICAgIndyb25nIHZlcnNpb24gbnVtYmVyIiBpbiBtZXNzYWdlIG9yICJ1bmtub3duIHByb3RvY29s IiBpbiBtZXNzYWdlCisrICAgICAgICAgICAgICAgICkKKysKKysgICAgICAgICAgICAjIFRyeSB0 byBkZXRlY3QgYSBjb21tb24gdXNlciBlcnJvciB3aXRoIHByb3hpZXMgd2hpY2ggaXMgdG8KKysg ICAgICAgICAgICAjIHNldCBhbiBIVFRQIHByb3h5IHRvIGJlIEhUVFBTIHdoZW4gaXQgc2hvdWxk IGJlICdodHRwOi8vJworKyAgICAgICAgICAgICMgKGllIHsnaHR0cCc6ICdodHRwOi8vcHJveHkn LCAnaHR0cHMnOiAnaHR0cHM6Ly9wcm94eSd9KQorKyAgICAgICAgICAgICMgSW5zdGVhZCB3ZSBh ZGQgYSBuaWNlIGVycm9yIG1lc3NhZ2UgYW5kIHBvaW50IHRvIGEgVVJMLgorKyAgICAgICAgICAg IGlmICgKKysgICAgICAgICAgICAgICAgaXNpbnN0YW5jZShlLCBCYXNlU1NMRXJyb3IpCisrICAg ICAgICAgICAgICAgIGFuZCBzZWxmLnByb3h5CisrICAgICAgICAgICAgICAgIGFuZCBfaXNfc3Ns X2Vycm9yX21lc3NhZ2VfZnJvbV9odHRwX3Byb3h5KGUpCisrICAgICAgICAgICAgICAgIGFuZCBj b25uLnByb3h5CisrICAgICAgICAgICAgICAgIGFuZCBjb25uLnByb3h5LnNjaGVtZSA9PSAiaHR0 cHMiCisrICAgICAgICAgICAgKToKKysgICAgICAgICAgICAgICAgZSA9IFByb3h5RXJyb3IoCisr ICAgICAgICAgICAgICAgICAgICAiWW91ciBwcm94eSBhcHBlYXJzIHRvIG9ubHkgdXNlIEhUVFAg YW5kIG5vdCBIVFRQUywgIgorKyAgICAgICAgICAgICAgICAgICAgInRyeSBjaGFuZ2luZyB5b3Vy IHByb3h5IFVSTCB0byBiZSBIVFRQLiBTZWU6ICIKKysgICAgICAgICAgICAgICAgICAgICJodHRw czovL3VybGxpYjMucmVhZHRoZWRvY3MuaW8vZW4vMS4yNi54L2FkdmFuY2VkLXVzYWdlLmh0bWwi CisrICAgICAgICAgICAgICAgICAgICAiI2h0dHBzLXByb3h5LWVycm9yLWh0dHAtcHJveHkiLAor KyAgICAgICAgICAgICAgICAgICAgU1NMRXJyb3IoZSksCisrICAgICAgICAgICAgICAgICkKKysg ICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UoZSwgKEJhc2VTU0xFcnJvciwgQ2VydGlmaWNhdGVF cnJvcikpOgorICAgICAgICAgICAgICAgICBlID0gU1NMRXJyb3IoZSkKKyAgICAgICAgICAgICBl bGlmIGlzaW5zdGFuY2UoZSwgKFNvY2tldEVycm9yLCBOZXdDb25uZWN0aW9uRXJyb3IpKSBhbmQg c2VsZi5wcm94eToKKyAgICAgICAgICAgICAgICAgZSA9IFByb3h5RXJyb3IoIkNhbm5vdCBjb25u ZWN0IHRvIHByb3h5LiIsIGUpCitAQCAtODMwLDcgKzg3Myw3IEBAIGRlZiB1cmxvcGVuKAorICAg ICAgICAgICAgICkKKyAKKyAgICAgICAgICMgQ2hlY2sgaWYgd2Ugc2hvdWxkIHJldHJ5IHRoZSBI VFRQIHJlc3BvbnNlLgorLSAgICAgICAgaGFzX3JldHJ5X2FmdGVyID0gYm9vbChyZXNwb25zZS5n ZXRoZWFkZXIoIlJldHJ5LUFmdGVyIikpCisrICAgICAgICBoYXNfcmV0cnlfYWZ0ZXIgPSBib29s KHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJSZXRyeS1BZnRlciIpKQorICAgICAgICAgaWYgcmV0cmll cy5pc19yZXRyeShtZXRob2QsIHJlc3BvbnNlLnN0YXR1cywgaGFzX3JldHJ5X2FmdGVyKToKKyAg ICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIHJldHJpZXMgPSByZXRyaWVzLmluY3Jl bWVudChtZXRob2QsIHVybCwgcmVzcG9uc2U9cmVzcG9uc2UsIF9wb29sPXNlbGYpCitAQCAtMTAx NCwxMiArMTA1NywyMyBAQCBkZWYgX3ZhbGlkYXRlX2Nvbm4oc2VsZiwgY29ubik6CisgICAgICAg ICAgICAgICAgICgKKyAgICAgICAgICAgICAgICAgICAgICJVbnZlcmlmaWVkIEhUVFBTIHJlcXVl c3QgaXMgYmVpbmcgbWFkZSB0byBob3N0ICclcycuICIKKyAgICAgICAgICAgICAgICAgICAgICJB ZGRpbmcgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGlzIHN0cm9uZ2x5IGFkdmlzZWQuIFNlZTog IgorLSAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vdXJsbGliMy5yZWFkdGhlZG9jcy5pby9l bi9sYXRlc3QvYWR2YW5jZWQtdXNhZ2UuaHRtbCIKKysgICAgICAgICAgICAgICAgICAgICJodHRw czovL3VybGxpYjMucmVhZHRoZWRvY3MuaW8vZW4vMS4yNi54L2FkdmFuY2VkLXVzYWdlLmh0bWwi CisgICAgICAgICAgICAgICAgICAgICAiI3NzbC13YXJuaW5ncyIgJSBjb25uLmhvc3QKKyAgICAg ICAgICAgICAgICAgKSwKKyAgICAgICAgICAgICAgICAgSW5zZWN1cmVSZXF1ZXN0V2FybmluZywK KyAgICAgICAgICAgICApCisgCisrICAgICAgICBpZiBnZXRhdHRyKGNvbm4sICJwcm94eV9pc192 ZXJpZmllZCIsIE5vbmUpIGlzIEZhbHNlOgorKyAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oCisr ICAgICAgICAgICAgICAgICgKKysgICAgICAgICAgICAgICAgICAgICJVbnZlcmlmaWVkIEhUVFBT IGNvbm5lY3Rpb24gZG9uZSB0byBhbiBIVFRQUyBwcm94eS4gIgorKyAgICAgICAgICAgICAgICAg ICAgIkFkZGluZyBjZXJ0aWZpY2F0ZSB2ZXJpZmljYXRpb24gaXMgc3Ryb25nbHkgYWR2aXNlZC4g U2VlOiAiCisrICAgICAgICAgICAgICAgICAgICAiaHR0cHM6Ly91cmxsaWIzLnJlYWR0aGVkb2Nz LmlvL2VuLzEuMjYueC9hZHZhbmNlZC11c2FnZS5odG1sIgorKyAgICAgICAgICAgICAgICAgICAg IiNzc2wtd2FybmluZ3MiCisrICAgICAgICAgICAgICAgICksCisrICAgICAgICAgICAgICAgIElu c2VjdXJlUmVxdWVzdFdhcm5pbmcsCisrICAgICAgICAgICAgKQorKworIAorIGRlZiBjb25uZWN0 aW9uX2Zyb21fdXJsKHVybCwgKiprdyk6CisgICAgICIiIgorQEAgLTEwNjUsMyArMTExOSwxNCBA QCBkZWYgX25vcm1hbGl6ZV9ob3N0KGhvc3QsIHNjaGVtZSk6CisgICAgIGlmIGhvc3Quc3RhcnRz d2l0aCgiWyIpIGFuZCBob3N0LmVuZHN3aXRoKCJdIik6CisgICAgICAgICBob3N0ID0gaG9zdFsx Oi0xXQorICAgICByZXR1cm4gaG9zdAorKworKworK2RlZiBfY2xvc2VfcG9vbF9jb25uZWN0aW9u cyhwb29sKToKKysgICAgIiIiRHJhaW5zIGEgcXVldWUgb2YgY29ubmVjdGlvbnMgYW5kIGNsb3Nl cyBlYWNoIG9uZS4iIiIKKysgICAgdHJ5OgorKyAgICAgICAgd2hpbGUgVHJ1ZToKKysgICAgICAg ICAgICBjb25uID0gcG9vbC5nZXQoYmxvY2s9RmFsc2UpCisrICAgICAgICAgICAgaWYgY29ubjoK KysgICAgICAgICAgICAgICAgY29ubi5jbG9zZSgpCisrICAgIGV4Y2VwdCBxdWV1ZS5FbXB0eToK KysgICAgICAgIHBhc3MgICMgRG9uZS4KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24v dXJsbGliMy91cmxsaWIzL2NvbnRyaWIvX3NlY3VyZXRyYW5zcG9ydC9iaW5kaW5ncy5weSBiL3Ro aXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvY29udHJpYi9fc2VjdXJldHJhbnNwb3J0 L2JpbmRpbmdzLnB5CitpbmRleCAxMTUyNGQ0MDBiYWIyLi4yNjRkNTY0ZGJkYTY3IDEwMDY0NAor LS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy9jb250cmliL19zZWN1cmV0 cmFuc3BvcnQvYmluZGluZ3MucHkKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3Vy bGxpYjMvY29udHJpYi9fc2VjdXJldHJhbnNwb3J0L2JpbmRpbmdzLnB5CitAQCAtNDgsNyArNDgs NyBAQAorICkKKyBmcm9tIGN0eXBlcy51dGlsIGltcG9ydCBmaW5kX2xpYnJhcnkKKyAKKy1mcm9t IHVybGxpYjMucGFja2FnZXMuc2l4IGltcG9ydCByYWlzZV9mcm9tCisrZnJvbSAuLi5wYWNrYWdl cy5zaXggaW1wb3J0IHJhaXNlX2Zyb20KKyAKKyBpZiBwbGF0Zm9ybS5zeXN0ZW0oKSAhPSAiRGFy d2luIjoKKyAgICAgcmFpc2UgSW1wb3J0RXJyb3IoIk9ubHkgbWFjT1MgaXMgc3VwcG9ydGVkIikK K2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL2NvbnRyaWIv X3NlY3VyZXRyYW5zcG9ydC9sb3dfbGV2ZWwucHkgYi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGli My91cmxsaWIzL2NvbnRyaWIvX3NlY3VyZXRyYW5zcG9ydC9sb3dfbGV2ZWwucHkKK2luZGV4IGVk ODEyMDE5MGMwNmYuLmZhMGIyNDVkMjc5ZTkgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9weXRo b24vdXJsbGliMy91cmxsaWIzL2NvbnRyaWIvX3NlY3VyZXRyYW5zcG9ydC9sb3dfbGV2ZWwucHkK KysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvY29udHJpYi9fc2VjdXJl dHJhbnNwb3J0L2xvd19sZXZlbC5weQorQEAgLTE4OCw2ICsxODgsNyBAQCBkZWYgX2NlcnRfYXJy YXlfZnJvbV9wZW0ocGVtX2J1bmRsZSk6CisgICAgICAgICAjIFdlIG9ubHkgd2FudCB0byBkbyB0 aGF0IGlmIGFuIGVycm9yIG9jY3Vyczogb3RoZXJ3aXNlLCB0aGUgY2FsbGVyCisgICAgICAgICAj IHNob3VsZCBmcmVlLgorICAgICAgICAgQ29yZUZvdW5kYXRpb24uQ0ZSZWxlYXNlKGNlcnRfYXJy YXkpCisrICAgICAgICByYWlzZQorIAorICAgICByZXR1cm4gY2VydF9hcnJheQorIAorZGlmZiAt LWdpdCBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvY29udHJpYi9hcHBlbmdp bmUucHkgYi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL2NvbnRyaWIvYXBwZW5n aW5lLnB5CitpbmRleCBhYTY0YTA5MTRjNjAxLi5hNWE2ZDkxMDM1ZjBhIDEwMDY0NAorLS0tIGEv dGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy9jb250cmliL2FwcGVuZ2luZS5weQor KysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy9jb250cmliL2FwcGVuZ2lu ZS5weQorQEAgLTExMSw3ICsxMTEsNyBAQCBkZWYgX19pbml0X18oCisgICAgICAgICB3YXJuaW5n cy53YXJuKAorICAgICAgICAgICAgICJ1cmxsaWIzIGlzIHVzaW5nIFVSTEZldGNoIG9uIEdvb2ds ZSBBcHAgRW5naW5lIHNhbmRib3ggaW5zdGVhZCAiCisgICAgICAgICAgICAgIm9mIHNvY2tldHMu IFRvIHVzZSBzb2NrZXRzIGRpcmVjdGx5IGluc3RlYWQgb2YgVVJMRmV0Y2ggc2VlICIKKy0gICAg ICAgICAgICAiaHR0cHM6Ly91cmxsaWIzLnJlYWR0aGVkb2NzLmlvL2VuL2xhdGVzdC9yZWZlcmVu Y2UvdXJsbGliMy5jb250cmliLmh0bWwuIiwKKysgICAgICAgICAgICAiaHR0cHM6Ly91cmxsaWIz LnJlYWR0aGVkb2NzLmlvL2VuLzEuMjYueC9yZWZlcmVuY2UvdXJsbGliMy5jb250cmliLmh0bWwu IiwKKyAgICAgICAgICAgICBBcHBFbmdpbmVQbGF0Zm9ybVdhcm5pbmcsCisgICAgICAgICApCisg CitAQCAtMjI0LDcgKzIyNCw3IEBAIGRlZiB1cmxvcGVuKAorICAgICAgICAgICAgICAgICApCisg CisgICAgICAgICAjIENoZWNrIGlmIHdlIHNob3VsZCByZXRyeSB0aGUgSFRUUCByZXNwb25zZS4K Ky0gICAgICAgIGhhc19yZXRyeV9hZnRlciA9IGJvb2woaHR0cF9yZXNwb25zZS5nZXRoZWFkZXIo IlJldHJ5LUFmdGVyIikpCisrICAgICAgICBoYXNfcmV0cnlfYWZ0ZXIgPSBib29sKGh0dHBfcmVz cG9uc2UuaGVhZGVycy5nZXQoIlJldHJ5LUFmdGVyIikpCisgICAgICAgICBpZiByZXRyaWVzLmlz X3JldHJ5KG1ldGhvZCwgaHR0cF9yZXNwb25zZS5zdGF0dXMsIGhhc19yZXRyeV9hZnRlcik6Cisg ICAgICAgICAgICAgcmV0cmllcyA9IHJldHJpZXMuaW5jcmVtZW50KG1ldGhvZCwgdXJsLCByZXNw b25zZT1odHRwX3Jlc3BvbnNlLCBfcG9vbD1zZWxmKQorICAgICAgICAgICAgIGxvZy5kZWJ1Zygi UmV0cnk6ICVzIiwgdXJsKQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIz L3VybGxpYjMvY29udHJpYi9udGxtcG9vbC5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIz L3VybGxpYjMvY29udHJpYi9udGxtcG9vbC5weQoraW5kZXggYjJkZjQ1ZGNmNjA2NS4uNDcxNjY1 NzU0ZTlmMSAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMv Y29udHJpYi9udGxtcG9vbC5weQorKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJs bGliMy9jb250cmliL250bG1wb29sLnB5CitAQCAtNSw2ICs1LDcgQEAKKyAiIiIKKyBmcm9tIF9f ZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAorIAorK2ltcG9ydCB3YXJuaW5ncworIGZy b20gbG9nZ2luZyBpbXBvcnQgZ2V0TG9nZ2VyCisgCisgZnJvbSBudGxtIGltcG9ydCBudGxtCitA QCAtMTIsNiArMTMsMTQgQEAKKyBmcm9tIC4uIGltcG9ydCBIVFRQU0Nvbm5lY3Rpb25Qb29sCisg ZnJvbSAuLnBhY2thZ2VzLnNpeC5tb3Zlcy5odHRwX2NsaWVudCBpbXBvcnQgSFRUUFNDb25uZWN0 aW9uCisgCisrd2FybmluZ3Mud2FybigKKysgICAgIlRoZSAndXJsbGliMy5jb250cmliLm50bG1w b29sJyBtb2R1bGUgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkICIKKysgICAgImlu IHVybGxpYjMgdjIuMCByZWxlYXNlLCB1cmxsaWIzIGlzIG5vdCBhYmxlIHRvIHN1cHBvcnQgaXQg cHJvcGVybHkgZHVlICIKKysgICAgInRvIHJlYXNvbnMgbGlzdGVkIGluIGlzc3VlOiBodHRwczov L2dpdGh1Yi5jb20vdXJsbGliMy91cmxsaWIzL2lzc3Vlcy8yMjgyLiAiCisrICAgICJJZiB5b3Ug YXJlIGEgdXNlciBvZiB0aGlzIG1vZHVsZSBwbGVhc2UgY29tbWVudCBpbiB0aGUgbWVudGlvbmVk IGlzc3VlLiIsCisrICAgIERlcHJlY2F0aW9uV2FybmluZywKKyspCisrCisgbG9nID0gZ2V0TG9n Z2VyKF9fbmFtZV9fKQorIAorIAorQEAgLTYwLDcgKzY5LDcgQEAgZGVmIF9uZXdfY29ubihzZWxm KToKKyAgICAgICAgIGxvZy5kZWJ1ZygiUmVxdWVzdCBoZWFkZXJzOiAlcyIsIGhlYWRlcnMpCisg ICAgICAgICBjb25uLnJlcXVlc3QoIkdFVCIsIHNlbGYuYXV0aHVybCwgTm9uZSwgaGVhZGVycykK KyAgICAgICAgIHJlcyA9IGNvbm4uZ2V0cmVzcG9uc2UoKQorLSAgICAgICAgcmVzaGRyID0gZGlj dChyZXMuZ2V0aGVhZGVycygpKQorKyAgICAgICAgcmVzaGRyID0gZGljdChyZXMuaGVhZGVycykK KyAgICAgICAgIGxvZy5kZWJ1ZygiUmVzcG9uc2Ugc3RhdHVzOiAlcyAlcyIsIHJlcy5zdGF0dXMs IHJlcy5yZWFzb24pCisgICAgICAgICBsb2cuZGVidWcoIlJlc3BvbnNlIGhlYWRlcnM6ICVzIiwg cmVzaGRyKQorICAgICAgICAgbG9nLmRlYnVnKCJSZXNwb25zZSBkYXRhOiAlcyBbLi4uXSIsIHJl cy5yZWFkKDEwMCkpCitAQCAtOTIsNyArMTAxLDcgQEAgZGVmIF9uZXdfY29ubihzZWxmKToKKyAg ICAgICAgIGNvbm4ucmVxdWVzdCgiR0VUIiwgc2VsZi5hdXRodXJsLCBOb25lLCBoZWFkZXJzKQor ICAgICAgICAgcmVzID0gY29ubi5nZXRyZXNwb25zZSgpCisgICAgICAgICBsb2cuZGVidWcoIlJl c3BvbnNlIHN0YXR1czogJXMgJXMiLCByZXMuc3RhdHVzLCByZXMucmVhc29uKQorLSAgICAgICAg bG9nLmRlYnVnKCJSZXNwb25zZSBoZWFkZXJzOiAlcyIsIGRpY3QocmVzLmdldGhlYWRlcnMoKSkp CisrICAgICAgICBsb2cuZGVidWcoIlJlc3BvbnNlIGhlYWRlcnM6ICVzIiwgZGljdChyZXMuaGVh ZGVycykpCisgICAgICAgICBsb2cuZGVidWcoIlJlc3BvbnNlIGRhdGE6ICVzIFsuLi5dIiwgcmVz LnJlYWQoKVs6MTAwXSkKKyAgICAgICAgIGlmIHJlcy5zdGF0dXMgIT0gMjAwOgorICAgICAgICAg ICAgIGlmIHJlcy5zdGF0dXMgPT0gNDAxOgorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3B5dGhv bi91cmxsaWIzL3VybGxpYjMvY29udHJpYi9weW9wZW5zc2wucHkgYi90aGlyZF9wYXJ0eS9weXRo b24vdXJsbGliMy91cmxsaWIzL2NvbnRyaWIvcHlvcGVuc3NsLnB5CitpbmRleCAwY2FiYWIxYWVk MTRhLi4xZWQyMTRiMWQ3OGZjIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxp YjMvdXJsbGliMy9jb250cmliL3B5b3BlbnNzbC5weQorKysrIGIvdGhpcmRfcGFydHkvcHl0aG9u L3VybGxpYjMvdXJsbGliMy9jb250cmliL3B5b3BlbnNzbC5weQorQEAgLTQ3LDEwICs0NywxMCBA QAorICIiIgorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisgCisraW1w b3J0IE9wZW5TU0wuY3J5cHRvCisgaW1wb3J0IE9wZW5TU0wuU1NMCisgZnJvbSBjcnlwdG9ncmFw aHkgaW1wb3J0IHg1MDkKKyBmcm9tIGNyeXB0b2dyYXBoeS5oYXptYXQuYmFja2VuZHMub3BlbnNz bCBpbXBvcnQgYmFja2VuZCBhcyBvcGVuc3NsX2JhY2tlbmQKKy1mcm9tIGNyeXB0b2dyYXBoeS5o YXptYXQuYmFja2VuZHMub3BlbnNzbC54NTA5IGltcG9ydCBfQ2VydGlmaWNhdGUKKyAKKyB0cnk6 CisgICAgIGZyb20gY3J5cHRvZ3JhcGh5Lng1MDkgaW1wb3J0IFVuc3VwcG9ydGVkRXh0ZW5zaW9u CitAQCAtNzMsOSArNzMsMTkgQEAgY2xhc3MgVW5zdXBwb3J0ZWRFeHRlbnNpb24oRXhjZXB0aW9u KToKKyBpbXBvcnQgbG9nZ2luZworIGltcG9ydCBzc2wKKyBpbXBvcnQgc3lzCisraW1wb3J0IHdh cm5pbmdzCisgCisgZnJvbSAuLiBpbXBvcnQgdXRpbAorIGZyb20gLi5wYWNrYWdlcyBpbXBvcnQg c2l4CisrZnJvbSAuLnV0aWwuc3NsXyBpbXBvcnQgUFJPVE9DT0xfVExTX0NMSUVOVAorKworK3dh cm5pbmdzLndhcm4oCisrICAgICIndXJsbGliMy5jb250cmliLnB5b3BlbnNzbCcgbW9kdWxlIGlz IGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCAiCisrICAgICJpbiBhIGZ1dHVyZSByZWxl YXNlIG9mIHVybGxpYjMgMi54LiBSZWFkIG1vcmUgaW4gdGhpcyBpc3N1ZTogIgorKyAgICAiaHR0 cHM6Ly9naXRodWIuY29tL3VybGxpYjMvdXJsbGliMy9pc3N1ZXMvMjY4MCIsCisrICAgIGNhdGVn b3J5PURlcHJlY2F0aW9uV2FybmluZywKKysgICAgc3RhY2tsZXZlbD0yLAorKykKKyAKKyBfX2Fs bF9fID0gWyJpbmplY3RfaW50b191cmxsaWIzIiwgImV4dHJhY3RfZnJvbV91cmxsaWIzIl0KKyAK K0BAIC04NSw2ICs5NSw3IEBAIGNsYXNzIFVuc3VwcG9ydGVkRXh0ZW5zaW9uKEV4Y2VwdGlvbik6 CisgIyBNYXAgZnJvbSB1cmxsaWIzIHRvIFB5T3BlblNTTCBjb21wYXRpYmxlIHBhcmFtZXRlci12 YWx1ZXMuCisgX29wZW5zc2xfdmVyc2lvbnMgPSB7CisgICAgIHV0aWwuUFJPVE9DT0xfVExTOiBP cGVuU1NMLlNTTC5TU0x2MjNfTUVUSE9ELAorKyAgICBQUk9UT0NPTF9UTFNfQ0xJRU5UOiBPcGVu U1NMLlNTTC5TU0x2MjNfTUVUSE9ELAorICAgICBzc2wuUFJPVE9DT0xfVExTdjE6IE9wZW5TU0wu U1NMLlRMU3YxX01FVEhPRCwKKyB9CisgCitAQCAtMjE3LDkgKzIyOCw4IEBAIGRlZiBnZXRfc3Vi al9hbHRfbmFtZShwZWVyX2NlcnQpOgorICAgICBpZiBoYXNhdHRyKHBlZXJfY2VydCwgInRvX2Ny eXB0b2dyYXBoeSIpOgorICAgICAgICAgY2VydCA9IHBlZXJfY2VydC50b19jcnlwdG9ncmFwaHko KQorICAgICBlbHNlOgorLSAgICAgICAgIyBUaGlzIGlzIHRlY2huaWNhbGx5IHVzaW5nIHByaXZh dGUgQVBJcywgYnV0IHNob3VsZCB3b3JrIGFjcm9zcyBhbGwKKy0gICAgICAgICMgcmVsZXZhbnQg dmVyc2lvbnMgYmVmb3JlIFB5T3BlblNTTCBnb3QgYSBwcm9wZXIgQVBJIGZvciB0aGlzLgorLSAg ICAgICAgY2VydCA9IF9DZXJ0aWZpY2F0ZShvcGVuc3NsX2JhY2tlbmQsIHBlZXJfY2VydC5feDUw OSkKKysgICAgICAgIGRlciA9IE9wZW5TU0wuY3J5cHRvLmR1bXBfY2VydGlmaWNhdGUoT3BlblNT TC5jcnlwdG8uRklMRVRZUEVfQVNOMSwgcGVlcl9jZXJ0KQorKyAgICAgICAgY2VydCA9IHg1MDku bG9hZF9kZXJfeDUwOV9jZXJ0aWZpY2F0ZShkZXIsIG9wZW5zc2xfYmFja2VuZCkKKyAKKyAgICAg IyBXZSB3YW50IHRvIGZpbmQgdGhlIFNBTiBleHRlbnNpb24uIEFzayBDcnlwdG9ncmFwaHkgdG8g bG9jYXRlIGl0IChpdCdzCisgICAgICMgZmFzdGVyIHRoYW4gbG9vcGluZyBpbiBQeXRob24pCitA QCAtNDA0LDcgKzQxNCw2IEBAIGRlZiBtYWtlZmlsZShzZWxmLCBtb2RlLCBidWZzaXplPS0xKToK KyAgICAgICAgIHNlbGYuX21ha2VmaWxlX3JlZnMgKz0gMQorICAgICAgICAgcmV0dXJuIF9maWxl b2JqZWN0KHNlbGYsIG1vZGUsIGJ1ZnNpemUsIGNsb3NlPVRydWUpCisgCistCisgZWxzZTogICMg UGxhdGZvcm0tc3BlY2lmaWM6IFB5dGhvbiAzCisgICAgIG1ha2VmaWxlID0gYmFja3BvcnRfbWFr ZWZpbGUKKyAKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIz L2NvbnRyaWIvc2VjdXJldHJhbnNwb3J0LnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMv dXJsbGliMy9jb250cmliL3NlY3VyZXRyYW5zcG9ydC5weQoraW5kZXggYWIwOTJkZTY3YTU3Yy4u NmM0NmEzYjlmMDM3NSAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3Vy bGxpYjMvY29udHJpYi9zZWN1cmV0cmFuc3BvcnQucHkKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhv bi91cmxsaWIzL3VybGxpYjMvY29udHJpYi9zZWN1cmV0cmFuc3BvcnQucHkKK0BAIC02Nyw2ICs2 Nyw3IEBACisgaW1wb3J0IHNpeAorIAorIGZyb20gLi4gaW1wb3J0IHV0aWwKKytmcm9tIC4udXRp bC5zc2xfIGltcG9ydCBQUk9UT0NPTF9UTFNfQ0xJRU5UCisgZnJvbSAuX3NlY3VyZXRyYW5zcG9y dC5iaW5kaW5ncyBpbXBvcnQgQ29yZUZvdW5kYXRpb24sIFNlY3VyaXR5LCBTZWN1cml0eUNvbnN0 CisgZnJvbSAuX3NlY3VyZXRyYW5zcG9ydC5sb3dfbGV2ZWwgaW1wb3J0ICgKKyAgICAgX2Fzc2Vy dF9ub19lcnJvciwKK0BAIC0xNTQsNyArMTU1LDggQEAKKyAjIFRMU3YxIGFuZCBhIGhpZ2ggb2Yg VExTdjEuMi4gRm9yIGV2ZXJ5dGhpbmcgZWxzZSwgd2UgcGluIHRvIHRoYXQgdmVyc2lvbi4KKyAj IFRMU3YxIHRvIDEuMiBhcmUgc3VwcG9ydGVkIG9uIG1hY09TIDEwLjgrCisgX3Byb3RvY29sX3Rv X21pbl9tYXggPSB7CistICAgIHV0aWwuUFJPVE9DT0xfVExTOiAoU2VjdXJpdHlDb25zdC5rVExT UHJvdG9jb2wxLCBTZWN1cml0eUNvbnN0LmtUTFNQcm90b2NvbDEyKQorKyAgICB1dGlsLlBST1RP Q09MX1RMUzogKFNlY3VyaXR5Q29uc3Qua1RMU1Byb3RvY29sMSwgU2VjdXJpdHlDb25zdC5rVExT UHJvdG9jb2wxMiksCisrICAgIFBST1RPQ09MX1RMU19DTElFTlQ6IChTZWN1cml0eUNvbnN0LmtU TFNQcm90b2NvbDEsIFNlY3VyaXR5Q29uc3Qua1RMU1Byb3RvY29sMTIpLAorIH0KKyAKKyBpZiBo YXNhdHRyKHNzbCwgIlBST1RPQ09MX1NTTHYyIik6CitAQCAtNzY4LDcgKzc3MCw2IEBAIGRlZiBt YWtlZmlsZShzZWxmLCBtb2RlLCBidWZzaXplPS0xKToKKyAgICAgICAgIHNlbGYuX21ha2VmaWxl X3JlZnMgKz0gMQorICAgICAgICAgcmV0dXJuIF9maWxlb2JqZWN0KHNlbGYsIG1vZGUsIGJ1ZnNp emUsIGNsb3NlPVRydWUpCisgCistCisgZWxzZTogICMgUGxhdGZvcm0tc3BlY2lmaWM6IFB5dGhv biAzCisgCisgICAgIGRlZiBtYWtlZmlsZShzZWxmLCBtb2RlPSJyIiwgYnVmZmVyaW5nPU5vbmUs ICphcmdzLCAqKmt3YXJncyk6CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxp YjMvdXJsbGliMy9jb250cmliL3NvY2tzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMv dXJsbGliMy9jb250cmliL3NvY2tzLnB5CitpbmRleCA5M2RmODMyNWQ1OWM0Li5jMzI2ZTgwZGQx MTc0IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy9jb250 cmliL3NvY2tzLnB5CisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL2Nv bnRyaWIvc29ja3MucHkKK0BAIC01MSw3ICs1MSw3IEBACisgICAgICAgICAoCisgICAgICAgICAg ICAgIlNPQ0tTIHN1cHBvcnQgaW4gdXJsbGliMyByZXF1aXJlcyB0aGUgaW5zdGFsbGF0aW9uIG9m IG9wdGlvbmFsICIKKyAgICAgICAgICAgICAiZGVwZW5kZW5jaWVzOiBzcGVjaWZpY2FsbHksIFB5 U29ja3MuICBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlICIKKy0gICAgICAgICAgICAiaHR0cHM6 Ly91cmxsaWIzLnJlYWR0aGVkb2NzLmlvL2VuL2xhdGVzdC9jb250cmliLmh0bWwjc29ja3MtcHJv eGllcyIKKysgICAgICAgICAgICAiaHR0cHM6Ly91cmxsaWIzLnJlYWR0aGVkb2NzLmlvL2VuLzEu MjYueC9jb250cmliLmh0bWwjc29ja3MtcHJveGllcyIKKyAgICAgICAgICksCisgICAgICAgICBE ZXBlbmRlbmN5V2FybmluZywKKyAgICAgKQorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3B5dGhv bi91cmxsaWIzL3VybGxpYjMvZXhjZXB0aW9ucy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxs aWIzL3VybGxpYjMvZXhjZXB0aW9ucy5weQoraW5kZXggZDY5OTU4ZDVkZmMyOS4uY2JhNmYzZjU2 MGY3MSAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvZXhj ZXB0aW9ucy5weQorKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy9leGNl cHRpb25zLnB5CitAQCAtMjg5LDcgKzI4OSwxNyBAQCBjbGFzcyBQcm94eVNjaGVtZVVua25vd24o QXNzZXJ0aW9uRXJyb3IsIFVSTFNjaGVtZVVua25vd24pOgorICAgICAjIFRPRE8odC04Y2gpOiBT dG9wIGluaGVyaXRpbmcgZnJvbSBBc3NlcnRpb25FcnJvciBpbiB2Mi4wLgorIAorICAgICBkZWYg X19pbml0X18oc2VsZiwgc2NoZW1lKToKKy0gICAgICAgIG1lc3NhZ2UgPSAiTm90IHN1cHBvcnRl ZCBwcm94eSBzY2hlbWUgJXMiICUgc2NoZW1lCisrICAgICAgICAjICdsb2NhbGhvc3QnIGlzIGhl cmUgYmVjYXVzZSBvdXIgVVJMIHBhcnNlciBwYXJzZXMKKysgICAgICAgICMgbG9jYWxob3N0Ojgw ODAgLT4gc2NoZW1lPWxvY2FsaG9zdCwgcmVtb3ZlIGlmIHdlIGZpeCB0aGlzLgorKyAgICAgICAg aWYgc2NoZW1lID09ICJsb2NhbGhvc3QiOgorKyAgICAgICAgICAgIHNjaGVtZSA9IE5vbmUKKysg ICAgICAgIGlmIHNjaGVtZSBpcyBOb25lOgorKyAgICAgICAgICAgIG1lc3NhZ2UgPSAiUHJveHkg VVJMIGhhZCBubyBzY2hlbWUsIHNob3VsZCBzdGFydCB3aXRoIGh0dHA6Ly8gb3IgaHR0cHM6Ly8i CisrICAgICAgICBlbHNlOgorKyAgICAgICAgICAgIG1lc3NhZ2UgPSAoCisrICAgICAgICAgICAg ICAgICJQcm94eSBVUkwgaGFkIHVuc3VwcG9ydGVkIHNjaGVtZSAlcywgc2hvdWxkIHVzZSBodHRw Oi8vIG9yIGh0dHBzOi8vIgorKyAgICAgICAgICAgICAgICAlIHNjaGVtZQorKyAgICAgICAgICAg ICkKKyAgICAgICAgIHN1cGVyKFByb3h5U2NoZW1lVW5rbm93biwgc2VsZikuX19pbml0X18obWVz c2FnZSkKKyAKKyAKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxs aWIzL3BhY2thZ2VzL19faW5pdF9fLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJs bGliMy9wYWNrYWdlcy9fX2luaXRfXy5weQoraW5kZXggZmNlNGNhYTY1ZDJlZS4uZTY5ZGUyOWJi MmQxZCAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvcGFj a2FnZXMvX19pbml0X18ucHkKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxp YjMvcGFja2FnZXMvX19pbml0X18ucHkKK0BAIC0xLDUgKzAsMCBAQAorLWZyb20gX19mdXR1cmVf XyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CistCistZnJvbSAuIGltcG9ydCBzc2xfbWF0Y2hfaG9z dG5hbWUKKy0KKy1fX2FsbF9fID0gKCJzc2xfbWF0Y2hfaG9zdG5hbWUiLCkKK2RpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3BhY2thZ2VzL2JhY2twb3J0cy93 ZWFrcmVmX2ZpbmFsaXplLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy9w YWNrYWdlcy9iYWNrcG9ydHMvd2Vha3JlZl9maW5hbGl6ZS5weQorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAwMDAuLmEyZjI5NjZlNTQ5NjYKKy0tLSAvZGV2L251bGwKKysr KyBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvcGFja2FnZXMvYmFja3BvcnRz L3dlYWtyZWZfZmluYWxpemUucHkKK0BAIC0wLDAgKzEsMTU1IEBACisrIyAtKi0gY29kaW5nOiB1 dGYtOCAtKi0KKysiIiIKKytiYWNrcG9ydHMud2Vha3JlZl9maW5hbGl6ZQorK35+fn5+fn5+fn5+ fn5+fn5+fgorKworK0JhY2twb3J0cyB0aGUgUHl0aG9uIDMgYGB3ZWFrcmVmLmZpbmFsaXplYGAg bWV0aG9kLgorKyIiIgorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Cisr CisraW1wb3J0IGl0ZXJ0b29scworK2ltcG9ydCBzeXMKKytmcm9tIHdlYWtyZWYgaW1wb3J0IHJl ZgorKworK19fYWxsX18gPSBbIndlYWtyZWZfZmluYWxpemUiXQorKworKworK2NsYXNzIHdlYWty ZWZfZmluYWxpemUob2JqZWN0KToKKysgICAgIiIiQ2xhc3MgZm9yIGZpbmFsaXphdGlvbiBvZiB3 ZWFrcmVmYWJsZSBvYmplY3RzCisrICAgIGZpbmFsaXplKG9iaiwgZnVuYywgKmFyZ3MsICoqa3dh cmdzKSByZXR1cm5zIGEgY2FsbGFibGUgZmluYWxpemVyCisrICAgIG9iamVjdCB3aGljaCB3aWxs IGJlIGNhbGxlZCB3aGVuIG9iaiBpcyBnYXJiYWdlIGNvbGxlY3RlZC4gVGhlCisrICAgIGZpcnN0 IHRpbWUgdGhlIGZpbmFsaXplciBpcyBjYWxsZWQgaXQgZXZhbHVhdGVzIGZ1bmMoKmFyZywgKipr d2FyZ3MpCisrICAgIGFuZCByZXR1cm5zIHRoZSByZXN1bHQuIEFmdGVyIHRoaXMgdGhlIGZpbmFs aXplciBpcyBkZWFkLCBhbmQKKysgICAgY2FsbGluZyBpdCBqdXN0IHJldHVybnMgTm9uZS4KKysg ICAgV2hlbiB0aGUgcHJvZ3JhbSBleGl0cyBhbnkgcmVtYWluaW5nIGZpbmFsaXplcnMgZm9yIHdo aWNoIHRoZQorKyAgICBhdGV4aXQgYXR0cmlidXRlIGlzIHRydWUgd2lsbCBiZSBydW4gaW4gcmV2 ZXJzZSBvcmRlciBvZiBjcmVhdGlvbi4KKysgICAgQnkgZGVmYXVsdCBhdGV4aXQgaXMgdHJ1ZS4K KysgICAgIiIiCisrCisrICAgICMgRmluYWxpemVyIG9iamVjdHMgZG9uJ3QgaGF2ZSBhbnkgc3Rh dGUgb2YgdGhlaXIgb3duLiAgVGhleSBhcmUKKysgICAgIyBqdXN0IHVzZWQgYXMga2V5cyB0byBs b29rdXAgX0luZm8gb2JqZWN0cyBpbiB0aGUgcmVnaXN0cnkuICBUaGlzCisrICAgICMgZW5zdXJl cyB0aGF0IHRoZXkgY2Fubm90IGJlIHBhcnQgb2YgYSByZWYtY3ljbGUuCisrCisrICAgIF9fc2xv dHNfXyA9ICgpCisrICAgIF9yZWdpc3RyeSA9IHt9CisrICAgIF9zaHV0ZG93biA9IEZhbHNlCisr ICAgIF9pbmRleF9pdGVyID0gaXRlcnRvb2xzLmNvdW50KCkKKysgICAgX2RpcnR5ID0gRmFsc2UK KysgICAgX3JlZ2lzdGVyZWRfd2l0aF9hdGV4aXQgPSBGYWxzZQorKworKyAgICBjbGFzcyBfSW5m byhvYmplY3QpOgorKyAgICAgICAgX19zbG90c19fID0gKCJ3ZWFrcmVmIiwgImZ1bmMiLCAiYXJn cyIsICJrd2FyZ3MiLCAiYXRleGl0IiwgImluZGV4IikKKysKKysgICAgZGVmIF9faW5pdF9fKHNl bGYsIG9iaiwgZnVuYywgKmFyZ3MsICoqa3dhcmdzKToKKysgICAgICAgIGlmIG5vdCBzZWxmLl9y ZWdpc3RlcmVkX3dpdGhfYXRleGl0OgorKyAgICAgICAgICAgICMgV2UgbWF5IHJlZ2lzdGVyIHRo ZSBleGl0IGZ1bmN0aW9uIG1vcmUgdGhhbiBvbmNlIGJlY2F1c2UKKysgICAgICAgICAgICAjIG9m IGEgdGhyZWFkIHJhY2UsIGJ1dCB0aGF0IGlzIGhhcm1sZXNzCisrICAgICAgICAgICAgaW1wb3J0 IGF0ZXhpdAorKworKyAgICAgICAgICAgIGF0ZXhpdC5yZWdpc3RlcihzZWxmLl9leGl0ZnVuYykK KysgICAgICAgICAgICB3ZWFrcmVmX2ZpbmFsaXplLl9yZWdpc3RlcmVkX3dpdGhfYXRleGl0ID0g VHJ1ZQorKyAgICAgICAgaW5mbyA9IHNlbGYuX0luZm8oKQorKyAgICAgICAgaW5mby53ZWFrcmVm ID0gcmVmKG9iaiwgc2VsZikKKysgICAgICAgIGluZm8uZnVuYyA9IGZ1bmMKKysgICAgICAgIGlu Zm8uYXJncyA9IGFyZ3MKKysgICAgICAgIGluZm8ua3dhcmdzID0ga3dhcmdzIG9yIE5vbmUKKysg ICAgICAgIGluZm8uYXRleGl0ID0gVHJ1ZQorKyAgICAgICAgaW5mby5pbmRleCA9IG5leHQoc2Vs Zi5faW5kZXhfaXRlcikKKysgICAgICAgIHNlbGYuX3JlZ2lzdHJ5W3NlbGZdID0gaW5mbworKyAg ICAgICAgd2Vha3JlZl9maW5hbGl6ZS5fZGlydHkgPSBUcnVlCisrCisrICAgIGRlZiBfX2NhbGxf XyhzZWxmLCBfPU5vbmUpOgorKyAgICAgICAgIiIiSWYgYWxpdmUgdGhlbiBtYXJrIGFzIGRlYWQg YW5kIHJldHVybiBmdW5jKCphcmdzLCAqKmt3YXJncyk7CisrICAgICAgICBvdGhlcndpc2UgcmV0 dXJuIE5vbmUiIiIKKysgICAgICAgIGluZm8gPSBzZWxmLl9yZWdpc3RyeS5wb3Aoc2VsZiwgTm9u ZSkKKysgICAgICAgIGlmIGluZm8gYW5kIG5vdCBzZWxmLl9zaHV0ZG93bjoKKysgICAgICAgICAg ICByZXR1cm4gaW5mby5mdW5jKCppbmZvLmFyZ3MsICoqKGluZm8ua3dhcmdzIG9yIHt9KSkKKysK KysgICAgZGVmIGRldGFjaChzZWxmKToKKysgICAgICAgICIiIklmIGFsaXZlIHRoZW4gbWFyayBh cyBkZWFkIGFuZCByZXR1cm4gKG9iaiwgZnVuYywgYXJncywga3dhcmdzKTsKKysgICAgICAgIG90 aGVyd2lzZSByZXR1cm4gTm9uZSIiIgorKyAgICAgICAgaW5mbyA9IHNlbGYuX3JlZ2lzdHJ5Lmdl dChzZWxmKQorKyAgICAgICAgb2JqID0gaW5mbyBhbmQgaW5mby53ZWFrcmVmKCkKKysgICAgICAg IGlmIG9iaiBpcyBub3QgTm9uZSBhbmQgc2VsZi5fcmVnaXN0cnkucG9wKHNlbGYsIE5vbmUpOgor KyAgICAgICAgICAgIHJldHVybiAob2JqLCBpbmZvLmZ1bmMsIGluZm8uYXJncywgaW5mby5rd2Fy Z3Mgb3Ige30pCisrCisrICAgIGRlZiBwZWVrKHNlbGYpOgorKyAgICAgICAgIiIiSWYgYWxpdmUg dGhlbiByZXR1cm4gKG9iaiwgZnVuYywgYXJncywga3dhcmdzKTsKKysgICAgICAgIG90aGVyd2lz ZSByZXR1cm4gTm9uZSIiIgorKyAgICAgICAgaW5mbyA9IHNlbGYuX3JlZ2lzdHJ5LmdldChzZWxm KQorKyAgICAgICAgb2JqID0gaW5mbyBhbmQgaW5mby53ZWFrcmVmKCkKKysgICAgICAgIGlmIG9i aiBpcyBub3QgTm9uZToKKysgICAgICAgICAgICByZXR1cm4gKG9iaiwgaW5mby5mdW5jLCBpbmZv LmFyZ3MsIGluZm8ua3dhcmdzIG9yIHt9KQorKworKyAgICBAcHJvcGVydHkKKysgICAgZGVmIGFs aXZlKHNlbGYpOgorKyAgICAgICAgIiIiV2hldGhlciBmaW5hbGl6ZXIgaXMgYWxpdmUiIiIKKysg ICAgICAgIHJldHVybiBzZWxmIGluIHNlbGYuX3JlZ2lzdHJ5CisrCisrICAgIEBwcm9wZXJ0eQor KyAgICBkZWYgYXRleGl0KHNlbGYpOgorKyAgICAgICAgIiIiV2hldGhlciBmaW5hbGl6ZXIgc2hv dWxkIGJlIGNhbGxlZCBhdCBleGl0IiIiCisrICAgICAgICBpbmZvID0gc2VsZi5fcmVnaXN0cnku Z2V0KHNlbGYpCisrICAgICAgICByZXR1cm4gYm9vbChpbmZvKSBhbmQgaW5mby5hdGV4aXQKKysK KysgICAgQGF0ZXhpdC5zZXR0ZXIKKysgICAgZGVmIGF0ZXhpdChzZWxmLCB2YWx1ZSk6CisrICAg ICAgICBpbmZvID0gc2VsZi5fcmVnaXN0cnkuZ2V0KHNlbGYpCisrICAgICAgICBpZiBpbmZvOgor KyAgICAgICAgICAgIGluZm8uYXRleGl0ID0gYm9vbCh2YWx1ZSkKKysKKysgICAgZGVmIF9fcmVw cl9fKHNlbGYpOgorKyAgICAgICAgaW5mbyA9IHNlbGYuX3JlZ2lzdHJ5LmdldChzZWxmKQorKyAg ICAgICAgb2JqID0gaW5mbyBhbmQgaW5mby53ZWFrcmVmKCkKKysgICAgICAgIGlmIG9iaiBpcyBO b25lOgorKyAgICAgICAgICAgIHJldHVybiAiPCVzIG9iamVjdCBhdCAlI3g7IGRlYWQ+IiAlICh0 eXBlKHNlbGYpLl9fbmFtZV9fLCBpZChzZWxmKSkKKysgICAgICAgIGVsc2U6CisrICAgICAgICAg ICAgcmV0dXJuICI8JXMgb2JqZWN0IGF0ICUjeDsgZm9yICVyIGF0ICUjeD4iICUgKAorKyAgICAg ICAgICAgICAgICB0eXBlKHNlbGYpLl9fbmFtZV9fLAorKyAgICAgICAgICAgICAgICBpZChzZWxm KSwKKysgICAgICAgICAgICAgICAgdHlwZShvYmopLl9fbmFtZV9fLAorKyAgICAgICAgICAgICAg ICBpZChvYmopLAorKyAgICAgICAgICAgICkKKysKKysgICAgQGNsYXNzbWV0aG9kCisrICAgIGRl ZiBfc2VsZWN0X2Zvcl9leGl0KGNscyk6CisrICAgICAgICAjIFJldHVybiBsaXZlIGZpbmFsaXpl cnMgbWFya2VkIGZvciBleGl0LCBvbGRlc3QgZmlyc3QKKysgICAgICAgIEwgPSBbKGYsIGkpIGZv ciAoZiwgaSkgaW4gY2xzLl9yZWdpc3RyeS5pdGVtcygpIGlmIGkuYXRleGl0XQorKyAgICAgICAg TC5zb3J0KGtleT1sYW1iZGEgaXRlbTogaXRlbVsxXS5pbmRleCkKKysgICAgICAgIHJldHVybiBb ZiBmb3IgKGYsIGkpIGluIExdCisrCisrICAgIEBjbGFzc21ldGhvZAorKyAgICBkZWYgX2V4aXRm dW5jKGNscyk6CisrICAgICAgICAjIEF0IHNodXRkb3duIGludm9rZSBmaW5hbGl6ZXJzIGZvciB3 aGljaCBhdGV4aXQgaXMgdHJ1ZS4KKysgICAgICAgICMgVGhpcyBpcyBjYWxsZWQgb25jZSBhbGwg b3RoZXIgbm9uLWRhZW1vbmljIHRocmVhZHMgaGF2ZSBiZWVuCisrICAgICAgICAjIGpvaW5lZC4K KysgICAgICAgIHJlZW5hYmxlX2djID0gRmFsc2UKKysgICAgICAgIHRyeToKKysgICAgICAgICAg ICBpZiBjbHMuX3JlZ2lzdHJ5OgorKyAgICAgICAgICAgICAgICBpbXBvcnQgZ2MKKysKKysgICAg ICAgICAgICAgICAgaWYgZ2MuaXNlbmFibGVkKCk6CisrICAgICAgICAgICAgICAgICAgICByZWVu YWJsZV9nYyA9IFRydWUKKysgICAgICAgICAgICAgICAgICAgIGdjLmRpc2FibGUoKQorKyAgICAg ICAgICAgICAgICBwZW5kaW5nID0gTm9uZQorKyAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgor KyAgICAgICAgICAgICAgICAgICAgaWYgcGVuZGluZyBpcyBOb25lIG9yIHdlYWtyZWZfZmluYWxp emUuX2RpcnR5OgorKyAgICAgICAgICAgICAgICAgICAgICAgIHBlbmRpbmcgPSBjbHMuX3NlbGVj dF9mb3JfZXhpdCgpCisrICAgICAgICAgICAgICAgICAgICAgICAgd2Vha3JlZl9maW5hbGl6ZS5f ZGlydHkgPSBGYWxzZQorKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IHBlbmRpbmc6CisrICAg ICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKysgICAgICAgICAgICAgICAgICAgIGYgPSBwZW5k aW5nLnBvcCgpCisrICAgICAgICAgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgICAg ICAgICAgIyBnYyBpcyBkaXNhYmxlZCwgc28gKGFzc3VtaW5nIG5vIGRhZW1vbmljCisrICAgICAg ICAgICAgICAgICAgICAgICAgIyB0aHJlYWRzKSB0aGUgZm9sbG93aW5nIGlzIHRoZSBvbmx5IGxp bmUgaW4KKysgICAgICAgICAgICAgICAgICAgICAgICAjIHRoaXMgZnVuY3Rpb24gd2hpY2ggbWln aHQgdHJpZ2dlciBjcmVhdGlvbgorKyAgICAgICAgICAgICAgICAgICAgICAgICMgb2YgYSBuZXcg ZmluYWxpemVyCisrICAgICAgICAgICAgICAgICAgICAgICAgZigpCisrICAgICAgICAgICAgICAg ICAgICBleGNlcHQgRXhjZXB0aW9uOgorKyAgICAgICAgICAgICAgICAgICAgICAgIHN5cy5leGNl cHRob29rKCpzeXMuZXhjX2luZm8oKSkKKysgICAgICAgICAgICAgICAgICAgIGFzc2VydCBmIG5v dCBpbiBjbHMuX3JlZ2lzdHJ5CisrICAgICAgICBmaW5hbGx5OgorKyAgICAgICAgICAgICMgcHJl dmVudCBhbnkgbW9yZSBmaW5hbGl6ZXJzIGZyb20gZXhlY3V0aW5nIGR1cmluZyBzaHV0ZG93bgor KyAgICAgICAgICAgIHdlYWtyZWZfZmluYWxpemUuX3NodXRkb3duID0gVHJ1ZQorKyAgICAgICAg ICAgIGlmIHJlZW5hYmxlX2djOgorKyAgICAgICAgICAgICAgICBnYy5lbmFibGUoKQorZGlmZiAt LWdpdCBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvcGFja2FnZXMvc2l4LnB5 IGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy9wYWNrYWdlcy9zaXgucHkKK2lu ZGV4IDMxNDQyNDA5OWY2MjQuLmYwOTlhM2RjZDI4ZDIgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0 eS9weXRob24vdXJsbGliMy91cmxsaWIzL3BhY2thZ2VzL3NpeC5weQorKysrIGIvdGhpcmRfcGFy dHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy9wYWNrYWdlcy9zaXgucHkKK0BAIC0xLDQgKzEsNCBA QAorLSMgQ29weXJpZ2h0IChjKSAyMDEwLTIwMTkgQmVuamFtaW4gUGV0ZXJzb24KKysjIENvcHly aWdodCAoYykgMjAxMC0yMDIwIEJlbmphbWluIFBldGVyc29uCisgIworICMgUGVybWlzc2lvbiBp cyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n IGEgY29weQorICMgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u IGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKK0BAIC0yOSw3ICsyOSw3IEBACisgaW1w b3J0IHR5cGVzCisgCisgX19hdXRob3JfXyA9ICJCZW5qYW1pbiBQZXRlcnNvbiA8YmVuamFtaW5A cHl0aG9uLm9yZz4iCistX192ZXJzaW9uX18gPSAiMS4xMi4wIgorK19fdmVyc2lvbl9fID0gIjEu MTYuMCIKKyAKKyAKKyAjIFVzZWZ1bCBmb3IgdmVyeSBjb2Fyc2UgdmVyc2lvbiBkaWZmZXJlbnRp YXRpb24uCitAQCAtNzEsNiArNzEsMTEgQEAgZGVmIF9fbGVuX18oc2VsZik6CisgICAgICAgICAg ICAgTUFYU0laRSA9IGludCgoMSA8PCA2MykgLSAxKQorICAgICAgICAgZGVsIFgKKyAKKytpZiBQ WTM0OgorKyAgICBmcm9tIGltcG9ydGxpYi51dGlsIGltcG9ydCBzcGVjX2Zyb21fbG9hZGVyCisr ZWxzZToKKysgICAgc3BlY19mcm9tX2xvYWRlciA9IE5vbmUKKysKKyAKKyBkZWYgX2FkZF9kb2Mo ZnVuYywgZG9jKToKKyAgICAgIiIiQWRkIGRvY3VtZW50YXRpb24gdG8gYSBmdW5jdGlvbi4iIiIK K0BAIC0xODIsNiArMTg3LDExIEBAIGRlZiBmaW5kX21vZHVsZShzZWxmLCBmdWxsbmFtZSwgcGF0 aD1Ob25lKToKKyAgICAgICAgICAgICByZXR1cm4gc2VsZgorICAgICAgICAgcmV0dXJuIE5vbmUK KyAKKysgICAgZGVmIGZpbmRfc3BlYyhzZWxmLCBmdWxsbmFtZSwgcGF0aCwgdGFyZ2V0PU5vbmUp OgorKyAgICAgICAgaWYgZnVsbG5hbWUgaW4gc2VsZi5rbm93bl9tb2R1bGVzOgorKyAgICAgICAg ICAgIHJldHVybiBzcGVjX2Zyb21fbG9hZGVyKGZ1bGxuYW1lLCBzZWxmKQorKyAgICAgICAgcmV0 dXJuIE5vbmUKKysKKyAgICAgZGVmIF9fZ2V0X21vZHVsZShzZWxmLCBmdWxsbmFtZSk6CisgICAg ICAgICB0cnk6CisgICAgICAgICAgICAgcmV0dXJuIHNlbGYua25vd25fbW9kdWxlc1tmdWxsbmFt ZV0KK0BAIC0yMjAsNiArMjMwLDEyIEBAIGRlZiBnZXRfY29kZShzZWxmLCBmdWxsbmFtZSk6Cisg CisgICAgIGdldF9zb3VyY2UgPSBnZXRfY29kZSAgIyBzYW1lIGFzIGdldF9jb2RlCisgCisrICAg IGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorKyAgICAgICAgcmV0dXJuIHNlbGYubG9h ZF9tb2R1bGUoc3BlYy5uYW1lKQorKworKyAgICBkZWYgZXhlY19tb2R1bGUoc2VsZiwgbW9kdWxl KToKKysgICAgICAgIHBhc3MKKysKKyAKKyBfaW1wb3J0ZXIgPSBfU2l4TWV0YVBhdGhJbXBvcnRl cihfX25hbWVfXykKKyAKK0BAIC0yNjAsOSArMjc2LDE5IEBAIGNsYXNzIF9Nb3ZlZEl0ZW1zKF9M YXp5TW9kdWxlKToKKyAgICAgKSwKKyAgICAgTW92ZWRNb2R1bGUoImJ1aWx0aW5zIiwgIl9fYnVp bHRpbl9fIiksCisgICAgIE1vdmVkTW9kdWxlKCJjb25maWdwYXJzZXIiLCAiQ29uZmlnUGFyc2Vy IiksCisrICAgIE1vdmVkTW9kdWxlKAorKyAgICAgICAgImNvbGxlY3Rpb25zX2FiYyIsCisrICAg ICAgICAiY29sbGVjdGlvbnMiLAorKyAgICAgICAgImNvbGxlY3Rpb25zLmFiYyIgaWYgc3lzLnZl cnNpb25faW5mbyA+PSAoMywgMykgZWxzZSAiY29sbGVjdGlvbnMiLAorKyAgICApLAorICAgICBN b3ZlZE1vZHVsZSgiY29weXJlZyIsICJjb3B5X3JlZyIpLAorICAgICBNb3ZlZE1vZHVsZSgiZGJt X2dudSIsICJnZGJtIiwgImRibS5nbnUiKSwKKy0gICAgTW92ZWRNb2R1bGUoIl9kdW1teV90aHJl YWQiLCAiZHVtbXlfdGhyZWFkIiwgIl9kdW1teV90aHJlYWQiKSwKKysgICAgTW92ZWRNb2R1bGUo ImRibV9uZGJtIiwgImRibSIsICJkYm0ubmRibSIpLAorKyAgICBNb3ZlZE1vZHVsZSgKKysgICAg ICAgICJfZHVtbXlfdGhyZWFkIiwKKysgICAgICAgICJkdW1teV90aHJlYWQiLAorKyAgICAgICAg Il9kdW1teV90aHJlYWQiIGlmIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgOSkgZWxzZSAiX3RocmVh ZCIsCisrICAgICksCisgICAgIE1vdmVkTW9kdWxlKCJodHRwX2Nvb2tpZWphciIsICJjb29raWVs aWIiLCAiaHR0cC5jb29raWVqYXIiKSwKKyAgICAgTW92ZWRNb2R1bGUoImh0dHBfY29va2llcyIs ICJDb29raWUiLCAiaHR0cC5jb29raWVzIiksCisgICAgIE1vdmVkTW9kdWxlKCJodG1sX2VudGl0 aWVzIiwgImh0bWxlbnRpdHlkZWZzIiwgImh0bWwuZW50aXRpZXMiKSwKK0BAIC0zMDcsNyArMzMz LDkgQEAgY2xhc3MgX01vdmVkSXRlbXMoX0xhenlNb2R1bGUpOgorIF0KKyAjIEFkZCB3aW5kb3dz IHNwZWNpZmljIG1vZHVsZXMuCisgaWYgc3lzLnBsYXRmb3JtID09ICJ3aW4zMiI6CistICAgIF9t b3ZlZF9hdHRyaWJ1dGVzICs9IFtNb3ZlZE1vZHVsZSgid2lucmVnIiwgIl93aW5yZWciKV0KKysg ICAgX21vdmVkX2F0dHJpYnV0ZXMgKz0gWworKyAgICAgICAgTW92ZWRNb2R1bGUoIndpbnJlZyIs ICJfd2lucmVnIiksCisrICAgIF0KKyAKKyBmb3IgYXR0ciBpbiBfbW92ZWRfYXR0cmlidXRlczoK KyAgICAgc2V0YXR0cihfTW92ZWRJdGVtcywgYXR0ci5uYW1lLCBhdHRyKQorQEAgLTQ3Niw3ICs1 MDQsNyBAQCBjbGFzcyBNb2R1bGVfc2l4X21vdmVzX3VybGxpYl9yb2JvdHBhcnNlcihfTGF6eU1v ZHVsZSk6CisgCisgCisgX3VybGxpYl9yb2JvdHBhcnNlcl9tb3ZlZF9hdHRyaWJ1dGVzID0gWwor LSAgICBNb3ZlZEF0dHJpYnV0ZSgiUm9ib3RGaWxlUGFyc2VyIiwgInJvYm90cGFyc2VyIiwgInVy bGxpYi5yb2JvdHBhcnNlciIpCisrICAgIE1vdmVkQXR0cmlidXRlKCJSb2JvdEZpbGVQYXJzZXIi LCAicm9ib3RwYXJzZXIiLCAidXJsbGliLnJvYm90cGFyc2VyIiksCisgXQorIGZvciBhdHRyIGlu IF91cmxsaWJfcm9ib3RwYXJzZXJfbW92ZWRfYXR0cmlidXRlczoKKyAgICAgc2V0YXR0cihNb2R1 bGVfc2l4X21vdmVzX3VybGxpYl9yb2JvdHBhcnNlciwgYXR0ci5uYW1lLCBhdHRyKQorQEAgLTY3 OCw5ICs3MDYsMTEgQEAgZGVmIHUocyk6CisgICAgIGlmIHN5cy52ZXJzaW9uX2luZm9bMV0gPD0g MToKKyAgICAgICAgIF9hc3NlcnRSYWlzZXNSZWdleCA9ICJhc3NlcnRSYWlzZXNSZWdleHAiCisg ICAgICAgICBfYXNzZXJ0UmVnZXggPSAiYXNzZXJ0UmVnZXhwTWF0Y2hlcyIKKysgICAgICAgIF9h c3NlcnROb3RSZWdleCA9ICJhc3NlcnROb3RSZWdleHBNYXRjaGVzIgorICAgICBlbHNlOgorICAg ICAgICAgX2Fzc2VydFJhaXNlc1JlZ2V4ID0gImFzc2VydFJhaXNlc1JlZ2V4IgorICAgICAgICAg X2Fzc2VydFJlZ2V4ID0gImFzc2VydFJlZ2V4IgorKyAgICAgICAgX2Fzc2VydE5vdFJlZ2V4ID0g ImFzc2VydE5vdFJlZ2V4IgorIGVsc2U6CisgCisgICAgIGRlZiBiKHMpOgorQEAgLTcwNyw2ICs3 MzcsNyBAQCBkZWYgaW5kZXhieXRlcyhidWYsIGkpOgorICAgICBfYXNzZXJ0Q291bnRFcXVhbCA9 ICJhc3NlcnRJdGVtc0VxdWFsIgorICAgICBfYXNzZXJ0UmFpc2VzUmVnZXggPSAiYXNzZXJ0UmFp c2VzUmVnZXhwIgorICAgICBfYXNzZXJ0UmVnZXggPSAiYXNzZXJ0UmVnZXhwTWF0Y2hlcyIKKysg ICAgX2Fzc2VydE5vdFJlZ2V4ID0gImFzc2VydE5vdFJlZ2V4cE1hdGNoZXMiCisgX2FkZF9kb2Mo YiwgIiIiQnl0ZSBsaXRlcmFsIiIiKQorIF9hZGRfZG9jKHUsICIiIlRleHQgbGl0ZXJhbCIiIikK KyAKK0BAIC03MjMsNiArNzU0LDEwIEBAIGRlZiBhc3NlcnRSZWdleChzZWxmLCAqYXJncywgKipr d2FyZ3MpOgorICAgICByZXR1cm4gZ2V0YXR0cihzZWxmLCBfYXNzZXJ0UmVnZXgpKCphcmdzLCAq Kmt3YXJncykKKyAKKyAKKytkZWYgYXNzZXJ0Tm90UmVnZXgoc2VsZiwgKmFyZ3MsICoqa3dhcmdz KToKKysgICAgcmV0dXJuIGdldGF0dHIoc2VsZiwgX2Fzc2VydE5vdFJlZ2V4KSgqYXJncywgKipr d2FyZ3MpCisrCisrCisgaWYgUFkzOgorICAgICBleGVjXyA9IGdldGF0dHIobW92ZXMuYnVpbHRp bnMsICJleGVjIikKKyAKK0BAIC03MzcsNyArNzcyLDYgQEAgZGVmIHJlcmFpc2UodHAsIHZhbHVl LCB0Yj1Ob25lKToKKyAgICAgICAgICAgICB2YWx1ZSA9IE5vbmUKKyAgICAgICAgICAgICB0YiA9 IE5vbmUKKyAKKy0KKyBlbHNlOgorIAorICAgICBkZWYgZXhlY18oX2NvZGVfLCBfZ2xvYnNfPU5v bmUsIF9sb2NzXz1Ob25lKToKK0BAIC03NTAsNyArNzg0LDcgQEAgZGVmIGV4ZWNfKF9jb2RlXywg X2dsb2JzXz1Ob25lLCBfbG9jc189Tm9uZSk6CisgICAgICAgICAgICAgZGVsIGZyYW1lCisgICAg ICAgICBlbGlmIF9sb2NzXyBpcyBOb25lOgorICAgICAgICAgICAgIF9sb2NzXyA9IF9nbG9ic18K Ky0gICAgICAgIGV4ZWMoIiIiZXhlYyBfY29kZV8gaW4gX2dsb2JzXywgX2xvY3NfIiIiKQorKyAg ICAgICAgZXhlYyAoIiIiZXhlYyBfY29kZV8gaW4gX2dsb2JzXywgX2xvY3NfIiIiKQorIAorICAg ICBleGVjXygKKyAgICAgICAgICIiImRlZiByZXJhaXNlKHRwLCB2YWx1ZSwgdGI9Tm9uZSk6CitA QCAtNzYyLDE4ICs3OTYsNyBAQCBkZWYgZXhlY18oX2NvZGVfLCBfZ2xvYnNfPU5vbmUsIF9sb2Nz Xz1Ob25lKToKKyAgICAgKQorIAorIAorLWlmIHN5cy52ZXJzaW9uX2luZm9bOjJdID09ICgzLCAy KToKKy0gICAgZXhlY18oCistICAgICAgICAiIiJkZWYgcmFpc2VfZnJvbSh2YWx1ZSwgZnJvbV92 YWx1ZSk6CistICAgIHRyeToKKy0gICAgICAgIGlmIGZyb21fdmFsdWUgaXMgTm9uZToKKy0gICAg ICAgICAgICByYWlzZSB2YWx1ZQorLSAgICAgICAgcmFpc2UgdmFsdWUgZnJvbSBmcm9tX3ZhbHVl CistICAgIGZpbmFsbHk6CistICAgICAgICB2YWx1ZSA9IE5vbmUKKy0iIiIKKy0gICAgKQorLWVs aWYgc3lzLnZlcnNpb25faW5mb1s6Ml0gPiAoMywgMik6CisraWYgc3lzLnZlcnNpb25faW5mb1s6 Ml0gPiAoMywpOgorICAgICBleGVjXygKKyAgICAgICAgICIiImRlZiByYWlzZV9mcm9tKHZhbHVl LCBmcm9tX3ZhbHVlKToKKyAgICAgdHJ5OgorQEAgLTg2MywxOSArODg2LDQxIEBAIGRlZiBwcmlu dF8oKmFyZ3MsICoqa3dhcmdzKToKKyBfYWRkX2RvYyhyZXJhaXNlLCAiIiJSZXJhaXNlIGFuIGV4 Y2VwdGlvbi4iIiIpCisgCisgaWYgc3lzLnZlcnNpb25faW5mb1swOjJdIDwgKDMsIDQpOgorKyAg ICAjIFRoaXMgZG9lcyBleGFjdGx5IHRoZSBzYW1lIHdoYXQgdGhlIDpmdW5jOmBweTM6ZnVuY3Rv b2xzLnVwZGF0ZV93cmFwcGVyYAorKyAgICAjIGZ1bmN0aW9uIGRvZXMgb24gUHl0aG9uIHZlcnNp b25zIGFmdGVyIDMuMi4gSXQgc2V0cyB0aGUgYGBfX3dyYXBwZWRfX2BgCisrICAgICMgYXR0cmli dXRlIG9uIGBgd3JhcHBlcmBgIG9iamVjdCBhbmQgaXQgZG9lc24ndCByYWlzZSBhbiBlcnJvciBp ZiBhbnkgb2YKKysgICAgIyB0aGUgYXR0cmlidXRlcyBtZW50aW9uZWQgaW4gYGBhc3NpZ25lZGBg IGFuZCBgYHVwZGF0ZWRgYCBhcmUgbWlzc2luZyBvbgorKyAgICAjIGBgd3JhcHBlZGBgIG9iamVj dC4KKysgICAgZGVmIF91cGRhdGVfd3JhcHBlcigKKysgICAgICAgIHdyYXBwZXIsCisrICAgICAg ICB3cmFwcGVkLAorKyAgICAgICAgYXNzaWduZWQ9ZnVuY3Rvb2xzLldSQVBQRVJfQVNTSUdOTUVO VFMsCisrICAgICAgICB1cGRhdGVkPWZ1bmN0b29scy5XUkFQUEVSX1VQREFURVMsCisrICAgICk6 CisrICAgICAgICBmb3IgYXR0ciBpbiBhc3NpZ25lZDoKKysgICAgICAgICAgICB0cnk6CisrICAg ICAgICAgICAgICAgIHZhbHVlID0gZ2V0YXR0cih3cmFwcGVkLCBhdHRyKQorKyAgICAgICAgICAg IGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKysgICAgICAgICAgICAgICAgY29udGludWUKKysgICAg ICAgICAgICBlbHNlOgorKyAgICAgICAgICAgICAgICBzZXRhdHRyKHdyYXBwZXIsIGF0dHIsIHZh bHVlKQorKyAgICAgICAgZm9yIGF0dHIgaW4gdXBkYXRlZDoKKysgICAgICAgICAgICBnZXRhdHRy KHdyYXBwZXIsIGF0dHIpLnVwZGF0ZShnZXRhdHRyKHdyYXBwZWQsIGF0dHIsIHt9KSkKKysgICAg ICAgIHdyYXBwZXIuX193cmFwcGVkX18gPSB3cmFwcGVkCisrICAgICAgICByZXR1cm4gd3JhcHBl cgorKworKyAgICBfdXBkYXRlX3dyYXBwZXIuX19kb2NfXyA9IGZ1bmN0b29scy51cGRhdGVfd3Jh cHBlci5fX2RvY19fCisgCisgICAgIGRlZiB3cmFwcygKKyAgICAgICAgIHdyYXBwZWQsCisgICAg ICAgICBhc3NpZ25lZD1mdW5jdG9vbHMuV1JBUFBFUl9BU1NJR05NRU5UUywKKyAgICAgICAgIHVw ZGF0ZWQ9ZnVuY3Rvb2xzLldSQVBQRVJfVVBEQVRFUywKKyAgICAgKToKKy0gICAgICAgIGRlZiB3 cmFwcGVyKGYpOgorLSAgICAgICAgICAgIGYgPSBmdW5jdG9vbHMud3JhcHMod3JhcHBlZCwgYXNz aWduZWQsIHVwZGF0ZWQpKGYpCistICAgICAgICAgICAgZi5fX3dyYXBwZWRfXyA9IHdyYXBwZWQK Ky0gICAgICAgICAgICByZXR1cm4gZgorLQorLSAgICAgICAgcmV0dXJuIHdyYXBwZXIKKysgICAg ICAgIHJldHVybiBmdW5jdG9vbHMucGFydGlhbCgKKysgICAgICAgICAgICBfdXBkYXRlX3dyYXBw ZXIsIHdyYXBwZWQ9d3JhcHBlZCwgYXNzaWduZWQ9YXNzaWduZWQsIHVwZGF0ZWQ9dXBkYXRlZAor KyAgICAgICAgKQorIAorKyAgICB3cmFwcy5fX2RvY19fID0gZnVuY3Rvb2xzLndyYXBzLl9fZG9j X18KKyAKKyBlbHNlOgorICAgICB3cmFwcyA9IGZ1bmN0b29scy53cmFwcworQEAgLTg4OCw3ICs5 MzMsMTUgQEAgZGVmIHdpdGhfbWV0YWNsYXNzKG1ldGEsICpiYXNlcyk6CisgICAgICMgdGhlIGFj dHVhbCBtZXRhY2xhc3MuCisgICAgIGNsYXNzIG1ldGFjbGFzcyh0eXBlKToKKyAgICAgICAgIGRl ZiBfX25ld19fKGNscywgbmFtZSwgdGhpc19iYXNlcywgZCk6CistICAgICAgICAgICAgcmV0dXJu IG1ldGEobmFtZSwgYmFzZXMsIGQpCisrICAgICAgICAgICAgaWYgc3lzLnZlcnNpb25faW5mb1s6 Ml0gPj0gKDMsIDcpOgorKyAgICAgICAgICAgICAgICAjIFRoaXMgdmVyc2lvbiBpbnRyb2R1Y2Vk IFBFUCA1NjAgdGhhdCByZXF1aXJlcyBhIGJpdAorKyAgICAgICAgICAgICAgICAjIG9mIGV4dHJh IGNhcmUgKHdlIG1pbWljIHdoYXQgaXMgZG9uZSBieSBfX2J1aWxkX2NsYXNzX18pLgorKyAgICAg ICAgICAgICAgICByZXNvbHZlZF9iYXNlcyA9IHR5cGVzLnJlc29sdmVfYmFzZXMoYmFzZXMpCisr ICAgICAgICAgICAgICAgIGlmIHJlc29sdmVkX2Jhc2VzIGlzIG5vdCBiYXNlczoKKysgICAgICAg ICAgICAgICAgICAgIGRbIl9fb3JpZ19iYXNlc19fIl0gPSBiYXNlcworKyAgICAgICAgICAgIGVs c2U6CisrICAgICAgICAgICAgICAgIHJlc29sdmVkX2Jhc2VzID0gYmFzZXMKKysgICAgICAgICAg ICByZXR1cm4gbWV0YShuYW1lLCByZXNvbHZlZF9iYXNlcywgZCkKKyAKKyAgICAgICAgIEBjbGFz c21ldGhvZAorICAgICAgICAgZGVmIF9fcHJlcGFyZV9fKGNscywgbmFtZSwgdGhpc19iYXNlcyk6 CitAQCAtOTI4LDEyICs5ODEsMTEgQEAgZGVmIGVuc3VyZV9iaW5hcnkocywgZW5jb2Rpbmc9InV0 Zi04IiwgZXJyb3JzPSJzdHJpY3QiKToKKyAgICAgICAtIGBzdHJgIC0+IGVuY29kZWQgdG8gYGJ5 dGVzYAorICAgICAgIC0gYGJ5dGVzYCAtPiBgYnl0ZXNgCisgICAgICIiIgorKyAgICBpZiBpc2lu c3RhbmNlKHMsIGJpbmFyeV90eXBlKToKKysgICAgICAgIHJldHVybiBzCisgICAgIGlmIGlzaW5z dGFuY2UocywgdGV4dF90eXBlKToKKyAgICAgICAgIHJldHVybiBzLmVuY29kZShlbmNvZGluZywg ZXJyb3JzKQorLSAgICBlbGlmIGlzaW5zdGFuY2UocywgYmluYXJ5X3R5cGUpOgorLSAgICAgICAg cmV0dXJuIHMKKy0gICAgZWxzZToKKy0gICAgICAgIHJhaXNlIFR5cGVFcnJvcigibm90IGV4cGVj dGluZyB0eXBlICclcyciICUgdHlwZShzKSkKKysgICAgcmFpc2UgVHlwZUVycm9yKCJub3QgZXhw ZWN0aW5nIHR5cGUgJyVzJyIgJSB0eXBlKHMpKQorIAorIAorIGRlZiBlbnN1cmVfc3RyKHMsIGVu Y29kaW5nPSJ1dGYtOCIsIGVycm9ycz0ic3RyaWN0Iik6CitAQCAtOTQ3LDEyICs5OTksMTUgQEAg ZGVmIGVuc3VyZV9zdHIocywgZW5jb2Rpbmc9InV0Zi04IiwgZXJyb3JzPSJzdHJpY3QiKToKKyAg ICAgICAtIGBzdHJgIC0+IGBzdHJgCisgICAgICAgLSBgYnl0ZXNgIC0+IGRlY29kZWQgdG8gYHN0 cmAKKyAgICAgIiIiCistICAgIGlmIG5vdCBpc2luc3RhbmNlKHMsICh0ZXh0X3R5cGUsIGJpbmFy eV90eXBlKSk6CistICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm5vdCBleHBlY3RpbmcgdHlwZSAn JXMnIiAlIHR5cGUocykpCisrICAgICMgT3B0aW1pemF0aW9uOiBGYXN0IHJldHVybiBmb3IgdGhl IGNvbW1vbiBjYXNlLgorKyAgICBpZiB0eXBlKHMpIGlzIHN0cjoKKysgICAgICAgIHJldHVybiBz CisgICAgIGlmIFBZMiBhbmQgaXNpbnN0YW5jZShzLCB0ZXh0X3R5cGUpOgorLSAgICAgICAgcyA9 IHMuZW5jb2RlKGVuY29kaW5nLCBlcnJvcnMpCisrICAgICAgICByZXR1cm4gcy5lbmNvZGUoZW5j b2RpbmcsIGVycm9ycykKKyAgICAgZWxpZiBQWTMgYW5kIGlzaW5zdGFuY2UocywgYmluYXJ5X3R5 cGUpOgorLSAgICAgICAgcyA9IHMuZGVjb2RlKGVuY29kaW5nLCBlcnJvcnMpCisrICAgICAgICBy ZXR1cm4gcy5kZWNvZGUoZW5jb2RpbmcsIGVycm9ycykKKysgICAgZWxpZiBub3QgaXNpbnN0YW5j ZShzLCAodGV4dF90eXBlLCBiaW5hcnlfdHlwZSkpOgorKyAgICAgICAgcmFpc2UgVHlwZUVycm9y KCJub3QgZXhwZWN0aW5nIHR5cGUgJyVzJyIgJSB0eXBlKHMpKQorICAgICByZXR1cm4gcworIAor IAorQEAgLTk3Nyw3ICsxMDMyLDcgQEAgZGVmIGVuc3VyZV90ZXh0KHMsIGVuY29kaW5nPSJ1dGYt OCIsIGVycm9ycz0ic3RyaWN0Iik6CisgCisgZGVmIHB5dGhvbl8yX3VuaWNvZGVfY29tcGF0aWJs ZShrbGFzcyk6CisgICAgICIiIgorLSAgICBBIGRlY29yYXRvciB0aGF0IGRlZmluZXMgX191bmlj b2RlX18gYW5kIF9fc3RyX18gbWV0aG9kcyB1bmRlciBQeXRob24gMi4KKysgICAgQSBjbGFzcyBk ZWNvcmF0b3IgdGhhdCBkZWZpbmVzIF9fdW5pY29kZV9fIGFuZCBfX3N0cl9fIG1ldGhvZHMgdW5k ZXIgUHl0aG9uIDIuCisgICAgIFVuZGVyIFB5dGhvbiAzIGl0IGRvZXMgbm90aGluZy4KKyAKKyAg ICAgVG8gc3VwcG9ydCBQeXRob24gMiBhbmQgMyB3aXRoIGEgc2luZ2xlIGNvZGUgYmFzZSwgZGVm aW5lIGEgX19zdHJfXyBtZXRob2QKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24vdXJs bGliMy91cmxsaWIzL3BhY2thZ2VzL3NzbF9tYXRjaF9ob3N0bmFtZS9fX2luaXRfXy5weSBiL3Ro aXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvcGFja2FnZXMvc3NsX21hdGNoX2hvc3Ru YW1lL19faW5pdF9fLnB5CitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDZiMTJmZDkw YWFkZWMuLjAwMDAwMDAwMDAwMDAKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3Vy bGxpYjMvcGFja2FnZXMvc3NsX21hdGNoX2hvc3RuYW1lL19faW5pdF9fLnB5CisrKysgL2Rldi9u dWxsCitAQCAtMSwyMiArMCwwIEBACistaW1wb3J0IHN5cworLQorLXRyeToKKy0gICAgIyBPdXIg bWF0Y2hfaG9zdG5hbWUgZnVuY3Rpb24gaXMgdGhlIHNhbWUgYXMgMy41J3MsIHNvIHdlIG9ubHkg d2FudCB0bworLSAgICAjIGltcG9ydCB0aGUgbWF0Y2hfaG9zdG5hbWUgZnVuY3Rpb24gaWYgaXQn cyBhdCBsZWFzdCB0aGF0IGdvb2QuCistICAgIGlmIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgNSk6 CistICAgICAgICByYWlzZSBJbXBvcnRFcnJvcigiRmFsbGJhY2sgdG8gdmVuZG9yZWQgY29kZSIp CistCistICAgIGZyb20gc3NsIGltcG9ydCBDZXJ0aWZpY2F0ZUVycm9yLCBtYXRjaF9ob3N0bmFt ZQorLWV4Y2VwdCBJbXBvcnRFcnJvcjoKKy0gICAgdHJ5OgorLSAgICAgICAgIyBCYWNrcG9ydCBv ZiB0aGUgZnVuY3Rpb24gZnJvbSBhIHB5cGkgbW9kdWxlCistICAgICAgICBmcm9tIGJhY2twb3J0 cy5zc2xfbWF0Y2hfaG9zdG5hbWUgaW1wb3J0ICggICMgdHlwZTogaWdub3JlCistICAgICAgICAg ICAgQ2VydGlmaWNhdGVFcnJvciwKKy0gICAgICAgICAgICBtYXRjaF9ob3N0bmFtZSwKKy0gICAg ICAgICkKKy0gICAgZXhjZXB0IEltcG9ydEVycm9yOgorLSAgICAgICAgIyBPdXIgdmVuZG9yZWQg Y29weQorLSAgICAgICAgZnJvbSAuX2ltcGxlbWVudGF0aW9uIGltcG9ydCBDZXJ0aWZpY2F0ZUVy cm9yLCBtYXRjaF9ob3N0bmFtZSAgIyB0eXBlOiBpZ25vcmUKKy0KKy0jIE5vdCBuZWVkZWQsIGJ1 dCBkb2N1bWVudGluZyB3aGF0IHdlIHByb3ZpZGUuCistX19hbGxfXyA9ICgiQ2VydGlmaWNhdGVF cnJvciIsICJtYXRjaF9ob3N0bmFtZSIpCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcHl0aG9u L3VybGxpYjMvdXJsbGliMy9wb29sbWFuYWdlci5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxs aWIzL3VybGxpYjMvcG9vbG1hbmFnZXIucHkKK2luZGV4IDNhMzFhMjg1YmY2NDguLjE0YjEwZGFm M2E5NjIgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3Bv b2xtYW5hZ2VyLnB5CisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3Bv b2xtYW5hZ2VyLnB5CitAQCAtMzQsNiArMzQsNyBAQAorICAgICAiY2FfY2VydF9kaXIiLAorICAg ICAic3NsX2NvbnRleHQiLAorICAgICAia2V5X3Bhc3N3b3JkIiwKKysgICAgInNlcnZlcl9ob3N0 bmFtZSIsCisgKQorIAorICMgQWxsIGtub3duIGtleXdvcmQgYXJndW1lbnRzIHRoYXQgY291bGQg YmUgcHJvdmlkZWQgdG8gdGhlIHBvb2wgbWFuYWdlciwgaXRzCitAQCAtMTcwLDcgKzE3MSw3IEBA IGNsYXNzIFBvb2xNYW5hZ2VyKFJlcXVlc3RNZXRob2RzKToKKyAgICAgZGVmIF9faW5pdF9fKHNl bGYsIG51bV9wb29scz0xMCwgaGVhZGVycz1Ob25lLCAqKmNvbm5lY3Rpb25fcG9vbF9rdyk6Cisg ICAgICAgICBSZXF1ZXN0TWV0aG9kcy5fX2luaXRfXyhzZWxmLCBoZWFkZXJzKQorICAgICAgICAg c2VsZi5jb25uZWN0aW9uX3Bvb2xfa3cgPSBjb25uZWN0aW9uX3Bvb2xfa3cKKy0gICAgICAgIHNl bGYucG9vbHMgPSBSZWNlbnRseVVzZWRDb250YWluZXIobnVtX3Bvb2xzLCBkaXNwb3NlX2Z1bmM9 bGFtYmRhIHA6IHAuY2xvc2UoKSkKKysgICAgICAgIHNlbGYucG9vbHMgPSBSZWNlbnRseVVzZWRD b250YWluZXIobnVtX3Bvb2xzKQorIAorICAgICAgICAgIyBMb2NhbGx5IHNldCB0aGUgcG9vbCBj bGFzc2VzIGFuZCBrZXlzIHNvIG90aGVyIFBvb2xNYW5hZ2VycyBjYW4KKyAgICAgICAgICMgb3Zl cnJpZGUgdGhlbS4KK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxs aWIzL3JlcXVlc3QucHkgYi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3JlcXVl c3QucHkKK2luZGV4IDM5ODM4NmE1YjlmNjEuLjNiNGNmOTk5MjI1YjggMTAwNjQ0CistLS0gYS90 aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3JlcXVlc3QucHkKKysrKyBiL3RoaXJk X3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvcmVxdWVzdC5weQorQEAgLTEsNiArMSw5IEBA CisgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKKyAKKytpbXBvcnQgc3lz CisrCisgZnJvbSAuZmlsZXBvc3QgaW1wb3J0IGVuY29kZV9tdWx0aXBhcnRfZm9ybWRhdGEKKytm cm9tIC5wYWNrYWdlcyBpbXBvcnQgc2l4CisgZnJvbSAucGFja2FnZXMuc2l4Lm1vdmVzLnVybGxp Yi5wYXJzZSBpbXBvcnQgdXJsZW5jb2RlCisgCisgX19hbGxfXyA9IFsiUmVxdWVzdE1ldGhvZHMi XQorQEAgLTE2OCwzICsxNzEsMjEgQEAgZGVmIHJlcXVlc3RfZW5jb2RlX2JvZHkoCisgICAgICAg ICBleHRyYV9rdy51cGRhdGUodXJsb3Blbl9rdykKKyAKKyAgICAgICAgIHJldHVybiBzZWxmLnVy bG9wZW4obWV0aG9kLCB1cmwsICoqZXh0cmFfa3cpCisrCisrCisraWYgbm90IHNpeC5QWTI6Cisr CisrICAgIGNsYXNzIFJlcXVlc3RNb2R1bGUoc3lzLm1vZHVsZXNbX19uYW1lX19dLl9fY2xhc3Nf Xyk6CisrICAgICAgICBkZWYgX19jYWxsX18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKysgICAg ICAgICAgICAiIiIKKysgICAgICAgICAgICBJZiB1c2VyIHRyaWVzIHRvIGNhbGwgdGhpcyBtb2R1 bGUgZGlyZWN0bHkgdXJsbGliMyB2Mi54IHN0eWxlIHJhaXNlIGFuIGVycm9yIHRvIHRoZSB1c2Vy CisrICAgICAgICAgICAgc3VnZ2VzdGluZyB0aGV5IG1heSBuZWVkIHVybGxpYjMgdjIKKysgICAg ICAgICAgICAiIiIKKysgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoCisrICAgICAgICAgICAg ICAgICInbW9kdWxlJyBvYmplY3QgaXMgbm90IGNhbGxhYmxlXG4iCisrICAgICAgICAgICAgICAg ICJ1cmxsaWIzLnJlcXVlc3QoKSBtZXRob2QgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIHJlbGVh c2UsICIKKysgICAgICAgICAgICAgICAgInVwZ3JhZGUgdG8gdXJsbGliMyB2MiB0byB1c2UgaXRc biIKKysgICAgICAgICAgICAgICAgInNlZSBodHRwczovL3VybGxpYjMucmVhZHRoZWRvY3MuaW8v ZW4vc3RhYmxlL3YyLW1pZ3JhdGlvbi1ndWlkZS5odG1sIgorKyAgICAgICAgICAgICkKKysKKysg ICAgc3lzLm1vZHVsZXNbX19uYW1lX19dLl9fY2xhc3NfXyA9IFJlcXVlc3RNb2R1bGUKK2RpZmYg LS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3Jlc3BvbnNlLnB5IGIv dGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy9yZXNwb25zZS5weQoraW5kZXggMzg2 OTNmNGZjNmUzMy4uMGJkMTNkNDBiOGFjNyAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhv bi91cmxsaWIzL3VybGxpYjMvcmVzcG9uc2UucHkKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi91 cmxsaWIzL3VybGxpYjMvcmVzcG9uc2UucHkKK0BAIC0yLDE2ICsyLDIyIEBACisgCisgaW1wb3J0 IGlvCisgaW1wb3J0IGxvZ2dpbmcKKytpbXBvcnQgc3lzCisraW1wb3J0IHdhcm5pbmdzCisgaW1w b3J0IHpsaWIKKyBmcm9tIGNvbnRleHRsaWIgaW1wb3J0IGNvbnRleHRtYW5hZ2VyCisgZnJvbSBz b2NrZXQgaW1wb3J0IGVycm9yIGFzIFNvY2tldEVycm9yCisgZnJvbSBzb2NrZXQgaW1wb3J0IHRp bWVvdXQgYXMgU29ja2V0VGltZW91dAorIAorIHRyeToKKy0gICAgaW1wb3J0IGJyb3RsaQorKyAg ICB0cnk6CisrICAgICAgICBpbXBvcnQgYnJvdGxpY2ZmaSBhcyBicm90bGkKKysgICAgZXhjZXB0 IEltcG9ydEVycm9yOgorKyAgICAgICAgaW1wb3J0IGJyb3RsaQorIGV4Y2VwdCBJbXBvcnRFcnJv cjoKKyAgICAgYnJvdGxpID0gTm9uZQorIAorK2Zyb20gLiBpbXBvcnQgdXRpbAorIGZyb20gLl9j b2xsZWN0aW9ucyBpbXBvcnQgSFRUUEhlYWRlckRpY3QKKyBmcm9tIC5jb25uZWN0aW9uIGltcG9y dCBCYXNlU1NMRXJyb3IsIEhUVFBFeGNlcHRpb24KKyBmcm9tIC5leGNlcHRpb25zIGltcG9ydCAo CitAQCAtNDc4LDYgKzQ4NCw1NCBAQCBkZWYgX2Vycm9yX2NhdGNoZXIoc2VsZik6CisgICAgICAg ICAgICAgaWYgc2VsZi5fb3JpZ2luYWxfcmVzcG9uc2UgYW5kIHNlbGYuX29yaWdpbmFsX3Jlc3Bv bnNlLmlzY2xvc2VkKCk6CisgICAgICAgICAgICAgICAgIHNlbGYucmVsZWFzZV9jb25uKCkKKyAK KysgICAgZGVmIF9mcF9yZWFkKHNlbGYsIGFtdCk6CisrICAgICAgICAiIiIKKysgICAgICAgIFJl YWQgYSByZXNwb25zZSB3aXRoIHRoZSB0aG91Z2h0IHRoYXQgcmVhZGluZyB0aGUgbnVtYmVyIG9m IGJ5dGVzCisrICAgICAgICBsYXJnZXIgdGhhbiBjYW4gZml0IGluIGEgMzItYml0IGludCBhdCBh IHRpbWUgdmlhIFNTTCBpbiBzb21lCisrICAgICAgICBrbm93biBjYXNlcyBsZWFkcyB0byBhbiBv dmVyZmxvdyBlcnJvciB0aGF0IGhhcyB0byBiZSBwcmV2ZW50ZWQKKysgICAgICAgIGlmIGBhbXRg IG9yIGBzZWxmLmxlbmd0aF9yZW1haW5pbmdgIGluZGljYXRlIHRoYXQgYSBwcm9ibGVtIG1heQor KyAgICAgICAgaGFwcGVuLgorKworKyAgICAgICAgVGhlIGtub3duIGNhc2VzOgorKyAgICAgICAg ICAqIDMuOCA8PSBDUHl0aG9uIDwgMy45LjcgYmVjYXVzZSBvZiBhIGJ1ZworKyAgICAgICAgICAg IGh0dHBzOi8vZ2l0aHViLmNvbS91cmxsaWIzL3VybGxpYjMvaXNzdWVzLzI1MTMjaXNzdWVjb21t ZW50LTExNTI1NTk5MDAuCisrICAgICAgICAgICogdXJsbGliMyBpbmplY3RlZCB3aXRoIHB5T3Bl blNTTC1iYWNrZWQgU1NMLXN1cHBvcnQuCisrICAgICAgICAgICogQ1B5dGhvbiA8IDMuMTAgb25s eSB3aGVuIGBhbXRgIGRvZXMgbm90IGZpdCAzMi1iaXQgaW50LgorKyAgICAgICAgIiIiCisrICAg ICAgICBhc3NlcnQgc2VsZi5fZnAKKysgICAgICAgIGNfaW50X21heCA9IDIgKiogMzEgLSAxCisr ICAgICAgICBpZiAoCisrICAgICAgICAgICAgKAorKyAgICAgICAgICAgICAgICAoYW10IGFuZCBh bXQgPiBjX2ludF9tYXgpCisrICAgICAgICAgICAgICAgIG9yIChzZWxmLmxlbmd0aF9yZW1haW5p bmcgYW5kIHNlbGYubGVuZ3RoX3JlbWFpbmluZyA+IGNfaW50X21heCkKKysgICAgICAgICAgICAp CisrICAgICAgICAgICAgYW5kIG5vdCB1dGlsLklTX1NFQ1VSRVRSQU5TUE9SVAorKyAgICAgICAg ICAgIGFuZCAodXRpbC5JU19QWU9QRU5TU0wgb3Igc3lzLnZlcnNpb25faW5mbyA8ICgzLCAxMCkp CisrICAgICAgICApOgorKyAgICAgICAgICAgIGJ1ZmZlciA9IGlvLkJ5dGVzSU8oKQorKyAgICAg ICAgICAgICMgQmVzaWRlcyBgbWF4X2NodW5rX2FtdGAgYmVpbmcgYSBtYXhpbXVtIGNodW5rIHNp emUsIGl0CisrICAgICAgICAgICAgIyBhZmZlY3RzIG1lbW9yeSBvdmVyaGVhZCBvZiByZWFkaW5n IGEgcmVzcG9uc2UgYnkgdGhpcworKyAgICAgICAgICAgICMgbWV0aG9kIGluIENQeXRob24uCisr ICAgICAgICAgICAgIyBgY19pbnRfbWF4YCBlcXVhbCB0byAyIEdpQiAtIDEgYnl0ZSBpcyB0aGUg YWN0dWFsIG1heGltdW0KKysgICAgICAgICAgICAjIGNodW5rIHNpemUgdGhhdCBkb2VzIG5vdCBs ZWFkIHRvIGFuIG92ZXJmbG93IGVycm9yLCBidXQKKysgICAgICAgICAgICAjIDI1NiBNaUIgaXMg YSBjb21wcm9taXNlLgorKyAgICAgICAgICAgIG1heF9jaHVua19hbXQgPSAyICoqIDI4CisrICAg ICAgICAgICAgd2hpbGUgYW10IGlzIE5vbmUgb3IgYW10ICE9IDA6CisrICAgICAgICAgICAgICAg IGlmIGFtdCBpcyBub3QgTm9uZToKKysgICAgICAgICAgICAgICAgICAgIGNodW5rX2FtdCA9IG1p bihhbXQsIG1heF9jaHVua19hbXQpCisrICAgICAgICAgICAgICAgICAgICBhbXQgLT0gY2h1bmtf YW10CisrICAgICAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgICAgICBjaHVua19h bXQgPSBtYXhfY2h1bmtfYW10CisrICAgICAgICAgICAgICAgIGRhdGEgPSBzZWxmLl9mcC5yZWFk KGNodW5rX2FtdCkKKysgICAgICAgICAgICAgICAgaWYgbm90IGRhdGE6CisrICAgICAgICAgICAg ICAgICAgICBicmVhaworKyAgICAgICAgICAgICAgICBidWZmZXIud3JpdGUoZGF0YSkKKysgICAg ICAgICAgICAgICAgZGVsIGRhdGEgICMgdG8gcmVkdWNlIHBlYWsgbWVtb3J5IHVzYWdlIGJ5IGBt YXhfY2h1bmtfYW10YC4KKysgICAgICAgICAgICByZXR1cm4gYnVmZmVyLmdldHZhbHVlKCkKKysg ICAgICAgIGVsc2U6CisrICAgICAgICAgICAgIyBTdHJpbmdJTyBkb2Vzbid0IGxpa2UgYW10PU5v bmUKKysgICAgICAgICAgICByZXR1cm4gc2VsZi5fZnAucmVhZChhbXQpIGlmIGFtdCBpcyBub3Qg Tm9uZSBlbHNlIHNlbGYuX2ZwLnJlYWQoKQorKworICAgICBkZWYgcmVhZChzZWxmLCBhbXQ9Tm9u ZSwgZGVjb2RlX2NvbnRlbnQ9Tm9uZSwgY2FjaGVfY29udGVudD1GYWxzZSk6CisgICAgICAgICAi IiIKKyAgICAgICAgIFNpbWlsYXIgdG8gOm1ldGg6YGh0dHAuY2xpZW50LkhUVFBSZXNwb25zZS5y ZWFkYCwgYnV0IHdpdGggdHdvIGFkZGl0aW9uYWwKK0BAIC01MTAsMTMgKzU2NCwxMSBAQCBkZWYg cmVhZChzZWxmLCBhbXQ9Tm9uZSwgZGVjb2RlX2NvbnRlbnQ9Tm9uZSwgY2FjaGVfY29udGVudD1G YWxzZSk6CisgICAgICAgICBmcF9jbG9zZWQgPSBnZXRhdHRyKHNlbGYuX2ZwLCAiY2xvc2VkIiwg RmFsc2UpCisgCisgICAgICAgICB3aXRoIHNlbGYuX2Vycm9yX2NhdGNoZXIoKToKKysgICAgICAg ICAgICBkYXRhID0gc2VsZi5fZnBfcmVhZChhbXQpIGlmIG5vdCBmcF9jbG9zZWQgZWxzZSBiIiIK KyAgICAgICAgICAgICBpZiBhbXQgaXMgTm9uZToKKy0gICAgICAgICAgICAgICAgIyBjU3RyaW5n SU8gZG9lc24ndCBsaWtlIGFtdD1Ob25lCistICAgICAgICAgICAgICAgIGRhdGEgPSBzZWxmLl9m cC5yZWFkKCkgaWYgbm90IGZwX2Nsb3NlZCBlbHNlIGIiIgorICAgICAgICAgICAgICAgICBmbHVz aF9kZWNvZGVyID0gVHJ1ZQorICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIGNh Y2hlX2NvbnRlbnQgPSBGYWxzZQorLSAgICAgICAgICAgICAgICBkYXRhID0gc2VsZi5fZnAucmVh ZChhbXQpIGlmIG5vdCBmcF9jbG9zZWQgZWxzZSBiIiIKKyAgICAgICAgICAgICAgICAgaWYgKAor ICAgICAgICAgICAgICAgICAgICAgYW10ICE9IDAgYW5kIG5vdCBkYXRhCisgICAgICAgICAgICAg ICAgICk6ICAjIFBsYXRmb3JtLXNwZWNpZmljOiBCdWdneSB2ZXJzaW9ucyBvZiBQeXRob24uCitA QCAtNjEyLDkgKzY2NCwyMSBAQCBkZWYgZnJvbV9odHRwbGliKFJlc3BvbnNlQ2xzLCByLCAqKnJl c3BvbnNlX2t3KToKKyAKKyAgICAgIyBCYWNrd2FyZHMtY29tcGF0aWJpbGl0eSBtZXRob2RzIGZv ciBodHRwLmNsaWVudC5IVFRQUmVzcG9uc2UKKyAgICAgZGVmIGdldGhlYWRlcnMoc2VsZik6Cisr ICAgICAgICB3YXJuaW5ncy53YXJuKAorKyAgICAgICAgICAgICJIVFRQUmVzcG9uc2UuZ2V0aGVh ZGVycygpIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCAiCisrICAgICAgICAgICAg ImluIHVybGxpYjMgdjIuMS4wLiBJbnN0ZWFkIGFjY2VzcyBIVFRQUmVzcG9uc2UuaGVhZGVycyBk aXJlY3RseS4iLAorKyAgICAgICAgICAgIGNhdGVnb3J5PURlcHJlY2F0aW9uV2FybmluZywKKysg ICAgICAgICAgICBzdGFja2xldmVsPTIsCisrICAgICAgICApCisgICAgICAgICByZXR1cm4gc2Vs Zi5oZWFkZXJzCisgCisgICAgIGRlZiBnZXRoZWFkZXIoc2VsZiwgbmFtZSwgZGVmYXVsdD1Ob25l KToKKysgICAgICAgIHdhcm5pbmdzLndhcm4oCisrICAgICAgICAgICAgIkhUVFBSZXNwb25zZS5n ZXRoZWFkZXIoKSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgIgorKyAgICAgICAg ICAgICJpbiB1cmxsaWIzIHYyLjEuMC4gSW5zdGVhZCB1c2UgSFRUUFJlc3BvbnNlLmhlYWRlcnMu Z2V0KG5hbWUsIGRlZmF1bHQpLiIsCisrICAgICAgICAgICAgY2F0ZWdvcnk9RGVwcmVjYXRpb25X YXJuaW5nLAorKyAgICAgICAgICAgIHN0YWNrbGV2ZWw9MiwKKysgICAgICAgICkKKyAgICAgICAg IHJldHVybiBzZWxmLmhlYWRlcnMuZ2V0KG5hbWUsIGRlZmF1bHQpCisgCisgICAgICMgQmFja3dh cmRzIGNvbXBhdGliaWxpdHkgZm9yIGh0dHAuY29va2llamFyCitkaWZmIC0tZ2l0IGEvdGhpcmRf cGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy91dGlsL2Nvbm5lY3Rpb24ucHkgYi90aGlyZF9w YXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3V0aWwvY29ubmVjdGlvbi5weQoraW5kZXggY2Q1 NzQ1NTc0OGJlMC4uNmFmMTEzOGYyNjBlNCAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhv bi91cmxsaWIzL3VybGxpYjMvdXRpbC9jb25uZWN0aW9uLnB5CisrKysgYi90aGlyZF9wYXJ0eS9w eXRob24vdXJsbGliMy91cmxsaWIzL3V0aWwvY29ubmVjdGlvbi5weQorQEAgLTIsOSArMiw4IEBA CisgCisgaW1wb3J0IHNvY2tldAorIAorLWZyb20gdXJsbGliMy5leGNlcHRpb25zIGltcG9ydCBM b2NhdGlvblBhcnNlRXJyb3IKKy0KKyBmcm9tIC4uY29udHJpYiBpbXBvcnQgX2FwcGVuZ2luZV9l bnZpcm9uCisrZnJvbSAuLmV4Y2VwdGlvbnMgaW1wb3J0IExvY2F0aW9uUGFyc2VFcnJvcgorIGZy b20gLi5wYWNrYWdlcyBpbXBvcnQgc2l4CisgZnJvbSAud2FpdCBpbXBvcnQgTm9XYXlUb1dhaXRG b3JTb2NrZXRFcnJvciwgd2FpdF9mb3JfcmVhZAorIAorQEAgLTExOCw3ICsxMTcsNyBAQCBkZWYg YWxsb3dlZF9nYWlfZmFtaWx5KCk6CisgCisgCisgZGVmIF9oYXNfaXB2Nihob3N0KToKKy0gICAg IiIiIFJldHVybnMgVHJ1ZSBpZiB0aGUgc3lzdGVtIGNhbiBiaW5kIGFuIElQdjYgYWRkcmVzcy4g IiIiCisrICAgICIiIlJldHVybnMgVHJ1ZSBpZiB0aGUgc3lzdGVtIGNhbiBiaW5kIGFuIElQdjYg YWRkcmVzcy4iIiIKKyAgICAgc29jayA9IE5vbmUKKyAgICAgaGFzX2lwdjYgPSBGYWxzZQorIAor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvdXRpbC9wcm94 eS5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvdXRpbC9wcm94eS5weQor aW5kZXggMzRmODg0ZDViMzE0ZC4uMjE5OWNjN2I3ZjAwNCAxMDA2NDQKKy0tLSBhL3RoaXJkX3Bh cnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvdXRpbC9wcm94eS5weQorKysrIGIvdGhpcmRfcGFy dHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy91dGlsL3Byb3h5LnB5CitAQCAtNDUsNiArNDUsNyBA QCBkZWYgY3JlYXRlX3Byb3h5X3NzbF9jb250ZXh0KAorICAgICAgICAgc3NsX3ZlcnNpb249cmVz b2x2ZV9zc2xfdmVyc2lvbihzc2xfdmVyc2lvbiksCisgICAgICAgICBjZXJ0X3JlcXM9cmVzb2x2 ZV9jZXJ0X3JlcXMoY2VydF9yZXFzKSwKKyAgICAgKQorKworICAgICBpZiAoCisgICAgICAgICBu b3QgY2FfY2VydHMKKyAgICAgICAgIGFuZCBub3QgY2FfY2VydF9kaXIKK2RpZmYgLS1naXQgYS90 aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3V0aWwvcmVxdWVzdC5weSBiL3RoaXJk X3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvdXRpbC9yZXF1ZXN0LnB5CitpbmRleCAyNTEw MzM4M2VjN2FiLi5iNTc0YjA4MWU5OGEwIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9u L3VybGxpYjMvdXJsbGliMy91dGlsL3JlcXVlc3QucHkKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhv bi91cmxsaWIzL3VybGxpYjMvdXRpbC9yZXF1ZXN0LnB5CitAQCAtMTQsNyArMTQsMTAgQEAKKyAK KyBBQ0NFUFRfRU5DT0RJTkcgPSAiZ3ppcCxkZWZsYXRlIgorIHRyeToKKy0gICAgaW1wb3J0IGJy b3RsaSBhcyBfdW51c2VkX21vZHVsZV9icm90bGkgICMgbm9xYTogRjQwMQorKyAgICB0cnk6Cisr ICAgICAgICBpbXBvcnQgYnJvdGxpY2ZmaSBhcyBfdW51c2VkX21vZHVsZV9icm90bGkgICMgbm9x YTogRjQwMQorKyAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisrICAgICAgICBpbXBvcnQgYnJvdGxp IGFzIF91bnVzZWRfbW9kdWxlX2Jyb3RsaSAgIyBub3FhOiBGNDAxCisgZXhjZXB0IEltcG9ydEVy cm9yOgorICAgICBwYXNzCisgZWxzZToKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24v dXJsbGliMy91cmxsaWIzL3V0aWwvcmV0cnkucHkgYi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGli My91cmxsaWIzL3V0aWwvcmV0cnkucHkKK2luZGV4IGVlNTFmOTIyZjg0NTIuLjYwZWY2YzRmM2Y5 ZDAgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3V0aWwv cmV0cnkucHkKKysrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvdXRpbC9y ZXRyeS5weQorQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgX1JldHJ5TWV0YSh0eXBlKToKKyAgICAg ZGVmIERFRkFVTFRfTUVUSE9EX1dISVRFTElTVChjbHMpOgorICAgICAgICAgd2FybmluZ3Mud2Fy bigKKyAgICAgICAgICAgICAiVXNpbmcgJ1JldHJ5LkRFRkFVTFRfTUVUSE9EX1dISVRFTElTVCcg aXMgZGVwcmVjYXRlZCBhbmQgIgorLSAgICAgICAgICAgICJ3aWxsIGJlIHJlbW92ZWQgaW4gdjIu MC4gVXNlICdSZXRyeS5ERUZBVUxUX01FVEhPRFNfQUxMT1dFRCcgaW5zdGVhZCIsCisrICAgICAg ICAgICAgIndpbGwgYmUgcmVtb3ZlZCBpbiB2Mi4wLiBVc2UgJ1JldHJ5LkRFRkFVTFRfQUxMT1dF RF9NRVRIT0RTJyBpbnN0ZWFkIiwKKyAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsCisg ICAgICAgICApCisgICAgICAgICByZXR1cm4gY2xzLkRFRkFVTFRfQUxMT1dFRF9NRVRIT0RTCitA QCAtNjksNiArNjksMjQgQEAgZGVmIERFRkFVTFRfUkVESVJFQ1RfSEVBREVSU19CTEFDS0xJU1Qo Y2xzLCB2YWx1ZSk6CisgICAgICAgICApCisgICAgICAgICBjbHMuREVGQVVMVF9SRU1PVkVfSEVB REVSU19PTl9SRURJUkVDVCA9IHZhbHVlCisgCisrICAgIEBwcm9wZXJ0eQorKyAgICBkZWYgQkFD S09GRl9NQVgoY2xzKToKKysgICAgICAgIHdhcm5pbmdzLndhcm4oCisrICAgICAgICAgICAgIlVz aW5nICdSZXRyeS5CQUNLT0ZGX01BWCcgaXMgZGVwcmVjYXRlZCBhbmQgIgorKyAgICAgICAgICAg ICJ3aWxsIGJlIHJlbW92ZWQgaW4gdjIuMC4gVXNlICdSZXRyeS5ERUZBVUxUX0JBQ0tPRkZfTUFY JyBpbnN0ZWFkIiwKKysgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsCisrICAgICAgICAp CisrICAgICAgICByZXR1cm4gY2xzLkRFRkFVTFRfQkFDS09GRl9NQVgKKysKKysgICAgQEJBQ0tP RkZfTUFYLnNldHRlcgorKyAgICBkZWYgQkFDS09GRl9NQVgoY2xzLCB2YWx1ZSk6CisrICAgICAg ICB3YXJuaW5ncy53YXJuKAorKyAgICAgICAgICAgICJVc2luZyAnUmV0cnkuQkFDS09GRl9NQVgn IGlzIGRlcHJlY2F0ZWQgYW5kICIKKysgICAgICAgICAgICAid2lsbCBiZSByZW1vdmVkIGluIHYy LjAuIFVzZSAnUmV0cnkuREVGQVVMVF9CQUNLT0ZGX01BWCcgaW5zdGVhZCIsCisrICAgICAgICAg ICAgRGVwcmVjYXRpb25XYXJuaW5nLAorKyAgICAgICAgKQorKyAgICAgICAgY2xzLkRFRkFVTFRf QkFDS09GRl9NQVggPSB2YWx1ZQorKworIAorIEBzaXguYWRkX21ldGFjbGFzcyhfUmV0cnlNZXRh KQorIGNsYXNzIFJldHJ5KG9iamVjdCk6CitAQCAtMTgxLDcgKzE5OSw3IEBAIGNsYXNzIFJldHJ5 KG9iamVjdCk6CisgCisgICAgICAgICBzZWNvbmRzLiBJZiB0aGUgYmFja29mZl9mYWN0b3IgaXMg MC4xLCB0aGVuIDpmdW5jOmAuc2xlZXBgIHdpbGwgc2xlZXAKKyAgICAgICAgIGZvciBbMC4wcywg MC4ycywgMC40cywgLi4uXSBiZXR3ZWVuIHJldHJpZXMuIEl0IHdpbGwgbmV2ZXIgYmUgbG9uZ2Vy CistICAgICAgICB0aGFuIDphdHRyOmBSZXRyeS5CQUNLT0ZGX01BWGAuCisrICAgICAgICB0aGFu IDphdHRyOmBSZXRyeS5ERUZBVUxUX0JBQ0tPRkZfTUFYYC4KKyAKKyAgICAgICAgIEJ5IGRlZmF1 bHQsIGJhY2tvZmYgaXMgZGlzYWJsZWQgKHNldCB0byAwKS4KKyAKK0BAIC0yMTcsMTAgKzIzNSwx MCBAQCBjbGFzcyBSZXRyeShvYmplY3QpOgorICAgICBSRVRSWV9BRlRFUl9TVEFUVVNfQ09ERVMg PSBmcm96ZW5zZXQoWzQxMywgNDI5LCA1MDNdKQorIAorICAgICAjOiBEZWZhdWx0IGhlYWRlcnMg dG8gYmUgdXNlZCBmb3IgYGByZW1vdmVfaGVhZGVyc19vbl9yZWRpcmVjdGBgCistICAgIERFRkFV TFRfUkVNT1ZFX0hFQURFUlNfT05fUkVESVJFQ1QgPSBmcm96ZW5zZXQoWyJBdXRob3JpemF0aW9u Il0pCisrICAgIERFRkFVTFRfUkVNT1ZFX0hFQURFUlNfT05fUkVESVJFQ1QgPSBmcm96ZW5zZXQo WyJDb29raWUiLCAiQXV0aG9yaXphdGlvbiJdKQorIAorICAgICAjOiBNYXhpbXVtIGJhY2tvZmYg dGltZS4KKy0gICAgQkFDS09GRl9NQVggPSAxMjAKKysgICAgREVGQVVMVF9CQUNLT0ZGX01BWCA9 IDEyMAorIAorICAgICBkZWYgX19pbml0X18oCisgICAgICAgICBzZWxmLAorQEAgLTI1Myw2ICsy NzEsNyBAQCBkZWYgX19pbml0X18oCisgICAgICAgICAgICAgICAgICJVc2luZyAnbWV0aG9kX3do aXRlbGlzdCcgd2l0aCBSZXRyeSBpcyBkZXByZWNhdGVkIGFuZCAiCisgICAgICAgICAgICAgICAg ICJ3aWxsIGJlIHJlbW92ZWQgaW4gdjIuMC4gVXNlICdhbGxvd2VkX21ldGhvZHMnIGluc3RlYWQi LAorICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsCisrICAgICAgICAgICAgICAg IHN0YWNrbGV2ZWw9MiwKKyAgICAgICAgICAgICApCisgICAgICAgICAgICAgYWxsb3dlZF9tZXRo b2RzID0gbWV0aG9kX3doaXRlbGlzdAorICAgICAgICAgaWYgYWxsb3dlZF9tZXRob2RzIGlzIF9E ZWZhdWx0OgorQEAgLTMyMCw3ICszMzksNyBAQCBkZWYgbmV3KHNlbGYsICoqa3cpOgorIAorICAg ICBAY2xhc3NtZXRob2QKKyAgICAgZGVmIGZyb21faW50KGNscywgcmV0cmllcywgcmVkaXJlY3Q9 VHJ1ZSwgZGVmYXVsdD1Ob25lKToKKy0gICAgICAgICIiIiBCYWNrd2FyZHMtY29tcGF0aWJpbGl0 eSBmb3IgdGhlIG9sZCByZXRyaWVzIGZvcm1hdC4iIiIKKysgICAgICAgICIiIkJhY2t3YXJkcy1j b21wYXRpYmlsaXR5IGZvciB0aGUgb2xkIHJldHJpZXMgZm9ybWF0LiIiIgorICAgICAgICAgaWYg cmV0cmllcyBpcyBOb25lOgorICAgICAgICAgICAgIHJldHJpZXMgPSBkZWZhdWx0IGlmIGRlZmF1 bHQgaXMgbm90IE5vbmUgZWxzZSBjbHMuREVGQVVMVAorIAorQEAgLTM0Nyw3ICszNjYsNyBAQCBk ZWYgZ2V0X2JhY2tvZmZfdGltZShzZWxmKToKKyAgICAgICAgICAgICByZXR1cm4gMAorIAorICAg ICAgICAgYmFja29mZl92YWx1ZSA9IHNlbGYuYmFja29mZl9mYWN0b3IgKiAoMiAqKiAoY29uc2Vj dXRpdmVfZXJyb3JzX2xlbiAtIDEpKQorLSAgICAgICAgcmV0dXJuIG1pbihzZWxmLkJBQ0tPRkZf TUFYLCBiYWNrb2ZmX3ZhbHVlKQorKyAgICAgICAgcmV0dXJuIG1pbihzZWxmLkRFRkFVTFRfQkFD S09GRl9NQVgsIGJhY2tvZmZfdmFsdWUpCisgCisgICAgIGRlZiBwYXJzZV9yZXRyeV9hZnRlcihz ZWxmLCByZXRyeV9hZnRlcik6CisgICAgICAgICAjIFdoaXRlc3BhY2U6IGh0dHBzOi8vdG9vbHMu aWV0Zi5vcmcvaHRtbC9yZmM3MjMwI3NlY3Rpb24tMy4yLjQKK0BAIC0zNzMsOSArMzkyLDkgQEAg ZGVmIHBhcnNlX3JldHJ5X2FmdGVyKHNlbGYsIHJldHJ5X2FmdGVyKToKKyAgICAgICAgIHJldHVy biBzZWNvbmRzCisgCisgICAgIGRlZiBnZXRfcmV0cnlfYWZ0ZXIoc2VsZiwgcmVzcG9uc2UpOgor LSAgICAgICAgIiIiIEdldCB0aGUgdmFsdWUgb2YgUmV0cnktQWZ0ZXIgaW4gc2Vjb25kcy4gIiIi CisrICAgICAgICAiIiJHZXQgdGhlIHZhbHVlIG9mIFJldHJ5LUFmdGVyIGluIHNlY29uZHMuIiIi CisgCistICAgICAgICByZXRyeV9hZnRlciA9IHJlc3BvbnNlLmdldGhlYWRlcigiUmV0cnktQWZ0 ZXIiKQorKyAgICAgICAgcmV0cnlfYWZ0ZXIgPSByZXNwb25zZS5oZWFkZXJzLmdldCgiUmV0cnkt QWZ0ZXIiKQorIAorICAgICAgICAgaWYgcmV0cnlfYWZ0ZXIgaXMgTm9uZToKKyAgICAgICAgICAg ICByZXR1cm4gTm9uZQorQEAgLTQ2Nyw3ICs0ODYsNyBAQCBkZWYgaXNfcmV0cnkoc2VsZiwgbWV0 aG9kLCBzdGF0dXNfY29kZSwgaGFzX3JldHJ5X2FmdGVyPUZhbHNlKToKKyAgICAgICAgICkKKyAK KyAgICAgZGVmIGlzX2V4aGF1c3RlZChzZWxmKToKKy0gICAgICAgICIiIiBBcmUgd2Ugb3V0IG9m IHJldHJpZXM/ICIiIgorKyAgICAgICAgIiIiQXJlIHdlIG91dCBvZiByZXRyaWVzPyIiIgorICAg ICAgICAgcmV0cnlfY291bnRzID0gKAorICAgICAgICAgICAgIHNlbGYudG90YWwsCisgICAgICAg ICAgICAgc2VsZi5jb25uZWN0LAorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxs aWIzL3VybGxpYjMvdXRpbC9zc2xfLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJs bGliMy91dGlsL3NzbF8ucHkKK2luZGV4IDFjYjVlN2NkYzFjMGMuLjhmODY3ODEyYTVlYjMgMTAw NjQ0CistLS0gYS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3V0aWwvc3NsXy5w eQorKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy91dGlsL3NzbF8ucHkK K0BAIC00NCwxMyArNDQsMjEgQEAgZGVmIF9jb25zdF9jb21wYXJlX2RpZ2VzdF9iYWNrcG9ydChh LCBiKToKKyAKKyB0cnk6ICAjIFRlc3QgZm9yIFNTTCBmZWF0dXJlcworICAgICBpbXBvcnQgc3Ns CistICAgIGZyb20gc3NsIGltcG9ydCBIQVNfU05JICAjIEhhcyBTTkk/CisgICAgIGZyb20gc3Ns IGltcG9ydCBDRVJUX1JFUVVJUkVELCB3cmFwX3NvY2tldAorK2V4Y2VwdCBJbXBvcnRFcnJvcjoK KysgICAgcGFzcworKworK3RyeToKKysgICAgZnJvbSBzc2wgaW1wb3J0IEhBU19TTkkgICMgSGFz IFNOST8KKytleGNlcHQgSW1wb3J0RXJyb3I6CisrICAgIHBhc3MKKyAKKyt0cnk6CisgICAgIGZy b20gLnNzbHRyYW5zcG9ydCBpbXBvcnQgU1NMVHJhbnNwb3J0CisgZXhjZXB0IEltcG9ydEVycm9y OgorICAgICBwYXNzCisgCisrCisgdHJ5OiAgIyBQbGF0Zm9ybS1zcGVjaWZpYzogUHl0aG9uIDMu NgorICAgICBmcm9tIHNzbCBpbXBvcnQgUFJPVE9DT0xfVExTCisgCitAQCAtNjMsNiArNzEsMTEg QEAgZGVmIF9jb25zdF9jb21wYXJlX2RpZ2VzdF9iYWNrcG9ydChhLCBiKToKKyAgICAgZXhjZXB0 IEltcG9ydEVycm9yOgorICAgICAgICAgUFJPVE9DT0xfU1NMdjIzID0gUFJPVE9DT0xfVExTID0g MgorIAorK3RyeToKKysgICAgZnJvbSBzc2wgaW1wb3J0IFBST1RPQ09MX1RMU19DTElFTlQKKytl eGNlcHQgSW1wb3J0RXJyb3I6CisrICAgIFBST1RPQ09MX1RMU19DTElFTlQgPSBQUk9UT0NPTF9U TFMKKysKKyAKKyB0cnk6CisgICAgIGZyb20gc3NsIGltcG9ydCBPUF9OT19DT01QUkVTU0lPTiwg T1BfTk9fU1NMdjIsIE9QX05PX1NTTHYzCitAQCAtMTUxLDcgKzE2NCw3IEBAIGRlZiB3cmFwX3Nv Y2tldChzZWxmLCBzb2NrZXQsIHNlcnZlcl9ob3N0bmFtZT1Ob25lLCBzZXJ2ZXJfc2lkZT1GYWxz ZSk6CisgICAgICAgICAgICAgICAgICJ1cmxsaWIzIGZyb20gY29uZmlndXJpbmcgU1NMIGFwcHJv cHJpYXRlbHkgYW5kIG1heSBjYXVzZSAiCisgICAgICAgICAgICAgICAgICJjZXJ0YWluIFNTTCBj b25uZWN0aW9ucyB0byBmYWlsLiBZb3UgY2FuIHVwZ3JhZGUgdG8gYSBuZXdlciAiCisgICAgICAg ICAgICAgICAgICJ2ZXJzaW9uIG9mIFB5dGhvbiB0byBzb2x2ZSB0aGlzLiBGb3IgbW9yZSBpbmZv cm1hdGlvbiwgc2VlICIKKy0gICAgICAgICAgICAgICAgImh0dHBzOi8vdXJsbGliMy5yZWFkdGhl ZG9jcy5pby9lbi9sYXRlc3QvYWR2YW5jZWQtdXNhZ2UuaHRtbCIKKysgICAgICAgICAgICAgICAg Imh0dHBzOi8vdXJsbGliMy5yZWFkdGhlZG9jcy5pby9lbi8xLjI2LngvYWR2YW5jZWQtdXNhZ2Uu aHRtbCIKKyAgICAgICAgICAgICAgICAgIiNzc2wtd2FybmluZ3MiLAorICAgICAgICAgICAgICAg ICBJbnNlY3VyZVBsYXRmb3JtV2FybmluZywKKyAgICAgICAgICAgICApCitAQCAtMjcwLDcgKzI4 MywxMSBAQCBkZWYgY3JlYXRlX3VybGxpYjNfY29udGV4dCgKKyAgICAgICAgIENvbnN0cnVjdGVk IFNTTENvbnRleHQgb2JqZWN0IHdpdGggc3BlY2lmaWVkIG9wdGlvbnMKKyAgICAgOnJ0eXBlOiBT U0xDb250ZXh0CisgICAgICIiIgorLSAgICBjb250ZXh0ID0gU1NMQ29udGV4dChzc2xfdmVyc2lv biBvciBQUk9UT0NPTF9UTFMpCisrICAgICMgUFJPVE9DT0xfVExTIGlzIGRlcHJlY2F0ZWQgaW4g UHl0aG9uIDMuMTAKKysgICAgaWYgbm90IHNzbF92ZXJzaW9uIG9yIHNzbF92ZXJzaW9uID09IFBS T1RPQ09MX1RMUzoKKysgICAgICAgIHNzbF92ZXJzaW9uID0gUFJPVE9DT0xfVExTX0NMSUVOVAor KworKyAgICBjb250ZXh0ID0gU1NMQ29udGV4dChzc2xfdmVyc2lvbikKKyAKKyAgICAgY29udGV4 dC5zZXRfY2lwaGVycyhjaXBoZXJzIG9yIERFRkFVTFRfQ0lQSEVSUykKKyAKK0BAIC0zMDUsMTMg KzMyMiwyNSBAQCBkZWYgY3JlYXRlX3VybGxpYjNfY29udGV4dCgKKyAgICAgKSBpcyBub3QgTm9u ZToKKyAgICAgICAgIGNvbnRleHQucG9zdF9oYW5kc2hha2VfYXV0aCA9IFRydWUKKyAKKy0gICAg Y29udGV4dC52ZXJpZnlfbW9kZSA9IGNlcnRfcmVxcworLSAgICBpZiAoCistICAgICAgICBnZXRh dHRyKGNvbnRleHQsICJjaGVja19ob3N0bmFtZSIsIE5vbmUpIGlzIG5vdCBOb25lCistICAgICk6 ICAjIFBsYXRmb3JtLXNwZWNpZmljOiBQeXRob24gMy4yCistICAgICAgICAjIFdlIGRvIG91ciBv d24gdmVyaWZpY2F0aW9uLCBpbmNsdWRpbmcgZmluZ2VycHJpbnRzIGFuZCBhbHRlcm5hdGl2ZQor LSAgICAgICAgIyBob3N0bmFtZXMuIFNvIGRpc2FibGUgaXQgaGVyZQorLSAgICAgICAgY29udGV4 dC5jaGVja19ob3N0bmFtZSA9IEZhbHNlCisrICAgIGRlZiBkaXNhYmxlX2NoZWNrX2hvc3RuYW1l KCk6CisrICAgICAgICBpZiAoCisrICAgICAgICAgICAgZ2V0YXR0cihjb250ZXh0LCAiY2hlY2tf aG9zdG5hbWUiLCBOb25lKSBpcyBub3QgTm9uZQorKyAgICAgICAgKTogICMgUGxhdGZvcm0tc3Bl Y2lmaWM6IFB5dGhvbiAzLjIKKysgICAgICAgICAgICAjIFdlIGRvIG91ciBvd24gdmVyaWZpY2F0 aW9uLCBpbmNsdWRpbmcgZmluZ2VycHJpbnRzIGFuZCBhbHRlcm5hdGl2ZQorKyAgICAgICAgICAg ICMgaG9zdG5hbWVzLiBTbyBkaXNhYmxlIGl0IGhlcmUKKysgICAgICAgICAgICBjb250ZXh0LmNo ZWNrX2hvc3RuYW1lID0gRmFsc2UKKysKKysgICAgIyBUaGUgb3JkZXIgb2YgdGhlIGJlbG93IGxp bmVzIHNldHRpbmcgdmVyaWZ5X21vZGUgYW5kIGNoZWNrX2hvc3RuYW1lCisrICAgICMgbWF0dGVy IGR1ZSB0byBzYWZlLWd1YXJkcyBTU0xDb250ZXh0IGhhcyB0byBwcmV2ZW50IGFuIFNTTENvbnRl eHQgd2l0aAorKyAgICAjIGNoZWNrX2hvc3RuYW1lPVRydWUsIHZlcmlmeV9tb2RlPU5PTkUvT1BU SU9OQUwuIFRoaXMgaXMgbWFkZSBldmVuIG1vcmUKKysgICAgIyBjb21wbGV4IGJlY2F1c2Ugd2Ug ZG9uJ3Qga25vdyB3aGV0aGVyIFBST1RPQ09MX1RMU19DTElFTlQgd2lsbCBiZSB1c2VkCisrICAg ICMgb3Igbm90IHNvIHdlIGRvbid0IGtub3cgdGhlIGluaXRpYWwgc3RhdGUgb2YgdGhlIGZyZXNo bHkgY3JlYXRlZCBTU0xDb250ZXh0LgorKyAgICBpZiBjZXJ0X3JlcXMgPT0gc3NsLkNFUlRfUkVR VUlSRUQ6CisrICAgICAgICBjb250ZXh0LnZlcmlmeV9tb2RlID0gY2VydF9yZXFzCisrICAgICAg ICBkaXNhYmxlX2NoZWNrX2hvc3RuYW1lKCkKKysgICAgZWxzZToKKysgICAgICAgIGRpc2FibGVf Y2hlY2tfaG9zdG5hbWUoKQorKyAgICAgICAgY29udGV4dC52ZXJpZnlfbW9kZSA9IGNlcnRfcmVx cworIAorICAgICAjIEVuYWJsZSBsb2dnaW5nIG9mIFRMUyBzZXNzaW9uIGtleXMgdmlhIGRlZmFj dG8gc3RhbmRhcmQgZW52aXJvbm1lbnQgdmFyaWFibGUKKyAgICAgIyAnU1NMS0VZTE9HRklMRScs IGlmIHRoZSBmZWF0dXJlIGlzIGF2YWlsYWJsZSAoUHl0aG9uIDMuOCspLiBTa2lwIGVtcHR5IHZh bHVlcy4KK0BAIC0zOTMsNyArNDIyLDcgQEAgZGVmIHNzbF93cmFwX3NvY2tldCgKKyAgICAgdHJ5 OgorICAgICAgICAgaWYgaGFzYXR0cihjb250ZXh0LCAic2V0X2FscG5fcHJvdG9jb2xzIik6Cisg ICAgICAgICAgICAgY29udGV4dC5zZXRfYWxwbl9wcm90b2NvbHMoQUxQTl9QUk9UT0NPTFMpCist ICAgIGV4Y2VwdCBOb3RJbXBsZW1lbnRlZEVycm9yOgorKyAgICBleGNlcHQgTm90SW1wbGVtZW50 ZWRFcnJvcjogICMgRGVmZW5zaXZlOiBpbiBDSSwgd2UgYWx3YXlzIGhhdmUgc2V0X2FscG5fcHJv dG9jb2xzCisgICAgICAgICBwYXNzCisgCisgICAgICMgSWYgd2UgZGV0ZWN0IHNlcnZlcl9ob3N0 bmFtZSBpcyBhbiBJUCBhZGRyZXNzIHRoZW4gdGhlIFNOSQorQEAgLTQxMSw3ICs0NDAsNyBAQCBk ZWYgc3NsX3dyYXBfc29ja2V0KAorICAgICAgICAgICAgICJUaGlzIG1heSBjYXVzZSB0aGUgc2Vy dmVyIHRvIHByZXNlbnQgYW4gaW5jb3JyZWN0IFRMUyAiCisgICAgICAgICAgICAgImNlcnRpZmlj YXRlLCB3aGljaCBjYW4gY2F1c2UgdmFsaWRhdGlvbiBmYWlsdXJlcy4gWW91IGNhbiB1cGdyYWRl IHRvICIKKyAgICAgICAgICAgICAiYSBuZXdlciB2ZXJzaW9uIG9mIFB5dGhvbiB0byBzb2x2ZSB0 aGlzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlICIKKy0gICAgICAgICAgICAiaHR0cHM6Ly91 cmxsaWIzLnJlYWR0aGVkb2NzLmlvL2VuL2xhdGVzdC9hZHZhbmNlZC11c2FnZS5odG1sIgorKyAg ICAgICAgICAgICJodHRwczovL3VybGxpYjMucmVhZHRoZWRvY3MuaW8vZW4vMS4yNi54L2FkdmFu Y2VkLXVzYWdlLmh0bWwiCisgICAgICAgICAgICAgIiNzc2wtd2FybmluZ3MiLAorICAgICAgICAg ICAgIFNOSU1pc3NpbmdXYXJuaW5nLAorICAgICAgICAgKQorZGlmZiAtLWdpdCBhL3RoaXJkX3Bh cnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvcGFja2FnZXMvc3NsX21hdGNoX2hvc3RuYW1lL19p bXBsZW1lbnRhdGlvbi5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvdXRp bC9zc2xfbWF0Y2hfaG9zdG5hbWUucHkKK3NpbWlsYXJpdHkgaW5kZXggOTIlCityZW5hbWUgZnJv bSB0aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3BhY2thZ2VzL3NzbF9tYXRjaF9o b3N0bmFtZS9faW1wbGVtZW50YXRpb24ucHkKK3JlbmFtZSB0byB0aGlyZF9wYXJ0eS9weXRob24v dXJsbGliMy91cmxsaWIzL3V0aWwvc3NsX21hdGNoX2hvc3RuYW1lLnB5CitpbmRleCA2ODkyMDhk M2M2M2YxLi4xZGQ5NTBjNDg5NjA3IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3Vy bGxpYjMvdXJsbGliMy9wYWNrYWdlcy9zc2xfbWF0Y2hfaG9zdG5hbWUvX2ltcGxlbWVudGF0aW9u LnB5CisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3V0aWwvc3NsX21h dGNoX2hvc3RuYW1lLnB5CitAQCAtOSw3ICs5LDcgQEAKKyAjIGlwYWRkcmVzcyBoYXMgYmVlbiBi YWNrcG9ydGVkIHRvIDIuNisgaW4gcHlwaS4gIElmIGl0IGlzIGluc3RhbGxlZCBvbiB0aGUKKyAj IHN5c3RlbSwgdXNlIGl0IHRvIGhhbmRsZSBJUEFkZHJlc3MgU2VydmVyQWx0bmFtZXMgKHRoaXMg d2FzIGFkZGVkIGluCisgIyBweXRob24tMy41KSBvdGhlcndpc2Ugb25seSBkbyBETlMgbWF0Y2hp bmcuICBUaGlzIGFsbG93cworLSMgYmFja3BvcnRzLnNzbF9tYXRjaF9ob3N0bmFtZSB0byBjb250 aW51ZSB0byBiZSB1c2VkIGluIFB5dGhvbiAyLjcuCisrIyB1dGlsLnNzbF9tYXRjaF9ob3N0bmFt ZSB0byBjb250aW51ZSB0byBiZSB1c2VkIGluIFB5dGhvbiAyLjcuCisgdHJ5OgorICAgICBpbXBv cnQgaXBhZGRyZXNzCisgZXhjZXB0IEltcG9ydEVycm9yOgorQEAgLTc4LDcgKzc4LDggQEAgZGVm IF9kbnNuYW1lX21hdGNoKGRuLCBob3N0bmFtZSwgbWF4X3dpbGRjYXJkcz0xKToKKyAKKyBkZWYg X3RvX3VuaWNvZGUob2JqKToKKyAgICAgaWYgaXNpbnN0YW5jZShvYmosIHN0cikgYW5kIHN5cy52 ZXJzaW9uX2luZm8gPCAoMywpOgorLSAgICAgICAgb2JqID0gdW5pY29kZShvYmosIGVuY29kaW5n PSJhc2NpaSIsIGVycm9ycz0ic3RyaWN0IikKKysgICAgICAgICMgaWdub3JlZCBmbGFrZTggIyBG ODIxIHRvIHN1cHBvcnQgcHl0aG9uIDIuNyBmdW5jdGlvbgorKyAgICAgICAgb2JqID0gdW5pY29k ZShvYmosIGVuY29kaW5nPSJhc2NpaSIsIGVycm9ycz0ic3RyaWN0IikgICMgbm9xYTogRjgyMQor ICAgICByZXR1cm4gb2JqCisgCisgCitAQCAtMTExLDExICsxMTIsOSBAQCBkZWYgbWF0Y2hfaG9z dG5hbWUoY2VydCwgaG9zdG5hbWUpOgorICAgICB0cnk6CisgICAgICAgICAjIERpdmVyZ2VuY2Ug ZnJvbSB1cHN0cmVhbTogaXBhZGRyZXNzIGNhbid0IGhhbmRsZSBieXRlIHN0cgorICAgICAgICAg aG9zdF9pcCA9IGlwYWRkcmVzcy5pcF9hZGRyZXNzKF90b191bmljb2RlKGhvc3RuYW1lKSkKKy0g ICAgZXhjZXB0IFZhbHVlRXJyb3I6CistICAgICAgICAjIE5vdCBhbiBJUCBhZGRyZXNzIChjb21t b24gY2FzZSkKKy0gICAgICAgIGhvc3RfaXAgPSBOb25lCistICAgIGV4Y2VwdCBVbmljb2RlRXJy b3I6CistICAgICAgICAjIERpdmVyZ2VuY2UgZnJvbSB1cHN0cmVhbTogSGF2ZSB0byBkZWFsIHdp dGggaXBhZGRyZXNzIG5vdCB0YWtpbmcKKysgICAgZXhjZXB0IChVbmljb2RlRXJyb3IsIFZhbHVl RXJyb3IpOgorKyAgICAgICAgIyBWYWx1ZUVycm9yOiBOb3QgYW4gSVAgYWRkcmVzcyAoY29tbW9u IGNhc2UpCisrICAgICAgICAjIFVuaWNvZGVFcnJvcjogRGl2ZXJnZW5jZSBmcm9tIHVwc3RyZWFt OiBIYXZlIHRvIGRlYWwgd2l0aCBpcGFkZHJlc3Mgbm90IHRha2luZworICAgICAgICAgIyBieXRl IHN0cmluZ3MuICBhZGRyZXNzZXMgc2hvdWxkIGJlIGFsbCBhc2NpaSwgc28gd2UgY29uc2lkZXIg aXQgbm90CisgICAgICAgICAjIGFuIGlwYWRkcmVzcyBpbiB0aGlzIGNhc2UKKyAgICAgICAgIGhv c3RfaXAgPSBOb25lCitAQCAtMTIzLDcgKzEyMiw3IEBAIGRlZiBtYXRjaF9ob3N0bmFtZShjZXJ0 LCBob3N0bmFtZSk6CisgICAgICAgICAjIERpdmVyZ2VuY2UgZnJvbSB1cHN0cmVhbTogTWFrZSBp cGFkZHJlc3MgbGlicmFyeSBvcHRpb25hbAorICAgICAgICAgaWYgaXBhZGRyZXNzIGlzIE5vbmU6 CisgICAgICAgICAgICAgaG9zdF9pcCA9IE5vbmUKKy0gICAgICAgIGVsc2U6CisrICAgICAgICBl bHNlOiAgIyBEZWZlbnNpdmUKKyAgICAgICAgICAgICByYWlzZQorICAgICBkbnNuYW1lcyA9IFtd CisgICAgIHNhbiA9IGNlcnQuZ2V0KCJzdWJqZWN0QWx0TmFtZSIsICgpKQorZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvdXRpbC9zc2x0cmFuc3BvcnQucHkg Yi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIzL3V0aWwvc3NsdHJhbnNwb3J0LnB5 CitpbmRleCAxZTQxMzU0ZjVkNDU4Li40YTcxMDVkMTc5MTZhIDEwMDY0NAorLS0tIGEvdGhpcmRf cGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy91dGlsL3NzbHRyYW5zcG9ydC5weQorKysrIGIv dGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy91dGlsL3NzbHRyYW5zcG9ydC5weQor QEAgLTIsOCArMiw4IEBACisgaW1wb3J0IHNvY2tldAorIGltcG9ydCBzc2wKKyAKKy1mcm9tIHVy bGxpYjMuZXhjZXB0aW9ucyBpbXBvcnQgUHJveHlTY2hlbWVVbnN1cHBvcnRlZAorLWZyb20gdXJs bGliMy5wYWNrYWdlcyBpbXBvcnQgc2l4CisrZnJvbSAuLmV4Y2VwdGlvbnMgaW1wb3J0IFByb3h5 U2NoZW1lVW5zdXBwb3J0ZWQKKytmcm9tIC4ucGFja2FnZXMgaW1wb3J0IHNpeAorIAorIFNTTF9C TE9DS1NJWkUgPSAxNjM4NAorIAorQEAgLTE5Myw3ICsxOTMsNyBAQCBkZWYgX3dyYXBfc3NsX3Jl YWQoc2VsZiwgbGVuLCBidWZmZXI9Tm9uZSk6CisgICAgICAgICAgICAgICAgIHJhaXNlCisgCisg ICAgIGRlZiBfc3NsX2lvX2xvb3Aoc2VsZiwgZnVuYywgKmFyZ3MpOgorLSAgICAgICAgIiIiIFBl cmZvcm1zIGFuIEkvTyBsb29wIGJldHdlZW4gaW5jb21pbmcvb3V0Z29pbmcgYW5kIHRoZSBzb2Nr ZXQuIiIiCisrICAgICAgICAiIiJQZXJmb3JtcyBhbiBJL08gbG9vcCBiZXR3ZWVuIGluY29taW5n L291dGdvaW5nIGFuZCB0aGUgc29ja2V0LiIiIgorICAgICAgICAgc2hvdWxkX2xvb3AgPSBUcnVl CisgICAgICAgICByZXQgPSBOb25lCisgCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcHl0aG9u L3VybGxpYjMvdXJsbGliMy91dGlsL3RpbWVvdXQucHkgYi90aGlyZF9wYXJ0eS9weXRob24vdXJs bGliMy91cmxsaWIzL3V0aWwvdGltZW91dC5weQoraW5kZXggZmY2OTU5M2IwNWI1ZS4uNzhlMThh NjI3MjQ4MiAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMv dXRpbC90aW1lb3V0LnB5CisrKysgYi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91cmxsaWIz L3V0aWwvdGltZW91dC5weQorQEAgLTIsOSArMiw4IEBACisgCisgaW1wb3J0IHRpbWUKKyAKKy0j IFRoZSBkZWZhdWx0IHNvY2tldCB0aW1lb3V0LCB1c2VkIGJ5IGh0dHBsaWIgdG8gaW5kaWNhdGUg dGhhdCBubyB0aW1lb3V0IHdhcworLSMgc3BlY2lmaWVkIGJ5IHRoZSB1c2VyCistZnJvbSBzb2Nr ZXQgaW1wb3J0IF9HTE9CQUxfREVGQVVMVF9USU1FT1VUCisrIyBUaGUgZGVmYXVsdCBzb2NrZXQg dGltZW91dCwgdXNlZCBieSBodHRwbGliIHRvIGluZGljYXRlIHRoYXQgbm8gdGltZW91dCB3YXM7 IHNwZWNpZmllZCBieSB0aGUgdXNlcgorK2Zyb20gc29ja2V0IGltcG9ydCBfR0xPQkFMX0RFRkFV TFRfVElNRU9VVCwgZ2V0ZGVmYXVsdHRpbWVvdXQKKyAKKyBmcm9tIC4uZXhjZXB0aW9ucyBpbXBv cnQgVGltZW91dFN0YXRlRXJyb3IKKyAKK0BAIC0xMTYsNiArMTE1LDEwIEBAIGRlZiBfX3JlcHJf XyhzZWxmKToKKyAgICAgIyBfX3N0cl9fIHByb3ZpZGVkIGZvciBiYWNrd2FyZHMgY29tcGF0aWJp bGl0eQorICAgICBfX3N0cl9fID0gX19yZXByX18KKyAKKysgICAgQGNsYXNzbWV0aG9kCisrICAg IGRlZiByZXNvbHZlX2RlZmF1bHRfdGltZW91dChjbHMsIHRpbWVvdXQpOgorKyAgICAgICAgcmV0 dXJuIGdldGRlZmF1bHR0aW1lb3V0KCkgaWYgdGltZW91dCBpcyBjbHMuREVGQVVMVF9USU1FT1VU IGVsc2UgdGltZW91dAorKworICAgICBAY2xhc3NtZXRob2QKKyAgICAgZGVmIF92YWxpZGF0ZV90 aW1lb3V0KGNscywgdmFsdWUsIG5hbWUpOgorICAgICAgICAgIiIiQ2hlY2sgdGhhdCBhIHRpbWVv dXQgYXR0cmlidXRlIGlzIHZhbGlkLgorZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3B5dGhvbi91 cmxsaWIzL3VybGxpYjMvdXRpbC91cmwucHkgYi90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91 cmxsaWIzL3V0aWwvdXJsLnB5CitpbmRleCA2ZmYyMzhmZTNjYmQwLi5lNTY4MmQzYmU0MjkzIDEw MDY0NAorLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy91dGlsL3VybC5w eQorKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy91dGlsL3VybC5weQor QEAgLTUwLDcgKzUwLDcgQEAKKyAgICAgIig/Oig/OiUoaGV4KXM6KXswLDZ9JShoZXgpcyk/Ojoi LAorIF0KKyAKKy1VTlJFU0VSVkVEX1BBVCA9IHIiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVph YmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkuXyFcLX4iCisrVU5SRVNFUlZFRF9Q QVQgPSByIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4 eXowMTIzNDU2Nzg5Ll9cLX4iCisgSVBWNl9QQVQgPSAiKD86IiArICJ8Ii5qb2luKFt4ICUgX3N1 YnMgZm9yIHggaW4gX3ZhcmlhdGlvbnNdKSArICIpIgorIFpPTkVfSURfUEFUID0gIig/OiUyNXwl KSg/OlsiICsgVU5SRVNFUlZFRF9QQVQgKyAiXXwlW2EtZkEtRjAtOV17Mn0pKyIKKyBJUFY2X0FE RFJaX1BBVCA9IHIiXFsiICsgSVBWNl9QQVQgKyByIig/OiIgKyBaT05FX0lEX1BBVCArIHIiKT9c XSIKK0BAIC02MywxMiArNjMsMTIgQEAKKyBCUkFDRUxFU1NfSVBWNl9BRERSWl9SRSA9IHJlLmNv bXBpbGUoIl4iICsgSVBWNl9BRERSWl9QQVRbMjotMl0gKyAiJCIpCisgWk9ORV9JRF9SRSA9IHJl LmNvbXBpbGUoIigiICsgWk9ORV9JRF9QQVQgKyByIilcXSQiKQorIAorLVNVQkFVVEhPUklUWV9Q QVQgPSAodSJeKD86KC4qKUApPyglc3wlc3wlcykoPzo6KFswLTldezAsNX0pKT8kIikgJSAoCisr X0hPU1RfUE9SVF9QQVQgPSAoIl4oJXN8JXN8JXMpKD86OjAqPyh8MHxbMS05XVswLTldezAsNH0p KT8kIikgJSAoCisgICAgIFJFR19OQU1FX1BBVCwKKyAgICAgSVBWNF9QQVQsCisgICAgIElQVjZf QUREUlpfUEFULAorICkKKy1TVUJBVVRIT1JJVFlfUkUgPSByZS5jb21waWxlKFNVQkFVVEhPUklU WV9QQVQsIHJlLlVOSUNPREUgfCByZS5ET1RBTEwpCisrX0hPU1RfUE9SVF9SRSA9IHJlLmNvbXBp bGUoX0hPU1RfUE9SVF9QQVQsIHJlLlVOSUNPREUgfCByZS5ET1RBTEwpCisgCisgVU5SRVNFUlZF RF9DSEFSUyA9IHNldCgKKyAgICAgIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hp amtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ll8tfiIKK0BAIC0yNzksNiArMjc5LDkgQEAgZGVm IF9ub3JtYWxpemVfaG9zdChob3N0LCBzY2hlbWUpOgorICAgICAgICAgaWYgc2NoZW1lIGluIE5P Uk1BTElaQUJMRV9TQ0hFTUVTOgorICAgICAgICAgICAgIGlzX2lwdjYgPSBJUFY2X0FERFJaX1JF Lm1hdGNoKGhvc3QpCisgICAgICAgICAgICAgaWYgaXNfaXB2NjoKKysgICAgICAgICAgICAgICAg IyBJUHY2IGhvc3RzIG9mIHRoZSBmb3JtICdhOjpiJXpvbmUnIGFyZSBlbmNvZGVkIGluIGEgVVJM IGFzCisrICAgICAgICAgICAgICAgICMgc3VjaCBwZXIgUkZDIDY4NzQ6ICdhOjpiJTI1em9uZScu IFVucXVvdGUgdGhlIFpvbmVJRAorKyAgICAgICAgICAgICAgICAjIHNlcGFyYXRvciBhcyBuZWNl c3NhcnkgdG8gcmV0dXJuIGEgdmFsaWQgUkZDIDQwMDcgc2NvcGVkIElQLgorICAgICAgICAgICAg ICAgICBtYXRjaCA9IFpPTkVfSURfUkUuc2VhcmNoKGhvc3QpCisgICAgICAgICAgICAgICAgIGlm IG1hdGNoOgorICAgICAgICAgICAgICAgICAgICAgc3RhcnQsIGVuZCA9IG1hdGNoLnNwYW4oMSkK K0BAIC0zMDAsNyArMzAzLDcgQEAgZGVmIF9ub3JtYWxpemVfaG9zdChob3N0LCBzY2hlbWUpOgor IAorIAorIGRlZiBfaWRuYV9lbmNvZGUobmFtZSk6CistICAgIGlmIG5hbWUgYW5kIGFueShbb3Jk KHgpID4gMTI4IGZvciB4IGluIG5hbWVdKToKKysgICAgaWYgbmFtZSBhbmQgYW55KG9yZCh4KSA+ PSAxMjggZm9yIHggaW4gbmFtZSk6CisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgaW1wb3J0 IGlkbmEKKyAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKK0BAIC0zMzEsNyArMzM0LDcgQEAg ZGVmIHBhcnNlX3VybCh1cmwpOgorICAgICAiIiIKKyAgICAgR2l2ZW4gYSB1cmwsIHJldHVybiBh IHBhcnNlZCA6Y2xhc3M6YC5VcmxgIG5hbWVkdHVwbGUuIEJlc3QtZWZmb3J0IGlzCisgICAgIHBl cmZvcm1lZCB0byBwYXJzZSBpbmNvbXBsZXRlIHVybHMuIEZpZWxkcyBub3QgcHJvdmlkZWQgd2ls bCBiZSBOb25lLgorLSAgICBUaGlzIHBhcnNlciBpcyBSRkMgMzk4NiBjb21wbGlhbnQuCisrICAg IFRoaXMgcGFyc2VyIGlzIFJGQyAzOTg2IGFuZCBSRkMgNjg3NCBjb21wbGlhbnQuCisgCisgICAg IFRoZSBwYXJzZXIgbG9naWMgYW5kIGhlbHBlciBmdW5jdGlvbnMgYXJlIGJhc2VkIGhlYXZpbHkg b24KKyAgICAgd29yayBkb25lIGluIHRoZSBgYHJmYzM5ODZgYCBtb2R1bGUuCitAQCAtMzY1LDcg KzM2OCw5IEBAIGRlZiBwYXJzZV91cmwodXJsKToKKyAgICAgICAgICAgICBzY2hlbWUgPSBzY2hl bWUubG93ZXIoKQorIAorICAgICAgICAgaWYgYXV0aG9yaXR5OgorLSAgICAgICAgICAgIGF1dGgs IGhvc3QsIHBvcnQgPSBTVUJBVVRIT1JJVFlfUkUubWF0Y2goYXV0aG9yaXR5KS5ncm91cHMoKQor KyAgICAgICAgICAgIGF1dGgsIF8sIGhvc3RfcG9ydCA9IGF1dGhvcml0eS5ycGFydGl0aW9uKCJA IikKKysgICAgICAgICAgICBhdXRoID0gYXV0aCBvciBOb25lCisrICAgICAgICAgICAgaG9zdCwg cG9ydCA9IF9IT1NUX1BPUlRfUkUubWF0Y2goaG9zdF9wb3J0KS5ncm91cHMoKQorICAgICAgICAg ICAgIGlmIGF1dGggYW5kIG5vcm1hbGl6ZV91cmk6CisgICAgICAgICAgICAgICAgIGF1dGggPSBf ZW5jb2RlX2ludmFsaWRfY2hhcnMoYXV0aCwgVVNFUklORk9fQ0hBUlMpCisgICAgICAgICAgICAg aWYgcG9ydCA9PSAiIjoKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9weXRob24vdXJsbGliMy91 cmxsaWIzL3V0aWwvd2FpdC5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMv dXRpbC93YWl0LnB5CitpbmRleCBjMjgwNjQ2YzdiZTBiLi4yMWI0NTkwYjNkYzliIDEwMDY0NAor LS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3VybGxpYjMvdXJsbGliMy91dGlsL3dhaXQucHkKKysr KyBiL3RoaXJkX3BhcnR5L3B5dGhvbi91cmxsaWIzL3VybGxpYjMvdXRpbC93YWl0LnB5CitAQCAt NDIsNyArNDIsNiBAQCBjbGFzcyBOb1dheVRvV2FpdEZvclNvY2tldEVycm9yKEV4Y2VwdGlvbik6 CisgICAgIGRlZiBfcmV0cnlfb25faW50cihmbiwgdGltZW91dCk6CisgICAgICAgICByZXR1cm4g Zm4odGltZW91dCkKKyAKKy0KKyBlbHNlOgorICAgICAjIE9sZCBhbmQgYnJva2VuIFB5dGhvbnMu CisgICAgIGRlZiBfcmV0cnlfb25faW50cihmbiwgdGltZW91dCk6CmRpZmYgLS1naXQgYS9zcmNw a2dzL21vempzMTAyL3RlbXBsYXRlIGIvc3JjcGtncy9tb3pqczEwMi90ZW1wbGF0ZQppbmRleCAx MzE1MTM5NmQ3NTYzLi4zYjQ5ZDQ3ZjE1MDA4IDEwMDY0NAotLS0gYS9zcmNwa2dzL21vempzMTAy L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbW96anMxMDIvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtb3pqczEwMicKIHBrZ25hbWU9bW96anMxMDIKLXZlcnNp b249MTAyLjguMAotcmV2aXNpb249MwordmVyc2lvbj0xMDIuMTUuMQorcmV2aXNpb249MQogYnVp bGRfd3Jrc3JjPWpzL3NyYwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogYnVpbGRfaGVscGVy PXJ1c3QKQEAgLTExLDcgKzExLDcgQEAgY29uZmlndXJlX2FyZ3M9Ii0tZGlzYWJsZS1qZW1hbGxv YyAtLWRpc2FibGUtc3RyaXAgLS1kaXNhYmxlLXRlc3RzIFwKICAtLWVuYWJsZS1zaGFyZWQtanMg LS1lbmFibGUtc3lzdGVtLWZmaSAtLXdpdGgtaW50bC1hcGkgLS13aXRoLXN5c3RlbS1pY3UgXAog IC0td2l0aC1zeXN0ZW0tbnNwciAtLXdpdGgtc3lzdGVtLXpsaWIgLS1lbmFibGUtaGFyZGVuaW5n IC0tZW5hYmxlLXJlbGVhc2UiCiBob3N0bWFrZWRlcGVuZHM9Im1ha2UgcGtnLWNvbmZpZyBweXRo b24zIHB5dGhvbjMtc2V0dXB0b29scyBweXRob24zLXNpeCBwZXJsIG00Ci0gcnVzdCBjYXJnbyBs bHZtMTIgY2xhbmciCisgcnVzdCBjYXJnbyBsbHZtMTIgY2xhbmcgcHl0aG9uMy1sb29zZXZlcnNp b24iCiBtYWtlZGVwZW5kcz0iaWN1LWRldmVsIGxpYmZmaS1kZXZlbCBuc3ByLWRldmVsIHB5dGhv bjMtZGV2ZWwgcmVhZGxpbmUtZGV2ZWwKICB6bGliLWRldmVsIHJ1c3Qtc3RkIgogY2hlY2tkZXBl bmRzPSJweXRob24zIgpAQCAtMjAsNyArMjAsNyBAQCBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3Jw aGFuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iTVBMLTIuMCIKIGhvbWVwYWdlPSJodHRwczov L3NwaWRlcm1vbmtleS5kZXYiCiBkaXN0ZmlsZXM9IiR7TU9aSUxMQV9TSVRFfS9maXJlZm94L3Jl bGVhc2VzLyR7dmVyc2lvbn1lc3Ivc291cmNlL2ZpcmVmb3gtJHt2ZXJzaW9ufWVzci5zb3VyY2Uu dGFyLnh6IgotY2hlY2tzdW09NDdmOGY2MjQzYmNlOGMyZWY1MWFkZjhjOTYyNmJiZjY0M2UxYzIy NWRjYjliYTU2NTNhMDU1ZWQ1ZTc2Y2E0OAorY2hlY2tzdW09MDkxOTRmYjc2NTk1M2JjNjk3OWEz NWFhODgzNDExOGM0NTNiOWQ2MDYwYmYxZWM0ZTEzNDU1MWJhZDc0MDExMwogCiBMREZMQUdTPSIt V2wsLXosc3RhY2stc2l6ZT0xMDQ4NTc2IgogCg== --===============2691417338639474321==--