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: 7.0.1-0.9 Date: Mon, 29 Jun 2026 12:27:22 GMT Message-ID: <178273604256.1.12152052975816989417.rpms-gcc-1c8b31bfd336@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 1c8b31bfd336b7e46713283f8c8aa55462a6052f QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogMWM4YjMxYmZkMzM2YjdlNDY3MTMyODNmOGM4YWE1NTQ2 MmE2MDUyZgpBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgpEYXRlICAg OiAyMDE3LTAyLTE5VDEzOjIzOjIzKzAxOjAwClN0YXRzICA6ICszMi8tNTMzIGluIDggZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2djYy9jLzFjOGIz MWJmZDMzNmI3ZTQ2NzEzMjgzZjhjOGFhNTU0NjJhNjA1MmY/YnJhbmNoPXJoZWwtZjQxLWJhc2UK CkxvZzoKNy4wLjEtMC45CgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3Jl CmluZGV4IGQwYjEyNjguLjEyMjAzNzAgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdp dGlnbm9yZQpAQCAtNywzICs3LDQgQEAKIC9nY2MtNy4wLjEtMjAxNzAyMDQudGFyLmJ6MgogL2dj Yy03LjAuMS0yMDE3MDIwOS50YXIuYnoyCiAvZ2NjLTcuMC4xLTIwMTcwMjExLnRhci5iejIKKy9n Y2MtNy4wLjEtMjAxNzAyMTkudGFyLmJ6MgoKZGlmZiAtLWdpdCBhL2djYy5zcGVjIGIvZ2NjLnNw ZWMKaW5kZXggMDllMDcxMi4uN2Q0ODAzNSAxMDA2NDQKLS0tIGEvZ2NjLnNwZWMKKysrIGIvZ2Nj LnNwZWMKQEAgLTEsMTAgKzEsMTAgQEAKLSVnbG9iYWwgREFURSAyMDE3MDIxMQotJWdsb2JhbCBT Vk5SRVYgMjQ1MzU2CislZ2xvYmFsIERBVEUgMjAxNzAyMTkKKyVnbG9iYWwgU1ZOUkVWIDI0NTU3 MwogJWdsb2JhbCBnY2NfdmVyc2lvbiA3LjAuMQogJWdsb2JhbCBnY2NfbWFqb3IgNwogIyBOb3Rl LCBnY2NfcmVsZWFzZSBtdXN0IGJlIGludGVnZXIsIGlmIHlvdSB3YW50IHRvIGFkZCBzdWZmaXhl cyB0bwogIyAle3JlbGVhc2V9LCBhcHBlbmQgdGhlbSBhZnRlciAle2djY19yZWxlYXNlfSBvbiBS ZWxlYXNlOiBsaW5lLgotJWdsb2JhbCBnY2NfcmVsZWFzZSAwLjgKKyVnbG9iYWwgZ2NjX3JlbGVh c2UgMC45CiAlZ2xvYmFsIG52cHR4X3Rvb2xzX2dpdHJldiBjMjgwNTBmNjAxOTNiM2I5NWExODg2 NmE5NmYwMzMzNGU4NzRlNzhmCiAlZ2xvYmFsIG52cHR4X25ld2xpYl9naXRyZXYgYWFkYzhlYjBl YzQzYjdjZDBkZDJkZmI0ODRiYWU2M2M4YjA1ZWYyNAogJWdsb2JhbCBfdW5wYWNrYWdlZF9maWxl c190ZXJtaW5hdGVfYnVpbGQgMApAQCAtMjMxLDEwICsyMzEsNiBAQCBQYXRjaDc6IGdjYzctbGli c3RkYysrLWRvY3MucGF0Y2gKIFBhdGNoODogZ2NjNy1uby1hZGQtbmVlZGVkLnBhdGNoCiBQYXRj aDk6IGdjYzctYWFyY2g2NC1hc3luYy11bnctdGFibGVzLnBhdGNoCiBQYXRjaDEwOiBnY2M3LWZv ZmZsb2FkLWRlZmF1bHQucGF0Y2gKLVBhdGNoMTE6IGdjYzctcHI3OTIzMi5wYXRjaAotUGF0Y2gx MjogZ2NjNy1wcjc5Mjg4LnBhdGNoCi1QYXRjaDEzOiBnY2M3LXByNzkzNDEucGF0Y2gKLVBhdGNo MTQ6IGdjYzctcHI3OTM4OC5wYXRjaAogCiBQYXRjaDEwMDA6IG52cHR4LXRvb2xzLW5vLXB0eGFz LnBhdGNoCiBQYXRjaDEwMDE6IG52cHR4LXRvb2xzLWJ1aWxkLnBhdGNoCkBAIC04MjIsMTAgKzgx OCw2IEBAIHBhY2thZ2Ugb3Igd2hlbiBkZWJ1Z2dpbmcgdGhpcyBwYWNrYWdlLgogJXBhdGNoOCAt cDAgLWIgLm5vLWFkZC1uZWVkZWR+CiAlcGF0Y2g5IC1wMCAtYiAuYWFyY2g2NC1hc3luYy11bnct dGFibGVzfgogJXBhdGNoMTAgLXAwIC1iIC5mb2ZmbG9hZC1kZWZhdWx0fgotJXBhdGNoMTEgLXAw IC1iIC5wcjc5MjMyfgotJXBhdGNoMTIgLXAwIC1iIC5wcjc5Mjg4fgotJXBhdGNoMTMgLXAwIC1i IC5wcjc5MzQxfgotJXBhdGNoMTQgLXAwIC1iIC5wcjc5Mzg4fgogCiBjZCBudnB0eC10b29scy0l e252cHR4X3Rvb2xzX2dpdHJldn0KICVwYXRjaDEwMDAgLXAxIC1iIC5udnB0eC10b29scy1uby1w dHhhc34KQEAgLTMyNDEsNiArMzIzMywyNCBAQCBmaQogJWVuZGlmCiAKICVjaGFuZ2Vsb2cKKyog U3VuIEZlYiAxOSAyMDE3IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDcuMC4xLTAu OQorLSB1cGRhdGUgZnJvbSB0aGUgdHJ1bmsKKyAgLSBQUnMgYm9vdHN0cmFwLzc5NTY3LCBjKysv Nzc2NTksIGMrKy83Nzc5MCwgYysrLzc4NTcyLCBjKysvNzg2OTAsCisJYysrLzc5MDUwLCBjKysv NzkyOTYsIGMrKy83OTMwMSwgYysrLzc5MzYzLCBjKysvNzk0MjAsIGMrKy83OTQ2MSwKKwljKysv Nzk0NjMsIGMrKy83OTQ2NCwgYysrLzc5NTAyLCBjKysvNzk1MDgsIGMrKy83OTUxMiwgYysrLzc5 NTMzLAorCWMrKy83OTU0OSwgYysrLzc5NTU2LCBjLzc5NDcxLCBjLzc5NDc4LCBjLzc5NTE1LCBm b3J0cmFuLzY1NTQyLAorCWlwYS83OTIyNCwgbGlic3RkYysrLzc4NzIzLCBsaWJzdGRjKysvNzkz NDgsIGxpYnN0ZGMrKy83OTQ2NywKKwlsaWJzdGRjKysvNzk0ODYsIGxpYnN0ZGMrKy83OTUxMywg bWlkZGxlLWVuZC82MTIyNSwgbWlkZGxlLWVuZC83OTQzMiwKKwltaWRkbGUtZW5kLzc5NDQ4LCBt aWRkbGUtZW5kLzc5NDk2LCBtaWRkbGUtZW5kLzc5NTA1LAorCW1pZGRsZS1lbmQvNzk1MjEsIG1p ZGRsZS1lbmQvNzk1MzYsIG1pZGRsZS1lbmQvNzk1NzYsCisJcnRsLW9wdGltaXphdGlvbi83ODEy NywgcnRsLW9wdGltaXphdGlvbi83OTI4NiwKKwlydGwtb3B0aW1pemF0aW9uLzc5NTQxLCBydGwt b3B0aW1pemF0aW9uLzc5NTc0LAorCXJ0bC1vcHRpbWl6YXRpb24vNzk1NzcsIHNhbml0aXplci83 OTU2MiwgdGFyZ2V0Lzc5MjYxLCB0YXJnZXQvNzkyODIsCisJdGFyZ2V0Lzc5NDA0LCB0YXJnZXQv Nzk0MjEsIHRhcmdldC83OTQ0OSwgdGFyZ2V0Lzc5NDYyLCB0YXJnZXQvNzk0ODEsCisJdGFyZ2V0 Lzc5NDg3LCB0YXJnZXQvNzk0OTUsIHRhcmdldC83OTQ5OCwgdGFyZ2V0Lzc5NTU5LCB0YXJnZXQv Nzk1NjksCisJdHJlZS1vcHRpbWl6YXRpb24vNzkwOTUsIHRyZWUtb3B0aW1pemF0aW9uLzc5MzQ3 LAorCXRyZWUtb3B0aW1pemF0aW9uLzc5NTI5LCB0cmVlLW9wdGltaXphdGlvbi83OTU1MiwgdHJl ZS1zc2EvNTY3MjcKKwogKiBTYXQgRmViIDExIDIwMTcgSmFrdWIgSmVsaW5layA8amFrdWJAcmVk aGF0LmNvbT4gNy4wLjEtMC44CiAtIHVwZGF0ZSBmcm9tIHRoZSB0cnVuawogICAtIFBScyBjKysv NzEyODUsIGMrKy83ODg5NywgYysrLzc4OTA4LCBjKysvNzkxNDMsIGMrKy83OTE4NCwgYysrLzc5 MzE2LAoKZGlmZiAtLWdpdCBhL2djYzctaXNsLWRsLnBhdGNoIGIvZ2NjNy1pc2wtZGwucGF0Y2gK aW5kZXggMDdkZWI1Ni4uOGMzOWQ3MCAxMDA2NDQKLS0tIGEvZ2NjNy1pc2wtZGwucGF0Y2gKKysr IGIvZ2NjNy1pc2wtZGwucGF0Y2gKQEAgLTEsNiArMSw2IEBACiAtLS0gZ2NjL01ha2VmaWxlLmlu LmpqCTIwMTUtMDYtMDYgMTA6MDA6MjUuMDAwMDAwMDAwICswMjAwCiArKysgZ2NjL01ha2VmaWxl LmluCTIwMTUtMTEtMDQgMTQ6NTY6MDIuNjQzNTM2NDM3ICswMTAwCi1AQCAtMTAxMyw3ICsxMDEz LDcgQEAgQlVJTERfTElCREVQUz0gJChCVUlMRF9MSUJJQkVSVFkpCitAQCAtMTA0Niw3ICsxMDQ2 LDcgQEAgQlVJTERfTElCREVQUz0gJChCVUlMRF9MSUJJQkVSVFkpCiAgIyBhbmQgdGhlIHN5c3Rl bSdzIGluc3RhbGxlZCBsaWJyYXJpZXMuCiAgTElCUyA9IEBMSUJTQCBsaWJjb21tb24uYSAkKENQ UExJQikgJChMSUJJTlRMKSAkKExJQklDT05WKSAkKExJQkJBQ0tUUkFDRSkgXAogIAkkKExJQklC RVJUWSkgJChMSUJERUNOVU1CRVIpICQoSE9TVF9MSUJTKQpAQCAtOSw3ICs5LDcgQEAKICAJJCha TElCKQogICMgQW55IHN5c3RlbSBsaWJyYXJpZXMgbmVlZGVkIGp1c3QgZm9yIEdOQVQuCiAgU1lT TElCUyA9IEBHTkFUX0xJQkVYQ0AKLUBAIC0yMDU4LDYgKzIwNTgsMTUgQEAgJChvdXRfb2JqZWN0 X2ZpbGUpOiAkKG91dF9maWxlKQorQEAgLTIxOTYsNiArMjE5NiwxNSBAQCAkKG91dF9vYmplY3Rf ZmlsZSk6ICQob3V0X2ZpbGUpCiAgJChjb21tb25fb3V0X29iamVjdF9maWxlKTogJChjb21tb25f b3V0X2ZpbGUpCiAgCSQoQ09NUElMRSkgJDwKICAJJChQT1NUQ09NUElMRSkKQEAgLTI3LDI1ICsy NywxMSBAQAogICMgYW5kIGNvbXBpbGUgdGhlbS4KIC0tLSBnY2MvZ3JhcGhpdGUuaC5qagkyMDE2 LTAxLTI3IDEyOjQ0OjA2LjAwMDAwMDAwMCArMDEwMAogKysrIGdjYy9ncmFwaGl0ZS5oCTIwMTYt MDEtMjcgMTM6MjY6MzguMzA5ODc2ODU2ICswMTAwCi1AQCAtMzYsNiArMzYsNyBAQCBhbG9uZyB3 aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLgotICNpbmNsdWRlIDxpc2wvaWxwLmg+CitA QCAtMzcsNiArMzcsNTc5IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMu CiAgI2luY2x1ZGUgPGlzbC9zY2hlZHVsZS5oPgogICNpbmNsdWRlIDxpc2wvYXN0X2J1aWxkLmg+ CisgI2luY2x1ZGUgPGlzbC9zY2hlZHVsZV9ub2RlLmg+CiArI2luY2x1ZGUgPGRsZmNuLmg+Ci0g Ci0gI2lmZGVmIEhBVkVfSVNMX09QVElPTlNfU0VUX1NDSEVEVUxFX1NFUklBTElaRV9TQ0NTCi0g LyogaXNsIDAuMTUgb3IgbGF0ZXIuICAqLwotQEAgLTQ3LDYgKzQ4LDU5MSBAQCBhbG9uZyB3aXRo IEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLgotICMgZGVmaW5lIGlzbF9zdGF0X29rIDAKLSAj ZW5kaWYKLSAKLSsjaWZkZWYgSEFWRV9JU0xfT1BUSU9OU19TRVRfU0NIRURVTEVfU0VSSUFMSVpF X1NDQ1MKLSsjZGVmaW5lIERZTlNZTV9TQ0hFRFVMRV9GVVNFIERZTlNZTSAoaXNsX29wdGlvbnNf c2V0X3NjaGVkdWxlX3NlcmlhbGl6ZV9zY2NzKQotKyNkZWZpbmUgRFlOU1lNX1NFVF9ZQU1MX1NU WUxFIERZTlNZTSAoaXNsX3ByaW50ZXJfc2V0X3lhbWxfc3R5bGUpOwotKyNlbHNlCi0rI2RlZmlu ZSBEWU5TWU1fU0NIRURVTEVfRlVTRSBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9m dXNlKQotKyNkZWZpbmUgRFlOU1lNX1NFVF9ZQU1MX1NUWUxFCi0rI2VuZGlmCiArCiArI2RlZmlu ZSBEWU5TWU1TIFwKICsgIERZTlNZTSAoaXNsX2FmZl9hZGRfY29lZmZpY2llbnRfc2kpOyBcCkBA IC0xMDksOCArOTUsOCBAQAogKyAgRFlOU1lNIChpc2xfbWFwX3NldF90dXBsZV9pZCk7IFwKICsg IERZTlNZTSAoaXNsX21hcF91bml2ZXJzZSk7IFwKICsgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0 X29uX2Vycm9yKTsgXAotKyAgRFlOU1lNX1NDSEVEVUxFX0ZVU0U7IFwKLSsgIERZTlNZTV9TRVRf WUFNTF9TVFlMRSBcCisrICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9zZXJpYWxp emVfc2Njcyk7IFwKKysgIERZTlNZTSAoaXNsX3ByaW50ZXJfc2V0X3lhbWxfc3R5bGUpOyBcCiAr ICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9tYXhfY29uc3RhbnRfdGVybSk7IFwK ICsgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heGltaXplX2JhbmRfZGVwdGgp OyBcCiArICBEWU5TWU0gKGlzbF9wcmludGVyX2ZyZWUpOyBcCkBAIC0zOTksMTIgKzM4NSw4IEBA CiArI2RlZmluZSBpc2xfbWFwX3NldF90dXBsZV9pZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21h cF9zZXRfdHVwbGVfaWQpCiArI2RlZmluZSBpc2xfbWFwX3VuaXZlcnNlICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfbWFwX3VuaXZlcnNlKQogKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X29uX2Vycm9y ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfb3B0aW9uc19zZXRfb25fZXJyb3IpCi0rI2lmZGVmIEhB VkVfSVNMX09QVElPTlNfU0VUX1NDSEVEVUxFX1NFUklBTElaRV9TQ0NTCiArI2RlZmluZSBpc2xf b3B0aW9uc19zZXRfc2NoZWR1bGVfc2VyaWFsaXplX3NjY3MgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9vcHRpb25zX3NldF9zY2hlZHVsZV9zZXJpYWxpemVfc2NjcykKICsjZGVmaW5lIGlzbF9wcmlu dGVyX3NldF95YW1sX3N0eWxlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9zZXRfeWFt bF9zdHlsZSkKLSsjZWxzZQotKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX2Z1c2Ug KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9mdXNlKQotKyNlbmRp ZgogKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heF9jb25zdGFudF90ZXJtICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfbWF4X2NvbnN0YW50X3Rl cm0pCiArI2RlZmluZSBpc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfbWF4aW1pemVfYmFuZF9kZXB0 aCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heGltaXplX2Jh bmRfZGVwdGgpCiArI2RlZmluZSBpc2xfcHJpbnRlcl9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfcHJpbnRlcl9mcmVlKQpAQCAtNTc0LDcgKzU1Niw2IEBACiArI2RlZmluZSBpc2xfcHJpbnRl cl9wcmludF9zY2hlZHVsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfc2No ZWR1bGUpCiArI2RlZmluZSBpc2xfc2V0X3NldF9kaW1faWQgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9zZXRfc2V0X2RpbV9pZCkKICsjZGVmaW5lIGlzbF91bmlvbl9tYXBfY29hbGVzY2UgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfY29hbGVzY2UpCi0rCiArI2RlZmluZSBpc2xfbXVs dGlfdmFsX3NldF92YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tdWx0aV92YWxfc2V0X3ZhbCkK ICsjZGVmaW5lIGlzbF9tdWx0aV92YWxfemVybyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX211bHRp X3ZhbF96ZXJvKQogKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heF9jb2VmZmlj aWVudCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heF9jb2Vm ZmljaWVudCkKQEAgLTYyMywxMyArNjA0LDEyIEBACiArI2RlZmluZSBpc2xfYXN0X25vZGVfbWFy a19nZXRfbm9kZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX21hcmtfZ2V0X25vZGUp CiArI2RlZmluZSBpc2xfc2NoZWR1bGVfbm9kZV9iYW5kX21lbWJlcl9nZXRfYXN0X2xvb3BfdHlw ZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9tZW1iZXJfZ2V0X2Fz dF9sb29wX3R5cGUpCiArI2RlZmluZSBpc2xfc2NoZWR1bGVfbm9kZV9iYW5kX21lbWJlcl9zZXRf YXN0X2xvb3BfdHlwZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9t ZW1iZXJfc2V0X2FzdF9sb29wX3R5cGUpCi0rCisgCiAgdHlwZWRlZiBzdHJ1Y3QgcG9seV9kciAq cG9seV9kcl9wOwogIAotIHR5cGVkZWYgc3RydWN0IHBvbHlfYmIgKnBvbHlfYmJfcDsKIC0tLSBn Y2MvZ3JhcGhpdGUuYy5qagkyMDE1LTExLTA0IDE0OjE1OjMyLjAwMDAwMDAwMCArMDEwMAogKysr IGdjYy9ncmFwaGl0ZS5jCTIwMTUtMTEtMDQgMTQ6NTY6MDIuNjQ1NTM2NDA5ICswMTAwCi1AQCAt NTQsNiArNTQsMzQgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4KK0BA IC01NSw2ICs1NSwzNCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLgog ICNpbmNsdWRlICJ0cmVlLXZlY3Rvcml6ZXIuaCIKICAjaW5jbHVkZSAiZ3JhcGhpdGUuaCIKICAK QEAgLTY2NCw3ICs2NDQsNyBAQAogIC8qIFByaW50IGdsb2JhbCBzdGF0aXN0aWNzIHRvIEZJTEUu ICAqLwogIAogIHN0YXRpYyB2b2lkCi1AQCAtMjk4LDYgKzMyNiwxNSBAQCBncmFwaGl0ZV90cmFu c2Zvcm1fbG9vcHMgKHZvaWQpCitAQCAtMjk5LDYgKzMyNywxNSBAQCBncmFwaGl0ZV90cmFuc2Zv cm1fbG9vcHMgKHZvaWQpCiAgICBpZiAocGFyYWxsZWxpemVkX2Z1bmN0aW9uX3AgKGNmdW4tPmRl Y2wpKQogICAgICByZXR1cm47CiAgCgpkaWZmIC0tZ2l0IGEvZ2NjNy1wcjc5MjMyLnBhdGNoIGIv Z2NjNy1wcjc5MjMyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NGYyNWE2 Li4wMDAwMDAwCi0tLSBhL2djYzctcHI3OTIzMi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMx OCArMCwwIEBACi0yMDE3LTAxLTMwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4K LQotCVBSIGMrKy83OTIzMgotCSogdHlwZWNrLmMgKGNwX2J1aWxkX21vZGlmeV9leHByKTogSGFu ZGxlIHByb3Blcmx5IENPTVBPVU5EX0VYUFJzCi0Jb24gbGhzIHRoYXQgaGF2ZSB7UFJFe0RFQyxJ TkN9UkVNRU5ULE1PRElGWSxNSU4sTUFYLENPTkR9X0VYUFIKLQlpbiB0aGUgcmlnaHRtb3N0IG9w ZXJhbmQuCi0KLQkqIGcrKy5kZy9jcHAxei9ldmFsLW9yZGVyNC5DOiBOZXcgdGVzdC4KLQkqIGcr Ky5kZy9vdGhlci9wcjc5MjMyLkM6IE5ldyB0ZXN0LgotCi0tLS0gZ2NjL2NwL3R5cGVjay5jLmpq CTIwMTctMDEtMzAgMDk6MzE6NDMuMDc2NTk1NjQwICswMTAwCi0rKysgZ2NjL2NwL3R5cGVjay5j CTIwMTctMDEtMzAgMTU6NTY6MzMuNjAxMDAyNTc3ICswMTAwCi1AQCAtNzU2OCwxNiArNzU2OCwy NiBAQCB0cmVlCi0gY3BfYnVpbGRfbW9kaWZ5X2V4cHIgKGxvY2F0aW9uX3QgbG9jLCB0cmVlIGxo cywgZW51bSB0cmVlX2NvZGUgbW9kaWZ5Y29kZSwKLSAJCSAgICAgIHRyZWUgcmhzLCB0c3Vic3Rf ZmxhZ3NfdCBjb21wbGFpbikKLSB7Ci0tICB0cmVlIHJlc3VsdDsKLSsgIHRyZWUgcmVzdWx0ID0g TlVMTF9UUkVFOwotICAgdHJlZSBuZXdyaHMgPSByaHM7Ci0gICB0cmVlIGxoc3R5cGUgPSBUUkVF X1RZUEUgKGxocyk7Ci0rICB0cmVlIG9saHMgPSBsaHM7Ci0gICB0cmVlIG9saHN0eXBlID0gbGhz dHlwZTsKLSAgIGJvb2wgcGxhaW5fYXNzaWduID0gKG1vZGlmeWNvZGUgPT0gTk9QX0VYUFIpOwot KyAgYm9vbCBjb21wb3VuZF9zaWRlX2VmZmVjdHNfcCA9IGZhbHNlOwotKyAgdHJlZSBwcmVldmFs ID0gTlVMTF9UUkVFOwotIAotICAgLyogQXZvaWQgZHVwbGljYXRlIGVycm9yIG1lc3NhZ2VzIGZy b20gb3BlcmFuZHMgdGhhdCBoYWQgZXJyb3JzLiAgKi8KLSAgIGlmIChlcnJvcl9vcGVyYW5kX3Ag KGxocykgfHwgZXJyb3Jfb3BlcmFuZF9wIChyaHMpKQotICAgICByZXR1cm4gZXJyb3JfbWFya19u b2RlOwotIAotKyAgd2hpbGUgKFRSRUVfQ09ERSAobGhzKSA9PSBDT01QT1VORF9FWFBSKQotKyAg ICB7Ci0rICAgICAgaWYgKFRSRUVfU0lERV9FRkZFQ1RTIChUUkVFX09QRVJBTkQgKGxocywgMCkp KQotKwljb21wb3VuZF9zaWRlX2VmZmVjdHNfcCA9IHRydWU7Ci0rICAgICAgbGhzID0gVFJFRV9P UEVSQU5EIChsaHMsIDEpOwotKyAgICB9Ci0rCi0gICAvKiBIYW5kbGUgY29udHJvbCBzdHJ1Y3R1 cmUgY29uc3RydWN0cyB1c2VkIGFzICJsdmFsdWVzIi4gIE5vdGUgdGhhdCB3ZQotICAgICAgbGVh dmUgQ09NUE9VTkRfRVhQUiBvbiB0aGUgTEhTIGJlY2F1c2UgaXQgaXMgc2VxdWVuY2VkIGFmdGVy IHRoZSBSSFMuICAqLwotICAgc3dpdGNoIChUUkVFX0NPREUgKGxocykpCi1AQCAtNzU4NSwyMCAr NzU5NSw1NyBAQCBjcF9idWlsZF9tb2RpZnlfZXhwciAobG9jYXRpb25fdCBsb2MsIHRyCi0gICAg ICAgLyogSGFuZGxlIC0tZm9vID0gNTsgYXMgdGhlc2UgYXJlIHZhbGlkIGNvbnN0cnVjdHMgaW4g QysrLiAgKi8KLSAgICAgY2FzZSBQUkVERUNSRU1FTlRfRVhQUjoKLSAgICAgY2FzZSBQUkVJTkNS RU1FTlRfRVhQUjoKLSsgICAgICBpZiAoY29tcG91bmRfc2lkZV9lZmZlY3RzX3ApCi0rCXsKLSsJ ICBpZiAoVk9JRF9UWVBFX1AgKFRSRUVfVFlQRSAocmhzKSkpCi0rCSAgICB7Ci0rCSAgICAgIGlm IChjb21wbGFpbiAmIHRmX2Vycm9yKQotKwkJZXJyb3IgKCJ2b2lkIHZhbHVlIG5vdCBpZ25vcmVk IGFzIGl0IG91Z2h0IHRvIGJlIik7Ci0rCSAgICAgIHJldHVybiBlcnJvcl9tYXJrX25vZGU7Ci0r CSAgICB9Ci0rCSAgbmV3cmhzID0gcmhzID0gc3RhYmlsaXplX2V4cHIgKHJocywgJnByZWV2YWwp OwotKwl9Ci0gICAgICAgaWYgKFRSRUVfU0lERV9FRkZFQ1RTIChUUkVFX09QRVJBTkQgKGxocywg MCkpKQotIAlsaHMgPSBidWlsZDIgKFRSRUVfQ09ERSAobGhzKSwgVFJFRV9UWVBFIChsaHMpLAot IAkJICAgICAgY3Bfc3RhYmlsaXplX3JlZmVyZW5jZSAoVFJFRV9PUEVSQU5EIChsaHMsIDApKSwK LSAJCSAgICAgIFRSRUVfT1BFUkFORCAobGhzLCAxKSk7Ci0gICAgICAgbGhzID0gYnVpbGQyIChD T01QT1VORF9FWFBSLCBsaHN0eXBlLCBsaHMsIFRSRUVfT1BFUkFORCAobGhzLCAwKSk7Ci0rICAg IG1heWJlX2FkZF9jb21wb3VuZDoKLSsgICAgICAvKiBJZiB3ZSBoYWQgKGJhciwgLS1mb28pID0g NTsgb3IgKGJhciwgKGJheiwgLS1mb28pKSA9IDU7Ci0rCSBhbmQgbG9va2VkIHRocm91Z2ggdGhl IENPTVBPVU5EX0VYUFJzLCByZWFkZCB0aGVtIG5vdyBhcm91bmQKLSsJIHRoZSByZXN1bHRpbmcg bGhzLiAgKi8KLSsgICAgICBpZiAoVFJFRV9DT0RFIChvbGhzKSA9PSBDT01QT1VORF9FWFBSKQot Kwl7Ci0rCSAgbGhzID0gYnVpbGQyIChDT01QT1VORF9FWFBSLCBsaHN0eXBlLCBUUkVFX09QRVJB TkQgKG9saHMsIDApLCBsaHMpOwotKwkgIHRyZWUgKnB0ciA9ICZUUkVFX09QRVJBTkQgKGxocywg MSk7Ci0rCSAgZm9yIChvbGhzID0gVFJFRV9PUEVSQU5EIChvbGhzLCAxKTsKLSsJICAgICAgIFRS RUVfQ09ERSAob2xocykgPT0gQ09NUE9VTkRfRVhQUjsKLSsJICAgICAgIG9saHMgPSBUUkVFX09Q RVJBTkQgKG9saHMsIDEpKQotKwkgICAgewotKwkgICAgICAqcHRyID0gYnVpbGQyIChDT01QT1VO RF9FWFBSLCBsaHN0eXBlLAotKwkJCSAgICAgVFJFRV9PUEVSQU5EIChvbGhzLCAwKSwgKnB0cik7 Ci0rCSAgICAgIHB0ciA9ICZUUkVFX09QRVJBTkQgKCpwdHIsIDEpOwotKwkgICAgfQotKwl9Ci0g ICAgICAgYnJlYWs7Ci0gCi0gICAgIGNhc2UgTU9ESUZZX0VYUFI6Ci0rICAgICAgaWYgKGNvbXBv dW5kX3NpZGVfZWZmZWN0c19wKQotKwl7Ci0rCSAgaWYgKFZPSURfVFlQRV9QIChUUkVFX1RZUEUg KHJocykpKQotKwkgICAgewotKwkgICAgICBpZiAoY29tcGxhaW4gJiB0Zl9lcnJvcikKLSsJCWVy cm9yICgidm9pZCB2YWx1ZSBub3QgaWdub3JlZCBhcyBpdCBvdWdodCB0byBiZSIpOwotKwkgICAg ICByZXR1cm4gZXJyb3JfbWFya19ub2RlOwotKwkgICAgfQotKwkgIG5ld3JocyA9IHJocyA9IHN0 YWJpbGl6ZV9leHByIChyaHMsICZwcmVldmFsKTsKLSsJfQotICAgICAgIGlmIChUUkVFX1NJREVf RUZGRUNUUyAoVFJFRV9PUEVSQU5EIChsaHMsIDApKSkKLSAJbGhzID0gYnVpbGQyIChUUkVFX0NP REUgKGxocyksIFRSRUVfVFlQRSAobGhzKSwKLSAJCSAgICAgIGNwX3N0YWJpbGl6ZV9yZWZlcmVu Y2UgKFRSRUVfT1BFUkFORCAobGhzLCAwKSksCi0gCQkgICAgICBUUkVFX09QRVJBTkQgKGxocywg MSkpOwotICAgICAgIGxocyA9IGJ1aWxkMiAoQ09NUE9VTkRfRVhQUiwgbGhzdHlwZSwgbGhzLCBU UkVFX09QRVJBTkQgKGxocywgMCkpOwotLSAgICAgIGJyZWFrOwotKyAgICAgIGdvdG8gbWF5YmVf YWRkX2NvbXBvdW5kOwotIAotICAgICBjYXNlIE1JTl9FWFBSOgotICAgICBjYXNlIE1BWF9FWFBS OgotQEAgLTc2MjYsNyArNzY3Myw2IEBAIGNwX2J1aWxkX21vZGlmeV9leHByIChsb2NhdGlvbl90 IGxvYywgdHIKLSAJICAgZXhjZXB0IHRoYXQgdGhlIFJIUyBnb2VzIHRocm91Z2ggYSBzYXZlLWV4 cHIKLSAJICAgc28gdGhlIGNvZGUgdG8gY29tcHV0ZSBpdCBpcyBvbmx5IGVtaXR0ZWQgb25jZS4g ICovCi0gCXRyZWUgY29uZDsKLS0JdHJlZSBwcmVldmFsID0gTlVMTF9UUkVFOwotIAotIAlpZiAo Vk9JRF9UWVBFX1AgKFRSRUVfVFlQRSAocmhzKSkpCi0gCSAgewotQEAgLTc2NTIsMTQgKzc2OTgs MzEgQEAgY3BfYnVpbGRfbW9kaWZ5X2V4cHIgKGxvY2F0aW9uX3QgbG9jLCB0cgotIAotIAlpZiAo Y29uZCA9PSBlcnJvcl9tYXJrX25vZGUpCi0gCSAgcmV0dXJuIGNvbmQ7Ci0rCS8qIElmIHdlIGhh ZCAoZSwgKGEgPyBiIDogYykpID0gZDsgb3IgKGUsIChmLCAoYSA/IGIgOiBjKSkpID0gZDsKLSsJ ICAgYW5kIGxvb2tlZCB0aHJvdWdoIHRoZSBDT01QT1VORF9FWFBScywgcmVhZGQgdGhlbSBub3cg YXJvdW5kCi0rCSAgIHRoZSByZXN1bHRpbmcgY29uZCBiZWZvcmUgYWRkaW5nIHRoZSBwcmVldmFs dWF0ZWQgcmhzLiAgKi8KLSsJaWYgKFRSRUVfQ09ERSAob2xocykgPT0gQ09NUE9VTkRfRVhQUikK LSsJICB7Ci0rCSAgICBjb25kID0gYnVpbGQyIChDT01QT1VORF9FWFBSLCBUUkVFX1RZUEUgKGNv bmQpLAotKwkJCSAgIFRSRUVfT1BFUkFORCAob2xocywgMCksIGNvbmQpOwotKwkgICAgdHJlZSAq cHRyID0gJlRSRUVfT1BFUkFORCAoY29uZCwgMSk7Ci0rCSAgICBmb3IgKG9saHMgPSBUUkVFX09Q RVJBTkQgKG9saHMsIDEpOwotKwkJIFRSRUVfQ09ERSAob2xocykgPT0gQ09NUE9VTkRfRVhQUjsK LSsJCSBvbGhzID0gVFJFRV9PUEVSQU5EIChvbGhzLCAxKSkKLSsJICAgICAgewotKwkJKnB0ciA9 IGJ1aWxkMiAoQ09NUE9VTkRfRVhQUiwgVFJFRV9UWVBFIChjb25kKSwKLSsJCQkgICAgICAgVFJF RV9PUEVSQU5EIChvbGhzLCAwKSwgKnB0cik7Ci0rCQlwdHIgPSAmVFJFRV9PUEVSQU5EICgqcHRy LCAxKTsKLSsJICAgICAgfQotKwkgIH0KLSAJLyogTWFrZSBzdXJlIHRoZSBjb2RlIHRvIGNvbXB1 dGUgdGhlIHJocyBjb21lcyBvdXQKLSAJICAgYmVmb3JlIHRoZSBzcGxpdC4gICovCi0tCWlmIChw cmVldmFsKQotLQkgIGNvbmQgPSBidWlsZDIgKENPTVBPVU5EX0VYUFIsIFRSRUVfVFlQRSAobGhz KSwgcHJlZXZhbCwgY29uZCk7Ci0tCXJldHVybiBjb25kOwotKwlyZXN1bHQgPSBjb25kOwotKwln b3RvIHJldDsKLSAgICAgICB9Ci0gCi0gICAgIGRlZmF1bHQ6Ci0rICAgICAgbGhzID0gb2xoczsK LSAgICAgICBicmVhazsKLSAgICAgfQotIAotQEAgLTc2NzUsNyArNzczOCw3IEBAIGNwX2J1aWxk X21vZGlmeV9leHByIChsb2NhdGlvbl90IGxvYywgdHIKLSAJICAgIHJocyA9IGNvbnZlcnQgKGxo c3R5cGUsIHJocyk7Ci0gCSAgcmVzdWx0ID0gYnVpbGQyIChJTklUX0VYUFIsIGxoc3R5cGUsIGxo cywgcmhzKTsKLSAJICBUUkVFX1NJREVfRUZGRUNUUyAocmVzdWx0KSA9IDE7Ci0tCSAgcmV0dXJu IHJlc3VsdDsKLSsJICBnb3RvIHJldDsKLSAJfQotICAgICAgIGVsc2UgaWYgKCEgTUFZQkVfQ0xB U1NfVFlQRV9QIChsaHN0eXBlKSkKLSAJLyogRG8gdGhlIGRlZmF1bHQgdGhpbmcuICAqLzsKLUBA IC03Njg4LDcgKzc3NTEsNyBAQCBjcF9idWlsZF9tb2RpZnlfZXhwciAobG9jYXRpb25fdCBsb2Ms IHRyCi0gCSAgcmVsZWFzZV90cmVlX3ZlY3RvciAocmhzX3ZlYyk7Ci0gCSAgaWYgKHJlc3VsdCA9 PSBOVUxMX1RSRUUpCi0gCSAgICByZXR1cm4gZXJyb3JfbWFya19ub2RlOwotLQkgIHJldHVybiBy ZXN1bHQ7Ci0rCSAgZ290byByZXQ7Ci0gCX0KLSAgICAgfQotICAgZWxzZQotQEAgLTc3MDMsNyAr Nzc2Niw3IEBAIGNwX2J1aWxkX21vZGlmeV9leHByIChsb2NhdGlvbl90IGxvYywgdHIKLSAJICAg IHsKLSAJICAgICAgcmVzdWx0ID0gb2JqY19tYXliZV9idWlsZF9tb2RpZnlfZXhwciAobGhzLCBy aHMpOwotIAkgICAgICBpZiAocmVzdWx0KQotLQkJcmV0dXJuIHJlc3VsdDsKLSsJCWdvdG8gcmV0 OwotIAkgICAgfQotIAotIAkgIC8qIGBvcGVyYXRvcj0nIGlzIG5vdCBhbiBpbmhlcml0YWJsZSBv cGVyYXRvci4gICovCi1AQCAtNzcxNyw3ICs3NzgwLDcgQEAgY3BfYnVpbGRfbW9kaWZ5X2V4cHIg KGxvY2F0aW9uX3QgbG9jLCB0cgotIAkJCQkgICAgIGNvbXBsYWluKTsKLSAJICAgICAgaWYgKHJl c3VsdCA9PSBOVUxMX1RSRUUpCi0gCQlyZXR1cm4gZXJyb3JfbWFya19ub2RlOwotLQkgICAgICBy ZXR1cm4gcmVzdWx0OwotKwkgICAgICBnb3RvIHJldDsKLSAJICAgIH0KLSAJICBsaHN0eXBlID0g b2xoc3R5cGU7Ci0gCX0KLUBAIC03NzYyLDcgKzc4MjUsNyBAQCBjcF9idWlsZF9tb2RpZnlfZXhw ciAobG9jYXRpb25fdCBsb2MsIHRyCi0gCSAgICB7Ci0gCSAgICAgIHJlc3VsdCA9IG9iamNfbWF5 YmVfYnVpbGRfbW9kaWZ5X2V4cHIgKGxocywgbmV3cmhzKTsKLSAJICAgICAgaWYgKHJlc3VsdCkK LS0JCXJldHVybiByZXN1bHQ7Ci0rCQlnb3RvIHJldDsKLSAJICAgIH0KLSAJfQotICAgICAgIGdj Y19hc3NlcnQgKFRSRUVfQ09ERSAobGhzdHlwZSkgIT0gUkVGRVJFTkNFX1RZUEUpOwotQEAgLTc4 NTgsOSArNzkyMSwxMCBAQCBjcF9idWlsZF9tb2RpZnlfZXhwciAobG9jYXRpb25fdCBsb2MsIHRy Ci0gCi0gICAgICAgZnJvbV9hcnJheSA9IFRSRUVfQ09ERSAoVFJFRV9UWVBFIChuZXdyaHMpKSA9 PSBBUlJBWV9UWVBFCi0gCQkgICA/IDEgKyAobW9kaWZ5Y29kZSAhPSBJTklUX0VYUFIpOiAwOwot LSAgICAgIHJldHVybiBidWlsZF92ZWNfaW5pdCAobGhzLCBOVUxMX1RSRUUsIG5ld3JocywKLS0J CQkgICAgIC8qZXhwbGljaXRfdmFsdWVfaW5pdF9wPSovZmFsc2UsCi0tCQkJICAgICBmcm9tX2Fy cmF5LCBjb21wbGFpbik7Ci0rICAgICAgcmVzdWx0ID0gYnVpbGRfdmVjX2luaXQgKGxocywgTlVM TF9UUkVFLCBuZXdyaHMsCi0rCQkJICAgICAgIC8qZXhwbGljaXRfdmFsdWVfaW5pdF9wPSovZmFs c2UsCi0rCQkJICAgICAgIGZyb21fYXJyYXksIGNvbXBsYWluKTsKLSsgICAgICBnb3RvIHJldDsK LSAgICAgfQotIAotICAgaWYgKG1vZGlmeWNvZGUgPT0gSU5JVF9FWFBSKQotQEAgLTc4OTksNyAr Nzk2Myw3IEBAIGNwX2J1aWxkX21vZGlmeV9leHByIChsb2NhdGlvbl90IGxvYywgdHIKLSAgICAg ICByZXN1bHQgPSBvYmpjX2dlbmVyYXRlX3dyaXRlX2JhcnJpZXIgKGxocywgbW9kaWZ5Y29kZSwg bmV3cmhzKTsKLSAKLSAgICAgICBpZiAocmVzdWx0KQotLQlyZXR1cm4gcmVzdWx0OwotKwlnb3Rv IHJldDsKLSAgICAgfQotIAotICAgcmVzdWx0ID0gYnVpbGQyIChtb2RpZnljb2RlID09IE5PUF9F WFBSID8gTU9ESUZZX0VYUFIgOiBJTklUX0VYUFIsCi1AQCAtNzkwOSw2ICs3OTczLDkgQEAgY3Bf YnVpbGRfbW9kaWZ5X2V4cHIgKGxvY2F0aW9uX3QgbG9jLCB0cgotICAgaWYgKCFwbGFpbl9hc3Np Z24pCi0gICAgIFRSRUVfTk9fV0FSTklORyAocmVzdWx0KSA9IDE7Ci0gCi0rIHJldDoKLSsgIGlm IChwcmVldmFsKQotKyAgICByZXN1bHQgPSBidWlsZDIgKENPTVBPVU5EX0VYUFIsIFRSRUVfVFlQ RSAocmVzdWx0KSwgcHJlZXZhbCwgcmVzdWx0KTsKLSAgIHJldHVybiByZXN1bHQ7Ci0gfQotIAot LS0tIGdjYy90ZXN0c3VpdGUvZysrLmRnL2NwcDF6L2V2YWwtb3JkZXI0LkMuamoJMjAxNy0wMS0z MCAxNjowODoyMi4xOTU2NDEzODMgKzAxMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9jcHAx ei9ldmFsLW9yZGVyNC5DCTIwMTctMDEtMzAgMTY6MDg6MDkuMDAwMDAwMDAwICswMTAwCi1AQCAt MCwwICsxLDgwIEBACi0rLy8gUFIgYysrLzc5MjMyCi0rLy8geyBkZy1kbyBydW4gfQotKy8vIHsg ZGctb3B0aW9ucyAiLWZzdHJvbmctZXZhbC1vcmRlciIgfQotKwotK2ludCBsYXN0ID0gMDsKLSsK LStpbnQKLStmb28gKGludCBpKQotK3sKLSsgIGlmIChpICE9IGxhc3QgKyAxKQotKyAgICBfX2J1 aWx0aW5fYWJvcnQgKCk7Ci0rICBsYXN0ID0gaTsKLSsgIHJldHVybiBpOwotK30KLSsKLStjaGFy IGEsIGI7Ci0raW50IGM7Ci0rCi0rY2hhciAmCi0rYmFyIChpbnQgaSwgaW50IGopCi0rewotKyAg Zm9vIChpKTsKLSsgIHJldHVybiBqID8gYSA6IGI7Ci0rfQotKwotK2ludAotK21haW4gKCkKLSt7 Ci0rICAoZm9vICgyKSA/IGJhciAoMywgMCkgOiBiYXIgKDMsIDEpKSA9IGZvbyAoMSk7Ci0rICBp ZiAobGFzdCAhPSAzKQotKyAgICBfX2J1aWx0aW5fYWJvcnQgKCk7Ci0rICBsYXN0ID0gMDsKLSsg IChmb28gKDIpLCBmb28gKDMpID8gYmFyICg0LCAwKSA6IGJhciAoNCwgMSkpID0gZm9vICgxKTsK LSsgIGlmIChsYXN0ICE9IDQpCi0rICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIGxhc3QgPSAw OwotKyAgKGZvbyAoMiksIChmb28gKDMpID8gYmFyICg0LCAwKSA6IGJhciAoNCwgMSkpKSA9IGZv byAoMSk7Ci0rICBpZiAobGFzdCAhPSA0KQotKyAgICBfX2J1aWx0aW5fYWJvcnQgKCk7Ci0rICBs YXN0ID0gMDsKLSsgIChmb28gKDIpLCBmb28gKDMpLCBmb28gKDQpID8gYmFyICg1LCAwKSA6IGJh ciAoNSwgMSkpID0gZm9vICgxKTsKLSsgIGlmIChsYXN0ICE9IDUpCi0rICAgIF9fYnVpbHRpbl9h Ym9ydCAoKTsKLSsgIGxhc3QgPSAwOwotKyAgKGZvbyAoMiksIChmb28gKDMpLCAoZm9vICg0KSA/ IGJhciAoNSwgMCkgOiBiYXIgKDUsIDEpKSkpID0gZm9vICgxKTsKLSsgIGlmIChsYXN0ICE9IDUp Ci0rICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIGxhc3QgPSAwOwotKyAgLS1jID0gZm9vICgx KTsKLSsgIGlmIChjICE9IDEpCi0rICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIGxhc3QgPSAw OwotKyAgKGZvbyAoMiksIC0tYykgPSBmb28gKDEpOwotKyAgaWYgKGxhc3QgIT0gMiB8fCBjICE9 IDEpCi0rICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIGxhc3QgPSAwOwotKyAgKGZvbyAoMiks IGZvbyAoMyksIC0tYykgPSBmb28gKDEpOwotKyAgaWYgKGxhc3QgIT0gMyB8fCBjICE9IDEpCi0r ICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIGxhc3QgPSAwOwotKyAgKGZvbyAoMiksIChmb28g KDMpLCAtLWMpKSA9IGZvbyAoMSk7Ci0rICBpZiAobGFzdCAhPSAzIHx8IGMgIT0gMSkKLSsgICAg X19idWlsdGluX2Fib3J0ICgpOwotKyAgbGFzdCA9IDA7Ci0rICBiYXIgKDIsIDApID0gZm9vICgx KTsKLSsgIGlmIChsYXN0ICE9IDIpCi0rICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIGxhc3Qg PSAwOwotKyAgKGZvbyAoMiksIGJhciAoMywgMCkpID0gZm9vICgxKTsKLSsgIGlmIChsYXN0ICE9 IDMpCi0rICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIGxhc3QgPSAwOwotKyAgKGZvbyAoMiks IGZvbyAoMyksIGJhciAoNCwgMCkpID0gZm9vICgxKTsKLSsgIGlmIChsYXN0ICE9IDQpCi0rICAg IF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIGxhc3QgPSAwOwotKyAgKGZvbyAoMiksIChmb28gKDMp LCBiYXIgKDQsIDApKSkgPSBmb28gKDEpOwotKyAgaWYgKGxhc3QgIT0gNCkKLSsgICAgX19idWls dGluX2Fib3J0ICgpOwotK30KLS0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9vdGhlci9wcjc5MjMy LkMuamoJMjAxNy0wMS0zMCAxMzozNzozMi4wOTUwOTA2NDMgKzAxMDAKLSsrKyBnY2MvdGVzdHN1 aXRlL2crKy5kZy9vdGhlci9wcjc5MjMyLkMJMjAxNy0wMS0zMCAxMzozNToxNy4wMDAwMDAwMDAg KzAxMDAKLUBAIC0wLDAgKzEsMTIgQEAKLSsvLyBQUiBjKysvNzkyMzIKLSsvLyB7IGRnLWRvIGNv bXBpbGUgfQotKwotK2V4dGVybiBjaGFyIGFbXTsKLStpbnQgYjsKLStjaGFyIGMsIGU7Ci0rCi0r dm9pZAotK2ZvbyAobG9uZyBkKQotK3sKLSsgICgwLCBiID8gJmMgOiBhKVtkXSA9IGU7Ci0rfQoK ZGlmZiAtLWdpdCBhL2djYzctcHI3OTI4OC5wYXRjaCBiL2djYzctcHI3OTI4OC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjRmOWFlMS4uMDAwMDAwMAotLS0gYS9nY2M3LXBy NzkyODgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MiArMCwwIEBACi0yMDE3LTAxLTMwICBK YWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KLQotCVBSIGMrKy83OTI4OAotCSogZGVj bC5jIChncm9rZGVjbGFyYXRvcik6IEZvciBzdGF0aWMgZGF0YSBtZW1iZXJzLCBoYW5kbGUgdGhy ZWFkX3AKLQlvbmx5IGFmdGVyIGhhbmRsaW5nIGlubGluZS4KLQotCSogZysrLmRnL3Rscy9wcjc5 Mjg4LkM6IE5ldyB0ZXN0LgotCi0tLS0gZ2NjL2NwL2RlY2wuYy5qagkyMDE3LTAxLTI2IDA5OjE0 OjI0LjAwMDAwMDAwMCArMDEwMAotKysrIGdjYy9jcC9kZWNsLmMJMjAxNy0wMS0zMCAxODo0OToz OC41NDQ0Mzg3MTAgKzAxMDAKLUBAIC0xMjA0OSwxNCArMTIwNDksNiBAQCBncm9rZGVjbGFyYXRv ciAoY29uc3QgY3BfZGVjbGFyYXRvciAqZGVjCi0gCQkJCQkgICAgOiBpbnB1dF9sb2NhdGlvbiwK LSAJCQkJCSAgICBWQVJfREVDTCwgdW5xdWFsaWZpZWRfaWQsIHR5cGUpOwotIAkJc2V0X2xpbmth Z2VfZm9yX3N0YXRpY19kYXRhX21lbWJlciAoZGVjbCk7Ci0tCQlpZiAodGhyZWFkX3ApCi0tCQkg IHsKLS0JCSAgICBDUF9ERUNMX1RIUkVBRF9MT0NBTF9QIChkZWNsKSA9IHRydWU7Ci0tCQkgICAg aWYgKCFwcm9jZXNzaW5nX3RlbXBsYXRlX2RlY2wpCi0tCQkgICAgICBzZXRfZGVjbF90bHNfbW9k ZWwgKGRlY2wsIGRlY2xfZGVmYXVsdF90bHNfbW9kZWwgKGRlY2wpKTsKLS0JCSAgICBpZiAoZGVj bHNwZWNzLT5nbnVfdGhyZWFkX2tleXdvcmRfcCkKLS0JCSAgICAgIFNFVF9ERUNMX0dOVV9UTFNf UCAoZGVjbCk7Ci0tCQkgIH0KLSAJCWlmIChjb25jZXB0X3ApCi0gCQkgICAgZXJyb3IgKCJzdGF0 aWMgZGF0YSBtZW1iZXIgJXFFIGRlY2xhcmVkICU8Y29uY2VwdCU+IiwKLSAJCQkgICB1bnF1YWxp ZmllZF9pZCk7Ci1AQCAtMTIwNzcsNiArMTIwNjksMTUgQEAgZ3Jva2RlY2xhcmF0b3IgKGNvbnN0 IGNwX2RlY2xhcmF0b3IgKmRlYwotIAkJICAgICBkZWZpbml0aW9uIGlzIHByb3ZpZGVkLCB1bmxl c3MgdGhpcyBpcyBhbiBpbmxpbmUKLSAJCSAgICAgdmFyaWFibGUuICAqLwotIAkJICBERUNMX0VY VEVSTkFMIChkZWNsKSA9IDE7Ci0rCi0rCQlpZiAodGhyZWFkX3ApCi0rCQkgIHsKLSsJCSAgICBD UF9ERUNMX1RIUkVBRF9MT0NBTF9QIChkZWNsKSA9IHRydWU7Ci0rCQkgICAgaWYgKCFwcm9jZXNz aW5nX3RlbXBsYXRlX2RlY2wpCi0rCQkgICAgICBzZXRfZGVjbF90bHNfbW9kZWwgKGRlY2wsIGRl Y2xfZGVmYXVsdF90bHNfbW9kZWwgKGRlY2wpKTsKLSsJCSAgICBpZiAoZGVjbHNwZWNzLT5nbnVf dGhyZWFkX2tleXdvcmRfcCkKLSsJCSAgICAgIFNFVF9ERUNMX0dOVV9UTFNfUCAoZGVjbCk7Ci0r CQkgIH0KLSAJICAgICAgfQotIAkgICAgZWxzZQotIAkgICAgICB7Ci0tLS0gZ2NjL3Rlc3RzdWl0 ZS9nKysuZGcvdGxzL3ByNzkyODguQy5qagkyMDE3LTAxLTMwIDE4OjU1OjA1Ljc1NDI4MjgxOCAr MDEwMAotKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL3Rscy9wcjc5Mjg4LkMJMjAxNy0wMS0zMCAx ODo1NDo1Mi4wMDAwMDAwMDAgKzAxMDAKLUBAIC0wLDAgKzEsMjggQEAKLSsvLyBQUiBjKysvNzky ODgKLSsvLyB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgbm9ucGljIH0gfQotKy8vIHsgZGctcmVx dWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHRscyB9Ci0rLy8geyBkZy1vcHRpb25zICItTzIiIH0KLSsv LyB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJAdHBvZmYiIHsgdGFyZ2V0IGk/ODYt Ki0qIHg4Nl82NC0qLSogfSB9IH0KLSsKLStzdHJ1Y3QgUwotK3sKLSsgIHN0YXRpYyBfX3RocmVh ZCBpbnQgKnA7Ci0rfTsKLSsKLSt0ZW1wbGF0ZSA8aW50IE4+Ci0rc3RydWN0IFQKLSt7Ci0rICBz dGF0aWMgX190aHJlYWQgaW50ICpwOwotK307Ci0rCi0raW50ICoKLStmb28gKCkKLSt7Ci0rICBy ZXR1cm4gUzo6cDsKLSt9Ci0rCi0raW50ICoKLStiYXIgKCkKLSt7Ci0rICByZXR1cm4gVDwwPjo6 cDsKLSt9CgpkaWZmIC0tZ2l0IGEvZ2NjNy1wcjc5MzQxLnBhdGNoIGIvZ2NjNy1wcjc5MzQxLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZmQ3MjZkLi4wMDAwMDAwCi0tLSBh L2djYzctcHI3OTM0MS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLTIwMTct MDItMTAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgotCi0JUFIgc2FuaXRpemVy Lzc5MzQxCi0JKiBjLWMrKy1jb21tb24vdWJzYW4vZmxvYXQtY2FzdC1vdmVyZmxvdy04LmMgKFRF U1QpOiBNYWtlIG1pbiBhbmQgbWF4Ci0JdmFyaWFibGVzIHZvbGF0aWxlLgotCi0tLS0gZ2NjL3Rl c3RzdWl0ZS9jLWMrKy1jb21tb24vdWJzYW4vZmxvYXQtY2FzdC1vdmVyZmxvdy04LmMuamoJMjAx NS0xMC0yOSAwOToxNDozMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2MtYysr LWNvbW1vbi91YnNhbi9mbG9hdC1jYXN0LW92ZXJmbG93LTguYwkyMDE3LTAyLTEwIDE4OjA5OjQ3 Ljc2NzI1MTc3NCArMDEwMAotQEAgLTgsNyArOCw3IEBACi0gI2RlZmluZSBURVNUKHR5cGUxLCB0 eXBlMikgXAotICAgaWYgKHR5cGUxIyNfTUlOKQkJCQkJCVwKLSAgICAgewkJCQkJCQkJXAotLSAg ICAgIHR5cGUyIG1pbiA9IHR5cGUxIyNfTUlOOwkJCQkJXAotKyAgICAgIHZvbGF0aWxlIHR5cGUy IG1pbiA9IHR5cGUxIyNfTUlOOwkJCQlcCi0gICAgICAgdHlwZTIgYWRkID0gLTEuMDsJCQkJCQlc Ci0gICAgICAgd2hpbGUgKDEpCQkJCQkJCVwKLSAJewkJCQkJCQlcCi1AQCAtMjgsNyArMjgsNyBA QAotICAgICAgIHZvbGF0aWxlIHR5cGUxIHRlbTMgPSBjdnRfIyN0eXBlMSMjXyMjdHlwZTIgKC0x LjBmKTsJXAotICAgICB9CQkJCQkJCQlcCi0gICB7CQkJCQkJCQlcCi0tICAgIHR5cGUyIG1heCA9 IHR5cGUxIyNfTUFYOwkJCQkJXAotKyAgICB2b2xhdGlsZSB0eXBlMiBtYXggPSB0eXBlMSMjX01B WDsJCQkJXAotICAgICB0eXBlMiBhZGQgPSAxLjA7CQkJCQkJXAotICAgICB3aGlsZSAoMSkJCQkJ CQkJXAotICAgICAgIHsJCQkJCQkJCVwKCmRpZmYgLS1naXQgYS9nY2M3LXByNzkzODgucGF0Y2gg Yi9nY2M3LXByNzkzODgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5N2Uw ZWIuLjAwMDAwMDAKLS0tIGEvZ2NjNy1wcjc5Mzg4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs NzYgKzAsMCBAQAotMjAxNy0wMi0xMCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+ Ci0KLQlQUiBydGwtb3B0aW1pemF0aW9uLzc5Mzg4Ci0JUFIgcnRsLW9wdGltaXphdGlvbi83OTQ1 MAotCSogY29tYmluZS5jIChkaXN0cmlidXRlX25vdGVzKTogV2hlbiByZW1vdmluZyBURU1fSU5T TiBmb3Igd2hpY2gKLQljb3JyZXNwb25kaW5nIGRlc3QgaGFzIGxhc3QgdmFsdWUgcmVjb3JkZWQs IGludmFsaWRhdGUgdGhhdCBsYXN0Ci0JdmFsdWUuCi0KLQkqIGdjYy5jLXRvcnR1cmUvZXhlY3V0 ZS9wcjc5Mzg4LmM6IE5ldyB0ZXN0LgotCSogZ2NjLmMtdG9ydHVyZS9leGVjdXRlL3ByNzk0NTAu YzogTmV3IHRlc3QuCi0KLS0tLSBnY2MvY29tYmluZS5jLmpqCTIwMTctMDEtMzAgMDk6MzE6NDgu MDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL2NvbWJpbmUuYwkyMDE3LTAyLTEwIDE3OjA1OjU3LjUw MDQ4MjUxOCArMDEwMAotQEAgLTE0Mjg4LDYgKzE0Mjg4LDExIEBAIGRpc3RyaWJ1dGVfbm90ZXMg KHJ0eCBub3RlcywgcnR4X2luc24gKmYKLSAJCQkJCSAgICBOVUxMX1JUWCwgTlVMTF9SVFgsIE5V TExfUlRYKTsKLSAJCQkgIGRpc3RyaWJ1dGVfbGlua3MgKExPR19MSU5LUyAodGVtX2luc24pKTsK LSAKLSsJCQkgIHVuc2lnbmVkIGludCByZWdubyA9IFJFR05PIChYRVhQIChub3RlLCAwKSk7Ci0r CQkJICByZWdfc3RhdF90eXBlICpyc3AgPSAmcmVnX3N0YXRbcmVnbm9dOwotKwkJCSAgaWYgKHJz cC0+bGFzdF9zZXQgPT0gdGVtX2luc24pCi0rCQkJICAgIHJlY29yZF92YWx1ZV9mb3JfcmVnIChY RVhQIChub3RlLCAwKSwgTlVMTCwgTlVMTF9SVFgpOwotKwotIAkJCSAgU0VUX0lOU05fREVMRVRF RCAodGVtX2luc24pOwotIAkJCSAgaWYgKHRlbV9pbnNuID09IGkyKQotIAkJCSAgICBpMiA9IE5V TEw7Ci0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuYy10b3J0dXJlL2V4ZWN1dGUvcHI3OTM4OC5jLmpq CTIwMTctMDItMTAgMTc6MDM6MDEuOTkzODE0NTI5ICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9n Y2MuYy10b3J0dXJlL2V4ZWN1dGUvcHI3OTM4OC5jCTIwMTctMDItMTAgMTc6MDI6NTAuMDAwMDAw MDAwICswMTAwCi1AQCAtMCwwICsxLDIzIEBACi0rLyogUFIgcnRsLW9wdGltaXphdGlvbi83OTM4 OCAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItZm5vLXRyZWUtY29hbGVzY2UtdmFy cyIgfSAqLwotKwotK3Vuc2lnbmVkIGludCBhLCBjOwotKwotK19fYXR0cmlidXRlX18gKChub2lu bGluZSwgbm9jbG9uZSkpIHVuc2lnbmVkIGludAotK2ZvbyAodW5zaWduZWQgaW50IHApCi0rewot KyAgcCB8PSAxOwotKyAgcCAmPSAweGZmZmU7Ci0rICBwICU9IDB4ZmZmZjsKLSsgIGMgPSBwOwot KyAgcmV0dXJuIGEgKyBwOwotK30KLSsKLStpbnQKLSttYWluICh2b2lkKQotK3sKLSsgIGludCB4 ID0gZm9vICg2KTsKLSsgIGlmICh4ICE9IDYpCi0rICAgIF9fYnVpbHRpbl9hYm9ydCgpOwotKyAg cmV0dXJuIDA7Ci0rfQotLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLmMtdG9ydHVyZS9leGVjdXRlL3By Nzk0NTAuYy5qagkyMDE3LTAyLTEwIDE3OjAzOjQ1LjY5ODIzMzQyMyArMDEwMAotKysrIGdjYy90 ZXN0c3VpdGUvZ2NjLmMtdG9ydHVyZS9leGVjdXRlL3ByNzk0NTAuYwkyMDE3LTAyLTEwIDE3OjAz OjM5LjAwMDAwMDAwMCArMDEwMAotQEAgLTAsMCArMSwyMiBAQAotKy8qIFBSIHJ0bC1vcHRpbWl6 YXRpb24vNzk0NTAgKi8KLSsKLSt1bnNpZ25lZCBpbnQKLStmb28gKHVuc2lnbmVkIGNoYXIgeCwg dW5zaWduZWQgbG9uZyBsb25nIHkpCi0rewotKyAgZG8KLSsgICAgewotKyAgICAgIHggJj0gIXk7 Ci0rICAgICAgeCAlPSAyNDsKLSsgICAgfQotKyAgd2hpbGUgKHggPCB5KTsKLSsgIHJldHVybiB4 ICsgeTsKLSt9Ci0rCi0raW50Ci0rbWFpbiAodm9pZCkKLSt7Ci0rICB1bnNpZ25lZCBpbnQgeCA9 IGZvbyAoMSwgMCk7Ci0rICBpZiAoeCAhPSAxKQotKyAgICBfX2J1aWx0aW5fYWJvcnQgKCk7Ci0r ICByZXR1cm4gMDsKLSt9CgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggMDQz ZWE5ZS4uYWI1NDM3NyAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDMg KzEsMyBAQAotU0hBNTEyIChnY2MtNy4wLjEtMjAxNzAyMTEudGFyLmJ6MikgPSBiY2M2NzJjYTgw YmIwYzZlOGUzOTZiY2YyZjNmN2ZiMjJkM2E4Njg4MzE3MTgxYzE5M2M5MDg1YmNkMDM3OWI5NDVj YzI1ZDhkNDRiMGVkZWQ5NDY2MWI1MDA3OWRiY2U0YzI2ZmY5NDdhZTUxYjQyYjc1MDllYjljMzg0 ZWM2MAorU0hBNTEyIChnY2MtNy4wLjEtMjAxNzAyMTkudGFyLmJ6MikgPSBiOGVhZDZkNDQ0MWVk ZWVlYmUwMzJkMTJmMTQ4NGU0ZmRjOGY2NTEzZGY4ZDM2MzRkYzE4MTQyOWZlNzEwNTY4MzU0NGE3 MjFhNDRmZGU4M2I1MjIzOThiOWE5M2Q0N2I2NzFjMTU3MTg5YjlmMWI1MzU2ZDQ3NTRiNDg4OTkw OAogU0hBNTEyIChudnB0eC1uZXdsaWItYWFkYzhlYjBlYzQzYjdjZDBkZDJkZmI0ODRiYWU2M2M4 YjA1ZWYyNC50YXIuYnoyKSA9IDM4Zjk3YzkyOTdhZDEwODU2ODM1MmE0ZDI4Mjc3NDU1YTNjMDFm ZDhiNzg2NGU3OTgwMzdlNTAwNmI2Zjc1NzAyMmU4NzRiYmYzZjE2NTc3NWZlM2I4NzM3ODFiYzEw ODEzN2JiZWI0MmRkNWVkM2M3ZDNlNjc0Nzc0NmZhOTE4CiBTSEE1MTIgKG52cHR4LXRvb2xzLWMy ODA1MGY2MDE5M2IzYjk1YTE4ODY2YTk2ZjAzMzM0ZTg3NGU3OGYudGFyLmJ6MikgPSA5NWI1Nzdh MDZhOTNiYjA0NGRiYzgwMzNlNTUwY2IzNmJjZjJhYjI2ODdkYTAzMGE3MzE4Y2RjOTBlNzQ2N2Vk NDk2NjVlMjQ3ZGNhZmI1ZmY0YTdlOTJjZGMyNjQyOTFkMTk3MjhiZDE3ZmFiOTAyZmI2NGIyMjQ5 MTI2OTMzMAo=