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: Peng Huang To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Fix bug 491999 - up/down arrow keys broken in xchat Date: Sun, 31 May 2026 02:04:14 GMT Message-ID: <178019305446.1.3241208124142840606.rpms-ibus-3ef8203ffcc1@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 3ef8203ffcc1037f374c928d2573e82d8dbca201 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvaWJ1cwpCcmFuY2gg OiBhdXRvdG9vbApDb21taXQgOiAzZWY4MjAzZmZjYzEwMzdmMzc0YzkyOGQyNTczZTgyZDhkYmNh MjAxCkF1dGhvciA6IFBlbmcgSHVhbmcgPHBodWFuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4KRGF0ZSAg IDogMjAwOS0wMy0yOVQwNTo1Mjo1MCswMDowMApTdGF0cyAgOiArMTA0Ni8tMTEgaW4gMiBmaWxl KHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvaWJ1cy9jLzNl ZjgyMDNmZmNjMTAzN2YzNzRjOTI4ZDI1NzNlODJkOGRiY2EyMDE/YnJhbmNoPWF1dG90b29sCgpM b2c6CkZpeCBidWcgNDkxOTk5IC0gdXAvZG93biBhcnJvdyBrZXlzIGJyb2tlbiBpbiB4Y2hhdAoK LS0tCmRpZmYgLS1naXQgYS9pYnVzLUhFQUQucGF0Y2ggYi9pYnVzLUhFQUQucGF0Y2gKaW5kZXgg ZDFhY2M3Zi4uYThlNWQzZCAxMDA2NDQKLS0tIGEvaWJ1cy1IRUFELnBhdGNoCisrKyBiL2lidXMt SEVBRC5wYXRjaApAQCAtNTUsMjYgKzU1LDEwNTcgQEAgaW5kZXggNGQ2NjIzMi4uNzIzZjNhZiAx MDA2NDQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1RZUEVfSU5W QUxJRCk7CiAgICAgIH0KIGRpZmYgLS1naXQgYS9jbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMg Yi9jbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMKLWluZGV4IDI5ZTc3NTMuLjQ0ODM2OTYgMTAw NjQ0CitpbmRleCAyOWU3NzUzLi5mOTllNjBhIDEwMDY0NAogLS0tIGEvY2xpZW50L2d0azIvaWJ1 c2ltY29udGV4dC5jCiArKysgYi9jbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMKLUBAIC01Njks NyArNTY5LDYgQEAgX2lidXNfY29udGV4dF9jb21taXRfdGV4dF9jYiAoSUJ1c0lucHV0Q29udGV4 dCAqaWJ1c19jb250ZXh0LAorQEAgLTI2LDE0ICsyNiwxNyBAQAorICNpbmNsdWRlIDxpYnVzLmg+ CisgI2luY2x1ZGUgImlidXNpbWNvbnRleHQuaCIKKyAKKy0vKiBJQnVzSU1Db250ZXh0UHJpdiAq LworLXN0cnVjdCBfSUJ1c0lNQ29udGV4dFByaXZhdGUgeworK3N0cnVjdCBfSUJ1c0lNQ29udGV4 dCB7CisrICAgIEd0a0lNQ29udGV4dCBwYXJlbnQ7CisrCisrICAgIC8qIGluc3RhbmNlIG1lbWJl cnMgKi8KKyAgICAgR3RrSU1Db250ZXh0ICpzbGF2ZTsKKyAgICAgR2RrV2luZG93ICpjbGllbnRf d2luZG93OworKyAgICBHZGtXaW5kb3cgKmV2ZW50X3dpbmRvdzsKKyAKKyAgICAgLyogZW5hYmxl ZCAqLworICAgICBnYm9vbGVhbiAgICAgICAgZW5hYmxlOworLSAgICBJQnVzSW5wdXRDb250ZXh0 ICppYnVzX2NvbnRleHQ7CisrICAgIElCdXNJbnB1dENvbnRleHQgKmlidXNjb250ZXh0OworIAor ICAgICAvKiBwcmVlZGl0IHN0YXR1cyAqLworICAgICBnY2hhciAgICAgICAgICAgKnByZWVkaXRf c3RyaW5nOworQEAgLTQ1LDYgKzQ4LDEyIEBAIHN0cnVjdCBfSUJ1c0lNQ29udGV4dFByaXZhdGUg eworICAgICBnYm9vbGVhbiAgICAgICAgIGhhc19mb2N1czsKKyAKKyAgICAgZ2ludCAgICAgICAg ICAgICBjYXBzOworKworK307CisrCisrc3RydWN0IF9JQnVzSU1Db250ZXh0Q2xhc3MgeworK0d0 a0lNQ29udGV4dENsYXNzIHBhcmVudDsKKysgICAgLyogY2xhc3MgbWVtYmVycyAqLworIH07Cisg Cisgc3RhdGljIGd1aW50ICAgIF9zaWduYWxfY29tbWl0X2lkID0gMDsKK0BAIC01MywxNyArNjIs MTkgQEAgc3RhdGljIGd1aW50ICAgIF9zaWduYWxfcHJlZWRpdF9zdGFydF9pZCA9IDA7Cisgc3Rh dGljIGd1aW50ICAgIF9zaWduYWxfcHJlZWRpdF9lbmRfaWQgPSAwOworIHN0YXRpYyBndWludCAg ICBfc2lnbmFsX2RlbGV0ZV9zdXJyb3VuZGluZ19pZCA9IDA7Cisgc3RhdGljIGd1aW50ICAgIF9z aWduYWxfcmV0cmlldmVfc3Vycm91bmRpbmdfaWQgPSAwOworK3N0YXRpYyBHUXVhcmsgICBfcV9p YnVzX2ltX2NvbnRleHQgPSAwOworK3N0YXRpYyBnYm9vbGVhbiBfdXNlX2tleV9zbm9vcGVyID0g VFJVRTsKKyAKKyAvKiBmdW5jdGlvbnMgcHJvdG90eXBlICovCistc3RhdGljIHZvaWQgICAgIGli dXNfaW1fY29udGV4dF9jbGFzc19pbml0ICAgKElCdXNJTUNvbnRleHRDbGFzcyAgICAqa2xhc3Mp OworLXN0YXRpYyB2b2lkICAgICBpYnVzX2ltX2NvbnRleHRfaW5pdCAgICAgICAgIChHT2JqZWN0 ICAgICAgICAgICAgICAgKm9iaik7Cistc3RhdGljIHZvaWQgICAgIGlidXNfaW1fY29udGV4dF9m aW5hbGl6ZSAgICAgKEdPYmplY3QgICAgICAgICAgICAgICAqb2JqKTsKKy1zdGF0aWMgdm9pZCAg ICAgaWJ1c19pbV9jb250ZXh0X3Jlc2V0ICAgICAgICAoR3RrSU1Db250ZXh0ICAgICAgICAgICpj b250ZXh0KTsKKytzdGF0aWMgdm9pZCAgICAgaWJ1c19pbV9jb250ZXh0X2NsYXNzX2luaXQgIChJ QnVzSU1Db250ZXh0Q2xhc3MgICAgKmtsYXNzKTsKKytzdGF0aWMgdm9pZCAgICAgaWJ1c19pbV9j b250ZXh0X2luaXQgICAgICAgIChHT2JqZWN0ICAgICAgICAgICAgICAgKm9iaik7Cisrc3RhdGlj IHZvaWQgICAgIGlidXNfaW1fY29udGV4dF9maW5hbGl6ZSAgICAoR09iamVjdCAgICAgICAgICAg ICAgICpvYmopOworK3N0YXRpYyB2b2lkICAgICBpYnVzX2ltX2NvbnRleHRfcmVzZXQgICAgICAg KEd0a0lNQ29udGV4dCAgICAgICAgICAqY29udGV4dCk7Cisgc3RhdGljIGdib29sZWFuIGlidXNf aW1fY29udGV4dF9maWx0ZXJfa2V5cHJlc3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChHdGtJTUNvbnRleHQgICAgICAgICAgICpjb250ZXh0LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdka0V2ZW50S2V5ICAgICAg ICAgICAgKmtleSk7Cistc3RhdGljIHZvaWQgICAgIGlidXNfaW1fY29udGV4dF9mb2N1c19pbiAg ICAgKEd0a0lNQ29udGV4dCAgICAgICAgICAqY29udGV4dCk7Cistc3RhdGljIHZvaWQgICAgIGli dXNfaW1fY29udGV4dF9mb2N1c19vdXQgICAgKEd0a0lNQ29udGV4dCAgICAgICAgICAqY29udGV4 dCk7Cisrc3RhdGljIHZvaWQgICAgIGlidXNfaW1fY29udGV4dF9mb2N1c19pbiAgICAoR3RrSU1D b250ZXh0ICAgICAgICAgICpjb250ZXh0KTsKKytzdGF0aWMgdm9pZCAgICAgaWJ1c19pbV9jb250 ZXh0X2ZvY3VzX291dCAgIChHdGtJTUNvbnRleHQgICAgICAgICAgKmNvbnRleHQpOworIHN0YXRp YyB2b2lkICAgICBpYnVzX2ltX2NvbnRleHRfZ2V0X3ByZWVkaXRfc3RyaW5nCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR3RrSU1Db250ZXh0ICAgICAgICAg ICAqY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBnY2hhciAgICAgICAgICAgICAgICAgICoqc3RyLAorQEAgLTcyLDYgKzgzLDEwIEBAIHN0YXRp YyB2b2lkICAgICBpYnVzX2ltX2NvbnRleHRfZ2V0X3ByZWVkaXRfc3RyaW5nCisgc3RhdGljIHZv aWQgICAgIGlidXNfaW1fY29udGV4dF9zZXRfY2xpZW50X3dpbmRvdworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEd0a0lNQ29udGV4dCAgICAgICAgICAgKmNv bnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2Rr V2luZG93ICAgICAgICAgICAgICAqY2xpZW50KTsKKysKKytzdGF0aWMgdm9pZCAgICAgaWJ1c19p bV9jb250ZXh0X3NldF9ldmVudF93aW5kb3cKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChJQnVzSU1Db250ZXh0ICAgICAgICAgICppYnVzaW1jb250ZXh0LAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdka1dpbmRvdyAg ICAgICAgICAgICAgKmNsaWVudCk7Cisgc3RhdGljIHZvaWQgICAgIGlidXNfaW1fY29udGV4dF9z ZXRfY3Vyc29yX2xvY2F0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoR3RrSU1Db250ZXh0ICAgICAgICAgICAqY29udGV4dCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZGtSZWN0YW5nbGUgICAgICAgICAgICph cmVhKTsKK0BAIC0xNjYsNiArMTgxLDMwIEBAIGlidXNfaW1fY29udGV4dF9uZXcgKHZvaWQpCisg ICAgIHJldHVybiBvYmo7CisgfQorIAorK3N0YXRpYyBnaW50CisrX2tleV9zbm9vcGVyX2NiIChH dGtXaWRnZXQgICAqd2lkZ2V0LAorKyAgICAgICAgICAgICAgICAgR2RrRXZlbnRLZXkgKmV2ZW50 LAorKyAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgIHVzZXJfZGF0YSkKKyt7CisrICAgIEdk a1dpbmRvdyAqZ2Rrd2luZG93OworKyAgICBHdGtJTUNvbnRleHQgKmltY29udGV4dDsKKysKKysg ICAgaWYgKCFfdXNlX2tleV9zbm9vcGVyKQorKyAgICAgICAgcmV0dXJuIDA7CisrCisrICAgIGdk a3dpbmRvdyA9IGd0a193aWRnZXRfZ2V0X3dpbmRvdyAod2lkZ2V0KTsKKysKKysgICAgaWYgKGdk a3dpbmRvdyA9PSBOVUxMKQorKyAgICAgICAgcmV0dXJuIDA7CisrCisrICAgIGltY29udGV4dCA9 IChHdGtJTUNvbnRleHQgKikgZ19vYmplY3RfZ2V0X3FkYXRhICgoR09iamVjdCAqKSBnZGt3aW5k b3csIF9xX2lidXNfaW1fY29udGV4dCk7CisrCisrICAgIGlmIChpbWNvbnRleHQgPT0gTlVMTCkK KysgICAgICAgIHJldHVybiAwOworKworKyAgICByZXR1cm4gZ3RrX2ltX2NvbnRleHRfZmlsdGVy X2tleXByZXNzIChpbWNvbnRleHQsIGV2ZW50KTsKKyt9CisrCisgc3RhdGljIHZvaWQKKyBpYnVz X2ltX2NvbnRleHRfY2xhc3NfaW5pdCAgICAgKElCdXNJTUNvbnRleHRDbGFzcyAqa2xhc3MpCisg eworQEAgLTE3NCw4ICsyMTMsNiBAQCBpYnVzX2ltX2NvbnRleHRfY2xhc3NfaW5pdCAgICAgKElC dXNJTUNvbnRleHRDbGFzcyAqa2xhc3MpCisgCisgICAgIHBhcmVudF9jbGFzcyA9IChHdGtJTUNv bnRleHRDbGFzcyAqKSBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQgKGtsYXNzKTsKKyAKKy0gICAg Z190eXBlX2NsYXNzX2FkZF9wcml2YXRlIChrbGFzcywgc2l6ZW9mIChJQnVzSU1Db250ZXh0UHJp dmF0ZSkpOworLQorICAgICBpbV9jb250ZXh0X2NsYXNzLT5yZXNldCA9IGlidXNfaW1fY29udGV4 dF9yZXNldDsKKyAgICAgaW1fY29udGV4dF9jbGFzcy0+Zm9jdXNfaW4gPSBpYnVzX2ltX2NvbnRl eHRfZm9jdXNfaW47CisgICAgIGltX2NvbnRleHRfY2xhc3MtPmZvY3VzX291dCA9IGlidXNfaW1f Y29udGV4dF9mb2N1c19vdXQ7CitAQCAtMjEwLDcxICsyNDcsNzUgQEAgaWJ1c19pbV9jb250ZXh0 X2NsYXNzX2luaXQgICAgIChJQnVzSU1Db250ZXh0Q2xhc3MgKmtsYXNzKQorICAgICAgICAgZ19z aWduYWxfbG9va3VwICgicmV0cmlldmUtc3Vycm91bmRpbmciLCBHX1RZUEVfRlJPTV9DTEFTUyAo a2xhc3MpKTsKKyAgICAgZ19hc3NlcnQgKF9zaWduYWxfcmV0cmlldmVfc3Vycm91bmRpbmdfaWQg IT0gMCk7CisgCisrICAgIF9xX2lidXNfaW1fY29udGV4dCA9IGdfcXVhcmtfZnJvbV9zdGF0aWNf c3RyaW5nICgiSUJ1c0lNQ29udGV4dCIpOworKworKyAgICBpZiAoX3VzZV9rZXlfc25vb3Blcikg eworKyAgICAgICAgZ3RrX2tleV9zbm9vcGVyX2luc3RhbGwgKF9rZXlfc25vb3Blcl9jYiwgTlVM TCk7CisrICAgIH0KKyB9CisgCisgc3RhdGljIHZvaWQKKyBpYnVzX2ltX2NvbnRleHRfaW5pdCAo R09iamVjdCAqb2JqKQorIHsKKyAKKy0gICAgSUJ1c0lNQ29udGV4dCAqaWJ1c2NvbnRleHQgPSBJ QlVTX0lNX0NPTlRFWFQgKG9iaik7CistICAgIElCdXNJTUNvbnRleHRQcml2YXRlICpwcml2ID0g aWJ1c2NvbnRleHQtPnByaXYgPQorLSAgICAgICAgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRF IChpYnVzY29udGV4dCwgSUJVU19UWVBFX0lNX0NPTlRFWFQsIElCdXNJTUNvbnRleHRQcml2YXRl KTsKKysgICAgSUJ1c0lNQ29udGV4dCAqaWJ1c2ltY29udGV4dCA9IElCVVNfSU1fQ09OVEVYVCAo b2JqKTsKKyAKKy0gICAgcHJpdi0+Y2xpZW50X3dpbmRvdyA9IE5VTEw7CisrICAgIGlidXNpbWNv bnRleHQtPmNsaWVudF93aW5kb3cgPSBOVUxMOworKyAgICBpYnVzaW1jb250ZXh0LT5ldmVudF93 aW5kb3cgPSBOVUxMOworIAorICAgICAvLyBJbml0IGlidXMgc3RhdHVzCistICAgIHByaXYtPmVu YWJsZSA9IEZBTFNFOworKyAgICBpYnVzaW1jb250ZXh0LT5lbmFibGUgPSBGQUxTRTsKKyAKKyAg ICAgLy8gSW5pdCBwcmVlZGl0IHN0YXR1cworLSAgICBwcml2LT5wcmVlZGl0X3N0cmluZyA9IE5V TEw7CistICAgIHByaXYtPnByZWVkaXRfYXR0cnMgPSBOVUxMOworLSAgICBwcml2LT5wcmVlZGl0 X2N1cnNvcl9wb3MgPSAwOworLSAgICBwcml2LT5wcmVlZGl0X3Zpc2libGUgPSBGQUxTRTsKKysg ICAgaWJ1c2ltY29udGV4dC0+cHJlZWRpdF9zdHJpbmcgPSBOVUxMOworKyAgICBpYnVzaW1jb250 ZXh0LT5wcmVlZGl0X2F0dHJzID0gTlVMTDsKKysgICAgaWJ1c2ltY29udGV4dC0+cHJlZWRpdF9j dXJzb3JfcG9zID0gMDsKKysgICAgaWJ1c2ltY29udGV4dC0+cHJlZWRpdF92aXNpYmxlID0gRkFM U0U7CisgCisgICAgIC8vIEluaXQgY3Vyc29yIGFyZWEKKy0gICAgcHJpdi0+Y3Vyc29yX2FyZWEu eCA9IC0xOworLSAgICBwcml2LT5jdXJzb3JfYXJlYS55ID0gLTE7CistICAgIHByaXYtPmN1cnNv cl9hcmVhLndpZHRoID0gMDsKKy0gICAgcHJpdi0+Y3Vyc29yX2FyZWEuaGVpZ2h0ID0gMDsKKysg ICAgaWJ1c2ltY29udGV4dC0+Y3Vyc29yX2FyZWEueCA9IC0xOworKyAgICBpYnVzaW1jb250ZXh0 LT5jdXJzb3JfYXJlYS55ID0gLTE7CisrICAgIGlidXNpbWNvbnRleHQtPmN1cnNvcl9hcmVhLndp ZHRoID0gMDsKKysgICAgaWJ1c2ltY29udGV4dC0+Y3Vyc29yX2FyZWEuaGVpZ2h0ID0gMDsKKyAK Ky0gICAgcHJpdi0+aWJ1c19jb250ZXh0ID0gTlVMTDsKKy0gICAgcHJpdi0+aGFzX2ZvY3VzID0g RkFMU0U7CistICAgIHByaXYtPmNhcHMgPSBJQlVTX0NBUF9QUkVFRElUX1RFWFQgfCBJQlVTX0NB UF9GT0NVUzsKKysgICAgaWJ1c2ltY29udGV4dC0+aWJ1c2NvbnRleHQgPSBOVUxMOworKyAgICBp YnVzaW1jb250ZXh0LT5oYXNfZm9jdXMgPSBGQUxTRTsKKysgICAgaWJ1c2ltY29udGV4dC0+Y2Fw cyA9IElCVVNfQ0FQX1BSRUVESVRfVEVYVCB8IElCVVNfQ0FQX0ZPQ1VTOworIAorIAorICAgICAv LyBDcmVhdGUgc2xhdmUgaW0gY29udGV4dAorLSAgICBwcml2LT5zbGF2ZSA9IGd0a19pbV9jb250 ZXh0X3NpbXBsZV9uZXcgKCk7CistICAgIGdfc2lnbmFsX2Nvbm5lY3QgKHByaXYtPnNsYXZlLAor KyAgICBpYnVzaW1jb250ZXh0LT5zbGF2ZSA9IGd0a19pbV9jb250ZXh0X3NpbXBsZV9uZXcgKCk7 CisrICAgIGdfc2lnbmFsX2Nvbm5lY3QgKGlidXNpbWNvbnRleHQtPnNsYXZlLAorICAgICAgICAg ICAgICAgICAgICAgICAiY29tbWl0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFD SyAoX3NsYXZlX2NvbW1pdF9jYiksCistICAgICAgICAgICAgICAgICAgICAgIGlidXNjb250ZXh0 KTsKKy0gICAgZ19zaWduYWxfY29ubmVjdCAocHJpdi0+c2xhdmUsCisrICAgICAgICAgICAgICAg ICAgICAgIGlidXNpbWNvbnRleHQpOworKyAgICBnX3NpZ25hbF9jb25uZWN0IChpYnVzaW1jb250 ZXh0LT5zbGF2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgInByZWVkaXQtc3RhcnQiLAorICAg ICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChfc2xhdmVfcHJlZWRpdF9zdGFydF9jYiks CistICAgICAgICAgICAgICAgICAgICAgIGlidXNjb250ZXh0KTsKKy0gICAgZ19zaWduYWxfY29u bmVjdCAocHJpdi0+c2xhdmUsCisrICAgICAgICAgICAgICAgICAgICAgIGlidXNpbWNvbnRleHQp OworKyAgICBnX3NpZ25hbF9jb25uZWN0IChpYnVzaW1jb250ZXh0LT5zbGF2ZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgInByZWVkaXQtZW5kIiwKKyAgICAgICAgICAgICAgICAgICAgICAgR19D QUxMQkFDSyAoX3NsYXZlX3ByZWVkaXRfZW5kX2NiKSwKKy0gICAgICAgICAgICAgICAgICAgICAg aWJ1c2NvbnRleHQpOworLSAgICBnX3NpZ25hbF9jb25uZWN0IChwcml2LT5zbGF2ZSwKKysgICAg ICAgICAgICAgICAgICAgICAgaWJ1c2ltY29udGV4dCk7CisrICAgIGdfc2lnbmFsX2Nvbm5lY3Qg KGlidXNpbWNvbnRleHQtPnNsYXZlLAorICAgICAgICAgICAgICAgICAgICAgICAicHJlZWRpdC1j aGFuZ2VkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoX3NsYXZlX3ByZWVk aXRfY2hhbmdlZF9jYiksCistICAgICAgICAgICAgICAgICAgICAgIGlidXNjb250ZXh0KTsKKy0g ICAgZ19zaWduYWxfY29ubmVjdCAocHJpdi0+c2xhdmUsCisrICAgICAgICAgICAgICAgICAgICAg IGlidXNpbWNvbnRleHQpOworKyAgICBnX3NpZ25hbF9jb25uZWN0IChpYnVzaW1jb250ZXh0LT5z bGF2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgInJldHJpZXZlLXN1cnJvdW5kaW5nIiwKKyAg ICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFDSyAoX3NsYXZlX3JldHJpZXZlX3N1cnJvdW5k aW5nX2NiKSwKKy0gICAgICAgICAgICAgICAgICAgICAgaWJ1c2NvbnRleHQpOworLSAgICBnX3Np Z25hbF9jb25uZWN0IChwcml2LT5zbGF2ZSwKKysgICAgICAgICAgICAgICAgICAgICAgaWJ1c2lt Y29udGV4dCk7CisrICAgIGdfc2lnbmFsX2Nvbm5lY3QgKGlidXNpbWNvbnRleHQtPnNsYXZlLAor ICAgICAgICAgICAgICAgICAgICAgICAiZGVsZXRlLXN1cnJvdW5kaW5nIiwKKyAgICAgICAgICAg ICAgICAgICAgICAgR19DQUxMQkFDSyAoX3NsYXZlX2RlbGV0ZV9zdXJyb3VuZGluZ19jYiksCist ICAgICAgICAgICAgICAgICAgICAgIGlidXNjb250ZXh0KTsKKysgICAgICAgICAgICAgICAgICAg ICAgaWJ1c2ltY29udGV4dCk7CisgCisgICAgIC8qIGluaXQgYnVzIG9iamVjdCAqLworICAgICBp ZiAoX2J1cyA9PSBOVUxMKQorICAgICAgICAgX2J1cyA9IGlidXNfYnVzX25ldygpOworIAorICAg ICBpZiAoaWJ1c19idXNfaXNfY29ubmVjdGVkIChfYnVzKSkgeworLSAgICAgICAgX2NyZWF0ZV9p bnB1dF9jb250ZXh0IChpYnVzY29udGV4dCk7CisrICAgICAgICBfY3JlYXRlX2lucHV0X2NvbnRl eHQgKGlidXNpbWNvbnRleHQpOworICAgICB9CisgCisgICAgIGdfc2lnbmFsX2Nvbm5lY3QgKF9i dXMsICJjb25uZWN0ZWQiLCBHX0NBTExCQUNLIChfYnVzX2Nvbm5lY3RlZF9jYiksIG9iaik7CitA QCAtMjg2LDI3ICszMjcsMjggQEAgaWJ1c19pbV9jb250ZXh0X2ZpbmFsaXplIChHT2JqZWN0ICpv YmopCisgICAgIGdfcmV0dXJuX2lmX2ZhaWwgKG9iaiAhPSBOVUxMKTsKKyAgICAgZ19yZXR1cm5f aWZfZmFpbCAoSUJVU19JU19JTV9DT05URVhUIChvYmopKTsKKyAKKy0gICAgSUJ1c0lNQ29udGV4 dCAqaWJ1cyA9IElCVVNfSU1fQ09OVEVYVCAob2JqKTsKKy0gICAgSUJ1c0lNQ29udGV4dFByaXZh dGUgKnByaXYgPSBpYnVzLT5wcml2OworKyAgICBJQnVzSU1Db250ZXh0ICppYnVzaW1jb250ZXh0 ID0gSUJVU19JTV9DT05URVhUIChvYmopOworIAorICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNj b25uZWN0X2J5X2Z1bmMgKF9idXMsIEdfQ0FMTEJBQ0sgKF9idXNfY29ubmVjdGVkX2NiKSwgb2Jq KTsKKyAKKy0gICAgaWYgKHByaXYtPmlidXNfY29udGV4dCkgeworLSAgICAgICAgaWJ1c19vYmpl Y3RfZGVzdHJveSAoKElCdXNPYmplY3QgKilwcml2LT5pYnVzX2NvbnRleHQpOworKyAgICBpZiAo aWJ1c2ltY29udGV4dC0+aWJ1c2NvbnRleHQpIHsKKysgICAgICAgIGlidXNfb2JqZWN0X2Rlc3Ry b3kgKChJQnVzT2JqZWN0ICopaWJ1c2ltY29udGV4dC0+aWJ1c2NvbnRleHQpOworICAgICB9Cisg CistICAgIGdfb2JqZWN0X3VucmVmIChwcml2LT5zbGF2ZSk7CisrICAgIGlidXNfaW1fY29udGV4 dF9zZXRfY2xpZW50X3dpbmRvdyAoKEd0a0lNQ29udGV4dCAqKWlidXNpbWNvbnRleHQsIE5VTEwp OworKyAgICBpYnVzX2ltX2NvbnRleHRfc2V0X2V2ZW50X3dpbmRvdyAoaWJ1c2ltY29udGV4dCwg TlVMTCk7CisgCistICAgIGlmIChwcml2LT5jbGllbnRfd2luZG93KSB7CistICAgICAgICBnX29i amVjdF91bnJlZiAocHJpdi0+Y2xpZW50X3dpbmRvdyk7CisrICAgIGlmIChpYnVzaW1jb250ZXh0 LT5zbGF2ZSkgeworKyAgICAgICAgZ19vYmplY3RfdW5yZWYgKGlidXNpbWNvbnRleHQtPnNsYXZl KTsKKysgICAgICAgIGlidXNpbWNvbnRleHQtPnNsYXZlID0gTlVMTDsKKyAgICAgfQorIAorICAg ICAvLyByZWxlYXNlIHByZWVkaXQKKy0gICAgaWYgKHByaXYtPnByZWVkaXRfc3RyaW5nKSB7Cist ICAgICAgICBnX2ZyZWUgKHByaXYtPnByZWVkaXRfc3RyaW5nKTsKKysgICAgaWYgKGlidXNpbWNv bnRleHQtPnByZWVkaXRfc3RyaW5nKSB7CisrICAgICAgICBnX2ZyZWUgKGlidXNpbWNvbnRleHQt PnByZWVkaXRfc3RyaW5nKTsKKyAgICAgfQorLSAgICBpZiAocHJpdi0+cHJlZWRpdF9hdHRycykg eworLSAgICAgICAgcGFuZ29fYXR0cl9saXN0X3VucmVmIChwcml2LT5wcmVlZGl0X2F0dHJzKTsK KysgICAgaWYgKGlidXNpbWNvbnRleHQtPnByZWVkaXRfYXR0cnMpIHsKKysgICAgICAgIHBhbmdv X2F0dHJfbGlzdF91bnJlZiAoaWJ1c2ltY29udGV4dC0+cHJlZWRpdF9hdHRycyk7CisgICAgIH0K KyAKKyAgICAgR19PQkpFQ1RfQ0xBU1MocGFyZW50X2NsYXNzKS0+ZmluYWxpemUgKG9iaik7CitA QCAtMzE0LDI3ICszNTYsMzAgQEAgaWJ1c19pbV9jb250ZXh0X2ZpbmFsaXplIChHT2JqZWN0ICpv YmopCisgCisgc3RhdGljIGdib29sZWFuCisgaWJ1c19pbV9jb250ZXh0X2ZpbHRlcl9rZXlwcmVz cyAoR3RrSU1Db250ZXh0ICpjb250ZXh0LAorLSAgICAgICAgICAgICAgICBHZGtFdmVudEtleSAg KmV2ZW50KQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdka0V2ZW50S2V5ICAq ZXZlbnQpCisgeworICAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoY29udGV4dCAhPSBOVUxMLCBG QUxTRSk7CisgICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChJQlVTX0lTX0lNX0NPTlRFWFQgKGNv bnRleHQpLCBGQUxTRSk7CisgCistICAgIElCdXNJTUNvbnRleHQgKmlidXMgPSBJQlVTX0lNX0NP TlRFWFQgKGNvbnRleHQpOworLSAgICBJQnVzSU1Db250ZXh0UHJpdmF0ZSAqcHJpdiA9IGlidXMt PnByaXY7CisrICAgIElCdXNJTUNvbnRleHQgKmlidXNpbWNvbnRleHQgPSBJQlVTX0lNX0NPTlRF WFQgKGNvbnRleHQpOworKworKyAgICBpZiAoZXZlbnQtPndpbmRvdyAhPSBpYnVzaW1jb250ZXh0 LT5jbGllbnRfd2luZG93ICYmIGV2ZW50LT53aW5kb3cgIT0gaWJ1c2ltY29udGV4dC0+ZXZlbnRf d2luZG93KSB7CisrICAgICAgICBpYnVzX2ltX2NvbnRleHRfc2V0X2V2ZW50X3dpbmRvdyAoaWJ1 c2ltY29udGV4dCwgZXZlbnQtPndpbmRvdyk7CisrICAgIH0KKyAKKy0gICAgaWYgKHByaXYtPmli dXNfY29udGV4dCAmJiBwcml2LT5oYXNfZm9jdXMpIHsKKysgICAgaWYgKGlidXNpbWNvbnRleHQt PmlidXNjb250ZXh0ICYmIGlidXNpbWNvbnRleHQtPmhhc19mb2N1cykgeworICAgICAgICAgLyog SWYgY29udGV4dCBkb2VzIG5vdCBoYXZlIGZvY3VzLCBpYnVzIHdpbGwgcHJvY2VzcyBrZXkgZXZl bnQgaW4gc3luYyBtb2RlLgorICAgICAgICAgICogSXQgaXMgYSB3b3JrYXJvdW5kIGZvciBpbmNy ZWFzZSBzZWFyY2ggaW4gdHJlZXZpZXcuCisgICAgICAgICAgKi8KKyAgICAgICAgIGdib29sZWFu IHJldHZhbDsKKyAgICAgICAgIHN3aXRjaCAoZXZlbnQtPnR5cGUpIHsKKyAgICAgICAgIGNhc2Ug R0RLX0tFWV9SRUxFQVNFOgorLSAgICAgICAgICAgIHJldHZhbCA9IGlidXNfaW5wdXRfY29udGV4 dF9wcm9jZXNzX2tleV9ldmVudCAocHJpdi0+aWJ1c19jb250ZXh0LAorKyAgICAgICAgICAgIHJl dHZhbCA9IGlidXNfaW5wdXRfY29udGV4dF9wcm9jZXNzX2tleV9ldmVudCAoaWJ1c2ltY29udGV4 dC0+aWJ1c2NvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBldmVudC0+a2V5dmFsLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQtPnN0YXRlIHwgSUJV U19SRUxFQVNFX01BU0spOworICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgY2FzZSBHREtf S0VZX1BSRVNTOgorLSAgICAgICAgICAgIHJldHZhbCA9IGlidXNfaW5wdXRfY29udGV4dF9wcm9j ZXNzX2tleV9ldmVudCAocHJpdi0+aWJ1c19jb250ZXh0LAorKyAgICAgICAgICAgIHJldHZhbCA9 IGlidXNfaW5wdXRfY29udGV4dF9wcm9jZXNzX2tleV9ldmVudCAoaWJ1c2ltY29udGV4dC0+aWJ1 c2NvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBldmVudC0+a2V5dmFsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQtPnN0YXRlKTsKKyAgICAgICAg ICAgICBicmVhazsKK0BAIC0zNDUsMTAgKzM5MCwxMCBAQCBpYnVzX2ltX2NvbnRleHRfZmlsdGVy X2tleXByZXNzIChHdGtJTUNvbnRleHQgKmNvbnRleHQsCisgICAgICAgICBpZiAocmV0dmFsKSB7 CisgICAgICAgICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAgICB9CistICAgICAgICByZXR1cm4g Z3RrX2ltX2NvbnRleHRfZmlsdGVyX2tleXByZXNzIChwcml2LT5zbGF2ZSwgZXZlbnQpOworKyAg ICAgICAgcmV0dXJuIGd0a19pbV9jb250ZXh0X2ZpbHRlcl9rZXlwcmVzcyAoaWJ1c2ltY29udGV4 dC0+c2xhdmUsIGV2ZW50KTsKKyAgICAgfQorICAgICBlbHNlIHsKKy0gICAgICAgIHJldHVybiBn dGtfaW1fY29udGV4dF9maWx0ZXJfa2V5cHJlc3MgKHByaXYtPnNsYXZlLCBldmVudCk7CisrICAg ICAgICByZXR1cm4gZ3RrX2ltX2NvbnRleHRfZmlsdGVyX2tleXByZXNzIChpYnVzaW1jb250ZXh0 LT5zbGF2ZSwgZXZlbnQpOworICAgICB9CisgfQorIAorQEAgLTM1NywxOCArNDAyLDE1IEBAIGli dXNfaW1fY29udGV4dF9mb2N1c19pbiAoR3RrSU1Db250ZXh0ICpjb250ZXh0KQorIHsKKyAgICAg Z19hc3NlcnQgKElCVVNfSVNfSU1fQ09OVEVYVCAoY29udGV4dCkpOworIAorLSAgICBJQnVzSU1D b250ZXh0ICppYnVzY29udGV4dDsKKy0gICAgSUJ1c0lNQ29udGV4dFByaXZhdGUgKnByaXY7Cisr ICAgIElCdXNJTUNvbnRleHQgKmlidXNpbWNvbnRleHQ7CisrICAgIGlidXNpbWNvbnRleHQgPSBJ QlVTX0lNX0NPTlRFWFQgKGNvbnRleHQpOworIAorLSAgICBpYnVzY29udGV4dCA9IElCVVNfSU1f Q09OVEVYVCAoY29udGV4dCk7CistICAgIHByaXYgPSBpYnVzY29udGV4dC0+cHJpdjsKKy0KKy0g ICAgcHJpdi0+aGFzX2ZvY3VzID0gVFJVRTsKKy0gICAgaWYgKHByaXYtPmlidXNfY29udGV4dCkg eworLSAgICAgICAgaWJ1c19pbnB1dF9jb250ZXh0X2ZvY3VzX2luIChwcml2LT5pYnVzX2NvbnRl eHQpOworKyAgICBpYnVzaW1jb250ZXh0LT5oYXNfZm9jdXMgPSBUUlVFOworKyAgICBpZiAoaWJ1 c2ltY29udGV4dC0+aWJ1c2NvbnRleHQpIHsKKysgICAgICAgIGlidXNfaW5wdXRfY29udGV4dF9m b2N1c19pbiAoaWJ1c2ltY29udGV4dC0+aWJ1c2NvbnRleHQpOworICAgICB9CisgCistICAgIGd0 a19pbV9jb250ZXh0X2ZvY3VzX2luIChwcml2LT5zbGF2ZSk7CisrICAgIGd0a19pbV9jb250ZXh0 X2ZvY3VzX2luIChpYnVzaW1jb250ZXh0LT5zbGF2ZSk7CisgCisgICAgIF9zZXRfY3Vyc29yX2xv Y2F0aW9uX2ludGVybmFsIChjb250ZXh0KTsKKyB9CitAQCAtMzc5LDE3ICs0MjEsMTQgQEAgaWJ1 c19pbV9jb250ZXh0X2ZvY3VzX291dCAoR3RrSU1Db250ZXh0ICpjb250ZXh0KQorIAorICAgICBn X2Fzc2VydCAoSUJVU19JU19JTV9DT05URVhUIChjb250ZXh0KSk7CisgCistICAgIElCdXNJTUNv bnRleHQgKmlidXNjb250ZXh0OworLSAgICBJQnVzSU1Db250ZXh0UHJpdmF0ZSAqcHJpdjsKKy0K Ky0gICAgaWJ1c2NvbnRleHQgPSBJQlVTX0lNX0NPTlRFWFQgKGNvbnRleHQpOworLSAgICBwcml2 ID0gaWJ1c2NvbnRleHQtPnByaXY7CisrICAgIElCdXNJTUNvbnRleHQgKmlidXNpbWNvbnRleHQ7 CisrICAgIGlidXNpbWNvbnRleHQgPSBJQlVTX0lNX0NPTlRFWFQgKGNvbnRleHQpOworIAorLSAg ICBwcml2LT5oYXNfZm9jdXMgPSBGQUxTRTsKKy0gICAgaWYgKHByaXYtPmlidXNfY29udGV4dCkg eworLSAgICAgICAgaWJ1c19pbnB1dF9jb250ZXh0X2ZvY3VzX291dCAocHJpdi0+aWJ1c19jb250 ZXh0KTsKKysgICAgaWJ1c2ltY29udGV4dC0+aGFzX2ZvY3VzID0gRkFMU0U7CisrICAgIGlmIChp YnVzaW1jb250ZXh0LT5pYnVzY29udGV4dCkgeworKyAgICAgICAgaWJ1c19pbnB1dF9jb250ZXh0 X2ZvY3VzX291dCAoaWJ1c2ltY29udGV4dC0+aWJ1c2NvbnRleHQpOworICAgICB9CistICAgIGd0 a19pbV9jb250ZXh0X2ZvY3VzX291dCAocHJpdi0+c2xhdmUpOworKyAgICBndGtfaW1fY29udGV4 dF9mb2N1c19vdXQgKGlidXNpbWNvbnRleHQtPnNsYXZlKTsKKyB9CisgCisgc3RhdGljIHZvaWQK K0BAIC0zOTcsMTYgKzQzNiwxMyBAQCBpYnVzX2ltX2NvbnRleHRfcmVzZXQgKEd0a0lNQ29udGV4 dCAqY29udGV4dCkKKyB7CisgICAgIGdfYXNzZXJ0IChJQlVTX0lTX0lNX0NPTlRFWFQgKGNvbnRl eHQpKTsKKyAKKy0gICAgSUJ1c0lNQ29udGV4dCAqaWJ1c2NvbnRleHQ7CistICAgIElCdXNJTUNv bnRleHRQcml2YXRlICpwcml2OworLQorLSAgICBpYnVzY29udGV4dCA9IElCVVNfSU1fQ09OVEVY VCAoY29udGV4dCk7CistICAgIHByaXYgPSBpYnVzY29udGV4dC0+cHJpdjsKKysgICAgSUJ1c0lN Q29udGV4dCAqaWJ1c2ltY29udGV4dDsKKysgICAgaWJ1c2ltY29udGV4dCA9IElCVVNfSU1fQ09O VEVYVCAoY29udGV4dCk7CisgCistICAgIGlmIChwcml2LT5pYnVzX2NvbnRleHQpIHsKKy0gICAg ICAgIGlidXNfaW5wdXRfY29udGV4dF9yZXNldCAocHJpdi0+aWJ1c19jb250ZXh0KTsKKysgICAg aWYgKGlidXNpbWNvbnRleHQtPmlidXNjb250ZXh0KSB7CisrICAgICAgICBpYnVzX2lucHV0X2Nv bnRleHRfcmVzZXQgKGlidXNpbWNvbnRleHQtPmlidXNjb250ZXh0KTsKKyAgICAgfQorLSAgICBn dGtfaW1fY29udGV4dF9yZXNldCAocHJpdi0+c2xhdmUpOworKyAgICBndGtfaW1fY29udGV4dF9y ZXNldCAoaWJ1c2ltY29udGV4dC0+c2xhdmUpOworIH0KKyAKKyAKK0BAIC00MTgsMjYgKzQ1NCwy MyBAQCBpYnVzX2ltX2NvbnRleHRfZ2V0X3ByZWVkaXRfc3RyaW5nIChHdGtJTUNvbnRleHQgICAq Y29udGV4dCwKKyB7CisgICAgIGdfYXNzZXJ0IChJQlVTX0lTX0lNX0NPTlRFWFQgKGNvbnRleHQp KTsKKyAKKy0gICAgSUJ1c0lNQ29udGV4dCAqaWJ1c2NvbnRleHQ7CistICAgIElCdXNJTUNvbnRl eHRQcml2YXRlICpwcml2OworKyAgICBJQnVzSU1Db250ZXh0ICppYnVzaW1jb250ZXh0OworKyAg ICBpYnVzaW1jb250ZXh0ID0gSUJVU19JTV9DT05URVhUIChjb250ZXh0KTsKKyAKKy0gICAgaWJ1 c2NvbnRleHQgPSBJQlVTX0lNX0NPTlRFWFQgKGNvbnRleHQpOworLSAgICBwcml2ID0gaWJ1c2Nv bnRleHQtPnByaXY7CistCistICAgIGlmIChwcml2LT5lbmFibGUpIHsKKy0gICAgICAgIGlmIChw cml2LT5wcmVlZGl0X3Zpc2libGUpIHsKKysgICAgaWYgKGlidXNpbWNvbnRleHQtPmVuYWJsZSkg eworKyAgICAgICAgaWYgKGlidXNpbWNvbnRleHQtPnByZWVkaXRfdmlzaWJsZSkgeworICAgICAg ICAgICAgIGlmIChzdHIpIHsKKy0gICAgICAgICAgICAgICAgKnN0ciA9IGdfc3RyZHVwIChwcml2 LT5wcmVlZGl0X3N0cmluZyA/IHByaXYtPnByZWVkaXRfc3RyaW5nOiAiIik7CisrICAgICAgICAg ICAgICAgICpzdHIgPSBnX3N0cmR1cCAoaWJ1c2ltY29udGV4dC0+cHJlZWRpdF9zdHJpbmcgPyBp YnVzaW1jb250ZXh0LT5wcmVlZGl0X3N0cmluZzogIiIpOworICAgICAgICAgICAgIH0KKyAKKyAg ICAgICAgICAgICBpZiAoYXR0cnMpIHsKKy0gICAgICAgICAgICAgICAgKmF0dHJzID0gcHJpdi0+ cHJlZWRpdF9hdHRycyA/CistICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhbmdvX2F0dHJf bGlzdF9yZWYgKHByaXYtPnByZWVkaXRfYXR0cnMpOgorKyAgICAgICAgICAgICAgICAqYXR0cnMg PSBpYnVzaW1jb250ZXh0LT5wcmVlZGl0X2F0dHJzID8KKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcGFuZ29fYXR0cl9saXN0X3JlZiAoaWJ1c2ltY29udGV4dC0+cHJlZWRpdF9hdHRycyk6 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhbmdvX2F0dHJfbGlzdF9uZXcgKCk7Cisg ICAgICAgICAgICAgfQorIAorICAgICAgICAgICAgIGlmIChjdXJzb3JfcG9zKSB7CistICAgICAg ICAgICAgICAgICpjdXJzb3JfcG9zID0gcHJpdi0+cHJlZWRpdF9jdXJzb3JfcG9zOworKyAgICAg ICAgICAgICAgICAqY3Vyc29yX3BvcyA9IGlidXNpbWNvbnRleHQtPnByZWVkaXRfY3Vyc29yX3Bv czsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CisgICAgICAgICBlbHNlIHsKK0BAIC00NTMs NTYgKzQ4Niw4NiBAQCBpYnVzX2ltX2NvbnRleHRfZ2V0X3ByZWVkaXRfc3RyaW5nIChHdGtJTUNv bnRleHQgICAqY29udGV4dCwKKyAgICAgICAgIH0KKyAgICAgfQorICAgICBlbHNlIHsKKy0gICAg ICAgIGd0a19pbV9jb250ZXh0X2dldF9wcmVlZGl0X3N0cmluZyAocHJpdi0+c2xhdmUsIHN0ciwg YXR0cnMsIGN1cnNvcl9wb3MpOworKyAgICAgICAgZ3RrX2ltX2NvbnRleHRfZ2V0X3ByZWVkaXRf c3RyaW5nIChpYnVzaW1jb250ZXh0LT5zbGF2ZSwgc3RyLCBhdHRycywgY3Vyc29yX3Bvcyk7Cisg ICAgIH0KKyB9CisgCisgCisgc3RhdGljIHZvaWQKKy1pYnVzX2ltX2NvbnRleHRfc2V0X2NsaWVu dF93aW5kb3cgIChHdGtJTUNvbnRleHQgKmNvbnRleHQsIEdka1dpbmRvdyAqY2xpZW50KQorK2li dXNfaW1fY29udGV4dF9zZXRfY2xpZW50X3dpbmRvdyAoR3RrSU1Db250ZXh0ICpjb250ZXh0LCBH ZGtXaW5kb3cgKmNsaWVudCkKKyB7CisgICAgIGdfcmV0dXJuX2lmX2ZhaWwgKGNvbnRleHQgIT0g TlVMTCk7CisgICAgIGdfcmV0dXJuX2lmX2ZhaWwgKElCVVNfSVNfSU1fQ09OVEVYVCAoY29udGV4 dCkpOworIAorLSAgICBJQnVzSU1Db250ZXh0ICppYnVzID0gSUJVU19JTV9DT05URVhUIChjb250 ZXh0KTsKKy0gICAgSUJ1c0lNQ29udGV4dFByaXZhdGUgKnByaXYgPSBpYnVzLT5wcml2OworKyAg ICBJQnVzSU1Db250ZXh0ICppYnVzaW1jb250ZXh0ID0gSUJVU19JTV9DT05URVhUIChjb250ZXh0 KTsKKyAKKy0gICAgaWYgKHByaXYtPmNsaWVudF93aW5kb3cpIHsKKy0gICAgICAgIGdfb2JqZWN0 X3VucmVmIChwcml2LT5jbGllbnRfd2luZG93KTsKKysgICAgaWYgKGlidXNpbWNvbnRleHQtPmNs aWVudF93aW5kb3cpIHsKKysgICAgICAgIGlmIChnX29iamVjdF9nZXRfcWRhdGEgKChHT2JqZWN0 ICopIGlidXNpbWNvbnRleHQtPmNsaWVudF93aW5kb3csIF9xX2lidXNfaW1fY29udGV4dCkgPT0g aWJ1c2ltY29udGV4dCkgeworKyAgICAgICAgICAgIGdfb2JqZWN0X3NldF9xZGF0YSAoKEdPYmpl Y3QgKikgaWJ1c2ltY29udGV4dC0+Y2xpZW50X3dpbmRvdywgX3FfaWJ1c19pbV9jb250ZXh0LCBO VUxMKTsKKysgICAgICAgIH0KKysgICAgICAgIGdfb2JqZWN0X3VucmVmIChpYnVzaW1jb250ZXh0 LT5jbGllbnRfd2luZG93KTsKKyAgICAgfQorIAorKyAgICBpYnVzX2ltX2NvbnRleHRfc2V0X2V2 ZW50X3dpbmRvdyAoaWJ1c2ltY29udGV4dCwgTlVMTCk7CisrCisgICAgIGlmIChjbGllbnQpIHsK KyAgICAgICAgIGdfb2JqZWN0X3JlZiAoY2xpZW50KTsKKysgICAgICAgIGdfb2JqZWN0X3JlZiAo aWJ1c2ltY29udGV4dCk7CisrICAgICAgICBnX29iamVjdF9zZXRfcWRhdGFfZnVsbCAoKEdPYmpl Y3QgKikgY2xpZW50LCBfcV9pYnVzX2ltX2NvbnRleHQsIGNvbnRleHQsIGdfb2JqZWN0X3VucmVm KTsKKyAgICAgfQorIAorLSAgICBwcml2LT5jbGllbnRfd2luZG93ID0gY2xpZW50OworLSAgICBn dGtfaW1fY29udGV4dF9zZXRfY2xpZW50X3dpbmRvdyAocHJpdi0+c2xhdmUsIGNsaWVudCk7Cisr ICAgIGlidXNpbWNvbnRleHQtPmNsaWVudF93aW5kb3cgPSBjbGllbnQ7CisrCisrICAgIGlmIChp YnVzaW1jb250ZXh0LT5zbGF2ZSkKKysgICAgICAgIGd0a19pbV9jb250ZXh0X3NldF9jbGllbnRf d2luZG93IChpYnVzaW1jb250ZXh0LT5zbGF2ZSwgY2xpZW50KTsKKyt9CisrCisrc3RhdGljIHZv aWQKKytpYnVzX2ltX2NvbnRleHRfc2V0X2V2ZW50X3dpbmRvdyAoSUJ1c0lNQ29udGV4dCAqaWJ1 c2ltY29udGV4dCwgR2RrV2luZG93ICp3aW5kb3cpCisreworKyAgICBpZiAoaWJ1c2ltY29udGV4 dC0+ZXZlbnRfd2luZG93KSB7CisrICAgICAgICBpZiAoZ19vYmplY3RfZ2V0X3FkYXRhICgoR09i amVjdCAqKSBpYnVzaW1jb250ZXh0LT5ldmVudF93aW5kb3csIF9xX2lidXNfaW1fY29udGV4dCkg PT0gaWJ1c2ltY29udGV4dCkgeworKyAgICAgICAgICAgIGdfb2JqZWN0X3NldF9xZGF0YSAoKEdP YmplY3QgKikgaWJ1c2ltY29udGV4dC0+ZXZlbnRfd2luZG93LCBfcV9pYnVzX2ltX2NvbnRleHQs IE5VTEwpOworKyAgICAgICAgfQorKyAgICAgICAgZ19vYmplY3RfdW5yZWYgKGlidXNpbWNvbnRl eHQtPmV2ZW50X3dpbmRvdyk7CisrICAgICAgICBpYnVzaW1jb250ZXh0LT5ldmVudF93aW5kb3cg PSBOVUxMOworKyAgICB9CisrCisrICAgIGlmICh3aW5kb3cgPT0gaWJ1c2ltY29udGV4dC0+Y2xp ZW50X3dpbmRvdykKKysgICAgICAgIHdpbmRvdyA9IE5VTEw7CisrCisrICAgIGlmICh3aW5kb3cg IT0gTlVMTCkgeworKyAgICAgICAgZ19vYmplY3RfcmVmICh3aW5kb3cpOworKyAgICAgICAgZ19v YmplY3RfcmVmIChpYnVzaW1jb250ZXh0KTsKKysgICAgICAgIGdfb2JqZWN0X3NldF9xZGF0YV9m dWxsICgoR09iamVjdCAqKSB3aW5kb3csIF9xX2lidXNfaW1fY29udGV4dCwgaWJ1c2ltY29udGV4 dCwgZ19vYmplY3RfdW5yZWYpOworKyAgICB9CisrCisrICAgIGlidXNpbWNvbnRleHQtPmV2ZW50 X3dpbmRvdyA9IHdpbmRvdzsKKyB9CisgCisgc3RhdGljIHZvaWQKKyBfc2V0X2N1cnNvcl9sb2Nh dGlvbl9pbnRlcm5hbCAoR3RrSU1Db250ZXh0ICpjb250ZXh0KQorIHsKKy0gICAgSUJ1c0lNQ29u dGV4dCAqaWJ1cyA9IElCVVNfSU1fQ09OVEVYVCAoY29udGV4dCk7CistICAgIElCdXNJTUNvbnRl eHRQcml2YXRlICpwcml2ID0gaWJ1cy0+cHJpdjsKKysgICAgSUJ1c0lNQ29udGV4dCAqaWJ1c2lt Y29udGV4dCA9IElCVVNfSU1fQ09OVEVYVCAoY29udGV4dCk7CisgICAgIEdka1JlY3RhbmdsZSBh cmVhOworICAgICBnaW50IHgsIHk7CisgCistICAgIGlmKHByaXYtPmNsaWVudF93aW5kb3cgPT0g TlVMTCB8fCBwcml2LT5pYnVzX2NvbnRleHQgPT0gTlVMTCkgeworKyAgICBpZihpYnVzaW1jb250 ZXh0LT5jbGllbnRfd2luZG93ID09IE5VTEwgfHwgaWJ1c2ltY29udGV4dC0+aWJ1c2NvbnRleHQg PT0gTlVMTCkgeworICAgICAgICAgcmV0dXJuOworICAgICB9CisgCistICAgIGFyZWEgPSBwcml2 LT5jdXJzb3JfYXJlYTsKKysgICAgYXJlYSA9IGlidXNpbWNvbnRleHQtPmN1cnNvcl9hcmVhOwor ICAgICBpZiAoYXJlYS54ID09IC0xICYmIGFyZWEueSA9PSAtMSAmJiBhcmVhLndpZHRoID09IDAg JiYgYXJlYS5oZWlnaHQgPT0gMCkgeworICAgICAgICAgZ2ludCB3LCBoOworLSAgICAgICAgZ2Rr X2RyYXdhYmxlX2dldF9zaXplIChwcml2LT5jbGllbnRfd2luZG93LCAmdywgJmgpOworKyAgICAg ICAgZ2RrX2RyYXdhYmxlX2dldF9zaXplIChpYnVzaW1jb250ZXh0LT5jbGllbnRfd2luZG93LCAm dywgJmgpOworICAgICAgICAgYXJlYS55ICs9IGg7CisgICAgICAgICBhcmVhLnggPSAwOworICAg ICB9CisgCistICAgIGdka193aW5kb3dfZ2V0X29yaWdpbiAocHJpdi0+Y2xpZW50X3dpbmRvdywg JngsICZ5KTsKKysgICAgZ2RrX3dpbmRvd19nZXRfb3JpZ2luIChpYnVzaW1jb250ZXh0LT5jbGll bnRfd2luZG93LCAmeCwgJnkpOworICAgICBhcmVhLnggKz0geDsKKyAgICAgYXJlYS55ICs9IHk7 CistICAgIGlidXNfaW5wdXRfY29udGV4dF9zZXRfY3Vyc29yX2xvY2F0aW9uIChwcml2LT5pYnVz X2NvbnRleHQsCisrICAgIGlidXNfaW5wdXRfY29udGV4dF9zZXRfY3Vyc29yX2xvY2F0aW9uIChp YnVzaW1jb250ZXh0LT5pYnVzY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGFyZWEueCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGFyZWEueSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGFyZWEud2lkdGgsCitAQCAtNTE1LDEyICs1NzgsMTEgQEAgaWJ1c19pbV9jb250 ZXh0X3NldF9jdXJzb3JfbG9jYXRpb24gKEd0a0lNQ29udGV4dCAqY29udGV4dCwgR2RrUmVjdGFu Z2xlICphcmVhKQorICAgICBnX3JldHVybl9pZl9mYWlsIChjb250ZXh0ICE9IE5VTEwpOworICAg ICBnX3JldHVybl9pZl9mYWlsIChJQlVTX0lTX0lNX0NPTlRFWFQgKGNvbnRleHQpKTsKKyAKKy0g ICAgSUJ1c0lNQ29udGV4dCAqaWJ1cyA9IElCVVNfSU1fQ09OVEVYVCAoY29udGV4dCk7CistICAg IElCdXNJTUNvbnRleHRQcml2YXRlICpwcml2ID0gaWJ1cy0+cHJpdjsKKysgICAgSUJ1c0lNQ29u dGV4dCAqaWJ1c2ltY29udGV4dCA9IElCVVNfSU1fQ09OVEVYVCAoY29udGV4dCk7CisgCistICAg IHByaXYtPmN1cnNvcl9hcmVhID0gKmFyZWE7CisrICAgIGlidXNpbWNvbnRleHQtPmN1cnNvcl9h cmVhID0gKmFyZWE7CisgICAgIF9zZXRfY3Vyc29yX2xvY2F0aW9uX2ludGVybmFsIChjb250ZXh0 KTsKKy0gICAgZ3RrX2ltX2NvbnRleHRfc2V0X2N1cnNvcl9sb2NhdGlvbiAocHJpdi0+c2xhdmUs IGFyZWEpOworKyAgICBndGtfaW1fY29udGV4dF9zZXRfY3Vyc29yX2xvY2F0aW9uIChpYnVzaW1j b250ZXh0LT5zbGF2ZSwgYXJlYSk7CisgfQorIAorIHN0YXRpYyB2b2lkCitAQCAtNTI5LDYwICs1 OTEsNTYgQEAgaWJ1c19pbV9jb250ZXh0X3NldF91c2VfcHJlZWRpdCAoR3RrSU1Db250ZXh0ICpj b250ZXh0LCBnYm9vbGVhbiB1c2VfcHJlZWRpdCkKKyAgICAgZ19yZXR1cm5faWZfZmFpbCAoY29u dGV4dCAhPSBOVUxMKTsKKyAgICAgZ19yZXR1cm5faWZfZmFpbCAoSUJVU19JU19JTV9DT05URVhU IChjb250ZXh0KSk7CisgCistICAgIElCdXNJTUNvbnRleHQgKmlidXMgPSBJQlVTX0lNX0NPTlRF WFQgKGNvbnRleHQpOworLSAgICBJQnVzSU1Db250ZXh0UHJpdmF0ZSAqcHJpdiA9IGlidXMtPnBy aXY7CisrICAgIElCdXNJTUNvbnRleHQgKmlidXNpbWNvbnRleHQgPSBJQlVTX0lNX0NPTlRFWFQg KGNvbnRleHQpOworIAorLSAgICBpZihwcml2LT5pYnVzX2NvbnRleHQpIHsKKysgICAgaWYoaWJ1 c2ltY29udGV4dC0+aWJ1c2NvbnRleHQpIHsKKyAgICAgICAgIGlmICh1c2VfcHJlZWRpdCkgewor LSAgICAgICAgICAgIHByaXYtPmNhcHMgfD0gSUJVU19DQVBfUFJFRURJVF9URVhUOworKyAgICAg ICAgICAgIGlidXNpbWNvbnRleHQtPmNhcHMgfD0gSUJVU19DQVBfUFJFRURJVF9URVhUOworICAg ICAgICAgfQorICAgICAgICAgZWxzZSB7CistICAgICAgICAgICAgcHJpdi0+Y2FwcyAmPSB+SUJV U19DQVBfUFJFRURJVF9URVhUOworKyAgICAgICAgICAgIGlidXNpbWNvbnRleHQtPmNhcHMgJj0g fklCVVNfQ0FQX1BSRUVESVRfVEVYVDsKKyAgICAgICAgIH0KKy0gICAgICAgIGlidXNfaW5wdXRf Y29udGV4dF9zZXRfY2FwYWJpbGl0aWVzIChwcml2LT5pYnVzX2NvbnRleHQsIHByaXYtPmNhcHMp OworKyAgICAgICAgaWJ1c19pbnB1dF9jb250ZXh0X3NldF9jYXBhYmlsaXRpZXMgKGlidXNpbWNv bnRleHQtPmlidXNjb250ZXh0LCBpYnVzaW1jb250ZXh0LT5jYXBzKTsKKyAgICAgfQorLSAgICBn dGtfaW1fY29udGV4dF9zZXRfdXNlX3ByZWVkaXQgKHByaXYtPnNsYXZlLCB1c2VfcHJlZWRpdCk7 CisrICAgIGd0a19pbV9jb250ZXh0X3NldF91c2VfcHJlZWRpdCAoaWJ1c2ltY29udGV4dC0+c2xh dmUsIHVzZV9wcmVlZGl0KTsKKyB9CisgCisgc3RhdGljIHZvaWQKKyBfYnVzX2Nvbm5lY3RlZF9j YiAoSUJ1c0J1cyAgICAgICAgICAqYnVzLAorLSAgICAgICAgICAgICAgICAgICBJQnVzSU1Db250 ZXh0ICAgICpjb250ZXh0KQorKyAgICAgICAgICAgICAgICAgICBJQnVzSU1Db250ZXh0ICAgICpp YnVzaW1jb250ZXh0KQorIHsKKy0gICAgZ19hc3NlcnQgKElCVVNfSVNfSU1fQ09OVEVYVCAoY29u dGV4dCkpOworLSAgICBnX2Fzc2VydCAoY29udGV4dC0+cHJpdi0+aWJ1c19jb250ZXh0ID09IE5V TEwpOworKyAgICBnX2Fzc2VydCAoSUJVU19JU19JTV9DT05URVhUIChpYnVzaW1jb250ZXh0KSk7 CisrICAgIGdfYXNzZXJ0IChpYnVzaW1jb250ZXh0LT5pYnVzY29udGV4dCA9PSBOVUxMKTsKKyAK Ky0gICAgX2NyZWF0ZV9pbnB1dF9jb250ZXh0IChjb250ZXh0KTsKKysgICAgX2NyZWF0ZV9pbnB1 dF9jb250ZXh0IChpYnVzaW1jb250ZXh0KTsKKyB9CisgCiAgc3RhdGljIHZvaWQKLSBfaWJ1c19j b250ZXh0X2ZvcndhcmRfa2V5X2V2ZW50X2NiIChJQnVzSW5wdXRDb250ZXh0ICAqaWJ1c19jb250 ZXh0LAorLV9pYnVzX2NvbnRleHRfY29tbWl0X3RleHRfY2IgKElCdXNJbnB1dENvbnRleHQgKmli dXNfY29udGV4dCwKKytfaWJ1c19jb250ZXh0X2NvbW1pdF90ZXh0X2NiIChJQnVzSW5wdXRDb250 ZXh0ICppYnVzY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQnVzVGV4 dCAgICAgICAgICp0ZXh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElCdXNJTUNv bnRleHQgICAgKmNvbnRleHQpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUJ1c0lN Q29udGV4dCAgICAqaWJ1c2ltY29udGV4dCkKKyB7CistICAgIGdfYXNzZXJ0IChJQlVTX0lTX0lO UFVUX0NPTlRFWFQgKGlidXNfY29udGV4dCkpOworKyAgICBnX2Fzc2VydCAoSUJVU19JU19JTlBV VF9DT05URVhUIChpYnVzY29udGV4dCkpOworICAgICBnX2Fzc2VydCAoSUJVU19JU19URVhUICh0 ZXh0KSk7CistICAgIGdfYXNzZXJ0IChJQlVTX0lTX0lNX0NPTlRFWFQgKGNvbnRleHQpKTsKKysg ICAgZ19hc3NlcnQgKElCVVNfSVNfSU1fQ09OVEVYVCAoaWJ1c2ltY29udGV4dCkpOworIAorLSAg ICBnX3NpZ25hbF9lbWl0IChjb250ZXh0LCBfc2lnbmFsX2NvbW1pdF9pZCwgMCwgdGV4dC0+dGV4 dCk7CisrICAgIGdfc2lnbmFsX2VtaXQgKGlidXNpbWNvbnRleHQsIF9zaWduYWxfY29tbWl0X2lk LCAwLCB0ZXh0LT50ZXh0KTsKKyB9CisgCisgc3RhdGljIHZvaWQKKy1faWJ1c19jb250ZXh0X2Zv cndhcmRfa2V5X2V2ZW50X2NiIChJQnVzSW5wdXRDb250ZXh0ICAqaWJ1c19jb250ZXh0LAorK19p YnVzX2NvbnRleHRfZm9yd2FyZF9rZXlfZXZlbnRfY2IgKElCdXNJbnB1dENvbnRleHQgICppYnVz Y29udGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAg ICAgICAgICAga2V5dmFsLAogLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdi b29sZWFuICAgICAgICAgICBpc19wcmVzcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBndWludCAgICAgICAgICAgICAgc3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSUJ1c0lNQ29udGV4dCAgICAgKmNvbnRleHQpCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSUJ1c0lNQ29udGV4dCAgICAgKmNvbnRleHQpCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUJ1c0lNQ29udGV4dCAgICAgKmlidXNp bWNvbnRleHQpCiAgewotQEAgLTU3OSw3ICs1NzgsNyBAQCBfaWJ1c19jb250ZXh0X2ZvcndhcmRf a2V5X2V2ZW50X2NiIChJQnVzSW5wdXRDb250ZXh0ICAqaWJ1c19jb250ZXh0LAotICAgICBJQnVz SU1Db250ZXh0UHJpdmF0ZSAqcHJpdjsKKy0gICAgZ19hc3NlcnQgKElCVVNfSVNfSU1fQ09OVEVY VCAoY29udGV4dCkpOworKyAgICBnX2Fzc2VydCAoSUJVU19JU19JTV9DT05URVhUIChpYnVzaW1j b250ZXh0KSk7CiAgCi0gICAgIHByaXYgPSBjb250ZXh0LT5wcml2OworICAgICBHZGtFdmVudEtl eSAqZXZlbnQ7CistICAgIElCdXNJTUNvbnRleHRQcml2YXRlICpwcml2OworIAorLSAgICBwcml2 ID0gY29udGV4dC0+cHJpdjsKIC0gICAgZXZlbnQgPSAoR2RrRXZlbnRLZXkgKilnZGtfZXZlbnRf bmV3IChpc19wcmVzcyA/IEdES19LRVlfUFJFU1MgOiBHREtfS0VZX1JFTEVBU0UpOwogKyAgICBl dmVudCA9IChHZGtFdmVudEtleSAqKWdka19ldmVudF9uZXcgKHN0YXRlICYgSUJVU19SRUxFQVNF X01BU0sgPyBHREtfS0VZX1JFTEVBU0UgOiBHREtfS0VZX1BSRVNTKTsKICAKICAgICAgZXZlbnQt PnRpbWUgPSBHREtfQ1VSUkVOVF9USU1FOwotICAgICBldmVudC0+d2luZG93ID0gZ19vYmplY3Rf cmVmIChwcml2LT5jbGllbnRfd2luZG93KTsKKy0gICAgZXZlbnQtPndpbmRvdyA9IGdfb2JqZWN0 X3JlZiAocHJpdi0+Y2xpZW50X3dpbmRvdyk7CisrICAgIGV2ZW50LT53aW5kb3cgPSBnX29iamVj dF9yZWYgKGlidXNpbWNvbnRleHQtPmNsaWVudF93aW5kb3cpOworICAgICBldmVudC0+c2VuZF9l dmVudCA9IEZBTFNFOworICAgICBldmVudC0+c3RhdGUgPSBzdGF0ZTsKKyAgICAgZXZlbnQtPmtl eXZhbCA9IGtleXZhbDsKK0BAIC01OTcsMzMgKzY1NSwzMSBAQCBfaWJ1c19jb250ZXh0X2Zvcndh cmRfa2V5X2V2ZW50X2NiIChJQnVzSW5wdXRDb250ZXh0ICAqaWJ1c19jb250ZXh0LAorIH0KKyAK KyBzdGF0aWMgdm9pZAorLV9pYnVzX2NvbnRleHRfdXBkYXRlX3ByZWVkaXRfdGV4dF9jYiAoSUJ1 c0lucHV0Q29udGV4dCAgKmlidXNfY29udGV4dCwKKytfaWJ1c19jb250ZXh0X3VwZGF0ZV9wcmVl ZGl0X3RleHRfY2IgKElCdXNJbnB1dENvbnRleHQgICppYnVzY29udGV4dCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElCdXNUZXh0ICAgICAgICAgICp0ZXh0LAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCAgICAgICAgICAgICAgIGN1 cnNvcl9wb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVh biAgICAgICAgICAgdmlzaWJsZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElCdXNJTUNvbnRleHQgICAgICpjb250ZXh0KQorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSUJ1c0lNQ29udGV4dCAgICAgKmlidXNpbWNvbnRleHQpCisgeworLSAg ICBnX2Fzc2VydCAoSUJVU19JU19JTlBVVF9DT05URVhUIChpYnVzX2NvbnRleHQpKTsKKysgICAg Z19hc3NlcnQgKElCVVNfSVNfSU5QVVRfQ09OVEVYVCAoaWJ1c2NvbnRleHQpKTsKKyAgICAgZ19h c3NlcnQgKElCVVNfSVNfVEVYVCAodGV4dCkpOworLSAgICBnX2Fzc2VydCAoSUJVU19JU19JTV9D T05URVhUIChjb250ZXh0KSk7CisrICAgIGdfYXNzZXJ0IChJQlVTX0lTX0lNX0NPTlRFWFQgKGli dXNpbWNvbnRleHQpKTsKKyAKKy0gICAgSUJ1c0lNQ29udGV4dFByaXZhdGUgKnByaXY7CistICAg IHByaXYgPSBjb250ZXh0LT5wcml2OworICAgICBjb25zdCBnY2hhciAqc3RyOworIAorLSAgICBp ZiAocHJpdi0+cHJlZWRpdF9zdHJpbmcpIHsKKy0gICAgICAgIGdfZnJlZSAocHJpdi0+cHJlZWRp dF9zdHJpbmcpOworKyAgICBpZiAoaWJ1c2ltY29udGV4dC0+cHJlZWRpdF9zdHJpbmcpIHsKKysg ICAgICAgIGdfZnJlZSAoaWJ1c2ltY29udGV4dC0+cHJlZWRpdF9zdHJpbmcpOworICAgICB9Cist ICAgIGlmIChwcml2LT5wcmVlZGl0X2F0dHJzKSB7CistICAgICAgICBwYW5nb19hdHRyX2xpc3Rf dW5yZWYgKHByaXYtPnByZWVkaXRfYXR0cnMpOworLSAgICAgICAgcHJpdi0+cHJlZWRpdF9hdHRy cyA9IE5VTEw7CisrICAgIGlmIChpYnVzaW1jb250ZXh0LT5wcmVlZGl0X2F0dHJzKSB7CisrICAg ICAgICBwYW5nb19hdHRyX2xpc3RfdW5yZWYgKGlidXNpbWNvbnRleHQtPnByZWVkaXRfYXR0cnMp OworKyAgICAgICAgaWJ1c2ltY29udGV4dC0+cHJlZWRpdF9hdHRycyA9IE5VTEw7CisgICAgIH0K KyAKKyAgICAgc3RyID0gdGV4dC0+dGV4dDsKKy0gICAgcHJpdi0+cHJlZWRpdF9zdHJpbmcgPSBn X3N0cmR1cCAoc3RyKTsKKysgICAgaWJ1c2ltY29udGV4dC0+cHJlZWRpdF9zdHJpbmcgPSBnX3N0 cmR1cCAoc3RyKTsKKyAgICAgaWYgKHRleHQtPmF0dHJzKSB7CisgICAgICAgICBndWludCBpOwor LSAgICAgICAgcHJpdi0+cHJlZWRpdF9hdHRycyA9IHBhbmdvX2F0dHJfbGlzdF9uZXcgKCk7Cisr ICAgICAgICBpYnVzaW1jb250ZXh0LT5wcmVlZGl0X2F0dHJzID0gcGFuZ29fYXR0cl9saXN0X25l dyAoKTsKKyAgICAgICAgIGZvciAoaSA9IDA7IDsgaSsrKSB7CisgICAgICAgICAgICAgSUJ1c0F0 dHJpYnV0ZSAqYXR0ciA9IGlidXNfYXR0cl9saXN0X2dldCAodGV4dC0+YXR0cnMsIGkpOworICAg ICAgICAgICAgIGlmIChhdHRyID09IE5VTEwpIHsKK0BAIC02NTIsMjQ5ICs3MDgsMjQ0IEBAIF9p YnVzX2NvbnRleHRfdXBkYXRlX3ByZWVkaXRfdGV4dF9jYiAoSUJ1c0lucHV0Q29udGV4dCAgKmli dXNfY29udGV4dCwKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgcGFuZ29fYXR0ci0+c3Rh cnRfaW5kZXggPSBnX3V0Zjhfb2Zmc2V0X3RvX3BvaW50ZXIgKHN0ciwgYXR0ci0+c3RhcnRfaW5k ZXgpIC0gc3RyOworICAgICAgICAgICAgIHBhbmdvX2F0dHItPmVuZF9pbmRleCA9IGdfdXRmOF9v ZmZzZXRfdG9fcG9pbnRlciAoc3RyLCBhdHRyLT5lbmRfaW5kZXgpIC0gc3RyOworLSAgICAgICAg ICAgIHBhbmdvX2F0dHJfbGlzdF9pbnNlcnQgKHByaXYtPnByZWVkaXRfYXR0cnMsIHBhbmdvX2F0 dHIpOworKyAgICAgICAgICAgIHBhbmdvX2F0dHJfbGlzdF9pbnNlcnQgKGlidXNpbWNvbnRleHQt PnByZWVkaXRfYXR0cnMsIHBhbmdvX2F0dHIpOworICAgICAgICAgfQorICAgICB9CistICAgIHBy aXYtPnByZWVkaXRfY3Vyc29yX3BvcyA9IGN1cnNvcl9wb3M7CistICAgIHByaXYtPnByZWVkaXRf dmlzaWJsZSA9IHZpc2libGU7CistICAgIGdfc2lnbmFsX2VtaXQgKGNvbnRleHQsIF9zaWduYWxf cHJlZWRpdF9jaGFuZ2VkX2lkLCAwKTsKKysgICAgaWJ1c2ltY29udGV4dC0+cHJlZWRpdF9jdXJz b3JfcG9zID0gY3Vyc29yX3BvczsKKysgICAgaWJ1c2ltY29udGV4dC0+cHJlZWRpdF92aXNpYmxl ID0gdmlzaWJsZTsKKysgICAgaWYgKGlidXNpbWNvbnRleHQtPnByZWVkaXRfdmlzaWJsZSkgewor KyAgICAgICAgZ19zaWduYWxfZW1pdCAoaWJ1c2ltY29udGV4dCwgX3NpZ25hbF9wcmVlZGl0X3N0 YXJ0X2lkLCAwKTsKKysgICAgICAgIGdfc2lnbmFsX2VtaXQgKGlidXNpbWNvbnRleHQsIF9zaWdu YWxfcHJlZWRpdF9jaGFuZ2VkX2lkLCAwKTsKKysgICAgfQorKyAgICBlbHNlIHsKKysgICAgICAg IGdfc2lnbmFsX2VtaXQgKGlidXNpbWNvbnRleHQsIF9zaWduYWxfcHJlZWRpdF9jaGFuZ2VkX2lk LCAwKTsKKysgICAgICAgIGdfc2lnbmFsX2VtaXQgKGlidXNpbWNvbnRleHQsIF9zaWduYWxfcHJl ZWRpdF9lbmRfaWQsIDApOworKyAgICB9CisgfQorIAorIHN0YXRpYyB2b2lkCistX2lidXNfY29u dGV4dF9zaG93X3ByZWVkaXRfdGV4dF9jYiAoSUJ1c0lucHV0Q29udGV4dCAgICppYnVzX2NvbnRl eHQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUJ1c0lNQ29udGV4dCAg ICAgICpjb250ZXh0KQorK19pYnVzX2NvbnRleHRfc2hvd19wcmVlZGl0X3RleHRfY2IgKElCdXNJ bnB1dENvbnRleHQgICAqaWJ1c2NvbnRleHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSUJ1c0lNQ29udGV4dCAgICAgICppYnVzaW1jb250ZXh0KQorIHsKKy0gICAgZ19h c3NlcnQgKElCVVNfSVNfSU1fQ09OVEVYVCAoY29udGV4dCkpOworLSAgICBJQnVzSU1Db250ZXh0 UHJpdmF0ZSAqcHJpdiA9IGNvbnRleHQtPnByaXY7CisrICAgIGdfYXNzZXJ0IChJQlVTX0lTX0lN X0NPTlRFWFQgKGlidXNpbWNvbnRleHQpKTsKKyAKKy0gICAgaWYgKHByaXYtPnByZWVkaXRfdmlz aWJsZSA9PSBGQUxTRSkgeworLSAgICAgICAgcHJpdi0+cHJlZWRpdF92aXNpYmxlID0gVFJVRTsK Ky0gICAgICAgIGdfc2lnbmFsX2VtaXQgKGNvbnRleHQsIF9zaWduYWxfcHJlZWRpdF9jaGFuZ2Vk X2lkLCAwKTsKKysgICAgaWYgKGlidXNpbWNvbnRleHQtPnByZWVkaXRfdmlzaWJsZSA9PSBGQUxT RSkgeworKyAgICAgICAgaWJ1c2ltY29udGV4dC0+cHJlZWRpdF92aXNpYmxlID0gVFJVRTsKKysg ICAgICAgIGdfc2lnbmFsX2VtaXQgKGlidXNpbWNvbnRleHQsIF9zaWduYWxfcHJlZWRpdF9jaGFu Z2VkX2lkLCAwKTsKKyAgICAgfQorIH0KKyAKKyBzdGF0aWMgdm9pZAorLV9pYnVzX2NvbnRleHRf aGlkZV9wcmVlZGl0X3RleHRfY2IgKElCdXNJbnB1dENvbnRleHQgICAqaWJ1c19jb250ZXh0LAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElCdXNJTUNvbnRleHQgICAgICAq Y29udGV4dCkKKytfaWJ1c19jb250ZXh0X2hpZGVfcHJlZWRpdF90ZXh0X2NiIChJQnVzSW5wdXRD b250ZXh0ICppYnVzY29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJQnVzSU1Db250ZXh0ICAgICppYnVzaW1jb250ZXh0KQorIHsKKy0gICAgZ19hc3NlcnQgKElC VVNfSVNfSU1fQ09OVEVYVCAoY29udGV4dCkpOworLSAgICBJQnVzSU1Db250ZXh0UHJpdmF0ZSAq cHJpdiA9IGNvbnRleHQtPnByaXY7CisrICAgIGdfYXNzZXJ0IChJQlVTX0lTX0lNX0NPTlRFWFQg KGlidXNpbWNvbnRleHQpKTsKKyAKKy0gICAgaWYgKHByaXYtPnByZWVkaXRfdmlzaWJsZSA9PSBU UlVFKSB7CistICAgICAgICBwcml2LT5wcmVlZGl0X3Zpc2libGUgPSBGQUxTRTsKKy0gICAgICAg IGdfc2lnbmFsX2VtaXQgKGNvbnRleHQsIF9zaWduYWxfcHJlZWRpdF9jaGFuZ2VkX2lkLCAwKTsK KysgICAgaWYgKGlidXNpbWNvbnRleHQtPnByZWVkaXRfdmlzaWJsZSA9PSBUUlVFKSB7CisrICAg ICAgICBpYnVzaW1jb250ZXh0LT5wcmVlZGl0X3Zpc2libGUgPSBGQUxTRTsKKysgICAgICAgIGdf c2lnbmFsX2VtaXQgKGlidXNpbWNvbnRleHQsIF9zaWduYWxfcHJlZWRpdF9jaGFuZ2VkX2lkLCAw KTsKKyAgICAgfQorIH0KKyAKKyBzdGF0aWMgdm9pZAorLV9pYnVzX2NvbnRleHRfZW5hYmxlZF9j YiAoSUJ1c0lucHV0Q29udGV4dCAgICAqaWJ1c19jb250ZXh0LAorLSAgICAgICAgICAgICAgICBJ QnVzSU1Db250ZXh0ICAgICAgICpjb250ZXh0KQorK19pYnVzX2NvbnRleHRfZW5hYmxlZF9jYiAo SUJ1c0lucHV0Q29udGV4dCAqaWJ1c2NvbnRleHQsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICBJQnVzSU1Db250ZXh0ICAgICppYnVzaW1jb250ZXh0KQorIHsKKy0gICAgZ19hc3NlcnQgKElC VVNfSVNfSU1fQ09OVEVYVCAoY29udGV4dCkpOworLSAgICBJQnVzSU1Db250ZXh0UHJpdmF0ZSAq cHJpdiA9IGNvbnRleHQtPnByaXY7CisrICAgIGdfYXNzZXJ0IChJQlVTX0lTX0lNX0NPTlRFWFQg KGlidXNpbWNvbnRleHQpKTsKKyAKKy0gICAgcHJpdi0+ZW5hYmxlID0gVFJVRTsKKy0gICAgLy8g Z19zaWduYWxfZW1pdCAoY29udGV4dCwgX3NpZ25hbF9wcmVlZGl0X2NoYW5nZWRfaWQsIDApOwor KyAgICBpYnVzaW1jb250ZXh0LT5lbmFibGUgPSBUUlVFOworIH0KKyAKKyBzdGF0aWMgdm9pZAor LV9pYnVzX2NvbnRleHRfZGlzYWJsZWRfY2IgKElCdXNJbnB1dENvbnRleHQgICAqaWJ1c19jb250 ZXh0LAorLSAgICAgICAgICAgICAgICAgSUJ1c0lNQ29udGV4dCAgICAgICpjb250ZXh0KQorK19p YnVzX2NvbnRleHRfZGlzYWJsZWRfY2IgKElCdXNJbnB1dENvbnRleHQgKmlidXNjb250ZXh0LAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgIElCdXNJTUNvbnRleHQgICAgKmlidXNpbWNvbnRl eHQpCisgeworLSAgICBnX2Fzc2VydCAoSUJVU19JU19JTV9DT05URVhUIChjb250ZXh0KSk7Cist ICAgIElCdXNJTUNvbnRleHRQcml2YXRlICpwcml2ID0gY29udGV4dC0+cHJpdjsKKysgICAgaWJ1 c2ltY29udGV4dC0+ZW5hYmxlID0gRkFMU0U7CisgCistICAgIHByaXYtPmVuYWJsZSA9IEZBTFNF OworLSAgICAKKyAgICAgLyogY2xlYXIgcHJlZWRpdCAqLworLSAgICBwcml2LT5wcmVlZGl0X3Zp c2libGUgPSBGQUxTRTsKKy0gICAgcHJpdi0+cHJlZWRpdF9jdXJzb3JfcG9zID0gMDsKKy0gICAg Z19mcmVlIChwcml2LT5wcmVlZGl0X3N0cmluZyk7CistICAgIHByaXYtPnByZWVkaXRfc3RyaW5n ID0gTlVMTDsKKy0gICAgCistICAgIGdfc2lnbmFsX2VtaXQgKGNvbnRleHQsIF9zaWduYWxfcHJl ZWRpdF9jaGFuZ2VkX2lkLCAwKTsKKysgICAgaWJ1c2ltY29udGV4dC0+cHJlZWRpdF92aXNpYmxl ID0gRkFMU0U7CisrICAgIGlidXNpbWNvbnRleHQtPnByZWVkaXRfY3Vyc29yX3BvcyA9IDA7Cisr ICAgIGdfZnJlZSAoaWJ1c2ltY29udGV4dC0+cHJlZWRpdF9zdHJpbmcpOworKyAgICBpYnVzaW1j b250ZXh0LT5wcmVlZGl0X3N0cmluZyA9IE5VTEw7CisrCisrICAgIGdfc2lnbmFsX2VtaXQgKGli dXNpbWNvbnRleHQsIF9zaWduYWxfcHJlZWRpdF9jaGFuZ2VkX2lkLCAwKTsKKysgICAgZ19zaWdu YWxfZW1pdCAoaWJ1c2ltY29udGV4dCwgX3NpZ25hbF9wcmVlZGl0X2VuZF9pZCwgMCk7CisgfQor IAorIHN0YXRpYyB2b2lkCistX2lidXNfY29udGV4dF9kZXN0cm95X2NiIChJQnVzSW5wdXRDb250 ZXh0ICAgICppYnVzX2NvbnRleHQsCistICAgICAgICAgICAgICAgIElCdXNJTUNvbnRleHQgICAg ICAgKmNvbnRleHQpCisrX2lidXNfY29udGV4dF9kZXN0cm95X2NiIChJQnVzSW5wdXRDb250ZXh0 ICppYnVzY29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIElCdXNJTUNvbnRleHQg ICAgKmlidXNpbWNvbnRleHQpCisgeworLSAgICBnX2Fzc2VydCAoSUJVU19JU19JTV9DT05URVhU IChjb250ZXh0KSk7CisrICAgIGdfYXNzZXJ0IChJQlVTX0lTX0lNX0NPTlRFWFQgKGlidXNpbWNv bnRleHQpKTsKKysgICAgZ19hc3NlcnQgKGlidXNpbWNvbnRleHQtPmlidXNjb250ZXh0ID09IGli dXNjb250ZXh0KTsKKysKKysgICAgZ19vYmplY3RfdW5yZWYgKGlidXNpbWNvbnRleHQtPmlidXNj b250ZXh0KTsKKysgICAgaWJ1c2ltY29udGV4dC0+aWJ1c2NvbnRleHQgPSBOVUxMOworIAorLSAg ICBJQnVzSU1Db250ZXh0UHJpdmF0ZSAqcHJpdiA9IGNvbnRleHQtPnByaXY7CisrICAgIGlidXNp bWNvbnRleHQtPmVuYWJsZSA9IEZBTFNFOworIAorLSAgICBnX2Fzc2VydCAocHJpdi0+aWJ1c19j b250ZXh0ID09IGlidXNfY29udGV4dCk7CisrICAgIC8qIGNsZWFyIHByZWVkaXQgKi8KKysgICAg aWJ1c2ltY29udGV4dC0+cHJlZWRpdF92aXNpYmxlID0gRkFMU0U7CisrICAgIGlidXNpbWNvbnRl eHQtPnByZWVkaXRfY3Vyc29yX3BvcyA9IDA7CisrICAgIGdfZnJlZSAoaWJ1c2ltY29udGV4dC0+ cHJlZWRpdF9zdHJpbmcpOworKyAgICBpYnVzaW1jb250ZXh0LT5wcmVlZGl0X3N0cmluZyA9IE5V TEw7CisgCistICAgIGdfb2JqZWN0X3VucmVmIChwcml2LT5pYnVzX2NvbnRleHQpOworLSAgICBw cml2LT5pYnVzX2NvbnRleHQgPSBOVUxMOworLSAgICBwcml2LT5lbmFibGUgPSBGQUxTRTsKKysg ICAgZ19zaWduYWxfZW1pdCAoaWJ1c2ltY29udGV4dCwgX3NpZ25hbF9wcmVlZGl0X2NoYW5nZWRf aWQsIDApOworKyAgICBnX3NpZ25hbF9lbWl0IChpYnVzaW1jb250ZXh0LCBfc2lnbmFsX3ByZWVk aXRfZW5kX2lkLCAwKTsKKyB9CisgCisgc3RhdGljIHZvaWQKKy1fY3JlYXRlX2lucHV0X2NvbnRl eHQgKElCdXNJTUNvbnRleHQgKmNvbnRleHQpCisrX2NyZWF0ZV9pbnB1dF9jb250ZXh0IChJQnVz SU1Db250ZXh0ICppYnVzaW1jb250ZXh0KQorIHsKKy0gICAgZ19hc3NlcnQgKElCVVNfSVNfSU1f Q09OVEVYVCAoY29udGV4dCkpOworLSAgICBnX2Fzc2VydCAoY29udGV4dC0+cHJpdi0+aWJ1c19j b250ZXh0ID09IE5VTEwpOworLQorLSAgICBJQnVzSU1Db250ZXh0UHJpdmF0ZSAqcHJpdjsKKy0g ICAgcHJpdiA9IGNvbnRleHQtPnByaXY7CisrICAgIGdfYXNzZXJ0IChJQlVTX0lTX0lNX0NPTlRF WFQgKGlidXNpbWNvbnRleHQpKTsKKysgICAgZ19hc3NlcnQgKGlidXNpbWNvbnRleHQtPmlidXNj b250ZXh0ID09IE5VTEwpOworIAorLSAgICBwcml2LT5pYnVzX2NvbnRleHQgPSBpYnVzX2J1c19j cmVhdGVfaW5wdXRfY29udGV4dCAoX2J1cywgInRlc3QiKTsKKysgICAgaWJ1c2ltY29udGV4dC0+ aWJ1c2NvbnRleHQgPSBpYnVzX2J1c19jcmVhdGVfaW5wdXRfY29udGV4dCAoX2J1cywgInRlc3Qi KTsKKyAKKy0gICAgZ19zaWduYWxfY29ubmVjdCAocHJpdi0+aWJ1c19jb250ZXh0LAorKyAgICBn X3NpZ25hbF9jb25uZWN0IChpYnVzaW1jb250ZXh0LT5pYnVzY29udGV4dCwKKyAgICAgICAgICAg ICAgICAgICAgICAgImNvbW1pdC10ZXh0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgR19DQUxM QkFDSyAoX2lidXNfY29udGV4dF9jb21taXRfdGV4dF9jYiksCistICAgICAgICAgICAgICAgICAg ICAgIGNvbnRleHQpOworLSAgICBnX3NpZ25hbF9jb25uZWN0IChwcml2LT5pYnVzX2NvbnRleHQs CisrICAgICAgICAgICAgICAgICAgICAgIGlidXNpbWNvbnRleHQpOworKyAgICBnX3NpZ25hbF9j b25uZWN0IChpYnVzaW1jb250ZXh0LT5pYnVzY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAg ICAgImZvcndhcmQta2V5LWV2ZW50IiwKKyAgICAgICAgICAgICAgICAgICAgICAgR19DQUxMQkFD SyAoX2lidXNfY29udGV4dF9mb3J3YXJkX2tleV9ldmVudF9jYiksCistICAgICAgICAgICAgICAg ICAgICAgIGNvbnRleHQpOworLSAgICBnX3NpZ25hbF9jb25uZWN0IChwcml2LT5pYnVzX2NvbnRl eHQsCisrICAgICAgICAgICAgICAgICAgICAgIGlidXNpbWNvbnRleHQpOworKyAgICBnX3NpZ25h bF9jb25uZWN0IChpYnVzaW1jb250ZXh0LT5pYnVzY29udGV4dCwKKyAgICAgICAgICAgICAgICAg ICAgICAgInVwZGF0ZS1wcmVlZGl0LXRleHQiLAorICAgICAgICAgICAgICAgICAgICAgICBHX0NB TExCQUNLIChfaWJ1c19jb250ZXh0X3VwZGF0ZV9wcmVlZGl0X3RleHRfY2IpLAorLSAgICAgICAg ICAgICAgICAgICAgICBjb250ZXh0KTsKKy0gICAgZ19zaWduYWxfY29ubmVjdCAocHJpdi0+aWJ1 c19jb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICBpYnVzaW1jb250ZXh0KTsKKysgICAg Z19zaWduYWxfY29ubmVjdCAoaWJ1c2ltY29udGV4dC0+aWJ1c2NvbnRleHQsCisgICAgICAgICAg ICAgICAgICAgICAgICJzaG93LXByZWVkaXQtdGV4dCIsCisgICAgICAgICAgICAgICAgICAgICAg IEdfQ0FMTEJBQ0sgKF9pYnVzX2NvbnRleHRfc2hvd19wcmVlZGl0X3RleHRfY2IpLAorLSAgICAg ICAgICAgICAgICAgICAgICBjb250ZXh0KTsKKy0gICAgZ19zaWduYWxfY29ubmVjdCAocHJpdi0+ aWJ1c19jb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICBpYnVzaW1jb250ZXh0KTsKKysg ICAgZ19zaWduYWxfY29ubmVjdCAoaWJ1c2ltY29udGV4dC0+aWJ1c2NvbnRleHQsCisgICAgICAg ICAgICAgICAgICAgICAgICJoaWRlLXByZWVkaXQtdGV4dCIsCisgICAgICAgICAgICAgICAgICAg ICAgIEdfQ0FMTEJBQ0sgKF9pYnVzX2NvbnRleHRfaGlkZV9wcmVlZGl0X3RleHRfY2IpLAorLSAg ICAgICAgICAgICAgICAgICAgICBjb250ZXh0KTsKKy0gICAgZ19zaWduYWxfY29ubmVjdCAocHJp di0+aWJ1c19jb250ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgICBpYnVzaW1jb250ZXh0KTsK KysgICAgZ19zaWduYWxfY29ubmVjdCAoaWJ1c2ltY29udGV4dC0+aWJ1c2NvbnRleHQsCisgICAg ICAgICAgICAgICAgICAgICAgICJlbmFibGVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgR19D QUxMQkFDSyAoX2lidXNfY29udGV4dF9lbmFibGVkX2NiKSwKKy0gICAgICAgICAgICAgICAgICAg ICAgY29udGV4dCk7CistICAgIGdfc2lnbmFsX2Nvbm5lY3QgKHByaXYtPmlidXNfY29udGV4dCwK KysgICAgICAgICAgICAgICAgICAgICAgaWJ1c2ltY29udGV4dCk7CisrICAgIGdfc2lnbmFsX2Nv bm5lY3QgKGlidXNpbWNvbnRleHQtPmlidXNjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAg ICAiZGlzYWJsZWQiLAorICAgICAgICAgICAgICAgICAgICAgICBHX0NBTExCQUNLIChfaWJ1c19j b250ZXh0X2Rpc2FibGVkX2NiKSwKKy0gICAgICAgICAgICAgICAgICAgICAgY29udGV4dCk7Cist ICAgIGdfc2lnbmFsX2Nvbm5lY3QgKHByaXYtPmlidXNfY29udGV4dCwgImRlc3Ryb3kiLAorKyAg ICAgICAgICAgICAgICAgICAgICBpYnVzaW1jb250ZXh0KTsKKysgICAgZ19zaWduYWxfY29ubmVj dCAoaWJ1c2ltY29udGV4dC0+aWJ1c2NvbnRleHQsICJkZXN0cm95IiwKKyAgICAgICAgICAgICAg ICAgICAgICAgR19DQUxMQkFDSyAoX2lidXNfY29udGV4dF9kZXN0cm95X2NiKSwKKy0gICAgICAg ICAgICAgICAgICAgICAgY29udGV4dCk7CisrICAgICAgICAgICAgICAgICAgICAgIGlidXNpbWNv bnRleHQpOworIAorLSAgICBpYnVzX2lucHV0X2NvbnRleHRfc2V0X2NhcGFiaWxpdGllcyAocHJp di0+aWJ1c19jb250ZXh0LCBwcml2LT5jYXBzKTsKKysgICAgaWJ1c19pbnB1dF9jb250ZXh0X3Nl dF9jYXBhYmlsaXRpZXMgKGlidXNpbWNvbnRleHQtPmlidXNjb250ZXh0LCBpYnVzaW1jb250ZXh0 LT5jYXBzKTsKKyAKKy0gICAgaWYgKHByaXYtPmhhc19mb2N1cykgeworLSAgICAgICAgaWJ1c19p bnB1dF9jb250ZXh0X2ZvY3VzX2luIChwcml2LT5pYnVzX2NvbnRleHQpOworKyAgICBpZiAoaWJ1 c2ltY29udGV4dC0+aGFzX2ZvY3VzKSB7CisrICAgICAgICBpYnVzX2lucHV0X2NvbnRleHRfZm9j dXNfaW4gKGlidXNpbWNvbnRleHQtPmlidXNjb250ZXh0KTsKKyAgICAgfQorIH0KKyAKKyAvKiBD YWxsYmFjayBmdW5jdGlvbnMgZm9yIHNsYXZlIGNvbnRleHQgKi8KKyBzdGF0aWMgdm9pZAorLV9z bGF2ZV9jb21taXRfY2IgKEd0a0lNQ29udGV4dCAqc2xhdmUsIGdjaGFyICpzdHJpbmcsIElCdXNJ TUNvbnRleHQgKmNvbnRleHQpCisrX3NsYXZlX2NvbW1pdF9jYiAoR3RrSU1Db250ZXh0ICAqc2xh dmUsCisrICAgICAgICAgICAgICAgICAgZ2NoYXIgICAgICAgICAqc3RyaW5nLAorKyAgICAgICAg ICAgICAgICAgIElCdXNJTUNvbnRleHQgKmlidXNpbWNvbnRleHQpCisgeworLSAgICBnX3JldHVy bl9pZl9mYWlsIChjb250ZXh0ICE9IE5VTEwpOworLSAgICBnX3JldHVybl9pZl9mYWlsIChJQlVT X0lTX0lNX0NPTlRFWFQgKGNvbnRleHQpKTsKKysgICAgZ19yZXR1cm5faWZfZmFpbCAoSUJVU19J U19JTV9DT05URVhUIChpYnVzaW1jb250ZXh0KSk7CisgCistICAgIC8qIElCdXNJTUNvbnRleHRQ cml2YXRlICpwcml2ID0gY29udGV4dC0+cHJpdjsgKi8KKyAjaWYgMAorICAgICBpZiAoKEd0a0lN Q29udGV4dCAqKWNvbnRleHQgPT0gQ1VSUkVOVF9DT05URVhUICYmIGlidXNfaW1fY2xpZW50X2lz X2VuYWJsZWQgKF9jbGllbnQpKQorICAgICAgICAgcmV0dXJuOworICNlbmRpZgorLSAgICBnX3Np Z25hbF9lbWl0IChjb250ZXh0LCBfc2lnbmFsX2NvbW1pdF9pZCwgMCwgc3RyaW5nKTsKKysgICAg Z19zaWduYWxfZW1pdCAoaWJ1c2ltY29udGV4dCwgX3NpZ25hbF9jb21taXRfaWQsIDAsIHN0cmlu Zyk7CisgfQorIAorIHN0YXRpYyB2b2lkCistX3NsYXZlX3ByZWVkaXRfY2hhbmdlZF9jYiAoR3Rr SU1Db250ZXh0ICpzbGF2ZSwgSUJ1c0lNQ29udGV4dCAqY29udGV4dCkKKytfc2xhdmVfcHJlZWRp dF9jaGFuZ2VkX2NiIChHdGtJTUNvbnRleHQgICpzbGF2ZSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICBJQnVzSU1Db250ZXh0ICppYnVzaW1jb250ZXh0KQorIHsKKy0gICAgZ19yZXR1cm5f aWZfZmFpbCAoY29udGV4dCAhPSBOVUxMKTsKKy0gICAgZ19yZXR1cm5faWZfZmFpbCAoSUJVU19J U19JTV9DT05URVhUIChjb250ZXh0KSk7CisrICAgIGdfcmV0dXJuX2lmX2ZhaWwgKElCVVNfSVNf SU1fQ09OVEVYVCAoaWJ1c2ltY29udGV4dCkpOworIAorLSAgICBJQnVzSU1Db250ZXh0UHJpdmF0 ZSAqcHJpdiA9IGNvbnRleHQtPnByaXY7CistCistICAgIGlmIChwcml2LT5lbmFibGUgJiYgcHJp di0+aWJ1c19jb250ZXh0KSB7CisrICAgIGlmIChpYnVzaW1jb250ZXh0LT5lbmFibGUgJiYgaWJ1 c2ltY29udGV4dC0+aWJ1c2NvbnRleHQpIHsKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQorIAor LSAgICBnX3NpZ25hbF9lbWl0IChjb250ZXh0LCBfc2lnbmFsX3ByZWVkaXRfY2hhbmdlZF9pZCwg MCk7CisrICAgIGdfc2lnbmFsX2VtaXQgKGlidXNpbWNvbnRleHQsIF9zaWduYWxfcHJlZWRpdF9j aGFuZ2VkX2lkLCAwKTsKKyB9CisgCisgc3RhdGljIHZvaWQKKy1fc2xhdmVfcHJlZWRpdF9zdGFy dF9jYiAoR3RrSU1Db250ZXh0ICpzbGF2ZSwgSUJ1c0lNQ29udGV4dCAqY29udGV4dCkKKytfc2xh dmVfcHJlZWRpdF9zdGFydF9jYiAoR3RrSU1Db250ZXh0ICAqc2xhdmUsCisrICAgICAgICAgICAg ICAgICAgICAgICAgIElCdXNJTUNvbnRleHQgKmlidXNpbWNvbnRleHQpCisgeworLSAgICBnX3Jl dHVybl9pZl9mYWlsIChjb250ZXh0ICE9IE5VTEwpOworLSAgICBnX3JldHVybl9pZl9mYWlsIChJ QlVTX0lTX0lNX0NPTlRFWFQgKGNvbnRleHQpKTsKKysgICAgZ19yZXR1cm5faWZfZmFpbCAoSUJV U19JU19JTV9DT05URVhUIChpYnVzaW1jb250ZXh0KSk7CisgCistICAgIElCdXNJTUNvbnRleHRQ cml2YXRlICpwcml2ID0gY29udGV4dC0+cHJpdjsKKy0KKy0gICAgaWYgKHByaXYtPmVuYWJsZSAm JiBwcml2LT5pYnVzX2NvbnRleHQpIHsKKysgICAgaWYgKGlidXNpbWNvbnRleHQtPmVuYWJsZSAm JiBpYnVzaW1jb250ZXh0LT5pYnVzY29udGV4dCkgeworICAgICAgICAgcmV0dXJuOworICAgICB9 CistICAgIGdfc2lnbmFsX2VtaXQgKGNvbnRleHQsIF9zaWduYWxfcHJlZWRpdF9zdGFydF9pZCwg MCk7CisrCisrICAgIGdfc2lnbmFsX2VtaXQgKGlidXNpbWNvbnRleHQsIF9zaWduYWxfcHJlZWRp dF9zdGFydF9pZCwgMCk7CisgfQorIAorIHN0YXRpYyB2b2lkCistX3NsYXZlX3ByZWVkaXRfZW5k X2NiIChHdGtJTUNvbnRleHQgKnNsYXZlLCBJQnVzSU1Db250ZXh0ICpjb250ZXh0KQorK19zbGF2 ZV9wcmVlZGl0X2VuZF9jYiAoR3RrSU1Db250ZXh0ICAqc2xhdmUsCisrICAgICAgICAgICAgICAg ICAgICAgICBJQnVzSU1Db250ZXh0ICppYnVzaW1jb250ZXh0KQorIHsKKy0gICAgZ19yZXR1cm5f aWZfZmFpbCAoY29udGV4dCAhPSBOVUxMKTsKKy0gICAgZ19yZXR1cm5faWZfZmFpbCAoSUJVU19J U19JTV9DT05URVhUIChjb250ZXh0KSk7CistCistICAgIElCdXNJTUNvbnRleHRQcml2YXRlICpw cml2ID0gY29udGV4dC0+cHJpdjsKKysgICAgZ19yZXR1cm5faWZfZmFpbCAoSUJVU19JU19JTV9D T05URVhUIChpYnVzaW1jb250ZXh0KSk7CisgCistICAgIGlmIChwcml2LT5lbmFibGUgJiYgcHJp di0+aWJ1c19jb250ZXh0KSB7CisrICAgIGlmIChpYnVzaW1jb250ZXh0LT5lbmFibGUgJiYgaWJ1 c2ltY29udGV4dC0+aWJ1c2NvbnRleHQpIHsKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQorLSAg ICBnX3NpZ25hbF9lbWl0IChjb250ZXh0LCBfc2lnbmFsX3ByZWVkaXRfZW5kX2lkLCAwKTsKKysg ICAgZ19zaWduYWxfZW1pdCAoaWJ1c2ltY29udGV4dCwgX3NpZ25hbF9wcmVlZGl0X2VuZF9pZCwg MCk7CisgfQorIAorIHN0YXRpYyB2b2lkCistX3NsYXZlX3JldHJpZXZlX3N1cnJvdW5kaW5nX2Ni IChHdGtJTUNvbnRleHQgKnNsYXZlLCBJQnVzSU1Db250ZXh0ICpjb250ZXh0KQorK19zbGF2ZV9y ZXRyaWV2ZV9zdXJyb3VuZGluZ19jYiAoR3RrSU1Db250ZXh0ICAqc2xhdmUsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJQnVzSU1Db250ZXh0ICppYnVzaW1jb250ZXh0KQorIHsK Ky0gICAgZ19yZXR1cm5faWZfZmFpbCAoY29udGV4dCAhPSBOVUxMKTsKKy0gICAgZ19yZXR1cm5f aWZfZmFpbCAoSUJVU19JU19JTV9DT05URVhUIChjb250ZXh0KSk7CisrICAgIGdfcmV0dXJuX2lm X2ZhaWwgKElCVVNfSVNfSU1fQ09OVEVYVCAoaWJ1c2ltY29udGV4dCkpOworIAorLSAgICBJQnVz SU1Db250ZXh0UHJpdmF0ZSAqcHJpdiA9IGNvbnRleHQtPnByaXY7CistCistICAgIGlmIChwcml2 LT5lbmFibGUgJiYgcHJpdi0+aWJ1c19jb250ZXh0KSB7CisrICAgIGlmIChpYnVzaW1jb250ZXh0 LT5lbmFibGUgJiYgaWJ1c2ltY29udGV4dC0+aWJ1c2NvbnRleHQpIHsKKyAgICAgICAgIHJldHVy bjsKKyAgICAgfQorLSAgICBnX3NpZ25hbF9lbWl0IChjb250ZXh0LCBfc2lnbmFsX3JldHJpZXZl X3N1cnJvdW5kaW5nX2lkLCAwKTsKKysgICAgZ19zaWduYWxfZW1pdCAoaWJ1c2ltY29udGV4dCwg X3NpZ25hbF9yZXRyaWV2ZV9zdXJyb3VuZGluZ19pZCwgMCk7CisgfQorIAorIHN0YXRpYyB2b2lk CistX3NsYXZlX2RlbGV0ZV9zdXJyb3VuZGluZ19jYiAoR3RrSU1Db250ZXh0ICpzbGF2ZSwgZ2lu dCBhMSwgZ2ludCBhMiwgSUJ1c0lNQ29udGV4dCAqY29udGV4dCkKKytfc2xhdmVfZGVsZXRlX3N1 cnJvdW5kaW5nX2NiIChHdGtJTUNvbnRleHQgICpzbGF2ZSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBnaW50ICAgICAgICAgICBhMSwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBnaW50ICAgICAgICAgICBhMiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ QnVzSU1Db250ZXh0ICppYnVzaW1jb250ZXh0KQorIHsKKy0gICAgZ19yZXR1cm5faWZfZmFpbCAo Y29udGV4dCAhPSBOVUxMKTsKKy0gICAgZ19yZXR1cm5faWZfZmFpbCAoSUJVU19JU19JTV9DT05U RVhUIChjb250ZXh0KSk7CisrICAgIGdfcmV0dXJuX2lmX2ZhaWwgKElCVVNfSVNfSU1fQ09OVEVY VCAoaWJ1c2ltY29udGV4dCkpOworIAorLSAgICBJQnVzSU1Db250ZXh0UHJpdmF0ZSAqcHJpdiA9 IGNvbnRleHQtPnByaXY7CistCistICAgIGlmIChwcml2LT5lbmFibGUgJiYgcHJpdi0+aWJ1c19j b250ZXh0KSB7CisrICAgIGlmIChpYnVzaW1jb250ZXh0LT5lbmFibGUgJiYgaWJ1c2ltY29udGV4 dC0+aWJ1c2NvbnRleHQpIHsKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQorLSAgICBnX3NpZ25h bF9lbWl0IChjb250ZXh0LCBfc2lnbmFsX2RlbGV0ZV9zdXJyb3VuZGluZ19pZCwgMCwgYTEsIGEy KTsKKysgICAgZ19zaWduYWxfZW1pdCAoaWJ1c2ltY29udGV4dCwgX3NpZ25hbF9kZWxldGVfc3Vy cm91bmRpbmdfaWQsIDAsIGExLCBhMik7CisgfQorIAorIHZvaWQKKy1pYnVzX2ltX2NvbnRleHRf c2hvd19wcmVlZGl0IChJQnVzSU1Db250ZXh0ICpjb250ZXh0KQorK2lidXNfaW1fY29udGV4dF9z aG93X3ByZWVkaXQgKElCdXNJTUNvbnRleHQgKmlidXNpbWNvbnRleHQpCisgeworLSAgICBnX3Jl dHVybl9pZl9mYWlsIChjb250ZXh0ICE9IE5VTEwpOworLSAgICBnX3JldHVybl9pZl9mYWlsIChJ QlVTX0lTX0lNX0NPTlRFWFQgKGNvbnRleHQpKTsKKysgICAgZ19yZXR1cm5faWZfZmFpbCAoSUJV U19JU19JTV9DT05URVhUIChpYnVzaW1jb250ZXh0KSk7CisgCistICAgIElCdXNJTUNvbnRleHRQ cml2YXRlICpwcml2ID0gY29udGV4dC0+cHJpdjsKKy0gICAgaWYgKHByaXYtPnByZWVkaXRfdmlz aWJsZSkgeworKyAgICBpZiAoaWJ1c2ltY29udGV4dC0+cHJlZWRpdF92aXNpYmxlKSB7CisgICAg ICAgICByZXR1cm47CisgICAgIH0KKyAKKy0gICAgcHJpdi0+cHJlZWRpdF92aXNpYmxlID0gVFJV RTsKKysgICAgaWJ1c2ltY29udGV4dC0+cHJlZWRpdF92aXNpYmxlID0gVFJVRTsKKyAKKy0gICAg Z19zaWduYWxfZW1pdCAoY29udGV4dCwgX3NpZ25hbF9wcmVlZGl0X2NoYW5nZWRfaWQsIDApOwor KyAgICBnX3NpZ25hbF9lbWl0IChpYnVzaW1jb250ZXh0LCBfc2lnbmFsX3ByZWVkaXRfc3RhcnRf aWQsIDApOworKyAgICBnX3NpZ25hbF9lbWl0IChpYnVzaW1jb250ZXh0LCBfc2lnbmFsX3ByZWVk aXRfY2hhbmdlZF9pZCwgMCk7CisgfQorIAorIHZvaWQKKy1pYnVzX2ltX2NvbnRleHRfaGlkZV9w cmVlZGl0IChJQnVzSU1Db250ZXh0ICpjb250ZXh0KQorK2lidXNfaW1fY29udGV4dF9oaWRlX3By ZWVkaXQgKElCdXNJTUNvbnRleHQgKmlidXNpbWNvbnRleHQpCisgeworLSAgICBnX3JldHVybl9p Zl9mYWlsIChjb250ZXh0ICE9IE5VTEwpOworLSAgICBnX3JldHVybl9pZl9mYWlsIChJQlVTX0lT X0lNX0NPTlRFWFQgKGNvbnRleHQpKTsKKy0KKy0gICAgSUJ1c0lNQ29udGV4dFByaXZhdGUgKnBy aXYgPSBjb250ZXh0LT5wcml2OworKyAgICBnX3JldHVybl9pZl9mYWlsIChJQlVTX0lTX0lNX0NP TlRFWFQgKGlidXNpbWNvbnRleHQpKTsKKyAKKy0gICAgaWYgKCFwcml2LT5wcmVlZGl0X3Zpc2li bGUpIHsKKysgICAgaWYgKCFpYnVzaW1jb250ZXh0LT5wcmVlZGl0X3Zpc2libGUpIHsKKyAgICAg ICAgIHJldHVybjsKKyAgICAgfQorIAorLSAgICBwcml2LT5wcmVlZGl0X3Zpc2libGUgPSBGQUxT RTsKKysgICAgaWJ1c2ltY29udGV4dC0+cHJlZWRpdF92aXNpYmxlID0gRkFMU0U7CisgCistICAg IGdfc2lnbmFsX2VtaXQgKGNvbnRleHQsIF9zaWduYWxfcHJlZWRpdF9jaGFuZ2VkX2lkLCAwKTsK KysgICAgZ19zaWduYWxfZW1pdCAoaWJ1c2ltY29udGV4dCwgX3NpZ25hbF9wcmVlZGl0X2NoYW5n ZWRfaWQsIDApOworKyAgICBnX3NpZ25hbF9lbWl0IChpYnVzaW1jb250ZXh0LCBfc2lnbmFsX3By ZWVkaXRfZW5kX2lkLCAwKTsKKyB9CitkaWZmIC0tZ2l0IGEvY2xpZW50L2d0azIvaWJ1c2ltY29u dGV4dC5oIGIvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5oCitpbmRleCA2OWQzODJkLi5lYjg4 OTViIDEwMDY0NAorLS0tIGEvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5oCisrKysgYi9jbGll bnQvZ3RrMi9pYnVzaW1jb250ZXh0LmgKK0BAIC00MywxNiArNDMsNiBAQCB0eXBlZGVmIHN0cnVj dCBfSUJ1c0lNQ29udGV4dCBJQnVzSU1Db250ZXh0OworIHR5cGVkZWYgc3RydWN0IF9JQnVzSU1D b250ZXh0Q2xhc3MgSUJ1c0lNQ29udGV4dENsYXNzOworIHR5cGVkZWYgc3RydWN0IF9JQnVzSU1D b250ZXh0UHJpdmF0ZSBJQnVzSU1Db250ZXh0UHJpdmF0ZTsKKyAKKy1zdHJ1Y3QgX0lCdXNJTUNv bnRleHQgeworLSAgICBHdGtJTUNvbnRleHQgcGFyZW50OworLSAgICAvKiBpbnN0YW5jZSBtZW1i ZXJzICovCistICAgIElCdXNJTUNvbnRleHRQcml2YXRlICpwcml2OworLX07CistCistc3RydWN0 IF9JQnVzSU1Db250ZXh0Q2xhc3MgeworLUd0a0lNQ29udGV4dENsYXNzIHBhcmVudDsKKy0gICAg LyogY2xhc3MgbWVtYmVycyAqLworLX07CisgCisgR1R5cGUgICAgaWJ1c19pbV9jb250ZXh0X2dl dF90eXBlICh2b2lkKTsKKyBJQnVzSU1Db250ZXh0CiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFj IGIvY29uZmlndXJlLmFjCiBpbmRleCAyYjZmMGQ4Li4yNjNiODNmIDEwMDY0NAogLS0tIGEvY29u ZmlndXJlLmFjCgpkaWZmIC0tZ2l0IGEvaWJ1cy5zcGVjIGIvaWJ1cy5zcGVjCmluZGV4IDY4NTBl YzYuLjU0ZDU3ZTkgMTAwNjQ0Ci0tLSBhL2lidXMuc3BlYworKysgYi9pYnVzLnNwZWMKQEAgLTgs NyArOCw3IEBACiAKIE5hbWU6ICAgICAgIGlidXMKIFZlcnNpb246ICAgIDEuMS4wLjIwMDkwMzEx Ci1SZWxlYXNlOiAgICAyJXs/ZGlzdH0KK1JlbGVhc2U6ICAgIDMlez9kaXN0fQogU3VtbWFyeTog ICAgSW50ZWxsaWdlbnQgSW5wdXQgQnVzIGZvciBMaW51eCBPUwogTGljZW5zZTogICAgTEdQTHYy KwogR3JvdXA6ICAgICAgU3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcwpAQCAtMjE3LDEwICsy MTcsMTQgQEAgZmkKICV7X2xpYmRpcn0vcGtnY29uZmlnLyoKIAogJWNoYW5nZWxvZworKiBTdW4g TWFyIDI5IDIwMDkgSHVhbmcgUGVuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+IC0gMS4xLjAu MjAwOTAzMTEtMworLSBSZWNyZWF0ZSB0aGUgaWJ1cy1IRUFELnBhdGNoIGZyb20gdXBzdHJlYW0g Z2l0IHNvdXJjZSB0cmVlCistIEZpeCBidWcgNDkxOTk5IC0gdXAvZG93biBhcnJvdyBrZXlzIGJy b2tlbiBpbiB4Y2hhdAorCiAqIFNhdCBNYXIgMjggMjAwOSBIdWFuZyBQZW5nIDxzaGF3bi5wLmh1 YW5nQGdtYWlsLmNvbT4gLSAxLjEuMC4yMDA5MDMxMS0yCiAtIFJlY3JlYXRlIHRoZSBpYnVzLUhF QUQucGF0Y2ggZnJvbSB1cHN0cmVhbSBnaXQgc291cmNlIHRyZWUuCi0tIEZpeGUgYnVnIDQ5MDAw OSAtIERlbGV0aW5nIE5leHQgRW5naW5lIHNob3J0Y3V0cyBkb2Vzbid0IHdvcmsKLS0gRml4ZSBi dWcgNDkwMzgxIC0gQ2hhbmdlICJOZXh0L1ByZXZpb3VzIGVuZ2luZSIgbGFiZWxzCistIEZpeCBi dWcgNDkwMDA5IC0gRGVsZXRpbmcgTmV4dCBFbmdpbmUgc2hvcnRjdXRzIGRvZXNuJ3Qgd29yawor LSBGaXggYnVnIDQ5MDM4MSAtIENoYW5nZSAiTmV4dC9QcmV2aW91cyBlbmdpbmUiIGxhYmVscwog CiAqIFdlZCBNYXIgMTEgMjAwOSBIdWFuZyBQZW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4g LSAxLjEuMC4yMDA5MDMxMS0xCiAtIFVwZGF0ZSB0byBpYnVzLTEuMS4wLjIwMDkwMzExLgo=