From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Mamoru TASAKA To: git-commits@fedoraproject.org Subject: [rpms/libetpan] rawhide: Backport upstream patch to use ICU for Japanese charset conversion Date: Fri, 26 Jun 2026 15:10:42 GMT Message-ID: <178248664246.1.10393408443722660382.rpms-libetpan-437373945b14@fedoraproject.org> List-ID: X-Git-Repo: rpms/libetpan X-Git-Branch: rawhide X-Git-Rev: 437373945b14671f1150d1f2fba30e781bb66b6e QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvbGliZXRwYW4KQnJh bmNoIDogcmF3aGlkZQpDb21taXQgOiA0MzczNzM5NDViMTQ2NzFmMTE1MGQxZjJmYmEzMGU3ODFi YjY2YjZlCkF1dGhvciA6IE1hbW9ydSBUQVNBS0EgPG10YXNha2FAZmVkb3JhcHJvamVjdC5vcmc+ CkRhdGUgICA6IDIwMjYtMDYtMjdUMDA6MTA6MzArMDk6MDAKU3RhdHMgIDogKzMzNC8tMTMgaW4g MyBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvbGli ZXRwYW4vYy80MzczNzM5NDViMTQ2NzFmMTE1MGQxZjJmYmEzMGU3ODFiYjY2YjZlP2JyYW5jaD1y YXdoaWRlCgpMb2c6CkJhY2twb3J0IHVwc3RyZWFtIHBhdGNoIHRvIHVzZSBJQ1UgZm9yIEphcGFu ZXNlIGNoYXJzZXQgY29udmVyc2lvbgoKLS0tCmRpZmYgLS1naXQgYS9saWJldHBhbi0xLjEwLjEt dW5pdHRleHQtcGxhaW50ZXh0LXJlbmRlcmluZy1maXgtYnVpbGQucGF0Y2ggYi9saWJldHBhbi0x LjEwLjEtdW5pdHRleHQtcGxhaW50ZXh0LXJlbmRlcmluZy1maXgtYnVpbGQucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIxZDRkNAotLS0gL2Rldi9udWxsCisrKyBi L2xpYmV0cGFuLTEuMTAuMS11bml0dGV4dC1wbGFpbnRleHQtcmVuZGVyaW5nLWZpeC1idWlsZC5w YXRjaApAQCAtMCwwICsxLDc4IEBACitGcm9tIGQzYzliZDQ5ZTY4MTY2MGJhZmNlNmZjMTkzNjUw ZjBkZTVhZDkwOGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb2EgRGluaCA8ZGlu aC52aWV0LmhvYUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDIyIEp1biAyMDI2IDAyOjIyOjA0IC0w NzAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBwbGFpbnRleHQgcmVuZGVyaW5nIHRlc3QgYnVpbGQK KworLS0tCisgdW5pdHRlc3QvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg MTQgKysrKysrKystLS0tLS0KKyB1bml0dGVzdC9wbGFpbnRleHQtcmVuZGVyaW5nL2h0bWxfZmxh dHRlbmVyLmMgfCAxNCArKysrKysrKysrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0 aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3VuaXR0ZXN0L01ha2VmaWxl IGIvdW5pdHRlc3QvTWFrZWZpbGUKK2luZGV4IGEyZjIzNTI1Li40MmRmZjNjMyAxMDA2NDQKKy0t LSBhL3VuaXR0ZXN0L01ha2VmaWxlCisrKysgYi91bml0dGVzdC9NYWtlZmlsZQorQEAgLTEyLDEx ICsxMiwxMiBAQCBDUFBGTEFHUyArPSBcCisgCS1JY29tbW9uCisgCisgQ0ZMQUdTICs9IC1XYWxs IC1XZXh0cmEgLVdlcnJvciAtZworLUxETElCUyArPSAkKFRPUCkvc3JjLy5saWJzL2xpYmV0cGFu LmEgLWx6IC1saWNvbnYgLWxzYXNsMiAtbHB0aHJlYWQKKytMRExJQlMgKz0gJChUT1ApL3NyYy8u bGlicy9saWJldHBhbi5hIC1seiAtbHNhc2wyIC1scHRocmVhZAorIFhNTDJfQ1BQRkxBR1MgOj0g LUkkKHNoZWxsIHhjcnVuIC0tc2hvdy1zZGstcGF0aCkvdXNyL2luY2x1ZGUvbGlieG1sMgorIFhN TDJfTERMSUJTIDo9IC1seG1sMgorLVRJRFlfQ1BQRkxBR1MgOj0gJChzaGVsbCBwa2ctY29uZmln IC0tY2ZsYWdzIHRpZHkgMj4vZGV2L251bGwgfHwgcHJpbnRmICclcycgIi1JJCQoYnJldyAtLXBy ZWZpeCB0aWR5LWh0bWw1KS9pbmNsdWRlIikKKytUSURZX0NQUEZMQUdTIDo9ICQoc2hlbGwgcGtn LWNvbmZpZyAtLWNmbGFncyB0aWR5IDI+L2Rldi9udWxsIHx8IHByaW50ZiAnJXMnICItSSQkKGJy ZXcgLS1wcmVmaXggdGlkeS1odG1sNSkvaW5jbHVkZSIpIC1JIC91c3IvaW5jbHVkZS90aWR5Cisg VElEWV9MRExJQlMgOj0gJChzaGVsbCBwa2ctY29uZmlnIC0tbGlicyB0aWR5IDI+L2Rldi9udWxs IHx8IHByaW50ZiAnJXMnICItTCQkKGJyZXcgLS1wcmVmaXggdGlkeS1odG1sNSkvbGliIC1sdGlk eSIpCisrTUFUSF9MRExJQlMgOj0gLWxtCisgCisgSU1BUF9URVNUID0gaW1hcC9pbWFwX3Rlc3QK KyBJTUZfVEVTVCA9IGltZi9pbWZfdGVzdAorQEAgLTEzMyw3ICsxMzUsNyBAQCAkKENIQVJTRVRf REVURUNUSU9OX1RFU1QpOiAkKENIQVJTRVRfREVURUNUSU9OX1RFU1RfREVQUykgbGliZXRwYW4K KyAJJChDQykgJChDUFBGTEFHUykgJChDRkxBR1MpICQoQ0hBUlNFVF9ERVRFQ1RJT05fVEVTVF9T UkNTKSAkKExETElCUykgLW8gJEAKKyAKKyAkKFBMQUlOVEVYVF9SRU5ERVJJTkdfVEVTVCk6ICQo UExBSU5URVhUX1JFTkRFUklOR19URVNUX0RFUFMpIGxpYmV0cGFuCistCSQoQ0MpICQoQ1BQRkxB R1MpICQoWE1MMl9DUFBGTEFHUykgJChUSURZX0NQUEZMQUdTKSAkKENGTEFHUykgJChQTEFJTlRF WFRfUkVOREVSSU5HX1RFU1RfU1JDUykgJChMRExJQlMpICQoWE1MMl9MRExJQlMpICQoVElEWV9M RExJQlMpIC1vICRACisrCSQoQ0MpICQoQ1BQRkxBR1MpICQoWE1MMl9DUFBGTEFHUykgJChUSURZ X0NQUEZMQUdTKSAkKENGTEFHUykgJChQTEFJTlRFWFRfUkVOREVSSU5HX1RFU1RfU1JDUykgJChM RExJQlMpICQoWE1MMl9MRExJQlMpICQoVElEWV9MRExJQlMpICQoTUFUSF9MRExJQlMpIC1vICRA CisgCisgJChJTUFQX1VURjdfVEVTVCk6ICQoSU1BUF9VVEY3X1RFU1RfREVQUykgbGliZXRwYW4K KyAJJChDQykgJChDUFBGTEFHUykgJChDRkxBR1MpICQoSU1BUF9VVEY3X1RFU1RfU1JDUykgJChM RExJQlMpIC1vICRACitkaWZmIC0tZ2l0IGEvdW5pdHRlc3QvcGxhaW50ZXh0LXJlbmRlcmluZy9o dG1sX2ZsYXR0ZW5lci5jIGIvdW5pdHRlc3QvcGxhaW50ZXh0LXJlbmRlcmluZy9odG1sX2ZsYXR0 ZW5lci5jCitpbmRleCA1MGQ5MTI3Mi4uMjNlM2ViODUgMTAwNjQ0CistLS0gYS91bml0dGVzdC9w bGFpbnRleHQtcmVuZGVyaW5nL2h0bWxfZmxhdHRlbmVyLmMKKysrKyBiL3VuaXR0ZXN0L3BsYWlu dGV4dC1yZW5kZXJpbmcvaHRtbF9mbGF0dGVuZXIuYworQEAgLTM2Niw3ICszNjYsNyBAQCBzdGF0 aWMgdm9pZCBjb21tZW50X3BhcnNlZCh2b2lkICogY3R4LCBjb25zdCB4bWxDaGFyICogdmFsdWUp CisgICAodm9pZCkgdmFsdWU7CisgfQorIAorLXN0YXRpYyB2b2lkIHN0cnVjdHVyZWRfZXJyb3Io dm9pZCAqIHVzZXJfZGF0YSwgeG1sRXJyb3JQdHIgZXJyb3IpCisrc3RhdGljIHZvaWQgc3RydWN0 dXJlZF9lcnJvcih2b2lkICogdXNlcl9kYXRhLCBjb25zdCB4bWxFcnJvciAqIGVycm9yKQorIHsK KyAgICh2b2lkKSB1c2VyX2RhdGE7CisgICAodm9pZCkgZXJyb3I7CitAQCAtMzc1LDYgKzM3NSw4 IEBAIHN0YXRpYyB2b2lkIHN0cnVjdHVyZWRfZXJyb3Iodm9pZCAqIHVzZXJfZGF0YSwgeG1sRXJy b3JQdHIgZXJyb3IpCisgY2hhciAqIHBsYWludGV4dF9yZW5kZXJpbmdfZmxhdHRlbl9odG1sKGNv bnN0IGNoYXIgKiBodG1sKQorIHsKKyAgIHhtbFNBWEhhbmRsZXIgaGFuZGxlcjsKKysgIGh0bWxQ YXJzZXJDdHh0UHRyIHBhcnNlcl9jb250ZXh0OworKyAgaHRtbERvY1B0ciBwYXJzZWRfZG9jOwor ICAgc3RydWN0IGZsYXR0ZW5fc3RhdGUgc3RhdGU7CisgICBjaGFyICogY2xlYW5lZF9odG1sOwor ICAgdW5zaWduZWQgaW50IGk7CitAQCAtMzkxLDkgKzM5MywxNSBAQCBjaGFyICogcGxhaW50ZXh0 X3JlbmRlcmluZ19mbGF0dGVuX2h0bWwoY29uc3QgY2hhciAqIGh0bWwpCisgICBzdGF0ZS5zaG93 X2Jsb2NrcXVvdGUgPSAxOworICAgc3RhdGUuc2hvd19saW5rID0gMTsKKyAgIHN0YXRlLmxhc3Rf Y2hhcl9pc193aGl0ZXNwYWNlID0gMTsKKy0gIHhtbFNldFN0cnVjdHVyZWRFcnJvckZ1bmMoeG1s R2VuZXJpY0Vycm9yQ29udGV4dCwgc3RydWN0dXJlZF9lcnJvcik7CisrICBwYXJzZXJfY29udGV4 dCA9IGh0bWxOZXdTQVhQYXJzZXJDdHh0KCZoYW5kbGVyLCAmc3RhdGUpOworKyAgYXNzZXJ0KHBh cnNlcl9jb250ZXh0ICE9IE5VTEwpOworKyAgeG1sQ3R4dFNldEVycm9ySGFuZGxlcihwYXJzZXJf Y29udGV4dCwgc3RydWN0dXJlZF9lcnJvciwgTlVMTCk7CisgICBjbGVhbmVkX2h0bWwgPSBwbGFp bnRleHRfcmVuZGVyaW5nX2NsZWFuZWRfaHRtbChodG1sKTsKKy0gIGh0bWxTQVhQYXJzZURvYygo eG1sQ2hhciAqKSBjbGVhbmVkX2h0bWwsICJ1dGYtOCIsICZoYW5kbGVyLCAmc3RhdGUpOworKyAg cGFyc2VkX2RvYyA9IGh0bWxDdHh0UmVhZERvYyhwYXJzZXJfY29udGV4dCwgKHhtbENoYXIgKikg Y2xlYW5lZF9odG1sLCBOVUxMLAorKyAgICAgICJ1dGYtOCIsIDApOworKyAgaWYgKHBhcnNlZF9k b2MgIT0gTlVMTCkKKysgICAgeG1sRnJlZURvYyhwYXJzZWRfZG9jKTsKKysgIGh0bWxGcmVlUGFy c2VyQ3R4dChwYXJzZXJfY29udGV4dCk7CisgICBmcmVlKGNsZWFuZWRfaHRtbCk7CisgICBjbGVh bl90ZXJtaW5hbF9zcGFjZShzdGF0ZS5yZXN1bHQpOworICAgZm9yIChpID0gMDsgaSA8IHN0YXRl LmxpbmtfY291bnQ7IGkrKykKCmRpZmYgLS1naXQgYS9saWJldHBhbi0xLjEwLjEtdXNlLWljdS1m b3ItamFwYW5lc2UtY29udmVyc2lvbi5wYXRjaCBiL2xpYmV0cGFuLTEuMTAuMS11c2UtaWN1LWZv ci1qYXBhbmVzZS1jb252ZXJzaW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjc5ZWNkNTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJldHBhbi0xLjEwLjEtdXNlLWlj dS1mb3ItamFwYW5lc2UtY29udmVyc2lvbi5wYXRjaApAQCAtMCwwICsxLDIzNSBAQAorRnJvbSAw MTQxYWJhN2U1NmQwYWU0NDUwYTk0Y2MzZTI2MTU2N2ZiYzQ3NjgzIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogSG9hIERpbmggPGRpbmgudmlldC5ob2FAZ21haWwuY29tPgorRGF0ZTog V2VkLCAyNCBKdW4gMjAyNiAyMzo0MzozMSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBVc2UgSUNV IGZvciBKYXBhbmVzZSBjaGFyc2V0IGNvbnZlcnNpb24KKworLS0tCisgY29uZmlndXJlLmFjICAg ICAgICAgICAgICAgfCAgMzggKysrKysrKysrKysrKysKKyBzcmMvTWFrZWZpbGUuYW0gICAgICAg ICAgICB8ICAgMyArLQorIHNyYy9kYXRhLXR5cGVzL01ha2VmaWxlLmFtIHwgICAyICstCisgc3Jj L2RhdGEtdHlwZXMvY2hhcmNvbnYuYyAgfCAxMDUgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKworIHVuaXR0ZXN0L01ha2VmaWxlICAgICAgICAgIHwgICAxICsKKyA1IGZpbGVz IGNoYW5nZWQsIDE0NiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAwYzhkZTZmZS4uYzk2MDBlMDcg MTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTM0OCw2 ICszNDgsNDQgQEAgaWYgdGVzdCB4JGVuYWJsZV9pY29udiA9IHh5ZXM7IHRoZW4KKyBmaQorIEFD X1NVQlNUKExJQklDT05WKQorIAorK2RubCBJQ1UKKytJQ1VMSUI9IiIKKytJQ1VDUFBGTEFHUz0i IgorKworK0FDX0FSR19XSVRIKGljdSwgW0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtaWN1XSwgW3Vz ZSBJQ1UgZm9yIGNoYXJzZXQgY29udmVyc2lvbiBiZWZvcmUgaWNvbnYgKGRlZmF1bHQ9YXV0byld KV0sCisrICAgICAgICAgICAgW10sIFt3aXRoX2ljdT1hdXRvXSkKKytpZiB0ZXN0ICJ4JHdpdGhf aWN1IiAhPSAieG5vIjsgdGhlbgorKyAgUEtHX0NIRUNLX01PRFVMRVMoW0lDVV0sIFtpY3UtdWNd LAorKyAgICBbd2l0aF9pY3U9eWVzXSwKKysgICAgW2lmIHRlc3QgIngkd2l0aF9pY3UiID0gInh5 ZXMiOyB0aGVuCisrICAgICAgIEFDX01TR19FUlJPUihbSUNVIHN1cHBvcnQgcmVxdWVzdGVkIGJ1 dCBpY3UtdWMgd2FzIG5vdCBmb3VuZF0pCisrICAgICBlbHNlCisrICAgICAgIHdpdGhfaWN1PW5v CisrICAgICBmaV0pCisrICBpZiB0ZXN0ICJ4JHdpdGhfaWN1IiA9ICJ4eWVzIjsgdGhlbgorKyAg ICBTQVZFRF9DUFBGTEFHUz0iJENQUEZMQUdTIgorKyAgICBTQVZFRF9MSUJTPSIkTElCUyIKKysg ICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAkSUNVX0NGTEFHUyIKKysgICAgTElCUz0iJExJQlMgJElD VV9MSUJTIgorKyAgICBBQ19DSEVDS19IRUFERVJTKFt1bmljb2RlL3VjbnYuaCB1bmljb2RlL3Vz dHJpbmcuaF0sCisrICAgICAgW10sCisrICAgICAgW0FDX01TR19FUlJPUihbSUNVIGhlYWRlcnMg YXJlIG1pc3NpbmddKV0pCisrICAgIEFDX0xJTktfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW1sj aW5jbHVkZSA8dW5pY29kZS91Y252Lmg+XV0sCisrICAgICAgW1tVRXJyb3JDb2RlIGVyciA9IFVf WkVST19FUlJPUjsKKysgICAgICAgIFVDb252ZXJ0ZXIgKiBjb252ID0gdWNudl9vcGVuKCJVVEYt OCIsICZlcnIpOworKyAgICAgICAgaWYgKGNvbnYgIT0gTlVMTCkgdWNudl9jbG9zZShjb252KTsK KysgICAgICAgIHJldHVybiBVX0ZBSUxVUkUoZXJyKTtdXSldLAorKyAgICAgIFtBQ19ERUZJTkUo SEFWRV9JQ1UsIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgSUNVIGNoYXJzZXQgY29udmVyc2lvbi5d KQorKyAgICAgICBJQ1VDUFBGTEFHUz0iJElDVV9DRkxBR1MiCisrICAgICAgIElDVUxJQj0iJElD VV9MSUJTIl0sCisrICAgICAgW0FDX01TR19FUlJPUihbSUNVIGxpYnJhcmllcyBhcmUgbWlzc2lu Z10pXSkKKysgICAgQ1BQRkxBR1M9IiRTQVZFRF9DUFBGTEFHUyIKKysgICAgTElCUz0iJFNBVkVE X0xJQlMiCisrICBmaQorK2ZpCisrQUNfU1VCU1QoSUNVQ1BQRkxBR1MpCisrQUNfU1VCU1QoSUNV TElCKQorKworIGRubCBCZXJrZWxleSBEQgorIAorIERCVkVSUz0wCitkaWZmIC0tZ2l0IGEvc3Jj L01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCitpbmRleCAxODQ3MDk5Zi4uMDNiMzM0NDgg MTAwNjQ0CistLS0gYS9zcmMvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9NYWtlZmlsZS5hbQorQEAg LTgxLDUgKzgxLDQgQEAgbGliZXRwYW5ATElCU1VGRklYQF9sYV9MSUJBREQgPSBcCisgCW1haW4v bGlibWFpbi5sYSBcCisgCWVuZ2luZS9saWJlbmdpbmUubGEgXAorICAgICAgICAgJChhcmNoX2xp YikgXAorLQlATElCU0AgQFNTTExJQlNAIEBMSUJJQ09OVkAgQERCTElCQCBAR05VVExTTElCQCBA U0FTTExJQlNACistCisrCUBMSUJTQCBAU1NMTElCU0AgQExJQklDT05WQCBASUNVTElCQCBAREJM SUJAIEBHTlVUTFNMSUJAIEBTQVNMTElCU0AKK2RpZmYgLS1naXQgYS9zcmMvZGF0YS10eXBlcy9N YWtlZmlsZS5hbSBiL3NyYy9kYXRhLXR5cGVzL01ha2VmaWxlLmFtCitpbmRleCBkMmYwMDMwMS4u OTlmOTE0MWQgMTAwNjQ0CistLS0gYS9zcmMvZGF0YS10eXBlcy9NYWtlZmlsZS5hbQorKysrIGIv c3JjL2RhdGEtdHlwZXMvTWFrZWZpbGUuYW0KK0BAIC0zOCw3ICszOCw3IEBAIGV0cGFuaW5jbHVk ZV9IRUFERVJTID0gXAorIAljYXJyYXkuaCBjbGlzdC5oIGNoYXNoLmggXAorIAljaGFyY29udi5o IG1haWxzZW0uaCBtYWlsbG9jay5oCisgCistQU1fQ1BQRkxBR1MgPSAtSSQodG9wX2J1aWxkZGly KS9pbmNsdWRlCisrQU1fQ1BQRkxBR1MgPSAtSSQodG9wX2J1aWxkZGlyKS9pbmNsdWRlIEBJQ1VD UFBGTEFHU0AKKyAKKyBub2luc3RfTFRMSUJSQVJJRVMgPSBsaWJkYXRhLXR5cGVzLmxhCisgCitk aWZmIC0tZ2l0IGEvc3JjL2RhdGEtdHlwZXMvY2hhcmNvbnYuYyBiL3NyYy9kYXRhLXR5cGVzL2No YXJjb252LmMKK2luZGV4IGJmNzE2Zjg0Li42ZjcxOWY4ZSAxMDA2NDQKKy0tLSBhL3NyYy9kYXRh LXR5cGVzL2NoYXJjb252LmMKKysrKyBiL3NyYy9kYXRhLXR5cGVzL2NoYXJjb252LmMKK0BAIC00 Miw2ICs0Miw5IEBACisgI2lmZGVmIEhBVkVfSUNPTlYKKyAjaW5jbHVkZSA8aWNvbnYuaD4KKyAj ZW5kaWYKKysjaWZkZWYgSEFWRV9JQ1UKKysjaW5jbHVkZSA8dW5pY29kZS91Y252Lmg+CisrI2Vu ZGlmCisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVk ZSA8c3RkaW8uaD4KK0BAIC01NjcsNiArNTcwLDQ1IEBAIHN0YXRpYyBzaXplX3QgbWFpbF9pY29u diAoaWNvbnZfdCBjZCwgY29uc3QgY2hhciAqKmluYnVmLCBzaXplX3QgKmluYnl0ZXNsZWZ0LAor IH0KKyAjZW5kaWYKKyAKKysjaWZkZWYgSEFWRV9JQ1UKKytzdGF0aWMgaW50IGljdV9zaG91bGRf dHJ5X2NoYXJzZXQoY29uc3QgY2hhciAqIGZyb21jb2RlKQorK3sKKysgIHJldHVybiBzdHJjYXNl Y21wKGZyb21jb2RlLCAiaXNvLTIwMjItanAiKSA9PSAwIHx8CisrICAgICAgc3RyY2FzZWNtcChm cm9tY29kZSwgImlzby0yMDIyLWpwLTIiKSA9PSAwIHx8CisrICAgICAgc3RyY2FzZWNtcChmcm9t Y29kZSwgInNoaWZ0X2ppcyIpID09IDAgfHwKKysgICAgICBzdHJjYXNlY21wKGZyb21jb2RlLCAi c2hpZnQtamlzIikgPT0gMCB8fAorKyAgICAgIHN0cmNhc2VjbXAoZnJvbWNvZGUsICJldWMtanAi KSA9PSAwIHx8CisrICAgICAgc3RyY2FzZWNtcChmcm9tY29kZSwgImV1Y2pwIikgPT0gMDsKKyt9 CisrCisrc3RhdGljIGludCBpY3VfY2hhcmNvbnYoY29uc3QgY2hhciAqIHRvY29kZSwgY29uc3Qg Y2hhciAqIGZyb21jb2RlLAorKyAgICBjb25zdCBjaGFyICogc3RyLCBzaXplX3QgbGVuZ3RoLCBj aGFyICogcmVzdWx0LCBzaXplX3QgKiByZXN1bHRfbGVuKQorK3sKKysgIFVFcnJvckNvZGUgZXJy ID0gVV9aRVJPX0VSUk9SOworKyAgaW50MzJfdCBjb252ZXJ0ZWRfbGVuOworKworKyAgaWYgKGxl bmd0aCA+IChzaXplX3QpIDB4N2ZmZmZmZmYgfHwgKnJlc3VsdF9sZW4gPiAoc2l6ZV90KSAweDdm ZmZmZmZmKQorKyAgICByZXR1cm4gTUFJTF9DSEFSQ09OVl9FUlJPUl9NRU1PUlk7CisrCisrICBj b252ZXJ0ZWRfbGVuID0gdWNudl9jb252ZXJ0KHRvY29kZSwgZnJvbWNvZGUsIHJlc3VsdCwgKGlu dDMyX3QpICpyZXN1bHRfbGVuLAorKyAgICAgIHN0ciwgKGludDMyX3QpIGxlbmd0aCwgJmVycik7 CisrICBpZiAoZXJyID09IFVfQlVGRkVSX09WRVJGTE9XX0VSUk9SKQorKyAgICByZXR1cm4gTUFJ TF9DSEFSQ09OVl9FUlJPUl9NRU1PUlk7CisrICBpZiAoVV9GQUlMVVJFKGVycikpIHsKKysgICAg aWYgKGVyciA9PSBVX0ZJTEVfQUNDRVNTX0VSUk9SIHx8IGVyciA9PSBVX01JU1NJTkdfUkVTT1VS Q0VfRVJST1IgfHwKKysgICAgICAgIGVyciA9PSBVX0lOVkFMSURfVEFCTEVfRk9STUFUKQorKyAg ICAgIHJldHVybiBNQUlMX0NIQVJDT05WX0VSUk9SX1VOS05PV05fQ0hBUlNFVDsKKysgICAgcmV0 dXJuIE1BSUxfQ0hBUkNPTlZfRVJST1JfQ09OVjsKKysgIH0KKysgIGlmIChjb252ZXJ0ZWRfbGVu IDwgMCkKKysgICAgcmV0dXJuIE1BSUxfQ0hBUkNPTlZfRVJST1JfQ09OVjsKKysKKysgIHJlc3Vs dFtjb252ZXJ0ZWRfbGVuXSA9ICdcMCc7CisrICAqcmVzdWx0X2xlbiA9IChzaXplX3QpIGNvbnZl cnRlZF9sZW47CisrICByZXR1cm4gTUFJTF9DSEFSQ09OVl9OT19FUlJPUjsKKyt9CisrI2VuZGlm CisrCisgc3RhdGljIGNvbnN0IGNoYXIgKiBnZXRfdmFsaWRfY2hhcnNldChjb25zdCBjaGFyICog ZnJvbWNvZGUpCisgeworICAgaWYgKChzdHJjYXNlY21wKGZyb21jb2RlLCAiR0IyMzEyIikgPT0g MCkgfHwgKHN0cmNhc2VjbXAoZnJvbWNvZGUsICJHQl8yMzEyLTgwIikgPT0gMCkpIHsKK0BAIC02 MzksNiArNjgxLDM0IEBAIGludCBjaGFyY29udihjb25zdCBjaGFyICogdG9jb2RlLCBjb25zdCBj aGFyICogZnJvbWNvZGUsCisgCQkvKiBlbHNlLCBsZXQncyB0cnkgd2l0aCBpY29udiwgaWYgYXZh aWxhYmxlICovCisgCX0KKyAKKysjaWZkZWYgSEFWRV9JQ1UKKysJaWYgKGljdV9zaG91bGRfdHJ5 X2NoYXJzZXQoZnJvbWNvZGUpKQorKwl7CisrCQlzaXplX3QgYWxsb2NhdGVkX2xlbmd0aDsKKysJ CXNpemVfdCByZXN1bHRfbGVuZ3RoOworKworKwkJcmVzID0gY2hhcmNvbnZfZ2V0X291dHB1dF9z aXplKGxlbmd0aCwgJmFsbG9jYXRlZF9sZW5ndGgpOworKwkJaWYgKHJlcyAhPSBNQUlMX0NIQVJD T05WX05PX0VSUk9SKQorKwkJCXJldHVybiByZXM7CisrCQlyZXN1bHRfbGVuZ3RoID0gYWxsb2Nh dGVkX2xlbmd0aDsKKysJCSpyZXN1bHQgPSBtYWxsb2MoYWxsb2NhdGVkX2xlbmd0aCArIDEpOwor KwkJaWYgKCpyZXN1bHQgPT0gTlVMTCkKKysJCQlyZXR1cm4gTUFJTF9DSEFSQ09OVl9FUlJPUl9N RU1PUlk7CisrCQlyZXMgPSBpY3VfY2hhcmNvbnYodG9jb2RlLCBmcm9tY29kZSwgc3RyLCBsZW5n dGgsICpyZXN1bHQsCisrCQkgICAgJnJlc3VsdF9sZW5ndGgpOworKwkJaWYgKHJlcyA9PSBNQUlM X0NIQVJDT05WX05PX0VSUk9SKSB7CisrCQkJb3V0ID0gcmVhbGxvYygqcmVzdWx0LCByZXN1bHRf bGVuZ3RoICsgMSk7CisrCQkJaWYgKG91dCAhPSBOVUxMKQorKwkJCQkqcmVzdWx0ID0gb3V0Owor KwkJCXJldHVybiBNQUlMX0NIQVJDT05WX05PX0VSUk9SOworKwkJfQorKwkJZnJlZSgqcmVzdWx0 KTsKKysJCSpyZXN1bHQgPSBOVUxMOworKwkJaWYgKHJlcyAhPSBNQUlMX0NIQVJDT05WX0VSUk9S X1VOS05PV05fQ0hBUlNFVCkKKysJCQlyZXR1cm4gcmVzOworKwl9CisrI2VuZGlmCisrCisgI2lm bmRlZiBIQVZFX0lDT05WCisgICByZXR1cm4gTUFJTF9DSEFSQ09OVl9FUlJPUl9VTktOT1dOX0NI QVJTRVQ7CisgI2Vsc2UKK0BAIC03NTIsNiArODIyLDQxIEBAIGludCBjaGFyY29udl9idWZmZXIo Y29uc3QgY2hhciAqIHRvY29kZSwgY29uc3QgY2hhciAqIGZyb21jb2RlLAorIAkJLyogZWxzZSwg bGV0J3MgdHJ5IHdpdGggaWNvbnYsIGlmIGF2YWlsYWJsZSAqLworIAl9CisgCisrI2lmZGVmIEhB VkVfSUNVCisrCWlmIChpY3Vfc2hvdWxkX3RyeV9jaGFyc2V0KGZyb21jb2RlKSkKKysJeworKwkJ c2l6ZV90IGFsbG9jYXRlZF9sZW5ndGg7CisrCQlzaXplX3QgcmVzdWx0X2xlbmd0aDsKKysKKysJ CXJlcyA9IGNoYXJjb252X2dldF9vdXRwdXRfc2l6ZShsZW5ndGgsICZhbGxvY2F0ZWRfbGVuZ3Ro KTsKKysJCWlmIChyZXMgIT0gTUFJTF9DSEFSQ09OVl9OT19FUlJPUikKKysJCQlyZXR1cm4gcmVz OworKwkJcmVzdWx0X2xlbmd0aCA9IGFsbG9jYXRlZF9sZW5ndGg7CisrCQltbWFwc3RyID0gbW1h cF9zdHJpbmdfc2l6ZWRfbmV3KGFsbG9jYXRlZF9sZW5ndGggKyAxKTsKKysJCSpyZXN1bHRfbGVu ID0gMDsKKysJCWlmIChtbWFwc3RyID09IE5VTEwpCisrCQkJcmV0dXJuIE1BSUxfQ0hBUkNPTlZf RVJST1JfTUVNT1JZOworKwkJcmVzID0gaWN1X2NoYXJjb252KHRvY29kZSwgZnJvbWNvZGUsIHN0 ciwgbGVuZ3RoLCBtbWFwc3RyLT5zdHIsCisrCQkgICAgJnJlc3VsdF9sZW5ndGgpOworKwkJaWYg KHJlcyA9PSBNQUlMX0NIQVJDT05WX05PX0VSUk9SKSB7CisrCQkJaW50IHI7CisrCisrCQkJKnJl c3VsdCA9IG1tYXBzdHItPnN0cjsKKysJCQlyID0gbW1hcF9zdHJpbmdfcmVmKG1tYXBzdHIpOwor KwkJCWlmIChyIDwgMCkgeworKwkJCQltbWFwX3N0cmluZ19mcmVlKG1tYXBzdHIpOworKwkJCQly ZXR1cm4gTUFJTF9DSEFSQ09OVl9FUlJPUl9NRU1PUlk7CisrCQkJfQorKwkJCW1tYXBfc3RyaW5n X3NldF9zaXplKG1tYXBzdHIsIHJlc3VsdF9sZW5ndGgpOworKwkJCSpyZXN1bHRfbGVuID0gcmVz dWx0X2xlbmd0aDsKKysJCQlyZXR1cm4gTUFJTF9DSEFSQ09OVl9OT19FUlJPUjsKKysJCX0KKysJ CW1tYXBfc3RyaW5nX2ZyZWUobW1hcHN0cik7CisrCQlpZiAocmVzICE9IE1BSUxfQ0hBUkNPTlZf RVJST1JfVU5LTk9XTl9DSEFSU0VUKQorKwkJCXJldHVybiByZXM7CisrCX0KKysjZW5kaWYKKysK KyAjaWZuZGVmIEhBVkVfSUNPTlYKKyAgIHJldHVybiBNQUlMX0NIQVJDT05WX0VSUk9SX1VOS05P V05fQ0hBUlNFVDsKKyAjZWxzZQorZGlmZiAtLWdpdCBhL3VuaXR0ZXN0L01ha2VmaWxlIGIvdW5p dHRlc3QvTWFrZWZpbGUKK2luZGV4IDQyZGZmM2MzLi5jOTU0ZDQwMiAxMDA2NDQKKy0tLSBhL3Vu aXR0ZXN0L01ha2VmaWxlCisrKysgYi91bml0dGVzdC9NYWtlZmlsZQorQEAgLTEzLDYgKzEzLDcg QEAgQ1BQRkxBR1MgKz0gXAorIAorIENGTEFHUyArPSAtV2FsbCAtV2V4dHJhIC1XZXJyb3IgLWcK KyBMRExJQlMgKz0gJChUT1ApL3NyYy8ubGlicy9saWJldHBhbi5hIC1seiAtbHNhc2wyIC1scHRo cmVhZAorK0xETElCUyArPSAkKHNoZWxsIHBrZy1jb25maWcgLS1saWJzIGljdS11YyAyPi9kZXYv bnVsbCkKKyBYTUwyX0NQUEZMQUdTIDo9IC1JJChzaGVsbCB4Y3J1biAtLXNob3ctc2RrLXBhdGgp L3Vzci9pbmNsdWRlL2xpYnhtbDIKKyBYTUwyX0xETElCUyA6PSAtbHhtbDIKKyBUSURZX0NQUEZM QUdTIDo9ICQoc2hlbGwgcGtnLWNvbmZpZyAtLWNmbGFncyB0aWR5IDI+L2Rldi9udWxsIHx8IHBy aW50ZiAnJXMnICItSSQkKGJyZXcgLS1wcmVmaXggdGlkeS1odG1sNSkvaW5jbHVkZSIpIC1JIC91 c3IvaW5jbHVkZS90aWR5CgpkaWZmIC0tZ2l0IGEvbGliZXRwYW4uc3BlYyBiL2xpYmV0cGFuLnNw ZWMKaW5kZXggZTkxZjBhZC4uYTdkYWIxMCAxMDA2NDQKLS0tIGEvbGliZXRwYW4uc3BlYworKysg Yi9saWJldHBhbi5zcGVjCkBAIC0xLDYgKzEsNiBAQAogTmFtZTogICAgICAgICAgIGxpYmV0cGFu CiBWZXJzaW9uOiAgICAgICAgMS4xMC4xCi1SZWxlYXNlOiAgICAgICAgMSV7P2Rpc3R9CitSZWxl YXNlOiAgICAgICAgMiV7P2Rpc3R9CiBTdW1tYXJ5OiAgICAgICAgUG9ydGFibGUsIGVmZmljaWVu dCBtaWRkbGUtd2FyZSBmb3IgZGlmZmVyZW50IGtpbmRzIG9mIG1haWwgYWNjZXNzCiAKICMgc3Jj L2JzZC9nZXRvcHQuYyBCU0QtNC1DbGF1c2UgKG5vdCB1c2VkKQpAQCAtMTEsMTkgKzExLDIzIEBA IFVSTDogICAgICAgICAgICBodHRwOi8vd3d3LmV0cGFuLm9yZy8KIFNvdXJjZTA6ICAgICAgICBo dHRwczovL2dpdGh1Yi5jb20vZGluaHZpZXRob2EvJXtuYW1lfS9hcmNoaXZlLyV7dmVyc2lvbn0v JXtuYW1lfS0le3ZlcnNpb259LnRhci5negogIyBzeXN0ZW0gY3J5cHRvIHBvbGljeSAoc2VlIHJo YnojMTE3OTMxMCkKIFBhdGNoMTA6ICAgICAgICBsaWJldHBhbi0xLjkuMi1jcnlwdG9wb2xpY3ku cGF0Y2gKLSMgeG1sRXJyb3IgY29uc3RuZXNzCi1QYXRjaDExOiAgICAgICAgbGliZXRwYW4tMS4x MC14bWxFcnJvci1jb25zdG5lc3MucGF0Y2gKICMgVXBzdHJlYW0gcGF0Y2hlcwotIworIyBodHRw czovL2dpdGh1Yi5jb20vZGluaHZoL2xpYmV0cGFuL2NvbW1pdC9kM2M5YmQ0OWU2ODE2NjBiYWZj ZTZmYzE5MzY1MGYwZGU1YWQ5MDhmCitQYXRjaDEwMToJCWxpYmV0cGFuLTEuMTAuMS11bml0dGV4 dC1wbGFpbnRleHQtcmVuZGVyaW5nLWZpeC1idWlsZC5wYXRjaAorIyBodHRwczovL2dpdGh1Yi5j b20vZGluaHZoL2xpYmV0cGFuL2NvbW1pdC8wMTQxYWJhN2U1NmQwYWU0NDUwYTk0Y2MzZTI2MTU2 N2ZiYzQ3NjgzCitQYXRjaDEwMjoJCWxpYmV0cGFuLTEuMTAuMS11c2UtaWN1LWZvci1qYXBhbmVz ZS1jb252ZXJzaW9uLnBhdGNoCiAKLUJ1aWxkUmVxdWlyZXM6ICBnY2MtYysrCi1CdWlsZFJlcXVp cmVzOiAgbGlibG9ja2ZpbGUtZGV2ZWwKLUJ1aWxkUmVxdWlyZXM6ICBsaWJkYi1kZXZlbCA8IDUu NAogQnVpbGRSZXF1aXJlczogIGN5cnVzLXNhc2wtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6ICBnbnV0 bHMtZGV2ZWwKLUJ1aWxkUmVxdWlyZXM6ICBsaWJ0b29sCitCdWlsZFJlcXVpcmVzOiAgbGliZGIt ZGV2ZWwgPCA1LjQKK0J1aWxkUmVxdWlyZXM6ICBsaWJsb2NrZmlsZS1kZXZlbAorQnVpbGRSZXF1 aXJlczogIHBrZ2NvbmZpZyhpY3UtdWMpCiBCdWlsZFJlcXVpcmVzOiAgemxpYi1kZXZlbAotQnVp bGRSZXF1aXJlczogIGF1dG9jb25mIGF1dG9tYWtlCisKK0J1aWxkUmVxdWlyZXM6ICBhdXRvY29u ZgorQnVpbGRSZXF1aXJlczogIGF1dG9tYWtlCitCdWlsZFJlcXVpcmVzOiAgZ2NjLWMrKworQnVp bGRSZXF1aXJlczogIGxpYnRvb2wKIEJ1aWxkUmVxdWlyZXM6ICBtYWtlCiAjIGRpc2FibGVkIGJ5 IGRlZmF1bHQgaW4gY29uZmlndXJlLmFjIGFjY2lkZW50YWxseQogIyBodHRwczovL2dpdGh1Yi5j b20vZGluaHZpZXRob2EvbGliZXRwYW4vaXNzdWVzLzIyMQpAQCAtNTYsNyArNjAsOCBAQCBmaW5k IC4gLW5hbWUgXCouZ3ogLWRlbGV0ZQogc2VkIC1pLmZsYWdzIGxpYmV0cGFuLnBjLmluIFwKICAg ICAtZSAnc3wtbGV0cGFuQExJQlNVRkZJWEAuKiR8LWxldHBhbkBMSUJTVUZGSVhAfCcKICVwYXRj aCAtUDEwIC1wMSAtYiAuY3J5cHRvLXBvbGljeQotJXBhdGNoIC1QMTEgLXAxIC1iIC5jb25zdAor JXBhdGNoIC1QMTAxIC1wMSAtYiAucGxhaW50ZXh0CislcGF0Y2ggLVAxMDIgLXAxIC1iIC5qcF9p Y3UKIAogIyAyMDEzLTA4LTA1IEYyMCBkZXZlbG9wbWVudCwgYnogOTkyMDcwOiBUaGUgY29uZmln dXJlIHNjcmlwdHMgYWRkcyBzb21lCiAjIGV4dHJhIGxpYnMgdG8gdGhlIEdudVRMUyBsaW5rIG9w dGlvbnMsIHdoaWNoIGNhdXNlIHJlYnVpbGRzIHRvIGZhaWwsIHNpbmNlCkBAIC05OCw3ICsxMDMs NiBAQCBzZWQgLWkuc2hhcmVkIE1ha2VmaWxlIFwKIAktZSAnc3xsaWJldHBhbi5hfGxpYmV0cGFu LnNvfCcgXAogCS1lICdzfC1saWNvbnYgfHwnIFwKIAktZSAnc3wtV2Vycm9yIHwtV2Vycm9yIC1X bm8tZXJyb3I9ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMgfCcgXAotCS1lICdzfFwkKFRJRFlfTERM SUJTKSB8JChUSURZX0xETElCUykgLWxtIHwnIFwKIAkle25pbH0KIAogIyBwbGFpbnRleHRfcmVu ZGVyaW5nX3Rlc3Q6IG5lZWRzIFRaIChQRFQpCkBAIC0xMDYsOCArMTEwLDkgQEAgc2VkIC1pLnNo YXJlZCBNYWtlZmlsZSBcCiBleHBvcnQgVFo9IkFtZXJpY2EvTG9zX0FuZ2VsZXMiCiBwdXNoZCBw bGFpbnRleHQtcmVuZGVyaW5nL2RhdGEKIGlmIFsgISAtZCBpbnB1dC1mYWlsIF0gOyB0aGVuCi0J bWtkaXIgaW5wdXQtZmFpbAotCW12IGlucHV0LzUyMzEtZW1vamkuZW1sIGlucHV0LWZhaWwvCisJ dHJ1ZQorIwlta2RpciBpbnB1dC1mYWlsCisjCW12IGlucHV0LzUyMzEtZW1vamkuZW1sIGlucHV0 LWZhaWwvCiBmaQogcG9wZAogCkBAIC0xMzAsNiArMTM1LDkgQEAgcG9wZAogJXtfbGliZGlyfS8l e25hbWV9LnNvCiAKICVjaGFuZ2Vsb2cKKyogRnJpIEp1biAyNiAyMDI2IE1hbW9ydSBUQVNBS0Eg PG10YXNha2FAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS4xMC4xLTIKKy0gQmFja3BvcnQgdXBzdHJl YW0gcGF0Y2ggdG8gdXNlIElDVSBmb3IgSmFwYW5lc2UgY2hhcnNldCBjb252ZXJzaW9uCisKICog V2VkIEp1biAxNyAyMDI2IE1hbW9ydSBUQVNBS0EgPG10YXNha2FAZmVkb3JhcHJvamVjdC5vcmc+ IC0gMS4xMC4xLTEKIC0gMS4xMC4xCiAK