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 9663 invoked from network); 10 Aug 2022 01:14:48 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 10 Aug 2022 01:14:48 -0000 Content-Type: multipart/mixed; boundary="===============8515610833385055507==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_WIP_Qt6_webengine?= To: ml@inbox.vuxu.org From: sgn Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 10 Aug 2022 03:14:48 +0200 List-Id: Message-ID: <20220810011448.VU6VPekQ1QgoVq-KXXFo0VvFi4-x3S_SMTYvpPnwOuE@z> GitHub notification mails are now in MIME to allow UTF8. --===============8515610833385055507== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgc2duIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9zZ24vdm9p ZC1wYWNrYWdlcyBxdDYtd2ViZW5naW5lCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC8zODUwOQoKV0lQIFF0NiB3ZWJlbmdpbmUKPCEtLSBVbmNvbW1lbnQg cmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRlbGV0ZSBvcHRpb25zIHdoaWNoIGFyZSBub3QgYXBwbGlj YWJsZSAtLT4NCg0KTmV2ZXIgdHJpZWQgdG8gY3Jvc3MgYnVpbGQNCkZ1bmN0aW9uYWxpdHkgd29y a3MgKGF0IGxlYXN0IGNhbiB2aWV3IHlvdXR1YmUgdmlkZW8gb24geDg2XzY0LW11c2wpDQoNCiMj IyMgVGVzdGluZyB0aGUgY2hhbmdlcw0KLSBJIHRlc3RlZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBS OiAqKllFUyoqfCoqYnJpZWZseSoqfCoqTk8qKg0KW2NpIHNraXBdDQoNCjwhLS0NCiMjIyMgTmV3 IHBhY2thZ2UNCi0gVGhpcyBuZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUgW3F1YWxpdHkgcmVx dWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Js b2IvbWFzdGVyL01hbnVhbC5tZCNxdWFsaXR5LXJlcXVpcmVtZW50cyk6ICoqWUVTKip8KipOTyoq DQotLT4NCg0KPCEtLSBOb3RlOiBJZiB0aGUgYnVpbGQgaXMgbGlrZWx5IHRvIHRha2UgbW9yZSB0 aGFuIDIgaG91cnMsIHBsZWFzZSBhZGQgY2kgc2tpcCB0YWcgYXMgZGVzY3JpYmVkIGluDQpodHRw czovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRS SUJVVElORy5tZCNjb250aW51b3VzLWludGVncmF0aW9uDQphbmQgdGVzdCBhdCBsZWFzdCBvbmUg bmF0aXZlIGJ1aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBvbmUgY3Jvc3MgYnVpbGQu DQpJZ25vcmUgdGhpcyBzZWN0aW9uIGlmIHRoaXMgUFIgaXMgbm90IHNraXBwaW5nIENJLg0KLS0+ DQo8IS0tDQojIyMjIExvY2FsIGJ1aWxkIHRlc3RpbmcNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2Fs bHkgZm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsIChBUkNILUxJQkMpDQotIEkgYnVpbHQgdGhp cyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChpZiBzdXBwb3J0ZWQuIG1hcmsg Y3Jvc3NidWlsZHMpOg0KICAtIGFhcmNoNjQtbXVzbA0KICAtIGFybXY3bA0KICAtIGFybXY2bC1t dXNsDQotLT4NCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM4NTA5LnBhdGNoIGlzIGF0dGFjaGVk --===============8515610833385055507== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-qt6-webengine-38509.patch" RnJvbSBlODg4MmFhYTQyMWY2NmZjMWU5MjE2MWRmZGE0MDIyZjg5MjY1YTM4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1B N249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9u LCA4IEF1ZyAyMDIyIDE3OjEzOjA3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwMS8yNl0gcXQ2LWJh c2U6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2xpYmF0 b21pYy5wYXRjaCB8IDE0IC0tLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRl ICAgICAgICAgICAgICAgIHwgMTYgKysrKysrKysrKy0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAx MCBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni1iYXNlL3BhdGNoZXMvbGliYXRvbWljLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtYmFzZS9wYXRjaGVzL2xpYmF0b21pYy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0 Y2hlcy9saWJhdG9taWMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJmN2E4 MDc1MThlNC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9saWJh dG9taWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1JbmRleDogY21ha2Uv RmluZFdyYXBBdG9taWMuY21ha2UKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBhL2NtYWtlL0ZpbmRXcmFwQXRv bWljLmNtYWtlCi0rKysgYi9jbWFrZS9GaW5kV3JhcEF0b21pYy5jbWFrZQotQEAgLTM4LDcgKzM4 LDggQEAgZW5kaWYoKQotIAotIGFkZF9saWJyYXJ5KFdyYXBBdG9taWM6OldyYXBBdG9taWMgSU5U RVJGQUNFIElNUE9SVEVEKQotIGlmKEhBVkVfU1REQVRPTUlDX1dJVEhfTElCKQotLSAgICB0YXJn ZXRfbGlua19saWJyYXJpZXMoV3JhcEF0b21pYzo6V3JhcEF0b21pYyBJTlRFUkZBQ0UgYXRvbWlj KQotKyAgICBmaW5kX2xpYnJhcnkoTElCQVRPTUlDIGF0b21pYyBSRVFVSVJFRCkKLSsgICAgdGFy Z2V0X2xpbmtfbGlicmFyaWVzKFdyYXBBdG9taWM6OldyYXBBdG9taWMgSU5URVJGQUNFICR7TElC QVRPTUlDfSkKLSBlbmRpZigpCi0gCi0gc2V0KFdyYXBBdG9taWNfRk9VTkQgMSkKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRl CmluZGV4IGNjNDdlMThhNzBmZi4uNGU4OGQ2YjlmMTc0IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0 Ni1iYXNlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtYmFzZScKIHBrZ25hbWU9cXQ2LWJhc2UK LXZlcnNpb249Ni4zLjAKLXJldmlzaW9uPTIKK3ZlcnNpb249Ni4zLjEKK3JldmlzaW9uPTEKIHdy a3NyYz0icXRiYXNlLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFr ZQogY29uZmlndXJlX2FyZ3M9Ii1ESU5TVEFMTF9EQVRBRElSPXNoYXJlL3F0NgpAQCAtOSw2ICs5 LDggQEAgY29uZmlndXJlX2FyZ3M9Ii1ESU5TVEFMTF9EQVRBRElSPXNoYXJlL3F0NgogIC1ESU5T VEFMTF9CSU5ESVI9bGliL3F0Ni9iaW4KICAtRElOU1RBTExfTUtTUEVDU0RJUj1saWIvcXQ2L21r c3BlY3MKICAtRElOU1RBTExfSU5DTFVERURJUj1pbmNsdWRlL3F0NgorIC1ESU5TVEFMTF9FWEFN UExFU0RJUj1saWIvcXQ2L2V4YW1wbGVzCisgLURJTlNUQUxMX1RFU1RTRElSPWxpYi9xdDYvdGVz dHMKICAtRElOU1RBTExfU1lTQ09ORkRJUj0vZXRjL3hkZwogIC1EUVRfRkVBVFVSRV9vcGVuc3Ns X2xpbmtlZD1PTgogIC1EUVRfRkVBVFVSRV9zeXN0ZW1fc3FsaXRlPU9OCkBAIC0yOSwxNCArMzEs MTMgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQ TC0zLjAtb25seSBXSVRIIFF0LUdQTC1leGNlcHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwt Mi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnF0LmlvIgogZGlzdGZpbGVzPSJo dHRwczovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0v JHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0YmFzZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRh ci54eiIKLWNoZWNrc3VtPWI4NjVhYWU0MzM1N2Y3OTJiM2IwYTE2Mjg5OWQ5YmY2YTEzOTNhNTVj NGU1ZTRlZGU1MzE2YjE1N2IxYTBmOTkKK2NoZWNrc3VtPTBhNjQ0MjFkOWMyNDY5YzJjNDg0OTBh MDMyYWI5MWQ1NDcwMTdjOWNjMTcxZjNmODA3MGJjMzE4ODhmMjRlMDMKIHB5dGhvbl92ZXJzaW9u PTMKIAogaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJaG9zdG1ha2VkZXBlbmRzKz0iIHF0 Ni1iYXNlLWRldmVsIgogCSMgUXRTZXR1cCBmYWlscyBuYXRpdmUgYnVpbGRzIGlmIHRoaXMgaXMg c2V0Ci0JY29uZmlndXJlX2FyZ3MrPSIgLURRVF9IT1NUX1BBVEg9L3VzcgotCSAtRFFUX0JVSUxE X1RPT0xTX1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIKKwljb25maWd1cmVfYXJncys9Ii1EUVRf QlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlIgogZmkKIAogIyBJdCBpcyBjdXJy ZW50bHkgZXhwZWN0ZWQgdGhhdCBxdWl0ZSBhIGZldyBwYXRjaGVzIGRvIGZhaWwKQEAgLTIyNSw3 ICsyMjYsNyBAQCBxdDYtcGx1Z2luLXRscy1xY2VydG9ubHlfcGFja2FnZSgpIHsKIHF0Ni1wbHVn aW4tbmV0d29ya2luZm9ybWF0aW9uX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIE5ldHdv cmtpbmZvcm1hdGlvbiBwbHVnaW4iCiAJcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlIHVzci9saWIv cXQ2L3BsdWdpbnMvbmV0d29ya2luZm9ybWF0aW9uL2xpYnFuZXR3b3JrbWFuYWdlci5zbworCQl2 bW92ZSB1c3IvbGliL3F0Ni9wbHVnaW5zL25ldHdvcmtpbmZvcm1hdGlvbi8KIAl9CiB9CiAKQEAg LTI0Niw5ICsyNDcsMTIgQEAgcXQ2LWJhc2UtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFs bCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92 ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1 c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouYSIKIAkJdm1vdmUgInVzci9s aWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYv bW9kdWxlcwogCX0KIH0KCkZyb20gMTA1ZWU0OTJiNTQxOWJhYzc2NjNjZTRkOGIyZmZiMzMxYjli OTRlNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9 QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFp bC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzowNyArMDcwMApTdWJqZWN0OiBbUEFU Q0ggMDIvMjZdIHF0Ni1jaGFydHM6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYt Y2hhcnRzL3RlbXBsYXRlIHwgOCArKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9u cygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1jaGFydHMvdGVt cGxhdGUgYi9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUKaW5kZXggNzljYjhhMjIwNDAxLi5k Mzk0N2JhOTM4ZjMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAncXQ2LWNoYXJ0cycKIHBrZ25hbWU9cXQ2LWNoYXJ0cwotdmVyc2lvbj02LjMu MAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdGNoYXJ0cy1ldmVyeXdoZXJl LXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFU X0hPU1RfUEFUSD0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1k ZXZlbCIKIG1ha2VkZXBlbmRzPSJxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCiBzaG9ydF9kZXNjPSJD cm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gY2hhcnRzIgpAQCAt MTIsNyArMTEsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGlj ZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVz PSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4q fS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRjaGFydHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u fS50YXIueHoiCi1jaGVja3N1bT02NzI3NjJjNWY2NDFjY2M4OGEzMGFlZWRlZmI2M2YwM2MwZjgz NzY0OWIzMzRmNDZlZWE1NzU5MmU4N2UzNmNkCitjaGVja3N1bT1mMzMwY2MyMzI4NzI5MTA0ZDc5 YjIwODg5OTBjZTA4NDBmMmRhODlkOWQ5ODkzNjBkNGMzNTJlNzk3ZDI3Y2Y3CiAKIHF0Ni1jaGFy dHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1f JHtyZXZpc2lvbn0iCkBAIC0yMCw4ICsxOSwxMSBAQCBxdDYtY2hhcnRzLWRldmVsX3BhY2thZ2Uo KSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9s aWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2dj b25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNv IgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVz CiAJfQogfQoKRnJvbSAzNjk2MjM1NTliNDc3ZDRjNDlmODkwZDI3MjI2NGQ3NzZmNTQ4NTY4IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBU cj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4K RGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwMy8y Nl0gcXQ2LWRlY2xhcmF0aXZlOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LWRl Y2xhcmF0aXZlL3RlbXBsYXRlIHwgMTIgKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNyBp bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWRl Y2xhcmF0aXZlL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvdGVtcGxhdGUKaW5k ZXggZTBiZDI4ZDllMzgzLi5jZmRjNzRmMjgxZDYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWRl Y2xhcmF0aXZlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBsYXRl CkBAIC0xLDIzICsxLDIyIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtZGVjbGFyYXRpdmUn CiBwa2duYW1lPXF0Ni1kZWNsYXJhdGl2ZQotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQog cmV2aXNpb249MQogd3Jrc3JjPSJxdGRlY2xhcmF0aXZlLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lv bn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9IiAtRFFUX0hPU1RfUEFUSD0v dXNyIgogaG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBwZXJsIHBrZy1jb25maWcgd2F5 bGFuZC1kZXZlbAogIHF0Ni1zaGFkZXJ0b29scy1kZXZlbCIKLW1ha2VkZXBlbmRzPSJxdDYtYmFz ZS1kZXZlbCBWdWxrYW4tSGVhZGVycyIKK21ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBWdWxr YW4tSGVhZGVycyBxdDYtc2hhZGVydG9vbHMtZGV2ZWwiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0 Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gRGVjbGFyYXRpdmUiCiBtYWludGFp bmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdp dGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQTC0yLjAtb3ItbGF0ZXIi CiBob21lcGFnZT0iaHR0cHM6Ly93d3cucXQuaW8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZG93bmxv YWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1 Ym1vZHVsZXMvcXRkZWNsYXJhdGl2ZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIK LWNoZWNrc3VtPWQyOTRiMDI5ZGMyYjJkNGY2NWRhNTE2ZmRjM2I4MDg4ZDMyNjQzZWI3ZmY3N2Ri MTM1YThiOWNlOTA0Y2FhMzcKK2NoZWNrc3VtPTAzZTc2OTQxMjM4MjBmY2NhMzk3Zjk1Y2UzMTJl MGI3ZjMwMzk0OTNjODc1NGM4MzZkYTA5OGExYTA0MzQ2ZTgKIHJlcGxhY2VzPSJxdDYtcXVpY2tj b250cm9sczI+PTAiCiAKIGlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgotCWNvbmZpZ3VyZV9h cmdzKz0iIC1EUVRfQlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlIgorCWNvbmZp Z3VyZV9hcmdzPSItRFFUX0JVSUxEX1RPT0xTX1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIKIAlo b3N0bWFrZWRlcGVuZHMrPSIgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgogZmkKIApAQCAtNjAsMTEg KzU5LDE0IEBAIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxs KCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3Zl IHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVz ci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvbGliUXQ2UXVpY2tUZXN0LnNvLioi CiAJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9RdFRlc3QKIAkJdm1vdmUgdXNyL2xpYi9xdDYvYmlu L3FtbHRlc3RydW5uZXIKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIv Ki5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gN2FiNDkw YzhhZWU2ZmRkNmUwNzFiNjA5NjY4NWYyZmRlMjhkZTczMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1C NG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAy MiAxNzoxMzowNyArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMjZdIHF0Ni1pbWFnZWZvcm1hdHM6 IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtaW1hZ2Vmb3JtYXRzL3RlbXBsYXRl IHwgNSArKy0tLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUgYi9zcmNw a2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUKaW5kZXggZWFjYTk1MjQzYzQ4Li45ZjZkMmZi NjY3NzYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAncXQ2LWltYWdlZm9ybWF0cycKIHBrZ25hbWU9cXQ2LWltYWdlZm9y bWF0cwotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJx dGltYWdlZm9ybWF0cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21h a2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgogaG9zdG1ha2VkZXBlbmRz PSJwZXJsIHF0Ni1iYXNlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIgogc2hv cnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIGlt YWdlZm9ybWF0cyIKQEAgLTEyLDQgKzExLDQgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55 bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkxHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQ TC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDov L2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJz aW9ufS9zdWJtb2R1bGVzL3F0aW1hZ2Vmb3JtYXRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0u dGFyLnh6IgotY2hlY2tzdW09MDI1ZDBkMTdlZDc1YjQyYTdlYjZiNTIzNzMxYWI4ZjE3MDI1NDIx YTg4MTBjYWRlMjVjYWZmZTA1ZDkzYWJlZgorY2hlY2tzdW09YWQwMzEyYjhkZmJiYjY3ZjcyOWJm YWRiZmNkNDcyNDZlZTRhMTI4YjcxNzczMWJhMTU4YzQxZDAxZmRlMjEyZgoKRnJvbSBhZDk1MGM1 OTIwMzVmZWYyN2IyOWFiZDA0NjhjZjI0MmNlMTlkNjM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0 bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIy IDE3OjEzOjA3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwNS8yNl0gcXQ2LWxvY2F0aW9uOiB1cGRh dGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlIHwgOCArKysr Ky0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1sb2NhdGlvbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWxv Y2F0aW9uL3RlbXBsYXRlCmluZGV4IGI3Mzk3ZjVmODk0Mi4uOWYyNjEwMzI1OWFkIDEwMDY0NAot LS0gYS9zcmNwa2dzL3F0Ni1sb2NhdGlvbi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1sb2Nh dGlvbi90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYt bG9jYXRpb24nCiBwa2duYW1lPXF0Ni1sb2NhdGlvbgotdmVyc2lvbj02LjMuMAordmVyc2lvbj02 LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHBvc2l0aW9uaW5nLWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9Q QVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwgcXQ2LWRlY2xh cmF0aXZlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1zZXJpYWxwb3J0LWRldmVsIHF0Ni1kZWNs YXJhdGl2ZS1kZXZlbCBHQ29uZi1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFw cGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBsb2NhdGlvbiIKQEAgLTEyLDcgKzExLDcgQEAg bWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihMR1BMLTMu MC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkg d2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRp c3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVy c2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0cG9zaXRpb25pbmctZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1lOWVkNTBmNmIyNDVhMzQ2ZGIzNGQ2MjVk MDAxMjc3NGVmMGVjOGU3ZmQ2NTAzNzEyN2VjMjY3NTg3MDgyMzZlCitjaGVja3N1bT0wNjc4OGU0 ZWNhZTE5MjAwOTRiMzBlNDA0NmYwYWJkMjNjODE4OWQ4YTUxZTljOTM5YjAyZjBiNmFiZTJlODZj CiAKIHF0Ni1sb2NhdGlvbi1kZXZlbF9wYWNrYWdlKCkgewogCWRlcGVuZHM9IiR7c291cmNlcGtn fT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgpA QCAtMjAsOCArMTksMTEgQEAgcXQ2LWxvY2F0aW9uLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2lu c3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJ dm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1v dmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAi dXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJv bSBmZDYxYjM2OWRmMjA5Y2UzMWJiODlmYjllMTkwOThhNzkwNDY2NWE2IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249 MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4 IEF1ZyAyMDIyIDE3OjEzOjA4ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwNi8yNl0gcXQ2LWxvdHRp ZTogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0Ni1sb3R0aWUvdGVtcGxhdGUgfCA5 ICsrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1sb3R0aWUvdGVtcGxhdGUgYi9zcmNwa2dzL3F0 Ni1sb3R0aWUvdGVtcGxhdGUKaW5kZXggMWM5N2NkNWY0ZjMyLi5hN2JlYjYyZWMzNjggMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1sb3R0 aWUvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LWxv dHRpZScKIHBrZ25hbWU9cXQ2LWxvdHRpZQotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQog cmV2aXNpb249MQogd3Jrc3JjPSJxdGxvdHRpZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259Igog YnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgog aG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1k ZWNsYXJhdGl2ZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9u IGFuZCBVSSBmcmFtZXdvcmsgLSBsb3R0aWUiCkBAIC0xMiwxMCArMTEsMTAgQEAgbWFpbnRhaW5l cj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSIKIGhv bWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0Lmlv L29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVz L3F0bG90dGllLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09Mzlk YjU3MGJiYmE1YjUyN2ExZWI2YTU3NzRiZWQ0NzM5OGFjZTJmNzIxN2JiZjQ1YjExOTRhZGE2Y2Y5 N2RlYgorY2hlY2tzdW09NzQwYmE3Njk5OTEyNGQ1ZTFhODVlZjNkMDFjNjk5NzZiYjg1NTc4NjJi NmIyNmJmNDhiMzU3ZmUwY2FiMWNmNQogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVu Ci0JY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9URVNUUz1PTiIKKwljb25maWd1cmVfYXJn cz0iLURRVF9CVUlMRF9URVNUUz1PTiIKIGZpCiAKIHByZV9jaGVjaygpIHsKQEAgLTI4LDggKzI3 LDEwIEBAIHF0Ni1sb3R0aWUtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJ dm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGli L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGli Lyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21v ZHVsZXMKIAl9CiB9CgpGcm9tIDIxOWI3YWEzOGM2ZjNiYWZjOGI4NTlkYTQyYzZlMGQwY2Y2YzE5 ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEw bj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwu Y29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MDggKzA3MDAKU3ViamVjdDogW1BBVENI IDA3LzI2XSBxdDYtbmV0d29ya2F1dGg6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9x dDYtbmV0d29ya2F1dGgvdGVtcGxhdGUgfCAxMCArKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwg NiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LW5ldHdvcmthdXRoL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtbmV0d29ya2F1dGgvdGVtcGxhdGUK aW5kZXggZTkzNGJlYWRhOWIwLi4xNDU0Y2ViNGE1MjUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2 LW5ldHdvcmthdXRoL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBs YXRlCkBAIC0xLDEwICsxLDkgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1uZXR3b3JrYXV0 aCcKIHBrZ25hbWU9cXQ2LW5ldHdvcmthdXRoCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4x CiByZXZpc2lvbj0xCiB3cmtzcmM9InF0bmV0d29ya2F1dGgtZXZlcnl3aGVyZS1zcmMtJHt2ZXJz aW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9 L3VzciIKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtYmFzZS1kZXZlbCIKIG1ha2VkZXBlbmRz PSJxdDYtYmFzZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9u IGFuZCBVSSBmcmFtZXdvcmsgLSBuZXR3b3JrYXV0aCIKQEAgLTEyLDEwICsxMSwxMCBAQCBtYWlu dGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5 IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQu cXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1v ZHVsZXMvcXRuZXR3b3JrYXV0aC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNo ZWNrc3VtPTIwM2E5ODk0MjkxOTAyODUyMDAzOGY5MGEyMGNkN2VlMzJiNTM3MjMzNTQ1ZDExZTQy OWMzZTJjMWFkOTA2OWYKK2NoZWNrc3VtPWQ2MGY1NGI5ZDQ1MDlmYThiZGJmMTk5MGJjOTFmNmUy NjBlMzhjZGI1N2E3YjgxMTlmYTM4NjFiYzVkMmZiMmEKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtH UyIgXTsgdGhlbgotCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04iCisJY29u ZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCiBmaQogCiBxdDYtbmV0d29ya2F1dGgt ZGV2ZWxfcGFja2FnZSgpIHsKQEAgLTI0LDggKzIzLDExIEBAIHF0Ni1uZXR3b3JrYXV0aC1kZXZl bF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2 bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVz ci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVz ci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9x dDYvbW9kdWxlcwogCX0KIH0KCkZyb20gZTRkNTg4NGZkYWY2NmY0ODU1MGE3NjU4NGNlZmQzYTFk N2JmYWE0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89 QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBn bWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzowOCArMDcwMApTdWJqZWN0OiBb UEFUQ0ggMDgvMjZdIHF0Ni1xdDVjb21wYXQ6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtn cy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlIHwgMTIgKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LXF0NWNvbXBhdC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXF0NWNvbXBhdC90ZW1wbGF0ZQpp bmRleCA3ZmNkNWFkNTA4MGUuLmE2MjU3M2NmYWJmYSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYt cXQ1Y29tcGF0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXF0NWNvbXBhdC90ZW1wbGF0ZQpA QCAtMSwxMCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtcXQ1Y29tcGF0JwogcGtn bmFtZT1xdDYtcXQ1Y29tcGF0Ci12ZXJzaW9uPTYuMy4wCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTYu My4xCityZXZpc2lvbj0xCiB3cmtzcmM9InF0NWNvbXBhdC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNp b259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0v dXNyIgogaG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2 ZWwgcGVybCBwa2ctY29uZmlnIgogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNs YXJhdGl2ZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFu ZCBVSSBmcmFtZXdvcmsgLSBRdDUgQ29tcGF0aWJpbHR5IENvbXBvbmVudCIKQEAgLTEyLDEwICsx MSwxMCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0i R1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQ TC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0 dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7 dmVyc2lvbn0vc3VibW9kdWxlcy9xdDVjb21wYXQtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50 YXIueHoiCi1jaGVja3N1bT0yYjE5OWJlNzgwYzUwZDkyMTQ1MTJiOTIyZDk0Y2IyNDBiMDQxMmZk NjNmNDU5ZTM1NmI3NjEwMmNhZDE3MTNlCitjaGVja3N1bT1hNDNlYzYyYmQ3NzhlYWVjZjg4YWQ3 ODQ3MTE4ZDFjMmE0NzFiMGZjYjgyMGY5M2JlYjMxMWQ3YWI5NTY2Y2ZkCiAKIGlmIFsgIiRYQlBT X0NIRUNLX1BLR1MiIF07IHRoZW4KLQljb25maWd1cmVfYXJncys9IiAtRFFUX0JVSUxEX1RFU1RT PU9OIgorCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgogZmkKIAogcXQ2LXF0 NWNvbXBhdC1kZXZlbF9wYWNrYWdlKCkgewpAQCAtMjQsOCArMjMsMTEgQEAgcXQ2LXF0NWNvbXBh dC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVk ZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZt b3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1v dmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9z aGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gMTg3OGZiYmJhMDQwMmU5NTE0NjI2NjhlNGY1 ODYxYTUxYmQwYmJlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1D ND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2Rh bmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzowOCArMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMDkvMjZdIHF0Ni1xdWljazNkOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNy Y3BrZ3MvcXQ2LXF1aWNrM2QvdGVtcGxhdGUgfCAxMCArKysrKystLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LXF1aWNrM2QvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1xdWljazNkL3RlbXBsYXRlCmluZGV4 IDBmN2VmMzM2YTNmZi4uYjIzNDljMDM1MDFiIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1xdWlj azNkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXF1aWNrM2QvdGVtcGxhdGUKQEAgLTEsMTAg KzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF1aWNrM2QnCiBwa2duYW1lPXF0Ni1x dWljazNkCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9 InF0cXVpY2szZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UK LWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyICIKIGhvc3RtYWtlZGVwZW5kcz0i cGVybCBxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ2LXNoYWRlcnRvb2xz LWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZl bCBxdDYtc2hhZGVydG9vbHMtZGV2ZWwKICBsaWJhc3NpbXAtZGV2ZWwiCkBAIC0xMyw3ICsxMiw3 IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwt My4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRw Oi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3Zl cnNpb259L3N1Ym1vZHVsZXMvcXRxdWljazNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFy Lnh6IgotY2hlY2tzdW09MGFkMDViZDFlZTFmNzg0YjE4MjIwYTJkMjYyNWVlOGRlOTE2NjJjODhm ZGM3Yjc5ODY2Mjk1M2Q4NmViMzI3ZQorY2hlY2tzdW09MmZhNzY2ZWU0N2I4YzA3NDEyYjNiNzU1 MjA2YWRhMDcxNWZiMDc4MTNiNjRlZDA2OWU3MjA1MDQ0YzA2MTI1NgogCiBpZiBbICIkWEJQU19U QVJHRVRfRU5ESUFOIiA9ICJiZSIgXTsgdGhlbgogCSMgcG9zc2libHkgYSBxdDYtc2hhZGVydG9v bHMgYnVnLCBhY3R1YWxseQpAQCAtMjYsOSArMjUsMTIgQEAgcXQ2LXF1aWNrM2QtZGV2ZWxfcGFj a2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUg dXNyL2xpYi9jbWFrZQotCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCisJCXZtb3ZlIHVzci9s aWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIv cXQ2L2JpbgorCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyou c28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVs ZXMKIAl9CiB9CgpGcm9tIDIyYTRmYWI3OWEyOWU4N2JmYjViNWY1NzA2OTU5MTJmZDZhNzIyYWEg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0y MFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29t PgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MDkgKzA3MDAKU3ViamVjdDogW1BBVENIIDEw LzI2XSBxdDYtcXVpY2t0aW1lbGluZTogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0 Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlIHwgNyArKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXF1 aWNrdGltZWxpbmUvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRl CmluZGV4IDE1YWE3YThlNTgxOS4uYmYwMmUwNDNjNGE1IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0 Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXF1aWNrdGltZWxpbmUv dGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF1aWNr dGltZWxpbmUnCiBwa2duYW1lPXF0Ni1xdWlja3RpbWVsaW5lCi12ZXJzaW9uPTYuMy4wCit2ZXJz aW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0cXVpY2t0aW1lbGluZS1ldmVyeXdoZXJl LXNyYy0ke3ZlcnNpb24vcmMvLXJjfSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJn cz0iLURRVF9IT1NUX1BBVEg9L3VzciAiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2Ut ZGV2ZWwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVs IHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxp Y2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBxdWlja3RpbWVsaW5lIgpAQCAtMTIsMTAgKzExLDEw IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwt My4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRw Oi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3Zl cnNpb24vcmMvLXJjfS9zdWJtb2R1bGVzL3F0cXVpY2t0aW1lbGluZS1ldmVyeXdoZXJlLXNyYy0k e3ZlcnNpb24vcmMvLXJjfS50YXIueHoiCi1jaGVja3N1bT05ZmYwYTkzMTE1OWVmYzZiZTViZDlm OGExZTRhMTZhNzBlMmRhYjM3Y2YyMmFkODVjNmQzMzBjY2ZkZjMxYzFhCitjaGVja3N1bT01OGEx M2NmMGNlOGU3NzU1NjM5ZjIwNjg0MDc4NzMzYWYyNGY1YTMxN2Y2ZGRiNDBkNjA3OWM4YzVhMjhl YmJlCiAKIGlmIFsgIiRYQlBTX0NIRUNLX1BLR1MiIF07IHRoZW4KLQljb25maWd1cmVfYXJncys9 IiAtRFFUX0JVSUxEX1RFU1RTPU9OIgorCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RT PU9OIgogZmkKIAogcHJlX2NoZWNrKCkgewoKRnJvbSBjZjc2OGU1MDljMjUyN2RkMTM0MDk3OGM0 YzA1NzMwMTUyOGExM2IwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/ PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25n ZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA5ICswNzAwClN1 YmplY3Q6IFtQQVRDSCAxMS8yNl0gcXQ2LXNjeG1sOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNy Y3BrZ3MvcXQ2LXNjeG1sL3RlbXBsYXRlIHwgMTAgKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQs IDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni1zY3htbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXNjeG1sL3RlbXBsYXRlCmluZGV4IDExMmJh Y2EwYWI4My4uOTQyYTcxYWZlNDc2IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1zY3htbC90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtc2N4bWwnCiBwa2duYW1lPXF0Ni1zY3htbAotdmVyc2lv bj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHNjeG1sLWV2ZXJ5 d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9 Ii1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xhcmF0 aXZlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKIHNob3J0X2Rl c2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBzY3htbCIK QEAgLTEyLDEwICsxMSwxMCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+ IgogbGljZW5zZT0iTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5 IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQu cXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1v ZHVsZXMvcXRzY3htbC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3Vt PTA5YjBkYmQ2YWMzNjc5MjBmYjFiYTk2YTM5ZGNkNGM5ZDMzZWIwODIwZGNjNzk1Mzg5OTI4MjVk NTg4YTcwZjAKK2NoZWNrc3VtPTAxYmMxNTRkNjE2M2QxZjA0OWY0ZTFlNzY2NThhMDQ0NzMwYWNl N2IwYTViZTM1YzlhNDZmY2QxMzk2Zjg2MTkKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsg dGhlbgotCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04iCisJY29uZmlndXJl X2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCiBmaQogCiBxdDYtc2N4bWwtZGV2ZWxfcGFja2Fn ZSgpIHsKQEAgLTI0LDggKzIzLDExIEBAIHF0Ni1zY3htbC1kZXZlbF9wYWNrYWdlKCkgewogCXBr Z19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtl CisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJ CXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1v dmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0K CkZyb20gMjBmYzY1Nzc4NGQ2MjE1ZGM2MzRjOGE3NGQzNTI1NmFlYzFmMGJiOCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9 QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1v biwgOCBBdWcgMjAyMiAxNzoxMzowOSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMjZdIHF0Ni1z ZXJpYWxwb3J0OiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQv dGVtcGxhdGUgfCA4ICsrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxh dGUgYi9zcmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRlCmluZGV4IDA4MDQ2NzFjYTU3Yi4u MmRlOWQ2MzY0YTVjIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXNlcmlhbHBvcnQnCiBwa2duYW1lPXF0Ni1zZXJpYWxw b3J0Ci12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0 c2VyaWFscG9ydC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UK LWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJw ZXJsIHF0Ni1iYXNlLWRldmVsIHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2 ZWwiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3 b3JrIC0gc2VyaWFscG9ydCIKQEAgLTEyLDcgKzExLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVA am9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25s eSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9u LTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25s b2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9z dWJtb2R1bGVzL3F0c2VyaWFscG9ydC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIK LWNoZWNrc3VtPWVlYmQ2OTM0ZDQ4Y2MwNDRiOGM4Nzc5NWE0ZmQ5MWJiODFmNzE5NWQ0YjVhMmRk YjEyODAyZjM0M2Q1ZGI2NGYKK2NoZWNrc3VtPTRlYjZkODBlNjU3OTlkZDJlMDMxOGRmNGRmYmEx NDE3M2MxOTI5ZTg2MTcxOGNkYTliZWRjYTI0MjUzYjYxNmUKIAogcXQ2LXNlcmlhbHBvcnQtZGV2 ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZp c2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKQEAgLTIwLDggKzE5LDExIEBAIHF0 Ni1zZXJpYWxwb3J0LWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3Zl IHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRh dHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtz cGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJ dm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA3ZDU1YTNhM2RjZDkxYmNm N2E1ZGZlMjhjOTMwZWFlYjQ5MmUyMjJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9 P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5o Pz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA5 ICswNzAwClN1YmplY3Q6IFtQQVRDSCAxMy8yNl0gcXQ2LXNoYWRlcnRvb2xzOiB1cGRhdGUgdG8g Ni4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlIHwgMTQgKysrKysr KysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlIGIvc3JjcGtn cy9xdDYtc2hhZGVydG9vbHMvdGVtcGxhdGUKaW5kZXggOWMxZWMyMTBhOTZhLi40NjA2ZmE3NzI2 YjEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdxdDYtc2hhZGVydG9vbHMnCiBwa2duYW1lPXF0Ni1zaGFkZXJ0b29scwot dmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHNoYWRl cnRvb2xzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29u ZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IgIgorY29uZmlndXJlX2FyZ3M9Ii1EUVRf QlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlIgogaG9zdG1ha2VkZXBlbmRzPSJw ZXJsIHF0Ni1iYXNlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIgogc2hvcnRf ZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIHNoYWRl cnRvb2xzIgpAQCAtMTIsNyArMTIsMTIgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0 b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly9x dC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNl cy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHNoYWRlcnRvb2xzLWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09NTQ5ODk1OWI5ZDM3YzI1 NGJkMTI2YWIxMzIwY2Y4NmFlYjhhMzFiM2VhN2U1MWRiNjY2YThmOTY5OGFmYmQ2YworY2hlY2tz dW09NTliNzcxNzY5NjE1MjhjYzdiMGM5MzI1MTM0NjU1ZTI3M2FhODdiNGNiMzg2YzBmNDY4M2Q4 ZjI4NTJlNDM1YQorCitpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwlob3N0bWFrZWRlcGVu ZHMrPSIgcXQ2LXNoYWRlcnRvb2xzLWRldmVsIgorZmkKKwogCiBxdDYtc2hhZGVydG9vbHMtZGV2 ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZp c2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKQEAgLTIwLDggKzI1LDExIEBAIHF0 Ni1zaGFkZXJ0b29scy1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92 ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvbWV0 YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21r c3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJ CXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gY2ZkM2UxMDc0MWJjOWFj YjYxNzRkZDcwNTBmNDg0OWEzZDZlMzQ0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog PT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFu aD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzow OSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMjZdIHF0Ni1zdmc6IHVwZGF0ZSB0byA2LjMuMS4K Ci0tLQogc3JjcGtncy9xdDYtc3ZnL3RlbXBsYXRlIHwgMTAgKysrKysrLS0tLQogMSBmaWxlIGNo YW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni1zdmcvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUKaW5kZXggYWE4 ZTZiNzQ1MTA5Li4zMDliMDk4OGU0MzUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXN2ZycKIHBrZ25hbWU9cXQ2LXN2ZwotdmVyc2lvbj02LjMu MAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHN2Zy1ldmVyeXdoZXJlLXNy Yy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hP U1RfUEFUSD0vdXNyICIKIGhvc3RtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgcGVybCIKIG1h a2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFw cGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgKFFUNikgLSBxdDYtc3ZnIGNvbXBvbmVudCIKQEAg LTEyLDEwICsxMSwxMCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+Igog bGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIEdQTC0yLjAt b3ItbGF0ZXIsIExHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0 ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNp b24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHN2Zy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPTMxNjQ1MDRkN2UzZjY0MDQzOTMwODIzNTczOWIxMTI2MDVh YjVmYzljYzUxN2NhMGIyOGY5ZmI5M2E4ZGIwZTMKK2NoZWNrc3VtPTdiMTlmNDE4ZTZmN2I4ZTIz MzQ0MDgyZGQwNDQ0MGFhY2Y1ZGEyM2M1YTczOTgwYmEyMmFlNGViYTRmODdkZjcKIAogaWYgWyAi JFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgotCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERf VEVTVFM9T04iCisJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCiBmaQogCiBk b19jaGVjaygpIHsKQEAgLTI5LDggKzI4LDExIEBAIHF0Ni1zdmctZGV2ZWxfcGFja2FnZSgpIHsK IAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9j bWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZp ZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJ CXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9 CiB9CgpGcm9tIDAyYjVhZWIwOWI1NWU5MGUxNjFmYWUxM2Q3MmQ2MzhiYjBhMmI3MmYgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUx PUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRl OiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MTAgKzA3MDAKU3ViamVjdDogW1BBVENIIDE1LzI2XSBx dDYtdG9vbHM6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxh dGUgfCAyMyArKysrKysrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtdG9vbHMv dGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni10b29scy90ZW1wbGF0ZQppbmRleCBmODc1ZGZmNWMwNDYu LmZkMzExMTc2ZTMxZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUKQEAgLTEsMjMgKzEsMzMgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ3F0Ni10b29scycKIHBrZ25hbWU9cXQ2LXRvb2xzCi12ZXJzaW9uPTYuMy4w Cit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0dG9vbHMtZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9I T1NUX1BBVEg9L3VzciAiCi1ob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHBlcmwiCi1t YWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgbGliYXRvbWljLWRldmVsIgorY29uZmlndXJlX2Fy Z3M9Ii1EUVRfQlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz1UUlVFCisgLURRVF9CVUlM RF9TSEFSRURfTElCUz1PTiAtRFFUX0ZFQVRVUkVfYXNzaXN0YW50PU9OIgoraG9zdG1ha2VkZXBl bmRzPSJxdDYtYmFzZS1kZXZlbCBwZXJsIHF0Ni1wbHVnaW4tc3FsaXRlIgorbWFrZWRlcGVuZHM9 InF0Ni1iYXNlLWRldmVsIGxpYmF0b21pYy1kZXZlbCBxdDYtcGx1Z2luLXNxbGl0ZSIKIHNob3J0 X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgKFFUNikg LSBxdDYtdG9vbHMgY29tcG9uZW50IgogbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3Iu ZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wLCBM R1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8v IgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQv JHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR0b29scy1ldmVyeXdoZXJlLXNy Yy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWZjZTk0Njg4ZWE5MjU3ODJhMjg3OTM0NzU4 NDk5MWY4NTQ2MzBkYWFkYmE2YzUyYWVkNmQ5M2UzM2NkMGIxOWMKK2NoZWNrc3VtPWM0MTI3NTBm MmFhM2JlYjkzZmNlNWYzMDUxN2M2MDdmNTVkYWFlYjdkMDQwN2FmMjA2YThhZGY5MTdlMTI2YzEK KworaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJaG9zdG1ha2VkZXBlbmRzKz0iIHF0Ni10 b29scy1kZXZlbCIKK2ZpCisKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNv bmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04iCiBmaQogCitwb3N0X2J1aWxkKCkg eworCW5pbmphIC1DIGJ1aWxkICR7bWFrZWpvYnN9IGxpYi9xdDYvbGliZXhlYy9xaGVscGdlbmVy YXRvcgorfQorCiBkb19jaGVjaygpIHsKIAljZCBidWlsZAogCSMgU29tZSBvZiB0aGVzZSB0ZXN0 cyBleHBlY3QgdGhhdCBxdDYtdG9vbHMgaXMgYWxyZWFkeQpAQCAtMzEsOCArNDEsMTEgQEAgcXQ2 LXRvb2xzLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9p bmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMK KwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwog CQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUg dXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA1MzRiNDcxNjdkMDBlNDM3M2QzMTlm MTVlZDA5ZTM5YzNiNjM2OWY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04 P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxj b25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjEwICswNzAw ClN1YmplY3Q6IFtQQVRDSCAxNi8yNl0gcXQ2LXRyYW5zbGF0aW9uczogdXBkYXRlIHRvIDYuMy4x LgoKLS0tCiBzcmNwa2dzL3F0Ni10cmFuc2xhdGlvbnMvdGVtcGxhdGUgfCA1ICsrLS0tCiAxIGZp bGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0 aW9ucy90ZW1wbGF0ZQppbmRleCBiZTBhNzRjYTc0ZTIuLjFiOTE3Y2NiMzYyMCAxMDA2NDQKLS0t IGEvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25zL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXRy YW5zbGF0aW9ucy90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdxdDYtdHJhbnNsYXRpb25zJwogcGtnbmFtZT1xdDYtdHJhbnNsYXRpb25zCi12ZXJzaW9uPTYu My4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0dHJhbnNsYXRpb25zLWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2Fy Z3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IgIgogaG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZl bCBxdDYtdG9vbHMtZGV2ZWwgcGVybCIKIG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBxdDYt dG9vbHMtZGV2ZWwiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQg VUkgZnJhbWV3b3JrIC0gdHJhbnNsYXRpb25zIgpAQCAtMTIsNCArMTEsNCBAQCBtYWludGFpbmVy PSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGgg UXQtR1BMLWV4Y2VwdGlvbi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0Zmls ZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24l Lip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHRyYW5zbGF0aW9ucy1ldmVyeXdoZXJlLXNyYy0k e3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWU0ZGQ0ZWY4OTJhMzRhOTUxNGExOTIzOGYxODlh MzNlZDg1Yzc2ZjMxZGNhZDY1OTljZWQ5M2IxZTMzNDQwYjMKK2NoZWNrc3VtPWQ3YmRkNTVlMjkw OGRlZDkwMWRjYzI2MjE1NzEwMGFmMmE0OTBiZjA0ZDMxZTMyOTk1ZjZkOTFkNzhkZmRiOTcKCkZy b20gZWQ5OGY2MjZiNzEwYzlhN2Y0MzlkMWRlMDIyMjc1MjQxZDIyMTdmZiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTdu PTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwg OCBBdWcgMjAyMiAxNzoxMzoxMCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMjZdIHF0Ni12aXJ0 dWFsa2V5Ym9hcmQ6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtdmlydHVhbGtl eWJvYXJkL3RlbXBsYXRlIHwgMTAgKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0 aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni12aXJ0dWFs a2V5Ym9hcmQvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9hcmQvdGVtcGxhdGUK aW5kZXggNjdlY2VmMTQ1ZWExLi43N2EyNDc0MDBiOTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2 LXZpcnR1YWxrZXlib2FyZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9h cmQvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXZp cnR1YWxrZXlib2FyZCcKIHBrZ25hbWU9cXQ2LXZpcnR1YWxrZXlib2FyZAotdmVyc2lvbj02LjMu MAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHZpcnR1YWxrZXlib2FyZC1l dmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9h cmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHBrZy1jb25m aWcgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1k ZXZlbCBxdDYtc3ZnLWRldmVsIGh1bnNwZWxsLWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxh dGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIHZpcnR1YWxrZXlib2FyZCIKQEAg LTEyLDEwICsxMSwxMCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+Igog bGljZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZp bGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9u JS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR2aXJ0dWFsa2V5Ym9hcmQtZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT04OWFhZjE1YWNmNTQzMmFmOGY1Y2Y0ZWM0 NWNiMzJkODdhMzM0ODkwNjIxNWRkNTZlODFjYjI5NGViMjc2NTczCitjaGVja3N1bT01ZmUwODli MjA0ZDg1OWFiMGRkMDE2OWY4MTFmMmUzMGNhZTdjNWNiMzZmOGFiOTVjYTM2ODgzZjFmYzBjMmI4 CiAKIGlmIFsgIiRYQlBTX0NIRUNLX1BLR1MiIF07IHRoZW4KLQljb25maWd1cmVfYXJncys9IiAt RFFUX0JVSUxEX1RFU1RTPU9OIgorCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9O IgogZmkKIAogZG9fY2hlY2soKSB7CkBAIC0zMiw4ICszMSwxMSBAQCBxdDYtdmlydHVhbGtleWJv YXJkLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNs dWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJ dm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2 bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNy L3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSAyYWM3MGU2YTI3MjY4ODIwY2RmNzRmNzQw YmFlZDBiNGJlZTQxYjU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/ PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25n ZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjEwICswNzAwClN1 YmplY3Q6IFtQQVRDSCAxOC8yNl0gcXQ2LXdheWxhbmQ6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQog c3JjcGtncy9xdDYtd2F5bGFuZC90ZW1wbGF0ZSB8IDExICsrKysrKystLS0tCiAxIGZpbGUgY2hh bmdlZCwgNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRlCmlu ZGV4IGI3MWEyNzMwMDliOS4uODNhZmIzNGUyMjllIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13 YXlsYW5kL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUKQEAgLTEs MTMgKzEsMTQgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni13YXlsYW5kJwogcGtnbmFtZT1x dDYtd2F5bGFuZAotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jr c3JjPSJxdHdheWxhbmQtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNt YWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciAtRFFUX0JVSUxEX1RPT0xT X1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIKK2NvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RP T0xTX1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIKIGhvc3RtYWtlZGVwZW5kcz0icXQ2LWJhc2Ut ZGV2ZWwgcGVybCBwa2ctY29uZmlnIHdheWxhbmQtZGV2ZWwgcXQ2LXdheWxhbmQtZGV2ZWwiCiAj IFhYWDogUW1sIGFzIG9wdGlvbmFsIGRlcAogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHdh eWxhbmQtZGV2ZWwgbGlieGtiY29tbW9uLWRldmVsCisgcXQ2LWRlY2xhcmF0aXZlLWRldmVsCiAg bGliWGNvbXBvc2l0ZS1kZXZlbCBNZXNhTGliLWRldmVsIFZ1bGthbi1IZWFkZXJzIGxpYmRybS1k ZXZlbCIKIGNoZWNrZGVwZW5kcz0iZGJ1cyBtZXNhLWRyaSIKIHNob3J0X2Rlc2M9IkNyb3NzLXBs YXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBXYXlsYW5kIgpAQCAtMTUsNyAr MTYsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0i R1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQ TC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cucXQuaW8iCiBkaXN0ZmlsZXM9 Imh0dHBzOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4q fS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR3YXlsYW5kLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lv bn0udGFyLnh6IgotY2hlY2tzdW09ZTdiNTY3ZjZlNDNmZmM1OTE4ZDRhYTgyNWNlMWVjZWQ2NmEw MGNiMGE4NzEzM2IyOTEyYmE1YzFiMmEwMjE5MAorY2hlY2tzdW09NmYxNGZlYTJkMTcyYTViNDE3 MGJlM2VmY2IwZTU4NTM1ZjY2MDViNjFiY2Q4MjNmNmQ1YzlkMTY1YmI4YzBmMAogCiBpZiBbICIk WEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCiAJY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9U RVNUUz1PTiIKQEAgLTMyLDkgKzMzLDExIEBAIHF0Ni13YXlsYW5kLWRldmVsX3BhY2thZ2UoKSB7 CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIv Y21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25m aWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwotCQl2bW92ZSB1c3IvbGliL3F0Ni9saWJl eGVjL3F0d2F5bGFuZHNjYW5uZXIKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVz ci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20g ZjEyYjE4ZTc4YjMxM2M2YmFmYjdjOThlMzA3NDE2MGNkMDJiZDE4ZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIw Qz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBB dWcgMjAyMiAxNzoxMzoxMCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTkvMjZdIHF0Ni13ZWJzb2Nr ZXRzOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxh dGUgfCA4ICsrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxhdGUgYi9z cmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3RlbXBsYXRlCmluZGV4IGMyZTY3NGFhY2IzMS4uNDg3NWFm MDkzNDMyIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1w bGF0ZSBmaWxlIGZvciAncXQ2LXdlYnNvY2tldHMnCiBwa2duYW1lPXF0Ni13ZWJzb2NrZXRzCi12 ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0d2Vic29j a2V0cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZp Z3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0 Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKIG1ha2VkZXBlbmRzPSJxdDYtYmFz ZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9y bSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gd2Vic29ja2V0cyIKQEAgLTEyLDcgKzEx LDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihM R1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4w LW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0Lmlv LyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0 LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0d2Vic29ja2V0cy1ldmVyeXdo ZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWUwMThhMDlmZTk2MGI3ZDk1NjBk NmJiYzlkM2NhMDIyZmVkNjU2NmU2YmE2ZmM2ZDg2OWE5NzQ4MmQ0ZTYzNjEKK2NoZWNrc3VtPTlm OTgwZDkwYzk3ZmNiZGUxYjUwYzc3M2Y2ZGM1ODBjZmRmOGMzNmNlMTRhMWJlM2FhMmNjYWRmZTYw NTEyMWEKIAogcXQ2LXdlYnNvY2tldHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3Nv dXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lv bn1fMSIKQEAgLTIwLDggKzE5LDExIEBAIHF0Ni13ZWJzb2NrZXRzLWRldmVsX3BhY2thZ2UoKSB7 CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIv Y21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25m aWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgog CQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJ fQogfQoKRnJvbSA2ZmM4MjU3OTY3NzdlNjgxOWIxYzJlMzE1MGFiNzI2ODllMDA2ZWYzIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1F MT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0 ZTogVHVlLCA5IEF1ZyAyMDIyIDIwOjE2OjQ3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAyMC8yNl0g cXQ2LTNkOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LTNkL3RlbXBsYXRlIHwg NSArKy0tLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LTNkL3Rl bXBsYXRlCmluZGV4IDY2NmY1NzU1OTUzMi4uYzA4YzNiZDRhNDFiIDEwMDY0NAotLS0gYS9zcmNw a2dzL3F0Ni0zZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZQpAQCAtMSwx MCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtM2QnCiBwa2duYW1lPXF0Ni0zZAot dmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdDNkLWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2Fy Z3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xh cmF0aXZlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBxdDYtc2hh ZGVydG9vbHMtZGV2ZWwgbGliYXNzaW1wLWRldmVsCiAgbGliYXRvbWljLWRldmVsIgpAQCAtMTMs NyArMTIsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5z ZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQ TC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8v cXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFz ZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXQzZC1ldmVyeXdoZXJl LXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTc0ZTc2MjM4MGRhZDM0ODg3ODc4Yjkx MjRkYmZiOTgxZDVjZjRiOGI4MDcyODFmZjhiZmYzMTExNDViNTRkZTEKK2NoZWNrc3VtPTk5MTli NjZkZmIyNTNmYTI2ZGIxYTdkNjY0MzU4Y2JjMDdmNDZjODgxMDA4MmVlMzEyMGQwYTU0YjE1M2Vk ZmUKIAogcXQ2LTNkLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0k e3ZlcnNpb259XyR7cmV2aXNpb259IgoKRnJvbSAwNDQzNGE2NWQyZDFmNDJlNDA2Y2EyYjYyN2Zk ZjI5ODU2YzAxZGY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0 PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFu aHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjExICswNzAwClN1Ympl Y3Q6IFtQQVRDSCAyMS8yNl0gTmV3IHBhY2thZ2U6IHF0Ni13ZWJjaGFubmVsLTYuMy4xCgotLS0K IHNyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwtZGV2ZWwgICAgfCAgMSArCiBzcmNwa2dzL3F0Ni13ZWJj aGFubmVsL3RlbXBsYXRlIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNy Y3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdXBkYXRlICAgfCAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDM0 IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0Ni13ZWJjaGFubmVs LWRldmVsCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0 ZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdXBkYXRlCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC1kZXZlbCBiL3NyY3BrZ3MvcXQ2LXdlYmNo YW5uZWwtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi4wM2U4 YjIzZDc4NWQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsLWRldmVs CkBAIC0wLDAgKzEgQEAKK3F0Ni13ZWJjaGFubmVsClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv cXQ2LXdlYmNoYW5uZWwvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi40MzJjNDJiY2MwNTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJj aGFubmVsL3RlbXBsYXRlCkBAIC0wLDAgKzEsMzIgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0 Ni13ZWJjaGFubmVsJworcGtnbmFtZT1xdDYtd2ViY2hhbm5lbAordmVyc2lvbj02LjMuMQorcmV2 aXNpb249MQord3Jrc3JjPSJxdHdlYmNoYW5uZWwtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIK K2J1aWxkX3N0eWxlPWNtYWtlCitob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwg cXQ2LWRlY2xhcmF0aXZlLWRldmVsIgorbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni1k ZWNsYXJhdGl2ZS1kZXZlbCBxdDYtd2Vic29ja2V0cy1kZXZlbCIKK3Nob3J0X2Rlc2M9IkNyb3Nz LXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSB3ZWJjaGFubmVsIgorbWFp bnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKK2xpY2Vuc2U9IihMR1BMLTMuMC1v bmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0 aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKK2hvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKK2Rpc3Rm aWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lv biUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0d2ViY2hhbm5lbC1ldmVyeXdoZXJlLXNyYy0k e3ZlcnNpb259LnRhci54eiIKK2NoZWNrc3VtPWFhYTIwYWMyM2Y4Njk5MjcyMWI3ZWU0ODdjMzc5 YTNmZDY4Y2FhOGNkY2VhMGE3N2EzN2UwZDhiNDdmZjI2NjgKKworcXQ2LXdlYmNoYW5uZWwtZGV2 ZWxfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZp c2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lvbn1fMQorCSBxdDYtd2Vic29ja2V0cy1kZXZl bD49JHt2ZXJzaW9ufV8xIgorCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKKwlw a2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2luY2x1ZGUKKwkJdm1vdmUgdXNyL2xpYi9jbWFr ZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwor CQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCisJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9RdFdl YkNoYW5uZWwvcGx1Z2lucy5xbWx0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9xbWwvUXRXZWJD aGFubmVsL3FtbGRpcgorCQl2bW92ZSAidXNyL2xpYi8qLnNvIgorCQl2bW92ZSAidXNyL2xpYi8q LnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJfQorfQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtd2ViY2hhbm5lbC91cGRhdGUgYi9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3Vw ZGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjg0NDU1MjQ2NTIy MgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdXBkYXRlCkBAIC0w LDAgKzEgQEAKK3BrZ25hbWU9IiR7cGtnbmFtZS82LS99LWV2ZXJ5d2hlcmUtc3JjIgoKRnJvbSA2 NWFiYjhlZjc2ZjJjYWQzMGUxMjM1ZGZiMWVhYjU3MzM4MWQ4ZWM1IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBD PUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1 ZyAyMDIyIDE3OjEzOjExICswNzAwClN1YmplY3Q6IFtQQVRDSCAyMi8yNl0gTmV3IHBhY2thZ2U6 IHF0Ni1tdWx0aW1lZGlhLTYuMy4xCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAg ICAgfCAgMyArKysKIHNyY3BrZ3MvcXQ2LW11bHRpbWVkaWEtZGV2ZWwgICAgfCAgMSArCiBzcmNw a2dzL3F0Ni1tdWx0aW1lZGlhL3RlbXBsYXRlIHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiBzcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3VwZGF0ZSAgIHwgIDEgKwogNCBmaWxl cyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9x dDYtbXVsdGltZWRpYS1kZXZlbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LW11bHRp bWVkaWEvdGVtcGxhdGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni1tdWx0aW1lZGlh L3VwZGF0ZQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4 IGVhNmZkZTRmZmUzMS4uZGE3OGZhYTY4OWQ1IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisr KyBiL2NvbW1vbi9zaGxpYnMKQEAgLTIwNzcsNiArMjA3Nyw5IEBAIGxpYlF0NlNlcmlhbFBvcnQu c28uNiBxdDYtc2VyaWFscG9ydC02LjIuMGFscGhhXzEKIGxpYlF0NldlYlNvY2tldHMuc28uNiBx dDYtd2Vic29ja2V0cy02LjIuMGFscGhhXzEKIGxpYlF0NldlYkNoYW5uZWwuc28uNiBxdDYtd2Vi Y2hhbm5lbC02LjIuMGFscGhhXzEKIGxpYlF0NlBvc2l0aW9uaW5nLnNvLjYgcXQ2LWxvY2F0aW9u LTYuMi4wYWxwaGFfMQorbGliUXQ2TXVsdGltZWRpYVdpZGdldHMuc28uNiBxdDYtbXVsdGltZWRp YS02LjMuMV8xCitsaWJRdDZNdWx0aW1lZGlhUXVpY2suc28uNiBxdDYtbXVsdGltZWRpYS02LjMu MV8xCitsaWJRdDZNdWx0aW1lZGlhLnNvLjYgcXQ2LW11bHRpbWVkaWEtNi4zLjFfMQogbGlibnB0 aC5zby4wIG5wdGgtMS4xXzEKIGxpYm5wdXBucC5zby40IGxpYm5wdXBucC00LjAuMl8xCiBsaWJn bGZ3LnNvLjMgZ2xmdy0zLjAuNF8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlh LWRldmVsIGIvc3JjcGtncy9xdDYtbXVsdGltZWRpYS1kZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAw MAppbmRleCAwMDAwMDAwMDAwMDAuLjkzNDM0NDY1MDJkMAotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcXQ2LW11bHRpbWVkaWEtZGV2ZWwKQEAgLTAsMCArMSBAQAorcXQ2LW11bHRpbWVkaWEK XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1tdWx0 aW1lZGlhL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjUzNWEyZjU1ZmZlNAotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUKQEAgLTAsMCArMSwzMyBA QAorIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LW11bHRpbWVkaWEnCitwa2duYW1lPXF0Ni1tdWx0 aW1lZGlhCit2ZXJzaW9uPTYuMy4xCityZXZpc2lvbj0xCit3cmtzcmM9InF0bXVsdGltZWRpYS1l dmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgorYnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZpZ3VyZV9h cmdzPSItRFFUX0ZFQVRVUkVfZ3N0cmVhbWVyPU9OIgoraG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0 Ni1kZWNsYXJhdGl2ZS1kZXZlbCBwa2ctY29uZmlnCisgcXQ2LXNoYWRlcnRvb2xzLWRldmVsIgor bWFrZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbAorIHF0Ni1zaGFkZXJ0b29scy1kZXZl bCBsaWJnbGliLWRldmVsIGdzdC1wbHVnaW5zLWJhc2UxLWRldmVsIgorc2hvcnRfZGVzYz0iQ3Jv c3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIG11bHRpbWVkaWEiCitt YWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgorbGljZW5zZT0iKExHUEwtMy4w LW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3 aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgoraG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgorZGlz dGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJz aW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRtdWx0aW1lZGlhLWV2ZXJ5d2hlcmUtc3Jj LSR7dmVyc2lvbn0udGFyLnh6IgorY2hlY2tzdW09N2UwMzI0MmFhZGQ2MzRmZjJkOWZjZjA4OTQ4 MjkwZjAzZGEzZDlhNTAxMjM2OWQ5MDhkYTg5ZjgyYjFkNzMzNgorCitxdDYtbXVsdGltZWRpYS1k ZXZlbF9wYWNrYWdlKCkgeworCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3Jl dmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgorCXNob3J0X2Rlc2MrPSIgLSBk ZXZlbG9wbWVudCBmaWxlcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2luY2x1ZGUK KwkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92 ZSB1c3IvbGliL3BrZ2NvbmZpZworCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCisJCXZtb3Zl IHVzci9saWIvcXQ2L3FtbC9RdE11bHRpbWVkaWEvcGx1Z2lucy5xbWx0eXBlcworCQl2bW92ZSB1 c3IvbGliL3F0Ni9xbWwvUXRNdWx0aW1lZGlhL3FtbGRpcgorCQl2bW92ZSAidXNyL2xpYi8qLnNv IgorCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwl9Cit9CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni1tdWx0aW1lZGlhL3VwZGF0ZSBiL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdXBkYXRlCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODQ0NTUyNDY1MjIyCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9xdDYtbXVsdGltZWRpYS91cGRhdGUKQEAgLTAsMCArMSBAQAor cGtnbmFtZT0iJHtwa2duYW1lLzYtL30tZXZlcnl3aGVyZS1zcmMiCgpGcm9tIDQzYjcwYWZkNTY4 OTFiMjE3ZTRiMzBlYzE3OTdiOTAzNDc3NGYyODggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0y MERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTg6 MjI6NDggKzA3MDAKU3ViamVjdDogW1BBVENIIDIzLzI2XSBOZXcgcGFja2FnZTogcXQ2LWNvbm5l Y3Rpdml0eS02LjMuMQoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAgICAgICAgfCAg MiArKwogc3JjcGtncy9xdDYtY29ubmVjdGl2aXR5LWRldmVsICAgIHwgIDEgKwogc3JjcGtncy9x dDYtY29ubmVjdGl2aXR5L3RlbXBsYXRlIHwgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiAzIGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAw MCBzcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHktZGV2ZWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni1jb25uZWN0aXZpdHkvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJz IGIvY29tbW9uL3NobGlicwppbmRleCBkYTc4ZmFhNjg5ZDUuLmQ0NjY0M2ZjMzFlZCAxMDA2NDQK LS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0yMDcxLDYgKzIwNzEs OCBAQCBsaWJRdDZEZXNpZ25lci5zby42IHF0Ni10b29scy02LjEuMF8xCiBsaWJRdDZEZXNpZ25l ckNvbXBvbmVudHMuc28uNiBxdDYtdG9vbHMtNi4xLjBfMQogbGliUXQ2SGVscC5zby42IHF0Ni10 b29scy02LjEuMF8xCiBsaWJRdDZVaVRvb2xzLnNvLjYgcXQ2LXRvb2xzLTYuMS4wXzEKK2xpYlF0 Nk5mYy5zby42IHF0Ni1jb25uZWN0aXZpdHktNi4zLjFfMQorbGliUXQ2Qmx1ZXRvb3RoLnNvLjYg cXQ2LWNvbm5lY3Rpdml0eS02LjMuMV8xCiBsaWJRdDZIdW5zcGVsbElucHV0TWV0aG9kLnNvLjYg cXQ2LXZpcnR1YWxrZXlib2FyZC02LjEuMF8xCiBsaWJRdDZWaXJ0dWFsS2V5Ym9hcmQuc28uNiBx dDYtdmlydHVhbGtleWJvYXJkLTYuMS4wXzEKIGxpYlF0NlNlcmlhbFBvcnQuc28uNiBxdDYtc2Vy aWFscG9ydC02LjIuMGFscGhhXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0 eS1kZXZlbCBiL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS1kZXZlbApuZXcgZmlsZSBtb2RlIDEy MDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjQ3OGNjOWQ4YWEzOQotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS1kZXZlbApAQCAtMCwwICsxIEBACitxdDYtY29ubmVj dGl2aXR5ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtY29ubmVjdGl2aXR5L3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtY29ubmVjdGl2aXR5L3RlbXBs YXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNmNiNjE3NDRkMGNi Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtY29ubmVjdGl2aXR5L3RlbXBsYXRlCkBA IC0wLDAgKzEsMzAgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1jb25uZWN0aXZpdHknCitw a2duYW1lPXF0Ni1jb25uZWN0aXZpdHkKK3ZlcnNpb249Ni4zLjEKK3JldmlzaW9uPTEKK3dya3Ny Yz0icXRjb25uZWN0aXZpdHktZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKK2J1aWxkX3N0eWxl PWNtYWtlCitob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgorbWFr ZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKK3Nob3J0X2Rlc2M9IkNyb3NzLXBsYXRm b3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBDb25uZWN0aXZpdHkiCittYWludGFp bmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhAZ21haWwuY29tPiIKK2xp Y2Vuc2U9IkdQTC0zLjAtb25seSIKK2hvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKK2Rpc3RmaWxl cz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUu Kn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0Y29ubmVjdGl2aXR5LWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbn0udGFyLnh6IgorY2hlY2tzdW09YjI1Y2U0NzEwYTljNjFiYzZhNWRiYWVlYjNlMmVk OTA3YThiYzg1NDc4ZmRiMmFiNDMxMjI5Nzc2OGI2OTViMAorCitxdDYtY29ubmVjdGl2aXR5LWRl dmVsX3BhY2thZ2UoKSB7CisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2 aXNpb259CisJIHF0Ni1kZWNsYXJhdGl2ZT49JHt2ZXJzaW9ufSIKKwlzaG9ydF9kZXNjKz0iIC0g ZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRl CisJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1v dmUgdXNyL2xpYi9wa2djb25maWcKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcworCQl2bW92 ZSAidXNyL2xpYi8qLnNvIgorCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3No YXJlL3F0Ni9tb2R1bGVzCisJfQorfQoKRnJvbSBmMTA1MzZkNWNhN2Q2MWIwMWFkYmVkMDNlYjdj Y2ViMzllN2RjMTdjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0 PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFu aHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE4OjIyOjU3ICswNzAwClN1Ympl Y3Q6IFtQQVRDSCAyNC8yNl0gTmV3IHBhY2thZ2U6IHF0Ni1zZW5zb3JzLTYuMy4xCgotLS0KIGNv bW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgfCAgMiArKwogc3JjcGtncy9xdDYtc2Vuc29ycy1k ZXZlbCAgICB8ICAxICsKIHNyY3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUgfCAzMSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMo KykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0Ni1zZW5zb3JzLWRldmVsCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtc2Vuc29ycy90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL2Nv bW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IGQ0NjY0M2ZjMzFlZC4uZjYyODRlZWUx YmFlIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTIw NzMsNiArMjA3Myw4IEBAIGxpYlF0NkhlbHAuc28uNiBxdDYtdG9vbHMtNi4xLjBfMQogbGliUXQ2 VWlUb29scy5zby42IHF0Ni10b29scy02LjEuMF8xCiBsaWJRdDZOZmMuc28uNiBxdDYtY29ubmVj dGl2aXR5LTYuMy4xXzEKIGxpYlF0NkJsdWV0b290aC5zby42IHF0Ni1jb25uZWN0aXZpdHktNi4z LjFfMQorbGliUXQ2U2Vuc29ycy5zby42IHF0Ni1zZW5zb3JzLTYuMy4xXzEKK2xpYlF0NlNlbnNv cnNRdWljay5zby42IHF0Ni1zZW5zb3JzLTYuMy4xXzEKIGxpYlF0Nkh1bnNwZWxsSW5wdXRNZXRo b2Quc28uNiBxdDYtdmlydHVhbGtleWJvYXJkLTYuMS4wXzEKIGxpYlF0NlZpcnR1YWxLZXlib2Fy ZC5zby42IHF0Ni12aXJ0dWFsa2V5Ym9hcmQtNi4xLjBfMQogbGliUXQ2U2VyaWFsUG9ydC5zby42 IHF0Ni1zZXJpYWxwb3J0LTYuMi4wYWxwaGFfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2Vu c29ycy1kZXZlbCBiL3NyY3BrZ3MvcXQ2LXNlbnNvcnMtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAw MDAKaW5kZXggMDAwMDAwMDAwMDAwLi5lYjk0NTdmMDQwNTUKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL3F0Ni1zZW5zb3JzLWRldmVsCkBAIC0wLDAgKzEgQEAKK3F0Ni1zZW5zb3JzClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2Vuc29ycy90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41YTgxZjQzYjYwZWIKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL3F0Ni1zZW5zb3JzL3RlbXBsYXRlCkBAIC0wLDAgKzEsMzEgQEAKKyMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3F0Ni1zZW5zb3JzJworcGtnbmFtZT1xdDYtc2Vuc29ycwordmVyc2lvbj02LjMu MQorcmV2aXNpb249MQord3Jrc3JjPSJxdHNlbnNvcnMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u fSIKK2J1aWxkX3N0eWxlPWNtYWtlCitob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xhcmF0 aXZlLWRldmVsIHF0Ni1zdmctZGV2ZWwgcGtnLWNvbmZpZyIKK21ha2VkZXBlbmRzPSJxdDYtZGVj bGFyYXRpdmUtZGV2ZWwgcXQ2LXN2Zy1kZXZlbCIKK3Nob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3Jt IGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBTZW5zb3JzIgorbWFpbnRhaW5lcj0ixJBv w6BuIFRy4bqnbiBDw7RuZyBEYW5oIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4iCitsaWNlbnNlPSIo TEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMu MC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAiCitob21lcGFnZT0iaHR0cHM6Ly9xdC5p by8iCitkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9x dC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHNlbnNvcnMtZXZlcnl3aGVy ZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCitjaGVja3N1bT00YjI0MGI1OWVkYmE5YTQyYjQ3MzU3 NThhMjVmMjc5YTI2ODQxYjk4Mjg2NGU3YjM4ZjZlZjBiODFlMGQ2MGNjCisKK3F0Ni1zZW5zb3Jz LWRldmVsX3BhY2thZ2UoKSB7CisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7 cmV2aXNpb259CisJIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgorCXNob3J0 X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUg dXNyL2luY2x1ZGUKKwkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0 eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZworCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3Nw ZWNzCisJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9RdFNlbnNvcnMvcGx1Z2lucy5xbWx0eXBlcwor CQl2bW92ZSB1c3IvbGliL3F0Ni9xbWwvUXRTZW5zb3JzL3FtbGRpcgorCQl2bW92ZSAidXNyL2xp Yi8qLnNvIgorCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwl9Cit9CgpGcm9tIDQ2YWNjNTgzODYx YTUyMDAwMzlmOTA1OGIxMGMwOTdhNTNmNzViMGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0y MERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTg6 MjM6MDggKzA3MDAKU3ViamVjdDogW1BBVENIIDI1LzI2XSBOZXcgcGFja2FnZTogcXQ2LXJlbW90 ZW9iamVjdHMtNi4zLjEKCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAgICAgICB8 ICAyICsrCiBzcmNwa2dzL3F0Ni1yZW1vdGVvYmplY3RzLWRldmVsICAgIHwgIDEgKwogc3JjcGtn cy9xdDYtcmVtb3Rlb2JqZWN0cy90ZW1wbGF0ZSB8IDMxICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAx MjAwMDAgc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy1kZXZlbAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcXQ2LXJlbW90ZW9iamVjdHMvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9jb21tb24v c2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBmNjI4NGVlZTFiYWUuLmEwZmFiODg2OTk0OCAx MDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0yMDczLDYg KzIwNzMsOCBAQCBsaWJRdDZIZWxwLnNvLjYgcXQ2LXRvb2xzLTYuMS4wXzEKIGxpYlF0NlVpVG9v bHMuc28uNiBxdDYtdG9vbHMtNi4xLjBfMQogbGliUXQ2TmZjLnNvLjYgcXQ2LWNvbm5lY3Rpdml0 eS02LjMuMV8xCiBsaWJRdDZCbHVldG9vdGguc28uNiBxdDYtY29ubmVjdGl2aXR5LTYuMy4xXzEK K2xpYlF0NlJlbW90ZU9iamVjdHMuc28uNiBxdDYtcmVtb3Rlb2JqZWN0cy02LjMuMV8xCitsaWJR dDZSZW1vdGVPYmplY3RzUW1sLnNvLjYgcXQ2LXJlbW90ZW9iamVjdHMtNi4zLjFfMQogbGliUXQ2 U2Vuc29ycy5zby42IHF0Ni1zZW5zb3JzLTYuMy4xXzEKIGxpYlF0NlNlbnNvcnNRdWljay5zby42 IHF0Ni1zZW5zb3JzLTYuMy4xXzEKIGxpYlF0Nkh1bnNwZWxsSW5wdXRNZXRob2Quc28uNiBxdDYt dmlydHVhbGtleWJvYXJkLTYuMS4wXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXJlbW90ZW9i amVjdHMtZGV2ZWwgYi9zcmNwa2dzL3F0Ni1yZW1vdGVvYmplY3RzLWRldmVsCm5ldyBmaWxlIG1v ZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uMmEwMjdmOTUyNjZmCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy1kZXZlbApAQCAtMCwwICsxIEBACitxdDYt cmVtb3Rlb2JqZWN0cwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LXJlbW90ZW9iamVjdHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1yZW1vdGVvYmpl Y3RzL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWJi MDYzODJjOGQ2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy90 ZW1wbGF0ZQpAQCAtMCwwICsxLDMxIEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtcmVtb3Rl b2JqZWN0cycKK3BrZ25hbWU9cXQ2LXJlbW90ZW9iamVjdHMKK3ZlcnNpb249Ni4zLjEKK3Jldmlz aW9uPTEKK3dya3NyYz0icXRyZW1vdGVvYmplY3RzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0i CitidWlsZF9zdHlsZT1jbWFrZQoraG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2 ZS1kZXZlbCBwa2ctY29uZmlnIgorbWFrZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIK K3Nob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsg LSBSZW1vdGUgT2JqZWN0cyIKK21haW50YWluZXI9IsSQb8OgbiBUcuG6p24gQ8O0bmcgRGFuaCA8 Y29uZ2RhbmhxeEBnbWFpbC5jb20+IgorbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIu MC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNl cHRpb24tMS4wIgoraG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgorZGlzdGZpbGVzPSJodHRwOi8v ZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNp b259L3N1Ym1vZHVsZXMvcXRyZW1vdGVvYmplY3RzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0u dGFyLnh6IgorY2hlY2tzdW09ZWE2ZDAzOGIxMWM2MDk4MWRlMGJkMzlhNjA5MWE1OWFiZjdkMDMx ZTM3YmZjNTkyYjMxYmUxMjE3YmVmNGNhNgorCitxdDYtcmVtb3Rlb2JqZWN0cy1kZXZlbF9wYWNr YWdlKCkgeworCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQor CSBxdDYtZGVjbGFyYXRpdmUtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKKwlzaG9ydF9kZXNjKz0iIC0g ZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRl CisJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1v dmUgdXNyL2xpYi9wa2djb25maWcKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcworCQl2bW92 ZSB1c3IvbGliL3F0Ni9xbWwvUXRSZW1vdGVPYmplY3RzL3BsdWdpbnMucW1sdHlwZXMKKwkJdm1v dmUgdXNyL2xpYi9xdDYvcW1sL1F0UmVtb3RlT2JqZWN0cy9xbWxkaXIKKwkJdm1vdmUgInVzci9s aWIvKi5zbyIKKwkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJfQorfQoKRnJvbSA2NGY5NzRmM2I1 OWEwYmMyY2I4NjI5NmNlODA2NDM2N2UyMDFkNDFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9 MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3 OjEzOjExICswNzAwClN1YmplY3Q6IFtQQVRDSCAyNi8yNl0gTmV3IHBhY2thZ2U6IHF0Ni13ZWJl bmdpbmUtNi4zLjEuCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgIDcgKwogc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsICAgICAgICAgICAg ICAgICAgIHwgICAgMSArCiBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZXhhbXBsZXMgICAgICAgICAg ICAgICAgfCAgICAxICsKIC4uLi9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaCAgICAg ICAgICB8ICAgMTEgKwogLi4uL3BhdGNoZXMvMDAwMi1lbmFibGUtcHBjNjQucGF0Y2ggICAgICAg ICAgIHwgICAyMCArCiAuLi4vcGF0Y2hlcy8wMDAzLWNyb3NzLWhhY2sucGF0Y2ggICAgICAgICAg ICAgfCAgIDEwICsKIC4uLi8wMDA0LXBwYy1kaXNhYmxlLWp4bC1kZWNvZGVyLnBhdGNoICAgICAg ICB8ICAgMTMgKwogLi4uL3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFrZS1jaGVjay5wYXRjaCAg IHwgICAxNCArCiAuLi4vMDEwMC1jaHJvbWl1bS1zYW5kYm94LW1lbWJhcnJpZXIucGF0Y2ggICAg fCAgIDU4ICsKIC4uLi9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMS1zaXplX3QucGF0Y2ggICB8 ICAgMTYgKwogLi4uLzAxMDItY2hyb21pdW0tOTAtcnV5LWluY2x1ZGUucGF0Y2ggICAgICAgIHwg ICAxOSArCiAuLi4tdjgtbW9ub3RvbmljLXB0aHJlYWQtY29udF90aW1lZHdhaXQucGF0Y2ggfCAg IDIyICsKIC4uLi8wMTA0LWNocm9taXVtLXJldmVydC05ZDA4MGMwLnBhdGNoICAgICAgICB8ICAx NjIgKwogLi4uLWNocm9taXVtLXJldmVydC1kcm9wLW9mLXN5c3RlbS1qYXZhLnBhdGNoIHwgICAx NSArCiAuLi4vcGF0Y2hlcy8wMTA2LWNocm9taXVtLXN5c3RlbS1ub2RlanMucGF0Y2ggfCAgIDIw ICsKIC4uLi8wMTA3LWNocm9taXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2ggICB8ICAgMTgg KwogLi4uLzAxMDgtY2hyb21pdW0tZml4LW5hcnJvd2luZy1jYXN0LnBhdGNoICAgIHwgICA1MyAr CiAuLi4vMDEwOS1jaHJvbWl1bS1yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoICAgfCAgIDMyICsK IC4uLml1bS1yZXZlcnQtdXNlLWZmaWxlLWNvbXBpbGF0aW9uLWRpci5wYXRjaCB8ICAgNTcgKwog Li4uMTEtY2hyb21pdW0tbm8tV25vLXN0cmluZ29wLW92ZXJyZWFkLnBhdGNoIHwgICAxMCArCiAu Li4vMDE1MC1jaHJvbWl1bS1nbGliYy1saWJjX21hbGxvYy5wYXRjaCAgICAgfCAgIDI0ICsKIC4u Li1pbmNsdWRlLXN5cy1yZWcuaC10by1nZXQtX19XT1JEU0laRS5wYXRjaCB8ICAgMjEgKwogLi4u LzAyMDEtY2hyb21pdW0tbXVzbC1kaXNwYXRjaC10by1tdXNsLnBhdGNoIHwgIDEwMyArCiAuLi4v MDIwMi1jaHJvbWl1bS1tdXNsLW5vLW1hbGxpbmZvLnBhdGNoICAgICAgfCAgIDYyICsKIC4uLi8w MjAzLWNocm9taXVtLW11c2wtc2lnaW5mb190LnBhdGNoICAgICAgICB8ICAgMTggKwogLi4uLzAy MDQtY2hyb21pdW0tbXVzbC1zdGFja3N0YXJ0LnBhdGNoICAgICAgIHwgICAyMCArCiAuLi4vcGF0 Y2hlcy8wMjA1LWNocm9taXVtLW11c2wtc2FuZGJveC5wYXRjaCAgfCAgIDkyICsKIC4uLjAyMDYt Y2hyb21pdW0tbXVzbC1kZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaCB8ICAgMTUgKwogLi4uL3BhdGNo ZXMvMDIwOC1jaHJvbWl1bS1tdXNsLWV4ZWNpbmZvLnBhdGNoIHwgIDEyNSArCiAuLi4vMDIwOS1j aHJvbWl1bS1tdXNsLXRocmVhZC1zdGFja3NpemUucGF0Y2ggfCAgIDIyICsKIC4uLi8wMjEwLWNo cm9taXVtLW11c2wtbXNndmVjLXB1c2hfYmFjay5wYXRjaCB8ICAgMTQgKwogLi4uaXVtLW11c2wt Y2Fub25pY2FsaXplLWZpbGUtbmFtZS1tdXNsLnBhdGNoIHwgICAxMSArCiAuLi4vMDIxMi1jaHJv bWl1bS1tdXNsLW5vLWdldGNvbnRleHQucGF0Y2ggICAgfCAgIDI5ICsKIC4uLi9wYXRjaGVzLzAy MTMtY2hyb21pdW0tbXVzbC1jcmFzaHBhZC5wYXRjaCB8ICAgMjQgKwogLi4uL3BhdGNoZXMvMDIx NC1jaHJvbWl1bS1tdXNsLWZpeGVzLnBhdGNoICAgIHwgIDEwOCArCiAuLi4vcGF0Y2hlcy8wMjE1 LWNocm9taXVtLW11c2wtY2RlZnMucGF0Y2ggICAgfCAgIDI5ICsKIC4uLi9wYXRjaGVzLzAyMTYt Y2hyb21pdW0tbXVzbC1zdGF0LnBhdGNoICAgICB8ICAgMTIgKwogLi4uL3BhdGNoZXMvMDIxNy1j aHJvbWl1bS1tdXNsLXJlc29sdmVyLnBhdGNoIHwgICA3NyArCiAuLi4vcGF0Y2hlcy8wNjAwLWNo cm9taXVtLXNuZGlvLnBhdGNoICAgICAgICAgfCAgODc2ICsrKysKIC4uLi9wYXRjaGVzLzA3MDAt YXJtdjdsLW5lb24ucGF0Y2ggICAgICAgICAgICB8ICAgMTAgKwogLi4uLWNocm9taXVtLW11c2wt Y3Jvc3Mtbm8tYXNtX3B0cmFjZV9oLnBhdGNoIHwgICAzMCArCiAuLi4vMDc1MS1jaHJvbWl1bS1t dXNsLWFybS11c2VyX3ZmcC5wYXRjaCAgICAgfCAgIDIwICsKIC4uLi8wNzUyLWNocm9taXVtLW11 c2wtYXJtLWVsZl9hdXh2X3QucGF0Y2ggICB8ICAgMTggKwogLi4uMDgwMS1jaHJvbWl1bS1pNjg2 LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoIHwgICAyNCArCiAuLi4vcGF0Y2hlcy8wOTAwLXh4eC1w cGM2NGxlLWxpYnZweC5wYXRjaCAgICAgfCAgIDY1ICsKIC4uLi8wOTAxLXh4eC1wcGM2NGxlLXNh bmRib3gtbGludXgtc3RhdC5wYXRjaCB8ICAgMzEgKwogLi4uL3BhdGNoZXMvMDkwMi14eHgtcHBj NjRsZS1zdXBwb3J0LnBhdGNoICAgIHwgMzU1NiArKysrKysrKysrKysrKysrKwogLi4uLzA5MDMt eHh4LXBwYzY0bGUtc3dpZnRzaGFkZXIucGF0Y2ggICAgICAgIHwgICAxOCArCiBzcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvdGVtcGxhdGUgICAgICAgICAgICAgICAgfCAgMTc4ICsKIHNyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS91cGRhdGUgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogNTAgZmlsZXMgY2hh bmdlZCwgNjE5MiBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9xdDYt d2ViZW5naW5lLWRldmVsCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9xdDYtd2ViZW5naW5l LWV4YW1wbGVzCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDAwMS1Ob25lLW5vLWRlYnVnLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMi1lbmFibGUtcHBjNjQucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAzLWNyb3NzLWhhY2sucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA0 LXBwYy1kaXNhYmxlLWp4bC1kZWNvZGVyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFrZS1jaGVjay5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDAtY2hy b21pdW0tc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMS1zaXplX3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAyLWNocm9taXVtLTkwLXJ1eS1p bmNsdWRlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEwMy1jaHJvbWl1bS12OC1tb25vdG9uaWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAx MDQtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA1LWNocm9taXVtLXJldmVydC1kcm9wLW9mLXN5 c3RlbS1qYXZhLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDEwNi1jaHJvbWl1bS1zeXN0ZW0tbm9kZWpzLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNy1jaHJvbWl1bS1jdXJzZWRe VXNjb3BlZF9maWxlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDEwOC1jaHJvbWl1bS1maXgtbmFycm93aW5nLWNhc3QucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA5LWNocm9taXVt LXJlbW92ZS1zdHJpcF9iaW5hcnkucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEwLWNocm9taXVtLXJldmVydC11c2UtZmZpbGUtY29tcGls YXRpb24tZGlyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDExMS1jaHJvbWl1bS1uby1Xbm8tc3RyaW5nb3Atb3ZlcnJlYWQucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUwLWNocm9t aXVtLWdsaWJjLWxpYmNfbWFsbG9jLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1tdXNsLWluY2x1ZGUtc3lzLXJlZy5o LXRvLWdldC1fX1dPUkRTSVpFLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDIwMS1jaHJvbWl1bS1tdXNsLWRpc3BhdGNoLXRvLW11c2wucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAy LWNocm9taXVtLW11c2wtbm8tbWFsbGluZm8ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAzLWNocm9taXVtLW11c2wtc2lnaW5mb190LnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIw NC1jaHJvbWl1bS1tdXNsLXN0YWNrc3RhcnQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA1LWNocm9taXVtLW11c2wtc2FuZGJveC5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDYt Y2hyb21pdW0tbXVzbC1kZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDgtY2hyb21pdW0tbXVzbC1leGVjaW5m by5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAyMDktY2hyb21pdW0tbXVzbC10aHJlYWQtc3RhY2tzaXplLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMC1jaHJvbWl1bS1tdXNsLW1z Z3ZlYy1wdXNoX2JhY2sucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMjExLWNocm9taXVtLW11c2wtY2Fub25pY2FsaXplLWZpbGUtbmFtZS1t dXNsLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDIxMi1jaHJvbWl1bS1tdXNsLW5vLWdldGNvbnRleHQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjEzLWNocm9taXVtLW11c2wtY3Jh c2hwYWQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMjE0LWNocm9taXVtLW11c2wtZml4ZXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE1LWNocm9taXVtLW11c2wtY2RlZnMucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE2 LWNocm9taXVtLW11c2wtc3RhdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTctY2hyb21pdW0tbXVzbC1yZXNvbHZlci5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA2MDAtY2hyb21p dW0tc25kaW8ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wNzAwLWFybXY3bC1uZW9uLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1MC1jaHJvbWl1bS1tdXNsLWNyb3NzLW5vLWFzbV9w dHJhY2VfaC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzA3NTEtY2hyb21pdW0tbXVzbC1hcm0tdXNlcl92ZnAucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUyLWNocm9taXVtLW11c2wt YXJtLWVsZl9hdXh2X3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wODAxLWNocm9taXVtLWk2ODYtdmFhcGktZnBlcm1pc3NpdmUucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAwLXh4 eC1wcGM2NGxlLWxpYnZweC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzA5MDEteHh4LXBwYzY0bGUtc2FuZGJveC1saW51eC1zdGF0LnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMi14 eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDkwMy14eHgtcHBjNjRsZS1zd2lmdHNoYWRlci5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRhdGUKCmRpZmYgLS1naXQgYS9jb21t b24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCBhMGZhYjg4Njk5NDguLmZhNzJmOGVlMjRk MiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0yMDg2 LDYgKzIwODYsMTMgQEAgbGliUXQ2UG9zaXRpb25pbmcuc28uNiBxdDYtbG9jYXRpb24tNi4yLjBh bHBoYV8xCiBsaWJRdDZNdWx0aW1lZGlhV2lkZ2V0cy5zby42IHF0Ni1tdWx0aW1lZGlhLTYuMy4x XzEKIGxpYlF0Nk11bHRpbWVkaWFRdWljay5zby42IHF0Ni1tdWx0aW1lZGlhLTYuMy4xXzEKIGxp YlF0Nk11bHRpbWVkaWEuc28uNiBxdDYtbXVsdGltZWRpYS02LjMuMV8xCitsaWJRdDZXZWJFbmdp bmVRdWljay5zby42IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGliUXQ2UGRmV2lkZ2V0cy5zby42 IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGliUXQ2UGRmUXVpY2suc28uNiBxdDYtd2ViZW5naW5l LTYuMy4xXzEKK2xpYlF0NldlYkVuZ2luZUNvcmUuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEK K2xpYlF0NlBkZi5zby42IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGliUXQ2V2ViRW5naW5lUXVp Y2tEZWxlZ2F0ZXNRbWwuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKK2xpYlF0NldlYkVuZ2lu ZVdpZGdldHMuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKIGxpYm5wdGguc28uMCBucHRoLTEu MV8xCiBsaWJucHVwbnAuc28uNCBsaWJucHVwbnAtNC4wLjJfMQogbGliZ2xmdy5zby4zIGdsZnct My4wLjRfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAw MDAwMC4uOGU0ZDFiOTljNTg3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lLWRldmVsCkBAIC0wLDAgKzEgQEAKK3F0Ni13ZWJlbmdpbmUKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZXhhbXBsZXMgYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUtZXhhbXBsZXMKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXgg MDAwMDAwMDAwMDAwLi44ZTRkMWI5OWM1ODcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUtZXhhbXBsZXMKQEAgLTAsMCArMSBAQAorcXQ2LXdlYmVuZ2luZQpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLjFiYTMzZjhlNmZkOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaApAQCAtMCwwICsx LDExIEBACistLS0gYS9jbWFrZS9GdW5jdGlvbnMuY21ha2UKKysrKyBiL2NtYWtlL0Z1bmN0aW9u cy5jbWFrZQorQEAgLTgxMyw2ICs4MTMsOCBAQCBtYWNybyhhcHBlbmRfYnVpbGRfdHlwZV9zZXR1 cCkKKyAgICAgICAgIGVuZGlmKCkKKyAgICAgZWxzZWlmKCR7Y29uZmlnfSBTVFJFUVVBTCAiTWlu U2l6ZVJlbCIpCisgICAgICAgICBsaXN0KEFQUEVORCBnbkFyZ0FyZyBpc19kZWJ1Zz1mYWxzZSBz eW1ib2xfbGV2ZWw9MCBvcHRpbWl6ZV9mb3Jfc2l6ZT10cnVlKQorKyAgICBlbHNlaWYoJHtjb25m aWd9IFNUUkVRVUFMICJOb25lIikKKysgICAgICAgIGxpc3QoQVBQRU5EIGduQXJnQXJnIGlzX2Rl YnVnPWZhbHNlIHN5bWJvbF9sZXZlbD0wKQorICAgICBlbmRpZigpCisgICAgIGlmKEZFQVRVUkVf ZGV2ZWxvcGVyX2J1aWxkIE9SICgke2NvbmZpZ30gU1RSRVFVQUwgIkRlYnVnIikgT1IgUVRfRkVB VFVSRV93ZWJlbmdpbmVfc2FuaXRpemVyKQorICAgICAgICAgbGlzdChBUFBFTkQgZ25BcmdBcmcK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDItZW5hYmxlLXBw YzY0LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMi1lbmFibGUtcHBj NjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kNzJlZjFh ZDFhMTAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MDAyLWVuYWJsZS1wcGM2NC5wYXRjaApAQCAtMCwwICsxLDIwIEBACistLS0gYS9jbWFrZS9GdW5j dGlvbnMuY21ha2UKKysrKyBiL2NtYWtlL0Z1bmN0aW9ucy5jbWFrZQorQEAgLTYyMiw2ICs2MjIs OCBAQCBmdW5jdGlvbihnZXRfZ25fYXJjaCByZXN1bHQgYXJjaCkKKyAgICAgICAgIHNldCgke3Jl c3VsdH0gIm1pcHNlbCIgUEFSRU5UX1NDT1BFKQorICAgICBlbHNlaWYoYXJjaCBTVFJFUVVBTCAi bWlwc2VsNjQiKQorICAgICAgICAgc2V0KCR7cmVzdWx0fSAibWlwczY0ZWwiIFBBUkVOVF9TQ09Q RSkKKysgICAgZWxzZWlmKGFyY2ggU1RSRVFVQUwgInBvd2VyNjQiKQorKyAgICAgICAgc2V0KCR7 cmVzdWx0fSAicG93ZXI2NCIgUEFSRU5UX1NDT1BFKQorICAgICBlbHNlKCkKKyAgICAgICAgIG1l c3NhZ2UoREVCVUcgIlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZTogJHthcmNofSIpCisgICAgIGVu ZGlmKCkKK0BAIC02NDEsNiArNjQzLDggQEAgZnVuY3Rpb24oZ2V0X3Y4X2FyY2ggcmVzdWx0IHRh cmdldEFyY2ggaAorICAgICAgICAgICAgIHNldCgke3Jlc3VsdH0gIm1pcHNlbCIgUEFSRU5UX1ND T1BFKQorICAgICAgICAgZWxzZWlmKGhvc3RBcmNoIFNUUkVRVUFMICJtaXBzZWw2NCIpCisgICAg ICAgICAgICAgc2V0KCR7cmVzdWx0fSAibWlwc2VsIiBQQVJFTlRfU0NPUEUpCisrICAgICAgICBl bHNlaWYoaG9zdEFyY2ggU1RSRVFVQUwgInBvd2VyNjQiKQorKyAgICAgICAgICAgIHNldCgke3Jl c3VsdH0gInBvd2VyNjQiIFBBUkVOVF9TQ09QRSkKKyAgICAgICAgIGVsc2UoKQorICAgICAgICAg ICAgIG1lc3NhZ2UoREVCVUcgIlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZTogJHtob3N0QXJjaH0i KQorICAgICAgICAgZW5kaWYoKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uZWE5ZjkwMDk0YTYzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0t LSBhL3NyYy9jb3JlL2FwaS9DTWFrZUxpc3RzLnR4dAorKysrIGIvc3JjL2NvcmUvYXBpL0NNYWtl TGlzdHMudHh0CitAQCAtNTAsNiArNTAsNyBAQCBxdF9pbnRlcm5hbF9hZGRfbW9kdWxlKFdlYkVu Z2luZUNvcmUKKyAgICAgICAgIFF0OjpHdWkKKyAgICAgICAgIFF0OjpOZXR3b3JrCisgICAgICAg ICBRdDo6UXVpY2sKKysgICAgICAgIFgxMQorICkKKyAKKyBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMo V2ViRW5naW5lQ29yZSBQUk9QRVJUSUVTIFFUV0VCRU5HSU5FUFJPQ0VTU19OQU1FICR7cXRXZWJF bmdpbmVQcm9jZXNzTmFtZX0pCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMDA0LXBwYy1kaXNhYmxlLWp4bC1kZWNvZGVyLnBhdGNoIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDAwNC1wcGMtZGlzYWJsZS1qeGwtZGVjb2Rlci5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjczYzExNTE5NjhmNAotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDQtcHBjLWRpc2FibGUt anhsLWRlY29kZXIucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEvc3JjL2NvcmUvQ01ha2VM aXN0cy50eHQKKysrKyBiL3NyYy9jb3JlL0NNYWtlTGlzdHMudHh0CitAQCAtNDE0LDYgKzQxNCwx MCBAQCBmb3JlYWNoKGFyY2ggJHthcmNoc30pCisgICAgICAgICAgICAgICAgIENPTkRJVElPTiBR VF9GRUFUVVJFX3dlYmVuZ2luZV9vem9uZV94MTEgQU5EIFhTQ1JOU0FWRVJfRk9VTkQKKyAgICAg ICAgICAgICApCisgCisrICAgICAgICAgICAgaWYgKGNwdSBTVFJFUVVBTCAicHBjNjQiKQorKyAg ICAgICAgICAgICAgICBsaXN0KEFQUEVORCBnbkFyZ0FyZyBlbmFibGVfanhsX2RlY29kZXI9ZmFs c2UpCisrICAgICAgICAgICAgZW5kaWYoKQorKworICAgICAgICAgICAgIGlmKFFUX0ZFQVRVUkVf d2ViZW5naW5lX2tlcmJlcm9zKQorICAgICAgICAgICAgICAgICBsaXN0KEFQUEVORCBnbkFyZ0Fy ZworICAgICAgICAgICAgICAgICAgICAgIGV4dGVybmFsX2dzc2FwaV9pbmNsdWRlX2Rpcj0iJHtH U1NBUElfSU5DTFVERV9ESVJTfS9nc3NhcGkiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMDUwLW5vLWdsaWJjLWNtYWtlLWNoZWNrLnBhdGNoIGIvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFrZS1jaGVjay5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmY3NTZiZjAyODZiYgotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwNTAtbm8tZ2xpYmMt Y21ha2UtY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorLS0tIGEvY29uZmlndXJlLmNtYWtl CisrKysgYi9jb25maWd1cmUuY21ha2UKK0BAIC00OTksMTEgKzQ5OSw2IEBAIGFkZF9jaGVja19m b3Jfc3VwcG9ydCgKKyApCisgYWRkX2NoZWNrX2Zvcl9zdXBwb3J0KAorICAgIE1PRFVMRVMgUXRX ZWJFbmdpbmUgUXRQZGYKKy0gICBDT05ESVRJT04gTk9UIExJTlVYIE9SIFRFU1RfZ2xpYmMKKy0g ICBNRVNTQUdFICJBIHN1aXRhYmxlIHZlcnNpb24gPj0gMi4xNyBvZiBnbGliYyBpcyByZXF1aXJl ZC4iCistKQorLWFkZF9jaGVja19mb3Jfc3VwcG9ydCgKKy0gICBNT0RVTEVTIFF0V2ViRW5naW5l IFF0UGRmCisgICAgQ09ORElUSU9OIE5PVCBMSU5VWCBPUiBURVNUX2tocgorICAgIE1FU1NBR0Ug IkJ1aWxkIHJlcXVpcmVzIEtocm9ub3MgZGV2ZWxvcG1lbnQgaGVhZGVycyBmb3IgYnVpbGQgLSBz ZWUgbWVzYS9saWJlZ2wxLW1lc2EtZGV2IgorICkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxMDAtY2hyb21pdW0tc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNoIGIv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMC1jaHJvbWl1bS1zYW5kYm94LW1lbWJh cnJpZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yZGQ3 YjRhYTk0OGYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTAwLWNocm9taXVtLXNhbmRib3gtbWVtYmFycmllci5wYXRjaApAQCAtMCwwICsxLDU4IEBA CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRi b3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKK0BAIC00MTMsNiAr NDEzLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0TworICAgc3dp dGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfZXhpdDoKKyAgICAgY2FzZSBfX05SX2V4aXRf Z3JvdXA6CisrICAgIGNhc2UgX19OUl9tZW1iYXJyaWVyOgorICAgICBjYXNlIF9fTlJfd2FpdDQ6 CisgICAgIGNhc2UgX19OUl93YWl0aWQ6CisgI2lmIGRlZmluZWQoX19pMzg2X18pCistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm02NF9s aW51eF9zeXNjYWxscy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51 eC9zeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF9zeXNjYWxscy5oCitAQCAtMTIxNSw0ICsxMjE1 LDggQEAKKyAjZGVmaW5lIF9fTlJfbGFuZGxvY2tfcmVzdHJpY3Rfc2VsZiA0NDYKKyAjZW5kaWYK KyAKKysjaWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQorKyNkZWZpbmUgX19OUl9tZW1iYXJy aWVyIDI4MworKyNlbmRpZgorKworICNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVB REVSU19BUk02NF9MSU5VWF9TWVNDQUxMU19IXworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtX2xpbnV4X3N5c2NhbGxzLmgKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2FybV9s aW51eF9zeXNjYWxscy5oCitAQCAtMTYxNyw2ICsxNjE3LDEwIEBACisgI2RlZmluZSBfX05SX2xh bmRsb2NrX3Jlc3RyaWN0X3NlbGYgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNDQ2KQorICNlbmRpZgor IAorKyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJpZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJp ZXIgKF9fTlJfU1lTQ0FMTF9CQVNFKzM4OSkKKysjZW5kaWYKKysKKyAvLyBBUk0gcHJpdmF0ZSBz eXNjYWxscy4KKyAjaWYgIWRlZmluZWQoX19BUk1fTlJfQkFTRSkKKyAjZGVmaW5lIF9fQVJNX05S X0JBU0UgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMHhGMDAwMCkKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3g4Nl8zMl9saW51eF9zeXNjYWxs cy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVh ZGVycy94ODZfMzJfbGludXhfc3lzY2FsbHMuaAorQEAgLTE3NTAsNSArMTc1MCw5IEBACisgI2Rl ZmluZSBfX05SX2xhbmRsb2NrX3Jlc3RyaWN0X3NlbGYgNDQ2CisgI2VuZGlmCisgCisrI2lmICFk ZWZpbmVkKF9fTlJfbWVtYmFycmllcikKKysjZGVmaW5lIF9fTlJfbWVtYmFycmllciAzNzUKKysj ZW5kaWYKKysKKyAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfWDg2XzMy X0xJTlVYX1NZU0NBTExTX0hfCisgCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy94ODZfNjRfbGludXhfc3lzY2FsbHMuaAorKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2XzY0X2xp bnV4X3N5c2NhbGxzLmgKK0BAIC0xNDM4LDUgKzE0MzgsOSBAQAorICNkZWZpbmUgX19OUl9sYW5k bG9ja19yZXN0cmljdF9zZWxmIDQ0NgorICNlbmRpZgorIAorKyNpZiAhZGVmaW5lZChfX05SX21l bWJhcnJpZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJpZXIgMzI0CisrI2VuZGlmCisrCisgI2Vu ZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1g4Nl82NF9MSU5VWF9TWVNDQUxM U19IXworIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMS1z aXplX3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAxLXNpemVfdC5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmZjY2MwODVkYTMx MQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDEt c2l6ZV90LnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL3BsYXRmb3JtL1BsYXRmb3JtTWV0aG9kcy5oCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9wbGF0 Zm9ybS9QbGF0Zm9ybU1ldGhvZHMuaAorQEAgLTIzOSwxMSArMjM5LDExIEBAIGlubGluZSB2b2lk IERlZmF1bHRPdmVycmlkZUZlYXR1cmVzTXRsKFAKKyB1c2luZyBQcm9ncmFtS2V5VHlwZSAgID0g c3RkOjphcnJheTx1aW50OF90LCAyMD47CisgdXNpbmcgQ2FjaGVQcm9ncmFtRnVuYyA9IHZvaWQg KCopKFBsYXRmb3JtTWV0aG9kcyAqcGxhdGZvcm0sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IFByb2dyYW1LZXlUeXBlICZrZXksCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNpemVfdCBwcm9ncmFtU2l6ZSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RkOjpzaXplX3QgcHJvZ3JhbVNpemUsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnByb2dyYW1CeXRlcyk7CisgaW5saW5l IHZvaWQgRGVmYXVsdENhY2hlUHJvZ3JhbShQbGF0Zm9ybU1ldGhvZHMgKnBsYXRmb3JtLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHJvZ3JhbUtleVR5cGUgJmtleSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBwcm9ncmFtU2l6ZSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6c2l6ZV90IHByb2dyYW1TaXplLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqcHJvZ3JhbUJ5 dGVzKQorIHt9CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTAyLWNocm9taXVtLTkwLXJ1eS1pbmNsdWRlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDEwMi1jaHJvbWl1bS05MC1ydXktaW5jbHVkZS5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmJiYmE1NzkwNzZkNgotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDItY2hyb21pdW0tOTAtcnV5LWlu Y2x1ZGUucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorRnJvbSA3MTQwOTJmMzM2YmIxNGQyZmNjMjcz OTZlYzMyM2IzZDg0M2JiOTYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RlcGhh biBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVGh1LCA0IE1hciAyMDIx IDE1OjA1OjQ2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIElXWVU6IGluY2x1ZGUgbGltaXRzIGZv ciBzdGQ6Om51bWVyaWNfbGltaXRzCisKKy0tLQorIHRoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L2Js b2NrX21hcC5jYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvYmxvY2tfbWFw LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkv YmxvY2tfbWFwLmNjCitAQCAtMTcsNiArMTcsNyBAQCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGlj ZW5zZS4KKyAKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorICNpbmNsdWRlIDxjc3RkaW50PgorKyNp bmNsdWRlIDxsaW1pdHM+CisgCisgI2lmZGVmIFJVWV9NQUtFQkxPQ0tNQVBfREVCVUcKKyAjaW5j bHVkZSA8Y3N0ZGlvPgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEwMy1jaHJvbWl1bS12OC1tb25vdG9uaWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5wYXRjaCBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDMtY2hyb21pdW0tdjgtbW9ub3Rvbmlj LXB0aHJlYWQtY29udF90aW1lZHdhaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi4xZGM4YmM0ZDNkMTcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAzLWNocm9taXVtLXY4LW1vbm90b25pYy1wdGhyZWFkLWNv bnRfdGltZWR3YWl0LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK1VzZSBtb25vdG9uaWMgY2xvY2sg Zm9yIHB0aHJlYWRfY29uZF90aW1lZHdhaXQgd2l0aCBtdXNsIHRvby4KKworLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9iYXNlL3BsYXRmb3JtL2NvbmRpdGlvbi12YXJpYWJsZS5j YworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9iYXNlL3BsYXRmb3JtL2NvbmRp dGlvbi12YXJpYWJsZS5jYworQEAgLTIwLDcgKzIwLDcgQEAgbmFtZXNwYWNlIGJhc2UgeworIAor IENvbmRpdGlvblZhcmlhYmxlOjpDb25kaXRpb25WYXJpYWJsZSgpIHsKKyAjaWYgKFY4X09TX0ZS RUVCU0QgfHwgVjhfT1NfTkVUQlNEIHx8IFY4X09TX09QRU5CU0QgfHwgXAorLSAgICAgKFY4X09T X0xJTlVYICYmIFY4X0xJQkNfR0xJQkMpKQorKyAgICAgVjhfT1NfTElOVVgpCisgICAvLyBPbiBG cmVlL05ldC9PcGVuQlNEIGFuZCBMaW51eCB3aXRoIGdsaWJjIHdlIGNhbiBjaGFuZ2UgdGhlIHRp bWUKKyAgIC8vIHNvdXJjZSBmb3IgcHRocmVhZF9jb25kX3RpbWVkd2FpdCgpIHRvIHVzZSB0aGUg bW9ub3RvbmljIGNsb2NrLgorICAgcHRocmVhZF9jb25kYXR0cl90IGF0dHI7CitAQCAtOTYsNyAr OTYsNyBAQCBib29sIENvbmRpdGlvblZhcmlhYmxlOjpXYWl0Rm9yKE11dGV4KiBtCisgICAgICAg Jm5hdGl2ZV9oYW5kbGVfLCAmbXV0ZXgtPm5hdGl2ZV9oYW5kbGUoKSwgJnRzKTsKKyAjZWxzZQor ICNpZiAoVjhfT1NfRlJFRUJTRCB8fCBWOF9PU19ORVRCU0QgfHwgVjhfT1NfT1BFTkJTRCB8fCBc CistICAgICAoVjhfT1NfTElOVVggJiYgVjhfTElCQ19HTElCQykpCisrICAgICBWOF9PU19MSU5V WCkKKyAgIC8vIE9uIEZyZWUvTmV0L09wZW5CU0QgYW5kIExpbnV4IHdpdGggZ2xpYmMgd2UgY2Fu IGNoYW5nZSB0aGUgdGltZQorICAgLy8gc291cmNlIGZvciBwdGhyZWFkX2NvbmRfdGltZWR3YWl0 KCkgdG8gdXNlIHRoZSBtb25vdG9uaWMgY2xvY2suCisgICByZXN1bHQgPSBjbG9ja19nZXR0aW1l KENMT0NLX01PTk9UT05JQywgJnRzKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxMDQtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2ggYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA0LWNocm9taXVtLXJldmVydC05ZDA4MGMwLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDJiMWVlOWVjMDYzCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNC1jaHJvbWl1 bS1yZXZlcnQtOWQwODBjMC5wYXRjaApAQCAtMCwwICsxLDE2MiBAQAorIE9yaWdpbmFsIGNoYW5n ZSdzIGRlc2NyaXB0aW9uOgorID4gUmVwbGFjZSAnYmxhY2tsaXN0JyB3aXRoICdpZ25vcmVsaXN0 JyBpbiAuL3Rvb2xzL21zYW4vLgorID4KKyA+IEJ1ZzogMTA5NzI3MiwgMTA5NzI2OAorID4gQ2hh bmdlLUlkOiBJZDVjODIyN2E1YmZiMWZmYWVjODJkMzE2OGI2MDkwODViMTBjODI5NworID4gUmV2 aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJv bWl1bS9zcmMvKy8yODY3NzMwCisgPiBDb21taXQtUXVldWU6IER5bGFuIEN1dGxlciA8ZHlsYW5j dXRsZXJAZ29vZ2xlLmNvbT4KKyA+IFJldmlld2VkLWJ5OiBOaWNvIFdlYmVyIDx0aGFraXNAY2hy b21pdW0ub3JnPgorID4gUmV2aWV3ZWQtYnk6IEpvbmF0aGFuIE1ldHptYW4gPG1ldHptYW5AY2hy b21pdW0ub3JnPgorID4gQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg4 MzAzNX0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9jb25maWcvc2FuaXRpemVy cy9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2NvbmZpZy9zYW5p dGl6ZXJzL0JVSUxELmduCitAQCAtMjcyLDExICsyNzIsMTEgQEAgY29uZmlnKCJhc2FuX2ZsYWdz IikgeworICAgaWYgKGlzX2FzYW4pIHsKKyAgICAgY2ZsYWdzICs9IFsgIi1mc2FuaXRpemU9YWRk cmVzcyIgXQorICAgICBpZiAoaXNfd2luKSB7CistICAgICAgaWYgKCFkZWZpbmVkKGFzYW5fd2lu X2Jsb2NrbGlzdF9wYXRoKSkgeworLSAgICAgICAgYXNhbl93aW5fYmxvY2tsaXN0X3BhdGggPQor KyAgICAgIGlmICghZGVmaW5lZChhc2FuX3dpbl9ibGFja2xpc3RfcGF0aCkpIHsKKysgICAgICAg IGFzYW5fd2luX2JsYWNrbGlzdF9wYXRoID0KKyAgICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90 b29scy9tZW1vcnkvYXNhbi9ibG9ja2xpc3Rfd2luLnR4dCIsIHJvb3RfYnVpbGRfZGlyKQorICAg ICAgIH0KKy0gICAgICBjZmxhZ3MgKz0gWyAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSRhc2FuX3dp bl9ibG9ja2xpc3RfcGF0aCIgXQorKyAgICAgIGNmbGFncyArPSBbICItZnNhbml0aXplLWJsYWNr bGlzdD0kYXNhbl93aW5fYmxhY2tsaXN0X3BhdGgiIF0KKyAgICAgfQorICAgfQorIH0KK0BAIC0z MDYsMTMgKzMwNiwxMyBAQCBjb25maWcoImxpbmtfc2hhcmVkX2xpYnJhcnkiKSB7CisgY29uZmln KCJjZmlfZmxhZ3MiKSB7CisgICBjZmxhZ3MgPSBbXQorICAgaWYgKGlzX2NmaSAmJiBjdXJyZW50 X3Rvb2xjaGFpbiA9PSBkZWZhdWx0X3Rvb2xjaGFpbikgeworLSAgICBpZiAoIWRlZmluZWQoY2Zp X2lnbm9yZWxpc3RfcGF0aCkpIHsKKy0gICAgICBjZmlfaWdub3JlbGlzdF9wYXRoID0KKysgICAg aWYgKCFkZWZpbmVkKGNmaV9ibGFja2xpc3RfcGF0aCkpIHsKKysgICAgICBjZmlfYmxhY2tsaXN0 X3BhdGggPQorICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy9jZmkvaWdub3Jlcy50eHQi LCByb290X2J1aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgKz0gWworICAgICAgICItZnNh bml0aXplPWNmaS12Y2FsbCIsCistICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kY2ZpX2ln bm9yZWxpc3RfcGF0aCIsCisrICAgICAgIi1mc2FuaXRpemUtYmxhY2tsaXN0PSRjZmlfYmxhY2ts aXN0X3BhdGgiLAorICAgICBdCisgCisgICAgIGlmICh1c2VfY2ZpX2Nhc3QpIHsKK0BAIC00MDks MTQgKzQwOSwxNCBAQCBjb25maWcoIm1zYW5fZmxhZ3MiKSB7CisgICBpZiAoaXNfbXNhbikgewor ICAgICBhc3NlcnQoaXNfbGludXggfHwgaXNfY2hyb21lb3MsCisgICAgICAgICAgICAibXNhbiBv bmx5IHN1cHBvcnRlZCBvbiBsaW51eCB4ODZfNjQvQ2hyb21lT1MiKQorLSAgICBpZiAoIWRlZmlu ZWQobXNhbl9pZ25vcmVsaXN0X3BhdGgpKSB7CistICAgICAgbXNhbl9pZ25vcmVsaXN0X3BhdGgg PQorLSAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy9tc2FuL2lnbm9yZWxpc3QudHh0Iiwg cm9vdF9idWlsZF9kaXIpCisrICAgIGlmICghZGVmaW5lZChtc2FuX2JsYWNrbGlzdF9wYXRoKSkg eworKyAgICAgIG1zYW5fYmxhY2tsaXN0X3BhdGggPQorKyAgICAgICAgICByZWJhc2VfcGF0aCgi Ly90b29scy9tc2FuL2JsYWNrbGlzdC50eHQiLCByb290X2J1aWxkX2RpcikKKyAgICAgfQorICAg ICBjZmxhZ3MgPSBbCisgICAgICAgIi1mc2FuaXRpemU9bWVtb3J5IiwKKyAgICAgICAiLWZzYW5p dGl6ZS1tZW1vcnktdHJhY2stb3JpZ2lucz0kbXNhbl90cmFja19vcmlnaW5zIiwKKy0gICAgICAi LWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSRtc2FuX2lnbm9yZWxpc3RfcGF0aCIsCisrICAgICAgIi1m c2FuaXRpemUtYmxhY2tsaXN0PSRtc2FuX2JsYWNrbGlzdF9wYXRoIiwKKyAgICAgXQorICAgfQor IH0KK0BAIC00MjQsMTMgKzQyNCwxMyBAQCBjb25maWcoIm1zYW5fZmxhZ3MiKSB7CisgY29uZmln KCJ0c2FuX2ZsYWdzIikgeworICAgaWYgKGlzX3RzYW4pIHsKKyAgICAgYXNzZXJ0KGlzX2xpbnV4 IHx8IGlzX2Nocm9tZW9zLCAidHNhbiBvbmx5IHN1cHBvcnRlZCBvbiBsaW51eCB4ODZfNjQiKQor LSAgICBpZiAoIWRlZmluZWQodHNhbl9pZ25vcmVsaXN0X3BhdGgpKSB7CistICAgICAgdHNhbl9p Z25vcmVsaXN0X3BhdGggPQorKyAgICBpZiAoIWRlZmluZWQodHNhbl9ibGFja2xpc3RfcGF0aCkp IHsKKysgICAgICB0c2FuX2JsYWNrbGlzdF9wYXRoID0KKyAgICAgICAgICAgcmViYXNlX3BhdGgo Ii8vdG9vbHMvbWVtb3J5L3RzYW5fdjIvaWdub3Jlcy50eHQiLCByb290X2J1aWxkX2RpcikKKyAg ICAgfQorICAgICBjZmxhZ3MgPSBbCisgICAgICAgIi1mc2FuaXRpemU9dGhyZWFkIiwKKy0gICAg ICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSR0c2FuX2lnbm9yZWxpc3RfcGF0aCIsCisrICAgICAg Ii1mc2FuaXRpemUtYmxhY2tsaXN0PSR0c2FuX2JsYWNrbGlzdF9wYXRoIiwKKyAgICAgXQorICAg fQorIH0KK0BAIC00MzgsOCArNDM4LDggQEAgY29uZmlnKCJ0c2FuX2ZsYWdzIikgeworIGNvbmZp ZygidWJzYW5fZmxhZ3MiKSB7CisgICBjZmxhZ3MgPSBbXQorICAgaWYgKGlzX3Vic2FuKSB7Cist ICAgIGlmICghZGVmaW5lZCh1YnNhbl9pZ25vcmVsaXN0X3BhdGgpKSB7CistICAgICAgdWJzYW5f aWdub3JlbGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVkKHVic2FuX2JsYWNrbGlzdF9wYXRo KSkgeworKyAgICAgIHVic2FuX2JsYWNrbGlzdF9wYXRoID0KKyAgICAgICAgICAgcmViYXNlX3Bh dGgoIi8vdG9vbHMvdWJzYW4vaWdub3JlbGlzdC50eHQiLCByb290X2J1aWxkX2RpcikKKyAgICAg fQorICAgICBjZmxhZ3MgKz0gWworQEAgLTQ1Niw3ICs0NTYsNyBAQCBjb25maWcoInVic2FuX2Zs YWdzIikgeworICAgICAgICItZnNhbml0aXplPXNpZ25lZC1pbnRlZ2VyLW92ZXJmbG93IiwKKyAg ICAgICAiLWZzYW5pdGl6ZT11bnJlYWNoYWJsZSIsCisgICAgICAgIi1mc2FuaXRpemU9dmxhLWJv dW5kIiwKKy0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSR1YnNhbl9pZ25vcmVsaXN0X3Bh dGgiLAorKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kdWJzYW5fYmxhY2tsaXN0X3BhdGgi LAorICAgICBdCisgICAgIGlmICghaXNfY2xhbmcpIHsKKyAgICAgICAjIFRoZXNlIGV4cG9zZXMg dG9vIG11Y2ggaWxsZWdhbCBDKysxNCBjb2RlIHRvIGNvbXBpbGUgb24gYW55dGhpbmcgc3RyaWN0 ZXIgdGhhbiBjbGFuZzoKK0BAIC00OTcsOCArNDk3LDggQEAgY29uZmlnKCJ1YnNhbl9ub19yZWNv dmVyIikgeworIAorIGNvbmZpZygidWJzYW5fc2VjdXJpdHlfZmxhZ3MiKSB7CisgICBpZiAoaXNf dWJzYW5fc2VjdXJpdHkpIHsKKy0gICAgaWYgKCFkZWZpbmVkKHVic2FuX3NlY3VyaXR5X2lnbm9y ZWxpc3RfcGF0aCkpIHsKKy0gICAgICB1YnNhbl9zZWN1cml0eV9pZ25vcmVsaXN0X3BhdGggPQor KyAgICBpZiAoIWRlZmluZWQodWJzYW5fc2VjdXJpdHlfYmxhY2tsaXN0X3BhdGgpKSB7CisrICAg ICAgdWJzYW5fc2VjdXJpdHlfYmxhY2tsaXN0X3BhdGggPQorICAgICAgICAgICByZWJhc2VfcGF0 aCgiLy90b29scy91YnNhbi9zZWN1cml0eV9pZ25vcmVsaXN0LnR4dCIsIHJvb3RfYnVpbGRfZGly KQorICAgICB9CisgICAgIGNmbGFncyA9IFsKK0BAIC01MDYsNyArNTA2LDcgQEAgY29uZmlnKCJ1 YnNhbl9zZWN1cml0eV9mbGFncyIpIHsKKyAgICAgICAiLWZzYW5pdGl6ZT1zaGlmdCIsCisgICAg ICAgIi1mc2FuaXRpemU9c2lnbmVkLWludGVnZXItb3ZlcmZsb3ciLAorICAgICAgICItZnNhbml0 aXplPXZsYS1ib3VuZCIsCistICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kdWJzYW5fc2Vj dXJpdHlfaWdub3JlbGlzdF9wYXRoIiwKKysgICAgICAiLWZzYW5pdGl6ZS1ibGFja2xpc3Q9JHVi c2FuX3NlY3VyaXR5X2JsYWNrbGlzdF9wYXRoIiwKKyAgICAgXQorICAgfQorIH0KK0BAIC01MTks MTMgKzUxOSwxMyBAQCBjb25maWcoInVic2FuX251bGxfZmxhZ3MiKSB7CisgCisgY29uZmlnKCJ1 YnNhbl92cHRyX2ZsYWdzIikgeworICAgaWYgKGlzX3Vic2FuX3ZwdHIpIHsKKy0gICAgaWYgKCFk ZWZpbmVkKHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoKSkgeworLSAgICAgIHVic2FuX3ZwdHJf aWdub3JlbGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVkKHVic2FuX3ZwdHJfYmxhY2tsaXN0 X3BhdGgpKSB7CisrICAgICAgdWJzYW5fdnB0cl9ibGFja2xpc3RfcGF0aCA9CisgICAgICAgICAg IHJlYmFzZV9wYXRoKCIvL3Rvb2xzL3Vic2FuL3ZwdHJfaWdub3JlbGlzdC50eHQiLCByb290X2J1 aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgPSBbCisgICAgICAgIi1mc2FuaXRpemU9dnB0 ciIsCistICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kdWJzYW5fdnB0cl9pZ25vcmVsaXN0 X3BhdGgiLAorKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kdWJzYW5fdnB0cl9ibGFja2xp c3RfcGF0aCIsCisgICAgIF0KKyAgICAgaWYgKCFpc19jbGFuZykgeworICAgICAgICMgQ2xhbmcg c3BlY2lmaWMgZmxhZzoKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZF9vdmVycmlk ZXMvYnVpbGQuZ25pCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGRfb3ZlcnJpZGVz L2J1aWxkLmduaQorQEAgLTQzLDE1ICs0MywxNSBAQCBkZWNsYXJlX2FyZ3MoKSB7CisgIyBBbGxv d3MgZGlmZmVyZW50IHByb2plY3RzIHRvIHNwZWNpZnkgdGhlaXIgb3duIHN1cHByZXNzaW9uL2ln bm9yZSBsaXN0cyBmb3IKKyAjIHNhbml0aXplciB0b29scy4KKyAjIGFzYW5fc3VwcHJlc3Npb25z X2ZpbGUgPSAicGF0aC90by9hc2FuX3N1cHByZXNzaW9ucy5jYyIKKy0jIGFzYW5fd2luX2lnbm9y ZWxpc3RfcGF0aCA9ICJwYXRoL3RvL2FzYW4vYmxvY2tsaXN0X3dpbi50eHQiCisrIyBhc2FuX3dp bl9ibGFja2xpc3RfcGF0aCA9ICJwYXRoL3RvL2FzYW4vYmxvY2tsaXN0X3dpbi50eHQiCisgIyBs c2FuX3N1cHByZXNzaW9uc19maWxlID0gInBhdGgvdG8vbHNhbl9zdXBwcmVzc2lvbnMuY2MiCisg IyB0c2FuX3N1cHByZXNzaW9uc19maWxlID0gInBhdGgvdG8vdHNhbl9zdXBwcmVzc2lvbnMuY2Mi CistIyB0c2FuX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL3RzYW4vaWdub3Jlcy50eHQiCist IyBtc2FuX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL21zYW4vaWdub3JlbGlzdC50eHQiCist IyB1YnNhbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by91YnNhbi9pZ25vcmVsaXN0LnR4dCIK Ky0jIHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoID0gInBhdGgvdG8vdWJzYW4vdnB0cl9pZ25v cmVsaXN0LnR4dCIKKy0jIHVic2FuX3NlY3VyaXR5X2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3Rv L3Vic2FuL3NlY3VyaXR5X2lnbm9yZWxpc3QudHh0IgorLSMgY2ZpX2lnbm9yZWxpc3RfcGF0aCA9 ICJwYXRoL3RvL2NmaS9pZ25vcmVzLnR4dCIKKysjIHRzYW5fYmxhY2tsaXN0X3BhdGggPSAicGF0 aC90by90c2FuL2lnbm9yZXMudHh0IgorKyMgbXNhbl9ibGFja2xpc3RfcGF0aCA9ICJwYXRoL3Rv L21zYW4vYmxhY2tsaXN0LnR4dCIKKysjIHVic2FuX2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8v dWJzYW4vYmxhY2tsaXN0LnR4dCIKKysjIHVic2FuX3ZwdHJfYmxhY2tsaXN0X3BhdGggPSAicGF0 aC90by91YnNhbi92cHRyX2JsYWNrbGlzdC50eHQiCisrIyB1YnNhbl9zZWN1cml0eV9ibGFja2xp c3RfcGF0aCA9ICJwYXRoL3RvL3Vic2FuL3NlY3VyaXR5X2JsYWNrbGlzdC50eHQiCisrIyBjZmlf YmxhY2tsaXN0X3BhdGggPSAicGF0aC90by9jZmkvaWdub3Jlcy50eHQiCisgCisgZGVjbGFyZV9h cmdzKCkgeworICAgIyBBbmRyb2lkIDMyLWJpdCBub24tY29tcG9uZW50LCBub24tY2xhbmcgYnVp bGRzIGNhbm5vdCBoYXZlIHN5bWJvbF9sZXZlbD0yCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTA1LWNocm9taXVtLXJldmVydC1kcm9wLW9mLXN5c3RlbS1qYXZh LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNS1jaHJvbWl1bS1yZXZl cnQtZHJvcC1vZi1zeXN0ZW0tamF2YS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjQ0ZjNhYThmYWU1ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDUtY2hyb21pdW0tcmV2ZXJ0LWRyb3Atb2Ytc3lzdGVtLWph dmEucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorVGhpcyB3YXMgZHJvcHBlZCBmb3Igc29tZSByZWFz b24gaW4gNjk1MWMzN2NlY2QwNTk3OWIyMzJhMzllNWMxMGU2MzQ2YTBmNzRlZgorLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Nsb3N1cmVfY29tcGlsZXIvY29tcGlsZXIu cHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jbG9zdXJlX2NvbXBp bGVyL2NvbXBpbGVyLnB5CitAQCAtMTMsOCArMTMsOSBAQCBpbXBvcnQgc3VicHJvY2VzcworIAor IAorIF9DVVJSRU5UX0RJUiA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18p KQorLV9KQVZBX1BBVEggPSBvcy5wYXRoLmpvaW4oX0NVUlJFTlRfRElSLCAiLi4iLCAiamRrIiwg ImN1cnJlbnQiLCAiYmluIiwgImphdmEiKQorLWFzc2VydCBvcy5wYXRoLmlzZmlsZShfSkFWQV9Q QVRIKSwgImphdmEgb25seSBhbGxvd2VkIGluIGFuZHJvaWQgYnVpbGRzIgorK19KQVZBX0JJTiA9 ICJqYXZhIgorK19KREtfUEFUSCA9IG9zLnBhdGguam9pbihfQ1VSUkVOVF9ESVIsICIuLiIsICJq ZGsiLCAiY3VycmVudCIsICJiaW4iLCAiamF2YSIpCisrX0pBVkFfUEFUSCA9IF9KREtfUEFUSCBp ZiBvcy5wYXRoLmlzZmlsZShfSkRLX1BBVEgpIGVsc2UgX0pBVkFfQklOCisgCisgY2xhc3MgQ29t cGlsZXIob2JqZWN0KToKKyAgICIiIlJ1bnMgdGhlIENsb3N1cmUgY29tcGlsZXIgb24gZ2l2ZW4g c291cmNlIGZpbGVzIHRvIHR5cGVjaGVjayB0aGVtCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTA2LWNocm9taXVtLXN5c3RlbS1ub2RlanMucGF0Y2ggYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA2LWNocm9taXVtLXN5c3RlbS1ub2RlanMucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xZTA2N2NjNmVkYTAK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA2LWNo cm9taXVtLXN5c3RlbS1ub2RlanMucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L25vZGUvbm9kZS5weQorKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L25vZGUvbm9kZS5weQorQEAgLTM2LDExICszNiwxMiBA QCBkZWYgR2V0QmluYXJ5UGF0aCgpOgorICAgaWYgcGxhdGZvcm0uc3lzdGVtKCkgPT0gJ0Rhcndp bicgYW5kIHBsYXRmb3JtLm1hY2hpbmUoKSA9PSAnYXJtNjQnOgorICAgICAgIHJldHVybiBvcy5w YXRoLmpvaW4ob3NfcGF0aC5qb2luKG9zX3BhdGguZGlybmFtZShfX2ZpbGVfXyksICdtYWMnLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vZGUtZGFyd2luLWFybTY0JywgJ2JpbicsICdu b2RlJykpCistICByZXR1cm4gb3NfcGF0aC5qb2luKG9zX3BhdGguZGlybmFtZShfX2ZpbGVfXyks ICp7CistICAgICdEYXJ3aW4nOiAoJ21hYycsICdub2RlLWRhcndpbi14NjQnLCAnYmluJywgJ25v ZGUnKSwKKy0gICAgJ0xpbnV4JzogKCdsaW51eCcsICdub2RlLWxpbnV4LXg2NCcsICdiaW4nLCAn bm9kZScpLAorLSAgICAnV2luZG93cyc6ICgnd2luJywgJ25vZGUuZXhlJyksCistICB9W3BsYXRm b3JtLnN5c3RlbSgpXSkKKysgIHJldHVybiAiL3Vzci9iaW4vbm9kZSIKKysgICNyZXR1cm4gb3Nf cGF0aC5qb2luKG9zX3BhdGguZGlybmFtZShfX2ZpbGVfXyksICp7CisrICAjICAnRGFyd2luJzog KCdtYWMnLCAnbm9kZS1kYXJ3aW4teDY0JywgJ2JpbicsICdub2RlJyksCisrICAjICAnTGludXgn OiAoJ2xpbnV4JywgJ25vZGUtbGludXgteDY0JywgJ2JpbicsICdub2RlJyksCisrICAjICAnV2lu ZG93cyc6ICgnd2luJywgJ25vZGUuZXhlJyksCisrICAjfVtwbGF0Zm9ybS5zeXN0ZW0oKV0pCisg CisgCisgZGVmIFJ1bk5vZGUoY21kX3BhcnRzLCBzdGRvdXQ9Tm9uZSk6CmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3LWNocm9taXVtLWN1cnNlZF5Vc2NvcGVk X2ZpbGUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3LWNocm9taXVt LWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi5hOGY1ZDk3MTg4M2QKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3LWNocm9taXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2gK QEAgLTAsMCArMSwxOCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZmlsZXMv c2NvcGVkX2ZpbGVfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2Zp bGVzL3Njb3BlZF9maWxlX2xpbnV4LmNjCitAQCAtNzcsMTUgKzc3LDMgQEAgYm9vbCBJc0ZET3du ZWQoaW50IGZkKSB7CisgfQorIAorIH0gIC8vIG5hbWVzcGFjZSBiYXNlCistCistZXh0ZXJuICJD IiB7CistCistaW50IF9fY2xvc2UoaW50KTsKKy0KKy1fX2F0dHJpYnV0ZV9fKCh2aXNpYmlsaXR5 KCJkZWZhdWx0IiksIG5vaW5saW5lKSkgaW50IGNsb3NlKGludCBmZCkgeworLSAgaWYgKGJhc2U6 OklzRkRPd25lZChmZCkgJiYgZ19pc19vd25lcnNoaXBfZW5mb3JjZWQpCistICAgIENyYXNoT25G ZE93bmVyc2hpcFZpb2xhdGlvbigpOworLSAgcmV0dXJuIF9fY2xvc2UoZmQpOworLX0KKy0KKy19 ICAvLyBleHRlcm4gIkMiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTA4LWNocm9taXVtLWZpeC1uYXJyb3dpbmctY2FzdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxMDgtY2hyb21pdW0tZml4LW5hcnJvd2luZy1jYXN0LnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWQzMmNkOWI3NDE1Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOC1jaHJvbWl1 bS1maXgtbmFycm93aW5nLWNhc3QucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL2Jhc2UvZmlsZXMvZmlsZV91dGlsX2xpbnV4LmNjCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9maWxlX3V0aWxfbGludXguY2MKK0BAIC0yMywx NCArMjMsMTQgQEAgYm9vbCBHZXRGaWxlU3lzdGVtVHlwZShjb25zdCBGaWxlUGF0aCYgcAorIAor ICAgLy8gTm90IGFsbCBwb3NzaWJsZSB8c3RhdGZzX2J1Zi5mX3R5cGV8IHZhbHVlcyBhcmUgaW4g bGludXgvbWFnaWMuaC4KKyAgIC8vIE1pc3NpbmcgdmFsdWVzIGFyZSBjb3BpZWQgZnJvbSB0aGUg c3RhdGZzIG1hbiBwYWdlLgorLSAgc3dpdGNoIChzdGF0ZnNfYnVmLmZfdHlwZSkgeworKyAgc3dp dGNoIChzdGF0aWNfY2FzdDx1aW50bWF4X3Q+KHN0YXRmc19idWYuZl90eXBlKSkgeworICAgICBj YXNlIDA6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV8wOworICAgICAgIGJyZWFrOworICAg ICBjYXNlIEVYVDJfU1VQRVJfTUFHSUM6ICAvLyBBbHNvIGV4dDMgYW5kIGV4dDQKKyAgICAgY2Fz ZSBNU0RPU19TVVBFUl9NQUdJQzoKKyAgICAgY2FzZSBSRUlTRVJGU19TVVBFUl9NQUdJQzoKKy0g ICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KEJUUkZTX1NVUEVSX01BR0lDKToKKysgICAgY2FzZSBC VFJGU19TVVBFUl9NQUdJQzoKKyAgICAgY2FzZSAweDUzNDY1NDRFOiAgLy8gTlRGUworICAgICBj YXNlIDB4NTg0NjUzNDI6ICAvLyBYRlMKKyAgICAgY2FzZSAweDMxNTM0NjRBOiAgLy8gSkZTCitA QCAtNDAsMTQgKzQwLDE0IEBAIGJvb2wgR2V0RmlsZVN5c3RlbVR5cGUoY29uc3QgRmlsZVBhdGgm IHAKKyAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNX05GUzsKKyAgICAgICBicmVhazsKKyAgICAg Y2FzZSBTTUJfU1VQRVJfTUFHSUM6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PigweEZGNTM0 RDQyKTogIC8vIENJRlMKKysgICAgY2FzZSAweEZGNTM0RDQyOiAgLy8gQ0lGUworICAgICAgICp0 eXBlID0gRklMRV9TWVNURU1fU01COworICAgICAgIGJyZWFrOworICAgICBjYXNlIENPREFfU1VQ RVJfTUFHSUM6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9DT0RBOworICAgICAgIGJyZWFr OworLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZTX01BR0lDKToKKy0gICAgY2Fz ZSBzdGF0aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKKysgICAgY2FzZSBIVUdFVExCRlNfTUFH SUM6CisrICAgIGNhc2UgUkFNRlNfTUFHSUM6CisgICAgIGNhc2UgVE1QRlNfTUFHSUM6CisgICAg ICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9NRU1PUlk7CisgICAgICAgYnJlYWs7CistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vYmFzZS9zeXN0ZW0vc3lzX2luZm9fcG9zaXguY2MKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3N5c3RlbS9zeXNfaW5mb19wb3NpeC5jYworQEAgLTEw MCwxMCArMTAwLDEwIEBAIGJvb2wgSXNTdGF0c1plcm9JZlVubGltaXRlZChjb25zdCBiYXNlOjoK KyAgIGlmIChIQU5ETEVfRUlOVFIoc3RhdGZzKHBhdGgudmFsdWUoKS5jX3N0cigpLCAmc3RhdHMp KSAhPSAwKQorICAgICByZXR1cm4gZmFsc2U7CisgCistICBzd2l0Y2ggKHN0YXRzLmZfdHlwZSkg eworKyAgc3dpdGNoIChzdGF0aWNfY2FzdDx1aW50bWF4X3Q+KHN0YXRzLmZfdHlwZSkpIHsKKyAg ICAgY2FzZSBUTVBGU19NQUdJQzoKKy0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KEhVR0VUTEJG U19NQUdJQyk6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihSQU1GU19NQUdJQyk6CisrICAg IGNhc2UgSFVHRVRMQkZTX01BR0lDOgorKyAgICBjYXNlIFJBTUZTX01BR0lDOgorICAgICAgIHJl dHVybiB0cnVlOworICAgfQorICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOS1jaHJvbWl1bS1yZW1vdmUtc3RyaXBfYmluYXJ5LnBh dGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOS1jaHJvbWl1bS1yZW1vdmUt c3RyaXBfYmluYXJ5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uNWViZDE2ZTY1OWFmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDEwOS1jaHJvbWl1bS1yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCkBAIC0wLDAg KzEsMzIgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jaHJvbWUvdGVzdC9jaHJvbWVk cml2ZXIvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jaHJvbWUvdGVzdC9j aHJvbWVkcml2ZXIvQlVJTEQuZ24KK0BAIC0zMDgsMTEgKzMwOCw3IEBAIHNvdXJjZV9zZXQoImxp YiIpIHsKKyAgIH0KKyB9CisgCistaWYgKGlzX2xpbnV4KSB7CistICBjaHJvbWVkcml2ZXJfb3V0 cHV0ID0gImNocm9tZWRyaXZlci51bnN0cmlwcGVkIgorLX0gZWxzZSB7CistICBjaHJvbWVkcml2 ZXJfb3V0cHV0ID0gImNocm9tZWRyaXZlciIKKy19CisrY2hyb21lZHJpdmVyX291dHB1dCA9ICJj aHJvbWVkcml2ZXIiCisgCisgZXhlY3V0YWJsZSgiJGNocm9tZWRyaXZlcl9vdXRwdXQiKSB7Cisg ICB0ZXN0b25seSA9IHRydWUKK0BAIC0zMzYsMTYgKzMzMiw2IEBAIGV4ZWN1dGFibGUoIiRjaHJv bWVkcml2ZXJfb3V0cHV0IikgeworICAgfQorIH0KKyAKKy1pZiAoaXNfbGludXgpIHsKKy0gIHN0 cmlwX2JpbmFyeSgiY2hyb21lZHJpdmVyIikgeworLSAgICB0ZXN0b25seSA9IHRydWUKKy0gICAg YmluYXJ5X2lucHV0ID0gIiRyb290X291dF9kaXIvJGNocm9tZWRyaXZlcl9vdXRwdXQiCistICAg IHN5bWJvbF9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJvbWVkcml2ZXIuZGVidWciCistICAg IHN0cmlwcGVkX2JpbmFyeV9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJvbWVkcml2ZXIiCist ICAgIGRlcHMgPSBbICI6JGNocm9tZWRyaXZlcl9vdXRwdXQiIF0KKy0gIH0KKy19CistCisgcHl0 aG9uX2xpYnJhcnkoImNocm9tZWRyaXZlcl9weV90ZXN0cyIpIHsKKyAgIHRlc3Rvbmx5ID0gdHJ1 ZQorICAgZGVwcyA9IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAxMTAtY2hyb21pdW0tcmV2ZXJ0LXVzZS1mZmlsZS1jb21waWxhdGlvbi1kaXIucGF0Y2ggYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEwLWNocm9taXVtLXJldmVydC11c2UtZmZp bGUtY29tcGlsYXRpb24tZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uYTAwZjdlYTgwZjdhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDExMC1jaHJvbWl1bS1yZXZlcnQtdXNlLWZmaWxlLWNvbXBpbGF0aW9u LWRpci5wYXRjaApAQCAtMCwwICsxLDU3IEBACitGcm9tIDM0YTk1NTgyMzYzMDA5NmY1YjAxYzJi MDFkNTFjMWVhNTlkMjI3NjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBaZXF1YW4g V3UgPHplcXVhbnd1QGdvb2dsZS5jb20+CitEYXRlOiBUdWUsIDIwIEp1bCAyMDIxIDE0OjEzOjUw ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSAtZmZpbGUtY29tcGlsYXRpb24tZGlyPSBpbnN0 ZWFkIG9mCisgLWZkZWJ1Zy1jb21waWxhdGlvbi1kaXI9CisKK0J1ZzogMTAxMDI2NworQ2hhbmdl LUlkOiBJZjJiNGVhZDg1MzVhNzY0OTBlYjQ2NmEzOGUzZDhmZWQ2ZWE5MTA3OQorUmV2aWV3ZWQt b246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9z cmMvKy8yNzcwNzM4CitBdXRvLVN1Ym1pdDogWmVxdWFuIFd1IDx6ZXF1YW53dUBnb29nbGUuY29t PgorQ29tbWl0LVF1ZXVlOiBOaWNvIFdlYmVyIDx0aGFraXNAY2hyb21pdW0ub3JnPgorUmV2aWV3 ZWQtYnk6IE5pY28gV2ViZXIgPHRoYWtpc0BjaHJvbWl1bS5vcmc+CitDci1Db21taXQtUG9zaXRp b246IHJlZnMvaGVhZHMvbWFzdGVyQHsjOTAzNDU2fQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgorQEAgLTEyNjksMTkgKzEyNjks MTIgQEAgY29uZmlnKCJjb21waWxlcl9kZXRlcm1pbmlzdGljIikgeworICAgICAjIGRpZmZlcmVu dCBidWlsZCBkaXJlY3RvcnkgbGlrZSAib3V0L2ZlYXR1cmVfYSIgYW5kICJvdXQvZmVhdHVyZV9i IiBpZgorICAgICAjIHdlIGJ1aWxkIHNhbWUgZmlsZXMgd2l0aCBzYW1lIGNvbXBpbGUgZmxhZy4K KyAgICAgIyBPdGhlciBwYXRocyBhcmUgYWxyZWFkeSBnaXZlbiBpbiByZWxhdGl2ZSwgbm8gbmVl ZCB0byBub3JtYWxpemUgdGhlbS4KKy0gICAgaWYgKGlzX25hY2wpIHsKKy0gICAgICAjIFRPRE8o aHR0cHM6Ly9jcmJ1Zy5jb20vMTIzMTIzNik6IFVzZSAtZmZpbGUtY29tcGlsYXRpb24tZGlyPSBo ZXJlLgorLSAgICAgIGNmbGFncyArPSBbCistICAgICAgICAiLVhjbGFuZyIsCistICAgICAgICAi LWZkZWJ1Zy1jb21waWxhdGlvbi1kaXIiLAorLSAgICAgICAgIi1YY2xhbmciLAorLSAgICAgICAg Ii4iLAorLSAgICAgIF0KKy0gICAgfSBlbHNlIHsKKy0gICAgICAjIC1mZmlsZS1jb21waWxhdGlv bi1kaXIgaXMgYW4gYWxpYXMgZm9yIGJvdGggLWZkZWJ1Zy1jb21waWxhdGlvbi1kaXI9CistICAg ICAgIyBhbmQgLWZjb3ZlcmFnZS1jb21waWxhdGlvbi1kaXI9LgorLSAgICAgIGNmbGFncyArPSBb ICItZmZpbGUtY29tcGlsYXRpb24tZGlyPS4iIF0KKy0gICAgfQorKyAgICBjZmxhZ3MgKz0gWwor KyAgICAgICItWGNsYW5nIiwKKysgICAgICAiLWZkZWJ1Zy1jb21waWxhdGlvbi1kaXIiLAorKyAg ICAgICItWGNsYW5nIiwKKysgICAgICAiLiIsCisrICAgIF0KKyAgICAgaWYgKCFpc193aW4pIHsK KyAgICAgICAjIFdlIGRvbid0IHVzZSBjbGFuZyAtY2MxYXMgb24gV2luZG93cyAoeWV0PyBodHRw czovL2NyYnVnLmNvbS83NjIxNjcpCisgICAgICAgYXNtZmxhZ3MgPSBbICItV2EsLWZkZWJ1Zy1j b21waWxhdGlvbi1kaXIsLiIgXQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2Nv bmZpZy9jb21waWxlci9jb21waWxlci5nbmkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9i dWlsZC9jb25maWcvY29tcGlsZXIvY29tcGlsZXIuZ25pCitAQCAtMjI4LDggKzIyOCwxMSBAQCBk ZWNsYXJlX2FyZ3MoKSB7CisgIyBkZXRlcm1pbmlzdGljIGJ1aWxkcyB0byByZWR1Y2UgY29tcGls ZSB0aW1lcywgc28gdGhpcyBpcyBsZXNzIHJlbGV2YW50IGZvcgorICMgb2ZmaWNpYWwgYnVpbGRl cnMuCisgc3RyaXBfYWJzb2x1dGVfcGF0aHNfZnJvbV9kZWJ1Z19zeW1ib2xzX2RlZmF1bHQgPQor LSAgICBpc19hbmRyb2lkIHx8IGlzX2Z1Y2hzaWEgfHwgaXNfbmFjbCB8fCAoaXNfd2luICYmIHVz ZV9sbGQpIHx8IGlzX2xpbnV4IHx8CistICAgIGlzX2Nocm9tZW9zIHx8IChpc19hcHBsZSAmJiAh ZW5hYmxlX2RzeW1zKQorKyAgICAjIFRPRE8oY3JidWcuY29tLzEwMTAyNjcpOiByZW1vdmUgJyF1 c2VfY2xhbmdfY292ZXJhZ2UnLCBjb3ZlcmFnZSBidWlsZCBoYXMKKysgICAgIyBkZXBlbmRlbmN5 IHRvIGFic29sdXRlIHBhdGggb2Ygc291cmNlIGZpbGVzLgorKyAgICAhdXNlX2NsYW5nX2NvdmVy YWdlICYmCisrICAgIChpc19hbmRyb2lkIHx8IGlzX2Z1Y2hzaWEgfHwgaXNfbmFjbCB8fCAoaXNf d2luICYmIHVzZV9sbGQpIHx8IGlzX2xpbnV4IHx8CisrICAgICBpc19jaHJvbWVvcyB8fCAoaXNf YXBwbGUgJiYgIWVuYWJsZV9kc3ltcykpCisgCisgZGVjbGFyZV9hcmdzKCkgeworICAgc3RyaXBf YWJzb2x1dGVfcGF0aHNfZnJvbV9kZWJ1Z19zeW1ib2xzID0gc3RyaXBfYWJzb2x1dGVfcGF0aHNf ZnJvbV9kZWJ1Z19zeW1ib2xzX2RlZmF1bHQKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxMTEtY2hyb21pdW0tbm8tV25vLXN0cmluZ29wLW92ZXJyZWFkLnBhdGNo IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMS1jaHJvbWl1bS1uby1Xbm8tc3Ry aW5nb3Atb3ZlcnJlYWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi4wM2VhYzNmOGUwNjcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMTExLWNocm9taXVtLW5vLVduby1zdHJpbmdvcC1vdmVycmVhZC5wYXRjaApA QCAtMCwwICsxLDEwIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQvY29uZmln L2NvbXBpbGVyL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQvY29u ZmlnL2NvbXBpbGVyL0JVSUxELmduCitAQCAtMzk0LDcgKzM5NCw2IEBAIGNvbmZpZygiY29tcGls ZXIiKSB7CisgICAgICAgICAiLVduby1wYXJlbnRoZXNlcyIsCisgICAgICAgICAiLVduby1zaWdu LWNvbXBhcmUiLCAjIGZpZG8KKyAgICAgICAgICItV25vLXN0cmluZ29wLW92ZXJmbG93IiwgIyBz a2lhLCBsaWJhb20sIHByb3RvYnVmLCBpY3UKKy0gICAgICAgICItV25vLXN0cmluZ29wLW92ZXJy ZWFkIiwgIyBsaWJhb20KKyAgICAgICAgICItV25vLXBzYWJpIiwgIyBza2lhCisgICAgICAgICAi LVduby1tdWx0aWNoYXIiLCAjIGNyYXNocGFkCisgICAgICAgICAiLVduby1mb3JtYXQtemVyby1s ZW5ndGgiLCAjIHVzZXJfYWdlbnQuY2MKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxNTAtY2hyb21pdW0tZ2xpYmMtbGliY19tYWxsb2MucGF0Y2ggYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUwLWNocm9taXVtLWdsaWJjLWxpYmNfbWFsbG9jLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uN2UxYjY2ZTVjNzNk Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1MC1j aHJvbWl1bS1nbGliYy1saWJjX21hbGxvYy5wYXRjaApAQCAtMCwwICsxLDI0IEBACistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9wcm9jZXNzL21lbW9yeV9saW51eC5jYworKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvcHJvY2Vzcy9tZW1vcnlfbGludXguY2MKK0BAIC0y Myw2ICsyMywxMiBAQAorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS90Y21hbGxvYy9jaHJvbWl1bS9z cmMvZ3BlcmZ0b29scy90Y21hbGxvYy5oIgorICNlbmRpZgorIAorKyNpZiBkZWZpbmVkKExJQkNf R0xJQkMpCisrZXh0ZXJuICJDIiB7CisrZXh0ZXJuIHZvaWQgKl9fbGliY19tYWxsb2Moc2l6ZV90 IHNpemUpOworK30KKysjZW5kaWYKKysKKyBuYW1lc3BhY2UgYmFzZSB7CisgCisgbmFtZXNwYWNl IHsKK0BAIC0xMjAsNyArMTI2LDcgQEAgYm9vbCBVbmNoZWNrZWRNYWxsb2Moc2l6ZV90IHNpemUs IHZvaWQqKgorICAgICAoIWRlZmluZWQoTElCQ19HTElCQykgJiYgIUJVSUxERkxBRyhVU0VfVENN QUxMT0MpKQorICAgKnJlc3VsdCA9IG1hbGxvYyhzaXplKTsKKyAjZWxpZiBkZWZpbmVkKExJQkNf R0xJQkMpICYmICFCVUlMREZMQUcoVVNFX1RDTUFMTE9DKQorLSAgKnJlc3VsdCA9IF9fbGliY19t YWxsb2Moc2l6ZSk7CisrICAqcmVzdWx0ID0gOjpfX2xpYmNfbWFsbG9jKHNpemUpOworICNlbGlm IEJVSUxERkxBRyhVU0VfVENNQUxMT0MpCisgICAqcmVzdWx0ID0gdGNfbWFsbG9jX3NraXBfbmV3 X2hhbmRsZXIoc2l6ZSk7CisgI2VuZGlmCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMjAwLWNocm9taXVtLW11c2wtaW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9f V09SRFNJWkUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAwLWNocm9t aXVtLW11c2wtaW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9fV09SRFNJWkUucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40MWI5MDA3MWI1ZTQKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAwLWNocm9taXVtLW11 c2wtaW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9fV09SRFNJWkUucGF0Y2gKQEAgLTAsMCArMSwy MSBAQAorRnJvbSA5MDAxYzU0ZDZiOTc0NDQ5MTc0YThjZWU4ZjNmNWQ3OGE5YmQ2YzllIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRmVsaXggSmFuZGEgPGZlbGl4LmphbmRhQHBvc3Rl by5kZT4KK0RhdGU6IFN1biwgMSBGZWIgMjAxNSAxNDoyNjo1MiArMDEwMAorU3ViamVjdDogW1BB VENIIDMvNl0gaW5jbHVkZSA8c3lzL3JlZy5oPiB0byBnZXQgX19XT1JEU0laRSBvbiBtdXNsIGxp YmMKKworLS0tCisgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxmX2NvcmVfZHVtcC5oIHwgMSAr CisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2Vs Zl9jb3JlX2R1bXAuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxmX2NvcmVfZHVtcC5oCitAQCAtMzcs NiArMzcsOSBAQAorICNpbmNsdWRlIDxsaW1pdHMuaD4KKyAjaW5jbHVkZSA8bGluay5oPgorICNp bmNsdWRlIDxzdGRkZWYuaD4KKysjaWZuZGVmIF9fR0xJQkNfXworKyNpbmNsdWRlIDxzeXMvcmVn Lmg+CisrI2VuZGlmCisgCisgI2luY2x1ZGUgImNvbW1vbi9tZW1vcnlfcmFuZ2UuaCIKKyAKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDEtY2hyb21pdW0tbXVz bC1kaXNwYXRjaC10by1tdXNsLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDIwMS1jaHJvbWl1bS1tdXNsLWRpc3BhdGNoLXRvLW11c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hNThhNjg4YTRiNTUKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAxLWNocm9taXVtLW11c2wtZGlzcGF0 Y2gtdG8tbXVzbC5wYXRjaApAQCAtMCwwICsxLDEwMyBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL2Jhc2UvYWxsb2NhdG9yL2FsbG9jYXRvcl9zaGltX2RlZmF1bHRfZGlzcGF0Y2hfdG9f Z2xpYmMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2FsbG9jYXRvci9hbGxv Y2F0b3Jfc2hpbV9kZWZhdWx0X2Rpc3BhdGNoX3RvX2dsaWJjLmNjCitAQCAtOCw2ICs4LDcgQEAK KyAjaW5jbHVkZSA8ZGxmY24uaD4KKyAjaW5jbHVkZSA8bWFsbG9jLmg+CisgCisrI2lmIGRlZmlu ZWQoX19HTElCQ19fKQorIC8vIFRoaXMgdHJhbnNsYXRpb24gdW5pdCBkZWZpbmVzIGEgZGVmYXVs dCBkaXNwYXRjaCBmb3IgdGhlIGFsbG9jYXRvciBzaGltIHdoaWNoCisgLy8gcm91dGVzIGFsbG9j YXRpb25zIHRvIGxpYmMgZnVuY3Rpb25zLgorIC8vIFRoZSBjb2RlIGhlcmUgaXMgc3Ryb25nbHkg aW5zcGlyZWQgZnJvbSB0Y21hbGxvYydzIGxpYmNfb3ZlcnJpZGVfZ2xpYmMuaC4KK0BAIC04Nywz ICs4OCw5MiBAQCBjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCBBbGxvY2F0b3JEaXNwYXRjCisgICAg IG51bGxwdHIsICAgICAgICAgICAgICAgLyogYWxpZ25lZF9mcmVlX2Z1bmN0aW9uICovCisgICAg IG51bGxwdHIsICAgICAgICAgICAgICAgLyogbmV4dCAqLworIH07CisrCisrI2Vsc2UgLy8gZGVm aW5lZChfX0dMSUJDX18pCisrCisrI2luY2x1ZGUgPGRsZmNuLmg+CisrCisrZXh0ZXJuICJDIiB7 CisrLy8gRGVjbGFyZSBmdW5jdGlvbiBwb2ludGVycyB0byB0aGUgbWVtb3J5IGZ1bmN0aW9ucwor K3R5cGVkZWYgdm9pZCogKCp0X2xpYmNfbWFsbG9jKShzaXplX3Qgc2l6ZSk7CisrdHlwZWRlZiB2 b2lkKiAoKnRfbGliY19jYWxsb2MpKHNpemVfdCBuLCBzaXplX3Qgc2l6ZSk7CisrdHlwZWRlZiB2 b2lkKiAoKnRfbGliY19yZWFsbG9jKSh2b2lkKiBhZGRyZXNzLCBzaXplX3Qgc2l6ZSk7CisrdHlw ZWRlZiB2b2lkKiAoKnRfbGliY19tZW1hbGlnbikoc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IHNp emUpOworK3R5cGVkZWYgdm9pZCAoKnRfbGliY19mcmVlKSh2b2lkKiBwdHIpOworK3R5cGVkZWYg c2l6ZV90ICgqdF9saWJjX21hbGxvY191c2FibGVfc2l6ZSkodm9pZCogcHRyKTsKKysKKysvLyBT dGF0aWMgaW5zdGFuY2VzIG9mIHBvaW50ZXJzIHRvIGxpYmMuc28gZGwgc3ltYm9scworK3N0YXRp YyB0X2xpYmNfbWFsbG9jIGxpYmNfbWFsbG9jID0gTlVMTDsKKytzdGF0aWMgdF9saWJjX2NhbGxv YyBsaWJjX2NhbGxvYyA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19yZWFsbG9jIGxpYmNfcmVhbGxv YyA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19tZW1hbGlnbiBsaWJjX21lbWFsaWduID0gTlVMTDsK KytzdGF0aWMgdF9saWJjX2ZyZWUgbGliY19mcmVlID0gTlVMTDsKKytzdGF0aWMgdF9saWJjX21h bGxvY191c2FibGVfc2l6ZSBsaWJjX21hbGxvY191c2FibGVfc2l6ZSA9IE5VTEw7CisrCisrLy8g cmVzb2x2ZSB0aGUgc3ltYm9scyBpbiBsaWJjLnNvCisrdm9pZCBtdXNsX2xpYmNfbWVtb3J5X2lu aXQodm9pZCkKKyt7CisrICBsaWJjX21hbGxvYyA9ICh0X2xpYmNfbWFsbG9jKSBkbHN5bShSVExE X05FWFQsICJtYWxsb2MiKTsKKysgIGxpYmNfY2FsbG9jID0gKHRfbGliY19jYWxsb2MpIGRsc3lt KFJUTERfTkVYVCwgImNhbGxvYyIpOworKyAgbGliY19yZWFsbG9jID0gKHRfbGliY19yZWFsbG9j KSBkbHN5bShSVExEX05FWFQsICJyZWFsbG9jIik7CisrICBsaWJjX21lbWFsaWduID0gKHRfbGli Y19tZW1hbGlnbikgZGxzeW0oUlRMRF9ORVhULCAibWVtYWxpZ24iKTsKKysgIGxpYmNfZnJlZSA9 ICh0X2xpYmNfZnJlZSkgZGxzeW0oUlRMRF9ORVhULCAiZnJlZSIpOworKyAgbGliY19tYWxsb2Nf dXNhYmxlX3NpemUgPSAodF9saWJjX21hbGxvY191c2FibGVfc2l6ZSkgZGxzeW0oUlRMRF9ORVhU LCAibWFsbG9jX3VzYWJsZV9zaXplIik7CisrfQorK30gIC8vIGV4dGVybiAiQyIKKysKKytuYW1l c3BhY2UgeworKworK3VzaW5nIGJhc2U6OmFsbG9jYXRvcjo6QWxsb2NhdG9yRGlzcGF0Y2g7Cisr Cisrdm9pZCogTXVzbE1hbGxvYyhjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCosIHNpemVfdCBzaXpl LCB2b2lkKiBjb250ZXh0KSB7CisrICBpZiAoIWxpYmNfbWFsbG9jKQorKyAgICBtdXNsX2xpYmNf bWVtb3J5X2luaXQoKTsKKysgIHJldHVybiAoKmxpYmNfbWFsbG9jKShzaXplKTsKKyt9CisrCisr dm9pZCogTXVzbENhbGxvYyhjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCosIHNpemVfdCBuLCBzaXpl X3Qgc2l6ZSwgdm9pZCogY29udGV4dCkgeworKyAgaWYgKCFsaWJjX2NhbGxvYykKKysgICAgbXVz bF9saWJjX21lbW9yeV9pbml0KCk7CisrICByZXR1cm4gKCpsaWJjX2NhbGxvYykobiwgc2l6ZSk7 CisrfQorKworK3ZvaWQqIE11c2xSZWFsbG9jKGNvbnN0IEFsbG9jYXRvckRpc3BhdGNoKiwgdm9p ZCogYWRkcmVzcywgc2l6ZV90IHNpemUsIHZvaWQqIGNvbnRleHQpIHsKKysgIGlmICghbGliY19y ZWFsbG9jKQorKyAgICBtdXNsX2xpYmNfbWVtb3J5X2luaXQoKTsKKysgIHJldHVybiAoKmxpYmNf cmVhbGxvYykoYWRkcmVzcywgc2l6ZSk7CisrfQorKworK3ZvaWQqIE11c2xNZW1hbGlnbihjb25z dCBBbGxvY2F0b3JEaXNwYXRjaCosIHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBzaXplLCB2b2lk KiBjb250ZXh0KSB7CisrICBpZiAoIWxpYmNfbWVtYWxpZ24pCisrICAgIG11c2xfbGliY19tZW1v cnlfaW5pdCgpOworKyAgcmV0dXJuICgqbGliY19tZW1hbGlnbikoYWxpZ25tZW50LCBzaXplKTsK Kyt9CisrCisrdm9pZCBNdXNsRnJlZShjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCosIHZvaWQqIGFk ZHJlc3MsIHZvaWQqIGNvbnRleHQpIHsKKysgIGlmICghbGliY19mcmVlKQorKyAgICBtdXNsX2xp YmNfbWVtb3J5X2luaXQoKTsKKysgICgqbGliY19mcmVlKShhZGRyZXNzKTsKKyt9CisrCisrc2l6 ZV90IE11c2xHZXRTaXplRXN0aW1hdGUoY29uc3QgQWxsb2NhdG9yRGlzcGF0Y2gqLCB2b2lkKiBh ZGRyZXNzLCB2b2lkKiBjb250ZXh0KSB7CisrICAvLyBUT0RPKHNpZ2dpLCBwcmltaWFubyk6IG1h bGxvY191c2FibGVfc2l6ZSBtYXkgbmVlZCByZWRpcmVjdGlvbiBpbiB0aGUKKysgIC8vICAgICBw cmVzZW5jZSBvZiBpbnRlcnBvc2luZyBzaGltcyB0aGF0IGRpdmVydCBhbGxvY2F0aW9ucy4KKysg IGlmICghbGliY19tYWxsb2NfdXNhYmxlX3NpemUpCisrICAgIG11c2xfbGliY19tZW1vcnlfaW5p dCgpOworKyAgcmV0dXJuICgqbGliY19tYWxsb2NfdXNhYmxlX3NpemUpKGFkZHJlc3MpOworK30K KysKKyt9ICAvLyBuYW1lc3BhY2UKKysKKytjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCBBbGxvY2F0 b3JEaXNwYXRjaDo6ZGVmYXVsdF9kaXNwYXRjaCA9IHsKKysgICAgJk11c2xNYWxsb2MsICAgICAg ICAgICAvKiBhbGxvY19mdW5jdGlvbiAqLworKyAgICAmTXVzbENhbGxvYywgICAgICAgICAgIC8q IGFsbG9jX3plcm9faW5pdGlhbGl6ZWRfZnVuY3Rpb24gKi8KKysgICAgJk11c2xNZW1hbGlnbiwg ICAgICAgICAvKiBhbGxvY19hbGlnbmVkX2Z1bmN0aW9uICovCisrICAgICZNdXNsUmVhbGxvYywg ICAgICAgICAgLyogcmVhbGxvY19mdW5jdGlvbiAqLworKyAgICAmTXVzbEZyZWUsICAgICAgICAg ICAgIC8qIGZyZWVfZnVuY3Rpb24gKi8KKysgICAgJk11c2xHZXRTaXplRXN0aW1hdGUsICAvKiBn ZXRfc2l6ZV9lc3RpbWF0ZV9mdW5jdGlvbiAqLworKyAgICBudWxscHRyLCAgICAgICAgICAgICAg IC8qIG5leHQgKi8KKyt9OworKworKyNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDIwMi1jaHJvbWl1bS1tdXNsLW5vLW1hbGxpbmZvLnBhdGNoIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMi1jaHJvbWl1bS1tdXNsLW5vLW1hbGxpbmZv LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYTViZGI1YTQz YTVmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIw Mi1jaHJvbWl1bS1tdXNsLW5vLW1hbGxpbmZvLnBhdGNoCkBAIC0wLDAgKzEsNjIgQEAKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3Byb2Nlc3MvcHJvY2Vzc19tZXRyaWNzX3Bvc2l4 LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9wcm9jZXNzL3Byb2Nlc3NfbWV0 cmljc19wb3NpeC5jYworQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIEluY3JlYXNlRmRMaW1pdFRv KHVuc2lnbmVkIGludCBtYXhfCisgCisgI2VuZGlmICAvLyAhZGVmaW5lZChPU19GVUNIU0lBKQor IAorLSNpZiBkZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZp bmVkKE9TX0FORFJPSUQpCisrI2lmIChkZWZpbmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJ QkNfXykpIHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKyBu YW1lc3BhY2UgeworIAorIHNpemVfdCBHZXRNYWxsb2NVc2FnZU1hbGxpbmZvKCkgeworQEAgLTEy NywxNiArMTI3LDE2IEBAIHNpemVfdCBHZXRNYWxsb2NVc2FnZU1hbGxpbmZvKCkgeworIH0KKyAK KyB9ICAvLyBuYW1lc3BhY2UKKy0jZW5kaWYgIC8vIGRlZmluZWQoT1NfTElOVVgpIHx8IGRlZmlu ZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKysjZW5kaWYgIC8vIChkZWZp bmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpIHx8IGRlZmluZWQoT1NfQ0hST01F T1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKyAKKyBzaXplX3QgUHJvY2Vzc01ldHJpY3M6Okdl dE1hbGxvY1VzYWdlKCkgeworICNpZiBkZWZpbmVkKE9TX0FQUExFKQorICAgbWFsbG9jX3N0YXRp c3RpY3NfdCBzdGF0cyA9IHswfTsKKyAgIG1hbGxvY196b25lX3N0YXRpc3RpY3MobnVsbHB0ciwg JnN0YXRzKTsKKyAgIHJldHVybiBzdGF0cy5zaXplX2luX3VzZTsKKy0jZWxpZiBkZWZpbmVkKE9T X0xJTlVYKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisr I2VsaWYgKGRlZmluZWQoT1NfTElOVVgpICYmIGRlZmluZWQoX19HTElCQ19fKSkgfHwgZGVmaW5l ZChPU19DSFJPTUVPUykgfHwgZGVmaW5lZChPU19BTkRST0lEKQorICAgcmV0dXJuIEdldE1hbGxv Y1VzYWdlTWFsbGluZm8oKTsKKy0jZWxpZiBkZWZpbmVkKE9TX0ZVQ0hTSUEpCisrI2Vsc2UKKyAg IC8vIFRPRE8oZnVjaHNpYSk6IE5vdCBjdXJyZW50bHkgZXhwb3NlZC4gaHR0cHM6Ly9jcmJ1Zy5j b20vNzM1MDg3LgorICAgcmV0dXJuIDA7CisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUvcHJvZmlsaW5nL21l bW9yeV9pbmZvLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvdGZs aXRlL3NyYy90ZW5zb3JmbG93L2xpdGUvcHJvZmlsaW5nL21lbW9yeV9pbmZvLmNjCitAQCAtMjcs NyArMjcsNyBAQCBuYW1lc3BhY2UgbWVtb3J5IHsKKyBjb25zdCBpbnQgTWVtb3J5VXNhZ2U6OmtW YWx1ZU5vdFNldCA9IDA7CisgCisgYm9vbCBNZW1vcnlVc2FnZTo6SXNTdXBwb3J0ZWQoKSB7Cist I2lmZGVmIF9fbGludXhfXworKyNpZmRlZiBfX0dMSUJDX18KKyAgIHJldHVybiB0cnVlOworICNl bmRpZgorICAgcmV0dXJuIGZhbHNlOworQEAgLTM1LDcgKzM1LDcgQEAgYm9vbCBNZW1vcnlVc2Fn ZTo6SXNTdXBwb3J0ZWQoKSB7CisgCisgTWVtb3J5VXNhZ2UgR2V0TWVtb3J5VXNhZ2UoKSB7Cisg ICBNZW1vcnlVc2FnZSByZXN1bHQ7CistI2lmZGVmIF9fbGludXhfXworKyNpZmRlZiBfX0dMSUJD X18KKyAgIHJ1c2FnZSByZXM7CisgICBpZiAoZ2V0cnVzYWdlKFJVU0FHRV9TRUxGLCAmcmVzKSA9 PSAwKSB7CisgICAgIHJlc3VsdC5tYXhfcnNzX2tiID0gcmVzLnJ1X21heHJzczsKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3RyYWNlX2V2ZW50L21hbGxvY19kdW1wX3Byb3ZpZGVy LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS90cmFjZV9ldmVudC9tYWxsb2Nf ZHVtcF9wcm92aWRlci5jYworQEAgLTIxMyw3ICsyMTMsNyBAQCBib29sIE1hbGxvY0R1bXBQcm92 aWRlcjo6T25NZW1vcnlEdW1wKGNvCisgICAgICAgICAgICAgICAgICAgICAgJmFsbG9jYXRlZF9v YmplY3RzX2NvdW50KTsKKyAjZWxpZiBkZWZpbmVkKE9TX0ZVQ0hTSUEpCisgLy8gVE9ETyhmdWNo c2lhKTogUG9ydCwgc2VlIGh0dHBzOi8vY3JidWcuY29tLzcwNjU5Mi4KKy0jZWxzZQorKyNlbGlm IGRlZmluZWQoX19HTElCQ19fKQorICNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5lZChf X0dMSUJDX1BSRVJFUSkKKyAjaWYgX19HTElCQ19QUkVSRVEoMiwgMzMpCisgI2RlZmluZSBNQUxM SU5GTzJfRk9VTkRfSU5fTElCQwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDIwMy1jaHJvbWl1bS1tdXNsLXNpZ2luZm9fdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAyMDMtY2hyb21pdW0tbXVzbC1zaWdpbmZvX3QucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40M2VmN2ZkN2M1ZDIKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAzLWNocm9taXVtLW11 c2wtc2lnaW5mb190LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK1RoZXJlJ3MgYSBzdWJ0bGUgZGlm ZmVyZW5jZSBpbiB0aGUgaW50ZXJuYWwgbmFtZSBvZiBzaWdpbmZvX3QgZmllbGRzCitiZXR3ZWVu IGdsaWJjIGFuZCBtdXNsLiBUaGUgc3RydWN0dXJlIGl0c2VsZiBpcyBlcXVpdmFsZW50LCBzbyBp dAorc2hvdWxkIHN1ZmZpY2UgdG8gYWRkIGEgbWFjcm8gdG8gcmVuYW1lIHRoZSBmaWVsZC4KKwor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJh cC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1i cGYvdHJhcC5jYworQEAgLTE3NCw3ICsxNzQsMTEgQEAgdm9pZCBUcmFwOjpTaWdTeXMoaW50IG5y LCBMaW51eFNpZ0luZm8qCisgICAvLyBJZiB0aGUgdmVyc2lvbiBvZiBnbGliYyBkb2Vzbid0IGlu Y2x1ZGUgdGhpcyBpbmZvcm1hdGlvbiBpbgorICAgLy8gc2lnaW5mb190IChvbGRlciB0aGFuIDIu MTcpLCB3ZSBuZWVkIHRvIGV4cGxpY2l0bHkgY29weSBpdAorICAgLy8gaW50byBhbiBhcmNoX3Np Z3N5cyBzdHJ1Y3R1cmUuCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgbWVtY3B5KCZzaWdz eXMsICZpbmZvLT5fc2lmaWVsZHMsIHNpemVvZihzaWdzeXMpKTsKKysjZWxzZQorKyAgbWVtY3B5 KCZzaWdzeXMsICZpbmZvLT5fX3NpX2ZpZWxkcywgc2l6ZW9mKHNpZ3N5cykpOworKyNlbmRpZgor ICNlbmRpZgorIAorICNpZiBkZWZpbmVkKF9fbWlwc19fKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwNC1jaHJvbWl1bS1tdXNsLXN0YWNrc3RhcnQucGF0Y2gg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA0LWNocm9taXVtLW11c2wtc3RhY2tz dGFydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmIwM2Nm NDNiODZkYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAyMDQtY2hyb21pdW0tbXVzbC1zdGFja3N0YXJ0LnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS93dGYvc3RhY2tfdXRpbC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9zdGFja191dGlsLmNjCitAQCAtMjks NyArMjksNyBAQCBzaXplX3QgR2V0VW5kZXJlc3RpbWF0ZWRTdGFja1NpemUoKSB7CisgLy8gRklY TUU6IE9uIE1hYyBPU1ggYW5kIExpbnV4LCB0aGlzIG1ldGhvZCBjYW5ub3QgZXN0aW1hdGUgc3Rh Y2sgc2l6ZQorIC8vIGNvcnJlY3RseSBmb3IgdGhlIG1haW4gdGhyZWFkLgorIAorLSNlbGlmIGRl ZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpIHx8IGRlZmluZWQoT1NfRlJF RUJTRCkgfHwgXAorKyNlbGlmIGRlZmluZWQoT1NfTElOVVgpIHx8IGRlZmluZWQoT1NfQU5EUk9J RCkgfHwgZGVmaW5lZChPU19GUkVFQlNEKSB8fCBcCisgICAgIGRlZmluZWQoT1NfRlVDSFNJQSkK KyAgIC8vIHB0aHJlYWRfZ2V0YXR0cl9ucCgpIGNhbiBmYWlsIGlmIHRoZSB0aHJlYWQgaXMgbm90 IGludm9rZWQgYnkKKyAgIC8vIHB0aHJlYWRfY3JlYXRlKCkgKGUuZy4sIHRoZSBtYWluIHRocmVh ZCBvZiBibGlua191bml0dGVzdHMpLgorQEAgLTk3LDcgKzk3LDcgQEAgcmV0dXJuIFRocmVhZGlu Zzo6VGhyZWFkU3RhY2tTaXplKCk7CisgfQorIAorIHZvaWQqIEdldFN0YWNrU3RhcnQoKSB7Cist I2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpIHx8IGRlZmluZWQo T1NfRlJFRUJTRCkgfHwgXAorKyNpZiBkZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0FO RFJPSUQpIHx8IGRlZmluZWQoT1NfRlJFRUJTRCkgfHwgXAorICAgICBkZWZpbmVkKE9TX0ZVQ0hT SUEpCisgICBwdGhyZWFkX2F0dHJfdCBhdHRyOworICAgaW50IGVycm9yOwpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwNS1jaHJvbWl1bS1tdXNsLXNhbmRib3gu cGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA1LWNocm9taXVtLW11c2wt c2FuZGJveC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjc3 MmE1NzhmZDgyMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAyMDUtY2hyb21pdW0tbXVzbC1zYW5kYm94LnBhdGNoCkBAIC0wLDAgKzEsOTIgQEAKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBl cnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYworKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFt ZXRlcnNfcmVzdHJpY3Rpb25zLmNjCitAQCAtMTM4LDcgKzEzOCw3IEBAIG5hbWVzcGFjZSBzYW5k Ym94IHsKKyAvLyBwcmVzZW50IChhcyBpbiBuZXdlciB2ZXJzaW9ucyBvZiBwb3NpeF9zcGF3biku CisgUmVzdWx0RXhwciBSZXN0cmljdENsb25lVG9UaHJlYWRzQW5kRVBFUk1Gb3JrKCkgeworICAg Y29uc3QgQXJnPHVuc2lnbmVkIGxvbmc+IGZsYWdzKDApOworLQorKyNpZiBkZWZpbmVkKF9fR0xJ QkNfXykKKyAgIC8vIFRPRE8obWRlbXBza3kpOiBFeHRlbmQgRFNMIHRvIHN1cHBvcnQgKGZsYWdz ICYgfm1hc2sxKSA9PSBtYXNrMi4KKyAgIGNvbnN0IHVpbnQ2NF90IGtBbmRyb2lkQ2xvbmVNYXNr ID0gQ0xPTkVfVk0gfCBDTE9ORV9GUyB8IENMT05FX0ZJTEVTIHwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQ0xPTkVfU0lHSEFORCB8IENMT05FX1RIUkVBRCB8CitAQCAt MTY1LDYgKzE2NSwxNyBAQCBSZXN1bHRFeHByIFJlc3RyaWN0Q2xvbmVUb1RocmVhZHNBbmRFUEVS CisgICByZXR1cm4gSWYoSXNBbmRyb2lkKCkgPyBhbmRyb2lkX3Rlc3QgOiBnbGliY190ZXN0LCBB bGxvdygpKQorICAgICAgIC5FbHNlSWYoaXNfZm9ya19vcl9jbG9uZV92Zm9yaywgRXJyb3IoRVBF Uk0pKQorICAgICAgIC5FbHNlKENyYXNoU0lHU1lTQ2xvbmUoKSk7CisrI2Vsc2UKKysgIGNvbnN0 IGludCByZXF1aXJlZCA9IENMT05FX1ZNIHwgQ0xPTkVfRlMgfCBDTE9ORV9GSUxFUyB8IENMT05F X1NJR0hBTkQgfAorKyAgICAgICAgICAgICAgICAgICAgICAgQ0xPTkVfVEhSRUFEIHwgQ0xPTkVf U1lTVlNFTTsKKysgIGNvbnN0IGludCBzYWZlID0gQ0xPTkVfU0VUVExTIHwgQ0xPTkVfUEFSRU5U X1NFVFRJRCB8IENMT05FX0NISUxEX0NMRUFSVElEIHwKKysgICAgICAgICAgICAgICAgICAgQ0xP TkVfREVUQUNIRUQ7CisrICBjb25zdCBCb29sRXhwciB0aHJlYWRfY2xvbmVfb2sgPSAoZmxhZ3Mm fnNhZmUpPT1yZXF1aXJlZDsKKysKKysgIHJldHVybiBJZih0aHJlYWRfY2xvbmVfb2ssIEFsbG93 KCkpCisrICAgICAgLkVsc2VJZigoZmxhZ3MgJiAoQ0xPTkVfVk0gfCBDTE9ORV9USFJFQUQpKSA9 PSAwLCBFcnJvcihFUEVSTSkpCisrICAgICAgLkVsc2UoQ3Jhc2hTSUdTWVNDbG9uZSgpKTsKKysj ZW5kaWYKKyB9CisgCisgI2lmbmRlZiBQUl9QQUNfUkVTRVRfS0VZUworLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3Nl dHMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCitAQCAtNDE5LDYgKzQxOSw5IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzQWxsb3dlZFByb2Nlc3NTdGFydE8KKyAjaWYgZGVmaW5lZChfX2kzODZfXykK KyAgICAgY2FzZSBfX05SX3dhaXRwaWQ6CisgI2VuZGlmCisrI2lmICFkZWZpbmVkKF9fR0xJQkNf XykKKysgICAgY2FzZSBfX05SX3NldF90aWRfYWRkcmVzczoKKysjZW5kaWYKKyAgICAgICByZXR1 cm4gdHJ1ZTsKKyAgICAgY2FzZSBfX05SX2Nsb25lOiAgLy8gU2hvdWxkIGJlIHBhcmFtZXRlci1y ZXN0cmljdGVkLgorICAgICBjYXNlIF9fTlJfc2V0bnM6ICAvLyBQcml2aWxlZ2VkLgorQEAgLTQz MSw3ICs0MzQsOSBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPCisg I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChf X21pcHNfXykKKyAgICAgY2FzZSBfX05SX3NldF90aHJlYWRfYXJlYToKKyAjZW5kaWYKKysjaWYg ZGVmaW5lZChfX0dMSUJDX18pCisgICAgIGNhc2UgX19OUl9zZXRfdGlkX2FkZHJlc3M6CisrI2Vu ZGlmCisgICAgIGNhc2UgX19OUl91bnNoYXJlOgorICNpZiAhZGVmaW5lZChfX21pcHNfXykgJiYg IWRlZmluZWQoX19hYXJjaDY0X18pCisgICAgIGNhc2UgX19OUl92Zm9yazoKK0BAIC01NDUsNiAr NTUwLDkgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQWRkcmVzc1NwYWNlQQorICAgICBj YXNlIF9fTlJfbWxvY2s6CisgICAgIGNhc2UgX19OUl9tdW5sb2NrOgorICAgICBjYXNlIF9fTlJf bXVubWFwOgorKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrICAgIGNhc2UgX19OUl9tcmVtYXA6 CisrI2VuZGlmCisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIGNhc2UgX19OUl9tYWR2aXNlOgor ICAgICBjYXNlIF9fTlJfbWluY29yZToKK0BAIC01NjIsNyArNTcwLDkgQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNBbGxvd2VkQWRkcmVzc1NwYWNlQQorICAgICBjYXNlIF9fTlJfbW9kaWZ5X2xkdDoK KyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX21wcm90ZWN0OgorKyNpZiBkZWZpbmVkKF9fR0xJQkNf XykKKyAgICAgY2FzZSBfX05SX21yZW1hcDoKKysjZW5kaWYKKyAgICAgY2FzZSBfX05SX21zeW5j OgorICAgICBjYXNlIF9fTlJfbXVubG9ja2FsbDoKKyAgICAgY2FzZSBfX05SX3JlYWRhaGVhZDoK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVu ZGVyZXJfcG9saWN5X2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYworQEAgLTk3LDExICs5 NywxOCBAQCBSZXN1bHRFeHByIFJlbmRlcmVyUHJvY2Vzc1BvbGljeTo6RXZhbHVhCisgICAgIGNh c2UgX19OUl9zeXNpbmZvOgorICAgICBjYXNlIF9fTlJfdGltZXM6CisgICAgIGNhc2UgX19OUl91 bmFtZToKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0 cGFyYW06CisrICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6CisrICAgIGNhc2UgX19O Ul9zY2hlZF9zZXRzY2hlZHVsZXI6CisrI2VuZGlmCisgICAgICAgcmV0dXJuIEFsbG93KCk7Cisg ICAgIGNhc2UgX19OUl9zY2hlZF9nZXRhZmZpbml0eToKKysjaWYgZGVmaW5lZChfX0dMSUJDX18p CisgICAgIGNhc2UgX19OUl9zY2hlZF9nZXRwYXJhbToKKyAgICAgY2FzZSBfX05SX3NjaGVkX2dl dHNjaGVkdWxlcjoKKyAgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlcjoKKysjZW5kaWYK KyAgICAgICByZXR1cm4gUmVzdHJpY3RTY2hlZFRhcmdldChHZXRQb2xpY3lQaWQoKSwgc3lzbm8p OworICAgICBjYXNlIF9fTlJfcHJsaW1pdDY0OgorICAgICAgIC8vIFNlZSBjcmJ1Zy5jb20vNjYy NDUwIGFuZCBzZXRybGltaXQgY29tbWVudCBhYm92ZS4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDYtY2hyb21pdW0tbXVzbC1kZWZhdWx0LXN0YWNrc2l6ZS5w YXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDYtY2hyb21pdW0tbXVzbC1k ZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLmJjMDc0OTViODE0NAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAyMDYtY2hyb21pdW0tbXVzbC1kZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaApA QCAtMCwwICsxLDE1IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS90aHJlYWRp bmcvcGxhdGZvcm1fdGhyZWFkX2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v YmFzZS90aHJlYWRpbmcvcGxhdGZvcm1fdGhyZWFkX2xpbnV4LmNjCitAQCAtNDM5LDcgKzQzOSwx MiBAQCB2b2lkIFRlcm1pbmF0ZU9uVGhyZWFkKCkge30KKyAKKyBzaXplX3QgR2V0RGVmYXVsdFRo cmVhZFN0YWNrU2l6ZShjb25zdCBwdGhyZWFkX2F0dHJfdCYgYXR0cmlidXRlcykgeworICNpZiAh ZGVmaW5lZChUSFJFQURfU0FOSVRJWkVSKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIHJl dHVybiAwOworKyNlbHNlIC8vIGRlZmluZWQoX19HTElCQ19fKQorKyAgLy8gRm9yIE11c2wgbGli YyB0cnkgd2l0aCBhIGRlZmF1bHQgc3RhY2sgc2l6ZSBvZiAyIE1pQgorKyAgcmV0dXJuIDIgKiAx MDI0ICogMTAyNDsKKysjZW5kaWYgLy8gIWRlZmluZWQoX19HTElCQ19fKQorICNlbHNlCisgICAv LyBUaHJlYWRTYW5pdGl6ZXIgYmxvYXRzIHRoZSBzdGFjayBoZWF2aWx5LiBFdmlkZW5jZSBoYXMg YmVlbiB0aGF0IHRoZQorICAgLy8gZGVmYXVsdCBzdGFjayBzaXplIGlzbid0IGVub3VnaCBmb3Ig c29tZSBicm93c2VyIHRlc3RzLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDIwOC1jaHJvbWl1bS1tdXNsLWV4ZWNpbmZvLnBhdGNoIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDIwOC1jaHJvbWl1bS1tdXNsLWV4ZWNpbmZvLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uOWYzYjk2NDY3NmIzCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwOC1jaHJvbWl1bS1tdXNs LWV4ZWNpbmZvLnBhdGNoCkBAIC0wLDAgKzEsMTI1IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vYmFzZS9kZWJ1Zy9zdGFja190cmFjZS5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2UuY2MKK0BAIC0yNTIsNyArMjUyLDkgQEAgdm9pZCBT dGFja1RyYWNlOjpQcmludCgpIGNvbnN0IHsKKyB9CisgCisgdm9pZCBTdGFja1RyYWNlOjpPdXRw dXRUb1N0cmVhbShzdGQ6Om9zdHJlYW0qIG9zKSBjb25zdCB7CisrI2lmIGRlZmluZWQoX19HTElC Q19fKSAmJiAhZGVmaW5lZChfQUlYKQorICAgT3V0cHV0VG9TdHJlYW1XaXRoUHJlZml4KG9zLCBu dWxscHRyKTsKKysjZW5kaWYKKyB9CisgCisgc3RkOjpzdHJpbmcgU3RhY2tUcmFjZTo6VG9TdHJp bmcoKSBjb25zdCB7CitAQCAtMjYwLDcgKzI2Miw3IEBAIHN0ZDo6c3RyaW5nIFN0YWNrVHJhY2U6 OlRvU3RyaW5nKCkgY29uc3QKKyB9Cisgc3RkOjpzdHJpbmcgU3RhY2tUcmFjZTo6VG9TdHJpbmdX aXRoUHJlZml4KGNvbnN0IGNoYXIqIHByZWZpeF9zdHJpbmcpIGNvbnN0IHsKKyAgIHN0ZDo6c3Ry aW5nc3RyZWFtIHN0cmVhbTsKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQo X0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgICBPdXRw dXRUb1N0cmVhbVdpdGhQcmVmaXgoJnN0cmVhbSwgcHJlZml4X3N0cmluZyk7CisgI2VuZGlmCisg ICByZXR1cm4gc3RyZWFtLnN0cigpOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2Uv ZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9i YXNlL2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjCitAQCAtMjcsNyArMjcsNyBAQAorICNpZiAh ZGVmaW5lZChVU0VfU1lNQk9MSVpFKQorICNpbmNsdWRlIDxjeHhhYmkuaD4KKyAjZW5kaWYKKy0j aWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChf X0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CisgI2Vu ZGlmCisgCitAQCAtODksNyArODksNyBAQCB2b2lkIERlbWFuZ2xlU3ltYm9scyhzdGQ6OnN0cmlu ZyogdGV4dCkKKyAgIC8vIE5vdGU6IGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyBOT1QgYXN5bmMt c2lnbmFsIHNhZmUgKHN0ZDo6c3RyaW5nIHVzZXMKKyAgIC8vIG1hbGxvYyBpbnRlcm5hbGx5KS4K KyAKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVm aW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgICBzdGQ6OnN0cmluZzo6c2l6ZV90 eXBlIHNlYXJjaF9mcm9tID0gMDsKKyAgIHdoaWxlIChzZWFyY2hfZnJvbSA8IHRleHQtPnNpemUo KSkgeworICAgICAvLyBMb29rIGZvciB0aGUgc3RhcnQgb2YgYSBtYW5nbGVkIHN5bWJvbCwgZnJv bSBzZWFyY2hfZnJvbS4KK0BAIC0xMjQsNyArMTI0LDcgQEAgdm9pZCBEZW1hbmdsZVN5bWJvbHMo c3RkOjpzdHJpbmcqIHRleHQpCisgICAgICAgc2VhcmNoX2Zyb20gPSBtYW5nbGVkX3N0YXJ0ICsg MjsKKyAgICAgfQorICAgfQorLSNlbmRpZiAgLy8gIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRl ZmluZWQoX0FJWCkKKysjZW5kaWYgIC8vICFkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQo X0FJWCkKKyB9CisgI2VuZGlmICAvLyAhZGVmaW5lZChVU0VfU1lNQk9MSVpFKQorIAorQEAgLTEz Niw3ICsxMzYsNyBAQCBjbGFzcyBCYWNrdHJhY2VPdXRwdXRIYW5kbGVyIHsKKyAgIHZpcnR1YWwg fkJhY2t0cmFjZU91dHB1dEhhbmRsZXIoKSA9IGRlZmF1bHQ7CisgfTsKKyAKKy0jaWYgIWRlZmlu ZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18p ICYmICFkZWZpbmVkKF9BSVgpCisgdm9pZCBPdXRwdXRQb2ludGVyKHZvaWQqIHBvaW50ZXIsIEJh Y2t0cmFjZU91dHB1dEhhbmRsZXIqIGhhbmRsZXIpIHsKKyAgIC8vIFRoaXMgc2hvdWxkIGJlIG1v cmUgdGhhbiBlbm91Z2ggdG8gc3RvcmUgYSA2NC1iaXQgbnVtYmVyIGluIGhleDoKKyAgIC8vIDE2 IGhleCBkaWdpdHMgKyAxIGZvciBudWxsLXRlcm1pbmF0b3IuCitAQCAtMjE5LDcgKzIxOSw3IEBA IHZvaWQgUHJvY2Vzc0JhY2t0cmFjZSh2b2lkKiBjb25zdCogdHJhY2UKKyAgIH0KKyAjZW5kaWYg IC8vIGRlZmluZWQoVVNFX1NZTUJPTElaRSkKKyB9CistI2VuZGlmICAvLyAhZGVmaW5lZChfX1VD TElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNlbmRpZiAgLy8gIWRlZmluZWQoX19HTElCQ19f KSAmJiAhZGVmaW5lZChfQUlYKQorIAorIHZvaWQgUHJpbnRUb1N0ZGVycihjb25zdCBjaGFyKiBv dXRwdXQpIHsKKyAgIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZl IChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcworQEAgLTgzOSw3ICs4MzksNyBAQCBzaXplX3QgQ29s bGVjdFN0YWNrVHJhY2Uodm9pZCoqIHRyYWNlLCBzCisgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSB1 bndpbmQgdGFibGVzLCB0aGVuIHRyeSB0cmFjaW5nIHVzaW5nIGZyYW1lIHBvaW50ZXJzLgorICAg cmV0dXJuIGJhc2U6OmRlYnVnOjpUcmFjZVN0YWNrRnJhbWVQb2ludGVycyhjb25zdF9jYXN0PGNv bnN0IHZvaWQqKj4odHJhY2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb3VudCwgMCk7CistI2VsaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRl ZmluZWQoX0FJWCkKKysjZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkK KyAgIC8vIFRob3VnaCB0aGUgYmFja3RyYWNlIEFQSSBtYW4gcGFnZSBkb2VzIG5vdCBsaXN0IGFu eSBwb3NzaWJsZSBuZWdhdGl2ZQorICAgLy8gcmV0dXJuIHZhbHVlcywgd2UgdGFrZSBubyBjaGFu Y2UuCisgICByZXR1cm4gYmFzZTo6c2F0dXJhdGVkX2Nhc3Q8c2l6ZV90PihiYWNrdHJhY2UodHJh Y2UsIGNvdW50KSk7CitAQCAtODUyLDEzICs4NTIsMTMgQEAgdm9pZCBTdGFja1RyYWNlOjpQcmlu dFdpdGhQcmVmaXgoY29uc3QgYworIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJlIGFzeW5jLXNp Z25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcworIC8vIHN0YWNrIGR1bXBpbmcgc2ln bmFsIGhhbmRsZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxsb3dlZCBoZXJlLgorIAorLSNp ZiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9f R0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAgIFByaW50QmFja3RyYWNlT3V0cHV0SGFuZGxl ciBoYW5kbGVyOworICAgUHJvY2Vzc0JhY2t0cmFjZSh0cmFjZV8sIGNvdW50XywgcHJlZml4X3N0 cmluZywgJmhhbmRsZXIpOworICNlbmRpZgorIH0KKyAKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNf XykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVk KF9BSVgpCisgdm9pZCBTdGFja1RyYWNlOjpPdXRwdXRUb1N0cmVhbVdpdGhQcmVmaXgoc3RkOjpv c3RyZWFtKiBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBjaGFyKiBwcmVmaXhfc3RyaW5nKSBjb25zdCB7CisgICBTdHJlYW1CYWNrdHJhY2VPdXRw dXRIYW5kbGVyIGhhbmRsZXIob3MpOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2Uv bG9nZ2luZy5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvbG9nZ2luZy5jYwor QEAgLTU4Miw3ICs1ODIsNyBAQCBMb2dNZXNzYWdlOjpMb2dNZXNzYWdlKGNvbnN0IGNoYXIqIGZp bGUsCisgCisgTG9nTWVzc2FnZTo6fkxvZ01lc3NhZ2UoKSB7CisgICBzaXplX3Qgc3RhY2tfc3Rh cnQgPSBzdHJlYW1fLnRlbGxwKCk7CistI2lmICFkZWZpbmVkKE9GRklDSUFMX0JVSUxEKSAmJiAh ZGVmaW5lZChPU19OQUNMKSAmJiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiBcCisrI2lmICFkZWZp bmVkKE9GRklDSUFMX0JVSUxEKSAmJiAhZGVmaW5lZChPU19OQUNMKSAmJiBkZWZpbmVkKF9fR0xJ QkNfXykgJiYgXAorICAgICAhZGVmaW5lZChPU19BSVgpCisgICBpZiAoc2V2ZXJpdHlfID09IExP R0dJTkdfRkFUQUwgJiYgIWJhc2U6OmRlYnVnOjpCZWluZ0RlYnVnZ2VkKCkpIHsKKyAgICAgLy8g SW5jbHVkZSBhIHN0YWNrIHRyYWNlIG9uIGEgZmF0YWwsIHVubGVzcyBhIGRlYnVnZ2VyIGlzIGF0 dGFjaGVkLgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9jb2RlZ2VuL2V4dGVy bmFsLXJlZmVyZW5jZS10YWJsZS5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3Ny Yy9jb2RlZ2VuL2V4dGVybmFsLXJlZmVyZW5jZS10YWJsZS5jYworQEAgLTEyLDcgKzEyLDkgQEAK KyAKKyAjaWYgZGVmaW5lZChERUJVRykgJiYgZGVmaW5lZChWOF9PU19MSU5VWCkgJiYgIWRlZmlu ZWQoVjhfT1NfQU5EUk9JRCkKKyAjZGVmaW5lIFNZTUJPTElaRV9GVU5DVElPTgorKyNpZiBkZWZp bmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KKysjZW5kaWYKKyAKKyAjaW5j bHVkZSA8dmVjdG9yPgorIAorQEAgLTEwMyw3ICsxMDUsNyBAQCB2b2lkIEV4dGVybmFsUmVmZXJl bmNlVGFibGU6OkluaXQoSXNvbGF0CisgfQorIAorIGNvbnN0IGNoYXIqIEV4dGVybmFsUmVmZXJl bmNlVGFibGU6OlJlc29sdmVTeW1ib2wodm9pZCogYWRkcmVzcykgeworLSNpZmRlZiBTWU1CT0xJ WkVfRlVOQ1RJT04KKysjaWYgZGVmaW5lZChTWU1CT0xJWkVfRlVOQ1RJT04pICYmIGRlZmluZWQo X19HTElCQ19fKQorICAgY2hhcioqIG5hbWVzID0gYmFja3RyYWNlX3N5bWJvbHMoJmFkZHJlc3Ms IDEpOworICAgY29uc3QgY2hhciogbmFtZSA9IG5hbWVzWzBdOworICAgLy8gVGhlIGFycmF5IG9m IG5hbWVzIGlzIG1hbGxvYydlZC4gSG93ZXZlciwgZWFjaCBuYW1lIHN0cmluZyBpcyBzdGF0aWMK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDktY2hyb21pdW0t bXVzbC10aHJlYWQtc3RhY2tzaXplLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDIwOS1jaHJvbWl1bS1tdXNsLXRocmVhZC1zdGFja3NpemUucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40Yjc2MGE0MjhiMjUKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA5LWNocm9taXVtLW11c2wtdGhy ZWFkLXN0YWNrc2l6ZS5wYXRjaApAQCAtMCwwICsxLDIyIEBACistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vcHBhcGkvdXRpbGl0eS90aHJlYWRpbmcvc2ltcGxlX3RocmVhZC5jYworKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3BwYXBpL3V0aWxpdHkvdGhyZWFkaW5nL3NpbXBsZV90aHJl YWQuY2MKK0BAIC0xMyw3ICsxMyw3IEBAIG5hbWVzcGFjZSBwcCB7CisgbmFtZXNwYWNlIHsKKyAK KyAvLyBVc2UgMk1CIGRlZmF1bHQgc3RhY2sgc2l6ZSBmb3IgTmF0aXZlIENsaWVudCwgb3RoZXJ3 aXNlIHVzZSBzeXN0ZW0gZGVmYXVsdC4KKy0jaWYgZGVmaW5lZChfX25hdGl2ZV9jbGllbnRfXykK KysjaWYgZGVmaW5lZChfX25hdGl2ZV9jbGllbnRfXykgfHwgIWRlZmluZWQoX19HTElCQ19fKQor IGNvbnN0IHNpemVfdCBrRGVmYXVsdFN0YWNrU2l6ZSA9IDIgKiAxMDI0ICogMTAyNDsKKyAjZWxz ZQorIGNvbnN0IHNpemVfdCBrRGVmYXVsdFN0YWNrU2l6ZSA9IDA7CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdjgvc3JjL2Jhc2UvcGxhdGZvcm0vcGxhdGZvcm0tcG9zaXguY2MKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9wbGF0Zm9ybS9wbGF0Zm9ybS1wb3Np eC5jYworQEAgLTg4Myw3ICs4ODMsNyBAQCBib29sIFRocmVhZDo6U3RhcnQoKSB7CisgI2lmIFY4 X09TX01BQ09TWAorICAgICAvLyBEZWZhdWx0IG9uIE1hYyBPUyBYIGlzIDUxMmtCIC0tIGJ1bXAg dXAgdG8gMU1CCisgICAgIHN0YWNrX3NpemUgPSAxICogMTAyNCAqIDEwMjQ7CistI2VsaWYgVjhf T1NfQUlYCisrI2VsaWYgVjhfT1NfQUlYIHx8ICFkZWZpbmVkKF9fR0xJQkNfXykKKyAgICAgLy8g RGVmYXVsdCBvbiBBSVggaXMgOTZrQiAtLSBidW1wIHVwIHRvIDJNQgorICAgICBzdGFja19zaXpl ID0gMiAqIDEwMjQgKiAxMDI0OworICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDIxMC1jaHJvbWl1bS1tdXNsLW1zZ3ZlYy1wdXNoX2JhY2sucGF0Y2gg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjEwLWNocm9taXVtLW11c2wtbXNndmVj LXB1c2hfYmFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjkwNWRhYTIyMzcwMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAyMTAtY2hyb21pdW0tbXVzbC1tc2d2ZWMtcHVzaF9iYWNrLnBhdGNoCkBAIC0wLDAg KzEsMTQgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvc29ja2V0L3VkcF9zb2Nr ZXRfcG9zaXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvc29ja2V0L3VkcF9z b2NrZXRfcG9zaXguY2MKK0BAIC0xMTYyLDcgKzExNjIsMTEgQEAgU2VuZFJlc3VsdCBVRFBTb2Nr ZXRQb3NpeFNlbmRlcjo6SW50ZXJuYQorICAgICBtc2dfaW92LT5wdXNoX2JhY2soe2NvbnN0X2Nh c3Q8Y2hhcio+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5sZW5ndGgoKX0pOworICAgbXNndmVj LT5yZXNlcnZlKGJ1ZmZlcnMuc2l6ZSgpKTsKKyAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgYnVm ZmVycy5zaXplKCk7IGorKykKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgICAgIG1zZ3ZlYy0+ cHVzaF9iYWNrKHt7bnVsbHB0ciwgMCwgJm1zZ19pb3Zbal0sIDEsIG51bGxwdHIsIDAsIDB9LCAw fSk7CisrI2Vsc2UKKysgICAgbXNndmVjLT5wdXNoX2JhY2soe3tudWxscHRyLCAwLCAmbXNnX2lv dltqXSwgMSwgMCwgMCwgMH0sIDB9KTsKKysjZW5kaWYKKyAgIGludCByZXN1bHQgPSBIQU5ETEVf RUlOVFIoU2VuZG1tc2coZmQsICZtc2d2ZWNbMF0sIGJ1ZmZlcnMuc2l6ZSgpLCAwKSk7CisgICBT ZW5kUmVzdWx0IHNlbmRfcmVzdWx0KDAsIDAsIHN0ZDo6bW92ZShidWZmZXJzKSk7CisgICBpZiAo cmVzdWx0IDwgMCkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDIxMS1jaHJvbWl1bS1tdXNsLWNhbm9uaWNhbGl6ZS1maWxlLW5hbWUtbXVzbC5wYXRjaCBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTEtY2hyb21pdW0tbXVzbC1jYW5vbmljYWxp emUtZmlsZS1uYW1lLW11c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi5kNDNlNmJkNDg4YmMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMjExLWNocm9taXVtLW11c2wtY2Fub25pY2FsaXplLWZpbGUtbmFtZS1t dXNsLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9uYXNtL25hc21saWIvcmVhbHBhdGguYworKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L25hc20vbmFzbWxpYi9yZWFscGF0aC5jCitAQCAtNTUsNyArNTUs NyBAQAorICAqLworIGNoYXIgKm5hc21fcmVhbHBhdGgoY29uc3QgY2hhciAqcmVsX3BhdGgpCisg eworLSAgICBjaGFyICpycCA9IGNhbm9uaWNhbGl6ZV9maWxlX25hbWUocmVsX3BhdGgpOworKyAg ICBjaGFyICpycCA9IHJlYWxwYXRoKHJlbF9wYXRoLCBOVUxMKTsKKyAgICAgcmV0dXJuIHJwID8g cnAgOiBuYXNtX3N0cmR1cChyZWxfcGF0aCk7CisgfQorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMi1jaHJvbWl1bS1tdXNsLW5vLWdldGNvbnRleHQucGF0 Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjEyLWNocm9taXVtLW11c2wtbm8t Z2V0Y29udGV4dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjU3NTVmMWI0NWE3ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAyMTItY2hyb21pdW0tbXVzbC1uby1nZXRjb250ZXh0LnBhdGNoCkBAIC0wLDAgKzEs MjkgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKK0BAIC00ODksOCAr NDg5LDEwIEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6U2ltdWxhdGVTaWduYWxEZWwKKyAgIC8v IEV4Y2VwdGlvbkhhbmRsZXI6OkhhbmRsZVNpZ25hbCgpLgorICAgc2lnaW5mby5zaV9jb2RlID0g U0lfVVNFUjsKKyAgIHNpZ2luZm8uc2lfcGlkID0gZ2V0cGlkKCk7CistICB1Y29udGV4dF90IGNv bnRleHQ7CisrICB1Y29udGV4dF90IGNvbnRleHQgPSB7IDAgfTsKKysjaWYgZGVmaW5lZChfX0dM SUJDX18pCisgICBnZXRjb250ZXh0KCZjb250ZXh0KTsKKysjZW5kaWYKKyAgIHJldHVybiBIYW5k bGVTaWduYWwoc2lnLCAmc2lnaW5mbywgJmNvbnRleHQpOworIH0KKyAKK0BAIC02NzUsOSArNjc3 LDE0IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVNaW5pZHVtcCgpIHsKKyAgIHN5c19w cmN0bChQUl9TRVRfRFVNUEFCTEUsIDEsIDAsIDAsIDApOworIAorICAgQ3Jhc2hDb250ZXh0IGNv bnRleHQ7CisrCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgaW50IGdldGNvbnRleHRfcmVz dWx0ID0gZ2V0Y29udGV4dCgmY29udGV4dC5jb250ZXh0KTsKKyAgIGlmIChnZXRjb250ZXh0X3Jl c3VsdCkKKyAgICAgcmV0dXJuIGZhbHNlOworKyNlbHNlCisrICByZXR1cm4gZmFsc2U7CisrI2Vu ZGlmCisgCisgI2lmIGRlZmluZWQoX19pMzg2X18pCisgICAvLyBJbiBDUFVGaWxsRnJvbVVDb250 ZXh0IGluIG1pbmlkdW1wd3JpdGVyLmNjIHRoZSBzdGFjayBwb2ludGVyIGlzIHJldHJpZXZlZApk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMy1jaHJvbWl1bS1t dXNsLWNyYXNocGFkLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMy1j aHJvbWl1bS1tdXNsLWNyYXNocGFkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uNzFiYmFkMmFmMTdlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDIxMy1jaHJvbWl1bS1tdXNsLWNyYXNocGFkLnBhdGNoCkBAIC0w LDAgKzEsMjQgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lzL3B0cmFjZS5oCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5 cy9wdHJhY2UuaAorQEAgLTE3LDcgKzE3LDkgQEAKKyAKKyAjaW5jbHVkZV9uZXh0IDxzeXMvcHRy YWNlLmg+CisgCisrI2lmZGVmIF9fR0xJQkNfXworICNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKysj ZW5kaWYKKyAKKyAvLyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNn aT9pZD0yMjQzMworICNpZiAhZGVmaW5lZChQVFJBQ0VfR0VUX1RIUkVBRF9BUkVBKSAmJiAhZGVm aW5lZChQVF9HRVRfVEhSRUFEX0FSRUEpICYmIFwKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFjZXIuY2MKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91 dGlsL2xpbnV4L3B0cmFjZXIuY2MKK0BAIC0yNiw2ICsyNiw5IEBACisgCisgI2lmIGRlZmluZWQo QVJDSF9DUFVfWDg2X0ZBTUlMWSkKKyAjaW5jbHVkZSA8YXNtL2xkdC5oPgorKyNpZiAhZGVmaW5l ZChfX0dMSUJDX18pCisrI2luY2x1ZGUgPGFzbS9wdHJhY2UtYWJpLmg+CisrI2VuZGlmCisgI2Vu ZGlmCisgCisgbmFtZXNwYWNlIGNyYXNocGFkIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAyMTQtY2hyb21pdW0tbXVzbC1maXhlcy5wYXRjaCBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTQtY2hyb21pdW0tbXVzbC1maXhlcy5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjU1YjI2N2VkMTcxNAotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTQtY2hyb21pdW0t bXVzbC1maXhlcy5wYXRjaApAQCAtMCwwICsxLDEwOCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3NhbmRib3gvbGludXgvc3VpZC9wcm9jZXNzX3V0aWwuaAorKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3VpZC9wcm9jZXNzX3V0aWwuaAorQEAgLTEyLDYg KzEyLDE1IEBACisgI2luY2x1ZGUgPHN0ZGludC5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4K KyAKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChURU1QX0ZBSUxVUkVfUkVU UlkpCisrIyBkZWZpbmUgVEVNUF9GQUlMVVJFX1JFVFJZKGV4cHJlc3Npb24pIFwKKysJKF9fZXh0 ZW5zaW9uX18JCQlcCisrCSAoeyBsb25nIGludCBfX3Jlc3VsdDsJCVwKKysJICBkbyBfX3Jlc3Vs dCA9IChsb25nIGludCkgKGV4cHJlc3Npb24pOyBcCisrCSAgd2hpbGUgKF9fcmVzdWx0ID09IC0x TCAmJiBlcnJubyA9PSBFSU5UUik7IFwKKysJICBfX3Jlc3VsdDsgfSkpCisrI2VuZGlmCisrCisg Ly8gVGhpcyBhZGp1c3RzIC9wcm9jL3Byb2Nlc3Mvb29tX3Njb3JlX2FkaiBzbyB0aGUgTGludXgg T09NIGtpbGxlcgorIC8vIHdpbGwgcHJlZmVyIGNlcnRhaW4gcHJvY2VzcyB0eXBlcyBvdmVyIG90 aGVycy4gVGhlIHJhbmdlIGZvciB0aGUKKyAvLyBhZGp1c3RtZW50IGlzIFstMTAwMCwgMTAwMF0s IHdpdGggWzAsIDEwMDBdIGJlaW5nIHVzZXIgYWNjZXNzaWJsZS4KKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9zZXJ2aWNlcy9kZXZpY2Uvc2VyaWFsL3NlcmlhbF9pb19oYW5kbGVyX3Bvc2l4 LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2VydmljZXMvZGV2aWNlL3NlcmlhbC9z ZXJpYWxfaW9faGFuZGxlcl9wb3NpeC5jYworQEAgLTYsNiArNiw3IEBACisgCisgI2luY2x1ZGUg PHN5cy9pb2N0bC5oPgorICNpbmNsdWRlIDx0ZXJtaW9zLmg+CisrI2luY2x1ZGUgPGFzbS1nZW5l cmljL2lvY3Rscy5oPgorIAorICNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1ZGUgPHV0aWxp dHk+CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVy LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIu aAorQEAgLTM4LDYgKzM4LDEwIEBACisgI2luY2x1ZGUgImNvbW1vbi9tZW1vcnlfYWxsb2NhdG9y LmgiCisgI2luY2x1ZGUgImdvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfZm9ybWF0Lmgi CisgCisrI2lmbmRlZiBfX0dMSUJDX18KKysjZGVmaW5lIF9saWJjX2Zwc3RhdGUgX2Zwc3RhdGUK KysjZW5kaWYKKysKKyBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFkIHsKKyAKKyAvLyBXcmFwcyBw bGF0Zm9ybS1kZXBlbmRlbnQgaW1wbGVtZW50YXRpb25zIG9mIGFjY2Vzc29ycyB0byB1Y29udGV4 dF90IHN0cnVjdHMuCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZmZt cGVnL2xpYmF2dXRpbC9jcHUuYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2ZmbXBlZy9saWJhdnV0aWwvY3B1LmMKK0BAIC00MSw4ICs0MSwxMCBAQAorICNpbmNsdWRl IDxzeXMvcGFyYW0uaD4KKyAjZW5kaWYKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisrI2lmZGVm IF9fR0xJQkNfXworICNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+CisgI2VuZGlmCisrI2VuZGlmCisg I2lmIEhBVkVfVU5JU1REX0gKKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2VuZGlmCistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcGVyZmV0dG8vaW5jbHVkZS9wZXJmZXR0 by9leHQvYmFzZS90aHJlYWRfdXRpbHMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L3BlcmZldHRvL2luY2x1ZGUvcGVyZmV0dG8vZXh0L2Jhc2UvdGhyZWFkX3V0aWxz LmgKK0BAIC0yOSw5ICsyOSw3IEBACisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKyAjZW5kaWYKKyAK Ky0jaWYgUEVSRkVUVE9fQlVJTERGTEFHKFBFUkZFVFRPX09TX0FORFJPSUQpCisgI2luY2x1ZGUg PHN5cy9wcmN0bC5oPgorLSNlbmRpZgorIAorIC8vIEludGVybmFsIGltcGxlbWVudGF0aW9uIHV0 aWxzIHRoYXQgYXJlbid0IGFzIHdpZGVseSB1c2VmdWwvc3VwcG9ydGVkIGFzCisgLy8gYmFzZS90 aHJlYWRfdXRpbHMuaC4KK0BAIC01OCw3ICs1Niw3IEBAIGlubGluZSBib29sIE1heWJlU2V0VGhy ZWFkTmFtZShjb25zdCBzdGQKKyAKKyBpbmxpbmUgYm9vbCBHZXRUaHJlYWROYW1lKHN0ZDo6c3Ry aW5nJiBvdXRfcmVzdWx0KSB7CisgICBjaGFyIGJ1ZlsxNl0gPSB7fTsKKy0jaWYgUEVSRkVUVE9f QlVJTERGTEFHKFBFUkZFVFRPX09TX0FORFJPSUQpCisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykK KyAgIGlmIChwcmN0bChQUl9HRVRfTkFNRSwgYnVmKSAhPSAwKQorICAgICByZXR1cm4gZmFsc2U7 CisgI2Vsc2UKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9sc3MvbGlu dXhfc3lzY2FsbF9zdXBwb3J0LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKK0BAIC0xMzAwLDYgKzEzMDAsMTggQEAg c3RydWN0IGtlcm5lbF9zdGF0ZnMgeworICNpZm5kZWYgX19OUl9mYWxsb2NhdGUKKyAjZGVmaW5l IF9fTlJfZmFsbG9jYXRlICAgICAgICAgIDI4NQorICNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X0dMSUJDX18pCisrI2lmZGVmIF9fTlJfcHJlYWQKKysjdW5kZWYgX19OUl9wcmVhZAorKyNlbmRp ZgorKyNpZmRlZiBfX05SX3B3cml0ZQorKyN1bmRlZiBfX05SX3B3cml0ZQorKyNlbmRpZgorKyNk ZWZpbmUgX19OUl9wcmVhZCBfX05SX3ByZWFkNjQKKysjZGVmaW5lIF9fTlJfcHdyaXRlIF9fTlJf cHdyaXRlNjQKKysjZW5kaWYgLyogIWRlZmluZWQoX19HTElCQ19fKSAqLworKworICNpZm5kZWYg X19OUl9nZXRyYW5kb20KKyAjZGVmaW5lIF9fTlJfZ2V0cmFuZG9tICAgICAgICAgIDMxOAorICNl bmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvZG5zX2NvbmZpZ19zZXJ2 aWNlX3Bvc2l4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9kbnNfY29u ZmlnX3NlcnZpY2VfcG9zaXguY2MKK0BAIC05Myw3ICs5Myw4IEBAIGFic2w6Om9wdGlvbmFsPERu c0NvbmZpZz4gUmVhZERuc0NvbmZpZygKKyAKKyAgIGFic2w6Om9wdGlvbmFsPERuc0NvbmZpZz4g ZG5zX2NvbmZpZzsKKyAvLyBUT0RPKGZ1Y2hzaWEpOiBVc2UgcmVzX25pbml0KCkgd2hlbiBpdCdz IGltcGxlbWVudGVkIG9uIEZ1Y2hzaWEuCistI2lmIGRlZmluZWQoT1NfT1BFTkJTRCkgfHwgZGVm aW5lZChPU19GVUNIU0lBKQorKyNpZiBkZWZpbmVkKE9TX09QRU5CU0QpIHx8IGRlZmluZWQoT1Nf RlVDSFNJQSkgfHwgXAorKyAgKGRlZmluZWQoT1NfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNf XykpCisgICAvLyBOb3RlOiByZXNfbmluaXQgaW4gZ2xpYmMgYWx3YXlzIHJldHVybnMgMCBhbmQg c2V0cyBSRVNfSU5JVC4KKyAgIC8vIHJlc19pbml0IGJlaGF2ZXMgdGhlIHNhbWUgd2F5LgorICAg bWVtc2V0KCZfcmVzLCAwLCBzaXplb2YoX3JlcykpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDIxNS1jaHJvbWl1bS1tdXNsLWNkZWZzLnBhdGNoIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNS1jaHJvbWl1bS1tdXNsLWNkZWZzLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uOWQxZGFlYzI5MTE4Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNS1jaHJvbWl1 bS1tdXNsLWNkZWZzLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9saWJzeW5jL3NyYy9pbmNsdWRlL3N5bmMvc3luYy5oCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGlic3luYy9zcmMvaW5jbHVkZS9z eW5jL3N5bmMuaAorQEAgLTE5LDEyICsxOSwxMyBAQAorICNpZm5kZWYgX19TWVNfQ09SRV9TWU5D X0gKKyAjZGVmaW5lIF9fU1lTX0NPUkVfU1lOQ19ICisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5o PgorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKyAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyAK Ky1fX0JFR0lOX0RFQ0xTCisrI2lmZGVmIF9fY3BsdXNwbHVzCisrZXh0ZXJuICJDIiB7CisrI2Vu ZGlmCisgCisgc3RydWN0IHN5bmNfbGVnYWN5X21lcmdlX2RhdGEgeworICBpbnQzMl90IGZkMjsK K0BAIC0xNTgsNiArMTU5LDkgQEAgc3RydWN0IHN5bmNfcHRfaW5mbyAqc3luY19wdF9pbmZvKHN0 cnVjdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3luY19wdF9p bmZvICppdHIpOworIHZvaWQgc3luY19mZW5jZV9pbmZvX2ZyZWUoc3RydWN0IHN5bmNfZmVuY2Vf aW5mb19kYXRhICppbmZvKTsKKyAKKy1fX0VORF9ERUNMUworKyNpZmRlZiBfX2NwbHVzcGx1cwor K30KKysjZW5kaWYKKysKKyAKKyAjZW5kaWYgLyogX19TWVNfQ09SRV9TWU5DX0ggKi8KZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTYtY2hyb21pdW0tbXVzbC1z dGF0LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNi1jaHJvbWl1bS1t dXNsLXN0YXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40 NTA5YTY5NTdjZDcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMjE2LWNocm9taXVtLW11c2wtc3RhdC5wYXRjaApAQCAtMCwwICsxLDEyIEBACistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9maWxlLmgKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9iYXNlL2ZpbGVzL2ZpbGUuaAorQEAgLTE5LDcgKzE5LDggQEAKKyAjaW5j bHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCisgCisgI2lmIGRlZmluZWQoT1NfQlNEKSB8fCBk ZWZpbmVkKE9TX0FQUExFKSB8fCBkZWZpbmVkKE9TX05BQ0wpIHx8IFwKKy0gICAgZGVmaW5lZChP U19GVUNIU0lBKSB8fCAoZGVmaW5lZChPU19BTkRST0lEKSAmJiBfX0FORFJPSURfQVBJX18gPCAy MSkKKysgICAgZGVmaW5lZChPU19GVUNIU0lBKSB8fCAoZGVmaW5lZChPU19BTkRST0lEKSAmJiBf X0FORFJPSURfQVBJX18gPCAyMSkgfHwgXAorKyAgICAoZGVmaW5lZChPU19MSU5VWCkgJiYgIWRl ZmluZWQoX19HTElCQ19fKSkKKyBzdHJ1Y3Qgc3RhdDsKKyBuYW1lc3BhY2UgYmFzZSB7CisgdHlw ZWRlZiBzdHJ1Y3Qgc3RhdCBzdGF0X3dyYXBwZXJfdDsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTctY2hyb21pdW0tbXVzbC1yZXNvbHZlci5wYXRjaCBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTctY2hyb21pdW0tbXVzbC1yZXNvbHZlci5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmMzZDdhZmFkOWIx OQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTct Y2hyb21pdW0tbXVzbC1yZXNvbHZlci5wYXRjaApAQCAtMCwwICsxLDc3IEBACistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9kbnNfY29uZmlnX3NlcnZpY2VfbGludXguY2MKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2Ruc19jb25maWdfc2VydmljZV9saW51 eC5jYworQEAgLTQzMiwxMSArNDMyLDEzIEBAIGNsYXNzIERuc0NvbmZpZ1NlcnZpY2VMaW51eDo6 Q29uZmlnUmVhZGUKKyAgICAgYmFzZTo6U2NvcGVkQmxvY2tpbmdDYWxsIHNjb3BlZF9ibG9ja2lu Z19jYWxsKAorICAgICAgICAgRlJPTV9IRVJFLCBiYXNlOjpCbG9ja2luZ1R5cGU6Ok1BWV9CTE9D Syk7CisgCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgICBzdGQ6OnVuaXF1ZV9wdHI8c3Ry dWN0IF9fcmVzX3N0YXRlPiByZXMgPSByZXNvbHZfcmVhZGVyXy0+R2V0UmVzU3RhdGUoKTsKKyAg ICAgaWYgKHJlcykgeworICAgICAgIGRuc19jb25maWdfID0gQ29udmVydFJlc1N0YXRlVG9EbnND b25maWcoKnJlcy5nZXQoKSk7CisgICAgICAgcmVzb2x2X3JlYWRlcl8tPkNsb3NlUmVzU3RhdGUo cmVzLmdldCgpKTsKKyAgICAgfQorKyNlbmRpZgorIAorICAgICBVTUFfSElTVE9HUkFNX0JPT0xF QU4oIk5ldC5ETlMuRG5zQ29uZmlnLlJlc29sdi5SZWFkIiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRuc19jb25maWdfLmhhc192YWx1ZSgpKTsKK0BAIC00ODYsNiArNDg4LDcgQEAgY2xh c3MgRG5zQ29uZmlnU2VydmljZUxpbnV4OjpDb25maWdSZWFkZQorIAorIHN0ZDo6dW5pcXVlX3B0 cjxzdHJ1Y3QgX19yZXNfc3RhdGU+CisgRG5zQ29uZmlnU2VydmljZUxpbnV4OjpSZXNvbHZSZWFk ZXI6OkdldFJlc1N0YXRlKCkgeworKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIGF1dG8gcmVz ID0gc3RkOjptYWtlX3VuaXF1ZTxzdHJ1Y3QgX19yZXNfc3RhdGU+KCk7CisgICBtZW1zZXQocmVz LmdldCgpLCAwLCBzaXplb2Yoc3RydWN0IF9fcmVzX3N0YXRlKSk7CisgCitAQCAtNDk1LDExICs0 OTgsMTYgQEAgRG5zQ29uZmlnU2VydmljZUxpbnV4OjpSZXNvbHZSZWFkZXI6OkdldAorICAgfQor IAorICAgcmV0dXJuIHJlczsKKysjZWxzZQorKyAgcmV0dXJuIG51bGxwdHI7CisrI2VuZGlmCisg fQorIAorIHZvaWQgRG5zQ29uZmlnU2VydmljZUxpbnV4OjpSZXNvbHZSZWFkZXI6OkNsb3NlUmVz U3RhdGUoCisgICAgIHN0cnVjdCBfX3Jlc19zdGF0ZSogcmVzKSB7CisrI2lmIGRlZmluZWQoX19H TElCQ19fKQorICAgcmVzX25jbG9zZShyZXMpOworKyNlbmRpZgorIH0KKyAKKyBEbnNDb25maWdT ZXJ2aWNlTGludXg6OkRuc0NvbmZpZ1NlcnZpY2VMaW51eCgpCistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vbmV0L2Rucy9kbnNfcmVsb2FkZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9uZXQvZG5zL2Ruc19yZWxvYWRlci5jYworQEAgLTQsOCArNCw3IEBACisgCisgI2luY2x1 ZGUgIm5ldC9kbnMvZG5zX3JlbG9hZGVyLmgiCisgCistI2lmIGRlZmluZWQoT1NfUE9TSVgpICYm ICFkZWZpbmVkKE9TX0FQUExFKSAmJiAhZGVmaW5lZChPU19PUEVOQlNEKSAmJiBcCistICAgICFk ZWZpbmVkKE9TX0FORFJPSUQpICYmICFkZWZpbmVkKE9TX0ZVQ0hTSUEpCisrI2lmZGVmIF9fR0xJ QkNfXworIAorICNpbmNsdWRlIDxyZXNvbHYuaD4KKyAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfbWFuYWdlci5jYworKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9tYW5hZ2VyLmNjCitAQCAtMjcyMCw4ICsy NzIwLDcgQEAgSG9zdFJlc29sdmVyTWFuYWdlcjo6SG9zdFJlc29sdmVyTWFuYWdlcgorICAgTmV0 d29ya0NoYW5nZU5vdGlmaWVyOjpBZGRDb25uZWN0aW9uVHlwZU9ic2VydmVyKHRoaXMpOworICAg aWYgKHN5c3RlbV9kbnNfY29uZmlnX25vdGlmaWVyXykKKyAgICAgc3lzdGVtX2Ruc19jb25maWdf bm90aWZpZXJfLT5BZGRPYnNlcnZlcih0aGlzKTsKKy0jaWYgZGVmaW5lZChPU19QT1NJWCkgJiYg IWRlZmluZWQoT1NfQVBQTEUpICYmICFkZWZpbmVkKE9TX09QRU5CU0QpICYmIFwKKy0gICAgIWRl ZmluZWQoT1NfQU5EUk9JRCkKKysjaWZkZWYgX19HTElCQ19fCisgICBFbnN1cmVEbnNSZWxvYWRl ckluaXQoKTsKKyAjZW5kaWYKKyAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5z L2hvc3RfcmVzb2x2ZXJfcHJvYy5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9k bnMvaG9zdF9yZXNvbHZlcl9wcm9jLmNjCitAQCAtMTc2LDggKzE3Niw3IEBAIGludCBTeXN0ZW1I b3N0UmVzb2x2ZXJDYWxsKGNvbnN0IHN0ZDo6c3QKKyAgIGJhc2U6OlNjb3BlZEJsb2NraW5nQ2Fs bCBzY29wZWRfYmxvY2tpbmdfY2FsbChGUk9NX0hFUkUsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTo6QmxvY2tpbmdUeXBlOjpXSUxMX0JMT0NL KTsKKyAKKy0jaWYgZGVmaW5lZChPU19QT1NJWCkgJiYgIWRlZmluZWQoT1NfQVBQTEUpICYmICFk ZWZpbmVkKE9TX09QRU5CU0QpICYmIFwKKy0gICAgIWRlZmluZWQoT1NfQU5EUk9JRCkgJiYgIWRl ZmluZWQoT1NfRlVDSFNJQSkKKysjaWZkZWYgX19HTElCQ19fCisgICBEbnNSZWxvYWRlck1heWJl UmVsb2FkKCk7CisgI2VuZGlmCisgICBhYnNsOjpvcHRpb25hbDxBZGRyZXNzSW5mbz4gYWk7CmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNjAwLWNocm9taXVtLXNu ZGlvLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDYwMC1jaHJvbWl1bS1z bmRpby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjAzMDI4 NzRmZmJhNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzA2MDAtY2hyb21pdW0tc25kaW8ucGF0Y2gKQEAgLTAsMCArMSw4NzYgQEAKKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL21lZGlhL0JVSUxELmduCitAQCAtNzIsNiArNzIsOSBAQCBjb25maWcoIm1lZGlhX2NvbmZp ZyIpIHsKKyAgICAgICBkZWZpbmVzICs9IFsgIkRMT1BFTl9QVUxTRUFVRElPIiBdCisgICAgIH0K KyAgIH0KKysgIGlmICh1c2Vfc25kaW8pIHsKKysgICAgZGVmaW5lcyArPSBbICJVU0VfU05ESU8i IF0KKysgIH0KKyAgIGlmICh1c2VfY3JhcykgeworICAgICBkZWZpbmVzICs9IFsgIlVTRV9DUkFT IiBdCisgICB9CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vQlVJTEQu Z24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9CVUlMRC5nbgorQEAg LTI0MCw2ICsyNDAsMTcgQEAgc291cmNlX3NldCgiYXVkaW8iKSB7CisgICAgIHNvdXJjZXMgKz0g WyAibGludXgvYXVkaW9fbWFuYWdlcl9saW51eC5jYyIgXQorICAgfQorIAorKyAgaWYgKHVzZV9z bmRpbykgeworKyAgICBsaWJzICs9IFsgInNuZGlvIiBdCisrICAgIHNvdXJjZXMgKz0gWworKyAg ICAgICJzbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmNjIiwKKysgICAgICAic25kaW8vc25kaW9f aW5wdXQuY2MiLAorKyAgICAgICJzbmRpby9zbmRpb19pbnB1dC5oIiwKKysgICAgICAic25kaW8v c25kaW9fb3V0cHV0LmNjIiwKKysgICAgICAic25kaW8vc25kaW9fb3V0cHV0LmgiCisrICAgIF0K KysgIH0KKysKKyAgIGlmICh1c2VfYWxzYSkgeworICAgICBsaWJzICs9IFsgImFzb3VuZCIgXQor ICAgICBzb3VyY2VzICs9IFsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRp by9saW51eC9hdWRpb19tYW5hZ2VyX2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vbWVkaWEvYXVkaW8vbGludXgvYXVkaW9fbWFuYWdlcl9saW51eC5jYworQEAgLTI1LDYgKzI1 LDExIEBACisgI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3B1bHNlL2F1ZGlvX21hbmFnZXJfcHVsc2Uu aCIKKyAjaW5jbHVkZSAibWVkaWEvYXVkaW8vcHVsc2UvcHVsc2VfdXRpbC5oIgorICNlbmRpZgor KyNpZiBkZWZpbmVkKFVTRV9TTkRJTykKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vYXVk aW9fbWFuYWdlcl9zbmRpby5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9zbmRpby9zbmRpb19p bnB1dC5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9zbmRpby9zbmRpb19vdXRwdXQuaCIKKysj ZW5kaWYKKyAKKyBuYW1lc3BhY2UgbWVkaWEgeworIAorQEAgLTMyLDcgKzM3LDggQEAgZW51bSBM aW51eEF1ZGlvSU8geworICAga1B1bHNlLAorICAga0Fsc2EsCisgICBrQ3JhcywKKy0gIGtBdWRp b0lPTWF4ID0ga0NyYXMgIC8vIE11c3QgYWx3YXlzIGJlIGVxdWFsIHRvIGxhcmdlc3QgbG9nZ2Vk IGVudHJ5LgorKyAga1NuZGlvLAorKyAga0F1ZGlvSU9NYXggPSBrU25kaW8gLy8gTXVzdCBhbHdh eXMgYmUgZXF1YWwgdG8gbGFyZ2VzdCBsb2dnZWQgZW50cnkuCisgfTsKKyAKKyBzdGQ6OnVuaXF1 ZV9wdHI8bWVkaWE6OkF1ZGlvTWFuYWdlcj4gQ3JlYXRlQXVkaW9NYW5hZ2VyKAorQEAgLTQ1LDYg KzUxLDE2IEBAIHN0ZDo6dW5pcXVlX3B0cjxtZWRpYTo6QXVkaW9NYW5hZ2VyPiBDcmUKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fbG9nX2ZhY3Rv cnkpOworICAgfQorIAorKyNpZiBkZWZpbmVkKFVTRV9TTkRJTykKKysgIHN0cnVjdCBzaW9faGRs ICpoZGwgPSBzaW9fb3BlbihTSU9fREVWQU5ZLCBTSU9fUExBWSwgMCk7CisrICBpZiAoaGRsICE9 IE5VTEwpIHsKKysgICAgc2lvX2Nsb3NlKGhkbCk7CisrICAgIFVNQV9ISVNUT0dSQU1fRU5VTUVS QVRJT04oIk1lZGlhLkxpbnV4QXVkaW9JTyIsIGtTbmRpbywga0F1ZGlvSU9NYXggKyAxKTsKKysg ICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8QXVkaW9NYW5hZ2VyU25kaW8+KHN0ZDo6bW92ZShh dWRpb190aHJlYWQpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYXVkaW9fbG9nX2ZhY3RvcnkpOworKyAgfQorKyNlbmRpZgorKworICNpZiBkZWZp bmVkKFVTRV9DUkFTKQorICAgaWYgKGJhc2U6OkNvbW1hbmRMaW5lOjpGb3JDdXJyZW50UHJvY2Vz cygpLT5IYXNTd2l0Y2goc3dpdGNoZXM6OmtVc2VDcmFzKSkgeworICAgICBVTUFfSElTVE9HUkFN X0VOVU1FUkFUSU9OKCJNZWRpYS5MaW51eEF1ZGlvSU8iLCBrQ3Jhcywga0F1ZGlvSU9NYXggKyAx KTsKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRp by9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmNjCitAQCAtMCwwICsxLDE0OCBAQAorKy8vIENv cHlyaWdodCAoYykgMjAxMiBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl ZC4KKysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHls ZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysK KysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oIgorKwor KyNpbmNsdWRlICJiYXNlL21ldHJpY3MvaGlzdG9ncmFtX21hY3Jvcy5oIgorKyNpbmNsdWRlICJi YXNlL21lbW9yeS9wdHJfdXRpbC5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9hdWRpb19kZXZp Y2VfZGVzY3JpcHRpb24uaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9fb3V0cHV0X2Rp c3BhdGNoZXIuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9faW5wdXQuaCIK KysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0LmgiCisrI2luY2x1ZGUg Im1lZGlhL2Jhc2UvbGltaXRzLmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jhc2UvbWVkaWFfc3dpdGNo ZXMuaCIKKysKKytuYW1lc3BhY2UgbWVkaWEgeworKworKworKy8vIE1heGltdW0gbnVtYmVyIG9m IG91dHB1dCBzdHJlYW1zIHRoYXQgY2FuIGJlIG9wZW4gc2ltdWx0YW5lb3VzbHkuCisrc3RhdGlj IGNvbnN0IGludCBrTWF4T3V0cHV0U3RyZWFtcyA9IDQ7CisrCisrLy8gRGVmYXVsdCBzYW1wbGUg cmF0ZSBmb3IgaW5wdXQgYW5kIG91dHB1dCBzdHJlYW1zLgorK3N0YXRpYyBjb25zdCBpbnQga0Rl ZmF1bHRTYW1wbGVSYXRlID0gNDgwMDA7CisrCisrdm9pZCBBZGREZWZhdWx0RGV2aWNlKEF1ZGlv RGV2aWNlTmFtZXMqIGRldmljZV9uYW1lcykgeworKyAgRENIRUNLKGRldmljZV9uYW1lcy0+ZW1w dHkoKSk7CisrICBkZXZpY2VfbmFtZXMtPnB1c2hfZnJvbnQoQXVkaW9EZXZpY2VOYW1lOjpDcmVh dGVEZWZhdWx0KCkpOworK30KKysKKytib29sIEF1ZGlvTWFuYWdlclNuZGlvOjpIYXNBdWRpb091 dHB1dERldmljZXMoKSB7CisrICByZXR1cm4gdHJ1ZTsKKyt9CisrCisrYm9vbCBBdWRpb01hbmFn ZXJTbmRpbzo6SGFzQXVkaW9JbnB1dERldmljZXMoKSB7CisrICByZXR1cm4gdHJ1ZTsKKyt9Cisr Cisrdm9pZCBBdWRpb01hbmFnZXJTbmRpbzo6R2V0QXVkaW9JbnB1dERldmljZU5hbWVzKAorKyAg ICBBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKKysgIERDSEVDSyhkZXZpY2VfbmFt ZXMtPmVtcHR5KCkpOworKyAgQWRkRGVmYXVsdERldmljZShkZXZpY2VfbmFtZXMpOworK30KKysK Kyt2b2lkIEF1ZGlvTWFuYWdlclNuZGlvOjpHZXRBdWRpb091dHB1dERldmljZU5hbWVzKAorKyAg ICBBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKKysgIEFkZERlZmF1bHREZXZpY2Uo ZGV2aWNlX25hbWVzKTsKKyt9CisrCisrY29uc3QgY2hhciogQXVkaW9NYW5hZ2VyU25kaW86Okdl dE5hbWUoKSB7CisrICByZXR1cm4gIlNORElPIjsKKyt9CisrCisrQXVkaW9QYXJhbWV0ZXJzIEF1 ZGlvTWFuYWdlclNuZGlvOjpHZXRJbnB1dFN0cmVhbVBhcmFtZXRlcnMoCisrICAgIGNvbnN0IHN0 ZDo6c3RyaW5nJiBkZXZpY2VfaWQpIHsKKysgIHN0YXRpYyBjb25zdCBpbnQga0RlZmF1bHRJbnB1 dEJ1ZmZlclNpemUgPSAxMDI0OworKworKyAgaW50IHVzZXJfYnVmZmVyX3NpemUgPSBHZXRVc2Vy QnVmZmVyU2l6ZSgpOworKyAgaW50IGJ1ZmZlcl9zaXplID0gdXNlcl9idWZmZXJfc2l6ZSA/Cisr ICAgICAgdXNlcl9idWZmZXJfc2l6ZSA6IGtEZWZhdWx0SW5wdXRCdWZmZXJTaXplOworKworKyAg cmV0dXJuIEF1ZGlvUGFyYW1ldGVycygKKysgICAgICBBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BD TV9MT1dfTEFURU5DWSwgQ0hBTk5FTF9MQVlPVVRfU1RFUkVPLAorKyAgICAgIGtEZWZhdWx0U2Ft cGxlUmF0ZSwgYnVmZmVyX3NpemUpOworK30KKysKKytBdWRpb01hbmFnZXJTbmRpbzo6QXVkaW9N YW5hZ2VyU25kaW8oc3RkOjp1bmlxdWVfcHRyPEF1ZGlvVGhyZWFkPiBhdWRpb190aHJlYWQsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpb0xvZ0ZhY3Rvcnkq IGF1ZGlvX2xvZ19mYWN0b3J5KQorKyAgICA6IEF1ZGlvTWFuYWdlckJhc2Uoc3RkOjptb3ZlKGF1 ZGlvX3RocmVhZCksCisrICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19sb2dfZmFjdG9yeSkg eworKyAgRExPRyhXQVJOSU5HKSA8PCAiQXVkaW9NYW5hZ2VyU25kaW8iOworKyAgU2V0TWF4T3V0 cHV0U3RyZWFtc0FsbG93ZWQoa01heE91dHB1dFN0cmVhbXMpOworK30KKysKKytBdWRpb01hbmFn ZXJTbmRpbzo6fkF1ZGlvTWFuYWdlclNuZGlvKCkgeworKyAgU2h1dGRvd24oKTsKKyt9CisrCisr QXVkaW9PdXRwdXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlTGluZWFyT3V0cHV0U3Ry ZWFtKAorKyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgY29uc3QgTG9n Q2FsbGJhY2smIGxvZ19jYWxsYmFjaykgeworKyAgRENIRUNLX0VRKEF1ZGlvUGFyYW1ldGVyczo6 QVVESU9fUENNX0xJTkVBUiwgcGFyYW1zLmZvcm1hdCgpKTsKKysgIHJldHVybiBNYWtlT3V0cHV0 U3RyZWFtKHBhcmFtcyk7CisrfQorKworK0F1ZGlvT3V0cHV0U3RyZWFtKiBBdWRpb01hbmFnZXJT bmRpbzo6TWFrZUxvd0xhdGVuY3lPdXRwdXRTdHJlYW0oCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1l dGVycyYgcGFyYW1zLAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAorKyAgICBj b25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSB7CisrICBETE9HX0lGKEVSUk9SLCAhZGV2 aWNlX2lkLmVtcHR5KCkpIDw8ICJOb3QgaW1wbGVtZW50ZWQhIjsKKysgIERDSEVDS19FUShBdWRp b1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgcGFyYW1zLmZvcm1hdCgpKTsKKysg IHJldHVybiBNYWtlT3V0cHV0U3RyZWFtKHBhcmFtcyk7CisrfQorKworK0F1ZGlvSW5wdXRTdHJl YW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlTGluZWFySW5wdXRTdHJlYW0oCisrICAgIGNvbnN0 IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNl X2lkLAorKyAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSB7CisrICBEQ0hFQ0tf RVEoQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTElORUFSLCBwYXJhbXMuZm9ybWF0KCkpOwor KyAgcmV0dXJuIE1ha2VJbnB1dFN0cmVhbShwYXJhbXMpOworK30KKysKKytBdWRpb0lucHV0U3Ry ZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxvd0xhdGVuY3lJbnB1dFN0cmVhbSgKKysgICAg Y29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBk ZXZpY2VfaWQsCisrICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIHsKKysgIERD SEVDS19FUShBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgcGFyYW1zLmZv cm1hdCgpKTsKKysgIHJldHVybiBNYWtlSW5wdXRTdHJlYW0ocGFyYW1zKTsKKyt9CisrCisrQXVk aW9QYXJhbWV0ZXJzIEF1ZGlvTWFuYWdlclNuZGlvOjpHZXRQcmVmZXJyZWRPdXRwdXRTdHJlYW1Q YXJhbWV0ZXJzKAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCwKKysg ICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBpbnB1dF9wYXJhbXMpIHsKKysgIC8vIFRPRE8odG9t bWkpOiBTdXBwb3J0IHxvdXRwdXRfZGV2aWNlX2lkfC4KKysgIERMT0dfSUYoRVJST1IsICFvdXRw dXRfZGV2aWNlX2lkLmVtcHR5KCkpIDw8ICJOb3QgaW1wbGVtZW50ZWQhIjsKKysgIHN0YXRpYyBj b25zdCBpbnQga0RlZmF1bHRPdXRwdXRCdWZmZXJTaXplID0gMjA0ODsKKysKKysgIENoYW5uZWxM YXlvdXQgY2hhbm5lbF9sYXlvdXQgPSBDSEFOTkVMX0xBWU9VVF9TVEVSRU87CisrICBpbnQgc2Ft cGxlX3JhdGUgPSBrRGVmYXVsdFNhbXBsZVJhdGU7CisrICBpbnQgYnVmZmVyX3NpemUgPSBrRGVm YXVsdE91dHB1dEJ1ZmZlclNpemU7CisrICBpZiAoaW5wdXRfcGFyYW1zLklzVmFsaWQoKSkgewor KyAgICBzYW1wbGVfcmF0ZSA9IGlucHV0X3BhcmFtcy5zYW1wbGVfcmF0ZSgpOworKyAgICBjaGFu bmVsX2xheW91dCA9IGlucHV0X3BhcmFtcy5jaGFubmVsX2xheW91dCgpOworKyAgICBidWZmZXJf c2l6ZSA9IHN0ZDo6bWluKGJ1ZmZlcl9zaXplLCBpbnB1dF9wYXJhbXMuZnJhbWVzX3Blcl9idWZm ZXIoKSk7CisrICB9CisrCisrICBpbnQgdXNlcl9idWZmZXJfc2l6ZSA9IEdldFVzZXJCdWZmZXJT aXplKCk7CisrICBpZiAodXNlcl9idWZmZXJfc2l6ZSkKKysgICAgYnVmZmVyX3NpemUgPSB1c2Vy X2J1ZmZlcl9zaXplOworKworKyAgcmV0dXJuIEF1ZGlvUGFyYW1ldGVycygKKysgICAgICBBdWRp b1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgY2hhbm5lbF9sYXlvdXQsCisrICAg ICAgc2FtcGxlX3JhdGUsIGJ1ZmZlcl9zaXplKTsKKyt9CisrCisrQXVkaW9JbnB1dFN0cmVhbSog QXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VJbnB1dFN0cmVhbSgKKysgICAgY29uc3QgQXVkaW9QYXJh bWV0ZXJzJiBwYXJhbXMpIHsKKysgIERMT0coV0FSTklORykgPDwgIk1ha2VJbnB1dFN0cmVhbSI7 CisrICByZXR1cm4gbmV3IFNuZGlvQXVkaW9JbnB1dFN0cmVhbSh0aGlzLAorKyAgICAgICAgICAg ICBBdWRpb0RldmljZURlc2NyaXB0aW9uOjprRGVmYXVsdERldmljZUlkLCBwYXJhbXMpOworK30K KysKKytBdWRpb091dHB1dFN0cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VPdXRwdXRTdHJl YW0oCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zKSB7CisrICBETE9HKFdBUk5J TkcpIDw8ICJNYWtlT3V0cHV0U3RyZWFtIjsKKysgIHJldHVybiBuZXcgU25kaW9BdWRpb091dHB1 dFN0cmVhbShwYXJhbXMsIHRoaXMpOworK30KKysKKyt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKKy0t LSAvZGV2L251bGwKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9zbmRp by9hdWRpb19tYW5hZ2VyX3NuZGlvLmgKK0BAIC0wLDAgKzEsNjUgQEAKKysvLyBDb3B5cmlnaHQg KGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8g VXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5z ZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisrCisrI2lmbmRl ZiBNRURJQV9BVURJT19TTkRJT19BVURJT19NQU5BR0VSX1NORElPX0hfCisrI2RlZmluZSBNRURJ QV9BVURJT19TTkRJT19BVURJT19NQU5BR0VSX1NORElPX0hfCisrCisrI2luY2x1ZGUgPHNldD4K KysKKysjaW5jbHVkZSAiYmFzZS9jb21waWxlcl9zcGVjaWZpYy5oIgorKyNpbmNsdWRlICJiYXNl L21hY3Jvcy5oIgorKyNpbmNsdWRlICJiYXNlL21lbW9yeS9yZWZfY291bnRlZC5oIgorKyNpbmNs dWRlICJiYXNlL3RocmVhZGluZy90aHJlYWQuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVk aW9fbWFuYWdlcl9iYXNlLmgiCisrCisrbmFtZXNwYWNlIG1lZGlhIHsKKysKKytjbGFzcyBNRURJ QV9FWFBPUlQgQXVkaW9NYW5hZ2VyU25kaW8gOiBwdWJsaWMgQXVkaW9NYW5hZ2VyQmFzZSB7Cisr IHB1YmxpYzoKKysgIEF1ZGlvTWFuYWdlclNuZGlvKHN0ZDo6dW5pcXVlX3B0cjxBdWRpb1RocmVh ZD4gYXVkaW9fdGhyZWFkLAorKyAgICAgICAgICAgICAgICAgICBBdWRpb0xvZ0ZhY3RvcnkqIGF1 ZGlvX2xvZ19mYWN0b3J5KTsKKysgIH5BdWRpb01hbmFnZXJTbmRpbygpIG92ZXJyaWRlOworKwor KyAgLy8gSW1wbGVtZW50YXRpb24gb2YgQXVkaW9NYW5hZ2VyLgorKyAgYm9vbCBIYXNBdWRpb091 dHB1dERldmljZXMoKSBvdmVycmlkZTsKKysgIGJvb2wgSGFzQXVkaW9JbnB1dERldmljZXMoKSBv dmVycmlkZTsKKysgIHZvaWQgR2V0QXVkaW9JbnB1dERldmljZU5hbWVzKEF1ZGlvRGV2aWNlTmFt ZXMqIGRldmljZV9uYW1lcykgb3ZlcnJpZGU7CisrICB2b2lkIEdldEF1ZGlvT3V0cHV0RGV2aWNl TmFtZXMoQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSBvdmVycmlkZTsKKysgIEF1ZGlv UGFyYW1ldGVycyBHZXRJbnB1dFN0cmVhbVBhcmFtZXRlcnMoCisrICAgICAgY29uc3Qgc3RkOjpz dHJpbmcmIGRldmljZV9pZCkgb3ZlcnJpZGU7CisrICBjb25zdCBjaGFyKiBHZXROYW1lKCkgb3Zl cnJpZGU7CisrCisrICAvLyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRpb01hbmFnZXJCYXNlLgorKyAg QXVkaW9PdXRwdXRTdHJlYW0qIE1ha2VMaW5lYXJPdXRwdXRTdHJlYW0oCisrICAgICAgY29uc3Qg QXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19j YWxsYmFjaykgb3ZlcnJpZGU7CisrICBBdWRpb091dHB1dFN0cmVhbSogTWFrZUxvd0xhdGVuY3lP dXRwdXRTdHJlYW0oCisrICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAg ICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCwKKysgICAgICBjb25zdCBMb2dDYWxsYmFj ayYgbG9nX2NhbGxiYWNrKSBvdmVycmlkZTsKKysgIEF1ZGlvSW5wdXRTdHJlYW0qIE1ha2VMaW5l YXJJbnB1dFN0cmVhbSgKKysgICAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysg ICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAorKyAgICAgIGNvbnN0IExvZ0NhbGxi YWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOworKyAgQXVkaW9JbnB1dFN0cmVhbSogTWFrZUxv d0xhdGVuY3lJbnB1dFN0cmVhbSgKKysgICAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFt cywKKysgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAorKyAgICAgIGNvbnN0IExv Z0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOworKworKyBwcm90ZWN0ZWQ6CisrICBB dWRpb1BhcmFtZXRlcnMgR2V0UHJlZmVycmVkT3V0cHV0U3RyZWFtUGFyYW1ldGVycygKKysgICAg ICBjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCwKKysgICAgICBjb25zdCBBdWRp b1BhcmFtZXRlcnMmIGlucHV0X3BhcmFtcykgb3ZlcnJpZGU7CisrCisrIHByaXZhdGU6CisrICAv LyBDYWxsZWQgYnkgTWFrZUxpbmVhck91dHB1dFN0cmVhbSBhbmQgTWFrZUxvd0xhdGVuY3lPdXRw dXRTdHJlYW0uCisrICBBdWRpb091dHB1dFN0cmVhbSogTWFrZU91dHB1dFN0cmVhbShjb25zdCBB dWRpb1BhcmFtZXRlcnMmIHBhcmFtcyk7CisrICBBdWRpb0lucHV0U3RyZWFtKiBNYWtlSW5wdXRT dHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpOworKworKyAgRElTQUxMT1dfQ09Q WV9BTkRfQVNTSUdOKEF1ZGlvTWFuYWdlclNuZGlvKTsKKyt9OworKworK30gIC8vIG5hbWVzcGFj ZSBtZWRpYQorKworKyNlbmRpZiAgLy8gTUVESUFfQVVESU9fU05ESU9fQVVESU9fTUFOQUdFUl9T TkRJT19IXworLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlh L2F1ZGlvL3NuZGlvL3NuZGlvX2lucHV0LmNjCitAQCAtMCwwICsxLDIwMCBAQAorKy8vIENvcHly aWdodCAyMDEzIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKy8v IFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vu c2UgdGhhdCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorKworKyNpbmNs dWRlICJiYXNlL2JpbmQuaCIKKysjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisrI2luY2x1ZGUg ImJhc2UvbWFjcm9zLmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jhc2UvYXVkaW9fdGltZXN0YW1wX2hl bHBlci5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlv LmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX21hbmFnZXIuaCIKKysjaW5jbHVkZSAi bWVkaWEvYXVkaW8vc25kaW8vc25kaW9faW5wdXQuaCIKKysKKytuYW1lc3BhY2UgbWVkaWEgewor KworK3N0YXRpYyBjb25zdCBTYW1wbGVGb3JtYXQga1NhbXBsZUZvcm1hdCA9IGtTYW1wbGVGb3Jt YXRTMTY7CisrCisrdm9pZCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06Ok9uTW92ZUNhbGxiYWNrKHZv aWQgKmFyZywgaW50IGRlbHRhKQorK3sKKysgIFNuZGlvQXVkaW9JbnB1dFN0cmVhbSogc2VsZiA9 IHN0YXRpY19jYXN0PFNuZGlvQXVkaW9JbnB1dFN0cmVhbSo+KGFyZyk7CisrCisrICBzZWxmLT5o d19kZWxheSArPSBkZWx0YTsKKyt9CisrCisrdm9pZCAqU25kaW9BdWRpb0lucHV0U3RyZWFtOjpU aHJlYWRFbnRyeSh2b2lkICphcmcpIHsKKysgIFNuZGlvQXVkaW9JbnB1dFN0cmVhbSogc2VsZiA9 IHN0YXRpY19jYXN0PFNuZGlvQXVkaW9JbnB1dFN0cmVhbSo+KGFyZyk7CisrCisrICBzZWxmLT5U aHJlYWRMb29wKCk7CisrICByZXR1cm4gTlVMTDsKKyt9CisrCisrU25kaW9BdWRpb0lucHV0U3Ry ZWFtOjpTbmRpb0F1ZGlvSW5wdXRTdHJlYW0oQXVkaW9NYW5hZ2VyQmFzZSogbWFuYWdlciwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0 cmluZyYgZGV2aWNlX25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpCisrICAgIDogbWFuYWdlciht YW5hZ2VyKSwKKysgICAgICBwYXJhbXMocGFyYW1zKSwKKysgICAgICBhdWRpb19idXMoQXVkaW9C dXM6OkNyZWF0ZShwYXJhbXMpKSwKKysgICAgICBzdGF0ZShrQ2xvc2VkKSB7CisrfQorKworK1Nu ZGlvQXVkaW9JbnB1dFN0cmVhbTo6flNuZGlvQXVkaW9JbnB1dFN0cmVhbSgpIHsKKysgIGlmIChz dGF0ZSAhPSBrQ2xvc2VkKQorKyAgICBDbG9zZSgpOworK30KKysKKytib29sIFNuZGlvQXVkaW9J bnB1dFN0cmVhbTo6T3BlbigpIHsKKysgIHN0cnVjdCBzaW9fcGFyIHBhcjsKKysgIGludCBzaWc7 CisrCisrICBpZiAoc3RhdGUgIT0ga0Nsb3NlZCkKKysgICAgcmV0dXJuIGZhbHNlOworKworKyAg aWYgKHBhcmFtcy5mb3JtYXQoKSAhPSBBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MSU5FQVIg JiYKKysgICAgICBwYXJhbXMuZm9ybWF0KCkgIT0gQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01f TE9XX0xBVEVOQ1kpIHsKKysgICAgTE9HKFdBUk5JTkcpIDw8ICJVbnN1cHBvcnRlZCBhdWRpbyBm b3JtYXQuIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQorKworKyAgc2lvX2luaXRwYXIoJnBh cik7CisrICBwYXIucmF0ZSA9IHBhcmFtcy5zYW1wbGVfcmF0ZSgpOworKyAgcGFyLnJjaGFuID0g cGFyYW1zLmNoYW5uZWxzKCk7CisrICBwYXIuYml0cyA9IFNhbXBsZUZvcm1hdFRvQml0c1BlckNo YW5uZWwoa1NhbXBsZUZvcm1hdCk7CisrICBwYXIuYnBzID0gcGFyLmJpdHMgLyA4OworKyAgcGFy LnNpZyA9IHNpZyA9IHBhci5iaXRzICE9IDggPyAxIDogMDsKKysgIHBhci5sZSA9IFNJT19MRV9O QVRJVkU7CisrICBwYXIuYXBwYnVmc3ogPSBwYXJhbXMuZnJhbWVzX3Blcl9idWZmZXIoKTsKKysK KysgIGhkbCA9IHNpb19vcGVuKFNJT19ERVZBTlksIFNJT19SRUMsIDApOworKworKyAgaWYgKGhk bCA9PSBOVUxMKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IG9wZW4gYXVkaW8gZGV2 aWNlLiI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysKKysgIGlmICghc2lvX3NldHBhciho ZGwsICZwYXIpIHx8ICFzaW9fZ2V0cGFyKGhkbCwgJnBhcikpIHsKKysgICAgTE9HKEVSUk9SKSA8 PCAiQ291bGRuJ3Qgc2V0IGF1ZGlvIHBhcmFtZXRlcnMuIjsKKysgICAgZ290byBiYWRfY2xvc2U7 CisrICB9CisrCisrICBpZiAocGFyLnJhdGUgICE9ICh1bnNpZ25lZCBpbnQpcGFyYW1zLnNhbXBs ZV9yYXRlKCkgfHwKKysgICAgICBwYXIucmNoYW4gIT0gKHVuc2lnbmVkIGludClwYXJhbXMuY2hh bm5lbHMoKSB8fAorKyAgICAgIHBhci5iaXRzICAhPSAodW5zaWduZWQgaW50KVNhbXBsZUZvcm1h dFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCkgfHwKKysgICAgICBwYXIuc2lnICAgIT0g KHVuc2lnbmVkIGludClzaWcgfHwKKysgICAgICAocGFyLmJwcyA+IDEgJiYgcGFyLmxlICE9IFNJ T19MRV9OQVRJVkUpIHx8CisrICAgICAgKHBhci5iaXRzICE9IHBhci5icHMgKiA4KSkgeworKyAg ICBMT0coRVJST1IpIDw8ICJVbnN1cHBvcnRlZCBhdWRpbyBwYXJhbWV0ZXJzLiI7CisrICAgIGdv dG8gYmFkX2Nsb3NlOworKyAgfQorKyAgc3RhdGUgPSBrU3RvcHBlZDsKKysgIGJ1ZmZlciA9IG5l dyBjaGFyW2F1ZGlvX2J1cy0+ZnJhbWVzKCkgKiBwYXJhbXMuR2V0Qnl0ZXNQZXJGcmFtZShrU2Ft cGxlRm9ybWF0KV07CisrICBzaW9fb25tb3ZlKGhkbCwgJk9uTW92ZUNhbGxiYWNrLCB0aGlzKTsK KysgIHJldHVybiB0cnVlOworK2JhZF9jbG9zZToKKysgIHNpb19jbG9zZShoZGwpOworKyAgcmV0 dXJuIGZhbHNlOworK30KKysKKyt2b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U3RhcnQoQXVk aW9JbnB1dENhbGxiYWNrKiBjYikgeworKworKyAgU3RhcnRBZ2MoKTsKKysKKysgIHN0YXRlID0g a1J1bm5pbmc7CisrICBod19kZWxheSA9IDA7CisrICBjYWxsYmFjayA9IGNiOworKyAgc2lvX3N0 YXJ0KGhkbCk7CisrICBpZiAocHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwgJlRocmVhZEVu dHJ5LCB0aGlzKSAhPSAwKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkZhaWxlZCB0byBjcmVhdGUg cmVhbC10aW1lIHRocmVhZCBmb3IgcmVjb3JkaW5nLiI7CisrICAgIHNpb19zdG9wKGhkbCk7Cisr ICAgIHN0YXRlID0ga1N0b3BwZWQ7CisrICB9CisrfQorKworK3ZvaWQgU25kaW9BdWRpb0lucHV0 U3RyZWFtOjpTdG9wKCkgeworKworKyAgaWYgKHN0YXRlID09IGtTdG9wcGVkKQorKyAgICByZXR1 cm47CisrCisrICBzdGF0ZSA9IGtTdG9wV2FpdDsKKysgIHB0aHJlYWRfam9pbih0aHJlYWQsIE5V TEwpOworKyAgc2lvX3N0b3AoaGRsKTsKKysgIHN0YXRlID0ga1N0b3BwZWQ7CisrCisrICBTdG9w QWdjKCk7CisrfQorKworK3ZvaWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpDbG9zZSgpIHsKKysK KysgIGlmIChzdGF0ZSA9PSBrQ2xvc2VkKQorKyAgICByZXR1cm47CisrCisrICBpZiAoc3RhdGUg PT0ga1J1bm5pbmcpCisrICAgIFN0b3AoKTsKKysKKysgIHN0YXRlID0ga0Nsb3NlZDsKKysgIGRl bGV0ZSBbXSBidWZmZXI7CisrICBzaW9fY2xvc2UoaGRsKTsKKysKKysgIG1hbmFnZXItPlJlbGVh c2VJbnB1dFN0cmVhbSh0aGlzKTsKKyt9CisrCisrZG91YmxlIFNuZGlvQXVkaW9JbnB1dFN0cmVh bTo6R2V0TWF4Vm9sdW1lKCkgeworKyAgLy8gTm90IHN1cHBvcnRlZAorKyAgcmV0dXJuIDAuMDsK Kyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OlNldFZvbHVtZShkb3VibGUgdm9s dW1lKSB7CisrICAvLyBOb3Qgc3VwcG9ydGVkLiBEbyBub3RoaW5nLgorK30KKysKKytkb3VibGUg U25kaW9BdWRpb0lucHV0U3RyZWFtOjpHZXRWb2x1bWUoKSB7CisrICAvLyBOb3Qgc3VwcG9ydGVk LgorKyAgcmV0dXJuIDAuMDsKKyt9CisrCisrYm9vbCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06Oklz TXV0ZWQoKSB7CisrICAvLyBOb3Qgc3VwcG9ydGVkLgorKyAgcmV0dXJuIGZhbHNlOworK30KKysK Kyt2b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U2V0T3V0cHV0RGV2aWNlRm9yQWVjKAorKyAg ICBjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCkgeworKyAgLy8gTm90IHN1cHBv cnRlZC4KKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OlRocmVhZExvb3Aodm9p ZCkgeworKyAgc2l6ZV90IHRvZG8sIG47CisrICBjaGFyICpkYXRhOworKyAgdW5zaWduZWQgaW50 IG5mcmFtZXM7CisrICBkb3VibGUgbm9ybWFsaXplZF92b2x1bWUgPSAwLjA7CisrCisrICBuZnJh bWVzID0gYXVkaW9fYnVzLT5mcmFtZXMoKTsKKysKKysgIHdoaWxlIChzdGF0ZSA9PSBrUnVubmlu ZyAmJiAhc2lvX2VvZihoZGwpKSB7CisrCisrICAgIEdldEFnY1ZvbHVtZSgmbm9ybWFsaXplZF92 b2x1bWUpOworKworKyAgICAvLyByZWFkIG9uZSBibG9jaworKyAgICB0b2RvID0gbmZyYW1lcyAq IHBhcmFtcy5HZXRCeXRlc1BlckZyYW1lKGtTYW1wbGVGb3JtYXQpOworKyAgICBkYXRhID0gYnVm ZmVyOworKyAgICB3aGlsZSAodG9kbyA+IDApIHsKKysgICAgICBuID0gc2lvX3JlYWQoaGRsLCBk YXRhLCB0b2RvKTsKKysgICAgICBpZiAobiA9PSAwKQorKyAgICAgICAgcmV0dXJuOwkvLyB1bnJl Y292ZXJhYmxlIEkvTyBlcnJvcgorKyAgICAgIHRvZG8gLT0gbjsKKysgICAgICBkYXRhICs9IG47 CisrICAgIH0KKysgICAgaHdfZGVsYXkgLT0gbmZyYW1lczsKKysKKysgICAgLy8gY29udmVydCBm cmFtZXMgY291bnQgdG8gVGltZURlbHRhCisrICAgIGNvbnN0IGJhc2U6OlRpbWVEZWx0YSBkZWxh eSA9IEF1ZGlvVGltZXN0YW1wSGVscGVyOjpGcmFtZXNUb1RpbWUoaHdfZGVsYXksCisrICAgICAg cGFyYW1zLnNhbXBsZV9yYXRlKCkpOworKworKyAgICAvLyBwdXNoIGludG8gYnVzCisrICAgIGF1 ZGlvX2J1cy0+RnJvbUludGVybGVhdmVkPFNpZ25lZEludDE2U2FtcGxlVHlwZVRyYWl0cz4ocmVp bnRlcnByZXRfY2FzdDxpbnQxNl90Kj4oYnVmZmVyKSwgbmZyYW1lcyk7CisrCisrICAgIC8vIGlu dm9rZSBjYWxsYmFjaworKyAgICBjYWxsYmFjay0+T25EYXRhKGF1ZGlvX2J1cy5nZXQoKSwgYmFz ZTo6VGltZVRpY2tzOjpOb3coKSAtIGRlbGF5LCAxLik7CisrICB9CisrfQorKworK30gIC8vIG5h bWVzcGFjZSBtZWRpYQorLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L21lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX2lucHV0LmgKK0BAIC0wLDAgKzEsOTEgQEAKKysvLyBD b3B5cmlnaHQgMjAxMyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K KysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBs aWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysKKysj aWZuZGVmIE1FRElBX0FVRElPX1NORElPX1NORElPX0lOUFVUX0hfCisrI2RlZmluZSBNRURJQV9B VURJT19TTkRJT19TTkRJT19JTlBVVF9IXworKworKyNpbmNsdWRlIDxzdGRpbnQuaD4KKysjaW5j bHVkZSA8c3RyaW5nPgorKyNpbmNsdWRlIDxzbmRpby5oPgorKworKyNpbmNsdWRlICJiYXNlL2Nv bXBpbGVyX3NwZWNpZmljLmgiCisrI2luY2x1ZGUgImJhc2UvbWFjcm9zLmgiCisrI2luY2x1ZGUg ImJhc2UvbWVtb3J5L3dlYWtfcHRyLmgiCisrI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCisr I2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2FnY19hdWRpb19zdHJlYW0uaCIKKysjaW5jbHVkZSAibWVk aWEvYXVkaW8vYXVkaW9faW8uaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9fZGV2aWNl X2Rlc2NyaXB0aW9uLmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jhc2UvYXVkaW9fcGFyYW1ldGVycy5o IgorKworK25hbWVzcGFjZSBtZWRpYSB7CisrCisrY2xhc3MgQXVkaW9NYW5hZ2VyQmFzZTsKKysK KysvLyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRpb091dHB1dFN0cmVhbSB1c2luZyBzbmRpbyg3KQor K2NsYXNzIFNuZGlvQXVkaW9JbnB1dFN0cmVhbSA6IHB1YmxpYyBBZ2NBdWRpb1N0cmVhbTxBdWRp b0lucHV0U3RyZWFtPiB7CisrIHB1YmxpYzoKKysgIC8vIFBhc3MgdGhpcyB0byB0aGUgY29uc3Ry dWN0b3IgaWYgeW91IHdhbnQgdG8gYXR0ZW1wdCBhdXRvLXNlbGVjdGlvbgorKyAgLy8gb2YgdGhl IGF1ZGlvIHJlY29yZGluZyBkZXZpY2UuCisrICBzdGF0aWMgY29uc3QgY2hhciBrQXV0b1NlbGVj dERldmljZVtdOworKworKyAgLy8gQ3JlYXRlIGEgUENNIE91dHB1dCBzdHJlYW0gZm9yIHRoZSBT TkRJTyBkZXZpY2UgaWRlbnRpZmllZCBieQorKyAgLy8gfGRldmljZV9uYW1lfC4gSWYgdW5zdXJl IG9mIHdoYXQgdG8gdXNlIGZvciB8ZGV2aWNlX25hbWV8LCB1c2UKKysgIC8vIHxrQXV0b1NlbGVj dERldmljZXwuCisrICBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0oQXVkaW9NYW5hZ2VyQmFzZSogYXVk aW9fbWFuYWdlciwKKysgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2 aWNlX25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBw YXJhbXMpOworKworKyAgflNuZGlvQXVkaW9JbnB1dFN0cmVhbSgpIG92ZXJyaWRlOworKworKyAg Ly8gSW1wbGVtZW50YXRpb24gb2YgQXVkaW9JbnB1dFN0cmVhbS4KKysgIGJvb2wgT3BlbigpIG92 ZXJyaWRlOworKyAgdm9pZCBTdGFydChBdWRpb0lucHV0Q2FsbGJhY2sqIGNhbGxiYWNrKSBvdmVy cmlkZTsKKysgIHZvaWQgU3RvcCgpIG92ZXJyaWRlOworKyAgdm9pZCBDbG9zZSgpIG92ZXJyaWRl OworKyAgZG91YmxlIEdldE1heFZvbHVtZSgpIG92ZXJyaWRlOworKyAgdm9pZCBTZXRWb2x1bWUo ZG91YmxlIHZvbHVtZSkgb3ZlcnJpZGU7CisrICBkb3VibGUgR2V0Vm9sdW1lKCkgb3ZlcnJpZGU7 CisrICBib29sIElzTXV0ZWQoKSBvdmVycmlkZTsKKysgIHZvaWQgU2V0T3V0cHV0RGV2aWNlRm9y QWVjKGNvbnN0IHN0ZDo6c3RyaW5nJiBvdXRwdXRfZGV2aWNlX2lkKSBvdmVycmlkZTsKKysKKysg cHJpdmF0ZToKKysKKysgIGVudW0gU3RyZWFtU3RhdGUgeworKyAgICBrQ2xvc2VkLCAgICAgICAg ICAgIC8vIE5vdCBvcGVuZWQgeWV0CisrICAgIGtTdG9wcGVkLCAgICAgICAgICAgLy8gRGV2aWNl IG9wZW5lZCwgYnV0IG5vdCBzdGFydGVkIHlldAorKyAgICBrUnVubmluZywgICAgICAgICAgIC8v IFN0YXJ0ZWQsIGRldmljZSBwbGF5aW5nCisrICAgIGtTdG9wV2FpdCAgICAgICAgICAgLy8gU3Rv cHBpbmcsIHdhaXRpbmcgZm9yIHRoZSByZWFsLXRpbWUgdGhyZWFkIHRvIGV4aXQKKysgIH07Cisr CisrICAvLyBDLXN0eWxlIGNhbGwtYmFja3MKKysgIHN0YXRpYyB2b2lkIE9uTW92ZUNhbGxiYWNr KHZvaWQgKmFyZywgaW50IGRlbHRhKTsKKysgIHN0YXRpYyB2b2lkKiBUaHJlYWRFbnRyeSh2b2lk ICphcmcpOworKworKyAgLy8gQ29udGludW91c2x5IG1vdmVzIGRhdGEgZnJvbSB0aGUgZGV2aWNl IHRvIHRoZSBjb25zdW1lcgorKyAgdm9pZCBUaHJlYWRMb29wKCk7CisrICAvLyBPdXIgY3JlYXRv ciwgdGhlIGF1ZGlvIG1hbmFnZXIgbmVlZHMgdG8gYmUgbm90aWZpZWQgd2hlbiB3ZSBjbG9zZS4K KysgIEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXI7CisrICAvLyBQYXJhbWV0ZXJzIG9mIHRoZSBz b3VyY2UKKysgIEF1ZGlvUGFyYW1ldGVycyBwYXJhbXM7CisrICAvLyBXZSBzdG9yZSBkYXRhIGhl cmUgZm9yIGNvbnN1bWVyCisrICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9CdXM+IGF1ZGlvX2J1czsK KysgIC8vIENhbGwtYmFjayB0aGF0IGNvbnN1bWVzIHJlY29yZGVkIGRhdGEKKysgIEF1ZGlvSW5w dXRDYWxsYmFjayogY2FsbGJhY2s7ICAvLyBWYWxpZCBkdXJpbmcgYSByZWNvcmRpbmcgc2Vzc2lv bi4KKysgIC8vIEhhbmRsZSBvZiB0aGUgYXVkaW8gZGV2aWNlCisrICBzdHJ1Y3Qgc2lvX2hkbCog aGRsOworKyAgLy8gQ3VycmVudCBzdGF0ZSBvZiB0aGUgc3RyZWFtCisrICBlbnVtIFN0cmVhbVN0 YXRlIHN0YXRlOworKyAgLy8gSGlnaCBwcmlvcml0eSB0aHJlYWQgcnVubmluZyBUaHJlYWRMb29w KCkKKysgIHB0aHJlYWRfdCB0aHJlYWQ7CisrICAvLyBOdW1iZXIgb2YgZnJhbWVzIGJ1ZmZlcmVk IGluIHRoZSBoYXJkd2FyZQorKyAgaW50IGh3X2RlbGF5OworKyAgLy8gVGVtcG9yYXJ5IGJ1ZmZl ciB3aGVyZSBkYXRhIGlzIHN0b3JlZCBzbmRpby1jb21wYXRpYmxlIGZvcm1hdAorKyAgY2hhciog YnVmZmVyOworKworKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFNuZGlvQXVkaW9JbnB1dFN0 cmVhbSk7CisrfTsKKysKKyt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKKysKKysjZW5kaWYgIC8vIE1F RElBX0FVRElPX1NORElPX1NORElPX0lOUFVUX0hfCistLS0gL2Rldi9udWxsCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0LmNjCitAQCAt MCwwICsxLDE4MyBAQAorKy8vIENvcHlyaWdodCAoYykgMjAxMiBUaGUgQ2hyb21pdW0gQXV0aG9y cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4g dGhlIExJQ0VOU0UgZmlsZS4KKysKKysjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisrI2luY2x1 ZGUgImJhc2UvdGltZS90aW1lLmgiCisrI2luY2x1ZGUgImJhc2UvdGltZS9kZWZhdWx0X3RpY2tf Y2xvY2suaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9fbWFuYWdlcl9iYXNlLmgiCisr I2luY2x1ZGUgIm1lZGlhL2Jhc2UvYXVkaW9fdGltZXN0YW1wX2hlbHBlci5oIgorKyNpbmNsdWRl ICJtZWRpYS9hdWRpby9zbmRpby9zbmRpb19vdXRwdXQuaCIKKysKKytuYW1lc3BhY2UgbWVkaWEg eworKworK3N0YXRpYyBjb25zdCBTYW1wbGVGb3JtYXQga1NhbXBsZUZvcm1hdCA9IGtTYW1wbGVG b3JtYXRTMTY7CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpPbk1vdmVDYWxsYmFj ayh2b2lkICphcmcsIGludCBkZWx0YSkgeworKyAgU25kaW9BdWRpb091dHB1dFN0cmVhbSogc2Vs ZiA9IHN0YXRpY19jYXN0PFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0qPihhcmcpOworKworKyAgc2Vs Zi0+aHdfZGVsYXkgLT0gZGVsdGE7CisrfQorKworK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0cmVh bTo6T25Wb2xDYWxsYmFjayh2b2lkICphcmcsIHVuc2lnbmVkIGludCB2b2wpIHsKKysgIFNuZGlv QXVkaW9PdXRwdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRpb0F1ZGlvT3V0cHV0U3Ry ZWFtKj4oYXJnKTsKKysKKysgIHNlbGYtPnZvbCA9IHZvbDsKKyt9CisrCisrdm9pZCAqU25kaW9B dWRpb091dHB1dFN0cmVhbTo6VGhyZWFkRW50cnkodm9pZCAqYXJnKSB7CisrICBTbmRpb0F1ZGlv T3V0cHV0U3RyZWFtKiBzZWxmID0gc3RhdGljX2Nhc3Q8U25kaW9BdWRpb091dHB1dFN0cmVhbSo+ KGFyZyk7CisrCisrICBzZWxmLT5UaHJlYWRMb29wKCk7CisrICByZXR1cm4gTlVMTDsKKyt9Cisr CisrU25kaW9BdWRpb091dHB1dFN0cmVhbTo6U25kaW9BdWRpb091dHB1dFN0cmVhbShjb25zdCBB dWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXIpCisrICAgIDogbWFuYWdl cihtYW5hZ2VyKSwKKysgICAgICBwYXJhbXMocGFyYW1zKSwKKysgICAgICBhdWRpb19idXMoQXVk aW9CdXM6OkNyZWF0ZShwYXJhbXMpKSwKKysgICAgICBzdGF0ZShrQ2xvc2VkKSwKKysgICAgICBt dXRleChQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSKSB7CisrfQorKworK1NuZGlvQXVkaW9PdXRw dXRTdHJlYW06On5TbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKCkgeworKyAgaWYgKHN0YXRlICE9IGtD bG9zZWQpCisrICAgIENsb3NlKCk7CisrfQorKworK2Jvb2wgU25kaW9BdWRpb091dHB1dFN0cmVh bTo6T3BlbigpIHsKKysgIHN0cnVjdCBzaW9fcGFyIHBhcjsKKysgIGludCBzaWc7CisrCisrICBp ZiAocGFyYW1zLmZvcm1hdCgpICE9IEF1ZGlvUGFyYW1ldGVyczo6QVVESU9fUENNX0xJTkVBUiAm JgorKyAgICAgIHBhcmFtcy5mb3JtYXQoKSAhPSBBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9M T1dfTEFURU5DWSkgeworKyAgICBMT0coV0FSTklORykgPDwgIlVuc3VwcG9ydGVkIGF1ZGlvIGZv cm1hdC4iOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrICBzaW9faW5pdHBhcigmcGFyKTsK KysgIHBhci5yYXRlID0gcGFyYW1zLnNhbXBsZV9yYXRlKCk7CisrICBwYXIucGNoYW4gPSBwYXJh bXMuY2hhbm5lbHMoKTsKKysgIHBhci5iaXRzID0gU2FtcGxlRm9ybWF0VG9CaXRzUGVyQ2hhbm5l bChrU2FtcGxlRm9ybWF0KTsKKysgIHBhci5icHMgPSBwYXIuYml0cyAvIDg7CisrICBwYXIuc2ln ID0gc2lnID0gcGFyLmJpdHMgIT0gOCA/IDEgOiAwOworKyAgcGFyLmxlID0gU0lPX0xFX05BVElW RTsKKysgIHBhci5hcHBidWZzeiA9IHBhcmFtcy5mcmFtZXNfcGVyX2J1ZmZlcigpOworKworKyAg aGRsID0gc2lvX29wZW4oU0lPX0RFVkFOWSwgU0lPX1BMQVksIDApOworKyAgaWYgKGhkbCA9PSBO VUxMKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IG9wZW4gYXVkaW8gZGV2aWNlLiI7 CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysgIGlmICghc2lvX3NldHBhcihoZGwsICZwYXIp IHx8ICFzaW9fZ2V0cGFyKGhkbCwgJnBhcikpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRu J3Qgc2V0IGF1ZGlvIHBhcmFtZXRlcnMuIjsKKysgICAgZ290byBiYWRfY2xvc2U7CisrICB9Cisr ICBpZiAocGFyLnJhdGUgICE9ICh1bnNpZ25lZCBpbnQpcGFyYW1zLnNhbXBsZV9yYXRlKCkgfHwK KysgICAgICBwYXIucGNoYW4gIT0gKHVuc2lnbmVkIGludClwYXJhbXMuY2hhbm5lbHMoKSB8fAor KyAgICAgIHBhci5iaXRzICAhPSAodW5zaWduZWQgaW50KVNhbXBsZUZvcm1hdFRvQml0c1BlckNo YW5uZWwoa1NhbXBsZUZvcm1hdCkgfHwKKysgICAgICBwYXIuc2lnICAgIT0gKHVuc2lnbmVkIGlu dClzaWcgfHwKKysgICAgICAocGFyLmJwcyA+IDEgJiYgcGFyLmxlICE9IFNJT19MRV9OQVRJVkUp IHx8CisrICAgICAgKHBhci5iaXRzICE9IHBhci5icHMgKiA4KSkgeworKyAgICBMT0coRVJST1Ip IDw8ICJVbnN1cHBvcnRlZCBhdWRpbyBwYXJhbWV0ZXJzLiI7CisrICAgIGdvdG8gYmFkX2Nsb3Nl OworKyAgfQorKyAgc3RhdGUgPSBrU3RvcHBlZDsKKysgIHZvbHBlbmRpbmcgPSAwOworKyAgdm9s ID0gMDsKKysgIGJ1ZmZlciA9IG5ldyBjaGFyW2F1ZGlvX2J1cy0+ZnJhbWVzKCkgKiBwYXJhbXMu R2V0Qnl0ZXNQZXJGcmFtZShrU2FtcGxlRm9ybWF0KV07CisrICBzaW9fb25tb3ZlKGhkbCwgJk9u TW92ZUNhbGxiYWNrLCB0aGlzKTsKKysgIHNpb19vbnZvbChoZGwsICZPblZvbENhbGxiYWNrLCB0 aGlzKTsKKysgIHJldHVybiB0cnVlOworKyBiYWRfY2xvc2U6CisrICBzaW9fY2xvc2UoaGRsKTsK KysgIHJldHVybiBmYWxzZTsKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpD bG9zZSgpIHsKKysgIGlmIChzdGF0ZSA9PSBrQ2xvc2VkKQorKyAgICByZXR1cm47CisrICBpZiAo c3RhdGUgPT0ga1J1bm5pbmcpCisrICAgIFN0b3AoKTsKKysgIHN0YXRlID0ga0Nsb3NlZDsKKysg IGRlbGV0ZSBbXSBidWZmZXI7CisrICBzaW9fY2xvc2UoaGRsKTsKKysgIG1hbmFnZXItPlJlbGVh c2VPdXRwdXRTdHJlYW0odGhpcyk7ICAvLyBDYWxscyB0aGUgZGVzdHJ1Y3RvcgorK30KKysKKyt2 b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlN0YXJ0KEF1ZGlvU291cmNlQ2FsbGJhY2sqIGNh bGxiYWNrKSB7CisrICBzdGF0ZSA9IGtSdW5uaW5nOworKyAgaHdfZGVsYXkgPSAwOworKyAgc291 cmNlID0gY2FsbGJhY2s7CisrICBzaW9fc3RhcnQoaGRsKTsKKysgIGlmIChwdGhyZWFkX2NyZWF0 ZSgmdGhyZWFkLCBOVUxMLCAmVGhyZWFkRW50cnksIHRoaXMpICE9IDApIHsKKysgICAgTE9HKEVS Uk9SKSA8PCAiRmFpbGVkIHRvIGNyZWF0ZSByZWFsLXRpbWUgdGhyZWFkLiI7CisrICAgIHNpb19z dG9wKGhkbCk7CisrICAgIHN0YXRlID0ga1N0b3BwZWQ7CisrICB9CisrfQorKworK3ZvaWQgU25k aW9BdWRpb091dHB1dFN0cmVhbTo6U3RvcCgpIHsKKysgIGlmIChzdGF0ZSA9PSBrU3RvcHBlZCkK KysgICAgcmV0dXJuOworKyAgc3RhdGUgPSBrU3RvcFdhaXQ7CisrICBwdGhyZWFkX2pvaW4odGhy ZWFkLCBOVUxMKTsKKysgIHNpb19zdG9wKGhkbCk7CisrICBzdGF0ZSA9IGtTdG9wcGVkOworK30K KysKKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlNldFZvbHVtZShkb3VibGUgdikgewor KyAgcHRocmVhZF9tdXRleF9sb2NrKCZtdXRleCk7CisrICB2b2wgPSB2ICogU0lPX01BWFZPTDsK KysgIHZvbHBlbmRpbmcgPSAxOworKyAgcHRocmVhZF9tdXRleF91bmxvY2soJm11dGV4KTsKKyt9 CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpHZXRWb2x1bWUoZG91YmxlKiB2KSB7 CisrICBwdGhyZWFkX211dGV4X2xvY2soJm11dGV4KTsKKysgICp2ID0gdm9sICogKDEuIC8gU0lP X01BWFZPTCk7CisrICBwdGhyZWFkX211dGV4X3VubG9jaygmbXV0ZXgpOworK30KKysKKysvLyBU aGlzIHN0cmVhbSBpcyBhbHdheXMgdXNlZCB3aXRoIHN1YiBzZWNvbmQgYnVmZmVyIHNpemVzLCB3 aGVyZSBpdCdzCisrLy8gc3VmZmljaWVudCB0byBzaW1wbHkgYWx3YXlzIGZsdXNoIHVwb24gU3Rh cnQoKS4KKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OkZsdXNoKCkge30KKysKKyt2b2lk IFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlRocmVhZExvb3Aodm9pZCkgeworKyAgaW50IGF2YWls LCBjb3VudCwgcmVzdWx0OworKworKyAgd2hpbGUgKHN0YXRlID09IGtSdW5uaW5nKSB7CisrICAg IC8vIFVwZGF0ZSB2b2x1bWUgaWYgbmVlZGVkCisrICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmbXV0 ZXgpOworKyAgICBpZiAodm9scGVuZGluZykgeworKyAgICAgIHZvbHBlbmRpbmcgPSAwOworKyAg ICAgIHNpb19zZXR2b2woaGRsLCB2b2wpOworKyAgICB9CisrICAgIHB0aHJlYWRfbXV0ZXhfdW5s b2NrKCZtdXRleCk7CisrCisrICAgIC8vIEdldCBkYXRhIHRvIHBsYXkKKysgICAgY29uc3QgYmFz ZTo6VGltZURlbHRhIGRlbGF5ID0gQXVkaW9UaW1lc3RhbXBIZWxwZXI6OkZyYW1lc1RvVGltZSho d19kZWxheSwKKysJcGFyYW1zLnNhbXBsZV9yYXRlKCkpOworKyAgICBjb3VudCA9IHNvdXJjZS0+ T25Nb3JlRGF0YShkZWxheSwgYmFzZTo6VGltZVRpY2tzOjpOb3coKSwgMCwgYXVkaW9fYnVzLmdl dCgpKTsKKysgICAgYXVkaW9fYnVzLT5Ub0ludGVybGVhdmVkPFNpZ25lZEludDE2U2FtcGxlVHlw ZVRyYWl0cz4oY291bnQsIHJlaW50ZXJwcmV0X2Nhc3Q8aW50MTZfdCo+KGJ1ZmZlcikpOworKyAg ICBpZiAoY291bnQgPT0gMCkgeworKyAgICAgIC8vIFdlIGhhdmUgdG8gc3VibWl0IHNvbWV0aGlu ZyB0byB0aGUgZGV2aWNlCisrICAgICAgY291bnQgPSBhdWRpb19idXMtPmZyYW1lcygpOworKyAg ICAgIG1lbXNldChidWZmZXIsIDAsIGNvdW50ICogcGFyYW1zLkdldEJ5dGVzUGVyRnJhbWUoa1Nh bXBsZUZvcm1hdCkpOworKyAgICAgIExPRyhXQVJOSU5HKSA8PCAiTm8gZGF0YSB0byBwbGF5LCBy dW5uaW5nIGVtcHR5IGN5Y2xlLiI7CisrICAgIH0KKysKKysgICAgLy8gU3VibWl0IGRhdGEgdG8g dGhlIGRldmljZQorKyAgICBhdmFpbCA9IGNvdW50ICogcGFyYW1zLkdldEJ5dGVzUGVyRnJhbWUo a1NhbXBsZUZvcm1hdCk7CisrICAgIHJlc3VsdCA9IHNpb193cml0ZShoZGwsIGJ1ZmZlciwgYXZh aWwpOworKyAgICBpZiAocmVzdWx0ID09IDApIHsKKysgICAgICBMT0coV0FSTklORykgPDwgIkF1 ZGlvIGRldmljZSBkaXNjb25uZWN0ZWQuIjsKKysgICAgICBicmVhazsKKysgICAgfQorKworKyAg ICAvLyBVcGRhdGUgaGFyZHdhcmUgcG9pbnRlcgorKyAgICBod19kZWxheSArPSBjb3VudDsKKysg IH0KKyt9CisrCisrfSAgLy8gbmFtZXNwYWNlIG1lZGlhCistLS0gL2Rldi9udWxsCisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0LmgKK0BA IC0wLDAgKzEsODYgQEAKKysvLyBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhv cnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMg Z292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGlu IHRoZSBMSUNFTlNFIGZpbGUuCisrCisrI2lmbmRlZiBNRURJQV9BVURJT19TTkRJT19TTkRJT19P VVRQVVRfSF8KKysjZGVmaW5lIE1FRElBX0FVRElPX1NORElPX1NORElPX09VVFBVVF9IXworKwor KyNpbmNsdWRlIDxwdGhyZWFkLmg+CisrI2luY2x1ZGUgPHNuZGlvLmg+CisrCisrI2luY2x1ZGUg ImJhc2UvdGltZS90aWNrX2Nsb2NrLmgiCisrI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCisr I2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX2lvLmgiCisrCisrbmFtZXNwYWNlIG1lZGlhIHsK KysKKytjbGFzcyBBdWRpb01hbmFnZXJCYXNlOworKworKy8vIEltcGxlbWVudGF0aW9uIG9mIEF1 ZGlvT3V0cHV0U3RyZWFtIHVzaW5nIHNuZGlvKDcpCisrY2xhc3MgU25kaW9BdWRpb091dHB1dFN0 cmVhbSA6IHB1YmxpYyBBdWRpb091dHB1dFN0cmVhbSB7CisrIHB1YmxpYzoKKysgIC8vIFRoZSBt YW5hZ2VyIGlzIGNyZWF0aW5nIHRoaXMgb2JqZWN0CisrICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFt KGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICBBdWRpb01hbmFnZXJCYXNlKiBtYW5hZ2VyKTsKKysgIHZpcnR1YWwgflNuZGlvQXVkaW9PdXRw dXRTdHJlYW0oKTsKKysKKysgIC8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvT3V0cHV0U3RyZWFt LgorKyAgYm9vbCBPcGVuKCkgb3ZlcnJpZGU7CisrICB2b2lkIENsb3NlKCkgb3ZlcnJpZGU7Cisr ICB2b2lkIFN0YXJ0KEF1ZGlvU291cmNlQ2FsbGJhY2sqIGNhbGxiYWNrKSBvdmVycmlkZTsKKysg IHZvaWQgU3RvcCgpIG92ZXJyaWRlOworKyAgdm9pZCBTZXRWb2x1bWUoZG91YmxlIHZvbHVtZSkg b3ZlcnJpZGU7CisrICB2b2lkIEdldFZvbHVtZShkb3VibGUqIHZvbHVtZSkgb3ZlcnJpZGU7Cisr ICB2b2lkIEZsdXNoKCkgb3ZlcnJpZGU7CisrCisrICBmcmllbmQgdm9pZCBzbmRpb19vbm1vdmUo dm9pZCAqYXJnLCBpbnQgZGVsdGEpOworKyAgZnJpZW5kIHZvaWQgc25kaW9fb252b2wodm9pZCAq YXJnLCB1bnNpZ25lZCBpbnQgdm9sKTsKKysgIGZyaWVuZCB2b2lkICpzbmRpb190aHJlYWRzdGFy dCh2b2lkICphcmcpOworKworKyBwcml2YXRlOgorKyAgZW51bSBTdHJlYW1TdGF0ZSB7CisrICAg IGtDbG9zZWQsICAgICAgICAgICAgLy8gTm90IG9wZW5lZCB5ZXQKKysgICAga1N0b3BwZWQsICAg ICAgICAgICAvLyBEZXZpY2Ugb3BlbmVkLCBidXQgbm90IHN0YXJ0ZWQgeWV0CisrICAgIGtSdW5u aW5nLCAgICAgICAgICAgLy8gU3RhcnRlZCwgZGV2aWNlIHBsYXlpbmcKKysgICAga1N0b3BXYWl0 ICAgICAgICAgICAvLyBTdG9wcGluZywgd2FpdGluZyBmb3IgdGhlIHJlYWwtdGltZSB0aHJlYWQg dG8gZXhpdAorKyAgfTsKKysKKysgIC8vIEMtc3R5bGUgY2FsbC1iYWNrcworKyAgc3RhdGljIHZv aWQgT25Nb3ZlQ2FsbGJhY2sodm9pZCAqYXJnLCBpbnQgZGVsdGEpOworKyAgc3RhdGljIHZvaWQg T25Wb2xDYWxsYmFjayh2b2lkICphcmcsIHVuc2lnbmVkIGludCB2b2wpOworKyAgc3RhdGljIHZv aWQqIFRocmVhZEVudHJ5KHZvaWQgKmFyZyk7CisrCisrICAvLyBDb250aW51b3VzbHkgbW92ZXMg ZGF0YSBmcm9tIHRoZSBwcm9kdWNlciB0byB0aGUgZGV2aWNlCisrICB2b2lkIFRocmVhZExvb3Ao dm9pZCk7CisrCisrICAvLyBPdXIgY3JlYXRvciwgdGhlIGF1ZGlvIG1hbmFnZXIgbmVlZHMgdG8g YmUgbm90aWZpZWQgd2hlbiB3ZSBjbG9zZS4KKysgIEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXI7 CisrICAvLyBQYXJhbWV0ZXJzIG9mIHRoZSBzb3VyY2UKKysgIEF1ZGlvUGFyYW1ldGVycyBwYXJh bXM7CisrICAvLyBTb3VyY2Ugc3RvcmVzIGRhdGEgaGVyZQorKyAgc3RkOjp1bmlxdWVfcHRyPEF1 ZGlvQnVzPiBhdWRpb19idXM7CisrICAvLyBDYWxsLWJhY2sgdGhhdCBwcm9kdWNlcyBkYXRhIHRv IHBsYXkKKysgIEF1ZGlvU291cmNlQ2FsbGJhY2sqIHNvdXJjZTsKKysgIC8vIEhhbmRsZSBvZiB0 aGUgYXVkaW8gZGV2aWNlCisrICBzdHJ1Y3Qgc2lvX2hkbCogaGRsOworKyAgLy8gQ3VycmVudCBz dGF0ZSBvZiB0aGUgc3RyZWFtCisrICBlbnVtIFN0cmVhbVN0YXRlIHN0YXRlOworKyAgLy8gSGln aCBwcmlvcml0eSB0aHJlYWQgcnVubmluZyBUaHJlYWRMb29wKCkKKysgIHB0aHJlYWRfdCB0aHJl YWQ7CisrICAvLyBQcm90ZWN0cyB2b2wsIHZvbHBlbmRpbmcgYW5kIGh3X2RlbGF5CisrICBwdGhy ZWFkX211dGV4X3QgbXV0ZXg7CisrICAvLyBDdXJyZW50IHZvbHVtZSBpbiB0aGUgMC4uU0lPX01B WFZPTCByYW5nZQorKyAgaW50IHZvbDsKKysgIC8vIFNldCB0byAxIGlmIHZvbHVtZXMgbXVzdCBi ZSByZWZyZXNoZWQgaW4gdGhlIHJlYWx0aW1lIHRocmVhZAorKyAgaW50IHZvbHBlbmRpbmc7Cisr ICAvLyBOdW1iZXIgb2YgZnJhbWVzIGJ1ZmZlcmVkIGluIHRoZSBoYXJkd2FyZQorKyAgaW50IGh3 X2RlbGF5OworKyAgLy8gVGVtcG9yYXJ5IGJ1ZmZlciB3aGVyZSBkYXRhIGlzIHN0b3JlZCBzbmRp by1jb21wYXRpYmxlIGZvcm1hdAorKyAgY2hhciogYnVmZmVyOworKworKyAgRElTQUxMT1dfQ09Q WV9BTkRfQVNTSUdOKFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0pOworK307CisrCisrfSAgLy8gbmFt ZXNwYWNlIG1lZGlhCisrCisrI2VuZGlmICAvLyBNRURJQV9BVURJT19TTkRJT19TTkRJT19PVVRQ VVRfSF8KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9tZWRpYV9vcHRpb25zLmdu aQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL21lZGlhX29wdGlvbnMuZ25pCitA QCAtMTIxLDYgKzEyMSw5IEBAIGRlY2xhcmVfYXJncygpIHsKKyAgICMgRW5hYmxlcyBydW50aW1l IHNlbGVjdGlvbiBvZiBBTFNBIGxpYnJhcnkgZm9yIGF1ZGlvLgorICAgdXNlX2Fsc2EgPSBmYWxz ZQorIAorKyAgIyBFbmFibGUgcnVudGltZSBzZWxlY3Rpb24gb2Ygc25kaW8oNykKKysgIHVzZV9z bmRpbyA9IGZhbHNlCisrCisgICAjIEFsc2Egc2hvdWxkIGJlIHVzZWQgb24gbm9uLUFuZHJvaWQs IG5vbi1NYWMgUE9TSVggc3lzdGVtcy4KKyAgICMgQWxzYSBzaG91bGQgYmUgdXNlZCBvbiBkZXNr dG9wIENocm9tZWNhc3QgYW5kIGF1ZGlvLW9ubHkgQ2hyb21lY2FzdCBidWlsZHMuCisgICBpZiAo aXNfcG9zaXggJiYgIWlzX2FuZHJvaWQgJiYgIWlzX21hYyAmJgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDcwMC1hcm12N2wtbmVvbi5wYXRjaCBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3MDAtYXJtdjdsLW5lb24ucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kNDJmYTE5YTA3YTEKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzAwLWFybXY3bC1uZW9uLnBhdGNo CkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9za2lhL0JVSUxE LmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2tpYS9CVUlMRC5nbgorQEAgLTgwMCw3 ICs4MDAsNiBAQCBza2lhX3NvdXJjZV9zZXQoInNraWFfb3B0cyIpIHsKKyAgICAgICAgICMgUm9v dCBidWlsZCBjb25maWcgc2V0cyAtbWZwdT0kYXJtX2ZwdSwgd2hpY2ggd2UgZXhwZWN0IHRvIGJl IG5lb24KKyAgICAgICAgICMgd2hlbiBydW5uaW5nIHRoaXMuCisgICAgICAgICBpZiAoIWFybV91 c2VfbmVvbikgeworLSAgICAgICAgICBjb25maWdzIC09IFsgIi8vYnVpbGQvY29uZmlnL2NvbXBp bGVyOmNvbXBpbGVyX2FybV9mcHUiIF0KKyAgICAgICAgICAgY2ZsYWdzICs9IFsgIi1tZnB1PW5l b24iIF0KKyAgICAgICAgIH0KKyAgICAgICB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wNzUwLWNocm9taXVtLW11c2wtY3Jvc3Mtbm8tYXNtX3B0cmFjZV9oLnBh dGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1MC1jaHJvbWl1bS1tdXNsLWNy b3NzLW5vLWFzbV9wdHJhY2VfaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLjNjZjEzMjkwOGFmNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzA3NTAtY2hyb21pdW0tbXVzbC1jcm9zcy1uby1hc21fcHRyYWNlX2gu cGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVy L2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRl ci9saW51eF9wdHJhY2VfZHVtcGVyLmNjCitAQCAtMzgsNyArMzgsMTIgQEAKKyAKKyAjaW5jbHVk ZSAiY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmgiCisg CisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisrI2Vs c2UKKysvKiBGb3IgYXJtKi1tdXNsIHRoaXMgZGVmaW5pdGlvbiBpcyBtaXNzaW5nICovCisrI2Rl ZmluZSBBUk1fc3AgdXJlZ3NbMTNdCisrI2VuZGlmCisgI2luY2x1ZGUgPGFzc2VydC5oPgorICNp bmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxmY250bC5oPgorLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv bWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9t aW5pZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MKK0BAIC0zMiw3ICszMiwxMiBAQAor IAorICNpbmNsdWRlICJjbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVt cGVyLmgiCisgCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxhc20vcHRyYWNl Lmg+CisrI2Vsc2UKKysvKiBGb3IgYXJtKi1tdXNsIHRoaXMgZGVmaW5pdGlvbiBpcyBtaXNzaW5n ICovCisrI2RlZmluZSBBUk1fc3AgdXJlZ3NbMTNdCisrI2VuZGlmCisgI2luY2x1ZGUgPGFzc2Vy dC5oPgorICNpbmNsdWRlIDxlbGYuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTEtY2hyb21pdW0tbXVzbC1hcm0tdXNl cl92ZnAucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUxLWNocm9taXVt LW11c2wtYXJtLXVzZXJfdmZwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uNmUyZDYyZjM1ZWU2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDc1MS1jaHJvbWl1bS1tdXNsLWFybS11c2VyX3ZmcC5wYXRjaApAQCAt MCwwICsxLDIwIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJl YWRfaW5mby5oCitAQCAtMTcsNiArMTcsMTcgQEAKKyAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+Cisg I2luY2x1ZGUgPHN5cy91c2VyLmg+CisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKytzdHJ1Y3Qg dXNlcl92ZnAgeworKwl1bnNpZ25lZCBsb25nIGxvbmcgZnByZWdzWzMyXTsKKysJdW5zaWduZWQg bG9uZyBmcHNjcjsKKyt9OworK3N0cnVjdCB1c2VyX3ZmcF9leGMgeworKwl1bnNpZ25lZCBsb25n IGZwZXhjOworKwl1bnNpZ25lZCBsb25nIGZwaW5zdDsKKysJdW5zaWduZWQgbG9uZyBmcGluc3Qy OworK307CisrI2VuZGlmIC8qICFkZWZpbmVkKF9fR0xJQkNfXykgKi8KKyAKKyAjaW5jbHVkZSA8 dHlwZV90cmFpdHM+CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wNzUyLWNocm9taXVtLW11c2wtYXJtLWVsZl9hdXh2X3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wNzUyLWNocm9taXVtLW11c2wtYXJtLWVsZl9hdXh2X3QucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43MTEyYzhjZmQzZmEKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUyLWNocm9t aXVtLW11c2wtYXJtLWVsZl9hdXh2X3QucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9iYXNlL2NwdS5jYworKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3Y4L3NyYy9iYXNlL2NwdS5jYworQEAgLTE2Myw2ICsxNjMsMTUgQEAgc3RhdGlj IFY4X0lOTElORSB2b2lkIF9fY3B1aWQoaW50IGNwdV9pbgorIAorICNpZiBWOF9IT1NUX0FSQ0hf QVJNIHx8IFY4X0hPU1RfQVJDSF9BUk02NAorIAorKyNpZm5kZWYgX19HTElCQ19fCisrI2luY2x1 ZGUgPGVsZi5oPgorKyNpZmRlZiBfX0xQNjRfXworK3R5cGVkZWYgRWxmNjRfYXV4dl90IGVsZl9h dXh2X3Q7CisrI2Vsc2UKKyt0eXBlZGVmIEVsZjMyX2F1eHZfdCBlbGZfYXV4dl90OworKyNlbmRp ZgorKyNlbmRpZgorKworIHN0YXRpYyB1aW50MzJfdCBSZWFkRUxGSFdDYXBzKCkgeworICAgdWlu dDMyX3QgcmVzdWx0ID0gMDsKKyAjaWYgVjhfR0xJQkNfUFJFUkVRKDIsIDE2KQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDgwMS1jaHJvbWl1bS1pNjg2LXZhYXBp LWZwZXJtaXNzaXZlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDgwMS1j aHJvbWl1bS1pNjg2LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uM2Q0MDQzZTAzYjg5Ci0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDgwMS1jaHJvbWl1bS1pNjg2LXZhYXBpLWZwZXJt aXNzaXZlLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9tZWRpYS9ncHUvdmFhcGkvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9t ZWRpYS9ncHUvdmFhcGkvQlVJTEQuZ24KK0BAIC0xNCw2ICsxNCwxMCBAQCBpbXBvcnQoIi8vdWkv Z2wvZmVhdHVyZXMuZ25pIikKKyBhc3NlcnQoaXNfbGludXggfHwgaXNfY2hyb21lb3MpCisgYXNz ZXJ0KHVzZV92YWFwaSkKKyAKKytjb25maWcoInZhYXBpX3Blcm1pc3NpdmUiKSB7CisrICBjZmxh Z3MgPSBbICItZnBlcm1pc3NpdmUiIF0KKyt9CisrCisgZ2VuZXJhdGVfc3R1YnMoImxpYnZhX3N0 dWJzIikgeworICAgZXh0cmFfaGVhZGVyID0gInZhX3N0dWJfaGVhZGVyLmZyYWdtZW50IgorICAg c2lncyA9IFsgInZhLnNpZ3MiIF0KK0BAIC0xMzYsNiArMTQwLDEwIEBAIHNvdXJjZV9zZXQoInZh YXBpIikgeworICAgICBdCisgICB9CisgCisrICBpZiAodGFyZ2V0X2NwdSA9PSAieDg2Iikgewor KyAgICBjb25maWdzICs9IFsgIjp2YWFwaV9wZXJtaXNzaXZlIiBdCisrICB9CisrCisgICBpZiAo dXNlX3gxMSkgeworICAgICBkZXBzICs9IFsgIi8vdWkvZ2Z4L3giIF0KKyAgICAgc291cmNlcyAr PSBbCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAwLXh4eC1w cGM2NGxlLWxpYnZweC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDAt eHh4LXBwYzY0bGUtbGlidnB4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uNWM5NTY2YjU2YmQ0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDkwMC14eHgtcHBjNjRsZS1saWJ2cHgucGF0Y2gKQEAgLTAsMCArMSw2 NSBAQAorVXNlcyBnZW5lcmljIHRhcmdldCBmb3Igbm93LiBUbyB1c2UgcHBjNjRsZSwgY2hhbmdl IC0tdGFyZ2V0IHRvIHBwYzY0bGUtZ251CithbmQgYWRkIC0tZW5hYmxlLXZzeCwgYW5kIGNoYW5n ZSBnZW5lcmljIHRvIHBwYyBmb3IgdGhlIHJ0Y2QgaGVhZGVyLgorCitGcm9tIDE4ZTZjNWM1NWNm YWUwY2ZiNDU4ZDgyMTBkN2JjNzA5MzYwYTBlOTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgorRGF0ZTogV2VkLCA5IFNlcCAyMDIwIDE5 OjA4OjI1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGVuYWJsZSBnZW5lcmF0aW9uIG9mIHBwYzY0 IGxpYnZweCBiaXRzCisKK3RoaXMgZG9lc24ndCB1cGRhdGUgdGhlIGduaSBmaWxlLCB0aGF0J3Mg ZG9uZSBmcm9tCit0aGUgdGVtcGxhdGUgYnkgcnVubmluZyB0aGUgYXBwcm9wcmlhdGUgc2NyaXB0 cworLS0tCisgdGhpcmRfcGFydHkvbGlidnB4L0JVSUxELmduICAgICAgICB8IDQgKysrKworIHRo aXJkX3BhcnR5L2xpYnZweC9nZW5lcmF0ZV9nbmkuc2ggfCA5ICsrKysrKysrKworIDIgZmlsZXMg Y2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKQorCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvbGlidnB4L0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvbGlidnB4L0JVSUxELmduCitAQCAtNDI0LDYgKzQyNCw4IEBAIHN0YXRpY19s aWJyYXJ5KCJidW5kbGVkX2xpYnZweCIpIHsKKyAgICAgICBzb3VyY2VzID0gbGlidnB4X3NyY3Nf YXJtNjQKKyAgICAgICBwdWJsaWNfZGVwcyA9IFsgIjpsaWJ2cHhfYXJtNjRfaGVhZGVycyIgXQor ICAgICB9CisrICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpIHsKKysgICAgc291 cmNlcyA9IGxpYnZweF9zcmNzX3BwYzY0CisgICB9CisgCisgICBjb25maWdzIC09IFsgIi8vYnVp bGQvY29uZmlnL2NvbXBpbGVyOmNocm9taXVtX2NvZGUiIF0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9saWJ2cHgvZ2VuZXJhdGVfZ25pLnNoCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGlidnB4L2dlbmVyYXRlX2duaS5zaAorQEAgLTM3 NCw2ICszNzQsNyBAQCBnZW5fY29uZmlnX2ZpbGVzIGxpbnV4L2FybS1uZW9uLWhpZ2hiZCAiCisg Z2VuX2NvbmZpZ19maWxlcyBsaW51eC9hcm02NC1oaWdoYmQgIi0tdGFyZ2V0PWFybXY4LWxpbnV4 LWdjYyAke2FsbF9wbGF0Zm9ybXN9ICR7SElHSEJEfSIKKyBnZW5fY29uZmlnX2ZpbGVzIGxpbnV4 L21pcHNlbCAiLS10YXJnZXQ9bWlwczMyLWxpbnV4LWdjYyAke2FsbF9wbGF0Zm9ybXN9IgorIGdl bl9jb25maWdfZmlsZXMgbGludXgvbWlwczY0ZWwgIi0tdGFyZ2V0PW1pcHM2NC1saW51eC1nY2Mg JHthbGxfcGxhdGZvcm1zfSIKKytnZW5fY29uZmlnX2ZpbGVzIGxpbnV4L3BwYzY0ICItLXRhcmdl dD1nZW5lcmljLWdudSAkSElHSEJEICR7YWxsX3BsYXRmb3Jtc30iCisgZ2VuX2NvbmZpZ19maWxl cyBsaW51eC9nZW5lcmljICItLXRhcmdldD1nZW5lcmljLWdudSAkSElHSEJEICR7YWxsX3BsYXRm b3Jtc30iCisgZ2VuX2NvbmZpZ19maWxlcyB3aW4vYXJtNjQgIi0tdGFyZ2V0PWFybTY0LXdpbjY0 LXZzMTUgJHthbGxfcGxhdGZvcm1zfSAke0hJR0hCRH0iCisgZ2VuX2NvbmZpZ19maWxlcyB3aW4v aWEzMiAiLS10YXJnZXQ9eDg2LXdpbjMyLXZzMTQgJHthbGxfcGxhdGZvcm1zfSAke3g4Nl9wbGF0 Zm9ybXN9IgorQEAgLTM5OSw2ICs0MDAsNyBAQCBsaW50X2NvbmZpZyBsaW51eC9hcm0tbmVvbi1o aWdoYmQKKyBsaW50X2NvbmZpZyBsaW51eC9hcm02NC1oaWdoYmQKKyBsaW50X2NvbmZpZyBsaW51 eC9taXBzZWwKKyBsaW50X2NvbmZpZyBsaW51eC9taXBzNjRlbAorK2xpbnRfY29uZmlnIGxpbnV4 L3BwYzY0CisgbGludF9jb25maWcgbGludXgvZ2VuZXJpYworIGxpbnRfY29uZmlnIHdpbi9hcm02 NAorIGxpbnRfY29uZmlnIHdpbi9pYTMyCitAQCAtNDI4LDYgKzQzMCw3IEBAIGdlbl9ydGNkX2hl YWRlciBsaW51eC9hcm0tbmVvbi1oaWdoYmQgYXIKKyBnZW5fcnRjZF9oZWFkZXIgbGludXgvYXJt NjQtaGlnaGJkIGFybXY4CisgZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4L21pcHNlbCBtaXBzZWwKKyBn ZW5fcnRjZF9oZWFkZXIgbGludXgvbWlwczY0ZWwgbWlwczY0ZWwKKytnZW5fcnRjZF9oZWFkZXIg bGludXgvcHBjNjQgZ2VuZXJpYworIGdlbl9ydGNkX2hlYWRlciBsaW51eC9nZW5lcmljIGdlbmVy aWMKKyBnZW5fcnRjZF9oZWFkZXIgd2luL2FybTY0IGFybXY4CisgZ2VuX3J0Y2RfaGVhZGVyIHdp bi9pYTMyIHg4NiAiJHtyZXF1aXJlX3NzZTJ9IgorQEAgLTUxMyw2ICs1MTYsMTIgQEAgaWYgWyAt eiAkT05MWV9DT05GSUdTIF07IHRoZW4KKyAKKyAgIGVjaG8gIk1JUFM2NCBzb3VyY2UgbGlzdCBp cyBpZGVudGljYWwgdG8gTUlQUyBzb3VyY2UgbGlzdC4gTm8gbmVlZCB0byBnZW5lcmF0ZSBpdC4i CisgCisrICBlY2hvICJHZW5lcmF0ZSBwcGM2NCBzb3VyY2UgbGlzdC4iCisrICBjb25maWc9JChw cmludF9jb25maWdfYmFzaWMgbGludXgvcHBjNjQpCisrICBtYWtlX2NsZWFuCisrICBtYWtlIGxp YnZweF9zcmNzLnR4dCB0YXJnZXQ9bGlicyAkY29uZmlnID4gL2Rldi9udWxsCisrICBjb252ZXJ0 X3NyY3NfdG9fcHJvamVjdF9maWxlcyBsaWJ2cHhfc3Jjcy50eHQgbGlidnB4X3NyY3NfcHBjNjQK KysKKyAgIGVjaG8gIkdlbmVyYXRlIE5hQ2wgc291cmNlIGxpc3QuIgorICAgY29uZmlnPSQocHJp bnRfY29uZmlnX2Jhc2ljIG5hY2wpCisgICBtYWtlX2NsZWFuCmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAxLXh4eC1wcGM2NGxlLXNhbmRib3gtbGludXgtc3Rh dC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDEteHh4LXBwYzY0bGUt c2FuZGJveC1saW51eC1zdGF0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uNGI4ZTYzMjA2MDFjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDkwMS14eHgtcHBjNjRsZS1zYW5kYm94LWxpbnV4LXN0YXQucGF0Y2gK QEAgLTAsMCArMSwzMSBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGlu dXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgKK0BAIC0xNTUsNiAr MTU1LDI4IEBAIHN0cnVjdCBrZXJuZWxfc3RhdCB7CisgICB1bnNpZ25lZCBpbnQgX191bnVzZWQ0 OworICAgdW5zaWduZWQgaW50IF9fdW51c2VkNTsKKyB9OworKyNlbGlmIGRlZmluZWQoX19wb3dl cnBjNjRfXykKKytzdHJ1Y3Qga2VybmVsX3N0YXQgeworKyAgdW5zaWduZWQgbG9uZwlzdF9kZXY7 CisrICB1bnNpZ25lZCBsb25nCXN0X2lubzsKKysgIHVuc2lnbmVkIGxvbmcJc3Rfbmxpbms7Cisr ICB1bnNpZ25lZCBpbnQJc3RfbW9kZTsKKysgIHVuc2lnbmVkIGludAlzdF91aWQ7CisrICB1bnNp Z25lZCBpbnQJc3RfZ2lkOworKyAgdW5zaWduZWQgbG9uZwlzdF9yZGV2OworKyAgbG9uZwkJc3Rf c2l6ZTsKKysgIHVuc2lnbmVkIGxvbmcJc3RfYmxrc2l6ZTsKKysgIHVuc2lnbmVkIGxvbmcJc3Rf YmxvY2tzOworKyAgdW5zaWduZWQgbG9uZwlzdF9hdGltZV87CisrICB1bnNpZ25lZCBsb25nCXN0 X2F0aW1lX25zZWNfOworKyAgdW5zaWduZWQgbG9uZwlzdF9tdGltZV87CisrICB1bnNpZ25lZCBs b25nCXN0X210aW1lX25zZWNfOworKyAgdW5zaWduZWQgbG9uZwlzdF9jdGltZV87CisrICB1bnNp Z25lZCBsb25nCXN0X2N0aW1lX25zZWNfOworKyAgdW5zaWduZWQgbG9uZwlfX3VudXNlZDQ7Cisr ICB1bnNpZ25lZCBsb25nCV9fdW51c2VkNTsKKysgIHVuc2lnbmVkIGxvbmcJX191bnVzZWQ2Owor K307CisgI2VuZGlmCisgCisgI2lmICFkZWZpbmVkKEFUX0VNUFRZX1BBVEgpCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAyLXh4eC1wcGM2NGxlLXN1cHBvcnQu cGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAyLXh4eC1wcGM2NGxlLXN1 cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zM2Q0 MTVlNTVmNjkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wOTAyLXh4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwzNTU2IEBACitjb21t aXQgMmMwMTNhMzE3YjExMTRlZjY3Y2RiYmMzMDgyNGIyODkwN2I5ZWE5NAorQXV0aG9yOiBEYW5p ZWwgS29sZXNhIDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KK0RhdGU6ICAgV2VkIE1hciAzIDE5OjA4 OjI5IDIwMjEgKzAxMDAKKworICAgIHBwYzY0bGUgc3VwcG9ydAorCistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9mZWF0dXJlcy5nbmkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2ZlYXR1cmVzLmduaQorQEAgLTExLDcgKzExLDggQEAgaW1wb3J0KCIvL2J1 aWxkL2NvbmZpZy9uYWNsL2NvbmZpZy5nbmkiKQorIHVzZV9zZWNjb21wX2JwZiA9IChpc19saW51 eCB8fCBpc19jaHJvbWVvcyB8fCBpc19hbmRyb2lkKSAmJgorICAgICAgICAgICAgICAgICAgIChj dXJyZW50X2NwdSA9PSAieDg2IiB8fCBjdXJyZW50X2NwdSA9PSAieDY0IiB8fAorICAgICAgICAg ICAgICAgICAgICBjdXJyZW50X2NwdSA9PSAiYXJtIiB8fCBjdXJyZW50X2NwdSA9PSAiYXJtNjQi IHx8CistICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09ICJtaXBzZWwiIHx8IGN1cnJl bnRfY3B1ID09ICJtaXBzNjRlbCIpCisrICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09 ICJtaXBzZWwiIHx8IGN1cnJlbnRfY3B1ID09ICJtaXBzNjRlbCIgfHwKKysgICAgICAgICAgICAg ICAgICAgY3VycmVudF9jcHUgPT0gInBwYzY0IikKKyAKKyB1c2Vfc2VjY29tcF9icGYgPSB1c2Vf c2VjY29tcF9icGYgfHwgaXNfbmFjbF9ub25zZmkKKyAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L2xpbnV4L0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v c2FuZGJveC9saW51eC9CVUlMRC5nbgorQEAgLTQzMyw2ICs0MzMsOCBAQCBjb21wb25lbnQoInNh bmRib3hfc2VydmljZXMiKSB7CisgCisgc291cmNlX3NldCgic2FuZGJveF9zZXJ2aWNlc19oZWFk ZXJzIikgeworICAgc291cmNlcyA9IFsKKysgICAgInN5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4 X3N5c2NhbGxzLmgiLAorKyAgICAic3lzdGVtX2hlYWRlcnMvcHBjNjRfbGludXhfdWNvbnRleHQu aCIsCisgICAgICJzeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF9zeXNjYWxscy5oIiwKKyAgICAg InN5c3RlbV9oZWFkZXJzL2FybV9saW51eF9zeXNjYWxscy5oIiwKKyAgICAgInN5c3RlbV9oZWFk ZXJzL2FybV9saW51eF91Y29udGV4dC5oIiwKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9z YW5kYm94L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9yYW5nZXMuaAorKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvYnBmX2RzbC9saW51eF9zeXNjYWxsX3Jhbmdl cy5oCitAQCAtNTYsNiArNTYsMTMgQEAKKyAjZGVmaW5lIE1BWF9QVUJMSUNfU1lTQ0FMTCBfX05S X3N5c2NhbGxzCisgI2RlZmluZSBNQVhfU1lTQ0FMTCBNQVhfUFVCTElDX1NZU0NBTEwKKyAKKysj ZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrCisrI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4K KysjZGVmaW5lIE1JTl9TWVNDQUxMIDB1CisrI2RlZmluZSBNQVhfUFVCTElDX1NZU0NBTEwgMzg2 dQorKyNkZWZpbmUgTUFYX1NZU0NBTEwgTUFYX1BVQkxJQ19TWVNDQUxMCisrCisgI2Vsc2UKKyAj ZXJyb3IgIlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSIKKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaAorKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvYnBmX2RzbC9zZWNjb21wX21h Y3Jvcy5oCitAQCAtMTYsNiArMTYsOSBAQAorICNpZiBkZWZpbmVkKF9fbWlwc19fKQorIC8vIHN5 cy91c2VyLmggaW4gZWdsaWJjIG1pc3NlcyBzaXplX3QgZGVmaW5pdGlvbgorICNpbmNsdWRlIDxz dGRkZWYuaD4KKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmIGRlZmluZWQoX19HTElC Q19fKQorKy8vIE1hbnVhbGx5IGRlZmluZSBncmVnX3Qgb24gcHBjNjQKKyt0eXBlZGVmIHVuc2ln bmVkIGxvbmcgbG9uZyBncmVnX3Q7CisgI2VuZGlmCisgI2VuZGlmCisgCitAQCAtMzQ2LDYgKzM0 OSw1OSBAQCBzdHJ1Y3QgcmVnc19zdHJ1Y3QgeworICNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNNChf cmVncykgKF9yZWdzKS5yZWdzWzNdCisgI2RlZmluZSBTRUNDT01QX1BUX1BBUk01KF9yZWdzKSAo X3JlZ3MpLnJlZ3NbNF0KKyAjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTYoX3JlZ3MpIChfcmVncyku cmVnc1s1XQorKworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysjaW5jbHVkZSA8YXNt L3B0cmFjZS5oPgorKworK3R5cGVkZWYgc3RydWN0IHB0X3JlZ3MgcmVnc19zdHJ1Y3Q7CisrCisr I2lmZGVmIEFSQ0hfQ1BVX0xJVFRMRV9FTkRJQU4KKysjZGVmaW5lIFNFQ0NPTVBfQVJDSCBBVURJ VF9BUkNIX1BQQzY0TEUKKysjZWxzZQorKyNkZWZpbmUgU0VDQ09NUF9BUkNIIEFVRElUX0FSQ0hf UFBDNjQKKysjZW5kaWYKKysKKysjaWZkZWYgX19HTElCQ19fCisrI2RlZmluZSBTRUNDT01QX1JF RyhfY3R4LCBfcmVnKSAoKF9jdHgpLT51Y19tY29udGV4dC5yZWdzLT5ncHJbX3JlZ10pCisrI2Vs c2UKKysjZGVmaW5lIFNFQ0NPTVBfUkVHKF9jdHgsIF9yZWcpICgoKHN0cnVjdCBwdF9yZWdzICop KF9jdHgpLT51Y19tY29udGV4dC5yZWdzKS0+Z3ByW19yZWddKQorKyNlbmRpZgorKworKyNkZWZp bmUgU0VDQ09NUF9SRVNVTFQoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgMykKKysjZGVmaW5lIFNF Q0NPTVBfU1lTQ0FMTChfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCAwKQorKyNpZmRlZiBfX0dMSUJD X18KKysjZGVmaW5lIFNFQ0NPTVBfSVAoX2N0eCkgKF9jdHgpLT51Y19tY29udGV4dC5yZWdzLT5u aXAKKysjZWxzZQorKyNkZWZpbmUgU0VDQ09NUF9JUChfY3R4KSAoKHN0cnVjdCBwdF9yZWdzICop KF9jdHgpLT51Y19tY29udGV4dC5yZWdzKS0+bmlwCisrI2VuZGlmCisrI2RlZmluZSBTRUNDT01Q X1BBUk0xKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDMpCisrI2RlZmluZSBTRUNDT01QX1BBUk0y KF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDQpCisrI2RlZmluZSBTRUNDT01QX1BBUk0zKF9jdHgp IFNFQ0NPTVBfUkVHKF9jdHgsIDUpCisrI2RlZmluZSBTRUNDT01QX1BBUk00KF9jdHgpIFNFQ0NP TVBfUkVHKF9jdHgsIDYpCisrI2RlZmluZSBTRUNDT01QX1BBUk01KF9jdHgpIFNFQ0NPTVBfUkVH KF9jdHgsIDcpCisrI2RlZmluZSBTRUNDT01QX1BBUk02KF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgs IDgpCisrCisrI2RlZmluZSBTRUNDT01QX05SX0lEWCAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2Vj Y29tcF9kYXRhLCBucikpCisrI2RlZmluZSBTRUNDT01QX0FSQ0hfSURYIChvZmZzZXRvZihzdHJ1 Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGFyY2gpKQorKyNkZWZpbmUgU0VDQ09NUF9JUF9NU0JfSURY IFwKKysgIChvZmZzZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGluc3RydWN0aW9uX3Bv aW50ZXIpICsgNCkKKysjZGVmaW5lIFNFQ0NPTVBfSVBfTFNCX0lEWCBcCisrICAob2Zmc2V0b2Yo c3RydWN0IGFyY2hfc2VjY29tcF9kYXRhLCBpbnN0cnVjdGlvbl9wb2ludGVyKSArIDApCisrI2Rl ZmluZSBTRUNDT01QX0FSR19NU0JfSURYKG5yKSBcCisrICAob2Zmc2V0b2Yoc3RydWN0IGFyY2hf c2VjY29tcF9kYXRhLCBhcmdzKSArIDggKiAobnIpICsgNCkKKysjZGVmaW5lIFNFQ0NPTVBfQVJH X0xTQl9JRFgobnIpIFwKKysgIChvZmZzZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGFy Z3MpICsgOCAqIChucikgKyAwKQorKworKyNkZWZpbmUgU0VDQ09NUF9QVF9SRVNVTFQoX3JlZ3Mp IChfcmVncykuZ3ByWzNdCisrI2RlZmluZSBTRUNDT01QX1BUX1NZU0NBTEwoX3JlZ3MpIChfcmVn cykuZ3ByWzBdCisrI2RlZmluZSBTRUNDT01QX1BUX0lQKF9yZWdzKSAoX3JlZ3MpLm5pcAorKyNk ZWZpbmUgU0VDQ09NUF9QVF9QQVJNMShfcmVncykgKF9yZWdzKS5ncHJbM10KKysjZGVmaW5lIFNF Q0NPTVBfUFRfUEFSTTIoX3JlZ3MpIChfcmVncykuZ3ByWzRdCisrI2RlZmluZSBTRUNDT01QX1BU X1BBUk0zKF9yZWdzKSAoX3JlZ3MpLmdwcls1XQorKyNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNNChf cmVncykgKF9yZWdzKS5ncHJbNl0KKysjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTUoX3JlZ3MpIChf cmVncykuZ3ByWzddCisrI2RlZmluZSBTRUNDT01QX1BUX1BBUk02KF9yZWdzKSAoX3JlZ3MpLmdw cls4XQorKworICNlbHNlCisgI2Vycm9yIFVuc3VwcG9ydGVkIHRhcmdldCBwbGF0Zm9ybQorIAor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9iYXNlbGluZV9wb2xpY3kuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCitAQCAtOTAs NyArOTAsNyBAQCBib29sIElzQmFzZWxpbmVQb2xpY3lXYXRjaGVkKGludCBzeXNubykKKyAgICAg ICAgICBTeXNjYWxsU2V0czo6SXNOdW1hKHN5c25vKSB8fAorICAgICAgICAgIFN5c2NhbGxTZXRz OjpJc1ByY3RsKHN5c25vKSB8fAorICAgICAgICAgIFN5c2NhbGxTZXRzOjpJc1Byb2Nlc3NHcm91 cE9yU2Vzc2lvbihzeXNubykgfHwKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorKyNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykp CisgICAgICAgICAgU3lzY2FsbFNldHM6OklzU29ja2V0Q2FsbChzeXNubykgfHwKKyAjZW5kaWYK K0BAIC0yNTgsNyArMjU4LDcgQEAgUmVzdWx0RXhwciBFdmFsdWF0ZVN5c2NhbGxJbXBsKGludCBm c19kZQorICAgfQorIAorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0 X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykK KysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAg aWYgKHN5c25vID09IF9fTlJfbW1hcCkKKyAgICAgcmV0dXJuIFJlc3RyaWN0TW1hcEZsYWdzKCk7 CisgI2VuZGlmCitAQCAtMjc5LDcgKzI3OSw3IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxs SW1wbChpbnQgZnNfZGUKKyAgICAgcmV0dXJuIFJlc3RyaWN0UHJjdGwoKTsKKyAKKyAjaWYgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18p IHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRf XykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgaWYgKHN5c25vID09IF9fTlJfc29ja2V0 cGFpcikgeworICAgICAvLyBPbmx5IGFsbG93IEFGX1VOSVgsIFBGX1VOSVguIENyYXNoIGlmIGFu eXRoaW5nIGVsc2UgaXMgc2Vlbi4KKyAgICAgc3RhdGljX2Fzc2VydChBRl9VTklYID09IFBGX1VO SVgsCitAQCAtMzQzLDcgKzM0Myw4IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChp bnQgZnNfZGUKKyAgIH0KKyAKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorLSAgICAoZGVm aW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkK KysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVf MzJfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgaWYgKFN5c2Nh bGxTZXRzOjpJc1NvY2tldENhbGwoc3lzbm8pKQorICAgICByZXR1cm4gUmVzdHJpY3RTb2NrZXRj YWxsQ29tbWFuZCgpOworICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRi b3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3lfdW5pdHRlc3QuY2MK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvYmFzZWxpbmVfcG9saWN5X3VuaXR0ZXN0LmNjCitAQCAtMzE3LDcgKzMxNyw3IEBAIFRF U1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJfc3lzaW5mbykKKyBURVNUX0JBU0VMSU5FX1NJR1NZUyhf X05SX3N5c2xvZykKKyBURVNUX0JBU0VMSU5FX1NJR1NZUyhfX05SX3RpbWVyX2NyZWF0ZSkKKyAK Ky0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAm JiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorIFRFU1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJfaW5v dGlmeV9pbml0KQorIFRFU1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJfdnNlcnZlcikKKyAjZW5kaWYK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3Bh cmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCitAQCAtNDAsNiArNDAsNyBAQAorICNpbmNsdWRlIDxz eXMvcHRyYWNlLmg+CisgI2lmIChkZWZpbmVkKE9TX0xJTlVYKSB8fCBCVUlMREZMQUcoSVNfQ0hS T01FT1NfTEFDUk9TKSkgJiYgXAorICAgICAhZGVmaW5lZChfX2FybV9fKSAmJiAhZGVmaW5lZChf X2FhcmNoNjRfXykgJiYgICAgICAgICAgIFwKKysgICAgIWRlZmluZWQoX19wb3dlcnBjNjRfXykg JiYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICFkZWZpbmVkKFBUUkFDRV9H RVRfVEhSRUFEX0FSRUEpCisgLy8gQWxzbyBpbmNsdWRlIGFzbS9wdHJhY2UtYWJpLmggc2luY2Ug cHRyYWNlLmggaW4gb2xkZXIgbGliYyAoZm9yIGluc3RhbmNlCisgLy8gdGhlIG9uZSBpbiBVYnVu dHUgMTYuMDQgTFRTKSBpcyBtaXNzaW5nIFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEuCitAQCAtNDks NiArNTAsMTEgQEAKKyAjZW5kaWYKKyAjZW5kaWYgIC8vICFPU19OQUNMX05PTlNGSQorIAorKy8v IE9uIFBQQzY0LCBUQ0dFVFMgaXMgZGVmaW5lZCBpbiB0ZXJtcyBvZiBzdHJ1Y3QgdGVybWlvcywg c28gd2UgbXVzdCBpbmNsdWRlIHRlcm1pb3MuaAorKyNpZmRlZiBfX3Bvd2VycGM2NF9fCisrI2lu Y2x1ZGUgPHRlcm1pb3MuaD4KKysjZW5kaWYKKysKKyAjaWYgZGVmaW5lZChPU19BTkRST0lEKQor IAorICNpZiAhZGVmaW5lZChGX0RVUEZEX0NMT0VYRUMpCitAQCAtMTA2LDYgKzExMiwxNCBAQCBp bmxpbmUgYm9vbCBJc0FyY2hpdGVjdHVyZU1pcHMoKSB7CisgI2VuZGlmCisgfQorIAorK2lubGlu ZSBib29sIElzQXJjaGl0ZWN0dXJlUFBDNjQoKSB7CisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKKysgIHJldHVybiB0cnVlOworKyNlbHNlCisrICByZXR1cm4gZmFsc2U7CisrI2VuZGlmCisr fQorKworIC8vIFVidW50dSdzIHZlcnNpb24gb2YgZ2xpYmMgaGFzIGEgcmFjZSBjb25kaXRpb24g aW4gc2VtX3Bvc3QgdGhhdCBjYW4gY2F1c2UKKyAvLyBpdCB0byBjYWxsIGZ1dGV4KDIpIHdpdGgg Ym9ndXMgb3AgYXJndW1lbnRzLiBUbyB3b3JrYXJvdW5kIHRoaXMsIHdlIG5lZWQKKyAvLyB0byBh bGxvdyB0aG9zZSBmdXRleCgyKSBjYWxscyB0byBmYWlsIHdpdGggRUlOVkFMLCBpbnN0ZWFkIG9m IGNyYXNoaW5nIHRoZQorQEAgLTI3MCw2ICsyODQsOCBAQCBSZXN1bHRFeHByIFJlc3RyaWN0RmNu dGxDb21tYW5kcygpIHsKKyAgIHVpbnQ2NF90IGtPTGFyZ2VGaWxlRmxhZyA9IE9fTEFSR0VGSUxF OworICAgaWYgKElzQXJjaGl0ZWN0dXJlWDg2XzY0KCkgfHwgSXNBcmNoaXRlY3R1cmVJMzg2KCkg fHwgSXNBcmNoaXRlY3R1cmVNaXBzKCkpCisgICAgIGtPTGFyZ2VGaWxlRmxhZyA9IDAxMDAwMDA7 CisrICBlbHNlIGlmIChJc0FyY2hpdGVjdHVyZVBQQzY0KCkpCisrICAgIGtPTGFyZ2VGaWxlRmxh ZyA9IDAyMDAwMDA7CisgCisgICBjb25zdCBBcmc8aW50PiBjbWQoMSk7CisgICBjb25zdCBBcmc8 bG9uZz4gbG9uZ19hcmcoMik7CitAQCAtMjg3LDcgKzMwMywxNiBAQCBSZXN1bHRFeHByIFJlc3Ry aWN0RmNudGxDb21tYW5kcygpIHsKKyAgICAgICAgICAgICAgIEZfU0VUTEtXLAorICAgICAgICAg ICAgICAgRl9HRVRMSywKKyAgICAgICAgICAgICAgIEZfRFVQRkQsCistICAgICAgICAgICAgICBG X0RVUEZEX0NMT0VYRUMpLAorKyAgICAgICAgICAgICAgRl9EVVBGRF9DTE9FWEVDCisrI2lmIGRl ZmluZWQoX19wb3dlcnBjNjRfXykKKysvLyBPbiBQUEM2NCwgRl9TRVRMSywgRl9HRVRMSywgRl9T RVRMS1cgYXJlIGRlZmluZWQgYXMgdGhlIDY0LWJpdCB2YXJpYW50cworKy8vIGJ1dCBnbGliYyB3 aWxsIHNvbWV0aW1lcyBzdGlsbCB1c2UgdGhlIDMyLWJpdCB2ZXJzaW9ucy4gQWxsb3cgYm90aC4K KysgICAgICAgICAgICAgICwKKysgICAgICAgICAgICAgIDUsIC8qIEZfR0VUTEsgKDMyKSAqLwor KyAgICAgICAgICAgICAgNiwgLyogRl9TRVRMSyAoMzIpICovCisrICAgICAgICAgICAgICA3ICAv KiBGX1NFVExLVyAoMzIpICovCisrI2VuZGlmCisrCSAgICAgKSwKKyAgICAgICAgICAgICAgQWxs b3coKSkKKyAgICAgICAuQ2FzZShGX1NFVEZMLAorICAgICAgICAgICAgIElmKChsb25nX2FyZyAm IH5rQWxsb3dlZE1hc2spID09IDAsIEFsbG93KCkpLkVsc2UoQ3Jhc2hTSUdTWVMoKSkpCitAQCAt Mjk3LDcgKzMyMiw3IEBAIFJlc3VsdEV4cHIgUmVzdHJpY3RGY250bENvbW1hbmRzKCkgeworICAg Ly8gY2xhbmctZm9ybWF0IG9uCisgfQorIAorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwc19f KSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgUmVzdWx0RXhwciBSZXN0cmljdFNvY2tldGNh bGxDb21tYW5kKCkgeworICAgLy8gVW5mb3J0dW5hdGVseSwgd2UgYXJlIHVuYWJsZSB0byByZXN0 cmljdCB0aGUgZmlyc3QgcGFyYW1ldGVyIHRvCisgICAvLyBzb2NrZXRwYWlyKDIpLiBXaGlsc3Qg aW5pdGlhbGx5IHNvdW5kaW5nIGJhZCwgaXQncyBub3Rld29ydGh5IHRoYXQgdmVyeQorQEAgLTQ1 NCw3ICs0NzksNyBAQCBSZXN1bHRFeHByIFJlc3RyaWN0UHRyYWNlKCkgeworICNlbmRpZgorICAg cmV0dXJuIFN3aXRjaChyZXF1ZXN0KQorICAgICAgIC5DQVNFUygoCistI2lmICFkZWZpbmVkKF9f YWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19wb3dl cnBjNjRfXykKKyAgICAgICAgICAgICAgICAgIFBUUkFDRV9HRVRSRUdTLCBQVFJBQ0VfR0VURlBS RUdTLAorICNpZiBkZWZpbmVkKFRSQUNFX0dFVF9USFJFQURfQVJFQSkKKyAgICAgICAgICAgICAg ICAgIFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEsCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v c2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0 cmljdGlvbnMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2Vj Y29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmgKK0BAIC00 OSw3ICs0OSw3IEBAIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmVzdHIKKyAv LyBPX05PTkJMT0NLIHwgT19TWU5DIHwgT19MQVJHRUZJTEUgfCBPX0NMT0VYRUMgfCBPX05PQVRJ TUUuCisgU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBSZXN0cmljdEZjbnRsQ29t bWFuZHMoKTsKKyAKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX21pcHNfXykK KysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQorIC8vIFJlc3RyaWN0IHNvY2tldGNhbGwoMikgdG8gb25seSBhbGxvdyBz b2NrZXRwYWlyKDIpLCBzZW5kKDIpLCByZWN2KDIpLAorIC8vIHNlbmR0bygyKSwgcmVjdmZyb20o MiksIHNodXRkb3duKDIpLCBzZW5kbXNnKDIpIGFuZCByZWN2bXNnKDIpLgorIFNBTkRCT1hfRVhQ T1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmVzdHJpY3RTb2NrZXRjYWxsQ29tbWFuZCgpOworLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVy cy9zeXNjYWxsX3NldHMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCitAQCAtMjgsNyArMjgsNyBA QCBib29sIFN5c2NhbGxTZXRzOjpJc0tpbGwoaW50IHN5c25vKSB7CisgYm9vbCBTeXNjYWxsU2V0 czo6SXNBbGxvd2VkR2V0dGltZShpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAg ICAgY2FzZSBfX05SX2dldHRpbWVvZmRheToKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X194ODZfNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVk KEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAg ICBjYXNlIF9fTlJfdGltZToKKyAjZW5kaWYKK0BAIC01MSwxMiArNTEsMTIgQEAgYm9vbCBTeXNj YWxsU2V0czo6SXNBbGxvd2VkR2V0dGltZShpbnQgcworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8vIGZpbHRlcmVkIGJ5IFJlc3RyaWN0Q2xvY2tJRCgpLgorICAgICBjYXNl IF9fTlJfY2xvY2tfbmFub3NsZWVwX3RpbWU2NDogIC8vIFBhcmFtZXRlcnMgZmlsdGVyZWQgYnkg UmVzdHJpY3RDbG9ja0lEKCkuCisgI2VuZGlmCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwK KysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisg ICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMy X0JJVFMpKQorICAgICBjYXNlIF9fTlJfZnRpbWU6ICAvLyBPYnNvbGV0ZS4KKyAjZW5kaWYKKyAg ICAgY2FzZSBfX05SX3NldHRpbWVvZmRheTogIC8vIFByaXZpbGVnZWQuCistI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZp bmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfc3RpbWU6CisgI2VuZGlmCitA QCAtMTM1LDcgKzEzNSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lz bm8KKyAgICAgY2FzZSBfX05SX2ZhY2Nlc3NhdDogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5v LgorICAgICBjYXNlIF9fTlJfZmNobW9kYXQ6CisgICAgIGNhc2UgX19OUl9mY2hvd25hdDogIC8v IFNob3VsZCBiZSBjYWxsZWQgY2hvd25hdCA/CistI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVk KF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9u ZXdmc3RhdGF0OiAgLy8gZnN0YXRhdCgpLiBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKyAjZWxp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKyAgICAgKGRlZmlu ZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCitA QCAtMTU0LDcgKzE1NCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lz bm8KKyAgICAgY2FzZSBfX05SX21lbWZkX2NyZWF0ZToKKyAgICAgY2FzZSBfX05SX21rZGlyYXQ6 CisgICAgIGNhc2UgX19OUl9ta25vZGF0OgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKQorKyNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19O Ul9vbGRsc3RhdDoKKyAgICAgY2FzZSBfX05SX29sZHN0YXQ6CisgI2VuZGlmCitAQCAtMTY3LDcg KzE2Nyw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8KKyAgICAg Y2FzZSBfX05SX3N0YXQ2NDoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3N0YXRmczogIC8vIEVQ RVJNIG5vdCBhIHZhbGlkIGVycm5vLgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9fYXJtX18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9f KSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVf TUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgICAgIGNhc2UgX19O Ul9zdGF0ZnM2NDoKKyAjZW5kaWYKK0BAIC0xNzksNyArMTc5LDggQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNGaWxlU3lzdGVtKGludCBzeXNubworICAgICBjYXNlIF9fTlJfdHJ1bmNhdGU2NDoKKyAj ZW5kaWYKKyAgICAgY2FzZSBfX05SX3VubGlua2F0OgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwg XAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl91dGltZToKKyAj ZW5kaWYKKyAgICAgY2FzZSBfX05SX3V0aW1lbnNhdDogIC8vIE5ldy4KK0BAIC0yMDQsNyArMjA1 LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjYworICNlbmRpZgor ICAgICAgIHJldHVybiB0cnVlOworIC8vIFRPRE8oamxuKTogdGhlc2Ugc2hvdWxkIGJlIGRlbmll ZCBncmFjZWZ1bGx5IGFzIHdlbGwgKG1vdmVkIGJlbG93KS4KKy0jaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18p IHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfZmFkdmlz ZTY0OiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCisgI2VuZGlmCisgI2lmIGRlZmluZWQo X19pMzg2X18pCitAQCAtMjE2LDEyICsyMTgsMTIgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxv d2VkRmlsZVN5c3RlbUFjYworICAgICBjYXNlIF9fTlJfZmRhdGFzeW5jOiAgLy8gRVBFUk0gbm90 IGEgdmFsaWQgZXJybm8uCisgICAgIGNhc2UgX19OUl9mbG9jazogICAgICAvLyBFUEVSTSBub3Qg YSB2YWxpZCBlcnJuby4KKyAgICAgY2FzZSBfX05SX2ZzdGF0ZnM6ICAgIC8vIEdpdmUgaW5mb3Jt YXRpb24gYWJvdXQgdGhlIHdob2xlIGZpbGVzeXN0ZW0uCistI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAg ICAgY2FzZSBfX05SX2ZzdGF0ZnM2NDoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX2ZzeW5jOiAg Ly8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCistI2lmIGRlZmluZWQoX19pMzg2X18pCisrI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBf X05SX29sZGZzdGF0OgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKK0BAIC0yMjksNiArMjMxLDgg QEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjYworICAgICBjYXNlIF9f TlJfc3luY19maWxlX3JhbmdlOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCisgI2VsaWYg ZGVmaW5lZChfX2FybV9fKQorICAgICBjYXNlIF9fTlJfYXJtX3N5bmNfZmlsZV9yYW5nZTogIC8v IEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykK KysgICAgY2FzZSBfX05SX3N5bmNfZmlsZV9yYW5nZTI6IC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVy cm5vLgorICNlbmRpZgorICAgICBkZWZhdWx0OgorICAgICAgIHJldHVybiBmYWxzZTsKK0BAIC0y NDgsNyArMjUyLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNEZW5pZWRGaWxlU3lzdGVtQWNjZQor ICAgICBjYXNlIF9fTlJfZ2V0ZGVudHM6ICAgIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgor ICNlbmRpZgorICAgICBjYXNlIF9fTlJfZ2V0ZGVudHM2NDogIC8vIEVQRVJNIG5vdCBhIHZhbGlk IGVycm5vLgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQ VV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBf X05SX3JlYWRkaXI6CisgI2VuZGlmCitAQCAtMjkwLDcgKzI5NCw3IEBAIGJvb2wgU3lzY2FsbFNl dHM6OklzR2V0U2ltcGxlSWQoaW50IHN5c24KKyBib29sIFN5c2NhbGxTZXRzOjpJc1Byb2Nlc3NQ cml2aWxlZ2VDaGFuZ2UoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CisgICAgIGNh c2UgX19OUl9jYXBzZXQ6CistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZf NjRfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9pb3Blcm06ICAvLyBJbnRlbCBw cml2aWxlZ2UuCisgICAgIGNhc2UgX19OUl9pb3BsOiAgICAvLyBJbnRlbCBwcml2aWxlZ2UuCisg I2VuZGlmCitAQCAtMzQwLDcgKzM0NCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFNp Z25hbEhhbmRsaW4KKyAgICAgY2FzZSBfX05SX3J0X3NpZ3Byb2NtYXNrOgorICAgICBjYXNlIF9f TlJfcnRfc2lncmV0dXJuOgorICAgICBjYXNlIF9fTlJfcnRfc2lndGltZWR3YWl0OgorLSNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKysjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8 IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9D UFVfMzJfQklUUykpCisgICAgIGNhc2UgX19OUl9ydF9zaWd0aW1lZHdhaXRfdGltZTY0OgorICAg ICBjYXNlIF9fTlJfc2lnYWN0aW9uOgorQEAgLTM1Nyw3ICszNjEsNyBAQCBib29sIFN5c2NhbGxT ZXRzOjpJc0FsbG93ZWRTaWduYWxIYW5kbGluCisgICAgIGNhc2UgX19OUl9zaWduYWxmZDoKKyAj ZW5kaWYKKyAgICAgY2FzZSBfX05SX3NpZ25hbGZkNDoKKy0jaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVk KEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAg ICBjYXNlIF9fTlJfc2lncGVuZGluZzoKKyAgICAgY2FzZSBfX05SX3NpZ3N1c3BlbmQ6CitAQCAt MzgyLDcgKzM4Niw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZE9wZXJhdGlvbk9uRmQK KyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX2R1cDM6CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykg fHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmlu ZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19w b3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX3NodXRkb3duOgorICNlbmRpZgorICAgICAgIHJl dHVybiB0cnVlOworQEAgLTQxNiw3ICs0MjAsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93 ZWRQcm9jZXNzU3RhcnRPCisgICAgIGNhc2UgX19OUl9tZW1iYXJyaWVyOgorICAgICBjYXNlIF9f TlJfd2FpdDQ6CisgICAgIGNhc2UgX19OUl93YWl0aWQ6CistI2lmIGRlZmluZWQoX19pMzg2X18p CisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAg Y2FzZSBfX05SX3dhaXRwaWQ6CisgI2VuZGlmCisgI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKK0BA IC00MzgsNyArNDQyLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0 TworICAgICBjYXNlIF9fTlJfc2V0X3RpZF9hZGRyZXNzOgorICNlbmRpZgorICAgICBjYXNlIF9f TlJfdW5zaGFyZToKKy0jaWYgIWRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fYWFyY2g2 NF9fKQorKyNpZiAhZGVmaW5lZChfX21pcHNfXykgJiYgIWRlZmluZWQoX19hYXJjaDY0X18pIHx8 IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX3Zmb3JrOgorICNlbmRpZgor ICAgICBkZWZhdWx0OgorQEAgLTQ5MSw3ICs0OTUsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0Fs bG93ZWRHZXRPck1vZGlmeVNvCisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIGRlZmF1bHQ6Cisg I2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9f bWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19h YXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX3NvY2tl dHBhaXI6ICAvLyBXZSB3aWxsIHdhbnQgdG8gaW5zcGVjdCBpdHMgYXJndW1lbnQuCisgI2VuZGlm CisgICAgICAgcmV0dXJuIGZhbHNlOworQEAgLTUwMSw3ICs1MDUsNyBAQCBib29sIFN5c2NhbGxT ZXRzOjpJc0FsbG93ZWRHZXRPck1vZGlmeVNvCisgYm9vbCBTeXNjYWxsU2V0czo6SXNEZW5pZWRH ZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAjaWYg ZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBz X18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNo NjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfYWNjZXB0Ogor ICAgICBjYXNlIF9fTlJfYWNjZXB0NDoKKyAgICAgY2FzZSBfX05SX2JpbmQ6CitAQCAtNTE1LDcg KzUxOSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkR2V0T3JNb2RpZnlTb2MKKyAgIH0K KyB9CisgCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BV X01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorIC8vIEJpZyBtdWx0 aXBsZXhpbmcgc3lzdGVtIGNhbGwgZm9yIHNvY2tldHMuCisgYm9vbCBTeXNjYWxsU2V0czo6SXNT b2NrZXRDYWxsKGludCBzeXNubykgeworQEAgLTUzMCw3ICs1MzQsOCBAQCBib29sIFN5c2NhbGxT ZXRzOjpJc1NvY2tldENhbGwoaW50IHN5c25vCisgfQorICNlbmRpZgorIAorLSNpZiBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysj aWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19t aXBzX18pIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorIGJvb2wgU3lzY2FsbFNl dHM6OklzTmV0d29ya1NvY2tldEluZm9ybWF0aW9uKGludCBzeXNubykgeworICAgc3dpdGNoIChz eXNubykgeworICAgICBjYXNlIF9fTlJfZ2V0cGVlcm5hbWU6CitAQCAtNTU4LDcgKzU2Myw3IEBA IGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEFkZHJlc3NTcGFjZUEKKyAgICAgY2FzZSBfX05S X21pbmNvcmU6CisgICAgIGNhc2UgX19OUl9tbG9ja2FsbDoKKyAjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAg IGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX21tYXA6CisgI2VuZGlmCisgI2lmIGRl ZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorQEAgLTU4OSw3ICs1OTQs NyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRBZGRyZXNzU3BhY2VBCisgYm9vbCBTeXNj YWxsU2V0czo6SXNBbGxvd2VkR2VuZXJhbElvKGludCBzeXNubykgeworICAgc3dpdGNoIChzeXNu bykgeworICAgICBjYXNlIF9fTlJfbHNlZWs6CistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRl ZmluZWQoX19hcm1fXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f YXJtX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNI X0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2Fz ZSBfX05SX19sbHNlZWs6CisgI2VuZGlmCitAQCAtNjA5LDI3ICs2MTQsMjcgQEAgYm9vbCBTeXNj YWxsU2V0czo6SXNBbGxvd2VkR2VuZXJhbElvKGludAorICAgICBjYXNlIF9fTlJfcmVhZDoKKyAg ICAgY2FzZSBfX05SX3JlYWR2OgorICAgICBjYXNlIF9fTlJfcHJlYWQ2NDoKKy0jaWYgZGVmaW5l ZChfX2FybV9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZp bmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfcmVjdjoKKyAjZW5kaWYKKyAj aWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19t aXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2Fh cmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfcmVjdmZy b206ICAvLyBDb3VsZCBzcGVjaWZ5IHNvdXJjZS4KKyAgICAgY2FzZSBfX05SX3JlY3Ztc2c6ICAg Ly8gQ291bGQgc3BlY2lmeSBzb3VyY2UuCisgI2VuZGlmCistI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX194ODZfNjRfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5l ZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9z ZWxlY3Q6CisgI2VuZGlmCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1f XykgfHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5l ZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisgICAgIGNhc2UgX19OUl9fbmV3c2VsZWN0OgorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9fYXJt X18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p IHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJD SF9DUFVfMzJfQklUUykpCisgICAgIGNhc2UgX19OUl9zZW5kOgorICNlbmRpZgorICNpZiBkZWZp bmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykg fHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9f KSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9zZW5kbXNnOiAgLy8g Q291bGQgc3BlY2lmeSBkZXN0aW5hdGlvbi4KKyAgICAgY2FzZSBfX05SX3NlbmR0bzogICAvLyBD b3VsZCBzcGVjaWZ5IGRlc3RpbmF0aW9uLgorICNlbmRpZgorQEAgLTY4NCw3ICs2ODksNyBAQCBi b29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRCYXNpY1NjaGVkdWxlCisgICAgIGNhc2UgX19OUl9u YW5vc2xlZXA6CisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIGNhc2UgX19OUl9nZXRwcmlvcml0 eToKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCisrI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZp bmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfbmljZToKKyAjZW5kaWYKK0BA IC02OTYsNyArNzAxLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQmFzaWNTY2hlZHVs ZQorIAorIGJvb2wgU3lzY2FsbFNldHM6OklzQWRtaW5PcGVyYXRpb24oaW50IHN5c25vKSB7Cisg ICBzd2l0Y2ggKHN5c25vKSB7CistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19h cm1fXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8 IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBT X0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX2Jk Zmx1c2g6CisgI2VuZGlmCitAQCAtNzEzLDcgKzcxOCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz QWRtaW5PcGVyYXRpb24oaW50IHMKKyAKKyBib29sIFN5c2NhbGxTZXRzOjpJc0tlcm5lbE1vZHVs ZShpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKy0jaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18p IHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfY3JlYXRl X21vZHVsZToKKyAgICAgY2FzZSBfX05SX2dldF9rZXJuZWxfc3ltczogIC8vIFNob3VsZCBFTk9T WVMuCisgICAgIGNhc2UgX19OUl9xdWVyeV9tb2R1bGU6CitAQCAtNzQ1LDcgKzc1MSw3IEBAIGJv b2wgU3lzY2FsbFNldHM6OklzRnNDb250cm9sKGludCBzeXNubykKKyAgICAgY2FzZSBfX05SX3F1 b3RhY3RsOgorICAgICBjYXNlIF9fTlJfc3dhcG9mZjoKKyAgICAgY2FzZSBfX05SX3N3YXBvbjoK Ky0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19G QU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgICAgIGNhc2UgX19OUl91bW91 bnQ6CisgI2VuZGlmCitAQCAtNzYyLDcgKzc2OCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTnVt YShpbnQgc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2dldGNwdToKKyAgICAgY2FzZSBfX05SX21i aW5kOgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRl ZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVm aW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9f TlJfbWlncmF0ZV9wYWdlczoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX21vdmVfcGFnZXM6CitA QCAtNzk3LDEzICs4MDMsMTMgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNHbG9iYWxQcm9jZXNzRW52 aXJvbgorICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfYWNjdDogIC8vIFByaXZp bGVnZWQuCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBk ZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2Ug X19OUl9nZXRybGltaXQ6CisgI2VuZGlmCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19hcm1fXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8 fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl91Z2V0cmxpbWl0OgorICNl bmRpZgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9N SVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05S X3VsaW1pdDoKKyAjZW5kaWYKK0BAIC04MzgsNyArODQ0LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6 SXNHbG9iYWxTeXN0ZW1TdGF0dXMoaQorICNlbmRpZgorICAgICBjYXNlIF9fTlJfc3lzaW5mbzoK KyAgICAgY2FzZSBfX05SX3VuYW1lOgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKQorKyNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9v bGR1bmFtZToKKyAgICAgY2FzZSBfX05SX29sZG9sZHVuYW1lOgorICNlbmRpZgorQEAgLTkwNCw4 ICs5MTAsMTYgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1WU2VtYXBob3JlcyhpbgorIH0K KyAjZW5kaWYKKyAKKysvKiBzaGl0dHkgaGFjayBhcm91bmQgVm9pZCdzIDQuMTkga2VybmVsIGhl YWRlcnMgbWlzc2luZyB0aG9zZSBudW1iZXJzICovCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRf XykgJiYgIWRlZmluZWQoX19OUl9zaG1nZXQpCisrI2RlZmluZSBfX05SX3NobWdldCAzOTUKKysj ZGVmaW5lIF9fTlJfc2htY3RsIDM5NgorKyNkZWZpbmUgX19OUl9zaG1hdCAzOTcKKysjZGVmaW5l IF9fTlJfc2htZHQgMzk4CisrI2VuZGlmCisrCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRl ZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCistICAgIGRlZmluZWQo X19hYXJjaDY0X18pIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwg XAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQ VV82NF9CSVRTKSkKKyAvLyBUaGVzZSBnaXZlIGEgbG90IG9mIGFtYmllbnQgYXV0aG9yaXR5IGFu ZCBieXBhc3MgdGhlIHNldHVpZCBzYW5kYm94LgorIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVt VlNoYXJlZE1lbW9yeShpbnQgc3lzbm8pIHsKK0BAIC05MzYsNyArOTUwLDcgQEAgYm9vbCBTeXNj YWxsU2V0czo6SXNTeXN0ZW1WTWVzc2FnZVF1ZXVlKAorIH0KKyAjZW5kaWYKKyAKKy0jaWYgZGVm aW5lZChfX2kzODZfXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f cG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYm IGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgLy8gQmlnIHN5c3RlbSBWIG11bHRpcGxleGlu ZyBzeXN0ZW0gY2FsbC4KKyBib29sIFN5c2NhbGxTZXRzOjpJc1N5c3RlbVZJcGMoaW50IHN5c25v KSB7CitAQCAtOTU2LDcgKzk3MCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQW55U3lzdGVtVihp bnQgc3lzbm8KKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQo QVJDSF9DUFVfNjRfQklUUykpCisgICByZXR1cm4gSXNTeXN0ZW1WTWVzc2FnZVF1ZXVlKHN5c25v KSB8fCBJc1N5c3RlbVZTZW1hcGhvcmVzKHN5c25vKSB8fAorICAgICAgICAgIElzU3lzdGVtVlNo YXJlZE1lbW9yeShzeXNubyk7CistI2VsaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorKyNlbGlm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAo ZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRT KSkKKyAgIHJldHVybiBJc1N5c3RlbVZJcGMoc3lzbm8pOworICNlbmRpZgorQEAgLTEwMTQsNyAr MTAyOCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmFOb3RpZnkoaW50IHN5c25vKQorIGJvb2wg U3lzY2FsbFNldHM6OklzVGltZXIoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7Cisg ICAgIGNhc2UgX19OUl9nZXRpdGltZXI6CistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCisrICAg IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX2FsYXJtOgorICNlbmRpZgor ICAgICBjYXNlIF9fTlJfc2V0aXRpbWVyOgorQEAgLTEwOTYsMTcgKzExMTEsMjAgQEAgYm9vbCBT eXNjYWxsU2V0czo6SXNNaXNjKGludCBzeXNubykgeworICAgICBjYXNlIF9fTlJfc3luY2ZzOgor ICAgICBjYXNlIF9fTlJfdmhhbmd1cDoKKyAvLyBUaGUgc3lzdGVtIGNhbGxzIGJlbG93IGFyZSBu b3QgaW1wbGVtZW50ZWQuCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZf NjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCisrICAgIGRlZmluZWQo X19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX2Fmc19zeXNjYWxsOgorICNlbmRpZgorICNp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCistICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFN SUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQ VV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAorKyAgICBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9icmVhazoKKyAjZW5kaWYKKy0j aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9f bWlwc19fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19taXBzX18pIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAg ICBjYXNlIF9fTlJfZ2V0cG1zZzoKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwg XAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwK KyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVf MzJfQklUUykpCisgICAgIGNhc2UgX19OUl9ndHR5OgorICAgICBjYXNlIF9fTlJfaWRsZToKK0BA IC0xMTE1LDIwICsxMTMzLDIxIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTWlzYyhpbnQgc3lzbm8p IHsKKyAgICAgY2FzZSBfX05SX3Byb2Y6CisgICAgIGNhc2UgX19OUl9wcm9maWw6CisgI2VuZGlm CistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5l ZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9f KSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykK KyAgICAgY2FzZSBfX05SX3B1dHBtc2c6CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX194ODZfNjRf XykKKyAgICAgY2FzZSBfX05SX3NlY3VyaXR5OgorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRf XykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX3N0dHk6CisgI2VuZGlmCistI2lmIGRl ZmluZWQoX194ODZfNjRfXykKKysjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl90dXhjYWxsOgorICNlbmRpZgorLSNpZiAhZGVm aW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVk KF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl92c2VydmVyOgorICNlbmRpZgorICAgICAg IHJldHVybiB0cnVlOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv c2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuaAor QEAgLTQzLDEzICs0MywxNCBAQCBjbGFzcyBTQU5EQk9YX0VYUE9SVCBTeXNjYWxsU2V0cyB7Cisg ICBzdGF0aWMgYm9vbCBJc0RlbmllZEdldE9yTW9kaWZ5U29ja2V0KGludCBzeXNubyk7CisgCisg I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKKy0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19G QU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisrICAgIChkZWZpbmVkKEFSQ0hf Q1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCisrICAg IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgIC8vIEJpZyBtdWx0aXBsZXhpbmcgc3lzdGVtIGNh bGwgZm9yIHNvY2tldHMuCisgICBzdGF0aWMgYm9vbCBJc1NvY2tldENhbGwoaW50IHN5c25vKTsK KyAjZW5kaWYKKyAKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18p IHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysg ICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgc3Rh dGljIGJvb2wgSXNOZXR3b3JrU29ja2V0SW5mb3JtYXRpb24oaW50IHN5c25vKTsKKyAjZW5kaWYK KyAKK0BAIC03Nyw3ICs3OCw3IEBAIGNsYXNzIFNBTkRCT1hfRVhQT1JUIFN5c2NhbGxTZXRzIHsK KyAgIHN0YXRpYyBib29sIElzU3lzdGVtVlNlbWFwaG9yZXMoaW50IHN5c25vKTsKKyAjZW5kaWYK KyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVk KF9fYXJtX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykg fHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01J UFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKQorICAgLy8gVGhlc2UgZ2l2 ZSBhIGxvdCBvZiBhbWJpZW50IGF1dGhvcml0eSBhbmQgYnlwYXNzIHRoZSBzZXR1aWQgc2FuZGJv eC4KKyAgIHN0YXRpYyBib29sIElzU3lzdGVtVlNoYXJlZE1lbW9yeShpbnQgc3lzbm8pOworQEAg LTg5LDcgKzkwLDggQEAgY2xhc3MgU0FOREJPWF9FWFBPUlQgU3lzY2FsbFNldHMgeworICNlbmRp ZgorIAorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCistICAgIChkZWZpbmVkKEFSQ0hfQ1BV X01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorKyAgICAoZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwg XAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAvLyBCaWcgc3lzdGVtIFYgbXVsdGlw bGV4aW5nIHN5c3RlbSBjYWxsLgorICAgc3RhdGljIGJvb2wgSXNTeXN0ZW1WSXBjKGludCBzeXNu byk7CisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi9zeXNjYWxsLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9saW51eC9zZWNjb21wLWJwZi9zeXNjYWxsLmNjCitAQCAtMTgsNyArMTgsNyBAQCBuYW1lc3Bh Y2Ugc2FuZGJveCB7CisgbmFtZXNwYWNlIHsKKyAKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZf RkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkpIHx8IFwKKy0gICAgZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKysgICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlM WSkgfHwgZGVmaW5lZCAoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorIC8vIE51bWJlciB0aGF0J3Mg bm90IGN1cnJlbnRseSB1c2VkIGJ5IGFueSBMaW51eCBrZXJuZWwgQUJJcy4KKyBjb25zdCBpbnQg a0ludmFsaWRTeXNjYWxsTnVtYmVyID0gMHgzNTFkMzsKKyAjZWxzZQorQEAgLTMxMiwxMCArMzEy LDU0IEBAIGFzbSgvLyBXZSBuZWVkIHRvIGJlIGFibGUgdG8gdGVsbCB0aGUga2UKKyAgICAgIjI6 cmV0XG4iCisgICAgICIuY2ZpX2VuZHByb2NcbiIKKyAgICAgIi5zaXplIFN5c2NhbGxBc20sIC4t U3lzY2FsbEFzbVxuIgorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgIi50ZXh0 XG4iCisrICAgICIuYWxpZ24gNFxuIgorKyAgICAiLnR5cGUgU3lzY2FsbEFzbSBAZnVuY3Rpb25c biIKKysgICAgIlN5c2NhbGxBc206XG4iCisrICAgICIuY2ZpX3N0YXJ0cHJvY1xuIgorKworKyAg ICAvLyBDaGVjayBpZiByMyBpcyBuZWdhdGl2ZQorKyAgICAiY21wZGkgMywgMFxuIgorKyAgICAi Ymd0IDJmXG4iCisrCisrICAgIC8vIExvYWQgYWRkcmVzcyBvZiAzZiBpbnRvIHIzIGFuZCByZXR1 cm4KKysgICAgIm1mbHIgMTBcbiIKKysgICAgImJsIDFmXG4iCisrICAgICIxOiBtZmxyIDNcbiIK KysgICAgIm10bHIgMTBcbiIKKysgICAgImFkZGkgMywgMywgNCoxM1xuIgorKyAgICAiYmxyXG4i CisrCisrICAgIC8vIExvYWQgYXJndW1lbnRzIGZyb20gYXJyYXkgaW50byByMy04CisrICAgIC8v IHNhdmUgcGFyYW0gMyBpbiByMTAKKysgICAgIjI6XG4iCisrICAgICJtciAwLCAzXG4iCisrICAg ICJsZCAzLCAwKDQpXG4iCisrICAgICJsZCA1LCAxNig0KVxuIgorKyAgICAibGQgNiwgMjQoNClc biIKKysgICAgImxkIDcsIDMyKDQpXG4iCisrICAgICJsZCA4LCA0MCg0KVxuIgorKyAgICAibGQg NCwgOCg0KVxuIgorKyAgICAibGkgOSwgMFxuIgorKworKyAgICAvLyBFbnRlciBrZXJuZWwKKysg ICAgInNjXG4iCisrCisrICAgIC8vIE1hZ2ljIHJldHVybiBhZGRyZXNzCisrICAgICIzOlxuIgor KyAgICAvLyBMaWtlIE1JUFMsIHBwYzY0IHJldHVybiB2YWx1ZXMgYXJlIGFsd2F5cyBwb3NpdGl2 ZS4KKysgICAgLy8gQ2hlY2sgZm9yIGVycm9yIGluIGNyMC5TTyBhbmQgbmVnYXRlIHVwb24gZXJy b3IKKysgICAgImJjIDQsIDMsIDRmXG4iCisrICAgICJuZWcgMywgM1xuIgorKyAgICAiNDogYmxy XG4iCisrCisrICAgICIuY2ZpX2VuZHByb2NcbiIKKysgICAgIi5zaXplIFN5c2NhbGxBc20sIC4t U3lzY2FsbEFzbVxuIgorICNlbmRpZgorICAgICApOyAgLy8gYXNtCisgCistI2lmIGRlZmluZWQo X194ODZfNjRfXykKKysjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJw YzY0X18pCisgZXh0ZXJuICJDIiB7CisgaW50cHRyX3QgU3lzY2FsbEFzbShpbnRwdHJfdCBuciwg Y29uc3QgaW50cHRyX3QgYXJnc1s2XSk7CisgfQorQEAgLTQyOSw2ICs0NzMsOCBAQCBpbnRwdHJf dCBTeXNjYWxsOjpDYWxsKGludCBuciwKKyAgICAgcmV0ID0gaW5vdXQ7CisgICB9CisgCisrI2Vs aWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgaW50cHRyX3QgcmV0ID0gU3lzY2FsbEFzbShu ciwgYXJncyk7CisgI2Vsc2UKKyAjZXJyb3IgIlVuaW1wbGVtZW50ZWQgYXJjaGl0ZWN0dXJlIgor ICNlbmRpZgorQEAgLTQ0NSw4ICs0OTEsMjYgQEAgdm9pZCBTeXNjYWxsOjpQdXRWYWx1ZUluVWNv bnRleHQoaW50cHRyXworICAgICAvLyBuZWVkcyB0byBiZSBjaGFuZ2VkIGJhY2suCisgICAgIHJl dF92YWwgPSAtcmV0X3ZhbDsKKyAgICAgU0VDQ09NUF9QQVJNNChjdHgpID0gMTsKKy0gIH0gZWxz ZQorKyAgfSBlbHNlIHsKKyAgICAgU0VDQ09NUF9QQVJNNChjdHgpID0gMDsKKysgIH0KKysjZW5k aWYKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgLy8gU2FtZSBhcyBNSVBTLCBuZWVk IHRvIGludmVydCByZXQgYW5kIHNldCBlcnJvciByZWdpc3RlciAoY3IwLlNPKQorKyAgaWYgKHJl dF92YWwgPD0gLTEgJiYgcmV0X3ZhbCA+PSAtNDA5NSkgeworKyAgICByZXRfdmFsID0gLXJldF92 YWw7CisrI2lmZGVmIF9fR0xJQkNfXworKyAgICBjdHgtPnVjX21jb250ZXh0LnJlZ3MtPmNjciB8 PSAoMSA8PCAyOCk7CisrI2Vsc2UKKysgICAgKChzdHJ1Y3QgcHRfcmVncyAqKWN0eC0+dWNfbWNv bnRleHQucmVncyktPmNjciB8PSAoMSA8PCAyOCk7CisrI2VuZGlmCisrICB9IGVsc2UgeworKyNp ZmRlZiBfX0dMSUJDX18KKysgICAgY3R4LT51Y19tY29udGV4dC5yZWdzLT5jY3IgJj0gfigxIDw8 IDI4KTsKKysjZWxzZQorKyAgICAoKHN0cnVjdCBwdF9yZWdzICopY3R4LT51Y19tY29udGV4dC5y ZWdzKS0+Y2NyICY9IH4oMSA8PCAyOCk7CisrI2VuZGlmCisrICB9CisgI2VuZGlmCisgICBTRUND T01QX1JFU1VMVChjdHgpID0gc3RhdGljX2Nhc3Q8Z3JlZ190PihyZXRfdmFsKTsKKyB9CistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi90cmFwLmNj CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi90 cmFwLmNjCitAQCAtMjM2LDYgKzIzNiwyMCBAQCB2b2lkIFRyYXA6OlNpZ1N5cyhpbnQgbnIsIExp bnV4U2lnSW5mbyoKKyAgICAgICBTZXRJc0luU2lnSGFuZGxlcigpOworICAgICB9CisgCisrI2lm IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgLy8gT24gcHBjNjQrZ2xpYmMsIHNvbWUgc3lz Y2FsbHMgc2VlbSB0byBhY2NpZGVudGFsbHkgbmVnYXRlIHRoZSBmaXJzdAorKyAgICAvLyBwYXJh bWV0ZXIgd2hpY2ggY2F1c2VzIGNoZWNrcyBhZ2FpbnN0IGl0IHRvIGZhaWwuIEZvciBub3csIG1h bnVhbGx5CisrICAgIC8vIG5lZ2F0ZSB0aGVtIGJhY2suCisrICAgIC8vIFRPRE8oc2hhd25AYW5h c3Rhcy5pbyk6IGludmVzdGlnYXRlIHRoaXMgaXNzdWUgZnVydGhlcgorKyAgICBhdXRvIG5yID0g U0VDQ09NUF9TWVNDQUxMKGN0eCk7CisrICAgIGlmIChuciA9PSBfX05SX29wZW5hdCB8fCBuciA9 PSBfX05SX21rZGlyYXQgfHwgbnIgPT0gX19OUl9mYWNjZXNzYXQgfHwgbnIgPT0gX19OUl9yZWFk bGlua2F0IHx8CisrICAgICAgICBuciA9PSBfX05SX3JlbmFtZWF0IHx8IG5yID09IF9fTlJfcmVu YW1lYXQyIHx8IG5yID09IF9fTlJfbmV3ZnN0YXRhdCB8fCBuciA9PSBfX05SX3VubGlua2F0KSB7 CisrICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8aW50PihTRUNDT01QX1BBUk0xKGN0eCkpID4gMCkg eworKyAgICAgICAgICAgIFNFQ0NPTVBfUEFSTTEoY3R4KSA9IC1TRUNDT01QX1BBUk0xKGN0eCk7 CisrICAgICAgICB9CisrICAgIH0KKysjZW5kaWYKKysKKyAgICAgLy8gQ29weSB0aGUgc2VjY29t cC1zcGVjaWZpYyBkYXRhIGludG8gYSBhcmNoX3NlY2NvbXBfZGF0YSBzdHJ1Y3R1cmUuIFRoaXMK KyAgICAgLy8gaXMgd2hhdCB3ZSBhcmUgc2hvd2luZyB0byBUcmFwRm5jIGNhbGxiYWNrcyB0aGF0 IHRoZSBzeXN0ZW0gY2FsbAorICAgICAvLyBldmFsdWF0b3IgcmVnaXN0ZXJlZCB3aXRoIHRoZSBz YW5kYm94LgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2Vydmlj ZXMvY3JlZGVudGlhbHMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmNjCitAQCAtODEsNyArODEsNyBAQCBib29sIENocm9v dFRvU2FmZUVtcHR5RGlyKCkgeworICAgcGlkX3QgcGlkID0gLTE7CisgICBhbGlnbmFzKDE2KSBj aGFyIHN0YWNrX2J1ZltQVEhSRUFEX1NUQUNLX01JTl07CisgI2lmIGRlZmluZWQoQVJDSF9DUFVf WDg2X0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNIX0NQVV9BUk1fRkFNSUxZKSB8fCBcCistICAgIGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisrICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19G QU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorICAgLy8gVGhlIHN0YWNr IGdyb3dzIGRvd253YXJkLgorICAgdm9pZCogc3RhY2sgPSBzdGFja19idWYgKyBzaXplb2Yoc3Rh Y2tfYnVmKTsKKyAjZWxzZQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGlu dXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYworQEAgLTYxLDcg KzYxLDcgQEAgbG9uZyBzeXNfY2xvbmUodW5zaWduZWQgbG9uZyBmbGFncywKKyAjaWYgZGVmaW5l ZChBUkNIX0NQVV9YODZfNjQpCisgICByZXR1cm4gc3lzY2FsbChfX05SX2Nsb25lLCBmbGFncywg Y2hpbGRfc3RhY2ssIHB0aWQsIGN0aWQsIHRscyk7CisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9Y ODYpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNX0ZBTUlMWSkgfHwgXAorLSAgICBkZWZpbmVkKEFS Q0hfQ1BVX01JUFNfRkFNSUxZKQorKyAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSB8 fCBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKyAgIC8vIENPTkZJR19DTE9ORV9CQUNL V0FSRFMgZGVmaW5lZC4KKyAgIHJldHVybiBzeXNjYWxsKF9fTlJfY2xvbmUsIGZsYWdzLCBjaGls ZF9zdGFjaywgcHRpZCwgdGxzLCBjdGlkKTsKKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmNjCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9i cm9rZXJfcHJvY2Vzcy5jYworQEAgLTE2NSw3ICsxNjUsNyBAQCBib29sIEJyb2tlclByb2Nlc3M6 OklzU3lzY2FsbEJyb2tlcmFibGUoCisgI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCisgICAg IGNhc2UgX19OUl9mc3RhdGF0NjQ6CisgI2VuZGlmCistI2lmIGRlZmluZWQoX194ODZfNjRfXykg fHwgZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19O Ul9uZXdmc3RhdGF0OgorICNlbmRpZgorICAgICAgIHJldHVybiAhZmFzdF9jaGVjayB8fCBhbGxv d2VkX2NvbW1hbmRfc2V0Xy50ZXN0KENPTU1BTkRfU1RBVCk7CistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zZWNjb21wLmgKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xp bnV4X3NlY2NvbXAuaAorQEAgLTQxLDYgKzQxLDkgQEAKKyAjaWZuZGVmIEVNX0FBUkNINjQKKyAj ZGVmaW5lIEVNX0FBUkNINjQgMTgzCisgI2VuZGlmCisrI2lmbmRlZiBFTV9QUEM2NAorKyNkZWZp bmUgRU1fUFBDNjQgMjEKKysjZW5kaWYKKyAKKyAjaWZuZGVmIF9fQVVESVRfQVJDSF82NEJJVAor ICNkZWZpbmUgX19BVURJVF9BUkNIXzY0QklUIDB4ODAwMDAwMDAKK0BAIC03NCw2ICs3NywxNCBA QAorICNkZWZpbmUgQVVESVRfQVJDSF9BQVJDSDY0IChFTV9BQVJDSDY0IHwgX19BVURJVF9BUkNI XzY0QklUIHwgX19BVURJVF9BUkNIX0xFKQorICNlbmRpZgorIAorKyNpZm5kZWYgQVVESVRfQVJD SF9QUEM2NAorKyNkZWZpbmUgQVVESVRfQVJDSF9QUEM2NCAoRU1fUFBDNjQgfCBfX0FVRElUX0FS Q0hfNjRCSVQpCisrI2VuZGlmCisrCisrI2lmbmRlZiBBVURJVF9BUkNIX1BQQzY0TEUKKysjZGVm aW5lIEFVRElUX0FSQ0hfUFBDNjRMRSAoRU1fUFBDNjQgfCBfX0FVRElUX0FSQ0hfNjRCSVQgfCBf X0FVRElUX0FSQ0hfTEUpCisrI2VuZGlmCisrCisgLy8gRm9yIHByY3RsLmgKKyAjaWZuZGVmIFBS X1NFVF9TRUNDT01QCisgI2RlZmluZSBQUl9TRVRfU0VDQ09NUCAgICAgICAgICAgICAgIDIyCist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9s aW51eF9zaWduYWwuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvbGludXhfc2lnbmFsLmgKK0BAIC0xMyw3ICsxMyw3IEBACisgLy8gKG5v dCB1bmRlZmluZWQsIGJ1dCBkZWZpbmVkIGRpZmZlcmVudCB2YWx1ZXMgYW5kIGluIGRpZmZlcmVu dCBtZW1vcnkKKyAvLyBsYXlvdXRzKS4gU28sIGZpbGwgdGhlIGdhcCBoZXJlLgorICNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykg fHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9f KSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgCisgI2RlZmluZSBMSU5VWF9TSUdIVVAgMQor ICNkZWZpbmUgTElOVVhfU0lHSU5UIDIKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxz LmgKK0BAIC0zNSw1ICszNSw5IEBACisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hl YWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMuaCIKKyAjZW5kaWYKKyAKKysjaWYgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQorKyNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3Bw YzY0X2xpbnV4X3N5c2NhbGxzLmgiCisrI2VuZGlmCisrCisgI2VuZGlmICAvLyBTQU5EQk9YX0xJ TlVYX1NZU1RFTV9IRUFERVJTX0xJTlVYX1NZU0NBTExTX0hfCisgCistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF91Y29udGV4dC5o CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cy9saW51eF91Y29udGV4dC5oCitAQCAtMTEsNiArMTEsOCBAQAorICNpbmNsdWRlICJzYW5kYm94 L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2FybV9saW51eF91Y29udGV4dC5oIgorICNlbGlmIGRlZmlu ZWQoX19pMzg2X18pCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvaTM4 Nl9saW51eF91Y29udGV4dC5oIgorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysjaW5j bHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9wcGM2NF9saW51eF91Y29udGV4dC5o IgorICNlbHNlCisgI2Vycm9yICJObyBzdXBwb3J0IGZvciB5b3VyIGFyY2hpdGVjdHVyZSBpbiBQ TmFDbCBoZWFkZXIiCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYworKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lf bGludXguY2MKK0BAIC0xNSw2ICsxNSwxMSBAQAorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgiCisgI2luY2x1ZGUgInNhbmRib3gvcG9saWN5 L2xpbnV4L3NhbmRib3hfbGludXguaCIKKyAKKysvLyBPbiBQUEM2NCwgVENHRVRTIGlzIGRlZmlu ZWQgaW4gdGVybXMgb2Ygc3RydWN0IHRlcm1pb3MsIHNvIHdlIG11c3QgaW5jbHVkZSB0ZXJtaW9z LmgKKysjaWZkZWYgX19wb3dlcnBjNjRfXworKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisrI2VuZGlm CisrCisgLy8gVE9ETyh2aWduYXR0aSk6IHJlcGxhY2UgdGhlIGxvY2FsIGRlZmluaXRpb25zIGJl bG93IHdpdGggI2luY2x1ZGUKKyAvLyA8bGludXgvZG1hLWJ1Zi5oPiBvbmNlIGtlcm5lbCB2ZXJz aW9uIDQuNiBiZWNvbWVzIHdpZGVseSB1c2VkLgorICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2FuZ2xlL3NyYy9jb21waWxl ci90cmFuc2xhdG9yL0luZm9TaW5rLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9hbmdsZS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9JbmZvU2luay5oCitAQCAtOTMs NyArOTMsMTYgQEAgY2xhc3MgVEluZm9TaW5rQmFzZQorICAgICAgICAgICAgIHN0cmVhbS5wcmVj aXNpb24oOCk7CisgICAgICAgICAgICAgc3RyZWFtIDw8IGY7CisgICAgICAgICB9CistICAgICAg ICBzaW5rLmFwcGVuZChzdHJlYW0uc3RyKCkpOworKworKyAgICAgICAgLy8gSGFjayB0byB3b3Jr IGFyb3VuZCBhIGJ1ZyB3aGVyZSBuZWdhdGl2ZSBmbG9hdGluZyBwb2ludCB2YWx1ZXMKKysgICAg ICAgIC8vIGFyZSByZW5kZXJlZCBsaWtlICcuMC41JyBpbnN0ZWFkIG9mICctMC41JworKyAgICAg ICAgc3RkOjpzdHJpbmcgcmVzKHN0cmVhbS5zdHIoKSk7CisrCisrICAgICAgICBpZiAoc2lnbmJp dChmKSkgeyAvLyB0ZXN0IGlmIGYgaXMgbmVnYXRpdmUKKysgICAgICAgICAgICByZXNbMF0gPSAn LSc7CisrICAgICAgICB9CisrCisrICAgICAgICBzaW5rLmFwcGVuZChyZXMpOworICAgICAgICAg cmV0dXJuICp0aGlzOworICAgICB9CisgICAgIC8vIFdyaXRlIGJvb2xlYW4gdmFsdWVzIGFzIHRo ZWlyIG5hbWVzIGluc3RlYWQgb2YgaW50ZWdyYWwgdmFsdWUuCistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0Nv bnN0YW50cy5oCitAQCAtOSw2ICs5LDcgQEAKKyAjaWZuZGVmIExJQkFOR0xFX0NPTlNUQU5UU19I XworICNkZWZpbmUgTElCQU5HTEVfQ09OU1RBTlRTX0hfCisgCisrI2luY2x1ZGUgPGNzdGRkZWY+ CisgI2luY2x1ZGUgImNvbW1vbi9wbGF0Zm9ybS5oIgorIAorICNpbmNsdWRlIDxzdGRpbnQuaD4K Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJTEQu Z24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJ TEQuZ24KK0BAIC05OSw2ICs5OSwxMyBAQCBpZiAoaXNfd2luICYmICFpc19tc2FuICYmIGN1cnJl bnRfY3B1ICE9CisgICAgICAgfSBlbHNlIHsKKyAgICAgICAgIHB1YmxpY19jb25maWdzID0gWyAi Om5vX2FzbV9jb25maWciIF0KKyAgICAgICB9CisrICAgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUg PT0gInBwYzY0IikgeworKyAgICAgIGlmIChpc19saW51eCkgeworKyAgICAgICAgIyBUT0RPOiBw cGM2NCAoYmUpIGNoZWNrCisrICAgICAgICBzb3VyY2VzICs9IGNyeXB0b19zb3VyY2VzX2xpbnV4 X3BwYzY0bGUKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgcHVibGljX2NvbmZpZ3MgPSBbICI6 bm9fYXNtX2NvbmZpZyIgXQorKyAgICAgIH0KKyAgICAgfSBlbHNlIHsKKyAgICAgICBwdWJsaWNf Y29uZmlncyA9IFsgIjpub19hc21fY29uZmlnIiBdCisgICAgIH0KKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL0JVSUxELmduCitAQCAtNjIzLDcgKzYy Myw2IEBAIGlmIChpc19saW51eCB8fCBpc19jaHJvbWVvcyB8fCBpc19hbmRyb2kKKyAgICAgICAi YnJlYWtwYWQvc3JjL2NsaWVudC9taW5pZHVtcF9maWxlX3dyaXRlci5oIiwKKyAgICAgICAiYnJl YWtwYWQvc3JjL2NvbW1vbi9jb252ZXJ0X1VURi5jYyIsCisgICAgICAgImJyZWFrcGFkL3NyYy9j b21tb24vY29udmVydF9VVEYuaCIsCistICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgv YnJlYWtwYWRfZ2V0Y29udGV4dC5TIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51 eC9lbGZfY29yZV9kdW1wLmNjIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9l bGZfY29yZV9kdW1wLmgiLAorICAgICAgICJicmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2VsZnV0 aWxzLmNjIiwKK0BAIC02NjMsNiArNjYyLDE1IEBAIGlmIChpc19saW51eCB8fCBpc19jaHJvbWVv cyB8fCBpc19hbmRyb2kKKyAKKyAgICAgbGlicyA9IFsgImRsIiBdCisgCisrICAgIGlmIChjdXJy ZW50X2NwdSA9PSAicHBjNjQiKSB7CisrICAgICAgICBkZWZpbmVzID0gWyAiSEFWRV9HRVRDT05U RVhUIiBdCisrICAgICAgICBsaWJzICs9IFsgInVjb250ZXh0IiBdCisrICAgIH0gZWxzZSB7Cisr ICAgICAgICBzb3VyY2VzICs9IFsKKysgICAgICAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9s aW51eC9icmVha3BhZF9nZXRjb250ZXh0LlMiCisrICAgICAgICBdCisrICAgIH0KKysKKyAgICAg aW5jbHVkZV9kaXJzID0gWworICAgICAgICIuIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjIiwKK0BA IC03MTIsNyArNzIwLDYgQEAgaWYgKGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zIHx8IGlzX2FuZHJv aQorICAgICAgICJicmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5p ZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MiLAorICAgICAgICJicmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3RfdXRpbHMuY2MiLAor ICAgICAgICJicmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9wcm9jX2Nw dWluZm9fcmVhZGVyX3VuaXR0ZXN0LmNjIiwKKy0gICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9s aW51eC9icmVha3BhZF9nZXRjb250ZXh0X3VuaXR0ZXN0LmNjIiwKKyAgICAgICAiYnJlYWtwYWQv c3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wX3VuaXR0ZXN0LmNjIiwKKyAgICAgICAiYnJl YWtwYWQvc3JjL2NvbW1vbi9saW51eC9maWxlX2lkX3VuaXR0ZXN0LmNjIiwKKyAgICAgICAiYnJl YWtwYWQvc3JjL2NvbW1vbi9saW51eC9saW51eF9saWJjX3N1cHBvcnRfdW5pdHRlc3QuY2MiLAor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Jhd19jb250ZXh0X2NwdS5oCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRleHRfY3B1LmgKK0BA IC00NCw2ICs0NCw4IEBAIHR5cGVkZWYgTURSYXdDb250ZXh0QVJNIFJhd0NvbnRleHRDUFU7Cisg dHlwZWRlZiBNRFJhd0NvbnRleHRBUk02NF9PbGQgUmF3Q29udGV4dENQVTsKKyAjZWxpZiBkZWZp bmVkKF9fbWlwc19fKQorIHR5cGVkZWYgTURSYXdDb250ZXh0TUlQUyBSYXdDb250ZXh0Q1BVOwor KyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyt0eXBlZGVmIE1EUmF3Q29udGV4dFBQQzY0 IFJhd0NvbnRleHRDUFU7CisgI2Vsc2UKKyAjZXJyb3IgIlRoaXMgY29kZSBoYXMgbm90IGJlZW4g cG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYworKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVt cF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmNjCitAQCAtMjcwLDcgKzI3MCw1NCBAQCB2b2lk IFRocmVhZEluZm86OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRlCisgICBvdXQtPmZsb2F0X3NhdmUu ZmlyID0gbWNvbnRleHQuZnBjX2VpcjsKKyAjZW5kaWYKKyB9CistI2VuZGlmICAvLyBfX21pcHNf XworKworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysKKysjaWYgIWRlZmluZWQoX19H TElCQ19fKQorKyNpbmNsdWRlIDxhc20vZWxmLmg+CisrI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4K KysjZW5kaWYKKysKKyt1aW50cHRyX3QgVGhyZWFkSW5mbzo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVy KCkgY29uc3QgeworKyAgICByZXR1cm4gbWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdOworK30KKysK Kyt2b2lkIFRocmVhZEluZm86OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCkgY29u c3QgeworKyAgICBvdXQtPmNvbnRleHRfZmxhZ3MgPSBNRF9DT05URVhUX1BQQzY0X0ZVTEw7Cisr ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfQ09OVEVYVF9QUEM2NF9HUFJfQ09VTlQ7IGkrKykK KysgICAgICAgIG91dC0+Z3ByW2ldID0gbWNvbnRleHQuZ3BfcmVnc1tpXTsKKysKKysgICAgb3V0 LT5sciA9IG1jb250ZXh0LmdwX3JlZ3NbUFRfTE5LXTsKKysgICAgb3V0LT5zcnIwID0gbWNvbnRl eHQuZ3BfcmVnc1tQVF9OSVBdOworKyAgICBvdXQtPnNycjEgPSBtY29udGV4dC5ncF9yZWdzW1BU X01TUl07CisrICAgIG91dC0+Y3IgPSBtY29udGV4dC5ncF9yZWdzW1BUX0NDUl07CisrICAgIG91 dC0+eGVyID0gbWNvbnRleHQuZ3BfcmVnc1tQVF9YRVJdOworKyAgICBvdXQtPmN0ciA9IG1jb250 ZXh0LmdwX3JlZ3NbUFRfQ1RSXTsKKysKKysjaWZkZWYgX19HTElCQ19fCisrICAgIGZvciAoaW50 IGkgPSAwOyBpIDwgTURfRkxPQVRJTkdTQVZFQVJFQV9QUENfRlBSX0NPVU5UOyBpKyspCisrICAg ICAgICBvdXQtPmZsb2F0X3NhdmUuZnByZWdzW2ldID0gbWNvbnRleHQuZnBfcmVnc1tpXTsKKysK KysgICAgb3V0LT5mbG9hdF9zYXZlLmZwc2NyID0gbWNvbnRleHQuZnBfcmVnc1tORlBSRUctMV07 CisrI2Vsc2UKKysgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9GTE9BVElOR1NBVkVBUkVBX1BQ Q19GUFJfQ09VTlQ7IGkrKykKKysgICAgICAgIG91dC0+ZmxvYXRfc2F2ZS5mcHJlZ3NbaV0gPSAo KHVpbnQ2NF90ICopJm1jb250ZXh0LmZwX3JlZ3MpW2ldOworKworKyAgICAgb3V0LT5mbG9hdF9z YXZlLmZwc2NyID0gKCh1aW50NjRfdCAqKSZtY29udGV4dC5mcF9yZWdzKVtFTEZfTkZQUkVHLTFd OworKyNlbmRpZgorKworKyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1EX1ZFQ1RPUlNBVkVBUkVB X1BQQ19WUl9DT1VOVDsgaSsrKQorKyAgICAgICAgb3V0LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ld ID0gXAorKyAgICAgICAgICAgIHsoKCh1aW50NjRfdCl2cmVncy52cnJlZ3NbaV1bMF0pIDw8IDMy KQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgfCB2cmVncy52cnJlZ3NbaV1bMV0sCisrICAg ICAgICAgICAgKCgodWludDY0X3QpdnJlZ3MudnJyZWdzW2ldWzJdKSA8PCAzMikKKysgICAgICAg ICAgICAgICAgICAgICAgICAgfCB2cmVncy52cnJlZ3NbaV1bM119OworKworKyAgICBvdXQtPnZy c2F2ZSA9IHZyZWdzLnZyc2F2ZTsKKysgICAgb3V0LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZzY3IgPSB7 MCwgdnJlZ3MudnNjci52c2NyX3dvcmR9OworKyAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnJ2 YWxpZCA9IDB4RkZGRkZGRkY7CisrfQorKyNlbmRpZiAgLy8gX19wb3dlcnBjNjRfXworIAorIHZv aWQgVGhyZWFkSW5mbzo6R2V0R2VuZXJhbFB1cnBvc2VSZWdpc3RlcnModm9pZCoqIGdwX3JlZ3Ms IHNpemVfdCogc2l6ZSkgeworICAgYXNzZXJ0KGdwX3JlZ3MgfHwgc2l6ZSk7CitAQCAtMjc5LDYg KzMyNiwxMSBAQCB2b2lkIFRocmVhZEluZm86OkdldEdlbmVyYWxQdXJwb3NlUmVnaXN0CisgICAg ICpncF9yZWdzID0gbWNvbnRleHQuZ3JlZ3M7CisgICBpZiAoc2l6ZSkKKyAgICAgKnNpemUgPSBz aXplb2YobWNvbnRleHQuZ3JlZ3MpOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysg IGlmIChncF9yZWdzKQorKyAgICAqZ3BfcmVncyA9IG1jb250ZXh0LmdwX3JlZ3M7CisrICBpZiAo c2l6ZSkKKysgICAgKnNpemUgPSBzaXplb2YobWNvbnRleHQuZ3BfcmVncyk7CisgI2Vsc2UKKyAg IGlmIChncF9yZWdzKQorICAgICAqZ3BfcmVncyA9ICZyZWdzOworQEAgLTI5NCw2ICszNDYsMTEg QEAgdm9pZCBUaHJlYWRJbmZvOjpHZXRGbG9hdGluZ1BvaW50UmVnaXN0ZQorICAgICAqZnBfcmVn cyA9ICZtY29udGV4dC5mcHJlZ3M7CisgICBpZiAoc2l6ZSkKKyAgICAgKnNpemUgPSBzaXplb2Yo bWNvbnRleHQuZnByZWdzKTsKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICBpZiAo ZnBfcmVncykKKysgICAgKmZwX3JlZ3MgPSAmbWNvbnRleHQuZnBfcmVnczsKKysgIGlmIChzaXpl KQorKyAgICAqc2l6ZSA9IHNpemVvZihtY29udGV4dC5mcF9yZWdzKTsKKyAjZWxzZQorICAgaWYg KGZwX3JlZ3MpCisgICAgICpmcF9yZWdzID0gJmZwcmVnczsKK0BAIC0zMDIsNCArMzU5LDEzIEBA IHZvaWQgVGhyZWFkSW5mbzo6R2V0RmxvYXRpbmdQb2ludFJlZ2lzdGUKKyAjZW5kaWYKKyB9Cisg CisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyt2b2lkIFRocmVhZEluZm86OkdldFZlY3Rv clJlZ2lzdGVycyh2b2lkKiogdl9yZWdzLCBzaXplX3QqIHNpemUpIHsKKysgICAgaWYgKHZfcmVn cykKKysgICAgICAgICp2X3JlZ3MgPSAmdnJlZ3M7CisrICAgIGlmIChzaXplKQorKyAgICAgICAg KnNpemUgPSBzaXplb2YodnJlZ3MpOworK30KKysjZW5kaWYKKysKKyB9ICAvLyBuYW1lc3BhY2Ug Z29vZ2xlX2JyZWFrcGFkCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhy ZWFkX2luZm8uaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9p bmZvLmgKK0BAIC02OCw2ICs2OCwxMCBAQCBzdHJ1Y3QgVGhyZWFkSW5mbyB7CisgICAvLyBVc2Ug dGhlIHN0cnVjdHVyZXMgZGVmaW5lZCBpbiA8c3lzL3VzZXIuaD4KKyAgIHN0cnVjdCB1c2VyX3Jl Z3Nfc3RydWN0IHJlZ3M7CisgICBzdHJ1Y3QgdXNlcl9mcHNpbWRfc3RydWN0IGZwcmVnczsKKysj ZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAvLyBVc2UgdGhlIHN0cnVjdHVyZXMgZGVm aW5lZCBpbiA8c3lzL3Vjb250ZXh0Lmg+LgorKyAgbWNvbnRleHRfdCBtY29udGV4dDsKKysgIHZy cmVnc2V0X3QgdnJlZ3M7CisgI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKyAgIC8vIFVzZSB0aGUg c3RydWN0dXJlIGRlZmluZWQgaW4gPHN5cy91Y29udGV4dC5oPi4KKyAgIG1jb250ZXh0X3QgbWNv bnRleHQ7CitAQCAtODQsNiArODgsMTEgQEAgc3RydWN0IFRocmVhZEluZm8geworIAorICAgLy8g UmV0dXJucyB0aGUgcG9pbnRlciBhbmQgc2l6ZSBvZiBmbG9hdCBwb2ludCByZWdpc3RlciBhcmVh LgorICAgdm9pZCBHZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJzKHZvaWQqKiBmcF9yZWdzLCBzaXpl X3QqIHNpemUpOworKworKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAvLyBSZXR1cm5z IHRoZSBwb2ludGVyIGFuZCBzaXplIG9mIHRoZSB2ZWN0b3IgcmVnaXN0ZXIgYXJlYS4gKFBQQzY0 IG9ubHkpCisrICB2b2lkIEdldFZlY3RvclJlZ2lzdGVycyh2b2lkKiogdl9yZWdzLCBzaXplX3Qq IHNpemUpOworKyNlbmRpZgorIH07CisgCisgfSAgLy8gbmFtZXNwYWNlIGdvb2dsZV9icmVha3Bh ZAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5j YworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5j YworQEAgLTI1NCw2ICsyNTQsNjAgQEAgdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRl eHQoUmF3QworICAgb3V0LT5mbG9hdF9zYXZlLmZpciA9IHVjLT51Y19tY29udGV4dC5mcGNfZWly OyAgLy8gVW51c2VkLgorICNlbmRpZgorIH0KKysKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCisrCisrI2lmbmRlZiBfX0dMSUJDX18KKysjaW5jbHVkZSA8YXNtL2VsZi5oPgorKyNpbmNs dWRlIDxhc20vcHRyYWNlLmg+CisrI2VuZGlmCisrCisrdWludHB0cl90IFVDb250ZXh0UmVhZGVy OjpHZXRTdGFja1BvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKKysgICAgcmV0dXJuIHVj LT51Y19tY29udGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRfUkVHX1NQXTsKKyt9CisrCisr dWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNv bnRleHRfdCogdWMpIHsKKysgICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5ncF9yZWdzW1BUX05J UF07CisrfQorKworK3ZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRl eHRDUFUqIG91dCwgY29uc3QgdWNvbnRleHRfdCogdWMsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgdnJyZWdzZXRfdCogdnJlZ3MpIHsKKysgICAgb3V0LT5jb250 ZXh0X2ZsYWdzID0gTURfQ09OVEVYVF9QUEM2NF9GVUxMOworKworKyAgICBmb3IgKGludCBpID0g MDsgaSA8IE1EX0NPTlRFWFRfUFBDNjRfR1BSX0NPVU5UOyBpKyspCisrICAgICAgICBvdXQtPmdw cltpXSA9IHVjLT51Y19tY29udGV4dC5ncF9yZWdzW2ldOworKworKyAgICBvdXQtPmxyID0gdWMt PnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTE5LXTsKKysgICAgb3V0LT5zcnIwID0gdWMtPnVjX21j b250ZXh0LmdwX3JlZ3NbUFRfTklQXTsKKysgICAgb3V0LT5zcnIxID0gdWMtPnVjX21jb250ZXh0 LmdwX3JlZ3NbUFRfTVNSXTsKKysgICAgb3V0LT5jciA9IHVjLT51Y19tY29udGV4dC5ncF9yZWdz W1BUX0NDUl07CisrICAgIG91dC0+eGVyID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfWEVS XTsKKysgICAgb3V0LT5jdHIgPSB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9DVFJdOworKwor KyNpZmRlZiBfX0dMSUJDX18KKysgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9GTE9BVElOR1NB VkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykKKysgICAgICAgIG91dC0+ZmxvYXRfc2F2ZS5mcHJl Z3NbaV0gPSB1Yy0+dWNfbWNvbnRleHQuZnBfcmVnc1tpXTsKKysKKysgICAgb3V0LT5mbG9hdF9z YXZlLmZwc2NyID0gdWMtPnVjX21jb250ZXh0LmZwX3JlZ3NbTkZQUkVHLTFdOworKyNlbHNlCisr ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfRkxPQVRJTkdTQVZFQVJFQV9QUENfRlBSX0NPVU5U OyBpKyspCisrICAgICAgICBvdXQtPmZsb2F0X3NhdmUuZnByZWdzW2ldID0gKCh1aW50NjRfdCAq KSZ1Yy0+dWNfbWNvbnRleHQuZnBfcmVncylbaV07CisrCisrICAgIG91dC0+ZmxvYXRfc2F2ZS5m cHNjciA9ICgodWludDY0X3QgKikmdWMtPnVjX21jb250ZXh0LmZwX3JlZ3MpW0VMRl9ORlBSRUct MV07CisrI2VuZGlmCisrCisrICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfVkVDVE9SU0FWRUFS RUFfUFBDX1ZSX0NPVU5UOyBpKyspCisrICAgICAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnJb aV0gPQorKyAgICAgICAgICAgIHsoKCh1aW50NjRfdCl2cmVncy0+dnJyZWdzW2ldWzBdKSA8PCAz MikKKysgICAgICAgICAgICAgICAgICAgICAgICAgfCB2cmVncy0+dnJyZWdzW2ldWzFdLAorKyAg ICAgICAgICAgICAoKCh1aW50NjRfdCl2cmVncy0+dnJyZWdzW2ldWzJdKSA8PCAzMikKKysgICAg ICAgICAgICAgICAgICAgICAgICAgfCB2cmVncy0+dnJyZWdzW2ldWzNdfTsKKysKKysgICAgb3V0 LT52cnNhdmUgPSB2cmVncy0+dnJzYXZlOworKyAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnNj ciA9IHswLCB2cmVncy0+dnNjci52c2NyX3dvcmR9OworKyAgICBvdXQtPnZlY3Rvcl9zYXZlLnNh dmVfdnJ2YWxpZCA9IDB4RkZGRkZGRkY7CisrfQorKworICNlbmRpZgorIAorIH0gIC8vIG5hbWVz cGFjZSBnb29nbGVfYnJlYWtwYWQKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1v bi91Y29udGV4dF9yZWFkZXIuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9u L3Vjb250ZXh0X3JlYWRlci5oCitAQCAtNTksNiArNTksOSBAQCBzdHJ1Y3QgVUNvbnRleHRSZWFk ZXIgeworICNlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCisgICBzdGF0aWMgdm9pZCBGaWxsQ1BV Q29udGV4dChSYXdDb250ZXh0Q1BVKiBvdXQsIGNvbnN0IHVjb250ZXh0X3QqIHVjLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZwc2ltZF9jb250ZXh0KiBmcHJl Z3MpOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIHN0YXRpYyB2b2lkIEZpbGxD UFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2cnJlZ3NldF90KiB2cmVncyk7CisgI2Vs c2UKKyAgIHN0YXRpYyB2b2lkIEZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCwgY29u c3QgdWNvbnRleHRfdCogdWMpOworICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9l eGNlcHRpb25faGFuZGxlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25f aGFuZGxlci5jYworQEAgLTEwNSw2ICsxMDUsMTMgQEAKKyAjZGVmaW5lIFBSX1NFVF9QVFJBQ0VS IDB4NTk2MTZkNjEKKyAjZW5kaWYKKyAKKysvKiBtdXNsIGhhY2ssIGNhbid0IGluY2x1ZGUgYXNt L3B0cmFjZS5oIGFzIHRoYXQgY2F1c2VzIGNvbmZsaWN0cyAqLworKyNpZm5kZWYgX19HTElCQ19f CisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgIWRlZmluZWQoUFRfTklQKQorKyNkZWZp bmUgUFRfTklQIDMyCisrI2VuZGlmCisrI2VuZGlmCisrCisgbmFtZXNwYWNlIGdvb2dsZV9icmVh a3BhZCB7CisgCisgbmFtZXNwYWNlIHsKK0BAIC00NjEsOSArNDY4LDE2IEBAIGJvb2wgRXhjZXB0 aW9uSGFuZGxlcjo6SGFuZGxlU2lnbmFsKGludAorICAgICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4 dF8uZmxvYXRfc3RhdGUsIGZwX3B0ciwKKyAgICAgICAgICAgIHNpemVvZihnX2NyYXNoX2NvbnRl eHRfLmZsb2F0X3N0YXRlKSk7CisgICB9CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQor KyAgLy8gT24gUFBDNjQsIHdlIG11c3QgY29weSBWUiBzdGF0ZQorKyAgdWNvbnRleHRfdCogdWNf cHRyID0gKHVjb250ZXh0X3QqKXVjOworKyAgaWYgKHVjX3B0ci0+dWNfbWNvbnRleHQudl9yZWdz KSB7CisrICAgIG1lbWNweSgmZ19jcmFzaF9jb250ZXh0Xy52ZWN0b3Jfc3RhdGUsIHVjX3B0ci0+ dWNfbWNvbnRleHQudl9yZWdzLAorKyAgICAgICAgICAgc2l6ZW9mKGdfY3Jhc2hfY29udGV4dF8u dmVjdG9yX3N0YXRlKSk7CisrICB9CisgI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAh ZGVmaW5lZChfX21pcHNfXykKKyAgIC8vIEZQIHN0YXRlIGlzIG5vdCBwYXJ0IG9mIHVzZXIgQUJJ IG9uIEFSTSBMaW51eC4KKy0gIC8vIEluIGNhc2Ugb2YgTUlQUyBMaW51eCBGUCBzdGF0ZSBpcyBh bHJlYWR5IHBhcnQgb2YgdWNvbnRleHRfdAorKyAgLy8gSW4gY2FzZSBvZiBNSVBTLCBMaW51eCBG UCBzdGF0ZSBpcyBhbHJlYWR5IHBhcnQgb2YgdWNvbnRleHRfdAorICAgLy8gYW5kICdmbG9hdF9z dGF0ZScgaXMgbm90IGEgbWVtYmVyIG9mIENyYXNoQ29udGV4dC4KKyAgIHVjb250ZXh0X3QqIHVj X3B0ciA9ICh1Y29udGV4dF90Kil1YzsKKyAgIGlmICh1Y19wdHItPnVjX21jb250ZXh0LmZwcmVn cykgeworQEAgLTcwOCwxMSArNzIyLDE5IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVN aW5pZHVtcCgpIHsKKyAgIH0KKyAjZW5kaWYKKyAKKy0jaWYgIWRlZmluZWQoX19BUk1fRUFCSV9f KSAmJiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisrI2lmICFk ZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVk KF9fbWlwc19fKSBcCisrICAgICYmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAvLyBGUFUg c3RhdGUgaXMgbm90IHBhcnQgb2YgQVJNIEVBQkkgdWNvbnRleHRfdC4KKyAgIG1lbWNweSgmY29u dGV4dC5mbG9hdF9zdGF0ZSwgY29udGV4dC5jb250ZXh0LnVjX21jb250ZXh0LmZwcmVncywKKyAg ICAgICAgICBzaXplb2YoY29udGV4dC5mbG9hdF9zdGF0ZSkpOworICNlbmRpZgorKworKyNpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAvLyBWZWN0b3IgcmVnaXN0ZXJzIG11c3QgYmUgY29w aWVkIG9uIFBQQzY0CisrICBtZW1jcHkoJmNvbnRleHQudmVjdG9yX3N0YXRlLCBjb250ZXh0LmNv bnRleHQudWNfbWNvbnRleHQudl9yZWdzLAorKyAgICAgICAgIHNpemVvZihjb250ZXh0LnZlY3Rv cl9zdGF0ZSkpOworKyNlbmRpZgorKworICAgY29udGV4dC50aWQgPSBzeXNfZ2V0dGlkKCk7Cisg CisgICAvLyBBZGQgYW4gZXhjZXB0aW9uIHN0cmVhbSB0byB0aGUgbWluaWR1bXAgZm9yIGJldHRl ciByZXBvcnRpbmcuCitAQCAtNzMzLDYgKzc1NSw5IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6 V3JpdGVNaW5pZHVtcCgpIHsKKyAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQorICAgY29udGV4dC5z aWdpbmZvLnNpX2FkZHIgPQorICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGNvbnRleHQu Y29udGV4dC51Y19tY29udGV4dC5wYyk7CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQor KyAgY29udGV4dC5zaWdpbmZvLnNpX2FkZHIgPQorKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9p ZCo+KGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC5ncF9yZWdzW1BUX05JUF0pOworICNlbHNl CisgI2Vycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3Jt IHlldC4iCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5k bGVyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaAorQEAg LTE5Miw3ICsxOTIsMTEgQEAgY2xhc3MgRXhjZXB0aW9uSGFuZGxlciB7CisgICAgIHNpZ2luZm9f dCBzaWdpbmZvOworICAgICBwaWRfdCB0aWQ7ICAvLyB0aGUgY3Jhc2hpbmcgdGhyZWFkLgorICAg ICB1Y29udGV4dF90IGNvbnRleHQ7CistI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRl ZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgLy8gUFBD NjQncyBGUCBzdGF0ZSBpcyBhIHBhcnQgb2YgdWNvbnRleHRfdCBsaWtlIE1JUFMgYnV0IHRoZSB2 ZWN0b3IKKysgICAgLy8gc3RhdGUgaXMgbm90LCBzbyBhIHN0cnVjdCBpcyBuZWVkZWQuCisrICAg IHZzdGF0ZV90IHZlY3Rvcl9zdGF0ZTsKKysjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYm ICFkZWZpbmVkKF9fbWlwc19fKQorICAgICAvLyAjaWZkZWYgdGhpcyBvdXQgYmVjYXVzZSBGUCBz dGF0ZSBpcyBub3QgcGFydCBvZiB1c2VyIEFCSSBmb3IgTGludXggQVJNLgorICAgICAvLyBJbiBj YXNlIG9mIE1JUFMgTGludXggRlAgc3RhdGUgaXMgYWxyZWFkeSBwYXJ0IG9mIHVjb250ZXh0X3Qg c28KKyAgICAgLy8gJ2Zsb2F0X3N0YXRlJyBpcyBub3QgcmVxdWlyZWQuCistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjCitAQCAtMzA3LDcgKzMw Nyw3IEBAIFRFU1QoRXhjZXB0aW9uSGFuZGxlclRlc3QsIFBhcmFsbGVsQ2hpbGQKKyAgIH0KKyAK KyAgIC8vIFdhaXQgYSB3aGlsZSB1bnRpbCB0aGUgY2hpbGQgc2hvdWxkIGhhdmUgY3Jhc2hlZC4K Ky0gIHVzbGVlcCgxMDAwMDAwKTsKKysgIHVzbGVlcCgyMDAwMDAwKTsKKyAgIC8vIEtpbGwgdGhl IGNoaWxkIGlmIGl0IGlzIHN0aWxsIHJ1bm5pbmcuCisgICBraWxsKGNoaWxkLCBTSUdLSUxMKTsK KyAKK0BAIC01NTksNiArNTU5LDggQEAgY29uc3QgdW5zaWduZWQgY2hhciBrSWxsZWdhbEluc3Ry dWN0aW9uWworICNpZiBkZWZpbmVkKF9fbWlwc19fKQorICAgLy8gbWZjMiB6ZXJvLEltcGwgLSB1 c3VhbGx5IGlsbGVnYWwgaW4gdXNlcnNwYWNlLgorICAgMHg0OCwgMHgwMCwgMHgwMCwgMHg0OAor KyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIDB4MDEsIDB4MDEsIDB4MDEsIDB4MDEg Ly8gQ3Jhc2hlcyBvbiBhIHRlc3RlZCBQT1dFUjkgY3B1CisgI2Vsc2UKKyAgIC8vIFRoaXMgY3Jh c2hlcyB3aXRoIFNJR0lMTCBvbiB4ODYveDg2LTY0L2FybS4KKyAgIDB4ZmYsIDB4ZmYsIDB4ZmYs IDB4ZmYKK0BAIC03NTQsMTAgKzc1NiwxMCBAQCBURVNUKEV4Y2VwdGlvbkhhbmRsZXJUZXN0LCBJ bnN0cnVjdGlvblBvCisgCisgICAvLyBUaGVzZSBhcmUgZGVmaW5lZCBoZXJlIHNvIHRoZSBwYXJl bnQgY2FuIHVzZSB0aGVtIHRvIGNoZWNrIHRoZQorICAgLy8gZGF0YSBmcm9tIHRoZSBtaW5pZHVt cCBhZnRlcndhcmRzLgorLSAgLy8gVXNlIDRrIGhlcmUgYmVjYXVzZSB0aGUgT1Mgd2lsbCBoYW5k IG91dCBhIHNpbmdsZSBwYWdlIGV2ZW4KKysgIC8vIFVzZSB0aGUgcGFnZSBzaXplIGhlcmUgYmVj YXVzZSB0aGUgT1Mgd2lsbCBoYW5kIG91dCBhIHNpbmdsZSBwYWdlIGV2ZW4KKyAgIC8vIGlmIGEg c21hbGxlciBzaXplIGlzIHJlcXVlc3RlZCwgYW5kIHRoaXMgdGVzdCB3YW50cyB0bworICAgLy8g dGVzdCB0aGUgdXBwZXIgYm91bmQgb2YgdGhlIG1lbW9yeSByYW5nZS4KKy0gIGNvbnN0IHVpbnQz Ml90IGtNZW1vcnlTaXplID0gNDA5NjsgIC8vIGJ5dGVzCisrICBjb25zdCB1aW50MzJfdCBrTWVt b3J5U2l6ZSA9IGdldHBhZ2VzaXplKCk7ICAvLyBieXRlcworICAgY29uc3QgaW50IGtPZmZzZXQg PSBrTWVtb3J5U2l6ZSAtIHNpemVvZihrSWxsZWdhbEluc3RydWN0aW9uKTsKKyAKKyAgIGNvbnN0 IHBpZF90IGNoaWxkID0gZm9yaygpOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRl ci9taWNyb2R1bXBfd3JpdGVyLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVy L21pY3JvZHVtcF93cml0ZXIuY2MKK0BAIC0xMzgsNyArMTM4LDkgQEAgY2xhc3MgTWljcm9kdW1w V3JpdGVyIHsKKyAgICAgICAgICAgICAgICAgICBjb25zdCBNaWNyb2R1bXBFeHRyYUluZm8mIG1p Y3JvZHVtcF9leHRyYV9pbmZvLAorICAgICAgICAgICAgICAgICAgIExpbnV4RHVtcGVyKiBkdW1w ZXIpCisgICAgICAgOiB1Y29udGV4dF8oY29udGV4dCA/ICZjb250ZXh0LT5jb250ZXh0IDogTlVM TCksCistI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisr I2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgICAgIHZlY3Rvcl9zdGF0ZV8oY29udGV4 dCA/ICZjb250ZXh0LT52ZWN0b3Jfc3RhdGUgOiBOVUxMKSwKKysjZWxpZiAhZGVmaW5lZChfX0FS TV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorICAgICAgICAgZmxvYXRfc3RhdGVfKGNv bnRleHQgPyAmY29udGV4dC0+ZmxvYXRfc3RhdGUgOiBOVUxMKSwKKyAjZW5kaWYKKyAgICAgICAg IGR1bXBlcl8oZHVtcGVyKSwKK0BAIC0zMzcsNiArMzM5LDggQEAgY2xhc3MgTWljcm9kdW1wV3Jp dGVyIHsKKyAjIGVsc2UKKyAjICBlcnJvciAiVGhpcyBtaXBzIEFCSSBpcyBjdXJyZW50bHkgbm90 IHN1cHBvcnRlZCAobjMyKSIKKyAjZW5kaWYKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisrICAgIGNvbnN0IGNoYXIga0FyY2hbXSA9ICJwcGM2NCI7CisgI2Vsc2UKKyAjZXJyb3IgIlRo aXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0IgorICNlbmRp ZgorQEAgLTQwOSw3ICs0MTMsOSBAQCBjbGFzcyBNaWNyb2R1bXBXcml0ZXIgeworICAgdm9pZCBE dW1wQ1BVU3RhdGUoKSB7CisgICAgIFJhd0NvbnRleHRDUFUgY3B1OworICAgICBteV9tZW1zZXQo JmNwdSwgMCwgc2l6ZW9mKFJhd0NvbnRleHRDUFUpKTsKKy0jaWYgIWRlZmluZWQoX19BUk1fRUFC SV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQor KyAgICBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoJmNwdSwgdWNvbnRleHRfLCB2ZWN0 b3Jfc3RhdGVfKTsKKysjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9f bWlwc19fKQorICAgICBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoJmNwdSwgdWNvbnRl eHRfLCBmbG9hdF9zdGF0ZV8pOworICNlbHNlCisgICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BV Q29udGV4dCgmY3B1LCB1Y29udGV4dF8pOworQEAgLTYwNSw3ICs2MTEsOSBAQCBjbGFzcyBNaWNy b2R1bXBXcml0ZXIgeworICAgdm9pZCogQWxsb2ModW5zaWduZWQgYnl0ZXMpIHsgcmV0dXJuIGR1 bXBlcl8tPmFsbG9jYXRvcigpLT5BbGxvYyhieXRlcyk7IH0KKyAKKyAgIGNvbnN0IHVjb250ZXh0 X3QqIGNvbnN0IHVjb250ZXh0XzsKKy0jaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVm aW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgY29uc3QgZ29v Z2xlX2JyZWFrcGFkOjp2c3RhdGVfdCogY29uc3QgdmVjdG9yX3N0YXRlXzsKKysjZWxpZiAhZGVm aW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorICAgY29uc3QgZ29vZ2xl X2JyZWFrcGFkOjpmcHN0YXRlX3QqIGNvbnN0IGZsb2F0X3N0YXRlXzsKKyAjZW5kaWYKKyAgIExp bnV4RHVtcGVyKiBkdW1wZXJfOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9t aWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBf d3JpdGVyL21pY3JvZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKK0BAIC0yNzksMTAgKzI3OSwxOSBA QCBURVNUKE1pY3JvZHVtcFdyaXRlclRlc3QsIEJhc2ljV2l0aE1hcHBpCisgICBDcmFzaEFuZEdl dE1pY3JvZHVtcChtYXBwaW5ncywgTWljcm9kdW1wRXh0cmFJbmZvKCksICZidWYpOworICAgQVNT RVJUX1RSVUUoQ29udGFpbnNNaWNyb2R1bXAoYnVmKSk7CisgCisrICBpbnQgcGFnZV9zaXplID0g Z2V0cGFnZXNpemUoKTsKKyAjaWZkZWYgX19MUDY0X18KKy0gIEFTU0VSVF9ORShzdGQ6OnN0cmlu Zzo6bnBvcywKKy0gICAgICAgICAgICBidWYuZmluZCgiTSAwMDAwMDAwMDAwMDAxMDAwIDAwMDAw MDAwMDAwMDAwMkEgMDAwMDAwMDAwMDAwMTAwMCAiCistICAgICAgICAgICAgICAgICAgICAgIjMz MjIxMTAwNTU0NDc3NjY4ODk5QUFCQkNDRERFRUZGMCBsaWJmb28uc28iKSk7CisrICAvLyBUaGlz IHRlc3QgaXMgb25seSBhdmFpbGFibGUgZm9yIHRoZSBmb2xsb3dpbmcgcGFnZSBzaXplcworKyAg QVNTRVJUX1RSVUUoKHBhZ2Vfc2l6ZSA9PSA0MDk2KSB8fCAocGFnZV9zaXplID09IDY1NTM2KSk7 CisrICBpZiAocGFnZV9zaXplID09IDQwOTYpIHsKKysgICAgQVNTRVJUX05FKHN0ZDo6c3RyaW5n OjpucG9zLAorKyAgICAgICAgICAgICAgYnVmLmZpbmQoIk0gMDAwMDAwMDAwMDAwMTAwMCAwMDAw MDAwMDAwMDAwMDJBIDAwMDAwMDAwMDAwMDEwMDAgIgorKyAgICAgICAgICAgICAgICAgICAgICAg IjMzMjIxMTAwNTU0NDc3NjY4ODk5QUFCQkNDRERFRUZGMCBsaWJmb28uc28iKSk7CisrICB9IGVs c2UgeworKyAgICBBU1NFUlRfTkUoc3RkOjpzdHJpbmc6Om5wb3MsCisrICAgICAgICAgICAgICBi dWYuZmluZCgiTSAwMDAwMDAwMDAwMDEwMDAwIDAwMDAwMDAwMDAwMDAwMkEgMDAwMDAwMDAwMDAx MDAwMCAiCisrICAgICAgICAgICAgICAgICAgICAgICAiMzMyMjExMDA1NTQ0Nzc2Njg4OTlBQUJC Q0NEREVFRkYwIGxpYmZvby5zbyIpKTsKKysgIH0KKyAjZWxzZQorICAgQVNTRVJUX05FKHN0ZDo6 c3RyaW5nOjpucG9zLAorICAgICAgICAgICAgIGJ1Zi5maW5kKCJNIDAwMDAxMDAwIDAwMDAwMDJB IDAwMDAxMDAwICIKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3Jl X2R1bXBlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVf ZHVtcGVyLmNjCitAQCAtMTE3LDYgKzExNyw5IEBAIGJvb2wgTGludXhDb3JlRHVtcGVyOjpHZXRU aHJlYWRJbmZvQnlJbmQKKyAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQorICAgc3RhY2tfcG9pbnRl ciA9CisgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oaW5mby0+bWNvbnRleHQuZ3Jl Z3NbTURfQ09OVEVYVF9NSVBTX1JFR19TUF0pOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKKysgIHN0YWNrX3BvaW50ZXIgPQorKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+ KGluZm8tPm1jb250ZXh0LmdwX3JlZ3NbTURfQ09OVEVYVF9QUEM2NF9SRUdfU1BdKTsKKyAjZWxz ZQorICNlcnJvciAiVGhpcyBjb2RlIGhhc24ndCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3Jt IHlldC4iCisgI2VuZGlmCitAQCAtMjEyLDcgKzIxNSwxMCBAQCBib29sIExpbnV4Q29yZUR1bXBl cjo6RW51bWVyYXRlVGhyZWFkcygpCisgICAgICAgICBtZW1zZXQoJmluZm8sIDAsIHNpemVvZihU aHJlYWRJbmZvKSk7CisgICAgICAgICBpbmZvLnRnaWQgPSBzdGF0dXMtPnByX3BncnA7CisgICAg ICAgICBpbmZvLnBwaWQgPSBzdGF0dXMtPnByX3BwaWQ7CistI2lmIGRlZmluZWQoX19taXBzX18p CisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgICAgIGZvciAoaW50IGkgPSAwOyBp IDwgMzE7IGkrKykKKysgICAgICAgICAgICBpbmZvLm1jb250ZXh0LmdwX3JlZ3NbaV0gPSBzdGF0 dXMtPnByX3JlZ1tpXTsKKysjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQorICNpZiBkZWZpbmVkKF9f QU5EUk9JRF9fKQorICAgICAgICAgZm9yIChpbnQgaSA9IEVGX1IwOyBpIDw9IEVGX1IzMTsgaSsr KQorICAgICAgICAgICBpbmZvLm1jb250ZXh0LmdyZWdzW2kgLSBFRl9SMF0gPSBzdGF0dXMtPnBy X3JlZ1tpXTsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIu Y2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuY2MKK0BA IC03NjUsNyArNzY1LDkgQEAgYm9vbCBMaW51eER1bXBlcjo6R2V0U3RhY2tJbmZvKGNvbnN0IHZv aQorICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGludF9zdGFja19wb2ludGVyICYg fihwYWdlX3NpemUgLSAxKSk7CisgCisgICAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIG9mIHN0YWNr IHdoaWNoIHdlIHRyeSB0byBjYXB0dXJlLgorLSAgc3RhdGljIGNvbnN0IHB0cmRpZmZfdCBrU3Rh Y2tUb0NhcHR1cmUgPSAzMiAqIDEwMjQ7CisrICAvLyBUaGlzIG5vdyBkZXBlbmRzIG9uIHBhZ2Vf c2l6ZSB0byBhdm9pZCBtaXNzaW5nIGRhdGEKKysgIC8vIG9uIHN5c3RlbXMgd2l0aCBsYXJnZXIg cGFnZSBzaXplcy4KKysgIHN0YXRpYyBjb25zdCBwdHJkaWZmX3Qga1N0YWNrVG9DYXB0dXJlID0g OCAqIHBhZ2Vfc2l6ZTsKKyAKKyAgIGNvbnN0IE1hcHBpbmdJbmZvKiBtYXBwaW5nID0gRmluZE1h cHBpbmcoc3RhY2tfcG9pbnRlcik7CisgICBpZiAoIW1hcHBpbmcpCistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlk dW1wX3dyaXRlci9saW51eF9kdW1wZXIuaAorQEAgLTYzLDcgKzYzLDggQEAgbmFtZXNwYWNlIGdv b2dsZV9icmVha3BhZCB7CisgIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0gPT0gX0FC SU8zMikKKyB0eXBlZGVmIEVsZjMyX2F1eHZfdCBlbGZfYXV4X2VudHJ5OworICNlbGlmIGRlZmlu ZWQoX194ODZfNjQpIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IFwKKy0gICAgIChkZWZpbmVk KF9fbWlwc19fKSAmJiBfTUlQU19TSU0gIT0gX0FCSU8zMikKKysgICAgIChkZWZpbmVkKF9fbWlw c19fKSAmJiBfTUlQU19TSU0gIT0gX0FCSU8zMikgfHwgXAorKyAgICAgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQorIHR5cGVkZWYgRWxmNjRfYXV4dl90IGVsZl9hdXhfZW50cnk7CisgI2VuZGlmCisg CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyX3VuaXR0ZXN0 X2hlbHBlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBl cl91bml0dGVzdF9oZWxwZXIuY2MKK0BAIC01MSw2ICs1MSw4IEBACisgI2RlZmluZSBUSURfUFRS X1JFR0lTVEVSICJyY3giCisgI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKyAjZGVmaW5lIFRJRF9Q VFJfUkVHSVNURVIgIiQxIgorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysjZGVmaW5l IFRJRF9QVFJfUkVHSVNURVIgInI4IgorICNlbHNlCisgI2Vycm9yIFRoaXMgdGVzdCBoYXMgbm90 IGJlZW4gcG9ydGVkIHRvIHRoaXMgcGxhdGZvcm0uCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5jYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MKK0BAIC0xNTQsMTkgKzE1 NCwyNyBAQCBib29sIExpbnV4UHRyYWNlRHVtcGVyOjpDb3B5RnJvbVByb2Nlc3MoCisgICByZXR1 cm4gdHJ1ZTsKKyB9CisgCistYm9vbCBMaW51eFB0cmFjZUR1bXBlcjo6UmVhZFJlZ2lzdGVyU2V0 KFRocmVhZEluZm8qIGluZm8sIHBpZF90IHRpZCkKKy17CisrYm9vbCBMaW51eFB0cmFjZUR1bXBl cjo6UmVhZFJlZ2lzdGVyU2V0KFRocmVhZEluZm8qIGluZm8sIHBpZF90IHRpZCkgeworICNpZmRl ZiBQVFJBQ0VfR0VUUkVHU0VUCisgICBzdHJ1Y3QgaW92ZWMgaW87CisgICBpbmZvLT5HZXRHZW5l cmFsUHVycG9zZVJlZ2lzdGVycygmaW8uaW92X2Jhc2UsICZpby5pb3ZfbGVuKTsKKy0gIGlmIChz eXNfcHRyYWNlKFBUUkFDRV9HRVRSRUdTRVQsIHRpZCwgKHZvaWQqKU5UX1BSU1RBVFVTLCAodm9p ZCopJmlvKSA9PSAtMSkgeworKyAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2 b2lkKilOVF9QUlNUQVRVUywgKHZvaWQqKSZpbykgPT0gLTEpIHsKKyAgICAgcmV0dXJuIGZhbHNl OworICAgfQorIAorICAgaW5mby0+R2V0RmxvYXRpbmdQb2ludFJlZ2lzdGVycygmaW8uaW92X2Jh c2UsICZpby5pb3ZfbGVuKTsKKy0gIGlmIChzeXNfcHRyYWNlKFBUUkFDRV9HRVRSRUdTRVQsIHRp ZCwgKHZvaWQqKU5UX0ZQUkVHU0VULCAodm9pZCopJmlvKSA9PSAtMSkgeworKyAgaWYgKHB0cmFj ZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2b2lkKilOVF9GUFJFR1NFVCwgKHZvaWQqKSZpbykg PT0gLTEpIHsKKyAgICAgcmV0dXJuIGZhbHNlOworICAgfQorKworKyNpZiBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCisrICAvLyBHcmFiIHRoZSB2ZWN0b3IgcmVnaXN0ZXJzIG9uIFBQQzY0IHRvbwor KyAgaW5mby0+R2V0VmVjdG9yUmVnaXN0ZXJzKCZpby5pb3ZfYmFzZSwgJmlvLmlvdl9sZW4pOwor KyAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2b2lkKilOVF9QUENfVk1YLCAo dm9pZCopJmlvKSA9PSAtMSkgeworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrI2VuZGlmIC8v IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysKKyAgIHJldHVybiB0cnVlOworICNlbHNlCisgICBy ZXR1cm4gZmFsc2U7CitAQCAtMzAzLDYgKzMxMSw5IEBAIGJvb2wgTGludXhQdHJhY2VEdW1wZXI6 OkdldFRocmVhZEluZm9CeUkKKyAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQorICAgc3RhY2tfcG9p bnRlciA9CisgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oaW5mby0+bWNvbnRleHQu Z3JlZ3NbTURfQ09OVEVYVF9NSVBTX1JFR19TUF0pOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBj NjRfXykKKysgIHN0YWNrX3BvaW50ZXIgPQorKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhf dCo+KGluZm8tPm1jb250ZXh0LmdwX3JlZ3NbTURfQ09OVEVYVF9QUEM2NF9SRUdfU1BdKTsKKyAj ZWxzZQorICNlcnJvciAiVGhpcyBjb2RlIGhhc24ndCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRm b3JtIHlldC4iCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGlu dXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBf d3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXJfdW5pdHRlc3QuY2MKK0BAIC00NjIsNiArNDYyLDkg QEAgVEVTVChMaW51eFB0cmFjZUR1bXBlclRlc3QsIFZlcmlmeVN0YWNrUgorICNlbGlmIGRlZmlu ZWQoX19taXBzX18pCisgICAgIHBpZF90KiBwcm9jZXNzX3RpZF9sb2NhdGlvbiA9CisgICAgICAg ICByZWludGVycHJldF9jYXN0PHBpZF90Kj4ob25lX3RocmVhZC5tY29udGV4dC5ncmVnc1sxXSk7 CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgICBwaWRfdCogcHJvY2Vzc190aWRf bG9jYXRpb24gPQorKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxwaWRfdCo+KG9uZV90aHJlYWQu bWNvbnRleHQuZ3BfcmVnc1s4XSk7CisgI2Vsc2UKKyAjZXJyb3IgVGhpcyB0ZXN0IGhhcyBub3Qg YmVlbiBwb3J0ZWQgdG8gdGhpcyBwbGF0Zm9ybS4KKyAjZW5kaWYKK0BAIC01NTksNiArNTYyLDgg QEAgVEVTVF9GKExpbnV4UHRyYWNlRHVtcGVyVGVzdCwgU2FuaXRpemVTdAorICAgdWludHB0cl90 IGhlYXBfYWRkciA9IHRocmVhZF9pbmZvLnJlZ3MucmN4OworICNlbGlmIGRlZmluZWQoX19taXBz X18pCisgICB1aW50cHRyX3QgaGVhcF9hZGRyID0gdGhyZWFkX2luZm8ubWNvbnRleHQuZ3JlZ3Nb MV07CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgdWludHB0cl90IGhlYXBfYWRk ciA9IHRocmVhZF9pbmZvLm1jb250ZXh0LmdwX3JlZ3NbOF07CisgI2Vsc2UKKyAjZXJyb3IgVGhp cyB0ZXN0IGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8gdGhpcyBwbGF0Zm9ybS4KKyAjZW5kaWYKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MKK0BAIC0xMzYs NyArMTM2LDkgQEAgY2xhc3MgTWluaWR1bXBXcml0ZXIgeworICAgICAgIDogZmRfKG1pbmlkdW1w X2ZkKSwKKyAgICAgICAgIHBhdGhfKG1pbmlkdW1wX3BhdGgpLAorICAgICAgICAgdWNvbnRleHRf KGNvbnRleHQgPyAmY29udGV4dC0+Y29udGV4dCA6IE5VTEwpLAorLSNpZiAhZGVmaW5lZChfX0FS TV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCisrICAgICAgICB2ZWN0b3Jfc3RhdGVfKGNvbnRleHQgPyAmY29udGV4dC0+dmVjdG9yX3N0 YXRlIDogTlVMTCksCisrI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChf X21pcHNfXykKKyAgICAgICAgIGZsb2F0X3N0YXRlXyhjb250ZXh0ID8gJmNvbnRleHQtPmZsb2F0 X3N0YXRlIDogTlVMTCksCisgI2VuZGlmCisgICAgICAgICBkdW1wZXJfKGR1bXBlciksCitAQCAt NDY4LDcgKzQ3MCw5IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsKKyAgICAgICAgIGlmICghY3B1 LkFsbG9jYXRlKCkpCisgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgIG15X21lbXNl dChjcHUuZ2V0KCksIDAsIHNpemVvZihSYXdDb250ZXh0Q1BVKSk7CistI2lmICFkZWZpbmVkKF9f QVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBj NjRfXykKKysgICAgICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChjcHUuZ2V0KCks IHVjb250ZXh0XywgdmVjdG9yX3N0YXRlXyk7CisrI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9f KSAmJiAhZGVmaW5lZChfX21pcHNfXykKKyAgICAgICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BV Q29udGV4dChjcHUuZ2V0KCksIHVjb250ZXh0XywgZmxvYXRfc3RhdGVfKTsKKyAjZWxzZQorICAg ICAgICAgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KGNwdS5nZXQoKSwgdWNvbnRleHRf KTsKK0BAIC04OTcsNyArOTAxLDcgQEAgY2xhc3MgTWluaWR1bXBXcml0ZXIgeworICAgICBkaXJl bnQtPmxvY2F0aW9uLnJ2YSA9IDA7CisgICB9CisgCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8 IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICBib29sIFdyaXRlQ1BVSW5mb3JtYXRpb24oTURSYXdT eXN0ZW1JbmZvKiBzeXNfaW5mbykgeworICAgICBjaGFyIHZlbmRvcl9pZFtzaXplb2Yoc3lzX2lu Zm8tPmNwdS54ODZfY3B1X2luZm8udmVuZG9yX2lkKSArIDFdID0gezB9OworICAgICBzdGF0aWMg Y29uc3QgY2hhciB2ZW5kb3JfaWRfbmFtZVtdID0gInZlbmRvcl9pZCI7CitAQCAtOTE3LDcgKzky MSw5IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsKKyAKKyAgICAgLy8gcHJvY2Vzc29yX2FyY2hp dGVjdHVyZSBzaG91bGQgYWx3YXlzIGJlIHNldCwgZG8gdGhpcyBmaXJzdAorICAgICBzeXNfaW5m by0+cHJvY2Vzc29yX2FyY2hpdGVjdHVyZSA9CistI2lmIGRlZmluZWQoX19taXBzX18pCisrI2lm IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgICAgIE1EX0NQVV9BUkNISVRFQ1RVUkVfUFBD NjQ7CisrI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKyAjIGlmIF9NSVBTX1NJTSA9PSBfQUJJTzMy CisgICAgICAgICBNRF9DUFVfQVJDSElURUNUVVJFX01JUFM7CisgIyBlbGlmIF9NSVBTX1NJTSA9 PSBfQUJJNjQKK0BAIC0xMzMzLDcgKzEzMzksOSBAQCBjbGFzcyBNaW5pZHVtcFdyaXRlciB7Cisg ICBjb25zdCBjaGFyKiBwYXRoXzsgIC8vIFBhdGggdG8gdGhlIGZpbGUgd2hlcmUgdGhlIG1pbmlk dW0gc2hvdWxkIGJlIHdyaXR0ZW4uCisgCisgICBjb25zdCB1Y29udGV4dF90KiBjb25zdCB1Y29u dGV4dF87ICAvLyBhbHNvIGZyb20gdGhlIHNpZ25hbCBoYW5kbGVyCistI2lmICFkZWZpbmVkKF9f QVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBj NjRfXykKKysgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6dnN0YXRlX3QqIGNvbnN0IHZlY3Rvcl9z dGF0ZV87CisrI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNf XykKKyAgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6ZnBzdGF0ZV90KiBjb25zdCBmbG9hdF9zdGF0 ZV87ICAvLyBkaXR0bworICNlbmRpZgorICAgTGludXhEdW1wZXIqIGR1bXBlcl87CistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmgKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAorQEAgLTQ4LDYgKzQ4LDgg QEAgY2xhc3MgRXhjZXB0aW9uSGFuZGxlcjsKKyAKKyAjaWYgZGVmaW5lZChfX2FhcmNoNjRfXykK KyB0eXBlZGVmIHN0cnVjdCBmcHNpbWRfY29udGV4dCBmcHN0YXRlX3Q7CisrI2VsaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQorK3R5cGVkZWYgdnJyZWdzZXRfdCB2c3RhdGVfdDsKKyAjZWxpZiAh ZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorIHR5cGVkZWYgc3Rk OjpyZW1vdmVfcG9pbnRlcjxmcHJlZ3NldF90Pjo6dHlwZSBmcHN0YXRlX3Q7CisgI2VuZGlmCist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0 LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyX3Vu aXR0ZXN0LmNjCitAQCAtNzE1LDYgKzcxNSwxMiBAQCBURVNUKE1pbmlkdW1wV3JpdGVyVGVzdCwg SW52YWxpZFN0YWNrUG9pCisgI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKyAgIGNvbnRleHQuY29u dGV4dC51Y19tY29udGV4dC5ncmVnc1tNRF9DT05URVhUX01JUFNfUkVHX1NQXSA9CisgICAgICAg aW52YWxpZF9zdGFja19wb2ludGVyOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysg IGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRfUkVH X1NQXSA9CisrICAgICAgaW52YWxpZF9zdGFja19wb2ludGVyOworKyNlbGlmIGRlZmluZWQoX19w b3dlcnBjNjRfXykKKysgIGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC5ncF9yZWdzW01EX0NP TlRFWFRfUFBDNjRfUkVHX1NQXSA9CisrICAgICAgaW52YWxpZF9zdGFja19wb2ludGVyOworICNl bHNlCisgIyBlcnJvciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0 Zm9ybSB5ZXQuIgorICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxl LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGUuY2MKK0BAIC02NSw4ICs2 NSw3IEBAIGJvb2wgTWVtb3J5TWFwcGVkRmlsZTo6TWFwKGNvbnN0IGNoYXIqIHAKKyAgIH0KKyAK KyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCist ICAgKGRlZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSA9PSBfQUJJNjQpCistCisrICAgKGRl ZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSA9PSBfQUJJNjQpIHx8IGRlZmluZWQoX19wb3dl cnBjNjRfXykKKyAgIHN0cnVjdCBrZXJuZWxfc3RhdCBzdDsKKyAgIGlmIChzeXNfZnN0YXQoZmQs ICZzdCkgPT0gLTEgfHwgc3Quc3Rfc2l6ZSA8IDApIHsKKyAjZWxzZQorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGlu dXgvbWVtb3J5X21hcHBlZF9maWxlX3VuaXR0ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1v cnlfbWFwcGVkX2ZpbGVfdW5pdHRlc3QuY2MKK0BAIC0xNzYsOSArMTc2LDEwIEBAIFRFU1RfRihN ZW1vcnlNYXBwZWRGaWxlVGVzdCwgUmVtYXBBZnRlck0KKyBURVNUX0YoTWVtb3J5TWFwcGVkRmls ZVRlc3QsIE1hcFdpdGhPZmZzZXQpIHsKKyAgIC8vIFB1dCBtb3JlIGRhdGEgaW4gdGhlIHRlc3Qg ZmlsZSB0aGlzIHRpbWUuIE9mZnNldHMgY2FuIG9ubHkgYmUKKyAgIC8vIGRvbmUgb24gcGFnZSBi b3VuZGFyaWVzLCBzbyB3ZSBuZWVkIGEgdHdvIHBhZ2UgZmlsZSB0byB0ZXN0IHRoaXMuCistICBj b25zdCBpbnQgcGFnZV9zaXplID0gNDA5NjsKKy0gIGNoYXIgZGF0YTFbMiAqIHBhZ2Vfc2l6ZV07 CistICBzaXplX3QgZGF0YTFfc2l6ZSA9IHNpemVvZihkYXRhMSk7CisrICBjb25zdCBpbnQgcGFn ZV9zaXplID0gZ2V0cGFnZXNpemUoKTsKKysgIGNoYXIgKmRhdGExID0gc3RhdGljX2Nhc3Q8Y2hh cio+KG1hbGxvYygyICogcGFnZV9zaXplKSk7CisrICBFWFBFQ1RfVFJVRShkYXRhMSAhPSBOVUxM KTsKKysgIHNpemVfdCBkYXRhMV9zaXplID0gKDIgKiBwYWdlX3NpemUpOworICAgZm9yIChzaXpl X3QgaSA9IDA7IGkgPCBkYXRhMV9zaXplOyArK2kpIHsKKyAgICAgZGF0YTFbaV0gPSBpICYgMHg3 ZjsKKyAgIH0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY29tbW9uL21lbW9yeV9hbGxvY2F0b3JfdW5pdHRlc3QuY2MKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y29tbW9uL21lbW9yeV9hbGxvY2F0b3JfdW5pdHRlc3QuY2MKK0BAIC01Nyw4ICs1Nyw5IEBAIFRF U1QoUGFnZUFsbG9jYXRvclRlc3QsIExhcmdlT2JqZWN0KSB7CisgCisgICBFWFBFQ1RfRVEoMFUs IGFsbG9jYXRvci5wYWdlc19hbGxvY2F0ZWQoKSk7CisgICB1aW50OF90KiBwID0gcmVpbnRlcnBy ZXRfY2FzdDx1aW50OF90Kj4oYWxsb2NhdG9yLkFsbG9jKDEwMDAwKSk7CisrICB1aW50NjRfdCBl eHBlY3RlZF9wYWdlcyA9IDEgKyAoKDEwMDAwIC0gMSkgLyBnZXRwYWdlc2l6ZSgpKTsKKyAgIEFT U0VSVF9GQUxTRShwID09IE5VTEwpOworLSAgRVhQRUNUX0VRKDNVLCBhbGxvY2F0b3IucGFnZXNf YWxsb2NhdGVkKCkpOworKyAgRVhQRUNUX0VRKGV4cGVjdGVkX3BhZ2VzLCBhbGxvY2F0b3IucGFn ZXNfYWxsb2NhdGVkKCkpOworICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IDEwOyArK2kpIHsK KyAgICAgdWludDhfdCogcCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGFsbG9jYXRvci5B bGxvYyhpKSk7CisgICAgIEFTU0VSVF9GQUxTRShwID09IE5VTEwpOworLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9jZXNzb3Iv ZXhwbG9pdGFiaWxpdHlfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X2xp bnV4LmNjCitAQCAtMjAyLDEyICsyMDIsMTQgQEAgYm9vbCBFeHBsb2l0YWJpbGl0eUxpbnV4OjpF bmRlZE9uSWxsZWdhbAorICAgLy8gQ2hlY2sgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgYXJjaGl0ZWN0 dXJlIHZhcmlhYmxlIHRvIGNvcnJlc3BvbmRpbmcgZmxhZworICAgLy8gaW4gb2JqZHVtcC4KKyAg IHN3aXRjaCAoY29udGV4dC0+R2V0Q29udGV4dENQVSgpKSB7CisrI2lmIGRlZmluZWQoX19pMzg2 KSB8fCBkZWZpbmVkKF9feDg2XzY0KQorICAgICBjYXNlIE1EX0NPTlRFWFRfWDg2OgorICAgICAg IGFyY2hpdGVjdHVyZSA9ICJpMzg2IjsKKyAgICAgICBicmVhazsKKyAgICAgY2FzZSBNRF9DT05U RVhUX0FNRDY0OgorICAgICAgIGFyY2hpdGVjdHVyZSA9ICJpMzg2Ong4Ni02NCI7CisgICAgICAg YnJlYWs7CisrI2VuZGlmCisgICAgIGRlZmF1bHQ6CisgICAgICAgLy8gVW5zdXBwb3J0ZWQgYXJj aGl0ZWN0dXJlLiBOb3RlIHRoYXQgQVJNIGFyY2hpdGVjdHVyZXMgYXJlIG5vdAorICAgICAgIC8v IHN1cHBvcnRlZCBiZWNhdXNlIG9iamR1bXAgZG9lcyBub3Qgc3VwcG9ydCBBUk0uCistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3By b2Nlc3Nvci9leHBsb2l0YWJpbGl0eV91bml0dGVzdC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9p dGFiaWxpdHlfdW5pdHRlc3QuY2MKK0BAIC0xMDQsNiArMTA0LDggQEAgRXhwbG9pdGFiaWxpdHlG b3IoY29uc3Qgc3RyaW5nJiBmaWxlbmFtZQorIH0KKyAKKyBURVNUKEV4cGxvaXRhYmlsaXR5VGVz dCwgVGVzdFdpbmRvd3NFbmdpbmUpIHsKKysvLyBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSBvbmx5 IGV4ZWN1dGFibGUgb24gYW4geDg2LWNsYXNzIGxpbnV4IG1hY2hpbmUuCisrI2lmICFkZWZpbmVk KF9XSU4zMikgJiYgKGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9feDg2XzY0KSkKKyAgIEFT U0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0hJR0gsCisgICAgICAgICAg ICAgRXhwbG9pdGFiaWxpdHlGb3IoImFzY2lpX3JlYWRfYXYuZG1wIikpOworICAgQVNTRVJUX0VR KGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSElHSCwKK0BAIC0xMzYsOSArMTM4LDEy IEBAIFRFU1QoRXhwbG9pdGFiaWxpdHlUZXN0LCBUZXN0V2luZG93c0VuZ2kKKyAgICAgICAgICAg ICBFeHBsb2l0YWJpbGl0eUZvcigicmVhZF9hdl9jbG9iYmVyX3dyaXRlLmRtcCIpKTsKKyAgIEFT U0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0xPVywKKyAgICAgICAgICAg ICBFeHBsb2l0YWJpbGl0eUZvcigicmVhZF9hdl9jb25kaXRpb25hbC5kbXAiKSk7CisrI2VuZGlm CisgfQorIAorIFRFU1QoRXhwbG9pdGFiaWxpdHlUZXN0LCBUZXN0TGludXhFbmdpbmUpIHsKKysv LyBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSBvbmx5IGV4ZWN1dGFibGUgb24gYW4geDg2LWNsYXNz IGxpbnV4IG1hY2hpbmUuCisrI2lmIGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9feDg2XzY0 KQorICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSU5URVJFU1RJ TkcsCisgICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X251bGxfcmVhZF9hdi5k bXAiKSk7CisgICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdI LAorQEAgLTE3MSw3ICsxNzYsOCBAQCBURVNUKEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdExpbnV4 RW5naW5lCisgICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X2V4ZWN1dGFibGVf aGVhcC5kbXAiKSk7CisgICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElU WV9ISUdILAorICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF9qbXBfdG9fbW9k dWxlX25vdF9leGVfcmVnaW9uLmRtcCIpKTsKKy0jaWZuZGVmIF9XSU4zMgorKyNlbmRpZgorKyNp ZiAhZGVmaW5lZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82 NCkpCisgICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAor ICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF93cml0ZV90b19ub253cml0YWJs ZV9tb2R1bGUuZG1wIikpOworICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFC SUxJVFlfSElHSCwKK0BAIC0xODIsMTAgKzE4OCwxMCBAQCBURVNUKEV4cGxvaXRhYmlsaXR5VGVz dCwgVGVzdExpbnV4RW5naW5lCisgICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4 X3dyaXRlX3RvX291dHNpZGVfbW9kdWxlX3ZpYV9tYXRoLmRtcCIpKTsKKyAgIEFTU0VSVF9FUShn b29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0lOVEVSRVNUSU5HLAorICAgICAgICAgICAg IEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF93cml0ZV90b191bmRlcl80ay5kbXAiKSk7CistI2Vu ZGlmICAvLyBfV0lOMzIKKysjZW5kaWYgIC8vICFkZWZpbmVkKF9XSU4zMikgJiYgKCFkZWZpbmVk KF9faTM4NikgJiYgIWRlZmluZWQoX194ODZfNjQpKQorIH0KKyAKKy0jaWZuZGVmIF9XSU4zMgor KyNpZiAhZGVmaW5lZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4 Nl82NCkpCisgVEVTVChFeHBsb2l0YWJpbGl0eUxpbnV4VXRpbHNUZXN0LCBEaXNhc3NlbWJsZUJ5 dGVzVGVzdCkgeworICAgQVNTRVJUX0ZBTFNFKEV4cGxvaXRhYmlsaXR5TGludXhUZXN0OjpEaXNh c3NlbWJsZUJ5dGVzKCIiLCBOVUxMLCA1LCBOVUxMKSk7CisgICB1aW50OF90IGJ5dGVzWzZdID0g ezB4YzcsIDB4MCwgMHg1LCAweDAsIDB4MCwgMHgwfTsKK0BAIC0zMDEsNiArMzA3LDcgQEAgVEVT VChFeHBsb2l0YWJpbGl0eUxpbnV4VXRpbHNUZXN0LCBDYWxjdQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJndyaXRl X2FkZHJlc3MpKTsKKyB9CistI2VuZGlmICAvLyBfV0lOMzIKKysjZW5kaWYgIC8vICFkZWZpbmVk KF9XSU4zMikgJiYgKGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9feDg2XzY0KSkKKysKKyAK KyB9ICAvLyBuYW1lc3BhY2UKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvdG9vbHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNv cmUuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvdG9vbHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MKK0BAIC03 Nyw2ICs3Nyw4IEBACisgICAjZGVmaW5lIEVMRl9BUkNIICBFTV9NSVBTCisgI2VsaWYgZGVmaW5l ZChfX2FhcmNoNjRfXykKKyAgICNkZWZpbmUgRUxGX0FSQ0ggIEVNX0FBUkNINjQKKysjZWxpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAjZGVmaW5lIEVMRl9BUkNIICBFTV9QUEM2NAorICNl bmRpZgorIAorICNpZiBkZWZpbmVkKF9fYXJtX18pCitAQCAtODcsNiArODksOCBAQCB0eXBlZGVm IHVzZXJfcmVncyB1c2VyX3JlZ3Nfc3RydWN0OworICNlbGlmIGRlZmluZWQgKF9fbWlwc19fKQor IC8vIFRoaXMgZmlsZS1sb2NhbCB0eXBlZGVmIHNpbXBsaWZpZXMgdGhlIHNvdXJjZSBjb2RlLgor IHR5cGVkZWYgZ3JlZ3NldF90IHVzZXJfcmVnc19zdHJ1Y3Q7CisrI2VsaWYgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQorK3R5cGVkZWYgc3RydWN0IHB0X3JlZ3MgdXNlcl9yZWdzX3N0cnVjdDsKKyAj ZW5kaWYKKyAKKyB1c2luZyBnb29nbGVfYnJlYWtwYWQ6Ok1EVHlwZUhlbHBlcjsKK0BAIC0zMjIs NiArMzI2LDEyIEBAIHN0cnVjdCBDcmFzaGVkUHJvY2VzcyB7CisgI2lmIGRlZmluZWQoX19hYXJj aDY0X18pCisgICAgIHVzZXJfZnBzaW1kX3N0cnVjdCBmcHJlZ3M7CisgI2VuZGlmCisrI2lmIGRl ZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgbWNvbnRleHRfdCBtY29udGV4dDsKKysjZW5kaWYK KysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgICBtY29udGV4dF90IG1jb250ZXh0Owor KyNlbmRpZgorICAgICB1aW50cHRyX3Qgc3RhY2tfYWRkcjsKKyAgICAgY29uc3QgdWludDhfdCog c3RhY2s7CisgICAgIHNpemVfdCBzdGFja19sZW5ndGg7CitAQCAtNTM1LDYgKzU0NSwzOCBAQCBQ YXJzZVRocmVhZFJlZ2lzdGVycyhDcmFzaGVkUHJvY2Vzczo6VGhyCisgICB0aHJlYWQtPm1jb250 ZXh0LmZwY19laXIgPSByYXdyZWdzLT5mbG9hdF9zYXZlLmZpcjsKKyAjZW5kaWYKKyB9CisrI2Vs aWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorK3N0YXRpYyB2b2lkCisrUGFyc2VUaHJlYWRSZWdp c3RlcnMoQ3Jhc2hlZFByb2Nlc3M6OlRocmVhZCogdGhyZWFkLAorKyAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IE1pbmlkdW1wTWVtb3J5UmFuZ2UmIHJhbmdlKSB7CisrICBjb25zdCBNRFJhd0Nv bnRleHRQUEM2NCogcmF3cmVncyA9IHJhbmdlLkdldERhdGE8TURSYXdDb250ZXh0UFBDNjQ+KDAp OworKworKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9DT05URVhUX1BQQzY0X0dQUl9DT1VOVDsg aSsrKQorKyAgICB0aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbaV0gPSByYXdyZWdzLT5ncHJbaV07 CisrCisrICB0aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbUFRfTE5LXSA9IHJhd3JlZ3MtPmxyOwor KyAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX05JUF0gPSByYXdyZWdzLT5zcnIwOworKyAg dGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX01TUl0gPSByYXdyZWdzLT5zcnIxOworKyAgdGhy ZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX0NDUl0gPSByYXdyZWdzLT5jcjsKKysgIHRocmVhZC0+ bWNvbnRleHQuZ3BfcmVnc1tQVF9YRVJdID0gcmF3cmVncy0+eGVyOworKyAgdGhyZWFkLT5tY29u dGV4dC5ncF9yZWdzW1BUX0NUUl0gPSByYXdyZWdzLT5jdHI7CisrICB0aHJlYWQtPm1jb250ZXh0 LnZfcmVncy0+dnJzYXZlID0gcmF3cmVncy0+dnJzYXZlOworKworKyAgZm9yIChpbnQgaSA9IDA7 IGkgPCBNRF9GTE9BVElOR1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykKKysgICAgICB0aHJl YWQtPm1jb250ZXh0LmZwX3JlZ3NbaV0gPSByYXdyZWdzLT5mbG9hdF9zYXZlLmZwcmVnc1tpXTsK KysKKysgIHRocmVhZC0+bWNvbnRleHQuZnBfcmVnc1tORlBSRUctMV0gPSByYXdyZWdzLT5mbG9h dF9zYXZlLmZwc2NyOworKworKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9WRUNUT1JTQVZFQVJF QV9QUENfVlJfQ09VTlQ7IGkrKykgeworKyAgICAgIHRocmVhZC0+bWNvbnRleHQudl9yZWdzLT52 cnJlZ3NbaV1bMF0gPSByYXdyZWdzLT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ldLmhpZ2ggPj4gMzI7 CisrICAgICAgdGhyZWFkLT5tY29udGV4dC52X3JlZ3MtPnZycmVnc1tpXVsxXSA9IHJhd3JlZ3Mt PnZlY3Rvcl9zYXZlLnNhdmVfdnJbaV0uaGlnaDsKKysgICAgICB0aHJlYWQtPm1jb250ZXh0LnZf cmVncy0+dnJyZWdzW2ldWzJdID0gcmF3cmVncy0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXS5sb3cg Pj4gMzI7CisrICAgICAgdGhyZWFkLT5tY29udGV4dC52X3JlZ3MtPnZycmVnc1tpXVszXSA9IHJh d3JlZ3MtPnZlY3Rvcl9zYXZlLnNhdmVfdnJbaV0ubG93OworKyAgfQorKworKyAgdGhyZWFkLT5t Y29udGV4dC52X3JlZ3MtPnZzY3IudnNjcl93b3JkID0gcmF3cmVncy0+dmVjdG9yX3NhdmUuc2F2 ZV92c2NyLmxvdyAmIDB4RkZGRkZGRkY7CisrfQorKworICNlbHNlCisgI2Vycm9yICJUaGlzIGNv ZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldCIKKyAjZW5kaWYKK0BA IC02MjMsNiArNjY1LDEyIEBAIFBhcnNlU3lzdGVtSW5mbyhjb25zdCBPcHRpb25zJiBvcHRpb25z LAorICMgZWxzZQorICMgIGVycm9yICJUaGlzIG1pcHMgQUJJIGlzIGN1cnJlbnRseSBub3Qgc3Vw cG9ydGVkIChuMzIpIgorICMgZW5kaWYKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisr ICBpZiAoc3lzaW5mby0+cHJvY2Vzc29yX2FyY2hpdGVjdHVyZSAhPSBNRF9DUFVfQVJDSElURUNU VVJFX1BQQzY0KSB7CisrICAgIGZwcmludGYoc3RkZXJyLAorKyAgICAgICAgICAgICJUaGlzIHZl cnNpb24gb2YgbWluaWR1bXAtMi1jb3JlIG9ubHkgc3VwcG9ydHMgUFBDNjQuXG4iKTsKKysgICAg ZXhpdCgxKTsKKysgIH0KKyAjZWxzZQorICNlcnJvciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBw b3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQiCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvQ09OVFJJQlVUT1JTCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvQ09O VFJJQlVUT1JTCitAQCAtMTMsMyArMTMsNCBAQCBNYXJrIE1lbnRvdmFpIDxtYXJrQGNocm9taXVt Lm9yZz4KKyBSb2JlcnQgU2VzZWsgPHJzZXNla0BjaHJvbWl1bS5vcmc+CisgU2NvdHQgR3JhaGFt IDxzY290dG1nQGNocm9taXVtLm9yZz4KKyBKb3NodWEgUGVyYXphIDxqcGVyYXphQGNocm9taXVt Lm9yZz4KKytTaGF3biBBbmFzdGFzaW8gPHNoYXduQGFuYXN0YXMuaW8+CistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4 L3N5cy91c2VyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lzL3VzZXIuaAorQEAgLTE1LDYgKzE1LDcgQEAK KyAjaWZuZGVmIENSQVNIUEFEX0NPTVBBVF9MSU5VWF9TWVNfVVNFUl9IXworICNkZWZpbmUgQ1JB U0hQQURfQ09NUEFUX0xJTlVYX1NZU19VU0VSX0hfCisgCisrI2luY2x1ZGUgPGNzdGRkZWY+Cisg I2luY2x1ZGVfbmV4dCA8c3lzL3VzZXIuaD4KKyAKKyAjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9t aW5pZHVtcC9taW5pZHVtcF9jb250ZXh0LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0LmgK K0BAIC01OTIsNiArNTkyLDcwIEBAIHN0cnVjdCBNaW5pZHVtcENvbnRleHRNSVBTNjQgeworICAg dWludDY0X3QgZmlyOworIH07CisgCisrLy8hIFxicmllZiBwcGM2NC1zcGVjaWZpYyBmbGFncyBm b3IgTWluaWR1bXBQUEM2NDo6Y29udGV4dF9mbGFncworKy8vISBCYXNlZCBvbiBtaW5pZHVtcF9j cHVfcHBjNjQuaCBmcm9tIGJyZWFrcGFkCisrZW51bSBNaW5pZHVtcENvbnRleHRQUEM2NEZsYWdz IDogdWludDMyX3QgeworKyAgLy8hIFxicmllZiBJZGVudGlmaWVzIHRoZSBjb250ZXh0IGFzIFBQ QzY0LgorKyAga01pbmlkdW1wQ29udGV4dFBQQzY0ID0gMHgwMTAwMDAwMCwKKysKKysgIC8vISBc YnJpZWYgSW5kaWNhdGVzIHRoZSB2YWxpZGl0eSBvZiBnZW5lcmFsIHB1cnBvc2UgcmVnaXN0ZXJz LgorKyAgLy8hCisrICAvLyEgUmVnaXN0ZXJzIGByMGAtYHIzMWAsIGBuaXBgLCBgbXNyYCwgYGxy YCwgZXRjLiBhcmUgdmFsaWQuCisrICBrTWluaWR1bXBDb250ZXh0UFBDNjRCYXNlID0ga01pbmlk dW1wQ29udGV4dFBQQzY0IHwgMHgwMDAwMDAwMSwKKysKKysgIC8vISBcYnJpZWYgSW5kaWNhdGVz IHRoZSB2YWxpZGl0eSBvZiBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMuCisrICAvLyEKKysgIC8v ISBSZWdpc3RlcnMgYGZwMGAtYGZwMzFgLCBgZnBzY3JgIGFyZSB2YWxpZC4KKysgIGtNaW5pZHVt cENvbnRleHRQUEM2NEZsb2F0aW5nID0ga01pbmlkdW1wQ29udGV4dFBQQzY0IHwgMHgwMDAwMDAw OCwKKysKKysgIC8vISBcYnJpZWYgSW5kaWNhdGVzIHRoZSB2YWxpZGl0eSBvZiBBbHRpdmVjL1ZN WCByZWdpc3RlcnMuCisrICAvLyEKKysgIC8vISBSZWdpc3RlcnMgYHYwYC1gdjMxYCwgYHZzY3Jg LCBgdnJzYXZlYC4KKysgIGtNaW5pZHVtcENvbnRleHRQUEM2NFZlY3RvciA9IGtNaW5pZHVtcENv bnRleHRQUEM2NCB8IDB4MDAwMDAwMjAsCisrCisrICAvLyEgXGJyaWVmIEluZGljYXRlcyB0aGUg dmFsaWRpdHkgb2YgYWxsIHJlZ2lzdGVycworKyAga01pbmlkdW1wQ29udGV4dFBQQzY0QWxsID0g a01pbmlkdW1wQ29udGV4dFBQQzY0QmFzZSAgICAgfAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAga01pbmlkdW1wQ29udGV4dFBQQzY0RmxvYXRpbmcgfAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAga01pbmlkdW1wQ29udGV4dFBQQzY0VmVjdG9yCisrfTsKKysKKysvLyEgXGJy aWVmIEEgUFBDNjQgQ1BVIGNvbnRleHQgY2FycmllZCBpbiBhIG1pbmlkdW1wIGZpbGUuCisrLy8h IEJhc2VkIG9uIG1pbmlkdW1wX2NwdV9wcGM2NC5oIGZyb20gYnJlYWtwYWQuCisrc3RydWN0IE1p bmlkdW1wQ29udGV4dFBQQzY0IHsKKysgIHVpbnQ2NF90IGNvbnRleHRfZmxhZ3M7CisrCisrICAv LyEgXGJyaWVmIEdlbmVyYWwgcHVycG9zZSByZWdpc3RlcnMuCisrICB1aW50NjRfdCBuaXA7Cisr ICB1aW50NjRfdCBtc3I7CisrICB1aW50NjRfdCByZWdzWzMyXTsKKysgIHVpbnQ2NF90IGNjcjsK KysgIHVpbnQ2NF90IHhlcjsKKysgIHVpbnQ2NF90IGxuazsKKysgIHVpbnQ2NF90IGN0cjsKKysK KysgIC8vISBcYnJpZWYgRmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzLgorKyAgZG91YmxlIGZwcmVn c1szMl07CisrCisrICAvLyEgXGJyaWVmIEZQVSBzdGF0dXMgcmVnaXN0ZXIuCisrICBkb3VibGUg ZnBzY3I7CisrCisrICAvLyEgXGJyaWVmIEFsdGl2ZWMvVk1YIHZlY3RvciByZWdpc3RlcnMuCisr ICBzdHJ1Y3QgeworKyAgICAgIC8vISBcYnJpZWYgVmVjdG9yIHJlZ2lzdGVycyBhcmUgMTI4Yml0 cy4KKysgICAgICB1aW50MTI4X3N0cnVjdCBzYXZlX3ZyWzMyXTsKKysgICAgICB1aW50MTI4X3N0 cnVjdCBzYXZlX3ZzY3I7CisrCisrICAgICAgLy8hIFxicmllZiBQYWRkaW5nIGluY2x1ZGVkIGZv ciBicmVha3BhZCBjb21wYXRpYmlsdGl5LgorKyAgICAgIHVpbnQzMl90IHNhdmVfcGFkNVs0XTsK KysKKysgICAgICAvLyEgXGJyaWVmIFZSU0FWRSByZWdpc3Rlci4KKysgICAgICB1aW50MzJfdCBz YXZlX3Zyc2F2ZTsKKysKKysgICAgICAvLyEgXGJyaWVmIFBhZGRpbmcgaW5jbHVkZWQgZm9yIGJy ZWFrcGFkIGNvbXBhdGliaWx0aXkuCisrICAgICAgdWludDMyX3Qgc2F2ZV9wYWQ2WzddOworKyAg fSB2cmVnczsKKyt9OworKworIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAorIAorICNlbmRpZiAg Ly8gQ1JBU0hQQURfTUlOSURVTVBfTUlOSURVTVBfQ09OVEVYVF9IXworLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlk dW1wX2NvbnRleHRfd3JpdGVyLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIu Y2MKK0BAIC0xMDEsNiArMTAxLDEzIEBAIE1pbmlkdW1wQ29udGV4dFdyaXRlcjo6Q3JlYXRlRnJv bVNuYXBzaG8KKyAgICAgICBicmVhazsKKyAgICAgfQorIAorKyAgICBjYXNlIGtDUFVBcmNoaXRl Y3R1cmVQUEM2NDogeworKyAgICAgIGNvbnRleHQgPSBzdGQ6Om1ha2VfdW5pcXVlPE1pbmlkdW1w Q29udGV4dFBQQzY0V3JpdGVyPigpOworKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8TWluaWR1bXBD b250ZXh0UFBDNjRXcml0ZXIqPihjb250ZXh0LmdldCgpKQorKyAgICAgICAgICAtPkluaXRhbGl6 ZUZyb21TbmFwc2hvdChjb250ZXh0X3NuYXBzaG90LT5wcGM2NCk7CisrICAgICAgYnJlYWs7Cisr ICAgIH0KKysKKyAgICAgZGVmYXVsdDogeworICAgICAgIExPRyhFUlJPUikgPDwgInVua25vd24g Y29udGV4dCBhcmNoaXRlY3R1cmUgIgorICAgICAgICAgICAgICAgICAgPDwgY29udGV4dF9zbmFw c2hvdC0+YXJjaGl0ZWN0dXJlOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmgK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlci5oCitAQCAtMzE1LDYgKzMxNSw0NSBA QCBjbGFzcyBNaW5pZHVtcENvbnRleHRNSVBTNjRXcml0ZXIgZmluYWwKKyAgIERJU0FMTE9XX0NP UFlfQU5EX0FTU0lHTihNaW5pZHVtcENvbnRleHRNSVBTNjRXcml0ZXIpOworIH07CisgCisrY2xh c3MgTWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIgZmluYWwgOiBwdWJsaWMgTWluaWR1bXBDb250 ZXh0V3JpdGVyIHsKKysgcHVibGljOgorKyAgTWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIoKTsK KysgIH5NaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlcigpIG92ZXJyaWRlOworKworKyAgLy8hIFxi cmllZiBJbml0YWxpemVzIHRoZSBNaW5pZHVtcENvbnRleHRQUEM2NCBiYXNlZCBvbiBcYSBjb250 ZXh0X3NuYXBzaG90LgorKyAgLy8hCisrICAvLyEgXHBhcmFtW2luXSBjb250ZXh0X3NuYXBzaG90 IFRoZSBjb250ZXh0IHNuYXBzaG90IHRvIHVzZSBhcyBzb3VyY2UgZGF0YS4KKysgIC8vIQorKyAg Ly8hIFxub3RlIFZhbGlkIGluICNrU3RhdGVNdXRhYmxlLiBObyBtdXRhdGlvbiBvZiBjb250ZXh0 KCkgbWF5IGJlIGRvbmUgYmVmb3JlCisrICAvLyEgICAgIGNhbGxpbmcgdGhpcyBtZXRob2QsIGFu ZCBpdCBpcyBub3Qgbm9ybWFsbHkgbmVjZXNzYXJ5IHRvIGFsdGVyCisrICAvLyEgICAgIGNvbnRl eHQoKSBhZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kLgorKyAgdm9pZCBJbml0YWxpemVGcm9tU25h cHNob3QoY29uc3QgQ1BVQ29udGV4dFBQQzY0KiBjb250ZXh0X3NuYXBzaG90KTsKKysKKysgIC8v ISBcYnJpZWYgUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIGNvbnRleHQgc3RydWN0dXJlIHRoYXQg dGhpcyBvYmplY3Qgd2lsbAorKyAgLy8hICAgICB3cml0ZS4KKysgIC8vIQorKyAgLy8hIFxhdHRl bnRpb24gVGhpcyByZXR1cm5zIGEgbm9uLWBjb25zdGAgcG9pbnRlciB0byB0aGlzIG9iamVjdOKA mXMgcHJpdmF0ZQorKyAgLy8hICAgICBkYXRhIHNvIHRoYXQgYSBjYWxsZXIgY2FuIHBvcHVsYXRl IHRoZSBjb250ZXh0IHN0cnVjdHVyZSBkaXJlY3RseS4KKysgIC8vISAgICAgVGhpcyBpcyBkb25l IGJlY2F1c2UgcHJvdmlkaW5nIHNldHRlciBpbnRlcmZhY2VzIHRvIGVhY2ggZmllbGQgaW4gdGhl CisrICAvLyEgICAgIGNvbnRleHQgc3RydWN0dXJlIHdvdWxkIGJlIHVud2llbGR5IGFuZCBjdW1i ZXJzb21lLiBDYXJlIG11c3QgYmUgdGFrZW4KKysgIC8vISAgICAgdG8gcG9wdWxhdGUgdGhlIGNv bnRleHQgc3RydWN0dXJlIGNvcnJlY3RseS4gVGhlIGNvbnRleHQgc3RydWN0dXJlCisrICAvLyEg ICAgIG11c3Qgb25seSBiZSBtb2RpZmllZCB3aGlsZSB0aGlzIG9iamVjdCBpcyBpbiB0aGUgI2tT dGF0ZU11dGFibGUKKysgIC8vISAgICAgc3RhdGUuCisrICBNaW5pZHVtcENvbnRleHRQUEM2NCog Y29udGV4dCgpIHsgcmV0dXJuICZjb250ZXh0XzsgfQorKworKyBwcm90ZWN0ZWQ6CisrICAvLyBN aW5pZHVtcFdyaXRhYmxlOgorKyAgYm9vbCBXcml0ZU9iamVjdChGaWxlV3JpdGVySW50ZXJmYWNl KiBmaWxlX3dyaXRlcikgb3ZlcnJpZGU7CisrCisrICAvLyBNaW5pZHVtcENvbnRleHRXcml0ZXI6 CisrICBzaXplX3QgQ29udGV4dFNpemUoKSBjb25zdCBvdmVycmlkZTsKKysKKysgcHJpdmF0ZToK KysgIE1pbmlkdW1wQ29udGV4dFBQQzY0IGNvbnRleHRfOworKworKyAgRElTQUxMT1dfQ09QWV9B TkRfQVNTSUdOKE1pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyKTsKKyt9OworKworIH0gIC8vIG5h bWVzcGFjZSBjcmFzaHBhZAorIAorICNlbmRpZiAgLy8gQ1JBU0hQQURfTUlOSURVTVBfTUlOSURV TVBfQ09OVEVYVF9XUklURVJfSF8KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlcl90 ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXJfdGVzdC5jYworQEAgLTIx Myw2ICsyMTMsMjEgQEAgVEVTVChNaW5pZHVtcENvbnRleHRXcml0ZXIsIE1JUFM2NF9Gcm9tUwor ICAgICAgIGNvbnRleHQsIEV4cGVjdE1pbmlkdW1wQ29udGV4dE1JUFM2NCwga1NlZWQpOworIH0K KyAKKytURVNUKE1pbmlkdW1wQ29udGV4dFdyaXRlciwgUFBDNjRfWmVyb3MpIHsKKysgIEVtcHR5 Q29udGV4dFRlc3Q8TWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIsIE1pbmlkdW1wQ29udGV4dFBQ QzY0PigKKysgICAgRXhwZWN0TWluaWR1bXBDb250ZXh0UFBDNjQpOworK30KKysKKytURVNUKE1p bmlkdW1wQ29udGV4dFdyaXRlciwgUFBDNjRfRnJvbVNuYXBzaG90KSB7CisrICBjb25zdGV4cHIg dWludDMyX3Qga1NlZWQgPSA2NDsKKysgIENQVUNvbnRleHRQUEM2NCBjb250ZXh0X3BwYzY0Owor KyAgQ1BVQ29udGV4dCBjb250ZXh0OworKyAgY29udGV4dC5wcGM2NCA9ICZjb250ZXh0X3BwYzY0 OworKyAgSW5pdGlhbGl6ZUNQVUNvbnRleHRQUEM2NCgmY29udGV4dCwga1NlZWQpOworKyAgRnJv bVNuYXBzaG90VGVzdDxNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlciwgTWluaWR1bXBDb250ZXh0 UFBDNjQ+KAorKyAgICAgIGNvbnRleHQsIEV4cGVjdE1pbmlkdW1wQ29udGV4dFBQQzY0LCBrU2Vl ZCk7CisrfQorKworIH0gIC8vIG5hbWVzcGFjZQorIH0gIC8vIG5hbWVzcGFjZSB0ZXN0CisgfSAg Ly8gbmFtZXNwYWNlIGNyYXNocGFkCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfbWlzY19pbmZvX3dyaXRl ci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0ZXIuY2MKK0BAIC0xMzUsNiAr MTM1LDggQEAgc3RkOjpzdHJpbmcgTWluaWR1bXBNaXNjSW5mb0RlYnVnQnVpbGRTdAorICAgc3Rh dGljIGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJtaXBzIjsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hf Q1BVX01JUFM2NEVMKQorICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJtaXBzNjQi OworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjQpCisrICBzdGF0aWMgY29uc3RleHByIGNo YXIga0NQVVtdID0gInBwYzY0IjsKKyAjZWxzZQorICNlcnJvciBkZWZpbmUga0NQVSBmb3IgdGhp cyBDUFUKKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jYXB0dXJlX21lbW9yeS5jYworKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2Nh cHR1cmVfbWVtb3J5LmNjCitAQCAtMTEyLDYgKzExMiwxMSBAQCB2b2lkIENhcHR1cmVNZW1vcnk6 OlBvaW50ZWRUb0J5Q29udGV4dChjCisgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGJhc2U6OnNp emUoY29udGV4dC5taXBzZWwtPnJlZ3MpOyArK2kpIHsKKyAgICAgTWF5YmVDYXB0dXJlTWVtb3J5 QXJvdW5kKGRlbGVnYXRlLCBjb250ZXh0Lm1pcHNlbC0+cmVnc1tpXSk7CisgICB9CisrI2VsaWYg ZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICBNYXliZUNhcHR1cmVNZW1vcnlBcm91 bmQoZGVsZWdhdGUsIGNvbnRleHQucHBjNjQtPm5pcCk7CisrICBmb3IgKHNpemVfdCBpID0gMDsg aSA8IGJhc2U6OnNpemUoY29udGV4dC5wcGM2NC0+cmVncyk7ICsraSkgeworKyAgICBNYXliZUNh cHR1cmVNZW1vcnlBcm91bmQoZGVsZWdhdGUsIGNvbnRleHQucHBjNjQtPnJlZ3NbaV0pOworKyAg fQorICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hpdGVj dHVyZS5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hpdGVjdHVyZS5oCitAQCAtNDMsNyArNDMsMTAgQEAg ZW51bSBDUFVBcmNoaXRlY3R1cmUgeworICAga0NQVUFyY2hpdGVjdHVyZU1JUFNFTCwKKyAKKyAg IC8vISBcYnJpZWYgNjQtYml0IE1JUFNFTC4KKy0gIGtDUFVBcmNoaXRlY3R1cmVNSVBTNjRFTAor KyAga0NQVUFyY2hpdGVjdHVyZU1JUFM2NEVMLAorKworKyAgLy8hIFxicmllZiA2NC1iaXQgUFBD NjQuCisrICBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQKKyB9OworIAorIH0gIC8vIG5hbWVzcGFjZSBj cmFzaHBhZAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQu Y2MKK0BAIC0xNjksNiArMTY5LDggQEAgdWludDY0X3QgQ1BVQ29udGV4dDo6SW5zdHJ1Y3Rpb25Q b2ludGVyKAorICAgICAgIHJldHVybiBhcm0tPnBjOworICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1 cmVBUk02NDoKKyAgICAgICByZXR1cm4gYXJtNjQtPnBjOworKyAgICBjYXNlIGtDUFVBcmNoaXRl Y3R1cmVQUEM2NDoKKysgICAgICByZXR1cm4gcHBjNjQtPm5pcDsKKyAgICAgZGVmYXVsdDoKKyAg ICAgICBOT1RSRUFDSEVEKCk7CisgICAgICAgcmV0dXJuIH4wdWxsOworQEAgLTE4NSw2ICsxODcs OCBAQCB1aW50NjRfdCBDUFVDb250ZXh0OjpTdGFja1BvaW50ZXIoKSBjb25zCisgICAgICAgcmV0 dXJuIGFybS0+c3A7CisgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZUFSTTY0OgorICAgICAgIHJl dHVybiBhcm02NC0+c3A7CisrICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVBQQzY0OgorKyAgICAg IHJldHVybiBwcGM2NC0+cmVnc1sxXTsKKyAgICAgZGVmYXVsdDoKKyAgICAgICBOT1RSRUFDSEVE KCk7CisgICAgICAgcmV0dXJuIH4wdWxsOworQEAgLTE5Niw2ICsyMDAsNyBAQCBib29sIENQVUNv bnRleHQ6OklzNjRCaXQoKSBjb25zdCB7CisgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVg4Nl82 NDoKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlQVJNNjQ6CisgICAgIGNhc2Uga0NQVUFyY2hp dGVjdHVyZU1JUFM2NEVMOgorKyAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVQUEM2NDoKKyAgICAg ICByZXR1cm4gdHJ1ZTsKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlWDg2OgorICAgICBjYXNl IGtDUFVBcmNoaXRlY3R1cmVBUk06CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuaAorKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2NwdV9jb250ZXh0LmgKK0BAIC0zNTIsNiArMzUyLDI0IEBAIHN0cnVjdCBDUFVDb250ZXh0TUlQ UzY0IHsKKyAgIHVpbnQ2NF90IGZpcjsKKyB9OworIAorKy8vISBcYnJpZWYgQSBjb250ZXh0IHN0 cnVjdHVyZSBjYXJyeWluZyBQUEM2NCBDUFUgc3RhdGUuCisrc3RydWN0IENQVUNvbnRleHRQUEM2 NCB7CisrICB1aW50NjRfdCBuaXA7CisrICB1aW50NjRfdCBtc3I7CisrICB1aW50NjRfdCByZWdz WzMyXTsKKysgIHVpbnQ2NF90IGNjcjsKKysgIHVpbnQ2NF90IHhlcjsKKysgIHVpbnQ2NF90IGxu azsKKysgIHVpbnQ2NF90IGN0cjsKKysgIGRvdWJsZSBmcHJlZ3NbMzJdOworKyAgZG91YmxlIGZw c2NyOworKyAgc3RydWN0IHsKKysgICAgdWludDEyOF9zdHJ1Y3Qgc2F2ZV92clszMl07CisrICAg IHVpbnQxMjhfc3RydWN0IHNhdmVfdnNjcjsKKysgICAgdWludDMyX3Qgc2F2ZV92cnNhdmU7Cisr ICB9IHZyZWdzOworK307CisrCisgLy8hIFxicmllZiBBIGNvbnRleHQgc3RydWN0dXJlIGNhcGFi bGUgb2YgY2FycnlpbmcgdGhlIGNvbnRleHQgb2YgYW55IHN1cHBvcnRlZAorIC8vISAgICAgQ1BV IGFyY2hpdGVjdHVyZS4KKyBzdHJ1Y3QgQ1BVQ29udGV4dCB7CitAQCAtMzgyLDYgKzQwMCw3IEBA IHN0cnVjdCBDUFVDb250ZXh0IHsKKyAgICAgQ1BVQ29udGV4dEFSTTY0KiBhcm02NDsKKyAgICAg Q1BVQ29udGV4dE1JUFMqIG1pcHNlbDsKKyAgICAgQ1BVQ29udGV4dE1JUFM2NCogbWlwczY0Owor KyAgICBDUFVDb250ZXh0UFBDNjQqIHBwYzY0OworICAgfTsKKyB9OworIAorLS0tIGEvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xp bnV4L2NwdV9jb250ZXh0X2xpbnV4LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9jcHVfY29udGV4dF9saW51 eC5oCitAQCAtMTUsNiArMTUsNyBAQAorICNpZm5kZWYgQ1JBU0hQQURfU05BUFNIT1RfTElOVVhf Q1BVX0NPTlRFWFRfTElOVVhfSF8KKyAjZGVmaW5lIENSQVNIUEFEX1NOQVBTSE9UX0xJTlVYX0NQ VV9DT05URVhUX0xJTlVYX0hfCisgCisrI2luY2x1ZGUgPGNzdHJpbmc+CisgI2luY2x1ZGUgImJ1 aWxkL2J1aWxkX2NvbmZpZy5oIgorICNpbmNsdWRlICJzbmFwc2hvdC9jcHVfY29udGV4dC5oIgor ICNpbmNsdWRlICJzbmFwc2hvdC9saW51eC9zaWduYWxfY29udGV4dC5oIgorQEAgLTE3NCw2ICsx NzUsNzYgQEAgdm9pZCBJbml0aWFsaXplQ1BVQ29udGV4dE1JUFMoCisgCisgI2VuZGlmICAvLyBB UkNIX0NQVV9NSVBTX0ZBTUlMWSB8fCBET1hZR0VOCisgCisrI2lmIGRlZmluZWQoQVJDSF9DUFVf UFBDNjRfRkFNSUxZKSB8fCBET1hZR0VOCisrCisrLy8hIFxicmllZiBJbml0YWxpemVzIGEgQ1BV Q29udGV4dFBQQzY0IHN0cnVjdHVyZSBmcm9tIG5hdGl2ZSBjb250ZXh0CisrLy8hICAgICBzdHJ1 Y3R1cmVzIG9uIExpbnV4LgorKy8vIQorKy8vISBccGFyYW1baW5dIHRocmVhZF9jb250ZXh0IFRo ZSBuYXRpdmUgdGhyZWFkIGNvbnRleHQuCisrLy8hIFxwYXJhbVtpbl0gZmxvYXRfY29udGV4dCBU aGUgbmF0aXZlIGZsb2F0IGNvbnRleHQuCisrLy8hIFxwYXJhbVtpbl0gdmVjdG9yX2NvbnRleHQg VGhlIG5hdGl2ZSB2ZWN0b3IgY29udGV4dC4KKysvLyEgXHBhcmFtW291dF0gY29udGV4dCBUaGUg Q1BVQ29udGV4dFBQQzY0IHN0cnVjdHVyZSB0byBpbml0YWxpemUuCisrdGVtcGxhdGUgPHR5cGVu YW1lIFRyYWl0cz4KKyt2b2lkIEluaXRpYWxpemVDUFVDb250ZXh0UFBDNjQoCisrICAgIGNvbnN0 IFRocmVhZENvbnRleHQ6OnQ2NF90JiB0aHJlYWRfY29udGV4dCwKKysgICAgY29uc3QgRmxvYXRD b250ZXh0OjpmNjRfdCYgZmxvYXRfY29udGV4dCwKKysgICAgY29uc3QgVmVjdG9yQ29udGV4dDo6 djY0X3QmIHZlY3Rvcl9jb250ZXh0LAorKyAgICB0eXBlbmFtZSBUcmFpdHM6OkNQVUNvbnRleHQq IGNvbnRleHQpIHsKKysKKysgIG1lbWNweShjb250ZXh0LT5yZWdzLCB0aHJlYWRfY29udGV4dC5n cHIsIHNpemVvZihjb250ZXh0LT5yZWdzKSk7CisrICBjb250ZXh0LT5uaXAgPSB0aHJlYWRfY29u dGV4dC5uaXA7CisrICBjb250ZXh0LT5tc3IgPSB0aHJlYWRfY29udGV4dC5tc3I7CisrICBjb250 ZXh0LT5jY3IgPSB0aHJlYWRfY29udGV4dC5jY3I7CisrICBjb250ZXh0LT54ZXIgPSB0aHJlYWRf Y29udGV4dC54ZXI7CisrICBjb250ZXh0LT5sbmsgPSB0aHJlYWRfY29udGV4dC5sbms7CisrICBj b250ZXh0LT5jdHIgPSB0aHJlYWRfY29udGV4dC5jdHI7CisrCisrICBtZW1jcHkoY29udGV4dC0+ ZnByZWdzLCBmbG9hdF9jb250ZXh0LmZwcmVncywgc2l6ZW9mKGNvbnRleHQtPmZwcmVncykpOwor KyAgY29udGV4dC0+ZnBzY3IgPSBmbG9hdF9jb250ZXh0LmZwc2NyOworKworKyAgZm9yICh1aW50 OF90IGkgPSAwOyBpIDwgMzI7IGkrKykgeworKyAgICBjb250ZXh0LT52cmVncy5zYXZlX3ZyW2ld ID0geworKyAgICAgICgoKHVpbnQ2NF90KXZlY3Rvcl9jb250ZXh0LnZycmVnc1tpXVswXSkgPDwg MzIpIHwKKysgICAgICAgIHZlY3Rvcl9jb250ZXh0LnZycmVnc1tpXVsxXSwKKysgICAgICAoKCh1 aW50NjRfdCl2ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bMl0pIDw8IDMyKSB8CisrICAgICAgICB2 ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bM10KKysgICAgfTsKKysgIH0KKysgIGNvbnRleHQtPnZy ZWdzLnNhdmVfdnJzYXZlID0gdmVjdG9yX2NvbnRleHQudnJzYXZlOworKyAgY29udGV4dC0+dnJl Z3Muc2F2ZV92c2NyID0gezAsICh1aW50NjRfdCl2ZWN0b3JfY29udGV4dC52c2NyLnZzY3Jfd29y ZH07CisrfQorKworK3RlbXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+Cisrdm9pZCBJbml0aWFsaXpl Q1BVQ29udGV4dFBQQzY0KAorKyAgICBjb25zdCBTaWduYWxUaHJlYWRDb250ZXh0NjQgJnRocmVh ZF9jb250ZXh0LAorKyAgICBjb25zdCBTaWduYWxGbG9hdENvbnRleHQ2NCAmZmxvYXRfY29udGV4 dCwKKysgICAgY29uc3QgU2lnbmFsVmVjdG9yQ29udGV4dDY0ICZ2ZWN0b3JfY29udGV4dCwKKysg ICAgdHlwZW5hbWUgVHJhaXRzOjpDUFVDb250ZXh0KiBjb250ZXh0KSB7CisrCisrICBtZW1jcHko Y29udGV4dC0+cmVncywgdGhyZWFkX2NvbnRleHQucmVncywgc2l6ZW9mKGNvbnRleHQtPnJlZ3Mp KTsKKysgIGNvbnRleHQtPm5pcCA9IHRocmVhZF9jb250ZXh0Lm5pcDsKKysgIGNvbnRleHQtPm1z ciA9IHRocmVhZF9jb250ZXh0Lm1zcjsKKysgIGNvbnRleHQtPmNjciA9IHRocmVhZF9jb250ZXh0 LmNjcjsKKysgIGNvbnRleHQtPnhlciA9IHRocmVhZF9jb250ZXh0LnhlcjsKKysgIGNvbnRleHQt PmxuayA9IHRocmVhZF9jb250ZXh0LmxuazsKKysgIGNvbnRleHQtPmN0ciA9IHRocmVhZF9jb250 ZXh0LmN0cjsKKysKKysgIG1lbWNweShjb250ZXh0LT5mcHJlZ3MsIGZsb2F0X2NvbnRleHQucmVn cywgc2l6ZW9mKGNvbnRleHQtPmZwcmVncykpOworKyAgY29udGV4dC0+ZnBzY3IgPSBmbG9hdF9j b250ZXh0LmZwc2NyOworKworKyAgZm9yICh1aW50OF90IGkgPSAwOyBpIDwgMzI7IGkrKykgewor KyAgICBjb250ZXh0LT52cmVncy5zYXZlX3ZyW2ldID0geworKyAgICAgICgoKHVpbnQ2NF90KXZl Y3Rvcl9jb250ZXh0LnZycmVnc1tpXVswXSkgPDwgMzIpIHwKKysgICAgICAgIHZlY3Rvcl9jb250 ZXh0LnZycmVnc1tpXVsxXSwKKysgICAgICAoKCh1aW50NjRfdCl2ZWN0b3JfY29udGV4dC52cnJl Z3NbaV1bMl0pIDw8IDMyKSB8CisrICAgICAgICB2ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bM10K KysgICAgfTsKKysgIH0KKysgIGNvbnRleHQtPnZyZWdzLnNhdmVfdnJzYXZlID0gdmVjdG9yX2Nv bnRleHQudnJzYXZlOworKyAgY29udGV4dC0+dnJlZ3Muc2F2ZV92c2NyID0gezAsICh1aW50NjRf dCl2ZWN0b3JfY29udGV4dC52c2NyLnZzY3Jfd29yZH07CisrfQorKworKyNlbmRpZgorIH0gIC8v IG5hbWVzcGFjZSBpbnRlcm5hbAorIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAorIAorLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBz aG90L2xpbnV4L2RlYnVnX3JlbmRlenZvdXNfdGVzdC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2RlYnVn X3JlbmRlenZvdXNfdGVzdC5jYworQEAgLTE5Miw2ICsxOTIsOCBAQCB2b2lkIFRlc3RBZ2FpbnN0 VGFyZ2V0KFB0cmFjZUNvbm5lY3Rpb24qCisgICAgICAgICAgICAgICBkZXZpY2UgPT0gMCAmJiBp bm9kZSA9PSAwICYmIG1hcHBpbmdfbmFtZSA9PSAiW3Zkc29dIjsKKyAjaWYgZGVmaW5lZChBUkNI X0NQVV9YODYpCisgICAgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrUHJlZml4W10gPSAi bGludXgtZ2F0ZS5zby4iOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjQpCisrICAgICAg ICAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrUHJlZml4W10gPSAibGludXgtdmRzbzY0LnNvLiI7 CisgI2Vsc2UKKyAgICAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtQcmVmaXhbXSA9ICJs aW51eC12ZHNvLnNvLiI7CisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBz aG90X2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNj CitAQCAtMzIzLDYgKzMyMyw2OSBAQCBib29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRD b250ZXh0CisgICAgICAgcmVhZGVyLCBjb250ZXh0X2FkZHJlc3MsIGNvbnRleHRfLm1pcHM2NCk7 CisgfQorIAorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKworK3RlbXBs YXRlIDx0eXBlbmFtZSBUcmFpdHM+Cisrc3RhdGljIGJvb2wgUmVhZENvbnRleHQoUHJvY2Vzc1Jl YWRlckxpbnV4KiByZWFkZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgTGludXhWTUFkZHJl c3MgY29udGV4dF9hZGRyZXNzLAorKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIFRy YWl0czo6Q1BVQ29udGV4dCogZGVzdF9jb250ZXh0KSB7CisrICBjb25zdCBQcm9jZXNzTWVtb3J5 KiBtZW1vcnkgPSByZWFkZXItPk1lbW9yeSgpOworKworKyAgTGludXhWTUFkZHJlc3MgZ3BfcmVn c19hZGRyZXNzID0gY29udGV4dF9hZGRyZXNzICsKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG9mZnNldG9mKFVDb250ZXh0LCBtY29udGV4dCkgKworKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodHlwZW5hbWUgVHJhaXRzOjpNQ29udGV4dCwg Z3BfcmVncyk7CisrCisrICB0eXBlbmFtZSBUcmFpdHM6OlNpZ25hbFRocmVhZENvbnRleHQgdGhy ZWFkX2NvbnRleHQ7CisrICBpZiAoIW1lbW9yeS0+UmVhZChncF9yZWdzX2FkZHJlc3MsIHNpemVv Zih0aHJlYWRfY29udGV4dCksICZ0aHJlYWRfY29udGV4dCkpIHsKKysgICAgTE9HKEVSUk9SKSA8 PCAiQ291bGRuJ3QgcmVhZCBncF9yZWdzISI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysK KysgIExpbnV4Vk1BZGRyZXNzIGZwX3JlZ3NfYWRkcmVzcyA9IGNvbnRleHRfYWRkcmVzcyArCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihVQ29udGV4dCwgbWNv bnRleHQpICsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHR5 cGVuYW1lIFRyYWl0czo6TUNvbnRleHQsIGZwX3JlZ3MpOworKworKyAgdHlwZW5hbWUgVHJhaXRz OjpTaWduYWxGbG9hdENvbnRleHQgZnBfY29udGV4dDsKKysgIGlmICghbWVtb3J5LT5SZWFkKGZw X3JlZ3NfYWRkcmVzcywgc2l6ZW9mKGZwX2NvbnRleHQpLCAmZnBfY29udGV4dCkpIHsKKysgICAg TE9HKEVSUk9SKSA8PCAiQ291bGRuJ3QgcmVhZCBmcF9yZWdzISI7CisrICAgIHJldHVybiBmYWxz ZTsKKysgIH0KKysKKysgIExpbnV4Vk1BZGRyZXNzIHZfcmVnc19wdHJfYWRkcmVzcyA9IGNvbnRl eHRfYWRkcmVzcyArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9m KFVDb250ZXh0LCBtY29udGV4dCkgKworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvZmZzZXRvZih0eXBlbmFtZSBUcmFpdHM6Ok1Db250ZXh0LCB2bXhfcmVzZXJ2ZSkgKyA4Owor KworKyAgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxWZWN0b3JDb250ZXh0IHZfY29udGV4dDsKKysg IGlmICghbWVtb3J5LT5SZWFkKHZfcmVnc19wdHJfYWRkcmVzcywgc2l6ZW9mKHZfY29udGV4dCks ICZ2X2NvbnRleHQpKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHJlYWQgdl9yZWdz ISI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysKKysgIEluaXRpYWxpemVDUFVDb250ZXh0 UFBDNjQ8Q29udGV4dFRyYWl0czY0Pih0aHJlYWRfY29udGV4dCwgZnBfY29udGV4dCwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdl9jb250ZXh0LCBkZXN0X2NvbnRleHQpOworKworKyAg cmV0dXJuIHRydWU7CisrfQorKworK3RlbXBsYXRlPD4KKytib29sIEV4Y2VwdGlvblNuYXBzaG90 TGludXg6OlJlYWRDb250ZXh0PENvbnRleHRUcmFpdHM2ND4oCisrICAgIFByb2Nlc3NSZWFkZXJM aW51eCogcmVhZGVyLAorKyAgICBMaW51eFZNQWRkcmVzcyBjb250ZXh0X2FkZHJlc3MpIHsKKysg IGNvbnRleHRfLmFyY2hpdGVjdHVyZSA9IGtDUFVBcmNoaXRlY3R1cmVQUEM2NDsKKysgIGNvbnRl eHRfLnBwYzY0ID0gJmNvbnRleHRfdW5pb25fLnBwYzY0OworKworKyAgcmV0dXJuIGludGVybmFs OjpSZWFkQ29udGV4dDxDb250ZXh0VHJhaXRzNjQ+KAorKyAgICAgIHJlYWRlciwgY29udGV4dF9h ZGRyZXNzLCBjb250ZXh0Xy5wcGM2NCk7CisrfQorKworK3RlbXBsYXRlPD4KKytib29sIEV4Y2Vw dGlvblNuYXBzaG90TGludXg6OlJlYWRDb250ZXh0PENvbnRleHRUcmFpdHMzMj4oCisrICAgIFBy b2Nlc3NSZWFkZXJMaW51eCogcmVhZGVyLAorKyAgICBMaW51eFZNQWRkcmVzcyBjb250ZXh0X2Fk ZHJlc3MpIHsKKysgIC8vIFBQQzY0IGlzIDY0LWJpdAorKyAgcmV0dXJuIGZhbHNlOworK30KKysK KyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKKyAKKyBib29sIEV4Y2VwdGlvblNuYXBz aG90TGludXg6OkluaXRpYWxpemUoUHJvY2Vzc1JlYWRlckxpbnV4KiBwcm9jZXNzX3JlYWRlciwK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguaAorKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xp bnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5oCitAQCAtODQsNiArODQsOCBAQCBjbGFzcyBF eGNlcHRpb25TbmFwc2hvdExpbnV4IGZpbmFsIDogcHViCisgI2VsaWYgZGVmaW5lZChBUkNIX0NQ VV9NSVBTX0ZBTUlMWSkKKyAgICAgQ1BVQ29udGV4dE1JUFMgbWlwc2VsOworICAgICBDUFVDb250 ZXh0TUlQUzY0IG1pcHM2NDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkK KysgICAgQ1BVQ29udGV4dFBQQzY0IHBwYzY0OworICNlbmRpZgorICAgfSBjb250ZXh0X3VuaW9u XzsKKyAgIENQVUNvbnRleHQgY29udGV4dF87CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3Nu YXBzaG90X2xpbnV4X3Rlc3QuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3Rf bGludXhfdGVzdC5jYworQEAgLTI5Niw3ICsyOTYsMjggQEAgdm9pZCBFeHBlY3RDb250ZXh0KGNv bnN0IENQVUNvbnRleHQmIGFjdAorICAgICAgICAgICAgIDApOworICN1bmRlZiBDUFVfQVJDSF9O QU1FCisgfQorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorK3VzaW5nIE5h dGl2ZUNQVUNvbnRleHQgPSB1Y29udGV4dF90OworIAorK3ZvaWQgSW5pdGlhbGl6ZUNvbnRleHQo TmF0aXZlQ1BVQ29udGV4dCogY29udGV4dCkgeworKyAgZm9yIChzaXplX3QgcmVnID0gMDsgcmVn IDwgMzI7ICsrcmVnKSB7CisrICAgIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbcmVnXSA9 IHJlZzsKKysgIH0KKysKKysgIG1lbXNldCgmY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVncywg NDQsCisrICAgICAgc2l6ZW9mKGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3MpKTsKKyt9Cisr Cisrdm9pZCBFeHBlY3RDb250ZXh0KGNvbnN0IENQVUNvbnRleHQmIGFjdHVhbCwgY29uc3QgTmF0 aXZlQ1BVQ29udGV4dCYgZXhwZWN0ZWQpIHsKKysgIEVYUEVDVF9FUShhY3R1YWwuYXJjaGl0ZWN0 dXJlLCBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQpOworKworKyAgZm9yIChzaXplX3QgcmVnID0gMDsg cmVnIDwgMzI7ICsrcmVnKSB7CisrICAgIEVYUEVDVF9FUShhY3R1YWwucHBjNjQtPnJlZ3NbcmVn XSwgZXhwZWN0ZWQudWNfbWNvbnRleHQuZ3BfcmVnc1tyZWddKTsKKysgIH0KKysKKysgIEVYUEVD VF9FUShtZW1jbXAoYWN0dWFsLnBwYzY0LT5mcHJlZ3MsIGV4cGVjdGVkLnVjX21jb250ZXh0LmZw X3JlZ3MsCisrICAgICAgICAgICAgc2l6ZW9mKGFjdHVhbC5wcGM2NC0+ZnByZWdzKSksIDApOwor K30KKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Byb2Nl c3NfcmVhZGVyX2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXgu Y2MKK0BAIC0xMDgsNiArMTA4LDggQEAgdm9pZCBQcm9jZXNzUmVhZGVyTGludXg6OlRocmVhZDo6 SW5pdGlhbAorICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICBzdGFja19w b2ludGVyID0gcmVhZGVyLT5JczY0Qml0KCkgPyB0aHJlYWRfaW5mby50aHJlYWRfY29udGV4dC50 NjQucmVnc1syOV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRocmVh ZF9pbmZvLnRocmVhZF9jb250ZXh0LnQzMi5yZWdzWzI5XTsKKysjZWxpZiBkZWZpbmVkKEFSQ0hf Q1BVX1BQQzY0X0ZBTUlMWSkKKysgIHN0YWNrX3BvaW50ZXIgPSB0aHJlYWRfaW5mby50aHJlYWRf Y29udGV4dC50NjQuZ3ByWzFdOworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmCistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250 ZXh0LmgKK0BAIC00MjIsNiArNDIyLDkzIEBAIHN0YXRpY19hc3NlcnQob2Zmc2V0b2YoVUNvbnRl eHQ8Q29udGV4dFQKKyAgICAgICAgICAgICAgICJjb250ZXh0IG9mZnNldCBtaXNtYXRjaCIpOwor ICNlbmRpZgorIAorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKworK3N0 cnVjdCBTaWduYWxUaHJlYWRDb250ZXh0NjQgeworKyAgdWludDY0X3QgcmVnc1szMl07CisrICB1 aW50NjRfdCBuaXA7CisrICB1aW50NjRfdCBtc3I7CisrICB1aW50NjRfdCBvcmlnX3IzOworKyAg dWludDY0X3QgY3RyOworKyAgdWludDY0X3QgbG5rOworKyAgdWludDY0X3QgeGVyOworKyAgdWlu dDY0X3QgY2NyOworKyAgdWludDY0X3Qgc29mdGU7CisrICB1aW50NjRfdCB0cmFwOworKyAgdWlu dDY0X3QgZGFyOworKyAgdWludDY0X3QgZHNpc3I7CisrICB1aW50NjRfdCByZXN1bHQ7CisrICB1 aW50NjRfdCBkc2NyOworKyAgdWludDY0X3QgZnByMFszXTsKKyt9OworKworK3N0cnVjdCBTaWdu YWxGbG9hdENvbnRleHQ2NCB7CisrICBkb3VibGUgcmVnc1szMl07CisrICBkb3VibGUgZnBzY3I7 CisrfTsKKysKKytzdHJ1Y3QgU2lnbmFsVmVjdG9yQ29udGV4dDY0IHsKKysgIGludDMyX3QgdnJy ZWdzWzMyXVs0XTsKKysgIHN0cnVjdCB7CisrICAgIGludDMyX3QgX19wYWRbM107CisrICAgIGlu dDMyX3QgdnNjcl93b3JkOworKyAgfSB2c2NyOworKyAgaW50MzJfdCB2cnNhdmU7CisrICBpbnQz Ml90IF9fcGFkWzNdOworK30gX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oMTYpKSk7CisrCisr CisrI3ByYWdtYSBwYWNrKHBvcCkKKytzdHJ1Y3QgTUNvbnRleHQ2NCB7CisrICB1aW50NjRfdCBy ZXNlcnZlZFs0XTsKKysgIGludDMyX3Qgc2lnbmFsOworKyAgaW50MzJfdCBfX3BhZDA7CisrICB1 aW50NjRfdCBoYW5kbGVyOworKyAgdWludDY0X3Qgb2xkbWFzazsKKysgIHVpbnQ2NF90IHB0X3Jl Z3NfcHRyOworKyAgU2lnbmFsVGhyZWFkQ29udGV4dDY0IGdwX3JlZ3M7CisrICBTaWduYWxGbG9h dENvbnRleHQ2NCAgZnBfcmVnczsKKysgIFNpZ25hbFZlY3RvckNvbnRleHQ2NCAqdl9yZWdzOwor KyNpZmRlZiBfX0dMSUJDX18KKysgIGludDY0X3Qgdm14X3Jlc2VydmVbNjldOworKyNlbHNlCisr ICBpbnQ2NF90IHZteF9yZXNlcnZlWzEwMV07CisrI2VuZGlmCisrfTsKKysKKytzdHJ1Y3QgQ29u dGV4dFRyYWl0czY0IDogcHVibGljIFRyYWl0czY0IHsKKysgIHVzaW5nIE1Db250ZXh0ID0gTUNv bnRleHQ2NDsKKysgIHVzaW5nIFNpZ25hbFRocmVhZENvbnRleHQgPSBTaWduYWxUaHJlYWRDb250 ZXh0NjQ7CisrICB1c2luZyBTaWduYWxGbG9hdENvbnRleHQgPSBTaWduYWxGbG9hdENvbnRleHQ2 NDsKKysgIHVzaW5nIFNpZ25hbFZlY3RvckNvbnRleHQgPSBTaWduYWxWZWN0b3JDb250ZXh0NjQ7 CisrICB1c2luZyBDUFVDb250ZXh0ID0gQ1BVQ29udGV4dFBQQzY0OworK307CisrCisrc3RydWN0 IENvbnRleHRUcmFpdHMzMiA6IHB1YmxpYyBUcmFpdHMzMiB7fTsKKysKKytzdHJ1Y3QgVUNvbnRl eHQgeworKyAgdWludDY0X3QgZmxhZ3M7CisrICB1aW50NjRfdCBsaW5rOworKyAgU2lnbmFsU3Rh Y2s8Q29udGV4dFRyYWl0czY0PiBzdGFjazsKKysgIFNpZ3NldDxDb250ZXh0VHJhaXRzNjQ+IHNp Z21hc2s7CisrICBNQ29udGV4dDY0IG1jb250ZXh0OworK307CisrI3ByYWdtYSBwYWNrKHB1c2gs IDEpCisrCisrc3RhdGljX2Fzc2VydChzaXplb2YoVUNvbnRleHQpID09IHNpemVvZih1Y29udGV4 dF90KSwKKysgICAgICAgICAgICAgICJ1Y29udGV4dF90IHNpemUgbWlzbWF0Y2giKTsKKytzdGF0 aWNfYXNzZXJ0KHNpemVvZihNQ29udGV4dDY0KSA9PSBzaXplb2YobWNvbnRleHRfdCksCisrICAg ICAgICAgICAgICAibWNvbnRleHRfdCBzaXplIG1pc21hdGNoIik7Cisrc3RhdGljX2Fzc2VydChz aXplb2YoU2lnbmFsVGhyZWFkQ29udGV4dDY0KSA9PSBzaXplb2YoZ3JlZ3NldF90KSwKKysgICAg ICAgICAgICAgICJncmVnc2V0X3Qgc2l6ZSBtaXNtYXRjaCIpOworK3N0YXRpY19hc3NlcnQoc2l6 ZW9mKFNpZ25hbEZsb2F0Q29udGV4dDY0KSA9PSBzaXplb2YoZnByZWdzZXRfdCksCisrICAgICAg ICAgICAgICAiZnByZWdzZXRfdCBzaXplIG1pc21hdGNoIik7Cisrc3RhdGljX2Fzc2VydChzaXpl b2YoU2lnbmFsVmVjdG9yQ29udGV4dDY0KSA9PSBzaXplb2YodnJyZWdzZXRfdCksCisrICAgICAg ICAgICAgICAidnJyZWdzZXRfdCBzaXplIG1pc21hdGNoIik7Cisrc3RhdGljX2Fzc2VydChvZmZz ZXRvZihVQ29udGV4dCwgbWNvbnRleHQpID09CisrICAgICAgICAgICAgICBvZmZzZXRvZih1Y29u dGV4dF90LCB1Y19tY29udGV4dCksICJtY29udGV4dCBvZmZzZXQgbWlzbWF0Y2giKTsKKytzdGF0 aWNfYXNzZXJ0KG9mZnNldG9mKE1Db250ZXh0NjQsIGdwX3JlZ3MpID09CisrICAgICAgICAgICAg ICBvZmZzZXRvZihtY29udGV4dF90LCBncF9yZWdzKSwgImdwX3JlZ3Mgb2Zmc2V0IG1pc21hdGNo Iik7CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1J TFkKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKK0BAIC0yMDQsNiArMjA0LDggQEAgQ1BVQXJj aGl0ZWN0dXJlIFN5c3RlbVNuYXBzaG90TGludXg6OkdldAorICNlbGlmIGRlZmluZWQoQVJDSF9D UFVfTUlQU19GQU1JTFkpCisgICByZXR1cm4gcHJvY2Vzc19yZWFkZXJfLT5JczY0Qml0KCkgPyBr Q1BVQXJjaGl0ZWN0dXJlTUlQUzY0RUwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6IGtDUFVBcmNoaXRlY3R1cmVNSVBTRUw7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9Q UEM2NF9GQU1JTFkpCisrICByZXR1cm4ga0NQVUFyY2hpdGVjdHVyZVBQQzY0OworICNlbHNlCisg I2Vycm9yIHBvcnQgdG8geW91ciBhcmNoaXRlY3R1cmUKKyAjZW5kaWYKK0BAIC0yMTksNiArMjIx LDkgQEAgdWludDMyX3QgU3lzdGVtU25hcHNob3RMaW51eDo6Q1BVUmV2aXNpbworICNlbGlmIGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBN SVBTCisgICByZXR1cm4gMDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkK KysgIC8vIE5vdCB5ZXQgaW1wbGVtZW50ZWQgb24gUFBDNjQKKysgIHJldHVybiAwOworICNlbHNl CisgI2Vycm9yIHBvcnQgdG8geW91ciBhcmNoaXRlY3R1cmUKKyAjZW5kaWYKK0BAIC0yMzksNiAr MjQ0LDkgQEAgc3RkOjpzdHJpbmcgU3lzdGVtU25hcHNob3RMaW51eDo6Q1BVVmVuZAorICNlbGlm IGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBv biBNSVBTCisgICByZXR1cm4gc3RkOjpzdHJpbmcoKTsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BV X1BQQzY0X0ZBTUlMWSkKKysgIC8vIE5vdCB5ZXQgaW1wbGVtZW50ZWQgb24gUFBDNjQKKysgIHJl dHVybiBzdGQ6OnN0cmluZygpOworICNlbHNlCisgI2Vycm9yIHBvcnQgdG8geW91ciBhcmNoaXRl Y3R1cmUKKyAjZW5kaWYKK0BAIC0zNzIsNiArMzgwLDkgQEAgYm9vbCBTeXN0ZW1TbmFwc2hvdExp bnV4OjpOWEVuYWJsZWQoKSBjbworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkp CisgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBNSVBTCisgICByZXR1cm4gZmFsc2U7CisrI2Vs aWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICAvLyBOb3QgeWV0IGltcGxlbWVu dGVkIG9uIFBQQzY0CisrICByZXR1cm4gZmFsc2U7CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAj ZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90ZXN0X21vZHVs ZXMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMuY2MKK0BAIC0xMTAsNiArMTEwLDgg QEAgYm9vbCBXcml0ZVRlc3RNb2R1bGUoY29uc3QgYmFzZTo6RmlsZVBhdAorICAgbW9kdWxlLmVo ZHIuZV9tYWNoaW5lID0gRU1fQUFSQ0g2NDsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNF TCkgfHwgZGVmaW5lZChBUkNIX0NQVV9NSVBTNjRFTCkKKyAgIG1vZHVsZS5laGRyLmVfbWFjaGlu ZSA9IEVNX01JUFM7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NCkKKysgIG1vZHVsZS5l aGRyLmVfbWFjaGluZSA9IEVNX1BQQzY0OworICNlbmRpZgorIAorICAgbW9kdWxlLmVoZHIuZV92 ZXJzaW9uID0gRVZfQ1VSUkVOVDsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGlu dXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguY2MKK0BAIC0xODYs NiArMTg2LDE0IEBAIGJvb2wgVGhyZWFkU25hcHNob3RMaW51eDo6SW5pdGlhbGl6ZShQcm8KKyAg ICAgICAgIHRocmVhZC50aHJlYWRfaW5mby5mbG9hdF9jb250ZXh0LmYzMiwKKyAgICAgICAgIGNv bnRleHRfLm1pcHNlbCk7CisgICB9CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1J TFkpCisrICBjb250ZXh0Xy5hcmNoaXRlY3R1cmUgPSBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQ7Cisr ICBjb250ZXh0Xy5wcGM2NCA9ICZjb250ZXh0X3VuaW9uXy5wcGM2NDsKKysgIEluaXRpYWxpemVD UFVDb250ZXh0UFBDNjQ8Q29udGV4dFRyYWl0czY0PigKKysgICAgICB0aHJlYWQudGhyZWFkX2lu Zm8udGhyZWFkX2NvbnRleHQudDY0LAorKyAgICAgIHRocmVhZC50aHJlYWRfaW5mby5mbG9hdF9j b250ZXh0LmY2NCwKKysgICAgICB0aHJlYWQudGhyZWFkX2luZm8udmVjdG9yX2NvbnRleHQudjY0 LAorKyAgICAgIGNvbnRleHRfLnBwYzY0KTsKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRp ZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5oCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGlu dXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmgKK0BAIC02OCw2ICs2OCw4IEBAIGNsYXNzIFRocmVh ZFNuYXBzaG90TGludXggZmluYWwgOiBwdWJsaWMKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01J UFNfRkFNSUxZKQorICAgICBDUFVDb250ZXh0TUlQUyBtaXBzZWw7CisgICAgIENQVUNvbnRleHRN SVBTNjQgbWlwczY0OworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAg ICBDUFVDb250ZXh0UFBDNjQgcHBjNjQ7CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYg IC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC91dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MKK0BAIC01Niw2ICs1NiwxMSBAQCBib29s IEF1eGlsaWFyeVZlY3Rvcjo6UmVhZChQdHJhY2VDb25uZWN0CisgICAgIGlmICh0eXBlID09IEFU X0lHTk9SRSkgeworICAgICAgIGNvbnRpbnVlOworICAgICB9CisrI2lmIGRlZmluZWQoQVJDSF9D UFVfUFBDNjRfRkFNSUxZKQorKyAgICBpZiAodHlwZSA9PSBBVF9JR05PUkVQUEMpIHsKKysgICAg ICBjb250aW51ZTsKKysgICAgfQorKyNlbmRpZgorICAgICBpZiAoIU1hcEluc2VydE9yUmVwbGFj ZSgmdmFsdWVzXywgdHlwZSwgdmFsdWUsIG51bGxwdHIpKSB7CisgICAgICAgTE9HKEVSUk9SKSA8 PCAiZHVwbGljYXRlIGF1eHYgZW50cnkiOworICAgICAgIHJldHVybiBmYWxzZTsKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xp bnV4L3B0cmFjZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFjZXIuY2MKK0BAIC00MDEsNiArNDAxLDY0 IEBAIGJvb2wgR2V0VGhyZWFkQXJlYTY0KHBpZF90IHRpZCwKKyAgIHJldHVybiB0cnVlOworIH0K KyAKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysvLyBQUEM2NCBoYXMg aGFkIEhBVkVfQVJDSF9UUkFDRUhPT0sgc2V0IHNpbmNlIDIuNi4yNyAoZXZlbiBiZWZvcmUgeDg2 IGhhZCBpdCkuCisrLy8gVGhhdCBtZWFucyB3ZSBjYW4gc2ltcGx5IHVzZSBQVFJBQ0VfR0VUUkVH RVNFVC4KKysKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgRGVzdGluYXRpb24+CisrYm9vbCBHZXRSZWdp c3RlclNldChwaWRfdCB0aWQsIGludCBzZXQsIERlc3RpbmF0aW9uKiBkZXN0LCBib29sIGNhbl9s b2cpIHsKKysgIGlvdmVjIGlvdjsKKysgIGlvdi5pb3ZfYmFzZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8 dm9pZCo+KGRlc3QpOworKyAgaW92Lmlvdl9sZW4gPSBzaXplb2YoKmRlc3QpOworKyAgaWYgKHB0 cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHNldCks ICZpb3YpICE9IDApIHsKKysgICAgUExPR19JRihFUlJPUiwgY2FuX2xvZykgPDwgInB0cmFjZSI7 CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysgIGlmIChpb3YuaW92X2xlbiAhPSBzaXplb2Yo KmRlc3QpKSB7CisrICAgIExPR19JRihFUlJPUiwgY2FuX2xvZykgPDwgIlVuZXhwZWN0ZWQgcmVn aXN0ZXJzIHNpemUiOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrICByZXR1cm4gdHJ1ZTsK Kyt9CisrCisrYm9vbCBHZXRWZWN0b3JSZWdpc3RlcnM2NChwaWRfdCB0aWQsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICBWZWN0b3JDb250ZXh0KiBjb250ZXh0LAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCBjYW5fbG9nKSB7CisrICByZXR1cm4gR2V0UmVnaXN0ZXJTZXQodGlk LCBOVF9QUENfVk1YLCAmY29udGV4dC0+djY0LCBjYW5fbG9nKTsKKyt9CisrCisrYm9vbCBHZXRG bG9hdGluZ1BvaW50UmVnaXN0ZXJzNjQocGlkX3QgdGlkLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZsb2F0Q29udGV4dCogY29udGV4dCwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBib29sIGNhbl9sb2cpIHsKKysgIHJldHVybiBHZXRSZWdpc3RlclNldCh0 aWQsIE5UX1BSRlBSRUcsICZjb250ZXh0LT5mNjQsIGNhbl9sb2cpOworK30KKysKKytib29sIEdl dFRocmVhZEFyZWE2NChwaWRfdCB0aWQsCisrICAgICAgICAgICAgICAgICAgICAgY29uc3QgVGhy ZWFkQ29udGV4dCYgY29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICBMaW51eFZNQWRkcmVz cyogYWRkcmVzcywKKysgICAgICAgICAgICAgICAgICAgICBib29sIGNhbl9sb2cpIHsKKysgIC8v IFBQQzY0IGRvZXNuJ3QgaGF2ZSBQVFJBQ0VfR0VUX1RIUkVBRF9BUkVBIHNpbmNlIHRoZSB0aHJl YWQgcG9pbnRlcgorKyAgLy8gaXMgc3RvcmVkIGluIEdQUiAxMy4KKysgIFRocmVhZENvbnRleHQ6 OnQ2NF90IHRjOworKyAgaWYgKCFHZXRSZWdpc3RlclNldCh0aWQsIE5UX1BSU1RBVFVTLCAmdGMs IGNhbl9sb2cpKSB7CisrICAgIExPR19JRihFUlJPUiwgY2FuX2xvZykgPDwgIlVuYWJsZSB0byBn ZXQgdGhyZWFkIHBvaW50ZXIhIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQorKworKyAgKmFk ZHJlc3MgPSB0Yy5ncHJbMTNdOworKworKyAgcmV0dXJuIHRydWU7CisrfQorKworKy8vIFN0dWJz IGZvciAzMi1iaXQgZnVuY3Rpb25zIG5vdCBhcHBsaWNhYmxlIG9uIFBQQzY0CisrYm9vbCBHZXRG bG9hdGluZ1BvaW50UmVnaXN0ZXJzMzIocGlkX3QgdGlkLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZsb2F0Q29udGV4dCogY29udGV4dCwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBib29sIGNhbl9sb2cpIHsgcmV0dXJuIGZhbHNlOyB9CisrYm9vbCBHZXRU aHJlYWRBcmVhMzIocGlkX3QgdGlkLAorKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRocmVh ZENvbnRleHQgJmNvbnRleHQsCisrICAgICAgICAgICAgICAgICAgICAgTGludXhWTUFkZHJlc3Mg KmFkZHJlc3MsCisrICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5fbG9nKSB7IHJldHVybiBm YWxzZTsgfQorKworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9Y ODZfRkFNSUxZCitAQCAtNDk3LDYgKzU1NSw5IEBAIGJvb2wgUHRyYWNlcjo6R2V0VGhyZWFkSW5m byhwaWRfdCB0aWQsIFQKKyAgIGlmIChpc182NF9iaXRfKSB7CisgICAgIHJldHVybiBHZXRHZW5l cmFsUHVycG9zZVJlZ2lzdGVyczY0KHRpZCwgJmluZm8tPnRocmVhZF9jb250ZXh0LCBjYW5fbG9n XykgJiYKKyAgICAgICAgICAgIEdldEZsb2F0aW5nUG9pbnRSZWdpc3RlcnM2NCh0aWQsICZpbmZv LT5mbG9hdF9jb250ZXh0LCBjYW5fbG9nXykgJiYKKysjaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2 NF9GQU1JTFkpCisrICAgICAgICAgICBHZXRWZWN0b3JSZWdpc3RlcnM2NCh0aWQsICZpbmZvLT52 ZWN0b3JfY29udGV4dCwgY2FuX2xvZ18pICYmCisrI2VuZGlmCisgICAgICAgICAgICBHZXRUaHJl YWRBcmVhNjQodGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8tPnRocmVhZF9j b250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICZpbmZvLT50aHJlYWRfc3BlY2lm aWNfZGF0YV9hZGRyZXNzLAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAorKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgv dGhyZWFkX2luZm8uaAorQEAgLTM5LDYgKzM5LDEzIEBAIHN0cnVjdCB1c2VyX3ZmcF9leGMgewor ICNpbmNsdWRlIDxhbmRyb2lkL2FwaS1sZXZlbC5oPgorICNlbmRpZgorIAorKyNpZiBkZWZpbmVk KEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysjaW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+CisrI2lm ICFkZWZpbmVkKF9fR0xJQkNfXykKKysjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorKyNlbmRpZgor KyNlbmRpZgorKworIG5hbWVzcGFjZSBjcmFzaHBhZCB7CisgCisgLy8hIFxicmllZiBUaGUgc2V0 IG9mIGdlbmVyYWwgcHVycG9zZSByZWdpc3RlcnMgZm9yIGFuIGFyY2hpdGVjdHVyZSBmYW1pbHku CitAQCAtOTAsNiArOTcsOCBAQCB1bmlvbiBUaHJlYWRDb250ZXh0IHsKKyAgICAgdWludDMyX3Qg Y3AwX3N0YXR1czsKKyAgICAgdWludDMyX3QgY3AwX2NhdXNlOworICAgICB1aW50MzJfdCBwYWRk aW5nMV87CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICAgIC8vIFBQ QzY0IGlzIDY0LWJpdAorICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQ VV9YODZfRkFNSUxZCitAQCAtMTQzLDYgKzE1MiwyMSBAQCB1bmlvbiBUaHJlYWRDb250ZXh0IHsK KyAgICAgdWludDY0X3QgY3AwX2JhZHZhZGRyOworICAgICB1aW50NjRfdCBjcDBfc3RhdHVzOwor ICAgICB1aW50NjRfdCBjcDBfY2F1c2U7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9G QU1JTFkpCisrICAgIC8vIFJlZmxlY3RzIHN0cnVjdCBwdF9yZWdzIGluIGFzbS9wdHJhY2UuaC4K KysgICAgdWludDY0X3QgZ3ByWzMyXTsKKysgICAgdWludDY0X3QgbmlwOworKyAgICB1aW50NjRf dCBtc3I7CisrICAgIHVpbnQ2NF90IG9yaWdfZ3ByMzsKKysgICAgdWludDY0X3QgY3RyOworKyAg ICB1aW50NjRfdCBsbms7CisrICAgIHVpbnQ2NF90IHhlcjsKKysgICAgdWludDY0X3QgY2NyOwor KyAgICB1aW50NjRfdCBzb2Z0ZTsKKysgICAgdWludDY0X3QgdHJhcDsKKysgICAgdWludDY0X3Qg ZGFyOworKyAgICB1aW50NjRfdCBkc2lzcjsKKysgICAgdWludDY0X3QgcmVzdWx0OworICNlbHNl CisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCitAQCAtMTU0 LDYgKzE3OCw4IEBAIHVuaW9uIFRocmVhZENvbnRleHQgeworICAgdXNpbmcgTmF0aXZlVGhyZWFk Q29udGV4dCA9IHVzZXJfcmVnczsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZ KQorIC8vIE5vIGFwcHJvcHJpYXRlIE5hdGl2ZVRocmVhZHNDb250ZXh0IHR5cGUgYXZhaWxhYmxl IGZvciBNSVBTCisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICB1c2lu ZyBOYXRpdmVUaHJlYWRDb250ZXh0ID0gc3RydWN0IHB0X3JlZ3M7CisgI2Vsc2UKKyAjZXJyb3Ig UG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkgfHwgQVJDSF9DUFVfQVJNNjQK K0BAIC0yMjksNiArMjU1LDkgQEAgdW5pb24gRmxvYXRDb250ZXh0IHsKKyAgICAgfSBmcHJlZ3Nb MzJdOworICAgICB1aW50MzJfdCBmcGNzcjsKKyAgICAgdWludDMyX3QgZnB1X2lkOworKyNlbGlm IGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgICAvLyBDcmFzaHBhZCdzIFBQQyBz dXBwb3J0IGlzIDY0LWJpdCBvbmx5LCBzbyB0aGlzCisrICAgIC8vIDMyYml0LW9ubHkgc3RydWN0 IGlzIGRlY2xhcmVkIGFzIGVtcHR5LgorICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAv LyBBUkNIX0NQVV9YODZfRkFNSUxZCitAQCAtMjYzLDYgKzI5MiwxMCBAQCB1bmlvbiBGbG9hdENv bnRleHQgeworICAgICBkb3VibGUgZnByZWdzWzMyXTsKKyAgICAgdWludDMyX3QgZnBjc3I7Cisg ICAgIHVpbnQzMl90IGZwdV9pZDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlM WSkKKysgICAgLy8gUmVmbGVjdHMgZnByZWdzZXRfdCBpbiBzeXMvdWNvbnRleHQuaAorKyAgICBk b3VibGUgZnByZWdzWzMyXTsKKysgICAgZG91YmxlIGZwc2NyOworICNlbHNlCisgI2Vycm9yIFBv cnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCitAQCAtMjkxLDYgKzMyNCw4IEBA IHVuaW9uIEZsb2F0Q29udGV4dCB7CisgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihmNjQpID09IHNp emVvZih1c2VyX2Zwc2ltZF9zdHJ1Y3QpLCAiU2l6ZSBtaXNtYXRjaCIpOworICNlbGlmIGRlZmlu ZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgLy8gTm8gYXBwcm9wcmlhdGUgZmxvYXRpbmcgcG9p bnQgY29udGV4dCBuYXRpdmUgdHlwZSBmb3IgYXZhaWxhYmxlIE1JUFMuCisrI2VsaWYgZGVmaW5l ZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICBzdGF0aWNfYXNzZXJ0KHNpemVvZihmNjQpID09 IHNpemVvZihmcHJlZ3NldF90KSwgIlNpemUgbWlzbWF0Y2giKTsKKyAjZWxzZQorICNlcnJvciBQ b3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2CitAQCAtMjk4LDYgKzMzMywyNiBAQCB1bmlv biBGbG9hdENvbnRleHQgeworIHN0YXRpY19hc3NlcnQoc3RkOjppc19zdGFuZGFyZF9sYXlvdXQ8 RmxvYXRDb250ZXh0Pjo6dmFsdWUsCisgICAgICAgICAgICAgICAiTm90IHN0YW5kYXJkIGxheW91 dCIpOworIAorKy8vISBcYnJpZWYgVGhlIHZlY3RvciByZWdpc3RlcnMgdXNlZCBmb3IgYW4gYXJj aGl0ZWN0dXJlIGZhbWlseQorK3VuaW9uIFZlY3RvckNvbnRleHQgeworKyAgc3RydWN0IHYzMl90 IHt9IHYzMjsKKysjaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICBfX2F0dHJp YnV0ZV9fKChfX2FsaWduZWRfXygxNikpKSAvLyBWZWN0b3IgY29udGV4dCBtdXN0IGJlIGRvdWJs ZXdvcmQgYWxpZ25lZC4KKysjZW5kaWYKKysgIHN0cnVjdCB2NjRfdCB7CisrI2lmIGRlZmluZWQo QVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgICAvLyBSZWZsZWN0cyB2cnJlZ3NldF90IGluIHN5 cy91Y29udGV4dC5oCisrICAgIHVpbnQzMl90IHZycmVnc1szMl1bNF07CisrICAgIHN0cnVjdCB7 CisrICAgICAgdWludDMyX3QgX19wYWRbM107CisrICAgICAgdWludDMyX3QgdnNjcl93b3JkOwor KyAgICB9IHZzY3I7CisrICAgIHVpbnQzMl90IHZyc2F2ZTsKKysgICAgdWludDMyX3QgX19wYWRb M107CisrI2VuZGlmCisrICB9IHY2NDsKKyt9OworKworIC8vISBcYnJpZWYgQSBjb2xsZWN0aW9u IG9mIGBwdHJhY2VgLWFibGUgaW5mb3JtYXRpb24gYWJvdXQgYSB0aHJlYWQuCisgc3RydWN0IFRo cmVhZEluZm8geworICAgVGhyZWFkSW5mbygpOworQEAgLTMwOSw2ICszNjQsOSBAQCBzdHJ1Y3Qg VGhyZWFkSW5mbyB7CisgICAvLyEgXGJyaWVmIFRoZSBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMg Zm9yIHRoZSB0aHJlYWQuCisgICBGbG9hdENvbnRleHQgZmxvYXRfY29udGV4dDsKKyAKKysgIC8v ISBcYnJpZWYgKE9wdGlvbmFsKSBUaGUgdmVjdG9yIHJlZ2lzdGVycyB1c2VkIGZvciB0aGUgdGhy ZWFkLgorKyAgVmVjdG9yQ29udGV4dCB2ZWN0b3JfY29udGV4dDsKKysKKyAgIC8vISBcYnJpZWYg VGhlIHRocmVhZC1sb2NhbCBzdG9yYWdlIGFkZHJlc3MgZm9yIHRoZSB0aHJlYWQuCisgICBMaW51 eFZNQWRkcmVzcyB0aHJlYWRfc3BlY2lmaWNfZGF0YV9hZGRyZXNzOworIH07CistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNj L2NhcHR1cmVfY29udGV4dC5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dC5oCitAQCAtNjks NiArNjksNyBAQCB1c2luZyBOYXRpdmVDUFVDb250ZXh0ID0gdWNvbnRleHRfdDsKKyAvLyEgICAg IG1hY09TL0xpbnV4L0Z1Y2hzaWEgfCB4ODZfNjQgICAgICAgfCBgJSVyZGlgCisgLy8hICAgICBM aW51eCAgICAgICAgICAgICAgIHwgQVJNL0FSTTY0ICAgIHwgYHIwYC9geDBgCisgLy8hICAgICBM aW51eCAgICAgICAgICAgICAgIHwgTUlQUy9NSVBTNjQgIHwgYCRhMGAKKysvLyEgICAgIExpbnV4 ICAgICAgICAgICAgICAgfCBQUEM2NCAgICAgICAgfCBgcjNgCisgLy8hCisgLy8hICAgICBBZGRp dGlvbmFsbHksIHRoZSB2YWx1ZSBgTFJgIG9uIEFSTS9BUk02NCB3aWxsIGJlIHRoZSByZXR1cm4g YWRkcmVzcyBvZgorIC8vISAgICAgdGhpcyBmdW5jdGlvbi4KKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9j b250ZXh0X2xpbnV4LlMKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X2xpbnV4LlMKK0BAIC0z Miw3ICszMiw3IEBACisgICAuYmFsaWduIDQsIDB4MAorICAgLnR5cGUgQ0FQVFVSRUNPTlRFWFRf U1lNQk9MLCAlZnVuY3Rpb24KKyAgIC50eXBlIENBUFRVUkVDT05URVhUX1NZTUJPTDIsICVmdW5j dGlvbgorLSNlbGlmIGRlZmluZWQoX19taXBzX18pCisrI2VsaWYgZGVmaW5lZChfX21pcHNfXykg fHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgLmJhbGlnbiA0LCAweDAKKyAjZW5kaWYKKyAK K0BAIC00MjMsNCArNDIzLDIxNCBAQCBDQVBUVVJFQ09OVEVYVF9TWU1CT0wyOgorICAganIgJHJh CisgCisgICAuc2V0IGF0CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgLy8gU3Rv cmUgcjAtcjMxCisrICBzdGQgMCwgMHhlOCgzKSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0Lmdw X3JlZ3NbMF0KKysgIHN0ZCAxLCAweGYwKDMpICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3Bf cmVnc1sxXQorKyAgc3RkIDIsIDB4ZjgoMykgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9y ZWdzWzJdCisrICAvLyBub3RlIHRoYXQgcjMncyBvcmlnaW5hbCB2YWx1ZSB3YXMgbG9zdAorKyAg c3RkIDMsIDB4MTAwKDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzNdCisrICBz dGQgNCwgMHgxMDgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbNF0KKysgIHN0 ZCA1LCAweDExMCgzKSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1s1XQorKyAgc3Rk IDYsIDB4MTE4KDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzZdCisrICBzdGQg NywgMHgxMjAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbN10KKysgIHN0ZCA4 LCAweDEyOCgzKSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1s4XQorKyAgc3RkIDks IDB4MTMwKDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzldCisrICBzdGQgMTAs IDB4MTM4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTBdCisrICBzdGQgMTEs IDB4MTQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTFdCisrICBzdGQgMTIs IDB4MTQ4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTJdCisrICBzdGQgMTMs IDB4MTUwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTNdCisrICBzdGQgMTQs IDB4MTU4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTRdCisrICBzdGQgMTUs IDB4MTYwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTVdCisrICBzdGQgMTYs IDB4MTY4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTZdCisrICBzdGQgMTcs IDB4MTcwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTddCisrICBzdGQgMTgs IDB4MTc4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMThdCisrICBzdGQgMTks IDB4MTgwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMTldCisrICBzdGQgMjAs IDB4MTg4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjBdCisrICBzdGQgMjEs IDB4MTkwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjFdCisrICBzdGQgMjIs IDB4MTk4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjJdCisrICBzdGQgMjMs IDB4MWEwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjNdCisrICBzdGQgMjQs IDB4MWE4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjRdCisrICBzdGQgMjUs IDB4MWIwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjVdCisrICBzdGQgMjYs IDB4MWI4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjZdCisrICBzdGQgMjcs IDB4MWMwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjddCisrICBzdGQgMjgs IDB4MWM4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjhdCisrICBzdGQgMjks IDB4MWQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMjldCisrICBzdGQgMzAs IDB4MWQ4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMzBdCisrICBzdGQgMzEs IDB4MWUwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMzFdCisrCisrICAvLyBG b3IgTklQLCB3ZSBjYW4gdXNlIHRoZSB2YWx1ZSBpbiB0aGUgbGluayByZWdpc3RlcgorKyAgbWZs ciAwCisrICBzdGQgMCwgMHgxZTgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQ VF9OSVBdCisrCisrICAvLyBDVFIKKysgIG1mY3RyIDAKKysgIHN0ZCAwLCAweDIwMCgzKSAvLyBj b250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0NUUl0KKysKKysgIC8vIEZvciBMTkssIHdl J2xsIHVzZSB0aGUgY2FsbGVyJ3MgTFIgc2F2ZSBhcmVhICgyIHN0YWNrIGZyYW1lcyB1cCkuCisr ICAvLyByNCBjYW4gYmUgdXNlZCBhcyBhIHNjcmF0Y2ggcmVnaXN0ZXIgc2luY2UgaXQgaGFzIGFs cmVhZHkgYmVlbiBzYXZlZC4KKysgIGxkIDQsIDAoMSkKKysgIGxkIDQsIDE2KDQpCisrICBzdGQg NCwgMHgyMDgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9MTktdCisrCisr ICAvLyBYRVIKKysgIG1meGVyIDAKKysgIHN0ZCAwLCAweDIxMCgzKSAvLyBjb250ZXh0LT51Y19t Y29udGV4dC5ncF9yZWdzW1BUX1hFUl0KKysKKysgIC8vIENDUgorKyAgbWZjciAwCisrICBzdGQg MCwgMHgyMTgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9DQ1JdCisrCisr ICAvLyBNU1IsIG9yaWdfcjMsIE1RLCBUUkFQLCBEQVIsIERTSVNSLCBSRVNVTFQsIERTQ1IsCisr ICAvLyBub3QgdXNlZCBvciBub3QgcmVsZXZhbnQsICB6ZXJvIHRoZW0gb3V0LgorKyAgbGkgNCwg MAorKyAgc3RkIDQsIDB4MWYwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRf TVNSXQorKyAgc3RkIDQsIDB4MWY4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3Nb UFRfT1JJR19SM10KKysgIHN0ZCA0LCAweDIyMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5n cF9yZWdzW1BUX01RXQorKyAgc3RkIDQsIDB4MjI4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmdwX3JlZ3NbUFRfVFJBUF0KKysgIHN0ZCA0LCAweDIzMCgzKSAvLyBjb250ZXh0LT51Y19tY29u dGV4dC5ncF9yZWdzW1BUX0RBUl0KKysgIHN0ZCA0LCAweDIzOCgzKSAvLyBjb250ZXh0LT51Y19t Y29udGV4dC5ncF9yZWdzW1BUX0RTSVNSXQorKyAgc3RkIDQsIDB4MjQwKDMpIC8vIGNvbnRleHQt PnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfUkVTVUxUXQorKyAgc3RkIDQsIDB4MjQ4KDMpIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfRFNDUl0KKysKKysgIC8vIFVwZGF0ZSBjb250 ZXh0LT51Y19tY29udGV4dC5yZWdzIHRvIHBvaW50IHRvIGdwX3JlZ3MKKysgIGFkZGkgMCwgMywg MHhlOAorKyAgc3RkIDAsIDB4ZTAoMykKKysKKysgIC8vIFNhdmUgZmxvYXRpbmcgcG9pbnQgcmVn aXN0ZXJzIDAtMzEKKysgIHN0ZmQgMCwgMHgyNjgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3NbMF0KKysgIHN0ZmQgMSwgMHgyNzAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3NbMV0KKysgIHN0ZmQgMiwgMHgyNzgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3NbMl0KKysgIHN0ZmQgMywgMHgyODAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3NbM10KKysgIHN0ZmQgNCwgMHgyODgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3NbNF0KKysgIHN0ZmQgNSwgMHgyOTAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3NbNV0KKysgIHN0ZmQgNiwgMHgyOTgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3NbNl0KKysgIHN0ZmQgNywgMHgyYTAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3NbN10KKysgIHN0ZmQgOCwgMHgyYTgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3NbOF0KKysgIHN0ZmQgOSwgMHgyYjAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3NbOV0KKysgIHN0ZmQgMTAsIDB4MmI4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3NbMTBdCisrICBzdGZkIDExLCAweDJjMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4 dC5mcF9yZWdzWzExXQorKyAgc3RmZCAxMiwgMHgyYzgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRl eHQuZnBfcmVnc1sxMl0KKysgIHN0ZmQgMTMsIDB4MmQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250 ZXh0LmZwX3JlZ3NbMTNdCisrICBzdGZkIDE0LCAweDJkOCgzKSAvLyBjb250ZXh0LT51Y19tY29u dGV4dC5mcF9yZWdzWzE0XQorKyAgc3RmZCAxNSwgMHgyZTAoMykgLy8gY29udGV4dC0+dWNfbWNv bnRleHQuZnBfcmVnc1sxNV0KKysgIHN0ZmQgMTYsIDB4MmU4KDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmZwX3JlZ3NbMTZdCisrICBzdGZkIDE3LCAweDJmMCgzKSAvLyBjb250ZXh0LT51Y19t Y29udGV4dC5mcF9yZWdzWzE3XQorKyAgc3RmZCAxOCwgMHgyZjgoMykgLy8gY29udGV4dC0+dWNf bWNvbnRleHQuZnBfcmVnc1sxOF0KKysgIHN0ZmQgMTksIDB4MzAwKDMpIC8vIGNvbnRleHQtPnVj X21jb250ZXh0LmZwX3JlZ3NbMTldCisrICBzdGZkIDIwLCAweDMwOCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5mcF9yZWdzWzIwXQorKyAgc3RmZCAyMSwgMHgzMTAoMykgLy8gY29udGV4dC0+ dWNfbWNvbnRleHQuZnBfcmVnc1syMV0KKysgIHN0ZmQgMjIsIDB4MzE4KDMpIC8vIGNvbnRleHQt PnVjX21jb250ZXh0LmZwX3JlZ3NbMjJdCisrICBzdGZkIDIzLCAweDMyMCgzKSAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5mcF9yZWdzWzIzXQorKyAgc3RmZCAyNCwgMHgzMjgoMykgLy8gY29udGV4 dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syNF0KKysgIHN0ZmQgMjUsIDB4MzMwKDMpIC8vIGNvbnRl eHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjVdCisrICBzdGZkIDI2LCAweDMzOCgzKSAvLyBjb250 ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzI2XQorKyAgc3RmZCAyNywgMHgzNDAoMykgLy8gY29u dGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syN10KKysgIHN0ZmQgMjgsIDB4MzQ4KDMpIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjhdCisrICBzdGZkIDI5LCAweDM1MCgzKSAvLyBj b250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzI5XQorKyAgc3RmZCAzMCwgMHgzNTgoMykgLy8g Y29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1szMF0KKysgIHN0ZmQgMzEsIDB4MzYwKDMpIC8v IGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMzFdCisrCisrICAvLyBGUFNDUgorKyAgbWZm cyAwCisrICBzdGZkIDAsIDB4MzY4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3Nb MzJdCisrCisrICAvLyBTYXZlIFZNWCBWZWN0b3IgcmVnaXN0ZXJzCisrICAvLyBVcGRhdGUgcjQg dG8gY29udGFpbiB0aGUgYmFzZSBhZGRyZXNzIG9mIHZteF9yZXNlcnZlCisrICBhZGRpIDQsIDMs IDB4Mzc4CisrICAvLyBFbnN1cmUgdGhhdCBpdCBpcyBxdWFkd29yZCBhbGlnbmVkCisrICBhbmRp LiA1LCA0LCAweEYKKysgIGJlcSAxZiAvLyBObyBhbGlnbm1lbnQgaXMgbmVjZXNzYXJ5CisrICAv LyBBZGRyZXNzIGlzIGRvdWJsZXdvcmQgYWxpZ25lZCBhbmQgbm90IHF1YWR3b3JkIGFsaWduZWQs IGFkZCA4CisrICBhZGRpIDQsIDQsIDgKKysKKysxOgorKyAgLy8gU3RvcmUgVk1YIHJlZ2lzdGVy cyAwLTMxCisrICAvLyByNCB3aWxsIGNvbnRhaW4gdGhlIGJhc2UgYWRkcmVzcworKyAgLy8gcjUg d2lsbCBjb250YWluIHRoZSBpbmRleAorKyAgbGkgNSwgMAorKyAgc3R2eCAwLCA0LCA1ICAgLy8g Y29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDBdCisrICBhZGRpIDUs IDUsIDE2CisrICBzdHZ4IDEsIDQsIDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVz ZXJ2ZVsoYWxpZ24pICsgMV0KKysgIGFkZGkgNSwgNSwgMTYKKysgIHN0dnggMiwgNCwgNSAgIC8v IGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAyXQorKyAgYWRkaSA1 LCA1LCAxNgorKyAgc3R2eCAzLCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jl c2VydmVbKGFsaWduKSArIDNdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDQsIDQsIDUgICAv LyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgNF0KKysgIGFkZGkg NSwgNSwgMTYKKysgIHN0dnggNSwgNCwgNSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9y ZXNlcnZlWyhhbGlnbikgKyA1XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCA2LCA0LCA1ICAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDZdCisrICBhZGRp IDUsIDUsIDE2CisrICBzdHZ4IDcsIDQsIDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhf cmVzZXJ2ZVsoYWxpZ24pICsgN10KKysgIGFkZGkgNSwgNSwgMTYKKysgIHN0dnggOCwgNCwgNSAg IC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyA4XQorKyAgYWRk aSA1LCA1LCAxNgorKyAgc3R2eCA5LCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14 X3Jlc2VydmVbKGFsaWduKSArIDldCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDEwLCA0LCA1 ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTBdCisrICBh ZGRpIDUsIDUsIDE2CisrICBzdHZ4IDExLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52 bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTFdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDEyLCA0 LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTJdCisr ICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDEzLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4 dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTNdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE0 LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTRd CisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE1LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29u dGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTVdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4 IDE2LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsg MTZdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE3LCA0LCA1ICAvLyBjb250ZXh0LT51Y19t Y29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTddCisrICBhZGRpIDUsIDUsIDE2CisrICBz dHZ4IDE4LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24p ICsgMThdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE5LCA0LCA1ICAvLyBjb250ZXh0LT51 Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTldCisrICBhZGRpIDUsIDUsIDE2Cisr ICBzdHZ4IDIwLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxp Z24pICsgMjBdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDIxLCA0LCA1ICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjFdCisrICBhZGRpIDUsIDUsIDE2 CisrICBzdHZ4IDIyLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVso YWxpZ24pICsgMjJdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDIzLCA0LCA1ICAvLyBjb250 ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjNdCisrICBhZGRpIDUsIDUs IDE2CisrICBzdHZ4IDI0LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2 ZVsoYWxpZ24pICsgMjRdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI1LCA0LCA1ICAvLyBj b250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjVdCisrICBhZGRpIDUs IDUsIDE2CisrICBzdHZ4IDI2LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVz ZXJ2ZVsoYWxpZ24pICsgMjZdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI3LCA0LCA1ICAv LyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjddCisrICBhZGRp IDUsIDUsIDE2CisrICBzdHZ4IDI4LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhf cmVzZXJ2ZVsoYWxpZ24pICsgMjhdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI5LCA0LCA1 ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjldCisrICBh ZGRpIDUsIDUsIDE2CisrICBzdHZ4IDMwLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52 bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMzBdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDMxLCA0 LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMzFdCisr ICBhZGRpIDUsIDUsIDE2CisrCisrICAvLyBWU0NSCisrICBtZnZzY3IgMAorKyAgc3R2eCAwLCA0 LCA1CisrICBhZGRpIDUsIDUsIDE2CisrCisrICAvLyBWUlNBVkUKKysgIG1mdnJzYXZlIDAKKysg IHN0d3ggMCwgNCwgNQorKworKyAgLy8gVXBkYXRlIGNvbnRleHQtPnVjX21jb250ZXh0LnZfcmVn cyB0byBwb2ludCB0byB2bXhfcmVzZXJ2ZSArIGFsaWdubWVudC4KKysgIHN0ZCA0LCAweDM3MCgz KQorKworKyAgLy8gWmVybyBvdXQgYWxsIHVudXNlZCBmaWVsZHMKKysgIGxpIDQsIDAKKysgIHN0 ZCA0LCAweGM4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnNpZ25hbAorKyAgc3RkIDQsIDB4 ZDAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuaGFuZGxlcgorKyAgc3RkIDQsIDB4ZDgoMykg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQub2xkbWFzaworKworKyAgYmxyCisgI2VuZGlmICAvLyBf X2kzODZfXworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdC5jYworKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9j YXB0dXJlX2NvbnRleHRfdGVzdC5jYworQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBUZXN0Q2FwdHVy ZUNvbnRleHQoKSB7CisgICB1aW50cHRyX3QgcGMgPSBQcm9ncmFtQ291bnRlckZyb21Db250ZXh0 KGNvbnRleHRfMSk7CisgCisgI2lmICFkZWZpbmVkKEFERFJFU1NfU0FOSVRJWkVSKSAmJiAhZGVm aW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgXAorLSAgICAhZGVmaW5lZChNRU1PUllfU0FO SVRJWkVSKQorKyAgICAhZGVmaW5lZChNRU1PUllfU0FOSVRJWkVSKSAmJiAhZGVmaW5lZChBUkNI X0NQVV9QUEM2NF9GQU1JTFkpCisgICAvLyBTYW5pdGl6ZXJzIGNhbiBjYXVzZSBlbm91Z2ggY29k ZSBibG9hdCB0aGF0IHRoZSDigJxuZWFyYnnigJ0gY2hlY2sgd291bGQKKyAgIC8vIGxpa2VseSBm YWlsLgorICAgY29uc3QgdWludHB0cl90IGtSZWZlcmVuY2VQQyA9CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1 cmVfY29udGV4dF90ZXN0X3V0aWxfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0 X3Rlc3RfdXRpbF9saW51eC5jYworQEAgLTM1LDYgKzM1LDggQEAgdm9pZCBTYW5pdHlDaGVja0Nv bnRleHQoY29uc3QgTmF0aXZlQ1BVQworICAgRVhQRUNUX0VRKGNvbnRleHQudWNfbWNvbnRleHQu cmVnc1swXSwgRnJvbVBvaW50ZXJDYXN0PHVpbnRwdHJfdD4oJmNvbnRleHQpKTsKKyAjZWxpZiBk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgRVhQRUNUX0VRKGNvbnRleHQudWNfbWNv bnRleHQuZ3JlZ3NbNF0sIEZyb21Qb2ludGVyQ2FzdDx1aW50cHRyX3Q+KCZjb250ZXh0KSk7Cisr I2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICBFWFBFQ1RfRVEoY29udGV4 dC51Y19tY29udGV4dC5ncF9yZWdzWzNdLCBGcm9tUG9pbnRlckNhc3Q8dWludHB0cl90PigmY29u dGV4dCkpOworICNlbmRpZgorIH0KKyAKK0BAIC00OSw2ICs1MSw4IEBAIHVpbnRwdHJfdCBQcm9n cmFtQ291bnRlckZyb21Db250ZXh0KGNvbnMKKyAgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0 LnBjOworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICByZXR1cm4gY29u dGV4dC51Y19tY29udGV4dC5wYzsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlM WSkKKysgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTklQXTsKKyAjZW5k aWYKKyB9CisgCitAQCAtNjMsNiArNjcsOCBAQCB1aW50cHRyX3QgU3RhY2tQb2ludGVyRnJvbUNv bnRleHQoY29uc3QKKyAgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0LnNwOworICNlbGlmIGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICByZXR1cm4gY29udGV4dC51Y19tY29udGV4 dC5ncmVnc1syOV07CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICBy ZXR1cm4gY29udGV4dC51Y19tY29udGV4dC5ncF9yZWdzWzFdOworICNlbmRpZgorIH0KKyAKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91 dGlsL3Bvc2l4L3NpZ25hbHNfdGVzdC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvcG9zaXgvc2lnbmFsc190ZXN0LmNjCitA QCAtNDYsOSArNDYsOSBAQCBib29sIENhbkNhdXNlU2lnbmFsKGludCBzaWcpIHsKKyAgIHJldHVy biBzaWcgPT0gU0lHQUJSVCB8fAorICAgICAgICAgIHNpZyA9PSBTSUdBTFJNIHx8CisgICAgICAg ICAgc2lnID09IFNJR0JVUyB8fAorLSNpZiAhZGVmaW5lZChBUkNIX0NQVV9BUk02NCkKKysjaWYg IWRlZmluZWQoQVJDSF9DUFVfQVJNNjQpICYmICFkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQorICAg ICAgICAgIHNpZyA9PSBTSUdGUEUgfHwKKy0jZW5kaWYgIC8vICFkZWZpbmVkKEFSQ0hfQ1BVX0FS TTY0KQorKyNlbmRpZiAgLy8gIWRlZmluZWQoQVJDSF9DUFVfQVJNNjQpICYmICFkZWZpbmVkKEFS Q0hfQ1BVX1BQQzY0KQorICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9GQU1JTFkpIHx8IGRlZmlu ZWQoQVJDSF9DUFVfQVJNRUwpCisgICAgICAgICAgc2lnID09IFNJR0lMTCB8fAorICNlbmRpZiAg Ly8gZGVmaW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTUVM KQorQEAgLTExNyw5ICsxMTcsMTEgQEAgdm9pZCBDYXVzZVNpZ25hbChpbnQgc2lnKSB7CisgICAg ICAgYnJlYWs7CisgICAgIH0KKyAKKy0jaWYgIWRlZmluZWQoQVJDSF9DUFVfQVJNNjQpCisrI2lm ICFkZWZpbmVkKEFSQ0hfQ1BVX0FSTTY0KSAmJiAhZGVmaW5lZChBUkNIX0NQVV9QUEM2NCkKKyAg ICAgLy8gQVJNNjQgaGFzIGhhcmR3YXJlIGludGVnZXIgZGl2aXNpb24gaW5zdHJ1Y3Rpb25zIHRo YXQgZG9u4oCZdCBnZW5lcmF0ZSBhCisgICAgIC8vIHRyYXAgZm9yIGRpdmlkZS1ieS16ZXJvLCBz byB0aGlzIGRvZXNu4oCZdCBwcm9kdWNlIFNJR0ZQRS4KKysgICAgLy8KKysgICAgLy8gUFBDNjQg Zml4ZWQtcG9pbnQgZGl2aXNpb24gYnkgemVybyBhbHNvIGRvZXNuJ3QgcHJvZHVjZSBhIFNJR0ZQ RS4KKyAgICAgY2FzZSBTSUdGUEU6IHsKKyAgICAgICAvLyBPcHRpbWl6YXRpb24gbWFrZXMgdGhp cyB0cmlja3ksIHNvIGdldCB6ZXJvIGZyb20gYSBzeXN0ZW0gY2FsbCBsaWtlbHkKKyAgICAgICAv LyB0byBzdWNjZWVkLCBhbmQgdHJ5IHRvIGRvIHNvbWV0aGluZyB3aXRoIHRoZSByZXN1bHQuCitA QCAtMTM3LDcgKzEzOSw3IEBAIHZvaWQgQ2F1c2VTaWduYWwoaW50IHNpZykgeworICAgICAgIGZz dGF0KHF1b3RpZW50LCAmc3RhdF9idWYpOworICAgICAgIGJyZWFrOworICAgICB9CistI2VuZGlm ICAvLyBBUkNIX0NQVV9BUk02NAorKyNlbmRpZiAgLy8gIWRlZmluZWQoQVJDSF9DUFVfQVJNNjQp ICYmICFkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQorIAorICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4 Nl9GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNRUwpCisgICAgIGNhc2UgU0lHSUxMOiB7 CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGF2MWQvQlVJTEQuZ24K KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kYXYxZC9CVUlMRC5nbgor QEAgLTE5Niw2ICsxOTYsOCBAQCBzdGF0aWNfbGlicmFyeSgiZGF2MWRfOGJpdCIpIHsKKyAgICAg c291cmNlcyArPSBhcm1fdGVtcGxhdGVfc291cmNlcworICAgfSBlbHNlIGlmIChjdXJyZW50X2Nw dSA9PSAiYXJtNjQiKSB7CisgICAgIHNvdXJjZXMgKz0gYXJtX3RlbXBsYXRlX3NvdXJjZXMKKysg IH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0IikgeworKyAgICBzb3VyY2VzICs9IHBw YzY0X3RlbXBsYXRlX3NvdXJjZXMKKyAgIH0KKyAKKyAgIGNmbGFncyA9IGRhdjFkX2NvcHRzCitA QCAtMjI2LDYgKzIyOCw4IEBAIHN0YXRpY19saWJyYXJ5KCJkYXYxZF8xMGJpdCIpIHsKKyAgICAg c291cmNlcyArPSBhcm1fdGVtcGxhdGVfc291cmNlcworICAgfSBlbHNlIGlmIChjdXJyZW50X2Nw dSA9PSAiYXJtNjQiKSB7CisgICAgIHNvdXJjZXMgKz0gYXJtX3RlbXBsYXRlX3NvdXJjZXMKKysg IH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0IikgeworKyAgICBzb3VyY2VzICs9IHBw YzY0X3RlbXBsYXRlX3NvdXJjZXMKKyAgIH0KKyAKKyAgIGNmbGFncyA9IGRhdjFkX2NvcHRzCitA QCAtMjgzLDYgKzI4NywyMSBAQCBpZiAoY3VycmVudF9jcHUgPT0gIng4NiIgfHwgY3VycmVudF9j cHUKKyAgICAgfQorIAorICAgICBjZmxhZ3MgPSBkYXYxZF9jb3B0cworKyAgfQorK30gZWxzZSBp ZiAoY3VycmVudF9jcHUgPT0gInBwYzY0IikgeworKyAgc3RhdGljX2xpYnJhcnkoImRhdjFkX3Bw YyIpIHsKKysgICAgc291cmNlcyA9IFsKKysgICAgICAibGliZGF2MWQvc3JjL3BwYy9jcHUuYyIs CisrICAgICAgImxpYmRhdjFkL3NyYy9wcGMvY3B1LmgiLAorKyAgICBdCisrCisrICAgIGNvbmZp Z3MgLT0gWyAiLy9idWlsZC9jb25maWcvY29tcGlsZXI6Y2hyb21pdW1fY29kZSIgXQorKyAgICBj b25maWdzICs9IFsKKysgICAgICAiLy9idWlsZC9jb25maWcvY29tcGlsZXI6bm9fY2hyb21pdW1f Y29kZSIsCisrICAgICAgIjpkYXYxZF9jb25maWciLAorKyAgICBdCisrCisrICAgIGNmbGFncyA9 IGRhdjFkX2NvcHRzCisgCisgICAgIGRlcHMgPSBbICI6ZGF2MWRfaGVhZGVycyIgXQorICAgICBh bGxvd19jaXJjdWxhcl9pbmNsdWRlc19mcm9tID0gWyAiOmRhdjFkX2hlYWRlcnMiIF0KK0BAIC0z MTUsNSArMzM0LDcgQEAgc3RhdGljX2xpYnJhcnkoImRhdjFkIikgeworICAgICB9CisgICB9IGVs c2UgaWYgKGN1cnJlbnRfY3B1ID09ICJhcm0iIHx8IGN1cnJlbnRfY3B1ID09ICJhcm02NCIpIHsK KyAgICAgZGVwcyArPSBbICI6ZGF2MWRfYXJtIiBdCisrICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1 ID09ICJwcGM2NCIpIHsKKysgICAgZGVwcyArPSBbICI6ZGF2MWRfcHBjIiBdCisgICB9CisgfQor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2RhdjFkL2RhdjFkX2dlbmVy YXRlZC5nbmkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kYXYxZC9k YXYxZF9nZW5lcmF0ZWQuZ25pCitAQCAtMTAzLDYgKzEwMywxMSBAQCBhcm1fdGVtcGxhdGVfc291 cmNlcyA9IFsKKyAgICJsaWJkYXYxZC9zcmMvYXJtL21jX2luaXRfdG1wbC5jIiwKKyBdCisgCisr cHBjNjRfdGVtcGxhdGVfc291cmNlcyA9IFsKKysgICJsaWJkYXYxZC9zcmMvcHBjL2NkZWZfaW5p dF90bXBsLmMiLAorKyAgImxpYmRhdjFkL3NyYy9wcGMvbG9vcHJlc3RvcmF0aW9uX2luaXRfdG1w bC5jIiwKKytdCisrCisgdGVtcGxhdGVfc291cmNlcyA9IFsKKyAgICJsaWJkYXYxZC9zcmMvY2Rl Zl9hcHBseV90bXBsLmMiLAorICAgImxpYmRhdjFkL3NyYy9jZGVmX3RtcGwuYyIsCistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGF2MWQvZ2VuZXJhdGVfc291cmNlLnB5 CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGF2MWQvZ2VuZXJhdGVf c291cmNlLnB5CitAQCAtNTcsNiArNTcsOCBAQCBkZWYgX1dyaXRlR24oZmQpOgorICAgX1dyaXRl QXJyYXkoZmQsICJhcm02NF9hc21fc291cmNlcyIsIF9HbG9iKCJsaWJkYXYxZC9zcmMvYXJtLzY0 LyouUyIpKQorICAgX1dyaXRlQXJyYXkoZmQsICJhcm1fdGVtcGxhdGVfc291cmNlcyIsIF9HbG9i KCJsaWJkYXYxZC9zcmMvYXJtLypfdG1wbC5jIikpCisgCisrICBfV3JpdGVBcnJheShmZCwgInBw YzY0X3RlbXBsYXRlX3NvdXJjZXMiLCBfR2xvYigibGliZGF2MWQvc3JjL3BwYy8qX3RtcGwuYyIp KQorKworICAgdGVtcGxhdGVfc291cmNlcyA9IF9HbG9iKCJsaWJkYXYxZC9zcmMvKl90bXBsLmMi KQorICAgX1dyaXRlQXJyYXkoZmQsICJ0ZW1wbGF0ZV9zb3VyY2VzIiwgdGVtcGxhdGVfc291cmNl cykKKyAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kYXYxZC9saWJk YXYxZC9zcmMvcHBjL3R5cGVzLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9kYXYxZC9saWJkYXYxZC9zcmMvcHBjL3R5cGVzLmgKK0BAIC01MSw0ICs1MSwxOSBAQAor ICNkZWZpbmUgdTE2bF90b19pMzIodikgKChpMzJ4NCkgdmVjX21lcmdlbCgodTE2eDgpIHYsIHZl Y19zcGxhdF91MTYoMCkpKQorICNkZWZpbmUgaTE2bF90b19pMzIodikgKChpMzJ4NCkgdmVjX3Vu cGFja2woKGkxNng4KXYpKQorIAorKyNpZiBkZWZpbmVkKF9fY2xhbmdfXykKKysjdW5kZWYgdmVj X3NwbGF0cworKyNkZWZpbmUgdmVjX3NwbGF0cyhOKSAgICAgICAgICAgICAgICAgICAgIFwKKysg ICAgX0dlbmVyaWMoKE4pLCAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgICAgICB1bnNp Z25lZCBjaGFyOiAgICAgICgodTh4MTYpKE4pKSwgXAorKyAgICAgICAgc2lnbmVkIGNoYXI6ICAg ICAgICAoKGk4eDE2KShOKSksIFwKKysgICAgICAgIHVuc2lnbmVkIHNob3J0OiAgICAgKCh1MTZ4 OCkoTikpLCBcCisrICAgICAgICBzaWduZWQgc2hvcnQ6ICAgICAgICgoaTE2eDgpKE4pKSwgXAor KyAgICAgICAgdW5zaWduZWQgaW50OiAgICAgICAoKHUzMng0KShOKSksIFwKKysgICAgICAgIHNp Z25lZCBpbnQ6ICAgICAgICAgKChpMzJ4NCkoTikpLCBcCisrICAgICAgICB1bnNpZ25lZCBsb25n IGxvbmc6ICgodTY0eDIpKE4pKSwgXAorKyAgICAgICAgc2lnbmVkIGxvbmcgbG9uZzogICAoKGk2 NHgyKShOKSkgIFwKKysgICAgKQorKyNlbmRpZgorKworICNlbmRpZiAvKiBEQVYxRF9TUkNfUFBD X1RZUEVTX0ggKi8KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9laWdl bjMvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9laWdl bjMvQlVJTEQuZ24KK0BAIC0yMiw0ICsyMiw4IEBAIGNvbmZpZygiZWlnZW5faW5jbHVkZXMiKSB7 CisgICAgICMgZm9yIHRoaXMgY29tcG9uZW50IG9uIFdpbmRvd3Mgb24gQXJtIGR1ZSB0byBjb21w aWxhdGlvbiBlcnJvcnMuCisgICAgIGRlZmluZXMgKz0gWyAiRUlHRU5fRE9OVF9WRUNUT1JJWkUi IF0KKyAgIH0KKysKKysgIGlmICh0YXJnZXRfY3B1ID09ICJwcGM2NCIpIHsKKysgICAgZGVmaW5l cyArPSBbICJFSUdFTl9ET05UX1ZFQ1RPUklaRSIgXQorKyAgfQorIH0KKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9saWJhb20vQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9saWJhb20vQlVJTEQuZ24KK0BAIC0zNyw2ICszNyw4 IEBAIGlmIChlbmFibGVfbGliYW9tKSB7CisgICAgIH0gZWxzZSB7CisgICAgICAgY3B1X2FyY2hf ZnVsbCA9ICJhcm0iCisgICAgIH0KKysgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0 IikgeworKyAgICBjcHVfYXJjaF9mdWxsID0gImdlbmVyaWMiCisgICB9IGVsc2UgeworICAgICBj cHVfYXJjaF9mdWxsID0gY3VycmVudF9jcHUKKyAgIH0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9saWJnYXYxL29wdGlvbnMuZ25pCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvbGliZ2F2MS9vcHRpb25zLmduaQorQEAgLTEyLDUgKzEyLDUg QEAgZGVjbGFyZV9hcmdzKCkgeworICAgICAgIGlzX2Nocm9tZW9zX2FzaCAmJiAodGFyZ2V0X2Nw dSA9PSAiYXJtIiB8fCB0YXJnZXRfY3B1ID09ICJhcm02NCIpCisgICB1c2VfbGliZ2F2MV9wYXJz ZXIgPQorICAgICAgIChpc19jaHJvbWVvcyB8fCBpc19saW51eCB8fCBpc193aW4pICYmCistICAg ICAgKHRhcmdldF9jcHUgPT0gIng4NiIgfHwgdGFyZ2V0X2NwdSA9PSAieDY0IiB8fCB0YXJnZXRf Y3B1ID09ICJhcm02NCIpCisrICAgICAgKHRhcmdldF9jcHUgPT0gIng4NiIgfHwgdGFyZ2V0X2Nw dSA9PSAieDY0IiB8fCB0YXJnZXRfY3B1ID09ICJhcm02NCIgfHwgdGFyZ2V0X2NwdSA9PSAicHBj NjQiKQorIH0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9sc3MvbGlu dXhfc3lzY2FsbF9zdXBwb3J0LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKK0BAIC00MjYyLDcgKzQyNjIsNyBAQCBz dHJ1Y3Qga2VybmVsX3N0YXRmcyB7CisgICAgICAgTFNTX1JFRygyLCBidWYpOworICAgICAgIExT U19CT0RZKHZvaWQqLCBtbWFwMiwgIjAiKF9fcjIpKTsKKyAgICAgfQorLSNlbHNlCisrI2VsaWYg IWRlZmluZWQoX19wb3dlcnBjNjRfXykgLyogcHBjNjQgZG9lc24ndCBoYXZlIG1tYXAyICovCisg ICAgICNkZWZpbmUgX19OUl9fbW1hcDIgX19OUl9tbWFwMgorICAgICBMU1NfSU5MSU5FIF9zeXNj YWxsNih2b2lkKiwgX21tYXAyLCAgICAgICAgICAgIHZvaWQqLCBzLAorICAgICAgICAgICAgICAg ICAgICAgICAgICBzaXplX3QsICAgICAgICAgICAgICAgICAgIGwsIGludCwgICAgICAgICAgICAg ICBwLAorQEAgLTQzNzMsNyArNDM3Myw3IEBAIHN0cnVjdCBrZXJuZWxfc3RhdGZzIHsKKyAgICNp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisgICAgICAgZGVmaW5lZChfX0FSTV9BUkNIXzNfXykgfHwgZGVm aW5lZChfX0FSTV9FQUJJX18pIHx8ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgKGRlZmlu ZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJMzIpIHx8ICAgICAgICAg ICAgICAgICAgIFwKKy0gICAgICBkZWZpbmVkKF9fUFBDX18pIHx8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgICAoZGVmaW5lZChfX1BQ Q19fKSAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKSkgfHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIChkZWZpbmVkKF9fczM5MF9f KSAmJiAhZGVmaW5lZChfX3MzOTB4X18pKQorICAgICAvKiBPbiB0aGVzZSBhcmNoaXRlY3R1cmVz LCBpbXBsZW1lbnQgbW1hcCgpIHdpdGggbW1hcDIoKS4gKi8KKyAgICAgTFNTX0lOTElORSB2b2lk KiBMU1NfTkFNRShtbWFwKSh2b2lkICpzLCBzaXplX3QgbCwgaW50IHAsIGludCBmLCBpbnQgZCwK K0BAIC00NTU2LDkgKzQ1NTYsMTcgQEAgc3RydWN0IGtlcm5lbF9zdGF0ZnMgeworICAgICB9Cisg ICAjZW5kaWYKKyAgICNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorKyAgICAjaWYgIWRlZmlu ZWQoX19HTElCQ19fKQorKyAgICAgICAgLy8gbXVzbCBkb2Vzbid0IGRlZmluZSBmc3RhdGF0NjQg ZnN0YXRhdAorKyAgICAgICAgI3VuZGVmIGZzdGF0YXQ2NAorKyAgICAjZW5kaWYKKyAgICAgTFNT X0lOTElORSBfc3lzY2FsbDQoaW50LCAgIGZzdGF0YXQ2NCwgICAgICAgIGludCwgICBkLAorICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICosICAgICAgcCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGtlcm5lbF9zdGF0NjQgKiwgICBiLCAgICBpbnQsICAgZikK KysgICAgI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysgICAgCS8vIHRoZW4gcmVzdG9yZSBpdAor KyAgICAgICAgI2RlZmluZSBmc3RhdGF0NjQgZnN0YXRhdAorKyAgICAjZW5kaWYKKyAgICNlbmRp ZgorICAgI2lmIGRlZmluZWQoX19OUl93YWl0cGlkKQorICAgICAvLyB3YWl0cGlkIGlzIHBvbHlm aWxsZWQgYmVsb3cgd2hlbiBub3QgYXZhaWxhYmxlLgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9saWJwbmcxNi9wbmdwcml2LmgKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9wZGZpdW0vdGhpcmRfcGFydHkv bGlicG5nMTYvcG5ncHJpdi5oCitAQCAtMTk2LDExICsxOTYsNyBAQAorICNlbmRpZgorIAorICNp Zm5kZWYgUE5HX1BPV0VSUENfVlNYX09QVAorLSMgIGlmIGRlZmluZWQoX19QUEM2NF9fKSAmJiBk ZWZpbmVkKF9fQUxUSVZFQ19fKSAmJiBkZWZpbmVkKF9fVlNYX18pCistIyAgICAgZGVmaW5lIFBO R19QT1dFUlBDX1ZTWF9PUFQgMgorLSMgIGVsc2UKKy0jICAgICBkZWZpbmUgUE5HX1BPV0VSUENf VlNYX09QVCAwCistIyAgZW5kaWYKKysjICBkZWZpbmUgUE5HX1BPV0VSUENfVlNYX09QVCAwCisg I2VuZGlmCisgCisgI2lmbmRlZiBQTkdfSU5URUxfU1NFX09QVAorLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BmZmZ0L3NyYy9wZmZmdC5jCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcGZmZnQvc3JjL3BmZmZ0LmMKK0BAIC0xMDAsNiArMTAw LDcgQEAKKyAgICBBbHRpdmVjIHN1cHBvcnQgbWFjcm9zIAorICovCisgI2lmICFkZWZpbmVkKFBG RkZUX1NJTURfRElTQUJMRSkgJiYgKGRlZmluZWQoX19wcGNfXykgfHwgZGVmaW5lZChfX3BwYzY0 X18pKQorKyNpbmNsdWRlIDxhbHRpdmVjLmg+CisgdHlwZWRlZiB2ZWN0b3IgZmxvYXQgdjRzZjsK KyAjICBkZWZpbmUgU0lNRF9TWiA0CisgIyAgZGVmaW5lIFZaRVJPKCkgKCh2ZWN0b3IgZmxvYXQp IHZlY19zcGxhdF91OCgwKSkKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9za2lhL3NyYy9za3NsL1NrU0xTdHJpbmcuY3BwCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvc2tpYS9zcmMvc2tzbC9Ta1NMU3RyaW5nLmNwcAorQEAgLTE0Miw3ICsx NDIsMTIgQEAgU3RyaW5nIHRvX3N0cmluZyhkb3VibGUgdmFsdWUpIHsKKyAgICAgaWYgKG5lZWRz RG90WmVybykgeworICAgICAgICAgYnVmZmVyIDw8ICIuMCI7CisgICAgIH0KKy0gICAgcmV0dXJu IFN0cmluZyhidWZmZXIuc3RyKCkuY19zdHIoKSk7CisrCisrICAgIHN0ZDo6c3RyaW5nIHJldChi dWZmZXIuc3RyKCkpOworKyAgICBpZiAoc2lnbmJpdCh2YWx1ZSkgJiYgcmV0WzBdID09ICcuJykg eworKyAgICAgICAgcmV0WzBdID0gJy0nOworKyAgICB9CisrICAgIHJldHVybiBTdHJpbmcocmV0 LmNfc3RyKCkpOworIH0KKyAKKyBib29sIHN0b2QoY29uc3Qgc2tzdGQ6OnN0cmluZ192aWV3JiBz LCBTS1NMX0ZMT0FUKiB2YWx1ZSkgeworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0aW9uL3NxbGl0ZTMuYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0aW9uL3NxbGl0ZTMu YworQEAgLTE0NjI4LDcgKzE0NjI4LDggQEAgdHlwZWRlZiBJTlQxNl9UWVBFIExvZ0VzdDsKKyAj IGlmIGRlZmluZWQoaTM4NikgICAgICB8fCBkZWZpbmVkKF9faTM4Nl9fKSAgICAgIHx8IGRlZmlu ZWQoX01fSVg4NikgfHwgICAgXAorICAgICAgZGVmaW5lZChfX3g4Nl82NCkgIHx8IGRlZmluZWQo X194ODZfNjRfXykgICAgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCisgICAgICBkZWZpbmVk KF9NX0FNRDY0KSAgfHwgZGVmaW5lZChfTV9BUk0pICAgICAgICB8fCBkZWZpbmVkKF9feDg2KSAg IHx8ICAgIFwKKy0gICAgIGRlZmluZWQoX19BUk1FTF9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVM X18pIHx8IGRlZmluZWQoX01fQVJNNjQpCisrICAgICBkZWZpbmVkKF9fQVJNRUxfXykgfHwgZGVm aW5lZChfX0FBUkNINjRFTF9fKSB8fCBkZWZpbmVkKF9NX0FSTTY0KSB8fCAgIFwKKysgICAgIGRl ZmluZWQoX19wb3dlcnBjNjRfXykgJiYgKF9fQllURV9PUkRFUl9fID09IF9fT1JERVJfTElUVExF X0VORElBTl9fKQorICMgICBkZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICAxMjM0CisgIyBlbGlm IGRlZmluZWQoc3BhcmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18pIHx8IFwKKyAgICAgICAgZGVm aW5lZChfX0FSTUVCX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJfXykKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbl9kZXYvc3Fs aXRlMy5jCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc3FsaXRlL3Ny Yy9hbWFsZ2FtYXRpb25fZGV2L3NxbGl0ZTMuYworQEAgLTE0NjQxLDcgKzE0NjQxLDggQEAgdHlw ZWRlZiBJTlQxNl9UWVBFIExvZ0VzdDsKKyAjIGlmIGRlZmluZWQoaTM4NikgICAgICB8fCBkZWZp bmVkKF9faTM4Nl9fKSAgICAgIHx8IGRlZmluZWQoX01fSVg4NikgfHwgICAgXAorICAgICAgZGVm aW5lZChfX3g4Nl82NCkgIHx8IGRlZmluZWQoX194ODZfNjRfXykgICAgfHwgZGVmaW5lZChfTV9Y NjQpICB8fCAgICBcCisgICAgICBkZWZpbmVkKF9NX0FNRDY0KSAgfHwgZGVmaW5lZChfTV9BUk0p ICAgICAgICB8fCBkZWZpbmVkKF9feDg2KSAgIHx8ICAgIFwKKy0gICAgIGRlZmluZWQoX19BUk1F TF9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IGRlZmluZWQoX01fQVJNNjQpCisrICAg ICBkZWZpbmVkKF9fQVJNRUxfXykgfHwgZGVmaW5lZChfX0FBUkNINjRFTF9fKSB8fCBkZWZpbmVk KF9NX0FSTTY0KSB8fCAgIFwKKysgICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgKF9fQllU RV9PUkRFUl9fID09IF9fT1JERVJfTElUVExFX0VORElBTl9fKQorICMgICBkZWZpbmUgU1FMSVRF X0JZVEVPUkRFUiAgICAxMjM0CisgIyBlbGlmIGRlZmluZWQoc3BhcmMpICAgICB8fCBkZWZpbmVk KF9fcHBjX18pIHx8IFwKKyAgICAgICAgZGVmaW5lZChfX0FSTUVCX18pIHx8IGRlZmluZWQoX19B QVJDSDY0RUJfXykKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxp dGUvc3JjL2V4dC9ydHJlZS9ydHJlZS5jCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvc3FsaXRlL3NyYy9leHQvcnRyZWUvcnRyZWUuYworQEAgLTQ1MCw3ICs0NTAsNyBA QCBzdHJ1Y3QgUnRyZWVNYXRjaEFyZyB7CisgI2lmIGRlZmluZWQoaTM4NikgICAgIHx8IGRlZmlu ZWQoX19pMzg2X18pICAgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCisgICAgIGRlZmluZWQo X194ODZfNjQpIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAg ICBcCisgICAgIGRlZmluZWQoX01fQU1ENjQpIHx8IGRlZmluZWQoX01fQVJNKSAgICAgfHwgZGVm aW5lZChfX3g4NikgICB8fCAgICBcCistICAgIGRlZmluZWQoX19hcm1fXykKKysgICAgZGVmaW5l ZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmIChfX0JZVEVfT1JERVJfXyA9 PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXykKKyAjIGRlZmluZSBTUUxJVEVfQllURU9SREVSICAg IDEyMzQKKyAjZWxpZiBkZWZpbmVkKHNwYXJjKSAgICB8fCBkZWZpbmVkKF9fcHBjX18pCisgIyBk ZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICA0MzIxCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9zcmMvc3FsaXRlSW50LmgKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL3NyYy9zcWxpdGVJbnQuaAorQEAg LTg5MCw3ICs4OTAsOCBAQCB0eXBlZGVmIElOVDE2X1RZUEUgTG9nRXN0OworICMgaWYgZGVmaW5l ZChpMzg2KSAgICAgIHx8IGRlZmluZWQoX19pMzg2X18pICAgICAgfHwgZGVmaW5lZChfTV9JWDg2 KSB8fCAgICBcCisgICAgICBkZWZpbmVkKF9feDg2XzY0KSAgfHwgZGVmaW5lZChfX3g4Nl82NF9f KSAgICB8fCBkZWZpbmVkKF9NX1g2NCkgIHx8ICAgIFwKKyAgICAgIGRlZmluZWQoX01fQU1ENjQp ICB8fCBkZWZpbmVkKF9NX0FSTSkgICAgICAgIHx8IGRlZmluZWQoX194ODYpICAgfHwgICAgXAor LSAgICAgZGVmaW5lZChfX0FSTUVMX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUxfXykgfHwgZGVm aW5lZChfTV9BUk02NCkKKysgICAgIGRlZmluZWQoX19BUk1FTF9fKSB8fCBkZWZpbmVkKF9fQUFS Q0g2NEVMX18pIHx8IGRlZmluZWQoX01fQVJNNjQpIHx8IFwKKysgICAgIGRlZmluZWQoX19wb3dl cnBjNjRfXykgJiYgKF9fQllURV9PUkRFUl9fID09IF9fT1JERVJfTElUVExFX0VORElBTl9fKQor ICMgICBkZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICAxMjM0CisgIyBlbGlmIGRlZmluZWQoc3Bh cmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18pIHx8IFwKKyAgICAgICAgZGVmaW5lZChfX0FSTUVC X18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJfXykKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9kZXNrdG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2Nr LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRjL21vZHVs ZXMvZGVza3RvcF9jYXB0dXJlL2RpZmZlcl9ibG9jay5jYworQEAgLTMwLDExICszMCw3IEBAIGJv b2wgVmVjdG9yRGlmZmVyZW5jZShjb25zdCB1aW50OF90KiBpbWEKKyAgIHN0YXRpYyBib29sICgq ZGlmZl9wcm9jKShjb25zdCB1aW50OF90KiwgY29uc3QgdWludDhfdCopID0gbnVsbHB0cjsKKyAK KyAgIGlmICghZGlmZl9wcm9jKSB7CistI2lmIGRlZmluZWQoV0VCUlRDX0FSQ0hfQVJNX0ZBTUlM WSkgfHwgZGVmaW5lZChXRUJSVENfQVJDSF9NSVBTX0ZBTUlMWSkKKy0gICAgLy8gRm9yIEFSTSBh bmQgTUlQUyBwcm9jZXNzb3JzLCBhbHdheXMgdXNlIEMgdmVyc2lvbi4KKy0gICAgLy8gVE9ETyho Y2xhbSk6IEltcGxlbWVudCBhIE5FT04gdmVyc2lvbi4KKy0gICAgZGlmZl9wcm9jID0gJlZlY3Rv ckRpZmZlcmVuY2VfQzsKKy0jZWxzZQorKyNpZiBkZWZpbmVkKFdFQlJUQ19BUkNIX1g4Nl9GQU1J TFkpCisgICAgIGJvb2wgaGF2ZV9zc2UyID0gR2V0Q1BVSW5mbyhrU1NFMikgIT0gMDsKKyAgICAg Ly8gRm9yIHg4NiBwcm9jZXNzb3JzLCBjaGVjayBpZiBTU0UyIGlzIHN1cHBvcnRlZC4KKyAgICAg aWYgKGhhdmVfc3NlMiAmJiBrQmxvY2tTaXplID09IDMyKSB7CitAQCAtNDQsNiArNDAsMTAgQEAg Ym9vbCBWZWN0b3JEaWZmZXJlbmNlKGNvbnN0IHVpbnQ4X3QqIGltYQorICAgICB9IGVsc2Ugewor ICAgICAgIGRpZmZfcHJvYyA9ICZWZWN0b3JEaWZmZXJlbmNlX0M7CisgICAgIH0KKysjZWxzZQor KyAgICAvLyBGb3Igb3RoZXIgcHJvY2Vzc29ycywgYWx3YXlzIHVzZSBDIHZlcnNpb24uCisrICAg IC8vIFRPRE8oaGNsYW0pOiBJbXBsZW1lbnQgYSBORU9OIHZlcnNpb24uCisrICAgIGRpZmZfcHJv YyA9ICZWZWN0b3JEaWZmZXJlbmNlX0M7CisgI2VuZGlmCisgICB9CisgCistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdjgvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92 OC9CVUlMRC5nbgorQEAgLTEwODMsNiArMTA4MywxMiBAQCBjb25maWcoInRvb2xjaGFpbiIpIHsK KyAgICAgfQorICAgICBpZiAoaG9zdF9ieXRlb3JkZXIgPT0gImxpdHRsZSIpIHsKKyAgICAgICBk ZWZpbmVzICs9IFsgIlY4X1RBUkdFVF9BUkNIX1BQQ19MRSIgXQorKyAgICAgIGNmbGFncyArPSBb CisrICAgICAgICAjIEVuYWJsZSB1c2FnZSBvZiBBbHRpVmVjLCBWU1gsIGFuZCBvdGhlciBQT1dF UjggYW5kIGhpZ2hlciBmZWF0dXJlcworKyAgICAgICAgIi1tY3B1PXBvd2VyOCIsCisrICAgICAg ICAiLW1hbHRpdmVjIiwKKysgICAgICAgICItbXZzeCIsCisrICAgICAgXQorICAgICB9IGVsc2Ug aWYgKGhvc3RfYnl0ZW9yZGVyID09ICJiaWciKSB7CisgICAgICAgZGVmaW5lcyArPSBbICJWOF9U QVJHRVRfQVJDSF9QUENfQkUiIF0KKyAgICAgICBpZiAoY3VycmVudF9vcyA9PSAiYWl4Iikgewor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3VpL2dsL2ZlYXR1cmVzLmduaQorKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3VpL2dsL2ZlYXR1cmVzLmduaQorQEAgLTM1LDcgKzM1LDggQEAg ZGVjbGFyZV9hcmdzKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgIChpc19tYWMgJiYgdXNl X2VnbCkgfHwgaXNfY2hyb21lb3NfYXNoIHx8IGlzX2Z1Y2hzaWEpICYmCisgICAgICAgICAgICAg ICAgICAgICAgICAodGFyZ2V0X2NwdSA9PSAieDg2IiB8fCB0YXJnZXRfY3B1ID09ICJ4NjQiIHx8 CisgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2NwdSA9PSAiYXJtIiB8fCB0YXJnZXRf Y3B1ID09ICJhcm02NCIgfHwKKy0gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfY3B1ID09 ICJtaXBzZWwiIHx8IHRhcmdldF9jcHUgPT0gIm1pcHM2NGVsIikKKysgICAgICAgICAgICAgICAg ICAgICAgICB0YXJnZXRfY3B1ID09ICJtaXBzZWwiIHx8IHRhcmdldF9jcHUgPT0gIm1pcHM2NGVs IiB8fAorKyAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9jcHUgPT0gInBwYzY0IikKKyB9 CisgCisgdXNlX2dseCA9IHVzZV94MTEgfHwgb3pvbmVfcGxhdGZvcm1feDExCistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdjgvdGVzdC9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3Y4L3Rlc3QvQlVJTEQuZ24KK0BAIC00Miw3ICs0Miw2IEBAIGdyb3VwKCJnbl9hbGwi KSB7CisgICAgICAgImJlbmNobWFya3MvY3BwOmduX2FsbCIsCisgICAgICAgImNjdGVzdDpjY3Rl c3QiLAorICAgICAgICJjY3Rlc3Q6Z2VuZXJhdGUtYnl0ZWNvZGUtZXhwZWN0YXRpb25zIiwKKy0g ICAgICAidW5pdHRlc3RzOnVuaXR0ZXN0cyIsCisgICAgIF0KKyAgIH0KKyB9CitAQCAtODQsNyAr ODMsNiBAQCBncm91cCgidjhfYm90X2RlZmF1bHQiKSB7CisgICAgICJtZXNzYWdlOnY4X21lc3Nh Z2UiLAorICAgICAibWpzdW5pdDp2OF9tanN1bml0IiwKKyAgICAgIm1rZ3Jva2R1bXA6bWtncm9r ZHVtcCIsCistICAgICJ1bml0dGVzdHM6dW5pdHRlc3RzIiwKKyAgICAgIndlYmtpdDp2OF93ZWJr aXQiLAorICAgXQorIAorQEAgLTEwOSw3ICsxMDcsNiBAQCBncm91cCgidjhfZGVmYXVsdCIpIHsK KyAgICAgIm1lc3NhZ2U6djhfbWVzc2FnZSIsCisgICAgICJtanN1bml0OnY4X21qc3VuaXQiLAor ICAgICAibWtncm9rZHVtcDpta2dyb2tkdW1wIiwKKy0gICAgInVuaXR0ZXN0czp1bml0dGVzdHMi LAorICAgXQorIAorICAgaWYgKHY4X2VuYWJsZV93ZWJhc3NlbWJseSkgeworLS0tIC9kZXYvbnVs bAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Rldi9udWxsCitAQCAtMCwwICsxLDM5IEBA CisrLyoKKysgKiBBdXRvZ2VuZXJhdGVkIGJ5IHRoZSBNZXNvbiBidWlsZCBzeXN0ZW0uCisrICog RG8gbm90IGVkaXQsIHlvdXIgY2hhbmdlcyB3aWxsIGJlIGxvc3QuCisrICovCisrCisrI3ByYWdt YSBvbmNlCisrCisrI2RlZmluZSBBUkNIX0FBUkNINjQgMAorKworKyNkZWZpbmUgQVJDSF9BUk0g MAorKworKyNkZWZpbmUgQVJDSF9QUEM2NExFIDEKKysKKysjZGVmaW5lIEFSQ0hfWDg2IDAKKysK KysjZGVmaW5lIEFSQ0hfWDg2XzMyIDAKKysKKysjZGVmaW5lIEFSQ0hfWDg2XzY0IDAKKysKKysj ZGVmaW5lIENPTkZJR18xNkJQQyAxCisrCisrI2RlZmluZSBDT05GSUdfOEJQQyAxCisrCisrLy8g I2RlZmluZSBDT05GSUdfTE9HIDEgLS0gTG9nZ2luZyBpcyBjb250cm9sbGVkIGJ5IENocm9taXVt CisrCisrI2RlZmluZSBFTkRJQU5ORVNTX0JJRyAwCisrCisrI2RlZmluZSBIQVZFX0FTTSAxCisr CisrI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQorKworKyNkZWZpbmUgSEFWRV9ETFNZTSAx CisrCisrI2RlZmluZSBIQVZFX0dFVEFVWFZBTCAxCisrCisrI2RlZmluZSBIQVZFX1BPU0lYX01F TUFMSUdOIDEKKysKKysjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQorKworLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9iYXNlL2ludGVybmFsL3Vu c2NhbGVkY3ljbGVjbG9jay5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYWJzZWlsLWNwcC9hYnNsL2Jhc2UvaW50ZXJuYWwvdW5zY2FsZWRjeWNsZWNsb2NrLmgKK0BA IC00Niw3ICs0Niw3IEBACisgCisgLy8gVGhlIGZvbGxvd2luZyBwbGF0Zm9ybXMgaGF2ZSBhbiBp bXBsZW1lbnRhdGlvbiBvZiBhIGhhcmR3YXJlIGNvdW50ZXIuCisgI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgXAor LSAgZGVmaW5lZChfX3Bvd2VycGNfXykgfHwgZGVmaW5lZChfX3BwY19fKSB8fCBcCisrICAoKGRl ZmluZWQoX19wb3dlcnBjX18pIHx8IGRlZmluZWQoX19wcGNfXykpICYmIGRlZmluZWQoX19HTElC Q19fKSkgfHwgXAorICAgZGVmaW5lZChfTV9JWDg2KSB8fCBkZWZpbmVkKF9NX1g2NCkKKyAjZGVm aW5lIEFCU0xfSEFWRV9VTlNDQUxFRF9DWUNMRUNMT0NLX0lNUExFTUVOVEFUSU9OIDEKKyAjZWxz ZQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJz bC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV9jb25maWcuaAorKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9kZWJ1Z2dpbmcvaW50ZXJu YWwvc3RhY2t0cmFjZV9jb25maWcuaAorQEAgLTU5LDcgKzU5LDcgQEAKKyAjZWxpZiBkZWZpbmVk KF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisgI2RlZmluZSBBQlNMX1NUQUNLVFJB Q0VfSU5MX0hFQURFUiBcCisgICAiYWJzbC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV94 ODYtaW5sLmluYyIKKy0jZWxpZiBkZWZpbmVkKF9fcHBjX18pIHx8IGRlZmluZWQoX19QUENfXykK KysjZWxpZiBkZWZpbmVkKF9fcHBjX18pIHx8IGRlZmluZWQoX19QUENfXykgJiYgZGVmaW5lZChf X0dMSUJDX18pCisgI2RlZmluZSBBQlNMX1NUQUNLVFJBQ0VfSU5MX0hFQURFUiBcCisgICAiYWJz bC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV9wb3dlcnBjLWlubC5pbmMiCisgI2VsaWYg ZGVmaW5lZChfX2FhcmNoNjRfXykKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2Fs bG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY19jb25maWcuaAorKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0 b3IvcGFydGl0aW9uX2FsbG9jX2NvbmZpZy5oCitAQCAtMTAwLDcgKzEwMCw4IEBAIHN0YXRpY19h c3NlcnQoc2l6ZW9mKHZvaWQqKSAhPSA4LCAiIik7CisgLy8gUFVUX1JFRl9DT1VOVF9JTl9QUkVW SU9VU19TTE9UIGRvZXMuIEluIHRoaXMgY2FzZSB0aGUgcmVmY291bnQgb3ZlcmxhcHMgd2l0aAor IC8vIHRoZSBuZXh0IHBvaW50ZXIgc2hhZG93IGZvciB0aGUgc21hbGxlc3QgYnVja2V0LgorICNp ZiAhKGRlZmluZWQoT1NfTUFDKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVX0FSTTY0KSkgJiYgXAorLSAg ICAhQlVJTERGTEFHKFBVVF9SRUZfQ09VTlRfSU5fUFJFVklPVVNfU0xPVCkKKysgICAgIUJVSUxE RkxBRyhQVVRfUkVGX0NPVU5UX0lOX1BSRVZJT1VTX1NMT1QpICYmIFwKKysgICAgKCFkZWZpbmVk KF9fR0xJQkMpICYmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pKQorICNkZWZpbmUgUEFfSEFTX0ZS RUVMSVNUX0hBUkRFTklORworICNlbmRpZgorIAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2J1aWxkL2Rvd25sb2FkX25hY2xfdG9vbGNoYWlucy5weQorKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL2J1aWxkL2Rvd25sb2FkX25hY2xfdG9vbGNoYWlucy5weQorQEAgLTEzLDYgKzEzLDgg QEAgaW1wb3J0IHN5cworIAorIAorIGRlZiBNYWluKGFyZ3MpOgorKyAgaWYgJ2Rpc2FibGVfbmFj bD0xJyBpbiBvcy5lbnZpcm9uLmdldCgnR1lQX0RFRklORVMnLCAnJyk6CisrICAgIHJldHVybiAw CisgICBzY3JpcHRfZGlyID0gb3MucGF0aC5kaXJuYW1lKG9zLnBhdGguYWJzcGF0aChfX2ZpbGVf XykpCisgICBzcmNfZGlyID0gb3MucGF0aC5kaXJuYW1lKHNjcmlwdF9kaXIpCisgICBuYWNsX2Rp ciA9IG9zLnBhdGguam9pbihzcmNfZGlyLCAnbmF0aXZlX2NsaWVudCcpCistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vY2hyb21lL2luc3RhbGxlci9saW51eC9CVUlMRC5nbgorKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL2Nocm9tZS9pbnN0YWxsZXIvbGludXgvQlVJTEQuZ24KK0BAIC0x MDAsOCArMTAwLDYgQEAgcGFja2FnaW5nX2ZpbGVzID0gcGFja2FnaW5nX2ZpbGVzX2JpbmFyaQor ICAgICAgICAgICAgICAgICAgICAgIiRyb290X291dF9kaXIveGRnLW1pbWUiLAorICAgICAgICAg ICAgICAgICAgICAgIiRyb290X291dF9kaXIveGRnLXNldHRpbmdzIiwKKyAgICAgICAgICAgICAg ICAgICAgICIkcm9vdF9vdXRfZGlyL2xvY2FsZXMvZW4tVVMucGFrIiwKKy0gICAgICAgICAgICAg ICAgICAgICIkcm9vdF9vdXRfZGlyL01FSVByZWxvYWQvbWFuaWZlc3QuanNvbiIsCistICAgICAg ICAgICAgICAgICAgICAiJHJvb3Rfb3V0X2Rpci9NRUlQcmVsb2FkL3ByZWxvYWRlZF9kYXRhLnBi IiwKKyAgICAgICAgICAgICAgICAgICBdCisgCisgYWN0aW9uX2ZvcmVhY2goImNhbGN1bGF0ZV9k ZWJfZGVwZW5kZW5jaWVzIikgeworQEAgLTMyMSw3ICszMTksNiBAQCBncm91cCgiaW5zdGFsbGVy X2RlcHMiKSB7CisgICAgICI6dGhlbWVfZmlsZXMiLAorICAgICAiLy9jaHJvbWUiLAorICAgICAi Ly9jaHJvbWU6cGFja2VkX3Jlc291cmNlcyIsCistICAgICIvL2Nocm9tZS9icm93c2VyL3Jlc291 cmNlcy9tZWRpYS9tZWlfcHJlbG9hZDpjb21wb25lbnQiLAorICAgICAiLy9jb21wb25lbnRzL2Ny YXNoL2NvcmUvYXBwOmNocm9tZV9jcmFzaHBhZF9oYW5kbGVyIiwKKyAgICAgIi8vc2FuZGJveC9s aW51eDpjaHJvbWVfc2FuZGJveCIsCisgICBdCistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9wcGM2NF9saW51eF9z eXNjYWxscy5oCitAQCAtMCwwICsxLDEyIEBACisrLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9t aXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNl IGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8v IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisrCisrI2lmbmRlZiBTQU5EQk9YX0xJTlVYX1NZ U1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1NZU0NBTExTX0hfCisrI2RlZmluZSBTQU5EQk9YX0xJ TlVYX1NZU1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1NZU0NBTExTX0hfCisrCisrI2luY2x1ZGUg PGFzbS91bmlzdGQuaD4KKysKKysvL1RPRE86IGlzIGl0IG5lY2Vzc2FyeSB0byByZWRlZmluZSBz eXNjYWxsIG51bWJlcnMgZm9yIFBQQzY0PworKworKyNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9T WVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9TWVNDQUxMU19IXworLS0tIC9kZXYvbnVsbAorKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcHBj NjRfbGludXhfdWNvbnRleHQuaAorQEAgLTAsMCArMSwxMiBAQAorKy8vIENvcHlyaWdodCAyMDE0 IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKy8vIFVzZSBvZiB0 aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBj YW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorKworKyNpZm5kZWYgU0FOREJP WF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9VQ09OVEVYVF9IXworKyNkZWZpbmUg U0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9VQ09OVEVYVF9IXworKwor KyNpbmNsdWRlIDxzeXMvdWNvbnRleHQuaD4KKysKKysvL1RPRE86IGlzIGl0IG5lY2Vzc2FyeSB0 byByZWRlZmluZSB1Y29udGV4dCBvbiBQUEM2ND8KKysKKysjZW5kaWYgIC8vIFNBTkRCT1hfTElO VVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElOVVhfVUNPTlRFWFRfSF8KKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL25ldC9odHRw X3RyYW5zcG9ydF9saWJjdXJsLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9uZXQvaHR0cF90cmFuc3BvcnRfbGliY3VybC5j YworQEAgLTIzNiw2ICsyMzYsMTIgQEAgc3RkOjpzdHJpbmcgVXNlckFnZW50KCkgeworICNlbGlm IGRlZmluZWQoQVJDSF9DUFVfQklHX0VORElBTikKKyAgICAgc3RhdGljIGNvbnN0ZXhwciBjaGFy IGFyY2hbXSA9ICJhYXJjaDY0X2JlIjsKKyAjZW5kaWYKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJw YzY0X18pCisrI2lmIGRlZmluZWQoQVJDSF9DUFVfTElUVExFX0VORElBTikKKysgICAgc3RhdGlj IGNvbnN0ZXhwciBjaGFyIGFyY2hbXSA9ICJwcGM2NGxlIjsKKysjZWxpZiBkZWZpbmVkKEFSQ0hf Q1BVX0JJR19FTkRJQU4pCisrICAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBhcmNoW10gPSAicHBj NjQiOworKyNlbmRpZgorICNlbHNlCisgI2Vycm9yIFBvcnQKKyAjZW5kaWYKKy0tLSAvZGV2L251 bGwKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kYXYxZC9jb25maWcv bGludXgvcHBjNjQvY29uZmlnLmgKK0BAIC0wLDAgKzEsMzkgQEAKKysvKgorKyAqIEF1dG9nZW5l cmF0ZWQgYnkgdGhlIE1lc29uIGJ1aWxkIHN5c3RlbS4KKysgKiBEbyBub3QgZWRpdCwgeW91ciBj aGFuZ2VzIHdpbGwgYmUgbG9zdC4KKysgKi8KKysKKysjcHJhZ21hIG9uY2UKKysKKysjZGVmaW5l IEFSQ0hfQUFSQ0g2NCAwCisrCisrI2RlZmluZSBBUkNIX0FSTSAwCisrCisrI2RlZmluZSBBUkNI X1BQQzY0TEUgMQorKworKyNkZWZpbmUgQVJDSF9YODYgMAorKworKyNkZWZpbmUgQVJDSF9YODZf MzIgMAorKworKyNkZWZpbmUgQVJDSF9YODZfNjQgMAorKworKyNkZWZpbmUgQ09ORklHXzE2QlBD IDEKKysKKysjZGVmaW5lIENPTkZJR184QlBDIDEKKysKKysvLyAjZGVmaW5lIENPTkZJR19MT0cg MSAtLSBMb2dnaW5nIGlzIGNvbnRyb2xsZWQgYnkgQ2hyb21pdW0KKysKKysjZGVmaW5lIEVORElB Tk5FU1NfQklHIDAKKysKKysjZGVmaW5lIEhBVkVfQVNNIDEKKysKKysjZGVmaW5lIEhBVkVfQ0xP Q0tfR0VUVElNRSAxCisrCisrI2RlZmluZSBIQVZFX0RMU1lNIDEKKysKKysjZGVmaW5lIEhBVkVf R0VUQVVYVkFMIDEKKysKKysjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQorKworKyNkZWZp bmUgSEFWRV9VTklTVERfSCAxCisrCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wOTAzLXh4eC1wcGM2NGxlLXN3aWZ0c2hhZGVyLnBhdGNoIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDkwMy14eHgtcHBjNjRsZS1zd2lmdHNoYWRlci5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjFhOGNkODM2OGRhMQotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDMteHh4LXBwYzY0 bGUtc3dpZnRzaGFkZXIucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9C VUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3N3aWZ0c2hh ZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9CVUlMRC5nbgorQEAgLTU3Niw2ICs1NzYsNyBAQCBz d2lmdHNoYWRlcl9sbHZtX3NvdXJjZV9zZXQoInN3aWZ0c2hhZGVyCisgICAgICJsbHZtL2xpYi9N Qy9NQ0FzbUluZm9DT0ZGLmNwcCIsCisgICAgICJsbHZtL2xpYi9NQy9NQ0FzbUluZm9EYXJ3aW4u Y3BwIiwKKyAgICAgImxsdm0vbGliL01DL01DQXNtSW5mb0VMRi5jcHAiLAorKyAgICAibGx2bS9s aWIvTUMvTUNBc21JbmZvWENPRkYuY3BwIiwKKyAgICAgImxsdm0vbGliL01DL01DQXNtTWFjcm8u Y3BwIiwKKyAgICAgImxsdm0vbGliL01DL01DQXNtU3RyZWFtZXIuY3BwIiwKKyAgICAgImxsdm0v bGliL01DL01DQXNzZW1ibGVyLmNwcCIsCitAQCAtNjMxLDYgKzYzMiw3IEBAIHN3aWZ0c2hhZGVy X2xsdm1fc291cmNlX3NldCgic3dpZnRzaGFkZXIKKyAgICAgImxsdm0vbGliL01DL01DV2luQ09G RlN0cmVhbWVyLmNwcCIsCisgICAgICJsbHZtL2xpYi9NQy9NQ1dpbkVILmNwcCIsCisgICAgICJs bHZtL2xpYi9NQy9NQ1hDT0ZGU3RyZWFtZXIuY3BwIiwKKysgICAgImxsdm0vbGliL01DL01DWENP RkZPYmplY3RUYXJnZXRXcml0ZXIuY3BwIiwKKyAgICAgImxsdm0vbGliL01DL01hY2hPYmplY3RX cml0ZXIuY3BwIiwKKyAgICAgImxsdm0vbGliL01DL1N0cmluZ1RhYmxlQnVpbGRlci5jcHAiLAor ICAgICAibGx2bS9saWIvTUMvU3VidGFyZ2V0RmVhdHVyZS5jcHAiLApkaWZmIC0tZ2l0IGEvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBs YXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmYwZGUyYzdhZGY2 Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlCkBAIC0w LDAgKzEsMTc4IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtd2ViZW5naW5lJworcGtnbmFt ZT1xdDYtd2ViZW5naW5lCit2ZXJzaW9uPTYuMy4xCityZXZpc2lvbj0xCit3cmtzcmM9InF0d2Vi ZW5naW5lLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCitidWlsZF9zdHlsZT1jbWFrZQorY29u ZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlCisg LURRVF9GRUFUVVJFX3dlYmVuZ2luZV9zeXN0ZW1fZmZtcGVnPU9OCisgLURRVF9GRUFUVVJFX3dl YmVuZ2luZV9zeXN0ZW1fbGliZXZlbnQ9T04KKyAtRFFUX0ZFQVRVUkVfd2ViZW5naW5lX3N5c3Rl bV9nbj1PTgorIC1EUVRfRkVBVFVSRV93ZWJlbmdpbmVfc3lzdGVtX2ljdT1PTgorIC1EUVRfRkVB VFVSRV93ZWJlbmdpbmVfd2VicnRjX3BpcGV3aXJlPU9OCisgLUROaW5qYV9FWEVDVVRBQkxFPSRY QlBTX1dSQVBQRVJESVIvbmluamEKKyAkKHZvcHRfYm9vbCBleGFtcGxlcyBRVF9CVUlMRF9FWEFN UExFUykKKyAtRFBLR19DT05GSUdfSE9TVF9FWEVDVVRBQkxFPSR7UEtHX0NPTkZJR19GT1JfQlVJ TER9IgoraG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBwZXJsIHBrZy1jb25maWcgbm9k ZWpzIHB5dGhvbjMtaHRtbDVsaWIKKyBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcHJvdG9idWYgZ3Bl cmYgZmxleCBuc3MtZGV2ZWwgbGlid2VicC1kZXZlbAorIGljdS1kZXZlbCBsaWJldmVudC1kZXZl bCIKK21ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcHVs c2VhdWRpby1kZXZlbAorIHF0Ni10b29scy1kZXZlbCBxdDYtd2Vic29ja2V0cy1kZXZlbCBsaWJm bGFjLWRldmVsCisgYWxzYS1saWItZGV2ZWwgbGlidnB4LWRldmVsIHBjaXV0aWxzLWRldmVsIG9w dXMtZGV2ZWwgbGlieHNsdC1kZXZlbAorIGxpYnhtbDItZGV2ZWwgZnJlZXR5cGUtZGV2ZWwgbGNt czItZGV2ZWwgbGlid2VicC1kZXZlbCBpY3UtZGV2ZWwKKyByZTItZGV2ZWwgemxpYi1kZXZlbCBs aWJwbmctZGV2ZWwgbWluaXppcC1kZXZlbCBoYXJmYnV6ei1kZXZlbAorIG5zcy1kZXZlbCBsaWJY Y3Vyc29yLWRldmVsIGxpYlhjb21wb3NpdGUtZGV2ZWwgbGliWFNjcm5TYXZlci1kZXZlbAorIHBy b3RvYnVmLWRldmVsIGZmbXBlZy1kZXZlbCBzbmFwcHktZGV2ZWwgbGliZXZlbnQtZGV2ZWwgcGlw ZXdpcmUtZGV2ZWwKKyBsaWJ4a2JmaWxlLWRldmVsIHF0Ni1sb2NhdGlvbi1kZXZlbCBxdDYtd2Vi Y2hhbm5lbC1kZXZlbCBsaWJ4c2htZmVuY2UtZGV2ZWwiCisjIE5vdCB3b3JraW5nIHByb3Blcmx5 IHdpdGggSFRUUFMgd2l0aG91dCB0aG9zZSBwYWNrYWdlcworIyBOb3Qgc3RyaWN0IGRlcGVuZGVu Y2llcywgdGhvdWdoCitkZXBlbmRzPSJxdDYtcGx1Z2luLXRscy1vcGVuc3NsIHF0Ni1wbHVnaW4t dGxzLXFjZXJ0b25seSIKK3Nob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFu ZCBVSSBmcmFtZXdvcmsgLSBXZWJlbmdpbmUiCittYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnlu YXRvci5kZXY+IgorbGljZW5zZT0iR1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9ubHksIExHUEwtMy4w LW9ubHkgQlNELTMtQ2xhdXNlIgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnF0LmlvIgorZGlzdGZp bGVzPSJodHRwczovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lv biUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0d2ViZW5naW5lLWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbn0udGFyLnh6IgorY2hlY2tzdW09YWQ3YTMzYjIxYTk1NmRlZGEzN2M1ODdkNTBmODIx Y2EzODE2NDAzYWUzMWJhOWI1ZDU5ZDAxNTYxYWQ2NmU0NworCitpZiBbIC16ICIkQ1JPU1NfQlVJ TEQiIF07dGhlbgorCWNvbmZpZ3VyZV9hcmdzKz0iIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9L3Vz ci9saWIvY21ha2UvUXQ2L3F0LnRvb2xjaGFpbi5jbWFrZSIKK2ZpCisKK2lmIFsgIiRYQlBTX0xJ QkMiID0gIm11c2wiIF07IHRoZW4KKwlob3N0bWFrZWRlcGVuZHMrPSIgbXVzbC1sZWdhY3ktY29t cGF0IgorZmkKKworaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMiID0gIm11c2wiIF07IHRoZW4KKwlt YWtlZGVwZW5kcys9IiBtdXNsLWxlZ2FjeS1jb21wYXQiCitmaQorCitpZiBbICEgIiRYQlBTX1dP UkRTSVpFIiA9ICIkWEJQU19UQVJHRVRfV09SRFNJWkUiIF07IHRoZW4KKwlicm9rZW49IndlYmVu Z2luZSBjYW4gYmUgYnVpbHQgb25seSBpZiB3b3JkIHNpemUgbWF0Y2hlcyIKK2ZpCisKK2lmIFsg IiRYQlBTX1dPUkRTSVpFIiAtZXEgMzIgXTsgdGhlbgorCW5vZGVidWc9eWVzCisJTERGTEFHUz0i LVdsLC0tbm8ta2VlcC1tZW1vcnkiCitmaQorCitpZiBbICIkWEJQU19UQVJHRVRfRU5ESUFOIiAh PSAibGUiIF07IHRoZW4KKwlicm9rZW49IndlYmVuZ2luZSBvbmx5IHN1cHBvcnRzIGxpdHRsZSBl bmRpYW4iCitmaQorCitidWlsZF9vcHRpb25zPSJzbmRpbyBleGFtcGxlcyIKK2J1aWxkX29wdGlv bnNfZGVmYXVsdD0iIgorZGVzY19vcHRpb25fZXhhbXBsZXM9IkJ1aWxkIGV4YW1wbGVzIgorZGVz Y19vcHRpb25fc25kaW89IkVuYWJsZSBzdXBwb3J0IGZvciBzbmRpbyIKKworc3VicGFja2FnZXM9 InF0Ni13ZWJlbmdpbmUtZGV2ZWwiCisKK2lmIFsgIiRidWlsZF9vcHRpb25fZXhhbXBsZXMiIF07 IHRoZW4KKwlzdWJwYWNrYWdlcys9IiBxdDYtd2ViZW5naW5lLWV4YW1wbGVzIgorZmkKKworX2Jv b3RzdHJhcF9nbigpIHsKKwkjIEJvb3RzdHJhcCBnbiAoZ2VuZXJhdGUgbmluamEpCisJZWNobyAi Qm9vdHN0cmFwcGluZyAnZ24nIgorCWNkICR7d3Jrc3JjfS9zcmMvM3JkcGFydHkvZ24KKwlDRkxB R1M9IiRDRkxBR1NfaG9zdCIgQ1hYRkxBR1M9IiRDWFhGTEFHU19ob3N0IiBMREZMQUdTPSIkTERG TEFHU19ob3N0IiBcCisJUEtHQ09ORklHPS91c3IvYmluL3BrZ2NvbmZpZyBQS0dfQ09ORklHX1BB VEg9Ii91c3IvbGliL3BrZ2NvbmZpZzovdXNyL3NoYXJlL3BrZ2NvbmZpZyIgXAorCQlweXRob24z IGJ1aWxkL2dlbi5weSAtLW5vLWxhc3QtY29tbWl0LXBvc2l0aW9uIC0tb3V0LXBhdGggXAorCQkJ JHt3cmtzcmN9L3NyYy8zcmRwYXJ0eS9nbi9vdXQvUmVsZWFzZSAtLWNjICIke0NDX2hvc3Q6LSRD Q30iIFwKKwkJCS0tY3h4ICIke0NYWF9ob3N0Oi0kQ1hYfSIgLS1sZCAiJHtDWFhfaG9zdDotJENY WH0iIC0tYXIgIiR7QVJfaG9zdDotJEFSfSIgXAorCQkJLS1xdC12ZXJzaW9uICIke3ZlcnNpb259 LnF0d2ViZW5naW5lLnF0LmlvIgorCW5pbmphIC1DIG91dC9SZWxlYXNlIGduCisJY2QgJHt3cmtz cmN9Cit9CisKK191bmJ1bmRsZV9saWJzKCkgeworCWNkICR7d3Jrc3JjfS9zcmMvM3JkcGFydHkv Y2hyb21pdW0KKwllY2hvIERyb3BwaW5nIGJ1bmRsZWQgbGlicyBmcm9tIGNocm9taXVtCisJIyBV c2Ugc3lzdGVtLXByb3ZpZGVkIGxpYnJhcmllcy4KKwkjIFRPRE86IHVzZV9zeXN0ZW1faHVuc3Bl bGwgKHVwc3RyZWFtIGNoYW5nZXMgbmVlZGVkKS4KKwkjIFRPRE86IHVzZV9zeXN0ZW1fbGlic3J0 cC4KKwkjIFRPRE86IHVzZV9zeXN0ZW1fbGlidXNiIChodHRwOi8vY3JidWcuY29tLzI2NjE0OSku CisJIyBUT0RPOiB1c2Vfc3lzdGVtX3NzbCAoaHR0cDovL2NyYnVnLmNvbS81ODA4NykuCisJIyBU T0RPOiB1c2Vfc3lzdGVtX3NxbGl0ZSAoaHR0cDovL2NyYnVnLmNvbS8yMjIwOCkuCisJIyBUT0RP OiB1c2Vfc3lzdGVtX2ljdSAoc2VnZmF1bHRzKQorCSMgdXNlX3N5c3RlbV9wcm90b2J1ZgorCSMg dXNlX3N5c3RlbV92OD0xCisJIyB1c2Vfc3lzdGVtX3psaWI9MQorCSMgYnppcDIganNvbmNwcCBt aW5pemlwIHhkZ191dGlscyBzcGVleAorCXN5c3RlbT0iCisJCWZmbXBlZworCQlmbGFjCisJCWZv bnRjb25maWcKKwkJZnJlZXR5cGUKKwkJaGFyZmJ1enotbmcKKwkJaWN1CisJCWxpYmRybQorCQls aWJldmVudAorCQlsaWJqcGVnCisJCWxpYnBuZworCQlsaWJ3ZWJwCisJCWxpYnhtbAorCQlsaWJ4 c2x0CisJCW9wdXMKKwkJcmUyCisJCXNuYXBweQorCSIKKwlidWlsZC9saW51eC91bmJ1bmRsZS9y ZXBsYWNlX2duX2ZpbGVzLnB5IC0tc3lzdGVtLWxpYnJhcmllcyAke3N5c3RlbX0KK30KKworIyBQ cm92aWRlIGEgd3JhcHBlciB0byBydW4gLi94YnBzLXNyYyAtaiAxIGJ1aWxkIGxhdGVyCitfd3Jh cF9uaW5qYSgpIHsKKwljYXQgPDwtJ19FT0YnID4iJFhCUFNfV1JBUFBFUkRJUiIvbmluamEKKwkj IS9iaW4vc2gKKworCWV4ZWMgL3Vzci9iaW4vbmluamEgJE5JTkpBRkxBR1MgIiRAIgorCV9FT0YK KwljaG1vZCAreCAiJFhCUFNfV1JBUFBFUkRJUiIvbmluamEKK30KKworcHJlX2NvbmZpZ3VyZSgp IHsKKwlfYm9vdHN0cmFwX2duCisJIyBfdW5idW5kbGVfbGlicworCV93cmFwX25pbmphCisJZXhw b3J0IFBBVEg9IiRQQVRIOiR7d3Jrc3JjfS9zcmMvM3JkcGFydHkvZ24vb3V0L1JlbGVhc2UiCit9 CisKK3ByZV9idWlsZCgpIHsKKwlleHBvcnQgUEFUSD0iJFBBVEg6JHt3cmtzcmN9L3NyYy8zcmRw YXJ0eS9nbi9vdXQvUmVsZWFzZSIKKwlleHBvcnQgTklOSkFGTEFHUz0iJG1ha2Vqb2JzIgorCit9 CisKK3ByZV9pbnN0YWxsKCkgeworCWV4cG9ydCBQQVRIPSIkUEFUSDoke3dya3NyY30vc3JjLzNy ZHBhcnR5L2duL291dC9SZWxlYXNlIgorfQorCitwb3N0X2luc3RhbGwoKSB7CisJbG9jYWwgX2Zp bGUKKwlmaW5kICIke0RFU1RESVJ9Ii91c3IvbGliL3F0Ni9leGFtcGxlcyBcCisJCS1wYXRoICcq L2xpYi9xdDYvKiovbGliL3F0Ni8qJyAtdHlwZSBmIHwKKwl3aGlsZSByZWFkIF9maWxlOyBkbwor CQltdiAiJF9maWxlIiAiJHtfZmlsZSUvbGliL3F0Ni8qfSIKKwlkb25lCit9CisKK3F0Ni13ZWJl bmdpbmUtZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lv bn1fJHtyZXZpc2lvbn0gcXQ2LXdlYmNoYW5uZWwtZGV2ZWw+PSR7dmVyc2lvbn1fMQorCSBxdDYt ZGVjbGFyYXRpdmUtZGV2ZWw+PSR7dmVyc2lvbn1fMSBxdDYtbG9jYXRpb24tZGV2ZWw+PSR7dmVy c2lvbn1fMSIKKwlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtnX2luc3Rh bGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRlCisJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1v dmUgdXNyL2xpYi9wa2djb25maWcKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcworCQl2bW92 ZSAidXNyL2xpYi8qLnNvIgorCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3No YXJlL3F0Ni9tb2R1bGVzCisJfQorfQorCitxdDYtd2ViZW5naW5lLWV4YW1wbGVzX3BhY2thZ2Uo KSB7CisJc2hvcnRfZGVzYys9IiAtIHNhbXBsZSBicm93c2VycyIKKwlwa2dfaW5zdGFsbCgpIHsK KwkJdm1vdmUgdXNyL2xpYi9xdDYvZXhhbXBsZXMKKwl9Cit9CmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvdXBkYXRlIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3VwZGF0ZQpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjg0NDU1MjQ2NTIyMgotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRhdGUKQEAgLTAsMCArMSBAQAor cGtnbmFtZT0iJHtwa2duYW1lLzYtL30tZXZlcnl3aGVyZS1zcmMiCg== --===============8515610833385055507==--