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: Jakub Jelinek To: git-commits@fedoraproject.org Subject: [rpms/gcc] rhel-f41-base: 10.0.1-0.10 Date: Mon, 29 Jun 2026 12:28:40 GMT Message-ID: <178273612024.1.17125013237237786242.rpms-gcc-5ae836ea9d85@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 5ae836ea9d850fc4cfa33d5a1ebc9d5ca86bc99a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogNWFlODM2ZWE5ZDg1MGZjNGNmYTMzZDVhMWViYzlkNWNh ODZiYzk5YQpBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgpEYXRlICAg OiAyMDIwLTAzLTI1VDExOjI3OjQyKzAxOjAwClN0YXRzICA6ICs4OS8tNTA3IGluIDYgZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2djYy9jLzVhZTgz NmVhOWQ4NTBmYzRjZmEzM2Q1YTFlYmM5ZDVjYTg2YmM5OWE/YnJhbmNoPXJoZWwtZjQxLWJhc2UK CkxvZzoKMTAuMC4xLTAuMTAKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25v cmUKaW5kZXggZWFjNDkzOC4uYjM0MjJmNCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8u Z2l0aWdub3JlCkBAIC03LDMgKzcsNCBAQAogL2djYy0xMC4wLjEtMjAyMDAxMzAudGFyLnh6CiAv Z2NjLTEwLjAuMS0yMDIwMDIxNi50YXIueHoKIC9nY2MtMTAuMC4xLTIwMjAwMzExLnRhci54egor L2djYy0xMC4wLjEtMjAyMDAzMjUudGFyLnh6CgpkaWZmIC0tZ2l0IGEvZ2NjLnNwZWMgYi9nY2Mu c3BlYwppbmRleCBhYTBiMjdmLi40ZDE5MDI1IDEwMDY0NAotLS0gYS9nY2Muc3BlYworKysgYi9n Y2Muc3BlYwpAQCAtMSwxMCArMSwxMCBAQAotJWdsb2JhbCBEQVRFIDIwMjAwMzExCi0lZ2xvYmFs IGdpdHJldiA2MWJjZGE2OWNhNWRjOWU5ZDVlMjVkZTdiOTE0ZGQzYTg2MDg5MjQ0CislZ2xvYmFs IERBVEUgMjAyMDAzMjUKKyVnbG9iYWwgZ2l0cmV2IDE3MTQ2MDg0ZTg5OTQwNmI3YjM5MDkzZTk0 NTU2MWM3MzdkZmUwMmMKICVnbG9iYWwgZ2NjX3ZlcnNpb24gMTAuMC4xCiAlZ2xvYmFsIGdjY19t YWpvciAxMAogIyBOb3RlLCBnY2NfcmVsZWFzZSBtdXN0IGJlIGludGVnZXIsIGlmIHlvdSB3YW50 IHRvIGFkZCBzdWZmaXhlcyB0bwogIyAlJXtyZWxlYXNlfSwgYXBwZW5kIHRoZW0gYWZ0ZXIgJSV7 Z2NjX3JlbGVhc2V9IG9uIFJlbGVhc2U6IGxpbmUuCi0lZ2xvYmFsIGdjY19yZWxlYXNlIDAuOQor JWdsb2JhbCBnY2NfcmVsZWFzZSAwLjEwCiAlZ2xvYmFsIG52cHR4X3Rvb2xzX2dpdHJldiA1ZjZm MzQzYTMwMmQ2MjBiMDg2OGVkYWIzNzZjMDBiMTU3NDFlMzllCiAlZ2xvYmFsIG5ld2xpYl9jeWd3 aW5fZ2l0cmV2IDUwZTJhNjNiMDRiZGQwMTg0ODQ2MDVmYmI5NTRmZDFiZDUxNDdmYTAKICVnbG9i YWwgX3VucGFja2FnZWRfZmlsZXNfdGVybWluYXRlX2J1aWxkIDAKQEAgLTI2NCw4ICsyNjQsNyBA QCBQYXRjaDg6IGdjYzEwLWZvZmZsb2FkLWRlZmF1bHQucGF0Y2gKIFBhdGNoOTogZ2NjMTAtV25v LWZvcm1hdC1zZWN1cml0eS5wYXRjaAogUGF0Y2gxMDogZ2NjMTAtcmgxNTc0OTM2LnBhdGNoCiBQ YXRjaDExOiBnY2MxMC1kLXNoYXJlZC1saWJwaG9ib3MucGF0Y2gKLVBhdGNoMTI6IGdjYzEwLXBy OTQwMTUucGF0Y2gKLVBhdGNoMTM6IGdjYzEwLXByOTQxMzAucGF0Y2gKK1BhdGNoMTI6IGdjYzEw LXByOTQzMDgucGF0Y2gKIAogIyBPbiBBUk0gRUFCSSBzeXN0ZW1zLCB3ZSBkbyB3YW50IC1nbnVl YWJpIHRvIGJlIHBhcnQgb2YgdGhlCiAjIHRhcmdldCB0cmlwbGUuCkBAIC03NzcsOCArNzc2LDcg QEAgdG8gTlZpZGlhIFBUWCBjYXBhYmxlIGRldmljZXMgaWYgYXZhaWxhYmxlLgogJXBhdGNoMTAg LXAwIC1iIC5yaDE1NzQ5MzZ+CiAlZW5kaWYKICVwYXRjaDExIC1wMCAtYiAuZC1zaGFyZWQtbGli cGhvYm9zfgotJXBhdGNoMTIgLXAwIC1iIC5wcjk0MDE1fgotJXBhdGNoMTMgLXAwIC1iIC5wcjk0 MTMwfgorJXBhdGNoMTIgLXAwIC1iIC5wcjk0MzA4fgogCiBlY2hvICdSZWQgSGF0ICV7dmVyc2lv bn0tJXtnY2NfcmVsZWFzZX0nID4gZ2NjL0RFVi1QSEFTRQogCkBAIC0zMDA3LDYgKzMwMDUsMzYg QEAgZW5kCiAlZW5kaWYKIAogJWNoYW5nZWxvZworKiBXZWQgTWFyIDI1IDIwMjAgSmFrdWIgSmVs aW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTAuMC4xLTAuMTAKKy0gdXBkYXRlIGZyb20gdHJ1bmsK KyAgLSBQUnMgYW5hbHl6ZXIvOTQwNDcsIGFuYWx5emVyLzk0MDk5LCBhbmFseXplci85NDEwNSwg YysrLzY3OTYwLCBjKysvNjk2OTQsCisJYysrLzkwOTk1LCBjKysvOTE3NTksIGMrKy85MTk5Mywg YysrLzkyMDY4LCBjKysvOTI5MDksIGMrKy85MzI0OCwKKwljKysvOTM1OTYsIGMrKy85MzgwNSwg YysrLzkzOTMxLCBjKysvOTQwNDQsIGMrKy85NDA2NiwgYysrLzk0MTQ3LAorCWMrKy85NDE3NSwg YysrLzk0MTg2LCBjKysvOTQxOTAsIGMrKy85NDE5NywgYysrLzk0MjIzLCBjLzk0MDQwLAorCWMv OTQxNzIsIGMvOTQxNzksIGMvOTQyMzksIGQvOTIyMTYsIGQvOTIzMDksIGQvOTI3OTIsIGQvOTMw MzgsCisJZC85NDI0MCwgZGVidWcvOTM3NTEsIGRlYnVnLzk0MTY3LCBkZWJ1Zy85NDI3NywgZGVi dWcvOTQyODAsCisJZGVidWcvOTQyODMsIGRlYnVnLzk0Mjg1LCBmb3J0cmFuLzkzMzY1LCBmb3J0 cmFuLzkzNDg0LCBmb3J0cmFuLzkzNjAwLAorCWdjb3YtcHJvZmlsZS85NDAyOSwgaXBhLzkyMzcy LCBpcGEvOTI3OTksIGlwYS85MzM0NywgaXBhLzk0MjAyLAorCWlwYS85NDIxNywgaXBhLzk0MjMy LCBpcGEvOTQyNDUsIGlwYS85NDI1MCwgbGliZ29tcC84MTY4OSwKKwlsaWJnb21wLzk0MjUxLCBs aWJzdGRjKysvOTMyNDUsIGxpYnN0ZGMrKy85NDAzMywgbGlic3RkYysrLzk0MTk5LAorCWxpYnN0 ZGMrKy85NDIwMywgbGlic3RkYysrLzk0MjQyLCBsdG8vOTEwMjcsIGx0by85NDE1NywgbHRvLzk0 MjQ5LAorCW1pZGRsZS1lbmQvOTIwNzEsIG1pZGRsZS1lbmQvOTM1NjYsIG1pZGRsZS1lbmQvOTQw NzIsCisJbWlkZGxlLWVuZC85NDEyMCwgbWlkZGxlLWVuZC85NDE4OCwgbWlkZGxlLWVuZC85NDE4 OSwKKwltaWRkbGUtZW5kLzk0MjA2LCBtaWRkbGUtZW5kLzk0MjE2LCBtaWRkbGUtZW5kLzk0MjMz LAorCW1pZGRsZS1lbmQvOTQzMDMsIHJ0bC1vcHRpbWl6YXRpb24vOTAyNzUsIHJ0bC1vcHRpbWl6 YXRpb24vOTIzMDMsCisJcnRsLW9wdGltaXphdGlvbi85NDA0MiwgcnRsLW9wdGltaXphdGlvbi85 NDA1MiwKKwlydGwtb3B0aW1pemF0aW9uLzk0MTE5LCBydGwtb3B0aW1pemF0aW9uLzk0MTQ4LCB0 YXJnZXQvOTIzNzksCisJdGFyZ2V0LzkzNjk0LCB0YXJnZXQvOTQwNTIsIHRhcmdldC85NDE0NCwg dGFyZ2V0Lzk0MTU0LCB0YXJnZXQvOTQxNzYsCisJdGFyZ2V0Lzk0MTg1LCB0YXJnZXQvOTQyMDEs IHRhcmdldC85NDIzOCwgdGFyZ2V0Lzk0Mjg2LAorCXRlc3RzdWl0ZS85MzkzNSwgdHJlZS1vcHRp bWl6YXRpb24vOTM0MzUsIHRyZWUtb3B0aW1pemF0aW9uLzk0MTAzLAorCXRyZWUtb3B0aW1pemF0 aW9uLzk0MTI1LCB0cmVlLW9wdGltaXphdGlvbi85NDE2MywKKwl0cmVlLW9wdGltaXphdGlvbi85 NDE2NiwgdHJlZS1vcHRpbWl6YXRpb24vOTQxODcsCisJdHJlZS1vcHRpbWl6YXRpb24vOTQyMTEs IHRyZWUtb3B0aW1pemF0aW9uLzk0MjI0LAorCXRyZWUtb3B0aW1pemF0aW9uLzk0MjYxLCB0cmVl LW9wdGltaXphdGlvbi85NDI2NiwKKwl0cmVlLW9wdGltaXphdGlvbi85NDMwMAorLSBmaXggSUNF IGluIGZpbmFsX3NjYW5faW5zbl8xIG9uIGk2ODYgd2l0aCB2emVyb3VwcGVyICgjMTgxNjc2MCwK KyAgUFIgdGFyZ2V0Lzk0MzA4KQorCiAqIFdlZCBNYXIgMTEgMjAyMCBKYWt1YiBKZWxpbmVrIDxq YWt1YkByZWRoYXQuY29tPiAxMC4wLjEtMC45CiAtIHVwZGF0ZSBmcm9tIHRydW5rCiAgIC0gUFJz IGFkYS85MTEwMCwgYW5hbHl6ZXIvOTMwMzIsIGFuYWx5emVyLzkzMzg4LCBhbmFseXplci85MzY5 MiwKCmRpZmYgLS1naXQgYS9nY2MxMC1wcjk0MDE1LnBhdGNoIGIvZ2NjMTAtcHI5NDAxNS5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODIyZGI3Mi4uMDAwMDAwMAotLS0gYS9n Y2MxMC1wcjk0MDE1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDE0ICswLDAgQEAKLTIwMjAt MDMtMDMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgotCi0JUFIgdHJlZS1vcHRp bWl6YXRpb24vOTQwMTUKLQkqIHRyZWUtc3NhLXN0cmxlbi5jIChjb3VudF9ub256ZXJvX2J5dGVz KTogU3BsaXQgcG9ydGlvbnMgb2YgdGhlCi0JZnVuY3Rpb24gd2hlcmUgRVhQIGlzIGFkZHJlc3Mg b2YgdGhlIGJ5dGVzIGJlaW5nIHN0b3JlZCByYXRoZXIgdGhhbgotCXRoZSBieXRlcyB0aGVtc2Vs dmVzIGludG8gY291bnRfbm9uemVyb19ieXRlc19hZGRyLiAgUHVudCBvbiB6ZXJvCi0Jc2l6ZWQg TUVNX1JFRi4gIFVzZSBWQVJfUCBtYWNybyBhbmQgaGFuZGxlIENPTlNUX0RFQ0wgbGlrZSBWQVJf REVDTHMuCi0JVXNlIGN0b3JfZm9yX2ZvbGRpbmcgaW5zdGVhZCBvZiBsb29raW5nIGF0IERFQ0xf SU5JVElBTC4gIFB1bnQgYmVmb3JlCi0JY2FsbGluZyBuYXRpdmVfZW5jb2RlX2V4cHIgaWYgaG9z dCBvciB0YXJnZXQgZG9lc24ndCBoYXZlIDgtYml0Ci0JY2hhcnMuICBGb3JtYXR0aW5nIGZpeGVz LgotCShjb3VudF9ub256ZXJvX2J5dGVzX2FkZHIpOiBOZXcgZnVuY3Rpb24uCi0KLQkqIGdjYy5k Zy9wcjk0MDE1LmM6IE5ldyB0ZXN0LgotCi0tLS0gZ2NjL3RyZWUtc3NhLXN0cmxlbi5jLmpqCTIw MjAtMDMtMDMgMDc6NTc6MjIuMzI0MTI0MDQyICswMTAwCi0rKysgZ2NjL3RyZWUtc3NhLXN0cmxl bi5jCTIwMjAtMDMtMDMgMTg6Mzc6MjkuMzgyNzIyOTIzICswMTAwCi1AQCAtNDU4NSw2ICs0NTg1 LDExIEBAIGludCBzc2FfbmFtZV9saW1pdF90OjpuZXh0X3NzYV9uYW1lICh0cmUKLSAgIHJldHVy biAwOwotIH0KLSAKLStzdGF0aWMgYm9vbAotK2NvdW50X25vbnplcm9fYnl0ZXNfYWRkciAodHJl ZSwgdW5zaWduZWQgSE9TVF9XSURFX0lOVCwgdW5zaWduZWQgSE9TVF9XSURFX0lOVCwKLSsJCQkg IHVuc2lnbmVkIFszXSwgYm9vbCAqLCBib29sICosIGJvb2wgKiwKLSsJCQkgIGNvbnN0IHZyX3Zh bHVlcyAqLCBzc2FfbmFtZV9saW1pdF90ICYpOwotKwotIC8qIERldGVybWluZXMgdGhlIG1pbmlt dW0gYW5kIG1heGltdW0gbnVtYmVyIG9mIGxlYWRpbmcgbm9uLXplcm8gYnl0ZXMKLSAgICBpbiB0 aGUgcmVwcmVzZW50YXRpb24gb2YgRVhQIGFuZCBzZXQgTEVOUkFOR0VbMF0gYW5kIExFTlJBTkdF WzFdCi0gICAgdG8gZWFjaC4KLUBAIC00NjA3LDEwMiArNDYxMiw2IEBAIGNvdW50X25vbnplcm9f Ynl0ZXMgKHRyZWUgZXhwLCB1bnNpZ25lZAotIAkJICAgICBib29sICphbGxudWwsIGJvb2wgKmFs bG5vbm51bCwgY29uc3QgdnJfdmFsdWVzICpydmFscywKLSAJCSAgICAgc3NhX25hbWVfbGltaXRf dCAmc25saW0pCi0gewotLSAgaW50IGlkeCA9IGdldF9zdHJpZHggKGV4cCk7Ci0tICBpZiAoaWR4 ID4gMCkKLS0gICAgewotLSAgICAgIHN0cmluZm8gKnNpID0gZ2V0X3N0cmluZm8gKGlkeCk7Ci0t ICAgICAgaWYgKCFzaSkKLS0JcmV0dXJuIGZhbHNlOwotLQotLSAgICAgIC8qIEhhbmRsZSBib3Ro IGNvbnN0YW50IGxlbmd0aHMgYXMgd2VsbCBub24tY29uc3RhbnQgbGVuZ3RocwotLQkgaW4gc29t ZSByYW5nZS4gICovCi0tICAgICAgdW5zaWduZWQgSE9TVF9XSURFX0lOVCBtaW5sZW4sIG1heGxl bjsKLS0gICAgICBpZiAodHJlZV9maXRzX3Nod2lfcCAoc2ktPm5vbnplcm9fY2hhcnMpKQotLQlt aW5sZW4gPSBtYXhsZW4gPSB0cmVlX3RvX3Nod2kgKHNpLT5ub256ZXJvX2NoYXJzKTsKLS0gICAg ICBlbHNlIGlmIChuYnl0ZXMKLS0JICAgICAgICYmIHNpLT5ub256ZXJvX2NoYXJzCi0tCSAgICAg ICAmJiBUUkVFX0NPREUgKHNpLT5ub256ZXJvX2NoYXJzKSA9PSBTU0FfTkFNRSkKLS0JewotLQkg IGNvbnN0IHZhbHVlX3JhbmdlX2VxdWl2ICp2cgotLQkgICAgPSBDT05TVF9DQVNUIChjbGFzcyB2 cl92YWx1ZXMgKiwgcnZhbHMpCi0tCSAgICAtPmdldF92YWx1ZV9yYW5nZSAoc2ktPm5vbnplcm9f Y2hhcnMpOwotLQkgIGlmICh2ci0+a2luZCAoKSAhPSBWUl9SQU5HRQotLQkgICAgICB8fCAhcmFu Z2VfaW50X2NzdF9wICh2cikpCi0tCSAgICByZXR1cm4gZmFsc2U7Ci0tCi0tCSBtaW5sZW4gPSB0 cmVlX3RvX3Vod2kgKHZyLT5taW4gKCkpOwotLQkgbWF4bGVuID0gdHJlZV90b191aHdpICh2ci0+ bWF4ICgpKTsKLS0JfQotLSAgICAgIGVsc2UKLS0JcmV0dXJuIGZhbHNlOwotLQotLSAgICAgIGlm IChtYXhsZW4gPCBvZmZzZXQpCi0tCXJldHVybiBmYWxzZTsKLS0KLS0gICAgICBtaW5sZW4gPSBt aW5sZW4gPCBvZmZzZXQgPyAwIDogbWlubGVuIC0gb2Zmc2V0OwotLSAgICAgIG1heGxlbiAtPSBv ZmZzZXQ7Ci0tICAgICAgaWYgKG1heGxlbiArIDEgPCBuYnl0ZXMpCi0tCXJldHVybiBmYWxzZTsK LS0KLS0gICAgICBpZiAoIW5ieXRlcwotLQkgICYmIFRSRUVfQ09ERSAoc2ktPnB0cikgPT0gU1NB X05BTUUKLS0JICAmJiAhUE9JTlRFUl9UWVBFX1AgKFRSRUVfVFlQRSAoc2ktPnB0cikpKQotLQl7 Ci0tCSAgLyogU0ktPlBUUiBpcyBhbiBTU0FfTkFNRSB3aXRoIGEgREVGX1NUTVQgbGlrZQotLQkg ICAgICAgXzEgPSBNRU0gPHVuc2lnbmVkIGludD4gWyhjaGFyICoge3JlZi1hbGx9KXNfNChEKV07 ICAqLwotLQkgIGdpbXBsZSAqc3RtdCA9IFNTQV9OQU1FX0RFRl9TVE1UIChleHApOwotLQkgIGlm IChnaW1wbGVfYXNzaWduX3NpbmdsZV9wIChzdG10KQotLQkgICAgICAmJiBnaW1wbGVfYXNzaWdu X3Joc19jb2RlIChzdG10KSA9PSBNRU1fUkVGKQotLQkgICAgewotLQkgICAgICB0cmVlIHJocyA9 IGdpbXBsZV9hc3NpZ25fcmhzMSAoc3RtdCk7Ci0tCSAgICAgIGlmICh0cmVlIHJlZnNpemUgPSBU WVBFX1NJWkVfVU5JVCAoVFJFRV9UWVBFIChyaHMpKSkKLS0JCWlmICh0cmVlX2ZpdHNfdWh3aV9w IChyZWZzaXplKSkKLS0JCSAgewotLQkJICAgIG5ieXRlcyA9IHRyZWVfdG9fdWh3aSAocmVmc2l6 ZSk7Ci0tCQkgICAgbWF4bGVuID0gbmJ5dGVzOwotLQkJICB9Ci0tCSAgICB9Ci0tCi0tCSAgaWYg KCFuYnl0ZXMpCi0tCSAgICByZXR1cm4gZmFsc2U7Ci0tCX0KLS0KLS0gICAgICBpZiAobmJ5dGVz IDw9IG1pbmxlbikKLS0JKm51bHRlcm0gPSBmYWxzZTsKLS0KLS0gICAgICBpZiAobmJ5dGVzIDwg bWlubGVuKQotLQl7Ci0tCSAgbWlubGVuID0gbmJ5dGVzOwotLQkgIGlmIChuYnl0ZXMgPCBtYXhs ZW4pCi0tCSAgICBtYXhsZW4gPSBuYnl0ZXM7Ci0tCX0KLS0KLS0gICAgICBpZiAobWlubGVuIDwg bGVucmFuZ2VbMF0pCi0tCWxlbnJhbmdlWzBdID0gbWlubGVuOwotLSAgICAgIGlmIChsZW5yYW5n ZVsxXSA8IG1heGxlbikKLS0JbGVucmFuZ2VbMV0gPSBtYXhsZW47Ci0tCi0tICAgICAgaWYgKGxl bnJhbmdlWzJdIDwgbmJ5dGVzKQotLQlsZW5yYW5nZVsyXSA9IG5ieXRlczsKLS0KLS0gICAgICAv KiBTaW5jZSBvbmx5IHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBhcmUga25vd24gYW5kIG5vdCBp dHMgY29udGVudHMsCi0tCSBjbGVhciBBTExOVUwgYW5kIEFMTE5PTk5VTCBwdXJlbHkgb24gdGhl IGJhc2lzIG9mIHRoZSBsZW5ndGguICAqLwotLSAgICAgICphbGxudWwgPSBmYWxzZTsKLS0gICAg ICBpZiAobWlubGVuIDwgbmJ5dGVzKQotLQkqYWxsbm9ubnVsID0gZmFsc2U7Ci0tCi0tICAgICAg cmV0dXJuIHRydWU7Ci0tICAgIH0KLS0KLS0gIGlmIChUUkVFX0NPREUgKGV4cCkgPT0gQUREUl9F WFBSKQotLSAgICB7Ci0tICAgICAgLyogSWYgdGhlIHNpemUgb2YgdGhlIGFjY2VzcyBoYXNuJ3Qg YmVlbiBkZXRlcm1pbmVkIHlldCBpdCdzIHRoYXQKLS0JIG9mIGEgcG9pbnRlci4gICovCi0tICAg ICAgaWYgKCFuYnl0ZXMpCi0tCW5ieXRlcyA9IHRyZWVfdG9fdWh3aSAoVFlQRV9TSVpFX1VOSVQg KFRSRUVfVFlQRSAoZXhwKSkpOwotLSAgICAgIGV4cCA9IFRSRUVfT1BFUkFORCAoZXhwLCAwKTsK LS0gICAgfQotLQotICAgaWYgKFRSRUVfQ09ERSAoZXhwKSA9PSBTU0FfTkFNRSkKLSAgICAgewot ICAgICAgIC8qIEhhbmRsZSBub24temVybyBzaW5nbGUtY2hhcmFjdGVyIHN0b3JlcyBzcGVjaWFs bHkuICAqLwotQEAgLTQ3NTgsOCArNDY2Nyw3IEBAIGNvdW50X25vbnplcm9fYnl0ZXMgKHRyZWUg ZXhwLCB1bnNpZ25lZAotICAgICAgIHRyZWUgYXJnID0gVFJFRV9PUEVSQU5EIChleHAsIDApOwot ICAgICAgIHRyZWUgb2ZmID0gVFJFRV9PUEVSQU5EIChleHAsIDEpOwotIAotLSAgICAgIGlmIChU UkVFX0NPREUgKG9mZikgIT0gSU5URUdFUl9DU1QKLS0JICB8fCAhdHJlZV9maXRzX3Vod2lfcCAo b2ZmKSkKLSsgICAgICBpZiAoVFJFRV9DT0RFIChvZmYpICE9IElOVEVHRVJfQ1NUIHx8ICF0cmVl X2ZpdHNfdWh3aV9wIChvZmYpKQotIAlyZXR1cm4gZmFsc2U7Ci0gCi0gICAgICAgdW5zaWduZWQg SE9TVF9XSURFX0lOVCB3aW9mZiA9IHRyZWVfdG9fdWh3aSAob2ZmKTsKLUBAIC00Nzc2LDE1ICs0 Njg0LDE3IEBAIGNvdW50X25vbnplcm9fYnl0ZXMgKHRyZWUgZXhwLCB1bnNpZ25lZAotICAgICAg IGlmICghdHlwZXNpemUgfHwgIXRyZWVfZml0c191aHdpX3AgKHR5cGVzaXplKSkKLSAJcmV0dXJu IGZhbHNlOwotICAgICAgIG5ieXRlcyA9IHRyZWVfdG9fdWh3aSAodHlwZXNpemUpOwotKyAgICAg IGlmICghbmJ5dGVzKQotKwlyZXR1cm4gZmFsc2U7Ci0gCi0gICAgICAgLyogSGFuZGxlIE1FTV9S RUYgPSBTU0FfTkFNRSB0eXBlcyBvZiBhc3NpZ25tZW50cy4gICovCi0tICAgICAgcmV0dXJuIGNv dW50X25vbnplcm9fYnl0ZXMgKGFyZywgb2Zmc2V0LCBuYnl0ZXMsIGxlbnJhbmdlLCBudWx0ZXJt LAotLQkJCQkgIGFsbG51bCwgYWxsbm9ubnVsLCBydmFscywgc25saW0pOwotKyAgICAgIHJldHVy biBjb3VudF9ub256ZXJvX2J5dGVzX2FkZHIgKGFyZywgb2Zmc2V0LCBuYnl0ZXMsIGxlbnJhbmdl LCBudWx0ZXJtLAotKwkJCQkgICAgICAgYWxsbnVsLCBhbGxub25udWwsIHJ2YWxzLCBzbmxpbSk7 Ci0gICAgIH0KLSAKLS0gIGlmIChUUkVFX0NPREUgKGV4cCkgPT0gVkFSX0RFQ0wgJiYgVFJFRV9S RUFET05MWSAoZXhwKSkKLSsgIGlmIChWQVJfUCAoZXhwKSB8fCBUUkVFX0NPREUgKGV4cCkgPT0g Q09OU1RfREVDTCkKLSAgICAgewotLSAgICAgIGV4cCA9IERFQ0xfSU5JVElBTCAoZXhwKTsKLSsg ICAgICBleHAgPSBjdG9yX2Zvcl9mb2xkaW5nIChleHApOwotICAgICAgIGlmICghZXhwKQotIAly ZXR1cm4gZmFsc2U7Ci0gICAgIH0KLUBAIC00ODA5LDYgKzQ3MTksOCBAQCBjb3VudF9ub256ZXJv X2J5dGVzICh0cmVlIGV4cCwgdW5zaWduZWQKLSAgIHVuc2lnbmVkIGNoYXIgYnVmWzI1Nl07Ci0g ICBpZiAoIXByZXApCi0gICAgIHsKLSsgICAgICBpZiAoQ0hBUl9CSVQgIT0gOCB8fCBCSVRTX1BF Ul9VTklUICE9IDgpCi0rCXJldHVybiBmYWxzZTsKLSAgICAgICAvKiBJZiB0aGUgcG9pbnRlciB0 byByZXByZXNlbnRhdGlvbiBoYXNuJ3QgYmVlbiBzZXQgYWJvdmUKLSAJIGZvciBTVFJJTkdfQ1NU IHBvaW50IGl0IGF0IHRoZSBidWZmZXIuICAqLwotICAgICAgIHByZXAgPSByZWludGVycHJldF9j YXN0IDxjaGFyICo+KGJ1Zik7Ci1AQCAtNDg1Miw4ICs0NzY0LDggQEAgY291bnRfbm9uemVyb19i eXRlcyAodHJlZSBleHAsIHVuc2lnbmVkCi0gICBpZiAobikKLSAgICAgewotICAgICAgIC8qIFdo ZW4gdGhlIGluaXRpYWwgbnVtYmVyIG9mIG5vbi16ZXJvIGJ5dGVzIE4gaXMgbm9uLXplcm8sIHJl c2V0Ci0tICAgICAgICpBTExOVUw7IGlmIE4gaXMgbGVzcyB0aGFuIHRoYXQgdGhlIHNpemUgb2Yg dGhlIHJlcHJlc2VudGF0aW9uCi0tICAgICAgIGFsc28gY2xlYXIgKkFMTE5PTk5VTC4gICovCi0r CSAqQUxMTlVMOyBpZiBOIGlzIGxlc3MgdGhhbiB0aGF0IHRoZSBzaXplIG9mIHRoZSByZXByZXNl bnRhdGlvbgotKwkgYWxzbyBjbGVhciAqQUxMTk9OTlVMLiAgKi8KLSAgICAgICAqYWxsbnVsID0g ZmFsc2U7Ci0gICAgICAgaWYgKG4gPCBuYnl0ZXMpCi0gCSphbGxub25udWwgPSBmYWxzZTsKLUBA IC00ODc5LDYgKzQ3OTEsMTIwIEBAIGNvdW50X25vbnplcm9fYnl0ZXMgKHRyZWUgZXhwLCB1bnNp Z25lZAotICAgcmV0dXJuIHRydWU7Ci0gfQotIAotKy8qIExpa2UgY291bnRfbm9uemVyb19ieXRl cywgYnV0IGluc3RlYWQgb2YgY291bnRpbmcgYnl0ZXMgaW4gRVhQLCBjb3VudAotKyAgIGJ5dGVz IHRoYXQgYXJlIHBvaW50ZWQgdG8gYnkgRVhQLCB3aGljaCBzaG91bGQgYmUgYSBwb2ludGVyLiAg Ki8KLSsKLStzdGF0aWMgYm9vbAotK2NvdW50X25vbnplcm9fYnl0ZXNfYWRkciAodHJlZSBleHAs IHVuc2lnbmVkIEhPU1RfV0lERV9JTlQgb2Zmc2V0LAotKwkJCSAgdW5zaWduZWQgSE9TVF9XSURF X0lOVCBuYnl0ZXMsCi0rCQkJICB1bnNpZ25lZCBsZW5yYW5nZVszXSwgYm9vbCAqbnVsdGVybSwK LSsJCQkgIGJvb2wgKmFsbG51bCwgYm9vbCAqYWxsbm9ubnVsLAotKwkJCSAgY29uc3QgdnJfdmFs dWVzICpydmFscywgc3NhX25hbWVfbGltaXRfdCAmc25saW0pCi0rewotKyAgaW50IGlkeCA9IGdl dF9zdHJpZHggKGV4cCk7Ci0rICBpZiAoaWR4ID4gMCkKLSsgICAgewotKyAgICAgIHN0cmluZm8g KnNpID0gZ2V0X3N0cmluZm8gKGlkeCk7Ci0rICAgICAgaWYgKCFzaSkKLSsJcmV0dXJuIGZhbHNl OwotKwotKyAgICAgIC8qIEhhbmRsZSBib3RoIGNvbnN0YW50IGxlbmd0aHMgYXMgd2VsbCBub24t Y29uc3RhbnQgbGVuZ3RocwotKwkgaW4gc29tZSByYW5nZS4gICovCi0rICAgICAgdW5zaWduZWQg SE9TVF9XSURFX0lOVCBtaW5sZW4sIG1heGxlbjsKLSsgICAgICBpZiAodHJlZV9maXRzX3Nod2lf cCAoc2ktPm5vbnplcm9fY2hhcnMpKQotKwltaW5sZW4gPSBtYXhsZW4gPSB0cmVlX3RvX3Nod2kg KHNpLT5ub256ZXJvX2NoYXJzKTsKLSsgICAgICBlbHNlIGlmIChzaS0+bm9uemVyb19jaGFycwot KwkgICAgICAgJiYgVFJFRV9DT0RFIChzaS0+bm9uemVyb19jaGFycykgPT0gU1NBX05BTUUpCi0r CXsKLSsJICB2cl92YWx1ZXMgKnYgPSBDT05TVF9DQVNUICh2cl92YWx1ZXMgKiwgcnZhbHMpOwot KwkgIGNvbnN0IHZhbHVlX3JhbmdlX2VxdWl2ICp2ciA9IHYtPmdldF92YWx1ZV9yYW5nZSAoc2kt Pm5vbnplcm9fY2hhcnMpOwotKwkgIGlmICh2ci0+a2luZCAoKSAhPSBWUl9SQU5HRSB8fCAhcmFu Z2VfaW50X2NzdF9wICh2cikpCi0rCSAgICByZXR1cm4gZmFsc2U7Ci0rCi0rCSAgbWlubGVuID0g dHJlZV90b191aHdpICh2ci0+bWluICgpKTsKLSsJICBtYXhsZW4gPSB0cmVlX3RvX3Vod2kgKHZy LT5tYXggKCkpOwotKwl9Ci0rICAgICAgZWxzZQotKwlyZXR1cm4gZmFsc2U7Ci0rCi0rICAgICAg aWYgKG1heGxlbiA8IG9mZnNldCkKLSsJcmV0dXJuIGZhbHNlOwotKwotKyAgICAgIG1pbmxlbiA9 IG1pbmxlbiA8IG9mZnNldCA/IDAgOiBtaW5sZW4gLSBvZmZzZXQ7Ci0rICAgICAgbWF4bGVuIC09 IG9mZnNldDsKLSsgICAgICBpZiAobWF4bGVuICsgMSA8IG5ieXRlcykKLSsJcmV0dXJuIGZhbHNl OwotKwotKyAgICAgIGlmIChuYnl0ZXMgPD0gbWlubGVuKQotKwkqbnVsdGVybSA9IGZhbHNlOwot KwotKyAgICAgIGlmIChuYnl0ZXMgPCBtaW5sZW4pCi0rCXsKLSsJICBtaW5sZW4gPSBuYnl0ZXM7 Ci0rCSAgaWYgKG5ieXRlcyA8IG1heGxlbikKLSsJICAgIG1heGxlbiA9IG5ieXRlczsKLSsJfQot KwotKyAgICAgIGlmIChtaW5sZW4gPCBsZW5yYW5nZVswXSkKLSsJbGVucmFuZ2VbMF0gPSBtaW5s ZW47Ci0rICAgICAgaWYgKGxlbnJhbmdlWzFdIDwgbWF4bGVuKQotKwlsZW5yYW5nZVsxXSA9IG1h eGxlbjsKLSsKLSsgICAgICBpZiAobGVucmFuZ2VbMl0gPCBuYnl0ZXMpCi0rCWxlbnJhbmdlWzJd ID0gbmJ5dGVzOwotKwotKyAgICAgIC8qIFNpbmNlIG9ubHkgdGhlIGxlbmd0aCBvZiB0aGUgc3Ry aW5nIGFyZSBrbm93biBhbmQgbm90IGl0cyBjb250ZW50cywKLSsJIGNsZWFyIEFMTE5VTCBhbmQg QUxMTk9OTlVMIHB1cmVseSBvbiB0aGUgYmFzaXMgb2YgdGhlIGxlbmd0aC4gICovCi0rICAgICAg KmFsbG51bCA9IGZhbHNlOwotKyAgICAgIGlmIChtaW5sZW4gPCBuYnl0ZXMpCi0rCSphbGxub25u dWwgPSBmYWxzZTsKLSsKLSsgICAgICByZXR1cm4gdHJ1ZTsKLSsgICAgfQotKwotKyAgaWYgKFRS RUVfQ09ERSAoZXhwKSA9PSBBRERSX0VYUFIpCi0rICAgIHJldHVybiBjb3VudF9ub256ZXJvX2J5 dGVzIChUUkVFX09QRVJBTkQgKGV4cCwgMCksIG9mZnNldCwgbmJ5dGVzLAotKwkJCQlsZW5yYW5n ZSwgbnVsdGVybSwgYWxsbnVsLCBhbGxub25udWwsIHJ2YWxzLAotKwkJCQlzbmxpbSk7Ci0rCi0r ICBpZiAoVFJFRV9DT0RFIChleHApID09IFNTQV9OQU1FKQotKyAgICB7Ci0rICAgICAgZ2ltcGxl ICpzdG10ID0gU1NBX05BTUVfREVGX1NUTVQgKGV4cCk7Ci0rICAgICAgaWYgKGdpbXBsZV9jb2Rl IChzdG10KSA9PSBHSU1QTEVfUEhJKQotKwl7Ci0rCSAgLyogQXZvaWQgcHJvY2Vzc2luZyBhbiBT U0FfTkFNRSB0aGF0IGhhcyBhbHJlYWR5IGJlZW4gdmlzaXRlZAotKwkgICAgIG9yIGlmIGFuIFNT QV9OQU1FIGxpbWl0IGhhcyBiZWVuIHJlYWNoZWQuICBJbmRpY2F0ZSBzdWNjZXNzCi0rCSAgICAg aWYgdGhlIGZvcm1lciBhbmQgZmFpbHVyZSBpZiB0aGUgbGF0dGVyLiAgKi8KLSsJICBpZiAoaW50 IHJlcyA9IHNubGltLm5leHRfc3NhX25hbWUgKGV4cCkpCi0rCSAgICByZXR1cm4gcmVzID4gMDsK LSsKLSsJICAvKiBEZXRlcm1pbmUgdGhlIG1pbmltdW0gYW5kIG1heGltdW0gZnJvbSB0aGUgUEhJ IGFyZ3VtZW50cy4gICovCi0rCSAgdW5zaWduZWQgaW50IG4gPSBnaW1wbGVfcGhpX251bV9hcmdz IChzdG10KTsKLSsJICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpICE9IG47IGkrKykKLSsJICAgIHsK LSsJICAgICAgdHJlZSBkZWYgPSBnaW1wbGVfcGhpX2FyZ19kZWYgKHN0bXQsIGkpOwotKwkgICAg ICBpZiAoIWNvdW50X25vbnplcm9fYnl0ZXNfYWRkciAoZGVmLCBvZmZzZXQsIG5ieXRlcywgbGVu cmFuZ2UsCi0rCQkJCQkgICAgIG51bHRlcm0sIGFsbG51bCwgYWxsbm9ubnVsLCBydmFscywKLSsJ CQkJCSAgICAgc25saW0pKQotKwkJcmV0dXJuIGZhbHNlOwotKwkgICAgfQotKwotKwkgIHJldHVy biB0cnVlOwotKwl9Ci0rICAgIH0KLSsKLSsgIC8qIE90aGVyd2lzZSB3ZSBkb24ndCBrbm93IGFu eXRoaW5nLiAgKi8KLSsgIGxlbnJhbmdlWzBdID0gMDsKLSsgIGlmIChsZW5yYW5nZVsxXSA8IG5i eXRlcykKLSsgICAgbGVucmFuZ2VbMV0gPSBuYnl0ZXM7Ci0rICBpZiAobGVucmFuZ2VbMl0gPCBu Ynl0ZXMpCi0rICAgIGxlbnJhbmdlWzJdID0gbmJ5dGVzOwotKyAgKm51bHRlcm0gPSBmYWxzZTsK LSsgICphbGxudWwgPSBmYWxzZTsKLSsgICphbGxub25udWwgPSBmYWxzZTsKLSsgIHJldHVybiB0 cnVlOwotK30KLSsKLSAvKiBTYW1lIGFzIGFib3ZlIGV4Y2VwdCB3aXRoIGFuIGltcGxpY2l0IFNT QV9OQU1FIGxpbWl0LiAgUlZBTFMgaXMgdXNlZAotICAgIHRvIGRldGVybWluZSByYW5nZXMgb2Yg ZHluYW1pY2FsbHkgY29tcHV0ZWQgc3RyaW5nIGxlbmd0aHMgKHRoZSByZXN1bHRzCi0gICAgb2Yg c3RybGVuKS4gICovCi0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI5NDAxNS5jLmpqCTIwMjAt MDMtMDMgMTg6MDQ6NDcuOTI4NTk0MjYxICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv cHI5NDAxNS5jCTIwMjAtMDMtMDMgMTg6MDQ6MzQuMzQ1Nzk0MjU5ICswMTAwCi1AQCAtMCwwICsx LDEwNyBAQAotKy8qIFBSIHRyZWUtb3B0aW1pemF0aW9uLzk0MDE1ICovCi0rLyogeyBkZy1kbyBy dW4gfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIiB9ICovCi0rCi0rY2hhciBidWZbMTBdID0g IkFBQUFBQUFBQSI7Ci0rCi0rX19hdHRyaWJ1dGVfXygobm9pcGEpKSBjaGFyICoKLSthbGxvYyAo dm9pZCkKLSt7Ci0rICByZXR1cm4gYnVmOwotK30KLSsKLStfX2F0dHJpYnV0ZV9fKChub2lwYSkp IHZvaWQKLStmMSAodm9pZCkKLSt7Ci0rICBjaGFyICpzID0gYWxsb2MgKCk7Ci0rICAqKGNoYXIg KiopcyA9ICIxMjM0NTY3IjsKLSsgIHNbN10gPSAnXDAnOwotK30KLSsKLStfX2F0dHJpYnV0ZV9f KChub2lwYSkpIHZvaWQKLStmMiAodm9pZCkKLSt7Ci0rICBjaGFyICpzID0gYWxsb2MgKCk7Ci0r ICAqKGNoYXIgKiopcyA9ICIxMjM0NTYiOwotKyAgc1s2XSA9ICdcMCc7Ci0rfQotKwotK19fYXR0 cmlidXRlX18oKG5vaXBhKSkgdm9pZAotK2YzICh2b2lkKQotK3sKLSsgIGNoYXIgKnMgPSBhbGxv YyAoKTsKLSsgICooY2hhciAqKilzID0gIjEyMzQ1IjsKLSsgIHNbNV0gPSAnXDAnOwotK30KLSsK LStfX2F0dHJpYnV0ZV9fKChub2lwYSkpIHZvaWQKLStmNCAodm9pZCkKLSt7Ci0rICBjaGFyICpz ID0gYWxsb2MgKCk7Ci0rICAqKGNoYXIgKiopcyA9ICIxMjM0IjsKLSsgIHNbNF0gPSAnXDAnOwot K30KLSsKLStfX2F0dHJpYnV0ZV9fKChub2lwYSkpIHZvaWQKLStmNSAodm9pZCkKLSt7Ci0rICBj aGFyICpzID0gYWxsb2MgKCk7Ci0rICAqKGNoYXIgKiopcyA9ICIxMjMiOwotKyAgc1szXSA9ICdc MCc7Ci0rfQotKwotK19fYXR0cmlidXRlX18oKG5vaXBhKSkgdm9pZAotK2Y2ICh2b2lkKQotK3sK LSsgIGNoYXIgKnMgPSBhbGxvYyAoKTsKLSsgICooY2hhciAqKilzID0gIjEyIjsKLSsgIHNbMl0g PSAnXDAnOwotK30KLSsKLStfX2F0dHJpYnV0ZV9fKChub2lwYSkpIHZvaWQKLStmNyAodm9pZCkK LSt7Ci0rICBjaGFyICpzID0gYWxsb2MgKCk7Ci0rICAqKGNoYXIgKiopcyA9ICIxIjsKLSsgIHNb MV0gPSAnXDAnOwotK30KLSsKLStfX2F0dHJpYnV0ZV9fKChub2lwYSkpIHZvaWQKLStmOCAodm9p ZCkKLSt7Ci0rICBjaGFyICpzID0gYWxsb2MgKCk7Ci0rICAqKGNoYXIgKiopcyA9ICIiOwotKyAg c1swXSA9ICdcMCc7Ci0rfQotKwotK2ludAotK21haW4gKCkKLSt7Ci0rICBpZiAoc2l6ZW9mIChj aGFyICopID4gOCkKLSsgICAgcmV0dXJuIDA7Ci0rICBmMSAoKTsKLSsgIGlmIChidWZbN10gIT0g MCkKLSsgICAgX19idWlsdGluX2Fib3J0ICgpOwotKyAgZjIgKCk7Ci0rICBpZiAoYnVmWzZdICE9 IDApCi0rICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIGYzICgpOwotKyAgaWYgKGJ1Zls1XSAh PSAwKQotKyAgICBfX2J1aWx0aW5fYWJvcnQgKCk7Ci0rICBmNCAoKTsKLSsgIGlmIChidWZbNF0g IT0gMCkKLSsgICAgX19idWlsdGluX2Fib3J0ICgpOwotKyAgZjUgKCk7Ci0rICBpZiAoYnVmWzNd ICE9IDApCi0rICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIGY2ICgpOwotKyAgaWYgKGJ1Zlsy XSAhPSAwKQotKyAgICBfX2J1aWx0aW5fYWJvcnQgKCk7Ci0rICBmNyAoKTsKLSsgIGlmIChidWZb MV0gIT0gMCkKLSsgICAgX19idWlsdGluX2Fib3J0ICgpOwotKyAgZjggKCk7Ci0rICBpZiAoYnVm WzBdICE9IDApCi0rICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIHJldHVybiAwOwotK30KCmRp ZmYgLS1naXQgYS9nY2MxMC1wcjk0MTMwLnBhdGNoIGIvZ2NjMTAtcHI5NDEzMC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTBjYmMwYS4uMDAwMDAwMAotLS0gYS9nY2MxMC1w cjk0MTMwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotMjAyMC0wMy0xMSAg SmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQlQUiB0cmVlLW9wdGltaXphdGlv bi85NDEzMAotCSogdHJlZS1zc2EtZHNlLmM6IEluY2x1ZGUgZ2ltcGxpZnkuaC4KLQkoaW5jcmVt ZW50X3N0YXJ0X2FkZHIpOiBJZiBzdG10IGhhcyBsaHMsIGRyb3AgdGhlIGxocyBmcm9tIGNhbGwg YW5kCi0Jc2V0IGl0IGFmdGVyIHRoZSBjYWxsIHRvIHRoZSBvcmlnaW5hbCB2YWx1ZSBvZiB0aGUg Zmlyc3QgYXJndW1lbnQuCi0JRm9ybWF0dGluZyBmaXhlcy4KLQkoZGVjcmVtZW50X2NvdW50KTog Rm9ybWF0dGluZyBmaXguCi0KLQkqIGdjYy5jLXRvcnR1cmUvZXhlY3V0ZS9wcjk0MTMwLmM6IE5l dyB0ZXN0LgotCi0tLS0gZ2NjL3RyZWUtc3NhLWRzZS5jLmpqCTIwMjAtMDMtMDMgMTE6MDQ6NDYu MzY3ODIxOTA3ICswMTAwCi0rKysgZ2NjL3RyZWUtc3NhLWRzZS5jCTIwMjAtMDMtMTEgMTM6NTc6 MzguNjcxODQ1MTg2ICswMTAwCi1AQCAtMzgsNiArMzgsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2Vl IHRoZSBmaWxlIENPUFlJTkczLgotICNpbmNsdWRlICJ0cmVlLXNzYS1kc2UuaCIKLSAjaW5jbHVk ZSAiYnVpbHRpbnMuaCIKLSAjaW5jbHVkZSAiZ2ltcGxlLWZvbGQuaCIKLSsjaW5jbHVkZSAiZ2lt cGxpZnkuaCIKLSAKLSAvKiBUaGlzIGZpbGUgaW1wbGVtZW50cyBkZWFkIHN0b3JlIGVsaW1pbmF0 aW9uLgotIAotQEAgLTQyMiwyOSArNDIzLDM4IEBAIGRlY3JlbWVudF9jb3VudCAoZ2ltcGxlICpz dG10LCBpbnQgZGVjcmUKLSAgIGdjY19hc3NlcnQgKFRSRUVfQ09ERSAoKmNvdW50cCkgPT0gSU5U RUdFUl9DU1QpOwotICAgKmNvdW50cCA9IHdpZGVfaW50X3RvX3RyZWUgKFRSRUVfVFlQRSAoKmNv dW50cCksIChUUkVFX0lOVF9DU1RfTE9XICgqY291bnRwKQotIAkJCQkJCSAgICAtIGRlY3JlbWVu dCkpOwotLQotIH0KLSAKLSBzdGF0aWMgdm9pZAotIGluY3JlbWVudF9zdGFydF9hZGRyIChnaW1w bGUgKnN0bXQsIHRyZWUgKndoZXJlLCBpbnQgaW5jcmVtZW50KQotIHsKLSsgIGlmICh0cmVlIGxo cyA9IGdpbXBsZV9jYWxsX2xocyAoc3RtdCkpCi0rICAgIGlmICh3aGVyZSA9PSBnaW1wbGVfY2Fs bF9hcmdfcHRyIChzdG10LCAwKSkKLSsgICAgICB7Ci0rCWdhc3NpZ24gKm5ld29wID0gZ2ltcGxl X2J1aWxkX2Fzc2lnbiAobGhzLCB1bnNoYXJlX2V4cHIgKCp3aGVyZSkpOwotKwlnaW1wbGVfc3Rt dF9pdGVyYXRvciBnc2kgPSBnc2lfZm9yX3N0bXQgKHN0bXQpOwotKwlnc2lfaW5zZXJ0X2FmdGVy ICgmZ3NpLCBuZXdvcCwgR1NJX1NBTUVfU1RNVCk7Ci0rCWdpbXBsZV9jYWxsX3NldF9saHMgKHN0 bXQsIE5VTExfVFJFRSk7Ci0rCXVwZGF0ZV9zdG10IChzdG10KTsKLSsgICAgICB9Ci0rCi0gICBp ZiAoVFJFRV9DT0RFICgqd2hlcmUpID09IFNTQV9OQU1FKQotICAgICB7Ci0gICAgICAgdHJlZSB0 ZW0gPSBtYWtlX3NzYV9uYW1lIChUUkVFX1RZUEUgKCp3aGVyZSkpOwotICAgICAgIGdhc3NpZ24g Km5ld29wCi0tICAgICAgICA9IGdpbXBsZV9idWlsZF9hc3NpZ24gKHRlbSwgUE9JTlRFUl9QTFVT X0VYUFIsICp3aGVyZSwKLSsJPSBnaW1wbGVfYnVpbGRfYXNzaWduICh0ZW0sIFBPSU5URVJfUExV U19FWFBSLCAqd2hlcmUsCi0gCQkJICAgICAgIGJ1aWxkX2ludF9jc3QgKHNpemV0eXBlLCBpbmNy ZW1lbnQpKTsKLSAgICAgICBnaW1wbGVfc3RtdF9pdGVyYXRvciBnc2kgPSBnc2lfZm9yX3N0bXQg KHN0bXQpOwotICAgICAgIGdzaV9pbnNlcnRfYmVmb3JlICgmZ3NpLCBuZXdvcCwgR1NJX1NBTUVf U1RNVCk7Ci0gICAgICAgKndoZXJlID0gdGVtOwotLSAgICAgIHVwZGF0ZV9zdG10IChnc2lfc3Rt dCAoZ3NpKSk7Ci0rICAgICAgdXBkYXRlX3N0bXQgKHN0bXQpOwotICAgICAgIHJldHVybjsKLSAg ICAgfQotIAotICAgKndoZXJlID0gYnVpbGRfZm9sZF9hZGRyX2V4cHIgKGZvbGRfYnVpbGQyIChN RU1fUkVGLCBjaGFyX3R5cGVfbm9kZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqd2hlcmUsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYnVpbGRfaW50X2NzdCAocHRyX3R5cGVfbm9kZSwKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNyZW1lbnQp KSk7Ci0rCQkJCQkgICAgICAqd2hlcmUsCi0rCQkJCQkgICAgICBidWlsZF9pbnRfY3N0IChwdHJf dHlwZV9ub2RlLAotKwkJCQkJCQkgICAgIGluY3JlbWVudCkpKTsKLSB9Ci0gCi0gLyogU1RNVCBp cyBidWlsdGluIGNhbGwgdGhhdCB3cml0ZXMgYnl0ZXMgaW4gYml0bWFwIE9SSUcsIHNvbWUgYnl0 ZXMgYXJlIGRlYWQKLS0tLSBnY2MvdGVzdHN1aXRlL2djYy5jLXRvcnR1cmUvZXhlY3V0ZS9wcjk0 MTMwLmMuamoJMjAyMC0wMy0xMSAxNDowMTo0OS40MzExODAyOTEgKzAxMDAKLSsrKyBnY2MvdGVz dHN1aXRlL2djYy5jLXRvcnR1cmUvZXhlY3V0ZS9wcjk0MTMwLmMJMjAyMC0wMy0xMSAxNDowMToz Ny42NTQzNTI0MTkgKzAxMDAKLUBAIC0wLDAgKzEsMTYgQEAKLSsvKiBQUiB0cmVlLW9wdGltaXph dGlvbi85NDEzMCAqLwotKwotK2ludAotK21haW4gKCkKLSt7Ci0rICBpbnQgYVs4XTsKLSsgIGNo YXIgKmIgPSBfX2J1aWx0aW5fbWVtc2V0IChhLCAwLCBzaXplb2YgKGEpKTsKLSsgIGFbMF0gPSAx OwotKyAgYVsxXSA9IDI7Ci0rICBhWzJdID0gMzsKLSsgIGlmIChiICE9IChjaGFyICopIGEpCi0r ICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIGVsc2UKLSsgICAgYXNtIHZvbGF0aWxlICgiIiA6 IDogImciIChhKSA6ICJtZW1vcnkiKTsKLSsgIHJldHVybiAwOwotK30KCmRpZmYgLS1naXQgYS9n Y2MxMC1wcjk0MzA4LnBhdGNoIGIvZ2NjMTAtcHI5NDMwOC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi43OGVlYWU0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjMTAtcHI5 NDMwOC5wYXRjaApAQCAtMCwwICsxLDUyIEBACisyMDIwLTAzLTI1ICBKYWt1YiBKZWxpbmVrICA8 amFrdWJAcmVkaGF0LmNvbT4KKworCVBSIHRhcmdldC85NDMwOAorCSogY29uZmlnL2kzODYvaTM4 Ni1mZWF0dXJlcy5jIChpeDg2X2FkZF9yZWdfdXNhZ2VfdG9fdnplcm91cHBlcik6IFNldAorCUlO U05fQ09ERSAoaW5zbikgdG8gLTEgd2hlbiBjaGFuZ2luZyB0aGUgcGF0dGVybi4KKworCSogZ2Nj LnRhcmdldC9pMzg2L3ByOTQzMDguYzogTmV3IHRlc3QuCisKKy0tLSBnY2MvY29uZmlnL2kzODYv aTM4Ni1mZWF0dXJlcy5jLmpqCTIwMjAtMDMtMTcgMTM6NTA6NTIuOTU1OTMzMjA5ICswMTAwCisr KysgZ2NjL2NvbmZpZy9pMzg2L2kzODYtZmVhdHVyZXMuYwkyMDIwLTAzLTI0IDE5OjE5OjE3Ljgw MTYwOTI4OSArMDEwMAorQEAgLTE3OTIsNiArMTc5Miw3IEBAIGl4ODZfYWRkX3JlZ191c2FnZV90 b192emVyb3VwcGVyIChydHhfaW4KKyAgICAgICBSVFZFQ19FTFQgKHZlYywgaikgPSBnZW5fcnR4 X1NFVCAocmVnLCByZWcpOworICAgICB9CisgICBYVkVDIChwYXR0ZXJuLCAwKSA9IHZlYzsKKysg IElOU05fQ09ERSAoaW5zbikgPSAtMTsKKyAgIGRmX2luc25fcmVzY2FuIChpbnNuKTsKKyB9Cisg CistLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI5NDMwOC5jLmpqCTIwMjAtMDMt MjQgMTk6MzI6NTEuOTY0NDM2MzEwICswMTAwCisrKysgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvcHI5NDMwOC5jCTIwMjAtMDMtMjQgMTk6MzI6MzkuODQ4NjE3NDgyICswMTAwCitAQCAt MCwwICsxLDMxIEBACisrLyogUFIgdGFyZ2V0Lzk0MzA4ICovCisrLyogeyBkZy1kbyBjb21waWxl IH0gKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbWZwbWF0aD1zc2UgLW1hdngyIC1tZm1hIiB9 ICovCisrCisrI2luY2x1ZGUgPHg4NmludHJpbi5oPgorKworK3ZvaWQKKytmb28gKGZsb2F0ICp4 LCBjb25zdCBmbG9hdCAqeSwgY29uc3QgZmxvYXQgKnosIHVuc2lnbmVkIGludCB3KQorK3sKKysg IHVuc2lnbmVkIGludCBhOworKyAgY29uc3QgdW5zaWduZWQgaW50IGIgPSB3IC8gODsKKysgIGNv bnN0IGZsb2F0ICpjID0geTsKKysgIGNvbnN0IGZsb2F0ICpkID0gejsKKysgIF9fbTI1NiBlID0g X21tMjU2X3NldHplcm9fcHMgKCk7CisrICBfX20yNTYgZiwgZzsKKysgIGZvciAoYSA9IDA7IGEg PCBiOyBhKyspCisrICAgIHsKKysgICAgICBmID0gX21tMjU2X2xvYWR1X3BzIChjKTsKKysgICAg ICBnID0gX21tMjU2X2xvYWR1X3BzIChkKTsKKysgICAgICBjICs9IDg7CisrICAgICAgZCArPSA4 OworKyAgICAgIGUgPSBfbW0yNTZfZm1hZGRfcHMgKGYsIGcsIGUpOworKyAgICB9CisrICBfX2F0 dHJpYnV0ZV9fICgoYWxpZ25lZCAoMzIpKSkgZmxvYXQgaFs4XTsKKysgIF9tbTI1Nl9zdG9yZXVf cHMgKGgsIGUpOworKyAgX21tMjU2X3plcm91cHBlciAoKTsKKysgIGZsb2F0IGkgPSBoWzBdICsg aFsxXSArIGhbMl0gKyBoWzNdICsgaFs0XSArIGhbNV0gKyBoWzZdICsgaFs3XTsKKysgIGZvciAo YSA9IGIgKiA4OyBhIDwgdzsgYSsrKQorKyAgICBpICs9ICgqYysrKSAqICgqZCsrKTsKKysgICp4 ID0gaTsKKyt9CgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggYzZmOWI4NC4u NjM0ZGJmNiAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDMgKzEsMyBA QAotU0hBNTEyIChnY2MtMTAuMC4xLTIwMjAwMzExLnRhci54eikgPSBiMmI3MzBiZWFmMjhiNzU0 MDlkNGNlZjcyZmQ5Y2FlMjBiOTEwNDQyYjhiOGQ0ZDkxOTExYTgwYmVkNmUyYTYzMjI4ZjA4YmIz MWI3ODNmNThlMzFlNzE0YmUzZjNhOWY2Y2VkZWQxZjM1MWI0ZmRkZWQxNjcxZTE0NjhlYWNhNwor U0hBNTEyIChnY2MtMTAuMC4xLTIwMjAwMzI1LnRhci54eikgPSA1NDMxZWRlZWI5ZWY5MDBjZTQ5 ZTRmYTEzODY5YzYzZDg0YzI0NGY4NDZiZTk2ZjFlNzgyMjQ5YjBhNGFjM2M2ZDVjZTczMTE3YmQz ZmIxZDJkNzg2ZTgyZDM5NGVjMGE1ZWE1Y2M0NjE1ZjhjYzYxZDdmNmFhNDNkYjZhOGNlOQogU0hB NTEyIChuZXdsaWItY3lnd2luLTUwZTJhNjNiMDRiZGQwMTg0ODQ2MDVmYmI5NTRmZDFiZDUxNDdm YTAudGFyLnh6KSA9IDljZWVhMGI4ODMxODVmZTQ4OTcyNGQ1NGE3ZTkwOWJiNmVkNDc4NWZjYWRm ODAxNjIwMzNkYzZhMTMzZTI2NTczMzcxNzU2MDEyNzhlNDE1NWQxZjhmYWMyNzVmZjljOGEwMjU3 MmFlYTg3NjE2NmM2MDg3NzRjODA5ZjgzMmU5CiBTSEE1MTIgKG52cHR4LXRvb2xzLTVmNmYzNDNh MzAyZDYyMGIwODY4ZWRhYjM3NmMwMGIxNTc0MWUzOWUudGFyLnh6KSA9IGY2ZDEwZGI5NGZhMTU3 MGFlMGY5NGRmMDczZmEzYzczYzhlNWVlMTZkNTkwNzBiNTNkOTRmN2RiMGRlOGEwMzFiYzQ0ZDdm M2YxODUyNTMzZGEwNGI2MjVjZTc1OGUwMjIyNjM4NTVlZDQzY2ZjNjg2N2UwNzA4ZDAwMWU1M2M3 Cg==