From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 20845 invoked from network); 13 Feb 2023 18:31:20 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 13 Feb 2023 18:31:20 -0000 Content-Type: multipart/mixed; boundary="===============7635126928380129620==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_sagemath=3A_rebuild_for_dep_updates_and_fixes?= To: ml@inbox.vuxu.org From: tornaria Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 13 Feb 2023 19:31:19 +0100 List-Id: Message-ID: <20230213183119.YCmPRopQHiQzEJ9jKl18PP652M0AEDNkOn9dz3xneHk@z> GitHub notification mails are now in MIME to allow UTF8. --===============7635126928380129620== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgdG9ybmFyaWEgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3Rv cm5hcmlhL3ZvaWQtcGFja2FnZXMgc2FnZW1hdGgKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQyMDQ4CgpzYWdlbWF0aDogcmVidWlsZCBmb3IgZGVwIHVw ZGF0ZXMgYW5kIGZpeGVzCjwhLS0gVW5jb21tZW50IHJlbGV2YW50IHNlY3Rpb25zIGFuZCBkZWxl dGUgb3B0aW9ucyB3aGljaCBhcmUgbm90IGFwcGxpY2FibGUgLS0+DQoNCi0gcmVidWlsZCBmb3Ig Ym9vc3QgdXBkYXRlIGluIHN5bmMgd2l0aCBicmlhbCAoc2FtZSBQUikNCi0gZml4ZXMgZm9yIG51 bXB5IDEuMjQgKGFscmVhZHkgdXBkYXRlZCBpbiB2b2lkKQ0KLSBmaXhlcyB0byBzdXBwb3J0IHVw ZGF0aW5nIGdpYWMgdG8gMS45LjAuMzcNCi0gZml4ZXMgdG8gc3VwcG9ydCB1cGRhdGluZyB0YWNo eW9uIHRvIDAuOTkuNQ0KLSBmaXhlcyB0byBkb2N0ZXN0IGZhaWx1cmVzIGluIDMyIGJpdCBhZnRl ciB1cGdyYWRlIG9mIHBhcmkgdG8gMi4xNS4yDQotIGZpeCBhbiBlZGdlIGNhc2Ugb2YgcHl0aG9u IDMuMTEgaW50ZWdlciBjb252ZXJzaW9uIG9uIDMyIGJpdA0KLSBmaXggc2luZ3VsYXIgaW50ZXJm YWNlIGJ1ZyB0aGF0IHRyaWdnZXJzIHVuZGVyIHZlcnkgaGVhdnkgbG9hZCAoZS5nLiBvbiBDSSkN Ci0gdGFyYmFsbCB3YXMgbW92ZWQ7IHNoYTI1NiBjaGFuZ2VkIG9ubHkgYi9jIG9mIG1haW4gZGly bmFtZSBjaGFuZ2UNCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVkIHRoZSBj aGFuZ2VzIGluIHRoaXMgUFI6ICoqWUVTKioNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2FnZQ0KLSBU aGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0 dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09O VFJJQlVUSU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1lbnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0K DQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBo b3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5H Lm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUg YnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9y ZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0N CiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3Ig bXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxv Y2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1 aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsDQogIC0gYXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0t Pg0KCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lk LXBhY2thZ2VzL3B1bGwvNDIwNDgucGF0Y2ggaXMgYXR0YWNoZWQ= --===============7635126928380129620== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-sagemath-42048.patch" RnJvbSBlMzhjMmYxYjkyYmI1NmIxNGRlNmVkM2M3ZTAyZmEyODU1Y2U4NTk3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8 dG9ybmFyaWFAY21hdC5lZHUudXk+CkRhdGU6IE1vbiwgMzAgSmFuIDIwMjMgMTE6MDQ6NDYgLTAz MDAKU3ViamVjdDogW1BBVENIIDEvMl0gYnJpYWw6IHVwZGF0ZSB0byAxLjIuMTIuCgotLS0KIHNy Y3BrZ3MvYnJpYWwvdGVtcGxhdGUgfCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYnJpYWwvdGVtcGxh dGUgYi9zcmNwa2dzL2JyaWFsL3RlbXBsYXRlCmluZGV4IDhmOTg4YzEyOTZjNi4uMmY4ZTE5NWE4 ODA0IDEwMDY0NAotLS0gYS9zcmNwa2dzL2JyaWFsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYnJp YWwvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdicmlhbCcK IHBrZ25hbWU9YnJpYWwKLXZlcnNpb249MS4yLjExCit2ZXJzaW9uPTEuMi4xMgogcmV2aXNpb249 MQogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmln IgpAQCAtOSw4ICs5LDkgQEAgc2hvcnRfZGVzYz0iQlJpQWwgKEJvb2xlYW4gUmluZyBBbGdlYnJh KSBpcyB0aGUgc3VjY2Vzc29yIHRvIFBvbHlCb1JpIgogbWFpbnRhaW5lcj0iR29uemFsbyBUb3Ju YXLDrWEgPHRvcm5hcmlhQGNtYXQuZWR1LnV5PiIKIGxpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIi CiBob21lcGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL0JSaUFsL0JSaUFsIgorY2hhbmdlbG9nPSJo dHRwczovL2dpdGh1Yi5jb20vQlJpQWwvQlJpQWwvcmVsZWFzZXMiCiBkaXN0ZmlsZXM9Imh0dHBz Oi8vZ2l0aHViLmNvbS9CUmlBbC9CUmlBbC9yZWxlYXNlcy9kb3dubG9hZC8kdmVyc2lvbi9icmlh bC0kdmVyc2lvbi50YXIuYnoyIgotY2hlY2tzdW09NmMwZjYyMjAwOWRjZDk5MjgyOTVkNzQ4MjI2 YmFhOWNkYzFhODdjMzI1NTJlMTM3NzJmZGRmOTViYmI2ZjAyYworY2hlY2tzdW09Y2EwMDllMzcy MmRkM2YwYTYwZDE1NTAxY2FlZDE0MTMxNDZjODBhYmNlZDU3NDIzZTMyYWUwMTE2ZjQwNzQ5NAog CiBpZiBbIC1uICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAljb25maWd1cmVfYXJncys9IiAtLXdp dGgtYm9vc3QtdW5pdC10ZXN0LWZyYW1ld29yaz1ubyIKCkZyb20gODY3NWRjZTg3ODczNzA3MzBj ZGFlYTZhZWM0ZmZmNmVmYzE2OGUwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9V VEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgpE YXRlOiBUaHUsIDIgRmViIDIwMjMgMTk6MDM6MzQgLTAzMDAKU3ViamVjdDogW1BBVENIIDIvMl0g c2FnZW1hdGg6IHVwZGF0ZSB0byA5LjguCgpBbHNvOgogLSBmaXggZWRnZSBjYXNlIG9mIHB5dGhv biAzLjExIGludGVnZXIgY29udmVyc2lvbiBvbiAzMiBiaXQKIC0gc3VwcG9ydCB0YWNoeW9uIDAu OTkuNQogLSBzdXBwb3J0IHNpbmd1bGFyIDQuMy4xcDMKIC0gZml4IHRlc3RzIGZvciBnaWFjIDEu OS4wLjM1CiAtIGZpeCB0ZXN0cyBmb3IgbnVtcHkgMS4yNAogLSBza2lwIHVuc3RhYmxlIHRlc3Rz IGluIGtseWFjaGtvLnB5CiAtIHJlbW92ZSB6bl9wb2x5IGRlcGVuZGVuY3kKLS0tCiBzcmNwa2dz L3NhZ2VtYXRoL2ZpbGVzL3NhZ2VfY29uZi5weSAgICAgICAgICAgfCAgICAzICstCiAuLi4vcGF0 Y2hlcy8wOS1kb2N0ZXN0X251bWVyaWNhbF9maXgucGF0Y2ggICAgfCAgIDE0IC0KIC4uLi8zNDk4 MC1hdm9pZF9mYWN0b3JpbmdfaW5faXNfcHJpbWUucGF0Y2ggICB8ICAgNDcgKwogLi4uL3BhdGNo ZXMvMzQ5OTQtZml4X3Rlc3RzX251bXB5XzEuMjQucGF0Y2ggIHwgICA1OCArCiAuLi4vMzQ5OTUt c3VwcG9ydF90YWNoeW9uXzAuOTkuMi5wYXRjaCAgICAgICAgfCAgIDU3ICsKIC4uLjM0OTk3LWZp eF9lZGdlX2Nhc2Vfb2ZfaW50ZWdlcl9jaGVjay5wYXRjaCB8ICAgMzYgKwogLi4uLzM1MDU4LXNr aXBfdW5zdGFibGVfdGVzdHNfa2x5YWNoa28ucGF0Y2ggIHwgICAyMiArCiAuLi4vMzUwNjgtZml4 X3Rlc3RzX2dpYWNfMS45LjAuMzUucGF0Y2ggICAgICAgfCAgIDYyICsKIC4uLi9wYXRjaGVzLzM1 MDk0LXN1cHBvcnRfZ2FwXzQuMTIucGF0Y2ggICAgICB8IDEzMDMgKysrKysrKysrKysrCiBzcmNw a2dzL3NhZ2VtYXRoL3BhdGNoZXMvZ2V0X3BhdGNoZXMgICAgICAgICAgfCAgIDQwICsKIC4uLmNl ZTFhNjkyMjliMmY1ZDhhYzRhMDlhNzNkODE1MmY1ZTE0ZC5wYXRjaCB8ICAgNTMgLQogLi4uZmM0 ZWM4Yjg2ODdiY2NkMjJkMmUzMTYxYzg2Y2Y1NTUzZTA2LnBhdGNoIHwgIDQyNyAtLS0tCiAuLi5y YWMtMzM4NDItMDEtcHl0aG9uXzMuMTEtZGUzOGJhYzIxZTIucGF0Y2ggfCAgIDY2IC0KIC4uLi1w eXRob25fMy4xMS1hcmdzcGVjLWZpeC05ZWIwOGYzYWZkZS5wYXRjaCB8ICAxNjggLS0KIC4uLjMt cHl0aG9uMy4xMS1maW5hbF9maXhlcy03YjZmYTU2NWY0Mi5wYXRjaCB8IDEyNzkgLS0tLS0tLS0t LS0tCiAuLi4vdHJhYy0zMzg0Mi0wNC1weXRob24zLjExX2ZpeF8zMl9iaXQucGF0Y2ggfCAgMjEy IC0tCiAuLi5kNGU1NjI0M2M2MDlmNDRhZmMxZjIxYzExMmIwMjZmOWUxZmUucGF0Y2ggfCAgIDQy IC0KIC4uLjkzZDY3Y2ZjZGY4ZmJhN2JjNmFhNzg5OWUyMDg2ZDQyY2M3ZS5wYXRjaCB8ICA1MjYg LS0tLS0KIC4uLjEzMThmMDMyY2FmOGRjMWMwZGU5NDg5MzQ2ZDg5NDQwOTA5MS5wYXRjaCB8ICAg MTkgLQogLi4uL3RyYWMtMzQ1Mzctc2FnZW1hdGgtcGFyaS0yLjE1LnBhdGNoICAgICAgIHwgMTc1 MCAtLS0tLS0tLS0tLS0tLS0tLQogLi4uL3RyYWMtMzQ1Mzctc2FnZW1hdGgtcGFyaS0yLjE1Yi5w YXRjaCAgICAgIHwgICAyOSAtCiAuLi5lMGRlMGRjYTFjZmYwMzU1MzI2ZGQ0MmJkOGM3ZTU3NDk1 NjgucGF0Y2ggfCAgIDcyIC0KIC4uLi1zdXBwb3J0X3Npbmd1bGFyXzQuMy4xLnAzLTVlNTczN2Ew Yy5wYXRjaCB8ICAyMDUgKysKIHNyY3BrZ3Mvc2FnZW1hdGgvdGVtcGxhdGUgICAgICAgICAgICAg ICAgICAgICB8ICAgIDggKy0KIHNyY3BrZ3Mvc2FnZW1hdGgvdXBkYXRlICAgICAgICAgICAgICAg ICAgICAgICB8ICAgIDIgKwogMjUgZmlsZXMgY2hhbmdlZCwgMTgzOCBpbnNlcnRpb25zKCspLCA0 NjYyIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2FnZW1hdGgvcGF0 Y2hlcy8wOS1kb2N0ZXN0X251bWVyaWNhbF9maXgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzQ5ODAtYXZvaWRfZmFjdG9yaW5nX2luX2lzX3ByaW1l LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzLzM0OTk0 LWZpeF90ZXN0c19udW1weV8xLjI0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9z YWdlbWF0aC9wYXRjaGVzLzM0OTk1LXN1cHBvcnRfdGFjaHlvbl8wLjk5LjIucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzQ5OTctZml4X2VkZ2VfY2Fz ZV9vZl9pbnRlZ2VyX2NoZWNrLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdl bWF0aC9wYXRjaGVzLzM1MDU4LXNraXBfdW5zdGFibGVfdGVzdHNfa2x5YWNoa28ucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzUwNjgtZml4X3Rlc3Rz X2dpYWNfMS45LjAuMzUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NhZ2VtYXRo L3BhdGNoZXMvMzUwOTQtc3VwcG9ydF9nYXBfNC4xMi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNzU1 IHNyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy9nZXRfcGF0Y2hlcwogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzMzYwLWF2b2lkX2ZhY3RvcmluZ19pbl9p c19wcmltZS02MzMwY2VlMWE2OTIyOWIyZjVkOGFjNGEwOWE3M2Q4MTUyZjVlMTRkLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzM0NDYtbWFr ZV9HQVBfU09fdW5uZWNlc3NhcnktMzFlM2ZjNGVjOGI4Njg3YmNjZDIyZDJlMzE2MWM4NmNmNTU1 M2UwNi5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90 cmFjLTMzODQyLTAxLXB5dGhvbl8zLjExLWRlMzhiYWMyMWUyLnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzM4NDItMDItcHl0aG9uXzMuMTEt YXJnc3BlYy1maXgtOWViMDhmM2FmZGUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wMy1weXRob24zLjExLWZpbmFsX2ZpeGVzLTdi NmZhNTY1ZjQyLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRj aGVzL3RyYWMtMzM4NDItMDQtcHl0aG9uMy4xMV9maXhfMzJfYml0LnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzQxMTgtdXBkYXRlX3N5bXB5 X3RvXzEuMTEuMS01ZGI1ZDRlNTYyNDNjNjA5ZjQ0YWZjMWYyMWMxMTJiMDI2ZjllMWZlLnBhdGNo CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzQzOTEt dXBncmFkZV9nYXBfNC4xMi1hNmMyOTNkNjdjZmNkZjhmYmE3YmM2YWE3ODk5ZTIwODZkNDJjYzdl LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMt MzQ0NjUtZml4X2ludmFsaWRfZXNjYXBlX3NlcXVlbmNlLTA0OTcxMzE4ZjAzMmNhZjhkYzFjMGRl OTQ4OTM0NmQ4OTQ0MDkwOTEucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NhZ2Vt YXRoL3BhdGNoZXMvdHJhYy0zNDUzNy1zYWdlbWF0aC1wYXJpLTIuMTUucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDUzNy1zYWdlbWF0aC1w YXJpLTIuMTViLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC9wYXRj aGVzL3RyYWMtMzQ2NjgtbWF0cGxvdGxpYl8zLjYtNTUwMWUwZGUwZGNhMWNmZjAzNTUzMjZkZDQy YmQ4YzdlNTc0OTU2OC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2FnZW1hdGgv cGF0Y2hlcy90cmFjLTM0ODUxLXN1cHBvcnRfc2luZ3VsYXJfNC4zLjEucDMtNWU1NzM3YTBjLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9zYWdlbWF0aC91cGRhdGUKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3NhZ2VtYXRoL2ZpbGVzL3NhZ2VfY29uZi5weSBiL3NyY3BrZ3Mvc2FnZW1h dGgvZmlsZXMvc2FnZV9jb25mLnB5CmluZGV4IDg1ZWMzN2RmYjUwZS4uMDBkZTQwZjFlZTRmIDEw MDY0NAotLS0gYS9zcmNwa2dzL3NhZ2VtYXRoL2ZpbGVzL3NhZ2VfY29uZi5weQorKysgYi9zcmNw a2dzL3NhZ2VtYXRoL2ZpbGVzL3NhZ2VfY29uZi5weQpAQCAtMSwzICsxLDQgQEAKICMgY29uZmln dXJhdGlvbiBmb3Igc2FnZSBvbiB2b2lkIGxpbnV4CiBTQUdFX1NIQVJFID0gIi91c3Ivc2hhcmUv c2FnZW1hdGgiCi1HQVBfUk9PVF9ESVIgPSAiL3Vzci9zaGFyZS9nYXAiCitHQVBfU0hBUkVfRElS ID0gIi91c3Ivc2hhcmUvZ2FwIgorR0FQX0xJQl9ESVIgPSAiL3Vzci9saWIvZ2FwIgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzLzA5LWRvY3Rlc3RfbnVtZXJpY2FsX2ZpeC5w YXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8wOS1kb2N0ZXN0X251bWVyaWNhbF9maXgu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3ODBjOGE5N2VmYS4uMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8wOS1kb2N0ZXN0X251bWVyaWNh bF9maXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0gLSBUaGlzIGZpeGVz IGEgZG9jdGVzdCBmYWlsdXJlIGR1ZSB0byBhIHNtYWxsIG51bWVyaWNhbCBpc3N1ZSB3aGVuIHJ1 bm5pbmcKLSAgIG1heGltYS1zYmNsIG9uIDMyIGJpdAotCi0tLS0gYS9zcmMvc2FnZS9pbnRlcmZh Y2VzL21heGltYV9hYnN0cmFjdC5weQotKysrIGIvc3JjL3NhZ2UvaW50ZXJmYWNlcy9tYXhpbWFf YWJzdHJhY3QucHkKLUBAIC0xNTI1LDcgKzE1MjUsNyBAQCBjbGFzcyBNYXhpbWFBYnN0cmFjdEVs ZW1lbnQoRXh0cmFUYWJDb21wbGV0aW9uLCBJbnRlcmZhY2VFbGVtZW50KToKLSAgICAgICAgIEVY QU1QTEVTOjoKLSAKLSAgICAgICAgICAgICBzYWdlOiBtYXhpbWEoJ2V4cCgtc3FydCh4KSknKS5u aW50ZWdyYWwoJ3gnLDAsMSkKLS0gICAgICAgICAgICAoMC41Mjg0ODIyMzUzMTQyMzA2LCA0LjE2 MzMxNDEzNzg4MzguLi5lLTExLCAyMzEsIDApCi0rICAgICAgICAgICAgKDAuNTI4NDgyMjM1MzE0 MjMwNiwgNC4xNjMuLi5lLTExLCAyMzEsIDApCi0gCi0gICAgICAgICBOb3RlIHRoYXQgR1AgYWxz byBkb2VzIG51bWVyaWNhbCBpbnRlZ3JhdGlvbiwgYW5kIGNhbiBkbyBzbyB0byB2ZXJ5Ci0gICAg ICAgICBoaWdoIHByZWNpc2lvbiB2ZXJ5IHF1aWNrbHk6OgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9z YWdlbWF0aC9wYXRjaGVzLzM0OTgwLWF2b2lkX2ZhY3RvcmluZ19pbl9pc19wcmltZS5wYXRjaCBi L3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8zNDk4MC1hdm9pZF9mYWN0b3JpbmdfaW5faXNfcHJp bWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iMWNmMGVh YzQxYWUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzQ5ODAt YXZvaWRfZmFjdG9yaW5nX2luX2lzX3ByaW1lLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK2RpZmYg LS1naXQgYS9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkX2lkZWFsLnB5 IGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVhbC5weQoraW5k ZXggMzM0ODFmZWFkMDYuLmFmZWE4NTJiZDU2IDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvcmluZ3Mv bnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVhbC5weQorKysrIGIvc3JjL3NhZ2UvcmluZ3Mv bnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVhbC5weQorQEAgLTk5NSwxNiArOTk1LDM2IEBA IGRlZiBpc19wcmltZShzZWxmKToKKyAgICAgICAgICAgICBGYWxzZQorICAgICAgICAgICAgIHNh Z2U6IEsuaWRlYWwoMTcpLmlzX3ByaW1lKCkgICMgcmFtaWZpZWQKKyAgICAgICAgICAgICBGYWxz ZQorKworKyAgICAgICAgVEVTVFM6CisrCisrICAgICAgICBDaGVjayB0aGF0IHdlIGRvIG5vdCBm YWN0b3IgdGhlIG5vcm0gb2YgdGhlIGlkZWFsLCB0aGlzIHVzZWQKKysgICAgICAgIHRvIHRha2Ug aGFsZiBhbiBob3VyLCBzZWUgOnRyYWM6YDMzMzYwYDo6CisrCisrICAgICAgICAgICAgc2FnZTog Sy48YSxiLGM+ID0gTnVtYmVyRmllbGQoW3heMi0yLHheMi0zLHheMi01XSkKKysgICAgICAgICAg ICBzYWdlOiB0ID0gKCgoLTI2MTE5NDAqYyArIDE5MjUyOTAvNzY1MykqYiAtIDE1MzcxMzAvNzY1 MypjCisrICAgICAgICAgICAgLi4uLjogICAgICAgKyAxMDEzMDk1MCkqYSArICgxMzQzMDE0Lzc2 NTMqYyAtIDgzNDk3NzApKmIKKysgICAgICAgICAgICAuLi4uOiAgICAgICArIDY0NzcwNTgqYyAt IDI4MDE0NDk5OTAvNDAwMjUxOSkKKysgICAgICAgICAgICBzYWdlOiB0LmlzX3ByaW1lKCkKKysg ICAgICAgICAgICBGYWxzZQorICAgICAgICAgIiIiCisgICAgICAgICB0cnk6CisgICAgICAgICAg ICAgcmV0dXJuIHNlbGYuX3BhcmlfcHJpbWUgaXMgbm90IE5vbmUKKyAgICAgICAgIGV4Y2VwdCBB dHRyaWJ1dGVFcnJvcjoKKy0gICAgICAgICAgICBGID0gc2VsZi5mYWN0b3IoKSAgIyBmYWN0b3Jp emF0aW9uIHdpdGggY2FjaGluZworLSAgICAgICAgICAgIGlmIGxlbihGKSAhPSAxIG9yIEZbMF1b MV0gIT0gMToKKy0gICAgICAgICAgICAgICAgc2VsZi5fcGFyaV9wcmltZSA9IE5vbmUKKy0gICAg ICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICBzZWxmLl9wYXJpX3ByaW1lID0gRlswXVsw XS5fcGFyaV9wcmltZQorLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9wYXJpX3ByaW1lIGlzIG5v dCBOb25lCisrICAgICAgICAgICAgcGFzcworKworKyAgICAgICAgSyA9IHNlbGYubnVtYmVyX2Zp ZWxkKCkucGFyaV9uZigpCisrICAgICAgICBJID0gc2VsZi5wYXJpX2huZigpCisrCisrICAgICAg ICBzZWxmLl9wYXJpX3ByaW1lID0gSy5pZGVhbGlzbWF4aW1hbChJKSBvciBOb25lCisrCisrICAg ICAgICAjIFBBUkkgdXNlcyBwcm9iYWJpbGlzdGljIHByaW1hbGl0eSB0ZXN0aW5nIGluc2lkZSBp ZGVhbGlzbWF4aW1hbCgpLgorKyAgICAgICAgaWYgc2VsZi5fcGFyaV9wcmltZSBcCisrICAgICAg ICAgICAgICAgIGFuZCBnZXRfZmxhZyhOb25lLCAnYXJpdGhtZXRpYycpIFwKKysgICAgICAgICAg ICAgICAgYW5kIG5vdCBzZWxmLl9wYXJpX3ByaW1lWzBdLmlzcHJpbWUoKToKKysgICAgICAgICAg ICBzZWxmLl9wYXJpX3ByaW1lID0gTm9uZQorKworKyAgICAgICAgcmV0dXJuIHNlbGYuX3Bhcmlf cHJpbWUgaXMgbm90IE5vbmUKKyAKKyAgICAgZGVmIHBhcmlfcHJpbWUoc2VsZik6CisgICAgICAg ICByIiIiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzQ5OTQtZml4X3Rl c3RzX251bXB5XzEuMjQucGF0Y2ggYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzQ5OTQtZml4 X3Rlc3RzX251bXB5XzEuMjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi45MWYwNmZkNGQxNzMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3NhZ2VtYXRo L3BhdGNoZXMvMzQ5OTQtZml4X3Rlc3RzX251bXB5XzEuMjQucGF0Y2gKQEAgLTAsMCArMSw1OCBA QAorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL21pc2MvcGVyc2lzdC5weXggYi9zcmMvc2FnZS9taXNj L3BlcnNpc3QucHl4CitpbmRleCAzYWM1ZjFjYzJiMC4uY2IxZjMyN2MxOTkgMTAwNjQ0CistLS0g YS9zcmMvc2FnZS9taXNjL3BlcnNpc3QucHl4CisrKysgYi9zcmMvc2FnZS9taXNjL3BlcnNpc3Qu cHl4CitAQCAtMTU3LDcgKzE1Nyw3IEBAIGRlZiBsb2FkKCpmaWxlbmFtZSwgY29tcHJlc3M9VHJ1 ZSwgdmVyYm9zZT1UcnVlLCAqKmt3YXJncyk6CisgICAgICAgICAuLi4uOiAgICAgXyA9IGYud3Jp dGUoY29kZSkKKyAgICAgICAgIHNhZ2U6IGxvYWQodCkKKyAgICAgICAgIHNhZ2U6IGhlbGxvCist ICAgICAgICA8Zm9ydHJhbiBvYmplY3Q+CisrICAgICAgICA8Zm9ydHJhbiAuLi4+CisgICAgICIi IgorICAgICBpbXBvcnQgc2FnZS5yZXBsLmxvYWQKKyAgICAgaWYgbGVuKGZpbGVuYW1lKSAhPSAx OgorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3Bsb3QvY29tcGxleF9wbG90LnB5eCBiL3NyYy9zYWdl L3Bsb3QvY29tcGxleF9wbG90LnB5eAoraW5kZXggNmYwYWVhYjg3YWUuLmI3N2M2OWIyZjc3IDEw MDY0NAorLS0tIGEvc3JjL3NhZ2UvcGxvdC9jb21wbGV4X3Bsb3QucHl4CisrKysgYi9zcmMvc2Fn ZS9wbG90L2NvbXBsZXhfcGxvdC5weXgKK0BAIC00NjEsNiArNDYxLDggQEAgZGVmIGNvbXBsZXhf dG9fcmdiKHpfdmFsdWVzLCBjb250b3VyZWQ9RmFsc2UsIHRpbGVkPUZhbHNlLAorICAgICAgICAg ICAgIHJnYltpLCBqLCAyXSA9IGIKKyAKKyAgICAgc2lnX29mZigpCisrICAgIG5hbl9pbmRpY2Vz ID0gbnAuaXNuYW4ocmdiKS5hbnkoLTEpICAgICAjIE1hc2sgZm9yIHVuZGVmaW5lZCBwb2ludHMK KysgICAgcmdiW25hbl9pbmRpY2VzXSA9IDEgICAgICAgICAgICAgICAgICAgICMgTWFrZSBuYW5f aW5kaWNlcyB3aGl0ZQorICAgICByZXR1cm4gcmdiCisgCisgCitkaWZmIC0tZ2l0IGEvc3JjL3Nh Z2UvcGxvdC9oaXN0b2dyYW0ucHkgYi9zcmMvc2FnZS9wbG90L2hpc3RvZ3JhbS5weQoraW5kZXgg M2JjMmI3NmI1OGUuLjM4OGMyZDEzOTFkIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvcGxvdC9oaXN0 b2dyYW0ucHkKKysrKyBiL3NyYy9zYWdlL3Bsb3QvaGlzdG9ncmFtLnB5CitAQCAtODcsMTMgKzg3 LDggQEAgZGVmIGdldF9taW5tYXhfZGF0YShzZWxmKToKKyAKKyAgICAgICAgIFRFU1RTOjoKKyAK Ky0gICAgICAgICAgICBzYWdlOiBoID0gaGlzdG9ncmFtKFsxMCwzLDVdLCBub3JtZWQ9VHJ1ZSlb MF0KKy0gICAgICAgICAgICBkb2N0ZXN0Ondhcm5pbmcuLi46CistICAgICAgICAgICAgRGVwcmVj YXRpb25XYXJuaW5nOiB0aGUgJ25vcm1lZCcgb3B0aW9uIGlzIGRlcHJlY2F0ZWQuIFVzZSAnZGVu c2l0eScgaW5zdGVhZC4KKy0gICAgICAgICAgICBTZWUgaHR0cHM6Ly90cmFjLnNhZ2VtYXRoLm9y Zy8yNTI2MCBmb3IgZGV0YWlscy4KKysgICAgICAgICAgICBzYWdlOiBoID0gaGlzdG9ncmFtKFsx MCwzLDVdLCBkZW5zaXR5PVRydWUpWzBdCisgICAgICAgICAgICAgc2FnZTogaC5nZXRfbWlubWF4 X2RhdGEoKQorLSAgICAgICAgICAgIGRvY3Rlc3Q6d2FybmluZyAuLi4KKy0gICAgICAgICAgICAu Li5WaXNpYmxlRGVwcmVjYXRpb25XYXJuaW5nOiBQYXNzaW5nIGBub3JtZWQ9VHJ1ZWAgb24gbm9u LXVuaWZvcm0gYmlucyBoYXMgYWx3YXlzIGJlZW4gYnJva2VuLCBhbmQgY29tcHV0ZXMgbmVpdGhl ciB0aGUgcHJvYmFiaWxpdHkgZGVuc2l0eSBmdW5jdGlvbiBub3IgdGhlIHByb2JhYmlsaXR5IG1h c3MgZnVuY3Rpb24uIFRoZSByZXN1bHQgaXMgb25seSBjb3JyZWN0IGlmIHRoZSBiaW5zIGFyZSB1 bmlmb3JtLCB3aGVuIGRlbnNpdHk9VHJ1ZSB3aWxsIHByb2R1Y2UgdGhlIHNhbWUgcmVzdWx0IGFu eXdheS4gVGhlIGFyZ3VtZW50IHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9m IG51bXB5LgorICAgICAgICAgICAgIHsneG1heCc6IDEwLjAsICd4bWluJzogMy4wLCAneW1heCc6 IDAuNDc2MTkwNDc2MTkwLi4uLCAneW1pbic6IDB9CisgICAgICAgICAiIiIKKyAgICAgICAgIGlt cG9ydCBudW1weQorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JlcGwvaXB5dGhvbl9leHRlbnNpb24u cHkgYi9zcmMvc2FnZS9yZXBsL2lweXRob25fZXh0ZW5zaW9uLnB5CitpbmRleCA3OTg2NzFhYWI0 Mi4uY2FkNmE0N2NhOGIgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9yZXBsL2lweXRob25fZXh0ZW5z aW9uLnB5CisrKysgYi9zcmMvc2FnZS9yZXBsL2lweXRob25fZXh0ZW5zaW9uLnB5CitAQCAtNDA1 LDcgKzQwNSw3IEBAIGRlZiBmb3J0cmFuKHNlbGYsIGxpbmUsIGNlbGwpOgorICAgICAgICAgICAg IC4uLi46IEMgRU5EIEZJTEUgRklCMS5GCisgICAgICAgICAgICAgLi4uLjogJycnKQorICAgICAg ICAgICAgIHNhZ2U6IGZpYgorLSAgICAgICAgICAgIDxmb3J0cmFuIG9iamVjdD4KKysgICAgICAg ICAgICA8Zm9ydHJhbiAuLi4+CisgICAgICAgICAgICAgc2FnZTogZnJvbSBudW1weSBpbXBvcnQg YXJyYXkKKyAgICAgICAgICAgICBzYWdlOiBhID0gYXJyYXkocmFuZ2UoMTApLCBkdHlwZT1mbG9h dCkKKyAgICAgICAgICAgICBzYWdlOiBmaWIoYSwgMTApCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Nh Z2VtYXRoL3BhdGNoZXMvMzQ5OTUtc3VwcG9ydF90YWNoeW9uXzAuOTkuMi5wYXRjaCBiL3NyY3Br Z3Mvc2FnZW1hdGgvcGF0Y2hlcy8zNDk5NS1zdXBwb3J0X3RhY2h5b25fMC45OS4yLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMjc2OWU4N2Y2YTRiCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzLzM0OTk1LXN1cHBvcnRfdGFj aHlvbl8wLjk5LjIucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorZGlmZiAtLWdpdCBhL3NyYy9zYWdl L2ludGVyZmFjZXMvdGFjaHlvbi5weSBiL3NyYy9zYWdlL2ludGVyZmFjZXMvdGFjaHlvbi5weQor aW5kZXggMjM2NzFlNTA4OTIuLmNlMWQ1MGY3MWJjIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvaW50 ZXJmYWNlcy90YWNoeW9uLnB5CisrKysgYi9zcmMvc2FnZS9pbnRlcmZhY2VzL3RhY2h5b24ucHkK K0BAIC02ODMsMTIgKzY4MywxNCBAQAorICMqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorIAorIGltcG9y dCBvcworK2ltcG9ydCByZQorIAorIGZyb20gc2FnZS5jcHl0aG9uLnN0cmluZyBpbXBvcnQgYnl0 ZXNfdG9fc3RyCisgZnJvbSBzYWdlLm1pc2MucGFnZXIgaW1wb3J0IHBhZ2VyCisgZnJvbSBzYWdl Lm1pc2Muc3VwZXJzZWRlZCBpbXBvcnQgZGVwcmVjYXRpb24KKyBmcm9tIHNhZ2UubWlzYy50ZW1w b3JhcnlfZmlsZSBpbXBvcnQgdG1wX2ZpbGVuYW1lCisgZnJvbSBzYWdlLnN0cnVjdHVyZS5zYWdl X29iamVjdCBpbXBvcnQgU2FnZU9iamVjdAorK2Zyb20gc2FnZS5taXNjLmNhY2hlZnVuYyBpbXBv cnQgY2FjaGVkX21ldGhvZAorIAorIAorIGNsYXNzIFRhY2h5b25SVChTYWdlT2JqZWN0KToKK0BA IC03OTksNiArODAxLDExIEBAIGRlZiBfX2NhbGxfXyhzZWxmLCBtb2RlbCwgb3V0ZmlsZT0nc2Fn ZS5wbmcnLCB2ZXJib3NlPTEsIGV4dHJhX29wdHM9JycpOgorICAgICAgICAgICAgIFBhcnNlciBm YWlsZWQgZHVlIHRvIGFuIGlucHV0IGZpbGUgc3ludGF4IGVycm9yLgorICAgICAgICAgICAgIEFi b3J0aW5nIHJlbmRlci4KKyAgICAgICAgICIiIgorKyAgICAgICAgaWYgc2VsZi52ZXJzaW9uKCkg Pj0gJzAuOTkuMic6CisrICAgICAgICAgICAgIyB0aGlzIGtleXdvcmQgd2FzIGNoYW5nZWQgaW4g MC45OS4yCisrICAgICAgICAgICAgbW9kZWwgPSBtb2RlbC5yZXBsYWNlKAorKyAgICAgICAgICAg ICAgICAgICAgIiAgICAgICAgICAgICAgZm9jYWxsZW5ndGggIiwKKysgICAgICAgICAgICAgICAg ICAgICIgICAgICAgICAgICAgIGZvY2FsZGlzdCAiKQorICAgICAgICAgbW9kZWxmaWxlID0gdG1w X2ZpbGVuYW1lKGV4dD0nLmRhdCcpCisgICAgICAgICB3aXRoIG9wZW4obW9kZWxmaWxlLCAndycp IGFzIGZpbGU6CisgICAgICAgICAgICAgZmlsZS53cml0ZShtb2RlbCkKK0BAIC04NTEsNiArODU4 LDI1IEBAIGRlZiB1c2FnZShzZWxmLCB1c2VfcGFnZXI9VHJ1ZSk6CisgICAgICAgICBlbHNlOgor ICAgICAgICAgICAgIHByaW50KHIpCisgCisrICAgIEBjYWNoZWRfbWV0aG9kCisrICAgIGRlZiB2 ZXJzaW9uKHNlbGYpOgorKyAgICAgICAgIiIiCisrICAgICAgICBSZXR1cm5zIHRoZSB2ZXJzaW9u IG9mIHRoZSBUYWNoeW9uIHJheXRyYWNlciBiZWluZyB1c2VkLgorKworKyAgICAgICAgVEVTVFM6 OgorKworKyAgICAgICAgICAgIHNhZ2U6IHRhY2h5b25fcnQudmVyc2lvbigpICAjIHJhbmRvbQor KyAgICAgICAgICAgIDAuOTguOQorKyAgICAgICAgICAgIHNhZ2U6IHRhY2h5b25fcnQudmVyc2lv bigpID49ICcwLjk4LjknCisrICAgICAgICAgICAgVHJ1ZQorKyAgICAgICAgIiIiCisrICAgICAg ICB3aXRoIG9zLnBvcGVuKCd0YWNoeW9uJykgYXMgZjoKKysgICAgICAgICAgICByID0gZi5yZWFk bGluZSgpCisrICAgICAgICByZXMgPSByZS5zZWFyY2gociJWZXJzaW9uIChbXGQuXSopIiwgcikK KysgICAgICAgICMgZGViaWFuIHBhdGNoZXMgdGFjaHlvbiBzbyBpdCB3b24ndCByZXBvcnQgdGhl IHZlcnNpb24KKysgICAgICAgICMgd2UgaGFyZGNvZGUgJzAuOTknIHNpbmNlIHRoYXQncyBpbmRl ZWQgdGhlIHZlcnNpb24gdGhleSBzaGlwCisrICAgICAgICByZXR1cm4gcmVzWzFdIGlmIHJlcyBl bHNlICcwLjk5JworKworICAgICBkZWYgaGVscChzZWxmLCB1c2VfcGFnZXI9VHJ1ZSk6CisgICAg ICAgICAiIiIKKyAgICAgICAgIERlcHJlY2F0ZWQ6IHR5cGUgJ3NhZ2UuaW50ZXJmYWNlcy50YWNo eW9uPycgZm9yIGhlbHAKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8zNDk5 Ny1maXhfZWRnZV9jYXNlX29mX2ludGVnZXJfY2hlY2sucGF0Y2ggYi9zcmNwa2dzL3NhZ2VtYXRo L3BhdGNoZXMvMzQ5OTctZml4X2VkZ2VfY2FzZV9vZl9pbnRlZ2VyX2NoZWNrLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMTFlYjIwZDRmNzM1Ci0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzLzM0OTk3LWZpeF9lZGdlX2Nhc2Vf b2ZfaW50ZWdlcl9jaGVjay5wYXRjaApAQCAtMCwwICsxLDM2IEBACitkaWZmIC0tZ2l0IGEvc3Jj L3NhZ2UvYXJpdGgvbG9uZy5weGQgYi9zcmMvc2FnZS9hcml0aC9sb25nLnB4ZAoraW5kZXggMWM5 YTUzMzg3YTAuLmQ5NmI5OGYyNDdjIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvYXJpdGgvbG9uZy5w eGQKKysrKyBiL3NyYy9zYWdlL2FyaXRoL2xvbmcucHhkCitAQCAtMjcwLDYgKzI3MCwxNyBAQCBj ZGVmIGlubGluZSBiaW50IGludGVnZXJfY2hlY2tfbG9uZ19weSh4LCBsb25nKiB2YWx1ZSwgaW50 KiBlcnIpOgorICAgICAgICAgc2FnZTogTCArPSBbLXggZm9yIHggaW4gTF0gKyBbMCwgbG9uZ19t aW4oKV0KKyAgICAgICAgIHNhZ2U6IGZvciB2IGluIEw6CisgICAgICAgICAuLi4uOiAgICAgYXNz ZXJ0IGNoZWNrX2xvbmdfcHkoaW50KHYpKSA9PSB2CisrICAgICAgICBzYWdlOiBjaGVja19sb25n X3B5KGludCgyXjYwKSkKKysgICAgICAgIDExNTI5MjE1MDQ2MDY4NDY5NzYgICAgICAgICAgICAg ICAgICMgNjQtYml0CisrICAgICAgICAnT3ZlcmZsb3cgKC4uLiknICAgICAgICAgICAgICAgICAg ICAjIDMyLWJpdAorKyAgICAgICAgc2FnZTogY2hlY2tfbG9uZ19weShpbnQoMl42MSkpCisrICAg ICAgICAyMzA1ODQzMDA5MjEzNjkzOTUyICAgICAgICAgICAgICAgICAjIDY0LWJpdAorKyAgICAg ICAgJ092ZXJmbG93ICguLi4pJyAgICAgICAgICAgICAgICAgICAgIyAzMi1iaXQKKysgICAgICAg IHNhZ2U6IGNoZWNrX2xvbmdfcHkoaW50KDJeNjIpKQorKyAgICAgICAgNDYxMTY4NjAxODQyNzM4 NzkwNCAgICAgICAgICAgICAgICAgIyA2NC1iaXQKKysgICAgICAgICdPdmVyZmxvdyAoLi4uKScg ICAgICAgICAgICAgICAgICAgICMgMzItYml0CisrICAgICAgICBzYWdlOiBjaGVja19sb25nX3B5 KGludCgyXjYzKSkKKysgICAgICAgICdPdmVyZmxvdyAoLi4uKScKKyAgICAgICAgIHNhZ2U6IGNo ZWNrX2xvbmdfcHkoaW50KDJeMTAwKSkKKyAgICAgICAgICdPdmVyZmxvdyAoLi4uKScKKyAgICAg ICAgIHNhZ2U6IGNoZWNrX2xvbmdfcHkoaW50KGxvbmdfbWF4KCkgKyAxKSkKK0BAIC0zMDksNyAr MzIwLDEyIEBAIGNkZWYgaW5saW5lIGJpbnQgaW50ZWdlcl9jaGVja19sb25nX3B5KHgsIGxvbmcq IHZhbHVlLCBpbnQqIGVycik6CisgCisgICAgIGNkZWYgbG9uZyBsZWFkCisgICAgIGNkZWYgbG9u ZyBsZWFkXzJfb3ZlcmZsb3cgPSAoPGxvbmc+MSkgPDwgKEJJVFNfSU5fTE9ORyAtIFB5TG9uZ19T SElGVCkKKy0gICAgY2RlZiBsb25nIGxlYWRfM19vdmVyZmxvdyA9ICg8bG9uZz4xKSA8PCAoQklU U19JTl9MT05HIC0gMiAqIFB5TG9uZ19TSElGVCkKKysgICAgY2RlZiBsb25nIGxlYWRfM19vdmVy ZmxvdworKyAgICBpZiBCSVRTX0lOX0xPTkcgPCAyICogUHlMb25nX1NISUZUOgorKyAgICAgICAg IyBpbiB0aGlzIGNhc2UgMyBkaWdpdCBpcyBhbHdheXMgb3ZlcmZsb3cKKysgICAgICAgIGxlYWRf M19vdmVyZmxvdyA9IDAKKysgICAgZWxzZToKKysgICAgICAgIGxlYWRfM19vdmVyZmxvdyA9ICg8 bG9uZz4xKSA8PCAoQklUU19JTl9MT05HIC0gMiAqIFB5TG9uZ19TSElGVCkKKyAgICAgaWYgc2l6 ZSA9PSAwOgorICAgICAgICAgdmFsdWVbMF0gPSAwCisgICAgICAgICBlcnJbMF0gPSAwCmRpZmYg LS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvMzUwNTgtc2tpcF91bnN0YWJsZV90ZXN0 c19rbHlhY2hrby5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8zNTA1OC1za2lwX3Vu c3RhYmxlX3Rlc3RzX2tseWFjaGtvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uYzRkN2Q1Yzc3OWQxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zYWdl bWF0aC9wYXRjaGVzLzM1MDU4LXNraXBfdW5zdGFibGVfdGVzdHNfa2x5YWNoa28ucGF0Y2gKQEAg LTAsMCArMSwyMiBAQAorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3NjaGVtZXMvdG9yaWMvc2hlYWYv a2x5YWNoa28ucHkgYi9zcmMvc2FnZS9zY2hlbWVzL3RvcmljL3NoZWFmL2tseWFjaGtvLnB5Citp bmRleCBiMTMwNGExNjkxMy4uNzdmYWU0Yjc1NDUgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9zY2hl bWVzL3RvcmljL3NoZWFmL2tseWFjaGtvLnB5CisrKysgYi9zcmMvc2FnZS9zY2hlbWVzL3Rvcmlj L3NoZWFmL2tseWFjaGtvLnB5CitAQCAtMjYsNyArMjYsNyBAQAorICAgICAoMCwgMCwgMTgsIDE2 LCAxKQorICAgICBzYWdlOiBHdGlsZGUgPSBHX3N1bS5yYW5kb21fZGVmb3JtYXRpb24oKQorICAg ICBzYWdlOiBWID0gR3RpbGRlLndlZGdlKDIpICogSyAgICAgICAgICAgICAgICAgICAgICMgbG9u ZyB0aW1lCistICAgIHNhZ2U6IFYuY29ob21vbG9neShkaW09VHJ1ZSwgd2VpZ2h0PSgwLDAsMCww KSkgICAgIyBsb25nIHRpbWUKKysgICAgc2FnZTogVi5jb2hvbW9sb2d5KGRpbT1UcnVlLCB3ZWln aHQ9KDAsMCwwLDApKSAgICAjIGxvbmcgdGltZSAgIyByYW5kb20gZmFpbHVyZSAoc2VlICMzMjc3 MykKKyAgICAgKDAsIDAsIDMsIDAsIDApCisgCisgUkVGRVJFTkNFUzoKK0BAIC05NDgsNyArOTQ4 LDcgQEAgZGVmIHJhbmRvbV9kZWZvcm1hdGlvbihzZWxmLCBlcHNpbG9uPU5vbmUpOgorICAgICAg ICAgICAgc2FnZTogVi5jb2hvbW9sb2d5KGRpbT1UcnVlLCB3ZWlnaHQ9KDAsKSkKKyAgICAgICAg ICAgICgxLCAwKQorICAgICAgICAgICAgc2FnZTogVnRpbGRlID0gVi5yYW5kb21fZGVmb3JtYXRp b24oKQorLSAgICAgICAgICAgc2FnZTogVnRpbGRlLmNvaG9tb2xvZ3koZGltPVRydWUsIHdlaWdo dD0oMCwpKQorKyAgICAgICAgICAgc2FnZTogVnRpbGRlLmNvaG9tb2xvZ3koZGltPVRydWUsIHdl aWdodD0oMCwpKSAgIyByYW5kb20gZmFpbHVyZSAoc2VlICMzMjc3MykKKyAgICAgICAgICAgICgx LCAwKQorICAgICAgICAgIiIiCisgICAgICAgICBmaWx0ID0gc2VsZi5fZmlsdC5yYW5kb21fZGVm b3JtYXRpb24oZXBzaWxvbikKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8z NTA2OC1maXhfdGVzdHNfZ2lhY18xLjkuMC4zNS5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0 Y2hlcy8zNTA2OC1maXhfdGVzdHNfZ2lhY18xLjkuMC4zNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQ5YTk4MzVjNjk2YgotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy8zNTA2OC1maXhfdGVzdHNfZ2lhY18xLjkuMC4zNS5w YXRjaApAQCAtMCwwICsxLDYyIEBACitGcm9tIDlhYzc4NDAxMzQwNTQxNTU1NDVlMjRmYTNlNjY0 MDJkNDJiOTFjMGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbnRvbmlvIFJvamFz IDxhcm9qYXNAYXJjaGxpbnV4Lm9yZz4KK0RhdGU6IEZyaSwgMjAgSmFuIDIwMjMgMjE6MzY6Mjcg KzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHRlc3RzIHdpdGggZ2lhYyAxLjkuMC4zNQorCist LS0KKyBzcmMvc2FnZS9saWJzL2dpYWMvZ2lhYy5weXggICB8ICAzICstLQorIHNyYy9zYWdlL3N5 bWJvbGljL3JlbGF0aW9uLnB5IHwgMTUgKysrKystLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2Vk LCA2IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3Nh Z2UvbGlicy9naWFjL2dpYWMucHl4IGIvc3JjL3NhZ2UvbGlicy9naWFjL2dpYWMucHl4CitpbmRl eCA0ZTQ1MWRiYTVlNy4uY2NhZDUxNjk4MzYgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9saWJzL2dp YWMvZ2lhYy5weXgKKysrKyBiL3NyYy9zYWdlL2xpYnMvZ2lhYy9naWFjLnB5eAorQEAgLTM3NCw4 ICszNzQsNyBAQCBkZWYgX2dpYWMocyk6CisgCisgICAgICAgICBzYWdlOiB4ID0gbGliZ2lhYygn eCcpCisgICAgICAgICBzYWdlOiAoMSsyKnNpbigzKngpKS5zb2x2ZSh4KS5zaW1wbGlmeSgpCist ICAgICAgICBXYXJuaW5nLCBhcmd1bWVudCBpcyBub3QgYW4gZXF1YXRpb24sIHNvbHZpbmcgMSsy KnNpbigzKngpPTAKKy0gICAgICAgIGxpc3RbLXBpLzE4LDcqcGkvMThdCisrICAgICAgICAuLi5s aXN0Wy1waS8xOCw3KnBpLzE4XQorIAorICAgICAgICAgc2FnZTogbGliZ2lhYy5zb2x2ZSgnc2lu KDMqeCk+MipzaW4oeCknLHgpCisgICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwg bGFzdCk6CitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uvc3ltYm9saWMvcmVsYXRpb24ucHkgYi9zcmMv c2FnZS9zeW1ib2xpYy9yZWxhdGlvbi5weQoraW5kZXggZTlkYmMwZmVhMzAuLmI4ODk2YTk0YmU5 IDEwMDY0NAorLS0tIGEvc3JjL3NhZ2Uvc3ltYm9saWMvcmVsYXRpb24ucHkKKysrKyBiL3NyYy9z YWdlL3N5bWJvbGljL3JlbGF0aW9uLnB5CitAQCAtOTM1LDggKzkzNSw3IEBAIGRlZiBzb2x2ZShm LCAqYXJncywgKiprd2RzKToKKyAKKyAgICAgICAgIHNhZ2U6IGYgPSAoc2luKHgpIC0gOCpjb3Mo eCkqc2luKHgpKSooc2luKHgpXjIgKyBjb3MoeCkpIC0gKDIqY29zKHgpKnNpbih4KSAtIHNpbih4 KSkqKC0yKnNpbih4KV4yICsgMipjb3MoeCleMiAtIGNvcyh4KSkKKyAgICAgICAgIHNhZ2U6IHNv bHZlKGYsIHgsIGFsZ29yaXRobT0nZ2lhYycpCistICAgICAgICAuLi4KKy0gICAgICAgIFstMiph cmN0YW4oc3FydCgyKSksIDAsIDIqYXJjdGFuKHNxcnQoMikpLCBwaV0KKysgICAgICAgIC4uLlst MiphcmN0YW4oc3FydCgyKSksIDAsIDIqYXJjdGFuKHNxcnQoMikpLCBwaV0KKyAKKyAgICAgICAg IHNhZ2U6IHgsIHkgPSBTUi52YXIoJ3gseScpCisgICAgICAgICBzYWdlOiBzb2x2ZShbeCt5LTQs eCp5LTNdLFt4LHldLGFsZ29yaXRobT0nZ2lhYycpCitAQCAtMTQ0MCwxOSArMTQzOSwxNSBAQCBk ZWYgX2dpYWNfc29sdmVyKGYsIHgsIHNvbHV0aW9uX2RpY3Q9RmFsc2UpOgorICAgICBFWEFNUExF Uzo6CisgCisgICAgICAgICBzYWdlOiBzb2x2ZShbKDIvMyleeC0yXSwgW3hdLCBhbGdvcml0aG09 J2dpYWMnKQorLSAgICAgICAgLi4uCistICAgICAgICBbWy1sb2coMikvKGxvZygzKSAtIGxvZygy KSldXQorKyAgICAgICAgLi4uW1stbG9nKDIpLyhsb2coMykgLSBsb2coMikpXV0KKyAgICAgICAg IHNhZ2U6IHNvbHZlKFsoMi8zKV54LTJdLCBbeF0sIGFsZ29yaXRobT0nZ2lhYycsIHNvbHV0aW9u X2RpY3Q9VHJ1ZSkKKy0gICAgICAgIC4uLgorLSAgICAgICAgW3t4OiAtbG9nKDIpLyhsb2coMykg LSBsb2coMikpfV0KKysgICAgICAgIC4uLlt7eDogLWxvZygyKS8obG9nKDMpIC0gbG9nKDIpKX1d CisgCisgICAgICAgICBzYWdlOiBmID0gKHNpbih4KSAtIDgqY29zKHgpKnNpbih4KSkqKHNpbih4 KV4yICsgY29zKHgpKSAtICgyKmNvcyh4KSpzaW4oeCkgLSBzaW4oeCkpKigtMipzaW4oeCleMiAr IDIqY29zKHgpXjIgLSBjb3MoeCkpCisgICAgICAgICBzYWdlOiBzb2x2ZShmLCB4LCBhbGdvcml0 aG09J2dpYWMnKQorLSAgICAgICAgLi4uCistICAgICAgICBbLTIqYXJjdGFuKHNxcnQoMikpLCAw LCAyKmFyY3RhbihzcXJ0KDIpKSwgcGldCisrICAgICAgICAuLi5bLTIqYXJjdGFuKHNxcnQoMikp LCAwLCAyKmFyY3RhbihzcXJ0KDIpKSwgcGldCisgICAgICAgICBzYWdlOiBzb2x2ZShmLCB4LCBh bGdvcml0aG09J2dpYWMnLCBzb2x1dGlvbl9kaWN0PVRydWUpCistICAgICAgICAuLi4KKy0gICAg ICAgIFt7eDogLTIqYXJjdGFuKHNxcnQoMikpfSwge3g6IDB9LCB7eDogMiphcmN0YW4oc3FydCgy KSl9LCB7eDogcGl9XQorKyAgICAgICAgLi4uW3t4OiAtMiphcmN0YW4oc3FydCgyKSl9LCB7eDog MH0sIHt4OiAyKmFyY3RhbihzcXJ0KDIpKX0sIHt4OiBwaX1dCisgCisgICAgICAgICBzYWdlOiB4 LCB5ID0gU1IudmFyKCd4LHknKQorICAgICAgICAgc2FnZTogc29sdmUoW3greS03LHgqeS0xMF0s W3gseV0sYWxnb3JpdGhtPSdnaWFjJykKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0 Y2hlcy8zNTA5NC1zdXBwb3J0X2dhcF80LjEyLnBhdGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRj aGVzLzM1MDk0LXN1cHBvcnRfZ2FwXzQuMTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi40OTllMGM3MWUyNTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3NhZ2VtYXRoL3BhdGNoZXMvMzUwOTQtc3VwcG9ydF9nYXBfNC4xMi5wYXRjaApAQCAtMCwwICsx LDEzMDMgQEAKK2RpZmYgLS1naXQgYS9idWlsZC9wa2dzL2dhcC9jaGVja3N1bXMuaW5pIGIvYnVp bGQvcGtncy9nYXAvY2hlY2tzdW1zLmluaQoraW5kZXggMDY2ZTk0MzMwOGEuLmIwZWE4YmE4ODE4 IDEwMDY0NAorLS0tIGEvYnVpbGQvcGtncy9nYXAvY2hlY2tzdW1zLmluaQorKysrIGIvYnVpbGQv cGtncy9nYXAvY2hlY2tzdW1zLmluaQorQEAgLTEsNSArMSw1IEBACisgdGFyYmFsbD1nYXAtVkVS U0lPTi50YXIuZ3oKKy1zaGExPTRlY2RkMjgxYjhmNDMwMjgyZmI5YjEyNjkwYjA2ZTBhMjZhYmRl MTAKKy1tZDU9ODVkYzllNDU5ZDViNmM2NmZjYWQ5ZjQ2OGFmZDNlM2UKKy1ja3N1bT0xMzUxODQz MTU4Cisrc2hhMT1hNmUzNmYzZjg3NGEyYzQ2ZjUxNTYxNDAyNjM0NDk3ZWFiNzA1Y2NhCisrbWQ1 PWM1Y2Q5ZjI3MmYyNzAzZDdhMzY0OWFkNzE5M2IyZDkwCisrY2tzdW09Mjc2MDQ3NzI4NAorIHVw c3RyZWFtX3VybD1odHRwczovL2dpdGh1Yi5jb20vZ2FwLXN5c3RlbS9nYXAvcmVsZWFzZXMvZG93 bmxvYWQvdlZFUlNJT04vZ2FwLVZFUlNJT04udGFyLmd6CitkaWZmIC0tZ2l0IGEvYnVpbGQvcGtn cy9nYXAvcGFja2FnZS12ZXJzaW9uLnR4dCBiL2J1aWxkL3BrZ3MvZ2FwL3BhY2thZ2UtdmVyc2lv bi50eHQKK2luZGV4IGQ3ODJmY2E4ZjY0Li5mMWNkN2RlMWRlNSAxMDA2NDQKKy0tLSBhL2J1aWxk L3BrZ3MvZ2FwL3BhY2thZ2UtdmVyc2lvbi50eHQKKysrKyBiL2J1aWxkL3BrZ3MvZ2FwL3BhY2th Z2UtdmVyc2lvbi50eHQKK0BAIC0xICsxIEBACistNC4xMS4xCisrNC4xMi4yCitkaWZmIC0tZ2l0 IGEvYnVpbGQvcGtncy9nYXAvc3BrZy1jaGVjay5pbiBiL2J1aWxkL3BrZ3MvZ2FwL3Nwa2ctY2hl Y2suaW4KK2luZGV4IGQ5NzkxZDMzMjkzLi5kMmZjY2RhNmUwNCAxMDA2NDQKKy0tLSBhL2J1aWxk L3BrZ3MvZ2FwL3Nwa2ctY2hlY2suaW4KKysrKyBiL2J1aWxkL3BrZ3MvZ2FwL3Nwa2ctY2hlY2su aW4KK0BAIC0zLDYgKzMsMTMgQEAgY2Qgc3JjCisgIyAjMjg3Mjg6IEZpeCB0ZXN0IGZhaWx1cmUg aW4gdHN0L3Rlc3RpbnN0YWxsL3N0cmluZ3MudHN0CisgZXhwb3J0IExDX0NUWVBFPWVuX1VTLlVU Ri04CisgCisrIyAjMzQzOTE6IGluIEdBUCA0LjEyIHNvbWUgcGFja2FnZXMgbmVlZCBHQVAgcGFj a2FnZSBpbworKyMgICAgICAgICB0byBsZXQgdGVzdHMgcnVuLCBvdGhlcndpc2UgdGhpcyBoYW5n cy4gVGh1cyB3ZSBpbnN0YWxsIGlvIGhlcmUuCisrY2QgcGtnL2lvCisrLi9jb25maWd1cmUgLS13 aXRoLWdhcHJvb3Q9Li4vLi4KKyttYWtlCisrY2QgLi4vLi4KKysKKyBtYWtlIHRlc3RpbnN0YWxs CisgaWYgW1sgJD8gLW5lIDAgXV07IHRoZW4KKyAgICAgZXhpdCAxCitkaWZmIC0tZ2l0IGEvYnVp bGQvcGtncy9nYXAvc3BrZy1pbnN0YWxsLmluIGIvYnVpbGQvcGtncy9nYXAvc3BrZy1pbnN0YWxs LmluCitpbmRleCAyY2VhZGY5OWRiNC4uZTJjOGI0ZGNhNTQgMTAwNjQ0CistLS0gYS9idWlsZC9w a2dzL2dhcC9zcGtnLWluc3RhbGwuaW4KKysrKyBiL2J1aWxkL3BrZ3MvZ2FwL3Nwa2ctaW5zdGFs bC5pbgorQEAgLTgsOCArOCw3IEBAIGV4cG9ydCBDRkxBR1M9JENGTEFHU19OT05fTkFUSVZFCisg ZXhwb3J0IENYWEZMQUdTPSRDWFhGTEFHU19OT05fTkFUSVZFCisgCisgR0FQX0JVSUxEX1JPT1Q9 IiQocHdkKSIKKy1HQVBfUk9PVD0iJFNBR0VfTE9DQUwvc2hhcmUvZ2FwIgorLURFU1RESVJfR0FQ X1JPT1Q9IiRTQUdFX0RFU1RESVIkR0FQX1JPT1QiCisrR0FQX1JPT1Q9IiRTQUdFX0xPQ0FML2xp Yi9nYXAiCisgCisgIyBFbmFibGUgZGVidWcgaW5mbyBpZiByZXF1ZXN0ZWQuCisgIyBOb3RlIHRo YXQgLWczIGFsbG93cyB5b3UgdG8gdXNlIHByZXByb2Nlc3NvciBtYWNyb3MgaW4gZ2RiIHdoaWNo IGFyZSB3aWRlbHkgdXNlZAorQEAgLTE3LDM3ICsxNiwxNyBAQCBpZiBbICIkU0FHRV9ERUJVRyIg PSB5ZXMgXSA7IHRoZW4KKyAgICAgZXhwb3J0IENGTEFHUz0iLU8wIC1nMyAtRERFQlVHX01BU1RF UlBPSU5URVJTIC1EREVCVUdfR0xPQkFMX0JBR1MgLURERUJVR19GVU5DVElPTlNfQkFHUyAkQ0ZM QUdTIgorIGZpCisgCistc2RoX2NvbmZpZ3VyZSAkU0FHRV9DT05GSUdVUkVfR01QCistc2RoX21h a2UgLWoxCisrIyBMREZMQUdTIGhhY2sgYmVsb3cgbmVlZGVkIGJ5IFNlbWlncm91cHMgcGFja2Fn ZQorK3NkaF9jb25maWd1cmUgJFNBR0VfQ09ORklHVVJFX0dNUCBMREZMQUdTPSItcHRocmVhZCIg LS1wcmVmaXg9JFNBR0VfTE9DQUwKKytzZGhfbWFrZQorIAorLSMgR0FQJ3MgIm1ha2UgaW5zdGFs bCIgaXMgd29yayBpbiBwcm9ncmVzczsgd2UgdXNlIGJpdHMgYW5kIHBpZWNlcyBvZiBpdAorLSMg YnV0IHdlIGluc3RhbGwgbWFueSB0aGluZ3MgbWFudWFsbHkuCistc2RoX21ha2UgaW5zdGFsbC1o ZWFkZXJzIGluc3RhbGwtbGliZ2FwCistCistIyBJbnN0YWxsIGNvbmZpZy5oLCB3aGljaCBpcyBu b3QgY3VycmVudGx5IGhhbmRsZWQgYnkgYG1ha2UgaW5zdGFsbC1oZWFkZXJzYAorLXNkaF9pbnN0 YWxsIGdlbi9jb25maWcuaCAiJFNBR0VfTE9DQUwvaW5jbHVkZS9nYXAiCistCistIyBOb3cgaW5z dGFsbCB0aGUgZ2FwIGV4ZWN1dGFibGUgYXMgImdhcC1iaW4iOyBpdCB3aWxsIGJlIGNhbGxlZCBu b3JtYWxseQorLSMgdGhyb3VnaCBvdXIgd3JhcHBlciBzY3JpcHQgdGhhdCBzZXRzIHRoZSBhcHBy b3ByaWF0ZSBHQVBfUk9PVAorLVNBR0VfQklOPSIkU0FHRV9MT0NBTC9iaW4iCistbWtkaXIgLXAg IiRTQUdFX0RFU1RESVIkU0FHRV9CSU4iIHx8IHNkaF9kaWUgIkZhaWxlZCB0byBjcmVhdGUgdGhl IGRpcmVjdG9yeSAkU0FHRV9CSU4iCistCistLi9saWJ0b29sIC0tbW9kZT1pbnN0YWxsIGluc3Rh bGwgZ2FwICIkU0FHRV9ERVNURElSJFNBR0VfQklOL2dhcC1iaW4iIHx8IFwKKy0gICAgc2RoX2Rp ZSAiRmFpbGVkIHRvIGluc3RhbGwgZ2FwLWJpbiB0byAkU0FHRV9CSU4iCistCistLi9saWJ0b29s IC0tbW9kZT1pbnN0YWxsIGluc3RhbGwgZ2FjICIkU0FHRV9ERVNURElSJFNBR0VfQklOL2dhYyIg fHwgXAorLSAgICBzZGhfZGllICJGYWlsZWQgdG8gaW5zdGFsbCBnYWMgdG8gJFNBR0VfQklOIgor LQorLSMgTm93IGNvcHkgYWRkaXRpb25hbCBmaWxlcyBHQVAgbmVlZHMgdG8gcnVuIChhbmQgYSBm ZXcgb3B0aW9uYWwgYml0cykgaW50bworLSMgR0FQX1JPT1Q7IHdlIGRvbid0IG5lZWQgZXZlcnl0 aGluZyBmcm9tIHRoZSBzb3VyY2UgdHJlZQorLXNkaF9pbnN0YWxsIGJpbiBkb2MgZ2VuIGdycCBs aWIgc3JjIHRzdCBzeXNpbmZvLmdhcCAiJEdBUF9ST09UIgorLQorLSMgR0FQJ3MgY29weSBvZiBs aWJ0b29sIGlzIGFsc28gdXNlZCBieSB0aGUgdG9vbGNoYWluIGZvciBidWlsZCBHQVAgcGFja2Fn ZXMKKy0jIChpLmUuIGJ5IGdhYykKKy1zZGhfaW5zdGFsbCBsaWJ0b29sICIkR0FQX1JPT1QiCisr c2RoX21ha2VfaW5zdGFsbAorKyMgc2RoX21ha2UgaW5zdGFsbC1oZWFkZXJzIGluc3RhbGwtbGli Z2FwCisrIyBUaGUgJ3BhY2thZ2VtYW5hZ2VyJyBwYWNrYWdlIGV4cGVjdHMgdGhpcyBodHRwczov L2dpdGh1Yi5jb20vZ2FwLXBhY2thZ2VzL1BhY2thZ2VNYW5hZ2VyL2lzc3Vlcy8xMDUKKytta2Rp ciAtcCAiJFNBR0VfTE9DQUwvbGliL2dhcC9iaW4iCisgCisgIyBJbnN0YWxsIG9ubHkgdGhlIG1p bmltYWwgcGFja2FnZXMgR0FQIG5lZWRzIHRvIHJ1bgorLXNkaF9pbnN0YWxsIHBrZy9HQVBEb2Mt KiBwa2cvcHJpbWdycC0qIHBrZy9TbWFsbEdycC0qIHBrZy90cmFuc2dycCAiJEdBUF9ST09UIi9w a2cKKytzZGhfaW5zdGFsbCBwa2cvZ2FwZG9jIHBrZy9wcmltZ3JwIHBrZy9zbWFsbGdycCBwa2cv dHJhbnNncnAgIiRHQVBfUk9PVCIvcGtnCisgCisgIyBJbnN0YWxsIGFkZGl0aW9uYWwgcGFja2Fn ZXMgdGhhdCBhcmUgbm90IHN0cmljdGx5IHJlcXVpcmVkLCBidXQgdGhhdCBhcmUKKyAjIHR5cGlj YWxseSAiZXhwZWN0ZWQiIHRvIGJlIGxvYWRlZDogVGhlc2UgYXJlIHRoZSBkZWZhdWx0IHBhY2th Z2VzIHRoYXQgYXJlCitAQCAtNTgsNTAgKzM3LDI1IEBAIHNkaF9pbnN0YWxsIHBrZy9HQVBEb2Mt KiBwa2cvcHJpbWdycC0qIHBrZy9TbWFsbEdycC0qIHBrZy90cmFuc2dycCAiJEdBUF9ST09UIi9w CisgIyBBbHNvIGluY2x1ZGUgYXRsYXNyZXAgd2hpY2ggaXMgYSBkZXBlbmRlbmN5IG9mIHRvbWxp YgorIHNkaF9pbnN0YWxsIFwKKyAgICAgcGtnL2F0bGFzcmVwIFwKKy0gICAgcGtnL2F1dHBncnAt KiBcCistICAgIHBrZy9hbG51dGgtKiBcCistICAgIHBrZy9jcmlzcC0qIFwKKy0gICAgcGtnL2N0 YmxsaWItKiBcCistICAgIHBrZy9GYWN0SW50LSogXAorKyAgICBwa2cvYXV0b2RvYyBcCisrICAg IHBrZy9hdXRwZ3JwIFwKKysgICAgcGtnL2FsbnV0aCBcCisrICAgIHBrZy9jcmlzcCBcCisrICAg IHBrZy9jdGJsbGliIFwKKysgICAgcGtnL2ZhY3RpbnQgXAorICAgICBwa2cvZmdhIFwKKy0gICAg cGtnL2lycmVkc29sLSogXAorLSAgICBwa2cvbGFndW5hLSogXAorLSAgICBwa2cvUGFja2FnZU1h bmFnZXItKiBcCistICAgIHBrZy9wb2xlbnRhLSogXAorLSAgICBwa2cvcG9seWN5Y2xpYy0qIFwK Ky0gICAgcGtnL3Jlc2NsYXNzZXMtKiBcCistICAgIHBrZy9zb3BodXMtKiBcCistICAgIHBrZy90 b21saWItKiBcCisrICAgIHBrZy9pcnJlZHNvbCBcCisrICAgIHBrZy9sYWd1bmEgXAorKyAgICBw a2cvcGFja2FnZW1hbmFnZXIgXAorKyAgICBwa2cvcG9sZW50YSBcCisrICAgIHBrZy9wb2x5Y3lj bGljIFwKKysgICAgcGtnL3JhZGlyb290IFwKKysgICAgcGtnL3Jlc2NsYXNzZXMgXAorKyAgICBw a2cvc29waHVzIFwKKysgICAgcGtnL3RvbWxpYiBcCisrICAgIHBrZy91dGlscyBcCisgICAgICIk R0FQX1JPT1QiL3BrZworIAorLSMgSW5zdGFsbCB0aGUgR0FQIHN0YXJ0dXAgc2NyaXB0OyBlbnN1 cmUgaXQgaXMgZXhlY3V0YWJsZQorLXNkaF9pbnN0YWxsIC1UIC4uL2dhcCAiJFNBR0VfQklOL2dh cCIKKy1jaG1vZCAreCAiJFNBR0VfREVTVERJUiRTQUdFX0JJTi9nYXAiCistCistIyBDcmVhdGUg c3ltbGlua3MgdW5kZXIgJEdBUF9ST09UIGZvciB0aGVzZSBleGVjdXRhYmxlcywgYXMgdGhleSBh cmUgZXhwZWN0ZWQKKy0jIChlc3BlY2lhbGx5IHdoZW4gYnVpbGRpbmcga2VybmVsIHBhY2thZ2Vz KSB0byBleGlzdAorLWxuIC1zZiAiLi4vLi4vYmluL2dhcC1iaW4iICIkREVTVERJUl9HQVBfUk9P VC9nYXAiCistbG4gLXNmICIuLi8uLi9iaW4vZ2FjIiAiJERFU1RESVJfR0FQX1JPT1QvZ2FjIgor LQorLSMgRml4IHRoZSAkR0FQX1JPT1QvYmluLzxhcmNoPi9zcmMgc3ltbGluayB0byBiZSByZWxh dGl2ZSAob3RoZXJ3aXNlIGl0IGxpbmtzCistIyB0byB0aGUgYWN0dWFsIHBhdGggb2YgdGhlIHNv dXJjZXMgR0FQIHdhcyBjb21waWxlZCBmcm9tKQorLWZvciBzcmNsaW5rIGluICIkREVTVERJUl9H QVBfUk9PVCIvYmluLyovc3JjOyBkbworLSAgICBybSAtZiAiJHNyY2xpbmsiCistICAgIGxuIC1z ICIuLi8uLi9zcmMiICIkc3JjbGluayIKKy1kb25lCistCistIyBBZGRpdGlvbmFsIGZpeHVwcyBm b3Igc29tZSBmaWxlcyBhZnRlciB0aGV5IGhhdmUgYmVlbiBjb3BpZWQgaW50byB0aGVpcgorLSMg ZGVzdGluYXRpb24gZGlyZWN0b3J5LiAgZ2FjIGFuZCBzeXNpbmZvLmdhcCBhcmUgZ2VuZXJhdGVk IGZpbGVzIHRoYXQgY29udGFpbgorLSMgaW4gdGhlbSBoYXJkLWNvZGVkIHJlZmVyZW5jZXMgdG8g dGhlIEdBUCBidWlsZCBkaXJlY3RvcnksIHdoaWNoIHdpbGwgc29vbgorLSMgYmUgZ29pbmcgYXdh eS4gIFRoaXMgYnJlYWtzIHRoZSBidWlsZCB0b29sY2hhaW4gZm9yIHNvbWUgY29tcGlsZWQgR0FQ CistIyBwYWNrYWdlcy4gIFdlIG5lZWQgdG8gcmVwbGFjZSB0aGVzZSBwYXRocyB3aXRoIHRoZSBm aW5hbCBHQVBfUk9PVCBwYXRoLiAgVGhlCistIyBiZWxvdyB3aWxsIHdvcmsgc28gbG9uZyBhcyBu ZWl0aGVyIG9mIHRoZXNlIHBhdGhzIGNvbnRhaW4gJ3wnLCBhbmQgaWYgdGhleSBkbworLSMgdGhl biBnb2QgaGVscCB5b3UuICBodHRwczovL3RyYWMuc2FnZW1hdGgub3JnL3RpY2tldC8yNzIxOAor LXNlZCAtaSAtZSAic3wkR0FQX0JVSUxEX1JPT1R8JEdBUF9ST09UfGciIFwKKy0gICAgIiRTQUdF X0RFU1RESVIkU0FHRV9CSU4vZ2FjIiAiJERFU1RESVJfR0FQX1JPT1Qvc3lzaW5mby5nYXAiIFwK Ky0gICAgIiRERVNURElSX0dBUF9ST09UL2Jpbi9nYXAuc2giICIkREVTVERJUl9HQVBfUk9PVC9k b2MvbWFrZV9kb2MiIHx8IFwKKy0gICAgc2RoX2RpZSAiRmFpbGVkIHRvIGZpeCB1cCBoYXJkLWNv ZGVkIHBhdGhzIGluIEdBUCBidWlsZCB0b29scy4iCistCisgIyBUT0RPOiBUaGlzIHNlZW1zIHVu bmVjZXNzYXJ5LS13ZSBhcmUgYWxyZWFkeSBpbnN0YWxsaW5nIGFsbCBvZiBkb2MvIHRvCisgIyBH QVBfUk9PVCwgd2hpY2ggaXMgbmVjZXNzYXJ5IGZvciBzb21lIGZ1bmN0aW9uYWxpdHkgaW4gR0FQ IHRvIHdvcmsuICBEbworICMgd2UgbmVlZCB0aGlzPyAgTWF5YmUgZG9jL2dhcCBjb3VsZCBqdXN0 IGJlIGEgc3ltbGluayB0byBnYXAvZG9jPz8KK2RpZmYgLS1naXQgYS9idWlsZC9wa2dzL2dhcC9z cGtnLWxlZ2FjeS11bmluc3RhbGwgYi9idWlsZC9wa2dzL2dhcC9zcGtnLWxlZ2FjeS11bmluc3Rh bGwKK2luZGV4IGQxN2ViOTM5ZWI3Li5hOGU1YzU5ZTFmYiAxMDA3NTUKKy0tLSBhL2J1aWxkL3Br Z3MvZ2FwL3Nwa2ctbGVnYWN5LXVuaW5zdGFsbAorKysrIGIvYnVpbGQvcGtncy9nYXAvc3BrZy1s ZWdhY3ktdW5pbnN0YWxsCitAQCAtNCw2ICs0LDggQEAgcm0gLXJmICIkU0FHRV9MT0NBTC9nYXAv Z2FwLTQuIioKKyBybSAtcmYgIiRTQUdFX1NIQVJFL2dhcCIKKyBybSAtZiAiJFNBR0VfTE9DQUwv Z2FwL2xhdGVzdCIKKyBybSAtZiAiJFNBR0VfTE9DQUwvYmluL2dhcCIKKytybSAtZiAiJFNBR0Vf TE9DQUwvYmluL2dhYyIKKyAKKy0jIFJlbW92ZSBvbGQgbGliZ2FwIGhlYWRlcnMKKysjIFJlbW92 ZSBvbGQgbGliZ2FwIGhlYWRlcnMgYW5kIGxpYnJhcnkKKyBybSAtcmYgIiRTQUdFX0xPQ0FML2lu Y2x1ZGUvZ2FwIgorK3JtIC1yZiAiJFNBR0VfTE9DQUwvbGliL2dhcCIKK2RpZmYgLS1naXQgYS9i dWlsZC9wa2dzL2dhcC9zcGtnLXByZXJtLmluIGIvYnVpbGQvcGtncy9nYXAvc3BrZy1wcmVybS5p bgorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA2NjFkOTI2MjFmYS4uMDAwMDAwMDAw MDAKKy0tLSBhL2J1aWxkL3BrZ3MvZ2FwL3Nwa2ctcHJlcm0uaW4KKysrKyAvZGV2L251bGwKK0BA IC0xLDYgKzAsMCBAQAorLSMgVGhlc2UgZ2VuZXJhdGVkIGZpbGVzIGFyZSBwbGFjZWQgaW4gZGly ZWN0b3J5IHByb3ZpZGVkIGJ5IHRoZSBTUEtHLCBzbworLSMgZGVsZXRlIHRoZSBnZW5lcmF0ZWQg ZmlsZXMgZmlyc3Qgc28gdGhhdCB0aGVpciBwYXJlbnQgZGlyZWN0b3JpZXMgY2FuIGJlCistIyBy ZW1vdmVkIGR1cmluZyBpbnN0YWxsYXRpb24KKy1HQVBfUk9PVD0iJFNBR0VfTE9DQUwvc2hhcmUv Z2FwIgorLXJtIC1mICIkR0FQX1JPT1QvcGtnL2F0bGFzcmVwL2RhdGFnZW5zLyIqLioKKy1ybSAt ZiAiJEdBUF9ST09UL3BrZy9hdGxhc3JlcC9kYXRhd29yZC8iKi4qCitkaWZmIC0tZ2l0IGEvYnVp bGQvcGtncy9nYXBfcGFja2FnZXMvcGF0Y2hlcy9jb2hvbW9sby1nY2MxMC5wYXRjaCBiL2J1aWxk L3BrZ3MvZ2FwX3BhY2thZ2VzL3BhdGNoZXMvY29ob21vbG8tZ2NjMTAucGF0Y2gKK2RlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggZTQ1ZmU3ZDljNmYuLjAwMDAwMDAwMDAwCistLS0gYS9i dWlsZC9wa2dzL2dhcF9wYWNrYWdlcy9wYXRjaGVzL2NvaG9tb2xvLWdjYzEwLnBhdGNoCisrKysg L2Rldi9udWxsCitAQCAtMSwxNTAgKzAsMCBAQAorLWRpZmYgLS1naXQgYS9wa2cvY29ob21vbG8t MS42Ljgvc3RhbmRhbG9uZS9wcm9ncy5kL2NycDEuYyBiL3BrZy9jb2hvbW9sby0xLjYuOC9zdGFu ZGFsb25lL3Byb2dzLmQvY3JwMS5jCistaW5kZXggM2JiZGM0NS4uN2RmNjk5ZiAxMDA2NDQKKy0t LS0gYS9wa2cvY29ob21vbG8tMS42Ljgvc3RhbmRhbG9uZS9wcm9ncy5kL2NycDEuYworLSsrKyBi L3BrZy9jb2hvbW9sby0xLjYuOC9zdGFuZGFsb25lL3Byb2dzLmQvY3JwMS5jCistQEAgLTgsOSAr OCw4IEBAIGV4dGVybiBzaG9ydCBzcFtdLCoqbWF0W10sKnBzcFtdLCoqaW1jb3NbXSwqKmNwY29b XSxsb3JiW10sCistIHNob3J0ICpjc3QsKipjcHN0LCoqKmNkcHN0LCoqc3ZwdHIsKmNwLCpyZWw7 CistIHNob3J0ICpzcHN0LCoqcHNwc3QsKipwcHRyLCoqY3BwdHIsbnB0LG5iLG5waCxucGgyLG5w ZyxucGcyLAorLSAgICAgICBybm8sb3Jubyxjb2hfaW5kZXgsKmludmc7CistLUZJTEUgICppcCwq b3A7CistIAorLS12b2lkIHNlZWtubG4gKHZvaWQpIHsgd2hpbGUgKGdldGMoaXApIT0nXG4nKTsg fQorLSt2b2lkIHNlZWtubG4gKEZJTEUgKmlwKSB7IHdoaWxlIChnZXRjKGlwKSE9J1xuJyk7IH0K Ky0gCistIC8qIFRoaXMgcHJvZ3JhbSBkaWZmZXJzIGZyb20gbW9zdCBvdGhlciBwZXJtdXRhdGlv biBwcm9ncmFtcyBpbiB0aGF0IHBlcm1zIGFyZQorLSAgICBhbGwgc3RvcmVkIGluIHRoZSBzaW5n bGUgYXJyYXkgc3AuIFNjaHJlaWVyIHZlY3RvcnMgYXJlIHN0b3JlZCBpbiB0aGUgc2hvcnQKKy1A QCAtMjMsMTMgKzIyLDE0IEBAIHZvaWQgc2Vla25sbiAodm9pZCkgeyB3aGlsZSAoZ2V0YyhpcCkh PSdcbicpOyB9CistIGludCAKKy0gY3Jwcm9nMSAodm9pZCkKKy0geyBzaG9ydCAqcGMsKnFjLGV4 LG5lZzsgaW50IHg7CistKyAgRklMRSAgKmlwLCpvcDsKKy0gICBzaG9ydCBpLGosayxsLG0sbixj bCxybCwqcCxvY2wsaW0scHQscHQxLHBuLGlwdDsKKy0gICBpZiAoKGlwPWZvcGVuKGluZjIsInIi KSk9PSAwKQorLSAgIHsgZnByaW50ZihzdGRlcnIsIkNhbm5vdCBvcGVuICVzLlxuIixpbmYyKTsg cmV0dXJuKC0xKTt9CistICAgZnNjYW5mKGlwLCIlaGQlaGQlaGQlaGQiLCZucHQsJm5waCwmbmIs JmspOworLSAgIGlmIChuYj49bWIpIHtmcHJpbnRmKHN0ZGVyciwibmIgdG9vIGJpZy4gSW5jcmVh c2UgTUIuXG4iKTsgcmV0dXJuKC0xKTt9CistICAgaWYgKGs8PTIpIHtmcHJpbnRmKHN0ZGVyciwi aW5mMiBoYXMgaWxsZWdhbCBmb3JtYXQuXG4iKTsgcmV0dXJuKC0xKTsgfQorLS0gIHNlZWtubG4o KTsgc2Vla25sbigpOworLSsgIHNlZWtubG4oaXApOyBzZWVrbmxuKGlwKTsKKy0gICBmb3IgKGk9 MTtpPD1uYjtpKyspIGZzY2FuZihpcCwiJWhkIixsb3JiK2kpOworLSAgIHBwdHI9cHNwLTE7IHBz cHN0PXBzcCtucGg7IHN2cHRyPWNwc3AtMTsgIGNwc3Q9Y3BzcCtuYjsKKy0gICBpbnZnPXNwOyBu cGgyPTIqbnBoOyBzcHN0PXNwK25waDI7CistQEAgLTM3LDcgKzM3LDcgQEAgY3Jwcm9nMSAodm9p ZCkKKy0gICB7IHBwdHJbaV09c3BzdCsoaS0xKSpucHQtMTsgcD1wcHRyW2ldOworLSAgICAgZm9y IChqPTE7ajw9bnB0O2orKykge2ZzY2FuZihpcCwiJWhkIiwmayk7IHBba109ajsgfQorLSAgICAg aW52Z1syKmktMl09MippLTE7IGludmdbMippLTFdPTIqaS0yOworLS0gICAgc2Vla25sbigpOwor LSsgICAgc2Vla25sbihpcCk7CistICAgfQorLSAgIHNwc3QrPShucHQqbnBoKTsKKy0gICBmb3Ig KGk9MTtpPD1uYjtpKyspCistQEAgLTc1LDcgKzc1LDcgQEAgY3Jwcm9nMSAodm9pZCkKKy0gICBz dHJjcHkoaW5mMSxpbmYwKTsgc3RyY2F0KGluZjEsIi5yZWwiKTsKKy0gICBpZiAoKGlwPWZvcGVu KGluZjEsInIiKSk9PTApCistICAgeyBmcHJpbnRmKHN0ZGVyciwiQ2Fubm90IG9wZW4gJXMuXG4i LGluZjEpOyByZXR1cm4oLTEpO30KKy0tICBmc2NhbmYoaXAsIiVoZCVoZCIsJmssJnJubyk7IHNl ZWtubG4oKTsKKy0rICBmc2NhbmYoaXAsIiVoZCVoZCIsJmssJnJubyk7IHNlZWtubG4oaXApOwor LSAgIG9wPWZvcGVuKG91dGZ0LCJ3Iik7CistIC8qIE5vdyB3ZSBoYXZlIHJlYWQgZXZlcnl0aGlu ZyBpbiwgYW5kIHRoZSBjb21wdXRhdGlvbiBjYW4gc3RhcnQgKi8KKy0gICBvcm5vPTA7CistZGlm ZiAtLWdpdCBhL3BrZy9jb2hvbW9sby0xLjYuOC9zdGFuZGFsb25lL3Byb2dzLmQvbnErY2hmbnMu YyBiL3BrZy9jb2hvbW9sby0xLjYuOC9zdGFuZGFsb25lL3Byb2dzLmQvbnErY2hmbnMuYworLWlu ZGV4IGE3Mzk2YjIuLjY1ODQ5NmYgMTAwNjQ0CistLS0tIGEvcGtnL2NvaG9tb2xvLTEuNi44L3N0 YW5kYWxvbmUvcHJvZ3MuZC9ucStjaGZucy5jCistKysrIGIvcGtnL2NvaG9tb2xvLTEuNi44L3N0 YW5kYWxvbmUvcHJvZ3MuZC9ucStjaGZucy5jCistQEAgLTIwLDggKzIwLDYgQEAgc2hvcnQgIG1l eHA9TUVYUCxtY2w9TUNMLG5vLHJlbFtSU1BdLHd0W01FWFBdLGV4cCwqcnBmLCpycGIsCistIGV4 dGVybiBzaG9ydCAgcHJpbWUsZGltLCpzcHYsKipzcG0sbXNwYWNlW10sKnZlY1tdLCoqbWF0W10s Y3BbXSxwaW52W10sb3BtYXRzLAorLSAgICAgICAgIG1tLG12OworLSBleHRlcm4gaW50IG1zcDsK Ky0tRklMRSAqaXAsKm9wOworLS0KKy0gCistIGludCAKKy0gY2FsY21hdHMgKHZvaWQpCistQEAg LTU5LDcgKzU3LDcgQEAgY2FsY21hdHMgKHZvaWQpCistICAgfQorLSAgIGZvciAoaT0xO2k8PWV4 cDtpKyspIHRyYW5zKG1hdFtpK2V4cF0sbWF0W2ldKTsKKy0gICBpZiAob3BtYXRzKQorLS0gIHsg b3A9Zm9wZW4ob3V0ZiwidyIpOworLSsgIHsgRklMRSAqb3A9Zm9wZW4ob3V0ZiwidyIpOworLSAg ICAgZnByaW50ZihvcCwiJTRkJTRkJTRkXG4iLHByaW1lLGRpbSxleHApOworLSAgICAgZm9yIChp PTE7aTw9ZXhwO2krKykgcHJpbnRtYXQobWF0W2ldKTsgCistICAgICBmY2xvc2Uob3ApOworLUBA IC03MSw2ICs2OSw3IEBAIGludAorLSByZG1hdHMgKHZvaWQpCistIC8qIHJlYWRzIG1hdHJpY2Vz IG9mIGdlbmVyYXRvcnMgb2YgUCAqLworLSB7IHNob3J0IGk7IGludCBxdW90OworLSsgIEZJTEUg KmlwOworLSAgIGlwPWZvcGVuKGluZjQsInIiKTsKKy0gICBpZiAoaXA9PTApCistICAgeyBmcHJp bnRmKHN0ZGVyciwiQ2Fubm90IG9wZW4gJXNcbiAiLGluZjQpOyByZXR1cm4oLTEpOyB9CistQEAg LTkwLDEyICs4OSwxMiBAQCByZG1hdHMgKHZvaWQpCistICAgZmNsb3NlKGlwKTsKKy0gICByZXR1 cm4oMCk7CistIH0KKy0tRklMRSAqaXA7CistIAorLSBpbnQgCistIGluZ3AgKGludCBpbnApCist IC8qIFJlYWQgaW4gb3V0cHV0IG9mIHJlc3BjcnVuIC1zICovCistIHsgc2hvcnQgaSxqLGssbCxt LCpvcnBmLCoqcGNwOworLSsgIEZJTEUgKmlwOworLSAgIGlwPWZvcGVuKGluZjMsInIiKTsKKy0g ICBpZiAoaXA9PTApIHsgZnByaW50ZihzdGRlcnIsIkNhbm5vdCBvcGVuICVzXG4iLGluZjMpOyBy ZXR1cm4oLTEpOyB9CistICAgZnNjYW5mKGlwLCIlaGQlaGQlaGQlaGQlaGQlaGQiLCZwcmltZSwm ZXhwLCZpLCZubywmaiwmbSk7CistZGlmZiAtLWdpdCBhL3BrZy9jb2hvbW9sby0xLjYuOC9zdGFu ZGFsb25lL3Byb2dzLmQvbnFtZm5zLmMgYi9wa2cvY29ob21vbG8tMS42Ljgvc3RhbmRhbG9uZS9w cm9ncy5kL25xbWZucy5jCistaW5kZXggMDg5NjU1MS4uNjg0MWJjOCAxMDA2NDQKKy0tLS0gYS9w a2cvY29ob21vbG8tMS42Ljgvc3RhbmRhbG9uZS9wcm9ncy5kL25xbWZucy5jCistKysrIGIvcGtn L2NvaG9tb2xvLTEuNi44L3N0YW5kYWxvbmUvcHJvZ3MuZC9ucW1mbnMuYworLUBAIC05LDcgKzks NiBAQCBleHRlcm4gc2hvcnQgIGludGV4cCxtZXhwLG1uZyx3a3NwLAorLSAgICAgICAgc3B1Z2Vu W10sKnRsaW50Z1tdOworLSBleHRlcm4gaW50IHB0cnNwLHJzcDsKKy0gc2hvcnQgIGZhYzsKKy0t RklMRSAqaXAsKm9wOworLSAKKy0gaW50IAorLSBpbmdwICh2b2lkKQorLUBAIC0xOCw2ICsxNyw3 IEBAIGluZ3AgKHZvaWQpCistICAgIG9mIG5xcnVuLCBhbmQgdGFpbHMgYXJlIGFsc28gcmVhZCBp bi4KKy0gKi8KKy0geyBzaG9ydCBpLGosayxsLG0seCx5LG5vLCpvcnBmLCpvcnBiLCoqcGNwOyAg Y2hhciB0YWlsczsKKy0rICBGSUxFICppcDsKKy0gICBpZiAoKGlwPWZvcGVuKGluZjEsInIiKSk9 PTApCistICAgeyBmcHJpbnRmKHN0ZGVyciwiQ2Fubm90IG9wZW4gJXMuXG4iLGluZjEpOyByZXR1 cm4oLTEpOyB9CistICAgZnNjYW5mKGlwLCIlaGQlaGQlaGQlaGQlaGQlaGQiLCZwcmltZSwmZXhw LCZubmcsJm5vLCZjbGFzcywmbSk7CistQEAgLTg5LDYgKzg5LDcgQEAgaW50CistIG91dGdwICh2 b2lkKQorLSAvKiBUaGUgUENQIGlzIG91dHB1dCwgdG9nZXRoZXIgd2l0aCB0YWlscyAqLworLSB7 IHNob3J0IGksayxsLCoqcGNwLCpiLCplLCpjOworLSsgIEZJTEUgKm9wOworLSAgIG9wPWZvcGVu KG91dGYsInciKTsKKy0gICBmcHJpbnRmKG9wLCIlNGQlNGQlNGQlNGQlNGQlNGRcbiIscHJpbWUs ZXhwLG5uZyxleHAsY2xhc3MsMSk7CistICAgZm9yIChpPTE7aTw9ZXhwO2krKykgZnByaW50Zihv cCwiJTRkIix3dFtpXSk7IGZwcmludGYob3AsIlxuIik7CistQEAgLTM3OSw3ICszODAsNyBAQCBy ZXN0YXJ0OgorLSAgICAgbm5nLS07IG1ubmctLTsgZW5leHBudC0tOworLSAgICAgaWYgKG5uZz09 MCkKKy0gICAgIHsgaWYgKGdhcCkKKy0tICAgICAgeyBvcD1mb3BlbihvdXRmbSwidyIpOyBmcHJp bnRmKG9wLCJDT0hPTU9MTy5NdWx0aXBsaWVyOj1bXTtcbiIpOworLSsgICAgICB7IEZJTEUgKm9w PWZvcGVuKG91dGZtLCJ3Iik7IGZwcmludGYob3AsIkNPSE9NT0xPLk11bHRpcGxpZXI6PVtdO1xu Iik7CistICAgICAgICAgZmNsb3NlKG9wKTsKKy0gICAgICAgICBwcmludGYoIkFsbCBuZXcgZ2Vu ZXJhdG9ycyBlbGltaW5hdGVkLiBNdWx0aXBsaWVyIGlzIHRyaXZpYWwuXG4iKTsKKy0gICAgICAg fQorLWRpZmYgLS1naXQgYS9wa2cvY29ob21vbG8tMS42Ljgvc3RhbmRhbG9uZS9wcm9ncy5kL25x bXAuYyBiL3BrZy9jb2hvbW9sby0xLjYuOC9zdGFuZGFsb25lL3Byb2dzLmQvbnFtcC5jCistaW5k ZXggMDFjZjkxNC4uMDE0NDg4MyAxMDA2NDQKKy0tLS0gYS9wa2cvY29ob21vbG8tMS42Ljgvc3Rh bmRhbG9uZS9wcm9ncy5kL25xbXAuYworLSsrKyBiL3BrZy9jb2hvbW9sby0xLjYuOC9zdGFuZGFs b25lL3Byb2dzLmQvbnFtcC5jCistQEAgLTksNyArOSw2IEBAIGV4dGVybiBzaG9ydCAgaW50ZXhw LG1uZyxtZXhwLHdrc3AsCistICAgICAgICBzcHVnZW5bXSwqaW50Z1tdLCppbWludGdbXSwqdGxp bnRnW107CistIGV4dGVybiBpbnQgcHRyc3AscnNwOworLSBzaG9ydCAgKndmLCp3YzsgY2hhciBu b3JtOworLS1GSUxFICppcCwqb3A7CistIAorLSAvKiBUaGUgZGF0YSBzdHJ1Y3R1cmVzIGZvciB0 aGlzIHByb2dyYW0gYW5kIGZvciBucXJ1biBhcmUgc2ltaWxhci4KKy0gICAgZDEgYW5kIGQyIGNv bnRhaW4gZGVmaW5pdGlvbnMgb2YgZ2VuZXJhdG9ycy4gKERlZi4gY29tZXMgZnJvbSBjb21tdXRh dG9yCistQEAgLTM1LDYgKzM0LDcgQEAgbnFtcHJvZyAodm9pZCkKKy0geyBzaG9ydCBpLGosayxs LG0sZCwqZ2ksKmdqLCp0aSwqdGosY2wsZGVmLCpwcywqcGYsKipkcCwqbnJwYiwqcCwqb3JwZiwq b3JwYiwKKy0gICAgICAgICBuYixucCxrMSwqcm5vLCpjb3ZyZWwsKipwZ2VuLHRkZWYsc2duOwor LSAgIGNoYXIgbnQ7CistKyAgRklMRSAqaXAsKm9wOworLSAgIGlmIChpbmdwKCkgPT0gLTEpIHtm cHJpbnRmKHN0ZGVyciwiSW5wdXQgZXJyb3IuXG4iKTsgcmV0dXJuKC0xKTsgfQorLSAgIGVleHBu dD1leHBudCtleHA7IGVuZXhwbnQ9bmV4cG50K25uZzsKKy0gCitkaWZmIC0tZ2l0IGEvYnVpbGQv cGtncy9nYXBfcGFja2FnZXMvcGF0Y2hlcy9ndWF2YV9sZW9uX2luY2x1ZGVzLnBhdGNoIGIvYnVp bGQvcGtncy9nYXBfcGFja2FnZXMvcGF0Y2hlcy9ndWF2YV9sZW9uX2luY2x1ZGVzLnBhdGNoCitk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGNkY2QxOWNjM2U4Li4wMDAwMDAwMDAwMAor LS0tIGEvYnVpbGQvcGtncy9nYXBfcGFja2FnZXMvcGF0Y2hlcy9ndWF2YV9sZW9uX2luY2x1ZGVz LnBhdGNoCisrKysgL2Rldi9udWxsCitAQCAtMSwxMyArMCwwIEBACistLS0tIGEvcGtnL2d1YXZh LTMuMTUvc3JjL2xlb24vc3JjL2dlbmVyYXRlLmMJU2F0IEZlYiAyOSAwOTowMjoxMCAyMDIwCist LS0tIGIvcGtnL2d1YXZhLTMuMTUvc3JjL2xlb24vc3JjL2dlbmVyYXRlLmMJVGh1IFNlcCAyNCAx Mzo1ODozNiAyMDIwCistKioqKioqKioqKioqKioqCistKioqIDExNSwxMjAgKioqKgorLS0tLSAx MTUsMTIyIC0tLS0KKy0gICNpbmNsdWRlICJncm91cGlvLmgiCistICAjaW5jbHVkZSAiZW51bS5o IgorLSAgI2luY2x1ZGUgInN0b3JhZ2UuaCIKKy0rICNpbmNsdWRlICJjaGJhc2UuaCIKKy0rICNp bmNsdWRlICJpbmZvcm0uaCIKKy0gIAorLSAgI2lmZGVmIEFMVF9USU1FX0hFQURFUgorLSAgI2lu Y2x1ZGUgImNwdXRpbWUuaCIKK2RpZmYgLS1naXQgYS9idWlsZC9wa2dzL2dhcF9wYWNrYWdlcy9z cGtnLWluc3RhbGwuaW4gYi9idWlsZC9wa2dzL2dhcF9wYWNrYWdlcy9zcGtnLWluc3RhbGwuaW4K K2luZGV4IDE2OGU2YjExNTMyLi42ZGZmMTgyYTQ4ZiAxMDA2NDQKKy0tLSBhL2J1aWxkL3BrZ3Mv Z2FwX3BhY2thZ2VzL3Nwa2ctaW5zdGFsbC5pbgorKysrIGIvYnVpbGQvcGtncy9nYXBfcGFja2Fn ZXMvc3BrZy1pbnN0YWxsLmluCitAQCAtMSw0ICsxLDQgQEAKKy1HQVBfUk9PVD0iJFNBR0VfTE9D QUwvc2hhcmUvZ2FwIgorK0dBUF9ST09UPSIkU0FHRV9MT0NBTC9saWIvZ2FwIgorIFBLR19ESVI9 IiRHQVBfUk9PVC9wa2ciCisgCisgUEtHX1NSQ19ESVI9IiQocHdkKS9zcmMvcGtnIgorQEAgLTEx LDMzICsxMSwzMSBAQCBjZCAiJFBLR19TUkNfRElSIgorICMgICAgKEdBUCA0LjguNiBzdGlsbCBo YWQgaXQsIGJ1dCB0aGlzIGlzIGdvbmUgaW4gNC4xMCkKKyAKKyBzZGhfaW5zdGFsbCBcCistICAg IGFjbGliLSogXAorLSAgICBBdXRvRG9jLSogXAorLSAgICBjb3JlbGctKiBcCistICAgIGNyaW1l LSogXAorKyAgICBhY2xpYiBcCisrICAgIGNvcmVsZyBcCisrICAgIGNyaW1lIFwKKyAgICAgY3J5 c3QgXAorICAgICBjcnlzdGNhdCBcCistICAgIGRlc2lnbi0qIFwKKysgICAgZGVzaWduIFwKKyAg ICAgZ2JucCBcCistICAgIGdlbnNzLSogXAorLSAgICBoYXAtKiBcCistICAgIGhhcGNyeXN0LSog XAorLSAgICBoZWNrZS0qIFwKKy0gICAgaW1hZ2VzLSogXAorLSAgICBsaWVhbGdkYi0qIFwKKy0g ICAgbGllcHJpbmctKiBcCistICAgIGxpZXJpbmctKiBcCistICAgIGxvb3BzLSogXAorLSAgICBN YXBDbGFzcy0qIFwKKy0gICAgcG9seW1ha2luZy0qIFwKKy0gICAgcXBhLSogXAorLSAgICBxdWFn cm91cC0qIFwKKy0gICAgcmFkaXJvb3QtKiBcCistICAgIHJlcHNuLSogXAorLSAgICBzbGEtKiBc CistICAgIHNvbmF0YS0qIFwKKy0gICAgVG9yaWMtKiBcCistICAgIHV0aWxzLSogXAorKyAgICBn ZW5zcyBcCisrICAgIGhhcCBcCisrICAgIGhhcGNyeXN0IFwKKysgICAgaGVja2UgXAorKyAgICBp bWFnZXMgXAorKyAgICBsaWVhbGdkYiBcCisrICAgIGxpZXByaW5nIFwKKysgICAgbGllcmluZyBc CisrICAgIGxvb3BzIFwKKysgICAgbWFwY2xhc3MgXAorKyAgICBwb2x5bWFraW5nIFwKKysgICAg cXBhIFwKKysgICAgcXVhZ3JvdXAgXAorKyAgICByZXBzbiBcCisrICAgIHNpbmd1bGFyIFwKKysg ICAgc2xhIFwKKysgICAgc29uYXRhIFwKKysgICAgdG9yaWMgXAorICAgICAiJFBLR19ESVIiCisg CisgaW5zdGFsbF9jb21waWxlZF9wa2coKQorQEAgLTQ1LDI3ICs0MywyMyBAQCBpbnN0YWxsX2Nv bXBpbGVkX3BrZygpCisgICAgIGxvY2FsIHBrZz0iJDEiCisgICAgICMgSW5zdGFsbCB0aGUgYmlu LyBkaXIgKHdoZXJlIGNvbXBpbGVkIG1vZHVsZXMgc2hvdWxkIGVuZCB1cCkKKyAgICAgIyB1bmRl ciA8cHJlZml4Pi9saWIvZ2FwOyB3ZSB0aGVuIHN5bWxpbmsgdG8gaXQgbGF0ZXIKKy0gICAgc2Ro X2luc3RhbGwgYmluICIkU0FHRV9MT0NBTC9saWIvZ2FwL3BrZy8kcGtnIgorKyAgICBzZGhfaW5z dGFsbCAqICIkU0FHRV9MT0NBTC9saWIvZ2FwL3BrZy8kcGtnIgorIAorKyAgICAjIFRPRE86Cisg ICAgICMgQ2xlYW4gdXAgYW55IGJ1aWxkIGFydGlmaWN0cyBiZWZvcmUgaW5zdGFsbGluZyB0aGUg cmVzdCBvZiB0aGUgcGFja2FnZQorICAgICAjIEFsc28gcmVtb3ZlIGNvbmZpZ3VyZS9NYWtlZmls ZXMKKyAgICAgIyBOb3RlOiBOb25lLCBpZiBhbnkgb2YgdGhlIHBhY2thZ2VzIHJlYWxseSBoYXZl IGEgcHJvcGVyIGluc3RhbGwgdGFyZ2V0CistICAgIG1ha2UgY2xlYW4gICMgV29ya3MgZm9yIHNv bWUgcGFja2FnZXMgYnV0IG5vdCBhbGwKKy0gICAgcm0gLXJmIGJpbi8KKy0gICAgcm0gLXJmIGNv bmZpZ3VyZSBjb25maWd1cmUuKiBjb25maWcuKiBhdXRvZ2VuLnNoICoubTQgTWFrZWZpbGUqIG00 LworKyAgICAjbWFrZSBjbGVhbiAgIyBXb3JrcyBmb3Igc29tZSBwYWNrYWdlcyBidXQgbm90IGFs bAorKyAgICAjcm0gLXJmIGJpbi8KKysgICAgI3JtIC1yZiBjb25maWd1cmUgY29uZmlndXJlLiog Y29uZmlnLiogYXV0b2dlbi5zaCAqLm00IE1ha2VmaWxlKiBtNC8KKyAKKy0gICAgIyBDcmVhdGUg dGhlIGJpbi8gc3ltbGluaworLSAgICBsbiAtcyAiJFNBR0VfTE9DQUwvbGliL2dhcC9wa2cvJHBr Zy9iaW4iIGJpbgorLQorLSAgICAjIEluc3RhbGwgdGhlIHJlc3Qgb2YgdGhlIHBhY2thZ2UgZmls ZXMKKy0gICAgc2RoX2luc3RhbGwgKiAiJFBLR19ESVIvJHBrZyIKKyB9CisgCisgIyBCdWlsZCBh bmQgaW5zdGFsbCBjb21waWxlZCBwYWNrYWdlczoKKyAjCisgIyBUaGVzZSBwYWNrYWdlcyBoYXZl IGFuIG9sZCAuL2NvbmZpZ3VyZSB0aGF0IHRha2UgdGhlIEdBUF9ST09UIGFzIGEgcG9zaXRpb25h bAorICMgYXJndW1lbnQKKy1mb3IgcGtnIGluIGNvaG9tb2xvLSogY3J5cHRpbmctKiBncmFwZS0q IGd1YXZhLSogb3JiLSogZGF0YXN0cnVjdHVyZXMtKgorK2ZvciBwa2cgaW4gY29ob21vbG8gY3J5 cHRpbmcgZ3JhcGUgZ3VhdmEgb3JiIGRhdGFzdHJ1Y3R1cmVzCisgZG8KKyAgICAgZWNobyAiQnVp bGRpbmcgR0FQIHBhY2thZ2UgJHBrZyIKKyAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1Xbm8taW1wbGlj aXQtZnVuY3Rpb24tZGVjbGFyYXRpb24iCitAQCAtOTEsNyArODUsNyBAQCBwYXJhcnI9KCAiICIg IiAiICItLXdpdGgtZXh0ZXJuYWwtcGxhbmFyaXR5IiAiLS13aXRoLWV4dGVybmFsLWxpYnNlbWln cm91cHMiICkKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAKKyBwYXJpbmQ9MAorLWZvciBwa2cg aW4gbnEtKiBpby0qIGRpZ3JhcGhzLSogc2VtaWdyb3Vwcy0qCisrZm9yIHBrZyBpbiBucSBpbyBk aWdyYXBocyBzZW1pZ3JvdXBzCisgZG8KKyAgICAgZWNobyAiQnVpbGRpbmcgR0FQIHBhY2thZ2Ug JHBrZyIKKyAgICAgY2QgIiRQS0dfU1JDX0RJUi8kcGtnIgorZGlmZiAtLWdpdCBhL2J1aWxkL3Br Z3MvbGlic2VtaWdyb3Vwcy9jaGVja3N1bXMuaW5pIGIvYnVpbGQvcGtncy9saWJzZW1pZ3JvdXBz L2NoZWNrc3Vtcy5pbmkKK2luZGV4IDYyYzQyNjg1MTVmLi40ZTEzYTM2Y2IzNSAxMDA2NDQKKy0t LSBhL2J1aWxkL3BrZ3MvbGlic2VtaWdyb3Vwcy9jaGVja3N1bXMuaW5pCisrKysgYi9idWlsZC9w a2dzL2xpYnNlbWlncm91cHMvY2hlY2tzdW1zLmluaQorQEAgLTEsNSArMSw1IEBACisgdGFyYmFs bD1saWJzZW1pZ3JvdXBzLVZFUlNJT04udGFyLmd6Cistc2hhMT0yYjE2YzA5NWNjNWZmZDNmNzdh NzFkZmJmNDhjY2UxODhlMDU0YzAzCistbWQ1PTcwODJjYWRjZjdhMTk1Y2NiOTMxNzVjZDcyYjZk Yjk1CistY2tzdW09MTUwMTAyMjM1OAorK3NoYTE9ODYzNzU4MjRiNDdjZTRiMGUyMzU3MDEyMmU4 NzNmNjcxMzZkMGMwYQorK21kNT1mZjc5YWQ1ZmJjOGJmZWI2NGQ0OGZhYWYyNDEwNmI5OAorK2Nr c3VtPTI4NDUwNDU0NTUKKyB1cHN0cmVhbV91cmw9aHR0cHM6Ly9naXRodWIuY29tL2xpYnNlbWln cm91cHMvbGlic2VtaWdyb3Vwcy9yZWxlYXNlcy9kb3dubG9hZC92VkVSU0lPTi9saWJzZW1pZ3Jv dXBzLVZFUlNJT04udGFyLmd6CitkaWZmIC0tZ2l0IGEvYnVpbGQvcGtncy9saWJzZW1pZ3JvdXBz L3BhY2thZ2UtdmVyc2lvbi50eHQgYi9idWlsZC9wa2dzL2xpYnNlbWlncm91cHMvcGFja2FnZS12 ZXJzaW9uLnR4dAoraW5kZXggOTA4NGZhMmY3MTYuLmY5MGIxYWZjMDgyIDEwMDY0NAorLS0tIGEv YnVpbGQvcGtncy9saWJzZW1pZ3JvdXBzL3BhY2thZ2UtdmVyc2lvbi50eHQKKysrKyBiL2J1aWxk L3BrZ3MvbGlic2VtaWdyb3Vwcy9wYWNrYWdlLXZlcnNpb24udHh0CitAQCAtMSArMSBAQAorLTEu MS4wCisrMi4zLjIKK2RpZmYgLS1naXQgYS9idWlsZC9wa2dzL2xpYnNlbWlncm91cHMvc3BrZy1p bnN0YWxsLmluIGIvYnVpbGQvcGtncy9saWJzZW1pZ3JvdXBzL3Nwa2ctaW5zdGFsbC5pbgoraW5k ZXggMmFhZjBlOTkwNDMuLjEyOGI1NGQyZjk5IDEwMDY0NAorLS0tIGEvYnVpbGQvcGtncy9saWJz ZW1pZ3JvdXBzL3Nwa2ctaW5zdGFsbC5pbgorKysrIGIvYnVpbGQvcGtncy9saWJzZW1pZ3JvdXBz L3Nwa2ctaW5zdGFsbC5pbgorQEAgLTEsNCArMSw0IEBACisgY2Qgc3JjCistc2RoX2NvbmZpZ3Vy ZQorK3NkaF9jb25maWd1cmUgLS1kaXNhYmxlLWVpZ2VuCisgc2RoX21ha2UKKyBzZGhfbWFrZV9p bnN0YWxsCitkaWZmIC0tZ2l0IGEvYnVpbGQvcGtncy9zaW5ndWxhci9zcGtnLWNvbmZpZ3VyZS5t NCBiL2J1aWxkL3BrZ3Mvc2luZ3VsYXIvc3BrZy1jb25maWd1cmUubTQKK2luZGV4IGQ0ZDE0NWRl ZmUzLi42YTg1NjMxZjYyNCAxMDA2NDQKKy0tLSBhL2J1aWxkL3BrZ3Mvc2luZ3VsYXIvc3BrZy1j b25maWd1cmUubTQKKysrKyBiL2J1aWxkL3BrZ3Mvc2luZ3VsYXIvc3BrZy1jb25maWd1cmUubTQK K0BAIC05LDUyICs5LDcgQEAgU0FHRV9TUEtHX0NPTkZJR1VSRShbc2luZ3VsYXJdLCBbCisgICAg ICAgIEFDX01TR19DSEVDS0lORyhbdGhhdCBTaW5ndWxhcidzIGhlbHAgaXMgd29ya2luZ10pCisg ICAgICAgIEFTX0lGKFt0ZXN0IHhgcHJpbnRmICJzeXN0ZW0oXCItLWJyb3dzZXJcIiwgXCJidWls dGluXCIpOyBcbiBoZWxwOyIgfCBTaW5ndWxhciAyPiYxIHwgZ3JlcCAiZXJyb3Igb2NjdXJyZWQi YCA9IHhdLCBbCisgICAgICAgICBBQ19NU0dfUkVTVUxUKHllcykKKy0gICAgICAgIGRubCBXZSBo YXZlIFNpbmd1bGFyLiBOb3cgZGV0ZXJtaW5lIHRoZSBzaGFyZWQgbGlicmFyeSBwYXRoIG9uCist ICAgICAgICBkbmwgcGxhdGZvcm1zIG9uIHdoaWNoIHNhZ2UubGlicy5zaW5ndWxhciBuZWVkcyB0 byByZWxvYWQgdGhlIGxpYnJhcnkgd2l0aCBSVExEX0dMT0JBTC4KKy0gICAgICAgIEFTX0NBU0Uo WyRob3N0X29zXSwKKy0gICAgICAgICAgW2N5Z3dpbipdLCBbZG5sIE5vdGhpbmcgdG8gZG8KKy0g ICAgICAgICAgICAgICAgICAgICBdLAorLSAgICAgICAgICAgICAgICAgICAgIFtkbmwgVXNlIHBr Zy1jb25maWcgdG8gZ2V0IHNpbmd1bGFyJ3MgbGliZGlyIHdoaWxlIHdlJ3JlIGF0IGl0LiBBcyBh CistICAgICAgICAgICAgICAgICAgICAgIGRubCBtb3JhbCBjb21wcm9taXNlIGZvciB1c2luZyBw a2ctY29uZmlnLCB0aGlzIHVsdGltYXRlbHkgYWxsb3dzIHVzCistICAgICAgICAgICAgICAgICAg ICAgIGRubCB0byBwYXNzIGFuIGFic29sdXRlIHBhdGggdG8gZGxvcGVuKCksIHdoaWNoIGlzIHRo ZSBvbmx5IGFwcHJvYWNoCistICAgICAgICAgICAgICAgICAgICAgIGRubCB0aGF0IFBPU0lYIGd1 YXJhbnRlZXMgd2lsbCB3b3JrLgorLSAgICAgICAgICAgICAgICAgICAgICBQS0dfQ0hFQ0tfVkFS KFtTSU5HVUxBUl9MSUJfRElSXSwgW1Npbmd1bGFyXSwgW2xpYmRpcl0pCistICAgICAgICAgICAg ICAgICAgICAgIGRubCBUaGUgYWNsX3NobGliZXh0IHZhcmlhYmxlIGlzIHNldCBpbiB0aGUgdG9w LWxldmVsIGNvbmZpZ3VyZS5hYy4KKy0gICAgICAgICAgICAgICAgICAgICAgQUNfTEFOR19QVVNI KEMpCistICAgICAgICAgICAgICAgICAgICAgIE9SSUdfTElCUz0iJHtMSUJTfSIKKy0gICAgICAg ICAgICAgICAgICAgICAgTElCUz0iJHtMSUJTfSAtbGRsIgorLSAgICAgICAgICAgICAgICAgICAg ICBBQ19NU0dfQ0hFQ0tJTkcoW2lmIHdlIGNhbiBkbG9wZW4oJExJQlNJTkdVTEFSX1BBVEgpXSkK Ky0gICAgICAgICAgICAgICAgICAgICAgTElCU0lOR1VMQVJfUEFUSD0iJHtTSU5HVUxBUl9MSUJf RElSfS9saWJTaW5ndWxhci4ke2FjbF9zaGxpYmV4dH0iCistCistICAgICAgICAgICAgICAgICAg ICAgIGRubCBpZiB3ZSBjYW4gZGxvcGVuKCkgaXQsIHN1YnN0aXR1dGUgdGhlIG5hbWUgZm9yIHNh Z2VfY29uZjsKKy0gICAgICAgICAgICAgICAgICAgICAgZG5sIG90aGVyd2lzZSwgZmFsbCBiYWNr IHRvIHVzaW5nIHRoZSBTUEtHLgorLSAgICAgICAgICAgICAgICAgICAgICBBQ19SVU5fSUZFTFNF KAorLSAgICAgICAgICAgICAgICAgICAgICAgIFtBQ19MQU5HX1BST0dSQU0oCistICAgICAgICAg ICAgICAgICAgICAgICAgICBbWyNpbmNsdWRlIDxkbGZjbi5oPl1dLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgW1t2b2lkKiBoID0gZGxvcGVuKCIke0xJQlNJTkdVTEFSX1BBVEh9IiwgUlRM RF9MQVpZIHwgUlRMRF9HTE9CQUwpOworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAo aCA9PSAwKSB7IHJldHVybiAxOyB9IGVsc2UgeyByZXR1cm4gZGxjbG9zZShoKTsgfV1dCistICAg ICAgICAgICAgICAgICAgICAgICAgKV0sIFsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIEFD X01TR19SRVNVTFQoeWVzKQorLSAgICAgICAgICAgICAgICAgICAgICAgIF0sIFsKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgIGRubCB0cnkgRGViaWFuLXNwZWNpZmljIG5hbWUKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgIExJQlNJTkdVTEFSX1BBVEg9IiR7U0lOR1VMQVJfTElCX0RJUn0v bGlic2luZ3VsYXItU2luZ3VsYXIuJHthY2xfc2hsaWJleHR9IgorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgQUNfUlVOX0lGRUxTRSgKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBbQUNf TEFOR19QUk9HUkFNKAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1sjaW5jbHVkZSA8 ZGxmY24uaD5dXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbdm9pZCogaCA9IGRs b3BlbigiJHtMSUJTSU5HVUxBUl9QQVRIfSIsIFJUTERfTEFaWSB8IFJUTERfR0xPQkFMKTsKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGggPT0gMCkgeyByZXR1cm4gMTsgfSBl bHNlIHsgcmV0dXJuIGRsY2xvc2UoaCk7IH1dXQorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICldLCBbCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ19NU0dfUkVTVUxUKHllcykK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICBdLCBbCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFDX01TR19SRVNVTFQobm8pCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNh Z2Vfc3BrZ19pbnN0YWxsX3Npbmd1bGFyPXllcworLSAgICAgICAgICAgICAgICAgICAgICAgICAg XSwgW0FDX01TR19SRVNVTFQoeWVzKV0pCistICAgICAgICAgICAgICAgICAgICAgICAgXSwgW0FD X01TR19SRVNVTFQoeWVzKV0pCistCistICAgICAgICAgICAgICAgICAgICAgIEFDX0xBTkdfUE9Q KCkKKy0gICAgICAgICAgICAgICAgICAgICAgTElCUz0iJHtPUklHX0xJQlN9IgorLSAgICAgICAg ICAgICAgICAgICAgIF0KKy0gICAgICAgKV0sIFsKKysgICAgICAgXSwgWworICAgICAgICBBQ19N U0dfUkVTVUxUKG5vKQorICAgICAgICBzYWdlX3Nwa2dfaW5zdGFsbF9zaW5ndWxhcj15ZXMKKyAg ICAgICAgXQorQEAgLTY0LDIwICsxOSw0IEBAIFNBR0VfU1BLR19DT05GSUdVUkUoW3Npbmd1bGFy XSwgWworICAgICAgIF0pCisgICAgIF0pCisgICBdKQorLV0sW10sW10sWworLSAgZG5sIFBvc3Qt Y2hlY2sgcGhhc2UKKy0gIGRubCBXZSBtYWtlIHRoZSBzYWdlX2NvbmYgc3Vic3RpdHV0aW9ucyBo ZXJlLCBiZWNhdXNlIHRoZSAiZGVmYXVsdCIKKy0gIGRubCBzdWJzdGl0dXRpb24gbmVlZHMgdG8g YmUgbWFkZSBldmVuIGlmIHdlIHNraXBwZWQgdGhlIHN5c3RlbS1TaW5ndWxhcgorLSAgZG5sIGNo ZWNrcyB0aGVtc2VsdmVzLgorLSAgQVNfSUYoW3Rlc3QgIngke3NhZ2Vfc3BrZ19pbnN0YWxsX3Np bmd1bGFyfSIgPSAieHllcyJdLCBbCistICAgIEFTX0NBU0UoWyRob3N0X29zXSwKKy0gICAgICBb Y3lnd2luKl0sIFtkbmwgTm90aGluZyB0byBkbworLSAgICAgICAgICAgICAgICAgXSwKKy0gICAg ICAgICAgICAgICAgIFtkbmwgU2V0IHNoYXJlZCBsaWJyYXJ5IHBhdGgsIG5lZWRlZCBmb3IgcmVs b2FkaW5nIHRoZSBsaWJyYXJ5IHdpdGggUlRMRF9HTE9CQUwKKy0gICAgICAgICAgICAgICAgICBM SUJTSU5HVUxBUl9QQVRIPSJcJFNBR0VfTE9DQUwvbGliL2xpYlNpbmd1bGFyLiR7YWNsX3NobGli ZXh0fSIKKy0gICAgICAgICAgICAgICAgIF0KKy0gICAgKQorLSAgXSkKKy0KKy0gIEFDX1NVQlNU KExJQlNJTkdVTEFSX1BBVEgsICIke0xJQlNJTkdVTEFSX1BBVEh9IikKKyBdKQorZGlmZiAtLWdp dCBhL3BrZ3Mvc2FnZS1jb25mL19zYWdlX2NvbmYvX2NvbmYucHkuaW4gYi9wa2dzL3NhZ2UtY29u Zi9fc2FnZV9jb25mL19jb25mLnB5LmluCitpbmRleCA2Y2QyOGY1NThhOC4uZDY2YmRiM2QyNjQg MTAwNjQ0CistLS0gYS9wa2dzL3NhZ2UtY29uZi9fc2FnZV9jb25mL19jb25mLnB5LmluCisrKysg Yi9wa2dzL3NhZ2UtY29uZi9fc2FnZV9jb25mL19jb25mLnB5LmluCitAQCAtNTUsOSArNTUsNiBA QCBUSFJFRUpTX0RJUiA9IFNBR0VfTE9DQUwgKyAiL3NoYXJlL3RocmVlanMtc2FnZSIKKyBPUEVO TVBfQ0ZMQUdTID0gIkBPUEVOTVBfQ0ZMQUdTQCIKKyBPUEVOTVBfQ1hYRkxBR1MgPSAiQE9QRU5N UF9DWFhGTEFHU0AiCisgCistIyBUaGUgZnVsbCBhYnNvbHV0ZSBwYXRoIHRvIHRoZSBtYWluIFNp bmd1bGFyIGxpYnJhcnkuCistTElCU0lOR1VMQVJfUEFUSCA9ICJATElCU0lOR1VMQVJfUEFUSEAi LnJlcGxhY2UoJyRTQUdFX0xPQ0FMJywgU0FHRV9MT0NBTCkKKy0KKyAjIEluc3RhbGxhdGlvbiBs b2NhdGlvbiBvZiB3aGVlbHMuIFRoaXMgaXMgZGV0ZXJtaW5lZCBhdCBjb25maWd1cmF0aW9uIHRp bWUKKyAjIGFuZCBkb2VzIG5vdCBkZXBlbmQgb24gdGhlIGluc3RhbGxhdGlvbiBsb2NhdGlvbiBv ZiBzYWdlLWNvbmYuCisgU0FHRV9TUEtHX1dIRUVMUyA9ICJAU0FHRV9WRU5WQCIucmVwbGFjZSgn JHtTQUdFX0xPQ0FMfScsIFNBR0VfTE9DQUwpICsgIi92YXIvbGliL3NhZ2Uvd2hlZWxzIgorZGlm ZiAtLWdpdCBhL3NyYy9kb2MvZW4vdGhlbWF0aWNfdHV0b3JpYWxzL2xpZS93ZXlsX2dyb3Vwcy5y c3QgYi9zcmMvZG9jL2VuL3RoZW1hdGljX3R1dG9yaWFscy9saWUvd2V5bF9ncm91cHMucnN0Citp bmRleCBjOTE3MzM4ZTQ0NC4uMTgyZTc0YWFkMjAgMTAwNjQ0CistLS0gYS9zcmMvZG9jL2VuL3Ro ZW1hdGljX3R1dG9yaWFscy9saWUvd2V5bF9ncm91cHMucnN0CisrKysgYi9zcmMvZG9jL2VuL3Ro ZW1hdGljX3R1dG9yaWFscy9saWUvd2V5bF9ncm91cHMucnN0CitAQCAtMTM5LDEyICsxMzksMTIg QEAgc3RyaW5nLCB3aGljaCB5b3UgY2FuIHByaW50OjoKKyAgICAgWC4xICAgICAgMSAgMSAgMSAg MSAgMSAgMSAgMSAgMSAgMSAgMSAgMSAgMSAgMQorICAgICBYLjIgICAgICAxIC0xICAxICAxIC0x ICAxICAxIC0xIC0xIC0xICAxICAxICAxCisgICAgIFguMyAgICAgIDIgIC4gIDIgLTEgIC4gIDIg IDIgIC4gIC4gIC4gLTEgIDIgIDIKKy0gICAgWC40ICAgICAgMyAtMSAtMSAgLiAgMSAtMSAgMyAt MSAgMSAtMSAgLiAtMSAgMworLSAgICBYLjUgICAgICAzIC0xIC0xICAuICAxICAzIC0xIC0xIC0x ICAxICAuIC0xICAzCistICAgIFguNiAgICAgIDMgIDEgLTEgIC4gLTEgLTEgIDMgIDEgLTEgIDEg IC4gLTEgIDMKKy0gICAgWC43ICAgICAgMyAgMSAtMSAgLiAtMSAgMyAtMSAgMSAgMSAtMSAgLiAt MSAgMworLSAgICBYLjggICAgICAzIC0xICAzICAuIC0xIC0xIC0xIC0xICAxICAxICAuIC0xICAz CistICAgIFguOSAgICAgIDMgIDEgIDMgIC4gIDEgLTEgLTEgIDEgLTEgLTEgIC4gLTEgIDMKKysg ICAgWC40ICAgICAgMyAtMSAtMSAgLiAgMSAgMyAtMSAtMSAtMSAgMSAgLiAtMSAgMworKyAgICBY LjUgICAgICAzICAxIC0xICAuIC0xICAzIC0xICAxICAxIC0xICAuIC0xICAzCisrICAgIFguNiAg ICAgIDMgLTEgIDMgIC4gLTEgLTEgLTEgLTEgIDEgIDEgIC4gLTEgIDMKKysgICAgWC43ICAgICAg MyAtMSAtMSAgLiAgMSAtMSAgMyAtMSAgMSAtMSAgLiAtMSAgMworKyAgICBYLjggICAgICAzICAx ICAzICAuICAxIC0xIC0xICAxIC0xIC0xICAuIC0xICAzCisrICAgIFguOSAgICAgIDMgIDEgLTEg IC4gLTEgLTEgIDMgIDEgLTEgIDEgIC4gLTEgIDMKKyAgICAgWC4xMCAgICAgNCAtMiAgLiAtMSAg LiAgLiAgLiAgMiAgLiAgLiAgMSAgLiAtNAorICAgICBYLjExICAgICA0ICAyICAuIC0xICAuICAu ICAuIC0yICAuICAuICAxICAuIC00CisgICAgIFguMTIgICAgIDYgIC4gLTIgIC4gIC4gLTIgLTIg IC4gIC4gIC4gIC4gIDIgIDYKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9jb2RpbmcvY29kZWNhbi9h dXRncm91cF9jYW5fbGFiZWwucHl4IGIvc3JjL3NhZ2UvY29kaW5nL2NvZGVjYW4vYXV0Z3JvdXBf Y2FuX2xhYmVsLnB5eAoraW5kZXggZGU1ZGI5ODVlMGIuLmM4M2I5MjY0ZTQ0IDEwMDY0NAorLS0t IGEvc3JjL3NhZ2UvY29kaW5nL2NvZGVjYW4vYXV0Z3JvdXBfY2FuX2xhYmVsLnB5eAorKysrIGIv c3JjL3NhZ2UvY29kaW5nL2NvZGVjYW4vYXV0Z3JvdXBfY2FuX2xhYmVsLnB5eAorQEAgLTc2LDcg Kzc2LDcgQEAgY29sdW1ucyBkbyBzaGFyZSB0aGUgc2FtZSBjb2xvcmluZzo6CisgICAgICgoMSwp LAorICAgICAgKDIsKSwKKyAgICAgICgzLCA1LCA0KSwKKy0gICAgICg2LCAxOSwgMTYsIDksIDIx LCAxMCwgOCwgMTUsIDE0LCAxMSwgMjAsIDEzLCAxMiwgNywgMTcsIDE4KSkKKysgICAgICg2LCAx OSwgMTYsIDIxLCA5LCAxMCwgMTUsIDgsIDIwLCAxMSwgMTQsIDEzLCA3LCAxMiwgMTgsIDE3KSkK KyAKKyBXZSBjYW4gYWxzbyByZXN0cmljdCB0aGUgZ3JvdXAgYWN0aW9uIHRvIGxpbmVhciBpc29t ZXRyaWVzOjoKKyAKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9jb2RpbmcvbGluZWFyX2NvZGUucHkg Yi9zcmMvc2FnZS9jb2RpbmcvbGluZWFyX2NvZGUucHkKK2luZGV4IGEzYWMzY2ExNTQ3Li5iZmI5 Zjg2OTZlOCAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL2NvZGluZy9saW5lYXJfY29kZS5weQorKysr IGIvc3JjL3NhZ2UvY29kaW5nL2xpbmVhcl9jb2RlLnB5CitAQCAtNDY1LDI3ICs0NjUsMjcgQEAg ZGVmIGF1dG9tb3JwaGlzbV9ncm91cF9nZW5zKHNlbGYsIGVxdWl2YWxlbmNlPSJzZW1pbGluZWFy Iik6CisgICAgICAgICAgICAgMAorICAgICAgICAgICAgIHNhZ2U6IEMgPSBjb2Rlcy5IYW1taW5n Q29kZShHRig0LCAneicpLCAzKQorICAgICAgICAgICAgIHNhZ2U6IEMuYXV0b21vcnBoaXNtX2dy b3VwX2dlbnMoKQorLSAgICAgICAgICAgIChbKCgxLCAxLCAxLCAxLCAxLCB6ICsgMSwgeiwgeiAr IDEsIHosIHosIHosIDEsIDEsIHogKyAxLCB6ICsgMSwgeiwgeiArIDEsIHosIHogKyAxLCB6ICsg MSwgeiArIDEpOyAoMSwxNCw2LDcsNCwxMCwxMSwxOSkoMiw4LDE2LDEzLDMsMTcsMjEsMTUpKDks MTIsMTgsMjApLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXpl IDJeMgorKyAgICAgICAgICAgIChbKCgxLCAxLCAxLCB6LCB6ICsgMSwgMSwgMSwgMSwgMSwgeiAr IDEsIHosIHosIHogKyAxLCB6ICsgMSwgeiArIDEsIDEsIHogKyAxLCB6LCB6LCAxLCB6KTsgKDEs MTMsMTQsMjApKDIsMjEsOCwxOCw3LDE2LDE5LDE1KSgzLDEwLDUsMTIsMTcsOSw2LDQpLCBSaW5n IGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgorKyAgICAgICAg ICAgICAgICBEZWZuOiB6IHwtLT4geiArIDEpLAorKyAgICAgICAgICAgICAgKCh6LCAxLCB6LCB6 LCB6LCB6ICsgMSwgeiwgeiwgeiwgeiwgeiwgeiwgeiArIDEsIHosIHosIHosIHosIHogKyAxLCB6 LCB6LCB6KTsgKDEsMTEsNSwxMiwzLDE5KSgyLDgpKDYsMTgsMTMpKDcsMTcsMTUpKDksMTAsMTQs MTYsMjAsMjEpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXpl IDJeMgorICAgICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geiArIDEpLAorLSAgICAgICAgICAg ICAgKCh6ICsgMSwgMSwgMSwgeiwgeiArIDEsIHosIHosIHogKyAxLCB6ICsgMSwgeiArIDEsIDEs IHogKyAxLCB6LCB6LCAxLCB6ICsgMSwgMSwgeiwgeiArIDEsIHogKyAxLCB6KTsgKDEsMTgsNiwx OSwyLDksMTcsMTAsMTMsMTQsMjEsMTEsNCw1LDEyKSgzLDIwLDcsMTYsOCksIFJpbmcgZW5kb21v cnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCistICAgICAgICAgICAgICAg IERlZm46IHogfC0tPiB6KSwKKyAgICAgICAgICAgICAgICgoeiwgeiwgeiwgeiwgeiwgeiwgeiwg eiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeik7ICgpLCBSaW5nIGVuZG9t b3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgorICAgICAgICAgICAgICAg ICBEZWZuOiB6IHwtLT4geildLAorICAgICAgICAgICAgICAzNjI4ODApCisgICAgICAgICAgICAg c2FnZTogQy5hdXRvbW9ycGhpc21fZ3JvdXBfZ2VucyhlcXVpdmFsZW5jZT0ibGluZWFyIikKKy0g ICAgICAgICAgICAoWygoeiArIDEsIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHosIDEsIHosIDEs IDEsIDEsIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHosIHosIDEsIHosIHosIHopOyAoMSwxNSwy LDgsMTYsMTgsMykoNCw5LDEyLDEzLDIwLDEwLDExKSg1LDIxLDE0LDYsNywxOSwxNyksIFJpbmcg ZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCisrICAgICAgICAg ICAgKFsoKHosIDEsIHogKyAxLCB6ICsgMSwgMSwgeiArIDEsIHosIDEsIHogKyAxLCB6ICsgMSwg MSwgeiwgMSwgeiArIDEsIHosIDEsIHosIDEsIHogKyAxLCAxLCAxKTsgKDEsMTIsMTEsMTAsNiw4 LDksMjAsMTMsMjEsNSwxNCwzLDE2LDE3LDE5LDcsNCwyLDE1LDE4KSwgUmluZyBlbmRvbW9ycGhp c20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKKyAgICAgICAgICAgICAgICAgRGVm bjogeiB8LS0+IHopLAorLSAgICAgICAgICAgICAgKCh6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsg MSwgeiArIDEsIDEsIHosIDEsIHosIHosIHosIDEsIHosIDEsIDEsIDEsIHogKyAxLCB6ICsgMSwg eiArIDEsIDEsIHopOyAoMSwxNSwyMSw4LDkpKDIsMTgsNSwzLDExLDE2LDcsMTAsMTksMTMsMTIs NCwxNyw2LDIwKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6 ZSAyXjIKKysgICAgICAgICAgICAgICgoeiArIDEsIHogKyAxLCB6ICsgMSwgeiwgMSwgMSwgeiwg eiwgMSwgeiArIDEsIHosIDEsIDEsIHosIDEsIHogKyAxLCB6LCB6ICsgMSwgeiArIDEsIDEsIHop OyAoMSwzLDE4LDIsMTcsNiwxOSkoNCwxNSwxMywyMCw3LDE0LDE2KSg1LDExLDgsMjEsMTIsOSwx MCksIFJpbmcgZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCisg ICAgICAgICAgICAgICAgIERlZm46IHogfC0tPiB6KSwKKyAgICAgICAgICAgICAgICgoeiArIDEs IHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwg eiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6 ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSk7ICgpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5p dGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgorICAgICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4g eildLAorICAgICAgICAgICAgICAxODE0NDApCisgICAgICAgICAgICAgc2FnZTogQy5hdXRvbW9y cGhpc21fZ3JvdXBfZ2VucyhlcXVpdmFsZW5jZT0icGVybXV0YXRpb25hbCIpCistICAgICAgICAg ICAgKFsoKDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEpOyAoMSwxOSkoMywxNykoNCwyMSkoNSwyMCkoNywxNCkoOSwxMikoMTAsMTYp KDExLDE1KSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAy XjIKKysgICAgICAgICAgICAoWygoMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSk7ICgxLDExKSgzLDEwKSg0LDkpKDUsNykoMTIsMjEp KDE0LDIwKSgxNSwxOSkoMTYsMTcpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQg aW4geiBvZiBzaXplIDJeMgorICAgICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geiksCistICAg ICAgICAgICAgICAoKDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsIDEsIDEpOyAoMSwxMSkoMywxMCkoNCw5KSg1LDcpKDEyLDIxKSgxNCwyMCko MTUsMTkpKDE2LDE3KSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Yg c2l6ZSAyXjIKKysgICAgICAgICAgICAgICgoMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSk7ICgyLDE4KSgzLDE5KSg0LDEwKSg1LDE2 KSg4LDEzKSg5LDE0KSgxMSwyMSkoMTUsMjApLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUg RmllbGQgaW4geiBvZiBzaXplIDJeMgorICAgICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geiks CistICAgICAgICAgICAgICAoKDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEpOyAoMSwxNykoMiw4KSgzLDE0KSg0LDEwKSg3LDEyKSg5 LDE5KSgxMywxOCkoMTUsMjApLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4g eiBvZiBzaXplIDJeMgorKyAgICAgICAgICAgICAgKCgxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxKTsgKDEsMTkpKDMsMTcpKDQsMjEp KDUsMjApKDcsMTQpKDksMTIpKDEwLDE2KSgxMSwxNSksIFJpbmcgZW5kb21vcnBoaXNtIG9mIEZp bml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCisgICAgICAgICAgICAgICAgIERlZm46IHogfC0t PiB6KSwKKyAgICAgICAgICAgICAgICgoMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSk7ICgyLDEzKSgzLDE0KSg0LDIwKSg1LDExKSg4 LDE4KSg5LDE5KSgxMCwxNSkoMTYsMjEpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmll bGQgaW4geiBvZiBzaXplIDJeMgorICAgICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geildLAor QEAgLTY5MSwxMCArNjkxLDEwIEBAIGRlZiBfY2Fub25pemUoc2VsZiwgZXF1aXZhbGVuY2UpOgor ICAgICAgICAgICAgIHNhZ2U6IENfaXNvID09IGF1dF9ncm91cF9jYW5fbGFiZWwuZ2V0X2Nhbm9u aWNhbF9mb3JtKCkKKyAgICAgICAgICAgICBUcnVlCisgICAgICAgICAgICAgc2FnZTogYXV0X2dy b3VwX2Nhbl9sYWJlbC5nZXRfYXV0b21fZ2VucygpCistICAgICAgICAgICAgWygoMSwgMSwgMSwg MSwgMSwgeiArIDEsIHosIHogKyAxLCB6LCB6LCB6LCAxLCAxLCB6ICsgMSwgeiArIDEsIHosIHog KyAxLCB6LCB6ICsgMSwgeiArIDEsIHogKyAxKTsgKDEsMTQsNiw3LDQsMTAsMTEsMTkpKDIsOCwx NiwxMywzLDE3LDIxLDE1KSg5LDEyLDE4LDIwKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRl IEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKKysgICAgICAgICAgICBbKCgxLCAxLCAxLCB6LCB6ICsg MSwgMSwgMSwgMSwgMSwgeiArIDEsIHosIHosIHogKyAxLCB6ICsgMSwgeiArIDEsIDEsIHogKyAx LCB6LCB6LCAxLCB6KTsgKDEsMTMsMTQsMjApKDIsMjEsOCwxOCw3LDE2LDE5LDE1KSgzLDEwLDUs MTIsMTcsOSw2LDQpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBz aXplIDJeMgorKyAgICAgICAgICAgICAgIERlZm46IHogfC0tPiB6ICsgMSksCisrICAgICAgICAg ICAgICgoeiwgMSwgeiwgeiwgeiwgeiArIDEsIHosIHosIHosIHosIHosIHosIHogKyAxLCB6LCB6 LCB6LCB6LCB6ICsgMSwgeiwgeiwgeik7ICgxLDExLDUsMTIsMywxOSkoMiw4KSg2LDE4LDEzKSg3 LDE3LDE1KSg5LDEwLDE0LDE2LDIwLDIxKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZp ZWxkIGluIHogb2Ygc2l6ZSAyXjIKKyAgICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geiArIDEp LAorLSAgICAgICAgICAgICAoKHogKyAxLCAxLCAxLCB6LCB6ICsgMSwgeiwgeiwgeiArIDEsIHog KyAxLCB6ICsgMSwgMSwgeiArIDEsIHosIHosIDEsIHogKyAxLCAxLCB6LCB6ICsgMSwgeiArIDEs IHopOyAoMSwxOCw2LDE5LDIsOSwxNywxMCwxMywxNCwyMSwxMSw0LDUsMTIpKDMsMjAsNywxNiw4 KSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKKy0g ICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geiksCisgICAgICAgICAgICAgICgoeiwgeiwgeiwg eiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeik7ICgp LCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgorICAg ICAgICAgICAgICAgIERlZm46IHogfC0tPiB6KV0KKyAgICAgICAgICIiIgorZGlmZiAtLWdpdCBh L3NyYy9zYWdlL2NvbWJpbmF0L3Bvc2V0cy9wb3NldHMucHkgYi9zcmMvc2FnZS9jb21iaW5hdC9w b3NldHMvcG9zZXRzLnB5CitpbmRleCAyODM2ZDU5ZDk2MC4uOGM4ODJkNWFjM2IgMTAwNjQ0Cist LS0gYS9zcmMvc2FnZS9jb21iaW5hdC9wb3NldHMvcG9zZXRzLnB5CisrKysgYi9zcmMvc2FnZS9j b21iaW5hdC9wb3NldHMvcG9zZXRzLnB5CitAQCAtODgxMyw3ICs4ODEzLDcgQEAgZGVmIF9saWJn YXBfKHNlbGYpOgorICAgICAgICAgICAgIHNhZ2U6IGxpYmdhcChQKSAgIyBvcHRpb25hbCAtIGdh cF9wYWNrYWdlcworICAgICAgICAgICAgIDxBIHBvc2V0IG9uIDUgcG9pbnRzPgorICAgICAgICAg ICAgIHNhZ2U6IEEgPSBsaWJnYXAoR0YoMikpLlBvc2V0QWxnZWJyYShQKTsgQSAgIyBvcHRpb25h bCAtIGdhcF9wYWNrYWdlcworLSAgICAgICAgICAgIDxHRigyKVs8cXVpdmVyIHdpdGggNSB2ZXJ0 aWNlcyBhbmQgNSBhcnJvd3M+XS88dHdvLXNpZGVkIGlkZWFsIGluIDxHRigyKVs8cXVpdmVyIHdp dGggNSB2ZXJ0aWNlcyBhbmQgNSBhcnJvd3M+XT4sICgxIGdlbmVyYXRvcnMpPj4KKysgICAgICAg ICAgICA8R0YoMilbPHF1aXZlciB3aXRoIDUgdmVydGljZXMgYW5kIDUgYXJyb3dzPl0vPHR3by1z aWRlZCBpZGVhbCBpbiA8R0YoMilbPHF1aXZlciB3aXRoIDUgdmVydGljZXMgYW5kIDUgYXJyb3dz Pl0+LCAoMSBnZW5lcmF0b3IpPj4KKyAgICAgICAgICAgICBzYWdlOiBBLkRpbWVuc2lvbigpICAj IG9wdGlvbmFsIC0gZ2FwX3BhY2thZ2VzCisgICAgICAgICAgICAgMTMKKyAgICAgICAgICIiIgor ZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2NvbWJpbmF0L3Jvb3Rfc3lzdGVtL2hlY2tlX2FsZ2VicmFf cmVwcmVzZW50YXRpb24ucHkgYi9zcmMvc2FnZS9jb21iaW5hdC9yb290X3N5c3RlbS9oZWNrZV9h bGdlYnJhX3JlcHJlc2VudGF0aW9uLnB5CitpbmRleCA2Yjc1NmJhZmMzMC4uOGFjOTkzMTliZWMg MTAwNjQ0CistLS0gYS9zcmMvc2FnZS9jb21iaW5hdC9yb290X3N5c3RlbS9oZWNrZV9hbGdlYnJh X3JlcHJlc2VudGF0aW9uLnB5CisrKysgYi9zcmMvc2FnZS9jb21iaW5hdC9yb290X3N5c3RlbS9o ZWNrZV9hbGdlYnJhX3JlcHJlc2VudGF0aW9uLnB5CitAQCAtMzU3LDcgKzM1Nyw3IEBAIGRlZiBU dyhzZWxmLCB3b3JkLCBzaWducz1Ob25lLCBzY2FsYXI9Tm9uZSk6CisgICAgICAgICAgICAgc2Fn ZTogcTEsIHEyID0gSy5nZW5zKCkKKyAgICAgICAgICAgICBzYWdlOiBLVyA9IFcuYWxnZWJyYShL KQorICAgICAgICAgICAgIHNhZ2U6IHggPSBLVy5hbl9lbGVtZW50KCk7IHgKKy0gICAgICAgICAg ICAxMjMgKyAzKjMyICsgMiozICsgZQorKyAgICAgICAgICAgIDEyMyArIDMqMjMxMiArIDIqMzEg KyBlCisgCisgICAgICAgICAgICAgc2FnZTogVCA9IEtXLmRlbWF6dXJlX2x1c3p0aWdfb3BlcmF0 b3JzKHExLHEyKQorICAgICAgICAgICAgIHNhZ2U6IFQxMiA9IFQuVHcoICgxLDIpICkKK2RpZmYg LS1naXQgYS9zcmMvc2FnZS9jb21iaW5hdC9zeW1tZXRyaWNfZ3JvdXBfYWxnZWJyYS5weSBiL3Ny Yy9zYWdlL2NvbWJpbmF0L3N5bW1ldHJpY19ncm91cF9hbGdlYnJhLnB5CitpbmRleCBiOGEwYmVi YWI0NC4uOWJjY2JhMTI0YzggMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9jb21iaW5hdC9zeW1tZXRy aWNfZ3JvdXBfYWxnZWJyYS5weQorKysrIGIvc3JjL3NhZ2UvY29tYmluYXQvc3ltbWV0cmljX2dy b3VwX2FsZ2VicmEucHkKK0BAIC0xMDEsNyArMTAxLDcgQEAgZGVmIFN5bW1ldHJpY0dyb3VwQWxn ZWJyYShSLCBXLCBjYXRlZ29yeT1Ob25lKToKKyAgICAgICAgIHNhZ2U6IFNHQS5ncm91cCgpCisg ICAgICAgICBXZXlsIEdyb3VwIG9mIHR5cGUgWydBJywgM10gKGFzIGEgbWF0cml4IGdyb3VwIGFj dGluZyBvbiB0aGUgYW1iaWVudCBzcGFjZSkKKyAgICAgICAgIHNhZ2U6IFNHQS5hbl9lbGVtZW50 KCkKKy0gICAgICAgIHMxKnMyKnMzICsgMypzMypzMiArIDIqczMgKyAxCisrICAgICAgICBzMSpz MipzMyArIDMqczIqczMqczEqczIgKyAyKnMzKnMxICsgMQorIAorICAgICBUaGUgcHJlZmVycmVk IHdheSB0byBjb25zdHJ1Y3QgdGhlIHN5bW1ldHJpYyBncm91cCBhbGdlYnJhIGlzIHRvCisgICAg IGdvIHRocm91Z2ggdGhlIHVzdWFsIGBgYWxnZWJyYWBgIG1ldGhvZDo6CitkaWZmIC0tZ2l0IGEv c3JjL3NhZ2UvZW52LnB5IGIvc3JjL3NhZ2UvZW52LnB5CitpbmRleCA5MTFmMzRiMWJjNi4uNWY3 YWNhODU5OWMgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9lbnYucHkKKysrKyBiL3NyYy9zYWdlL2Vu di5weQorQEAgLTE5Nyw3ICsxOTcsOCBAQCBkZWYgdmFyKGtleTogc3RyLCAqZmFsbGJhY2tzOiBP cHRpb25hbFtzdHJdLCBmb3JjZTogYm9vbCA9IEZhbHNlKSAtPiBPcHRpb25hbFtzdAorIEdSQVBI U19EQVRBX0RJUiA9IHZhcigiR1JBUEhTX0RBVEFfRElSIiwgam9pbihTQUdFX1NIQVJFLCAiZ3Jh cGhzIikpCisgRUxMQ1VSVkVfREFUQV9ESVIgPSB2YXIoIkVMTENVUlZFX0RBVEFfRElSIiwgam9p bihTQUdFX1NIQVJFLCAiZWxsY3VydmVzIikpCisgUE9MWVRPUEVfREFUQV9ESVIgPSB2YXIoIlBP TFlUT1BFX0RBVEFfRElSIiwgam9pbihTQUdFX1NIQVJFLCAicmVmbGV4aXZlX3BvbHl0b3BlcyIp KQorLUdBUF9ST09UX0RJUiA9IHZhcigiR0FQX1JPT1RfRElSIiwgam9pbihTQUdFX1NIQVJFLCAi Z2FwIikpCisrR0FQX0xJQl9ESVIgPSB2YXIoIkdBUF9MSUJfRElSIiwgam9pbihTQUdFX0xPQ0FM LCAibGliIiwgImdhcCIpKQorK0dBUF9TSEFSRV9ESVIgPSB2YXIoIkdBUF9TSEFSRV9ESVIiLCBq b2luKFNBR0VfU0hBUkUsICJnYXAiKSkKKyBUSEVCRV9ESVIgPSB2YXIoIlRIRUJFX0RJUiIsIGpv aW4oU0FHRV9TSEFSRSwgInRoZWJlIikpCisgQ09NQklOQVRPUklBTF9ERVNJR05fREFUQV9ESVIg PSB2YXIoIkNPTUJJTkFUT1JJQUxfREVTSUdOX0RBVEFfRElSIiwgam9pbihTQUdFX1NIQVJFLCAi Y29tYmluYXRvcmlhbF9kZXNpZ25zIikpCisgQ1JFTU9OQV9NSU5JX0RBVEFfRElSID0gdmFyKCJD UkVNT05BX01JTklfREFUQV9ESVIiLCBqb2luKFNBR0VfU0hBUkUsICJjcmVtb25hIikpCitAQCAt MjI5LDEyICsyMzAsNiBAQCBkZWYgdmFyKGtleTogc3RyLCAqZmFsbGJhY2tzOiBPcHRpb25hbFtz dHJdLCBmb3JjZTogYm9vbCA9IEZhbHNlKSAtPiBPcHRpb25hbFtzdAorIExJRV9JTkZPX0RJUiA9 IHZhcigiTElFX0lORk9fRElSIiwgam9pbihTQUdFX0xPQ0FMLCAibGliIiwgIkxpRSIpKQorIFNJ TkdVTEFSX0JJTiA9IHZhcigiU0lOR1VMQVJfQklOIikgb3IgIlNpbmd1bGFyIgorIAorLSMgVGhl IHBhdGggdG8gbGliU2luZ3VsYXIsIHRvIGJlIHBhc3NlZCB0byBkbG9wZW4oKS4gVGhpcyB3aWxs CistIyB0eXBpY2FsbHkgYmUgc2V0IHRvIGFuIGFic29sdXRlIHBhdGggaW4gc2FnZV9jb25mLCBi dXQgdGhlIHJlbGF0aXZlCistIyBmYWxsYmFjayBwYXRoIGhlcmUgd29ya3Mgb24gc3lzdGVtcyB3 aGVyZSBkbG9wZW4oKSBzZWFyY2hlcyB0aGUKKy0jIHN5c3RlbSdzIGxpYnJhcnkgbG9jYXRpb25z LgorLUxJQlNJTkdVTEFSX1BBVEggPSB2YXIoIkxJQlNJTkdVTEFSX1BBVEgiLCAibGliU2luZ3Vs YXIuc28iKQorLQorICMgT3Blbk1QCisgT1BFTk1QX0NGTEFHUyA9IHZhcigiT1BFTk1QX0NGTEFH UyIsICIiKQorIE9QRU5NUF9DWFhGTEFHUyA9IHZhcigiT1BFTk1QX0NYWEZMQUdTIiwgIiIpCitA QCAtMjU1LDgxICsyNTAsNiBAQCBkZWYgdmFyKGtleTogc3RyLCAqZmFsbGJhY2tzOiBPcHRpb25h bFtzdHJdLCBmb3JjZTogYm9vbCA9IEZhbHNlKSAtPiBPcHRpb25hbFtzdAorIFNBR0VfR0FQX0NP TU1BTkQgPSB2YXIoJ1NBR0VfR0FQX0NPTU1BTkQnLCBfZ2FwX2NtZCkKKyAKKyAKKy1kZWYgX2dl dF9zaGFyZWRfbGliX3BhdGgoKmxpYm5hbWVzOiBzdHIpIC0+IE9wdGlvbmFsW3N0cl06CistICAg ICIiIgorLSAgICBSZXR1cm4gdGhlIGZ1bGwgcGF0aCB0byBhIHNoYXJlZCBsaWJyYXJ5IGZpbGUg aW5zdGFsbGVkIGluCistICAgIGBgJFNBR0VfTE9DQUwvbGliYGAgb3IgdGhlIGRpcmVjdG9yaWVz IGFzc29jaWF0ZWQgd2l0aCB0aGUKKy0gICAgUHl0aG9uIHN5c2NvbmZpZy4KKy0KKy0gICAgVGhp cyBjYW4gYWxzbyBiZSBwYXNzZWQgbW9yZSB0aGFuIG9uZSBsaWJyYXJ5IG5hbWUgKGUuZy4gZm9y IGNhc2VzIHdoZXJlCistICAgIHNvbWUgbGlicmFyeSBtYXkgaGF2ZSBtdWx0aXBsZSBuYW1lcyBk ZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtKSBpbiB3aGljaAorLSAgICBjYXNlIHRoZSBmaXJzdCBv bmUgZm91bmQgaXMgcmV0dXJuZWQuCistCistICAgIFRoaXMgc3VwcG9ydHMgbW9zdCAqTklYIHZh cmlhbnRzIChpbiB3aGljaCBgYGxpYjxsaWJuYW1lPi5zb2BgIGlzIGZvdW5kCistICAgIHVuZGVy IGBgJFNBR0VfTE9DQUwvbGliYGApLCBtYWNPUyAoc2FtZSwgYnV0IHdpdGggdGhlIGBgLmR5bGli YGAKKy0gICAgZXh0ZW5zaW9uKSwgYW5kIEN5Z3dpbiAodW5kZXIgYGAkU0FHRV9MT0NBTC9iaW4v Y3lnPGxpYm5hbWU+LmRsbGBgLAorLSAgICBvciBgYCRTQUdFX0xPQ0FML2Jpbi9jeWc8bGlibmFt ZT4tKi5kbGxgYCBmb3IgdmVyc2lvbmVkIERMTHMpLgorLQorLSAgICBGb3IgZGlzdHJpYnV0aW9u cyBsaWtlIERlYmlhbiB0aGF0IHVzZSBhIG11bHRpYXJjaCBsYXlvdXQsIHdlIGFsc28gdHJ5IHRo ZQorLSAgICBtdWx0aWFyY2ggbGliIHBhdGhzIChpLmUuIGBgL3Vzci9saWIvPGFyY2g+L2BgKS4K Ky0KKy0gICAgVGhpcyByZXR1cm5zIGBgTm9uZWBgIGlmIG5vIG1hdGNoaW5nIGxpYnJhcnkgZmls ZSBjb3VsZCBiZSBmb3VuZC4KKy0KKy0gICAgRVhBTVBMRVM6OgorLQorLSAgICAgICAgc2FnZTog ZnJvbSBzYWdlLmVudiBpbXBvcnQgX2dldF9zaGFyZWRfbGliX3BhdGgKKy0gICAgICAgIHNhZ2U6 ICJnYXAiIGluIF9nZXRfc2hhcmVkX2xpYl9wYXRoKCJnYXAiKQorLSAgICAgICAgVHJ1ZQorLSAg ICAgICAgc2FnZTogX2dldF9zaGFyZWRfbGliX3BhdGgoImFuX2Fic3VyZF9saWIiKSBpcyBOb25l CistICAgICAgICBUcnVlCistCistICAgICIiIgorLQorLSAgICBmb3IgbGlibmFtZSBpbiBsaWJu YW1lczoKKy0gICAgICAgIHNlYXJjaF9kaXJlY3RvcmllczogTGlzdFtQYXRoXSA9IFtdCistICAg ICAgICBwYXR0ZXJuczogTGlzdFtzdHJdID0gW10KKy0gICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9 PSAnY3lnd2luJzoKKy0gICAgICAgICAgICAjIExhdGVyIGRvd24gd2UgdGFrZSB0aGUgZmlyc3Qg bWF0Y2hpbmcgRExMIGZvdW5kLCBzbyBzZWFyY2gKKy0gICAgICAgICAgICAjIFNBR0VfTE9DQUwg Zmlyc3Qgc28gdGhhdCBpdCB0YWtlcyBwcmVjZWRlbmNlCistICAgICAgICAgICAgaWYgU0FHRV9M T0NBTDoKKy0gICAgICAgICAgICAgICAgc2VhcmNoX2RpcmVjdG9yaWVzLmFwcGVuZChQYXRoKFNB R0VfTE9DQUwpIC8gJ2JpbicpCistICAgICAgICAgICAgc2VhcmNoX2RpcmVjdG9yaWVzLmFwcGVu ZChQYXRoKHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignQklORElSJykpKQorLSAgICAgICAgICAg ICMgTm90ZTogVGhlIGZvbGxvd2luZyBpcyBub3QgdmVyeSByb2J1c3QsIHNpbmNlIGlmIHRoZXJl IGFyZSBtdWx0aWJsZQorLSAgICAgICAgICAgICMgdmVyc2lvbnMgZm9yIHRoZSBzYW1lIGxpYnJh cnkgdGhpcyBqdXN0IHNlbGVjdHMgb25lIG1vcmUgb3IgbGVzcworLSAgICAgICAgICAgICMgYXQg YXJiaXRyYXJ5LiBIb3dldmVyLCBwcmFjdGljYWxseSBzcGVha2luZywgb24gQ3lnd2luLCB0aGVy ZQorLSAgICAgICAgICAgICMgd2lsbCBvbmx5IGV2ZXIgYmUgb25lIHZlcnNpb24KKy0gICAgICAg ICAgICBwYXR0ZXJucyA9IFtmJ2N5Z3tsaWJuYW1lfS5kbGwnLCBmJ2N5Z3tsaWJuYW1lfS0qLmRs bCddCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnZGFy d2luJzoKKy0gICAgICAgICAgICAgICAgZXh0ID0gJ2R5bGliJworLSAgICAgICAgICAgIGVsc2U6 CistICAgICAgICAgICAgICAgIGV4dCA9ICdzbycKKy0KKy0gICAgICAgICAgICBpZiBTQUdFX0xP Q0FMOgorLSAgICAgICAgICAgICAgICBzZWFyY2hfZGlyZWN0b3JpZXMuYXBwZW5kKFBhdGgoU0FH RV9MT0NBTCkgLyAnbGliJykKKy0gICAgICAgICAgICBsaWJkaXIgPSBzeXNjb25maWcuZ2V0X2Nv bmZpZ192YXIoJ0xJQkRJUicpCistICAgICAgICAgICAgaWYgbGliZGlyIGlzIG5vdCBOb25lOgor LSAgICAgICAgICAgICAgICBsaWJkaXIgPSBQYXRoKGxpYmRpcikKKy0gICAgICAgICAgICAgICAg c2VhcmNoX2RpcmVjdG9yaWVzLmFwcGVuZChsaWJkaXIpCistCistICAgICAgICAgICAgICAgIG11 bHRpYXJjaGxpYiA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignTVVMVElBUkNIJykKKy0gICAg ICAgICAgICAgICAgaWYgbXVsdGlhcmNobGliIGlzIG5vdCBOb25lOgorLSAgICAgICAgICAgICAg ICAgICAgc2VhcmNoX2RpcmVjdG9yaWVzLmFwcGVuZChsaWJkaXIgLyBtdWx0aWFyY2hsaWIpLAor LQorLSAgICAgICAgICAgIHBhdHRlcm5zID0gW2YnbGlie2xpYm5hbWV9LntleHR9J10KKy0KKy0g ICAgICAgIGZvciBkaXJlY3RvcnkgaW4gc2VhcmNoX2RpcmVjdG9yaWVzOgorLSAgICAgICAgICAg IGZvciBwYXR0ZXJuIGluIHBhdHRlcm5zOgorLSAgICAgICAgICAgICAgICBwYXRoID0gbmV4dChk aXJlY3RvcnkuZ2xvYihwYXR0ZXJuKSwgTm9uZSkKKy0gICAgICAgICAgICAgICAgaWYgcGF0aCBp cyBub3QgTm9uZToKKy0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdHIocGF0aC5yZXNvbHZl KCkpCistCistICAgICMgSnVzdCByZXR1cm4gTm9uZSBpZiBubyBmaWxlcyB3ZXJlIGZvdW5kCist ICAgIHJldHVybiBOb25lCistCistIyBsb2NhdGUgbGliZ2FwIHNoYXJlZCBvYmplY3QKKy1HQVBf U08gPSB2YXIoIkdBUF9TTyIsIF9nZXRfc2hhcmVkX2xpYl9wYXRoKCJnYXAiLCAiIikpCistCisg IyBwb3N0IHByb2Nlc3MKKyBpZiBET1RfU0FHRSBpcyBub3QgTm9uZSBhbmQgJyAnIGluIERPVF9T QUdFOgorICAgICBpZiBVTkFNRVs6Nl0gPT0gJ0NZR1dJTic6CitkaWZmIC0tZ2l0IGEvc3JjL3Nh Z2UvZ3JvdXBzL2FiZWxpYW5fZ3BzL2FiZWxpYW5fZ3JvdXBfZ2FwLnB5IGIvc3JjL3NhZ2UvZ3Jv dXBzL2FiZWxpYW5fZ3BzL2FiZWxpYW5fZ3JvdXBfZ2FwLnB5CitpbmRleCBhNGIwNDcxMTNjNS4u ODYwOTBiNDM1MzUgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9ncm91cHMvYWJlbGlhbl9ncHMvYWJl bGlhbl9ncm91cF9nYXAucHkKKysrKyBiL3NyYy9zYWdlL2dyb3Vwcy9hYmVsaWFuX2dwcy9hYmVs aWFuX2dyb3VwX2dhcC5weQorQEAgLTMzOCw3ICszMzgsNyBAQCBkZWYgX2VsZW1lbnRfY29uc3Ry dWN0b3JfKHNlbGYsIHgsIGNoZWNrPVRydWUpOgorICAgICAgICAgaWYgaXNpbnN0YW5jZSh4LCBB YmVsaWFuR3JvdXBFbGVtZW50X2dhcCk6CisgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAg ICAgICBpZiB4IGluIHNlbGYuX2NvdmVyOgorLSAgICAgICAgICAgICAgICAgICAgeCA9IHNlbGYu Z2FwKCkuTmF0dXJhbEhvbW9tb3JwaGlzbSgpLkltYWdlKHguZ2FwKCkpCisrICAgICAgICAgICAg ICAgICAgICB4ID0gc2VsZi5fY292ZXIuZ2FwKCkuTmF0dXJhbEhvbW9tb3JwaGlzbUJ5Tm9ybWFs U3ViZ3JvdXAoc2VsZi5fcmVsYXRpb25zKS5JbWFnZSh4LmdhcCgpKQorICAgICAgICAgICAgICAg ICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgeCA9IHguZ2FwKCkKKyAgICAgICAgICAgICBl eGNlcHQgQXR0cmlidXRlRXJyb3I6CitAQCAtMTA0Myw3ICsxMDQzLDcgQEAgZGVmIG5hdHVyYWxf aG9tb21vcnBoaXNtKHNlbGYpOgorICAgICAgICAgICAgIEZyb206IEFiZWxpYW4gZ3JvdXAgd2l0 aCBnYXAsIGdlbmVyYXRvciBvcmRlcnMgKDQsKQorICAgICAgICAgICAgIFRvOiAgIFF1b3RpZW50 IGFiZWxpYW4gZ3JvdXAgd2l0aCBnZW5lcmF0b3Igb3JkZXJzICgyLCkKKyAgICAgICAgICIiIgor LSAgICAgICAgcGhpID0gc2VsZi5nYXAoKS5OYXR1cmFsSG9tb21vcnBoaXNtKCkKKysgICAgICAg IHBoaSA9IHNlbGYuX2NvdmVyLmdhcCgpLk5hdHVyYWxIb21vbW9ycGhpc21CeU5vcm1hbFN1Ymdy b3VwKHNlbGYuX3JlbGF0aW9ucykKKyAgICAgICAgIEhvbSA9IHNlbGYuX2NvdmVyLkhvbShzZWxm KQorICAgICAgICAgcmV0dXJuIEhvbShwaGkpCisgCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvZ3Jv dXBzL2Zpbml0ZWx5X3ByZXNlbnRlZC5weSBiL3NyYy9zYWdlL2dyb3Vwcy9maW5pdGVseV9wcmVz ZW50ZWQucHkKK2luZGV4IDhkNmU0NDM2ODNjLi4xYmViMDFhZjg3ZiAxMDA2NDQKKy0tLSBhL3Ny Yy9zYWdlL2dyb3Vwcy9maW5pdGVseV9wcmVzZW50ZWQucHkKKysrKyBiL3NyYy9zYWdlL2dyb3Vw cy9maW5pdGVseV9wcmVzZW50ZWQucHkKK0BAIC01OTYsOSArNTk2LDkgQEAgZGVmIGdhcChzZWxm KToKKyAgICAgICAgICAgICBzYWdlOiBrID0gRy5yZXdyaXRpbmdfc3lzdGVtKCkKKyAgICAgICAg ICAgICBzYWdlOiBrLmdhcCgpCisgICAgICAgICAgICAgS251dGggQmVuZGl4IFJld3JpdGluZyBT eXN0ZW0gZm9yIE1vbm9pZCggWyBhLCBBLCBiLCBCIF0gKSB3aXRoIHJ1bGVzCistICAgICAgICAg ICAgWyBbIGFeMiwgPGlkZW50aXR5IC4uLj4gXSwgWyBhKkEsIDxpZGVudGl0eSAuLi4+IF0sCist ICAgICAgICAgICAgICBbIEEqYSwgPGlkZW50aXR5IC4uLj4gXSwgWyBiXjIsIDxpZGVudGl0eSAu Li4+IF0sCistICAgICAgICAgICAgICBbIGIqQiwgPGlkZW50aXR5IC4uLj4gXSwgWyBCKmIsIDxp ZGVudGl0eSAuLi4+IF0gXQorKyAgICAgICAgICAgIFsgWyBhKkEsIDxpZGVudGl0eSAuLi4+IF0s IFsgQSphLCA8aWRlbnRpdHkgLi4uPiBdLAorKyAgICAgICAgICAgICAgWyBiKkIsIDxpZGVudGl0 eSAuLi4+IF0sIFsgQipiLCA8aWRlbnRpdHkgLi4uPiBdLAorKyAgICAgICAgICAgICAgWyBhXjIs IDxpZGVudGl0eSAuLi4+IF0sIFsgYl4yLCA8aWRlbnRpdHkgLi4uPiBdIF0KKyAgICAgICAgICIi IgorICAgICAgICAgcmV0dXJuIHNlbGYuX2dhcAorIAorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2dy b3Vwcy9mcWZfb3J0aG9nb25hbC5weSBiL3NyYy9zYWdlL2dyb3Vwcy9mcWZfb3J0aG9nb25hbC5w eQoraW5kZXggN2ZjNGRiZTc1NDguLmU1ZWNjZDQ1OTQyIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2Uv Z3JvdXBzL2ZxZl9vcnRob2dvbmFsLnB5CisrKysgYi9zcmMvc2FnZS9ncm91cHMvZnFmX29ydGhv Z29uYWwucHkKK0BAIC0xNDMsNyArMTQzLDcgQEAgY2xhc3MgRnFmT3J0aG9nb25hbEdyb3VwKEFi ZWxpYW5Hcm91cEF1dG9tb3JwaGlzbUdyb3VwX3N1Ymdyb3VwKToKKyAgICAgICAgIFsyLzMgICAw ICAgMF0KKyAgICAgICAgIFsgIDAgMi8zICAgMF0KKyAgICAgICAgIFsgIDAgICAwIDQvM10KKy0g ICAgICAgIGdlbmVyYXRlZCBieSAyIGVsZW1lbnRzCisrICAgICAgICBnZW5lcmF0ZWQgYnkgMyBl bGVtZW50cworICAgICAgICAgc2FnZTogcSA9IG1hdHJpeC5kaWFnb25hbChRUSwgWzMvMiwgMS80 LCAxLzRdKQorICAgICAgICAgc2FnZTogVCA9IFRvcnNpb25RdWFkcmF0aWNGb3JtKHEpCisgICAg ICAgICBzYWdlOiBULm9ydGhvZ29uYWxfZ3JvdXAoKS5vcmRlcigpCitkaWZmIC0tZ2l0IGEvc3Jj L3NhZ2UvZ3JvdXBzL2xpYmdhcF93cmFwcGVyLnB5eCBiL3NyYy9zYWdlL2dyb3Vwcy9saWJnYXBf d3JhcHBlci5weXgKK2luZGV4IGQyNTEyMWFhNzkyLi5kYzgxYjcxNjM1YiAxMDA2NDQKKy0tLSBh L3NyYy9zYWdlL2dyb3Vwcy9saWJnYXBfd3JhcHBlci5weXgKKysrKyBiL3NyYy9zYWdlL2dyb3Vw cy9saWJnYXBfd3JhcHBlci5weXgKK0BAIC0yNSw3ICsyNSw3IEBAIE5vdGUgaG93IHdlIGNhbGwg dGhlIGNvbnN0cnVjdG9yIG9mIGJvdGggc3VwZXJjbGFzc2VzIHRvIGluaXRpYWxpemUKKyBpdHMg b3V0cHV0IHZpYSBMaWJHQVA6OgorIAorICAgICBzYWdlOiBGb29Hcm91cCgpCistICAgIDxwYyBn cm91cCBvZiBzaXplIDMgd2l0aCAxIGdlbmVyYXRvcnM+CisrICAgIDxwYyBncm91cCBvZiBzaXpl IDMgd2l0aCAxIGdlbmVyYXRvcj4KKyAgICAgc2FnZTogdHlwZShGb29Hcm91cCgpLmdhcCgpKQor ICAgICA8Y2xhc3MgJ3NhZ2UubGlicy5nYXAuZWxlbWVudC5HYXBFbGVtZW50Jz4KKyAKK0BAIC0x MDYsNyArMTA2LDcgQEAgY2xhc3MgUGFyZW50TGliR0FQKFNhZ2VPYmplY3QpOgorICAgICAgICAg Li4uLjogICAgICAgICBQYXJlbnRMaWJHQVAuX19pbml0X18oc2VsZiwgbGcpCisgICAgICAgICAu Li4uOiAgICAgICAgIEdyb3VwLl9faW5pdF9fKHNlbGYpCisgICAgICAgICBzYWdlOiBGb29Hcm91 cCgpCistICAgICAgICA8cGMgZ3JvdXAgb2Ygc2l6ZSAzIHdpdGggMSBnZW5lcmF0b3JzPgorKyAg ICAgICAgPHBjIGdyb3VwIG9mIHNpemUgMyB3aXRoIDEgZ2VuZXJhdG9yPgorICAgICAiIiIKKyAK KyAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGxpYmdhcF9wYXJlbnQsIGFtYmllbnQ9Tm9uZSk6CitA QCAtNDYxLDcgKzQ2MSw3IEBAIGNkZWYgY2xhc3MgRWxlbWVudExpYkdBUChNdWx0aXBsaWNhdGl2 ZUdyb3VwRWxlbWVudCk6CisgICAgICAgICAuLi4uOiAgICAgICAgIFBhcmVudExpYkdBUC5fX2lu aXRfXyhzZWxmLCBsZykKKyAgICAgICAgIC4uLi46ICAgICAgICAgR3JvdXAuX19pbml0X18oc2Vs ZikKKyAgICAgICAgIHNhZ2U6IEZvb0dyb3VwKCkKKy0gICAgICAgIDxwYyBncm91cCBvZiBzaXpl IDMgd2l0aCAxIGdlbmVyYXRvcnM+CisrICAgICAgICA8cGMgZ3JvdXAgb2Ygc2l6ZSAzIHdpdGgg MSBnZW5lcmF0b3I+CisgICAgICAgICBzYWdlOiBGb29Hcm91cCgpLmdlbnMoKQorICAgICAgICAg KGYxLCkKKyAgICAgIiIiCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvZ3JvdXBzL21hdHJpeF9ncHMv ZmluaXRlbHlfZ2VuZXJhdGVkLnB5IGIvc3JjL3NhZ2UvZ3JvdXBzL21hdHJpeF9ncHMvZmluaXRl bHlfZ2VuZXJhdGVkLnB5CitpbmRleCBhNmQzZGMwMjUxMy4uNjM5NTZhZDVmMTAgMTAwNjQ0Cist LS0gYS9zcmMvc2FnZS9ncm91cHMvbWF0cml4X2dwcy9maW5pdGVseV9nZW5lcmF0ZWQucHkKKysr KyBiL3NyYy9zYWdlL2dyb3Vwcy9tYXRyaXhfZ3BzL2Zpbml0ZWx5X2dlbmVyYXRlZC5weQorQEAg LTU2Myw5ICs1NjMsNiBAQCBkZWYgYXNfcGVybXV0YXRpb25fZ3JvdXAoc2VsZiwgYWxnb3JpdGht PU5vbmUsIHNlZWQ9Tm9uZSk6CisgICAgICAgICAgICAgMjE0OTkwODQ4MDAKKyAgICAgICAgICAg ICBzYWdlOiBQID0gRy5hc19wZXJtdXRhdGlvbl9ncm91cCgpCisgICAgICAgICAgICAgc2FnZTog UHNtYWxsZXIgPSBHLmFzX3Blcm11dGF0aW9uX2dyb3VwKGFsZ29yaXRobT0ic21hbGxlciIsIHNl ZWQ9NikKKy0gICAgICAgICAgICBzYWdlOiBQID09IFBzbWFsbGVyICAjIHNlZSB0aGUgbm90ZSBi ZWxvdworLSAgICAgICAgICAgIFRydWUKKy0gICAgICAgICAgICBzYWdlOiBQc21hbGxlciA9IEcu YXNfcGVybXV0YXRpb25fZ3JvdXAoYWxnb3JpdGhtPSJzbWFsbGVyIikKKyAgICAgICAgICAgICBz YWdlOiBQID09IFBzbWFsbGVyCisgICAgICAgICAgICAgRmFsc2UKKyAgICAgICAgICAgICBzYWdl OiBQLmNhcmRpbmFsaXR5KCkKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9ncm91cHMvcGVybV9ncHMv cGFydG5fcmVmMi9yZWZpbmVtZW50X2dlbmVyaWMucHl4IGIvc3JjL3NhZ2UvZ3JvdXBzL3Blcm1f Z3BzL3BhcnRuX3JlZjIvcmVmaW5lbWVudF9nZW5lcmljLnB5eAoraW5kZXggZjJjY2NhMDQyYWMu LjQ3ZDY4NjIzMzNjIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvZ3JvdXBzL3Blcm1fZ3BzL3BhcnRu X3JlZjIvcmVmaW5lbWVudF9nZW5lcmljLnB5eAorKysrIGIvc3JjL3NhZ2UvZ3JvdXBzL3Blcm1f Z3BzL3BhcnRuX3JlZjIvcmVmaW5lbWVudF9nZW5lcmljLnB5eAorQEAgLTQyNyw3ICs0MjcsNyBA QCBjZGVmIGNsYXNzIExhYmVsbGVkQnJhbmNoaW5nOgorICAgICAgICAgICAgIHNhZ2U6IGZyb20g c2FnZS5ncm91cHMucGVybV9ncHMucGFydG5fcmVmMi5yZWZpbmVtZW50X2dlbmVyaWMgaW1wb3J0 IExhYmVsbGVkQnJhbmNoaW5nCisgICAgICAgICAgICAgc2FnZTogTCA9IExhYmVsbGVkQnJhbmNo aW5nKDMpCisgICAgICAgICAgICAgc2FnZTogTC5zbWFsbF9nZW5lcmF0aW5nX3NldCgpCistICAg ICAgICAgICAgW10KKysgICAgICAgICAgICBbKCldCisgICAgICAgICAgICAgc2FnZTogTC5hZGRf Z2VuKGxpYmdhcC5ldmFsKCcoMSwyLDMpJykpCisgICAgICAgICAgICAgc2FnZTogTC5zbWFsbF9n ZW5lcmF0aW5nX3NldCgpCisgICAgICAgICAgICAgWygxLDIsMyldCitkaWZmIC0tZ2l0IGEvc3Jj L3NhZ2UvZ3JvdXBzL3Blcm1fZ3BzL3Blcm1ncm91cC5weSBiL3NyYy9zYWdlL2dyb3Vwcy9wZXJt X2dwcy9wZXJtZ3JvdXAucHkKK2luZGV4IGViZGY3YzRjNmViLi5mYjE0MDA4YzhlMCAxMDA2NDQK Ky0tLSBhL3NyYy9zYWdlL2dyb3Vwcy9wZXJtX2dwcy9wZXJtZ3JvdXAucHkKKysrKyBiL3NyYy9z YWdlL2dyb3Vwcy9wZXJtX2dwcy9wZXJtZ3JvdXAucHkKK0BAIC05MjYsNyArOTI2LDcgQEAgZGVm IF9jb2VyY2VfbWFwX2Zyb21fKHNlbGYsIEcpOgorICAgICAgICAgICAgc2FnZTogZiA9IFBHLl9j b2VyY2VfbWFwX2Zyb21fKE1HKQorICAgICAgICAgICAgc2FnZTogbWcgPSBNRy5hbl9lbGVtZW50 KCkKKyAgICAgICAgICAgIHNhZ2U6IHAgPSBmKG1nKTsgcAorLSAgICAgICAgICAgKDIsMzMsMzIs MjMsMzEsNTUpKDMsNDksMzgsNDQsNDAsMjgpKDQsMTcsNTksNjIsNTgsNDYpKDUsMjEsNDcsMjAs NDMsOCkoNiw1Myw1MCkoNywzNywxMiw1NywxNCwyOSkoOSw0MSw1NiwzNCw2NCwxMCkoMTEsMjUs MTkpKDEzLDYxLDI2LDUxLDIyLDE1KSgxNiw0NSwzNikoMTgsMjcsMzUsNDgsNTIsNTQpKDI0LDYz LDQyKSgzMCwzOSw2MCkKKysgICAgICAgICAgICgxLDIsNiwxOSwzNSwzMykoMyw5LDI2LDE0LDMx LDIzKSg0LDEzLDUpKDcsMjIsMTcpKDgsMjQsMTIpKDEwLDE2LDMyLDI3LDIwLDI4KSgxMSwzMCwx OCkoMTUsMjUsMzYsMzQsMjksMjEpCisgICAgICAgICAgICBzYWdlOiBQRyhwLl9nYXBfKCkpID09 IHAKKyAgICAgICAgICAgIFRydWUKKyAKK0BAIC05NzIsMTIgKzk3MiwxMiBAQCBkZWYgX2NvZXJj ZV9tYXBfZnJvbV8oc2VsZiwgRyk6CisgICAgICAgICAgICAgc2FnZTogUCA9IEcuYXNfcGVybXV0 YXRpb25fZ3JvdXAoYWxnb3JpdGhtPSdzbWFsbGVyJywgc2VlZD01KQorICAgICAgICAgICAgIHNh Z2U6IFAxID0gRy5hc19wZXJtdXRhdGlvbl9ncm91cCgpCisgICAgICAgICAgICAgc2FnZTogUCA9 PSBQMQorLSAgICAgICAgICAgIEZhbHNlCisrICAgICAgICAgICAgVHJ1ZQorICAgICAgICAgICAg IHNhZ2U6IGcxLCBnMiwgZzMgPSBHLmdlbnMoKQorICAgICAgICAgICAgIHNhZ2U6IFAoZzEqZzIp CistICAgICAgICAgICAgKDEsMyw3LDEyKSgyLDQsOCwxMCkoNSwxMSkoNiw5KQorKyAgICAgICAg ICAgICgxLDQsMTMsMTEpKDIsNSwxNCwxOCkoMywxNSw4LDE2KSg2LDcpKDksMjAsMTksMTIpKDEw LDE3KQorICAgICAgICAgICAgIHNhZ2U6IFAxKGcxKmcyKQorLSAgICAgICAgICAgICgyLDI5LDI1 LDY4KSgzLDU3LDEzLDU0KSg0LDExLDcyLDM3KSg1LDM5LDYwLDIzKSg2LDY0LDc1LDYzKSg3LDIx LDUwLDczKSg4LDQ2LDM4LDMyKSg5LDc0LDM1LDE4KSgxMCw0NCw0OSw0OCkoMTIsMTYsMzQsNzEp KDE0LDc5LDI3LDQwKSgxNSwyNikoMTcsNjIsNTksNzYpKDE5LDc4LDcwLDY1KSgyMCwyMiw1OCw1 MSkoMjQsMzMsMzYsNDMpKDI4LDgxLDgwLDUyKSgzMCw1Myw1Niw2OSkoMzEsNjEpKDQxLDQyLDY3 LDU1KSg0NSw3NykoNDcsNjYpCisrICAgICAgICAgICAgKDEsNCwxMywxMSkoMiw1LDE0LDE4KSgz LDE1LDgsMTYpKDYsNykoOSwyMCwxOSwxMikoMTAsMTcpCisgCisgICAgICAgICBBbm90aGVyIGNo ZWNrIGZvciA6dHJhYzpgNTU4M2A6OgorIAorQEAgLTEzMDIsNyArMTMwMiw3IEBAIGRlZiBnZW5z X3NtYWxsKHNlbGYpOgorICAgICAgICAgICAgIHNhZ2U6IEcuZ2Vuc19zbWFsbCgpICMgcmFuZG9t CisgICAgICAgICAgICAgWygnYicsJ2MnKSwgKCdhJywnYycsJ2InKV0gIyMgKG9uIDY0LWJpdCBM aW51eCkKKyAgICAgICAgICAgICBbKCdhJywnYicpLCAoJ2EnLCdjJywnYicpXSAjIyAob24gU29s YXJpcykKKy0gICAgICAgICAgICBzYWdlOiBsZW4oRy5nZW5zX3NtYWxsKCkpID09IDIKKysgICAg ICAgICAgICBzYWdlOiBsZW4oRy5nZW5zX3NtYWxsKCkpID09IDIgIyByYW5kb20KKyAgICAgICAg ICAgICBUcnVlCisgICAgICAgICAiIiIKKyAgICAgICAgIGdlbnMgPSBzZWxmLl9saWJnYXBfKCku U21hbGxHZW5lcmF0aW5nU2V0KCkKK0BAIC00MzcwLDE3ICs0MzcwLDIzIEBAIGRlZiBpc190cmFu c2l0aXZlKHNlbGYsIGRvbWFpbj1Ob25lKToKKyAKKyAgICAgICAgIDo6CisgCistICAgICAgICAg ICAgc2FnZTogRyA9IFBlcm11dGF0aW9uR3JvdXAoW1soMSwyLDMsNCw1KV0sWygxLDIpXV0pICNT XzUgb24gWzEuLjVdCistICAgICAgICAgICAgc2FnZTogRy5pc190cmFuc2l0aXZlKFsxLDQsNV0p CisrICAgICAgICAgICAgc2FnZTogRyA9IFBlcm11dGF0aW9uR3JvdXAoW1soMSwyLDMsNCw1KV0s WygxLDIpXSxbKDYsNyldXSkKKysgICAgICAgICAgICBzYWdlOiBHLmlzX3RyYW5zaXRpdmUoWzEs MiwzLDQsNV0pCisgICAgICAgICAgICAgVHJ1ZQorLSAgICAgICAgICAgIHNhZ2U6IEcuaXNfdHJh bnNpdGl2ZShbMi4uNl0pCisrICAgICAgICAgICAgc2FnZTogRy5pc190cmFuc2l0aXZlKFsxLi43 XSkKKyAgICAgICAgICAgICBGYWxzZQorICAgICAgICAgICAgIHNhZ2U6IEcuaXNfdHJhbnNpdGl2 ZShHLm5vbl9maXhlZF9wb2ludHMoKSkKKy0gICAgICAgICAgICBUcnVlCisrICAgICAgICAgICAg RmFsc2UKKyAgICAgICAgICAgICBzYWdlOiBIID0gUGVybXV0YXRpb25Hcm91cChbWygxLDIsMyld LFsoNCw1LDYpXV0pCisgICAgICAgICAgICAgc2FnZTogSC5pc190cmFuc2l0aXZlKEgubm9uX2Zp eGVkX3BvaW50cygpKQorICAgICAgICAgICAgIEZhbHNlCisgCisrICAgICAgICBJZiBgR2AgZG9l cyBub3QgYWN0IG9uIHRoZSBkb21haW4sIGl0IGFsd2F5cyByZXR1cm5zIGBgRmFsc2VgYDo6Cisr CisrICAgICAgICAgICAgc2FnZTogRyA9IFBlcm11dGF0aW9uR3JvdXAoW1soMSwyLDMsNCw1KV0s WygxLDIpXV0pICNTXzUgb24gWzEuLjVdCisrICAgICAgICAgICAgc2FnZTogRy5pc190cmFuc2l0 aXZlKFsxLDQsNV0pCisrICAgICAgICAgICAgRmFsc2UKKysKKyAgICAgICAgIE5vdGUgdGhhdCB0 aGlzIGRpZmZlcnMgZnJvbSB0aGUgZGVmaW5pdGlvbiBpbiBHQVAsIHdoZXJlCisgICAgICAgICBg YElzVHJhbnNpdGl2ZWBgIHJldHVybnMgd2hldGhlciB0aGUgZ3JvdXAgaXMgdHJhbnNpdGl2ZSBv biB0aGUKKyAgICAgICAgIHNldCBvZiBwb2ludHMgbW92ZWQgYnkgdGhlIGdyb3VwLgorQEAgLTQ0 MzYsMTIgKzQ0NDIsMTYgQEAgZGVmIGlzX3ByaW1pdGl2ZShzZWxmLCBkb21haW49Tm9uZSk6Cisg ICAgICAgICAgICAgc2FnZTogRyA9IFBlcm11dGF0aW9uR3JvdXAoW1soMSwyLDMsNCldLFsoMiw0 KV1dKQorICAgICAgICAgICAgIHNhZ2U6IEcuaXNfcHJpbWl0aXZlKFsxLi40XSkKKyAgICAgICAg ICAgICBGYWxzZQorLSAgICAgICAgICAgIHNhZ2U6IEcuaXNfcHJpbWl0aXZlKFsxLDIsM10pCist ICAgICAgICAgICAgVHJ1ZQorICAgICAgICAgICAgIHNhZ2U6IEcgPSBQZXJtdXRhdGlvbkdyb3Vw KFtbKDMsNCw1LDYpXSxbKDMsNCldXSkgI1NfNCBvbiBbMy4uNl0KKyAgICAgICAgICAgICBzYWdl OiBHLmlzX3ByaW1pdGl2ZShHLm5vbl9maXhlZF9wb2ludHMoKSkKKyAgICAgICAgICAgICBUcnVl CisgCisrICAgICAgICBJZiBgR2AgZG9lcyBub3QgYWN0IG9uIHRoZSBkb21haW4sIGl0IGFsd2F5 cyByZXR1cm5zIGBgRmFsc2VgYDo6CisrCisrICAgICAgICAgICAgc2FnZTogRyA9IFBlcm11dGF0 aW9uR3JvdXAoW1soMSwyLDMsNCldLFsoMiw0KV1dKQorKyAgICAgICAgICAgIHNhZ2U6IEcuaXNf cHJpbWl0aXZlKFsxLDIsM10pCisrICAgICAgICAgICAgRmFsc2UKKysKKyAgICAgICAgICIiIgor ICAgICAgICAgI0lmIHRoZSBkb21haW4gaXMgbm90IGEgc3Vic2V0IG9mIHNlbGYuZG9tYWluKCks IHRoZW4gdGhlCisgICAgICAgICAjYWN0aW9uIGlzbid0IHByaW1pdGl2ZS4KK2RpZmYgLS1naXQg YS9zcmMvc2FnZS9pbnRlcmZhY2VzL2dhcC5weSBiL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwLnB5 CitpbmRleCA3YWUxNzkyZTlkZS4uZWNhYTlmZDIzNDEgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9p bnRlcmZhY2VzL2dhcC5weQorKysrIGIvc3JjL3NhZ2UvaW50ZXJmYWNlcy9nYXAucHkKK0BAIC0x NTEyLDYgKzE1MTIsOCBAQCBkZWYgZ2FwX3Jlc2V0X3dvcmtzcGFjZShtYXhfd29ya3NwYWNlX3Np emU9Tm9uZSwgdmVyYm9zZT1GYWxzZSk6CisgICAgICIiIgorICAgICAjIENyZWF0ZSBuZXcgd29y a3NwYWNlIHdpdGggZmlsZW5hbWUgV09SS1NQQUNFCisgICAgIGcgPSBHYXAodXNlX3dvcmtzcGFj ZV9jYWNoZT1GYWxzZSwgbWF4X3dvcmtzcGFjZV9zaXplPU5vbmUpCisrICAgIGcuZXZhbCgnQ29s b3JQcm9tcHQoZmFsc2UpJykKKysgICAgZy5ldmFsKCdTZXRVc2VyUHJlZmVyZW5jZSgiVXNlQ29s b3JQcm9tcHQiLCBmYWxzZSknKQorICAgICBnLmV2YWwoJ1NldFVzZXJQcmVmZXJlbmNlKCJIaXN0 b3J5TWF4TGluZXMiLCAzMCknKQorICAgICBmcm9tIHNhZ2UudGVzdHMuZ2FwX3BhY2thZ2VzIGlt cG9ydCBhbGxfaW5zdGFsbGVkX3BhY2thZ2VzCisgICAgIGZvciBwa2cgaW4gYWxsX2luc3RhbGxl ZF9wYWNrYWdlcyhnYXA9Zyk6CitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvaW50ZXJmYWNlcy9nYXBf d29ya3NwYWNlLnB5IGIvc3JjL3NhZ2UvaW50ZXJmYWNlcy9nYXBfd29ya3NwYWNlLnB5CitpbmRl eCAzM2E4N2RkNTA3Ni4uMDNiNDBiZTY4NTYgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9pbnRlcmZh Y2VzL2dhcF93b3Jrc3BhY2UucHkKKysrKyBiL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwX3dvcmtz cGFjZS5weQorQEAgLTE2LDcgKzE2LDggQEAKKyBpbXBvcnQgb3MKKyBpbXBvcnQgdGltZQorIGlt cG9ydCBoYXNobGliCistZnJvbSBzYWdlLmVudiBpbXBvcnQgRE9UX1NBR0UsIEdBUF9TTworK2lt cG9ydCBzdWJwcm9jZXNzCisrZnJvbSBzYWdlLmVudiBpbXBvcnQgRE9UX1NBR0UsIEhPU1ROQU1F LCBHQVBfTElCX0RJUiwgR0FQX1NIQVJFX0RJUgorIAorIAorIGRlZiBnYXBfd29ya3NwYWNlX2Zp bGUoc3lzdGVtPSJnYXAiLCBuYW1lPSJ3b3Jrc3BhY2UiLCBkaXI9Tm9uZSk6CitAQCAtNTksMTEg KzYwLDEzIEBAIGRlZiBnYXBfd29ya3NwYWNlX2ZpbGUoc3lzdGVtPSJnYXAiLCBuYW1lPSJ3b3Jr c3BhY2UiLCBkaXI9Tm9uZSk6CisgICAgIGlmIGRpciBpcyBOb25lOgorICAgICAgICAgZGlyID0g b3MucGF0aC5qb2luKERPVF9TQUdFLCAnZ2FwJykKKyAKKy0gICAgaWYgR0FQX1NPOgorLSAgICAg ICAgaCA9IGhhc2hsaWIuc2hhMShHQVBfU08uZW5jb2RlKCd1dGYtOCcpKS5oZXhkaWdlc3QoKQor LSAgICBlbHNlOgorLSAgICAgICAgaCA9ICd1bmtub3duJworLSAgICByZXR1cm4gb3MucGF0aC5q b2luKGRpciwgJyVzLSVzLSVzJyAlIChzeXN0ZW0sIG5hbWUsIGgpKQorKyAgICBkYXRhID0gZid7 R0FQX0xJQl9ESVJ9OntHQVBfU0hBUkVfRElSfScKKysgICAgZm9yIHBhdGggaW4gR0FQX0xJQl9E SVIsIEdBUF9TSEFSRV9ESVI6CisrICAgICAgICBzeXNpbmZvID0gb3MucGF0aC5qb2luKHBhdGgs ICJzeXNpbmZvLmdhcCIpCisrICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhzeXNpbmZvKToKKysg ICAgICAgICAgICBkYXRhICs9IHN1YnByb2Nlc3MuZ2V0b3V0cHV0KGYnLiAie3N5c2luZm99IiAm JiBlY2hvICI6JEdBUF9WRVJTSU9OOiRHQVBhcmNoIicpCisrICAgIGggPSBoYXNobGliLnNoYTEo ZGF0YS5lbmNvZGUoJ3V0Zi04JykpLmhleGRpZ2VzdCgpCisrICAgIHJldHVybiBvcy5wYXRoLmpv aW4oZGlyLCBmJ3tzeXN0ZW19LXtuYW1lfS17SE9TVE5BTUV9LXtofScpCisgCisgCisgZGVmIHBy ZXBhcmVfd29ya3NwYWNlX2RpcihkaXI9Tm9uZSk6CitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbGli cy9nYXAvZWxlbWVudC5weXggYi9zcmMvc2FnZS9saWJzL2dhcC9lbGVtZW50LnB5eAoraW5kZXgg YzU1NWVhMDMzM2MuLmUzZGIzOTM0YmFmIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvbGlicy9nYXAv ZWxlbWVudC5weXgKKysrKyBiL3NyYy9zYWdlL2xpYnMvZ2FwL2VsZW1lbnQucHl4CitAQCAtMTMw LDYgKzEzMCw3IEBAIGNkZWYgY2hhciAqY2FwdHVyZV9zdGRvdXQoT2JqIGZ1bmMsIE9iaiBvYmop OgorICAgICAiIiIKKyAgICAgY2RlZiBPYmogcywgc3RyZWFtLCBvdXRwdXRfdGV4dF9zdHJpbmcK KyAgICAgY2RlZiBVSW50IHJlcworKyAgICBjZGVmIFR5cE91dHB1dEZpbGUgb3V0cHV0CisgICAg ICMgVGhlIG9ubHkgd2F5IHRvIGdldCBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmpl Y3QgdGhhdCBpcyB0cnVseQorICAgICAjIGNvbnNpc3RlbnQgd2l0aCBob3cgaXQgd291bGQgYmUg cmVwcmVzZW50ZWQgYXQgdGhlIEdBUCBSRVBMIGlzIHRvIGNhbGwKKyAgICAgIyBWaWV3T2JqIG9u IGl0LiAgVW5mb3J0dW5hdGVseSwgVmlld09iaiAqcHJpbnRzKiB0byB0aGUgb3V0cHV0IHN0cmVh bSwKK0BAIC0xNDUsMTIgKzE0NiwxMiBAQCBjZGVmIGNoYXIgKmNhcHR1cmVfc3Rkb3V0KE9iaiBm dW5jLCBPYmogb2JqKToKKyAgICAgICAgIG91dHB1dF90ZXh0X3N0cmluZyA9IEdBUF9WYWx1ZUds b2JhbFZhcmlhYmxlKCJPdXRwdXRUZXh0U3RyaW5nIikKKyAgICAgICAgIHN0cmVhbSA9IENBTExf MkFSR1Mob3V0cHV0X3RleHRfc3RyaW5nLCBzLCBHQVBfVHJ1ZSkKKyAKKy0gICAgICAgIGlmIG5v dCBPcGVuT3V0cHV0U3RyZWFtKHN0cmVhbSk6CisrICAgICAgICBpZiBub3QgT3Blbk91dHB1dFN0 cmVhbSgmb3V0cHV0LCBzdHJlYW0pOgorICAgICAgICAgICAgIHJhaXNlIEdBUEVycm9yKCJmYWls ZWQgdG8gb3BlbiBvdXRwdXQgY2FwdHVyZSBzdHJlYW0gZm9yICIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAicmVwcmVzZW50aW5nIEdBUCBvYmplY3QiKQorIAorICAgICAgICAgQ0FMTF8x QVJHUyhmdW5jLCBvYmopCistICAgICAgICBDbG9zZU91dHB1dCgpCisrICAgICAgICBDbG9zZU91 dHB1dCgmb3V0cHV0KQorICAgICAgICAgcmV0dXJuIENTVFJfU1RSSU5HKHMpCisgICAgIGZpbmFs bHk6CisgICAgICAgICBHQVBfTGVhdmUoKQorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2xpYnMvZ2Fw L2dhcF9pbmNsdWRlcy5weGQgYi9zcmMvc2FnZS9saWJzL2dhcC9nYXBfaW5jbHVkZXMucHhkCitp bmRleCA2ZDIyZTMyNTQwYi4uNjExMWQxOGE1YzcgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS9saWJz L2dhcC9nYXBfaW5jbHVkZXMucHhkCisrKysgYi9zcmMvc2FnZS9saWJzL2dhcC9nYXBfaW5jbHVk ZXMucHhkCitAQCAtNzYsOCArNzYsMTAgQEAgY2RlZiBleHRlcm4gZnJvbSAiZ2FwL2ludG9iai5o IiBub2dpbDoKKyAKKyAKKyBjZGVmIGV4dGVybiBmcm9tICJnYXAvaW8uaCIgbm9naWw6CistICAg IFVJbnQgT3Blbk91dHB1dFN0cmVhbShPYmogc3RyZWFtKQorLSAgICBVSW50IENsb3NlT3V0cHV0 KCkKKysgICAgY3R5cGVkZWYgc3RydWN0IFR5cE91dHB1dEZpbGU6CisrICAgICAgICBwYXNzCisr ICAgIFVJbnQgT3Blbk91dHB1dFN0cmVhbShUeXBPdXRwdXRGaWxlKiBvdXRwdXQsIE9iaiBzdHJl YW0pCisrICAgIFVJbnQgQ2xvc2VPdXRwdXQoVHlwT3V0cHV0RmlsZSogb3V0cHV0KQorIAorIAor IGNkZWYgZXh0ZXJuIGZyb20gImdhcC9saWJnYXAtYXBpLmgiIG5vZ2lsOgorZGlmZiAtLWdpdCBh L3NyYy9zYWdlL2xpYnMvZ2FwL2xpYmdhcC5weXggYi9zcmMvc2FnZS9saWJzL2dhcC9saWJnYXAu cHl4CitpbmRleCBiMWE2NGU1NzkzOS4uNmEzNjYxM2FhOGMgMTAwNjQ0CistLS0gYS9zcmMvc2Fn ZS9saWJzL2dhcC9saWJnYXAucHl4CisrKysgYi9zcmMvc2FnZS9saWJzL2dhcC9saWJnYXAucHl4 CitAQCAtNjk1LDcgKzY5NSw3IEBAIGNsYXNzIEdhcChQYXJlbnQpOgorICAgICAgICAgICAgIHNh Z2U6IGxpYmdhcC5MaXN0CisgICAgICAgICAgICAgPEdhcCBmdW5jdGlvbiAiTGlzdCI+CisgICAg ICAgICAgICAgc2FnZTogbGliZ2FwLkdsb2JhbFJhbmRvbVNvdXJjZQorLSAgICAgICAgICAgIDxS YW5kb21Tb3VyY2UgaW4gSXNHbG9iYWxSYW5kb21Tb3VyY2U+CisrICAgICAgICAgICAgPFJhbmRv bVNvdXJjZSBpbiBJc0dBUFJhbmRvbVNvdXJjZT4KKyAgICAgICAgICIiIgorICAgICAgICAgaWYg bmFtZSBpbiBkaXIoc2VsZi5fX2NsYXNzX18pOgorICAgICAgICAgICAgIHJldHVybiBnZXRhdHRy KHNlbGYuX19jbGFzc19fLCBuYW1lKQorZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2xpYnMvZ2FwL3Nh dmVkX3dvcmtzcGFjZS5weSBiL3NyYy9zYWdlL2xpYnMvZ2FwL3NhdmVkX3dvcmtzcGFjZS5weQor aW5kZXggYWQ1YWRlYzM2ZDAuLjc2MzY3MDdmNTU3IDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvbGli cy9nYXAvc2F2ZWRfd29ya3NwYWNlLnB5CisrKysgYi9zcmMvc2FnZS9saWJzL2dhcC9zYXZlZF93 b3Jrc3BhY2UucHkKK0BAIC04LDcgKzgsNyBAQAorIAorIGltcG9ydCBvcworIGltcG9ydCBnbG9i CistZnJvbSBzYWdlLmVudiBpbXBvcnQgR0FQX1JPT1RfRElSCisrZnJvbSBzYWdlLmVudiBpbXBv cnQgR0FQX0xJQl9ESVIKKyBmcm9tIHNhZ2UuaW50ZXJmYWNlcy5nYXBfd29ya3NwYWNlIGltcG9y dCBnYXBfd29ya3NwYWNlX2ZpbGUKKyAKKyAKK0BAIC0zMSw3ICszMSw3IEBAIGRlZiB0aW1lc3Rh bXAoKToKKyAgICAgIiIiCisgICAgIGxpYmdhcF9kaXIgPSBvcy5wYXRoLmRpcm5hbWUoX19maWxl X18pCisgICAgIGxpYmdhcF9maWxlcyA9IGdsb2IuZ2xvYihvcy5wYXRoLmpvaW4obGliZ2FwX2Rp ciwgJyonKSkKKy0gICAgZ2FwX3BhY2thZ2VzID0gZ2xvYi5nbG9iKG9zLnBhdGguam9pbihHQVBf Uk9PVF9ESVIsICdwa2cnLCAnKicpKQorKyAgICBnYXBfcGFja2FnZXMgPSBnbG9iLmdsb2Iob3Mu cGF0aC5qb2luKEdBUF9MSUJfRElSLCAncGtnJywgJyonKSkKKyAgICAgZmlsZXMgPSBsaWJnYXBf ZmlsZXMgKyBnYXBfcGFja2FnZXMKKyAgICAgaWYgbGVuKGZpbGVzKSA9PSAwOgorICAgICAgICAg cHJpbnQoJ1VuYWJsZSB0byBmaW5kIExpYkdBUCBmaWxlcy4nKQorZGlmZiAtLWdpdCBhL3NyYy9z YWdlL2xpYnMvZ2FwL3V0aWwucHl4IGIvc3JjL3NhZ2UvbGlicy9nYXAvdXRpbC5weXgKK2luZGV4 IDM0NGFiODhjNDJhLi5lYWE2NTlkNjRjNyAxMDA2NDQKKy0tLSBhL3NyYy9zYWdlL2xpYnMvZ2Fw L3V0aWwucHl4CisrKysgYi9zcmMvc2FnZS9saWJzL2dhcC91dGlsLnB5eAorQEAgLTEzLDcgKzEz LDcgQEAgVXRpbGl0eSBmdW5jdGlvbnMgZm9yIEdBUAorICMqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgor IAorIGZyb20gbGliYy5zaWduYWwgY2ltcG9ydCBzaWduYWwsIFNJR0NITEQsIFNJR19ERkwKKy1m cm9tIHBvc2l4LmRsZmNuIGNpbXBvcnQgZGxvcGVuLCBkbGNsb3NlLCBSVExEX05PVywgUlRMRF9H TE9CQUwKKytmcm9tIHBvc2l4LmRsZmNuIGNpbXBvcnQgZGxvcGVuLCBkbGNsb3NlLCBkbGVycm9y LCBSVExEX0xBWlksIFJUTERfR0xPQkFMCisgCisgZnJvbSBjcHl0aG9uLmV4YyBjaW1wb3J0IFB5 RXJyX0ZldGNoLCBQeUVycl9SZXN0b3JlCisgZnJvbSBjcHl0aG9uLm9iamVjdCBjaW1wb3J0IFB5 X0xULCBQeV9MRSwgUHlfRVEsIFB5X05FLCBQeV9HVCwgUHlfR0UKK0BAIC0xNjQsMzMgKzE2NCw2 IEBAIGNkZWYgdm9pZCBnYXNtYW5fY2FsbGJhY2soKSB3aXRoIGdpbDoKKyAjIyMgSW5pdGlhbGl6 YXRpb24gb2YgR0FQICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIAorLWRlZiBnYXBfcm9vdCgpOgorLSAgICAi IiIKKy0gICAgRmluZCB0aGUgbG9jYXRpb24gb2YgdGhlIEdBUCByb290IGluc3RhbGwgd2hpY2gg aXMgc3RvcmVkIGluIHRoZSBnYXAKKy0gICAgc3RhcnR1cCBzY3JpcHQuCistCistICAgIEVYQU1Q TEVTOjoKKy0KKy0gICAgICAgIHNhZ2U6IGZyb20gc2FnZS5saWJzLmdhcC51dGlsIGltcG9ydCBn YXBfcm9vdAorLSAgICAgICAgc2FnZTogZ2FwX3Jvb3QoKSAgICMgcmFuZG9tIG91dHB1dAorLSAg ICAgICAgJy9ob21lL3ZicmF1bi9vcHQvc2FnZS01LjMucmMwL2xvY2FsL2dhcC9sYXRlc3QnCist ICAgICIiIgorLSAgICBpZiBvcy5wYXRoLmV4aXN0cyhzYWdlLmVudi5HQVBfUk9PVF9ESVIpOgor LSAgICAgICAgcmV0dXJuIHNhZ2UuZW52LkdBUF9ST09UX0RJUgorLQorLSAgICAjIEF0dGVtcHQg dG8gZmlndXJlIG91dCB0aGUgYXBwcm9wcmlhdGUgR0FQX1JPT1QgYnkgcmVhZGluZyB0aGUKKy0g ICAgIyBsb2NhbC9iaW4vZ2FwIHNoZWxsIHNjcmlwdDsgdGhpcyBpcyBhbiB1Z2x5IGhhY2sgdGhh dCBleGlzdHMgZm9yCistICAgICMgaGlzdG9yaWNhbCByZWFzb25zOyB0aGUgYmVzdCBhcHByb2Fj aCB0byBzZXR0aW5nIHdoZXJlIFNhZ2UgbG9va3MgZm9yCistICAgICMgdGhlIGFwcHJvcHJpYXRl IEdBUF9ST09UIGlzIHRvIHNldCB0aGUgR0FQX1JPT1RfRElSIHZhcmlhYmxlCistICAgIFNBR0Vf TE9DQUwgPSBzYWdlLmVudi5TQUdFX0xPQ0FMCistICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4o U0FHRV9MT0NBTCwgJ2JpbicsICdnYXAnKSkgYXMgZjoKKy0gICAgICAgIGdhcF9zaCA9IGYucmVh ZCgpLnNwbGl0bGluZXMoKQorLSAgICBnYXBkaXIgPSBuZXh0KHggZm9yIHggaW4gZ2FwX3NoIGlm IHguc3RyaXAoKS5zdGFydHN3aXRoKCdHQVBfUk9PVCcpKQorLSAgICBnYXBkaXIgPSBnYXBkaXIu c3BsaXQoJyInKVsxXQorLSAgICBnYXBkaXIgPSBnYXBkaXIucmVwbGFjZSgnJFNBR0VfTE9DQUwn LCBTQUdFX0xPQ0FMKQorLSAgICByZXR1cm4gZ2FwZGlyCistCistCisgIyBUbyBlbnN1cmUgdGhh dCB3ZSBjYWxsIGluaXRpYWxpemVfbGliZ2FwIG9ubHkgb25jZS4KKyBjZGVmIGJpbnQgX2dhcF9p c19pbml0aWFsaXplZCA9IEZhbHNlCisgCitAQCAtMjMyLDEyICsyMDUsMTIgQEAgY2RlZiBpbml0 aWFsaXplKCk6CisgICAgICMgdGhpcyBpc24ndCBwb3J0YWJsZQorIAorICAgICBjZGVmIHZvaWQq IGhhbmRsZQorLSAgICBsaWJnYXBuYW1lID0gc3RyX3RvX2J5dGVzKHNhZ2UuZW52LkdBUF9TTykK Ky0gICAgaGFuZGxlID0gZGxvcGVuKGxpYmdhcG5hbWUsIFJUTERfTk9XIHwgUlRMRF9HTE9CQUwp CisrICAgICMgcmVsb2FkIHRoZSBjdXJyZW50IG1vZHVsZSB0byBmb3JjZSByZWxvYWQgb2YgbGli Z2FwIChzZWUgIzMzNDQ2KQorKyAgICBsaWIgPSBzdHJfdG9fYnl0ZXMoX19sb2FkZXJfXy5wYXRo LCBGU19FTkNPRElORywgInN1cnJvZ2F0ZWVzY2FwZSIpCisrICAgIGhhbmRsZSA9IGRsb3Blbihs aWIsIFJUTERfR0xPQkFMfFJUTERfTEFaWSkKKyAgICAgaWYgaGFuZGxlIGlzIE5VTEw6CistICAg ICAgICByYWlzZSBSdW50aW1lRXJyb3IoCistICAgICAgICAgICAgICAgICJDb3VsZCBub3QgZGxv cGVuKCkgbGliZ2FwIGV2ZW4gdGhvdWdoIGl0IHNob3VsZCBhbHJlYWR5ICIKKy0gICAgICAgICAg ICAgICAgImJlIGxvYWRlZCEiKQorKyAgICAgICAgZXJyID0gZGxlcnJvcigpCisrICAgICAgICBy YWlzZSBSdW50aW1lRXJyb3IoZiJDb3VsZCBub3QgcmVsb2FkIGdhcCBsaWJyYXJ5IHdpdGggUlRM RF9HTE9CQUwgKHtlcnJ9KSIpCisgICAgIGRsY2xvc2UoaGFuZGxlKQorIAorICAgICAjIERlZmlu ZSBhcmd2IHZhcmlhYmxlLCB3aGljaCB3ZSB3aWxsIHBhc3MgaW4gdG8KK0BAIC0yNDUsNyArMjE4 LDcgQEAgY2RlZiBpbml0aWFsaXplKCk6CisgICAgIGNkZWYgY2hhciogYXJndlsxNl0KKyAgICAg YXJndlswXSA9ICJzYWdlIgorICAgICBhcmd2WzFdID0gIi1sIgorLSAgICBzID0gc3RyX3RvX2J5 dGVzKGdhcF9yb290KCksIEZTX0VOQ09ESU5HLCAic3Vycm9nYXRlZXNjYXBlIikKKysgICAgcyA9 IHN0cl90b19ieXRlcyhzYWdlLmVudi5HQVBfTElCX0RJUiArICI7IiArIHNhZ2UuZW52LkdBUF9T SEFSRV9ESVIsIEZTX0VOQ09ESU5HLCAic3Vycm9nYXRlZXNjYXBlIikKKyAgICAgYXJndlsyXSA9 IHMKKyAKKyAgICAgYXJndlszXSA9ICItbSIKK0BAIC0zNjIsMTUgKzMzNSw5IEBAIGNkZWYgT2Jq IGdhcF9ldmFsKHN0ciBnYXBfc3RyaW5nKSBleGNlcHQ/IE5VTEw6CisgICAgICAgICBHQVBFcnJv cjogRXJyb3IsIFZhcmlhYmxlOiAnQ29tcGxleCcgbXVzdCBoYXZlIGEgdmFsdWUKKyAgICAgICAg IFN5bnRheCBlcnJvcjogOyBleHBlY3RlZCBpbiBzdHJlYW06MQorICAgICAgICAgQ29tcGxleCBG aWVsZCB3aXRoIDUzIGJpdHMgb2YgcHJlY2lzaW9uOzsKKy0gICAgICAgICBeXl5eXl5eXl5eXl4K KysgICAgICAgICAgICAgICAgXl5eXl4KKyAgICAgICAgIEVycm9yLCBWYXJpYWJsZTogJ3dpdGgn IG11c3QgaGF2ZSBhIHZhbHVlCistICAgICAgICBTeW50YXggZXJyb3I6IDsgZXhwZWN0ZWQgaW4g c3RyZWFtOjEKKy0gICAgICAgIENvbXBsZXggRmllbGQgd2l0aCA1MyBiaXRzIG9mIHByZWNpc2lv bjs7CistICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5eXl4KKyAgICAgICAgIEVycm9yLCBWYXJp YWJsZTogJ2JpdHMnIG11c3QgaGF2ZSBhIHZhbHVlCistICAgICAgICBTeW50YXggZXJyb3I6IDsg ZXhwZWN0ZWQgaW4gc3RyZWFtOjEKKy0gICAgICAgIENvbXBsZXggRmllbGQgd2l0aCA1MyBiaXRz IG9mIHByZWNpc2lvbjs7CistICAgICAgICAgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgor ICAgICAgICAgRXJyb3IsIFZhcmlhYmxlOiAncHJlY2lzaW9uJyBtdXN0IGhhdmUgYSB2YWx1ZQor IAorICAgICBUZXN0IHRoYXQgb24gYSBzdWJzZXF1ZW50IGF0dGVtcHQgd2UgZ2V0IHRoZSBzYW1l IG1lc3NhZ2UgKG5vIGdhcmJhZ2Ugd2FzCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbGlicy9zaW5n dWxhci9zaW5ndWxhci5weXggYi9zcmMvc2FnZS9saWJzL3Npbmd1bGFyL3Npbmd1bGFyLnB5eAor aW5kZXggZDhlYTdiMDdmM2MuLjRiZWIxNzc0ZGY5IDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvbGli cy9zaW5ndWxhci9zaW5ndWxhci5weXgKKysrKyBiL3NyYy9zYWdlL2xpYnMvc2luZ3VsYXIvc2lu Z3VsYXIucHl4CitAQCAtMTcwNSwxNCArMTcwNSw3IEBAIGNkZWYgb2JqZWN0IHNpMnNhX2ludHZl YyhpbnR2ZWMgKnYpOgorIGNkZWYgZXh0ZXJuIGZyb20gKjogIyBoYWNrIHRvIGdldCBhdCBjeXRo b24gbWFjcm8KKyAgICAgaW50IHVubGlrZWx5KGludCkKKyAKKy1jZGVmIGV4dGVybiBmcm9tICJk bGZjbi5oIjoKKy0gICAgdm9pZCAqZGxvcGVuKGNoYXIgKiwgbG9uZykKKy0gICAgY2hhciAqZGxl cnJvcigpCistICAgIHZvaWQgZGxjbG9zZSh2b2lkICpoYW5kbGUpCistCistY2RlZiBleHRlcm4g ZnJvbSAiZGxmY24uaCI6CistICAgIGNkZWYgbG9uZyBSVExEX0xBWlkKKy0gICAgY2RlZiBsb25n IFJUTERfR0xPQkFMCisrZnJvbSBwb3NpeC5kbGZjbiBjaW1wb3J0IGRsb3BlbiwgZGxjbG9zZSwg ZGxlcnJvciwgUlRMRF9MQVpZLCBSVExEX0dMT0JBTAorIAorIGNkZWYgaW50IG92ZXJmbG93X2No ZWNrKHVuc2lnbmVkIGxvbmcgZSwgcmluZyAqX3JpbmcpIGV4Y2VwdCAtMToKKyAgICAgIiIiCitA QCAtMTc2Miw4ICsxNzU1LDYgQEAgY2RlZiBpbml0X2xpYnNpbmd1bGFyKCk6CisgCisgICAgIGNk ZWYgdm9pZCAqaGFuZGxlID0gTlVMTAorIAorLSAgICBmcm9tIHNhZ2UuZW52IGltcG9ydCBMSUJT SU5HVUxBUl9QQVRICistICAgIGxpYiA9IHN0cl90b19ieXRlcyhMSUJTSU5HVUxBUl9QQVRILCBG U19FTkNPRElORywgInN1cnJvZ2F0ZWVzY2FwZSIpCisgCisgICAgICMgVGhpcyBpcyBhIHdvcmth cm91bmQgZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9TaW5ndWxhci9TaW5ndWxhci9pc3N1ZXMvMTEx MworICAgICAjIGFuZCBjYW4gYmUgcmVtb3ZlZCBvbmNlIHRoYXQgZml4IG1ha2VzIGl0IGludG8g cmVsZWFzZSBvZiBTaW5ndWxhciB0aGF0CitAQCAtMTc4MCwxMCArMTc3MSwxMiBAQCBjZGVmIGlu aXRfbGlic2luZ3VsYXIoKToKKyAKKyAgICAgaW1wb3J0IHBsYXRmb3JtCisgICAgIGlmIG5vdCBw bGF0Zm9ybS5zeXN0ZW0oKS5zdGFydHN3aXRoKCJDWUdXSU4iKToKKysgICAgICAgICMgcmVsb2Fk IHRoZSBjdXJyZW50IG1vZHVsZSB0byBmb3JjZSByZWxvYWQgb2YgbGliU2luZ3VsYXIgKHNlZSAj MzM0NDYpCisrICAgICAgICBsaWIgPSBzdHJfdG9fYnl0ZXMoX19sb2FkZXJfXy5wYXRoLCBGU19F TkNPRElORywgInN1cnJvZ2F0ZWVzY2FwZSIpCisgICAgICAgICBoYW5kbGUgPSBkbG9wZW4obGli LCBSVExEX0dMT0JBTHxSVExEX0xBWlkpCisgICAgICAgICBpZiBub3QgaGFuZGxlOgorICAgICAg ICAgICAgIGVyciA9IGRsZXJyb3IoKQorLSAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKGYi Y2Fubm90IGxvYWQgU2luZ3VsYXIgbGlicmFyeSBmcm9tIHtMSUJTSU5HVUxBUl9QQVRIfSAoe2Vy cn0pIikKKysgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoZiJDb3VsZCBub3QgcmVsb2Fk IFNpbmd1bGFyIGxpYnJhcnkgd2l0aCBSVExEX0dMT0JBTCAoe2Vycn0pIikKKyAKKyAgICAgIyBs b2FkIFNJTkdVTEFSCisgICAgIHNpSW5pdChsaWIpCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvdGVz dHMvZ2FwX3BhY2thZ2VzLnB5IGIvc3JjL3NhZ2UvdGVzdHMvZ2FwX3BhY2thZ2VzLnB5CitpbmRl eCAyZTQ1MThjYTIyNi4uYzMwMmIxNjliOGEgMTAwNjQ0CistLS0gYS9zcmMvc2FnZS90ZXN0cy9n YXBfcGFja2FnZXMucHkKKysrKyBiL3NyYy9zYWdlL3Rlc3RzL2dhcF9wYWNrYWdlcy5weQorQEAg LTEwMyw3ICsxMDMsNyBAQCBkZWYgYWxsX2luc3RhbGxlZF9wYWNrYWdlcyhpZ25vcmVfZG90X2dh cD1GYWxzZSwgZ2FwPU5vbmUpOgorIAorICAgICAgICAgc2FnZTogZnJvbSBzYWdlLnRlc3RzLmdh cF9wYWNrYWdlcyBpbXBvcnQgYWxsX2luc3RhbGxlZF9wYWNrYWdlcworICAgICAgICAgc2FnZTog YWxsX2luc3RhbGxlZF9wYWNrYWdlcygpCistICAgICAgICAoLi4uJ0dBUERvYycuLi4pCisrICAg ICAgICAoLi4uJ2dhcGRvYycuLi4pCisgICAgICAgICBzYWdlOiBhbGxfaW5zdGFsbGVkX3BhY2th Z2VzKGlnbm9yZV9kb3RfZ2FwPVRydWUpID09IGFsbF9pbnN0YWxsZWRfcGFja2FnZXMoZ2FwPWdh cCwgaWdub3JlX2RvdF9nYXA9VHJ1ZSkKKyAgICAgICAgIFRydWUKKyAgICAgIiIiCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvZ2V0X3BhdGNoZXMgYi9zcmNwa2dzL3NhZ2Vt YXRoL3BhdGNoZXMvZ2V0X3BhdGNoZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw MDAwMDAwLi42Y2I3MTdmNzJkOGUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3NhZ2VtYXRo L3BhdGNoZXMvZ2V0X3BhdGNoZXMKQEAgLTAsMCArMSw0MCBAQAorIyEgL2Jpbi9zaAorCitVUkxf QkFTRV9QUj0iaHR0cHM6Ly9naXRodWIuY29tL3NhZ2VtYXRoL3NhZ2UvcHVsbC8iCitVUkxfQkFT RV9DT01QQVJFPSJodHRwczovL2dpdGh1Yi5jb20vc2FnZW1hdGgvc2FnZS9jb21wYXJlLzkuOC4u LiIKKworY2FzZSAiJDEiIGluCisJLW4pICBETz1lY2hvIDs7Citlc2FjCisKKyMgZ2V0X3ByIDxQ UiBudW1iZXI+IDxkZXNjcmlwdGlvbj4gW2V4dF0KK2dldF9wcigpIHsKKwlwcj0kMQorCWRlc2M9 JChlY2hvICIkMiIgfCBzZWQgLWUgJ3MvIC9fL2cnKQorCWV4dD0kezMtZGlmZn0KKwkkRE8gd2dl dCAiJFVSTF9CQVNFX1BSJHByLiRleHQiIC1PICIkcHItJGRlc2MucGF0Y2giCit9CisKK2dldF90 cmFjKCkgeworCXRpY2tldD0kMQorCWRlc2M9JChlY2hvICIkMiIgfCBzZWQgLWUgJ3MvIC9fL2cn KQorCWNvbW1pdD0kMworCSRETyB3Z2V0ICIkVVJMX0JBU0VfQ09NUEFSRSRjb21taXQuZGlmZiIg LU8gInRyYWMtJHRpY2tldC0kZGVzYy0kY29tbWl0LnBhdGNoIgorfQorCisjIHJ1biBmcm9tIHBh dGNoZXMgZGlyCitjZCAkKGRpcm5hbWUgIiQwIikKKworIyBtZXJnZWQgaW4gMTAuMC5iZXRhMAor Z2V0X3RyYWMgMzQ4NTEgInN1cHBvcnQgc2luZ3VsYXIgNC4zLjEucDMiIDVlNTczN2EwYworZ2V0 X3ByIDM1MDY4ICJmaXggdGVzdHMgZ2lhYyAxLjkuMC4zNSIgcGF0Y2gKKworIyBwb3NpdGl2ZSBy ZXZpZXcKK2dldF9wciAzNDk5NCAiZml4IHRlc3RzIG51bXB5IDEuMjQiCitnZXRfcHIgMzQ5OTcg ImZpeCBlZGdlIGNhc2Ugb2YgaW50ZWdlcl9jaGVjayIKK2dldF9wciAzNTA1OCAic2tpcCB1bnN0 YWJsZSB0ZXN0cyBrbHlhY2hrbyIKK2dldF9wciAzNTA5NCAic3VwcG9ydCBnYXAgNC4xMiIJCQkJ CSMgaW5jbHVkZXMgUFIgMzUwOTMKKworIyBuZWVkcyByZXZpZXcgCitnZXRfcHIgMzQ5OTUgInN1 cHBvcnQgdGFjaHlvbiAwLjk5LjIiCitnZXRfcHIgMzQ5ODAgImF2b2lkIGZhY3RvcmluZyBpbiBp c19wcmltZSIKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzMzYw LWF2b2lkX2ZhY3RvcmluZ19pbl9pc19wcmltZS02MzMwY2VlMWE2OTIyOWIyZjVkOGFjNGEwOWE3 M2Q4MTUyZjVlMTRkLnBhdGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzMzNjAt YXZvaWRfZmFjdG9yaW5nX2luX2lzX3ByaW1lLTYzMzBjZWUxYTY5MjI5YjJmNWQ4YWM0YTA5YTcz ZDgxNTJmNWUxNGQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwNTJlMzA2 ZTdhMS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMz MzYwLWF2b2lkX2ZhY3RvcmluZ19pbl9pc19wcmltZS02MzMwY2VlMWE2OTIyOWIyZjVkOGFjNGEw OWE3M2Q4MTUyZjVlMTRkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotRnJv bSA2MzMwY2VlMWE2OTIyOWIyZjVkOGFjNGEwOWE3M2Q4MTUyZjVlMTRkIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRv cm5hcmlhQGNtYXQuZWR1LnV5PgotRGF0ZTogTW9uLCAyOCBGZWIgMjAyMiAyMzoxNToxNiAtMDMw MAotU3ViamVjdDogdHJhYyAzMzM2MDogYXZvaWQgZmFjdG9yaW5nIGluIGlzX3ByaW1lKCkKLQot SW4gdGhlIGFkZGVkIFRFU1QsIHRoZSBpZGVhbCBub3JtIGlzIHByb2R1Y3Qgb2YgdHdvIHByaW1l cyBidXQgZmFjdG9yaW5nCi10aGlzIHByb2R1Y3QgdGFrZXMgYWJvdXQgaGFsZiBhbiBob3VyLCBz byBmYWN0b3JpbmcgdGhlIGlkZWFsIGlzIHNsb3cuCi0KLVRvIGZpeCB0aGUgaXNzdWUsIHdlIG9u bHkgZmFjdG9yIHRoZSBpZGVhbCBpZiB0aGUgbm9ybSBpcyBhIHByaW1lIHBvd2VyLgotLS0tCi0g c3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVhbC5weSB8IDIyICsr KysrKysrKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKQot Ci1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9p ZGVhbC5weSBiL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9udW1iZXJfZmllbGRfaWRlYWwu cHkKLWluZGV4IGY3ODVmMjIuLjEwZDFmODggMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9yaW5ncy9u dW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkX2lkZWFsLnB5Ci0rKysgYi9zcmMvc2FnZS9yaW5ncy9u dW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkX2lkZWFsLnB5Ci1AQCAtOTk1LDEwICs5OTUsMzIgQEAg Y2xhc3MgTnVtYmVyRmllbGRJZGVhbChJZGVhbF9nZW5lcmljKToKLSAgICAgICAgICAgICBGYWxz ZQotICAgICAgICAgICAgIHNhZ2U6IEsuaWRlYWwoMTcpLmlzX3ByaW1lKCkgICMgcmFtaWZpZWQK LSAgICAgICAgICAgICBGYWxzZQotKwotKyAgICAgICAgVEVTVFM6OgotKwotKyAgICAgICAgQ2hl Y2sgdGhhdCB3ZSBkbyBub3QgZmFjdG9yIHRoZSBub3JtIG9mIHRoZSBpZGVhbCwgdGhpcyB1c2Vk Ci0rICAgICAgICB0byB0YWtlIGhhbGYgYW4gaG91ciwgc2VlIDp0cmFjOmAzMzM2MGAKLSsKLSsg ICAgICAgICAgIHNhZ2U6IEsuPGEsYixjPiA9IE51bWJlckZpZWxkKFt4XjItMix4XjItMyx4XjIt NV0pCi0rICAgICAgICAgICBzYWdlOiB0ID0gKCgoLTI2MTE5NDAqYyArIDE5MjUyOTAvNzY1Mykq YiAtIDE1MzcxMzAvNzY1MypjCi0rICAgICAgICAgICAuLi4uOiAgICAgICArIDEwMTMwOTUwKSph ICsgKDEzNDMwMTQvNzY1MypjIC0gODM0OTc3MCkqYgotKyAgICAgICAgICAgLi4uLjogICAgICAg KyA2NDc3MDU4KmMgLSAyODAxNDQ5OTkwLzQwMDI1MTkpCi0rICAgICAgICAgICBzYWdlOiB0Lmlz X3ByaW1lKCkKLSsgICAgICAgICAgIEZhbHNlCi0rCi0gICAgICAgICAiIiIKLSAgICAgICAgIHRy eToKLSAgICAgICAgICAgICByZXR1cm4gc2VsZi5fcGFyaV9wcmltZSBpcyBub3QgTm9uZQotICAg ICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotKyAgICAgICAgICAgIEsgPSBzZWxmLm51bWJl cl9maWVsZCgpLnBhcmlfbmYoKQotKyAgICAgICAgICAgIEkgPSBzZWxmLnBhcmlfaG5mKCkKLSsg ICAgICAgICAgICAjIFRoaXMgd291bGQgYmUgYmV0dGVyLCBidXQgaXQgaXMgYnJva2VuIGluIHBh cmkgMi4xMy4zLgotKyAgICAgICAgICAgICMgICBzZWxmLl9wYXJpX3ByaW1lID0gSy5pZGVhbGlz bWF4aW1hbChJKSBvciBOb25lCi0rICAgICAgICAgICAgIyBJbnN0ZWFkIHdlIGZhY3RvciBJLCBi dXQgb25seSBpZiB0aGUgbm9ybSBpcyBhIHByaW1lIHBvd2VyCi0rICAgICAgICAgICAgbiA9IEsu aWRlYWxub3JtKEkpCi0rICAgICAgICAgICAgaWYgbi5kZW5vbWluYXRvcigpID4gMSBvciBub3Qg bi5pc3ByaW1lcG93ZXIoKToKLSsgICAgICAgICAgICAgICAgc2VsZi5fcGFyaV9wcmltZSA9IE5v bmUKLSsgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgICAgICAgRiA9IHNlbGYu ZmFjdG9yKCkgICMgZmFjdG9yaXphdGlvbiB3aXRoIGNhY2hpbmcKLSAgICAgICAgICAgICBpZiBs ZW4oRikgIT0gMSBvciBGWzBdWzFdICE9IDE6Ci0gICAgICAgICAgICAgICAgIHNlbGYuX3Bhcmlf cHJpbWUgPSBOb25lCi0tLSAKLWNnaXQgdjEuMC0xLWdkODhlCi0KZGlmZiAtLWdpdCBhL3NyY3Br Z3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzNDQ2LW1ha2VfR0FQX1NPX3VubmVjZXNzYXJ5LTMx ZTNmYzRlYzhiODY4N2JjY2QyMmQyZTMxNjFjODZjZjU1NTNlMDYucGF0Y2ggYi9zcmNwa2dzL3Nh Z2VtYXRoL3BhdGNoZXMvdHJhYy0zMzQ0Ni1tYWtlX0dBUF9TT191bm5lY2Vzc2FyeS0zMWUzZmM0 ZWM4Yjg2ODdiY2NkMjJkMmUzMTYxYzg2Y2Y1NTUzZTA2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCBmYjllMGY1YTgwNzEuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3Nh Z2VtYXRoL3BhdGNoZXMvdHJhYy0zMzQ0Ni1tYWtlX0dBUF9TT191bm5lY2Vzc2FyeS0zMWUzZmM0 ZWM4Yjg2ODdiY2NkMjJkMmUzMTYxYzg2Y2Y1NTUzZTA2LnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsNDI3ICswLDAgQEAKLUZyb20gOWZlZWMyODJkMDM5Y2EyNWJiZWZhNTA3MTBmODIxN2I3NzVj ZTExMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9Hb256YWxvPTIw VG9ybmFyPUMzPUFEYT89IDx0b3JuYXJpYUBjbWF0LmVkdS51eT4KLURhdGU6IFRodSwgMyBNYXIg MjAyMiAxNDo0NzowMCAtMDMwMAotU3ViamVjdDogZ2FwOiBkbyBub3QgZGlyZWN0bHkgZGxvcGVu KCkgdGhlIGdhcCBsaWJyYXJ5Ci0KLVRoaXMgbmVlZHMgdGhlIHNvbmFtZSAoYXMgaW4gc2FnZS5l bnYuR0FQX1NPKSB3aGljaCBoYXMgaXNzdWVzIGZvcgotc3lzdGVtIGdhcCBhcyBleHBsYWluZWQg aW4gIzMzNDQ2LgotCi1JbnN0ZWFkIHdlIGRsb3BlbigpIHRoZSBleHRlbnNpb24gbW9kdWxlIHNh Z2UubGlicy5nYXAudXRpbCB3aGljaCwKLWhhdmluZyBhIGxpbmsgdGltZSBkZXBlbmRlbmN5IHRv IGxpYmdhcCwgd2lsbCBpbmRpcmVjdGx5IGRsb3BlbigpIGl0LgotCi1Gb3IgdGhlIHJlY29yZDog YnkgdGhlIHRpbWUgd2UgcnVuIGRsb3BlbigpIHRoZSBsaWJnYXAgc2hvdWxkIGJlIGFscmVhZHkK LWxvYWRlZC4gVGhlIHB1cnBvc2Ugb2YgZG9pbmcgaXQgaXMgdG8gY2hhbmdlIG1vZGUgdG8gUlRM RF9HTE9CQUwgc28gdGhhdAotc3ltYm9scyBpbiBsaWJnYXAgYXJlIHBsYWNlZCBpbiB0aGUgZ2xv YmFsIHN5bWJvbCB0YWJsZS4gVGhpcyBpcwotcmVxdWlyZWQgdG8gY29tcGlsZWQgbG9hZCBnYXAg cGFja2FnZXMuCi0KLUFuIGVhc3kgdGVzdCB0aGF0IHRoaXMgaXMgd29ya2luZyBvayBpczoKLQot ICAgIHNhZ2U6IGxpYmdhcC5Mb2FkUGFja2FnZSgiaW8iKQotICAgIHRydWUKLQotVGhpcyByZXF1 aXJlcyBvcHRpb25hbCBzcGtnIGBnYXBfcGFja2FnZXNgIHRvIGJlIGluc3RhbGxlZC4KLS0tLQot IHNyYy9zYWdlL2xpYnMvZ2FwL3V0aWwucHl4IHwgMTIgKysrKysrLS0tLS0tCi0gMSBmaWxlIGNo YW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Ny Yy9zYWdlL2xpYnMvZ2FwL3V0aWwucHl4IGIvc3JjL3NhZ2UvbGlicy9nYXAvdXRpbC5weXgKLWlu ZGV4IDM0NGFiODguLmFmZjYwNGIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9saWJzL2dhcC91dGls LnB5eAotKysrIGIvc3JjL3NhZ2UvbGlicy9nYXAvdXRpbC5weXgKLUBAIC0xMyw3ICsxMyw3IEBA IFV0aWxpdHkgZnVuY3Rpb25zIGZvciBHQVAKLSAjKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAKLSBm cm9tIGxpYmMuc2lnbmFsIGNpbXBvcnQgc2lnbmFsLCBTSUdDSExELCBTSUdfREZMCi0tZnJvbSBw b3NpeC5kbGZjbiBjaW1wb3J0IGRsb3BlbiwgZGxjbG9zZSwgUlRMRF9OT1csIFJUTERfR0xPQkFM Ci0rZnJvbSBwb3NpeC5kbGZjbiBjaW1wb3J0IGRsb3BlbiwgZGxjbG9zZSwgZGxlcnJvciwgUlRM RF9MQVpZLCBSVExEX0dMT0JBTAotIAotIGZyb20gY3B5dGhvbi5leGMgY2ltcG9ydCBQeUVycl9G ZXRjaCwgUHlFcnJfUmVzdG9yZQotIGZyb20gY3B5dGhvbi5vYmplY3QgY2ltcG9ydCBQeV9MVCwg UHlfTEUsIFB5X0VRLCBQeV9ORSwgUHlfR1QsIFB5X0dFCi1AQCAtMjMyLDEyICsyMzIsMTIgQEAg Y2RlZiBpbml0aWFsaXplKCk6Ci0gICAgICMgdGhpcyBpc24ndCBwb3J0YWJsZQotIAotICAgICBj ZGVmIHZvaWQqIGhhbmRsZQotLSAgICBsaWJnYXBuYW1lID0gc3RyX3RvX2J5dGVzKHNhZ2UuZW52 LkdBUF9TTykKLS0gICAgaGFuZGxlID0gZGxvcGVuKGxpYmdhcG5hbWUsIFJUTERfTk9XIHwgUlRM RF9HTE9CQUwpCi0rICAgICMgcmVsb2FkIHRoZSBjdXJyZW50IG1vZHVsZSB0byBmb3JjZSByZWxv YWQgb2YgbGliZ2FwIChzZWUgIzMzNDQ2KQotKyAgICBsaWIgPSBzdHJfdG9fYnl0ZXMoX19sb2Fk ZXJfXy5wYXRoLCBGU19FTkNPRElORywgInN1cnJvZ2F0ZWVzY2FwZSIpCi0rICAgIGhhbmRsZSA9 IGRsb3BlbihsaWIsIFJUTERfR0xPQkFMfFJUTERfTEFaWSkKLSAgICAgaWYgaGFuZGxlIGlzIE5V TEw6Ci0tICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoCi0tICAgICAgICAgICAgICAgICJDb3Vs ZCBub3QgZGxvcGVuKCkgbGliZ2FwIGV2ZW4gdGhvdWdoIGl0IHNob3VsZCBhbHJlYWR5ICIKLS0g ICAgICAgICAgICAgICAgImJlIGxvYWRlZCEiKQotKyAgICAgICAgZXJyID0gZGxlcnJvcigpCi0r ICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoZiJDb3VsZCBub3QgcmVsb2FkIGdhcCBsaWJyYXJ5 IHdpdGggUlRMRF9HTE9CQUwgKHtlcnJ9KSIpCi0gICAgIGRsY2xvc2UoaGFuZGxlKQotIAotICAg ICAjIERlZmluZSBhcmd2IHZhcmlhYmxlLCB3aGljaCB3ZSB3aWxsIHBhc3MgaW4gdG8KLS0tIAot Y2dpdCB2MS4wLTEtZ2Q4OGUKLQotCi1Gcm9tIDcwNGE3OTUzYjk3YWI3MjZlMmFmNjEwNzI0NzI2 YWE1NjJiYzhiZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/R29u emFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+Ci1EYXRlOiBUaHUs IDMgTWFyIDIwMjIgMjM6MDA6MDcgLTAzMDAKLVN1YmplY3Q6IHNpbmd1bGFyOiBkbyBub3QgZGly ZWN0bHkgZGxvcGVuKCkgdGhlIHNpbmd1bGFyIGxpYnJhcnkKLQotU2FtZSBhcyBmb3IgZ2FwIGlu IHRoZSBwcmV2aW91cyBjb21taXQuIEluc3RlYWQgb2YgcmVxdWlyaW5nIHRoZSBzb25hbWUKLShh cyBpbiBzYWdlLmVudi5MSUJTSU5HVUxBUl9QQVRIKSB3ZSBkbG9wZW4oKSB0aGUgZXh0ZW5zaW9u IG1vZHVsZQotc2FnZS5saWJzLnNpbmd1bGFyLnNpbmd1bGFyIHdoaWNoIHdpbGwgaW5kaXJlY3Rs eSBkbG9wZW4oKSBsaWJTaW5ndWxhci4KLS0tLQotIHNyYy9zYWdlL2xpYnMvc2luZ3VsYXIvc2lu Z3VsYXIucHl4IHwgMTUgKysrKy0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0 aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL3Np bmd1bGFyL3Npbmd1bGFyLnB5eCBiL3NyYy9zYWdlL2xpYnMvc2luZ3VsYXIvc2luZ3VsYXIucHl4 Ci1pbmRleCBkOGVhN2IwLi40YmViMTc3IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvbGlicy9zaW5n dWxhci9zaW5ndWxhci5weXgKLSsrKyBiL3NyYy9zYWdlL2xpYnMvc2luZ3VsYXIvc2luZ3VsYXIu cHl4Ci1AQCAtMTcwNSwxNCArMTcwNSw3IEBAIGNkZWYgb2JqZWN0IHNpMnNhX2ludHZlYyhpbnR2 ZWMgKnYpOgotIGNkZWYgZXh0ZXJuIGZyb20gKjogIyBoYWNrIHRvIGdldCBhdCBjeXRob24gbWFj cm8KLSAgICAgaW50IHVubGlrZWx5KGludCkKLSAKLS1jZGVmIGV4dGVybiBmcm9tICJkbGZjbi5o IjoKLS0gICAgdm9pZCAqZGxvcGVuKGNoYXIgKiwgbG9uZykKLS0gICAgY2hhciAqZGxlcnJvcigp Ci0tICAgIHZvaWQgZGxjbG9zZSh2b2lkICpoYW5kbGUpCi0tCi0tY2RlZiBleHRlcm4gZnJvbSAi ZGxmY24uaCI6Ci0tICAgIGNkZWYgbG9uZyBSVExEX0xBWlkKLS0gICAgY2RlZiBsb25nIFJUTERf R0xPQkFMCi0rZnJvbSBwb3NpeC5kbGZjbiBjaW1wb3J0IGRsb3BlbiwgZGxjbG9zZSwgZGxlcnJv ciwgUlRMRF9MQVpZLCBSVExEX0dMT0JBTAotIAotIGNkZWYgaW50IG92ZXJmbG93X2NoZWNrKHVu c2lnbmVkIGxvbmcgZSwgcmluZyAqX3JpbmcpIGV4Y2VwdCAtMToKLSAgICAgIiIiCi1AQCAtMTc2 Miw4ICsxNzU1LDYgQEAgY2RlZiBpbml0X2xpYnNpbmd1bGFyKCk6Ci0gCi0gICAgIGNkZWYgdm9p ZCAqaGFuZGxlID0gTlVMTAotIAotLSAgICBmcm9tIHNhZ2UuZW52IGltcG9ydCBMSUJTSU5HVUxB Ul9QQVRICi0tICAgIGxpYiA9IHN0cl90b19ieXRlcyhMSUJTSU5HVUxBUl9QQVRILCBGU19FTkNP RElORywgInN1cnJvZ2F0ZWVzY2FwZSIpCi0gCi0gICAgICMgVGhpcyBpcyBhIHdvcmthcm91bmQg Zm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9TaW5ndWxhci9TaW5ndWxhci9pc3N1ZXMvMTExMwotICAg ICAjIGFuZCBjYW4gYmUgcmVtb3ZlZCBvbmNlIHRoYXQgZml4IG1ha2VzIGl0IGludG8gcmVsZWFz ZSBvZiBTaW5ndWxhciB0aGF0Ci1AQCAtMTc4MCwxMCArMTc3MSwxMiBAQCBjZGVmIGluaXRfbGli c2luZ3VsYXIoKToKLSAKLSAgICAgaW1wb3J0IHBsYXRmb3JtCi0gICAgIGlmIG5vdCBwbGF0Zm9y bS5zeXN0ZW0oKS5zdGFydHN3aXRoKCJDWUdXSU4iKToKLSsgICAgICAgICMgcmVsb2FkIHRoZSBj dXJyZW50IG1vZHVsZSB0byBmb3JjZSByZWxvYWQgb2YgbGliU2luZ3VsYXIgKHNlZSAjMzM0NDYp Ci0rICAgICAgICBsaWIgPSBzdHJfdG9fYnl0ZXMoX19sb2FkZXJfXy5wYXRoLCBGU19FTkNPRElO RywgInN1cnJvZ2F0ZWVzY2FwZSIpCi0gICAgICAgICBoYW5kbGUgPSBkbG9wZW4obGliLCBSVExE X0dMT0JBTHxSVExEX0xBWlkpCi0gICAgICAgICBpZiBub3QgaGFuZGxlOgotICAgICAgICAgICAg IGVyciA9IGRsZXJyb3IoKQotLSAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKGYiY2Fubm90 IGxvYWQgU2luZ3VsYXIgbGlicmFyeSBmcm9tIHtMSUJTSU5HVUxBUl9QQVRIfSAoe2Vycn0pIikK LSsgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoZiJDb3VsZCBub3QgcmVsb2FkIFNpbmd1 bGFyIGxpYnJhcnkgd2l0aCBSVExEX0dMT0JBTCAoe2Vycn0pIikKLSAKLSAgICAgIyBsb2FkIFNJ TkdVTEFSCi0gICAgIHNpSW5pdChsaWIpCi0tLSAKLWNnaXQgdjEuMC0xLWdkODhlCi0KLQotRnJv bSBkNzE0NWMxNGVmNThhY2ZiZTAwZDhmOTQxZDI4MDJlOTZhZDRiYTE1IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRv cm5hcmlhQGNtYXQuZWR1LnV5PgotRGF0ZTogRnJpLCA0IE1hciAyMDIyIDE2OjM3OjM0IC0wMzAw Ci1TdWJqZWN0OiBzaW5ndWxhcjogcmVtb3ZlIExJQlNJTkdVTEFSX1BBVEgsIG5vIGxvbmdlciBu ZWVkZWQKLQotLS0tCi0gYnVpbGQvcGtncy9zaW5ndWxhci9zcGtnLWNvbmZpZ3VyZS5tNCB8IDYz ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gcGtncy9zYWdlLWNvbmYvX3Nh Z2VfY29uZi9fY29uZi5weS5pbiB8ICAzIC0tCi0gc3JjL3NhZ2UvZW52LnB5ICAgICAgICAgICAg ICAgICAgICAgICB8ICA2IC0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA3 MSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2J1aWxkL3BrZ3Mvc2luZ3VsYXIvc3BrZy1j b25maWd1cmUubTQgYi9idWlsZC9wa2dzL3Npbmd1bGFyL3Nwa2ctY29uZmlndXJlLm00Ci1pbmRl eCBhZjJlYjg1Li42ZDNkM2RhIDEwMDY0NAotLS0tIGEvYnVpbGQvcGtncy9zaW5ndWxhci9zcGtn LWNvbmZpZ3VyZS5tNAotKysrIGIvYnVpbGQvcGtncy9zaW5ndWxhci9zcGtnLWNvbmZpZ3VyZS5t NAotQEAgLTksNTIgKzksNyBAQCBTQUdFX1NQS0dfQ09ORklHVVJFKFtzaW5ndWxhcl0sIFsKLSAg ICAgICAgQUNfTVNHX0NIRUNLSU5HKFt0aGF0IFNpbmd1bGFyJ3MgaGVscCBpcyB3b3JraW5nXSkK LSAgICAgICAgQVNfSUYoW3Rlc3QgeGBwcmludGYgInN5c3RlbShcIi0tYnJvd3NlclwiLCBcImJ1 aWx0aW5cIik7IFxuIGhlbHA7IiB8IFNpbmd1bGFyIDI+JjEgfCBncmVwICJlcnJvclwgb2NjdXJy ZWQiYCA9IHhdLCBbCi0gICAgICAgICBBQ19NU0dfUkVTVUxUKHllcykKLS0gICAgICAgIGRubCBX ZSBoYXZlIFNpbmd1bGFyLiBOb3cgZGV0ZXJtaW5lIHRoZSBzaGFyZWQgbGlicmFyeSBwYXRoIG9u Ci0tICAgICAgICBkbmwgcGxhdGZvcm1zIG9uIHdoaWNoIHNhZ2UubGlicy5zaW5ndWxhciBuZWVk cyB0byByZWxvYWQgdGhlIGxpYnJhcnkgd2l0aCBSVExEX0dMT0JBTC4KLS0gICAgICAgIEFTX0NB U0UoWyRob3N0X29zXSwKLS0gICAgICAgICAgW2N5Z3dpbipdLCBbZG5sIE5vdGhpbmcgdG8gZG8K LS0gICAgICAgICAgICAgICAgICAgICBdLAotLSAgICAgICAgICAgICAgICAgICAgIFtkbmwgVXNl IHBrZy1jb25maWcgdG8gZ2V0IHNpbmd1bGFyJ3MgbGliZGlyIHdoaWxlIHdlJ3JlIGF0IGl0LiBB cyBhCi0tICAgICAgICAgICAgICAgICAgICAgIGRubCBtb3JhbCBjb21wcm9taXNlIGZvciB1c2lu ZyBwa2ctY29uZmlnLCB0aGlzIHVsdGltYXRlbHkgYWxsb3dzIHVzCi0tICAgICAgICAgICAgICAg ICAgICAgIGRubCB0byBwYXNzIGFuIGFic29sdXRlIHBhdGggdG8gZGxvcGVuKCksIHdoaWNoIGlz IHRoZSBvbmx5IGFwcHJvYWNoCi0tICAgICAgICAgICAgICAgICAgICAgIGRubCB0aGF0IFBPU0lY IGd1YXJhbnRlZXMgd2lsbCB3b3JrLgotLSAgICAgICAgICAgICAgICAgICAgICBQS0dfQ0hFQ0tf VkFSKFtTSU5HVUxBUl9MSUJfRElSXSwgW1Npbmd1bGFyXSwgW2xpYmRpcl0pCi0tICAgICAgICAg ICAgICAgICAgICAgIGRubCBUaGUgYWNsX3NobGliZXh0IHZhcmlhYmxlIGlzIHNldCBpbiB0aGUg dG9wLWxldmVsIGNvbmZpZ3VyZS5hYy4KLS0gICAgICAgICAgICAgICAgICAgICAgQUNfTEFOR19Q VVNIKEMpCi0tICAgICAgICAgICAgICAgICAgICAgIE9SSUdfTElCUz0iJHtMSUJTfSIKLS0gICAg ICAgICAgICAgICAgICAgICAgTElCUz0iJHtMSUJTfSAtbGRsIgotLSAgICAgICAgICAgICAgICAg ICAgICBBQ19NU0dfQ0hFQ0tJTkcoW2lmIHdlIGNhbiBkbG9wZW4oJExJQlNJTkdVTEFSX1BBVEgp XSkKLS0gICAgICAgICAgICAgICAgICAgICAgTElCU0lOR1VMQVJfUEFUSD0iJHtTSU5HVUxBUl9M SUJfRElSfS9saWJTaW5ndWxhci4ke2FjbF9zaGxpYmV4dH0iCi0tCi0tICAgICAgICAgICAgICAg ICAgICAgIGRubCBpZiB3ZSBjYW4gZGxvcGVuKCkgaXQsIHN1YnN0aXR1dGUgdGhlIG5hbWUgZm9y IHNhZ2VfY29uZjsKLS0gICAgICAgICAgICAgICAgICAgICAgZG5sIG90aGVyd2lzZSwgZmFsbCBi YWNrIHRvIHVzaW5nIHRoZSBTUEtHLgotLSAgICAgICAgICAgICAgICAgICAgICBBQ19SVU5fSUZF TFNFKAotLSAgICAgICAgICAgICAgICAgICAgICAgIFtBQ19MQU5HX1BST0dSQU0oCi0tICAgICAg ICAgICAgICAgICAgICAgICAgICBbWyNpbmNsdWRlIDxkbGZjbi5oPl1dLAotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgW1t2b2lkKiBoID0gZGxvcGVuKCIke0xJQlNJTkdVTEFSX1BBVEh9Iiwg UlRMRF9MQVpZIHwgUlRMRF9HTE9CQUwpOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBp ZiAoaCA9PSAwKSB7IHJldHVybiAxOyB9IGVsc2UgeyByZXR1cm4gZGxjbG9zZShoKTsgfV1dCi0t ICAgICAgICAgICAgICAgICAgICAgICAgKV0sIFsKLS0gICAgICAgICAgICAgICAgICAgICAgICAg IEFDX01TR19SRVNVTFQoeWVzKQotLSAgICAgICAgICAgICAgICAgICAgICAgIF0sIFsKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgIGRubCB0cnkgRGViaWFuLXNwZWNpZmljIG5hbWUKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgIExJQlNJTkdVTEFSX1BBVEg9IiR7U0lOR1VMQVJfTElCX0RJ Un0vbGlic2luZ3VsYXItU2luZ3VsYXIuJHthY2xfc2hsaWJleHR9IgotLSAgICAgICAgICAgICAg ICAgICAgICAgICAgQUNfUlVOX0lGRUxTRSgKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICBb QUNfTEFOR19QUk9HUkFNKAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1sjaW5jbHVk ZSA8ZGxmY24uaD5dXSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtbdm9pZCogaCA9 IGRsb3BlbigiJHtMSUJTSU5HVUxBUl9QQVRIfSIsIFJUTERfTEFaWSB8IFJUTERfR0xPQkFMKTsK LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGggPT0gMCkgeyByZXR1cm4gMTsg fSBlbHNlIHsgcmV0dXJuIGRsY2xvc2UoaCk7IH1dXQotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICldLCBbCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ19NU0dfUkVTVUxUKHll cykKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICBdLCBbCi0tICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFDX01TR19SRVNVTFQobm8pCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNhZ2Vfc3BrZ19pbnN0YWxsX3Npbmd1bGFyPXllcwotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgXSwgW0FDX01TR19SRVNVTFQoeWVzKV0pCi0tICAgICAgICAgICAgICAgICAgICAgICAgXSwg W0FDX01TR19SRVNVTFQoeWVzKV0pCi0tCi0tICAgICAgICAgICAgICAgICAgICAgIEFDX0xBTkdf UE9QKCkKLS0gICAgICAgICAgICAgICAgICAgICAgTElCUz0iJHtPUklHX0xJQlN9IgotLSAgICAg ICAgICAgICAgICAgICAgIF0KLS0gICAgICAgKV0sIFsKLSsgICAgICAgXSwgWwotICAgICAgICBB Q19NU0dfUkVTVUxUKG5vKQotICAgICAgICBzYWdlX3Nwa2dfaW5zdGFsbF9zaW5ndWxhcj15ZXMK LSAgICAgICAgXQotQEAgLTY0LDIwICsxOSw0IEBAIFNBR0VfU1BLR19DT05GSUdVUkUoW3Npbmd1 bGFyXSwgWwotICAgICAgIF0pCi0gICAgIF0pCi0gICBdKQotLV0sW10sW10sWwotLSAgZG5sIFBv c3QtY2hlY2sgcGhhc2UKLS0gIGRubCBXZSBtYWtlIHRoZSBzYWdlX2NvbmYgc3Vic3RpdHV0aW9u cyBoZXJlLCBiZWNhdXNlIHRoZSAiZGVmYXVsdCIKLS0gIGRubCBzdWJzdGl0dXRpb24gbmVlZHMg dG8gYmUgbWFkZSBldmVuIGlmIHdlIHNraXBwZWQgdGhlIHN5c3RlbS1TaW5ndWxhcgotLSAgZG5s IGNoZWNrcyB0aGVtc2VsdmVzLgotLSAgQVNfSUYoW3Rlc3QgIngke3NhZ2Vfc3BrZ19pbnN0YWxs X3Npbmd1bGFyfSIgPSAieHllcyJdLCBbCi0tICAgIEFTX0NBU0UoWyRob3N0X29zXSwKLS0gICAg ICBbY3lnd2luKl0sIFtkbmwgTm90aGluZyB0byBkbwotLSAgICAgICAgICAgICAgICAgXSwKLS0g ICAgICAgICAgICAgICAgIFtkbmwgU2V0IHNoYXJlZCBsaWJyYXJ5IHBhdGgsIG5lZWRlZCBmb3Ig cmVsb2FkaW5nIHRoZSBsaWJyYXJ5IHdpdGggUlRMRF9HTE9CQUwKLS0gICAgICAgICAgICAgICAg ICBMSUJTSU5HVUxBUl9QQVRIPSJcJFNBR0VfTE9DQUwvbGliL2xpYlNpbmd1bGFyLiR7YWNsX3No bGliZXh0fSIKLS0gICAgICAgICAgICAgICAgIF0KLS0gICAgKQotLSAgXSkKLS0KLS0gIEFDX1NV QlNUKExJQlNJTkdVTEFSX1BBVEgsICIke0xJQlNJTkdVTEFSX1BBVEh9IikKLSBdKQotZGlmZiAt LWdpdCBhL3BrZ3Mvc2FnZS1jb25mL19zYWdlX2NvbmYvX2NvbmYucHkuaW4gYi9wa2dzL3NhZ2Ut Y29uZi9fc2FnZV9jb25mL19jb25mLnB5LmluCi1pbmRleCA2Y2QyOGY1Li5kNjZiZGIzIDEwMDY0 NAotLS0tIGEvcGtncy9zYWdlLWNvbmYvX3NhZ2VfY29uZi9fY29uZi5weS5pbgotKysrIGIvcGtn cy9zYWdlLWNvbmYvX3NhZ2VfY29uZi9fY29uZi5weS5pbgotQEAgLTU1LDkgKzU1LDYgQEAgVEhS RUVKU19ESVIgPSBTQUdFX0xPQ0FMICsgIi9zaGFyZS90aHJlZWpzLXNhZ2UiCi0gT1BFTk1QX0NG TEFHUyA9ICJAT1BFTk1QX0NGTEFHU0AiCi0gT1BFTk1QX0NYWEZMQUdTID0gIkBPUEVOTVBfQ1hY RkxBR1NAIgotIAotLSMgVGhlIGZ1bGwgYWJzb2x1dGUgcGF0aCB0byB0aGUgbWFpbiBTaW5ndWxh ciBsaWJyYXJ5LgotLUxJQlNJTkdVTEFSX1BBVEggPSAiQExJQlNJTkdVTEFSX1BBVEhAIi5yZXBs YWNlKCckU0FHRV9MT0NBTCcsIFNBR0VfTE9DQUwpCi0tCi0gIyBJbnN0YWxsYXRpb24gbG9jYXRp b24gb2Ygd2hlZWxzLiBUaGlzIGlzIGRldGVybWluZWQgYXQgY29uZmlndXJhdGlvbiB0aW1lCi0g IyBhbmQgZG9lcyBub3QgZGVwZW5kIG9uIHRoZSBpbnN0YWxsYXRpb24gbG9jYXRpb24gb2Ygc2Fn ZS1jb25mLgotIFNBR0VfU1BLR19XSEVFTFMgPSAiQFNBR0VfVkVOVkAiLnJlcGxhY2UoJyR7U0FH RV9MT0NBTH0nLCBTQUdFX0xPQ0FMKSArICIvdmFyL2xpYi9zYWdlL3doZWVscyIKLWRpZmYgLS1n aXQgYS9zcmMvc2FnZS9lbnYucHkgYi9zcmMvc2FnZS9lbnYucHkKLWluZGV4IDkxMWYzNGIuLjkz Zjc5ZGUgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9lbnYucHkKLSsrKyBiL3NyYy9zYWdlL2Vudi5w eQotQEAgLTIyOSwxMiArMjI5LDYgQEAgTlRMX0xJQkRJUiA9IHZhcigiTlRMX0xJQkRJUiIpCi0g TElFX0lORk9fRElSID0gdmFyKCJMSUVfSU5GT19ESVIiLCBqb2luKFNBR0VfTE9DQUwsICJsaWIi LCAiTGlFIikpCi0gU0lOR1VMQVJfQklOID0gdmFyKCJTSU5HVUxBUl9CSU4iKSBvciAiU2luZ3Vs YXIiCi0gCi0tIyBUaGUgcGF0aCB0byBsaWJTaW5ndWxhciwgdG8gYmUgcGFzc2VkIHRvIGRsb3Bl bigpLiBUaGlzIHdpbGwKLS0jIHR5cGljYWxseSBiZSBzZXQgdG8gYW4gYWJzb2x1dGUgcGF0aCBp biBzYWdlX2NvbmYsIGJ1dCB0aGUgcmVsYXRpdmUKLS0jIGZhbGxiYWNrIHBhdGggaGVyZSB3b3Jr cyBvbiBzeXN0ZW1zIHdoZXJlIGRsb3BlbigpIHNlYXJjaGVzIHRoZQotLSMgc3lzdGVtJ3MgbGli cmFyeSBsb2NhdGlvbnMuCi0tTElCU0lOR1VMQVJfUEFUSCA9IHZhcigiTElCU0lOR1VMQVJfUEFU SCIsICJsaWJTaW5ndWxhci5zbyIpCi0tCi0gIyBPcGVuTVAKLSBPUEVOTVBfQ0ZMQUdTID0gdmFy KCJPUEVOTVBfQ0ZMQUdTIiwgIiIpCi0gT1BFTk1QX0NYWEZMQUdTID0gdmFyKCJPUEVOTVBfQ1hY RkxBR1MiLCAiIikKLS0tIAotY2dpdCB2MS4wLTEtZ2Q4OGUKLQotCi1Gcm9tIDkyZTVhMjExYzc5 MmY4NmY1MzI1ZDYwMWFiZmRkZjY2N2RhNmE3NzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5l ZHUudXk+Ci1EYXRlOiBGcmksIDQgTWFyIDIwMjIgMTU6NDk6MjYgLTAzMDAKLVN1YmplY3Q6IFJl dmVydCAic3JjL3NhZ2UvaW50ZXJmYWNlcy9nYXBfd29ya3NwYWNlLnB5OiBVc2UgaGFzaCBvZiBH QVBfU08gdG8KLSBkaXNhbWJpZ3VhdGUgdGhlIHdvcmtzcGFjZSBmaWxlLCBub3QgU0FHRV9MT0NB TCIKLQotVGhpcyByZXZlcnRzIGNvbW1pdCBhODAxZTZkODViZDQyMGI2MGVhNzViMTY3MTg1NmVi NDNhYzZiMThiLgotCi1TZWUgIzMzNDQ2LgotLS0tCi0gc3JjL3NhZ2UvaW50ZXJmYWNlcy9nYXBf d29ya3NwYWNlLnB5IHwgNyArKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KSwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2Fw X3dvcmtzcGFjZS5weSBiL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwX3dvcmtzcGFjZS5weQotaW5k ZXggMzNhODdkZC4uOTUzZGM4NSAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2Fw X3dvcmtzcGFjZS5weQotKysrIGIvc3JjL3NhZ2UvaW50ZXJmYWNlcy9nYXBfd29ya3NwYWNlLnB5 Ci1AQCAtMTYsNyArMTYsNyBAQCBTdXBwb3J0IGZvciAobGliKUdBUCB3b3Jrc3BhY2UgZmlsZXMK LSBpbXBvcnQgb3MKLSBpbXBvcnQgdGltZQotIGltcG9ydCBoYXNobGliCi0tZnJvbSBzYWdlLmVu diBpbXBvcnQgRE9UX1NBR0UsIEdBUF9TTwotK2Zyb20gc2FnZS5lbnYgaW1wb3J0IERPVF9TQUdF LCBTQUdFX0xPQ0FMCi0gCi0gCi0gZGVmIGdhcF93b3Jrc3BhY2VfZmlsZShzeXN0ZW09ImdhcCIs IG5hbWU9IndvcmtzcGFjZSIsIGRpcj1Ob25lKToKLUBAIC01OSwxMCArNTksNyBAQCBkZWYgZ2Fw X3dvcmtzcGFjZV9maWxlKHN5c3RlbT0iZ2FwIiwgbmFtZT0id29ya3NwYWNlIiwgZGlyPU5vbmUp OgotICAgICBpZiBkaXIgaXMgTm9uZToKLSAgICAgICAgIGRpciA9IG9zLnBhdGguam9pbihET1Rf U0FHRSwgJ2dhcCcpCi0gCi0tICAgIGlmIEdBUF9TTzoKLS0gICAgICAgIGggPSBoYXNobGliLnNo YTEoR0FQX1NPLmVuY29kZSgndXRmLTgnKSkuaGV4ZGlnZXN0KCkKLS0gICAgZWxzZToKLS0gICAg ICAgIGggPSAndW5rbm93bicKLSsgICAgaCA9IGhhc2hsaWIuc2hhMShTQUdFX0xPQ0FMLmVuY29k ZSgndXRmLTgnKSkuaGV4ZGlnZXN0KCkKLSAgICAgcmV0dXJuIG9zLnBhdGguam9pbihkaXIsICcl cy0lcy0lcycgJSAoc3lzdGVtLCBuYW1lLCBoKSkKLSAKLSAKLS0tIAotY2dpdCB2MS4wLTEtZ2Q4 OGUKLQotCi1Gcm9tIGI0NWU1NTViNTcxMWFlMTBkMzY5YjU2ODMzMzk0MGMyYWE3NzEwNTMgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1D Mz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+Ci1EYXRlOiBGcmksIDQgTWFyIDIwMjIgMTY6 Mzg6NDkgLTAzMDAKLVN1YmplY3Q6IGdhcDogcmVtb3ZlIEdBUF9TTywgbm8gbG9uZ2VyIG5lZWRl ZAotCi0tLS0KLSBzcmMvc2FnZS9lbnYucHkgfCA3NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNzUgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9lbnYucHkgYi9zcmMvc2FnZS9lbnYu cHkKLWluZGV4IDkzZjc5ZGUuLmMxNmEwOTQgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9lbnYucHkK LSsrKyBiL3NyYy9zYWdlL2Vudi5weQotQEAgLTI0OSw4MSArMjQ5LDYgQEAgaWYgU0FHRV9HQVBf TUVNT1JZIGlzIG5vdCBOb25lOgotIFNBR0VfR0FQX0NPTU1BTkQgPSB2YXIoJ1NBR0VfR0FQX0NP TU1BTkQnLCBfZ2FwX2NtZCkKLSAKLSAKLS1kZWYgX2dldF9zaGFyZWRfbGliX3BhdGgoKmxpYm5h bWVzOiBzdHIpIC0+IE9wdGlvbmFsW3N0cl06Ci0tICAgICIiIgotLSAgICBSZXR1cm4gdGhlIGZ1 bGwgcGF0aCB0byBhIHNoYXJlZCBsaWJyYXJ5IGZpbGUgaW5zdGFsbGVkIGluCi0tICAgIGBgJFNB R0VfTE9DQUwvbGliYGAgb3IgdGhlIGRpcmVjdG9yaWVzIGFzc29jaWF0ZWQgd2l0aCB0aGUKLS0g ICAgUHl0aG9uIHN5c2NvbmZpZy4KLS0KLS0gICAgVGhpcyBjYW4gYWxzbyBiZSBwYXNzZWQgbW9y ZSB0aGFuIG9uZSBsaWJyYXJ5IG5hbWUgKGUuZy4gZm9yIGNhc2VzIHdoZXJlCi0tICAgIHNvbWUg bGlicmFyeSBtYXkgaGF2ZSBtdWx0aXBsZSBuYW1lcyBkZXBlbmRpbmcgb24gdGhlIHBsYXRmb3Jt KSBpbiB3aGljaAotLSAgICBjYXNlIHRoZSBmaXJzdCBvbmUgZm91bmQgaXMgcmV0dXJuZWQuCi0t Ci0tICAgIFRoaXMgc3VwcG9ydHMgbW9zdCAqTklYIHZhcmlhbnRzIChpbiB3aGljaCBgYGxpYjxs aWJuYW1lPi5zb2BgIGlzIGZvdW5kCi0tICAgIHVuZGVyIGBgJFNBR0VfTE9DQUwvbGliYGApLCBt YWNPUyAoc2FtZSwgYnV0IHdpdGggdGhlIGBgLmR5bGliYGAKLS0gICAgZXh0ZW5zaW9uKSwgYW5k IEN5Z3dpbiAodW5kZXIgYGAkU0FHRV9MT0NBTC9iaW4vY3lnPGxpYm5hbWU+LmRsbGBgLAotLSAg ICBvciBgYCRTQUdFX0xPQ0FML2Jpbi9jeWc8bGlibmFtZT4tKi5kbGxgYCBmb3IgdmVyc2lvbmVk IERMTHMpLgotLQotLSAgICBGb3IgZGlzdHJpYnV0aW9ucyBsaWtlIERlYmlhbiB0aGF0IHVzZSBh IG11bHRpYXJjaCBsYXlvdXQsIHdlIGFsc28gdHJ5IHRoZQotLSAgICBtdWx0aWFyY2ggbGliIHBh dGhzIChpLmUuIGBgL3Vzci9saWIvPGFyY2g+L2BgKS4KLS0KLS0gICAgVGhpcyByZXR1cm5zIGBg Tm9uZWBgIGlmIG5vIG1hdGNoaW5nIGxpYnJhcnkgZmlsZSBjb3VsZCBiZSBmb3VuZC4KLS0KLS0g ICAgRVhBTVBMRVM6OgotLQotLSAgICAgICAgc2FnZTogZnJvbSBzYWdlLmVudiBpbXBvcnQgX2dl dF9zaGFyZWRfbGliX3BhdGgKLS0gICAgICAgIHNhZ2U6ICJnYXAiIGluIF9nZXRfc2hhcmVkX2xp Yl9wYXRoKCJnYXAiKQotLSAgICAgICAgVHJ1ZQotLSAgICAgICAgc2FnZTogX2dldF9zaGFyZWRf bGliX3BhdGgoImFuX2Fic3VyZF9saWIiKSBpcyBOb25lCi0tICAgICAgICBUcnVlCi0tCi0tICAg ICIiIgotLQotLSAgICBmb3IgbGlibmFtZSBpbiBsaWJuYW1lczoKLS0gICAgICAgIHNlYXJjaF9k aXJlY3RvcmllczogTGlzdFtQYXRoXSA9IFtdCi0tICAgICAgICBwYXR0ZXJuczogTGlzdFtzdHJd ID0gW10KLS0gICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnY3lnd2luJzoKLS0gICAgICAgICAg ICAjIExhdGVyIGRvd24gd2UgdGFrZSB0aGUgZmlyc3QgbWF0Y2hpbmcgRExMIGZvdW5kLCBzbyBz ZWFyY2gKLS0gICAgICAgICAgICAjIFNBR0VfTE9DQUwgZmlyc3Qgc28gdGhhdCBpdCB0YWtlcyBw cmVjZWRlbmNlCi0tICAgICAgICAgICAgaWYgU0FHRV9MT0NBTDoKLS0gICAgICAgICAgICAgICAg c2VhcmNoX2RpcmVjdG9yaWVzLmFwcGVuZChQYXRoKFNBR0VfTE9DQUwpIC8gJ2JpbicpCi0tICAg ICAgICAgICAgc2VhcmNoX2RpcmVjdG9yaWVzLmFwcGVuZChQYXRoKHN5c2NvbmZpZy5nZXRfY29u ZmlnX3ZhcignQklORElSJykpKQotLSAgICAgICAgICAgICMgTm90ZTogVGhlIGZvbGxvd2luZyBp cyBub3QgdmVyeSByb2J1c3QsIHNpbmNlIGlmIHRoZXJlIGFyZSBtdWx0aWJsZQotLSAgICAgICAg ICAgICMgdmVyc2lvbnMgZm9yIHRoZSBzYW1lIGxpYnJhcnkgdGhpcyBqdXN0IHNlbGVjdHMgb25l IG1vcmUgb3IgbGVzcwotLSAgICAgICAgICAgICMgYXQgYXJiaXRyYXJ5LiBIb3dldmVyLCBwcmFj dGljYWxseSBzcGVha2luZywgb24gQ3lnd2luLCB0aGVyZQotLSAgICAgICAgICAgICMgd2lsbCBv bmx5IGV2ZXIgYmUgb25lIHZlcnNpb24KLS0gICAgICAgICAgICBwYXR0ZXJucyA9IFtmJ2N5Z3ts aWJuYW1lfS5kbGwnLCBmJ2N5Z3tsaWJuYW1lfS0qLmRsbCddCi0tICAgICAgICBlbHNlOgotLSAg ICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJzoKLS0gICAgICAgICAgICAgICAg ZXh0ID0gJ2R5bGliJwotLSAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIGV4dCA9 ICdzbycKLS0KLS0gICAgICAgICAgICBpZiBTQUdFX0xPQ0FMOgotLSAgICAgICAgICAgICAgICBz ZWFyY2hfZGlyZWN0b3JpZXMuYXBwZW5kKFBhdGgoU0FHRV9MT0NBTCkgLyAnbGliJykKLS0gICAg ICAgICAgICBsaWJkaXIgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ0xJQkRJUicpCi0tICAg ICAgICAgICAgaWYgbGliZGlyIGlzIG5vdCBOb25lOgotLSAgICAgICAgICAgICAgICBsaWJkaXIg PSBQYXRoKGxpYmRpcikKLS0gICAgICAgICAgICAgICAgc2VhcmNoX2RpcmVjdG9yaWVzLmFwcGVu ZChsaWJkaXIpCi0tCi0tICAgICAgICAgICAgICAgIG11bHRpYXJjaGxpYiA9IHN5c2NvbmZpZy5n ZXRfY29uZmlnX3ZhcignTVVMVElBUkNIJykKLS0gICAgICAgICAgICAgICAgaWYgbXVsdGlhcmNo bGliIGlzIG5vdCBOb25lOgotLSAgICAgICAgICAgICAgICAgICAgc2VhcmNoX2RpcmVjdG9yaWVz LmFwcGVuZChsaWJkaXIgLyBtdWx0aWFyY2hsaWIpLAotLQotLSAgICAgICAgICAgIHBhdHRlcm5z ID0gW2YnbGlie2xpYm5hbWV9LntleHR9J10KLS0KLS0gICAgICAgIGZvciBkaXJlY3RvcnkgaW4g c2VhcmNoX2RpcmVjdG9yaWVzOgotLSAgICAgICAgICAgIGZvciBwYXR0ZXJuIGluIHBhdHRlcm5z OgotLSAgICAgICAgICAgICAgICBwYXRoID0gbmV4dChkaXJlY3RvcnkuZ2xvYihwYXR0ZXJuKSwg Tm9uZSkKLS0gICAgICAgICAgICAgICAgaWYgcGF0aCBpcyBub3QgTm9uZToKLS0gICAgICAgICAg ICAgICAgICAgIHJldHVybiBzdHIocGF0aC5yZXNvbHZlKCkpCi0tCi0tICAgICMgSnVzdCByZXR1 cm4gTm9uZSBpZiBubyBmaWxlcyB3ZXJlIGZvdW5kCi0tICAgIHJldHVybiBOb25lCi0tCi0tIyBs b2NhdGUgbGliZ2FwIHNoYXJlZCBvYmplY3QKLS1HQVBfU08gPSB2YXIoIkdBUF9TTyIsIF9nZXRf c2hhcmVkX2xpYl9wYXRoKCJnYXAiLCAiIikpCi0tCi0gIyBwb3N0IHByb2Nlc3MKLSBpZiBET1Rf U0FHRSBpcyBub3QgTm9uZSBhbmQgJyAnIGluIERPVF9TQUdFOgotICAgICBpZiBVTkFNRVs6Nl0g PT0gJ0NZR1dJTic6Ci0tLSAKLWNnaXQgdjEuMC0xLWdkODhlCi0KLQotRnJvbSAzMWUzZmM0ZWM4 Yjg2ODdiY2NkMjJkMmUzMTYxYzg2Y2Y1NTUzZTA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQu ZWR1LnV5PgotRGF0ZTogU3VuLCA2IE1hciAyMDIyIDEyOjEwOjM3IC0wMzAwCi1TdWJqZWN0OiBn YXBfd29ya3NwYWNlX2ZpbGU6IGluY2x1ZGUgaG9zdG5hbWUgYW5kIGdhcCB2ZXJzaW9uCi0KLS0t LQotIHNyYy9zYWdlL2ludGVyZmFjZXMvZ2FwX3dvcmtzcGFjZS5weSB8IDExICsrKysrKysrLS0t Ci0gMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwX3dvcmtzcGFjZS5weSBiL3NyYy9zYWdl L2ludGVyZmFjZXMvZ2FwX3dvcmtzcGFjZS5weQotaW5kZXggOTUzZGM4NS4uOGMwM2I2YiAxMDA2 NDQKLS0tLSBhL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwX3dvcmtzcGFjZS5weQotKysrIGIvc3Jj L3NhZ2UvaW50ZXJmYWNlcy9nYXBfd29ya3NwYWNlLnB5Ci1AQCAtMTYsNyArMTYsOCBAQCBTdXBw b3J0IGZvciAobGliKUdBUCB3b3Jrc3BhY2UgZmlsZXMKLSBpbXBvcnQgb3MKLSBpbXBvcnQgdGlt ZQotIGltcG9ydCBoYXNobGliCi0tZnJvbSBzYWdlLmVudiBpbXBvcnQgRE9UX1NBR0UsIFNBR0Vf TE9DQUwKLStpbXBvcnQgc3VicHJvY2VzcwotK2Zyb20gc2FnZS5lbnYgaW1wb3J0IERPVF9TQUdF LCBTQUdFX0xPQ0FMLCBIT1NUTkFNRSwgR0FQX1JPT1RfRElSCi0gCi0gCi0gZGVmIGdhcF93b3Jr c3BhY2VfZmlsZShzeXN0ZW09ImdhcCIsIG5hbWU9IndvcmtzcGFjZSIsIGRpcj1Ob25lKToKLUBA IC01OSw4ICs2MCwxMiBAQCBkZWYgZ2FwX3dvcmtzcGFjZV9maWxlKHN5c3RlbT0iZ2FwIiwgbmFt ZT0id29ya3NwYWNlIiwgZGlyPU5vbmUpOgotICAgICBpZiBkaXIgaXMgTm9uZToKLSAgICAgICAg IGRpciA9IG9zLnBhdGguam9pbihET1RfU0FHRSwgJ2dhcCcpCi0gCi0tICAgIGggPSBoYXNobGli LnNoYTEoU0FHRV9MT0NBTC5lbmNvZGUoJ3V0Zi04JykpLmhleGRpZ2VzdCgpCi0tICAgIHJldHVy biBvcy5wYXRoLmpvaW4oZGlyLCAnJXMtJXMtJXMnICUgKHN5c3RlbSwgbmFtZSwgaCkpCi0rICAg IGRhdGEgPSBTQUdFX0xPQ0FMCi0rICAgIHN5c2luZm8gPSBvcy5wYXRoLmpvaW4oR0FQX1JPT1Rf RElSLCAic3lzaW5mby5nYXAiKQotKyAgICBpZiBvcy5wYXRoLmV4aXN0cyhzeXNpbmZvKToKLSsg ICAgICAgIGRhdGEgKz0gc3VicHJvY2Vzcy5nZXRvdXRwdXQoZicuICJ7c3lzaW5mb30iICYmIGVj aG8gIjokR0FQX1ZFUlNJT046JEdBUGFyY2giJykKLSsgICAgaCA9IGhhc2hsaWIuc2hhMShkYXRh LmVuY29kZSgndXRmLTgnKSkuaGV4ZGlnZXN0KCkKLSsgICAgcmV0dXJuIG9zLnBhdGguam9pbihk aXIsICclcy0lcy0lcy0lcycgJSAoc3lzdGVtLCBuYW1lLCBIT1NUTkFNRSwgaCkpCi0gCi0gCi0g ZGVmIHByZXBhcmVfd29ya3NwYWNlX2RpcihkaXI9Tm9uZSk6Ci0tLSAKLWNnaXQgdjEuMC0xLWdk ODhlCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzODQyLTAx LXB5dGhvbl8zLjExLWRlMzhiYWMyMWUyLnBhdGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVz L3RyYWMtMzM4NDItMDEtcHl0aG9uXzMuMTEtZGUzOGJhYzIxZTIucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDcwYjFmZWQ5OWNlNC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3Br Z3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTMzODQyLTAxLXB5dGhvbl8zLjExLWRlMzhiYWMyMWUy LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotRnJvbSBkZTM4YmFjMjFlMjc2 YzZkYmE5NWI4YjMzZjc0NTdhMGFjNTZiZGViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogTWF0dGhpYXMgS29lcHBlIDxta29lcHBlQG1hdGgudWNkYXZpcy5lZHU+Ci1EYXRlOiBUdWUs IDI1IE9jdCAyMDIyIDE5OjQzOjUzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNyYy9zYWdlOiBB cHBseSBweXRob24tMy4xMS5wYXRjaCBmcm9tCi0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9jb21taXQvNjIyOWYzMTM0NTBlY2FlODg3NDNiNGQ1ZTk5ZGEyZWQ0 ZGU0NGUwNwotCi0tLS0KLSBzcmMvc2FnZS9jcHl0aG9uL2N5dGhvbl9tZXRhY2xhc3MuaCB8IDIg Ky0KLSBzcmMvc2FnZS9saWJzL2dtcC9weWxvbmcucHl4ICAgICAgICB8IDggKysrLS0tLS0KLSBz cmMvc2FnZS9zeW1ib2xpYy9naW5hYy9udW1lcmljLmNwcCB8IDEgLQotIDMgZmlsZXMgY2hhbmdl ZCwgNCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Nh Z2UvY3B5dGhvbi9jeXRob25fbWV0YWNsYXNzLmggYi9zcmMvc2FnZS9jcHl0aG9uL2N5dGhvbl9t ZXRhY2xhc3MuaAotaW5kZXggY2M2MjBhNGRhYzcuLjY0ODczNDJiNzFlIDEwMDY0NAotLS0tIGEv c3JjL3NhZ2UvY3B5dGhvbi9jeXRob25fbWV0YWNsYXNzLmgKLSsrKyBiL3NyYy9zYWdlL2NweXRo b24vY3l0aG9uX21ldGFjbGFzcy5oCi1AQCAtNjYsNyArNjYsNyBAQCBzdGF0aWMgQ1lUSE9OX0lO TElORSBpbnQgU2FnZV9QeVR5cGVfUmVhZHkoUHlUeXBlT2JqZWN0KiB0KQotICAgICAgICAgfQot IAotICAgICAgICAgLyogTm93LCBzZXQgdC5fX2NsYXNzX18gdG8gbWV0YWNsYXNzICovCi0tICAg ICAgICBQeV9UWVBFKHQpID0gbWV0YWNsYXNzOwotKyAgICAgICAgUHlfU0VUX1RZUEUodCwgbWV0 YWNsYXNzKTsKLSAgICAgICAgIFB5VHlwZV9Nb2RpZmllZCh0KTsKLSAgICAgfQotICAgICBlbHNl Ci1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbGlicy9nbXAvcHlsb25nLnB5eCBiL3NyYy9zYWdlL2xp YnMvZ21wL3B5bG9uZy5weXgKLWluZGV4IDM4OGJlMzJjNTVlLi5lNzcyYjYwZTNlMCAxMDA2NDQK LS0tLSBhL3NyYy9zYWdlL2xpYnMvZ21wL3B5bG9uZy5weXgKLSsrKyBiL3NyYy9zYWdlL2xpYnMv Z21wL3B5bG9uZy5weXgKLUBAIC0zMiw3ICszMiw3IEBAIGZyb20gY3B5dGhvbi5sb25naW50cmVw ciBjaW1wb3J0IF9QeUxvbmdfTmV3LCBweV9sb25nLCBkaWdpdCwgUHlMb25nX1NISUZUCi0gZnJv bSAubXB6IGNpbXBvcnQgKgotIAotIGNkZWYgZXh0ZXJuIGZyb20gKjoKLS0gICAgUHlfc3NpemVf dCogUHlfU0laRV9QVFIgIiZQeV9TSVpFIihvYmplY3QpCi0rICAgIHZvaWQgUHlfU0VUX1NJWkUo b2JqZWN0LCBQeV9zc2l6ZV90KQotICAgICBpbnQgaGFzaF9iaXRzICIiIgotICAgICAgICAgI2lm ZGVmIF9QeUhBU0hfQklUUwotICAgICAgICAgX1B5SEFTSF9CSVRTICAgICAgICAgLyogUHl0aG9u IDMgKi8KLUBAIC01NywxMCArNTcsOCBAQCBjZGVmIG1wel9nZXRfcHlsb25nX2xhcmdlKG1wel9z cmNwdHIgeik6Ci0gICAgIG1wel9leHBvcnQoTC5vYl9kaWdpdCwgTlVMTCwKLSAgICAgICAgICAg ICAtMSwgc2l6ZW9mKGRpZ2l0KSwgMCwgUHlMb25nX25haWxzLCB6KQotICAgICBpZiBtcHpfc2du KHopIDwgMDoKLS0gICAgICAgICMgU2V0IGNvcnJlY3Qgc2l6ZSAodXNlIGEgcG9pbnRlciB0byBo YWNrIGFyb3VuZCBDeXRob24ncwotLSAgICAgICAgIyBub24tc3VwcG9ydCBmb3IgbHZhbHVlcyku Ci0tICAgICAgICBzaXplcHRyID0gUHlfU0laRV9QVFIoTCkKLS0gICAgICAgIHNpemVwdHJbMF0g PSAtcHlsb25nX3NpemUKLSsgICAgICAgICMgU2V0IGNvcnJlY3Qgc2l6ZQotKyAgICAgICAgUHlf U0VUX1NJWkUoTCwgLXB5bG9uZ19zaXplKQotICAgICByZXR1cm4gTAotIAotIAotZGlmZiAtLWdp dCBhL3NyYy9zYWdlL3N5bWJvbGljL2dpbmFjL251bWVyaWMuY3BwIGIvc3JjL3NhZ2Uvc3ltYm9s aWMvZ2luYWMvbnVtZXJpYy5jcHAKLWluZGV4IDIyMDYwNDQxNzYwLi5iNDBlZDY0ZWRiNSAxMDA2 NDQKLS0tLSBhL3NyYy9zYWdlL3N5bWJvbGljL2dpbmFjL251bWVyaWMuY3BwCi0rKysgYi9zcmMv c2FnZS9zeW1ib2xpYy9naW5hYy9udW1lcmljLmNwcAotQEAgLTUyLDcgKzUyLDYgQEAKLSAjZGVm aW5lIHJlZ2lzdGVyCi0gI2RlZmluZSBQWV9TU0laRV9UX0NMRUFOCi0gI2luY2x1ZGUgPFB5dGhv bi5oPgotLSNpbmNsdWRlIDxsb25naW50cmVwci5oPgotICNpbmNsdWRlICJmbGludC9mbXB6Lmgi Ci0gI2luY2x1ZGUgImZsaW50L2ZtcHpfZmFjdG9yLmgiCi0gCi0tLSAKLTIuMzguMQotCmRpZmYg LS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wMi1weXRob25fMy4x MS1hcmdzcGVjLWZpeC05ZWIwOGYzYWZkZS5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hl cy90cmFjLTMzODQyLTAyLXB5dGhvbl8zLjExLWFyZ3NwZWMtZml4LTllYjA4ZjNhZmRlLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYmIxZjVmNjhiMGUuLjAwMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wMi1weXRob25fMy4x MS1hcmdzcGVjLWZpeC05ZWIwOGYzYWZkZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE2OCAr MCwwIEBACi1Gcm9tIDllYjA4ZjNhZmRlMzI2NmJiZDY2N2UxOTY1MTMyNDBhMGZlMjQ1ZjQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0aGlhcyBLb2VwcGUgPG1rb2VwcGVAbWF0 aC51Y2RhdmlzLmVkdT4KLURhdGU6IFR1ZSwgMjUgT2N0IDIwMjIgMjI6NTI6NTYgLTA3MDAKLVN1 YmplY3Q6IFtQQVRDSF0gaW5zcGVjdC5BcmdTcGVjIC0+IGluc3BlY3QuRnVsbEFyZ1NwZWMKLQot LS0tCi0gc3JjL3NhZ2UvbWlzYy9jYWNoZWZ1bmMucHl4ICAgICAgICAgfCAgNCArKy0tCi0gc3Jj L3NhZ2UvbWlzYy9kZWNvcmF0b3JzLnB5ICAgICAgICAgfCAgNiArKysrLS0KLSBzcmMvc2FnZS9t aXNjL2Z1bmN0aW9uX21hbmdsaW5nLnB5eCB8ICAyICstCi0gc3JjL3NhZ2UvbWlzYy9zYWdlaW5z cGVjdC5weSAgICAgICAgfCAyNCArKysrKysrKysrKysrLS0tLS0tLS0tLS0KLSA0IGZpbGVzIGNo YW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEv c3JjL3NhZ2UvbWlzYy9jYWNoZWZ1bmMucHl4IGIvc3JjL3NhZ2UvbWlzYy9jYWNoZWZ1bmMucHl4 Ci1pbmRleCA5ZmE5NjdjZTczNy4uNzIwNDJlZjEzZDYgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9t aXNjL2NhY2hlZnVuYy5weXgKLSsrKyBiL3NyYy9zYWdlL21pc2MvY2FjaGVmdW5jLnB5eAotQEAg LTI4MTgsNyArMjgxOCw3IEBAIGNkZWYgY2xhc3MgQ2FjaGVkTWV0aG9kKCk6Ci0gICAgICAgICAg ICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICAgICAgICAgICBwYXNzCi0gICAg ICAgICAgICAgaWYgc2VsZi5uYXJncyA9PSAwOgotLSAgICAgICAgICAgICAgICBhcmdzLCB2YXJh cmdzLCBrZXl3b3JkcywgZGVmYXVsdHMgPSBzYWdlX2dldGFyZ3NwZWMoZikKLSsgICAgICAgICAg ICAgICAgYXJncywgdmFyYXJncywga2V5d29yZHMsIGRlZmF1bHRzLCBrd29ubHlhcmdzLCBrd29u bHlkZWZhdWx0cywgYW5ub3RhdGlvbnMgPSBzYWdlX2dldGFyZ3NwZWMoZikKLSAgICAgICAgICAg ICAgICAgaWYgdmFyYXJncyBpcyBOb25lIGFuZCBrZXl3b3JkcyBpcyBOb25lIGFuZCBsZW4oYXJn cyk8PTE6Ci0gICAgICAgICAgICAgICAgICAgICBzZWxmLm5hcmdzID0gMQotICAgICAgICAgICAg ICAgICBlbHNlOgotQEAgLTI5NTQsNyArMjk1NCw3IEBAIGNkZWYgY2xhc3MgQ2FjaGVkU3BlY2lh bE1ldGhvZChDYWNoZWRNZXRob2QpOgotICAgICAgICAgIyB3ZSBuZWVkIHRvIGFuYWx5c2UgdGhl IGFyZ3NwZWMKLSAgICAgICAgIGYgPSBzZWxmLl9jYWNoZWRmdW5jLmYKLSAgICAgICAgIGlmIHNl bGYubmFyZ3MgPT0gMDoKLS0gICAgICAgICAgICBhcmdzLCB2YXJhcmdzLCBrZXl3b3JkcywgZGVm YXVsdHMgPSBzYWdlX2dldGFyZ3NwZWMoZikKLSsgICAgICAgICAgICBhcmdzLCB2YXJhcmdzLCBr ZXl3b3JkcywgZGVmYXVsdHMsIGt3b25seWFyZ3MsIGt3b25seWRlZmF1bHRzLCBhbm5vdGF0aW9u cyA9IHNhZ2VfZ2V0YXJnc3BlYyhmKQotICAgICAgICAgICAgIGlmIHZhcmFyZ3MgaXMgTm9uZSBh bmQga2V5d29yZHMgaXMgTm9uZSBhbmQgbGVuKGFyZ3MpPD0xOgotICAgICAgICAgICAgICAgICBz ZWxmLm5hcmdzID0gMQotICAgICAgICAgICAgICAgICBDYWxsZXIgPSBDYWNoZWRNZXRob2RDYWxs ZXJOb0FyZ3MoaW5zdCwgZiwgbmFtZT1uYW1lLCBkb19waWNrbGU9c2VsZi5fY2FjaGVkZnVuYy5k b19waWNrbGUpCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbWlzYy9kZWNvcmF0b3JzLnB5IGIvc3Jj L3NhZ2UvbWlzYy9kZWNvcmF0b3JzLnB5Ci1pbmRleCAyOGM1MjQ0ODgxMy4uMzExYTUxMDU3Mzkg MTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkKLSsrKyBiL3NyYy9zYWdl L21pc2MvZGVjb3JhdG9ycy5weQotQEAgLTMyLDcgKzMyLDggQEAgZnJvbSBjb3B5IGltcG9ydCBj b3B5Ci0gCi0gZnJvbSBzYWdlLm1pc2Muc2FnZWluc3BlY3QgaW1wb3J0IChzYWdlX2dldHNvdXJj ZSwgc2FnZV9nZXRzb3VyY2VsaW5lcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNhZ2VfZ2V0YXJnc3BlYykKLS1mcm9tIGluc3BlY3QgaW1wb3J0IEFyZ1NwZWMKLSsKLStm cm9tIGluc3BlY3QgaW1wb3J0IEZ1bGxBcmdTcGVjCi0gCi0gCi0gZGVmIHNhZ2Vfd3JhcHMod3Jh cHBlZCwgYXNzaWduZWQ9V1JBUFBFUl9BU1NJR05NRU5UUywgdXBkYXRlZD1XUkFQUEVSX1VQREFU RVMpOgotQEAgLTQ5OSw3ICs1MDAsOCBAQCBjbGFzcyBvcHRpb25zKCk6Ci0gICAgICAgICAgICAg ICAgICAgICBsaXN0KHNlbGYub3B0aW9ucykpCi0gICAgICAgICAgICAgZGVmYXVsdHMgPSAoYXJn c3BlYy5kZWZhdWx0cyBvciAoKSkgKyB0dXBsZShzZWxmLm9wdGlvbnMudmFsdWVzKCkpCi0gICAg ICAgICAgICAgIyBOb3RlOiBhcmdzcGVjLmRlZmF1bHRzIGlzIG5vdCBhbHdheXMgYSB0dXBsZSBm b3Igc29tZSByZWFzb24KLS0gICAgICAgICAgICByZXR1cm4gQXJnU3BlYyhhcmdzLCBhcmdzcGVj LnZhcmFyZ3MsIGFyZ3NwZWMua2V5d29yZHMsIGRlZmF1bHRzKQotKyAgICAgICAgICAgIHJldHVy biBGdWxsQXJnU3BlYyhhcmdzLCBhcmdzcGVjLnZhcmFyZ3MsIGFyZ3NwZWMua2V5d29yZHMsIGRl ZmF1bHRzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBr d29ubHlkZWZhdWx0cz17fSwgYW5ub3RhdGlvbnM9e30pCi0gCi0gICAgICAgICB3cmFwcGVyLl9z YWdlX2FyZ3NwZWNfID0gYXJnc3BlYwotIAotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL21pc2MvZnVu Y3Rpb25fbWFuZ2xpbmcucHl4IGIvc3JjL3NhZ2UvbWlzYy9mdW5jdGlvbl9tYW5nbGluZy5weXgK LWluZGV4IDBhYzAzY2YwNzE1Li5lMWJiNzk3ODk1MyAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21p c2MvZnVuY3Rpb25fbWFuZ2xpbmcucHl4Ci0rKysgYi9zcmMvc2FnZS9taXNjL2Z1bmN0aW9uX21h bmdsaW5nLnB5eAotQEAgLTExNiw3ICsxMTYsNyBAQCBjZGVmIGNsYXNzIEFyZ3VtZW50Rml4ZXI6 Ci0gICAgICIiIgotICAgICBkZWYgX19pbml0X18oc2VsZiwgZiwgY2xhc3NtZXRob2QgPSBGYWxz ZSk6Ci0gICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgYXJnX25hbWVzLCB2YXJhcmdzLCB2YXJr dywgZGVmYXVsdHMgPSBzYWdlX2dldGFyZ3NwZWMoZikKLSsgICAgICAgICAgICBhcmdfbmFtZXMs IHZhcmFyZ3MsIHZhcmt3LCBkZWZhdWx0cywga3dvbmx5YXJncywga3dvbmx5ZGVmYXVsdHMsIGFu bm90YXRpb25zID0gc2FnZV9nZXRhcmdzcGVjKGYpCi0gICAgICAgICBleGNlcHQgQXR0cmlidXRl RXJyb3I6Ci0gICAgICAgICAgICAgIyBUaGlzIGVycm9yIG9jY3VycyBpZiBmIGlzIGRlZmluZWQg aW4gYSBDeXRob24gZmlsZSBhbmQgdGhlCi0gICAgICAgICAgICAgIyBzb3VyY2UgZmlsZSBoYXMg Z29uZS4KLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9taXNjL3NhZ2VpbnNwZWN0LnB5IGIvc3JjL3Nh Z2UvbWlzYy9zYWdlaW5zcGVjdC5weQotaW5kZXggZmJjYTJkZWZjMjAuLmEzODIxY2I1NmI5IDEw MDY0NAotLS0tIGEvc3JjL3NhZ2UvbWlzYy9zYWdlaW5zcGVjdC5weQotKysrIGIvc3JjL3NhZ2Uv bWlzYy9zYWdlaW5zcGVjdC5weQotQEAgLTM1OSw3ICszNTksNyBAQCBkZWYgX2V4dHJhY3RfZW1i ZWRkZWRfc2lnbmF0dXJlKGRvY3N0cmluZywgbmFtZSk6Ci0gICAgICAgICBkb2NzdHJpbmcgPSBM WzFdIGlmIGxlbihMKSA+IDEgZWxzZSAnJyAgIyBSZW1vdmUgZmlyc3QgbGluZSwga2VlcCB0aGUg cmVzdAotICAgICAgICAgZGVmX3N0cmluZyA9ICJkZWYgIiArIG5hbWUgKyBzaWduYXR1cmUgKyAi OiBwYXNzIgotICAgICAgICAgdHJ5OgotLSAgICAgICAgICAgIHJldHVybiBkb2NzdHJpbmcsIGlu c3BlY3QuQXJnU3BlYygqX3NhZ2VfZ2V0YXJnc3BlY19jeXRob24oZGVmX3N0cmluZykpCi0rICAg ICAgICAgICAgcmV0dXJuIGRvY3N0cmluZywgaW5zcGVjdC5GdWxsQXJnU3BlYygqX3NhZ2VfZ2V0 YXJnc3BlY19jeXRob24oZGVmX3N0cmluZykpCi0gICAgICAgICBleGNlcHQgU3ludGF4RXJyb3I6 Ci0gICAgICAgICAgICAgZG9jc3RyaW5nID0gb3MubGluZXNlcC5qb2luKEwpCi0gICAgIHJldHVy biBkb2NzdHJpbmcsIE5vbmUKLUBAIC0xMTM1LDggKzExMzUsOSBAQCBkZWYgX3NhZ2VfZ2V0YXJn c3BlY19mcm9tX2FzdChzb3VyY2UpOgotICAgICB2YXJhcmcgPSBnZXRhdHRyKGFzdF9hcmdzLnZh cmFyZywgJ2FyZycsIE5vbmUpCi0gICAgIGt3YXJnID0gZ2V0YXR0cihhc3RfYXJncy5rd2FyZywg J2FyZycsIE5vbmUpCi0gCi0tICAgIHJldHVybiBpbnNwZWN0LkFyZ1NwZWMoYXJncywgdmFyYXJn LCBrd2FyZywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICB0dXBsZShkZWZhdWx0cykgaWYg ZGVmYXVsdHMgZWxzZSBOb25lKQotKyAgICByZXR1cm4gaW5zcGVjdC5GdWxsQXJnU3BlYyhhcmdz LCB2YXJhcmcsIGt3YXJnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dXBsZShk ZWZhdWx0cykgaWYgZGVmYXVsdHMgZWxzZSBOb25lLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz17fSwgYW5ub3RhdGlvbnM9e30p Ci0gCi0gCi0gZGVmIF9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNvdXJjZSk6Ci1AQCAtMTE1Miw3 ICsxMTUzLDcgQEAgZGVmIF9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNvdXJjZSk6Ci0gCi0gICAg IE9VVFBVVDoKLSAKLS0gICAgLSBhbiBpbnN0YW5jZSBvZiA6b2JqOmBpbnNwZWN0LkFyZ1NwZWNg LCBpLmUuLCBhIG5hbWVkIHR1cGxlCi0rICAgIC0gYW4gaW5zdGFuY2Ugb2YgOmNsYXNzOmBpbnNw ZWN0LkZ1bGxBcmdTcGVjYCwgaS5lLiwgYSBuYW1lZCB0dXBsZQotIAotICAgICBFWEFNUExFUzo6 Ci0gCi1AQCAtMTY2MiwxMSArMTY2MywxMSBAQCBkZWYgc2FnZV9nZXRhcmdzcGVjKG9iaik6Ci0g ICAgICAgICByZXR1cm4gc2FnZV9nZXRhcmdzcGVjKG9iai5fX2NhbGxfXykKLSAgICAgaWYgaXNp bnN0YW5jZShvYmosIChsYXp5X2F0dHJpYnV0ZSwgQWJzdHJhY3RNZXRob2QpKToKLSAgICAgICAg IHNvdXJjZSA9IHNhZ2VfZ2V0c291cmNlKG9iaikKLS0gICAgICAgIHJldHVybiBpbnNwZWN0LkFy Z1NwZWMoKl9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNvdXJjZSkpCi0rICAgICAgICByZXR1cm4g aW5zcGVjdC5GdWxsQXJnU3BlYygqX3NhZ2VfZ2V0YXJnc3BlY19jeXRob24oc291cmNlKSkKLSAg ICAgaWYgbm90IGNhbGxhYmxlKG9iaik6Ci0gICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm9iaiBp cyBub3QgYSBjb2RlIG9iamVjdCIpCi0gICAgIHRyeToKLS0gICAgICAgIHJldHVybiBpbnNwZWN0 LkFyZ1NwZWMoKm9iai5fc2FnZV9hcmdzcGVjXygpKQotKyAgICAgICAgcmV0dXJuIGluc3BlY3Qu RnVsbEFyZ1NwZWMoKm9iai5fc2FnZV9hcmdzcGVjXygpKQotICAgICBleGNlcHQgKEF0dHJpYnV0 ZUVycm9yLCBUeXBlRXJyb3IpOgotICAgICAgICAgcGFzcwotICAgICAjIElmIHdlIGFyZSBsdWNr eSwgdGhlIGZ1bmN0aW9uIHNpZ25hdHVyZSBpcyBlbWJlZGRlZCBpbiB0aGUgZG9jc3RyaW5nLgot QEAgLTE2ODIsNyArMTY4Myw3IEBAIGRlZiBzYWdlX2dldGFyZ3NwZWMob2JqKToKLSAgICAgICAg ICMgTm90ZSB0aGF0IHRoaXMgbWF5IGdpdmUgYSB3cm9uZyByZXN1bHQgZm9yIHRoZSBjb25zdGFu dHMhCi0gICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgYXJncywgdmFyYXJncywgdmFya3cgPSBp bnNwZWN0LmdldGFyZ3Mob2JqLl9fY29kZV9fKQotLSAgICAgICAgICAgIHJldHVybiBpbnNwZWN0 LkFyZ1NwZWMoYXJncywgdmFyYXJncywgdmFya3csIG9iai5fX2RlZmF1bHRzX18pCi0rICAgICAg ICAgICAgcmV0dXJuIGluc3BlY3QuRnVsbEFyZ1NwZWMoYXJncywgdmFyYXJncywgdmFya3csIG9i ai5fX2RlZmF1bHRzX18pCi0gICAgICAgICBleGNlcHQgKFR5cGVFcnJvciwgQXR0cmlidXRlRXJy b3IpOgotICAgICAgICAgICAgIHBhc3MKLSAgICAgaWYgaXNjbGFzc2luc3RhbmNlKG9iaik6Ci1A QCAtMTcxNyw3ICsxNzE4LDcgQEAgZGVmIHNhZ2VfZ2V0YXJnc3BlYyhvYmopOgotICAgICAgICAg ZXhjZXB0IFR5cGVFcnJvcjogIyBoYXBwZW5zIGZvciBQeXRob24gYnVpbHRpbnMKLSAgICAgICAg ICAgICBzb3VyY2UgPSAnJwotICAgICAgICAgaWYgc291cmNlOgotLSAgICAgICAgICAgIHJldHVy biBpbnNwZWN0LkFyZ1NwZWMoKl9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNvdXJjZSkpCi0rICAg ICAgICAgICAgcmV0dXJuIGluc3BlY3QuRnVsbEFyZ1NwZWMoKl9zYWdlX2dldGFyZ3NwZWNfY3l0 aG9uKHNvdXJjZSkpCi0gICAgICAgICBlbHNlOgotICAgICAgICAgICAgIGZ1bmNfb2JqID0gb2Jq Ci0gCi1AQCAtMTczMCw3ICsxNzMxLDcgQEAgZGVmIHNhZ2VfZ2V0YXJnc3BlYyhvYmopOgotICAg ICAgICAgZXhjZXB0IFR5cGVFcnJvcjogIyBhcmcgaXMgbm90IGEgY29kZSBvYmplY3QKLSAgICAg ICAgICAgICAjIFRoZSBhYm92ZSAiaG9wZWZ1bGx5IiB3YXMgd2lzaGZ1bCB0aGlua2luZzoKLSAg ICAgICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgICAgIHJldHVybiBpbnNwZWN0LkFyZ1NwZWMo Kl9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNhZ2VfZ2V0c291cmNlKG9iaikpKQotKyAgICAgICAg ICAgICAgICByZXR1cm4gaW5zcGVjdC5GdWxsQXJnU3BlYygqX3NhZ2VfZ2V0YXJnc3BlY19jeXRo b24oc2FnZV9nZXRzb3VyY2Uob2JqKSkpCi0gICAgICAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjog IyBUaGlzIGhhcHBlbnMgZm9yIFB5dGhvbiBidWlsdGlucwotICAgICAgICAgICAgICAgICAjIFRo ZSBiZXN0IHdlIGNhbiBkbyBpcyB0byByZXR1cm4gYSBnZW5lcmljIGFyZ3NwZWMKLSAgICAgICAg ICAgICAgICAgYXJncyA9IFtdCi1AQCAtMTc0MCw3ICsxNzQxLDggQEAgZGVmIHNhZ2VfZ2V0YXJn c3BlYyhvYmopOgotICAgICAgICAgZGVmYXVsdHMgPSBmdW5jX29iai5fX2RlZmF1bHRzX18KLSAg ICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgZGVmYXVsdHMgPSBOb25lCi0tICAg IHJldHVybiBpbnNwZWN0LkFyZ1NwZWMoYXJncywgdmFyYXJncywgdmFya3csIGRlZmF1bHRzKQot KyAgICByZXR1cm4gaW5zcGVjdC5GdWxsQXJnU3BlYyhhcmdzLCB2YXJhcmdzLCB2YXJrdywgZGVm YXVsdHMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3 b25seWRlZmF1bHRzPXt9LCBhbm5vdGF0aW9ucz17fSkKLSAKLSAKLSBkZWYgZm9ybWF0YW5ub3Rh dGlvbihhbm5vdGF0aW9uLCBiYXNlX21vZHVsZT1Ob25lKToKLUBAIC0xODExLDcgKzE4MTMsNyBA QCBkZWYgc2FnZV9mb3JtYXRhcmdzcGVjKGFyZ3MsIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwg ZGVmYXVsdHM9Tm9uZSwKLSAgICAgOmZ1bmM6YHNhZ2VfZ2V0YXJnc3BlY2AuIFNpbmNlIDpmdW5j OmBzYWdlX2dldGFyZ3NwZWNgIHdvcmtzIGZvcgotICAgICBDeXRob24gZnVuY3Rpb25zIHdoaWxl IFB5dGhvbidzIGluc3BlY3QgbW9kdWxlIGRvZXMgbm90LCBpdCBtYWtlcwotICAgICBzZW5zZSB0 byBrZWVwIHRoaXMgZnVuY3Rpb24gZm9yIGZvcm1hdHRpbmcgaW5zdGFuY2VzIG9mCi0tICAgIGBg aW5zcGVjdC5BcmdTcGVjYGAuCi0rICAgIGBgaW5zcGVjdC5GdWxsQXJnU3BlY2BgLgotIAotICAg ICBFWEFNUExFUzo6Ci0gCi0tLSAKLTIuMzguMQotCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2Vt YXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wMy1weXRob24zLjExLWZpbmFsX2ZpeGVzLTdiNmZhNTY1 ZjQyLnBhdGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzM4NDItMDMtcHl0aG9u My4xMS1maW5hbF9maXhlcy03YjZmYTU2NWY0Mi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggY2QyZmExMTYyMmMzLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9zYWdlbWF0 aC9wYXRjaGVzL3RyYWMtMzM4NDItMDMtcHl0aG9uMy4xMS1maW5hbF9maXhlcy03YjZmYTU2NWY0 Mi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNzkgKzAsMCBAQAotRnJvbSA4OTU1NjA3Yzcx Y2I5NGU0YTgxMGI4OWYxMTNiN2IyMjBhMzUxNDE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQu ZWR1LnV5PgotRGF0ZTogU3VuLCA2IE5vdiAyMDIyIDExOjI2OjEwIC0wMzAwCi1TdWJqZWN0OiBb UEFUQ0ggMDEvMTFdIGRpY3RfZGVsX2J5X3ZhbHVlOiBtb3ZlIHB5dGhvbiBpbnRlcm5hbCBkZWZp bml0aW9ucyB0bwotIGEgc2VwYXJhdGUgZmlsZQotCi0tLS0KLSBzcmMvc2FnZS9jcHl0aG9uL2Rp Y3RfZGVsX2J5X3ZhbHVlLnB5eCB8IDE1MyArKysrKysrKy0tLS0tLS0tLS0tLS0tLQotIHNyYy9z YWdlL2NweXRob24vZGljdF9pbnRlcm5hbC5oICAgICAgIHwgMTY1ICsrKysrKysrKysrKysrKysr KysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDIxNCBpbnNlcnRpb25zKCspLCAxMDQgZGVsZXRp b25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9zYWdlL2NweXRob24vZGljdF9pbnRlcm5h bC5oCi0KLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9jcHl0aG9uL2RpY3RfZGVsX2J5X3ZhbHVlLnB5 eCBiL3NyYy9zYWdlL2NweXRob24vZGljdF9kZWxfYnlfdmFsdWUucHl4Ci1pbmRleCA0ODhiZjlj ODRjYy4uMzg5NDU1NGMxM2QgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9jcHl0aG9uL2RpY3RfZGVs X2J5X3ZhbHVlLnB5eAotKysrIGIvc3JjL3NhZ2UvY3B5dGhvbi9kaWN0X2RlbF9ieV92YWx1ZS5w eXgKLUBAIC0xOSwxMyArMTksOCBAQCBBVVRIT1JTOgotICMgICAgICAgICAgICAgICAgICBodHRw czovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLwotICMgKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIAotLWlt cG9ydCB3ZWFrcmVmCi0tZnJvbSB3ZWFrcmVmIGltcG9ydCBLZXllZFJlZgotLQotIGZyb20gY3B5 dGhvbi5saXN0IGNpbXBvcnQgUHlMaXN0X05ldwotLWZyb20gY3B5dGhvbiBjaW1wb3J0IFB5X1hJ TkNSRUYsIFB5X1hERUNSRUYKLSAKLS1mcm9tIGxpYmMuc3RkaW50IGNpbXBvcnQgaW50OF90LCBp bnQxNl90LCBpbnQzMl90LCBpbnQ2NF90Ci0gY2RlZiBleHRlcm4gZnJvbSAiUHl0aG9uLmgiOgot ICAgICBjdHlwZWRlZiBzdHJ1Y3QgUHlEaWN0S2V5c09iamVjdAotIAotQEAgLTM0LDk5ICsyOSw0 NyBAQCBjZGVmIGV4dGVybiBmcm9tICJQeXRob24uaCI6Ci0gICAgICAgICBQeURpY3RLZXlzT2Jq ZWN0ICogbWFfa2V5cwotICAgICAgICAgUHlPYmplY3QgKiogbWFfdmFsdWVzCi0gCi0tICAgICN3 ZSBuZWVkIHRoaXMgcmVkZWZpbml0aW9uIGJlY2F1c2Ugd2Ugd2FudCB0byBiZSBhYmxlIHRvIGNh bGwKLS0gICAgI1B5V2Vha3JlZl9HZXRPYmplY3Qgd2l0aCBib3Jyb3dlZCByZWZlcmVuY2VzLiBU aGlzIGlzIHRoZSByZWNvbW1lbmRlZAotLSAgICAjc3RyYXRlZ3kgYWNjb3JkaW5nIHRvIEN5dGhv bi9JbmNsdWRlcy9jcHl0aG9uL19faW5pdF9fLnB4ZAotLSAgICBQeU9iamVjdCogUHlXZWFrcmVm X0dldE9iamVjdChQeU9iamVjdCAqIHdyKQotICAgICBpbnQgUHlMaXN0X1NldEl0ZW0ob2JqZWN0 IGxpc3QsIFB5X3NzaXplX3QgaW5kZXgsIFB5T2JqZWN0ICogaXRlbSkgZXhjZXB0IC0xCi0tICAg IGludCBQeVdlYWtyZWZfQ2hlY2soUHlPYmplY3QgKiBvYikKLS0jIyMjCi0tI2RlZmluaXRpb25z IHJlcGxpY2F0ZWQgZnJvbSBDUHl0aG9uJ3MgT2JqZWN0cy9kaWN0LWNvbW1vbi5oCi0tIyh0aGlz IGZpbGUgaXMgbm90IGV4cG9ydGVkIGZyb20gQ1B5dGhvbiwgc28gd2UgbmVlZCB0byBiZQotLSNj YXJlZnVsIHRoZSBkZWZpbml0aW9ucyBhcmUgaW4gc3RlcCB3aXRoIHdoYXQgaGFwcGVucyB0aGVy ZS4KLS0KLS1jdHlwZWRlZiB2b2lkKiBkaWN0X2xvb2t1cF9mdW5jICAjIFByZWNpc2UgZGVmaW5p dGlvbiBub3QgbmVlZGVkCi0tCi0tY3R5cGVkZWYgdW5pb24gSW5kZXhCbG9jazoKLS0gICAgaW50 OF90IGFzXzFbOF0KLS0gICAgaW50MTZfdCBhc18yWzRdCi0tICAgIGludDMyX3QgYXNfNFsyXQot LSAgICBpbnQ2NF90IGFzXzhbMV0KLS0KLS1jdHlwZWRlZiBzdHJ1Y3QgTXlQeURpY3RLZXlzT2Jq ZWN0OgotLSAgICBQeV9zc2l6ZV90IGRrX3JlZmNudAotLSAgICBQeV9zc2l6ZV90IGRrX3NpemUK LS0gICAgZGljdF9sb29rdXBfZnVuYyBka19sb29rdXAKLS0gICAgUHlfc3NpemVfdCBka191c2Fi bGUKLS0gICAgUHlfc3NpemVfdCBka19uZW50cmllcwotLSAgICBJbmRleEJsb2NrIGRrX2luZGlj ZXMKLS0KLS1jdHlwZWRlZiBzdHJ1Y3QgUHlEaWN0S2V5RW50cnk6Ci0tICAgIFB5X2hhc2hfdCBt ZV9oYXNoCi0tICAgIFB5T2JqZWN0ICogbWVfa2V5Ci0tICAgIFB5T2JqZWN0ICogbWVfdmFsdWUK LS0KLS1jZGVmIFB5X3NzaXplX3QgREtJWF9FTVBUWSA9IC0xCi0tY2RlZiBQeV9zc2l6ZV90IERL SVhfRFVNTVkgPSAtMgotLWNkZWYgUHlfc3NpemVfdCBES0lYX0VSUk9SID0gLTMKLS0KLS0jIyMj IwotLSNUaGVzZSByb3V0aW5lcyBhcmUgY29waWVkIGZyb20gQ1B5dGhvbidzIE9iamVjdC9kaWN0 b2JqZWN0LmMKLS0jaW4gb3JkZXIgdG8gYWNjZXNzIFB5RGljdEtleXNPYmplY3QgZmllbGRzCi0t Ci0tY2RlZiBpbmxpbmUgaW50IERLX0lYU0laRShNeVB5RGljdEtleXNPYmplY3QgKmtleXMpOgot LSAgICBjZGVmIFB5X3NzaXplX3QgcyA9IGtleXMuZGtfc2l6ZQotLSAgICBpZiBzIDw9IDB4ZmY6 Ci0tICAgICAgICByZXR1cm4gMQotLSAgICBlbGlmIHMgPD0gMHhmZmZmOgotLSAgICAgICAgcmV0 dXJuIDIKLS0gICAgZWxpZiBzIDw9IDB4ZmZmZmZmZmY6Ci0tICAgICAgICByZXR1cm4gNAotLSAg ICBlbHNlOgotLSAgICAgICAgcmV0dXJuIDgKLS0KLS1jZGVmIGlubGluZSBQeURpY3RLZXlFbnRy eSAqIERLX0VOVFJJRVMoTXlQeURpY3RLZXlzT2JqZWN0ICprZXlzKToKLS0gICAgcmV0dXJuIDxQ eURpY3RLZXlFbnRyeSo+ICYoa2V5cy5ka19pbmRpY2VzLmFzXzFba2V5cy5ka19zaXplICogREtf SVhTSVpFKGtleXMpXSkKLS0KLS1jZGVmIGlubGluZSBQeV9zc2l6ZV90IGRrX2dldF9pbmRleChN eVB5RGljdEtleXNPYmplY3QgKmtleXMsIFB5X3NzaXplX3QgaSk6Ci0tICAgIGNkZWYgUHlfc3Np emVfdCBzID0ga2V5cy5ka19zaXplCi0tICAgIGlmIHMgPD0gMHhmZjoKLS0gICAgICAgIHJldHVy biBrZXlzLmRrX2luZGljZXMuYXNfMVtpXQotLSAgICBlbGlmIHMgPD0gMHhmZmZmOgotLSAgICAg ICAgcmV0dXJuIGtleXMuZGtfaW5kaWNlcy5hc18yW2ldCi0tICAgIGVsaWYgcyA8PSAweGZmZmZm ZmZmOgotLSAgICAgICAgcmV0dXJuIGtleXMuZGtfaW5kaWNlcy5hc180W2ldCi0tICAgIGVsc2U6 Ci0tICAgICAgICByZXR1cm4ga2V5cy5ka19pbmRpY2VzLmFzXzhbaV0KLS0KLS1jZGVmIGlubGlu ZSB2b2lkIGRrX3NldF9pbmRleChNeVB5RGljdEtleXNPYmplY3QgKmtleXMsIFB5X3NzaXplX3Qg aSwgUHlfc3NpemVfdCBpeCk6Ci0tICAgIGNkZWYgUHlfc3NpemVfdCBzID0ga2V5cy5ka19zaXpl Ci0tICAgIGlmIHMgPD0gMHhmZjoKLS0gICAgICAgIGtleXMuZGtfaW5kaWNlcy5hc18xW2ldID0g aXgKLS0gICAgZWxpZiBzIDw9IDB4ZmZmZjoKLS0gICAgICAgIGtleXMuZGtfaW5kaWNlcy5hc18y W2ldID0gaXgKLS0gICAgZWxpZiBzIDw9IDB4ZmZmZmZmZmY6Ci0tICAgICAgICBrZXlzLmRrX2lu ZGljZXMuYXNfNFtpXSA9IGl4Ci0tICAgIGVsc2U6Ci0tICAgICAgICBrZXlzLmRrX2luZGljZXMu YXNfOFtpXSA9IGl4Ci0tCi0tI0VuZCBvZiByZXBsaWNhdGlvbiBvZiBPYmplY3QvZGljdG9iamVj dC5jCi0tIyMjIyMjCi0tCi0tY2RlZiBkaWN0X2xvb2t1cF9mdW5jIGxvb2tkaWN0Ci0tCi0tY2Rl ZiBkaWN0X2xvb2t1cF9mdW5jIERLX0xPT0tVUChQeURpY3RPYmplY3QgKm1wKToKLS0gICAgcmV0 dXJuICg8TXlQeURpY3RLZXlzT2JqZWN0ICo+KG1wLm1hX2tleXMpKS5ka19sb29rdXAKLS0KLS1k ZWYgaW5pdF9sb29rZGljdCgpOgotLSAgICBnbG9iYWwgbG9va2RpY3QKLS0gICAgIyBBIGRpY3Qg d2hpY2ggYSBub24tc3RyaW5nIGtleSB1c2VzIHRoZSBnZW5lcmljICJsb29rZGljdCIKLS0gICAg IyBhcyBsb29rdXAgZnVuY3Rpb24KLS0gICAgY2RlZiBvYmplY3QgRCA9IHt9Ci0tICAgIERbMF0g PSAwCi0tICAgIGxvb2tkaWN0ID0gREtfTE9PS1VQKDxQeURpY3RPYmplY3QgKj5EKQotLQotLWlu aXRfbG9va2RpY3QoKQotKwotK2NkZWYgZXh0ZXJuIGZyb20gImRpY3RfaW50ZXJuYWwuaCI6Ci0r ICAgIFB5X3NzaXplX3QgREtfTUFTSyhQeURpY3RLZXlzT2JqZWN0ICopCi0rICAgIFB5RGljdEtl eUVudHJ5ICogREtfRU5UUklFUyhQeURpY3RLZXlzT2JqZWN0ICprZXlzKQotKwotKyAgICBQeV9z c2l6ZV90IGRpY3RrZXlzX2dldF9pbmRleCAoUHlEaWN0S2V5c09iamVjdCAqa2V5cywgUHlfc3Np emVfdCBpKQotKyAgICB2b2lkIGRpY3RrZXlzX3NldF9pbmRleCAoUHlEaWN0S2V5c09iamVjdCAq a2V5cywgUHlfc3NpemVfdCBpLCBQeV9zc2l6ZV90IGl4KQotKwotKyAgICBQeV9zc2l6ZV90IERL SVhfRU1QVFksIERLSVhfRFVNTVkKLSsgICAgaW50IFBFUlRVUkJfU0hJRlQKLSsKLSsgICAgY3R5 cGVkZWYgc3RydWN0IFB5RGljdEtleUVudHJ5OgotKyAgICAgICAgUHlfaGFzaF90IG1lX2hhc2gK LSsgICAgICAgIFB5T2JqZWN0ICogbWVfa2V5Ci0rICAgICAgICBQeU9iamVjdCAqIG1lX3ZhbHVl Ci0rCi0rCi0rIyBka19sb29rdXAgd2FzIHJlbW92ZWQgaW4gcHl0aG9uIDMuMTEKLStERUYgSEFT X0RLX0xPT0tVUCA9IFBZX1ZFUlNJT05fSEVYIDwgMHgzMGIwMDAwCi0rCi0rSUYgSEFTX0RLX0xP T0tVUDoKLSsKLSsgICAgY2RlZiBleHRlcm4gZnJvbSAqOgotKyAgICAgICAgIiIiCi0rICAgICAg ICAjZGVmaW5lIERLX0xPT0tVUChkaykgKChkayktPmRrX2xvb2t1cCkKLSsgICAgICAgICIiIgot KyAgICAgICAgY3R5cGVkZWYgdm9pZCAqIGRpY3RfbG9va3VwX2Z1bmMgICMgUHJlY2lzZSBkZWZp bml0aW9uIG5vdCBuZWVkZWQKLSsgICAgICAgIGRpY3RfbG9va3VwX2Z1bmMgREtfTE9PS1VQKFB5 RGljdEtleXNPYmplY3QgKm1wKQotKwotKyAgICBjZGVmIGRpY3RfbG9va3VwX2Z1bmMgbG9va2Rp Y3QKLSsKLSsgICAgZGVmIGluaXRfbG9va2RpY3QoKToKLSsgICAgICAgIGdsb2JhbCBsb29rZGlj dAotKyAgICAgICAgIyBBIGRpY3Qgd2hpY2ggYSBub24tc3RyaW5nIGtleSB1c2VzIHRoZSBnZW5l cmljICJsb29rZGljdCIKLSsgICAgICAgICMgYXMgbG9va3VwIGZ1bmN0aW9uCi0rICAgICAgICBj ZGVmIG9iamVjdCBEID0ge30KLSsgICAgICAgIERbMF0gPSAwCi0rICAgICAgICBsb29rZGljdCA9 IERLX0xPT0tVUCgoPFB5RGljdE9iamVjdCAqPkQpLm1hX2tleXMpCi0rCi0rICAgIGluaXRfbG9v a2RpY3QoKQotIAotIGNkZWYgaW50IGRlbF9kaWN0aXRlbV9ieV9leGFjdF92YWx1ZShQeURpY3RP YmplY3QgKm1wLCBQeU9iamVjdCAqdmFsdWUsIFB5X2hhc2hfdCBoYXNoKSBleGNlcHQgLTE6Ci0g ICAgICIiIgotQEAgLTE3Nyw5ICsxMjAsOSBAQCBjZGVmIGludCBkZWxfZGljdGl0ZW1fYnlfZXhh Y3RfdmFsdWUoUHlEaWN0T2JqZWN0ICptcCwgUHlPYmplY3QgKnZhbHVlLCBQeV9oYXNoXwotICAg ICAgICAgc2FnZTogZm9yIGkgaW4gcmFuZ2UoMTBeMysxMCk6IG5ld0EgPSBBKCk7IE1bbmV3QV0g PSBwcmV2OyBwcmV2ID0gbmV3QQotICAgICAgICAgc2FnZTogZGVsIGEKLSAgICAgIiIiCi0tICAg IGtleXMgPSA8TXlQeURpY3RLZXlzT2JqZWN0ICo+KG1wLm1hX2tleXMpCi0rICAgIGtleXMgPSBt cC5tYV9rZXlzCi0gICAgIGNkZWYgc2l6ZV90IHBlcnR1cmIKLS0gICAgY2RlZiBzaXplX3QgbWFz ayA9IDxzaXplX3Q+IGtleXMuZGtfc2l6ZS0xCi0rICAgIGNkZWYgc2l6ZV90IG1hc2sgPSBES19N QVNLKGtleXMpCi0gICAgIGNkZWYgUHlEaWN0S2V5RW50cnkgKmVudHJpZXMgPSBES19FTlRSSUVT KGtleXMpCi0gICAgIGNkZWYgUHlEaWN0S2V5RW50cnkgKmVwCi0gCi1AQCAtMTg3LDcgKzEzMCw3 IEBAIGNkZWYgaW50IGRlbF9kaWN0aXRlbV9ieV9leGFjdF92YWx1ZShQeURpY3RPYmplY3QgKm1w LCBQeU9iamVjdCAqdmFsdWUsIFB5X2hhc2hfCi0gICAgICAgICByYWlzZSBUeXBlRXJyb3IoImRl bF9kaWN0aXRlbV9ieV9leGFjdF92YWx1ZSBjYW5ub3QgYmUgYXBwbGllZCB0byBhIHNoYXJlZCBr ZXkgZGljdCIpCi0gCi0gICAgIGNkZWYgc2l6ZV90IGkgPSA8c2l6ZV90Pmhhc2ggJiBtYXNrCi0t ICAgIGl4ID0gZGtfZ2V0X2luZGV4KGtleXMsIGkpCi0rICAgIGl4ID0gZGljdGtleXNfZ2V0X2lu ZGV4KGtleXMsIGkpCi0gCi0gICAgIGlmIGl4ID09IERLSVhfRU1QVFk6Ci0gICAgICAgICAjIGtl eSBub3QgZm91bmQKLUBAIC0xOTYsOSArMTM5LDkgQEAgY2RlZiBpbnQgZGVsX2RpY3RpdGVtX2J5 X2V4YWN0X3ZhbHVlKFB5RGljdE9iamVjdCAqbXAsIFB5T2JqZWN0ICp2YWx1ZSwgUHlfaGFzaF8K LSAgICAgZXAgPSAmKGVudHJpZXNbaXhdKQotICAgICBwZXJ0dXJiID0gaGFzaAotICAgICB3aGls ZSAoZXAubWVfdmFsdWUgIT0gdmFsdWUgb3IgZXAubWVfaGFzaCAhPSBoYXNoKToKLS0gICAgICAg IHBlcnR1cmIgPSBwZXJ0dXJiID4+IDUgI3RoaXMgaXMgdGhlIHZhbHVlIG9mIFBFUlRVUkJfU0hJ RlQKLSsgICAgICAgIHBlcnR1cmIgPSBwZXJ0dXJiID4+IFBFUlRVUkJfU0hJRlQKLSAgICAgICAg IGkgPSBtYXNrICYgKGkgKiA1ICsgcGVydHVyYiArIDEpCi0tICAgICAgICBpeCA9IGRrX2dldF9p bmRleChrZXlzLCBpKQotKyAgICAgICAgaXggPSBkaWN0a2V5c19nZXRfaW5kZXgoa2V5cywgaSkK LSAgICAgICAgIGlmIGl4ID09IERLSVhfRU1QVFk6Ci0gICAgICAgICAgICAgIyBrZXkgbm90IGZv dW5kCi0gICAgICAgICAgICAgcmV0dXJuIDAKLUBAIC0yMDYsNyArMTQ5LDkgQEAgY2RlZiBpbnQg ZGVsX2RpY3RpdGVtX2J5X2V4YWN0X3ZhbHVlKFB5RGljdE9iamVjdCAqbXAsIFB5T2JqZWN0ICp2 YWx1ZSwgUHlfaGFzaF8KLSAKLSAgICAgIyBXZSBuZWVkIHRoZSBsb29rdXAgZnVuY3Rpb24gdG8g YmUgdGhlIGdlbmVyaWMgbG9va2RpY3QsIG90aGVyd2lzZQotICAgICAjIGRlbGV0aW9ucyBtYXkg bm90IHdvcmsgY29ycmVjdGx5Ci0tICAgIGtleXMuZGtfbG9va3VwID0gbG9va2RpY3QKLSsgICAg SUYgSEFTX0RLX0xPT0tVUDoKLSsgICAgICAgICMgQ2FuIHRoaXMgZmFpbD8gSW4gYW55IGNhc2Ug ZGtfbG9va3VwIHdhcyByZW1vdmVkIGluIHB5dGhvbiAzLjExCi0rICAgICAgICBhc3NlcnQgREtf TE9PS1VQKGtleXMpIGlzIGxvb2tkaWN0Ci0gCi0gICAgIFQgPSBQeUxpc3RfTmV3KDIpCi0gICAg IFB5TGlzdF9TZXRJdGVtKFQsIDAsIGVwLm1lX2tleSkKLUBAIC0yMTQsNyArMTU5LDcgQEAgY2Rl ZiBpbnQgZGVsX2RpY3RpdGVtX2J5X2V4YWN0X3ZhbHVlKFB5RGljdE9iamVjdCAqbXAsIFB5T2Jq ZWN0ICp2YWx1ZSwgUHlfaGFzaF8KLSAgICAgZXAubWVfa2V5ID0gTlVMTAotICAgICBlcC5tZV92 YWx1ZSA9IE5VTEwKLSAgICAgbXAubWFfdXNlZCAtPSAxCi0tICAgIGRrX3NldF9pbmRleChrZXlz LCBpLCBES0lYX0RVTU1ZKQotKyAgICBkaWN0a2V5c19zZXRfaW5kZXgoa2V5cywgaSwgREtJWF9E VU1NWSkKLSAgICAgI1dlIGhhdmUgdHJhbnNmZXJyZWQgdGhlIHRvLWJlLWRlbGV0ZWQgcmVmZXJl bmNlcyB0byB0aGUgbGlzdCBUCi0gICAgICN3ZSBub3cgZGVsZXRlIHRoZSBsaXN0IHNvIHRoYXQg dGhlIGFjdHVhbCBkZWNyZWYgaGFwcGVucyB0aHJvdWdoIGEKLSAgICAgI2RlYWxsb2NhdGlvbiBy b3V0aW5lIHRoYXQgdXNlcyB0aGUgUHl0aG9uIFRyYXNoY2FuIG1hY3JvcyB0bwotZGlmZiAtLWdp dCBhL3NyYy9zYWdlL2NweXRob24vZGljdF9pbnRlcm5hbC5oIGIvc3JjL3NhZ2UvY3B5dGhvbi9k aWN0X2ludGVybmFsLmgKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4u MDZjN2ExNmIyNzUKLS0tLSAvZGV2L251bGwKLSsrKyBiL3NyYy9zYWdlL2NweXRob24vZGljdF9p bnRlcm5hbC5oCi1AQCAtMCwwICsxLDE2NSBAQAotKy8qIFRoaXMgY29udGFpbnMgaW50ZXJuYWwg ZGVmaW5pdGlvbnMgZm9yIHB5dGhvbiBkaWN0aW9uYXJpZXMsCi0rICogbW9zdGx5IGNvcGllZCBm cm9tIGNweXRob24gc291cmNlY29kZS4KLSsgKgotKyAqIE1vdmVkIGhlcmUgdG8gbWFrZSBpdCBl YXNpZXIgdG8gbWFpbnRhaW4gaW4gdGhlIGZhY2Ugb2YgcHl0aG9uCi0rICogY2hhbmdlcy4KLSsg KiAqLwotKwotKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKiovCi0rLyogQ29waWVkIHZlcmJhdGltIGZyb20gY3B5dGhvbiAzLjggKE9i amVjdHMvZGljdC1jb21tb24uaCkgKi8KLSsvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotKwotKyNpZm5kZWYgUHlfRElDVF9DT01N T05fSAotKyNkZWZpbmUgUHlfRElDVF9DT01NT05fSAotKwotK3R5cGVkZWYgc3RydWN0IHsKLSsg ICAgLyogQ2FjaGVkIGhhc2ggY29kZSBvZiBtZV9rZXkuICovCi0rICAgIFB5X2hhc2hfdCBtZV9o YXNoOwotKyAgICBQeU9iamVjdCAqbWVfa2V5OwotKyAgICBQeU9iamVjdCAqbWVfdmFsdWU7IC8q IFRoaXMgZmllbGQgaXMgb25seSBtZWFuaW5nZnVsIGZvciBjb21iaW5lZCB0YWJsZXMgKi8KLSt9 IFB5RGljdEtleUVudHJ5OwotKwotKy8qIGRpY3RfbG9va3VwX2Z1bmMoKSByZXR1cm5zIGluZGV4 IG9mIGVudHJ5IHdoaWNoIGNhbiBiZSB1c2VkIGxpa2UgREtfRU5UUklFUyhkaylbaW5kZXhdLgot KyAqIC0xIHdoZW4gbm8gZW50cnkgZm91bmQsIC0zIHdoZW4gY29tcGFyZSByYWlzZXMgZXJyb3Iu Ci0rICovCi0rdHlwZWRlZiBQeV9zc2l6ZV90ICgqZGljdF9sb29rdXBfZnVuYykKLSsgICAgKFB5 RGljdE9iamVjdCAqbXAsIFB5T2JqZWN0ICprZXksIFB5X2hhc2hfdCBoYXNoLCBQeU9iamVjdCAq KnZhbHVlX2FkZHIpOwotKwotKyNkZWZpbmUgREtJWF9FTVBUWSAoLTEpCi0rI2RlZmluZSBES0lY X0RVTU1ZICgtMikgIC8qIFVzZWQgaW50ZXJuYWxseSAqLwotKyNkZWZpbmUgREtJWF9FUlJPUiAo LTMpCi0rCi0rLyogU2VlIGRpY3RvYmplY3QuYyBmb3IgYWN0dWFsIGxheW91dCBvZiBEaWN0S2V5 c09iamVjdCAqLwotK3N0cnVjdCBfZGljdGtleXNvYmplY3QgewotKyAgICBQeV9zc2l6ZV90IGRr X3JlZmNudDsKLSsKLSsgICAgLyogU2l6ZSBvZiB0aGUgaGFzaCB0YWJsZSAoZGtfaW5kaWNlcyku IEl0IG11c3QgYmUgYSBwb3dlciBvZiAyLiAqLwotKyAgICBQeV9zc2l6ZV90IGRrX3NpemU7Ci0r Ci0rICAgIC8qIEZ1bmN0aW9uIHRvIGxvb2t1cCBpbiB0aGUgaGFzaCB0YWJsZSAoZGtfaW5kaWNl cyk6Ci0rCi0rICAgICAgIC0gbG9va2RpY3QoKTogZ2VuZXJhbC1wdXJwb3NlLCBhbmQgbWF5IHJl dHVybiBES0lYX0VSUk9SIGlmIChhbmQKLSsgICAgICAgICBvbmx5IGlmKSBhIGNvbXBhcmlzb24g cmFpc2VzIGFuIGV4Y2VwdGlvbi4KLSsKLSsgICAgICAgLSBsb29rZGljdF91bmljb2RlKCk6IHNw ZWNpYWxpemVkIHRvIFVuaWNvZGUgc3RyaW5nIGtleXMsIGNvbXBhcmlzb24gb2YKLSsgICAgICAg ICB3aGljaCBjYW4gbmV2ZXIgcmFpc2UgYW4gZXhjZXB0aW9uOyB0aGF0IGZ1bmN0aW9uIGNhbiBu ZXZlciByZXR1cm4KLSsgICAgICAgICBES0lYX0VSUk9SLgotKwotKyAgICAgICAtIGxvb2tkaWN0 X3VuaWNvZGVfbm9kdW1teSgpOiBzaW1pbGFyIHRvIGxvb2tkaWN0X3VuaWNvZGUoKSBidXQgZnVy dGhlcgotKyAgICAgICAgIHNwZWNpYWxpemVkIGZvciBVbmljb2RlIHN0cmluZyBrZXlzIHRoYXQg Y2Fubm90IGJlIHRoZSA8ZHVtbXk+IHZhbHVlLgotKwotKyAgICAgICAtIGxvb2tkaWN0X3NwbGl0 KCk6IFZlcnNpb24gb2YgbG9va2RpY3QoKSBmb3Igc3BsaXQgdGFibGVzLiAqLwotKyAgICBkaWN0 X2xvb2t1cF9mdW5jIGRrX2xvb2t1cDsKLSsKLSsgICAgLyogTnVtYmVyIG9mIHVzYWJsZSBlbnRy aWVzIGluIGRrX2VudHJpZXMuICovCi0rICAgIFB5X3NzaXplX3QgZGtfdXNhYmxlOwotKwotKyAg ICAvKiBOdW1iZXIgb2YgdXNlZCBlbnRyaWVzIGluIGRrX2VudHJpZXMuICovCi0rICAgIFB5X3Nz aXplX3QgZGtfbmVudHJpZXM7Ci0rCi0rICAgIC8qIEFjdHVhbCBoYXNoIHRhYmxlIG9mIGRrX3Np emUgZW50cmllcy4gSXQgaG9sZHMgaW5kaWNlcyBpbiBka19lbnRyaWVzLAotKyAgICAgICBvciBE S0lYX0VNUFRZKC0xKSBvciBES0lYX0RVTU1ZKC0yKS4KLSsKLSsgICAgICAgSW5kaWNlcyBtdXN0 IGJlOiAwIDw9IGluZGljZSA8IFVTQUJMRV9GUkFDVElPTihka19zaXplKS4KLSsKLSsgICAgICAg VGhlIHNpemUgaW4gYnl0ZXMgb2YgYW4gaW5kaWNlIGRlcGVuZHMgb24gZGtfc2l6ZToKLSsKLSsg ICAgICAgLSAxIGJ5dGUgaWYgZGtfc2l6ZSA8PSAweGZmIChjaGFyKikKLSsgICAgICAgLSAyIGJ5 dGVzIGlmIGRrX3NpemUgPD0gMHhmZmZmIChpbnQxNl90KikKLSsgICAgICAgLSA0IGJ5dGVzIGlm IGRrX3NpemUgPD0gMHhmZmZmZmZmZiAoaW50MzJfdCopCi0rICAgICAgIC0gOCBieXRlcyBvdGhl cndpc2UgKGludDY0X3QqKQotKwotKyAgICAgICBEeW5hbWljYWxseSBzaXplZCwgU0laRU9GX1ZP SURfUCBpcyBtaW5pbXVtLiAqLwotKyAgICBjaGFyIGRrX2luZGljZXNbXTsgIC8qIGNoYXIgaXMg cmVxdWlyZWQgdG8gYXZvaWQgc3RyaWN0IGFsaWFzaW5nLiAqLwotKwotKyAgICAvKiAiUHlEaWN0 S2V5RW50cnkgZGtfZW50cmllc1tka191c2FibGVdOyIgYXJyYXkgZm9sbG93czoKLSsgICAgICAg c2VlIHRoZSBES19FTlRSSUVTKCkgbWFjcm8gKi8KLSt9OwotKwotKyNlbmRpZgotKwotKwotKy8q KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Ki8KLSsvKiBDb3BpZWQgdmVyYmF0aW0gZnJvbSBjcHl0aG9uIDMuOCAoT2JqZWN0cy9kaWN0b2Jq ZWN0LmMpICovCi0rLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqLwotKwotKyNkZWZpbmUgUEVSVFVSQl9TSElGVCA1Ci0rI2RlZmluZSBE S19TSVpFKGRrKSAoKGRrKS0+ZGtfc2l6ZSkKLSsjaWYgU0laRU9GX1ZPSURfUCA+IDQKLSsjZGVm aW5lIERLX0lYU0laRShkaykgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAgKERLX1NJ WkUoZGspIDw9IDB4ZmYgPyAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAgICAgIDEgOiBES19T SVpFKGRrKSA8PSAweGZmZmYgPyAgICAgICAgICAgIFwKLSsgICAgICAgICAgICAyIDogREtfU0la RShkaykgPD0gMHhmZmZmZmZmZiA/ICAgIFwKLSsgICAgICAgICAgICAgICAgNCA6IHNpemVvZihp bnQ2NF90KSkKLSsjZWxzZQotKyNkZWZpbmUgREtfSVhTSVpFKGRrKSAgICAgICAgICAgICAgICAg ICAgICAgICAgXAotKyAgICAoREtfU0laRShkaykgPD0gMHhmZiA/ICAgICAgICAgICAgICAgICAg ICAgXAotKyAgICAgICAgMSA6IERLX1NJWkUoZGspIDw9IDB4ZmZmZiA/ICAgICAgICAgICAgXAot KyAgICAgICAgICAgIDIgOiBzaXplb2YoaW50MzJfdCkpCi0rI2VuZGlmCi0rI2RlZmluZSBES19F TlRSSUVTKGRrKSBcCi0rICAgICgoUHlEaWN0S2V5RW50cnkqKSgmKChpbnQ4X3QqKSgoZGspLT5k a19pbmRpY2VzKSlbREtfU0laRShkaykgKiBES19JWFNJWkUoZGspXSkpCi0rCi0rI2RlZmluZSBE S19NQVNLKGRrKSAoKChkayktPmRrX3NpemUpLTEpCi0rCi0rLyogbG9va3VwIGluZGljZXMuICBy ZXR1cm5zIERLSVhfRU1QVFksIERLSVhfRFVNTVksIG9yIGl4ID49MCAqLwotK3N0YXRpYyBpbmxp bmUgUHlfc3NpemVfdAotK2RpY3RrZXlzX2dldF9pbmRleChQeURpY3RLZXlzT2JqZWN0ICprZXlz LCBQeV9zc2l6ZV90IGkpCi0rewotKyAgICBQeV9zc2l6ZV90IHMgPSBES19TSVpFKGtleXMpOwot KyAgICBQeV9zc2l6ZV90IGl4OwotKwotKyAgICBpZiAocyA8PSAweGZmKSB7Ci0rICAgICAgICBp bnQ4X3QgKmluZGljZXMgPSAoaW50OF90Kikoa2V5cy0+ZGtfaW5kaWNlcyk7Ci0rICAgICAgICBp eCA9IGluZGljZXNbaV07Ci0rICAgIH0KLSsgICAgZWxzZSBpZiAocyA8PSAweGZmZmYpIHsKLSsg ICAgICAgIGludDE2X3QgKmluZGljZXMgPSAoaW50MTZfdCopKGtleXMtPmRrX2luZGljZXMpOwot KyAgICAgICAgaXggPSBpbmRpY2VzW2ldOwotKyAgICB9Ci0rI2lmIFNJWkVPRl9WT0lEX1AgPiA0 Ci0rICAgIGVsc2UgaWYgKHMgPiAweGZmZmZmZmZmKSB7Ci0rICAgICAgICBpbnQ2NF90ICppbmRp Y2VzID0gKGludDY0X3QqKShrZXlzLT5ka19pbmRpY2VzKTsKLSsgICAgICAgIGl4ID0gaW5kaWNl c1tpXTsKLSsgICAgfQotKyNlbmRpZgotKyAgICBlbHNlIHsKLSsgICAgICAgIGludDMyX3QgKmlu ZGljZXMgPSAoaW50MzJfdCopKGtleXMtPmRrX2luZGljZXMpOwotKyAgICAgICAgaXggPSBpbmRp Y2VzW2ldOwotKyAgICB9Ci0rICAgIGFzc2VydChpeCA+PSBES0lYX0RVTU1ZKTsKLSsgICAgcmV0 dXJuIGl4OwotK30KLSsKLSsvKiB3cml0ZSB0byBpbmRpY2VzLiAqLwotK3N0YXRpYyBpbmxpbmUg dm9pZAotK2RpY3RrZXlzX3NldF9pbmRleChQeURpY3RLZXlzT2JqZWN0ICprZXlzLCBQeV9zc2l6 ZV90IGksIFB5X3NzaXplX3QgaXgpCi0rewotKyAgICBQeV9zc2l6ZV90IHMgPSBES19TSVpFKGtl eXMpOwotKwotKyAgICBhc3NlcnQoaXggPj0gREtJWF9EVU1NWSk7Ci0rCi0rICAgIGlmIChzIDw9 IDB4ZmYpIHsKLSsgICAgICAgIGludDhfdCAqaW5kaWNlcyA9IChpbnQ4X3QqKShrZXlzLT5ka19p bmRpY2VzKTsKLSsgICAgICAgIGFzc2VydChpeCA8PSAweDdmKTsKLSsgICAgICAgIGluZGljZXNb aV0gPSAoY2hhcilpeDsKLSsgICAgfQotKyAgICBlbHNlIGlmIChzIDw9IDB4ZmZmZikgewotKyAg ICAgICAgaW50MTZfdCAqaW5kaWNlcyA9IChpbnQxNl90Kikoa2V5cy0+ZGtfaW5kaWNlcyk7Ci0r ICAgICAgICBhc3NlcnQoaXggPD0gMHg3ZmZmKTsKLSsgICAgICAgIGluZGljZXNbaV0gPSAoaW50 MTZfdClpeDsKLSsgICAgfQotKyNpZiBTSVpFT0ZfVk9JRF9QID4gNAotKyAgICBlbHNlIGlmIChz ID4gMHhmZmZmZmZmZikgewotKyAgICAgICAgaW50NjRfdCAqaW5kaWNlcyA9IChpbnQ2NF90Kiko a2V5cy0+ZGtfaW5kaWNlcyk7Ci0rICAgICAgICBpbmRpY2VzW2ldID0gaXg7Ci0rICAgIH0KLSsj ZW5kaWYKLSsgICAgZWxzZSB7Ci0rICAgICAgICBpbnQzMl90ICppbmRpY2VzID0gKGludDMyX3Qq KShrZXlzLT5ka19pbmRpY2VzKTsKLSsgICAgICAgIGFzc2VydChpeCA8PSAweDdmZmZmZmZmKTsK LSsgICAgICAgIGluZGljZXNbaV0gPSAoaW50MzJfdClpeDsKLSsgICAgfQotK30KLSsKLSsvKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq LwotLS0gCi0yLjM4LjEKLQotCi1Gcm9tIDc2MDQwODAzYzhhZTE1MGJhZWY0NDllZGNlNjdlYmRh ZmIyZWU4OTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFs bz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+Ci1EYXRlOiBTdW4sIDYg Tm92IDIwMjIgMTE6NTM6MjQgLTAzMDAKLVN1YmplY3Q6IFtQQVRDSCAwMi8xMV0gZGljdF9kZWxf YnlfdmFsdWU6IGFkZCBpbnRlcm5hbCBkZWZpbml0aW9ucyBmb3IgcHl0aG9uCi0gMy4xMQotCi0t LS0KLSBzcmMvc2FnZS9jcHl0aG9uL2RpY3RfaW50ZXJuYWwuaCB8IDc3ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKykKLQot ZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2NweXRob24vZGljdF9pbnRlcm5hbC5oIGIvc3JjL3NhZ2Uv Y3B5dGhvbi9kaWN0X2ludGVybmFsLmgKLWluZGV4IDA2YzdhMTZiMjc1Li40MmE1N2JjYjQ2OCAx MDA2NDQKLS0tLSBhL3NyYy9zYWdlL2NweXRob24vZGljdF9pbnRlcm5hbC5oCi0rKysgYi9zcmMv c2FnZS9jcHl0aG9uL2RpY3RfaW50ZXJuYWwuaAotQEAgLTUsNiArNSw4IEBACi0gICogY2hhbmdl cy4KLSAgKiAqLwotIAotKyNpZiBQWV9WRVJTSU9OX0hFWCA8IDB4MzBiMDAwMAotKwotIC8qKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov Ci0gLyogQ29waWVkIHZlcmJhdGltIGZyb20gY3B5dGhvbiAzLjggKE9iamVjdHMvZGljdC1jb21t b24uaCkgKi8KLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqLwotQEAgLTE2MywzICsxNjUsNzggQEAgZGljdGtleXNfc2V0X2luZGV4 KFB5RGljdEtleXNPYmplY3QgKmtleXMsIFB5X3NzaXplX3QgaSwgUHlfc3NpemVfdCBpeCkKLSB9 Ci0gCi0gLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKi8KLSsKLSsjZWxzZSAgIC8qIFB5dGhvbiA+PSAzLjExICovCi0rCi0rI2RlZmlu ZSBQeV9CVUlMRF9DT1JFCi0rI2luY2x1ZGUgPGludGVybmFsL3B5Y29yZV9kaWN0Lmg+Ci0rCi0r LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKi8KLSsvKiBDb3BpZWQgdmVyYmF0aW0gZnJvbSBjcHl0aG9uIDMuMTEgKE9iamVjdHMvZGlj dG9iamVjdC5jKSAqLwotKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKiovCi0rCi0rI2RlZmluZSBQRVJUVVJCX1NISUZUIDUKLSsjZGVm aW5lIERLX01BU0soZGspIChES19TSVpFKGRrKS0xKQotKwotKy8qIGxvb2t1cCBpbmRpY2VzLiAg cmV0dXJucyBES0lYX0VNUFRZLCBES0lYX0RVTU1ZLCBvciBpeCA+PTAgKi8KLStzdGF0aWMgaW5s aW5lIFB5X3NzaXplX3QKLStkaWN0a2V5c19nZXRfaW5kZXgoY29uc3QgUHlEaWN0S2V5c09iamVj dCAqa2V5cywgUHlfc3NpemVfdCBpKQotK3sKLSsgICAgaW50IGxvZzJzaXplID0gREtfTE9HX1NJ WkUoa2V5cyk7Ci0rICAgIFB5X3NzaXplX3QgaXg7Ci0rCi0rICAgIGlmIChsb2cyc2l6ZSA8IDgp IHsKLSsgICAgICAgIGNvbnN0IGludDhfdCAqaW5kaWNlcyA9IChjb25zdCBpbnQ4X3QqKShrZXlz LT5ka19pbmRpY2VzKTsKLSsgICAgICAgIGl4ID0gaW5kaWNlc1tpXTsKLSsgICAgfQotKyAgICBl bHNlIGlmIChsb2cyc2l6ZSA8IDE2KSB7Ci0rICAgICAgICBjb25zdCBpbnQxNl90ICppbmRpY2Vz ID0gKGNvbnN0IGludDE2X3QqKShrZXlzLT5ka19pbmRpY2VzKTsKLSsgICAgICAgIGl4ID0gaW5k aWNlc1tpXTsKLSsgICAgfQotKyNpZiBTSVpFT0ZfVk9JRF9QID4gNAotKyAgICBlbHNlIGlmIChs b2cyc2l6ZSA+PSAzMikgewotKyAgICAgICAgY29uc3QgaW50NjRfdCAqaW5kaWNlcyA9IChjb25z dCBpbnQ2NF90Kikoa2V5cy0+ZGtfaW5kaWNlcyk7Ci0rICAgICAgICBpeCA9IGluZGljZXNbaV07 Ci0rICAgIH0KLSsjZW5kaWYKLSsgICAgZWxzZSB7Ci0rICAgICAgICBjb25zdCBpbnQzMl90ICpp bmRpY2VzID0gKGNvbnN0IGludDMyX3QqKShrZXlzLT5ka19pbmRpY2VzKTsKLSsgICAgICAgIGl4 ID0gaW5kaWNlc1tpXTsKLSsgICAgfQotKyAgICBhc3NlcnQoaXggPj0gREtJWF9EVU1NWSk7Ci0r ICAgIHJldHVybiBpeDsKLSt9Ci0rCi0rLyogd3JpdGUgdG8gaW5kaWNlcy4gKi8KLStzdGF0aWMg aW5saW5lIHZvaWQKLStkaWN0a2V5c19zZXRfaW5kZXgoUHlEaWN0S2V5c09iamVjdCAqa2V5cywg UHlfc3NpemVfdCBpLCBQeV9zc2l6ZV90IGl4KQotK3sKLSsgICAgaW50IGxvZzJzaXplID0gREtf TE9HX1NJWkUoa2V5cyk7Ci0rCi0rICAgIGFzc2VydChpeCA+PSBES0lYX0RVTU1ZKTsKLSsgICAg YXNzZXJ0KGtleXMtPmRrX3ZlcnNpb24gPT0gMCk7Ci0rCi0rICAgIGlmIChsb2cyc2l6ZSA8IDgp IHsKLSsgICAgICAgIGludDhfdCAqaW5kaWNlcyA9IChpbnQ4X3QqKShrZXlzLT5ka19pbmRpY2Vz KTsKLSsgICAgICAgIGFzc2VydChpeCA8PSAweDdmKTsKLSsgICAgICAgIGluZGljZXNbaV0gPSAo Y2hhcilpeDsKLSsgICAgfQotKyAgICBlbHNlIGlmIChsb2cyc2l6ZSA8IDE2KSB7Ci0rICAgICAg ICBpbnQxNl90ICppbmRpY2VzID0gKGludDE2X3QqKShrZXlzLT5ka19pbmRpY2VzKTsKLSsgICAg ICAgIGFzc2VydChpeCA8PSAweDdmZmYpOwotKyAgICAgICAgaW5kaWNlc1tpXSA9IChpbnQxNl90 KWl4OwotKyAgICB9Ci0rI2lmIFNJWkVPRl9WT0lEX1AgPiA0Ci0rICAgIGVsc2UgaWYgKGxvZzJz aXplID49IDMyKSB7Ci0rICAgICAgICBpbnQ2NF90ICppbmRpY2VzID0gKGludDY0X3QqKShrZXlz LT5ka19pbmRpY2VzKTsKLSsgICAgICAgIGluZGljZXNbaV0gPSBpeDsKLSsgICAgfQotKyNlbmRp ZgotKyAgICBlbHNlIHsKLSsgICAgICAgIGludDMyX3QgKmluZGljZXMgPSAoaW50MzJfdCopKGtl eXMtPmRrX2luZGljZXMpOwotKyAgICAgICAgYXNzZXJ0KGl4IDw9IDB4N2ZmZmZmZmYpOwotKyAg ICAgICAgaW5kaWNlc1tpXSA9IChpbnQzMl90KWl4OwotKyAgICB9Ci0rfQotKwotKyNlbmRpZgot LS0gCi0yLjM4LjEKLQotCi1Gcm9tIDAxNGMyYWM5YTZmNmRlMjVkNGUzMWZlMGJkYWY4MTllOWM2 N2QyNGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFsbz0y MFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+Ci1EYXRlOiBNb24sIDMxIE9j dCAyMDIyIDA2OjQ3OjE4IC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMDMvMTFdIGRlcHJlY2F0ZWQg dXUgLT4gYmFzZTY0Ci0KLS0tLQotIHNyYy9zYWdlL3JpbmdzL3BvbHlub21pYWwvcGJvcmkvZ2Jy ZWZzLnB5IHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvcmluZ3MvcG9seW5vbWlhbC9wYm9yaS9nYnJl ZnMucHkgYi9zcmMvc2FnZS9yaW5ncy9wb2x5bm9taWFsL3Bib3JpL2dicmVmcy5weQotaW5kZXgg NzZlMzkyNDcxNWQuLjcwZGM3OTVjYmFiIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvcmluZ3MvcG9s eW5vbWlhbC9wYm9yaS9nYnJlZnMucHkKLSsrKyBiL3NyYy9zYWdlL3JpbmdzL3BvbHlub21pYWwv cGJvcmkvZ2JyZWZzLnB5Ci1AQCAtMSw2ICsxLDYgQEAKLSBpbXBvcnQgZ3ppcAotIGZyb20gaW8g aW1wb3J0IFN0cmluZ0lPCi0taW1wb3J0IHV1Ci0raW1wb3J0IGJhc2U2NCBhcyB1dQotIGltcG9y dCByZQotIGZyb20gdHlwZXMgaW1wb3J0IE1vZHVsZVR5cGUKLSBmcm9tIC5QeVBvbHlCb1JpIGlt cG9ydCBQb2x5bm9taWFsCi0tLSAKLTIuMzguMQotCi0KLUZyb20gZGM4ZTE1NTk5NGE4NzBhNWUw YjAxYTY5MGEzZmVjODk3NTE5Nzk3MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/ VVRGLTg/cT9Hb256YWxvPTIwVG9ybmFyPUMzPUFEYT89IDx0b3JuYXJpYUBjbWF0LmVkdS51eT4K LURhdGU6IE1vbiwgMzEgT2N0IDIwMjIgMDY6NDc6MzQgLTAzMDAKLVN1YmplY3Q6IFtQQVRDSCAw NC8xMV0gc2FnZS5taXNjLmZwaWNrbGU6IGZpeCBmb3IgcHl0aG9uIDMuMTEKLQotLS0tCi0gc3Jj L3NhZ2UvbWlzYy9mcGlja2xlLnB5eCB8IDEzICsrKysrKysrKysrKy0KLSAxIGZpbGUgY2hhbmdl ZCwgMTIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Nh Z2UvbWlzYy9mcGlja2xlLnB5eCBiL3NyYy9zYWdlL21pc2MvZnBpY2tsZS5weXgKLWluZGV4IDUw MjA4MGUyYzEwLi5jNWQ1NDQ3NjViYiAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21pc2MvZnBpY2ts ZS5weXgKLSsrKyBiL3NyYy9zYWdlL21pc2MvZnBpY2tsZS5weXgKLUBAIC0zNCw2ICszNCwxMiBA QCBkZWYgcmVkdWNlX2NvZGUoY28pOgotICAgICAgICAgc2FnZTogZGVmIGZvbyhOKTogcmV0dXJu IE4rMQotICAgICAgICAgc2FnZTogc2FnZS5taXNjLmZwaWNrbGUucmVkdWNlX2NvZGUoZm9vLl9f Y29kZV9fKQotICAgICAgICAgKDxjeWZ1bmN0aW9uIGNvZGVfY3RvciBhdCAuLi4+LCAuLi4pCi0r Ci0rICAgIFRlc3QgdGhhdCB0aGUgY29uc3RydWN0ZWQgY29kZSBtYXRjaGVzIHRoZSBvcmlnaW5h bCBjb2RlOgotKwotKyAgICAgICAgc2FnZTogY3RvciwgYXJncyA9IHNhZ2UubWlzYy5mcGlja2xl LnJlZHVjZV9jb2RlKGZvby5fX2NvZGVfXykKLSsgICAgICAgIHNhZ2U6IGN0b3IoKmFyZ3MpID09 IGZvby5fX2NvZGVfXwotKyAgICAgICAgVHJ1ZQotICAgICAiIiIKLSAgICAgaWYgY28uY29fZnJl ZXZhcnMgb3IgY28uY29fY2VsbHZhcnM6Ci0gICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJDYW5u b3QgcGlja2xlIGNvZGUgb2JqZWN0cyBmcm9tIGNsb3N1cmVzIikKLUBAIC00NCw3ICs1MCwxMiBA QCBkZWYgcmVkdWNlX2NvZGUoY28pOgotICAgICBjb19hcmdzICs9IChjby5jb19rd29ubHlhcmdj b3VudCwgY28uY29fbmxvY2FscywKLSAgICAgICAgICAgICAgICAgY28uY29fc3RhY2tzaXplLCBj by5jb19mbGFncywgY28uY29fY29kZSwKLSAgICAgICAgICAgICAgICAgY28uY29fY29uc3RzLCBj by5jb19uYW1lcywgY28uY29fdmFybmFtZXMsIGNvLmNvX2ZpbGVuYW1lLAotLSAgICAgICAgICAg ICAgICBjby5jb19uYW1lLCBjby5jb19maXJzdGxpbmVubywgY28uY29fbG5vdGFiKQotKyAgICAg ICAgICAgICAgICBjby5jb19uYW1lKQotKyAgICBpZiBzeXMudmVyc2lvbl9pbmZvLm1pbm9yID49 IDExOgotKyAgICAgICAgY29fYXJncyArPSAoY28uY29fcXVhbG5hbWUsIGNvLmNvX2ZpcnN0bGlu ZW5vLAotKyAgICAgICAgICAgICAgICAgICAgY28uY29fbGluZXRhYmxlLCBjby5jb19leGNlcHRp b250YWJsZSkKLSsgICAgZWxzZToKLSsgICAgICAgIGNvX2FyZ3MgKz0gKGNvLmNvX2ZpcnN0bGlu ZW5vLCBjby5jb19sbm90YWIpCi0gCi0gICAgIHJldHVybiAoY29kZV9jdG9yLCBjb19hcmdzKQot IAotLS0gCi0yLjM4LjEKLQotCi1Gcm9tIDhiMGRhYzIzMjJkNGE4ODhjNjA3YzU2ZDNiNWE3MmZm NzFkZjQxNDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFs bz0yMFRvcm5hcj1DMz1BRGE/PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+Ci1EYXRlOiBNb24sIDMx IE9jdCAyMDIyIDA4OjE1OjQzIC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMDUvMTFdIEZpeCBGdWxs QXJnU3BlYyB1c2FnZSBhZnRlcgotIDllYjA4ZjNhZmRlMzI2NmJiZDY2N2UxOTY1MTMyNDBhMGZl MjQ1ZjQKLQotIC0gYGt3b25seWRlZmF1bHRzYCBkZWZhdWx0IGlzIGBbXWAgcmF0aGVyIHRoYW4g YHt9YAotIC0gYGFyZ3NwZWMua2V5d29yZHNgIGNoYW5nZWQgdG8gYGFyZ3NwZWMudmFya3dgCi0g LSBgQXJnU3BlY2AgY2hhbmdlZCB0byBgRnVsbEFyZ1NwZWNgCi0tLS0KLSBzcmMvc2FnZS9jb2Rp bmcvYWJzdHJhY3RfY29kZS5weSB8IDIgKy0KLSBzcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkg ICAgICB8IDcgKysrKy0tLQotIHNyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkgICAgIHwgOSAr KysrKy0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25z KC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9jb2RpbmcvYWJzdHJhY3RfY29kZS5weSBiL3Ny Yy9zYWdlL2NvZGluZy9hYnN0cmFjdF9jb2RlLnB5Ci1pbmRleCBiYTJlYzY4YTAzOC4uMjM4YTE2 NWMwMjEgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9jb2RpbmcvYWJzdHJhY3RfY29kZS5weQotKysr IGIvc3JjL3NhZ2UvY29kaW5nL2Fic3RyYWN0X2NvZGUucHkKLUBAIC0xMjMsNyArMTIzLDcgQEAg ZGVmIF9leHBsYWluX2NvbnN0cnVjdG9yKGNsKToKLSAgICAgICAgIHJlcXMgPSAiVGhlIGNvbnN0 cnVjdG9yIHJlcXVpcmVzIHRoZSBhcmd1bWVudHMge30uIi5mb3JtYXQoYXJncykKLSAgICAgZWxz ZToKLSAgICAgICAgIHJlcXMgPSAiVGhlIGNvbnN0cnVjdG9yIHJlcXVpcmVzIG5vIGFyZ3VtZW50 cy4iCi0tICAgIGlmIGFyZ3NwZWMudmFyYXJncyBvciBhcmdzcGVjLmtleXdvcmRzOgotKyAgICBp ZiBhcmdzcGVjLnZhcmFyZ3Mgb3IgYXJnc3BlYy52YXJrdzoKLSAgICAgICAgIHZhciA9ICJJdCBh Y2NlcHRzIHVuc3BlY2lmaWVkIGFyZ3VtZW50cyBhcyB3ZWxsLlxuIgotICAgICBlbHNlOgotICAg ICAgICAgdmFyID0gIiIKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkg Yi9zcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkKLWluZGV4IDMxMWE1MTA1NzM5Li4yNzFlMjQz MDUwZiAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21pc2MvZGVjb3JhdG9ycy5weQotKysrIGIvc3Jj L3NhZ2UvbWlzYy9kZWNvcmF0b3JzLnB5Ci1AQCAtNDIzLDcgKzQyMyw4IEBAIGNsYXNzIHN1Ym9w dGlvbnMoKToKLSAgICAgICAgICAgICBkZWZhdWx0cyA9IChhcmdzcGVjLmRlZmF1bHRzIGlmIGFy Z3NwZWMuZGVmYXVsdHMgaXMgbm90IE5vbmUgZWxzZSAoKSkgXAotICAgICAgICAgICAgICAgICAg ICAgICAgICsgdHVwbGUoc2VsZi5vcHRpb25zLnZhbHVlcygpKQotICAgICAgICAgICAgICMgTm90 ZTogYXJnc3BlYy5kZWZhdWx0cyBpcyBub3QgYWx3YXlzIGEgdHVwbGUgZm9yIHNvbWUgcmVhc29u Ci0tICAgICAgICAgICAgcmV0dXJuIEFyZ1NwZWMoYXJncywgYXJnc3BlYy52YXJhcmdzLCBhcmdz cGVjLmtleXdvcmRzLCBkZWZhdWx0cykKLSsgICAgICAgICAgICByZXR1cm4gRnVsbEFyZ1NwZWMo YXJncywgYXJnc3BlYy52YXJhcmdzLCBhcmdzcGVjLnZhcmt3LCBkZWZhdWx0cywKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9u ZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICB3cmFwcGVyLl9zYWdlX2FyZ3NwZWNfID0gYXJn c3BlYwotIAotICAgICAgICAgcmV0dXJuIHdyYXBwZXIKLUBAIC01MDAsOCArNTAxLDggQEAgY2xh c3Mgb3B0aW9ucygpOgotICAgICAgICAgICAgICAgICAgICAgbGlzdChzZWxmLm9wdGlvbnMpKQot ICAgICAgICAgICAgIGRlZmF1bHRzID0gKGFyZ3NwZWMuZGVmYXVsdHMgb3IgKCkpICsgdHVwbGUo c2VsZi5vcHRpb25zLnZhbHVlcygpKQotICAgICAgICAgICAgICMgTm90ZTogYXJnc3BlYy5kZWZh dWx0cyBpcyBub3QgYWx3YXlzIGEgdHVwbGUgZm9yIHNvbWUgcmVhc29uCi0tICAgICAgICAgICAg cmV0dXJuIEZ1bGxBcmdTcGVjKGFyZ3MsIGFyZ3NwZWMudmFyYXJncywgYXJnc3BlYy5rZXl3b3Jk cywgZGVmYXVsdHMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9 W10sIGt3b25seWRlZmF1bHRzPXt9LCBhbm5vdGF0aW9ucz17fSkKLSsgICAgICAgICAgICByZXR1 cm4gRnVsbEFyZ1NwZWMoYXJncywgYXJnc3BlYy52YXJhcmdzLCBhcmdzcGVjLnZhcmt3LCBkZWZh dWx0cywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dv bmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gCi0gICAgICAgICB3cmFwcGVyLl9z YWdlX2FyZ3NwZWNfID0gYXJnc3BlYwotIAotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL21pc2Mvc2Fn ZWluc3BlY3QucHkgYi9zcmMvc2FnZS9taXNjL3NhZ2VpbnNwZWN0LnB5Ci1pbmRleCBhMzgyMWNi NTZiOS4uY2U5YTc0ZjkzMWQgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9taXNjL3NhZ2VpbnNwZWN0 LnB5Ci0rKysgYi9zcmMvc2FnZS9taXNjL3NhZ2VpbnNwZWN0LnB5Ci1AQCAtMTEzNyw3ICsxMTM3 LDcgQEAgZGVmIF9zYWdlX2dldGFyZ3NwZWNfZnJvbV9hc3Qoc291cmNlKToKLSAKLSAgICAgcmV0 dXJuIGluc3BlY3QuRnVsbEFyZ1NwZWMoYXJncywgdmFyYXJnLCBrd2FyZywKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdHVwbGUoZGVmYXVsdHMpIGlmIGRlZmF1bHRzIGVsc2UgTm9u ZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5 ZGVmYXVsdHM9e30sIGFubm90YXRpb25zPXt9KQotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkK LSAKLSAKLSBkZWYgX3NhZ2VfZ2V0YXJnc3BlY19jeXRob24oc291cmNlKToKLUBAIC0xNjgzLDcg KzE2ODMsOCBAQCBkZWYgc2FnZV9nZXRhcmdzcGVjKG9iaik6Ci0gICAgICAgICAjIE5vdGUgdGhh dCB0aGlzIG1heSBnaXZlIGEgd3JvbmcgcmVzdWx0IGZvciB0aGUgY29uc3RhbnRzIQotICAgICAg ICAgdHJ5OgotICAgICAgICAgICAgIGFyZ3MsIHZhcmFyZ3MsIHZhcmt3ID0gaW5zcGVjdC5nZXRh cmdzKG9iai5fX2NvZGVfXykKLS0gICAgICAgICAgICByZXR1cm4gaW5zcGVjdC5GdWxsQXJnU3Bl YyhhcmdzLCB2YXJhcmdzLCB2YXJrdywgb2JqLl9fZGVmYXVsdHNfXykKLSsgICAgICAgICAgICBy ZXR1cm4gaW5zcGVjdC5GdWxsQXJnU3BlYyhhcmdzLCB2YXJhcmdzLCB2YXJrdywgb2JqLl9fZGVm YXVsdHNfXywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlh cmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAgICAgICAgIGV4 Y2VwdCAoVHlwZUVycm9yLCBBdHRyaWJ1dGVFcnJvcik6Ci0gICAgICAgICAgICAgcGFzcwotICAg ICBpZiBpc2NsYXNzaW5zdGFuY2Uob2JqKToKLUBAIC0xNzQyLDcgKzE3NDMsNyBAQCBkZWYgc2Fn ZV9nZXRhcmdzcGVjKG9iaik6Ci0gICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAg IGRlZmF1bHRzID0gTm9uZQotICAgICByZXR1cm4gaW5zcGVjdC5GdWxsQXJnU3BlYyhhcmdzLCB2 YXJhcmdzLCB2YXJrdywgZGVmYXVsdHMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPXt9LCBhbm5vdGF0aW9ucz17fSkKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9 Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gCi0gCi0gZGVmIGZvcm1hdGFubm90YXRpb24oYW5ub3Rh dGlvbiwgYmFzZV9tb2R1bGU9Tm9uZSk6Ci1AQCAtMTc4OCw3ICsxNzg5LDcgQEAgZGVmIGZvcm1h dGFubm90YXRpb24oYW5ub3RhdGlvbiwgYmFzZV9tb2R1bGU9Tm9uZSk6Ci0gCi0gCi0gZGVmIHNh Z2VfZm9ybWF0YXJnc3BlYyhhcmdzLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRz PU5vbmUsCi0tICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPSgpLCBrd29ubHlkZWZh dWx0cz17fSwgYW5ub3RhdGlvbnM9e30sCi0rICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlh cmdzPSgpLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSwKLSAgICAgICAgICAg ICAgICAgICAgICAgIGZvcm1hdGFyZz1zdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICBmb3Jt YXR2YXJhcmdzPWxhbWJkYSBuYW1lOiAnKicgKyBuYW1lLAotICAgICAgICAgICAgICAgICAgICAg ICAgZm9ybWF0dmFya3c9bGFtYmRhIG5hbWU6ICcqKicgKyBuYW1lLAotLS0gCi0yLjM4LjEKLQot Ci1Gcm9tIGRiNDVhZWJmZDZiZDg0MTNiZWMwZmRhMjE4NDEwZDcyZGVhY2QzOTggTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/ PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+Ci1EYXRlOiBNb24sIDMxIE9jdCAyMDIyIDA3OjEzOjM4 IC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMDYvMTFdIHdhcm5pbmdzOiBpZ25vcmUgZGVwcmVjYXRp b24gZm9yICdpbXBvcnQgY2dpJyBpbiBjeXRob24KLQotLS0tCi0gc3JjL3NhZ2UvYWxsLnB5IHwg NSArKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBh L3NyYy9zYWdlL2FsbC5weSBiL3NyYy9zYWdlL2FsbC5weQotaW5kZXggNmFlZjI2YzQyYTkuLjky ZDM2ZDFmZDI2IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvYWxsLnB5Ci0rKysgYi9zcmMvc2FnZS9h bGwucHkKLUBAIC0xMDQsNiArMTA0LDExIEBAIHdhcm5pbmdzLmZpbHRlcndhcm5pbmdzKCdpZ25v cmUnLCBjYXRlZ29yeT1EZXByZWNhdGlvbldhcm5pbmcsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgbWVzc2FnZT0nVGhlIGRpc3R1dGlscyguc3lzY29uZmlnIG1vZHVsZXwgcGFja2FnZSkgaXMg ZGVwcmVjYXRlZCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlPSdDeXRob258ZGlz dHV0aWxzfG51bXB5fHNhZ2UuZW52fHNhZ2UuZmVhdHVyZXMnKQotIAotKyMgdHJpZ2dlcmVkIGJ5 IGN5dGhvbiAwLjI5LjMyCi0rd2FybmluZ3MuZmlsdGVyd2FybmluZ3MoJ2lnbm9yZScsIGNhdGVn b3J5PURlcHJlY2F0aW9uV2FybmluZywKLSsgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdl PSInY2dpJyBpcyBkZXByZWNhdGVkIGFuZCBzbGF0ZWQgZm9yIHJlbW92YWwgaW4gUHl0aG9uIDMu MTMiLAotKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZT0nQ3l0aG9uJykKLSsKLSAjIyMj IyMjIyMjIyMjIyMjIGVuZCBzZXR1cCB3YXJuaW5ncyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCi0gCi0gCi0tLSAKLTIuMzguMQotCi0KLUZyb20gNjY0ZmMwMDhlZDUwYzJmNjFmYjNk ZjMwMjBjMGQ4MWI0MTE3MDYyOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRG LTg/cT9Hb256YWxvPTIwVG9ybmFyPUMzPUFEYT89IDx0b3JuYXJpYUBjbWF0LmVkdS51eT4KLURh dGU6IE1vbiwgMzEgT2N0IDIwMjIgMjA6Mzk6MTIgLTAzMDAKLVN1YmplY3Q6IFtQQVRDSCAwNy8x MV0gd2FybmluZ3M6IGlnbm9yZSBkZXByZWNhdGlvbiBmb3IgJ2ltcG9ydCBzcmVfY29uc3RhbnRz JwotIGluIHB5cGFyc2luZwotCi0tLS0KLSBzcmMvc2FnZS9hbGwucHkgfCA1ICsrKysrCi0gMSBm aWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvYWxs LnB5IGIvc3JjL3NhZ2UvYWxsLnB5Ci1pbmRleCA5MmQzNmQxZmQyNi4uZWEwNzEyMzA4YjQgMTAw NjQ0Ci0tLS0gYS9zcmMvc2FnZS9hbGwucHkKLSsrKyBiL3NyYy9zYWdlL2FsbC5weQotQEAgLTEw OSw2ICsxMDksMTEgQEAgd2FybmluZ3MuZmlsdGVyd2FybmluZ3MoJ2lnbm9yZScsIGNhdGVnb3J5 PURlcHJlY2F0aW9uV2FybmluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPSIn Y2dpJyBpcyBkZXByZWNhdGVkIGFuZCBzbGF0ZWQgZm9yIHJlbW92YWwgaW4gUHl0aG9uIDMuMTMi LAotICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZT0nQ3l0aG9uJykKLSAKLSsjIHRyaWdn ZXJlZCBieSBweXBhcnNpbmcgMi40LjcKLSt3YXJuaW5ncy5maWx0ZXJ3YXJuaW5ncygnaWdub3Jl JywgY2F0ZWdvcnk9RGVwcmVjYXRpb25XYXJuaW5nLAotKyAgICAgICAgICAgICAgICAgICAgICAg IG1lc3NhZ2U9Im1vZHVsZSAnc3JlX2NvbnN0YW50cycgaXMgZGVwcmVjYXRlZCIsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgbW9kdWxlPSdweXBhcnNpbmcnKQotKwotICMjIyMjIyMjIyMjIyMj IyMgZW5kIHNldHVwIHdhcm5pbmdzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAK LSAKLS0tIAotMi4zOC4xCi0KLQotRnJvbSAwOGUxMTYxYzIzY2FlZWVkNWFkMGUwMjM3ZGY4MTcy ZWI4ODA2ZWU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0dvbnph bG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgotRGF0ZTogTW9uLCAz MSBPY3QgMjAyMiAyMjo0MDoxNyAtMDMwMAotU3ViamVjdDogW1BBVENIIDA4LzExXSB3YXJuaW5n czogaWdub3JlIGRlcHJlY2F0aW9uIG9mCi0gaW1wb3J0bGliLnJlc291cmNlcy5wYXRoL3JlYWRf YmluYXJ5Ci0KLS0tLQotIHNyYy9zYWdlL2FsbC5weSAgICAgICAgICAgICAgICAgICAgfCA2ICsr KysrKwotIHNyYy9zYWdlL3JlcGwvZGlzcGxheS9mb3JtYXR0ZXIucHkgfCAzICsrKwotIDIgZmls ZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9hbGwu cHkgYi9zcmMvc2FnZS9hbGwucHkKLWluZGV4IGVhMDcxMjMwOGI0Li5mZWRmMmExN2FhYiAxMDA2 NDQKLS0tLSBhL3NyYy9zYWdlL2FsbC5weQotKysrIGIvc3JjL3NhZ2UvYWxsLnB5Ci1AQCAtMTE0 LDYgKzExNCwxMiBAQCB3YXJuaW5ncy5maWx0ZXJ3YXJuaW5ncygnaWdub3JlJywgY2F0ZWdvcnk9 RGVwcmVjYXRpb25XYXJuaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9Im1v ZHVsZSAnc3JlX2NvbnN0YW50cycgaXMgZGVwcmVjYXRlZCIsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgbW9kdWxlPSdweXBhcnNpbmcnKQotIAotKyMgaW1wb3J0bGliLnJlc291cmNlcy5wYXRo IGFuZCAuLi5yZWFkX2JpbmFyeSBhcmUgZGVwcmVjYXRlZCBpbiBweXRob24gMy4xMSwKLSsjIGJ1 dCB0aGUgcmVwbGFjZW1lbnQgaW1wb3J0bGliLnJlc291cmNlcy5maWxlcyBuZWVkcyBweXRob24g My45Ci0rd2FybmluZ3MuZmlsdGVyd2FybmluZ3MoJ2lnbm9yZScsIGNhdGVnb3J5PURlcHJlY2F0 aW9uV2FybmluZywKLSsgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPXInKHBhdGh8cmVh ZF9iaW5hcnkpIGlzIGRlcHJlY2F0ZWRcLiBVc2UgZmlsZXNcKFwpIGluc3RlYWRcLicsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgbW9kdWxlPSdzYWdlLnJlcGwucmljaF9vdXRwdXQub3V0cHV0 XyhncmFwaGljc3xncmFwaGljczNkfHZpZGVvKScpCi0rCi0gIyMjIyMjIyMjIyMjIyMjIyBlbmQg c2V0dXAgd2FybmluZ3MgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIAotIAotZGlm ZiAtLWdpdCBhL3NyYy9zYWdlL3JlcGwvZGlzcGxheS9mb3JtYXR0ZXIucHkgYi9zcmMvc2FnZS9y ZXBsL2Rpc3BsYXkvZm9ybWF0dGVyLnB5Ci1pbmRleCA0ODhmMGJmMjc5MS4uN2UwNjY1NmQ4ODAg MTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9yZXBsL2Rpc3BsYXkvZm9ybWF0dGVyLnB5Ci0rKysgYi9z cmMvc2FnZS9yZXBsL2Rpc3BsYXkvZm9ybWF0dGVyLnB5Ci1AQCAtMTQzLDYgKzE0Myw5IEBAIGNs YXNzIFNhZ2VEaXNwbGF5Rm9ybWF0dGVyKERpc3BsYXlGb3JtYXR0ZXIpOgotIAotICAgICAgICAg ICAgIHNhZ2U6IGltcG9ydCBvcwotICAgICAgICAgICAgIHNhZ2U6IGltcG9ydCBpbXBvcnRsaWIu cmVzb3VyY2VzCi0rICAgICAgICAgICAgc2FnZTogaW1wb3J0IHdhcm5pbmdzCi0rICAgICAgICAg ICAgc2FnZTogd2FybmluZ3MuZmlsdGVyd2FybmluZ3MoJ2lnbm9yZScsIGNhdGVnb3J5PURlcHJl Y2F0aW9uV2FybmluZywKLSsgICAgICAgICAgICAuLi4uOiAgICAgbWVzc2FnZT1yJ3BhdGggaXMg ZGVwcmVjYXRlZFwuIFVzZSBmaWxlc1woXCkgaW5zdGVhZFwuJykKLSAgICAgICAgICAgICBzYWdl OiBmcm9tIHNhZ2UucmVwbC5yaWNoX291dHB1dC5iYWNrZW5kX2lweXRob24gaW1wb3J0IEJhY2tl bmRJUHl0aG9uCi0gICAgICAgICAgICAgc2FnZTogYmFja2VuZCA9IEJhY2tlbmRJUHl0aG9uKCkK LSAgICAgICAgICAgICBzYWdlOiBzaGVsbCA9IGdldF90ZXN0X3NoZWxsKCkKLS0tIAotMi4zOC4x Ci0KLQotRnJvbSA0NDQ4MGY0ODI3ZTJiYzFlZDhkYWY2ZjQ1MDRhMjJhZTZlOGJlNGE0IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9 QURhPz0gPHRvcm5hcmlhQGNtYXQuZWR1LnV5PgotRGF0ZTogTW9uLCAzMSBPY3QgMjAyMiAwNzox NDowMSAtMDMwMAotU3ViamVjdDogW1BBVENIIDA5LzExXSBkb2N0ZXN0czogZml4ZXMgZHVlIHRv IEFyZ1NwZWMgLT4gRnVsbEFyZ1NwZWMgY2hhbmdlCi0KLS0tLQotIHNyYy9zYWdlL2ludGVyZmFj ZXMvc2luZ3VsYXIucHkgICAgICAgICAgICB8ICAzICstCi0gc3JjL3NhZ2UvbGlicy9zaW5ndWxh ci9zdGFuZGFyZF9vcHRpb25zLnB5IHwgIDMgKy0KLSBzcmMvc2FnZS9taXNjL2NhY2hlZnVuYy5w eXggICAgICAgICAgICAgICAgfCAgNiArLQotIHNyYy9zYWdlL21pc2MvZGVjb3JhdG9ycy5weSAg ICAgICAgICAgICAgICB8ICA5ICsrLQotIHNyYy9zYWdlL21pc2MvbGF6eV9pbXBvcnQucHl4ICAg ICAgICAgICAgICB8ICA0ICstCi0gc3JjL3NhZ2UvbWlzYy9zYWdlaW5zcGVjdC5weSAgICAgICAg ICAgICAgIHwgOTQgKysrKysrKysrKy0tLS0tLS0tLS0tLQotIHNyYy9zYWdlL3BhcmFsbGVsL2Rl Y29yYXRlLnB5ICAgICAgICAgICAgICB8ICAzICstCi0gc3JjL3NhZ2UvcGxvdC9wbG90M2QvcGxv dDNkLnB5ICAgICAgICAgICAgIHwgMTggKysrLS0KLSBzcmMvc2FnZS9zZXRzL3NldF9mcm9tX2l0 ZXJhdG9yLnB5ICAgICAgICAgfCAgNCArLQotIDkgZmlsZXMgY2hhbmdlZCwgNzYgaW5zZXJ0aW9u cygrKSwgNjggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9pbnRlcmZhY2Vz L3Npbmd1bGFyLnB5IGIvc3JjL3NhZ2UvaW50ZXJmYWNlcy9zaW5ndWxhci5weQotaW5kZXggOWM5 NTg2ZDhiYzcuLjFkZWE3N2NkZmYwIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvaW50ZXJmYWNlcy9z aW5ndWxhci5weQotKysrIGIvc3JjL3NhZ2UvaW50ZXJmYWNlcy9zaW5ndWxhci5weQotQEAgLTI3 MzQsNyArMjczNCw4IEBAIGRlZiBzaW5ndWxhcl9nYl9zdGFuZGFyZF9vcHRpb25zKGZ1bmMpOgot ICAgICAgICAgc2FnZTogUC48eCx5PiA9IFFRW10KLSAgICAgICAgIHNhZ2U6IEkgPSBQKlt4LHld Ci0gICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoSS5pbnRlcnJlZHVjZWRfYmFzaXMpCi0t ICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9u ZSwgZGVmYXVsdHM9Tm9uZSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJ10sIHZh cmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKLSsgICAgICAgICAgICAgICAg ICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQot ICAgICAgICAgc2FnZTogc2FnZV9nZXRzb3VyY2VsaW5lcyhJLmludGVycmVkdWNlZF9iYXNpcykK LSAgICAgICAgIChbJyAgICBAaGFuZGxlX0FBX2FuZF9RUWJhclxuJywKLSAgICAgICAgICAgJyAg ICBAc2luZ3VsYXJfZ2Jfc3RhbmRhcmRfb3B0aW9uc1xuJywKLWRpZmYgLS1naXQgYS9zcmMvc2Fn ZS9saWJzL3Npbmd1bGFyL3N0YW5kYXJkX29wdGlvbnMucHkgYi9zcmMvc2FnZS9saWJzL3Npbmd1 bGFyL3N0YW5kYXJkX29wdGlvbnMucHkKLWluZGV4IDY3OTdjYjA1MDAxLi41ZDc0ZGEzY2UzYSAx MDA2NDQKLS0tLSBhL3NyYy9zYWdlL2xpYnMvc2luZ3VsYXIvc3RhbmRhcmRfb3B0aW9ucy5weQot KysrIGIvc3JjL3NhZ2UvbGlicy9zaW5ndWxhci9zdGFuZGFyZF9vcHRpb25zLnB5Ci1AQCAtMTE3 LDcgKzExNyw4IEBAIGRlZiBsaWJzaW5ndWxhcl9nYl9zdGFuZGFyZF9vcHRpb25zKGZ1bmMpOgot ICAgICAgICAgc2FnZTogUC48eCx5PiA9IFFRW10KLSAgICAgICAgIHNhZ2U6IEkgPSBQKlt4LHld Ci0gICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoSS5pbnRlcnJlZHVjZWRfYmFzaXMpCi0t ICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9u ZSwgZGVmYXVsdHM9Tm9uZSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJ10sIHZh cmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKLSsgICAgICAgICAgICAgICAg ICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQot ICAgICAgICAgc2FnZTogc2FnZV9nZXRzb3VyY2VsaW5lcyhJLmludGVycmVkdWNlZF9iYXNpcykK LSAgICAgICAgIChbJyAgICBAaGFuZGxlX0FBX2FuZF9RUWJhclxuJywKLSAgICAgICAgICAgJyAg ICBAc2luZ3VsYXJfZ2Jfc3RhbmRhcmRfb3B0aW9uc1xuJywKLWRpZmYgLS1naXQgYS9zcmMvc2Fn ZS9taXNjL2NhY2hlZnVuYy5weXggYi9zcmMvc2FnZS9taXNjL2NhY2hlZnVuYy5weXgKLWluZGV4 IDcyMDQyZWYxM2Q2Li5jZWEzMDcxMTE1ZCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21pc2MvY2Fj aGVmdW5jLnB5eAotKysrIGIvc3JjL3NhZ2UvbWlzYy9jYWNoZWZ1bmMucHl4Ci1AQCAtOTMxLDkg KzkzMSw5IEBAIGNkZWYgY2xhc3MgQ2FjaGVkRnVuY3Rpb24oKToKLSAgICAgICAgICAgICBzYWdl OiBJID0gUCpbeCx5XQotICAgICAgICAgICAgIHNhZ2U6IGZyb20gc2FnZS5taXNjLnNhZ2VpbnNw ZWN0IGltcG9ydCBzYWdlX2dldGFyZ3NwZWMKLSAgICAgICAgICAgICBzYWdlOiBzYWdlX2dldGFy Z3NwZWMoSS5ncm9lYm5lcl9iYXNpcykgICAjIGluZGlyZWN0IGRvY3Rlc3QKLS0gICAgICAgICAg ICBBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ2FsZ29yaXRobScsICdkZWdfYm91bmQnLCAnbXVsdF9i b3VuZCcsICdwcm90J10sCi0tICAgICAgICAgICAgdmFyYXJncz0nYXJncycsIGtleXdvcmRzPSdr d2RzJywgZGVmYXVsdHM9KCcnLCBOb25lLCBOb25lLAotLSAgICAgICAgICAgIEZhbHNlKSkKLSsg ICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZicsICdhbGdvcml0aG0nLCAnZGVnX2Jv dW5kJywgJ211bHRfYm91bmQnLCAncHJvdCddLAotKyAgICAgICAgICAgICAgICAgICAgICAgIHZh cmFyZ3M9J2FyZ3MnLCB2YXJrdz0na3dkcycsIGRlZmF1bHRzPSgnJywgTm9uZSwgTm9uZSwgRmFs c2UpLAotKyAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1 bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotIAotICAgICAgICAgIiIiCi0gICAgICAgICByZXR1 cm4gc2FnZV9nZXRhcmdzcGVjKHNlbGYuZikKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9taXNjL2Rl Y29yYXRvcnMucHkgYi9zcmMvc2FnZS9taXNjL2RlY29yYXRvcnMucHkKLWluZGV4IDI3MWUyNDMw NTBmLi5kZDkxMjNmNTAwNCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21pc2MvZGVjb3JhdG9ycy5w eQotKysrIGIvc3JjL3NhZ2UvbWlzYy9kZWNvcmF0b3JzLnB5Ci1AQCAtOTMsNyArOTMsOCBAQCBk ZWYgc2FnZV93cmFwcyh3cmFwcGVkLCBhc3NpZ25lZD1XUkFQUEVSX0FTU0lHTk1FTlRTLCB1cGRh dGVkPVdSQVBQRVJfVVBEQVRFUyk6Ci0gICAgICAgICA1Ci0gICAgICAgICBzYWdlOiBmcm9tIHNh Z2UubWlzYy5zYWdlaW5zcGVjdCBpbXBvcnQgc2FnZV9nZXRhcmdzcGVjCi0gICAgICAgICBzYWdl OiBzYWdlX2dldGFyZ3NwZWMoZykKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3gnXSwgdmFyYXJn cz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz1Ob25lKQotKyAgICAgICAgRnVsbEFyZ1Nw ZWMoYXJncz1bJ3gnXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz1Ob25lLAot KyAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwg YW5ub3RhdGlvbnM9e30pCi0gCi0gICAgIERlbW9uc3RyYXRlIHRoYXQgaXQgY29ycmVjdGx5IGdl dHMgdGhlIHNvdXJjZSBsaW5lcyBhbmQgdGhlIHNvdXJjZQotICAgICBmaWxlLCB3aGljaCBpcyBl c3NlbnRpYWwgZm9yIGludGVyYWN0aXZlIGNvZGUgZWRpdGlvbjsgbm90ZSB0aGF0IHdlCi1AQCAt MzkyLDcgKzM5Myw4IEBAIGNsYXNzIHN1Ym9wdGlvbnMoKToKLSAKLSAgICAgICAgICAgICBzYWdl OiBmcm9tIHNhZ2UubWlzYy5zYWdlaW5zcGVjdCBpbXBvcnQgc2FnZV9nZXRhcmdzcGVjCi0gICAg ICAgICAgICAgc2FnZTogc2FnZV9nZXRhcmdzcGVjKGYpCi0tICAgICAgICAgICAgQXJnU3BlYyhh cmdzPVsnYXJyb3dfc2l6ZSddLCB2YXJhcmdzPSdhcmdzJywga2V5d29yZHM9J2t3ZHMnLCBkZWZh dWx0cz0oMiwpKQotKyAgICAgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydhcnJvd19zaXplJ10s IHZhcmFyZ3M9J2FyZ3MnLCB2YXJrdz0na3dkcycsIGRlZmF1bHRzPSgyLCksCi0rICAgICAgICAg ICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3Rh dGlvbnM9e30pCi0gICAgICAgICAiIiIKLSAgICAgICAgIEBzYWdlX3dyYXBzKGZ1bmMpCi0gICAg ICAgICBkZWYgd3JhcHBlcigqYXJncywgKiprd2RzKToKLUBAIC00NjAsNyArNDYyLDggQEAgY2xh c3Mgb3B0aW9ucygpOgotICAgICAgICAgICAgIHNhZ2U6IGYxID0gbyhmKQotICAgICAgICAgICAg IHNhZ2U6IGZyb20gc2FnZS5taXNjLnNhZ2VpbnNwZWN0IGltcG9ydCBzYWdlX2dldGFyZ3NwZWMK LSAgICAgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoZjEpCi0tICAgICAgICAgICAgQXJn U3BlYyhhcmdzPVsncmdiY29sb3InXSwgdmFyYXJncz0nYXJncycsIGtleXdvcmRzPSdrd2RzJywg ZGVmYXVsdHM9KCgwLCAwLCAxKSwpKQotKyAgICAgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9Wydy Z2Jjb2xvciddLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz0oKDAsIDAs IDEpLCksCi0rICAgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVm YXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICAiIiIKLSAgICAgICAgIHNlbGYu b3B0aW9ucyA9IG9wdGlvbnMKLSAgICAgICAgIHNlbGYub3JpZ2luYWxfb3B0cyA9IG9wdGlvbnMu cG9wKCdfX29yaWdpbmFsX29wdHMnLCBGYWxzZSkKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9taXNj L2xhenlfaW1wb3J0LnB5eCBiL3NyYy9zYWdlL21pc2MvbGF6eV9pbXBvcnQucHl4Ci1pbmRleCAy ZDQ0MTNjZDFhMy4uMDE4MDc4YjBjZjIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9taXNjL2xhenlf aW1wb3J0LnB5eAotKysrIGIvc3JjL3NhZ2UvbWlzYy9sYXp5X2ltcG9ydC5weXgKLUBAIC0zNTEs NyArMzUxLDkgQEAgY2RlZiBjbGFzcyBMYXp5SW1wb3J0KCk6Ci0gICAgICAgICAgICAgc2FnZTog ZnJvbSBzYWdlLm1pc2MubGF6eV9pbXBvcnQgaW1wb3J0IExhenlJbXBvcnQKLSAgICAgICAgICAg ICBzYWdlOiBybSA9IExhenlJbXBvcnQoJ3NhZ2UuYWxsJywgJ3JhbmRvbV9tYXRyaXgnKQotICAg ICAgICAgICAgIHNhZ2U6IHJtLl9zYWdlX2FyZ3NwZWNfKCkKLS0gICAgICAgICAgICBBcmdTcGVj KGFyZ3M9WydyaW5nJywgJ25yb3dzJywgJ25jb2xzJywgJ2FsZ29yaXRobScsICdpbXBsZW1lbnRh dGlvbiddLCB2YXJhcmdzPSdhcmdzJywga2V5d29yZHM9J2t3ZHMnLCBkZWZhdWx0cz0oTm9uZSwg J3JhbmRvbWl6ZScsIE5vbmUpKQotKyAgICAgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydyaW5n JywgJ25yb3dzJywgJ25jb2xzJywgJ2FsZ29yaXRobScsICdpbXBsZW1lbnRhdGlvbiddLAotKyAg ICAgICAgICAgICAgICAgICAgICAgIHZhcmFyZ3M9J2FyZ3MnLCB2YXJrdz0na3dkcycsIGRlZmF1 bHRzPShOb25lLCAncmFuZG9taXplJywgTm9uZSksCi0rICAgICAgICAgICAgICAgICAgICAgICAg a3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAg ICAgICAiIiIKLSAgICAgICAgIHJldHVybiBzYWdlaW5zcGVjdC5zYWdlX2dldGFyZ3NwZWMoc2Vs Zi5nZXRfb2JqZWN0KCkpCi0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbWlzYy9zYWdlaW5zcGVj dC5weSBiL3NyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkKLWluZGV4IGNlOWE3NGY5MzFkLi42 MTlmZjZkYTY2MSAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkKLSsr KyBiL3NyYy9zYWdlL21pc2Mvc2FnZWluc3BlY3QucHkKLUBAIC0xMDksNyArMTA5LDcgQEAgZGVm aW5lZCBDeXRob24gY29kZSwgYW5kIHdpdGggcmF0aGVyIHRyaWNreSBhcmd1bWVudCBsaW5lczo6 Ci0gICAgIHNhZ2U6IHByaW50KHNhZ2VfZ2V0c291cmNlKGZvbykpICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBv cHRpb25hbCAtIHNhZ2UubWlzYy5jeXRob24KLSAgICAgZGVmIGZvbyh1bnNpZ25lZCBpbnQgeD0x LCBhPScpIicsIGI9e25vdCAoMisxPT0zKTonYmFyJ30sICphcmdzLCAqKmt3ZHMpOiByZXR1cm4K LSAgICAgc2FnZTogc2FnZV9nZXRhcmdzcGVjKGZvbykgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG9w dGlvbmFsIC0gc2FnZS5taXNjLmN5dGhvbgotLSAgICBBcmdTcGVjKGFyZ3M9Wyd4JywgJ2EnLCAn YiddLCB2YXJhcmdzPSdhcmdzJywga2V5d29yZHM9J2t3ZHMnLCBkZWZhdWx0cz0oMSwgJykiJywg e0ZhbHNlOiAnYmFyJ30pKQotKyAgICBGdWxsQXJnU3BlYyhhcmdzPVsneCcsICdhJywgJ2InXSwg dmFyYXJncz0nYXJncycsIHZhcmt3PSdrd2RzJywgZGVmYXVsdHM9KDEsICcpIicsIHtGYWxzZTog J2Jhcid9KSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9 e30pCi0gCi0gIiIiCi0gCi1AQCAtMzQzLDcgKzM0Myw3IEBAIGRlZiBfZXh0cmFjdF9lbWJlZGRl ZF9zaWduYXR1cmUoZG9jc3RyaW5nLCBuYW1lKToKLSAgICAgICAgIEZpbGU6IHNhZ2UvbWlzYy9u ZXN0ZWRfY2xhc3MucHl4IChzdGFydGluZyBhdCBsaW5lIC4uLikKLSAgICAgICAgIC4uLgotICAg ICAgICAgc2FnZTogX2V4dHJhY3RfZW1iZWRkZWRfc2lnbmF0dXJlKE1haW5DbGFzcy5OZXN0ZWRD bGFzcy5OZXN0ZWRTdWJDbGFzcy5kdW1teS5fX2RvY19fLCAnZHVtbXknKVsxXQotLSAgICAgICAg QXJnU3BlYyhhcmdzPVsnc2VsZicsICd4JywgJ3InXSwgdmFyYXJncz0nYXJncycsIGtleXdvcmRz PSdrd2RzJywgZGVmYXVsdHM9KCgxLCAyLCAzLjQpLCkpCi0rICAgICAgICBGdWxsQXJnU3BlYyhh cmdzPVsnc2VsZicsICd4JywgJ3InXSwgdmFyYXJncz0nYXJncycsIHZhcmt3PSdrd2RzJywgZGVm YXVsdHM9KCgxLCAyLCAzLjQpLCksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUs IGFubm90YXRpb25zPXt9KQotICAgICAgICAgc2FnZTogX2V4dHJhY3RfZW1iZWRkZWRfc2lnbmF0 dXJlKHJhbmdlLl9fY2FsbF9fLl9fZG9jX18sICdfX2NhbGxfXycpCi0gICAgICAgICAoJ0NhbGwg c2VsZiBhcyBhIGZ1bmN0aW9uLicsIE5vbmUpCi0gICAgICIiIgotQEAgLTExMDcsMjIgKzExMDcs MTggQEAgZGVmIF9zYWdlX2dldGFyZ3NwZWNfZnJvbV9hc3Qoc291cmNlKToKLSAKLSAgICAgRVhB TVBMRVM6OgotIAotLSAgICAgICAgc2FnZTogaW1wb3J0IHdhcm5pbmdzCi0tICAgICAgICBzYWdl OiB3YXJuaW5ncy5maWx0ZXJ3YXJuaW5ncygnaWdub3JlJywKLS0gICAgICAgIC4uLi46ICAgICAg ICAgICAgICAgICAgICAgICAgIHInaW5zcGVjdC5nZXRhcmdzcGVjXChcKSBpcyBkZXByZWNhdGVk JywKLS0gICAgICAgIC4uLi46ICAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2Fy bmluZykKLSAgICAgICAgIHNhZ2U6IGltcG9ydCBpbnNwZWN0LCBzYWdlLm1pc2Muc2FnZWluc3Bl Y3QgYXMgc21zCi0gICAgICAgICBzYWdlOiBmcm9tX2FzdCA9IHNtcy5fc2FnZV9nZXRhcmdzcGVj X2Zyb21fYXN0Ci0gICAgICAgICBzYWdlOiBzID0gImRlZiBmKGEsIGI9MiwgYz17J2EnOiBbNCwg NS41LCBGYWxzZV19LCBkPShOb25lLCBUcnVlKSk6XG4gICAgcmV0dXJuIgotICAgICAgICAgc2Fn ZTogZnJvbV9hc3QocykKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ2EnLCAnYicsICdjJywgJ2Qn XSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oMiwgeydhJzogWzQsIDUu NSwgRmFsc2VdfSwgKE5vbmUsIFRydWUpKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9Wydh JywgJ2InLCAnYycsICdkJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KDIs IHsnYSc6IFs0LCA1LjUsIEZhbHNlXX0sIChOb25lLCBUcnVlKSksIGt3b25seWFyZ3M9W10sIGt3 b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgc2FnZTogY29udGV4 dCA9IHt9Ci0gICAgICAgICBzYWdlOiBleGVjKGNvbXBpbGUocywgJzxzdHJpbmc+JywgJ3Npbmds ZScpLCBjb250ZXh0KQotLSAgICAgICAgc2FnZTogaW5zcGVjdC5nZXRhcmdzcGVjKGNvbnRleHRb J2YnXSkKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ2EnLCAnYicsICdjJywgJ2QnXSwgdmFyYXJn cz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oMiwgeydhJzogWzQsIDUuNSwgRmFsc2Vd fSwgKE5vbmUsIFRydWUpKSkKLS0gICAgICAgIHNhZ2U6IGZyb21fYXN0KHMpID09IGluc3BlY3Qu Z2V0YXJnc3BlYyhjb250ZXh0WydmJ10pCi0rICAgICAgICBzYWdlOiBpbnNwZWN0LmdldGZ1bGxh cmdzcGVjKGNvbnRleHRbJ2YnXSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydhJywgJ2In LCAnYycsICdkJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KDIsIHsnYSc6 IFs0LCA1LjUsIEZhbHNlXX0sIChOb25lLCBUcnVlKSksIGt3b25seWFyZ3M9W10sIGt3b25seWRl ZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotKyAgICAgICAgc2FnZTogZnJvbV9hc3Qocykg PT0gaW5zcGVjdC5nZXRmdWxsYXJnc3BlYyhjb250ZXh0WydmJ10pCi0gICAgICAgICBUcnVlCi0t ICAgICAgICBzYWdlOiBzZXQoZnJvbV9hc3Qoc21zLnNhZ2VfZ2V0c291cmNlKHgpKSA9PSBpbnNw ZWN0LmdldGFyZ3NwZWMoeCkgZm9yIHggaW4gW2ZhY3RvciwgaWRlbnRpdHlfbWF0cml4LCBHcmFw aC5fX2luaXRfX10pCi0rICAgICAgICBzYWdlOiBzZXQoZnJvbV9hc3Qoc21zLnNhZ2VfZ2V0c291 cmNlKHgpKSA9PSBpbnNwZWN0LmdldGZ1bGxhcmdzcGVjKHgpIGZvciB4IGluIFtmYWN0b3IsIGlk ZW50aXR5X21hdHJpeCwgR3JhcGguX19pbml0X19dKQotICAgICAgICAge1RydWV9Ci0gICAgICIi IgotICAgICBhc3RfYXJncyA9IGFzdC5wYXJzZShzb3VyY2UubHN0cmlwKCkpLmJvZHlbMF0uYXJn cwotQEAgLTExNTksMjMgKzExNTUsMjMgQEAgZGVmIF9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNv dXJjZSk6Ci0gCi0gICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubWlzYy5zYWdlaW5zcGVjdCBpbXBv cnQgX3NhZ2VfZ2V0YXJnc3BlY19jeXRob24gYXMgc2djCi0gICAgICAgICBzYWdlOiBzZ2MoImNw ZGVmIGRvdWJsZSBhYmMoc2VsZiwgRWxlbWVudCB4PU5vbmUsIFBhcmVudCBiYXNlPTApOiIpCi0t ICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5vbmUs IGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPShOb25lLCAwKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVj KGFyZ3M9WydzZWxmJywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRl ZmF1bHRzPShOb25lLCAwKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5u b3RhdGlvbnM9e30pCi0gICAgICAgICBzYWdlOiBzZ2MoImRlZiBfX2luaXRfXyhzZWxmLCB4PU5v bmUsIHVuc2lnbmVkIGludCBiYXNlPTApOiIpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxm JywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPShO b25lLCAwKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnLCAnYmFzZSdd LCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPShOb25lLCAwKSwga3dvbmx5YXJn cz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICBzYWdl OiBzZ2MoJ2RlZiBvKHAsIHI9e30sICpxLCAqKnMpIGV4Y2VwdD8gLTE6JykKLS0gICAgICAgIEFy Z1NwZWMoYXJncz1bJ3AnLCAnciddLCB2YXJhcmdzPSdxJywga2V5d29yZHM9J3MnLCBkZWZhdWx0 cz0oe30sKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydwJywgJ3InXSwgdmFyYXJncz0n cScsIHZhcmt3PSdzJywgZGVmYXVsdHM9KHt9LCksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1 bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgc2FnZTogc2djKCdjcGRlZiBob3co cj0oTm9uZSwgInU6ZG9pbmc/IikpOicpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydyJ10sIHZh cmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KChOb25lLCAndTpkb2luZz8nKSwp KQotKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3InXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1O b25lLCBkZWZhdWx0cz0oKE5vbmUsICd1OmRvaW5nPycpLCksIGt3b25seWFyZ3M9W10sIGt3b25s eWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgc2FnZTogc2djKCdkZWYg Xyh4PSIpOiIpOicpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9Wyd4J10sIHZhcmFyZ3M9Tm9uZSwg a2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KCcpOicsKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFy Z3M9Wyd4J10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KCcpOicsKSwga3dv bmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAg ICBzYWdlOiBzZ2MoJ2RlZiBmKHogPSB7KDEsIDIsIDMpOiBUcnVlfSk6XG4gICAgcmV0dXJuIHon KQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsneiddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5v bmUsIGRlZmF1bHRzPSh7KDEsIDIsIDMpOiBUcnVlfSwpKQotKyAgICAgICAgRnVsbEFyZ1NwZWMo YXJncz1bJ3onXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oeygxLCAyLCAz KTogVHJ1ZX0sKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlv bnM9e30pCi0gICAgICAgICBzYWdlOiBzZ2MoJ2RlZiBmKGRvdWJsZSB4LCB6ID0geygxLCAyLCAz KTogVHJ1ZX0pOlxuICAgIHJldHVybiB6JykKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3gnLCAn eiddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPSh7KDEsIDIsIDMpOiBU cnVlfSwpKQotKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3gnLCAneiddLCB2YXJhcmdzPU5v bmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPSh7KDEsIDIsIDMpOiBUcnVlfSwpLCBrd29ubHlhcmdz PVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAgICAgICAgIHNhZ2U6 IHNnYygnZGVmIGYoKmFyZ3MpOiBwYXNzJykKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bXSwgdmFy YXJncz0nYXJncycsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPU5vbmUpCi0rICAgICAgICBGdWxs QXJnU3BlYyhhcmdzPVtdLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9u ZSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0g ICAgICAgICBzYWdlOiBzZ2MoJ2RlZiBmKCoqYXJncyk6IHBhc3MnKQotLSAgICAgICAgQXJnU3Bl YyhhcmdzPVtdLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPSdhcmdzJywgZGVmYXVsdHM9Tm9uZSkK LSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9W10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9J2FyZ3Mn LCBkZWZhdWx0cz1Ob25lLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5v dGF0aW9ucz17fSkKLSAKLSAgICAgU29tZSBtYWxmb3JtZWQgaW5wdXQgaXMgZGV0ZWN0ZWQ6Ogot IAotQEAgLTEyMDcsMTcgKzEyMDMsMTcgQEAgZGVmIF9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uKHNv dXJjZSk6Ci0gCi0gICAgICAgICBzYWdlOiBkZWYgZHVtbXlfcHl0aG9uKHNlbGYsICphcmdzLCB4 PTEpOiBwYXNzCi0gICAgICAgICBzYWdlOiBzZ2MoImRlZiBkdW1teV9weXRob24oc2VsZiwgKmFy Z3MsIHg9MSk6IHBhc3MiKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4J10sIHZh cmFyZ3M9J2FyZ3MnLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oMSwpKQotKyAgICAgICAgRnVs bEFyZ1NwZWMoYXJncz1bJ3NlbGYnLCAneCddLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9Tm9uZSwg ZGVmYXVsdHM9KDEsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3Rh dGlvbnM9e30pCi0gICAgICAgICBzYWdlOiBjeXRob24oImRlZiBkdW1teV9jeXRob24oc2VsZiwg KmFyZ3MsIHg9MSk6IHBhc3MiKQotICAgICAgICAgc2FnZTogc2djKCJkZWYgZHVtbXlfY3l0aG9u KHNlbGYsICphcmdzLCB4PTEpOiBwYXNzIikKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3NlbGYn LCAneCddLCB2YXJhcmdzPSdhcmdzJywga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KDEsKSkKLSsg ICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnXSwgdmFyYXJncz0nYXJncycsIHZh cmt3PU5vbmUsIGRlZmF1bHRzPSgxLCksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5v bmUsIGFubm90YXRpb25zPXt9KQotIAotICAgICBJbiBzb21lIGV4YW1wbGVzIGFib3ZlLCBhIHN5 bnRheCBlcnJvciB3YXMgcmFpc2VkIHdoZW4gYSB0eXBlCi0gICAgIGRlZmluaXRpb24gY29udGFp bnMgYSBwb2ludGVyLiBBbiBleGNlcHRpb24gaXMgbWFkZSBmb3IgYGBjaGFyKmBgLAotICAgICBz aW5jZSBDIHN0cmluZ3MgYXJlIGFjY2VwdGFibGUgaW5wdXQgaW4gcHVibGljIEN5dGhvbiBmdW5j dGlvbnM6OgotIAotICAgICAgICAgc2FnZTogc2djKCdkZWYgZihjaGFyICp4ID0gImEgc3RyaW5n IiwgeiA9IHsoMSwyLDMpOiBUcnVlfSk6IHBhc3MnKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsn eCcsICd6J10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KCdhIHN0cmlu ZycsIHsoMSwgMiwgMyk6IFRydWV9KSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9Wyd4Jywg J3onXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oJ2Egc3RyaW5nJywgeygx LCAyLCAzKTogVHJ1ZX0pLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5v dGF0aW9ucz17fSkKLSAKLSAKLSAgICAgQVVUSE9SUzoKLUBAIC0xNTAzLDQwICsxNDk5LDQwIEBA IGRlZiBzYWdlX2dldGFyZ3NwZWMob2JqKToKLSAgICAgICAgIHNhZ2U6IGRlZiBmKHgsIHksIHo9 MSwgdD0yLCAqYXJncywgKiprZXl3b3Jkcyk6Ci0gICAgICAgICAuLi4uOiAgICAgcGFzcwotICAg ICAgICAgc2FnZTogc2FnZV9nZXRhcmdzcGVjKGYpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9Wyd4 JywgJ3knLCAneicsICd0J10sIHZhcmFyZ3M9J2FyZ3MnLCBrZXl3b3Jkcz0na2V5d29yZHMnLCBk ZWZhdWx0cz0oMSwgMikpCi0rICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsneCcsICd5JywgJ3on LCAndCddLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9J2tleXdvcmRzJywgZGVmYXVsdHM9KDEsIDIp LCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAK LSAgICAgV2Ugbm93IHJ1biBzYWdlX2dldGFyZ3NwZWMgb24gc29tZSBmdW5jdGlvbnMgZnJvbSB0 aGUgU2FnZSBsaWJyYXJ5OjoKLSAKLSAgICAgICAgIHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyhpZGVu dGl0eV9tYXRyaXgpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydyaW5nJywgJ24nLCAnc3BhcnNl J10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KDAsIEZhbHNlKSkKLSsg ICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydyaW5nJywgJ24nLCAnc3BhcnNlJ10sIHZhcmFyZ3M9 Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KDAsIEZhbHNlKSwga3dvbmx5YXJncz1bXSwga3dv bmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICBzYWdlOiBzYWdlX2dl dGFyZ3NwZWMoZmFjdG9yKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnbicsICdwcm9vZicsICdp bnRfJywgJ2FsZ29yaXRobScsICd2ZXJib3NlJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9J2t3 ZHMnLCBkZWZhdWx0cz0oTm9uZSwgRmFsc2UsICdwYXJpJywgMCkpCi0rICAgICAgICBGdWxsQXJn U3BlYyhhcmdzPVsnbicsICdwcm9vZicsICdpbnRfJywgJ2FsZ29yaXRobScsICd2ZXJib3NlJ10s IHZhcmFyZ3M9Tm9uZSwgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz0oTm9uZSwgRmFsc2UsICdwYXJp JywgMCksIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9 KQotIAotICAgICBJbiB0aGUgY2FzZSBvZiBhIGNsYXNzIG9yIGEgY2xhc3MgaW5zdGFuY2UsIHRo ZSBgYEFyZ1NwZWNgYCBvZiB0aGUKLSAgICAgYGBfX25ld19fYGAsIGBgX19pbml0X19gYCBvciBg YF9fY2FsbF9fYGAgbWV0aG9kIGlzIHJldHVybmVkOjoKLSAKLSAgICAgICAgIHNhZ2U6IFAuPHgs eT4gPSBRUVtdCi0gICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoUCkKLS0gICAgICAgIEFy Z1NwZWMoYXJncz1bJ2Jhc2VfcmluZycsICduJywgJ25hbWVzJywgJ29yZGVyJ10sIHZhcmFyZ3M9 Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KCdkZWdyZXZsZXgnLCkpCi0rICAgICAgICBG dWxsQXJnU3BlYyhhcmdzPVsnYmFzZV9yaW5nJywgJ24nLCAnbmFtZXMnLCAnb3JkZXInXSwgdmFy YXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oJ2RlZ3JldmxleCcsKSwga3dvbmx5YXJn cz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gICAgICAgICBzYWdl OiBzYWdlX2dldGFyZ3NwZWMoUC5fX2NsYXNzX18pCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9Wydz ZWxmJywgJ3gnXSwgdmFyYXJncz0nYXJncycsIGtleXdvcmRzPSdrd2RzJywgZGVmYXVsdHM9KDAs KSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnXSwgdmFyYXJncz0nYXJn cycsIHZhcmt3PSdrd2RzJywgZGVmYXVsdHM9KDAsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVm YXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gCi0gICAgIFRoZSBmb2xsb3dpbmcgdGVzdHMg YWdhaW5zdCB2YXJpb3VzIGJ1Z3MgdGhhdCB3ZXJlIGZpeGVkIGluCi0gICAgIDp0cmFjOmA5OTc2 YDo6Ci0gCi0gICAgICAgICBzYWdlOiBmcm9tIHNhZ2UucmluZ3MucG9seW5vbWlhbC5yZWFsX3Jv b3RzIGltcG9ydCBiZXJuc3RlaW5fcG9seW5vbWlhbF9mYWN0b3J5X3JhdGxpc3QKLSAgICAgICAg IHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyhiZXJuc3RlaW5fcG9seW5vbWlhbF9mYWN0b3J5X3JhdGxp c3QuY29lZmZzX2JpdHNpemUpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFy Z3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9Tm9uZSkKLSsgICAgICAgIEZ1bGxBcmdT cGVjKGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9u ZSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0g ICAgICAgICBzYWdlOiBmcm9tIHNhZ2UucmluZ3MucG9seW5vbWlhbC5wYm9yaS5wYm9yaSBpbXBv cnQgQm9vbGVhbk1vbm9taWFsTW9ub2lkCi0gICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMo Qm9vbGVhbk1vbm9taWFsTW9ub2lkLmdlbikKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3NlbGYn LCAnaSddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRzPSgwLCkpCi0rICAg ICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZicsICdpJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9 Tm9uZSwgZGVmYXVsdHM9KDAsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwg YW5ub3RhdGlvbnM9e30pCi0gICAgICAgICBzYWdlOiBJID0gUCpbeCx5XQotICAgICAgICAgc2Fn ZTogc2FnZV9nZXRhcmdzcGVjKEkuZ3JvZWJuZXJfYmFzaXMpCi0tICAgICAgICBBcmdTcGVjKGFy Z3M9WydzZWxmJywgJ2FsZ29yaXRobScsICdkZWdfYm91bmQnLCAnbXVsdF9ib3VuZCcsICdwcm90 J10sCi0tICAgICAgICB2YXJhcmdzPSdhcmdzJywga2V5d29yZHM9J2t3ZHMnLCBkZWZhdWx0cz0o JycsIE5vbmUsIE5vbmUsIEZhbHNlKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxm JywgJ2FsZ29yaXRobScsICdkZWdfYm91bmQnLCAnbXVsdF9ib3VuZCcsICdwcm90J10sCi0rICAg ICAgICB2YXJhcmdzPSdhcmdzJywgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz0oJycsIE5vbmUsIE5v bmUsIEZhbHNlKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlv bnM9e30pCi0gICAgICAgICBzYWdlOiBjeXRob24oImNwZGVmIGludCBmb28oeCx5KSBleGNlcHQg LTE6IHJldHVybiAxIikKLSAgICAgICAgIHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyhmb28pCi0tICAg ICAgICBBcmdTcGVjKGFyZ3M9Wyd4JywgJ3knXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25l LCBkZWZhdWx0cz1Ob25lKQotKyAgICAgICAgRnVsbEFyZ1NwZWMoYXJncz1bJ3gnLCAneSddLCB2 YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPU5vbmUsIGt3b25seWFyZ3M9W10sIGt3 b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotIAotICAgICBJZiBhIGBgZnVuY3Rv b2xzLnBhcnRpYWxgYCBpbnN0YW5jZSBpcyBpbnZvbHZlZCwgd2Ugc2VlIG5vIG90aGVyIG1lYW5p bmdmdWwgc29sdXRpb24KLSAgICAgdGhhbiB0byByZXR1cm4gdGhlIGFyZ3NwZWMgb2YgdGhlIHVu ZGVybHlpbmcgZnVuY3Rpb246OgotQEAgLTE1NDYsNyArMTU0Miw3IEBAIGRlZiBzYWdlX2dldGFy Z3NwZWMob2JqKToKLSAgICAgICAgIHNhZ2U6IGltcG9ydCBmdW5jdG9vbHMKLSAgICAgICAgIHNh Z2U6IGYxID0gZnVuY3Rvb2xzLnBhcnRpYWwoZiwgMSxjPTIpCi0gICAgICAgICBzYWdlOiBzYWdl X2dldGFyZ3NwZWMoZjEpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9WydhJywgJ2InLCAnYycsICdk J10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KDEsKSkKLSsgICAgICAg IEZ1bGxBcmdTcGVjKGFyZ3M9WydhJywgJ2InLCAnYycsICdkJ10sIHZhcmFyZ3M9Tm9uZSwgdmFy a3c9Tm9uZSwgZGVmYXVsdHM9KDEsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9u ZSwgYW5ub3RhdGlvbnM9e30pCi0gCi0gICAgIFRFU1RTOgotIAotQEAgLTE1NzIsMTQgKzE1Njgs MTQgQEAgZGVmIHNhZ2VfZ2V0YXJnc3BlYyhvYmopOgotICAgICAgICAgc2FnZTogcHJpbnQoc2Fn ZS5taXNjLnNhZ2VpbnNwZWN0LnNhZ2VfZ2V0c291cmNlKE8pKQotICAgICAgICAgZGVmIGZvbyh4 LCBhPScpIicsIGI9eygyKzEpOidiYXInLCBub3QgMTozLCAzPDw0OjV9KTogcmV0dXJuCi0gICAg ICAgICBzYWdlOiBzcGVjID0gc2FnZS5taXNjLnNhZ2VpbnNwZWN0LnNhZ2VfZ2V0YXJnc3BlYyhP KQotLSAgICAgICAgc2FnZTogc3BlYy5hcmdzLCBzcGVjLnZhcmFyZ3MsIHNwZWMua2V5d29yZHMK LSsgICAgICAgIHNhZ2U6IHNwZWMuYXJncywgc3BlYy52YXJhcmdzLCBzcGVjLnZhcmt3Ci0gICAg ICAgICAoWyd4JywgJ2EnLCAnYiddLCBOb25lLCBOb25lKQotICAgICAgICAgc2FnZTogc3BlYy5k ZWZhdWx0c1swXQotICAgICAgICAgJykiJwotICAgICAgICAgc2FnZTogc29ydGVkKHNwZWMuZGVm YXVsdHNbMV0uaXRlbXMoKSwga2V5PWxhbWJkYSB4OiBzdHIoeCkpCi0gICAgICAgICBbKDMsICdi YXInKSwgKDQ4LCA1KSwgKEZhbHNlLCAzKV0KLSAgICAgICAgIHNhZ2U6IHNhZ2UubWlzYy5zYWdl aW5zcGVjdC5zYWdlX2dldGFyZ3NwZWMoTy5fX2NhbGxfXykKLS0gICAgICAgIEFyZ1NwZWMoYXJn cz1bJ3NlbGYnLCAnbScsICduJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVs dHM9Tm9uZSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydzZWxmJywgJ20nLCAnbiddLCB2 YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPU5vbmUsIGt3b25seWFyZ3M9W10sIGt3 b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotIAotICAgICA6OgotIAotQEAgLTE1 ODgsMTMgKzE1ODQsMTMgQEAgZGVmIHNhZ2VfZ2V0YXJnc3BlYyhvYmopOgotICAgICAgICAgZGVm IGZvbyh4LCBhPSdcJykiJywgYj17bm90ICgyKzE9PTMpOidiYXInfSk6IHJldHVybgotICAgICAg ICAgPEJMQU5LTElORT4KLSAgICAgICAgIHNhZ2U6IHNhZ2UubWlzYy5zYWdlaW5zcGVjdC5zYWdl X2dldGFyZ3NwZWMoZm9vKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsneCcsICdhJywgJ2InXSwg dmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oJ1wnKSInLCB7RmFsc2U6ICdi YXInfSkpCi0rICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsneCcsICdhJywgJ2InXSwgdmFyYXJn cz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oJ1wnKSInLCB7RmFsc2U6ICdiYXInfSksIGt3 b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotIAotICAg ICBUaGUgZm9sbG93aW5nIHByb2R1Y2VkIGEgc3ludGF4IGVycm9yIGJlZm9yZSB0aGUgcGF0Y2gg YXQgOnRyYWM6YDExOTEzYCwKLSAgICAgc2VlIGFsc28gOnRyYWM6YDI2OTA2YDo6Ci0gCi0gICAg ICAgICBzYWdlOiBzYWdlLm1pc2Muc2FnZWluc3BlY3Quc2FnZV9nZXRhcmdzcGVjKHIubG0pICAg ICAgICAgICAgICAgICAgICAgICAgICMgb3B0aW9uYWwgLSBycHkyCi0tICAgICAgICBBcmdTcGVj KGFyZ3M9WydzZWxmJ10sIHZhcmFyZ3M9J2FyZ3MnLCBrZXl3b3Jkcz0na3dkcycsIGRlZmF1bHRz PU5vbmUpCi0rICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZiddLCB2YXJhcmdzPSdhcmdz JywgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz1Ob25lLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZh dWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAKLSAgICAgVGhlIGZvbGxvd2luZyB3YXMgZml4 ZWQgaW4gOnRyYWM6YDE2MzA5YDo6Ci0gCi1AQCAtMTYwOCwyMyArMTYwNCwyMyBAQCBkZWYgc2Fn ZV9nZXRhcmdzcGVjKG9iaik6Ci0gICAgICAgICAuLi4uOiAgICAgY3BkZWYgbWVldChjYXRlZ29y aWVzLCBiaW50IGFzX2xpc3QgPSBGYWxzZSwgdHVwbGUgaWdub3JlX2F4aW9tcz0oKSwgdHVwbGUg YXhpb21zPSgpKTogcGFzcwotICAgICAgICAgLi4uLjogJycnKQotICAgICAgICAgc2FnZTogc2Fn ZV9nZXRhcmdzcGVjKEZvby5qb2luKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnY2F0ZWdvcmll cycsICdhc19saXN0JywgJ2lnbm9yZV9heGlvbXMnLCAnYXhpb21zJ10sIHZhcmFyZ3M9Tm9uZSwg a2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9KEZhbHNlLCAoKSwgKCkpKQotKyAgICAgICAgRnVsbEFy Z1NwZWMoYXJncz1bJ2NhdGVnb3JpZXMnLCAnYXNfbGlzdCcsICdpZ25vcmVfYXhpb21zJywgJ2F4 aW9tcyddLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPShGYWxzZSwgKCksICgp KSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0g ICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoQmFyLmpvaW4pCi0tICAgICAgICBBcmdTcGVj KGFyZ3M9WydjYXRlZ29yaWVzJywgJ2FzX2xpc3QnLCAnaWdub3JlX2F4aW9tcycsICdheGlvbXMn XSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oRmFsc2UsICgpLCAoKSkp Ci0rICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnY2F0ZWdvcmllcycsICdhc19saXN0JywgJ2ln bm9yZV9heGlvbXMnLCAnYXhpb21zJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVs dHM9KEZhbHNlLCAoKSwgKCkpLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBh bm5vdGF0aW9ucz17fSkKLSAgICAgICAgIHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyhCYXIubWVldCkK LS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ2NhdGVnb3JpZXMnLCAnYXNfbGlzdCcsICdpZ25vcmVf YXhpb21zJywgJ2F4aW9tcyddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5vbmUsIGRlZmF1bHRz PShGYWxzZSwgKCksICgpKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydjYXRlZ29yaWVz JywgJ2FzX2xpc3QnLCAnaWdub3JlX2F4aW9tcycsICdheGlvbXMnXSwgdmFyYXJncz1Ob25lLCB2 YXJrdz1Ob25lLCBkZWZhdWx0cz0oRmFsc2UsICgpLCAoKSksIGt3b25seWFyZ3M9W10sIGt3b25s eWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotIAotICAgICBUZXN0IHRoYXQgOnRyYWM6 YDE3MDA5YCBpcyBmaXhlZDo6Ci0gCi0gICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWMoZ2Fw KQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4JywgJ25hbWUnXSwgdmFyYXJncz1O b25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oTm9uZSwpKQotKyAgICAgICAgRnVsbEFyZ1Nw ZWMoYXJncz1bJ3NlbGYnLCAneCcsICduYW1lJ10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwg ZGVmYXVsdHM9KE5vbmUsKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5u b3RhdGlvbnM9e30pCi0gCi0gICAgIEJ5IDp0cmFjOmAxNzgxNGAsIHRoZSBmb2xsb3dpbmcgZ2l2 ZXMgdGhlIGNvcnJlY3QgYW5zd2VyIChwcmV2aW91c2x5LCB0aGUKLSAgICAgZGVmYXVsdHMgd291 bGQgaGF2ZSBiZWVuIGZvdW5kIGBgTm9uZWBgKTo6Ci0gCi0gICAgICAgICBzYWdlOiBmcm9tIHNh Z2UubWlzYy5uZXN0ZWRfY2xhc3MgaW1wb3J0IE1haW5DbGFzcwotICAgICAgICAgc2FnZTogc2Fn ZV9nZXRhcmdzcGVjKE1haW5DbGFzcy5OZXN0ZWRDbGFzcy5OZXN0ZWRTdWJDbGFzcy5kdW1teSkK LS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3NlbGYnLCAneCcsICdyJ10sIHZhcmFyZ3M9J2FyZ3Mn LCBrZXl3b3Jkcz0na3dkcycsIGRlZmF1bHRzPSgoMSwgMiwgMy40KSwpKQotKyAgICAgICAgRnVs bEFyZ1NwZWMoYXJncz1bJ3NlbGYnLCAneCcsICdyJ10sIHZhcmFyZ3M9J2FyZ3MnLCB2YXJrdz0n a3dkcycsIGRlZmF1bHRzPSgoMSwgMiwgMy40KSwpLCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZh dWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAKLSAgICAgSW4gOnRyYWM6YDE4MjQ5YCB3YXMg ZGVjaWRlZCB0byByZXR1cm4gYSBnZW5lcmljIHNpZ25hdHVyZSBmb3IgUHl0aG9uCi0gICAgIGJ1 aWx0aW4gZnVuY3Rpb25zLCByYXRoZXIgdGhhbiB0byByYWlzZSBhbiBlcnJvciAod2hpY2ggaXMg d2hhdCBQeXRob24ncwotQEAgLTE2MzIsNyArMTYyOCw3IEBAIGRlZiBzYWdlX2dldGFyZ3NwZWMo b2JqKToKLSAKLSAgICAgICAgIHNhZ2U6IGltcG9ydCBpbnNwZWN0Ci0gICAgICAgICBzYWdlOiBz YWdlX2dldGFyZ3NwZWMocmFuZ2UpCi0tICAgICAgICBBcmdTcGVjKGFyZ3M9W10sIHZhcmFyZ3M9 J2FyZ3MnLCBrZXl3b3Jkcz0na3dkcycsIGRlZmF1bHRzPU5vbmUpCi0rICAgICAgICBGdWxsQXJn U3BlYyhhcmdzPVtdLCB2YXJhcmdzPSdhcmdzJywgdmFya3c9J2t3ZHMnLCBkZWZhdWx0cz1Ob25l LCBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAK LSAgICAgVGVzdCB0aGF0IDp0cmFjOmAyODUyNGAgaXMgZml4ZWQ6OgotIAotQEAgLTE4MTksMTQg KzE4MTUsMTAgQEAgZGVmIHNhZ2VfZm9ybWF0YXJnc3BlYyhhcmdzLCB2YXJhcmdzPU5vbmUsIHZh cmt3PU5vbmUsIGRlZmF1bHRzPU5vbmUsCi0gICAgIEVYQU1QTEVTOjoKLSAKLSAgICAgICAgIHNh Z2U6IGZyb20gc2FnZS5taXNjLnNhZ2VpbnNwZWN0IGltcG9ydCBzYWdlX2Zvcm1hdGFyZ3NwZWMK LS0gICAgICAgIHNhZ2U6IGZyb20gaW5zcGVjdCBpbXBvcnQgZm9ybWF0YXJnc3BlYyAjIGRlcHJl Y2F0ZWQgaW4gUHl0aG9uIDMKLSAgICAgICAgIHNhZ2U6IGFyZ3MgPSBbJ2EnLCAnYicsICdjJ10K LSAgICAgICAgIHNhZ2U6IGRlZmF1bHRzID0gWzNdCi0gICAgICAgICBzYWdlOiBzYWdlX2Zvcm1h dGFyZ3NwZWMoYXJncywgZGVmYXVsdHM9ZGVmYXVsdHMpCi0gICAgICAgICAnKGEsIGIsIGM9Mykn Ci0tICAgICAgICBzYWdlOiBpbXBvcnQgd2FybmluZ3M7IHdhcm5pbmdzLnNpbXBsZWZpbHRlcign aWdub3JlJykgICMgaWdub3JlIERlcHJlY2F0aW9uV2FybmluZwotLSAgICAgICAgc2FnZTogZm9y bWF0YXJnc3BlYyhhcmdzLCBkZWZhdWx0cz1kZWZhdWx0cykgPT0gc2FnZV9mb3JtYXRhcmdzcGVj KGFyZ3MsIGRlZmF1bHRzPWRlZmF1bHRzKQotLSAgICAgICAgVHJ1ZQotICAgICAiIiIKLSAgICAg ZGVmIGZvcm1hdGFyZ2FuZGFubm90YXRpb24oYXJnKToKLSAgICAgICAgIHJlc3VsdCA9IGZvcm1h dGFyZyhhcmcpCi1AQCAtMjY0OSwxMSArMjY0MSwxMSBAQCBkZWYgX19pbnRlcm5hbF90ZXN0cygp OgotICAgICBUZXN0IF9zYWdlX2dldGFyZ3NwZWNfY3l0aG9uIHdpdGggbXVsdGlwbGUgZGVmYXVs dCBhcmd1bWVudHMgYW5kIGEgdHlwZTo6Ci0gCi0gICAgICAgICBzYWdlOiBfc2FnZV9nZXRhcmdz cGVjX2N5dGhvbigiZGVmIGluaXQoc2VsZiwgeD1Ob25lLCBiYXNlPTApOiIpCi0tICAgICAgICBB cmdTcGVjKGFyZ3M9WydzZWxmJywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRz PU5vbmUsIGRlZmF1bHRzPShOb25lLCAwKSkKLSsgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9Wydz ZWxmJywgJ3gnLCAnYmFzZSddLCB2YXJhcmdzPU5vbmUsIHZhcmt3PU5vbmUsIGRlZmF1bHRzPShO b25lLCAwKSwga3dvbmx5YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9 e30pCi0gICAgICAgICBzYWdlOiBfc2FnZV9nZXRhcmdzcGVjX2N5dGhvbigiZGVmIF9faW5pdF9f KHNlbGYsIHg9Tm9uZSwgYmFzZT0wKToiKQotLSAgICAgICAgQXJnU3BlYyhhcmdzPVsnc2VsZics ICd4JywgJ2Jhc2UnXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz0oTm9u ZSwgMCkpCi0rICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4JywgJ2Jhc2UnXSwg dmFyYXJncz1Ob25lLCB2YXJrdz1Ob25lLCBkZWZhdWx0cz0oTm9uZSwgMCksIGt3b25seWFyZ3M9 W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgc2FnZTog X3NhZ2VfZ2V0YXJnc3BlY19jeXRob24oImRlZiBfX2luaXRfXyhzZWxmLCB4PU5vbmUsIHVuc2ln bmVkIGludCBiYXNlPTAsICoqa2V5cyk6IikKLS0gICAgICAgIEFyZ1NwZWMoYXJncz1bJ3NlbGYn LCAneCcsICdiYXNlJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9J2tleXMnLCBkZWZhdWx0cz0o Tm9uZSwgMCkpCi0rICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnc2VsZicsICd4JywgJ2Jhc2Un XSwgdmFyYXJncz1Ob25lLCB2YXJrdz0na2V5cycsIGRlZmF1bHRzPShOb25lLCAwKSwga3dvbmx5 YXJncz1bXSwga3dvbmx5ZGVmYXVsdHM9Tm9uZSwgYW5ub3RhdGlvbnM9e30pCi0gCi0gICAgIFRl c3QgX2V4dHJhY3RfZW1iZWRkZWRfcG9zaXRpb246Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uv cGFyYWxsZWwvZGVjb3JhdGUucHkgYi9zcmMvc2FnZS9wYXJhbGxlbC9kZWNvcmF0ZS5weQotaW5k ZXggYzE0NTE4YWY1NzAuLjNhNzE1MmQ1YWM5IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvcGFyYWxs ZWwvZGVjb3JhdGUucHkKLSsrKyBiL3NyYy9zYWdlL3BhcmFsbGVsL2RlY29yYXRlLnB5Ci1AQCAt MjQzLDcgKzI0Myw4IEBAIGZvciBhIGluIGFyZ3NbMF0pKQotICAgICAgICAgICAgIC4uLi46ICAg ICByZXR1cm4geCArIHkKLSAgICAgICAgICAgICBzYWdlOiBmcm9tIHNhZ2UubWlzYy5zYWdlaW5z cGVjdCBpbXBvcnQgc2FnZV9nZXRhcmdzcGVjCi0gICAgICAgICAgICAgc2FnZTogc2FnZV9nZXRh cmdzcGVjKHAoZikpCi0tICAgICAgICAgICAgQXJnU3BlYyhhcmdzPVsneCcsICd5J10sIHZhcmFy Z3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwgZGVmYXVsdHM9Tm9uZSkKLSsgICAgICAgICAgICBGdWxs QXJnU3BlYyhhcmdzPVsneCcsICd5J10sIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVs dHM9Tm9uZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBrd29ubHlk ZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9ucz17fSkKLSAgICAgICAgICIiIgotICAgICAgICAgZnJv bSBzYWdlLm1pc2Muc2FnZWluc3BlY3QgaW1wb3J0IHNhZ2VfZ2V0YXJnc3BlYwotICAgICAgICAg cmV0dXJuIHNhZ2VfZ2V0YXJnc3BlYyhzZWxmLmZ1bmMpCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uv cGxvdC9wbG90M2QvcGxvdDNkLnB5IGIvc3JjL3NhZ2UvcGxvdC9wbG90M2QvcGxvdDNkLnB5Ci1p bmRleCA2NGIxMWEwNDQyYS4uMTc0NzY1OTgwZjcgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9wbG90 L3Bsb3QzZC9wbG90M2QucHkKLSsrKyBiL3NyYy9zYWdlL3Bsb3QvcGxvdDNkL3Bsb3QzZC5weQot QEAgLTMyOSwxOSArMzI5LDI0IEBAIGNsYXNzIF9Db29yZGluYXRlcygpOgotICAgICAgICAgICAg IHNhZ2U6IHQxLHQyLHQzPVQudG9fY2FydGVzaWFuKGxhbWJkYSBhLGI6IDIqYStiKQotICAgICAg ICAgICAgIHNhZ2U6IGZyb20gc2FnZS5taXNjLnNhZ2VpbnNwZWN0IGltcG9ydCBzYWdlX2dldGFy Z3NwZWMKLSAgICAgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWModDEpCi0tICAgICAgICAg ICAgQXJnU3BlYyhhcmdzPVsnYScsICdiJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwg ZGVmYXVsdHM9Tm9uZSkKLSsgICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnYScsICdiJ10s IHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKLSsgICAgICAgICAgICAg ICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9u cz17fSkKLSAgICAgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWModDIpCi0tICAgICAgICAg ICAgQXJnU3BlYyhhcmdzPVsnYScsICdiJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwg ZGVmYXVsdHM9Tm9uZSkKLSsgICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnYScsICdiJ10s IHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKLSsgICAgICAgICAgICAg ICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9u cz17fSkKLSAgICAgICAgICAgICBzYWdlOiBzYWdlX2dldGFyZ3NwZWModDMpCi0tICAgICAgICAg ICAgQXJnU3BlYyhhcmdzPVsnYScsICdiJ10sIHZhcmFyZ3M9Tm9uZSwga2V5d29yZHM9Tm9uZSwg ZGVmYXVsdHM9Tm9uZSkKLSsgICAgICAgICAgICBGdWxsQXJnU3BlYyhhcmdzPVsnYScsICdiJ10s IHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9Tm9uZSwKLSsgICAgICAgICAgICAg ICAgICAgICAgICBrd29ubHlhcmdzPVtdLCBrd29ubHlkZWZhdWx0cz1Ob25lLCBhbm5vdGF0aW9u cz17fSkKLSAKLSAgICAgICAgICAgICBzYWdlOiBkZWYgZyhhLGIpOiByZXR1cm4gMiphK2IKLSAg ICAgICAgICAgICBzYWdlOiB0MSx0Mix0Mz1ULnRvX2NhcnRlc2lhbihnKQotICAgICAgICAgICAg IHNhZ2U6IHNhZ2VfZ2V0YXJnc3BlYyh0MSkKLS0gICAgICAgICAgICBBcmdTcGVjKGFyZ3M9Wydh JywgJ2InXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz1Ob25lKQotKyAg ICAgICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydhJywgJ2InXSwgdmFyYXJncz1Ob25lLCB2YXJr dz1Ob25lLCBkZWZhdWx0cz1Ob25lLAotKyAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFy Z3M9W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgICAg IHNhZ2U6IHQxLHQyLHQzPVQudG9fY2FydGVzaWFuKDIqYStiKQotICAgICAgICAgICAgIHNhZ2U6 IHNhZ2VfZ2V0YXJnc3BlYyh0MSkKLS0gICAgICAgICAgICBBcmdTcGVjKGFyZ3M9WydhJywgJ2In XSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz1Ob25lKQotKyAgICAgICAg ICAgIEZ1bGxBcmdTcGVjKGFyZ3M9WydhJywgJ2InXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1Ob25l LCBkZWZhdWx0cz1Ob25lLAotKyAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10s IGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotIAotICAgICAgICAgSWYgd2Ug Y2Fubm90IGd1ZXNzIHRoZSByaWdodCBwYXJhbWV0ZXIgbmFtZXMsIHRoZW4gdGhlCi0gICAgICAg ICBwYXJhbWV0ZXJzIGFyZSBuYW1lZCBgdWAgYW5kIGB2YDo6Ci1AQCAtMzUyLDcgKzM1Nyw4IEBA IGNsYXNzIF9Db29yZGluYXRlcygpOgotICAgICAgICAgICAgIHNhZ2U6IFQgPSBfQXJiaXRyYXJ5 Q29vcmRpbmF0ZXMoKHggKyB5LCB4IC0geSwgeiksIHosW3gseV0pCi0gICAgICAgICAgICAgc2Fn ZTogdDEsdDIsdDM9VC50b19jYXJ0ZXNpYW4ob3BlcmF0b3IuYWRkKQotICAgICAgICAgICAgIHNh Z2U6IHNhZ2VfZ2V0YXJnc3BlYyh0MSkKLS0gICAgICAgICAgICBBcmdTcGVjKGFyZ3M9Wyd1Jywg J3YnXSwgdmFyYXJncz1Ob25lLCBrZXl3b3Jkcz1Ob25lLCBkZWZhdWx0cz1Ob25lKQotKyAgICAg ICAgICAgIEZ1bGxBcmdTcGVjKGFyZ3M9Wyd1JywgJ3YnXSwgdmFyYXJncz1Ob25lLCB2YXJrdz1O b25lLCBkZWZhdWx0cz1Ob25lLAotKyAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9 W10sIGt3b25seWRlZmF1bHRzPU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgICAgIHNh Z2U6IFtoKDEsMikgZm9yIGggaW4gVC50b19jYXJ0ZXNpYW4ob3BlcmF0b3IubXVsKV0KLSAgICAg ICAgICAgICBbMy4wLCAtMS4wLCAyLjBdCi0gICAgICAgICAgICAgc2FnZTogW2godT0xLHY9Mikg Zm9yIGggaW4gVC50b19jYXJ0ZXNpYW4ob3BlcmF0b3IubXVsKV0KLWRpZmYgLS1naXQgYS9zcmMv c2FnZS9zZXRzL3NldF9mcm9tX2l0ZXJhdG9yLnB5IGIvc3JjL3NhZ2Uvc2V0cy9zZXRfZnJvbV9p dGVyYXRvci5weQotaW5kZXggM2EyMzYwMzgzZWEuLjc0MDE1YzQ0MzNkIDEwMDY0NAotLS0tIGEv c3JjL3NhZ2Uvc2V0cy9zZXRfZnJvbV9pdGVyYXRvci5weQotKysrIGIvc3JjL3NhZ2Uvc2V0cy9z ZXRfZnJvbV9pdGVyYXRvci5weQotQEAgLTUyNiw3ICs1MjYsOSBAQCBjbGFzcyBEZWNvcmF0b3Io KToKLSAgICAgICAgICAgICBzYWdlOiBkID0gRGVjb3JhdG9yKCkKLSAgICAgICAgICAgICBzYWdl OiBkLmYgPSBmaW5kX2xvY2FsX21pbmltdW0KLSAgICAgICAgICAgICBzYWdlOiBzYWdlX2dldGFy Z3NwZWMoZCkgIyBpbmRpcmVjdCBkb2N0ZXN0Ci0tICAgICAgICAgICAgQXJnU3BlYyhhcmdzPVsn ZicsICdhJywgJ2InLCAndG9sJywgJ21heGZ1biddLCB2YXJhcmdzPU5vbmUsIGtleXdvcmRzPU5v bmUsIGRlZmF1bHRzPSgxLjQ4ZS0wOCwgNTAwKSkKLSsgICAgICAgICAgICBGdWxsQXJnU3BlYyhh cmdzPVsnZicsICdhJywgJ2InLCAndG9sJywgJ21heGZ1biddLAotKyAgICAgICAgICAgICAgICAg ICAgICAgIHZhcmFyZ3M9Tm9uZSwgdmFya3c9Tm9uZSwgZGVmYXVsdHM9KDEuNDhlLTA4LCA1MDAp LAotKyAgICAgICAgICAgICAgICAgICAgICAgIGt3b25seWFyZ3M9W10sIGt3b25seWRlZmF1bHRz PU5vbmUsIGFubm90YXRpb25zPXt9KQotICAgICAgICAgIiIiCi0gICAgICAgICBmcm9tIHNhZ2Uu bWlzYy5zYWdlaW5zcGVjdCBpbXBvcnQgc2FnZV9nZXRhcmdzcGVjCi0gICAgICAgICByZXR1cm4g c2FnZV9nZXRhcmdzcGVjKHNlbGYuZikKLS0tIAotMi4zOC4xCi0KLQotRnJvbSA0ODJkZDFhYzNk MmJjYWE5NGRkOTM1ZTNhZGQxYTUxNjU2NzRiMTQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogPT9VVEYtOD9xP0dvbnphbG89MjBUb3JuYXI9QzM9QURhPz0gPHRvcm5hcmlhQGNtYXQu ZWR1LnV5PgotRGF0ZTogTW9uLCAzMSBPY3QgMjAyMiAyMjoxMjozOCAtMDMwMAotU3ViamVjdDog W1BBVENIIDEwLzExXSBkb2N0ZXN0czogQXNzZXJ0aW9uRXJyb3IgbWVzc2FnZSBjaGFuZ2VkIGlu IHB5dGhvbiAzLjExCi0KLS0tLQotIHNyYy9zYWdlL21pc2MvbGF6eV9mb3JtYXQucHkgfCAyICst Ci0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYg LS1naXQgYS9zcmMvc2FnZS9taXNjL2xhenlfZm9ybWF0LnB5IGIvc3JjL3NhZ2UvbWlzYy9sYXp5 X2Zvcm1hdC5weQotaW5kZXggZTMwNTA2OTViMjUuLmI1OGVhMTU1ODYyIDEwMDY0NAotLS0tIGEv c3JjL3NhZ2UvbWlzYy9sYXp5X2Zvcm1hdC5weQotKysrIGIvc3JjL3NhZ2UvbWlzYy9sYXp5X2Zv cm1hdC5weQotQEAgLTc4LDcgKzc4LDcgQEAgY2xhc3MgTGF6eUZvcm1hdChzdHIpOgotICAgICAg ICAgLi4uLjogICAgICAgICAgICAgICBMYXp5Rm9ybWF0KCIlcyBpcyB3cm9uZyIpJUlEb250TGlr ZUJlaW5nUHJpbnRlZCgpKQotICAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxh c3QpOgotICAgICAgICAgLi4uCi0tICAgICAgICBBc3NlcnRpb25FcnJvcjogPHVucHJpbnRhYmxl IEFzc2VydGlvbkVycm9yIG9iamVjdD4KLSsgICAgICAgIEFzc2VydGlvbkVycm9yOiAuLi4KLSAg ICAgIiIiCi0gCi0gICAgIGRlZiBfX21vZF9fKHNlbGYsIGFyZ3MpOgotLS0gCi0yLjM4LjEKLQot Ci1Gcm9tIDdiNmZhNTY1ZjQyNmUyOGUxNGJlM2IyMmMyMDIzMDFmOWQ1MzBlOWUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/ PSA8dG9ybmFyaWFAY21hdC5lZHUudXk+Ci1EYXRlOiBNb24sIDMxIE9jdCAyMDIyIDIyOjEzOjEz IC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMTEvMTFdIGRvY3Rlc3RzOiBtZXNzYWdlIGFkZGVkIG1v cmUgaW5mbyBpbiBweXRob24gMy4xMQotCi0tLS0KLSBzcmMvc2FnZS9yZXBsL2F0dGFjaC5weSB8 IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvc3Jj L3NhZ2UvcmVwbC9hdHRhY2gucHkgYi9zcmMvc2FnZS9yZXBsL2F0dGFjaC5weQotaW5kZXggMzlk YTZlZTRhY2QuLjIwYjg0OGU0ZjA0IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvcmVwbC9hdHRhY2gu cHkKLSsrKyBiL3NyYy9zYWdlL3JlcGwvYXR0YWNoLnB5Ci1AQCAtNTQsNiArNTQsNyBAQCBjaGFy YWN0ZXItYnktY2hhcmFjdGVyOjoKLSAgICAgICAgIGV4ZWMoY29kZSwgZ2xvYmFscykKLSAgICAg ICBGaWxlICIuLi4vZm9vYmFyLnNhZ2UuLi4ucHkiLCBsaW5lIC4uLiwgaW4gPG1vZHVsZT4KLSAg ICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInRoaXJkIikgICAjIHRoaXMgc2hvdWxkIGFwcGVhciBp biB0aGUgc291cmNlIHNuaXBwZXQKLSsgICAgLi4uCi0gICAgIFZhbHVlRXJyb3I6IHRoaXJkCi0g ICAgIHNhZ2U6IGRldGFjaChzcmMpCi0gIiIiCi0tLSAKLTIuMzguMQotCmRpZmYgLS1naXQgYS9z cmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wNC1weXRob24zLjExX2ZpeF8zMl9i aXQucGF0Y2ggYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zMzg0Mi0wNC1weXRob24z LjExX2ZpeF8zMl9iaXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjMjZk ZmRiNjg0My4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFj LTMzODQyLTA0LXB5dGhvbjMuMTFfZml4XzMyX2JpdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDIxMiArMCwwIEBACi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvYXJpdGgvbG9uZy5weGQgYi9zcmMv c2FnZS9hcml0aC9sb25nLnB4ZAotaW5kZXggYjBjODBmNjE0ODAuLjFjOWE1MzM4N2EwIDEwMDY0 NAotLS0tIGEvc3JjL3NhZ2UvYXJpdGgvbG9uZy5weGQKLSsrKyBiL3NyYy9zYWdlL2FyaXRoL2xv bmcucHhkCi1AQCAtMTI0LDcgKzEyNCw3IEBAIGNkZWYgaW5saW5lIGJpbnQgaW50ZWdlcl9jaGVj a19sb25nKHgsIGxvbmcqIHZhbHVlLCBpbnQqIGVycikgZXhjZXB0IC0xOgotICAgICAgICAgLi4u LjogICAgICAgICBpZiBlcnIgPT0gMDoKLSAgICAgICAgIC4uLi46ICAgICAgICAgICAgIHJldHVy biB2YWx1ZQotICAgICAgICAgLi4uLjogICAgICAgICBlbGlmIGVyciA9PSBFUlJfT1ZFUkZMT1c6 Ci0tICAgICAgICAuLi4uOiAgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJpbnRlZ2Vy X2NoZWNrX2xvbmc6IG92ZXJmbG93IikKLSsgICAgICAgIC4uLi46ICAgICAgICAgICAgIHJhaXNl IE92ZXJmbG93RXJyb3IoZiJpbnRlZ2VyX2NoZWNrX2xvbmc6IG92ZXJmbG93ICh7eH0pIikKLSAg ICAgICAgIC4uLi46ICAgICBlbGlmIGVyciA9PSBFUlJfVFlQRToKLSAgICAgICAgIC4uLi46ICAg ICAgICAgcmFpc2UgVHlwZUVycm9yKCJpbnRlZ2VyX2NoZWNrX2xvbmc6IHdyb25nIHR5cGUiKQot ICAgICAgICAgLi4uLjogICAgIGVsaWYgZXJyID09IEVSUl9JTkRFWDoKLUBAIC0xMzYsMjQgKzEz NiwyMyBAQCBjZGVmIGlubGluZSBiaW50IGludGVnZXJfY2hlY2tfbG9uZyh4LCBsb25nKiB2YWx1 ZSwgaW50KiBlcnIpIGV4Y2VwdCAtMToKLSAgICAgICAgIC4uLi46IGRlZiBsb25nX21heCgpOgot ICAgICAgICAgLi4uLjogICAgIHJldHVybiBzbWFsbEludGVnZXIoTE9OR19NQVgpCi0gICAgICAg ICAuLi4uOiAnJycpCi0tICAgICAgICBzYWdlOiB0eXBlcyA9IChaWiwgUVEsIGludCkKLSAgICAg ICAgIHNhZ2U6IEwgPSBbMSwgMTIzNDUsIDEwXjksIDJeMzAsIGxvbmdfbWF4KCkvLzksIGxvbmdf bWF4KCkvLzMsIGxvbmdfbWF4KCldCi0gICAgICAgICBzYWdlOiBMICs9IFsteCBmb3IgeCBpbiBM XSArIFswLCBsb25nX21pbigpXQotICAgICAgICAgc2FnZTogZm9yIHYgaW4gTDoKLS0gICAgICAg IC4uLi46ICAgICBmb3IgdCBpbiAoSW50ZWdlciwgaW50KToKLSsgICAgICAgIC4uLi46ICAgICBm b3IgdCBpbiAoSW50ZWdlciwgaW50LCBRUSk6Ci0gICAgICAgICAuLi4uOiAgICAgICAgIGFzc2Vy dCBjaGVja19sb25nKHQodikpID09IHYKLSAgICAgICAgIHNhZ2U6IGNoZWNrX2xvbmcoMl4xMDAp Ci0gICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgICAgICAu Li4KLS0gICAgICAgIE92ZXJmbG93RXJyb3I6IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cK LSsgICAgICAgIE92ZXJmbG93RXJyb3I6IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cgKC4u LikKLSAgICAgICAgIHNhZ2U6IGNoZWNrX2xvbmcobG9uZ19tYXgoKSArIDEpCi0gICAgICAgICBU cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgICAgICAuLi4KLS0gICAgICAg IE92ZXJmbG93RXJyb3I6IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cKLSsgICAgICAgIE92 ZXJmbG93RXJyb3I6IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cgKC4uLikKLSAgICAgICAg IHNhZ2U6IGNoZWNrX2xvbmcobG9uZ19taW4oKSAtIDEpCi0gICAgICAgICBUcmFjZWJhY2sgKG1v c3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgICAgICAuLi4KLS0gICAgICAgIE92ZXJmbG93RXJy b3I6IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cKLSsgICAgICAgIE92ZXJmbG93RXJyb3I6 IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cgKC4uLikKLSAgICAgICAgIHNhZ2U6IGNoZWNr X2xvbmcoImhlbGxvIikKLSAgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0 KToKLSAgICAgICAgIC4uLgotQEAgLTE2Miw2ICsxNjEsMzYgQEAgY2RlZiBpbmxpbmUgYmludCBp bnRlZ2VyX2NoZWNrX2xvbmcoeCwgbG9uZyogdmFsdWUsIGludCogZXJyKSBleGNlcHQgLTE6Ci0g ICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgICAgICAuLi4K LSAgICAgICAgIFR5cGVFcnJvcjogaW50ZWdlcl9jaGVja19sb25nOiBiYWQgX19pbmRleF9fCi0r Ci0rICAgIFJlcGVhdCB0aGUgb3ZlcmZsb3cgdGVzdHMgd2l0aCBweXRob24gaW50ZWdlcnM6Ci0r Ci0rICAgICAgICBzYWdlOiBjaGVja19sb25nKGludCgyXjEwMCkpCi0rICAgICAgICBUcmFjZWJh Y2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0rICAgICAgICAuLi4KLSsgICAgICAgIE92ZXJm bG93RXJyb3I6IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cgKC4uLikKLSsgICAgICAgIHNh Z2U6IGNoZWNrX2xvbmcoaW50KGxvbmdfbWF4KCkgKyAxKSkKLSsgICAgICAgIFRyYWNlYmFjayAo bW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSsgICAgICAgIC4uLgotKyAgICAgICAgT3ZlcmZsb3dF cnJvcjogaW50ZWdlcl9jaGVja19sb25nOiBvdmVyZmxvdyAoLi4uKQotKyAgICAgICAgc2FnZTog Y2hlY2tfbG9uZyhpbnQobG9uZ19taW4oKSAtIDEpKQotKyAgICAgICAgVHJhY2ViYWNrIChtb3N0 IHJlY2VudCBjYWxsIGxhc3QpOgotKyAgICAgICAgLi4uCi0rICAgICAgICBPdmVyZmxvd0Vycm9y OiBpbnRlZ2VyX2NoZWNrX2xvbmc6IG92ZXJmbG93ICguLi4pCi0rCi0rICAgIEFuZCBhZ2FpbiB3 aXRoIHJhdGlvbmFsczoKLSsKLSsgICAgICAgIHNhZ2U6IGNoZWNrX2xvbmcoUVEoMl4xMDApKQot KyAgICAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotKyAgICAgICAgLi4u Ci0rICAgICAgICBPdmVyZmxvd0Vycm9yOiBpbnRlZ2VyX2NoZWNrX2xvbmc6IG92ZXJmbG93ICgu Li4pCi0rICAgICAgICBzYWdlOiBjaGVja19sb25nKFFRKGxvbmdfbWF4KCkgKyAxKSkKLSsgICAg ICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSsgICAgICAgIC4uLgotKyAg ICAgICAgT3ZlcmZsb3dFcnJvcjogaW50ZWdlcl9jaGVja19sb25nOiBvdmVyZmxvdyAoLi4uKQot KyAgICAgICAgc2FnZTogY2hlY2tfbG9uZyhRUShsb25nX21pbigpIC0gMSkpCi0rICAgICAgICBU cmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0rICAgICAgICAuLi4KLSsgICAgICAg IE92ZXJmbG93RXJyb3I6IGludGVnZXJfY2hlY2tfbG9uZzogb3ZlcmZsb3cgKC4uLikKLSAgICAg IiIiCi0gICAgIGNkZWYgaW50IGMgPSBpbnRlZ2VyX2NoZWNrX2xvbmdfcHkoeCwgdmFsdWUsIGVy cikKLSAgICAgaWYgYzoKLUBAIC0xOTMsMzUgKzIyMiw5MyBAQCBjZGVmIGlubGluZSBsb25nIGRp Zyhjb25zdCBkaWdpdCogRCwgaW50IG4pOgotIAotIGNkZWYgaW5saW5lIGJpbnQgaW50ZWdlcl9j aGVja19sb25nX3B5KHgsIGxvbmcqIHZhbHVlLCBpbnQqIGVycik6Ci0gICAgICIiIgotLSAgICBQ YXJ0IG9mIGBgaW50ZWdlcl9jaGVja19sb25nYGAgaW4gYGBsb25nLnB4ZGBgLCBjaGVja2luZyBv bmx5IGZvcgotLSAgICBQeXRob24gb2JqZWN0cyBvZiB0eXBlIGBgaW50YGAgYW5kIGBgbG9uZ2Bg LiBTZWUgdGhhdCBmdW5jdGlvbiBmb3IKLS0gICAgZG9jdW1lbnRhdGlvbiBhbmQgdGVzdHMuCi0r ICAgIFJldHVybiB3aGV0aGVyIGBgeGBgIGlzIGEgcHl0aG9uIG9iamVjdCBvZiB0eXBlIGBgaW50 YGAuCi0rCi0rICAgIElmIHBvc3NpYmxlLCBjb21wdXRlIHRoZSB2YWx1ZSBvZiB0aGlzIGludGVn ZXIgYXMgQyBsb25nIGFuZCBzdG9yZQotKyAgICBpdCBpbiBgYCp2YWx1ZWBgLgotKwotKyAgICBF cnJvcnMgYXJlIHJldHVybmVkIGFzIGFuIGVycm9yIGluZGljYXRvciBgYCplcnJgYCAod2l0aG91 dCByYWlzaW5nCi0rICAgIGFueSBQeXRob24gZXhjZXB0aW9uKS4KLSsKLSsgICAgUG9zc2libGUg ZXJyb3JzIHdoZW4gcmV0dXJuaW5nIGBgVHJ1ZWBgOgotKwotKyAgICAtIGBgMGBgOiBgYHhgYCB3 YXMgc3VjY2Vzc2Z1bGx5IGNvbnZlcnRlZCB0byBhIEMgbG9uZyBhbmQgaXRzIHZhbHVlCi0rICAg ICAgaXMgc3RvcmVkIGluIGBgKnZhbHVlYGAuCi0rCi0rICAgIC0gYGBFUlJfT1ZFUkZMT1dgYDog YGB4YGAgaXMgYSBweXRob24gb2JqZWN0IG9mIHR5cGUgYGBpbnRgYCBidXQKLSsgICAgICB0b28g bGFyZ2UgdG8gc3RvcmUgaW4gYSBDIGxvbmcuCi0rCi0rICAgIFBvc3NpYmxlIGVycm9ycyB3aGVu IHJldHVybmluZyBgYEZhbHNlYGA6Ci0rCi0rICAgIC0gYGBFUlJfVFlQRWBgOiBgYHhgYCBpcyBu b3QgYSBweXRob24gb2JqZWN0IG9mIHR5cGUgYGBpbnRgYC4KLSsKLSsgICAgRVhBTVBMRVM6Ci0r Ci0rICAgIFdlIGNyZWF0ZSBhIHB1cmUgUHl0aG9uIHdyYXBwZXIgb2YgdGhpcyBmdW5jdGlvbjo6 Ci0rCi0rICAgICAgICBzYWdlOiBjeXRob24oJycnICAjIG9wdGlvbmFsIC0gc2FnZS5taXNjLmN5 dGhvbgotKyAgICAgICAgLi4uLjogZnJvbSBzYWdlLmFyaXRoLmxvbmcgY2ltcG9ydCAqCi0rICAg ICAgICAuLi4uOiBkZWYgY2hlY2tfbG9uZ19weSh4KToKLSsgICAgICAgIC4uLi46ICAgICBjZGVm IGxvbmcgdmFsdWUKLSsgICAgICAgIC4uLi46ICAgICBjZGVmIGludCBlcnIKLSsgICAgICAgIC4u Li46ICAgICBjZGVmIGJpbnQgYyA9IGludGVnZXJfY2hlY2tfbG9uZ19weSh4LCAmdmFsdWUsICZl cnIpCi0rICAgICAgICAuLi4uOiAgICAgaWYgYzoKLSsgICAgICAgIC4uLi46ICAgICAgICAgaWYg ZXJyID09IDA6Ci0rICAgICAgICAuLi4uOiAgICAgICAgICAgICByZXR1cm4gdmFsdWUKLSsgICAg ICAgIC4uLi46ICAgICAgICAgZWxpZiBlcnIgPT0gRVJSX09WRVJGTE9XOgotKyAgICAgICAgLi4u LjogICAgICAgICAgICAgcmV0dXJuIGYiT3ZlcmZsb3cgKHt4fSkiCi0rICAgICAgICAuLi4uOiAg ICAgZWxpZiBlcnIgPT0gRVJSX1RZUEU6Ci0rICAgICAgICAuLi4uOiAgICAgICAgIHJldHVybiBm IkJhZCB0eXBlICh7eH0pIgotKyAgICAgICAgLi4uLjogICAgIHJldHVybiBmIlRoaXMgc2hvdWxk IG5ldmVyIGhhcHBlbiAoe3h9KSIKLSsgICAgICAgIC4uLi46IGZyb20gbGliYy5saW1pdHMgY2lt cG9ydCBMT05HX01JTiwgTE9OR19NQVgKLSsgICAgICAgIC4uLi46IGRlZiBsb25nX21pbigpOgot KyAgICAgICAgLi4uLjogICAgIHJldHVybiBMT05HX01JTgotKyAgICAgICAgLi4uLjogZGVmIGxv bmdfbWF4KCk6Ci0rICAgICAgICAuLi4uOiAgICAgcmV0dXJuIExPTkdfTUFYCi0rICAgICAgICAu Li4uOiAnJycpCi0rICAgICAgICBzYWdlOiBMID0gWzEsIDEyMzQ1LCAxMF45LCAyXjMwLCBsb25n X21heCgpLy85LCBsb25nX21heCgpLy8zLCBsb25nX21heCgpXQotKyAgICAgICAgc2FnZTogTCAr PSBbLXggZm9yIHggaW4gTF0gKyBbMCwgbG9uZ19taW4oKV0KLSsgICAgICAgIHNhZ2U6IGZvciB2 IGluIEw6Ci0rICAgICAgICAuLi4uOiAgICAgYXNzZXJ0IGNoZWNrX2xvbmdfcHkoaW50KHYpKSA9 PSB2Ci0rICAgICAgICBzYWdlOiBjaGVja19sb25nX3B5KGludCgyXjEwMCkpCi0rICAgICAgICAn T3ZlcmZsb3cgKC4uLiknCi0rICAgICAgICBzYWdlOiBjaGVja19sb25nX3B5KGludChsb25nX21h eCgpICsgMSkpCi0rICAgICAgICAnT3ZlcmZsb3cgKC4uLiknCi0rICAgICAgICBzYWdlOiBjaGVj a19sb25nX3B5KGludChsb25nX21pbigpIC0gMSkpCi0rICAgICAgICAnT3ZlcmZsb3cgKC4uLikn Ci0rICAgICAgICBzYWdlOiBjaGVja19sb25nX3B5KDM4OSkKLSsgICAgICAgICdCYWQgdHlwZSAo Li4uKScKLSsgICAgICAgIHNhZ2U6IGNoZWNrX2xvbmdfcHkoImhlbGxvIikKLSsgICAgICAgICdC YWQgdHlwZSAoLi4uKScKLSsgICAgICAgIHNhZ2U6IGNoZWNrX2xvbmdfcHkoMi8zKQotKyAgICAg ICAgJ0JhZCB0eXBlICguLi4pJwotICAgICAiIiIKLS0gICAgaWYgbm90IGlzaW5zdGFuY2UoeCwg bG9uZyk6Ci0tICAgICAgICBpZiBpc2luc3RhbmNlKHgsIGludCk6Ci0tICAgICAgICAgICAgIyBU aGlzIGNhbiBoYXBwZW4gb25seSBvbiBQeXRob24gMgotLSAgICAgICAgICAgIHZhbHVlWzBdID0g UHlJbnRfQVNfTE9ORyh4KQotLSAgICAgICAgICAgIGVyclswXSA9IDAKLS0gICAgICAgICAgICBy ZXR1cm4gMQotKyAgICBpZiBub3QgaXNpbnN0YW5jZSh4LCBpbnQpOgotICAgICAgICAgZXJyWzBd ID0gRVJSX1RZUEUKLSAgICAgICAgIHJldHVybiAwCi0gCi0tICAgICMgeCBpcyBhIFB5dGhvbiAi bG9uZyIgKGNhbGxlZCAiaW50IiBvbiBQeXRob24gMykKLSsgICAgIyB4IGlzIGEgUHl0aG9uICJp bnQiIChha2EgUHlMb25nT2JqZWN0IG9yIHB5X2xvbmcgaW4gY3l0aG9uKQotICAgICBjZGVmIGNv bnN0IGRpZ2l0KiBEID0gKDxweV9sb25nPngpLm9iX2RpZ2l0Ci0gICAgIGNkZWYgUHlfc3NpemVf dCBzaXplID0gUHlfU0laRSh4KQotIAotLSAgICAjIFdlIGFzc3VtZSB0aGF0IFB5TG9uZ19TSElG VCBpcyAxNSBvbiBhIDMyLWJpdCBzeXN0ZW0gYW5kIDMwIG9uIGEKLS0gICAgIyA2NC1iaXQgc3lz dGVtLiBUaGlzIGlzIG5vdCBndWFyYW50ZWVkIGJ5IFB5dGhvbiwgYnV0IGl0IGlzIHRoZQotLSAg ICAjIGRlZmF1bHQgY29uZmlndXJhdGlvbi4KLSsgICAgIyBXZSBhc3N1bWUgUHlMb25nX1NISUZU IDw9IEJJVFNfSU5fTE9ORyA8PSAzICogUHlMb25nX1NISUZULgotKyAgICAjIFRoaXMgaXMgdHJ1 ZSBpbiBhbGwgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbnM6Ci0rICAgICMgLSBCSVRTX0lOX0xP TkcgPSA2MywgUHlMb25nX1NISUZUID0gMzAKLSsgICAgIyAtIEJJVFNfSU5fTE9ORyA9IDMxLCBQ eUxvbmdfU0hJRlQgPSAxNSAocHl0aG9uIDw9IDMuMTApCi0rICAgICMgLSBCSVRTX0lOX0xPTkcg PSAzMSwgUHlMb25nX1NISUZUID0gMzAgKG5ldyBpbiBweXRob24gMy4xMSkKLSsgICAgIyBjZi4g aHR0cHM6Ly90cmFjLnNhZ2VtYXRoLm9yZy90aWNrZXQvMzM4NDIjY29tbWVudDoxMzAKLSAgICAg IwotLSAgICAjIFRoaXMgd2F5LCB3ZSBrbm93IHRoYXQgMSBhbmQgMiBkaWdpdHMgY2VydGFpbmx5 IGZpdCBpbiBhIEMgbG9uZwotLSAgICAjIGFuZCA0IG9yIG1vcmUgZGlnaXRzIG5ldmVyIGZpdC4g Rm9yIDMgZGlnaXRzLCB3ZSBuZWVkIGFuIGV4cGxpY2l0Ci0tICAgICMgb3ZlcmZsb3cgY2hlY2su Ci0rICAgICMgVGhpcyB3YXksIHdlIGtub3cgdGhhdCAxIGRpZ2l0IGNlcnRhaW5seSBmaXRzIGlu IGEgQyBsb25nCi0rICAgICMgYW5kIDQgb3IgbW9yZSBkaWdpdHMgbmV2ZXIgZml0LgotKyAgICAj IEZvciAyIG9yIDMgZGlnaXRzLCB3ZSBuZWVkIGFuIGV4cGxpY2l0IG92ZXJmbG93IGNoZWNrLgot ICAgICBjZGVmIGludCBCSVRTX0lOX0xPTkcgPSA4ICogc2l6ZW9mKGxvbmcpIC0gMQotLSAgICBp ZiBub3QgKDIgKiBQeUxvbmdfU0hJRlQgPD0gQklUU19JTl9MT05HIDwgNCAqIFB5TG9uZ19TSElG VCk6Ci0tICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcgotKyAgICBpZiBub3QgKFB5TG9uZ19T SElGVCA8PSBCSVRTX0lOX0xPTkcgPD0gMyAqIFB5TG9uZ19TSElGVCk6Ci0rICAgICAgICByYWlz ZSBBc3NlcnRpb25FcnJvcigKLSsgICAgICAgICAgICAgICAgZiJQeUxvbmdfU0hJRlQgPSB7UHlM b25nX1NISUZUfSwgIgotKyAgICAgICAgICAgICAgICBmIkJJVFNfSU5fTE9ORyA9IHtCSVRTX0lO X0xPTkd9IikKLSAKLSAgICAgY2RlZiBsb25nIGxlYWQKLSsgICAgY2RlZiBsb25nIGxlYWRfMl9v dmVyZmxvdyA9ICg8bG9uZz4xKSA8PCAoQklUU19JTl9MT05HIC0gUHlMb25nX1NISUZUKQotICAg ICBjZGVmIGxvbmcgbGVhZF8zX292ZXJmbG93ID0gKDxsb25nPjEpIDw8IChCSVRTX0lOX0xPTkcg LSAyICogUHlMb25nX1NISUZUKQotICAgICBpZiBzaXplID09IDA6Ci0gICAgICAgICB2YWx1ZVsw XSA9IDAKLUBAIC0yMzMsOSArMzIwLDIwIEBAIGNkZWYgaW5saW5lIGJpbnQgaW50ZWdlcl9jaGVj a19sb25nX3B5KHgsIGxvbmcqIHZhbHVlLCBpbnQqIGVycik6Ci0gICAgICAgICB2YWx1ZVswXSA9 IC1kaWcoRCwgMCkKLSAgICAgICAgIGVyclswXSA9IDAKLSAgICAgZWxpZiBzaXplID09IDI6Ci0r ICAgICAgICBpZiBCSVRTX0lOX0xPTkcgPCAyICogUHlMb25nX1NISUZUIGFuZCBEWzFdID49IGxl YWRfMl9vdmVyZmxvdzoKLSsgICAgICAgICAgICBlcnJbMF0gPSBFUlJfT1ZFUkZMT1cKLSsgICAg ICAgICAgICByZXR1cm4gMQotICAgICAgICAgdmFsdWVbMF0gPSBkaWcoRCwgMCkgKyBkaWcoRCwg MSkKLSAgICAgICAgIGVyclswXSA9IDAKLSAgICAgZWxpZiBzaXplID09IC0yOgotKyAgICAgICAg aWYgQklUU19JTl9MT05HIDwgMiAqIFB5TG9uZ19TSElGVCBhbmQgRFsxXSA+PSBsZWFkXzJfb3Zl cmZsb3c6Ci0rICAgICAgICAgICAgaWYgRFswXSA9PSAwIGFuZCBEWzFdID09IGxlYWRfMl9vdmVy ZmxvdzoKLSsgICAgICAgICAgICAgICAgIyBTcGVjaWFsIGNhc2UgZm9yIExPTkdfTUlOCi0rICAg ICAgICAgICAgICAgIHZhbHVlWzBdID0gKDxsb25nPi0xKSA8PCBCSVRTX0lOX0xPTkcKLSsgICAg ICAgICAgICAgICAgZXJyWzBdID0gMAotKyAgICAgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAg ICAgIGVyclswXSA9IEVSUl9PVkVSRkxPVwotKyAgICAgICAgICAgIHJldHVybiAxCi0gICAgICAg ICB2YWx1ZVswXSA9IC0oZGlnKEQsIDApICsgZGlnKEQsIDEpKQotICAgICAgICAgZXJyWzBdID0g MAotICAgICBlbGlmIHNpemUgPT0gMzoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0 Y2hlcy90cmFjLTM0MTE4LXVwZGF0ZV9zeW1weV90b18xLjExLjEtNWRiNWQ0ZTU2MjQzYzYwOWY0 NGFmYzFmMjFjMTEyYjAyNmY5ZTFmZS5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90 cmFjLTM0MTE4LXVwZGF0ZV9zeW1weV90b18xLjExLjEtNWRiNWQ0ZTU2MjQzYzYwOWY0NGFmYzFm MjFjMTEyYjAyNmY5ZTFmZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTc3 YTQyNDAwZTU5Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3Ry YWMtMzQxMTgtdXBkYXRlX3N5bXB5X3RvXzEuMTEuMS01ZGI1ZDRlNTYyNDNjNjA5ZjQ0YWZjMWYy MWMxMTJiMDI2ZjllMWZlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotY29t bWl0IDVkYjVkNGU1NjI0M2M2MDlmNDRhZmMxZjIxYzExMmIwMjZmOWUxZmUKLUF1dGhvcjogT3Nj YXIgQmVuamFtaW4gPG9zY2FyLmouYmVuamFtaW5AZ21haWwuY29tPgotRGF0ZTogICBNb24gSnVs IDExIDIxOjI0OjAxIDIwMjIgKzAxMDAKLQotICAgIFVwZGF0ZSBkb2N0ZXN0cyBmb3IgU3ltUHkg MS4xMQotICAgIAotICAgIERvY3Rlc3RzIHJlbGF0ZWQgdG8gU3ltUHkncyByc29sdmUgZnVuY3Rp b24gYXJlIHVwZGF0ZWQgaW46Ci0gICAgCi0gICAgc3JjL3NhZ2UvY2FsY3VsdXMvdGVzdF9zeW1w eS5weQotICAgIHNyYy9zYWdlL3Rlc3RzL2Jvb2tzL2NvbXB1dGF0aW9uYWwtbWF0aGVtYXRpY3Mt d2l0aC1zYWdlbWF0aC9yZWNlcXVhZGlmZl9kb2N0ZXN0LnB5Ci0gICAgCi0gICAgVGhlIGZvcm0g b2YgdGhlIG91dHB1dCBmcm9tIFN5bVB5IGhhcyBjaGFuZ2VkIHNpbmNlCi0gICAgCi0gICAgaHR0 cHM6Ly9naXRodWIuY29tL3N5bXB5L3N5bXB5L3B1bGwvMjM1NjcKLQotZGlmZiAtLWdpdCBhL3Ny Yy9zYWdlL2NhbGN1bHVzL3Rlc3Rfc3ltcHkucHkgYi9zcmMvc2FnZS9jYWxjdWx1cy90ZXN0X3N5 bXB5LnB5Ci1pbmRleCA3Y2Y3ZjNmNmJmZC4uOTI3ZTZlZTRmYjYgMTAwNjQ0Ci0tLS0gYS9zcmMv c2FnZS9jYWxjdWx1cy90ZXN0X3N5bXB5LnB5Ci0rKysgYi9zcmMvc2FnZS9jYWxjdWx1cy90ZXN0 X3N5bXB5LnB5Ci1AQCAtMTkzLDcgKzE5Myw3IEBAIFRoaXMgd2FzIGZpeGVkIGluIFN5bXB5LCBz ZWUgOnRyYWM6YDE0NDM3YDo6Ci0gICAgIHNhZ2U6IHUgPSBGdW5jdGlvbigndScpCi0gICAgIHNh Z2U6IG4gPSBTeW1ib2woJ24nLCBpbnRlZ2VyPVRydWUpCi0gICAgIHNhZ2U6IGYgPSB1KG4rMikg LSB1KG4rMSkgKyB1KG4pLzQKLS0gICAgc2FnZTogMioqbiAqIHJzb2x2ZShmLHUobikpCi0tICAg IEMxKm4gKyBDMAotKyAgICBzYWdlOiBleHBhbmQoMioqbiAqIHJzb2x2ZShmLHUobikpKQotKyAg ICAyKkMxKm4gKyBDMAotIAotICIiIgotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3Rlc3RzL2Jvb2tz L2NvbXB1dGF0aW9uYWwtbWF0aGVtYXRpY3Mtd2l0aC1zYWdlbWF0aC9yZWNlcXVhZGlmZl9kb2N0 ZXN0LnB5IGIvc3JjL3NhZ2UvdGVzdHMvYm9va3MvY29tcHV0YXRpb25hbC1tYXRoZW1hdGljcy13 aXRoLXNhZ2VtYXRoL3JlY2VxdWFkaWZmX2RvY3Rlc3QucHkKLWluZGV4IDEwNjJmNGY3ZThjLi5m NTNmODEzZDc5MyAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3Rlc3RzL2Jvb2tzL2NvbXB1dGF0aW9u YWwtbWF0aGVtYXRpY3Mtd2l0aC1zYWdlbWF0aC9yZWNlcXVhZGlmZl9kb2N0ZXN0LnB5Ci0rKysg Yi9zcmMvc2FnZS90ZXN0cy9ib29rcy9jb21wdXRhdGlvbmFsLW1hdGhlbWF0aWNzLXdpdGgtc2Fn ZW1hdGgvcmVjZXF1YWRpZmZfZG9jdGVzdC5weQotQEAgLTM4Miw3ICszODIsNyBAQCBTYWdlIGV4 YW1wbGUgaW4gLi9yZWNlcXVhZGlmZi50ZXgsIGxpbmUgMTc5ODo6Ci0gICBzYWdlOiBmcm9tIHN5 bXB5IGltcG9ydCByc29sdmVfaHlwZXIKLSAgIHNhZ2U6IGZyb20gc3ltcHkuYWJjIGltcG9ydCBu Ci0gICBzYWdlOiByc29sdmVfaHlwZXIoWy0yLDFdLDIqKihuKzIpLG4pCi0tICAyKipuKkMwICsg MioqKG4gKyAyKSooQzAgKyBuLzIpCi0rICAyKipuKkMwICsgMioqKG4gKyAxKSpuCi0gCi0gIiIi Ci0gCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDM5MS11cGdy YWRlX2dhcF80LjEyLWE2YzI5M2Q2N2NmY2RmOGZiYTdiYzZhYTc4OTllMjA4NmQ0MmNjN2UucGF0 Y2ggYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDM5MS11cGdyYWRlX2dhcF80LjEy LWE2YzI5M2Q2N2NmY2RmOGZiYTdiYzZhYTc4OTllMjA4NmQ0MmNjN2UucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1NDRhM2VlZjdkZC4uMDAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTM0MzkxLXVwZ3JhZGVfZ2FwXzQuMTItYTZjMjkz ZDY3Y2ZjZGY4ZmJhN2JjNmFhNzg5OWUyMDg2ZDQyY2M3ZS5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDUyNiArMCwwIEBACi1Gcm9tIGFlZmY5OTJkNTNhNjVhNzA1ZGNhNWNkNTIxNmJjYjk3YzIx OGRjZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnRvbmlvIFJvamFzIDxhcm9q YXNAYXJjaGxpbnV4Lm9yZz4KLURhdGU6IE1vbiwgMjkgQXVnIDIwMjIgMjM6MTQ6MDMgKzAyMDAK LVN1YmplY3Q6IEFkYXB0IHRvIEFQSSBjaGFuZ2VzIGluIE9wZW5PdXRwdXRTdHJlYW0gYW5kIENs b3NlT3V0cHV0Ci0KLS0tLQotIHNyYy9zYWdlL2xpYnMvZ2FwL2VsZW1lbnQucHl4ICAgICAgfCA1 ICsrKy0tCi0gc3JjL3NhZ2UvbGlicy9nYXAvZ2FwX2luY2x1ZGVzLnB4ZCB8IDYgKysrKy0tCi0g MiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYg LS1naXQgYS9zcmMvc2FnZS9saWJzL2dhcC9lbGVtZW50LnB5eCBiL3NyYy9zYWdlL2xpYnMvZ2Fw L2VsZW1lbnQucHl4Ci1pbmRleCBiZTQzYzRjLi5lMjY4MTE2IDEwMDY0NAotLS0tIGEvc3JjL3Nh Z2UvbGlicy9nYXAvZWxlbWVudC5weXgKLSsrKyBiL3NyYy9zYWdlL2xpYnMvZ2FwL2VsZW1lbnQu cHl4Ci1AQCAtMTMwLDYgKzEzMCw3IEBAIGNkZWYgY2hhciAqY2FwdHVyZV9zdGRvdXQoT2JqIGZ1 bmMsIE9iaiBvYmopOgotICAgICAiIiIKLSAgICAgY2RlZiBPYmogcywgc3RyZWFtLCBvdXRwdXRf dGV4dF9zdHJpbmcKLSAgICAgY2RlZiBVSW50IHJlcwotKyAgICBjZGVmIFR5cE91dHB1dEZpbGUg b3V0cHV0Ci0gICAgICMgVGhlIG9ubHkgd2F5IHRvIGdldCBhIHN0cmluZyByZXByZXNlbnRhdGlv biBvZiBhbiBvYmplY3QgdGhhdCBpcyB0cnVseQotICAgICAjIGNvbnNpc3RlbnQgd2l0aCBob3cg aXQgd291bGQgYmUgcmVwcmVzZW50ZWQgYXQgdGhlIEdBUCBSRVBMIGlzIHRvIGNhbGwKLSAgICAg IyBWaWV3T2JqIG9uIGl0LiAgVW5mb3J0dW5hdGVseSwgVmlld09iaiAqcHJpbnRzKiB0byB0aGUg b3V0cHV0IHN0cmVhbSwKLUBAIC0xNDUsMTIgKzE0NiwxMiBAQCBjZGVmIGNoYXIgKmNhcHR1cmVf c3Rkb3V0KE9iaiBmdW5jLCBPYmogb2JqKToKLSAgICAgICAgIG91dHB1dF90ZXh0X3N0cmluZyA9 IEdBUF9WYWx1ZUdsb2JhbFZhcmlhYmxlKCJPdXRwdXRUZXh0U3RyaW5nIikKLSAgICAgICAgIHN0 cmVhbSA9IENBTExfMkFSR1Mob3V0cHV0X3RleHRfc3RyaW5nLCBzLCBHQVBfVHJ1ZSkKLSAKLS0g ICAgICAgIGlmIG5vdCBPcGVuT3V0cHV0U3RyZWFtKHN0cmVhbSk6Ci0rICAgICAgICBpZiBub3Qg T3Blbk91dHB1dFN0cmVhbSgmb3V0cHV0LCBzdHJlYW0pOgotICAgICAgICAgICAgIHJhaXNlIEdB UEVycm9yKCJmYWlsZWQgdG8gb3BlbiBvdXRwdXQgY2FwdHVyZSBzdHJlYW0gZm9yICIKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAicmVwcmVzZW50aW5nIEdBUCBvYmplY3QiKQotIAotICAg ICAgICAgQ0FMTF8xQVJHUyhmdW5jLCBvYmopCi0tICAgICAgICBDbG9zZU91dHB1dCgpCi0rICAg ICAgICBDbG9zZU91dHB1dCgmb3V0cHV0KQotICAgICAgICAgcmV0dXJuIENTVFJfU1RSSU5HKHMp Ci0gICAgIGZpbmFsbHk6Ci0gICAgICAgICBHQVBfTGVhdmUoKQotZGlmZiAtLWdpdCBhL3NyYy9z YWdlL2xpYnMvZ2FwL2dhcF9pbmNsdWRlcy5weGQgYi9zcmMvc2FnZS9saWJzL2dhcC9nYXBfaW5j bHVkZXMucHhkCi1pbmRleCA1YTlhYjQ4Li4zNDAzNWZlIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2Uv bGlicy9nYXAvZ2FwX2luY2x1ZGVzLnB4ZAotKysrIGIvc3JjL3NhZ2UvbGlicy9nYXAvZ2FwX2lu Y2x1ZGVzLnB4ZAotQEAgLTc2LDggKzc2LDEwIEBAIGNkZWYgZXh0ZXJuIGZyb20gImdhcC9pbnRv YmouaCIgbm9naWw6Ci0gCi0gCi0gY2RlZiBleHRlcm4gZnJvbSAiZ2FwL2lvLmgiIG5vZ2lsOgot LSAgICBVSW50IE9wZW5PdXRwdXRTdHJlYW0oT2JqIHN0cmVhbSkKLS0gICAgVUludCBDbG9zZU91 dHB1dCgpCi0rICAgIGN0eXBlZGVmIHN0cnVjdCBUeXBPdXRwdXRGaWxlOgotKyAgICAgICAgcGFz cwotKyAgICBVSW50IE9wZW5PdXRwdXRTdHJlYW0oVHlwT3V0cHV0RmlsZSogb3V0cHV0LCBPYmog c3RyZWFtKQotKyAgICBVSW50IENsb3NlT3V0cHV0KFR5cE91dHB1dEZpbGUqIG91dHB1dCkKLSAK LSAKLSBjZGVmIGV4dGVybiBmcm9tICJnYXAvbGliZ2FwLWFwaS5oIiBub2dpbDoKLS0tIAotY2dp dCB2MS4wLTEtZ2Q4OGUKLQotCi1Gcm9tIGMzMzY3YjQyOTA5ODFlNWU5M2I3YTMwYzQ4YjAyZjFh ZTM3NzBkYzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnRvbmlvIFJvamFzIDxh cm9qYXNAYXJjaGxpbnV4Lm9yZz4KLURhdGU6IE1vbiwgMjkgQXVnIDIwMjIgMjM6MTQ6NTMgKzAy MDAKLVN1YmplY3Q6IERpc2FibGUgY29sb3JlZCBwcm9tcHQgYXMgaXQgYnJlYWtzIHRoZSBwZXhw ZWN0IGludGVyZmFjZQotCi0tLS0KLSBzcmMvc2FnZS9pbnRlcmZhY2VzL2dhcC5weSB8IDIgKysK LSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvc2Fn ZS9pbnRlcmZhY2VzL2dhcC5weSBiL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwLnB5Ci1pbmRleCBj MzRmZTUzLi41NjljYWEyIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvaW50ZXJmYWNlcy9nYXAucHkK LSsrKyBiL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2FwLnB5Ci1AQCAtMTUxMiw2ICsxNTEyLDggQEAg ZGVmIGdhcF9yZXNldF93b3Jrc3BhY2UobWF4X3dvcmtzcGFjZV9zaXplPU5vbmUsIHZlcmJvc2U9 RmFsc2UpOgotICAgICAiIiIKLSAgICAgIyBDcmVhdGUgbmV3IHdvcmtzcGFjZSB3aXRoIGZpbGVu YW1lIFdPUktTUEFDRQotICAgICBnID0gR2FwKHVzZV93b3Jrc3BhY2VfY2FjaGU9RmFsc2UsIG1h eF93b3Jrc3BhY2Vfc2l6ZT1Ob25lKQotKyAgICBnLmV2YWwoJ0NvbG9yUHJvbXB0KGZhbHNlKScp Ci0rICAgIGcuZXZhbCgnU2V0VXNlclByZWZlcmVuY2UoIlVzZUNvbG9yUHJvbXB0IiwgZmFsc2Up JykKLSAgICAgZy5ldmFsKCdTZXRVc2VyUHJlZmVyZW5jZSgiSGlzdG9yeU1heExpbmVzIiwgMzAp JykKLSAgICAgZnJvbSBzYWdlLnRlc3RzLmdhcF9wYWNrYWdlcyBpbXBvcnQgYWxsX2luc3RhbGxl ZF9wYWNrYWdlcwotICAgICBmb3IgcGtnIGluIGFsbF9pbnN0YWxsZWRfcGFja2FnZXMoZ2FwPWcp OgotLS0gCi1jZ2l0IHYxLjAtMS1nZDg4ZQotCi0KLUZyb20gM2I2M2U5OThlNGQ2MTE4ZmM4NmIx M2I5NDBjOGYzZDNiODMwN2E1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFudG9u aW8gUm9qYXMgPGFyb2phc0BhcmNobGludXgub3JnPgotRGF0ZTogTW9uLCAyOSBBdWcgMjAyMiAy MzoxNjowMyArMDIwMAotU3ViamVjdDogUG9ydCBOYXR1cmFsSG9tb21vcnBoaXNtIHVzZXMKLQot LS0tCi0gc3JjL3NhZ2UvZ3JvdXBzL2FiZWxpYW5fZ3BzL2FiZWxpYW5fZ3JvdXBfZ2FwLnB5IHwg NCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2dyb3Vwcy9hYmVsaWFuX2dwcy9hYmVsaWFuX2dyb3Vw X2dhcC5weSBiL3NyYy9zYWdlL2dyb3Vwcy9hYmVsaWFuX2dwcy9hYmVsaWFuX2dyb3VwX2dhcC5w eQotaW5kZXggYTRiMDQ3MS4uODYwOTBiNCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL2dyb3Vwcy9h YmVsaWFuX2dwcy9hYmVsaWFuX2dyb3VwX2dhcC5weQotKysrIGIvc3JjL3NhZ2UvZ3JvdXBzL2Fi ZWxpYW5fZ3BzL2FiZWxpYW5fZ3JvdXBfZ2FwLnB5Ci1AQCAtMzM4LDcgKzMzOCw3IEBAIGNsYXNz IEFiZWxpYW5Hcm91cF9nYXAoVW5pcXVlUmVwcmVzZW50YXRpb24sIEdyb3VwTWl4aW5MaWJHQVAs IFBhcmVudExpYkdBUCwgQWJlCi0gICAgICAgICBpZiBpc2luc3RhbmNlKHgsIEFiZWxpYW5Hcm91 cEVsZW1lbnRfZ2FwKToKLSAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgIGlmIHgg aW4gc2VsZi5fY292ZXI6Ci0tICAgICAgICAgICAgICAgICAgICB4ID0gc2VsZi5nYXAoKS5OYXR1 cmFsSG9tb21vcnBoaXNtKCkuSW1hZ2UoeC5nYXAoKSkKLSsgICAgICAgICAgICAgICAgICAgIHgg PSBzZWxmLl9jb3Zlci5nYXAoKS5OYXR1cmFsSG9tb21vcnBoaXNtQnlOb3JtYWxTdWJncm91cChz ZWxmLl9yZWxhdGlvbnMpLkltYWdlKHguZ2FwKCkpCi0gICAgICAgICAgICAgICAgIGVsc2U6Ci0g ICAgICAgICAgICAgICAgICAgICB4ID0geC5nYXAoKQotICAgICAgICAgICAgIGV4Y2VwdCBBdHRy aWJ1dGVFcnJvcjoKLUBAIC0xMDQzLDcgKzEwNDMsNyBAQCBjbGFzcyBBYmVsaWFuR3JvdXBRdW90 aWVudF9nYXAoQWJlbGlhbkdyb3VwX2dhcCk6Ci0gICAgICAgICAgICAgRnJvbTogQWJlbGlhbiBn cm91cCB3aXRoIGdhcCwgZ2VuZXJhdG9yIG9yZGVycyAoNCwpCi0gICAgICAgICAgICAgVG86ICAg UXVvdGllbnQgYWJlbGlhbiBncm91cCB3aXRoIGdlbmVyYXRvciBvcmRlcnMgKDIsKQotICAgICAg ICAgIiIiCi0tICAgICAgICBwaGkgPSBzZWxmLmdhcCgpLk5hdHVyYWxIb21vbW9ycGhpc20oKQot KyAgICAgICAgcGhpID0gc2VsZi5fY292ZXIuZ2FwKCkuTmF0dXJhbEhvbW9tb3JwaGlzbUJ5Tm9y bWFsU3ViZ3JvdXAoc2VsZi5fcmVsYXRpb25zKQotICAgICAgICAgSG9tID0gc2VsZi5fY292ZXIu SG9tKHNlbGYpCi0gICAgICAgICByZXR1cm4gSG9tKHBoaSkKLSAKLS0tIAotY2dpdCB2MS4wLTEt Z2Q4OGUKLQotCi1Gcm9tIGJjNDA3NjRiZTA0NDY1M2UwNmYyZGEzNDk3ZTFlMDVkYTA4MjUxZjcg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnRvbmlvIFJvamFzIDxhcm9qYXNAYXJj aGxpbnV4Lm9yZz4KLURhdGU6IE1vbiwgMjkgQXVnIDIwMjIgMjM6MTc6MzYgKzAyMDAKLVN1Ympl Y3Q6IEZpeCB0ZXN0cyB3aXRoIEdBUCA0LjEyCi0KLS0tLQotIHNyYy9kb2MvZW4vdGhlbWF0aWNf dHV0b3JpYWxzL2xpZS93ZXlsX2dyb3Vwcy5yc3QgIHwgMTIgKysrKysrLS0tLS0tCi0gc3JjL3Nh Z2UvY29kaW5nL2NvZGVjYW4vYXV0Z3JvdXBfY2FuX2xhYmVsLnB5eCAgICAgfCAgMiArLQotIHNy Yy9zYWdlL2NvZGluZy9saW5lYXJfY29kZS5weSAgICAgICAgICAgICAgICAgICAgIHwgMjIgKysr KysrKysrKystLS0tLS0tLS0tLQotIC4uLi9yb290X3N5c3RlbS9oZWNrZV9hbGdlYnJhX3JlcHJl c2VudGF0aW9uLnB5ICAgIHwgIDIgKy0KLSBzcmMvc2FnZS9jb21iaW5hdC9zeW1tZXRyaWNfZ3Jv dXBfYWxnZWJyYS5weSAgICAgICB8ICAyICstCi0gc3JjL3NhZ2UvZ3JvdXBzL2Zpbml0ZWx5X3By ZXNlbnRlZC5weSAgICAgICAgICAgICAgfCAgNiArKystLS0KLSBzcmMvc2FnZS9ncm91cHMvZnFm X29ydGhvZ29uYWwucHkgICAgICAgICAgICAgICAgICB8ICAyICstCi0gc3JjL3NhZ2UvZ3JvdXBz L2xpYmdhcF93cmFwcGVyLnB5eCAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KLSAuLi4vcGVy bV9ncHMvcGFydG5fcmVmMi9yZWZpbmVtZW50X2dlbmVyaWMucHl4ICAgICB8ICAyICstCi0gc3Jj L3NhZ2UvZ3JvdXBzL3Blcm1fZ3BzL3Blcm1ncm91cC5weSAgICAgICAgICAgICAgfCAgOCArKysr LS0tLQotIHNyYy9zYWdlL2xpYnMvZ2FwL2xpYmdhcC5weXggICAgICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KLSBzcmMvc2FnZS9saWJzL2dhcC91dGlsLnB5eCAgICAgICAgICAgICAgICAgICAg ICAgICB8ICA4ICstLS0tLS0tCi0gc3JjL3NhZ2UvdGVzdHMvZ2FwX3BhY2thZ2VzLnB5ICAgICAg ICAgICAgICAgICAgICAgfCAgMiArLQotIDEzIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMo KyksIDQxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2RvYy9lbi90aGVtYXRpY190 dXRvcmlhbHMvbGllL3dleWxfZ3JvdXBzLnJzdCBiL3NyYy9kb2MvZW4vdGhlbWF0aWNfdHV0b3Jp YWxzL2xpZS93ZXlsX2dyb3Vwcy5yc3QKLWluZGV4IGM5MTczMzguLjE4MmU3NGEgMTAwNjQ0Ci0t LS0gYS9zcmMvZG9jL2VuL3RoZW1hdGljX3R1dG9yaWFscy9saWUvd2V5bF9ncm91cHMucnN0Ci0r KysgYi9zcmMvZG9jL2VuL3RoZW1hdGljX3R1dG9yaWFscy9saWUvd2V5bF9ncm91cHMucnN0Ci1A QCAtMTM5LDEyICsxMzksMTIgQEAgc3RyaW5nLCB3aGljaCB5b3UgY2FuIHByaW50OjoKLSAgICAg WC4xICAgICAgMSAgMSAgMSAgMSAgMSAgMSAgMSAgMSAgMSAgMSAgMSAgMSAgMQotICAgICBYLjIg ICAgICAxIC0xICAxICAxIC0xICAxICAxIC0xIC0xIC0xICAxICAxICAxCi0gICAgIFguMyAgICAg IDIgIC4gIDIgLTEgIC4gIDIgIDIgIC4gIC4gIC4gLTEgIDIgIDIKLS0gICAgWC40ICAgICAgMyAt MSAtMSAgLiAgMSAtMSAgMyAtMSAgMSAtMSAgLiAtMSAgMwotLSAgICBYLjUgICAgICAzIC0xIC0x ICAuICAxICAzIC0xIC0xIC0xICAxICAuIC0xICAzCi0tICAgIFguNiAgICAgIDMgIDEgLTEgIC4g LTEgLTEgIDMgIDEgLTEgIDEgIC4gLTEgIDMKLS0gICAgWC43ICAgICAgMyAgMSAtMSAgLiAtMSAg MyAtMSAgMSAgMSAtMSAgLiAtMSAgMwotLSAgICBYLjggICAgICAzIC0xICAzICAuIC0xIC0xIC0x IC0xICAxICAxICAuIC0xICAzCi0tICAgIFguOSAgICAgIDMgIDEgIDMgIC4gIDEgLTEgLTEgIDEg LTEgLTEgIC4gLTEgIDMKLSsgICAgWC40ICAgICAgMyAtMSAtMSAgLiAgMSAgMyAtMSAtMSAtMSAg MSAgLiAtMSAgMwotKyAgICBYLjUgICAgICAzICAxIC0xICAuIC0xICAzIC0xICAxICAxIC0xICAu IC0xICAzCi0rICAgIFguNiAgICAgIDMgLTEgIDMgIC4gLTEgLTEgLTEgLTEgIDEgIDEgIC4gLTEg IDMKLSsgICAgWC43ICAgICAgMyAtMSAtMSAgLiAgMSAtMSAgMyAtMSAgMSAtMSAgLiAtMSAgMwot KyAgICBYLjggICAgICAzICAxICAzICAuICAxIC0xIC0xICAxIC0xIC0xICAuIC0xICAzCi0rICAg IFguOSAgICAgIDMgIDEgLTEgIC4gLTEgLTEgIDMgIDEgLTEgIDEgIC4gLTEgIDMKLSAgICAgWC4x MCAgICAgNCAtMiAgLiAtMSAgLiAgLiAgLiAgMiAgLiAgLiAgMSAgLiAtNAotICAgICBYLjExICAg ICA0ICAyICAuIC0xICAuICAuICAuIC0yICAuICAuICAxICAuIC00Ci0gICAgIFguMTIgICAgIDYg IC4gLTIgIC4gIC4gLTIgLTIgIC4gIC4gIC4gIC4gIDIgIDYKLWRpZmYgLS1naXQgYS9zcmMvc2Fn ZS9jb2RpbmcvY29kZWNhbi9hdXRncm91cF9jYW5fbGFiZWwucHl4IGIvc3JjL3NhZ2UvY29kaW5n L2NvZGVjYW4vYXV0Z3JvdXBfY2FuX2xhYmVsLnB5eAotaW5kZXggZGU1ZGI5OC4uYzgzYjkyNiAx MDA2NDQKLS0tLSBhL3NyYy9zYWdlL2NvZGluZy9jb2RlY2FuL2F1dGdyb3VwX2Nhbl9sYWJlbC5w eXgKLSsrKyBiL3NyYy9zYWdlL2NvZGluZy9jb2RlY2FuL2F1dGdyb3VwX2Nhbl9sYWJlbC5weXgK LUBAIC03Niw3ICs3Niw3IEBAIGNvbHVtbnMgZG8gc2hhcmUgdGhlIHNhbWUgY29sb3Jpbmc6Ogot ICAgICAoKDEsKSwKLSAgICAgICgyLCksCi0gICAgICAoMywgNSwgNCksCi0tICAgICAoNiwgMTks IDE2LCA5LCAyMSwgMTAsIDgsIDE1LCAxNCwgMTEsIDIwLCAxMywgMTIsIDcsIDE3LCAxOCkpCi0r ICAgICAoNiwgMTksIDE2LCAyMSwgOSwgMTAsIDE1LCA4LCAyMCwgMTEsIDE0LCAxMywgNywgMTIs IDE4LCAxNykpCi0gCi0gV2UgY2FuIGFsc28gcmVzdHJpY3QgdGhlIGdyb3VwIGFjdGlvbiB0byBs aW5lYXIgaXNvbWV0cmllczo6Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvY29kaW5nL2xpbmVh cl9jb2RlLnB5IGIvc3JjL3NhZ2UvY29kaW5nL2xpbmVhcl9jb2RlLnB5Ci1pbmRleCBlOGUzMmY4 Li45ZDQ1MTYwIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvY29kaW5nL2xpbmVhcl9jb2RlLnB5Ci0r KysgYi9zcmMvc2FnZS9jb2RpbmcvbGluZWFyX2NvZGUucHkKLUBAIC00NjYsMjcgKzQ2NiwyNyBA QCBjbGFzcyBBYnN0cmFjdExpbmVhckNvZGUoQWJzdHJhY3RMaW5lYXJDb2RlTm9NZXRyaWMpOgot ICAgICAgICAgICAgIDAKLSAgICAgICAgICAgICBzYWdlOiBDID0gY29kZXMuSGFtbWluZ0NvZGUo R0YoNCwgJ3onKSwgMykKLSAgICAgICAgICAgICBzYWdlOiBDLmF1dG9tb3JwaGlzbV9ncm91cF9n ZW5zKCkKLS0gICAgICAgICAgICAoWygoMSwgMSwgMSwgMSwgMSwgeiArIDEsIHosIHogKyAxLCB6 LCB6LCB6LCAxLCAxLCB6ICsgMSwgeiArIDEsIHosIHogKyAxLCB6LCB6ICsgMSwgeiArIDEsIHog KyAxKTsgKDEsMTQsNiw3LDQsMTAsMTEsMTkpKDIsOCwxNiwxMywzLDE3LDIxLDE1KSg5LDEyLDE4 LDIwKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIK LSsgICAgICAgICAgICAoWygoMSwgMSwgMSwgeiwgeiArIDEsIDEsIDEsIDEsIDEsIHogKyAxLCB6 LCB6LCB6ICsgMSwgeiArIDEsIHogKyAxLCAxLCB6ICsgMSwgeiwgeiwgMSwgeik7ICgxLDEzLDE0 LDIwKSgyLDIxLDgsMTgsNywxNiwxOSwxNSkoMywxMCw1LDEyLDE3LDksNiw0KSwgUmluZyBlbmRv bW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKLSsgICAgICAgICAgICAg ICAgRGVmbjogeiB8LS0+IHogKyAxKSwKLSsgICAgICAgICAgICAgICgoeiwgMSwgeiwgeiwgeiwg eiArIDEsIHosIHosIHosIHosIHosIHosIHogKyAxLCB6LCB6LCB6LCB6LCB6ICsgMSwgeiwgeiwg eik7ICgxLDExLDUsMTIsMywxOSkoMiw4KSg2LDE4LDEzKSg3LDE3LDE1KSg5LDEwLDE0LDE2LDIw LDIxKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIK LSAgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHogKyAxKSwKLS0gICAgICAgICAgICAgICgo eiArIDEsIDEsIDEsIHosIHogKyAxLCB6LCB6LCB6ICsgMSwgeiArIDEsIHogKyAxLCAxLCB6ICsg MSwgeiwgeiwgMSwgeiArIDEsIDEsIHosIHogKyAxLCB6ICsgMSwgeik7ICgxLDE4LDYsMTksMiw5 LDE3LDEwLDEzLDE0LDIxLDExLDQsNSwxMikoMywyMCw3LDE2LDgpLCBSaW5nIGVuZG9tb3JwaGlz bSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgotLSAgICAgICAgICAgICAgICBEZWZu OiB6IHwtLT4geiksCi0gICAgICAgICAgICAgICAoKHosIHosIHosIHosIHosIHosIHosIHosIHos IHosIHosIHosIHosIHosIHosIHosIHosIHosIHosIHosIHopOyAoKSwgUmluZyBlbmRvbW9ycGhp c20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKLSAgICAgICAgICAgICAgICAgRGVm bjogeiB8LS0+IHopXSwKLSAgICAgICAgICAgICAgMzYyODgwKQotICAgICAgICAgICAgIHNhZ2U6 IEMuYXV0b21vcnBoaXNtX2dyb3VwX2dlbnMoZXF1aXZhbGVuY2U9ImxpbmVhciIpCi0tICAgICAg ICAgICAgKFsoKHogKyAxLCAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6LCAxLCB6LCAxLCAxLCAx LCAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6LCB6LCAxLCB6LCB6LCB6KTsgKDEsMTUsMiw4LDE2 LDE4LDMpKDQsOSwxMiwxMywyMCwxMCwxMSkoNSwyMSwxNCw2LDcsMTksMTcpLCBSaW5nIGVuZG9t b3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgotKyAgICAgICAgICAgIChb KCh6LCAxLCB6ICsgMSwgeiArIDEsIDEsIHogKyAxLCB6LCAxLCB6ICsgMSwgeiArIDEsIDEsIHos IDEsIHogKyAxLCB6LCAxLCB6LCAxLCB6ICsgMSwgMSwgMSk7ICgxLDEyLDExLDEwLDYsOCw5LDIw LDEzLDIxLDUsMTQsMywxNiwxNywxOSw3LDQsMiwxNSwxOCksIFJpbmcgZW5kb21vcnBoaXNtIG9m IEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCi0gICAgICAgICAgICAgICAgIERlZm46IHog fC0tPiB6KSwKLS0gICAgICAgICAgICAgICgoeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHog KyAxLCAxLCB6LCAxLCB6LCB6LCB6LCAxLCB6LCAxLCAxLCAxLCB6ICsgMSwgeiArIDEsIHogKyAx LCAxLCB6KTsgKDEsMTUsMjEsOCw5KSgyLDE4LDUsMywxMSwxNiw3LDEwLDE5LDEzLDEyLDQsMTcs NiwyMCksIFJpbmcgZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4y Ci0rICAgICAgICAgICAgICAoKHogKyAxLCB6ICsgMSwgeiArIDEsIHosIDEsIDEsIHosIHosIDEs IHogKyAxLCB6LCAxLCAxLCB6LCAxLCB6ICsgMSwgeiwgeiArIDEsIHogKyAxLCAxLCB6KTsgKDEs MywxOCwyLDE3LDYsMTkpKDQsMTUsMTMsMjAsNywxNCwxNikoNSwxMSw4LDIxLDEyLDksMTApLCBS aW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBvZiBzaXplIDJeMgotICAgICAg ICAgICAgICAgICBEZWZuOiB6IHwtLT4geiksCi0gICAgICAgICAgICAgICAoKHogKyAxLCB6ICsg MSwgeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAx LCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEsIHogKyAxLCB6ICsgMSwgeiArIDEs IHogKyAxLCB6ICsgMSwgeiArIDEpOyAoKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZp ZWxkIGluIHogb2Ygc2l6ZSAyXjIKLSAgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHopXSwK LSAgICAgICAgICAgICAgMTgxNDQwKQotICAgICAgICAgICAgIHNhZ2U6IEMuYXV0b21vcnBoaXNt X2dyb3VwX2dlbnMoZXF1aXZhbGVuY2U9InBlcm11dGF0aW9uYWwiKQotLSAgICAgICAgICAgIChb KCgxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxKTsgKDEsMTkpKDMsMTcpKDQsMjEpKDUsMjApKDcsMTQpKDksMTIpKDEwLDE2KSgxMSwx NSksIFJpbmcgZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUgMl4yCi0r ICAgICAgICAgICAgKFsoKDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsIDEsIDEsIDEpOyAoMSwxMSkoMywxMCkoNCw5KSg1LDcpKDEyLDIxKSgxNCwy MCkoMTUsMTkpKDE2LDE3KSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHog b2Ygc2l6ZSAyXjIKLSAgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHopLAotLSAgICAgICAg ICAgICAgKCgxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxLCAxLCAxKTsgKDEsMTEpKDMsMTApKDQsOSkoNSw3KSgxMiwyMSkoMTQsMjApKDE1LDE5 KSgxNiwxNyksIFJpbmcgZW5kb21vcnBoaXNtIG9mIEZpbml0ZSBGaWVsZCBpbiB6IG9mIHNpemUg Ml4yCi0rICAgICAgICAgICAgICAoKDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEpOyAoMiwxOCkoMywxOSkoNCwxMCkoNSwxNikoOCwx MykoOSwxNCkoMTEsMjEpKDE1LDIwKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxk IGluIHogb2Ygc2l6ZSAyXjIKLSAgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHopLAotLSAg ICAgICAgICAgICAgKCgxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx LCAxLCAxLCAxLCAxLCAxLCAxKTsgKDEsMTcpKDIsOCkoMywxNCkoNCwxMCkoNywxMikoOSwxOSko MTMsMTgpKDE1LDIwKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Yg c2l6ZSAyXjIKLSsgICAgICAgICAgICAgICgoMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwg MSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSk7ICgxLDE5KSgzLDE3KSg0LDIxKSg1LDIw KSg3LDE0KSg5LDEyKSgxMCwxNikoMTEsMTUpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUg RmllbGQgaW4geiBvZiBzaXplIDJeMgotICAgICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geiks Ci0gICAgICAgICAgICAgICAoKDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs IDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEpOyAoMiwxMykoMywxNCkoNCwyMCkoNSwxMSkoOCwxOCko OSwxOSkoMTAsMTUpKDE2LDIxKSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGlu IHogb2Ygc2l6ZSAyXjIKLSAgICAgICAgICAgICAgICAgRGVmbjogeiB8LS0+IHopXSwKLUBAIC02 OTIsMTAgKzY5MiwxMCBAQCBjbGFzcyBBYnN0cmFjdExpbmVhckNvZGUoQWJzdHJhY3RMaW5lYXJD b2RlTm9NZXRyaWMpOgotICAgICAgICAgICAgIHNhZ2U6IENfaXNvID09IGF1dF9ncm91cF9jYW5f bGFiZWwuZ2V0X2Nhbm9uaWNhbF9mb3JtKCkKLSAgICAgICAgICAgICBUcnVlCi0gICAgICAgICAg ICAgc2FnZTogYXV0X2dyb3VwX2Nhbl9sYWJlbC5nZXRfYXV0b21fZ2VucygpCi0tICAgICAgICAg ICAgWygoMSwgMSwgMSwgMSwgMSwgeiArIDEsIHosIHogKyAxLCB6LCB6LCB6LCAxLCAxLCB6ICsg MSwgeiArIDEsIHosIHogKyAxLCB6LCB6ICsgMSwgeiArIDEsIHogKyAxKTsgKDEsMTQsNiw3LDQs MTAsMTEsMTkpKDIsOCwxNiwxMywzLDE3LDIxLDE1KSg5LDEyLDE4LDIwKSwgUmluZyBlbmRvbW9y cGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKLSsgICAgICAgICAgICBbKCgx LCAxLCAxLCB6LCB6ICsgMSwgMSwgMSwgMSwgMSwgeiArIDEsIHosIHosIHogKyAxLCB6ICsgMSwg eiArIDEsIDEsIHogKyAxLCB6LCB6LCAxLCB6KTsgKDEsMTMsMTQsMjApKDIsMjEsOCwxOCw3LDE2 LDE5LDE1KSgzLDEwLDUsMTIsMTcsOSw2LDQpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUg RmllbGQgaW4geiBvZiBzaXplIDJeMgotKyAgICAgICAgICAgICAgIERlZm46IHogfC0tPiB6ICsg MSksCi0rICAgICAgICAgICAgICgoeiwgMSwgeiwgeiwgeiwgeiArIDEsIHosIHosIHosIHosIHos IHosIHogKyAxLCB6LCB6LCB6LCB6LCB6ICsgMSwgeiwgeiwgeik7ICgxLDExLDUsMTIsMywxOSko Miw4KSg2LDE4LDEzKSg3LDE3LDE1KSg5LDEwLDE0LDE2LDIwLDIxKSwgUmluZyBlbmRvbW9ycGhp c20gb2YgRmluaXRlIEZpZWxkIGluIHogb2Ygc2l6ZSAyXjIKLSAgICAgICAgICAgICAgICBEZWZu OiB6IHwtLT4geiArIDEpLAotLSAgICAgICAgICAgICAoKHogKyAxLCAxLCAxLCB6LCB6ICsgMSwg eiwgeiwgeiArIDEsIHogKyAxLCB6ICsgMSwgMSwgeiArIDEsIHosIHosIDEsIHogKyAxLCAxLCB6 LCB6ICsgMSwgeiArIDEsIHopOyAoMSwxOCw2LDE5LDIsOSwxNywxMCwxMywxNCwyMSwxMSw0LDUs MTIpKDMsMjAsNywxNiw4KSwgUmluZyBlbmRvbW9ycGhpc20gb2YgRmluaXRlIEZpZWxkIGluIHog b2Ygc2l6ZSAyXjIKLS0gICAgICAgICAgICAgICBEZWZuOiB6IHwtLT4geiksCi0gICAgICAgICAg ICAgICgoeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwgeiwg eiwgeiwgeiwgeik7ICgpLCBSaW5nIGVuZG9tb3JwaGlzbSBvZiBGaW5pdGUgRmllbGQgaW4geiBv ZiBzaXplIDJeMgotICAgICAgICAgICAgICAgIERlZm46IHogfC0tPiB6KV0KLSAgICAgICAgICIi IgotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2NvbWJpbmF0L3Jvb3Rfc3lzdGVtL2hlY2tlX2FsZ2Vi cmFfcmVwcmVzZW50YXRpb24ucHkgYi9zcmMvc2FnZS9jb21iaW5hdC9yb290X3N5c3RlbS9oZWNr ZV9hbGdlYnJhX3JlcHJlc2VudGF0aW9uLnB5Ci1pbmRleCBiZGUyODIzLi5iZmZjYzg1IDEwMDY0 NAotLS0tIGEvc3JjL3NhZ2UvY29tYmluYXQvcm9vdF9zeXN0ZW0vaGVja2VfYWxnZWJyYV9yZXBy ZXNlbnRhdGlvbi5weQotKysrIGIvc3JjL3NhZ2UvY29tYmluYXQvcm9vdF9zeXN0ZW0vaGVja2Vf YWxnZWJyYV9yZXByZXNlbnRhdGlvbi5weQotQEAgLTM1NSw3ICszNTUsNyBAQCBjbGFzcyBIZWNr ZUFsZ2VicmFSZXByZXNlbnRhdGlvbihXaXRoRXF1YWxpdHlCeUlkLCBTYWdlT2JqZWN0KToKLSAg ICAgICAgICAgICBzYWdlOiBxMSwgcTIgPSBLLmdlbnMoKQotICAgICAgICAgICAgIHNhZ2U6IEtX ID0gVy5hbGdlYnJhKEspCi0gICAgICAgICAgICAgc2FnZTogeCA9IEtXLmFuX2VsZW1lbnQoKTsg eAotLSAgICAgICAgICAgIDEyMyArIDMqMzIgKyAyKjMgKyBlCi0rICAgICAgICAgICAgMTIzICsg MyoyMzEyICsgMiozMSArIGUKLSAKLSAgICAgICAgICAgICBzYWdlOiBUID0gS1cuZGVtYXp1cmVf bHVzenRpZ19vcGVyYXRvcnMocTEscTIpCi0gICAgICAgICAgICAgc2FnZTogVDEyID0gVC5Udygg KDEsMikgKQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2NvbWJpbmF0L3N5bW1ldHJpY19ncm91cF9h bGdlYnJhLnB5IGIvc3JjL3NhZ2UvY29tYmluYXQvc3ltbWV0cmljX2dyb3VwX2FsZ2VicmEucHkK LWluZGV4IGMzZDY3NTUuLmRhOTUzZDIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9jb21iaW5hdC9z eW1tZXRyaWNfZ3JvdXBfYWxnZWJyYS5weQotKysrIGIvc3JjL3NhZ2UvY29tYmluYXQvc3ltbWV0 cmljX2dyb3VwX2FsZ2VicmEucHkKLUBAIC0xMDEsNyArMTAxLDcgQEAgZGVmIFN5bW1ldHJpY0dy b3VwQWxnZWJyYShSLCBXLCBjYXRlZ29yeT1Ob25lKToKLSAgICAgICAgIHNhZ2U6IFNHQS5ncm91 cCgpCi0gICAgICAgICBXZXlsIEdyb3VwIG9mIHR5cGUgWydBJywgM10gKGFzIGEgbWF0cml4IGdy b3VwIGFjdGluZyBvbiB0aGUgYW1iaWVudCBzcGFjZSkKLSAgICAgICAgIHNhZ2U6IFNHQS5hbl9l bGVtZW50KCkKLS0gICAgICAgIHMxKnMyKnMzICsgMypzMypzMiArIDIqczMgKyAxCi0rICAgICAg ICBzMSpzMipzMyArIDMqczIqczMqczEqczIgKyAyKnMzKnMxICsgMQotIAotICAgICBUaGUgcHJl ZmVycmVkIHdheSB0byBjb25zdHJ1Y3QgdGhlIHN5bW1ldHJpYyBncm91cCBhbGdlYnJhIGlzIHRv Ci0gICAgIGdvIHRocm91Z2ggdGhlIHVzdWFsIGBgYWxnZWJyYWBgIG1ldGhvZDo6Ci1kaWZmIC0t Z2l0IGEvc3JjL3NhZ2UvZ3JvdXBzL2Zpbml0ZWx5X3ByZXNlbnRlZC5weSBiL3NyYy9zYWdlL2dy b3Vwcy9maW5pdGVseV9wcmVzZW50ZWQucHkKLWluZGV4IDJhNjFiYmYuLmQyNjg5MWEgMTAwNjQ0 Ci0tLS0gYS9zcmMvc2FnZS9ncm91cHMvZmluaXRlbHlfcHJlc2VudGVkLnB5Ci0rKysgYi9zcmMv c2FnZS9ncm91cHMvZmluaXRlbHlfcHJlc2VudGVkLnB5Ci1AQCAtNTk2LDkgKzU5Niw5IEBAIGNs YXNzIFJld3JpdGluZ1N5c3RlbSgpOgotICAgICAgICAgICAgIHNhZ2U6IGsgPSBHLnJld3JpdGlu Z19zeXN0ZW0oKQotICAgICAgICAgICAgIHNhZ2U6IGsuZ2FwKCkKLSAgICAgICAgICAgICBLbnV0 aCBCZW5kaXggUmV3cml0aW5nIFN5c3RlbSBmb3IgTW9ub2lkKCBbIGEsIEEsIGIsIEIgXSApIHdp dGggcnVsZXMKLS0gICAgICAgICAgICBbIFsgYV4yLCA8aWRlbnRpdHkgLi4uPiBdLCBbIGEqQSwg PGlkZW50aXR5IC4uLj4gXSwKLS0gICAgICAgICAgICAgIFsgQSphLCA8aWRlbnRpdHkgLi4uPiBd LCBbIGJeMiwgPGlkZW50aXR5IC4uLj4gXSwKLS0gICAgICAgICAgICAgIFsgYipCLCA8aWRlbnRp dHkgLi4uPiBdLCBbIEIqYiwgPGlkZW50aXR5IC4uLj4gXSBdCi0rICAgICAgICAgICAgWyBbIGEq QSwgPGlkZW50aXR5IC4uLj4gXSwgWyBBKmEsIDxpZGVudGl0eSAuLi4+IF0sCi0rICAgICAgICAg ICAgICBbIGIqQiwgPGlkZW50aXR5IC4uLj4gXSwgWyBCKmIsIDxpZGVudGl0eSAuLi4+IF0sCi0r ICAgICAgICAgICAgICBbIGFeMiwgPGlkZW50aXR5IC4uLj4gXSwgWyBiXjIsIDxpZGVudGl0eSAu Li4+IF0gXQotICAgICAgICAgIiIiCi0gICAgICAgICByZXR1cm4gc2VsZi5fZ2FwCi0gCi1kaWZm IC0tZ2l0IGEvc3JjL3NhZ2UvZ3JvdXBzL2ZxZl9vcnRob2dvbmFsLnB5IGIvc3JjL3NhZ2UvZ3Jv dXBzL2ZxZl9vcnRob2dvbmFsLnB5Ci1pbmRleCA3NWRlNDA4Li5kZDdkODRkIDEwMDY0NAotLS0t IGEvc3JjL3NhZ2UvZ3JvdXBzL2ZxZl9vcnRob2dvbmFsLnB5Ci0rKysgYi9zcmMvc2FnZS9ncm91 cHMvZnFmX29ydGhvZ29uYWwucHkKLUBAIC0xNDMsNyArMTQzLDcgQEAgY2xhc3MgRnFmT3J0aG9n b25hbEdyb3VwKEFiZWxpYW5Hcm91cEF1dG9tb3JwaGlzbUdyb3VwX3N1Ymdyb3VwKToKLSAgICAg ICAgIFsyLzMgICAwICAgMF0KLSAgICAgICAgIFsgIDAgMi8zICAgMF0KLSAgICAgICAgIFsgIDAg ICAwIDQvM10KLS0gICAgICAgIGdlbmVyYXRlZCBieSAyIGVsZW1lbnRzCi0rICAgICAgICBnZW5l cmF0ZWQgYnkgMyBlbGVtZW50cwotICAgICAgICAgc2FnZTogcSA9IG1hdHJpeC5kaWFnb25hbChR USwgWzMvMiwgMS80LCAxLzRdKQotICAgICAgICAgc2FnZTogVCA9IFRvcnNpb25RdWFkcmF0aWNG b3JtKHEpCi0gICAgICAgICBzYWdlOiBULm9ydGhvZ29uYWxfZ3JvdXAoKS5vcmRlcigpCi1kaWZm IC0tZ2l0IGEvc3JjL3NhZ2UvZ3JvdXBzL2xpYmdhcF93cmFwcGVyLnB5eCBiL3NyYy9zYWdlL2dy b3Vwcy9saWJnYXBfd3JhcHBlci5weXgKLWluZGV4IGE3NmFmYzIuLjkzNDBjMGQgMTAwNjQ0Ci0t LS0gYS9zcmMvc2FnZS9ncm91cHMvbGliZ2FwX3dyYXBwZXIucHl4Ci0rKysgYi9zcmMvc2FnZS9n cm91cHMvbGliZ2FwX3dyYXBwZXIucHl4Ci1AQCAtMjUsNyArMjUsNyBAQCBOb3RlIGhvdyB3ZSBj YWxsIHRoZSBjb25zdHJ1Y3RvciBvZiBib3RoIHN1cGVyY2xhc3NlcyB0byBpbml0aWFsaXplCi0g aXRzIG91dHB1dCB2aWEgTGliR0FQOjoKLSAKLSAgICAgc2FnZTogRm9vR3JvdXAoKQotLSAgICA8 cGMgZ3JvdXAgb2Ygc2l6ZSAzIHdpdGggMSBnZW5lcmF0b3JzPgotKyAgICA8cGMgZ3JvdXAgb2Yg c2l6ZSAzIHdpdGggMSBnZW5lcmF0b3I+Ci0gICAgIHNhZ2U6IHR5cGUoRm9vR3JvdXAoKS5nYXAo KSkKLSAgICAgPGNsYXNzICdzYWdlLmxpYnMuZ2FwLmVsZW1lbnQuR2FwRWxlbWVudCc+Ci0gCi1A QCAtMTA2LDcgKzEwNiw3IEBAIGNsYXNzIFBhcmVudExpYkdBUChTYWdlT2JqZWN0KToKLSAgICAg ICAgIC4uLi46ICAgICAgICAgUGFyZW50TGliR0FQLl9faW5pdF9fKHNlbGYsIGxnKQotICAgICAg ICAgLi4uLjogICAgICAgICBHcm91cC5fX2luaXRfXyhzZWxmKQotICAgICAgICAgc2FnZTogRm9v R3JvdXAoKQotLSAgICAgICAgPHBjIGdyb3VwIG9mIHNpemUgMyB3aXRoIDEgZ2VuZXJhdG9ycz4K LSsgICAgICAgIDxwYyBncm91cCBvZiBzaXplIDMgd2l0aCAxIGdlbmVyYXRvcj4KLSAgICAgIiIi Ci0gCi0gICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsaWJnYXBfcGFyZW50LCBhbWJpZW50PU5vbmUp OgotQEAgLTQ2MSw3ICs0NjEsNyBAQCBjZGVmIGNsYXNzIEVsZW1lbnRMaWJHQVAoTXVsdGlwbGlj YXRpdmVHcm91cEVsZW1lbnQpOgotICAgICAgICAgLi4uLjogICAgICAgICBQYXJlbnRMaWJHQVAu X19pbml0X18oc2VsZiwgbGcpCi0gICAgICAgICAuLi4uOiAgICAgICAgIEdyb3VwLl9faW5pdF9f KHNlbGYpCi0gICAgICAgICBzYWdlOiBGb29Hcm91cCgpCi0tICAgICAgICA8cGMgZ3JvdXAgb2Yg c2l6ZSAzIHdpdGggMSBnZW5lcmF0b3JzPgotKyAgICAgICAgPHBjIGdyb3VwIG9mIHNpemUgMyB3 aXRoIDEgZ2VuZXJhdG9yPgotICAgICAgICAgc2FnZTogRm9vR3JvdXAoKS5nZW5zKCkKLSAgICAg ICAgIChmMSwpCi0gICAgICIiIgotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2dyb3Vwcy9wZXJtX2dw cy9wYXJ0bl9yZWYyL3JlZmluZW1lbnRfZ2VuZXJpYy5weXggYi9zcmMvc2FnZS9ncm91cHMvcGVy bV9ncHMvcGFydG5fcmVmMi9yZWZpbmVtZW50X2dlbmVyaWMucHl4Ci1pbmRleCAyZmNiMDM2Li5j YTczYzZiIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvZ3JvdXBzL3Blcm1fZ3BzL3BhcnRuX3JlZjIv cmVmaW5lbWVudF9nZW5lcmljLnB5eAotKysrIGIvc3JjL3NhZ2UvZ3JvdXBzL3Blcm1fZ3BzL3Bh cnRuX3JlZjIvcmVmaW5lbWVudF9nZW5lcmljLnB5eAotQEAgLTQyNyw3ICs0MjcsNyBAQCBjZGVm IGNsYXNzIExhYmVsbGVkQnJhbmNoaW5nOgotICAgICAgICAgICAgIHNhZ2U6IGZyb20gc2FnZS5n cm91cHMucGVybV9ncHMucGFydG5fcmVmMi5yZWZpbmVtZW50X2dlbmVyaWMgaW1wb3J0IExhYmVs bGVkQnJhbmNoaW5nCi0gICAgICAgICAgICAgc2FnZTogTCA9IExhYmVsbGVkQnJhbmNoaW5nKDMp Ci0gICAgICAgICAgICAgc2FnZTogTC5zbWFsbF9nZW5lcmF0aW5nX3NldCgpCi0tICAgICAgICAg ICAgW10KLSsgICAgICAgICAgICBbKCldCi0gICAgICAgICAgICAgc2FnZTogTC5hZGRfZ2VuKGxp YmdhcC5ldmFsKCcoMSwyLDMpJykpCi0gICAgICAgICAgICAgc2FnZTogTC5zbWFsbF9nZW5lcmF0 aW5nX3NldCgpCi0gICAgICAgICAgICAgWygxLDIsMyldCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uv Z3JvdXBzL3Blcm1fZ3BzL3Blcm1ncm91cC5weSBiL3NyYy9zYWdlL2dyb3Vwcy9wZXJtX2dwcy9w ZXJtZ3JvdXAucHkKLWluZGV4IDQ5MDg5MzQuLjM0YmEwY2MgMTAwNjQ0Ci0tLS0gYS9zcmMvc2Fn ZS9ncm91cHMvcGVybV9ncHMvcGVybWdyb3VwLnB5Ci0rKysgYi9zcmMvc2FnZS9ncm91cHMvcGVy bV9ncHMvcGVybWdyb3VwLnB5Ci1AQCAtOTEzLDcgKzkxMyw3IEBAIGNsYXNzIFBlcm11dGF0aW9u R3JvdXBfZ2VuZXJpYyhGaW5pdGVHcm91cCk6Ci0gICAgICAgICAgICBzYWdlOiBmID0gUEcuX2Nv ZXJjZV9tYXBfZnJvbV8oTUcpCi0gICAgICAgICAgICBzYWdlOiBtZyA9IE1HLmFuX2VsZW1lbnQo KQotICAgICAgICAgICAgc2FnZTogcCA9IGYobWcpOyBwCi0tICAgICAgICAgICAoMiwzMywzMiwy MywzMSw1NSkoMyw0OSwzOCw0NCw0MCwyOCkoNCwxNyw1OSw2Miw1OCw0NikoNSwyMSw0NywyMCw0 Myw4KSg2LDUzLDUwKSg3LDM3LDEyLDU3LDE0LDI5KSg5LDQxLDU2LDM0LDY0LDEwKSgxMSwyNSwx OSkoMTMsNjEsMjYsNTEsMjIsMTUpKDE2LDQ1LDM2KSgxOCwyNywzNSw0OCw1Miw1NCkoMjQsNjMs NDIpKDMwLDM5LDYwKQotKyAgICAgICAgICAgKDEsMiw2LDE5LDM1LDMzKSgzLDksMjYsMTQsMzEs MjMpKDQsMTMsNSkoNywyMiwxNykoOCwyNCwxMikoMTAsMTYsMzIsMjcsMjAsMjgpKDExLDMwLDE4 KSgxNSwyNSwzNiwzNCwyOSwyMSkKLSAgICAgICAgICAgIHNhZ2U6IFBHKHAuX2dhcF8oKSkgPT0g cAotICAgICAgICAgICAgVHJ1ZQotIAotQEAgLTk1OSwxMiArOTU5LDEyIEBAIGNsYXNzIFBlcm11 dGF0aW9uR3JvdXBfZ2VuZXJpYyhGaW5pdGVHcm91cCk6Ci0gICAgICAgICAgICAgc2FnZTogUCA9 IEcuYXNfcGVybXV0YXRpb25fZ3JvdXAoYWxnb3JpdGhtPSdzbWFsbGVyJywgc2VlZD01KQotICAg ICAgICAgICAgIHNhZ2U6IFAxID0gRy5hc19wZXJtdXRhdGlvbl9ncm91cCgpCi0gICAgICAgICAg ICAgc2FnZTogUCA9PSBQMQotLSAgICAgICAgICAgIEZhbHNlCi0rICAgICAgICAgICAgVHJ1ZQot ICAgICAgICAgICAgIHNhZ2U6IGcxLCBnMiwgZzMgPSBHLmdlbnMoKQotICAgICAgICAgICAgIHNh Z2U6IFAoZzEqZzIpCi0tICAgICAgICAgICAgKDEsMyw3LDEyKSgyLDQsOCwxMCkoNSwxMSkoNiw5 KQotKyAgICAgICAgICAgICgxLDQsMTMsMTEpKDIsNSwxNCwxOCkoMywxNSw4LDE2KSg2LDcpKDks MjAsMTksMTIpKDEwLDE3KQotICAgICAgICAgICAgIHNhZ2U6IFAxKGcxKmcyKQotLSAgICAgICAg ICAgICgyLDI5LDI1LDY4KSgzLDU3LDEzLDU0KSg0LDExLDcyLDM3KSg1LDM5LDYwLDIzKSg2LDY0 LDc1LDYzKSg3LDIxLDUwLDczKSg4LDQ2LDM4LDMyKSg5LDc0LDM1LDE4KSgxMCw0NCw0OSw0OCko MTIsMTYsMzQsNzEpKDE0LDc5LDI3LDQwKSgxNSwyNikoMTcsNjIsNTksNzYpKDE5LDc4LDcwLDY1 KSgyMCwyMiw1OCw1MSkoMjQsMzMsMzYsNDMpKDI4LDgxLDgwLDUyKSgzMCw1Myw1Niw2OSkoMzEs NjEpKDQxLDQyLDY3LDU1KSg0NSw3NykoNDcsNjYpCi0rICAgICAgICAgICAgKDEsNCwxMywxMSko Miw1LDE0LDE4KSgzLDE1LDgsMTYpKDYsNykoOSwyMCwxOSwxMikoMTAsMTcpCi0gCi0gICAgICAg ICBBbm90aGVyIGNoZWNrIGZvciA6dHJhYzpgNTU4M2A6OgotIAotZGlmZiAtLWdpdCBhL3NyYy9z YWdlL2xpYnMvZ2FwL2xpYmdhcC5weXggYi9zcmMvc2FnZS9saWJzL2dhcC9saWJnYXAucHl4Ci1p bmRleCBiMWE2NGU1Li42YTM2NjEzIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvbGlicy9nYXAvbGli Z2FwLnB5eAotKysrIGIvc3JjL3NhZ2UvbGlicy9nYXAvbGliZ2FwLnB5eAotQEAgLTY5NSw3ICs2 OTUsNyBAQCBjbGFzcyBHYXAoUGFyZW50KToKLSAgICAgICAgICAgICBzYWdlOiBsaWJnYXAuTGlz dAotICAgICAgICAgICAgIDxHYXAgZnVuY3Rpb24gIkxpc3QiPgotICAgICAgICAgICAgIHNhZ2U6 IGxpYmdhcC5HbG9iYWxSYW5kb21Tb3VyY2UKLS0gICAgICAgICAgICA8UmFuZG9tU291cmNlIGlu IElzR2xvYmFsUmFuZG9tU291cmNlPgotKyAgICAgICAgICAgIDxSYW5kb21Tb3VyY2UgaW4gSXNH QVBSYW5kb21Tb3VyY2U+Ci0gICAgICAgICAiIiIKLSAgICAgICAgIGlmIG5hbWUgaW4gZGlyKHNl bGYuX19jbGFzc19fKToKLSAgICAgICAgICAgICByZXR1cm4gZ2V0YXR0cihzZWxmLl9fY2xhc3Nf XywgbmFtZSkKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL2dhcC91dGlsLnB5eCBiL3NyYy9z YWdlL2xpYnMvZ2FwL3V0aWwucHl4Ci1pbmRleCAzNDRhYjg4Li42MzUwOTg3IDEwMDY0NAotLS0t IGEvc3JjL3NhZ2UvbGlicy9nYXAvdXRpbC5weXgKLSsrKyBiL3NyYy9zYWdlL2xpYnMvZ2FwL3V0 aWwucHl4Ci1AQCAtMzYyLDE1ICszNjIsOSBAQCBjZGVmIE9iaiBnYXBfZXZhbChzdHIgZ2FwX3N0 cmluZykgZXhjZXB0PyBOVUxMOgotICAgICAgICAgR0FQRXJyb3I6IEVycm9yLCBWYXJpYWJsZTog J0NvbXBsZXgnIG11c3QgaGF2ZSBhIHZhbHVlCi0gICAgICAgICBTeW50YXggZXJyb3I6IDsgZXhw ZWN0ZWQgaW4gc3RyZWFtOjEKLSAgICAgICAgIENvbXBsZXggRmllbGQgd2l0aCA1MyBiaXRzIG9m IHByZWNpc2lvbjs7Ci0tICAgICAgICAgXl5eXl5eXl5eXl5eCi0rICAgICAgICAgICAgICAgIF5e Xl5eCi0gICAgICAgICBFcnJvciwgVmFyaWFibGU6ICd3aXRoJyBtdXN0IGhhdmUgYSB2YWx1ZQot LSAgICAgICAgU3ludGF4IGVycm9yOiA7IGV4cGVjdGVkIGluIHN0cmVhbToxCi0tICAgICAgICBD b21wbGV4IEZpZWxkIHdpdGggNTMgYml0cyBvZiBwcmVjaXNpb247OwotLSAgICAgICAgIF5eXl5e Xl5eXl5eXl5eXl5eXl5eCi0gICAgICAgICBFcnJvciwgVmFyaWFibGU6ICdiaXRzJyBtdXN0IGhh dmUgYSB2YWx1ZQotLSAgICAgICAgU3ludGF4IGVycm9yOiA7IGV4cGVjdGVkIGluIHN0cmVhbTox Ci0tICAgICAgICBDb21wbGV4IEZpZWxkIHdpdGggNTMgYml0cyBvZiBwcmVjaXNpb247OwotLSAg ICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KLSAgICAgICAgIEVycm9yLCBWYXJp YWJsZTogJ3ByZWNpc2lvbicgbXVzdCBoYXZlIGEgdmFsdWUKLSAKLSAgICAgVGVzdCB0aGF0IG9u IGEgc3Vic2VxdWVudCBhdHRlbXB0IHdlIGdldCB0aGUgc2FtZSBtZXNzYWdlIChubyBnYXJiYWdl IHdhcwotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3Rlc3RzL2dhcF9wYWNrYWdlcy5weSBiL3NyYy9z YWdlL3Rlc3RzL2dhcF9wYWNrYWdlcy5weQotaW5kZXggMmU0NTE4Yy4uYzMwMmIxNiAxMDA2NDQK LS0tLSBhL3NyYy9zYWdlL3Rlc3RzL2dhcF9wYWNrYWdlcy5weQotKysrIGIvc3JjL3NhZ2UvdGVz dHMvZ2FwX3BhY2thZ2VzLnB5Ci1AQCAtMTAzLDcgKzEwMyw3IEBAIGRlZiBhbGxfaW5zdGFsbGVk X3BhY2thZ2VzKGlnbm9yZV9kb3RfZ2FwPUZhbHNlLCBnYXA9Tm9uZSk6Ci0gCi0gICAgICAgICBz YWdlOiBmcm9tIHNhZ2UudGVzdHMuZ2FwX3BhY2thZ2VzIGltcG9ydCBhbGxfaW5zdGFsbGVkX3Bh Y2thZ2VzCi0gICAgICAgICBzYWdlOiBhbGxfaW5zdGFsbGVkX3BhY2thZ2VzKCkKLS0gICAgICAg ICguLi4nR0FQRG9jJy4uLikKLSsgICAgICAgICguLi4nZ2FwZG9jJy4uLikKLSAgICAgICAgIHNh Z2U6IGFsbF9pbnN0YWxsZWRfcGFja2FnZXMoaWdub3JlX2RvdF9nYXA9VHJ1ZSkgPT0gYWxsX2lu c3RhbGxlZF9wYWNrYWdlcyhnYXA9Z2FwLCBpZ25vcmVfZG90X2dhcD1UcnVlKQotICAgICAgICAg VHJ1ZQotICAgICAiIiIKLS0tIAotY2dpdCB2MS4wLTEtZ2Q4OGUKLQotCi1Gcm9tIGNiYzkwMmE3 OWZmOWVjMDFkNGQ0ZWI5YTc2N2ExYzY2MWZiNWRkYTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiBBbnRvbmlvIFJvamFzIDxhcm9qYXNAYXJjaGxpbnV4Lm9yZz4KLURhdGU6IEZyaSwg MzAgU2VwIDIwMjIgMTk6MTc6NDIgKzAyMDAKLVN1YmplY3Q6IEFkYXB0IHRlc3QgdG8gbmV3IGlz X3RyYW5zaXRpdmUgYW5kIGlzX3ByaW1pdGl2ZSBiZWhhdmlvcgotCi0tLS0KLSBzcmMvc2FnZS9n cm91cHMvcGVybV9ncHMvcGVybWdyb3VwLnB5IHwgMjIgKysrKysrKysrKysrKysrKy0tLS0tLQot IDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvc3JjL3NhZ2UvZ3JvdXBzL3Blcm1fZ3BzL3Blcm1ncm91cC5weSBiL3NyYy9zYWdl L2dyb3Vwcy9wZXJtX2dwcy9wZXJtZ3JvdXAucHkKLWluZGV4IDM0YmEwY2MuLjU4MzJiOTggMTAw NjQ0Ci0tLS0gYS9zcmMvc2FnZS9ncm91cHMvcGVybV9ncHMvcGVybWdyb3VwLnB5Ci0rKysgYi9z cmMvc2FnZS9ncm91cHMvcGVybV9ncHMvcGVybWdyb3VwLnB5Ci1AQCAtNDM1OSwxNyArNDM1OSwy MyBAQCBjbGFzcyBQZXJtdXRhdGlvbkdyb3VwX2dlbmVyaWMoRmluaXRlR3JvdXApOgotIAotICAg ICAgICAgOjoKLSAKLS0gICAgICAgICAgICBzYWdlOiBHID0gUGVybXV0YXRpb25Hcm91cChbWygx LDIsMyw0LDUpXSxbKDEsMildXSkgI1NfNSBvbiBbMS4uNV0KLS0gICAgICAgICAgICBzYWdlOiBH LmlzX3RyYW5zaXRpdmUoWzEsNCw1XSkKLSsgICAgICAgICAgICBzYWdlOiBHID0gUGVybXV0YXRp b25Hcm91cChbWygxLDIsMyw0LDUpXSxbKDEsMildLFsoNiw3KV1dKQotKyAgICAgICAgICAgIHNh Z2U6IEcuaXNfdHJhbnNpdGl2ZShbMSwyLDMsNCw1XSkKLSAgICAgICAgICAgICBUcnVlCi0tICAg ICAgICAgICAgc2FnZTogRy5pc190cmFuc2l0aXZlKFsyLi42XSkKLSsgICAgICAgICAgICBzYWdl OiBHLmlzX3RyYW5zaXRpdmUoWzEuLjddKQotICAgICAgICAgICAgIEZhbHNlCi0gICAgICAgICAg ICAgc2FnZTogRy5pc190cmFuc2l0aXZlKEcubm9uX2ZpeGVkX3BvaW50cygpKQotLSAgICAgICAg ICAgIFRydWUKLSsgICAgICAgICAgICBGYWxzZQotICAgICAgICAgICAgIHNhZ2U6IEggPSBQZXJt dXRhdGlvbkdyb3VwKFtbKDEsMiwzKV0sWyg0LDUsNildXSkKLSAgICAgICAgICAgICBzYWdlOiBI LmlzX3RyYW5zaXRpdmUoSC5ub25fZml4ZWRfcG9pbnRzKCkpCi0gICAgICAgICAgICAgRmFsc2UK LSAKLSsgICAgICAgIElmIGBHYCBkb2VzIG5vdCBhY3Qgb24gdGhlIGRvbWFpbiwgaXQgYWx3YXlz IHJldHVybnMgYGBGYWxzZWBgOjoKLSsKLSsgICAgICAgICAgICBzYWdlOiBHID0gUGVybXV0YXRp b25Hcm91cChbWygxLDIsMyw0LDUpXSxbKDEsMildXSkgI1NfNSBvbiBbMS4uNV0KLSsgICAgICAg ICAgICBzYWdlOiBHLmlzX3RyYW5zaXRpdmUoWzEsNCw1XSkKLSsgICAgICAgICAgICBGYWxzZQot KwotICAgICAgICAgTm90ZSB0aGF0IHRoaXMgZGlmZmVycyBmcm9tIHRoZSBkZWZpbml0aW9uIGlu IEdBUCwgd2hlcmUKLSAgICAgICAgIGBgSXNUcmFuc2l0aXZlYGAgcmV0dXJucyB3aGV0aGVyIHRo ZSBncm91cCBpcyB0cmFuc2l0aXZlIG9uIHRoZQotICAgICAgICAgc2V0IG9mIHBvaW50cyBtb3Zl ZCBieSB0aGUgZ3JvdXAuCi1AQCAtNDQyNSwxMiArNDQzMSwxNiBAQCBjbGFzcyBQZXJtdXRhdGlv bkdyb3VwX2dlbmVyaWMoRmluaXRlR3JvdXApOgotICAgICAgICAgICAgIHNhZ2U6IEcgPSBQZXJt dXRhdGlvbkdyb3VwKFtbKDEsMiwzLDQpXSxbKDIsNCldXSkKLSAgICAgICAgICAgICBzYWdlOiBH LmlzX3ByaW1pdGl2ZShbMS4uNF0pCi0gICAgICAgICAgICAgRmFsc2UKLS0gICAgICAgICAgICBz YWdlOiBHLmlzX3ByaW1pdGl2ZShbMSwyLDNdKQotLSAgICAgICAgICAgIFRydWUKLSAgICAgICAg ICAgICBzYWdlOiBHID0gUGVybXV0YXRpb25Hcm91cChbWygzLDQsNSw2KV0sWygzLDQpXV0pICNT XzQgb24gWzMuLjZdCi0gICAgICAgICAgICAgc2FnZTogRy5pc19wcmltaXRpdmUoRy5ub25fZml4 ZWRfcG9pbnRzKCkpCi0gICAgICAgICAgICAgVHJ1ZQotIAotKyAgICAgICAgSWYgYEdgIGRvZXMg bm90IGFjdCBvbiB0aGUgZG9tYWluLCBpdCBhbHdheXMgcmV0dXJucyBgYEZhbHNlYGA6OgotKwot KyAgICAgICAgICAgIHNhZ2U6IEcgPSBQZXJtdXRhdGlvbkdyb3VwKFtbKDEsMiwzLDQpXSxbKDIs NCldXSkKLSsgICAgICAgICAgICBzYWdlOiBHLmlzX3ByaW1pdGl2ZShbMSwyLDNdKQotKyAgICAg ICAgICAgIEZhbHNlCi0rCi0gICAgICAgICAiIiIKLSAgICAgICAgICNJZiB0aGUgZG9tYWluIGlz IG5vdCBhIHN1YnNldCBvZiBzZWxmLmRvbWFpbigpLCB0aGVuIHRoZQotICAgICAgICAgI2FjdGlv biBpc24ndCBwcmltaXRpdmUuCi0tLSAKLWNnaXQgdjEuMC0xLWdkODhlCi0KLQotRnJvbSA4MGRk NmIzMzgyMzZmMTcwZWZjYTFmYzM1NDVkZjE4Y2U4ZDg3OTVjIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQotRnJvbTogQW50b25pbyBSb2phcyA8YXJvamFzQGFyY2hsaW51eC5vcmc+Ci1EYXRlOiBG cmksIDMwIFNlcCAyMDIyIDE5OjE4OjA2ICswMjAwCi1TdWJqZWN0OiBNYXJrIHRlc3QgYXMgcmFu ZG9tLiBXaXRoIGdhcCA0LjEyIG9uIHg4Nl82NCBpdCBpcyBubyBsb25nZXIgMgotCi0tLS0KLSBz cmMvc2FnZS9ncm91cHMvcGVybV9ncHMvcGVybWdyb3VwLnB5IHwgMiArLQotIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Nh Z2UvZ3JvdXBzL3Blcm1fZ3BzL3Blcm1ncm91cC5weSBiL3NyYy9zYWdlL2dyb3Vwcy9wZXJtX2dw cy9wZXJtZ3JvdXAucHkKLWluZGV4IDU4MzJiOTguLmMxMjMwYTMgMTAwNjQ0Ci0tLS0gYS9zcmMv c2FnZS9ncm91cHMvcGVybV9ncHMvcGVybWdyb3VwLnB5Ci0rKysgYi9zcmMvc2FnZS9ncm91cHMv cGVybV9ncHMvcGVybWdyb3VwLnB5Ci1AQCAtMTI4Nyw3ICsxMjg3LDcgQEAgY2xhc3MgUGVybXV0 YXRpb25Hcm91cF9nZW5lcmljKEZpbml0ZUdyb3VwKToKLSAgICAgICAgICAgICBzYWdlOiBHLmdl bnNfc21hbGwoKSAjIHJhbmRvbQotICAgICAgICAgICAgIFsoJ2InLCdjJyksICgnYScsJ2MnLCdi JyldICMjIChvbiA2NC1iaXQgTGludXgpCi0gICAgICAgICAgICAgWygnYScsJ2InKSwgKCdhJywn YycsJ2InKV0gIyMgKG9uIFNvbGFyaXMpCi0tICAgICAgICAgICAgc2FnZTogbGVuKEcuZ2Vuc19z bWFsbCgpKSA9PSAyCi0rICAgICAgICAgICAgc2FnZTogbGVuKEcuZ2Vuc19zbWFsbCgpKSA9PSAy ICMgcmFuZG9tCi0gICAgICAgICAgICAgVHJ1ZQotICAgICAgICAgIiIiCi0gICAgICAgICBnZW5z ID0gc2VsZi5fbGliZ2FwXygpLlNtYWxsR2VuZXJhdGluZ1NldCgpCi0tLSAKLWNnaXQgdjEuMC0x LWdkODhlCi0KLQotRnJvbSBhNmMyOTNkNjdjZmNkZjhmYmE3YmM2YWE3ODk5ZTIwODZkNDJjYzdl IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW50b25pbyBSb2phcyA8YXJvamFzQGFy Y2hsaW51eC5vcmc+Ci1EYXRlOiBGcmksIDMwIFNlcCAyMDIyIDE5OjE4OjMwICswMjAwCi1TdWJq ZWN0OiBSZW1vdmUgdGVzdCB0aGF0IGlzIG5vdyByZWR1bmRhbnQsIGFsbCBzZWVkcyBnaXZlIHRo ZSBzYW1lIGFuc3dlcgotCi0tLS0KLSBzcmMvc2FnZS9ncm91cHMvbWF0cml4X2dwcy9maW5pdGVs eV9nZW5lcmF0ZWQucHkgfCAzIC0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGRlbGV0aW9ucygtKQot Ci1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvZ3JvdXBzL21hdHJpeF9ncHMvZmluaXRlbHlfZ2VuZXJh dGVkLnB5IGIvc3JjL3NhZ2UvZ3JvdXBzL21hdHJpeF9ncHMvZmluaXRlbHlfZ2VuZXJhdGVkLnB5 Ci1pbmRleCBhNmQzZGMwLi42Mzk1NmFkIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvZ3JvdXBzL21h dHJpeF9ncHMvZmluaXRlbHlfZ2VuZXJhdGVkLnB5Ci0rKysgYi9zcmMvc2FnZS9ncm91cHMvbWF0 cml4X2dwcy9maW5pdGVseV9nZW5lcmF0ZWQucHkKLUBAIC01NjMsOSArNTYzLDYgQEAgY2xhc3Mg RmluaXRlbHlHZW5lcmF0ZWRNYXRyaXhHcm91cF9nYXAoTWF0cml4R3JvdXBfZ2FwKToKLSAgICAg ICAgICAgICAyMTQ5OTA4NDgwMAotICAgICAgICAgICAgIHNhZ2U6IFAgPSBHLmFzX3Blcm11dGF0 aW9uX2dyb3VwKCkKLSAgICAgICAgICAgICBzYWdlOiBQc21hbGxlciA9IEcuYXNfcGVybXV0YXRp b25fZ3JvdXAoYWxnb3JpdGhtPSJzbWFsbGVyIiwgc2VlZD02KQotLSAgICAgICAgICAgIHNhZ2U6 IFAgPT0gUHNtYWxsZXIgICMgc2VlIHRoZSBub3RlIGJlbG93Ci0tICAgICAgICAgICAgVHJ1ZQot LSAgICAgICAgICAgIHNhZ2U6IFBzbWFsbGVyID0gRy5hc19wZXJtdXRhdGlvbl9ncm91cChhbGdv cml0aG09InNtYWxsZXIiKQotICAgICAgICAgICAgIHNhZ2U6IFAgPT0gUHNtYWxsZXIKLSAgICAg ICAgICAgICBGYWxzZQotICAgICAgICAgICAgIHNhZ2U6IFAuY2FyZGluYWxpdHkoKQotLS0gCi1j Z2l0IHYxLjAtMS1nZDg4ZQotCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMv dHJhYy0zNDQ2NS1maXhfaW52YWxpZF9lc2NhcGVfc2VxdWVuY2UtMDQ5NzEzMThmMDMyY2FmOGRj MWMwZGU5NDg5MzQ2ZDg5NDQwOTA5MS5wYXRjaCBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90 cmFjLTM0NDY1LWZpeF9pbnZhbGlkX2VzY2FwZV9zZXF1ZW5jZS0wNDk3MTMxOGYwMzJjYWY4ZGMx YzBkZTk0ODkzNDZkODk0NDA5MDkxLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCA4ZmVkY2I3OGNmNzEuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNo ZXMvdHJhYy0zNDQ2NS1maXhfaW52YWxpZF9lc2NhcGVfc2VxdWVuY2UtMDQ5NzEzMThmMDMyY2Fm OGRjMWMwZGU5NDg5MzQ2ZDg5NDQwOTA5MS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICsw LDAgQEAKLWNvbW1pdCAwNDk3MTMxOGYwMzJjYWY4ZGMxYzBkZTk0ODkzNDZkODk0NDA5MDkxCi1B dXRob3I6IEpvaG4gSC4gUGFsbWllcmkgPGpocGFsbWllcmk2NEBnbWFpbC5jb20+Ci1EYXRlOiAg IFdlZCBBdWcgMzEgMTQ6MjI6MjYgMjAyMiAtMDcwMAotCi0gICAgdHJhYyAzNDQ2NTogZml4IGlu dmFsaWQgZXNjYXBlIHNlcXVlbmNlIGluIGZ1bmN0aW9ucy9zcGVjaWFsLnB5Ci0KLWRpZmYgLS1n aXQgYS9zcmMvc2FnZS9mdW5jdGlvbnMvc3BlY2lhbC5weSBiL3NyYy9zYWdlL2Z1bmN0aW9ucy9z cGVjaWFsLnB5Ci1pbmRleCAwMjU5NmU0OTYyMC4uOTAxZjAyZjliZWUgMTAwNjQ0Ci0tLS0gYS9z cmMvc2FnZS9mdW5jdGlvbnMvc3BlY2lhbC5weQotKysrIGIvc3JjL3NhZ2UvZnVuY3Rpb25zL3Nw ZWNpYWwucHkKLUBAIC04NDksNyArODQ5LDcgQEAgY2xhc3MgRWxsaXB0aWNGKEJ1aWx0aW5GdW5j dGlvbik6Ci0gICAgIC0gOndpa2lwZWRpYTpgRWxsaXB0aWNfaW50ZWdyYWwjSW5jb21wbGV0ZV9l bGxpcHRpY19pbnRlZ3JhbF9vZl90aGVfZmlyc3Rfa2luZGAKLSAgICAgIiIiCi0gICAgIGRlZiBf X2luaXRfXyhzZWxmKToKLS0gICAgICAgICIiIgotKyAgICAgICAgciIiIgotICAgICAgICAgRVhB TVBMRVM6OgotIAotICAgICAgICAgICAgIHNhZ2U6IGxvYWRzKGR1bXBzKGVsbGlwdGljX2YpKQpk aWZmIC0tZ2l0IGEvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzQ1Mzctc2FnZW1hdGgt cGFyaS0yLjE1LnBhdGNoIGIvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzQ1Mzctc2Fn ZW1hdGgtcGFyaS0yLjE1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2Fm YWQ1MDcwYzQuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJh Yy0zNDUzNy1zYWdlbWF0aC1wYXJpLTIuMTUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNzUw ICswLDAgQEAKLWRpZmYgLS1naXQgYS9idWlsZC9wa2dzL2dpYWMvcGF0Y2hlcy9wYXJpXzJfMTUu cGF0Y2ggYi9idWlsZC9wa2dzL2dpYWMvcGF0Y2hlcy9wYXJpXzJfMTUucGF0Y2gKLW5ldyBmaWxl IG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi5kMjkwMGE1ZmZjCi0tLS0gL2Rldi9udWxs Ci0rKysgYi9idWlsZC9wa2dzL2dpYWMvcGF0Y2hlcy9wYXJpXzJfMTUucGF0Y2gKLUBAIC0wLDAg KzEsMjEgQEAKLStBTllBUkcgcGF0Y2gKLSsKLStkaWZmIC0tZ2l0IGEvc3JjL3BhcmkuY2MgYi9z cmMvcGFyaS5jYwotK2luZGV4IDc2Y2U4ZTEuLjUwZDA4YWIgMTAwNjQ0Ci0rLS0tIGEvc3JjL3Bh cmkuY2MKLSsrKysgYi9zcmMvcGFyaS5jYwotK0BAIC00MCw2ICs0MCwxMyBAQCB1c2luZyBuYW1l c3BhY2Ugc3RkOwotKyAKLSsgI2lmZGVmIEhBVkVfTElCUEFSSQotKyAKLSsrLy8gQW55YXJnIGRp c2FwcGVhcmVkIGZyb20gUEFSSSAyLjE1LjAKLSsrI2lmZGVmIF9fY3BsdXNwbHVzCi0rKyMgIGRl ZmluZSBBTllBUkcgLi4uCi0rKyNlbHNlCi0rKyMgIGRlZmluZSBBTllBUkcKLSsrI2VuZGlmCi0r KwotKyAjaWZkZWYgSEFWRV9QVEhSRUFEX0gKLSsgI2luY2x1ZGUgPHB0aHJlYWQuaD4KLSsgI2Vu ZGlmCi0rCi1kaWZmIC0tZ2l0IGEvYnVpbGQvcGtncy9wYXJpL2NoZWNrc3Vtcy5pbmkgYi9idWls ZC9wa2dzL3BhcmkvY2hlY2tzdW1zLmluaQotaW5kZXggYjczNmZlZWQzMS4uYmFmZDBmMzZmNCAx MDA2NDQKLS0tLSBhL2J1aWxkL3BrZ3MvcGFyaS9jaGVja3N1bXMuaW5pCi0rKysgYi9idWlsZC9w a2dzL3BhcmkvY2hlY2tzdW1zLmluaQotQEAgLTEsNSArMSw1IEBACi0gdGFyYmFsbD1wYXJpLVZF UlNJT04udGFyLmd6Ci0tc2hhMT1lMDE2NDdhYWI3ZTk2YThjYjQ5MjJjZjI2YTRmMjI0MzM3YzY2 NDdmCi0tbWQ1PTkyMmY3NDBmY2RmODYzMGIzMGQ2M2RjNzZiNThmNzU2Ci0tY2tzdW09Mjk3MTMz NTI1Ci0rc2hhMT1jYmE5YjI3OWY2N2Q1ZWZlMmZiYmNjZjNiZTZlOTcyNWY4MTZjZjA3Ci0rbWQ1 PTc2ZDQzMGYxYmVhMWIwN2ZhMmFkOTcxMmRlZWFhNzM2Ci0rY2tzdW09MTk5MDc0Mzg5NwotIHVw c3RyZWFtX3VybD1odHRwczovL3BhcmkubWF0aC51LWJvcmRlYXV4LmZyL3B1Yi9wYXJpL3VuaXgv cGFyaS1WRVJTSU9OLnRhci5negotZGlmZiAtLWdpdCBhL2J1aWxkL3BrZ3MvcGFyaS9wYWNrYWdl LXZlcnNpb24udHh0IGIvYnVpbGQvcGtncy9wYXJpL3BhY2thZ2UtdmVyc2lvbi50eHQKLWluZGV4 IGExYTQyMjRkZDUuLjY4ZTY5ZTQwNWUgMTAwNjQ0Ci0tLS0gYS9idWlsZC9wa2dzL3BhcmkvcGFj a2FnZS12ZXJzaW9uLnR4dAotKysrIGIvYnVpbGQvcGtncy9wYXJpL3BhY2thZ2UtdmVyc2lvbi50 eHQKLUBAIC0xICsxIEBACi0tMi4xMy4zCi0rMi4xNS4wCi1kaWZmIC0tZ2l0IGEvc3JjL2RvYy9k ZS90dXRvcmlhbC90b3VyX251bXRoZW9yeS5yc3QgYi9zcmMvZG9jL2RlL3R1dG9yaWFsL3RvdXJf bnVtdGhlb3J5LnJzdAotaW5kZXggYTAxMjIzNGM5OS4uZTMxNDlmZTk0OSAxMDA2NDQKLS0tLSBh L3NyYy9kb2MvZGUvdHV0b3JpYWwvdG91cl9udW10aGVvcnkucnN0Ci0rKysgYi9zcmMvZG9jL2Rl L3R1dG9yaWFsL3RvdXJfbnVtdGhlb3J5LnJzdAotQEAgLTE1Nyw3ICsxNTcsNyBAQCBpbXBsZW1l bnRpZXJ0LgotICAgICBVbml2YXJpYXRlIFF1b3RpZW50IFBvbHlub21pYWwgUmluZyBpbiBhIG92 ZXIgUmF0aW9uYWwgRmllbGQgd2l0aCBtb2R1bHVzCi0gICAgIHheMyArIHheMiAtIDIqeCArIDgK LSAgICAgc2FnZTogSy51bml0cygpCi0tICAgICgzKmFeMiArIDEzKmEgKyAxMywpCi0rICAgICgt MyphXjIgLSAxMyphIC0gMTMsKQotICAgICBzYWdlOiBLLmRpc2NyaW1pbmFudCgpCi0gICAgIC01 MDMKLSAgICAgc2FnZTogSy5jbGFzc19ncm91cCgpCi1kaWZmIC0tZ2l0IGEvc3JjL2RvYy9lbi90 dXRvcmlhbC90b3VyX251bXRoZW9yeS5yc3QgYi9zcmMvZG9jL2VuL3R1dG9yaWFsL3RvdXJfbnVt dGhlb3J5LnJzdAotaW5kZXggMzA2NGQxMDBlMi4uMDc1ZTBhYzBhZCAxMDA2NDQKLS0tLSBhL3Ny Yy9kb2MvZW4vdHV0b3JpYWwvdG91cl9udW10aGVvcnkucnN0Ci0rKysgYi9zcmMvZG9jL2VuL3R1 dG9yaWFsL3RvdXJfbnVtdGhlb3J5LnJzdAotQEAgLTE1Nyw3ICsxNTcsNyBAQCBOdW1iZXJGaWVs ZCBjbGFzcy4KLSAgICAgVW5pdmFyaWF0ZSBRdW90aWVudCBQb2x5bm9taWFsIFJpbmcgaW4gYSBv dmVyIFJhdGlvbmFsIEZpZWxkIHdpdGggbW9kdWx1cwotICAgICB4XjMgKyB4XjIgLSAyKnggKyA4 Ci0gICAgIHNhZ2U6IEsudW5pdHMoKQotLSAgICAoMyphXjIgKyAxMyphICsgMTMsKQotKyAgICAo LTMqYV4yIC0gMTMqYSAtIDEzLCkKLSAgICAgc2FnZTogSy5kaXNjcmltaW5hbnQoKQotICAgICAt NTAzCi0gICAgIHNhZ2U6IEsuY2xhc3NfZ3JvdXAoKQotZGlmZiAtLWdpdCBhL3NyYy9kb2MvZXMv dHV0b3JpYWwvdG91cl9udW10aGVvcnkucnN0IGIvc3JjL2RvYy9lcy90dXRvcmlhbC90b3VyX251 bXRoZW9yeS5yc3QKLWluZGV4IGExZjdkMWE4N2IuLjQ4ZTUzNzZjZmUgMTAwNjQ0Ci0tLS0gYS9z cmMvZG9jL2VzL3R1dG9yaWFsL3RvdXJfbnVtdGhlb3J5LnJzdAotKysrIGIvc3JjL2RvYy9lcy90 dXRvcmlhbC90b3VyX251bXRoZW9yeS5yc3QKLUBAIC0xNDAsNyArMTQwLDcgQEAgVmFyaW9zIG3D qXRvZG9zIHJlbGFjaW9uYWRvcyBlc3TDoW4gaW1wbGVtZW50YWRvcyBlbiBsYSBjbGFzZSBgYE51 bWJlckZpZWxkYGA6OgotICAgICBVbml2YXJpYXRlIFF1b3RpZW50IFBvbHlub21pYWwgUmluZyBp biBhIG92ZXIgUmF0aW9uYWwgRmllbGQgd2l0aCBtb2R1bHVzCi0gICAgIHheMyArIHheMiAtIDIq eCArIDgKLSAgICAgc2FnZTogSy51bml0cygpCi0tICAgICgzKmFeMiArIDEzKmEgKyAxMywpCi0r ICAgICgtMyphXjIgLSAxMyphIC0gMTMsKQotICAgICBzYWdlOiBLLmRpc2NyaW1pbmFudCgpCi0g ICAgIC01MDMKLSAgICAgc2FnZTogSy5jbGFzc19ncm91cCgpCi1kaWZmIC0tZ2l0IGEvc3JjL2Rv Yy9mci90dXRvcmlhbC90b3VyX251bXRoZW9yeS5yc3QgYi9zcmMvZG9jL2ZyL3R1dG9yaWFsL3Rv dXJfbnVtdGhlb3J5LnJzdAotaW5kZXggODcxMDkyZjVmYS4uZDFiMmZlZTg4MyAxMDA2NDQKLS0t LSBhL3NyYy9kb2MvZnIvdHV0b3JpYWwvdG91cl9udW10aGVvcnkucnN0Ci0rKysgYi9zcmMvZG9j L2ZyL3R1dG9yaWFsL3RvdXJfbnVtdGhlb3J5LnJzdAotQEAgLTE1OSw3ICsxNTksNyBAQCBkYW5z IGxhIGNsYXNzZSBOdW1iZXJGaWVsZC4KLSAgICAgVW5pdmFyaWF0ZSBRdW90aWVudCBQb2x5bm9t aWFsIFJpbmcgaW4gYSBvdmVyIFJhdGlvbmFsIEZpZWxkIHdpdGggbW9kdWx1cwotICAgICB4XjMg KyB4XjIgLSAyKnggKyA4Ci0gICAgIHNhZ2U6IEsudW5pdHMoKQotLSAgICAoMyphXjIgKyAxMyph ICsgMTMsKQotKyAgICAoLTMqYV4yIC0gMTMqYSAtIDEzLCkKLSAgICAgc2FnZTogSy5kaXNjcmlt aW5hbnQoKQotICAgICAtNTAzCi0gICAgIHNhZ2U6IEsuY2xhc3NfZ3JvdXAoKQotZGlmZiAtLWdp dCBhL3NyYy9kb2MvamEvdHV0b3JpYWwvdG91cl9udW10aGVvcnkucnN0IGIvc3JjL2RvYy9qYS90 dXRvcmlhbC90b3VyX251bXRoZW9yeS5yc3QKLWluZGV4IDQ3YWY2OGM4NjIuLjRkNGVkNTJkNTAg MTAwNjQ0Ci0tLS0gYS9zcmMvZG9jL2phL3R1dG9yaWFsL3RvdXJfbnVtdGhlb3J5LnJzdAotKysr IGIvc3JjL2RvYy9qYS90dXRvcmlhbC90b3VyX251bXRoZW9yeS5yc3QKLUBAIC0xNjEsNyArMTYx LDcgQEAgU2FnZeOBq+OBryA6bWF0aDpgcGAgXC3pgLLmlbDkvZPjgoLntYTovrzjgb7jgozjgabj gYTjgovvvI4KLSAgICAgVW5pdmFyaWF0ZSBRdW90aWVudCBQb2x5bm9taWFsIFJpbmcgaW4gYSBv dmVyIFJhdGlvbmFsIEZpZWxkIHdpdGggbW9kdWx1cwotICAgICB4XjMgKyB4XjIgLSAyKnggKyA4 Ci0gICAgIHNhZ2U6IEsudW5pdHMoKQotLSAgICAoMyphXjIgKyAxMyphICsgMTMsKQotKyAgICAo LTMqYV4yIC0gMTMqYSAtIDEzLCkKLSAgICAgc2FnZTogSy5kaXNjcmltaW5hbnQoKQotICAgICAt NTAzCi0gICAgIHNhZ2U6IEsuY2xhc3NfZ3JvdXAoKQotZGlmZiAtLWdpdCBhL3NyYy9kb2MvcHQv dHV0b3JpYWwvdG91cl9udW10aGVvcnkucnN0IGIvc3JjL2RvYy9wdC90dXRvcmlhbC90b3VyX251 bXRoZW9yeS5yc3QKLWluZGV4IDYzNzFiNDkxZWEuLmEzZGM5NzNhOTMgMTAwNjQ0Ci0tLS0gYS9z cmMvZG9jL3B0L3R1dG9yaWFsL3RvdXJfbnVtdGhlb3J5LnJzdAotKysrIGIvc3JjL2RvYy9wdC90 dXRvcmlhbC90b3VyX251bXRoZW9yeS5yc3QKLUBAIC0xNTcsNyArMTU3LDcgQEAgTnVtYmVyRmll bGQuCi0gICAgIFVuaXZhcmlhdGUgUXVvdGllbnQgUG9seW5vbWlhbCBSaW5nIGluIGEgb3ZlciBS YXRpb25hbCBGaWVsZCB3aXRoIG1vZHVsdXMgCi0gICAgIHheMyArIHheMiAtIDIqeCArIDgKLSAg ICAgc2FnZTogSy51bml0cygpCi0tICAgICgzKmFeMiArIDEzKmEgKyAxMywpCi0rICAgICgtMyph XjIgLSAxMyphIC0gMTMsKQotICAgICBzYWdlOiBLLmRpc2NyaW1pbmFudCgpCi0gICAgIC01MDMK LSAgICAgc2FnZTogSy5jbGFzc19ncm91cCgpCi1kaWZmIC0tZ2l0IGEvc3JjL2RvYy9ydS90dXRv cmlhbC90b3VyX251bXRoZW9yeS5yc3QgYi9zcmMvZG9jL3J1L3R1dG9yaWFsL3RvdXJfbnVtdGhl b3J5LnJzdAotaW5kZXggNjUyYWJmYmM5OS4uYTk4NWQ0OWZiZCAxMDA2NDQKLS0tLSBhL3NyYy9k b2MvcnUvdHV0b3JpYWwvdG91cl9udW10aGVvcnkucnN0Ci0rKysgYi9zcmMvZG9jL3J1L3R1dG9y aWFsL3RvdXJfbnVtdGhlb3J5LnJzdAotQEAgLTE1MCw3ICsxNTAsNyBAQCBTYWdlINGB0L7QtNC1 0YDQttC40YIg0YHRgtCw0L3QtNCw0YDRgtC90YvQtSDRhNGD0L3QutGG0LjQuCDRgtC10L7RgNC4 0Lgg0YfQuNGBCi0gICAgIFVuaXZhcmlhdGUgUXVvdGllbnQgUG9seW5vbWlhbCBSaW5nIGluIGEg b3ZlciBSYXRpb25hbCBGaWVsZCB3aXRoIG1vZHVsdXMKLSAgICAgeF4zICsgeF4yIC0gMip4ICsg OAotICAgICBzYWdlOiBLLnVuaXRzKCkKLS0gICAgKDMqYV4yICsgMTMqYSArIDEzLCkKLSsgICAg KC0zKmFeMiAtIDEzKmEgLSAxMywpCi0gICAgIHNhZ2U6IEsuZGlzY3JpbWluYW50KCkKLSAgICAg LTUwMwotICAgICBzYWdlOiBLLmNsYXNzX2dyb3VwKCkKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9h cml0aC9taXNjLnB5IGIvc3JjL3NhZ2UvYXJpdGgvbWlzYy5weQotaW5kZXggZTU3MDc2NjQ2Zi4u ZmVjNzVkMDdjMSAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL2FyaXRoL21pc2MucHkKLSsrKyBiL3Ny Yy9zYWdlL2FyaXRoL21pc2MucHkKLUBAIC0xNDY1LDEzICsxNDY1LDEzIEBAIGRlZiBkaXZpc29y cyhuKToKLSAKLSAgICAgICAgIHNhZ2U6IEsuPGE+ID0gUXVhZHJhdGljRmllbGQoNykKLSAgICAg ICAgIHNhZ2U6IGRpdmlzb3JzKEsuaWRlYWwoNykpCi0tICAgICAgICBbRnJhY3Rpb25hbCBpZGVh bCAoMSksIEZyYWN0aW9uYWwgaWRlYWwgKC1hKSwgRnJhY3Rpb25hbCBpZGVhbCAoNyldCi0rICAg ICAgICBbRnJhY3Rpb25hbCBpZGVhbCAoMSksIEZyYWN0aW9uYWwgaWRlYWwgKGEpLCBGcmFjdGlv bmFsIGlkZWFsICg3KV0KLSAgICAgICAgIHNhZ2U6IGRpdmlzb3JzKEsuaWRlYWwoMykpCi0gICAg ICAgICBbRnJhY3Rpb25hbCBpZGVhbCAoMSksIEZyYWN0aW9uYWwgaWRlYWwgKDMpLAotLSAgICAg ICAgRnJhY3Rpb25hbCBpZGVhbCAoLWEgKyAyKSwgRnJhY3Rpb25hbCBpZGVhbCAoLWEgLSAyKV0K LSsgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKGEgLSAyKSwgRnJhY3Rpb25hbCBpZGVhbCAoYSAr IDIpXQotICAgICAgICAgc2FnZTogZGl2aXNvcnMoSy5pZGVhbCgzNSkpCi0tICAgICAgICBbRnJh Y3Rpb25hbCBpZGVhbCAoMSksIEZyYWN0aW9uYWwgaWRlYWwgKDUpLCBGcmFjdGlvbmFsIGlkZWFs ICgtYSksCi0tICAgICAgICBGcmFjdGlvbmFsIGlkZWFsICg3KSwgRnJhY3Rpb25hbCBpZGVhbCAo LTUqYSksIEZyYWN0aW9uYWwgaWRlYWwgKDM1KV0KLSsgICAgICAgIFtGcmFjdGlvbmFsIGlkZWFs ICgxKSwgRnJhY3Rpb25hbCBpZGVhbCAoNSksIEZyYWN0aW9uYWwgaWRlYWwgKGEpLAotKyAgICAg ICAgRnJhY3Rpb25hbCBpZGVhbCAoNyksIEZyYWN0aW9uYWwgaWRlYWwgKDUqYSksIEZyYWN0aW9u YWwgaWRlYWwgKDM1KV0KLSAKLSAgICAgVEVTVFM6OgotIAotQEAgLTI1NjksNyArMjU2OSw3IEBA IGRlZiBmYWN0b3IobiwgcHJvb2Y9Tm9uZSwgaW50Xz1GYWxzZSwgYWxnb3JpdGhtPSdwYXJpJywg dmVyYm9zZT0wLCAqKmt3ZHMpOgotIAotICAgICAgICAgc2FnZTogSy48aT4gPSBRdWFkcmF0aWNG aWVsZCgtMSkKLSAgICAgICAgIHNhZ2U6IGZhY3RvcigxMjIgLSA0NTQqaSkKLS0gICAgICAgICgt MyppIC0gMikgKiAoLWkgLSAyKV4zICogKGkgKyAxKV4zICogKGkgKyA0KQotKyAgICAgICAgKC1p KSAqICgtaSAtIDIpXjMgKiAoaSArIDEpXjMgKiAoLTIqaSArIDMpICogKGkgKyA0KQotIAotICAg ICBUbyBhY2Nlc3MgdGhlIGRhdGEgaW4gYSBmYWN0b3JpemF0aW9uOjoKLSAKLWRpZmYgLS1naXQg YS9zcmMvc2FnZS9keW5hbWljcy9hcml0aG1ldGljX2R5bmFtaWNzL3Byb2plY3RpdmVfZHMucHkg Yi9zcmMvc2FnZS9keW5hbWljcy9hcml0aG1ldGljX2R5bmFtaWNzL3Byb2plY3RpdmVfZHMucHkK LWluZGV4IGNkZmMxMWE5ZTUuLmI2ZTEyODBkNmUgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9keW5h bWljcy9hcml0aG1ldGljX2R5bmFtaWNzL3Byb2plY3RpdmVfZHMucHkKLSsrKyBiL3NyYy9zYWdl L2R5bmFtaWNzL2FyaXRobWV0aWNfZHluYW1pY3MvcHJvamVjdGl2ZV9kcy5weQotQEAgLTc4MjUs OSArNzgyNSw5IEBAIGNsYXNzIER5bmFtaWNhbFN5c3RlbV9wcm9qZWN0aXZlX2ZpZWxkKER5bmFt aWNhbFN5c3RlbV9wcm9qZWN0aXZlLAotICAgICAgICAgICAgIHNhZ2U6IGYgPSBEeW5hbWljYWxT eXN0ZW1fcHJvamVjdGl2ZShbeF4yICsgUVFiYXIoc3FydCgzKSkqeV4yLCB5XjIsIFFRYmFyKHNx cnQoMikpKnpeMl0pCi0gICAgICAgICAgICAgc2FnZTogZi5yZWR1Y2VfYmFzZV9maWVsZCgpCi0g ICAgICAgICAgICAgRHluYW1pY2FsIFN5c3RlbSBvZiBQcm9qZWN0aXZlIFNwYWNlIG9mIGRpbWVu c2lvbiAyIG92ZXIgTnVtYmVyIEZpZWxkIGluIGEgd2l0aAotLSAgICAgICAgICAgIGRlZmluaW5n IHBvbHlub21pYWwgeV40IC0gNCp5XjIgKyAxIHdpdGggYSA9IDEuOTMxODUxNjUyNTc4MTM3Pwot KyAgICAgICAgICAgIGRlZmluaW5nIHBvbHlub21pYWwgeV40IC0gNCp5XjIgKyAxIHdpdGggYSA9 IC0wLjUxNzYzODA5MDIwNTA0MTU/Ci0gICAgICAgICAgICAgICBEZWZuOiBEZWZpbmVkIG9uIGNv b3JkaW5hdGVzIGJ5IHNlbmRpbmcgKHggOiB5IDogeikgdG8KLS0gICAgICAgICAgICAgICAgICAg ICh4XjIgKyAoYV4yIC0gMikqeV4yIDogeV4yIDogKGFeMyAtIDMqYSkqel4yKQotKyAgICAgICAg ICAgICAgICAgICAgKHheMiArICgtYV4yICsgMikqeV4yIDogeV4yIDogKGFeMyAtIDMqYSkqel4y KQotIAotICAgICAgICAgOjoKLSAKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9leHRfZGF0YS9wYXJp L3NpbW9uL2VsbFEuZ3AgYi9zcmMvc2FnZS9leHRfZGF0YS9wYXJpL3NpbW9uL2VsbFEuZ3AKLWlu ZGV4IDQyMGFmOGY2YTIuLjY1ZTgzODY3NzkgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9leHRfZGF0 YS9wYXJpL3NpbW9uL2VsbFEuZ3AKLSsrKyBiL3NyYy9zYWdlL2V4dF9kYXRhL3Bhcmkvc2ltb24v ZWxsUS5ncAotQEAgLTQwLDcgKzQwLDcgQEAKLSAgIGdwID4gXHIgZWxsY29tbW9uLmdwCi0gICBn cCA+IFxyIGVsbFEuZ3AKLSAKLS0gIFRoZSBtYWluIGZ1bmN0aW9uIGlzIGVsbHJhbmsoKSwgd2hp Y2ggdGFrZXMgYXMgYW4gYXJndW1lbnQKLSsgIFRoZSBtYWluIGZ1bmN0aW9uIGlzIGVsbFFfZWxs cmFuaygpLCB3aGljaCB0YWtlcyBhcyBhbiBhcmd1bWVudAotICAgYW55IGVsbGlwdGljIGN1cnZl IGluIHRoZSBmb3JtIFthMSxhMixhMyxhNCxhNl0KLSAgIHRoZSByZXN1bHQgaXMgYSB2ZWN0b3Ig W3Iscyx2XSwgd2hlcmUKLSAgICAgciBpcyBhIGxvd2VyIGJvdW5kIGZvciB0aGUgcmFuaywKLUBA IC01MCw3ICs1MCw3IEBACi0gICBFeGFtcGxlOgotIAotICAgZ3AgPiBlbGwgPSBbMSwyLDMsNCw1 XTsKLS0gIGdwID4gZWxscmFuayhlbGwpCi0rICBncCA+IGVsbFFfZWxscmFuayhlbGwpCi0gICAl MSA9IFsxLCAxLCBbWzEsMl1dCi0gICBJbiB0aGlzIGV4YW1wbGUsIHRoZSByYW5rIGlzIGV4YWN0 bHkgMSwgYW5kIFsxLDJdIGhhcyBpbmZpbml0ZSBvcmRlci4KLSAKLUBAIC05Miw3ICs5Miw3IEBA Ci0gICBcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcCi0gCi0g ICBFeHBsaWNhdGlvbnMgc3VjY2ludGVzIDoKLS0gIExhIGZvbmN0aW9uIGVsbHJhbmsoKSBhY2Nl cHRlIHRvdXRlcyBsZXMgY291cmJlcyBzb3VzIGxhIGZvcm1lCi0rICBMYSBmb25jdGlvbiBlbGxR X2VsbHJhbmsoKSBhY2NlcHRlIHRvdXRlcyBsZXMgY291cmJlcyBzb3VzIGxhIGZvcm1lCi0gICBb YTEsYTIsYTMsYTQsYTZdCi0gICBMZXMgY29lZmZpY2llbnRzIHBldXZlbnQgZXRyZSBlbnRpZXJz IG91IG5vbi4KLSAgIEwnYWxnb3JpdGhtZSB1dGlsaXNlIGVzdCBjZWx1aSBkZSBsYSAyLWRlc2Nl bnRlLgotQEAgLTEwMCw3ICsxMDAsNyBAQAotICAgSWwgc3VmZml0IGRlIHRhcGVyIDogCi0gCi0g ICBncCA+IGVsbCA9IFthMSxhMixhMyxhNCxhNl07Ci0tICBncCA+IGVsbHJhbmsoZWxsKQotKyAg Z3AgPiBlbGxRX2VsbHJhbmsoZWxsKQotIAotICAgUmV0b3VybmUgdW4gdmVjdGV1ciBbcixzLHZd IG91Ci0gICAgIHIgZXN0IGxlIHJhbmcgcHJvYmFibGUgKGMnZXN0IHRvdWpvdXJzIHVuZSBtaW5v cmF0aW9uIGR1IHJhbmcpLAotQEAgLTExMCw3ICsxMTAsNyBAQAotICAgRXhlbXBsZSA6Ci0gCi0g ICBncCA+IGVsbCA9IFsxLDIsMyw0LDVdOwotLSAgZ3AgPiBlbGxyYW5rKGVsbCkKLSsgIGdwID4g ZWxsUV9lbGxyYW5rKGVsbCkKLSAgICUxID0gWzEsIDEsIFtbMSwyXV0KLSAgIEljaSwgbGUgcmFu ZyBlc3QgZXhhY3RlbWVudCAxLCBldCBsZSBwb2ludCBbMSwyXSBlc3QgZCdvcmRyZSBpbmZpbmku Ci0gCi1AQCAtMTU3MSwxMiArMTU3MSwxMiBAQCBpZiggREVCVUdMRVZFTF9lbGwgPj0gNCwgcHJp bnQoIiAgICBlbmQgb2YgZWxsMmRlc2NlbnRfZ2VuIikpOwotICAgICBwcmludCgicmFuayhFL1Ep ICAgID49ICIsbTEpCi0gICApOwotIH0KLS17ZWxscmFuayhlbGwsaGVscD1bXSkgPQotK3tlbGxR X2VsbHJhbmsoZWxsLGhlbHA9W10pID0KLSBcXCBBbGdvcml0aG0gb2YgMi1kZXNjZW50IG9uIHRo ZSBlbGxpcHRpYyBjdXJ2ZSBlbGwuCi0gXFwgaGVscCBpcyBhIGxpc3Qgb2Yga25vd24gcG9pbnRz IG9uIGVsbC4KLSBteSh1cnN0LHVyc3QxLGRlbixlcWVsbCx0b3JzMixibmYscmFuZyx0aW1lMSk7 Ci0gCi0taWYoIERFQlVHTEVWRUxfZWxsID49IDMsIHByaW50KCIgICBzdGFydGluZyBlbGxyYW5r IikpOwotK2lmKCBERUJVR0xFVkVMX2VsbCA+PSAzLCBwcmludCgiICAgc3RhcnRpbmcgZWxsUV9l bGxyYW5rIikpOwotICAgaWYoICNlbGwgPCAxMywgZWxsID0gZWxsaW5pdChlbGwpKTsKLSAKLSBc XCBraWxsIHRoZSBjb2VmZmljaWVudHMgYTEgYW5kIGEzCi1AQCAtMTYzMCw3ICsxNjMwLDcgQEAg aWYoIERFQlVHTEVWRUxfZWxsID49IDEsIHByaW50KCIgRWxsaXB0aWMgY3VydmU6IFleMiA9ICIs ZXFlbGwpKTsKLSAgICkpOwotIAotICAgcmFuZ1szXSA9IGVsbGNoYW5nZXBvaW50KHJhbmdbM10s ZWxsaW52ZXJ0dXJzdCh1cnN0KSk7Ci0taWYoIERFQlVHTEVWRUxfZWxsID49IDMsIHByaW50KCIg ICBlbmQgb2YgZWxscmFuayIpKTsKLStpZiggREVCVUdMRVZFTF9lbGwgPj0gMywgcHJpbnQoIiAg IGVuZCBvZiBlbGxRX2VsbHJhbmsiKSk7Ci0gCi0gICByZXR1cm4ocmFuZyk7Ci0gfQotQEAgLTIx MDYsMTMgKzIxMDYsMTMgQEAgaWYoIERFQlVHTEVWRUxfZWxsID49IDMsIHByaW50KCIgICBlbmQg b2YgZWxsMmRlc2NlbnRfdmlhaXNvZyIpKTsKLSB7Ci0gXFwgICAgICAgICAgICAgICAgICBmdW5j dGlvbnMgZm9yIGVsbGlwdGljIGN1cnZlcwotICAgYWRkaGVscChlbGwyZGVzY2VudF9jb21wbGV0 ZSwKLS0gICAgImVsbDJkZXNjZW50X2NvbXBsZXRlKGUxLGUyLGUzKTogUGVyZm9ybXMgYSBjb21w bGV0ZSAyLWRlc2NlbnQgb24gdGhlIGVsbGlwdGljIGN1cnZlIHleMiA9ICh4LWUxKSooeC1lMikq KHgtZTMpLiBTZWUgP2VsbHJhbmsgZm9yIHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dC4iKTsKLSsg ICAgImVsbDJkZXNjZW50X2NvbXBsZXRlKGUxLGUyLGUzKTogUGVyZm9ybXMgYSBjb21wbGV0ZSAy LWRlc2NlbnQgb24gdGhlIGVsbGlwdGljIGN1cnZlIHleMiA9ICh4LWUxKSooeC1lMikqKHgtZTMp LiBTZWUgP2VsbFFfZWxscmFuayBmb3IgdGhlIGZvcm1hdCBvZiB0aGUgb3V0cHV0LiIpOwotICAg YWRkaGVscChlbGwyZGVzY2VudF9nZW4sCi0tICAgICJlbGwyZGVzY2VudF9nZW4oKEUsYm5mLGs9 MSxoZWxwPVtdKTogRSBpcyBhIHZlY3RvciBvZiB0aGUgZm9ybSBbMCxBLDAsQixDXSwgKG9yIHRo ZSByZXN1bHQgb2YgZWxsaW5pdCBvZiBzdWNoIGEgdmVjdG9yKSBBLEIsQyBpbnRlZ2VycyBzdWNo IHRoYXQgeF4zK0EqeF4yK0IqeCtDOyBibmYgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYm5maW5pdCgs MSk7IFBlcmZvcm1zIDItZGVzY2VudCBvbiB0aGUgZWxsaXB0aWMgY3VydmUgRWs6IGsqeV4yPXhe MytBKnheMitCKngrQy4gU2VlID9lbGxyYW5rIGZvciB0aGUgZm9ybWF0IG9mIHRoZSBvdXRwdXQu Iik7Ci0rICAgICJlbGwyZGVzY2VudF9nZW4oKEUsYm5mLGs9MSxoZWxwPVtdKTogRSBpcyBhIHZl Y3RvciBvZiB0aGUgZm9ybSBbMCxBLDAsQixDXSwgKG9yIHRoZSByZXN1bHQgb2YgZWxsaW5pdCBv ZiBzdWNoIGEgdmVjdG9yKSBBLEIsQyBpbnRlZ2VycyBzdWNoIHRoYXQgeF4zK0EqeF4yK0IqeCtD OyBibmYgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYm5maW5pdCgsMSk7IFBlcmZvcm1zIDItZGVzY2Vu dCBvbiB0aGUgZWxsaXB0aWMgY3VydmUgRWs6IGsqeV4yPXheMytBKnheMitCKngrQy4gU2VlID9l bGxRX2VsbHJhbmsgZm9yIHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dC4iKTsKLSAgIGFkZGhlbHAo ZWxsMmRlc2NlbnRfdmlhaXNvZywKLS0gICAgImVsbDJkZXNjZW50X3ZpYWlzb2coRSxoZWxwPVtd KTogRSBpcyBhbiBlbGxpcHRpYyBjdXJ2ZSBvZiB0aGUgZm9ybSBbMCxhLDAsYiwwXSwgd2l0aCBh LCBiIGludGVnZXJzLiBQZXJmb3JtcyBhIDItZGVzY2VudCB2aWEgaXNvZ2VueSBvbiBFLiBTZWUg P2VsbHJhbmsgZm9yIHRoZSBmb3JtYXQgb2YgdGhlIG91dHB1dC4iKTsKLS0gIGFkZGhlbHAoZWxs cmFuaywKLS0gICAgImVsbHJhbmsoRSxoZWxwPVtdKTogRSBpcyBhbnkgZWxsaXB0aWMgY3VydmUg ZGVmaW5lZCBvdmVyIFEuIFJldHVybnMgYSB2ZWN0b3IgW3Iscyx2XSwgd2hlcmUgciBpcyBhIGxv d2VyIGJvdW5kIGZvciB0aGUgcmFuayBvZiBFLCBzIGlzIHRoZSByYW5rIG9mIGl0cyAyLVNlbG1l ciBncm91cCBhbmQgdiBpcyBhIGxpc3Qgb2YgaW5kZXBlbmRhbnQgcG9pbnRzIGluIEUoUSkvMkUo USkuIElmIGhlbHAgaXMgYSB2ZWN0b3Igb2Ygbm9udHJpdmlhbCBwb2ludHMgb24gRSwgdGhlIHJl c3VsdCBtaWdodCBiZSBmYXN0ZXIuIFRoaXMgZnVuY3Rpb24gbWlnaHQgYmUgdXNlZCBpbiBjb25q dW5jdGlvbiB3aXRoIGVsbHRvcnMyKEUpLiBTZWUgYWxzbyA/ZGVmYXVsdF9lbGxRIik7Ci0rICAg ICJlbGwyZGVzY2VudF92aWFpc29nKEUsaGVscD1bXSk6IEUgaXMgYW4gZWxsaXB0aWMgY3VydmUg b2YgdGhlIGZvcm0gWzAsYSwwLGIsMF0sIHdpdGggYSwgYiBpbnRlZ2Vycy4gUGVyZm9ybXMgYSAy LWRlc2NlbnQgdmlhIGlzb2dlbnkgb24gRS4gU2VlID9lbGxRX2VsbHJhbmsgZm9yIHRoZSBmb3Jt YXQgb2YgdGhlIG91dHB1dC4iKTsKLSsgIGFkZGhlbHAoZWxsUV9lbGxyYW5rLAotKyAgICAiZWxs UV9lbGxyYW5rKEUsaGVscD1bXSk6IEUgaXMgYW55IGVsbGlwdGljIGN1cnZlIGRlZmluZWQgb3Zl ciBRLiBSZXR1cm5zIGEgdmVjdG9yIFtyLHMsdl0sIHdoZXJlIHIgaXMgYSBsb3dlciBib3VuZCBm b3IgdGhlIHJhbmsgb2YgRSwgcyBpcyB0aGUgcmFuayBvZiBpdHMgMi1TZWxtZXIgZ3JvdXAgYW5k IHYgaXMgYSBsaXN0IG9mIGluZGVwZW5kYW50IHBvaW50cyBpbiBFKFEpLzJFKFEpLiBJZiBoZWxw IGlzIGEgdmVjdG9yIG9mIG5vbnRyaXZpYWwgcG9pbnRzIG9uIEUsIHRoZSByZXN1bHQgbWlnaHQg YmUgZmFzdGVyLiBUaGlzIGZ1bmN0aW9uIG1pZ2h0IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0 aCBlbGx0b3JzMihFKS4gU2VlIGFsc28gP2RlZmF1bHRfZWxsUSIpOwotICAgYWRkaGVscChlbGxo YWxmLAotICAgICAiZWxsaGFsZihFLFApOiByZXR1cm5zIHRoZSB2ZWN0b3Igb2YgYWxsIHBvaW50 cyBRIG9uIHRoZSBlbGxpcHRpYyBjdXJ2ZSBFIHN1Y2ggdGhhdCAyUSA9IFAiKTsKLSAgIGFkZGhl bHAoZWxscmVkZ2VuLAotQEAgLTIxNDMsNyArMjE0Myw3IEBAIGlmKCBERUJVR0xFVkVMX2VsbCA+ PSAzLCBwcmludCgiICAgZW5kIG9mIGVsbDJkZXNjZW50X3ZpYWlzb2ciKSk7Ci0gCi0gXFwgICAg ICAgICAgICAgICAgICBvdGhlcnMKLSAgIGFkZGhlbHAoZGVmYXVsdF9lbGxRLAotLSAgICAiZGVm YXVsdF9lbGxRKERFQlVHTEVWRUxfZWxsLCBMSU0xLCBMSU0zLCBMSU1UUklWLCBFTExSRURHRU5G TEFHLCBDT01QTEVURSwgTUFYUFJPQiwgTElNQklHUFJJTUUpOiBzZXQgdGhlIHZhbHVlIG9mIHRo ZSBnbG9iYWwgdmFyaWFibGVzIHVzZWQgZm9yIGVsbHJhbmsoKSBhbmQgb3RoZXIgcmVsYXRlZCBm dW5jdGlvbnMuIERFQlVHTEVWRUxfZWxsOiAwLTU6IGNob29zZSB0aGUgcXVhbnRpdHkgb2YgaW5m b3JtYXRpb24gcHJpbnRlZCBkdXJpbmcgdGhlIGNvbXB1dGF0aW9uIChkZWZhdWx0PTA6IHByaW50 IG5vdGhpbmcpOyBMSU0xIChyZXNwIExJTTMpOiBzZWFyY2ggbGltaXQgZm9yIGVhc3kgKHJlc3Ag aGFyZCkgcG9pbnRzIG9uIHF1YXJ0aWNzOyBMSU1UUklWOiBzZWFyY2ggbGltaXQgZm9yIHRyaXZp YWwgcG9pbnRzIG9uIGVsbGlwdGljIGN1cnZlczsgRUxMUkVER0VORkxBRzogaWYgIT0gMCwgdHJ5 IHRvIHJlZHVjZSB0aGUgZ2VuZXJhdG9ycyBhdCB0aGUgZW5kOyBDT01QTEVURTogaWYgIT0gMCBh bmQgZnVsbCAyLXRvcnNpb24sIHVzZSBjb21wbGV0ZSAyLWRlc2NlbnQsIG90aGVyd2lzZSB2aWEg Mi1pc29nZW55OyBNQVhQUk9CLCBMSU1CSUdQUklNRTogdGVjaG5pY2FsLiIpOwotKyAgICAiZGVm YXVsdF9lbGxRKERFQlVHTEVWRUxfZWxsLCBMSU0xLCBMSU0zLCBMSU1UUklWLCBFTExSRURHRU5G TEFHLCBDT01QTEVURSwgTUFYUFJPQiwgTElNQklHUFJJTUUpOiBzZXQgdGhlIHZhbHVlIG9mIHRo ZSBnbG9iYWwgdmFyaWFibGVzIHVzZWQgZm9yIGVsbFFfZWxscmFuaygpIGFuZCBvdGhlciByZWxh dGVkIGZ1bmN0aW9ucy4gREVCVUdMRVZFTF9lbGw6IDAtNTogY2hvb3NlIHRoZSBxdWFudGl0eSBv ZiBpbmZvcm1hdGlvbiBwcmludGVkIGR1cmluZyB0aGUgY29tcHV0YXRpb24gKGRlZmF1bHQ9MDog cHJpbnQgbm90aGluZyk7IExJTTEgKHJlc3AgTElNMyk6IHNlYXJjaCBsaW1pdCBmb3IgZWFzeSAo cmVzcCBoYXJkKSBwb2ludHMgb24gcXVhcnRpY3M7IExJTVRSSVY6IHNlYXJjaCBsaW1pdCBmb3Ig dHJpdmlhbCBwb2ludHMgb24gZWxsaXB0aWMgY3VydmVzOyBFTExSRURHRU5GTEFHOiBpZiAhPSAw LCB0cnkgdG8gcmVkdWNlIHRoZSBnZW5lcmF0b3JzIGF0IHRoZSBlbmQ7IENPTVBMRVRFOiBpZiAh PSAwIGFuZCBmdWxsIDItdG9yc2lvbiwgdXNlIGNvbXBsZXRlIDItZGVzY2VudCwgb3RoZXJ3aXNl IHZpYSAyLWlzb2dlbnk7IE1BWFBST0IsIExJTUJJR1BSSU1FOiB0ZWNobmljYWwuIik7Ci0gLyog IGFkZGhlbHAoREVCVUdMRVZFTF9lbGwsCi0gICAgICJERUJVR0xFVkVMX2VsbDogQ2hvb3NlIGEg aGlnaGVyIHZhbHVlIG9mIHRoaXMgZ2xvYmFsIHZhcmlhYmxlIHRvIGhhdmUgbW9yZSBkZXRhaWxz IG9mIHRoZSBjb21wdXRhdGlvbnMgcHJpbnRlZCBkdXJpbmcgdGhlIDItZGVzY2VudCBhbGdvcml0 aG0uIDAgPSBkb24ndCBwcmludCBhbnl0aGluZzsgMSA9IChkZWZhdWx0KSBqdXN0IHByaW50IHRo ZSByZXN1bHQ7IDIgPSBwcmludCBtb3JlIGRldGFpbHMgaW5jbHVkaW5nIHRoZSBTZWxtZXIgZ3Jv dXAgYW5kIHRoZSBub250cml2aWFsIHF1YXJ0aWNzLiIpOwotICovCi1kaWZmIC0tZ2l0IGEvc3Jj L3NhZ2UvZXh0X2RhdGEvcGFyaS9zaW1vbi9xZnNvbHZlLmdwIGIvc3JjL3NhZ2UvZXh0X2RhdGEv cGFyaS9zaW1vbi9xZnNvbHZlLmdwCi1pbmRleCA1MDFmYjUwODI4Li4yMTA3Mjg4YzFkIDEwMDY0 NAotLS0tIGEvc3JjL3NhZ2UvZXh0X2RhdGEvcGFyaS9zaW1vbi9xZnNvbHZlLmdwCi0rKysgYi9z cmMvc2FnZS9leHRfZGF0YS9wYXJpL3NpbW9uL3Fmc29sdmUuZ3AKLUBAIC00MzQsMTQ2ICs0MzQs NiBAQCBteShjYyk7Ci0gcmV0dXJuKFtVM34qRzMqVTMscmVkWzJdKlUxKlUyKlUzXSk7Ci0gfQot IAotLVxcIFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFwKLS1c XCAgICAgICAgUVVBRFJBVElDIEZPUk1TIE1JTklNSVpBVElPTiAgICAgICAgIFxcCi0tXFwgXFxc XFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXAotLQotLVxcIE1pbmlt aXphdGlvbiBvZiB0aGUgcXVhZHJhdGljIGZvcm0gRywgd2l0aCBub256ZXJvIGRldGVybWluYW50 LgotLVxcIG9mIGRpbWVuc2lvbiBuPj0yLgotLVxcIEcgbXVzdCBieSBzeW1tZXRyaWMgYW5kIGhh dmUgaW50ZWdyYWwgY29lZmZpY2llbnRzLgotLVxcIFJldHVybnMgW0cnLFUsZmFjdGRdIHdpdGgg VSBpbiBHTG4oUSkgc3VjaCB0aGF0IEcnPVV+KkcqVSpjb25zdGFudAotLVxcIGlzIGludGVncmFs IGFuZCBoYXMgbWluaW1hbCBkZXRlcm1pbmFudC4KLS1cXCBJbiBkaW1lbnNpb24gMyBvciA0LCBt YXkgcmV0dXJuIGEgcHJpbWUgcAotLVxcIGlmIHRoZSByZWR1Y3Rpb24gYXQgcCBpcyBpbXBvc3Np YmxlIGJlY2F1c2Ugb2YgdGhlIGxvY2FsIG5vbiBzb2x2YWJpbGl0eS4KLS1cXCBJZiBnaXZlbiwg ZmFjdGRldEcgbXVzdCBiZSBlcXVhbCB0byBmYWN0b3IoYWJzKGRldChHKSkpLgotLXtxZm1pbmlt aXplKEcsZmFjdGRldEcpID0KLS1teShmYWN0ZCxVLEtlcixLZXIyLHNvbCxhdXgsZGkpOwotLW15 KHApOwotLW15KG4sbGYsaSx2cCxkaW1LZXIsZGltS2VyMixtKTsKLS0KLS0gIG4gPSBsZW5ndGgo Ryk7Ci0tICBmYWN0ZCA9IG1hdHJpeCgwLDIpOwotLSAgaWYoICFmYWN0ZGV0RywgZmFjdGRldEcg PSBmYWN0b3IobWF0ZGV0KEcpKSk7Ci0tCi0tICBsZiA9IGxlbmd0aChmYWN0ZGV0R1ssMV0pOwot LSAgaSA9IDE7IFUgPSBtYXRpZChuKTsKLS0KLS0gIHdoaWxlKGkgPD0gbGYsCi0tICAgIHZwID0g ZmFjdGRldEdbaSwyXTsKLS0gICAgaWYoIHZwID09IDAsIGkrKzsgbmV4dCk7Ci0tICAgIHAgPSBm YWN0ZGV0R1tpLDFdOwotLSAgICBpZiggcCA9PSAtMSwgaSsrOyBuZXh0KTsKLS1pZiggREVCVUdM RVZFTF9xZnNvbHZlID49IDQsIHByaW50KCIgICAgcCA9ICIscCwiXiIsdnApKTsKLS0KLS1cXCBU aGUgY2FzZSB2cCA9IDEgY2FuIGJlIG1pbmltaXplZCBvbmx5IGlmIG4gaXMgb2RkLgotLSAgICBp ZiggdnAgPT0gMSAmJiBuJTIgPT0gMCwKLS0gICAgICBmYWN0ZCA9IGNvbmNhdChmYWN0ZH4sIE1h dChbcCwxXSl+KX47Ci0tICAgICAgaSsrOyBuZXh0Ci0tICAgICk7Ci0tICAgIEtlciA9IGtlcm1v ZHAoRyxwKTsgZGltS2VyID0gS2VyWzFdOyBLZXIgPSBLZXJbMl07Ci0tCi0tXFwgUmVtOiB3ZSBt dXN0IGhhdmUgZGltS2VyIDw9IHZwCi0taWYoIERFQlVHTEVWRUxfcWZzb2x2ZSA+PSA0LCBwcmlu dCgiICAgIGRpbUtlciA9ICIsZGltS2VyKSk7Ci0tXFwgdHJpdmlhbCBjYXNlOiBkaW1LZXIgPSBu Ci0tICAgIGlmKCBkaW1LZXIgPT0gbiwgCi0taWYoIERFQlVHTEVWRUxfcWZzb2x2ZSA+PSA0LCBw cmludCgiICAgICBjYXNlIDA6IGRpbUtlciA9IG4iKSk7Ci0tICAgICAgRyAvPSBwOwotLSAgICAg IGZhY3RkZXRHW2ksMl0gLT0gbjsKLS0gICAgICBuZXh0Ci0tICAgICk7Ci0tICAgIEcgPSBLZXJ+ KkcqS2VyOwotLSAgICBVID0gVSpLZXI7Ci0tCi0tXFwgMXN0IGNhc2U6IGRpbUtlciA8IHZwCi0t XFwgdGhlbiB0aGUga2VybmVsIG1vZCBwIGNvbnRhaW5zIGEga2VybmVsIG1vZCBwXjIKLS0gICAg aWYoIGRpbUtlciA8IHZwLAotLWlmKCBERUJVR0xFVkVMX3Fmc29sdmUgPj0gNCwgcHJpbnQoIiAg ICBjYXNlIDE6IGRpbWtlciA8IHZwIikpOwotLSAgICAgIGlmKCBkaW1LZXIgPT0gMSwKLS1cXCAg ICAgICAgR1ssMV0gLz0gcDsgR1sxLF0gLz0gcDsKLS0gICAgICAgIEdbLDFdIC89IHA7IEdbMSxd ID0gR1sxLF0vcDsKLS0gICAgICAgIFVbLDFdIC89IHA7Ci0tICAgICAgICBmYWN0ZGV0R1tpLDJd IC09IDIKLS0gICAgICAsIAotLSAgICAgICAgS2VyMiA9IGtlcm1vZHAobWF0cml4KGRpbUtlcixk aW1LZXIsaixrLEdbaixrXS9wKSxwKTsKLS0gICAgICAgIGRpbUtlcjIgPSBLZXIyWzFdOyBLZXIy ID0gS2VyMlsyXTsKLS0gICAgICAgIGZvciggaiA9IDEsIGRpbUtlcjIsIEtlcjJbLGpdIC89IHAp OwotLSAgICAgICAgS2VyMiA9IG1hdGRpYWdvbmFsYmxvY2soW0tlcjIsbWF0aWQobi1kaW1LZXIp XSk7Ci0tICAgICAgICBHID0gS2VyMn4qRypLZXIyOwotLSAgICAgICAgVSA9IFUqS2VyMjsKLS0g ICAgICAgIGZhY3RkZXRHW2ksMl0gLT0gMipkaW1LZXIyCi0tKTsKLS0KLS1pZiggREVCVUdMRVZF TF9xZnNvbHZlID49IDQsIHByaW50KCIgICAgZW5kIG9mIGNhc2UgMSIpKTsKLS0gICAgICBuZXh0 Ci0tICAgICk7Ci0tCi0tXFwgTm93LCB3ZSBoYXZlIHZwID0gZGltS2VyIAotLVxcIDJuZCBjYXNl OiB0aGUgZGltZW5zaW9uIG9mIHRoZSBrZXJuZWwgaXMgPj0yCi0tXFwgYW5kIGNvbnRhaW5zIGFu IGVsZW1lbnQgb2Ygbm9ybSAwIG1vZCBwXjIKLS0KLS1cXCBzZWFyY2ggZm9yIGFuIGVsZW1lbnQg b2Ygbm9ybSBwXjIuLi4gaW4gdGhlIGtlcm5lbAotLSAgICBpZiggZGltS2VyID4gMiB8fCAKLS0g ICAgICAgKGRpbUtlciA9PSAyICYmIGlzc3F1YXJlKCBkaSA9IE1vZCgoR1sxLDJdXjItR1sxLDFd KkdbMiwyXSkvcF4yLHApKSksCi0tICAgICAgaWYoIGRpbUtlciA+IDIsCi0taWYoIERFQlVHTEVW RUxfcWZzb2x2ZSA+PSA0LCBwcmludCgiICAgIGNhc2UgMi4xIikpOwotLSAgICAgICAgZGltS2Vy ID0gMzsKLS0gICAgICAgIHNvbCA9IHFmc29sdmVtb2RwKG1hdHJpeCgzLDMsaixrLEdbaixrXS9w KSxwKQotLSAgICAgICwKLS1pZiggREVCVUdMRVZFTF9xZnNvbHZlID49IDQsIHByaW50KCIgICAg Y2FzZSAyLjIiKSk7Ci0tICAgICAgICBpZiggR1sxLDFdJXBeMiA9PSAwLCAKLS0gICAgICAgICAg c29sID0gWzEsMF1+Ci0tICAgICAgICAsIHNvbCA9IFstR1sxLDJdL3Arc3FydChkaSksTW9kKEdb MSwxXS9wLHApXX4KLS0gICAgICAgICkKLS0gICAgICApOwotLSAgICAgIHNvbCA9IGNlbnRlcmxp ZnQoc29sKTsKLS0gICAgICBzb2wgLz0gY29udGVudChzb2wpOwotLWlmKCBERUJVR0xFVkVMX3Fm c29sdmUgPj0gNCwgcHJpbnQoIiAgICBzb2wgPSAiLHNvbCkpOwotLSAgICAgIEtlciA9IHZlY3Rv cnYobiwgaiwgaWYoIGo8PSBkaW1LZXIsIHNvbFtqXSwgMCkpOyBcXCBmaWxsIHdpdGggMCdzCi0t ICAgICAgS2VyID0gY29tcGxldGViYXNpcyhLZXIsMSk7Ci0tICAgICAgS2VyWyxuXSAvPSBwOwot LSAgICAgIEcgPSBLZXJ+KkcqS2VyOwotLSAgICAgIFUgPSBVKktlcjsKLS0gICAgICBmYWN0ZGV0 R1tpLDJdIC09IDI7Ci0taWYoIERFQlVHTEVWRUxfcWZzb2x2ZSA+PSA0LCBwcmludCgiICAgIGVu ZCBvZiBjYXNlIDIiKSk7Ci0tICAgICAgbmV4dAotLSAgICApOwotLQotLVxcIE5vdywgd2UgaGF2 ZSB2cCA9IGRpbUtlciA8PSAyIAotLVxcICAgYW5kIHRoZSBrZXJuZWwgY29udGFpbnMgbm8gdmVj dG9yIHdpdGggbm9ybSBwXjIuLi4KLS0KLS1cXCBJbiBzb21lIGNhc2VzLCBleGNoYW5naW5nIHRo ZSBrZXJuZWwgYW5kIHRoZSBpbWFnZQotLVxcIG1ha2VzIHRoZSBtaW5pbWl6YXRpb24gZWFzeS4K LS0KLS0gICAgbSA9IChuLTEpXDItMTsKLS0gICAgaWYoICggdnAgPT0gMSAmJiBpc3NxdWFyZShN b2QoLSgtMSlebSptYXRkZXQoRykvR1sxLDFdLHApKSkKLS0gICAgIHx8ICggdnAgPT0gMiAmJiBu JTIgPT0gMSAmJiBuID49IDUpCi0tICAgICB8fCAoIHZwID09IDIgJiYgbiUyID09IDAgJiYgIWlz c3F1YXJlKE1vZCgoLTEpXm0qbWF0ZGV0KEcpL3BeMixwKSkpCi0tICAgICwgCi0taWYoIERFQlVH TEVWRUxfcWZzb2x2ZSA+PSA0LCBwcmludCgiICAgIGNhc2UgMyIpKTsKLS0gICAgICBLZXIgPSBt YXRpZChuKTsKLS0gICAgICBmb3IoIGogPSBkaW1LZXIrMSwgbiwgS2VyW2osal0gPSBwKTsKLS0g ICAgICBHID0gS2VyfipHKktlci9wOwotLSAgICAgIFUgPSBVKktlcjsKLS0gICAgICBmYWN0ZGV0 R1tpLDJdIC09IDIqZGltS2VyLW47Ci0taWYoIERFQlVHTEVWRUxfcWZzb2x2ZSA+PSA0LCBwcmlu dCgiICAgIGVuZCBvZiBjYXNlIDMiKSk7Ci0tICAgICAgbmV4dAotLSAgICApOwotLQotLVxcIE1p bmltaXphdGlvbiB3YXMgbm90IHBvc3NpYmxlIHNlIGZhci4KLS1cXCBJZiBuID09IDMgb3IgNCwg dGhpcyBwcm92ZXMgdGhlIGxvY2FsIG5vbi1zb2x1YmlsaXR5IGF0IHAuCi0tICAgIGlmKCBuID09 IDMgfHwgbiA9PSA0LCAKLS1pZiggREVCVUdMRVZFTF9xZnNvbHZlID49IDEsIHByaW50KCIgbm8g bG9jYWwgc29sdXRpb24gYXQgIixwKSk7Ci0tICAgICAgcmV0dXJuKHApKTsKLS0KLS1pZiggREVC VUdMRVZFTF9xZnNvbHZlID49IDQsIHByaW50KCIgICAgcHJpbWUgIixwLCIgZmluaXNoZWQiKSk7 Ci0tICAgIGZhY3RkID0gY29uY2F0KGZhY3RkfixNYXQoW3AsdnBdKX4pfjsKLS0gICAgaSsrCi0t ICApOwotLVxcIGFwcGx5IExMTCB0byBhdm9pZCBjb2VmZmljaWVudHMgZXhwbG9zaW9uCi0tICBh dXggPSBxZmxsbChVL2NvbnRlbnQoVSkpOwotLXJldHVybihbYXV4fipHKmF1eCxVKmF1eCxmYWN0 ZF0pOwotLX0KLS0KLSBcXCBcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxc XFxcXFxcCi0gXFwgICAgICAgICAgQ0xBU1MgR1JPVVAgQ09NUFVUQVRJT05TICAgICAgICAgICBc XAotIFxcIFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFwKLWRp ZmYgLS1naXQgYS9zcmMvc2FnZS9nZW9tZXRyeS9wb2x5aGVkcm9uL2JhY2tlbmRfZmllbGQucHkg Yi9zcmMvc2FnZS9nZW9tZXRyeS9wb2x5aGVkcm9uL2JhY2tlbmRfZmllbGQucHkKLWluZGV4IDZi OTIxZDIzYTYuLjJmMzJjNThiMWUgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9nZW9tZXRyeS9wb2x5 aGVkcm9uL2JhY2tlbmRfZmllbGQucHkKLSsrKyBiL3NyYy9zYWdlL2dlb21ldHJ5L3BvbHloZWRy b24vYmFja2VuZF9maWVsZC5weQotQEAgLTI2NSw3ICsyNjUsNyBAQCBjbGFzcyBQb2x5aGVkcm9u X2ZpZWxkKFBvbHloZWRyb25fYmFzZSk6Ci0gICAgICAgICAgICAgIEFuIGluZXF1YWxpdHkgKC0w LjE0MTk3OTQzNTk1MjAyNjM/LCAtMS42OTgxNzI0MzQyNzcxNDg/KSB4ICsgMS4yMDA3ODkyNDM5 MDE0Mzg/ID49IDAsCi0gICAgICAgICAgICAgIEFuIGluZXF1YWxpdHkgKDAuMzAwMTk3MzEwOTc1 MzU5ND8sIDAuNjAwMzk0NjIxOTUwNzE5PykgeCAtIDAuNDI0NTQzMTA4NTY5Mjg2OT8gPj0gMCkK LSAgICAgICAgICAgICBzYWdlOiBwLlZyZXByZXNlbnRhdGlvbigpICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICMgb3B0aW9uYWwgLSBzYWdlLnJpbmdzLm51bWJlcl9m aWVsZAotLSAgICAgICAgICAgIChBIHZlcnRleCBhdCAoMC4/ZS0xNSwgMC43MDcxMDY3ODExODY1 NDg/KSwKLSsgICAgICAgICAgICAoQSB2ZXJ0ZXggYXQgKDAuP2UtMTYsIDAuNzA3MTA2NzgxMTg2 NTQ3NT8pLAotICAgICAgICAgICAgICBBIHZlcnRleCBhdCAoMS40MTQyMTM1NjIzNzMwOTU/LCAw KSwKLSAgICAgICAgICAgICAgQSB2ZXJ0ZXggYXQgKDQuMDAwMDAwMDAwMDAwMDAwPywgMC4zNzI2 Nzc5OTYyNDk5NjU/KSkKLSAgICAgICAgICIiIgotQEAgLTMwOCw3ICszMDgsNyBAQCBjbGFzcyBQ b2x5aGVkcm9uX2ZpZWxkKFBvbHloZWRyb25fYmFzZSk6Ci0gICAgICAgICAgICAgIEFuIGluZXF1 YWxpdHkgKC0wLjE0MTk3OTQzNTk1MjAyNjM/LCAtMS42OTgxNzI0MzQyNzcxNDg/KSB4ICsgMS4y MDA3ODkyNDM5MDE0Mzg/ID49IDAsCi0gICAgICAgICAgICAgIEFuIGluZXF1YWxpdHkgKDAuMzAw MTk3MzEwOTc1MzU5ND8sIDAuNjAwMzk0NjIxOTUwNzE5PykgeCAtIDAuNDI0NTQzMTA4NTY5Mjg2 OT8gPj0gMCkKLSAgICAgICAgICAgICBzYWdlOiBwLlZyZXByZXNlbnRhdGlvbigpICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb3B0aW9uYWwgLSBzYWdlLnJpbmdz Lm51bWJlcl9maWVsZAotLSAgICAgICAgICAgIChBIHZlcnRleCBhdCAoMC4/ZS0xNSwgMC43MDcx MDY3ODExODY1NDg/KSwKLSsgICAgICAgICAgICAoQSB2ZXJ0ZXggYXQgKDAuP2UtMTYsIDAuNzA3 MTA2NzgxMTg2NTQ3NT8pLAotICAgICAgICAgICAgICBBIHZlcnRleCBhdCAoMS40MTQyMTM1NjIz NzMwOTU/LCAwKSwKLSAgICAgICAgICAgICAgQSB2ZXJ0ZXggYXQgKDQuMDAwMDAwMDAwMDAwMDAw PywgMC4zNzI2Nzc5OTYyNDk5NjU/KSkKLSAgICAgICAgICIiIgotZGlmZiAtLWdpdCBhL3NyYy9z YWdlL2dlb21ldHJ5L3BvbHloZWRyb24vYmFja2VuZF9ub3JtYWxpei5weSBiL3NyYy9zYWdlL2dl b21ldHJ5L3BvbHloZWRyb24vYmFja2VuZF9ub3JtYWxpei5weQotaW5kZXggODZiODk2MzJhNS4u Y2E4YTQzYjI0OCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL2dlb21ldHJ5L3BvbHloZWRyb24vYmFj a2VuZF9ub3JtYWxpei5weQotKysrIGIvc3JjL3NhZ2UvZ2VvbWV0cnkvcG9seWhlZHJvbi9iYWNr ZW5kX25vcm1hbGl6LnB5Ci1AQCAtNTMsNyArNTMsNyBAQCBkZWYgX251bWJlcl9maWVsZF9lbGVt ZW50c19mcm9tX2FsZ2VicmFpY3NfbGlzdF9vZl9saXN0c19vZl9saXN0cyhsaXN0c3MsICoqa3dk cwotICAgICAgICAgMS43MzIwNTA4MDc1Njg4Nzg/Ci0gICAgICAgICBzYWdlOiBmcm9tIHNhZ2Uu Z2VvbWV0cnkucG9seWhlZHJvbi5iYWNrZW5kX25vcm1hbGl6IGltcG9ydCBfbnVtYmVyX2ZpZWxk X2VsZW1lbnRzX2Zyb21fYWxnZWJyYWljc19saXN0X29mX2xpc3RzX29mX2xpc3RzCi0gICAgICAg ICBzYWdlOiBLLCByZXN1bHRzLCBob20gPSBfbnVtYmVyX2ZpZWxkX2VsZW1lbnRzX2Zyb21fYWxn ZWJyYWljc19saXN0X29mX2xpc3RzX29mX2xpc3RzKFtbW3J0Ml0sIFsxXV0sIFtbcnQzXV0sIFtb MV0sIFtdXV0pOyByZXN1bHRzICAjIG9wdGlvbmFsIC0gc2FnZS5yaW5ncy5udW1iZXJfZmllbGQK LS0gICAgICAgIFtbWy1hXjMgKyAzKmFdLCBbMV1dLCBbWy1hXjIgKyAyXV0sIFtbMV0sIFtdXV0K LSsgICAgICAgIFtbWy1hXjMgKyAzKmFdLCBbMV1dLCBbW2FeMiAtIDJdXSwgW1sxXSwgW11dXQot ICAgICAiIiIKLSAgICAgZnJvbSBzYWdlLnJpbmdzLnFxYmFyIGltcG9ydCBudW1iZXJfZmllbGRf ZWxlbWVudHNfZnJvbV9hbGdlYnJhaWNzCi0gICAgIG51bWJlcnMgPSBbXQotZGlmZiAtLWdpdCBh L3NyYy9zYWdlL2dyb3Vwcy9tYXRyaXhfZ3BzL2lzb21ldHJpZXMucHkgYi9zcmMvc2FnZS9ncm91 cHMvbWF0cml4X2dwcy9pc29tZXRyaWVzLnB5Ci1pbmRleCBmOTExMWEyYzkyLi5jY2E0NWU3MTc1 IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvZ3JvdXBzL21hdHJpeF9ncHMvaXNvbWV0cmllcy5weQot KysrIGIvc3JjL3NhZ2UvZ3JvdXBzL21hdHJpeF9ncHMvaXNvbWV0cmllcy5weQotQEAgLTExLDEx ICsxMSwxMSBAQCBFWEFNUExFUzo6Ci0gICAgIHNhZ2U6IEwgPSBJbnRlZ3JhbExhdHRpY2UoIkQ0 IikKLSAgICAgc2FnZTogTyA9IEwub3J0aG9nb25hbF9ncm91cCgpCi0gICAgIHNhZ2U6IE8KLS0g ICAgR3JvdXAgb2YgaXNvbWV0cmllcyB3aXRoIDUgZ2VuZXJhdG9ycyAoCi0tICAgIFstMSAgMCAg MCAgMF0gIFswIDAgMCAxXSAgWy0xIC0xIC0xIC0xXSAgWyAxICAxICAwICAwXSAgWyAxICAwICAw ICAwXQotLSAgICBbIDAgLTEgIDAgIDBdICBbMCAxIDAgMF0gIFsgMCAgMCAgMSAgMF0gIFsgMCAg MCAgMSAgMF0gIFstMSAtMSAtMSAtMV0KLS0gICAgWyAwICAwIC0xICAwXSAgWzAgMCAxIDBdICBb IDAgIDEgIDAgIDFdICBbIDAgIDEgIDAgIDFdICBbIDAgIDAgIDEgIDBdCi0tICAgIFsgMCAgMCAg MCAtMV0sIFsxIDAgMCAwXSwgWyAwIC0xIC0xICAwXSwgWyAwIC0xIC0xICAwXSwgWyAwICAwICAw ICAxXQotKyAgICBHcm91cCBvZiBpc29tZXRyaWVzIHdpdGggMyBnZW5lcmF0b3JzICgKLSsgICAg WzAgMCAwIDFdICBbIDEgIDEgIDAgIDBdICBbIDEgIDAgIDAgIDBdCi0rICAgIFswIDEgMCAwXSAg WyAwICAwICAxICAwXSAgWy0xIC0xIC0xIC0xXQotKyAgICBbMCAwIDEgMF0gIFsgMCAgMSAgMCAg MV0gIFsgMCAgMCAgMSAgMF0KLSsgICAgWzEgMCAwIDBdLCBbIDAgLTEgLTEgIDBdLCBbIDAgIDAg IDAgIDFdCi0gICAgICkKLSAKLSBCYXNpYyBmdW5jdGlvbmFsaXR5IGlzIHByb3ZpZGVkIGJ5IEdB UDo6Ci1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvaW50ZXJmYWNlcy9nZW51czJyZWR1Y3Rpb24ucHkg Yi9zcmMvc2FnZS9pbnRlcmZhY2VzL2dlbnVzMnJlZHVjdGlvbi5weQotaW5kZXggNTZhZTA0YjIz NS4uN2E0Nzk0ZGFmMiAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL2ludGVyZmFjZXMvZ2VudXMycmVk dWN0aW9uLnB5Ci0rKysgYi9zcmMvc2FnZS9pbnRlcmZhY2VzL2dlbnVzMnJlZHVjdGlvbi5weQot QEAgLTE0MywzMSArMTQzLDMxIEBAIGNsYXNzIFJlZHVjdGlvbkRhdGEoU2FnZU9iamVjdCk6Ci0g ICAgICAgIHN1ciB1biBjb3JwcyBkZSB2YWx1YXRpb24gZGlzY3LDqHRlIiwgVHJhbnMuIEFNUyAz NDggKDE5OTYpLAotICAgICAgICA0NTc3LTQ2MTAsIFNlY3Rpb24gNy4yLCBQcm9wb3NpdGlvbiA0 KS4KLSAgICAgIiIiCi0tICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXJpX3Jlc3VsdCwgUCwgUSwg bWluaW1hbF9lcXVhdGlvbiwgbWluaW1hbF9kaXNjLAotLSAgICAgICAgICAgICAgICAgbG9jYWxf ZGF0YSwgY29uZHVjdG9yLCBwcmltZV90b18yX2NvbmR1Y3Rvcl9vbmx5KToKLSsgICAgZGVmIF9f aW5pdF9fKHNlbGYsIHBhcmlfcmVzdWx0LCBQLCBRLCBQbWluLCBRbWluLCBtaW5pbWFsX2Rpc2Ms Ci0rICAgICAgICAgICAgICAgICBsb2NhbF9kYXRhLCBjb25kdWN0b3IpOgotICAgICAgICAgc2Vs Zi5wYXJpX3Jlc3VsdCA9IHBhcmlfcmVzdWx0Ci0gICAgICAgICBzZWxmLlAgPSBQCi0gICAgICAg ICBzZWxmLlEgPSBRCi0tICAgICAgICBzZWxmLm1pbmltYWxfZXF1YXRpb24gPSBtaW5pbWFsX2Vx dWF0aW9uCi0rICAgICAgICBzZWxmLlBtaW4gPSBQbWluCi0rICAgICAgICBzZWxmLlFtaW4gPSBR bWluCi0gICAgICAgICBzZWxmLm1pbmltYWxfZGlzYyA9IG1pbmltYWxfZGlzYwotICAgICAgICAg c2VsZi5sb2NhbF9kYXRhID0gbG9jYWxfZGF0YQotICAgICAgICAgc2VsZi5jb25kdWN0b3IgPSBj b25kdWN0b3IKLS0gICAgICAgIHNlbGYucHJpbWVfdG9fMl9jb25kdWN0b3Jfb25seSA9IHByaW1l X3RvXzJfY29uZHVjdG9yX29ubHkKLSAKLSAgICAgZGVmIF9yZXByXyhzZWxmKToKLS0gICAgICAg IGlmIHNlbGYucHJpbWVfdG9fMl9jb25kdWN0b3Jfb25seToKLS0gICAgICAgICAgICBleCA9ICcg KGF3YXkgZnJvbSAyKScKLS0gICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgZXggPSAnJwotICAg ICAgICAgaWYgc2VsZi5RID09IDA6Ci0gICAgICAgICAgICAgeXRlcm0gPSAnJwotICAgICAgICAg ZWxzZToKLSAgICAgICAgICAgICB5dGVybSA9ICcrICglcykqeSAnJXNlbGYuUQotKwotICAgICAg ICAgcyA9ICdSZWR1Y3Rpb24gZGF0YSBhYm91dCB0aGlzIHByb3BlciBzbW9vdGggZ2VudXMgMiBj dXJ2ZTpcbicKLSAgICAgICAgIHMgKz0gJ1x0eV4yICVzPSAlc1xuJyUoeXRlcm0sIHNlbGYuUCkK LS0gICAgICAgIHMgKz0gJ0EgTWluaW1hbCBFcXVhdGlvbiAoYXdheSBmcm9tIDIpOlxuXHR5XjIg PSAlc1xuJyVzZWxmLm1pbmltYWxfZXF1YXRpb24KLS0gICAgICAgIHMgKz0gJ01pbmltYWwgRGlz Y3JpbWluYW50IChhd2F5IGZyb20gMik6ICAlc1xuJyVzZWxmLm1pbmltYWxfZGlzYwotLSAgICAg ICAgcyArPSAnQ29uZHVjdG9yJXM6ICVzXG4nJShleCwgc2VsZi5jb25kdWN0b3IpCi0rICAgICAg ICBpZiBzZWxmLlFtaW46Ci0rICAgICAgICAgICAgcyArPSAnQSBNaW5pbWFsIEVxdWF0aW9uOlxu XHR5XjIgKyAoJXMpeSA9ICVzXG4nJShzZWxmLlFtaW4sIHNlbGYuUG1pbikKLSsgICAgICAgIGVs c2U6Ci0rICAgICAgICAgICAgcyArPSAnQSBNaW5pbWFsIEVxdWF0aW9uOlxuXHR5XjIgPSAlc1xu JyVzZWxmLlBtaW4KLSsgICAgICAgIHMgKz0gJ01pbmltYWwgRGlzY3JpbWluYW50OiAlc1xuJyVz ZWxmLm1pbmltYWxfZGlzYwotKyAgICAgICAgcyArPSAnQ29uZHVjdG9yOiAlc1xuJyVzZWxmLmNv bmR1Y3RvcgotICAgICAgICAgcyArPSAnTG9jYWwgRGF0YTpcbiVzJyVzZWxmLl9sb2NhbF9kYXRh X3N0cigpCi0gICAgICAgICByZXR1cm4gcwotIAotQEAgLTI0MiwxNyArMjQyLDcgQEAgY2xhc3Mg R2VudXMycmVkdWN0aW9uKFNhZ2VPYmplY3QpOgotICAgICAgICAgc2FnZTogZmFjdG9yKFIuY29u ZHVjdG9yKQotICAgICAgICAgNV40ICogMjI2NwotIAotLSAgICBUaGlzIG1lYW5zIHRoYXQgb25s eSB0aGUgb2RkIHBhcnQgb2YgdGhlIGNvbmR1Y3RvciBpcyBrbm93bi4KLS0KLS0gICAgOjoKLS0K LS0gICAgICAgIHNhZ2U6IFIucHJpbWVfdG9fMl9jb25kdWN0b3Jfb25seQotLSAgICAgICAgVHJ1 ZQotLQotLSAgICBUaGUgZGlzY3JpbWluYW50IGlzIGFsd2F5cyBtaW5pbWFsIGF3YXkgZnJvbSAy LCBidXQgcG9zc2libHkgbm90IGF0Ci0tICAgIDIuCi0tCi0tICAgIDo6Ci0rICAgIFRoZSBkaXNj cmltaW5hbnQgaXMgYWx3YXlzIG1pbmltYWw6OgotIAotICAgICAgICAgc2FnZTogZmFjdG9yKFIu bWluaW1hbF9kaXNjKQotICAgICAgICAgMl4zICogNV41ICogMjI2NwotQEAgLTI2NCwxMCArMjU0 LDEwIEBAIGNsYXNzIEdlbnVzMnJlZHVjdGlvbihTYWdlT2JqZWN0KToKLSAgICAgICAgIHNhZ2U6 IFIKLSAgICAgICAgIFJlZHVjdGlvbiBkYXRhIGFib3V0IHRoaXMgcHJvcGVyIHNtb290aCBnZW51 cyAyIGN1cnZlOgotICAgICAgICAgICAgIHleMiArICh4XjMgLSAyKnheMiAtIDIqeCArIDEpKnkg PSAtNSp4XjUKLS0gICAgICAgIEEgTWluaW1hbCBFcXVhdGlvbiAoYXdheSBmcm9tIDIpOgotLSAg ICAgICAgICAgIHleMiA9IHheNiAtIDI0MCp4XjQgLSAyNTUwKnheMyAtIDExNDAwKnheMiAtIDI0 MTAwKnggLSAxOTg1NQotLSAgICAgICAgTWluaW1hbCBEaXNjcmltaW5hbnQgKGF3YXkgZnJvbSAy KTogIDU2Njc1MDAwCi0tICAgICAgICBDb25kdWN0b3IgKGF3YXkgZnJvbSAyKTogMTQxNjg3NQot KyAgICAgICAgQSBNaW5pbWFsIEVxdWF0aW9uOgotKyAgICAgICAgICAgIHleMiAuLi4KLSsgICAg ICAgIE1pbmltYWwgRGlzY3JpbWluYW50OiA1NjY3NTAwMAotKyAgICAgICAgQ29uZHVjdG9yOiAx NDE2ODc1Ci0gICAgICAgICBMb2NhbCBEYXRhOgotICAgICAgICAgICAgIHA9MgotICAgICAgICAg ICAgIChwb3RlbnRpYWwpIHN0YWJsZSByZWR1Y3Rpb246ICAoSUkpLCBqPTEKLUBAIC0yOTMsMTAg KzI4MywxMCBAQCBjbGFzcyBHZW51czJyZWR1Y3Rpb24oU2FnZU9iamVjdCk6Ci0gICAgICAgICBz YWdlOiBnZW51czJyZWR1Y3Rpb24oMCwgeF42ICsgMyp4XjMgKyA2MykKLSAgICAgICAgIFJlZHVj dGlvbiBkYXRhIGFib3V0IHRoaXMgcHJvcGVyIHNtb290aCBnZW51cyAyIGN1cnZlOgotICAgICAg ICAgICAgICAgICB5XjIgPSB4XjYgKyAzKnheMyArIDYzCi0tICAgICAgICBBIE1pbmltYWwgRXF1 YXRpb24gKGF3YXkgZnJvbSAyKToKLS0gICAgICAgICAgICAgICAgeV4yID0geF42ICsgMyp4XjMg KyA2MwotLSAgICAgICAgTWluaW1hbCBEaXNjcmltaW5hbnQgKGF3YXkgZnJvbSAyKTogIDEwNjI4 Mzg4MzE2ODUyOTkyCi0tICAgICAgICBDb25kdWN0b3IgKGF3YXkgZnJvbSAyKTogMjg5MzQwMQot KyAgICAgICAgQSBNaW5pbWFsIEVxdWF0aW9uOgotKyAgICAgICAgICAgICAgICB5XjIgLi4uCi0r ICAgICAgICBNaW5pbWFsIERpc2NyaW1pbmFudDogLTEwNjI4Mzg4MzE2ODUyOTkyCi0rICAgICAg ICBDb25kdWN0b3I6IDI4OTM0MDEKLSAgICAgICAgIExvY2FsIERhdGE6Ci0gICAgICAgICAgICAg ICAgIHA9MgotICAgICAgICAgICAgICAgICAocG90ZW50aWFsKSBzdGFibGUgcmVkdWN0aW9uOiAg KFYpLCBqMStqMj0wLCBqMSpqMj0wCi1AQCAtMzI3LDkgKzMxNyw5IEBAIGNsYXNzIEdlbnVzMnJl ZHVjdGlvbihTYWdlT2JqZWN0KToKLSAgICAgICAgIHNhZ2U6IGdlbnVzMnJlZHVjdGlvbih4XjMt eF4yLTEsIHheMiAtIHgpCi0gICAgICAgICBSZWR1Y3Rpb24gZGF0YSBhYm91dCB0aGlzIHByb3Bl ciBzbW9vdGggZ2VudXMgMiBjdXJ2ZToKLSAgICAgICAgICAgICAgICAgeV4yICsgKHheMyAtIHhe MiAtIDEpKnkgPSB4XjIgLSB4Ci0tICAgICAgICBBIE1pbmltYWwgRXF1YXRpb24gKGF3YXkgZnJv bSAyKToKLS0gICAgICAgICAgICAgICAgeV4yID0geF42ICsgNTgqeF41ICsgMTQwMSp4XjQgKyAx ODAzOCp4XjMgKyAxMzA1NDYqeF4yICsgNTAzNTE2KnggKyA4MDg1NjEKLS0gICAgICAgIE1pbmlt YWwgRGlzY3JpbWluYW50IChhd2F5IGZyb20gMik6ICAxNjkKLSsgICAgICAgIEEgTWluaW1hbCBF cXVhdGlvbjoKLSsgICAgICAgICAgICAgICAgeV4yIC4uLgotKyAgICAgICAgTWluaW1hbCBEaXNj cmltaW5hbnQ6IC0xNjkKLSAgICAgICAgIENvbmR1Y3RvcjogMTY5Ci0gICAgICAgICBMb2NhbCBE YXRhOgotICAgICAgICAgICAgICAgICBwPTEzCi1AQCAtMzcwLDEwICszNjAsMTAgQEAgY2xhc3Mg R2VudXMycmVkdWN0aW9uKFNhZ2VPYmplY3QpOgotICAgICAgICAgICAgIHNhZ2U6IGdlbnVzMnJl ZHVjdGlvbih4XjMgLSAyKnheMiAtIDIqeCArIDEsIC01KnheNSkKLSAgICAgICAgICAgICBSZWR1 Y3Rpb24gZGF0YSBhYm91dCB0aGlzIHByb3BlciBzbW9vdGggZ2VudXMgMiBjdXJ2ZToKLSAgICAg ICAgICAgICAgICAgICAgIHleMiArICh4XjMgLSAyKnheMiAtIDIqeCArIDEpKnkgPSAtNSp4XjUK LS0gICAgICAgICAgICBBIE1pbmltYWwgRXF1YXRpb24gKGF3YXkgZnJvbSAyKToKLS0gICAgICAg ICAgICAgICAgICAgIHleMiA9IHheNiAtIDI0MCp4XjQgLSAyNTUwKnheMyAtIDExNDAwKnheMiAt IDI0MTAwKnggLSAxOTg1NQotLSAgICAgICAgICAgIE1pbmltYWwgRGlzY3JpbWluYW50IChhd2F5 IGZyb20gMik6ICA1NjY3NTAwMAotLSAgICAgICAgICAgIENvbmR1Y3RvciAoYXdheSBmcm9tIDIp OiAxNDE2ODc1Ci0rICAgICAgICAgICAgQSBNaW5pbWFsIEVxdWF0aW9uOgotKyAgICAgICAgICAg ICAgICAgICAgeV4yIC4uLgotKyAgICAgICAgICAgIE1pbmltYWwgRGlzY3JpbWluYW50OiA1NjY3 NTAwMAotKyAgICAgICAgICAgIENvbmR1Y3RvcjogMTQxNjg3NQotICAgICAgICAgICAgIExvY2Fs IERhdGE6Ci0gICAgICAgICAgICAgICAgICAgICBwPTIKLSAgICAgICAgICAgICAgICAgICAgIChw b3RlbnRpYWwpIHN0YWJsZSByZWR1Y3Rpb246ICAoSUkpLCBqPTEKLUBAIC0zODksOSArMzc5LDkg QEAgY2xhc3MgR2VudXMycmVkdWN0aW9uKFNhZ2VPYmplY3QpOgotICAgICAgICAgICAgIHNhZ2U6 IGdlbnVzMnJlZHVjdGlvbih4XjIgKyAxLCAtNSp4XjUpCi0gICAgICAgICAgICAgUmVkdWN0aW9u IGRhdGEgYWJvdXQgdGhpcyBwcm9wZXIgc21vb3RoIGdlbnVzIDIgY3VydmU6Ci0gICAgICAgICAg ICAgICAgICAgICB5XjIgKyAoeF4yICsgMSkqeSA9IC01KnheNQotLSAgICAgICAgICAgIEEgTWlu aW1hbCBFcXVhdGlvbiAoYXdheSBmcm9tIDIpOgotLSAgICAgICAgICAgICAgICAgICAgeV4yID0g LTIwKnheNSArIHheNCArIDIqeF4yICsgMQotLSAgICAgICAgICAgIE1pbmltYWwgRGlzY3JpbWlu YW50IChhd2F5IGZyb20gMik6ICA0ODgzODEyNQotKyAgICAgICAgICAgIEEgTWluaW1hbCBFcXVh dGlvbjoKLSsgICAgICAgICAgICAgICAgICAgIHleMiAuLi4KLSsgICAgICAgICAgICBNaW5pbWFs IERpc2NyaW1pbmFudDogNDg4MzgxMjUKLSAgICAgICAgICAgICBDb25kdWN0b3I6IDMyMDI1Ci0g ICAgICAgICAgICAgTG9jYWwgRGF0YToKLSAgICAgICAgICAgICAgICAgICAgIHA9MwotQEAgLTQx Miw5ICs0MDIsOSBAQCBjbGFzcyBHZW51czJyZWR1Y3Rpb24oU2FnZU9iamVjdCk6Ci0gICAgICAg ICAgICAgc2FnZTogZ2VudXMycmVkdWN0aW9uKHheMyArIHheMiArIHgsLTIqeF41ICsgMyp4XjQg LSB4XjMgLSB4XjIgLSA2KnggLSAyKQotICAgICAgICAgICAgIFJlZHVjdGlvbiBkYXRhIGFib3V0 IHRoaXMgcHJvcGVyIHNtb290aCBnZW51cyAyIGN1cnZlOgotICAgICAgICAgICAgICAgICAgICAg eV4yICsgKHheMyArIHheMiArIHgpKnkgPSAtMip4XjUgKyAzKnheNCAtIHheMyAtIHheMiAtIDYq eCAtIDIKLS0gICAgICAgICAgICBBIE1pbmltYWwgRXF1YXRpb24gKGF3YXkgZnJvbSAyKToKLS0g ICAgICAgICAgICAgICAgICAgIHleMiA9IHheNiArIDE4KnheMyArIDM2KnheMiAtIDI3Ci0tICAg ICAgICAgICAgTWluaW1hbCBEaXNjcmltaW5hbnQgKGF3YXkgZnJvbSAyKTogIDE1MjA5ODQxNDIK LSsgICAgICAgICAgICBBIE1pbmltYWwgRXF1YXRpb246Ci0rICAgICAgICAgICAgICAgICAgICB5 XjIgLi4uCi0rICAgICAgICAgICAgTWluaW1hbCBEaXNjcmltaW5hbnQ6IDE1MjA5ODQxNDIKLSAg ICAgICAgICAgICBDb25kdWN0b3I6IDk1NAotICAgICAgICAgICAgIExvY2FsIERhdGE6Ci0gICAg ICAgICAgICAgICAgICAgICBwPTIKLUBAIC00MzYsMTggKzQyNiwxMCBAQCBjbGFzcyBHZW51czJy ZWR1Y3Rpb24oU2FnZU9iamVjdCk6Ci0gICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiUSAo PSVzKSBtdXN0IGhhdmUgZGVncmVlIGF0IG1vc3QgMyIgJSBRKQotIAotICAgICAgICAgcmVzID0g cGFyaS5nZW51czJyZWQoW1AsIFFdKQotLQotICAgICAgICAgY29uZHVjdG9yID0gWloocmVzWzBd KQotLSAgICAgICAgbWluaW1hbF9lcXVhdGlvbiA9IFIocmVzWzJdKQotLQotLSAgICAgICAgbWlu aW1hbF9kaXNjID0gUVEocmVzWzJdLnBvbGRpc2MoKSkuYWJzKCkKLS0gICAgICAgIGlmIG1pbmlt YWxfZXF1YXRpb24uZGVncmVlKCkgPT0gNToKLS0gICAgICAgICAgICBtaW5pbWFsX2Rpc2MgKj0g bWluaW1hbF9lcXVhdGlvbls1XSoqMgotLSAgICAgICAgIyBNdWx0aXBseSB3aXRoIHN1aXRhYmxl IHBvd2VyIG9mIDIgb2YgdGhlIGZvcm0gMl4oMiooZC0xKSAtIDEyKQotLSAgICAgICAgYiA9IDIg KiAobWluaW1hbF9lcXVhdGlvbi5kZWdyZWUoKSAtIDEpCi0tICAgICAgICBrID0gUVEoKDEyIC0g bWluaW1hbF9kaXNjLnZhbHVhdGlvbigyKSwgYikpLmNlaWwoKQotLSAgICAgICAgbWluaW1hbF9k aXNjID4+PSAxMiAtIGIqawotLSAgICAgICAgbWluaW1hbF9kaXNjID0gWloobWluaW1hbF9kaXNj KQotKyAgICAgICAgUG1pbiA9IFIocmVzWzJdWzBdKQotKyAgICAgICAgUW1pbiA9IFIocmVzWzJd WzFdKQotKyAgICAgICAgbWluaW1hbF9kaXNjID0gWloocGFyaS5oeXBlcmVsbGRpc2MocmVzWzJd KSkKLSAKLSAgICAgICAgIGxvY2FsX2RhdGEgPSB7fQotICAgICAgICAgZm9yIHJlZCBpbiByZXNb M106Ci1AQCAtNDY4LDkgKzQ1MCw3IEBAIGNsYXNzIEdlbnVzMnJlZHVjdGlvbihTYWdlT2JqZWN0 KToKLSAKLSAgICAgICAgICAgICBsb2NhbF9kYXRhW3BdID0gZGF0YQotIAotLSAgICAgICAgcHJp bWVfdG9fMl9jb25kdWN0b3Jfb25seSA9ICgtMSBpbiByZXNbMV0uY29tcG9uZW50KDIpKQotLSAg ICAgICAgcmV0dXJuIFJlZHVjdGlvbkRhdGEocmVzLCBQLCBRLCBtaW5pbWFsX2VxdWF0aW9uLCBt aW5pbWFsX2Rpc2MsIGxvY2FsX2RhdGEsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25kdWN0b3IsIHByaW1lX3RvXzJfY29uZHVjdG9yX29ubHkpCi0rICAgICAgICByZXR1cm4gUmVk dWN0aW9uRGF0YShyZXMsIFAsIFEsIFBtaW4sIFFtaW4sIG1pbmltYWxfZGlzYywgbG9jYWxfZGF0 YSwgY29uZHVjdG9yKQotIAotICAgICBkZWYgX19yZWR1Y2VfXyhzZWxmKToKLSAgICAgICAgIHJl dHVybiBfcmVkdWNlX2xvYWRfZ2VudXMycmVkdWN0aW9uLCB0dXBsZShbXSkKLWRpZmYgLS1naXQg YS9zcmMvc2FnZS9sZnVuY3Rpb25zL2Rva2NoaXRzZXIucHkgYi9zcmMvc2FnZS9sZnVuY3Rpb25z L2Rva2NoaXRzZXIucHkKLWluZGV4IGZlYzQ1MGQ3YmMuLjIzNjQwMmMyOTMgMTAwNjQ0Ci0tLS0g YS9zcmMvc2FnZS9sZnVuY3Rpb25zL2Rva2NoaXRzZXIucHkKLSsrKyBiL3NyYy9zYWdlL2xmdW5j dGlvbnMvZG9rY2hpdHNlci5weQotQEAgLTMzNyw2ICszMzcsNyBAQCBjbGFzcyBEb2tjaGl0c2Vy KFNhZ2VPYmplY3QpOgotICAgICAgICAgICAgICMgQWZ0ZXIgaW5pdF9jb2VmZnMgaXMgY2FsbGVk LCBmdXR1cmUgY2FsbHMgdG8gdGhpcyBtZXRob2Qgc2hvdWxkCi0gICAgICAgICAgICAgIyByZXR1 cm4gdGhlIGZ1bGwgb3V0cHV0IGZvciBmdXJ0aGVyIHBhcnNpbmcKLSAgICAgICAgICAgICByYWlz ZSBSdW50aW1lRXJyb3IoInVuYWJsZSB0byBjcmVhdGUgTC1zZXJpZXMsIGR1ZSB0byBwcmVjaXNp b24gb3Igb3RoZXIgbGltaXRzIGluIFBBUkkiKQotKyAgICAgICAgdCA9IHQucmVwbGFjZSgiICAq KiogX15fOiBXYXJuaW5nOiBub3JtYWxpemluZyBhIHNlcmllcyB3aXRoIDAgbGVhZGluZyB0ZXJt LlxuIiwgIiIpCi0gICAgICAgICByZXR1cm4gdAotIAotICAgICBkZWYgX19jaGVja19pbml0KHNl bGYpOgotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2xmdW5jdGlvbnMvcGFyaS5weSBiL3NyYy9zYWdl L2xmdW5jdGlvbnMvcGFyaS5weQotaW5kZXggZDJiMjBmMTg5MS4uNmMzMWVmZTIzOSAxMDA2NDQK LS0tLSBhL3NyYy9zYWdlL2xmdW5jdGlvbnMvcGFyaS5weQotKysrIGIvc3JjL3NhZ2UvbGZ1bmN0 aW9ucy9wYXJpLnB5Ci1AQCAtMzM5LDcgKzMzOSw3IEBAIGRlZiBsZnVuX2V0YV9xdW90aWVudChz Y2FsaW5ncywgZXhwb25lbnRzKToKLSAgICAgICAgIDAuMDM3NDQxMjgxMjY4NTE1NQotIAotICAg ICAgICAgc2FnZTogbGZ1bl9ldGFfcXVvdGllbnQoWzZdLFs0XSkKLS0gICAgICAgIFtbVmVjc21h bGwoWzddKSwgW1ZlY3NtYWxsKFs2XSksIFZlY3NtYWxsKFs0XSldXSwgMCwgWzAsIDFdLCAyLCAz NiwgMV0KLSsgICAgICAgIFtbVmVjc21hbGwoWzddKSwgW1ZlY3NtYWxsKFs2XSksIFZlY3NtYWxs KFs0XSksIDBdXSwgMCwgWzAsIDFdLCAyLCAzNiwgMV0KLSAKLSAgICAgICAgIHNhZ2U6IGxmdW5f ZXRhX3F1b3RpZW50KFsyLDEsNF0sIFs1LC0yLC0yXSkKLSAgICAgICAgIFRyYWNlYmFjayAobW9z dCByZWNlbnQgY2FsbCBsYXN0KToKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9saWJzL3BhcmkvdGVz dHMucHkgYi9zcmMvc2FnZS9saWJzL3BhcmkvdGVzdHMucHkKLWluZGV4IGU1YTJhYTI1MTcuLjBl ZmNiMTVkZTAgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9saWJzL3BhcmkvdGVzdHMucHkKLSsrKyBi L3NyYy9zYWdlL2xpYnMvcGFyaS90ZXN0cy5weQotQEAgLTM1Niw3ICszNTYsNyBAQCBDb25zdHJ1 Y3RvcnM6OgotICAgICBbMiwgNF1+KnggKyBbMSwgM11+Ci0gCi0gICAgIHNhZ2U6IHBhcmkoMyku UWZiKDcsIDEpCi0tICAgIFFmYigzLCA3LCAxLCAwLkUtMTkpCi0rICAgIFFmYigzLCA3LCAxKQot ICAgICBzYWdlOiBwYXJpKDMpLlFmYig3LCAyKQotICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50 IGNhbGwgbGFzdCk6Ci0gICAgIC4uLgotQEAgLTUxMiw3ICs1MTIsNyBAQCBCYXNpYyBmdW5jdGlv bnM6OgotICAgICBzYWdlOiBwYXJpKCdzcXJ0KC0yKScpLmZyYWMoKQotICAgICBUcmFjZWJhY2sg KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgIC4uLgotLSAgICBQYXJpRXJyb3I6IGluY29y cmVjdCB0eXBlIGluIGdmbG9vciAodF9DT01QTEVYKQotKyAgICBQYXJpRXJyb3I6IGluY29ycmVj dCB0eXBlIGluIGdmcmFjICh0X0NPTVBMRVgpCi0gCi0gICAgIHNhZ2U6IHBhcmkoJzErMipJJyku aW1hZygpCi0gICAgIDIKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9tb2R1bGFyL2N1c3BzX25mLnB5 IGIvc3JjL3NhZ2UvbW9kdWxhci9jdXNwc19uZi5weQotaW5kZXggMjVkOTNjYWM5Mi4uMTU3ZWJh YmUyOSAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21vZHVsYXIvY3VzcHNfbmYucHkKLSsrKyBiL3Ny Yy9zYWdlL21vZHVsYXIvY3VzcHNfbmYucHkKLUBAIC0xMjIwLDcgKzEyMjAsNyBAQCBkZWYgdW5p dHNfbW9kX2lkZWFsKEkpOgotICAgICAgICAgc2FnZTogSSA9IGsuaWRlYWwoNSwgYSArIDEpCi0g ICAgICAgICBzYWdlOiB1bml0c19tb2RfaWRlYWwoSSkKLSAgICAgICAgIFsxLAotLSAgICAgICAg MiphXjIgKyA0KmEgLSAxLAotKyAgICAgICAgLTIqYV4yIC0gNCphICsgMSwKLSAgICAgICAgIC4u Ll0KLSAKLSAgICAgOjoKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9tb2R1bGFyL21vZGZvcm1faGVj a2V0cmlhbmdsZS9oZWNrZV90cmlhbmdsZV9ncm91cF9lbGVtZW50LnB5IGIvc3JjL3NhZ2UvbW9k dWxhci9tb2Rmb3JtX2hlY2tldHJpYW5nbGUvaGVja2VfdHJpYW5nbGVfZ3JvdXBfZWxlbWVudC5w eQotaW5kZXggYTg4MTMzNjU5Ni4uMDkwZDFiZmFmMCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL21v ZHVsYXIvbW9kZm9ybV9oZWNrZXRyaWFuZ2xlL2hlY2tlX3RyaWFuZ2xlX2dyb3VwX2VsZW1lbnQu cHkKLSsrKyBiL3NyYy9zYWdlL21vZHVsYXIvbW9kZm9ybV9oZWNrZXRyaWFuZ2xlL2hlY2tlX3Ry aWFuZ2xlX2dyb3VwX2VsZW1lbnQucHkKLUBAIC00Myw3ICs0Myw3IEBAIGRlZiBjb2VyY2VfQUEo cCk6Ci0gICAgICAgICBzYWdlOiBBQShwKS5fZXhhY3RfZmllbGQoKQotICAgICAgICAgTnVtYmVy IEZpZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHleOCAuLi4gd2l0aCBhIGluIC4u LgotICAgICAgICAgc2FnZTogY29lcmNlX0FBKHApLl9leGFjdF9maWVsZCgpCi0tICAgICAgICBO dW1iZXIgRmllbGQgaW4gYSB3aXRoIGRlZmluaW5nIHBvbHlub21pYWwgeV40IC0gMTkxMCp5XjIg LSAzOTI0KnkgKyA2ODEwNTggd2l0aCBhIGluIDM5LjcxMDUxODcyNC4uLj8KLSsgICAgICAgIE51 bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB5XjQgLSAxOTEwKnleMiAt IDM5MjQqeSArIDY4MTA1OCB3aXRoIGEgaW4gLi4uPwotICAgICAiIiIKLSAgICAgZWwgPSBBQShw KQotICAgICBlbC5zaW1wbGlmeSgpCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbW9kdWxhci9tb2Rz eW0vcDFsaXN0X25mLnB5IGIvc3JjL3NhZ2UvbW9kdWxhci9tb2RzeW0vcDFsaXN0X25mLnB5Ci1p bmRleCAyMjJjYWFjY2E4Li5mOWQ5Njk3MzJjIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvbW9kdWxh ci9tb2RzeW0vcDFsaXN0X25mLnB5Ci0rKysgYi9zcmMvc2FnZS9tb2R1bGFyL21vZHN5bS9wMWxp c3RfbmYucHkKLUBAIC01OCw3ICs1OCw3IEBAIExpZnQgYW4gTVN5bWJvbCB0byBhIG1hdHJpeCBp biBgU0woMiwgUilgOgotIAotICAgICBzYWdlOiBhbHBoYSA9IE1TeW1ib2woTiwgYSArIDIsIDMq YV4yKQotICAgICBzYWdlOiBhbHBoYS5saWZ0X3RvX3NsMl9PaygpCi0tICAgIFstMyphXjIgKyBh ICsgMTIsIDI1KmFeMiAtIDUwKmEgKyAxMDAsIGEgKyAyLCBhXjIgLSAzKmEgKyAzXQotKyAgICBb LTEsIDQqYV4yIC0gMTMqYSArIDIzLCBhICsgMiwgNSphXjIgKyAzKmEgLSAzXQotICAgICBzYWdl OiBPayA9IGsucmluZ19vZl9pbnRlZ2VycygpCi0gICAgIHNhZ2U6IE0gPSBNYXRyaXgoT2ssIDIs IGFscGhhLmxpZnRfdG9fc2wyX09rKCkpCi0gICAgIHNhZ2U6IGRldChNKQotQEAgLTk0NSwxMSAr OTQ1LDExIEBAIGNsYXNzIFAxTkZMaXN0KFNhZ2VPYmplY3QpOgotICAgICAgICAgICAgIHNhZ2U6 IE4gPSBrLmlkZWFsKDUsIGEgKyAxKQotICAgICAgICAgICAgIHNhZ2U6IFAgPSBQMU5GTGlzdChO KQotICAgICAgICAgICAgIHNhZ2U6IHUgPSBrLnVuaXRfZ3JvdXAoKS5nZW5zX3ZhbHVlcygpOyB1 Ci0tICAgICAgICAgICAgWy0xLCAyKmFeMiArIDQqYSAtIDFdCi0rICAgICAgICAgICAgWy0xLCAt MiphXjIgLSA0KmEgKyAxXQotICAgICAgICAgICAgIHNhZ2U6IFAuYXBwbHlfSl9lcHNpbG9uKDQs IC0xKQotICAgICAgICAgICAgIDIKLSAgICAgICAgICAgICBzYWdlOiBQLmFwcGx5X0pfZXBzaWxv big0LCB1WzBdLCB1WzFdKQotLSAgICAgICAgICAgIDEKLSsgICAgICAgICAgICA1Ci0gCi0gICAg ICAgICA6OgotIAotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL21vZHVsZXMvZnJlZV9xdWFkcmF0aWNf bW9kdWxlX2ludGVnZXJfc3ltbWV0cmljLnB5IGIvc3JjL3NhZ2UvbW9kdWxlcy9mcmVlX3F1YWRy YXRpY19tb2R1bGVfaW50ZWdlcl9zeW1tZXRyaWMucHkKLWluZGV4IGEyMDZmMGM3MjEuLmFlYjE5 YWI2NjkgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9tb2R1bGVzL2ZyZWVfcXVhZHJhdGljX21vZHVs ZV9pbnRlZ2VyX3N5bW1ldHJpYy5weQotKysrIGIvc3JjL3NhZ2UvbW9kdWxlcy9mcmVlX3F1YWRy YXRpY19tb2R1bGVfaW50ZWdlcl9zeW1tZXRyaWMucHkKLUBAIC0xMTY4LDExICsxMTY4LDExIEBA IGNsYXNzIEZyZWVRdWFkcmF0aWNNb2R1bGVfaW50ZWdlcl9zeW1tZXRyaWMoRnJlZVF1YWRyYXRp Y01vZHVsZV9zdWJtb2R1bGVfd2l0aF9iCi0gICAgICAgICAgICAgc2FnZTogQTQgPSBJbnRlZ3Jh bExhdHRpY2UoIkE0IikKLSAgICAgICAgICAgICBzYWdlOiBBdXQgPSBBNC5vcnRob2dvbmFsX2dy b3VwKCkKLSAgICAgICAgICAgICBzYWdlOiBBdXQKLS0gICAgICAgICAgICBHcm91cCBvZiBpc29t ZXRyaWVzIHdpdGggNSBnZW5lcmF0b3JzICgKLS0gICAgICAgICAgICBbLTEgIDAgIDAgIDBdICBb MCAwIDAgMV0gIFstMSAtMSAtMSAgMF0gIFsgMSAgMCAgMCAgMF0gIFsgMSAgMCAgMCAgMF0KLS0g ICAgICAgICAgICBbIDAgLTEgIDAgIDBdICBbMCAwIDEgMF0gIFsgMCAgMCAgMCAtMV0gIFstMSAt MSAtMSAtMV0gIFsgMCAgMSAgMCAgMF0KLS0gICAgICAgICAgICBbIDAgIDAgLTEgIDBdICBbMCAx IDAgMF0gIFsgMCAgMCAgMSAgMV0gIFsgMCAgMCAgMCAgMV0gIFsgMCAgMCAgMSAgMV0KLS0gICAg ICAgICAgICBbIDAgIDAgIDAgLTFdLCBbMSAwIDAgMF0sIFsgMCAgMSAgMCAgMF0sIFsgMCAgMCAg MSAgMF0sIFsgMCAgMCAgMCAtMV0KLSsgICAgICAgICAgICBHcm91cCBvZiBpc29tZXRyaWVzIHdp dGggNCBnZW5lcmF0b3JzICgKLSsgICAgICAgICAgICBbMCAwIDAgMV0gIFstMSAtMSAtMSAgMF0g IFsgMSAgMCAgMCAgMF0gIFsgMSAgMCAgMCAgMF0KLSsgICAgICAgICAgICBbMCAwIDEgMF0gIFsg MCAgMCAgMCAtMV0gIFstMSAtMSAtMSAtMV0gIFsgMCAgMSAgMCAgMF0KLSsgICAgICAgICAgICBb MCAxIDAgMF0gIFsgMCAgMCAgMSAgMV0gIFsgMCAgMCAgMCAgMV0gIFsgMCAgMCAgMSAgMV0KLSsg ICAgICAgICAgICBbMSAwIDAgMF0sIFsgMCAgMSAgMCAgMF0sIFsgMCAgMCAgMSAgMF0sIFsgMCAg MCAgMCAtMV0KLSAgICAgICAgICAgICApCi0gCi0gICAgICAgICBUaGUgZ3JvdXAgYWN0cyBmcm9t IHRoZSByaWdodCBvbiB0aGUgbGF0dGljZSBhbmQgaXRzIGRpc2NyaW1pbmFudCBncm91cDo6Ci1A QCAtMTE4MCwxOSArMTE4MCwxOSBAQCBjbGFzcyBGcmVlUXVhZHJhdGljTW9kdWxlX2ludGVnZXJf c3ltbWV0cmljKEZyZWVRdWFkcmF0aWNNb2R1bGVfc3VibW9kdWxlX3dpdGhfYgotICAgICAgICAg ICAgIHNhZ2U6IHggPSBBNC5hbl9lbGVtZW50KCkKLSAgICAgICAgICAgICBzYWdlOiBnID0gQXV0 LmFuX2VsZW1lbnQoKQotICAgICAgICAgICAgIHNhZ2U6IGcKLS0gICAgICAgICAgICBbIDEgIDEg IDEgIDBdCi0tICAgICAgICAgICAgWyAwICAwIC0xICAwXQotLSAgICAgICAgICAgIFsgMCAgMCAg MSAgMV0KLS0gICAgICAgICAgICBbIDAgLTEgLTEgLTFdCi0rICAgICAgICAgICAgWy0xIC0xIC0x ICAwXQotKyAgICAgICAgICAgIFsgMCAgMCAgMSAgMF0KLSsgICAgICAgICAgICBbIDAgIDAgLTEg LTFdCi0rICAgICAgICAgICAgWyAwICAxICAxICAxXQotICAgICAgICAgICAgIHNhZ2U6IHgqZwot LSAgICAgICAgICAgICgxLCAxLCAxLCAwKQotKyAgICAgICAgICAgICgtMSwgLTEsIC0xLCAwKQot ICAgICAgICAgICAgIHNhZ2U6ICh4KmcpLnBhcmVudCgpPT1BNAotICAgICAgICAgICAgIFRydWUK LSAgICAgICAgICAgICBzYWdlOiAoZyp4KS5wYXJlbnQoKQotICAgICAgICAgICAgIFZlY3RvciBz cGFjZSBvZiBkaW1lbnNpb24gNCBvdmVyIFJhdGlvbmFsIEZpZWxkCi0gICAgICAgICAgICAgc2Fn ZTogeSA9IEE0LmRpc2NyaW1pbmFudF9ncm91cCgpLmFuX2VsZW1lbnQoKQotICAgICAgICAgICAg IHNhZ2U6IHkqZwotLSAgICAgICAgICAgICgxKQotKyAgICAgICAgICAgICg0KQotIAotICAgICAg ICAgSWYgdGhlIGdyb3VwIGlzIGZpbml0ZSB3ZSBjYW4gY29tcHV0ZSB0aGUgdXN1YWwgdGhpbmdz OjoKLSAKLUBAIC0xMjA4LDEwICsxMjA4LDEwIEBAIGNsYXNzIEZyZWVRdWFkcmF0aWNNb2R1bGVf aW50ZWdlcl9zeW1tZXRyaWMoRnJlZVF1YWRyYXRpY01vZHVsZV9zdWJtb2R1bGVfd2l0aF9iCi0g Ci0gICAgICAgICAgICAgc2FnZTogQTIgPSBJbnRlZ3JhbExhdHRpY2UobWF0cml4LmlkZW50aXR5 KDMpLE1hdHJpeChaWiwyLDMsWzEsLTEsMCwwLDEsLTFdKSkKLSAgICAgICAgICAgICBzYWdlOiBB Mi5vcnRob2dvbmFsX2dyb3VwKCkKLS0gICAgICAgICAgICBHcm91cCBvZiBpc29tZXRyaWVzIHdp dGggMyBnZW5lcmF0b3JzICgKLS0gICAgICAgICAgICBbLTEvMyAgMi8zICAyLzNdICBbIDIvMyAg Mi8zIC0xLzNdICBbMSAwIDBdCi0tICAgICAgICAgICAgWyAyLzMgLTEvMyAgMi8zXSAgWyAyLzMg LTEvMyAgMi8zXSAgWzAgMCAxXQotLSAgICAgICAgICAgIFsgMi8zICAyLzMgLTEvM10sIFstMS8z ICAyLzMgIDIvM10sIFswIDEgMF0KLSsgICAgICAgICAgICBHcm91cCBvZiBpc29tZXRyaWVzIHdp dGggMiBnZW5lcmF0b3JzICgKLSsgICAgICAgICAgICBbIDIvMyAgMi8zIC0xLzNdICBbMSAwIDBd Ci0rICAgICAgICAgICAgWyAyLzMgLTEvMyAgMi8zXSAgWzAgMCAxXQotKyAgICAgICAgICAgIFst MS8zICAyLzMgIDIvM10sIFswIDEgMF0KLSAgICAgICAgICAgICApCi0gCi0gICAgICAgICBJdCBj YW4gYmUgbmVnYXRpdmUgZGVmaW5pdGUgYXMgd2VsbDo6Ci1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uv cXVhZHJhdGljX2Zvcm1zL2JpbmFyeV9xZi5weSBiL3NyYy9zYWdlL3F1YWRyYXRpY19mb3Jtcy9i aW5hcnlfcWYucHkKLWluZGV4IGNmYTNhZGE3M2UuLjVhYzgyM2JjNmMgMTAwNzU1Ci0tLS0gYS9z cmMvc2FnZS9xdWFkcmF0aWNfZm9ybXMvYmluYXJ5X3FmLnB5Ci0rKysgYi9zcmMvc2FnZS9xdWFk cmF0aWNfZm9ybXMvYmluYXJ5X3FmLnB5Ci1AQCAtMTQxLDcgKzE0MSw3IEBAIGNsYXNzIEJpbmFy eVFGKFNhZ2VPYmplY3QpOgotICAgICAgICAgICAgICAgICAgIGFuZCBhLmRlZ3JlZSgpID09IDIg YW5kIGEucGFyZW50KCkubmdlbnMoKSA9PSAyKToKLSAgICAgICAgICAgICAgICAgeCwgeSA9IGEu cGFyZW50KCkuZ2VucygpCi0gICAgICAgICAgICAgICAgIGEsIGIsIGMgPSBbYS5tb25vbWlhbF9j b2VmZmljaWVudChtb24pIGZvciBtb24gaW4gW3gqKjIsIHgqeSwgeSoqMl1dCi0tICAgICAgICAg ICAgZWxpZiBpc2luc3RhbmNlKGEsIHBhcmlfZ2VuKSBhbmQgYS50eXBlKCkgaW4gKCd0X1FGSScs ICd0X1FGUicpOgotKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShhLCBwYXJpX2dlbikgYW5k IGEudHlwZSgpIGluICgndF9RRkknLCAndF9RRlInLCAndF9RRkInKToKLSAgICAgICAgICAgICAg ICAgIyBhIGhhcyAzIG9yIDQgY29tcG9uZW50cwotICAgICAgICAgICAgICAgICBhLCBiLCBjID0g YVswXSwgYVsxXSwgYVsyXQotICAgICAgICAgdHJ5OgotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3F1 YWRyYXRpY19mb3Jtcy9nZW5lcmEvZ2VudXMucHkgYi9zcmMvc2FnZS9xdWFkcmF0aWNfZm9ybXMv Z2VuZXJhL2dlbnVzLnB5Ci1pbmRleCA4MjkwYjZjNGZhLi4wZmM0M2YzM2M2IDEwMDY0NAotLS0t IGEvc3JjL3NhZ2UvcXVhZHJhdGljX2Zvcm1zL2dlbmVyYS9nZW51cy5weQotKysrIGIvc3JjL3Nh Z2UvcXVhZHJhdGljX2Zvcm1zL2dlbmVyYS9nZW51cy5weQotQEAgLTMwODgsOCArMzA4OCw4IEBA IGNsYXNzIEdlbnVzU3ltYm9sX2dsb2JhbF9yaW5nKCk6Ci0gICAgICAgICAgICAgc2FnZTogRyA9 IEdlbnVzKG1hdHJpeChaWiwgMywgWzYsMywwLCAzLDYsMCwgMCwwLDJdKSkKLSAgICAgICAgICAg ICBzYWdlOiBHLnJlcHJlc2VudGF0aXZlcygpCi0gICAgICAgICAgICAgKAotLSAgICAgICAgICAg IFsyIDAgMF0gIFsgMiAtMSAgMF0KLS0gICAgICAgICAgICBbMCA2IDNdICBbLTEgIDIgIDBdCi0r ICAgICAgICAgICAgWzIgMCAwXSAgWyAyICAxICAwXQotKyAgICAgICAgICAgIFswIDYgM10gIFsg MSAgMiAgMF0KLSAgICAgICAgICAgICBbMCAzIDZdLCBbIDAgIDAgMThdCi0gICAgICAgICAgICAg KQotIAotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3F1YWRyYXRpY19mb3Jtcy9xZnNvbHZlLnB5IGIv c3JjL3NhZ2UvcXVhZHJhdGljX2Zvcm1zL3Fmc29sdmUucHkKLWluZGV4IGRkZGU5NWUwNGYuLmQ1 ZTE1ZDlmODMgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9xdWFkcmF0aWNfZm9ybXMvcWZzb2x2ZS5w eQotKysrIGIvc3JjL3NhZ2UvcXVhZHJhdGljX2Zvcm1zL3Fmc29sdmUucHkKLUBAIC03MCw3ICs3 MCw3IEBAIGRlZiBxZnNvbHZlKEcpOgotIAotICAgICAgICAgc2FnZTogTSA9IE1hdHJpeChRUSwg W1szLCAwLCAwLCAwXSwgWzAsIDUsIDAsIDBdLCBbMCwgMCwgLTcsIDBdLCBbMCwgMCwgMCwgLTEx XV0pCi0gICAgICAgICBzYWdlOiBxZnNvbHZlKE0pCi0tICAgICAgICAoMywgLTQsIC0zLCAtMikK LSsgICAgICAgICgzLCA0LCAtMywgLTIpCi0gICAgICIiIgotICAgICByZXQgPSBHLl9fcGFyaV9f KCkucWZzb2x2ZSgpCi0gICAgIGlmIHJldC50eXBlKCkgPT0gJ3RfQ09MJzoKLWRpZmYgLS1naXQg YS9zcmMvc2FnZS9xdWFkcmF0aWNfZm9ybXMvcXVhZHJhdGljX2Zvcm1fX2F1dG9tb3JwaGlzbXMu cHkgYi9zcmMvc2FnZS9xdWFkcmF0aWNfZm9ybXMvcXVhZHJhdGljX2Zvcm1fX2F1dG9tb3JwaGlz bXMucHkKLWluZGV4IGMzNmM2NjdlM2IuLjNkNzJjZjNiZTEgMTAwNjQ0Ci0tLS0gYS9zcmMvc2Fn ZS9xdWFkcmF0aWNfZm9ybXMvcXVhZHJhdGljX2Zvcm1fX2F1dG9tb3JwaGlzbXMucHkKLSsrKyBi L3NyYy9zYWdlL3F1YWRyYXRpY19mb3Jtcy9xdWFkcmF0aWNfZm9ybV9fYXV0b21vcnBoaXNtcy5w eQotQEAgLTMwMCw5ICszMDAsOSBAQCBkZWYgYXV0b21vcnBoaXNtX2dyb3VwKHNlbGYpOgotICAg ICAgICAgc2FnZTogUSA9IERpYWdvbmFsUXVhZHJhdGljRm9ybShaWiwgWzEsMSwxXSkKLSAgICAg ICAgIHNhZ2U6IFEuYXV0b21vcnBoaXNtX2dyb3VwKCkKLSAgICAgICAgIE1hdHJpeCBncm91cCBv dmVyIFJhdGlvbmFsIEZpZWxkIHdpdGggMyBnZW5lcmF0b3JzICgKLS0gICAgICAgIFstMSAgMCAg MF0gIFswIDAgMV0gIFsgMCAgMCAgMV0KLS0gICAgICAgIFsgMCAtMSAgMF0gIFswIDEgMF0gIFst MSAgMCAgMF0KLS0gICAgICAgIFsgMCAgMCAtMV0sIFsxIDAgMF0sIFsgMCAgMSAgMF0KLSsgICAg ICAgIFsgMCAgMCAgMV0gIFsxIDAgMF0gIFsgMSAgMCAgMF0KLSsgICAgICAgIFstMSAgMCAgMF0g IFswIDAgMV0gIFsgMCAtMSAgMF0KLSsgICAgICAgIFsgMCAgMSAgMF0sIFswIDEgMF0sIFsgMCAg MCAgMV0KLSAgICAgICAgICkKLSAKLSAgICAgOjoKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9yaW5n cy9maW5pdGVfcmluZ3MvZmluaXRlX2ZpZWxkX3ByaW1lX21vZG4ucHkgYi9zcmMvc2FnZS9yaW5n cy9maW5pdGVfcmluZ3MvZmluaXRlX2ZpZWxkX3ByaW1lX21vZG4ucHkKLWluZGV4IDkxMjllY2I1 NmEuLmQ1YTRjYjhmMjIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9yaW5ncy9maW5pdGVfcmluZ3Mv ZmluaXRlX2ZpZWxkX3ByaW1lX21vZG4ucHkKLSsrKyBiL3NyYy9zYWdlL3JpbmdzL2Zpbml0ZV9y aW5ncy9maW5pdGVfZmllbGRfcHJpbWVfbW9kbi5weQotQEAgLTExMSw3ICsxMTEsNyBAQCBjbGFz cyBGaW5pdGVGaWVsZF9wcmltZV9tb2RuKEZpbml0ZUZpZWxkX2dlbmVyaWMsIGludGVnZXJfbW9k X3JpbmcuSW50ZWdlck1vZFJpbgotICAgICAgICAgICAgIHNhZ2U6IFJGMTMgPSBLLnJlc2lkdWVf ZmllbGQocHApCi0gICAgICAgICAgICAgc2FnZTogUkYxMy5ob20oW0dGKDEzKSgxKV0pCi0gICAg ICAgICAgICAgUmluZyBtb3JwaGlzbToKLS0gICAgICAgICAgICAgRnJvbTogUmVzaWR1ZSBmaWVs ZCBvZiBGcmFjdGlvbmFsIGlkZWFsICh3ICsgMTgpCi0rICAgICAgICAgICAgIEZyb206IFJlc2lk dWUgZmllbGQgb2YgRnJhY3Rpb25hbCBpZGVhbCAoLXcgLSAxOCkKLSAgICAgICAgICAgICAgVG86 ICAgRmluaXRlIEZpZWxkIG9mIHNpemUgMTMKLSAgICAgICAgICAgICAgRGVmbjogMSB8LS0+IDEK LSAKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9yaW5ncy9maW5pdGVfcmluZ3MvcmVzaWR1ZV9maWVs ZC5weXggYi9zcmMvc2FnZS9yaW5ncy9maW5pdGVfcmluZ3MvcmVzaWR1ZV9maWVsZC5weXgKLWlu ZGV4IDc1OTZmMmEzMDIuLjFlMTg2OWYxYjEgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9yaW5ncy9m aW5pdGVfcmluZ3MvcmVzaWR1ZV9maWVsZC5weXgKLSsrKyBiL3NyYy9zYWdlL3JpbmdzL2Zpbml0 ZV9yaW5ncy9yZXNpZHVlX2ZpZWxkLnB5eAotQEAgLTIwLDEzICsyMCwxMyBAQCBtb25vZ2VuaWMg KGkuZS4sIDIgaXMgYW4gZXNzZW50aWFsIGRpc2NyaW1pbmFudCBkaXZpc29yKTo6Ci0gCi0gICAg IHNhZ2U6IEsuPGE+ID0gTnVtYmVyRmllbGQoeF4zICsgeF4yIC0gMip4ICsgOCkKLSAgICAgc2Fn ZTogRiA9IEsuZmFjdG9yKDIpOyBGCi0tICAgIChGcmFjdGlvbmFsIGlkZWFsICgxLzIqYV4yIC0g MS8yKmEgKyAxKSkgKiAoRnJhY3Rpb25hbCBpZGVhbCAoLWFeMiArIDIqYSAtIDMpKSAqIChGcmFj dGlvbmFsIGlkZWFsICgtMy8yKmFeMiArIDUvMiphIC0gNCkpCi0rICAgIChGcmFjdGlvbmFsIGlk ZWFsICgtMS8yKmFeMiArIDEvMiphIC0gMSkpICogKEZyYWN0aW9uYWwgaWRlYWwgKC1hXjIgKyAy KmEgLSAzKSkgKiAoRnJhY3Rpb25hbCBpZGVhbCAoMy8yKmFeMiAtIDUvMiphICsgNCkpCi0gICAg IHNhZ2U6IEZbMF1bMF0ucmVzaWR1ZV9maWVsZCgpCi0tICAgIFJlc2lkdWUgZmllbGQgb2YgRnJh Y3Rpb25hbCBpZGVhbCAoMS8yKmFeMiAtIDEvMiphICsgMSkKLSsgICAgUmVzaWR1ZSBmaWVsZCBv ZiBGcmFjdGlvbmFsIGlkZWFsICgtMS8yKmFeMiArIDEvMiphIC0gMSkKLSAgICAgc2FnZTogRlsx XVswXS5yZXNpZHVlX2ZpZWxkKCkKLSAgICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlk ZWFsICgtYV4yICsgMiphIC0gMykKLSAgICAgc2FnZTogRlsyXVswXS5yZXNpZHVlX2ZpZWxkKCkK LS0gICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgtMy8yKmFeMiArIDUvMiph IC0gNCkKLSsgICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgzLzIqYV4yIC0g NS8yKmEgKyA0KQotIAotIFdlIGNhbiBhbHNvIGZvcm0gcmVzaWR1ZSBmaWVsZHMgZnJvbSBgXFpa YDo6Ci0gCi1AQCAtMjU4LDkgKzI1OCw5IEBAIGNsYXNzIFJlc2lkdWVGaWVsZEZhY3RvcnkoVW5p cXVlRmFjdG9yeSk6Ci0gICAgIHRoZSBpbmRleCBvZiBgYFpaW2FdYGAgaW4gdGhlIG1heGltYWwg b3JkZXIgZm9yIGFsbCBgYGFgYDo6Ci0gCi0gICAgICAgICBzYWdlOiBLLjxhPiA9IE51bWJlckZp ZWxkKHheMyArIHheMiAtIDIqeCArIDgpOyBQID0gSy5pZGVhbCgyKS5mYWN0b3IoKVswXVswXTsg UAotLSAgICAgICAgRnJhY3Rpb25hbCBpZGVhbCAoMS8yKmFeMiAtIDEvMiphICsgMSkKLSsgICAg ICAgIEZyYWN0aW9uYWwgaWRlYWwgKC0xLzIqYV4yICsgMS8yKmEgLSAxKQotICAgICAgICAgc2Fn ZTogRiA9IEsucmVzaWR1ZV9maWVsZChQKTsgRgotLSAgICAgICAgUmVzaWR1ZSBmaWVsZCBvZiBG cmFjdGlvbmFsIGlkZWFsICgxLzIqYV4yIC0gMS8yKmEgKyAxKQotKyAgICAgICAgUmVzaWR1ZSBm aWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgtMS8yKmFeMiArIDEvMiphIC0gMSkKLSAgICAgICAg IHNhZ2U6IEYoYSkKLSAgICAgICAgIDAKLSAgICAgICAgIHNhZ2U6IEIgPSBLLm1heGltYWxfb3Jk ZXIoKS5iYXNpcygpOyBCCi1AQCAtMjcwLDcgKzI3MCw3IEBAIGNsYXNzIFJlc2lkdWVGaWVsZEZh Y3RvcnkoVW5pcXVlRmFjdG9yeSk6Ci0gICAgICAgICBzYWdlOiBGKEJbMl0pCi0gICAgICAgICAw Ci0gICAgICAgICBzYWdlOiBGCi0tICAgICAgICBSZXNpZHVlIGZpZWxkIG9mIEZyYWN0aW9uYWwg aWRlYWwgKDEvMiphXjIgLSAxLzIqYSArIDEpCi0rICAgICAgICBSZXNpZHVlIGZpZWxkIG9mIEZy YWN0aW9uYWwgaWRlYWwgKC0xLzIqYV4yICsgMS8yKmEgLSAxKQotICAgICAgICAgc2FnZTogRi5k ZWdyZWUoKQotICAgICAgICAgMQotIAotQEAgLTczMCwxNSArNzMwLDE1IEBAIGNsYXNzIFJlc2lk dWVGaWVsZF9nZW5lcmljKEZpZWxkKToKLSAgICAgICAgIEVYQU1QTEVTOjoKLSAKLSAgICAgICAg ICAgICBzYWdlOiBJID0gUVFbM14oMS8zKV0uZmFjdG9yKDUpWzFdWzBdOyBJCi0tICAgICAgICAg ICAgRnJhY3Rpb25hbCBpZGVhbCAoLWEgKyAyKQotKyAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRl YWwgKGEgLSAyKQotICAgICAgICAgICAgIHNhZ2U6IGsgPSBJLnJlc2lkdWVfZmllbGQoKTsgawot LSAgICAgICAgICAgIFJlc2lkdWUgZmllbGQgb2YgRnJhY3Rpb25hbCBpZGVhbCAoLWEgKyAyKQot KyAgICAgICAgICAgIFJlc2lkdWUgZmllbGQgb2YgRnJhY3Rpb25hbCBpZGVhbCAoYSAtIDIpCi0g ICAgICAgICAgICAgc2FnZTogZiA9IGsubGlmdF9tYXAoKTsgZgotICAgICAgICAgICAgIExpZnRp bmcgbWFwOgotLSAgICAgICAgICAgICAgRnJvbTogUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFs IGlkZWFsICgtYSArIDIpCi0rICAgICAgICAgICAgICBGcm9tOiBSZXNpZHVlIGZpZWxkIG9mIEZy YWN0aW9uYWwgaWRlYWwgKGEgLSAyKQotICAgICAgICAgICAgICAgVG86ICAgTWF4aW1hbCBPcmRl ciBpbiBOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRlZmluaW5nIHBvbHlub21pYWwgeF4zIC0gMyB3 aXRoIGEgPSAxLjQ0MjI0OTU3MDMwNzQwOT8KLSAgICAgICAgICAgICBzYWdlOiBmLmRvbWFpbigp Ci0tICAgICAgICAgICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgtYSArIDIp Ci0rICAgICAgICAgICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsIChhIC0gMikK LSAgICAgICAgICAgICBzYWdlOiBmLmNvZG9tYWluKCkKLSAgICAgICAgICAgICBNYXhpbWFsIE9y ZGVyIGluIE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB4XjMgLSAz IHdpdGggYSA9IDEuNDQyMjQ5NTcwMzA3NDA5PwotICAgICAgICAgICAgIHNhZ2U6IGYoay4wKQot QEAgLTc2OCw3ICs3NjgsNyBAQCBjbGFzcyBSZXNpZHVlRmllbGRfZ2VuZXJpYyhGaWVsZCk6Ci0g Ci0gICAgICAgICAgICAgc2FnZTogSy48YT4gPSBOdW1iZXJGaWVsZCh4XjMtMTEpCi0gICAgICAg ICAgICAgc2FnZTogRiA9IEsuaWRlYWwoMzcpLmZhY3RvcigpOyBGCi0tICAgICAgICAgICAgKEZy YWN0aW9uYWwgaWRlYWwgKDM3LCBhICsgOSkpICogKEZyYWN0aW9uYWwgaWRlYWwgKDM3LCBhICsg MTIpKSAqIChGcmFjdGlvbmFsIGlkZWFsICgyKmEgLSA1KSkKLSsgICAgICAgICAgICAoRnJhY3Rp b25hbCBpZGVhbCAoMzcsIGEgKyA5KSkgKiAoRnJhY3Rpb25hbCBpZGVhbCAoMzcsIGEgKyAxMikp ICogKEZyYWN0aW9uYWwgaWRlYWwgKC0yKmEgKyA1KSkKLSAgICAgICAgICAgICBzYWdlOiBrID0g Sy5yZXNpZHVlX2ZpZWxkKEZbMF1bMF0pCi0gICAgICAgICAgICAgc2FnZTogbCA9IEsucmVzaWR1 ZV9maWVsZChGWzFdWzBdKQotICAgICAgICAgICAgIHNhZ2U6IGsgPT0gbAotQEAgLTg0Niw3ICs4 NDYsNyBAQCBjZGVmIGNsYXNzIFJlZHVjdGlvbk1hcChNYXApOgotICAgICAgICAgICAgIHNhZ2U6 IEYucmVkdWN0aW9uX21hcCgpCi0gICAgICAgICAgICAgUGFydGlhbGx5IGRlZmluZWQgcmVkdWN0 aW9uIG1hcDoKLSAgICAgICAgICAgICAgIEZyb206IE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVm aW5pbmcgcG9seW5vbWlhbCB4XjMgKyB4XjIgLSAyKnggKyA4Ci0tICAgICAgICAgICAgICBUbzog ICBSZXNpZHVlIGZpZWxkIG9mIEZyYWN0aW9uYWwgaWRlYWwgKDEvMiphXjIgLSAxLzIqYSArIDEp Ci0rICAgICAgICAgICAgICBUbzogICBSZXNpZHVlIGZpZWxkIG9mIEZyYWN0aW9uYWwgaWRlYWwg KC0xLzIqYV4yICsgMS8yKmEgLSAxKQotIAotICAgICAgICAgICAgIHNhZ2U6IEsuPHRoZXRhXzU+ ID0gQ3ljbG90b21pY0ZpZWxkKDUpCi0gICAgICAgICAgICAgc2FnZTogRiA9IEsuZmFjdG9yKDcp WzBdWzBdLnJlc2lkdWVfZmllbGQoKQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JpbmdzL251bWJl cl9maWVsZC9TX3VuaXRfc29sdmVyLnB5IGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL1Nf dW5pdF9zb2x2ZXIucHkKLWluZGV4IGU5OWRmZjg1MGYuLjc1OWNiZmIzMzQgMTAwNjQ0Ci0tLS0g YS9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQvU191bml0X3NvbHZlci5weQotKysrIGIvc3Jj L3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL1NfdW5pdF9zb2x2ZXIucHkKLUBAIC0xNzgxLDIwICsx NzgxLDIwIEBAIGRlZiBzaWV2ZV9vcmRlcmluZyhTVUssIHEpOgotICAgICAgICAgc2FnZTogU1VL ID0gSy5TX3VuaXRfZ3JvdXAoUz0zKQotICAgICAgICAgc2FnZTogc2lldmVfZGF0YSA9IGxpc3Qo c2lldmVfb3JkZXJpbmcoU1VLLCAxOSkpCi0gICAgICAgICBzYWdlOiBzaWV2ZV9kYXRhWzBdCi0t ICAgICAgICAoRnJhY3Rpb25hbCBpZGVhbCAoeGkgLSAzKSwKLS0gICAgICAgICBGcmFjdGlvbmFs IGlkZWFsICgtMip4aV4yICsgMyksCi0rICAgICAgICAoRnJhY3Rpb25hbCBpZGVhbCAoLTIqeGle MiArIDMpLAotKyAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKC14aSArIDMpLAotICAgICAgICAg IEZyYWN0aW9uYWwgaWRlYWwgKDIqeGkgKyAxKSkKLSAKLSAgICAgICAgIHNhZ2U6IHNpZXZlX2Rh dGFbMV0KLS0gICAgICAgIChSZXNpZHVlIGZpZWxkIG9mIEZyYWN0aW9uYWwgaWRlYWwgKHhpIC0g MyksCi0tICAgICAgICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgtMip4aV4y ICsgMyksCi0rICAgICAgICAoUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgtMip4 aV4yICsgMyksCi0rICAgICAgICAgUmVzaWR1ZSBmaWVsZCBvZiBGcmFjdGlvbmFsIGlkZWFsICgt eGkgKyAzKSwKLSAgICAgICAgICBSZXNpZHVlIGZpZWxkIG9mIEZyYWN0aW9uYWwgaWRlYWwgKDIq eGkgKyAxKSkKLSAKLSAgICAgICAgIHNhZ2U6IHNpZXZlX2RhdGFbMl0KLS0gICAgICAgIChbMTgs IDcsIDE2LCA0XSwgWzE4LCA5LCAxMiwgOF0sIFsxOCwgMywgMTAsIDEwXSkKLSsgICAgICAgIChb MTgsIDEyLCAxNiwgOF0sIFsxOCwgMTYsIDEwLCA0XSwgWzE4LCAxMCwgMTIsIDEwXSkKLSAKLSAg ICAgICAgIHNhZ2U6IHNpZXZlX2RhdGFbM10KLS0gICAgICAgICg0ODYsIDY0OCwgMTE2NjQpCi0r ICAgICAgICAoNjQ4LCAyOTE2LCAzODg4KQotICAgICAiIiIKLSAKLSAgICAgSyA9IFNVSy5udW1i ZXJfZmllbGQoKQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9iZGRf aGVpZ2h0LnB5IGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL2JkZF9oZWlnaHQucHkKLWlu ZGV4IGJlYjA0N2FlMDIuLmI3YzhjMzNkMGIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9yaW5ncy9u dW1iZXJfZmllbGQvYmRkX2hlaWdodC5weQotKysrIGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2Zp ZWxkL2JkZF9oZWlnaHQucHkKLUBAIC0yNDgsNyArMjQ4LDcgQEAgZGVmIGJkZF9ub3JtX3ByX2lk ZWFsX2dlbnMoSywgbm9ybV9saXN0KToKLSAgICAgICAgIHNhZ2U6IGZyb20gc2FnZS5yaW5ncy5u dW1iZXJfZmllbGQuYmRkX2hlaWdodCBpbXBvcnQgYmRkX25vcm1fcHJfaWRlYWxfZ2VucwotICAg ICAgICAgc2FnZTogSy48Zz4gPSBRdWFkcmF0aWNGaWVsZCgxMjMpCi0gICAgICAgICBzYWdlOiBi ZGRfbm9ybV9wcl9pZGVhbF9nZW5zKEssIHJhbmdlKDUpKQotLSAgICAgICAgezA6IFswXSwgMTog WzFdLCAyOiBbLWcgLSAxMV0sIDM6IFtdLCA0OiBbMl19Ci0rICAgICAgICB7MDogWzBdLCAxOiBb MV0sIDI6IFtnICsgMTFdLCAzOiBbXSwgNDogWzJdfQotIAotICAgICA6OgotIAotZGlmZiAtLWdp dCBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9jbGFzc19ncm91cC5weSBiL3NyYy9zYWdl L3JpbmdzL251bWJlcl9maWVsZC9jbGFzc19ncm91cC5weQotaW5kZXggMDE4ZmY1ZjVjNi4uNzNj MDQ2MmNkMSAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9jbGFzc19n cm91cC5weQotKysrIGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL2NsYXNzX2dyb3VwLnB5 Ci1AQCAtMjIxLDExICsyMjEsMTEgQEAgY2xhc3MgRnJhY3Rpb25hbElkZWFsQ2xhc3MoQWJlbGlh bkdyb3VwV2l0aFZhbHVlc0VsZW1lbnQpOgotICAgICAgICAgICAgIENsYXNzIGdyb3VwIG9mIG9y ZGVyIDc2IHdpdGggc3RydWN0dXJlIEMzOCB4IEMyCi0gICAgICAgICAgICAgb2YgTnVtYmVyIEZp ZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHheMiArIDIwMDcyCi0gICAgICAgICAg ICAgc2FnZTogSSA9IChHLjApXjExOyBJCi0tICAgICAgICAgICAgRnJhY3Rpb25hbCBpZGVhbCBj bGFzcyAoNDEsIDEvMiphICsgNSkKLSsgICAgICAgICAgICBGcmFjdGlvbmFsIGlkZWFsIGNsYXNz ICgzMywgMS8yKmEgKyA4KQotICAgICAgICAgICAgIHNhZ2U6IEogPSBHKEkuaWRlYWwoKV41KTsg SgotLSAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgY2xhc3MgKDExNTg1NjIwMSwgMS8yKmEg KyA0MDQwNzg4MykKLSsgICAgICAgICAgICBGcmFjdGlvbmFsIGlkZWFsIGNsYXNzICgzOTEzNTM5 MywgMS8yKmEgKyAxMzY1NDI1MykKLSAgICAgICAgICAgICBzYWdlOiBKLnJlZHVjZSgpCi0tICAg ICAgICAgICAgRnJhY3Rpb25hbCBpZGVhbCBjbGFzcyAoNTcsIDEvMiphICsgNDQpCi0rICAgICAg ICAgICAgRnJhY3Rpb25hbCBpZGVhbCBjbGFzcyAoNzMsIDEvMiphICsgNDcpCi0gICAgICAgICAg ICAgc2FnZTogSiA9PSBJXjUKLSAgICAgICAgICAgICBUcnVlCi0gICAgICAgICAiIiIKLWRpZmYg LS1naXQgYS9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQvZ2Fsb2lzX2dyb3VwLnB5IGIvc3Jj L3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL2dhbG9pc19ncm91cC5weQotaW5kZXggNzlhY2QwNTNi Yi4uZTA2MDE0OGU0ZCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9n YWxvaXNfZ3JvdXAucHkKLSsrKyBiL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9nYWxvaXNf Z3JvdXAucHkKLUBAIC05NDQsNyArOTQ0LDcgQEAgY2xhc3MgR2Fsb2lzR3JvdXBfdjIoR2Fsb2lz R3JvdXBfcGVybSk6Ci0gICAgICAgICAgICAgc2FnZTogSy48Yj4gPSBOdW1iZXJGaWVsZCh4XjQg LSAyKnheMiArIDIsICdhJykuZ2Fsb2lzX2Nsb3N1cmUoKQotICAgICAgICAgICAgIHNhZ2U6IEcg PSBLLmdhbG9pc19ncm91cCgpCi0gICAgICAgICAgICAgc2FnZTogW0cuYXJ0aW5fc3ltYm9sKFAp IGZvciBQIGluIEsucHJpbWVzX2Fib3ZlKDcpXQotLSAgICAgICAgICAgIFsoMSw1KSgyLDYpKDMs NykoNCw4KSwgKDEsNSkoMiw2KSgzLDcpKDQsOCksICgxLDQpKDIsMykoNSw4KSg2LDcpLCAoMSw0 KSgyLDMpKDUsOCkoNiw3KV0KLSsgICAgICAgICAgICBbKDEsNCkoMiwzKSg1LDgpKDYsNyksICgx LDQpKDIsMykoNSw4KSg2LDcpLCAoMSw1KSgyLDYpKDMsNykoNCw4KSwgKDEsNSkoMiw2KSgzLDcp KDQsOCldCi0gICAgICAgICAgICAgc2FnZTogRy5hcnRpbl9zeW1ib2woMTcpCi0gICAgICAgICAg ICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotICAgICAgICAgICAgIC4uLgot ZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9udW1iZXJfZmllbGQucHkg Yi9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkLnB5Ci1pbmRleCA1ODQ2 M2Q1NzBkLi5mZjY1NjM0ZTk5IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2Zp ZWxkL251bWJlcl9maWVsZC5weQotKysrIGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251 bWJlcl9maWVsZC5weQotQEAgLTM2NDMsNyArMzY0Myw3IEBAIGNsYXNzIE51bWJlckZpZWxkX2dl bmVyaWMoV2l0aEVxdWFsaXR5QnlJZCwgbnVtYmVyX2ZpZWxkX2Jhc2UuTnVtYmVyRmllbGQpOgot ICAgICAgICAgICAgIHNhZ2U6IEwuPGI+ID0gSy5leHRlbnNpb24oeF4yIC0gMywgeF4yICsgMSkK LSAgICAgICAgICAgICBzYWdlOiBNLjxjPiA9IEwuZXh0ZW5zaW9uKHheMiArIDEpCi0gICAgICAg ICAgICAgc2FnZTogTC5pZGVhbChLLmlkZWFsKDIsIGEpKQotLSAgICAgICAgICAgIEZyYWN0aW9u YWwgaWRlYWwgKC1hKQotKyAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKGEpCi0gICAgICAg ICAgICAgc2FnZTogTS5pZGVhbChLLmlkZWFsKDIsIGEpKSA9PSBNLmlkZWFsKGEqKGIgLSBjKS8y KQotICAgICAgICAgICAgIFRydWUKLSAKLUBAIC00MjI3LDcgKzQyMjcsOCBAQCBjbGFzcyBOdW1i ZXJGaWVsZF9nZW5lcmljKFdpdGhFcXVhbGl0eUJ5SWQsIG51bWJlcl9maWVsZF9iYXNlLk51bWJl ckZpZWxkKToKLSAgICAgICAgICAgICAoeV4yICsgNiwgTW9kKDEvNip5LCB5XjIgKyA2KSwgTW9k KDYqeSwgeV4yICsgMS82KSkKLSAgICAgICAgICIiIgotICAgICAgICAgZiA9IHNlbGYuYWJzb2x1 dGVfcG9seW5vbWlhbCgpLl9wYXJpX3dpdGhfbmFtZSgneScpCi0tICAgICAgICBpZiBmLnBvbGxl YWQoKSA9PSBmLmNvbnRlbnQoKS5kZW5vbWluYXRvcigpID09IDE6Ci0rICAgICAgICBmID0gZiAq IGYuY29udGVudCgpLmRlbm9taW5hdG9yKCkKLSsgICAgICAgIGlmIGYucG9sbGVhZCgpID09IDE6 Ci0gICAgICAgICAgICAgZyA9IGYKLSAgICAgICAgICAgICBhbHBoYSA9IGJldGEgPSBnLnZhcmlh YmxlKCkuTW9kKGcpCi0gICAgICAgICBlbHNlOgotQEAgLTQ4MjEsNyArNDgyMiw3IEBAIGNsYXNz IE51bWJlckZpZWxkX2dlbmVyaWMoV2l0aEVxdWFsaXR5QnlJZCwgbnVtYmVyX2ZpZWxkX2Jhc2Uu TnVtYmVyRmllbGQpOgotIAotICAgICAgICAgICAgIHNhZ2U6IEsuPGE+ID0gTnVtYmVyRmllbGQo Mip4XjIgLSAxLzMpCi0gICAgICAgICAgICAgc2FnZTogSy5fU19jbGFzc19ncm91cF9hbmRfdW5p dHModHVwbGUoSy5wcmltZXNfYWJvdmUoMikgKyBLLnByaW1lc19hYm92ZSgzKSkpCi0tICAgICAg ICAgICAgKFstNiphICsgMiwgNiphICsgMywgLTEsIDEyKmEgKyA1XSwgW10pCi0rICAgICAgICAg ICAgKFs2KmEgKyAyLCA2KmEgKyAzLCAtMSwgLTEyKmEgKyA1XSwgW10pCi0gICAgICAgICAiIiIK LSAgICAgICAgIEtfcGFyaSA9IHNlbGYucGFyaV9ibmYocHJvb2Y9cHJvb2YpCi0gICAgICAgICBT X3BhcmkgPSBbcC5wYXJpX3ByaW1lKCkgZm9yIHAgaW4gc29ydGVkKHNldChTKSldCi1AQCAtNTE2 Niw3ICs1MTY3LDcgQEAgY2xhc3MgTnVtYmVyRmllbGRfZ2VuZXJpYyhXaXRoRXF1YWxpdHlCeUlk LCBudW1iZXJfZmllbGRfYmFzZS5OdW1iZXJGaWVsZCk6Ci0gCi0gICAgICAgICAgICAgc2FnZTog W0suaWRlYWwoZykuZmFjdG9yKCkgZm9yIGcgaW4gZ2Vuc10KLSAgICAgICAgICAgICBbKEZyYWN0 aW9uYWwgaWRlYWwgKDIsIGEgKyAxKSkgKiAoRnJhY3Rpb25hbCBpZGVhbCAoMywgYSArIDEpKSwK LS0gICAgICAgICAgICBGcmFjdGlvbmFsIGlkZWFsICgtYSksCi0rICAgICAgICAgICAgRnJhY3Rp b25hbCBpZGVhbCAoYSksCi0gICAgICAgICAgICAgKEZyYWN0aW9uYWwgaWRlYWwgKDIsIGEgKyAx KSleMiwKLSAgICAgICAgICAgICAxXQotIAotQEAgLTU3NTEsNyArNTc1Miw3IEBAIGNsYXNzIE51 bWJlckZpZWxkX2dlbmVyaWMoV2l0aEVxdWFsaXR5QnlJZCwgbnVtYmVyX2ZpZWxkX2Jhc2UuTnVt YmVyRmllbGQpOgotICAgICAgICAgICAgIHNhZ2U6IEsuZWxlbWVudHNfb2Zfbm9ybSgzKQotICAg ICAgICAgICAgIFtdCi0gICAgICAgICAgICAgc2FnZTogSy5lbGVtZW50c19vZl9ub3JtKDUwKQot LSAgICAgICAgICAgIFstNyphICsgMSwgNSphIC0gNSwgNyphICsgMV0KLSsgICAgICAgICAgICBb LWEgLSA3LCA1KmEgLSA1LCA3KmEgKyAxXQotIAotICAgICAgICAgVEVTVFM6Ci0gCi1AQCAtNTg2 Myw3ICs1ODY0LDcgQEAgY2xhc3MgTnVtYmVyRmllbGRfZ2VuZXJpYyhXaXRoRXF1YWxpdHlCeUlk LCBudW1iZXJfZmllbGRfYmFzZS5OdW1iZXJGaWVsZCk6Ci0gICAgICAgICAgICAgc2FnZTogSy5m YWN0b3IoMSthKQotICAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKGEgKyAxKQotICAgICAg ICAgICAgIHNhZ2U6IEsuZmFjdG9yKDErYS81KQotLSAgICAgICAgICAgIChGcmFjdGlvbmFsIGlk ZWFsIChhICsgMSkpICogKEZyYWN0aW9uYWwgaWRlYWwgKC1hIC0gMikpXi0xICogKEZyYWN0aW9u YWwgaWRlYWwgKDIqYSArIDEpKV4tMSAqIChGcmFjdGlvbmFsIGlkZWFsICgtMyphIC0gMikpCi0r ICAgICAgICAgICAgKEZyYWN0aW9uYWwgaWRlYWwgKGEgKyAxKSkgKiAoRnJhY3Rpb25hbCBpZGVh bCAoLWEgLSAyKSleLTEgKiAoRnJhY3Rpb25hbCBpZGVhbCAoMiphICsgMSkpXi0xICogKEZyYWN0 aW9uYWwgaWRlYWwgKC0yKmEgKyAzKSkKLSAKLSAgICAgICAgIEFuIGV4YW1wbGUgb3ZlciBhIHJl bGF0aXZlIG51bWJlciBmaWVsZDo6Ci0gCi1AQCAtNjQ2MCw5ICs2NDYxLDkgQEAgY2xhc3MgTnVt YmVyRmllbGRfZ2VuZXJpYyhXaXRoRXF1YWxpdHlCeUlkLCBudW1iZXJfZmllbGRfYmFzZS5OdW1i ZXJGaWVsZCk6Ci0gICAgICAgICAgICAgc2FnZTogbmV3X2Jhc2lzID0gay5yZWR1Y2VkX2Jhc2lz KHByZWM9MTIwKQotICAgICAgICAgICAgIHNhZ2U6IFtjLm1pbnBvbHkoKSBmb3IgYyBpbiBuZXdf YmFzaXNdCi0gICAgICAgICAgICAgW3ggLSAxLAotLSAgICAgICAgICAgICB4XjIgLSB4ICsgMSwK LSsgICAgICAgICAgICAgeF4yICsgeCArIDEsCi0rICAgICAgICAgICAgIHheNiArIDMqeF41IC0g MTAyKnheNCAtIDEwMyp4XjMgKyAxMDU3Mip4XjIgLSA1OTkxOSp4ICsgMTI3NjU3LAotICAgICAg ICAgICAgICB4XjYgKyAzKnheNSAtIDEwMip4XjQgLSAxMDMqeF4zICsgMTA1NzIqeF4yIC0gNTk5 MTkqeCArIDEyNzY1NywKLS0gICAgICAgICAgICAgeF42IC0gMyp4XjUgLSAxMDIqeF40ICsgMzE1 KnheMyArIDEwMjU0KnheMiAtIDgwOTU1KnggKyAxOTgxNDcsCi0gICAgICAgICAgICAgIHheMyAt IDE3MSp4ICsgODQ4LAotICAgICAgICAgICAgICB4XjYgKyAxNzEqeF40ICsgMTY5Nip4XjMgKyAy OTI0MSp4XjIgKyAxNDUwMDgqeCArIDcxOTEwNF0KLSAgICAgICAgICAgICBzYWdlOiBSID0gay5v cmRlcihuZXdfYmFzaXMpCi1AQCAtNzA1OCw3ICs3MDU5LDcgQEAgY2xhc3MgTnVtYmVyRmllbGRf Z2VuZXJpYyhXaXRoRXF1YWxpdHlCeUlkLCBudW1iZXJfZmllbGRfYmFzZS5OdW1iZXJGaWVsZCk6 Ci0gICAgICAgICAgICAgIC1hXjE2IC0gYV4xNSAtIGFeMTQgLSBhXjEzIC0gYV4xMiAtIGFeMTEg LSBhXjEwIC0gYV45IC0gYV44IC0gYV43IC0gYV42IC0gYV41IC0gYV40IC0gYV4zIC0gYV4yICsg MiwKLSAgICAgICAgICAgICAgLTIqYV4xNiArIDMqYV4xNSAtIDMqYV4xNCArIDMqYV4xMyAtIDMq YV4xMiArIGFeMTEgLSBhXjkgKyAzKmFeOCAtIDQqYV43ICsgNSphXjYgLSA2KmFeNSArIDQqYV40 IC0gMyphXjMgKyAyKmFeMiArIDIqYSAtIDQsCi0gICAgICAgICAgICAgIGFeMTUgLSBhXjEyICsg YV4xMCAtIGFeOSAtIDIqYV44ICsgMyphXjcgKyBhXjYgLSAzKmFeNSArIGFeNCArIDQqYV4zIC0g MyphXjIgLSAyKmEgKyAyLAotLSAgICAgICAgICAgICAtYV4xNCAtIGFeMTMgKyBhXjEyICsgMiph XjEwICsgYV44IC0gMiphXjcgLSAyKmFeNiArIDIqYV4zIC0gYV4yICsgMiphIC0gMikKLSsgICAg ICAgICAgICAgMiphXjE2ICsgYV4xNSAtIGFeMTEgLSAzKmFeMTAgLSA0KmFeOSAtIDQqYV44IC0g NCphXjcgLSA1KmFeNiAtIDcqYV41IC0gOCphXjQgLSA2KmFeMyAtIDUqYV4yIC0gNiphIC0gNykK LSAKLSAgICAgICAgIFRFU1RTOgotIAotQEAgLTcwNjcsNyArNzA2OCw3IEBAIGNsYXNzIE51bWJl ckZpZWxkX2dlbmVyaWMoV2l0aEVxdWFsaXR5QnlJZCwgbnVtYmVyX2ZpZWxkX2Jhc2UuTnVtYmVy RmllbGQpOgotIAotICAgICAgICAgICAgIHNhZ2U6IEsuPGE+ID0gTnVtYmVyRmllbGQoMS8yKnhe MiAtIDEvNikKLSAgICAgICAgICAgICBzYWdlOiBLLnVuaXRzKCkKLS0gICAgICAgICAgICAoLTMq YSArIDIsKQotKyAgICAgICAgICAgICgzKmEgLSAyLCkKLSAgICAgICAgICIiIgotICAgICAgICAg cHJvb2YgPSBwcm9vZl9mbGFnKHByb29mKQotIAotQEAgLTcxNDYsNyArNzE0Nyw3IEBAIGNsYXNz IE51bWJlckZpZWxkX2dlbmVyaWMoV2l0aEVxdWFsaXR5QnlJZCwgbnVtYmVyX2ZpZWxkX2Jhc2Uu TnVtYmVyRmllbGQpOgotICAgICAgICAgICAgIHNhZ2U6IFUuZ2VucygpCi0gICAgICAgICAgICAg KHUwLCB1MSwgdTIsIHUzLCB1NCwgdTUsIHU2LCB1NywgdTgpCi0gICAgICAgICAgICAgc2FnZTog VS5nZW5zX3ZhbHVlcygpICAjIHJlc3VsdCBub3QgaW5kZXBlbmRlbnRseSB2ZXJpZmllZAotLSAg ICAgICAgICAgIFstMSwgLWFeOSAtIGEgKyAxLCAtYV4xNiArIGFeMTUgLSBhXjE0ICsgYV4xMiAt IGFeMTEgKyBhXjEwICsgYV44IC0gYV43ICsgMiphXjYgLSBhXjQgKyAzKmFeMyAtIDIqYV4yICsg MiphIC0gMSwgMiphXjE2IC0gYV4xNCAtIGFeMTMgKyAzKmFeMTIgLSAyKmFeMTAgKyBhXjkgKyAz KmFeOCAtIDMqYV42ICsgMyphXjUgKyAzKmFeNCAtIDIqYV4zIC0gMiphXjIgKyAzKmEgKyA0LCBh XjE1ICsgYV4xNCArIDIqYV4xMSArIGFeMTAgLSBhXjkgKyBhXjggKyAyKmFeNyAtIGFeNSArIDIq YV4zIC0gYV4yIC0gMyphICsgMSwgLWFeMTYgLSBhXjE1IC0gYV4xNCAtIGFeMTMgLSBhXjEyIC0g YV4xMSAtIGFeMTAgLSBhXjkgLSBhXjggLSBhXjcgLSBhXjYgLSBhXjUgLSBhXjQgLSBhXjMgLSBh XjIgKyAyLCAtMiphXjE2ICsgMyphXjE1IC0gMyphXjE0ICsgMyphXjEzIC0gMyphXjEyICsgYV4x MSAtIGFeOSArIDMqYV44IC0gNCphXjcgKyA1KmFeNiAtIDYqYV41ICsgNCphXjQgLSAzKmFeMyAr IDIqYV4yICsgMiphIC0gNCwgYV4xNSAtIGFeMTIgKyBhXjEwIC0gYV45IC0gMiphXjggKyAzKmFe NyArIGFeNiAtIDMqYV41ICsgYV40ICsgNCphXjMgLSAzKmFeMiAtIDIqYSArIDIsIC1hXjE0IC0g YV4xMyArIGFeMTIgKyAyKmFeMTAgKyBhXjggLSAyKmFeNyAtIDIqYV42ICsgMiphXjMgLSBhXjIg KyAyKmEgLSAyXQotKyAgICAgICAgICAgIFstMSwgLWFeOSAtIGEgKyAxLCAtYV4xNiArIGFeMTUg LSBhXjE0ICsgYV4xMiAtIGFeMTEgKyBhXjEwICsgYV44IC0gYV43ICsgMiphXjYgLSBhXjQgKyAz KmFeMyAtIDIqYV4yICsgMiphIC0gMSwgMiphXjE2IC0gYV4xNCAtIGFeMTMgKyAzKmFeMTIgLSAy KmFeMTAgKyBhXjkgKyAzKmFeOCAtIDMqYV42ICsgMyphXjUgKyAzKmFeNCAtIDIqYV4zIC0gMiph XjIgKyAzKmEgKyA0LCBhXjE1ICsgYV4xNCArIDIqYV4xMSArIGFeMTAgLSBhXjkgKyBhXjggKyAy KmFeNyAtIGFeNSArIDIqYV4zIC0gYV4yIC0gMyphICsgMSwgLWFeMTYgLSBhXjE1IC0gYV4xNCAt IGFeMTMgLSBhXjEyIC0gYV4xMSAtIGFeMTAgLSBhXjkgLSBhXjggLSBhXjcgLSBhXjYgLSBhXjUg LSBhXjQgLSBhXjMgLSBhXjIgKyAyLCAtMiphXjE2ICsgMyphXjE1IC0gMyphXjE0ICsgMyphXjEz IC0gMyphXjEyICsgYV4xMSAtIGFeOSArIDMqYV44IC0gNCphXjcgKyA1KmFeNiAtIDYqYV41ICsg NCphXjQgLSAzKmFeMyArIDIqYV4yICsgMiphIC0gNCwgYV4xNSAtIGFeMTIgKyBhXjEwIC0gYV45 IC0gMiphXjggKyAzKmFeNyArIGFeNiAtIDMqYV41ICsgYV40ICsgNCphXjMgLSAzKmFeMiAtIDIq YSArIDIsIDIqYV4xNiArIGFeMTUgLSBhXjExIC0gMyphXjEwIC0gNCphXjkgLSA0KmFeOCAtIDQq YV43IC0gNSphXjYgLSA3KmFeNSAtIDgqYV40IC0gNiphXjMgLSA1KmFeMiAtIDYqYSAtIDddCi0g ICAgICAgICAiIiIKLSAgICAgICAgIHByb29mID0gcHJvb2ZfZmxhZyhwcm9vZikKLSAKLWRpZmYg LS1naXQgYS9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkX2VsZW1lbnQu cHl4IGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9lbGVtZW50LnB5 eAotaW5kZXggNzg0YzIzOWRjMS4uYWE3NDAwNjlkYyAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3Jp bmdzL251bWJlcl9maWVsZC9udW1iZXJfZmllbGRfZWxlbWVudC5weXgKLSsrKyBiL3NyYy9zYWdl L3JpbmdzL251bWJlcl9maWVsZC9udW1iZXJfZmllbGRfZWxlbWVudC5weXgKLUBAIC00NDQ2LDcg KzQ0NDYsNyBAQCBjZGVmIGNsYXNzIE51bWJlckZpZWxkRWxlbWVudChGaWVsZEVsZW1lbnQpOgot ICAgICAgICAgICAgIHNhZ2U6IGYgPSBRaS5lbWJlZGRpbmdzKEspWzBdCi0gICAgICAgICAgICAg c2FnZTogYSA9IGYoMiszKmkpICogKDItemV0YSleMgotICAgICAgICAgICAgIHNhZ2U6IGEuZGVz Y2VuZF9tb2RfcG93ZXIoUWksMikKLS0gICAgICAgICAgICBbLTMqaSAtIDIsIC0yKmkgKyAzXQot KyAgICAgICAgICAgIFstMippICsgMywgMyppICsgMl0KLSAKLSAgICAgICAgIEFuIGFic29sdXRl IGV4YW1wbGU6OgotIAotQEAgLTUxMjQsNyArNTEyNCw3IEBAIGNkZWYgY2xhc3MgTnVtYmVyRmll bGRFbGVtZW50X3JlbGF0aXZlKE51bWJlckZpZWxkRWxlbWVudCk6Ci0gICAgICAgICBFWEFNUExF Uzo6Ci0gCi0gICAgICAgICAgICAgc2FnZTogSy48YSwgYiwgYz4gPSBOdW1iZXJGaWVsZChbeF4y IC0gMiwgeF4yIC0gMywgeF4yIC0gNV0pCi0tICAgICAgICAgICAgc2FnZTogUCA9IEsucHJpbWVf ZmFjdG9ycyg1KVswXQotKyAgICAgICAgICAgIHNhZ2U6IFAgPSBLLnByaW1lX2ZhY3RvcnMoNSlb MV0KLSAgICAgICAgICAgICBzYWdlOiAoMiphICsgYiAtIGMpLnZhbHVhdGlvbihQKQotICAgICAg ICAgICAgIDEKLSAgICAgICAgICIiIgotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JpbmdzL251bWJl cl9maWVsZC9udW1iZXJfZmllbGRfaWRlYWwucHkgYi9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmll bGQvbnVtYmVyX2ZpZWxkX2lkZWFsLnB5Ci1pbmRleCA1ZjU4NzU1NmE0Li4zMzQ4MWZlYWQwIDEw MDY0NAotLS0tIGEvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVh bC5weQotKysrIGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVh bC5weQotQEAgLTMzNTUsNyArMzM1NSw3IEBAIGRlZiBxdW90aWVudF9jaGFyX3AoSSwgcCk6Ci0g ICAgICAgICBbXQotIAotICAgICAgICAgc2FnZTogSSA9IEsuZmFjdG9yKDEzKVswXVswXTsgSQot LSAgICAgICAgRnJhY3Rpb25hbCBpZGVhbCAoLTMqaSAtIDIpCi0rICAgICAgICBGcmFjdGlvbmFs IGlkZWFsICgtMippICsgMykKLSAgICAgICAgIHNhZ2U6IEkucmVzaWR1ZV9jbGFzc19kZWdyZWUo KQotICAgICAgICAgMQotICAgICAgICAgc2FnZTogcXVvdGllbnRfY2hhcl9wKEksIDEzKVswXQot ZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9udW1iZXJfZmllbGRfaWRl YWxfcmVsLnB5IGIvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVh bF9yZWwucHkKLWluZGV4IGJhZTM2ZDRiOWMuLmY2NGJkNWI3NjEgMTAwNjQ0Ci0tLS0gYS9zcmMv c2FnZS9yaW5ncy9udW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkX2lkZWFsX3JlbC5weQotKysrIGIv c3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9pZGVhbF9yZWwucHkKLUBA IC0yNzIsNyArMjcyLDcgQEAgY2xhc3MgTnVtYmVyRmllbGRGcmFjdGlvbmFsSWRlYWxfcmVsKE51 bWJlckZpZWxkRnJhY3Rpb25hbElkZWFsKToKLSAgICAgICAgICAgICBzYWdlOiBMLjxiPiA9IEsu ZXh0ZW5zaW9uKDUqeF4yICsgMSkKLSAgICAgICAgICAgICBzYWdlOiBQID0gTC5wcmltZXNfYWJv dmUoMilbMF0KLSAgICAgICAgICAgICBzYWdlOiBQLmdlbnNfcmVkdWNlZCgpCi0tICAgICAgICAg ICAgKDIsIDE1KmEqYiArIDMqYSArIDEpCi0rICAgICAgICAgICAgKDIsIC0xNSphKmIgKyAzKmEg KyAxKQotICAgICAgICAgIiIiCi0gICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgIyBDb21wdXRl IHRoZSBzaW5nbGUgZ2VuZXJhdG9yLCBpZiBpdCBleGlzdHMKLUBAIC00MDEsNyArNDAxLDcgQEAg Y2xhc3MgTnVtYmVyRmllbGRGcmFjdGlvbmFsSWRlYWxfcmVsKE51bWJlckZpZWxkRnJhY3Rpb25h bElkZWFsKToKLSAgICAgICAgICAgICBzYWdlOiBMLjxiPiA9IEsuZXh0ZW5zaW9uKDUqeF4yICsg MSkKLSAgICAgICAgICAgICBzYWdlOiBQID0gTC5wcmltZXNfYWJvdmUoMilbMF0KLSAgICAgICAg ICAgICBzYWdlOiBQLnJlbGF0aXZlX25vcm0oKQotLSAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRl YWwgKC02KmEgKyAyKQotKyAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKDYqYSArIDIpCi0g ICAgICAgICAiIiIKLSAgICAgICAgIEwgPSBzZWxmLm51bWJlcl9maWVsZCgpCi0gICAgICAgICBL ID0gTC5iYXNlX2ZpZWxkKCkKLUBAIC01MTgsNyArNTE4LDcgQEAgY2xhc3MgTnVtYmVyRmllbGRG cmFjdGlvbmFsSWRlYWxfcmVsKE51bWJlckZpZWxkRnJhY3Rpb25hbElkZWFsKToKLSAgICAgICAg ICAgICBzYWdlOiBMLjxiPiA9IEsuZXh0ZW5zaW9uKDUqeF4yICsgMSkKLSAgICAgICAgICAgICBz YWdlOiBQID0gTC5wcmltZXNfYWJvdmUoMilbMF0KLSAgICAgICAgICAgICBzYWdlOiBQLmlkZWFs X2JlbG93KCkKLS0gICAgICAgICAgICBGcmFjdGlvbmFsIGlkZWFsICgtNiphICsgMikKLSsgICAg ICAgICAgICBGcmFjdGlvbmFsIGlkZWFsICg2KmEgKyAyKQotICAgICAgICAgIiIiCi0gICAgICAg ICBMID0gc2VsZi5udW1iZXJfZmllbGQoKQotICAgICAgICAgSyA9IEwuYmFzZV9maWVsZCgpCi1k aWZmIC0tZ2l0IGEvc3JjL3NhZ2UvcmluZ3MvbnVtYmVyX2ZpZWxkL251bWJlcl9maWVsZF9yZWwu cHkgYi9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQvbnVtYmVyX2ZpZWxkX3JlbC5weQotaW5k ZXggZDMzOTgwYzRiMS4uNTBlODQ2YjIwNSAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3JpbmdzL251 bWJlcl9maWVsZC9udW1iZXJfZmllbGRfcmVsLnB5Ci0rKysgYi9zcmMvc2FnZS9yaW5ncy9udW1i ZXJfZmllbGQvbnVtYmVyX2ZpZWxkX3JlbC5weQotQEAgLTIxMywxNCArMjEzLDE0IEBAIGNsYXNz IE51bWJlckZpZWxkX3JlbGF0aXZlKE51bWJlckZpZWxkX2dlbmVyaWMpOgotICAgICAgICAgICAg IHNhZ2U6IGwuPGI+ID0gay5leHRlbnNpb24oNSp4XjIgKyAzKTsgbAotICAgICAgICAgICAgIE51 bWJlciBGaWVsZCBpbiBiIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCA1KnheMiArIDMgb3ZlciBp dHMgYmFzZSBmaWVsZAotICAgICAgICAgICAgIHNhZ2U6IGwucGFyaV9ybmYoKQotLSAgICAgICAg ICAgIFt4XjIgKyAoLTEvMip5XjIgKyB5IC0gMy8yKSp4ICsgKC0xLzQqeV4zICsgMS80KnleMiAt IDMvNCp5IC0gMTMvNCksIC4uLiwgeV40ICsgNip5XjIgKyAxLCB4XjIgKyAoLTEvMip5XjIgKyB5 IC0gMy8yKSp4ICsgKC0xLzQqeV4zICsgMS80KnleMiAtIDMvNCp5IC0gMTMvNCldLCBbMCwgMF1d Ci0rICAgICAgICAgICAgW3heMiArICgteV4zICsgMS8yKnleMiAtIDYqeSArIDMvMikqeCArICgt My80KnleMyAtIDEvNCp5XjIgLSAxNy80KnkgLSAxOS80KSwgLi4uLCB5XjQgKyA2KnleMiArIDEs IHheMiArICgteV4zICsgMS8yKnleMiAtIDYqeSArIDMvMikqeCArICgtMy80KnleMyAtIDEvNCp5 XjIgLSAxNy80KnkgLSAxOS80KV0sIFswLCAwXV0KLSAgICAgICAgICAgICBzYWdlOiBiCi0gICAg ICAgICAgICAgYgotIAotICAgICAgICAgICAgIHNhZ2U6IGwuPGI+ID0gay5leHRlbnNpb24oeF4y ICsgMy81KTsgbAotICAgICAgICAgICAgIE51bWJlciBGaWVsZCBpbiBiIHdpdGggZGVmaW5pbmcg cG9seW5vbWlhbCB4XjIgKyAzLzUgb3ZlciBpdHMgYmFzZSBmaWVsZAotICAgICAgICAgICAgIHNh Z2U6IGwucGFyaV9ybmYoKQotLSAgICAgICAgICAgIFt4XjIgKyAoLTEvMip5XjIgKyB5IC0gMy8y KSp4ICsgKC0xLzQqeV4zICsgMS80KnleMiAtIDMvNCp5IC0gMTMvNCksIC4uLiwgeV40ICsgNip5 XjIgKyAxLCB4XjIgKyAoLTEvMip5XjIgKyB5IC0gMy8yKSp4ICsgKC0xLzQqeV4zICsgMS80Knle MiAtIDMvNCp5IC0gMTMvNCldLCBbMCwgMF1dCi0rICAgICAgICAgICAgW3heMiArICgteV4zICsg MS8yKnleMiAtIDYqeSArIDMvMikqeCArICgtMy80KnleMyAtIDEvNCp5XjIgLSAxNy80KnkgLSAx OS80KSwgLi4uLCB5XjQgKyA2KnleMiArIDEsIHheMiArICgteV4zICsgMS8yKnleMiAtIDYqeSAr IDMvMikqeCArICgtMy80KnleMyAtIDEvNCp5XjIgLSAxNy80KnkgLSAxOS80KV0sIFswLCAwXV0K LSAgICAgICAgICAgICBzYWdlOiBiCi0gICAgICAgICAgICAgYgotIAotZGlmZiAtLWdpdCBhL3Ny Yy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9vcmRlci5weSBiL3NyYy9zYWdlL3JpbmdzL251bWJl cl9maWVsZC9vcmRlci5weQotaW5kZXggNmVjYTg5ZWQ4ZC4uNzhlZjRjM2IzMyAxMDA2NDQKLS0t LSBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVsZC9vcmRlci5weQotKysrIGIvc3JjL3NhZ2Uv cmluZ3MvbnVtYmVyX2ZpZWxkL29yZGVyLnB5Ci1AQCAtNTIwLDcgKzUyMCw3IEBAIGNsYXNzIE9y ZGVyKEludGVncmFsRG9tYWluLCBzYWdlLnJpbmdzLmFiYy5PcmRlcik6Ci0gICAgICAgICAgICAg c2FnZTogay48YT4gPSBOdW1iZXJGaWVsZCh4XjIgKyA1MDc3KTsgRyA9IGsuY2xhc3NfZ3JvdXAo KTsgRwotICAgICAgICAgICAgIENsYXNzIGdyb3VwIG9mIG9yZGVyIDIyIHdpdGggc3RydWN0dXJl IEMyMiBvZiBOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRlZmluaW5nIHBvbHlub21pYWwgeF4yICsg NTA3NwotICAgICAgICAgICAgIHNhZ2U6IEcuMCBeIC05Ci0tICAgICAgICAgICAgRnJhY3Rpb25h bCBpZGVhbCBjbGFzcyAoMTEsIGEgKyA3KQotKyAgICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwg Y2xhc3MgKDQzLCBhICsgMTMpCi0gICAgICAgICAgICAgc2FnZTogT2sgPSBrLm1heGltYWxfb3Jk ZXIoKTsgT2sKLSAgICAgICAgICAgICBNYXhpbWFsIE9yZGVyIGluIE51bWJlciBGaWVsZCBpbiBh IHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB4XjIgKyA1MDc3Ci0gICAgICAgICAgICAgc2FnZTog T2sgKiAoMTEsIGEgKyA3KQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3JpbmdzL251bWJlcl9maWVs ZC9zZWxtZXJfZ3JvdXAucHkgYi9zcmMvc2FnZS9yaW5ncy9udW1iZXJfZmllbGQvc2VsbWVyX2dy b3VwLnB5Ci1pbmRleCBjNTM0YWFhOWY2Li42YmM2NzU2NWQyIDEwMDY0NAotLS0tIGEvc3JjL3Nh Z2UvcmluZ3MvbnVtYmVyX2ZpZWxkL3NlbG1lcl9ncm91cC5weQotKysrIGIvc3JjL3NhZ2Uvcmlu Z3MvbnVtYmVyX2ZpZWxkL3NlbG1lcl9ncm91cC5weQotQEAgLTQ5MSw3ICs0OTEsNyBAQCBkZWYg cFNlbG1lckdyb3VwKEssIFMsIHAsIHByb29mPU5vbmUsIGRlYnVnPUZhbHNlKToKLSAKLSAgICAg ICAgIHNhZ2U6IFtLLmlkZWFsKGcpLmZhY3RvcigpIGZvciBnIGluIGdlbnNdCi0gICAgICAgICBb KEZyYWN0aW9uYWwgaWRlYWwgKDIsIGEgKyAxKSkgKiAoRnJhY3Rpb25hbCBpZGVhbCAoMywgYSAr IDEpKSwKLS0gICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKC1hKSwKLSsgICAgICAgIEZyYWN0aW9u YWwgaWRlYWwgKGEpLAotICAgICAgICAgKEZyYWN0aW9uYWwgaWRlYWwgKDIsIGEgKyAxKSleMiwK LSAgICAgICAgIDFdCi0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvcmluZ3MvcG9seW5vbWlhbC9w b2x5bm9taWFsX3F1b3RpZW50X3JpbmcucHkgYi9zcmMvc2FnZS9yaW5ncy9wb2x5bm9taWFsL3Bv bHlub21pYWxfcXVvdGllbnRfcmluZy5weQotaW5kZXggYmI1ZDgzNTZiZS4uOGE3ZTVmYTY2ZiAx MDA2NDQKLS0tLSBhL3NyYy9zYWdlL3JpbmdzL3BvbHlub21pYWwvcG9seW5vbWlhbF9xdW90aWVu dF9yaW5nLnB5Ci0rKysgYi9zcmMvc2FnZS9yaW5ncy9wb2x5bm9taWFsL3BvbHlub21pYWxfcXVv dGllbnRfcmluZy5weQotQEAgLTE3OTEsNyArMTc5MSw3IEBAIGNsYXNzIFBvbHlub21pYWxRdW90 aWVudFJpbmdfZ2VuZXJpYyhDb21tdXRhdGl2ZVJpbmcpOgotICAgICAgICAgICAgIHNhZ2U6IEQu c2VsbWVyX2dlbmVyYXRvcnMoW0suaWRlYWwoMiwgLWErMSksIEsuaWRlYWwoMywgYSsxKV0sIDMp Ci0gICAgICAgICAgICAgWzIsIGEgKyAxXQotICAgICAgICAgICAgIHNhZ2U6IEQuc2VsbWVyX2dl bmVyYXRvcnMoW0suaWRlYWwoMiwgLWErMSksIEsuaWRlYWwoMywgYSsxKSwgSy5pZGVhbChhKV0s IDMpCi0tICAgICAgICAgICAgWzIsIGEgKyAxLCBhXQotKyAgICAgICAgICAgIFsyLCBhICsgMSwg LWFdCi0gCi0gICAgICAgICAiIiIKLSAgICAgICAgIGZpZWxkcywgaXNvcywgaXNvX2NsYXNzZXMg PSBzZWxmLl9TX2RlY29tcG9zaXRpb24odHVwbGUoUykpCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uv cmluZ3MvcXFiYXIucHkgYi9zcmMvc2FnZS9yaW5ncy9xcWJhci5weQotaW5kZXggNzA0Yjc3Y2U1 Zi4uODNlZTQ1NDllNCAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3JpbmdzL3FxYmFyLnB5Ci0rKysg Yi9zcmMvc2FnZS9yaW5ncy9xcWJhci5weQotQEAgLTMxMiw4ICszMTIsOCBAQCBhbmQgd2UgZ2V0 IGEgd2F5IHRvIHByb2R1Y2UgdGhlIG51bWJlciBkaXJlY3RseTo6Ci0gICAgIFRydWUKLSAgICAg c2FnZTogc2FnZV9pbnB1dChuKQotICAgICBSLjx5PiA9IFFRW10KLS0gICAgdiA9IEFBLnBvbHlu b21pYWxfcm9vdChBQS5jb21tb25fcG9seW5vbWlhbCh5XjQgLSA0KnleMiArIDEpLCBSSUYoUlIo MC41MTc2MzgwOTAyMDUwNDE0OCksIFJSKDAuNTE3NjM4MDkwMjA1MDQxNTkpKSkKLS0gICAgLTEw OSp2XjMgLSA4OSp2XjIgKyAzMjcqdiArIDE3OAotKyAgICB2ID0gQUEucG9seW5vbWlhbF9yb290 KEFBLmNvbW1vbl9wb2x5bm9taWFsKHleNCAtIDQqeV4yICsgMSksIFJJRigtUlIoMS45MzE4NTE2 NTI1NzgxMzY2KSwgLVJSKDEuOTMxODUxNjUyNTc4MTM2NCkpKQotKyAgICAtMTA5KnZeMyArIDg5 KnZeMiArIDMyNyp2IC0gMTc4Ci0gCi0gV2UgY2FuIGFsc28gc2VlIHRoYXQgc29tZSBjb21wdXRh dGlvbnMgKGJhc2ljYWxseSwgdGhvc2Ugd2hpY2ggYXJlCi0gZWFzeSB0byBwZXJmb3JtIGV4YWN0 bHkpIGFyZSBwZXJmb3JtZWQgZGlyZWN0bHksIGluc3RlYWQgb2Ygc3RvcmluZwotQEAgLTM2Miw3 ICszNjIsNyBAQCBhbGdvcml0aG1zIGluIDp0cmFjOmAxMDI1NWA6OgotICAgICAjIFZlcmlmaWVk Ci0gICAgIFIxLjx4PiA9IFFRYmFyW10KLSAgICAgUjIuPHk+ID0gUVFbXQotLSAgICB2ID0gQUEu cG9seW5vbWlhbF9yb290KEFBLmNvbW1vbl9wb2x5bm9taWFsKHleNCAtIDQqeV4yICsgMSksIFJJ RihSUigwLjUxNzYzODA5MDIwNTA0MTQ4KSwgUlIoMC41MTc2MzgwOTAyMDUwNDE1OSkpKQotKyAg ICB2ID0gQUEucG9seW5vbWlhbF9yb290KEFBLmNvbW1vbl9wb2x5bm9taWFsKHleNCAtIDQqeV4y ICsgMSksIFJJRigtUlIoMS45MzE4NTE2NTI1NzgxMzY2KSwgLVJSKDEuOTMxODUxNjUyNTc4MTM2 NCkpKQotICAgICBBQS5wb2x5bm9taWFsX3Jvb3QoQUEuY29tbW9uX3BvbHlub21pYWwoeF40ICsg UVFiYXIodl4zIC0gMyp2IC0gMSkqeF4zICsgUVFiYXIoLXZeMyArIDMqdiAtIDMpKnheMiArIFFR YmFyKC0zKnZeMyArIDkqdiArIDMpKnggKyBRUWJhcigzKnZeMyAtIDkqdikpLCBSSUYoUlIoMC45 OTk5OTk5OTk5OTk5OTk4OSksIFJSKDEuMDAwMDAwMDAwMDAwMDAwMikpKQotICAgICBzYWdlOiBv bmUKLSAgICAgMQotQEAgLTIzMTAsNyArMjMxMCw3IEBAIGRlZiBkb19wb2xyZWQocG9seSwgdGhy ZXNob2xkPTMyKToKLSAgICAgY29zdCA9IDIgKiBiaXRzaXplLm5iaXRzKCkgKyA1ICogcG9seS5k ZWdyZWUoKS5uYml0cygpCi0gICAgIGlmIGNvc3QgPiB0aHJlc2hvbGQ6Ci0gICAgICAgICByZXR1 cm4gcGFyZW50LmdlbigpLCBwYXJlbnQuZ2VuKCksIHBvbHkKLS0gICAgbmV3X3BvbHksIGVsdF9i YWNrID0gcG9seS5fX3BhcmlfXygpLnBvbHJlZGJlc3QoZmxhZz0xKQotKyAgICBuZXdfcG9seSwg ZWx0X2JhY2sgPSBwb2x5Lm51bWVyYXRvcigpLl9fcGFyaV9fKCkucG9scmVkYmVzdChmbGFnPTEp Ci0gICAgIGVsdF9md2QgPSBlbHRfYmFjay5tb2RyZXZlcnNlKCkKLSAgICAgcmV0dXJuIHBhcmVu dChlbHRfZndkLmxpZnQoKSksIHBhcmVudChlbHRfYmFjay5saWZ0KCkpLCBwYXJlbnQobmV3X3Bv bHkpCi0gCi1AQCAtMjU0MiwxMCArMjU0MiwxMCBAQCBkZWYgbnVtYmVyX2ZpZWxkX2VsZW1lbnRz X2Zyb21fYWxnZWJyYWljcyhudW1iZXJzLCBtaW5pbWFsPUZhbHNlLCBzYW1lX2ZpZWxkPUZhbAot ICAgICAgICAgICAgRGVmbjogYSB8LS0+IDEuNDE0MjEzNTYyMzczMDk1PykKLSAKLSAgICAgICAg IHNhZ2U6IG51bWJlcl9maWVsZF9lbGVtZW50c19mcm9tX2FsZ2VicmFpY3MoKHJ0MixydDMpKQot LSAgICAgICAgKE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB5XjQg LSA0KnleMiArIDEsIFstYV4zICsgMyphLCAtYV4yICsgMl0sIFJpbmcgbW9ycGhpc206Ci0rICAg ICAgICAoTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHleNCAtIDQq eV4yICsgMSwgWy1hXjMgKyAzKmEsIGFeMiAtIDJdLCBSaW5nIG1vcnBoaXNtOgotICAgICAgICAg ICAgIEZyb206IE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB5XjQg LSA0KnleMiArIDEKLSAgICAgICAgICAgICBUbzogICBBbGdlYnJhaWMgUmVhbCBGaWVsZAotLSAg ICAgICAgICAgIERlZm46IGEgfC0tPiAwLjUxNzYzODA5MDIwNTA0MTU/KQotKyAgICAgICAgICAg IERlZm46IGEgfC0tPiAtMS45MzE4NTE2NTI1NzgxMzc/KQotIAotICAgICBgYHJ0M2FgYCBpcyBh IHJlYWwgbnVtYmVyIGluIGBgUVFiYXJgYC4gIE9yZGluYXJpbHksIHdlJ2QgZ2V0IGEgaG9tb21v cnBoaXNtCi0gICAgIHRvIGBgQUFgYCAoYmVjYXVzZSBhbGwgZWxlbWVudHMgYXJlIHJlYWwpLCBi dXQgaWYgd2Ugc3BlY2lmeSBgYHNhbWVfZmllbGQ9VHJ1ZWBgLAotQEAgLTI1NzAsNyArMjU3MCw3 IEBAIGRlZiBudW1iZXJfZmllbGRfZWxlbWVudHNfZnJvbV9hbGdlYnJhaWNzKG51bWJlcnMsIG1p bmltYWw9RmFsc2UsIHNhbWVfZmllbGQ9RmFsCi0gICAgICAgICAoTnVtYmVyIEZpZWxkIGluIGEg d2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHleNCAtIDQqeV4yICsgMSwgLWFeMyArIDMqYSwgUmlu ZyBtb3JwaGlzbToKLSAgICAgICAgICAgICBGcm9tOiBOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRl ZmluaW5nIHBvbHlub21pYWwgeV40IC0gNCp5XjIgKyAxCi0gICAgICAgICAgICAgVG86ICAgQWxn ZWJyYWljIFJlYWwgRmllbGQKLS0gICAgICAgICAgICBEZWZuOiBhIHwtLT4gMC41MTc2MzgwOTAy MDUwNDE1PykKLSsgICAgICAgICAgICBEZWZuOiBhIHwtLT4gLTEuOTMxODUxNjUyNTc4MTM3PykK LSAKLSAgICAgV2UgY2FuIHNwZWNpZnkgYGBtaW5pbWFsPVRydWVgYCBpZiB3ZSB3YW50IHRoZSBz bWFsbGVzdCBudW1iZXIgZmllbGQ6OgotIAotQEAgLTI2MTgsNyArMjYxOCw3IEBAIGRlZiBudW1i ZXJfZmllbGRfZWxlbWVudHNfZnJvbV9hbGdlYnJhaWNzKG51bWJlcnMsIG1pbmltYWw9RmFsc2Us IHNhbWVfZmllbGQ9RmFsCi0gICAgICAgICBzYWdlOiBuZkleMgotICAgICAgICAgLTEKLSAgICAg ICAgIHNhZ2U6IHN1bSA9IG5mcnQyICsgbmZydDMgKyBuZkkgKyBuZnozOyBzdW0KLS0gICAgICAg IDIqYV42ICsgYV41IC0gYV40IC0gYV4zIC0gMiphXjIgLSBhCi0rICAgICAgICBhXjUgKyBhXjQg LSBhXjMgKyAyKmFeMiAtIGEgLSAxCi0gICAgICAgICBzYWdlOiBob20oc3VtKQotICAgICAgICAg Mi42NDYyNjQzNjk5NDE5NzM/ICsgMS44NjYwMjU0MDM3ODQ0Mzk/KkkKLSAgICAgICAgIHNhZ2U6 IGhvbShzdW0pID09IHJ0MiArIHJ0MyArIHFxSSArIHozCi1AQCAtMjY1OCw3ICsyNjU4LDcgQEAg ZGVmIG51bWJlcl9maWVsZF9lbGVtZW50c19mcm9tX2FsZ2VicmFpY3MobnVtYmVycywgbWluaW1h bD1GYWxzZSwgc2FtZV9maWVsZD1GYWwKLSAgICAgICAgIHNhZ2U6IG5mLCBudW1zLCBob20gPSBu dW1iZXJfZmllbGRfZWxlbWVudHNfZnJvbV9hbGdlYnJhaWNzKGVsZW1zLCBlbWJlZGRlZD1UcnVl KQotICAgICAgICAgc2FnZTogbmYKLSAgICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVm aW5pbmcgcG9seW5vbWlhbCB5XjI0IC0gNip5XjIzIC4uLi0gOSp5XjIgKyAxCi0tICAgICAgICAg IHdpdGggYSA9IDAuMjU5ODY3ODkxMTQzMzQzOD8gKyAwLjA1NzI4OTIyNDcwNTg0NTc/KkkKLSsg ICAgICAgICAgd2l0aCBhID0gMC4yNTk4Njc5PyArIDAuMDU3Mjg5Mj8qSQotICAgICAgICAgc2Fn ZTogbGlzdChtYXAoUVFiYXIsIG51bXMpKSA9PSBlbGVtcyA9PSBsaXN0KG1hcChob20sIG51bXMp KQotICAgICAgICAgVHJ1ZQotIAotQEAgLTI3MjUsNyArMjcyNSw3IEBAIGRlZiBudW1iZXJfZmll bGRfZWxlbWVudHNfZnJvbV9hbGdlYnJhaWNzKG51bWJlcnMsIG1pbmltYWw9RmFsc2UsIHNhbWVf ZmllbGQ9RmFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNxcnQoMiksIEFBLnBvbHlub21p YWxfcm9vdCh4XjMtMywgUklGKDAsMykpLCAxMS85LCAxXQotICAgICAgICAgc2FnZTogcmVzID0g bnVtYmVyX2ZpZWxkX2VsZW1lbnRzX2Zyb21fYWxnZWJyYWljcyhteV9udW1zLCBlbWJlZGRlZD1U cnVlKQotICAgICAgICAgc2FnZTogcmVzWzBdCi0tICAgICAgICBOdW1iZXIgRmllbGQgaW4gYSB3 aXRoIGRlZmluaW5nIHBvbHlub21pYWwgeV4yNCAtIDEwNzAxMCp5XjIyIC0gMjQqeV4yMSArIC4u LiArIDI1MDY3ODQ0NzE5MzA0MDYxODYyNDMwNzA5NjgxNTA0ODAyNDMxODg1MzI1NDM4NCB3aXRo IGEgPSAtOTUuNTA1MzAzOTQzMzU1ND8KLSsgICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGgg ZGVmaW5pbmcgcG9seW5vbWlhbCB5XjI0IC0gMTA3MDEwKnleMjIgLSAyNCp5XjIxICsgLi4uICsg MjUwNjc4NDQ3MTkzMDQwNjE4NjI0MzA3MDk2ODE1MDQ4MDI0MzE4ODUzMjU0Mzg0IHdpdGggYSA9 IDkzLjMyNTMwNzk4MTcyNDIwPwotICAgICAiIiIKLSAgICAgZ2VuID0gcXFfZ2VuZXJhdG9yCi0g Ci1AQCAtMzEyOSw3ICszMTI5LDcgQEAgY2xhc3MgQWxnZWJyYWljR2VuZXJhdG9yKFNhZ2VPYmpl Y3QpOgotICAgICAgICAgICAgIHNhZ2U6IHJvb3QgPSBBTlJvb3QoeF4yIC0geCAtIDEsIFJJRigx LCAyKSkKLSAgICAgICAgICAgICBzYWdlOiBnZW4gPSBBbGdlYnJhaWNHZW5lcmF0b3IobmYsIHJv b3QpCi0gICAgICAgICAgICAgc2FnZTogZ2VuLnBhcmlfZmllbGQoKQotLSAgICAgICAgICAgICBb eV4yIC0geSAtIDEsIFsyLCAwXSwgLi4uXQotKyAgICAgICAgICAgIFtbeV4yIC0geSAtIDEsIFsy LCAwXSwgLi4uXQotICAgICAgICAgIiIiCi0gICAgICAgICBpZiBzZWxmLmlzX3RyaXZpYWwoKToK LSAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJObyBQQVJJIGZpZWxkIGF0dGFjaGVkIHRv IHRyaXZpYWwgZ2VuZXJhdG9yIikKLUBAIC0zMjEzLDcgKzMyMTMsNyBAQCBjbGFzcyBBbGdlYnJh aWNHZW5lcmF0b3IoU2FnZU9iamVjdCk6Ci0gICAgICAgICAgICAgc2FnZTogcXFfZ2VuZXJhdG9y LnVuaW9uKGdlbjMpIGlzIGdlbjMKLSAgICAgICAgICAgICBUcnVlCi0gICAgICAgICAgICAgc2Fn ZTogZ2VuMi51bmlvbihnZW4zKQotLSAgICAgICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGgg ZGVmaW5pbmcgcG9seW5vbWlhbCB5XjQgLSA0KnleMiArIDEgd2l0aCBhIGluIDAuNTE3NjM4MDkw MjA1MDQxNT8KLSsgICAgICAgICAgICBOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRlZmluaW5nIHBv bHlub21pYWwgeV40IC0gNCp5XjIgKyAxIHdpdGggYSBpbiAtMS45MzE4NTE2NTI1NzgxMzc/Ci0g ICAgICAgICAiIiIKLSAgICAgICAgIGlmIHNlbGYuX3RyaXZpYWw6Ci0gICAgICAgICAgICAgcmV0 dXJuIG90aGVyCi1AQCAtMzMwNiwxMyArMzMwNiwxMyBAQCBjbGFzcyBBbGdlYnJhaWNHZW5lcmF0 b3IoU2FnZU9iamVjdCk6Ci0gICAgICAgICAgICAgTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZp bmluZyBwb2x5bm9taWFsIHleMiAtIDMgd2l0aCBhIGluIDEuNzMyMDUwODA3NTY4ODc4PwotICAg ICAgICAgICAgIHNhZ2U6IGdlbjJfMyA9IGdlbjIudW5pb24oZ2VuMykKLSAgICAgICAgICAgICBz YWdlOiBnZW4yXzMKLS0gICAgICAgICAgICBOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRlZmluaW5n IHBvbHlub21pYWwgeV40IC0gNCp5XjIgKyAxIHdpdGggYSBpbiAwLjUxNzYzODA5MDIwNTA0MTU/ Ci0rICAgICAgICAgICAgTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9taWFs IHleNCAtIDQqeV4yICsgMSB3aXRoIGEgaW4gLTEuOTMxODUxNjUyNTc4MTM3PwotICAgICAgICAg ICAgIHNhZ2U6IHFxX2dlbmVyYXRvci5zdXBlcl9wb2x5KGdlbjIpIGlzIE5vbmUKLSAgICAgICAg ICAgICBUcnVlCi0gICAgICAgICAgICAgc2FnZTogZ2VuMi5zdXBlcl9wb2x5KGdlbjJfMykKLSAg ICAgICAgICAgICAtYV4zICsgMyphCi0gICAgICAgICAgICAgc2FnZTogZ2VuMy5zdXBlcl9wb2x5 KGdlbjJfMykKLS0gICAgICAgICAgICAtYV4yICsgMgotKyAgICAgICAgICAgIGFeMiAtIDIKLSAK LSAgICAgICAgICIiIgotICAgICAgICAgaWYgY2hlY2tlZCBpcyBOb25lOgotQEAgLTMzNjAsMTMg KzMzNjAsMTMgQEAgY2xhc3MgQWxnZWJyYWljR2VuZXJhdG9yKFNhZ2VPYmplY3QpOgotICAgICAg ICAgICAgIHNhZ2U6IHNxcnQzID0gQU5FeHRlbnNpb25FbGVtZW50KGdlbjMsIG5mMy5nZW4oKSkK LSAgICAgICAgICAgICBzYWdlOiBnZW4yXzMgPSBnZW4yLnVuaW9uKGdlbjMpCi0gICAgICAgICAg ICAgc2FnZTogZ2VuMl8zCi0tICAgICAgICAgICAgTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZp bmluZyBwb2x5bm9taWFsIHleNCAtIDQqeV4yICsgMSB3aXRoIGEgaW4gMC41MTc2MzgwOTAyMDUw NDE1PwotKyAgICAgICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5v bWlhbCB5XjQgLSA0KnleMiArIDEgd2l0aCBhIGluIC0xLjkzMTg1MTY1MjU3ODEzNz8KLSAgICAg ICAgICAgICBzYWdlOiBnZW4yXzMoc3FydDIpCi0gICAgICAgICAgICAgLWFeMyArIDMqYQotICAg ICAgICAgICAgIHNhZ2U6IGdlbjJfMyhBTlJhdGlvbmFsKDEvNykpCi0gICAgICAgICAgICAgMS83 Ci0gICAgICAgICAgICAgc2FnZTogZ2VuMl8zKHNxcnQzKQotLSAgICAgICAgICAgIC1hXjIgKyAy Ci0rICAgICAgICAgICAgYV4yIC0gMgotICAgICAgICAgIiIiCi0gICAgICAgICBpZiBzZWxmLl90 cml2aWFsOgotICAgICAgICAgICAgIHJldHVybiBlbHQuX3ZhbHVlCi1AQCAtNDMzNiwxMCArNDMz NiwxMCBAQCBjbGFzcyBBbGdlYnJhaWNOdW1iZXJfYmFzZShzYWdlLnN0cnVjdHVyZS5lbGVtZW50 LkZpZWxkRWxlbWVudCk6Ci0gICAgICAgICAgICAgc2FnZTogcnQzID0gQUEoc3FydCgzKSkKLSAg ICAgICAgICAgICBzYWdlOiBydDNiID0gcnQyICsgcnQzIC0gcnQyCi0gICAgICAgICAgICAgc2Fn ZTogcnQzYi5hc19udW1iZXJfZmllbGRfZWxlbWVudCgpCi0tICAgICAgICAgICAgKE51bWJlciBG aWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB5XjQgLSA0KnleMiArIDEsIC1hXjIg KyAyLCBSaW5nIG1vcnBoaXNtOgotKyAgICAgICAgICAgIChOdW1iZXIgRmllbGQgaW4gYSB3aXRo IGRlZmluaW5nIHBvbHlub21pYWwgeV40IC0gNCp5XjIgKyAxLCBhXjIgLSAyLCBSaW5nIG1vcnBo aXNtOgotICAgICAgICAgICAgICAgICBGcm9tOiBOdW1iZXIgRmllbGQgaW4gYSB3aXRoIGRlZmlu aW5nIHBvbHlub21pYWwgeV40IC0gNCp5XjIgKyAxCi0gICAgICAgICAgICAgICAgIFRvOiAgIEFs Z2VicmFpYyBSZWFsIEZpZWxkCi0tICAgICAgICAgICAgICAgIERlZm46IGEgfC0tPiAwLjUxNzYz ODA5MDIwNTA0MTU/KQotKyAgICAgICAgICAgICAgICBEZWZuOiBhIHwtLT4gLTEuOTMxODUxNjUy NTc4MTM3PykKLSAgICAgICAgICAgICBzYWdlOiBydDNiLmFzX251bWJlcl9maWVsZF9lbGVtZW50 KG1pbmltYWw9VHJ1ZSkKLSAgICAgICAgICAgICAoTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZp bmluZyBwb2x5bm9taWFsIHleMiAtIDMsIGEsIFJpbmcgbW9ycGhpc206Ci0gICAgICAgICAgICAg ICAgRnJvbTogTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHleMiAt IDMKLUBAIC00NDAxLDcgKzQ0MDEsNyBAQCBjbGFzcyBBbGdlYnJhaWNOdW1iZXJfYmFzZShzYWdl LnN0cnVjdHVyZS5lbGVtZW50LkZpZWxkRWxlbWVudCk6Ci0gICAgICAgICAgICAgc2FnZTogcnQy YiA9IHJ0MyArIHJ0MiAtIHJ0MwotICAgICAgICAgICAgIHNhZ2U6IHJ0MmIuZXhhY3RpZnkoKQot ICAgICAgICAgICAgIHNhZ2U6IHJ0MmIuX2V4YWN0X3ZhbHVlKCkKLS0gICAgICAgICAgICBhXjMg LSAzKmEgd2hlcmUgYV40IC0gNCphXjIgKyAxID0gMCBhbmQgYSBpbiAxLjkzMTg1MTY1MjU3ODEz Nz8KLSsgICAgICAgICAgICBhXjMgLSAzKmEgd2hlcmUgYV40IC0gNCphXjIgKyAxID0gMCBhbmQg YSBpbiAtMC41MTc2MzgwOTAyMDUwNDE1PwotICAgICAgICAgICAgIHNhZ2U6IHJ0MmIuc2ltcGxp ZnkoKQotICAgICAgICAgICAgIHNhZ2U6IHJ0MmIuX2V4YWN0X3ZhbHVlKCkKLSAgICAgICAgICAg ICBhIHdoZXJlIGFeMiAtIDIgPSAwIGFuZCBhIGluIDEuNDE0MjEzNTYyMzczMDk1PwotQEAgLTQ0 MjIsNyArNDQyMiw3IEBAIGNsYXNzIEFsZ2VicmFpY051bWJlcl9iYXNlKHNhZ2Uuc3RydWN0dXJl LmVsZW1lbnQuRmllbGRFbGVtZW50KToKLSAgICAgICAgICAgICBzYWdlOiBRUWJhcigyKS5fZXhh Y3RfZmllbGQoKQotICAgICAgICAgICAgIFRyaXZpYWwgZ2VuZXJhdG9yCi0gICAgICAgICAgICAg c2FnZTogKHNxcnQoUVFiYXIoMikpICsgc3FydChRUWJhcigxOSkpKS5fZXhhY3RfZmllbGQoKQot LSAgICAgICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB5 XjQgLSAyMCp5XjIgKyA4MSB3aXRoIGEgaW4gMi4zNzUxMDAyMjAyOTc5NDE/Ci0rICAgICAgICAg ICAgTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHleNCAtIDIwKnle MiArIDgxIHdpdGggYSBpbiAtMy43ODkzMTM3ODI2NzEwMzY/Ci0gICAgICAgICAgICAgc2FnZTog KFFRYmFyKDcpXigzLzUpKS5fZXhhY3RfZmllbGQoKQotICAgICAgICAgICAgIE51bWJlciBGaWVs ZCBpbiBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB5XjUgLSAyKnleNCAtIDE4KnleMyArIDM4 KnleMiArIDgyKnkgLSAxODEgd2l0aCBhIGluIDIuNTU0MjU2NjExNjk4NDkwPwotICAgICAgICAg IiIiCi1AQCAtNDQ0Miw3ICs0NDQyLDcgQEAgY2xhc3MgQWxnZWJyYWljTnVtYmVyX2Jhc2Uoc2Fn ZS5zdHJ1Y3R1cmUuZWxlbWVudC5GaWVsZEVsZW1lbnQpOgotICAgICAgICAgICAgIHNhZ2U6IFFR YmFyKDIpLl9leGFjdF92YWx1ZSgpCi0gICAgICAgICAgICAgMgotICAgICAgICAgICAgIHNhZ2U6 IChzcXJ0KFFRYmFyKDIpKSArIHNxcnQoUVFiYXIoMTkpKSkuX2V4YWN0X3ZhbHVlKCkKLS0gICAg ICAgICAgICAtMS85KmFeMyAtIGFeMiArIDExLzkqYSArIDEwIHdoZXJlIGFeNCAtIDIwKmFeMiAr IDgxID0gMCBhbmQgYSBpbiAyLjM3NTEwMDIyMDI5Nzk0MT8KLSsgICAgICAgICAgICAtMS85KmFe MyArIGFeMiArIDExLzkqYSAtIDEwIHdoZXJlIGFeNCAtIDIwKmFeMiArIDgxID0gMCBhbmQgYSBp biAtMy43ODkzMTM3ODI2NzEwMzY/Ci0gICAgICAgICAgICAgc2FnZTogKFFRYmFyKDcpXigzLzUp KS5fZXhhY3RfdmFsdWUoKQotICAgICAgICAgICAgIDIqYV40ICsgMiphXjMgLSAzNCphXjIgLSAx NyphICsgMTUwIHdoZXJlIGFeNSAtIDIqYV40IC0gMTgqYV4zICsgMzgqYV4yICsgODIqYSAtIDE4 MSA9IDAgYW5kIGEgaW4gMi41NTQyNTY2MTE2OTg0OTA/Ci0gICAgICAgICAiIiIKLUBAIC02ODU3 LDcgKzY4NTcsNyBAQCBjbGFzcyBBbGdlYnJhaWNQb2x5bm9taWFsVHJhY2tlcihTYWdlT2JqZWN0 KToKLSAgICAgICAgICAgICBzYWdlOiBwID0gc3FydChBQSgyKSkgKiB4XjIgLSBzcXJ0KEFBKDMp KQotICAgICAgICAgICAgIHNhZ2U6IGNwID0gQUEuY29tbW9uX3BvbHlub21pYWwocCkKLSAgICAg ICAgICAgICBzYWdlOiBjcC5nZW5lcmF0b3IoKQotLSAgICAgICAgICAgIE51bWJlciBGaWVsZCBp biBhIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB5XjQgLSA0KnleMiArIDEgd2l0aCBhIGluIDEu OTMxODUxNjUyNTc4MTM3PwotKyAgICAgICAgICAgIE51bWJlciBGaWVsZCBpbiBhIHdpdGggZGVm aW5pbmcgcG9seW5vbWlhbCB5XjQgLSA0KnleMiArIDEgd2l0aCBhIGluIC0wLjUxNzYzODA5MDIw NTA0MTU/Ci0gICAgICAgICAiIiIKLSAgICAgICAgIHNlbGYuZXhhY3RpZnkoKQotICAgICAgICAg cmV0dXJuIHNlbGYuX2dlbgotQEAgLTc3MDYsNyArNzcwNiw3IEBAIGNsYXNzIEFORXh0ZW5zaW9u RWxlbWVudChBTkRlc2NyKToKLSAKLSAgICAgICAgICAgICBzYWdlOiBydDJiLmV4YWN0aWZ5KCkK LSAgICAgICAgICAgICBzYWdlOiBydDJiLl9kZXNjcgotLSAgICAgICAgICAgIGFeMyAtIDMqYSB3 aGVyZSBhXjQgLSA0KmFeMiArIDEgPSAwIGFuZCBhIGluIDEuOTMxODUxNjUyNTc4MTM3PwotKyAg ICAgICAgICAgIGFeMyAtIDMqYSB3aGVyZSBhXjQgLSA0KmFeMiArIDEgPSAwIGFuZCBhIGluIC0w LjUxNzYzODA5MDIwNTA0MTU/Ci0gICAgICAgICAgICAgc2FnZTogcnQyYi5fZGVzY3IuaXNfc2lt cGxlKCkKLSAgICAgICAgICAgICBGYWxzZQotICAgICAgICAgIiIiCi1AQCAtNzc5MSw3ICs3Nzkx LDcgQEAgY2xhc3MgQU5FeHRlbnNpb25FbGVtZW50KEFORGVzY3IpOgotICAgICAgICAgICAgIHNh Z2U6IHJ0MmIgPSBydDMgKyBydDIgLSBydDMKLSAgICAgICAgICAgICBzYWdlOiBydDJiLmV4YWN0 aWZ5KCkKLSAgICAgICAgICAgICBzYWdlOiBydDJiLl9kZXNjcgotLSAgICAgICAgICAgIGFeMyAt IDMqYSB3aGVyZSBhXjQgLSA0KmFeMiArIDEgPSAwIGFuZCBhIGluIDEuOTMxODUxNjUyNTc4MTM3 PwotKyAgICAgICAgICAgIGFeMyAtIDMqYSB3aGVyZSBhXjQgLSA0KmFeMiArIDEgPSAwIGFuZCBh IGluIC0wLjUxNzYzODA5MDIwNTA0MTU/Ci0gICAgICAgICAgICAgc2FnZTogcnQyYi5fZGVzY3Iu c2ltcGxpZnkocnQyYikKLSAgICAgICAgICAgICBhIHdoZXJlIGFeMiAtIDIgPSAwIGFuZCBhIGlu IDEuNDE0MjEzNTYyMzczMDk1PwotICAgICAgICAgIiIiCi1AQCAtNzgzMCw5ICs3ODMwLDkgQEAg Y2xhc3MgQU5FeHRlbnNpb25FbGVtZW50KEFORGVzY3IpOgotICAgICAgICAgICAgIHNhZ2U6IHR5 cGUoYikKLSAgICAgICAgICAgICA8Y2xhc3MgJ3NhZ2UucmluZ3MucXFiYXIuQU5FeHRlbnNpb25F bGVtZW50Jz4KLSAgICAgICAgICAgICBzYWdlOiBiLm5lZyhhKQotLSAgICAgICAgICAgIDEvMyph XjMgLSAyLzMqYV4yICsgNC8zKmEgLSAyIHdoZXJlIGFeNCAtIDIqYV4zICsgYV4yIC0gNiphICsg OSA9IDAgYW5kIGEgaW4gLTAuNzI0NzQ0ODcxMzkxNTg5MD8gLSAxLjU3MzEzMjE4NDk3MDk4Nz8q SQotKyAgICAgICAgICAgIC0xLzMqYV4zICsgMS8zKmFeMiAtIGEgLSAxIHdoZXJlIGFeNCAtIDIq YV4zICsgYV4yICsgNiphICsgMyA9IDAgYW5kIGEgaW4gMS43MjQ3NDQ4NzEzOTE1ODk/ICsgMS41 NzMxMzIxODQ5NzA5ODc/KkkKLSAgICAgICAgICAgICBzYWdlOiBiLm5lZygiaGFtIHNwYW0gYW5k IGVnZ3MiKQotLSAgICAgICAgICAgIDEvMyphXjMgLSAyLzMqYV4yICsgNC8zKmEgLSAyIHdoZXJl IGFeNCAtIDIqYV4zICsgYV4yIC0gNiphICsgOSA9IDAgYW5kIGEgaW4gLTAuNzI0NzQ0ODcxMzkx NTg5MD8gLSAxLjU3MzEzMjE4NDk3MDk4Nz8qSQotKyAgICAgICAgICAgIC0xLzMqYV4zICsgMS8z KmFeMiAtIGEgLSAxIHdoZXJlIGFeNCAtIDIqYV4zICsgYV4yICsgNiphICsgMyA9IDAgYW5kIGEg aW4gMS43MjQ3NDQ4NzEzOTE1ODk/ICsgMS41NzMxMzIxODQ5NzA5ODc/KkkKLSAgICAgICAgICIi IgotICAgICAgICAgcmV0dXJuIEFORXh0ZW5zaW9uRWxlbWVudChzZWxmLl9nZW5lcmF0b3IsIC1z ZWxmLl92YWx1ZSkKLSAKLUBAIC03ODQ4LDkgKzc4NDgsOSBAQCBjbGFzcyBBTkV4dGVuc2lvbkVs ZW1lbnQoQU5EZXNjcik6Ci0gICAgICAgICAgICAgc2FnZTogdHlwZShiKQotICAgICAgICAgICAg IDxjbGFzcyAnc2FnZS5yaW5ncy5xcWJhci5BTkV4dGVuc2lvbkVsZW1lbnQnPgotICAgICAgICAg ICAgIHNhZ2U6IGIuaW52ZXJ0KGEpCi0tICAgICAgICAgICAgNy8zKmFeMyAtIDIvMyphXjIgKyA0 LzMqYSAtIDEyIHdoZXJlIGFeNCAtIDIqYV4zICsgYV4yIC0gNiphICsgOSA9IDAgYW5kIGEgaW4g LTAuNzI0NzQ0ODcxMzkxNTg5MD8gLSAxLjU3MzEzMjE4NDk3MDk4Nz8qSQotKyAgICAgICAgICAg IC03LzMqYV4zICsgMTkvMyphXjIgLSA3KmEgLSA5IHdoZXJlIGFeNCAtIDIqYV4zICsgYV4yICsg NiphICsgMyA9IDAgYW5kIGEgaW4gMS43MjQ3NDQ4NzEzOTE1ODk/ICsgMS41NzMxMzIxODQ5NzA5 ODc/KkkKLSAgICAgICAgICAgICBzYWdlOiBiLmludmVydCgiaGFtIHNwYW0gYW5kIGVnZ3MiKQot LSAgICAgICAgICAgIDcvMyphXjMgLSAyLzMqYV4yICsgNC8zKmEgLSAxMiB3aGVyZSBhXjQgLSAy KmFeMyArIGFeMiAtIDYqYSArIDkgPSAwIGFuZCBhIGluIC0wLjcyNDc0NDg3MTM5MTU4OTA/IC0g MS41NzMxMzIxODQ5NzA5ODc/KkkKLSsgICAgICAgICAgICAtNy8zKmFeMyArIDE5LzMqYV4yIC0g NyphIC0gOSB3aGVyZSBhXjQgLSAyKmFeMyArIGFeMiArIDYqYSArIDMgPSAwIGFuZCBhIGluIDEu NzI0NzQ0ODcxMzkxNTg5PyArIDEuNTczMTMyMTg0OTcwOTg3PypJCi0gICAgICAgICAiIiIKLSAg ICAgICAgIHJldHVybiBBTkV4dGVuc2lvbkVsZW1lbnQoc2VsZi5fZ2VuZXJhdG9yLCB+c2VsZi5f dmFsdWUpCi0gCi1AQCAtNzg2Niw5ICs3ODY2LDkgQEAgY2xhc3MgQU5FeHRlbnNpb25FbGVtZW50 KEFORGVzY3IpOgotICAgICAgICAgICAgIHNhZ2U6IHR5cGUoYikKLSAgICAgICAgICAgICA8Y2xh c3MgJ3NhZ2UucmluZ3MucXFiYXIuQU5FeHRlbnNpb25FbGVtZW50Jz4KLSAgICAgICAgICAgICBz YWdlOiBiLmNvbmp1Z2F0ZShhKQotLSAgICAgICAgICAgIC0xLzMqYV4zICsgMi8zKmFeMiAtIDQv MyphICsgMiB3aGVyZSBhXjQgLSAyKmFeMyArIGFeMiAtIDYqYSArIDkgPSAwIGFuZCBhIGluIC0w LjcyNDc0NDg3MTM5MTU4OTA/ICsgMS41NzMxMzIxODQ5NzA5ODc/KkkKLSsgICAgICAgICAgICAx LzMqYV4zIC0gMS8zKmFeMiArIGEgKyAxIHdoZXJlIGFeNCAtIDIqYV4zICsgYV4yICsgNiphICsg MyA9IDAgYW5kIGEgaW4gMS43MjQ3NDQ4NzEzOTE1ODk/IC0gMS41NzMxMzIxODQ5NzA5ODc/KkkK LSAgICAgICAgICAgICBzYWdlOiBiLmNvbmp1Z2F0ZSgiaGFtIHNwYW0gYW5kIGVnZ3MiKQotLSAg ICAgICAgICAgIC0xLzMqYV4zICsgMi8zKmFeMiAtIDQvMyphICsgMiB3aGVyZSBhXjQgLSAyKmFe MyArIGFeMiAtIDYqYSArIDkgPSAwIGFuZCBhIGluIC0wLjcyNDc0NDg3MTM5MTU4OTA/ICsgMS41 NzMxMzIxODQ5NzA5ODc/KkkKLSsgICAgICAgICAgICAxLzMqYV4zIC0gMS8zKmFeMiArIGEgKyAx IHdoZXJlIGFeNCAtIDIqYV4zICsgYV4yICsgNiphICsgMyA9IDAgYW5kIGEgaW4gMS43MjQ3NDQ4 NzEzOTE1ODk/IC0gMS41NzMxMzIxODQ5NzA5ODc/KkkKLSAgICAgICAgICIiIgotICAgICAgICAg aWYgc2VsZi5fZXhhY3RseV9yZWFsOgotICAgICAgICAgICAgIHJldHVybiBzZWxmCi1AQCAtODUw MSw3ICs4NTAxLDcgQEAgZGVmIGFuX2Jpbm9wX2V4cHIoYSwgYiwgb3ApOgotICAgICAgICAgc2Fn ZTogeCA9IGFuX2Jpbm9wX2V4cHIoYSwgYiwgb3BlcmF0b3IuYWRkKTsgeAotICAgICAgICAgPHNh Z2UucmluZ3MucXFiYXIuQU5CaW5hcnlFeHByIG9iamVjdCBhdCAuLi4+Ci0gICAgICAgICBzYWdl OiB4LmV4YWN0aWZ5KCkKLS0gICAgICAgIC02LzcqYV43ICsgMi83KmFeNiArIDcxLzcqYV41IC0g MjYvNyphXjQgLSAxMjUvNyphXjMgKyA3Mi83KmFeMiArIDQzLzcqYSAtIDQ3Lzcgd2hlcmUgYV44 IC0gMTIqYV42ICsgMjMqYV40IC0gMTIqYV4yICsgMSA9IDAgYW5kIGEgaW4gMy4xMjU4MC4uLj8K LSsgICAgICAgIDYvNyphXjcgLSAyLzcqYV42IC0gNzEvNyphXjUgKyAyNi83KmFeNCArIDEyNS83 KmFeMyAtIDcyLzcqYV4yIC0gNDMvNyphICsgNDcvNyB3aGVyZSBhXjggLSAxMiphXjYgKyAyMyph XjQgLSAxMiphXjIgKyAxID0gMCBhbmQgYSBpbiAtMC4zMTk5MTc5MzM2MTgyOTk3PwotIAotICAg ICAgICAgc2FnZTogYSA9IFFRYmFyKHNxcnQoMikpICsgUVFiYXIoc3FydCgzKSkKLSAgICAgICAg IHNhZ2U6IGIgPSBRUWJhcihzcXJ0KDMpKSArIFFRYmFyKHNxcnQoNSkpCi1AQCAtODUxMCw3ICs4 NTEwLDcgQEAgZGVmIGFuX2Jpbm9wX2V4cHIoYSwgYiwgb3ApOgotICAgICAgICAgc2FnZTogeCA9 IGFuX2Jpbm9wX2V4cHIoYSwgYiwgb3BlcmF0b3IubXVsKTsgeAotICAgICAgICAgPHNhZ2Uucmlu Z3MucXFiYXIuQU5CaW5hcnlFeHByIG9iamVjdCBhdCAuLi4+Ci0gICAgICAgICBzYWdlOiB4LmV4 YWN0aWZ5KCkKLS0gICAgICAgIDIqYV43IC0gYV42IC0gMjQqYV41ICsgMTIqYV40ICsgNDYqYV4z IC0gMjIqYV4yIC0gMjIqYSArIDkgd2hlcmUgYV44IC0gMTIqYV42ICsgMjMqYV40IC0gMTIqYV4y ICsgMSA9IDAgYW5kIGEgaW4gMy4xMjU4Li4uPwotKyAgICAgICAgMiphXjcgLSBhXjYgLSAyNCph XjUgKyAxMiphXjQgKyA0NiphXjMgLSAyMiphXjIgLSAyMiphICsgOSB3aGVyZSBhXjggLSAxMiph XjYgKyAyMyphXjQgLSAxMiphXjIgKyAxID0gMCBhbmQgYSBpbiAtMC4zMTk5MTc5MzM2MTgyOTk3 PwotICAgICAiIiIKLSAgICAgcmV0dXJuIEFOQmluYXJ5RXhwcihhLCBiLCBvcCkKLSAKLWRpZmYg LS1naXQgYS9zcmMvc2FnZS9zY2hlbWVzL2FmZmluZS9hZmZpbmVfbW9ycGhpc20ucHkgYi9zcmMv c2FnZS9zY2hlbWVzL2FmZmluZS9hZmZpbmVfbW9ycGhpc20ucHkKLWluZGV4IDFjNGYyZGZmMTgu LjMyYzJlNDdlNDkgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9zY2hlbWVzL2FmZmluZS9hZmZpbmVf bW9ycGhpc20ucHkKLSsrKyBiL3NyYy9zYWdlL3NjaGVtZXMvYWZmaW5lL2FmZmluZV9tb3JwaGlz bS5weQotQEAgLTExNDgsOSArMTE0OCw5IEBAIGNsYXNzIFNjaGVtZU1vcnBoaXNtX3BvbHlub21p YWxfYWZmaW5lX3NwYWNlX2ZpZWxkKFNjaGVtZU1vcnBoaXNtX3BvbHlub21pYWxfYWZmCi0gICAg ICAgICAgICAgc2FnZTogSCA9IEVuZChBKQotICAgICAgICAgICAgIHNhZ2U6IGYgPSBIKFsoUVFi YXIoc3FydCgyKSkqeF4yICsgMS9RUWJhcihzcXJ0KDMpKSkgLyAoNSp4KV0pCi0gICAgICAgICAg ICAgc2FnZTogZi5yZWR1Y2VfYmFzZV9maWVsZCgpCi0tICAgICAgICAgICAgU2NoZW1lIGVuZG9t b3JwaGlzbSBvZiBBZmZpbmUgU3BhY2Ugb2YgZGltZW5zaW9uIDEgb3ZlciBOdW1iZXIgRmllbGQg aW4gYSB3aXRoIGRlZmluaW5nIHBvbHlub21pYWwgeV40IC0gNCp5XjIgKyAxIHdpdGggYSA9IDEu OTMxODUxNjUyNTc4MTM3PwotKyAgICAgICAgICAgIFNjaGVtZSBlbmRvbW9ycGhpc20gb2YgQWZm aW5lIFNwYWNlIG9mIGRpbWVuc2lvbiAxIG92ZXIgTnVtYmVyIEZpZWxkIGluIGEgd2l0aCBkZWZp bmluZyBwb2x5bm9taWFsIHleNCAtIDQqeV4yICsgMSB3aXRoIGEgPSAuLi4/Ci0gICAgICAgICAg ICAgICBEZWZuOiBEZWZpbmVkIG9uIGNvb3JkaW5hdGVzIGJ5IHNlbmRpbmcgKHgpIHRvCi0tICAg ICAgICAgICAgICAgICAgICAoKChhXjMgLSAzKmEpKnheMiArICgxLzMqYV4yIC0gMi8zKSkvKDUq eCkpCi0rICAgICAgICAgICAgICAgICAgICAoKChhXjMgLSAzKmEpKnheMiArICgtMS8zKmFeMiAr IDIvMykpLyg1KngpKQotIAotICAgICAgICAgOjoKLSAKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9z Y2hlbWVzL2VsbGlwdGljX2N1cnZlcy9lbGxfZmllbGQucHkgYi9zcmMvc2FnZS9zY2hlbWVzL2Vs bGlwdGljX2N1cnZlcy9lbGxfZmllbGQucHkKLWluZGV4IDY4YjgzNzVkYWUuLjQ4ZjM1OGVhNmEg MTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9zY2hlbWVzL2VsbGlwdGljX2N1cnZlcy9lbGxfZmllbGQu cHkKLSsrKyBiL3NyYy9zYWdlL3NjaGVtZXMvZWxsaXB0aWNfY3VydmVzL2VsbF9maWVsZC5weQot QEAgLTg0NSw3ICs4NDUsNyBAQCBjbGFzcyBFbGxpcHRpY0N1cnZlX2ZpZWxkKGVsbF9nZW5lcmlj LkVsbGlwdGljQ3VydmVfZ2VuZXJpYywgUHJvamVjdGl2ZVBsYW5lQ3VydgotICAgICAgICAgICAg IHNhZ2U6IEUgPSBFLmJhc2VfZXh0ZW5kKEcpLnF1YWRyYXRpY190d2lzdChjKTsgRQotICAgICAg ICAgICAgIEVsbGlwdGljIEN1cnZlIGRlZmluZWQgYnkgeV4yID0geF4zICsgNSphMCp4XjIgKyAo LTIwMCphMF4yKSp4ICsgKC00MjAwMCphMF4yKzQyMDAwKmEwKzEyNjAwMCkgb3ZlciBOdW1iZXIg RmllbGQgaW4gYTAgd2l0aCBkZWZpbmluZyBwb2x5bm9taWFsIHheMyAtIDMqeF4yICsgMyp4ICsg OQotICAgICAgICAgICAgIHNhZ2U6IEsuPGI+ID0gRS5kaXZpc2lvbl9maWVsZCgzLCBzaW1wbGlm eV9hbGw9VHJ1ZSk7IEsKLS0gICAgICAgICAgICBOdW1iZXIgRmllbGQgaW4gYiB3aXRoIGRlZmlu aW5nIHBvbHlub21pYWwgeF4xMiAtIDEwKnheMTAgKyA1NSp4XjggLSA2MCp4XjYgKyA3NSp4XjQg KyAxMzUwKnheMiArIDIwMjUKLSsgICAgICAgICAgICBOdW1iZXIgRmllbGQgaW4gYiB3aXRoIGRl ZmluaW5nIHBvbHlub21pYWwgeF4xMiArIDUqeF4xMCArIDQwKnheOCArIDMxNSp4XjYgKyA3NTAq eF40ICsgNjc1KnheMiArIDIwMjUKLSAKLSAgICAgICAgIFNvbWUgaGlnaGVyLWRlZ3JlZSBleGFt cGxlczo6Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxpcHRpY19jdXJ2ZXMv ZWxsX2dlbmVyaWMucHkgYi9zcmMvc2FnZS9zY2hlbWVzL2VsbGlwdGljX2N1cnZlcy9lbGxfZ2Vu ZXJpYy5weQotaW5kZXggOTI2YWUzMTBlYS4uM2JhZTgxOWZiMCAxMDA2NDQKLS0tLSBhL3NyYy9z YWdlL3NjaGVtZXMvZWxsaXB0aWNfY3VydmVzL2VsbF9nZW5lcmljLnB5Ci0rKysgYi9zcmMvc2Fn ZS9zY2hlbWVzL2VsbGlwdGljX2N1cnZlcy9lbGxfZ2VuZXJpYy5weQotQEAgLTMzMjQsOCArMzMy NCw4IEBAIGNsYXNzIEVsbGlwdGljQ3VydmVfZ2VuZXJpYyhXaXRoRXF1YWxpdHlCeUlkLCBwbGFu ZV9jdXJ2ZS5Qcm9qZWN0aXZlUGxhbmVDdXJ2ZSk6Ci0gICAgICAgICAgICAgc2FnZTogSy48YT4g PSBRdWFkcmF0aWNGaWVsZCgyKQotICAgICAgICAgICAgIHNhZ2U6IEUgPSBFbGxpcHRpY0N1cnZl KFsxLGFdKQotICAgICAgICAgICAgIHNhZ2U6IEUucGFyaV9jdXJ2ZSgpCi0tICAgICAgICAgICAg W01vZCgwLCB5XjIgLSAyKSwgTW9kKDAsIHleMiAtIDIpLCBNb2QoMCwgeV4yIC0gMiksIE1vZCgx LCB5XjIgLSAyKSwKLS0gICAgICAgICAgICBNb2QoeSwgeV4yIC0gMiksIE1vZCgwLCB5XjIgLSAy KSwgTW9kKDIsIHleMiAtIDIpLCBNb2QoNCp5LCB5XjIgLSAyKSwKLSsgICAgICAgICAgICBbMCwg MCwgMCwgTW9kKDEsIHleMiAtIDIpLAotKyAgICAgICAgICAgIE1vZCh5LCB5XjIgLSAyKSwgMCwg TW9kKDIsIHleMiAtIDIpLCBNb2QoNCp5LCB5XjIgLSAyKSwKLSAgICAgICAgICAgICBNb2QoLTEs IHleMiAtIDIpLCBNb2QoLTQ4LCB5XjIgLSAyKSwgTW9kKC04NjQqeSwgeV4yIC0gMiksCi0gICAg ICAgICAgICAgTW9kKC05MjgsIHleMiAtIDIpLCBNb2QoMzQ1Ni8yOSwgeV4yIC0gMiksIFZlY3Nt YWxsKFs1XSksCi0gICAgICAgICAgICAgW1t5XjIgLSAyLCBbMiwgMF0sIDgsIDEsIFtbMSwgLTEu NDE0MjEzNTYyMzczMTA7Ci1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxpcHRpY19j dXJ2ZXMvZWxsX251bWJlcl9maWVsZC5weSBiL3NyYy9zYWdlL3NjaGVtZXMvZWxsaXB0aWNfY3Vy dmVzL2VsbF9udW1iZXJfZmllbGQucHkKLWluZGV4IGVkYmQxOTYwOTAuLmM0NGM4MDNhYTggMTAw NjQ0Ci0tLS0gYS9zcmMvc2FnZS9zY2hlbWVzL2VsbGlwdGljX2N1cnZlcy9lbGxfbnVtYmVyX2Zp ZWxkLnB5Ci0rKysgYi9zcmMvc2FnZS9zY2hlbWVzL2VsbGlwdGljX2N1cnZlcy9lbGxfbnVtYmVy X2ZpZWxkLnB5Ci1AQCAtMjE4LDcgKzIxOCw3IEBAIGNsYXNzIEVsbGlwdGljQ3VydmVfbnVtYmVy X2ZpZWxkKEVsbGlwdGljQ3VydmVfZmllbGQpOgotICAgICAgICAgICAgIHNhZ2U6IEUgPT0gbG9h ZHMoZHVtcHMoRSkpCi0gICAgICAgICAgICAgVHJ1ZQotICAgICAgICAgICAgIHNhZ2U6IEUuc2lt b25fdHdvX2Rlc2NlbnQoKQotLSAgICAgICAgICAgICgyLCAyLCBbKDAgOiAwIDogMSldKQotKyAg ICAgICAgICAgICgyLCAyLCBbKDAgOiAwIDogMSksICgxLzE4KmEgKyA3LzE4IDogLTUvNTQqYSAt IDE3LzU0IDogMSldKQotICAgICAgICAgICAgIHNhZ2U6IEUuc2ltb25fdHdvX2Rlc2NlbnQobGlt MT01LCBsaW0zPTUsIGxpbXRyaXY9MTAsIG1heHByb2I9NywgbGltYmlncHJpbWU9MTApCi0gICAg ICAgICAgICAgKDIsIDIsIFsoLTEgOiAwIDogMSksICgtMiA6IC0xLzIqYSAtIDEvMiA6IDEpXSkK LSAKLUBAIC0yNzQsNyArMjc0LDcgQEAgY2xhc3MgRWxsaXB0aWNDdXJ2ZV9udW1iZXJfZmllbGQo RWxsaXB0aWNDdXJ2ZV9maWVsZCk6Ci0gICAgICAgICAgICAgc2FnZTogRS5zaW1vbl90d29fZGVz Y2VudCgpICAjIGxvbmcgdGltZSAoNHMgb24gc2FnZS5tYXRoLCAyMDEzKQotICAgICAgICAgICAg ICgzLAotICAgICAgICAgICAgICAzLAotLSAgICAgICAgICAgICBbKDUvOCp6ZXRhNDNfMF4yICsg MTcvOCp6ZXRhNDNfMCAtIDkvNCA6IC0yNy8xNip6ZXRhNDNfMF4yIC0gMTAzLzE2KnpldGE0M18w ICsgMzkvOCA6IDEpLAotKyAgICAgICAgICAgICBbKDEvOCp6ZXRhNDNfMF4yIC0gMy84KnpldGE0 M18wIC0gMS80IDogLTUvMTYqemV0YTQzXzBeMiArIDcvMTYqemV0YTQzXzAgKyAxLzggOiAxKSwK LSAgICAgICAgICAgICAgICgwIDogMCA6IDEpXSkKLSAgICAgICAgICIiIgotICAgICAgICAgdmVy Ym9zZSA9IGludCh2ZXJib3NlKQotQEAgLTg2NSw3ICs4NjUsNyBAQCBjbGFzcyBFbGxpcHRpY0N1 cnZlX251bWJlcl9maWVsZChFbGxpcHRpY0N1cnZlX2ZpZWxkKToKLSAgICAgICAgICAgICBDb25k dWN0b3IgZXhwb25lbnQ6IDEKLSAgICAgICAgICAgICBLb2RhaXJhIFN5bWJvbDogSTEKLSAgICAg ICAgICAgICBUYW1hZ2F3YSBOdW1iZXI6IDEsCi0tICAgICAgICAgICAgTG9jYWwgZGF0YSBhdCBG cmFjdGlvbmFsIGlkZWFsICgtMyppIC0gMik6Ci0rICAgICAgICAgICAgTG9jYWwgZGF0YSBhdCBG cmFjdGlvbmFsIGlkZWFsICgtMippICsgMyk6Ci0gICAgICAgICAgICAgUmVkdWN0aW9uIHR5cGU6 IGJhZCBzcGxpdCBtdWx0aXBsaWNhdGl2ZQotICAgICAgICAgICAgIExvY2FsIG1pbmltYWwgbW9k ZWw6IEVsbGlwdGljIEN1cnZlIGRlZmluZWQgYnkgeV4yICsgKGkrMSkqeCp5ICsgeSA9IHheMyBv dmVyIE51bWJlciBGaWVsZCBpbiBpIHdpdGggZGVmaW5pbmcgcG9seW5vbWlhbCB4XjIgKyAxCi0g ICAgICAgICAgICAgTWluaW1hbCBkaXNjcmltaW5hbnQgdmFsdWF0aW9uOiAyCi1AQCAtMjY0NSwx MiArMjY0NSwxMiBAQCBjbGFzcyBFbGxpcHRpY0N1cnZlX251bWJlcl9maWVsZChFbGxpcHRpY0N1 cnZlX2ZpZWxkKToKLSAgICAgICAgICAgICBbLTkyLCAtMjMsIC0yM10KLSAKLSAgICAgICAgICAg ICBzYWdlOiBDLm1hdHJpeCgpICAjIGxvbmcgdGltZQotLSAgICAgICAgICAgIFsxIDIgMiA0IDIg NF0KLS0gICAgICAgICAgICBbMiAxIDIgMiA0IDRdCi0tICAgICAgICAgICAgWzIgMiAxIDQgNCAy XQotLSAgICAgICAgICAgIFs0IDIgNCAxIDMgM10KLS0gICAgICAgICAgICBbMiA0IDQgMyAxIDNd Ci0tICAgICAgICAgICAgWzQgNCAyIDMgMyAxXQotKyAgICAgICAgICAgIFsxIDIgMiA0IDQgMl0K LSsgICAgICAgICAgICBbMiAxIDIgNCAyIDRdCi0rICAgICAgICAgICAgWzIgMiAxIDIgNCA0XQot KyAgICAgICAgICAgIFs0IDQgMiAxIDMgM10KLSsgICAgICAgICAgICBbNCAyIDQgMyAxIDNdCi0r ICAgICAgICAgICAgWzIgNCA0IDMgMyAxXQotIAotICAgICAgICAgVGhlIGdyYXBoIG9mIHRoaXMg aXNvZ2VueSBjbGFzcyBoYXMgYSBzaGFwZSB3aGljaCBkb2VzIG5vdAotICAgICAgICAgb2NjdXIg b3ZlciBgXFFRYDogYSB0cmlhbmd1bGFyIHByaXNtLiAgTm90ZSB0aGF0IGZvciBjdXJ2ZXMKLUBA IC0yNjc3LDEyICsyNjc3LDEyIEBAIGNsYXNzIEVsbGlwdGljQ3VydmVfbnVtYmVyX2ZpZWxkKEVs bGlwdGljQ3VydmVfZmllbGQpOgotIAotICAgICAgICAgICAgIHNhZ2U6IEcgPSBDLmdyYXBoKCkg ICMgbG9uZyB0aW1lCi0gICAgICAgICAgICAgc2FnZTogRy5hZGphY2VuY3lfbWF0cml4KCkgICMg bG9uZyB0aW1lCi0tICAgICAgICAgICAgWzAgMSAxIDAgMSAwXQotLSAgICAgICAgICAgIFsxIDAg MSAxIDAgMF0KLS0gICAgICAgICAgICBbMSAxIDAgMCAwIDFdCi0tICAgICAgICAgICAgWzAgMSAw IDAgMSAxXQotLSAgICAgICAgICAgIFsxIDAgMCAxIDAgMV0KLS0gICAgICAgICAgICBbMCAwIDEg MSAxIDBdCi0rICAgICAgICAgICAgWzAgMSAxIDAgMCAxXQotKyAgICAgICAgICAgIFsxIDAgMSAw IDEgMF0KLSsgICAgICAgICAgICBbMSAxIDAgMSAwIDBdCi0rICAgICAgICAgICAgWzAgMCAxIDAg MSAxXQotKyAgICAgICAgICAgIFswIDEgMCAxIDAgMV0KLSsgICAgICAgICAgICBbMSAwIDAgMSAx IDBdCi0gCi0gICAgICAgICBUbyBkaXNwbGF5IHRoZSBncmFwaCB3aXRob3V0IGFueSBlZGdlIGxh YmVsczo6Ci0gCi1AQCAtMzMxNiw3ICszMzE2LDcgQEAgY2xhc3MgRWxsaXB0aWNDdXJ2ZV9udW1i ZXJfZmllbGQoRWxsaXB0aWNDdXJ2ZV9maWVsZCk6Ci0gICAgICAgICAgICAgc2FnZTogcG9pbnRz ID0gW0UubGlmdF94KHgpIGZvciB4IGluIHhpXQotICAgICAgICAgICAgIHNhZ2U6IG5ld3BvaW50 cywgVSA9IEUubGxsX3JlZHVjZShwb2ludHMpICAjIGxvbmcgdGltZSAoMzVzIG9uIHNhZ2UubWF0 aCwgMjAxMSkKLSAgICAgICAgICAgICBzYWdlOiBbUFswXSBmb3IgUCBpbiBuZXdwb2ludHNdICAg ICAgICAgICAgIyBsb25nIHRpbWUKLS0gICAgICAgICAgICBbNjgyMzgwMzU2OTE2NjU4NDk0Mywg NTk0OTUzOTg3ODg5OTI5NDIxMywgMjAwNTAyNDU1ODA1NDgxMzA2OCwgNTg2NDg3OTc3ODg3Nzk1 NTc3OCwgMjM5NTUyNjM5MTU4Nzg2ODI3MjcvNCwgNTkyMjE4ODMyMTQxMTkzODUxOCwgNTI4Njk4 ODI4MzgyMzgyNTM3OCwgMTc1NjIwNjM5ODg0NTM0NjE1NzUxLzI1LCAtMTE0NTE1NzU5MDcyODYx NzE1NzIsIDM1MDI3MDgwNzI1NzEwMTIxODEsIDE1MDAxNDM5MzUxODMyMzg3MDkxODQvMjI1LCAy NzE4MDUyMjM3ODEyMDIyMzQxOS80LCAtNTgxMTg3NDE2NDE5MDYwNDQ2MTU4MS82MjUsIDI2ODA3 Nzg2NTI3MTU5NTY5MDkzLCA3NDA0NDQyNjM2NjQ5NTYyMzAzLCA0NzU2NTYxNTUyNTU4ODM1ODgs IDI2NTc1NzQ1NDcyNjc2NjAxNzg5MS80OSwgNzI3MjE0MjEyMTAxOTgyNTMwMywgNTA2Mjg2Nzkx NzM4MzM2OTM0MTUvNCwgNjk1MTY0MzUyMjM2NjM0ODk2OCwgNjg0MjUxNTE1MTUxODA3MDcwMywg MTExNTkzNzUwMzg5NjUwODQ2ODg1LzE2LCAyNjA3NDY3ODkwNTMxNzQwMzk0MzE1LzksIC0xODI5 OTI4NTI1ODM1NTA2Mjk3XQotKyAgICAgICAgICAgIFs2ODIzODAzNTY5MTY2NTg0OTQzLCA1OTQ5 NTM5ODc4ODk5Mjk0MjEzLCAyMDA1MDI0NTU4MDU0ODEzMDY4LCA1ODY0ODc5Nzc4ODc3OTU1Nzc4 LCAyMzk1NTI2MzkxNTg3ODY4MjcyNy80LCA1OTIyMTg4MzIxNDExOTM4NTE4LCA1Mjg2OTg4Mjgz ODIzODI1Mzc4LCAxMTQ2NTY2NzM1MjI0Mjc3OTgzOCwgLTExNDUxNTc1OTA3Mjg2MTcxNTcyLCAz NTAyNzA4MDcyNTcxMDEyMTgxLCAxNTAwMTQzOTM1MTgzMjM4NzA5MTg0LzIyNSwgMjcxODA1MjIz NzgxMjAyMjM0MTkvNCwgLTU4MTE4NzQxNjQxOTA2MDQ0NjE1ODEvNjI1LCAyNjgwNzc4NjUyNzE1 OTU2OTA5MywgNzA0MTQxMjY1NDgyODA2Njc0MywgNDc1NjU2MTU1MjU1ODgzNTg4LCAyNjU3NTc0 NTQ3MjY3NjYwMTc4OTEvNDksIDcyNzIxNDIxMjEwMTk4MjUzMDMsIDUwNjI4Njc5MTczODMzNjkz NDE1LzQsIDY5NTE2NDM1MjIzNjYzNDg5NjgsIDY4NDI1MTUxNTE1MTgwNzA3MDMsIDExMTU5Mzc1 MDM4OTY1MDg0Njg4NS8xNiwgMjYwNzQ2Nzg5MDUzMTc0MDM5NDMxNS85LCAtMTgyOTkyODUyNTgz NTUwNjI5N10KLSAKLSAgICAgICAgIEFuIGV4YW1wbGUgdG8gc2hvdyB0aGUgZXhwbGljaXQgdXNl IG9mIHRoZSBoZWlnaHQgcGFpcmluZyBtYXRyaXg6OgotIAotZGlmZiAtLWdpdCBhL3NyYy9zYWdl L3NjaGVtZXMvZWxsaXB0aWNfY3VydmVzL2VsbF9yYXRpb25hbF9maWVsZC5weSBiL3NyYy9zYWdl L3NjaGVtZXMvZWxsaXB0aWNfY3VydmVzL2VsbF9yYXRpb25hbF9maWVsZC5weQotaW5kZXggMzgw ODgyMjgxMi4uYTc1MjkwZWEzNSAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3NjaGVtZXMvZWxsaXB0 aWNfY3VydmVzL2VsbF9yYXRpb25hbF9maWVsZC5weQotKysrIGIvc3JjL3NhZ2Uvc2NoZW1lcy9l bGxpcHRpY19jdXJ2ZXMvZWxsX3JhdGlvbmFsX2ZpZWxkLnB5Ci1AQCAtMTgyNyw3ICsxODI3LDcg QEAgY2xhc3MgRWxsaXB0aWNDdXJ2ZV9yYXRpb25hbF9maWVsZChFbGxpcHRpY0N1cnZlX251bWJl cl9maWVsZCk6Ci0gICAgICAgICAgICAgc2FnZTogRSA9IEVsbGlwdGljQ3VydmUoJzM4OWExJykK LSAgICAgICAgICAgICBzYWdlOiBFLl9rbm93bl9wb2ludHMgPSBbXSAgIyBjbGVhciBjYWNoZWQg cG9pbnRzCi0gICAgICAgICAgICAgc2FnZTogRS5zaW1vbl90d29fZGVzY2VudCgpCi0tICAgICAg ICAgICAgKDIsIDIsIFsoMSA6IDAgOiAxKSwgKC0xMS85IDogMjgvMjcgOiAxKV0pCi0rICAgICAg ICAgICAgKDIsIDIsIFsoNS80IDogNS84IDogMSksICgtMy80IDogNy84IDogMSldKQotICAgICAg ICAgICAgIHNhZ2U6IEUgPSBFbGxpcHRpY0N1cnZlKCc1MDc3YTEnKQotICAgICAgICAgICAgIHNh Z2U6IEUuc2ltb25fdHdvX2Rlc2NlbnQoKQotICAgICAgICAgICAgICgzLCAzLCBbKDEgOiAwIDog MSksICgyIDogMCA6IDEpLCAoMCA6IDIgOiAxKV0pCi1kaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uvc2No ZW1lcy9lbGxpcHRpY19jdXJ2ZXMvZ2FsX3JlcHNfbnVtYmVyX2ZpZWxkLnB5IGIvc3JjL3NhZ2Uv c2NoZW1lcy9lbGxpcHRpY19jdXJ2ZXMvZ2FsX3JlcHNfbnVtYmVyX2ZpZWxkLnB5Ci1pbmRleCA4 MWFkMjk1MTYwLi5kNDg0YTRhMThiIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxp cHRpY19jdXJ2ZXMvZ2FsX3JlcHNfbnVtYmVyX2ZpZWxkLnB5Ci0rKysgYi9zcmMvc2FnZS9zY2hl bWVzL2VsbGlwdGljX2N1cnZlcy9nYWxfcmVwc19udW1iZXJfZmllbGQucHkKLUBAIC03ODAsMTIg Kzc4MCwxMiBAQCBkZWYgZGVnX29uZV9wcmltZXNfaXRlcihLLCBwcmluY2lwYWxfb25seT1GYWxz ZSk6Ci0gICAgICAgICBbRnJhY3Rpb25hbCBpZGVhbCAoMiwgYSArIDEpLAotICAgICAgICAgIEZy YWN0aW9uYWwgaWRlYWwgKDMsIGEgKyAxKSwKLSAgICAgICAgICBGcmFjdGlvbmFsIGlkZWFsICgz LCBhICsgMiksCi0tICAgICAgICAgRnJhY3Rpb25hbCBpZGVhbCAoLWEpLAotKyAgICAgICAgIEZy YWN0aW9uYWwgaWRlYWwgKGEpLAotICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKDcsIGEgKyAz KSwKLSAgICAgICAgICBGcmFjdGlvbmFsIGlkZWFsICg3LCBhICsgNCldCi0gICAgICAgICBzYWdl OiBpdCA9IGRlZ19vbmVfcHJpbWVzX2l0ZXIoSywgVHJ1ZSkKLSAgICAgICAgIHNhZ2U6IFtuZXh0 KGl0KSBmb3IgXyBpbiByYW5nZSg2KV0KLS0gICAgICAgIFtGcmFjdGlvbmFsIGlkZWFsICgtYSks Ci0rICAgICAgICBbRnJhY3Rpb25hbCBpZGVhbCAoYSksCi0gICAgICAgICAgRnJhY3Rpb25hbCBp ZGVhbCAoLTIqYSArIDMpLAotICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKDIqYSArIDMpLAot ICAgICAgICAgIEZyYWN0aW9uYWwgaWRlYWwgKGEgKyA2KSwKLWRpZmYgLS1naXQgYS9zcmMvc2Fn ZS9zY2hlbWVzL2VsbGlwdGljX2N1cnZlcy9ncF9zaW1vbi5weSBiL3NyYy9zYWdlL3NjaGVtZXMv ZWxsaXB0aWNfY3VydmVzL2dwX3NpbW9uLnB5Ci1pbmRleCAyOGI5N2YzNGFmLi45ZjdkMWI2MDIw IDEwMDY0NAotLS0tIGEvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxpcHRpY19jdXJ2ZXMvZ3Bfc2ltb24u cHkKLSsrKyBiL3NyYy9zYWdlL3NjaGVtZXMvZWxsaXB0aWNfY3VydmVzL2dwX3NpbW9uLnB5Ci1A QCAtNTYsNyArNTYsNyBAQCBkZWYgc2ltb25fdHdvX2Rlc2NlbnQoRSwgdmVyYm9zZT0wLCBsaW0x PU5vbmUsIGxpbTM9Tm9uZSwgbGltdHJpdj1Ob25lLAotICAgICAgICAgc2FnZTogaW1wb3J0IHNh Z2Uuc2NoZW1lcy5lbGxpcHRpY19jdXJ2ZXMuZ3Bfc2ltb24KLSAgICAgICAgIHNhZ2U6IEU9RWxs aXB0aWNDdXJ2ZSgnMzg5YTEnKQotICAgICAgICAgc2FnZTogc2FnZS5zY2hlbWVzLmVsbGlwdGlj X2N1cnZlcy5ncF9zaW1vbi5zaW1vbl90d29fZGVzY2VudChFKQotLSAgICAgICAgKDIsIDIsIFso MSA6IDAgOiAxKSwgKC0xMS85IDogMjgvMjcgOiAxKV0pCi0rICAgICAgICAoMiwgMiwgWyg1LzQg OiA1LzggOiAxKSwgKC0zLzQgOiA3LzggOiAxKV0pCi0gCi0gICAgIFRFU1RTOjoKLSAKLUBAIC0x MTcsNyArMTE3LDcgQEAgZGVmIHNpbW9uX3R3b19kZXNjZW50KEUsIHZlcmJvc2U9MCwgbGltMT1O b25lLCBsaW0zPU5vbmUsIGxpbXRyaXY9Tm9uZSwKLSAgICAgIyBUaGUgYmxvY2sgYmVsb3cgbWlt aWNzIHRoZSBkZWZhdWx0cyBpbiBTaW1vbidzIHNjcmlwdHMsIGFuZCBuZWVkcyB0byBiZSBjaGFu Z2VkCi0gICAgICMgd2hlbiB0aGVzZSBhcmUgdXBkYXRlZC4KLSAgICAgaWYgSyBpcyBRUToKLS0g ICAgICAgIGNtZCA9ICdlbGxyYW5rKCVzLCAlcyk7JyAlIChsaXN0KEUuYWludnMoKSksIFtQLl9f cGFyaV9fKCkgZm9yIFAgaW4ga25vd25fcG9pbnRzXSkKLSsgICAgICAgIGNtZCA9ICdlbGxRX2Vs bHJhbmsoJXMsICVzKTsnICUgKGxpc3QoRS5haW52cygpKSwgW1AuX19wYXJpX18oKSBmb3IgUCBp biBrbm93bl9wb2ludHNdKQotICAgICAgICAgaWYgbGltMSBpcyBOb25lOgotICAgICAgICAgICAg IGxpbTEgPSA1Ci0gICAgICAgICBpZiBsaW0zIGlzIE5vbmU6Ci1AQCAtMTQ0LDcgKzE0NCw3IEBA IGRlZiBzaW1vbl90d29fZGVzY2VudChFLCB2ZXJib3NlPTAsIGxpbTE9Tm9uZSwgbGltMz1Ob25l LCBsaW10cml2PU5vbmUsCi0gICAgIGlmIHZlcmJvc2UgPiAwOgotICAgICAgICAgcHJpbnQocykK LSAgICAgdiA9IGdwLmV2YWwoJ2FucycpCi0tICAgIGlmIHY9PSdhbnMnOiAjIHRoZW4gdGhlIGNh bGwgdG8gZWxscmFuaygpIG9yIGJuZmVsbHJhbmsoKSBmYWlsZWQKLSsgICAgaWYgdj09J2Fucyc6 ICMgdGhlbiB0aGUgY2FsbCB0byBlbGxRX2VsbHJhbmsoKSBvciBibmZlbGxyYW5rKCkgZmFpbGVk Ci0gICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHJ1 bm5pbmcgU2ltb24ncyAyLWRlc2NlbnQgcHJvZ3JhbSIpCi0gICAgIGlmIHZlcmJvc2UgPj0gMjoK LSAgICAgICAgIHByaW50KCJ2ID0gJXMiICUgdikKLWRpZmYgLS1naXQgYS9zcmMvc2FnZS9zY2hl bWVzL2VsbGlwdGljX2N1cnZlcy9pc29nZW55X3NtYWxsX2RlZ3JlZS5weSBiL3NyYy9zYWdlL3Nj aGVtZXMvZWxsaXB0aWNfY3VydmVzL2lzb2dlbnlfc21hbGxfZGVncmVlLnB5Ci1pbmRleCBhOTM2 ZGViNzRmLi5kYzE5MjU0ZDhjIDEwMDY0NAotLS0tIGEvc3JjL3NhZ2Uvc2NoZW1lcy9lbGxpcHRp Y19jdXJ2ZXMvaXNvZ2VueV9zbWFsbF9kZWdyZWUucHkKLSsrKyBiL3NyYy9zYWdlL3NjaGVtZXMv ZWxsaXB0aWNfY3VydmVzL2lzb2dlbnlfc21hbGxfZGVncmVlLnB5Ci1AQCAtMTIwOCwxNCArMTIw OCwxNCBAQCBkZWYgaXNvZ2VuaWVzXzEzXzAoRSwgbWluaW1hbF9tb2RlbHM9VHJ1ZSk6Ci0gICAg ICAgICBzYWdlOiBbcGhpLmNvZG9tYWluKCkuYWludnMoKSBmb3IgcGhpIGluIGlzb2dlbmllc18x M18wKEUpXSAgIyBsb25nIHRpbWUgKDRzKQotICAgICAgICAgWygwLAotICAgICAgICAgICAwLAot LSAgICAgICAgICAyMDM2MDU5OS8xNjUxNjQ5NzM2NTM0MjIwODAqYV4xMSAtIDM2NDMwNzMvNDEy OTEyNDM0MTMzNTU1MjAqYV4xMCAtIDEwMS84Nzg5MTEwOTg2MjQwKmFeOSArIDU1NTc2MTk0NjEv NTczNDg5NDkxODUyMTYwKmFeOCAtIDgyODI0OTcxLzExOTQ3Njk3NzQ2OTIwKmFeNyAtIDE5NDg3 LzIxMTI3NjcwNjQwKmFeNiAtIDQ3NTc1MjYwMzczMy8yOTQwOTcxNzUzMDg4MCphXjUgKyA4NzIw NTExMjUzMS83MzUyNDI5MzgyNzIwKmFeNCArIDgzNDkvNTIxNjcwODgwKmFeMyArIDU4NTg3NDQ4 ODEvMTI3NjQ2MzQzNDUqYV4yIC0gMTg1ODcwMzgwOS8yODM2NTg1NDEwKmEgKyA1ODc1OTQwMi80 ODkwNjY0NSwKLSsgICAgICAgICAgMjAzNjA1OTkvMTY1MTY0OTczNjUzNDIyMDgwKmFeMTEgLSAz NjQzMDczLzQxMjkxMjQzNDEzMzU1NTIwKmFeMTAgKyAxODg3NDM5LzExNDY5Nzg5ODM3MDQzMjAq YV45ICsgNTU1NzYxOTQ2MS81NzM0ODk0OTE4NTIxNjAqYV44IC0gODI4MjQ5NzEvMTE5NDc2OTc3 NDY5MjAqYV43ICsgMTAzMDYzMjY0Ny83OTY1MTMxODMxMjgwKmFeNiAtIDQ3NTc1MjYwMzczMy8y OTQwOTcxNzUzMDg4MCphXjUgKyA4NzIwNTExMjUzMS83MzUyNDI5MzgyNzIwKmFeNCAtIDQzNjE4 ODk5NDMzLzIwNDIzNDE0OTUyMCphXjMgKyA1ODU4NzQ0ODgxLzEyNzY0NjM0MzQ1KmFeMiAtIDE4 NTg3MDM4MDkvMjgzNjU4NTQxMCphICsgMjUzNTA1MDE3MS8xNDE4MjkyNzA1LAotICAgICAgICAg ICAtMTM5ODYxMjk1LzI2NTA3OTU4NzM0NDk5ODQqYV4xMSAtIDM0NTU5NTcvNTY2NDA5Mzc0NjY4 OCphXjEwIC0gMzQ1MzEwNTcxLzUwOTc2ODQzNzIwMTkyKmFeOSAtIDUwMDUzMDc5NS8xMTgwMDE5 NTMwNTYqYV44IC0gMTI4NjAwNDgxMTMvMjY1NTA0Mzk0Mzc2KmFeNyAtIDI1MDA3NDIwNDYxLzQ0 MjUwNzMyMzk2KmFeNiArIDQ1ODEzNDE3NjQ1NS8xNDE2MDIzNDM2NjcyKmFeNSArIDE2NzAxODgw NjMxLzkwNzcwNzMzMTIqYV40ICsgMTU1OTQxNjY2NDE3LzkwNzcwNzMzMTIqYV4zICsgMzQ5OTMx MDExNS8zNzgyMTEzODgqYV4yIC0gNzM2Nzc0ODYzLzk0NTUyODQ3KmEgLSAyMTk1NDEwMjM4MS85 NDU1Mjg0NywKLS0gICAgICAgICAgNTc5MzYzMzQ1MjIxLzEzNzYzNzQ3ODA0NDUxODQwKmFeMTEg KyAzNzExOTIzNzc1MTEvODYwMjM0MjM3Nzc4MjQwKmFeMTAgKyA4ODU1MDkwMzY1NjU3LzExNDY5 Nzg5ODM3MDQzMjAqYV45ICsgNTM2NzI2MTU0MTY2My8xNjMzODczMTk2MTYwKmFeOCArIDYxNDg4 MzU1NDMzMjE5My8xNTkzMDI2MzY2MjU2MCphXjcgKyAzMDQ4NTE5NzM3ODQ4My82ODA3ODA0OTg0 MCphXjYgLSAxMzEwMDA4OTc1ODgzODcvMjQ1MDgwOTc5NDI0MCphXjUgLSAyMDM2Mjg3MDU3Nzc5 NDkvMzA2MzUxMjI0MjgwKmFeNCAtIDE1ODc2MTkzODgxOTAzNzkvMjA0MjM0MTQ5NTIwKmFeMyAr IDE0NDM1MDY5NzA2NTUxLzExMzQ2MzQxNjQwKmFeMiArIDc1MzcyNzMwNDg2MTQvNDcyNzY0MjM1 KmEgKyA4OTE5ODk4MDAzNDgwNi80NzI3NjQyMzUpLAotKyAgICAgICAgICA4MzQyNzk1OTQ0ODkx LzE5ODE5Nzk2ODM4NDEwNjQ5NiphXjExICsgODkwODYyNTI2MzU4OS8yMDY0NTYyMTcwNjY3Nzc2 MCphXjEwICsgNTMxMzA1NDI2MzY2MjMvNjg4MTg3MzkwMjIyNTkyMCphXjkgKyAzNzY3ODAxMTEw NDIyMTMvMTE0Njk3ODk4MzcwNDMyKmFeOCArIDYxNDg4NDA1MjE0NjMzMy8xNTkzMDI2MzY2MjU2 MCphXjcgKyAzNTY2NzY4MTMzMzI0MzU5Lzc5NjUxMzE4MzEyODAqYV42IC0gMTg4NTU5MzgwOTEw MjU0NS8zNTI5MTY2MTAzNzA1NiphXjUgLSAyNDQzNzMyMTcyMDI2NTIzLzM2NzYyMTQ2OTEzNjAq YV40IC0gOTUyNTcyOTUwMzkzNzU0MS8xMjI1NDA0ODk3MTIwKmFeMyArIDUxOTkwMjc0NDQyMzIx LzQwODQ2ODI5OTA0KmFeMiArIDY3ODM0MDE5MzcwNTk2LzQyNTQ4NzgxMTUqYSArIDI2NzYwMzA4 MzcwNjgxMi8xNDE4MjkyNzA1KSwKLSAgICAgICAgICAoMCwKLSAgICAgICAgICAgMCwKLS0gICAg ICAgICAgMjAzNjA1OTkvMTY1MTY0OTczNjUzNDIyMDgwKmFeMTEgLSAzNjQzMDczLzQxMjkxMjQz NDEzMzU1NTIwKmFeMTAgLSAxMDEvODc4OTExMDk4NjI0MCphXjkgKyA1NTU3NjE5NDYxLzU3MzQ4 OTQ5MTg1MjE2MCphXjggLSA4MjgyNDk3MS8xMTk0NzY5Nzc0NjkyMCphXjcgLSAxOTQ4Ny8yMTEy NzY3MDY0MCphXjYgLSA0NzU3NTI2MDM3MzMvMjk0MDk3MTc1MzA4ODAqYV41ICsgODcyMDUxMTI1 MzEvNzM1MjQyOTM4MjcyMCphXjQgKyA4MzQ5LzUyMTY3MDg4MCphXjMgKyA1ODU4NzQ0ODgxLzEy NzY0NjM0MzQ1KmFeMiAtIDE4NTg3MDM4MDkvMjgzNjU4NTQxMCphICsgNTg3NTk0MDIvNDg5MDY2 NDUsCi0rICAgICAgICAgIDIwMzYwNTk5LzE2NTE2NDk3MzY1MzQyMjA4MCphXjExIC0gMzY0MzA3 My80MTI5MTI0MzQxMzM1NTUyMCphXjEwICsgMTg4NzQzOS8xMTQ2OTc4OTgzNzA0MzIwKmFeOSAr IDU1NTc2MTk0NjEvNTczNDg5NDkxODUyMTYwKmFeOCAtIDgyODI0OTcxLzExOTQ3Njk3NzQ2OTIw KmFeNyArIDEwMzA2MzI2NDcvNzk2NTEzMTgzMTI4MCphXjYgLSA0NzU3NTI2MDM3MzMvMjk0MDk3 MTc1MzA4ODAqYV41ICsgODcyMDUxMTI1MzEvNzM1MjQyOTM4MjcyMCphXjQgLSA0MzYxODg5OTQz My8yMDQyMzQxNDk1MjAqYV4zICsgNTg1ODc0NDg4MS8xMjc2NDYzNDM0NSphXjIgLSAxODU4NzAz ODA5LzI4MzY1ODU0MTAqYSArIDI1MzUwNTAxNzEvMTQxODI5MjcwNSwKLSAgICAgICAgICAgLTY0 NjU1NjkzMTcvMTMyNTM5NzkzNjcyNDk5MiphXjExIC0gMTEyMTMyMzA3LzE5NjA2NDc4MzUzOTIq YV4xMCAtIDE3MDc1NDEyOTE3LzI1NDg4NDIxODYwMDk2KmFeOSAtIDIwNzgzMjUxOTIyOS81MzEw MDg3ODg3NTIqYV44IC0gMTIxODI3NTA2NzYxNy8yNjU1MDQzOTQzNzYqYV43IC0gOTUxMzc2NjUw MjU1MS8xNzcwMDI5Mjk1ODQqYV42ICsgNDI5NzA3Nzg1NTQzNy83MDgwMTE3MTgzMzYqYV41ICsg MzU0NDg1OTc1ODM3LzQ1Mzg1MzY2NTYqYV40ICsgNDE5OTM3OTMwODA1OS80NTM4NTM2NjU2KmFe MyAtIDMwODQxNTc3OTE5LzE4OTEwNTY5NCphXjIgLSAxODE5MTY0ODQwNDIvOTQ1NTI4NDcqYSAt IDIxMzU3NzkxNzE2MTQvOTQ1NTI4NDcsCi0tICAgICAgICAgIC0xMzI2MDE3OTcyMTI2MjcvMzQ0 MDkzNjk1MTExMjk2MCphXjExIC0gNjIxMjQ2NzAyMDUwMjAyMS8xMzc2Mzc0NzgwNDQ1MTg0MCph XjEwIC0gMTUxNTkyNjQ1NDkwMjQ5Ny8yODY3NDQ3NDU5MjYwODAqYV45IC0gMTUxNTQ5MTM3NDE3 OTk2MzcvNDkwMTYxOTU4ODQ4MCphXjggLSA1NzY4ODgxMTk4MDM4NTkyNjMvMTU5MzAyNjM2NjI1 NjAqYV43IC0gODY2MjY3NTE2Mzk2NDg2NzEvMjA0MjM0MTQ5NTIwKmFeNiArIDE2NDM2NjU3NTY5 MjE4NDI3LzMwNjM1MTIyNDI4MCphXjUgKyAxNTQwMDI3OTAwMjY1NjU5MDg3LzI0NTA4MDk3OTQy NDAqYV40ICsgMzc1NzgyNjYyODA1OTE1ODA5LzUxMDU4NTM3MzgwKmFeMyAtIDE0ODMxOTIwOTI0 Njc3ODgzLzExMzQ2MzQxNjQwKmFeMiAtIDcyMzc5NDc3NzQ4MTc3MjQvNDcyNzY0MjM1KmEgLSA4 NDc3Mzc2NDA2NjA4OTUwOS80NzI3NjQyMzUpXQotKyAgICAgICAgICAtMTMxNjg3MzAyNjg0MDI3 Ny8zNDE3MjA2MzUxNDUwMTEyMCphXjExIC0gMTg2Mzc0MDEwNDUwOTk0MTMvNDEyOTEyNDM0MTMz NTU1MjAqYV4xMCAtIDM2MzgyMjM0OTE3MjE3MjQ3LzY4ODE4NzM5MDIyMjU5MjAqYV45IC0gNjEx NDIyMzg0ODQwMTYyMTMvMTk3NzU0OTk3MTkwNDAqYV44IC0gNTc2ODg4MTE5MzA2MDQ1MTIzLzE1 OTMwMjYzNjYyNTYwKmFeNyAtIDMzNzg0NDMzMTM5MDYyNTYzMjEvNzk2NTEzMTgzMTI4MCphXjYg KyAzMjY0NjYxNjc0MjkzMzMyNzkvNjA4NDc2OTE0NDMyMCphXjUgKyA0NjIwMDgzMzI1MzkxNTk0 OTkxLzczNTI0MjkzODI3MjAqYV40ICsgOTAxODc4Mzg5NDE2NzE4NDE0OS8xMjI1NDA0ODk3MTIw KmFeMyAtIDkyMDYwMTU3NDIzMDAyODMvNzA0MjU1Njg4MCphXjIgLSA2NTE0MTUzMTQxMTQyNjQ0 Ni80MjU0ODc4MTE1KmEgLSAyNTQzMjEyODYwNTQ2NjYxMzMvMTQxODI5MjcwNSldCi0gICAgICIi IgotICAgICBpZiBFLmpfaW52YXJpYW50KCkhPTA6Ci0gICAgICAgICByYWlzZSBWYWx1ZUVycm9y KCJqLWludmFyaWFudCBtdXN0IGJlIDAuIikKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgv cGF0Y2hlcy90cmFjLTM0NTM3LXNhZ2VtYXRoLXBhcmktMi4xNWIucGF0Y2ggYi9zcmNwa2dzL3Nh Z2VtYXRoL3BhdGNoZXMvdHJhYy0zNDUzNy1zYWdlbWF0aC1wYXJpLTIuMTViLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NjJiYjI2MTI2MzIuLjAwMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDUzNy1zYWdlbWF0aC1wYXJpLTIuMTVi LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSBmMDM2NWYzMDgzNGI2 ODkwMzEzNzkwYjM4NDVjNjQ3ZDAxNjBmYTZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogVmluY2VudCBEZWxlY3JvaXggPDIwMTAwLmRlbGVjcm9peEBnbWFpbC5jb20qPgotRGF0ZTog RnJpLCAzMCBTZXAgMjAyMiAxNjozMTowOCArMDIwMAotU3ViamVjdDogZml4IGRvY3Rlc3QgaWYg ZnFmX29ydGhvZ29uYWwKLQotLS0tCi0gc3JjL3NhZ2UvZ3JvdXBzL2ZxZl9vcnRob2dvbmFsLnB5 IHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKLQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL2dyb3Vwcy9mcWZfb3J0aG9nb25hbC5weSBiL3Ny Yy9zYWdlL2dyb3Vwcy9mcWZfb3J0aG9nb25hbC5weQotaW5kZXggNzVkZTQwOC4uN2ZjNGRiZSAx MDA2NDQKLS0tLSBhL3NyYy9zYWdlL2dyb3Vwcy9mcWZfb3J0aG9nb25hbC5weQotKysrIGIvc3Jj L3NhZ2UvZ3JvdXBzL2ZxZl9vcnRob2dvbmFsLnB5Ci1AQCAtMjQ1LDEwICsyNDUsMTAgQEAgY2xh c3MgRnFmT3J0aG9nb25hbEdyb3VwKEFiZWxpYW5Hcm91cEF1dG9tb3JwaGlzbUdyb3VwX3N1Ymdy b3VwKToKLSAgICAgICAgICAgICBzYWdlOiBhbGwoeCpmPT14KmZiYXIgZm9yIHggaW4gcS5nZW5z KCkpCi0gICAgICAgICAgICAgVHJ1ZQotICAgICAgICAgICAgIHNhZ2U6IEwgPSBJbnRlZ3JhbExh dHRpY2UoIkEyIikudHdpc3QoMykKLS0gICAgICAgICAgICBzYWdlOiBxID0gTC5kaXNjcmltaW5h bnRfZ3JvdXAoKQotICAgICAgICAgICAgIHNhZ2U6IE9MID0gTC5vcnRob2dvbmFsX2dyb3VwKCkK LSsgICAgICAgICAgICBzYWdlOiBhc3NlcnQgT0woT0wuMC5tYXRyaXgoKSkgPT0gT0wuMAotKyAg ICAgICAgICAgIHNhZ2U6IHEgPSBMLmRpc2NyaW1pbmFudF9ncm91cCgpCi0gICAgICAgICAgICAg c2FnZTogT3EgPSBxLm9ydGhvZ29uYWxfZ3JvdXAoKQotLSAgICAgICAgICAgIHNhZ2U6IGFzc2Vy dCBPcShPTC4wKSA9PSBPcShPTC4wLm1hdHJpeCgpKQotICAgICAgICAgICAgIHNhZ2U6IGFzc2Vy dCBPcShPcS4wLm1hdHJpeCgpKSA9PSBPcS4wCi0gICAgICAgICAiIiIKLSAgICAgICAgIGZyb20g c2FnZS5saWJzLmdhcC5lbGVtZW50IGltcG9ydCBHYXBFbGVtZW50Ci0tLSAKLWNnaXQgdjEuMC0x LWdkODhlCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTM0NjY4 LW1hdHBsb3RsaWJfMy42LTU1MDFlMGRlMGRjYTFjZmYwMzU1MzI2ZGQ0MmJkOGM3ZTU3NDk1Njgu cGF0Y2ggYi9zcmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDY2OC1tYXRwbG90bGliXzMu Ni01NTAxZTBkZTBkY2ExY2ZmMDM1NTMyNmRkNDJiZDhjN2U1NzQ5NTY4LnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YWZhZjFiNzE2MmYuLjAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL3NhZ2VtYXRoL3BhdGNoZXMvdHJhYy0zNDY2OC1tYXRwbG90bGliXzMuNi01NTAxZTBk ZTBkY2ExY2ZmMDM1NTMyNmRkNDJiZDhjN2U1NzQ5NTY4LnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsNzIgKzAsMCBAQAotY29tbWl0IDU1MDFlMGRlMGRjYTFjZmYwMzU1MzI2ZGQ0MmJkOGM3ZTU3 NDk1NjgKLUF1dGhvcjogR29uemFsbyBUb3JuYXLDrWEgPHRvcm5hcmlhQGNtYXQuZWR1LnV5Pgot RGF0ZTogICBUdWUgT2N0IDExIDE3OjI1OjA0IDIwMjIgLTAzMDAKLQotICAgIFN1cHBvcnQgbWF0 cGxvdGxpYiAzLjYKLQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3Bsb3QvYXJjLnB5IGIvc3JjL3Nh Z2UvcGxvdC9hcmMucHkKLWluZGV4IGJiODM0NzYzYWZjLi5mNjU5NzNiY2JkNSAxMDA2NDQKLS0t LSBhL3NyYy9zYWdlL3Bsb3QvYXJjLnB5Ci0rKysgYi9zcmMvc2FnZS9wbG90L2FyYy5weQotQEAg LTI3Myw5ICsyNzMsOSBAQCBjbGFzcyBBcmMoR3JhcGhpY1ByaW1pdGl2ZSk6Ci0gICAgICAgICBw ID0gcGF0Y2hlcy5BcmMoKHNlbGYueCwgc2VsZi55KSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAyLiAqIHNlbGYucjEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgMi4gKiBzZWxmLnIyLAot LSAgICAgICAgICAgICAgICAgICAgICAgIGZtb2Qoc2VsZi5hbmdsZSwgMiAqIHBpKSAqICgxODAu IC8gcGkpLAotLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuczEgKiAoMTgwLiAvIHBpKSwK LS0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnMyICogKDE4MC4gLyBwaSkpCi0rICAgICAg ICAgICAgICAgICAgICAgICAgYW5nbGU9Zm1vZChzZWxmLmFuZ2xlLCAyICogcGkpICogKDE4MC4g LyBwaSksCi0rICAgICAgICAgICAgICAgICAgICAgICAgdGhldGExPXNlbGYuczEgKiAoMTgwLiAv IHBpKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICB0aGV0YTI9c2VsZi5zMiAqICgxODAuIC8g cGkpKQotICAgICAgICAgcmV0dXJuIHAKLSAKLSAgICAgZGVmIGJlemllcl9wYXRoKHNlbGYpOgot ZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3Bsb3QvZWxsaXBzZS5weSBiL3NyYy9zYWdlL3Bsb3QvZWxs aXBzZS5weQotaW5kZXggYTc3ZTZmZTY0MGEuLmMzNWJlZDU3NGVmIDEwMDY0NAotLS0tIGEvc3Jj L3NhZ2UvcGxvdC9lbGxpcHNlLnB5Ci0rKysgYi9zcmMvc2FnZS9wbG90L2VsbGlwc2UucHkKLUBA IC0xOTIsNyArMTkyLDggQEAgY2xhc3MgRWxsaXBzZShHcmFwaGljUHJpbWl0aXZlKToKLSAgICAg ICAgIG9wdGlvbnMgPSBzZWxmLm9wdGlvbnMoKQotICAgICAgICAgcCA9IHBhdGNoZXMuRWxsaXBz ZSgKLSAgICAgICAgICAgICAgICAgKHNlbGYueCxzZWxmLnkpLAotLSAgICAgICAgICAgICAgICBz ZWxmLnIxKjIuLHNlbGYucjIqMi4sc2VsZi5hbmdsZS9waSoxODAuKQotKyAgICAgICAgICAgICAg ICBzZWxmLnIxKjIuLHNlbGYucjIqMi4sCi0rICAgICAgICAgICAgICAgIGFuZ2xlPXNlbGYuYW5n bGUvcGkqMTgwLikKLSAgICAgICAgIHAuc2V0X2xpbmV3aWR0aChmbG9hdChvcHRpb25zWyd0aGlj a25lc3MnXSkpCi0gICAgICAgICBwLnNldF9maWxsKG9wdGlvbnNbJ2ZpbGwnXSkKLSAgICAgICAg IGEgPSBmbG9hdChvcHRpb25zWydhbHBoYSddKQotZGlmZiAtLWdpdCBhL3NyYy9zYWdlL3Bsb3Qv Z3JhcGhpY3MucHkgYi9zcmMvc2FnZS9wbG90L2dyYXBoaWNzLnB5Ci1pbmRleCBlNzc5ZTEyMTBl My4uOGQ2MjBiNWM2MjUgMTAwNjQ0Ci0tLS0gYS9zcmMvc2FnZS9wbG90L2dyYXBoaWNzLnB5Ci0r KysgYi9zcmMvc2FnZS9wbG90L2dyYXBoaWNzLnB5Ci1AQCAtMjAwNyw3ICsyMDA3LDcgQEAgY2xh c3MgR3JhcGhpY3MoV2l0aEVxdWFsaXR5QnlJZCwgU2FnZU9iamVjdCk6Ci0gICAgICAgICBXZSBj YW4gYWxzbyBkbyBjdXN0b20gZm9ybWF0dGluZyBpZiB5b3UgbmVlZCBpdC4gIFNlZSBhYm92ZSBm b3IgZnVsbAotICAgICAgICAgZGV0YWlsczo6Ci0gCi0tICAgICAgICAgICAgc2FnZTogcGxvdCgy KngrMSwoeCwwLDUpLHRpY2tzPVtbMCwxLGUscGksc3FydCgyMCldLDJdLHRpY2tfZm9ybWF0dGVy PSJsYXRleCIpCi0rICAgICAgICAgICAgc2FnZTogcGxvdCgyKngrMSwoeCwwLDUpLHRpY2tzPVtb MCwxLGUscGksc3FydCgyMCldLDJdLHRpY2tfZm9ybWF0dGVyPSJsYXRleCIpICMgbm90IHRlc3Rl ZCAoYnJva2VuIHdpdGggbWF0cGxvdGxpYiAzLjYpCi0gICAgICAgICAgICAgR3JhcGhpY3Mgb2Jq ZWN0IGNvbnNpc3Rpbmcgb2YgMSBncmFwaGljcyBwcmltaXRpdmUKLSAKLSAgICAgICAgIFRoaXMg aXMgcGFydGljdWxhcmx5IHVzZWZ1bCB3aGVuIHNldHRpbmcgY3VzdG9tIHRpY2tzIGluIG11bHRp cGxlcwotQEAgLTIzNDEsNyArMjM0MSw3IEBAIGNsYXNzIEdyYXBoaWNzKFdpdGhFcXVhbGl0eUJ5 SWQsIFNhZ2VPYmplY3QpOgotICAgICAgICAgICAgIHNhZ2U6IHN1YnBsb3QgPSBGaWd1cmUoKS5h ZGRfc3VicGxvdCgxMTEpCi0gICAgICAgICAgICAgc2FnZTogcC5fb2JqZWN0c1swXS5fcmVuZGVy X29uX3N1YnBsb3Qoc3VicGxvdCkKLSAgICAgICAgICAgICBzYWdlOiBwLl9tYXRwbG90bGliX3Rp Y2tfZm9ybWF0dGVyKHN1YnBsb3QsICoqZCkKLS0gICAgICAgICAgICAoPEF4ZXNTdWJwbG90Oj4s Ci0rICAgICAgICAgICAgKDxBeGVzU3VicGxvdDouLi4+LAotICAgICAgICAgICAgIDxtYXRwbG90 bGliLnRpY2tlci5NYXhOTG9jYXRvciBvYmplY3QgYXQgLi4uPiwKLSAgICAgICAgICAgICA8bWF0 cGxvdGxpYi50aWNrZXIuTWF4TkxvY2F0b3Igb2JqZWN0IGF0IC4uLj4sCi0gICAgICAgICAgICAg PG1hdHBsb3RsaWIudGlja2VyLlNjYWxhckZvcm1hdHRlciBvYmplY3QgYXQgLi4uPiwKLWRpZmYg LS1naXQgYS9zcmMvc2FnZS9wbG90L3Bsb3QucHkgYi9zcmMvc2FnZS9wbG90L3Bsb3QucHkKLWlu ZGV4IGIzNmVlNTcyMjdjLi41MzAxYTA1YzNkYyAxMDA2NDQKLS0tLSBhL3NyYy9zYWdlL3Bsb3Qv cGxvdC5weQotKysrIGIvc3JjL3NhZ2UvcGxvdC9wbG90LnB5Ci1AQCAtMTc0MSw3ICsxNzQxLDcg QEAgZGVmIHBsb3QoZnVuY3MsICphcmdzLCAqKmt3ZHMpOgotIAotICAgICA6OgotIAotLSAgICAg ICAgc2FnZTogcGxvdCgyKngrMSwoeCwwLDUpLHRpY2tzPVtbMCwxLGUscGksc3FydCgyMCldLDJd LHRpY2tfZm9ybWF0dGVyPSJsYXRleCIpCi0rICAgICAgICBzYWdlOiBwbG90KDIqeCsxLCh4LDAs NSksdGlja3M9W1swLDEsZSxwaSxzcXJ0KDIwKV0sMl0sdGlja19mb3JtYXR0ZXI9ImxhdGV4Iikg IyBub3QgdGVzdGVkIChicm9rZW4gd2l0aCBtYXRwbG90bGliIDMuNikKLSAgICAgICAgIEdyYXBo aWNzIG9iamVjdCBjb25zaXN0aW5nIG9mIDEgZ3JhcGhpY3MgcHJpbWl0aXZlCi0gCi0gICAgIC4u IFBMT1Q6OgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zYWdlbWF0aC9wYXRjaGVzL3RyYWMtMzQ4NTEt c3VwcG9ydF9zaW5ndWxhcl80LjMuMS5wMy01ZTU3MzdhMGMucGF0Y2ggYi9zcmNwa2dzL3NhZ2Vt YXRoL3BhdGNoZXMvdHJhYy0zNDg1MS1zdXBwb3J0X3Npbmd1bGFyXzQuMy4xLnAzLTVlNTczN2Ew Yy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmYyZjgyNWU0 ZmIxMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvc2FnZW1hdGgvcGF0Y2hlcy90cmFjLTM0 ODUxLXN1cHBvcnRfc2luZ3VsYXJfNC4zLjEucDMtNWU1NzM3YTBjLnBhdGNoCkBAIC0wLDAgKzEs MjA1IEBACitkaWZmIC0tZ2l0IGEvYnVpbGQvcGtncy9zaW5ndWxhci9jaGVja3N1bXMuaW5pIGIv YnVpbGQvcGtncy9zaW5ndWxhci9jaGVja3N1bXMuaW5pCitpbmRleCAyZTMzYTQwNWQzNi4uMzEz NDYzZDJmZWEgMTAwNjQ0CistLS0gYS9idWlsZC9wa2dzL3Npbmd1bGFyL2NoZWNrc3Vtcy5pbmkK KysrKyBiL2J1aWxkL3BrZ3Mvc2luZ3VsYXIvY2hlY2tzdW1zLmluaQorQEAgLTEsNSArMSw1IEBA CisgdGFyYmFsbD1zaW5ndWxhci1WRVJTSU9OLnRhci5negorLXNoYTE9NmMyYjYyMmQzNjgxZTJk ZTNkNThkMzBjNjU0ZDQzZDNlMzJiNzIwYworLW1kNT1hYmIxZTM3Yzc5NDQ3MmU3NzYwNjU1MzU4 YWI2NjA1NAorLWNrc3VtPTE3NDU1NzMzCisrc2hhMT0yOGJiM2VlOTdlZjQ4ZDA0ZGZhOTZkZTE4 MmZkOTNlZWJlMDg0MjZjCisrbWQ1PWZjMGE0ZjU3MjBkYWRiYTQ1YTUyZWU5NDMyNGNlMDBjCisr Y2tzdW09MTU3Mzg1MTczNworIHVwc3RyZWFtX3VybD1mdHA6Ly9qaW0ubWF0aGVtYXRpay51bmkt a2wuZGUvcHViL01hdGgvU2luZ3VsYXIvU09VUkNFUy80LTMtMS9zaW5ndWxhci1WRVJTSU9OLnRh ci5negorZGlmZiAtLWdpdCBhL2J1aWxkL3BrZ3Mvc2luZ3VsYXIvcGFja2FnZS12ZXJzaW9uLnR4 dCBiL2J1aWxkL3BrZ3Mvc2luZ3VsYXIvcGFja2FnZS12ZXJzaW9uLnR4dAoraW5kZXggMTEzMDBj NzdlN2QuLjY2ZTJiZWRlNTNhIDEwMDY0NAorLS0tIGEvYnVpbGQvcGtncy9zaW5ndWxhci9wYWNr YWdlLXZlcnNpb24udHh0CisrKysgYi9idWlsZC9wa2dzL3Npbmd1bGFyL3BhY2thZ2UtdmVyc2lv bi50eHQKK0BAIC0xICsxIEBACistNC4zLjFwMQorKzQuMy4xcDMKK2RpZmYgLS1naXQgYS9zcmMv c2FnZS9saWJzL3Npbmd1bGFyL2RlY2wucHhkIGIvc3JjL3NhZ2UvbGlicy9zaW5ndWxhci9kZWNs LnB4ZAoraW5kZXggOGUzYWMzMTRiNjcuLjc0N2E2YjFlMmZiIDEwMDY0NAorLS0tIGEvc3JjL3Nh Z2UvbGlicy9zaW5ndWxhci9kZWNsLnB4ZAorKysrIGIvc3JjL3NhZ2UvbGlicy9zaW5ndWxhci9k ZWNsLnB4ZAorQEAgLTU3NCw3ICs1NzQsNyBAQCBjZGVmIGV4dGVybiBmcm9tICJzaW5ndWxhci9T aW5ndWxhci9saWJzaW5ndWxhci5oIjoKKyAKKyAgICAgIyBnZXRzIGEgY29tcG9uZW50IG91dCBv ZiBhIHBvbHlub21pYWwgdmVjdG9yCisgCistICAgIHBvbHkgKnBUYWtlT3V0Q29tcDEocG9seSAq KiwgaW50KQorKyAgICBwb2x5ICpwVGFrZU91dENvbXAocG9seSAqKiwgaW50KQorIAorICAgICAj IGRlZXAgY29weSBwCisgCitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2UvbGlicy9zaW5ndWxhci9zaW5n dWxhci5weXggYi9zcmMvc2FnZS9saWJzL3Npbmd1bGFyL3Npbmd1bGFyLnB5eAoraW5kZXggZDhl YTdiMDdmM2MuLjNhMTI3MWNkNTlmIDEwMDY0NAorLS0tIGEvc3JjL3NhZ2UvbGlicy9zaW5ndWxh ci9zaW5ndWxhci5weXgKKysrKyBiL3NyYy9zYWdlL2xpYnMvc2luZ3VsYXIvc2luZ3VsYXIucHl4 CitAQCAtMTcyNiwyMCArMTcyNiwyMSBAQCBjZGVmIGludCBvdmVyZmxvd19jaGVjayh1bnNpZ25l ZCBsb25nIGUsIHJpbmcgKl9yaW5nKSBleGNlcHQgLTE6CisgCisgICAgIFdoZXRoZXIgYW4gb3Zl cmZsb3cgb2NjdXJzIG9yIG5vdCBwYXJ0aWFsbHkgZGVwZW5kcworICAgICBvbiB0aGUgbnVtYmVy IG9mIHZhcmlhYmxlcyBpbiB0aGUgcmluZy4gU2VlIHRyYWMgdGlja2V0CistICAgIDp0cmFjOmAx MTg1NmAuIFdpdGggU2luZ3VsYXIgNCwgaXQgaXMgYnkgZGVmYXVsdCBvcHRpbWl6ZWQKKy0gICAg Zm9yIGF0IGxlYXN0IDQgdmFyaWFibGVzIG9uIDY0LWJpdCBhbmQgMiB2YXJpYWJsZXMgb24gMzIt Yml0LAorLSAgICB3aGljaCBpbiBib3RoIGNhc2VzIG1ha2VzIGEgbWF4aW1hbCBkZWZhdWx0IGV4 cG9uZW50IG9mCistICAgIDJeMTYtMS4KKysgICAgOnRyYWM6YDExODU2YC4KKyAKKyAgICAgRVhB TVBMRVM6OgorIAorICAgICAgICAgc2FnZTogUC48eCx5PiA9IFFRW10KKy0gICAgICAgIHNhZ2U6 IHleKDJeMTYtMSkKKy0gICAgICAgIHleNjU1MzUKKy0gICAgICAgIHNhZ2U6IHleMl4xNgorKyAg ICAgICAgc2FnZTogeV4oMl4zMCkKKysgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2Fs bCBsYXN0KTogICAgICAgICAgICAgIyAzMi1iaXQKKysgICAgICAgIC4uLiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAzMi1iaXQKKysgICAgICAgIE92ZXJmbG93 RXJyb3I6IGV4cG9uZW50IG92ZXJmbG93ICgxMDczNzQxODI0KSAgIyAzMi1iaXQKKysgICAgICAg IHleMTA3Mzc0MTgyNCAgIyA2NC1iaXQKKysgICAgICAgIHNhZ2U6IHleMl4zMgorICAgICAgICAg VHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgICAgLi4uCistICAgICAg ICBPdmVyZmxvd0Vycm9yOiBleHBvbmVudCBvdmVyZmxvdyAoNjU1MzYpCisrICAgICAgICBPdmVy Zmxvd0Vycm9yOiBQeXRob24gaW50IHRvbyBsYXJnZSB0byBjb252ZXJ0IHRvIEMgdW5zaWduZWQg bG9uZyAgIyAzMi1iaXQKKysgICAgICAgIE92ZXJmbG93RXJyb3I6IGV4cG9uZW50IG92ZXJmbG93 ICg0Mjk0OTY3Mjk2KSAgIyA2NC1iaXQKKyAgICAgIiIiCisgICAgIGlmIHVubGlrZWx5KGUgPiBf cmluZy5iaXRtYXNrKToKKyAgICAgICAgIHJhaXNlIE92ZXJmbG93RXJyb3IoImV4cG9uZW50IG92 ZXJmbG93ICglZCkiJShlKSkKK2RpZmYgLS1naXQgYS9zcmMvc2FnZS9yaW5ncy9wb2x5bm9taWFs L211bHRpX3BvbHlub21pYWxfaWRlYWwucHkgYi9zcmMvc2FnZS9yaW5ncy9wb2x5bm9taWFsL211 bHRpX3BvbHlub21pYWxfaWRlYWwucHkKK2luZGV4IDdkYzA1OGEyMmYwLi43MTQ5NGVkZGJjMCAx MDA2NDQKKy0tLSBhL3NyYy9zYWdlL3JpbmdzL3BvbHlub21pYWwvbXVsdGlfcG9seW5vbWlhbF9p ZGVhbC5weQorKysrIGIvc3JjL3NhZ2UvcmluZ3MvcG9seW5vbWlhbC9tdWx0aV9wb2x5bm9taWFs X2lkZWFsLnB5CitAQCAtNjAsNyArNjAsNyBAQAorIE5vdGUgdGhhdCB0aGUgcmVzdWx0IG9mIGEg Y29tcHV0YXRpb24gaXMgbm90IG5lY2Vzc2FyaWx5IHJlZHVjZWQ6OgorIAorICAgICBzYWdlOiAo YStiKV4xNworLSAgICAyNTYqYSpiXjE2ICsgMjU2KmJeMTcKKysgICAgYSpiXjE2ICsgYl4xNwor ICAgICBzYWdlOiBTKDE3KSA9PSAwCisgICAgIFRydWUKKyAKK2RpZmYgLS1naXQgYS9zcmMvc2Fn ZS9yaW5ncy9wb2x5bm9taWFsL211bHRpX3BvbHlub21pYWxfbGlic2luZ3VsYXIucHl4IGIvc3Jj L3NhZ2UvcmluZ3MvcG9seW5vbWlhbC9tdWx0aV9wb2x5bm9taWFsX2xpYnNpbmd1bGFyLnB5eAor aW5kZXggNGRhZDAxNmIzM2YuLjliZjY3ZGQxNDI1IDEwMDY0NAorLS0tIGEvc3JjL3NhZ2Uvcmlu Z3MvcG9seW5vbWlhbC9tdWx0aV9wb2x5bm9taWFsX2xpYnNpbmd1bGFyLnB5eAorKysrIGIvc3Jj L3NhZ2UvcmluZ3MvcG9seW5vbWlhbC9tdWx0aV9wb2x5bm9taWFsX2xpYnNpbmd1bGFyLnB5eAor QEAgLTE5Myw3ICsxOTMsNyBAQCBmcm9tIHNhZ2UubGlicy5zaW5ndWxhci5kZWNsIGNpbXBvcnQg KAorICAgICBwX0lzVW5pdCwgcF9Jc09uZSwgcF9TZXJpZXMsIHBfSGVhZCwgaWRJbml0LCBmYXN0 X21hcF9jb21tb25fc3ViZXhwLCBpZF9EZWxldGUsCisgICAgIHBfSXNIb21vZ2VuZW91cywgcF9I b21vZ2VuLCBwX1RvdGFsZGVncmVlLHBMRGVnMV9Ub3RhbGRlZ3JlZSwgc2luZ2NsYXBfcGRpdmlk ZSwgc2luZ2NsYXBfZmFjdG9yaXplLAorICAgICBpZExpZnQsIElERUxFTVMsIE9uLCBPZmYsIFNX X1VTRV9DSElOUkVNX0dDRCwgU1dfVVNFX0VaR0NELAorLSAgICBwX0xtSXNDb25zdGFudCwgcFRh a2VPdXRDb21wMSwgc2luZ2NsYXBfZ2NkLCBwcF9NdWx0X3FxLCBwX0dldE1heEV4cCwKKysgICAg cF9MbUlzQ29uc3RhbnQsIHBUYWtlT3V0Q29tcCwgc2luZ2NsYXBfZ2NkLCBwcF9NdWx0X3FxLCBw X0dldE1heEV4cCwKKyAgICAgcExlbmd0aCwga05GLCBwX05lZywgcF9NaW51c19tbV9NdWx0X3Fx LCBwX1BsdXNfbW1fTXVsdF9xcSwKKyAgICAgcERpZmYsIHNpbmdjbGFwX3Jlc3VsdGFudCwgcF9O b3JtYWxpemUsCisgICAgIHByQ29weVIsIHByQ29weVJfTm9Tb3J0KQorQEAgLTE1ODcsNyArMTU4 Nyw4IEBAIGNkZWYgY2xhc3MgTVBvbHlub21pYWxSaW5nX2xpYnNpbmd1bGFyKE1Qb2x5bm9taWFs UmluZ19iYXNlKToKKyAgICAgICAgICAgICA5LzQKKyAKKyAgICAgICAgICAgICBzYWdlOiBQLm1v bm9taWFsX3F1b3RpZW50KHgseSkgIyBOb3RlIHRoZSB3cm9uZyByZXN1bHQKKy0gICAgICAgICAg ICB4KnleNjU1MzUqel42NTUzNQorKyAgICAgICAgICAgIHgqeV42NTUzNSp6XjY1NTM1ICAgICAg IyAzMi1iaXQKKysgICAgICAgICAgICB4KnleMTA0ODU3NSp6XjEwNDg1NzUgICMgNjQtYml0Cisg CisgICAgICAgICAgICAgc2FnZTogUC5tb25vbWlhbF9xdW90aWVudCh4LFAoMSkpCisgICAgICAg ICAgICAgeAorQEAgLTIyNDcsMTAgKzIyNDgsMTEgQEAgY2RlZiBjbGFzcyBNUG9seW5vbWlhbF9s aWJzaW5ndWxhcihNUG9seW5vbWlhbCk6CisgICAgICAgICAgICAgOS80KnheMiAtIDEvNCp5XjIg LSB5IC0gMQorIAorICAgICAgICAgICAgIHNhZ2U6IFAuPHgseT4gPSBQb2x5bm9taWFsUmluZyhR USxvcmRlcj0nbGV4JykKKy0gICAgICAgICAgICBzYWdlOiAoeF4yXjE1KSAqIHheMl4xNQorKyAg ICAgICAgICAgIHNhZ2U6ICh4XjJeMzIpICogeF4yXjMyCisgICAgICAgICAgICAgVHJhY2ViYWNr IChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgICAgICAgIC4uLgorLSAgICAgICAgICAg IE92ZXJmbG93RXJyb3I6IGV4cG9uZW50IG92ZXJmbG93ICguLi4pCisrICAgICAgICAgICAgT3Zl cmZsb3dFcnJvcjogUHl0aG9uIGludCB0b28gbGFyZ2UgdG8gY29udmVydCB0byBDIHVuc2lnbmVk IGxvbmcgICMgMzItYml0CisrICAgICAgICAgICAgT3ZlcmZsb3dFcnJvcjogZXhwb25lbnQgb3Zl cmZsb3cgKC4uLikgICMgNjQtYml0CisgICAgICAgICAiIiIKKyAgICAgICAgICMgYWxsIGN1cnJl bnRseSBpbXBsZW1lbnRlZCByaW5ncyBhcmUgY29tbXV0YXRpdmUKKyAgICAgICAgIGNkZWYgcG9s eSAqX3AKK0BAIC0yMzcxLDEwICsyMzczLDExIEBAIGNkZWYgY2xhc3MgTVBvbHlub21pYWxfbGli c2luZ3VsYXIoTVBvbHlub21pYWwpOgorICAgICAgICAgICAgIFZhbHVlRXJyb3I6IG5vdCBhIDJu ZCBwb3dlcgorIAorICAgICAgICAgICAgIHNhZ2U6IFAuPHgseT4gPSBQb2x5bm9taWFsUmluZyhR USxvcmRlcj0nbGV4JykKKy0gICAgICAgICAgICBzYWdlOiAoeCt5XjJeMTUpXjEwCisrICAgICAg ICAgICAgc2FnZTogKHgreV4yXjMyKV4xMAorICAgICAgICAgICAgIFRyYWNlYmFjayAobW9zdCBy ZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgICAgICAgICAuLi4uCistICAgICAgICAgICAgT3ZlcmZs b3dFcnJvcjogZXhwb25lbnQgb3ZlcmZsb3cgKC4uLikKKysgICAgICAgICAgICBPdmVyZmxvd0Vy cm9yOiBQeXRob24gaW50IHRvbyBsYXJnZSB0byBjb252ZXJ0IHRvIEMgdW5zaWduZWQgbG9uZyAg IyAzMi1iaXQKKysgICAgICAgICAgICBPdmVyZmxvd0Vycm9yOiBleHBvbmVudCBvdmVyZmxvdyAo Li4uKSAgIyA2NC1iaXQKKyAKKyAgICAgICAgIFRlc3QgZnJhY3Rpb25hbCBwb3dlcnMgKDp0cmFj OmAyMjMyOWApOjoKKyAKK0BAIC0zNDYxLDcgKzM0NjQsNyBAQCBjZGVmIGNsYXNzIE1Qb2x5bm9t aWFsX2xpYnNpbmd1bGFyKE1Qb2x5bm9taWFsKToKKyAgICAgICAgICAgICB4XjEwMDAwCisgICAg ICAgICAgICAgbm8gb3ZlcmZsb3cKKyAKKy0gICAgICAgICAgICBzYWdlOiBuID0gMTAwMAorKyAg ICAgICAgICAgIHNhZ2U6IG4gPSAxMDAwMDAKKyAgICAgICAgICAgICBzYWdlOiB0cnk6CisgICAg ICAgICAgICAgLi4uLjogICAgIGYgPSB4Xm4KKyAgICAgICAgICAgICAuLi4uOiAgICAgZi5zdWJz KHggPSB4Xm4pCitAQCAtNDU2Nyw3ICs0NTcwLDcgQEAgY2RlZiBjbGFzcyBNUG9seW5vbWlhbF9s aWJzaW5ndWxhcihNUG9seW5vbWlhbCk6CisgICAgICAgICBsID0gW10KKyAgICAgICAgIGZvciBp IGZyb20gMCA8PSBpIDwgSURFTEVNUyhyZXMpOgorICAgICAgICAgICAgIGZvciBqIGZyb20gMSA8 PSBqIDw9IElERUxFTVMoX0kpOgorLSAgICAgICAgICAgICAgICBsLmFwcGVuZCggbmV3X01QKHBh cmVudCwgcFRha2VPdXRDb21wMSgmcmVzLm1baV0sIGopKSApCisrICAgICAgICAgICAgICAgIGwu YXBwZW5kKCBuZXdfTVAocGFyZW50LCBwVGFrZU91dENvbXAoJnJlcy5tW2ldLCAxKSkgKQorIAor ICAgICAgICAgaWRfRGVsZXRlKCZmSSwgcikKKyAgICAgICAgIGlkX0RlbGV0ZSgmX0ksIHIpCitA QCAtNDYzNSw3ICs0NjM4LDcgQEAgY2RlZiBjbGFzcyBNUG9seW5vbWlhbF9saWJzaW5ndWxhcihN UG9seW5vbWlhbCk6CisgCisgICAgICAgICAgICAgc2FnZTogZiA9IDMqeAorICAgICAgICAgICAg IHNhZ2U6IGYucmVkdWNlKFsyKngseV0pCistICAgICAgICAgICAgMyp4CisrICAgICAgICAgICAg eAorIAorICAgICAgICAgVGhlIHJlZHVjdGlvbiBpcyBub3QgY2Fub25pY2FsIHdoZW4gYGBJYGAg aXMgbm90IGEgR3JvZWJuZXIKKyAgICAgICAgIGJhc2lzOjoKK2RpZmYgLS1naXQgYS9zcmMvc2Fn ZS9yaW5ncy9wb2x5bm9taWFsL3BsdXJhbC5weXggYi9zcmMvc2FnZS9yaW5ncy9wb2x5bm9taWFs L3BsdXJhbC5weXgKK2luZGV4IDFjOWYzNWU1NmJhLi41ODc1MTFjMzg4OCAxMDA2NDQKKy0tLSBh L3NyYy9zYWdlL3JpbmdzL3BvbHlub21pYWwvcGx1cmFsLnB5eAorKysrIGIvc3JjL3NhZ2Uvcmlu Z3MvcG9seW5vbWlhbC9wbHVyYWwucHl4CitAQCAtMTYxOSwxMCArMTYxOSwxMCBAQCBjZGVmIGNs YXNzIE5DUG9seW5vbWlhbF9wbHVyYWwoUmluZ0VsZW1lbnQpOgorICAgICAgICAgICAgIHNhZ2U6 IFAgPSBBLmdfYWxnZWJyYShyZWxhdGlvbnM9e3kqeDoteCp5ICsgen0sICBvcmRlcj0nbGV4JykK KyAgICAgICAgICAgICBzYWdlOiBQLmluamVjdF92YXJpYWJsZXMoKQorICAgICAgICAgICAgIERl ZmluaW5nIHgsIHosIHkKKy0gICAgICAgICAgICBzYWdlOiAoeF4yXjE1KSAqIHheMl4xNQorKyAg ICAgICAgICAgIHNhZ2U6ICh4XjJeMzEpICogeF4yXjMxCisgICAgICAgICAgICAgVHJhY2ViYWNr IChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgICAgICAgIC4uLgorLSAgICAgICAgICAg IE92ZXJmbG93RXJyb3I6IGV4cG9uZW50IG92ZXJmbG93ICg2NTUzNikKKysgICAgICAgICAgICBP dmVyZmxvd0Vycm9yOiBleHBvbmVudCBvdmVyZmxvdyAoMjE0NzQ4MzY0OCkKKyAgICAgICAgICIi IgorICAgICAgICAgIyBhbGwgY3VycmVudGx5IGltcGxlbWVudGVkIHJpbmdzIGFyZSBjb21tdXRh dGl2ZQorICAgICAgICAgY2RlZiBwb2x5ICpfcAorQEAgLTE2ODksMTAgKzE2ODksMTAgQEAgY2Rl ZiBjbGFzcyBOQ1BvbHlub21pYWxfcGx1cmFsKFJpbmdFbGVtZW50KToKKyAgICAgICAgICAgICBz YWdlOiBQID0gQS5nX2FsZ2VicmEocmVsYXRpb25zPXt5Kng6LXgqeSArIHp9LCAgb3JkZXI9J2xl eCcpCisgICAgICAgICAgICAgc2FnZTogUC5pbmplY3RfdmFyaWFibGVzKCkKKyAgICAgICAgICAg ICBEZWZpbmluZyB4LCB6LCB5CistICAgICAgICAgICAgc2FnZTogKHgreV4yXjE1KV4xMAorKyAg ICAgICAgICAgIHNhZ2U6ICh4K3leMl4zMSleMTAKKyAgICAgICAgICAgICBUcmFjZWJhY2sgKG1v c3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgICAgICAgLi4uLgorLSAgICAgICAgICAgIE92 ZXJmbG93RXJyb3I6IGV4cG9uZW50IG92ZXJmbG93ICgzMjc2ODApCisrICAgICAgICAgICAgT3Zl cmZsb3dFcnJvcjogZXhwb25lbnQgb3ZlcmZsb3cgKDIxNDc0ODM2NDgpCisgICAgICAgICAiIiIK KyAgICAgICAgIGlmIHR5cGUoZXhwKSBpcyBub3QgSW50ZWdlcjoKKyAgICAgICAgICAgICB0cnk6 CitkaWZmIC0tZ2l0IGEvc3JjL3NhZ2Uvc3RydWN0dXJlL2VsZW1lbnQucHl4IGIvc3JjL3NhZ2Uv c3RydWN0dXJlL2VsZW1lbnQucHl4CitpbmRleCBiNWQ4M2VmNzFiNi4uNWM0NWIzZmI1MjggMTAw NjQ0CistLS0gYS9zcmMvc2FnZS9zdHJ1Y3R1cmUvZWxlbWVudC5weXgKKysrKyBiL3NyYy9zYWdl L3N0cnVjdHVyZS9lbGVtZW50LnB5eAorQEAgLTI3MDUsMTAgKzI3MDUsMTAgQEAgY2RlZiBjbGFz cyBSaW5nRWxlbWVudChNb2R1bGVFbGVtZW50KToKKyAgICAgICAgIHdpdGggU2luZ3VsYXIgNDo6 CisgCisgICAgICAgICAgICAgc2FnZTogSy48eCx5PiA9IFpaW10KKy0gICAgICAgICAgICBzYWdl OiAoeF4xMjM0NSleNTQzMjEKKysgICAgICAgICAgICBzYWdlOiAoeF4xMjM0NTYpXjY1NDMyMQor ICAgICAgICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgICAg ICAgICAuLi4KKy0gICAgICAgICAgICBPdmVyZmxvd0Vycm9yOiBleHBvbmVudCBvdmVyZmxvdyAo NjcwNTkyNzQ1KQorKyAgICAgICAgICAgIE92ZXJmbG93RXJyb3I6IGV4cG9uZW50IG92ZXJmbG93 ICguLi4pCisgICAgICAgICAiIiIKKyAgICAgICAgIHJldHVybiBhcml0aF9nZW5lcmljX3Bvd2Vy KHNlbGYsIG4pCisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3RlbXBsYXRlIGIvc3Jj cGtncy9zYWdlbWF0aC90ZW1wbGF0ZQppbmRleCA3NDQ0NWMzYWE4YzEuLjc1Njk1ZjBlNWY4NyAx MDA2NDQKLS0tIGEvc3JjcGtncy9zYWdlbWF0aC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3NhZ2Vt YXRoL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnc2FnZW1h dGgnCiBwa2duYW1lPXNhZ2VtYXRoCi12ZXJzaW9uPTkuNwotcmV2aXNpb249NAordmVyc2lvbj05 LjgKK3JldmlzaW9uPTEKIGJ1aWxkX3dya3NyYz1wa2dzL3NhZ2VtYXRoLXN0YW5kYXJkCiBidWls ZF9zdHlsZT1weXRob24zLW1vZHVsZQogX2JpbmRpcj0vdXNyL2xpYi9zYWdlbWF0aC8kdmVyc2lv bi9iaW4KQEAgLTE0LDcgKzE0LDcgQEAgbWFrZWRlcGVuZHM9ImFyYi1kZXZlbCBib29zdC1kZXZl bCBicmlhbC1kZXZlbCBjbGlxdWVyLWRldmVsIGVjbCBlY2xpYi1kZXZlbAogIGxpYnBuZy1kZXZl bCBsaW5ib3gtZGV2ZWwgbTRyaS1kZXZlbCBtNHJpZS1kZXZlbCBtcGZpLWRldmVsCiAgbXBmci1k ZXZlbCBudGwtZGV2ZWwgb3BlbmJsYXMtZGV2ZWwgcGFyaS1kZXZlbCBwbGFuYXJpdHktZGV2ZWwg cHl0aG9uMy1jeXBhcmkyCiAgcHl0aG9uMy1jeXNpZ25hbHMgcHl0aG9uMy1kZXZlbCBweXRob24z LWdtcHkyIHB5dGhvbjMtbWVtb3J5X2FsbG9jYXRvcgotIHB5dGhvbjMtbnVtcHkgcmFua3dpZHRo LWRldmVsIHNpbmd1bGFyIHN5bW1ldHJpY2EtZGV2ZWwgem5fcG9seSIKKyBweXRob24zLW51bXB5 IHJhbmt3aWR0aC1kZXZlbCBzaW5ndWxhciBzeW1tZXRyaWNhLWRldmVsIgogZGVwZW5kcz0iRmxp bnRRUyBlY2xpYi1kZXZlbCBmZmxhcy1mZnBhY2sgZmxpbnRsaWItZGV2ZWwgZ2NjLWZvcnRyYW4g Z2QtZGV2ZWwKICBnZmFuIGdpYWMgZ3NsLWRldmVsIGd6aXAgbGlicG5nLWRldmVsIGxpbmJveC1k ZXZlbCBtNHJpLWRldmVsIG1heGltYS1lY2wKICBtcGZyLWRldmVsIG5hdXR5IG50bC1kZXZlbCBw YWxwIHBhcmktZGV2ZWwgcGFyaS1lbGxkYXRhLXNtYWxsIHBhcmktZ2FsZGF0YQpAQCAtMzIsNyAr MzIsNyBAQCBtYWludGFpbmVyPSJHb256YWxvIFRvcm5hcsOtYSA8dG9ybmFyaWFAY21hdC5lZHUu dXk+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwOi8vc2FnZW1h dGgub3JnLyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL3NhZ2VtYXRoL3NhZ2UvYXJj aGl2ZS9yZWZzL3RhZ3MvJHZlcnNpb24udGFyLmd6IgotY2hlY2tzdW09OWYyNmYxNGFhMzIyZTNj ZjM4YTcxODM1YjEyYWMzNGIyMzAyNmI0NjdmNzRkNTRiMDY0YzVkMDI1ZTc2ZmJmZAorY2hlY2tz dW09MmFmZjI4YmQxZDE4YzJkNTI2NTgxZjUyOThhY2I4MzM2ZjViOTJkYjU2NzVhNzQwM2RlYzhl YWY5YTg2YmM0YwogCiBkb19jb25maWd1cmUoKSB7CiAJIyBnaXQgdHJlZSBuZWVkcyBib290c3Ry YXBwaW5nCmRpZmYgLS1naXQgYS9zcmNwa2dzL3NhZ2VtYXRoL3VwZGF0ZSBiL3NyY3BrZ3Mvc2Fn ZW1hdGgvdXBkYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNjhi ZTNjNTc1MmQwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9zYWdlbWF0aC91cGRhdGUKQEAg LTAsMCArMSwyIEBACitwa2duYW1lPSJzYWdlIgorc2l0ZT0iaHR0cHM6Ly9taXJyb3JzLm1pdC5l ZHUvc2FnZS9zcmMvaW5kZXguaHRtbCIK --===============7635126928380129620==--