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, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 32615 invoked from network); 15 Dec 2023 01:58:41 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 15 Dec 2023 01:58:41 -0000 Content-Type: multipart/mixed; boundary="===============0318117992816094526==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_AnyDesk=3A_update_to_6=2E3=2E0=2C_add_armv7_support?= To: ml@inbox.vuxu.org From: MechDR Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Fri, 15 Dec 2023 02:58:41 +0100 List-Id: Message-ID: <20231215015841.My4AScTzs0GxJiwZaz3FTYGj6tXsZKoAFgpxTB5otIs@z> GitHub notification mails are now in MIME to allow UTF8. --===============0318117992816094526== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgTWVjaERSIGFnYWluc3QgbWFzdGVy IG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9NZWNo RFIvdm9pZC1wYWNrYWdlcyBhbnlkZXNrCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC80NzY1NgoKQW55RGVzazogdXBkYXRlIHRvIDYuMy4wLCBhZGQgYXJt djcgc3VwcG9ydApVcGRhdGVkIEFueURlc2sgdG8gdmVyc2lvbiA2LjMuMCBhbmQgYWRkZWQgcmVw YWNrYWdlIHN1cHBvcnQgZm9yIEFSTXY3IG9uIFJQaS4gU2hvdWxkIGFsc28gd29yayBvbiBhbnl0 aGluZyB0aGF0IGlzIG5vdCBhbiBSUGkgYnV0IHVzZXMgQVJNdjdIRiBvciBBUk12N0wuDQoNClRo ZSBiaW5hcmllcyBhcmUgb25seSBmb3IgdGhlIFJQaTMsIHNvIHRoZXkgYXJlIDMyLWJpdCBvbmx5 LiBBbnlEZXNrIHN0aWxsIGRvZXNuJ3QgaGF2ZSBhbnkgQVJNNjQgYmluYXJpZXMsIHNvIG5vIFJQ aTQgc3VwcG9ydC4gQnV0LCBpbiB0aGVvcnksIHRoZXkgc2hvdWxkIHJ1biB3aXRob3V0IGEgcHJv YmxlbSBvbiBhbnkgQVJNdjdIRi9MIGRldmljZS4NCg0KRG9uJ3Qga25vdyBpZiBtdWx0aWxpYiBp cyBhIHRoaW5nIG9uIEFSTTY0Li4uIEkgcHJlc3VtZSBub3QuLi4NCg0KPCEtLSBVbmNvbW1lbnQg cmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRlbGV0ZSBvcHRpb25zIHdoaWNoIGFyZSBub3QgYXBwbGlj YWJsZSAtLT4NCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVkIHRoZSBjaGFu Z2VzIGluIHRoaXMgUFI6ICoqWUVTKioNCg0KIyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nDQotIEkg YnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciBteSBuYXRpdmUgYXJjaGl0ZWN0dXJlLCAoeDg2XzY0 LWdsaWJjKQ0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJl cyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3NzYnVpbGRzKToNCiAgLSBhcm12N2wNCiAgLSBhcm12 N2hmCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lk LXBhY2thZ2VzL3B1bGwvNDc2NTYucGF0Y2ggaXMgYXR0YWNoZWQ= --===============0318117992816094526== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-anydesk-47656.patch" RnJvbSA0MzU5NTIxMGI1MjI0MWNlMTg0YjEzMTZjNzJmMzJlYWVkMTFjMjMwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAweDVjIDxkZXZAMHg1Yy5pbz4KRGF0ZTogV2VkLCAxMyBEZWMg MjAyMyAxODo0OTowNCAtMDUwMApTdWJqZWN0OiBbUEFUQ0hdIEFueURlc2sKCi0tLQogY29tbW9u L3NobGlicyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzICstCiBzcmNwa2dz L2FueWRlc2svdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgfCAgMjcgKy0KIHNyY3BrZ3Mv YXR1aW4vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL2Nh bGlicmUvcGF0Y2hlcy9weXRob24tMy4xMi5wYXRjaCAgICAgfCAgMTEgKwogc3JjcGtncy9jYWxp YnJlL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgIHwgIDM0ICstCiBzcmNwa2dzL2Nocm9t aXVtL2ZpbGVzL2Nocm9taXVtLmRlc2t0b3AgICAgICAgfCAxMTIgLS0tLQogLi4uL2ZpbGVzL211 c2wtcGF0Y2hlcy9saWJjKystbXVzbC5wYXRjaCAgICAgIHwgIDEyICsKIC4uLi9jaHJvbWl1bS0x MTgtcHl0aG9uLTMuMTItZGVwcmVjYXRlZC5wYXRjaCB8IDEzOCAtLS0tLQogLi4ua2Fyb3VuZF9j bGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nLnBhdGNoIHwgIDk2IC0tLS0KIC4uLi9wYXRjaGVz L2Nocm9taXVtLTExOS1jb25zdGV4cHIucGF0Y2ggICAgICB8ICAxMiAtCiAuLi50VmlkZW9EZWNv ZGVyLWZsYWctb24tVkEtQVBJLWRldmljZXMucGF0Y2ggfCAxOTUgLS0tLS0tLQogLi4uLTExOS1u dWxscHRyX3Qtd2l0aG91dC1uYW1lc3BhY2Utc3RkLnBhdGNoIHwgIDIxIC0KIC4uLmEtdXNlLXNl cGFyYXRlLWJvLXRvLXZlcmlmeS1tb2RpZmllci5wYXRjaCB8IDE2NCAtLS0tLS0KIC4uLi9jaHJv bWl1bS0xMjAtYXJtNjQtbWVtb3J5X3RhZ2dpbmcucGF0Y2ggICB8ICAxNCArCiAuLi5ocm9taXVt LTEyMC1kaXNhYmxlLUZGbXBlZ0FsbG93TGlzdHMucGF0Y2ggfCAgMTIgKwogLi4uYmxlLUdsb2Jh bE1lZGlhQ29udHJvbHNDYXN0U3RhcnRTdG9wLnBhdGNoIHwgIDE0ICsKIC4uLmNocm9taXVtLTEy MC1lbDctY2xhbmctYnVpbGQtZmFpbHVyZS5wYXRjaCB8IDIzMCArKysrKysrKwogLi4uaXVtLTEy MC1lbDctY2xhbmctYnVpbGQtZmFpbHVyZS5wYXRjaC5hcmdzIHwgICAxICsKIC4uLnJvbWl1bS0x MjAtZWw3LWNsYW5nLXZlcnNpb24td2FybmluZy5wYXRjaCB8ICAxNiArCiAuLi4vY2hyb21pdW0t MTIwLWduLXdvcmthcm91bmQtYXRzcGkucGF0Y2ggICAgfCAgMTMgKwogLi4uPiBjaHJvbWl1bS0x MjAtbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2h9IHwgIDExIC0KIC4uLmhyb21pdW0tMTIwLW5v X21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNofSB8IDQ5MyArKysrKysrKysrLS0tLS0tLS0KIC4u LjIwLXNwbGl0LXRocmVzaG9sZC1mb3ItcmVnLXdpdGgtaGludC5wYXRjaCB8ICAyOCArCiAuLi5u YW1lLnBhdGNoID0+IGNocm9taXVtLTEyMC10eXBlbmFtZS5wYXRjaH0gfCAgNDEgKysKIC4uLmth cm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaCB8ICA1MSArKwogLi4ueC1h YXJjaDY0LW11c2wtbWVtb3J5LXRhZ2dpbmctbWFjcm9zLnBhdGNoIHwgICA0ICstCiAuLi4vY2hy b21pdW0vcGF0Y2hlcy9tdXNsLW5vLWV4ZWNpbmZvLnBhdGNoICAgfCAgIDkgLQogLi4uL2Nocm9t aXVtL3BhdGNoZXMvbXVzbC1uby1tYWxsaW5mby5wYXRjaCAgIHwgICA4ICstCiAuLi4vcGF0Y2hl cy9tdXNsLXBhcnRpdGlvbi1hdGZvcmsucGF0Y2ggICAgICAgfCAgIDQgKy0KIHNyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9uby1tdGUucGF0Y2ggICAgICAgICB8ICAxMSAtCiBzcmNwa2dzL2Nocm9t aXVtL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAgMzggKy0KIHNyY3BrZ3MvY2hyb21p dW0vdXBkYXRlICAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogc3JjcGtncy9kaXNjb3Jk LXB0Yi90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgIHwgICA0ICstCiBzcmNwa2dzL2hleHlsL3Rl bXBsYXRlICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIHNyY3BrZ3MvaG9yaXpvbi90 ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogc3JjcGtncy9qcS90ZW1wbGF0 ZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1ICstCiBzcmNwa2dzL2tub3QvdGVtcGxh dGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIHNyY3BrZ3Mva3JlbmFtZS9wYXRj aGVzL3BvZG9mby0wLjEwLnBhdGNoICAgICB8IDEwNyArKysrCiBzcmNwa2dzL2tyZW5hbWUvdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvbGlicG9kb2ZvMC45 LjctZGV2ZWwgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzL2xpYnBvZG9mbzAuOS43 L3RlbXBsYXRlICAgICAgICAgICAgICAgfCAgMjYgKwogc3JjcGtncy9saWJ4c2x0L3RlbXBsYXRl ICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2xpbnV4Ni42L3RlbXBsYXRl ICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIHNyY3BrZ3MvbXB2cGFwZXIvdGVtcGxhdGUg ICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogc3JjcGtncy9wZXJsLU1vemlsbGEtQ0EvdGVt cGxhdGUgICAgICAgICAgICAgIHwgICA0ICstCiBzcmNwa2dzL3BvZG9mby90ZW1wbGF0ZSAgICAg ICAgICAgICAgICAgICAgICAgfCAgMjYgKy0KIHNyY3BrZ3Mvc2NyaWJ1cy90ZW1wbGF0ZSAgICAg ICAgICAgICAgICAgICAgICB8ICAgNCArLQogc3JjcGtncy92aHMvdGVtcGxhdGUgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICA2ICstCiA0OCBmaWxlcyBjaGFuZ2VkLCA5NTggaW5zZXJ0aW9u cygrKSwgMTA3NyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2NhbGli cmUvcGF0Y2hlcy9weXRob24tMy4xMi5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv Y2hyb21pdW0vZmlsZXMvY2hyb21pdW0uZGVza3RvcAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL2xpYmMrKy1tdXNsLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOC1weXRob24t My4xMi1kZXByZWNhdGVkLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL2Nocm9taXVtLTExOC13b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2Jp bmRpbmcucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Y2hyb21pdW0tMTE5LWNvbnN0ZXhwci5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTktaGlkZS1Vc2VDaHJvbWVPU0RpcmVjdFZpZGVv RGVjb2Rlci1mbGFnLW9uLVZBLUFQSS1kZXZpY2VzLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOS1udWxscHRyX3Qtd2l0aG91dC1u YW1lc3BhY2Utc3RkLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2Nocm9taXVtLTExOS1udmlkaWEtdXNlLXNlcGFyYXRlLWJvLXRvLXZlcmlmeS1tb2Rp Zmllci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9j aHJvbWl1bS0xMjAtYXJtNjQtbWVtb3J5X3RhZ2dpbmcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWRpc2FibGUtRkZtcGVnQWxs b3dMaXN0cy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9jaHJvbWl1bS0xMjAtZGlzYWJsZS1HbG9iYWxNZWRpYUNvbnRyb2xzQ2FzdFN0YXJ0U3RvcC5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1 bS0xMjAtZWw3LWNsYW5nLWJ1aWxkLWZhaWx1cmUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWVsNy1jbGFuZy1idWlsZC1mYWls dXJlLnBhdGNoLmFyZ3MKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvY2hyb21pdW0tMTIwLWVsNy1jbGFuZy12ZXJzaW9uLXdhcm5pbmcucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWduLXdvcmth cm91bmQtYXRzcGkucGF0Y2gKIHJlbmFtZSBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMve2Nocm9t aXVtLTExOS1taXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaCA9PiBjaHJvbWl1bS0xMjAtbWlzc2lu Zy1oZWFkZXItZmlsZXMucGF0Y2h9ICg5NyUpCiByZW5hbWUgc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL3tjaHJvbWl1bS0xMTktbm9fbWF0Y2hpbmdfY29uc3RydWN0b3IucGF0Y2ggPT4gY2hyb21p dW0tMTIwLW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNofSAoNjclKQogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtc3BsaXQtdGhyZXNo b2xkLWZvci1yZWctd2l0aC1oaW50LnBhdGNoCiByZW5hbWUgc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL3tjaHJvbWl1bS0xMTctdHlwZW5hbWUucGF0Y2ggPT4gY2hyb21pdW0tMTIwLXR5cGVuYW1l LnBhdGNofSAoODMlKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9jaHJvbWl1bS0xMjAtd29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nLnBh dGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLW10ZS5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mva3JlbmFtZS9wYXRjaGVzL3BvZG9mby0w LjEwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9saWJwb2RvZm8wLjkuNy1kZXZl bAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGlicG9kb2ZvMC45LjcvdGVtcGxhdGUKCmRp ZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCA1NzU3ZWM5NmM2 NjAxLi42NmQwMDQ1YTI4OThmIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1v bi9zaGxpYnMKQEAgLTI1NTcsNyArMjU1Nyw4IEBAIGxpYm5kcGkuc28uMyBuZHBpLTMuNF8xCiBs aWJLRjVXaWRnZXRzQWRkb25zLnNvLjUga3dpZGdldHNhZGRvbnMtNS4yNi4wXzEKIGxpYnNlYXJw Yy5zby4xIGxpYnNlYXJwYy0zLjAuN18xCiBsaWJzZWFmaWxlLnNvLjAgc2VhZmlsZS1saWJjbGll bnQtNy4wLjEwXzIKLWxpYnBvZG9mby5zby4wLjkuNyBsaWJwb2RvZm8tMC45LjdfMgorbGlicG9k b2ZvLnNvLjAuOS43IGxpYnBvZG9mbzAuOS43LTAuOS43XzEKK2xpYnBvZG9mby5zby4yIGxpYnBv ZG9mby0wLjEwLjNfMQogbGliSXJjVXRpbC5zby4zIGxpYmNvbW11bmktMy40LjBfMQogbGliSXJj Q29yZS5zby4zIGxpYmNvbW11bmktMy40LjBfMQogbGliSXJjTW9kZWwuc28uMyBsaWJjb21tdW5p LTMuNC4wXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYW55ZGVzay90ZW1wbGF0ZSBiL3NyY3BrZ3Mv YW55ZGVzay90ZW1wbGF0ZQppbmRleCBlYWVjNGI5M2FkNjAyLi41ODQ1ZGNiYTcwYWI4IDEwMDY0 NAotLS0gYS9zcmNwa2dzL2FueWRlc2svdGVtcGxhdGUKKysrIGIvc3JjcGtncy9hbnlkZXNrL3Rl bXBsYXRlCkBAIC0xLDMxICsxLDM2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhbnlkZXNrJwog cGtnbmFtZT1hbnlkZXNrCi12ZXJzaW9uPTYuMi4xCit2ZXJzaW9uPTYuMy4wCiByZXZpc2lvbj0x Ci1hcmNocz0ieDg2XzY0IgorYXJjaHM9Ing4Nl82NCBhcm12N2wgYXJtdjdoZiIKIGNyZWF0ZV93 cmtzcmM9eWVzCiBob3N0bWFrZWRlcGVuZHM9InBhdGNoZWxmIgogZGVwZW5kcz0iaGljb2xvci1p Y29uLXRoZW1lIGd0a2dsZXh0Igogc2hvcnRfZGVzYz0iRmFzdCByZW1vdGUgZGVza3RvcCBhcHBs aWNhdGlvbiIKIG1haW50YWluZXI9Im1vYmlubW9iIDxtb2Jpbm1vYkBkaXNyb290Lm9yZz4iCiBs aWNlbnNlPSJjdXN0b206UHJvcHJpZXRhcnkiCi0jRnJlZSBmb3IgcGVyc29uYWwgdXNlLiBUZXJt cyBhbmQgY29uZGl0aW9uczpodHRwczovL2FueWRlc2suY29tL2VuL3Rlcm1zCisjRnJlZSBmb3Ig cGVyc29uYWwgdXNlLiBUZXJtcyBhbmQgY29uZGl0aW9uczogaHR0cHM6Ly9hbnlkZXNrLmNvbS9l bi90ZXJtcwogaG9tZXBhZ2U9Imh0dHBzOi8vYW55ZGVzay5jb20vcmVtb3RlLWRlc2t0b3AiCiBu b3BpZT15ZXMKIHJlc3RyaWN0ZWQ9eWVzCiAKLWRpc3RmaWxlcz0iaHR0cHM6Ly9kb3dubG9hZC5h bnlkZXNrLmNvbS9saW51eC9hbnlkZXNrXyR7dmVyc2lvbn0tMV94ODZfNjQucnBtCi0JaHR0cHM6 Ly9kb3dubG9hZC5hbnlkZXNrLmNvbS9saW51eC9hbnlkZXNrLSR7dmVyc2lvbn0tYW1kNjQudGFy Lmd6IgotY2hlY2tzdW09IjY4ZjgzOTVhMGM4NGYyNTYwZmZhNDI1NDk3ZmJmOTg0NmE2MWJiMmRi YzRiMTAxMGE4ZmZjYTc4NTY1MTRhYjIKLSA5NmE3ZGVkMjE0NGVjZGFmZjM4MWMzNGU0OWVlZTMy NzVjYWFhYWMwMDg0N2U5MWFiZjVlNzc4MzcwNmM5ODljIgotCitjYXNlICIke1hCUFNfVEFSR0VU X01BQ0hJTkV9IiBpbgorCXg4Nl82NCkKKwkJZGlzdGZpbGVzPSJodHRwczovL2Rvd25sb2FkLmFu eWRlc2suY29tL2xpbnV4L2FueWRlc2tfJHt2ZXJzaW9ufS0xX2FtZDY0LmRlYiIKKwkJY2hlY2tz dW09IjMwZjZlNDRjZWEyODQyOGQxY2I2NDUwNTVmYWU3MmNmMTY2ZjYzMzE4ZTBjOTRmMmMxMmQx OGEzNjE0Y2UzMGMiCisJCTs7CisJYXJtdjcqKQorCQlkaXN0ZmlsZXM9Imh0dHBzOi8vZG93bmxv YWQuYW55ZGVzay5jb20vcnBpL2FueWRlc2tfJHt2ZXJzaW9ufS0xX2FybWhmLmRlYiIKKwkJY2hl Y2tzdW09IjEwYThmNDQyODc3ZDY1NDU4YzgwMGRhMmE0Yzc3MjUzMmMxNzhhNjc1YzU1NjA0Y2Nh NjYxNTZhNWM4MTJlMWEiCisJCTs7Citlc2FjCiAKIGRvX2J1aWxkKCkgewogCXBhdGNoZWxmIC0t cmVtb3ZlLW5lZWRlZCBsaWJwYW5nb3gtMS4wLnNvLjAgdXNyL2Jpbi9hbnlkZXNrCiB9CiAKIGRv X2luc3RhbGwoKSB7Ci0JdmxpY2Vuc2UgIiR7cGtnbmFtZX0tJHt2ZXJzaW9ufSIvY29weXJpZ2h0 Ci0Jcm0gLXJmICIke3BrZ25hbWV9LSR7dmVyc2lvbn0iCi0JdmNvcHkgIioiIC8KKyAgICAgICAg ZWNobyAiU2VlOiBodHRwczovL2FueWRlc2suY29tL2VuL3Rlcm1zIiA+IExJQ0VOU0UKKyAgICAg ICAgdmxpY2Vuc2UgTElDRU5TRQorICAgICAgICB2Y29weSB1c3IgLwogfQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9hdHVpbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvYXR1aW4vdGVtcGxhdGUKaW5kZXggYjNl MjY0NDc0MzM2YS4uY2Q3NWFmMGIyZDE4OCAxMDA2NDQKLS0tIGEvc3JjcGtncy9hdHVpbi90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL2F0dWluL3RlbXBsYXRlCkBAIC0xMiw2ICsxMiw3IEBAIHNob3J0 X2Rlc2M9Ik1hZ2ljYWwgc2hlbGwgaGlzdG9yeSIKIG1haW50YWluZXI9Ik1hcmNpbiBQdWMgPHRy YW56eXN0b3Jlay5pb0Bwcm90b25tYWlsLmNvbT4iCiBsaWNlbnNlPSJNSVQiCiBob21lcGFnZT0i aHR0cHM6Ly9hdHVpbi5zaCIKK2NoYW5nZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRl bnQuY29tL2F0dWluc2gvYXR1aW4vbWFpbi9DSEFOR0VMT0cubWQiCiBkaXN0ZmlsZXM9Imh0dHBz Oi8vZ2l0aHViLmNvbS9hdHVpbnNoL2F0dWluL2FyY2hpdmUvcmVmcy90YWdzL3Yke3ZlcnNpb259 LnRhci5neiIKIGNoZWNrc3VtPTZhMGIxNTQyZTcwNjFlNmE1YmNkZjNjMjg0ZDNhZDM4NmUzNTA0 ZTA0MGZjZmExNTAwZjUzMGE1MTI1YjM3YjgKIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jYWxpYnJl L3BhdGNoZXMvcHl0aG9uLTMuMTIucGF0Y2ggYi9zcmNwa2dzL2NhbGlicmUvcGF0Y2hlcy9weXRo b24tMy4xMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi44 YzMwOTQ1M2E4ZDgwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jYWxpYnJlL3BhdGNoZXMv cHl0aG9uLTMuMTIucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEvY2FsaWJyZS9zcmMvdGVt cGxpdGUvX19pbml0X18ucHkKKysrKyBiL2NhbGlicmUvc3JjL3RlbXBsaXRlL19faW5pdF9fLnB5 CitAQCAtMzAsNyArMzAsNyBAQCBpbXBvcnQgc3lzLCByZQorIGZyb20gcG9seWdsb3QuYnVpbHRp bnMgaW1wb3J0IHVuaWNvZGVfdHlwZQorIAorIGNsYXNzIFRlbXBsaXRlOgorLSAgICBhdXRvX2Vt aXQgPSByZS5jb21waWxlKCcoXltcJ1wiXSl8KF5bYS16QS1aMC05X1xbXF1cJ1wiXSskKScpCisr ICAgIGF1dG9fZW1pdCA9IHJlLmNvbXBpbGUoJyheW1wnXCJdKXwoXlthLXpBLVowLTlfXFxbXFxd XCdcIl0rJCknKQorIAorICAgICBkZWYgX19pbml0X18oc2VsZiwgdGVtcGxhdGUsIHN0YXJ0PSck eycsIGVuZD0nfSQnKToKKyAgICAgICAgIGlmIGxlbihzdGFydCkgIT0gMiBvciBsZW4oZW5kKSAh PSAyOgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jYWxpYnJlL3RlbXBsYXRlIGIvc3JjcGtncy9jYWxp YnJlL3RlbXBsYXRlCmluZGV4IDM3YjVjNGMyYTRmNzcuLmM2YWRjMDE5NTQ4ZjcgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvY2FsaWJyZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2NhbGlicmUvdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjYWxpYnJlJwogcGtnbmFt ZT1jYWxpYnJlCi12ZXJzaW9uPTYuMTcuMAotcmV2aXNpb249NAordmVyc2lvbj03LjEuMAorcmV2 aXNpb249MQogYnVpbGRfd3Jrc3JjPWNhbGlicmUKIGJ1aWxkX3N0eWxlPXB5dGhvbjMtbW9kdWxl CiBweWNvbXBpbGVfZGlycz0iL3Vzci9saWIvY2FsaWJyZS8iCkBAIC05LDE0ICs5LDE0IEBAIGhv c3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBjbWFrZSBweXRob24zLUJlYXV0aWZ1bFNvdXA0IHB5 dGhvbjMtUGlsbG93CiAgcHl0aG9uMy1hcHN3IHB5dGhvbjMtY3NzLXBhcnNlciBweXRob24zLWRh dGV1dGlsIHNpcCBxdDYtYmFzZSBweXRob24zLXB5N3pyCiAgcHl0aG9uMy1odG1sNS1wYXJzZXIg cHl0aG9uMy1tc2dwYWNrIHB5dGhvbjMtcmVnZXggcHl0aG9uMy1tZWNoYW5pemUKICBtYXRoamF4 IGxpYmVyYXRpb24tZm9udHMtdHRmIHB5dGhvbjMtemVyb2NvbmYgeGRnLXV0aWxzIHJhcHlkc2Ny aXB0LW5nCi0gcHl0aG9uMy1QeVF0LWJ1aWxkZXIgcHl0aG9uMy1NYXJrZG93biIKKyBweXRob24z LVB5UXQtYnVpbGRlciBweXRob24zLU1hcmtkb3duIHB5dGhvbjMteHhoYXNoIgogbWFrZWRlcGVu ZHM9ImxpYmlucHV0LWRldmVsIGxpYm1hZ2ljay1kZXZlbCBsaWJtdHAtZGV2ZWwgbGlic3RlbW1l ci1kZXZlbAogIGxpYnBvZG9mby1kZXZlbCBsaWJ3bWYtZGV2ZWwgbGlieGtiY29tbW9uLWRldmVs IHBvcHBsZXItY3BwLWRldmVsCiAgZnJlZXR5cGUtZGV2ZWwgdWNoYXJkZXQtZGV2ZWwgb3BlbnNz bC1kZXZlbCBpY3UtZGV2ZWwgbGlidXNiLWRldmVsCiAgc3FsaXRlLWRldmVsIHRzbGliLWRldmVs IGh1bnNwZWxsLWRldmVsIGh5cGhlbi1kZXZlbCBsaWJzdGVtbWVyLWRldmVsCiAgcHl0aG9uMy1w eXF0Ni1kZXZlbCBweXRob24zLXB5cXQ2LXdlYmVuZ2luZS1kZXZlbCIKIGRlcGVuZHM9ImRlc2t0 b3AtZmlsZS11dGlscyBvcHRpcG5nIHBvcHBsZXIgcHl0aG9uMy1CZWF1dGlmdWxTb3VwNAotIHF0 Ni1pbWFnZWZvcm1hdHMgcHl0aG9uMy1QeWdtZW50cyBweXRob24zLXB5Y3J5cHRvZG9tZQorIHF0 Ni1pbWFnZWZvcm1hdHMgcHl0aG9uMy1QeWdtZW50cyBweXRob24zLXB5Y3J5cHRvZG9tZSBweXRo b24zLXh4aGFzaAogIHB5dGhvbjMtTWFya2Rvd24gcHl0aG9uMy1QaWxsb3cgcHl0aG9uMy16ZXJv Y29uZiBweXRob24zLVB5Z21lbnRzIHB5dGhvbjMtYXBzdwogIHB5dGhvbjMtY3NzLXBhcnNlciBw eXRob24zLWNzc3NlbGVjdCBweXRob24zLWRhdGV1dGlsIHB5dGhvbjMtamVlcG5leQogIHB5dGhv bjMtZG5zcHl0aG9uIHB5dGhvbjMtZmVlZHBhcnNlciBweXRob24zLWh0bWw1LXBhcnNlciBweXRo b24zLW1lY2hhbml6ZQpAQCAtMjYsMTggKzI2LDE4IEBAIGRlcGVuZHM9ImRlc2t0b3AtZmlsZS11 dGlscyBvcHRpcG5nIHBvcHBsZXIgcHl0aG9uMy1CZWF1dGlmdWxTb3VwNAogIHB5dGhvbjMtcHlx dDYtbmV0d29yayBweXRob24zLXB5cXQ2LWRidXMgcHl0aG9uMy1weXF0Ni1vcGVuZ2wtd2lkZ2V0 cwogIHB5dGhvbjMtcHlxdDYtd2lkZ2V0cyBweXRob24zLXB5cXQ2LWd1aSBweXRob24zLXB5cXQ2 LWRlY2xhcmF0aXZlCiAgcHl0aG9uMy1weXF0Ni1wcmludHN1cHBvcnQgcHl0aG9uMy1weXF0Ni13 ZWJjaGFubmVsIHB5dGhvbjMtcHlxdDYtc3ZnCi0gcHl0aG9uMy1weXF0Ni13ZWJlbmdpbmUgcHl0 aG9uMy1mb250dG9vbHMiCisgcHl0aG9uMy1weXF0Ni1wZGYgcHl0aG9uMy1weXF0Ni13ZWJlbmdp bmUgcHl0aG9uMy1mb250dG9vbHMiCiBjaGVja2RlcGVuZHM9IiR7ZGVwZW5kc30gbGlianBlZy10 dXJiby10b29scyBqeHJsaWIiCiBzaG9ydF9kZXNjPSJFYm9vayBtYW5hZ2VtZW50IGFwcGxpY2F0 aW9uIgogbWFpbnRhaW5lcj0ic2ttcHogPGRlbS5wcm9jb3Bpb3VAZ21haWwuY29tPiIKIGxpY2Vu c2U9IkdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL2NhbGlicmUtZWJvb2suY29tIgog Y2hhbmdlbG9nPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20va292aWRnb3lhbC9j YWxpYnJlL21hc3Rlci9DaGFuZ2Vsb2cudHh0IgotX2xvdmVyPTcuNC4zLjIKK19sb3Zlcj03LjYu MC4zCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZG93bmxvYWQuY2FsaWJyZS1lYm9vay5jb20vJHt2ZXJz aW9ufS9jYWxpYnJlLSR7dmVyc2lvbn0udGFyLnh6CiAgaHR0cHM6Ly9kb3dubG9hZC5kb2N1bWVu dGZvdW5kYXRpb24ub3JnL2xpYnJlb2ZmaWNlL3NyYy8ke19sb3ZlciUuKn0vbGlicmVvZmZpY2Ut ZGljdGlvbmFyaWVzLSR7X2xvdmVyfS50YXIueHoiCi1jaGVja3N1bT0iMWNhNGFiYjhhNWQ4NTBj MWY1OTYzZTM3MDgwZGQxYTc3OTU3MzY1MzhkNWM0ZDRmZjYwMTRiNjg3ZDdhMzY4ZQotIDNhNTVk NTgwN2I3NjM4MjdmODIwYzRhZWUwYTBmZDlmNDQ1MjBlNzA2MjljOWViOTc0OGUxZjhjNTdjNjQz ODkiCitjaGVja3N1bT0iNzBhNTE1ZmFkMDU5ZTU5NzU3OTI4MmRkMjRmNzU0NDRhOWQ2M2Y5MDc5 ODMzMDk0NDEwN2ExNTUwMjExODI0YQorIGI5MzJjZGQ2YmQyZWU3MTdmM2EwOTc2NmM4OGZlOTAx MDBiMGMyYzA1MDkzMTNjM2VlMjk3Zjk1YzA4NGVlMmUiCiBweXRob25fdmVyc2lvbj0zCiBsaWIz MmRpc2FibGVkPXllcwogbm9jcm9zcz15ZXMKQEAgLTg0LDE2ICs4NCwxNiBAQCBkb19idWlsZCgp IHsKIAkJLS1wYXRoLXRvLWxpYmVyYXRpb25fZm9udHMgL3Vzci9zaGFyZS9mb250cy9UVEYvbGli ZXJhdGlvbgogCXB5dGhvbjMgc2V0dXAucHkgbWF0aGpheCBcCiAJCS0tcGF0aC10by1tYXRoamF4 IC91c3Ivc2hhcmUvbWF0aGpheCAtLXN5c3RlbS1tYXRoamF4Ci0JcHl0aG9uMyBzZXR1cC5weSBp c282MzkKLQlweXRob24zIHNldHVwLnB5IGlzbzMxNjYKKwkjIHB5dGhvbjMgc2V0dXAucHkgaXNv NjM5CisJIyBweXRob24zIHNldHVwLnB5IGlzbzMxNjYKIAkjIHB5dGhvbjMgc2V0dXAucHkgcmVj ZW50X3VhcwotCXB5dGhvbjMgc2V0dXAucHkgcmFweWRzY3JpcHQKLQlweXRob24zIHNldHVwLnB5 IHRyYW5zbGF0aW9ucwotCXB5dGhvbjMgc2V0dXAucHkgcmVzb3VyY2VzIFwKLQkJLS1wYXRoLXRv LWh5cGhlbmF0aW9uICIkd3Jrc3JjL2xpYnJlb2ZmaWNlLSR7X2xvdmVyfS9kaWN0aW9uYXJpZXMi IFwKLQkJLS1zeXN0ZW0tbGliZXJhdGlvbl9mb250cyBcCi0JCS0tcGF0aC10by1saWJlcmF0aW9u X2ZvbnRzIC91c3Ivc2hhcmUvZm9udHMvVFRGL2xpYmVyYXRpb24gXAotCQktLXBhdGgtdG8tbWF0 aGpheCAvdXNyL3NoYXJlL21hdGhqYXggLS1zeXN0ZW0tbWF0aGpheAorCSMgcHl0aG9uMyBzZXR1 cC5weSByYXB5ZHNjcmlwdAorCSMgcHl0aG9uMyBzZXR1cC5weSB0cmFuc2xhdGlvbnMKKwkjIHB5 dGhvbjMgc2V0dXAucHkgcmVzb3VyY2VzIFwKKwkjIAktLXBhdGgtdG8taHlwaGVuYXRpb24gIiR3 cmtzcmMvbGlicmVvZmZpY2UtJHtfbG92ZXJ9L2RpY3Rpb25hcmllcyIgXAorCSMgCS0tc3lzdGVt LWxpYmVyYXRpb25fZm9udHMgXAorCSMgCS0tcGF0aC10by1saWJlcmF0aW9uX2ZvbnRzIC91c3Iv c2hhcmUvZm9udHMvVFRGL2xpYmVyYXRpb24gXAorCSMgCS0tcGF0aC10by1tYXRoamF4IC91c3Iv c2hhcmUvbWF0aGpheCAtLXN5c3RlbS1tYXRoamF4CiB9CiAKIGRvX2NoZWNrKCkgewpkaWZmIC0t Z2l0IGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9jaHJvbWl1bS5kZXNrdG9wIGIvc3JjcGtncy9j aHJvbWl1bS9maWxlcy9jaHJvbWl1bS5kZXNrdG9wCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwNTc4OGY3MTM1ZGFhLi4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0v ZmlsZXMvY2hyb21pdW0uZGVza3RvcAorKysgL2Rldi9udWxsCkBAIC0xLDExMiArMCwwIEBACi1b RGVza3RvcCBFbnRyeV0KLU5hbWU9Q2hyb21pdW0KLSMgT25seSBLREUgNCBzZWVtcyB0byB1c2Ug R2VuZXJpY05hbWUsIHNvIHdlIHJldXNlIHRoZSBLREUgc3RyaW5ncy4KLSMgRnJvbSBVYnVudHUn cyBsYW5ndWFnZS1wYWNrLWtkZS1YWC1iYXNlIHBhY2thZ2VzLCB2ZXJzaW9uIDkuMDQtMjAwOTA0 MTMuCi1HZW5lcmljTmFtZT1XZWIgQnJvd3NlcgotR2VuZXJpY05hbWVbYXJdPdmF2KrYtdmB2K0g 2KfZhNi02KjZg9ipCi1HZW5lcmljTmFtZVtiZ1090KPQtdCxINCx0YDQsNGD0LfRitGACi1HZW5l cmljTmFtZVtjYV09TmF2ZWdhZG9yIHdlYgotR2VuZXJpY05hbWVbY3NdPVdXVyBwcm9obMOtxb5l xI0KLUdlbmVyaWNOYW1lW2RhXT1Ccm93c2VyCi1HZW5lcmljTmFtZVtkZV09V2ViLUJyb3dzZXIK LUdlbmVyaWNOYW1lW2VsXT3OoM61z4HOuc63zrPOt8+Ezq7PgiDOuc+Dz4TOv8+NCi1HZW5lcmlj TmFtZVtlbl9HQl09V2ViIEJyb3dzZXIKLUdlbmVyaWNOYW1lW2VzXT1OYXZlZ2Fkb3Igd2ViCi1H ZW5lcmljTmFtZVtldF09VmVlYmlicmF1c2VyCi1HZW5lcmljTmFtZVtmaV09V1dXLXNlbGFpbgot R2VuZXJpY05hbWVbZnJdPU5hdmlnYXRldXIgV2ViCi1HZW5lcmljTmFtZVtndV094Kq14KuH4Kqs IOCqrOCrjeCqsOCqvuCqieCqneCqsAotR2VuZXJpY05hbWVbaGVdPdeT16TXk9ek158g15DXmdeg 15jXqNeg15gKLUdlbmVyaWNOYW1lW2hpXT3gpLXgpYfgpKwg4KSs4KWN4KSw4KS+4KSJ4KSc4KS8 4KSwCi1HZW5lcmljTmFtZVtodV09V2ViYsO2bmfDqXN6xZEKLUdlbmVyaWNOYW1lW2l0XT1Ccm93 c2VyIFdlYgotR2VuZXJpY05hbWVbamFdPeOCpuOCp+ODluODluODqeOCpuOCtgotR2VuZXJpY05h bWVba25dPeCynOCyvuCysiDgsrXgs4DgspXgs43gsrfgspUKLUdlbmVyaWNOYW1lW2tvXT3sm7kg 67iM65287Jqw7KCACi1HZW5lcmljTmFtZVtsdF09xb1pbmlhdGlua2xpbyBuYXLFoXlrbMSXCi1H ZW5lcmljTmFtZVtsdl09VMSrbWVrxLxhIHDEgXJsxatrcwotR2VuZXJpY05hbWVbbWxdPeC0teC1 huC0rOC1jSDgtKzgtY3gtLDgtYzgtLjgtLDgtY3igI0KLUdlbmVyaWNOYW1lW21yXT3gpLXgpYfg pKwg4KSs4KWN4KSw4KS+4KSK4KSc4KSwCi1HZW5lcmljTmFtZVtuYl09TmV0dGxlc2VyCi1HZW5l cmljTmFtZVtubF09V2ViYnJvd3NlcgotR2VuZXJpY05hbWVbcGxdPVByemVnbMSFZGFya2EgV1dX Ci1HZW5lcmljTmFtZVtwdF09TmF2ZWdhZG9yIFdlYgotR2VuZXJpY05hbWVbcHRfQlJdPU5hdmVn YWRvciBkYSBJbnRlcm5ldAotR2VuZXJpY05hbWVbcm9dPU5hdmlnYXRvciBkZSBJbnRlcm5ldAot R2VuZXJpY05hbWVbcnVdPdCS0LXQsS3QsdGA0LDRg9C30LXRgAotR2VuZXJpY05hbWVbc2xdPVNw bGV0bmkgYnJza2FsbmlrCi1HZW5lcmljTmFtZVtzdl09V2ViYmzDpHNhcmUKLUdlbmVyaWNOYW1l W3RhXT3grofgrqPgr4jgrq8g4K6J4K6y4K6+4K614K6/Ci1HZW5lcmljTmFtZVt0aF094LmA4Lin 4LmH4Lia4LmA4Lia4Lij4Liy4Lin4LmM4LmA4LiL4Lit4Lij4LmMCi1HZW5lcmljTmFtZVt0cl09 V2ViIFRhcmF5xLFjxLEKLUdlbmVyaWNOYW1lW3VrXT3QndCw0LLRltCz0LDRgtC+0YAg0KLQtdC9 0LXRggotR2VuZXJpY05hbWVbemhfQ05dPee9kemhtea1j+iniOWZqAotR2VuZXJpY05hbWVbemhf SEtdPee2sumggeeAj+imveWZqAotR2VuZXJpY05hbWVbemhfVFddPee2sumggeeAj+imveWZqAot IyBOb3QgdHJhbnNsYXRlZCBpbiBLREUsIGZyb20gRXBpcGhhbnkgMi4yNi4xLTB1YnVudHUxLgot R2VuZXJpY05hbWVbYm5dPeCmk+Cnn+Cnh+CmrCDgpqzgp43gprDgpr7gpongppzgpr7gprAKLUdl bmVyaWNOYW1lW2ZpbF09V2ViIEJyb3dzZXIKLUdlbmVyaWNOYW1lW2hyXT1XZWIgcHJlZ2xlZG5p awotR2VuZXJpY05hbWVbaWRdPUJyb3dzZXIgV2ViCi1HZW5lcmljTmFtZVtvcl094KyT4K2N4Kys 4K2H4KysIOCsrOCtjeCssOCsvuCsieCsnOCssAotR2VuZXJpY05hbWVbc2tdPVdXVyBwcmVobGlh ZGHEjQotR2VuZXJpY05hbWVbc3JdPdCY0L3RgtC10YDQvdC10YIg0L/RgNC10LPQu9C10LTQvdC4 0LoKLUdlbmVyaWNOYW1lW3RlXT3gsK7gsLngsL7gsKTgsLIg4LCF4LCo4LGN4LC14LGH4LC34LC/ Ci1HZW5lcmljTmFtZVt2aV09QuG7mSBkdXnhu4d0IFdlYgotIyBHbm9tZSBhbmQgS0RFIDMgdXNl cyBDb21tZW50LgotQ29tbWVudD1BY2Nlc3MgdGhlIEludGVybmV0Ci1Db21tZW50W2FyXT3Yp9mE 2K/YrtmI2YQg2KXZhNmJINin2YTYpdmG2KrYsdmG2KoKLUNvbW1lbnRbYmddPdCU0L7RgdGC0YrQ vyDQtNC+INC40L3RgtC10YDQvdC10YIKLUNvbW1lbnRbYm5dPeCmh+CmqOCnjeCmn+CmvuCmsOCm qOCnh+Cmn+Cmn+CmvyDgpoXgp43gpq/gpr7gppXgp43gprjgp4fgprgg4KaV4Kaw4KeB4KaoCi1D b21tZW50W2NhXT1BY2NlZGVpeCBhIEludGVybmV0Ci1Db21tZW50W2NzXT1QxZnDrXN0dXAgayBp bnRlcm5ldHUKLUNvbW1lbnRbZGFdPUbDpSBhZGdhbmcgdGlsIGludGVybmV0dGV0Ci1Db21tZW50 W2RlXT1JbnRlcm5ldHp1Z3JpZmYKLUNvbW1lbnRbZWxdPc6gz4HPjM+DzrLOsc+Dzrcgz4PPhM6/ IM6UzrnOsc60zq/Ous+Ez4XOvwotQ29tbWVudFtlbl9HQl09QWNjZXNzIHRoZSBJbnRlcm5ldAot Q29tbWVudFtlc109QWNjZWRlIGEgSW50ZXJuZXQuCi1Db21tZW50W2V0XT1Qw6TDpHMgSW50ZXJu ZXR0aQotQ29tbWVudFtmaV09S8OkeXTDpCBpbnRlcm5ldGnDpAotQ29tbWVudFtmaWxdPUktYWNj ZXNzIGFuZyBJbnRlcm5ldAotQ29tbWVudFtmcl09QWNjw6lkZXIgw6AgSW50ZXJuZXQKLUNvbW1l bnRbZ3VdPeCqh+CqguCqn+CqsOCqqOCrh+CqnyDgqo3gqpXgq43gqrjgq4fgqrgg4KqV4Kqw4KuL Ci1Db21tZW50W2hlXT3XkteZ16nXlCDXkNecINeU15DXmdeg15jXqNeg15gKLUNvbW1lbnRbaGld PeCkh+CkguCkn+CksOCkqOClh+CknyDgpKTgpJUg4KSq4KS54KWB4KSC4KSaIOCkuOCljeCkpeCk vuCkquCkv+CkpCDgpJXgpLDgpYfgpIIKLUNvbW1lbnRbaHJdPVByaXN0dXAgSW50ZXJuZXR1Ci1D b21tZW50W2h1XT1JbnRlcm5ldGVsw6lyw6lzCi1Db21tZW50W2lkXT1Ba3NlcyBJbnRlcm5ldAot Q29tbWVudFtpdF09QWNjZXNzbyBhIEludGVybmV0Ci1Db21tZW50W2phXT3jgqTjg7Pjgr/jg7zj g43jg4Pjg4jjgavjgqLjgq/jgrvjgrkKLUNvbW1lbnRba25dPeCyh+CyguCyn+CysOCzjeCyqOCz huCyn+CzjSDgsoXgsqjgs43gsqjgs4Eg4LKq4LON4LKw4LK14LOH4LK24LK/4LK44LK/Ci1Db21t ZW50W2tvXT3snbjthLDrhLcg7Jew6rKwCi1Db21tZW50W2x0XT1JbnRlcm5ldG8gcHJpZWlnYQot Q29tbWVudFtsdl09UGlla8S8xat0IGludGVybmV0YW0KLUNvbW1lbnRbbWxdPeC0h+C0qOC1jeC0 seC0sOC1jeKAjeKAjOC0qOC1huC0seC1jeC0seC1jSDgtIbgtJXgtY3igIzgtLjgtLjgtY0g4LSa 4LWG4LSv4LWN4LSv4LWB4LSVCi1Db21tZW50W21yXT3gpIfgpILgpJ/gpLDgpKjgpYfgpJ/gpK7g pKfgpY3gpK/gpYcg4KSq4KWN4KSw4KS14KWH4KS2IOCkleCksOCkvgotQ29tbWVudFtuYl09R8Ol IHRpbCBJbnRlcm5ldHQKLUNvbW1lbnRbbmxdPVZlcmJpbmRpbmcgbWFrZW4gbWV0IGludGVybmV0 Ci1Db21tZW50W29yXT3grIfgrKPgrY3grJ/grLDgrY3grKjgrYfgrJ/grY0g4Kyq4K2N4Kyw4Kys 4K2H4Ky2IOCsleCssOCsqOCtjeCspOCtgQotQ29tbWVudFtwbF09U2tvcnp5c3RhaiB6IGludGVy bmV0dQotQ29tbWVudFtwdF09QWNlZGVyIMOgIEludGVybmV0Ci1Db21tZW50W3B0X0JSXT1BY2Vz c2FyIGEgaW50ZXJuZXQKLUNvbW1lbnRbcm9dPUFjY2VzYcWjaSBJbnRlcm5ldHVsCi1Db21tZW50 W3J1XT3QlNC+0YHRgtGD0L8g0LIg0JjQvdGC0LXRgNC90LXRggotQ29tbWVudFtza109UHLDrXN0 dXAgZG8gc2lldGUgSW50ZXJuZXQKLUNvbW1lbnRbc2xdPURvc3RvcCBkbyBpbnRlcm5ldGEKLUNv bW1lbnRbc3JdPdCf0YDQuNGB0YLRg9C/0LjRgtC1INCY0L3RgtC10YDQvdC10YLRgwotQ29tbWVu dFtzdl09R8OlIHV0IHDDpSBJbnRlcm5ldAotQ29tbWVudFt0YV094K6H4K6j4K+I4K6v4K6k4K+N 4K6k4K+IIOCuheCuo+CvgeCuleCvgeCupOCusuCvjQotQ29tbWVudFt0ZV094LCH4LCC4LCf4LCw 4LGN4LCo4LGG4LCf4LGN4oCM4LCo4LGBIOCwhuCwleCxjeCwuOCxhuCwuOCxjSDgsJrgsYbgsK/g sY3gsK/gsILgsKHgsL8KLUNvbW1lbnRbdGhdPeC5gOC4guC5ieC4suC4luC4tuC4h+C4reC4tOC4 meC5gOC4l+C4reC4o+C5jOC5gOC4meC5h+C4lQotQ29tbWVudFt0cl09xLBudGVybmV0J2UgZXJp xZ9pbgotQ29tbWVudFt1a1090JTQvtGB0YLRg9C/INC00L4g0IbQvdGC0LXRgNC90LXRgtGDCi1D b21tZW50W3ZpXT1UcnV5IGPhuq1wIEludGVybmV0Ci1Db21tZW50W3poX0NOXT3orr/pl67kupLo gZTnvZEKLUNvbW1lbnRbemhfSEtdPemAo+e3muWIsOe2sumam+e2sui3rwotQ29tbWVudFt6aF9U V1096YCj57ea5Yiw57ay6Zqb57ay6LevCi1FeGVjPWNocm9taXVtICVVCi1UZXJtaW5hbD1mYWxz ZQotSWNvbj1jaHJvbWl1bQotVHlwZT1BcHBsaWNhdGlvbgotQ2F0ZWdvcmllcz1HVEs7TmV0d29y aztXZWJCcm93c2VyOwotTWltZVR5cGU9dGV4dC9odG1sO3RleHQveG1sO2FwcGxpY2F0aW9uL3ho dG1sK3htbDt0ZXh0L21tbDt4LXNjaGVtZS1oYW5kbGVyL2h0dHA7eC1zY2hlbWUtaGFuZGxlci9o dHRwczsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL2xp YmMrKy1tdXNsLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbGli YysrLW11c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4u YjkwYTU0ZGFhOGI0OQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMv bXVzbC1wYXRjaGVzL2xpYmMrKy1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK1NvdXJjZTog aHR0cHM6Ly9naXQuYWxwaW5lbGludXgub3JnL2Fwb3J0cy90cmVlL2NvbW11bml0eS9jaHJvbWl1 bS95ZXMtbXVzbC5wYXRjaAorLS0tIC4vYnVpbGR0b29scy90aGlyZF9wYXJ0eS9saWJjKysvX19j b25maWdfc2l0ZS5vcmlnCisrKysgLi9idWlsZHRvb2xzL3RoaXJkX3BhcnR5L2xpYmMrKy9fX2Nv bmZpZ19zaXRlCitAQCAtMTgsNyArMTgsNyBAQAorIC8qICN1bmRlZiBfTElCQ1BQX0FCSV9GT1JD RV9NSUNST1NPRlQgKi8KKyAvKiAjdW5kZWYgX0xJQkNQUF9IQVNfTk9fVEhSRUFEUyAqLworIC8q ICN1bmRlZiBfTElCQ1BQX0hBU19OT19NT05PVE9OSUNfQ0xPQ0sgKi8KKy0vKiAjdW5kZWYgX0xJ QkNQUF9IQVNfTVVTTF9MSUJDICovCisrI2RlZmluZSBfTElCQ1BQX0hBU19NVVNMX0xJQkMgMQor IC8qICN1bmRlZiBfTElCQ1BQX0hBU19USFJFQURfQVBJX1BUSFJFQUQgKi8KKyAvKiAjdW5kZWYg X0xJQkNQUF9IQVNfVEhSRUFEX0FQSV9FWFRFUk5BTCAqLworIC8qICN1bmRlZiBfTElCQ1BQX0hB U19USFJFQURfQVBJX1dJTjMyICovCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvY2hyb21pdW0tMTE4LXB5dGhvbi0zLjEyLWRlcHJlY2F0ZWQucGF0Y2ggYi9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTE4LXB5dGhvbi0zLjEyLWRlcHJlY2F0ZWQucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU4MzdhZTU4NDExN2QuLjAwMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOC1weXRob24tMy4x Mi1kZXByZWNhdGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM4ICswLDAgQEAKLWRpZmYg LXVwIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2Jhc2Uvd3JpdGVfYnVpbGRfZGF0ZV9oZWFkZXIu cHkubWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvYmFzZS93cml0ZV9idWlsZF9kYXRlX2hlYWRl ci5weQotLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2Jhc2Uvd3JpdGVfYnVpbGRfZGF0ZV9o ZWFkZXIucHkubWUJMjAyMy0wNy0yMiAxNDoyMzo0Mi42MjA2NzkzOTcgKzAyMDAKLSsrKyBjaHJv bWl1bS0xMTUuMC41NzkwLjEwMi9iYXNlL3dyaXRlX2J1aWxkX2RhdGVfaGVhZGVyLnB5CTIwMjMt MDctMjIgMTU6MjQ6NDYuODMzMzEwMzEwICswMjAwCi1AQCAtMTcsNyArMTcsNyBAQCBkZWYgbWFp bigpOgotICAgYXJncyA9IGFyZ3VtZW50X3BhcnNlci5wYXJzZV9hcmdzKCkKLSAKLSAgIGRhdGVf dmFsID0gaW50KGFyZ3MudGltZXN0YW1wKQotLSAgZGF0ZSA9IGRhdGV0aW1lLmRhdGV0aW1lLnV0 Y2Zyb210aW1lc3RhbXAoZGF0ZV92YWwpCi0rICBkYXRlID0gIGRhdGV0aW1lLmRhdGV0aW1lLmZy b210aW1lc3RhbXAoZGF0ZV92YWwsIGRhdGV0aW1lLnRpbWV6b25lLnV0YykKLSAgIG91dHB1dCA9 ICgnLy8gR2VuZXJhdGVkIGJ5IC8vYmFzZS93cml0ZV9idWlsZF9kYXRlX2hlYWRlci5weVxuJwot ICAgICAgICAgICAgICcjaWZuZGVmIEJBU0VfR0VORVJBVEVEX0JVSUxEX0RBVEVfVElNRVNUQU1Q IFxuJwotICAgICAgICAgICAgIGYnI2RlZmluZSBCQVNFX0dFTkVSQVRFRF9CVUlMRF9EQVRFX1RJ TUVTVEFNUCB7ZGF0ZV92YWx9JwotZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvYnVp bGQvd3JpdGVfYnVpbGRmbGFnX2hlYWRlci5weS5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9i dWlsZC93cml0ZV9idWlsZGZsYWdfaGVhZGVyLnB5Ci0tLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4x MDIvYnVpbGQvd3JpdGVfYnVpbGRmbGFnX2hlYWRlci5weS5tZQkyMDIzLTA3LTIyIDE0OjE2OjE0 LjE5Njk3NTQ1MSArMDIwMAotKysrIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2J1aWxkL3dyaXRl X2J1aWxkZmxhZ19oZWFkZXIucHkJMjAyMy0wNy0yMiAxNDoyMDoyNC45NzcyMzk5OTQgKzAyMDAK LUBAIC00NCw3ICs0NCw3IEBAIGRlZiBHZXRPcHRpb25zKCk6Ci0gICBoZWFkZXJfZ3VhcmQgPSBj bWRsaW5lX29wdGlvbnMub3V0cHV0LnVwcGVyKCkKLSAgIGlmIGhlYWRlcl9ndWFyZFswXS5pc2Rp Z2l0KCk6Ci0gICAgIGhlYWRlcl9ndWFyZCA9ICdfJyArIGhlYWRlcl9ndWFyZAotLSAgaGVhZGVy X2d1YXJkID0gcmUuc3ViKCdbXlx3XScsICdfJywgaGVhZGVyX2d1YXJkKQotKyAgaGVhZGVyX2d1 YXJkID0gcmUuc3ViKHInW15cd10nLCAnXycsIGhlYWRlcl9ndWFyZCkKLSAgIGhlYWRlcl9ndWFy ZCArPSAnXycKLSAKLSAgICMgVGhlIGFjdHVhbCBvdXRwdXQgZmlsZSBpcyBpbnNpZGUgdGhlIGdl biBkaXIuCi1kaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9jb21wb25lbnRzL3Jlc291 cmNlcy9wcm90b2J1ZnMvYmluYXJ5X3Byb3RvX2dlbmVyYXRvci5weS5tZSBjaHJvbWl1bS0xMTUu MC41NzkwLjEwMi9jb21wb25lbnRzL3Jlc291cmNlcy9wcm90b2J1ZnMvYmluYXJ5X3Byb3RvX2dl bmVyYXRvci5weQotLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2NvbXBvbmVudHMvcmVzb3Vy Y2VzL3Byb3RvYnVmcy9iaW5hcnlfcHJvdG9fZ2VuZXJhdG9yLnB5Lm1lCTIwMjMtMDctMjIgMTQ6 NDc6MzQuMjMwNzY0MjEwICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvY29tcG9u ZW50cy9yZXNvdXJjZXMvcHJvdG9idWZzL2JpbmFyeV9wcm90b19nZW5lcmF0b3IucHkJMjAyMy0w Ny0yMiAxNToxMTo1MC4zNjA5ODMzODMgKzAyMDAKLUBAIC05LDcgKzksOCBAQAotICIiIgotIGZy b20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KLSBpbXBvcnQgYWJjCi0taW1wb3J0 IGltcAotK2ltcG9ydCB0eXBlcwotK2ltcG9ydCBpbXBvcnRsaWIKLSBpbXBvcnQgb3B0cGFyc2UK LSBpbXBvcnQgb3MKLSBpbXBvcnQgcmUKLUBAIC00MCw2ICs0MSwxMiBAQCBjbGFzcyBHb29nbGVQ cm90b2J1Zk1vZHVsZUltcG9ydGVyOgotICAgICAgICAgcmV0dXJuIGZpbGVwYXRoCi0gICAgIHJl dHVybiBOb25lCi0gCi0rICBkZWYgbG9hZF9zb3VyY2UobmFtZTogc3RyLCBwYXRoOiBzdHIpIC0+ IHR5cGVzLk1vZHVsZVR5cGU6Ci0rICAgIHNwZWMgPSBpbXBvcnRsaWIudXRpbC5zcGVjX2Zyb21f ZmlsZV9sb2NhdGlvbihuYW1lLCBwYXRoKQotKyAgICBtb2R1bGUgPSBpbXBvcnRsaWIudXRpbC5t b2R1bGVfZnJvbV9zcGVjKHNwZWMpCi0rICAgIHNwZWMubG9hZGVyLmV4ZWNfbW9kdWxlKG1vZHVs ZSkKLSsgICAgcmV0dXJuIG1vZHVsZQotKwotICAgZGVmIF9tb2R1bGVfZXhpc3RzKHNlbGYsIGZ1 bGxuYW1lKToKLSAgICAgcmV0dXJuIHNlbGYuX2Z1bGxuYW1lX3RvX2ZpbGVwYXRoKGZ1bGxuYW1l KSBpcyBub3QgTm9uZQotIAotQEAgLTY4LDcgKzc1LDcgQEAgY2xhc3MgR29vZ2xlUHJvdG9idWZN b2R1bGVJbXBvcnRlcjoKLSAgICAgICByYWlzZSBJbXBvcnRFcnJvcihmdWxsbmFtZSkKLSAKLSAg ICAgZmlsZXBhdGggPSBzZWxmLl9mdWxsbmFtZV90b19maWxlcGF0aChmdWxsbmFtZSkKLS0gICAg cmV0dXJuIGltcC5sb2FkX3NvdXJjZShmdWxsbmFtZSwgZmlsZXBhdGgpCi0rICAgIHJldHVybiBs b2FkX3NvdXJjZShmdWxsbmFtZSwgZmlsZXBhdGgpCi0gCi0gY2xhc3MgQmluYXJ5UHJvdG9HZW5l cmF0b3I6Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9tb2pvL3B1YmxpYy90 b29scy9iaW5kaW5ncy9jb25jYXRlbmF0ZV9hbmRfcmVwbGFjZV9jbG9zdXJlX2V4cG9ydHMucHku bWUgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvbW9qby9wdWJsaWMvdG9vbHMvYmluZGluZ3MvY29u Y2F0ZW5hdGVfYW5kX3JlcGxhY2VfY2xvc3VyZV9leHBvcnRzLnB5Ci0tLS0gY2hyb21pdW0tMTE1 LjAuNTc5MC4xMDIvbW9qby9wdWJsaWMvdG9vbHMvYmluZGluZ3MvY29uY2F0ZW5hdGVfYW5kX3Jl cGxhY2VfY2xvc3VyZV9leHBvcnRzLnB5Lm1lCTIwMjMtMDctMjIgMTU6MTc6MTkuMTE0MjU4ODAx ICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvbW9qby9wdWJsaWMvdG9vbHMvYmlu ZGluZ3MvY29uY2F0ZW5hdGVfYW5kX3JlcGxhY2VfY2xvc3VyZV9leHBvcnRzLnB5CTIwMjMtMDct MjIgMTU6MTc6NDMuMzY4MjAwNDkxICswMjAwCi1AQCAtMzIsNyArMzIsNyBAQCBkZWYgRmlsdGVy TGluZShmaWxlbmFtZSwgbGluZSwgb3V0cHV0KToKLSAgICAgcmV0dXJuCi0gCi0gICBpZiBsaW5l LnN0YXJ0c3dpdGgoImdvb2cucHJvdmlkZSIpOgotLSAgICBtYXRjaCA9IHJlLm1hdGNoKCJnb29n LnByb3ZpZGVcKCcoW14nXSspJ1wpOyIsIGxpbmUpCi0rICAgIG1hdGNoID0gcmUubWF0Y2gociJn b29nLnByb3ZpZGVcKCcoW14nXSspJ1wpOyIsIGxpbmUpCi0gICAgIGlmIG5vdCBtYXRjaDoKLSAg ICAgICBwcmludCgiSW52YWxpZCBnb29nLnByb3ZpZGUgbGluZSBpbiAlczpcbiVzIiAlIChmaWxl bmFtZSwgbGluZSkpCi0gICAgICAgc3lzLmV4aXQoMSkKLWRpZmYgLXVwIGNocm9taXVtLTExNS4w LjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVs Y2FuaXplL2h0bWxfZ2VuZXJhdGlvbl9jb250cm9sbGVyLnB5Lm1lIGNocm9taXVtLTExNS4wLjU3 OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2Fu aXplL2h0bWxfZ2VuZXJhdGlvbl9jb250cm9sbGVyLnB5Ci0tLS0gY2hyb21pdW0tMTE1LjAuNTc5 MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5p emUvaHRtbF9nZW5lcmF0aW9uX2NvbnRyb2xsZXIucHkubWUJMjAyMy0wNy0yMiAxNToxMjo0MS44 NTA4OTUxNzkgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9j YXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9odG1sX2dlbmVyYXRpb25f Y29udHJvbGxlci5weQkyMDIzLTA3LTIyIDE1OjEyOjU1Ljg0NDg3MTIwNyArMDIwMAotQEAgLTE4 LDcgKzE4LDcgQEAgY2xhc3MgSFRNTEdlbmVyYXRpb25Db250cm9sbGVyKG9iamVjdCk6Ci0gCi0g ICBkZWYgR2V0SFRNTEZvcklubGluZVN0eWxlc2hlZXQoc2VsZiwgY29udGVudHMpOgotICAgICBp ZiBzZWxmLmN1cnJlbnRfbW9kdWxlIGlzIE5vbmU6Ci0tICAgICAgaWYgcmUuc2VhcmNoKCd1cmxc KC4rXCknLCBjb250ZW50cyk6Ci0rICAgICAgaWYgcmUuc2VhcmNoKHIndXJsXCguK1wpJywgY29u dGVudHMpOgotICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKAotICAgICAgICAgICAgICdEZWZhdWx0 IEhUTUxHZW5lcmF0aW9uQ29udHJvbGxlciBjYW5ub3QgaGFuZGxlIGlubGluZSBzdHlsZSB1cmxz JykKLSAgICAgICByZXR1cm4gY29udGVudHMKLWRpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAu MTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXpl L2pzX3V0aWxzLnB5Lm1lIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFw dWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2pzX3V0aWxzLnB5Ci0tLS0gY2hy b21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNh bml6ZS9weV92dWxjYW5pemUvanNfdXRpbHMucHkubWUJMjAyMy0wNy0yMiAxNToxNDowNi45MjM3 MTc5MTAgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRh cHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9qc191dGlscy5weQkyMDIzLTA3 LTIyIDE1OjE4OjAzLjcwNDE1MDYxNCArMDIwMAotQEAgLTQsNCArNCw0IEBACi0gCi0gCi0gZGVm IEVzY2FwZUpTSWZOZWVkZWQoanMpOgotLSAgcmV0dXJuIGpzLnJlcGxhY2UoJzwvc2NyaXB0Pics ICc8XC9zY3JpcHQ+JykKLSsgIHJldHVybiBqcy5yZXBsYWNlKHInPC9zY3JpcHQ+Jywgcic8XC9z Y3JpcHQ+JykKLWRpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2Nh dGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL3BhcnNlX2h0bWxfZGVwcy5w eS5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24v cHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9wYXJzZV9odG1sX2RlcHMucHkKLS0tLSBjaHJvbWl1 bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXpl L3B5X3Z1bGNhbml6ZS9wYXJzZV9odG1sX2RlcHMucHkubWUJMjAyMy0wNy0yMiAxNToxNDozMC4x MDU2NjI1MzIgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9j YXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9wYXJzZV9odG1sX2RlcHMu cHkJMjAyMy0wNy0yMiAxNToxNDo1Ny45Nzc1OTU5NTAgKzAyMDAKLUBAIC0yOTMsNiArMjkzLDYg QEAgY2xhc3MgSFRNTE1vZHVsZVBhcnNlcigpOgotICAgICAgIGh0bWwgPSAnJwotICAgICBlbHNl OgotICAgICAgIGlmIGh0bWwuZmluZCgnPCAvc2NyaXB0PicpICE9IC0xOgotLSAgICAgICAgcmFp c2UgRXhjZXB0aW9uKCdFc2NhcGUgc2NyaXB0IHRhZ3Mgd2l0aCA8XC9zY3JpcHQ+JykKLSsgICAg ICAgIHJhaXNlIEV4Y2VwdGlvbihyJ0VzY2FwZSBzY3JpcHQgdGFncyB3aXRoIDxcL3NjcmlwdD4n KQotIAotICAgICByZXR1cm4gSFRNTE1vZHVsZVBhcnNlclJlc3VsdHMoaHRtbCkKLWRpZmYgLXVw IGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92 dWxjYW5pemUvcHlfdnVsY2FuaXplL3N0eWxlX3NoZWV0LnB5Lm1lIGNocm9taXVtLTExNS4wLjU3 OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2Fu aXplL3N0eWxlX3NoZWV0LnB5Ci0tLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFy dHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvc3R5bGVfc2hlZXQu cHkubWUJMjAyMy0wNy0yMiAxNToxMzoxMi4zMTY4NDI5OTAgKzAyMDAKLSsrKyBjaHJvbWl1bS0x MTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5 X3Z1bGNhbml6ZS9zdHlsZV9zaGVldC5weQkyMDIzLTA3LTIyIDE1OjEzOjQ5LjY4NDc1OTA5MSAr MDIwMAotQEAgLTYwLDcgKzYwLDcgQEAgY2xhc3MgUGFyc2VkU3R5bGVTaGVldChvYmplY3QpOgot ICAgICAgIHJldHVybiAndXJsKGRhdGE6aW1hZ2UvJXM7YmFzZTY0LCVzKScgJSAoZXh0WzE6XSwg ZGF0YS5kZWNvZGUoJ3V0Zi04JykpCi0gCi0gICAgICMgSSdtIGFzc3VtaW5nIHdlIG9ubHkgaGF2 ZSB1cmwoKSdzIGFzc29jaWF0ZWQgd2l0aCBpbWFnZXMKLS0gICAgcmV0dXJuIHJlLnN1YigndXJs XCgoP1A8cXVvdGU+InxcJ3wpKD9QPHVybD5bXiJcJygpXSopKD9QPXF1b3RlKVwpJywKLSsgICAg cmV0dXJuIHJlLnN1YihyJ3VybFwoKD9QPHF1b3RlPiJ8XCd8KSg/UDx1cmw+W14iXCcoKV0qKSg/ UD1xdW90ZSlcKScsCi0gICAgICAgICAgICAgICAgICAgSW5saW5lVXJsLCBzZWxmLmNvbnRlbnRz KQotIAotICAgZGVmIEFwcGVuZERpcmVjdGx5RGVwZW5kZW50RmlsZW5hbWVzVG8oc2VsZiwgZGVw ZW5kZW50X2ZpbGVuYW1lcyk6Ci1AQCAtNzIsNyArNzIsNyBAQCBjbGFzcyBQYXJzZWRTdHlsZVNo ZWV0KG9iamVjdCk6Ci0gICAgICAgcmFpc2UgRXhjZXB0aW9uKCdAaW1wb3J0cyBhcmUgbm90IHN1 cHBvcnRlZCcpCi0gCi0gICAgIG1hdGNoZXMgPSByZS5maW5kYWxsKAotLSAgICAgICAgJ3VybFwo KD86WyJ8XCddPykoW14iXCcoKV0qKSg/OlsifFwnXT8pXCknLAotKyAgICAgICAgcid1cmxcKCg/ OlsifFwnXT8pKFteIlwnKCldKikoPzpbInxcJ10/KVwpJywKLSAgICAgICAgIHNlbGYuY29udGVu dHMpCi0gCi0gICAgIGRlZiByZXNvbHZlX3VybCh1cmwpOgotZGlmZiAtdXAgY2hyb21pdW0tMTE1 LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvZGF3bi9nZW5lcmF0b3IvZ2VuZXJhdG9yX2xpYi5weS5t ZSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9kYXduL2dlbmVyYXRvci9nZW5l cmF0b3JfbGliLnB5Ci0tLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvZGF3 bi9nZW5lcmF0b3IvZ2VuZXJhdG9yX2xpYi5weS5tZQkyMDIzLTA3LTIyIDE1OjExOjU2LjgyNjk3 MjMwNiArMDIwMAotKysrIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2Rhd24v Z2VuZXJhdG9yL2dlbmVyYXRvcl9saWIucHkJMjAyMy0wNy0yMiAxNToxMjozNy41NTA5MDI1NDUg KzAyMDAKLUBAIC0xMTksOCArMTE5LDggQEAgY2xhc3MgX1ByZXByb2Nlc3NpbmdMb2FkZXIoamlu amEyLkJhc2VMbwotICAgICAgICAgICAgIHNvdXJjZSA9IHNlbGYucHJlcHJvY2VzcyhmLnJlYWQo KSkKLSAgICAgICAgIHJldHVybiBzb3VyY2UsIHBhdGgsIGxhbWJkYTogbXRpbWUgPT0gb3MucGF0 aC5nZXRtdGltZShwYXRoKQotIAotLSAgICBibG9ja3N0YXJ0ID0gcmUuY29tcGlsZSgneyUtP1xz KihpZnxlbGlmfGVsc2V8Zm9yfGJsb2NrfG1hY3JvKVtefV0qJX0nKQotLSAgICBibG9ja2VuZCA9 IHJlLmNvbXBpbGUoJ3slLT9ccyooZW5kKGlmfGZvcnxibG9ja3xtYWNybyl8ZWxpZnxlbHNlKVte fV0qJX0nKQotKyAgICBibG9ja3N0YXJ0ID0gcmUuY29tcGlsZShyJ3slLT9ccyooaWZ8ZWxpZnxl bHNlfGZvcnxibG9ja3xtYWNybylbXn1dKiV9JykKLSsgICAgYmxvY2tlbmQgPSByZS5jb21waWxl KHIneyUtP1xzKihlbmQoaWZ8Zm9yfGJsb2NrfG1hY3JvKXxlbGlmfGVsc2UpW159XSolfScpCi0g Ci0gICAgIGRlZiBwcmVwcm9jZXNzKHNlbGYsIHNvdXJjZSk6Ci0gICAgICAgICBsaW5lcyA9IHNv dXJjZS5zcGxpdCgnXG4nKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2No cm9taXVtLTExOC13b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gg Yi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTE4LXdvcmthcm91bmRfY2xhbmdf YnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggM2I3OWY1MTI0ODdhZS4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvY2hyb21pdW0tMTE4LXdvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGlu Zy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVt LTExNS4wLjU3OTAuMjQvbWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVyLmNjLndvcmthcm91 bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZyBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L21l ZGlhL2Jhc2UvY2RtX3Byb21pc2VfYWRhcHRlci5jYwotLS0tIGNocm9taXVtLTExNS4wLjU3OTAu MjQvbWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVyLmNjLndvcmthcm91bmRfY2xhbmdfYnVn LXN0cnVjdHVyZWRfYmluZGluZwkyMDIzLTA2LTA3IDIxOjQ4OjM3LjAwMDAwMDAwMCArMDIwMAot KysrIGNocm9taXVtLTExNS4wLjU3OTAuMjQvbWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVy LmNjCTIwMjMtMDYtMTcgMTY6NTM6MjAuMjE2NjI4NTU3ICswMjAwCi1AQCAtOTQsNyArOTQsOSBA QCB2b2lkIENkbVByb21pc2VBZGFwdGVyOjpSZWplY3RQcm9taXNlKHVpCi0gdm9pZCBDZG1Qcm9t aXNlQWRhcHRlcjo6Q2xlYXIoQ2xlYXJSZWFzb24gcmVhc29uKSB7Ci0gICAvLyBSZWplY3QgYWxs IG91dHN0YW5kaW5nIHByb21pc2VzLgotICAgRENIRUNLKHRocmVhZF9jaGVja2VyXy5DYWxsZWRP blZhbGlkVGhyZWFkKCkpOwotLSAgZm9yIChhdXRvJiBbcHJvbWlzZV9pZCwgcHJvbWlzZV0gOiBw cm9taXNlc18pIHsKLSsgIGZvciAoYXV0byYgW3BfaSwgcF9lXSA6IHByb21pc2VzXykgewotKyAg ICBhdXRvJiBwcm9taXNlX2lkID0gcF9pOwotKyAgICBhdXRvJiBwcm9taXNlID0gcF9lOwotICAg ICBUUkFDRV9FVkVOVF9ORVNUQUJMRV9BU1lOQ19FTkQxKAotICAgICAgICAgIm1lZGlhIiwgIkNk bVByb21pc2UiLCBUUkFDRV9JRF9XSVRIX1NDT1BFKCJDZG1Qcm9taXNlIiwgcHJvbWlzZV9pZCks Ci0gICAgICAgICAic3RhdHVzIiwgImNsZWFyZWQiKTsKLWRpZmYgLXVwIGNocm9taXVtLTExNS4w LjU3OTAuMjQvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9u Z19ncmlkX2xheW91dF9hbGdvcml0aG0uY2Mud29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJl ZF9iaW5kaW5nIGNocm9taXVtLTExNS4wLjU3OTAuMjQvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0uY2MKLS0tLSBj aHJvbWl1bS0xMTUuMC41NzkwLjI0L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5 b3V0L25nL2dyaWQvbmdfZ3JpZF9sYXlvdXRfYWxnb3JpdGhtLmNjLndvcmthcm91bmRfY2xhbmdf YnVnLXN0cnVjdHVyZWRfYmluZGluZwkyMDIzLTA2LTA3IDIxOjQ4OjQxLjAwMDAwMDAwMCArMDIw MAotKysrIGNocm9taXVtLTExNS4wLjU3OTAuMjQvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv Y29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0uY2MJMjAyMy0wNi0x NyAxODo0NzowNi4wMDE0MDM5NjYgKzAyMDAKLUBAIC02NTUsOCArNjU4LDEwIEBAIE5HR3JpZFNp emluZ1RyZWUgTkdHcmlkTGF5b3V0QWxnb3JpdGhtOjoKLSAgIE5HR3JpZFNpemluZ1RyZWUgc2l6 aW5nX3RyZWU7Ci0gCi0gICBpZiAoY29uc3QgYXV0byogbGF5b3V0X3N1YnRyZWUgPSBDb25zdHJh aW50U3BhY2UoKS5HcmlkTGF5b3V0U3VidHJlZSgpKSB7Ci0tICAgIGF1dG8mIFtncmlkX2l0ZW1z LCBsYXlvdXRfZGF0YSwgc3VidHJlZV9zaXplXSA9Ci0tICAgICAgICBzaXppbmdfdHJlZS5DcmVh dGVTaXppbmdEYXRhKCk7Ci0rICAgIGF1dG8mIFtnX2ksIGxfZCwgc19zXSA9IHNpemluZ190cmVl LkNyZWF0ZVNpemluZ0RhdGEoKTsKLSsgICAgYXV0byYgZ3JpZF9pdGVtcyA9IGdfaTsKLSsgICAg YXV0byYgbGF5b3V0X2RhdGEgPSBsX2Q7Ci0rICAgIGF1dG8mIHN1YnRyZWVfc2l6ZSA9IHNfczsK LSAKLSAgICAgY29uc3QgYXV0byYgbm9kZSA9IE5vZGUoKTsKLSAgICAgZ3JpZF9pdGVtcyA9Ci1A QCAtMTc5OCw4ICsxODAzLDEwIEBAIHZvaWQgTkdHcmlkTGF5b3V0QWxnb3JpdGhtOjpDb21wbGV0 ZVRyYWMKLSAgICAgYm9vbCogb3B0X25lZWRzX2FkZGl0aW9uYWxfcGFzcykgY29uc3QgewotICAg RENIRUNLKHNpemluZ19zdWJ0cmVlKTsKLSAKLS0gIGF1dG8mIFtncmlkX2l0ZW1zLCBsYXlvdXRf ZGF0YSwgc3VidHJlZV9zaXplXSA9Ci0tICAgICAgc2l6aW5nX3N1YnRyZWUuU3VidHJlZVJvb3RE YXRhKCk7Ci0rICBhdXRvJiBbZ19pLCBsX2QsIHNfc10gPSBzaXppbmdfc3VidHJlZS5TdWJ0cmVl Um9vdERhdGEoKTsKLSsgIGF1dG8mIGdyaWRfaXRlbXMgPSBnX2k7Ci0rICBhdXRvJiBsYXlvdXRf ZGF0YSA9IGxfZDsKLSsgIGF1dG8mIHN1YnRyZWVfc2l6ZSA9IHNfczsKLSAKLSAgIGNvbnN0IGJv b2wgaXNfZm9yX2NvbHVtbnMgPSB0cmFja19kaXJlY3Rpb24gPT0ga0ZvckNvbHVtbnM7Ci0gICBj b25zdCBib29sIGhhc19ub25fZGVmaW5pdGVfdHJhY2sgPQotQEAgLTE5MjQsOCArMTkzMSwxMCBA QCB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2FsbGJhY2tGdW5jPgotIHZvaWQgTkdHcmlkTGF5b3V0QWxn b3JpdGhtOjpGb3JFYWNoU3ViZ3JpZCgKLSAgICAgY29uc3QgTkdHcmlkU2l6aW5nU3VidHJlZSYg c2l6aW5nX3N1YnRyZWUsCi0gICAgIGNvbnN0IENhbGxiYWNrRnVuYyYgY2FsbGJhY2tfZnVuYykg Y29uc3QgewotLSAgYXV0byYgW2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCBzdWJ0cmVlX3NpemVd ID0KLS0gICAgICBzaXppbmdfc3VidHJlZS5TdWJ0cmVlUm9vdERhdGEoKTsKLSsgIGF1dG8mIFtn X2ksIGxfZCwgc19zXSA9IHNpemluZ19zdWJ0cmVlLlN1YnRyZWVSb290RGF0YSgpOwotKyAgYXV0 byYgZ3JpZF9pdGVtcyA9IGdfaTsKLSsgIGF1dG8mIGxheW91dF9kYXRhID0gbF9kOwotKyAgYXV0 byYgc3VidHJlZV9zaXplID0gc19zOwotIAotICAgLy8gSWYgd2Uga25vdyB0aGlzIHN1YnRyZWUg ZG9lc24ndCBoYXZlIG5lc3RlZCBzdWJncmlkcyB3ZSBjYW4gZXhpdCBlYXJseQotICAgLy8gaW5z dGVhZCBvZiBpdGVyYXRpbmcgb3ZlciBldmVyeSBncmlkIGl0ZW0gbG9va2luZyBmb3IgdGhlbS4K LWRpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMzIvY29udGVudC9icm93c2VyL3NlcnZpY2Vf d29ya2VyL3NlcnZpY2Vfd29ya2VyX2NvbnRleHRfd3JhcHBlci5jYy5tZSBjaHJvbWl1bS0xMTUu MC41NzkwLjMyL2NvbnRlbnQvYnJvd3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9j b250ZXh0X3dyYXBwZXIuY2MKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2NvbnRlbnQvYnJv d3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9jb250ZXh0X3dyYXBwZXIuY2MubWUJ MjAyMy0wNi0xOSAwODowNDowMi4yODcwNzI3MjIgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTUuMC41 NzkwLjMyL2NvbnRlbnQvYnJvd3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9jb250 ZXh0X3dyYXBwZXIuY2MJMjAyMy0wNi0xOSAwODoxODoyNC41NzY4MTQ5NTAgKzAyMDAKLUBAIC0x MzkzLDcgKzEzOTMsOCBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250ZXh0V3JhcHBlcjo6TWF5YmVQ Ci0gICAgIHJldHVybjsKLSAgIH0KLSAKLS0gIGF1dG8gW2RvY3VtZW50X3VybCwga2V5LCBjYWxs YmFja10gPSBzdGQ6Om1vdmUoKnJlcXVlc3QpOwotKyAgYXV0byBbZF91LCBrZXksIGNhbGxiYWNr XSA9IHN0ZDo6bW92ZSgqcmVxdWVzdCk7Ci0rICBhdXRvIGRvY3VtZW50X3VybCA9IGRfdTsKLSAK LSAgIERDSEVDSyhkb2N1bWVudF91cmwuaXNfdmFsaWQoKSk7Ci0gICBUUkFDRV9FVkVOVDEoIlNl cnZpY2VXb3JrZXIiLAotZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9jb3JlL2xheW91dC9uZy9ncmlkL25nX2dyaWRfbGF5b3V0X2FsZ29y aXRobS5jYy5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2NvcmUvbGF5b3V0L25nL2dyaWQvbmdfZ3JpZF9sYXlvdXRfYWxnb3JpdGhtLmNjCi0tLS0g Y2hyb21pdW0tMTE3LjAuNTkzOC42Mi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2xh eW91dC9uZy9ncmlkL25nX2dyaWRfbGF5b3V0X2FsZ29yaXRobS5jYy5tZQkyMDIzLTA5LTE1IDEz OjAzOjAwLjc4NzI1NzA0OCArMDIwMAotKysrIGNocm9taXVtLTExNy4wLjU5MzguNjIvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9h bGdvcml0aG0uY2MJMjAyMy0wOS0xNSAxMzoxNTowNS41MDI3MDY1MjIgKzAyMDAKLUBAIC0zNDM3 LDcgKzM0MzcsMTAgQEAgdm9pZCBOR0dyaWRMYXlvdXRBbGdvcml0aG06OlBsYWNlR3JpZEl0ZQot ICAgRENIRUNLKG91dF9yb3dfYnJlYWtfYmV0d2Vlbik7Ci0gCi0gICBjb25zdCBhdXRvJiBjb250 YWluZXJfc3BhY2UgPSBDb25zdHJhaW50U3BhY2UoKTsKLS0gIGNvbnN0IGF1dG8mIFtncmlkX2l0 ZW1zLCBsYXlvdXRfZGF0YSwgdHJlZV9zaXplXSA9IHNpemluZ190cmVlLlRyZWVSb290RGF0YSgp OwotKyAgY29uc3QgYXV0byYgW2dfaSwgbF9kLCB0X3NdID0gc2l6aW5nX3RyZWUuVHJlZVJvb3RE YXRhKCk7Ci0rICBjb25zdCBhdXRvJiBncmlkX2l0ZW1zID0gZ19pOwotKyAgY29uc3QgYXV0byYg bGF5b3V0X2RhdGEgPSBsX2Q7Ci0rICBjb25zdCBhdXRvJiB0cmVlX3NpemUgPSB0X3M7Ci0gCi0g ICBjb25zdCBhdXRvKiBjYWNoZWRfbGF5b3V0X3N1YnRyZWUgPSBjb250YWluZXJfc3BhY2UuR3Jp ZExheW91dFN1YnRyZWUoKTsKLSAgIGNvbnN0IGF1dG8gY29udGFpbmVyX3dyaXRpbmdfZGlyZWN0 aW9uID0KLUBAIC0zNjAxLDcgKzM2MDQsMTAgQEAgdm9pZCBOR0dyaWRMYXlvdXRBbGdvcml0aG06 OlBsYWNlR3JpZEl0ZQotIAotICAgLy8gVE9ETyhpa2lscGF0cmljayk6IFVwZGF0ZSB8U2V0SGFz U2VlbkFsbENoaWxkcmVufCBhbmQgZWFybHkgZXhpdCBpZiB0cnVlLgotICAgY29uc3QgYXV0byYg Y29uc3RyYWludF9zcGFjZSA9IENvbnN0cmFpbnRTcGFjZSgpOwotLSAgY29uc3QgYXV0byYgW2dy aWRfaXRlbXMsIGxheW91dF9kYXRhLCB0cmVlX3NpemVdID0gc2l6aW5nX3RyZWUuVHJlZVJvb3RE YXRhKCk7Ci0rICBjb25zdCBhdXRvJiBbZ19pLCBsX2QsIHRfc10gPSBzaXppbmdfdHJlZS5UcmVl Um9vdERhdGEoKTsKLSsgIGNvbnN0IGF1dG8mIGdyaWRfaXRlbXMgPSBnX2k7Ci0rICBjb25zdCBh dXRvJiBsYXlvdXRfZGF0YSA9IGxfZDsKLSsgIGNvbnN0IGF1dG8mIHRyZWVfc2l6ZSA9dF9zOwot IAotICAgY29uc3QgYXV0byogY2FjaGVkX2xheW91dF9zdWJ0cmVlID0gY29uc3RyYWludF9zcGFj ZS5HcmlkTGF5b3V0U3VidHJlZSgpOwotICAgY29uc3QgYXV0byBjb250YWluZXJfd3JpdGluZ19k aXJlY3Rpb24gPQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVt LTExOS1jb25zdGV4cHIucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0t MTE5LWNvbnN0ZXhwci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjE5NWZm NDA4YmE4MS4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tMTE5LWNvbnN0ZXhwci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAK LWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29tcG9uZW50cy9taXJhY2xlX3BhcmFt ZXRlci9jb21tb24vcHVibGljL21pcmFjbGVfcGFyYW1ldGVyLmgubWUgY2hyb21pdW0tMTE5LjAu NjA0NS41OS9jb21wb25lbnRzL21pcmFjbGVfcGFyYW1ldGVyL2NvbW1vbi9wdWJsaWMvbWlyYWNs ZV9wYXJhbWV0ZXIuaAotLS0tIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29tcG9uZW50cy9taXJh Y2xlX3BhcmFtZXRlci9jb21tb24vcHVibGljL21pcmFjbGVfcGFyYW1ldGVyLmgubWUJMjAyMy0x MC0zMSAyMTowNTowNS41NDg1NjUyNDEgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5 L2NvbXBvbmVudHMvbWlyYWNsZV9wYXJhbWV0ZXIvY29tbW9uL3B1YmxpYy9taXJhY2xlX3BhcmFt ZXRlci5oCTIwMjMtMTAtMzEgMjE6MjA6NTMuOTQ1NTMyMDk0ICswMTAwCi1AQCAtOTMsNyArOTMs NyBAQCBjbGFzcyBNaXJhY2xlUGFyYW1ldGVyIHsKLSB0ZW1wbGF0ZSA8PgotIGNsYXNzIE1pcmFj bGVQYXJhbWV0ZXI8c3RkOjpzdHJpbmc+IDogcHVibGljIE1pcmFjbGVQYXJhbWV0ZXJCYXNlPHN0 ZDo6c3RyaW5nPiB7Ci0gIHB1YmxpYzoKLS0gIGNvbnN0ZXhwciBNaXJhY2xlUGFyYW1ldGVyKGNv bnN0IGJhc2U6OkZlYXR1cmUqIGZlYXR1cmUsCi0rICBNaXJhY2xlUGFyYW1ldGVyKGNvbnN0IGJh c2U6OkZlYXR1cmUqIGZlYXR1cmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBjaGFyKiBwYXJhbV9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjpz dHJpbmcgZGVmYXVsdF92YWx1ZSkKLSAgICAgICA6IE1pcmFjbGVQYXJhbWV0ZXJCYXNlKGZlYXR1 cmUsIHBhcmFtX25hbWUsIHN0ZDo6bW92ZShkZWZhdWx0X3ZhbHVlKSkge30KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTktaGlkZS1Vc2VDaHJvbWVPU0Rp cmVjdFZpZGVvRGVjb2Rlci1mbGFnLW9uLVZBLUFQSS1kZXZpY2VzLnBhdGNoIGIvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOS1oaWRlLVVzZUNocm9tZU9TRGlyZWN0VmlkZW9E ZWNvZGVyLWZsYWctb24tVkEtQVBJLWRldmljZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDg4ZDY3NWU4MDQ3ZjAuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOS1oaWRlLVVzZUNocm9tZU9TRGlyZWN0VmlkZW9EZWNv ZGVyLWZsYWctb24tVkEtQVBJLWRldmljZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOTUg KzAsMCBAQAotY29tbWl0IDg3ZmNhN2YxNzU5ZTgwMGJkNzJiNWFiNjUxMWVlYTE3ZDY0MDBhNzYK LUF1dGhvcjogUGlsYXIgTW9saW5hIExvcGV6IDxwbW9saW5hbG9wZXpAY2hyb21pdW0ub3JnPgot RGF0ZTogICBUdWUgT2N0IDI0IDE5OjU3OjU1IDIwMjMgKzAwMDAKLQotICAgIHZpZGVvOiBoaWRl IFVzZUNocm9tZU9TRGlyZWN0VmlkZW9EZWNvZGVyIGZsYWcgb24gVkEtQVBJIGRldmljZXMKLSAg ICAKLSAgICBXZSBhcmUgc2VlaW5nIGNyYXNoZXMgY2F1c2VzIGJ5IHRoaXMgQ0hFQ0sgc3RhdGVt ZW50OgotICAgIGh0dHBzOi8vc291cmNlLmNocm9taXVtLm9yZy9jaHJvbWl1bS9jaHJvbWl1bS9z cmMvKy9tYWluOmNvbnRlbnQvcHVibGljL2Jyb3dzZXIvZ3B1X3V0aWxzLmNjO2w9MTUxO2RyYz0w ZTc3N2JhOWI2YzM0NjExNzA1ZDViMTQ1YzkyYmNkMDk1MzkwMTFjCi0gICAgSXQncyB0cmlnZ2Vy ZWQgd2hlbiB0aGUgdXNlciBtYW51YWxseSBkaXNhYmxlcyB0aGUgVXNlQ2hyb21lT1NEaXJlY3RW aWRlb0RlY29kZXIKLSAgICBmbGFnIG9uIFZBLUFQSSBkZXZpY2VzIChJbnRlbCBhbmQgQU1EKS4g VGhpcyBmbGFnIGlzIHN1cHBvcnRlZCBvbmx5IG9uCi0gICAgbm9uLUludGVsIGFuZCBub24tQU1E IGRldmljZXMuIFRoaXMgQ0wgYWRkcyB0aGlzIGluZm9ybWF0aW9uIHRvIHRoZSBmbGFnCi0gICAg ZGVzY3JpcHRpb24gYW5kIGhpZGVzIHRoZSBmbGFnIGluIGNhc2UgVkEtQVBJIGlzIHVzZWQuCi0g ICAgCi0gICAgQnVnOiAxNDY5Mjg1Ci0gICAgVGVzdDogbWFudWFsIHRlc3Qgb24gdm9sdGVlcgot ICAgIENoYW5nZS1JZDogSTE1M2I5Y2NiMzgxNTQ5OGM5MWNlNWVlZTk2NjgzNDA2MDc0OWUyNDcK LSAgICBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNv bS9jL2Nocm9taXVtL3NyYy8rLzQ5NjA5MTkKLSAgICBSZXZpZXdlZC1ieTogRGFsZSBDdXJ0aXMg PGRhbGVjdXJ0aXNAY2hyb21pdW0ub3JnPgotICAgIFJldmlld2VkLWJ5OiBBbmRyZXMgQ2FsZGVy b24gSmFyYW1pbGxvIDxhbmRyZXNjakBjaHJvbWl1bS5vcmc+Ci0gICAgUmV2aWV3ZWQtYnk6IEF2 aSBEcmlzc21hbiA8YXZpQGNocm9taXVtLm9yZz4KLSAgICBDb21taXQtUXVldWU6IFBpbGFyIE1v bGluYSBMb3BleiA8cG1vbGluYWxvcGV6QGNocm9taXVtLm9yZz4KLSAgICBDci1Db21taXQtUG9z aXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzEyMTQ0MTF9Ci0KLWRpZmYgLS1naXQgYS9jaHJvbWUv YnJvd3Nlci9ERVBTIGIvY2hyb21lL2Jyb3dzZXIvREVQUwotaW5kZXggZWU5ZmIyMDZjZGUzNi4u MGZlMTgwMTNhYjA0NCAxMDA2NDQKLS0tLSBhL2Nocm9tZS9icm93c2VyL0RFUFMKLSsrKyBiL2No cm9tZS9icm93c2VyL0RFUFMKLUBAIC00MTgsNiArNDE4LDcgQEAgaW5jbHVkZV9ydWxlcyA9IFsK LSAgICIrbWVkaWEvYmFzZSIsICAjIEZvciBtZWRpYSBzd2l0Y2hlcwotICAgIittZWRpYS9jYXBh YmlsaXRpZXMiLCAjIEZvciBJbk1lbW9yeVZpZGVvRGVjb2RlU3RhdHNEQgotICAgIittZWRpYS9j ZG0iLAotKyAgIittZWRpYS9ncHUvYnVpbGRmbGFncy5oIiwKLSAgICIrbWVkaWEvcmVtb3Rpbmcv ZGV2aWNlX2NhcGFiaWxpdHlfY2hlY2tlci5oIiwKLSAgICIrbWVkaWEvY2FwdHVyZSIsCi0gICAi K21lZGlhL21pZGkiLCAgIyBGb3IgbWlkaSBzd2l0Y2hlcwotZGlmZiAtLWdpdCBhL2Nocm9tZS9i cm93c2VyL2Fib3V0X2ZsYWdzLmNjIGIvY2hyb21lL2Jyb3dzZXIvYWJvdXRfZmxhZ3MuY2MKLWlu ZGV4IDg0NzA5YWZhYTM0ZDAuLjc3N2JlYmViMzNkOWUgMTAwNjQ0Ci0tLS0gYS9jaHJvbWUvYnJv d3Nlci9hYm91dF9mbGFncy5jYwotKysrIGIvY2hyb21lL2Jyb3dzZXIvYWJvdXRfZmxhZ3MuY2MK LUBAIC03NTc4LDExICs3NTc4LDEzIEBAIGNvbnN0IEZlYXR1cmVFbnRyeSBrRmVhdHVyZUVudHJp ZXNbXSA9IHsKLSAjZW5kaWYgIC8vIEJVSUxERkxBRyhJU19DSFJPTUVPU19BU0gpCi0gCi0gI2lm IEJVSUxERkxBRyhJU19DSFJPTUVPUykgJiYgQlVJTERGTEFHKFVTRV9DSFJPTUVPU19NRURJQV9B Q0NFTEVSQVRJT04pCi0rI2lmICFCVUlMREZMQUcoVVNFX1ZBQVBJKQotICAgICB7ImNocm9tZW9z LWRpcmVjdC12aWRlby1kZWNvZGVyIiwKLSAgICAgIGZsYWdfZGVzY3JpcHRpb25zOjprQ2hyb21l T1NEaXJlY3RWaWRlb0RlY29kZXJOYW1lLAotICAgICAgZmxhZ19kZXNjcmlwdGlvbnM6OmtDaHJv bWVPU0RpcmVjdFZpZGVvRGVjb2RlckRlc2NyaXB0aW9uLAotICAgICAga09zQ3JPUyB8IGtPc0xh Y3JvcywKLSAgICAgIEZFQVRVUkVfVkFMVUVfVFlQRShtZWRpYTo6a1VzZUNocm9tZU9TRGlyZWN0 VmlkZW9EZWNvZGVyKX0sCi0rI2VuZGlmICAvLyAhQlVJTERGTEFHKFVTRV9WQUFQSSkKLSAKLSAg ICAgeyJlbmFibGUtdmJyLWVuY29kZS1hY2NlbGVyYXRpb24iLAotICAgICAgZmxhZ19kZXNjcmlw dGlvbnM6OmtDaHJvbWVPU0hXVkJSRW5jb2RpbmdOYW1lLAotZGlmZiAtLWdpdCBhL2Nocm9tZS9i cm93c2VyL2ZsYWdfZGVzY3JpcHRpb25zLmNjIGIvY2hyb21lL2Jyb3dzZXIvZmxhZ19kZXNjcmlw dGlvbnMuY2MKLWluZGV4IDMxOGE4YmU5YWIxYTYuLmQyNDk3ZDBjNDAzZjMgMTAwNjQ0Ci0tLS0g YS9jaHJvbWUvYnJvd3Nlci9mbGFnX2Rlc2NyaXB0aW9ucy5jYwotKysrIGIvY2hyb21lL2Jyb3dz ZXIvZmxhZ19kZXNjcmlwdGlvbnMuY2MKLUBAIC03LDYgKzcsNyBAQAotICNpbmNsdWRlICJidWls ZC9idWlsZF9jb25maWcuaCIKLSAjaW5jbHVkZSAiYnVpbGQvY2hyb21lb3NfYnVpbGRmbGFncy5o IgotICNpbmNsdWRlICJjb21wb25lbnRzL3N1cGVydmlzZWRfdXNlci9jb3JlL2NvbW1vbi9idWls ZGZsYWdzLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2dwdS9idWlsZGZsYWdzLmgiCi0gI2luY2x1ZGUg InBkZi9idWlsZGZsYWdzLmgiCi0gCi0gLy8gS2VlcCBpbiBpZGVudGljYWwgb3JkZXIgYXMgdGhl IGhlYWRlciBmaWxlLCBzZWUgdGhlIGNvbW1lbnQgYXQgdGhlIHRvcAotQEAgLTczMzgsNiArNzMz OSw3IEBAIGNvbnN0IGNoYXIga1F1aWNrT2ZmaWNlRm9yY2VGaWxlRG93bmxvYWREZXNjcmlwdGlv bltdID0KLSAjZW5kaWYgIC8vIEJVSUxERkxBRyhJU19DSFJPTUVPUykKLSAKLSAjaWYgQlVJTERG TEFHKElTX0NIUk9NRU9TKSAmJiBCVUlMREZMQUcoVVNFX0NIUk9NRU9TX01FRElBX0FDQ0VMRVJB VElPTikKLSsjaWYgIUJVSUxERkxBRyhVU0VfVkFBUEkpCi0gY29uc3QgY2hhciBrQ2hyb21lT1NE aXJlY3RWaWRlb0RlY29kZXJOYW1lW10gPSAiQ2hyb21lT1MgRGlyZWN0IFZpZGVvIERlY29kZXIi OwotIGNvbnN0IGNoYXIga0Nocm9tZU9TRGlyZWN0VmlkZW9EZWNvZGVyRGVzY3JpcHRpb25bXSA9 Ci0gICAgICJFbmFibGVzIHRoZSBoYXJkd2FyZS1hY2NlbGVyYXRlZCBDaHJvbWVPUyBkaXJlY3Qg bWVkaWE6OlZpZGVvRGVjb2RlciAiCi1AQCAtNzM0NSw3ICs3MzQ3LDggQEAgY29uc3QgY2hhciBr Q2hyb21lT1NEaXJlY3RWaWRlb0RlY29kZXJEZXNjcmlwdGlvbltdID0KLSAgICAgIi0tcGxhdGZv cm0tZGlzYWxsb3dzLWNocm9tZW9zLWRpcmVjdC12aWRlby1kZWNvZGVyIGNvbW1hbmQgbGluZSBz d2l0Y2ggIgotICAgICAid2hpY2ggaXMgYWRkZWQgZm9yIHBsYXRmb3JtcyB3aGVyZSBzYWlkIGRp cmVjdCBWaWRlb0RlY29kZXIgZG9lcyBub3Qgd29yayAiCi0gICAgICJvciBpcyBub3Qgd2VsbCB0 ZXN0ZWQgKHNlZSB0aGUgZGlzYWJsZV9jcm9zX3ZpZGVvX2RlY29kZXIgVVNFIGZsYWcgaW4gIgot LSAgICAiQ2hyb21lT1MpIjsKLSsgICAgIkNocm9tZU9TKS4gVGhpcyBmbGFnIGlzIHN1cHBvcnRl ZCBvbmx5IG9uIG5vbi1JbnRlbCBhbmQgbm9uLUFNRCBkZXZpY2VzLiI7Ci0rI2VuZGlmICAvLyAh QlVJTERGTEFHKFVTRV9WQUFQSSkKLSBjb25zdCBjaGFyIGtDaHJvbWVPU0hXVkJSRW5jb2RpbmdO YW1lW10gPQotICAgICAiQ2hyb21lT1MgSGFyZHdhcmUgVmFyaWFibGUgQml0cmF0ZSBFbmNvZGlu ZyI7Ci0gY29uc3QgY2hhciBrQ2hyb21lT1NIV1ZCUkVuY29kaW5nRGVzY3JpcHRpb25bXSA9Ci1k aWZmIC0tZ2l0IGEvY29udGVudC9wdWJsaWMvYnJvd3Nlci9ncHVfdXRpbHMuY2MgYi9jb250ZW50 L3B1YmxpYy9icm93c2VyL2dwdV91dGlscy5jYwotaW5kZXggZGNlZWNhOTY1OWE4NS4uM2QwOTEz NTk3NzdjYyAxMDA2NDQKLS0tLSBhL2NvbnRlbnQvcHVibGljL2Jyb3dzZXIvZ3B1X3V0aWxzLmNj Ci0rKysgYi9jb250ZW50L3B1YmxpYy9icm93c2VyL2dwdV91dGlscy5jYwotQEAgLTEzMywyMCAr MTMzLDI2IEBAIGNvbnN0IGdwdTo6R3B1UHJlZmVyZW5jZXMgR2V0R3B1UHJlZmVyZW5jZXNGcm9t Q29tbWFuZExpbmUoKSB7Ci0gI2lmIEJVSUxERkxBRyhVU0VfQ0hST01FT1NfTUVESUFfQUNDRUxF UkFUSU9OKQotICAgLy8gVGhlIGRpcmVjdCBWaWRlb0RlY29kZXIgaXMgZGlzYWxsb3dlZCBvbiBz b21lIHBhcnRpY3VsYXIgU29DL3BsYXRmb3Jtcy4KLSAgIGNvbnN0IGJvb2wgc2hvdWxkX3VzZV9k aXJlY3RfdmlkZW9fZGVjb2RlciA9Ci0rI2lmIEJVSUxERkxBRyhVU0VfVkFBUEkpCi0rICAgICAg dHJ1ZTsKLSsjZWxzZQotICAgICAgICFjb21tYW5kX2xpbmUtPkhhc1N3aXRjaCgKLSAgICAgICAg ICAgc3dpdGNoZXM6OmtQbGF0Zm9ybURpc2FsbG93c0Nocm9tZU9TRGlyZWN0VmlkZW9EZWNvZGVy KSAmJgotICAgICAgIGJhc2U6OkZlYXR1cmVMaXN0OjpJc0VuYWJsZWQobWVkaWE6OmtVc2VDaHJv bWVPU0RpcmVjdFZpZGVvRGVjb2Rlcik7Ci0rI2VuZGlmICAvLyBCVUlMREZMQUcoVVNFX1ZBQVBJ KQotKwotKyAgZ3B1X3ByZWZlcmVuY2VzLmVuYWJsZV9jaHJvbWVvc19kaXJlY3RfdmlkZW9fZGVj b2RlciA9Ci0rI2lmIEJVSUxERkxBRyhVU0VfVkFBUEkpCi0rICAgICAgc2hvdWxkX3VzZV9kaXJl Y3RfdmlkZW9fZGVjb2RlcjsKLSsjZWxzZQotKyAgICAgIC8vIEZvciB0ZXN0aW5nIHB1cnBvc2Vz LCB0aGUgZm9sbG93aW5nIGZsYWcgYWxsb3dzIHVzaW5nIHRoZSAib3RoZXIiIHZpZGVvCi0rICAg ICAgLy8gZGVjb2RlciBpbXBsZW1lbnRhdGlvbi4KLSsgICAgICBiYXNlOjpGZWF0dXJlTGlzdDo6 SXNFbmFibGVkKAotKyAgICAgICAgICBtZWRpYTo6a1VzZUFsdGVybmF0ZVZpZGVvRGVjb2Rlcklt cGxlbWVudGF0aW9uKQotKyAgICAgICAgICA/ICFzaG91bGRfdXNlX2RpcmVjdF92aWRlb19kZWNv ZGVyCi0rICAgICAgICAgIDogc2hvdWxkX3VzZV9kaXJlY3RfdmlkZW9fZGVjb2RlcjsKLSsjZW5k aWYgIC8vIEJVSUxERkxBRyhVU0VfVkFBUEkpCi0gCi0tICAvLyBGb3IgdGVzdGluZyBwdXJwb3Nl cywgdGhlIGZvbGxvd2luZyBmbGFnIGFsbG93cyB1c2luZyB0aGUgIm90aGVyIiB2aWRlbwotLSAg Ly8gZGVjb2RlciBpbXBsZW1lbnRhdGlvbi4KLS0gIGlmIChiYXNlOjpGZWF0dXJlTGlzdDo6SXNF bmFibGVkKAotLSAgICAgICAgICBtZWRpYTo6a1VzZUFsdGVybmF0ZVZpZGVvRGVjb2RlckltcGxl bWVudGF0aW9uKSkgewotLSAgICBncHVfcHJlZmVyZW5jZXMuZW5hYmxlX2Nocm9tZW9zX2RpcmVj dF92aWRlb19kZWNvZGVyID0KLS0gICAgICAgICFzaG91bGRfdXNlX2RpcmVjdF92aWRlb19kZWNv ZGVyOwotLSAgfSBlbHNlIHsKLS0gICAgZ3B1X3ByZWZlcmVuY2VzLmVuYWJsZV9jaHJvbWVvc19k aXJlY3RfdmlkZW9fZGVjb2RlciA9Ci0tICAgICAgICBzaG91bGRfdXNlX2RpcmVjdF92aWRlb19k ZWNvZGVyOwotLSAgfQotICNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJKQotICAgQ0hFQ0soZ3B1X3By ZWZlcmVuY2VzLmVuYWJsZV9jaHJvbWVvc19kaXJlY3RfdmlkZW9fZGVjb2Rlcik7Ci0gI2VuZGlm ICAvLyBCVUlMREZMQUcoVVNFX1ZBQVBJKQotZGlmZiAtLWdpdCBhL21lZGlhL2Jhc2UvbWVkaWFf c3dpdGNoZXMuY2MgYi9tZWRpYS9iYXNlL21lZGlhX3N3aXRjaGVzLmNjCi1pbmRleCAxYWY0ZGU0 NmUyYTAyLi4zMDg2YjFiZWMyMTM0IDEwMDY0NAotLS0tIGEvbWVkaWEvYmFzZS9tZWRpYV9zd2l0 Y2hlcy5jYwotKysrIGIvbWVkaWEvYmFzZS9tZWRpYV9zd2l0Y2hlcy5jYwotQEAgLTExOTIsNiAr MTE5Miw3IEBAIEJBU0VfRkVBVFVSRShrQ2hyb21lT1NIV1ZCUkVuY29kaW5nLAotICAgICAgICAg ICAgICAiQ2hyb21lT1NIV1ZCUkVuY29kaW5nIiwKLSAgICAgICAgICAgICAgYmFzZTo6RkVBVFVS RV9ESVNBQkxFRF9CWV9ERUZBVUxUKTsKLSAKLSsjaWYgIUJVSUxERkxBRyhVU0VfVkFBUEkpCi0g Ly8gRW5hYmxlIHRoZSBoYXJkd2FyZS1hY2NlbGVyYXRlZCBkaXJlY3QgdmlkZW8gZGVjb2RlciBp bnN0ZWFkIG9mIHRoZSBvbmUKLSAvLyBuZWVkaW5nIHRoZSBWZGFWaWRlb0RlY29kZXIgYWRhcHRl ci4gVGhpcyBmbGFnIGlzIHVzZWQgbWFpbmx5IGFzIGEKLSAvLyBjaHJvbWU6ZmxhZyBmb3IgZGV2 ZWxvcGVycyBkZWJ1Z2dpbmcgaXNzdWVzIGFzIHdlbGwgYXMgdG8gYmUgYWJsZSB0bwotQEAgLTEy MDAsNiArMTIwMSw3IEBAIEJBU0VfRkVBVFVSRShrQ2hyb21lT1NIV1ZCUkVuY29kaW5nLAotIEJB U0VfRkVBVFVSRShrVXNlQ2hyb21lT1NEaXJlY3RWaWRlb0RlY29kZXIsCi0gICAgICAgICAgICAg ICJVc2VDaHJvbWVPU0RpcmVjdFZpZGVvRGVjb2RlciIsCi0gICAgICAgICAgICAgIGJhc2U6OkZF QVRVUkVfRU5BQkxFRF9CWV9ERUZBVUxUKTsKLSsjZW5kaWYgIC8vICFCVUlMREZMQUcoVVNFX1ZB QVBJKQotIAotIC8vIExpbWl0IHRoZSBudW1iZXIgb2YgY29uY3VycmVudCBoYXJkd2FyZSBkZWNv ZGVyIGluc3RhbmNlcyBvbiBDaHJvbWVPUy4KLSBCQVNFX0ZFQVRVUkUoa0xpbWl0Q29uY3VycmVu dERlY29kZXJJbnN0YW5jZXMsCi1AQCAtMTIyOCw3ICsxMjMwLDcgQEAgQkFTRV9GRUFUVVJFKGtQ cmVmZXJTb2Z0d2FyZU1UMjEsCi0gICAgICAgICAgICAgICJQcmVmZXJTb2Z0d2FyZU1UMjEiLAot ICAgICAgICAgICAgICBiYXNlOjpGRUFUVVJFX0RJU0FCTEVEX0JZX0RFRkFVTFQpOwotICNlbmRp ZiAgLy8gZGVmaW5lZChBUkNIX0NQVV9BUk1fRkFNSUxZKQotLSNpZiBCVUlMREZMQUcoSVNfQ0hS T01FT1MpCi0rI2lmIEJVSUxERkxBRyhJU19DSFJPTUVPUykgJiYgIUJVSUxERkxBRyhVU0VfVkFB UEkpCi0gLy8gQ2hyb21lT1MgaGFzIG9uZSBvZiB0d28gVmlkZW9EZWNvZGVyIGltcGxlbWVudGF0 aW9ucyBhY3RpdmUgYmFzZWQgb24KLSAvLyBTb0MvYm9hcmQgc3BlY2lmaWMgY29uZmlndXJhdGlv bnMgdGhhdCBhcmUgc2VudCB2aWEgY29tbWFuZCBsaW5lIGZsYWdzLiBUaGlzCi0gLy8gc3dpdGNo IGFsbG93cyB1c2luZyB0aGUgbm9uIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZm9yIHRlc3Rpbmcu Ci1AQCAtMTIzNiw3ICsxMjM4LDcgQEAgQkFTRV9GRUFUVVJFKGtQcmVmZXJTb2Z0d2FyZU1UMjEs Ci0gQkFTRV9GRUFUVVJFKGtVc2VBbHRlcm5hdGVWaWRlb0RlY29kZXJJbXBsZW1lbnRhdGlvbiwK LSAgICAgICAgICAgICAgIlVzZUFsdGVybmF0ZVZpZGVvRGVjb2RlckltcGxlbWVudGF0aW9uIiwK LSAgICAgICAgICAgICAgYmFzZTo6RkVBVFVSRV9ESVNBQkxFRF9CWV9ERUZBVUxUKTsKLS0jZW5k aWYgIC8vIEJVSUxERkxBRyhJU19DSFJPTUVPUykKLSsjZW5kaWYgIC8vIEJVSUxERkxBRyhJU19D SFJPTUVPUykgJiYgIUJVSUxERkxBRyhVU0VfVkFBUEkpCi0gI2VuZGlmICAvLyBCVUlMREZMQUco VVNFX0NIUk9NRU9TX01FRElBX0FDQ0VMRVJBVElPTikKLSAKLSAjaWYgQlVJTERGTEFHKElTX1dJ TikKLWRpZmYgLS1naXQgYS9tZWRpYS9iYXNlL21lZGlhX3N3aXRjaGVzLmggYi9tZWRpYS9iYXNl L21lZGlhX3N3aXRjaGVzLmgKLWluZGV4IDFkOWMyYzJkOWRmNzMuLjk2ZDk1OTViZTExMGUgMTAw NjQ0Ci0tLS0gYS9tZWRpYS9iYXNlL21lZGlhX3N3aXRjaGVzLmgKLSsrKyBiL21lZGlhL2Jhc2Uv bWVkaWFfc3dpdGNoZXMuaAotQEAgLTE0LDYgKzE0LDcgQEAKLSAjaW5jbHVkZSAiYnVpbGQvYnVp bGRfY29uZmlnLmgiCi0gI2luY2x1ZGUgImJ1aWxkL2Nocm9tZW9zX2J1aWxkZmxhZ3MuaCIKLSAj aW5jbHVkZSAibWVkaWEvYmFzZS9tZWRpYV9leHBvcnQuaCIKLSsjaW5jbHVkZSAibWVkaWEvZ3B1 L2J1aWxkZmxhZ3MuaCIKLSAjaW5jbHVkZSAibWVkaWEvbWVkaWFfYnVpbGRmbGFncy5oIgotIAot IG5hbWVzcGFjZSBiYXNlIHsKLUBAIC0zODEsMTYgKzM4MiwxOCBAQCBNRURJQV9FWFBPUlQgQkFT RV9ERUNMQVJFX0ZFQVRVUkUoa0J1aWx0SW5IbHNQbGF5ZXIpOwotICNpZiBCVUlMREZMQUcoVVNF X0NIUk9NRU9TX01FRElBX0FDQ0VMRVJBVElPTikKLSBNRURJQV9FWFBPUlQgQkFTRV9ERUNMQVJF X0ZFQVRVUkUoa0Nocm9tZU9TSFdBVjFEZWNvZGVyKTsKLSBNRURJQV9FWFBPUlQgQkFTRV9ERUNM QVJFX0ZFQVRVUkUoa0Nocm9tZU9TSFdWQlJFbmNvZGluZyk7Ci0rI2lmICFCVUlMREZMQUcoVVNF X1ZBQVBJKQotIE1FRElBX0VYUE9SVCBCQVNFX0RFQ0xBUkVfRkVBVFVSRShrVXNlQ2hyb21lT1NE aXJlY3RWaWRlb0RlY29kZXIpOwotKyNlbmRpZiAgLy8gIUJVSUxERkxBRyhVU0VfVkFBUEkpCi0g TUVESUFfRVhQT1JUIEJBU0VfREVDTEFSRV9GRUFUVVJFKGtMaW1pdENvbmN1cnJlbnREZWNvZGVy SW5zdGFuY2VzKTsKLSBNRURJQV9FWFBPUlQgQkFTRV9ERUNMQVJFX0ZFQVRVUkUoa1VTZVNlcXVl bmNlZFRhc2tSdW5uZXJGb3JWRUEpOwotICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkp Ci0gTUVESUFfRVhQT1JUIEJBU0VfREVDTEFSRV9GRUFUVVJFKGtQcmVmZXJHTEltYWdlUHJvY2Vz c29yKTsKLSBNRURJQV9FWFBPUlQgQkFTRV9ERUNMQVJFX0ZFQVRVUkUoa1ByZWZlclNvZnR3YXJl TVQyMSk7Ci0gI2VuZGlmICAvLyBkZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkpCi0tI2lmIEJV SUxERkxBRyhJU19DSFJPTUVPUykKLSsjaWYgQlVJTERGTEFHKElTX0NIUk9NRU9TKSAmJiAhQlVJ TERGTEFHKFVTRV9WQUFQSSkKLSBNRURJQV9FWFBPUlQgQkFTRV9ERUNMQVJFX0ZFQVRVUkUoa1Vz ZUFsdGVybmF0ZVZpZGVvRGVjb2RlckltcGxlbWVudGF0aW9uKTsKLS0jZW5kaWYgIC8vIEJVSUxE RkxBRyhJU19DSFJPTUVPUykKLSsjZW5kaWYgIC8vIEJVSUxERkxBRyhJU19DSFJPTUVPUykgJiYg IUJVSUxERkxBRyhVU0VfVkFBUEkpCi0gI2VuZGlmICAvLyBCVUlMREZMQUcoVVNFX0NIUk9NRU9T X01FRElBX0FDQ0VMRVJBVElPTikKLSAKLSAjaWYgQlVJTERGTEFHKElTX1dJTikKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTktbnVsbHB0cl90LXdpdGhv dXQtbmFtZXNwYWNlLXN0ZC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1 bS0xMTktbnVsbHB0cl90LXdpdGhvdXQtbmFtZXNwYWNlLXN0ZC5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggNWNiOTY5ZjRmNDBjZi4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTE5LW51bGxwdHJfdC13aXRob3V0LW5hbWVz cGFjZS1zdGQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1kaWZmIC11cCBj aHJvbWl1bS0xMTkuMC42MDQ1LjU5L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFp bnQvZnJhZ21lbnRfZGF0YV9pdGVyYXRvci5oLm1lIGNocm9taXVtLTExOS4wLjYwNDUuNTkvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9mcmFnbWVudF9kYXRhX2l0ZXJhdG9y LmgKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2NvcmUvcGFpbnQvZnJhZ21lbnRfZGF0YV9pdGVyYXRvci5oLm1lCTIwMjMtMTAtMjcgMjA6MDc6 MTYuNDIxMjMwODE1ICswMjAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS41OS90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L2ZyYWdtZW50X2RhdGFfaXRlcmF0b3IuaAkyMDIz LTEwLTI3IDIwOjA3OjM2Ljg4MzYwMDA4NSArMDIwMAotQEAgLTUyLDcgKzUyLDcgQEAgY2xhc3Mg RnJhZ21lbnREYXRhSXRlcmF0b3IKLSAgcHVibGljOgotICAgZXhwbGljaXQgRnJhZ21lbnREYXRh SXRlcmF0b3IoY29uc3QgTGF5b3V0T2JqZWN0JiBvYmplY3QpCi0gICAgICAgOiBGcmFnbWVudERh dGFJdGVyYXRvckJhc2UoJm9iamVjdC5GaXJzdEZyYWdtZW50KCkpIHt9Ci0tICBleHBsaWNpdCBG cmFnbWVudERhdGFJdGVyYXRvcihudWxscHRyX3QpCi0rICBleHBsaWNpdCBGcmFnbWVudERhdGFJ dGVyYXRvcihzdGQ6Om51bGxwdHJfdCkKLSAgICAgICA6IEZyYWdtZW50RGF0YUl0ZXJhdG9yQmFz ZShudWxscHRyKSB7fQotIH07Ci0gCi1AQCAtNjMsNyArNjMsNyBAQCBjbGFzcyBNdXRhYmxlRnJh Z21lbnREYXRhSXRlcmF0b3IKLSAgIGV4cGxpY2l0IE11dGFibGVGcmFnbWVudERhdGFJdGVyYXRv cihjb25zdCBMYXlvdXRPYmplY3QmIG9iamVjdCkKLSAgICAgICA6IEZyYWdtZW50RGF0YUl0ZXJh dG9yQmFzZSgKLSAgICAgICAgICAgICAmb2JqZWN0LkdldE11dGFibGVGb3JQYWludGluZygpLkZp cnN0RnJhZ21lbnQoKSkge30KLS0gIGV4cGxpY2l0IE11dGFibGVGcmFnbWVudERhdGFJdGVyYXRv cihudWxscHRyX3QpCi0rICBleHBsaWNpdCBNdXRhYmxlRnJhZ21lbnREYXRhSXRlcmF0b3Ioc3Rk OjpudWxscHRyX3QpCi0gICAgICAgOiBGcmFnbWVudERhdGFJdGVyYXRvckJhc2UobnVsbHB0cikg e30KLSB9OwotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVt LTExOS1udmlkaWEtdXNlLXNlcGFyYXRlLWJvLXRvLXZlcmlmeS1tb2RpZmllci5wYXRjaCBiL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTktbnZpZGlhLXVzZS1zZXBhcmF0ZS1i by10by12ZXJpZnktbW9kaWZpZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDcxN2Q4OTc0NDZjN2MuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL2Nocm9taXVtLTExOS1udmlkaWEtdXNlLXNlcGFyYXRlLWJvLXRvLXZlcmlmeS1tb2RpZmll ci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE2NCArMCwwIEBACi1jb21taXQgYmRjYzIzZTBh NWU3ZTIyMDY2MGQzZjU0Yzk3MjYyZjlhNGMzMTYwNgotQXV0aG9yOiBOaWNrIERpZWdvIFlhbWFu ZSA8bmlja2RpZWdvQGlnYWxpYS5jb20+Ci1EYXRlOiAgIFRodSBOb3YgMiAxNzoyNjoyNSAyMDIz ICswMDAwCi0KLSAgICBnYm06IG52aWRpYTogdXNlIHNlcGFyYXRlIGJvIHRvIHZlcmlmeSBtb2Rp ZmllcnMKLSAgICAKLSAgICBCdWdneSBOdmlkaWEgZHJpdmVycyBmYWlsIHRvIHJldHVybiBGRHMg Zm9yIHBsYW5lcyBvZiBhIEJPIHdoaWNoIGhhZAotICAgIGFscmVhZHkgYW4gaW1wb3J0ZWQgQk8g ZGVzdHJveWVkIGJlZm9yZS4gVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIHRoYXQKLSAgICBpc3N1 ZSwgd2hpY2ggY29uc2lzdHMgb2YgY3JlYXRpbmcvZGVzdHJveWluZyBhIHNlcGFyYXRlIDF4MSBC TyBmb3IKLSAgICB2YWxpZGF0aW5nIHRoZSBtb2RpZmllcnMgYmVmb3JlIGFjdHVhbGx5IGNyZWF0 aW5nIHRoZSBmaW5hbCByZXF1ZXN0ZWQKLSAgICBCTywgd2hpY2ggZm9yIG5vdyBpcyBsaW1pdGVk IHRvIElTX0xJTlVYIGJ1aWxkcy4KLSAgICAKLSAgICBUaGUgTnZpZGlhIGRyaXZlciBidWcgaXMg YmVpbmcgdHJhY2tlZCB1bmRlciBpbnRlcm5hbCBidWcgNDMxNTUyOS4gVGhlcmUKLSAgICBzZWVt cyB0byBiZSBvdGhlciBpc3N1ZXMgd2hlbiBydW5uaW5nIHVuZGVyIFdheWxhbmQgd2l0aCBOdmlk aWEsIHdoaWNoCi0gICAgd2lsbCBiZSB0cmFja2VkIGFuZCBhZGRyZXNzZWQgaW4gc2VwYXJhdGUg cGF0Y2hlcy4KLSAgICAKLSAgICBSPWRjYXN0YWduYSwgbXNpc292QGlnYWxpYS5jb20KLSAgICAK LSAgICAgIHdpdGggb3pvbmUvd2F5bGFuZCBiYWNrZW5kIGFuZCB2ZXJpZnkgR1BVIGFjY2VsZXJh dGlvbiBpcyBub3QgYnJva2VuLgotICAgIAotICAgIFRlc3Q6IEluIGEgc2luZ2xlIE52aWRpYSBH UFUgc2V0dXAsIHdpdGggcHJvcHJpZXRhcnkgZHJpdmVyLCBydW4gQ2hyb21lCi0gICAgQnVnOiAx MjczNzU4LCAxNDc4Njg0LCAxNDYzODUxCi0gICAgQ2hhbmdlLUlkOiBJOWYzMjJiY2Y0MGI0NjBi Y2Q0ZWFkMDJmMDVkZDJlOWE4ZDI3MWNlYQotICAgIFJldmlld2VkLW9uOiBodHRwczovL2Nocm9t aXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNDk4OTc4MgotICAg IFJldmlld2VkLWJ5OiBNYWtzaW0gU2lzb3YgPG1zaXNvdkBpZ2FsaWEuY29tPgotICAgIENvbW1p dC1RdWV1ZTogTmljayBZYW1hbmUgPG5pY2tkaWVnb0BpZ2FsaWEuY29tPgotICAgIENyLUNvbW1p dC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsjMTIxODkyNH0KLQotZGlmZiAtLWdpdCBhL3Vp L2dmeC9saW51eC9nYm1fd3JhcHBlci5jYyBiL3VpL2dmeC9saW51eC9nYm1fd3JhcHBlci5jYwot aW5kZXggYmY5MGI3NjYwNWY2OC4uMTQ5MThjMTljMGFiMCAxMDA2NDQKLS0tLSBhL3VpL2dmeC9s aW51eC9nYm1fd3JhcHBlci5jYwotKysrIGIvdWkvZ2Z4L2xpbnV4L2dibV93cmFwcGVyLmNjCi1A QCAtMTEsNiArMTEsNyBAQAotICNpbmNsdWRlICJiYXNlL2xvZ2dpbmcuaCIKLSAjaW5jbHVkZSAi YmFzZS9tZW1vcnkvcmF3X3B0ci5oIgotICNpbmNsdWRlICJiYXNlL21lbW9yeS9yYXdfcHRyX2V4 Y2x1c2lvbi5oIgotKyNpbmNsdWRlICJiYXNlL251bWVyaWNzL3NhZmVfY29udmVyc2lvbnMuaCIK LSAjaW5jbHVkZSAiYmFzZS9wb3NpeC9laW50cl93cmFwcGVyLmgiCi0gI2luY2x1ZGUgInNraWEv ZXh0L2xlZ2FjeV9kaXNwbGF5X2dsb2JhbHMuaCIKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvc2tp YS9pbmNsdWRlL2NvcmUvU2tTdXJmYWNlLmgiCi1AQCAtNzEsNiArNzIsNyBAQCBiYXNlOjpTY29w ZWRGRCBHZXRQbGFuZUZkRm9yQm8oZ2JtX2JvKiBibywgc2l6ZV90IHBsYW5lKSB7Ci0gICBpbnQg cmV0OwotICAgLy8gVXNlIERSTV9SRFdSIHRvIGFsbG93IHRoZSBmZCB0byBiZSBtYXBwYWJsZSBp biBhbm90aGVyIHByb2Nlc3MuCi0gICByZXQgPSBkcm1QcmltZUhhbmRsZVRvRkQoZGV2X2ZkLCBw bGFuZV9oYW5kbGUsIERSTV9DTE9FWEVDIHwgRFJNX1JEV1IsICZmZCk7Ci0rICBQTE9HX0lGKEVS Uk9SLCByZXQgIT0gMCkgPDwgIkZhaWxlZCB0byBnZXQgZmQgZm9yIHBsYW5lLiI7Ci0gCi0gICAv LyBPbGRlciBEUk0gaW1wbGVtZW50YXRpb25zIGJsb2NrZWQgRFJNX1JEV1IsIGJ1dCBnYXZlIGEg cmVhZC93cml0ZSBtYXBwaW5nCi0gICAvLyBhbnl3YXlzCi1AQCAtMzAxLDU4ICszMDMsODIgQEAg Y2xhc3MgRGV2aWNlIGZpbmFsIDogcHVibGljIHVpOjpHYm1EZXZpY2UgewotIAotICAgc3RkOjp1 bmlxdWVfcHRyPHVpOjpHYm1CdWZmZXI+IENyZWF0ZUJ1ZmZlcldpdGhNb2RpZmllcnMoCi0gICAg ICAgdWludDMyX3QgZm9ybWF0LAotLSAgICAgIGNvbnN0IGdmeDo6U2l6ZSYgc2l6ZSwKLSsgICAg ICBjb25zdCBnZng6OlNpemUmIHJlcXVlc3RlZF9zaXplLAotICAgICAgIHVpbnQzMl90IGZsYWdz LAotICAgICAgIGNvbnN0IHN0ZDo6dmVjdG9yPHVpbnQ2NF90PiYgbW9kaWZpZXJzKSBvdmVycmlk ZSB7Ci0tICAgIGlmIChtb2RpZmllcnMuZW1wdHkoKSkKLS0gICAgICByZXR1cm4gQ3JlYXRlQnVm ZmVyKGZvcm1hdCwgc2l6ZSwgZmxhZ3MpOwotLQotLSAgICBzdGQ6OnZlY3Rvcjx1aW50NjRfdD4g ZmlsdGVyZWRfbW9kaWZpZXJzID0KLS0gICAgICAgIEdldEZpbHRlcmVkTW9kaWZpZXJzKGZvcm1h dCwgZmxhZ3MsIG1vZGlmaWVycyk7Ci0tICAgIHN0cnVjdCBnYm1fYm8qIGJvID0gbnVsbHB0cjsK LS0gICAgd2hpbGUgKGZpbHRlcmVkX21vZGlmaWVycy5zaXplKCkgPiAwKSB7Ci0tICAgICAgYm8g PSBnYm1fYm9fY3JlYXRlX3dpdGhfbW9kaWZpZXJzKGRldmljZV8sIHNpemUud2lkdGgoKSwgc2l6 ZS5oZWlnaHQoKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9y bWF0LCBmaWx0ZXJlZF9tb2RpZmllcnMuZGF0YSgpLAotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmaWx0ZXJlZF9tb2RpZmllcnMuc2l6ZSgpKTsKLS0gICAgICBpZiAo IWJvKSB7Ci0rICAgIGlmIChtb2RpZmllcnMuZW1wdHkoKSkgewotKyAgICAgIHJldHVybiBDcmVh dGVCdWZmZXIoZm9ybWF0LCByZXF1ZXN0ZWRfc2l6ZSwgZmxhZ3MpOwotKyAgICB9Ci0rCi0rICAg IC8vIEJ1Z2d5IGRyaXZlcnMgcHJldmVudCB1cyBmcm9tIGdldHRpbmcgcGxhbmUgRkRzIGZyb20g YSBCTyB3aGljaCBoYWQgaXRzCi0rICAgIC8vIHByZXZpb3VzbHkgaW1wb3J0ZWQgQk8gZGVzdHJv eWVkLiBFLmc6IE52aWRpYS4gVGh1cywgb24gTGludXggRGVza3RvcCwgd2UKLSsgICAgLy8gZG8g dGhlIGNyZWF0ZS9pbXBvcnQgbW9kaWZpZXJzIHZhbGlkYXRpb24gbG9vcCBiZWxvdyB1c2luZyBh IHNlcGFyYXRlIHNldAotKyAgICAvLyBvZiAxeDEgQk9zIHdoaWNoIGFyZSBkZXN0cm95ZWQgYmVm b3JlIGNyZWF0aW5nIHRoZSBmaW5hbCBCTyBjcmVhdGlvbiB1c2VkCi0rICAgIC8vIHRvIGluc3Rh bnRpYXRlIHRoZSByZXR1cm5lZCBHYm1CdWZmZXIuCi0rICAgIGdmeDo6U2l6ZSBzaXplID0KLSsj aWYgQlVJTERGTEFHKElTX0xJTlVYKQotKyAgICAgICAgZ2Z4OjpTaXplKDEsIDEpOwotKyNlbHNl Ci0rICAgICAgICByZXF1ZXN0ZWRfc2l6ZTsKLSsjZW5kaWYKLSsgICAgYXV0byBmaWx0ZXJlZF9t b2RpZmllcnMgPSBHZXRGaWx0ZXJlZE1vZGlmaWVycyhmb3JtYXQsIGZsYWdzLCBtb2RpZmllcnMp OwotKyAgICBzdHJ1Y3QgZ2JtX2JvKiBjcmVhdGVkX2JvID0gbnVsbHB0cjsKLSsgICAgYm9vbCB2 YWxpZF9tb2RpZmllcnMgPSBmYWxzZTsKLSsKLSsgICAgd2hpbGUgKCF2YWxpZF9tb2RpZmllcnMg JiYgIWZpbHRlcmVkX21vZGlmaWVycy5lbXB0eSgpKSB7Ci0rICAgICAgY3JlYXRlZF9ibyA9IGdi bV9ib19jcmVhdGVfd2l0aF9tb2RpZmllcnMoCi0rICAgICAgICAgIGRldmljZV8sIHNpemUud2lk dGgoKSwgc2l6ZS5oZWlnaHQoKSwgZm9ybWF0LAotKyAgICAgICAgICBmaWx0ZXJlZF9tb2RpZmll cnMuZGF0YSgpLCBmaWx0ZXJlZF9tb2RpZmllcnMuc2l6ZSgpKTsKLSsgICAgICBpZiAoIWNyZWF0 ZWRfYm8pIHsKLSAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgIH0KLSAKLS0gICAgICBz dHJ1Y3QgZ2JtX2ltcG9ydF9mZF9tb2RpZmllcl9kYXRhIGZkX2RhdGE7Ci0tICAgICAgZmRfZGF0 YS53aWR0aCA9IHNpemUud2lkdGgoKTsKLS0gICAgICBmZF9kYXRhLmhlaWdodCA9IHNpemUuaGVp Z2h0KCk7Ci0tICAgICAgZmRfZGF0YS5mb3JtYXQgPSBmb3JtYXQ7Ci0tICAgICAgZmRfZGF0YS5u dW1fZmRzID0gZ2JtX2JvX2dldF9wbGFuZV9jb3VudChibyk7Ci0tICAgICAgZmRfZGF0YS5tb2Rp ZmllciA9IGdibV9ib19nZXRfbW9kaWZpZXIoYm8pOwotLQotLSAgICAgIC8vIFN0b3JlIGZkcyBp biB0aGUgdmVjdG9yIG9mIGJhc2U6OlNjb3BlZEZEcy4gV2lsbCBiZSByZWxlYXNlZAotLSAgICAg IC8vIGF1dG9tYXRpY2FsbHkuCi0rICAgICAgY29uc3QgaW50IHBsYW5lc19jb3VudCA9IGdibV9i b19nZXRfcGxhbmVfY291bnQoY3JlYXRlZF9ibyk7Ci0rICAgICAgc3RydWN0IGdibV9pbXBvcnRf ZmRfbW9kaWZpZXJfZGF0YSBmZF9kYXRhID0gewotKyAgICAgICAgICAud2lkdGggPSBiYXNlOjpj aGVja2VkX2Nhc3Q8dWludDMyX3Q+KHNpemUud2lkdGgoKSksCi0rICAgICAgICAgIC5oZWlnaHQg PSBiYXNlOjpjaGVja2VkX2Nhc3Q8dWludDMyX3Q+KHNpemUuaGVpZ2h0KCkpLAotKyAgICAgICAg ICAuZm9ybWF0ID0gZm9ybWF0LAotKyAgICAgICAgICAubnVtX2ZkcyA9IGJhc2U6OmNoZWNrZWRf Y2FzdDx1aW50MzJfdD4ocGxhbmVzX2NvdW50KSwKLSsgICAgICAgICAgLm1vZGlmaWVyID0gZ2Jt X2JvX2dldF9tb2RpZmllcihjcmVhdGVkX2JvKX07Ci0rICAgICAgLy8gU3RvcmUgZmRzIGluIGEg YmFzZTo6U2NvcGVkRkRzIHZlY3Rvci4gV2lsbCBiZSByZWxlYXNlZCBhdXRvbWF0aWNhbGx5Lgot ICAgICAgIHN0ZDo6dmVjdG9yPGJhc2U6OlNjb3BlZEZEPiBmZHM7Ci0gICAgICAgZm9yIChzaXpl X3QgaSA9IDA7IGkgPCBzdGF0aWNfY2FzdDxzaXplX3Q+KGZkX2RhdGEubnVtX2Zkcyk7ICsraSkg ewotLSAgICAgICAgZmRzLmVtcGxhY2VfYmFjayhHZXRQbGFuZUZkRm9yQm8oYm8sIGkpKTsKLSsg ICAgICAgIGZkcy5lbXBsYWNlX2JhY2soR2V0UGxhbmVGZEZvckJvKGNyZWF0ZWRfYm8sIGkpKTsK LSAgICAgICAgIGZkX2RhdGEuZmRzW2ldID0gZmRzLmJhY2soKS5nZXQoKTsKLS0gICAgICAgIGZk X2RhdGEuc3RyaWRlc1tpXSA9IGdibV9ib19nZXRfc3RyaWRlX2Zvcl9wbGFuZShibywgaSk7Ci0t ICAgICAgICBmZF9kYXRhLm9mZnNldHNbaV0gPSBnYm1fYm9fZ2V0X29mZnNldChibywgaSk7Ci0r ICAgICAgICBmZF9kYXRhLnN0cmlkZXNbaV0gPSBnYm1fYm9fZ2V0X3N0cmlkZV9mb3JfcGxhbmUo Y3JlYXRlZF9ibywgaSk7Ci0rICAgICAgICBmZF9kYXRhLm9mZnNldHNbaV0gPSBnYm1fYm9fZ2V0 X29mZnNldChjcmVhdGVkX2JvLCBpKTsKLSAgICAgICB9Ci0gCi0tICAgICAgc3RydWN0IGdibV9i byogYm9faW1wb3J0ID0KLSsgICAgICBzdHJ1Y3QgZ2JtX2JvKiBpbXBvcnRlZF9ibyA9Ci0gICAg ICAgICAgIGdibV9ib19pbXBvcnQoZGV2aWNlXywgR0JNX0JPX0lNUE9SVF9GRF9NT0RJRklFUiwg JmZkX2RhdGEsIGZsYWdzKTsKLS0gICAgICBpZiAoYm9faW1wb3J0KSB7Ci0tICAgICAgICBnYm1f Ym9fZGVzdHJveShib19pbXBvcnQpOwotLSAgICAgICAgYnJlYWs7Ci0rCi0rICAgICAgaWYgKGlt cG9ydGVkX2JvKSB7Ci0rICAgICAgICB2YWxpZF9tb2RpZmllcnMgPSB0cnVlOwotKyAgICAgICAg Z2JtX2JvX2Rlc3Ryb3koaW1wb3J0ZWRfYm8pOwotICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICBn Ym1fYm9fZGVzdHJveShibyk7Ci0tICAgICAgICBibyA9IG51bGxwdHI7Ci0gICAgICAgICBBZGRN b2RpZmllclRvQmxvY2tsaXN0KGZvcm1hdCwgZmxhZ3MsIGZkX2RhdGEubW9kaWZpZXIpOwotICAg ICAgICAgZmlsdGVyZWRfbW9kaWZpZXJzID0KLSAgICAgICAgICAgICBHZXRGaWx0ZXJlZE1vZGlm aWVycyhmb3JtYXQsIGZsYWdzLCBmaWx0ZXJlZF9tb2RpZmllcnMpOwotICAgICAgIH0KLSsKLSsg ICAgICBpZiAoIXZhbGlkX21vZGlmaWVycyB8fCBzaXplICE9IHJlcXVlc3RlZF9zaXplKSB7Ci0r ICAgICAgICBnYm1fYm9fZGVzdHJveShjcmVhdGVkX2JvKTsKLSsgICAgICAgIGNyZWF0ZWRfYm8g PSBudWxscHRyOwotKyAgICAgIH0KLSAgICAgfQotLSAgICBpZiAoIWJvKSB7Ci0tICAgICAgcmV0 dXJuIG51bGxwdHI7Ci0rCi0rICAgIC8vIElmIG1vZGlmaWVycyB3ZXJlIHN1Y2Nlc3NmdWxseSB2 ZXJpZmllZCB0aG91Z2ggYGNyZWF0ZWRfYm9gIGlzIG51bGwgaGVyZSwKLSsgICAgLy8gaXQgaXQg bWVhbnMgdGhhdCB0aGUgYnVmZmVyIGNyZWF0ZWQgZm9yIHZlcmlmaWNhdGlvbiBjb3VsZCBub3Qg YmUgcmV1c2VkLAotKyAgICAvLyBpZTogZGlmZmVyZW50IHNpemUsIHNvIGNyZWF0ZSBpdCBub3cg d2l0aCB0aGUgYHJlcXVlc3RlZF9zaXplYC4KLSsgICAgaWYgKHZhbGlkX21vZGlmaWVycyAmJiAh Y3JlYXRlZF9ibykgewotKyAgICAgIGNyZWF0ZWRfYm8gPSBnYm1fYm9fY3JlYXRlX3dpdGhfbW9k aWZpZXJzKAotKyAgICAgICAgICBkZXZpY2VfLCByZXF1ZXN0ZWRfc2l6ZS53aWR0aCgpLCByZXF1 ZXN0ZWRfc2l6ZS5oZWlnaHQoKSwgZm9ybWF0LAotKyAgICAgICAgICBmaWx0ZXJlZF9tb2RpZmll cnMuZGF0YSgpLCBmaWx0ZXJlZF9tb2RpZmllcnMuc2l6ZSgpKTsKLSsgICAgICBQTE9HX0lGKEVS Uk9SLCAhY3JlYXRlZF9ibykgPDwgIkZhaWxlZCB0byBjcmVhdGUgQk8gd2l0aCBtb2RpZmllcnMu IjsKLSAgICAgfQotIAotLSAgICByZXR1cm4gQ3JlYXRlQnVmZmVyRm9yQk8oYm8sIGZvcm1hdCwg c2l6ZSwgZmxhZ3MpOwotKyAgICByZXR1cm4gY3JlYXRlZF9ibyA/IENyZWF0ZUJ1ZmZlckZvckJP KGNyZWF0ZWRfYm8sIGZvcm1hdCwgc2l6ZSwgZmxhZ3MpCi0rICAgICAgICAgICAgICAgICAgICAg IDogbnVsbHB0cjsKLSAgIH0KLSAKLSAgIHN0ZDo6dW5pcXVlX3B0cjx1aTo6R2JtQnVmZmVyPiBD cmVhdGVCdWZmZXJGcm9tSGFuZGxlKApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL2Nocm9taXVtLTEyMC1hcm02NC1tZW1vcnlfdGFnZ2luZy5wYXRjaCBiL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtYXJtNjQtbWVtb3J5X3RhZ2dpbmcucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uYmI0NjFlZjM2NjRhMgotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtYXJt NjQtbWVtb3J5X3RhZ2dpbmcucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorLS0tIGNocm9taXVtLTEy MC4wLjYwOTkuMzUvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zcmMvcGFydGl0 aW9uX2FsbG9jL3BhcnRpdGlvbl9hbGxvY19jb25maWcuaC50aGFuCTIwMjMtMTEtMjYgMTM6NTA6 MDcuMDA1NTE5ODc3ICswMTAwCisrKysgY2hyb21pdW0tMTIwLjAuNjA5OS4zNS9iYXNlL2FsbG9j YXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0aW9uX2Fs bG9jX2NvbmZpZy5oCTIwMjMtMTEtMjYgMTM6NTA6NDkuNzI3MjY3MjQwICswMTAwCitAQCAtMTUy LDEwICsxNTIsNyBAQAorICAgKCFCVUlMREZMQUcoUFVUX1JFRl9DT1VOVF9JTl9QUkVWSU9VU19T TE9UKSAmJiBcCisgICAgZGVmaW5lZChBUkNIX0NQVV9MSVRUTEVfRU5ESUFOKSkKKyAKKy0jZGVm aW5lIFBBX0NPTkZJR19IQVNfTUVNT1JZX1RBR0dJTkcoKSAgICAgICAgICAgICAgXAorLSAgKGRl ZmluZWQoQVJDSF9DUFVfQVJNNjQpICYmIGRlZmluZWQoX19jbGFuZ19fKSAmJiBcCistICAgIWRl ZmluZWQoQUREUkVTU19TQU5JVElaRVIpICYmICAgICAgICAgICAgICAgICAgIFwKKy0gICAoQlVJ TERGTEFHKElTX0xJTlVYKSB8fCBCVUlMREZMQUcoSVNfQU5EUk9JRCkpKQorKyNkZWZpbmUgUEFf Q09ORklHX0hBU19NRU1PUllfVEFHR0lORygpIDAKKyAKKyAjaWYgUEFfQ09ORklHKEhBU19NRU1P UllfVEFHR0lORykKKyBzdGF0aWNfYXNzZXJ0KHNpemVvZih2b2lkKikgPT0gOCk7CmRpZmYgLS1n aXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWRpc2FibGUtRkZtcGVn QWxsb3dMaXN0cy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAt ZGlzYWJsZS1GRm1wZWdBbGxvd0xpc3RzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMDAuLjk4MjE2ZGRiNDY1Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWRpc2FibGUtRkZtcGVnQWxsb3dMaXN0cy5w YXRjaApAQCAtMCwwICsxLDEyIEBACitkaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L21l ZGlhL2Jhc2UvbWVkaWFfc3dpdGNoZXMuY2MubWUgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9tZWRp YS9iYXNlL21lZGlhX3N3aXRjaGVzLmNjCistLS0gY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9tZWRp YS9iYXNlL21lZGlhX3N3aXRjaGVzLmNjLm1lCTIwMjMtMTItMDIgMTE6NDM6MjEuOTkwNzc1ODk3 ICswMTAwCisrKysgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9tZWRpYS9iYXNlL21lZGlhX3N3aXRj aGVzLmNjCTIwMjMtMTItMDIgMTE6NDU6MjMuMjQ4MDA2Mzc3ICswMTAwCitAQCAtMTYzNiw3ICsx NjM2LDcgQEAgQkFTRV9GRUFUVVJFKGtVc2VTaGFyZWRJbWFnZXNGb3JQZXBwZXJWaQorIC8vIEVu YWJsZXMgRkZtcGVnIGFsbG93IGxpc3RzIGZvciBzdXBwb3J0ZWQgY29kZWNzIC8gY29udGFpbmVy cy4KKyBCQVNFX0ZFQVRVUkUoa0ZGbXBlZ0FsbG93TGlzdHMsCisgICAgICAgICAgICAgICJGRm1w ZWdBbGxvd0xpc3RzIiwKKy0gICAgICAgICAgICAgYmFzZTo6RkVBVFVSRV9FTkFCTEVEX0JZX0RF RkFVTFQpOworKyAgICAgICAgICAgICBiYXNlOjpGRUFUVVJFX0RJU0FCTEVEX0JZX0RFRkFVTFQp OworIAorICNpZiBCVUlMREZMQUcoRU5BQkxFX0ZGTVBFR19WSURFT19ERUNPREVSUykKKyAvLyBB bGxvd3MgZGVjb2Rpbmcgb2YgdGhlb3JhIC8gdnAzIGNvbnRlbnQuCmRpZmYgLS1naXQgYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWRpc2FibGUtR2xvYmFsTWVkaWFDb250 cm9sc0Nhc3RTdGFydFN0b3AucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21p dW0tMTIwLWRpc2FibGUtR2xvYmFsTWVkaWFDb250cm9sc0Nhc3RTdGFydFN0b3AucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uNmEyNTg1Yjk1M2MzYgotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtZGlz YWJsZS1HbG9iYWxNZWRpYUNvbnRyb2xzQ2FzdFN0YXJ0U3RvcC5wYXRjaApAQCAtMCwwICsxLDE0 IEBACistLS0gY2hyb21pdW0tMTIwLjAuNjA5OS4zNS9jaHJvbWUvYnJvd3Nlci9tZWRpYS9yb3V0 ZXIvbWVkaWFfcm91dGVyX2ZlYXR1cmUuY2Mub3JpZwkyMDIzLTExLTI2IDEzOjI1OjM0LjcyNDIy ODc1NSArMDEwMAorKysrIGNocm9taXVtLTEyMC4wLjYwOTkuMzUvY2hyb21lL2Jyb3dzZXIvbWVk aWEvcm91dGVyL21lZGlhX3JvdXRlcl9mZWF0dXJlLmNjCTIwMjMtMTEtMjYgMTM6Mjg6MjYuNDUy MzU5MTQ2ICswMTAwCitAQCAtNzEsMTEgKzcxLDcgQEAKKyAvLyBUT0RPKGIvMjAyMjk0OTQ2KTog UmVtb3ZlIHdoZW4gZW5hYmxlZCBieSBkZWZhdWx0IG9uIENocm9tZU9TLgorIEJBU0VfRkVBVFVS RShrR2xvYmFsTWVkaWFDb250cm9sc0Nhc3RTdGFydFN0b3AsCisgICAgICAgICAgICAgICJHbG9i YWxNZWRpYUNvbnRyb2xzQ2FzdFN0YXJ0U3RvcCIsCistI2lmIEJVSUxERkxBRyhJU19DSFJPTUVP UykKKyAgICAgICAgICAgICAgYmFzZTo6RkVBVFVSRV9ESVNBQkxFRF9CWV9ERUZBVUxUKTsKKy0j ZWxzZQorLSAgICAgICAgICAgICBiYXNlOjpGRUFUVVJFX0VOQUJMRURfQllfREVGQVVMVCk7Cist I2VuZGlmICAvLyBCVUlMREZMQUcoSVNfQ0hST01FT1MpCisgI2VuZGlmICAvLyAhQlVJTERGTEFH KElTX0FORFJPSUQpCisgCisgbmFtZXNwYWNlIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtZWw3LWNsYW5nLWJ1aWxkLWZhaWx1cmUucGF0Y2ggYi9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWVsNy1jbGFuZy1idWlsZC1mYWls dXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjk2MjU4 ZTY3YWFlYmIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tMTIwLWVsNy1jbGFuZy1idWlsZC1mYWlsdXJlLnBhdGNoCkBAIC0wLDAgKzEsMjMwIEBA Citjb21taXQgNTc1MjZiOGRjNDViMmU2YzY3YmJhNzMwNmYxZGRlNzNiMWYyOTEwYworQXV0aG9y OiBzaXNpZG92c2tpIDxzaXNpZG92c2tpQGNocm9taXVtLm9yZz4KK0RhdGU6ICAgVHVlIE9jdCAy NCAwOTozMjo0OSAyMDIzICswMDAwCisKKyAgICBSZW1vdmUgdW51c2VkIGl0ZW1zIGZyb20gdGhl IFJhY2VOZXR3b3JrUmVxdWVzdCBoYXNobWFwCisgICAgCisgICAgV2hlbiB0aGUgQXV0b1ByZWxv YWQgb3IgdGhlIHJhY2UtbmV0d29yay1hbmQtZmV0Y2gtaGFuZGxlciBvcHRpb24gaW4gdGhlCisg ICAgc3RhdGljIHJvdXRpbmcgQVBJIGlzIGVuYWJsZWQsIG5ldHdvcmsgcmVxdWVzdHMgYXJlIGRp c3BhdGNoZWQgYW5kCisgICAgVVJMTG9hZGVyRmFjdG9yaWVzIGFyZSBoZWxkIGluIGEgaGFzaG1h cCBpbiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuCisgICAgVGhvc2UgYXJlIGNvbnN1bWVkIGlu c2lkZSB0aGUgZmV0Y2ggaGFuZGxlciB3aGVuIGZldGNoKGUucmVxdWVzdCkgaXMKKyAgICBjYWxs ZWQuIEJ1dCBpZiB0aGUgZmV0Y2ggaGFuZGxlciBkb2Vzbid0IGNhbGwgZmV0Y2goKSBlLmcuIGZh bGxiYWNrLAorICAgIHRob3NlIGhhc2htYXAgaXRlbXMgZG9lcyBub3QgaGF2ZSBhIGNoYW5jZSB0 byBiZSByZW1vdmVkLgorICAgIAorICAgIFRoaXMgQ0wgY2hhbmdlcyB0aGUgaGFzaG1hcCBpdGVt cyB0byBiZSByZW1vdmVkIHdoZW4gdGhlIGZldGNoIGV2ZW50CisgICAgZmluaXNoZXMsIGFuZCB0 aGUgVVJMTG9hZGVyRmFjdG9yeSBpcyBzdGlsbCBub3QgY29uc3VtZWQgYXQgdGhhdCB0aW1lLgor ICAgIFRoaXMgbWF5IGxvb3NlIHRoZSBkZWR1cGUgY2FwYWJpbGl0eSBpZiBmZXRjaCgpIGlzIGNh bGxlZCBsYXRlciBlLmcuCisgICAgc2V0VGltZW91dCgoKSA9PiBmZXRjaCgpKSwgYnV0IGl0IG1h a2VzIHNlbnNlIHRvIHByaW9yaXRpemUga2VlcGluZyB0aGUKKyAgICBoYXNobWFwIHNtYWxsLgor ICAgIAorICAgIENoYW5nZS1JZDogSTUxYmRjOWQ1ZWI1MTg1ZjJiNWI0ZGY2ZWU3ODU3MTViMTE4 MGM4NDgKKyAgICBCdWc6IDE0OTI2NDAKKyAgICBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1 bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQ5NjQ4NDAKKyAgICBS ZXZpZXdlZC1ieTogTWlub3J1IENoaWthbXVuZSA8Y2hpa2FtdW5lQGNocm9taXVtLm9yZz4KKyAg ICBDb21taXQtUXVldWU6IFlvc2hpc2F0byBZYW5hZ2lzYXdhIDx5eWFuYWdpc2F3YUBjaHJvbWl1 bS5vcmc+CisgICAgUmV2aWV3ZWQtYnk6IFlvc2hpc2F0byBZYW5hZ2lzYXdhIDx5eWFuYWdpc2F3 YUBjaHJvbWl1bS5vcmc+CisgICAgQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5A eyMxMjE0MDY0fQorCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvbW9k dWxlcy9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9nbG9iYWxfc2NvcGUuY2MgYi90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL3NlcnZpY2Vfd29ya2VyL3NlcnZpY2Vfd29y a2VyX2dsb2JhbF9zY29wZS5jYworaW5kZXggMDI4ODdlZGMxMDg4My4uYjM2MjRmYzAxNjJkZiAx MDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvc2VydmljZV93 b3JrZXIvc2VydmljZV93b3JrZXJfZ2xvYmFsX3Njb3BlLmNjCisrKysgYi90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9tb2R1bGVzL3NlcnZpY2Vfd29ya2VyL3NlcnZpY2Vfd29ya2VyX2dsb2Jh bF9zY29wZS5jYworQEAgLTQ2LDYgKzQ2LDcgQEAKKyAjaW5jbHVkZSAic2VydmljZXMvbmV0d29y ay9wdWJsaWMvY3BwL2Nyb3NzX29yaWdpbl9lbWJlZGRlcl9wb2xpY3kuaCIKKyAjaW5jbHVkZSAi c2VydmljZXMvbmV0d29yay9wdWJsaWMvbW9qb20vY29va2llX21hbmFnZXIubW9qb20tYmxpbmsu aCIKKyAjaW5jbHVkZSAic2VydmljZXMvbmV0d29yay9wdWJsaWMvbW9qb20vY3Jvc3Nfb3JpZ2lu X2VtYmVkZGVyX3BvbGljeS5tb2pvbS5oIgorKyNpbmNsdWRlICJzZXJ2aWNlcy9uZXR3b3JrL3B1 YmxpYy9tb2pvbS91cmxfbG9hZGVyX2ZhY3RvcnkubW9qb20tYmxpbmsuaCIKKyAjaW5jbHVkZSAi dGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9mZWF0dXJlcy5oIgorICNpbmNsdWRlICJ0 aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvbW9qb20vZmV0Y2gvZmV0Y2hfYXBpX3JlcXVlc3QubW9q b20tYmxpbmsuaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcHVibGljL21vam9tL25v dGlmaWNhdGlvbnMvbm90aWZpY2F0aW9uLm1vam9tLWJsaW5rLmgiCitAQCAtMTA5Niw2ICsxMDk3 LDEwIEBAIHZvaWQgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpEaWRIYW5kbGVGZXRjaEV2ZW50 KAorICAgICAgIFRSQUNFX0lEX1dJVEhfU0NPUEUoa1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZVRy YWNlU2NvcGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkFDRV9JRF9MT0NBTChldmVu dF9pZCkpLAorICAgICAgIFRSQUNFX0VWRU5UX0ZMQUdfRkxPV19JTiwgInN0YXR1cyIsIE1vam9F bnVtVG9TdHJpbmcoc3RhdHVzKSk7CisrCisrICAvLyBEZWxldGUgdGhlIFVSTExvYWRlckZhY3Rv cnkgZm9yIHRoZSBSYWNlTmV0d29ya1JlcXVlc3QgaWYgaXQncyBub3QgdXNlZC4KKysgIFJlbW92 ZUl0ZW1Gcm9tUmFjZU5ldHdvcmtSZXF1ZXN0cyhldmVudF9pZCk7CisrCisgICBpZiAoIVJ1bkV2 ZW50Q2FsbGJhY2soJmZldGNoX2V2ZW50X2NhbGxiYWNrc18sIGV2ZW50X3F1ZXVlXy5nZXQoKSwg ZXZlbnRfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzKSkgeworICAgICAvLyBU aGUgZXZlbnQgbWF5IGhhdmUgYmVlbiBhYm9ydGVkLiBJdHMgcmVzcG9uc2UgY2FsbGJhY2sgYWxz byBuZWVkcyB0byBiZQorQEAgLTE0OTUsNiArMTUwMCw3IEBAIHZvaWQgU2VydmljZVdvcmtlckds b2JhbFNjb3BlOjpBYm9ydENhbGxiYWNrRm9yRmV0Y2hFdmVudCgKKyAgICAgcmVzcG9uc2VfY2Fs bGJhY2tfaXRlci0+dmFsdWUtPlRha2VWYWx1ZSgpLnJlc2V0KCk7CisgICAgIGZldGNoX3Jlc3Bv bnNlX2NhbGxiYWNrc18uZXJhc2UocmVzcG9uc2VfY2FsbGJhY2tfaXRlcik7CisgICB9CisrICBS ZW1vdmVJdGVtRnJvbVJhY2VOZXR3b3JrUmVxdWVzdHMoZXZlbnRfaWQpOworIAorICAgLy8gUnVu IHRoZSBldmVudCBjYWxsYmFjayB3aXRoIHRoZSBlcnJvciBjb2RlLgorICAgYXV0byBldmVudF9j YWxsYmFja19pdGVyID0gZmV0Y2hfZXZlbnRfY2FsbGJhY2tzXy5maW5kKGV2ZW50X2lkKTsKK0BA IC0xNTUxLDUyICsxNTU3LDExIEBAIHZvaWQgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpTdGFy dEZldGNoRXZlbnQoCisgCisgICBpZiAocGFyYW1zLT5yYWNlX25ldHdvcmtfcmVxdWVzdF9sb2Fk ZXJfZmFjdG9yeSAmJgorICAgICAgIHBhcmFtcy0+cmVxdWVzdC0+c2VydmljZV93b3JrZXJfcmFj ZV9uZXR3b3JrX3JlcXVlc3RfdG9rZW4pIHsKKy0gICAgYXV0byBpbnNlcnRfcmVzdWx0ID0gcmFj ZV9uZXR3b3JrX3JlcXVlc3RfbG9hZGVyX2ZhY3Rvcmllc18uaW5zZXJ0KAorLSAgICAgICAgU3Ry aW5nKHBhcmFtcy0+cmVxdWVzdC0+c2VydmljZV93b3JrZXJfcmFjZV9uZXR3b3JrX3JlcXVlc3Rf dG9rZW4KKy0gICAgICAgICAgICAgICAgICAgLT5Ub1N0cmluZygpKSwKKy0gICAgICAgIHN0ZDo6 bW92ZShwYXJhbXMtPnJhY2VfbmV0d29ya19yZXF1ZXN0X2xvYWRlcl9mYWN0b3J5KSk7CistCist ICAgIC8vIER1bXBXaXRob3V0Q3Jhc2hpbmcgaWYgdGhlIHRva2VuIGlzIGVtcHR5LCBvciBub3Qg aW5zZXJ0ZWQgYXMgYSBuZXcgZW50cnkKKy0gICAgLy8gdG8gfHJhY2VfbmV0d29ya19yZXF1ZXN0 X2xvYWRlcl9mYWN0b3JpZXNffC4KKy0gICAgLy8gVE9ETyhjcmJ1Zy5jb20vMTQ5MjY0MCkgUmVt b3ZlIER1bXBXaXRob3V0Q3Jhc2hpbmcgb25jZSB3ZSBjb2xsZWN0IGRhdGEKKy0gICAgLy8gYW5k IGlkZW50aWZ5IHRoZSBjYXVzZS4KKy0gICAgc3RhdGljIGJvb2wgaGFzX2R1bXBlZF93aXRob3V0 X2NyYXNoaW5nX2Zvcl9lbXB0eV90b2tlbiA9IGZhbHNlOworLSAgICBzdGF0aWMgYm9vbCBoYXNf ZHVtcGVkX3dpdGhvdXRfY3Jhc2hpbmdfZm9yX25vdF9uZXdfZW50cnkgPSBmYWxzZTsKKy0gICAg aWYgKCFoYXNfZHVtcGVkX3dpdGhvdXRfY3Jhc2hpbmdfZm9yX2VtcHR5X3Rva2VuICYmCistICAg ICAgICBwYXJhbXMtPnJlcXVlc3QtPnNlcnZpY2Vfd29ya2VyX3JhY2VfbmV0d29ya19yZXF1ZXN0 X3Rva2VuCistICAgICAgICAgICAgLT5pc19lbXB0eSgpKSB7CistICAgICAgaGFzX2R1bXBlZF93 aXRob3V0X2NyYXNoaW5nX2Zvcl9lbXB0eV90b2tlbiA9IHRydWU7CistICAgICAgU0NPUEVEX0NS QVNIX0tFWV9CT09MKAorLSAgICAgICAgICAiU1dHbG9iYWxTY29wZSIsICJlbXB0eV9yYWNlX3Rv a2VuIiwKKy0gICAgICAgICAgcGFyYW1zLT5yZXF1ZXN0LT5zZXJ2aWNlX3dvcmtlcl9yYWNlX25l dHdvcmtfcmVxdWVzdF90b2tlbgorLSAgICAgICAgICAgICAgLT5pc19lbXB0eSgpKTsKKy0gICAg ICBTQ09QRURfQ1JBU0hfS0VZX1NUUklORzY0KAorLSAgICAgICAgICAiU1dHbG9iYWxTY29wZSIs ICJyYWNlX3Rva2VuX3N0cmluZyIsCistICAgICAgICAgIHBhcmFtcy0+cmVxdWVzdC0+c2Vydmlj ZV93b3JrZXJfcmFjZV9uZXR3b3JrX3JlcXVlc3RfdG9rZW4KKy0gICAgICAgICAgICAgIC0+VG9T dHJpbmcoKSk7CistICAgICAgU0NPUEVEX0NSQVNIX0tFWV9CT09MKCJTV0dsb2JhbFNjb3BlIiwg InJhY2VfaW5zZXJ0X25ld19lbnRyeSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu c2VydF9yZXN1bHQuaXNfbmV3X2VudHJ5KTsKKy0gICAgICBTQ09QRURfQ1JBU0hfS0VZX1NUUklO RzI1NigiU1dHbG9iYWxTY29wZSIsICJyYWNlX3JlcXVlc3RfdXJsIiwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwYXJhbXMtPnJlcXVlc3QtPnVybC5HZXRTdHJpbmcoKS5VdGY4 KCkpOworLSAgICAgIGJhc2U6OmRlYnVnOjpEdW1wV2l0aG91dENyYXNoaW5nKCk7CistICAgIH0K Ky0gICAgaWYgKCFoYXNfZHVtcGVkX3dpdGhvdXRfY3Jhc2hpbmdfZm9yX25vdF9uZXdfZW50cnkg JiYKKy0gICAgICAgICFpbnNlcnRfcmVzdWx0LmlzX25ld19lbnRyeSkgeworLSAgICAgIGhhc19k dW1wZWRfd2l0aG91dF9jcmFzaGluZ19mb3Jfbm90X25ld19lbnRyeSA9IHRydWU7CistICAgICAg U0NPUEVEX0NSQVNIX0tFWV9CT09MKAorLSAgICAgICAgICAiU1dHbG9iYWxTY29wZSIsICJlbXB0 eV9yYWNlX3Rva2VuIiwKKy0gICAgICAgICAgcGFyYW1zLT5yZXF1ZXN0LT5zZXJ2aWNlX3dvcmtl cl9yYWNlX25ldHdvcmtfcmVxdWVzdF90b2tlbgorLSAgICAgICAgICAgICAgLT5pc19lbXB0eSgp KTsKKy0gICAgICBTQ09QRURfQ1JBU0hfS0VZX1NUUklORzY0KAorLSAgICAgICAgICAiU1dHbG9i YWxTY29wZSIsICJyYWNlX3Rva2VuX3N0cmluZyIsCistICAgICAgICAgIHBhcmFtcy0+cmVxdWVz dC0+c2VydmljZV93b3JrZXJfcmFjZV9uZXR3b3JrX3JlcXVlc3RfdG9rZW4KKy0gICAgICAgICAg ICAgIC0+VG9TdHJpbmcoKSk7CistICAgICAgU0NPUEVEX0NSQVNIX0tFWV9CT09MKCJTV0dsb2Jh bFNjb3BlIiwgInJhY2VfaW5zZXJ0X25ld19lbnRyeSIsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGluc2VydF9yZXN1bHQuaXNfbmV3X2VudHJ5KTsKKy0gICAgICBTQ09QRURfQ1JBU0hf S0VZX1NUUklORzI1NigiU1dHbG9iYWxTY29wZSIsICJyYWNlX3JlcXVlc3RfdXJsIiwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXMtPnJlcXVlc3QtPnVybC5HZXRTdHJp bmcoKS5VdGY4KCkpOworLSAgICAgIGJhc2U6OmRlYnVnOjpEdW1wV2l0aG91dENyYXNoaW5nKCk7 CistICAgIH0KKysgICAgSW5zZXJ0TmV3SXRlbVRvUmFjZU5ldHdvcmtSZXF1ZXN0cygKKysgICAg ICAgIGV2ZW50X2lkLAorKyAgICAgICAgcGFyYW1zLT5yZXF1ZXN0LT5zZXJ2aWNlX3dvcmtlcl9y YWNlX25ldHdvcmtfcmVxdWVzdF90b2tlbi52YWx1ZSgpLAorKyAgICAgICAgc3RkOjptb3ZlKHBh cmFtcy0+cmFjZV9uZXR3b3JrX3JlcXVlc3RfbG9hZGVyX2ZhY3RvcnkpLAorKyAgICAgICAgcGFy YW1zLT5yZXF1ZXN0LT51cmwpOworICAgfQorIAorICAgUmVxdWVzdCogcmVxdWVzdCA9IFJlcXVl c3Q6OkNyZWF0ZSgKK0BAIC0yODA4LDEyICsyNzczLDcxIEBAIGJvb2wgU2VydmljZVdvcmtlckds b2JhbFNjb3BlOjpTZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKAorIGFic2w6Om9wdGlvbmFsPG1v am86OlBlbmRpbmdSZW1vdGU8bmV0d29yazo6bW9qb206OmJsaW5rOjpVUkxMb2FkZXJGYWN0b3J5 Pj4KKyBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OkZpbmRSYWNlTmV0d29ya1JlcXVlc3RVUkxM b2FkZXJGYWN0b3J5KAorICAgICBjb25zdCBiYXNlOjpVbmd1ZXNzYWJsZVRva2VuJiB0b2tlbikg eworLSAgbW9qbzo6UGVuZGluZ1JlbW90ZTxuZXR3b3JrOjptb2pvbTo6Ymxpbms6OlVSTExvYWRl ckZhY3Rvcnk+IHJlc3VsdCA9CistICAgICAgcmFjZV9uZXR3b3JrX3JlcXVlc3RfbG9hZGVyX2Zh Y3Rvcmllc18uVGFrZShTdHJpbmcodG9rZW4uVG9TdHJpbmcoKSkpOworKyAgc3RkOjp1bmlxdWVf cHRyPFJhY2VOZXR3b3JrUmVxdWVzdEluZm8+IHJlc3VsdCA9CisrICAgICAgcmFjZV9uZXR3b3Jr X3JlcXVlc3RzXy5UYWtlKFN0cmluZyh0b2tlbi5Ub1N0cmluZygpKSk7CisgICBpZiAocmVzdWx0 KSB7CistICAgIHJldHVybiByZXN1bHQ7CisrICAgIHJhY2VfbmV0d29ya19yZXF1ZXN0X2ZldGNo X2V2ZW50X2lkc18uZXJhc2UocmVzdWx0LT5mZXRjaF9ldmVudF9pZCk7CisrICAgIHJldHVybiBh YnNsOjpvcHRpb25hbDwKKysgICAgICAgIG1vam86OlBlbmRpbmdSZW1vdGU8bmV0d29yazo6bW9q b206OmJsaW5rOjpVUkxMb2FkZXJGYWN0b3J5Pj4oCisrICAgICAgICBzdGQ6Om1vdmUocmVzdWx0 LT51cmxfbG9hZGVyX2ZhY3RvcnkpKTsKKyAgIH0KKyAgIHJldHVybiBhYnNsOjpudWxsb3B0Owor IH0KKyAKKyt2b2lkIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6SW5zZXJ0TmV3SXRlbVRvUmFj ZU5ldHdvcmtSZXF1ZXN0cygKKysgICAgaW50IGZldGNoX2V2ZW50X2lkLAorKyAgICBjb25zdCBi YXNlOjpVbmd1ZXNzYWJsZVRva2VuJiB0b2tlbiwKKysgICAgbW9qbzo6UGVuZGluZ1JlbW90ZTxu ZXR3b3JrOjptb2pvbTo6Ymxpbms6OlVSTExvYWRlckZhY3Rvcnk+CisrICAgICAgICB1cmxfbG9h ZGVyX2ZhY3RvcnksCisrICAgIGNvbnN0IEtVUkwmIHJlcXVlc3RfdXJsKSB7CisrICBhdXRvIHJh Y2VfbmV0d29ya19yZXF1ZXN0X3Rva2VuID0gU3RyaW5nKHRva2VuLlRvU3RyaW5nKCkpOworKyAg YXV0byBpbmZvID0gc3RkOjptYWtlX3VuaXF1ZTxSYWNlTmV0d29ya1JlcXVlc3RJbmZvPigKKysg ICAgICBmZXRjaF9ldmVudF9pZCwgcmFjZV9uZXR3b3JrX3JlcXVlc3RfdG9rZW4sCisrICAgICAg c3RkOjptb3ZlKHVybF9sb2FkZXJfZmFjdG9yeSkpOworKyAgcmFjZV9uZXR3b3JrX3JlcXVlc3Rf ZmV0Y2hfZXZlbnRfaWRzXy5pbnNlcnQoZmV0Y2hfZXZlbnRfaWQsIGluZm8uZ2V0KCkpOworKyAg YXV0byBpbnNlcnRfcmVzdWx0ID0gcmFjZV9uZXR3b3JrX3JlcXVlc3RzXy5pbnNlcnQocmFjZV9u ZXR3b3JrX3JlcXVlc3RfdG9rZW4sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdGQ6Om1vdmUoaW5mbykpOworKworKyAgLy8gRHVtcFdpdGhv dXRDcmFzaGluZyBpZiB0aGUgdG9rZW4gaXMgZW1wdHksIG9yIG5vdCBpbnNlcnRlZCBhcyBhIG5l dyBlbnRyeQorKyAgLy8gdG8gfHJhY2VfbmV0d29ya19yZXF1ZXN0X2xvYWRlcl9mYWN0b3JpZXNf fC4KKysgIC8vIFRPRE8oY3JidWcuY29tLzE0OTI2NDApIFJlbW92ZSBEdW1wV2l0aG91dENyYXNo aW5nIG9uY2Ugd2UgY29sbGVjdCBkYXRhCisrICAvLyBhbmQgaWRlbnRpZnkgdGhlIGNhdXNlLgor KyAgc3RhdGljIGJvb2wgaGFzX2R1bXBlZF93aXRob3V0X2NyYXNoaW5nX2Zvcl9lbXB0eV90b2tl biA9IGZhbHNlOworKyAgc3RhdGljIGJvb2wgaGFzX2R1bXBlZF93aXRob3V0X2NyYXNoaW5nX2Zv cl9ub3RfbmV3X2VudHJ5ID0gZmFsc2U7CisrICBpZiAoIWhhc19kdW1wZWRfd2l0aG91dF9jcmFz aGluZ19mb3JfZW1wdHlfdG9rZW4gJiYgdG9rZW4uaXNfZW1wdHkoKSkgeworKyAgICBoYXNfZHVt cGVkX3dpdGhvdXRfY3Jhc2hpbmdfZm9yX2VtcHR5X3Rva2VuID0gdHJ1ZTsKKysgICAgU0NPUEVE X0NSQVNIX0tFWV9CT09MKCJTV0dsb2JhbFNjb3BlIiwgImVtcHR5X3JhY2VfdG9rZW4iLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4uaXNfZW1wdHkoKSk7CisrICAgIFNDT1BFRF9D UkFTSF9LRVlfU1RSSU5HNjQoIlNXR2xvYmFsU2NvcGUiLCAicmFjZV90b2tlbl9zdHJpbmciLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuLlRvU3RyaW5nKCkpOworKyAgICBT Q09QRURfQ1JBU0hfS0VZX0JPT0woIlNXR2xvYmFsU2NvcGUiLCAicmFjZV9pbnNlcnRfbmV3X2Vu dHJ5IiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydF9yZXN1bHQuaXNfbmV3X2Vu dHJ5KTsKKysgICAgU0NPUEVEX0NSQVNIX0tFWV9TVFJJTkcyNTYoIlNXR2xvYmFsU2NvcGUiLCAi cmFjZV9yZXF1ZXN0X3VybCIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVl c3RfdXJsLkdldFN0cmluZygpLlV0ZjgoKSk7CisrICAgIGJhc2U6OmRlYnVnOjpEdW1wV2l0aG91 dENyYXNoaW5nKCk7CisrICB9CisrICBpZiAoIWhhc19kdW1wZWRfd2l0aG91dF9jcmFzaGluZ19m b3Jfbm90X25ld19lbnRyeSAmJgorKyAgICAgICFpbnNlcnRfcmVzdWx0LmlzX25ld19lbnRyeSkg eworKyAgICBoYXNfZHVtcGVkX3dpdGhvdXRfY3Jhc2hpbmdfZm9yX25vdF9uZXdfZW50cnkgPSB0 cnVlOworKyAgICBTQ09QRURfQ1JBU0hfS0VZX0JPT0woIlNXR2xvYmFsU2NvcGUiLCAiZW1wdHlf cmFjZV90b2tlbiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbi5pc19lbXB0eSgp KTsKKysgICAgU0NPUEVEX0NSQVNIX0tFWV9TVFJJTkc2NCgiU1dHbG9iYWxTY29wZSIsICJyYWNl X3Rva2VuX3N0cmluZyIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4uVG9T dHJpbmcoKSk7CisrICAgIFNDT1BFRF9DUkFTSF9LRVlfQk9PTCgiU1dHbG9iYWxTY29wZSIsICJy YWNlX2luc2VydF9uZXdfZW50cnkiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0 X3Jlc3VsdC5pc19uZXdfZW50cnkpOworKyAgICBTQ09QRURfQ1JBU0hfS0VZX1NUUklORzI1Nigi U1dHbG9iYWxTY29wZSIsICJyYWNlX3JlcXVlc3RfdXJsIiwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVxdWVzdF91cmwuR2V0U3RyaW5nKCkuVXRmOCgpKTsKKysgICAgYmFzZTo6 ZGVidWc6OkR1bXBXaXRob3V0Q3Jhc2hpbmcoKTsKKysgIH0KKyt9CisrCisrdm9pZCBTZXJ2aWNl V29ya2VyR2xvYmFsU2NvcGU6OlJlbW92ZUl0ZW1Gcm9tUmFjZU5ldHdvcmtSZXF1ZXN0cygKKysg ICAgaW50IGZldGNoX2V2ZW50X2lkKSB7CisrICBSYWNlTmV0d29ya1JlcXVlc3RJbmZvKiBpbmZv ID0KKysgICAgICByYWNlX25ldHdvcmtfcmVxdWVzdF9mZXRjaF9ldmVudF9pZHNfLlRha2UoZmV0 Y2hfZXZlbnRfaWQpOworKyAgaWYgKGluZm8pIHsKKysgICAgcmFjZV9uZXR3b3JrX3JlcXVlc3Rz Xy5lcmFzZShpbmZvLT50b2tlbik7CisrICB9CisrfQorKworIH0gIC8vIG5hbWVzcGFjZSBibGlu aworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvc2Vydmlj ZV93b3JrZXIvc2VydmljZV93b3JrZXJfZ2xvYmFsX3Njb3BlLmggYi90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9tb2R1bGVzL3NlcnZpY2Vfd29ya2VyL3NlcnZpY2Vfd29ya2VyX2dsb2JhbF9z Y29wZS5oCitpbmRleCA0NmM0MzFiMzk1ODI1Li5hYzRjYWMwYjFkOGZiIDEwMDY0NAorLS0tIGEv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvbW9kdWxlcy9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNl X3dvcmtlcl9nbG9iYWxfc2NvcGUuaAorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv bW9kdWxlcy9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9nbG9iYWxfc2NvcGUuaAorQEAg LTYyMyw2ICs2MjMsMTQgQEAgY2xhc3MgTU9EVUxFU19FWFBPUlQgU2VydmljZVdvcmtlckdsb2Jh bFNjb3BlIGZpbmFsCisgICAvLyBTZXJ2aWNlV29ya2VyLkZldGNoRXZlbnQuUXVldWluZ1RpbWUg aGlzdG9ncmFtLgorICAgdm9pZCBSZWNvcmRRdWV1aW5nVGltZShiYXNlOjpUaW1lVGlja3MgY3Jl YXRlZF90aW1lKTsKKyAKKysgIHZvaWQgSW5zZXJ0TmV3SXRlbVRvUmFjZU5ldHdvcmtSZXF1ZXN0 cygKKysgICAgICBpbnQgZmV0Y2hfZXZlbnRfaWQsCisrICAgICAgY29uc3QgYmFzZTo6VW5ndWVz c2FibGVUb2tlbiYgdG9rZW4sCisrICAgICAgbW9qbzo6UGVuZGluZ1JlbW90ZTxuZXR3b3JrOjpt b2pvbTo6Ymxpbms6OlVSTExvYWRlckZhY3Rvcnk+CisrICAgICAgICAgIHVybF9sb2FkZXJfZmFj dG9yeSwKKysgICAgICBjb25zdCBLVVJMJiByZXF1ZXN0X3VybCk7CisrICB2b2lkIFJlbW92ZUl0 ZW1Gcm9tUmFjZU5ldHdvcmtSZXF1ZXN0cyhpbnQgZmV0Y2hfZXZlbnRfaWQpOworKworICAgTWVt YmVyPFNlcnZpY2VXb3JrZXJDbGllbnRzPiBjbGllbnRzXzsKKyAgIE1lbWJlcjxTZXJ2aWNlV29y a2VyUmVnaXN0cmF0aW9uPiByZWdpc3RyYXRpb25fOworICAgTWVtYmVyPDo6Ymxpbms6OlNlcnZp Y2VXb3JrZXI+IHNlcnZpY2Vfd29ya2VyXzsKK0BAIC03NjgsMTAgKzc3NiwxNyBAQCBjbGFzcyBN T0RVTEVTX0VYUE9SVCBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUgZmluYWwKKyAKKyAgIGJsaW5r OjpCbGlua1N0b3JhZ2VLZXkgc3RvcmFnZV9rZXlfOworIAorKyAgc3RydWN0IFJhY2VOZXR3b3Jr UmVxdWVzdEluZm8geworKyAgICBpbnQgZmV0Y2hfZXZlbnRfaWQ7CisrICAgIFN0cmluZyB0b2tl bjsKKysgICAgbW9qbzo6UGVuZGluZ1JlbW90ZTxuZXR3b3JrOjptb2pvbTo6Ymxpbms6OlVSTExv YWRlckZhY3Rvcnk+CisrICAgICAgICB1cmxfbG9hZGVyX2ZhY3Rvcnk7CisrICB9OworICAgLy8g VE9ETyhjcmJ1Zy5jb20vOTE4NzAyKSBXVEY6Okhhc2hNYXAgY2Fubm90IHVzZSBiYXNlOjpVbmd1 ZXNzYWJsZVRva2VuIGFzIGEKKyAgIC8vIGtleS4gQXMgYSB3b3JrYXJvdW5kIHVzZXMgV1RGOjpT dHJpbmcgYXMgYSBrZXkgaW5zdGVhZC4KKy0gIEhhc2hNYXA8U3RyaW5nLCBtb2pvOjpQZW5kaW5n UmVtb3RlPG5ldHdvcms6Om1vam9tOjpibGluazo6VVJMTG9hZGVyRmFjdG9yeT4+CistICAgICAg cmFjZV9uZXR3b3JrX3JlcXVlc3RfbG9hZGVyX2ZhY3Rvcmllc187CisrICBIYXNoTWFwPFN0cmlu Zywgc3RkOjp1bmlxdWVfcHRyPFJhY2VOZXR3b3JrUmVxdWVzdEluZm8+PgorKyAgICAgIHJhY2Vf bmV0d29ya19yZXF1ZXN0c187CisrICBIYXNoTWFwPGludCwgUmFjZU5ldHdvcmtSZXF1ZXN0SW5m byo+IHJhY2VfbmV0d29ya19yZXF1ZXN0X2ZldGNoX2V2ZW50X2lkc187CisgCisgICBIZWFwTW9q b0Fzc29jaWF0ZWRSZW1vdGU8bW9qb206OmJsaW5rOjpBc3NvY2lhdGVkSW50ZXJmYWNlUHJvdmlk ZXI+CisgICAgICAgcmVtb3RlX2Fzc29jaWF0ZWRfaW50ZXJmYWNlc197dGhpc307CmRpZmYgLS1n aXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWVsNy1jbGFuZy1idWls ZC1mYWlsdXJlLnBhdGNoLmFyZ3MgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0t MTIwLWVsNy1jbGFuZy1idWlsZC1mYWlsdXJlLnBhdGNoLmFyZ3MKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uOGJiYmJlOTQ4MzYzMgotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtZWw3LWNsYW5nLWJ1aWxkLWZh aWx1cmUucGF0Y2guYXJncwpAQCAtMCwwICsxIEBACistUk5wMQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMC1lbDctY2xhbmctdmVyc2lvbi13YXJuaW5n LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMC1lbDctY2xhbmct dmVyc2lvbi13YXJuaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMDAuLjExMmRhNjViNGQ5YjYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvY2hyb21pdW0tMTIwLWVsNy1jbGFuZy12ZXJzaW9uLXdhcm5pbmcucGF0Y2gKQEAg LTAsMCArMSwxNiBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9wYXJ0 eS9saWJjKysvc3JjL2luY2x1ZGUvX19jb25maWcubWUgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90 aGlyZF9wYXJ0eS9saWJjKysvc3JjL2luY2x1ZGUvX19jb25maWcKKy0tLSBjaHJvbWl1bS0xMjAu MC42MDk5LjU2L3RoaXJkX3BhcnR5L2xpYmMrKy9zcmMvaW5jbHVkZS9fX2NvbmZpZy5tZQkyMDIz LTEyLTAzIDAwOjA1OjUxLjI1NDQ4MzQ3NCArMDEwMAorKysrIGNocm9taXVtLTEyMC4wLjYwOTku NTYvdGhpcmRfcGFydHkvbGliYysrL3NyYy9pbmNsdWRlL19fY29uZmlnCTIwMjMtMTItMDMgMDA6 MDY6MDUuODcyODYzMTY4ICswMTAwCitAQCAtMzIsMTEgKzMyLDcgQEAKKyAKKyAvLyBXYXJuIGlm IGEgY29tcGlsZXIgdmVyc2lvbiBpcyB1c2VkIHRoYXQgaXMgbm90IHN1cHBvcnRlZCBhbnltb3Jl CisgLy8gTExWTSBSRUxFQVNFIFVwZGF0ZSB0aGUgbWluaW11bSBjb21waWxlciB2ZXJzaW9ucwor LSMgIGlmIGRlZmluZWQoX0xJQkNQUF9DTEFOR19WRVIpCistIyAgICBpZiBfTElCQ1BQX0NMQU5H X1ZFUiA8IDE1MDAKKy0jICAgICAgd2FybmluZyAiTGliYysrIG9ubHkgc3VwcG9ydHMgQ2xhbmcg MTUgYW5kIGxhdGVyIgorLSMgICAgZW5kaWYKKy0jICBlbGlmIGRlZmluZWQoX0xJQkNQUF9BUFBM RV9DTEFOR19WRVIpCisrIyAgaWYgZGVmaW5lZChfTElCQ1BQX0FQUExFX0NMQU5HX1ZFUikKKyAj ICAgIGlmIF9MSUJDUFBfQVBQTEVfQ0xBTkdfVkVSIDwgMTUwMAorICMgICAgICB3YXJuaW5nICJM aWJjKysgb25seSBzdXBwb3J0cyBBcHBsZUNsYW5nIDE1IGFuZCBsYXRlciIKKyAjICAgIGVuZGlm CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWduLXdv cmthcm91bmQtYXRzcGkucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0t MTIwLWduLXdvcmthcm91bmQtYXRzcGkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwMC4uNzJjN2I3ZWM0MWMyOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtZ24td29ya2Fyb3VuZC1hdHNwaS5wYXRjaApA QCAtMCwwICsxLDEzIEBACitkaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjM1L2J1aWxkL2Nv bmZpZy9saW51eC9hdHNwaTIvQlVJTEQuZ24ubWUgY2hyb21pdW0tMTIwLjAuNjA5OS4zNS9idWls ZC9jb25maWcvbGludXgvYXRzcGkyL0JVSUxELmduCistLS0gY2hyb21pdW0tMTIwLjAuNjA5OS4z NS9idWlsZC9jb25maWcvbGludXgvYXRzcGkyL0JVSUxELmduLm1lCTIwMjMtMTEtMjYgMTY6MTQ6 MTUuMzY0MDY0MTI2ICswMTAwCisrKysgY2hyb21pdW0tMTIwLjAuNjA5OS4zNS9idWlsZC9jb25m aWcvbGludXgvYXRzcGkyL0JVSUxELmduCTIwMjMtMTEtMjYgMTY6NDE6MTYuODc3MzIxOTkwICsw MTAwCitAQCAtMjEsNiArMjEsOSBAQCBpZiAodXNlX2F0aykgeworICAgICBtaW5vciA9IGF0c3Bp X3ZlcnNpb25bMV0KKyAgICAgbWljcm8gPSBhdHNwaV92ZXJzaW9uWzJdCisgCisrICAgICMgZ24g d29ya2Fyb3VuZCBmb3IgdGhlIGVycm9yOiBBc3NpZ25tZW50IGhhZCBubyBlZmZlY3QKKysgICAg cHJpbnQoIkFUU1BJIFZlcnNpb246ICRtYWpvci4kbWlub3IuJG1pY3JvIikKKysKKyAgICAgIyBB VFNQSSAyLjQ5LjkwIG5vdyBkZWZpbmVzIHRoZXNlIGZvciB1cyBhbmQgaXQncyBhbiBlcnJvciBm b3IgdXMgdG8KKyAgICAgIyByZWRlZmluZSB0aGVtIG9uIHRoZSBjb21waWxlciBjb21tYW5kIGxp bmUuCisgICAgICMgU2VlIEFUU1BJIDkyNzM0NGEzNGNkNWJmODFmYzY0ZGE0OTY4MjQxNzM1ZWNi NGYwM2IKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTkt bWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tMTIwLW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggOTcl CnJlbmFtZSBmcm9tIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTktbWlzc2lu Zy1oZWFkZXItZmlsZXMucGF0Y2gKcmVuYW1lIHRvIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9j aHJvbWl1bS0xMjAtbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2gKaW5kZXggYTI1NDJlZjQyMGVh Zi4uNDRmODY3NDc1YjIxOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2No cm9taXVtLTExOS1taXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCkBAIC0x MzEsMTcgKzEzMSw2IEBAIGRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAuCiAgI2luY2x1ZGUgPGNzdGRk ZWY+CiAgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAgI2luY2x1ZGUgPHVub3JkZXJlZF9zZXQ+Ci1k aWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlf YWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRlL3ZrX21lbV9hbGxv Yy5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5 X2FsbG9jYXRvci9pbmNsdWRlL3ZrX21lbV9hbGxvYy5oLm1lCTIwMjMtMDEtMTcgMTU6NDA6MjMu ODU0Mzg2MjA2ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS92 dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRlL3ZrX21lbV9hbGxvYy5oCTIwMjMtMDEtMTcg MTY6NTg6MTkuMzk3ODYyODg1ICswMTAwCi1AQCAtMjM4OCw2ICsyMzg4LDcgQEAgVk1BX0NBTExf UFJFIHZvaWQgVk1BX0NBTExfUE9TVCB2bWFGcmVlVgotICNpZmRlZiBWTUFfSU1QTEVNRU5UQVRJ T04NCi0gI3VuZGVmIFZNQV9JTVBMRU1FTlRBVElPTg0KLSANCi0rI2luY2x1ZGUgPGNzdGRpbz4N Ci0gI2luY2x1ZGUgPGNzdGRpbnQ+DQotICNpbmNsdWRlIDxjc3RkbGliPg0KLSAjaW5jbHVkZSA8 Y3N0cmluZz4NCiBkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRy eS9saW5lYXJfZ3JhZGllbnQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9t ZXRyeS9saW5lYXJfZ3JhZGllbnQuaAogLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4 L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oLm1lCTIwMjMtMDEtMTcgMTg6MDg6MjUuNzQ1NDkx MzUzICswMTAwCiArKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngvZ2VvbWV0cnkvbGlu ZWFyX2dyYWRpZW50LmgJMjAyMy0wMS0xNyAxODowODozNS43Nzc2Njc2MzIgKzAxMDAKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTktbm9fbWF0Y2hpbmdf Y29uc3RydWN0b3IucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIw LW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggNjclCnJlbmFt ZSBmcm9tIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTktbm9fbWF0Y2hpbmdf Y29uc3RydWN0b3IucGF0Y2gKcmVuYW1lIHRvIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJv bWl1bS0xMjAtbm9fbWF0Y2hpbmdfY29uc3RydWN0b3IucGF0Y2gKaW5kZXggYTE2Yzk3OWMzN2Yx Yy4uYjFkOTg3YWRlZmY4ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2No cm9taXVtLTExOS1ub19tYXRjaGluZ19jb25zdHJ1Y3Rvci5wYXRjaAorKysgYi9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNo CkBAIC0xLDYgKzEsMjUgQEAKLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvYmFzZS90 cmFjZV9ldmVudC90cmFjZV9sb2cuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0t MTE5LjAuNjA0NS41OS9iYXNlL3RyYWNlX2V2ZW50L3RyYWNlX2xvZy5jYwotLS0tIGNocm9taXVt LTExOS4wLjYwNDUuNTkvYmFzZS90cmFjZV9ldmVudC90cmFjZV9sb2cuY2Mubm9fbWF0Y2hpbmdf Y29uc3RydWN0b3IJMjAyMy0xMC0yNiAxODoxNjo1MS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBjaHJv bWl1bS0xMTkuMC42MDQ1LjU5L2Jhc2UvdHJhY2VfZXZlbnQvdHJhY2VfbG9nLmNjCTIwMjMtMTAt MzAgMTY6NTE6MDIuMjcwMTUxNDg3ICswMTAwCitkaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5 LjU2L2Jhc2UvbWV0cmljcy9wZXJzaXN0ZW50X2hpc3RvZ3JhbV9hbGxvY2F0b3IuY2Mubm9fbWF0 Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9iYXNlL21ldHJpY3MvcGVy c2lzdGVudF9oaXN0b2dyYW1fYWxsb2NhdG9yLmNjCistLS0gY2hyb21pdW0tMTIwLjAuNjA5OS41 Ni9iYXNlL21ldHJpY3MvcGVyc2lzdGVudF9oaXN0b2dyYW1fYWxsb2NhdG9yLmNjLm5vX21hdGNo aW5nX2NvbnN0cnVjdG9yCTIwMjMtMTEtMjkgMjI6Mzk6NDAuMDAwMDAwMDAwICswMTAwCisrKysg Y2hyb21pdW0tMTIwLjAuNjA5OS41Ni9iYXNlL21ldHJpY3MvcGVyc2lzdGVudF9oaXN0b2dyYW1f YWxsb2NhdG9yLmNjCTIwMjMtMTItMDMgMTc6MzE6MjUuNzQ4NDIwMTg5ICswMTAwCitAQCAtMjE4 LDEzICsyMTgsMTMgQEAgUGVyc2lzdGVudFNwYXJzZUhpc3RvZ3JhbURhdGFNYW5hZ2VyOjpMbwor ICAgICAvLyBUaGUgc2FtcGxlLXJlY29yZCBjb3VsZCBiZSBmb3IgYW55IHNwYXJzZSBoaXN0b2dy YW0uIEFkZCB0aGUgcmVmZXJlbmNlCisgICAgIC8vIHRvIHRoZSBhcHByb3ByaWF0ZSBjb2xsZWN0 aW9uIGZvciBsYXRlciB1c2UuCisgICAgIGlmIChmb3VuZF9pZCA9PSBtYXRjaF9pZCkgeworLSAg ICAgIGZvdW5kX3JlY29yZHMuZW1wbGFjZV9iYWNrKHJlZiwgdmFsdWUpOworKyAgICAgIGZvdW5k X3JlY29yZHMuZW1wbGFjZV9iYWNrKCkgPSB7cmVmLCB2YWx1ZX07CisgICAgICAgZm91bmQgPSB0 cnVlOworICAgICB9IGVsc2UgeworICAgICAgIHN0ZDo6dmVjdG9yPFJlZmVyZW5jZUFuZFNhbXBs ZT4qIHNhbXBsZXMgPQorICAgICAgICAgICBHZXRTYW1wbGVNYXBSZWNvcmRzV2hpbGVMb2NrZWQo Zm91bmRfaWQpOworICAgICAgIENIRUNLKHNhbXBsZXMpOworLSAgICAgIHNhbXBsZXMtPmVtcGxh Y2VfYmFjayhyZWYsIHZhbHVlKTsKKysgICAgICBzYW1wbGVzLT5lbXBsYWNlX2JhY2soKSA9IHty ZWYsIHZhbHVlfTsKKyAgICAgfQorICAgfQorIAorZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5 OS41Ni9iYXNlL3RyYWNlX2V2ZW50L3RyYWNlX2xvZy5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3Rv ciBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2Jhc2UvdHJhY2VfZXZlbnQvdHJhY2VfbG9nLmNjCist LS0gY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9iYXNlL3RyYWNlX2V2ZW50L3RyYWNlX2xvZy5jYy5u b19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTExLTI5IDIyOjM5OjQwLjAwMDAwMDAwMCArMDEw MAorKysrIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvYmFzZS90cmFjZV9ldmVudC90cmFjZV9sb2cu Y2MJMjAyMy0xMi0wMyAxNzozMToyNS43NDk0MjAyMDggKzAxMDAKIEBAIC0yMTkxLDggKzIxOTEs OCBAQCB2b2lkIFRyYWNlTG9nOjpTZXRUcmFjZUJ1ZmZlckZvclRlc3RpbmcoCiAgI2lmIEJVSUxE RkxBRyhVU0VfUEVSRkVUVE9fQ0xJRU5UX0xJQlJBUlkpCiAgdm9pZCBUcmFjZUxvZzo6T25TZXR1 cChjb25zdCBwZXJmZXR0bzo6RGF0YVNvdXJjZUJhc2U6OlNldHVwQXJncyYgYXJncykgewpAQCAt MTIsOSArMzEsOSBAQCBkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2Jhc2UvdHJhY2Vf ZXZlbnQvdHJhY2VfbG9nLmNjLm5vX21hdGNoaW5nX2NvbnN0cgogIH0KICAKICB2b2lkIFRyYWNl TG9nOjpPblN0YXJ0KGNvbnN0IHBlcmZldHRvOjpEYXRhU291cmNlQmFzZTo6U3RhcnRBcmdzJikg ewotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci9jb250ZW50 X3NldHRpbmdzL29uZV90aW1lX3Blcm1pc3Npb25fcHJvdmlkZXIuY2Mubm9fbWF0Y2hpbmdfY29u c3RydWN0b3IgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci9jb250ZW50X3Nl dHRpbmdzL29uZV90aW1lX3Blcm1pc3Npb25fcHJvdmlkZXIuY2MKLS0tLSBjaHJvbWl1bS0xMTku MC42MDQ1LjU5L2Nocm9tZS9icm93c2VyL2NvbnRlbnRfc2V0dGluZ3Mvb25lX3RpbWVfcGVybWlz c2lvbl9wcm92aWRlci5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTEwLTI2IDE4OjE2 OjU3LjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jy b3dzZXIvY29udGVudF9zZXR0aW5ncy9vbmVfdGltZV9wZXJtaXNzaW9uX3Byb3ZpZGVyLmNjCTIw MjMtMTAtMzAgMTY6NTE6MDIuMjY5MTUxNDYyICswMTAwCitkaWZmIC11cCBjaHJvbWl1bS0xMjAu MC42MDk5LjU2L2Nocm9tZS9icm93c2VyL2NvbnRlbnRfc2V0dGluZ3Mvb25lX3RpbWVfcGVybWlz c2lvbl9wcm92aWRlci5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1bS0xMjAuMC42 MDk5LjU2L2Nocm9tZS9icm93c2VyL2NvbnRlbnRfc2V0dGluZ3Mvb25lX3RpbWVfcGVybWlzc2lv bl9wcm92aWRlci5jYworLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY2hyb21lL2Jyb3dzZXIv Y29udGVudF9zZXR0aW5ncy9vbmVfdGltZV9wZXJtaXNzaW9uX3Byb3ZpZGVyLmNjLm5vX21hdGNo aW5nX2NvbnN0cnVjdG9yCTIwMjMtMTEtMjkgMjI6Mzk6NDcuMDAwMDAwMDAwICswMTAwCisrKysg Y2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUvYnJvd3Nlci9jb250ZW50X3NldHRpbmdzL29u ZV90aW1lX3Blcm1pc3Npb25fcHJvdmlkZXIuY2MJMjAyMy0xMi0wMyAxNzozMToyNS43NDk0MjAy MDggKzAxMDAKIEBAIC0yMjYsOCArMjI2LDggQEAgdm9pZCBPbmVUaW1lUGVybWlzc2lvblByb3Zp ZGVyOjpPblN1c3BlbgogIAogICAgICAgIHdoaWxlIChydWxlX2l0ZXJhdG9yICYmIHJ1bGVfaXRl cmF0b3ItPkhhc05leHQoKSkgewpAQCAtMzcsOSArNTYsOSBAQCBkaWZmIC11cCBjaHJvbWl1bS0x MTkuMC42MDQ1LjU5L2Nocm9tZS9icm93c2VyL2NvbnRlbnRfc2V0dGluZ3Mvb25lX3RpbWVfcGVy bWlzcwogICAgICAgIHBlcm1pc3Npb25zOjpQZXJtaXNzaW9uVW1hVXRpbDo6UmVjb3JkT25lVGlt ZVBlcm1pc3Npb25FdmVudCgKICAgICAgICAgICAgY29udGVudF9zZXR0aW5nX3R5cGUsIHRyaWdn ZXJfZXZlbnQpOwogICAgICB9Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2Nocm9t ZS9icm93c2VyL2VudGVycHJpc2UvcHJvZmlsZV9tYW5hZ2VtZW50L3Byb2ZpbGVfbWFuYWdlbWVu dF9uYXZpZ2F0aW9uX3Rocm90dGxlLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVt LTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIvZW50ZXJwcmlzZS9wcm9maWxlX21hbmFnZW1l bnQvcHJvZmlsZV9tYW5hZ2VtZW50X25hdmlnYXRpb25fdGhyb3R0bGUuY2MKLS0tLSBjaHJvbWl1 bS0xMTkuMC42MDQ1LjU5L2Nocm9tZS9icm93c2VyL2VudGVycHJpc2UvcHJvZmlsZV9tYW5hZ2Vt ZW50L3Byb2ZpbGVfbWFuYWdlbWVudF9uYXZpZ2F0aW9uX3Rocm90dGxlLmNjLm5vX21hdGNoaW5n X2NvbnN0cnVjdG9yCTIwMjMtMTAtMjYgMTg6MTY6NTcuMDAwMDAwMDAwICswMjAwCi0rKysgY2hy b21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci9lbnRlcnByaXNlL3Byb2ZpbGVfbWFu YWdlbWVudC9wcm9maWxlX21hbmFnZW1lbnRfbmF2aWdhdGlvbl90aHJvdHRsZS5jYwkyMDIzLTEw LTMwIDE2OjUxOjAyLjI2NzE1MTQxMiArMDEwMAorZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5 OS41Ni9jaHJvbWUvYnJvd3Nlci9lbnRlcnByaXNlL3Byb2ZpbGVfbWFuYWdlbWVudC9wcm9maWxl X21hbmFnZW1lbnRfbmF2aWdhdGlvbl90aHJvdHRsZS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3Rv ciBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL2VudGVycHJpc2UvcHJvZmls ZV9tYW5hZ2VtZW50L3Byb2ZpbGVfbWFuYWdlbWVudF9uYXZpZ2F0aW9uX3Rocm90dGxlLmNjCist LS0gY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUvYnJvd3Nlci9lbnRlcnByaXNlL3Byb2Zp bGVfbWFuYWdlbWVudC9wcm9maWxlX21hbmFnZW1lbnRfbmF2aWdhdGlvbl90aHJvdHRsZS5jYy5u b19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTExLTI5IDIyOjM5OjQ4LjAwMDAwMDAwMCArMDEw MAorKysrIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY2hyb21lL2Jyb3dzZXIvZW50ZXJwcmlzZS9w cm9maWxlX21hbmFnZW1lbnQvcHJvZmlsZV9tYW5hZ2VtZW50X25hdmlnYXRpb25fdGhyb3R0bGUu Y2MJMjAyMy0xMi0wMyAxNzozMToyNS43NDk0MjAyMDggKzAxMDAKIEBAIC02Nyw4ICs2Nyw4IEBA IGJhc2U6OmZsYXRfbWFwPHN0ZDo6c3RyaW5nLCBTQU1MUHJvZmlsZUEKICAgIC8vIFRPRE8oY3Ji dWcuY29tLzE0NDUwNzIpOiBBZGQgYWN0dWFsIGRvbWFpbnMgd2l0aCBhdHRyaWJ1dGUgbmFtZXMu CiAgICBwcm9maWxlX2F0dHJpYnV0ZXMtPmluc2VydChzdGQ6Om1ha2VfcGFpcigKQEAgLTUxLDkg KzcwLDkgQEAgZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci9l bnRlcnByaXNlL3Byb2ZpbGVfbWFuYWdlbWVudC9wcm8KICAKICAgIC8vIEV4dHJhY3QgZG9tYWlu cyBhbmQgYXR0cmlidXRlcyBmcm9tIHRoZSBjb21tYW5kIGxpbmUgc3dpdGNoLgogICAgY29uc3Qg YmFzZTo6Q29tbWFuZExpbmUmIGNvbW1hbmRfbGluZSA9Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTku MC42MDQ1LjU5L2Nocm9tZS9icm93c2VyL3VpL29tbmlib3gvY2hyb21lX29tbmlib3hfY2xpZW50 LmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21l L2Jyb3dzZXIvdWkvb21uaWJveC9jaHJvbWVfb21uaWJveF9jbGllbnQuY2MKLS0tLSBjaHJvbWl1 bS0xMTkuMC42MDQ1LjU5L2Nocm9tZS9icm93c2VyL3VpL29tbmlib3gvY2hyb21lX29tbmlib3hf Y2xpZW50LmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yCTIwMjMtMTAtMjYgMTg6MTc6MDAuMDAw MDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci91 aS9vbW5pYm94L2Nocm9tZV9vbW5pYm94X2NsaWVudC5jYwkyMDIzLTEwLTMwIDE2OjUxOjAyLjI2 MjE1MTI4OCArMDEwMAorZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUvYnJv d3Nlci91aS9vbW5pYm94L2Nocm9tZV9vbW5pYm94X2NsaWVudC5jYy5ub19tYXRjaGluZ19jb25z dHJ1Y3RvciBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL29tbmlib3gv Y2hyb21lX29tbmlib3hfY2xpZW50LmNjCistLS0gY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJv bWUvYnJvd3Nlci91aS9vbW5pYm94L2Nocm9tZV9vbW5pYm94X2NsaWVudC5jYy5ub19tYXRjaGlu Z19jb25zdHJ1Y3RvcgkyMDIzLTExLTI5IDIyOjM5OjUyLjAwMDAwMDAwMCArMDEwMAorKysrIGNo cm9taXVtLTEyMC4wLjYwOTkuNTYvY2hyb21lL2Jyb3dzZXIvdWkvb21uaWJveC9jaHJvbWVfb21u aWJveF9jbGllbnQuY2MJMjAyMy0xMi0wMyAxNzozMToyNS43NDk0MjAyMDggKzAxMDAKIEBAIC00 NzQsMTAgKzQ3NCwxMCBAQCB2b2lkIENocm9tZU9tbmlib3hDbGllbnQ6Ok9uQXV0b2NvbXBsZXRl CiAgICAgICAgICAgICAgICBhbHRlcm5hdGl2ZV9uYXZfbWF0Y2gpOwogIApAQCAtNjcsOSArODYs MTE3IEBAIGRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIvdWkv b21uaWJveC9jaHJvbWVfb21uaWJveF9jbGllbnQuCiAgCiAgICBpZiAoYnJvd3Nlcl8pIHsKICAg ICAgYXV0byBuYXZpZ2F0aW9uID0gY2hyb21lOjpPcGVuQ3VycmVudFVSTChicm93c2VyXyk7Ci1k aWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9j YXBhYmlsaXRpZXMuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTE5LjAuNjA0 NS41OS9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVzLmNjCi0tLS0gY2hyb21p dW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVzLmNj Lm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yCTIwMjMtMTAtMjYgMTg6MTc6MDEuMDAwMDAwMDAwICsw MjAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIv Y2FwYWJpbGl0aWVzLmNjCTIwMjMtMTAtMzAgMTY6NTE6MDIuMjY4MTUxNDM3ICswMTAwCitkaWZm IC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL3NhZmV0eV9odWIv bWVudV9ub3RpZmljYXRpb25fc2VydmljZS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJv bWl1bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL3NhZmV0eV9odWIvbWVudV9ub3Rp ZmljYXRpb25fc2VydmljZS5jYworLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY2hyb21lL2Jy b3dzZXIvdWkvc2FmZXR5X2h1Yi9tZW51X25vdGlmaWNhdGlvbl9zZXJ2aWNlLmNjLm5vX21hdGNo aW5nX2NvbnN0cnVjdG9yCTIwMjMtMTEtMjkgMjI6Mzk6NTIuMDAwMDAwMDAwICswMTAwCisrKysg Y2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUvYnJvd3Nlci91aS9zYWZldHlfaHViL21lbnVf bm90aWZpY2F0aW9uX3NlcnZpY2UuY2MJMjAyMy0xMi0wMyAxNzozMToyNS43NTY0MjAzNDIgKzAx MDAKK0BAIC0xNDgsOCArMTQ4LDggQEAgU2FmZXR5SHViTWVudU5vdGlmaWNhdGlvblNlcnZpY2U6 OkdldE5vdAorICAgLy8gVGhlIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gc2hvd2luZyB0aGUgbm90 aWZpY2F0aW9uIG5lZWRzIHRvIGJlIHBlcnNpc3RlZAorICAgLy8gYXMgd2VsbC4KKyAgIFNhdmVO b3RpZmljYXRpb25zVG9QcmVmcygpOworLSAgcmV0dXJuIE1lbnVOb3RpZmljYXRpb25FbnRyeShu b3RpZmljYXRpb25fdG9fc2hvdy0+R2V0Tm90aWZpY2F0aW9uQ29tbWFuZElkKCksCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmaWNhdGlvbl90b19zaG93LT5HZXROb3RpZmlj YXRpb25TdHJpbmcoKSk7CisrICByZXR1cm4gTWVudU5vdGlmaWNhdGlvbkVudHJ5e25vdGlmaWNh dGlvbl90b19zaG93LT5HZXROb3RpZmljYXRpb25Db21tYW5kSWQoKSwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uX3RvX3Nob3ctPkdldE5vdGlmaWNhdGlvblN0 cmluZygpfTsKKyB9CisgCisgYWJzbDo6b3B0aW9uYWw8UmVzdWx0TWFwPgorZGlmZiAtdXAgY2hy b21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9l bWJlZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9hc2tfdmlldy5jYy5ub19tYXRjaGluZ19jb25zdHJ1 Y3RvciBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1p c3Npb25zL2VtYmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0X2Fza192aWV3LmNjCistLS0gY2hyb21p dW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJl ZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9hc2tfdmlldy5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3Rv cgkyMDIzLTExLTI5IDIyOjM5OjUzLjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEyMC4w LjYwOTkuNTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVy bWlzc2lvbl9wcm9tcHRfYXNrX3ZpZXcuY2MJMjAyMy0xMi0wMyAxNzozMToyNS43NDk0MjAyMDgg KzAxMDAKK0BAIC01NSwxMiArNTUsMTIgQEAgc3RkOjp2ZWN0b3I8RW1iZWRkZWRQZXJtaXNzaW9u UHJvbXB0QXNrVgorIEVtYmVkZGVkUGVybWlzc2lvblByb21wdEFza1ZpZXc6OkdldEJ1dHRvbnND b25maWd1cmF0aW9uKCkgY29uc3QgeworICAgc3RkOjp2ZWN0b3I8QnV0dG9uQ29uZmlndXJhdGlv bj4gYnV0dG9uczsKKyAgIGlmIChiYXNlOjpGZWF0dXJlTGlzdDo6SXNFbmFibGVkKHBlcm1pc3Np b25zOjpmZWF0dXJlczo6a09uZVRpbWVQZXJtaXNzaW9uKSkgeworLSAgICBidXR0b25zLmVtcGxh Y2VfYmFjaygKKysgICAgYnV0dG9ucy5lbXBsYWNlX2JhY2soKSA9IHsKKyAgICAgICAgIGwxMG5f dXRpbDo6R2V0U3RyaW5nVVRGMTYoSURTX1BFUk1JU1NJT05fQUxMT1dfVEhJU19USU1FKSwKKy0g ICAgICAgIEJ1dHRvblR5cGU6OmtBbGxvd1RoaXNUaW1lLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25h bCk7CisrICAgICAgICBCdXR0b25UeXBlOjprQWxsb3dUaGlzVGltZSwgdWk6OkJ1dHRvblN0eWxl OjprVG9uYWx9OworICAgfQorLSAgYnV0dG9ucy5lbXBsYWNlX2JhY2sobDEwbl91dGlsOjpHZXRT dHJpbmdVVEYxNihJRFNfUEVSTUlTU0lPTl9BTExPVyksCistICAgICAgICAgICAgICAgICAgICAg ICBCdXR0b25UeXBlOjprQWxsb3csIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsKTsKKysgIGJ1dHRv bnMuZW1wbGFjZV9iYWNrKCkgPSB7bDEwbl91dGlsOjpHZXRTdHJpbmdVVEYxNihJRFNfUEVSTUlT U0lPTl9BTExPVyksCisrICAgICAgICAgICAgICAgICAgICAgICBCdXR0b25UeXBlOjprQWxsb3cs IHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsfTsKKyAgIHJldHVybiBidXR0b25zOworIH0KKyAKK2Rp ZmYgLXVwIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVy bWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfYmFzZV92aWV3Lmgubm9fbWF0Y2hp bmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUvYnJvd3Nlci91aS92 aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9iYXNlX3ZpZXcuaAor LS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlz c2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfYmFzZV92aWV3Lmgubm9fbWF0Y2hpbmdf Y29uc3RydWN0b3IJMjAyMy0xMS0yOSAyMjozOTo1My4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJv bWl1bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2Vt YmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0X2Jhc2Vfdmlldy5oCTIwMjMtMTItMDMgMTc6MzE6MjUu NzUwNDIwMjI3ICswMTAwCitAQCAtODYsNiArODYsNyBAQCBjbGFzcyBFbWJlZGRlZFBlcm1pc3Np b25Qcm9tcHRCYXNlVmlldyA6CisgICBzdHJ1Y3QgUmVxdWVzdExpbmVDb25maWd1cmF0aW9uIHsK KyAgICAgY29uc3QgcmF3X3B0cjxjb25zdCBnZng6OlZlY3Rvckljb24+IGljb247CisgICAgIHN0 ZDo6dTE2c3RyaW5nIG1lc3NhZ2U7CisrICAgIFJlcXVlc3RMaW5lQ29uZmlndXJhdGlvbihhdXRv IGksIGF1dG8gbSkgOiBpY29uKGkpLCBtZXNzYWdlKG0pIHsgfQorICAgfTsKKyAKKyAgIHN0cnVj dCBCdXR0b25Db25maWd1cmF0aW9uIHsKK2RpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYwOTkuNTYv Y2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9w cm9tcHRfcG9saWN5X3ZpZXcuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTIw LjAuNjA5OS41Ni9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9w ZXJtaXNzaW9uX3Byb21wdF9wb2xpY3lfdmlldy5jYworLS0tIGNocm9taXVtLTEyMC4wLjYwOTku NTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lv bl9wcm9tcHRfcG9saWN5X3ZpZXcuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IJMjAyMy0xMS0y OSAyMjozOTo1My4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2No cm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1pc3Npb25fcHJv bXB0X3BvbGljeV92aWV3LmNjCTIwMjMtMTItMDMgMTc6MzE6MjUuNzUwNDIwMjI3ICswMTAwCitA QCAtNDgsOCArNDgsOCBAQCBFbWJlZGRlZFBlcm1pc3Npb25Qcm9tcHRQb2xpY3lWaWV3OjpHZXRS Cisgc3RkOjp2ZWN0b3I8RW1iZWRkZWRQZXJtaXNzaW9uUHJvbXB0UG9saWN5Vmlldzo6QnV0dG9u Q29uZmlndXJhdGlvbj4KKyBFbWJlZGRlZFBlcm1pc3Npb25Qcm9tcHRQb2xpY3lWaWV3OjpHZXRC dXR0b25zQ29uZmlndXJhdGlvbigpIGNvbnN0IHsKKyAgIHN0ZDo6dmVjdG9yPEJ1dHRvbkNvbmZp Z3VyYXRpb24+IGJ1dHRvbnM7CistICBidXR0b25zLmVtcGxhY2VfYmFjayhsMTBuX3V0aWw6Okdl dFN0cmluZ1VURjE2KElEU19FTUJFRERFRF9QUk9NUFRfT0tfTEFCRUwpLAorLSAgICAgICAgICAg ICAgICAgICAgICAgQnV0dG9uVHlwZTo6a1BvbGljeU9LLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25h bCk7CisrICBidXR0b25zLmVtcGxhY2VfYmFjaygpID0ge2wxMG5fdXRpbDo6R2V0U3RyaW5nVVRG MTYoSURTX0VNQkVEREVEX1BST01QVF9PS19MQUJFTCksCisrICAgICAgICAgICAgICAgICAgICAg ICBCdXR0b25UeXBlOjprUG9saWN5T0ssIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsfTsKKyAgIHJl dHVybiBidXR0b25zOworIH0KKyAKK2RpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY2hy b21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9t cHRfcHJldmlvdXNseV9kZW5pZWRfdmlldy5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJv bWl1bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2Vt YmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0X3ByZXZpb3VzbHlfZGVuaWVkX3ZpZXcuY2MKKy0tLSBj aHJvbWl1bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25z L2VtYmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0X3ByZXZpb3VzbHlfZGVuaWVkX3ZpZXcuY2Mubm9f bWF0Y2hpbmdfY29uc3RydWN0b3IJMjAyMy0xMS0yOSAyMjozOTo1My4wMDAwMDAwMDAgKzAxMDAK KysrKyBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1p c3Npb25zL2VtYmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0X3ByZXZpb3VzbHlfZGVuaWVkX3ZpZXcu Y2MJMjAyMy0xMi0wMyAxNzozMToyNS43NTY0MjAzNDIgKzAxMDAKK0BAIC02MywxOCArNjMsMTgg QEAgRW1iZWRkZWRQZXJtaXNzaW9uUHJvbXB0UHJldmlvdXNseURlbmllZAorIHN0ZDo6dmVjdG9y PEVtYmVkZGVkUGVybWlzc2lvblByb21wdFByZXZpb3VzbHlEZW5pZWRWaWV3OjpCdXR0b25Db25m aWd1cmF0aW9uPgorIEVtYmVkZGVkUGVybWlzc2lvblByb21wdFByZXZpb3VzbHlEZW5pZWRWaWV3 OjpHZXRCdXR0b25zQ29uZmlndXJhdGlvbigpIGNvbnN0IHsKKyAgIHN0ZDo6dmVjdG9yPEJ1dHRv bkNvbmZpZ3VyYXRpb24+IGJ1dHRvbnM7CistICBidXR0b25zLmVtcGxhY2VfYmFjaygKKysgIGJ1 dHRvbnMuZW1wbGFjZV9iYWNrKCkgPSB7CisgICAgICAgbDEwbl91dGlsOjpHZXRTdHJpbmdVVEYx NihJRFNfRU1CRURERURfUFJPTVBUX0NPTlRJTlVFX05PVF9BTExPV0lORyksCistICAgICAgQnV0 dG9uVHlwZTo6a0NvbnRpbnVlTm90QWxsb3dpbmcsIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsKTsK KysgICAgICBCdXR0b25UeXBlOjprQ29udGludWVOb3RBbGxvd2luZywgdWk6OkJ1dHRvblN0eWxl OjprVG9uYWx9OworIAorICAgaWYgKGJhc2U6OkZlYXR1cmVMaXN0OjpJc0VuYWJsZWQocGVybWlz c2lvbnM6OmZlYXR1cmVzOjprT25lVGltZVBlcm1pc3Npb24pKSB7CistICAgIGJ1dHRvbnMuZW1w bGFjZV9iYWNrKAorKyAgICBidXR0b25zLmVtcGxhY2VfYmFjaygpID0geworICAgICAgICAgbDEw bl91dGlsOjpHZXRTdHJpbmdVVEYxNihJRFNfUEVSTUlTU0lPTl9BTExPV19USElTX1RJTUUpLAor LSAgICAgICAgQnV0dG9uVHlwZTo6a0FsbG93VGhpc1RpbWUsIHVpOjpCdXR0b25TdHlsZTo6a1Rv bmFsKTsKKysgICAgICAgIEJ1dHRvblR5cGU6OmtBbGxvd1RoaXNUaW1lLCB1aTo6QnV0dG9uU3R5 bGU6OmtUb25hbH07CisgICB9IGVsc2UgeworLSAgICBidXR0b25zLmVtcGxhY2VfYmFjaygKKysg ICAgYnV0dG9ucy5lbXBsYWNlX2JhY2soKSA9IHsKKyAgICAgICAgIGwxMG5fdXRpbDo6R2V0U3Ry aW5nVVRGMTYoSURTX1BFUk1JU1NJT05fQUxMT1dfVEhJU19USU1FKSwKKy0gICAgICAgIEJ1dHRv blR5cGU6OmtBbGxvdywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwpOworKyAgICAgICAgQnV0dG9u VHlwZTo6a0FsbG93LCB1aTo6QnV0dG9uU3R5bGU6OmtUb25hbH07CisgICB9CisgICByZXR1cm4g YnV0dG9uczsKKyB9CitkaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93 c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0X3ByZXZp b3VzbHlfZ3JhbnRlZF92aWV3LmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTEy MC4wLjYwOTkuNTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRf cGVybWlzc2lvbl9wcm9tcHRfcHJldmlvdXNseV9ncmFudGVkX3ZpZXcuY2MKKy0tLSBjaHJvbWl1 bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVk ZGVkX3Blcm1pc3Npb25fcHJvbXB0X3ByZXZpb3VzbHlfZ3JhbnRlZF92aWV3LmNjLm5vX21hdGNo aW5nX2NvbnN0cnVjdG9yCTIwMjMtMTEtMjkgMjI6Mzk6NTMuMDAwMDAwMDAwICswMTAwCisrKysg Y2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9u cy9lbWJlZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9wcmV2aW91c2x5X2dyYW50ZWRfdmlldy5jYwky MDIzLTEyLTAzIDE3OjMxOjI1Ljc1MDQyMDIyNyArMDEwMAorQEAgLTU3LDEzICs1NywxMyBAQCBF bWJlZGRlZFBlcm1pc3Npb25Qcm9tcHRQcmV2aW91c2x5R3JhbnRlCisgc3RkOjp2ZWN0b3I8RW1i ZWRkZWRQZXJtaXNzaW9uUHJvbXB0UHJldmlvdXNseUdyYW50ZWRWaWV3OjpCdXR0b25Db25maWd1 cmF0aW9uPgorIEVtYmVkZGVkUGVybWlzc2lvblByb21wdFByZXZpb3VzbHlHcmFudGVkVmlldzo6 R2V0QnV0dG9uc0NvbmZpZ3VyYXRpb24oKSBjb25zdCB7CisgICBzdGQ6OnZlY3RvcjxCdXR0b25D b25maWd1cmF0aW9uPiBidXR0b25zOworLSAgYnV0dG9ucy5lbXBsYWNlX2JhY2soCisrICBidXR0 b25zLmVtcGxhY2VfYmFjaygpID0geworICAgICAgIGwxMG5fdXRpbDo6R2V0U3RyaW5nVVRGMTYo SURTX0VNQkVEREVEX1BST01QVF9DT05USU5VRV9BTExPV0lORyksCistICAgICAgQnV0dG9uVHlw ZTo6a0NvbnRpbnVlQWxsb3dpbmcsIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsKTsKKysgICAgICBC dXR0b25UeXBlOjprQ29udGludWVBbGxvd2luZywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWx9Owor IAorLSAgYnV0dG9ucy5lbXBsYWNlX2JhY2soCisrICBidXR0b25zLmVtcGxhY2VfYmFjaygpID0g eworICAgICAgIGwxMG5fdXRpbDo6R2V0U3RyaW5nVVRGMTYoSURTX0VNQkVEREVEX1BST01QVF9T VE9QX0FMTE9XSU5HKSwKKy0gICAgICBCdXR0b25UeXBlOjprU3RvcEFsbG93aW5nLCB1aTo6QnV0 dG9uU3R5bGU6OmtUb25hbCk7CisrICAgICAgQnV0dG9uVHlwZTo6a1N0b3BBbGxvd2luZywgdWk6 OkJ1dHRvblN0eWxlOjprVG9uYWx9OworICAgcmV0dXJuIGJ1dHRvbnM7CisgfQorIAorZGlmZiAt dXAgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJp bGl0aWVzLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTEyMC4wLjYwOTkuNTYv Y2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2NhcGFiaWxpdGllcy5jYworLS0tIGNocm9taXVtLTEy MC4wLjYwOTkuNTYvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2NhcGFiaWxpdGllcy5jYy5ub19t YXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTExLTI5IDIyOjM5OjU0LjAwMDAwMDAwMCArMDEwMAor KysrIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2NhcGFi aWxpdGllcy5jYwkyMDIzLTEyLTAzIDE3OjMxOjI1Ljc1MDQyMDIyNyArMDEwMAogQEAgLTM0Niw3 ICszNDYsNyBAQCBTdGF0dXMgUGFyc2VNb2JpbGVFbXVsYXRpb24oY29uc3QgYmFzZTo6CiAgICAg ICAgICAgICAgICAgICAgICAgICAgIid2ZXJzaW9uJyBmaWVsZCBvZiB0eXBlIHN0cmluZyIpOwog ICAgICAgICAgfQpAQCAtODgsMTAgKzIxNSwxMCBAQCBkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42 MDQ1LjU5L2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jYXBhYmlsaXRpZXMuY2Mubm9fbWF0Ywog ICAgICAgIH0KICAKICAgICAgICBjbGllbnRfaGludHMuZnVsbF92ZXJzaW9uX2xpc3QgPSBzdGQ6 Om1vdmUoZnVsbF92ZXJzaW9uX2xpc3QpOwotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41 OS9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9jb250YWN0X2luZm9fc3luY191dGls LmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29tcG9u ZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5bmNfdXRpbC5jYwotLS0t IGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIv Y29udGFjdF9pbmZvX3N5bmNfdXRpbC5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTEw LTMwIDE2OjUxOjAyLjI3MzE1MTU2MiArMDEwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuNTkv Y29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5bmNfdXRpbC5j YwkyMDIzLTEwLTMwIDE3OjQxOjEyLjY4NTg4NzUzOCArMDEwMAotQEAgLTE5NSw5ICsxOTUsOSBA QCBjbGFzcyBDb250YWN0SW5mb1Byb2ZpbGVTZXR0ZXIgeworZGlmZiAtdXAgY2hyb21pdW0tMTIw LjAuNjA5OS41Ni9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9jb250YWN0X2luZm9f c3luY191dGlsLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTEyMC4wLjYwOTku NTYvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5bmNfdXRp bC5jYworLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY29tcG9uZW50cy9hdXRvZmlsbC9jb3Jl L2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5bmNfdXRpbC5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3Rv cgkyMDIzLTExLTI5IDIyOjM5OjU3LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEyMC4w LjYwOTkuNTYvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5 bmNfdXRpbC5jYwkyMDIzLTEyLTAzIDE3OjMxOjI1Ljc1MDQyMDIyNyArMDEwMAorQEAgLTE5Nyw5 ICsxOTcsOSBAQCBjbGFzcyBDb250YWN0SW5mb1Byb2ZpbGVTZXR0ZXIgewogICAgICAgIENIRUNL KG9ic2VydmF0aW9ucy5lbXB0eSgpKTsKICAgICAgICBmb3IgKGNvbnN0IHN5bmNfcGI6OkNvbnRh Y3RJbmZvU3BlY2lmaWNzOjpPYnNlcnZhdGlvbiYgcHJvdG9fb2JzZXJ2YXRpb24gOgogICAgICAg ICAgICAgbWV0YWRhdGEub2JzZXJ2YXRpb25zKCkpIHsKQEAgLTEwMywxMCArMjMwLDM4IEBAIGRp ZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jy b3dzZXIvY29udGFjdF9pbmZvX3N5CiAgICAgICAgfQogICAgICB9CiAgICB9Ci1kaWZmIC11cCBj aHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbXBvbmVudHMvdml6L3NlcnZpY2UvZGlzcGxheV9lbWJl ZGRlci9za2lhX291dHB1dF9zdXJmYWNlX2ltcGxfb25fZ3B1LmNjLm5vX21hdGNoaW5nX2NvbnN0 cnVjdG9yIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29tcG9uZW50cy92aXovc2VydmljZS9kaXNw bGF5X2VtYmVkZGVyL3NraWFfb3V0cHV0X3N1cmZhY2VfaW1wbF9vbl9ncHUuY2MKLS0tLSBjaHJv bWl1bS0xMTkuMC42MDQ1LjU5L2NvbXBvbmVudHMvdml6L3NlcnZpY2UvZGlzcGxheV9lbWJlZGRl ci9za2lhX291dHB1dF9zdXJmYWNlX2ltcGxfb25fZ3B1LmNjLm5vX21hdGNoaW5nX2NvbnN0cnVj dG9yCTIwMjMtMTAtMjYgMTg6MTc6MTIuMDAwMDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0tMTE5 LjAuNjA0NS41OS9jb21wb25lbnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9v dXRwdXRfc3VyZmFjZV9pbXBsX29uX2dwdS5jYwkyMDIzLTEwLTMwIDE2OjUxOjAyLjI2MDE1MTIz OCArMDEwMAotQEAgLTE1MzAsNyArMTUzMCw3IEBAIHZvaWQgU2tpYU91dHB1dFN1cmZhY2VJbXBs T25HcHU6OkNvcHlPdXQKK2RpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY29tcG9uZW50 cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvd2ViZGF0YS9hdXRvZmlsbF90YWJsZS5jYy5ub19tYXRj aGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2NvbXBvbmVudHMvYXV0b2Zp bGwvY29yZS9icm93c2VyL3dlYmRhdGEvYXV0b2ZpbGxfdGFibGUuY2MKKy0tLSBjaHJvbWl1bS0x MjAuMC42MDk5LjU2L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL3dlYmRhdGEvYXV0 b2ZpbGxfdGFibGUuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IJMjAyMy0xMS0yOSAyMjozOTo1 Ny4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2NvbXBvbmVudHMv YXV0b2ZpbGwvY29yZS9icm93c2VyL3dlYmRhdGEvYXV0b2ZpbGxfdGFibGUuY2MJMjAyMy0xMi0w MyAxNzozMToyNS43NTE0MjAyNDYgKzAxMDAKK0BAIC0xNzYzLDEwICsxNzYzLDEwIEBAIHN0ZDo6 dW5pcXVlX3B0cjxBdXRvZmlsbFByb2ZpbGU+IEF1dG9maWwKKyAgICAgfQorIAorICAgICBiYXNl OjpzcGFuPGNvbnN0IHVpbnQ4X3Q+IG9ic2VydmF0aW9uc19kYXRhID0gcy5Db2x1bW5CbG9iKDMp OworLSAgICBmaWVsZF90eXBlX3ZhbHVlcy5lbXBsYWNlX2JhY2soCisrICAgIGZpZWxkX3R5cGVf dmFsdWVzLmVtcGxhY2VfYmFjaygpID0geworICAgICAgICAgdHlwZSwgcy5Db2x1bW5TdHJpbmcx NigxKSwgcy5Db2x1bW5JbnQoMiksCisgICAgICAgICBzdGQ6OnZlY3Rvcjx1aW50OF90PihvYnNl cnZhdGlvbnNfZGF0YS5iZWdpbigpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Jz ZXJ2YXRpb25zX2RhdGEuZW5kKCkpKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9i c2VydmF0aW9uc19kYXRhLmVuZCgpKX07CisgCisgICAgIGlmICh0eXBlID09IEFERFJFU1NfSE9N RV9DT1VOVFJZKSB7CisgICAgICAgY291bnRyeV9jb2RlID0gYmFzZTo6VVRGMTZUb1VURjgocy5D b2x1bW5TdHJpbmcxNigxKSk7CitkaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2NvbXBv bmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvcGFzc3dvcmRfbWFuYWdlci5jYy5u b19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2NvbXBvbmVudHMv cGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvcGFzc3dvcmRfbWFuYWdlci5jYworLS0tIGNo cm9taXVtLTEyMC4wLjYwOTkuNTYvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJv d3Nlci9wYXNzd29yZF9tYW5hZ2VyLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yCTIwMjMtMTEt MjkgMjI6Mzk6NTguMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9j b21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL3Bhc3N3b3JkX21hbmFnZXIu Y2MJMjAyMy0xMi0wMyAxNzozMToyNS43NTE0MjAyNDYgKzAxMDAKK0BAIC02MzAsNyArNjMwLDcg QEAgdm9pZCBQYXNzd29yZE1hbmFnZXI6Ok9uVXNlck1vZGlmaWVkTm9uUAorICAgLy8gfGRyaXZl cnwgbWlnaHQgYmUgZW1wdHkgb24gaU9TIG9yIGluIHRlc3RzLgorICAgaW50IGRyaXZlcl9pZCA9 IGRyaXZlciA/IGRyaXZlci0+R2V0SWQoKSA6IDA7CisgICBwb3NzaWJsZV91c2VybmFtZXNfLlB1 dCgKKy0gICAgICBQb3NzaWJsZVVzZXJuYW1lRmllbGRJZGVudGlmaWVyKGRyaXZlcl9pZCwgcmVu ZGVyZXJfaWQpLAorKyAgICAgIFBvc3NpYmxlVXNlcm5hbWVGaWVsZElkZW50aWZpZXJ7ZHJpdmVy X2lkLCByZW5kZXJlcl9pZH0sCisgICAgICAgUG9zc2libGVVc2VybmFtZURhdGEoR2V0U2lnbm9u UmVhbG0oZHJpdmVyLT5HZXRMYXN0Q29tbWl0dGVkVVJMKCkpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlbmRlcmVyX2lkLCB2YWx1ZSwgYmFzZTo6VGltZTo6Tm93KCksIGRyaXZlcl9p ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGVfYXR0cmlidXRlX2hh c191c2VybmFtZSwgaXNfbGlrZWx5X290cCkpOworZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5 OS41Ni9jb21wb25lbnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9vdXRwdXRf c3VyZmFjZV9pbXBsX29uX2dwdS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1bS0x MjAuMC42MDk5LjU2L2NvbXBvbmVudHMvdml6L3NlcnZpY2UvZGlzcGxheV9lbWJlZGRlci9za2lh X291dHB1dF9zdXJmYWNlX2ltcGxfb25fZ3B1LmNjCistLS0gY2hyb21pdW0tMTIwLjAuNjA5OS41 Ni9jb21wb25lbnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9vdXRwdXRfc3Vy ZmFjZV9pbXBsX29uX2dwdS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTExLTI5IDIy OjQwOjAxLjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY29tcG9u ZW50cy92aXovc2VydmljZS9kaXNwbGF5X2VtYmVkZGVyL3NraWFfb3V0cHV0X3N1cmZhY2VfaW1w bF9vbl9ncHUuY2MJMjAyMy0xMi0wMyAxNzozMToyNS43NTE0MjAyNDYgKzAxMDAKK0BAIC0xNTY3 LDcgKzE1NjcsNyBAQCB2b2lkIFNraWFPdXRwdXRTdXJmYWNlSW1wbE9uR3B1OjpDb3B5T3V0CiAg CiAgICAgICAgLy8gSXNzdWUgcmVhZGJhY2tzIGZyb20gdGhlIHN1cmZhY2VzOgogICAgICAgIGZv ciAoc2l6ZV90IGkgPSAwOyBpIDwgQ29weU91dHB1dFJlc3VsdDo6a05WMTJNYXhQbGFuZXM7ICsr aSkgewpAQCAtMTE1LDEwICsyNzAsMTAgQEAgZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41 OS9jb21wb25lbnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9vdXQKICAgICAg ICAgIFNrSW1hZ2VJbmZvIGRzdF9pbmZvID0gU2tJbWFnZUluZm86Ok1ha2UoCiAgICAgICAgICAg ICAgc2l6ZSwgKGkgPT0gMCkgPyBrQWxwaGFfOF9Ta0NvbG9yVHlwZSA6IGtSOEc4X3Vub3JtX1Nr Q29sb3JUeXBlLAogICAgICAgICAgICAgIGtVbnByZW11bF9Ta0FscGhhVHlwZSk7Ci1kaWZmIC11 cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbnRlbnQvYnJvd3Nlci9kb3dubG9hZC9zYXZlX3Bh Y2thZ2UuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9j b250ZW50L2Jyb3dzZXIvZG93bmxvYWQvc2F2ZV9wYWNrYWdlLmNjCi0tLS0gY2hyb21pdW0tMTE5 LjAuNjA0NS41OS9jb250ZW50L2Jyb3dzZXIvZG93bmxvYWQvc2F2ZV9wYWNrYWdlLmNjLm5vX21h dGNoaW5nX2NvbnN0cnVjdG9yCTIwMjMtMTAtMjYgMTg6MTc6MTIuMDAwMDAwMDAwICswMjAwCi0r KysgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jb250ZW50L2Jyb3dzZXIvZG93bmxvYWQvc2F2ZV9w YWNrYWdlLmNjCTIwMjMtMTAtMzAgMTY6NTE6MDIuMjcxMTUxNTEyICswMTAwCi1AQCAtNzY5LDgg Kzc2OSw4IEBAIHZvaWQgU2F2ZVBhY2thZ2U6OkZpbmlzaCgpIHsKK2RpZmYgLXVwIGNocm9taXVt LTEyMC4wLjYwOTkuNTYvY29udGVudC9icm93c2VyL2Rvd25sb2FkL3NhdmVfcGFja2FnZS5jYy5u b19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2NvbnRlbnQvYnJv d3Nlci9kb3dubG9hZC9zYXZlX3BhY2thZ2UuY2MKKy0tLSBjaHJvbWl1bS0xMjAuMC42MDk5LjU2 L2NvbnRlbnQvYnJvd3Nlci9kb3dubG9hZC9zYXZlX3BhY2thZ2UuY2Mubm9fbWF0Y2hpbmdfY29u c3RydWN0b3IJMjAyMy0xMS0yOSAyMjo0MDowMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1 bS0xMjAuMC42MDk5LjU2L2NvbnRlbnQvYnJvd3Nlci9kb3dubG9hZC9zYXZlX3BhY2thZ2UuY2MJ MjAyMy0xMi0wMyAxNzozMToyNS43NTI0MjAyNjUgKzAxMDAKK0BAIC03NjcsOCArNzY3LDggQEAg dm9pZCBTYXZlUGFja2FnZTo6RmluaXNoKCkgewogICAgaWYgKGRvd25sb2FkXykgewogICAgICBz dGQ6OnZlY3Rvcjxkb3dubG9hZDo6RG93bmxvYWRTYXZlSXRlbURhdGE6Okl0ZW1JbmZvPiBmaWxl czsKICAgICAgZm9yIChhdXRvJiBpdGVtIDogc2F2ZWRfc3VjY2Vzc19pdGVtc18pIHsKQEAgLTEy OSw1MiArMjg0LDc2IEBAIGRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29udGVudC9i cm93c2VyL2Rvd25sb2FkL3NhdmVfcGFja2FnZS5jYy5ub19tYXRjCiAgICAgIH0KICAgICAgZG93 bmxvYWQ6OkRvd25sb2FkU2F2ZUl0ZW1EYXRhOjpBdHRhY2hJdGVtRGF0YShkb3dubG9hZF8sIHN0 ZDo6bW92ZShmaWxlcykpOwogICAgfQotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9j b250ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9zdF9pbXBsLmNjLm5v X21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29udGVudC9icm93 c2VyL3JlbmRlcmVyX2hvc3QvcmVuZGVyX2ZyYW1lX2hvc3RfaW1wbC5jYwotLS0tIGNocm9taXVt LTExOS4wLjYwNDUuNTkvY29udGVudC9icm93c2VyL3JlbmRlcmVyX2hvc3QvcmVuZGVyX2ZyYW1l X2hvc3RfaW1wbC5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTEwLTI2IDE4OjE3OjEy LjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29udGVudC9icm93 c2VyL3JlbmRlcmVyX2hvc3QvcmVuZGVyX2ZyYW1lX2hvc3RfaW1wbC5jYwkyMDIzLTEwLTMwIDE3 OjM4OjA5LjM1MTM4OTk4NCArMDEwMAotQEAgLTg1NjcsNyArODU2Nyw3IEBAIHZvaWQgUmVuZGVy RnJhbWVIb3N0SW1wbDo6U2VuZEZlbmNlZEZyYW0KK2RpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYw OTkuNTYvY29udGVudC9icm93c2VyL2ludGVyZXN0X2dyb3VwL2ludGVyZXN0X2dyb3VwX3N0b3Jh Z2UuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jb250 ZW50L2Jyb3dzZXIvaW50ZXJlc3RfZ3JvdXAvaW50ZXJlc3RfZ3JvdXBfc3RvcmFnZS5jYworLS0t IGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY29udGVudC9icm93c2VyL2ludGVyZXN0X2dyb3VwL2lu dGVyZXN0X2dyb3VwX3N0b3JhZ2UuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IJMjAyMy0xMS0y OSAyMjo0MDowMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2Nv bnRlbnQvYnJvd3Nlci9pbnRlcmVzdF9ncm91cC9pbnRlcmVzdF9ncm91cF9zdG9yYWdlLmNjCTIw MjMtMTItMDMgMTc6MzE6MjUuNzUyNDIwMjY1ICswMTAwCitAQCAtMzAwMiwxMCArMzAwMiwxMCBA QCBEb0dldEtBbm9ueW1pdHlEYXRhKHNxbDo6RGF0YWJhc2UmIGRiLAorIAorICAgc3RkOjp2ZWN0 b3I8U3RvcmFnZUludGVyZXN0R3JvdXA6OktBbm9ueW1pdHlEYXRhPiBrX2Fub25fZGF0YTsKKyAg IHdoaWxlIChpbnRlcmVzdF9ncm91cF9rYW5vbl9xdWVyeS5TdGVwKCkpIHsKKy0gICAga19hbm9u X2RhdGEuZW1wbGFjZV9iYWNrKAorKyAgICBrX2Fub25fZGF0YS5lbXBsYWNlX2JhY2soKSA9IHsK KyAgICAgICAgIC8qa2V5PSovaW50ZXJlc3RfZ3JvdXBfa2Fub25fcXVlcnkuQ29sdW1uU3RyaW5n KDApLAorICAgICAgICAgLyppc19rX2Fub255bW91cz0qL2ludGVyZXN0X2dyb3VwX2thbm9uX3F1 ZXJ5LkNvbHVtbkJvb2woMSksCistICAgICAgICAvKmxhc3RfdXBkYXRlZD0qL2ludGVyZXN0X2dy b3VwX2thbm9uX3F1ZXJ5LkNvbHVtblRpbWUoMikpOworKyAgICAgICAgLypsYXN0X3VwZGF0ZWQ9 Ki9pbnRlcmVzdF9ncm91cF9rYW5vbl9xdWVyeS5Db2x1bW5UaW1lKDIpfTsKKyAgIH0KKyAgIGlm ICghaW50ZXJlc3RfZ3JvdXBfa2Fub25fcXVlcnkuU3VjY2VlZGVkKCkpIHsKKyAgICAgcmV0dXJu IGFic2w6Om51bGxvcHQ7CitkaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2NvbnRlbnQv YnJvd3Nlci9yZW5kZXJlcl9ob3N0L3JlbmRlcl9mcmFtZV9ob3N0X2ltcGwuY2Mubm9fbWF0Y2hp bmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jb250ZW50L2Jyb3dzZXIvcmVu ZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9zdF9pbXBsLmNjCistLS0gY2hyb21pdW0tMTIwLjAu NjA5OS41Ni9jb250ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9zdF9p bXBsLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yCTIwMjMtMTEtMjkgMjI6NDA6MDEuMDAwMDAw MDAwICswMTAwCisrKysgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jb250ZW50L2Jyb3dzZXIvcmVu ZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9zdF9pbXBsLmNjCTIwMjMtMTItMDMgMjA6NDk6Mjgu MDU5MDQyNjcyICswMTAwCitAQCAtODY4NSw3ICs4Njg1LDcgQEAgdm9pZCBSZW5kZXJGcmFtZUhv c3RJbXBsOjpTZW5kRmVuY2VkRnJhbQogICAgZm9yIChjb25zdCBibGluazo6RmVuY2VkRnJhbWU6 OlJlcG9ydGluZ0Rlc3RpbmF0aW9uJiBkZXN0aW5hdGlvbiA6CiAgICAgICAgIGRlc3RpbmF0aW9u cykgewogICAgICBTZW5kRmVuY2VkRnJhbWVSZXBvcnRpbmdCZWFjb25JbnRlcm5hbCgKIC0gICAg ICAgIERlc3RpbmF0aW9uRW51bUV2ZW50KGV2ZW50X3R5cGUsIGV2ZW50X2RhdGEpLCBkZXN0aW5h dGlvbiwKICsgICAgICAgIERlc3RpbmF0aW9uRW51bUV2ZW50e2V2ZW50X3R5cGUsIGV2ZW50X2Rh dGF9LCBkZXN0aW5hdGlvbiwKLSAgICAgICAgIC8qZnJvbV9yZW5kZXJlcj0qL3RydWUsIGF0dHJp YnV0aW9uX3JlcG9ydGluZ19ydW50aW1lX2ZlYXR1cmVzLAotICAgICAgICAgR2V0RnJhbWVUcmVl Tm9kZUlkKCkpOworICAgICAgICAgLypmcm9tX3JlbmRlcmVyPSovdHJ1ZSwgYXR0cmlidXRpb25f cmVwb3J0aW5nX3J1bnRpbWVfZmVhdHVyZXMpOwogICAgfQotQEAgLTg2MDMsNyArODYwMyw3IEBA IHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6U2VuZEZlbmNlZEZyYW0KKyB9CitAQCAtODcyMCw3 ICs4NzIwLDcgQEAgdm9pZCBSZW5kZXJGcmFtZUhvc3RJbXBsOjpTZW5kRmVuY2VkRnJhbQogICAg fQogIAogICAgU2VuZEZlbmNlZEZyYW1lUmVwb3J0aW5nQmVhY29uSW50ZXJuYWwoCiAtICAgICAg RGVzdGluYXRpb25VUkxFdmVudChkZXN0aW5hdGlvbl91cmwpLAogKyAgICAgIERlc3RpbmF0aW9u VVJMRXZlbnR7ZGVzdGluYXRpb25fdXJsfSwKICAgICAgICBibGluazo6RmVuY2VkRnJhbWU6OlJl cG9ydGluZ0Rlc3RpbmF0aW9uOjprQnV5ZXIsCi0gICAgICAgLypmcm9tX3JlbmRlcmVyPSovdHJ1 ZSwgYXR0cmlidXRpb25fcmVwb3J0aW5nX3J1bnRpbWVfZmVhdHVyZXMsCi0gICAgICAgR2V0RnJh bWVUcmVlTm9kZUlkKCkpOwotQEAgLTg3MDMsOCArODcwMyw4IEBAIHZvaWQgUmVuZGVyRnJhbWVI b3N0SW1wbDo6TWF5YmVTZW5kRmVuY2UKKyAgICAgICAvKmZyb21fcmVuZGVyZXI9Ki90cnVlLCBh dHRyaWJ1dGlvbl9yZXBvcnRpbmdfcnVudGltZV9mZWF0dXJlcyk7CisgfQorQEAgLTg4MjAsNyAr ODgyMCw3IEBAIHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6TWF5YmVTZW5kRmVuY2UKICAgICAg ICAgIGRhdGEgPSBpbmZvLT5kYXRhOwogICAgICAgIH0KICAgICAgICBpbml0aWF0b3JfcmZoLT5T ZW5kRmVuY2VkRnJhbWVSZXBvcnRpbmdCZWFjb25JbnRlcm5hbCgKLS0gICAgICAgICAgRGVzdGlu YXRpb25FbnVtRXZlbnQoYmxpbms6OmtGZW5jZWRGcmFtZVRvcE5hdmlnYXRpb25CZWFjb25UeXBl LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhKSwKLSsgICAgICAgICAgRGVz dGluYXRpb25FbnVtRXZlbnR7Ymxpbms6OmtGZW5jZWRGcmFtZVRvcE5hdmlnYXRpb25CZWFjb25U eXBlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhfSwKLSAgICAgICAgICAg ZGVzdGluYXRpb24sCistICAgICAgICAgIEF1dG9tYXRpY0JlYWNvbkV2ZW50KGV2ZW50X3R5cGUs IGRhdGEpLCBkZXN0aW5hdGlvbiwKKysgICAgICAgICAgQXV0b21hdGljQmVhY29uRXZlbnR7ZXZl bnRfdHlwZSwgZGF0YX0sIGRlc3RpbmF0aW9uLAogICAgICAgICAgICAvKmZyb21fcmVuZGVyZXI9 Ki9mYWxzZSwgYXR0cmlidXRpb25fcmVwb3J0aW5nX2ZlYXR1cmVzLAotICAgICAgICAgICBHZXRG cmFtZVRyZWVOb2RlSWQoKSwgbmF2aWdhdGlvbl9yZXF1ZXN0LkdldE5hdmlnYXRpb25JZCgpKTsK LUBAIC04NzE3LDggKzg3MTcsOCBAQCB2b2lkIFJlbmRlckZyYW1lSG9zdEltcGw6Ok1heWJlU2Vu ZEZlbmNlCisgICAgICAgICAgIG5hdmlnYXRpb25fcmVxdWVzdC5HZXROYXZpZ2F0aW9uSWQoKSk7 CisgICAgIH0KK0BAIC04ODMyLDcgKzg4MzIsNyBAQCB2b2lkIFJlbmRlckZyYW1lSG9zdEltcGw6 Ok1heWJlU2VuZEZlbmNlCiAgICAgIGZvciAoYmxpbms6OkZlbmNlZEZyYW1lOjpSZXBvcnRpbmdE ZXN0aW5hdGlvbiBkZXN0aW5hdGlvbiA6CiAgICAgICAgICAgaW5mby0+ZGVzdGluYXRpb25zKSB7 CiAgICAgICAgaW5pdGlhdG9yX3JmaC0+U2VuZEZlbmNlZEZyYW1lUmVwb3J0aW5nQmVhY29uSW50 ZXJuYWwoCi0tICAgICAgICAgIERlc3RpbmF0aW9uRW51bUV2ZW50KGJsaW5rOjprRmVuY2VkRnJh bWVUb3BOYXZpZ2F0aW9uQmVhY29uVHlwZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW5mby0+ZGF0YSksCi0rICAgICAgICAgIERlc3RpbmF0aW9uRW51bUV2ZW50e2JsaW5rOjpr RmVuY2VkRnJhbWVUb3BOYXZpZ2F0aW9uQmVhY29uVHlwZSwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW5mby0+ZGF0YX0sCi0gICAgICAgICAgIGRlc3RpbmF0aW9uLAorLSAgICAg ICAgICBBdXRvbWF0aWNCZWFjb25FdmVudChldmVudF90eXBlLCBpbmZvLT5kYXRhKSwgZGVzdGlu YXRpb24sCisrICAgICAgICAgIEF1dG9tYXRpY0JlYWNvbkV2ZW50e2V2ZW50X3R5cGUsIGluZm8t PmRhdGF9LCBkZXN0aW5hdGlvbiwKICAgICAgICAgICAgLypmcm9tX3JlbmRlcmVyPSovZmFsc2Us IGluZm8tPmF0dHJpYnV0aW9uX3JlcG9ydGluZ19ydW50aW1lX2ZlYXR1cmVzLAotICAgICAgICAg ICBHZXRGcmFtZVRyZWVOb2RlSWQoKSwgbmF2aWdhdGlvbl9yZXF1ZXN0LkdldE5hdmlnYXRpb25J ZCgpKTsKLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvZm9udF9wYWxldHRlLmgubm9fbWF0Y2hpbmdfY29uc3Ry dWN0b3IgY2hyb21pdW0tMTE5LjAuNjA0NS41OS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9w bGF0Zm9ybS9mb250cy9mb250X3BhbGV0dGUuaAotLS0tIGNocm9taXVtLTExOS4wLjYwNDUuNTkv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvZm9udF9wYWxldHRlLmgu bm9fbWF0Y2hpbmdfY29uc3RydWN0b3IJMjAyMy0xMC0yNiAxODoxNzoyNC4wMDAwMDAwMDAgKzAy MDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L3BsYXRmb3JtL2ZvbnRzL2ZvbnRfcGFsZXR0ZS5oCTIwMjMtMTAtMzAgMTY6NTE6MDIuMjYyMTUx Mjg4ICswMTAwCisgICAgICAgICAgIG5hdmlnYXRpb25fcmVxdWVzdC5HZXROYXZpZ2F0aW9uSWQo KSk7CisgICAgIH0KK2RpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvbmV0L2Rucy9ob3N0 X3Jlc29sdmVyX2NhY2hlLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTEyMC4w LjYwOTkuNTYvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX2NhY2hlLmNjCistLS0gY2hyb21pdW0tMTIw LjAuNjA5OS41Ni9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfY2FjaGUuY2Mubm9fbWF0Y2hpbmdfY29u c3RydWN0b3IJMjAyMy0xMS0yOSAyMjo0MDowNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1 bS0xMjAuMC42MDk5LjU2L25ldC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYwkyMDIzLTEyLTAz IDE3OjMxOjI1Ljc1NDQyMDMwMyArMDEwMAorQEAgLTM2OCw3ICszNjgsNyBAQCB2b2lkIEhvc3RS ZXNvbHZlckNhY2hlOjpTZXQoCisgCisgICBzdGQ6OnN0cmluZyBkb21haW5fbmFtZSA9IHJlc3Vs dC0+ZG9tYWluX25hbWUoKTsKKyAgIGVudHJpZXNfLmVtcGxhY2UoCistICAgICAgS2V5KHN0ZDo6 bW92ZShkb21haW5fbmFtZSksIG5ldHdvcmtfYW5vbnltaXphdGlvbl9rZXkpLAorKyAgICAgIEtl eXtzdGQ6Om1vdmUoZG9tYWluX25hbWUpLCBuZXR3b3JrX2Fub255bWl6YXRpb25fa2V5fSwKKyAg ICAgICBFbnRyeShzdGQ6Om1vdmUocmVzdWx0KSwgc291cmNlLCBzZWN1cmUsIHN0YWxlbmVzc19n ZW5lcmF0aW9uKSk7CisgCisgICBpZiAoZW50cmllc18uc2l6ZSgpID4gbWF4X2VudHJpZXNfKSB7 CitkaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL2ZvbnRzL2ZvbnRfcGFsZXR0ZS5oLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9y IGNocm9taXVtLTEyMC4wLjYwOTkuNTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vZm9udHMvZm9udF9wYWxldHRlLmgKKy0tLSBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL2ZvbnRfcGFsZXR0ZS5oLm5vX21h dGNoaW5nX2NvbnN0cnVjdG9yCTIwMjMtMTEtMjkgMjI6NDA6MTIuMDAwMDAwMDAwICswMTAwCisr KysgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9mb250cy9mb250X3BhbGV0dGUuaAkyMDIzLTEyLTAzIDE3OjMxOjI1Ljc1NDQyMDMwMyAr MDEwMAogQEAgLTk2LDcgKzk2LDcgQEAgY2xhc3MgUExBVEZPUk1fRVhQT1JUIEZvbnRQYWxldHRl IDogcHVibAogICAgICAgIENvbG9yOjpDb2xvclNwYWNlIGNvbG9yX2ludGVycG9sYXRpb25fc3Bh Y2UsCiAgICAgICAgYWJzbDo6b3B0aW9uYWw8Q29sb3I6Okh1ZUludGVycG9sYXRpb25NZXRob2Q+ IGh1ZV9pbnRlcnBvbGF0aW9uX21ldGhvZCkgewpAQCAtMTkzLDkgKzM3Miw5IEBAIGRpZmYgLXVw IGNocm9taXVtLTExOS4wLjYwNDUuNTkvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vZm9udHMvZm9udF9wCiAgICB9CiAgCiAgICBkb3VibGUgR2V0QWxwaGFNdWx0aXBsaWVyKCkg Y29uc3QgewotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9wYWxldHRlX2ludGVycG9sYXRpb24uY2Mubm9fbWF0 Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTE5LjAuNjA0NS41OS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9wYWxldHRlX2ludGVycG9sYXRpb24uY2MKLS0tLSBj aHJvbWl1bS0xMTkuMC42MDQ1LjU5L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3Jt L2ZvbnRzL3BhbGV0dGVfaW50ZXJwb2xhdGlvbi5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3Rvcgky MDIzLTEwLTI2IDE4OjE3OjI0LjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTExOS4wLjYw NDUuNTkvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvcGFsZXR0ZV9p bnRlcnBvbGF0aW9uLmNjCTIwMjMtMTAtMzAgMTY6NTE6MDIuMjYxMTUxMjYzICswMTAwCitkaWZm IC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL2ZvbnRzL3BhbGV0dGVfaW50ZXJwb2xhdGlvbi5jYy5ub19tYXRjaGluZ19jb25zdHJ1 Y3RvciBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL2ZvbnRzL3BhbGV0dGVfaW50ZXJwb2xhdGlvbi5jYworLS0tIGNocm9taXVtLTEyMC4w LjYwOTkuNTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvcGFsZXR0 ZV9pbnRlcnBvbGF0aW9uLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yCTIwMjMtMTEtMjkgMjI6 NDA6MTIuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9wYWxldHRlX2ludGVycG9sYXRpb24u Y2MJMjAyMy0xMi0wMyAxNzozMToyNS43NTU0MjAzMjMgKzAxMDAKIEBAIC0zMSw3ICszMSw3IEBA IFZlY3RvcjxGb250UGFsZXR0ZTo6Rm9udFBhbGV0dGVPdmVycmlkZT4KICAgICAgICAgIGNvbG9y X2ludGVycG9sYXRpb25fc3BhY2UsIGh1ZV9pbnRlcnBvbGF0aW9uX21ldGhvZCwgc3RhcnRfY29s b3IsCiAgICAgICAgICBlbmRfY29sb3IsIHBlcmNlbnRhZ2UsIGFscGhhX211bHRpcGxpZXIpOwpA QCAtMjA1LDExMyArMzg0LDIyIEBAIGRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvcGFsZXR0CiAgICAgIHJlc3Vs dF9jb2xvcl9yZWNvcmRzLnB1c2hfYmFjayhyZXN1bHRfY29sb3JfcmVjb3JkKTsKICAgIH0KICAg IHJldHVybiByZXN1bHRfY29sb3JfcmVjb3JkczsKLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYw NDUuNTkvdWkvZ3RrL2d0a191aS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1bS0x MTkuMC42MDQ1LjU5L3VpL2d0ay9ndGtfdWkuY2MKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5 L3VpL2d0ay9ndGtfdWkuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IJMjAyMy0xMC0yNiAxODox ODoxNC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L3VpL2d0ay9n dGtfdWkuY2MJMjAyMy0xMC0zMCAxNjo1MTowMi4yNzIxNTE1MzcgKzAxMDAKLUBAIC05OTMsMTEg Kzk5MywxMSBAQCB1aTo6RGlzcGxheUNvbmZpZyBHdGtVaTo6R2V0RGlzcGxheUNvbmZpCi0gICAg IEdka1JlY3RhbmdsZSBnZW9tZXRyeTsKLSAgICAgZ2RrX21vbml0b3JfZ2V0X2dlb21ldHJ5KG1v bml0b3IsICZnZW9tZXRyeSk7Ci0gICAgIGludCBtb25pdG9yX3NjYWxlID0gc3RkOjptYXgoMSwg Z2RrX21vbml0b3JfZ2V0X3NjYWxlX2ZhY3Rvcihtb25pdG9yKSk7Ci0tICAgIGNvbmZpZy5kaXNw bGF5X2dlb21ldHJpZXMuZW1wbGFjZV9iYWNrKAotKyAgICBjb25maWcuZGlzcGxheV9nZW9tZXRy aWVzLmVtcGxhY2VfYmFjaygpID0gewotICAgICAgICAgZ2Z4OjpSZWN0KG1vbml0b3Jfc2NhbGUg KiBnZW9tZXRyeS54LCBtb25pdG9yX3NjYWxlICogZ2VvbWV0cnkueSwKLSAgICAgICAgICAgICAg ICAgICBtb25pdG9yX3NjYWxlICogZ2VvbWV0cnkud2lkdGgsCi0gICAgICAgICAgICAgICAgICAg bW9uaXRvcl9zY2FsZSAqIGdlb21ldHJ5LmhlaWdodCksCi0tICAgICAgICBtb25pdG9yX3NjYWxl ICogZm9udF9zY2FsZSk7Ci0rICAgICAgICBzdGF0aWNfY2FzdDxmbG9hdD4obW9uaXRvcl9zY2Fs ZSAqIGZvbnRfc2NhbGUpfTsKLSAgIH0KLSAgIHJldHVybiBjb25maWc7Ci0gfQotZGlmZiAtdXAg Y2hyb21pdW0tMTE5LjAuNjA0NS41OS9iYXNlL21ldHJpY3MvcGVyc2lzdGVudF9oaXN0b2dyYW1f YWxsb2NhdG9yLmNjLm1lIGNocm9taXVtLTExOS4wLjYwNDUuNTkvYmFzZS9tZXRyaWNzL3BlcnNp c3RlbnRfaGlzdG9ncmFtX2FsbG9jYXRvci5jYwotLS0tIGNocm9taXVtLTExOS4wLjYwNDUuNTkv YmFzZS9tZXRyaWNzL3BlcnNpc3RlbnRfaGlzdG9ncmFtX2FsbG9jYXRvci5jYy5tZQkyMDIzLTEw LTMxIDE4OjE0OjQ5LjI3NTcyODA5OSArMDEwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuNTkv YmFzZS9tZXRyaWNzL3BlcnNpc3RlbnRfaGlzdG9ncmFtX2FsbG9jYXRvci5jYwkyMDIzLTEwLTMx IDE4OjE5OjU0LjU5OTIyMzIzOSArMDEwMAotQEAgLTIyMSwxMyArMjIxLDEzIEBAIFBlcnNpc3Rl bnRTcGFyc2VIaXN0b2dyYW1EYXRhTWFuYWdlcjo6TG8KLSAgICAgLy8gVGhlIHNhbXBsZS1yZWNv cmQgY291bGQgYmUgZm9yIGFueSBzcGFyc2UgaGlzdG9ncmFtLiBBZGQgdGhlIHJlZmVyZW5jZQot ICAgICAvLyB0byB0aGUgYXBwcm9wcmlhdGUgY29sbGVjdGlvbiBmb3IgbGF0ZXIgdXNlLgotICAg ICBpZiAoZm91bmRfaWQgPT0gbWF0Y2hfaWQpIHsKLS0gICAgICBmb3VuZF9yZWNvcmRzLmVtcGxh Y2VfYmFjayhyZWYsIHZhbHVlKTsKLSsgICAgICBmb3VuZF9yZWNvcmRzLmVtcGxhY2VfYmFjaygp ID0ge3JlZiwgdmFsdWV9OwotICAgICAgIGZvdW5kID0gdHJ1ZTsKK2RpZmYgLXVwIGNocm9taXVt LTEyMC4wLjYwOTkuNTYvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnBkZmFwaS9yZW5kZXIvY3Bk Zl9yZW5kZXJzdGF0dXMuY3BwLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTEyMC4w LjYwOTkuNTYvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnBkZmFwaS9yZW5kZXIvY3BkZl9yZW5k ZXJzdGF0dXMuY3BwCistLS0gY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9wYXJ0eS9wZGZp dW0vY29yZS9mcGRmYXBpL3JlbmRlci9jcGRmX3JlbmRlcnN0YXR1cy5jcHAubm9fbWF0Y2hpbmdf Y29uc3RydWN0b3IJMjAyMy0xMS0yOSAyMjo0MTo0Ni4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJv bWl1bS0xMjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2ZwZGZhcGkvcmVuZGVy L2NwZGZfcmVuZGVyc3RhdHVzLmNwcAkyMDIzLTEyLTAzIDE3OjMxOjI1Ljc1NjQyMDM0MiArMDEw MAorQEAgLTQ5MSw3ICs0OTEsNyBAQCB2b2lkIENQREZfUmVuZGVyU3RhdHVzOjpQcm9jZXNzQ2xp cFBhdGgoCiAgICAgIH0gZWxzZSB7Ci0gICAgICAgc3RkOjp2ZWN0b3I8UmVmZXJlbmNlQW5kU2Ft cGxlPiogc2FtcGxlcyA9Ci0gICAgICAgICAgIEdldFNhbXBsZU1hcFJlY29yZHNXaGlsZUxvY2tl ZChmb3VuZF9pZCk7Ci0gICAgICAgQ0hFQ0soc2FtcGxlcyk7Ci0tICAgICAgc2FtcGxlcy0+ZW1w bGFjZV9iYWNrKHJlZiwgdmFsdWUpOwotKyAgICAgIHNhbXBsZXMtPmVtcGxhY2VfYmFjaygpID0g e3JlZiwgdmFsdWV9OworICAgICAgIG1fcERldmljZS0+U2V0Q2xpcF9QYXRoRmlsbCgKKyAgICAg ICAgICAgKnBQYXRoLCAmbXRPYmoyRGV2aWNlLAorLSAgICAgICAgICBDRlhfRmlsbFJlbmRlck9w dGlvbnMoQ2xpcFBhdGguR2V0Q2xpcFR5cGUoaSkpKTsKKysgICAgICAgICAgQ0ZYX0ZpbGxSZW5k ZXJPcHRpb25ze0NsaXBQYXRoLkdldENsaXBUeXBlKGkpfSk7CiAgICAgIH0KICAgIH0KICAKLWRp ZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX2NhY2hl LmNjLm1lIGNocm9taXVtLTExOS4wLjYwNDUuNTkvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX2NhY2hl LmNjCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0NS41OS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfY2Fj aGUuY2MubWUJMjAyMy0xMC0zMSAyMDo0ODoxOS4xNTM4NjgzMzggKzAxMDAKLSsrKyBjaHJvbWl1 bS0xMTkuMC42MDQ1LjU5L25ldC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYwkyMDIzLTEwLTMx IDIwOjUxOjM3LjYzNDUyNjU0OSArMDEwMAotQEAgLTM2OCw3ICszNjgsNyBAQCB2b2lkIEhvc3RS ZXNvbHZlckNhY2hlOjpTZXQoCi0gCi0gICBzdGQ6OnN0cmluZyBkb21haW5fbmFtZSA9IHJlc3Vs dC0+ZG9tYWluX25hbWUoKTsKLSAgIGVudHJpZXNfLmVtcGxhY2UoCi0tICAgICAgS2V5KHN0ZDo6 bW92ZShkb21haW5fbmFtZSksIG5ldHdvcmtfYW5vbnltaXphdGlvbl9rZXkpLAotKyAgICAgIEtl eXtzdGQ6Om1vdmUoZG9tYWluX25hbWUpLCBuZXR3b3JrX2Fub255bWl6YXRpb25fa2V5fSwKLSAg ICAgICBFbnRyeShzdGQ6Om1vdmUocmVzdWx0KSwgc291cmNlLCBzZWN1cmUsIHN0YWxlbmVzc19n ZW5lcmF0aW9uKSk7Ci0gCi0gICBpZiAoZW50cmllc18uc2l6ZSgpID4gbWF4X2VudHJpZXNfKSB7 Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29y ZS9icm93c2VyL3dlYmRhdGEvYXV0b2ZpbGxfdGFibGUuY2MubWUgY2hyb21pdW0tMTE5LjAuNjA0 NS41OS9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci93ZWJkYXRhL2F1dG9maWxsX3Rh YmxlLmNjCi0tLS0gY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jb21wb25lbnRzL2F1dG9maWxsL2Nv cmUvYnJvd3Nlci93ZWJkYXRhL2F1dG9maWxsX3RhYmxlLmNjLm1lCTIwMjMtMTAtMzEgMjI6MzI6 NTguOTk1OTk3ODk3ICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jb21wb25lbnRz L2F1dG9maWxsL2NvcmUvYnJvd3Nlci93ZWJkYXRhL2F1dG9maWxsX3RhYmxlLmNjCTIwMjMtMTAt MzEgMjI6MzM6MjguMjkwNTIwNjAxICswMTAwCi1AQCAtMTczMywxMCArMTczMywxMCBAQCBzdGQ6 OnVuaXF1ZV9wdHI8QXV0b2ZpbGxQcm9maWxlPiBBdXRvZmlsCi0gICAgIH0KLSAKLSAgICAgYmFz ZTo6c3Bhbjxjb25zdCB1aW50OF90PiBvYnNlcnZhdGlvbnNfZGF0YSA9IHMuQ29sdW1uQmxvYigz KTsKLS0gICAgZmllbGRfdHlwZV92YWx1ZXMuZW1wbGFjZV9iYWNrKAotKyAgICBmaWVsZF90eXBl X3ZhbHVlcy5lbXBsYWNlX2JhY2soKSA9IHsKLSAgICAgICAgIHR5cGUsIHMuQ29sdW1uU3RyaW5n MTYoMSksIHMuQ29sdW1uSW50KDIpLAotICAgICAgICAgc3RkOjp2ZWN0b3I8dWludDhfdD4ob2Jz ZXJ2YXRpb25zX2RhdGEuYmVnaW4oKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9i c2VydmF0aW9uc19kYXRhLmVuZCgpKSk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv YnNlcnZhdGlvbnNfZGF0YS5lbmQoKSl9OwotIAotICAgICBpZiAodHlwZSA9PSBBRERSRVNTX0hP TUVfQ09VTlRSWSkgewotICAgICAgIGNvdW50cnlfY29kZSA9IGJhc2U6OlVURjE2VG9VVEY4KHMu Q29sdW1uU3RyaW5nMTYoMSkpOwotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jb21w b25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL3Bhc3N3b3JkX21hbmFnZXIuY2Mu dGhhbiBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9j b3JlL2Jyb3dzZXIvcGFzc3dvcmRfbWFuYWdlci5jYwotLS0tIGNocm9taXVtLTExOS4wLjYwNDUu NTkvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9wYXNzd29yZF9tYW5h Z2VyLmNjLnRoYW4JMjAyMy0xMC0zMSAyMjo0MToyMi44NTAyMzMwMDUgKzAxMDAKLSsrKyBjaHJv bWl1bS0xMTkuMC42MDQ1LjU5L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dz ZXIvcGFzc3dvcmRfbWFuYWdlci5jYwkyMDIzLTEwLTMxIDIyOjQyOjM3LjI3NjkzMTkzMyArMDEw MAotQEAgLTYyNSw3ICs2MjUsNyBAQCB2b2lkIFBhc3N3b3JkTWFuYWdlcjo6T25Vc2VyTW9kaWZp ZWROb25QCi0gICAvLyB8ZHJpdmVyfCBtaWdodCBiZSBlbXB0eSBvbiBpT1Mgb3IgaW4gdGVzdHMu Ci0gICBpbnQgZHJpdmVyX2lkID0gZHJpdmVyID8gZHJpdmVyLT5HZXRJZCgpIDogMDsKLSAgIHBv c3NpYmxlX3VzZXJuYW1lc18uUHV0KAotLSAgICAgIFBvc3NpYmxlVXNlcm5hbWVGaWVsZElkZW50 aWZpZXIoZHJpdmVyX2lkLCByZW5kZXJlcl9pZCksCi0rICAgICAgUG9zc2libGVVc2VybmFtZUZp ZWxkSWRlbnRpZmllcntkcml2ZXJfaWQsIHJlbmRlcmVyX2lkfSwKLSAgICAgICBQb3NzaWJsZVVz ZXJuYW1lRGF0YShHZXRTaWdub25SZWFsbShkcml2ZXItPkdldExhc3RDb21taXR0ZWRVUkwoKSks Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXJfaWQsIHZhbHVlLCBiYXNlOjpU aW1lOjpOb3coKSwgZHJpdmVyX2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9j b21wbGV0ZV9hdHRyaWJ1dGVfaGFzX3VzZXJuYW1lLCBpc19saWtlbHlfb3RwKSk7Ci1kaWZmIC11 cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbnRlbnQvYnJvd3Nlci9pbnRlcmVzdF9ncm91cC9p bnRlcmVzdF9ncm91cF9zdG9yYWdlLmNjLnRoYW4gY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jb250 ZW50L2Jyb3dzZXIvaW50ZXJlc3RfZ3JvdXAvaW50ZXJlc3RfZ3JvdXBfc3RvcmFnZS5jYwotLS0t IGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29udGVudC9icm93c2VyL2ludGVyZXN0X2dyb3VwL2lu dGVyZXN0X2dyb3VwX3N0b3JhZ2UuY2MudGhhbgkyMDIzLTEwLTMxIDIzOjMxOjA4LjQzODI2Nzkw OCArMDEwMAotKysrIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29udGVudC9icm93c2VyL2ludGVy ZXN0X2dyb3VwL2ludGVyZXN0X2dyb3VwX3N0b3JhZ2UuY2MJMjAyMy0xMC0zMSAyMzozMjowOC45 NzkzNTg3MTEgKzAxMDAKLUBAIC0yODU0LDEwICsyODU0LDEwIEBAIERvR2V0S0Fub255bWl0eURh dGEoc3FsOjpEYXRhYmFzZSYgZGIsCi0gCi0gICBzdGQ6OnZlY3RvcjxTdG9yYWdlSW50ZXJlc3RH cm91cDo6S0Fub255bWl0eURhdGE+IGtfYW5vbl9kYXRhOwotICAgd2hpbGUgKGludGVyZXN0X2dy b3VwX2thbm9uX3F1ZXJ5LlN0ZXAoKSkgewotLSAgICBrX2Fub25fZGF0YS5lbXBsYWNlX2JhY2so Ci0rICAgIGtfYW5vbl9kYXRhLmVtcGxhY2VfYmFjaygpID0gewotICAgICAgICAgLyprZXk9Ki9p bnRlcmVzdF9ncm91cF9rYW5vbl9xdWVyeS5Db2x1bW5TdHJpbmcoMCksCi0gICAgICAgICAvKmlz X2tfYW5vbnltb3VzPSovaW50ZXJlc3RfZ3JvdXBfa2Fub25fcXVlcnkuQ29sdW1uQm9vbCgxKSwK LS0gICAgICAgIC8qbGFzdF91cGRhdGVkPSovaW50ZXJlc3RfZ3JvdXBfa2Fub25fcXVlcnkuQ29s dW1uVGltZSgyKSk7Ci0rICAgICAgICAvKmxhc3RfdXBkYXRlZD0qL2ludGVyZXN0X2dyb3VwX2th bm9uX3F1ZXJ5LkNvbHVtblRpbWUoMil9OwotICAgfQotICAgaWYgKCFpbnRlcmVzdF9ncm91cF9r YW5vbl9xdWVyeS5TdWNjZWVkZWQoKSkgewotICAgICByZXR1cm4gYWJzbDo6bnVsbG9wdDsKLWRp ZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29udGVudC9icm93c2VyL3dlYmlkL2ZlZGVy YXRlZF9hdXRoX3JlcXVlc3RfaW1wbC5jYy50aGFuIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29u dGVudC9icm93c2VyL3dlYmlkL2ZlZGVyYXRlZF9hdXRoX3JlcXVlc3RfaW1wbC5jYwotLS0tIGNo cm9taXVtLTExOS4wLjYwNDUuNTkvY29udGVudC9icm93c2VyL3dlYmlkL2ZlZGVyYXRlZF9hdXRo X3JlcXVlc3RfaW1wbC5jYy50aGFuCTIwMjMtMTEtMDEgMTE6MTk6NDIuNzQ1Mzk1Nzk3ICswMTAw Ci0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jb250ZW50L2Jyb3dzZXIvd2ViaWQvZmVkZXJh dGVkX2F1dGhfcmVxdWVzdF9pbXBsLmNjCTIwMjMtMTEtMDEgMTE6MjI6MTYuNjcwOTIwNjc5ICsw MTAwCi1AQCAtMTg4MSw3ICsxODgxLDcgQEAgdm9pZCBGZWRlcmF0ZWRBdXRoUmVxdWVzdEltcGw6 OlNob3dFcnJvcgotICAgICAgIGJhc2U6OkJpbmRPbmNlKCZGZWRlcmF0ZWRBdXRoUmVxdWVzdElt cGw6OkNvbXBsZXRlUmVxdWVzdFdpdGhFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICB3ZWFr X3B0cl9mYWN0b3J5Xy5HZXRXZWFrUHRyKCkpKTsKLSAgIGFic2w6Om9wdGlvbmFsPFRva2VuRXJy b3I+IHRva2VuX2Vycm9yID0KLS0gICAgICBlcnJvciA/IGFic2w6Om1ha2Vfb3B0aW9uYWw8VG9r ZW5FcnJvcj4oZXJyb3ItPmNvZGUsIGVycm9yLT51cmwpCi0rICAgICAgZXJyb3IgPyBhYnNsOjpt YWtlX29wdGlvbmFsPFRva2VuRXJyb3I+KHtlcnJvci0+Y29kZSwgZXJyb3ItPnVybH0pCi0gICAg ICAgICAgICAgOiBhYnNsOjpudWxsb3B0OwotIAotICAgLy8gVE9ETyhjcmJ1Zy5jb20vMTQ4NTcx MCk6IFJlZmFjdG9yIElkZW50aXR5Q3JlZGVudGlhbFRva2VuRXJyb3IKLS0tLSBjaHJvbWl1bS0x MTkuMC42MDQ1LjU5L3VpL2Jhc2Uvd2F5bGFuZC9jb2xvcl9tYW5hZ2VyX3V0aWwuaC5ub19tYXRj aGluZ19jb25zdHJ1Y3RvcgkyMDIzLTEwLTI2IDE4OjE4OjE0LjAwMDAwMDAwMCArMDIwMAotKysr IGNocm9taXVtLTExOS4wLjYwNDUuNTkvdWkvYmFzZS93YXlsYW5kL2NvbG9yX21hbmFnZXJfdXRp bC5oCTIwMjMtMTEtMDEgMTc6Mjk6NTQuMjY5ODIwNDE1ICswMTAwCi1AQCAtNTIsNTMgKzUyLDUz IEBACitkaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L3VpL2Jhc2Uvd2F5bGFuZC9jb2xv cl9tYW5hZ2VyX3V0aWwuaC5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1bS0xMjAuMC42 MDk5LjU2L3VpL2Jhc2Uvd2F5bGFuZC9jb2xvcl9tYW5hZ2VyX3V0aWwuaAorLS0tIGNocm9taXVt LTEyMC4wLjYwOTkuNTYvdWkvYmFzZS93YXlsYW5kL2NvbG9yX21hbmFnZXJfdXRpbC5oLm5vX21h dGNoaW5nX2NvbnN0cnVjdG9yCTIwMjMtMTEtMjkgMjI6NDA6NDQuMDAwMDAwMDAwICswMTAwCisr KysgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni91aS9iYXNlL3dheWxhbmQvY29sb3JfbWFuYWdlcl91 dGlsLmgJMjAyMy0xMi0wMyAxNzozMToyNS43NTU0MjAzMjMgKzAxMDAKK0BAIC01Miw1MyArNTIs NTMgQEAgY29uc3RleHByIGF1dG8ga0Nocm9tYXRpY2l0eU1hcCA9IGJhc2U6OgogICAgICB6Y3Jf Y29sb3JfbWFuYWdlcl92MV9jaHJvbWF0aWNpdHlfbmFtZXMsCiAgICAgIFByaW1hcnlWZXJzaW9u PigKICAgICAge3taQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfQlQ2MDFf NTI1X0xJTkUsCkBAIC0zOTEsNyArNDc5LDcgQEAgZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0 NS41OS9jb250ZW50L2Jyb3dzZXIvd2ViaWQvZmVkZXJhdGVkX2F1dGhfcmVxdWVzdF9pbXAKICAK ICAvLyBBIG1hcCBmcm9tIHRoZSB6Y3JfY29sb3JfbWFuYWdlcl92MSBlb3RmX25hbWVzIGVudW0g dmFsdWVzCiAgLy8gcmVwcmVzZW50aW5nIHdlbGwta25vd24gRU9URnMsIHRvIHRoZWlyIGVxdWl2 YWxlbnQgVHJhbnNmZXJJRHMuCi1AQCAtMTA3LDY4ICsxMDcsNjggQEAKK0BAIC0xMDcsNjggKzEw Nyw2OCBAQCBjb25zdGV4cHIgYXV0byBrRW90Zk1hcCA9IGJhc2U6Ok1ha2VGaXhlCiAgICAgIHpj cl9jb2xvcl9tYW5hZ2VyX3YxX2VvdGZfbmFtZXMsCiAgICAgIFRyYW5zZmVyVmVyc2lvbj4oewog ICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19MSU5FQVIsCkBAIC00OTgsNyAr NTg2LDcgQEAgZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jb250ZW50L2Jyb3dzZXIv d2ViaWQvZmVkZXJhdGVkX2F1dGhfcmVxdWVzdF9pbXAKICB9KTsKICAKICAvLyBBIG1hcCBmcm9t IHRoZSBTRFIgemNyX2NvbG9yX21hbmFnZXJfdjEgZW90Zl9uYW1lcyBlbnVtIHZhbHVlcwotQEAg LTE3NywxOCArMTc3LDE4IEBACitAQCAtMTc3LDE4ICsxNzcsMTggQEAgY29uc3RleHByIGF1dG8g a0VvdGZNYXAgPSBiYXNlOjpNYWtlRml4ZQogIGNvbnN0ZXhwciBhdXRvIGtUcmFuc2Zlck1hcCA9 CiAgICAgIGJhc2U6Ok1ha2VGaXhlZEZsYXRNYXA8emNyX2NvbG9yX21hbmFnZXJfdjFfZW90Zl9u YW1lcywgVHJhbnNmZXJGblZlcnNpb24+KHsKICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9W MV9FT1RGX05BTUVTX0xJTkVBUiwKQEAgLTUyNCw3ICs2MTIsNyBAQCBkaWZmIC11cCBjaHJvbWl1 bS0xMTkuMC42MDQ1LjU5L2NvbnRlbnQvYnJvd3Nlci93ZWJpZC9mZWRlcmF0ZWRfYXV0aF9yZXF1 ZXN0X2ltcAogICAgICB9KTsKICAKICAvLyBBIG1hcCBmcm9tIHRoZSBIRFIgemNyX2NvbG9yX21h bmFnZXJfdjEgZW90Zl9uYW1lcyBlbnVtIHZhbHVlcwotQEAgLTE5Nyw3MCArMTk3LDcwIEBACitA QCAtMTk3LDcwICsxOTcsNzAgQEAgY29uc3RleHByIGF1dG8ga1RyYW5zZmVyTWFwID0KICBjb25z dGV4cHIgYXV0byBrSERSVHJhbnNmZXJNYXAgPQogICAgICBiYXNlOjpNYWtlRml4ZWRGbGF0TWFw PHpjcl9jb2xvcl9tYW5hZ2VyX3YxX2VvdGZfbmFtZXMsIFRyYW5zZmVyRm5WZXJzaW9uPigKICAg ICAgICAgIHt7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19MSU5FQVIsCkBAIC02Mjgs NzYgKzcxNiwyNyBAQCBkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbnRlbnQvYnJv d3Nlci93ZWJpZC9mZWRlcmF0ZWRfYXV0aF9yZXF1ZXN0X2ltcAogIAogIHpjcl9jb2xvcl9tYW5h Z2VyX3YxX2Nocm9tYXRpY2l0eV9uYW1lcyBUb0NvbG9yTWFuYWdlckNocm9tYXRpY2l0eSgKICAg ICAgZ2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQgcHJpbWFyeUlELAotQEAgLTI4Myw0ICsyODMs NCBAQAorQEAgLTI4Myw0ICsyODMsNCBAQCB6Y3JfY29sb3JfbWFuYWdlcl92MV9lb3RmX25hbWVz IFRvQ29sb3JNCiAgCiAgfSAgLy8gbmFtZXNwYWNlIHVpOjp3YXlsYW5kCiAgCiAtI2VuZGlmICAv LyBVSV9CQVNFX1dBWUxBTkRfQ09MT1JfTUFOQUdFUl9VVElMX0hfCiBcIEtlaW4gWmVpbGVudW1i cnVjaCBhbSBEYXRlaWVuZGUuCiArI2VuZGlmICAvLyBVSV9CQVNFX1dBWUxBTkRfQ09MT1JfTUFO QUdFUl9VVElMX0hfCi1kaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2Nocm9tZS9icm93 c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0X3ByZXZp b3VzbHlfZ3JhbnRlZF92aWV3LmNjLm1lIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jy b3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfcHJl dmlvdXNseV9ncmFudGVkX3ZpZXcuY2MKLS0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2Nocm9t ZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0 X3ByZXZpb3VzbHlfZ3JhbnRlZF92aWV3LmNjLm1lCTIwMjMtMTEtMDEgMjA6NDY6MTUuOTk3ODYx Mjc4ICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci91aS92 aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9wcmV2aW91c2x5X2dy YW50ZWRfdmlldy5jYwkyMDIzLTExLTAxIDIwOjQ5OjMzLjYwMzM3MTY4MCArMDEwMAotQEAgLTU4 LDEzICs1OCwxMyBAQCBFbWJlZGRlZFBlcm1pc3Npb25Qcm9tcHRQcmV2aW91c2x5R3JhbnRlCi0g c3RkOjp2ZWN0b3I8RW1iZWRkZWRQZXJtaXNzaW9uUHJvbXB0UHJldmlvdXNseUdyYW50ZWRWaWV3 OjpCdXR0b25Db25maWd1cmF0aW9uPgotIEVtYmVkZGVkUGVybWlzc2lvblByb21wdFByZXZpb3Vz bHlHcmFudGVkVmlldzo6R2V0QnV0dG9uc0NvbmZpZ3VyYXRpb24oKSB7Ci0gICBzdGQ6OnZlY3Rv cjxCdXR0b25Db25maWd1cmF0aW9uPiBidXR0b25zOwotLSAgYnV0dG9ucy5lbXBsYWNlX2JhY2so Ci0rICBidXR0b25zLmVtcGxhY2VfYmFjaygpID0gewotICAgICAgIGwxMG5fdXRpbDo6R2V0U3Ry aW5nVVRGMTYoSURTX0VNQkVEREVEX1BST01QVF9DT05USU5VRV9BTExPV0lORyksCi0tICAgICAg QnV0dG9uVHlwZTo6a0NvbnRpbnVlQWxsb3dpbmcsIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsKTsK LSsgICAgICBCdXR0b25UeXBlOjprQ29udGludWVBbGxvd2luZywgdWk6OkJ1dHRvblN0eWxlOjpr VG9uYWx9OwotIAotLSAgYnV0dG9ucy5lbXBsYWNlX2JhY2soCi0rICBidXR0b25zLmVtcGxhY2Vf YmFjaygpID0gewotICAgICAgIGwxMG5fdXRpbDo6R2V0U3RyaW5nVVRGMTYoSURTX0VNQkVEREVE X1BST01QVF9TVE9QX0FMTE9XSU5HKSwKLS0gICAgICBCdXR0b25UeXBlOjprU3RvcEFsbG93aW5n LCB1aTo6QnV0dG9uU3R5bGU6OmtUb25hbCk7Ci0rICAgICAgQnV0dG9uVHlwZTo6a1N0b3BBbGxv d2luZywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWx9OwotICAgcmV0dXJuIGJ1dHRvbnM7Ci0gfQot IAotZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci91aS92aWV3 cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9hc2tfdmlldy5jYy50aGFu IGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lv bnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfYXNrX3ZpZXcuY2MKLS0tLSBjaHJvbWl1bS0x MTkuMC42MDQ1LjU5L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVk X3Blcm1pc3Npb25fcHJvbXB0X2Fza192aWV3LmNjLnRoYW4JMjAyMy0xMS0wMSAyMDo1MjoyOS4w MDU0NjQ0OTQgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2Nocm9tZS9icm93c2Vy L3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0X2Fza192aWV3 LmNjCTIwMjMtMTEtMDEgMjE6MTQ6MTIuNzQxODU5NjA0ICswMTAwCi1AQCAtNTYsMTIgKzU2LDEy IEBAIHN0ZDo6dmVjdG9yPEVtYmVkZGVkUGVybWlzc2lvblByb21wdEFza1YKLSBFbWJlZGRlZFBl cm1pc3Npb25Qcm9tcHRBc2tWaWV3OjpHZXRCdXR0b25zQ29uZmlndXJhdGlvbigpIHsKLSAgIHN0 ZDo6dmVjdG9yPEJ1dHRvbkNvbmZpZ3VyYXRpb24+IGJ1dHRvbnM7Ci0gICBpZiAoYmFzZTo6RmVh dHVyZUxpc3Q6OklzRW5hYmxlZChwZXJtaXNzaW9uczo6ZmVhdHVyZXM6OmtPbmVUaW1lUGVybWlz c2lvbikpIHsKLS0gICAgYnV0dG9ucy5lbXBsYWNlX2JhY2soCi0rICAgIGJ1dHRvbnMuZW1wbGFj ZV9iYWNrKCkgPSB7Ci0gICAgICAgICBsMTBuX3V0aWw6OkdldFN0cmluZ1VURjE2KElEU19QRVJN SVNTSU9OX0FMTE9XX1RISVNfVElNRSksCi0tICAgICAgICBCdXR0b25UeXBlOjprQWxsb3dUaGlz VGltZSwgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwpOwotKyAgICAgICAgQnV0dG9uVHlwZTo6a0Fs bG93VGhpc1RpbWUsIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsfTsKK2RpZmYgLXVwIGNocm9taXVt LTEyMC4wLjYwOTkuNTYvdWkvZ3RrL2d0a191aS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBj aHJvbWl1bS0xMjAuMC42MDk5LjU2L3VpL2d0ay9ndGtfdWkuY2MKKy0tLSBjaHJvbWl1bS0xMjAu MC42MDk5LjU2L3VpL2d0ay9ndGtfdWkuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IJMjAyMy0x MS0yOSAyMjo0MDo0NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjAuMC42MDk5LjU2 L3VpL2d0ay9ndGtfdWkuY2MJMjAyMy0xMi0wMyAxNzozMToyNS43NTY0MjAzNDIgKzAxMDAKK0BA IC0xMDEzLDExICsxMDEzLDExIEBAIHVpOjpEaXNwbGF5Q29uZmlnIEd0a1VpOjpHZXREaXNwbGF5 Q29uZmkKKyAgICAgR2RrUmVjdGFuZ2xlIGdlb21ldHJ5OworICAgICBnZGtfbW9uaXRvcl9nZXRf Z2VvbWV0cnkobW9uaXRvciwgJmdlb21ldHJ5KTsKKyAgICAgaW50IG1vbml0b3Jfc2NhbGUgPSBz dGQ6Om1heCgxLCBnZGtfbW9uaXRvcl9nZXRfc2NhbGVfZmFjdG9yKG1vbml0b3IpKTsKKy0gICAg Y29uZmlnLmRpc3BsYXlfZ2VvbWV0cmllcy5lbXBsYWNlX2JhY2soCisrICAgIGNvbmZpZy5kaXNw bGF5X2dlb21ldHJpZXMuZW1wbGFjZV9iYWNrKCkgPSB7CisgICAgICAgICBnZng6OlJlY3QobW9u aXRvcl9zY2FsZSAqIGdlb21ldHJ5LngsIG1vbml0b3Jfc2NhbGUgKiBnZW9tZXRyeS55LAorICAg ICAgICAgICAgICAgICAgIG1vbml0b3Jfc2NhbGUgKiBnZW9tZXRyeS53aWR0aCwKKyAgICAgICAg ICAgICAgICAgICBtb25pdG9yX3NjYWxlICogZ2VvbWV0cnkuaGVpZ2h0KSwKKy0gICAgICAgIG1v bml0b3Jfc2NhbGUgKiBmb250X3NjYWxlKTsKKysgICAgICAgIHN0YXRpY19jYXN0PGZsb2F0Piht b25pdG9yX3NjYWxlICogZm9udF9zY2FsZSl9OwogICAgfQotLSAgYnV0dG9ucy5lbXBsYWNlX2Jh Y2sobDEwbl91dGlsOjpHZXRTdHJpbmdVVEYxNihJRFNfUEVSTUlTU0lPTl9BTExPVyksCi0tICAg ICAgICAgICAgICAgICAgICAgICBCdXR0b25UeXBlOjprQWxsb3csIHVpOjpCdXR0b25TdHlsZTo6 a1RvbmFsKTsKLSsgIGJ1dHRvbnMuZW1wbGFjZV9iYWNrKCkgPSB7bDEwbl91dGlsOjpHZXRTdHJp bmdVVEYxNihJRFNfUEVSTUlTU0lPTl9BTExPVyksCi0rICAgICAgICAgICAgICAgICAgICAgICBC dXR0b25UeXBlOjprQWxsb3csIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsfTsKLSAgIHJldHVybiBi dXR0b25zOwotIH0KLSAKLWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jy b3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfYmFz ZV92aWV3LmgubWUgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci91aS92aWV3 cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9iYXNlX3ZpZXcuaAotLS0t IGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lv bnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfYmFzZV92aWV3LmgubWUJMjAyMy0xMS0wMSAy MToyMjowMi4yMjI2NDY5MDMgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2Nocm9t ZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0 X2Jhc2Vfdmlldy5oCTIwMjMtMTEtMDEgMjE6MTk6NTguNzY5NjE5MzkzICswMTAwCi1AQCAtNzIs NiArNzIsNyBAQCBjbGFzcyBFbWJlZGRlZFBlcm1pc3Npb25Qcm9tcHRCYXNlVmlldyA6Ci0gICBz dHJ1Y3QgUmVxdWVzdExpbmVDb25maWd1cmF0aW9uIHsKLSAgICAgY29uc3QgcmF3X3B0cjxjb25z dCBnZng6OlZlY3Rvckljb24+IGljb247Ci0gICAgIHN0ZDo6dTE2c3RyaW5nIG1lc3NhZ2U7Ci0r ICAgIFJlcXVlc3RMaW5lQ29uZmlndXJhdGlvbihhdXRvIGksIGF1dG8gbSkgOiBpY29uKGkpLCBt ZXNzYWdlKG0pIHsgfQotICAgfTsKLSAKLSAgIHN0cnVjdCBCdXR0b25Db25maWd1cmF0aW9uIHsK LWRpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3Mv cGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfcG9saWN5X3ZpZXcuY2MudGhh biBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Np b25zL2VtYmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0X3BvbGljeV92aWV3LmNjCi0tLS0gY2hyb21p dW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJl ZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9wb2xpY3lfdmlldy5jYy50aGFuCTIwMjMtMTEtMDEgMjE6 MjU6MzEuMTE4NjI2NDczICswMTAwCi0rKysgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUv YnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9w b2xpY3lfdmlldy5jYwkyMDIzLTExLTAxIDIxOjMwOjA2LjM4MzM0MDI3NCArMDEwMAotQEAgLTQ4 LDggKzQ4LDggQEAgRW1iZWRkZWRQZXJtaXNzaW9uUHJvbXB0UG9saWN5Vmlldzo6R2V0UgotIHN0 ZDo6dmVjdG9yPEVtYmVkZGVkUGVybWlzc2lvblByb21wdFBvbGljeVZpZXc6OkJ1dHRvbkNvbmZp Z3VyYXRpb24+Ci0gRW1iZWRkZWRQZXJtaXNzaW9uUHJvbXB0UG9saWN5Vmlldzo6R2V0QnV0dG9u c0NvbmZpZ3VyYXRpb24oKSB7Ci0gICBzdGQ6OnZlY3RvcjxCdXR0b25Db25maWd1cmF0aW9uPiBi dXR0b25zOwotLSAgYnV0dG9ucy5lbXBsYWNlX2JhY2sobDEwbl91dGlsOjpHZXRTdHJpbmdVVEYx NihJRFNfRU1CRURERURfUFJPTVBUX09LX0xBQkVMKSwKLS0gICAgICAgICAgICAgICAgICAgICAg IEJ1dHRvblR5cGU6OmtQb2xpY3lPSywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwpOwotKyAgYnV0 dG9ucy5lbXBsYWNlX2JhY2soKSA9IHtsMTBuX3V0aWw6OkdldFN0cmluZ1VURjE2KElEU19FTUJF RERFRF9QUk9NUFRfT0tfTEFCRUwpLAotKyAgICAgICAgICAgICAgICAgICAgICAgQnV0dG9uVHlw ZTo6a1BvbGljeU9LLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25hbH07Ci0gICByZXR1cm4gYnV0dG9u czsKKyAgIHJldHVybiBjb25maWc7CiAgfQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL2Nocm9taXVtLTEyMC1zcGxpdC10aHJlc2hvbGQtZm9yLXJlZy13aXRoLWhpbnQu cGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLXNwbGl0LXRocmVz aG9sZC1mb3ItcmVnLXdpdGgtaGludC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAwLi5lODBlZDcxNWFhZjI5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMC1zcGxpdC10aHJlc2hvbGQtZm9yLXJlZy13aXRo LWhpbnQucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5 OS4zNS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24udGhhbiBjaHJvbWl1bS0xMjAuMC42 MDk5LjM1L2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgorLS0tIGNocm9taXVtLTEyMC4w LjYwOTkuMzUvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduLnRoYW4JMjAyMy0xMS0yNiAx NzowMjoyNS42NDcwMjI3NDYgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjAuMC42MDk5LjM1L2J1aWxk L2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgkyMDIzLTExLTI2IDE3OjE1OjU4LjAyNTU4NTM1OCAr MDEwMAorQEAgLTYxNiwyNCArNjE2LDYgQEAgY29uZmlnKCJjb21waWxlciIpIHsKKyAgICAgICB9 CisgICAgIH0KKyAKKy0gICAgIyBUT0RPKGNyYnVnLmNvbS8xNDg4Mzc0KTogVGhpcyBjYXVzZXMg YmluYXJ5IHNpemUgZ3Jvd3RoIGFuZCBwb3RlbnRpYWxseQorLSAgICAjIG90aGVyIHByb2JsZW1z LgorLSAgICAjIFRPRE8oY3JidWcuY29tLzE0OTEwMzYpOiBUaGlzIGlzbid0IHN1cHBvcnRlZCBi eSBDcm9uZXQncyBtYWlubGluZSBsbHZtIHZlcnNpb24uCistICAgIGlmIChkZWZhdWx0X3Rvb2xj aGFpbiAhPSAiLy9idWlsZC90b29sY2hhaW4vY3Jvczp0YXJnZXQiICYmCistICAgICAgICAhbGx2 bV9hbmRyb2lkX21haW5saW5lKSB7CistICAgICAgY2ZsYWdzICs9IFsKKy0gICAgICAgICItbWxs dm0iLAorLSAgICAgICAgIi1zcGxpdC10aHJlc2hvbGQtZm9yLXJlZy13aXRoLWhpbnQ9MCIsCist ICAgICAgXQorLSAgICAgIGlmICh1c2VfdGhpbl9sdG8gJiYgaXNfYV90YXJnZXRfdG9vbGNoYWlu KSB7CistICAgICAgICBpZiAoaXNfd2luKSB7CistICAgICAgICAgIGxkZmxhZ3MgKz0gWyAiLW1s bHZtOi1zcGxpdC10aHJlc2hvbGQtZm9yLXJlZy13aXRoLWhpbnQ9MCIgXQorLSAgICAgICAgfSBl bHNlIHsKKy0gICAgICAgICAgbGRmbGFncyArPSBbICItV2wsLW1sbHZtLC1zcGxpdC10aHJlc2hv bGQtZm9yLXJlZy13aXRoLWhpbnQ9MCIgXQorLSAgICAgICAgfQorLSAgICAgIH0KKy0gICAgfQor LQorICAgICAjIFRPRE8oY3JidWcuY29tLzEyMzUxNDUpOiBJbnZlc3RpZ2F0ZSB3aHkvaWYgdGhp cyBzaG91bGQgYmUgbmVlZGVkLgorICAgICBpZiAoaXNfd2luKSB7CisgICAgICAgY2ZsYWdzICs9 IFsgIi9jbGFuZzotZmZwLWNvbnRyYWN0PW9mZiIgXQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2Nocm9taXVtLTExNy10eXBlbmFtZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtdHlwZW5hbWUucGF0Y2gKc2ltaWxhcml0eSBpbmRleCA4 MyUKcmVuYW1lIGZyb20gc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExNy10eXBl bmFtZS5wYXRjaApyZW5hbWUgdG8gc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEy MC10eXBlbmFtZS5wYXRjaAppbmRleCBkM2IwMGU3MzIzNjAzLi45YTJkODc4YjEyYjU0IDEwMDY0 NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTE3LXR5cGVuYW1lLnBh dGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtdHlwZW5hbWUu cGF0Y2gKQEAgLTEsMyArMSwyMyBAQAorLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvYmFzZS9j b250YWluZXJzL21hcF91dGlsLmgubWUJMjAyMy0xMi0wMiAxOTowMDoxOS42OTY4MDE1NjMgKzAx MDAKKysrKyBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2Jhc2UvY29udGFpbmVycy9tYXBfdXRpbC5o CTIwMjMtMTItMDIgMTk6MDA6NDcuMDQ5MzM3NTQ3ICswMTAwCitAQCAtNDIsNyArNDIsNyBAQAor IHRlbXBsYXRlIDx0eXBlbmFtZSBNYXAsCisgICAgICAgICAgIHR5cGVuYW1lIEtleSwKKyAgICAg ICAgICAgdHlwZW5hbWUgTWFwcGVkRWxlbWVudFR5cGUgPQorLSAgICAgICAgICAgICAgc3RkOjpw b2ludGVyX3RyYWl0czxpbnRlcm5hbDo6TWFwcGVkVHlwZTxNYXA+Pjo6ZWxlbWVudF90eXBlPgor KyAgICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjpwb2ludGVyX3RyYWl0czxpbnRlcm5hbDo6TWFw cGVkVHlwZTxNYXA+Pjo6ZWxlbWVudF90eXBlPgorIGNvbnN0ZXhwciBjb25zdCBNYXBwZWRFbGVt ZW50VHlwZSogRmluZFB0ck9yTnVsbChjb25zdCBNYXAmIG1hcCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgS2V5JiBrZXkpIHsKKyAgIGF1 dG8gaXQgPSBtYXAuZmluZChrZXkpOworQEAgLTU4LDcgKzU4LDcgQEAKKyB0ZW1wbGF0ZSA8dHlw ZW5hbWUgTWFwLAorICAgICAgICAgICB0eXBlbmFtZSBLZXksCisgICAgICAgICAgIHR5cGVuYW1l IE1hcHBlZEVsZW1lbnRUeXBlID0KKy0gICAgICAgICAgICAgIHN0ZDo6cG9pbnRlcl90cmFpdHM8 aW50ZXJuYWw6Ok1hcHBlZFR5cGU8TWFwPj46OmVsZW1lbnRfdHlwZT4KKysgICAgICAgICAgICAg IHR5cGVuYW1lIHN0ZDo6cG9pbnRlcl90cmFpdHM8aW50ZXJuYWw6Ok1hcHBlZFR5cGU8TWFwPj46 OmVsZW1lbnRfdHlwZT4KKyBjb25zdGV4cHIgTWFwcGVkRWxlbWVudFR5cGUqIEZpbmRQdHJPck51 bGwoTWFwJiBtYXAsIGNvbnN0IEtleSYga2V5KSB7CisgICBhdXRvIGl0ID0gbWFwLmZpbmQoa2V5 KTsKKyAgIHJldHVybiBpdCAhPSBtYXAuZW5kKCkgPyBzdGQ6OnRvX2FkZHJlc3MoaXQtPnNlY29u ZCkgOiBudWxscHRyOwogZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9jaHJvbWUvYnJv d3Nlci9kb3dubG9hZC9idWJibGUvZG93bmxvYWRfYnViYmxlX3VwZGF0ZV9zZXJ2aWNlLmNjLm1l IGNocm9taXVtLTExNS4wLjU3OTAuMjQvY2hyb21lL2Jyb3dzZXIvZG93bmxvYWQvYnViYmxlL2Rv d25sb2FkX2J1YmJsZV91cGRhdGVfc2VydmljZS5jYwogLS0tIGNocm9taXVtLTExNS4wLjU3OTAu MjQvY2hyb21lL2Jyb3dzZXIvZG93bmxvYWQvYnViYmxlL2Rvd25sb2FkX2J1YmJsZV91cGRhdGVf c2VydmljZS5jYy5tZQkyMDIzLTA2LTE3IDE0OjUwOjU2LjM0MjU5MTcwMiArMDIwMAogKysrIGNo cm9taXVtLTExNS4wLjU3OTAuMjQvY2hyb21lL2Jyb3dzZXIvZG93bmxvYWQvYnViYmxlL2Rvd25s b2FkX2J1YmJsZV91cGRhdGVfc2VydmljZS5jYwkyMDIzLTA2LTE3IDE0OjU3OjQ4LjAyNDM3NzM3 NSArMDIwMApAQCAtMTYyLDMgKzE4MiwyNCBAQCBkaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41OTM4 LjYyL2NvbXBvbmVudHMvc3VwZXJ2aXNlZF91c2VyL2NvcmUvYnJvd3Nlci9wcm90b19mZQogIAog ICAgLy8gUmVtb3ZlIGZldGNoZXIgdW5kZXIga2V5IGZyb20gcmVxdWVzdHNfaW5fZmxpZ2h0Xy4K ICAgIHZvaWQgUmVtb3ZlKEtleVR5cGUga2V5KTsKK2RpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYw OTkuNTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9hc3luY19p dGVyYWJsZS5oLm1lIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvYmluZGluZ3MvY29yZS92OC9hc3luY19pdGVyYWJsZS5oCistLS0gY2hyb21pdW0tMTIw LjAuNjA5OS41Ni90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L2Fz eW5jX2l0ZXJhYmxlLmgubWUJMjAyMy0xMi0wNCAwMDoyOTozNS4xOTcyMDk1MzggKzAxMDAKKysr KyBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRp bmdzL2NvcmUvdjgvYXN5bmNfaXRlcmFibGUuaAkyMDIzLTEyLTA0IDAwOjMwOjI0LjQzNjIzMzI0 OSArMDEwMAorQEAgLTIyMCw3ICsyMjAsNyBAQCBjbGFzcyBQYWlyQXN5bmNJdGVyYWJsZSB7Cisg IHByaXZhdGU6CisgICB2aXJ0dWFsIEl0ZXJhdGlvblNvdXJjZSogQ3JlYXRlSXRlcmF0aW9uU291 cmNlKAorICAgICAgIFNjcmlwdFN0YXRlKiBzY3JpcHRfc3RhdGUsCistICAgICAgSXRlcmF0aW9u U291cmNlOjpLaW5kIGtpbmQsCisrICAgICAgdHlwZW5hbWUgSXRlcmF0aW9uU291cmNlOjpLaW5k IGtpbmQsCisgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgPSAwOworIH07 CisgCitAQCAtMjYyLDcgKzI2Miw3IEBAIGNsYXNzIFZhbHVlQXN5bmNJdGVyYWJsZSB7CisgIHBy aXZhdGU6CisgICB2aXJ0dWFsIEl0ZXJhdGlvblNvdXJjZSogQ3JlYXRlSXRlcmF0aW9uU291cmNl KAorICAgICAgIFNjcmlwdFN0YXRlKiBzY3JpcHRfc3RhdGUsCistICAgICAgSXRlcmF0aW9uU291 cmNlOjpLaW5kIGtpbmQsCisrICAgICAgdHlwZW5hbWUgSXRlcmF0aW9uU291cmNlOjpLaW5kIGtp bmQsCisgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgPSAwOworIH07Cisg CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLXdvcmth cm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtd29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9i aW5kaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmIw NmUyOWYyOTA0N2EKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Y2hyb21pdW0tMTIwLXdvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRj aApAQCAtMCwwICsxLDUxIEBACitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L21lZGlh L2Jhc2UvY2RtX3Byb21pc2VfYWRhcHRlci5jYy53b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1 cmVkX2JpbmRpbmcgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9tZWRpYS9iYXNlL2NkbV9wcm9taXNl X2FkYXB0ZXIuY2MKKy0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L21lZGlhL2Jhc2UvY2RtX3By b21pc2VfYWRhcHRlci5jYy53b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcJ MjAyMy0wNi0wNyAyMTo0ODozNy4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTUuMC41 NzkwLjI0L21lZGlhL2Jhc2UvY2RtX3Byb21pc2VfYWRhcHRlci5jYwkyMDIzLTA2LTE3IDE2OjUz OjIwLjIxNjYyODU1NyArMDIwMAorQEAgLTk0LDcgKzk0LDkgQEAgdm9pZCBDZG1Qcm9taXNlQWRh cHRlcjo6UmVqZWN0UHJvbWlzZSh1aQorIHZvaWQgQ2RtUHJvbWlzZUFkYXB0ZXI6OkNsZWFyKENs ZWFyUmVhc29uIHJlYXNvbikgeworICAgLy8gUmVqZWN0IGFsbCBvdXRzdGFuZGluZyBwcm9taXNl cy4KKyAgIERDSEVDSyh0aHJlYWRfY2hlY2tlcl8uQ2FsbGVkT25WYWxpZFRocmVhZCgpKTsKKy0g IGZvciAoYXV0byYgW3Byb21pc2VfaWQsIHByb21pc2VdIDogcHJvbWlzZXNfKSB7CisrICBmb3Ig KGF1dG8mIFtwX2ksIHBfZV0gOiBwcm9taXNlc18pIHsKKysgICAgYXV0byYgcHJvbWlzZV9pZCA9 IHBfaTsKKysgICAgYXV0byYgcHJvbWlzZSA9IHBfZTsKKyAgICAgVFJBQ0VfRVZFTlRfTkVTVEFC TEVfQVNZTkNfRU5EMSgKKyAgICAgICAgICJtZWRpYSIsICJDZG1Qcm9taXNlIiwgVFJBQ0VfSURf V0lUSF9TQ09QRSgiQ2RtUHJvbWlzZSIsIHByb21pc2VfaWQpLAorICAgICAgICAgInN0YXR1cyIs ICJjbGVhcmVkIik7CitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2NvbnRlbnQvYnJv d3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9jb250ZXh0X3dyYXBwZXIuY2MubWUg Y2hyb21pdW0tMTE1LjAuNTc5MC4zMi9jb250ZW50L2Jyb3dzZXIvc2VydmljZV93b3JrZXIvc2Vy dmljZV93b3JrZXJfY29udGV4dF93cmFwcGVyLmNjCistLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4z Mi9jb250ZW50L2Jyb3dzZXIvc2VydmljZV93b3JrZXIvc2VydmljZV93b3JrZXJfY29udGV4dF93 cmFwcGVyLmNjLm1lCTIwMjMtMDYtMTkgMDg6MDQ6MDIuMjg3MDcyNzIyICswMjAwCisrKysgY2hy b21pdW0tMTE1LjAuNTc5MC4zMi9jb250ZW50L2Jyb3dzZXIvc2VydmljZV93b3JrZXIvc2Vydmlj ZV93b3JrZXJfY29udGV4dF93cmFwcGVyLmNjCTIwMjMtMDYtMTkgMDg6MTg6MjQuNTc2ODE0OTUw ICswMjAwCitAQCAtMTM5Myw3ICsxMzkzLDggQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGV4dFdy YXBwZXI6Ok1heWJlUAorICAgICByZXR1cm47CisgICB9CisgCistICBhdXRvIFtkb2N1bWVudF91 cmwsIGtleSwgY2FsbGJhY2tdID0gc3RkOjptb3ZlKCpyZXF1ZXN0KTsKKysgIGF1dG8gW2RfdSwg a2V5LCBjYWxsYmFja10gPSBzdGQ6Om1vdmUoKnJlcXVlc3QpOworKyAgYXV0byBkb2N1bWVudF91 cmwgPSBkX3U7CisgCisgICBEQ0hFQ0soZG9jdW1lbnRfdXJsLmlzX3ZhbGlkKCkpOworICAgVFJB Q0VfRVZFTlQxKCJTZXJ2aWNlV29ya2VyIiwKK2RpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYwOTku NTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvZ3JpZC9ncmlkX2xheW91 dF9hbGdvcml0aG0uY2MubWUgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9jb3JlL2xheW91dC9ncmlkL2dyaWRfbGF5b3V0X2FsZ29yaXRobS5jYworLS0t IGNocm9taXVtLTEyMC4wLjYwOTkuNTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9s YXlvdXQvZ3JpZC9ncmlkX2xheW91dF9hbGdvcml0aG0uY2MubWUJMjAyMy0xMi0wMyAyMjoxNzo1 MC45MjIwODMyMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L2dyaWQvZ3JpZF9sYXlvdXRfYWxnb3JpdGhtLmNj CTIwMjMtMTItMDMgMjI6MjI6NTUuNDM3NDg0MzQzICswMTAwCitAQCAtMzQ0Nyw3ICszNDQ3LDgg QEAgdm9pZCBHcmlkTGF5b3V0QWxnb3JpdGhtOjpQbGFjZUdyaWRJdGVtcworICAgRENIRUNLKG91 dF9yb3dfYnJlYWtfYmV0d2Vlbik7CisgCisgICBjb25zdCBhdXRvJiBjb250YWluZXJfc3BhY2Ug PSBDb25zdHJhaW50U3BhY2UoKTsKKy0gIGNvbnN0IGF1dG8mIFtncmlkX2l0ZW1zLCBsYXlvdXRf ZGF0YSwgdHJlZV9zaXplXSA9IHNpemluZ190cmVlLlRyZWVSb290RGF0YSgpOworKyAgY29uc3Qg YXV0byYgW2dyaWRfaXRlbXMsIGxfZCwgdHJlZV9zaXplXSA9IHNpemluZ190cmVlLlRyZWVSb290 RGF0YSgpOworKyAgY29uc3QgYXV0byYgbGF5b3V0X2RhdGEgPSBsX2Q7CisgCisgICBjb25zdCBh dXRvKiBjYWNoZWRfbGF5b3V0X3N1YnRyZWUgPSBjb250YWluZXJfc3BhY2UuR2V0R3JpZExheW91 dFN1YnRyZWUoKTsKKyAgIGNvbnN0IGF1dG8gY29udGFpbmVyX3dyaXRpbmdfZGlyZWN0aW9uID0K K0BAIC0zNjExLDcgKzM2MTIsOSBAQCB2b2lkIEdyaWRMYXlvdXRBbGdvcml0aG06OlBsYWNlR3Jp ZEl0ZW1zCisgCisgICAvLyBUT0RPKGlraWxwYXRyaWNrKTogVXBkYXRlIHxTZXRIYXNTZWVuQWxs Q2hpbGRyZW58IGFuZCBlYXJseSBleGl0IGlmIHRydWUuCisgICBjb25zdCBhdXRvJiBjb25zdHJh aW50X3NwYWNlID0gQ29uc3RyYWludFNwYWNlKCk7CistICBjb25zdCBhdXRvJiBbZ3JpZF9pdGVt cywgbGF5b3V0X2RhdGEsIHRyZWVfc2l6ZV0gPSBzaXppbmdfdHJlZS5UcmVlUm9vdERhdGEoKTsK KysgIGNvbnN0IGF1dG8mIFtnX2ksIGxfZCwgdHJlZV9zaXplXSA9IHNpemluZ190cmVlLlRyZWVS b290RGF0YSgpOworKyAgY29uc3QgYXV0byYgZ3JpZF9pdGVtcyA9IGdfaTsKKysgIGNvbnN0IGF1 dG8mIGxheW91dF9kYXRhID0gbF9kOworIAorICAgY29uc3QgYXV0byogY2FjaGVkX2xheW91dF9z dWJ0cmVlID0gY29uc3RyYWludF9zcGFjZS5HZXRHcmlkTGF5b3V0U3VidHJlZSgpOworICAgY29u c3QgYXV0byBjb250YWluZXJfd3JpdGluZ19kaXJlY3Rpb24gPQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1hYXJjaDY0LW11c2wtbWVtb3J5LXRhZ2dpbmctbWFjcm9z LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1hYXJjaDY0LW11c2wtbWVtb3J5 LXRhZ2dpbmctbWFjcm9zLnBhdGNoCmluZGV4IGFmY2RhZTE3OTg1MGEuLmIzZGQyYzMzZjBmMjEg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtYWFyY2g2NC1tdXNsLW1l bW9yeS10YWdnaW5nLW1hY3Jvcy5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Zml4LWFhcmNoNjQtbXVzbC1tZW1vcnktdGFnZ2luZy1tYWNyb3MucGF0Y2gKQEAgLTEsNSArMSw1 IEBACi0tLS0gYS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3RhZ2dpbmcuY2MK LSsrKyBiL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvdGFnZ2luZy5jYworLS0t IGEvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zcmMvcGFydGl0aW9uX2FsbG9j L3RhZ2dpbmcuY2MKKysrKyBiL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3Jj L3BhcnRpdGlvbl9hbGxvYy90YWdnaW5nLmNjCiBAQCAtMjgsMTMgKzI4LDI1IEBACiAgI2VuZGlm CiAgI2VuZGlmCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbXVzbC1uby1l eGVjaW5mby5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9tdXNsLW5vLWV4ZWNpbmZv LnBhdGNoCmluZGV4IGZhYzJiNmQxOTBlNzguLjc0MDdmMWI5ZGIzOGEgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9tdXNsLW5vLWV4ZWNpbmZvLnBhdGNoCisrKyBiL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9tdXNsLW5vLWV4ZWNpbmZvLnBhdGNoCkBAIC04MywxMiArODMs MyBAQCBmb3IgZGlzY3Vzc2lvbiBhYm91dCB0aGlzLCBzZWUgaHR0cHM6Ly93d3cub3BlbndhbGwu Y29tL2xpc3RzL211c2wvMjAyMS8wNy8xNi8xCiAgLy8gU3RhY2tUcmFjZTo6T3V0cHV0VG9TdHJl YW0oKSBpcyBub3QgaW1wbGVtZW50ZWQgdW5kZXIgdWNsaWJjLCBub3IgQUlYLgogIC8vIFNlZSBo dHRwczovL2NyYnVnLmNvbS83MDY3MjgKICAKLUBAIC0xNTYsNyArMTU2LDcgQEAKLSAKLSAjZW5k aWYgIC8vICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCi0gCi0tI2lmIEJV SUxERkxBRyhJU19QT1NJWCkgJiYgIUJVSUxERkxBRyhJU19BTkRST0lEKQotKyNpZiAoQlVJTERG TEFHKElTX1BPU0lYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpICYmICFCVUlMREZMQUcoSVNfQU5E Uk9JRCkKLSAjaWYgIUJVSUxERkxBRyhJU19JT1MpCi0gc3RhdGljIGNoYXIqIG5ld0FycmF5KCkg ewotICAgLy8gQ2xhbmcgd2FybnMgYWJvdXQgdGhlIG1pc21hdGNoZWQgbmV3W10vZGVsZXRlIGlm IHRoZXkgb2NjdXIgaW4gdGhlIHNhbWUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9tdXNsLW5vLW1hbGxpbmZvLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL211 c2wtbm8tbWFsbGluZm8ucGF0Y2gKaW5kZXggY2Q3MjhlY2ZiMTEyZC4uYTU4ZWUwOGE0MzVhMCAx MDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL211c2wtbm8tbWFsbGluZm8ucGF0 Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL211c2wtbm8tbWFsbGluZm8ucGF0Y2gK QEAgLTEwMSw4ICsxMDEsOCBAQCBtdXNsIGRvZXMgbm90IGltcGxlbWVudCBtYWxsaW5mbygpL21h bGxpbmZvMigpCiAgCiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxtYWxsb2MuaD4g aGVhZGVyIGZpbGUuICovCiAgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKLS0tLSBhL2Jhc2UvYWxs b2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc2hpbS9hbGxvY2F0b3Jfc2hpbV9kZWZhdWx0X2Rp c3BhdGNoX3RvX3BhcnRpdGlvbl9hbGxvYy5jYwotKysrIGIvYmFzZS9hbGxvY2F0b3IvcGFydGl0 aW9uX2FsbG9jYXRvci9zaGltL2FsbG9jYXRvcl9zaGltX2RlZmF1bHRfZGlzcGF0Y2hfdG9fcGFy dGl0aW9uX2FsbG9jLmNjCistLS0gYS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9y L3NyYy9wYXJ0aXRpb25fYWxsb2Mvc2hpbS9hbGxvY2F0b3Jfc2hpbV9kZWZhdWx0X2Rpc3BhdGNo X3RvX3BhcnRpdGlvbl9hbGxvYy5jYworKysrIGIvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2Fs bG9jYXRvci9zcmMvcGFydGl0aW9uX2FsbG9jL3NoaW0vYWxsb2NhdG9yX3NoaW1fZGVmYXVsdF9k aXNwYXRjaF90b19wYXJ0aXRpb25fYWxsb2MuY2MKIEBAIC03MTcsNyArNzE3LDcgQEAKICAKICAj ZW5kaWYgIC8vICFCVUlMREZMQUcoSVNfQVBQTEUpICYmICFCVUlMREZMQUcoSVNfQU5EUk9JRCkK QEAgLTExMiw4ICsxMTIsOCBAQCBtdXNsIGRvZXMgbm90IGltcGxlbWVudCBtYWxsaW5mbygpL21h bGxpbmZvMigpCiAgU0hJTV9BTFdBWVNfRVhQT1JUIHN0cnVjdCBtYWxsaW5mbyBtYWxsaW5mbyh2 b2lkKSBfX1RIUk9XIHsKICAgIGJhc2U6OlNpbXBsZVBhcnRpdGlvblN0YXRzRHVtcGVyIGFsbG9j YXRvcl9kdW1wZXI7CiAgICBBbGxvY2F0b3IoKS0+RHVtcFN0YXRzKCJtYWxsb2MiLCB0cnVlLCAm YWxsb2NhdG9yX2R1bXBlcik7Ci0tLS0gYS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2Nh dG9yL3NoaW0vYWxsb2NhdG9yX3NoaW1fZGVmYXVsdF9kaXNwYXRjaF90b19wYXJ0aXRpb25fYWxs b2NfdW5pdHRlc3QuY2MKLSsrKyBiL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Iv c2hpbS9hbGxvY2F0b3Jfc2hpbV9kZWZhdWx0X2Rpc3BhdGNoX3RvX3BhcnRpdGlvbl9hbGxvY191 bml0dGVzdC5jYworLS0tIGEvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9zcmMv cGFydGl0aW9uX2FsbG9jL3NoaW0vYWxsb2NhdG9yX3NoaW1fZGVmYXVsdF9kaXNwYXRjaF90b19w YXJ0aXRpb25fYWxsb2NfdW5pdHRlc3QuY2MKKysrKyBiL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlv bl9hbGxvY2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxvYy9zaGltL2FsbG9jYXRvcl9zaGltX2RlZmF1 bHRfZGlzcGF0Y2hfdG9fcGFydGl0aW9uX2FsbG9jX3VuaXR0ZXN0LmNjCiBAQCAtMjQsNyArMjQs NyBAQAogICNpZiBCVUlMREZMQUcoVVNFX1BBUlRJVElPTl9BTExPQ19BU19NQUxMT0MpCiAgCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbXVzbC1wYXJ0aXRpb24tYXRmb3Jr LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL211c2wtcGFydGl0aW9uLWF0Zm9yay5w YXRjaAppbmRleCAyOTEwYWEyYmJmOWIxLi4zNWQ4MTAwNTVmYmI1IDEwMDY0NAotLS0gYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvbXVzbC1wYXJ0aXRpb24tYXRmb3JrLnBhdGNoCisrKyBiL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9tdXNsLXBhcnRpdGlvbi1hdGZvcmsucGF0Y2gKQEAgLTEs NSArMSw1IEBACi0tLS0gYS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRp dGlvbl9yb290LmNjCi0rKysgYi9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3Bh cnRpdGlvbl9yb290LmNjCistLS0gYS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9y L3NyYy9wYXJ0aXRpb25fYWxsb2MvcGFydGl0aW9uX3Jvb3QuY2MKKysrKyBiL2Jhc2UvYWxsb2Nh dG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxvYy9wYXJ0aXRpb25fcm9v dC5jYwogQEAgLTIzOSw3ICsyMzksNyBAQAogICAgaWYgKCFnX2dsb2JhbF9pbml0X2NhbGxlZC5j b21wYXJlX2V4Y2hhbmdlX3N0cm9uZyhleHBlY3RlZCwgdHJ1ZSkpCiAgICAgIHJldHVybjsKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1tdGUucGF0Y2ggYi9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvbm8tbXRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCA1NjE2N2UxZTVjNTc2Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9uby1tdGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi0tLS0g YS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY19jb25m aWcuaAotKysrIGIvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25f YWxsb2NfY29uZmlnLmgKLUBAIC0xNTMsNyArMTUzLDcgQEAKLSAgICBkZWZpbmVkKEFSQ0hfQ1BV X0xJVFRMRV9FTkRJQU4pKQotIAotICNkZWZpbmUgUEFfQ09ORklHX0hBU19NRU1PUllfVEFHR0lO RygpICAgICAgICAgICAgICBcCi0tICAoZGVmaW5lZChBUkNIX0NQVV9BUk02NCkgJiYgZGVmaW5l ZChfX2NsYW5nX18pICYmIFwKLSsgICgwICYmIGRlZmluZWQoQVJDSF9DUFVfQVJNNjQpICYmIGRl ZmluZWQoX19jbGFuZ19fKSAmJiBcCi0gICAgIWRlZmluZWQoQUREUkVTU19TQU5JVElaRVIpICYm ICAgICAgICAgICAgICAgICAgIFwKLSAgICAoQlVJTERGTEFHKElTX0xJTlVYKSB8fCBCVUlMREZM QUcoSVNfQU5EUk9JRCkpKQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0 ZSBiL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKaW5kZXggYjAyMzk0NmYzZWM3Yi4uNjdjMjJk OGM5ZjViYSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL2Nocm9taXVtL3RlbXBsYXRlCkBAIC0xLDggKzEsOCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnY2hyb21pdW0nCiBwa2duYW1lPWNocm9taXVtCiAjIFNlZSBodHRwczovL2Nocm9taXVtZGFz aC5hcHBzcG90LmNvbS9yZWxlYXNlcz9wbGF0Zm9ybT1MaW51eCBmb3IgdGhlIGxhdGVzdCB2ZXJz aW9uCi12ZXJzaW9uPTExOS4wLjYwNDUuMTA1Ci1yZXZpc2lvbj0zCit2ZXJzaW9uPTEyMC4wLjYw OTkuMTA5CityZXZpc2lvbj0xCiBhcmNocz0iaTY4NiogeDg2XzY0KiBhYXJjaDY0KiBhcm12N2wq IgogaG9zdG1ha2VkZXBlbmRzPSIKICAkKHZvcHRfaWYgY2xhbmcgImNsYW5nIGxsZCBsbHZtMTUi KQpAQCAtMTAsMTIgKzEwLDEyIEBAIGhvc3RtYWtlZGVwZW5kcz0iCiAgbGliZXBveHktZGV2ZWwg bGliZXZlbnQtZGV2ZWwgbGliZ2xpYi1kZXZlbCIKIG1ha2VkZXBlbmRzPSIKICBhbHNhLWxpYi1k ZXZlbCBsaWJkYXYxZC1kZXZlbCBicm90bGktZGV2ZWwgY3Vwcy1kZXZlbCBlbGZ1dGlscy1kZXZl bCBmZm1wZWctZGV2ZWwKLSBmb250Y29uZmlnLWRldmVsIGZyZWV0eXBlLWRldmVsIGd0ayszLWRl dmVsIGpzb25jcHAtZGV2ZWwgbGliWFNjcm5TYXZlci1kZXZlbAorIGZvbnRjb25maWctZGV2ZWwg ZnJlZXR5cGUtZGV2ZWwgZ3RrKzMtZGV2ZWwgbGliWFNjcm5TYXZlci1kZXZlbAogIGxpYlhjb21w b3NpdGUtZGV2ZWwgbGliWGN1cnNvci1kZXZlbCBsaWJYZGFtYWdlLWRldmVsIGxpYlhpLWRldmVs IGxpYlhyYW5kci1kZXZlbAogIGxpYmF2aWYtZGV2ZWwgbGliY2FwLWRldmVsIGxpYmN1cmwtZGV2 ZWwgbGliZHJtLWRldmVsIGxpYmV2ZW50LWRldmVsCiAgbGliZXhpZi1kZXZlbCBsaWJmbGFjLWRl dmVsIGxpYmdjcnlwdC1kZXZlbCBsaWJqcGVnLXR1cmJvLWRldmVsIGxpYm10cC1kZXZlbAogIGxp YnBuZy1kZXZlbCBsaWJ2YS1kZXZlbCBsaWJ3ZWJwLWRldmVsIGxpYnhtbDItZGV2ZWwgbGlieHNo bWZlbmNlLWRldmVsCi0gbGlieHNsdC1kZXZlbCB3b2ZmMi1kZXZlbCBtaW5pemlwLWRldmVsIG1p dC1rcmI1LWRldmVsIG5zcy1kZXZlbCBvcHVzLWRldmVsCisgbGlieHNsdC1kZXZlbCBtaW5pemlw LWRldmVsIG1pdC1rcmI1LWRldmVsIG5zcy1kZXZlbCBvcHVzLWRldmVsCiAgcGNpdXRpbHMtZGV2 ZWwgc25hcHB5LWRldmVsIHNwZWVjaC1kaXNwYXRjaGVyLWRldmVsIHNwZWV4LWRldmVsCiAgeGNi LXByb3RvIHpsaWItZGV2ZWwgbGliYW9tLWRldmVsIGxpYmZmaS1kZXZlbCBsaWJldmRldi1kZXZl bAogICQodm9wdF9pZiBwaXBld2lyZSBwaXBld2lyZS1kZXZlbCkKQEAgLTI3LDEzICsyNywxNCBA QCBtYWludGFpbmVyPSJEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0i QlNELTMtQ2xhdXNlIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LmNocm9taXVtLm9yZy8iCiBkaXN0 ZmlsZXM9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vY2hyb21pdW0t YnJvd3Nlci1vZmZpY2lhbC8ke3BrZ25hbWV9LSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09 NzNjYjhjMzllOTI4ZjhjNjI3ZDc0N2QzN2EzYjAyMGYwODkxM2VmNTUwOGY4OTM3NThkNzBiZGJk NTQ1ZGJjZgorY2hlY2tzdW09ODdjMDBjNTI1ZWUwN2MyMjMzYjc4ZGJlY2UxNDk2YjY5N2Y2ODYy NDRhNjdmYWMyYzcxZTRhMzBiZDk2ODQ5YgogCiBsaWIzMmRpc2FibGVkPXllcwogCi1idWlsZF9v cHRpb25zPSJjbGFuZyBkZWJ1ZyB2YWFwaSBwdWxzZWF1ZGlvIHNuZGlvIHBpcGV3aXJlIgotYnVp bGRfb3B0aW9uc19kZWZhdWx0PSJjbGFuZyB2YWFwaSBwdWxzZWF1ZGlvIHBpcGV3aXJlIgorYnVp bGRfb3B0aW9ucz0iY2xhbmcgbGliY3h4IGRlYnVnIHZhYXBpIHB1bHNlYXVkaW8gc25kaW8gcGlw ZXdpcmUiCitidWlsZF9vcHRpb25zX2RlZmF1bHQ9ImNsYW5nIGxpYmN4eCB2YWFwaSBwdWxzZWF1 ZGlvIHBpcGV3aXJlIgogZGVzY19vcHRpb25fY2xhbmc9IlVzZSBjbGFuZyB0byBidWlsZCIKK2Rl c2Nfb3B0aW9uX2xpYmN4eD0iVXNlIGJ1bmRsZWQgbGliYysrIgogZGVzY19vcHRpb25fZGVidWc9 IkJ1aWxkIHdpdGggZGVidWcgc3ltYm9scyIKIGRlc2Nfb3B0aW9uX3BpcGV3aXJlPSJFbmFibGUg c3VwcG9ydCBmb3Igc2NyZWVuIHNoYXJpbmcgZm9yIFdlYlJUQyB2aWEgUGlwZVdpcmUiCiAKQEAg LTUyLDcgKzUzLDcgQEAgaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJICQodm9wdF9pZiBw aXBld2lyZSBwaXBld2lyZS1kZXZlbCkgZmZtcGVnLWRldmVsIG9wdXMtZGV2ZWwgcGFuZ28tZGV2 ZWwgbGlidmEtZGV2ZWwKIAkgbGliY3VybC1kZXZlbCBzbmFwcHktZGV2ZWwgbGliWHJhbmRyLWRl dmVsIGxpYlhjb21wb3NpdGUtZGV2ZWwgY3Vwcy1kZXZlbAogCSBtaXQta3JiNS1kZXZlbCBhbHNh LWxpYi1kZXZlbCBsaWJYZGFtYWdlLWRldmVsIGxpYmVwb3h5LWRldmVsIGxpYmV2ZGV2LWRldmVs Ci0JIGxpYmF2aWYtZGV2ZWwgbGliYW9tLWRldmVsIGpzb25jcHAtZGV2ZWwgd29mZjItZGV2ZWwg bGliZGF2MWQtZGV2ZWwgbGliZmxhYy1kZXZlbAorCSBsaWJhdmlmLWRldmVsIGxpYmFvbS1kZXZl bCBsaWJkYXYxZC1kZXZlbCBsaWJmbGFjLWRldmVsCiAJIGxpYmRybS1kZXZlbCBsaWJnYm0tZGV2 ZWwiCiBmaQogCkBAIC04Miw2ICs4Myw5IEBAIHBvc3RfcGF0Y2goKSB7CiAJIyBhbGxvdyBzeXN0 ZW0gZGVwZW5kZW5jaWVzIGluICJvZmZpY2lhbCBidWlsZHMiCiAJdnNlZCAtaSAncy9PRkZJQ0lB TF9CVUlMRC9HT09HTEVfQ0hST01FX0JVSUxELycgXAogCQl0b29scy9nZW5lcmF0ZV9zaGltX2hl YWRlcnMvZ2VuZXJhdGVfc2hpbV9oZWFkZXJzLnB5CisKKwlta2RpciAtcCB0aGlyZF9wYXJ0eS9u b2RlL2xpbnV4L25vZGUtbGludXgteDY0L2JpbgorCWxuIC1zIC91c3IvYmluL25vZGUgdGhpcmRf cGFydHkvbm9kZS9saW51eC9ub2RlLWxpbnV4LXg2NC9iaW4vCiB9CiAKIF9zZXR1cF9jbGFuZygp IHsKQEAgLTEwMCw3ICsxMDQsNyBAQCBfc2V0dXBfY2xhbmcoKSB7CiAJZXhwb3J0IEJVSUxEX05N PWxsdm0tbm0KIAlleHBvcnQgQlVJTERfQ0ZMQUdTPSItV25vLXVua25vd24td2FybmluZy1vcHRp b24iCiAJZXhwb3J0IEJVSUxEX0NYWEZMQUdTPSItV25vLXVua25vd24td2FybmluZy1vcHRpb24i Ci0JaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJaWYgW1sgLW4gIiRDUk9TU19CVUlMRCIg JiYgLXogIiRidWlsZF9vcHRpb25fbGliY3h4IiBdXTsgdGhlbgogCQlDRkxBR1MrPSIgLS1nY2Mt dG9vbGNoYWluPS91c3IiCiAJCUNGTEFHUys9IiAtLXN5c3Jvb3Q9JHtYQlBTX0NST1NTX0JBU0V9 IgogCQlDRkxBR1MrPSIgLW5vc3RkaW5jIgpAQCAtMTQ0LDYgKzE0OCw4IEBAIGRvX2NvbmZpZ3Vy ZSgpIHsKIAkjIHVzZV9zeXN0ZW1fdjg9MQogCSMgYnppcDIgeGRnX3V0aWxzIHNwZWV4CiAJIyBY WFg6IGhhcmZidXp6LW5nIHVzZSBidWlsdGluIG9uZSB1bnRpbCBzeXN0ZW0td2lkZSBpcyB1cGRh dGVkID49My4wLjAKKwkjIGxpYmN4eCBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2pl Y3QvaXNzdWVzLzYxNzA1OgorCSMgc25hcHB5CiAJc3lzdGVtPSIKIAkJZmZtcGVnCiAJCWZsYWMK QEAgLTE1Nyw3ICsxNjMsNiBAQCBkb19jb25maWd1cmUoKSB7CiAJCWxpYnhtbAogCQlsaWJ4c2x0 CiAJCW9wdXMKLQkJc25hcHB5CiAJIgogCiAJIyByZW1vdmUgYnVpbGQgc2NyaXB0cyBmb3Igc3lz dGVtIHByb3ZpZGVkIGRlcGVuZGVuY2llcyAtIGJhc2ljYWxseSBkb2VzIHRoZQpAQCAtMTkyLDcg KzE5Nyw3IEBAIGRvX2NvbmZpZ3VyZSgpIHsKIAkJJ2NsYW5nX2Jhc2VfcGF0aD0iL3VzciInCiAK IAkJImdvbGRfcGF0aD1cIiR7WEJQU19DUk9TU19CQVNFfS91c3IvYmluL2xkLmdvbGRcIiIKLQkJ J3VzZV9jdXN0b21fbGliY3h4PWZhbHNlJworCQkidXNlX2N1c3RvbV9saWJjeHg9JCh2b3B0X2lm IGxpYmN4eCB0cnVlIGZhbHNlKSIgIyBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2pl Y3QvaXNzdWVzLzYxNzA1CiAJCSd1c2VfZ29sZD1mYWxzZScKIAogCQkncnVzdF9zeXNyb290X2Fi c29sdXRlPSIvdXNyIicKQEAgLTMwNCw3ICszMDksNiBAQCBkb19pbnN0YWxsKCkgewogCXZta2Rp ciB1c3IvbGliL2Nocm9taXVtL2xvY2FsZXMKIAl2Y29weSAib3V0L1JlbGVhc2UvbG9jYWxlcy8q LnBhayIgdXNyL2xpYi9jaHJvbWl1bS9sb2NhbGVzCiAKLQl2aW5zdGFsbCAke0ZJTEVTRElSfS9j aHJvbWl1bS5kZXNrdG9wIDY0NCB1c3Ivc2hhcmUvYXBwbGljYXRpb25zCiAKIAl2aW5zdGFsbCBv dXQvUmVsZWFzZS9pY3VkdGwuZGF0IDA2NDQgdXNyL2xpYi9jaHJvbWl1bQogCkBAIC0zMjIsNCAr MzI2LDE0IEBAIGRvX2luc3RhbGwoKSB7CiAJdmJpbiAke0ZJTEVTRElSfS9jaHJvbWl1bS5zaCBj aHJvbWl1bQogCXZsaWNlbnNlIExJQ0VOU0UKIAlsbiAtc2YgL3Vzci9saWIvY2hyb21pdW0vY2hy b21lZHJpdmVyICR7REVTVERJUn0vdXNyL2Jpbi9jaHJvbWVkcml2ZXIKKworCXZpbnN0YWxsIGNo cm9tZS9pbnN0YWxsZXIvbGludXgvY29tbW9uL2Rlc2t0b3AudGVtcGxhdGUgNjQ0IHVzci9zaGFy ZS9hcHBsaWNhdGlvbnMgY2hyb21pdW0uZGVza3RvcAorCXZtYW4gY2hyb21lL2FwcC9yZXNvdXJj ZXMvbWFucGFnZS4xLmluIGNocm9taXVtLjEKKworCXNlZCAtaSBcCisJCS1lICdzL0BATUVOVU5B TUVAQC9DaHJvbWl1bS9nJyBcCisJCS1lICdzL0BAUEFDS0FHRUBAL2Nocm9taXVtL2cnIFwKKwkJ LWUgJ3MvQEBVU1JfQklOX1NZTUxJTktfTkFNRUBAL2Nocm9taXVtL2cnIFwKKwkJJHtERVNURElS fS91c3Ivc2hhcmUvbWFuL21hbjEvY2hyb21pdW0uMSBcCisJCSR7REVTVERJUn0vdXNyL3NoYXJl L2FwcGxpY2F0aW9ucy9jaHJvbWl1bS5kZXNrdG9wCiB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2No cm9taXVtL3VwZGF0ZSBiL3NyY3BrZ3MvY2hyb21pdW0vdXBkYXRlCmluZGV4IGMwMzVhOGZlMWMz YjMuLmFmNDI4NjcyNzU0ODggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vdXBkYXRlCisr KyBiL3NyY3BrZ3MvY2hyb21pdW0vdXBkYXRlCkBAIC0xLDIgKzEsMiBAQAotc2l0ZT0naHR0cHM6 Ly9vbWFoYXByb3h5LmFwcHNwb3QuY29tL2FsbCcKLXBhdHRlcm49J2xpbnV4LHN0YWJsZSxcS1te LF0qJworc2l0ZT0naHR0cHM6Ly9jaHJvbWl1bWRhc2guYXBwc3BvdC5jb20vZmV0Y2hfcmVsZWFz ZXM/Y2hhbm5lbD1TdGFibGUmcGxhdGZvcm09TGludXgmbnVtPTEmb2Zmc2V0PTAnCitwYXR0ZXJu PScidmVyc2lvbiI6XHMqIlxLW14sXSsoPz0iKScKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZGlzY29y ZC1wdGIvdGVtcGxhdGUgYi9zcmNwa2dzL2Rpc2NvcmQtcHRiL3RlbXBsYXRlCmluZGV4IGQ5Njhj Y2Y3Yzc0MzguLjMyMzRkNGQ4OTMxODAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZGlzY29yZC1wdGIv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9kaXNjb3JkLXB0Yi90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Rpc2NvcmQtcHRiJwogcGtnbmFtZT1kaXNjb3JkLXB0 YgotdmVyc2lvbj0wLjAuNTkKK3ZlcnNpb249MC4wLjYwCiByZXZpc2lvbj0xCiBhcmNocz0ieDg2 XzY0IgogZGVwZW5kcz0iYWxzYS1saWIgZGJ1cy1nbGliIGd0ayszIGxpYm5vdGlmeSBuc3MgbGli WHRzdCBsaWJjeHggbGliYXRvbWljCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWluZXI9IjB4NWMg PGRldkAweDVjLmlvPiIKIGxpY2Vuc2U9ImN1c3RvbTpQcm9wcmlldGFyeSIKIGhvbWVwYWdlPSJo dHRwczovL2Rpc2NvcmQuY29tLyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9kbC1wdGIuZGlzY29yZGFw cC5uZXQvYXBwcy9saW51eC8ke3ZlcnNpb259L2Rpc2NvcmQtcHRiLSR7dmVyc2lvbn0udGFyLmd6 IgotY2hlY2tzdW09NWExMGM0YzkxMzIzYmIyZDllZDRkZTc1YjU0OGY3YmZkZWQ4ZDJhNTlhNmMy MTRmNGUxNjllODVhNzU3MTU2YgorY2hlY2tzdW09ODRkODQ0MmMyOTZiOWVhNmNjOTIzN2Q0ZWM0 ODE1NDA1ZWJmMjU3Nzg5ZGUwMjljNWU4NGI4Yjc4ZTZhOGM1NQogbm9waWU9eWVzCiByZXN0cmlj dGVkPXllcwogcmVwb3NpdG9yeT1ub25mcmVlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2hleHlsL3Rl bXBsYXRlIGIvc3JjcGtncy9oZXh5bC90ZW1wbGF0ZQppbmRleCA0OGJlMzVkYTE1MzBhLi44MzQ3 NDM5NjZkZjNkIDEwMDY0NAotLS0gYS9zcmNwa2dzL2hleHlsL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvaGV4eWwvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdo ZXh5bCcKIHBrZ25hbWU9aGV4eWwKLXZlcnNpb249MC4xMy4xCit2ZXJzaW9uPTAuMTQuMAogcmV2 aXNpb249MQogYnVpbGRfc3R5bGU9Y2FyZ28KIHNob3J0X2Rlc2M9IkNvbW1hbmQtbGluZSBoZXgg dmlld2VyIgpAQCAtOSw3ICs5LDcgQEAgbGljZW5zZT0iQXBhY2hlLTIuMCwgTUlUIgogaG9tZXBh Z2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9zaGFya2RwL2hleHlsIgogY2hhbmdlbG9nPSJodHRwczov L3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vc2hhcmtkcC9oZXh5bC9tYXN0ZXIvQ0hBTkdFTE9H Lm1kIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vc2hhcmtkcC9oZXh5bC9hcmNoaXZl L3Yke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPWE0YjMwMDlhYTcyMTBmN2Q4MGY5MWQ2YjAx NTQzZDE1NDQ1ODZjNDUwOTI0N2YwMWUwMjhmMWE1Njc4MTA1NmQKK2NoZWNrc3VtPTUyMDVmYTFh NDgzYzY2OTk3ZjVhNzE3OWNkZDFhMjc3ZWJiNWUwYTc0M2JiMjY5YTk2MmQyMGIyOWRkNzM1ZjgK IAogcG9zdF9pbnN0YWxsKCkgewogCXZsaWNlbnNlIExJQ0VOU0UtTUlUCmRpZmYgLS1naXQgYS9z cmNwa2dzL2hvcml6b24vdGVtcGxhdGUgYi9zcmNwa2dzL2hvcml6b24vdGVtcGxhdGUKaW5kZXgg OTdlZDczN2MyYzU2MS4uNDdkNjgxZjY2ZDc1YiAxMDA2NDQKLS0tIGEvc3JjcGtncy9ob3Jpem9u L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvaG9yaXpvbi90ZW1wbGF0ZQpAQCAtMSwxNCArMSwxNCBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnaG9yaXpvbicKIHBrZ25hbWU9aG9yaXpvbgogdmVyc2lv bj0yLjUuMAotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LW1ha2VmaWxl CiBtYWtlX2J1aWxkX2FyZ3M9IkdPTEQ9IgogbWFrZV9pbnN0YWxsX3RhcmdldD0iaW5zdGFsbCBp bnN0YWxsLW1hbiIKIG1ha2VfdXNlX2Vudj15ZXMKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZp ZyBnbGliLWRldmVsIgogbWFrZWRlcGVuZHM9ImNhaXJvbW0tZGV2ZWwgbGlicnN2Zy1kZXZlbCBz cWxpdGUtZGV2ZWwKLSBnbG0gbGliZ2l0Mi1kZXZlbCBsaWJjdXJsLWRldmVsIG9jY3QtZGV2ZWwg Y3Bwem1xIGxpYnBvZG9mby1kZXZlbCBsaWJ6aXAtZGV2ZWwKKyBnbG0gbGliZ2l0Mi1kZXZlbCBs aWJjdXJsLWRldmVsIG9jY3QtZGV2ZWwgY3Bwem1xIGxpYnBvZG9mbzAuOS43LWRldmVsIGxpYnpp cC1kZXZlbAogIGd0a21tLWRldmVsIGxpYmVwb3h5LWRldmVsIGxpYnNvZGl1bS1kZXZlbCBsaWJh cmNoaXZlLWRldmVsIGxpYnNwbmF2LWRldmVsIgogc2hvcnRfZGVzYz0iRnJlZSBFREEgcGFja2Fn ZSIKIG1haW50YWluZXI9IsOJcmljbyBOb2d1ZWlyYSA8ZXJpY29uckBkaXNyb290Lm9yZz4iCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2pxL3RlbXBsYXRlIGIvc3JjcGtncy9qcS90ZW1wbGF0ZQppbmRl eCBiOGQ0Zjk2MTdkMWQzLi5iNzUxNWI3NGE3ODNjIDEwMDY0NAotLS0gYS9zcmNwa2dzL2pxL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvanEvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdqcScKIHBrZ25hbWU9anEKLXZlcnNpb249MS43Cit2ZXJzaW9uPTEuNy4x CiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBob3N0bWFrZWRlcGVuZHM9 ImF1dG9tYWtlIGxpYnRvb2wiCkBAIC0xMSw3ICsxMSw3IEBAIG1haW50YWluZXI9IkxlYWggTmV1 a2lyY2hlbiA8bGVhaEB2dXh1Lm9yZz4iCiBsaWNlbnNlPSJNSVQiCiBob21lcGFnZT0iaHR0cHM6 Ly9qcWxhbmcuZ2l0aHViLmlvL2pxLyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL2px bGFuZy9qcS9yZWxlYXNlcy9kb3dubG9hZC9qcS0ke3ZlcnNpb259L2pxLSR7dmVyc2lvbn0udGFy Lmd6IgotY2hlY2tzdW09NDAyYTBkNjk3NWQ5NDZlNmY0ZTQ4NGQxYTg0MzIwNDE0YTBmZjhlYjZj ZjQ5ZDJjMTFkMTQ0ZDRkMzQ0ZGI2MgorY2hlY2tzdW09NDc4YzljYTEyOWZkMmUzNDQzZmUyNzMx NGI0NTVlMjExZTBkOGM2MGJjOGZmN2RmNzAzODczZGVlZWU1ODBjMgogQ0ZMQUdTPSIgLURfTEFS R0VfRklMRV9TT1VSQ0U9MSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgogCiBwcmVfY29uZmlndXJl KCkgewpAQCAtMzIsNSArMzIsNiBAQCBqcS1kZXZlbF9wYWNrYWdlKCkgewogCQl2bW92ZSB1c3Iv aW5jbHVkZQogCQl2bW92ZSB1c3IvbGliLyouYQogCQl2bW92ZSB1c3IvbGliLyouc28KKwkJdm1v dmUgdXNyL2xpYi9wa2djb25maWcKIAl9CiB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2tub3QvdGVt cGxhdGUgYi9zcmNwa2dzL2tub3QvdGVtcGxhdGUKaW5kZXggZmQ4ZTk1MTljNGJlNC4uNDYzMDA2 ZDU1NmFlOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9rbm90L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv a25vdC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2tub3Qn CiBwa2duYW1lPWtub3QKLXZlcnNpb249My4zLjIKK3ZlcnNpb249My4zLjMKIHJldmlzaW9uPTEK IGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSIKQEAgLTIxLDcgKzIx LDcgQEAgbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5r bm90LWRucy5jei8iCiBjaGFuZ2Vsb2c9Imh0dHBzOi8vZ2l0aHViLmNvbS9DWi1OSUMva25vdC9y YXcvJHt2ZXJzaW9uJSouKn0vTkVXUyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9zZWN1cmUubmljLmN6 L2ZpbGVzL2tub3QtZG5zL2tub3QtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT0wZDY1ZDRi NTlmNWRmNjliNzhjNjI5NWFkZTBhMmVhNzkzMTgzMWRlN2VmNWVlZWUzZTAwZjhhMjBhZjY3OWU0 CitjaGVja3N1bT1hYWI0MGFhYjJhY2Q3MzVjNTAwZjI5NmJhY2FhNWM4NGZmMDQ4ODIyMWE0MDY4 Y2U5OTQ2ZTk3M2JlYWNjNWFlCiAKIHN5c3RlbV9hY2NvdW50cz0iX2tub3QiCiBfa25vdF9ob21l ZGlyPSIvdmFyL2xpYi9rbm90IgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9rcmVuYW1lL3BhdGNoZXMv cG9kb2ZvLTAuMTAucGF0Y2ggYi9zcmNwa2dzL2tyZW5hbWUvcGF0Y2hlcy9wb2RvZm8tMC4xMC5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi40Y2I3NzUxNDA4 ZDIwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9rcmVuYW1lL3BhdGNoZXMvcG9kb2ZvLTAu MTAucGF0Y2gKQEAgLTAsMCArMSwxMDcgQEAKK0Zyb20gMDU2ZDYxNGRjMjE2NmNkMjU3NDljYWYy NjRiMWI0ZDlkMzQ4ZjRkNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFudG9uaW8g Um9qYXMgPGFyb2phc0BhcmNobGludXgub3JnPgorRGF0ZTogTW9uLCAxNyBKdWwgMjAyMyAyMDoy OTozNyArMDAwMAorU3ViamVjdDogW1BBVENIXSBTdXBwb3J0IHBvZG9mbyAwLjEwCisKK1ZlcnNp b24gMC4xMCBvZiBwb2RvZm8gaXMgYSBjb21wbGV0ZSByZXdyaXRlLiBrcmVuYW1lJ3MgdXNlIG9m IGl0IGlzIG1pbmltYWwsIHNvIHBvcnRpbmcgaXMgZWFzeS4KKworU3dpdGNoIHRoZSBjbWFrZSBt b2R1bGUgdG8gdXNlIHBrZ2NvbmZpZywgd2hpY2ggaXMgYXZhaWxhYmxlIHNpbmNlIDAuOS41IChy ZWxlYXNlIGluIDIwMTcpLgorCitVbmZvcnR1bmF0ZWx5LCB0aGUgaGFjayB0byBmaW5kIHRoZSB2 ZXJzaW9uIG51bWJlciBpcyBzdGlsbCBuZWVkZWQsIHNpbmNlIHRoZSBwYyBmaWxlIGlzIGJ1Z2d5 IGFuZCBzaGlwcyBhbiBlbXB0eSAiVmVyc2lvbiIgZmllbGQuCistLS0KKyBjbWFrZS9tb2R1bGVz L0ZpbmRQb0RvRm8uY21ha2UgfCAzMSArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCisg c3JjL3BvZG9mb3BsdWdpbi5jcHAgICAgICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrKysK KyAyIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQorCist LS0gYS9jbWFrZS9tb2R1bGVzL0ZpbmRQb0RvRm8uY21ha2UKKysrKyBiL2NtYWtlL21vZHVsZXMv RmluZFBvRG9Gby5jbWFrZQorQEAgLTM2LDE1ICszNiw4IEBACisgIyAoSU5DTFVESU5HIE5FR0xJ R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YK KyAjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg U1VDSCBEQU1BR0UuCisgCistZmluZF9wYXRoKFBvRG9Gb19JTkNMVURFX0RJUlMKKy0gIE5BTUVT IHBvZG9mby9wb2RvZm8uaAorLSkKKy1maW5kX2xpYnJhcnkoUG9Eb0ZvX0xJQlJBUklFUworLSAg TkFNRVMgbGlicG9kb2ZvIHBvZG9mbworLSkKKy0KKy1pbmNsdWRlKEZpbmRQYWNrYWdlSGFuZGxl U3RhbmRhcmRBcmdzKQorLWZpbmRfcGFja2FnZV9oYW5kbGVfc3RhbmRhcmRfYXJncyhQb0RvRm8g REVGQVVMVF9NU0cgUG9Eb0ZvX0xJQlJBUklFUyBQb0RvRm9fSU5DTFVERV9ESVJTKQorK2luY2x1 ZGUoRmluZFBrZ0NvbmZpZykKKytwa2dfc2VhcmNoX21vZHVsZShQb0RvRm8gbGlicG9kb2ZvIGxp YnBvZG9mby0wKQorIAorIHNldChQb0RvRm9fREVGSU5JVElPTlMpCisgaWYoUG9Eb0ZvX0ZPVU5E KQorQEAgLTYxLDE3ICs1NCwxOSBAQCBpZihQb0RvRm9fRk9VTkQpCisgICAgIGVuZGlmKCkKKyAg IGVuZGlmKCkKKyAKKy0gICMgUG9Eb0ZvLTAuOS41IHVuY29uZGl0aW9uYWxseSBpbmNsdWRlcyBv cGVuc3NsL29wZW5zc2xjb25mLmggaW4gYSBwdWJsaWMKKy0gICMgaGVhZGVyLiBUaGUgZml4IGlz IGluIGh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3AvcG9kb2ZvL2NvZGUvMTgzMC8gYW5kIHdpbGwK Ky0gICMgaG9wZWZ1bGx5IGJlIHJlbGVhc2VkIHNvb24gd2l0aCAwLjkuNi4gTm90ZSB0aGF0IGty ZW5hbWUgZG9lc24ndCB1c2UKKy0gICMgT3BlblNTTCBpbiBhbnkgd2F5LgorLSAgZmlsZShTVFJJ TkdTICIke1BvRG9Gb19JTkNMVURFX0RJUlN9L3BvZG9mby9iYXNlL3BvZG9mb19jb25maWcuaCIg UG9Eb0ZvX01BSk9SX1ZFUl9MSU5FIFJFR0VYICJeI2RlZmluZVsgXHRdK1BPRE9GT19WRVJTSU9O X01BSk9SWyBcdF0rWzAtOV0rJCIpCistICBmaWxlKFNUUklOR1MgIiR7UG9Eb0ZvX0lOQ0xVREVf RElSU30vcG9kb2ZvL2Jhc2UvcG9kb2ZvX2NvbmZpZy5oIiBQb0RvRm9fTUlOT1JfVkVSX0xJTkUg UkVHRVggIl4jZGVmaW5lWyBcdF0rUE9ET0ZPX1ZFUlNJT05fTUlOT1JbIFx0XStbMC05XSskIikK Ky0gIGZpbGUoU1RSSU5HUyAiJHtQb0RvRm9fSU5DTFVERV9ESVJTfS9wb2RvZm8vYmFzZS9wb2Rv Zm9fY29uZmlnLmgiIFBvRG9Gb19QQVRDSF9WRVJfTElORSBSRUdFWCAiXiNkZWZpbmVbIFx0XStQ T0RPRk9fVkVSU0lPTl9QQVRDSFsgXHRdK1swLTldKyQiKQorKyAgZmluZF9maWxlKFBvRG9Gb19D T05GSUcgcG9kb2ZvX2NvbmZpZy5oIFBBVEhTICR7UG9Eb0ZvX0lOQ0xVREVfRElSU30gUEFUSF9T VUZGSVhFUyBhdXhpbGlhcnkgYmFzZSkKKysgIGZpbGUoU1RSSU5HUyAiJHtQb0RvRm9fQ09ORklH fSIgUG9Eb0ZvX01BSk9SX1ZFUl9MSU5FIFJFR0VYICJeI2RlZmluZVsgXHRdK1BPRE9GT19WRVJT SU9OX01BSk9SWyBcdF0rWzAtOV0rJCIpCisrICBmaWxlKFNUUklOR1MgIiR7UG9Eb0ZvX0NPTkZJ R30iIFBvRG9Gb19NSU5PUl9WRVJfTElORSBSRUdFWCAiXiNkZWZpbmVbIFx0XStQT0RPRk9fVkVS U0lPTl9NSU5PUlsgXHRdK1swLTldKyQiKQorKyAgZmlsZShTVFJJTkdTICIke1BvRG9Gb19DT05G SUd9IiBQb0RvRm9fUEFUQ0hfVkVSX0xJTkUgUkVHRVggIl4jZGVmaW5lWyBcdF0rUE9ET0ZPX1ZF UlNJT05fUEFUQ0hbIFx0XStbMC05XSskIikKKyAgIHN0cmluZyhSRUdFWCBSRVBMQUNFICJeI2Rl ZmluZVsgXHRdK1BPRE9GT19WRVJTSU9OX01BSk9SWyBcdF0rKFswLTldKykkIiAiXFwxIiBQb0Rv Rm9fTUFKT1JfVkVSICIke1BvRG9Gb19NQUpPUl9WRVJfTElORX0iKQorICAgc3RyaW5nKFJFR0VY IFJFUExBQ0UgIl4jZGVmaW5lWyBcdF0rUE9ET0ZPX1ZFUlNJT05fTUlOT1JbIFx0XSsoWzAtOV0r KSQiICJcXDEiIFBvRG9Gb19NSU5PUl9WRVIgIiR7UG9Eb0ZvX01JTk9SX1ZFUl9MSU5FfSIpCisg ICBzdHJpbmcoUkVHRVggUkVQTEFDRSAiXiNkZWZpbmVbIFx0XStQT0RPRk9fVkVSU0lPTl9QQVRD SFsgXHRdKyhbMC05XSspJCIgIlxcMSIgUG9Eb0ZvX1BBVENIX1ZFUiAiJHtQb0RvRm9fUEFUQ0hf VkVSX0xJTkV9IikKKyAgIHNldChQb0RvRm9fVkVSU0lPTiAiJHtQb0RvRm9fTUFKT1JfVkVSfS4k e1BvRG9Gb19NSU5PUl9WRVJ9LiR7UG9Eb0ZvX1BBVENIX1ZFUn0iKQorKworKyAgIyBQb0RvRm8t MC45LjUgdW5jb25kaXRpb25hbGx5IGluY2x1ZGVzIG9wZW5zc2wvb3BlbnNzbGNvbmYuaCBpbiBh IHB1YmxpYworKyAgIyBoZWFkZXIuIFRoZSBmaXggaXMgaW4gaHR0cHM6Ly9zb3VyY2Vmb3JnZS5u ZXQvcC9wb2RvZm8vY29kZS8xODMwLyBhbmQgd2lsbAorKyAgIyBob3BlZnVsbHkgYmUgcmVsZWFz ZWQgc29vbiB3aXRoIDAuOS42LiBOb3RlIHRoYXQga3JlbmFtZSBkb2Vzbid0IHVzZQorKyAgIyBP cGVuU1NMIGluIGFueSB3YXkuCisgICBpZihQb0RvRm9fVkVSU0lPTiBWRVJTSU9OX0VRVUFMICIw LjkuNSIpCisgICAgIGZpbmRfcGFja2FnZShPcGVuU1NMKQorICAgICBpZiAoT3BlblNTTF9GT1VO RCkKK0BAIC04NCw0ICs3OSw4IEBAIGlmKFBvRG9Gb19GT1VORCkKKyAgIGVuZGlmKCkKKyBlbmRp ZigpCisgCisraWYoUG9Eb0ZvX1ZFUlNJT04gVkVSU0lPTl9HUkVBVEVSX0VRVUFMIDAuMTAuMCkK KysgIHNldChDTUFLRV9DWFhfU1RBTkRBUkQgMTcpCisrZW5kaWYoKQorKworIG1hcmtfYXNfYWR2 YW5jZWQoUG9Eb0ZvX0lOQ0xVREVfRElSUyBQb0RvRm9fTElCUkFSSUVTIFBvRG9Gb19ERUZJTklU SU9OUykKKy0tLSBhL3NyYy9wb2RvZm9wbHVnaW4uY3BwCisrKysgYi9zcmMvcG9kb2ZvcGx1Z2lu LmNwcAorQEAgLTYxLDYgKzYxLDI1IEBAIFFTdHJpbmcgUG9kb2ZvUGx1Z2luOjpwcm9jZXNzRmls ZShCYXRjaFIKKyAgICAgdHJ5IHsKKyAgICAgICAgIFBkZk1lbURvY3VtZW50IGRvYzsKKyAgICAg ICAgIGRvYy5Mb2FkKGZpbGVuYW1lLnRvVXRmOCgpLmRhdGEoKSk7CisrI2lmIChQT0RPRk9fVkVS U0lPTl9NSU5PUj49MTAgfHwgUE9ET0ZPX1ZFUlNJT05fTUFKT1I+PTEpCisrICAgICAgICBjb25z dCBQZGZJbmZvICppbmZvID0gZG9jLkdldEluZm8oKTsKKysKKysgICAgICAgIGlmICh0b2tlbiA9 PSAicGRmYXV0aG9yIikgeworKyAgICAgICAgICAgIHJldHVybiBpbmZvLT5HZXRBdXRob3IoKS5o YXNfdmFsdWUoKSA/IFFTdHJpbmc6OmZyb21VdGY4KGluZm8tPkdldEF1dGhvcigpLT5HZXRTdHJp bmcoKS5jX3N0cigpKSA6IFFTdHJpbmcoKTsKKysgICAgICAgIH0gZWxzZSBpZiAodG9rZW4gPT0g InBkZmNyZWF0b3IiKSB7CisrICAgICAgICAgICAgcmV0dXJuIGluZm8tPkdldENyZWF0b3IoKS5o YXNfdmFsdWUoKSA/IFFTdHJpbmc6OmZyb21VdGY4KGluZm8tPkdldENyZWF0b3IoKS0+R2V0U3Ry aW5nKCkuY19zdHIoKSkgOiBRU3RyaW5nKCk7CisrICAgICAgICB9IGVsc2UgaWYgKHRva2VuID09 ICJwZGZrZXl3b3JkcyIpIHsKKysgICAgICAgICAgICByZXR1cm4gaW5mby0+R2V0S2V5d29yZHMo KS5oYXNfdmFsdWUoKSA/IFFTdHJpbmc6OmZyb21VdGY4KGluZm8tPkdldEtleXdvcmRzKCktPkdl dFN0cmluZygpLmNfc3RyKCkpIDogUVN0cmluZygpOworKyAgICAgICAgfSBlbHNlIGlmICh0b2tl biA9PSAicGRmc3ViamVjdCIpIHsKKysgICAgICAgICAgICByZXR1cm4gaW5mby0+R2V0U3ViamVj dCgpLmhhc192YWx1ZSgpID8gUVN0cmluZzo6ZnJvbVV0ZjgoaW5mby0+R2V0U3ViamVjdCgpLT5H ZXRTdHJpbmcoKS5jX3N0cigpKSA6IFFTdHJpbmcoKTsKKysgICAgICAgIH0gZWxzZSBpZiAodG9r ZW4gPT0gInBkZnRpdGxlIikgeworKyAgICAgICAgICAgIHJldHVybiBpbmZvLT5HZXRUaXRsZSgp Lmhhc192YWx1ZSgpID8gUVN0cmluZzo6ZnJvbVV0ZjgoaW5mby0+R2V0VGl0bGUoKS0+R2V0U3Ry aW5nKCkuY19zdHIoKSkgOiBRU3RyaW5nKCk7CisrICAgICAgICB9IGVsc2UgaWYgKHRva2VuID09 ICJwZGZwcm9kdWNlciIpIHsKKysgICAgICAgICAgICByZXR1cm4gaW5mby0+R2V0UHJvZHVjZXIo KS5oYXNfdmFsdWUoKSA/IFFTdHJpbmc6OmZyb21VdGY4KGluZm8tPkdldFByb2R1Y2VyKCktPkdl dFN0cmluZygpLmNfc3RyKCkpIDogUVN0cmluZygpOworKyAgICAgICAgfSBlbHNlIGlmICh0b2tl biA9PSAicGRmcGFnZXMiKSB7CisrICAgICAgICAgICAgcmV0dXJuIFFTdHJpbmc6Om51bWJlcihk b2MuR2V0UGFnZXMoKS5HZXRDb3VudCgpKTsKKysgICAgICAgIH0KKysjZWxzZQorICAgICAgICAg UGRmSW5mbyAqaW5mbyA9IGRvYy5HZXRJbmZvKCk7CisgCisgICAgICAgICBpZiAodG9rZW4gPT0g InBkZmF1dGhvciIpIHsKK0BAIC03OCw2ICs5Nyw3IEBAIFFTdHJpbmcgUG9kb2ZvUGx1Z2luOjpw cm9jZXNzRmlsZShCYXRjaFIKKyAgICAgICAgIH0gZWxzZSBpZiAodG9rZW4gPT0gInBkZnBhZ2Vz IikgeworICAgICAgICAgICAgIHJldHVybiBRU3RyaW5nOjpudW1iZXIoZG9jLkdldFBhZ2VDb3Vu dCgpKTsKKyAgICAgICAgIH0KKysjZW5kaWYKKyAgICAgfSBjYXRjaCAoUGRmRXJyb3IgJmVycm9y KSB7CisgICAgICAgICByZXR1cm4gUVN0cmluZzo6ZnJvbVV0ZjgoZXJyb3Iud2hhdCgpKTsKKyAg ICAgfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9rcmVuYW1lL3RlbXBsYXRlIGIvc3JjcGtncy9rcmVu YW1lL3RlbXBsYXRlCmluZGV4IGRmNTUzNTAwNzcxNGEuLjJjNDQ4NmE3NjMxNDQgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3Mva3JlbmFtZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2tyZW5hbWUvdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdrcmVuYW1lJwogcGtnbmFt ZT1rcmVuYW1lCiB2ZXJzaW9uPTUuMC4yCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9z dHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJleHRyYS1jbWFrZS1tb2R1bGVzIGdldHRleHQg a2NvcmVhZGRvbnMgcGtnLWNvbmZpZyBxdDUtaG9zdC10b29scyBxdDUtcW1ha2UiCiBtYWtlZGVw ZW5kcz0iZXhpdjItZGV2ZWwgZnJlZXR5cGUtZGV2ZWwga2pzLWRldmVsIGtwYXJ0cy1kZXZlbCBs aWJwb2RvZm8tZGV2ZWwKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlicG9kb2ZvMC45LjctZGV2ZWwg Yi9zcmNwa2dzL2xpYnBvZG9mbzAuOS43LWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4 IDAwMDAwMDAwMDAwMDAuLjRlMmIyOGRhMTFlMjIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L2xpYnBvZG9mbzAuOS43LWRldmVsCkBAIC0wLDAgKzEgQEAKK2xpYnBvZG9mbzAuOS43ClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJwb2RvZm8wLjku Ny90ZW1wbGF0ZSBiL3NyY3BrZ3MvbGlicG9kb2ZvMC45LjcvdGVtcGxhdGUKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uYzQ5ZThlYmQ3NTA3ZQotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvbGlicG9kb2ZvMC45LjcvdGVtcGxhdGUKQEAgLTAsMCArMSwyNiBAQAor IyBUZW1wbGF0ZSBmaWxlIGZvciAnbGlicG9kb2ZvMC45LjcnCitwa2duYW1lPWxpYnBvZG9mbzAu OS43Cit2ZXJzaW9uPTAuOS43CityZXZpc2lvbj0xCitidWlsZF9zdHlsZT1jbWFrZQorY29uZmln dXJlX2FyZ3M9Ii1EUE9ET0ZPX0JVSUxEX1NIQVJFRD1UUlVFIC1EUE9ET0ZPX0JVSUxEX0xJQl9P TkxZPVRSVUUiCittYWtlZGVwZW5kcz0iZm9udGNvbmZpZy1kZXZlbCBsaWJpZG4tZGV2ZWwgb3Bl bnNzbC1kZXZlbCBsdWE1My1kZXZlbCB0aWZmLWRldmVsIgorc2hvcnRfZGVzYz0iTGlicmFyeSB0 byB3b3JrIHdpdGggdGhlIFBERiBmaWxlIGZvcm1hdCIKK21haW50YWluZXI9IkFuZHJlYSBCcmFu Y2FsZW9uaSA8YWJjQHBvbXBlbC5tZT4iCitsaWNlbnNlPSJMR1BMLTIuMS1vci1sYXRlciIKK2hv bWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vcG9kb2ZvL3BvZG9mbyIKK2Rpc3RmaWxlcz0iaHR0 cHM6Ly9naXRodWIuY29tL3BvZG9mby9wb2RvZm8vYXJjaGl2ZS9yZWZzL3RhZ3MvJHt2ZXJzaW9u fS50YXIuZ3oiCitjaGVja3N1bT00MmQ3ZWFhM2M4ZmZhYmYwMDExMjE0NDc4MzAzNDNjNDM2MmU1 NjJkMGYxMjE5MmIwMzNhMzkzZjMzNGE2NGE2CitkaXNhYmxlX3BhcmFsbGVsX2J1aWxkPXllcwor cmVwbGFjZXM9ImxpYnBvZG9mbzw9JHt2ZXJzaW9ufV85OTkiCitwcm92aWRlcz0ibGlicG9kb2Zv LSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisKK2xpYnBvZG9mbzAuOS43LWRldmVsX3BhY2thZ2Uo KSB7CisJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgorCWRlcGVuZHM9IiR7c291 cmNlcGtnfS0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorCWNvbmZsaWN0cz0ibGlicG9kb2ZvLWRl dmVsPj0wIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3IvaW5jbHVkZQorCQl2bW92ZSB1 c3IvbGliLyouc28KKwl9Cit9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYnhzbHQvdGVtcGxhdGUg Yi9zcmNwa2dzL2xpYnhzbHQvdGVtcGxhdGUKaW5kZXggYTYwYjQzMzM0MmVkMS4uYjRlYmI5OTkz NDBkNCAxMDA2NDQKLS0tIGEvc3JjcGtncy9saWJ4c2x0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv bGlieHNsdC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2xp YnhzbHQnCiBwa2duYW1lPWxpYnhzbHQKIHZlcnNpb249MS4xLjM5Ci1yZXZpc2lvbj0xCityZXZp c2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1lbmFi bGUtc3RhdGljIC0tZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nIgogaG9zdG1ha2VkZXBlbmRz PSJkb2Nib29rLXhtbCBkb2Nib29rLXhzbCBsaWJ0b29sIHBrZy1jb25maWcgcHl0aG9uMyIKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvbGludXg2LjYvdGVtcGxhdGUgYi9zcmNwa2dzL2xpbnV4Ni42L3Rl bXBsYXRlCmluZGV4IDU5YTdjNzFlOWM5MTYuLjU0NjI1YzIzMmQ5MWYgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvbGludXg2LjYvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9saW51eDYuNi90ZW1wbGF0ZQpA QCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2xpbnV4Ni42JwogcGtnbmFtZT1s aW51eDYuNgotdmVyc2lvbj02LjYuNgordmVyc2lvbj02LjYuNwogcmV2aXNpb249MQogc2hvcnRf ZGVzYz0iTGludXgga2VybmVsIGFuZCBtb2R1bGVzICgke3ZlcnNpb24lLip9IHNlcmllcykiCiBt YWludGFpbmVyPSJEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+IgpAQCAtMTQsNyArMTQs NyBAQCBpZiBbICIke3ZlcnNpb24jIyoufSIgIT0gMCBdOyB0aGVuCiBmaQogCiBjaGVja3N1bT0i ZDkyNmEwNmM2M2RkOGFjN2RmM2Y4NmVlMWZmYzJjZTJhM2I4MWEyZDE2ODQ4NGU3NmI1YjM4OWFi YThlNTZkMAotIGE4ODZjNTkyZjQzYzBhOTc1ZDQwYmI0MjRiODNhMTdmNTk5ZDY0YmZiMTY5ZTNm YzllZmQzMmVlYjQyYjFlYjIiCisgYjIyNzAxN2MxYWJhOTA4OTA1NGEyY2E4YjY2NzEyMjVkZTk0 OGE2NjQzZDdhNzU5NTU4Mzg2NTQwZjU1ZDFlMiIKIHB5dGhvbl92ZXJzaW9uPTMKIAogIyBYWFgg UmVzdHJpY3QgYXJjaHMgdW50aWwgYSBwcm9wZXIgPGFyY2g+LWRvdGNvbmZpZyBpcyBhdmFpbGFi bGUgaW4gRklMRVNESVIuCmRpZmYgLS1naXQgYS9zcmNwa2dzL21wdnBhcGVyL3RlbXBsYXRlIGIv c3JjcGtncy9tcHZwYXBlci90ZW1wbGF0ZQppbmRleCBmNjhhMGFlMjA5MTI2Li5iMTczMTk1Nzc1 NTcyIDEwMDY0NAotLS0gYS9zcmNwa2dzL21wdnBhcGVyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv bXB2cGFwZXIvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdt cHZwYXBlcicKIHBrZ25hbWU9bXB2cGFwZXIKLXZlcnNpb249MS4zCit2ZXJzaW9uPTEuNAogcmV2 aXNpb249MQogYnVpbGRfc3R5bGU9bWVzb24KIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyB3 YXlsYW5kLWRldmVsIgpAQCAtMTEsNyArMTEsNyBAQCBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVy IgogaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9HaG9zdE5hTi9tcHZwYXBlciIKIGNoYW5n ZWxvZz0iaHR0cHM6Ly9naXRodWIuY29tL0dob3N0TmFOL21wdnBhcGVyL3JlbGVhc2VzIgogZGlz dGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vR2hvc3ROYU4vbXB2cGFwZXIvYXJjaGl2ZS9yZWZz L3RhZ3MvJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT01N2Y3ZTIxYTE4NTc0ODEzYWVkZmE1 OTI1OTIzODU2M2Y3NWU4ZjM3YTEzZmQyMWZjYTdkMmI2MTNkZDExZTg3CitjaGVja3N1bT1lNDAz MzM0OWM3YTEwYmU5MDk0YTI4MmI2YjVhNjQ1MDcxZTdmZTUwNWMwYjRiMmFhNGE4MjIyOTc0NzEy MzJhCiAKIGRvX2luc3RhbGwoKSB7CiAJdm1hbiBtcHZwYXBlci5tYW4gbXB2cGFwZXIuMQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9wZXJsLU1vemlsbGEtQ0EvdGVtcGxhdGUgYi9zcmNwa2dzL3Blcmwt TW96aWxsYS1DQS90ZW1wbGF0ZQppbmRleCBiYzUwZjA3OTU4NmRhLi45YjFkZWI2ZDYyOTk1IDEw MDY0NAotLS0gYS9zcmNwa2dzL3BlcmwtTW96aWxsYS1DQS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L3BlcmwtTW96aWxsYS1DQS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ3BlcmwtTW96aWxsYS1DQScKIHBrZ25hbWU9cGVybC1Nb3ppbGxhLUNBCi12ZXJzaW9u PTIwMjMwODIxCit2ZXJzaW9uPTIwMjMxMjEzCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1wZXJs LW1vZHVsZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIgpAQCAtMTEsNCArMTEsNCBAQCBtYWludGFp bmVyPSJMZWFoIE5ldWtpcmNoZW4gPGxlYWhAdnV4dS5vcmc+IgogbGljZW5zZT0iTVBMLTIuMCIK IGhvbWVwYWdlPSJodHRwczovL21ldGFjcGFuLm9yZy9yZWxlYXNlL01vemlsbGEtQ0EiCiBkaXN0 ZmlsZXM9IiR7Q1BBTl9TSVRFfS9Nb3ppbGxhLyR7cGtnbmFtZS9wZXJsLS99LSR2ZXJzaW9uLnRh ci5neiIKLWNoZWNrc3VtPTMyZTFkMDA0NTI5OTAwNDA0NWI5YzRkMTZjMmRhYWU0NTNhMjE2MjA4 ODczZGVlYTI0NDBmNzEyNjBhN2NkYTEKK2NoZWNrc3VtPTQyMWExMmJhN2NlZjQ0M2JkMzY4Njcx Y2VlOWM5YjQ2YThiNTVjMmNjZjdhYzc2YzQyZjk5ZTIzYTA2MTE1ZGYKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcG9kb2ZvL3RlbXBsYXRlIGIvc3JjcGtncy9wb2RvZm8vdGVtcGxhdGUKaW5kZXggYjQ1 MzdkYjM3ZTFlYS4uYzRlZGEyMWY2ZWM5MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9wb2RvZm8vdGVt cGxhdGUKKysrIGIvc3JjcGtncy9wb2RvZm8vdGVtcGxhdGUKQEAgLTEsMTcgKzEsMjcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3BvZG9mbycKIHBrZ25hbWU9cG9kb2ZvCi12ZXJzaW9uPTAuOS43 Ci1yZXZpc2lvbj00Cit2ZXJzaW9uPTAuMTAuMworcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21h a2UKLWNvbmZpZ3VyZV9hcmdzPSItRFBPRE9GT19CVUlMRF9TSEFSRUQ9VFJVRSIKLW1ha2VkZXBl bmRzPSJmb250Y29uZmlnLWRldmVsIGxpYmlkbi1kZXZlbCBvcGVuc3NsLWRldmVsIGx1YTUzLWRl dmVsIHRpZmYtZGV2ZWwiCitjb25maWd1cmVfYXJncz0iLURQT0RPRk9fQlVJTERfU1RBVElDPUZB TFNFIC1EUE9ET0ZPX0JVSUxEX1RPT0xTPVRSVUUKKyAtRFBPRE9GT19CVUlMRF9URVNUPVRSVUUi Citob3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWciCittYWtlZGVwZW5kcz0iZm9udGNvbmZpZy1k ZXZlbCBsaWJpZG4tZGV2ZWwgb3BlbnNzbC1kZXZlbCBsdWE1My1kZXZlbCB0aWZmLWRldmVsCisg bGlieG1sMi1kZXZlbCB6bGliLWRldmVsIGxpYmpwZWctdHVyYm8tZGV2ZWwgbGlicG5nLWRldmVs IGZyZWV0eXBlLWRldmVsIgogc2hvcnRfZGVzYz0iTGlicmFyeSB0byB3b3JrIHdpdGggdGhlIFBE RiBmaWxlIGZvcm1hdCIKIG1haW50YWluZXI9IkFuZHJlYSBCcmFuY2FsZW9uaSA8YWJjQHBvbXBl bC5tZT4iCiBsaWNlbnNlPSJHUEwtMi4wLW9yLWxhdGVyLCBMR1BMLTIuMS1vci1sYXRlciIKIGhv bWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vcG9kb2ZvL3BvZG9mbyIKIGRpc3RmaWxlcz0iaHR0 cHM6Ly9naXRodWIuY29tL3BvZG9mby9wb2RvZm8vYXJjaGl2ZS9yZWZzL3RhZ3MvJHt2ZXJzaW9u fS50YXIuZ3oiCi1jaGVja3N1bT00MmQ3ZWFhM2M4ZmZhYmYwMDExMjE0NDc4MzAzNDNjNDM2MmU1 NjJkMGYxMjE5MmIwMzNhMzkzZjMzNGE2NGE2Ci1kaXNhYmxlX3BhcmFsbGVsX2J1aWxkPXllcwor Y2hlY2tzdW09NGJlMjIzMjY0M2Y5ZTlkZDdmYmIwMjg5NGQ1YTAzOTRjM2NhMjgyNmFhYjE3OTY1 NGMyY2M3NTEwNzQ4MjVlYworIyBkaXNhYmxlX3BhcmFsbGVsX2J1aWxkPXllcworCitwb3N0X2lu c3RhbGwoKSB7CisJbG9jYWwgX2YKKwlmb3IgX2YgaW4gbWFuLyouMTsgZG8KKwkJdm1hbiAiJF9m IgorCWRvbmUKK30KIAogbGlicG9kb2ZvX3BhY2thZ2UoKSB7CiAJcmVwbGFjZXM9InBvZG9mbzww LjkuM18xIgpAQCAtMjYsNiArMzYsOCBAQCBsaWJwb2RvZm8tZGV2ZWxfcGFja2FnZSgpIHsKIAlk ZXBlbmRzPSJsaWJwb2RvZm8tJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKIAlwa2dfaW5zdGFsbCgp IHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgdXNyL2xpYi8qLnNvCisJCXZtb3ZlICJ1 c3IvbGliLyouc28iCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCisJCXZtb3ZlICJ1c3Ivc2hh cmUvcG9kb2ZvLyouY21ha2UiCiAJfQogfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zY3JpYnVzL3Rl bXBsYXRlIGIvc3JjcGtncy9zY3JpYnVzL3RlbXBsYXRlCmluZGV4IDIyNjMwZjEzNjgxOTEuLjMx MzhhODQyNTQ2YWYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvc2NyaWJ1cy90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL3NjcmlidXMvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdzY3JpYnVzJwogcGtnbmFtZT1zY3JpYnVzCiB2ZXJzaW9uPTEuNS44Ci1yZXZpc2lvbj0x MQorcmV2aXNpb249MTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURDTUFL RV9TS0lQX1JQQVRIPVRSVUUgLURRVF9QUkVGSVg9JHtYQlBTX0NST1NTX0JBU0V9L3VzcgogIC1E V0FOVF9HUkFQSElDU01BR0lDSz0xIC1EV0FOVF9DUFAxNz1PTiIKQEAgLTksNyArOSw3IEBAIGhv c3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyBxdDUtcW1ha2UgcXQ1LWhvc3QtdG9vbHMgcHl0aG9u MyIKIG1ha2VkZXBlbmRzPSJxdDUtZGV2ZWwgcXQ1LXRvb2xzLWRldmVsIHpsaWItZGV2ZWwgY2Fp cm8tZGV2ZWwgbGNtczItZGV2ZWwKICBjdXBzLWRldmVsIGxpYnhtbDItZGV2ZWwgaHlwaGVuLWRl dmVsIGdob3N0c2NyaXB0LWRldmVsIGJvb3N0LWRldmVsCiAgaHVuc3BlbGwtZGV2ZWwgcG9wcGxl ci1jcHAtZGV2ZWwgcHl0aG9uMy1kZXZlbCBoYXJmYnV6ei1kZXZlbAotIGxpYmdyYXBoaWNzbWFn aWNrLWRldmVsIGxpYnBvZG9mby1kZXZlbCBsaWJwYWdlbWFrZXItZGV2ZWwgbGlicXhwLWRldmVs CisgbGliZ3JhcGhpY3NtYWdpY2stZGV2ZWwgbGlicG9kb2ZvMC45LjctZGV2ZWwgbGlicGFnZW1h a2VyLWRldmVsIGxpYnF4cC1kZXZlbAogIGxpYm1zcHViLWRldmVsIGxpYmNkci1kZXZlbCBsaWJm cmVlaGFuZC1kZXZlbCBsaWJ2aXNpby1kZXZlbCIKIGRlcGVuZHM9Imdob3N0c2NyaXB0Igogc2hv cnRfZGVzYz0iT3BlbiBTb3VyY2UgRFRQIChEZXNrdG9wIFB1Ymxpc2hpbmcpIGFwcGxpY2F0aW9u IgpkaWZmIC0tZ2l0IGEvc3JjcGtncy92aHMvdGVtcGxhdGUgYi9zcmNwa2dzL3Zocy90ZW1wbGF0 ZQppbmRleCA4ZWQ4ODk0NTM4MTAwLi5mYWQ1ZDEyMzc5MDg2IDEwMDY0NAotLS0gYS9zcmNwa2dz L3Zocy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3Zocy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3ZocycKIHBrZ25hbWU9dmhzCi12ZXJzaW9uPTAuNi4wCi1y ZXZpc2lvbj0yCit2ZXJzaW9uPTAuNy4xCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbwogYnVp bGRfaGVscGVyPXFlbXUKIGdvX2ltcG9ydF9wYXRoPSJnaXRodWIuY29tL2NoYXJtYnJhY2VsZXQv dmhzIgpAQCAtMTMsNyArMTMsNyBAQCBsaWNlbnNlPSJNSVQiCiBob21lcGFnZT0iaHR0cHM6Ly9n aXRodWIuY29tL2NoYXJtYnJhY2VsZXQvdmhzIgogY2hhbmdlbG9nPSJodHRwczovL2dpdGh1Yi5j b20vY2hhcm1icmFjZWxldC92aHMvcmVsZWFzZXMiCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHVi LmNvbS9jaGFybWJyYWNlbGV0L3Zocy9hcmNoaXZlL3JlZnMvdGFncy92JHt2ZXJzaW9ufS50YXIu Z3oiCi1jaGVja3N1bT1iZjQxZjI2NDczMGYxOGI1MTQ2YzIyNjlkODJiNWI2OTc1NzQ3MDc5OWEy Y2NlNjA5OWU0MjBiNWYzZWM3ZmEzCitjaGVja3N1bT05MGIzYTM4YTc2Nzc2ZmFkMWU2ZDk4OWI0 ZjRhNmRhMmY4NzdlNmY4MzJhZDFkMTIzZmY2MDhjZmZlMmFhYjFjCiAKIHBvc3RfaW5zdGFsbCgp IHsKIAl2ZG9jICIke0ZJTEVTRElSfS9SRUFETUUudm9pZGxpbnV4Igo= --===============0318117992816094526==--