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: Panu Matilainen To: git-commits@fedoraproject.org Subject: [rpms/rpm] rawhide: Fix file trigger and macro regregressions (#2492628 and #2492483) Date: Thu, 25 Jun 2026 10:18:26 GMT Message-ID: <178238270611.1.15666732143561173621.rpms-rpm-410018807bec@fedoraproject.org> List-ID: X-Git-Repo: rpms/rpm X-Git-Branch: rawhide X-Git-Rev: 410018807beca5ce8c6576c83be9a7517da186d1 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcnBtCkJyYW5jaCA6 IHJhd2hpZGUKQ29tbWl0IDogNDEwMDE4ODA3YmVjYTVjZThjNjU3NmM4M2JlOWE3NTE3ZGExODZk MQpBdXRob3IgOiBQYW51IE1hdGlsYWluZW4gPHBtYXRpbGFpQHJlZGhhdC5jb20+CkRhdGUgICA6 IDIwMjYtMDYtMjVUMTM6MTc6MjUrMDM6MDAKU3RhdHMgIDogKzU1MC8tMSBpbiA0IGZpbGUocykK VVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9ycG0vYy80MTAwMTg4 MDdiZWNhNWNlOGM2NTc2YzgzYmU5YTc1MTdkYTE4NmQxP2JyYW5jaD1yYXdoaWRlCgpMb2c6CkZp eCBmaWxlIHRyaWdnZXIgYW5kIG1hY3JvIHJlZ3JlZ3Jlc3Npb25zICgjMjQ5MjYyOCBhbmQgIzI0 OTI0ODMpCgotLS0KZGlmZiAtLWdpdCBhLzAwMDEtRml4LWEtZHVtYi1yZWdyZXNzaW9uLWZyb20t aW50cm9kdWNpbmctZGVmaW5lLW9wdGlvbi5wYXRjaCBiLzAwMDEtRml4LWEtZHVtYi1yZWdyZXNz aW9uLWZyb20taW50cm9kdWNpbmctZGVmaW5lLW9wdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5jNTBlYmRmCi0tLSAvZGV2L251bGwKKysrIGIvMDAwMS1GaXgt YS1kdW1iLXJlZ3Jlc3Npb24tZnJvbS1pbnRyb2R1Y2luZy1kZWZpbmUtb3B0aW9uLnBhdGNoCkBA IC0wLDAgKzEsODEgQEAKK0Zyb20gOTEzNDUwYjliN2ZjMzcxNjZkNGU1MWZiMzM1OWNiNDg5OTU3 NTBhZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK01lc3NhZ2UtSUQ6IDw5MTM0NTBiOWI3ZmMz NzE2NmQ0ZTUxZmIzMzU5Y2I0ODk5NTc1MGFlLjE3ODIzODI0MzAuZ2l0LnBtYXRpbGFpQHJlZGhh dC5jb20+CitGcm9tOiBQYW51IE1hdGlsYWluZW4gPHBtYXRpbGFpQHJlZGhhdC5jb20+CitEYXRl OiBUaHUsIDI1IEp1biAyMDI2IDEzOjA4OjU3ICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBh IGR1bWIgcmVncmVzc2lvbiBmcm9tIGludHJvZHVjaW5nICVkZWZpbmUgb3B0aW9ucworCitDb21t aXQgZjJhYzgwYjgwZGI5NzdmMmJmMGRmMzhmZWFmOGMxNzZmZDc3NjA4NSBicm9rZSBzb21lIGNv bW1vbiB1c2VzCitvZiAlZGVmaW5lIHRoYXQgd2UgZGlkbid0IHRlc3QgLSB3ZSB3ZXJlIG9ubHkg dGVzdGluZyAtLWRlZmluZSBhbmQKK21hY3JvIGZpbGVzLiBPb3BzLgorCitUdXJucyBvdXQgdGhp cyBpcyBqdXN0IGEgc2lsbHkgdGhpbmtvOiBqdXN0IGRvbid0IHRvdWNoICJzZSIgYXQgYWxsLgor QWRkIHRoZSBtaXNzaW5nIHRlc3RzIGFzIHdlbGwuCisKK0ZpeGVzOiAjNDI0OQorLS0tCisgcnBt aW8vbWFjcm8uY2MgICAgfCAgMSAtCisgdGVzdHMvcnBtbWFjcm8uYXQgfCAzNiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3JwbWlvL21hY3JvLmNjIGIvcnBt aW8vbWFjcm8uY2MKK2luZGV4IGZlMjI4MmNmMC4uOTczMzBjZGE2IDEwMDY0NAorLS0tIGEvcnBt aW8vbWFjcm8uY2MKKysrKyBiL3JwbWlvL21hY3JvLmNjCitAQCAtNjM3LDcgKzYzNyw2IEBAIGRv RGVmaW5lKHJwbU1hY3JvQnVmIG1iLCBjb25zdCBzdGQ6OnN0cmluZyAmIHN0ciwgaW50IGxldmVs LAorIAl9IGVsc2UgeworIAkgICAgaGFuZGxlb3B0cyA9IDA7CisgCX0KKy0Jc2UgPSBzOworICAg ICB9CisgCisgICAgIC8qIENvcHkgbmFtZSAqLworZGlmZiAtLWdpdCBhL3Rlc3RzL3JwbW1hY3Jv LmF0IGIvdGVzdHMvcnBtbWFjcm8uYXQKK2luZGV4IGZiODg1NjdjZC4uZGMwOGVlMzI3IDEwMDY0 NAorLS0tIGEvdGVzdHMvcnBtbWFjcm8uYXQKKysrKyBiL3Rlc3RzL3JwbW1hY3JvLmF0CitAQCAt MTg0OSw2ICsxODQ5LDQyIEBAIHJwbSAtLWV2YWwgIiVkZWZpbmUgLSB4eCB5eSIKKyBbXSwKKyBb ZXJyb3I6ICVkZWZpbmU6IG5vIG9wdGlvbiBhZnRlciAtCisgXSkKKysKKytSUE1URVNUX0NIRUNL KFsKKytycG0gLS1ldmFsICIlZGVmaW5lIHh4KCkgeXkiIC0tZXZhbCAiJXh4IgorK10sCisrWzBd LAorK1t5eQorK10sCisrW10pCisrCisrUlBNVEVTVF9DSEVDSyhbCisrcnBtIFwKKysJLS1kZWZp bmUgIm15cGF0aCAvYmFyIiBcCisrCS0tZXZhbCAiJWRlZmluZSAtZSB4eChhYmM6KSAlbXlwYXRo IiBcCisrCS0tZXZhbCAiJXh4IC1hIC1iIC1jMSIgXAorKwktLWV2YWwgIiVkZWZpbmUgbXlwYXRo IC9mb28iIFwKKysJLS1ldmFsICIleHgiCisrXSwKKytbMF0sCisrWy9iYXIKKysvYmFyCisrXSwK KytbXSkKKytSUE1URVNUX0NIRUNLKFsKKytycG0gXAorKwktLWRlZmluZSAibXlwYXRoIC9iYXIi IFwKKysJLS1ldmFsICIlZGVmaW5lIC1nIHh4PG8+ICVteXBhdGgiIFwKKysJLS1ldmFsICIleHgi IFwKKysJLS1ldmFsICIlZGVmaW5lIG15cGF0aCAvZm9vIiBcCisrCS0tZXZhbCAiJXh4IgorK10s CisrWzBdLAorK1svYmFyCisrL2JhcgorK10sCisrW10pCisrCisgUlBNVEVTVF9DTEVBTlVQCisg CisgUlBNVEVTVF9TRVRVUChbZXJyb3IgbWFjcm8gcmV0dXJuXSkKKy0tIAorMi41NC4wCisKCmRp ZmYgLS1naXQgYS8wMDAxLVJldmVydC1FbGltaW5hdGUtdGhlLW5vdy1yZWR1bmRhbnQtcnBtdHJp Z2dlcnMtd3JhcHAucGF0Y2ggYi8wMDAxLVJldmVydC1FbGltaW5hdGUtdGhlLW5vdy1yZWR1bmRh bnQtcnBtdHJpZ2dlcnMtd3JhcHAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uNjM5NjE2ZAotLS0gL2Rldi9udWxsCisrKyBiLzAwMDEtUmV2ZXJ0LUVsaW1pbmF0ZS10 aGUtbm93LXJlZHVuZGFudC1ycG10cmlnZ2Vycy13cmFwcC5wYXRjaApAQCAtMCwwICsxLDIwMiBA QAorRnJvbSAzYTgxZjU4YmUwNWM3MDJiYzY3ZGRhZWY2ZDNlNDk5OWY2MTY1YzdhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorTWVzc2FnZS1JRDogPDNhODFmNThiZTA1YzcwMmJjNjdkZGFlZjZk M2U0OTk5ZjYxNjVjN2EuMTc4MjM3OTk4My5naXQucG1hdGlsYWlAcmVkaGF0LmNvbT4KK0Zyb206 IFBhbnUgTWF0aWxhaW5lbiA8cG1hdGlsYWlAcmVkaGF0LmNvbT4KK0RhdGU6IFRodSwgMjUgSnVu IDIwMjYgMTI6MzI6MDcgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIFJldmVydCAiRWxpbWlu YXRlIHRoZSBub3cgcmVkdW5kYW50IHJwbXRyaWdnZXJzIHdyYXBwZXIKKyBzdHJ1Y3QiCisKK1Ro aXMgcmV2ZXJ0cyBjb21taXQgNDI4MzMyZDE5ZWQ4ZTZmOGViNmQ0YzkyNjVkYmMzNTE3MjQ2NjIz Ny4KKy0tLQorIGxpYi9ycG10cmlnZ2Vycy5jYyB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0KKyBsaWIvcnBtdHJpZ2dlcnMuaGggfCAxNiArKysrKysrKysrKystLS0t CisgbGliL3JwbXRzLmNjICAgICAgIHwgIDUgKysrKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDQ2IGlu c2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL3JwbXRyaWdn ZXJzLmNjIGIvbGliL3JwbXRyaWdnZXJzLmNjCitpbmRleCBmMTkyZGUxZjAuLmQwMzVhMGJlOSAx MDA2NDQKKy0tLSBhL2xpYi9ycG10cmlnZ2Vycy5jYworKysrIGIvbGliL3JwbXRyaWdnZXJzLmNj CitAQCAtMTcsNiArMTcsMjQgQEAKKyAKKyAjZGVmaW5lIFRSSUdHRVJfUFJJT1JJVFlfQk9VTkQg MTAwMDAKKyAKKytycG10cmlnZ2VycyBycG10cmlnZ2Vyc0NyZWF0ZSh1bnNpZ25lZCBpbnQgaGlu dCkKKyt7CisrICAgIHJwbXRyaWdnZXJzIHRyaWdnZXJzID0gbmV3IHJwbXRyaWdnZXJzX3Mge307 CisrICAgIHJldHVybiB0cmlnZ2VyczsKKyt9CisrCisrcnBtdHJpZ2dlcnMgcnBtdHJpZ2dlcnNG cmVlKHJwbXRyaWdnZXJzIHRyaWdnZXJzKQorK3sKKysgICAgZGVsZXRlIHRyaWdnZXJzOworKyAg ICByZXR1cm4gTlVMTDsKKyt9CisrCisrc3RhdGljIHZvaWQgcnBtdHJpZ2dlcnNBZGQocnBtdHJp Z2dlcnMgdHJpZ3MsIHVuc2lnbmVkIGludCBoZHJOdW0sCisrCQkJICAgIHVuc2lnbmVkIGludCB0 aXgsIHVuc2lnbmVkIGludCBwcmlvcml0eSkKKyt7CisrICAgIHRyaWdzLT50cmlnZ2VySW5mby5l bXBsYWNlKGhkck51bSwgdGl4LCBwcmlvcml0eSk7CisrfQorKworIHN0YXRpYyB1bnNpZ25lZCBp bnQgZ2V0VHJpZ1ByaW9yaXR5KEhlYWRlciBoLCBycG1UYWdWYWwgcHJpb1RhZywgaW50IHRpeCkK KyB7CisgICAgIHVuc2lnbmVkIGludCBwcmlvcml0eSA9IFJQTVRSSUdHRVJfREVGQVVMVF9QUklP UklUWTsKK0BAIC00MSw3ICs1OSw4IEBAIHN0YXRpYyB2b2lkIGFkZFRyaWdnZXJzKHJwbXRzIHRz LCBIZWFkZXIgdHJpZ0gsIHJwbXNlbnNlRmxhZ3MgZmlsdGVyLAorIAl3aGlsZSAocnBtZHNOZXh0 KGRzKSA+PSAwKSB7CisgCSAgICBpZiAoKHJwbWRzRmxhZ3MoZHMpICYgZmlsdGVyKSAmJiBzdHJj bXAocHJlZml4LCBycG1kc04oZHMpKSA9PSAwKSB7CisgCQl1bnNpZ25lZCBpbnQgcHJpb3JpdHkg PSBnZXRUcmlnUHJpb3JpdHkodHJpZ0gsIHByaW9UYWcsIHRpeCk7CistCQl0cy0+dHJpZ3MycnVu LmVtcGxhY2UoaGVhZGVyR2V0SW5zdGFuY2UodHJpZ0gpLCB0aXgsIHByaW9yaXR5KTsKKysJCXJw bXRyaWdnZXJzQWRkKHRzLT50cmlnczJydW4sIGhlYWRlckdldEluc3RhbmNlKHRyaWdIKSwKKysJ CQkJICAgIHRpeCwgcHJpb3JpdHkpOworIAkgICAgfQorIAl9CisgCXJwbWRzRnJlZShkcyk7CitA QCAtOTIsMTAgKzExMSwxMSBAQCBpbnQgcnVuUG9zdFVuVHJhbnNGaWxlVHJpZ3MocnBtdHMgdHMp CisgICAgIGludCBhcmcxID0gMDsKKyAgICAgc3RydWN0IHJwbXRkX3MgaW5zdGFsbFByZWZpeGVz OworICAgICBycG1TY3JpcHQgc2NyaXB0OworKyAgICBycG10cmlnZ2VycyB0cmlncyA9IHRzLT50 cmlnczJydW47CisgICAgIGludCBuZXJyb3JzID0gMDsKKyAKKyAgICAgLyogSXRlcmF0ZSBvdmVy IHN0b3JlZCB0cmlnZ2VycyAqLworLSAgICBmb3IgKGNvbnN0IGF1dG8gJiB0cmlnIDogdHMtPnRy aWdzMnJ1bikgeworKyAgICBmb3IgKGNvbnN0IGF1dG8gJiB0cmlnIDogdHJpZ3MtPnRyaWdnZXJJ bmZvKSB7CisgCS8qIEdldCBoZWFkZXIgY29udGFpbmluZyB0cmlnZ2VyIHNjcmlwdCAqLworIAl0 cmlnSCA9IHJwbWRiR2V0SGVhZGVyQXQocnBtdHNHZXRSZGIodHMpLCB0cmlnLmhkck51bSk7Cisg CitAQCAtNDc4LDcgKzQ5OCw3IEBAIHJwbVJDIHJ1bkZpbGVUcmlnZ2VycyhycG10cyB0cywgcnBt dGUgdGUsIGludCBhcmcyLCBycG1zZW5zZUZsYWdzIHNlbnNlLAorICAgICBpbnQgYXJnMSA9IDA7 CisgICAgIGludCAoKm1hdGNoRnVuYykocnBtdHMsIHJwbXRlLCBjb25zdCBjaGFyKiwgcnBtc2Vu c2VGbGFncyBzZW5zZSk7CisgICAgIHJwbVRhZ1ZhbCBwcmlvcml0eVRhZzsKKy0gICAgcnBtdHJp Z2dlcnMgdHJpZ2dlcnM7CisrICAgIHJwbXRyaWdnZXJzIHRyaWdnZXJzID0gcnBtdHJpZ2dlcnND cmVhdGUoMTApOworIAorICAgICAvKiBEZWNpZGUgaWYgd2UgbWF0Y2ggdHJpZ2dlcnMgYWdhaW5z dCBmaWxlcyBpbiB0ZSBvciBpbiB3aG9sZSB0cyAqLworICAgICBpZiAodG0gPT0gUlBNU0NSSVBU X0ZJTEVUUklHR0VSKSB7CitAQCAtNTEzLDcgKzUzMyw3IEBAIHJwbVJDIHJ1bkZpbGVUcmlnZ2Vy cyhycG10cyB0cywgcnBtdGUgdGUsIGludCBhcmcyLCBycG1zZW5zZUZsYWdzIHNlbnNlLAorIAkJ aGVhZGVyRnJlZSh0cmlnSCk7CisgCisgCQkvKiBTdG9yZSBmaWxlIHRyaWdnZXIgaW4gYXJyYXkg Ki8KKy0JCXRyaWdnZXJzLmVtcGxhY2Uob2Zmc2V0LCB0aXgsIHByaW9yaXR5KTsKKysJCXJwbXRy aWdnZXJzQWRkKHRyaWdnZXJzLCBvZmZzZXQsIHRpeCwgcHJpb3JpdHkpOworIAkgICAgfQorIAl9 CisgCWZyZWUocGZ4KTsKK0BAIC01MjEsNyArNTQxLDcgQEAgcnBtUkMgcnVuRmlsZVRyaWdnZXJz KHJwbXRzIHRzLCBycG10ZSB0ZSwgaW50IGFyZzIsIHJwbXNlbnNlRmxhZ3Mgc2Vuc2UsCisgICAg IHJwbWRiSW5kZXhJdGVyYXRvckZyZWUoaWkpOworIAorICAgICAvKiBIYW5kbGUgc3RvcmVkIHRy aWdnZXJzICovCistICAgIGZvciAoY29uc3QgYXV0byAmIHRyaWcgOiB0cmlnZ2VycykgeworKyAg ICBmb3IgKGNvbnN0IGF1dG8gJiB0cmlnIDogdHJpZ2dlcnMtPnRyaWdnZXJJbmZvKSB7CisgCWlm IChwcmlvcml0eUNsYXNzID09IDEpIHsKKyAJICAgIGlmICh0cmlnLnByaW9yaXR5IDwgVFJJR0dF Ul9QUklPUklUWV9CT1VORCkKKyAJCWNvbnRpbnVlOworQEAgLTU0NCw2ICs1NjQsNyBAQCBycG1S QyBydW5GaWxlVHJpZ2dlcnMocnBtdHMgdHMsIHJwbXRlIHRlLCBpbnQgYXJnMiwgcnBtc2Vuc2VG bGFncyBzZW5zZSwKKyAJCQkJCQlhcmcxLCBhcmcyKTsKKyAJaGVhZGVyRnJlZSh0cmlnSCk7Cisg ICAgIH0KKysgICAgcnBtdHJpZ2dlcnNGcmVlKHRyaWdnZXJzKTsKKyAKKyAgICAgcmV0dXJuIChu ZXJyb3JzID09IDApID8gUlBNUkNfT0sgOiBSUE1SQ19GQUlMOworIH0KK0BAIC01NjYsMTYgKzU4 NywxNyBAQCBycG1SQyBydW5JbW1lZEZpbGVUcmlnZ2VycyhycG10cyB0cywgcnBtdGUgdGUsIGlu dCBhcmcxLCBycG1zZW5zZUZsYWdzIHNlbnNlLAorICAgICBoZWFkZXJHZXQodHJpZ0gsIHByaW9y aXR5VGFnLCAmcHJpb3JpdGllcywgSEVBREVSR0VUX01JTk1FTSk7CisgCisgICAgIHRyaWdnZXJz Q291bnQgPSBycG10ZENvdW50KCZwcmlvcml0aWVzKTsKKysgICAgdHJpZ2dlcnMgPSBycG10cmln Z2Vyc0NyZWF0ZSh0cmlnZ2Vyc0NvdW50KTsKKyAKKyAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCB0 cmlnZ2Vyc0NvdW50OyBpKyspIHsKKyAJdW5zaWduZWQgaW50IHByaW9yaXR5ID0gUlBNVFJJR0dF Ul9ERUZBVUxUX1BSSU9SSVRZOworIAlpZiAocnBtdGRTZXRJbmRleCgmcHJpb3JpdGllcywgaSkg Pj0gMCkKKyAJICAgIHByaW9yaXR5ID0gcnBtdGRHZXROdW1iZXIoJnByaW9yaXRpZXMpOworIAkv KiBPZmZzZXQgaXMgbm90IGltcG9ydGFudCwgYWxsIHRyaWdnZXJzIGFyZSBmcm9tIHRoZSBzYW1l IHBhY2thZ2UgKi8KKy0JdHJpZ2dlcnMuZW1wbGFjZSgwLCBpLCBwcmlvcml0eSk7CisrCXJwbXRy aWdnZXJzQWRkKHRyaWdnZXJzLCAwLCBpLCBwcmlvcml0eSk7CisgICAgIH0KKyAKKy0gICAgZm9y IChjb25zdCBhdXRvICYgdHJpZyA6IHRyaWdnZXJzKSB7CisrICAgIGZvciAoY29uc3QgYXV0byAm IHRyaWcgOiB0cmlnZ2Vycy0+dHJpZ2dlckluZm8pIHsKKyAJaWYgKHByaW9yaXR5Q2xhc3MgPT0g MSkgeworIAkgICAgaWYgKHRyaWcucHJpb3JpdHkgPCBUUklHR0VSX1BSSU9SSVRZX0JPVU5EKQor IAkJY29udGludWU7CitAQCAtNTg4LDYgKzYxMCw3IEBAIHJwbVJDIHJ1bkltbWVkRmlsZVRyaWdn ZXJzKHJwbXRzIHRzLCBycG10ZSB0ZSwgaW50IGFyZzEsIHJwbXNlbnNlRmxhZ3Mgc2Vuc2UsCisg CQkJCQkgICAgdHJpZy50aXgsCisgCQkJCQkgICAgYXJnMSwgLTEpOworICAgICB9CisrICAgIHJw bXRyaWdnZXJzRnJlZSh0cmlnZ2Vycyk7CisgICAgIGhlYWRlckZyZWUodHJpZ0gpOworIAorICAg ICByZXR1cm4gKG5lcnJvcnMgPT0gMCkgPyBSUE1SQ19PSyA6IFJQTVJDX0ZBSUw7CitkaWZmIC0t Z2l0IGEvbGliL3JwbXRyaWdnZXJzLmhoIGIvbGliL3JwbXRyaWdnZXJzLmhoCitpbmRleCBkM2Fl ZjVjZjQuLmYxYzRhZjczMyAxMDA2NDQKKy0tLSBhL2xpYi9ycG10cmlnZ2Vycy5oaAorKysrIGIv bGliL3JwbXRyaWdnZXJzLmhoCitAQCAtOSwyMyArOSwzMSBAQAorIAorICNkZWZpbmUgUlBNVFJJ R0dFUl9ERUZBVUxUX1BSSU9SSVRZIDEwMDAwMDAKKyAKKy1zdHJ1Y3QgdHJpZ2dlckluZm8gewor K3N0cnVjdCB0cmlnZ2VySW5mb19zIHsKKyAgICAgdW5zaWduZWQgaW50IGhkck51bTsKKyAgICAg dW5zaWduZWQgaW50IHRpeDsKKyAgICAgdW5zaWduZWQgaW50IHByaW9yaXR5OworIAorLSAgICBi b29sIG9wZXJhdG9yIDwgKGNvbnN0IHRyaWdnZXJJbmZvICYgbykgY29uc3QKKysgICAgYm9vbCBv cGVyYXRvciA8IChjb25zdCB0cmlnZ2VySW5mb19zICYgbykgY29uc3QKKyAgICAgeworIAlyZXR1 cm4gc3RkOjp0aWUocHJpb3JpdHksIGhkck51bSwgdGl4KSA8CisgCSAgICAgICBzdGQ6OnRpZShv LnByaW9yaXR5LCBvLmhkck51bSwgby50aXgpOworICAgICB9CistICAgIHRyaWdnZXJJbmZvKHVu c2lnbmVkIGludCBfaG51bSwgdW5zaWduZWQgaW50IF90aXgsIHVuc2lnbmVkIGludCBfcHJpbykg OgorKyAgICB0cmlnZ2VySW5mb19zKHVuc2lnbmVkIGludCBfaG51bSwgdW5zaWduZWQgaW50IF90 aXgsIHVuc2lnbmVkIGludCBfcHJpbykgOgorIAkJaGRyTnVtKF9obnVtKSwgdGl4KF90aXgpLCBw cmlvcml0eShfcHJpbykKKyAgICAgeworICAgICB9CisgfTsKKyAKKy11c2luZyBycG10cmlnZ2Vy cyA9IHN0ZDo6c2V0PHRyaWdnZXJJbmZvPjsKKyt0eXBlZGVmIHN0cnVjdCBycG10cmlnZ2Vyc19z IHsKKysgICAgc3RkOjpzZXQ8dHJpZ2dlckluZm9fcz4gdHJpZ2dlckluZm87CisrfSAqcnBtdHJp Z2dlcnM7CisrCisrUlBNX0dOVUNfSU5URVJOQUwKKytycG10cmlnZ2VycyBycG10cmlnZ2Vyc0Ny ZWF0ZSh1bnNpZ25lZCBpbnQgaGludCk7CisrCisrUlBNX0dOVUNfSU5URVJOQUwKKytycG10cmln Z2VycyBycG10cmlnZ2Vyc0ZyZWUocnBtdHJpZ2dlcnMgdHJpZ2dlcnMpOworIAorIC8qCisgICog UHJlcGFyZSBwb3N0IHRyYW5zIHVuaW5zdGFsbCBmaWxlIHRyaWdnZXJzLiBBZnRlciB0cmFuc2Nh dGlvbiB1bmluc3RhbGxlZAorZGlmZiAtLWdpdCBhL2xpYi9ycG10cy5jYyBiL2xpYi9ycG10cy5j YworaW5kZXggNGRhZDU0ZDM1Li5lZWY5MmEzYWEgMTAwNjQ0CistLS0gYS9saWIvcnBtdHMuY2MK KysrKyBiL2xpYi9ycG10cy5jYworQEAgLTU2Niw3ICs1NjYsNiBAQCB2b2lkIHJwbXRzRW1wdHko cnBtdHMgdHMpCisgCXJldHVybjsKKyAKKyAgICAgcnBtdHNDbGVhbih0cyk7CistICAgIHRzLT50 cmlnczJydW4uY2xlYXIoKTsKKyAKKyAgICAgZm9yIChhdXRvICYgdGUgOiB0c21lbS0+b3JkZXIp IHsKKyAJcnBtdHNOb3RpZnlDaGFuZ2UodHMsIFJQTVRTX0VWRU5UX0RFTCwgdGUsIE5VTEwpOwor QEAgLTY0NCw2ICs2NDMsNyBAQCBycG10cyBycG10c0ZyZWUocnBtdHMgdHMpCisgCisgICAgIHRz LT5wbHVnaW5zID0gcnBtcGx1Z2luc0ZyZWUodHMtPnBsdWdpbnMpOworIAorKyAgICBycG10cmln Z2Vyc0ZyZWUodHMtPnRyaWdzMnJ1bik7CisgICAgIHJwbWxvZ1Jlc2V0KCh1aW50NjRfdCkgdHMp OworIAorICAgICBpZiAoX3JwbXRzX3N0YXRzKQorQEAgLTEwNDIsNiArMTA0Miw5IEBAIHJwbXRz IHJwbXRzQ3JlYXRlKHZvaWQpCisgICAgIHRzLT5ucmVmcyA9IDA7CisgCisgICAgIHRzLT5wbHVn aW5zID0gTlVMTDsKKysKKysgICAgdHMtPnRyaWdzMnJ1biA9IHJwbXRyaWdnZXJzQ3JlYXRlKDEw KTsKKysKKyAgICAgdHMtPm1pbl93cml0ZXMgPSAocnBtRXhwYW5kTnVtZXJpYygiJXs/X21pbmlt aXplX3dyaXRlc30iKSA+IDApOworIAorICAgICByZXR1cm4gcnBtdHNMaW5rKHRzKTsKKy0tIAor Mi41NC4wCisKCmRpZmYgLS1naXQgYS8wMDAyLVJldmVydC1Db252ZXJ0LWZpbGUtdHJpZ2dlci1z dHJ1Y3R1cmVzLW1pbmltYWxseS10by0ucGF0Y2ggYi8wMDAyLVJldmVydC1Db252ZXJ0LWZpbGUt dHJpZ2dlci1zdHJ1Y3R1cmVzLW1pbmltYWxseS10by0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uOWQ0MjNiYQotLS0gL2Rldi9udWxsCisrKyBiLzAwMDItUmV2ZXJ0 LUNvbnZlcnQtZmlsZS10cmlnZ2VyLXN0cnVjdHVyZXMtbWluaW1hbGx5LXRvLS5wYXRjaApAQCAt MCwwICsxLDI1NyBAQAorRnJvbSA1ODVmMWY1ZTNlYTc0MTE4YjcyM2MzY2JmODBhNzc4OGQ5ZDll N2YxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorTWVzc2FnZS1JRDogPDU4NWYxZjVlM2VhNzQx MThiNzIzYzNjYmY4MGE3Nzg4ZDlkOWU3ZjEuMTc4MjM3OTk4My5naXQucG1hdGlsYWlAcmVkaGF0 LmNvbT4KK0luLVJlcGx5LVRvOiA8M2E4MWY1OGJlMDVjNzAyYmM2N2RkYWVmNmQzZTQ5OTlmNjE2 NWM3YS4xNzgyMzc5OTgzLmdpdC5wbWF0aWxhaUByZWRoYXQuY29tPgorUmVmZXJlbmNlczogPDNh ODFmNThiZTA1YzcwMmJjNjdkZGFlZjZkM2U0OTk5ZjYxNjVjN2EuMTc4MjM3OTk4My5naXQucG1h dGlsYWlAcmVkaGF0LmNvbT4KK0Zyb206IFBhbnUgTWF0aWxhaW5lbiA8cG1hdGlsYWlAcmVkaGF0 LmNvbT4KK0RhdGU6IFRodSwgMjUgSnVuIDIwMjYgMTI6MzI6MTMgKzAzMDAKK1N1YmplY3Q6IFtQ QVRDSCAyLzJdIFJldmVydCAiQ29udmVydCBmaWxlIHRyaWdnZXIgc3RydWN0dXJlcyBtaW5pbWFs bHkgdG8gYW4KKyBTVEwgc2V0IgorCitUaGlzIHJldmVydHMgY29tbWl0IDE1ZGZiNDcyYWIxYTAw ZjE0MGY0ZWVjNTk4NDkyMjk3NDIwNWJmMjcuCistLS0KKyBsaWIvcnBtdHJpZ2dlcnMuY2MgfCAx MDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCisgbGliL3Jw bXRyaWdnZXJzLmhoIHwgIDE3ICsrLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRp b25zKCspLCAzMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYi9ycG10cmlnZ2Vycy5j YyBiL2xpYi9ycG10cmlnZ2Vycy5jYworaW5kZXggZDAzNWEwYmU5Li4xMTIxNWUzY2IgMTAwNjQ0 CistLS0gYS9saWIvcnBtdHJpZ2dlcnMuY2MKKysrKyBiL2xpYi9ycG10cmlnZ2Vycy5jYworQEAg LTIwLDE5ICsyMCw4MyBAQAorIHJwbXRyaWdnZXJzIHJwbXRyaWdnZXJzQ3JlYXRlKHVuc2lnbmVk IGludCBoaW50KQorIHsKKyAgICAgcnBtdHJpZ2dlcnMgdHJpZ2dlcnMgPSBuZXcgcnBtdHJpZ2dl cnNfcyB7fTsKKysgICAgdHJpZ2dlcnMtPmNvdW50ID0gMDsKKysgICAgdHJpZ2dlcnMtPmFsbG9j ZWQgPSBoaW50OworKyAgICB0cmlnZ2Vycy0+dHJpZ2dlckluZm8gPSAoc3RydWN0IHRyaWdnZXJJ bmZvX3MgKil4bWFsbG9jKHNpemVvZihzdHJ1Y3QgdHJpZ2dlckluZm9fcykgKgorKwkJCQkgICAg dHJpZ2dlcnMtPmFsbG9jZWQpOworICAgICByZXR1cm4gdHJpZ2dlcnM7CisgfQorIAorIHJwbXRy aWdnZXJzIHJwbXRyaWdnZXJzRnJlZShycG10cmlnZ2VycyB0cmlnZ2VycykKKyB7CisrICAgIF9m cmVlKHRyaWdnZXJzLT50cmlnZ2VySW5mbyk7CisgICAgIGRlbGV0ZSB0cmlnZ2VyczsKKysKKyAg ICAgcmV0dXJuIE5VTEw7CisgfQorIAorIHN0YXRpYyB2b2lkIHJwbXRyaWdnZXJzQWRkKHJwbXRy aWdnZXJzIHRyaWdzLCB1bnNpZ25lZCBpbnQgaGRyTnVtLAorIAkJCSAgICB1bnNpZ25lZCBpbnQg dGl4LCB1bnNpZ25lZCBpbnQgcHJpb3JpdHkpCisgeworLSAgICB0cmlncy0+dHJpZ2dlckluZm8u ZW1wbGFjZShoZHJOdW0sIHRpeCwgcHJpb3JpdHkpOworKyAgICBpZiAodHJpZ3MtPmNvdW50ID09 IHRyaWdzLT5hbGxvY2VkKSB7CisrCXRyaWdzLT5hbGxvY2VkIDw8PSAxOworKwl0cmlncy0+dHJp Z2dlckluZm8gPSB4cmVhbGxvYyh0cmlncy0+dHJpZ2dlckluZm8sCisrCQkJCXNpemVvZihzdHJ1 Y3QgdHJpZ2dlckluZm9fcykgKiB0cmlncy0+YWxsb2NlZCk7CisrICAgIH0KKysKKysgICAgdHJp Z3MtPnRyaWdnZXJJbmZvW3RyaWdzLT5jb3VudF0uaGRyTnVtID0gaGRyTnVtOworKyAgICB0cmln cy0+dHJpZ2dlckluZm9bdHJpZ3MtPmNvdW50XS50aXggPSB0aXg7CisrICAgIHRyaWdzLT50cmln Z2VySW5mb1t0cmlncy0+Y291bnRdLnByaW9yaXR5ID0gcHJpb3JpdHk7CisrICAgIHRyaWdzLT5j b3VudCsrOworK30KKysKKytzdGF0aWMgaW50IHRyaWdDbXAoY29uc3Qgdm9pZCAqYSwgY29uc3Qg dm9pZCAqYikKKyt7CisrICAgIGNvbnN0IHN0cnVjdCB0cmlnZ2VySW5mb19zICp0cmlnQSA9IChj b25zdCBzdHJ1Y3QgdHJpZ2dlckluZm9fcyAqKWE7CisrICAgIGNvbnN0IHN0cnVjdCB0cmlnZ2Vy SW5mb19zICp0cmlnQiA9IChjb25zdCBzdHJ1Y3QgdHJpZ2dlckluZm9fcyAqKWI7CisrCisrICAg IGlmICh0cmlnQS0+cHJpb3JpdHkgPCB0cmlnQi0+cHJpb3JpdHkpCisrCXJldHVybiAxOworKwor KyAgICBpZiAodHJpZ0EtPnByaW9yaXR5ID4gdHJpZ0ItPnByaW9yaXR5KQorKwlyZXR1cm4gLTE7 CisrCisrICAgIGlmICh0cmlnQS0+aGRyTnVtIDwgdHJpZ0ItPmhkck51bSkKKysJcmV0dXJuIC0x OworKworKyAgICBpZiAodHJpZ0EtPmhkck51bSA+IHRyaWdCLT5oZHJOdW0pCisrCXJldHVybiAx OworKworKyAgICBpZiAodHJpZ0EtPnRpeCA8IHRyaWdCLT50aXgpCisrCXJldHVybiAtMTsKKysK KysgICAgaWYgKHRyaWdBLT50aXggPiB0cmlnQi0+dGl4KQorKwlyZXR1cm4gMTsKKysKKysgICAg cmV0dXJuIDA7CisrfQorKworK3N0YXRpYyB2b2lkIHJwbXRyaWdnZXJzU29ydEFuZFVuaXEocnBt dHJpZ2dlcnMgdHJpZ3MpCisreworKyAgICB1bnNpZ25lZCBpbnQgZnJvbTsKKysgICAgdW5zaWdu ZWQgaW50IHRvID0gMDsKKysgICAgdW5zaWduZWQgaW50IGNvdW50ID0gdHJpZ3MtPmNvdW50Owor KworKyAgICBpZiAoY291bnQgPiAxKQorKwlxc29ydCh0cmlncy0+dHJpZ2dlckluZm8sIGNvdW50 LCBzaXplb2Yoc3RydWN0IHRyaWdnZXJJbmZvX3MpLCB0cmlnQ21wKTsKKysKKysgICAgZm9yIChm cm9tID0gMDsgZnJvbSA8IGNvdW50OyBmcm9tKyspIHsKKysJaWYgKGZyb20gPiAwICYmCisrCSAg ICAhdHJpZ0NtcCgoY29uc3Qgdm9pZCAqKSAmdHJpZ3MtPnRyaWdnZXJJbmZvW2Zyb20gLSAxXSwK KysJCSAgICAoY29uc3Qgdm9pZCAqKSAmdHJpZ3MtPnRyaWdnZXJJbmZvW2Zyb21dKSkgeworKwor KwkgICAgdHJpZ3MtPmNvdW50LS07CisrCSAgICBjb250aW51ZTsKKysJfQorKwlpZiAoZnJvbSAh PSB0bykKKysJICAgIHRyaWdzLT50cmlnZ2VySW5mb1t0b10gPSB0cmlncy0+dHJpZ2dlckluZm9b ZnJvbV07CisrCXRvKys7CisrICAgIH0KKyB9CisgCisgc3RhdGljIHVuc2lnbmVkIGludCBnZXRU cmlnUHJpb3JpdHkoSGVhZGVyIGgsIHJwbVRhZ1ZhbCBwcmlvVGFnLCBpbnQgdGl4KQorQEAgLTEw Niw2ICsxNzAsNyBAQCB2b2lkIHJwbXRyaWdnZXJzUHJlcFBvc3RVblRyYW5zRmlsZVRyaWdzKHJw bXRzIHRzLCBycG10ZSB0ZSkKKyAKKyBpbnQgcnVuUG9zdFVuVHJhbnNGaWxlVHJpZ3MocnBtdHMg dHMpCisgeworKyAgICBpbnQgaTsKKyAgICAgSGVhZGVyIHRyaWdIOworICAgICBjb25zdCBjaGFy ICogdHJpZ05hbWUgPSBOVUxMOworICAgICBpbnQgYXJnMSA9IDA7CitAQCAtMTE0LDEwICsxNzks MTIgQEAgaW50IHJ1blBvc3RVblRyYW5zRmlsZVRyaWdzKHJwbXRzIHRzKQorICAgICBycG10cmln Z2VycyB0cmlncyA9IHRzLT50cmlnczJydW47CisgICAgIGludCBuZXJyb3JzID0gMDsKKyAKKysg ICAgcnBtdHJpZ2dlcnNTb3J0QW5kVW5pcSh0cmlncyk7CisgICAgIC8qIEl0ZXJhdGUgb3ZlciBz dG9yZWQgdHJpZ2dlcnMgKi8KKy0gICAgZm9yIChjb25zdCBhdXRvICYgdHJpZyA6IHRyaWdzLT50 cmlnZ2VySW5mbykgeworKyAgICBmb3IgKGkgPSAwOyBpIDwgdHJpZ3MtPmNvdW50OyBpKyspIHsK KyAJLyogR2V0IGhlYWRlciBjb250YWluaW5nIHRyaWdnZXIgc2NyaXB0ICovCistCXRyaWdIID0g cnBtZGJHZXRIZWFkZXJBdChycG10c0dldFJkYih0cyksIHRyaWcuaGRyTnVtKTsKKysJdHJpZ0gg PSBycG1kYkdldEhlYWRlckF0KHJwbXRzR2V0UmRiKHRzKSwKKysJCQkJdHJpZ3MtPnRyaWdnZXJJ bmZvW2ldLmhkck51bSk7CisgCisgCS8qIE1heWJlIHBhY2thZ2Ugd2l0aCB0aGlzIHRyaWdnZXIg aXMgYWxyZWFkeSB1bmluc3RhbGxlZCAqLworIAlpZiAodHJpZ0ggPT0gTlVMTCkKK0BAIC0xMjYs NyArMTkzLDcgQEAgaW50IHJ1blBvc3RVblRyYW5zRmlsZVRyaWdzKHJwbXRzIHRzKQorIAkvKiBQ cmVwYXJlIGFuZCBydW4gc2NyaXB0ICovCisgCXNjcmlwdCA9IHJwbVNjcmlwdEZyb21UcmlnZ2Vy VGFnKHRyaWdILAorIAkJdHJpZ2dlcnRhZyhSUE1TRU5TRV9UUklHR0VSUE9TVFVOKSwKKy0JCVJQ TVNDUklQVF9UUkFOU0ZJTEVUUklHR0VSLCB0cmlnLnRpeCk7CisrCQlSUE1TQ1JJUFRfVFJBTlNG SUxFVFJJR0dFUiwgdHJpZ3MtPnRyaWdnZXJJbmZvW2ldLnRpeCk7CisgCisgCWhlYWRlckdldCh0 cmlnSCwgUlBNVEFHX0lOU1RQUkVGSVhFUywgJmluc3RhbGxQcmVmaXhlcywKKyAJCUhFQURFUkdF VF9BTExPQ3xIRUFERVJHRVRfQVJHVik7CitAQCAtNTQwLDI3ICs2MDcsMzAgQEAgcnBtUkMgcnVu RmlsZVRyaWdnZXJzKHJwbXRzIHRzLCBycG10ZSB0ZSwgaW50IGFyZzIsIHJwbXNlbnNlRmxhZ3Mg c2Vuc2UsCisgICAgIH0KKyAgICAgcnBtZGJJbmRleEl0ZXJhdG9yRnJlZShpaSk7CisgCisrICAg IC8qIFNvcnQgdHJpZ2dlcnMgYnkgcHJpb3JpdHksIG9mZnNldCwgdHJpZ2dlciBpbmRleCAqLwor KyAgICBycG10cmlnZ2Vyc1NvcnRBbmRVbmlxKHRyaWdnZXJzKTsKKysKKyAgICAgLyogSGFuZGxl IHN0b3JlZCB0cmlnZ2VycyAqLworLSAgICBmb3IgKGNvbnN0IGF1dG8gJiB0cmlnIDogdHJpZ2dl cnMtPnRyaWdnZXJJbmZvKSB7CisrICAgIGZvciAoaSA9IDA7IGkgPCB0cmlnZ2Vycy0+Y291bnQ7 IGkrKykgeworIAlpZiAocHJpb3JpdHlDbGFzcyA9PSAxKSB7CistCSAgICBpZiAodHJpZy5wcmlv cml0eSA8IFRSSUdHRVJfUFJJT1JJVFlfQk9VTkQpCisrCSAgICBpZiAodHJpZ2dlcnMtPnRyaWdn ZXJJbmZvW2ldLnByaW9yaXR5IDwgVFJJR0dFUl9QUklPUklUWV9CT1VORCkKKyAJCWNvbnRpbnVl OworIAl9IGVsc2UgaWYgKHByaW9yaXR5Q2xhc3MgPT0gMikgeworLQkgICAgaWYgKHRyaWcucHJp b3JpdHkgPj0gVFJJR0dFUl9QUklPUklUWV9CT1VORCkKKysJICAgIGlmICh0cmlnZ2Vycy0+dHJp Z2dlckluZm9baV0ucHJpb3JpdHkgPj0gVFJJR0dFUl9QUklPUklUWV9CT1VORCkKKyAJCWNvbnRp bnVlOworIAl9CisgCistCXRyaWdIID0gcnBtZGJHZXRIZWFkZXJBdChycG10c0dldFJkYih0cyks IHRyaWcuaGRyTnVtKTsKKysJdHJpZ0ggPSBycG1kYkdldEhlYWRlckF0KHJwbXRzR2V0UmRiKHRz KSwgdHJpZ2dlcnMtPnRyaWdnZXJJbmZvW2ldLmhkck51bSk7CisgCXRyaWdOYW1lID0gaGVhZGVy R2V0U3RyaW5nKHRyaWdILCBSUE1UQUdfTkFNRSk7CisgCWFyZzEgPSBycG1kYkNvdW50UGFja2Fn ZXMocnBtdHNHZXRSZGIodHMpLCB0cmlnTmFtZSk7CisgCisgCWlmICh0bSA9PSBSUE1TQ1JJUFRf RklMRVRSSUdHRVIpCisgCSAgICBuZXJyb3JzICs9IHJ1bkhhbmRsZVRyaWdnZXJzSW5Qa2codHMs IHRlLCB0cmlnSCwgc2Vuc2UsIHRtLCAwLAorLQkJCQkJCXRyaWcudGl4LAorKwkJCQkJCXRyaWdn ZXJzLT50cmlnZ2VySW5mb1tpXS50aXgsCisgCQkJCQkJYXJnMSwgYXJnMik7CisgCWVsc2UKKyAJ ICAgIG5lcnJvcnMgKz0gcnVuSGFuZGxlVHJpZ2dlcnNJblBrZyh0cywgdGUsIHRyaWdILCBzZW5z ZSwgdG0sIDEsCistCQkJCQkJdHJpZy50aXgsCisrCQkJCQkJdHJpZ2dlcnMtPnRyaWdnZXJJbmZv W2ldLnRpeCwKKyAJCQkJCQlhcmcxLCBhcmcyKTsKKyAJaGVhZGVyRnJlZSh0cmlnSCk7CisgICAg IH0KK0BAIC01NzMsNyArNjQzLDcgQEAgcnBtUkMgcnVuSW1tZWRGaWxlVHJpZ2dlcnMocnBtdHMg dHMsIHJwbXRlIHRlLCBpbnQgYXJnMSwgcnBtc2Vuc2VGbGFncyBzZW5zZSwKKyAJCQkgICAgcnBt c2NyaXB0VHJpZ2dlck1vZGVzIHRtLCBpbnQgcHJpb3JpdHlDbGFzcykKKyB7CisgICAgIGludCBu ZXJyb3JzID0gMDsKKy0gICAgaW50IHRyaWdnZXJzQ291bnQ7CisrICAgIGludCB0cmlnZ2Vyc0Nv dW50LCBpOworICAgICBIZWFkZXIgdHJpZ0ggPSBycG10ZUhlYWRlcih0ZSk7CisgICAgIHN0cnVj dCBycG10ZF9zIHByaW9yaXRpZXM7CisgICAgIHJwbVRhZ1ZhbCBwcmlvcml0eVRhZzsKK0BAIC01 ODksNyArNjU5LDcgQEAgcnBtUkMgcnVuSW1tZWRGaWxlVHJpZ2dlcnMocnBtdHMgdHMsIHJwbXRl IHRlLCBpbnQgYXJnMSwgcnBtc2Vuc2VGbGFncyBzZW5zZSwKKyAgICAgdHJpZ2dlcnNDb3VudCA9 IHJwbXRkQ291bnQoJnByaW9yaXRpZXMpOworICAgICB0cmlnZ2VycyA9IHJwbXRyaWdnZXJzQ3Jl YXRlKHRyaWdnZXJzQ291bnQpOworIAorLSAgICBmb3IgKGludCBpID0gMDsgaSA8IHRyaWdnZXJz Q291bnQ7IGkrKykgeworKyAgICBmb3IgKGkgPSAwOyBpIDwgdHJpZ2dlcnNDb3VudDsgaSsrKSB7 CisgCXVuc2lnbmVkIGludCBwcmlvcml0eSA9IFJQTVRSSUdHRVJfREVGQVVMVF9QUklPUklUWTsK KyAJaWYgKHJwbXRkU2V0SW5kZXgoJnByaW9yaXRpZXMsIGkpID49IDApCisgCSAgICBwcmlvcml0 eSA9IHJwbXRkR2V0TnVtYmVyKCZwcmlvcml0aWVzKTsKK0BAIC01OTcsMTcgKzY2NywyMCBAQCBy cG1SQyBydW5JbW1lZEZpbGVUcmlnZ2VycyhycG10cyB0cywgcnBtdGUgdGUsIGludCBhcmcxLCBy cG1zZW5zZUZsYWdzIHNlbnNlLAorIAlycG10cmlnZ2Vyc0FkZCh0cmlnZ2VycywgMCwgaSwgcHJp b3JpdHkpOworICAgICB9CisgCistICAgIGZvciAoY29uc3QgYXV0byAmIHRyaWcgOiB0cmlnZ2Vy cy0+dHJpZ2dlckluZm8pIHsKKysgICAgLyogU29ydCB0cmlnZ2VycyBieSBwcmlvcml0eSwgb2Zm c2V0LCB0cmlnZ2VyIGluZGV4ICovCisrICAgIHJwbXRyaWdnZXJzU29ydEFuZFVuaXEodHJpZ2dl cnMpOworKworKyAgICBmb3IgKGkgPSAwOyBpIDwgdHJpZ2dlcnNDb3VudDsgaSsrKSB7CisgCWlm IChwcmlvcml0eUNsYXNzID09IDEpIHsKKy0JICAgIGlmICh0cmlnLnByaW9yaXR5IDwgVFJJR0dF Ul9QUklPUklUWV9CT1VORCkKKysJICAgIGlmICh0cmlnZ2Vycy0+dHJpZ2dlckluZm9baV0ucHJp b3JpdHkgPCBUUklHR0VSX1BSSU9SSVRZX0JPVU5EKQorIAkJY29udGludWU7CisgCX0gZWxzZSBp ZiAocHJpb3JpdHlDbGFzcyA9PSAyKSB7CistCSAgICBpZiAodHJpZy5wcmlvcml0eSA+PSBUUklH R0VSX1BSSU9SSVRZX0JPVU5EKQorKwkgICAgaWYgKHRyaWdnZXJzLT50cmlnZ2VySW5mb1tpXS5w cmlvcml0eSA+PSBUUklHR0VSX1BSSU9SSVRZX0JPVU5EKQorIAkJY29udGludWU7CisgCX0KKyAK KyAJbmVycm9ycyArPSBydW5IYW5kbGVUcmlnZ2Vyc0luUGtnKHRzLCB0ZSwgdHJpZ0gsIHNlbnNl LCB0bSwgMiwKKy0JCQkJCSAgICB0cmlnLnRpeCwKKysJCQkJCSAgICB0cmlnZ2Vycy0+dHJpZ2dl ckluZm9baV0udGl4LAorIAkJCQkJICAgIGFyZzEsIC0xKTsKKyAgICAgfQorICAgICBycG10cmln Z2Vyc0ZyZWUodHJpZ2dlcnMpOworZGlmZiAtLWdpdCBhL2xpYi9ycG10cmlnZ2Vycy5oaCBiL2xp Yi9ycG10cmlnZ2Vycy5oaAoraW5kZXggZjFjNGFmNzMzLi4xZTQzNmJiNGEgMTAwNjQ0CistLS0g YS9saWIvcnBtdHJpZ2dlcnMuaGgKKysrKyBiL2xpYi9ycG10cmlnZ2Vycy5oaAorQEAgLTEsOSAr MSw2IEBACisgI2lmbmRlZiBfUlBNVFJJR0dFUlNfSAorICNkZWZpbmUgX1JQTVRSSUdHRVJTX0gK KyAKKy0jaW5jbHVkZSA8c2V0PgorLSNpbmNsdWRlIDx0dXBsZT4KKy0KKyAjaW5jbHVkZSA8cnBt L3JwbXV0aWwuaD4KKyAjaW5jbHVkZSAicnBtc2NyaXB0LmhoIgorIAorQEAgLTEzLDIwICsxMCwx MiBAQCBzdHJ1Y3QgdHJpZ2dlckluZm9fcyB7CisgICAgIHVuc2lnbmVkIGludCBoZHJOdW07Cisg ICAgIHVuc2lnbmVkIGludCB0aXg7CisgICAgIHVuc2lnbmVkIGludCBwcmlvcml0eTsKKy0KKy0g ICAgYm9vbCBvcGVyYXRvciA8IChjb25zdCB0cmlnZ2VySW5mb19zICYgbykgY29uc3QKKy0gICAg eworLQlyZXR1cm4gc3RkOjp0aWUocHJpb3JpdHksIGhkck51bSwgdGl4KSA8CistCSAgICAgICBz dGQ6OnRpZShvLnByaW9yaXR5LCBvLmhkck51bSwgby50aXgpOworLSAgICB9CistICAgIHRyaWdn ZXJJbmZvX3ModW5zaWduZWQgaW50IF9obnVtLCB1bnNpZ25lZCBpbnQgX3RpeCwgdW5zaWduZWQg aW50IF9wcmlvKSA6CistCQloZHJOdW0oX2hudW0pLCB0aXgoX3RpeCksIHByaW9yaXR5KF9wcmlv KQorLSAgICB7CistICAgIH0KKyB9OworIAorIHR5cGVkZWYgc3RydWN0IHJwbXRyaWdnZXJzX3Mg eworLSAgICBzdGQ6OnNldDx0cmlnZ2VySW5mb19zPiB0cmlnZ2VySW5mbzsKKysgICAgc3RydWN0 IHRyaWdnZXJJbmZvX3MgKnRyaWdnZXJJbmZvOworKyAgICBpbnQgY291bnQ7CisrICAgIGludCBh bGxvY2VkOworIH0gKnJwbXRyaWdnZXJzOworIAorIFJQTV9HTlVDX0lOVEVSTkFMCistLSAKKzIu NTQuMAorCgpkaWZmIC0tZ2l0IGEvcnBtLnNwZWMgYi9ycG0uc3BlYwppbmRleCBlMzczZDFmLi4x Yzg3MmNkIDEwMDY0NAotLS0gYS9ycG0uc3BlYworKysgYi9ycG0uc3BlYwpAQCAtMjgsNyArMjgs NyBAQAogCiAlZ2xvYmFsIHJwbXZlciA2LjAuOTEKICNnbG9iYWwgc25hcHZlciByYzEKLSVnbG9i YWwgYmFzZXJlbGVhc2UgMgorJWdsb2JhbCBiYXNlcmVsZWFzZSAzCiAlZ2xvYmFsIHNvdmVyIDEw CiAKICVnbG9iYWwgc3JjdmVyICV7cnBtdmVyfSV7P3NuYXB2ZXI6LSV7c25hcHZlcn19CkBAIC0x MjUsMTAgKzEyNSwxNSBAQCBycG0tNi4wLXJwbWZvcm1hdC5wYXRjaAogIyBodHRwczovL3NyYy5m ZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3JlZGhhdC1ycG0tY29uZmlnL3B1bGwtcmVxdWVzdC8yOTgK IDAwMDEtUmV2ZXJ0LUFkZC1hLWRlcHJlY2F0aW9uLXdhcm5pbmctZm9yLWNsYW1wX210aW1lX3Rv Xy5wYXRjaAogCisjIFRlbXBvcmFyaWx5IHJldmVydCBmaWxlIHRyaWdnZXIgcmVmYWN0b3IgZm9y IGZ1cnRoZXIgaW52ZXN0aWdhdGlvbgorMDAwMS1SZXZlcnQtRWxpbWluYXRlLXRoZS1ub3ctcmVk dW5kYW50LXJwbXRyaWdnZXJzLXdyYXBwLnBhdGNoCiswMDAyLVJldmVydC1Db252ZXJ0LWZpbGUt dHJpZ2dlci1zdHJ1Y3R1cmVzLW1pbmltYWxseS10by0ucGF0Y2gKKwogIyBQYXRjaGVzIGFscmVh ZHkgdXBzdHJlYW06CiAjIFNsaWdodGx5IG1vZGlmaWVkIGZyb20gdXNwdHJlYW0gY29tbWl0IGR1 ZSB0byBub3QgaGF2aW5nIHRoZSB0ZXN0LAogIyBiZWNhdXNlIHRoZSB0ZXN0IGFkZHMgYSBiaW5h cnkgdGhhdCAicGF0Y2giIGRvZXNuJ3QgaGFuZGxlLCBhcmdoCiAwMDAxLUZpeC1ydWJ5Z2VtLWV4 dHJhY3QtcmVncmVzc2lvbi1mcm9tLWI4YjU0ZjkyYzY1YmNhN2IucGF0Y2gKKzAwMDEtRml4LWEt ZHVtYi1yZWdyZXNzaW9uLWZyb20taW50cm9kdWNpbmctZGVmaW5lLW9wdGlvbi5wYXRjaAogCiAj IFRoZXNlIGFyZSBub3QgeWV0IHVwc3RyZWFtCiBycG0tNC43LjEtZ2VvZGUtaTY4Ni5wYXRjaApA QCAtNjQxLDYgKzY0NiwxMCBAQCBmaQogJWRvYyAle19kZWZhdWx0ZG9jZGlyfS9ycG0vQVBJLwog CiAlY2hhbmdlbG9nCisqIFRodSBKdW4gMjUgMjAyNiBQYW51IE1hdGlsYWluZW4gPHBtYXRpbGFp QHJlZGhhdC5jb20gLSA2LjAuOTEtMworLSBSZXZlcnQgZmlsZSB0cmlnZ2VyIHJlZmFjdG9yIGZv ciBmdXJ0aGVyIGludmVzdGlnYXRpb24gKCMyNDkyNjI4KQorLSBGaXggYSBzaWxseSB0aGlua28g Y2F1c2luZyBhICUlZGVmaW5lIHJlZ3Jlc3Npb24gKCMyNDkyNDgzKQorCiAqIFdlZCBKdW4gMjQg MjAyNiBQYW51IE1hdGlsYWluZW4gPHBtYXRpbGFpQHJlZGhhdC5jb20gLSA2LjAuOTEtMgogLSBG aXggcnVieWdlbSBycG11bmNvbXByZXNzIC14IHJlZ3Jlc3Npb24gKCMyNDkyMTI4KQogCg==