From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 12837 invoked from network); 3 Mar 2021 18:25:50 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 3 Mar 2021 18:25:50 -0000 Content-Type: multipart/mixed; boundary="===============6961310774527016422==" MIME-Version: 1.0 Subject: =?utf8?b?UmU6IFtQUiBQQVRDSF0gW1VwZGF0ZWRdIFtXSVBdIGNocm9taXVtOiB1cGRhdGUgdG8gODkuMC40Mzg5Ljcy?= To: ml@inbox.vuxu.org From: pullmoll Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 03 Mar 2021 19:25:46 +0100 List-Id: Message-ID: <20210303182546.iSfgKhx8UqYcCIALcjSRYiArXuNTjjOFfmX4PqTHGYY@z> GitHub notification mails are now in MIME to allow UTF8. --===============6961310774527016422== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgcHVsbG1vbGwgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3B1 bGxtb2xsL3ZvaWQtcGFja2FnZXMgY2hyb21pdW0KaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzI5MjA1CgpbV0lQXSBjaHJvbWl1bTogdXBkYXRlIHRvIDg5 LjAuNDM4OS43MgpDVkUtMjAyMS0yMTE2Ng0KDQorIHg4Nl82NCBwYXRjaCBzZXQgdXBkYXRlZCwg YnVpbHQsIHRlc3RlZCB2ZXJ5IGN1cnNvcnkgYW5kIHNlZW1zIHRvIHdvcmsNCisgaTY4NiBwYXRj aCBhcHBsaWVzIHcvbyBjaGFuZ2UsIGJ1aWx0LCBjdXJzb3J5IHRlc3QgaW4gYSBWTQ0KKyB4ODZf NjQtbXVzbCBwYXRjaCBzZXQgdXBkYXRlZCwgYnVpbHQsICJBdywgU25hcCEiIGluIGEgVk0NCiAg c2VjY29tcC1icGYgZmFpbHVyZSBpbiBzeXNjYWxsIDAzMjQNCisgcGF0Y2hlcy94eHgtcHBjNjRs ZS1zdXBwb3J0LnBhdGNoIHJlbW92ZWQgZm9yIG5vdyAoYWxyZWFkeSB1cHN0cmVhbWVkPyBuZWVk IHRvIGNoZWNrIGFnYWluKQ0KKyBmaWxlcy9tdXNsLXBhY2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0 LnBhdGNoIHN0cmlwcGVkIGRvd24gdG8gd2hhdCBzdGlsbCBhcHBsaWVzDQorIHN5c3RlbSBvcHVz IGRpc2FibGVkIGJlY2F1c2UgdGhlIGdlbmVyYXRlZCBzaGltIGhlYWRlciBvcHVzLmggdHJpZXMg dG8gaW5jbHVkZSA8b3B1cy5oPiBhbmQgZmFpbHMNCisgbm90IHN1cmUgaWYgbGliY19tYWxsb2Mu cGF0Y2ggaXMgb2ssIGkuZS4gc2ltcGx5IHVzZSBtYWxsb2MoKSBpbnN0ZWFkIG9mIF9fbGliY19t YWxsb2MoKS4NCisgbW9yZSB0byBkbw0KDQpbY2kgc2tpcF0NCg0KSWYgeW91IGRvbid0IHdhbnQg dG8gYnVpbGQgeW91cnNlbGY6DQpodHRwczovL3JlcG8udm9pZGxpbnV4LmRlL3g4Nl82NC9jaHJv bWl1bS04OS4wLjQzODkuNzJfMS54ODZfNjQueGJwcw0KaHR0cHM6Ly9yZXBvLnZvaWRsaW51eC5k ZS9pNjg2L2Nocm9taXVtLTg5LjAuNDM4OS43Ml8xLmk2ODYueGJwcw0KCgpBIHBhdGNoIGZpbGUg ZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMjky MDUucGF0Y2ggaXMgYXR0YWNoZWQ= --===============6961310774527016422== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-29205.patch" RnJvbSAzMWVlZDAyZDMwMmRhNTMxNjExMzE3MDU1MTgyNzQ0OGIzODQ0NDIyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Sj1DMz1CQ3JnZW49MjBCdWNobT1DMz1CQ2xs ZXI/PSA8cHVsbG1vbGxAdC1vbmxpbmUuZGU+CkRhdGU6IFdlZCwgMyBNYXIgMjAyMSAxNTowNjoz OCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIGNocm9taXVtOiB1cGRhdGUgdG8gODkuMC40Mzg5Ljcy CgpDVkUtMjAyMS0yMTE2NgoKKyB4ODZfNjQgcGF0Y2ggc2V0IHVwZGF0ZWQsIGJ1aWx0LCB0ZXN0 ZWQgdmVyeSBjdXJzb3J5IGFuZCBzZWVtcyB0byB3b3JrCisgaTY4NiBwYXRjaCBhcHBsaWVzIHcv byBjaGFuZ2UsIGJ1aWx0LCBjdXJzb3J5IHRlc3QgaW4gYSBWTQorIHg4Nl82NC1tdXNsIHBhdGNo IHNldCB1cGRhdGVkLCBidWlsdCwgbmVlZHMgdGVzdGluZworIHN5c3RlbSBvcHVzIGRpc2FibGVk IGJlY2F1c2UgdGhlIGdlbmVyYXRlZCBzaGltIGhlYWRlciBvcHVzLmggdHJpZXMgdG8gaW5jbHVk ZSA8b3B1cy5oPiBhbmQgZmFpbHMKKyBub3Qgc3VyZSBpZiBsaWJjX21hbGxvYy5wYXRjaCBpcyBv aywgaS5lLiBzaW1wbHkgdXNlIG1hbGxvYygpIGluc3RlYWQgb2YgX19saWJjX21hbGxvYygpLgor IG1vcmUgdG8gZG8KCltjaSBza2lwXQotLS0KIC4uLi9kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXpl LnBhdGNoICAgICAgICAgICB8ICAgNCArLQogLi4uL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLWZp eGVzLnBhdGNoICAgICAgIHwgIDQwICstCiAuLi4vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtaGFj a3MucGF0Y2ggICAgICAgfCAgIDQgKy0KIC4uLi9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1saWJj KysucGF0Y2ggICAgICB8ICAgNiArLQogLi4uL211c2wtcGF0Y2hlcy9tdXNsLW5vLWdsaWJjLXZl cnNpb24ucGF0Y2ggIHwgIDI4ICsrCiAuLi4vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtc2FuZGJv eC5wYXRjaCAgICAgfCAgMTIgKy0KIC4uLi9maWxlcy9tdXNsLXBhdGNoZXMvbm8tbWFsbGluZm8u cGF0Y2ggICAgICB8ICAgNiArLQogLi4uL2ZpbGVzL211c2wtcGF0Y2hlcy9yZXNvbHZlci5wYXRj aCAgICAgICAgIHwgICAyICstCiBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvYnJvd3Nlci1zaXpl X3QucGF0Y2ggfCAgMTAgLQogLi4uL2Nocm9taXVtLTg4LUFYVHJlZUZvcm1hdHRlci1pbmNsdWRl LnBhdGNoIHwgIDI3IC0KIC4uLml1bS04OC1Cb29rbWFya01vZGVsT2JzZXJ2ZXItaW5jbHVkZS5w YXRjaCB8ICAyMSAtCiAuLi51bS04OC1Db21wb3NpdG9yRnJhbWVSZXBvcnRlci1kY2hlY2sucGF0 Y2ggfCAgMzYgLS0KIC4uLi9jaHJvbWl1bS04OC1TdHJpbmdQb29sLWluY2x1ZGUucGF0Y2ggICAg ICB8ICAyMCAtCiAuLi5yb21pdW0tODgtZmVkZXJhdGVkX2xlYXJuaW5nLWluY2x1ZGUucGF0Y2gg fCAgMjEgLQogLi4uL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaCAgICAgIHwg MTQ0IC0tLS0tLQogLi4uaHJvbWl1bS04OC1pZGVvZ3JhcGhpY1NwYWNlQ2hhcmFjdGVyLnBhdGNo IHwgIDI3IC0KIC4uLi9wYXRjaGVzL2Nocm9taXVtLTg4LWl0eXAtaW5jbHVkZS5wYXRjaCAgICB8 ICAyNSAtCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS04OC12YWFwaS1hdHRyaWJ1dGUucGF0Y2ggfCAg MzkgLS0KIC4uLnVtLTg5LUNvbXBvc2l0b3JGcmFtZVJlcG9ydGVyLWRjaGVjay5wYXRjaCB8ICAx MSArCiBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbGliY19tYWxsb2MucGF0Y2ggICAgfCAgMjMg Ky0KIC4uLnJlbW92ZS11bnN1cHBvcnRlZC1jb21waWxlci13YXJuaW5ncy5wYXRjaCB8ICAyNiAt CiAuLi4tdjgtbW9ub3RvbmljLXB0aHJlYWQtY29udF90aW1lZHdhaXQucGF0Y2ggfCAgMjQgLQog c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLWV4ZWNpbmZvLnBhdGNoICAgIHwgIDE2ICstCiBz cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8tZ2V0Y29udGV4dC5wYXRjaCAgfCAgMjcgLQogc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLXN0ZC10aW1lLnBhdGNoICAgIHwgIDExICsKIC4uLi9j aHJvbWl1bS9wYXRjaGVzL3NhbmRib3gtbWVtYmFycmllci5wYXRjaCB8ICA2MSArLS0KIC4uLi9w YXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2ggICAgICAgICB8IDQ3NSArKysrKysrKy0t LS0tLS0tLS0KIHNyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8 ICAgOCArLQogMjggZmlsZXMgY2hhbmdlZCwgMzIxIGluc2VydGlvbnMoKyksIDgzMyBkZWxldGlv bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0 Y2hlcy9tdXNsLW5vLWdsaWJjLXZlcnNpb24ucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvYnJvd3Nlci1zaXplX3QucGF0Y2gKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtQVhUcmVlRm9ybWF0dGVy LWluY2x1ZGUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvY2hyb21pdW0tODgtQm9va21hcmtNb2RlbE9ic2VydmVyLWluY2x1ZGUucGF0Y2gKIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtQ29tcG9z aXRvckZyYW1lUmVwb3J0ZXItZGNoZWNrLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LVN0cmluZ1Bvb2wtaW5jbHVkZS5wYXRjaAog ZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1m ZWRlcmF0ZWRfbGVhcm5pbmctaW5jbHVkZS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1nbGliYy0yLjMzLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWlkZW9ncmFw aGljU3BhY2VDaGFyYWN0ZXIucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvY2hyb21pdW0tODgtaXR5cC1pbmNsdWRlLnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LXZhYXBpLWF0dHJpYnV0 ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJv bWl1bS04OS1Db21wb3NpdG9yRnJhbWVSZXBvcnRlci1kY2hlY2sucGF0Y2gKIGRlbGV0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbGx2bS1yZW1vdmUtdW5zdXBwb3J0ZWQt Y29tcGlsZXItd2FybmluZ3MucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvbXVzbC12OC1tb25vdG9uaWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5wYXRj aAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1nZXRjb250 ZXh0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25v LXN0ZC10aW1lLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNs LXBhdGNoZXMvZGVmYXVsdC1wdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21p dW0vZmlsZXMvbXVzbC1wYXRjaGVzL2RlZmF1bHQtcHRocmVhZC1zdGFja3NpemUucGF0Y2gKaW5k ZXggMTZlNGQyMWU2ZWQuLjhiZjlhM2RmYjM0IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVt L2ZpbGVzL211c2wtcGF0Y2hlcy9kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoCisrKyBi L3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL2RlZmF1bHQtcHRocmVhZC1zdGFj a3NpemUucGF0Y2gKQEAgLTEsMTIgKzEsMTIgQEAKIC0tLSBiYXNlL3RocmVhZGluZy9wbGF0Zm9y bV90aHJlYWRfbGludXguY2Mub3JpZwogKysrIGJhc2UvdGhyZWFkaW5nL3BsYXRmb3JtX3RocmVh ZF9saW51eC5jYwotQEAgLTk5ICs5OSwyIEBAIHNpemVfdCBHZXREZWZhdWx0VGhyZWFkU3RhY2tT aXplKGNvbnN0IHAKK0BAIC00NDAgKzQ0MCwyIEBAIHNpemVfdCBHZXREZWZhdWx0VGhyZWFkU3Rh Y2tTaXplKGNvbnN0IHAKIC0gIHJldHVybiAwOwogKyAgLy8gdXNlIDhtYiBsaWtlIGdsaWJjIHRv IGF2b2lkIHJ1bm5pbmcgb3V0IG9mIHNwYWNlCiArICByZXR1cm4gKDEgPDwgMjMpOwogLS0tIGNo cm9tZS9hcHAvc2h1dGRvd25fc2lnbmFsX2hhbmRsZXJzX3Bvc2l4LmNjLm9yaWcKICsrKyBjaHJv bWUvYXBwL3NodXRkb3duX3NpZ25hbF9oYW5kbGVyc19wb3NpeC5jYwotQEAgLTE4NCwxMSArMTg0 LDE5IEBACitAQCAtMTg3LDExICsxODcsMTkgQEAKICAgIGdfc2h1dGRvd25fcGlwZV9yZWFkX2Zk ID0gcGlwZWZkWzBdOwogICAgZ19zaHV0ZG93bl9waXBlX3dyaXRlX2ZkID0gcGlwZWZkWzFdOwog ICNpZiAhZGVmaW5lZChBRERSRVNTX1NBTklUSVpFUikKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hy b21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtZml4ZXMucGF0Y2ggYi9zcmNwa2dzL2Nocm9t aXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLWZpeGVzLnBhdGNoCmluZGV4IGE3ODMyZmYzMmU4 Li4xZjEyZmY4YjA4ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBh dGNoZXMvbXVzbC1maXhlcy5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wt cGF0Y2hlcy9tdXNsLWZpeGVzLnBhdGNoCkBAIC0xLDYgKzEsNiBAQAogLS0tIC4vdGhpcmRfcGFy dHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oLm9yaWcKICsrKyAuL3RoaXJkX3BhcnR5L2xz cy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAotQEAgLTExMjcsNiArMTEyNywxMiBAQAorQEAgLTEy NTgsNiArMTI1OCwxMiBAQAogICNpZm5kZWYgX19OUl9mYWxsb2NhdGUKICAjZGVmaW5lIF9fTlJf ZmFsbG9jYXRlICAgICAgICAgIDI4NQogICNlbmRpZgpAQCAtMTUsNyArMTUsNyBAQAogICNpZiBf TUlQU19TSU0gPT0gX01JUFNfU0lNX0FCSTMyCiAtLS0gLi90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFk ZXIuaC5vcmlnCiArKysgLi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAotQEAgLTM3LDYgKzM3 LDEwIEBACitAQCAtMzgsNiArMzgsMTAgQEAKICAjaW5jbHVkZSAiY29tbW9uL21lbW9yeS5oIgog ICNpbmNsdWRlICJnb29nbGVfYnJlYWtwYWQvY29tbW9uL21pbmlkdW1wX2Zvcm1hdC5oIgogIApA QCAtMjgsNyArMjgsNyBAQAogIC8vIFdyYXBzIHBsYXRmb3JtLWRlcGVuZGVudCBpbXBsZW1lbnRh dGlvbnMgb2YgYWNjZXNzb3JzIHRvIHVjb250ZXh0X3Qgc3RydWN0cy4KIC0tLSAuL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxmX2NvcmVfZHVtcC5oLm9y aWcKICsrKyAuL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgv ZWxmX2NvcmVfZHVtcC5oCi1AQCAtMzYsNiArMzYsNyBAQAorQEAgLTM3LDYgKzM3LDcgQEAKICAj aW5jbHVkZSA8ZWxmLmg+CiAgI2luY2x1ZGUgPGxpbmsuaD4KICAjaW5jbHVkZSA8c3RkZGVmLmg+ CkBAIC0zOCw3ICszOCw3IEBACiAgCiAtLS0gLi9zYW5kYm94L2xpbnV4L3N1aWQvcHJvY2Vzc191 dGlsLmgub3JpZwogKysrIC4vc2FuZGJveC9saW51eC9zdWlkL3Byb2Nlc3NfdXRpbC5oCi1AQCAt MTEsNiArMTEsMTQgQEAKK0BAIC0xMiw2ICsxMiwxNCBAQAogICNpbmNsdWRlIDxzdGRib29sLmg+ CiAgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogIApAQCAtNjYsNyArNjYsNyBAQAogICNpZiBkZWZp bmVkKF9fbWlwc19fKQogLS0tIC4vdGhpcmRfcGFydHkvZmZtcGVnL2xpYmF2dXRpbC9jcHUuYy5v cmlnCiArKysgLi90aGlyZF9wYXJ0eS9mZm1wZWcvbGliYXZ1dGlsL2NwdS5jCi1AQCAtMzgsNyAr MzgsNiBAQAorQEAgLTQxLDcgKzQxLDYgQEAKICAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CiAgI2Vu ZGlmCiAgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgpAQCAtNzQsMjggKzc0LDYgQEAKICAjZW5kaWYK ICAjaWYgSEFWRV9VTklTVERfSAogICNpbmNsdWRlIDx1bmlzdGQuaD4KLWRpZmYgLS1naXQgYS9j aHJvbWUvYnJvd3Nlci9tZXRyaWNzL2Nocm9tZV9icm93c2VyX21haW5fZXh0cmFfcGFydHNfbWV0 cmljcy5jYyBiL2Nocm9tZS9icm93c2VyL21ldHJpY3MvY2hyb21lX2Jyb3dzZXJfbWFpbl9leHRy YV9wYXJ0c19tZXRyaWNzLmNjCi0tLS0gY2hyb21lL2Jyb3dzZXIvbWV0cmljcy9jaHJvbWVfYnJv d3Nlcl9tYWluX2V4dHJhX3BhcnRzX21ldHJpY3MuY2MKLSsrKyBjaHJvbWUvYnJvd3Nlci9tZXRy aWNzL2Nocm9tZV9icm93c2VyX21haW5fZXh0cmFfcGFydHNfbWV0cmljcy5jYwotQEAgLTM5LDcg KzM5LDkgQEAKLSAjZW5kaWYgIC8vIGRlZmluZWQoT1NfQU5EUk9JRCkgJiYgZGVmaW5lZChfX2Fy bV9fKQotIAotICNpZiBkZWZpbmVkKE9TX0xJTlVYKSAmJiAhZGVmaW5lZChPU19DSFJPTUVPUykK LSsjaWYgZGVmaW5lZChfX0dMSUJDX18pCi0gI2luY2x1ZGUgPGdudS9saWJjLXZlcnNpb24uaD4K LSsjZW5kaWYKLSAKLSAjaW5jbHVkZSAiYmFzZS9saW51eF91dGlsLmgiCi0gI2luY2x1ZGUgImJh c2Uvc3RyaW5ncy9zdHJpbmdfc3BsaXQuaCIKLUBAIC0yOTUsNyArMjk3LDcgQEAgdm9pZCBSZWNv cmRMaW51eERpc3RybygpIHsKLSAjZW5kaWYgIC8vIGRlZmluZWQoT1NfTElOVVgpICYmICFkZWZp bmVkKE9TX0NIUk9NRU9TKQotIAotIHZvaWQgUmVjb3JkTGludXhHbGliY1ZlcnNpb24oKSB7Ci0t I2lmIGRlZmluZWQoT1NfTElOVVgpICYmICFkZWZpbmVkKE9TX0NIUk9NRU9TKQotKyNpZiBkZWZp bmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoT1NfQ0hST01FT1MpCi0gICBiYXNlOjpWZXJzaW9u IHZlcnNpb24oZ251X2dldF9saWJjX3ZlcnNpb24oKSk7Ci0gCi0gICBVTUFMaW51eEdsaWJjVmVy c2lvbiBnbGliY192ZXJzaW9uX3Jlc3VsdCA9IFVNQV9MSU5VWF9HTElCQ19OT1RfUEFSU0VBQkxF OwogLS0tIHNlcnZpY2VzL2RldmljZS9zZXJpYWwvc2VyaWFsX2lvX2hhbmRsZXJfcG9zaXguY2Mu b3JpZwkyMDE5LTA3LTAzIDEwOjU3OjMyLjU2ODE3MTgzNSAtMDQwMAogKysrIHNlcnZpY2VzL2Rl dmljZS9zZXJpYWwvc2VyaWFsX2lvX2hhbmRsZXJfcG9zaXguY2MJMjAxOS0wNy0wMyAxMDo1Nzox Ni44Njc5ODMwMzEgLTA0MDAKIEBAIC02LDYgKzYsNyBAQApAQCAtMTMxLDcgKzEwOSw3IEBAIGRp ZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9vdHMvaW5jbHVkZS9vcGVudHlwZS1zYW5pdGlzZXIuaCBi L3RoaXJkX3BhcnR5L290cy9pbmNsCiAgICAgIGJhc2U6OmRlYnVnOjpTdGFja1RyYWNlIHN0YWNr X3RyYWNlOwogLS0tIC4vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3N0 YWNrX3V0aWwuY2Mub3JpZwogKysrIC4vdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vd3RmL3N0YWNrX3V0aWwuY2MKLUBAIC0yOCw3ICsyOCw3IEBACitAQCAtMjksNyArMjksNyBA QAogIC8vIEZJWE1FOiBPbiBNYWMgT1NYIGFuZCBMaW51eCwgdGhpcyBtZXRob2QgY2Fubm90IGVz dGltYXRlIHN0YWNrIHNpemUKICAvLyBjb3JyZWN0bHkgZm9yIHRoZSBtYWluIHRocmVhZC4KICAK QEAgLTE0MCw3ICsxMTgsNyBAQCBkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvb3RzL2luY2x1ZGUv b3BlbnR5cGUtc2FuaXRpc2VyLmggYi90aGlyZF9wYXJ0eS9vdHMvaW5jbAogICAgICBkZWZpbmVk KE9TX0ZVQ0hTSUEpCiAgICAvLyBwdGhyZWFkX2dldGF0dHJfbnAoKSBjYW4gZmFpbCBpZiB0aGUg dGhyZWFkIGlzIG5vdCBpbnZva2VkIGJ5CiAgICAvLyBwdGhyZWFkX2NyZWF0ZSgpIChlLmcuLCB0 aGUgbWFpbiB0aHJlYWQgb2YgYmxpbmtfdW5pdHRlc3RzKS4KLUBAIC05Niw3ICs5Niw3IEBACitA QCAtOTcsNyArOTcsNyBAQAogIH0KICAKICB2b2lkKiBHZXRTdGFja1N0YXJ0KCkgewpAQCAtMTUx LDcgKzEyOSw3IEBAIGRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9vdHMvaW5jbHVkZS9vcGVudHlw ZS1zYW5pdGlzZXIuaCBiL3RoaXJkX3BhcnR5L290cy9pbmNsCiAgICBpbnQgZXJyb3I7CiAtLS0g Li9uZXQvZG5zL2Ruc19jb25maWdfc2VydmljZV9wb3NpeC5jYy5vcmlnCiArKysgLi9uZXQvZG5z L2Ruc19jb25maWdfc2VydmljZV9wb3NpeC5jYwotQEAgLTEyMiw3ICsxMjIsNyBAQAorQEAgLTE1 MCw3ICsxNTAsNyBAQAogICAgQ29uZmlnUGFyc2VQb3NpeFJlc3VsdCByZXN1bHQ7CiAgICBjb25m aWctPnVuaGFuZGxlZF9vcHRpb25zID0gZmFsc2U7CiAgLy8gVE9ETyhmdWNoc2lhKTogVXNlIHJl c19uaW5pdCgpIHdoZW4gaXQncyBpbXBsZW1lbnRlZCBvbiBGdWNoc2lhLgpAQCAtMTgxLDcgKzE1 OSw3IEBAIGRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9vdHMvaW5jbHVkZS9vcGVudHlwZS1zYW5p dGlzZXIuaCBiL3RoaXJkX3BhcnR5L290cy9pbmNsCiAgCiAtLS0gdGhpcmRfcGFydHkvbmFzbS9u YXNtbGliL3JlYWxwYXRoLmMub3JpZwkyMDE5LTA3LTAzIDEyOjIzOjA1LjAyMTk0OTg5NSAtMDQw MAogKysrIHRoaXJkX3BhcnR5L25hc20vbmFzbWxpYi9yZWFscGF0aC5jCTIwMTktMDctMDMgMTI6 MjQ6MjQuMjQ2ODYyNjY1IC0wNDAwCi1AQCAtNDksNyArNDksNyBAQAorQEAgLTQ3LDcgKzQ3LDcg QEAKICAKICAjaW5jbHVkZSAibmFzbWxpYi5oIgogIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJv bWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1oYWNrcy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21p dW0vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtaGFja3MucGF0Y2gKaW5kZXggZWRjMWIwNjBkZmIu LjkyNzZlNDhhYjhlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0 Y2hlcy9tdXNsLWhhY2tzLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1w YXRjaGVzL211c2wtaGFja3MucGF0Y2gKQEAgLTEsNiArMSw2IEBACiAtLS0gYmFzZS9kZWJ1Zy9z dGFja190cmFjZS5jYy5vcmlnCTIwMTgtMTItMDggMTQ6MTE6MjUuMzAzNDc1MTE2ICswMTAwCiAr KysgYmFzZS9kZWJ1Zy9zdGFja190cmFjZS5jYwkyMDE4LTEyLTA4IDE4OjAwOjQzLjg3NDk0Njk5 OSArMDEwMAotQEAgLTIyOSw3ICsyMjksNyBAQAorQEAgLTIyNSw3ICsyMjUsNyBAQAogIH0KICBz dGQ6OnN0cmluZyBTdGFja1RyYWNlOjpUb1N0cmluZ1dpdGhQcmVmaXgoY29uc3QgY2hhciogcHJl Zml4X3N0cmluZykgY29uc3QgewogICAgc3RkOjpzdHJpbmdzdHJlYW0gc3RyZWFtOwpAQCAtMTEs NyArMTEsNyBAQAogICAgcmV0dXJuIHN0cmVhbS5zdHIoKTsKIC0tLSBuZXQvc29ja2V0L3VkcF9z b2NrZXRfcG9zaXguY2Mub3JpZwkyMDE5LTA3LTAzIDEzOjEzOjQ2LjAzNDM0MjY0OSAtMDQwMAog KysrIG5ldC9zb2NrZXQvdWRwX3NvY2tldF9wb3NpeC5jYwkyMDE5LTA3LTAzIDEzOjIzOjUzLjEx NzA4MTkwOSAtMDQwMAotQEAgLTExOTQsNyArMTE5NCw3IEBACitAQCAtMTE1Myw3ICsxMTUzLDcg QEAKICAgICAgbXNnX2lvdi0+cHVzaF9iYWNrKHtjb25zdF9jYXN0PGNoYXIqPihidWZmZXItPmRh dGEoKSksIGJ1ZmZlci0+bGVuZ3RoKCl9KTsKICAgIG1zZ3ZlYy0+cmVzZXJ2ZShidWZmZXJzLnNp emUoKSk7CiAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IGJ1ZmZlcnMuc2l6ZSgpOyBqKyspCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLWxpYmMr Ky5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtbGliYysr LnBhdGNoCmluZGV4IDA4OGQ4MGZhZDUyLi5lMDc3NjgyMzQwMiAxMDA2NDQKLS0tIGEvc3JjcGtn cy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1saWJjKysucGF0Y2gKKysrIGIvc3Jj cGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1saWJjKysucGF0Y2gKQEAgLTIs NyArMiw3IEBAIGRpZmYgLS1naXQgYS9idWlsZHRvb2xzL3RoaXJkX3BhcnR5L2xpYmMrKy90cnVu ay9pbmNsdWRlL2xvY2FsZSBiL2J1aWxkdG9vbHMvdGhpCiBpbmRleCBkMjlhMmRjLi41Mzk5OGJj IDEwMDY0NAogLS0tIGJ1aWxkdG9vbHMvdGhpcmRfcGFydHkvbGliYysrL3RydW5rL2luY2x1ZGUv bG9jYWxlCiArKysgYnVpbGR0b29scy90aGlyZF9wYXJ0eS9saWJjKysvdHJ1bmsvaW5jbHVkZS9s b2NhbGUKLUBAIC0xMSw2ICsxMSwxNSBAQAorQEAgLTEwLDYgKzEwLDE1IEBACiAgI2lmbmRlZiBf TElCQ1BQX0xPQ0FMRQogICNkZWZpbmUgX0xJQkNQUF9MT0NBTEUKICAKQEAgLTIyLDcgKzIyLDcg QEAgZGlmZiAtLWdpdCBhL2J1aWxkdG9vbHMvdGhpcmRfcGFydHkvbGliYysrL3RydW5rL3NyYy9s b2NhbGUuY3BwIGIvYnVpbGR0b29scy90aGkKIGluZGV4IDQxNjNjMmMuLjNkMTkwMmEgMTAwNjQ0 CiAtLS0gYS9idWlsZHRvb2xzL3RoaXJkX3BhcnR5L2xpYmMrKy90cnVuay9zcmMvbG9jYWxlLmNw cAogKysrIGJ1aWxkdG9vbHMvdGhpcmRfcGFydHkvbGliYysrL3RydW5rL3NyYy9sb2NhbGUuY3Bw Ci1AQCAtMTAyOCwxMSArMTAyOCwxMSBAQCBjdHlwZTxjaGFyPjo6ZG9fbmFycm93KGNvbnN0IGNo YXJfdHlwZSogbG93LCBjb25zdCBjaGFyX3R5cGUqIGhpZ2gsIGNoYXIgZGZhdWx0LAorQEAgLTEw MTksMTEgKzEwMTksMTEgQEAgY3R5cGU8Y2hhcj46OmRvX25hcnJvdyhjb25zdCBjaGFyX3R5cGUq IGxvdywgY29uc3QgY2hhcl90eXBlKiBoaWdoLCBjaGFyIGRmYXVsdCwKICAgICAgcmV0dXJuIGxv dzsKICB9CiAgCkBAIC0zNiw3ICszNiw3IEBAIGluZGV4IDQxNjNjMmMuLjNkMTkwMmEgMTAwNjQ0 CiAgCiAgI2lmZGVmIF9MSUJDUFBfUFJPVklERVNfREVGQVVMVF9SVU5FX1RBQkxFCiAgY29uc3Qg Y3R5cGU8Y2hhcj46Om1hc2sqCi1AQCAtMTEzNiwxMiArMTEzNiwxMCBAQCBjdHlwZTxjaGFyPjo6 Y2xhc3NpY190YWJsZSgpICBfTk9FWENFUFQKK0BAIC0xMTI3LDEyICsxMTI3LDEwIEBAIGN0eXBl PGNoYXI+OjpjbGFzc2ljX3RhYmxlKCkgIF9OT0VYQ0VQVAogICNlbGlmIGRlZmluZWQoX0FJWCkK ICAgICAgcmV0dXJuIChjb25zdCB1bnNpZ25lZCBpbnQgKilfX2xjX2N0eXBlX3B0ci0+b2JqLT5t YXNrOwogICNlbHNlCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0 Y2hlcy9tdXNsLW5vLWdsaWJjLXZlcnNpb24ucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVz L211c2wtcGF0Y2hlcy9tdXNsLW5vLWdsaWJjLXZlcnNpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjlmZmVjNjI0NjVjCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1uby1nbGliYy12ZXJzaW9u LnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKKy0tLSBjaHJvbWUvYnJvd3Nlci9tZXRyaWNzL2Nocm9t ZV9icm93c2VyX21haW5fZXh0cmFfcGFydHNfbWV0cmljcy5jYy5vcmlnCTIwMjEtMDMtMDIgMTg6 NDU6MDMuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21lL2Jyb3dzZXIvbWV0cmljcy9jaHJvbWVf YnJvd3Nlcl9tYWluX2V4dHJhX3BhcnRzX21ldHJpY3MuY2MJMjAyMS0wMy0wMyAxNzozOToxNC45 NDQxMDA3NDYgKzAxMDAKK0BAIC01NSw3ICs1NSw5IEBACisgLy8gVE9ETyhjcmJ1Zy5jb20vMTA1 MjM5Nyk6IFJldmlzaXQgdGhlIG1hY3JvIGV4cHJlc3Npb24gb25jZSBidWlsZCBmbGFnIHN3aXRj aAorIC8vIG9mIGxhY3Jvcy1jaHJvbWUgaXMgY29tcGxldGUuCisgI2lmIGRlZmluZWQoT1NfTElO VVgpIHx8IEJVSUxERkxBRyhJU19DSFJPTUVPU19MQUNST1MpCisrI2lmIGRlZmluZWQoX19HTElC Q19fKQorICNpbmNsdWRlIDxnbnUvbGliYy12ZXJzaW9uLmg+CisrI2VuZGlmCisgCisgI2luY2x1 ZGUgImJhc2UvbGludXhfdXRpbC5oIgorICNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3RyaW5nX3Nw bGl0LmgiCitAQCAtMzE3LDYgKzMxOSw3IEBACisgLy8gVE9ETyhjcmJ1Zy5jb20vMTA1MjM5Nyk6 IFJldmlzaXQgdGhlIG1hY3JvIGV4cHJlc3Npb24gb25jZSBidWlsZCBmbGFnIHN3aXRjaAorIC8v IG9mIGxhY3Jvcy1jaHJvbWUgaXMgY29tcGxldGUuCisgI2lmIGRlZmluZWQoT1NfTElOVVgpIHx8 IEJVSUxERkxBRyhJU19DSFJPTUVPU19MQUNST1MpCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQor ICAgYmFzZTo6VmVyc2lvbiB2ZXJzaW9uKGdudV9nZXRfbGliY192ZXJzaW9uKCkpOworIAorICAg VU1BTGludXhHbGliY1ZlcnNpb24gZ2xpYmNfdmVyc2lvbl9yZXN1bHQgPSBVTUFfTElOVVhfR0xJ QkNfTk9UX1BBUlNFQUJMRTsKK0BAIC0zMzgsNiArMzQxLDcgQEAKKyAgIH0KKyAgIGJhc2U6OlVt YUhpc3RvZ3JhbVNwYXJzZSgiTGludXguR2xpYmNWZXJzaW9uIiwgZ2xpYmNfdmVyc2lvbl9yZXN1 bHQpOworICNlbmRpZgorKyNlbmRpZgorIH0KKyAKKyB2b2lkIFJlY29yZFRvdWNoRXZlbnRTdGF0 ZSgpIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211 c2wtc2FuZGJveC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211 c2wtc2FuZGJveC5wYXRjaAppbmRleCAyMzBiYjdiYmQyOS4uMGI5ODI1M2Y0ZDYgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtc2FuZGJveC5wYXRj aAorKysgYi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLXNhbmRib3gu cGF0Y2gKQEAgLTEsNiArMSw2IEBACiAtLS0gLi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYy5vcmlnCTIwMTktMDctMDMg MTE6NTM6MjEuMjEzNDc5NzM2IC0wNDAwCiArKysgLi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm LWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYwkyMDE5LTA3LTAzIDEx OjU3OjAxLjMwNDk5ODI1MyAtMDQwMAotQEAgLTE0MCwzMSArMTQwLDE0IEBACitAQCAtMTMxLDMx ICsxMzEsMTQgQEAKICBSZXN1bHRFeHByIFJlc3RyaWN0Q2xvbmVUb1RocmVhZHNBbmRFUEVSTUZv cmsoKSB7CiAgICBjb25zdCBBcmc8dW5zaWduZWQgbG9uZz4gZmxhZ3MoMCk7CiAgCkBAIC00MSw3 ICs0MSw3IEBACiAgCiAtLS0gLi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lz Y2FsbF9zZXRzLmNjLm9yaWcKICsrKyAuL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVy cy9zeXNjYWxsX3NldHMuY2MKLUBAIC00OTQsNiArNDk0LDcgQEAKK0BAIC01MjEsNiArNTIxLDcg QEAKICAgICAgY2FzZSBfX05SX21sb2NrOgogICAgICBjYXNlIF9fTlJfbXVubG9jazoKICAgICAg Y2FzZSBfX05SX211bm1hcDoKQEAgLTQ5LDcgKzQ5LDcgQEAKICAgICAgICByZXR1cm4gdHJ1ZTsK ICAgICAgY2FzZSBfX05SX21hZHZpc2U6CiAgICAgIGNhc2UgX19OUl9taW5jb3JlOgotQEAgLTUw OSw3ICs1MTAsNiBAQAorQEAgLTU0MCw3ICs1NDAsNiBAQAogICAgICBjYXNlIF9fTlJfbW9kaWZ5 X2xkdDoKICAjZW5kaWYKICAgICAgY2FzZSBfX05SX21wcm90ZWN0OgpAQCAtNjEsNyArNjEsNyBA QCBkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxf c2V0cy5jYyBiL3NhbmRib3gvbGludXgvcwogaW5kZXggODBmMDJjMC4uMjFmYmUyMSAxMDA2NDQK IC0tLSBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCiAr Kysgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwotQEAg LTM3Myw2ICszNzMsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRP ckRlYXRoKGludCBzeXNubykgeworQEAgLTQwMCw2ICs0MDAsNyBAQCBib29sIFN5c2NhbGxTZXRz OjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPckRlYXRoKGludCBzeXNubykgewogICNpZiBkZWZpbmVk KF9faTM4Nl9fKQogICAgICBjYXNlIF9fTlJfd2FpdHBpZDoKICAjZW5kaWYKQEAgLTY5LDcgKzY5 LDcgQEAgaW5kZXggODBmMDJjMC4uMjFmYmUyMSAxMDA2NDQKICAgICAgICByZXR1cm4gdHJ1ZTsK ICAgICAgY2FzZSBfX05SX2Nsb25lOiAgLy8gU2hvdWxkIGJlIHBhcmFtZXRlci1yZXN0cmljdGVk LgogICAgICBjYXNlIF9fTlJfc2V0bnM6ICAvLyBQcml2aWxlZ2VkLgotQEAgLTM4NSw3ICszODYs NiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPckRlYXRoKGludCBz eXNubykgeworQEAgLTQxMyw3ICs0MTMsNiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQ cm9jZXNzU3RhcnRPckRlYXRoKGludCBzeXNubykgewogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCiAgICAgIGNhc2UgX19O Ul9zZXRfdGhyZWFkX2FyZWE6CiAgI2VuZGlmCkBAIC03OSw3ICs3OSw3IEBAIGluZGV4IDgwZjAy YzAuLjIxZmJlMjEgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl92Zm9yazoKIC0tLSBzYW5kYm94L3Bv bGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCiArKysgc2FuZGJveC9wb2xp Y3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYwotQEAgLTEwMCw5ICsxMDAsOSBA QAorQEAgLTk1LDkgKzk1LDkgQEAKICAgICAgY2FzZSBfX05SX3VuYW1lOgogICAgICBjYXNlIF9f TlJfc2NoZWRfZ2V0cGFyYW06CiAgICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6CmRp ZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9uby1tYWxsaW5m by5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZv LnBhdGNoCmluZGV4IDI1NGExZjYzMmRhLi4xNmU3ZTM2ODE3NSAxMDA2NDQKLS0tIGEvc3JjcGtn cy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbm8tbWFsbGluZm8ucGF0Y2gKKysrIGIvc3Jj cGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbm8tbWFsbGluZm8ucGF0Y2gKQEAgLTEs NiArMSw2IEBACiAtLS0gYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYy5v cmlnCiArKysgYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYwotQEAgLTI0 Myw3ICsyNDMsNyBAQAorQEAgLTE4NCw3ICsxODQsNyBAQAogICAgYWxsb2NhdGVkX29iamVjdHNf Y291bnQgPSBtYWluX2hlYXBfaW5mby5ibG9ja19jb3VudDsKICAjZWxpZiBkZWZpbmVkKE9TX0ZV Q0hTSUEpCiAgLy8gVE9ETyhmdWNoc2lhKTogUG9ydCwgc2VlIGh0dHBzOi8vY3JidWcuY29tLzcw NjU5Mi4KQEAgLTMwLDcgKzMwLDcgQEAKICAjZW5kaWYKIC0tLSB0aGlyZF9wYXJ0eS9zd2lmdHNo YWRlci90aGlyZF9wYXJ0eS9sbHZtLXN1Ynplcm8vbGliL1N1cHBvcnQvVW5peC9Qcm9jZXNzLmlu YwogKysrIHRoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVyby9s aWIvU3VwcG9ydC9Vbml4L1Byb2Nlc3MuaW5jLm9yaWcKLUBAIC04NCw3ICs4NCw3IEBACitAQCAt ODYsNyArODYsNyBAQAogIH0KICAKICBzaXplX3QgUHJvY2Vzczo6R2V0TWFsbG9jVXNhZ2UoKSB7 CkBAIC00Miw3ICs0Miw3IEBACiAKIC0tLSB0aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9w YXJ0eS9sbHZtLTEwLjAvY29uZmlncy9saW51eC9pbmNsdWRlL2xsdm0vQ29uZmlnL2NvbmZpZy5o Lm9yaWcJMjAxOS0wOS0zMCAxMzowMzo0Mi41NTY4ODA1MzcgLTA0MDAKICsrKyB0aGlyZF9wYXJ0 eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvY29uZmlncy9saW51eC9pbmNsdWRl L2xsdm0vQ29uZmlnL2NvbmZpZy5oCTIwMTktMDktMzAgMTM6MDc6MjcuOTg5ODIxMjI3IC0wNDAw Ci1AQCAtMTIyLDcgKzEyMiw5IEBACitAQCAtMTI1LDcgKzEyNSw5IEBACiAgLyogI3VuZGVmIEhB VkVfTUFMTENUTCAqLwogIAogIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbWFsbGlu Zm8nIGZ1bmN0aW9uLiAqLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNs LXBhdGNoZXMvcmVzb2x2ZXIucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0 Y2hlcy9yZXNvbHZlci5wYXRjaAppbmRleCAyOWZlMmQyZjFmMy4uMGNlNzdjOTZhNjAgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL3Jlc29sdmVyLnBhdGNo CisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL3Jlc29sdmVyLnBhdGNo CkBAIC0xLDYgKzEsNiBAQAogLS0tIG5ldC9kbnMvaG9zdF9yZXNvbHZlcl9tYW5hZ2VyLmNjLm9y aWcJMjAyMC0xMC0wOSAxNjozOToxMi4wNjQwNjk4MzUgLTA0MDAKICsrKyBuZXQvZG5zL2hvc3Rf cmVzb2x2ZXJfbWFuYWdlci5jYwkyMDIwLTEwLTA5IDE2OjQyOjQ5LjczODMwMjc3MiAtMDQwMAot QEAgLTI3NzksOCArMjc3OSw3IEBACitAQCAtMjU2Miw4ICsyNTYyLDcgQEAKICAgIE5ldHdvcmtD aGFuZ2VOb3RpZmllcjo6QWRkQ29ubmVjdGlvblR5cGVPYnNlcnZlcih0aGlzKTsKICAgIGlmIChz eXN0ZW1fZG5zX2NvbmZpZ19ub3RpZmllcl8pCiAgICAgIHN5c3RlbV9kbnNfY29uZmlnX25vdGlm aWVyXy0+QWRkT2JzZXJ2ZXIodGhpcyk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvYnJvd3Nlci1zaXplX3QucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvYnJv d3Nlci1zaXplX3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhMjE0ZDk4 N2Q2Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvYnJvd3Nlci1z aXplX3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi0tLS0gY2hyb21lL2Jy b3dzZXIvc2VhcmNoL2JhY2tncm91bmQvbnRwX2JhY2tncm91bmRzLmgJMjAyMC0wOC0xMCAyMDoz OToyMC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBjaHJvbWUvYnJvd3Nlci9zZWFyY2gvYmFja2dyb3Vu ZC9udHBfYmFja2dyb3VuZHMuaAkyMDIwLTA5LTA0IDEzOjQ4OjIyLjY0MDAyMzI1NiArMDIwMAot QEAgLTYsNiArNiw3IEBACi0gI2RlZmluZSBDSFJPTUVfQlJPV1NFUl9TRUFSQ0hfQkFDS0dST1VO RF9OVFBfQkFDS0dST1VORFNfSF8KLSAKLSAjaW5jbHVkZSA8YXJyYXk+Ci0rI2luY2x1ZGUgPGNz dGRkZWY+Ci0gCi0gY2xhc3MgR1VSTDsKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9jaHJvbWl1bS04OC1BWFRyZWVGb3JtYXR0ZXItaW5jbHVkZS5wYXRjaCBiL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1BWFRyZWVGb3JtYXR0ZXItaW5jbHVkZS5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQ3ODEwOTg5MjAuLjAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1BWFRyZWVGb3Jt YXR0ZXItaW5jbHVkZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUZyb20g NmU0MDJkOTdjMmRlYzU3MjZmMzdlOTVmOTdiN2Y3ZTEyYjFkM2IxZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IEpvc2UgRGFwZW5hIFBheiA8amRhcGVuYUBpZ2FsaWEuY29tPgotRGF0 ZTogV2VkLCAxMSBOb3YgMjAyMCAxMTowMjoxMyArMDEwMAotU3ViamVjdDogW1BBVENIXSBJV1lV OiBpbmNsdWRlIGhlYWRlcnMgZm9yIHN0ZDo6dmVjdG9yIGFuZCBzdGQ6OnVuaXF1ZV9wdHIgaW4g QVhUcmVlRm9ybWF0dGVyCi0KLUZpeCB0aGVzZSBidWlsZCBlcnJvcnMgd2l0aCBsaWJzdGRjKys6 Ci0uLi8uLi91aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3JtL2luc3BlY3QvdHJlZV9mb3JtYXR0ZXIu aDozNToxMjogZXJyb3I6IOKAmHN0ZDo6dmVjdG9y4oCZIGhhcyBub3QgYmVlbiBkZWNsYXJlZAot Li4vLi4vdWkvYWNjZXNzaWJpbGl0eS9wbGF0Zm9ybS9pbnNwZWN0L3RyZWVfZm9ybWF0dGVyLmg6 NjE6MTY6IGVycm9yOiDigJh1bmlxdWVfcHRy4oCZIGluIG5hbWVzcGFjZSDigJhzdGTigJkgZG9l cyBub3QgbmFtZSBhIHRlbXBsYXRlIHR5cGUKLQotQnVnOiA5NTc1MTkKLUNoYW5nZS1JZDogSTQw MmFjMDY0NDI1NWIzY2Q0OTMyZmYyZmU3MmQ5OTliMTI1YTc4OTUKLS0tLQotCi1kaWZmIC0tZ2l0 IGEvdWkvYWNjZXNzaWJpbGl0eS9wbGF0Zm9ybS9pbnNwZWN0L3RyZWVfZm9ybWF0dGVyLmggYi91 aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3JtL2luc3BlY3QvdHJlZV9mb3JtYXR0ZXIuaAotaW5kZXgg NGE3MGE0ZC4uYmIyMzc2OCAxMDA2NDQKLS0tLSB1aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3JtL2lu c3BlY3QvdHJlZV9mb3JtYXR0ZXIuaAotKysrIHVpL2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vaW5z cGVjdC90cmVlX2Zvcm1hdHRlci5oCi1AQCAtNSw2ICs1LDkgQEAKLSAjaWZuZGVmIFVJX0FDQ0VT U0lCSUxJVFlfUExBVEZPUk1fSU5TUEVDVF9UUkVFX0ZPUk1BVFRFUl9IXwotICNkZWZpbmUgVUlf QUNDRVNTSUJJTElUWV9QTEFURk9STV9JTlNQRUNUX1RSRUVfRk9STUFUVEVSX0hfCi0gCi0rI2lu Y2x1ZGUgPG1lbW9yeT4KLSsjaW5jbHVkZSA8dmVjdG9yPgotKwotICNpbmNsdWRlICJ1aS9hY2Nl c3NpYmlsaXR5L3BsYXRmb3JtL2luc3BlY3QvaW5zcGVjdC5oIgotIAotICNpbmNsdWRlICJ1aS9n ZngvbmF0aXZlX3dpZGdldF90eXBlcy5oIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2Nocm9taXVtLTg4LUJvb2ttYXJrTW9kZWxPYnNlcnZlci1pbmNsdWRlLnBhdGNoIGIv c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LUJvb2ttYXJrTW9kZWxPYnNlcnZl ci1pbmNsdWRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjI2YTYwYTM2 ZS4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4 LUJvb2ttYXJrTW9kZWxPYnNlcnZlci1pbmNsdWRlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MjEgKzAsMCBAQAotRnJvbSAxMjdlYzNiMWJmMjZhYjM3ZjJhZTgzMzNmMjg0MDA4ODY4NzU2Mjc0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5 QGdvb2dsZW1haWwuY29tPgotRGF0ZTogU2F0LCAyMSBOb3YgMjAyMCAxNTo1OToyMyArMDAwMAot U3ViamVjdDogW1BBVENIXSBJV1lVOiBzaXplX3QgaXMgZGVmaW5lZCBzdGRkZWYuaAotCi1DaGFu Z2UtSWQ6IEk0NDAwYWM3YzYwMDRiNDllYzZlNzJjNDRmMjc1NGUyMTY2NjQyZjg4Ci0tLS0KLQot ZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvYm9va21hcmtzL2Jyb3dzZXIvYm9va21hcmtfbW9kZWxf b2JzZXJ2ZXIuaCBiL2NvbXBvbmVudHMvYm9va21hcmtzL2Jyb3dzZXIvYm9va21hcmtfbW9kZWxf b2JzZXJ2ZXIuaAotaW5kZXggNjljNDBlNy4uMGU1ZWI5NiAxMDA2NDQKLS0tLSBjb21wb25lbnRz L2Jvb2ttYXJrcy9icm93c2VyL2Jvb2ttYXJrX21vZGVsX29ic2VydmVyLmgKLSsrKyBjb21wb25l bnRzL2Jvb2ttYXJrcy9icm93c2VyL2Jvb2ttYXJrX21vZGVsX29ic2VydmVyLmgKLUBAIC03LDYg KzcsOCBAQAotIAotICNpbmNsdWRlIDxzZXQ+Ci0gCi0rI2luY2x1ZGUgPHN0ZGRlZi5oPgotKwot IGNsYXNzIEdVUkw7Ci0gCi0gbmFtZXNwYWNlIGJvb2ttYXJrcyB7CmRpZmYgLS1naXQgYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtQ29tcG9zaXRvckZyYW1lUmVwb3J0ZXIt ZGNoZWNrLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LUNvbXBv c2l0b3JGcmFtZVJlcG9ydGVyLWRjaGVjay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggYWExYzUyZTBiN2UuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9jaHJvbWl1bS04OC1Db21wb3NpdG9yRnJhbWVSZXBvcnRlci1kY2hlY2sucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIDU2YzY1NGE5MTYwMGUzYmYyNTRhYTlm NjZjMTE1MWIwODUwYjZlZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKb3NlIERh cGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KLURhdGU6IFdlZCwgMTEgTm92IDIwMjAgMTA6 MjQ6NDcgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gR0NDOiBkbyBub3QgcGFzcyB1bmlxdWVfcHRy IHRvIERDSEVDS19ORSwgYnV0IHRoZSBhY3R1YWwgcG9pbnRlciwgaW4gQ29tcG9zaXRvckZyYW1l UmVwb3J0ZXIKLQotRENIRUNLX05FIGNvbXBhcmlzb24gcmVxdWlyZXMgQ2hlY2tPcFZhbHVlU3Ry IHRvIGJlIGRlZmluZWQgZm9yIHRoZQotdHlwZSwgb3IgcHJvdmlkaW5nIGFuIG91dHB1dCBzdHJl YW0gb3BlcmF0b3IuIEEgdW5pcXVlX3B0ciBkb2VzIG5vdAotcHJvdmlkZSBhbnkuCi0KLUNvbXBp bGF0aW9uIGluIEdDQyBpcyBmYWlsaW5nIGluIENvbXBvc2l0b3JGcmFtZVJlcG9ydGVyIGJlY2F1 c2Ugb2YKLXRoaXM6Ci0uLi8uLi9jYy9tZXRyaWNzL2NvbXBvc2l0b3JfZnJhbWVfcmVwb3J0ZXIu Y2M6IEluIG1lbWJlciBmdW5jdGlvbiDigJh2b2lkIGNjOjpDb21wb3NpdG9yRnJhbWVSZXBvcnRl cjo6UmVwb3J0RXZlbnRMYXRlbmN5SGlzdG9ncmFtcygpIGNvbnN04oCZOgotLi4vLi4vYmFzZS9j aGVja19vcC5oOjIyNDo1OTogZXJyb3I6IG5vIG1hdGNoaW5nIGZ1bmN0aW9uIGZvciBjYWxsIHRv IOKAmENoZWNrT3BWYWx1ZVN0cihjb25zdCBzdGQ6OnVuaXF1ZV9wdHI8Y2M6OkV2ZW50TWV0cmlj cz4mKeKAmQotCi1GaXhlZCBjb21wYXJpbmcgdGhlIHJlc3VsdCBvZiBnZXQoKSBtZXRob2QgZm9y IHVuaXF1ZV9wdHIgaW5zdGVhZCBvZgotdGhlIHVuaXF1ZV9wdHIuCi0KLUJ1ZzogODE5Mjk0Ci1D aGFuZ2UtSWQ6IEkxMTEwM2QxODY3YzcxOTZjMWRlOTJlNzJmOWYxMmRjZmQzMWMyOWYxCi0KLSh1 cGRhdGVkIHRvIHVzZSBEQ0hFQ0sgYXMgc3VnZ2VzdGVkIGluIGNvbW1lbnRzKQotLS0tCi0KLWRp ZmYgLS1naXQgYS9jYy9tZXRyaWNzL2NvbXBvc2l0b3JfZnJhbWVfcmVwb3J0ZXIuY2MgYi9jYy9t ZXRyaWNzL2NvbXBvc2l0b3JfZnJhbWVfcmVwb3J0ZXIuY2MKLWluZGV4IDcyNWJlYjAuLmZhZmQw ZjMgMTAwNjQ0Ci0tLS0gY2MvbWV0cmljcy9jb21wb3NpdG9yX2ZyYW1lX3JlcG9ydGVyLmNjCi0r KysgY2MvbWV0cmljcy9jb21wb3NpdG9yX2ZyYW1lX3JlcG9ydGVyLmNjCi1AQCAtNjg2LDcgKzY4 Niw3IEBACi0gCi0gdm9pZCBDb21wb3NpdG9yRnJhbWVSZXBvcnRlcjo6UmVwb3J0RXZlbnRMYXRl bmN5SGlzdG9ncmFtcygpIGNvbnN0IHsKLSAgIGZvciAoY29uc3QgYXV0byYgZXZlbnRfbWV0cmlj cyA6IGV2ZW50c19tZXRyaWNzXykgewotLSAgICBEQ0hFQ0tfTkUoZXZlbnRfbWV0cmljcywgbnVs bHB0cik7Ci0rICAgIERDSEVDSyhldmVudF9tZXRyaWNzKTsKLSAgICAgY29uc3Qgc3RkOjpzdHJp bmcgaGlzdG9ncmFtX2Jhc2VfbmFtZSA9Ci0gICAgICAgICBHZXRFdmVudExhdGVuY3lIaXN0b2dy YW1CYXNlTmFtZSgqZXZlbnRfbWV0cmljcyk7Ci0gICAgIGNvbnN0IGludCBldmVudF90eXBlX2lu ZGV4ID0gc3RhdGljX2Nhc3Q8aW50PihldmVudF9tZXRyaWNzLT50eXBlKCkpOwpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LVN0cmluZ1Bvb2wtaW5jbHVk ZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1TdHJpbmdQb29s LWluY2x1ZGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1NWJiYWUyZWNl Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgt U3RyaW5nUG9vbC1pbmNsdWRlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAot RnJvbSAzNzIzNjZiNDE4MDUzM2YyN2QzMjUwYTUwODEwODI4MzcwZDY5N2IwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwu Y29tPgotRGF0ZTogU2F0LCAyMSBOb3YgMjAyMCAxNjoxMjoxOCArMDAwMAotU3ViamVjdDogW1BB VENIXSBJV1lVOiBpbmNsdWRlIGxpbWl0cyBmb3Igc3RkOjpudW1lcmljX2xpbWl0cwotCi1DaGFu Z2UtSWQ6IElhNTIyNmUxNDMyYTYyMmY0ZjRhYmM4ZjFiMThiY2FiODYzOGE3M2M2Ci0tLS0KLQot ZGlmZiAtLWdpdCBhL3NyYy90cmFjZV9wcm9jZXNzb3IvY29udGFpbmVycy9zdHJpbmdfcG9vbC5o IGIvc3JjL3RyYWNlX3Byb2Nlc3Nvci9jb250YWluZXJzL3N0cmluZ19wb29sLmgKLWluZGV4IDEx YWU5MWMuLjU4YzZkYjIgMTAwNjQ0Ci0tLS0gdGhpcmRfcGFydHkvcGVyZmV0dG8vc3JjL3RyYWNl X3Byb2Nlc3Nvci9jb250YWluZXJzL3N0cmluZ19wb29sLmgKLSsrKyB0aGlyZF9wYXJ0eS9wZXJm ZXR0by9zcmMvdHJhY2VfcHJvY2Vzc29yL2NvbnRhaW5lcnMvc3RyaW5nX3Bvb2wuaAotQEAgLTIy LDYgKzIyLDcgQEAKLSAKLSAjaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KLSAjaW5jbHVkZSA8dmVj dG9yPgotKyNpbmNsdWRlIDxsaW1pdHM+Ci0gCi0gI2luY2x1ZGUgInBlcmZldHRvL2V4dC9iYXNl L29wdGlvbmFsLmgiCi0gI2luY2x1ZGUgInBlcmZldHRvL2V4dC9iYXNlL3BhZ2VkX21lbW9yeS5o IgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWZlZGVy YXRlZF9sZWFybmluZy1pbmNsdWRlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2No cm9taXVtLTg4LWZlZGVyYXRlZF9sZWFybmluZy1pbmNsdWRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAzZWIxNTM3ZDgwMS4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWZlZGVyYXRlZF9sZWFybmluZy1pbmNsdWRlLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotRnJvbSBiY2IyMGJhYmVlNjAyYjU1 ZmU0YmQwMjZlMTNhNDFkMTBiODk2MzJmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog U3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotRGF0ZTogU2F0LCAyMSBO b3YgMjAyMCAxNTo1NTowMiArMDAwMAotU3ViamVjdDogW1BBVENIXSBJV1lVOiBpbmNsdWRlIGxp bWl0cyBmb3Igc3RkOjpudW1lcmljX2xpbWl0cwotCi1DaGFuZ2UtSWQ6IEkxYjZiMDdlYmIzOTdh MjljODRkM2VkNTFhZTQxNTIzZTNlY2FiNDk3Ci0tLS0KLQotZGlmZiAtLWdpdCBhL2NvbXBvbmVu dHMvZmVkZXJhdGVkX2xlYXJuaW5nL2Zsb2NfY29uc3RhbnRzLmNjIGIvY29tcG9uZW50cy9mZWRl cmF0ZWRfbGVhcm5pbmcvZmxvY19jb25zdGFudHMuY2MKLWluZGV4IGRmNjZlNWQuLjJlYjUwZjEg MTAwNjQ0Ci0tLS0gY29tcG9uZW50cy9mZWRlcmF0ZWRfbGVhcm5pbmcvZmxvY19jb25zdGFudHMu Y2MKLSsrKyBjb21wb25lbnRzL2ZlZGVyYXRlZF9sZWFybmluZy9mbG9jX2NvbnN0YW50cy5jYwot QEAgLTQsNiArNCw4IEBACi0gCi0gI2luY2x1ZGUgImNvbXBvbmVudHMvZmVkZXJhdGVkX2xlYXJu aW5nL2Zsb2NfY29uc3RhbnRzLmgiCi0gCi0rI2luY2x1ZGUgPGxpbWl0cz4KLSsKLSBuYW1lc3Bh Y2UgZmVkZXJhdGVkX2xlYXJuaW5nIHsKLSAKLSAvLyBUaGlzIGlzIG9ubHkgZm9yIGV4cGVyaW1l bnRhdGlvbiBhbmQgd29uJ3QgYmUgc2VydmVkIHRvIHdlYnNpdGVzLgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWdsaWJjLTIuMzMucGF0Y2ggYi9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjQzMDZkNWU0MjkuLjAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1nbGliYy0yLjMzLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTQ0ICswLDAgQEAKLSMgUGF0Y2ggbWFkZSBieSBLZXZpbiBLb2ZsZXIg PEtldmluQHRpZ2NjLnRpY2FsYy5vcmc+Ci0jIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9z aG93X2J1Zy5jZ2k/aWQ9MTkwNDY1MgotCi1kaWZmIC11cCBjaHJvbWl1bS04OC4wLjQzMjQuOTYv c2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYy5mc3Rh dGZpeCBjaHJvbWl1bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxw ZXJzL2Jhc2VsaW5lX3BvbGljeS5jYwotLS0tIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9iYXNlbGluZV9wb2xpY3kuY2MuZnN0YXRmaXgJMjAyMS0wMS0yNSAxMDoxMTo0NS40Mjc0 MzYzOTggLTA1MDAKLSsrKyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxp bmVfcG9saWN5LmNjCTIwMjEtMDEtMjUgMTA6MTI6NTEuMzM3Njk5MDAzIC0wNTAwCi1AQCAtMjU3 LDYgKzI1NywxOCBAQCBSZXN1bHRFeHByIEV2YWx1YXRlU3lzY2FsbEltcGwoaW50IGZzX2RlCi0g ICAgIHJldHVybiBSZXN0cmljdEtpbGxUYXJnZXQoY3VycmVudF9waWQsIHN5c25vKTsKLSAgIH0K LSAKLSsjaWYgZGVmaW5lZChfX05SX25ld2ZzdGF0YXQpCi0rICBpZiAoc3lzbm8gPT0gX19OUl9u ZXdmc3RhdGF0KSB7Ci0rICAgIHJldHVybiBSZXdyaXRlRnN0YXRhdFNJR1NZUygpOwotKyAgfQot KyNlbmRpZgotKwotKyNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQotKyAgaWYgKHN5c25vID09 IF9fTlJfZnN0YXRhdDY0KSB7Ci0rICAgIHJldHVybiBSZXdyaXRlRnN0YXRhdFNJR1NZUygpOwot KyAgfQotKyNlbmRpZgotKwotICAgaWYgKFN5c2NhbGxTZXRzOjpJc0ZpbGVTeXN0ZW0oc3lzbm8p IHx8Ci0gICAgICAgU3lzY2FsbFNldHM6OklzQ3VycmVudERpcmVjdG9yeShzeXNubykpIHsKLSAg ICAgcmV0dXJuIEVycm9yKGZzX2RlbmllZF9lcnJubyk7Ci1kaWZmIC11cCBjaHJvbWl1bS04OC4w LjQzMjQuOTYvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVy cy5jYy5mc3RhdGZpeCBjaHJvbWl1bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9zZWNjb21w LWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5jYwotLS0tIHNhbmRib3gvbGludXgvc2VjY29t cC1icGYtaGVscGVycy9zaWdzeXNfaGFuZGxlcnMuY2MuZnN0YXRmaXgJMjAyMS0wMS0yNSAxMDox MzoxMC4xNzk3NzQwODEgLTA1MDAKLSsrKyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBl cnMvc2lnc3lzX2hhbmRsZXJzLmNjCTIwMjEtMDEtMjUgMTA6MTY6MTguNzkwNTI1NzQ2IC0wNTAw Ci1AQCAtNiw2ICs2LDggQEAKLSAKLSAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zZWNjb21wLWJw Zi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5oIgotIAotKyNpbmNsdWRlIDxlcnJuby5oPgotKyNp bmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDxzdGRkZWYuaD4KLSAjaW5jbHVkZSA8c3RkaW50 Lmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotQEAgLTM1NSw2ICszNTcsMzUgQEAgaW50cHRyX3Qg U0lHU1lTU2NoZWRIYW5kbGVyKGNvbnN0IHN0cnVjdAotICAgcmV0dXJuIC1FTk9TWVM7Ci0gfQot IAotK2ludHB0cl90IFNJR1NZU0ZzdGF0YXRIYW5kbGVyKGNvbnN0IHN0cnVjdCBhcmNoX3NlY2Nv bXBfZGF0YSYgYXJncywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBhdXgp IHsKLSsgIHN3aXRjaCAoYXJncy5ucikgewotKyNpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkK LSsgICAgY2FzZSBfX05SX25ld2ZzdGF0YXQ6Ci0rI2VuZGlmCi0rI2lmIGRlZmluZWQoX19OUl9m c3RhdGF0NjQpCi0rICAgIGNhc2UgX19OUl9mc3RhdGF0NjQ6Ci0rI2VuZGlmCi0rI2lmIGRlZmlu ZWQoX19OUl9uZXdmc3RhdGF0KSB8fCBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQotKyAgICAgIGlm ICgqcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyICo+KGFyZ3MuYXJnc1sxXSkgPT0gJ1wwJwot KyAgICAgICAgICAmJiBhcmdzLmFyZ3NbM10gPT0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KEFUX0VN UFRZX1BBVEgpKSB7Ci0rICAgICAgICByZXR1cm4gc2FuZGJveDo6c3lzX2ZzdGF0NjQoc3RhdGlj X2Nhc3Q8aW50PihhcmdzLmFyZ3NbMF0pLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IHN0YXQ2NCAqPihhcmdzLmFyZ3NbMl0pKTsK LSsgICAgICB9IGVsc2UgewotKyAgICAgICAgZXJybm8gPSBFQUNDRVM7Ci0rICAgICAgICByZXR1 cm4gLTE7Ci0rICAgICAgfQotKyAgICAgIGJyZWFrOwotKyNlbmRpZgotKyAgfQotKwotKyAgQ3Jh c2hTSUdTWVNfSGFuZGxlcihhcmdzLCBhdXgpOwotKwotKyAgLy8gU2hvdWxkIG5ldmVyIGJlIHJl YWNoZWQuCi0rICBSQVdfQ0hFQ0soZmFsc2UpOwotKyAgcmV0dXJuIC1FTk9TWVM7Ci0rfQotKwot IGJwZl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdTWVMoKSB7Ci0gICByZXR1cm4gYnBmX2RzbDo6 VHJhcChDcmFzaFNJR1NZU19IYW5kbGVyLCBOVUxMKTsKLSB9Ci1AQCAtMzg3LDYgKzQxOCwxMCBA QCBicGZfZHNsOjpSZXN1bHRFeHByIFJld3JpdGVTY2hlZFNJR1NZUygpCi0gICByZXR1cm4gYnBm X2RzbDo6VHJhcChTSUdTWVNTY2hlZEhhbmRsZXIsIE5VTEwpOwotIH0KLSAKLSticGZfZHNsOjpS ZXN1bHRFeHByIFJld3JpdGVGc3RhdGF0U0lHU1lTKCkgewotKyAgcmV0dXJuIGJwZl9kc2w6OlRy YXAoU0lHU1lTRnN0YXRhdEhhbmRsZXIsIE5VTEwpOwotK30KLSsKLSB2b2lkIEFsbG9jYXRlQ3Jh c2hLZXlzKCkgewotICNpZiAhZGVmaW5lZChPU19OQUNMX05PTlNGSSkKLSAgIGlmIChzZWNjb21w X2NyYXNoX2tleSkKLWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4 L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmguZnN0YXRmaXggY2hyb21pdW0t ODguMC40MzI0Ljk2L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFu ZGxlcnMuaAotLS0tIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFu ZGxlcnMuaC5mc3RhdGZpeAkyMDIxLTAxLTI1IDEwOjE2OjM2Ljk4MjU5ODIzNiAtMDUwMAotKysr IHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFuZGxlcnMuaAkyMDIx LTAxLTI1IDEwOjE4OjQ1LjcwNTExMTAyNyAtMDUwMAotQEAgLTYyLDYgKzYyLDEwIEBAIFNBTkRC T1hfRVhQT1JUIGludHB0cl90IFNJR1NZU1B0cmFjZUZhaWwKLSAvLyBzY2hlZF9zZXRwYXJhbSgp LCBzY2hlZF9zZXRzY2hlZHVsZXIoKQotIFNBTkRCT1hfRVhQT1JUIGludHB0cl90IFNJR1NZU1Nj aGVkSGFuZGxlcihjb25zdCBhcmNoX3NlY2NvbXBfZGF0YSYgYXJncywKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCogYXV4KTsKLSsvLyBJZiB0aGUgZnN0 YXRhdCBzeXNjYWxsIGlzIGFjdHVhbGx5IGEgZGlzZ3Vpc2VkIGZzdGF0LCBjYWxscyB0aGUgcmVn dWxhciBmc3RhdAotKy8vIHN5c2NhbGwsIG90aGVyd2lzZSwgY3Jhc2hlcyBpbiB0aGUgc2FtZSB3 YXkgYXMgQ3Jhc2hTSUdTWVNfSGFuZGxlci4KLStTQU5EQk9YX0VYUE9SVCBpbnRwdHJfdCBTSUdT WVNGc3RhdGF0SGFuZGxlcihjb25zdCBzdHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsIAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQqIGF1eCk7 Ci0gCi0gLy8gVmFyaWFudHMgb2YgdGhlIGFib3ZlIGZ1bmN0aW9ucyBmb3IgdXNlIHdpdGggYnBm X2RzbC4KLSBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIENyYXNoU0lHU1lTKCk7 Ci1AQCAtNzIsNiArNzYsNyBAQCBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIENy YXNoCi0gU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBDcmFzaFNJR1NZU0Z1dGV4 KCk7Ci0gU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBDcmFzaFNJR1NZU1B0cmFj ZSgpOwotIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmV3cml0ZVNjaGVkU0lH U1lTKCk7Ci0rU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBSZXdyaXRlRnN0YXRh dFNJR1NZUygpOwotIAotIC8vIEFsbG9jYXRlcyBhIGNyYXNoIGtleSBzbyB0aGF0IFNlY2NvbXAg aW5mb3JtYXRpb24gY2FuIGJlIHJlY29yZGVkLgotIHZvaWQgQWxsb2NhdGVDcmFzaEtleXMoKTsK LWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5 c2NhbGxfd3JhcHBlcnMuY2MuZnN0YXRmaXggY2hyb21pdW0tODguMC40MzI0Ljk2L3NhbmRib3gv bGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYwotLS0tIHNhbmRib3gvbGludXgvc2Vy dmljZXMvc3lzY2FsbF93cmFwcGVycy5jYy5mc3RhdGZpeAkyMDIxLTAxLTI1IDEwOjE4OjUzLjMw NzE0MTMxMSAtMDUwMAotKysrIHNhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVy cy5jYwkyMDIxLTAxLTI1IDEwOjE5OjQ2Ljk4MjM1NTI5MyAtMDUwMAotQEAgLTI2MSw0ICsyNjEs MTMgQEAgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZ251bSwKLSAKLSAjZW5kaWYgIC8vIGRlZmlu ZWQoTUVNT1JZX1NBTklUSVpFUikKLSAKLStTQU5EQk9YX0VYUE9SVCBpbnQgc3lzX2ZzdGF0NjQo aW50IGZkLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpCi0rewotKyNpZiBkZWZpbmVkKF9fTlJfZnN0YXQ2 NCkKLSsgICAgcmV0dXJuIHN5c2NhbGwoX19OUl9mc3RhdDY0LCBmZCwgYnVmKTsKLSsjZWxzZQot KyAgICByZXR1cm4gc3lzY2FsbChfX05SX2ZzdGF0LCBmZCwgYnVmKTsKLSsjZW5kaWYKLSt9Ci0r Ci0gfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKLWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMyNC45 Ni9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaC5mc3RhdGZpeCBjaHJv bWl1bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJz LmgKLS0tLSBzYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaC5mc3RhdGZp eAkyMDIxLTAxLTI1IDEwOjE5OjUzLjExNTM3OTc0MSAtMDUwMAotKysrIHNhbmRib3gvbGludXgv c2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oCTIwMjEtMDEtMjUgMTA6MjA6NDUuNDg1NTg4NDIx IC0wNTAwCi1AQCAtMTcsNiArMTcsNyBAQCBzdHJ1Y3Qgc29ja19mcHJvZzsKLSBzdHJ1Y3Qgcmxp bWl0NjQ7Ci0gc3RydWN0IGNhcF9oZHI7Ci0gc3RydWN0IGNhcF9kYXRhOwotK3N0cnVjdCBzdGF0 NjQ7Ci0gCi0gbmFtZXNwYWNlIHNhbmRib3ggewotIAotQEAgLTg0LDYgKzg1LDkgQEAgU0FOREJP WF9FWFBPUlQgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZwotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzaWdhY3Rpb24qIGFjdCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2lnYWN0aW9uKiBvbGRhY3QpOwotIAotKy8vIFJl Y2VudCBnbGliYyByZXdyaXRlcyBmc3RhdCB0byBmc3RhdGF0LgotK1NBTkRCT1hfRVhQT1JUIGlu dCBzeXNfZnN0YXQ2NChpbnQgZmQsIHN0cnVjdCBzdGF0NjQgKmJ1Zik7Ci0rCi0gfSAgLy8gbmFt ZXNwYWNlIHNhbmRib3gKLSAKLSAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU0VSVklDRVNfU1lT Q0FMTF9XUkFQUEVSU19IXwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2No cm9taXVtLTg4LWlkZW9ncmFwaGljU3BhY2VDaGFyYWN0ZXIucGF0Y2ggYi9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvY2hyb21pdW0tODgtaWRlb2dyYXBoaWNTcGFjZUNoYXJhY3Rlci5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzhhMTE0MjNiMmQuLjAwMDAwMDAwMDAwCi0t LSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1pZGVvZ3JhcGhpY1NwYWNl Q2hhcmFjdGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotRnJvbSA3NWZm ODgyYmI1ZjJmY2QxNDQzMWU2NWZhNjM4YWU3MmJkYjQ3MDg2IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQotRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotRGF0 ZTogU3VuLCAxNSBOb3YgMjAyMCAxNDozMToyMyArMDAwMAotU3ViamVjdDogW1BBVENIXSBmaXgg aWRlb2dyYXBoaWNTcGFjZUNoYXJhY3RlciBjb25zdGFudCBmb3Igc3lzdGVtIGljdQotCi1odHRw czovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMTY4 NzQxMQotcmVuYW1lZCBpZGVvZ3JhcGhpY1NwYWNlQ2hhcmFjdGVyIHRvIGtJZGVvZ3JhcGhpY1Nw YWNlQ2hhcmFjdGVyLgotLS0tCi0gdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0v d3RmL3RleHQvdGV4dF9jb2RlY19pY3UuY2MgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvdGV4dC90ZXh0X2NvZGVjX2ljdS5jYyBiL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi90ZXh0L3RleHRfY29kZWNfaWN1LmNjCi1p bmRleCBmYjhhYjA1Li41ZDRlYTEzIDEwMDY0NAotLS0tIHRoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL3d0Zi90ZXh0L3RleHRfY29kZWNfaWN1LmNjCi0rKysgdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3RleHQvdGV4dF9jb2RlY19pY3UuY2MKLUBAIC00 MzIsNyArNDMyLDcgQEAgU3RyaW5nIFRleHRDb2RlY0lDVTo6RGVjb2RlKGNvbnN0IGNoYXIqIGJ5 dGVzLAotICAgLy8gSUNVIGRlY29kZXMgaXQgYXMgVStFNUU1LgotICAgaWYgKCFzdHJjbXAoZW5j b2RpbmdfLkdldE5hbWUoKSwgIkdCSyIpKSB7Ci0gICAgIGlmIChFcXVhbElnbm9yaW5nQVNDSUlD YXNlKGVuY29kaW5nXy5HZXROYW1lKCksICJnYjE4MDMwIikpCi0tICAgICAgcmVzdWx0U3RyaW5n LlJlcGxhY2UoMHhFNUU1LCBpZGVvZ3JhcGhpY1NwYWNlQ2hhcmFjdGVyKTsKLSsgICAgICByZXN1 bHRTdHJpbmcuUmVwbGFjZSgweEU1RTUsIGtJZGVvZ3JhcGhpY1NwYWNlQ2hhcmFjdGVyKTsKLSAg ICAgLy8gTWFrZSBHQksgY29tcGxpYW50IHRvIHRoZSBlbmNvZGluZyBzcGVjIGFuZCBhbGlnbiB3 aXRoIEdCMTgwMzAKLSAgICAgcmVzdWx0U3RyaW5nLlJlcGxhY2UoMHgwMUY5LCAweEU3QzgpOwot ICAgICAvLyBGSVhNRTogT25jZSBodHRwczovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19i dWcuY2dpP2lkPTI4NzQwI2MzCi0tLSAKLTIuMjYuMgotCmRpZmYgLS1naXQgYS9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtaXR5cC1pbmNsdWRlLnBhdGNoIGIvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWl0eXAtaW5jbHVkZS5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggYzU0YjZmZmZkNTQuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1pdHlwLWluY2x1ZGUucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1Gcm9tIGJjMzgzYTVkZDdmYThmMmI1MzVmMjg4MTVm ZDY5MzJmYmMwZDJhNDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdGVwaGFuIEhh cnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDI4IE9jdCAyMDIwIDE2 OjAwOjM1ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIElXWVU6IGluY2x1ZGUgc3RkZGVmLmggZm9y IHNpemVfdAotCi0tLS0KLSB0aGlyZF9wYXJ0eS9kYXduL3NyYy9jb21tb24vaXR5cF9hcnJheS5o IHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L2Rhd24vc3JjL2NvbW1vbi9pdHlwX2FycmF5LmggYi90aGlyZF9wYXJ0eS9k YXduL3NyYy9jb21tb24vaXR5cF9hcnJheS5oCi1pbmRleCA0OGUwODBmLi5jNzg0MTk4IDEwMDY0 NAotLS0tIHRoaXJkX3BhcnR5L2Rhd24vc3JjL2NvbW1vbi9pdHlwX2FycmF5LmgKLSsrKyB0aGly ZF9wYXJ0eS9kYXduL3NyYy9jb21tb24vaXR5cF9hcnJheS5oCi1AQCAtMjEsNiArMjEsOCBAQAot ICNpbmNsdWRlIDxhcnJheT4KLSAjaW5jbHVkZSA8dHlwZV90cmFpdHM+Ci0gCi0rI2luY2x1ZGUg PHN0ZGRlZi5oPgotKwotIG5hbWVzcGFjZSBpdHlwIHsKLSAKLSAgICAgLy8gaXR5cDo6YXJyYXkg aXMgYSBoZWxwZXIgY2xhc3MgdGhhdCB3cmFwcyBzdGQ6OmFycmF5IHdpdGggdGhlIHJlc3RyaWN0 aW9uIHRoYXQKLS0tIAotMi4yNi4yCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9jaHJvbWl1bS04OC12YWFwaS1hdHRyaWJ1dGUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvY2hyb21pdW0tODgtdmFhcGktYXR0cmlidXRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCBlNDE2MWFmNDVjNy4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LXZhYXBpLWF0dHJpYnV0ZS5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gNGY0NjA0ODc3ZjNiNjY2YWM3YTM3M2FlNDQz ZTNjMzc5NTQyNDU2OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXBoYW4gSGFy dG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgNiBOb3YgMjAyMCAxMTox ODo0MiArMDAwMAotU3ViamVjdDogW1BBVENIXSBHQ0M6IGZpeCBhdHRyaWJ1dGUgb24gZnVuY3Rp b24gZGVmaW5pdGlvbgotCi1HQ0MgZG9lcyBub3QgYWNjZXB0IGF0dHJpYnV0ZXMgYXQgdGhlIGVu ZCBmb3IgZnVuY3Rpb24gZGVmaW5pdGlvbnMuCi1Tb2x1dGlvbiBpcyB0byBtb3ZlIGl0IGJlZm9y ZSBmdW5jdGlvbiBuYW1lLiBPdGhlcndpc2UgR0NDIGZhaWxzIGxpa2UKLXRoaXM6Ci0KLS4uLy4u L2Jhc2UvY29tcGlsZXJfc3BlY2lmaWMuaDo5NzoyODogZXJyb3I6IGF0dHJpYnV0ZXMgYXJlIG5v dCBhbGxvd2VkCi1vbiBhIGZ1bmN0aW9uLWRlZmluaXRpb24KLSAgIDk3IHwgI2RlZmluZSBXQVJO X1VOVVNFRF9SRVNVTFQgX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSkKLSAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fgotCSAuLi8uLi9t ZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5oOjMyMjozNjogbm90ZTogaW4KLQkgZXhwYW5z aW9uIG9mIG1hY3JvICdXQVJOX1VOVVNFRF9SRVNVTFQnCi0JICAgMzIyIHwgICAgICAgICAgICAg ICAgICAgICBjb25zdCBUKiBkYXRhKSBXQVJOX1VOVVNFRF9SRVNVTFQgewotCSAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci0tLS0K LSBtZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5oIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21lZGlh L2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmggYi9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBl ci5oCi1pbmRleCBmZDFmZDgyLi5kZWVkYTFmIDEwMDY0NAotLS0tIG1lZGlhL2dwdS92YWFwaS92 YWFwaV93cmFwcGVyLmgKLSsrKyBtZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5oCi1AQCAt MzE4LDggKzMxOCw4IEBAIGNsYXNzIE1FRElBX0dQVV9FWFBPUlQgVmFhcGlXcmFwcGVyCi0gICAv LyBDb252ZW5pZW50IHRlbXBsYXRpemVkIHZlcnNpb24gb2YgU3VibWl0QnVmZmVyKCkgd2hlcmUg fHNpemV8IGlzIGRlZHVjZWQgdG8KLSAgIC8vIGJlIHRoZSBzaXplIG9mIHRoZSB0eXBlIG9mIHwq ZGF0YXwuCi0gICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS0gIGJvb2wgU3VibWl0QnVmZmVyKFZB QnVmZmVyVHlwZSB2YV9idWZmZXJfdHlwZSwKLS0gICAgICAgICAgICAgICAgICAgIGNvbnN0IFQq IGRhdGEpIFdBUk5fVU5VU0VEX1JFU1VMVCB7Ci0rICBib29sIFdBUk5fVU5VU0VEX1JFU1VMVCBT dWJtaXRCdWZmZXIoVkFCdWZmZXJUeXBlIHZhX2J1ZmZlcl90eXBlLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFQqIGRhdGEpIHsKLSAgICAgcmV0dXJuIFN1 Ym1pdEJ1ZmZlcih2YV9idWZmZXJfdHlwZSwgc2l6ZW9mKFQpLCBkYXRhKTsKLSAgIH0KLSAgIC8v IEJhdGNoLXZlcnNpb24gb2YgU3VibWl0QnVmZmVyKCksIHdoZXJlIHRoZSBsb2NrIGZvciBhY2Nl c3NpbmcgbGlidmEgaXMKLS0tIAotMi4yNi4yCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9jaHJvbWl1bS04OS1Db21wb3NpdG9yRnJhbWVSZXBvcnRlci1kY2hlY2sucGF0 Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODktQ29tcG9zaXRvckZyYW1l UmVwb3J0ZXItZGNoZWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwLi5kMzFhZDdmZWM0OAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9jaHJvbWl1bS04OS1Db21wb3NpdG9yRnJhbWVSZXBvcnRlci1kY2hlY2sucGF0Y2gKQEAg LTAsMCArMSwxMSBAQAorLS0tIG5ldC90aGlyZF9wYXJ0eS9xdWljaGUvc3JjL3F1aWMvY29yZS9x dWljX3BhdGhfdmFsaWRhdG9yLmNjLm9yaWcJMjAyMS0wMy0wMiAxODo0ODowNi4wMDAwMDAwMDAg KzAxMDAKKysrKyBuZXQvdGhpcmRfcGFydHkvcXVpY2hlL3NyYy9xdWljL2NvcmUvcXVpY19wYXRo X3ZhbGlkYXRvci5jYwkyMDIxLTAzLTAzIDEzOjE3OjU2LjYyNDI4MTQ3NSArMDEwMAorQEAgLTY4 LDcgKzY4LDcgQEAKKyB2b2lkIFF1aWNQYXRoVmFsaWRhdG9yOjpTdGFydFBhdGhWYWxpZGF0aW9u KAorICAgICBzdGQ6OnVuaXF1ZV9wdHI8UXVpY1BhdGhWYWxpZGF0aW9uQ29udGV4dD4gY29udGV4 dCwKKyAgICAgc3RkOjp1bmlxdWVfcHRyPFJlc3VsdERlbGVnYXRlPiByZXN1bHRfZGVsZWdhdGUp IHsKKy0gIERDSEVDS19ORShudWxscHRyLCBjb250ZXh0KTsKKysgIERDSEVDSyhjb250ZXh0KTsK KyAgIFFVSUNfRExPRyhJTkZPKSA8PCAiU3RhcnQgdmFsaWRhdGluZyBwYXRoICIgPDwgKmNvbnRl eHQKKyAgICAgICAgICAgICAgICAgICA8PCAiIHZpYSB3cml0ZXI6ICIgPDwgY29udGV4dC0+V3Jp dGVyVG9Vc2UoKTsKKyAgIGlmIChwYXRoX2NvbnRleHRfICE9IG51bGxwdHIpIHsKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9saWJjX21hbGxvYy5wYXRjaCBiL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9saWJjX21hbGxvYy5wYXRjaAppbmRleCBlZGExMWVjODY2My4uZjhk OGQ2NmRhMTggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9saWJjX21hbGxv Yy5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbGliY19tYWxsb2MucGF0Y2gK QEAgLTEsMjYgKzEsMTEgQEAKLS0tLSBiYXNlL3Byb2Nlc3MvbWVtb3J5X2xpbnV4LmNjLm9yaWcJ MjAxNy0wOS0xNSAwODo0MTo0My4wMDAwMDAwMDAgKzAwMDAKLSsrKyBiYXNlL3Byb2Nlc3MvbWVt b3J5X2xpbnV4LmNjCTIwMTctMDktMTUgMDg6NDQ6MzkuODA0OTk1NDY5ICswMDAwCi1AQCAtMjEs NiArMjEsMTIgQEAKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvdGNtYWxsb2MvY2hyb21pdW0vc3Jj L2dwZXJmdG9vbHMvdGNtYWxsb2MuaCIKLSAjZW5kaWYKLSAKLSsjaWYgZGVmaW5lZChMSUJDX0dM SUJDKQotK2V4dGVybiAiQyIgewotK2V4dGVybiB2b2lkICpfX2xpYmNfbWFsbG9jKHNpemVfdCBz aXplKTsKLSt9Ci0rI2VuZGlmCi0rCi0gbmFtZXNwYWNlIGJhc2UgewotIAotIHNpemVfdCBnX29v bV9zaXplID0gMFU7Ci0tLS0gYmFzZS9wcm9jZXNzL21lbW9yeV9saW51eC5jYy5vcmlnCTIwMjAt MDgtMzAgMTQ6MTg6MzUuNDAxMTMyNTkzIC0wNDAwCi0rKysgYmFzZS9wcm9jZXNzL21lbW9yeV9s aW51eC5jYwkyMDIwLTA4LTMwIDE0OjE5OjA4LjAzMDE5OTE4OSAtMDQwMAotQEAgLTE0MSw3ICsx NDEsNyBAQAorLS0tIGJhc2UvcHJvY2Vzcy9tZW1vcnlfbGludXguY2Mub3JpZwkyMDIxLTAzLTAy IDE4OjQ0OjU4LjAwMDAwMDAwMCArMDEwMAorKysrIGJhc2UvcHJvY2Vzcy9tZW1vcnlfbGludXgu Y2MJMjAyMS0wMy0wMyAxMjowNTo1Ny45NTIyOTY5ODQgKzAxMDAKK0BAIC0xNTEsNyArMTUxLDcg QEAKICAgICAgKCFkZWZpbmVkKExJQkNfR0xJQkMpICYmICFCVUlMREZMQUcoVVNFX1RDTUFMTE9D KSkKICAgICpyZXN1bHQgPSBtYWxsb2Moc2l6ZSk7CiAgI2VsaWYgZGVmaW5lZChMSUJDX0dMSUJD KSAmJiAhQlVJTERGTEFHKFVTRV9UQ01BTExPQykKIC0gICpyZXN1bHQgPSBfX2xpYmNfbWFsbG9j KHNpemUpOwotKyAgKnJlc3VsdCA9IDo6X19saWJjX21hbGxvYyhzaXplKTsKKysgICpyZXN1bHQg PSBtYWxsb2Moc2l6ZSk7CiAgI2VsaWYgQlVJTERGTEFHKFVTRV9UQ01BTExPQykKICAgICpyZXN1 bHQgPSB0Y19tYWxsb2Nfc2tpcF9uZXdfaGFuZGxlcihzaXplKTsKICAjZW5kaWYKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9sbHZtLXJlbW92ZS11bnN1cHBvcnRlZC1jb21w aWxlci13YXJuaW5ncy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9sbHZtLXJlbW92 ZS11bnN1cHBvcnRlZC1jb21waWxlci13YXJuaW5ncy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMzAxNmIwNjUyMTIuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9sbHZtLXJlbW92ZS11bnN1cHBvcnRlZC1jb21waWxlci13YXJuaW5ncy5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLS0tLSBidWlsZC9jb25maWcvY29tcGls ZXIvQlVJTEQuZ24ub3JpZwkyMDIxLTAxLTIwIDA5OjAxOjQ0LjM2MjExNDMxMSAtMDUwMAotKysr IGJ1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgkyMDIxLTAxLTIwIDA5OjAzOjQxLjg4MDIz MjI0OCAtMDUwMAotQEAgLTE1MzQsOSArMTUzNCw2IEBACi0gCi0gICAgICAgICAgICMgVE9ETyho dHRwczovL2NyYnVnLmNvbS8xMDI4MTEwKTogRXZhbHVhdGUgYW5kIHBvc3NpYmxlIGVuYWJsZS4K LSAgICAgICAgICAgIi1Xbm8tZGVwcmVjYXRlZC1jb3B5IiwKLS0KLS0gICAgICAgICAgIyBUT0RP KGh0dHBzOi8vY3JidWcuY29tLzEwNTAyODEpOiBDbGVhbiB1cCwgZW5hYmxlLgotLSAgICAgICAg ICAiLVduby1ub24tYy10eXBlZGVmLWZvci1saW5rYWdlIiwKLSAgICAgICAgIF0KLSAKLSAgICAg ICAgIGNmbGFnc19jICs9IFsKLUBAIC0xNTQ4LDEzICsxNTQ1LDYgQEAKLSAgICAgICAgICAgIyBU T0RPKGh0dHBzOi8vY3JidWcuY29tLzExNDM3MDApOiBDbGVhbiB1cCBhbmQgcmUtZW5hYmxlLgot ICAgICAgICAgICBjZmxhZ3Nfb2JqYyA9IFsgIi1Xbm8tZ251LWZvbGRpbmctY29uc3RhbnQiIF0K LSAgICAgICAgIH0KLS0KLS0gICAgICAgIGlmIChlbmFibGVfd21heF90b2tlbnMpIHsKLS0gICAg ICAgICAgY2ZsYWdzICs9IFsgIi1XbWF4LXRva2VucyIgXQotLSAgICAgICAgfSBlbHNlIHsKLS0g ICAgICAgICAgIyBUT0RPKGh0dHBzOi8vY3JidWcuY29tLzEwNDk1NjkpOiBSZW1vdmUgYWZ0ZXIg Q2xhbmcgODdiMjM1ZGIuCi0tICAgICAgICAgIGNmbGFncyArPSBbICItV25vLW1heC10b2tlbnMi IF0KLS0gICAgICAgIH0KLSAgICAgICB9Ci0gICAgIH0KLSAgIH0KZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9tdXNsLXY4LW1vbm90b25pYy1wdGhyZWFkLWNvbnRfdGltZWR3 YWl0LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL211c2wtdjgtbW9ub3RvbmljLXB0 aHJlYWQtY29udF90aW1lZHdhaXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDMzYThlYTMyYzljLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv bXVzbC12OC1tb25vdG9uaWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDI0ICswLDAgQEAKLVVzZSBtb25vdG9uaWMgY2xvY2sgZm9yIHB0aHJlYWRfY29u ZF90aW1lZHdhaXQgd2l0aCBtdXNsIHRvby4KLQotZGlmZiAtLWdpdCBhL3Y4L3NyYy9iYXNlL3Bs YXRmb3JtL2NvbmRpdGlvbi12YXJpYWJsZS5jYyBiL3Y4L3NyYy9iYXNlL3BsYXRmb3JtL2NvbmRp dGlvbi12YXJpYWJsZS5jYwotaW5kZXggNWVhNzA4My4uYzEzMDI3ZSAxMDA2NDQKLS0tLSAuL3Y4 L3NyYy9iYXNlL3BsYXRmb3JtL2NvbmRpdGlvbi12YXJpYWJsZS5jYwotKysrIC4vdjgvc3JjL2Jh c2UvcGxhdGZvcm0vY29uZGl0aW9uLXZhcmlhYmxlLmNjCi1AQCAtMTYsNyArMTYsNyBAQCBuYW1l c3BhY2UgYmFzZSB7Ci0gCi0gQ29uZGl0aW9uVmFyaWFibGU6OkNvbmRpdGlvblZhcmlhYmxlKCkg ewotICNpZiAoVjhfT1NfRlJFRUJTRCB8fCBWOF9PU19ORVRCU0QgfHwgVjhfT1NfT1BFTkJTRCB8 fCBcCi0tICAgICAoVjhfT1NfTElOVVggJiYgVjhfTElCQ19HTElCQykpCi0rICAgICBWOF9PU19M SU5VWCkKLSAgIC8vIE9uIEZyZWUvTmV0L09wZW5CU0QgYW5kIExpbnV4IHdpdGggZ2xpYmMgd2Ug Y2FuIGNoYW5nZSB0aGUgdGltZQotICAgLy8gc291cmNlIGZvciBwdGhyZWFkX2NvbmRfdGltZWR3 YWl0KCkgdG8gdXNlIHRoZSBtb25vdG9uaWMgY2xvY2suCi0gICBwdGhyZWFkX2NvbmRhdHRyX3Qg YXR0cjsKLUBAIC05Miw3ICs5Miw3IEBAIGJvb2wgQ29uZGl0aW9uVmFyaWFibGU6OldhaXRGb3Io TXV0ZXgqIG11dGV4LCBjb25zdCBUaW1lRGVsdGEmIHJlbF90aW1lKSB7Ci0gICAgICAgJm5hdGl2 ZV9oYW5kbGVfLCAmbXV0ZXgtPm5hdGl2ZV9oYW5kbGUoKSwgJnRzKTsKLSAjZWxzZQotICNpZiAo VjhfT1NfRlJFRUJTRCB8fCBWOF9PU19ORVRCU0QgfHwgVjhfT1NfT1BFTkJTRCB8fCBcCi0tICAg ICAoVjhfT1NfTElOVVggJiYgVjhfTElCQ19HTElCQykpCi0rICAgICBWOF9PU19MSU5VWCkKLSAg IC8vIE9uIEZyZWUvTmV0L09wZW5CU0QgYW5kIExpbnV4IHdpdGggZ2xpYmMgd2UgY2FuIGNoYW5n ZSB0aGUgdGltZQotICAgLy8gc291cmNlIGZvciBwdGhyZWFkX2NvbmRfdGltZWR3YWl0KCkgdG8g dXNlIHRoZSBtb25vdG9uaWMgY2xvY2suCi0gICByZXN1bHQgPSBjbG9ja19nZXR0aW1lKENMT0NL X01PTk9UT05JQywgJnRzKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9u by1leGVjaW5mby5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5w YXRjaAppbmRleCAzODY5OTdlOGVkMS4uMzU2YTc2MTlhYzkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvbm8tZXhlY2luZm8ucGF0Y2gKQEAgLTEsNSArMSw1IEBACi0tLS0gYmFzZS9kZWJ1 Zy9zdGFja190cmFjZV9wb3NpeC5jYy5vcmlnCTIwMTktMDUtMTQgMTQ6NDk6NDQuMDAwMDAwMDAw IC0wNDAwCi0rKysgYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5jYwkyMDE5LTA3LTAyIDEw OjQzOjQzLjQ5MDA0NTAxMyAtMDQwMAorLS0tIGJhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXgu Y2Mub3JpZwkyMDIxLTAzLTAyIDE4OjQ0OjU4LjAwMDAwMDAwMCArMDEwMAorKysrIGJhc2UvZGVi dWcvc3RhY2tfdHJhY2VfcG9zaXguY2MJMjAyMS0wMy0wMyAxNjo0NjozNy44Mjg4ODM5NzMgKzAx MDAKIEBAIC0yNyw3ICsyNyw3IEBACiAgI2lmICFkZWZpbmVkKFVTRV9TWU1CT0xJWkUpCiAgI2lu Y2x1ZGUgPGN4eGFiaS5oPgpAQCAtOSw3ICs5LDcgQEAKICAjaW5jbHVkZSA8ZXhlY2luZm8uaD4K ICAjZW5kaWYKICAKLUBAIC04Niw3ICs4Niw3IEBACitAQCAtODgsNyArODgsNyBAQAogICAgLy8g Tm90ZTogY29kZSBpbiB0aGlzIGZ1bmN0aW9uIGlzIE5PVCBhc3luYy1zaWduYWwgc2FmZSAoc3Rk OjpzdHJpbmcgdXNlcwogICAgLy8gbWFsbG9jIGludGVybmFsbHkpLgogIApAQCAtMTgsNyArMTgs NyBAQAogICAgc3RkOjpzdHJpbmc6OnNpemVfdHlwZSBzZWFyY2hfZnJvbSA9IDA7CiAgICB3aGls ZSAoc2VhcmNoX2Zyb20gPCB0ZXh0LT5zaXplKCkpIHsKICAgICAgLy8gTG9vayBmb3IgdGhlIHN0 YXJ0IG9mIGEgbWFuZ2xlZCBzeW1ib2wsIGZyb20gc2VhcmNoX2Zyb20uCi1AQCAtMTIxLDcgKzEy MSw3IEBACitAQCAtMTIzLDcgKzEyMyw3IEBACiAgICAgICAgc2VhcmNoX2Zyb20gPSBtYW5nbGVk X3N0YXJ0ICsgMjsKICAgICAgfQogICAgfQpAQCAtMjcsNyArMjcsNyBAQAogIH0KICAjZW5kaWYg IC8vICFkZWZpbmVkKFVTRV9TWU1CT0xJWkUpCiAgCi1AQCAtMTMzLDcgKzEzMyw3IEBACitAQCAt MTM1LDcgKzEzNSw3IEBACiAgICB2aXJ0dWFsIH5CYWNrdHJhY2VPdXRwdXRIYW5kbGVyKCkgPSBk ZWZhdWx0OwogIH07CiAgCkBAIC0zNiw3ICszNiw3IEBACiAgdm9pZCBPdXRwdXRQb2ludGVyKHZv aWQqIHBvaW50ZXIsIEJhY2t0cmFjZU91dHB1dEhhbmRsZXIqIGhhbmRsZXIpIHsKICAgIC8vIFRo aXMgc2hvdWxkIGJlIG1vcmUgdGhhbiBlbm91Z2ggdG8gc3RvcmUgYSA2NC1iaXQgbnVtYmVyIGlu IGhleDoKICAgIC8vIDE2IGhleCBkaWdpdHMgKyAxIGZvciBudWxsLXRlcm1pbmF0b3IuCi1AQCAt MjE2LDcgKzIxNiw3IEBACitAQCAtMjE4LDcgKzIxOCw3IEBACiAgICB9CiAgI2VuZGlmICAvLyBk ZWZpbmVkKFVTRV9TWU1CT0xJWkUpCiAgfQpAQCAtNDUsNyArNDUsNyBAQAogIAogIHZvaWQgUHJp bnRUb1N0ZGVycihjb25zdCBjaGFyKiBvdXRwdXQpIHsKICAgIC8vIE5PVEU6IFRoaXMgY29kZSBN VVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcwotQEAgLTgx Miw3ICs4MTIsNyBAQAorQEAgLTgyNyw3ICs4MjcsNyBAQAogICAgLy8gTk9URTogVGhpcyBjb2Rl IE1VU1QgYmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNzCiAgICAv LyBzdGFjayBkdW1waW5nIHNpZ25hbCBoYW5kbGVyKS4gTk8gbWFsbG9jIG9yIHN0ZGlvIGlzIGFs bG93ZWQgaGVyZS4KICAKQEAgLTU0LDcgKzU0LDcgQEAKICAgIC8vIFRob3VnaCB0aGUgYmFja3Ry YWNlIEFQSSBtYW4gcGFnZSBkb2VzIG5vdCBsaXN0IGFueSBwb3NzaWJsZSBuZWdhdGl2ZQogICAg Ly8gcmV0dXJuIHZhbHVlcywgd2UgdGFrZSBubyBjaGFuY2UuCiAgICByZXR1cm4gYmFzZTo6c2F0 dXJhdGVkX2Nhc3Q8c2l6ZV90PihiYWNrdHJhY2UodHJhY2UsIGNvdW50KSk7Ci1AQCAtODI1LDEz ICs4MjUsMTMgQEAKK0BAIC04NDAsMTMgKzg0MCwxMyBAQAogIC8vIE5PVEU6IFRoaXMgY29kZSBN VVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcwogIC8vIHN0 YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxsb3dl ZCBoZXJlLgogIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLWdldGNv bnRleHQucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8tZ2V0Y29udGV4dC5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjJhNDk4NzM0YzkuLjAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1nZXRjb250ZXh0LnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYy5vcmlnCTIw MTUtMTItMDYgMDk6NTk6NTUuNTU0NTM2NjQ2ICswMTAwCi0rKysgdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNj CTIwMTUtMTItMDYgMTA6MDE6MTYuODE4MjM4MDM1ICswMTAwCi1AQCAtNDc3LDcgKzQ3Nyw5IEBA IGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6U2ltdWxhdGVTaWduYWxEZWwKLSAgIHNpZ2luZm8uc2lf Y29kZSA9IFNJX1VTRVI7Ci0gICBzaWdpbmZvLnNpX3BpZCA9IGdldHBpZCgpOwotICAgdWNvbnRl eHRfdCBjb250ZXh0OwotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAgIGdldGNvbnRleHQoJmNv bnRleHQpOwotKyNlbmRpZgotICAgcmV0dXJuIEhhbmRsZVNpZ25hbChzaWcsICZzaWdpbmZvLCAm Y29udGV4dCk7Ci0gfQotIAotQEAgLTY0Nyw5ICs2NDksMTQgQEAgYm9vbCBFeGNlcHRpb25IYW5k bGVyOjpXcml0ZU1pbmlkdW1wKCkgewotICAgc3lzX3ByY3RsKFBSX1NFVF9EVU1QQUJMRSwgMSwg MCwgMCwgMCk7Ci0gCi0gICBDcmFzaENvbnRleHQgY29udGV4dDsKLSsKLSsjaWYgZGVmaW5lZChf X0dMSUJDX18pCi0gICBpbnQgZ2V0Y29udGV4dF9yZXN1bHQgPSBnZXRjb250ZXh0KCZjb250ZXh0 LmNvbnRleHQpOwotICAgaWYgKGdldGNvbnRleHRfcmVzdWx0KQotICAgICByZXR1cm4gZmFsc2U7 Ci0rI2Vsc2UKLSsgIHJldHVybiBmYWxzZTsKLSsjZW5kaWYKLSAKLSAjaWYgZGVmaW5lZChfX2kz ODZfXykKLSAgIC8vIEluIENQVUZpbGxGcm9tVUNvbnRleHQgaW4gbWluaWR1bXB3cml0ZXIuY2Mg dGhlIHN0YWNrIHBvaW50ZXIgaXMgcmV0cmlldmVkCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvbm8tc3RkLXRpbWUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv bm8tc3RkLXRpbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjdmMzVjMjJmMDgxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L25vLXN0ZC10aW1lLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSB1aS9hY2Nlc3NpYmlsaXR5 L2F4X3RyZWVfc2VyaWFsaXplci5oLm9yaWcJMjAyMS0wMy0wMiAxODo0NjowMC4wMDAwMDAwMDAg KzAxMDAKKysrKyB1aS9hY2Nlc3NpYmlsaXR5L2F4X3RyZWVfc2VyaWFsaXplci5oCTIwMjEtMDMt MDMgMTQ6MDM6NDMuOTI2MTYwMzMzICswMTAwCitAQCAtNzQ2LDcgKzc0Niw3IEBACisgI2VuZGlm ICAvLyBkZWZpbmVkKEFYX0ZBSUxfRkFTVF9CVUlMRCkKKyAgICAgICAgIHN0YXRpYyBib29sIGhh c19zZW50X2R1cGVfaWRfZXJyID0gZmFsc2U7CisgICAgICAgICBpZiAoIWhhc19zZW50X2R1cGVf aWRfZXJyKSB7CistICAgICAgICAgIHN0ZDo6c3JhbmQoc3RkOjp0aW1lKG51bGxwdHIpKTsgIC8v IHVzZSBjdXJyZW50IHRpbWUgYXMgc2VlZC4KKysgICAgICAgICAgc3RkOjpzcmFuZCh0aW1lKG51 bGxwdHIpKTsgIC8vIHVzZSBjdXJyZW50IHRpbWUgYXMgc2VlZC4KKyAgICAgICAgICAgaWYgKHN0 ZDo6cmFuZCgpICUgNTAgPT0gMCkgeyAgICAgLy8gUm91Z2hseSAyJSBvZiB0aGUgdGltZS4KKyAg ICAgICAgICAgICBiYXNlOjpkZWJ1Zzo6RHVtcFdpdGhvdXRDcmFzaGluZygpOworICAgICAgICAg ICAgIGhhc19zZW50X2R1cGVfaWRfZXJyID0gdHJ1ZTsgIC8vIE9ubHkgc2VuZCBvbmNlLgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3NhbmRib3gtbWVtYmFycmllci5wYXRj aCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9zYW5kYm94LW1lbWJhcnJpZXIucGF0Y2gKaW5k ZXggYTMxYTlmNmE1ZTkuLmIzMGJiYzAyY2I2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9zYW5kYm94LW1lbWJhcnJpZXIucGF0Y2gKQEAgLTEsNTYgKzEsNiBAQAotLS0tIHNh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMuaAotKysrIHNh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMuaAotQEAgLTEw NjMsNCArMTA2Myw4IEBACi0gI2RlZmluZSBfX05SX21lbWZkX2NyZWF0ZSAyNzkKLSAjZW5kaWYK LSAKLSsjaWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQotKyNkZWZpbmUgX19OUl9tZW1iYXJy aWVyIDI4MwotKyNlbmRpZgotKwotICNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVB REVSU19BUk02NF9MSU5VWF9TWVNDQUxMU19IXwotCi0tLS0gc2FuZGJveC9saW51eC9zeXN0ZW1f aGVhZGVycy9hcm1fbGludXhfc3lzY2FsbHMuaAotKysrIHNhbmRib3gvbGludXgvc3lzdGVtX2hl YWRlcnMvYXJtX2xpbnV4X3N5c2NhbGxzLmgKLUBAIC0xMzg1LDYgKzEzODUsMTAgQEAKLSAjZGVm aW5lIF9fTlJfbWVtZmRfY3JlYXRlIChfX05SX1NZU0NBTExfQkFTRSszODUpCi0gI2VuZGlmCi0g Ci0rI2lmICFkZWZpbmVkKF9fTlJfbWVtYmFycmllcikKLSsjZGVmaW5lIF9fTlJfbWVtYmFycmll ciAoX19OUl9TWVNDQUxMX0JBU0UrMzg5KQotKyNlbmRpZgotKwotIC8vIEFSTSBwcml2YXRlIHN5 c2NhbGxzLgotICNpZiAhZGVmaW5lZChfX0FSTV9OUl9CQVNFKQotICNkZWZpbmUgX19BUk1fTlJf QkFTRSAoX19OUl9TWVNDQUxMX0JBU0UgKyAweEYwMDAwKQotCi0tLS0gc2FuZGJveC9saW51eC9z eXN0ZW1faGVhZGVycy94ODZfMzJfbGludXhfc3lzY2FsbHMuaAotKysrIHNhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMveDg2XzMyX2xpbnV4X3N5c2NhbGxzLmgKLUBAIC0xNDIyLDUgKzE0MjIs OSBAQAotICNkZWZpbmUgX19OUl9tZW1mZF9jcmVhdGUgMzU2Ci0gI2VuZGlmCi0gCi0rI2lmICFk ZWZpbmVkKF9fTlJfbWVtYmFycmllcikKLSsjZGVmaW5lIF9fTlJfbWVtYmFycmllciAzNzUKLSsj ZW5kaWYKLSsKLSAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfWDg2XzMy X0xJTlVYX1NZU0NBTExTX0hfCi0gCi0tLS0gc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy94 ODZfNjRfbGludXhfc3lzY2FsbHMuaAotKysrIHNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMv eDg2XzY0X2xpbnV4X3N5c2NhbGxzLmgKLUBAIC0xMjkwLDUgKzEyOTAsOSBAQAotICNkZWZpbmUg X19OUl9tZW1mZF9jcmVhdGUgMzE5Ci0gI2VuZGlmCi0gCi0rI2lmICFkZWZpbmVkKF9fTlJfbWVt YmFycmllcikKLSsjZGVmaW5lIF9fTlJfbWVtYmFycmllciAzMjQKLSsjZW5kaWYKLSsKLSAjZW5k aWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfWDg2XzY0X0xJTlVYX1NZU0NBTExT X0hfCi0gCi0tLS0gc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0 cy5jYwotKysrIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMu Y2MKLUBAIC0zNzAsNiArMzcwLDcgQEAKKy0tLSBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc3lzY2FsbF9zZXRzLmNjLm9yaWcJMjAyMS0wMy0wMyAxODowNDo0NS4xNjc2NzQ3OTEg KzAxMDAKKysrKyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRz LmNjCTIwMjEtMDMtMDMgMTg6MTM6MTcuMDM2NTQ3NTkyICswMTAwCitAQCAtMzk0LDExICszOTQs MTIgQEAKICAgIHN3aXRjaCAoc3lzbm8pIHsKICAgICAgY2FzZSBfX05SX2V4aXQ6CiAgICAgIGNh c2UgX19OUl9leGl0X2dyb3VwOgpAQCAtNTgsMyArOCw4IEBACiAgICAgIGNhc2UgX19OUl93YWl0 NDoKICAgICAgY2FzZSBfX05SX3dhaXRpZDoKICAjaWYgZGVmaW5lZChfX2kzODZfXykKKyAgICAg Y2FzZSBfX05SX3dhaXRwaWQ6CisgI2VuZGlmCisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIGNh c2UgX19OUl9jbG9uZTogIC8vIFNob3VsZCBiZSBwYXJhbWV0ZXItcmVzdHJpY3RlZC4KKyAgICAg Y2FzZSBfX05SX3NldG5zOiAgLy8gUHJpdmlsZWdlZC4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2gKaW5kZXggODA1NzU1YzIxMjUuLmJi Y2ZiYWQzNGU1IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0 bGUtc3VwcG9ydC5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0 bGUtc3VwcG9ydC5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLWNvbW1pdCBlNzk0NGMxNjJjYTEzYjJj MzBiMTgwYzA2ZjkxN2Y0NTY0M2I4Y2NhCi1BdXRob3I6IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5v cmc+Ci1EYXRlOiAgIFR1ZSBBdWcgNCAxOTo1Nzo0OCAyMDIwICswMjAwCitjb21taXQgMmMwMTNh MzE3YjExMTRlZjY3Y2RiYmMzMDgyNGIyODkwN2I5ZWE5NAorQXV0aG9yOiBEYW5pZWwgS29sZXNh IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KK0RhdGU6ICAgV2VkIE1hciAzIDE5OjA4OjI5IDIwMjEg KzAxMDAKIAogICAgIHBwYzY0bGUgc3VwcG9ydAogCkBAIC0yMCwxMCArMjAsMTAgQEAgaW5kZXgg Mjg2YTkyYTI3Li5lYzM2YTg1ZDMgMTAwNzU1CiAgICBzcmNfZGlyID0gb3MucGF0aC5kaXJuYW1l KHNjcmlwdF9kaXIpCiAgICBuYWNsX2RpciA9IG9zLnBhdGguam9pbihzcmNfZGlyLCAnbmF0aXZl X2NsaWVudCcpCiBkaWZmIC0tZ2l0IGNocm9tZS9pbnN0YWxsZXIvbGludXgvQlVJTEQuZ24gY2hy b21lL2luc3RhbGxlci9saW51eC9CVUlMRC5nbgotaW5kZXggYjEwMWIwY2IyLi45ZmQ1YTc2MTcg MTAwNjQ0CitpbmRleCAzNWYwMWQwYTQuLjI4ZjJlNzQ3NSAxMDA2NDQKIC0tLSBjaHJvbWUvaW5z dGFsbGVyL2xpbnV4L0JVSUxELmduCiArKysgY2hyb21lL2luc3RhbGxlci9saW51eC9CVUlMRC5n bgotQEAgLTkyLDggKzkyLDYgQEAgcGFja2FnaW5nX2ZpbGVzID0gcGFja2FnaW5nX2ZpbGVzX2Jp bmFyaWVzICsgWworQEAgLTk0LDggKzk0LDYgQEAgcGFja2FnaW5nX2ZpbGVzID0gcGFja2FnaW5n X2ZpbGVzX2JpbmFyaWVzICsgWwogICAgICAgICAgICAgICAgICAgICAgIiRyb290X291dF9kaXIv eGRnLW1pbWUiLAogICAgICAgICAgICAgICAgICAgICAgIiRyb290X291dF9kaXIveGRnLXNldHRp bmdzIiwKICAgICAgICAgICAgICAgICAgICAgICIkcm9vdF9vdXRfZGlyL2xvY2FsZXMvZW4tVVMu cGFrIiwKQEAgLTMyLDcgKzMyLDcgQEAgaW5kZXggYjEwMWIwY2IyLi45ZmQ1YTc2MTcgMTAwNjQ0 CiAgICAgICAgICAgICAgICAgICAgXQogIAogIGFjdGlvbl9mb3JlYWNoKCJjYWxjdWxhdGVfZGVi X2RlcGVuZGVuY2llcyIpIHsKLUBAIC0zMjksNyArMzI3LDYgQEAgZ3JvdXAoImluc3RhbGxlcl9k ZXBzIikgeworQEAgLTMxNSw3ICszMTMsNiBAQCBncm91cCgiaW5zdGFsbGVyX2RlcHMiKSB7CiAg ICAgICI6dGhlbWVfZmlsZXMiLAogICAgICAiLy9jaHJvbWUiLAogICAgICAiLy9jaHJvbWU6cGFj a2VkX3Jlc291cmNlcyIsCkBAIC00MSwxMSArNDEsMTEgQEAgaW5kZXggYjEwMWIwY2IyLi45ZmQ1 YTc2MTcgMTAwNjQ0CiAgICAgICIvL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL2hhbmRs ZXI6Y3Jhc2hwYWRfaGFuZGxlciIsCiAgICBdCiBkaWZmIC0tZ2l0IHNhbmRib3gvZmVhdHVyZXMu Z25pIHNhbmRib3gvZmVhdHVyZXMuZ25pCi1pbmRleCAwOTI4MGQzNWYuLjQyNTE0MTU3ZiAxMDA2 NDQKK2luZGV4IGRiMzBhZTZkNi4uOWRjMDliZjUzIDEwMDY0NAogLS0tIHNhbmRib3gvZmVhdHVy ZXMuZ25pCiArKysgc2FuZGJveC9mZWF0dXJlcy5nbmkKLUBAIC0xMSw2ICsxMSw3IEBAIGltcG9y dCgiLy9idWlsZC9jb25maWcvbmFjbC9jb25maWcuZ25pIikKLSB1c2Vfc2VjY29tcF9icGYgPSAo aXNfbGludXggfHwgaXNfYW5kcm9pZCkgJiYKK0BAIC0xMSw3ICsxMSw4IEBAIGltcG9ydCgiLy9i dWlsZC9jb25maWcvbmFjbC9jb25maWcuZ25pIikKKyB1c2Vfc2VjY29tcF9icGYgPSAoaXNfbGlu dXggfHwgaXNfY2hyb21lb3MgfHwgaXNfYW5kcm9pZCkgJiYKICAgICAgICAgICAgICAgICAgICAo Y3VycmVudF9jcHUgPT0gIng4NiIgfHwgY3VycmVudF9jcHUgPT0gIng2NCIgfHwKICAgICAgICAg ICAgICAgICAgICAgY3VycmVudF9jcHUgPT0gImFybSIgfHwgY3VycmVudF9jcHUgPT0gImFybTY0 IiB8fAogLSAgICAgICAgICAgICAgICAgICBjdXJyZW50X2NwdSA9PSAibWlwc2VsIiB8fCBjdXJy ZW50X2NwdSA9PSAibWlwczY0ZWwiKQpAQCAtNTMsMTEgKzUzLDEyIEBAIGluZGV4IDA5MjgwZDM1 Zi4uNDI1MTQxNTdmIDEwMDY0NAogKyAgICAgICAgICAgICAgICAgICBjdXJyZW50X2NwdSA9PSAi cHBjNjQiKQogIAogIHVzZV9zZWNjb21wX2JwZiA9IHVzZV9zZWNjb21wX2JwZiB8fCBpc19uYWNs X25vbnNmaQorIAogZGlmZiAtLWdpdCBzYW5kYm94L2xpbnV4L0JVSUxELmduIHNhbmRib3gvbGlu dXgvQlVJTEQuZ24KLWluZGV4IGMyNzM1MWY5YS4uOTE0MWUxMjM5IDEwMDY0NAoraW5kZXggZTlh OTRiNDYxLi5jY2ExYTVkYTUgMTAwNjQ0CiAtLS0gc2FuZGJveC9saW51eC9CVUlMRC5nbgogKysr IHNhbmRib3gvbGludXgvQlVJTEQuZ24KLUBAIC00MDcsNiArNDA3LDggQEAgY29tcG9uZW50KCJz YW5kYm94X3NlcnZpY2VzIikgeworQEAgLTQyNyw2ICs0MjcsOCBAQCBjb21wb25lbnQoInNhbmRi b3hfc2VydmljZXMiKSB7CiAgCiAgc291cmNlX3NldCgic2FuZGJveF9zZXJ2aWNlc19oZWFkZXJz IikgewogICAgc291cmNlcyA9IFsKQEAgLTE1MSw3ICsxNTIsNyBAQCBpbmRleCAxYTQwN2I5NTIu LmE2YWVjNTQ0ZSAxMDA2NDQKICAjZXJyb3IgVW5zdXBwb3J0ZWQgdGFyZ2V0IHBsYXRmb3JtCiAg CiBkaWZmIC0tZ2l0IHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9w b2xpY3kuY2Mgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGlj eS5jYwotaW5kZXggYTZkMmMwZGZiLi4zN2ZkYzE3OWEgMTAwNjQ0CitpbmRleCA2YTFlYzIzODku LmYyMGM1ODJkZCAxMDA2NDQKIC0tLSBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMv YmFzZWxpbmVfcG9saWN5LmNjCiArKysgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJz L2Jhc2VsaW5lX3BvbGljeS5jYwogQEAgLTg4LDcgKzg4LDggQEAgYm9vbCBJc0Jhc2VsaW5lUG9s aWN5V2F0Y2hlZChpbnQgc3lzbm8pIHsKQEAgLTE2NCw3ICsxNjUsNyBAQCBpbmRleCBhNmQyYzBk ZmIuLjM3ZmRjMTc5YSAxMDA2NDQKICAgICAgICAgICBTeXNjYWxsU2V0czo6SXNTb2NrZXRDYWxs KHN5c25vKSB8fAogICNlbmRpZgogICNpZiBkZWZpbmVkKF9fYXJtX18pCi1AQCAtMjEwLDcgKzIx MSw3IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGVuaWVkX2Vycm5v LAorQEAgLTIyNyw3ICsyMjgsNyBAQCBSZXN1bHRFeHByIEV2YWx1YXRlU3lzY2FsbEltcGwoaW50 IGZzX2RlbmllZF9lcnJubywKICAgIH0KICAKICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCkBAIC0xNzMsNyArMTc0 LDcgQEAgaW5kZXggYTZkMmMwZGZiLi4zN2ZkYzE3OWEgMTAwNjQ0CiAgICBpZiAoc3lzbm8gPT0g X19OUl9tbWFwKQogICAgICByZXR1cm4gUmVzdHJpY3RNbWFwRmxhZ3MoKTsKICAjZW5kaWYKLUBA IC0yMjgsNyArMjI5LDcgQEAgUmVzdWx0RXhwciBFdmFsdWF0ZVN5c2NhbGxJbXBsKGludCBmc19k ZW5pZWRfZXJybm8sCitAQCAtMjQ1LDcgKzI0Niw3IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNj YWxsSW1wbChpbnQgZnNfZGVuaWVkX2Vycm5vLAogICAgICByZXR1cm4gUmVzdHJpY3RQcmN0bCgp OwogIAogICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVm aW5lZChfX21pcHNfXykgfHwgXApAQCAtMTgyLDcgKzE4Myw3IEBAIGluZGV4IGE2ZDJjMGRmYi4u MzdmZGMxNzlhIDEwMDY0NAogICAgaWYgKHN5c25vID09IF9fTlJfc29ja2V0cGFpcikgewogICAg ICAvLyBPbmx5IGFsbG93IEFGX1VOSVgsIFBGX1VOSVguIENyYXNoIGlmIGFueXRoaW5nIGVsc2Ug aXMgc2Vlbi4KICAgICAgc3RhdGljX2Fzc2VydChBRl9VTklYID09IFBGX1VOSVgsCi1AQCAtMjY4 LDcgKzI2OSw4IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGVuaWVk X2Vycm5vLAorQEAgLTI4NSw3ICsyODYsOCBAQCBSZXN1bHRFeHByIEV2YWx1YXRlU3lzY2FsbElt cGwoaW50IGZzX2RlbmllZF9lcnJubywKICAgIH0KICAKICAjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgXApAQCAtMTkzLDIyICsxOTQsMjAgQEAgaW5kZXggYTZkMmMwZGZiLi4zN2ZkYzE3OWEgMTAw NjQ0CiAgICAgIHJldHVybiBSZXN0cmljdFNvY2tldGNhbGxDb21tYW5kKCk7CiAgI2VuZGlmCiBk aWZmIC0tZ2l0IHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xp Y3lfdW5pdHRlc3QuY2Mgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5l X3BvbGljeV91bml0dGVzdC5jYwotaW5kZXggZmMzNjE4N2M5Li4xYWZmYzkxODkgMTAwNjQ0Citp bmRleCAwMWMwNDZkZGEuLjdlNWE2YmU4MiAxMDA2NDQKIC0tLSBzYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5X3VuaXR0ZXN0LmNjCiArKysgc2FuZGJveC9s aW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeV91bml0dGVzdC5jYwotQEAg LTI5MSw4ICsyOTEsMTAgQEAgVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl90aW1lcl9jcmVhdGUp Ci0gI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorQEAgLTMwMiw3ICszMDIsNyBAQCBURVNUX0JB U0VMSU5FX1NJR1NZUyhfX05SX3N5c2luZm8pCisgVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl9z eXNsb2cpCisgVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl90aW1lcl9jcmVhdGUpCisgCistI2lm ICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRl ZmluZWQoX19wb3dlcnBjNjRfXykKICBURVNUX0JBU0VMSU5FX1NJR1NZUyhfX05SX2V2ZW50ZmQp CiAgVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl9pbm90aWZ5X2luaXQpCi0rI2lmICFkZWZpbmVk KF9fcG93ZXJwYzY0X18pCiAgVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl92c2VydmVyKQotICNl bmRpZgotKyNlbmRpZgotIAotICNpZiBkZWZpbmVkKExJQkNfR0xJQkMpICYmICFkZWZpbmVkKE9T X0NIUk9NRU9TKQotIEJQRl9URVNUX0MoQmFzZWxpbmVQb2xpY3ksIEZ1dGV4RUlOVkFMLCBCYXNl bGluZVBvbGljeSkgewogZGlmZiAtLWdpdCBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBl cnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYyBzYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYwotaW5kZXgg ZjUxOTE1ZWRjLi5jYTJmNGYxMDYgMTAwNjQ0CitpbmRleCAyYTk3ZDM5MTYuLjhlODFhYTZjZiAx MDA2NDQKIC0tLSBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJh bWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYwogKysrIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCiBAQCAtNDAsNyArNDAsOCBA QApAQCAtMjMzLDcgKzIzMiw3IEBAIGluZGV4IGY1MTkxNWVkYy4uY2EyZjRmMTA2IDEwMDY0NAog ICNpZiBkZWZpbmVkKE9TX0FORFJPSUQpCiAgCiAgI2lmICFkZWZpbmVkKEZfRFVQRkRfQ0xPRVhF QykKLUBAIC05OCw2ICsxMDQsMTUgQEAKK0BAIC05OCw2ICsxMDQsMTUgQEAgaW5saW5lIGJvb2wg SXNBcmNoaXRlY3R1cmVNaXBzKCkgewogICNlbmRpZgogIH0KICAKQEAgLTI0OSw3ICsyNDgsNyBA QCBpbmRleCBmNTE5MTVlZGMuLmNhMmY0ZjEwNiAxMDA2NDQKICAvLyBVYnVudHUncyB2ZXJzaW9u IG9mIGdsaWJjIGhhcyBhIHJhY2UgY29uZGl0aW9uIGluIHNlbV9wb3N0IHRoYXQgY2FuIGNhdXNl CiAgLy8gaXQgdG8gY2FsbCBmdXRleCgyKSB3aXRoIGJvZ3VzIG9wIGFyZ3VtZW50cy4gVG8gd29y a2Fyb3VuZCB0aGlzLCB3ZSBuZWVkCiAgLy8gdG8gYWxsb3cgdGhvc2UgZnV0ZXgoMikgY2FsbHMg dG8gZmFpbCB3aXRoIEVJTlZBTCwgaW5zdGVhZCBvZiBjcmFzaGluZyB0aGUKLUBAIC0yMzksNiAr MjU0LDggQEAKK0BAIC0yMzksNiArMjU0LDggQEAgUmVzdWx0RXhwciBSZXN0cmljdEZjbnRsQ29t bWFuZHMoKSB7CiAgICB1aW50NjRfdCBrT0xhcmdlRmlsZUZsYWcgPSBPX0xBUkdFRklMRTsKICAg IGlmIChJc0FyY2hpdGVjdHVyZVg4Nl82NCgpIHx8IElzQXJjaGl0ZWN0dXJlSTM4NigpIHx8IElz QXJjaGl0ZWN0dXJlTWlwcygpKQogICAgICBrT0xhcmdlRmlsZUZsYWcgPSAwMTAwMDAwOwpAQCAt MjU4LDcgKzI1Nyw3IEBAIGluZGV4IGY1MTkxNWVkYy4uY2EyZjRmMTA2IDEwMDY0NAogIAogICAg Y29uc3QgQXJnPGludD4gY21kKDEpOwogICAgY29uc3QgQXJnPGxvbmc+IGxvbmdfYXJnKDIpOwot QEAgLTI1MywxNCArMjcwLDIzIEBACitAQCAtMjUzLDE0ICsyNzAsMjMgQEAgUmVzdWx0RXhwciBS ZXN0cmljdEZjbnRsQ29tbWFuZHMoKSB7CiAgICAgICAgICAgICAgICBGX1NFVExLVywKICAgICAg ICAgICAgICAgIEZfR0VUTEssCiAgICAgICAgICAgICAgICBGX0RVUEZELApAQCAtMjg1LDcgKzI4 NCw3IEBAIGluZGV4IGY1MTkxNWVkYy4uY2EyZjRmMTA2IDEwMDY0NAogIFJlc3VsdEV4cHIgUmVz dHJpY3RTb2NrZXRjYWxsQ29tbWFuZCgpIHsKICAgIC8vIFVuZm9ydHVuYXRlbHksIHdlIGFyZSB1 bmFibGUgdG8gcmVzdHJpY3QgdGhlIGZpcnN0IHBhcmFtZXRlciB0bwogICAgLy8gc29ja2V0cGFp cigyKS4gV2hpbHN0IGluaXRpYWxseSBzb3VuZGluZyBiYWQsIGl0J3Mgbm90ZXdvcnRoeSB0aGF0 IHZlcnkKLUBAIC00MTMsNyArNDM5LDcgQEAKK0BAIC00MTMsNyArNDM5LDcgQEAgUmVzdWx0RXhw ciBSZXN0cmljdFB0cmFjZSgpIHsKICAjZW5kaWYKICAgIHJldHVybiBTd2l0Y2gocmVxdWVzdCkK ICAgICAgICAuQ0FTRVMoKApAQCAtMjk0LDcgKzI5Myw2IEBAIGluZGV4IGY1MTkxNWVkYy4uY2Ey ZjRmMTA2IDEwMDY0NAogICAgICAgICAgICAgICAgICAgUFRSQUNFX0dFVFJFR1MsIFBUUkFDRV9H RVRGUFJFR1MsIFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEsCiAgICAgICAgICAgICAgICAgICBQVFJB Q0VfR0VUUkVHU0VULAogICNlbmRpZgotCiBkaWZmIC0tZ2l0IHNhbmRib3gvbGludXgvc2VjY29t cC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmggc2FuZGJveC9s aW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMu aAogaW5kZXggYmE0Mjg5ZjA1Li45YTRkNWFiMmQgMTAwNjQ0CiAtLS0gc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuaApAQCAt MzA5LDcgKzMwNyw3IEBAIGluZGV4IGJhNDI4OWYwNS4uOWE0ZDVhYjJkIDEwMDY0NAogIC8vIHNl bmR0bygyKSwgcmVjdmZyb20oMiksIHNodXRkb3duKDIpLCBzZW5kbXNnKDIpIGFuZCByZWN2bXNn KDIpLgogIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmVzdHJpY3RTb2NrZXRj YWxsQ29tbWFuZCgpOwogZGlmZiAtLWdpdCBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBl cnMvc3lzY2FsbF9zZXRzLmNjIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNj YWxsX3NldHMuY2MKLWluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAoraW5kZXggNjQy ZGY3MjA3Li4zNGY0N2ViNzMgMTAwNjQ0CiAtLS0gc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwogKysrIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9zeXNjYWxsX3NldHMuY2MKIEBAIC0yOSw3ICsyOSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6 OklzQWxsb3dlZEdldHRpbWUoaW50IHN5c25vKSB7CkBAIC0zMjIsNyArMzIwLDcgQEAgaW5kZXgg ZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl90aW1lOgogICNlbmRp ZgogICAgICAgIHJldHVybiB0cnVlOwotQEAgLTQxLDEyICs0MiwxNCBAQCBib29sIFN5c2NhbGxT ZXRzOjpJc0FsbG93ZWRHZXR0aW1lKGludCBzeXNubykgeworQEAgLTQ1LDEyICs0NiwxNCBAQCBi b29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXR0aW1lKGludCBzeXNubykgewogICAgICBjYXNl IF9fTlJfY2xvY2tfbmFub3NsZWVwOiAgLy8gUGFyYW1ldGVycyBmaWx0ZXJlZCBieSBSZXN0cmlj dENsb2NrSUQoKS4KICAgICAgY2FzZSBfX05SX2Nsb2NrX3NldHRpbWU6ICAgIC8vIFByaXZpbGVn ZWQuCiAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKQEAgLTMzOSw3ICszMzcsNyBAQCBpbmRl eCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX3N0aW1lOgogICNl bmRpZgogICAgICBkZWZhdWx0OgotQEAgLTExMiw3ICsxMTUsNyBAQCBib29sIFN5c2NhbGxTZXRz OjpJc0ZpbGVTeXN0ZW0oaW50IHN5c25vKSB7CitAQCAtMTE2LDcgKzExOSw3IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8pIHsKICAgICAgY2FzZSBfX05SX2ZhY2Nl c3NhdDogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgogICAgICBjYXNlIF9fTlJfZmNobW9k YXQ6CiAgICAgIGNhc2UgX19OUl9mY2hvd25hdDogIC8vIFNob3VsZCBiZSBjYWxsZWQgY2hvd25h dCA/CkBAIC0zNDgsNyArMzQ2LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0 CiAgICAgIGNhc2UgX19OUl9uZXdmc3RhdGF0OiAgLy8gZnN0YXRhdCgpLiBFUEVSTSBub3QgYSB2 YWxpZCBlcnJuby4KICAjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18p IHx8IFwKICAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJD SF9DUFVfMzJfQklUUykpCi1AQCAtMTMxLDcgKzEzNCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz RmlsZVN5c3RlbShpbnQgc3lzbm8pIHsKK0BAIC0xMzUsNyArMTM4LDcgQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNGaWxlU3lzdGVtKGludCBzeXNubykgewogICAgICBjYXNlIF9fTlJfbWVtZmRfY3Jl YXRlOgogICAgICBjYXNlIF9fTlJfbWtkaXJhdDoKICAgICAgY2FzZSBfX05SX21rbm9kYXQ6CkBA IC0zNTcsNyArMzU1LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAg IGNhc2UgX19OUl9vbGRsc3RhdDoKICAgICAgY2FzZSBfX05SX29sZHN0YXQ6CiAgI2VuZGlmCi1A QCAtMTQ1LDcgKzE0OCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lz bm8pIHsKK0BAIC0xNDksNyArMTUyLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVt KGludCBzeXNubykgewogICNlbmRpZgogICAgICBjYXNlIF9fTlJfc3RhdGZzOiAgLy8gRVBFUk0g bm90IGEgdmFsaWQgZXJybm8uCiAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19h cm1fXykgfHwgXApAQCAtMzY3LDcgKzM2NSw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRi IDEwMDY0NAogICAgICBjYXNlIF9fTlJfc3RhdGZzNjQ6CiAgI2VuZGlmCiAgICAgIGNhc2UgX19O Ul9zeW1saW5rYXQ6Ci1AQCAtMTU1LDcgKzE1OSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmls ZVN5c3RlbShpbnQgc3lzbm8pIHsKK0BAIC0xNTksNyArMTYzLDggQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNGaWxlU3lzdGVtKGludCBzeXNubykgewogICAgICBjYXNlIF9fTlJfdHJ1bmNhdGU2NDoK ICAjZW5kaWYKICAgICAgY2FzZSBfX05SX3VubGlua2F0OgpAQCAtMzc3LDcgKzM3NSw3IEBAIGlu ZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfdXRpbWU6CiAg I2VuZGlmCiAgICAgIGNhc2UgX19OUl91dGltZW5zYXQ6ICAvLyBOZXcuCi1AQCAtMTc0LDcgKzE3 OSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEZpbGVTeXN0ZW1BY2Nlc3NWaWFGZChp bnQgc3lzbm8pIHsKK0BAIC0xODEsNyArMTg2LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxv d2VkRmlsZVN5c3RlbUFjY2Vzc1ZpYUZkKGludCBzeXNubykgewogICNlbmRpZgogICAgICAgIHJl dHVybiB0cnVlOwogIC8vIFRPRE8oamxuKTogdGhlc2Ugc2hvdWxkIGJlIGRlbmllZCBncmFjZWZ1 bGx5IGFzIHdlbGwgKG1vdmVkIGJlbG93KS4KQEAgLTM4Nyw3ICszODUsNyBAQCBpbmRleCBkMzY5 M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX2ZhZHZpc2U2NDogIC8vIEVQ RVJNIG5vdCBhIHZhbGlkIGVycm5vLgogICNlbmRpZgogICNpZiBkZWZpbmVkKF9faTM4Nl9fKQot QEAgLTE4NywxMSArMTkzLDEyIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEZpbGVTeXN0 ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8pIHsKK0BAIC0xOTQsMTEgKzIwMCwxMiBAQCBib29sIFN5 c2NhbGxTZXRzOjpJc0FsbG93ZWRGaWxlU3lzdGVtQWNjZXNzVmlhRmQoaW50IHN5c25vKSB7CiAg ICAgIGNhc2UgX19OUl9mbG9jazogICAgICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KICAg ICAgY2FzZSBfX05SX2ZzdGF0ZnM6ICAgIC8vIEdpdmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHdo b2xlIGZpbGVzeXN0ZW0uCiAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1f XykgfHwgXApAQCAtNDAyLDcgKzQwMCw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEw MDY0NAogICAgICBjYXNlIF9fTlJfb2xkZnN0YXQ6CiAgI2VuZGlmCiAgI2lmIGRlZmluZWQoX19p Mzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAot QEAgLTE5OSw2ICsyMDYsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRGaWxlU3lzdGVt QWNjZXNzVmlhRmQoaW50IHN5c25vKSB7CitAQCAtMjA2LDYgKzIxMyw4IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzQWxsb3dlZEZpbGVTeXN0ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8pIHsKICAgICAg Y2FzZSBfX05SX3N5bmNfZmlsZV9yYW5nZTogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgog ICNlbGlmIGRlZmluZWQoX19hcm1fXykKICAgICAgY2FzZSBfX05SX2FybV9zeW5jX2ZpbGVfcmFu Z2U6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KQEAgLTQxMSw3ICs0MDksNyBAQCBpbmRl eCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAjZW5kaWYKICAgICAgZGVmYXVsdDoKICAg ICAgICByZXR1cm4gZmFsc2U7Ci1AQCAtMjI0LDcgKzIzMyw4IEBAIGJvb2wgU3lzY2FsbFNldHM6 OklzRGVuaWVkRmlsZVN5c3RlbUFjY2Vzc1ZpYUZkKGludCBzeXNubykgeworQEAgLTIzMSw3ICsy NDAsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0RlbmllZEZpbGVTeXN0ZW1BY2Nlc3NWaWFGZChp bnQgc3lzbm8pIHsKICAjZW5kaWYKICAgICAgY2FzZSBfX05SX2dldGRlbnRzNjQ6ICAvLyBFUEVS TSBub3QgYSB2YWxpZCBlcnJuby4KICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXApAQCAtNDIx LDcgKzQxOSw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNl IF9fTlJfcmVhZGRpcjoKICAjZW5kaWYKICAgICAgICByZXR1cm4gdHJ1ZTsKLUBAIC0yNjUsNyAr Mjc1LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNHZXRTaW1wbGVJZChpbnQgc3lzbm8pIHsKK0BA IC0yNzIsNyArMjgyLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNHZXRTaW1wbGVJZChpbnQgc3lz bm8pIHsKICBib29sIFN5c2NhbGxTZXRzOjpJc1Byb2Nlc3NQcml2aWxlZ2VDaGFuZ2UoaW50IHN5 c25vKSB7CiAgICBzd2l0Y2ggKHN5c25vKSB7CiAgICAgIGNhc2UgX19OUl9jYXBzZXQ6CkBAIC00 MzAsNyArNDI4LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNh c2UgX19OUl9pb3Blcm06ICAvLyBJbnRlbCBwcml2aWxlZ2UuCiAgICAgIGNhc2UgX19OUl9pb3Bs OiAgICAvLyBJbnRlbCBwcml2aWxlZ2UuCiAgI2VuZGlmCi1AQCAtMzE2LDcgKzMyNiw4IEBAIGJv b2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFNpZ25hbEhhbmRsaW5nKGludCBzeXNubykgeworQEAg LTMyMyw3ICszMzMsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRTaWduYWxIYW5kbGlu ZyhpbnQgc3lzbm8pIHsKICAgICAgY2FzZSBfX05SX3J0X3NpZ3JldHVybjoKICAgICAgY2FzZSBf X05SX3J0X3NpZ3RpbWVkd2FpdDoKICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChf X2FybV9fKSB8fCBcCkBAIC00NDAsNyArNDM4LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5 NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9zaWdhY3Rpb246CiAgICAgIGNhc2UgX19OUl9zaWdw cm9jbWFzazoKICAgICAgY2FzZSBfX05SX3NpZ3JldHVybjoKLUBAIC0zMzIsNyArMzQzLDggQEAg Ym9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkU2lnbmFsSGFuZGxpbmcoaW50IHN5c25vKSB7CitA QCAtMzM5LDcgKzM1MCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFNpZ25hbEhhbmRs aW5nKGludCBzeXNubykgewogICNlbmRpZgogICAgICBjYXNlIF9fTlJfc2lnbmFsZmQ0OgogICNp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKQEAgLTQ1MCw3ICs0 NDgsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05S X3NpZ3BlbmRpbmc6CiAgICAgIGNhc2UgX19OUl9zaWdzdXNwZW5kOgogICNlbmRpZgotQEAgLTM1 Niw3ICszNjgsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRPcGVyYXRpb25PbkZkKGlu dCBzeXNubykgeworQEAgLTM2Myw3ICszNzUsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93 ZWRPcGVyYXRpb25PbkZkKGludCBzeXNubykgewogICNlbmRpZgogICAgICBjYXNlIF9fTlJfZHVw MzoKICAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmlu ZWQoX19taXBzX18pIHx8IFwKQEAgLTQ1OSw3ICs0NTcsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0 OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX3NodXRkb3duOgogICNlbmRpZgogICAgICAg IHJldHVybiB0cnVlOwotQEAgLTM5MCw3ICs0MDIsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0Fs bG93ZWRQcm9jZXNzU3RhcnRPckRlYXRoKGludCBzeXNubykgeworQEAgLTM5Nyw3ICs0MDksNyBA QCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPckRlYXRoKGludCBzeXNu bykgewogICAgICBjYXNlIF9fTlJfbWVtYmFycmllcjoKICAgICAgY2FzZSBfX05SX3dhaXQ0Ogog ICAgICBjYXNlIF9fTlJfd2FpdGlkOgpAQCAtNDY4LDcgKzQ2Niw3IEBAIGluZGV4IGQzNjkzZmQ3 OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfd2FpdHBpZDoKICAjZW5kaWYKICAg ICAgICByZXR1cm4gdHJ1ZTsKLUBAIC00MDcsNyArNDE5LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6 SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0T3JEZWF0aChpbnQgc3lzbm8pIHsKK0BAIC00MTQsNyArNDI2 LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0T3JEZWF0aChpbnQg c3lzbm8pIHsKICAjZW5kaWYKICAgICAgY2FzZSBfX05SX3NldF90aWRfYWRkcmVzczoKICAgICAg Y2FzZSBfX05SX3Vuc2hhcmU6CkBAIC00NzcsNyArNDc1LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5k NDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl92Zm9yazoKICAjZW5kaWYKICAgICAgZGVm YXVsdDoKLUBAIC00NTYsNyArNDY4LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0 T3JNb2RpZnlTb2NrZXQoaW50IHN5c25vKSB7CitAQCAtNDYzLDcgKzQ3NSw3IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzQWxsb3dlZEdldE9yTW9kaWZ5U29ja2V0KGludCBzeXNubykgewogICAgICAg IHJldHVybiB0cnVlOwogICAgICBkZWZhdWx0OgogICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXApAQCAtNDg2LDcgKzQ4 NCw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJf c29ja2V0cGFpcjogIC8vIFdlIHdpbGwgd2FudCB0byBpbnNwZWN0IGl0cyBhcmd1bWVudC4KICAj ZW5kaWYKICAgICAgICByZXR1cm4gZmFsc2U7Ci1AQCAtNDY2LDcgKzQ3OCw3IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzQWxsb3dlZEdldE9yTW9kaWZ5U29ja2V0KGludCBzeXNubykgeworQEAgLTQ3 Myw3ICs0ODUsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXRPck1vZGlmeVNvY2tl dChpbnQgc3lzbm8pIHsKICBib29sIFN5c2NhbGxTZXRzOjpJc0RlbmllZEdldE9yTW9kaWZ5U29j a2V0KGludCBzeXNubykgewogICAgc3dpdGNoIChzeXNubykgewogICNpZiBkZWZpbmVkKF9feDg2 XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXApAQCAt NDk1LDcgKzQ5Myw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBj YXNlIF9fTlJfYWNjZXB0OgogICAgICBjYXNlIF9fTlJfYWNjZXB0NDoKICAgICAgY2FzZSBfX05S X2JpbmQ6Ci1AQCAtNDgxLDcgKzQ5Myw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkR2V0 T3JNb2RpZnlTb2NrZXQoaW50IHN5c25vKSB7CitAQCAtNDg4LDcgKzUwMCw4IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzRGVuaWVkR2V0T3JNb2RpZnlTb2NrZXQoaW50IHN5c25vKSB7CiAgfQogIAog ICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCkBAIC01MDUsNyArNTAzLDcgQEAgaW5kZXggZDM2 OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgLy8gQmlnIG11bHRpcGxleGluZyBzeXN0ZW0gY2Fs bCBmb3Igc29ja2V0cy4KICBib29sIFN5c2NhbGxTZXRzOjpJc1NvY2tldENhbGwoaW50IHN5c25v KSB7CiAgICBzd2l0Y2ggKHN5c25vKSB7Ci1AQCAtNDk1LDcgKzUwOCw4IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzU29ja2V0Q2FsbChpbnQgc3lzbm8pIHsKK0BAIC01MDIsNyArNTE1LDggQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNTb2NrZXRDYWxsKGludCBzeXNubykgewogIH0KICAjZW5kaWYKICAK QEAgLTUxNSw3ICs1MTMsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICBi b29sIFN5c2NhbGxTZXRzOjpJc05ldHdvcmtTb2NrZXRJbmZvcm1hdGlvbihpbnQgc3lzbm8pIHsK ICAgIHN3aXRjaCAoc3lzbm8pIHsKICAgICAgY2FzZSBfX05SX2dldHBlZXJuYW1lOgotQEAgLTUy MCw3ICs1MzQsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRBZGRyZXNzU3BhY2VBY2Nl c3MoaW50IHN5c25vKSB7CitAQCAtNTI3LDcgKzU0MSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz QWxsb3dlZEFkZHJlc3NTcGFjZUFjY2VzcyhpbnQgc3lzbm8pIHsKICAgICAgY2FzZSBfX05SX21p bmNvcmU6CiAgICAgIGNhc2UgX19OUl9tbG9ja2FsbDoKICAjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCkBAIC01MjQs NyArNTIyLDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2Ug X19OUl9tbWFwOgogICNlbmRpZgogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f YXJtX18pIHx8IFwKLUBAIC01NTAsNyArNTY0LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxv d2VkR2VuZXJhbElvKGludCBzeXNubykgeworQEAgLTU1Nyw3ICs1NzEsOCBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0FsbG93ZWRHZW5lcmFsSW8oaW50IHN5c25vKSB7CiAgICBzd2l0Y2ggKHN5c25v KSB7CiAgICAgIGNhc2UgX19OUl9sc2VlazoKICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX2FybV9fKSB8fCBcCkBAIC01MzQsNyArNTMyLDcgQEAgaW5kZXggZDM2OTNmZDc4Li5k NDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9fbGxzZWVrOgogICNlbmRpZgogICNpZiAh ZGVmaW5lZChfX2FhcmNoNjRfXykKLUBAIC01NjIsMjYgKzU3NywyOCBAQCBib29sIFN5c2NhbGxT ZXRzOjpJc0FsbG93ZWRHZW5lcmFsSW8oaW50IHN5c25vKSB7CitAQCAtNTY5LDI2ICs1ODQsMjgg QEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2VuZXJhbElvKGludCBzeXNubykgewogICAg ICBjYXNlIF9fTlJfcmVhZHY6CiAgICAgIGNhc2UgX19OUl9wcmVhZDY0OgogICNpZiBkZWZpbmVk KF9fYXJtX18pIHx8IFwKQEAgLTU2OSw3ICs1NjcsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJj Zjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX3NlbmRtc2c6ICAvLyBDb3VsZCBzcGVjaWZ5IGRl c3RpbmF0aW9uLgogICAgICBjYXNlIF9fTlJfc2VuZHRvOiAgIC8vIENvdWxkIHNwZWNpZnkgZGVz dGluYXRpb24uCiAgI2VuZGlmCi1AQCAtNjM4LDcgKzY1NSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6 OklzQWxsb3dlZEJhc2ljU2NoZWR1bGVyKGludCBzeXNubykgeworQEAgLTY0NSw3ICs2NjIsOCBA QCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRCYXNpY1NjaGVkdWxlcihpbnQgc3lzbm8pIHsK ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgY2FzZSBfX05SX2dldHByaW9yaXR5OgogICNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKQEAgLTU3OSw3ICs1Nzcs NyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX25p Y2U6CiAgI2VuZGlmCiAgICAgIGNhc2UgX19OUl9zZXRwcmlvcml0eToKLUBAIC02NTAsNyArNjY4 LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQmFzaWNTY2hlZHVsZXIoaW50IHN5c25v KSB7CitAQCAtNjU3LDcgKzY3NSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEJhc2lj U2NoZWR1bGVyKGludCBzeXNubykgewogIGJvb2wgU3lzY2FsbFNldHM6OklzQWRtaW5PcGVyYXRp b24oaW50IHN5c25vKSB7CiAgICBzd2l0Y2ggKHN5c25vKSB7CiAgI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXApAQCAtNTg5LDcgKzU4Nyw3IEBAIGluZGV4IGQz NjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfYmRmbHVzaDoKICAjZW5k aWYKICAgICAgY2FzZSBfX05SX2tleGVjX2xvYWQ6Ci1AQCAtNjY2LDcgKzY4NSw4IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzQWRtaW5PcGVyYXRpb24oaW50IHN5c25vKSB7CitAQCAtNjczLDcgKzY5 Miw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWRtaW5PcGVyYXRpb24oaW50IHN5c25vKSB7CiAg CiAgYm9vbCBTeXNjYWxsU2V0czo6SXNLZXJuZWxNb2R1bGUoaW50IHN5c25vKSB7CiAgICBzd2l0 Y2ggKHN5c25vKSB7CkBAIC01OTksNyArNTk3LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5 NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9jcmVhdGVfbW9kdWxlOgogICAgICBjYXNlIF9fTlJf Z2V0X2tlcm5lbF9zeW1zOiAgLy8gU2hvdWxkIEVOT1NZUy4KICAgICAgY2FzZSBfX05SX3F1ZXJ5 X21vZHVsZToKLUBAIC02OTksNyArNzE5LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGc0NvbnRy b2woaW50IHN5c25vKSB7CitAQCAtNzA2LDcgKzcyNiw4IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz RnNDb250cm9sKGludCBzeXNubykgewogICAgICBjYXNlIF9fTlJfc3dhcG9mZjoKICAgICAgY2Fz ZSBfX05SX3N3YXBvbjoKICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXApAQCAtNjA5LDcgKzYw Nyw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJf dW1vdW50OgogICNlbmRpZgogICAgICBjYXNlIF9fTlJfdW1vdW50MjoKLUBAIC03MTUsNyArNzM2 LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNOdW1hKGludCBzeXNubykgeworQEAgLTcyMiw3ICs3 NDMsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc051bWEoaW50IHN5c25vKSB7CiAgICAgIGNhc2Ug X19OUl9nZXRjcHU6CiAgICAgIGNhc2UgX19OUl9tYmluZDoKICAjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCkBAIC02 MTgsNyArNjE2LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNh c2UgX19OUl9taWdyYXRlX3BhZ2VzOgogICNlbmRpZgogICAgICBjYXNlIF9fTlJfbW92ZV9wYWdl czoKLUBAIC03NDQsMTQgKzc2NSwxNSBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0dsb2JhbFByb2Nl c3NFbnZpcm9ubWVudChpbnQgc3lzbm8pIHsKK0BAIC03NTEsMTQgKzc3MiwxNSBAQCBib29sIFN5 c2NhbGxTZXRzOjpJc0dsb2JhbFByb2Nlc3NFbnZpcm9ubWVudChpbnQgc3lzbm8pIHsKICAgIHN3 aXRjaCAoc3lzbm8pIHsKICAgICAgY2FzZSBfX05SX2FjY3Q6ICAvLyBQcml2aWxlZ2VkLgogICNp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19t aXBzX18pIHx8IFwKQEAgLTYzNyw3ICs2MzUsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0 YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX3VsaW1pdDoKICAjZW5kaWYKICAgICAgY2FzZSBfX05S X2dldHJ1c2FnZToKLUBAIC03ODUsNyArODA3LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNHbG9i YWxTeXN0ZW1TdGF0dXMoaW50IHN5c25vKSB7CitAQCAtNzkyLDcgKzgxNCw3IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzR2xvYmFsU3lzdGVtU3RhdHVzKGludCBzeXNubykgewogICNlbmRpZgogICAg ICBjYXNlIF9fTlJfc3lzaW5mbzoKICAgICAgY2FzZSBfX05SX3VuYW1lOgpAQCAtNjQ2LDcgKzY0 NCw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJf b2xkdW5hbWU6CiAgICAgIGNhc2UgX19OUl9vbGRvbGR1bmFtZToKICAjZW5kaWYKLUBAIC04NDcs OCArODY5LDE2IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVlNlbWFwaG9yZXMoaW50IHN5 c25vKSB7CitAQCAtODU0LDggKzg3NiwxNiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc1N5c3RlbVZT ZW1hcGhvcmVzKGludCBzeXNubykgewogIH0KICAjZW5kaWYKICAKQEAgLTY2NCw3ICs2NjIsNyBA QCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAgKGRlZmluZWQoQVJDSF9D UFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykpCiAgLy8gVGhlc2Ug Z2l2ZSBhIGxvdCBvZiBhbWJpZW50IGF1dGhvcml0eSBhbmQgYnlwYXNzIHRoZSBzZXR1aWQgc2Fu ZGJveC4KICBib29sIFN5c2NhbGxTZXRzOjpJc1N5c3RlbVZTaGFyZWRNZW1vcnkoaW50IHN5c25v KSB7Ci1AQCAtODgwLDcgKzkxMCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVk1lc3Nh Z2VRdWV1ZShpbnQgc3lzbm8pIHsKK0BAIC04ODcsNyArOTE3LDggQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNTeXN0ZW1WTWVzc2FnZVF1ZXVlKGludCBzeXNubykgewogICNlbmRpZgogIAogICNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBcCkBAIC02NzQsNyArNjcyLDcgQEAgaW5kZXggZDM2OTNmZDc4 Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgLy8gQmlnIHN5c3RlbSBWIG11bHRpcGxleGluZyBzeXN0ZW0g Y2FsbC4KICBib29sIFN5c2NhbGxTZXRzOjpJc1N5c3RlbVZJcGMoaW50IHN5c25vKSB7CiAgICBz d2l0Y2ggKHN5c25vKSB7Ci1AQCAtOTAwLDcgKzkzMSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz QW55U3lzdGVtVihpbnQgc3lzbm8pIHsKK0BAIC05MDcsNyArOTM4LDggQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNBbnlTeXN0ZW1WKGludCBzeXNubykgewogICAgcmV0dXJuIElzU3lzdGVtVk1lc3Nh Z2VRdWV1ZShzeXNubykgfHwgSXNTeXN0ZW1WU2VtYXBob3JlcyhzeXNubykgfHwKICAgICAgICAg ICBJc1N5c3RlbVZTaGFyZWRNZW1vcnkoc3lzbm8pOwogICNlbGlmIGRlZmluZWQoX19pMzg2X18p IHx8IFwKQEAgLTY4NCw3ICs2ODIsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2 NDQKICAgIHJldHVybiBJc1N5c3RlbVZJcGMoc3lzbm8pOwogICNlbmRpZgogIH0KLUBAIC05NTMs NyArOTg1LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGYU5vdGlmeShpbnQgc3lzbm8pIHsKK0BA IC05NjAsNyArOTkyLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGYU5vdGlmeShpbnQgc3lzbm8p IHsKICBib29sIFN5c2NhbGxTZXRzOjpJc1RpbWVyKGludCBzeXNubykgewogICAgc3dpdGNoIChz eXNubykgewogICAgICBjYXNlIF9fTlJfZ2V0aXRpbWVyOgpAQCAtNjk0LDcgKzY5Miw3IEBAIGlu ZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfYWxhcm06CiAg I2VuZGlmCiAgICAgIGNhc2UgX19OUl9zZXRpdGltZXI6Ci1AQCAtMTAxMiwxOCArMTA0NSwyMiBA QCBib29sIFN5c2NhbGxTZXRzOjpJc01pc2MoaW50IHN5c25vKSB7CitAQCAtMTAxOSwxOCArMTA1 MiwyMiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc01pc2MoaW50IHN5c25vKSB7CiAgICAgIGNhc2Ug X19OUl9zeW5jZnM6CiAgICAgIGNhc2UgX19OUl92aGFuZ3VwOgogIC8vIFRoZSBzeXN0ZW0gY2Fs bHMgYmVsb3cgYXJlIG5vdCBpbXBsZW1lbnRlZC4KQEAgLTcyMSw3ICs3MTksNyBAQCBpbmRleCBk MzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX2d0dHk6CiAgICAgIGNh c2UgX19OUl9pZGxlOgogICAgICBjYXNlIF9fTlJfbG9jazoKLUBAIC0xMDMxLDIwICsxMDY4LDIy IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTWlzYyhpbnQgc3lzbm8pIHsKK0BAIC0xMDM4LDIwICsx MDc1LDIyIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTWlzYyhpbnQgc3lzbm8pIHsKICAgICAgY2Fz ZSBfX05SX3Byb2Y6CiAgICAgIGNhc2UgX19OUl9wcm9maWw6CiAgI2VuZGlmCkBAIC04ODksNyAr ODg3LDcgQEAgaW5kZXggZTQ3ZTk4YmY1Li5kNTNhN2ZmNTYgMTAwNjQ0CiAgICBTRUNDT01QX1JF U1VMVChjdHgpID0gc3RhdGljX2Nhc3Q8Z3JlZ190PihyZXRfdmFsKTsKICB9CiBkaWZmIC0tZ2l0 IHNhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJhcC5jYyBzYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmL3RyYXAuY2MKLWluZGV4IDk4ODRiZThiYi4uOThlNDM3MWFhIDEwMDY0NAoraW5kZXggZjVi ODZhNzNhLi41ZTZjNGEwNjggMTAwNjQ0CiAtLS0gc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi90 cmFwLmNjCiArKysgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi90cmFwLmNjCiBAQCAtMjMyLDYg KzIzMiwyMCBAQCB2b2lkIFRyYXA6OlNpZ1N5cyhpbnQgbnIsIExpbnV4U2lnSW5mbyogaW5mbywg dWNvbnRleHRfdCogY3R4KSB7CkBAIC05NDAsMjMgKzkzOCwyMyBAQCBpbmRleCBmY2ZkMmFhMTIu LmY2ZWIzMmZiNyAxMDA2NDQKICAgIHJldHVybiBzeXNjYWxsKF9fTlJfY2xvbmUsIGZsYWdzLCBj aGlsZF9zdGFjaywgcHRpZCwgdGxzLCBjdGlkKTsKICAjZW5kaWYKIGRpZmYgLS1naXQgc2FuZGJv eC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfcHJvY2Vzcy5jYyBzYW5kYm94L2xpbnV4L3N5 c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmNjCi1pbmRleCA4MzIxZDIzNzkuLjdlNWFkMWRl MyAxMDA2NDQKK2luZGV4IGQ3MmM5ZDIzOC4uNzdmMWQ5NWY1IDEwMDY0NAogLS0tIHNhbmRib3gv bGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3MuY2MKICsrKyBzYW5kYm94L2xpbnV4 L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmNjCi1AQCAtMTU3LDcgKzE1Nyw3IEBAIGJv b2wgQnJva2VyUHJvY2Vzczo6SXNTeXNjYWxsQWxsb3dlZChpbnQgc3lzbm8pIGNvbnN0IHsKLSAj aWYgZGVmaW5lZChfX05SX2ZzdGF0YXQpCi0gICAgIGNhc2UgX19OUl9mc3RhdGF0OgorQEAgLTE2 OSw3ICsxNjksNyBAQCBib29sIEJyb2tlclByb2Nlc3M6OklzU3lzY2FsbEJyb2tlcmFibGUoaW50 IHN5c25vLCBib29sIGZhc3RfY2hlY2spIGNvbnN0IHsKKyAjaWYgZGVmaW5lZChfX05SX2ZzdGF0 YXQ2NCkKKyAgICAgY2FzZSBfX05SX2ZzdGF0YXQ2NDoKICAjZW5kaWYKIC0jaWYgZGVmaW5lZChf X3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQogKyNpZiBkZWZpbmVkKF9feDg2XzY0 X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKICAg ICAgY2FzZSBfX05SX25ld2ZzdGF0YXQ6CiAgI2VuZGlmCi0gICAgICAgcmV0dXJuICFmYXN0X2No ZWNrX2luX2NsaWVudF8gfHwgYWxsb3dlZF9jb21tYW5kX3NldF8udGVzdChDT01NQU5EX1NUQVQp OworICAgICAgIHJldHVybiAhZmFzdF9jaGVjayB8fCBhbGxvd2VkX2NvbW1hbmRfc2V0Xy50ZXN0 KENPTU1BTkRfU1RBVCk7CiBkaWZmIC0tZ2l0IHNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMv bGludXhfc2VjY29tcC5oIHNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29t cC5oCi1pbmRleCBhNjBmZTJhZDMuLjlkY2NkYjUxZCAxMDA2NDQKK2luZGV4IDFmYTQ3ZWQwOS4u MzljYzlhYjUzIDEwMDY0NAogLS0tIHNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhf c2VjY29tcC5oCiArKysgc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zZWNjb21w LmgKLUBAIC0yOSw2ICsyOSw5IEBACitAQCAtNDEsNiArNDEsOSBAQAogICNpZm5kZWYgRU1fQUFS Q0g2NAogICNkZWZpbmUgRU1fQUFSQ0g2NCAxODMKICAjZW5kaWYKQEAgLTk2Niw3ICs5NjQsNyBA QCBpbmRleCBhNjBmZTJhZDMuLjlkY2NkYjUxZCAxMDA2NDQKICAKICAjaWZuZGVmIF9fQVVESVRf QVJDSF82NEJJVAogICNkZWZpbmUgX19BVURJVF9BUkNIXzY0QklUIDB4ODAwMDAwMDAKLUBAIC01 NCw2ICs1NywxMiBAQAorQEAgLTczLDYgKzc2LDEyIEBACiAgI2lmbmRlZiBBVURJVF9BUkNIX0FB UkNINjQKICAjZGVmaW5lIEFVRElUX0FSQ0hfQUFSQ0g2NCAoRU1fQUFSQ0g2NCB8IF9fQVVESVRf QVJDSF82NEJJVCB8IF9fQVVESVRfQVJDSF9MRSkKICAjZW5kaWYKQEAgLTEwNTUsMTMgKzEwNTMs MTMgQEAgaW5kZXggMDAwMDAwMDAwLi4wNzcyOGUwODcKICsvL1RPRE86IGlzIGl0IG5lY2Vzc2Fy eSB0byByZWRlZmluZSB1Y29udGV4dCBvbiBQUEM2ND8KICsKICsjZW5kaWYgIC8vIFNBTkRCT1hf TElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElOVVhfVUNPTlRFWFRfSF8KLWRpZmYgLS1naXQg c2VydmljZXMvc2VydmljZV9tYW5hZ2VyL3NhbmRib3gvbGludXgvYnBmX3JlbmRlcmVyX3BvbGlj eV9saW51eC5jYyBzZXJ2aWNlcy9zZXJ2aWNlX21hbmFnZXIvc2FuZGJveC9saW51eC9icGZfcmVu ZGVyZXJfcG9saWN5X2xpbnV4LmNjCi1pbmRleCBmYjg5YjMzNTYuLjFlOTg0NzMxZSAxMDA2NDQK K2RpZmYgLS1naXQgc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51 eC5jYyBzYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCitp bmRleCAyNTg4ZmM3OTIuLmQ0NTVjNDYwMSAxMDA2NDQKIC0tLSBzYW5kYm94L3BvbGljeS9saW51 eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCiArKysgc2FuZGJveC9wb2xpY3kvbGludXgv YnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYwogQEAgLTE1LDYgKzE1LDExIEBACiAgI2luY2x1 ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCIKLSAjaW5j bHVkZSAic2VydmljZXMvc2VydmljZV9tYW5hZ2VyL3NhbmRib3gvbGludXgvc2FuZGJveF9saW51 eC5oIgorICNpbmNsdWRlICJzYW5kYm94L3BvbGljeS9saW51eC9zYW5kYm94X2xpbnV4LmgiCiAg CiArLy8gT24gUFBDNjQsIFRDR0VUUyBpcyBkZWZpbmVkIGluIHRlcm1zIG9mIHN0cnVjdCB0ZXJt aW9zLCBzbyB3ZSBtdXN0IGluY2x1ZGUgdGVybWlvcy5oCiArI2lmZGVmIF9fcG93ZXJwYzY0X18K QEAgLTEwNzIsNyArMTA3MCw3IEBAIGluZGV4IGZiODliMzM1Ni4uMWU5ODQ3MzFlIDEwMDY0NAog IC8vIDxsaW51eC9kbWEtYnVmLmg+IG9uY2Uga2VybmVsIHZlcnNpb24gNC42IGJlY29tZXMgd2lk ZWx5IHVzZWQuCiAgI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CiBkaWZmIC0tZ2l0IHRoaXJkX3Bh cnR5L2FuZ2xlL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0luZm9TaW5rLmggdGhpcmRfcGFydHkv YW5nbGUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvSW5mb1NpbmsuaAotaW5kZXggM2E4MDdlMWUu LjUyNTg2MTdhIDEwMDY0NAoraW5kZXggM2E4MDdlMWUzLi41MjU4NjE3YTcgMTAwNjQ0CiAtLS0g dGhpcmRfcGFydHkvYW5nbGUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvSW5mb1NpbmsuaAogKysr IHRoaXJkX3BhcnR5L2FuZ2xlL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0luZm9TaW5rLmgKIEBA IC05Miw3ICs5MiwxNiBAQCBjbGFzcyBUSW5mb1NpbmtCYXNlCkBAIC0xMDk0LDcgKzEwOTIsNyBA QCBpbmRleCAzYTgwN2UxZS4uNTI1ODYxN2EgMTAwNjQ0CiAgICAgIH0KICAgICAgLy8gV3JpdGUg Ym9vbGVhbiB2YWx1ZXMgYXMgdGhlaXIgbmFtZXMgaW5zdGVhZCBvZiBpbnRlZ3JhbCB2YWx1ZS4K IGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oIHRo aXJkX3BhcnR5L2FuZ2xlL3NyYy9saWJBTkdMRS9Db25zdGFudHMuaAotaW5kZXggNDI5NjRjYzEu LjY2MDdkZWViIDEwMDY0NAoraW5kZXggZmNiYzkyNDZhLi4zOWFlNjYxNDggMTAwNjQ0CiAtLS0g dGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oCiArKysgdGhpcmRfcGFy dHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oCiBAQCAtOSw2ICs5LDcgQEAKQEAgLTEx MDYsMTAgKzExMDQsMTAgQEAgaW5kZXggNDI5NjRjYzEuLjY2MDdkZWViIDEwMDY0NAogIAogICNp bmNsdWRlIDxzdGRpbnQuaD4KIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYm9yaW5nc3NsL0JVSUxE LmduIHRoaXJkX3BhcnR5L2JvcmluZ3NzbC9CVUlMRC5nbgotaW5kZXggYjQzNTQ5OWY0Li5hYzhh ODRiNmQgMTAwNjQ0CitpbmRleCAxN2NmOWNkYTkuLjhjZTk2YmQzMiAxMDA2NDQKIC0tLSB0aGly ZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ24KICsrKyB0aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJ TEQuZ24KLUBAIC0xMDEsNiArMTAxLDEzIEBAIGlmIChpc193aW4gJiYgIWlzX21zYW4gJiYgY3Vy cmVudF9jcHUgIT0gImFybTY0IikgeworQEAgLTEwMyw2ICsxMDMsMTMgQEAgaWYgKGlzX3dpbiAm JiAhaXNfbXNhbiAmJiBjdXJyZW50X2NwdSAhPSAiYXJtNjQiKSB7CiAgICAgICAgfSBlbHNlIHsK ICAgICAgICAgIHB1YmxpY19jb25maWdzID0gWyAiOm5vX2FzbV9jb25maWciIF0KICAgICAgICB9 CkBAIC0xMTI0LDEwICsxMTIyLDEwIEBAIGluZGV4IGI0MzU0OTlmNC4uYWM4YTg0YjZkIDEwMDY0 NAogICAgICAgIHB1YmxpY19jb25maWdzID0gWyAiOm5vX2FzbV9jb25maWciIF0KICAgICAgfQog ZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbiB0aGlyZF9wYXJ0eS9icmVh a3BhZC9CVUlMRC5nbgotaW5kZXggNTYxN2RlODguLmRjOGJjMTc2IDEwMDY0NAoraW5kZXggNGFm M2Q3YmJmLi5hZGJmNTQxNTkgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvQlVJTEQu Z24KICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbgotQEAgLTU5OCw3ICs1OTgsNiBA QCBpZiAoaXNfbGludXggfHwgaXNfYW5kcm9pZCkgeworQEAgLTU5Niw3ICs1OTYsNiBAQCBpZiAo aXNfbGludXggfHwgaXNfY2hyb21lb3MgfHwgaXNfYW5kcm9pZCkgewogICAgICAgICJicmVha3Bh ZC9zcmMvY2xpZW50L21pbmlkdW1wX2ZpbGVfd3JpdGVyLmgiLAogICAgICAgICJicmVha3BhZC9z cmMvY29tbW9uL2NvbnZlcnRfVVRGLmNjIiwKICAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9j b252ZXJ0X1VURi5oIiwKQEAgLTExMzUsNyArMTEzMyw3IEBAIGluZGV4IDU2MTdkZTg4Li5kYzhi YzE3NiAxMDA2NDQKICAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9k dW1wLmNjIiwKICAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1w LmgiLAogICAgICAgICJicmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2VsZnV0aWxzLmNjIiwKLUBA IC02MzYsNiArNjM1LDE0IEBAIGlmIChpc19saW51eCB8fCBpc19hbmRyb2lkKSB7CitAQCAtNjM0 LDYgKzYzMywxNCBAQCBpZiAoaXNfbGludXggfHwgaXNfY2hyb21lb3MgfHwgaXNfYW5kcm9pZCkg ewogIAogICAgICBsaWJzID0gWyAiZGwiIF0KICAKQEAgLTExNTAsNyArMTE0OCw3IEBAIGluZGV4 IDU2MTdkZTg4Li5kYzhiYzE3NiAxMDA2NDQKICAgICAgaW5jbHVkZV9kaXJzID0gWwogICAgICAg ICIuIiwKICAgICAgICAiYnJlYWtwYWQvc3JjIiwKLUBAIC02ODYsNyArNjkzLDYgQEAgaWYgKGlz X2xpbnV4IHx8IGlzX2FuZHJvaWQpIHsKK0BAIC02ODIsNyArNjg5LDYgQEAgaWYgKGlzX2xpbnV4 IHx8IGlzX2Nocm9tZW9zIHx8IGlzX2FuZHJvaWQpIHsKICAgICAgICAiYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjIiwK ICAgICAgICAiYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1 bXBfd3JpdGVyX3VuaXR0ZXN0X3V0aWxzLmNjIiwKICAgICAgICAiYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9taW5pZHVtcF93cml0ZXIvcHJvY19jcHVpbmZvX3JlYWRlcl91bml0dGVzdC5jYyIs CkBAIC0xMTU5LDcgKzExNTcsNyBAQCBpbmRleCA1NjE3ZGU4OC4uZGM4YmMxNzYgMTAwNjQ0CiAg ICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZmlsZV9pZF91bml0dGVzdC5jYyIsCiAg ICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbGludXhfbGliY19zdXBwb3J0X3VuaXR0 ZXN0LmNjIiwKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRleHRfY3B1LmggdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24v cmF3X2NvbnRleHRfY3B1LmgKLWluZGV4IDA3ZDkxNzFhLi45YWVkNGNiMyAxMDA2NDQKK2luZGV4 IDA3ZDkxNzFhMC4uOWFlZDRjYjM2IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Jhd19jb250ZXh0X2Nw dS5oCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9k dW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRleHRfY3B1LmgKIEBAIC00NCw2ICs0NCw4IEBAIHR5 cGVkZWYgTURSYXdDb250ZXh0QVJNIFJhd0NvbnRleHRDUFU7CkBAIC0xMTcyLDcgKzExNzAsNyBA QCBpbmRleCAwN2Q5MTcxYS4uOWFlZDRjYjMgMTAwNjQ0CiAgI2Vycm9yICJUaGlzIGNvZGUgaGFz IG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCiAgI2VuZGlmCiBkaWZmIC0t Z2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93 cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmNjCi1pbmRl eCBhYWUxZGMxMy4uMDNhZmVjN2EgMTAwNjQ0CitpbmRleCBhYWUxZGMxM2IuLjAzYWZlYzdhNSAx MDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYwogKysrIHRoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9p bmZvLmNjCiBAQCAtMjcwLDcgKzI3MCw0MiBAQCB2b2lkIFRocmVhZEluZm86OkZpbGxDUFVDb250 ZXh0KFJhd0NvbnRleHRDUFUqIG91dCkgY29uc3QgewpAQCAtMTI1OCw3ICsxMjU2LDcgQEAgaW5k ZXggYWFlMWRjMTMuLjAzYWZlYzdhIDEwMDY0NAogKwogIH0gIC8vIG5hbWVzcGFjZSBnb29nbGVf YnJlYWtwYWQKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uaCB0aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJl YWRfaW5mby5oCi1pbmRleCBmYjIxNmZhNi4uNTkzYWFjODIgMTAwNjQ0CitpbmRleCBmYjIxNmZh NmQuLjU5M2FhYzgyMiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oCiArKysgdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9j b21tb24vdGhyZWFkX2luZm8uaAogQEAgLTY4LDYgKzY4LDEwIEBAIHN0cnVjdCBUaHJlYWRJbmZv IHsKQEAgLTEyODUsMTAgKzEyODMsMTAgQEAgaW5kZXggZmIyMTZmYTYuLjU5M2FhYzgyIDEwMDY0 NAogIAogIH0gIC8vIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQKIGRpZmYgLS1naXQgdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21t b24vdWNvbnRleHRfcmVhZGVyLmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYwotaW5kZXgg ZWU1MTVjNDEuLjEwOTA0NzBmIDEwMDY0NAoraW5kZXggNmVlYzFiZTI0Li43NDE5ODNhMWEgMTAw NjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9k dW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjCiArKysgdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRl eHRfcmVhZGVyLmNjCi1AQCAtMjU0LDYgKzI1NCw0OCBAQCB2b2lkIFVDb250ZXh0UmVhZGVyOjpG aWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjKSB7 CitAQCAtMjU0LDYgKzI1NCw0OCBAQCB2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4 dChSYXdDb250ZXh0Q1BVKiBvdXQsIGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7CiAgICBvdXQtPmZs b2F0X3NhdmUuZmlyID0gdWMtPnVjX21jb250ZXh0LmZwY19laXI7ICAvLyBVbnVzZWQuCiAgI2Vu ZGlmCiAgfQpAQCAtMTMzOCwyMSArMTMzNiwyMSBAQCBpbmRleCBlZTUxNWM0MS4uMTA5MDQ3MGYg MTAwNjQ0CiAgCiAgfSAgLy8gbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZAogZGlmZiAtLWdpdCB0 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVy X2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAotaW5k ZXggOGU3NGE4YTUuLjdjYjY2N2E3IDEwMDY0NAoraW5kZXggN2Q0MTAwODgxLi5jMTIyYWM5MmUg MTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmgKICsrKyB0aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29u dGV4dF9yZWFkZXIuaAogQEAgLTU1LDYgKzU1LDkgQEAgc3RydWN0IFVDb250ZXh0UmVhZGVyIHsK ICAjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotICAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRl eHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YywKKyAgIHN0YXRpYyB2 b2lkIEZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCwgY29uc3QgdWNvbnRleHRfdCog dWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZnBzaW1kX2Nv bnRleHQqIGZwcmVncyk7CiArI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQogKyAgc3RhdGlj IHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90 ICp1YywKICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZycmVnc2V0X3QqIHZy ZWdzKTsKICAjZWxzZQotICAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQ VSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1Yyk7CisgICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29u dGV4dChSYXdDb250ZXh0Q1BVKiBvdXQsIGNvbnN0IHVjb250ZXh0X3QqIHVjKTsKICAjZW5kaWYK IGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYwotaW5kZXgg YzY1ZmVhYTEuLjVhN2FiNTBjIDEwMDY0NAoraW5kZXggYTZjYjVmOTg0Li5hZTE2YjY0ZDkgMTAw NjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9o YW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCiBAQCAt NDYxLDkgKzQ2MSwxNiBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OkhhbmRsZVNpZ25hbChpbnQg LypzaWcqLywgc2lnaW5mb190KiBpbmZvLCB2b2lkKiB1YykgewpAQCAtMTM3Myw3ICsxMzcxLDcg QEAgaW5kZXggYzY1ZmVhYTEuLjVhN2FiNTBjIDEwMDY0NAogICAgLy8gYW5kICdmbG9hdF9zdGF0 ZScgaXMgbm90IGEgbWVtYmVyIG9mIENyYXNoQ29udGV4dC4KICAgIHVjb250ZXh0X3QqIHVjX3B0 ciA9ICh1Y29udGV4dF90Kil1YzsKICAgIGlmICh1Y19wdHItPnVjX21jb250ZXh0LmZwcmVncykg ewotQEAgLTcwMSwxMSArNzA4LDE5IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVNaW5p ZHVtcCgpIHsKK0BAIC03MDgsMTEgKzcxNSwxOSBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6Oldy aXRlTWluaWR1bXAoKSB7CiAgICB9CiAgI2VuZGlmCiAgCkBAIC0xMzk0LDcgKzEzOTIsNyBAQCBp bmRleCBjNjVmZWFhMS4uNWE3YWI1MGMgMTAwNjQ0CiAgICBjb250ZXh0LnRpZCA9IHN5c19nZXR0 aWQoKTsKICAKICAgIC8vIEFkZCBhbiBleGNlcHRpb24gc3RyZWFtIHRvIHRoZSBtaW5pZHVtcCBm b3IgYmV0dGVyIHJlcG9ydGluZy4KLUBAIC03MjYsNiArNzQxLDkgQEAgYm9vbCBFeGNlcHRpb25I YW5kbGVyOjpXcml0ZU1pbmlkdW1wKCkgeworQEAgLTczMyw2ICs3NDgsOSBAQCBib29sIEV4Y2Vw dGlvbkhhbmRsZXI6OldyaXRlTWluaWR1bXAoKSB7CiAgI2VsaWYgZGVmaW5lZChfX21pcHNfXykK ICAgIGNvbnRleHQuc2lnaW5mby5zaV9hZGRyID0KICAgICAgICByZWludGVycHJldF9jYXN0PHZv aWQqPihjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQucGMpOwpAQCAtMTQwNSw3ICsxNDAzLDcg QEAgaW5kZXggYzY1ZmVhYTEuLjVhN2FiNTBjIDEwMDY0NAogICNlcnJvciAiVGhpcyBjb2RlIGhh cyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQuIgogICNlbmRpZgogZGlmZiAt LWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRs ZXIvZXhjZXB0aW9uX2hhbmRsZXIuaCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaAotaW5kZXggZjQ0NDgzZmYu LjM2Y2U2ZDZjIDEwMDY0NAoraW5kZXggZjgwODQzZWE3Li4yNjBkZDEwZjcgMTAwNjQ0CiAtLS0g dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4 Y2VwdGlvbl9oYW5kbGVyLmgKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaAogQEAgLTE5Miw3ICsxOTIs MTEgQEAgY2xhc3MgRXhjZXB0aW9uSGFuZGxlciB7CkBAIC0xNDIyLDcgKzE0MjAsNyBAQCBpbmRl eCBmNDQ0ODNmZi4uMzZjZTZkNmMgMTAwNjQ0CiAgICAgIC8vIEluIGNhc2Ugb2YgTUlQUyBMaW51 eCBGUCBzdGF0ZSBpcyBhbHJlYWR5IHBhcnQgb2YgdWNvbnRleHRfdCBzbwogICAgICAvLyAnZmxv YXRfc3RhdGUnIGlzIG5vdCByZXF1aXJlZC4KIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3Vu aXR0ZXN0LmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv aGFuZGxlci9leGNlcHRpb25faGFuZGxlcl91bml0dGVzdC5jYwotaW5kZXggOGQ4ODA5ZmEuLmUy ZWIwMzFlIDEwMDY0NAoraW5kZXggMzVkY2JmZDRkLi43OTM0MzcwZmQgMTAwNjQ0CiAtLS0gdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2Vw dGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNj CiBAQCAtMzA3LDcgKzMwNyw3IEBAIFRFU1QoRXhjZXB0aW9uSGFuZGxlclRlc3QsIFBhcmFsbGVs Q2hpbGRDcmFzaGVzRG9udEhhbmcpIHsKQEAgLTE0NTcsNyArMTQ1NSw3IEBAIGluZGV4IDhkODgw OWZhLi5lMmViMDMxZSAxMDA2NDQKICAKICAgIGNvbnN0IHBpZF90IGNoaWxkID0gZm9yaygpOwog ZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYyB0aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dy aXRlci5jYwotaW5kZXggZmEzYzE3MTMuLjZjZTcwOWUyIDEwMDY0NAoraW5kZXggZmEzYzE3MTNh Li42Y2U3MDllMmYgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXIuY2MKICsrKyB0 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93 cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYwogQEAgLTEzOCw3ICsxMzgsOSBAQCBjbGFzcyBNaWNy b2R1bXBXcml0ZXIgewpAQCAtMTUwMyw3ICsxNTAxLDcgQEAgaW5kZXggZmEzYzE3MTMuLjZjZTcw OWUyIDEwMDY0NAogICNlbmRpZgogICAgTGludXhEdW1wZXIqIGR1bXBlcl87CiBkaWZmIC0tZ2l0 IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1w X3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3Jp dGVyX3VuaXR0ZXN0LmNjCi1pbmRleCA2MzM5YWMwYy4uMjkxYWYxMDYgMTAwNjQ0CitpbmRleCA2 MzM5YWMwY2QuLjI5MWFmMTA2YiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlcl91 bml0dGVzdC5jYwogKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCiBAQCAt Mjc5LDEwICsyNzksMTkgQEAgVEVTVChNaWNyb2R1bXBXcml0ZXJUZXN0LCBCYXNpY1dpdGhNYXBw aW5ncykgewpAQCAtMTUzMCw3ICsxNTI4LDcgQEAgaW5kZXggNjMzOWFjMGMuLjI5MWFmMTA2IDEw MDY0NAogICAgQVNTRVJUX05FKHN0ZDo6c3RyaW5nOjpucG9zLAogICAgICAgICAgICAgIGJ1Zi5m aW5kKCJNIDAwMDAxMDAwIDAwMDAwMDJBIDAwMDAxMDAwICIKIGRpZmYgLS1naXQgdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGlu dXhfY29yZV9kdW1wZXIuY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MKLWluZGV4IDQxNTA2 ODk4Li5iOTNlNGFmYyAxMDA2NDQKK2luZGV4IDQxNTA2ODk4My4uYjkzZTRhZmNmIDEwMDY0NAog LS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1 bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1w ZXIuY2MKIEBAIC0xMTIsNiArMTEyLDkgQEAgYm9vbCBMaW51eENvcmVEdW1wZXI6OkdldFRocmVh ZEluZm9CeUluZGV4KHNpemVfdCBpbmRleCwgVGhyZWFkSW5mbyogaW5mbykgewpAQCAtMTU1Niw3 ICsxNTU0LDcgQEAgaW5kZXggNDE1MDY4OTguLmI5M2U0YWZjIDEwMDY0NAogICAgICAgICAgZm9y IChpbnQgaSA9IEVGX1IwOyBpIDw9IEVGX1IzMTsgaSsrKQogICAgICAgICAgICBpbmZvLm1jb250 ZXh0LmdyZWdzW2kgLSBFRl9SMF0gPSBzdGF0dXMtPnByX3JlZ1tpXTsKIGRpZmYgLS1naXQgdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0 ZXIvbGludXhfZHVtcGVyLmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGll bnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5jYwotaW5kZXggMTExMjAzNWIu Ljg1MjNkYWQ2IDEwMDY0NAoraW5kZXggN2ZkNjUzMmFkLi4xOTljYmZmZmQgMTAwNjQ0CiAtLS0g dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93 cml0ZXIvbGludXhfZHVtcGVyLmNjCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmNjCiBAQCAtNzY1 LDcgKzc2NSw5IEBAIGJvb2wgTGludXhEdW1wZXI6OkdldFN0YWNrSW5mbyhjb25zdCB2b2lkKiog c3RhY2ssIHNpemVfdCogc3RhY2tfbGVuLApAQCAtMTU3MSw3ICsxNTY5LDcgQEAgaW5kZXggMTEx MjAzNWIuLjg1MjNkYWQ2IDEwMDY0NAogICAgY29uc3QgTWFwcGluZ0luZm8qIG1hcHBpbmcgPSBG aW5kTWFwcGluZyhzdGFja19wb2ludGVyKTsKICAgIGlmICghbWFwcGluZykKIGRpZmYgLS1naXQg dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93 cml0ZXIvbGludXhfZHVtcGVyLmggdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmgKLWluZGV4IGY0YTc1ZDkw Li4wMjA5ODFmNSAxMDA2NDQKK2luZGV4IDdiZWUxNjBmMS4uMDdiYjJiODFhIDEwMDY0NAogLS0t IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBf d3JpdGVyL2xpbnV4X2R1bXBlci5oCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmgKIEBAIC02Myw3 ICs2Myw4IEBAIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQgewpAQCAtMTU4NSw3ICsxNTgzLDcg QEAgaW5kZXggZjRhNzVkOTAuLjAyMDk4MWY1IDEwMDY0NAogICNlbmRpZgogIAogZGlmZiAtLWdp dCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1w X3dyaXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVscGVyLmNjIHRoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBl cl91bml0dGVzdF9oZWxwZXIuY2MKLWluZGV4IDNhZDQ4ZTUwLi4xNjg4YzM2NSAxMDA2NDQKK2lu ZGV4IDMzMWY0YmIzNC4uM2Y3MjI5NDdmIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlcl91 bml0dGVzdF9oZWxwZXIuY2MKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVscGVy LmNjCiBAQCAtNTEsNiArNTEsOCBAQApAQCAtMTU5OCw3ICsxNTk2LDcgQEAgaW5kZXggM2FkNDhl NTAuLjE2ODhjMzY1IDEwMDY0NAogICNlcnJvciBUaGlzIHRlc3QgaGFzIG5vdCBiZWVuIHBvcnRl ZCB0byB0aGlzIHBsYXRmb3JtLgogICNlbmRpZgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJh Y2VfZHVtcGVyLmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MKLWluZGV4IGUzZGRiODFh Li5mYTI4NTc1ZSAxMDA2NDQKK2luZGV4IGUzZGRiODFhNi4uZmEyODU3NWVmIDEwMDY0NAogLS0t IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBf d3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVt cGVyLmNjCiBAQCAtMTQ5LDE5ICsxNDksMjcgQEAgYm9vbCBMaW51eFB0cmFjZUR1bXBlcjo6Q29w eUZyb21Qcm9jZXNzKHZvaWQqIGRlc3QsIHBpZF90IGNoaWxkLApAQCAtMTY0NCw3ICsxNjQyLDcg QEAgaW5kZXggZTNkZGI4MWEuLmZhMjg1NzVlIDEwMDY0NAogICNlcnJvciAiVGhpcyBjb2RlIGhh c24ndCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCiAgI2VuZGlmCiBkaWZmIC0t Z2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1 bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXJfdW5pdHRlc3QuY2MgdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRy YWNlX2R1bXBlcl91bml0dGVzdC5jYwotaW5kZXggZWE2YjlhMTIuLjliMzE4ZmUwIDEwMDY0NAor aW5kZXggZGE3MWUxNWRjLi4xMmJmYjMxN2EgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNl X2R1bXBlcl91bml0dGVzdC5jYwogKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXJfdW5pdHRl c3QuY2MKIEBAIC00NjIsNiArNDYyLDkgQEAgVEVTVChMaW51eFB0cmFjZUR1bXBlclRlc3QsIFZl cmlmeVN0YWNrUmVhZFdpdGhNdWx0aXBsZVRocmVhZHMpIHsKQEAgLTE2NjcsNyArMTY2NSw3IEBA IGluZGV4IGVhNmI5YTEyLi45YjMxOGZlMCAxMDA2NDQKICAjZXJyb3IgVGhpcyB0ZXN0IGhhcyBu b3QgYmVlbiBwb3J0ZWQgdG8gdGhpcyBwbGF0Zm9ybS4KICAjZW5kaWYKIGRpZmYgLS1naXQgdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0 ZXIvbWluaWR1bXBfd3JpdGVyLmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYwotaW5kZXggZjhj ZGYyYTEuLmNiODA4YzE1IDEwMDY0NAoraW5kZXggMzI2MzRlZjAwLi4yYTU2OTQ4ZGUgMTAwNjQ0 CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5p ZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVy LmNjCiBAQCAtMTM2LDcgKzEzNiw5IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsKQEAgLTE3MjQs NyArMTcyMiw3IEBAIGluZGV4IGY4Y2RmMmExLi5jYjgwOGMxNSAxMDA2NDQKICAjZW5kaWYKICAg IExpbnV4RHVtcGVyKiBkdW1wZXJfOwogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIu aCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1w X3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAotaW5kZXggZTNiMGIxNmQuLmNjZDhhYTBhIDEwMDY0 NAoraW5kZXggZTNiMGIxNmRhLi5jY2Q4YWEwYTQgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBf d3JpdGVyLmgKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAogQEAgLTQ4LDYgKzQ4LDggQEAg Y2xhc3MgRXhjZXB0aW9uSGFuZGxlcjsKQEAgLTE3MzcsNyArMTczNSw3IEBAIGluZGV4IGUzYjBi MTZkLi5jY2Q4YWEwYSAxMDA2NDQKICB0eXBlZGVmIHN0ZDo6cmVtb3ZlX3BvaW50ZXI8ZnByZWdz ZXRfdD46OnR5cGUgZnBzdGF0ZV90OwogICNlbmRpZgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVt cF93cml0ZXJfdW5pdHRlc3QuY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCi1p bmRleCAzMDE3YTQ5YS4uMzY0ZWZkNzkgMTAwNjQ0CitpbmRleCBkMTkyZTVjYmIuLmZjMWJmYThk NyAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKICsrKyB0aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRl ci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKIEBAIC03MTUsNiArNzE1LDkgQEAgVEVTVChN aW5pZHVtcFdyaXRlclRlc3QsIEludmFsaWRTdGFja1BvaW50ZXIpIHsKQEAgLTE3NTEsNyArMTc0 OSw3IEBAIGluZGV4IDMwMTdhNDlhLi4zNjRlZmQ3OSAxMDA2NDQKICAjIGVycm9yICJUaGlzIGNv ZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCiAgI2VuZGlmCiBk aWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgv bWVtb3J5X21hcHBlZF9maWxlLmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j b21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlLmNjCi1pbmRleCA0ZTkzODI2OS4uZjBmZjE1 ZDkgMTAwNjQ0CitpbmRleCA5OTM2Mjk0NWMuLmM1NGJhNzE0NSAxMDA2NDQKIC0tLSB0aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmls ZS5jYwogKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgv bWVtb3J5X21hcHBlZF9maWxlLmNjCiBAQCAtNjUsOCArNjUsNyBAQCBib29sIE1lbW9yeU1hcHBl ZEZpbGU6Ok1hcChjb25zdCBjaGFyKiBwYXRoLCBzaXplX3Qgb2Zmc2V0KSB7CkBAIC0xNzY1LDcg KzE3NjMsNyBAQCBpbmRleCA0ZTkzODI2OS4uZjBmZjE1ZDkgMTAwNjQ0CiAgICBpZiAoc3lzX2Zz dGF0KGZkLCAmc3QpID09IC0xIHx8IHN0LnN0X3NpemUgPCAwKSB7CiAgI2Vsc2UKIGRpZmYgLS1n aXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlf bWFwcGVkX2ZpbGVfdW5pdHRlc3QuY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGVfdW5pdHRlc3QuY2MKLWluZGV4IGZhZDU5 ZjQwLi42MTY0OTZkNiAxMDA2NDQKK2luZGV4IGZhZDU5ZjQwYy4uNjE2NDk2ZDY3IDEwMDY0NAog LS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5 X21hcHBlZF9maWxlX3VuaXR0ZXN0LmNjCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGVfdW5pdHRlc3QuY2MKIEBAIC0x NzYsOSArMTc2LDEwIEBAIFRFU1RfRihNZW1vcnlNYXBwZWRGaWxlVGVzdCwgUmVtYXBBZnRlck1h cCkgewpAQCAtMTc4MywxMCArMTc4MSwxMCBAQCBpbmRleCBmYWQ1OWY0MC4uNjE2NDk2ZDYgMTAw NjQ0CiAgICAgIGRhdGExW2ldID0gaSAmIDB4N2Y7CiAgICB9CiBkaWZmIC0tZ2l0IHRoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0dGVz dC5jYyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL21lbW9yeV9hbGxv Y2F0b3JfdW5pdHRlc3QuY2MKLWluZGV4IDQzYzg2MzE0Li4yNzMyNWI4MSAxMDA2NDQKK2luZGV4 IDU4MDNiOTBkNS4uMmExY2YxNGYwIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jb21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0dGVzdC5jYwogKysrIHRoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0 dGVzdC5jYwotQEAgLTU3LDggKzU3LDkgQEAKK0BAIC01Nyw4ICs1Nyw5IEBAIFRFU1QoUGFnZUFs bG9jYXRvclRlc3QsIExhcmdlT2JqZWN0KSB7CiAgCiAgICBFWFBFQ1RfRVEoMFUsIGFsbG9jYXRv ci5wYWdlc19hbGxvY2F0ZWQoKSk7CiAgICB1aW50OF90KiBwID0gcmVpbnRlcnByZXRfY2FzdDx1 aW50OF90Kj4oYWxsb2NhdG9yLkFsbG9jKDEwMDAwKSk7CkBAIC0xNzk4LDcgKzE3OTYsNyBAQCBp bmRleCA0M2M4NjMxNC4uMjczMjViODEgMTAwNjQ0CiAgICAgIHVpbnQ4X3QqIHAgPSByZWludGVy cHJldF9jYXN0PHVpbnQ4X3QqPihhbGxvY2F0b3IuQWxsb2MoaSkpOwogICAgICBBU1NFUlRfRkFM U0UocCA9PSBOVUxMKTsKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV9saW51eC5jYyB0aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X2xpbnV4LmNjCi1pbmRleCBj Y2M5ZjE0NS4uZGViYWVkNGQgMTAwNjQ0CitpbmRleCA3OTgwNTZkZmEuLjIyYmQ4MWZmZiAxMDA2 NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxv aXRhYmlsaXR5X2xpbnV4LmNjCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV9saW51eC5jYwogQEAgLTIwMiwxMiArMjAyLDE0IEBA IGJvb2wgRXhwbG9pdGFiaWxpdHlMaW51eDo6RW5kZWRPbklsbGVnYWxXcml0ZSh1aW50NjRfdCBp bnN0cnVjdGlvbl9wdHIpIHsKQEAgLTE4MTcsNyArMTgxNSw3IEBAIGluZGV4IGNjYzlmMTQ1Li5k ZWJhZWQ0ZCAxMDA2NDQKICAgICAgICAvLyBVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUuIE5vdGUg dGhhdCBBUk0gYXJjaGl0ZWN0dXJlcyBhcmUgbm90CiAgICAgICAgLy8gc3VwcG9ydGVkIGJlY2F1 c2Ugb2JqZHVtcCBkb2VzIG5vdCBzdXBwb3J0IEFSTS4KIGRpZmYgLS1naXQgdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV91bml0dGVzdC5j YyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmls aXR5X3VuaXR0ZXN0LmNjCi1pbmRleCA1MjhlZTVmMi4uNzI3NjRkNmMgMTAwNjQ0CitpbmRleCA1 MjhlZTVmMjEuLjcyNzY0ZDZjMSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X3VuaXR0ZXN0LmNjCiArKysgdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV91bml0 dGVzdC5jYwogQEAgLTEwNCw2ICsxMDQsOCBAQCBFeHBsb2l0YWJpbGl0eUZvcihjb25zdCBzdHJp bmcmIGZpbGVuYW1lKSB7CkBAIC0xODc1LDcgKzE4NzMsNyBAQCBpbmRleCA1MjhlZTVmMi4uNzI3 NjRkNmMgMTAwNjQ0CiAgCiAgfSAgLy8gbmFtZXNwYWNlCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29y ZS5jYyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvdG9vbHMvbGludXgvbWQyY29y ZS9taW5pZHVtcC0yLWNvcmUuY2MKLWluZGV4IGE2MGJlMzIzLi4zNWIxMWI2ZCAxMDA2NDQKK2lu ZGV4IGFhZGU4MmM5OS4uMTk1YWE3M2YzIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYwogKysr IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9saW51eC9tZDJjb3JlL21p bmlkdW1wLTItY29yZS5jYwogQEAgLTc3LDYgKzc3LDggQEAKQEAgLTE5NTksNyArMTk1Nyw3IEBA IGluZGV4IGE2MGJlMzIzLi4zNWIxMWI2ZCAxMDA2NDQKICAjZXJyb3IgIlRoaXMgY29kZSBoYXMg bm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0IgogICNlbmRpZgogZGlmZiAtLWdp dCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9DT05UUklCVVRPUlMgdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvQ09OVFJJQlVUT1JTCi1pbmRleCA4NzI0YjdmMy4uOGUyOTQyNGUg MTAwNjQ0CitpbmRleCA4NzI0YjdmMzIuLjhlMjk0MjRlZiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9DT05UUklCVVRPUlMKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9DT05UUklCVVRPUlMKIEBAIC0xMywzICsxMyw0IEBAIE1hcmsgTWVudG92YWkg PG1hcmtAY2hyb21pdW0ub3JnPgpAQCAtMTk2OCw3ICsxOTY2LDcgQEAgaW5kZXggODcyNGI3ZjMu LjhlMjk0MjRlIDEwMDY0NAogIEpvc2h1YSBQZXJhemEgPGpwZXJhemFAY2hyb21pdW0ub3JnPgog K1NoYXduIEFuYXN0YXNpbyA8c2hhd25AYW5hc3Rhcy5pbz4KIGRpZmYgLS1naXQgdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5cy91c2VyLmggdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5cy91c2VyLmgKLWluZGV4IDZlZDc3YTk4 Li4xZmQ4MzQ2OSAxMDA2NDQKK2luZGV4IDZlZDc3YTk4ZS4uMWZkODM0NjlhIDEwMDY0NAogLS0t IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL2NvbXBhdC9saW51eC9zeXMvdXNlci5oCiAr KysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5cy91c2VyLmgK IEBAIC0xNSw2ICsxNSw3IEBACkBAIC0xOTgwLDcgKzE5NzgsNyBAQCBpbmRleCA2ZWQ3N2E5OC4u MWZkODM0NjkgMTAwNjQ0CiAgCiAgI2luY2x1ZGUgPGZlYXR1cmVzLmg+CiBkaWZmIC0tZ2l0IHRo aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHQuaCB0 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0LmgK LWluZGV4IDNhM2U2MDNjLi4zMTE4ZDllOSAxMDA2NDQKK2luZGV4IDNhM2U2MDNjYi4uMzExOGQ5 ZTlmIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21p bmlkdW1wX2NvbnRleHQuaAogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlk dW1wL21pbmlkdW1wX2NvbnRleHQuaAogQEAgLTU5Miw2ICs1OTIsNzAgQEAgc3RydWN0IE1pbmlk dW1wQ29udGV4dE1JUFM2NCB7CkBAIC0yMDU1LDcgKzIwNTMsNyBAQCBpbmRleCAzYTNlNjAzYy4u MzExOGQ5ZTkgMTAwNjQ0CiAgCiAgI2VuZGlmICAvLyBDUkFTSFBBRF9NSU5JRFVNUF9NSU5JRFVN UF9DT05URVhUX0hfCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21p bmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjIHRoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjCi1pbmRleCBkN2U1M2E0 OS4uZDg5ZWI5ZTAgMTAwNjQ0CitpbmRleCBkN2U1M2E0OTMuLmQ4OWViOWUwMSAxMDA2NDQKIC0t LSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0 X3dyaXRlci5jYwogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21p bmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjCiBAQCAtMTAxLDYgKzEwMSwxMyBAQCBNaW5pZHVtcENv bnRleHRXcml0ZXI6OkNyZWF0ZUZyb21TbmFwc2hvdChjb25zdCBDUFVDb250ZXh0KiBjb250ZXh0 X3NuYXBzaG90KSB7CkBAIC0yMTIxLDcgKzIxMTksNyBAQCBpbmRleCBkN2U1M2E0OS4uZDg5ZWI5 ZTAgMTAwNjQ0CiArCiAgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCiBkaWZmIC0tZ2l0IHRoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVy LmggdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4 dF93cml0ZXIuaAotaW5kZXggZDRhYjkzNmUuLjFkMjJmYzU5IDEwMDY0NAoraW5kZXggZDRhYjkz NmVlLi4xZDIyZmM1OWMgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv bWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuaAogKysrIHRoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmgKIEBAIC0zMTUs NiArMzE1LDQ1IEBAIGNsYXNzIE1pbmlkdW1wQ29udGV4dE1JUFM2NFdyaXRlciBmaW5hbCA6IHB1 YmxpYyBNaW5pZHVtcENvbnRleHRXcml0ZXIgewpAQCAtMjE3MSw3ICsyMTY5LDcgQEAgaW5kZXgg ZDRhYjkzNmUuLjFkMjJmYzU5IDEwMDY0NAogIAogICNlbmRpZiAgLy8gQ1JBU0hQQURfTUlOSURV TVBfTUlOSURVTVBfQ09OVEVYVF9XUklURVJfSF8KIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXJfdGVzdC5jYyB0 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dy aXRlcl90ZXN0LmNjCi1pbmRleCAzMjE2YTkwNi4uYTlmY2JlOWQgMTAwNjQ0CitpbmRleCAzMjE2 YTkwNmIuLmE5ZmNiZTlkOCAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlcl90ZXN0LmNjCiArKysgdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXJfdGVz dC5jYwogQEAgLTIxMyw2ICsyMTMsMjEgQEAgVEVTVChNaW5pZHVtcENvbnRleHRXcml0ZXIsIE1J UFM2NF9Gcm9tU25hcHNob3QpIHsKQEAgLTIxOTcsMTAgKzIxOTUsMTAgQEAgaW5kZXggMzIxNmE5 MDYuLmE5ZmNiZTlkIDEwMDY0NAogIH0gIC8vIG5hbWVzcGFjZSB0ZXN0CiAgfSAgLy8gbmFtZXNw YWNlIGNyYXNocGFkCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21p bmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0ZXIuY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfbWlzY19pbmZvX3dyaXRlci5jYwotaW5kZXggYTEz NDA3NjAuLjk1ZGM5MjUyIDEwMDY0NAoraW5kZXggMDk3NGUzZGRmLi5iNzFlYzU4ODAgMTAwNjQ0 CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfbWlz Y19pbmZvX3dyaXRlci5jYwogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlk dW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0ZXIuY2MKLUBAIC0xMjYsNiArMTI2LDggQEAgc3Rk OjpzdHJpbmcgTWluaWR1bXBNaXNjSW5mb0RlYnVnQnVpbGRTdHJpbmcoKSB7CitAQCAtMTM1LDYg KzEzNSw4IEBAIHN0ZDo6c3RyaW5nIE1pbmlkdW1wTWlzY0luZm9EZWJ1Z0J1aWxkU3RyaW5nKCkg ewogICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJtaXBzIjsKICAjZWxpZiBkZWZp bmVkKEFSQ0hfQ1BVX01JUFM2NEVMKQogICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9 ICJtaXBzNjQiOwpAQCAtMjIxMCwxMCArMjIwOCwxMCBAQCBpbmRleCBhMTM0MDc2MC4uOTVkYzky NTIgMTAwNjQ0CiAgI2Vycm9yIGRlZmluZSBrQ1BVIGZvciB0aGlzIENQVQogICNlbmRpZgogZGlm ZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jYXB0dXJlX21l bW9yeS5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jYXB0dXJlX21l bW9yeS5jYwotaW5kZXggYTUxNjI2Y2MuLjYxZTBiMjBhIDEwMDY0NAoraW5kZXggN2ExYjI3NjNj Li5iZWRhOGRhOWUgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvY2FwdHVyZV9tZW1vcnkuY2MKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9jYXB0dXJlX21lbW9yeS5jYwotQEAgLTExMSw2ICsxMTEsMTEgQEAgdm9pZCBD YXB0dXJlTWVtb3J5OjpQb2ludGVkVG9CeUNvbnRleHQoY29uc3QgQ1BVQ29udGV4dCYgY29udGV4 dCwKK0BAIC0xMTIsNiArMTEyLDExIEBAIHZvaWQgQ2FwdHVyZU1lbW9yeTo6UG9pbnRlZFRvQnlD b250ZXh0KGNvbnN0IENQVUNvbnRleHQmIGNvbnRleHQsCiAgICBmb3IgKHNpemVfdCBpID0gMDsg aSA8IGJhc2U6OnNpemUoY29udGV4dC5taXBzZWwtPnJlZ3MpOyArK2kpIHsKICAgICAgTWF5YmVD YXB0dXJlTWVtb3J5QXJvdW5kKGRlbGVnYXRlLCBjb250ZXh0Lm1pcHNlbC0+cmVnc1tpXSk7CiAg ICB9CkBAIC0yMjI2LDcgKzIyMjQsNyBAQCBpbmRleCBhNTE2MjZjYy4uNjFlMGIyMGEgMTAwNjQ0 CiAgI2Vycm9yIFBvcnQuCiAgI2VuZGlmCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2NwdV9hcmNoaXRlY3R1cmUuaCB0aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfYXJjaGl0ZWN0dXJlLmgKLWluZGV4IDgxMWE3MjA5Li5m NGY4Mzk4MSAxMDA2NDQKK2luZGV4IDgxMWE3MjA5NS4uZjRmODM5ODFkIDEwMDY0NAogLS0tIHRo aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9hcmNoaXRlY3R1cmUuaAog KysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9hcmNoaXRlY3R1 cmUuaAogQEAgLTQzLDcgKzQzLDEwIEBAIGVudW0gQ1BVQXJjaGl0ZWN0dXJlIHsKQEAgLTIyNDIs NyArMjI0MCw3IEBAIGluZGV4IDgxMWE3MjA5Li5mNGY4Mzk4MSAxMDA2NDQKICAKICB9ICAvLyBu YW1lc3BhY2UgY3Jhc2hwYWQKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvY3B1X2NvbnRleHQuY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvY3B1X2NvbnRleHQuY2MKLWluZGV4IDZmYjhkN2U3Li5iMDFmN2NhZCAxMDA2NDQK K2luZGV4IGM3NWI1NTU1ZS4uYWVhZGU1NzdhIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmNjCiArKysgdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuY2MKIEBAIC0xNjksNiArMTY5LDgg QEAgdWludDY0X3QgQ1BVQ29udGV4dDo6SW5zdHJ1Y3Rpb25Qb2ludGVyKCkgY29uc3QgewpAQCAt MjI3Miw3ICsyMjcwLDcgQEAgaW5kZXggNmZiOGQ3ZTcuLmIwMWY3Y2FkIDEwMDY0NAogICAgICBj YXNlIGtDUFVBcmNoaXRlY3R1cmVYODY6CiAgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZUFSTToK IGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2Nv bnRleHQuaCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4 dC5oCi1pbmRleCBmYjIzYzQ2Ny4uZWViZWRlNjMgMTAwNjQ0CitpbmRleCBmYjIzYzQ2NzkuLmVl YmVkZTYzYyAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9jcHVfY29udGV4dC5oCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvY3B1X2NvbnRleHQuaAogQEAgLTM1Miw2ICszNTIsMjQgQEAgc3RydWN0IENQVUNvbnRleHRN SVBTNjQgewpAQCAtMjMwOSw3ICsyMzA3LDcgQEAgaW5kZXggZmIyM2M0NjcuLmVlYmVkZTYzIDEw MDY0NAogIH07CiAgCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4LmggdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvc25hcHNob3QvbGludXgvY3B1X2NvbnRleHRfbGludXguaAotaW5kZXggOWY0NmE0ODku LmFhNjc3YzRlIDEwMDY0NAoraW5kZXggOWY0NmE0ODk3Li5hYTY3N2M0ZWIgMTAwNjQ0CiAtLS0g dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvY3B1X2NvbnRleHRf bGludXguaAogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4 L2NwdV9jb250ZXh0X2xpbnV4LmgKIEBAIC0xNSw2ICsxNSw3IEBACkBAIC0yNDAwLDI0ICsyMzk4 LDIwIEBAIGluZGV4IDlmNDZhNDg5Li5hYTY3N2M0ZSAxMDA2NDQKICB9ICAvLyBuYW1lc3BhY2Ug Y3Jhc2hwYWQKICAKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvZGVidWdfcmVuZGV6dm91c190ZXN0LmNjIHRoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2RlYnVnX3JlbmRlenZvdXNfdGVzdC5jYwotaW5kZXgg YmUyMmM5MDMuLmM1ZGYyM2QxIDEwMDY0NAoraW5kZXggZDMyYmQxOTM3Li4yZGQ1MzhjMmIgMTAw NjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZGVi dWdfcmVuZGV6dm91c190ZXN0LmNjCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvbGludXgvZGVidWdfcmVuZGV6dm91c190ZXN0LmNjCi1AQCAtMTU5LDkgKzE1OSwx MSBAQCB2b2lkIFRlc3RBZ2FpbnN0VGFyZ2V0KFB0cmFjZUNvbm5lY3Rpb24qIGNvbm5lY3Rpb24p IHsKLSAgICAgICAgICAgY29uc3QgYm9vbCBpc192ZHNvX21hcHBpbmcgPQorQEAgLTE5Miw2ICsx OTIsOCBAQCB2b2lkIFRlc3RBZ2FpbnN0VGFyZ2V0KFB0cmFjZUNvbm5lY3Rpb24qIGNvbm5lY3Rp b24pIHsKICAgICAgICAgICAgICAgIGRldmljZSA9PSAwICYmIGlub2RlID09IDAgJiYgbWFwcGlu Z19uYW1lID09ICJbdmRzb10iOworICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4NikKKyAgICAgICAg ICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtQcmVmaXhbXSA9ICJsaW51eC1nYXRlLnNvLiI7Cisr I2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NCkKKysgICAgICAgICAgc3RhdGljIGNvbnN0ZXhw ciBjaGFyIGtQcmVmaXhbXSA9ICJsaW51eC12ZHNvNjQuc28uIjsKKyAjZWxzZQogICAgICAgICAg ICBzdGF0aWMgY29uc3RleHByIGNoYXIga1ByZWZpeFtdID0gImxpbnV4LXZkc28uc28uIjsKLSsg ICAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtQcmVmaXg2NFtdID0gImxpbnV4LXZkc282 NC5zby4iOwotICAgICAgICAgICByZXR1cm4gaXNfdmRzb19tYXBwaW5nID09Ci0gICAgICAgICAg ICAgICAgICAobW9kdWxlX25hbWUuZW1wdHkoKSB8fAotLSAgICAgICAgICAgICAgICAgIG1vZHVs ZV9uYW1lLmNvbXBhcmUoMCwgc3RybGVuKGtQcmVmaXgpLCBrUHJlZml4KSA9PSAwKTsKLSsgICAg ICAgICAgICAgICAgICBtb2R1bGVfbmFtZS5jb21wYXJlKDAsIHN0cmxlbihrUHJlZml4KSwga1By ZWZpeCkgPT0gMCB8fAotKyAgICAgICAgICAgICAgICAgIG1vZHVsZV9uYW1lLmNvbXBhcmUoMCwg c3RybGVuKGtQcmVmaXg2NCksIGtQcmVmaXg2NCkgPT0gMCk7Ci0gICAgICAgICB9LAotICAgICAg ICAgbW9kdWxlX21hcHBpbmctPm5hbWUsCi0gICAgICAgICBtb2R1bGVfbWFwcGluZy0+ZGV2aWNl LAorICNlbmRpZgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguY2MgdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNjCi1p bmRleCBjZDQwYjNiMS4uNmJjZjIzYjYgMTAwNjQ0CitpbmRleCBjZDQwYjNiMTIuLjZiY2YyM2I2 ZiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC9leGNlcHRpb25fc25hcHNob3RfbGludXguY2MKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguY2MKIEBAIC0z MjMsNiArMzIzLDY5IEBAIGJvb2wgRXhjZXB0aW9uU25hcHNob3RMaW51eDo6UmVhZENvbnRleHQ8 Q29udGV4dFRyYWl0czY0PigKQEAgLTI0OTEsNyArMjQ4NSw3IEBAIGluZGV4IGNkNDBiM2IxLi42 YmNmMjNiNiAxMDA2NDQKICAKICBib29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6OkluaXRpYWxp emUoUHJvY2Vzc1JlYWRlckxpbnV4KiBwcm9jZXNzX3JlYWRlciwKIGRpZmYgLS1naXQgdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90 X2xpbnV4LmggdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhj ZXB0aW9uX3NuYXBzaG90X2xpbnV4LmgKLWluZGV4IGVhMGNkMjEwLi5lNDJkZjUyMCAxMDA2NDQK K2luZGV4IGVhMGNkMjEwNi4uZTQyZGY1MjBmIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5oCiAr KysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9u X3NuYXBzaG90X2xpbnV4LmgKIEBAIC04NCw2ICs4NCw4IEBAIGNsYXNzIEV4Y2VwdGlvblNuYXBz aG90TGludXggZmluYWwgOiBwdWJsaWMgRXhjZXB0aW9uU25hcHNob3QgewpAQCAtMjUwNCw3ICsy NDk4LDcgQEAgaW5kZXggZWEwY2QyMTAuLmU0MmRmNTIwIDEwMDY0NAogICAgfSBjb250ZXh0X3Vu aW9uXzsKICAgIENQVUNvbnRleHQgY29udGV4dF87CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eF90 ZXN0LmNjIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2Vw dGlvbl9zbmFwc2hvdF9saW51eF90ZXN0LmNjCi1pbmRleCBlNGZmMWFiNy4uMjU1MzRkZDAgMTAw NjQ0CitpbmRleCBjMTcxNzBiNDMuLmI2YTcxNGNjNiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXhf dGVzdC5jYwogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4 L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eF90ZXN0LmNjCiBAQCAtMjk2LDcgKzI5NiwyOCBAQCB2 b2lkIEV4cGVjdENvbnRleHQoY29uc3QgQ1BVQ29udGV4dCYgYWN0dWFsLCBjb25zdCBOYXRpdmVD UFVDb250ZXh0JiBleHBlY3RlZCkgewpAQCAtMjUzNyw3ICsyNTMxLDcgQEAgaW5kZXggZTRmZjFh YjcuLjI1NTM0ZGQwIDEwMDY0NAogICNlcnJvciBQb3J0LgogICNlbmRpZgogZGlmZiAtLWdpdCB0 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRl cl9saW51eC5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9w cm9jZXNzX3JlYWRlcl9saW51eC5jYwotaW5kZXggYjk2YWJmZTcuLmRmMTJjYTU2IDEwMDY0NAor aW5kZXggZWUyNDZlOGJjLi45NTU1ZGNlMDQgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXguY2MKICsrKyB0 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRl cl9saW51eC5jYwogQEAgLTEwOCw2ICsxMDgsOCBAQCB2b2lkIFByb2Nlc3NSZWFkZXJMaW51eDo6 VGhyZWFkOjpJbml0aWFsaXplU3RhY2soUHJvY2Vzc1JlYWRlckxpbnV4KiByZWFkZXIpIHsKQEAg LTI1NDksMjEgKzI1NDMsOCBAQCBpbmRleCBiOTZhYmZlNy4uZGYxMmNhNTYgMTAwNjQ0CiAgI2Vs c2UKICAjZXJyb3IgUG9ydC4KICAjZW5kaWYKLWRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXhfdGVzdC5jYyB0 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRl cl9saW51eF90ZXN0LmNjCi1pbmRleCA1YjU3MjM2MS4uMDQ5YzMyODUgMTAwNjQ0Ci0tLS0gdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJf bGludXhfdGVzdC5jYwotKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2xpbnV4L3Byb2Nlc3NfcmVhZGVyX2xpbnV4X3Rlc3QuY2MKLUBAIC02MTIsNiArNjEyLDggQEAg Ym9vbCBXcml0ZVRlc3RNb2R1bGUoY29uc3QgYmFzZTo6RmlsZVBhdGgmIG1vZHVsZV9wYXRoKSB7 Ci0gICBtb2R1bGUuZWhkci5lX21hY2hpbmUgPSBFTV9BQVJDSDY0OwotICNlbGlmIGRlZmluZWQo QVJDSF9DUFVfTUlQU0VMKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX01JUFM2NEVMKQotICAgbW9kdWxl LmVoZHIuZV9tYWNoaW5lID0gRU1fTUlQUzsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0 KQotKyAgbW9kdWxlLmVoZHIuZV9tYWNoaW5lID0gRU1fUFBDNjQ7Ci0gI2VuZGlmCi0gCi0gICBt b2R1bGUuZWhkci5lX3ZlcnNpb24gPSBFVl9DVVJSRU5UOwogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zaWduYWxfY29udGV4dC5oIHRoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgK LWluZGV4IDExMDAyNDY4Li44ZTMzNWEwOSAxMDA2NDQKK2luZGV4IDExMDAyNDY4MC4uYTFmMmRh MjU5IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xp bnV4L3NpZ25hbF9jb250ZXh0LmgKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9saW51eC9zaWduYWxfY29udGV4dC5oCiBAQCAtNDIyLDYgKzQyMiw4OSBAQCBzdGF0 aWNfYXNzZXJ0KG9mZnNldG9mKFVDb250ZXh0PENvbnRleHRUcmFpdHM2ND4sIG1jb250ZXh0LmZw cmVncykgPT0KQEAgLTI2NTcsMTAgKzI2MzgsMTAgQEAgaW5kZXggMTEwMDI0NjguLjhlMzM1YTA5 IDEwMDY0NAogICNlcnJvciBQb3J0LgogICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQog ZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9z eXN0ZW1fc25hcHNob3RfbGludXguY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvc3lzdGVtX3NuYXBzaG90X2xpbnV4LmNjCi1pbmRleCA4NTY0ZDNkNC4uYjY5 MGVjZDQgMTAwNjQ0CitpbmRleCBhOTlkYTNlNGIuLjAzYjk3MzA4MyAxMDA2NDQKIC0tLSB0aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3Rf bGludXguY2MKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKLUBAIC0yMDMsNiArMjAzLDggQEAgQ1BVQXJjaGl0 ZWN0dXJlIFN5c3RlbVNuYXBzaG90TGludXg6OkdldENQVUFyY2hpdGVjdHVyZSgpIGNvbnN0IHsK K0BAIC0yMDQsNiArMjA0LDggQEAgQ1BVQXJjaGl0ZWN0dXJlIFN5c3RlbVNuYXBzaG90TGludXg6 OkdldENQVUFyY2hpdGVjdHVyZSgpIGNvbnN0IHsKICAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01J UFNfRkFNSUxZKQogICAgcmV0dXJuIHByb2Nlc3NfcmVhZGVyXy0+SXM2NEJpdCgpID8ga0NQVUFy Y2hpdGVjdHVyZU1JUFM2NEVMCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OiBrQ1BVQXJjaGl0ZWN0dXJlTUlQU0VMOwpAQCAtMjY2OSw3ICsyNjUwLDcgQEAgaW5kZXggODU2 NGQzZDQuLmI2OTBlY2Q0IDEwMDY0NAogICNlbHNlCiAgI2Vycm9yIHBvcnQgdG8geW91ciBhcmNo aXRlY3R1cmUKICAjZW5kaWYKLUBAIC0yMTgsNiArMjIwLDkgQEAgdWludDMyX3QgU3lzdGVtU25h cHNob3RMaW51eDo6Q1BVUmV2aXNpb24oKSBjb25zdCB7CitAQCAtMjE5LDYgKzIyMSw5IEBAIHVp bnQzMl90IFN5c3RlbVNuYXBzaG90TGludXg6OkNQVVJldmlzaW9uKCkgY29uc3QgewogICNlbGlm IGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCiAgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBv biBNSVBTCiAgICByZXR1cm4gMDsKQEAgLTI2NzksNyArMjY2MCw3IEBAIGluZGV4IDg1NjRkM2Q0 Li5iNjkwZWNkNCAxMDA2NDQKICAjZWxzZQogICNlcnJvciBwb3J0IHRvIHlvdXIgYXJjaGl0ZWN0 dXJlCiAgI2VuZGlmCi1AQCAtMjM4LDYgKzI0Myw5IEBAIHN0ZDo6c3RyaW5nIFN5c3RlbVNuYXBz aG90TGludXg6OkNQVVZlbmRvcigpIGNvbnN0IHsKK0BAIC0yMzksNiArMjQ0LDkgQEAgc3RkOjpz dHJpbmcgU3lzdGVtU25hcHNob3RMaW51eDo6Q1BVVmVuZG9yKCkgY29uc3QgewogICNlbGlmIGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCiAgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBN SVBTCiAgICByZXR1cm4gc3RkOjpzdHJpbmcoKTsKQEAgLTI2ODksNyArMjY3MCw3IEBAIGluZGV4 IDg1NjRkM2Q0Li5iNjkwZWNkNCAxMDA2NDQKICAjZWxzZQogICNlcnJvciBwb3J0IHRvIHlvdXIg YXJjaGl0ZWN0dXJlCiAgI2VuZGlmCi1AQCAtMzcxLDYgKzM3OSw5IEBAIGJvb2wgU3lzdGVtU25h cHNob3RMaW51eDo6TlhFbmFibGVkKCkgY29uc3QgeworQEAgLTM3Miw2ICszODAsOSBAQCBib29s IFN5c3RlbVNuYXBzaG90TGludXg6Ok5YRW5hYmxlZCgpIGNvbnN0IHsKICAjZWxpZiBkZWZpbmVk KEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQogICAgLy8gTm90IGltcGxlbWVudGFibGUgb24gTUlQUwog ICAgcmV0dXJuIGZhbHNlOwpAQCAtMjY5OSw4ICsyNjgwLDIxIEBAIGluZGV4IDg1NjRkM2Q0Li5i NjkwZWNkNCAxMDA2NDQKICAjZWxzZQogICNlcnJvciBQb3J0LgogICNlbmRpZiAgLy8gQVJDSF9D UFVfWDg2X0ZBTUlMWQorZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMuY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvbGludXgvdGVzdF9tb2R1bGVzLmNjCitpbmRleCBiMjQ1MGMyMDYuLjdiYTc4 YjJhZSAxMDA2NDQKKy0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC90ZXN0X21vZHVsZXMuY2MKKysrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMuY2MKK0BAIC0xMTAsNiArMTEwLDggQEAgYm9vbCBX cml0ZVRlc3RNb2R1bGUoY29uc3QgYmFzZTo6RmlsZVBhdGgmIG1vZHVsZV9wYXRoLAorICAgbW9k dWxlLmVoZHIuZV9tYWNoaW5lID0gRU1fQUFSQ0g2NDsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BV X01JUFNFTCkgfHwgZGVmaW5lZChBUkNIX0NQVV9NSVBTNjRFTCkKKyAgIG1vZHVsZS5laGRyLmVf bWFjaGluZSA9IEVNX01JUFM7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NCkKKysgIG1v ZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX1BQQzY0OworICNlbmRpZgorIAorICAgbW9kdWxlLmVo ZHIuZV92ZXJzaW9uID0gRVZfQ1VSUkVOVDsKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmNjIHRoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9s aW51eC5jYwotaW5kZXggZTNlMmJlYmQuLjhlZjQzNzUyIDEwMDY0NAoraW5kZXggZTNlMmJlYmRk Li44ZWY0Mzc1MmUgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmNjCiArKysgdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmNjCiBA QCAtMTg2LDYgKzE4NiwxNCBAQCBib29sIFRocmVhZFNuYXBzaG90TGludXg6OkluaXRpYWxpemUo UHJvY2Vzc1JlYWRlckxpbnV4KiBwcm9jZXNzX3JlYWRlciwKQEAgLTI3MTksNyArMjcxMyw3IEBA IGluZGV4IGUzZTJiZWJkLi44ZWY0Mzc1MiAxMDA2NDQKICAjZXJyb3IgUG9ydC4KICAjZW5kaWYK IGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgv dGhyZWFkX3NuYXBzaG90X2xpbnV4LmggdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmgKLWluZGV4IDQ0Y2M2ZjZkLi5kNDEz NjQ2MSAxMDA2NDQKK2luZGV4IDQ0Y2M2ZjZkOS4uZDQxMzY0NjFlIDEwMDY0NAogLS0tIHRoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9s aW51eC5oCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgv dGhyZWFkX3NuYXBzaG90X2xpbnV4LmgKIEBAIC02OCw2ICs2OCw4IEBAIGNsYXNzIFRocmVhZFNu YXBzaG90TGludXggZmluYWwgOiBwdWJsaWMgVGhyZWFkU25hcHNob3QgewpAQCAtMjczMiw3ICsy NzI2LDcgQEAgaW5kZXggNDRjYzZmNmQuLmQ0MTM2NDYxIDEwMDY0NAogICNlcnJvciBQb3J0Lgog ICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MgdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9hdXhpbGlhcnlfdmVjdG9yLmNjCi1pbmRl eCBkM2Q1ZWJkZi4uM2ZkNzMwY2IgMTAwNjQ0CitpbmRleCBkM2Q1ZWJkZmIuLjNmZDczMGNiNSAx MDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1eGls aWFyeV92ZWN0b3IuY2MKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xp bnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MKIEBAIC01Niw2ICs1NiwxMSBAQCBib29sIEF1eGlsaWFy eVZlY3Rvcjo6UmVhZChQdHJhY2VDb25uZWN0aW9uKiBjb25uZWN0aW9uKSB7CkBAIC0yNzQ3LDIz ICsyNzQxLDggQEAgaW5kZXggZDNkNWViZGYuLjNmZDczMGNiIDEwMDY0NAogICAgICBpZiAoIU1h cEluc2VydE9yUmVwbGFjZSgmdmFsdWVzXywgdHlwZSwgdmFsdWUsIG51bGxwdHIpKSB7CiAgICAg ICAgTE9HKEVSUk9SKSA8PCAiZHVwbGljYXRlIGF1eHYgZW50cnkiOwogICAgICAgIHJldHVybiBm YWxzZTsKLWRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51 eC9wdHJhY2VfYnJva2VyLmNjIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGlu dXgvcHRyYWNlX2Jyb2tlci5jYwotaW5kZXggMTU1YTFlMGMuLjVlNTBjZWI1IDEwMDY0NAotLS0t IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvcHRyYWNlX2Jyb2tlci5j YwotKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvcHRyYWNlX2Jy b2tlci5jYwotQEAgLTk0LDggKzk0LDggQEAgaW50IFB0cmFjZUJyb2tlcjo6UnVuKCkgewotIH0K LSAKLSBib29sIFB0cmFjZUJyb2tlcjo6QWxsb2NhdGVBdHRhY2htZW50cygpIHsKLS0gIGNvbnN0 ZXhwciBzaXplX3QgcGFnZV9zaXplID0gNDA5NjsKLS0gIGNvbnN0ZXhwciBzaXplX3QgYWxsb2Nf c2l6ZSA9Ci0rICBzdGF0aWMgc2l6ZV90IHBhZ2Vfc2l6ZSA9IGdldHBhZ2VzaXplKCk7Ci0rICBz aXplX3QgYWxsb2Nfc2l6ZSA9Ci0gICAgICAgKHNpemVvZihTY29wZWRQdHJhY2VBdHRhY2gpICsg cGFnZV9zaXplIC0gMSkgJiB+KHBhZ2Vfc2l6ZSAtIDEpOwotICAgdm9pZCogYWxsb2MgPSBzYnJr KGFsbG9jX3NpemUpOwotICAgaWYgKHJlaW50ZXJwcmV0X2Nhc3Q8aW50cHRyX3Q+KGFsbG9jKSA9 PSAtMSkgewogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xp bnV4L3B0cmFjZXIuY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9w dHJhY2VyLmNjCi1pbmRleCA1NTdlMGQzNi4uMDhhZTQzNGIgMTAwNjQ0CitpbmRleCA1NTdlMGQz NjMuLjA4YWU0MzRiOCAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91 dGlsL2xpbnV4L3B0cmFjZXIuY2MKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91 dGlsL2xpbnV4L3B0cmFjZXIuY2MKIEBAIC0zOTgsNiArMzk4LDY0IEBAIGJvb2wgR2V0VGhyZWFk QXJlYTY0KHBpZF90IHRpZCwKQEAgLTI4NDIsNyArMjgyMSw3IEBAIGluZGV4IDU1N2UwZDM2Li4w OGFlNDM0YiAxMDA2NDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLT50aHJlYWRf Y29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW5mby0+dGhyZWFkX3NwZWNp ZmljX2RhdGFfYWRkcmVzcywKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAotaW5kZXggNWI1NWMyNGEuLmRlYTBkMWYzIDEwMDY0 NAoraW5kZXggNWI1NWMyNGE3Li5kZWEwZDFmMzkgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oCiArKysgdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oCiBAQCAtMjgsNiArMjgs MTAgQEAKQEAgLTI5NjQsMTAgKzI5NDMsMTAgQEAgaW5kZXggNWI1NWMyNGEuLmRlYTBkMWYzIDEw MDY0NAogICAgTGludXhWTUFkZHJlc3MgdGhyZWFkX3NwZWNpZmljX2RhdGFfYWRkcmVzczsKICB9 OwogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2Fw dHVyZV9jb250ZXh0LmggdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2Nh cHR1cmVfY29udGV4dC5oCi1pbmRleCAzZmY3MTE4NC4uM2U4MmY0YjkgMTAwNjQ0CitpbmRleCBk MjFhMjRmMTkuLmFjYzMyNTM0OSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0LmgKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0LmgKLUBAIC02OCw2ICs2OCw3IEBA IHVzaW5nIE5hdGl2ZUNQVUNvbnRleHQgPSB1Y29udGV4dF90OworQEAgLTY5LDYgKzY5LDcgQEAg dXNpbmcgTmF0aXZlQ1BVQ29udGV4dCA9IHVjb250ZXh0X3Q7CiAgLy8hICAgICBtYWNPUy9MaW51 eC9GdWNoc2lhIHwgeDg2XzY0ICAgICAgIHwgYCUlcmRpYAogIC8vISAgICAgTGludXggICAgICAg ICAgICAgICB8IEFSTS9BUk02NCAgICB8IGByMGAvYHgwYAogIC8vISAgICAgTGludXggICAgICAg ICAgICAgICB8IE1JUFMvTUlQUzY0ICB8IGAkYTBgCkBAIC0yOTc2LDcgKzI5NTUsNyBAQCBpbmRl eCAzZmY3MTE4NC4uM2U4MmY0YjkgMTAwNjQ0CiAgLy8hICAgICBBZGRpdGlvbmFsbHksIHRoZSB2 YWx1ZSBgTFJgIG9uIEFSTS9BUk02NCB3aWxsIGJlIHRoZSByZXR1cm4gYWRkcmVzcyBvZgogIC8v ISAgICAgdGhpcyBmdW5jdGlvbi4KIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF9saW51eC5TIHRoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfbGludXguUwotaW5kZXggNTIy MTVlZTUuLmIzZTRhM2VjIDEwMDY0NAoraW5kZXggNTIyMTVlZTVkLi5iM2U0YTNlYzcgMTAwNjQ0 CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29u dGV4dF9saW51eC5TCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNj L2NhcHR1cmVfY29udGV4dF9saW51eC5TCiBAQCAtMzIsNyArMzIsNyBAQApAQCAtMzIwNCw3ICsz MTgzLDcgQEAgaW5kZXggNTIyMTVlZTUuLmIzZTRhM2VjIDEwMDY0NAogKyAgYmxyCiAgI2VuZGlm ICAvLyBfX2kzODZfXwogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91 dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3QuY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF90ZXN0LmNjCi1pbmRleCBjZjIzYzJkZS4u NWYyNjRiYzkgMTAwNjQ0CitpbmRleCBjZjIzYzJkZWYuLjVmMjY0YmM5MiAxMDA2NDQKIC0tLSB0 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rl c3QuY2MKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVy ZV9jb250ZXh0X3Rlc3QuY2MKIEBAIC01Nyw3ICs1Nyw3IEBAIHZvaWQgVGVzdENhcHR1cmVDb250 ZXh0KCkgewpAQCAtMzIxNywxMCArMzE5NiwxMCBAQCBpbmRleCBjZjIzYzJkZS4uNWYyNjRiYzkg MTAwNjQ0CiAgICAvLyBsaWtlbHkgZmFpbC4KICAgIGNvbnN0IHVpbnRwdHJfdCBrUmVmZXJlbmNl UEMgPQogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2Mv Y2FwdHVyZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51eC5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51eC5jYwotaW5k ZXggOWZjNWRiMjguLjVmNjlmOGRjIDEwMDY0NAoraW5kZXggMzBhMmFiMjFkLi42MDUwOWYyMWQg MTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1 cmVfY29udGV4dF90ZXN0X3V0aWxfbGludXguY2MKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51eC5jYwotQEAg LTM2LDYgKzM2LDggQEAgdm9pZCBTYW5pdHlDaGVja0NvbnRleHQoY29uc3QgTmF0aXZlQ1BVQ29u dGV4dCYgY29udGV4dCkgeworQEAgLTM1LDYgKzM1LDggQEAgdm9pZCBTYW5pdHlDaGVja0NvbnRl eHQoY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgY29udGV4dCkgewogICAgRVhQRUNUX0VRKGNvbnRl eHQudWNfbWNvbnRleHQucmVnc1swXSwgRnJvbVBvaW50ZXJDYXN0PHVpbnRwdHJfdD4oJmNvbnRl eHQpKTsKICAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQogICAgRVhQRUNUX0VR KGNvbnRleHQudWNfbWNvbnRleHQuZ3JlZ3NbNF0sIEZyb21Qb2ludGVyQ2FzdDx1aW50cHRyX3Q+ KCZjb250ZXh0KSk7CkBAIC0zMjI5LDcgKzMyMDgsNyBAQCBpbmRleCA5ZmM1ZGIyOC4uNWY2OWY4 ZGMgMTAwNjQ0CiAgI2VuZGlmCiAgfQogIAotQEAgLTUwLDYgKzUyLDggQEAgdWludHB0cl90IFBy b2dyYW1Db3VudGVyRnJvbUNvbnRleHQoY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgY29udGV4dCkg eworQEAgLTQ5LDYgKzUxLDggQEAgdWludHB0cl90IFByb2dyYW1Db3VudGVyRnJvbUNvbnRleHQo Y29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgY29udGV4dCkgewogICAgcmV0dXJuIGNvbnRleHQudWNf bWNvbnRleHQucGM7CiAgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKICAgIHJl dHVybiBjb250ZXh0LnVjX21jb250ZXh0LnBjOwpAQCAtMzIzOCw3ICszMjE3LDcgQEAgaW5kZXgg OWZjNWRiMjguLjVmNjlmOGRjIDEwMDY0NAogICNlbmRpZgogIH0KICAKLUBAIC02NCw2ICs2OCw4 IEBAIHVpbnRwdHJfdCBTdGFja1BvaW50ZXJGcm9tQ29udGV4dChjb25zdCBOYXRpdmVDUFVDb250 ZXh0JiBjb250ZXh0KSB7CitAQCAtNjMsNiArNjcsOCBAQCB1aW50cHRyX3QgU3RhY2tQb2ludGVy RnJvbUNvbnRleHQoY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgY29udGV4dCkgewogICAgcmV0dXJu IGNvbnRleHQudWNfbWNvbnRleHQuc3A7CiAgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZB TUlMWSkKICAgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0LmdyZWdzWzI5XTsKQEAgLTMyNDgs MTAgKzMyMjcsMTAgQEAgaW5kZXggOWZjNWRiMjguLjVmNjlmOGRjIDEwMDY0NAogIH0KICAKIGRp ZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9wb3NpeC9zaWduYWxz X3Rlc3QuY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9wb3NpeC9zaWduYWxz X3Rlc3QuY2MKLWluZGV4IDU4YmZhOGY4Li44ZmMzN2M0NiAxMDA2NDQKLS0tLSB0aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL3Bvc2l4L3NpZ25hbHNfdGVzdC5jYy5vcmlnCTIwMjAt MTEtMTcgMTM6Mzk6NDcuMDAwMDAwMDAwIC0wNTAwCi0rKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvdXRpbC9wb3NpeC9zaWduYWxzX3Rlc3QuY2MJMjAyMC0xMS0xOCAyMTowNjozMy40 MzM0MDg2MjMgLTA1MDAKLUBAIC00Niw5ICs0Niw5IEBACitpbmRleCA1NGNjMmYxOWYuLjI5OGI1 Yzk5MyAxMDA2NDQKKy0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL3Bvc2l4 L3NpZ25hbHNfdGVzdC5jYworKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwv cG9zaXgvc2lnbmFsc190ZXN0LmNjCitAQCAtNDYsOSArNDYsOSBAQCBib29sIENhbkNhdXNlU2ln bmFsKGludCBzaWcpIHsKICAgIHJldHVybiBzaWcgPT0gU0lHQUJSVCB8fAogICAgICAgICAgIHNp ZyA9PSBTSUdBTFJNIHx8CiAgICAgICAgICAgc2lnID09IFNJR0JVUyB8fApAQCAtMzI2Myw3ICsz MjQyLDcgQEAgaW5kZXggNThiZmE4ZjguLjhmYzM3YzQ2IDEwMDY0NAogICNpZiBkZWZpbmVkKEFS Q0hfQ1BVX1g4Nl9GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNRUwpCiAgICAgICAgICAg c2lnID09IFNJR0lMTCB8fAogICNlbmRpZiAgLy8gZGVmaW5lZChBUkNIX0NQVV9YODZfRkFNSUxZ KSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTUVMKQotQEAgLTExNyw5ICsxMTcsMTEgQEAKK0BAIC0x MTcsOSArMTE3LDExIEBAIHZvaWQgQ2F1c2VTaWduYWwoaW50IHNpZykgewogICAgICAgIGJyZWFr OwogICAgICB9CiAgCkBAIC0zMjc2LDcgKzMyNTUsNyBAQCBpbmRleCA1OGJmYThmOC4uOGZjMzdj NDYgMTAwNjQ0CiAgICAgIGNhc2UgU0lHRlBFOiB7CiAgICAgICAgLy8gT3B0aW1pemF0aW9uIG1h a2VzIHRoaXMgdHJpY2t5LCBzbyBnZXQgemVybyBmcm9tIGEgc3lzdGVtIGNhbGwgbGlrZWx5CiAg ICAgICAgLy8gdG8gc3VjY2VlZCwgYW5kIHRyeSB0byBkbyBzb21ldGhpbmcgd2l0aCB0aGUgcmVz dWx0LgotQEAgLTEzNyw3ICsxMzksNyBAQAorQEAgLTEzNyw3ICsxMzksNyBAQCB2b2lkIENhdXNl U2lnbmFsKGludCBzaWcpIHsKICAgICAgICBmc3RhdChxdW90aWVudCwgJnN0YXRfYnVmKTsKICAg ICAgICBicmVhazsKICAgICAgfQpAQCAtMzI4NiwxMCArMzI2NSwxMCBAQCBpbmRleCA1OGJmYThm OC4uOGZjMzdjNDYgMTAwNjQ0CiAgI2lmIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkgfHwg ZGVmaW5lZChBUkNIX0NQVV9BUk1FTCkKICAgICAgY2FzZSBTSUdJTEw6IHsKIGRpZmYgLS1naXQg dGhpcmRfcGFydHkvZGF2MWQvQlVJTEQuZ24gdGhpcmRfcGFydHkvZGF2MWQvQlVJTEQuZ24KLWlu ZGV4IDc4OGRjNmNmLi41ZmQ3ZThmZCAxMDA2NDQKK2luZGV4IDZiNDU2NmZjMy4uYzA3ZjczMmFk IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2RhdjFkL0JVSUxELmduCiArKysgdGhpcmRfcGFydHkv ZGF2MWQvQlVJTEQuZ24KLUBAIC0xODIsNiArMTgyLDggQEAgc3RhdGljX2xpYnJhcnkoImRhdjFk XzhiaXQiKSB7CitAQCAtMTg0LDYgKzE4NCw4IEBAIHN0YXRpY19saWJyYXJ5KCJkYXYxZF84Yml0 IikgewogICAgICBzb3VyY2VzICs9IGFybV90ZW1wbGF0ZV9zb3VyY2VzCiAgICB9IGVsc2UgaWYg KGN1cnJlbnRfY3B1ID09ICJhcm02NCIpIHsKICAgICAgc291cmNlcyArPSBhcm1fdGVtcGxhdGVf c291cmNlcwpAQCAtMzI5OCw3ICszMjc3LDcgQEAgaW5kZXggNzg4ZGM2Y2YuLjVmZDdlOGZkIDEw MDY0NAogICAgfQogIAogICAgY2ZsYWdzID0gZGF2MWRfY29wdHMKLUBAIC0yMTAsNiArMjEyLDgg QEAgc3RhdGljX2xpYnJhcnkoImRhdjFkXzEwYml0IikgeworQEAgLTIxMiw2ICsyMTQsOCBAQCBz dGF0aWNfbGlicmFyeSgiZGF2MWRfMTBiaXQiKSB7CiAgICAgIHNvdXJjZXMgKz0gYXJtX3RlbXBs YXRlX3NvdXJjZXMKICAgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gImFybTY0IikgewogICAg ICBzb3VyY2VzICs9IGFybV90ZW1wbGF0ZV9zb3VyY2VzCkBAIC0zMzA3LDkgKzMyODYsOSBAQCBp bmRleCA3ODhkYzZjZi4uNWZkN2U4ZmQgMTAwNjQ0CiAgICB9CiAgCiAgICBjZmxhZ3MgPSBkYXYx ZF9jb3B0cwotQEAgLTI1Niw2ICsyNjAsMjEgQEAgaWYgKGN1cnJlbnRfY3B1ID09ICJ4ODYiIHx8 IGN1cnJlbnRfY3B1ID09ICJ4NjQiKSB7Ci0gICAgICAgIjpkYXYxZF9jb25maWciLAotICAgICBd CitAQCAtMjYzLDYgKzI2NywyMSBAQCBpZiAoY3VycmVudF9jcHUgPT0gIng4NiIgfHwgY3VycmVu dF9jcHUgPT0gIng2NCIpIHsKKyAgICAgICBkZWZpbmVzID0gWyAiUFJFRklYIiBdCisgICAgIH0K ICAKICsgICAgY2ZsYWdzID0gZGF2MWRfY29wdHMKICsgIH0KQEAgLTMzMjksNyArMzMwOCw3IEBA IGluZGV4IDc4OGRjNmNmLi41ZmQ3ZThmZCAxMDA2NDQKICAgICAgY2ZsYWdzID0gZGF2MWRfY29w dHMKICAgIH0KICB9Ci1AQCAtMjg1LDUgKzMwNCw3IEBAIHN0YXRpY19saWJyYXJ5KCJkYXYxZCIp IHsKK0BAIC0yOTIsNSArMzExLDcgQEAgc3RhdGljX2xpYnJhcnkoImRhdjFkIikgewogICAgICB9 CiAgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJhcm0iIHx8IGN1cnJlbnRfY3B1ID09ICJh cm02NCIpIHsKICAgICAgZGVwcyArPSBbICI6ZGF2MWRfYXJtIiBdCkBAIC0zMzM5LDcgKzMzMTgs NyBAQCBpbmRleCA3ODhkYzZjZi4uNWZkN2U4ZmQgMTAwNjQ0CiAgfQogZGlmZiAtLWdpdCB0aGly ZF9wYXJ0eS9kYXYxZC9jb25maWcvbGludXgvcHBjNjQvY29uZmlnLmggdGhpcmRfcGFydHkvZGF2 MWQvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZpZy5oCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5k ZXggMDAwMDAwMDAuLmY2Y2E1N2Y3CitpbmRleCAwMDAwMDAwMDAuLjlmYmJmNzVjYwogLS0tIC9k ZXYvbnVsbAogKysrIHRoaXJkX3BhcnR5L2RhdjFkL2NvbmZpZy9saW51eC9wcGM2NC9jb25maWcu aAogQEAgLTAsMCArMSwzOSBAQApAQCAtMzM4MywxMCArMzM2MiwxMCBAQCBpbmRleCAwMDAwMDAw MC4uZjZjYTU3ZjcKICsjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQogKwogZGlmZiAtLWdpdCB0aGly ZF9wYXJ0eS9kYXYxZC9kYXYxZF9nZW5lcmF0ZWQuZ25pIHRoaXJkX3BhcnR5L2RhdjFkL2RhdjFk X2dlbmVyYXRlZC5nbmkKLWluZGV4IDhiZWNhYzAyLi5kNWY0ZmNhYyAxMDA2NDQKK2luZGV4IGM1 OWNiMDgyMS4uMzA2MDI4NGE4IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2RhdjFkL2RhdjFkX2dl bmVyYXRlZC5nbmkKICsrKyB0aGlyZF9wYXJ0eS9kYXYxZC9kYXYxZF9nZW5lcmF0ZWQuZ25pCi1A QCAtNzEsNiArNzEsMTEgQEAgYXJtX3RlbXBsYXRlX3NvdXJjZXMgPSBbCitAQCAtODIsNiArODIs MTEgQEAgYXJtX3RlbXBsYXRlX3NvdXJjZXMgPSBbCiAgICAibGliZGF2MWQvc3JjL2FybS9tY19p bml0X3RtcGwuYyIsCiAgXQogIApAQCAtMzM5OSw3ICszMzc4LDcgQEAgaW5kZXggOGJlY2FjMDIu LmQ1ZjRmY2FjIDEwMDY0NAogICAgImxpYmRhdjFkL3NyYy9jZGVmX2FwcGx5X3RtcGwuYyIsCiAg ICAibGliZGF2MWQvc3JjL2NkZWZfdG1wbC5jIiwKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvZGF2 MWQvZ2VuZXJhdGVfc291cmNlLnB5IHRoaXJkX3BhcnR5L2RhdjFkL2dlbmVyYXRlX3NvdXJjZS5w eQotaW5kZXggOWFiNWUwMGIuLmFkM2ZlZmZlIDEwMDc1NQoraW5kZXggOWFiNWUwMGI4Li5hZDNm ZWZmZWUgMTAwNzU1CiAtLS0gdGhpcmRfcGFydHkvZGF2MWQvZ2VuZXJhdGVfc291cmNlLnB5CiAr KysgdGhpcmRfcGFydHkvZGF2MWQvZ2VuZXJhdGVfc291cmNlLnB5CiBAQCAtNTAsNyArNTAsOCBA QCBkZWYgV3JpdGVHbihmZCk6CkBAIC0zNDEzLDcgKzMzOTIsNyBAQCBpbmRleCA5YWI1ZTAwYi4u YWQzZmVmZmUgMTAwNzU1CiAgICBXcml0ZUFycmF5KGZkLCAidGVtcGxhdGVfc291cmNlcyIsIHRl bXBsYXRlX3NvdXJjZXMpCiAgCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2RhdjFkL2xpYmRhdjFk L3NyYy9wcGMvdHlwZXMuaCB0aGlyZF9wYXJ0eS9kYXYxZC9saWJkYXYxZC9zcmMvcHBjL3R5cGVz LmgKLWluZGV4IDBiNGJkNzJmLi5hMGNhYTVlNyAxMDA2NDQKK2luZGV4IDBiNGJkNzJmMC4uYTBj YWE1ZTcxIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2RhdjFkL2xpYmRhdjFkL3NyYy9wcGMvdHlw ZXMuaAogKysrIHRoaXJkX3BhcnR5L2RhdjFkL2xpYmRhdjFkL3NyYy9wcGMvdHlwZXMuaAogQEAg LTUxLDQgKzUxLDE5IEBACkBAIC0zNDM3LDEwICszNDE2LDEwIEBAIGluZGV4IDBiNGJkNzJmLi5h MGNhYTVlNyAxMDA2NDQKICsKICAjZW5kaWYgLyogREFWMURfU1JDX1BQQ19UWVBFU19IICovCiBk aWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaCB0aGlyZF9w YXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKLWluZGV4IGQyYmFlZTlkLi45OTU1Y2U0 NCAxMDA2NDQKK2luZGV4IGU0YWMyMjY0NC4uMWM1NzAxNWRiIDEwMDY0NAogLS0tIHRoaXJkX3Bh cnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAogKysrIHRoaXJkX3BhcnR5L2xzcy9saW51 eF9zeXNjYWxsX3N1cHBvcnQuaAotQEAgLTM5MjIsNyArMzkyMiw3IEBAIHN0cnVjdCBrZXJuZWxf c3RhdGZzIHsKK0BAIC0zOTQ3LDcgKzM5NDcsNyBAQCBzdHJ1Y3Qga2VybmVsX3N0YXRmcyB7CiAg ICAgICAgTFNTX1JFRygyLCBidWYpOwogICAgICAgIExTU19CT0RZKHZvaWQqLCBtbWFwMiwgIjAi KF9fcjIpKTsKICAgICAgfQpAQCAtMzQ0OSw3ICszNDI4LDcgQEAgaW5kZXggZDJiYWVlOWQuLjk5 NTVjZTQ0IDEwMDY0NAogICAgICAjZGVmaW5lIF9fTlJfX21tYXAyIF9fTlJfbW1hcDIKICAgICAg TFNTX0lOTElORSBfc3lzY2FsbDYodm9pZCosIF9tbWFwMiwgICAgICAgICAgICB2b2lkKiwgcywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90LCAgICAgICAgICAgICAgICAgICBsLCBp bnQsICAgICAgICAgICAgICAgcCwKLUBAIC00MDMzLDcgKzQwMzMsNyBAQCBzdHJ1Y3Qga2VybmVs X3N0YXRmcyB7CitAQCAtNDA1OCw3ICs0MDU4LDcgQEAgc3RydWN0IGtlcm5lbF9zdGF0ZnMgewog ICAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICBkZWZpbmVkKF9fQVJNX0FSQ0hfM19fKSB8 fCBkZWZpbmVkKF9fQVJNX0VBQklfXykgfHwgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAo ZGVmaW5lZChfX21pcHNfXykgJiYgX01JUFNfU0lNID09IF9NSVBTX1NJTV9BQkkzMikgfHwgICAg ICAgICAgICAgICAgICAgXApAQCAtMzQ3MSwxMCArMzQ1MCwxMCBAQCBpbmRleCBiZGFjNGQ3ODQu LjUxZTBmMmNhYyAxMDA2NDQKICAjICBkZWZpbmUgU0lNRF9TWiA0CiAgIyAgZGVmaW5lIFZaRVJP KCkgKCh2ZWN0b3IgZmxvYXQpIHZlY19zcGxhdF91OCgwKSkKIGRpZmYgLS1naXQgdGhpcmRfcGFy dHkvc2tpYS9zcmMvc2tzbC9Ta1NMU3RyaW5nLmNwcCB0aGlyZF9wYXJ0eS9za2lhL3NyYy9za3Ns L1NrU0xTdHJpbmcuY3BwCi1pbmRleCA4OGViMWM3ZC4uNGJlMzNmYTUgMTAwNjQ0CitpbmRleCBl YzNlNTY5NjQuLjRjZjg5OTlhMiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9za2lhL3NyYy9za3Ns L1NrU0xTdHJpbmcuY3BwCiArKysgdGhpcmRfcGFydHkvc2tpYS9zcmMvc2tzbC9Ta1NMU3RyaW5n LmNwcAotQEAgLTI0MCw3ICsyNDAsMTIgQEAgU3RyaW5nIHRvX3N0cmluZyhkb3VibGUgdmFsdWUp IHsKK0BAIC0yMzQsNyArMjM0LDEyIEBAIFN0cmluZyB0b19zdHJpbmcoZG91YmxlIHZhbHVlKSB7 CiAgICAgIGlmIChuZWVkc0RvdFplcm8pIHsKICAgICAgICAgIGJ1ZmZlciA8PCAiLjAiOwogICAg ICB9CkBAIC0zNDg3LDEyICszNDY2LDEyIEBAIGluZGV4IDg4ZWIxYzdkLi40YmUzM2ZhNSAxMDA2 NDQKICsgICAgcmV0dXJuIFN0cmluZyhyZXQuY19zdHIoKSk7CiAgfQogIAotIFNLU0xfSU5UIHN0 b2koY29uc3QgU3RyaW5nJiBzKSB7CisgYm9vbCBzdG9kKGNvbnN0IFN0cmluZ0ZyYWdtZW50JiBz LCBTS1NMX0ZMT0FUKiB2YWx1ZSkgewogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9zcWxpdGUvc3Jj L2FtYWxnYW1hdGlvbi9zcWxpdGUzLmMgdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9hbWFsZ2FtYXRp b24vc3FsaXRlMy5jCi1pbmRleCAxYjJjMmVjNy4uNzU5M2RiYTEgMTAwNjQ0CitpbmRleCA2YjRh Nzg5OWQuLmI4YzdmZTQxNCAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxn YW1hdGlvbi9zcWxpdGUzLmMKICsrKyB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlv bi9zcWxpdGUzLmMKLUBAIC0xNDQwMCw3ICsxNDQwMCw4IEBAIHR5cGVkZWYgSU5UMTZfVFlQRSBM b2dFc3Q7CitAQCAtMTQ0NzQsNyArMTQ0NzQsOCBAQCB0eXBlZGVmIElOVDE2X1RZUEUgTG9nRXN0 OwogICMgaWYgZGVmaW5lZChpMzg2KSAgICAgIHx8IGRlZmluZWQoX19pMzg2X18pICAgICAgfHwg ZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCiAgICAgICBkZWZpbmVkKF9feDg2XzY0KSAgfHwgZGVm aW5lZChfX3g4Nl82NF9fKSAgICB8fCBkZWZpbmVkKF9NX1g2NCkgIHx8ICAgIFwKICAgICAgIGRl ZmluZWQoX01fQU1ENjQpICB8fCBkZWZpbmVkKF9NX0FSTSkgICAgICAgIHx8IGRlZmluZWQoX194 ODYpICAgfHwgICAgXApAQCAtMzUwMywxMCArMzQ4MiwxMCBAQCBpbmRleCAxYjJjMmVjNy4uNzU5 M2RiYTEgMTAwNjQ0CiAgIyBlbGlmIGRlZmluZWQoc3BhcmMpICAgICB8fCBkZWZpbmVkKF9fcHBj X18pIHx8IFwKICAgICAgICAgZGVmaW5lZChfX0FSTUVCX18pIHx8IGRlZmluZWQoX19BQVJDSDY0 RUJfXykKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9hbWFsZ2FtYXRpb25fZGV2 L3NxbGl0ZTMuYyB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbl9kZXYvc3FsaXRl My5jCi1pbmRleCAxOWM4NzY4OS4uYzdhYjAzOWUgMTAwNjQ0CitpbmRleCBkMzBjOWI3ZGUuLmNm NzVhNjlkOSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbl9k ZXYvc3FsaXRlMy5jCiArKysgdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9hbWFsZ2FtYXRpb25fZGV2 L3NxbGl0ZTMuYwotQEAgLTE0NDEzLDcgKzE0NDEzLDggQEAgdHlwZWRlZiBJTlQxNl9UWVBFIExv Z0VzdDsKK0BAIC0xNDQ4Nyw3ICsxNDQ4Nyw4IEBAIHR5cGVkZWYgSU5UMTZfVFlQRSBMb2dFc3Q7 CiAgIyBpZiBkZWZpbmVkKGkzODYpICAgICAgfHwgZGVmaW5lZChfX2kzODZfXykgICAgICB8fCBk ZWZpbmVkKF9NX0lYODYpIHx8ICAgIFwKICAgICAgIGRlZmluZWQoX194ODZfNjQpICB8fCBkZWZp bmVkKF9feDg2XzY0X18pICAgIHx8IGRlZmluZWQoX01fWDY0KSAgfHwgICAgXAogICAgICAgZGVm aW5lZChfTV9BTUQ2NCkgIHx8IGRlZmluZWQoX01fQVJNKSAgICAgICAgfHwgZGVmaW5lZChfX3g4 NikgICB8fCAgICBcCkBAIC0zNTE3LDEwICszNDk2LDEwIEBAIGluZGV4IDE5Yzg3Njg5Li5jN2Fi MDM5ZSAxMDA2NDQKICAjIGVsaWYgZGVmaW5lZChzcGFyYykgICAgIHx8IGRlZmluZWQoX19wcGNf XykgfHwgXAogICAgICAgICBkZWZpbmVkKF9fQVJNRUJfXykgfHwgZGVmaW5lZChfX0FBUkNINjRF Ql9fKQogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2V4dC9ydHJlZS9ydHJlZS5j IHRoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvZXh0L3J0cmVlL3J0cmVlLmMKLWluZGV4IGVmYWVmODEz Li40Y2Q1N2Q1NSAxMDA2NDQKK2luZGV4IGY1YjU3YTVlMi4uODBhMmQwYWQ4IDEwMDY0NAogLS0t IHRoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvZXh0L3J0cmVlL3J0cmVlLmMKICsrKyB0aGlyZF9wYXJ0 eS9zcWxpdGUvc3JjL2V4dC9ydHJlZS9ydHJlZS5jCi1AQCAtNDMyLDcgKzQzMiw3IEBAIHN0cnVj dCBSdHJlZU1hdGNoQXJnIHsKK0BAIC00NTAsNyArNDUwLDcgQEAgc3RydWN0IFJ0cmVlTWF0Y2hB cmcgewogICNpZiBkZWZpbmVkKGkzODYpICAgICB8fCBkZWZpbmVkKF9faTM4Nl9fKSAgIHx8IGRl ZmluZWQoX01fSVg4NikgfHwgICAgXAogICAgICBkZWZpbmVkKF9feDg2XzY0KSB8fCBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX01fWDY0KSAgfHwgICAgXAogICAgICBkZWZpbmVkKF9N X0FNRDY0KSB8fCBkZWZpbmVkKF9NX0FSTSkgICAgIHx8IGRlZmluZWQoX194ODYpICAgfHwgICAg XApAQCAtMzUzMCwxMCArMzUwOSwxMCBAQCBpbmRleCBlZmFlZjgxMy4uNGNkNTdkNTUgMTAwNjQ0 CiAgI2VsaWYgZGVmaW5lZChzcGFyYykgICAgfHwgZGVmaW5lZChfX3BwY19fKQogICMgZGVmaW5l IFNRTElURV9CWVRFT1JERVIgICAgNDMyMQogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9zcWxpdGUv c3JjL3NyYy9zcWxpdGVJbnQuaCB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL3NyYy9zcWxpdGVJbnQu aAotaW5kZXggMTIyZTI2YWQuLmVjMjFkY2I1IDEwMDY0NAoraW5kZXggMjQ1MDcwZDRmLi5iMjUx NjRlOTUgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9zcmMvc3FsaXRlSW50LmgK ICsrKyB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL3NyYy9zcWxpdGVJbnQuaAotQEAgLTg2OCw3ICs4 NjgsOCBAQCB0eXBlZGVmIElOVDE2X1RZUEUgTG9nRXN0OworQEAgLTg3Nyw3ICs4NzcsOCBAQCB0 eXBlZGVmIElOVDE2X1RZUEUgTG9nRXN0OwogICMgaWYgZGVmaW5lZChpMzg2KSAgICAgIHx8IGRl ZmluZWQoX19pMzg2X18pICAgICAgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCiAgICAgICBk ZWZpbmVkKF9feDg2XzY0KSAgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSAgICB8fCBkZWZpbmVkKF9N X1g2NCkgIHx8ICAgIFwKICAgICAgIGRlZmluZWQoX01fQU1ENjQpICB8fCBkZWZpbmVkKF9NX0FS TSkgICAgICAgIHx8IGRlZmluZWQoX194ODYpICAgfHwgICAgXApAQCAtMzU0NCwxMCArMzUyMywx MCBAQCBpbmRleCAxMjJlMjZhZC4uZWMyMWRjYjUgMTAwNjQ0CiAgIyBlbGlmIGRlZmluZWQoc3Bh cmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18pIHx8IFwKICAgICAgICAgZGVmaW5lZChfX0FSTUVC X18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJfXykKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvd2Vi cnRjL21vZHVsZXMvZGVza3RvcF9jYXB0dXJlL2RpZmZlcl9ibG9jay5jYyB0aGlyZF9wYXJ0eS93 ZWJydGMvbW9kdWxlcy9kZXNrdG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2NrLmNjCi1pbmRleCBkZDlh YjQ1Ny4uYzAwNWQ5NTkgMTAwNjQ0Ci0tLS0gdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvZGVz a3RvcF9jYXB0dXJlL2RpZmZlcl9ibG9jay5jYy5vcmlnCTIwMjAtMTEtMTcgMTM6NDI6MDIuMDAw MDAwMDAwIC0wNTAwCi0rKysgdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvZGVza3RvcF9jYXB0 dXJlL2RpZmZlcl9ibG9jay5jYwkyMDIwLTExLTE4IDIxOjExOjAzLjAzOTkwNTM2MCAtMDUwMAot QEAgLTMwLDExICszMCw3IEBACitpbmRleCA0ZjBjNTQzMGMuLjU0ZWUwODI5ZSAxMDA2NDQKKy0t LSB0aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9kZXNrdG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2Nr LmNjCisrKysgdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvZGVza3RvcF9jYXB0dXJlL2RpZmZl cl9ibG9jay5jYworQEAgLTMwLDExICszMCw3IEBAIGJvb2wgVmVjdG9yRGlmZmVyZW5jZShjb25z dCB1aW50OF90KiBpbWFnZTEsIGNvbnN0IHVpbnQ4X3QqIGltYWdlMikgewogICAgc3RhdGljIGJv b2wgKCpkaWZmX3Byb2MpKGNvbnN0IHVpbnQ4X3QqLCBjb25zdCB1aW50OF90KikgPSBudWxscHRy OwogIAogICAgaWYgKCFkaWZmX3Byb2MpIHsKQEAgLTM1NjAsNyArMzUzOSw3IEBAIGluZGV4IGRk OWFiNDU3Li5jMDA1ZDk1OSAxMDA2NDQKICAgICAgYm9vbCBoYXZlX3NzZTIgPSBHZXRDUFVJbmZv KGtTU0UyKSAhPSAwOwogICAgICAvLyBGb3IgeDg2IHByb2Nlc3NvcnMsIGNoZWNrIGlmIFNTRTIg aXMgc3VwcG9ydGVkLgogICAgICBpZiAoaGF2ZV9zc2UyICYmIGtCbG9ja1NpemUgPT0gMzIpIHsK LUBAIC00NCw2ICs0MCwxMCBAQAorQEAgLTQ0LDYgKzQwLDEwIEBAIGJvb2wgVmVjdG9yRGlmZmVy ZW5jZShjb25zdCB1aW50OF90KiBpbWFnZTEsIGNvbnN0IHVpbnQ4X3QqIGltYWdlMikgewogICAg ICB9IGVsc2UgewogICAgICAgIGRpZmZfcHJvYyA9ICZWZWN0b3JEaWZmZXJlbmNlX0M7CiAgICAg IH0KQEAgLTM1NzIsMTAgKzM1NTEsMTAgQEAgaW5kZXggZGQ5YWI0NTcuLmMwMDVkOTU5IDEwMDY0 NAogICAgfQogIAogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS93ZWJydGMvcnRjX2Jhc2Uvc3lzdGVt L2FyY2guaCB0aGlyZF9wYXJ0eS93ZWJydGMvcnRjX2Jhc2Uvc3lzdGVtL2FyY2guaAotaW5kZXgg ZWQyMTZlNjYuLjI1ZDM2YzA3IDEwMDY0NAoraW5kZXggYmUyMzY3Yjg1Li5iZTRlZTQyMzMgMTAw NjQ0CiAtLS0gdGhpcmRfcGFydHkvd2VicnRjL3J0Y19iYXNlL3N5c3RlbS9hcmNoLmgKICsrKyB0 aGlyZF9wYXJ0eS93ZWJydGMvcnRjX2Jhc2Uvc3lzdGVtL2FyY2guaAotQEAgLTUwLDYgKzUwLDE4 IEBACitAQCAtNzksNiArNzksMTggQEAKICAjZWxpZiBkZWZpbmVkKF9fRU1TQ1JJUFRFTl9fKQog ICNkZWZpbmUgV0VCUlRDX0FSQ0hfMzJfQklUUwogICNkZWZpbmUgV0VCUlRDX0FSQ0hfTElUVExF X0VORElBTgpAQCAtMzU5NCwxNSArMzU3MywxNSBAQCBpbmRleCBlZDIxNmU2Ni4uMjVkMzZjMDcg MTAwNjQ0CiAgI2Vsc2UKICAjZXJyb3IgUGxlYXNlIGFkZCBzdXBwb3J0IGZvciB5b3VyIGFyY2hp dGVjdHVyZSBpbiBydGNfYmFzZS9zeXN0ZW0vYXJjaC5oCiAgI2VuZGlmCi0gZGlmZiAtLWdpdCB2 OC9CVUlMRC5nbiB2OC9CVUlMRC5nbgotaW5kZXggMTY3ZTYzNTAzLi4xMjVjNDQ1ZWEgMTAwNjQ0 CitkaWZmIC0tZ2l0IHY4L0JVSUxELmduIHY4L0JVSUxELmduCitpbmRleCBmMzk1MjlhM2EuLmU4 NGZjNDQ5ZSAxMDA2NDQKIC0tLSB2OC9CVUlMRC5nbgogKysrIHY4L0JVSUxELmduCi1AQCAtNjk2 LDYgKzY5NiwxMiBAQCBjb25maWcoInRvb2xjaGFpbiIpIHsKK0BAIC04NTAsNiArODUwLDEyIEBA IGNvbmZpZygidG9vbGNoYWluIikgewogICAgICB9CiAgICAgIGlmIChob3N0X2J5dGVvcmRlciA9 PSAibGl0dGxlIikgewogICAgICAgIGRlZmluZXMgKz0gWyAiVjhfVEFSR0VUX0FSQ0hfUFBDX0xF IiBdCi0rICAgICAgICBjZmxhZ3MgKz0gWworKyAgICAgIGNmbGFncyArPSBbCiArICAgICAgICAj IEVuYWJsZSB1c2FnZSBvZiBBbHRpVmVjLCBWU1gsIGFuZCBvdGhlciBQT1dFUjggYW5kIGhpZ2hl ciBmZWF0dXJlcwogKyAgICAgICAgIi1tY3B1PXBvd2VyOCIsCiArICAgICAgICAiLW1hbHRpdmVj IiwKQEAgLTM2MTEsMjQgKzM1OTAsMTIgQEAgaW5kZXggMTY3ZTYzNTAzLi4xMjVjNDQ1ZWEgMTAw NjQ0CiAgICAgIH0gZWxzZSBpZiAoaG9zdF9ieXRlb3JkZXIgPT0gImJpZyIpIHsKICAgICAgICBk ZWZpbmVzICs9IFsgIlY4X1RBUkdFVF9BUkNIX1BQQ19CRSIgXQogICAgICAgIGlmIChjdXJyZW50 X29zID09ICJhaXgiKSB7Ci1kaWZmIC0tZ2l0IHVpL2dsL2ZlYXR1cmVzLmduaSB1aS9nbC9mZWF0 dXJlcy5nbmkKLWluZGV4IGNiMmM5ODY0OS4uNWUwOWJjMWY3IDEwMDY0NAotLS0tIHVpL2dsL2Zl YXR1cmVzLmduaQotKysrIHVpL2dsL2ZlYXR1cmVzLmduaQotQEAgLTI1LDUgKzI1LDYgQEAgZGVj bGFyZV9hcmdzKCkgewotICAgICAgICAgICAgICAgICAgICAgICAgIGlzX2Nocm9tZW9zIHx8IGlz X2Z1Y2hzaWEpICYmCi0gICAgICAgICAgICAgICAgICAgICAgICAodGFyZ2V0X2NwdSA9PSAieDg2 IiB8fCB0YXJnZXRfY3B1ID09ICJ4NjQiIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgdGFy Z2V0X2NwdSA9PSAiYXJtIiB8fCB0YXJnZXRfY3B1ID09ICJhcm02NCIgfHwKLS0gICAgICAgICAg ICAgICAgICAgICAgICB0YXJnZXRfY3B1ID09ICJtaXBzZWwiIHx8IHRhcmdldF9jcHUgPT0gIm1p cHM2NGVsIikKLSsgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfY3B1ID09ICJtaXBzZWwi IHx8IHRhcmdldF9jcHUgPT0gIm1pcHM2NGVsIiB8fAotKyAgICAgICAgICAgICAgICAgICAgICAg IHRhcmdldF9jcHUgPT0gInBwYzY0IikKLSB9CiBkaWZmIC0tZ2l0IHY4L3Rlc3QvQlVJTEQuZ24g djgvdGVzdC9CVUlMRC5nbgotaW5kZXggZjZkMzA1MzdhLi4yODdiMjcwODAgMTAwNjQ0CitpbmRl eCBmYjg3MmFkMzkuLjQ1ZmM1ODVkZCAxMDA2NDQKIC0tLSB2OC90ZXN0L0JVSUxELmduCiArKysg djgvdGVzdC9CVUlMRC5nbgotQEAgLTMxLDcgKzMxLDcgQEAgZ3JvdXAoImduX2FsbCIpIHsKLSAg ICAgZGVwcyArPSBbCitAQCAtMzYsNyArMzYsNyBAQCBncm91cCgiZ25fYWxsIikgeworICAgICAg ICJiZW5jaG1hcmtzL2NwcDpnbl9hbGwiLAogICAgICAgICJjY3Rlc3Q6Y2N0ZXN0IiwKICAgICAg ICAiY2N0ZXN0OmdlbmVyYXRlLWJ5dGVjb2RlLWV4cGVjdGF0aW9ucyIsCiAtICAgICAgInVuaXR0 ZXN0czp1bml0dGVzdHMiLApAQCAtMzYzNiw3ICszNjAzLDcgQEAgaW5kZXggZjZkMzA1MzdhLi4y ODdiMjcwODAgMTAwNjQ0CiAgICAgIF0KICAgIH0KICB9Ci1AQCAtNzMsNyArNzMsNyBAQCBncm91 cCgidjhfYm90X2RlZmF1bHQiKSB7CitAQCAtNzgsNyArNzgsNyBAQCBncm91cCgidjhfYm90X2Rl ZmF1bHQiKSB7CiAgICAgICJtZXNzYWdlOnY4X21lc3NhZ2UiLAogICAgICAibWpzdW5pdDp2OF9t anN1bml0IiwKICAgICAgIm1rZ3Jva2R1bXA6bWtncm9rZHVtcCIsCkBAIC0zNjQ1LDcgKzM2MTIs NyBAQCBpbmRleCBmNmQzMDUzN2EuLjI4N2IyNzA4MCAxMDA2NDQKICAgICAgIndhc20tYXBpLXRl c3RzOndhc21fYXBpX3Rlc3RzIiwKICAgICAgIndhc20tanM6djhfd2FzbV9qcyIsCiAgICAgICJ3 YXNtLXNwZWMtdGVzdHM6djhfd2FzbV9zcGVjX3Rlc3RzIiwKLUBAIC05Myw3ICs5Myw3IEBAIGdy b3VwKCJ2OF9kZWZhdWx0IikgeworQEAgLTk4LDcgKzk4LDcgQEAgZ3JvdXAoInY4X2RlZmF1bHQi KSB7CiAgICAgICJtZXNzYWdlOnY4X21lc3NhZ2UiLAogICAgICAibWpzdW5pdDp2OF9tanN1bml0 IiwKICAgICAgIm1rZ3Jva2R1bXA6bWtncm9rZHVtcCIsCmRpZmYgLS1naXQgYS9zcmNwa2dzL2No cm9taXVtL3RlbXBsYXRlIGIvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQppbmRleCAwOThjYjkw NGRhOS4uYzA4YzlhNjAwNGQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUK KysrIGIvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ2Nocm9taXVtJwogcGtnbmFtZT1jaHJvbWl1bQogIyBTZWUgaHR0cDovL3d3 dy5jaHJvbWl1bS5vcmcvZGV2ZWxvcGVycy9jYWxlbmRhciBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9u Ci12ZXJzaW9uPTg4LjAuNDMyNC4xODIKK3ZlcnNpb249ODkuMC40Mzg5LjcyCiByZXZpc2lvbj0x CiBhcmNocz0iaTY4NiogeDg2XzY0KiBhYXJjaDY0KiBhcm12N2wqIHBwYzY0bGUqIgogc2hvcnRf ZGVzYz0iR29vZ2xlJ3MgYXR0ZW1wdCBhdCBjcmVhdGluZyBhIHNhZmVyLCBmYXN0ZXIsIGFuZCBt b3JlIHN0YWJsZSBicm93c2VyIgpAQCAtOSw3ICs5LDcgQEAgbWFpbnRhaW5lcj0iRW5ubyBCb2xh bmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkJTRC0zLUNsYXVzZSIKIGhvbWVw YWdlPSJodHRwczovL3d3dy5jaHJvbWl1bS5vcmcvIgogZGlzdGZpbGVzPSJodHRwczovL2NvbW1v bmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Nocm9taXVtLWJyb3dzZXItb2ZmaWNpYWwvJHtw a2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTMwNDExZmMzZWMyZDMzZGY0YzVj YWQ0MWYyMWFmZmEzODIzYzgwZjdkYmQzOTRmNmQ2OGY5YTFlODEwMTViODEKK2NoZWNrc3VtPTk0 NmEwYjY1YWFkMTBlMGY3N2E1MzkxMDM4OTIwOTliNzIzODMxMGM3MzNmMjViNDFkNThiNzZmNmFj MGJjNGYKIG5vY3Jvc3M9eWVzCiAKIGxpYjMyZGlzYWJsZWQ9eWVzCkBAIC0zNCw3ICszNCw3IEBA IG1ha2VkZXBlbmRzPSJsaWJwbmctZGV2ZWwgZ3RrKy1kZXZlbCBndGsrMy1kZXZlbCBuc3MtZGV2 ZWwgcGNpdXRpbHMtZGV2ZWwKICBsaWJYY3Vyc29yLWRldmVsIGxpYmZsYWMtZGV2ZWwgc3BlZXgt ZGV2ZWwgbGlibXRwLWRldmVsIGxpYndlYnAtZGV2ZWwKICBsaWJqcGVnLXR1cmJvLWRldmVsIGxp YmV2ZW50LWRldmVsIGpzb24tYy1kZXZlbCBoYXJmYnV6ei1kZXZlbAogIG1pbml6aXAtZGV2ZWwg anNvbmNwcC1kZXZlbCB6bGliLWRldmVsIGxpYmNhcC1kZXZlbCBsaWJYZGFtYWdlLWRldmVsCi0g cmUyLWRldmVsIGZvbnRjb25maWctZGV2ZWwgZnJlZXR5cGUtZGV2ZWwgb3B1cy1kZXZlbAorIHJl Mi1kZXZlbCBmb250Y29uZmlnLWRldmVsIGZyZWV0eXBlLWRldmVsCiAgZmZtcGVnLWRldmVsIGxp YnZhLWRldmVsIHB5dGhvbi1zZXR1cHRvb2xzIHhjYi1wcm90bwogICQodm9wdF9pZiBwaXBld2ly ZSBsaWJwaXBld2lyZTAuMi1kZXZlbCkgJCh2b3B0X2lmIHNuZGlvIHNuZGlvLWRldmVsKSIKIGRl cGVuZHM9ImxpYmV4aWYgaHdpZHMgZGVza3RvcC1maWxlLXV0aWxzIGhpY29sb3ItaWNvbi10aGVt ZSB4ZGctdXRpbHMiCkBAIC0xMTksNiArMTE5LDcgQEAgZG9fY29uZmlndXJlKCkgewogCSMgdXNl X3N5c3RlbV92OD0xCiAJIyB1c2Vfc3lzdGVtX3psaWI9MQogCSMgYnppcDIganNvbmNwcCBtaW5p emlwIHhkZ191dGlscyBzcGVleAorCSMgb3B1cyBmYWlscyBiZWNhdXNlIHRoZSBnZW5lcmF0ZWQg c2hpbSBoZWFkZXIgb3B1cy5oIHRyaWVzIHRvIGluY2x1ZGUgPG9wdXMuaD4KIAlzeXN0ZW09Igog CQlmZm1wZWcKIAkJZmxhYwpAQCAtMTMyLDcgKzEzMyw2IEBAIGRvX2NvbmZpZ3VyZSgpIHsKIAkJ bGlid2VicAogCQlsaWJ4bWwKIAkJbGlieHNsdAotCQlvcHVzCiAJCXJlMgogCQlzbmFwcHkKIAki Cg== --===============6961310774527016422==--