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 15344 invoked from network); 7 Mar 2021 12:06:08 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 7 Mar 2021 12:06:08 -0000 Content-Type: multipart/mixed; boundary="===============4440492448097632054==" 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: Sun, 07 Mar 2021 13:06:04 +0100 List-Id: Message-ID: <20210307120604.cPS8syFrgJahf6NgcLTxQ6_jRaUYasltFNwTbY00Zlo@z> GitHub notification mails are now in MIME to allow UTF8. --===============4440492448097632054== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgcHVsbG1vbGwgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3B1 bGxtb2xsL3ZvaWQtcGFja2FnZXMgY2hyb21pdW0KaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzI5MjA1CgpbV0lQXSBjaHJvbWl1bTogdXBkYXRlIHRvIDg5 LjAuNDM4OS43MgpDVkUtMjAyMS0yMTE2Ng0KDQorIHg4Nl82NCBwYXRjaCBzZXQgdXBkYXRlZCwg YnVpbHQsIHRlc3RlZCB2ZXJ5IGN1cnNvcnkgYW5kIHNlZW1zIHRvIHdvcmsNCisgaTY4NiBwYXRj aCBhcHBsaWVzIHcvbyBjaGFuZ2UsIGJ1aWx0LCBjdXJzb3J5IHRlc3QgaW4gYSBWTQ0KKyB4ODZf NjQtbXVzbCBwYXRjaCBzZXQgdXBkYXRlZCwgYnVpbHQsIHdvcmtzIGJ1dCBjYW4gY3Jhc2gsIHNl ZSBjb21tZW50cyBiZWxvdw0KKyBzeXN0ZW0gb3B1cyBkaXNhYmxlZCBiZWNhdXNlIHRoZSBnZW5l cmF0ZWQgc2hpbSBoZWFkZXIgb3B1cy5oIHRyaWVzIHRvIGluY2x1ZGUgPG9wdXMuaD4gYW5kIGZh aWxzDQorIG5vdCBzdXJlIGlmIGxpYmNfbWFsbG9jLnBhdGNoIGlzIG9rLCBpLmUuIHNpbXBseSB1 c2UgbWFsbG9jKCkgaW5zdGVhZCBvZiBfX2xpYmNfbWFsbG9jKCkuDQorIG1vcmUgdG8gZG8NCg0K W2NpIHNraXBdDQoNCklmIHlvdSBkb24ndCB3YW50IHRvIGJ1aWxkIHlvdXJzZWxmIG15IHJlcG8g aGFzIHRoZSB1cGRhdGUgZm9yIHRlc3RpbmcuCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dp dGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMjkyMDUucGF0Y2ggaXMgYXR0 YWNoZWQ= --===============4440492448097632054== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-29205.patch" RnJvbSAwMmI0ZDU0MTlhMzFkZWIyYTg3MjNjYWZmOWNlMTJmZmZhMDQ0OGVkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Sj1DMz1CQ3JnZW49MjBCdWNobT1DMz1CQ2xs ZXI/PSA8cHVsbG1vbGxAdC1vbmxpbmUuZGU+CkRhdGU6IFdlZCwgMyBNYXIgMjAyMSAxNTowNjoz OCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIGNocm9taXVtOiB1cGRhdGUgdG8gODkuMC40Mzg5Ljcy CgpDVkUtMjAyMS0yMTE2NgpEaXNhYmxlIFdpZGV2aW5lIENETSBjb21wb25lbnQgdXBkYXRlciAo RGViaWFuIHBhdGNoKQoKW2NpIHNraXBdCi0tLQogLi4uL2RlZmF1bHQtcHRocmVhZC1zdGFja3Np emUucGF0Y2ggICAgICAgICAgIHwgICA0ICstCiAuLi4vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wt Zml4ZXMucGF0Y2ggICAgICAgfCAgNDAgKy0KIC4uLi9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1o YWNrcy5wYXRjaCAgICAgICB8ICAgNCArLQogLi4uL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLWxp YmMrKy5wYXRjaCAgICAgIHwgICA2ICstCiAuLi4vbXVzbC1wYXRjaGVzL211c2wtbm8tZ2xpYmMt dmVyc2lvbi5wYXRjaCAgfCAgMjggKysKIC4uLi9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1zYW5k Ym94LnBhdGNoICAgICB8ICAxMiArLQogLi4uL2ZpbGVzL211c2wtcGF0Y2hlcy9uby1tYWxsaW5m by5wYXRjaCAgICAgIHwgICA2ICstCiAuLi4vZmlsZXMvbXVzbC1wYXRjaGVzL3Jlc29sdmVyLnBh dGNoICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9icm93c2VyLXNp emVfdC5wYXRjaCB8ICAxMCAtCiAuLi4vY2hyb21pdW0tODgtQVhUcmVlRm9ybWF0dGVyLWluY2x1 ZGUucGF0Y2ggfCAgMjcgLQogLi4uaXVtLTg4LUJvb2ttYXJrTW9kZWxPYnNlcnZlci1pbmNsdWRl LnBhdGNoIHwgIDIxIC0KIC4uLnVtLTg4LUNvbXBvc2l0b3JGcmFtZVJlcG9ydGVyLWRjaGVjay5w YXRjaCB8ICAzNiAtLQogLi4uL2Nocm9taXVtLTg4LVN0cmluZ1Bvb2wtaW5jbHVkZS5wYXRjaCAg ICAgIHwgIDIwIC0KIC4uLnJvbWl1bS04OC1mZWRlcmF0ZWRfbGVhcm5pbmctaW5jbHVkZS5wYXRj aCB8ICAyMSAtCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS04OC1nbGliYy0yLjMzLnBhdGNoICAgICAg fCAxNDQgLS0tLS0tCiAuLi5ocm9taXVtLTg4LWlkZW9ncmFwaGljU3BhY2VDaGFyYWN0ZXIucGF0 Y2ggfCAgMjcgLQogLi4uL3BhdGNoZXMvY2hyb21pdW0tODgtaXR5cC1pbmNsdWRlLnBhdGNoICAg IHwgIDI1IC0KIC4uLi9wYXRjaGVzL2Nocm9taXVtLTg4LXZhYXBpLWF0dHJpYnV0ZS5wYXRjaCB8 ICAzOSAtLQogLi4udW0tODktQ29tcG9zaXRvckZyYW1lUmVwb3J0ZXItZGNoZWNrLnBhdGNoIHwg IDExICsKIC4uLmJpYW5fcGF0Y2hlc19kaXNhYmxlX3dpZGV2aW5lLWNkbS1jdS5wYXRjaCB8ICAx NiArCiBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbGliY19tYWxsb2MucGF0Y2ggICAgfCAgMjMg Ky0KIC4uLnJlbW92ZS11bnN1cHBvcnRlZC1jb21waWxlci13YXJuaW5ncy5wYXRjaCB8ICAyNiAt CiAuLi4tdjgtbW9ub3RvbmljLXB0aHJlYWQtY29udF90aW1lZHdhaXQucGF0Y2ggfCAgMjQgLQog c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLWV4ZWNpbmZvLnBhdGNoICAgIHwgIDE2ICstCiBz cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8tZ2V0Y29udGV4dC5wYXRjaCAgfCAgMjcgLQogc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLXN0ZC10aW1lLnBhdGNoICAgIHwgIDExICsKIC4uLi9j aHJvbWl1bS9wYXRjaGVzL3NhbmRib3gtbWVtYmFycmllci5wYXRjaCB8ICA2MSArLS0KIC4uLi9w YXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2ggICAgICAgICB8IDQ3NSArKysrKysrKy0t LS0tLS0tLS0KIHNyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8 ICAgOCArLQogMjkgZmlsZXMgY2hhbmdlZCwgMzM3IGluc2VydGlvbnMoKyksIDgzMyBkZWxldGlv bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0 Y2hlcy9tdXNsLW5vLWdsaWJjLXZlcnNpb24ucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvYnJvd3Nlci1zaXplX3QucGF0Y2gKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtQVhUcmVlRm9ybWF0dGVy LWluY2x1ZGUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvY2hyb21pdW0tODgtQm9va21hcmtNb2RlbE9ic2VydmVyLWluY2x1ZGUucGF0Y2gKIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtQ29tcG9z aXRvckZyYW1lUmVwb3J0ZXItZGNoZWNrLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LVN0cmluZ1Bvb2wtaW5jbHVkZS5wYXRjaAog ZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1m ZWRlcmF0ZWRfbGVhcm5pbmctaW5jbHVkZS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1nbGliYy0yLjMzLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWlkZW9ncmFw aGljU3BhY2VDaGFyYWN0ZXIucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvY2hyb21pdW0tODgtaXR5cC1pbmNsdWRlLnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LXZhYXBpLWF0dHJpYnV0 ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJv bWl1bS04OS1Db21wb3NpdG9yRnJhbWVSZXBvcnRlci1kY2hlY2sucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZGViaWFuX3BhdGNoZXNfZGlzYWJsZV93 aWRldmluZS1jZG0tY3UucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvbGx2bS1yZW1vdmUtdW5zdXBwb3J0ZWQtY29tcGlsZXItd2FybmluZ3MucGF0Y2gK IGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbXVzbC12OC1tb25v dG9uaWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1nZXRjb250ZXh0LnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLXN0ZC10aW1lLnBhdGNoCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvZGVmYXVsdC1wdGhyZWFk LXN0YWNrc2l6ZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL2Rl ZmF1bHQtcHRocmVhZC1zdGFja3NpemUucGF0Y2gKaW5kZXggMTZlNGQyMWU2ZWQuLjhiZjlhM2Rm YjM0IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9kZWZh dWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMv bXVzbC1wYXRjaGVzL2RlZmF1bHQtcHRocmVhZC1zdGFja3NpemUucGF0Y2gKQEAgLTEsMTIgKzEs MTIgQEAKIC0tLSBiYXNlL3RocmVhZGluZy9wbGF0Zm9ybV90aHJlYWRfbGludXguY2Mub3JpZwog KysrIGJhc2UvdGhyZWFkaW5nL3BsYXRmb3JtX3RocmVhZF9saW51eC5jYwotQEAgLTk5ICs5OSwy IEBAIHNpemVfdCBHZXREZWZhdWx0VGhyZWFkU3RhY2tTaXplKGNvbnN0IHAKK0BAIC00NDAgKzQ0 MCwyIEBAIHNpemVfdCBHZXREZWZhdWx0VGhyZWFkU3RhY2tTaXplKGNvbnN0IHAKIC0gIHJldHVy biAwOwogKyAgLy8gdXNlIDhtYiBsaWtlIGdsaWJjIHRvIGF2b2lkIHJ1bm5pbmcgb3V0IG9mIHNw YWNlCiArICByZXR1cm4gKDEgPDwgMjMpOwogLS0tIGNocm9tZS9hcHAvc2h1dGRvd25fc2lnbmFs X2hhbmRsZXJzX3Bvc2l4LmNjLm9yaWcKICsrKyBjaHJvbWUvYXBwL3NodXRkb3duX3NpZ25hbF9o YW5kbGVyc19wb3NpeC5jYwotQEAgLTE4NCwxMSArMTg0LDE5IEBACitAQCAtMTg3LDExICsxODcs MTkgQEAKICAgIGdfc2h1dGRvd25fcGlwZV9yZWFkX2ZkID0gcGlwZWZkWzBdOwogICAgZ19zaHV0 ZG93bl9waXBlX3dyaXRlX2ZkID0gcGlwZWZkWzFdOwogICNpZiAhZGVmaW5lZChBRERSRVNTX1NB TklUSVpFUikKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVz L211c2wtZml4ZXMucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9t dXNsLWZpeGVzLnBhdGNoCmluZGV4IGE3ODMyZmYzMmU4Li4xZjEyZmY4YjA4ZCAxMDA2NDQKLS0t IGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1maXhlcy5wYXRjaAor KysgYi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLWZpeGVzLnBhdGNo CkBAIC0xLDYgKzEsNiBAQAogLS0tIC4vdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3Vw cG9ydC5oLm9yaWcKICsrKyAuL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQu aAotQEAgLTExMjcsNiArMTEyNywxMiBAQAorQEAgLTEyNTgsNiArMTI1OCwxMiBAQAogICNpZm5k ZWYgX19OUl9mYWxsb2NhdGUKICAjZGVmaW5lIF9fTlJfZmFsbG9jYXRlICAgICAgICAgIDI4NQog ICNlbmRpZgpAQCAtMTUsNyArMTUsNyBAQAogICNpZiBfTUlQU19TSU0gPT0gX01JUFNfU0lNX0FC STMyCiAtLS0gLi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaC5vcmlnCiArKysgLi90aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1v bi91Y29udGV4dF9yZWFkZXIuaAotQEAgLTM3LDYgKzM3LDEwIEBACitAQCAtMzgsNiArMzgsMTAg QEAKICAjaW5jbHVkZSAiY29tbW9uL21lbW9yeS5oIgogICNpbmNsdWRlICJnb29nbGVfYnJlYWtw YWQvY29tbW9uL21pbmlkdW1wX2Zvcm1hdC5oIgogIApAQCAtMjgsNyArMjgsNyBAQAogIC8vIFdy YXBzIHBsYXRmb3JtLWRlcGVuZGVudCBpbXBsZW1lbnRhdGlvbnMgb2YgYWNjZXNzb3JzIHRvIHVj b250ZXh0X3Qgc3RydWN0cy4KIC0tLSAuL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jb21tb24vbGludXgvZWxmX2NvcmVfZHVtcC5oLm9yaWcKICsrKyAuL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxmX2NvcmVfZHVtcC5oCi1AQCAtMzYs NiArMzYsNyBAQAorQEAgLTM3LDYgKzM3LDcgQEAKICAjaW5jbHVkZSA8ZWxmLmg+CiAgI2luY2x1 ZGUgPGxpbmsuaD4KICAjaW5jbHVkZSA8c3RkZGVmLmg+CkBAIC0zOCw3ICszOCw3IEBACiAgCiAt LS0gLi9zYW5kYm94L2xpbnV4L3N1aWQvcHJvY2Vzc191dGlsLmgub3JpZwogKysrIC4vc2FuZGJv eC9saW51eC9zdWlkL3Byb2Nlc3NfdXRpbC5oCi1AQCAtMTEsNiArMTEsMTQgQEAKK0BAIC0xMiw2 ICsxMiwxNCBAQAogICNpbmNsdWRlIDxzdGRib29sLmg+CiAgI2luY2x1ZGUgPHN5cy90eXBlcy5o PgogIApAQCAtNjYsNyArNjYsNyBAQAogICNpZiBkZWZpbmVkKF9fbWlwc19fKQogLS0tIC4vdGhp cmRfcGFydHkvZmZtcGVnL2xpYmF2dXRpbC9jcHUuYy5vcmlnCiArKysgLi90aGlyZF9wYXJ0eS9m Zm1wZWcvbGliYXZ1dGlsL2NwdS5jCi1AQCAtMzgsNyArMzgsNiBAQAorQEAgLTQxLDcgKzQxLDYg QEAKICAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CiAgI2VuZGlmCiAgI2luY2x1ZGUgPHN5cy90eXBl cy5oPgpAQCAtNzQsMjggKzc0LDYgQEAKICAjZW5kaWYKICAjaWYgSEFWRV9VTklTVERfSAogICNp bmNsdWRlIDx1bmlzdGQuaD4KLWRpZmYgLS1naXQgYS9jaHJvbWUvYnJvd3Nlci9tZXRyaWNzL2No cm9tZV9icm93c2VyX21haW5fZXh0cmFfcGFydHNfbWV0cmljcy5jYyBiL2Nocm9tZS9icm93c2Vy L21ldHJpY3MvY2hyb21lX2Jyb3dzZXJfbWFpbl9leHRyYV9wYXJ0c19tZXRyaWNzLmNjCi0tLS0g Y2hyb21lL2Jyb3dzZXIvbWV0cmljcy9jaHJvbWVfYnJvd3Nlcl9tYWluX2V4dHJhX3BhcnRzX21l dHJpY3MuY2MKLSsrKyBjaHJvbWUvYnJvd3Nlci9tZXRyaWNzL2Nocm9tZV9icm93c2VyX21haW5f ZXh0cmFfcGFydHNfbWV0cmljcy5jYwotQEAgLTM5LDcgKzM5LDkgQEAKLSAjZW5kaWYgIC8vIGRl ZmluZWQoT1NfQU5EUk9JRCkgJiYgZGVmaW5lZChfX2FybV9fKQotIAotICNpZiBkZWZpbmVkKE9T X0xJTlVYKSAmJiAhZGVmaW5lZChPU19DSFJPTUVPUykKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18p Ci0gI2luY2x1ZGUgPGdudS9saWJjLXZlcnNpb24uaD4KLSsjZW5kaWYKLSAKLSAjaW5jbHVkZSAi YmFzZS9saW51eF91dGlsLmgiCi0gI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJpbmdfc3BsaXQu aCIKLUBAIC0yOTUsNyArMjk3LDcgQEAgdm9pZCBSZWNvcmRMaW51eERpc3RybygpIHsKLSAjZW5k aWYgIC8vIGRlZmluZWQoT1NfTElOVVgpICYmICFkZWZpbmVkKE9TX0NIUk9NRU9TKQotIAotIHZv aWQgUmVjb3JkTGludXhHbGliY1ZlcnNpb24oKSB7Ci0tI2lmIGRlZmluZWQoT1NfTElOVVgpICYm ICFkZWZpbmVkKE9TX0NIUk9NRU9TKQotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmlu ZWQoT1NfQ0hST01FT1MpCi0gICBiYXNlOjpWZXJzaW9uIHZlcnNpb24oZ251X2dldF9saWJjX3Zl cnNpb24oKSk7Ci0gCi0gICBVTUFMaW51eEdsaWJjVmVyc2lvbiBnbGliY192ZXJzaW9uX3Jlc3Vs dCA9IFVNQV9MSU5VWF9HTElCQ19OT1RfUEFSU0VBQkxFOwogLS0tIHNlcnZpY2VzL2RldmljZS9z ZXJpYWwvc2VyaWFsX2lvX2hhbmRsZXJfcG9zaXguY2Mub3JpZwkyMDE5LTA3LTAzIDEwOjU3OjMy LjU2ODE3MTgzNSAtMDQwMAogKysrIHNlcnZpY2VzL2RldmljZS9zZXJpYWwvc2VyaWFsX2lvX2hh bmRsZXJfcG9zaXguY2MJMjAxOS0wNy0wMyAxMDo1NzoxNi44Njc5ODMwMzEgLTA0MDAKIEBAIC02 LDYgKzYsNyBAQApAQCAtMTMxLDcgKzEwOSw3IEBAIGRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9v dHMvaW5jbHVkZS9vcGVudHlwZS1zYW5pdGlzZXIuaCBiL3RoaXJkX3BhcnR5L290cy9pbmNsCiAg ICAgIGJhc2U6OmRlYnVnOjpTdGFja1RyYWNlIHN0YWNrX3RyYWNlOwogLS0tIC4vdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3N0YWNrX3V0aWwuY2Mub3JpZwogKysrIC4v dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3N0YWNrX3V0aWwuY2MKLUBA IC0yOCw3ICsyOCw3IEBACitAQCAtMjksNyArMjksNyBAQAogIC8vIEZJWE1FOiBPbiBNYWMgT1NY IGFuZCBMaW51eCwgdGhpcyBtZXRob2QgY2Fubm90IGVzdGltYXRlIHN0YWNrIHNpemUKICAvLyBj b3JyZWN0bHkgZm9yIHRoZSBtYWluIHRocmVhZC4KICAKQEAgLTE0MCw3ICsxMTgsNyBAQCBkaWZm IC0tZ2l0IGEvdGhpcmRfcGFydHkvb3RzL2luY2x1ZGUvb3BlbnR5cGUtc2FuaXRpc2VyLmggYi90 aGlyZF9wYXJ0eS9vdHMvaW5jbAogICAgICBkZWZpbmVkKE9TX0ZVQ0hTSUEpCiAgICAvLyBwdGhy ZWFkX2dldGF0dHJfbnAoKSBjYW4gZmFpbCBpZiB0aGUgdGhyZWFkIGlzIG5vdCBpbnZva2VkIGJ5 CiAgICAvLyBwdGhyZWFkX2NyZWF0ZSgpIChlLmcuLCB0aGUgbWFpbiB0aHJlYWQgb2YgYmxpbmtf dW5pdHRlc3RzKS4KLUBAIC05Niw3ICs5Niw3IEBACitAQCAtOTcsNyArOTcsNyBAQAogIH0KICAK ICB2b2lkKiBHZXRTdGFja1N0YXJ0KCkgewpAQCAtMTUxLDcgKzEyOSw3IEBAIGRpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9vdHMvaW5jbHVkZS9vcGVudHlwZS1zYW5pdGlzZXIuaCBiL3RoaXJkX3Bh cnR5L290cy9pbmNsCiAgICBpbnQgZXJyb3I7CiAtLS0gLi9uZXQvZG5zL2Ruc19jb25maWdfc2Vy dmljZV9wb3NpeC5jYy5vcmlnCiArKysgLi9uZXQvZG5zL2Ruc19jb25maWdfc2VydmljZV9wb3Np eC5jYwotQEAgLTEyMiw3ICsxMjIsNyBAQAorQEAgLTE1MCw3ICsxNTAsNyBAQAogICAgQ29uZmln UGFyc2VQb3NpeFJlc3VsdCByZXN1bHQ7CiAgICBjb25maWctPnVuaGFuZGxlZF9vcHRpb25zID0g ZmFsc2U7CiAgLy8gVE9ETyhmdWNoc2lhKTogVXNlIHJlc19uaW5pdCgpIHdoZW4gaXQncyBpbXBs ZW1lbnRlZCBvbiBGdWNoc2lhLgpAQCAtMTgxLDcgKzE1OSw3IEBAIGRpZmYgLS1naXQgYS90aGly ZF9wYXJ0eS9vdHMvaW5jbHVkZS9vcGVudHlwZS1zYW5pdGlzZXIuaCBiL3RoaXJkX3BhcnR5L290 cy9pbmNsCiAgCiAtLS0gdGhpcmRfcGFydHkvbmFzbS9uYXNtbGliL3JlYWxwYXRoLmMub3JpZwky MDE5LTA3LTAzIDEyOjIzOjA1LjAyMTk0OTg5NSAtMDQwMAogKysrIHRoaXJkX3BhcnR5L25hc20v bmFzbWxpYi9yZWFscGF0aC5jCTIwMTktMDctMDMgMTI6MjQ6MjQuMjQ2ODYyNjY1IC0wNDAwCi1A QCAtNDksNyArNDksNyBAQAorQEAgLTQ3LDcgKzQ3LDcgQEAKICAKICAjaW5jbHVkZSAibmFzbWxp Yi5oIgogIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMv bXVzbC1oYWNrcy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211 c2wtaGFja3MucGF0Y2gKaW5kZXggZWRjMWIwNjBkZmIuLjkyNzZlNDhhYjhlIDEwMDY0NAotLS0g YS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLWhhY2tzLnBhdGNoCisr KyBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtaGFja3MucGF0Y2gK QEAgLTEsNiArMSw2IEBACiAtLS0gYmFzZS9kZWJ1Zy9zdGFja190cmFjZS5jYy5vcmlnCTIwMTgt MTItMDggMTQ6MTE6MjUuMzAzNDc1MTE2ICswMTAwCiArKysgYmFzZS9kZWJ1Zy9zdGFja190cmFj ZS5jYwkyMDE4LTEyLTA4IDE4OjAwOjQzLjg3NDk0Njk5OSArMDEwMAotQEAgLTIyOSw3ICsyMjks NyBAQAorQEAgLTIyNSw3ICsyMjUsNyBAQAogIH0KICBzdGQ6OnN0cmluZyBTdGFja1RyYWNlOjpU b1N0cmluZ1dpdGhQcmVmaXgoY29uc3QgY2hhciogcHJlZml4X3N0cmluZykgY29uc3QgewogICAg c3RkOjpzdHJpbmdzdHJlYW0gc3RyZWFtOwpAQCAtMTEsNyArMTEsNyBAQAogICAgcmV0dXJuIHN0 cmVhbS5zdHIoKTsKIC0tLSBuZXQvc29ja2V0L3VkcF9zb2NrZXRfcG9zaXguY2Mub3JpZwkyMDE5 LTA3LTAzIDEzOjEzOjQ2LjAzNDM0MjY0OSAtMDQwMAogKysrIG5ldC9zb2NrZXQvdWRwX3NvY2tl dF9wb3NpeC5jYwkyMDE5LTA3LTAzIDEzOjIzOjUzLjExNzA4MTkwOSAtMDQwMAotQEAgLTExOTQs NyArMTE5NCw3IEBACitAQCAtMTE1Myw3ICsxMTUzLDcgQEAKICAgICAgbXNnX2lvdi0+cHVzaF9i YWNrKHtjb25zdF9jYXN0PGNoYXIqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+bGVuZ3RoKCl9 KTsKICAgIG1zZ3ZlYy0+cmVzZXJ2ZShidWZmZXJzLnNpemUoKSk7CiAgICBmb3IgKHNpemVfdCBq ID0gMDsgaiA8IGJ1ZmZlcnMuc2l6ZSgpOyBqKyspCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9t aXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLWxpYmMrKy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21p dW0vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtbGliYysrLnBhdGNoCmluZGV4IDA4OGQ4MGZhZDUy Li5lMDc3NjgyMzQwMiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBh dGNoZXMvbXVzbC1saWJjKysucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNs LXBhdGNoZXMvbXVzbC1saWJjKysucGF0Y2gKQEAgLTIsNyArMiw3IEBAIGRpZmYgLS1naXQgYS9i dWlsZHRvb2xzL3RoaXJkX3BhcnR5L2xpYmMrKy90cnVuay9pbmNsdWRlL2xvY2FsZSBiL2J1aWxk dG9vbHMvdGhpCiBpbmRleCBkMjlhMmRjLi41Mzk5OGJjIDEwMDY0NAogLS0tIGJ1aWxkdG9vbHMv dGhpcmRfcGFydHkvbGliYysrL3RydW5rL2luY2x1ZGUvbG9jYWxlCiArKysgYnVpbGR0b29scy90 aGlyZF9wYXJ0eS9saWJjKysvdHJ1bmsvaW5jbHVkZS9sb2NhbGUKLUBAIC0xMSw2ICsxMSwxNSBA QAorQEAgLTEwLDYgKzEwLDE1IEBACiAgI2lmbmRlZiBfTElCQ1BQX0xPQ0FMRQogICNkZWZpbmUg X0xJQkNQUF9MT0NBTEUKICAKQEAgLTIyLDcgKzIyLDcgQEAgZGlmZiAtLWdpdCBhL2J1aWxkdG9v bHMvdGhpcmRfcGFydHkvbGliYysrL3RydW5rL3NyYy9sb2NhbGUuY3BwIGIvYnVpbGR0b29scy90 aGkKIGluZGV4IDQxNjNjMmMuLjNkMTkwMmEgMTAwNjQ0CiAtLS0gYS9idWlsZHRvb2xzL3RoaXJk X3BhcnR5L2xpYmMrKy90cnVuay9zcmMvbG9jYWxlLmNwcAogKysrIGJ1aWxkdG9vbHMvdGhpcmRf cGFydHkvbGliYysrL3RydW5rL3NyYy9sb2NhbGUuY3BwCi1AQCAtMTAyOCwxMSArMTAyOCwxMSBA QCBjdHlwZTxjaGFyPjo6ZG9fbmFycm93KGNvbnN0IGNoYXJfdHlwZSogbG93LCBjb25zdCBjaGFy X3R5cGUqIGhpZ2gsIGNoYXIgZGZhdWx0LAorQEAgLTEwMTksMTEgKzEwMTksMTEgQEAgY3R5cGU8 Y2hhcj46OmRvX25hcnJvdyhjb25zdCBjaGFyX3R5cGUqIGxvdywgY29uc3QgY2hhcl90eXBlKiBo aWdoLCBjaGFyIGRmYXVsdCwKICAgICAgcmV0dXJuIGxvdzsKICB9CiAgCkBAIC0zNiw3ICszNiw3 IEBAIGluZGV4IDQxNjNjMmMuLjNkMTkwMmEgMTAwNjQ0CiAgCiAgI2lmZGVmIF9MSUJDUFBfUFJP VklERVNfREVGQVVMVF9SVU5FX1RBQkxFCiAgY29uc3QgY3R5cGU8Y2hhcj46Om1hc2sqCi1AQCAt MTEzNiwxMiArMTEzNiwxMCBAQCBjdHlwZTxjaGFyPjo6Y2xhc3NpY190YWJsZSgpICBfTk9FWENF UFQKK0BAIC0xMTI3LDEyICsxMTI3LDEwIEBAIGN0eXBlPGNoYXI+OjpjbGFzc2ljX3RhYmxlKCkg IF9OT0VYQ0VQVAogICNlbGlmIGRlZmluZWQoX0FJWCkKICAgICAgcmV0dXJuIChjb25zdCB1bnNp Z25lZCBpbnQgKilfX2xjX2N0eXBlX3B0ci0+b2JqLT5tYXNrOwogICNlbHNlCmRpZmYgLS1naXQg YS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLW5vLWdsaWJjLXZlcnNp b24ucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLW5vLWds aWJjLXZlcnNpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjlmZmVjNjI0NjVjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9t dXNsLXBhdGNoZXMvbXVzbC1uby1nbGliYy12ZXJzaW9uLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAK Ky0tLSBjaHJvbWUvYnJvd3Nlci9tZXRyaWNzL2Nocm9tZV9icm93c2VyX21haW5fZXh0cmFfcGFy dHNfbWV0cmljcy5jYy5vcmlnCTIwMjEtMDMtMDIgMTg6NDU6MDMuMDAwMDAwMDAwICswMTAwCisr KysgY2hyb21lL2Jyb3dzZXIvbWV0cmljcy9jaHJvbWVfYnJvd3Nlcl9tYWluX2V4dHJhX3BhcnRz X21ldHJpY3MuY2MJMjAyMS0wMy0wMyAxNzozOToxNC45NDQxMDA3NDYgKzAxMDAKK0BAIC01NSw3 ICs1NSw5IEBACisgLy8gVE9ETyhjcmJ1Zy5jb20vMTA1MjM5Nyk6IFJldmlzaXQgdGhlIG1hY3Jv IGV4cHJlc3Npb24gb25jZSBidWlsZCBmbGFnIHN3aXRjaAorIC8vIG9mIGxhY3Jvcy1jaHJvbWUg aXMgY29tcGxldGUuCisgI2lmIGRlZmluZWQoT1NfTElOVVgpIHx8IEJVSUxERkxBRyhJU19DSFJP TUVPU19MQUNST1MpCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxnbnUvbGli Yy12ZXJzaW9uLmg+CisrI2VuZGlmCisgCisgI2luY2x1ZGUgImJhc2UvbGludXhfdXRpbC5oIgor ICNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3RyaW5nX3NwbGl0LmgiCitAQCAtMzE3LDYgKzMxOSw3 IEBACisgLy8gVE9ETyhjcmJ1Zy5jb20vMTA1MjM5Nyk6IFJldmlzaXQgdGhlIG1hY3JvIGV4cHJl c3Npb24gb25jZSBidWlsZCBmbGFnIHN3aXRjaAorIC8vIG9mIGxhY3Jvcy1jaHJvbWUgaXMgY29t cGxldGUuCisgI2lmIGRlZmluZWQoT1NfTElOVVgpIHx8IEJVSUxERkxBRyhJU19DSFJPTUVPU19M QUNST1MpCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgYmFzZTo6VmVyc2lvbiB2ZXJzaW9u KGdudV9nZXRfbGliY192ZXJzaW9uKCkpOworIAorICAgVU1BTGludXhHbGliY1ZlcnNpb24gZ2xp YmNfdmVyc2lvbl9yZXN1bHQgPSBVTUFfTElOVVhfR0xJQkNfTk9UX1BBUlNFQUJMRTsKK0BAIC0z MzgsNiArMzQxLDcgQEAKKyAgIH0KKyAgIGJhc2U6OlVtYUhpc3RvZ3JhbVNwYXJzZSgiTGludXgu R2xpYmNWZXJzaW9uIiwgZ2xpYmNfdmVyc2lvbl9yZXN1bHQpOworICNlbmRpZgorKyNlbmRpZgor IH0KKyAKKyB2b2lkIFJlY29yZFRvdWNoRXZlbnRTdGF0ZSgpIHsKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtc2FuZGJveC5wYXRjaCBiL3NyY3Br Z3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtc2FuZGJveC5wYXRjaAppbmRleCAy MzBiYjdiYmQyOS4uMGI5ODI1M2Y0ZDYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vZmls ZXMvbXVzbC1wYXRjaGVzL211c2wtc2FuZGJveC5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVt L2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLXNhbmRib3gucGF0Y2gKQEAgLTEsNiArMSw2IEBACiAt LS0gLi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJz X3Jlc3RyaWN0aW9ucy5jYy5vcmlnCTIwMTktMDctMDMgMTE6NTM6MjEuMjEzNDc5NzM2IC0wNDAw CiArKysgLi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0 ZXJzX3Jlc3RyaWN0aW9ucy5jYwkyMDE5LTA3LTAzIDExOjU3OjAxLjMwNDk5ODI1MyAtMDQwMAot QEAgLTE0MCwzMSArMTQwLDE0IEBACitAQCAtMTMxLDMxICsxMzEsMTQgQEAKICBSZXN1bHRFeHBy IFJlc3RyaWN0Q2xvbmVUb1RocmVhZHNBbmRFUEVSTUZvcmsoKSB7CiAgICBjb25zdCBBcmc8dW5z aWduZWQgbG9uZz4gZmxhZ3MoMCk7CiAgCkBAIC00MSw3ICs0MSw3IEBACiAgCiAtLS0gLi9zYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjLm9yaWcKICsrKyAu L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKLUBAIC00 OTQsNiArNDk0LDcgQEAKK0BAIC01MjEsNiArNTIxLDcgQEAKICAgICAgY2FzZSBfX05SX21sb2Nr OgogICAgICBjYXNlIF9fTlJfbXVubG9jazoKICAgICAgY2FzZSBfX05SX211bm1hcDoKQEAgLTQ5 LDcgKzQ5LDcgQEAKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgY2FzZSBfX05SX21hZHZpc2U6 CiAgICAgIGNhc2UgX19OUl9taW5jb3JlOgotQEAgLTUwOSw3ICs1MTAsNiBAQAorQEAgLTU0MCw3 ICs1NDAsNiBAQAogICAgICBjYXNlIF9fTlJfbW9kaWZ5X2xkdDoKICAjZW5kaWYKICAgICAgY2Fz ZSBfX05SX21wcm90ZWN0OgpAQCAtNjEsNyArNjEsNyBAQCBkaWZmIC0tZ2l0IGEvc2FuZGJveC9s aW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYyBiL3NhbmRib3gvbGludXgv cwogaW5kZXggODBmMDJjMC4uMjFmYmUyMSAxMDA2NDQKIC0tLSBzYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCiArKysgc2FuZGJveC9saW51eC9zZWNjb21w LWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwotQEAgLTM3Myw2ICszNzMsNyBAQCBib29sIFN5 c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPckRlYXRoKGludCBzeXNubykgeworQEAg LTQwMCw2ICs0MDAsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRP ckRlYXRoKGludCBzeXNubykgewogICNpZiBkZWZpbmVkKF9faTM4Nl9fKQogICAgICBjYXNlIF9f TlJfd2FpdHBpZDoKICAjZW5kaWYKQEAgLTY5LDcgKzY5LDcgQEAgaW5kZXggODBmMDJjMC4uMjFm YmUyMSAxMDA2NDQKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgY2FzZSBfX05SX2Nsb25lOiAg Ly8gU2hvdWxkIGJlIHBhcmFtZXRlci1yZXN0cmljdGVkLgogICAgICBjYXNlIF9fTlJfc2V0bnM6 ICAvLyBQcml2aWxlZ2VkLgotQEAgLTM4NSw3ICszODYsNiBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0FsbG93ZWRQcm9jZXNzU3RhcnRPckRlYXRoKGludCBzeXNubykgeworQEAgLTQxMyw3ICs0MTMs NiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPckRlYXRoKGludCBz eXNubykgewogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19taXBzX18pCiAgICAgIGNhc2UgX19OUl9zZXRfdGhyZWFkX2FyZWE6CiAgI2Vu ZGlmCkBAIC03OSw3ICs3OSw3IEBAIGluZGV4IDgwZjAyYzAuLjIxZmJlMjEgMTAwNjQ0CiAgICAg IGNhc2UgX19OUl92Zm9yazoKIC0tLSBzYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJf cG9saWN5X2xpbnV4LmNjCiArKysgc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3Bv bGljeV9saW51eC5jYwotQEAgLTEwMCw5ICsxMDAsOSBAQAorQEAgLTk1LDkgKzk1LDkgQEAKICAg ICAgY2FzZSBfX05SX3VuYW1lOgogICAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0cGFyYW06CiAgICAg IGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9t aXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9uby1tYWxsaW5mby5wYXRjaCBiL3NyY3BrZ3MvY2hyb21p dW0vZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoCmluZGV4IDI1NGExZjYzMmRh Li4xNmU3ZTM2ODE3NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBh dGNoZXMvbm8tbWFsbGluZm8ucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNs LXBhdGNoZXMvbm8tbWFsbGluZm8ucGF0Y2gKQEAgLTEsNiArMSw2IEBACiAtLS0gYmFzZS90cmFj ZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYy5vcmlnCiArKysgYmFzZS90cmFjZV9ldmVu dC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYwotQEAgLTI0Myw3ICsyNDMsNyBAQAorQEAgLTE4NCw3 ICsxODQsNyBAQAogICAgYWxsb2NhdGVkX29iamVjdHNfY291bnQgPSBtYWluX2hlYXBfaW5mby5i bG9ja19jb3VudDsKICAjZWxpZiBkZWZpbmVkKE9TX0ZVQ0hTSUEpCiAgLy8gVE9ETyhmdWNoc2lh KTogUG9ydCwgc2VlIGh0dHBzOi8vY3JidWcuY29tLzcwNjU5Mi4KQEAgLTMwLDcgKzMwLDcgQEAK ICAjZW5kaWYKIC0tLSB0aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLXN1 Ynplcm8vbGliL1N1cHBvcnQvVW5peC9Qcm9jZXNzLmluYwogKysrIHRoaXJkX3BhcnR5L3N3aWZ0 c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVyby9saWIvU3VwcG9ydC9Vbml4L1Byb2Nlc3Mu aW5jLm9yaWcKLUBAIC04NCw3ICs4NCw3IEBACitAQCAtODYsNyArODYsNyBAQAogIH0KICAKICBz aXplX3QgUHJvY2Vzczo6R2V0TWFsbG9jVXNhZ2UoKSB7CkBAIC00Miw3ICs0Miw3IEBACiAKIC0t LSB0aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvY29uZmlncy9s aW51eC9pbmNsdWRlL2xsdm0vQ29uZmlnL2NvbmZpZy5oLm9yaWcJMjAxOS0wOS0zMCAxMzowMzo0 Mi41NTY4ODA1MzcgLTA0MDAKICsrKyB0aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0 eS9sbHZtLTEwLjAvY29uZmlncy9saW51eC9pbmNsdWRlL2xsdm0vQ29uZmlnL2NvbmZpZy5oCTIw MTktMDktMzAgMTM6MDc6MjcuOTg5ODIxMjI3IC0wNDAwCi1AQCAtMTIyLDcgKzEyMiw5IEBACitA QCAtMTI1LDcgKzEyNSw5IEBACiAgLyogI3VuZGVmIEhBVkVfTUFMTENUTCAqLwogIAogIC8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbWFsbGluZm8nIGZ1bmN0aW9uLiAqLwpkaWZmIC0t Z2l0IGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvcmVzb2x2ZXIucGF0Y2gg Yi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9yZXNvbHZlci5wYXRjaAppbmRl eCAyOWZlMmQyZjFmMy4uMGNlNzdjOTZhNjAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0v ZmlsZXMvbXVzbC1wYXRjaGVzL3Jlc29sdmVyLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0v ZmlsZXMvbXVzbC1wYXRjaGVzL3Jlc29sdmVyLnBhdGNoCkBAIC0xLDYgKzEsNiBAQAogLS0tIG5l dC9kbnMvaG9zdF9yZXNvbHZlcl9tYW5hZ2VyLmNjLm9yaWcJMjAyMC0xMC0wOSAxNjozOToxMi4w NjQwNjk4MzUgLTA0MDAKICsrKyBuZXQvZG5zL2hvc3RfcmVzb2x2ZXJfbWFuYWdlci5jYwkyMDIw LTEwLTA5IDE2OjQyOjQ5LjczODMwMjc3MiAtMDQwMAotQEAgLTI3NzksOCArMjc3OSw3IEBACitA QCAtMjU2Miw4ICsyNTYyLDcgQEAKICAgIE5ldHdvcmtDaGFuZ2VOb3RpZmllcjo6QWRkQ29ubmVj dGlvblR5cGVPYnNlcnZlcih0aGlzKTsKICAgIGlmIChzeXN0ZW1fZG5zX2NvbmZpZ19ub3RpZmll cl8pCiAgICAgIHN5c3RlbV9kbnNfY29uZmlnX25vdGlmaWVyXy0+QWRkT2JzZXJ2ZXIodGhpcyk7 CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvYnJvd3Nlci1zaXplX3QucGF0 Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvYnJvd3Nlci1zaXplX3QucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhMjE0ZDk4N2Q2Li4wMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvYnJvd3Nlci1zaXplX3QucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwxMCArMCwwIEBACi0tLS0gY2hyb21lL2Jyb3dzZXIvc2VhcmNoL2JhY2tncm91bmQv bnRwX2JhY2tncm91bmRzLmgJMjAyMC0wOC0xMCAyMDozOToyMC4wMDAwMDAwMDAgKzAyMDAKLSsr KyBjaHJvbWUvYnJvd3Nlci9zZWFyY2gvYmFja2dyb3VuZC9udHBfYmFja2dyb3VuZHMuaAkyMDIw LTA5LTA0IDEzOjQ4OjIyLjY0MDAyMzI1NiArMDIwMAotQEAgLTYsNiArNiw3IEBACi0gI2RlZmlu ZSBDSFJPTUVfQlJPV1NFUl9TRUFSQ0hfQkFDS0dST1VORF9OVFBfQkFDS0dST1VORFNfSF8KLSAK LSAjaW5jbHVkZSA8YXJyYXk+Ci0rI2luY2x1ZGUgPGNzdGRkZWY+Ci0gCi0gY2xhc3MgR1VSTDsK LSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1BWFRy ZWVGb3JtYXR0ZXItaW5jbHVkZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJv bWl1bS04OC1BWFRyZWVGb3JtYXR0ZXItaW5jbHVkZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggNTQ3ODEwOTg5MjAuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1BWFRyZWVGb3JtYXR0ZXItaW5jbHVkZS5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUZyb20gNmU0MDJkOTdjMmRlYzU3MjZmMzdlOTVm OTdiN2Y3ZTEyYjFkM2IxZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEpvc2UgRGFw ZW5hIFBheiA8amRhcGVuYUBpZ2FsaWEuY29tPgotRGF0ZTogV2VkLCAxMSBOb3YgMjAyMCAxMTow MjoxMyArMDEwMAotU3ViamVjdDogW1BBVENIXSBJV1lVOiBpbmNsdWRlIGhlYWRlcnMgZm9yIHN0 ZDo6dmVjdG9yIGFuZCBzdGQ6OnVuaXF1ZV9wdHIgaW4gQVhUcmVlRm9ybWF0dGVyCi0KLUZpeCB0 aGVzZSBidWlsZCBlcnJvcnMgd2l0aCBsaWJzdGRjKys6Ci0uLi8uLi91aS9hY2Nlc3NpYmlsaXR5 L3BsYXRmb3JtL2luc3BlY3QvdHJlZV9mb3JtYXR0ZXIuaDozNToxMjogZXJyb3I6IOKAmHN0ZDo6 dmVjdG9y4oCZIGhhcyBub3QgYmVlbiBkZWNsYXJlZAotLi4vLi4vdWkvYWNjZXNzaWJpbGl0eS9w bGF0Zm9ybS9pbnNwZWN0L3RyZWVfZm9ybWF0dGVyLmg6NjE6MTY6IGVycm9yOiDigJh1bmlxdWVf cHRy4oCZIGluIG5hbWVzcGFjZSDigJhzdGTigJkgZG9lcyBub3QgbmFtZSBhIHRlbXBsYXRlIHR5 cGUKLQotQnVnOiA5NTc1MTkKLUNoYW5nZS1JZDogSTQwMmFjMDY0NDI1NWIzY2Q0OTMyZmYyZmU3 MmQ5OTliMTI1YTc4OTUKLS0tLQotCi1kaWZmIC0tZ2l0IGEvdWkvYWNjZXNzaWJpbGl0eS9wbGF0 Zm9ybS9pbnNwZWN0L3RyZWVfZm9ybWF0dGVyLmggYi91aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3Jt L2luc3BlY3QvdHJlZV9mb3JtYXR0ZXIuaAotaW5kZXggNGE3MGE0ZC4uYmIyMzc2OCAxMDA2NDQK LS0tLSB1aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3JtL2luc3BlY3QvdHJlZV9mb3JtYXR0ZXIuaAot KysrIHVpL2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vaW5zcGVjdC90cmVlX2Zvcm1hdHRlci5oCi1A QCAtNSw2ICs1LDkgQEAKLSAjaWZuZGVmIFVJX0FDQ0VTU0lCSUxJVFlfUExBVEZPUk1fSU5TUEVD VF9UUkVFX0ZPUk1BVFRFUl9IXwotICNkZWZpbmUgVUlfQUNDRVNTSUJJTElUWV9QTEFURk9STV9J TlNQRUNUX1RSRUVfRk9STUFUVEVSX0hfCi0gCi0rI2luY2x1ZGUgPG1lbW9yeT4KLSsjaW5jbHVk ZSA8dmVjdG9yPgotKwotICNpbmNsdWRlICJ1aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3JtL2luc3Bl Y3QvaW5zcGVjdC5oIgotIAotICNpbmNsdWRlICJ1aS9nZngvbmF0aXZlX3dpZGdldF90eXBlcy5o IgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LUJvb2tt YXJrTW9kZWxPYnNlcnZlci1pbmNsdWRlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L2Nocm9taXVtLTg4LUJvb2ttYXJrTW9kZWxPYnNlcnZlci1pbmNsdWRlLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjI2YTYwYTM2ZS4uMDAwMDAwMDAwMDAKLS0tIGEvc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LUJvb2ttYXJrTW9kZWxPYnNlcnZlci1p bmNsdWRlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotRnJvbSAxMjdlYzNi MWJmMjZhYjM3ZjJhZTgzMzNmMjg0MDA4ODY4NzU2Mjc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotRGF0ZTog U2F0LCAyMSBOb3YgMjAyMCAxNTo1OToyMyArMDAwMAotU3ViamVjdDogW1BBVENIXSBJV1lVOiBz aXplX3QgaXMgZGVmaW5lZCBzdGRkZWYuaAotCi1DaGFuZ2UtSWQ6IEk0NDAwYWM3YzYwMDRiNDll YzZlNzJjNDRmMjc1NGUyMTY2NjQyZjg4Ci0tLS0KLQotZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMv Ym9va21hcmtzL2Jyb3dzZXIvYm9va21hcmtfbW9kZWxfb2JzZXJ2ZXIuaCBiL2NvbXBvbmVudHMv Ym9va21hcmtzL2Jyb3dzZXIvYm9va21hcmtfbW9kZWxfb2JzZXJ2ZXIuaAotaW5kZXggNjljNDBl Ny4uMGU1ZWI5NiAxMDA2NDQKLS0tLSBjb21wb25lbnRzL2Jvb2ttYXJrcy9icm93c2VyL2Jvb2tt YXJrX21vZGVsX29ic2VydmVyLmgKLSsrKyBjb21wb25lbnRzL2Jvb2ttYXJrcy9icm93c2VyL2Jv b2ttYXJrX21vZGVsX29ic2VydmVyLmgKLUBAIC03LDYgKzcsOCBAQAotIAotICNpbmNsdWRlIDxz ZXQ+Ci0gCi0rI2luY2x1ZGUgPHN0ZGRlZi5oPgotKwotIGNsYXNzIEdVUkw7Ci0gCi0gbmFtZXNw YWNlIGJvb2ttYXJrcyB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tODgtQ29tcG9zaXRvckZyYW1lUmVwb3J0ZXItZGNoZWNrLnBhdGNoIGIvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LUNvbXBvc2l0b3JGcmFtZVJlcG9ydGVyLWRjaGVj ay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWExYzUyZTBiN2UuLjAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1Db21wb3Np dG9yRnJhbWVSZXBvcnRlci1kY2hlY2sucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCww IEBACi1Gcm9tIDU2YzY1NGE5MTYwMGUzYmYyNTRhYTlmNjZjMTE1MWIwODUwYjZlZTQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKb3NlIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlh LmNvbT4KLURhdGU6IFdlZCwgMTEgTm92IDIwMjAgMTA6MjQ6NDcgKzAxMDAKLVN1YmplY3Q6IFtQ QVRDSF0gR0NDOiBkbyBub3QgcGFzcyB1bmlxdWVfcHRyIHRvIERDSEVDS19ORSwgYnV0IHRoZSBh Y3R1YWwgcG9pbnRlciwgaW4gQ29tcG9zaXRvckZyYW1lUmVwb3J0ZXIKLQotRENIRUNLX05FIGNv bXBhcmlzb24gcmVxdWlyZXMgQ2hlY2tPcFZhbHVlU3RyIHRvIGJlIGRlZmluZWQgZm9yIHRoZQot dHlwZSwgb3IgcHJvdmlkaW5nIGFuIG91dHB1dCBzdHJlYW0gb3BlcmF0b3IuIEEgdW5pcXVlX3B0 ciBkb2VzIG5vdAotcHJvdmlkZSBhbnkuCi0KLUNvbXBpbGF0aW9uIGluIEdDQyBpcyBmYWlsaW5n IGluIENvbXBvc2l0b3JGcmFtZVJlcG9ydGVyIGJlY2F1c2Ugb2YKLXRoaXM6Ci0uLi8uLi9jYy9t ZXRyaWNzL2NvbXBvc2l0b3JfZnJhbWVfcmVwb3J0ZXIuY2M6IEluIG1lbWJlciBmdW5jdGlvbiDi gJh2b2lkIGNjOjpDb21wb3NpdG9yRnJhbWVSZXBvcnRlcjo6UmVwb3J0RXZlbnRMYXRlbmN5SGlz dG9ncmFtcygpIGNvbnN04oCZOgotLi4vLi4vYmFzZS9jaGVja19vcC5oOjIyNDo1OTogZXJyb3I6 IG5vIG1hdGNoaW5nIGZ1bmN0aW9uIGZvciBjYWxsIHRvIOKAmENoZWNrT3BWYWx1ZVN0cihjb25z dCBzdGQ6OnVuaXF1ZV9wdHI8Y2M6OkV2ZW50TWV0cmljcz4mKeKAmQotCi1GaXhlZCBjb21wYXJp bmcgdGhlIHJlc3VsdCBvZiBnZXQoKSBtZXRob2QgZm9yIHVuaXF1ZV9wdHIgaW5zdGVhZCBvZgot dGhlIHVuaXF1ZV9wdHIuCi0KLUJ1ZzogODE5Mjk0Ci1DaGFuZ2UtSWQ6IEkxMTEwM2QxODY3Yzcx OTZjMWRlOTJlNzJmOWYxMmRjZmQzMWMyOWYxCi0KLSh1cGRhdGVkIHRvIHVzZSBEQ0hFQ0sgYXMg c3VnZ2VzdGVkIGluIGNvbW1lbnRzKQotLS0tCi0KLWRpZmYgLS1naXQgYS9jYy9tZXRyaWNzL2Nv bXBvc2l0b3JfZnJhbWVfcmVwb3J0ZXIuY2MgYi9jYy9tZXRyaWNzL2NvbXBvc2l0b3JfZnJhbWVf cmVwb3J0ZXIuY2MKLWluZGV4IDcyNWJlYjAuLmZhZmQwZjMgMTAwNjQ0Ci0tLS0gY2MvbWV0cmlj cy9jb21wb3NpdG9yX2ZyYW1lX3JlcG9ydGVyLmNjCi0rKysgY2MvbWV0cmljcy9jb21wb3NpdG9y X2ZyYW1lX3JlcG9ydGVyLmNjCi1AQCAtNjg2LDcgKzY4Niw3IEBACi0gCi0gdm9pZCBDb21wb3Np dG9yRnJhbWVSZXBvcnRlcjo6UmVwb3J0RXZlbnRMYXRlbmN5SGlzdG9ncmFtcygpIGNvbnN0IHsK LSAgIGZvciAoY29uc3QgYXV0byYgZXZlbnRfbWV0cmljcyA6IGV2ZW50c19tZXRyaWNzXykgewot LSAgICBEQ0hFQ0tfTkUoZXZlbnRfbWV0cmljcywgbnVsbHB0cik7Ci0rICAgIERDSEVDSyhldmVu dF9tZXRyaWNzKTsKLSAgICAgY29uc3Qgc3RkOjpzdHJpbmcgaGlzdG9ncmFtX2Jhc2VfbmFtZSA9 Ci0gICAgICAgICBHZXRFdmVudExhdGVuY3lIaXN0b2dyYW1CYXNlTmFtZSgqZXZlbnRfbWV0cmlj cyk7Ci0gICAgIGNvbnN0IGludCBldmVudF90eXBlX2luZGV4ID0gc3RhdGljX2Nhc3Q8aW50Pihl dmVudF9tZXRyaWNzLT50eXBlKCkpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL2Nocm9taXVtLTg4LVN0cmluZ1Bvb2wtaW5jbHVkZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1TdHJpbmdQb29sLWluY2x1ZGUucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1NWJiYWUyZWNlLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtU3RyaW5nUG9vbC1pbmNsdWRlLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotRnJvbSAzNzIzNjZiNDE4MDUzM2YyN2Qz MjUwYTUwODEwODI4MzcwZDY5N2IwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3Rl cGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotRGF0ZTogU2F0LCAyMSBOb3Yg MjAyMCAxNjoxMjoxOCArMDAwMAotU3ViamVjdDogW1BBVENIXSBJV1lVOiBpbmNsdWRlIGxpbWl0 cyBmb3Igc3RkOjpudW1lcmljX2xpbWl0cwotCi1DaGFuZ2UtSWQ6IElhNTIyNmUxNDMyYTYyMmY0 ZjRhYmM4ZjFiMThiY2FiODYzOGE3M2M2Ci0tLS0KLQotZGlmZiAtLWdpdCBhL3NyYy90cmFjZV9w cm9jZXNzb3IvY29udGFpbmVycy9zdHJpbmdfcG9vbC5oIGIvc3JjL3RyYWNlX3Byb2Nlc3Nvci9j b250YWluZXJzL3N0cmluZ19wb29sLmgKLWluZGV4IDExYWU5MWMuLjU4YzZkYjIgMTAwNjQ0Ci0t LS0gdGhpcmRfcGFydHkvcGVyZmV0dG8vc3JjL3RyYWNlX3Byb2Nlc3Nvci9jb250YWluZXJzL3N0 cmluZ19wb29sLmgKLSsrKyB0aGlyZF9wYXJ0eS9wZXJmZXR0by9zcmMvdHJhY2VfcHJvY2Vzc29y L2NvbnRhaW5lcnMvc3RyaW5nX3Bvb2wuaAotQEAgLTIyLDYgKzIyLDcgQEAKLSAKLSAjaW5jbHVk ZSA8dW5vcmRlcmVkX21hcD4KLSAjaW5jbHVkZSA8dmVjdG9yPgotKyNpbmNsdWRlIDxsaW1pdHM+ Ci0gCi0gI2luY2x1ZGUgInBlcmZldHRvL2V4dC9iYXNlL29wdGlvbmFsLmgiCi0gI2luY2x1ZGUg InBlcmZldHRvL2V4dC9iYXNlL3BhZ2VkX21lbW9yeS5oIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWZlZGVyYXRlZF9sZWFybmluZy1pbmNsdWRlLnBh dGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWZlZGVyYXRlZF9sZWFy bmluZy1pbmNsdWRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZWIxNTM3 ZDgwMS4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVt LTg4LWZlZGVyYXRlZF9sZWFybmluZy1pbmNsdWRlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MjEgKzAsMCBAQAotRnJvbSBiY2IyMGJhYmVlNjAyYjU1ZmU0YmQwMjZlMTNhNDFkMTBiODk2MzJm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5 QGdvb2dsZW1haWwuY29tPgotRGF0ZTogU2F0LCAyMSBOb3YgMjAyMCAxNTo1NTowMiArMDAwMAot U3ViamVjdDogW1BBVENIXSBJV1lVOiBpbmNsdWRlIGxpbWl0cyBmb3Igc3RkOjpudW1lcmljX2xp bWl0cwotCi1DaGFuZ2UtSWQ6IEkxYjZiMDdlYmIzOTdhMjljODRkM2VkNTFhZTQxNTIzZTNlY2Fi NDk3Ci0tLS0KLQotZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvZmVkZXJhdGVkX2xlYXJuaW5nL2Zs b2NfY29uc3RhbnRzLmNjIGIvY29tcG9uZW50cy9mZWRlcmF0ZWRfbGVhcm5pbmcvZmxvY19jb25z dGFudHMuY2MKLWluZGV4IGRmNjZlNWQuLjJlYjUwZjEgMTAwNjQ0Ci0tLS0gY29tcG9uZW50cy9m ZWRlcmF0ZWRfbGVhcm5pbmcvZmxvY19jb25zdGFudHMuY2MKLSsrKyBjb21wb25lbnRzL2ZlZGVy YXRlZF9sZWFybmluZy9mbG9jX2NvbnN0YW50cy5jYwotQEAgLTQsNiArNCw4IEBACi0gCi0gI2lu Y2x1ZGUgImNvbXBvbmVudHMvZmVkZXJhdGVkX2xlYXJuaW5nL2Zsb2NfY29uc3RhbnRzLmgiCi0g Ci0rI2luY2x1ZGUgPGxpbWl0cz4KLSsKLSBuYW1lc3BhY2UgZmVkZXJhdGVkX2xlYXJuaW5nIHsK LSAKLSAvLyBUaGlzIGlzIG9ubHkgZm9yIGV4cGVyaW1lbnRhdGlvbiBhbmQgd29uJ3QgYmUgc2Vy dmVkIHRvIHdlYnNpdGVzLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2No cm9taXVtLTg4LWdsaWJjLTIuMzMucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg NjQzMDZkNWU0MjkuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9j aHJvbWl1bS04OC1nbGliYy0yLjMzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQ0ICswLDAg QEAKLSMgUGF0Y2ggbWFkZSBieSBLZXZpbiBLb2ZsZXIgPEtldmluQHRpZ2NjLnRpY2FsYy5vcmc+ Ci0jIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTkwNDY1Mgot Ci1kaWZmIC11cCBjaHJvbWl1bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9zZWNjb21wLWJw Zi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYy5mc3RhdGZpeCBjaHJvbWl1bS04OC4wLjQzMjQu OTYvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYwot LS0tIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2Mu ZnN0YXRmaXgJMjAyMS0wMS0yNSAxMDoxMTo0NS40Mjc0MzYzOTggLTA1MDAKLSsrKyBzYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCTIwMjEtMDEtMjUg MTA6MTI6NTEuMzM3Njk5MDAzIC0wNTAwCi1AQCAtMjU3LDYgKzI1NywxOCBAQCBSZXN1bHRFeHBy IEV2YWx1YXRlU3lzY2FsbEltcGwoaW50IGZzX2RlCi0gICAgIHJldHVybiBSZXN0cmljdEtpbGxU YXJnZXQoY3VycmVudF9waWQsIHN5c25vKTsKLSAgIH0KLSAKLSsjaWYgZGVmaW5lZChfX05SX25l d2ZzdGF0YXQpCi0rICBpZiAoc3lzbm8gPT0gX19OUl9uZXdmc3RhdGF0KSB7Ci0rICAgIHJldHVy biBSZXdyaXRlRnN0YXRhdFNJR1NZUygpOwotKyAgfQotKyNlbmRpZgotKwotKyNpZiBkZWZpbmVk KF9fTlJfZnN0YXRhdDY0KQotKyAgaWYgKHN5c25vID09IF9fTlJfZnN0YXRhdDY0KSB7Ci0rICAg IHJldHVybiBSZXdyaXRlRnN0YXRhdFNJR1NZUygpOwotKyAgfQotKyNlbmRpZgotKwotICAgaWYg KFN5c2NhbGxTZXRzOjpJc0ZpbGVTeXN0ZW0oc3lzbm8pIHx8Ci0gICAgICAgU3lzY2FsbFNldHM6 OklzQ3VycmVudERpcmVjdG9yeShzeXNubykpIHsKLSAgICAgcmV0dXJuIEVycm9yKGZzX2Rlbmll ZF9lcnJubyk7Ci1kaWZmIC11cCBjaHJvbWl1bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5jYy5mc3RhdGZpeCBjaHJvbWl1bS04 OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5k bGVycy5jYwotLS0tIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFu ZGxlcnMuY2MuZnN0YXRmaXgJMjAyMS0wMS0yNSAxMDoxMzoxMC4xNzk3NzQwODEgLTA1MDAKLSsr KyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjCTIw MjEtMDEtMjUgMTA6MTY6MTguNzkwNTI1NzQ2IC0wNTAwCi1AQCAtNiw2ICs2LDggQEAKLSAKLSAj aW5jbHVkZSAic2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVy cy5oIgotIAotKyNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNsdWRlIDxmY250bC5oPgotICNpbmNs dWRlIDxzdGRkZWYuaD4KLSAjaW5jbHVkZSA8c3RkaW50Lmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5o PgotQEAgLTM1NSw2ICszNTcsMzUgQEAgaW50cHRyX3QgU0lHU1lTU2NoZWRIYW5kbGVyKGNvbnN0 IHN0cnVjdAotICAgcmV0dXJuIC1FTk9TWVM7Ci0gfQotIAotK2ludHB0cl90IFNJR1NZU0ZzdGF0 YXRIYW5kbGVyKGNvbnN0IHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSYgYXJncywKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBhdXgpIHsKLSsgIHN3aXRjaCAoYXJncy5ucikg ewotKyNpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkKLSsgICAgY2FzZSBfX05SX25ld2ZzdGF0 YXQ6Ci0rI2VuZGlmCi0rI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCi0rICAgIGNhc2UgX19O Ul9mc3RhdGF0NjQ6Ci0rI2VuZGlmCi0rI2lmIGRlZmluZWQoX19OUl9uZXdmc3RhdGF0KSB8fCBk ZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQotKyAgICAgIGlmICgqcmVpbnRlcnByZXRfY2FzdDxjb25z dCBjaGFyICo+KGFyZ3MuYXJnc1sxXSkgPT0gJ1wwJwotKyAgICAgICAgICAmJiBhcmdzLmFyZ3Nb M10gPT0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KEFUX0VNUFRZX1BBVEgpKSB7Ci0rICAgICAgICBy ZXR1cm4gc2FuZGJveDo6c3lzX2ZzdGF0NjQoc3RhdGljX2Nhc3Q8aW50PihhcmdzLmFyZ3NbMF0p LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8 c3RydWN0IHN0YXQ2NCAqPihhcmdzLmFyZ3NbMl0pKTsKLSsgICAgICB9IGVsc2UgewotKyAgICAg ICAgZXJybm8gPSBFQUNDRVM7Ci0rICAgICAgICByZXR1cm4gLTE7Ci0rICAgICAgfQotKyAgICAg IGJyZWFrOwotKyNlbmRpZgotKyAgfQotKwotKyAgQ3Jhc2hTSUdTWVNfSGFuZGxlcihhcmdzLCBh dXgpOwotKwotKyAgLy8gU2hvdWxkIG5ldmVyIGJlIHJlYWNoZWQuCi0rICBSQVdfQ0hFQ0soZmFs c2UpOwotKyAgcmV0dXJuIC1FTk9TWVM7Ci0rfQotKwotIGJwZl9kc2w6OlJlc3VsdEV4cHIgQ3Jh c2hTSUdTWVMoKSB7Ci0gICByZXR1cm4gYnBmX2RzbDo6VHJhcChDcmFzaFNJR1NZU19IYW5kbGVy LCBOVUxMKTsKLSB9Ci1AQCAtMzg3LDYgKzQxOCwxMCBAQCBicGZfZHNsOjpSZXN1bHRFeHByIFJl d3JpdGVTY2hlZFNJR1NZUygpCi0gICByZXR1cm4gYnBmX2RzbDo6VHJhcChTSUdTWVNTY2hlZEhh bmRsZXIsIE5VTEwpOwotIH0KLSAKLSticGZfZHNsOjpSZXN1bHRFeHByIFJld3JpdGVGc3RhdGF0 U0lHU1lTKCkgewotKyAgcmV0dXJuIGJwZl9kc2w6OlRyYXAoU0lHU1lTRnN0YXRhdEhhbmRsZXIs IE5VTEwpOwotK30KLSsKLSB2b2lkIEFsbG9jYXRlQ3Jhc2hLZXlzKCkgewotICNpZiAhZGVmaW5l ZChPU19OQUNMX05PTlNGSSkKLSAgIGlmIChzZWNjb21wX2NyYXNoX2tleSkKLWRpZmYgLXVwIGNo cm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2ln c3lzX2hhbmRsZXJzLmguZnN0YXRmaXggY2hyb21pdW0tODguMC40MzI0Ljk2L3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFuZGxlcnMuaAotLS0tIHNhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFuZGxlcnMuaC5mc3RhdGZpeAkyMDIxLTAx LTI1IDEwOjE2OjM2Ljk4MjU5ODIzNiAtMDUwMAotKysrIHNhbmRib3gvbGludXgvc2VjY29tcC1i cGYtaGVscGVycy9zaWdzeXNfaGFuZGxlcnMuaAkyMDIxLTAxLTI1IDEwOjE4OjQ1LjcwNTExMTAy NyAtMDUwMAotQEAgLTYyLDYgKzYyLDEwIEBAIFNBTkRCT1hfRVhQT1JUIGludHB0cl90IFNJR1NZ U1B0cmFjZUZhaWwKLSAvLyBzY2hlZF9zZXRwYXJhbSgpLCBzY2hlZF9zZXRzY2hlZHVsZXIoKQot IFNBTkRCT1hfRVhQT1JUIGludHB0cl90IFNJR1NZU1NjaGVkSGFuZGxlcihjb25zdCBhcmNoX3Nl Y2NvbXBfZGF0YSYgYXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdm9pZCogYXV4KTsKLSsvLyBJZiB0aGUgZnN0YXRhdCBzeXNjYWxsIGlzIGFjdHVhbGx5 IGEgZGlzZ3Vpc2VkIGZzdGF0LCBjYWxscyB0aGUgcmVndWxhciBmc3RhdAotKy8vIHN5c2NhbGws IG90aGVyd2lzZSwgY3Jhc2hlcyBpbiB0aGUgc2FtZSB3YXkgYXMgQ3Jhc2hTSUdTWVNfSGFuZGxl ci4KLStTQU5EQk9YX0VYUE9SVCBpbnRwdHJfdCBTSUdTWVNGc3RhdGF0SGFuZGxlcihjb25zdCBz dHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsIAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHZvaWQqIGF1eCk7Ci0gCi0gLy8gVmFyaWFudHMgb2YgdGhl IGFib3ZlIGZ1bmN0aW9ucyBmb3IgdXNlIHdpdGggYnBmX2RzbC4KLSBTQU5EQk9YX0VYUE9SVCBi cGZfZHNsOjpSZXN1bHRFeHByIENyYXNoU0lHU1lTKCk7Ci1AQCAtNzIsNiArNzYsNyBAQCBTQU5E Qk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIENyYXNoCi0gU0FOREJPWF9FWFBPUlQgYnBm X2RzbDo6UmVzdWx0RXhwciBDcmFzaFNJR1NZU0Z1dGV4KCk7Ci0gU0FOREJPWF9FWFBPUlQgYnBm X2RzbDo6UmVzdWx0RXhwciBDcmFzaFNJR1NZU1B0cmFjZSgpOwotIFNBTkRCT1hfRVhQT1JUIGJw Zl9kc2w6OlJlc3VsdEV4cHIgUmV3cml0ZVNjaGVkU0lHU1lTKCk7Ci0rU0FOREJPWF9FWFBPUlQg YnBmX2RzbDo6UmVzdWx0RXhwciBSZXdyaXRlRnN0YXRhdFNJR1NZUygpOwotIAotIC8vIEFsbG9j YXRlcyBhIGNyYXNoIGtleSBzbyB0aGF0IFNlY2NvbXAgaW5mb3JtYXRpb24gY2FuIGJlIHJlY29y ZGVkLgotIHZvaWQgQWxsb2NhdGVDcmFzaEtleXMoKTsKLWRpZmYgLXVwIGNocm9taXVtLTg4LjAu NDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MuZnN0YXRm aXggY2hyb21pdW0tODguMC40MzI0Ljk2L3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93 cmFwcGVycy5jYwotLS0tIHNhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5j Yy5mc3RhdGZpeAkyMDIxLTAxLTI1IDEwOjE4OjUzLjMwNzE0MTMxMSAtMDUwMAotKysrIHNhbmRi b3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYwkyMDIxLTAxLTI1IDEwOjE5OjQ2 Ljk4MjM1NTI5MyAtMDUwMAotQEAgLTI2MSw0ICsyNjEsMTMgQEAgaW50IHN5c19zaWdhY3Rpb24o aW50IHNpZ251bSwKLSAKLSAjZW5kaWYgIC8vIGRlZmluZWQoTUVNT1JZX1NBTklUSVpFUikKLSAK LStTQU5EQk9YX0VYUE9SVCBpbnQgc3lzX2ZzdGF0NjQoaW50IGZkLCBzdHJ1Y3Qgc3RhdDY0ICpi dWYpCi0rewotKyNpZiBkZWZpbmVkKF9fTlJfZnN0YXQ2NCkKLSsgICAgcmV0dXJuIHN5c2NhbGwo X19OUl9mc3RhdDY0LCBmZCwgYnVmKTsKLSsjZWxzZQotKyAgICByZXR1cm4gc3lzY2FsbChfX05S X2ZzdGF0LCBmZCwgYnVmKTsKLSsjZW5kaWYKLSt9Ci0rCi0gfSAgLy8gbmFtZXNwYWNlIHNhbmRi b3gKLWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlcnZpY2Vz L3N5c2NhbGxfd3JhcHBlcnMuaC5mc3RhdGZpeCBjaHJvbWl1bS04OC4wLjQzMjQuOTYvc2FuZGJv eC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmgKLS0tLSBzYW5kYm94L2xpbnV4L3Nl cnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaC5mc3RhdGZpeAkyMDIxLTAxLTI1IDEwOjE5OjUzLjEx NTM3OTc0MSAtMDUwMAotKysrIHNhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVy cy5oCTIwMjEtMDEtMjUgMTA6MjA6NDUuNDg1NTg4NDIxIC0wNTAwCi1AQCAtMTcsNiArMTcsNyBA QCBzdHJ1Y3Qgc29ja19mcHJvZzsKLSBzdHJ1Y3QgcmxpbWl0NjQ7Ci0gc3RydWN0IGNhcF9oZHI7 Ci0gc3RydWN0IGNhcF9kYXRhOwotK3N0cnVjdCBzdGF0NjQ7Ci0gCi0gbmFtZXNwYWNlIHNhbmRi b3ggewotIAotQEAgLTg0LDYgKzg1LDkgQEAgU0FOREJPWF9FWFBPUlQgaW50IHN5c19zaWdhY3Rp b24oaW50IHNpZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj dCBzaWdhY3Rpb24qIGFjdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3Qgc2lnYWN0aW9uKiBvbGRhY3QpOwotIAotKy8vIFJlY2VudCBnbGliYyByZXdyaXRlcyBmc3Rh dCB0byBmc3RhdGF0LgotK1NBTkRCT1hfRVhQT1JUIGludCBzeXNfZnN0YXQ2NChpbnQgZmQsIHN0 cnVjdCBzdGF0NjQgKmJ1Zik7Ci0rCi0gfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKLSAKLSAjZW5k aWYgIC8vIFNBTkRCT1hfTElOVVhfU0VSVklDRVNfU1lTQ0FMTF9XUkFQUEVSU19IXwpkaWZmIC0t Z2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWlkZW9ncmFwaGljU3Bh Y2VDaGFyYWN0ZXIucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgt aWRlb2dyYXBoaWNTcGFjZUNoYXJhY3Rlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMzhhMTE0MjNiMmQuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9jaHJvbWl1bS04OC1pZGVvZ3JhcGhpY1NwYWNlQ2hhcmFjdGVyLnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsMjcgKzAsMCBAQAotRnJvbSA3NWZmODgyYmI1ZjJmY2QxNDQzMWU2NWZhNjM4 YWU3MmJkYjQ3MDg2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3RlcGhhbiBIYXJ0 bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotRGF0ZTogU3VuLCAxNSBOb3YgMjAyMCAxNDoz MToyMyArMDAwMAotU3ViamVjdDogW1BBVENIXSBmaXggaWRlb2dyYXBoaWNTcGFjZUNoYXJhY3Rl ciBjb25zdGFudCBmb3Igc3lzdGVtIGljdQotCi1odHRwczovL2Nocm9taXVtLXJldmlldy5nb29n bGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMTY4NzQxMQotcmVuYW1lZCBpZGVvZ3JhcGhp Y1NwYWNlQ2hhcmFjdGVyIHRvIGtJZGVvZ3JhcGhpY1NwYWNlQ2hhcmFjdGVyLgotLS0tCi0gdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3RleHQvdGV4dF9jb2RlY19pY3Uu Y2MgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p Ci0KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYv dGV4dC90ZXh0X2NvZGVjX2ljdS5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRm b3JtL3d0Zi90ZXh0L3RleHRfY29kZWNfaWN1LmNjCi1pbmRleCBmYjhhYjA1Li41ZDRlYTEzIDEw MDY0NAotLS0tIHRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi90ZXh0L3Rl eHRfY29kZWNfaWN1LmNjCi0rKysgdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0v d3RmL3RleHQvdGV4dF9jb2RlY19pY3UuY2MKLUBAIC00MzIsNyArNDMyLDcgQEAgU3RyaW5nIFRl eHRDb2RlY0lDVTo6RGVjb2RlKGNvbnN0IGNoYXIqIGJ5dGVzLAotICAgLy8gSUNVIGRlY29kZXMg aXQgYXMgVStFNUU1LgotICAgaWYgKCFzdHJjbXAoZW5jb2RpbmdfLkdldE5hbWUoKSwgIkdCSyIp KSB7Ci0gICAgIGlmIChFcXVhbElnbm9yaW5nQVNDSUlDYXNlKGVuY29kaW5nXy5HZXROYW1lKCks ICJnYjE4MDMwIikpCi0tICAgICAgcmVzdWx0U3RyaW5nLlJlcGxhY2UoMHhFNUU1LCBpZGVvZ3Jh cGhpY1NwYWNlQ2hhcmFjdGVyKTsKLSsgICAgICByZXN1bHRTdHJpbmcuUmVwbGFjZSgweEU1RTUs IGtJZGVvZ3JhcGhpY1NwYWNlQ2hhcmFjdGVyKTsKLSAgICAgLy8gTWFrZSBHQksgY29tcGxpYW50 IHRvIHRoZSBlbmNvZGluZyBzcGVjIGFuZCBhbGlnbiB3aXRoIEdCMTgwMzAKLSAgICAgcmVzdWx0 U3RyaW5nLlJlcGxhY2UoMHgwMUY5LCAweEU3QzgpOwotICAgICAvLyBGSVhNRTogT25jZSBodHRw czovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTI4NzQwI2MzCi0tLSAK LTIuMjYuMgotCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0t ODgtaXR5cC1pbmNsdWRlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVt LTg4LWl0eXAtaW5jbHVkZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzU0 YjZmZmZkNTQuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJv bWl1bS04OC1pdHlwLWluY2x1ZGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBA Ci1Gcm9tIGJjMzgzYTVkZDdmYThmMmI1MzVmMjg4MTVmZDY5MzJmYmMwZDJhNDUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFp bC5jb20+Ci1EYXRlOiBXZWQsIDI4IE9jdCAyMDIwIDE2OjAwOjM1ICswMDAwCi1TdWJqZWN0OiBb UEFUQ0hdIElXWVU6IGluY2x1ZGUgc3RkZGVmLmggZm9yIHNpemVfdAotCi0tLS0KLSB0aGlyZF9w YXJ0eS9kYXduL3NyYy9jb21tb24vaXR5cF9hcnJheS5oIHwgMiArKwotIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2Rhd24vc3JjL2Nv bW1vbi9pdHlwX2FycmF5LmggYi90aGlyZF9wYXJ0eS9kYXduL3NyYy9jb21tb24vaXR5cF9hcnJh eS5oCi1pbmRleCA0OGUwODBmLi5jNzg0MTk4IDEwMDY0NAotLS0tIHRoaXJkX3BhcnR5L2Rhd24v c3JjL2NvbW1vbi9pdHlwX2FycmF5LmgKLSsrKyB0aGlyZF9wYXJ0eS9kYXduL3NyYy9jb21tb24v aXR5cF9hcnJheS5oCi1AQCAtMjEsNiArMjEsOCBAQAotICNpbmNsdWRlIDxhcnJheT4KLSAjaW5j bHVkZSA8dHlwZV90cmFpdHM+Ci0gCi0rI2luY2x1ZGUgPHN0ZGRlZi5oPgotKwotIG5hbWVzcGFj ZSBpdHlwIHsKLSAKLSAgICAgLy8gaXR5cDo6YXJyYXkgaXMgYSBoZWxwZXIgY2xhc3MgdGhhdCB3 cmFwcyBzdGQ6OmFycmF5IHdpdGggdGhlIHJlc3RyaWN0aW9uIHRoYXQKLS0tIAotMi4yNi4yCi0K ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC12YWFwaS1h dHRyaWJ1dGUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtdmFh cGktYXR0cmlidXRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNDE2MWFm NDVjNy4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVt LTg4LXZhYXBpLWF0dHJpYnV0ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAK LUZyb20gNGY0NjA0ODc3ZjNiNjY2YWM3YTM3M2FlNDQzZTNjMzc5NTQyNDU2OSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWls LmNvbT4KLURhdGU6IEZyaSwgNiBOb3YgMjAyMCAxMToxODo0MiArMDAwMAotU3ViamVjdDogW1BB VENIXSBHQ0M6IGZpeCBhdHRyaWJ1dGUgb24gZnVuY3Rpb24gZGVmaW5pdGlvbgotCi1HQ0MgZG9l cyBub3QgYWNjZXB0IGF0dHJpYnV0ZXMgYXQgdGhlIGVuZCBmb3IgZnVuY3Rpb24gZGVmaW5pdGlv bnMuCi1Tb2x1dGlvbiBpcyB0byBtb3ZlIGl0IGJlZm9yZSBmdW5jdGlvbiBuYW1lLiBPdGhlcndp c2UgR0NDIGZhaWxzIGxpa2UKLXRoaXM6Ci0KLS4uLy4uL2Jhc2UvY29tcGlsZXJfc3BlY2lmaWMu aDo5NzoyODogZXJyb3I6IGF0dHJpYnV0ZXMgYXJlIG5vdCBhbGxvd2VkCi1vbiBhIGZ1bmN0aW9u LWRlZmluaXRpb24KLSAgIDk3IHwgI2RlZmluZSBXQVJOX1VOVVNFRF9SRVNVTFQgX19hdHRyaWJ1 dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSkKLSAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fgotCSAuLi8uLi9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3Jh cHBlci5oOjMyMjozNjogbm90ZTogaW4KLQkgZXhwYW5zaW9uIG9mIG1hY3JvICdXQVJOX1VOVVNF RF9SRVNVTFQnCi0JICAgMzIyIHwgICAgICAgICAgICAgICAgICAgICBjb25zdCBUKiBkYXRhKSBX QVJOX1VOVVNFRF9SRVNVTFQgewotCSAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci0tLS0KLSBtZWRpYS9ncHUvdmFhcGkvdmFhcGlf d3JhcHBlci5oIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVy LmggYi9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5oCi1pbmRleCBmZDFmZDgyLi5kZWVk YTFmIDEwMDY0NAotLS0tIG1lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmgKLSsrKyBtZWRp YS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5oCi1AQCAtMzE4LDggKzMxOCw4IEBAIGNsYXNzIE1F RElBX0dQVV9FWFBPUlQgVmFhcGlXcmFwcGVyCi0gICAvLyBDb252ZW5pZW50IHRlbXBsYXRpemVk IHZlcnNpb24gb2YgU3VibWl0QnVmZmVyKCkgd2hlcmUgfHNpemV8IGlzIGRlZHVjZWQgdG8KLSAg IC8vIGJlIHRoZSBzaXplIG9mIHRoZSB0eXBlIG9mIHwqZGF0YXwuCi0gICB0ZW1wbGF0ZSA8dHlw ZW5hbWUgVD4KLS0gIGJvb2wgU3VibWl0QnVmZmVyKFZBQnVmZmVyVHlwZSB2YV9idWZmZXJfdHlw ZSwKLS0gICAgICAgICAgICAgICAgICAgIGNvbnN0IFQqIGRhdGEpIFdBUk5fVU5VU0VEX1JFU1VM VCB7Ci0rICBib29sIFdBUk5fVU5VU0VEX1JFU1VMVCBTdWJtaXRCdWZmZXIoVkFCdWZmZXJUeXBl IHZhX2J1ZmZlcl90eXBlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IFQqIGRhdGEpIHsKLSAgICAgcmV0dXJuIFN1Ym1pdEJ1ZmZlcih2YV9idWZmZXJfdHlw ZSwgc2l6ZW9mKFQpLCBkYXRhKTsKLSAgIH0KLSAgIC8vIEJhdGNoLXZlcnNpb24gb2YgU3VibWl0 QnVmZmVyKCksIHdoZXJlIHRoZSBsb2NrIGZvciBhY2Nlc3NpbmcgbGlidmEgaXMKLS0tIAotMi4y Ni4yCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OS1D b21wb3NpdG9yRnJhbWVSZXBvcnRlci1kY2hlY2sucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvY2hyb21pdW0tODktQ29tcG9zaXRvckZyYW1lUmVwb3J0ZXItZGNoZWNrLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kMzFhZDdmZWM0OAotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OS1Db21wb3Np dG9yRnJhbWVSZXBvcnRlci1kY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIG5ldC90 aGlyZF9wYXJ0eS9xdWljaGUvc3JjL3F1aWMvY29yZS9xdWljX3BhdGhfdmFsaWRhdG9yLmNjLm9y aWcJMjAyMS0wMy0wMiAxODo0ODowNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBuZXQvdGhpcmRfcGFy dHkvcXVpY2hlL3NyYy9xdWljL2NvcmUvcXVpY19wYXRoX3ZhbGlkYXRvci5jYwkyMDIxLTAzLTAz IDEzOjE3OjU2LjYyNDI4MTQ3NSArMDEwMAorQEAgLTY4LDcgKzY4LDcgQEAKKyB2b2lkIFF1aWNQ YXRoVmFsaWRhdG9yOjpTdGFydFBhdGhWYWxpZGF0aW9uKAorICAgICBzdGQ6OnVuaXF1ZV9wdHI8 UXVpY1BhdGhWYWxpZGF0aW9uQ29udGV4dD4gY29udGV4dCwKKyAgICAgc3RkOjp1bmlxdWVfcHRy PFJlc3VsdERlbGVnYXRlPiByZXN1bHRfZGVsZWdhdGUpIHsKKy0gIERDSEVDS19ORShudWxscHRy LCBjb250ZXh0KTsKKysgIERDSEVDSyhjb250ZXh0KTsKKyAgIFFVSUNfRExPRyhJTkZPKSA8PCAi U3RhcnQgdmFsaWRhdGluZyBwYXRoICIgPDwgKmNvbnRleHQKKyAgICAgICAgICAgICAgICAgICA8 PCAiIHZpYSB3cml0ZXI6ICIgPDwgY29udGV4dC0+V3JpdGVyVG9Vc2UoKTsKKyAgIGlmIChwYXRo X2NvbnRleHRfICE9IG51bGxwdHIpIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9kZWJpYW5fcGF0Y2hlc19kaXNhYmxlX3dpZGV2aW5lLWNkbS1jdS5wYXRjaCBiL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9kZWJpYW5fcGF0Y2hlc19kaXNhYmxlX3dpZGV2aW5lLWNkbS1j dS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYzM3NTQ2MzZh M2QKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZGViaWFuX3Bh dGNoZXNfZGlzYWJsZV93aWRldmluZS1jZG0tY3UucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorZGVz Y3JpcHRpb246IERpc2FibGUgV2lkZXZpbmUgQ0RNIGNvbXBvbmVudCB1cGRhdGVyCithdXRob3I6 IE1pY2hlbCBMZSBCaWhhbiA8bWljaGVsQGxlYmloYW4ucGw+CisKKy0tLSBjaHJvbWUvYnJvd3Nl ci9jb21wb25lbnRfdXBkYXRlci9yZWdpc3RyYXRpb24uY2MKKysrKyBjaHJvbWUvYnJvd3Nlci9j b21wb25lbnRfdXBkYXRlci9yZWdpc3RyYXRpb24uY2MKK0BAIC0xMDAsMTAgKzEwMCw2IEBAIHZv aWQgUmVnaXN0ZXJDb21wb25lbnRzRm9yVXBkYXRlKGJvb2wgaXNfb2ZmX3RoZV9yZWNvcmRfcHJv ZmlsZSwKKyAgIFJlZ2lzdGVyUGVwcGVyRmxhc2hDb21wb25lbnQoY3VzKTsKKyAjZW5kaWYKKyAK Ky0jaWYgQlVJTERGTEFHKEVOQUJMRV9XSURFVklORV9DRE1fQ09NUE9ORU5UKQorLSAgUmVnaXN0 ZXJXaWRldmluZUNkbUNvbXBvbmVudChjdXMpOworLSNlbmRpZiAgLy8gQlVJTERGTEFHKEVOQUJM RV9XSURFVklORV9DRE1fQ09NUE9ORU5UKQorLQorICNpZiBCVUlMREZMQUcoRU5BQkxFX05BQ0wp ICYmICFkZWZpbmVkKE9TX0FORFJPSUQpCisgI2lmIGRlZmluZWQoT1NfQ0hST01FT1MpCisgICAv LyBQTmFDbCBvbiBDaHJvbWUgT1MgaXMgb24gcm9vdGZzIGFuZCB0aGVyZSBpcyBubyBuZWVkIHRv IGRvd25sb2FkIGl0LiBCdXQKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9s aWJjX21hbGxvYy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9saWJjX21hbGxvYy5w YXRjaAppbmRleCBlZGExMWVjODY2My4uZjhkOGQ2NmRhMTggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9saWJjX21hbGxvYy5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvbGliY19tYWxsb2MucGF0Y2gKQEAgLTEsMjYgKzEsMTEgQEAKLS0tLSBiYXNlL3By b2Nlc3MvbWVtb3J5X2xpbnV4LmNjLm9yaWcJMjAxNy0wOS0xNSAwODo0MTo0My4wMDAwMDAwMDAg KzAwMDAKLSsrKyBiYXNlL3Byb2Nlc3MvbWVtb3J5X2xpbnV4LmNjCTIwMTctMDktMTUgMDg6NDQ6 MzkuODA0OTk1NDY5ICswMDAwCi1AQCAtMjEsNiArMjEsMTIgQEAKLSAjaW5jbHVkZSAidGhpcmRf cGFydHkvdGNtYWxsb2MvY2hyb21pdW0vc3JjL2dwZXJmdG9vbHMvdGNtYWxsb2MuaCIKLSAjZW5k aWYKLSAKLSsjaWYgZGVmaW5lZChMSUJDX0dMSUJDKQotK2V4dGVybiAiQyIgewotK2V4dGVybiB2 b2lkICpfX2xpYmNfbWFsbG9jKHNpemVfdCBzaXplKTsKLSt9Ci0rI2VuZGlmCi0rCi0gbmFtZXNw YWNlIGJhc2UgewotIAotIHNpemVfdCBnX29vbV9zaXplID0gMFU7Ci0tLS0gYmFzZS9wcm9jZXNz L21lbW9yeV9saW51eC5jYy5vcmlnCTIwMjAtMDgtMzAgMTQ6MTg6MzUuNDAxMTMyNTkzIC0wNDAw Ci0rKysgYmFzZS9wcm9jZXNzL21lbW9yeV9saW51eC5jYwkyMDIwLTA4LTMwIDE0OjE5OjA4LjAz MDE5OTE4OSAtMDQwMAotQEAgLTE0MSw3ICsxNDEsNyBAQAorLS0tIGJhc2UvcHJvY2Vzcy9tZW1v cnlfbGludXguY2Mub3JpZwkyMDIxLTAzLTAyIDE4OjQ0OjU4LjAwMDAwMDAwMCArMDEwMAorKysr IGJhc2UvcHJvY2Vzcy9tZW1vcnlfbGludXguY2MJMjAyMS0wMy0wMyAxMjowNTo1Ny45NTIyOTY5 ODQgKzAxMDAKK0BAIC0xNTEsNyArMTUxLDcgQEAKICAgICAgKCFkZWZpbmVkKExJQkNfR0xJQkMp ICYmICFCVUlMREZMQUcoVVNFX1RDTUFMTE9DKSkKICAgICpyZXN1bHQgPSBtYWxsb2Moc2l6ZSk7 CiAgI2VsaWYgZGVmaW5lZChMSUJDX0dMSUJDKSAmJiAhQlVJTERGTEFHKFVTRV9UQ01BTExPQykK IC0gICpyZXN1bHQgPSBfX2xpYmNfbWFsbG9jKHNpemUpOwotKyAgKnJlc3VsdCA9IDo6X19saWJj X21hbGxvYyhzaXplKTsKKysgICpyZXN1bHQgPSBtYWxsb2Moc2l6ZSk7CiAgI2VsaWYgQlVJTERG TEFHKFVTRV9UQ01BTExPQykKICAgICpyZXN1bHQgPSB0Y19tYWxsb2Nfc2tpcF9uZXdfaGFuZGxl cihzaXplKTsKICAjZW5kaWYKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9s bHZtLXJlbW92ZS11bnN1cHBvcnRlZC1jb21waWxlci13YXJuaW5ncy5wYXRjaCBiL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9sbHZtLXJlbW92ZS11bnN1cHBvcnRlZC1jb21waWxlci13YXJuaW5n cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzAxNmIwNjUyMTIuLjAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9sbHZtLXJlbW92ZS11bnN1cHBv cnRlZC1jb21waWxlci13YXJuaW5ncy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAg QEAKLS0tLSBidWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24ub3JpZwkyMDIxLTAxLTIwIDA5 OjAxOjQ0LjM2MjExNDMxMSAtMDUwMAotKysrIGJ1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5n bgkyMDIxLTAxLTIwIDA5OjAzOjQxLjg4MDIzMjI0OCAtMDUwMAotQEAgLTE1MzQsOSArMTUzNCw2 IEBACi0gCi0gICAgICAgICAgICMgVE9ETyhodHRwczovL2NyYnVnLmNvbS8xMDI4MTEwKTogRXZh bHVhdGUgYW5kIHBvc3NpYmxlIGVuYWJsZS4KLSAgICAgICAgICAgIi1Xbm8tZGVwcmVjYXRlZC1j b3B5IiwKLS0KLS0gICAgICAgICAgIyBUT0RPKGh0dHBzOi8vY3JidWcuY29tLzEwNTAyODEpOiBD bGVhbiB1cCwgZW5hYmxlLgotLSAgICAgICAgICAiLVduby1ub24tYy10eXBlZGVmLWZvci1saW5r YWdlIiwKLSAgICAgICAgIF0KLSAKLSAgICAgICAgIGNmbGFnc19jICs9IFsKLUBAIC0xNTQ4LDEz ICsxNTQ1LDYgQEAKLSAgICAgICAgICAgIyBUT0RPKGh0dHBzOi8vY3JidWcuY29tLzExNDM3MDAp OiBDbGVhbiB1cCBhbmQgcmUtZW5hYmxlLgotICAgICAgICAgICBjZmxhZ3Nfb2JqYyA9IFsgIi1X bm8tZ251LWZvbGRpbmctY29uc3RhbnQiIF0KLSAgICAgICAgIH0KLS0KLS0gICAgICAgIGlmIChl bmFibGVfd21heF90b2tlbnMpIHsKLS0gICAgICAgICAgY2ZsYWdzICs9IFsgIi1XbWF4LXRva2Vu cyIgXQotLSAgICAgICAgfSBlbHNlIHsKLS0gICAgICAgICAgIyBUT0RPKGh0dHBzOi8vY3JidWcu Y29tLzEwNDk1NjkpOiBSZW1vdmUgYWZ0ZXIgQ2xhbmcgODdiMjM1ZGIuCi0tICAgICAgICAgIGNm bGFncyArPSBbICItV25vLW1heC10b2tlbnMiIF0KLS0gICAgICAgIH0KLSAgICAgICB9Ci0gICAg IH0KLSAgIH0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9tdXNsLXY4LW1v bm90b25pYy1wdGhyZWFkLWNvbnRfdGltZWR3YWl0LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL211c2wtdjgtbW9ub3RvbmljLXB0aHJlYWQtY29udF90aW1lZHdhaXQucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzYThlYTMyYzljLi4wMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbXVzbC12OC1tb25vdG9uaWMtcHRocmVhZC1jb250 X3RpbWVkd2FpdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVVzZSBtb25v dG9uaWMgY2xvY2sgZm9yIHB0aHJlYWRfY29uZF90aW1lZHdhaXQgd2l0aCBtdXNsIHRvby4KLQot ZGlmZiAtLWdpdCBhL3Y4L3NyYy9iYXNlL3BsYXRmb3JtL2NvbmRpdGlvbi12YXJpYWJsZS5jYyBi L3Y4L3NyYy9iYXNlL3BsYXRmb3JtL2NvbmRpdGlvbi12YXJpYWJsZS5jYwotaW5kZXggNWVhNzA4 My4uYzEzMDI3ZSAxMDA2NDQKLS0tLSAuL3Y4L3NyYy9iYXNlL3BsYXRmb3JtL2NvbmRpdGlvbi12 YXJpYWJsZS5jYwotKysrIC4vdjgvc3JjL2Jhc2UvcGxhdGZvcm0vY29uZGl0aW9uLXZhcmlhYmxl LmNjCi1AQCAtMTYsNyArMTYsNyBAQCBuYW1lc3BhY2UgYmFzZSB7Ci0gCi0gQ29uZGl0aW9uVmFy aWFibGU6OkNvbmRpdGlvblZhcmlhYmxlKCkgewotICNpZiAoVjhfT1NfRlJFRUJTRCB8fCBWOF9P U19ORVRCU0QgfHwgVjhfT1NfT1BFTkJTRCB8fCBcCi0tICAgICAoVjhfT1NfTElOVVggJiYgVjhf TElCQ19HTElCQykpCi0rICAgICBWOF9PU19MSU5VWCkKLSAgIC8vIE9uIEZyZWUvTmV0L09wZW5C U0QgYW5kIExpbnV4IHdpdGggZ2xpYmMgd2UgY2FuIGNoYW5nZSB0aGUgdGltZQotICAgLy8gc291 cmNlIGZvciBwdGhyZWFkX2NvbmRfdGltZWR3YWl0KCkgdG8gdXNlIHRoZSBtb25vdG9uaWMgY2xv Y2suCi0gICBwdGhyZWFkX2NvbmRhdHRyX3QgYXR0cjsKLUBAIC05Miw3ICs5Miw3IEBAIGJvb2wg Q29uZGl0aW9uVmFyaWFibGU6OldhaXRGb3IoTXV0ZXgqIG11dGV4LCBjb25zdCBUaW1lRGVsdGEm IHJlbF90aW1lKSB7Ci0gICAgICAgJm5hdGl2ZV9oYW5kbGVfLCAmbXV0ZXgtPm5hdGl2ZV9oYW5k bGUoKSwgJnRzKTsKLSAjZWxzZQotICNpZiAoVjhfT1NfRlJFRUJTRCB8fCBWOF9PU19ORVRCU0Qg fHwgVjhfT1NfT1BFTkJTRCB8fCBcCi0tICAgICAoVjhfT1NfTElOVVggJiYgVjhfTElCQ19HTElC QykpCi0rICAgICBWOF9PU19MSU5VWCkKLSAgIC8vIE9uIEZyZWUvTmV0L09wZW5CU0QgYW5kIExp bnV4IHdpdGggZ2xpYmMgd2UgY2FuIGNoYW5nZSB0aGUgdGltZQotICAgLy8gc291cmNlIGZvciBw dGhyZWFkX2NvbmRfdGltZWR3YWl0KCkgdG8gdXNlIHRoZSBtb25vdG9uaWMgY2xvY2suCi0gICBy ZXN1bHQgPSBjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnRzKTsKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaCBiL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaAppbmRleCAzODY5OTdlOGVkMS4uMzU2YTc2 MTlhYzkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5w YXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8tZXhlY2luZm8ucGF0Y2gKQEAg LTEsNSArMSw1IEBACi0tLS0gYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5jYy5vcmlnCTIw MTktMDUtMTQgMTQ6NDk6NDQuMDAwMDAwMDAwIC0wNDAwCi0rKysgYmFzZS9kZWJ1Zy9zdGFja190 cmFjZV9wb3NpeC5jYwkyMDE5LTA3LTAyIDEwOjQzOjQzLjQ5MDA0NTAxMyAtMDQwMAorLS0tIGJh c2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2Mub3JpZwkyMDIxLTAzLTAyIDE4OjQ0OjU4LjAw MDAwMDAwMCArMDEwMAorKysrIGJhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MJMjAyMS0w My0wMyAxNjo0NjozNy44Mjg4ODM5NzMgKzAxMDAKIEBAIC0yNyw3ICsyNyw3IEBACiAgI2lmICFk ZWZpbmVkKFVTRV9TWU1CT0xJWkUpCiAgI2luY2x1ZGUgPGN4eGFiaS5oPgpAQCAtOSw3ICs5LDcg QEAKICAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KICAjZW5kaWYKICAKLUBAIC04Niw3ICs4Niw3IEBA CitAQCAtODgsNyArODgsNyBAQAogICAgLy8gTm90ZTogY29kZSBpbiB0aGlzIGZ1bmN0aW9uIGlz IE5PVCBhc3luYy1zaWduYWwgc2FmZSAoc3RkOjpzdHJpbmcgdXNlcwogICAgLy8gbWFsbG9jIGlu dGVybmFsbHkpLgogIApAQCAtMTgsNyArMTgsNyBAQAogICAgc3RkOjpzdHJpbmc6OnNpemVfdHlw ZSBzZWFyY2hfZnJvbSA9IDA7CiAgICB3aGlsZSAoc2VhcmNoX2Zyb20gPCB0ZXh0LT5zaXplKCkp IHsKICAgICAgLy8gTG9vayBmb3IgdGhlIHN0YXJ0IG9mIGEgbWFuZ2xlZCBzeW1ib2wsIGZyb20g c2VhcmNoX2Zyb20uCi1AQCAtMTIxLDcgKzEyMSw3IEBACitAQCAtMTIzLDcgKzEyMyw3IEBACiAg ICAgICAgc2VhcmNoX2Zyb20gPSBtYW5nbGVkX3N0YXJ0ICsgMjsKICAgICAgfQogICAgfQpAQCAt MjcsNyArMjcsNyBAQAogIH0KICAjZW5kaWYgIC8vICFkZWZpbmVkKFVTRV9TWU1CT0xJWkUpCiAg Ci1AQCAtMTMzLDcgKzEzMyw3IEBACitAQCAtMTM1LDcgKzEzNSw3IEBACiAgICB2aXJ0dWFsIH5C YWNrdHJhY2VPdXRwdXRIYW5kbGVyKCkgPSBkZWZhdWx0OwogIH07CiAgCkBAIC0zNiw3ICszNiw3 IEBACiAgdm9pZCBPdXRwdXRQb2ludGVyKHZvaWQqIHBvaW50ZXIsIEJhY2t0cmFjZU91dHB1dEhh bmRsZXIqIGhhbmRsZXIpIHsKICAgIC8vIFRoaXMgc2hvdWxkIGJlIG1vcmUgdGhhbiBlbm91Z2gg dG8gc3RvcmUgYSA2NC1iaXQgbnVtYmVyIGluIGhleDoKICAgIC8vIDE2IGhleCBkaWdpdHMgKyAx IGZvciBudWxsLXRlcm1pbmF0b3IuCi1AQCAtMjE2LDcgKzIxNiw3IEBACitAQCAtMjE4LDcgKzIx OCw3IEBACiAgICB9CiAgI2VuZGlmICAvLyBkZWZpbmVkKFVTRV9TWU1CT0xJWkUpCiAgfQpAQCAt NDUsNyArNDUsNyBAQAogIAogIHZvaWQgUHJpbnRUb1N0ZGVycihjb25zdCBjaGFyKiBvdXRwdXQp IHsKICAgIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdz IHVzZWQgYnkgaW4tcHJvY2VzcwotQEAgLTgxMiw3ICs4MTIsNyBAQAorQEAgLTgyNyw3ICs4Mjcs NyBAQAogICAgLy8gTk9URTogVGhpcyBjb2RlIE1VU1QgYmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0 J3MgdXNlZCBieSBpbi1wcm9jZXNzCiAgICAvLyBzdGFjayBkdW1waW5nIHNpZ25hbCBoYW5kbGVy KS4gTk8gbWFsbG9jIG9yIHN0ZGlvIGlzIGFsbG93ZWQgaGVyZS4KICAKQEAgLTU0LDcgKzU0LDcg QEAKICAgIC8vIFRob3VnaCB0aGUgYmFja3RyYWNlIEFQSSBtYW4gcGFnZSBkb2VzIG5vdCBsaXN0 IGFueSBwb3NzaWJsZSBuZWdhdGl2ZQogICAgLy8gcmV0dXJuIHZhbHVlcywgd2UgdGFrZSBubyBj aGFuY2UuCiAgICByZXR1cm4gYmFzZTo6c2F0dXJhdGVkX2Nhc3Q8c2l6ZV90PihiYWNrdHJhY2Uo dHJhY2UsIGNvdW50KSk7Ci1AQCAtODI1LDEzICs4MjUsMTMgQEAKK0BAIC04NDAsMTMgKzg0MCwx MyBAQAogIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdz IHVzZWQgYnkgaW4tcHJvY2VzcwogIC8vIHN0YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIpLiBO TyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxsb3dlZCBoZXJlLgogIApkaWZmIC0tZ2l0IGEvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL25vLWdldGNvbnRleHQucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvbm8tZ2V0Y29udGV4dC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggYjJhNDk4NzM0YzkuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9uby1nZXRjb250ZXh0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotLS0t IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9l eGNlcHRpb25faGFuZGxlci5jYy5vcmlnCTIwMTUtMTItMDYgMDk6NTk6NTUuNTU0NTM2NjQ2ICsw MTAwCi0rKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9o YW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCTIwMTUtMTItMDYgMTA6MDE6MTYuODE4MjM4MDM1 ICswMTAwCi1AQCAtNDc3LDcgKzQ3Nyw5IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6U2ltdWxh dGVTaWduYWxEZWwKLSAgIHNpZ2luZm8uc2lfY29kZSA9IFNJX1VTRVI7Ci0gICBzaWdpbmZvLnNp X3BpZCA9IGdldHBpZCgpOwotICAgdWNvbnRleHRfdCBjb250ZXh0OwotKyNpZiBkZWZpbmVkKF9f R0xJQkNfXykKLSAgIGdldGNvbnRleHQoJmNvbnRleHQpOwotKyNlbmRpZgotICAgcmV0dXJuIEhh bmRsZVNpZ25hbChzaWcsICZzaWdpbmZvLCAmY29udGV4dCk7Ci0gfQotIAotQEAgLTY0Nyw5ICs2 NDksMTQgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpXcml0ZU1pbmlkdW1wKCkgewotICAgc3lz X3ByY3RsKFBSX1NFVF9EVU1QQUJMRSwgMSwgMCwgMCwgMCk7Ci0gCi0gICBDcmFzaENvbnRleHQg Y29udGV4dDsKLSsKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pCi0gICBpbnQgZ2V0Y29udGV4dF9y ZXN1bHQgPSBnZXRjb250ZXh0KCZjb250ZXh0LmNvbnRleHQpOwotICAgaWYgKGdldGNvbnRleHRf cmVzdWx0KQotICAgICByZXR1cm4gZmFsc2U7Ci0rI2Vsc2UKLSsgIHJldHVybiBmYWxzZTsKLSsj ZW5kaWYKLSAKLSAjaWYgZGVmaW5lZChfX2kzODZfXykKLSAgIC8vIEluIENQVUZpbGxGcm9tVUNv bnRleHQgaW4gbWluaWR1bXB3cml0ZXIuY2MgdGhlIHN0YWNrIHBvaW50ZXIgaXMgcmV0cmlldmVk CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8tc3RkLXRpbWUucGF0Y2gg Yi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8tc3RkLXRpbWUucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjdmMzVjMjJmMDgxCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLXN0ZC10aW1lLnBhdGNoCkBAIC0wLDAgKzEs MTEgQEAKKy0tLSB1aS9hY2Nlc3NpYmlsaXR5L2F4X3RyZWVfc2VyaWFsaXplci5oLm9yaWcJMjAy MS0wMy0wMiAxODo0NjowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyB1aS9hY2Nlc3NpYmlsaXR5L2F4 X3RyZWVfc2VyaWFsaXplci5oCTIwMjEtMDMtMDMgMTQ6MDM6NDMuOTI2MTYwMzMzICswMTAwCitA QCAtNzQ2LDcgKzc0Niw3IEBACisgI2VuZGlmICAvLyBkZWZpbmVkKEFYX0ZBSUxfRkFTVF9CVUlM RCkKKyAgICAgICAgIHN0YXRpYyBib29sIGhhc19zZW50X2R1cGVfaWRfZXJyID0gZmFsc2U7Cisg ICAgICAgICBpZiAoIWhhc19zZW50X2R1cGVfaWRfZXJyKSB7CistICAgICAgICAgIHN0ZDo6c3Jh bmQoc3RkOjp0aW1lKG51bGxwdHIpKTsgIC8vIHVzZSBjdXJyZW50IHRpbWUgYXMgc2VlZC4KKysg ICAgICAgICAgc3RkOjpzcmFuZCh0aW1lKG51bGxwdHIpKTsgIC8vIHVzZSBjdXJyZW50IHRpbWUg YXMgc2VlZC4KKyAgICAgICAgICAgaWYgKHN0ZDo6cmFuZCgpICUgNTAgPT0gMCkgeyAgICAgLy8g Um91Z2hseSAyJSBvZiB0aGUgdGltZS4KKyAgICAgICAgICAgICBiYXNlOjpkZWJ1Zzo6RHVtcFdp dGhvdXRDcmFzaGluZygpOworICAgICAgICAgICAgIGhhc19zZW50X2R1cGVfaWRfZXJyID0gdHJ1 ZTsgIC8vIE9ubHkgc2VuZCBvbmNlLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL3NhbmRib3gtbWVtYmFycmllci5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9z YW5kYm94LW1lbWJhcnJpZXIucGF0Y2gKaW5kZXggYTMxYTlmNmE1ZTkuLmIzMGJiYzAyY2I2IDEw MDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvc2FuZGJveC1tZW1iYXJyaWVyLnBh dGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9zYW5kYm94LW1lbWJhcnJpZXIucGF0 Y2gKQEAgLTEsNTYgKzEsNiBAQAotLS0tIHNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJt NjRfbGludXhfc3lzY2FsbHMuaAotKysrIHNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJt NjRfbGludXhfc3lzY2FsbHMuaAotQEAgLTEwNjMsNCArMTA2Myw4IEBACi0gI2RlZmluZSBfX05S X21lbWZkX2NyZWF0ZSAyNzkKLSAjZW5kaWYKLSAKLSsjaWYgIWRlZmluZWQoX19OUl9tZW1iYXJy aWVyKQotKyNkZWZpbmUgX19OUl9tZW1iYXJyaWVyIDI4MwotKyNlbmRpZgotKwotICNlbmRpZiAg Ly8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19BUk02NF9MSU5VWF9TWVNDQUxMU19IXwot Ci0tLS0gc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm1fbGludXhfc3lzY2FsbHMuaAot KysrIHNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtX2xpbnV4X3N5c2NhbGxzLmgKLUBA IC0xMzg1LDYgKzEzODUsMTAgQEAKLSAjZGVmaW5lIF9fTlJfbWVtZmRfY3JlYXRlIChfX05SX1NZ U0NBTExfQkFTRSszODUpCi0gI2VuZGlmCi0gCi0rI2lmICFkZWZpbmVkKF9fTlJfbWVtYmFycmll cikKLSsjZGVmaW5lIF9fTlJfbWVtYmFycmllciAoX19OUl9TWVNDQUxMX0JBU0UrMzg5KQotKyNl bmRpZgotKwotIC8vIEFSTSBwcml2YXRlIHN5c2NhbGxzLgotICNpZiAhZGVmaW5lZChfX0FSTV9O Ul9CQVNFKQotICNkZWZpbmUgX19BUk1fTlJfQkFTRSAoX19OUl9TWVNDQUxMX0JBU0UgKyAweEYw MDAwKQotCi0tLS0gc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy94ODZfMzJfbGludXhfc3lz Y2FsbHMuaAotKysrIHNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2XzMyX2xpbnV4X3N5 c2NhbGxzLmgKLUBAIC0xNDIyLDUgKzE0MjIsOSBAQAotICNkZWZpbmUgX19OUl9tZW1mZF9jcmVh dGUgMzU2Ci0gI2VuZGlmCi0gCi0rI2lmICFkZWZpbmVkKF9fTlJfbWVtYmFycmllcikKLSsjZGVm aW5lIF9fTlJfbWVtYmFycmllciAzNzUKLSsjZW5kaWYKLSsKLSAjZW5kaWYgIC8vIFNBTkRCT1hf TElOVVhfU1lTVEVNX0hFQURFUlNfWDg2XzMyX0xJTlVYX1NZU0NBTExTX0hfCi0gCi0tLS0gc2Fu ZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy94ODZfNjRfbGludXhfc3lzY2FsbHMuaAotKysrIHNh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2XzY0X2xpbnV4X3N5c2NhbGxzLmgKLUBAIC0x MjkwLDUgKzEyOTAsOSBAQAotICNkZWZpbmUgX19OUl9tZW1mZF9jcmVhdGUgMzE5Ci0gI2VuZGlm Ci0gCi0rI2lmICFkZWZpbmVkKF9fTlJfbWVtYmFycmllcikKLSsjZGVmaW5lIF9fTlJfbWVtYmFy cmllciAzMjQKLSsjZW5kaWYKLSsKLSAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hF QURFUlNfWDg2XzY0X0xJTlVYX1NZU0NBTExTX0hfCi0gCi0tLS0gc2FuZGJveC9saW51eC9zZWNj b21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwotKysrIHNhbmRib3gvbGludXgvc2VjY29t cC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKLUBAIC0zNzAsNiArMzcwLDcgQEAKKy0tLSBz YW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjLm9yaWcJMjAy MS0wMy0wMyAxODowNDo0NS4xNjc2NzQ3OTEgKzAxMDAKKysrKyBzYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCTIwMjEtMDMtMDMgMTg6MTM6MTcuMDM2NTQ3 NTkyICswMTAwCitAQCAtMzk0LDExICszOTQsMTIgQEAKICAgIHN3aXRjaCAoc3lzbm8pIHsKICAg ICAgY2FzZSBfX05SX2V4aXQ6CiAgICAgIGNhc2UgX19OUl9leGl0X2dyb3VwOgpAQCAtNTgsMyAr OCw4IEBACiAgICAgIGNhc2UgX19OUl93YWl0NDoKICAgICAgY2FzZSBfX05SX3dhaXRpZDoKICAj aWYgZGVmaW5lZChfX2kzODZfXykKKyAgICAgY2FzZSBfX05SX3dhaXRwaWQ6CisgI2VuZGlmCisg ICAgICAgcmV0dXJuIHRydWU7CisgICAgIGNhc2UgX19OUl9jbG9uZTogIC8vIFNob3VsZCBiZSBw YXJhbWV0ZXItcmVzdHJpY3RlZC4KKyAgICAgY2FzZSBfX05SX3NldG5zOiAgLy8gUHJpdmlsZWdl ZC4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBw b3J0LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQu cGF0Y2gKaW5kZXggODA1NzU1YzIxMjUuLmJiY2ZiYWQzNGU1IDEwMDY0NAotLS0gYS9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaAorKysgYi9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaApAQCAtMSw2ICsxLDYg QEAKLWNvbW1pdCBlNzk0NGMxNjJjYTEzYjJjMzBiMTgwYzA2ZjkxN2Y0NTY0M2I4Y2NhCi1BdXRo b3I6IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+Ci1EYXRlOiAgIFR1ZSBBdWcgNCAxOTo1Nzo0 OCAyMDIwICswMjAwCitjb21taXQgMmMwMTNhMzE3YjExMTRlZjY3Y2RiYmMzMDgyNGIyODkwN2I5 ZWE5NAorQXV0aG9yOiBEYW5pZWwgS29sZXNhIDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KK0RhdGU6 ICAgV2VkIE1hciAzIDE5OjA4OjI5IDIwMjEgKzAxMDAKIAogICAgIHBwYzY0bGUgc3VwcG9ydAog CkBAIC0yMCwxMCArMjAsMTAgQEAgaW5kZXggMjg2YTkyYTI3Li5lYzM2YTg1ZDMgMTAwNzU1CiAg ICBzcmNfZGlyID0gb3MucGF0aC5kaXJuYW1lKHNjcmlwdF9kaXIpCiAgICBuYWNsX2RpciA9IG9z LnBhdGguam9pbihzcmNfZGlyLCAnbmF0aXZlX2NsaWVudCcpCiBkaWZmIC0tZ2l0IGNocm9tZS9p bnN0YWxsZXIvbGludXgvQlVJTEQuZ24gY2hyb21lL2luc3RhbGxlci9saW51eC9CVUlMRC5nbgot aW5kZXggYjEwMWIwY2IyLi45ZmQ1YTc2MTcgMTAwNjQ0CitpbmRleCAzNWYwMWQwYTQuLjI4ZjJl NzQ3NSAxMDA2NDQKIC0tLSBjaHJvbWUvaW5zdGFsbGVyL2xpbnV4L0JVSUxELmduCiArKysgY2hy b21lL2luc3RhbGxlci9saW51eC9CVUlMRC5nbgotQEAgLTkyLDggKzkyLDYgQEAgcGFja2FnaW5n X2ZpbGVzID0gcGFja2FnaW5nX2ZpbGVzX2JpbmFyaWVzICsgWworQEAgLTk0LDggKzk0LDYgQEAg cGFja2FnaW5nX2ZpbGVzID0gcGFja2FnaW5nX2ZpbGVzX2JpbmFyaWVzICsgWwogICAgICAgICAg ICAgICAgICAgICAgIiRyb290X291dF9kaXIveGRnLW1pbWUiLAogICAgICAgICAgICAgICAgICAg ICAgIiRyb290X291dF9kaXIveGRnLXNldHRpbmdzIiwKICAgICAgICAgICAgICAgICAgICAgICIk cm9vdF9vdXRfZGlyL2xvY2FsZXMvZW4tVVMucGFrIiwKQEAgLTMyLDcgKzMyLDcgQEAgaW5kZXgg YjEwMWIwY2IyLi45ZmQ1YTc2MTcgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICAgXQogIAogIGFj dGlvbl9mb3JlYWNoKCJjYWxjdWxhdGVfZGViX2RlcGVuZGVuY2llcyIpIHsKLUBAIC0zMjksNyAr MzI3LDYgQEAgZ3JvdXAoImluc3RhbGxlcl9kZXBzIikgeworQEAgLTMxNSw3ICszMTMsNiBAQCBn cm91cCgiaW5zdGFsbGVyX2RlcHMiKSB7CiAgICAgICI6dGhlbWVfZmlsZXMiLAogICAgICAiLy9j aHJvbWUiLAogICAgICAiLy9jaHJvbWU6cGFja2VkX3Jlc291cmNlcyIsCkBAIC00MSwxMSArNDEs MTEgQEAgaW5kZXggYjEwMWIwY2IyLi45ZmQ1YTc2MTcgMTAwNjQ0CiAgICAgICIvL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL2hhbmRsZXI6Y3Jhc2hwYWRfaGFuZGxlciIsCiAgICBdCiBk aWZmIC0tZ2l0IHNhbmRib3gvZmVhdHVyZXMuZ25pIHNhbmRib3gvZmVhdHVyZXMuZ25pCi1pbmRl eCAwOTI4MGQzNWYuLjQyNTE0MTU3ZiAxMDA2NDQKK2luZGV4IGRiMzBhZTZkNi4uOWRjMDliZjUz IDEwMDY0NAogLS0tIHNhbmRib3gvZmVhdHVyZXMuZ25pCiArKysgc2FuZGJveC9mZWF0dXJlcy5n bmkKLUBAIC0xMSw2ICsxMSw3IEBAIGltcG9ydCgiLy9idWlsZC9jb25maWcvbmFjbC9jb25maWcu Z25pIikKLSB1c2Vfc2VjY29tcF9icGYgPSAoaXNfbGludXggfHwgaXNfYW5kcm9pZCkgJiYKK0BA IC0xMSw3ICsxMSw4IEBAIGltcG9ydCgiLy9idWlsZC9jb25maWcvbmFjbC9jb25maWcuZ25pIikK KyB1c2Vfc2VjY29tcF9icGYgPSAoaXNfbGludXggfHwgaXNfY2hyb21lb3MgfHwgaXNfYW5kcm9p ZCkgJiYKICAgICAgICAgICAgICAgICAgICAoY3VycmVudF9jcHUgPT0gIng4NiIgfHwgY3VycmVu dF9jcHUgPT0gIng2NCIgfHwKICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9jcHUgPT0gImFy bSIgfHwgY3VycmVudF9jcHUgPT0gImFybTY0IiB8fAogLSAgICAgICAgICAgICAgICAgICBjdXJy ZW50X2NwdSA9PSAibWlwc2VsIiB8fCBjdXJyZW50X2NwdSA9PSAibWlwczY0ZWwiKQpAQCAtNTMs MTEgKzUzLDEyIEBAIGluZGV4IDA5MjgwZDM1Zi4uNDI1MTQxNTdmIDEwMDY0NAogKyAgICAgICAg ICAgICAgICAgICBjdXJyZW50X2NwdSA9PSAicHBjNjQiKQogIAogIHVzZV9zZWNjb21wX2JwZiA9 IHVzZV9zZWNjb21wX2JwZiB8fCBpc19uYWNsX25vbnNmaQorIAogZGlmZiAtLWdpdCBzYW5kYm94 L2xpbnV4L0JVSUxELmduIHNhbmRib3gvbGludXgvQlVJTEQuZ24KLWluZGV4IGMyNzM1MWY5YS4u OTE0MWUxMjM5IDEwMDY0NAoraW5kZXggZTlhOTRiNDYxLi5jY2ExYTVkYTUgMTAwNjQ0CiAtLS0g c2FuZGJveC9saW51eC9CVUlMRC5nbgogKysrIHNhbmRib3gvbGludXgvQlVJTEQuZ24KLUBAIC00 MDcsNiArNDA3LDggQEAgY29tcG9uZW50KCJzYW5kYm94X3NlcnZpY2VzIikgeworQEAgLTQyNyw2 ICs0MjcsOCBAQCBjb21wb25lbnQoInNhbmRib3hfc2VydmljZXMiKSB7CiAgCiAgc291cmNlX3Nl dCgic2FuZGJveF9zZXJ2aWNlc19oZWFkZXJzIikgewogICAgc291cmNlcyA9IFsKQEAgLTE1MSw3 ICsxNTIsNyBAQCBpbmRleCAxYTQwN2I5NTIuLmE2YWVjNTQ0ZSAxMDA2NDQKICAjZXJyb3IgVW5z dXBwb3J0ZWQgdGFyZ2V0IHBsYXRmb3JtCiAgCiBkaWZmIC0tZ2l0IHNhbmRib3gvbGludXgvc2Vj Y29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2Mgc2FuZGJveC9saW51eC9zZWNjb21w LWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYwotaW5kZXggYTZkMmMwZGZiLi4zN2ZkYzE3 OWEgMTAwNjQ0CitpbmRleCA2YTFlYzIzODkuLmYyMGM1ODJkZCAxMDA2NDQKIC0tLSBzYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCiArKysgc2FuZGJv eC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYwogQEAgLTg4LDcg Kzg4LDggQEAgYm9vbCBJc0Jhc2VsaW5lUG9saWN5V2F0Y2hlZChpbnQgc3lzbm8pIHsKQEAgLTE2 NCw3ICsxNjUsNyBAQCBpbmRleCBhNmQyYzBkZmIuLjM3ZmRjMTc5YSAxMDA2NDQKICAgICAgICAg ICBTeXNjYWxsU2V0czo6SXNTb2NrZXRDYWxsKHN5c25vKSB8fAogICNlbmRpZgogICNpZiBkZWZp bmVkKF9fYXJtX18pCi1AQCAtMjEwLDcgKzIxMSw3IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNj YWxsSW1wbChpbnQgZnNfZGVuaWVkX2Vycm5vLAorQEAgLTIyNyw3ICsyMjgsNyBAQCBSZXN1bHRF eHByIEV2YWx1YXRlU3lzY2FsbEltcGwoaW50IGZzX2RlbmllZF9lcnJubywKICAgIH0KICAKICAj aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9f bWlwc19fKSB8fCBcCkBAIC0xNzMsNyArMTc0LDcgQEAgaW5kZXggYTZkMmMwZGZiLi4zN2ZkYzE3 OWEgMTAwNjQ0CiAgICBpZiAoc3lzbm8gPT0gX19OUl9tbWFwKQogICAgICByZXR1cm4gUmVzdHJp Y3RNbWFwRmxhZ3MoKTsKICAjZW5kaWYKLUBAIC0yMjgsNyArMjI5LDcgQEAgUmVzdWx0RXhwciBF dmFsdWF0ZVN5c2NhbGxJbXBsKGludCBmc19kZW5pZWRfZXJybm8sCitAQCAtMjQ1LDcgKzI0Niw3 IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGVuaWVkX2Vycm5vLAog ICAgICByZXR1cm4gUmVzdHJpY3RQcmN0bCgpOwogIAogICNpZiBkZWZpbmVkKF9feDg2XzY0X18p IHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXApAQCAtMTgyLDcg KzE4Myw3IEBAIGluZGV4IGE2ZDJjMGRmYi4uMzdmZGMxNzlhIDEwMDY0NAogICAgaWYgKHN5c25v ID09IF9fTlJfc29ja2V0cGFpcikgewogICAgICAvLyBPbmx5IGFsbG93IEFGX1VOSVgsIFBGX1VO SVguIENyYXNoIGlmIGFueXRoaW5nIGVsc2UgaXMgc2Vlbi4KICAgICAgc3RhdGljX2Fzc2VydChB Rl9VTklYID09IFBGX1VOSVgsCi1AQCAtMjY4LDcgKzI2OSw4IEBAIFJlc3VsdEV4cHIgRXZhbHVh dGVTeXNjYWxsSW1wbChpbnQgZnNfZGVuaWVkX2Vycm5vLAorQEAgLTI4NSw3ICsyODYsOCBAQCBS ZXN1bHRFeHByIEV2YWx1YXRlU3lzY2FsbEltcGwoaW50IGZzX2RlbmllZF9lcnJubywKICAgIH0K ICAKICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXApAQCAtMTkzLDIyICsxOTQsMjAgQEAgaW5k ZXggYTZkMmMwZGZiLi4zN2ZkYzE3OWEgMTAwNjQ0CiAgICAgIHJldHVybiBSZXN0cmljdFNvY2tl dGNhbGxDb21tYW5kKCk7CiAgI2VuZGlmCiBkaWZmIC0tZ2l0IHNhbmRib3gvbGludXgvc2VjY29t cC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3lfdW5pdHRlc3QuY2Mgc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeV91bml0dGVzdC5jYwotaW5kZXggZmMz NjE4N2M5Li4xYWZmYzkxODkgMTAwNjQ0CitpbmRleCAwMWMwNDZkZGEuLjdlNWE2YmU4MiAxMDA2 NDQKIC0tLSBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5 X3VuaXR0ZXN0LmNjCiArKysgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2Vs aW5lX3BvbGljeV91bml0dGVzdC5jYwotQEAgLTI5MSw4ICsyOTEsMTAgQEAgVEVTVF9CQVNFTElO RV9TSUdTWVMoX19OUl90aW1lcl9jcmVhdGUpCi0gI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQor QEAgLTMwMiw3ICszMDIsNyBAQCBURVNUX0JBU0VMSU5FX1NJR1NZUyhfX05SX3N5c2luZm8pCisg VEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl9zeXNsb2cpCisgVEVTVF9CQVNFTElORV9TSUdTWVMo X19OUl90aW1lcl9jcmVhdGUpCisgCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAh ZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykKICBURVNUX0JB U0VMSU5FX1NJR1NZUyhfX05SX2V2ZW50ZmQpCiAgVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl9p bm90aWZ5X2luaXQpCi0rI2lmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pCiAgVEVTVF9CQVNFTElO RV9TSUdTWVMoX19OUl92c2VydmVyKQotICNlbmRpZgotKyNlbmRpZgotIAotICNpZiBkZWZpbmVk KExJQkNfR0xJQkMpICYmICFkZWZpbmVkKE9TX0NIUk9NRU9TKQotIEJQRl9URVNUX0MoQmFzZWxp bmVQb2xpY3ksIEZ1dGV4RUlOVkFMLCBCYXNlbGluZVBvbGljeSkgewogZGlmZiAtLWdpdCBzYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0 aW9ucy5jYyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0 ZXJzX3Jlc3RyaWN0aW9ucy5jYwotaW5kZXggZjUxOTE1ZWRjLi5jYTJmNGYxMDYgMTAwNjQ0Citp bmRleCAyYTk3ZDM5MTYuLjhlODFhYTZjZiAxMDA2NDQKIC0tLSBzYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYwogKysrIHNh bmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJp Y3Rpb25zLmNjCiBAQCAtNDAsNyArNDAsOCBAQApAQCAtMjMzLDcgKzIzMiw3IEBAIGluZGV4IGY1 MTkxNWVkYy4uY2EyZjRmMTA2IDEwMDY0NAogICNpZiBkZWZpbmVkKE9TX0FORFJPSUQpCiAgCiAg I2lmICFkZWZpbmVkKEZfRFVQRkRfQ0xPRVhFQykKLUBAIC05OCw2ICsxMDQsMTUgQEAKK0BAIC05 OCw2ICsxMDQsMTUgQEAgaW5saW5lIGJvb2wgSXNBcmNoaXRlY3R1cmVNaXBzKCkgewogICNlbmRp ZgogIH0KICAKQEAgLTI0OSw3ICsyNDgsNyBAQCBpbmRleCBmNTE5MTVlZGMuLmNhMmY0ZjEwNiAx MDA2NDQKICAvLyBVYnVudHUncyB2ZXJzaW9uIG9mIGdsaWJjIGhhcyBhIHJhY2UgY29uZGl0aW9u IGluIHNlbV9wb3N0IHRoYXQgY2FuIGNhdXNlCiAgLy8gaXQgdG8gY2FsbCBmdXRleCgyKSB3aXRo IGJvZ3VzIG9wIGFyZ3VtZW50cy4gVG8gd29ya2Fyb3VuZCB0aGlzLCB3ZSBuZWVkCiAgLy8gdG8g YWxsb3cgdGhvc2UgZnV0ZXgoMikgY2FsbHMgdG8gZmFpbCB3aXRoIEVJTlZBTCwgaW5zdGVhZCBv ZiBjcmFzaGluZyB0aGUKLUBAIC0yMzksNiArMjU0LDggQEAKK0BAIC0yMzksNiArMjU0LDggQEAg UmVzdWx0RXhwciBSZXN0cmljdEZjbnRsQ29tbWFuZHMoKSB7CiAgICB1aW50NjRfdCBrT0xhcmdl RmlsZUZsYWcgPSBPX0xBUkdFRklMRTsKICAgIGlmIChJc0FyY2hpdGVjdHVyZVg4Nl82NCgpIHx8 IElzQXJjaGl0ZWN0dXJlSTM4NigpIHx8IElzQXJjaGl0ZWN0dXJlTWlwcygpKQogICAgICBrT0xh cmdlRmlsZUZsYWcgPSAwMTAwMDAwOwpAQCAtMjU4LDcgKzI1Nyw3IEBAIGluZGV4IGY1MTkxNWVk Yy4uY2EyZjRmMTA2IDEwMDY0NAogIAogICAgY29uc3QgQXJnPGludD4gY21kKDEpOwogICAgY29u c3QgQXJnPGxvbmc+IGxvbmdfYXJnKDIpOwotQEAgLTI1MywxNCArMjcwLDIzIEBACitAQCAtMjUz LDE0ICsyNzAsMjMgQEAgUmVzdWx0RXhwciBSZXN0cmljdEZjbnRsQ29tbWFuZHMoKSB7CiAgICAg ICAgICAgICAgICBGX1NFVExLVywKICAgICAgICAgICAgICAgIEZfR0VUTEssCiAgICAgICAgICAg ICAgICBGX0RVUEZELApAQCAtMjg1LDcgKzI4NCw3IEBAIGluZGV4IGY1MTkxNWVkYy4uY2EyZjRm MTA2IDEwMDY0NAogIFJlc3VsdEV4cHIgUmVzdHJpY3RTb2NrZXRjYWxsQ29tbWFuZCgpIHsKICAg IC8vIFVuZm9ydHVuYXRlbHksIHdlIGFyZSB1bmFibGUgdG8gcmVzdHJpY3QgdGhlIGZpcnN0IHBh cmFtZXRlciB0bwogICAgLy8gc29ja2V0cGFpcigyKS4gV2hpbHN0IGluaXRpYWxseSBzb3VuZGlu ZyBiYWQsIGl0J3Mgbm90ZXdvcnRoeSB0aGF0IHZlcnkKLUBAIC00MTMsNyArNDM5LDcgQEAKK0BA IC00MTMsNyArNDM5LDcgQEAgUmVzdWx0RXhwciBSZXN0cmljdFB0cmFjZSgpIHsKICAjZW5kaWYK ICAgIHJldHVybiBTd2l0Y2gocmVxdWVzdCkKICAgICAgICAuQ0FTRVMoKApAQCAtMjk0LDcgKzI5 Myw2IEBAIGluZGV4IGY1MTkxNWVkYy4uY2EyZjRmMTA2IDEwMDY0NAogICAgICAgICAgICAgICAg ICAgUFRSQUNFX0dFVFJFR1MsIFBUUkFDRV9HRVRGUFJFR1MsIFBUUkFDRV9HRVRfVEhSRUFEX0FS RUEsCiAgICAgICAgICAgICAgICAgICBQVFJBQ0VfR0VUUkVHU0VULAogICNlbmRpZgotCiBkaWZm IC0tZ2l0IHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRl cnNfcmVzdHJpY3Rpb25zLmggc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2Nh bGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuaAogaW5kZXggYmE0Mjg5ZjA1Li45YTRkNWFiMmQg MTAwNjQ0CiAtLS0gc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFy YW1ldGVyc19yZXN0cmljdGlvbnMuaApAQCAtMzA5LDcgKzMwNyw3IEBAIGluZGV4IGJhNDI4OWYw NS4uOWE0ZDVhYjJkIDEwMDY0NAogIC8vIHNlbmR0bygyKSwgcmVjdmZyb20oMiksIHNodXRkb3du KDIpLCBzZW5kbXNnKDIpIGFuZCByZWN2bXNnKDIpLgogIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6 OlJlc3VsdEV4cHIgUmVzdHJpY3RTb2NrZXRjYWxsQ29tbWFuZCgpOwogZGlmZiAtLWdpdCBzYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjIHNhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKLWluZGV4IGQzNjkzZmQ3OC4u ZDQ5MmNmOTRiIDEwMDY0NAoraW5kZXggNjQyZGY3MjA3Li4zNGY0N2ViNzMgMTAwNjQ0CiAtLS0g c2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwogKysrIHNh bmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKIEBAIC0yOSw3 ICsyOSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldHRpbWUoaW50IHN5c25vKSB7 CkBAIC0zMjIsNyArMzIwLDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAg ICAgIGNhc2UgX19OUl90aW1lOgogICNlbmRpZgogICAgICAgIHJldHVybiB0cnVlOwotQEAgLTQx LDEyICs0MiwxNCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXR0aW1lKGludCBzeXNu bykgeworQEAgLTQ1LDEyICs0NiwxNCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXR0 aW1lKGludCBzeXNubykgewogICAgICBjYXNlIF9fTlJfY2xvY2tfbmFub3NsZWVwOiAgLy8gUGFy YW1ldGVycyBmaWx0ZXJlZCBieSBSZXN0cmljdENsb2NrSUQoKS4KICAgICAgY2FzZSBfX05SX2Ns b2NrX3NldHRpbWU6ICAgIC8vIFByaXZpbGVnZWQuCiAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8 IFwKQEAgLTMzOSw3ICszMzcsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQK ICAgICAgY2FzZSBfX05SX3N0aW1lOgogICNlbmRpZgogICAgICBkZWZhdWx0OgotQEAgLTExMiw3 ICsxMTUsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZpbGVTeXN0ZW0oaW50IHN5c25vKSB7CitA QCAtMTE2LDcgKzExOSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lz bm8pIHsKICAgICAgY2FzZSBfX05SX2ZhY2Nlc3NhdDogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVy cm5vLgogICAgICBjYXNlIF9fTlJfZmNobW9kYXQ6CiAgICAgIGNhc2UgX19OUl9mY2hvd25hdDog IC8vIFNob3VsZCBiZSBjYWxsZWQgY2hvd25hdCA/CkBAIC0zNDgsNyArMzQ2LDcgQEAgaW5kZXgg ZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9uZXdmc3RhdGF0OiAg Ly8gZnN0YXRhdCgpLiBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KICAjZWxpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKICAgICAgKGRlZmluZWQoQVJDSF9DUFVf TUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCi1AQCAtMTMxLDcgKzEz NCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8pIHsKK0BAIC0x MzUsNyArMTM4LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVtKGludCBzeXNubykg ewogICAgICBjYXNlIF9fTlJfbWVtZmRfY3JlYXRlOgogICAgICBjYXNlIF9fTlJfbWtkaXJhdDoK ICAgICAgY2FzZSBfX05SX21rbm9kYXQ6CkBAIC0zNTcsNyArMzU1LDcgQEAgaW5kZXggZDM2OTNm ZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9vbGRsc3RhdDoKICAgICAgY2Fz ZSBfX05SX29sZHN0YXQ6CiAgI2VuZGlmCi1AQCAtMTQ1LDcgKzE0OCw4IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8pIHsKK0BAIC0xNDksNyArMTUyLDggQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVtKGludCBzeXNubykgewogICNlbmRpZgogICAgICBj YXNlIF9fTlJfc3RhdGZzOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCiAgI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXApAQCAtMzY3LDcgKzM2NSw3IEBA IGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfc3RhdGZz NjQ6CiAgI2VuZGlmCiAgICAgIGNhc2UgX19OUl9zeW1saW5rYXQ6Ci1AQCAtMTU1LDcgKzE1OSw4 IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8pIHsKK0BAIC0xNTks NyArMTYzLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVtKGludCBzeXNubykgewog ICAgICBjYXNlIF9fTlJfdHJ1bmNhdGU2NDoKICAjZW5kaWYKICAgICAgY2FzZSBfX05SX3VubGlu a2F0OgpAQCAtMzc3LDcgKzM3NSw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0 NAogICAgICBjYXNlIF9fTlJfdXRpbWU6CiAgI2VuZGlmCiAgICAgIGNhc2UgX19OUl91dGltZW5z YXQ6ICAvLyBOZXcuCi1AQCAtMTc0LDcgKzE3OSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxs b3dlZEZpbGVTeXN0ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8pIHsKK0BAIC0xODEsNyArMTg2LDgg QEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjY2Vzc1ZpYUZkKGludCBz eXNubykgewogICNlbmRpZgogICAgICAgIHJldHVybiB0cnVlOwogIC8vIFRPRE8oamxuKTogdGhl c2Ugc2hvdWxkIGJlIGRlbmllZCBncmFjZWZ1bGx5IGFzIHdlbGwgKG1vdmVkIGJlbG93KS4KQEAg LTM4Nyw3ICszODUsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAg Y2FzZSBfX05SX2ZhZHZpc2U2NDogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgogICNlbmRp ZgogICNpZiBkZWZpbmVkKF9faTM4Nl9fKQotQEAgLTE4NywxMSArMTkzLDEyIEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzQWxsb3dlZEZpbGVTeXN0ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8pIHsKK0BA IC0xOTQsMTEgKzIwMCwxMiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRGaWxlU3lzdGVt QWNjZXNzVmlhRmQoaW50IHN5c25vKSB7CiAgICAgIGNhc2UgX19OUl9mbG9jazogICAgICAvLyBF UEVSTSBub3QgYSB2YWxpZCBlcnJuby4KICAgICAgY2FzZSBfX05SX2ZzdGF0ZnM6ICAgIC8vIEdp dmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHdob2xlIGZpbGVzeXN0ZW0uCiAgI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXApAQCAtNDAyLDcgKzQwMCw3IEBAIGlu ZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfb2xkZnN0YXQ6 CiAgI2VuZGlmCiAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykg fHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotQEAgLTE5OSw2ICsyMDYsOCBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0FsbG93ZWRGaWxlU3lzdGVtQWNjZXNzVmlhRmQoaW50IHN5c25vKSB7CitAQCAt MjA2LDYgKzIxMyw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEZpbGVTeXN0ZW1BY2Nl c3NWaWFGZChpbnQgc3lzbm8pIHsKICAgICAgY2FzZSBfX05SX3N5bmNfZmlsZV9yYW5nZTogIC8v IEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgogICNlbGlmIGRlZmluZWQoX19hcm1fXykKICAgICAg Y2FzZSBfX05SX2FybV9zeW5jX2ZpbGVfcmFuZ2U6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJu by4KQEAgLTQxMSw3ICs0MDksNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQK ICAjZW5kaWYKICAgICAgZGVmYXVsdDoKICAgICAgICByZXR1cm4gZmFsc2U7Ci1AQCAtMjI0LDcg KzIzMyw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkRmlsZVN5c3RlbUFjY2Vzc1ZpYUZk KGludCBzeXNubykgeworQEAgLTIzMSw3ICsyNDAsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0Rl bmllZEZpbGVTeXN0ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8pIHsKICAjZW5kaWYKICAgICAgY2Fz ZSBfX05SX2dldGRlbnRzNjQ6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KICAjaWYgZGVm aW5lZChfX2kzODZfXykgfHwgXApAQCAtNDIxLDcgKzQxOSw3IEBAIGluZGV4IGQzNjkzZmQ3OC4u ZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfcmVhZGRpcjoKICAjZW5kaWYKICAgICAg ICByZXR1cm4gdHJ1ZTsKLUBAIC0yNjUsNyArMjc1LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNH ZXRTaW1wbGVJZChpbnQgc3lzbm8pIHsKK0BAIC0yNzIsNyArMjgyLDcgQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNHZXRTaW1wbGVJZChpbnQgc3lzbm8pIHsKICBib29sIFN5c2NhbGxTZXRzOjpJc1By b2Nlc3NQcml2aWxlZ2VDaGFuZ2UoaW50IHN5c25vKSB7CiAgICBzd2l0Y2ggKHN5c25vKSB7CiAg ICAgIGNhc2UgX19OUl9jYXBzZXQ6CkBAIC00MzAsNyArNDI4LDcgQEAgaW5kZXggZDM2OTNmZDc4 Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9pb3Blcm06ICAvLyBJbnRlbCBwcml2 aWxlZ2UuCiAgICAgIGNhc2UgX19OUl9pb3BsOiAgICAvLyBJbnRlbCBwcml2aWxlZ2UuCiAgI2Vu ZGlmCi1AQCAtMzE2LDcgKzMyNiw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFNpZ25h bEhhbmRsaW5nKGludCBzeXNubykgeworQEAgLTMyMyw3ICszMzMsOCBAQCBib29sIFN5c2NhbGxT ZXRzOjpJc0FsbG93ZWRTaWduYWxIYW5kbGluZyhpbnQgc3lzbm8pIHsKICAgICAgY2FzZSBfX05S X3J0X3NpZ3JldHVybjoKICAgICAgY2FzZSBfX05SX3J0X3NpZ3RpbWVkd2FpdDoKICAjaWYgZGVm aW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCkBAIC00NDAsNyArNDM4LDcg QEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9zaWdh Y3Rpb246CiAgICAgIGNhc2UgX19OUl9zaWdwcm9jbWFzazoKICAgICAgY2FzZSBfX05SX3NpZ3Jl dHVybjoKLUBAIC0zMzIsNyArMzQzLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkU2ln bmFsSGFuZGxpbmcoaW50IHN5c25vKSB7CitAQCAtMzM5LDcgKzM1MCw4IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzQWxsb3dlZFNpZ25hbEhhbmRsaW5nKGludCBzeXNubykgewogICNlbmRpZgogICAg ICBjYXNlIF9fTlJfc2lnbmFsZmQ0OgogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9fYXJtX18pIHx8IFwKQEAgLTQ1MCw3ICs0NDgsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJj Zjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX3NpZ3BlbmRpbmc6CiAgICAgIGNhc2UgX19OUl9z aWdzdXNwZW5kOgogICNlbmRpZgotQEAgLTM1Niw3ICszNjgsNyBAQCBib29sIFN5c2NhbGxTZXRz OjpJc0FsbG93ZWRPcGVyYXRpb25PbkZkKGludCBzeXNubykgeworQEAgLTM2Myw3ICszNzUsNyBA QCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRPcGVyYXRpb25PbkZkKGludCBzeXNubykgewog ICNlbmRpZgogICAgICBjYXNlIF9fTlJfZHVwMzoKICAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKQEAgLTQ1OSw3ICs0 NTcsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05S X3NodXRkb3duOgogICNlbmRpZgogICAgICAgIHJldHVybiB0cnVlOwotQEAgLTM5MCw3ICs0MDIs NyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPckRlYXRoKGludCBz eXNubykgeworQEAgLTM5Nyw3ICs0MDksNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQ cm9jZXNzU3RhcnRPckRlYXRoKGludCBzeXNubykgewogICAgICBjYXNlIF9fTlJfbWVtYmFycmll cjoKICAgICAgY2FzZSBfX05SX3dhaXQ0OgogICAgICBjYXNlIF9fTlJfd2FpdGlkOgpAQCAtNDY4 LDcgKzQ2Niw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNl IF9fTlJfd2FpdHBpZDoKICAjZW5kaWYKICAgICAgICByZXR1cm4gdHJ1ZTsKLUBAIC00MDcsNyAr NDE5LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0T3JEZWF0aChp bnQgc3lzbm8pIHsKK0BAIC00MTQsNyArNDI2LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxv d2VkUHJvY2Vzc1N0YXJ0T3JEZWF0aChpbnQgc3lzbm8pIHsKICAjZW5kaWYKICAgICAgY2FzZSBf X05SX3NldF90aWRfYWRkcmVzczoKICAgICAgY2FzZSBfX05SX3Vuc2hhcmU6CkBAIC00NzcsNyAr NDc1LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19O Ul92Zm9yazoKICAjZW5kaWYKICAgICAgZGVmYXVsdDoKLUBAIC00NTYsNyArNDY4LDcgQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0T3JNb2RpZnlTb2NrZXQoaW50IHN5c25vKSB7CitA QCAtNDYzLDcgKzQ3NSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldE9yTW9kaWZ5 U29ja2V0KGludCBzeXNubykgewogICAgICAgIHJldHVybiB0cnVlOwogICAgICBkZWZhdWx0Ogog ICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChf X21pcHNfXykgfHwgXApAQCAtNDg2LDcgKzQ4NCw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNm OTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfc29ja2V0cGFpcjogIC8vIFdlIHdpbGwgd2FudCB0 byBpbnNwZWN0IGl0cyBhcmd1bWVudC4KICAjZW5kaWYKICAgICAgICByZXR1cm4gZmFsc2U7Ci1A QCAtNDY2LDcgKzQ3OCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldE9yTW9kaWZ5 U29ja2V0KGludCBzeXNubykgeworQEAgLTQ3Myw3ICs0ODUsNyBAQCBib29sIFN5c2NhbGxTZXRz OjpJc0FsbG93ZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pIHsKICBib29sIFN5c2NhbGxT ZXRzOjpJc0RlbmllZEdldE9yTW9kaWZ5U29ja2V0KGludCBzeXNubykgewogICAgc3dpdGNoIChz eXNubykgewogICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwg ZGVmaW5lZChfX21pcHNfXykgfHwgXApAQCAtNDk1LDcgKzQ5Myw3IEBAIGluZGV4IGQzNjkzZmQ3 OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfYWNjZXB0OgogICAgICBjYXNlIF9f TlJfYWNjZXB0NDoKICAgICAgY2FzZSBfX05SX2JpbmQ6Ci1AQCAtNDgxLDcgKzQ5Myw4IEBAIGJv b2wgU3lzY2FsbFNldHM6OklzRGVuaWVkR2V0T3JNb2RpZnlTb2NrZXQoaW50IHN5c25vKSB7CitA QCAtNDg4LDcgKzUwMCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkR2V0T3JNb2RpZnlT b2NrZXQoaW50IHN5c25vKSB7CiAgfQogIAogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCkBA IC01MDUsNyArNTAzLDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgLy8g QmlnIG11bHRpcGxleGluZyBzeXN0ZW0gY2FsbCBmb3Igc29ja2V0cy4KICBib29sIFN5c2NhbGxT ZXRzOjpJc1NvY2tldENhbGwoaW50IHN5c25vKSB7CiAgICBzd2l0Y2ggKHN5c25vKSB7Ci1AQCAt NDk1LDcgKzUwOCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzU29ja2V0Q2FsbChpbnQgc3lzbm8p IHsKK0BAIC01MDIsNyArNTE1LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTb2NrZXRDYWxsKGlu dCBzeXNubykgewogIH0KICAjZW5kaWYKICAKQEAgLTUxNSw3ICs1MTMsNyBAQCBpbmRleCBkMzY5 M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICBib29sIFN5c2NhbGxTZXRzOjpJc05ldHdvcmtTb2Nr ZXRJbmZvcm1hdGlvbihpbnQgc3lzbm8pIHsKICAgIHN3aXRjaCAoc3lzbm8pIHsKICAgICAgY2Fz ZSBfX05SX2dldHBlZXJuYW1lOgotQEAgLTUyMCw3ICs1MzQsNyBAQCBib29sIFN5c2NhbGxTZXRz OjpJc0FsbG93ZWRBZGRyZXNzU3BhY2VBY2Nlc3MoaW50IHN5c25vKSB7CitAQCAtNTI3LDcgKzU0 MSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEFkZHJlc3NTcGFjZUFjY2VzcyhpbnQg c3lzbm8pIHsKICAgICAgY2FzZSBfX05SX21pbmNvcmU6CiAgICAgIGNhc2UgX19OUl9tbG9ja2Fs bDoKICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fbWlwc19fKSB8fCBcCkBAIC01MjQsNyArNTIyLDcgQEAgaW5kZXggZDM2OTNmZDc4Li5k NDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9tbWFwOgogICNlbmRpZgogICNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKLUBAIC01NTAsNyArNTY0LDgg QEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2VuZXJhbElvKGludCBzeXNubykgeworQEAg LTU1Nyw3ICs1NzEsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZW5lcmFsSW8oaW50 IHN5c25vKSB7CiAgICBzd2l0Y2ggKHN5c25vKSB7CiAgICAgIGNhc2UgX19OUl9sc2VlazoKICAj aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCkBAIC01MzQsNyAr NTMyLDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19O Ul9fbGxzZWVrOgogICNlbmRpZgogICNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKLUBAIC01NjIs MjYgKzU3NywyOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZW5lcmFsSW8oaW50IHN5 c25vKSB7CitAQCAtNTY5LDI2ICs1ODQsMjggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2Vk R2VuZXJhbElvKGludCBzeXNubykgewogICAgICBjYXNlIF9fTlJfcmVhZHY6CiAgICAgIGNhc2Ug X19OUl9wcmVhZDY0OgogICNpZiBkZWZpbmVkKF9fYXJtX18pIHx8IFwKQEAgLTU2OSw3ICs1Njcs NyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX3Nl bmRtc2c6ICAvLyBDb3VsZCBzcGVjaWZ5IGRlc3RpbmF0aW9uLgogICAgICBjYXNlIF9fTlJfc2Vu ZHRvOiAgIC8vIENvdWxkIHNwZWNpZnkgZGVzdGluYXRpb24uCiAgI2VuZGlmCi1AQCAtNjM4LDcg KzY1NSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEJhc2ljU2NoZWR1bGVyKGludCBz eXNubykgeworQEAgLTY0NSw3ICs2NjIsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRC YXNpY1NjaGVkdWxlcihpbnQgc3lzbm8pIHsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgY2Fz ZSBfX05SX2dldHByaW9yaXR5OgogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f YXJtX18pIHx8IFwKQEAgLTU3OSw3ICs1NzcsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0 YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX25pY2U6CiAgI2VuZGlmCiAgICAgIGNhc2UgX19OUl9z ZXRwcmlvcml0eToKLUBAIC02NTAsNyArNjY4LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxv d2VkQmFzaWNTY2hlZHVsZXIoaW50IHN5c25vKSB7CitAQCAtNjU3LDcgKzY3NSw4IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzQWxsb3dlZEJhc2ljU2NoZWR1bGVyKGludCBzeXNubykgewogIGJvb2wg U3lzY2FsbFNldHM6OklzQWRtaW5PcGVyYXRpb24oaW50IHN5c25vKSB7CiAgICBzd2l0Y2ggKHN5 c25vKSB7CiAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXApA QCAtNTg5LDcgKzU4Nyw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAg ICBjYXNlIF9fTlJfYmRmbHVzaDoKICAjZW5kaWYKICAgICAgY2FzZSBfX05SX2tleGVjX2xvYWQ6 Ci1AQCAtNjY2LDcgKzY4NSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWRtaW5PcGVyYXRpb24o aW50IHN5c25vKSB7CitAQCAtNjczLDcgKzY5Miw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWRt aW5PcGVyYXRpb24oaW50IHN5c25vKSB7CiAgCiAgYm9vbCBTeXNjYWxsU2V0czo6SXNLZXJuZWxN b2R1bGUoaW50IHN5c25vKSB7CiAgICBzd2l0Y2ggKHN5c25vKSB7CkBAIC01OTksNyArNTk3LDcg QEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9jcmVh dGVfbW9kdWxlOgogICAgICBjYXNlIF9fTlJfZ2V0X2tlcm5lbF9zeW1zOiAgLy8gU2hvdWxkIEVO T1NZUy4KICAgICAgY2FzZSBfX05SX3F1ZXJ5X21vZHVsZToKLUBAIC02OTksNyArNzE5LDggQEAg Ym9vbCBTeXNjYWxsU2V0czo6SXNGc0NvbnRyb2woaW50IHN5c25vKSB7CitAQCAtNzA2LDcgKzcy Niw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRnNDb250cm9sKGludCBzeXNubykgewogICAgICBj YXNlIF9fTlJfc3dhcG9mZjoKICAgICAgY2FzZSBfX05SX3N3YXBvbjoKICAjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgXApAQCAtNjA5LDcgKzYwNyw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNm OTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfdW1vdW50OgogICNlbmRpZgogICAgICBjYXNlIF9f TlJfdW1vdW50MjoKLUBAIC03MTUsNyArNzM2LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNOdW1h KGludCBzeXNubykgeworQEAgLTcyMiw3ICs3NDMsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc051 bWEoaW50IHN5c25vKSB7CiAgICAgIGNhc2UgX19OUl9nZXRjcHU6CiAgICAgIGNhc2UgX19OUl9t YmluZDoKICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fbWlwc19fKSB8fCBcCkBAIC02MTgsNyArNjE2LDcgQEAgaW5kZXggZDM2OTNmZDc4 Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9taWdyYXRlX3BhZ2VzOgogICNlbmRp ZgogICAgICBjYXNlIF9fTlJfbW92ZV9wYWdlczoKLUBAIC03NDQsMTQgKzc2NSwxNSBAQCBib29s IFN5c2NhbGxTZXRzOjpJc0dsb2JhbFByb2Nlc3NFbnZpcm9ubWVudChpbnQgc3lzbm8pIHsKK0BA IC03NTEsMTQgKzc3MiwxNSBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0dsb2JhbFByb2Nlc3NFbnZp cm9ubWVudChpbnQgc3lzbm8pIHsKICAgIHN3aXRjaCAoc3lzbm8pIHsKICAgICAgY2FzZSBfX05S X2FjY3Q6ICAvLyBQcml2aWxlZ2VkLgogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKQEAgLTYzNyw3ICs2MzUsNyBA QCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX3VsaW1p dDoKICAjZW5kaWYKICAgICAgY2FzZSBfX05SX2dldHJ1c2FnZToKLUBAIC03ODUsNyArODA3LDcg QEAgYm9vbCBTeXNjYWxsU2V0czo6SXNHbG9iYWxTeXN0ZW1TdGF0dXMoaW50IHN5c25vKSB7CitA QCAtNzkyLDcgKzgxNCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzR2xvYmFsU3lzdGVtU3RhdHVz KGludCBzeXNubykgewogICNlbmRpZgogICAgICBjYXNlIF9fTlJfc3lzaW5mbzoKICAgICAgY2Fz ZSBfX05SX3VuYW1lOgpAQCAtNjQ2LDcgKzY0NCw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNm OTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfb2xkdW5hbWU6CiAgICAgIGNhc2UgX19OUl9vbGRv bGR1bmFtZToKICAjZW5kaWYKLUBAIC04NDcsOCArODY5LDE2IEBAIGJvb2wgU3lzY2FsbFNldHM6 OklzU3lzdGVtVlNlbWFwaG9yZXMoaW50IHN5c25vKSB7CitAQCAtODU0LDggKzg3NiwxNiBAQCBi b29sIFN5c2NhbGxTZXRzOjpJc1N5c3RlbVZTZW1hcGhvcmVzKGludCBzeXNubykgewogIH0KICAj ZW5kaWYKICAKQEAgLTY2NCw3ICs2NjIsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAx MDA2NDQKICAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJD SF9DUFVfNjRfQklUUykpCiAgLy8gVGhlc2UgZ2l2ZSBhIGxvdCBvZiBhbWJpZW50IGF1dGhvcml0 eSBhbmQgYnlwYXNzIHRoZSBzZXR1aWQgc2FuZGJveC4KICBib29sIFN5c2NhbGxTZXRzOjpJc1N5 c3RlbVZTaGFyZWRNZW1vcnkoaW50IHN5c25vKSB7Ci1AQCAtODgwLDcgKzkxMCw4IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzU3lzdGVtVk1lc3NhZ2VRdWV1ZShpbnQgc3lzbm8pIHsKK0BAIC04ODcs NyArOTE3LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1WTWVzc2FnZVF1ZXVlKGludCBz eXNubykgewogICNlbmRpZgogIAogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCkBAIC02NzQs NyArNjcyLDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgLy8gQmlnIHN5 c3RlbSBWIG11bHRpcGxleGluZyBzeXN0ZW0gY2FsbC4KICBib29sIFN5c2NhbGxTZXRzOjpJc1N5 c3RlbVZJcGMoaW50IHN5c25vKSB7CiAgICBzd2l0Y2ggKHN5c25vKSB7Ci1AQCAtOTAwLDcgKzkz MSw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQW55U3lzdGVtVihpbnQgc3lzbm8pIHsKK0BAIC05 MDcsNyArOTM4LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbnlTeXN0ZW1WKGludCBzeXNubykg ewogICAgcmV0dXJuIElzU3lzdGVtVk1lc3NhZ2VRdWV1ZShzeXNubykgfHwgSXNTeXN0ZW1WU2Vt YXBob3JlcyhzeXNubykgfHwKICAgICAgICAgICBJc1N5c3RlbVZTaGFyZWRNZW1vcnkoc3lzbm8p OwogICNlbGlmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKQEAgLTY4NCw3ICs2ODIsNyBAQCBpbmRl eCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgIHJldHVybiBJc1N5c3RlbVZJcGMoc3lz bm8pOwogICNlbmRpZgogIH0KLUBAIC05NTMsNyArOTg1LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6 SXNGYU5vdGlmeShpbnQgc3lzbm8pIHsKK0BAIC05NjAsNyArOTkyLDggQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNGYU5vdGlmeShpbnQgc3lzbm8pIHsKICBib29sIFN5c2NhbGxTZXRzOjpJc1RpbWVy KGludCBzeXNubykgewogICAgc3dpdGNoIChzeXNubykgewogICAgICBjYXNlIF9fTlJfZ2V0aXRp bWVyOgpAQCAtNjk0LDcgKzY5Miw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0 NAogICAgICBjYXNlIF9fTlJfYWxhcm06CiAgI2VuZGlmCiAgICAgIGNhc2UgX19OUl9zZXRpdGlt ZXI6Ci1AQCAtMTAxMiwxOCArMTA0NSwyMiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc01pc2MoaW50 IHN5c25vKSB7CitAQCAtMTAxOSwxOCArMTA1MiwyMiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc01p c2MoaW50IHN5c25vKSB7CiAgICAgIGNhc2UgX19OUl9zeW5jZnM6CiAgICAgIGNhc2UgX19OUl92 aGFuZ3VwOgogIC8vIFRoZSBzeXN0ZW0gY2FsbHMgYmVsb3cgYXJlIG5vdCBpbXBsZW1lbnRlZC4K QEAgLTcyMSw3ICs3MTksNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAg ICAgY2FzZSBfX05SX2d0dHk6CiAgICAgIGNhc2UgX19OUl9pZGxlOgogICAgICBjYXNlIF9fTlJf bG9jazoKLUBAIC0xMDMxLDIwICsxMDY4LDIyIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTWlzYyhp bnQgc3lzbm8pIHsKK0BAIC0xMDM4LDIwICsxMDc1LDIyIEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz TWlzYyhpbnQgc3lzbm8pIHsKICAgICAgY2FzZSBfX05SX3Byb2Y6CiAgICAgIGNhc2UgX19OUl9w cm9maWw6CiAgI2VuZGlmCkBAIC04ODksNyArODg3LDcgQEAgaW5kZXggZTQ3ZTk4YmY1Li5kNTNh N2ZmNTYgMTAwNjQ0CiAgICBTRUNDT01QX1JFU1VMVChjdHgpID0gc3RhdGljX2Nhc3Q8Z3JlZ190 PihyZXRfdmFsKTsKICB9CiBkaWZmIC0tZ2l0IHNhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJh cC5jYyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MKLWluZGV4IDk4ODRiZThiYi4u OThlNDM3MWFhIDEwMDY0NAoraW5kZXggZjViODZhNzNhLi41ZTZjNGEwNjggMTAwNjQ0CiAtLS0g c2FuZGJveC9saW51eC9zZWNjb21wLWJwZi90cmFwLmNjCiArKysgc2FuZGJveC9saW51eC9zZWNj b21wLWJwZi90cmFwLmNjCiBAQCAtMjMyLDYgKzIzMiwyMCBAQCB2b2lkIFRyYXA6OlNpZ1N5cyhp bnQgbnIsIExpbnV4U2lnSW5mbyogaW5mbywgdWNvbnRleHRfdCogY3R4KSB7CkBAIC05NDAsMjMg KzkzOCwyMyBAQCBpbmRleCBmY2ZkMmFhMTIuLmY2ZWIzMmZiNyAxMDA2NDQKICAgIHJldHVybiBz eXNjYWxsKF9fTlJfY2xvbmUsIGZsYWdzLCBjaGlsZF9zdGFjaywgcHRpZCwgdGxzLCBjdGlkKTsK ICAjZW5kaWYKIGRpZmYgLS1naXQgc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJf cHJvY2Vzcy5jYyBzYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmNj Ci1pbmRleCA4MzIxZDIzNzkuLjdlNWFkMWRlMyAxMDA2NDQKK2luZGV4IGQ3MmM5ZDIzOC4uNzdm MWQ5NWY1IDEwMDY0NAogLS0tIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3By b2Nlc3MuY2MKICsrKyBzYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNz LmNjCi1AQCAtMTU3LDcgKzE1Nyw3IEBAIGJvb2wgQnJva2VyUHJvY2Vzczo6SXNTeXNjYWxsQWxs b3dlZChpbnQgc3lzbm8pIGNvbnN0IHsKLSAjaWYgZGVmaW5lZChfX05SX2ZzdGF0YXQpCi0gICAg IGNhc2UgX19OUl9mc3RhdGF0OgorQEAgLTE2OSw3ICsxNjksNyBAQCBib29sIEJyb2tlclByb2Nl c3M6OklzU3lzY2FsbEJyb2tlcmFibGUoaW50IHN5c25vLCBib29sIGZhc3RfY2hlY2spIGNvbnN0 IHsKKyAjaWYgZGVmaW5lZChfX05SX2ZzdGF0YXQ2NCkKKyAgICAgY2FzZSBfX05SX2ZzdGF0YXQ2 NDoKICAjZW5kaWYKIC0jaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2 NF9fKQogKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8 IGRlZmluZWQoX19wb3dlcnBjNjRfXykKICAgICAgY2FzZSBfX05SX25ld2ZzdGF0YXQ6CiAgI2Vu ZGlmCi0gICAgICAgcmV0dXJuICFmYXN0X2NoZWNrX2luX2NsaWVudF8gfHwgYWxsb3dlZF9jb21t YW5kX3NldF8udGVzdChDT01NQU5EX1NUQVQpOworICAgICAgIHJldHVybiAhZmFzdF9jaGVjayB8 fCBhbGxvd2VkX2NvbW1hbmRfc2V0Xy50ZXN0KENPTU1BTkRfU1RBVCk7CiBkaWZmIC0tZ2l0IHNh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29tcC5oIHNhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29tcC5oCi1pbmRleCBhNjBmZTJhZDMuLjlkY2NkYjUx ZCAxMDA2NDQKK2luZGV4IDFmYTQ3ZWQwOS4uMzljYzlhYjUzIDEwMDY0NAogLS0tIHNhbmRib3gv bGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29tcC5oCiArKysgc2FuZGJveC9saW51eC9z eXN0ZW1faGVhZGVycy9saW51eF9zZWNjb21wLmgKLUBAIC0yOSw2ICsyOSw5IEBACitAQCAtNDEs NiArNDEsOSBAQAogICNpZm5kZWYgRU1fQUFSQ0g2NAogICNkZWZpbmUgRU1fQUFSQ0g2NCAxODMK ICAjZW5kaWYKQEAgLTk2Niw3ICs5NjQsNyBAQCBpbmRleCBhNjBmZTJhZDMuLjlkY2NkYjUxZCAx MDA2NDQKICAKICAjaWZuZGVmIF9fQVVESVRfQVJDSF82NEJJVAogICNkZWZpbmUgX19BVURJVF9B UkNIXzY0QklUIDB4ODAwMDAwMDAKLUBAIC01NCw2ICs1NywxMiBAQAorQEAgLTczLDYgKzc2LDEy IEBACiAgI2lmbmRlZiBBVURJVF9BUkNIX0FBUkNINjQKICAjZGVmaW5lIEFVRElUX0FSQ0hfQUFS Q0g2NCAoRU1fQUFSQ0g2NCB8IF9fQVVESVRfQVJDSF82NEJJVCB8IF9fQVVESVRfQVJDSF9MRSkK ICAjZW5kaWYKQEAgLTEwNTUsMTMgKzEwNTMsMTMgQEAgaW5kZXggMDAwMDAwMDAwLi4wNzcyOGUw ODcKICsvL1RPRE86IGlzIGl0IG5lY2Vzc2FyeSB0byByZWRlZmluZSB1Y29udGV4dCBvbiBQUEM2 ND8KICsKICsjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElO VVhfVUNPTlRFWFRfSF8KLWRpZmYgLS1naXQgc2VydmljZXMvc2VydmljZV9tYW5hZ2VyL3NhbmRi b3gvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYyBzZXJ2aWNlcy9zZXJ2aWNlX21h bmFnZXIvc2FuZGJveC9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCi1pbmRleCBm Yjg5YjMzNTYuLjFlOTg0NzMxZSAxMDA2NDQKK2RpZmYgLS1naXQgc2FuZGJveC9wb2xpY3kvbGlu dXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYyBzYW5kYm94L3BvbGljeS9saW51eC9icGZf cmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCitpbmRleCAyNTg4ZmM3OTIuLmQ0NTVjNDYwMSAxMDA2 NDQKIC0tLSBzYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNj CiArKysgc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYwog QEAgLTE1LDYgKzE1LDExIEBACiAgI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRl cnMvbGludXhfc3lzY2FsbHMuaCIKLSAjaW5jbHVkZSAic2VydmljZXMvc2VydmljZV9tYW5hZ2Vy L3NhbmRib3gvbGludXgvc2FuZGJveF9saW51eC5oIgorICNpbmNsdWRlICJzYW5kYm94L3BvbGlj eS9saW51eC9zYW5kYm94X2xpbnV4LmgiCiAgCiArLy8gT24gUFBDNjQsIFRDR0VUUyBpcyBkZWZp bmVkIGluIHRlcm1zIG9mIHN0cnVjdCB0ZXJtaW9zLCBzbyB3ZSBtdXN0IGluY2x1ZGUgdGVybWlv cy5oCiArI2lmZGVmIF9fcG93ZXJwYzY0X18KQEAgLTEwNzIsNyArMTA3MCw3IEBAIGluZGV4IGZi ODliMzM1Ni4uMWU5ODQ3MzFlIDEwMDY0NAogIC8vIDxsaW51eC9kbWEtYnVmLmg+IG9uY2Uga2Vy bmVsIHZlcnNpb24gNC42IGJlY29tZXMgd2lkZWx5IHVzZWQuCiAgI2luY2x1ZGUgPGxpbnV4L3R5 cGVzLmg+CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2FuZ2xlL3NyYy9jb21waWxlci90cmFuc2xh dG9yL0luZm9TaW5rLmggdGhpcmRfcGFydHkvYW5nbGUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3Iv SW5mb1NpbmsuaAotaW5kZXggM2E4MDdlMWUuLjUyNTg2MTdhIDEwMDY0NAoraW5kZXggM2E4MDdl MWUzLi41MjU4NjE3YTcgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYW5nbGUvc3JjL2NvbXBpbGVy L3RyYW5zbGF0b3IvSW5mb1NpbmsuaAogKysrIHRoaXJkX3BhcnR5L2FuZ2xlL3NyYy9jb21waWxl ci90cmFuc2xhdG9yL0luZm9TaW5rLmgKIEBAIC05Miw3ICs5MiwxNiBAQCBjbGFzcyBUSW5mb1Np bmtCYXNlCkBAIC0xMDk0LDcgKzEwOTIsNyBAQCBpbmRleCAzYTgwN2UxZS4uNTI1ODYxN2EgMTAw NjQ0CiAgICAgIH0KICAgICAgLy8gV3JpdGUgYm9vbGVhbiB2YWx1ZXMgYXMgdGhlaXIgbmFtZXMg aW5zdGVhZCBvZiBpbnRlZ3JhbCB2YWx1ZS4KIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYW5nbGUv c3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oIHRoaXJkX3BhcnR5L2FuZ2xlL3NyYy9saWJBTkdMRS9D b25zdGFudHMuaAotaW5kZXggNDI5NjRjYzEuLjY2MDdkZWViIDEwMDY0NAoraW5kZXggZmNiYzky NDZhLi4zOWFlNjYxNDggMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xF L0NvbnN0YW50cy5oCiArKysgdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50 cy5oCiBAQCAtOSw2ICs5LDcgQEAKQEAgLTExMDYsMTAgKzExMDQsMTAgQEAgaW5kZXggNDI5NjRj YzEuLjY2MDdkZWViIDEwMDY0NAogIAogICNpbmNsdWRlIDxzdGRpbnQuaD4KIGRpZmYgLS1naXQg dGhpcmRfcGFydHkvYm9yaW5nc3NsL0JVSUxELmduIHRoaXJkX3BhcnR5L2JvcmluZ3NzbC9CVUlM RC5nbgotaW5kZXggYjQzNTQ5OWY0Li5hYzhhODRiNmQgMTAwNjQ0CitpbmRleCAxN2NmOWNkYTku LjhjZTk2YmQzMiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ24KICsr KyB0aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ24KLUBAIC0xMDEsNiArMTAxLDEzIEBAIGlm IChpc193aW4gJiYgIWlzX21zYW4gJiYgY3VycmVudF9jcHUgIT0gImFybTY0IikgeworQEAgLTEw Myw2ICsxMDMsMTMgQEAgaWYgKGlzX3dpbiAmJiAhaXNfbXNhbiAmJiBjdXJyZW50X2NwdSAhPSAi YXJtNjQiKSB7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHB1YmxpY19jb25maWdzID0gWyAi Om5vX2FzbV9jb25maWciIF0KICAgICAgICB9CkBAIC0xMTI0LDEwICsxMTIyLDEwIEBAIGluZGV4 IGI0MzU0OTlmNC4uYWM4YTg0YjZkIDEwMDY0NAogICAgICAgIHB1YmxpY19jb25maWdzID0gWyAi Om5vX2FzbV9jb25maWciIF0KICAgICAgfQogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3Bh ZC9CVUlMRC5nbiB0aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbgotaW5kZXggNTYxN2RlODgu LmRjOGJjMTc2IDEwMDY0NAoraW5kZXggNGFmM2Q3YmJmLi5hZGJmNTQxNTkgMTAwNjQ0CiAtLS0g dGhpcmRfcGFydHkvYnJlYWtwYWQvQlVJTEQuZ24KICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9C VUlMRC5nbgotQEAgLTU5OCw3ICs1OTgsNiBAQCBpZiAoaXNfbGludXggfHwgaXNfYW5kcm9pZCkg eworQEAgLTU5Niw3ICs1OTYsNiBAQCBpZiAoaXNfbGludXggfHwgaXNfY2hyb21lb3MgfHwgaXNf YW5kcm9pZCkgewogICAgICAgICJicmVha3BhZC9zcmMvY2xpZW50L21pbmlkdW1wX2ZpbGVfd3Jp dGVyLmgiLAogICAgICAgICJicmVha3BhZC9zcmMvY29tbW9uL2NvbnZlcnRfVVRGLmNjIiwKICAg ICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9jb252ZXJ0X1VURi5oIiwKQEAgLTExMzUsNyArMTEz Myw3IEBAIGluZGV4IDU2MTdkZTg4Li5kYzhiYzE3NiAxMDA2NDQKICAgICAgICAiYnJlYWtwYWQv c3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wLmNjIiwKICAgICAgICAiYnJlYWtwYWQvc3Jj L2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wLmgiLAogICAgICAgICJicmVha3BhZC9zcmMvY29t bW9uL2xpbnV4L2VsZnV0aWxzLmNjIiwKLUBAIC02MzYsNiArNjM1LDE0IEBAIGlmIChpc19saW51 eCB8fCBpc19hbmRyb2lkKSB7CitAQCAtNjM0LDYgKzYzMywxNCBAQCBpZiAoaXNfbGludXggfHwg aXNfY2hyb21lb3MgfHwgaXNfYW5kcm9pZCkgewogIAogICAgICBsaWJzID0gWyAiZGwiIF0KICAK QEAgLTExNTAsNyArMTE0OCw3IEBAIGluZGV4IDU2MTdkZTg4Li5kYzhiYzE3NiAxMDA2NDQKICAg ICAgaW5jbHVkZV9kaXJzID0gWwogICAgICAgICIuIiwKICAgICAgICAiYnJlYWtwYWQvc3JjIiwK LUBAIC02ODYsNyArNjkzLDYgQEAgaWYgKGlzX2xpbnV4IHx8IGlzX2FuZHJvaWQpIHsKK0BAIC02 ODIsNyArNjg5LDYgQEAgaWYgKGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zIHx8IGlzX2FuZHJvaWQp IHsKICAgICAgICAiYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWlu aWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjIiwKICAgICAgICAiYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0X3V0aWxzLmNjIiwK ICAgICAgICAiYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvcHJvY19j cHVpbmZvX3JlYWRlcl91bml0dGVzdC5jYyIsCkBAIC0xMTU5LDcgKzExNTcsNyBAQCBpbmRleCA1 NjE3ZGU4OC4uZGM4YmMxNzYgMTAwNjQ0CiAgICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGlu dXgvZmlsZV9pZF91bml0dGVzdC5jYyIsCiAgICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGlu dXgvbGludXhfbGliY19zdXBwb3J0X3VuaXR0ZXN0LmNjIiwKIGRpZmYgLS1naXQgdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24v cmF3X2NvbnRleHRfY3B1LmggdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRleHRfY3B1LmgKLWluZGV4IDA3ZDkx NzFhLi45YWVkNGNiMyAxMDA2NDQKK2luZGV4IDA3ZDkxNzFhMC4uOWFlZDRjYjM2IDEwMDY0NAog LS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93 cml0ZXJfY29tbW9uL3Jhd19jb250ZXh0X2NwdS5oCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRleHRf Y3B1LmgKIEBAIC00NCw2ICs0NCw4IEBAIHR5cGVkZWYgTURSYXdDb250ZXh0QVJNIFJhd0NvbnRl eHRDUFU7CkBAIC0xMTcyLDcgKzExNzAsNyBAQCBpbmRleCAwN2Q5MTcxYS4uOWFlZDRjYjMgMTAw NjQ0CiAgI2Vycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRm b3JtIHlldC4iCiAgI2VuZGlmCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmNjIHRo aXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJf Y29tbW9uL3RocmVhZF9pbmZvLmNjCi1pbmRleCBhYWUxZGMxMy4uMDNhZmVjN2EgMTAwNjQ0Citp bmRleCBhYWUxZGMxM2IuLjAzYWZlYzdhNSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5m by5jYwogKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv ZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmNjCiBAQCAtMjcwLDcgKzI3MCw0MiBAQCB2 b2lkIFRocmVhZEluZm86OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCkgY29uc3Qg ewpAQCAtMTI1OCw3ICsxMjU2LDcgQEAgaW5kZXggYWFlMWRjMTMuLjAzYWZlYzdhIDEwMDY0NAog KwogIH0gIC8vIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQKIGRpZmYgLS1naXQgdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24v dGhyZWFkX2luZm8uaCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oCi1pbmRleCBmYjIxNmZhNi4uNTkz YWFjODIgMTAwNjQ0CitpbmRleCBmYjIxNmZhNmQuLjU5M2FhYzgyMiAxMDA2NDQKIC0tLSB0aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2Nv bW1vbi90aHJlYWRfaW5mby5oCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uaAogQEAgLTY4LDYg KzY4LDEwIEBAIHN0cnVjdCBUaHJlYWRJbmZvIHsKQEAgLTEyODUsMTAgKzEyODMsMTAgQEAgaW5k ZXggZmIyMTZmYTYuLjU5M2FhYzgyIDEwMDY0NAogIAogIH0gIC8vIG5hbWVzcGFjZSBnb29nbGVf YnJlYWtwYWQKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjIHRoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9u L3Vjb250ZXh0X3JlYWRlci5jYwotaW5kZXggZWU1MTVjNDEuLjEwOTA0NzBmIDEwMDY0NAoraW5k ZXggNmVlYzFiZTI0Li43NDE5ODNhMWEgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVh ZGVyLmNjCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjCi1AQCAtMjU0LDYgKzI1NCw0 OCBAQCB2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpv dXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjKSB7CitAQCAtMjU0LDYgKzI1NCw0OCBAQCB2b2lkIFVD b250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVKiBvdXQsIGNvbnN0IHVj b250ZXh0X3QqIHVjKSB7CiAgICBvdXQtPmZsb2F0X3NhdmUuZmlyID0gdWMtPnVjX21jb250ZXh0 LmZwY19laXI7ICAvLyBVbnVzZWQuCiAgI2VuZGlmCiAgfQpAQCAtMTMzOCwyMSArMTMzNiwyMSBA QCBpbmRleCBlZTUxNWM0MS4uMTA5MDQ3MGYgMTAwNjQ0CiAgCiAgfSAgLy8gbmFtZXNwYWNlIGdv b2dsZV9icmVha3BhZAogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaCB0aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2Nv bW1vbi91Y29udGV4dF9yZWFkZXIuaAotaW5kZXggOGU3NGE4YTUuLjdjYjY2N2E3IDEwMDY0NAor aW5kZXggN2Q0MTAwODgxLi5jMTIyYWM5MmUgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRf cmVhZGVyLmgKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAogQEAgLTU1LDYgKzU1LDkg QEAgc3RydWN0IFVDb250ZXh0UmVhZGVyIHsKICAjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQot ICAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1 Y29udGV4dF90ICp1YywKKyAgIHN0YXRpYyB2b2lkIEZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRD UFUqIG91dCwgY29uc3QgdWNvbnRleHRfdCogdWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgZnBzaW1kX2NvbnRleHQqIGZwcmVncyk7CiArI2VsaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQogKyAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4 dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YywKICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHZycmVnc2V0X3QqIHZyZWdzKTsKICAjZWxzZQotICAgc3RhdGljIHZvaWQg RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1Yyk7 CisgICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVKiBvdXQsIGNvbnN0 IHVjb250ZXh0X3QqIHVjKTsKICAjZW5kaWYKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNj IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9l eGNlcHRpb25faGFuZGxlci5jYwotaW5kZXggYzY1ZmVhYTEuLjVhN2FiNTBjIDEwMDY0NAoraW5k ZXggYTZjYjVmOTg0Li5hZTE2YjY0ZDkgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCiAr KysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVy L2V4Y2VwdGlvbl9oYW5kbGVyLmNjCiBAQCAtNDYxLDkgKzQ2MSwxNiBAQCBib29sIEV4Y2VwdGlv bkhhbmRsZXI6OkhhbmRsZVNpZ25hbChpbnQgLypzaWcqLywgc2lnaW5mb190KiBpbmZvLCB2b2lk KiB1YykgewpAQCAtMTM3Myw3ICsxMzcxLDcgQEAgaW5kZXggYzY1ZmVhYTEuLjVhN2FiNTBjIDEw MDY0NAogICAgLy8gYW5kICdmbG9hdF9zdGF0ZScgaXMgbm90IGEgbWVtYmVyIG9mIENyYXNoQ29u dGV4dC4KICAgIHVjb250ZXh0X3QqIHVjX3B0ciA9ICh1Y29udGV4dF90Kil1YzsKICAgIGlmICh1 Y19wdHItPnVjX21jb250ZXh0LmZwcmVncykgewotQEAgLTcwMSwxMSArNzA4LDE5IEBAIGJvb2wg RXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVNaW5pZHVtcCgpIHsKK0BAIC03MDgsMTEgKzcxNSwxOSBA QCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OldyaXRlTWluaWR1bXAoKSB7CiAgICB9CiAgI2VuZGlm CiAgCkBAIC0xMzk0LDcgKzEzOTIsNyBAQCBpbmRleCBjNjVmZWFhMS4uNWE3YWI1MGMgMTAwNjQ0 CiAgICBjb250ZXh0LnRpZCA9IHN5c19nZXR0aWQoKTsKICAKICAgIC8vIEFkZCBhbiBleGNlcHRp b24gc3RyZWFtIHRvIHRoZSBtaW5pZHVtcCBmb3IgYmV0dGVyIHJlcG9ydGluZy4KLUBAIC03MjYs NiArNzQxLDkgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpXcml0ZU1pbmlkdW1wKCkgeworQEAg LTczMyw2ICs3NDgsOSBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OldyaXRlTWluaWR1bXAoKSB7 CiAgI2VsaWYgZGVmaW5lZChfX21pcHNfXykKICAgIGNvbnRleHQuc2lnaW5mby5zaV9hZGRyID0K ICAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPihjb250ZXh0LmNvbnRleHQudWNfbWNvbnRl eHQucGMpOwpAQCAtMTQwNSw3ICsxNDAzLDcgQEAgaW5kZXggYzY1ZmVhYTEuLjVhN2FiNTBjIDEw MDY0NAogICNlcnJvciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0 Zm9ybSB5ZXQuIgogICNlbmRpZgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaCB0aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9u X2hhbmRsZXIuaAotaW5kZXggZjQ0NDgzZmYuLjM2Y2U2ZDZjIDEwMDY0NAoraW5kZXggZjgwODQz ZWE3Li4yNjBkZDEwZjcgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmgKICsrKyB0aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9u X2hhbmRsZXIuaAogQEAgLTE5Miw3ICsxOTIsMTEgQEAgY2xhc3MgRXhjZXB0aW9uSGFuZGxlciB7 CkBAIC0xNDIyLDcgKzE0MjAsNyBAQCBpbmRleCBmNDQ0ODNmZi4uMzZjZTZkNmMgMTAwNjQ0CiAg ICAgIC8vIEluIGNhc2Ugb2YgTUlQUyBMaW51eCBGUCBzdGF0ZSBpcyBhbHJlYWR5IHBhcnQgb2Yg dWNvbnRleHRfdCBzbwogICAgICAvLyAnZmxvYXRfc3RhdGUnIGlzIG5vdCByZXF1aXJlZC4KIGRp ZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9o YW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlcl91bml0 dGVzdC5jYwotaW5kZXggOGQ4ODA5ZmEuLmUyZWIwMzFlIDEwMDY0NAoraW5kZXggMzVkY2JmZDRk Li43OTM0MzcwZmQgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjCiArKysg dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4 Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjCiBAQCAtMzA3LDcgKzMwNyw3IEBAIFRFU1QoRXhj ZXB0aW9uSGFuZGxlclRlc3QsIFBhcmFsbGVsQ2hpbGRDcmFzaGVzRG9udEhhbmcpIHsKQEAgLTE0 NTcsNyArMTQ1NSw3IEBAIGluZGV4IDhkODgwOWZhLi5lMmViMDMxZSAxMDA2NDQKICAKICAgIGNv bnN0IHBpZF90IGNoaWxkID0gZm9yaygpOwogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dy aXRlci5jYyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21p Y3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYwotaW5kZXggZmEzYzE3MTMuLjZjZTcw OWUyIDEwMDY0NAoraW5kZXggZmEzYzE3MTNhLi42Y2U3MDllMmYgMTAwNjQ0CiAtLS0gdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVy L21pY3JvZHVtcF93cml0ZXIuY2MKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYwogQEAg LTEzOCw3ICsxMzgsOSBAQCBjbGFzcyBNaWNyb2R1bXBXcml0ZXIgewpAQCAtMTUwMyw3ICsxNTAx LDcgQEAgaW5kZXggZmEzYzE3MTMuLjZjZTcwOWUyIDEwMDY0NAogICNlbmRpZgogICAgTGludXhE dW1wZXIqIGR1bXBlcl87CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0 ZXN0LmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWlj cm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCi1pbmRleCA2MzM5YWMw Yy4uMjkxYWYxMDYgMTAwNjQ0CitpbmRleCA2MzM5YWMwY2QuLjI5MWFmMTA2YiAxMDA2NDQKIC0t LSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVt cF93cml0ZXIvbWljcm9kdW1wX3dyaXRlcl91bml0dGVzdC5jYwogKysrIHRoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1 bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCiBAQCAtMjc5LDEwICsyNzksMTkgQEAgVEVTVChNaWNyb2R1 bXBXcml0ZXJUZXN0LCBCYXNpY1dpdGhNYXBwaW5ncykgewpAQCAtMTUzMCw3ICsxNTI4LDcgQEAg aW5kZXggNjMzOWFjMGMuLjI5MWFmMTA2IDEwMDY0NAogICAgQVNTRVJUX05FKHN0ZDo6c3RyaW5n OjpucG9zLAogICAgICAgICAgICAgIGJ1Zi5maW5kKCJNIDAwMDAxMDAwIDAwMDAwMDJBIDAwMDAx MDAwICIKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MgdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhf Y29yZV9kdW1wZXIuY2MKLWluZGV4IDQxNTA2ODk4Li5iOTNlNGFmYyAxMDA2NDQKK2luZGV4IDQx NTA2ODk4My4uYjkzZTRhZmNmIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNj CiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5p ZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MKIEBAIC0xMTIsNiArMTEyLDkgQEAgYm9v bCBMaW51eENvcmVEdW1wZXI6OkdldFRocmVhZEluZm9CeUluZGV4KHNpemVfdCBpbmRleCwgVGhy ZWFkSW5mbyogaW5mbykgewpAQCAtMTU1Niw3ICsxNTU0LDcgQEAgaW5kZXggNDE1MDY4OTguLmI5 M2U0YWZjIDEwMDY0NAogICAgICAgICAgZm9yIChpbnQgaSA9IEVGX1IwOyBpIDw9IEVGX1IzMTsg aSsrKQogICAgICAgICAgICBpbmZvLm1jb250ZXh0LmdyZWdzW2kgLSBFRl9SMF0gPSBzdGF0dXMt PnByX3JlZ1tpXTsKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmNjIHRoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4 X2R1bXBlci5jYwotaW5kZXggMTExMjAzNWIuLjg1MjNkYWQ2IDEwMDY0NAoraW5kZXggN2ZkNjUz MmFkLi4xOTljYmZmZmQgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmNjCiArKysgdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0 ZXIvbGludXhfZHVtcGVyLmNjCiBAQCAtNzY1LDcgKzc2NSw5IEBAIGJvb2wgTGludXhEdW1wZXI6 OkdldFN0YWNrSW5mbyhjb25zdCB2b2lkKiogc3RhY2ssIHNpemVfdCogc3RhY2tfbGVuLApAQCAt MTU3MSw3ICsxNTY5LDcgQEAgaW5kZXggMTExMjAzNWIuLjg1MjNkYWQ2IDEwMDY0NAogICAgY29u c3QgTWFwcGluZ0luZm8qIG1hcHBpbmcgPSBGaW5kTWFwcGluZyhzdGFja19wb2ludGVyKTsKICAg IGlmICghbWFwcGluZykKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmggdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGlu dXhfZHVtcGVyLmgKLWluZGV4IGY0YTc1ZDkwLi4wMjA5ODFmNSAxMDA2NDQKK2luZGV4IDdiZWUx NjBmMS4uMDdiYjJiODFhIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5oCiArKysgdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0 ZXIvbGludXhfZHVtcGVyLmgKIEBAIC02Myw3ICs2Myw4IEBAIG5hbWVzcGFjZSBnb29nbGVfYnJl YWtwYWQgewpAQCAtMTU4NSw3ICsxNTgzLDcgQEAgaW5kZXggZjRhNzVkOTAuLjAyMDk4MWY1IDEw MDY0NAogICNlbmRpZgogIAogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3Rf aGVscGVyLmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv bWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlcl91bml0dGVzdF9oZWxwZXIuY2MKLWluZGV4IDNh ZDQ4ZTUwLi4xNjg4YzM2NSAxMDA2NDQKK2luZGV4IDMzMWY0YmIzNC4uM2Y3MjI5NDdmIDEwMDY0 NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWlu aWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlcl91bml0dGVzdF9oZWxwZXIuY2MKICsrKyB0aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9s aW51eF9kdW1wZXJfdW5pdHRlc3RfaGVscGVyLmNjCiBAQCAtNTEsNiArNTEsOCBAQApAQCAtMTU5 OCw3ICsxNTk2LDcgQEAgaW5kZXggM2FkNDhlNTAuLjE2ODhjMzY1IDEwMDY0NAogICNlcnJvciBU aGlzIHRlc3QgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB0aGlzIHBsYXRmb3JtLgogICNlbmRpZgog ZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjIHRoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFj ZV9kdW1wZXIuY2MKLWluZGV4IGUzZGRiODFhLi5mYTI4NTc1ZSAxMDA2NDQKK2luZGV4IGUzZGRi ODFhNi4uZmEyODU3NWVmIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MK ICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlk dW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjCiBAQCAtMTQ5LDE5ICsxNDksMjcgQEAg Ym9vbCBMaW51eFB0cmFjZUR1bXBlcjo6Q29weUZyb21Qcm9jZXNzKHZvaWQqIGRlc3QsIHBpZF90 IGNoaWxkLApAQCAtMTY0NCw3ICsxNjQyLDcgQEAgaW5kZXggZTNkZGI4MWEuLmZhMjg1NzVlIDEw MDY0NAogICNlcnJvciAiVGhpcyBjb2RlIGhhc24ndCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRm b3JtIHlldC4iCiAgI2VuZGlmCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXJf dW5pdHRlc3QuY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5jYwotaW5kZXgg ZWE2YjlhMTIuLjliMzE4ZmUwIDEwMDY0NAoraW5kZXggZGE3MWUxNWRjLi4xMmJmYjMxN2EgMTAw NjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9t aW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5jYwogKysrIHRoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVy L2xpbnV4X3B0cmFjZV9kdW1wZXJfdW5pdHRlc3QuY2MKIEBAIC00NjIsNiArNDYyLDkgQEAgVEVT VChMaW51eFB0cmFjZUR1bXBlclRlc3QsIFZlcmlmeVN0YWNrUmVhZFdpdGhNdWx0aXBsZVRocmVh ZHMpIHsKQEAgLTE2NjcsNyArMTY2NSw3IEBAIGluZGV4IGVhNmI5YTEyLi45YjMxOGZlMCAxMDA2 NDQKICAjZXJyb3IgVGhpcyB0ZXN0IGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8gdGhpcyBwbGF0Zm9y bS4KICAjZW5kaWYKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjIHRoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21p bmlkdW1wX3dyaXRlci5jYwotaW5kZXggZjhjZGYyYTEuLmNiODA4YzE1IDEwMDY0NAoraW5kZXgg MzI2MzRlZjAwLi4yYTU2OTQ4ZGUgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNj CiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5p ZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjCiBAQCAtMTM2LDcgKzEzNiw5IEBAIGNsYXNz IE1pbmlkdW1wV3JpdGVyIHsKQEAgLTE3MjQsNyArMTcyMiw3IEBAIGluZGV4IGY4Y2RmMmExLi5j YjgwOGMxNSAxMDA2NDQKICAjZW5kaWYKICAgIExpbnV4RHVtcGVyKiBkdW1wZXJfOwogZGlmZiAt LWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlk dW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAotaW5k ZXggZTNiMGIxNmQuLmNjZDhhYTBhIDEwMDY0NAoraW5kZXggZTNiMGIxNmRhLi5jY2Q4YWEwYTQg MTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmgKICsrKyB0aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93 cml0ZXIuaAogQEAgLTQ4LDYgKzQ4LDggQEAgY2xhc3MgRXhjZXB0aW9uSGFuZGxlcjsKQEAgLTE3 MzcsNyArMTczNSw3IEBAIGluZGV4IGUzYjBiMTZkLi5jY2Q4YWEwYSAxMDA2NDQKICB0eXBlZGVm IHN0ZDo6cmVtb3ZlX3BvaW50ZXI8ZnByZWdzZXRfdD46OnR5cGUgZnBzdGF0ZV90OwogICNlbmRp ZgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MgdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWlu aWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCi1pbmRleCAzMDE3YTQ5YS4uMzY0ZWZkNzkgMTAwNjQ0 CitpbmRleCBkMTkyZTVjYmIuLmZjMWJmYThkNyAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93 cml0ZXJfdW5pdHRlc3QuY2MKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MK IEBAIC03MTUsNiArNzE1LDkgQEAgVEVTVChNaW5pZHVtcFdyaXRlclRlc3QsIEludmFsaWRTdGFj a1BvaW50ZXIpIHsKQEAgLTE3NTEsNyArMTc0OSw3IEBAIGluZGV4IDMwMTdhNDlhLi4zNjRlZmQ3 OSAxMDA2NDQKICAjIGVycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3Vy IHBsYXRmb3JtIHlldC4iCiAgI2VuZGlmCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlLmNjIHRoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxl LmNjCi1pbmRleCA0ZTkzODI2OS4uZjBmZjE1ZDkgMTAwNjQ0CitpbmRleCA5OTM2Mjk0NWMuLmM1 NGJhNzE0NSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29t bW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZS5jYwogKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlLmNjCiBAQCAtNjUs OCArNjUsNyBAQCBib29sIE1lbW9yeU1hcHBlZEZpbGU6Ok1hcChjb25zdCBjaGFyKiBwYXRoLCBz aXplX3Qgb2Zmc2V0KSB7CkBAIC0xNzY1LDcgKzE3NjMsNyBAQCBpbmRleCA0ZTkzODI2OS4uZjBm ZjE1ZDkgMTAwNjQ0CiAgICBpZiAoc3lzX2ZzdGF0KGZkLCAmc3QpID09IC0xIHx8IHN0LnN0X3Np emUgPCAwKSB7CiAgI2Vsc2UKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGVfdW5pdHRlc3QuY2MgdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2Zp bGVfdW5pdHRlc3QuY2MKLWluZGV4IGZhZDU5ZjQwLi42MTY0OTZkNiAxMDA2NDQKK2luZGV4IGZh ZDU5ZjQwYy4uNjE2NDk2ZDY3IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlX3VuaXR0ZXN0LmNjCiArKysg dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFw cGVkX2ZpbGVfdW5pdHRlc3QuY2MKIEBAIC0xNzYsOSArMTc2LDEwIEBAIFRFU1RfRihNZW1vcnlN YXBwZWRGaWxlVGVzdCwgUmVtYXBBZnRlck1hcCkgewpAQCAtMTc4MywxMCArMTc4MSwxMCBAQCBp bmRleCBmYWQ1OWY0MC4uNjE2NDk2ZDYgMTAwNjQ0CiAgICAgIGRhdGExW2ldID0gaSAmIDB4N2Y7 CiAgICB9CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21t b24vbWVtb3J5X2FsbG9jYXRvcl91bml0dGVzdC5jYyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY29tbW9uL21lbW9yeV9hbGxvY2F0b3JfdW5pdHRlc3QuY2MKLWluZGV4IDQzYzg2 MzE0Li4yNzMyNWI4MSAxMDA2NDQKK2luZGV4IDU4MDNiOTBkNS4uMmExY2YxNGYwIDEwMDY0NAog LS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbWVtb3J5X2FsbG9j YXRvcl91bml0dGVzdC5jYwogKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j b21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0dGVzdC5jYwotQEAgLTU3LDggKzU3LDkgQEAKK0BA IC01Nyw4ICs1Nyw5IEBAIFRFU1QoUGFnZUFsbG9jYXRvclRlc3QsIExhcmdlT2JqZWN0KSB7CiAg CiAgICBFWFBFQ1RfRVEoMFUsIGFsbG9jYXRvci5wYWdlc19hbGxvY2F0ZWQoKSk7CiAgICB1aW50 OF90KiBwID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oYWxsb2NhdG9yLkFsbG9jKDEwMDAw KSk7CkBAIC0xNzk4LDcgKzE3OTYsNyBAQCBpbmRleCA0M2M4NjMxNC4uMjczMjViODEgMTAwNjQ0 CiAgICAgIHVpbnQ4X3QqIHAgPSByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihhbGxvY2F0b3Iu QWxsb2MoaSkpOwogICAgICBBU1NFUlRfRkFMU0UocCA9PSBOVUxMKTsKIGRpZmYgLS1naXQgdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV9s aW51eC5jYyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxv aXRhYmlsaXR5X2xpbnV4LmNjCi1pbmRleCBjY2M5ZjE0NS4uZGViYWVkNGQgMTAwNjQ0CitpbmRl eCA3OTgwNTZkZmEuLjIyYmQ4MWZmZiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X2xpbnV4LmNjCiArKysgdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV9saW51 eC5jYwogQEAgLTIwMiwxMiArMjAyLDE0IEBAIGJvb2wgRXhwbG9pdGFiaWxpdHlMaW51eDo6RW5k ZWRPbklsbGVnYWxXcml0ZSh1aW50NjRfdCBpbnN0cnVjdGlvbl9wdHIpIHsKQEAgLTE4MTcsNyAr MTgxNSw3IEBAIGluZGV4IGNjYzlmMTQ1Li5kZWJhZWQ0ZCAxMDA2NDQKICAgICAgICAvLyBVbnN1 cHBvcnRlZCBhcmNoaXRlY3R1cmUuIE5vdGUgdGhhdCBBUk0gYXJjaGl0ZWN0dXJlcyBhcmUgbm90 CiAgICAgICAgLy8gc3VwcG9ydGVkIGJlY2F1c2Ugb2JqZHVtcCBkb2VzIG5vdCBzdXBwb3J0IEFS TS4KIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nv ci9leHBsb2l0YWJpbGl0eV91bml0dGVzdC5jYyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X3VuaXR0ZXN0LmNjCi1pbmRleCA1MjhlZTVm Mi4uNzI3NjRkNmMgMTAwNjQ0CitpbmRleCA1MjhlZTVmMjEuLjcyNzY0ZDZjMSAxMDA2NDQKIC0t LSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmls aXR5X3VuaXR0ZXN0LmNjCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3By b2Nlc3Nvci9leHBsb2l0YWJpbGl0eV91bml0dGVzdC5jYwogQEAgLTEwNCw2ICsxMDQsOCBAQCBF eHBsb2l0YWJpbGl0eUZvcihjb25zdCBzdHJpbmcmIGZpbGVuYW1lKSB7CkBAIC0xODc1LDcgKzE4 NzMsNyBAQCBpbmRleCA1MjhlZTVmMi4uNzI3NjRkNmMgMTAwNjQ0CiAgCiAgfSAgLy8gbmFtZXNw YWNlCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9s aW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvdG9vbHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MKLWluZGV4IGE2 MGJlMzIzLi4zNWIxMWI2ZCAxMDA2NDQKK2luZGV4IGFhZGU4MmM5OS4uMTk1YWE3M2YzIDEwMDY0 NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9saW51eC9tZDJj b3JlL21pbmlkdW1wLTItY29yZS5jYwogKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYwogQEAgLTc3LDYgKzc3 LDggQEAKQEAgLTE5NTksNyArMTk1Nyw3IEBAIGluZGV4IGE2MGJlMzIzLi4zNWIxMWI2ZCAxMDA2 NDQKICAjZXJyb3IgIlRoaXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZv cm0geWV0IgogICNlbmRpZgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9DT05UUklCVVRPUlMgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvQ09OVFJJQlVUT1JT Ci1pbmRleCA4NzI0YjdmMy4uOGUyOTQyNGUgMTAwNjQ0CitpbmRleCA4NzI0YjdmMzIuLjhlMjk0 MjRlZiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9DT05UUklCVVRP UlMKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9DT05UUklCVVRPUlMKIEBAIC0x MywzICsxMyw0IEBAIE1hcmsgTWVudG92YWkgPG1hcmtAY2hyb21pdW0ub3JnPgpAQCAtMTk2OCw3 ICsxOTY2LDcgQEAgaW5kZXggODcyNGI3ZjMuLjhlMjk0MjRlIDEwMDY0NAogIEpvc2h1YSBQZXJh emEgPGpwZXJhemFAY2hyb21pdW0ub3JnPgogK1NoYXduIEFuYXN0YXNpbyA8c2hhd25AYW5hc3Rh cy5pbz4KIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xp bnV4L3N5cy91c2VyLmggdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4 L3N5cy91c2VyLmgKLWluZGV4IDZlZDc3YTk4Li4xZmQ4MzQ2OSAxMDA2NDQKK2luZGV4IDZlZDc3 YTk4ZS4uMWZkODM0NjlhIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L2NvbXBhdC9saW51eC9zeXMvdXNlci5oCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvY29tcGF0L2xpbnV4L3N5cy91c2VyLmgKIEBAIC0xNSw2ICsxNSw3IEBACkBAIC0xOTgwLDcg KzE5NzgsNyBAQCBpbmRleCA2ZWQ3N2E5OC4uMWZkODM0NjkgMTAwNjQ0CiAgCiAgI2luY2x1ZGUg PGZlYXR1cmVzLmg+CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21p bmlkdW1wL21pbmlkdW1wX2NvbnRleHQuaCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9t aW5pZHVtcC9taW5pZHVtcF9jb250ZXh0LmgKLWluZGV4IDNhM2U2MDNjLi4zMTE4ZDllOSAxMDA2 NDQKK2luZGV4IDNhM2U2MDNjYi4uMzExOGQ5ZTlmIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHQuaAogKysrIHRoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHQuaAogQEAgLTU5 Miw2ICs1OTIsNzAgQEAgc3RydWN0IE1pbmlkdW1wQ29udGV4dE1JUFM2NCB7CkBAIC0yMDU1LDcg KzIwNTMsNyBAQCBpbmRleCAzYTNlNjAzYy4uMzExOGQ5ZTkgMTAwNjQ0CiAgCiAgI2VuZGlmICAv LyBDUkFTSFBBRF9NSU5JRFVNUF9NSU5JRFVNUF9DT05URVhUX0hfCiBkaWZmIC0tZ2l0IHRoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVy LmNjIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRl eHRfd3JpdGVyLmNjCi1pbmRleCBkN2U1M2E0OS4uZDg5ZWI5ZTAgMTAwNjQ0CitpbmRleCBkN2U1 M2E0OTMuLmQ4OWViOWUwMSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlci5jYwogKysrIHRoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjCiBAQCAt MTAxLDYgKzEwMSwxMyBAQCBNaW5pZHVtcENvbnRleHRXcml0ZXI6OkNyZWF0ZUZyb21TbmFwc2hv dChjb25zdCBDUFVDb250ZXh0KiBjb250ZXh0X3NuYXBzaG90KSB7CkBAIC0yMTIxLDcgKzIxMTks NyBAQCBpbmRleCBkN2U1M2E0OS4uZDg5ZWI5ZTAgMTAwNjQ0CiArCiAgfSAgLy8gbmFtZXNwYWNl IGNyYXNocGFkCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlk dW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmggdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuaAotaW5kZXggZDRhYjkzNmUuLjFk MjJmYzU5IDEwMDY0NAoraW5kZXggZDRhYjkzNmVlLi4xZDIyZmM1OWMgMTAwNjQ0CiAtLS0gdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0 ZXIuaAogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1w X2NvbnRleHRfd3JpdGVyLmgKIEBAIC0zMTUsNiArMzE1LDQ1IEBAIGNsYXNzIE1pbmlkdW1wQ29u dGV4dE1JUFM2NFdyaXRlciBmaW5hbCA6IHB1YmxpYyBNaW5pZHVtcENvbnRleHRXcml0ZXIgewpA QCAtMjE3MSw3ICsyMTY5LDcgQEAgaW5kZXggZDRhYjkzNmUuLjFkMjJmYzU5IDEwMDY0NAogIAog ICNlbmRpZiAgLy8gQ1JBU0hQQURfTUlOSURVTVBfTUlOSURVTVBfQ09OVEVYVF9XUklURVJfSF8K IGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1 bXBfY29udGV4dF93cml0ZXJfdGVzdC5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9t aW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlcl90ZXN0LmNjCi1pbmRleCAzMjE2YTkwNi4u YTlmY2JlOWQgMTAwNjQ0CitpbmRleCAzMjE2YTkwNmIuLmE5ZmNiZTlkOCAxMDA2NDQKIC0tLSB0 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dy aXRlcl90ZXN0LmNjCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAv bWluaWR1bXBfY29udGV4dF93cml0ZXJfdGVzdC5jYwogQEAgLTIxMyw2ICsyMTMsMjEgQEAgVEVT VChNaW5pZHVtcENvbnRleHRXcml0ZXIsIE1JUFM2NF9Gcm9tU25hcHNob3QpIHsKQEAgLTIxOTcs MTAgKzIxOTUsMTAgQEAgaW5kZXggMzIxNmE5MDYuLmE5ZmNiZTlkIDEwMDY0NAogIH0gIC8vIG5h bWVzcGFjZSB0ZXN0CiAgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCiBkaWZmIC0tZ2l0IHRoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0 ZXIuY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfbWlz Y19pbmZvX3dyaXRlci5jYwotaW5kZXggYTEzNDA3NjAuLjk1ZGM5MjUyIDEwMDY0NAoraW5kZXgg MDk3NGUzZGRmLi5iNzFlYzU4ODAgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvbWluaWR1bXAvbWluaWR1bXBfbWlzY19pbmZvX3dyaXRlci5jYwogKysrIHRoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0ZXIu Y2MKLUBAIC0xMjYsNiArMTI2LDggQEAgc3RkOjpzdHJpbmcgTWluaWR1bXBNaXNjSW5mb0RlYnVn QnVpbGRTdHJpbmcoKSB7CitAQCAtMTM1LDYgKzEzNSw4IEBAIHN0ZDo6c3RyaW5nIE1pbmlkdW1w TWlzY0luZm9EZWJ1Z0J1aWxkU3RyaW5nKCkgewogICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtD UFVbXSA9ICJtaXBzIjsKICAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFM2NEVMKQogICAgc3Rh dGljIGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJtaXBzNjQiOwpAQCAtMjIxMCwxMCArMjIwOCwx MCBAQCBpbmRleCBhMTM0MDc2MC4uOTVkYzkyNTIgMTAwNjQ0CiAgI2Vycm9yIGRlZmluZSBrQ1BV IGZvciB0aGlzIENQVQogICNlbmRpZgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9jYXB0dXJlX21lbW9yeS5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9jYXB0dXJlX21lbW9yeS5jYwotaW5kZXggYTUxNjI2Y2MuLjYxZTBi MjBhIDEwMDY0NAoraW5kZXggN2ExYjI3NjNjLi5iZWRhOGRhOWUgMTAwNjQ0CiAtLS0gdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY2FwdHVyZV9tZW1vcnkuY2MKICsrKyB0 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jYXB0dXJlX21lbW9yeS5jYwot QEAgLTExMSw2ICsxMTEsMTEgQEAgdm9pZCBDYXB0dXJlTWVtb3J5OjpQb2ludGVkVG9CeUNvbnRl eHQoY29uc3QgQ1BVQ29udGV4dCYgY29udGV4dCwKK0BAIC0xMTIsNiArMTEyLDExIEBAIHZvaWQg Q2FwdHVyZU1lbW9yeTo6UG9pbnRlZFRvQnlDb250ZXh0KGNvbnN0IENQVUNvbnRleHQmIGNvbnRl eHQsCiAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGJhc2U6OnNpemUoY29udGV4dC5taXBzZWwt PnJlZ3MpOyArK2kpIHsKICAgICAgTWF5YmVDYXB0dXJlTWVtb3J5QXJvdW5kKGRlbGVnYXRlLCBj b250ZXh0Lm1pcHNlbC0+cmVnc1tpXSk7CiAgICB9CkBAIC0yMjI2LDcgKzIyMjQsNyBAQCBpbmRl eCBhNTE2MjZjYy4uNjFlMGIyMGEgMTAwNjQ0CiAgI2Vycm9yIFBvcnQuCiAgI2VuZGlmCiBkaWZm IC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9hcmNoaXRl Y3R1cmUuaCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfYXJjaGl0 ZWN0dXJlLmgKLWluZGV4IDgxMWE3MjA5Li5mNGY4Mzk4MSAxMDA2NDQKK2luZGV4IDgxMWE3MjA5 NS4uZjRmODM5ODFkIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2NwdV9hcmNoaXRlY3R1cmUuaAogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3NuYXBzaG90L2NwdV9hcmNoaXRlY3R1cmUuaAogQEAgLTQzLDcgKzQzLDEwIEBAIGVudW0g Q1BVQXJjaGl0ZWN0dXJlIHsKQEAgLTIyNDIsNyArMjI0MCw3IEBAIGluZGV4IDgxMWE3MjA5Li5m NGY4Mzk4MSAxMDA2NDQKICAKICB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hwYWQKIGRpZmYgLS1naXQg dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuY2MgdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuY2MKLWluZGV4 IDZmYjhkN2U3Li5iMDFmN2NhZCAxMDA2NDQKK2luZGV4IGM3NWI1NTU1ZS4uYWVhZGU1NzdhIDEw MDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250 ZXh0LmNjCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2Nv bnRleHQuY2MKIEBAIC0xNjksNiArMTY5LDggQEAgdWludDY0X3QgQ1BVQ29udGV4dDo6SW5zdHJ1 Y3Rpb25Qb2ludGVyKCkgY29uc3QgewpAQCAtMjI3Miw3ICsyMjcwLDcgQEAgaW5kZXggNmZiOGQ3 ZTcuLmIwMWY3Y2FkIDEwMDY0NAogICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVYODY6CiAgICAg IGNhc2Uga0NQVUFyY2hpdGVjdHVyZUFSTToKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuaCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5oCi1pbmRleCBmYjIzYzQ2Ny4uZWViZWRlNjMg MTAwNjQ0CitpbmRleCBmYjIzYzQ2NzkuLmVlYmVkZTYzYyAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5oCiArKysgdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuaAogQEAgLTM1Miw2ICsz NTIsMjQgQEAgc3RydWN0IENQVUNvbnRleHRNSVBTNjQgewpAQCAtMjMwOSw3ICsyMzA3LDcgQEAg aW5kZXggZmIyM2M0NjcuLmVlYmVkZTYzIDEwMDY0NAogIH07CiAgCiBkaWZmIC0tZ2l0IHRoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4 LmggdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvY3B1X2NvbnRl eHRfbGludXguaAotaW5kZXggOWY0NmE0ODkuLmFhNjc3YzRlIDEwMDY0NAoraW5kZXggOWY0NmE0 ODk3Li5hYTY3N2M0ZWIgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvbGludXgvY3B1X2NvbnRleHRfbGludXguaAogKysrIHRoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4LmgKIEBAIC0xNSw2 ICsxNSw3IEBACkBAIC0yNDAwLDI0ICsyMzk4LDIwIEBAIGluZGV4IDlmNDZhNDg5Li5hYTY3N2M0 ZSAxMDA2NDQKICB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hwYWQKICAKIGRpZmYgLS1naXQgdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZGVidWdfcmVuZGV6dm91c190 ZXN0LmNjIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2RlYnVn X3JlbmRlenZvdXNfdGVzdC5jYwotaW5kZXggYmUyMmM5MDMuLmM1ZGYyM2QxIDEwMDY0NAoraW5k ZXggZDMyYmQxOTM3Li4yZGQ1MzhjMmIgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvbGludXgvZGVidWdfcmVuZGV6dm91c190ZXN0LmNjCiArKysgdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZGVidWdfcmVuZGV6dm91 c190ZXN0LmNjCi1AQCAtMTU5LDkgKzE1OSwxMSBAQCB2b2lkIFRlc3RBZ2FpbnN0VGFyZ2V0KFB0 cmFjZUNvbm5lY3Rpb24qIGNvbm5lY3Rpb24pIHsKLSAgICAgICAgICAgY29uc3QgYm9vbCBpc192 ZHNvX21hcHBpbmcgPQorQEAgLTE5Miw2ICsxOTIsOCBAQCB2b2lkIFRlc3RBZ2FpbnN0VGFyZ2V0 KFB0cmFjZUNvbm5lY3Rpb24qIGNvbm5lY3Rpb24pIHsKICAgICAgICAgICAgICAgIGRldmljZSA9 PSAwICYmIGlub2RlID09IDAgJiYgbWFwcGluZ19uYW1lID09ICJbdmRzb10iOworICNpZiBkZWZp bmVkKEFSQ0hfQ1BVX1g4NikKKyAgICAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtQcmVm aXhbXSA9ICJsaW51eC1nYXRlLnNvLiI7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NCkK KysgICAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtQcmVmaXhbXSA9ICJsaW51eC12ZHNv NjQuc28uIjsKKyAjZWxzZQogICAgICAgICAgICBzdGF0aWMgY29uc3RleHByIGNoYXIga1ByZWZp eFtdID0gImxpbnV4LXZkc28uc28uIjsKLSsgICAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBjaGFy IGtQcmVmaXg2NFtdID0gImxpbnV4LXZkc282NC5zby4iOwotICAgICAgICAgICByZXR1cm4gaXNf dmRzb19tYXBwaW5nID09Ci0gICAgICAgICAgICAgICAgICAobW9kdWxlX25hbWUuZW1wdHkoKSB8 fAotLSAgICAgICAgICAgICAgICAgIG1vZHVsZV9uYW1lLmNvbXBhcmUoMCwgc3RybGVuKGtQcmVm aXgpLCBrUHJlZml4KSA9PSAwKTsKLSsgICAgICAgICAgICAgICAgICBtb2R1bGVfbmFtZS5jb21w YXJlKDAsIHN0cmxlbihrUHJlZml4KSwga1ByZWZpeCkgPT0gMCB8fAotKyAgICAgICAgICAgICAg ICAgIG1vZHVsZV9uYW1lLmNvbXBhcmUoMCwgc3RybGVuKGtQcmVmaXg2NCksIGtQcmVmaXg2NCkg PT0gMCk7Ci0gICAgICAgICB9LAotICAgICAgICAgbW9kdWxlX21hcHBpbmctPm5hbWUsCi0gICAg ICAgICBtb2R1bGVfbWFwcGluZy0+ZGV2aWNlLAorICNlbmRpZgogZGlmZiAtLWdpdCB0aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3Rf bGludXguY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhj ZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNjCi1pbmRleCBjZDQwYjNiMS4uNmJjZjIzYjYgMTAwNjQ0 CitpbmRleCBjZDQwYjNiMTIuLjZiY2YyM2I2ZiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguY2MK ICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRp b25fc25hcHNob3RfbGludXguY2MKIEBAIC0zMjMsNiArMzIzLDY5IEBAIGJvb2wgRXhjZXB0aW9u U25hcHNob3RMaW51eDo6UmVhZENvbnRleHQ8Q29udGV4dFRyYWl0czY0PigKQEAgLTI0OTEsNyAr MjQ4NSw3IEBAIGluZGV4IGNkNDBiM2IxLi42YmNmMjNiNiAxMDA2NDQKICAKICBib29sIEV4Y2Vw dGlvblNuYXBzaG90TGludXg6OkluaXRpYWxpemUoUHJvY2Vzc1JlYWRlckxpbnV4KiBwcm9jZXNz X3JlYWRlciwKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmggdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmgKLWluZGV4 IGVhMGNkMjEwLi5lNDJkZjUyMCAxMDA2NDQKK2luZGV4IGVhMGNkMjEwNi4uZTQyZGY1MjBmIDEw MDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4 Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5oCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmgKIEBAIC04NCw2ICs4 NCw4IEBAIGNsYXNzIEV4Y2VwdGlvblNuYXBzaG90TGludXggZmluYWwgOiBwdWJsaWMgRXhjZXB0 aW9uU25hcHNob3QgewpAQCAtMjUwNCw3ICsyNDk4LDcgQEAgaW5kZXggZWEwY2QyMTAuLmU0MmRm NTIwIDEwMDY0NAogICAgfSBjb250ZXh0X3VuaW9uXzsKICAgIENQVUNvbnRleHQgY29udGV4dF87 CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4 L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eF90ZXN0LmNjIHRoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eF90ZXN0LmNjCi1p bmRleCBlNGZmMWFiNy4uMjU1MzRkZDAgMTAwNjQ0CitpbmRleCBjMTcxNzBiNDMuLmI2YTcxNGNj NiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC9leGNlcHRpb25fc25hcHNob3RfbGludXhfdGVzdC5jYwogKysrIHRoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eF90ZXN0 LmNjCiBAQCAtMjk2LDcgKzI5NiwyOCBAQCB2b2lkIEV4cGVjdENvbnRleHQoY29uc3QgQ1BVQ29u dGV4dCYgYWN0dWFsLCBjb25zdCBOYXRpdmVDUFVDb250ZXh0JiBleHBlY3RlZCkgewpAQCAtMjUz Nyw3ICsyNTMxLDcgQEAgaW5kZXggZTRmZjFhYjcuLjI1NTM0ZGQwIDEwMDY0NAogICNlcnJvciBQ b3J0LgogICNlbmRpZgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eC5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eC5jYwotaW5kZXgg Yjk2YWJmZTcuLmRmMTJjYTU2IDEwMDY0NAoraW5kZXggZWUyNDZlOGJjLi45NTU1ZGNlMDQgMTAw NjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJv Y2Vzc19yZWFkZXJfbGludXguY2MKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eC5jYwogQEAgLTEwOCw2ICsxMDgsOCBA QCB2b2lkIFByb2Nlc3NSZWFkZXJMaW51eDo6VGhyZWFkOjpJbml0aWFsaXplU3RhY2soUHJvY2Vz c1JlYWRlckxpbnV4KiByZWFkZXIpIHsKQEAgLTI1NDksMjEgKzI1NDMsOCBAQCBpbmRleCBiOTZh YmZlNy4uZGYxMmNhNTYgMTAwNjQ0CiAgI2Vsc2UKICAjZXJyb3IgUG9ydC4KICAjZW5kaWYKLWRp ZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJv Y2Vzc19yZWFkZXJfbGludXhfdGVzdC5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eF90ZXN0LmNjCi1pbmRleCA1YjU3MjM2 MS4uMDQ5YzMyODUgMTAwNjQ0Ci0tLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXhfdGVzdC5jYwotKysrIHRoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Byb2Nlc3NfcmVhZGVyX2xpbnV4X3Rl c3QuY2MKLUBAIC02MTIsNiArNjEyLDggQEAgYm9vbCBXcml0ZVRlc3RNb2R1bGUoY29uc3QgYmFz ZTo6RmlsZVBhdGgmIG1vZHVsZV9wYXRoKSB7Ci0gICBtb2R1bGUuZWhkci5lX21hY2hpbmUgPSBF TV9BQVJDSDY0OwotICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU0VMKSB8fCBkZWZpbmVkKEFS Q0hfQ1BVX01JUFM2NEVMKQotICAgbW9kdWxlLmVoZHIuZV9tYWNoaW5lID0gRU1fTUlQUzsKLSsj ZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQotKyAgbW9kdWxlLmVoZHIuZV9tYWNoaW5lID0g RU1fUFBDNjQ7Ci0gI2VuZGlmCi0gCi0gICBtb2R1bGUuZWhkci5lX3ZlcnNpb24gPSBFVl9DVVJS RU5UOwogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC9zaWduYWxfY29udGV4dC5oIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBz aG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgKLWluZGV4IDExMDAyNDY4Li44ZTMzNWEwOSAxMDA2 NDQKK2luZGV4IDExMDAyNDY4MC4uYTFmMmRhMjU5IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgKICsrKyB0aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zaWduYWxfY29udGV4dC5o CiBAQCAtNDIyLDYgKzQyMiw4OSBAQCBzdGF0aWNfYXNzZXJ0KG9mZnNldG9mKFVDb250ZXh0PENv bnRleHRUcmFpdHM2ND4sIG1jb250ZXh0LmZwcmVncykgPT0KQEAgLTI2NTcsMTAgKzI2MzgsMTAg QEAgaW5kZXggMTEwMDI0NjguLjhlMzM1YTA5IDEwMDY0NAogICNlcnJvciBQb3J0LgogICNlbmRp ZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MgdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc3lzdGVtX3NuYXBzaG90X2xp bnV4LmNjCi1pbmRleCA4NTY0ZDNkNC4uYjY5MGVjZDQgMTAwNjQ0CitpbmRleCBhOTlkYTNlNGIu LjAzYjk3MzA4MyAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKICsrKyB0aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKLUBA IC0yMDMsNiArMjAzLDggQEAgQ1BVQXJjaGl0ZWN0dXJlIFN5c3RlbVNuYXBzaG90TGludXg6Okdl dENQVUFyY2hpdGVjdHVyZSgpIGNvbnN0IHsKK0BAIC0yMDQsNiArMjA0LDggQEAgQ1BVQXJjaGl0 ZWN0dXJlIFN5c3RlbVNuYXBzaG90TGludXg6OkdldENQVUFyY2hpdGVjdHVyZSgpIGNvbnN0IHsK ICAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQogICAgcmV0dXJuIHByb2Nlc3Nf cmVhZGVyXy0+SXM2NEJpdCgpID8ga0NQVUFyY2hpdGVjdHVyZU1JUFM2NEVMCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBrQ1BVQXJjaGl0ZWN0dXJlTUlQU0VMOwpAQCAt MjY2OSw3ICsyNjUwLDcgQEAgaW5kZXggODU2NGQzZDQuLmI2OTBlY2Q0IDEwMDY0NAogICNlbHNl CiAgI2Vycm9yIHBvcnQgdG8geW91ciBhcmNoaXRlY3R1cmUKICAjZW5kaWYKLUBAIC0yMTgsNiAr MjIwLDkgQEAgdWludDMyX3QgU3lzdGVtU25hcHNob3RMaW51eDo6Q1BVUmV2aXNpb24oKSBjb25z dCB7CitAQCAtMjE5LDYgKzIyMSw5IEBAIHVpbnQzMl90IFN5c3RlbVNuYXBzaG90TGludXg6OkNQ VVJldmlzaW9uKCkgY29uc3QgewogICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkp CiAgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBNSVBTCiAgICByZXR1cm4gMDsKQEAgLTI2Nzks NyArMjY2MCw3IEBAIGluZGV4IDg1NjRkM2Q0Li5iNjkwZWNkNCAxMDA2NDQKICAjZWxzZQogICNl cnJvciBwb3J0IHRvIHlvdXIgYXJjaGl0ZWN0dXJlCiAgI2VuZGlmCi1AQCAtMjM4LDYgKzI0Myw5 IEBAIHN0ZDo6c3RyaW5nIFN5c3RlbVNuYXBzaG90TGludXg6OkNQVVZlbmRvcigpIGNvbnN0IHsK K0BAIC0yMzksNiArMjQ0LDkgQEAgc3RkOjpzdHJpbmcgU3lzdGVtU25hcHNob3RMaW51eDo6Q1BV VmVuZG9yKCkgY29uc3QgewogICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCiAg ICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBNSVBTCiAgICByZXR1cm4gc3RkOjpzdHJpbmcoKTsK QEAgLTI2ODksNyArMjY3MCw3IEBAIGluZGV4IDg1NjRkM2Q0Li5iNjkwZWNkNCAxMDA2NDQKICAj ZWxzZQogICNlcnJvciBwb3J0IHRvIHlvdXIgYXJjaGl0ZWN0dXJlCiAgI2VuZGlmCi1AQCAtMzcx LDYgKzM3OSw5IEBAIGJvb2wgU3lzdGVtU25hcHNob3RMaW51eDo6TlhFbmFibGVkKCkgY29uc3Qg eworQEAgLTM3Miw2ICszODAsOSBAQCBib29sIFN5c3RlbVNuYXBzaG90TGludXg6Ok5YRW5hYmxl ZCgpIGNvbnN0IHsKICAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQogICAgLy8g Tm90IGltcGxlbWVudGFibGUgb24gTUlQUwogICAgcmV0dXJuIGZhbHNlOwpAQCAtMjY5OSw4ICsy NjgwLDIxIEBAIGluZGV4IDg1NjRkM2Q0Li5iNjkwZWNkNCAxMDA2NDQKICAjZWxzZQogICNlcnJv ciBQb3J0LgogICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorZGlmZiAtLWdpdCB0aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMuY2Mg dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGVzdF9tb2R1bGVz LmNjCitpbmRleCBiMjQ1MGMyMDYuLjdiYTc4YjJhZSAxMDA2NDQKKy0tLSB0aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMuY2MKKysrKyB0aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMuY2MK K0BAIC0xMTAsNiArMTEwLDggQEAgYm9vbCBXcml0ZVRlc3RNb2R1bGUoY29uc3QgYmFzZTo6Rmls ZVBhdGgmIG1vZHVsZV9wYXRoLAorICAgbW9kdWxlLmVoZHIuZV9tYWNoaW5lID0gRU1fQUFSQ0g2 NDsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNFTCkgfHwgZGVmaW5lZChBUkNIX0NQVV9N SVBTNjRFTCkKKyAgIG1vZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX01JUFM7CisrI2VsaWYgZGVm aW5lZChBUkNIX0NQVV9QUEM2NCkKKysgIG1vZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX1BQQzY0 OworICNlbmRpZgorIAorICAgbW9kdWxlLmVoZHIuZV92ZXJzaW9uID0gRVZfQ1VSUkVOVDsKIGRp ZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhy ZWFkX3NuYXBzaG90X2xpbnV4LmNjIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBz aG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5jYwotaW5kZXggZTNlMmJlYmQuLjhlZjQz NzUyIDEwMDY0NAoraW5kZXggZTNlMmJlYmRkLi44ZWY0Mzc1MmUgMTAwNjQ0CiAtLS0gdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xp bnV4LmNjCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgv dGhyZWFkX3NuYXBzaG90X2xpbnV4LmNjCiBAQCAtMTg2LDYgKzE4NiwxNCBAQCBib29sIFRocmVh ZFNuYXBzaG90TGludXg6OkluaXRpYWxpemUoUHJvY2Vzc1JlYWRlckxpbnV4KiBwcm9jZXNzX3Jl YWRlciwKQEAgLTI3MTksNyArMjcxMyw3IEBAIGluZGV4IGUzZTJiZWJkLi44ZWY0Mzc1MiAxMDA2 NDQKICAjZXJyb3IgUG9ydC4KICAjZW5kaWYKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmggdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xp bnV4LmgKLWluZGV4IDQ0Y2M2ZjZkLi5kNDEzNjQ2MSAxMDA2NDQKK2luZGV4IDQ0Y2M2ZjZkOS4u ZDQxMzY0NjFlIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBz aG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5oCiArKysgdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmgKIEBAIC02 OCw2ICs2OCw4IEBAIGNsYXNzIFRocmVhZFNuYXBzaG90TGludXggZmluYWwgOiBwdWJsaWMgVGhy ZWFkU25hcHNob3QgewpAQCAtMjczMiw3ICsyNzI2LDcgQEAgaW5kZXggNDRjYzZmNmQuLmQ0MTM2 NDYxIDEwMDY0NAogICNlcnJvciBQb3J0LgogICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlM WQogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1 eGlsaWFyeV92ZWN0b3IuY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51 eC9hdXhpbGlhcnlfdmVjdG9yLmNjCi1pbmRleCBkM2Q1ZWJkZi4uM2ZkNzMwY2IgMTAwNjQ0Citp bmRleCBkM2Q1ZWJkZmIuLjNmZDczMGNiNSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MKICsrKyB0aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MKIEBAIC01 Niw2ICs1NiwxMSBAQCBib29sIEF1eGlsaWFyeVZlY3Rvcjo6UmVhZChQdHJhY2VDb25uZWN0aW9u KiBjb25uZWN0aW9uKSB7CkBAIC0yNzQ3LDIzICsyNzQxLDggQEAgaW5kZXggZDNkNWViZGYuLjNm ZDczMGNiIDEwMDY0NAogICAgICBpZiAoIU1hcEluc2VydE9yUmVwbGFjZSgmdmFsdWVzXywgdHlw ZSwgdmFsdWUsIG51bGxwdHIpKSB7CiAgICAgICAgTE9HKEVSUk9SKSA8PCAiZHVwbGljYXRlIGF1 eHYgZW50cnkiOwogICAgICAgIHJldHVybiBmYWxzZTsKLWRpZmYgLS1naXQgdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VfYnJva2VyLmNjIHRoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvcHRyYWNlX2Jyb2tlci5jYwotaW5kZXggMTU1 YTFlMGMuLjVlNTBjZWI1IDEwMDY0NAotLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L3V0aWwvbGludXgvcHRyYWNlX2Jyb2tlci5jYwotKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3V0aWwvbGludXgvcHRyYWNlX2Jyb2tlci5jYwotQEAgLTk0LDggKzk0LDggQEAgaW50 IFB0cmFjZUJyb2tlcjo6UnVuKCkgewotIH0KLSAKLSBib29sIFB0cmFjZUJyb2tlcjo6QWxsb2Nh dGVBdHRhY2htZW50cygpIHsKLS0gIGNvbnN0ZXhwciBzaXplX3QgcGFnZV9zaXplID0gNDA5NjsK LS0gIGNvbnN0ZXhwciBzaXplX3QgYWxsb2Nfc2l6ZSA9Ci0rICBzdGF0aWMgc2l6ZV90IHBhZ2Vf c2l6ZSA9IGdldHBhZ2VzaXplKCk7Ci0rICBzaXplX3QgYWxsb2Nfc2l6ZSA9Ci0gICAgICAgKHNp emVvZihTY29wZWRQdHJhY2VBdHRhY2gpICsgcGFnZV9zaXplIC0gMSkgJiB+KHBhZ2Vfc2l6ZSAt IDEpOwotICAgdm9pZCogYWxsb2MgPSBzYnJrKGFsbG9jX3NpemUpOwotICAgaWYgKHJlaW50ZXJw cmV0X2Nhc3Q8aW50cHRyX3Q+KGFsbG9jKSA9PSAtMSkgewogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFjZXIuY2MgdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VyLmNjCi1pbmRleCA1NTdlMGQzNi4uMDhh ZTQzNGIgMTAwNjQ0CitpbmRleCA1NTdlMGQzNjMuLjA4YWU0MzRiOCAxMDA2NDQKIC0tLSB0aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFjZXIuY2MKICsrKyB0aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFjZXIuY2MKIEBAIC0zOTgs NiArMzk4LDY0IEBAIGJvb2wgR2V0VGhyZWFkQXJlYTY0KHBpZF90IHRpZCwKQEAgLTI4NDIsNyAr MjgyMSw3IEBAIGluZGV4IDU1N2UwZDM2Li4wOGFlNDM0YiAxMDA2NDQKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbmZvLT50aHJlYWRfY29udGV4dCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmaW5mby0+dGhyZWFkX3NwZWNpZmljX2RhdGFfYWRkcmVzcywKIGRpZmYgLS1naXQg dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oIHRo aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAotaW5k ZXggNWI1NWMyNGEuLmRlYTBkMWYzIDEwMDY0NAoraW5kZXggNWI1NWMyNGE3Li5kZWEwZDFmMzkg MTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJl YWRfaW5mby5oCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90 aHJlYWRfaW5mby5oCiBAQCAtMjgsNiArMjgsMTAgQEAKQEAgLTI5NjQsMTAgKzI5NDMsMTAgQEAg aW5kZXggNWI1NWMyNGEuLmRlYTBkMWYzIDEwMDY0NAogICAgTGludXhWTUFkZHJlc3MgdGhyZWFk X3NwZWNpZmljX2RhdGFfYWRkcmVzczsKICB9OwogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0LmggdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dC5oCi1pbmRleCAzZmY3MTE4 NC4uM2U4MmY0YjkgMTAwNjQ0CitpbmRleCBkMjFhMjRmMTkuLmFjYzMyNTM0OSAxMDA2NDQKIC0t LSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0 LmgKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9j b250ZXh0LmgKLUBAIC02OCw2ICs2OCw3IEBAIHVzaW5nIE5hdGl2ZUNQVUNvbnRleHQgPSB1Y29u dGV4dF90OworQEAgLTY5LDYgKzY5LDcgQEAgdXNpbmcgTmF0aXZlQ1BVQ29udGV4dCA9IHVjb250 ZXh0X3Q7CiAgLy8hICAgICBtYWNPUy9MaW51eC9GdWNoc2lhIHwgeDg2XzY0ICAgICAgIHwgYCUl cmRpYAogIC8vISAgICAgTGludXggICAgICAgICAgICAgICB8IEFSTS9BUk02NCAgICB8IGByMGAv YHgwYAogIC8vISAgICAgTGludXggICAgICAgICAgICAgICB8IE1JUFMvTUlQUzY0ICB8IGAkYTBg CkBAIC0yOTc2LDcgKzI5NTUsNyBAQCBpbmRleCAzZmY3MTE4NC4uM2U4MmY0YjkgMTAwNjQ0CiAg Ly8hICAgICBBZGRpdGlvbmFsbHksIHRoZSB2YWx1ZSBgTFJgIG9uIEFSTS9BUk02NCB3aWxsIGJl IHRoZSByZXR1cm4gYWRkcmVzcyBvZgogIC8vISAgICAgdGhpcyBmdW5jdGlvbi4KIGRpZmYgLS1n aXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4 dF9saW51eC5TIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJl X2NvbnRleHRfbGludXguUwotaW5kZXggNTIyMTVlZTUuLmIzZTRhM2VjIDEwMDY0NAoraW5kZXgg NTIyMTVlZTVkLi5iM2U0YTNlYzcgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF9saW51eC5TCiArKysgdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF9saW51eC5TCiBAQCAt MzIsNyArMzIsNyBAQApAQCAtMzIwNCw3ICszMTgzLDcgQEAgaW5kZXggNTIyMTVlZTUuLmIzZTRh M2VjIDEwMDY0NAogKyAgYmxyCiAgI2VuZGlmICAvLyBfX2kzODZfXwogZGlmZiAtLWdpdCB0aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3Qu Y2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4 dF90ZXN0LmNjCi1pbmRleCBjZjIzYzJkZS4uNWYyNjRiYzkgMTAwNjQ0CitpbmRleCBjZjIzYzJk ZWYuLjVmMjY0YmM5MiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91 dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3QuY2MKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3QuY2MKIEBAIC01Nyw3ICs1 Nyw3IEBAIHZvaWQgVGVzdENhcHR1cmVDb250ZXh0KCkgewpAQCAtMzIxNywxMCArMzE5NiwxMCBA QCBpbmRleCBjZjIzYzJkZS4uNWYyNjRiYzkgMTAwNjQ0CiAgICAvLyBsaWtlbHkgZmFpbC4KICAg IGNvbnN0IHVpbnRwdHJfdCBrUmVmZXJlbmNlUEMgPQogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51 eC5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250 ZXh0X3Rlc3RfdXRpbF9saW51eC5jYwotaW5kZXggOWZjNWRiMjguLjVmNjlmOGRjIDEwMDY0NAor aW5kZXggMzBhMmFiMjFkLi42MDUwOWYyMWQgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF90ZXN0X3V0aWxfbGludXguY2MK ICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250 ZXh0X3Rlc3RfdXRpbF9saW51eC5jYwotQEAgLTM2LDYgKzM2LDggQEAgdm9pZCBTYW5pdHlDaGVj a0NvbnRleHQoY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgY29udGV4dCkgeworQEAgLTM1LDYgKzM1 LDggQEAgdm9pZCBTYW5pdHlDaGVja0NvbnRleHQoY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgY29u dGV4dCkgewogICAgRVhQRUNUX0VRKGNvbnRleHQudWNfbWNvbnRleHQucmVnc1swXSwgRnJvbVBv aW50ZXJDYXN0PHVpbnRwdHJfdD4oJmNvbnRleHQpKTsKICAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BV X01JUFNfRkFNSUxZKQogICAgRVhQRUNUX0VRKGNvbnRleHQudWNfbWNvbnRleHQuZ3JlZ3NbNF0s IEZyb21Qb2ludGVyQ2FzdDx1aW50cHRyX3Q+KCZjb250ZXh0KSk7CkBAIC0zMjI5LDcgKzMyMDgs NyBAQCBpbmRleCA5ZmM1ZGIyOC4uNWY2OWY4ZGMgMTAwNjQ0CiAgI2VuZGlmCiAgfQogIAotQEAg LTUwLDYgKzUyLDggQEAgdWludHB0cl90IFByb2dyYW1Db3VudGVyRnJvbUNvbnRleHQoY29uc3Qg TmF0aXZlQ1BVQ29udGV4dCYgY29udGV4dCkgeworQEAgLTQ5LDYgKzUxLDggQEAgdWludHB0cl90 IFByb2dyYW1Db3VudGVyRnJvbUNvbnRleHQoY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgY29udGV4 dCkgewogICAgcmV0dXJuIGNvbnRleHQudWNfbWNvbnRleHQucGM7CiAgI2VsaWYgZGVmaW5lZChB UkNIX0NQVV9NSVBTX0ZBTUlMWSkKICAgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0LnBjOwpA QCAtMzIzOCw3ICszMjE3LDcgQEAgaW5kZXggOWZjNWRiMjguLjVmNjlmOGRjIDEwMDY0NAogICNl bmRpZgogIH0KICAKLUBAIC02NCw2ICs2OCw4IEBAIHVpbnRwdHJfdCBTdGFja1BvaW50ZXJGcm9t Q29udGV4dChjb25zdCBOYXRpdmVDUFVDb250ZXh0JiBjb250ZXh0KSB7CitAQCAtNjMsNiArNjcs OCBAQCB1aW50cHRyX3QgU3RhY2tQb2ludGVyRnJvbUNvbnRleHQoY29uc3QgTmF0aXZlQ1BVQ29u dGV4dCYgY29udGV4dCkgewogICAgcmV0dXJuIGNvbnRleHQudWNfbWNvbnRleHQuc3A7CiAgI2Vs aWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKICAgIHJldHVybiBjb250ZXh0LnVjX21j b250ZXh0LmdyZWdzWzI5XTsKQEAgLTMyNDgsMTAgKzMyMjcsMTAgQEAgaW5kZXggOWZjNWRiMjgu LjVmNjlmOGRjIDEwMDY0NAogIH0KICAKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvdXRpbC9wb3NpeC9zaWduYWxzX3Rlc3QuY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvdXRpbC9wb3NpeC9zaWduYWxzX3Rlc3QuY2MKLWluZGV4IDU4YmZhOGY4Li44ZmMz N2M0NiAxMDA2NDQKLS0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL3Bvc2l4 L3NpZ25hbHNfdGVzdC5jYy5vcmlnCTIwMjAtMTEtMTcgMTM6Mzk6NDcuMDAwMDAwMDAwIC0wNTAw Ci0rKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9wb3NpeC9zaWduYWxzX3Rl c3QuY2MJMjAyMC0xMS0xOCAyMTowNjozMy40MzM0MDg2MjMgLTA1MDAKLUBAIC00Niw5ICs0Niw5 IEBACitpbmRleCA1NGNjMmYxOWYuLjI5OGI1Yzk5MyAxMDA2NDQKKy0tLSB0aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC91dGlsL3Bvc2l4L3NpZ25hbHNfdGVzdC5jYworKysrIHRoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvcG9zaXgvc2lnbmFsc190ZXN0LmNjCitAQCAtNDYs OSArNDYsOSBAQCBib29sIENhbkNhdXNlU2lnbmFsKGludCBzaWcpIHsKICAgIHJldHVybiBzaWcg PT0gU0lHQUJSVCB8fAogICAgICAgICAgIHNpZyA9PSBTSUdBTFJNIHx8CiAgICAgICAgICAgc2ln ID09IFNJR0JVUyB8fApAQCAtMzI2Myw3ICszMjQyLDcgQEAgaW5kZXggNThiZmE4ZjguLjhmYzM3 YzQ2IDEwMDY0NAogICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9GQU1JTFkpIHx8IGRlZmluZWQo QVJDSF9DUFVfQVJNRUwpCiAgICAgICAgICAgc2lnID09IFNJR0lMTCB8fAogICNlbmRpZiAgLy8g ZGVmaW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTUVMKQot QEAgLTExNyw5ICsxMTcsMTEgQEAKK0BAIC0xMTcsOSArMTE3LDExIEBAIHZvaWQgQ2F1c2VTaWdu YWwoaW50IHNpZykgewogICAgICAgIGJyZWFrOwogICAgICB9CiAgCkBAIC0zMjc2LDcgKzMyNTUs NyBAQCBpbmRleCA1OGJmYThmOC4uOGZjMzdjNDYgMTAwNjQ0CiAgICAgIGNhc2UgU0lHRlBFOiB7 CiAgICAgICAgLy8gT3B0aW1pemF0aW9uIG1ha2VzIHRoaXMgdHJpY2t5LCBzbyBnZXQgemVybyBm cm9tIGEgc3lzdGVtIGNhbGwgbGlrZWx5CiAgICAgICAgLy8gdG8gc3VjY2VlZCwgYW5kIHRyeSB0 byBkbyBzb21ldGhpbmcgd2l0aCB0aGUgcmVzdWx0LgotQEAgLTEzNyw3ICsxMzksNyBAQAorQEAg LTEzNyw3ICsxMzksNyBAQCB2b2lkIENhdXNlU2lnbmFsKGludCBzaWcpIHsKICAgICAgICBmc3Rh dChxdW90aWVudCwgJnN0YXRfYnVmKTsKICAgICAgICBicmVhazsKICAgICAgfQpAQCAtMzI4Niwx MCArMzI2NSwxMCBAQCBpbmRleCA1OGJmYThmOC4uOGZjMzdjNDYgMTAwNjQ0CiAgI2lmIGRlZmlu ZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNIX0NQVV9BUk1FTCkKICAgICAg Y2FzZSBTSUdJTEw6IHsKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvZGF2MWQvQlVJTEQuZ24gdGhp cmRfcGFydHkvZGF2MWQvQlVJTEQuZ24KLWluZGV4IDc4OGRjNmNmLi41ZmQ3ZThmZCAxMDA2NDQK K2luZGV4IDZiNDU2NmZjMy4uYzA3ZjczMmFkIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2RhdjFk L0JVSUxELmduCiArKysgdGhpcmRfcGFydHkvZGF2MWQvQlVJTEQuZ24KLUBAIC0xODIsNiArMTgy LDggQEAgc3RhdGljX2xpYnJhcnkoImRhdjFkXzhiaXQiKSB7CitAQCAtMTg0LDYgKzE4NCw4IEBA IHN0YXRpY19saWJyYXJ5KCJkYXYxZF84Yml0IikgewogICAgICBzb3VyY2VzICs9IGFybV90ZW1w bGF0ZV9zb3VyY2VzCiAgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJhcm02NCIpIHsKICAg ICAgc291cmNlcyArPSBhcm1fdGVtcGxhdGVfc291cmNlcwpAQCAtMzI5OCw3ICszMjc3LDcgQEAg aW5kZXggNzg4ZGM2Y2YuLjVmZDdlOGZkIDEwMDY0NAogICAgfQogIAogICAgY2ZsYWdzID0gZGF2 MWRfY29wdHMKLUBAIC0yMTAsNiArMjEyLDggQEAgc3RhdGljX2xpYnJhcnkoImRhdjFkXzEwYml0 IikgeworQEAgLTIxMiw2ICsyMTQsOCBAQCBzdGF0aWNfbGlicmFyeSgiZGF2MWRfMTBiaXQiKSB7 CiAgICAgIHNvdXJjZXMgKz0gYXJtX3RlbXBsYXRlX3NvdXJjZXMKICAgIH0gZWxzZSBpZiAoY3Vy cmVudF9jcHUgPT0gImFybTY0IikgewogICAgICBzb3VyY2VzICs9IGFybV90ZW1wbGF0ZV9zb3Vy Y2VzCkBAIC0zMzA3LDkgKzMyODYsOSBAQCBpbmRleCA3ODhkYzZjZi4uNWZkN2U4ZmQgMTAwNjQ0 CiAgICB9CiAgCiAgICBjZmxhZ3MgPSBkYXYxZF9jb3B0cwotQEAgLTI1Niw2ICsyNjAsMjEgQEAg aWYgKGN1cnJlbnRfY3B1ID09ICJ4ODYiIHx8IGN1cnJlbnRfY3B1ID09ICJ4NjQiKSB7Ci0gICAg ICAgIjpkYXYxZF9jb25maWciLAotICAgICBdCitAQCAtMjYzLDYgKzI2NywyMSBAQCBpZiAoY3Vy cmVudF9jcHUgPT0gIng4NiIgfHwgY3VycmVudF9jcHUgPT0gIng2NCIpIHsKKyAgICAgICBkZWZp bmVzID0gWyAiUFJFRklYIiBdCisgICAgIH0KICAKICsgICAgY2ZsYWdzID0gZGF2MWRfY29wdHMK ICsgIH0KQEAgLTMzMjksNyArMzMwOCw3IEBAIGluZGV4IDc4OGRjNmNmLi41ZmQ3ZThmZCAxMDA2 NDQKICAgICAgY2ZsYWdzID0gZGF2MWRfY29wdHMKICAgIH0KICB9Ci1AQCAtMjg1LDUgKzMwNCw3 IEBAIHN0YXRpY19saWJyYXJ5KCJkYXYxZCIpIHsKK0BAIC0yOTIsNSArMzExLDcgQEAgc3RhdGlj X2xpYnJhcnkoImRhdjFkIikgewogICAgICB9CiAgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09 ICJhcm0iIHx8IGN1cnJlbnRfY3B1ID09ICJhcm02NCIpIHsKICAgICAgZGVwcyArPSBbICI6ZGF2 MWRfYXJtIiBdCkBAIC0zMzM5LDcgKzMzMTgsNyBAQCBpbmRleCA3ODhkYzZjZi4uNWZkN2U4ZmQg MTAwNjQ0CiAgfQogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9kYXYxZC9jb25maWcvbGludXgvcHBj NjQvY29uZmlnLmggdGhpcmRfcGFydHkvZGF2MWQvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZpZy5o CiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAuLmY2Y2E1N2Y3CitpbmRleCAw MDAwMDAwMDAuLjlmYmJmNzVjYwogLS0tIC9kZXYvbnVsbAogKysrIHRoaXJkX3BhcnR5L2RhdjFk L2NvbmZpZy9saW51eC9wcGM2NC9jb25maWcuaAogQEAgLTAsMCArMSwzOSBAQApAQCAtMzM4Mywx MCArMzM2MiwxMCBAQCBpbmRleCAwMDAwMDAwMC4uZjZjYTU3ZjcKICsjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQogKwogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9kYXYxZC9kYXYxZF9nZW5lcmF0ZWQu Z25pIHRoaXJkX3BhcnR5L2RhdjFkL2RhdjFkX2dlbmVyYXRlZC5nbmkKLWluZGV4IDhiZWNhYzAy Li5kNWY0ZmNhYyAxMDA2NDQKK2luZGV4IGM1OWNiMDgyMS4uMzA2MDI4NGE4IDEwMDY0NAogLS0t IHRoaXJkX3BhcnR5L2RhdjFkL2RhdjFkX2dlbmVyYXRlZC5nbmkKICsrKyB0aGlyZF9wYXJ0eS9k YXYxZC9kYXYxZF9nZW5lcmF0ZWQuZ25pCi1AQCAtNzEsNiArNzEsMTEgQEAgYXJtX3RlbXBsYXRl X3NvdXJjZXMgPSBbCitAQCAtODIsNiArODIsMTEgQEAgYXJtX3RlbXBsYXRlX3NvdXJjZXMgPSBb CiAgICAibGliZGF2MWQvc3JjL2FybS9tY19pbml0X3RtcGwuYyIsCiAgXQogIApAQCAtMzM5OSw3 ICszMzc4LDcgQEAgaW5kZXggOGJlY2FjMDIuLmQ1ZjRmY2FjIDEwMDY0NAogICAgImxpYmRhdjFk L3NyYy9jZGVmX2FwcGx5X3RtcGwuYyIsCiAgICAibGliZGF2MWQvc3JjL2NkZWZfdG1wbC5jIiwK IGRpZmYgLS1naXQgdGhpcmRfcGFydHkvZGF2MWQvZ2VuZXJhdGVfc291cmNlLnB5IHRoaXJkX3Bh cnR5L2RhdjFkL2dlbmVyYXRlX3NvdXJjZS5weQotaW5kZXggOWFiNWUwMGIuLmFkM2ZlZmZlIDEw MDc1NQoraW5kZXggOWFiNWUwMGI4Li5hZDNmZWZmZWUgMTAwNzU1CiAtLS0gdGhpcmRfcGFydHkv ZGF2MWQvZ2VuZXJhdGVfc291cmNlLnB5CiArKysgdGhpcmRfcGFydHkvZGF2MWQvZ2VuZXJhdGVf c291cmNlLnB5CiBAQCAtNTAsNyArNTAsOCBAQCBkZWYgV3JpdGVHbihmZCk6CkBAIC0zNDEzLDcg KzMzOTIsNyBAQCBpbmRleCA5YWI1ZTAwYi4uYWQzZmVmZmUgMTAwNzU1CiAgICBXcml0ZUFycmF5 KGZkLCAidGVtcGxhdGVfc291cmNlcyIsIHRlbXBsYXRlX3NvdXJjZXMpCiAgCiBkaWZmIC0tZ2l0 IHRoaXJkX3BhcnR5L2RhdjFkL2xpYmRhdjFkL3NyYy9wcGMvdHlwZXMuaCB0aGlyZF9wYXJ0eS9k YXYxZC9saWJkYXYxZC9zcmMvcHBjL3R5cGVzLmgKLWluZGV4IDBiNGJkNzJmLi5hMGNhYTVlNyAx MDA2NDQKK2luZGV4IDBiNGJkNzJmMC4uYTBjYWE1ZTcxIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5 L2RhdjFkL2xpYmRhdjFkL3NyYy9wcGMvdHlwZXMuaAogKysrIHRoaXJkX3BhcnR5L2RhdjFkL2xp YmRhdjFkL3NyYy9wcGMvdHlwZXMuaAogQEAgLTUxLDQgKzUxLDE5IEBACkBAIC0zNDM3LDEwICsz NDE2LDEwIEBAIGluZGV4IDBiNGJkNzJmLi5hMGNhYTVlNyAxMDA2NDQKICsKICAjZW5kaWYgLyog REFWMURfU1JDX1BQQ19UWVBFU19IICovCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2xzcy9saW51 eF9zeXNjYWxsX3N1cHBvcnQuaCB0aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0 LmgKLWluZGV4IGQyYmFlZTlkLi45OTU1Y2U0NCAxMDA2NDQKK2luZGV4IGU0YWMyMjY0NC4uMWM1 NzAxNWRiIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQu aAogKysrIHRoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAotQEAgLTM5MjIs NyArMzkyMiw3IEBAIHN0cnVjdCBrZXJuZWxfc3RhdGZzIHsKK0BAIC0zOTQ3LDcgKzM5NDcsNyBA QCBzdHJ1Y3Qga2VybmVsX3N0YXRmcyB7CiAgICAgICAgTFNTX1JFRygyLCBidWYpOwogICAgICAg IExTU19CT0RZKHZvaWQqLCBtbWFwMiwgIjAiKF9fcjIpKTsKICAgICAgfQpAQCAtMzQ0OSw3ICsz NDI4LDcgQEAgaW5kZXggZDJiYWVlOWQuLjk5NTVjZTQ0IDEwMDY0NAogICAgICAjZGVmaW5lIF9f TlJfX21tYXAyIF9fTlJfbW1hcDIKICAgICAgTFNTX0lOTElORSBfc3lzY2FsbDYodm9pZCosIF9t bWFwMiwgICAgICAgICAgICB2b2lkKiwgcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6 ZV90LCAgICAgICAgICAgICAgICAgICBsLCBpbnQsICAgICAgICAgICAgICAgcCwKLUBAIC00MDMz LDcgKzQwMzMsNyBAQCBzdHJ1Y3Qga2VybmVsX3N0YXRmcyB7CitAQCAtNDA1OCw3ICs0MDU4LDcg QEAgc3RydWN0IGtlcm5lbF9zdGF0ZnMgewogICAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAg ICBkZWZpbmVkKF9fQVJNX0FSQ0hfM19fKSB8fCBkZWZpbmVkKF9fQVJNX0VBQklfXykgfHwgICAg ICAgICAgICAgICAgICAgICBcCiAgICAgICAoZGVmaW5lZChfX21pcHNfXykgJiYgX01JUFNfU0lN ID09IF9NSVBTX1NJTV9BQkkzMikgfHwgICAgICAgICAgICAgICAgICAgXApAQCAtMzQ3MSwxMCAr MzQ1MCwxMCBAQCBpbmRleCBiZGFjNGQ3ODQuLjUxZTBmMmNhYyAxMDA2NDQKICAjICBkZWZpbmUg U0lNRF9TWiA0CiAgIyAgZGVmaW5lIFZaRVJPKCkgKCh2ZWN0b3IgZmxvYXQpIHZlY19zcGxhdF91 OCgwKSkKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvc2tpYS9zcmMvc2tzbC9Ta1NMU3RyaW5nLmNw cCB0aGlyZF9wYXJ0eS9za2lhL3NyYy9za3NsL1NrU0xTdHJpbmcuY3BwCi1pbmRleCA4OGViMWM3 ZC4uNGJlMzNmYTUgMTAwNjQ0CitpbmRleCBlYzNlNTY5NjQuLjRjZjg5OTlhMiAxMDA2NDQKIC0t LSB0aGlyZF9wYXJ0eS9za2lhL3NyYy9za3NsL1NrU0xTdHJpbmcuY3BwCiArKysgdGhpcmRfcGFy dHkvc2tpYS9zcmMvc2tzbC9Ta1NMU3RyaW5nLmNwcAotQEAgLTI0MCw3ICsyNDAsMTIgQEAgU3Ry aW5nIHRvX3N0cmluZyhkb3VibGUgdmFsdWUpIHsKK0BAIC0yMzQsNyArMjM0LDEyIEBAIFN0cmlu ZyB0b19zdHJpbmcoZG91YmxlIHZhbHVlKSB7CiAgICAgIGlmIChuZWVkc0RvdFplcm8pIHsKICAg ICAgICAgIGJ1ZmZlciA8PCAiLjAiOwogICAgICB9CkBAIC0zNDg3LDEyICszNDY2LDEyIEBAIGlu ZGV4IDg4ZWIxYzdkLi40YmUzM2ZhNSAxMDA2NDQKICsgICAgcmV0dXJuIFN0cmluZyhyZXQuY19z dHIoKSk7CiAgfQogIAotIFNLU0xfSU5UIHN0b2koY29uc3QgU3RyaW5nJiBzKSB7CisgYm9vbCBz dG9kKGNvbnN0IFN0cmluZ0ZyYWdtZW50JiBzLCBTS1NMX0ZMT0FUKiB2YWx1ZSkgewogZGlmZiAt LWdpdCB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbi9zcWxpdGUzLmMgdGhpcmRf cGFydHkvc3FsaXRlL3NyYy9hbWFsZ2FtYXRpb24vc3FsaXRlMy5jCi1pbmRleCAxYjJjMmVjNy4u NzU5M2RiYTEgMTAwNjQ0CitpbmRleCA2YjRhNzg5OWQuLmI4YzdmZTQxNCAxMDA2NDQKIC0tLSB0 aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbi9zcWxpdGUzLmMKICsrKyB0aGlyZF9w YXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbi9zcWxpdGUzLmMKLUBAIC0xNDQwMCw3ICsxNDQw MCw4IEBAIHR5cGVkZWYgSU5UMTZfVFlQRSBMb2dFc3Q7CitAQCAtMTQ0NzQsNyArMTQ0NzQsOCBA QCB0eXBlZGVmIElOVDE2X1RZUEUgTG9nRXN0OwogICMgaWYgZGVmaW5lZChpMzg2KSAgICAgIHx8 IGRlZmluZWQoX19pMzg2X18pICAgICAgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCiAgICAg ICBkZWZpbmVkKF9feDg2XzY0KSAgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSAgICB8fCBkZWZpbmVk KF9NX1g2NCkgIHx8ICAgIFwKICAgICAgIGRlZmluZWQoX01fQU1ENjQpICB8fCBkZWZpbmVkKF9N X0FSTSkgICAgICAgIHx8IGRlZmluZWQoX194ODYpICAgfHwgICAgXApAQCAtMzUwMywxMCArMzQ4 MiwxMCBAQCBpbmRleCAxYjJjMmVjNy4uNzU5M2RiYTEgMTAwNjQ0CiAgIyBlbGlmIGRlZmluZWQo c3BhcmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18pIHx8IFwKICAgICAgICAgZGVmaW5lZChfX0FS TUVCX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJfXykKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkv c3FsaXRlL3NyYy9hbWFsZ2FtYXRpb25fZGV2L3NxbGl0ZTMuYyB0aGlyZF9wYXJ0eS9zcWxpdGUv c3JjL2FtYWxnYW1hdGlvbl9kZXYvc3FsaXRlMy5jCi1pbmRleCAxOWM4NzY4OS4uYzdhYjAzOWUg MTAwNjQ0CitpbmRleCBkMzBjOWI3ZGUuLmNmNzVhNjlkOSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0 eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbl9kZXYvc3FsaXRlMy5jCiArKysgdGhpcmRfcGFydHkv c3FsaXRlL3NyYy9hbWFsZ2FtYXRpb25fZGV2L3NxbGl0ZTMuYwotQEAgLTE0NDEzLDcgKzE0NDEz LDggQEAgdHlwZWRlZiBJTlQxNl9UWVBFIExvZ0VzdDsKK0BAIC0xNDQ4Nyw3ICsxNDQ4Nyw4IEBA IHR5cGVkZWYgSU5UMTZfVFlQRSBMb2dFc3Q7CiAgIyBpZiBkZWZpbmVkKGkzODYpICAgICAgfHwg ZGVmaW5lZChfX2kzODZfXykgICAgICB8fCBkZWZpbmVkKF9NX0lYODYpIHx8ICAgIFwKICAgICAg IGRlZmluZWQoX194ODZfNjQpICB8fCBkZWZpbmVkKF9feDg2XzY0X18pICAgIHx8IGRlZmluZWQo X01fWDY0KSAgfHwgICAgXAogICAgICAgZGVmaW5lZChfTV9BTUQ2NCkgIHx8IGRlZmluZWQoX01f QVJNKSAgICAgICAgfHwgZGVmaW5lZChfX3g4NikgICB8fCAgICBcCkBAIC0zNTE3LDEwICszNDk2 LDEwIEBAIGluZGV4IDE5Yzg3Njg5Li5jN2FiMDM5ZSAxMDA2NDQKICAjIGVsaWYgZGVmaW5lZChz cGFyYykgICAgIHx8IGRlZmluZWQoX19wcGNfXykgfHwgXAogICAgICAgICBkZWZpbmVkKF9fQVJN RUJfXykgfHwgZGVmaW5lZChfX0FBUkNINjRFQl9fKQogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9z cWxpdGUvc3JjL2V4dC9ydHJlZS9ydHJlZS5jIHRoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvZXh0L3J0 cmVlL3J0cmVlLmMKLWluZGV4IGVmYWVmODEzLi40Y2Q1N2Q1NSAxMDA2NDQKK2luZGV4IGY1YjU3 YTVlMi4uODBhMmQwYWQ4IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvZXh0L3J0 cmVlL3J0cmVlLmMKICsrKyB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2V4dC9ydHJlZS9ydHJlZS5j Ci1AQCAtNDMyLDcgKzQzMiw3IEBAIHN0cnVjdCBSdHJlZU1hdGNoQXJnIHsKK0BAIC00NTAsNyAr NDUwLDcgQEAgc3RydWN0IFJ0cmVlTWF0Y2hBcmcgewogICNpZiBkZWZpbmVkKGkzODYpICAgICB8 fCBkZWZpbmVkKF9faTM4Nl9fKSAgIHx8IGRlZmluZWQoX01fSVg4NikgfHwgICAgXAogICAgICBk ZWZpbmVkKF9feDg2XzY0KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX01fWDY0 KSAgfHwgICAgXAogICAgICBkZWZpbmVkKF9NX0FNRDY0KSB8fCBkZWZpbmVkKF9NX0FSTSkgICAg IHx8IGRlZmluZWQoX194ODYpICAgfHwgICAgXApAQCAtMzUzMCwxMCArMzUwOSwxMCBAQCBpbmRl eCBlZmFlZjgxMy4uNGNkNTdkNTUgMTAwNjQ0CiAgI2VsaWYgZGVmaW5lZChzcGFyYykgICAgfHwg ZGVmaW5lZChfX3BwY19fKQogICMgZGVmaW5lIFNRTElURV9CWVRFT1JERVIgICAgNDMyMQogZGlm ZiAtLWdpdCB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL3NyYy9zcWxpdGVJbnQuaCB0aGlyZF9wYXJ0 eS9zcWxpdGUvc3JjL3NyYy9zcWxpdGVJbnQuaAotaW5kZXggMTIyZTI2YWQuLmVjMjFkY2I1IDEw MDY0NAoraW5kZXggMjQ1MDcwZDRmLi5iMjUxNjRlOTUgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkv c3FsaXRlL3NyYy9zcmMvc3FsaXRlSW50LmgKICsrKyB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL3Ny Yy9zcWxpdGVJbnQuaAotQEAgLTg2OCw3ICs4NjgsOCBAQCB0eXBlZGVmIElOVDE2X1RZUEUgTG9n RXN0OworQEAgLTg3Nyw3ICs4NzcsOCBAQCB0eXBlZGVmIElOVDE2X1RZUEUgTG9nRXN0OwogICMg aWYgZGVmaW5lZChpMzg2KSAgICAgIHx8IGRlZmluZWQoX19pMzg2X18pICAgICAgfHwgZGVmaW5l ZChfTV9JWDg2KSB8fCAgICBcCiAgICAgICBkZWZpbmVkKF9feDg2XzY0KSAgfHwgZGVmaW5lZChf X3g4Nl82NF9fKSAgICB8fCBkZWZpbmVkKF9NX1g2NCkgIHx8ICAgIFwKICAgICAgIGRlZmluZWQo X01fQU1ENjQpICB8fCBkZWZpbmVkKF9NX0FSTSkgICAgICAgIHx8IGRlZmluZWQoX194ODYpICAg fHwgICAgXApAQCAtMzU0NCwxMCArMzUyMywxMCBAQCBpbmRleCAxMjJlMjZhZC4uZWMyMWRjYjUg MTAwNjQ0CiAgIyBlbGlmIGRlZmluZWQoc3BhcmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18pIHx8 IFwKICAgICAgICAgZGVmaW5lZChfX0FSTUVCX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJfXykK IGRpZmYgLS1naXQgdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvZGVza3RvcF9jYXB0dXJlL2Rp ZmZlcl9ibG9jay5jYyB0aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9kZXNrdG9wX2NhcHR1cmUv ZGlmZmVyX2Jsb2NrLmNjCi1pbmRleCBkZDlhYjQ1Ny4uYzAwNWQ5NTkgMTAwNjQ0Ci0tLS0gdGhp cmRfcGFydHkvd2VicnRjL21vZHVsZXMvZGVza3RvcF9jYXB0dXJlL2RpZmZlcl9ibG9jay5jYy5v cmlnCTIwMjAtMTEtMTcgMTM6NDI6MDIuMDAwMDAwMDAwIC0wNTAwCi0rKysgdGhpcmRfcGFydHkv d2VicnRjL21vZHVsZXMvZGVza3RvcF9jYXB0dXJlL2RpZmZlcl9ibG9jay5jYwkyMDIwLTExLTE4 IDIxOjExOjAzLjAzOTkwNTM2MCAtMDUwMAotQEAgLTMwLDExICszMCw3IEBACitpbmRleCA0ZjBj NTQzMGMuLjU0ZWUwODI5ZSAxMDA2NDQKKy0tLSB0aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9k ZXNrdG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2NrLmNjCisrKysgdGhpcmRfcGFydHkvd2VicnRjL21v ZHVsZXMvZGVza3RvcF9jYXB0dXJlL2RpZmZlcl9ibG9jay5jYworQEAgLTMwLDExICszMCw3IEBA IGJvb2wgVmVjdG9yRGlmZmVyZW5jZShjb25zdCB1aW50OF90KiBpbWFnZTEsIGNvbnN0IHVpbnQ4 X3QqIGltYWdlMikgewogICAgc3RhdGljIGJvb2wgKCpkaWZmX3Byb2MpKGNvbnN0IHVpbnQ4X3Qq LCBjb25zdCB1aW50OF90KikgPSBudWxscHRyOwogIAogICAgaWYgKCFkaWZmX3Byb2MpIHsKQEAg LTM1NjAsNyArMzUzOSw3IEBAIGluZGV4IGRkOWFiNDU3Li5jMDA1ZDk1OSAxMDA2NDQKICAgICAg Ym9vbCBoYXZlX3NzZTIgPSBHZXRDUFVJbmZvKGtTU0UyKSAhPSAwOwogICAgICAvLyBGb3IgeDg2 IHByb2Nlc3NvcnMsIGNoZWNrIGlmIFNTRTIgaXMgc3VwcG9ydGVkLgogICAgICBpZiAoaGF2ZV9z c2UyICYmIGtCbG9ja1NpemUgPT0gMzIpIHsKLUBAIC00NCw2ICs0MCwxMCBAQAorQEAgLTQ0LDYg KzQwLDEwIEBAIGJvb2wgVmVjdG9yRGlmZmVyZW5jZShjb25zdCB1aW50OF90KiBpbWFnZTEsIGNv bnN0IHVpbnQ4X3QqIGltYWdlMikgewogICAgICB9IGVsc2UgewogICAgICAgIGRpZmZfcHJvYyA9 ICZWZWN0b3JEaWZmZXJlbmNlX0M7CiAgICAgIH0KQEAgLTM1NzIsMTAgKzM1NTEsMTAgQEAgaW5k ZXggZGQ5YWI0NTcuLmMwMDVkOTU5IDEwMDY0NAogICAgfQogIAogZGlmZiAtLWdpdCB0aGlyZF9w YXJ0eS93ZWJydGMvcnRjX2Jhc2Uvc3lzdGVtL2FyY2guaCB0aGlyZF9wYXJ0eS93ZWJydGMvcnRj X2Jhc2Uvc3lzdGVtL2FyY2guaAotaW5kZXggZWQyMTZlNjYuLjI1ZDM2YzA3IDEwMDY0NAoraW5k ZXggYmUyMzY3Yjg1Li5iZTRlZTQyMzMgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvd2VicnRjL3J0 Y19iYXNlL3N5c3RlbS9hcmNoLmgKICsrKyB0aGlyZF9wYXJ0eS93ZWJydGMvcnRjX2Jhc2Uvc3lz dGVtL2FyY2guaAotQEAgLTUwLDYgKzUwLDE4IEBACitAQCAtNzksNiArNzksMTggQEAKICAjZWxp ZiBkZWZpbmVkKF9fRU1TQ1JJUFRFTl9fKQogICNkZWZpbmUgV0VCUlRDX0FSQ0hfMzJfQklUUwog ICNkZWZpbmUgV0VCUlRDX0FSQ0hfTElUVExFX0VORElBTgpAQCAtMzU5NCwxNSArMzU3MywxNSBA QCBpbmRleCBlZDIxNmU2Ni4uMjVkMzZjMDcgMTAwNjQ0CiAgI2Vsc2UKICAjZXJyb3IgUGxlYXNl IGFkZCBzdXBwb3J0IGZvciB5b3VyIGFyY2hpdGVjdHVyZSBpbiBydGNfYmFzZS9zeXN0ZW0vYXJj aC5oCiAgI2VuZGlmCi0gZGlmZiAtLWdpdCB2OC9CVUlMRC5nbiB2OC9CVUlMRC5nbgotaW5kZXgg MTY3ZTYzNTAzLi4xMjVjNDQ1ZWEgMTAwNjQ0CitkaWZmIC0tZ2l0IHY4L0JVSUxELmduIHY4L0JV SUxELmduCitpbmRleCBmMzk1MjlhM2EuLmU4NGZjNDQ5ZSAxMDA2NDQKIC0tLSB2OC9CVUlMRC5n bgogKysrIHY4L0JVSUxELmduCi1AQCAtNjk2LDYgKzY5NiwxMiBAQCBjb25maWcoInRvb2xjaGFp biIpIHsKK0BAIC04NTAsNiArODUwLDEyIEBAIGNvbmZpZygidG9vbGNoYWluIikgewogICAgICB9 CiAgICAgIGlmIChob3N0X2J5dGVvcmRlciA9PSAibGl0dGxlIikgewogICAgICAgIGRlZmluZXMg Kz0gWyAiVjhfVEFSR0VUX0FSQ0hfUFBDX0xFIiBdCi0rICAgICAgICBjZmxhZ3MgKz0gWworKyAg ICAgIGNmbGFncyArPSBbCiArICAgICAgICAjIEVuYWJsZSB1c2FnZSBvZiBBbHRpVmVjLCBWU1gs IGFuZCBvdGhlciBQT1dFUjggYW5kIGhpZ2hlciBmZWF0dXJlcwogKyAgICAgICAgIi1tY3B1PXBv d2VyOCIsCiArICAgICAgICAiLW1hbHRpdmVjIiwKQEAgLTM2MTEsMjQgKzM1OTAsMTIgQEAgaW5k ZXggMTY3ZTYzNTAzLi4xMjVjNDQ1ZWEgMTAwNjQ0CiAgICAgIH0gZWxzZSBpZiAoaG9zdF9ieXRl b3JkZXIgPT0gImJpZyIpIHsKICAgICAgICBkZWZpbmVzICs9IFsgIlY4X1RBUkdFVF9BUkNIX1BQ Q19CRSIgXQogICAgICAgIGlmIChjdXJyZW50X29zID09ICJhaXgiKSB7Ci1kaWZmIC0tZ2l0IHVp L2dsL2ZlYXR1cmVzLmduaSB1aS9nbC9mZWF0dXJlcy5nbmkKLWluZGV4IGNiMmM5ODY0OS4uNWUw OWJjMWY3IDEwMDY0NAotLS0tIHVpL2dsL2ZlYXR1cmVzLmduaQotKysrIHVpL2dsL2ZlYXR1cmVz LmduaQotQEAgLTI1LDUgKzI1LDYgQEAgZGVjbGFyZV9hcmdzKCkgewotICAgICAgICAgICAgICAg ICAgICAgICAgIGlzX2Nocm9tZW9zIHx8IGlzX2Z1Y2hzaWEpICYmCi0gICAgICAgICAgICAgICAg ICAgICAgICAodGFyZ2V0X2NwdSA9PSAieDg2IiB8fCB0YXJnZXRfY3B1ID09ICJ4NjQiIHx8Ci0g ICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2NwdSA9PSAiYXJtIiB8fCB0YXJnZXRfY3B1 ID09ICJhcm02NCIgfHwKLS0gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfY3B1ID09ICJt aXBzZWwiIHx8IHRhcmdldF9jcHUgPT0gIm1pcHM2NGVsIikKLSsgICAgICAgICAgICAgICAgICAg ICAgICB0YXJnZXRfY3B1ID09ICJtaXBzZWwiIHx8IHRhcmdldF9jcHUgPT0gIm1pcHM2NGVsIiB8 fAotKyAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9jcHUgPT0gInBwYzY0IikKLSB9CiBk aWZmIC0tZ2l0IHY4L3Rlc3QvQlVJTEQuZ24gdjgvdGVzdC9CVUlMRC5nbgotaW5kZXggZjZkMzA1 MzdhLi4yODdiMjcwODAgMTAwNjQ0CitpbmRleCBmYjg3MmFkMzkuLjQ1ZmM1ODVkZCAxMDA2NDQK IC0tLSB2OC90ZXN0L0JVSUxELmduCiArKysgdjgvdGVzdC9CVUlMRC5nbgotQEAgLTMxLDcgKzMx LDcgQEAgZ3JvdXAoImduX2FsbCIpIHsKLSAgICAgZGVwcyArPSBbCitAQCAtMzYsNyArMzYsNyBA QCBncm91cCgiZ25fYWxsIikgeworICAgICAgICJiZW5jaG1hcmtzL2NwcDpnbl9hbGwiLAogICAg ICAgICJjY3Rlc3Q6Y2N0ZXN0IiwKICAgICAgICAiY2N0ZXN0OmdlbmVyYXRlLWJ5dGVjb2RlLWV4 cGVjdGF0aW9ucyIsCiAtICAgICAgInVuaXR0ZXN0czp1bml0dGVzdHMiLApAQCAtMzYzNiw3ICsz NjAzLDcgQEAgaW5kZXggZjZkMzA1MzdhLi4yODdiMjcwODAgMTAwNjQ0CiAgICAgIF0KICAgIH0K ICB9Ci1AQCAtNzMsNyArNzMsNyBAQCBncm91cCgidjhfYm90X2RlZmF1bHQiKSB7CitAQCAtNzgs NyArNzgsNyBAQCBncm91cCgidjhfYm90X2RlZmF1bHQiKSB7CiAgICAgICJtZXNzYWdlOnY4X21l c3NhZ2UiLAogICAgICAibWpzdW5pdDp2OF9tanN1bml0IiwKICAgICAgIm1rZ3Jva2R1bXA6bWtn cm9rZHVtcCIsCkBAIC0zNjQ1LDcgKzM2MTIsNyBAQCBpbmRleCBmNmQzMDUzN2EuLjI4N2IyNzA4 MCAxMDA2NDQKICAgICAgIndhc20tYXBpLXRlc3RzOndhc21fYXBpX3Rlc3RzIiwKICAgICAgIndh c20tanM6djhfd2FzbV9qcyIsCiAgICAgICJ3YXNtLXNwZWMtdGVzdHM6djhfd2FzbV9zcGVjX3Rl c3RzIiwKLUBAIC05Myw3ICs5Myw3IEBAIGdyb3VwKCJ2OF9kZWZhdWx0IikgeworQEAgLTk4LDcg Kzk4LDcgQEAgZ3JvdXAoInY4X2RlZmF1bHQiKSB7CiAgICAgICJtZXNzYWdlOnY4X21lc3NhZ2Ui LAogICAgICAibWpzdW5pdDp2OF9tanN1bml0IiwKICAgICAgIm1rZ3Jva2R1bXA6bWtncm9rZHVt cCIsCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlIGIvc3JjcGtncy9jaHJv bWl1bS90ZW1wbGF0ZQppbmRleCAwOThjYjkwNGRhOS4uYzA4YzlhNjAwNGQgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0 ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nocm9taXVtJwogcGtnbmFt ZT1jaHJvbWl1bQogIyBTZWUgaHR0cDovL3d3dy5jaHJvbWl1bS5vcmcvZGV2ZWxvcGVycy9jYWxl bmRhciBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9uCi12ZXJzaW9uPTg4LjAuNDMyNC4xODIKK3ZlcnNp b249ODkuMC40Mzg5LjcyCiByZXZpc2lvbj0xCiBhcmNocz0iaTY4NiogeDg2XzY0KiBhYXJjaDY0 KiBhcm12N2wqIHBwYzY0bGUqIgogc2hvcnRfZGVzYz0iR29vZ2xlJ3MgYXR0ZW1wdCBhdCBjcmVh dGluZyBhIHNhZmVyLCBmYXN0ZXIsIGFuZCBtb3JlIHN0YWJsZSBicm93c2VyIgpAQCAtOSw3ICs5 LDcgQEAgbWFpbnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIKIGxp Y2Vuc2U9IkJTRC0zLUNsYXVzZSIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5jaHJvbWl1bS5vcmcv IgogZGlzdGZpbGVzPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2No cm9taXVtLWJyb3dzZXItb2ZmaWNpYWwvJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIKLWNo ZWNrc3VtPTMwNDExZmMzZWMyZDMzZGY0YzVjYWQ0MWYyMWFmZmEzODIzYzgwZjdkYmQzOTRmNmQ2 OGY5YTFlODEwMTViODEKK2NoZWNrc3VtPTk0NmEwYjY1YWFkMTBlMGY3N2E1MzkxMDM4OTIwOTli NzIzODMxMGM3MzNmMjViNDFkNThiNzZmNmFjMGJjNGYKIG5vY3Jvc3M9eWVzCiAKIGxpYjMyZGlz YWJsZWQ9eWVzCkBAIC0zNCw3ICszNCw3IEBAIG1ha2VkZXBlbmRzPSJsaWJwbmctZGV2ZWwgZ3Rr Ky1kZXZlbCBndGsrMy1kZXZlbCBuc3MtZGV2ZWwgcGNpdXRpbHMtZGV2ZWwKICBsaWJYY3Vyc29y LWRldmVsIGxpYmZsYWMtZGV2ZWwgc3BlZXgtZGV2ZWwgbGlibXRwLWRldmVsIGxpYndlYnAtZGV2 ZWwKICBsaWJqcGVnLXR1cmJvLWRldmVsIGxpYmV2ZW50LWRldmVsIGpzb24tYy1kZXZlbCBoYXJm YnV6ei1kZXZlbAogIG1pbml6aXAtZGV2ZWwganNvbmNwcC1kZXZlbCB6bGliLWRldmVsIGxpYmNh cC1kZXZlbCBsaWJYZGFtYWdlLWRldmVsCi0gcmUyLWRldmVsIGZvbnRjb25maWctZGV2ZWwgZnJl ZXR5cGUtZGV2ZWwgb3B1cy1kZXZlbAorIHJlMi1kZXZlbCBmb250Y29uZmlnLWRldmVsIGZyZWV0 eXBlLWRldmVsCiAgZmZtcGVnLWRldmVsIGxpYnZhLWRldmVsIHB5dGhvbi1zZXR1cHRvb2xzIHhj Yi1wcm90bwogICQodm9wdF9pZiBwaXBld2lyZSBsaWJwaXBld2lyZTAuMi1kZXZlbCkgJCh2b3B0 X2lmIHNuZGlvIHNuZGlvLWRldmVsKSIKIGRlcGVuZHM9ImxpYmV4aWYgaHdpZHMgZGVza3RvcC1m aWxlLXV0aWxzIGhpY29sb3ItaWNvbi10aGVtZSB4ZGctdXRpbHMiCkBAIC0xMTksNiArMTE5LDcg QEAgZG9fY29uZmlndXJlKCkgewogCSMgdXNlX3N5c3RlbV92OD0xCiAJIyB1c2Vfc3lzdGVtX3ps aWI9MQogCSMgYnppcDIganNvbmNwcCBtaW5pemlwIHhkZ191dGlscyBzcGVleAorCSMgb3B1cyBm YWlscyBiZWNhdXNlIHRoZSBnZW5lcmF0ZWQgc2hpbSBoZWFkZXIgb3B1cy5oIHRyaWVzIHRvIGlu Y2x1ZGUgPG9wdXMuaD4KIAlzeXN0ZW09IgogCQlmZm1wZWcKIAkJZmxhYwpAQCAtMTMyLDcgKzEz Myw2IEBAIGRvX2NvbmZpZ3VyZSgpIHsKIAkJbGlid2VicAogCQlsaWJ4bWwKIAkJbGlieHNsdAot CQlvcHVzCiAJCXJlMgogCQlzbmFwcHkKIAkiCg== --===============4440492448097632054==--