From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 15303 invoked from network); 25 May 2023 02:33:28 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 25 May 2023 02:33:28 -0000 Content-Type: multipart/mixed; boundary="===============7393163386817439452==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_zfs=3A_patch_for_linux-6=2E3?= To: ml@inbox.vuxu.org From: sgn Reply-to: ml@inbox.vuxu.org Message-ID: Date: Thu, 25 May 2023 04:33:27 +0200 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============7393163386817439452== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IHNnbiBhZ2FpbnN0IG1hc3RlciBvbiB0aGUg dm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vc2duL3ZvaWQtcGFj a2FnZXMgemZzLWxpbnV4LTYuMwpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBh Y2thZ2VzL3B1bGwvNDQwNzMKCnpmczogcGF0Y2ggZm9yIGxpbnV4LTYuMwpUaGUgbGFzdCB0d28g cGF0Y2hlcyB3YXMgbW9kaWZpZWQgaGVhdmlseSBmcm9tIHVwc3RyZWFtLg0KDQo8IS0tIFVuY29t bWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBh cHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhl IGNoYW5nZXMgaW4gdGhpcyBQUjogKipZRVMqKg0KDQo8IS0tDQojIyMjIE5ldyBwYWNrYWdlDQot IFRoaXMgbmV3IHBhY2thZ2UgY29uZm9ybXMgdG8gdGhlIFtwYWNrYWdlIHJlcXVpcmVtZW50c10o aHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9D T05UUklCVVRJTkcubWQjcGFja2FnZS1yZXF1aXJlbWVudHMpOiAqKllFUyoqfCoqTk8qKg0KLS0+ DQoNCjwhLS0gTm90ZTogSWYgdGhlIGJ1aWxkIGlzIGxpa2VseSB0byB0YWtlIG1vcmUgdGhhbiAy IGhvdXJzLCBwbGVhc2UgYWRkIGNpIHNraXAgdGFnIGFzIGRlc2NyaWJlZCBpbg0KaHR0cHM6Ly9n aXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJ TkcubWQjY29udGludW91cy1pbnRlZ3JhdGlvbg0KYW5kIHRlc3QgYXQgbGVhc3Qgb25lIG5hdGl2 ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3NzIGJ1aWxkLg0KSWdu b3JlIHRoaXMgc2VjdGlvbiBpZiB0aGlzIFBSIGlzIG5vdCBza2lwcGluZyBDSS4NCi0tPg0KPCEt LQ0KIyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nDQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZv ciBteSBuYXRpdmUgYXJjaGl0ZWN0dXJlLCAoQVJDSC1MSUJDKQ0KLSBJIGJ1aWx0IHRoaXMgUFIg bG9jYWxseSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3Nz YnVpbGRzKToNCiAgLSBhYXJjaDY0LW11c2wNCiAgLSBhcm12N2wNCiAgLSBhcm12NmwtbXVzbA0K LS0+DQoKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC80NDA3My5wYXRjaCBpcyBhdHRhY2hlZA== --===============7393163386817439452== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-zfs-linux-6.3-44073.patch" RnJvbSBhNTRhYmVjM2I4NTYwMzcyNTFkMjY1ZDQ0NzU3MmI5NmUxYjI4MDNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1B N249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogU3Vu LCAyMSBNYXkgMjAyMyAxODowNjoxOCArMDcwMApTdWJqZWN0OiBbUEFUQ0hdIHpmczogcGF0Y2gg Zm9yIGxpbnV4LTYuMwoKVGhlIGxhc3QgdHdvIHBhdGNoZXMgd2FzIG1vZGlmaWVkIGhlYXZpbHkg ZnJvbSB1cHN0cmVhbS4KLS0tCiAuLi50LXdyaXRlcGFnZV90LWZpcnN0LWFyZy1zdHJ1Y3QtZm9s aW8ucGF0Y2ggfCAgMTMwICsrCiAuLi4tRml4LW1lbWNweS1kZXRlY3RlZC1maWVsZC1zcGFubmlu Zy0ucGF0Y2ggfCAgIDUwICsKIC4uLi4zLWNvbXBhdC1pZG1hcHBlZC1tb3VudC1BUEktY2hhbmdl cy5wYXRjaCB8IDE0OTMgKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvemZzL3RlbXBsYXRlICAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTY3NCBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy96 ZnMvcGF0Y2hlcy8wMDAzLUxpbnV4LTYuMy1jb21wYXQtd3JpdGVwYWdlX3QtZmlyc3QtYXJnLXN0 cnVjdC1mb2xpby5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvemZzL3BhdGNoZXMv MDAwNC1MaW51eC02LjMtY29tcGF0LUZpeC1tZW1jcHktZGV0ZWN0ZWQtZmllbGQtc3Bhbm5pbmct LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy96ZnMvcGF0Y2hlcy8wMDA1LUxpbnV4 LTYuMy1jb21wYXQtaWRtYXBwZWQtbW91bnQtQVBJLWNoYW5nZXMucGF0Y2gKCmRpZmYgLS1naXQg YS9zcmNwa2dzL3pmcy9wYXRjaGVzLzAwMDMtTGludXgtNi4zLWNvbXBhdC13cml0ZXBhZ2VfdC1m aXJzdC1hcmctc3RydWN0LWZvbGlvLnBhdGNoIGIvc3JjcGtncy96ZnMvcGF0Y2hlcy8wMDAzLUxp bnV4LTYuMy1jb21wYXQtd3JpdGVwYWdlX3QtZmlyc3QtYXJnLXN0cnVjdC1mb2xpby5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjNiZGQyNmQwMDllNQotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvemZzL3BhdGNoZXMvMDAwMy1MaW51eC02LjMtY29tcGF0 LXdyaXRlcGFnZV90LWZpcnN0LWFyZy1zdHJ1Y3QtZm9saW8ucGF0Y2gKQEAgLTAsMCArMSwxMzAg QEAKK0Zyb20gODFjNWRjYzFhOTQ0ZGVjYmEzMzUzYjg4MzJjMzM5MTY2Y2JiMWIzNyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IHlvdXpob25neWFuZyA8eW91emhvbmdAZ21haWwuY29t PgorRGF0ZTogV2VkLCA1IEFwciAyMDIzIDEzOjAxOjM4IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0gg My81XSBMaW51eCA2LjMgY29tcGF0OiB3cml0ZXBhZ2VfdCBmaXJzdCBhcmcgc3RydWN0IGZvbGlv KgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1V VEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitUaGUgdHlwZSBkZWYgb2Yg d3JpdGVwYWdlX3QgaW4ga2VybmVsIDYuMyBpcyBjaGFuZ2VkIHRvIHRha2UKK3N0cnVjdCBmb2xp byogYXMgdGhlIGZpcnN0IGFyZ3VtZW50LiBXZSBuZWVkIHRvIGRldGVjdCB0aGlzCitjaGFuZ2Ug YW5kIHBhc3MgY29ycmVjdCBmdW5jdGlvbiB0byB3cml0ZV9jYWNoZV9wYWdlcygpLgorCitSZXZp ZXdlZC1ieTogQnJpYW4gQmVobGVuZG9yZiA8YmVobGVuZG9yZjFAbGxubC5nb3Y+CitSZXZpZXdl ZC1ieTogQnJpYW4gQXRraW5zb24gPGJhdGtpbnNvbkBsYW5sLmdvdj4KK1NpZ25lZC1vZmYtYnk6 IFlvdXpob25nIFlhbmcgPHl5YW5nQG1hdGh3b3Jrcy5jb20+CitDbG9zZXMgIzE0Njk5CisKK01v ZGlmaWVkLWZyb206IDhlYjJmMjYwNTcxNzU3MmQ5MjA0MTUzNGEwNTU2ZDZkNzVjNDdkOTkKK1Np Z25lZC1vZmYtYnk6IMSQb8OgbiBUcuG6p24gQ8O0bmcgRGFuaCA8Y29uZ2RhbmhxeEBnbWFpbC5j b20+CistLS0KKyBjb25maWcva2VybmVsLXdyaXRlcGFnZV90Lm00ICAgfCAyNiArKysrKysrKysr KysrKysrKysrKysrKysrKworIGNvbmZpZy9rZXJuZWwubTQgICAgICAgICAgICAgICB8ICAyICsr CisgbW9kdWxlL29zL2xpbnV4L3pmcy96cGxfZmlsZS5jIHwgMjcgKysrKysrKysrKysrKysrKysr KysrKysrKy0tCisgMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBjb25maWcva2VybmVsLXdyaXRlcGFnZV90Lm00CisK K2RpZmYgLS1naXQgYS9jb25maWcva2VybmVsLXdyaXRlcGFnZV90Lm00IGIvY29uZmlnL2tlcm5l bC13cml0ZXBhZ2VfdC5tNAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMC4u M2EwY2ZmZDk4CistLS0gL2Rldi9udWxsCisrKysgYi9jb25maWcva2VybmVsLXdyaXRlcGFnZV90 Lm00CitAQCAtMCwwICsxLDI2IEBACisrQUNfREVGVU4oW1pGU19BQ19LRVJORUxfU1JDX1dSSVRF UEFHRV9UXSwgWworKwlkbmwgIworKwlkbmwgIyA2LjMgQVBJIGNoYW5nZQorKwlkbmwgIyBUaGUg d3JpdGVwYWdlX3QgZnVuY3Rpb24gdHlwZSBub3cgaGFzIGl0cyBmaXJzdCBhcmd1bWVudCBhcwor KwlkbmwgIyBzdHJ1Y3QgZm9saW8qIGluc3RlYWQgb2Ygc3RydWN0IHBhZ2UqCisrCWRubCAjCisr CVpGU19MSU5VWF9URVNUX1NSQyhbd3JpdGVwYWdlX3RfZm9saW9dLCBbCisrCQkjaW5jbHVkZSA8 bGludXgvd3JpdGViYWNrLmg+CisrCQlpbnQgcHV0cGFnZShzdHJ1Y3QgZm9saW8gKmZvbGlvLAor KwkJICAgIHN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAqd2JjLCB2b2lkICpkYXRhKQorKwkJeyBy ZXR1cm4gMDsgfQorKwkJd3JpdGVwYWdlX3QgZnVuYyA9IHB1dHBhZ2U7CisrCV0sW10pCisrXSkK KysKKytBQ19ERUZVTihbWkZTX0FDX0tFUk5FTF9XUklURVBBR0VfVF0sIFsKKysJQUNfTVNHX0NI RUNLSU5HKFt3aGV0aGVyIGludCAoKndyaXRlcGFnZV90KSgpIHRha2VzIHN0cnVjdCBmb2xpbypd KQorKwlaRlNfTElOVVhfVEVTVF9SRVNVTFQoW3dyaXRlcGFnZV90X2ZvbGlvXSwgWworKwkJQUNf TVNHX1JFU1VMVCh5ZXMpCisrCQlBQ19ERUZJTkUoSEFWRV9XUklURVBBR0VfVF9GT0xJTywgMSwK KysJCSAgIFtpbnQgKCp3cml0ZXBhZ2VfdCkoKSB0YWtlcyBzdHJ1Y3QgZm9saW8qXSkKKysJXSxb CisrCQlBQ19NU0dfUkVTVUxUKG5vKQorKwldKQorK10pCisrCitkaWZmIC0tZ2l0IGEvY29uZmln L2tlcm5lbC5tNCBiL2NvbmZpZy9rZXJuZWwubTQKK2luZGV4IDc4MDZkYTdhOC4uZjY3NDNhY2Fj IDEwMDY0NAorLS0tIGEvY29uZmlnL2tlcm5lbC5tNAorKysrIGIvY29uZmlnL2tlcm5lbC5tNAor QEAgLTE0NCw2ICsxNDQsNyBAQCBBQ19ERUZVTihbWkZTX0FDX0tFUk5FTF9URVNUX1NSQ10sIFsK KyAJWkZTX0FDX0tFUk5FTF9TUkNfS1RIUkVBRAorIAlaRlNfQUNfS0VSTkVMX1NSQ19aRVJPX1BB R0UKKyAJWkZTX0FDX0tFUk5FTF9TUkNfX19DT1BZX0ZST01fVVNFUl9JTkFUT01JQworKwlaRlNf QUNfS0VSTkVMX1NSQ19XUklURVBBR0VfVAorIAorIAlBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBhdmFp bGFibGUga2VybmVsIGludGVyZmFjZXNdKQorIAlaRlNfTElOVVhfVEVTVF9DT01QSUxFX0FMTChb a2FiaV0pCitAQCAtMjYxLDYgKzI2Miw3IEBAIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX1RFU1Rf UkVTVUxUXSwgWworIAlaRlNfQUNfS0VSTkVMX0tUSFJFQUQKKyAJWkZTX0FDX0tFUk5FTF9aRVJP X1BBR0UKKyAJWkZTX0FDX0tFUk5FTF9fX0NPUFlfRlJPTV9VU0VSX0lOQVRPTUlDCisrCVpGU19B Q19LRVJORUxfV1JJVEVQQUdFX1QKKyBdKQorIAorIGRubCAjCitkaWZmIC0tZ2l0IGEvbW9kdWxl L29zL2xpbnV4L3pmcy96cGxfZmlsZS5jIGIvbW9kdWxlL29zL2xpbnV4L3pmcy96cGxfZmlsZS5j CitpbmRleCAzOGQyYmQxNDcuLjI1MDMwY2IyZCAxMDA2NDQKKy0tLSBhL21vZHVsZS9vcy9saW51 eC96ZnMvenBsX2ZpbGUuYworKysrIGIvbW9kdWxlL29zL2xpbnV4L3pmcy96cGxfZmlsZS5jCitA QCAtNzAxLDYgKzcwMSwyOSBAQCB6cGxfcHV0cGFnZShzdHJ1Y3QgcGFnZSAqcHAsIHN0cnVjdCB3 cml0ZWJhY2tfY29udHJvbCAqd2JjLCB2b2lkICpkYXRhKQorIAlyZXR1cm4gKDApOworIH0KKyAK KysjaWZkZWYgSEFWRV9XUklURVBBR0VfVF9GT0xJTworK3N0YXRpYyBpbnQKKyt6cGxfcHV0Zm9s aW8oc3RydWN0IGZvbGlvICpwcCwgc3RydWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsIHZvaWQg KmRhdGEpCisreworKwkodm9pZCkgenBsX3B1dHBhZ2UoJnBwLT5wYWdlLCB3YmMsIGRhdGEpOwor KwlyZXR1cm4gKDApOworK30KKysjZW5kaWYKKysKKytzdGF0aWMgaW5saW5lIGludAorK3pwbF93 cml0ZV9jYWNoZV9wYWdlcyhzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywKKysgICAgc3Ry dWN0IHdyaXRlYmFja19jb250cm9sICp3YmMsIHZvaWQgKmRhdGEpCisreworKwlpbnQgcmVzdWx0 OworKworKyNpZmRlZiBIQVZFX1dSSVRFUEFHRV9UX0ZPTElPCisrCXJlc3VsdCA9IHdyaXRlX2Nh Y2hlX3BhZ2VzKG1hcHBpbmcsIHdiYywgenBsX3B1dGZvbGlvLCBkYXRhKTsKKysjZWxzZQorKwly ZXN1bHQgPSB3cml0ZV9jYWNoZV9wYWdlcyhtYXBwaW5nLCB3YmMsIHpwbF9wdXRwYWdlLCBkYXRh KTsKKysjZW5kaWYKKysJcmV0dXJuIChyZXN1bHQpOworK30KKysKKyBzdGF0aWMgaW50CisgenBs X3dyaXRlcGFnZXMoc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIHN0cnVjdCB3cml0ZWJh Y2tfY29udHJvbCAqd2JjKQorIHsKK0BAIC03MjMsNyArNzQ2LDcgQEAgenBsX3dyaXRlcGFnZXMo c3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIHN0cnVjdCB3cml0ZWJhY2tfY29udHJvbCAq d2JjKQorIAkgKiBhbmQgdGhlbiB3ZSBjb21taXQgaXQgYWxsIGluIG9uZSBnby4KKyAJICovCisg CXdiYy0+c3luY19tb2RlID0gV0JfU1lOQ19OT05FOworLQlyZXN1bHQgPSB3cml0ZV9jYWNoZV9w YWdlcyhtYXBwaW5nLCB3YmMsIHpwbF9wdXRwYWdlLCBtYXBwaW5nKTsKKysJcmVzdWx0ID0genBs X3dyaXRlX2NhY2hlX3BhZ2VzKG1hcHBpbmcsIHdiYywgbWFwcGluZyk7CisgCWlmIChzeW5jX21v ZGUgIT0gd2JjLT5zeW5jX21vZGUpIHsKKyAJCVpQTF9FTlRFUih6ZnN2ZnMpOworIAkJWlBMX1ZF UklGWV9aUCh6cCk7CitAQCAtNzM5LDcgKzc2Miw3IEBAIHpwbF93cml0ZXBhZ2VzKHN0cnVjdCBh ZGRyZXNzX3NwYWNlICptYXBwaW5nLCBzdHJ1Y3Qgd3JpdGViYWNrX2NvbnRyb2wgKndiYykKKyAJ CSAqIGRldGFpbHMpLiBUaGF0IGJlaW5nIHNhaWQsIHRoaXMgaXMgYSBuby1vcCBpbiBtb3N0IGNh c2VzLgorIAkJICovCisgCQl3YmMtPnN5bmNfbW9kZSA9IHN5bmNfbW9kZTsKKy0JCXJlc3VsdCA9 IHdyaXRlX2NhY2hlX3BhZ2VzKG1hcHBpbmcsIHdiYywgenBsX3B1dHBhZ2UsIG1hcHBpbmcpOwor KwkJcmVzdWx0ID0genBsX3dyaXRlX2NhY2hlX3BhZ2VzKG1hcHBpbmcsIHdiYywgbWFwcGluZyk7 CisgCX0KKyAJcmV0dXJuIChyZXN1bHQpOworIH0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvemZzL3Bh dGNoZXMvMDAwNC1MaW51eC02LjMtY29tcGF0LUZpeC1tZW1jcHktZGV0ZWN0ZWQtZmllbGQtc3Bh bm5pbmctLnBhdGNoIGIvc3JjcGtncy96ZnMvcGF0Y2hlcy8wMDA0LUxpbnV4LTYuMy1jb21wYXQt Rml4LW1lbWNweS1kZXRlY3RlZC1maWVsZC1zcGFubmluZy0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45NDY0MzMwZDVkMTIKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3pmcy9wYXRjaGVzLzAwMDQtTGludXgtNi4zLWNvbXBhdC1GaXgtbWVtY3B5LWRl dGVjdGVkLWZpZWxkLXNwYW5uaW5nLS5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIGU1Y2Rm ZWE3MDFjMzI2MTg2Nzc2MGMyMDU5NTgzMDAxY2Q2OWRjZGYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiB5b3V6aG9uZ3lhbmcgPHlvdXpob25nQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwg MTMgQXByIDIwMjMgMTI6MTI6MDMgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCA0LzVdIExpbnV4IDYu MyBjb21wYXQ6IEZpeCBtZW1jcHkgImRldGVjdGVkIGZpZWxkLXNwYW5uaW5nCisgd3JpdGUiIGVy cm9yCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0FkZCBhIG5ldyB1bmlv biBtZW1iZXIgb2YgZmxleGlibGUgYXJyYXkgdG8gZG5vZGVfcGh5c190IGFuZCB1c2UKK2l0IGlu IHRoZSBtYWNybyBzbyB3ZSBjYW4gc2lsZW5jZSB0aGUgbWVtY3B5KCkgZm9ydGlmeSBlcnJvci4K KworUmV2aWV3ZWQtYnk6IEJyaWFuIEJlaGxlbmRvcmYgPGJlaGxlbmRvcmYxQGxsbmwuZ292Pgor U2lnbmVkLW9mZi1ieTogWW91emhvbmcgWWFuZyA8eXlhbmdAbWF0aHdvcmtzLmNvbT4KK0Nsb3Nl cyAjMTQ3MzcKKworTW9kaWZpZWQtZnJvbTogMjdhODJjYmIzZWYyZTMwYTU0ODYwYjk1NWZiMjU3 ZmI3ZjgzMDdjZAorU2lnbmVkLW9mZi1ieTogxJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5oIDxjb25n ZGFuaHF4QGdtYWlsLmNvbT4KKy0tLQorIGluY2x1ZGUvc3lzL2Rub2RlLmggfCAxMCArKysrKysr KystCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitk aWZmIC0tZ2l0IGEvaW5jbHVkZS9zeXMvZG5vZGUuaCBiL2luY2x1ZGUvc3lzL2Rub2RlLmgKK2lu ZGV4IDIwYjdjMmFhZi4uMzliYmRhZTQ0IDEwMDY0NAorLS0tIGEvaW5jbHVkZS9zeXMvZG5vZGUu aAorKysrIGIvaW5jbHVkZS9zeXMvZG5vZGUuaAorQEAgLTEyMCw3ICsxMjAsMTEgQEAgZXh0ZXJu ICJDIiB7CisgI2RlZmluZQlETl9NQVhfTEVWRUxTCShESVZfUk9VTkRfVVAoRE5fTUFYX09GRlNF VF9TSElGVCAtIFNQQV9NSU5CTE9DS1NISUZULCBcCisgCUROX01JTl9JTkRCTEtTSElGVCAtIFNQ QV9CTEtQVFJTSElGVCkgKyAxKQorIAorLSNkZWZpbmUJRE5fQk9OVVMoZG5wKQkoKHZvaWQqKSgo ZG5wKS0+ZG5fYm9udXMgKyBcCisrLyoKKysgKiBVc2UgdGhlIGZsZXhpYmxlIGFycmF5IGluc3Rl YWQgb2YgdGhlIGZpeGVkIGxlbmd0aCBvbmUgZG5fYm9udXMKKysgKiB0byBhZGRyZXNzIG1lbWNw eS9tZW1tb3ZlIGZvcnRpZnkgZXJyb3IKKysgKi8KKysjZGVmaW5lCUROX0JPTlVTKGRucCkJKCh2 b2lkKikoKGRucCktPmRuX2JvbnVzX2ZsZXhpYmxlICsgXAorIAkoKChkbnApLT5kbl9uYmxrcHRy IC0gMSkgKiBzaXplb2YgKGJsa3B0cl90KSkpKQorICNkZWZpbmUJRE5fTUFYX0JPTlVTX0xFTihk bnApIFwKKyAJKChkbnAtPmRuX2ZsYWdzICYgRE5PREVfRkxBR19TUElMTF9CTEtQVFIpID8gXAor QEAgLTI2Niw2ICsyNzAsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgZG5vZGVfcGh5cyB7CisgCQkJICAg IHNpemVvZiAoYmxrcHRyX3QpXTsKKyAJCQlibGtwdHJfdCBkbl9zcGlsbDsKKyAJCX07CisrCQlz dHJ1Y3QgeworKwkJCWJsa3B0cl90IF9fZG5faWdub3JlNDsKKysJCQl1aW50OF90IGRuX2JvbnVz X2ZsZXhpYmxlW107CisrCQl9OworIAl9OworIH0gZG5vZGVfcGh5c190OworIApkaWZmIC0tZ2l0 IGEvc3JjcGtncy96ZnMvcGF0Y2hlcy8wMDA1LUxpbnV4LTYuMy1jb21wYXQtaWRtYXBwZWQtbW91 bnQtQVBJLWNoYW5nZXMucGF0Y2ggYi9zcmNwa2dzL3pmcy9wYXRjaGVzLzAwMDUtTGludXgtNi4z LWNvbXBhdC1pZG1hcHBlZC1tb3VudC1BUEktY2hhbmdlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjIyZmExZTRiYWExMAotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvemZzL3BhdGNoZXMvMDAwNS1MaW51eC02LjMtY29tcGF0LWlkbWFwcGVkLW1vdW50 LUFQSS1jaGFuZ2VzLnBhdGNoCkBAIC0wLDAgKzEsMTQ5MyBAQAorRnJvbSA1YTU0YzVjZGM5MjBi MjVmNTczNjUxYmM1MDAxYWU5YzI4ODdkYTNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogeW91emhvbmd5YW5nIDx5b3V6aG9uZ0BnbWFpbC5jb20+CitEYXRlOiBNb24sIDEwIEFwciAy MDIzIDE3OjE1OjM2IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggNS81XSBMaW51eCA2LjMgY29tcGF0 OiBpZG1hcHBlZCBtb3VudCBBUEkgY2hhbmdlcworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQt VHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu ZzogOGJpdAorCitMaW51eCBrZXJuZWwgNi4zIGNoYW5nZWQgYSBidW5jaCBvZiBBUElzIHRvIHVz ZSB0aGUgZGVkaWNhdGVkIGlkbWFwCit0eXBlIGZvciBtb3VudHMgKHN0cnVjdCBtbnRfaWRtYXAp LCB3ZSBuZWVkIHRvIGRldGVjdCB0aGVzZSBjaGFuZ2VzCithbmQgbWFrZSB6ZnMgd29yayB3aXRo IHRoZSBuZXcgQVBJcy4KKworUmV2aWV3ZWQtYnk6IEJyaWFuIEJlaGxlbmRvcmYgPGJlaGxlbmRv cmYxQGxsbmwuZ292PgorU2lnbmVkLW9mZi1ieTogWW91emhvbmcgWWFuZyA8eXlhbmdAbWF0aHdv cmtzLmNvbT4KK0Nsb3NlcyAjMTQ2ODIKKworTW9kaWZpZWQtZnJvbTogZDRkYzUzZGFkMmY2YzNh MmQxMDdmMWJhMGU4ZDY2MjI4Yzg0NWUwMAorU2lnbmVkLW9mZi1ieTogxJBvw6BuIFRy4bqnbiBD w7RuZyBEYW5oIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZy9rZXJuZWwtYWNs Lm00ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzQgKysrKysrLS0KKyBjb25maWcva2VybmVs LWdlbmVyaWNfZmlsbGF0dHIubTQgICAgICAgICAgICB8IDMzICsrKysrLS0KKyBjb25maWcva2Vy bmVsLWlub2RlLWNyZWF0ZS5tNCAgICAgICAgICAgICAgICB8IDQxICsrKysrKystLQorIGNvbmZp Zy9rZXJuZWwtaW5vZGUtZ2V0YXR0ci5tNCAgICAgICAgICAgICAgIHwgNjMgKysrKysrKysrKy0t LS0KKyBjb25maWcva2VybmVsLWlzX293bmVyX29yX2NhcC5tNCAgICAgICAgICAgICB8IDI1ICsr KysrLQorIGNvbmZpZy9rZXJuZWwtbWtkaXIubTQgICAgICAgICAgICAgICAgICAgICAgIHwgNTUg KysrKysrKysrLS0tCisgY29uZmlnL2tlcm5lbC1ta25vZC5tNCAgICAgICAgICAgICAgICAgICAg ICAgfCAzNCArKysrKysrLQorIGNvbmZpZy9rZXJuZWwtcmVuYW1lLm00ICAgICAgICAgICAgICAg ICAgICAgIHwgNTkgKysrKysrKysrKy0tLQorIGNvbmZpZy9rZXJuZWwtc2V0YXR0ci1wcmVwYXJl Lm00ICAgICAgICAgICAgIHwgNDQgKysrKysrKy0tLQorIGNvbmZpZy9rZXJuZWwtc3ltbGluay5t NCAgICAgICAgICAgICAgICAgICAgIHwgMzMgKysrKystLQorIGNvbmZpZy9rZXJuZWwtdG1wZmls ZS5tNCAgICAgICAgICAgICAgICAgICAgIHwgMzMgKysrKystLQorIGNvbmZpZy9rZXJuZWwteGF0 dHItaGFuZGxlci5tNCAgICAgICAgICAgICAgIHwgOTEgKysrKysrKysrKysrKy0tLS0tLS0KKyBj b25maWcva2VybmVsLm00ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICstCisgaW5j bHVkZS9vcy9mcmVlYnNkL3NwbC9zeXMvdHlwZXMuaCAgICAgICAgICAgfCAgMiArCisgaW5jbHVk ZS9vcy9saW51eC9rZXJuZWwvbGludXgvdmZzX2NvbXBhdC5oICAgfCAyMSArKysrLQorIGluY2x1 ZGUvb3MvbGludXgva2VybmVsL2xpbnV4L3hhdHRyX2NvbXBhdC5oIHwgMTcgKysrLQorIGluY2x1 ZGUvb3MvbGludXgvc3BsL3N5cy9jcmVkLmggICAgICAgICAgICAgIHwgIDIgKworIGluY2x1ZGUv b3MvbGludXgvc3BsL3N5cy90eXBlcy5oICAgICAgICAgICAgIHwgMTYgKysrKworIGluY2x1ZGUv b3MvbGludXgvemZzL3N5cy96ZnNfdm5vcHNfb3MuaCAgICAgIHwgIDUgKysKKyBpbmNsdWRlL29z L2xpbnV4L3pmcy9zeXMvenBsLmggICAgICAgICAgICAgICB8IDExICsrLQorIG1vZHVsZS9vcy9s aW51eC9zcGwvc3BsLWNyZWQuYyAgICAgICAgICAgICAgIHwgMTIgKysrCisgbW9kdWxlL29zL2xp bnV4L3pmcy9wb2xpY3kuYyAgICAgICAgICAgICAgICAgfCAgNCArCisgbW9kdWxlL29zL2xpbnV4 L3pmcy96ZnNfaW9jdGxfb3MuYyAgICAgICAgICAgfCAgNCArCisgbW9kdWxlL29zL2xpbnV4L3pm cy96ZnNfdm5vcHNfb3MuYyAgICAgICAgICAgfCAgNSArKworIG1vZHVsZS9vcy9saW51eC96ZnMv enBsX2N0bGRpci5jICAgICAgICAgICAgIHwgNTcgKysrKysrKysrKy0tCisgbW9kdWxlL29zL2xp bnV4L3pmcy96cGxfZmlsZS5jICAgICAgICAgICAgICAgfCAgNCArCisgbW9kdWxlL29zL2xpbnV4 L3pmcy96cGxfaW5vZGUuYyAgICAgICAgICAgICAgfCA0MCArKysrKysrKy0KKyBtb2R1bGUvb3Mv bGludXgvemZzL3pwbF94YXR0ci5jICAgICAgICAgICAgICB8IDEzICsrKworIDI4IGZpbGVzIGNo YW5nZWQsIDYxOSBpbnNlcnRpb25zKCspLCAxNDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9jb25maWcva2VybmVsLWFjbC5tNCBiL2NvbmZpZy9rZXJuZWwtYWNsLm00CitpbmRleCA2ZTky ZGE5N2QuLmJlMDhjM2M2MCAxMDA2NDQKKy0tLSBhL2NvbmZpZy9rZXJuZWwtYWNsLm00CisrKysg Yi9jb25maWcva2VybmVsLWFjbC5tNAorQEAgLTIzNiw3ICsyMzYsMjIgQEAgZG5sICMKKyBkbmwg IyA2LjIgQVBJIGNoYW5nZSwKKyBkbmwgIyBzZXRfYWNsKCkgc2Vjb25kIHBhcmFtdGVyIGNoYW5n ZWQgdG8gYSBzdHJ1Y3QgZGVudHJ5ICoKKyBkbmwgIworK2RubCAjIDYuMyBBUEkgY2hhbmdlLAor K2RubCAjIHNldF9hY2woKSBmaXJzdCBwYXJhbWV0ZXIgY2hhbmdlZCB0byBzdHJ1Y3QgbW50X2lk bWFwICoKKytkbmwgIworIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX1NSQ19JTk9ERV9PUEVSQVRJ T05TX1NFVF9BQ0xdLCBbCisrCVpGU19MSU5VWF9URVNUX1NSQyhbaW5vZGVfb3BlcmF0aW9uc19z ZXRfYWNsX21udF9pZG1hcF9kZW50cnldLCBbCisrCQkjaW5jbHVkZSA8bGludXgvZnMuaD4KKysK KysJCWludCBzZXRfYWNsX2ZuKHN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwLAorKwkJICAgIHN0cnVj dCBkZW50cnkgKmRlbnQsIHN0cnVjdCBwb3NpeF9hY2wgKmFjbCwKKysJCSAgICBpbnQgdHlwZSkg eyByZXR1cm4gMDsgfQorKworKwkJc3RhdGljIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRpb25z CisrCQkgICAgaW9wcyBfX2F0dHJpYnV0ZV9fICgodW51c2VkKSkgPSB7CisrCQkJLnNldF9hY2wg PSBzZXRfYWNsX2ZuLAorKwkJfTsKKysJXSxbXSkKKyAJWkZTX0xJTlVYX1RFU1RfU1JDKFtpbm9k ZV9vcGVyYXRpb25zX3NldF9hY2xfdXNlcm5zX2RlbnRyeV0sIFsKKyAJCSNpbmNsdWRlIDxsaW51 eC9mcy5oPgorIAorQEAgLTI4MSwxNyArMjk2LDI0IEBAIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVM X0lOT0RFX09QRVJBVElPTlNfU0VUX0FDTF0sIFsKKyAJCUFDX0RFRklORShIQVZFX1NFVF9BQ0ws IDEsIFtpb3BzLT5zZXRfYWNsKCkgZXhpc3RzXSkKKyAJCUFDX0RFRklORShIQVZFX1NFVF9BQ0xf VVNFUk5TLCAxLCBbaW9wcy0+c2V0X2FjbCgpIHRha2VzIDQgYXJnc10pCisgCV0sWworLQkJWkZT X0xJTlVYX1RFU1RfUkVTVUxUKFtpbm9kZV9vcGVyYXRpb25zX3NldF9hY2xfdXNlcm5zX2RlbnRy eV0sIFsKKysJCVpGU19MSU5VWF9URVNUX1JFU1VMVChbaW5vZGVfb3BlcmF0aW9uc19zZXRfYWNs X21udF9pZG1hcF9kZW50cnldLCBbCisgCQkJQUNfTVNHX1JFU1VMVCh5ZXMpCisgCQkJQUNfREVG SU5FKEhBVkVfU0VUX0FDTCwgMSwgW2lvcHMtPnNldF9hY2woKSBleGlzdHNdKQorLQkJCUFDX0RF RklORShIQVZFX1NFVF9BQ0xfVVNFUk5TX0RFTlRSWV9BUkcyLCAxLAorLQkJCSAgICBbaW9wcy0+ c2V0X2FjbCgpIHRha2VzIDQgYXJncywgYXJnMiBpcyBzdHJ1Y3QgZGVudHJ5ICpdKQorKwkJCUFD X0RFRklORShIQVZFX1NFVF9BQ0xfSURNQVBfREVOVFJZLCAxLAorKwkJCSAgICBbaW9wcy0+c2V0 X2FjbCgpIHRha2VzIDQgYXJncywgYXJnMSBpcyBzdHJ1Y3QgbW50X2lkbWFwICpdKQorIAkJXSxb CistCQkJWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtpbm9kZV9vcGVyYXRpb25zX3NldF9hY2xdLCBb CisrCQkJWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtpbm9kZV9vcGVyYXRpb25zX3NldF9hY2xfdXNl cm5zX2RlbnRyeV0sIFsKKyAJCQkJQUNfTVNHX1JFU1VMVCh5ZXMpCistCQkJCUFDX0RFRklORShI QVZFX1NFVF9BQ0wsIDEsIFtpb3BzLT5zZXRfYWNsKCkgZXhpc3RzLCB0YWtlcyAzIGFyZ3NdKQor KwkJCQlBQ19ERUZJTkUoSEFWRV9TRVRfQUNMLCAxLCBbaW9wcy0+c2V0X2FjbCgpIGV4aXN0c10p CisrCQkJCUFDX0RFRklORShIQVZFX1NFVF9BQ0xfVVNFUk5TX0RFTlRSWV9BUkcyLCAxLAorKwkJ CQkgICAgW2lvcHMtPnNldF9hY2woKSB0YWtlcyA0IGFyZ3MsIGFyZzIgaXMgc3RydWN0IGRlbnRy eSAqXSkKKyAJCQldLFsKKy0JCQkJWkZTX0xJTlVYX1JFUVVJUkVfQVBJKFtpX29wLT5zZXRfYWNs KCldLCBbMy4xNF0pCisrCQkJCVpGU19MSU5VWF9URVNUX1JFU1VMVChbaW5vZGVfb3BlcmF0aW9u c19zZXRfYWNsXSwgWworKwkJCQkJQUNfTVNHX1JFU1VMVCh5ZXMpCisrCQkJCQlBQ19ERUZJTkUo SEFWRV9TRVRfQUNMLCAxLCBbaW9wcy0+c2V0X2FjbCgpIGV4aXN0cywgdGFrZXMgMyBhcmdzXSkK KysJCQkJXSxbCisrCQkJCQlaRlNfTElOVVhfUkVRVUlSRV9BUEkoW2lfb3AtPnNldF9hY2woKV0s IFszLjE0XSkKKysJCQkJXSkKKyAJCQldKQorIAkJXSkKKyAJXSkKK2RpZmYgLS1naXQgYS9jb25m aWcva2VybmVsLWdlbmVyaWNfZmlsbGF0dHIubTQgYi9jb25maWcva2VybmVsLWdlbmVyaWNfZmls bGF0dHIubTQKK2luZGV4IDBhY2Q1ZDUzMS4uMDJkZWU0ZDRjIDEwMDY0NAorLS0tIGEvY29uZmln L2tlcm5lbC1nZW5lcmljX2ZpbGxhdHRyLm00CisrKysgYi9jb25maWcva2VybmVsLWdlbmVyaWNf ZmlsbGF0dHIubTQKK0BAIC00LDcgKzQsMTAgQEAgZG5sICMKKyBkbmwgIyBnZW5lcmljX2ZpbGxh dHRyIGluIGxpbnV4L2ZzLmggbm93IHJlcXVpcmVzIGEgc3RydWN0IHVzZXJfbmFtZXNwYWNlKgor IGRubCAjIGFzIHRoZSBmaXJzdCBhcmcsIHRvIHN1cHBvcnQgaWRtYXBwZWQgbW91bnRzLgorIGRu bCAjCistQUNfREVGVU4oW1pGU19BQ19LRVJORUxfU1JDX0dFTkVSSUNfRklMTEFUVFJfVVNFUk5T XSwgWworK2RubCAjIDYuMyBBUEkKKytkbmwgIyBnZW5lcmljX2ZpbGxhdHRyKCkgbm93IHRha2Vz IHN0cnVjdCBtbnRfaWRtYXAqIGFzIHRoZSBmaXJzdCBhcmd1bWVudAorK2RubCAjCisrQUNfREVG VU4oW1pGU19BQ19LRVJORUxfU1JDX0dFTkVSSUNfRklMTEFUVFJdLCBbCisgCVpGU19MSU5VWF9U RVNUX1NSQyhbZ2VuZXJpY19maWxsYXR0cl91c2VybnNdLCBbCisgCQkjaW5jbHVkZSA8bGludXgv ZnMuaD4KKyAJXSxbCitAQCAtMTMsMTYgKzE2LDMyIEBAIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVM X1NSQ19HRU5FUklDX0ZJTExBVFRSX1VTRVJOU10sIFsKKyAJCXN0cnVjdCBrc3RhdCAqayA9IE5V TEw7CisgCQlnZW5lcmljX2ZpbGxhdHRyKHVzZXJucywgaW4sIGspOworIAldKQorKworKwlaRlNf TElOVVhfVEVTVF9TUkMoW2dlbmVyaWNfZmlsbGF0dHJfbW50X2lkbWFwXSwgWworKwkJI2luY2x1 ZGUgPGxpbnV4L2ZzLmg+CisrCV0sWworKwkJc3RydWN0IG1udF9pZG1hcCAqaWRtYXAgPSBOVUxM OworKwkJc3RydWN0IGlub2RlICppbiA9IE5VTEw7CisrCQlzdHJ1Y3Qga3N0YXQgKmsgPSBOVUxM OworKwkJZ2VuZXJpY19maWxsYXR0cihpZG1hcCwgaW4sIGspOworKwldKQorIF0pCisgCistQUNf REVGVU4oW1pGU19BQ19LRVJORUxfR0VORVJJQ19GSUxMQVRUUl9VU0VSTlNdLCBbCistCUFDX01T R19DSEVDS0lORyhbd2hldGhlciBnZW5lcmljX2ZpbGxhdHRyIHJlcXVpcmVzIHN0cnVjdCB1c2Vy X25hbWVzcGFjZSpdKQorLQlaRlNfTElOVVhfVEVTVF9SRVNVTFQoW2dlbmVyaWNfZmlsbGF0dHJf dXNlcm5zXSwgWworK0FDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX0dFTkVSSUNfRklMTEFUVFJdLCBb CisrCUFDX01TR19DSEVDS0lORyhbd2hldGhlciBnZW5lcmljX2ZpbGxhdHRyIHJlcXVpcmVzIHN0 cnVjdCBtbnRfaWRtYXAqXSkKKysJWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtnZW5lcmljX2ZpbGxh dHRyX21udF9pZG1hcF0sIFsKKyAJCUFDX01TR19SRVNVTFQoW3llc10pCistCQlBQ19ERUZJTkUo SEFWRV9HRU5FUklDX0ZJTExBVFRSX1VTRVJOUywgMSwKKy0JCSAgICBbZ2VuZXJpY19maWxsYXR0 ciByZXF1aXJlcyBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UqXSkKKysJCUFDX0RFRklORShIQVZFX0dF TkVSSUNfRklMTEFUVFJfSURNQVAsIDEsCisrCQkgICAgW2dlbmVyaWNfZmlsbGF0dHIgcmVxdWly ZXMgc3RydWN0IG1udF9pZG1hcCpdKQorIAldLFsKKy0JCUFDX01TR19SRVNVTFQoW25vXSkKKysJ CUFDX01TR19DSEVDS0lORyhbd2hldGhlciBnZW5lcmljX2ZpbGxhdHRyIHJlcXVpcmVzIHN0cnVj dCB1c2VyX25hbWVzcGFjZSpdKQorKwkJWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtnZW5lcmljX2Zp bGxhdHRyX3VzZXJuc10sIFsKKysJCQlBQ19NU0dfUkVTVUxUKFt5ZXNdKQorKwkJCUFDX0RFRklO RShIQVZFX0dFTkVSSUNfRklMTEFUVFJfVVNFUk5TLCAxLAorKwkJCSAgICBbZ2VuZXJpY19maWxs YXR0ciByZXF1aXJlcyBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UqXSkKKysJCV0sWworKwkJCUFDX01T R19SRVNVTFQoW25vXSkKKysJCV0pCisgCV0pCisgXSkKKyAKK2RpZmYgLS1naXQgYS9jb25maWcv a2VybmVsLWlub2RlLWNyZWF0ZS5tNCBiL2NvbmZpZy9rZXJuZWwtaW5vZGUtY3JlYXRlLm00Citp bmRleCBhNmVhMTFmYjYuLjllOWU0MzE4MCAxMDA2NDQKKy0tLSBhL2NvbmZpZy9rZXJuZWwtaW5v ZGUtY3JlYXRlLm00CisrKysgYi9jb25maWcva2VybmVsLWlub2RlLWNyZWF0ZS5tNAorQEAgLTEs NCArMSwyMiBAQAorIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX1NSQ19DUkVBVEVdLCBbCisrCWRu bCAjCisrCWRubCAjIDYuMyBBUEkgY2hhbmdlCisrCWRubCAjIFRoZSBmaXJzdCBhcmcgaXMgY2hh bmdlZCB0byBzdHJ1Y3QgbW50X2lkbWFwICoKKysJZG5sICMKKysJWkZTX0xJTlVYX1RFU1RfU1JD KFtjcmVhdGVfbW50X2lkbWFwXSwgWworKwkJI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisrCQkjaW5j bHVkZSA8bGludXgvc2NoZWQuaD4KKysKKysJCWludCBpbm9kZV9jcmVhdGUoc3RydWN0IG1udF9p ZG1hcCAqaWRtYXAsCisrCQkgICAgc3RydWN0IGlub2RlICppbm9kZSAsc3RydWN0IGRlbnRyeSAq ZGVudHJ5LAorKwkJICAgIHVtb2RlX3QgdW1vZGUsIGJvb2wgZmxhZykgeyByZXR1cm4gMDsgfQor KworKwkJc3RhdGljIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zCisrCQkJaW9wcyBfX2F0 dHJpYnV0ZV9fICgodW51c2VkKSkgPSB7CisrCQkJLmNyZWF0ZSAgICAgICAgID0gaW5vZGVfY3Jl YXRlLAorKwkJfTsKKysJXSxbXSkKKysKKyAJZG5sICMKKyAJZG5sICMgNS4xMiBBUEkgY2hhbmdl IHRoYXQgYWRkZWQgdGhlIHN0cnVjdCB1c2VyX25hbWVzcGFjZSogYXJnCisgCWRubCAjIHRvIHRo ZSBmcm9udCBvZiB0aGlzIGZ1bmN0aW9uIHR5cGUncyBhcmcgbGlzdC4KK0BAIC0zNSwxOSArNTMs MjggQEAgQUNfREVGVU4oW1pGU19BQ19LRVJORUxfU1JDX0NSRUFURV0sIFsKKyBdKQorIAorIEFD X0RFRlVOKFtaRlNfQUNfS0VSTkVMX0NSRUFURV0sIFsKKy0JQUNfTVNHX0NIRUNLSU5HKFt3aGV0 aGVyIGlvcHMtPmNyZWF0ZSgpIHRha2VzIHN0cnVjdCB1c2VyX25hbWVzcGFjZSpdKQorLQlaRlNf TElOVVhfVEVTVF9SRVNVTFQoW2NyZWF0ZV91c2VybnNdLCBbCisrCUFDX01TR19DSEVDS0lORyhb d2hldGhlciBpb3BzLT5jcmVhdGUoKSB0YWtlcyBzdHJ1Y3QgbW50X2lkbWFwKl0pCisrCVpGU19M SU5VWF9URVNUX1JFU1VMVChbY3JlYXRlX21udF9pZG1hcF0sIFsKKyAJCUFDX01TR19SRVNVTFQo eWVzKQorLQkJQUNfREVGSU5FKEhBVkVfSU9QU19DUkVBVEVfVVNFUk5TLCAxLAorLQkJICAgW2lv cHMtPmNyZWF0ZSgpIHRha2VzIHN0cnVjdCB1c2VyX25hbWVzcGFjZSpdKQorKwkJQUNfREVGSU5F KEhBVkVfSU9QU19DUkVBVEVfSURNQVAsIDEsCisrCQkgICBbaW9wcy0+Y3JlYXRlKCkgdGFrZXMg c3RydWN0IG1udF9pZG1hcCpdKQorIAldLFsKKyAJCUFDX01TR19SRVNVTFQobm8pCisgCistCQlB Q19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgaW9wcy0+Y3JlYXRlKCkgcGFzc2VzIGZsYWdzXSkKKy0J CVpGU19MSU5VWF9URVNUX1JFU1VMVChbY3JlYXRlX2ZsYWdzXSwgWworKwkJQUNfTVNHX0NIRUNL SU5HKFt3aGV0aGVyIGlvcHMtPmNyZWF0ZSgpIHRha2VzIHN0cnVjdCB1c2VyX25hbWVzcGFjZSpd KQorKwkJWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtjcmVhdGVfdXNlcm5zXSwgWworIAkJCUFDX01T R19SRVNVTFQoeWVzKQorKwkJCUFDX0RFRklORShIQVZFX0lPUFNfQ1JFQVRFX1VTRVJOUywgMSwK KysJCQkgICBbaW9wcy0+Y3JlYXRlKCkgdGFrZXMgc3RydWN0IHVzZXJfbmFtZXNwYWNlKl0pCisg CQldLFsKKy0JCQlaRlNfTElOVVhfVEVTVF9FUlJPUihbaW9wcy0+Y3JlYXRlKCldKQorKwkJCUFD X01TR19SRVNVTFQobm8pCisrCisrCQkJQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIGlvcHMtPmNy ZWF0ZSgpIHBhc3NlcyBmbGFnc10pCisrCQkJWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtjcmVhdGVf ZmxhZ3NdLCBbCisrCQkJCUFDX01TR19SRVNVTFQoeWVzKQorKwkJCV0sWworKwkJCQlaRlNfTElO VVhfVEVTVF9FUlJPUihbaW9wcy0+Y3JlYXRlKCldKQorKwkJCV0pCisgCQldKQorIAldKQorIF0p CitkaWZmIC0tZ2l0IGEvY29uZmlnL2tlcm5lbC1pbm9kZS1nZXRhdHRyLm00IGIvY29uZmlnL2tl cm5lbC1pbm9kZS1nZXRhdHRyLm00CitpbmRleCBmNjJlODJmNTIuLmM4YmZiMDc4NiAxMDA2NDQK Ky0tLSBhL2NvbmZpZy9rZXJuZWwtaW5vZGUtZ2V0YXR0ci5tNAorKysrIGIvY29uZmlnL2tlcm5l bC1pbm9kZS1nZXRhdHRyLm00CitAQCAtMSw0ICsxLDI0IEBACisgQUNfREVGVU4oW1pGU19BQ19L RVJORUxfU1JDX0lOT0RFX0dFVEFUVFJdLCBbCisrCWRubCAjCisrCWRubCAjIExpbnV4IDYuMyBB UEkKKysJZG5sICMgVGhlIGZpcnN0IGFyZyBvZiBnZXRhdHRyIEkvTyBvcGVyYXRpb25zIGhhbmRs ZXIgdHlwZQorKwlkbmwgIyBpcyBjaGFuZ2VkIHRvIHN0cnVjdCBtbnRfaWRtYXAqCisrCWRubCAj CisrCVpGU19MSU5VWF9URVNUX1NSQyhbaW5vZGVfb3BlcmF0aW9uc19nZXRhdHRyX21udF9pZG1h cF0sIFsKKysJCSNpbmNsdWRlIDxsaW51eC9mcy5oPgorKworKwkJaW50IHRlc3RfZ2V0YXR0cigK KysJCSAgICBzdHJ1Y3QgbW50X2lkbWFwICppZG1hcCwKKysJCSAgICBjb25zdCBzdHJ1Y3QgcGF0 aCAqcCwgc3RydWN0IGtzdGF0ICprLAorKwkJICAgIHUzMiByZXF1ZXN0X21hc2ssIHVuc2lnbmVk IGludCBxdWVyeV9mbGFncykKKysJCSAgICB7IHJldHVybiAwOyB9CisrCisrCQlzdGF0aWMgY29u c3Qgc3RydWN0IGlub2RlX29wZXJhdGlvbnMKKysJCSAgICBpb3BzIF9fYXR0cmlidXRlX18gKCh1 bnVzZWQpKSA9IHsKKysJCQkuZ2V0YXR0ciA9IHRlc3RfZ2V0YXR0ciwKKysJCX07CisrCV0sW10p CisrCisgCWRubCAjCisgCWRubCAjIExpbnV4IDUuMTIgQVBJCisgCWRubCAjIFRoZSBnZXRhdHRy IEkvTyBvcGVyYXRpb25zIGhhbmRsZXIgdHlwZSB3YXMgZXh0ZW5kZWQgdG8gcmVxdWlyZQorQEAg LTU1LDM3ICs3NSw0OCBAQCBBQ19ERUZVTihbWkZTX0FDX0tFUk5FTF9TUkNfSU5PREVfR0VUQVRU Ul0sIFsKKyAKKyBBQ19ERUZVTihbWkZTX0FDX0tFUk5FTF9JTk9ERV9HRVRBVFRSXSwgWworIAlk bmwgIworLQlkbmwgIyBLZXJuZWwgNS4xMiB0ZXN0CisrCWRubCAjIEtlcm5lbCA2LjMgdGVzdAor IAlkbmwgIworLQlBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgaW9wcy0+Z2V0YXR0cigpIHRha2Vz IHVzZXJfbmFtZXNwYWNlXSkKKy0JWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtpbm9kZV9vcGVyYXRp b25zX2dldGF0dHJfdXNlcm5zXSwgWworKwlBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgaW9wcy0+ Z2V0YXR0cigpIHRha2VzIG1udF9pZG1hcF0pCisrCVpGU19MSU5VWF9URVNUX1JFU1VMVChbaW5v ZGVfb3BlcmF0aW9uc19nZXRhdHRyX21udF9pZG1hcF0sIFsKKyAJCUFDX01TR19SRVNVTFQoeWVz KQorLQkJQUNfREVGSU5FKEhBVkVfVVNFUk5TX0lPUFNfR0VUQVRUUiwgMSwKKy0JCSAgICBbaW9w cy0+Z2V0YXR0cigpIHRha2VzIHN0cnVjdCB1c2VyX25hbWVzcGFjZSpdKQorKwkJQUNfREVGSU5F KEhBVkVfSURNQVBfSU9QU19HRVRBVFRSLCAxLAorKwkJICAgIFtpb3BzLT5nZXRhdHRyKCkgdGFr ZXMgc3RydWN0IG1udF9pZG1hcCpdKQorIAldLFsKKyAJCUFDX01TR19SRVNVTFQobm8pCistCisg CQlkbmwgIworLQkJZG5sICMgS2VybmVsIDQuMTEgdGVzdAorKwkJZG5sICMgS2VybmVsIDUuMTIg dGVzdAorIAkJZG5sICMKKy0JCUFDX01TR19DSEVDS0lORyhbd2hldGhlciBpb3BzLT5nZXRhdHRy KCkgdGFrZXMgYSBwYXRoXSkKKy0JCVpGU19MSU5VWF9URVNUX1JFU1VMVChbaW5vZGVfb3BlcmF0 aW9uc19nZXRhdHRyX3BhdGhdLCBbCisrCQlBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgaW9wcy0+ Z2V0YXR0cigpIHRha2VzIHVzZXJfbmFtZXNwYWNlXSkKKysJCVpGU19MSU5VWF9URVNUX1JFU1VM VChbaW5vZGVfb3BlcmF0aW9uc19nZXRhdHRyX3VzZXJuc10sIFsKKyAJCQlBQ19NU0dfUkVTVUxU KHllcykKKy0JCQlBQ19ERUZJTkUoSEFWRV9QQVRIX0lPUFNfR0VUQVRUUiwgMSwKKy0JCQkJW2lv cHMtPmdldGF0dHIoKSB0YWtlcyBhIHBhdGhdKQorKwkJCUFDX0RFRklORShIQVZFX1VTRVJOU19J T1BTX0dFVEFUVFIsIDEsCisrCQkJICAgIFtpb3BzLT5nZXRhdHRyKCkgdGFrZXMgc3RydWN0IHVz ZXJfbmFtZXNwYWNlKl0pCisgCQldLFsKKyAJCQlBQ19NU0dfUkVTVUxUKG5vKQorIAorIAkJCWRu bCAjCistCQkJZG5sICMgS2VybmVsIDwgNC4xMSB0ZXN0CisrCQkJZG5sICMgS2VybmVsIDQuMTEg dGVzdAorIAkJCWRubCAjCistCQkJQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIGlvcHMtPmdldGF0 dHIoKSB0YWtlcyBhIHZmc21vdW50XSkKKy0JCQlaRlNfTElOVVhfVEVTVF9SRVNVTFQoW2lub2Rl X29wZXJhdGlvbnNfZ2V0YXR0cl92ZnNtb3VudF0sIFsKKysJCQlBQ19NU0dfQ0hFQ0tJTkcoW3do ZXRoZXIgaW9wcy0+Z2V0YXR0cigpIHRha2VzIGEgcGF0aF0pCisrCQkJWkZTX0xJTlVYX1RFU1Rf UkVTVUxUKFtpbm9kZV9vcGVyYXRpb25zX2dldGF0dHJfcGF0aF0sIFsKKyAJCQkJQUNfTVNHX1JF U1VMVCh5ZXMpCistCQkJCUFDX0RFRklORShIQVZFX1ZGU01PVU5UX0lPUFNfR0VUQVRUUiwgMSwK Ky0JCQkJCVtpb3BzLT5nZXRhdHRyKCkgdGFrZXMgYSB2ZnNtb3VudF0pCisrCQkJCUFDX0RFRklO RShIQVZFX1BBVEhfSU9QU19HRVRBVFRSLCAxLAorKwkJCQkJW2lvcHMtPmdldGF0dHIoKSB0YWtl cyBhIHBhdGhdKQorIAkJCV0sWworIAkJCQlBQ19NU0dfUkVTVUxUKG5vKQorKworKwkJCQlkbmwg IworKwkJCQlkbmwgIyBLZXJuZWwgPCA0LjExIHRlc3QKKysJCQkJZG5sICMKKysJCQkJQUNfTVNH X0NIRUNLSU5HKFt3aGV0aGVyIGlvcHMtPmdldGF0dHIoKSB0YWtlcyBhIHZmc21vdW50XSkKKysJ CQkJWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtpbm9kZV9vcGVyYXRpb25zX2dldGF0dHJfdmZzbW91 bnRdLCBbCisrCQkJCQlBQ19NU0dfUkVTVUxUKHllcykKKysJCQkJCUFDX0RFRklORShIQVZFX1ZG U01PVU5UX0lPUFNfR0VUQVRUUiwgMSwKKysJCQkJCQlbaW9wcy0+Z2V0YXR0cigpIHRha2VzIGEg dmZzbW91bnRdKQorKwkJCQldLFsKKysJCQkJCUFDX01TR19SRVNVTFQobm8pCisrCQkJCV0pCisg CQkJXSkKKyAJCV0pCisgCV0pCitkaWZmIC0tZ2l0IGEvY29uZmlnL2tlcm5lbC1pc19vd25lcl9v cl9jYXAubTQgYi9jb25maWcva2VybmVsLWlzX293bmVyX29yX2NhcC5tNAoraW5kZXggYTkwY2Yz ZGE2Li40ZTljMDAyYjcgMTAwNjQ0CistLS0gYS9jb25maWcva2VybmVsLWlzX293bmVyX29yX2Nh cC5tNAorKysrIGIvY29uZmlnL2tlcm5lbC1pc19vd25lcl9vcl9jYXAubTQKK0BAIC0xNiwxMiAr MTYsMjAgQEAgQUNfREVGVU4oW1pGU19BQ19LRVJORUxfU1JDX0lOT0RFX09XTkVSX09SX0NBUEFC TEVdLCBbCisgCQkodm9pZCkgaW5vZGVfb3duZXJfb3JfY2FwYWJsZShpcCk7CisgCV0pCisgCist CVpGU19MSU5VWF9URVNUX1NSQyhbaW5vZGVfb3duZXJfb3JfY2FwYWJsZV9pZG1hcHBlZF0sIFsK KysJWkZTX0xJTlVYX1RFU1RfU1JDKFtpbm9kZV9vd25lcl9vcl9jYXBhYmxlX3VzZXJuc10sIFsK KyAJCSNpbmNsdWRlIDxsaW51eC9mcy5oPgorIAldLFsKKyAJCXN0cnVjdCBpbm9kZSAqaXAgPSBO VUxMOworIAkJKHZvaWQpIGlub2RlX293bmVyX29yX2NhcGFibGUoJmluaXRfdXNlcl9ucywgaXAp OworIAldKQorKworKwlaRlNfTElOVVhfVEVTVF9TUkMoW2lub2RlX293bmVyX29yX2NhcGFibGVf bW50X2lkbWFwXSwgWworKwkJI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisrCQkjaW5jbHVkZSA8bGlu dXgvbW50X2lkbWFwcGluZy5oPgorKwldLFsKKysJCXN0cnVjdCBpbm9kZSAqaXAgPSBOVUxMOwor KwkJKHZvaWQpIGlub2RlX293bmVyX29yX2NhcGFibGUoJm5vcF9tbnRfaWRtYXAsIGlwKTsKKysJ XSkKKyBdKQorIAorIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX0lOT0RFX09XTkVSX09SX0NBUEFC TEVdLCBbCitAQCAtMzUsMTIgKzQzLDIxIEBAIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX0lOT0RF X09XTkVSX09SX0NBUEFCTEVdLCBbCisgCisgCQlBQ19NU0dfQ0hFQ0tJTkcoCisgCQkgICAgW3do ZXRoZXIgaW5vZGVfb3duZXJfb3JfY2FwYWJsZSgpIHRha2VzIHVzZXJfbnNdKQorLQkJWkZTX0xJ TlVYX1RFU1RfUkVTVUxUKFtpbm9kZV9vd25lcl9vcl9jYXBhYmxlX2lkbWFwcGVkXSwgWworKwkJ WkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtpbm9kZV9vd25lcl9vcl9jYXBhYmxlX3VzZXJuc10sIFsK KyAJCQlBQ19NU0dfUkVTVUxUKHllcykKKy0JCQlBQ19ERUZJTkUoSEFWRV9JTk9ERV9PV05FUl9P Ul9DQVBBQkxFX0lETUFQUEVELCAxLAorKwkJCUFDX0RFRklORShIQVZFX0lOT0RFX09XTkVSX09S X0NBUEFCTEVfVVNFUk5TLCAxLAorIAkJCSAgICBbaW5vZGVfb3duZXJfb3JfY2FwYWJsZSgpIHRh a2VzIHVzZXJfbnNdKQorIAkJXSxbCistCQkJWkZTX0xJTlVYX1RFU1RfRVJST1IoW2NhcGFiaWxp dHldKQorKwkJCUFDX01TR19SRVNVTFQobm8pCisrCQkJQUNfTVNHX0NIRUNLSU5HKAorKwkJCSAg ICBbd2hldGhlciBpbm9kZV9vd25lcl9vcl9jYXBhYmxlKCkgdGFrZXMgbW50X2lkbWFwXSkKKysJ CQlaRlNfTElOVVhfVEVTVF9SRVNVTFQoW2lub2RlX293bmVyX29yX2NhcGFibGVfbW50X2lkbWFw XSwgWworKwkJCQlBQ19NU0dfUkVTVUxUKHllcykKKysJCQkJQUNfREVGSU5FKEhBVkVfSU5PREVf T1dORVJfT1JfQ0FQQUJMRV9JRE1BUCwgMSwKKysJCQkJICAgIFtpbm9kZV9vd25lcl9vcl9jYXBh YmxlKCkgdGFrZXMgbW50X2lkbWFwXSkKKysJCQldLCBbCisrCQkJCVpGU19MSU5VWF9URVNUX0VS Uk9SKFtjYXBhYmlsaXR5XSkKKysJCQldKQorIAkJXSkKKyAJXSkKKyBdKQorZGlmZiAtLWdpdCBh L2NvbmZpZy9rZXJuZWwtbWtkaXIubTQgYi9jb25maWcva2VybmVsLW1rZGlyLm00CitpbmRleCA2 NjY3ZWQwNGYuLjc0MDdhNzkxYiAxMDA2NDQKKy0tLSBhL2NvbmZpZy9rZXJuZWwtbWtkaXIubTQK KysrKyBiL2NvbmZpZy9rZXJuZWwtbWtkaXIubTQKK0BAIC0yLDYgKzIsMjIgQEAgZG5sICMKKyBk bmwgIyBTdXBwb3J0ZWQgbWtkaXIoKSBpbnRlcmZhY2VzIGNoZWNrZWQgbmV3ZXN0IHRvIG9sZGVz dC4KKyBkbmwgIworIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX1NSQ19NS0RJUl0sIFsKKysJZG5s ICMKKysJZG5sICMgNi4zIEFQSSBjaGFuZ2UKKysJZG5sICMgbWtkaXIoKSB0YWtlcyBzdHJ1Y3Qg bW50X2lkbWFwICogYXMgdGhlIGZpcnN0IGFyZworKwlkbmwgIworKwlaRlNfTElOVVhfVEVTVF9T UkMoW21rZGlyX21udF9pZG1hcF0sIFsKKysJCSNpbmNsdWRlIDxsaW51eC9mcy5oPgorKworKwkJ aW50IG1rZGlyKHN0cnVjdCBtbnRfaWRtYXAgKmlkbWFwLAorKwkJCXN0cnVjdCBpbm9kZSAqaW5v ZGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKKysJCQl1bW9kZV90IHVtb2RlKSB7IHJldHVybiAw OyB9CisrCQlzdGF0aWMgY29uc3Qgc3RydWN0IGlub2RlX29wZXJhdGlvbnMKKysJCSAgICBpb3Bz IF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSA9IHsKKysJCQkubWtkaXIgPSBta2RpciwKKysJCX07 CisrCV0sW10pCisrCisgCWRubCAjCisgCWRubCAjIDUuMTIgQVBJIGNoYW5nZQorIAlkbmwgIyBU aGUgc3RydWN0IHVzZXJfbmFtZXNwYWNlIGFyZyB3YXMgYWRkZWQgYXMgdGhlIGZpcnN0IGFyZ3Vt ZW50IHRvCitAQCAtNDMsMjUgKzU5LDM2IEBAIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX1NSQ19N S0RJUl0sIFsKKyAKKyBBQ19ERUZVTihbWkZTX0FDX0tFUk5FTF9NS0RJUl0sIFsKKyAJZG5sICMK Ky0JZG5sICMgNS4xMiBBUEkgY2hhbmdlCistCWRubCAjIFRoZSBzdHJ1Y3QgdXNlcl9uYW1lc3Bh Y2UgYXJnIHdhcyBhZGRlZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8KKy0JZG5sICMgbWtkaXIo KSBvZiB0aGUgaW9wcyBzdHJ1Y3R1cmUuCisrCWRubCAjIDYuMyBBUEkgY2hhbmdlCisrCWRubCAj IG1rZGlyKCkgdGFrZXMgc3RydWN0IG1udF9pZG1hcCAqIGFzIHRoZSBmaXJzdCBhcmcKKyAJZG5s ICMKKy0JQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIGlvcHMtPm1rZGlyKCkgdGFrZXMgc3RydWN0 IHVzZXJfbmFtZXNwYWNlKl0pCistCVpGU19MSU5VWF9URVNUX1JFU1VMVChbbWtkaXJfdXNlcl9u YW1lc3BhY2VdLCBbCisrCUFDX01TR19DSEVDS0lORyhbd2hldGhlciBpb3BzLT5ta2RpcigpIHRh a2VzIHN0cnVjdCBtbnRfaWRtYXAqXSkKKysJWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtta2Rpcl9t bnRfaWRtYXBdLCBbCisgCQlBQ19NU0dfUkVTVUxUKHllcykKKy0JCUFDX0RFRklORShIQVZFX0lP UFNfTUtESVJfVVNFUk5TLCAxLAorLQkJICAgIFtpb3BzLT5ta2RpcigpIHRha2VzIHN0cnVjdCB1 c2VyX25hbWVzcGFjZSpdKQorKwkJQUNfREVGSU5FKEhBVkVfSU9QU19NS0RJUl9JRE1BUCwgMSwK KysJCSAgICBbaW9wcy0+bWtkaXIoKSB0YWtlcyBzdHJ1Y3QgbW50X2lkbWFwKl0pCisgCV0sWwor LQkJQUNfTVNHX1JFU1VMVChubykKKy0KKy0JCUFDX01TR19DSEVDS0lORyhbd2hldGhlciBpb3Bz LT5ta2RpcigpIHRha2VzIHVtb2RlX3RdKQorLQkJWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtpbm9k ZV9vcGVyYXRpb25zX21rZGlyXSwgWworKwkJZG5sICMKKysJCWRubCAjIDUuMTIgQVBJIGNoYW5n ZQorKwkJZG5sICMgVGhlIHN0cnVjdCB1c2VyX25hbWVzcGFjZSBhcmcgd2FzIGFkZGVkIGFzIHRo ZSBmaXJzdCBhcmd1bWVudCB0bworKwkJZG5sICMgbWtkaXIoKSBvZiB0aGUgaW9wcyBzdHJ1Y3R1 cmUuCisrCQlkbmwgIworKwkJQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIGlvcHMtPm1rZGlyKCkg dGFrZXMgc3RydWN0IHVzZXJfbmFtZXNwYWNlKl0pCisrCQlaRlNfTElOVVhfVEVTVF9SRVNVTFQo W21rZGlyX3VzZXJfbmFtZXNwYWNlXSwgWworIAkJCUFDX01TR19SRVNVTFQoeWVzKQorLQkJCUFD X0RFRklORShIQVZFX01LRElSX1VNT0RFX1QsIDEsCistCQkJICAgIFtpb3BzLT5ta2RpcigpIHRh a2VzIHVtb2RlX3RdKQorKwkJCUFDX0RFRklORShIQVZFX0lPUFNfTUtESVJfVVNFUk5TLCAxLAor KwkJCSAgICBbaW9wcy0+bWtkaXIoKSB0YWtlcyBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UqXSkKKyAJ CV0sWworLQkJCVpGU19MSU5VWF9URVNUX0VSUk9SKFtta2RpcigpXSkKKysJCQlBQ19NU0dfUkVT VUxUKG5vKQorKworKwkJCUFDX01TR19DSEVDS0lORyhbd2hldGhlciBpb3BzLT5ta2RpcigpIHRh a2VzIHVtb2RlX3RdKQorKwkJCVpGU19MSU5VWF9URVNUX1JFU1VMVChbaW5vZGVfb3BlcmF0aW9u c19ta2Rpcl0sIFsKKysJCQkJQUNfTVNHX1JFU1VMVCh5ZXMpCisrCQkJCUFDX0RFRklORShIQVZF X01LRElSX1VNT0RFX1QsIDEsCisrCQkJCSAgICBbaW9wcy0+bWtkaXIoKSB0YWtlcyB1bW9kZV90 XSkKKysJCQldLFsKKysJCQkJWkZTX0xJTlVYX1RFU1RfRVJST1IoW21rZGlyKCldKQorKwkJCV0p CisgCQldKQorIAldKQorIF0pCitkaWZmIC0tZ2l0IGEvY29uZmlnL2tlcm5lbC1ta25vZC5tNCBi L2NvbmZpZy9rZXJuZWwtbWtub2QubTQKK2luZGV4IGZmZTQ1MTA2MC4uMTQ5NGVjMWFlIDEwMDY0 NAorLS0tIGEvY29uZmlnL2tlcm5lbC1ta25vZC5tNAorKysrIGIvY29uZmlnL2tlcm5lbC1ta25v ZC5tNAorQEAgLTEsNCArMSwyMiBAQAorIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX1NSQ19NS05P RF0sIFsKKysJZG5sICMKKysJZG5sICMgNi4zIEFQSSBjaGFuZ2UKKysJZG5sICMgVGhlIGZpcnN0 IGFyZyBpcyBub3cgc3RydWN0IG1udF9pZG1hcCoKKysJZG5sICMKKysJWkZTX0xJTlVYX1RFU1Rf U1JDKFtta25vZF9tbnRfaWRtYXBdLCBbCisrCQkjaW5jbHVkZSA8bGludXgvZnMuaD4KKysJCSNp bmNsdWRlIDxsaW51eC9zY2hlZC5oPgorKworKwkJaW50IHRtcF9ta25vZChzdHJ1Y3QgbW50X2lk bWFwICppZG1hcCwKKysJCSAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlICxzdHJ1Y3QgZGVudHJ5ICpk ZW50cnksCisrCQkgICAgdW1vZGVfdCB1LCBkZXZfdCBkKSB7IHJldHVybiAwOyB9CisrCisrCQlz dGF0aWMgY29uc3Qgc3RydWN0IGlub2RlX29wZXJhdGlvbnMKKysJCQlpb3BzIF9fYXR0cmlidXRl X18gKCh1bnVzZWQpKSA9IHsKKysJCQkubWtub2QgICAgICAgICAgPSB0bXBfbWtub2QsCisrCQl9 OworKwldLFtdKQorKworIAlkbmwgIworIAlkbmwgIyA1LjEyIEFQSSBjaGFuZ2UgdGhhdCBhZGRl ZCB0aGUgc3RydWN0IHVzZXJfbmFtZXNwYWNlKiBhcmcKKyAJZG5sICMgdG8gdGhlIGZyb250IG9m IHRoaXMgZnVuY3Rpb24gdHlwZSdzIGFyZyBsaXN0LgorQEAgLTE5LDEyICszNywyMCBAQCBBQ19E RUZVTihbWkZTX0FDX0tFUk5FTF9TUkNfTUtOT0RdLCBbCisgXSkKKyAKKyBBQ19ERUZVTihbWkZT X0FDX0tFUk5FTF9NS05PRF0sIFsKKy0JQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIGlvcHMtPm1r bm9kKCkgdGFrZXMgc3RydWN0IHVzZXJfbmFtZXNwYWNlKl0pCistCVpGU19MSU5VWF9URVNUX1JF U1VMVChbbWtub2RfdXNlcm5zXSwgWworKwlBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgaW9wcy0+ bWtub2QoKSB0YWtlcyBzdHJ1Y3QgbW50X2lkbWFwKl0pCisrCVpGU19MSU5VWF9URVNUX1JFU1VM VChbbWtub2RfbW50X2lkbWFwXSwgWworIAkJQUNfTVNHX1JFU1VMVCh5ZXMpCistCQlBQ19ERUZJ TkUoSEFWRV9JT1BTX01LTk9EX1VTRVJOUywgMSwKKy0JCSAgICBbaW9wcy0+bWtub2QoKSB0YWtl cyBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UqXSkKKysJCUFDX0RFRklORShIQVZFX0lPUFNfTUtOT0Rf SURNQVAsIDEsCisrCQkgICAgW2lvcHMtPm1rbm9kKCkgdGFrZXMgc3RydWN0IG1udF9pZG1hcCpd KQorIAldLFsKKyAJCUFDX01TR19SRVNVTFQobm8pCisrCQlBQ19NU0dfQ0hFQ0tJTkcoW3doZXRo ZXIgaW9wcy0+bWtub2QoKSB0YWtlcyBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UqXSkKKysJCVpGU19M SU5VWF9URVNUX1JFU1VMVChbbWtub2RfdXNlcm5zXSwgWworKwkJCUFDX01TR19SRVNVTFQoeWVz KQorKwkJCUFDX0RFRklORShIQVZFX0lPUFNfTUtOT0RfVVNFUk5TLCAxLAorKwkJCSAgICBbaW9w cy0+bWtub2QoKSB0YWtlcyBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UqXSkKKysJCV0sWworKwkJCUFD X01TR19SRVNVTFQobm8pCisrCQldKQorIAldKQorIF0pCitkaWZmIC0tZ2l0IGEvY29uZmlnL2tl cm5lbC1yZW5hbWUubTQgYi9jb25maWcva2VybmVsLXJlbmFtZS5tNAoraW5kZXggMzAyZGI0M2Y1 Li4wNmE5NzkxYmMgMTAwNjQ0CistLS0gYS9jb25maWcva2VybmVsLXJlbmFtZS5tNAorKysrIGIv Y29uZmlnL2tlcm5lbC1yZW5hbWUubTQKK0BAIC0zMywyNCArMzMsNjMgQEAgQUNfREVGVU4oW1pG U19BQ19LRVJORUxfU1JDX1JFTkFNRV0sIFsKKyAJCQkucmVuYW1lID0gcmVuYW1lX2ZuLAorIAkJ fTsKKyAJXSxbXSkKKysKKysJZG5sICMKKysJZG5sICMgNi4zIEFQSSBjaGFuZ2UgLSB0aGUgZmly c3QgYXJnIGlzIG5vdyBzdHJ1Y3QgbW50X2lkbWFwKgorKwlkbmwgIworKwlaRlNfTElOVVhfVEVT VF9TUkMoW2lub2RlX29wZXJhdGlvbnNfcmVuYW1lX21udF9pZG1hcF0sIFsKKysJCSNpbmNsdWRl IDxsaW51eC9mcy5oPgorKwkJaW50IHJlbmFtZV9mbihzdHJ1Y3QgbW50X2lkbWFwICppZG1hcCwg c3RydWN0IGlub2RlICpzaXAsCisrCQkJc3RydWN0IGRlbnRyeSAqc2RwLCBzdHJ1Y3QgaW5vZGUg KnRpcCwgc3RydWN0IGRlbnRyeSAqdGRwLAorKwkJCXVuc2lnbmVkIGludCBmbGFncykgeyByZXR1 cm4gMDsgfQorKworKwkJc3RhdGljIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zCisrCQkg ICAgaW9wcyBfX2F0dHJpYnV0ZV9fICgodW51c2VkKSkgPSB7CisrCQkJLnJlbmFtZSA9IHJlbmFt ZV9mbiwKKysJCX07CisrCV0sW10pCisgXSkKKyAKKyBBQ19ERUZVTihbWkZTX0FDX0tFUk5FTF9S RU5BTUVdLCBbCistCUFDX01TR19DSEVDS0lORyhbd2hldGhlciBpb3BzLT5yZW5hbWUoKSB0YWtl cyBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UqXSkKKy0JWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtpbm9k ZV9vcGVyYXRpb25zX3JlbmFtZV91c2VybnNdLCBbCisrCUFDX01TR19DSEVDS0lORyhbd2hldGhl ciBpb3BzLT5yZW5hbWUoKSB0YWtlcyBzdHJ1Y3QgbW50X2lkbWFwKl0pCisrCVpGU19MSU5VWF9U RVNUX1JFU1VMVChbaW5vZGVfb3BlcmF0aW9uc19yZW5hbWVfbW50X2lkbWFwXSwgWworIAkJQUNf TVNHX1JFU1VMVCh5ZXMpCistCQlBQ19ERUZJTkUoSEFWRV9JT1BTX1JFTkFNRV9VU0VSTlMsIDEs CistCQkgICAgW2lvcHMtPnJlbmFtZSgpIHRha2VzIHN0cnVjdCB1c2VyX25hbWVzcGFjZSpdKQor KwkJQUNfREVGSU5FKEhBVkVfSU9QU19SRU5BTUVfSURNQVAsIDEsCisrCQkgICAgW2lvcHMtPnJl bmFtZSgpIHRha2VzIHN0cnVjdCBtbnRfaWRtYXAqXSkKKyAJXSxbCistCQlBQ19NU0dfUkVTVUxU KG5vKQorLQorLQkJQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIGlvcC0+cmVuYW1lKCkgd2FudHMg ZmxhZ3NdKQorLQkJWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtpbm9kZV9vcGVyYXRpb25zX3JlbmFt ZV9mbGFnc10sIFsKKysJCUFDX01TR19DSEVDS0lORyhbd2hldGhlciBpb3BzLT5yZW5hbWUoKSB0 YWtlcyBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UqXSkKKysJCVpGU19MSU5VWF9URVNUX1JFU1VMVChb aW5vZGVfb3BlcmF0aW9uc19yZW5hbWVfdXNlcm5zXSwgWworIAkJCUFDX01TR19SRVNVTFQoeWVz KQorLQkJCUFDX0RFRklORShIQVZFX1JFTkFNRV9XQU5UU19GTEFHUywgMSwKKy0JCQkJW2lvcHMt PnJlbmFtZSgpIHdhbnRzIGZsYWdzXSkKKysJCQlBQ19ERUZJTkUoSEFWRV9JT1BTX1JFTkFNRV9V U0VSTlMsIDEsCisrCQkJICAgIFtpb3BzLT5yZW5hbWUoKSB0YWtlcyBzdHJ1Y3QgdXNlcl9uYW1l c3BhY2UqXSkKKyAJCV0sWworIAkJCUFDX01TR19SRVNVTFQobm8pCisrCisrCQkJQUNfTVNHX0NI RUNLSU5HKFt3aGV0aGVyIGlvcHMtPnJlbmFtZTIoKSBleGlzdHNdKQorKwkJCVpGU19MSU5VWF9U RVNUX1JFU1VMVChbaW5vZGVfb3BlcmF0aW9uc19yZW5hbWUyXSwgWworKwkJCQlBQ19NU0dfUkVT VUxUKHllcykKKysJCQkJQUNfREVGSU5FKEhBVkVfUkVOQU1FMiwgMSwgW2lvcHMtPnJlbmFtZTIo KSBleGlzdHNdKQorKwkJCV0sWworKwkJCQlBQ19NU0dfUkVTVUxUKG5vKQorKworKwkJCQlBQ19N U0dfQ0hFQ0tJTkcoW3doZXRoZXIgaW9wcy0+cmVuYW1lKCkgd2FudHMgZmxhZ3NdKQorKwkJCQla RlNfTElOVVhfVEVTVF9SRVNVTFQoW2lub2RlX29wZXJhdGlvbnNfcmVuYW1lX2ZsYWdzXSwgWwor KwkJCQkJQUNfTVNHX1JFU1VMVCh5ZXMpCisrCQkJCQlBQ19ERUZJTkUoSEFWRV9SRU5BTUVfV0FO VFNfRkxBR1MsIDEsCisrCQkJCQkJW2lvcHMtPnJlbmFtZSgpIHdhbnRzIGZsYWdzXSkKKysJCQkJ XSxbCisrCQkJCQlBQ19NU0dfUkVTVUxUKG5vKQorKworKwkJCQkJQUNfTVNHX0NIRUNLSU5HKFt3 aGV0aGVyIHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zX3dyYXBwZXIgdGFrZXMgLnJlbmFtZTIoKV0p CisrCQkJCQlaRlNfTElOVVhfVEVTVF9SRVNVTFQoW2Rpcl9pbm9kZV9vcGVyYXRpb25zX3dyYXBw ZXJfcmVuYW1lMl0sIFsKKysJCQkJCQlBQ19NU0dfUkVTVUxUKHllcykKKysJCQkJCQlBQ19ERUZJ TkUoSEFWRV9SRU5BTUUyX09QRVJBVElPTlNfV1JBUFBFUiwgMSwKKysJCQkJCQkJW3N0cnVjdCBp bm9kZV9vcGVyYXRpb25zX3dyYXBwZXIgdGFrZXMgLnJlbmFtZTIoKV0pCisrCQkJCQldLFsKKysJ CQkJCQlBQ19NU0dfUkVTVUxUKG5vKQorKwkJCQkJXSkKKysJCQkJXSkKKysJCQldKQorIAkJXSkK KyAJXSkKKyBdKQorZGlmZiAtLWdpdCBhL2NvbmZpZy9rZXJuZWwtc2V0YXR0ci1wcmVwYXJlLm00 IGIvY29uZmlnL2tlcm5lbC1zZXRhdHRyLXByZXBhcmUubTQKK2luZGV4IDI0MjQ1YWE1My4uZTAy ZDYyNjNlIDEwMDY0NAorLS0tIGEvY29uZmlnL2tlcm5lbC1zZXRhdHRyLXByZXBhcmUubTQKKysr KyBiL2NvbmZpZy9rZXJuZWwtc2V0YXR0ci1wcmVwYXJlLm00CitAQCAtMjcsMjYgKzI3LDQ4IEBA IEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX1NSQ19TRVRBVFRSX1BSRVBBUkVdLCBbCisgCQlpbnQg ZXJyb3IgX19hdHRyaWJ1dGVfXyAoKHVudXNlZCkpID0KKyAJCQlzZXRhdHRyX3ByZXBhcmUodXNl cm5zLCBkZW50cnksIGF0dHIpOworIAldKQorKworKwlkbmwgIworKwlkbmwgIyA2LjMgQVBJIGNo YW5nZQorKwlkbmwgIyBUaGUgZmlyc3QgYXJnIG9mIHNldGF0dHJfcHJlcGFyZSgpIGlzIGNoYW5n ZWQgdG8gc3RydWN0IG1udF9pZG1hcCoKKysJZG5sICMKKysJWkZTX0xJTlVYX1RFU1RfU1JDKFtz ZXRhdHRyX3ByZXBhcmVfbW50X2lkbWFwXSwgWworKwkJI2luY2x1ZGUgPGxpbnV4L2ZzLmg+Cisr CV0sIFsKKysJCXN0cnVjdCBkZW50cnkgKmRlbnRyeSA9IE5VTEw7CisrCQlzdHJ1Y3QgaWF0dHIg KmF0dHIgPSBOVUxMOworKwkJc3RydWN0IG1udF9pZG1hcCAqaWRtYXAgPSBOVUxMOworKwkJaW50 IGVycm9yIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSA9CisrCQkJc2V0YXR0cl9wcmVwYXJlKGlk bWFwLCBkZW50cnksIGF0dHIpOworKwldKQorIF0pCisgCisgQUNfREVGVU4oW1pGU19BQ19LRVJO RUxfU0VUQVRUUl9QUkVQQVJFXSwgWworLQlBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgc2V0YXR0 cl9wcmVwYXJlKCkgaXMgYXZhaWxhYmxlIGFuZCBhY2NlcHRzIHN0cnVjdCB1c2VyX25hbWVzcGFj ZSpdKQorLQlaRlNfTElOVVhfVEVTVF9SRVNVTFRfU1lNQk9MKFtzZXRhdHRyX3ByZXBhcmVfdXNl cm5zXSwKKysJQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHNldGF0dHJfcHJlcGFyZSgpIGlzIGF2 YWlsYWJsZSBhbmQgYWNjZXB0cyBzdHJ1Y3QgbW50X2lkbWFwKl0pCisrCVpGU19MSU5VWF9URVNU X1JFU1VMVF9TWU1CT0woW3NldGF0dHJfcHJlcGFyZV9tbnRfaWRtYXBdLAorIAkgICAgW3NldGF0 dHJfcHJlcGFyZV0sIFtmcy9hdHRyLmNdLCBbCisgCQlBQ19NU0dfUkVTVUxUKHllcykKKy0JCUFD X0RFRklORShIQVZFX1NFVEFUVFJfUFJFUEFSRV9VU0VSTlMsIDEsCistCQkgICAgW3NldGF0dHJf cHJlcGFyZSgpIGFjY2VwdHMgdXNlcl9uYW1lc3BhY2VdKQorKwkJQUNfREVGSU5FKEhBVkVfU0VU QVRUUl9QUkVQQVJFX0lETUFQLCAxLAorKwkJICAgIFtzZXRhdHRyX3ByZXBhcmUoKSBhY2NlcHRz IG1udF9pZG1hcF0pCisgCV0sIFsKKy0JCUFDX01TR19SRVNVTFQobm8pCistCistCQlBQ19NU0df Q0hFQ0tJTkcoW3doZXRoZXIgc2V0YXR0cl9wcmVwYXJlKCkgaXMgYXZhaWxhYmxlLCBkb2Vzbid0 IGFjY2VwdCB1c2VyX25hbWVzcGFjZV0pCistCQlaRlNfTElOVVhfVEVTVF9SRVNVTFRfU1lNQk9M KFtzZXRhdHRyX3ByZXBhcmVdLAorLQkJCVtzZXRhdHRyX3ByZXBhcmVdLCBbZnMvYXR0ci5jXSwg WworKwkJQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHNldGF0dHJfcHJlcGFyZSgpIGlzIGF2YWls YWJsZSBhbmQgYWNjZXB0cyBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UqXSkKKysJCVpGU19MSU5VWF9U RVNUX1JFU1VMVF9TWU1CT0woW3NldGF0dHJfcHJlcGFyZV91c2VybnNdLAorKwkJICAgIFtzZXRh dHRyX3ByZXBhcmVdLCBbZnMvYXR0ci5jXSwgWworIAkJCUFDX01TR19SRVNVTFQoeWVzKQorLQkJ CUFDX0RFRklORShIQVZFX1NFVEFUVFJfUFJFUEFSRV9OT19VU0VSTlMsIDEsCistCQkJCVtzZXRh dHRyX3ByZXBhcmUoKSBpcyBhdmFpbGFibGUsIGRvZXNuJ3QgYWNjZXB0IHVzZXJfbmFtZXNwYWNl XSkKKysJCQlBQ19ERUZJTkUoSEFWRV9TRVRBVFRSX1BSRVBBUkVfVVNFUk5TLCAxLAorKwkJCSAg ICBbc2V0YXR0cl9wcmVwYXJlKCkgYWNjZXB0cyB1c2VyX25hbWVzcGFjZV0pCisgCQldLCBbCisg CQkJQUNfTVNHX1JFU1VMVChubykKKysKKysJCQlBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgc2V0 YXR0cl9wcmVwYXJlKCkgaXMgYXZhaWxhYmxlLCBkb2Vzbid0IGFjY2VwdCB1c2VyX25hbWVzcGFj ZV0pCisrCQkJWkZTX0xJTlVYX1RFU1RfUkVTVUxUX1NZTUJPTChbc2V0YXR0cl9wcmVwYXJlXSwK KysJCQkJW3NldGF0dHJfcHJlcGFyZV0sIFtmcy9hdHRyLmNdLCBbCisrCQkJCUFDX01TR19SRVNV TFQoeWVzKQorKwkJCQlBQ19ERUZJTkUoSEFWRV9TRVRBVFRSX1BSRVBBUkVfTk9fVVNFUk5TLCAx LAorKwkJCQkJW3NldGF0dHJfcHJlcGFyZSgpIGlzIGF2YWlsYWJsZSwgZG9lc24ndCBhY2NlcHQg dXNlcl9uYW1lc3BhY2VdKQorKwkJCV0sIFsKKysJCQkJQUNfTVNHX1JFU1VMVChubykKKysJCQld KQorIAkJXSkKKyAJXSkKKyBdKQorZGlmZiAtLWdpdCBhL2NvbmZpZy9rZXJuZWwtc3ltbGluay5t NCBiL2NvbmZpZy9rZXJuZWwtc3ltbGluay5tNAoraW5kZXggZDkwMzY2ZDA0Li5hMDMzM2VkNjYg MTAwNjQ0CistLS0gYS9jb25maWcva2VybmVsLXN5bWxpbmsubTQKKysrKyBiL2NvbmZpZy9rZXJu ZWwtc3ltbGluay5tNAorQEAgLTEsNCArMSwyMCBAQAorIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVM X1NSQ19TWU1MSU5LXSwgWworKwlkbmwgIworKwlkbmwgIyA2LjMgQVBJIGNoYW5nZSB0aGF0IGNo YW5nZWQgdGhlIGZpcnN0IGFyZworKwlkbmwgIyB0byBzdHJ1Y3QgbW50X2lkbWFwKgorKwlkbmwg IworKwlaRlNfTElOVVhfVEVTVF9TUkMoW3N5bWxpbmtfbW50X2lkbWFwXSwgWworKwkJI2luY2x1 ZGUgPGxpbnV4L2ZzLmg+CisrCQkjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KKysJCWludCB0bXBf c3ltbGluayhzdHJ1Y3QgbW50X2lkbWFwICppZG1hcCwKKysJCSAgICBzdHJ1Y3QgaW5vZGUgKmlu b2RlICxzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisrCQkgICAgY29uc3QgY2hhciAqcGF0aCkgeyBy ZXR1cm4gMDsgfQorKworKwkJc3RhdGljIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zCisr CQkJaW9wcyBfX2F0dHJpYnV0ZV9fICgodW51c2VkKSkgPSB7CisrCQkJLnN5bWxpbmsgICAgICAg ICAgICAgICAgPSB0bXBfc3ltbGluaywKKysJCX07CisrCV0sW10pCisgCWRubCAjCisgCWRubCAj IDUuMTIgQVBJIGNoYW5nZSB0aGF0IGFkZGVkIHRoZSBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UqIGFy ZworIAlkbmwgIyB0byB0aGUgZnJvbnQgb2YgdGhpcyBmdW5jdGlvbiB0eXBlJ3MgYXJnIGxpc3Qu CitAQCAtMTksMTIgKzM1LDE5IEBAIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX1NSQ19TWU1MSU5L XSwgWworIF0pCisgCisgQUNfREVGVU4oW1pGU19BQ19LRVJORUxfU1lNTElOS10sIFsKKy0JQUNf TVNHX0NIRUNLSU5HKFt3aGV0aGVyIGlvcHMtPnN5bWxpbmsoKSB0YWtlcyBzdHJ1Y3QgdXNlcl9u YW1lc3BhY2UqXSkKKy0JWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFtzeW1saW5rX3VzZXJuc10sIFsK KysJQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIGlvcHMtPnN5bWxpbmsoKSB0YWtlcyBzdHJ1Y3Qg bW50X2lkbWFwKl0pCisrCVpGU19MSU5VWF9URVNUX1JFU1VMVChbc3ltbGlua19tbnRfaWRtYXBd LCBbCisgCQlBQ19NU0dfUkVTVUxUKHllcykKKy0JCUFDX0RFRklORShIQVZFX0lPUFNfU1lNTElO S19VU0VSTlMsIDEsCistCQkgICAgW2lvcHMtPnN5bWxpbmsoKSB0YWtlcyBzdHJ1Y3QgdXNlcl9u YW1lc3BhY2UqXSkKKysJCUFDX0RFRklORShIQVZFX0lPUFNfU1lNTElOS19JRE1BUCwgMSwKKysJ CSAgICBbaW9wcy0+c3ltbGluaygpIHRha2VzIHN0cnVjdCBtbnRfaWRtYXAqXSkKKyAJXSxbCist CQlBQ19NU0dfUkVTVUxUKG5vKQorKwkJQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIGlvcHMtPnN5 bWxpbmsoKSB0YWtlcyBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UqXSkKKysJCVpGU19MSU5VWF9URVNU X1JFU1VMVChbc3ltbGlua191c2VybnNdLCBbCisrCQkJQUNfTVNHX1JFU1VMVCh5ZXMpCisrCQkJ QUNfREVGSU5FKEhBVkVfSU9QU19TWU1MSU5LX1VTRVJOUywgMSwKKysJCQkgICAgW2lvcHMtPnN5 bWxpbmsoKSB0YWtlcyBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UqXSkKKysJCV0sWworKwkJCUFDX01T R19SRVNVTFQobm8pCisrCQldKQorIAldKQorIF0pCitkaWZmIC0tZ2l0IGEvY29uZmlnL2tlcm5l bC10bXBmaWxlLm00IGIvY29uZmlnL2tlcm5lbC10bXBmaWxlLm00CitpbmRleCAwZTFkZWIzNjEu LmY0YzAxMDU4YyAxMDA2NDQKKy0tLSBhL2NvbmZpZy9rZXJuZWwtdG1wZmlsZS5tNAorKysrIGIv Y29uZmlnL2tlcm5lbC10bXBmaWxlLm00CitAQCAtNCw2ICs0LDE5IEBAIGRubCAjIEFkZCBzdXBw b3J0IGZvciBpX29wLT50bXBmaWxlCisgZG5sICMKKyBBQ19ERUZVTihbWkZTX0FDX0tFUk5FTF9T UkNfVE1QRklMRV0sIFsKKyAJZG5sICMKKysJZG5sICMgNi4zIEFQSSBjaGFuZ2UKKysJZG5sICMg VGhlIGZpcnN0IGFyZyBpcyBub3cgc3RydWN0IG1udF9pZG1hcCAqCisrCWRubCAjCisrCVpGU19M SU5VWF9URVNUX1NSQyhbaW5vZGVfb3BlcmF0aW9uc190bXBmaWxlX21udF9pZG1hcF0sIFsKKysJ CSNpbmNsdWRlIDxsaW51eC9mcy5oPgorKwkJaW50IHRtcGZpbGUoc3RydWN0IG1udF9pZG1hcCAq aWRtYXAsCisrCQkgICAgc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsCisr CQkgICAgdW1vZGVfdCBtb2RlKSB7IHJldHVybiAwOyB9CisrCQlzdGF0aWMgc3RydWN0IGlub2Rl X29wZXJhdGlvbnMKKysJCSAgICBpb3BzIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSA9IHsKKysJ CQkudG1wZmlsZSA9IHRtcGZpbGUsCisrCQl9OworKwldLFtdKQorIAlkbmwgIyA2LjEgQVBJIGNo YW5nZQorIAlkbmwgIyB1c2Ugc3RydWN0IGZpbGUgaW5zdGVhZCBvZiBzdHJ1Y3QgZGVudHJ5Cisg CWRubCAjCitAQCAtNDQsMjMgKzU3LDI5IEBAIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX1NSQ19U TVBGSUxFXSwgWworIAorIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX1RNUEZJTEVdLCBbCisgCUFD X01TR19DSEVDS0lORyhbd2hldGhlciBpX29wLT50bXBmaWxlKCkgZXhpc3RzXSkKKy0JWkZTX0xJ TlVYX1RFU1RfUkVTVUxUKFtpbm9kZV9vcGVyYXRpb25zX3RtcGZpbGVdLCBbCisrCVpGU19MSU5V WF9URVNUX1JFU1VMVChbaW5vZGVfb3BlcmF0aW9uc190bXBmaWxlX21udF9pZG1hcF0sIFsKKyAJ CUFDX01TR19SRVNVTFQoeWVzKQorIAkJQUNfREVGSU5FKEhBVkVfVE1QRklMRSwgMSwgW2lfb3At PnRtcGZpbGUoKSBleGlzdHNdKQorLQkJQUNfREVGSU5FKEhBVkVfVE1QRklMRV9VU0VSTlMsIDEs IFtpX29wLT50bXBmaWxlKCkgaGFzIHVzZXJuc10pCistCV0sWworLQkJWkZTX0xJTlVYX1RFU1Rf UkVTVUxUKFtpbm9kZV9vcGVyYXRpb25zX3RtcGZpbGVfZGVudHJ5X3VzZXJuc10sIFsKKysJCUFD X0RFRklORShIQVZFX1RNUEZJTEVfSURNQVAsIDEsIFtpX29wLT50bXBmaWxlKCkgaGFzIG1udF9p ZG1hcF0pCisrCV0sIFsKKysJCVpGU19MSU5VWF9URVNUX1JFU1VMVChbaW5vZGVfb3BlcmF0aW9u c190bXBmaWxlXSwgWworIAkJCUFDX01TR19SRVNVTFQoeWVzKQorIAkJCUFDX0RFRklORShIQVZF X1RNUEZJTEUsIDEsIFtpX29wLT50bXBmaWxlKCkgZXhpc3RzXSkKKyAJCQlBQ19ERUZJTkUoSEFW RV9UTVBGSUxFX1VTRVJOUywgMSwgW2lfb3AtPnRtcGZpbGUoKSBoYXMgdXNlcm5zXSkKKy0JCQlB Q19ERUZJTkUoSEFWRV9UTVBGSUxFX0RFTlRSWSwgMSwgW2lfb3AtPnRtcGZpbGUoKSB1c2VzIG9s ZCBkZW50cnkgc2lnbmF0dXJlXSkKKyAJCV0sWworLQkJCVpGU19MSU5VWF9URVNUX1JFU1VMVChb aW5vZGVfb3BlcmF0aW9uc190bXBmaWxlX2RlbnRyeV0sIFsKKysJCQlaRlNfTElOVVhfVEVTVF9S RVNVTFQoW2lub2RlX29wZXJhdGlvbnNfdG1wZmlsZV9kZW50cnlfdXNlcm5zXSwgWworIAkJCQlB Q19NU0dfUkVTVUxUKHllcykKKyAJCQkJQUNfREVGSU5FKEhBVkVfVE1QRklMRSwgMSwgW2lfb3At PnRtcGZpbGUoKSBleGlzdHNdKQorKwkJCQlBQ19ERUZJTkUoSEFWRV9UTVBGSUxFX1VTRVJOUywg MSwgW2lfb3AtPnRtcGZpbGUoKSBoYXMgdXNlcm5zXSkKKyAJCQkJQUNfREVGSU5FKEhBVkVfVE1Q RklMRV9ERU5UUlksIDEsIFtpX29wLT50bXBmaWxlKCkgdXNlcyBvbGQgZGVudHJ5IHNpZ25hdHVy ZV0pCisgCQkJXSxbCistCQkJCVpGU19MSU5VWF9SRVFVSVJFX0FQSShbaV9vcC0+dG1wZmlsZSgp XSwgWzMuMTFdKQorKwkJCQlaRlNfTElOVVhfVEVTVF9SRVNVTFQoW2lub2RlX29wZXJhdGlvbnNf dG1wZmlsZV9kZW50cnldLCBbCisrCQkJCQlBQ19NU0dfUkVTVUxUKHllcykKKysJCQkJCUFDX0RF RklORShIQVZFX1RNUEZJTEUsIDEsIFtpX29wLT50bXBmaWxlKCkgZXhpc3RzXSkKKysJCQkJCUFD X0RFRklORShIQVZFX1RNUEZJTEVfREVOVFJZLCAxLCBbaV9vcC0+dG1wZmlsZSgpIHVzZXMgb2xk IGRlbnRyeSBzaWduYXR1cmVdKQorKwkJCQldLFsKKysJCQkJCVpGU19MSU5VWF9SRVFVSVJFX0FQ SShbaV9vcC0+dG1wZmlsZSgpXSwgWzMuMTFdKQorKwkJCQldKQorIAkJCV0pCisgCQldKQorIAld KQorZGlmZiAtLWdpdCBhL2NvbmZpZy9rZXJuZWwteGF0dHItaGFuZGxlci5tNCBiL2NvbmZpZy9r ZXJuZWwteGF0dHItaGFuZGxlci5tNAoraW5kZXggYjZjYmZhMTU1Li42YjhhMDhkYmMgMTAwNjQ0 CistLS0gYS9jb25maWcva2VybmVsLXhhdHRyLWhhbmRsZXIubTQKKysrKyBiL2NvbmZpZy9rZXJu ZWwteGF0dHItaGFuZGxlci5tNAorQEAgLTE3OSw2ICsxNzksMjEgQEAgZG5sICMKKyBkbmwgIyBT dXBwb3J0ZWQgeGF0dHIgaGFuZGxlciBzZXQoKSBpbnRlcmZhY2VzIGNoZWNrZWQgbmV3ZXN0IHRv IG9sZGVzdC4KKyBkbmwgIworIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX1NSQ19YQVRUUl9IQU5E TEVSX1NFVF0sIFsKKysJWkZTX0xJTlVYX1RFU1RfU1JDKFt4YXR0cl9oYW5kbGVyX3NldF9tbnRf aWRtYXBdLCBbCisrCQkjaW5jbHVkZSA8bGludXgveGF0dHIuaD4KKysKKysJCWludCBzZXQoY29u c3Qgc3RydWN0IHhhdHRyX2hhbmRsZXIgKmhhbmRsZXIsCisrCQkJc3RydWN0IG1udF9pZG1hcCAq aWRtYXAsCisrCQkJc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmlub2RlLAor KwkJCWNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHZvaWQgKmJ1ZmZlciwKKysJCQlzaXplX3Qgc2l6 ZSwgaW50IGZsYWdzKQorKwkJCXsgcmV0dXJuIDA7IH0KKysJCXN0YXRpYyBjb25zdCBzdHJ1Y3Qg eGF0dHJfaGFuZGxlcgorKwkJCXhvcHMgX19hdHRyaWJ1dGVfXyAoKHVudXNlZCkpID0geworKwkJ CS5zZXQgPSBzZXQsCisrCQl9OworKwldLFtdKQorKworIAlaRlNfTElOVVhfVEVTVF9TUkMoW3hh dHRyX2hhbmRsZXJfc2V0X3VzZXJuc10sIFsKKyAJCSNpbmNsdWRlIDxsaW51eC94YXR0ci5oPgor IAorQEAgLTI0MCw1MyArMjU1LDYzIEBAIEFDX0RFRlVOKFtaRlNfQUNfS0VSTkVMX1hBVFRSX0hB TkRMRVJfU0VUXSwgWworIAlkbmwgIyBUaGUgeGF0dHJfaGFuZGxlci0+c2V0KCkgY2FsbGJhY2sg d2FzIGNoYW5nZWQgdG8gOCBhcmd1bWVudHMsIGFuZAorIAlkbmwgIyBzdHJ1Y3QgdXNlcl9uYW1l c3BhY2UqIHdhcyBpbnNlcnRlZCBhcyBhcmcgIzIKKyAJZG5sICMKKy0JQUNfTVNHX0NIRUNLSU5H KFt3aGV0aGVyIHhhdHRyX2hhbmRsZXItPnNldCgpIHdhbnRzIGRlbnRyeSwgaW5vZGUsIGFuZCB1 c2VyX25hbWVzcGFjZV0pCistCVpGU19MSU5VWF9URVNUX1JFU1VMVChbeGF0dHJfaGFuZGxlcl9z ZXRfdXNlcm5zXSwgWworKwlkbmwgIyA2LjMgQVBJIGNoYW5nZSwKKysJZG5sICMgVGhlIHhhdHRy X2hhbmRsZXItPnNldCgpIGNhbGxiYWNrIDJuZCBhcmcgaXMgbm93IHN0cnVjdCBtbnRfaWRtYXAg KgorKwlkbmwgIworKwlBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgeGF0dHJfaGFuZGxlci0+c2V0 KCkgd2FudHMgZGVudHJ5LCBpbm9kZSwgYW5kIG1udF9pZG1hcF0pCisrCVpGU19MSU5VWF9URVNU X1JFU1VMVChbeGF0dHJfaGFuZGxlcl9zZXRfbW50X2lkbWFwXSwgWworIAkJQUNfTVNHX1JFU1VM VCh5ZXMpCistCQlBQ19ERUZJTkUoSEFWRV9YQVRUUl9TRVRfVVNFUk5TLCAxLAorLQkJICAgIFt4 YXR0cl9oYW5kbGVyLT5zZXQoKSB0YWtlcyB1c2VyX25hbWVzcGFjZV0pCistCV0sWworLQkJZG5s ICMKKy0JCWRubCAjIDQuNyBBUEkgY2hhbmdlLAorLQkJZG5sICMgVGhlIHhhdHRyX2hhbmRsZXIt PnNldCgpIGNhbGxiYWNrIHdhcyBjaGFuZ2VkIHRvIHRha2UgYm90aAorLQkJZG5sICMgZGVudHJ5 IGFuZCBpbm9kZS4KKy0JCWRubCAjCistCQlBQ19NU0dfUkVTVUxUKG5vKQorLQkJQUNfTVNHX0NI RUNLSU5HKFt3aGV0aGVyIHhhdHRyX2hhbmRsZXItPnNldCgpIHdhbnRzIGRlbnRyeSBhbmQgaW5v ZGVdKQorLQkJWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFt4YXR0cl9oYW5kbGVyX3NldF9kZW50cnlf aW5vZGVdLCBbCisrCQlBQ19ERUZJTkUoSEFWRV9YQVRUUl9TRVRfSURNQVAsIDEsCisrCQkgICAg W3hhdHRyX2hhbmRsZXItPnNldCgpIHRha2VzIG1udF9pZG1hcF0pCisrCV0sIFsKKysJCUFDX01T R19DSEVDS0lORyhbd2hldGhlciB4YXR0cl9oYW5kbGVyLT5zZXQoKSB3YW50cyBkZW50cnksIGlu b2RlLCBhbmQgdXNlcl9uYW1lc3BhY2VdKQorKwkJWkZTX0xJTlVYX1RFU1RfUkVTVUxUKFt4YXR0 cl9oYW5kbGVyX3NldF91c2VybnNdLCBbCisgCQkJQUNfTVNHX1JFU1VMVCh5ZXMpCistCQkJQUNf REVGSU5FKEhBVkVfWEFUVFJfU0VUX0RFTlRSWV9JTk9ERSwgMSwKKy0JCQkgICAgW3hhdHRyX2hh bmRsZXItPnNldCgpIHdhbnRzIGJvdGggZGVudHJ5IGFuZCBpbm9kZV0pCisrCQkJQUNfREVGSU5F KEhBVkVfWEFUVFJfU0VUX1VTRVJOUywgMSwKKysJCQkgICAgW3hhdHRyX2hhbmRsZXItPnNldCgp IHRha2VzIHVzZXJfbmFtZXNwYWNlXSkKKyAJCV0sWworIAkJCWRubCAjCistCQkJZG5sICMgNC40 IEFQSSBjaGFuZ2UsCistCQkJZG5sICMgVGhlIHhhdHRyX2hhbmRsZXItPnNldCgpIGNhbGxiYWNr IHdhcyBjaGFuZ2VkIHRvIHRha2UgYQorLQkJCWRubCAjIHhhdHRyX2hhbmRsZXIsIGFuZCBoYW5k bGVyX2ZsYWdzIGFyZ3VtZW50IHdhcyByZW1vdmVkIGFuZAorLQkJCWRubCAjIHNob3VsZCBiZSBh Y2Nlc3NlZCBieSBoYW5kbGVyLT5mbGFncy4KKysJCQlkbmwgIyA0LjcgQVBJIGNoYW5nZSwKKysJ CQlkbmwgIyBUaGUgeGF0dHJfaGFuZGxlci0+c2V0KCkgY2FsbGJhY2sgd2FzIGNoYW5nZWQgdG8g dGFrZSBib3RoCisrCQkJZG5sICMgZGVudHJ5IGFuZCBpbm9kZS4KKyAJCQlkbmwgIworIAkJCUFD X01TR19SRVNVTFQobm8pCistCQkJQUNfTVNHX0NIRUNLSU5HKAorLQkJCSAgICBbd2hldGhlciB4 YXR0cl9oYW5kbGVyLT5zZXQoKSB3YW50cyB4YXR0cl9oYW5kbGVyXSkKKy0JCQlaRlNfTElOVVhf VEVTVF9SRVNVTFQoW3hhdHRyX2hhbmRsZXJfc2V0X3hhdHRyX2hhbmRsZXJdLCBbCisrCQkJQUNf TVNHX0NIRUNLSU5HKFt3aGV0aGVyIHhhdHRyX2hhbmRsZXItPnNldCgpIHdhbnRzIGRlbnRyeSBh bmQgaW5vZGVdKQorKwkJCVpGU19MSU5VWF9URVNUX1JFU1VMVChbeGF0dHJfaGFuZGxlcl9zZXRf ZGVudHJ5X2lub2RlXSwgWworIAkJCQlBQ19NU0dfUkVTVUxUKHllcykKKy0JCQkJQUNfREVGSU5F KEhBVkVfWEFUVFJfU0VUX0hBTkRMRVIsIDEsCistCQkJCSAgICBbeGF0dHJfaGFuZGxlci0+c2V0 KCkgd2FudHMgeGF0dHJfaGFuZGxlcl0pCisrCQkJCUFDX0RFRklORShIQVZFX1hBVFRSX1NFVF9E RU5UUllfSU5PREUsIDEsCisrCQkJCSAgICBbeGF0dHJfaGFuZGxlci0+c2V0KCkgd2FudHMgYm90 aCBkZW50cnkgYW5kIGlub2RlXSkKKyAJCQldLFsKKyAJCQkJZG5sICMKKy0JCQkJZG5sICMgMi42 LjMzIEFQSSBjaGFuZ2UsCistCQkJCWRubCAjIFRoZSB4YXR0cl9oYW5kbGVyLT5zZXQoKSBjYWxs YmFjayB3YXMgY2hhbmdlZAorLQkJCQlkbmwgIyB0byB0YWtlIGEgZGVudHJ5IGluc3RlYWQgb2Yg YW4gaW5vZGUsIGFuZCBhCistCQkJCWRubCAjIGhhbmRsZXJfZmxhZ3MgYXJndW1lbnQgd2FzIGFk ZGVkLgorKwkJCQlkbmwgIyA0LjQgQVBJIGNoYW5nZSwKKysJCQkJZG5sICMgVGhlIHhhdHRyX2hh bmRsZXItPnNldCgpIGNhbGxiYWNrIHdhcyBjaGFuZ2VkIHRvIHRha2UgYQorKwkJCQlkbmwgIyB4 YXR0cl9oYW5kbGVyLCBhbmQgaGFuZGxlcl9mbGFncyBhcmd1bWVudCB3YXMgcmVtb3ZlZCBhbmQK KysJCQkJZG5sICMgc2hvdWxkIGJlIGFjY2Vzc2VkIGJ5IGhhbmRsZXItPmZsYWdzLgorIAkJCQlk bmwgIworIAkJCQlBQ19NU0dfUkVTVUxUKG5vKQorIAkJCQlBQ19NU0dfQ0hFQ0tJTkcoCistCQkJ CSAgICBbd2hldGhlciB4YXR0cl9oYW5kbGVyLT5zZXQoKSB3YW50cyBkZW50cnldKQorLQkJCQla RlNfTElOVVhfVEVTVF9SRVNVTFQoW3hhdHRyX2hhbmRsZXJfc2V0X2RlbnRyeV0sIFsKKysJCQkJ ICAgIFt3aGV0aGVyIHhhdHRyX2hhbmRsZXItPnNldCgpIHdhbnRzIHhhdHRyX2hhbmRsZXJdKQor KwkJCQlaRlNfTElOVVhfVEVTVF9SRVNVTFQoW3hhdHRyX2hhbmRsZXJfc2V0X3hhdHRyX2hhbmRs ZXJdLCBbCisgCQkJCQlBQ19NU0dfUkVTVUxUKHllcykKKy0JCQkJCUFDX0RFRklORShIQVZFX1hB VFRSX1NFVF9ERU5UUlksIDEsCistCQkJCQkgICAgW3hhdHRyX2hhbmRsZXItPnNldCgpIHdhbnRz IGRlbnRyeV0pCisrCQkJCQlBQ19ERUZJTkUoSEFWRV9YQVRUUl9TRVRfSEFORExFUiwgMSwKKysJ CQkJCSAgICBbeGF0dHJfaGFuZGxlci0+c2V0KCkgd2FudHMgeGF0dHJfaGFuZGxlcl0pCisgCQkJ CV0sWworLQkJCQkJWkZTX0xJTlVYX1RFU1RfRVJST1IoW3hhdHRyIHNldCgpXSkKKysJCQkJCWRu bCAjCisrCQkJCQlkbmwgIyAyLjYuMzMgQVBJIGNoYW5nZSwKKysJCQkJCWRubCAjIFRoZSB4YXR0 cl9oYW5kbGVyLT5zZXQoKSBjYWxsYmFjayB3YXMgY2hhbmdlZAorKwkJCQkJZG5sICMgdG8gdGFr ZSBhIGRlbnRyeSBpbnN0ZWFkIG9mIGFuIGlub2RlLCBhbmQgYQorKwkJCQkJZG5sICMgaGFuZGxl cl9mbGFncyBhcmd1bWVudCB3YXMgYWRkZWQuCisrCQkJCQlkbmwgIworKwkJCQkJQUNfTVNHX1JF U1VMVChubykKKysJCQkJCUFDX01TR19DSEVDS0lORygKKysJCQkJCSAgICBbd2hldGhlciB4YXR0 cl9oYW5kbGVyLT5zZXQoKSB3YW50cyBkZW50cnldKQorKwkJCQkJWkZTX0xJTlVYX1RFU1RfUkVT VUxUKFt4YXR0cl9oYW5kbGVyX3NldF9kZW50cnldLCBbCisrCQkJCQkJQUNfTVNHX1JFU1VMVCh5 ZXMpCisrCQkJCQkJQUNfREVGSU5FKEhBVkVfWEFUVFJfU0VUX0RFTlRSWSwgMSwKKysJCQkJCQkg ICAgW3hhdHRyX2hhbmRsZXItPnNldCgpIHdhbnRzIGRlbnRyeV0pCisrCQkJCQldLFsKKysJCQkJ CQlaRlNfTElOVVhfVEVTVF9FUlJPUihbeGF0dHIgc2V0KCldKQorKwkJCQkJXSkKKyAJCQkJXSkK KyAJCQldKQorIAkJXSkKK2RpZmYgLS1naXQgYS9jb25maWcva2VybmVsLm00IGIvY29uZmlnL2tl cm5lbC5tNAoraW5kZXggZjY3NDNhY2FjLi5hMDg3OGIxNzUgMTAwNjQ0CistLS0gYS9jb25maWcv a2VybmVsLm00CisrKysgYi9jb25maWcva2VybmVsLm00CitAQCAtMTMwLDcgKzEzMCw3IEBAIEFD X0RFRlVOKFtaRlNfQUNfS0VSTkVMX1RFU1RfU1JDXSwgWworIAlaRlNfQUNfS0VSTkVMX1NSQ19L U1RSVE9VTAorIAlaRlNfQUNfS0VSTkVMX1NSQ19QRVJDUFUKKyAJWkZTX0FDX0tFUk5FTF9TUkNf Q1BVX0hPVFBMVUcKKy0JWkZTX0FDX0tFUk5FTF9TUkNfR0VORVJJQ19GSUxMQVRUUl9VU0VSTlMK KysJWkZTX0FDX0tFUk5FTF9TUkNfR0VORVJJQ19GSUxMQVRUUgorIAlaRlNfQUNfS0VSTkVMX1NS Q19NS05PRAorIAlaRlNfQUNfS0VSTkVMX1NSQ19TWU1MSU5LCisgCVpGU19BQ19LRVJORUxfU1JD X0JJT19NQVhfU0VHUworQEAgLTI0OCw3ICsyNDgsNyBAQCBBQ19ERUZVTihbWkZTX0FDX0tFUk5F TF9URVNUX1JFU1VMVF0sIFsKKyAJWkZTX0FDX0tFUk5FTF9LU1RSVE9VTAorIAlaRlNfQUNfS0VS TkVMX1BFUkNQVQorIAlaRlNfQUNfS0VSTkVMX0NQVV9IT1RQTFVHCistCVpGU19BQ19LRVJORUxf R0VORVJJQ19GSUxMQVRUUl9VU0VSTlMKKysJWkZTX0FDX0tFUk5FTF9HRU5FUklDX0ZJTExBVFRS CisgCVpGU19BQ19LRVJORUxfTUtOT0QKKyAJWkZTX0FDX0tFUk5FTF9TWU1MSU5LCisgCVpGU19B Q19LRVJORUxfQklPX01BWF9TRUdTCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9vcy9mcmVlYnNkL3Nw bC9zeXMvdHlwZXMuaCBiL2luY2x1ZGUvb3MvZnJlZWJzZC9zcGwvc3lzL3R5cGVzLmgKK2luZGV4 IGVjYjkxZmQxYi4uYmVmMDA2NjczIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9vcy9mcmVlYnNkL3Nw bC9zeXMvdHlwZXMuaAorKysrIGIvaW5jbHVkZS9vcy9mcmVlYnNkL3NwbC9zeXMvdHlwZXMuaAor QEAgLTEwNCw1ICsxMDQsNyBAQCB0eXBlZGVmCXVfbG9uZ2xvbmdfdAlsZW5fdDsKKyAKKyB0eXBl ZGVmCWxvbmdsb25nX3QJZGlza2FkZHJfdDsKKyAKKyt0eXBlZGVmIHZvaWQJemlkbWFwX3Q7Cisr CisgI2luY2x1ZGUgPHN5cy9kZWJ1Zy5oPgorICNlbmRpZgkvKiAhX09QRU5TT0xBUklTX1NZU19U WVBFU19IXyAqLworZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3MvbGludXgva2VybmVsL2xpbnV4L3Zm c19jb21wYXQuaCBiL2luY2x1ZGUvb3MvbGludXgva2VybmVsL2xpbnV4L3Zmc19jb21wYXQuaAor aW5kZXggOTFlOTA4NTk4Li5lODJiYmY3NTUgMTAwNjQ0CistLS0gYS9pbmNsdWRlL29zL2xpbnV4 L2tlcm5lbC9saW51eC92ZnNfY29tcGF0LmgKKysrKyBiL2luY2x1ZGUvb3MvbGludXgva2VybmVs L2xpbnV4L3Zmc19jb21wYXQuaAorQEAgLTM0NCw3ICszNDQsOCBAQCBzdGF0aWMgaW5saW5lIHZv aWQgemZzX2dpZF93cml0ZShzdHJ1Y3QgaW5vZGUgKmlwLCBnaWRfdCBnaWQpCisgICogNC45IEFQ SSBjaGFuZ2UKKyAgKi8KKyAjaWYgIShkZWZpbmVkKEhBVkVfU0VUQVRUUl9QUkVQQVJFX05PX1VT RVJOUykgfHwgXAorLSAgICBkZWZpbmVkKEhBVkVfU0VUQVRUUl9QUkVQQVJFX1VTRVJOUykpCisr ICAgIGRlZmluZWQoSEFWRV9TRVRBVFRSX1BSRVBBUkVfVVNFUk5TKSB8fCBcCisrICAgIGRlZmlu ZWQoSEFWRV9TRVRBVFRSX1BSRVBBUkVfSURNQVApKQorIHN0YXRpYyBpbmxpbmUgaW50Cisgc2V0 YXR0cl9wcmVwYXJlKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0IGlhdHRyICppYSkKKyB7 CitAQCAtMzk5LDYgKzQwMCwxNSBAQCBmdW5jKHN0cnVjdCB1c2VyX25hbWVzcGFjZSAqdXNlcl9u cywgY29uc3Qgc3RydWN0IHBhdGggKnBhdGgsCVwKKyAJcmV0dXJuIChmdW5jIyNfaW1wbCh1c2Vy X25zLCBwYXRoLCBzdGF0LCByZXF1ZXN0X21hc2ssIFwKKyAJICAgIHF1ZXJ5X2ZsYWdzKSk7CVwK KyB9CisrI2VsaWYgZGVmaW5lZChIQVZFX0lETUFQX0lPUFNfR0VUQVRUUikKKysjZGVmaW5lCVpQ TF9HRVRBVFRSX1dSQVBQRVIoZnVuYykJCQkJCVwKKytzdGF0aWMgaW50CQkJCQkJCQlcCisrZnVu YyhzdHJ1Y3QgbW50X2lkbWFwICp1c2VyX25zLCBjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwJXAor KyAgICBzdHJ1Y3Qga3N0YXQgKnN0YXQsIHUzMiByZXF1ZXN0X21hc2ssIHVuc2lnbmVkIGludCBx dWVyeV9mbGFncykJXAorK3sJCQkJCQkJCQlcCisrCXJldHVybiAoZnVuYyMjX2ltcGwodXNlcl9u cywgcGF0aCwgc3RhdCwgcmVxdWVzdF9tYXNrLAlcCisrCSAgICBxdWVyeV9mbGFncykpOwlcCisr fQorICNlbHNlCisgI2Vycm9yCisgI2VuZGlmCitAQCAtNDUwLDggKzQ2MCwxNSBAQCB6cGxfaXNf MzJiaXRfYXBpKHZvaWQpCisgICogNS4xMiBBUEkgY2hhbmdlCisgICogVG8gc3VwcG9ydCBpZC1t YXBwZWQgbW91bnRzLCBnZW5lcmljX2ZpbGxhdHRyKCkgd2FzIG1vZGlmaWVkIHRvCisgICogYWNj ZXB0IGEgbmV3IHN0cnVjdCB1c2VyX25hbWVzcGFjZSogYXMgaXRzIGZpcnN0IGFyZy4KKysgKgor KyAqIDYuMyBBUEkgY2hhbmdlCisrICogZ2VuZXJpY19maWxsYXR0cigpIGZpcnN0IGFyZyBpcyBj aGFuZ2VkIHRvIHN0cnVjdCBtbnRfaWRtYXAgKgorKyAqCisgICovCistI2lmZGVmIEhBVkVfR0VO RVJJQ19GSUxMQVRUUl9VU0VSTlMKKysjaWZkZWYgSEFWRV9HRU5FUklDX0ZJTExBVFRSX0lETUFQ CisrI2RlZmluZQl6cGxfZ2VuZXJpY19maWxsYXR0cihpZG1hcCwgaXAsIHNwKQlcCisrICAgIGdl bmVyaWNfZmlsbGF0dHIoaWRtYXAsIGlwLCBzcCkKKysjZWxpZiBkZWZpbmVkKEhBVkVfR0VORVJJ Q19GSUxMQVRUUl9VU0VSTlMpCisgI2RlZmluZQl6cGxfZ2VuZXJpY19maWxsYXR0cih1c2VyX25z LCBpcCwgc3ApCVwKKyAgICAgZ2VuZXJpY19maWxsYXR0cih1c2VyX25zLCBpcCwgc3ApCisgI2Vs c2UKK2RpZmYgLS1naXQgYS9pbmNsdWRlL29zL2xpbnV4L2tlcm5lbC9saW51eC94YXR0cl9jb21w YXQuaCBiL2luY2x1ZGUvb3MvbGludXgva2VybmVsL2xpbnV4L3hhdHRyX2NvbXBhdC5oCitpbmRl eCAzMDQwM2ZlODcuLmM0MGYzMTBkNyAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvb3MvbGludXgva2Vy bmVsL2xpbnV4L3hhdHRyX2NvbXBhdC5oCisrKysgYi9pbmNsdWRlL29zL2xpbnV4L2tlcm5lbC9s aW51eC94YXR0cl9jb21wYXQuaAorQEAgLTEzMywxMyArMTMzLDI4IEBAIGZuKGNvbnN0IHN0cnVj dCB4YXR0cl9oYW5kbGVyICpoYW5kbGVyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCQlcCisgI2Vy cm9yICJVbnN1cHBvcnRlZCBrZXJuZWwiCisgI2VuZGlmCisgCisrLyoKKysgKiA2LjMgQVBJIGNo YW5nZSwKKysgKiBUaGUgeGF0dHJfaGFuZGxlci0+c2V0KCkgY2FsbGJhY2sgd2FzIGNoYW5nZWQg dG8gdGFrZSB0aGUKKysgKiBzdHJ1Y3QgbW50X2lkbWFwKiBhcyB0aGUgZmlyc3QgYXJnLCB0byBz dXBwb3J0IGlkbWFwcGVkCisrICogbW91bnRzLgorKyAqLworKyNpZiBkZWZpbmVkKEhBVkVfWEFU VFJfU0VUX0lETUFQKQorKyNkZWZpbmUJWlBMX1hBVFRSX1NFVF9XUkFQUEVSKGZuKQkJCQkJXAor K3N0YXRpYyBpbnQJCQkJCQkJCVwKKytmbihjb25zdCBzdHJ1Y3QgeGF0dHJfaGFuZGxlciAqaGFu ZGxlciwgc3RydWN0IG1udF9pZG1hcCAqdXNlcl9ucywJXAorKyAgICBzdHJ1Y3QgZGVudHJ5ICpk ZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsCVwKKysgICAgY29u c3Qgdm9pZCAqYnVmZmVyLCBzaXplX3Qgc2l6ZSwgaW50IGZsYWdzKQlcCisrewkJCQkJCQkJCVwK KysJcmV0dXJuIChfXyAjIyBmbihpbm9kZSwgbmFtZSwgYnVmZmVyLCBzaXplLCBmbGFncykpOwlc CisrfQorIC8qCisgICogNS4xMiBBUEkgY2hhbmdlLAorICAqIFRoZSB4YXR0cl9oYW5kbGVyLT5z ZXQoKSBjYWxsYmFjayB3YXMgY2hhbmdlZCB0byB0YWtlIHRoZQorICAqIHN0cnVjdCB1c2VyX25h bWVzcGFjZSogYXMgdGhlIGZpcnN0IGFyZywgdG8gc3VwcG9ydCBpZG1hcHBlZAorICAqIG1vdW50 cy4KKyAgKi8KKy0jaWYgZGVmaW5lZChIQVZFX1hBVFRSX1NFVF9VU0VSTlMpCisrI2VsaWYgZGVm aW5lZChIQVZFX1hBVFRSX1NFVF9VU0VSTlMpCisgI2RlZmluZQlaUExfWEFUVFJfU0VUX1dSQVBQ RVIoZm4pCQkJCQlcCisgc3RhdGljIGludAkJCQkJCQkJXAorIGZuKGNvbnN0IHN0cnVjdCB4YXR0 cl9oYW5kbGVyICpoYW5kbGVyLCBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKnVzZXJfbnMsIFwKK2Rp ZmYgLS1naXQgYS9pbmNsdWRlL29zL2xpbnV4L3NwbC9zeXMvY3JlZC5oIGIvaW5jbHVkZS9vcy9s aW51eC9zcGwvc3lzL2NyZWQuaAoraW5kZXggYjdkM2YzOGQ3Li41MDFiZDQ1NjYgMTAwNjQ0Cist LS0gYS9pbmNsdWRlL29zL2xpbnV4L3NwbC9zeXMvY3JlZC5oCisrKysgYi9pbmNsdWRlL29zL2xp bnV4L3NwbC9zeXMvY3JlZC5oCitAQCAtNDUsNiArNDUsOCBAQCB0eXBlZGVmIHN0cnVjdCBjcmVk IGNyZWRfdDsKKyAjZGVmaW5lCVNHSURfVE9fS0dJRCh4KQkJKEtHSURUX0lOSVQoeCkpCisgI2Rl ZmluZQlLR0lEUF9UT19TR0lEUCh4KQkoJih4KS0+dmFsKQorIAorK2V4dGVybiB6aWRtYXBfdCAq emZzX2dldF9pbml0X2lkbWFwKHZvaWQpOworKworIGV4dGVybiB2b2lkIGNyaG9sZChjcmVkX3Qg KmNyKTsKKyBleHRlcm4gdm9pZCBjcmZyZWUoY3JlZF90ICpjcik7CisgZXh0ZXJuIHVpZF90IGNy Z2V0dWlkKGNvbnN0IGNyZWRfdCAqY3IpOworZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3MvbGludXgv c3BsL3N5cy90eXBlcy5oIGIvaW5jbHVkZS9vcy9saW51eC9zcGwvc3lzL3R5cGVzLmgKK2luZGV4 IGI0NGM5NDUxOC4uYTc2NjYxODdlIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9vcy9saW51eC9zcGwv c3lzL3R5cGVzLmgKKysrKyBiL2luY2x1ZGUvb3MvbGludXgvc3BsL3N5cy90eXBlcy5oCitAQCAt NTQsNCArNTQsMjAgQEAgdHlwZWRlZiB1bG9uZ190CQkJcGdjbnRfdDsKKyB0eXBlZGVmIGludAkJ CW1ham9yX3Q7CisgdHlwZWRlZiBpbnQJCQltaW5vcl90OworIAorK3N0cnVjdCB1c2VyX25hbWVz cGFjZTsKKysjaWZkZWYgSEFWRV9JT1BTX0NSRUFURV9JRE1BUAorKyNpbmNsdWRlIDxsaW51eC9y ZWZjb3VudC5oPgorK3N0cnVjdCBtbnRfaWRtYXAgeworKwlzdHJ1Y3QgdXNlcl9uYW1lc3BhY2Ug Km93bmVyOworKwlyZWZjb3VudF90IGNvdW50OworK307CisrdHlwZWRlZiBzdHJ1Y3QgbW50X2lk bWFwCXppZG1hcF90OworKyNkZWZpbmUJaWRtYXBfb3duZXIocCkJKCgoc3RydWN0IG1udF9pZG1h cCAqKXApLT5vd25lcikKKysjZWxzZQorK3R5cGVkZWYgc3RydWN0IHVzZXJfbmFtZXNwYWNlCXpp ZG1hcF90OworKyNkZWZpbmUJaWRtYXBfb3duZXIocCkJKChzdHJ1Y3QgdXNlcl9uYW1lc3BhY2Ug KilwKQorKyNlbmRpZgorKworK2V4dGVybiB6aWRtYXBfdCAqemZzX2luaXRfaWRtYXA7CisrCisg I2VuZGlmCS8qIF9TUExfVFlQRVNfSCAqLworZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3MvbGludXgv emZzL3N5cy96ZnNfdm5vcHNfb3MuaCBiL2luY2x1ZGUvb3MvbGludXgvemZzL3N5cy96ZnNfdm5v cHNfb3MuaAoraW5kZXggNDdmOTFlNGE2Li5hMmRlZGEwOTYgMTAwNjQ0CistLS0gYS9pbmNsdWRl L29zL2xpbnV4L3pmcy9zeXMvemZzX3Zub3BzX29zLmgKKysrKyBiL2luY2x1ZGUvb3MvbGludXgv emZzL3N5cy96ZnNfdm5vcHNfb3MuaAorQEAgLTU0LDggKzU0LDEzIEBAIGV4dGVybiBpbnQgemZz X21rZGlyKHpub2RlX3QgKmR6cCwgY2hhciAqZGlybmFtZSwgdmF0dHJfdCAqdmFwLAorIGV4dGVy biBpbnQgemZzX3JtZGlyKHpub2RlX3QgKmR6cCwgY2hhciAqbmFtZSwgem5vZGVfdCAqY3dkLAor ICAgICBjcmVkX3QgKmNyLCBpbnQgZmxhZ3MpOworIGV4dGVybiBpbnQgemZzX3JlYWRkaXIoc3Ry dWN0IGlub2RlICppcCwgenBsX2Rpcl9jb250ZXh0X3QgKmN0eCwgY3JlZF90ICpjcik7CisrI2lm ZGVmIEhBVkVfR0VORVJJQ19GSUxMQVRUUl9JRE1BUAorK2V4dGVybiBpbnQgemZzX2dldGF0dHJf ZmFzdChzdHJ1Y3QgbW50X2lkbWFwICosIHN0cnVjdCBpbm9kZSAqaXAsCisrCXN0cnVjdCBrc3Rh dCAqc3ApOworKyNlbHNlCisgZXh0ZXJuIGludCB6ZnNfZ2V0YXR0cl9mYXN0KHN0cnVjdCB1c2Vy X25hbWVzcGFjZSAqLCBzdHJ1Y3QgaW5vZGUgKmlwLAorIAlzdHJ1Y3Qga3N0YXQgKnNwKTsKKysj ZW5kaWYKKyBleHRlcm4gaW50IHpmc19zZXRhdHRyKHpub2RlX3QgKnpwLCB2YXR0cl90ICp2YXAs IGludCBmbGFnLCBjcmVkX3QgKmNyKTsKKyBleHRlcm4gaW50IHpmc19yZW5hbWUoem5vZGVfdCAq c2R6cCwgY2hhciAqc25tLCB6bm9kZV90ICp0ZHpwLAorICAgICBjaGFyICp0bm0sIGNyZWRfdCAq Y3IsIGludCBmbGFncyk7CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9vcy9saW51eC96ZnMvc3lzL3pw bC5oIGIvaW5jbHVkZS9vcy9saW51eC96ZnMvc3lzL3pwbC5oCitpbmRleCBhYzk4MTVkNGUuLjY2 OTJmYTMxNCAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvb3MvbGludXgvemZzL3N5cy96cGwuaAorKysr IGIvaW5jbHVkZS9vcy9saW51eC96ZnMvc3lzL3pwbC5oCitAQCAtNjQsNyArNjQsMTAgQEAgZXh0 ZXJuIGludCB6cGxfeGF0dHJfc2VjdXJpdHlfaW5pdChzdHJ1Y3QgaW5vZGUgKmlwLCBzdHJ1Y3Qg aW5vZGUgKmRpcCwKKyAgICAgY29uc3Qgc3RydWN0IHFzdHIgKnFzdHIpOworICNpZiBkZWZpbmVk KENPTkZJR19GU19QT1NJWF9BQ0wpCisgI2lmIGRlZmluZWQoSEFWRV9TRVRfQUNMKQorLSNpZiBk ZWZpbmVkKEhBVkVfU0VUX0FDTF9VU0VSTlMpCisrI2lmIGRlZmluZWQoSEFWRV9TRVRfQUNMX0lE TUFQX0RFTlRSWSkKKytleHRlcm4gaW50IHpwbF9zZXRfYWNsKHN0cnVjdCBtbnRfaWRtYXAgKmlk bWFwLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisrICAgIHN0cnVjdCBwb3NpeF9hY2wgKmFjbCwg aW50IHR5cGUpOworKyNlbGlmIGRlZmluZWQoSEFWRV9TRVRfQUNMX1VTRVJOUykKKyBleHRlcm4g aW50IHpwbF9zZXRfYWNsKHN0cnVjdCB1c2VyX25hbWVzcGFjZSAqdXNlcm5zLCBzdHJ1Y3QgaW5v ZGUgKmlwLAorICAgICBzdHJ1Y3QgcG9zaXhfYWNsICphY2wsIGludCB0eXBlKTsKKyAjZWxpZiBk ZWZpbmVkKEhBVkVfU0VUX0FDTF9VU0VSTlNfREVOVFJZX0FSRzIpCitAQCAtMTg2LDEzICsxODks MTUgQEAgenBsX2Rpcl9lbWl0X2RvdHMoc3RydWN0IGZpbGUgKmZpbGUsIHpwbF9kaXJfY29udGV4 dF90ICpjdHgpCisgCisgI2lmIGRlZmluZWQoSEFWRV9JTk9ERV9PV05FUl9PUl9DQVBBQkxFKQor ICNkZWZpbmUJenBsX2lub2RlX293bmVyX29yX2NhcGFibGUobnMsIGlwKQlpbm9kZV9vd25lcl9v cl9jYXBhYmxlKGlwKQorLSNlbGlmIGRlZmluZWQoSEFWRV9JTk9ERV9PV05FUl9PUl9DQVBBQkxF X0lETUFQUEVEKQorKyNlbGlmIGRlZmluZWQoSEFWRV9JTk9ERV9PV05FUl9PUl9DQVBBQkxFX1VT RVJOUykKKyAjZGVmaW5lCXpwbF9pbm9kZV9vd25lcl9vcl9jYXBhYmxlKG5zLCBpcCkJaW5vZGVf b3duZXJfb3JfY2FwYWJsZShucywgaXApCisrI2VsaWYgZGVmaW5lZChIQVZFX0lOT0RFX09XTkVS X09SX0NBUEFCTEVfSURNQVApCisrI2RlZmluZQl6cGxfaW5vZGVfb3duZXJfb3JfY2FwYWJsZShp ZG1hcCwgaXApCWlub2RlX293bmVyX29yX2NhcGFibGUoaWRtYXAsIGlwKQorICNlbHNlCisgI2Vy cm9yICJVbnN1cHBvcnRlZCBrZXJuZWwiCisgI2VuZGlmCisgCistI2lmZGVmIEhBVkVfU0VUQVRU Ul9QUkVQQVJFX1VTRVJOUworKyNpZiBkZWZpbmVkKEhBVkVfU0VUQVRUUl9QUkVQQVJFX1VTRVJO UykgfHwgZGVmaW5lZChIQVZFX1NFVEFUVFJfUFJFUEFSRV9JRE1BUCkKKyAjZGVmaW5lCXpwbF9z ZXRhdHRyX3ByZXBhcmUobnMsIGRlbnRyeSwgaWEpCXNldGF0dHJfcHJlcGFyZShucywgZGVudHJ5 LCBpYSkKKyAjZWxzZQorIC8qCitkaWZmIC0tZ2l0IGEvbW9kdWxlL29zL2xpbnV4L3NwbC9zcGwt Y3JlZC5jIGIvbW9kdWxlL29zL2xpbnV4L3NwbC9zcGwtY3JlZC5jCitpbmRleCBmODFiOTU0MGEu LmQ0MDdmYzY2YiAxMDA2NDQKKy0tLSBhL21vZHVsZS9vcy9saW51eC9zcGwvc3BsLWNyZWQuYwor KysrIGIvbW9kdWxlL29zL2xpbnV4L3NwbC9zcGwtY3JlZC5jCitAQCAtMTQ1LDYgKzE0NSwxOCBA QCBjcmdldGdpZChjb25zdCBjcmVkX3QgKmNyKQorIAlyZXR1cm4gKEtHSURfVE9fU0dJRChjci0+ ZnNnaWQpKTsKKyB9CisgCisrLyogUmV0dXJuIHRoZSBpbml0aWFsIHVzZXIgbnMgb3Igbm9wX21u dF9pZG1hcCAqLworK3ppZG1hcF90ICoKKyt6ZnNfZ2V0X2luaXRfaWRtYXAodm9pZCkKKyt7Cisr I2lmZGVmIEhBVkVfSU9QU19DUkVBVEVfSURNQVAKKysJcmV0dXJuICgoemlkbWFwX3QgKikmbm9w X21udF9pZG1hcCk7CisrI2Vsc2UKKysJcmV0dXJuICgoemlkbWFwX3QgKikmaW5pdF91c2VyX25z KTsKKysjZW5kaWYKKyt9CisrCisrRVhQT1JUX1NZTUJPTCh6ZnNfZ2V0X2luaXRfaWRtYXApOwor IEVYUE9SVF9TWU1CT0woY3Job2xkKTsKKyBFWFBPUlRfU1lNQk9MKGNyZnJlZSk7CisgRVhQT1JU X1NZTUJPTChjcmdldHVpZCk7CitkaWZmIC0tZ2l0IGEvbW9kdWxlL29zL2xpbnV4L3pmcy9wb2xp Y3kuYyBiL21vZHVsZS9vcy9saW51eC96ZnMvcG9saWN5LmMKK2luZGV4IDVhNTIwOTJiYi4uMjkw MTJjYjJhIDEwMDY0NAorLS0tIGEvbW9kdWxlL29zL2xpbnV4L3pmcy9wb2xpY3kuYworKysrIGIv bW9kdWxlL29zL2xpbnV4L3pmcy9wb2xpY3kuYworQEAgLTEyNCw3ICsxMjQsMTEgQEAgc2VjcG9s aWN5X3Zub2RlX2FueV9hY2Nlc3MoY29uc3QgY3JlZF90ICpjciwgc3RydWN0IGlub2RlICppcCwg dWlkX3Qgb3duZXIpCisgCWlmIChjcmdldHVpZChjcikgPT0gb3duZXIpCisgCQlyZXR1cm4gKDAp OworIAorKyNpZmRlZiBIQVZFX0lOT0RFX09XTkVSX09SX0NBUEFCTEVfSURNQVAKKysJaWYgKHpw bF9pbm9kZV9vd25lcl9vcl9jYXBhYmxlKHpmc19pbml0X2lkbWFwLCBpcCkpCisrI2Vsc2UKKyAJ aWYgKHpwbF9pbm9kZV9vd25lcl9vcl9jYXBhYmxlKGtjcmVkLT51c2VyX25zLCBpcCkpCisrI2Vu ZGlmCisgCQlyZXR1cm4gKDApOworIAorICNpZiBkZWZpbmVkKENPTkZJR19VU0VSX05TKQorZGlm ZiAtLWdpdCBhL21vZHVsZS9vcy9saW51eC96ZnMvemZzX2lvY3RsX29zLmMgYi9tb2R1bGUvb3Mv bGludXgvemZzL3pmc19pb2N0bF9vcy5jCitpbmRleCA3OWI5ZDc3N2QuLjc2N2QzYTM3NyAxMDA2 NDQKKy0tLSBhL21vZHVsZS9vcy9saW51eC96ZnMvemZzX2lvY3RsX29zLmMKKysrKyBiL21vZHVs ZS9vcy9saW51eC96ZnMvemZzX2lvY3RsX29zLmMKK0BAIC0yODgsNiArMjg4LDggQEAgemZzZGV2 X2RldGFjaCh2b2lkKQorICNkZWZpbmUJWkZTX0RFQlVHX1NUUgkiIgorICNlbmRpZgorIAorK3pp ZG1hcF90ICp6ZnNfaW5pdF9pZG1hcDsKKysKKyBzdGF0aWMgaW50IF9faW5pdAorIG9wZW56ZnNf aW5pdCh2b2lkKQorIHsKK0BAIC0zMTEsNiArMzEzLDggQEAgb3Blbnpmc19pbml0KHZvaWQpCisg CXByaW50ayhLRVJOX05PVElDRSAiWkZTOiBQb3NpeCBBQ0xzIGRpc2FibGVkIGJ5IGtlcm5lbFxu Iik7CisgI2VuZGlmIC8qIENPTkZJR19GU19QT1NJWF9BQ0wgKi8KKyAKKysJemZzX2luaXRfaWRt YXAgPSAoemlkbWFwX3QgKil6ZnNfZ2V0X2luaXRfaWRtYXAoKTsKKysKKyAJcmV0dXJuICgwKTsK KyB9CisgCitkaWZmIC0tZ2l0IGEvbW9kdWxlL29zL2xpbnV4L3pmcy96ZnNfdm5vcHNfb3MuYyBi L21vZHVsZS9vcy9saW51eC96ZnMvemZzX3Zub3BzX29zLmMKK2luZGV4IGFlMDQwMWU2MC4uZWM5 MjhiYmE3IDEwMDY0NAorLS0tIGEvbW9kdWxlL29zL2xpbnV4L3pmcy96ZnNfdm5vcHNfb3MuYwor KysrIGIvbW9kdWxlL29zL2xpbnV4L3pmcy96ZnNfdm5vcHNfb3MuYworQEAgLTE2NjMsOCArMTY2 MywxMyBAQCBvdXQ6CisgICovCisgLyogQVJHU1VTRUQgKi8KKyBpbnQKKysjaWZkZWYgSEFWRV9H RU5FUklDX0ZJTExBVFRSX0lETUFQCisremZzX2dldGF0dHJfZmFzdChzdHJ1Y3QgbW50X2lkbWFw ICp1c2VyX25zLCBzdHJ1Y3QgaW5vZGUgKmlwLAorKyAgICBzdHJ1Y3Qga3N0YXQgKnNwKQorKyNl bHNlCisgemZzX2dldGF0dHJfZmFzdChzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKnVzZXJfbnMsIHN0 cnVjdCBpbm9kZSAqaXAsCisgICAgIHN0cnVjdCBrc3RhdCAqc3ApCisrI2VuZGlmCisgeworIAl6 bm9kZV90ICp6cCA9IElUT1ooaXApOworIAl6ZnN2ZnNfdCAqemZzdmZzID0gSVRPWlNCKGlwKTsK K2RpZmYgLS1naXQgYS9tb2R1bGUvb3MvbGludXgvemZzL3pwbF9jdGxkaXIuYyBiL21vZHVsZS9v cy9saW51eC96ZnMvenBsX2N0bGRpci5jCitpbmRleCA5YjUyNmFmZDAuLmNmNGRhNDcwZiAxMDA2 NDQKKy0tLSBhL21vZHVsZS9vcy9saW51eC96ZnMvenBsX2N0bGRpci5jCisrKysgYi9tb2R1bGUv b3MvbGludXgvemZzL3pwbF9jdGxkaXIuYworQEAgLTEwMSw3ICsxMDEsMTEgQEAgenBsX3Jvb3Rf cmVhZGRpcihzdHJ1Y3QgZmlsZSAqZmlscCwgdm9pZCAqZGlyZW50LCBmaWxsZGlyX3QgZmlsbGRp cikKKyAgKi8KKyAvKiBBUkdTVVNFRCAqLworIHN0YXRpYyBpbnQKKy0jaWZkZWYgSEFWRV9VU0VS TlNfSU9QU19HRVRBVFRSCisrI2lmZGVmIEhBVkVfSURNQVBfSU9QU19HRVRBVFRSCisrenBsX3Jv b3RfZ2V0YXR0cl9pbXBsKHN0cnVjdCBtbnRfaWRtYXAgKnVzZXJfbnMsCisrICAgIGNvbnN0IHN0 cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3Qga3N0YXQgKnN0YXQsIHUzMiByZXF1ZXN0X21hc2ssCisr ICAgIHVuc2lnbmVkIGludCBxdWVyeV9mbGFncykKKysjZWxpZiBkZWZpbmVkKEhBVkVfVVNFUk5T X0lPUFNfR0VUQVRUUikKKyB6cGxfcm9vdF9nZXRhdHRyX2ltcGwoc3RydWN0IHVzZXJfbmFtZXNw YWNlICp1c2VyX25zLAorICAgICBjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGtzdGF0 ICpzdGF0LCB1MzIgcmVxdWVzdF9tYXNrLAorICAgICB1bnNpZ25lZCBpbnQgcXVlcnlfZmxhZ3Mp CitAQCAtMTEyLDggKzExNiwxNCBAQCB6cGxfcm9vdF9nZXRhdHRyX2ltcGwoY29uc3Qgc3RydWN0 IHBhdGggKnBhdGgsIHN0cnVjdCBrc3RhdCAqc3RhdCwKKyB7CisgCXN0cnVjdCBpbm9kZSAqaXAg PSBwYXRoLT5kZW50cnktPmRfaW5vZGU7CisgCistI2lmIGRlZmluZWQoSEFWRV9HRU5FUklDX0ZJ TExBVFRSX1VTRVJOUykgJiYgZGVmaW5lZChIQVZFX1VTRVJOU19JT1BTX0dFVEFUVFIpCisrI2lm IChkZWZpbmVkKEhBVkVfVVNFUk5TX0lPUFNfR0VUQVRUUikgfHwgZGVmaW5lZChIQVZFX0lETUFQ X0lPUFNfR0VUQVRUUikpCisrI2lmZGVmIEhBVkVfR0VORVJJQ19GSUxMQVRUUl9VU0VSTlMKKyAJ Z2VuZXJpY19maWxsYXR0cih1c2VyX25zLCBpcCwgc3RhdCk7CisrI2VsaWYgZGVmaW5lZChIQVZF X0dFTkVSSUNfRklMTEFUVFJfSURNQVApCisrCWdlbmVyaWNfZmlsbGF0dHIodXNlcl9ucywgaXAs IHN0YXQpOworKyNlbHNlCisrCSh2b2lkKSB1c2VyX25zOworKyNlbmRpZgorICNlbHNlCisgCWdl bmVyaWNfZmlsbGF0dHIoaXAsIHN0YXQpOworICNlbmRpZgorQEAgLTMwNCw2ICszMTQsMTAgQEAg c3RhdGljIGludAorIHpwbF9zbmFwZGlyX3JlbmFtZTIoc3RydWN0IHVzZXJfbmFtZXNwYWNlICp1 c2VyX25zLCBzdHJ1Y3QgaW5vZGUgKnNkaXAsCisgICAgIHN0cnVjdCBkZW50cnkgKnNkZW50cnks IHN0cnVjdCBpbm9kZSAqdGRpcCwgc3RydWN0IGRlbnRyeSAqdGRlbnRyeSwKKyAgICAgdW5zaWdu ZWQgaW50IGZsYWdzKQorKyNlbGlmIGRlZmluZWQoSEFWRV9JT1BTX1JFTkFNRV9JRE1BUCkKKyt6 cGxfc25hcGRpcl9yZW5hbWUyKHN0cnVjdCBtbnRfaWRtYXAgKnVzZXJfbnMsIHN0cnVjdCBpbm9k ZSAqc2RpcCwKKysgICAgc3RydWN0IGRlbnRyeSAqc2RlbnRyeSwgc3RydWN0IGlub2RlICp0ZGlw LCBzdHJ1Y3QgZGVudHJ5ICp0ZGVudHJ5LAorKyAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpCisgI2Vs c2UKKyB6cGxfc25hcGRpcl9yZW5hbWUyKHN0cnVjdCBpbm9kZSAqc2RpcCwgc3RydWN0IGRlbnRy eSAqc2RlbnRyeSwKKyAgICAgc3RydWN0IGlub2RlICp0ZGlwLCBzdHJ1Y3QgZGVudHJ5ICp0ZGVu dHJ5LCB1bnNpZ25lZCBpbnQgZmxhZ3MpCitAQCAtMzI1LDcgKzMzOSw5IEBAIHpwbF9zbmFwZGly X3JlbmFtZTIoc3RydWN0IGlub2RlICpzZGlwLCBzdHJ1Y3QgZGVudHJ5ICpzZGVudHJ5LAorIAly ZXR1cm4gKGVycm9yKTsKKyB9CisgCistI2lmICFkZWZpbmVkKEhBVkVfUkVOQU1FX1dBTlRTX0ZM QUdTKSAmJiAhZGVmaW5lZChIQVZFX0lPUFNfUkVOQU1FX1VTRVJOUykKKysjaWYgKCFkZWZpbmVk KEhBVkVfUkVOQU1FX1dBTlRTX0ZMQUdTKSAmJiBcCisrCSFkZWZpbmVkKEhBVkVfSU9QU19SRU5B TUVfVVNFUk5TKSAmJiBcCisrCSFkZWZpbmVkKEhBVkVfSU9QU19SRU5BTUVfSURNQVApKQorIHN0 YXRpYyBpbnQKKyB6cGxfc25hcGRpcl9yZW5hbWUoc3RydWN0IGlub2RlICpzZGlwLCBzdHJ1Y3Qg ZGVudHJ5ICpzZGVudHJ5LAorICAgICBzdHJ1Y3QgaW5vZGUgKnRkaXAsIHN0cnVjdCBkZW50cnkg KnRkZW50cnkpCitAQCAtMzUyLDYgKzM2OCw5IEBAIHN0YXRpYyBpbnQKKyAjaWZkZWYgSEFWRV9J T1BTX01LRElSX1VTRVJOUworIHpwbF9zbmFwZGlyX21rZGlyKHN0cnVjdCB1c2VyX25hbWVzcGFj ZSAqdXNlcl9ucywgc3RydWN0IGlub2RlICpkaXAsCisgICAgIHN0cnVjdCBkZW50cnkgKmRlbnRy eSwgdW1vZGVfdCBtb2RlKQorKyNlbGlmIGRlZmluZWQoSEFWRV9JT1BTX01LRElSX0lETUFQKQor K3pwbF9zbmFwZGlyX21rZGlyKHN0cnVjdCBtbnRfaWRtYXAgKnVzZXJfbnMsIHN0cnVjdCBpbm9k ZSAqZGlwLAorKyAgICBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHVtb2RlX3QgbW9kZSkKKyAjZWxz ZQorIHpwbF9zbmFwZGlyX21rZGlyKHN0cnVjdCBpbm9kZSAqZGlwLCBzdHJ1Y3QgZGVudHJ5ICpk ZW50cnksIHVtb2RlX3QgbW9kZSkKKyAjZW5kaWYKK0BAIC0zODQsNyArNDAzLDExIEBAIHpwbF9z bmFwZGlyX21rZGlyKHN0cnVjdCBpbm9kZSAqZGlwLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHVt b2RlX3QgbW9kZSkKKyAgKi8KKyAvKiBBUkdTVVNFRCAqLworIHN0YXRpYyBpbnQKKy0jaWZkZWYg SEFWRV9VU0VSTlNfSU9QU19HRVRBVFRSCisrI2lmZGVmIEhBVkVfSURNQVBfSU9QU19HRVRBVFRS CisrenBsX3NuYXBkaXJfZ2V0YXR0cl9pbXBsKHN0cnVjdCBtbnRfaWRtYXAgKnVzZXJfbnMsCisr ICAgIGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3Qga3N0YXQgKnN0YXQsIHUzMiByZXF1 ZXN0X21hc2ssCisrICAgIHVuc2lnbmVkIGludCBxdWVyeV9mbGFncykKKysjZWxpZiBkZWZpbmVk KEhBVkVfVVNFUk5TX0lPUFNfR0VUQVRUUikKKyB6cGxfc25hcGRpcl9nZXRhdHRyX2ltcGwoc3Ry dWN0IHVzZXJfbmFtZXNwYWNlICp1c2VyX25zLAorICAgICBjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0 aCwgc3RydWN0IGtzdGF0ICpzdGF0LCB1MzIgcmVxdWVzdF9tYXNrLAorICAgICB1bnNpZ25lZCBp bnQgcXVlcnlfZmxhZ3MpCitAQCAtMzk3LDggKzQyMCwxNCBAQCB6cGxfc25hcGRpcl9nZXRhdHRy X2ltcGwoY29uc3Qgc3RydWN0IHBhdGggKnBhdGgsIHN0cnVjdCBrc3RhdCAqc3RhdCwKKyAJemZz dmZzX3QgKnpmc3ZmcyA9IElUT1pTQihpcCk7CisgCisgCVpQTF9FTlRFUih6ZnN2ZnMpOworLSNp ZiBkZWZpbmVkKEhBVkVfR0VORVJJQ19GSUxMQVRUUl9VU0VSTlMpICYmIGRlZmluZWQoSEFWRV9V U0VSTlNfSU9QU19HRVRBVFRSKQorKyNpZiAoZGVmaW5lZChIQVZFX1VTRVJOU19JT1BTX0dFVEFU VFIpIHx8IGRlZmluZWQoSEFWRV9JRE1BUF9JT1BTX0dFVEFUVFIpKQorKyNpZmRlZiBIQVZFX0dF TkVSSUNfRklMTEFUVFJfVVNFUk5TCisrCWdlbmVyaWNfZmlsbGF0dHIodXNlcl9ucywgaXAsIHN0 YXQpOworKyNlbGlmIGRlZmluZWQoSEFWRV9HRU5FUklDX0ZJTExBVFRSX0lETUFQKQorIAlnZW5l cmljX2ZpbGxhdHRyKHVzZXJfbnMsIGlwLCBzdGF0KTsKKysjZWxzZQorKwkodm9pZCkgdXNlcl9u czsKKysjZW5kaWYKKyAjZWxzZQorIAlnZW5lcmljX2ZpbGxhdHRyKGlwLCBzdGF0KTsKKyAjZW5k aWYKK0BAIC00MzksNyArNDY4LDkgQEAgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyB6cGxf Zm9wc19zbmFwZGlyID0geworIGNvbnN0IHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zIHpwbF9vcHNf c25hcGRpciA9IHsKKyAJLmxvb2t1cAkJPSB6cGxfc25hcGRpcl9sb29rdXAsCisgCS5nZXRhdHRy CT0genBsX3NuYXBkaXJfZ2V0YXR0ciwKKy0jaWYgZGVmaW5lZChIQVZFX1JFTkFNRV9XQU5UU19G TEFHUykgfHwgZGVmaW5lZChIQVZFX0lPUFNfUkVOQU1FX1VTRVJOUykKKysjaWYgKGRlZmluZWQo SEFWRV9SRU5BTUVfV0FOVFNfRkxBR1MpIHx8IFwKKysJZGVmaW5lZChIQVZFX0lPUFNfUkVOQU1F X1VTRVJOUykgfHwgXAorKwlkZWZpbmVkKEhBVkVfSU9QU19SRU5BTUVfSURNQVApKQorIAkucmVu YW1lCQk9IHpwbF9zbmFwZGlyX3JlbmFtZTIsCisgI2Vsc2UKKyAJLnJlbmFtZQkJPSB6cGxfc25h cGRpcl9yZW5hbWUsCitAQCAtNTMwLDYgKzU2MSwxMCBAQCBzdGF0aWMgaW50CisgenBsX3NoYXJl c19nZXRhdHRyX2ltcGwoc3RydWN0IHVzZXJfbmFtZXNwYWNlICp1c2VyX25zLAorICAgICBjb25z dCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGtzdGF0ICpzdGF0LCB1MzIgcmVxdWVzdF9tYXNr LAorICAgICB1bnNpZ25lZCBpbnQgcXVlcnlfZmxhZ3MpCisrI2VsaWYgZGVmaW5lZChIQVZFX0lE TUFQX0lPUFNfR0VUQVRUUikKKyt6cGxfc2hhcmVzX2dldGF0dHJfaW1wbChzdHJ1Y3QgbW50X2lk bWFwICp1c2VyX25zLAorKyAgICBjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGtzdGF0 ICpzdGF0LCB1MzIgcmVxdWVzdF9tYXNrLAorKyAgICB1bnNpZ25lZCBpbnQgcXVlcnlfZmxhZ3Mp CisgI2Vsc2UKKyB6cGxfc2hhcmVzX2dldGF0dHJfaW1wbChjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0 aCwgc3RydWN0IGtzdGF0ICpzdGF0LAorICAgICB1MzIgcmVxdWVzdF9tYXNrLCB1bnNpZ25lZCBp bnQgcXVlcnlfZmxhZ3MpCitAQCAtNTQzLDggKzU3OCwxNCBAQCB6cGxfc2hhcmVzX2dldGF0dHJf aW1wbChjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGtzdGF0ICpzdGF0LAorIAlaUExf RU5URVIoemZzdmZzKTsKKyAKKyAJaWYgKHpmc3Zmcy0+el9zaGFyZXNfZGlyID09IDApIHsKKy0j aWYgZGVmaW5lZChIQVZFX0dFTkVSSUNfRklMTEFUVFJfVVNFUk5TKSAmJiBkZWZpbmVkKEhBVkVf VVNFUk5TX0lPUFNfR0VUQVRUUikKKysjaWYgKGRlZmluZWQoSEFWRV9VU0VSTlNfSU9QU19HRVRB VFRSKSB8fCBkZWZpbmVkKEhBVkVfSURNQVBfSU9QU19HRVRBVFRSKSkKKysjaWZkZWYgSEFWRV9H RU5FUklDX0ZJTExBVFRSX1VTRVJOUworKwkJZ2VuZXJpY19maWxsYXR0cih1c2VyX25zLCBwYXRo LT5kZW50cnktPmRfaW5vZGUsIHN0YXQpOworKyNlbGlmIGRlZmluZWQoSEFWRV9HRU5FUklDX0ZJ TExBVFRSX0lETUFQKQorIAkJZ2VuZXJpY19maWxsYXR0cih1c2VyX25zLCBwYXRoLT5kZW50cnkt PmRfaW5vZGUsIHN0YXQpOworKyNlbHNlCisrCQkodm9pZCkgdXNlcl9uczsKKysjZW5kaWYKKyAj ZWxzZQorIAkJZ2VuZXJpY19maWxsYXR0cihwYXRoLT5kZW50cnktPmRfaW5vZGUsIHN0YXQpOwor ICNlbmRpZgorQEAgLTU1Niw3ICs1OTcsNyBAQCB6cGxfc2hhcmVzX2dldGF0dHJfaW1wbChjb25z dCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGtzdGF0ICpzdGF0LAorIAorIAllcnJvciA9IC16 ZnNfemdldCh6ZnN2ZnMsIHpmc3Zmcy0+el9zaGFyZXNfZGlyLCAmZHpwKTsKKyAJaWYgKGVycm9y ID09IDApIHsKKy0jaWYgZGVmaW5lZChIQVZFX0dFTkVSSUNfRklMTEFUVFJfVVNFUk5TKSAmJiBk ZWZpbmVkKEhBVkVfVVNFUk5TX0lPUFNfR0VUQVRUUikKKysjaWYgKGRlZmluZWQoSEFWRV9VU0VS TlNfSU9QU19HRVRBVFRSKSB8fCBkZWZpbmVkKEhBVkVfSURNQVBfSU9QU19HRVRBVFRSKSkKKyAJ CWVycm9yID0gLXpmc19nZXRhdHRyX2Zhc3QodXNlcl9ucywgWlRPSShkenApLCBzdGF0KTsKKyAj ZWxzZQorIAkJZXJyb3IgPSAtemZzX2dldGF0dHJfZmFzdChrY3JlZC0+dXNlcl9ucywgWlRPSShk enApLCBzdGF0KTsKK2RpZmYgLS1naXQgYS9tb2R1bGUvb3MvbGludXgvemZzL3pwbF9maWxlLmMg Yi9tb2R1bGUvb3MvbGludXgvemZzL3pwbF9maWxlLmMKK2luZGV4IDI1MDMwY2IyZC4uZmRkYmI3 NTlhIDEwMDY0NAorLS0tIGEvbW9kdWxlL29zL2xpbnV4L3pmcy96cGxfZmlsZS5jCisrKysgYi9t b2R1bGUvb3MvbGludXgvemZzL3pwbF9maWxlLmMKK0BAIC05NDcsNyArOTQ3LDExIEBAIF9fenBs X2lvY3RsX3NldGZsYWdzKHN0cnVjdCBpbm9kZSAqaXAsIHVpbnQzMl90IGlvY3RsX2ZsYWdzLCB4 dmF0dHJfdCAqeHZhKQorIAkgICAgIWNhcGFibGUoQ0FQX0xJTlVYX0lNTVVUQUJMRSkpCisgCQly ZXR1cm4gKC1FUEVSTSk7CisgCisrI2lmZGVmIEhBVkVfSU5PREVfT1dORVJfT1JfQ0FQQUJMRV9J RE1BUAorKwlpZiAoIXpwbF9pbm9kZV9vd25lcl9vcl9jYXBhYmxlKHpmc19pbml0X2lkbWFwLCBp cCkpCisrI2Vsc2UKKyAJaWYgKCF6cGxfaW5vZGVfb3duZXJfb3JfY2FwYWJsZShrY3JlZC0+dXNl cl9ucywgaXApKQorKyNlbmRpZgorIAkJcmV0dXJuICgtRUFDQ0VTKTsKKyAKKyAJeHZhX2luaXQo eHZhKTsKK2RpZmYgLS1naXQgYS9tb2R1bGUvb3MvbGludXgvemZzL3pwbF9pbm9kZS5jIGIvbW9k dWxlL29zL2xpbnV4L3pmcy96cGxfaW5vZGUuYworaW5kZXggZGQ2MzRmNzBlLi5mMTc3NTgzNDQg MTAwNjQ0CistLS0gYS9tb2R1bGUvb3MvbGludXgvemZzL3pwbF9pbm9kZS5jCisrKysgYi9tb2R1 bGUvb3MvbGludXgvemZzL3pwbF9pbm9kZS5jCitAQCAtMTMxLDYgKzEzMSw5IEBAIHN0YXRpYyBp bnQKKyAjaWZkZWYgSEFWRV9JT1BTX0NSRUFURV9VU0VSTlMKKyB6cGxfY3JlYXRlKHN0cnVjdCB1 c2VyX25hbWVzcGFjZSAqdXNlcl9ucywgc3RydWN0IGlub2RlICpkaXIsCisgICAgIHN0cnVjdCBk ZW50cnkgKmRlbnRyeSwgdW1vZGVfdCBtb2RlLCBib29sIGZsYWcpCisrI2VsaWYgZGVmaW5lZChI QVZFX0lPUFNfQ1JFQVRFX0lETUFQKQorK3pwbF9jcmVhdGUoc3RydWN0IG1udF9pZG1hcCAqdXNl cl9ucywgc3RydWN0IGlub2RlICpkaXIsCisrICAgIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgdW1v ZGVfdCBtb2RlLCBib29sIGZsYWcpCisgI2Vsc2UKKyB6cGxfY3JlYXRlKHN0cnVjdCBpbm9kZSAq ZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHVtb2RlX3QgbW9kZSwgYm9vbCBmbGFnKQorICNl bmRpZgorQEAgLTE3NCw2ICsxNzcsOSBAQCBzdGF0aWMgaW50CisgI2lmZGVmIEhBVkVfSU9QU19N S05PRF9VU0VSTlMKKyB6cGxfbWtub2Qoc3RydWN0IHVzZXJfbmFtZXNwYWNlICp1c2VyX25zLCBz dHJ1Y3QgaW5vZGUgKmRpciwKKyAgICAgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCB1bW9kZV90IG1v ZGUsCisrI2VsaWYgZGVmaW5lZChIQVZFX0lPUFNfTUtOT0RfSURNQVApCisrenBsX21rbm9kKHN0 cnVjdCBtbnRfaWRtYXAgKnVzZXJfbnMsIHN0cnVjdCBpbm9kZSAqZGlyLAorKyAgICBzdHJ1Y3Qg ZGVudHJ5ICpkZW50cnksIHVtb2RlX3QgbW9kZSwKKyAjZWxzZQorIHpwbF9ta25vZChzdHJ1Y3Qg aW5vZGUgKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCB1bW9kZV90IG1vZGUsCisgI2VuZGlm CitAQCAtMjI0LDcgKzIzMCwxMCBAQCB6cGxfbWtub2Qoc3RydWN0IGlub2RlICpkaXIsIHN0cnVj dCBkZW50cnkgKmRlbnRyeSwgdW1vZGVfdCBtb2RlLAorIAorICNpZmRlZiBIQVZFX1RNUEZJTEUK KyBzdGF0aWMgaW50CistI2lmbmRlZiBIQVZFX1RNUEZJTEVfREVOVFJZCisrI2lmZGVmIEhBVkVf VE1QRklMRV9JRE1BUAorK3pwbF90bXBmaWxlKHN0cnVjdCBtbnRfaWRtYXAgKnVzZXJucywgc3Ry dWN0IGlub2RlICpkaXIsCisrICAgIHN0cnVjdCBmaWxlICpmaWxlLCB1bW9kZV90IG1vZGUpCisr I2VsaWYgIWRlZmluZWQoSEFWRV9UTVBGSUxFX0RFTlRSWSkKKyB6cGxfdG1wZmlsZShzdHJ1Y3Qg dXNlcl9uYW1lc3BhY2UgKnVzZXJucywgc3RydWN0IGlub2RlICpkaXIsCisgICAgIHN0cnVjdCBm aWxlICpmaWxlLCB1bW9kZV90IG1vZGUpCisgI2Vsc2UKK0BAIC0zMTcsNiArMzI2LDkgQEAgc3Rh dGljIGludAorICNpZmRlZiBIQVZFX0lPUFNfTUtESVJfVVNFUk5TCisgenBsX21rZGlyKHN0cnVj dCB1c2VyX25hbWVzcGFjZSAqdXNlcl9ucywgc3RydWN0IGlub2RlICpkaXIsCisgICAgIHN0cnVj dCBkZW50cnkgKmRlbnRyeSwgdW1vZGVfdCBtb2RlKQorKyNlbGlmIGRlZmluZWQoSEFWRV9JT1BT X01LRElSX0lETUFQKQorK3pwbF9ta2RpcihzdHJ1Y3QgbW50X2lkbWFwICp1c2VyX25zLCBzdHJ1 Y3QgaW5vZGUgKmRpciwKKysgICAgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCB1bW9kZV90IG1vZGUp CisgI2Vsc2UKKyB6cGxfbWtkaXIoc3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKmRl bnRyeSwgdW1vZGVfdCBtb2RlKQorICNlbmRpZgorQEAgLTM4Niw2ICszOTgsMTAgQEAgc3RhdGlj IGludAorIHpwbF9nZXRhdHRyX2ltcGwoc3RydWN0IHVzZXJfbmFtZXNwYWNlICp1c2VyX25zLAor ICAgICBjb25zdCBzdHJ1Y3QgcGF0aCAqcGF0aCwgc3RydWN0IGtzdGF0ICpzdGF0LCB1MzIgcmVx dWVzdF9tYXNrLAorICAgICB1bnNpZ25lZCBpbnQgcXVlcnlfZmxhZ3MpCisrI2VsaWYgZGVmaW5l ZChIQVZFX0lETUFQX0lPUFNfR0VUQVRUUikKKyt6cGxfZ2V0YXR0cl9pbXBsKHN0cnVjdCBtbnRf aWRtYXAgKnVzZXJfbnMsCisrICAgIGNvbnN0IHN0cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3Qga3N0 YXQgKnN0YXQsIHUzMiByZXF1ZXN0X21hc2ssCisrICAgIHVuc2lnbmVkIGludCBxdWVyeV9mbGFn cykKKyAjZWxzZQorIHpwbF9nZXRhdHRyX2ltcGwoY29uc3Qgc3RydWN0IHBhdGggKnBhdGgsIHN0 cnVjdCBrc3RhdCAqc3RhdCwgdTMyIHJlcXVlc3RfbWFzaywKKyAgICAgdW5zaWduZWQgaW50IHF1 ZXJ5X2ZsYWdzKQorQEAgLTQwMiw3ICs0MTgsNyBAQCB6cGxfZ2V0YXR0cl9pbXBsKGNvbnN0IHN0 cnVjdCBwYXRoICpwYXRoLCBzdHJ1Y3Qga3N0YXQgKnN0YXQsIHUzMiByZXF1ZXN0X21hc2ssCisg CSAqIFhYWCBxdWVyeV9mbGFncyBjdXJyZW50bHkgaWdub3JlZC4KKyAJICovCisgCistI2lmZGVm IEhBVkVfVVNFUk5TX0lPUFNfR0VUQVRUUgorKyNpZiAoZGVmaW5lZChIQVZFX1VTRVJOU19JT1BT X0dFVEFUVFIpIHx8IGRlZmluZWQoSEFWRV9JRE1BUF9JT1BTX0dFVEFUVFIpKQorIAllcnJvciA9 IC16ZnNfZ2V0YXR0cl9mYXN0KHVzZXJfbnMsIGlwLCBzdGF0KTsKKyAjZWxzZQorIAllcnJvciA9 IC16ZnNfZ2V0YXR0cl9mYXN0KGtjcmVkLT51c2VyX25zLCBpcCwgc3RhdCk7CitAQCAtNDQ0LDYg KzQ2MCw5IEBAIHN0YXRpYyBpbnQKKyAjaWZkZWYgSEFWRV9TRVRBVFRSX1BSRVBBUkVfVVNFUk5T CisgenBsX3NldGF0dHIoc3RydWN0IHVzZXJfbmFtZXNwYWNlICp1c2VyX25zLCBzdHJ1Y3QgZGVu dHJ5ICpkZW50cnksCisgICAgIHN0cnVjdCBpYXR0ciAqaWEpCisrI2VsaWYgZGVmaW5lZChIQVZF X1NFVEFUVFJfUFJFUEFSRV9JRE1BUCkKKyt6cGxfc2V0YXR0cihzdHJ1Y3QgbW50X2lkbWFwICp1 c2VyX25zLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCisrICAgIHN0cnVjdCBpYXR0ciAqaWEpCisg I2Vsc2UKKyB6cGxfc2V0YXR0cihzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpYXR0ciAq aWEpCisgI2VuZGlmCitAQCAtNDU0LDcgKzQ3MywxMSBAQCB6cGxfc2V0YXR0cihzdHJ1Y3QgZGVu dHJ5ICpkZW50cnksIHN0cnVjdCBpYXR0ciAqaWEpCisgCWludCBlcnJvcjsKKyAJZnN0cmFuc19j b29raWVfdCBjb29raWU7CisgCisrI2lmIGRlZmluZWQoSEFWRV9TRVRBVFRSX1BSRVBBUkVfVVNF Uk5TKSB8fCBkZWZpbmVkKEhBVkVfU0VUQVRUUl9QUkVQQVJFX0lETUFQKQorKwllcnJvciA9IHpw bF9zZXRhdHRyX3ByZXBhcmUodXNlcl9ucywgZGVudHJ5LCBpYSk7CisrI2Vsc2UKKyAJZXJyb3Ig PSB6cGxfc2V0YXR0cl9wcmVwYXJlKGtjcmVkLT51c2VyX25zLCBkZW50cnksIGlhKTsKKysjZW5k aWYKKyAJaWYgKGVycm9yKQorIAkJcmV0dXJuIChlcnJvcik7CisgCitAQCAtNDkwLDYgKzUxMywx MCBAQCBzdGF0aWMgaW50CisgenBsX3JlbmFtZTIoc3RydWN0IHVzZXJfbmFtZXNwYWNlICp1c2Vy X25zLCBzdHJ1Y3QgaW5vZGUgKnNkaXAsCisgICAgIHN0cnVjdCBkZW50cnkgKnNkZW50cnksIHN0 cnVjdCBpbm9kZSAqdGRpcCwgc3RydWN0IGRlbnRyeSAqdGRlbnRyeSwKKyAgICAgdW5zaWduZWQg aW50IGZsYWdzKQorKyNlbGlmIGRlZmluZWQoSEFWRV9JT1BTX1JFTkFNRV9JRE1BUCkKKyt6cGxf cmVuYW1lMihzdHJ1Y3QgbW50X2lkbWFwICp1c2VyX25zLCBzdHJ1Y3QgaW5vZGUgKnNkaXAsCisr ICAgIHN0cnVjdCBkZW50cnkgKnNkZW50cnksIHN0cnVjdCBpbm9kZSAqdGRpcCwgc3RydWN0IGRl bnRyeSAqdGRlbnRyeSwKKysgICAgdW5zaWduZWQgaW50IGZsYWdzKQorICNlbHNlCisgenBsX3Jl bmFtZTIoc3RydWN0IGlub2RlICpzZGlwLCBzdHJ1Y3QgZGVudHJ5ICpzZGVudHJ5LAorICAgICBz dHJ1Y3QgaW5vZGUgKnRkaXAsIHN0cnVjdCBkZW50cnkgKnRkZW50cnksIHVuc2lnbmVkIGludCBm bGFncykKK0BAIC01MTQsNyArNTQxLDkgQEAgenBsX3JlbmFtZTIoc3RydWN0IGlub2RlICpzZGlw LCBzdHJ1Y3QgZGVudHJ5ICpzZGVudHJ5LAorIAlyZXR1cm4gKGVycm9yKTsKKyB9CisgCistI2lm ICFkZWZpbmVkKEhBVkVfUkVOQU1FX1dBTlRTX0ZMQUdTKSAmJiAhZGVmaW5lZChIQVZFX0lPUFNf UkVOQU1FX1VTRVJOUykKKysjaWYgIWRlZmluZWQoSEFWRV9JT1BTX1JFTkFNRV9VU0VSTlMpICYm IFwKKysJIWRlZmluZWQoSEFWRV9SRU5BTUVfV0FOVFNfRkxBR1MpICYmIFwKKysJIWRlZmluZWQo SEFWRV9JT1BTX1JFTkFNRV9JRE1BUCkKKyBzdGF0aWMgaW50CisgenBsX3JlbmFtZShzdHJ1Y3Qg aW5vZGUgKnNkaXAsIHN0cnVjdCBkZW50cnkgKnNkZW50cnksCisgICAgIHN0cnVjdCBpbm9kZSAq dGRpcCwgc3RydWN0IGRlbnRyeSAqdGRlbnRyeSkKK0BAIC01MjcsNiArNTU2LDkgQEAgc3RhdGlj IGludAorICNpZmRlZiBIQVZFX0lPUFNfU1lNTElOS19VU0VSTlMKKyB6cGxfc3ltbGluayhzdHJ1 Y3QgdXNlcl9uYW1lc3BhY2UgKnVzZXJfbnMsIHN0cnVjdCBpbm9kZSAqZGlyLAorICAgICBzdHJ1 Y3QgZGVudHJ5ICpkZW50cnksIGNvbnN0IGNoYXIgKm5hbWUpCisrI2VsaWYgZGVmaW5lZChIQVZF X0lPUFNfU1lNTElOS19JRE1BUCkKKyt6cGxfc3ltbGluayhzdHJ1Y3QgbW50X2lkbWFwICp1c2Vy X25zLCBzdHJ1Y3QgaW5vZGUgKmRpciwKKysgICAgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBjb25z dCBjaGFyICpuYW1lKQorICNlbHNlCisgenBsX3N5bWxpbmsoc3RydWN0IGlub2RlICpkaXIsIHN0 cnVjdCBkZW50cnkgKmRlbnRyeSwgY29uc3QgY2hhciAqbmFtZSkKKyAjZW5kaWYKK0BAIC03NDUs NiArNzc3LDggQEAgY29uc3Qgc3RydWN0IGlub2RlX29wZXJhdGlvbnMgenBsX2Rpcl9pbm9kZV9v cGVyYXRpb25zID0geworIAkubWtub2QJCT0genBsX21rbm9kLAorICNpZiBkZWZpbmVkKEhBVkVf UkVOQU1FX1dBTlRTX0ZMQUdTKSB8fCBkZWZpbmVkKEhBVkVfSU9QU19SRU5BTUVfVVNFUk5TKQor IAkucmVuYW1lCQk9IHpwbF9yZW5hbWUyLAorKyNlbGlmIGRlZmluZWQoSEFWRV9JT1BTX1JFTkFN RV9JRE1BUCkKKysJLnJlbmFtZQkJPSB6cGxfcmVuYW1lMiwKKyAjZWxzZQorIAkucmVuYW1lCQk9 IHpwbF9yZW5hbWUsCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvbW9kdWxlL29zL2xpbnV4L3pmcy96 cGxfeGF0dHIuYyBiL21vZHVsZS9vcy9saW51eC96ZnMvenBsX3hhdHRyLmMKK2luZGV4IDM2NGNk MzRjMS4uMzA3NjZhYjQ5IDEwMDY0NAorLS0tIGEvbW9kdWxlL29zL2xpbnV4L3pmcy96cGxfeGF0 dHIuYworKysrIGIvbW9kdWxlL29zL2xpbnV4L3pmcy96cGxfeGF0dHIuYworQEAgLTEwMDQsNiAr MTAwNCw5IEBAIGludAorICNpZmRlZiBIQVZFX1NFVF9BQ0xfVVNFUk5TCisgenBsX3NldF9hY2wo c3RydWN0IHVzZXJfbmFtZXNwYWNlICp1c2VybnMsIHN0cnVjdCBpbm9kZSAqaXAsCisgICAgIHN0 cnVjdCBwb3NpeF9hY2wgKmFjbCwgaW50IHR5cGUpCisrI2VsaWYgZGVmaW5lZChIQVZFX1NFVF9B Q0xfSURNQVBfREVOVFJZKQorK3pwbF9zZXRfYWNsKHN0cnVjdCBtbnRfaWRtYXAgKnVzZXJucywg c3RydWN0IGRlbnRyeSAqZGVudHJ5LAorKyAgICBzdHJ1Y3QgcG9zaXhfYWNsICphY2wsIGludCB0 eXBlKQorICNlbGlmIGRlZmluZWQoSEFWRV9TRVRfQUNMX1VTRVJOU19ERU5UUllfQVJHMikKKyB6 cGxfc2V0X2FjbChzdHJ1Y3QgdXNlcl9uYW1lc3BhY2UgKnVzZXJucywgc3RydWN0IGRlbnRyeSAq ZGVudHJ5LAorICAgICBzdHJ1Y3QgcG9zaXhfYWNsICphY2wsIGludCB0eXBlKQorQEAgLTEwMTMs NiArMTAxNiw4IEBAIHpwbF9zZXRfYWNsKHN0cnVjdCBpbm9kZSAqaXAsIHN0cnVjdCBwb3NpeF9h Y2wgKmFjbCwgaW50IHR5cGUpCisgeworICNpZmRlZiBIQVZFX1NFVF9BQ0xfVVNFUk5TX0RFTlRS WV9BUkcyCisgCXJldHVybiAoenBsX3NldF9hY2xfaW1wbChkX2lub2RlKGRlbnRyeSksIGFjbCwg dHlwZSkpOworKyNlbGlmIEhBVkVfU0VUX0FDTF9JRE1BUF9ERU5UUlkKKysJcmV0dXJuICh6cGxf c2V0X2FjbF9pbXBsKGRfaW5vZGUoZGVudHJ5KSwgYWNsLCB0eXBlKSk7CisgI2Vsc2UKKyAJcmV0 dXJuICh6cGxfc2V0X2FjbF9pbXBsKGlwLCBhY2wsIHR5cGUpKTsKKyAjZW5kaWYgLyogSEFWRV9T RVRfQUNMX1VTRVJOU19ERU5UUllfQVJHMiAqLworQEAgLTEyNzAsNyArMTI3NSwxMSBAQCBfX3pw bF94YXR0cl9hY2xfc2V0X2FjY2VzcyhzdHJ1Y3QgaW5vZGUgKmlwLCBjb25zdCBjaGFyICpuYW1l LAorIAlpZiAoSVRPWlNCKGlwKS0+el9hY2xfdHlwZSAhPSBaRlNfQUNMVFlQRV9QT1NJWCkKKyAJ CXJldHVybiAoLUVPUE5PVFNVUFApOworIAorKyNpZmRlZiBIQVZFX0lOT0RFX09XTkVSX09SX0NB UEFCTEVfSURNQVAKKysJaWYgKCF6cGxfaW5vZGVfb3duZXJfb3JfY2FwYWJsZSh6ZnNfaW5pdF9p ZG1hcCwgaXApKQorKyNlbHNlCisgCWlmICghenBsX2lub2RlX293bmVyX29yX2NhcGFibGUoa2Ny ZWQtPnVzZXJfbnMsIGlwKSkKKysjZW5kaWYKKyAJCXJldHVybiAoLUVQRVJNKTsKKyAKKyAJaWYg KHZhbHVlKSB7CitAQCAtMTMwOSw3ICsxMzE4LDExIEBAIF9fenBsX3hhdHRyX2FjbF9zZXRfZGVm YXVsdChzdHJ1Y3QgaW5vZGUgKmlwLCBjb25zdCBjaGFyICpuYW1lLAorIAlpZiAoSVRPWlNCKGlw KS0+el9hY2xfdHlwZSAhPSBaRlNfQUNMVFlQRV9QT1NJWCkKKyAJCXJldHVybiAoLUVPUE5PVFNV UFApOworIAorKyNpZmRlZiBIQVZFX0lOT0RFX09XTkVSX09SX0NBUEFCTEVfSURNQVAKKysJaWYg KCF6cGxfaW5vZGVfb3duZXJfb3JfY2FwYWJsZSh6ZnNfaW5pdF9pZG1hcCwgaXApKQorKyNlbHNl CisgCWlmICghenBsX2lub2RlX293bmVyX29yX2NhcGFibGUoa2NyZWQtPnVzZXJfbnMsIGlwKSkK KysjZW5kaWYKKyAJCXJldHVybiAoLUVQRVJNKTsKKyAKKyAJaWYgKHZhbHVlKSB7CmRpZmYgLS1n aXQgYS9zcmNwa2dzL3pmcy90ZW1wbGF0ZSBiL3NyY3BrZ3MvemZzL3RlbXBsYXRlCmluZGV4IDkx NDExNGYxY2ZiNy4uN2Q3OThhNzI5ZTlhIDEwMDY0NAotLS0gYS9zcmNwa2dzL3pmcy90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL3pmcy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3pmcycKIHBrZ25hbWU9emZzCiB2ZXJzaW9uPTIuMS4xMQotcmV2aXNpb249MQor cmV2aXNpb249MgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0t d2l0aC1jb25maWc9dXNlciAtLXdpdGgtbW91bnRoZWxwZXJkaXI9L3Vzci9iaW4KICAtLXdpdGgt dWRldmRpcj0vdXNyL2xpYi91ZGV2IC0td2l0aC11ZGV2cnVsZWRpcj0vdXNyL2xpYi91ZGV2L3J1 bGVzLmQK --===============7393163386817439452==--