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: Dominik 'Rathann' Mierzejewski To: git-commits@fedoraproject.org Subject: [rpms/ffmpeg] rawhide: update to 9.0.1 (resolves rhbz#2510859) Date: Thu, 03 Sep 2026 12:29:08 GMT Message-ID: <178843854867.1.364401851978035331.rpms-ffmpeg-3cd07204d95a@fedoraproject.org> List-ID: X-Git-Repo: rpms/ffmpeg X-Git-Branch: rawhide X-Git-Rev: 3cd07204d95ae0cb3cbff177466213ec24973acb ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZmZtcGVnCiAgICAgICAgICAgIEJyYW5jaCA6IHJhd2hpZGUKICAgICAgICAg ICAgQ29tbWl0IDogM2NkMDcyMDRkOTVhZTBjYjNjYmZmMTc3NDY2MjEzZWMyNDk3M2FjYgogICAg ICAgICAgICBBdXRob3IgOiBEb21pbmlrICdSYXRoYW5uJyBNaWVyemVqZXdza2kgPGRvbWluaWtA Z3JleXNlY3Rvci5uZXQ+CiAgICAgICAgICAgIERhdGUgICA6IDIwMjYtMDktMDNUMTI6NTE6MDcr MDI6MDAKICAgICAgICAgICAgU3RhdHMgIDogKzE5Ly01ODUgaW4gNCBmaWxlKHMpCiAgICAgICAg ICAgIFVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZmZtcGVnL2Mv M2NkMDcyMDRkOTVhZTBjYjNjYmZmMTc3NDY2MjEzZWMyNDk3M2FjYj9icmFuY2g9cmF3aGlkZQoK ICAgICAgICAgICAgTG9nOgogICAgICAgICAgICB1cGRhdGUgdG8gOS4wLjEgKHJlc29sdmVzIHJo YnojMjUxMDg1OSkKCi0gYnVtcCBTT05BTUVzIG9mIGFsbCBsaWJyYXJpZXMKLSBkcm9wIG1lcmdl ZCBwYXRjaGVzCi0gZHJvcCByZW1vdmVkIGNvbmZpZ3VyZSBvcHRpb24gYW5kIEJ1aWxkUmVxdWly ZXMgb24gc2hhZGVyYwotIGFkZCBCdWlsZFJlcXVpcmVzIGZvciBTUElSLVYgY29tcGlsZXIKCi0t LQpkaWZmIC0tZ2l0IGEvZmZtcGVnLUNWRS0yMDI2LTMwOTk4LnBhdGNoIGIvZmZtcGVnLUNWRS0y MDI2LTMwOTk4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZjg2ZTZhLi4w MDAwMDAwCi0tLSBhL2ZmbXBlZy1DVkUtMjAyNi0zMDk5OC5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDI3ICswLDAgQEAKLUZyb20gMThiODNmMmQwYTBmOWJjYmFmYjAwMDFhMjkxMTMyN2M0Yjhk ZjA1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEphbWVzIEFsbWVyIDxqYW1yaWFs QGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMyBNYXkgMjAyNiAxMzoxNDowMiAtMDMwMAotU3ViamVj dDogW1BBVENIXSB0b29scy96bXFzZW5kOiBjbG9zZSB0aGUgaW5wdXQgRklMRQotCi1GaXhlcyBD VkUtMjAyNi0zMDk5OAotCi1GaXhlczogUmVzb3VyY2UgbGVhawotRm91bmQtYnk6IFhpbmdoYW5n IEx2Ci1TaWduZWQtb2ZmLWJ5OiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+Ci0tLS0K LSB0b29scy96bXFzZW5kLmMgfCAyICsrCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KQotCi1kaWZmIC0tZ2l0IGEvdG9vbHMvem1xc2VuZC5jIGIvdG9vbHMvem1xc2VuZC5jCi1pbmRl eCAxN2E2MTk0YjI4ZjRhLi5hMDE0MmY0MzZhNWY2IDEwMDY0NAotLS0tIGEvdG9vbHMvem1xc2Vu ZC5jCi0rKysgYi90b29scy96bXFzZW5kLmMKLUBAIC0xNjYsNiArMTY2LDggQEAgaW50IG1haW4o aW50IGFyZ2MsIGNoYXIgKiphcmd2KQotIAotIGVuZDoKLSAgICAgYXZfZnJlZXAoJnNyY19idWYp OwotKyAgICBpZiAoc3RyY21wKGluZmlsZW5hbWUsICJzdGRpbiIpKQotKyAgICAgICAgZmNsb3Nl KGluZmlsZSk7Ci0gICAgIHptcV9jbG9zZShzb2NrZXQpOwotICAgICB6bXFfY3R4X2Rlc3Ryb3ko em1xX2N0eCk7Ci0gICAgIHJldHVybiByZXQ7CgpkaWZmIC0tZ2l0IGEvZmZtcGVnLXZ1bGthbi1k aXJlY3QtZXhwb3J0LnBhdGNoIGIvZmZtcGVnLXZ1bGthbi1kaXJlY3QtZXhwb3J0LnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWIyNmI4Li4wMDAwMDAwCi0tLSBhL2ZmbXBl Zy12dWxrYW4tZGlyZWN0LWV4cG9ydC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUzOSArMCww IEBACi1Gcm9tIDI1ZTE4N2Y4NDk0OTY2Mzc3YTRiOWQwNzcyNjBjZTdiNTAxYTkxMWMgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUeW11ciBCb2lrbyA8dGJvaWtvQG52aWRpYS5jb20+ Ci1EYXRlOiBUdWUsIDI3IEphbiAyMDI2IDE4OjE2OjMzICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hd IHZ1bGthbjogZml4IERSTSBtYXAsIGRlY29kZSBiYXJyaWVycywgYW5kIHZpZGVvIGZyYW1lIHNl dHVwCi0gZm9yIG1vZGlmaWVyIG91dHB1dAotCi1XaGVuIG1hcHBpbmcgVnVsa2FuIFZpZGVvIGZy YW1lcyB0byBETUEtQlVGLCBzeW5jaHJvbml6ZSB1c2luZyBhbiBleHBvcnRhYmxlCi1iaW5hcnkg c2VtYXBob3JlIGFuZCBzeW5jX2ZkIHdoZXJlIHN1cHBvcnRlZC4gU3VibWl0IGEgbGlnaHR3ZWln aHQgZXhlYyB0aGF0Ci13YWl0cyBvbiBlYWNoIHBsYW5lJ3MgdGltZWxpbmUgc2VtYXBob3JlIGF0 IHRoZSBjdXJyZW50IHZhbHVlLCBzaWduYWxzIGEKLVNZTkNfRkQtZXhwb3J0YWJsZSBiaW5hcnkg c2VtYXBob3JlLCB0aGVuIGV4cG9ydCB3aXRoIHZrR2V0U2VtYXBob3JlRmRLSFIuCi1TdG9yZSB0 aGF0IGJpbmFyeSBzZW1hcGhvcmUgaW4gQVZWa0ZyYW1lSW50ZXJuYWwgYW5kIHJldXNlIGl0IGFj cm9zcyBtYXBzCi1pbnN0ZWFkIG9mIGNyZWF0aW5nIGFuZCBkZXN0cm95aW5nIGVhY2ggdGltZTog Zm9yCi1WS19FWFRFUk5BTF9TRU1BUEhPUkVfSEFORExFX1RZUEVfU1lOQ19GRF9CSVQsIGNvcHkg dHJhbnNmZXJlbmNlIG1lYW5zIGEKLXN1Y2Nlc3NmdWwgdmtHZXRTZW1hcGhvcmVGZEtIUiB1bnNp Z25hbHMgdGhlIHNlbWFwaG9yZSBsaWtlIGEgd2FpdCwgc28gaXQgY2FuCi1iZSBzaWduYWxlZCBh Z2FpbiBvbiB0aGUgbmV4dCBtYXAgc3VibWl0LiBJZiBleHBvcnQgaXMgdW5hdmFpbGFibGUsIGZh bGwgYmFjawotdG8gdmtXYWl0U2VtYXBob3Jlcy4KLQotTW92ZWQgZHJtX3N5bmNfc2VtIGRlc3Ry b3kgdG8gdnVsa2FuX2ZyZWVfaW50ZXJuYWwKLQotRXhwb3J0IGRtYS1idWYgZmRzIHdpdGggR2V0 TWVtb3J5RmRLSFIgZm9yIGVhY2ggcG9wdWxhdGVkIGYtPm1lbVtpXSwgaXRlcmF0aW5nCi11cCB0 byB0aGUgc3dfZm9ybWF0IHBsYW5lIGNvdW50IGluc3RlYWQgb2Ygc3RvcHBpbmcgYXQgdGhlIGlt YWdlIGNvdW50LCBzbwotbXVsdGktbWVtb3J5IGJpbmRpbmdzIGFyZSBub3Qgc2tpcHBlZC4gRGVz Y3JpYmUgRFJNIGxheWVycyB1c2luZwotbWF4KHN3IHBsYW5lcywgaW1hZ2UgY291bnQpIGFuZCBx dWVyeSBzdWJyZXNvdXJjZSBsYXlvdXQgd2l0aCB0aGUgY29ycmVjdAotYXNwZWN0IGFuZCBpbWFn ZSBpbmRleCB3aGVuIG9uZSBWa0ltYWdlIGJhY2tzIG11bHRpcGxlIHBsYW5lcy4gUmVmZXJlbmNl IHRoZQotc291cmNlIGh3X2ZyYW1lc19jdHggb24gdGhlIG1hcHBlZCBmcmFtZSBhbmQgY2xvc2Ug ZG1hLWJ1ZiBmZHMgb24gZmFpbHVyZSBwYXRocy4KLQotRm9yIERNQS1CVUYtY2FwYWJsZSBwb29s cywgaG9ub3IgVktfRVhURVJOQUxfTUVNT1JZX0ZFQVRVUkVfREVESUNBVEVEX09OTFlfQklUCi1m cm9tIGZvcm1hdCBleHBvcnQgcXVlcmllcyB3aGVuIGJpbmRpbmcgbWVtb3J5LiBXaXRoIERSTSBt b2RpZmllcnMgYW5kIGEKLXZpZGVvIHByb2ZpbGUgaW4gY3JlYXRlX3BuZXh0LCBwcmVzZXJ2ZSBj YWxsZXIgdXNhZ2UgYW5kIGltYWdlIGZsYWdzIGluc3RlYWQgb2YKLW92ZXJ3cml0aW5nIHRoZW0g ZnJvbSBnZW5lcmljIHN1cHBvcnRlZF91c2FnZSBwcm9iaW5nOyB1c2UgdGhlIG1vZGlmaWVyIGxp c3QKLWNyZWF0ZSBpbmZvIHdoZW4gcHJvYmluZyBleHBvcnQgZmxhZ3MgZm9yIG1vZGlmaWVyIHRp bGluZy4KLQotSW5jbHVkZSBWS19JTUFHRV9VU0FHRV9WSURFT19ERUNPREVfRFBCX0JJVF9LSFIg ZnJvbSB0aGUgb3V0cHV0IGZyYW1lcwotY29udGV4dCdzIHVzYWdlIHRvZ2V0aGVyIHdpdGggRFNU IChmaXhlcwotVlVJRC1Wa1ZpZGVvQmVnaW5Db2RpbmdJbmZvS0hSLXNsb3RJbmRleC0wNzI0NSkg aW5zdGVhZCBvZiBhZGRpbmcgRFBCIHVzYWdlCi1vbmx5IHdoZW4gIWlzX2N1cnJlbnQuCi0KLUlu IGZmX3ZrX2RlY29kZV9hZGRfc2xpY2UsIHBhc3MgVmtWaWRlb1Byb2ZpbGVMaXN0SW5mb0tIUiAo ZnJvbSB0aGUgb3V0cHV0Ci1mcmFtZXMgY29udGV4dCdzIGNyZWF0ZV9wbmV4dCkgYXMgdGhlIHBO ZXh0IGFyZ3VtZW50IHRvCi1mZl92a19nZXRfcG9vbGVkX2J1ZmZlciBpbnN0ZWFkIG9mIHRoZSBm dWxsIGNyZWF0ZV9wbmV4dCBjaGFpbi4gSW4KLWZmX3ZrX2ZyYW1lX3BhcmFtcywgc2V0IHRpbGlu ZyB0byBPUFRJTUFMIG9ubHkgd2hlbiBpdCBpcyBub3QgYWxyZWFkeQotRFJNX0ZPUk1BVF9NT0RJ RklFUl9FWFQuIEluIGZmX3ZrX2RlY29kZV9pbml0LCB3aGVuIHRoZSBvdXRwdXQgcG9vbCdzCi1j cmVhdGVfcG5leHQgaW5jbHVkZXMgVmtJbWFnZURybUZvcm1hdE1vZGlmaWVyTGlzdENyZWF0ZUlu Zm9FWFQsIGluaXRpYWxpemUgdGhlCi1EUEIgcG9vbCB3aXRoIHRoYXQgbW9kaWZpZXItbGlzdCBw TmV4dCBhbmQgRFJNX0ZPUk1BVF9NT0RJRklFUl9FWFQgdGlsaW5nOwotb3RoZXJ3aXNlIHVzZSBW a1ZpZGVvUHJvZmlsZUxpc3RJbmZvS0hSIGFuZCBPUFRJTUFMIGFzIGJlZm9yZS4gV2hlbgotVktf VklERU9fREVDT0RFX0NBUEFCSUxJVFlfRFBCX0FORF9PVVRQVVRfRElTVElOQ1RfQklUX0tIUiBp cyB1bnNldCwgdGhlIG91dHB1dAotYW5kIERQQiBwb29scyBjYW5ub3QgdXNlIGRpZmZlcmVudCBs YXlvdXRzIG9yIHRpbGluZywgc28gdGhlIERQQiBwb29sIG11c3QKLW1hdGNoIHRoZSBvdXRwdXQg cG9vbC4KLQotQWxzbyBmaXggYXZfaHdmcmFtZV9tYXAgaW9jdGwgc3luY19mZCBleHBvcnQsIG11 bHRpLXBsYW5hciBzZW1hcGhvcmUgaGFuZGxpbmcsCi1hbmQgcmVsYXRlZCBmYWlsdXJlLXBhdGgg Y2xlYW51cC4KLQotU2lnbmVkLW9mZi1ieTogVHltdXIgQm9pa28gPHRib2lrb0BudmlkaWEuY29t PgotLS0tCi0gbGliYXZjb2RlYy92dWxrYW5fZGVjb2RlLmMgICB8ICAzNiArKysrKy0tCi0gbGli YXZ1dGlsL2h3Y29udGV4dF92dWxrYW4uYyB8IDE5NCArKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMjAxIGluc2VydGlvbnMoKyksIDI5IGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy92dWxrYW5fZGVjb2RlLmMgYi9saWJh dmNvZGVjL3Z1bGthbl9kZWNvZGUuYwotaW5kZXggOWFiOGQ0NWFhOS4uYWZjYTYyYjMwNCAxMDA2 NDQKLS0tLSBhL2xpYmF2Y29kZWMvdnVsa2FuX2RlY29kZS5jCi0rKysgYi9saWJhdmNvZGVjL3Z1 bGthbl9kZWNvZGUuYwotQEAgLTIzMyw3ICsyMzMsOCBAQCBpbnQgZmZfdmtfZGVjb2RlX3ByZXBh cmVfZnJhbWUoRkZWdWxrYW5EZWNvZGVDb250ZXh0ICpkZWMsIEFWRnJhbWUgKnBpYywKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChBVlZrRnJhbWUgKilwaWMtPmRhdGFbMF0sCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2ZjLT5mb3JtYXRbMF0sCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBWS19JTUFHRV9VU0FHRV9WSURFT19ERUNPREVfRFNU X0JJVF9LSFIgfAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCFpc19jdXJyZW50 ID8gVktfSU1BR0VfVVNBR0VfVklERU9fREVDT0RFX0RQQl9CSVRfS0hSIDogMCkpOwotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGh3ZmMtPnVzYWdlICYgVktfSU1BR0VfVVNBR0Vf VklERU9fREVDT0RFX0RQQl9CSVRfS0hSKSk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvLyB0aGUgYWJvdmUgZml4ZXMgVlVJRC1Wa1ZpZGVvQmVnaW5Db2RpbmdJbmZvS0hSLXNs b3RJbmRleC0wNzI0NQotICAgICAgICAgaWYgKGVyciA8IDApCi0gICAgICAgICAgICAgcmV0dXJu IGVycjsKLSAKLUBAIC0zMzUsMTIgKzMzNiwyMSBAQCBpbnQgZmZfdmtfZGVjb2RlX2FkZF9zbGlj ZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsIEZGVnVsa2FuRGVjb2RlUGljdHVyZSAqdnAsCi0gICAg ICAgICAgKiBlYXNpZXIsIGFuZCBnaXZlcyB1cyBhbXBsZSBoZWFkcm9vbS4gKi8KLSAgICAgICAg IGJ1Zl9zaXplID0gMiA8PCBhdl9sb2cyKGJ1Zl9zaXplKTsKLSAKLSsgICAgICAgIC8qIFdoZW4g dGhlIGZyYW1lcyBjb250ZXh0IHVzZXMgRFJNIG1vZGlmaWVyIHRpbGluZywKLSsgICAgICAgICAq IGh3Y3R4LT5jcmVhdGVfcG5leHQgY29udGFpbnMgVmtJbWFnZURybUZvcm1hdE1vZGlmaWVyTGlz dENyZWF0ZUluZm9FWFQsCi0rICAgICAgICAgKiB3aGljaCBwZXIgc3BlYyBkb2VzIG5vdCBleHRl bmQgVmtCdWZmZXJDcmVhdGVJbmZvLCBzbyB3ZSBuZWVkIHRvIGZpbmQKLSsgICAgICAgICAqIHRo ZSBWa1ZpZGVvUHJvZmlsZUxpc3RJbmZvS0hSIHN0cnVjdHVyZSB3aXRoaW4gaXQuICovCi0rICAg ICAgICB2b2lkICpidWZfcG5leHQgPSBjdHgtPnMuaHdmYy0+Y3JlYXRlX3BuZXh0OwotKyAgICAg ICAgaWYgKGN0eC0+cy5od2ZjLT50aWxpbmcgPT0gVktfSU1BR0VfVElMSU5HX0RSTV9GT1JNQVRf TU9ESUZJRVJfRVhUKQotKyAgICAgICAgICAgIGJ1Zl9wbmV4dCA9ICh2b2lkICopZmZfdmtfZmlu ZF9zdHJ1Y3QoY3R4LT5zLmh3ZmMtPmNyZWF0ZV9wbmV4dCwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX1NUUlVDVFVSRV9UWVBFX1ZJREVPX1BS T0ZJTEVfTElTVF9JTkZPX0tIUik7Ci0rCi0gICAgICAgICBlcnIgPSBmZl92a19nZXRfcG9vbGVk X2J1ZmZlcigmY3R4LT5zLCAmY3R4LT5idWZfcG9vbCwgJm5ld19yZWYsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBERUNPREVSX0lTX1NEUihhdmN0eC0+Y29kZWNfaWQp ID8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChWS19CVUZGRVJfVVNB R0VfU1RPUkFHRV9CVUZGRVJfQklUIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBWS19CVUZGRVJfVVNBR0VfU0hBREVSX0RFVklDRV9BRERSRVNTX0JJVCkgOgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfQlVGRkVSX1VTQUdFX1ZJREVP X0RFQ09ERV9TUkNfQklUX0tIUiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGN0eC0+cy5od2ZjLT5jcmVhdGVfcG5leHQsIGJ1Zl9zaXplLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYnVmX3BuZXh0LCBidWZfc2l6ZSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX01FTU9SWV9QUk9QRVJUWV9IT1NUX1ZJU0lC TEVfQklUIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChERUNPREVS X0lTX1NEUihhdmN0eC0+Y29kZWNfaWQpID8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBWS19NRU1PUllfUFJPUEVSVFlfREVWSUNFX0xPQ0FMX0JJVCA6IDB4MCkpOwot QEAgLTEyMTcsNyArMTIyNyw5IEBAIGludCBmZl92a19mcmFtZV9wYXJhbXMoQVZDb2RlY0NvbnRl eHQgKmF2Y3R4LCBBVkJ1ZmZlclJlZiAqaHdfZnJhbWVzX2N0eCkKLSAgICAgICAgIH0KLSAgICAg fQotIAotLSAgICBod2ZjLT50aWxpbmcgPSBWS19JTUFHRV9USUxJTkdfT1BUSU1BTDsKLSsgICAg aWYgKGh3ZmMtPnRpbGluZyAhPSBWS19JTUFHRV9USUxJTkdfRFJNX0ZPUk1BVF9NT0RJRklFUl9F WFQpCi0rICAgICAgICBod2ZjLT50aWxpbmcgPSBWS19JTUFHRV9USUxJTkdfT1BUSU1BTDsKLSsK LSAgICAgaHdmYy0+dXNhZ2UgID0gVktfSU1BR0VfVVNBR0VfVFJBTlNGRVJfU1JDX0JJVCB8Ci0g ICAgICAgICAgICAgICAgICAgIFZLX0lNQUdFX1VTQUdFX1NUT1JBR0VfQklUICAgICAgfAotICAg ICAgICAgICAgICAgICAgICBWS19JTUFHRV9VU0FHRV9TQU1QTEVEX0JJVDsKLUBAIC0xMzgyLDEw ICsxMzk0LDIyIEBAIGludCBmZl92a19kZWNvZGVfaW5pdChBVkNvZGVjQ29udGV4dCAqYXZjdHgp Ci0gICAgICAgICBkcGJfZnJhbWVzLT5oZWlnaHQgICAgPSBzLT5mcmFtZXMtPmhlaWdodDsKLSAK LSAgICAgICAgIGRwYl9od2ZjID0gZHBiX2ZyYW1lcy0+aHdjdHg7Ci0tICAgICAgICBkcGJfaHdm Yy0+Y3JlYXRlX3BuZXh0ID0gKHZvaWQgKilmZl92a19maW5kX3N0cnVjdChjdHgtPnMuaHdmYy0+ Y3JlYXRlX3BuZXh0LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgVktfU1RSVUNUVVJFX1RZUEVfVklERU9fUFJPRklMRV9MSVNUX0lO Rk9fS0hSKTsKLSsgICAgICAgIHZvaWQgKnByb2ZpbGVfbGlzdCA9ICh2b2lkICopZmZfdmtfZmlu ZF9zdHJ1Y3QoY3R4LT5zLmh3ZmMtPmNyZWF0ZV9wbmV4dCwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfU1RSVUNUVVJFX1RZUEVfVklE RU9fUFJPRklMRV9MSVNUX0lORk9fS0hSKTsKLSsgICAgICAgIC8qIFJlZmVyZW5jZSAoRFBCKSBp bWFnZXMgdXNlIHRoZSBzYW1lIHRpbGluZyBhbmQgcE5leHQgY2hhaW4gYXMgb3V0cHV0LgotKyAg ICAgICAgICogSWYgVktfVklERU9fREVDT0RFX0NBUEFCSUxJVFlfRFBCX0FORF9PVVRQVVRfRElT VElOQ1RfQklUX0tIUiBpcyAwLCB0aGUKLSsgICAgICAgICAqIGRyaXZlciBkb2VzIG5vdCBzdXBw b3J0IHNlcGFyYXRlIG91dHB1dCBhbmQgRFBCIHdpdGggZGlmZmVyZW50IGxheW91dHMvdGlsaW5n LiAqLwotKyAgICAgICAgdm9pZCAqZHJtX2NyZWF0ZV9wbmV4dCA9IGZmX3ZrX2ZpbmRfc3RydWN0 KGN0eC0+cy5od2ZjLT5jcmVhdGVfcG5leHQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgVktfU1RSVUNUVVJFX1RZUEVfSU1BR0VfRFJNX0ZPUk1B VF9NT0RJRklFUl9MSVNUX0NSRUFURV9JTkZPX0VYVCk7Ci0rICAgICAgICBpZiAoZHJtX2NyZWF0 ZV9wbmV4dCkgewotKyAgICAgICAgICAgIGRwYl9od2ZjLT5jcmVhdGVfcG5leHQgPSBkcm1fY3Jl YXRlX3BuZXh0OwotKyAgICAgICAgICAgIGRwYl9od2ZjLT50aWxpbmcgICAgICAgPSBWS19JTUFH RV9USUxJTkdfRFJNX0ZPUk1BVF9NT0RJRklFUl9FWFQ7Ci0rICAgICAgICAgICAgYXZfYXNzZXJ0 MihmZl92a19maW5kX3N0cnVjdChkcm1fY3JlYXRlX3BuZXh0LCBWS19TVFJVQ1RVUkVfVFlQRV9W SURFT19QUk9GSUxFX0xJU1RfSU5GT19LSFIpKTsKLSsgICAgICAgIH0gZWxzZSB7Ci0rICAgICAg ICAgICAgZHBiX2h3ZmMtPmNyZWF0ZV9wbmV4dCA9IHByb2ZpbGVfbGlzdDsKLSsgICAgICAgICAg ICBkcGJfaHdmYy0+dGlsaW5nICAgICAgID0gVktfSU1BR0VfVElMSU5HX09QVElNQUw7Ci0rICAg ICAgICB9Ci0gICAgICAgICBkcGJfaHdmYy0+Zm9ybWF0WzBdICAgID0gcy0+aHdmYy0+Zm9ybWF0 WzBdOwotLSAgICAgICAgZHBiX2h3ZmMtPnRpbGluZyAgICAgICA9IFZLX0lNQUdFX1RJTElOR19P UFRJTUFMOwotICAgICAgICAgZHBiX2h3ZmMtPnVzYWdlICAgICAgICA9IFZLX0lNQUdFX1VTQUdF X1ZJREVPX0RFQ09ERV9EUEJfQklUX0tIUjsKLSAKLSAgICAgICAgIGlmIChjdHgtPmNvbW1vbi5s YXllcmVkX2RwYikKLWRpZmYgLS1naXQgYS9saWJhdnV0aWwvaHdjb250ZXh0X3Z1bGthbi5jIGIv bGliYXZ1dGlsL2h3Y29udGV4dF92dWxrYW4uYwotaW5kZXggYmRhZGE3OGMyYi4uODg4Y2MzOTUz MCAxMDA2NDQKLS0tLSBhL2xpYmF2dXRpbC9od2NvbnRleHRfdnVsa2FuLmMKLSsrKyBiL2xpYmF2 dXRpbC9od2NvbnRleHRfdnVsa2FuLmMKLUBAIC0xOTAsMTEgKzE5MCwxOCBAQCB0eXBlZGVmIHN0 cnVjdCBWdWxrYW5GcmFtZXNQcml2IHsKLSAKLSAgICAgLyogUHJvcGVydGllcyBmb3IgRFJNIG1v ZGlmaWVyIGZvciBlYWNoIHBsYW5lIGluIHRoZSBpbWFnZSAqLwotICAgICBWa0RybUZvcm1hdE1v ZGlmaWVyUHJvcGVydGllc0VYVCBkcm1fZm9ybWF0X21vZGlmaWVyX3Byb3BlcnRpZXNbNV07Ci0r Ci0rICAgIC8qIFNldCB3aGVuIHBoeXNpY2FsIGRldmljZSByZXBvcnRzIERFRElDQVRFRF9PTkxZ IGZvciBETUEtQlVGIGV4cG9ydCAodHJ5X2V4cG9ydF9mbGFncykgKi8KLSsgICAgaW50IGV4cG9y dF9yZXF1aXJlc19kZWRpY2F0ZWQ7Ci0gfSBWdWxrYW5GcmFtZXNQcml2OwotIAotIHR5cGVkZWYg c3RydWN0IEFWVmtGcmFtZUludGVybmFsIHsKLSAgICAgcHRocmVhZF9tdXRleF90IHVwZGF0ZV9t dXRleDsKLSAKLSsgICAgLyogQmluYXJ5IHNlbWFwaG9yZSBmb3IgU1lOQ19GRCBleHBvcnQgYXQg RFJNIG1hcCB0aW1lLiBDcmVhdGVkIG9uY2UgbGF6aWx5LAotKyAgICAgKiByZS1zaWduYWxlZCBl YWNoIHRpbWUgdmlhIGEgc3VibWl0IGluIHZ1bGthbl9tYXBfdG9fZHJtLiAqLwotKyAgICBWa1Nl bWFwaG9yZSBkcm1fc3luY19zZW07Ci0rCi0gI2lmIENPTkZJR19DVURBCi0gICAgIC8qIEltcG9y dGluZyBleHRlcm5hbCBtZW1vcnkgaW50byBjdWRhIGlzIHJlYWxseSBleHBlbnNpdmUgc28gd2Ug a2VlcCB0aGUKLSAgICAgICogbWVtb3J5IGltcG9ydGVkIGFsbCB0aGUgdGltZSAqLwotQEAgLTIz NjksNyArMjM3Niw3IEBAIHN0YXRpYyBpbnQgYWxsb2NfbWVtKEFWSFdEZXZpY2VDb250ZXh0ICpj dHgsIFZrTWVtb3J5UmVxdWlyZW1lbnRzICpyZXEsCi0gICAgIHJldHVybiAwOwotIH0KLSAKLS1z dGF0aWMgdm9pZCB2dWxrYW5fZnJlZV9pbnRlcm5hbChBVlZrRnJhbWUgKmYpCi0rc3RhdGljIHZv aWQgdnVsa2FuX2ZyZWVfaW50ZXJuYWwoVnVsa2FuRGV2aWNlUHJpdiAqcCwgQVZWa0ZyYW1lICpm KQotIHsKLSAgICAgYXZfdW51c2VkIEFWVmtGcmFtZUludGVybmFsICppbnRlcm5hbCA9IGYtPmlu dGVybmFsOwotIAotQEAgLTI0MDEsNiArMjQwOCwxMCBAQCBzdGF0aWMgdm9pZCB2dWxrYW5fZnJl ZV9pbnRlcm5hbChBVlZrRnJhbWUgKmYpCi0gICAgIH0KLSAjZW5kaWYKLSAKLSsgICAgaWYgKGlu dGVybmFsLT5kcm1fc3luY19zZW0gIT0gVktfTlVMTF9IQU5ETEUpCi0rICAgICAgICBwLT52a2N0 eC52a2ZuLkRlc3Ryb3lTZW1hcGhvcmUocC0+cC5hY3RfZGV2LCBpbnRlcm5hbC0+ZHJtX3N5bmNf c2VtLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLT5wLmFsbG9j KTsKLSsKLSAgICAgcHRocmVhZF9tdXRleF9kZXN0cm95KCZpbnRlcm5hbC0+dXBkYXRlX211dGV4 KTsKLSAgICAgYXZfZnJlZXAoJmYtPmludGVybmFsKTsKLSB9Ci1AQCAtMjQyOCw3ICsyNDM5LDcg QEAgc3RhdGljIHZvaWQgdnVsa2FuX2ZyYW1lX2ZyZWUoQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMs IEFWVmtGcmFtZSAqZikKLSAgICAgICAgIHZrLT5XYWl0U2VtYXBob3Jlcyhod2N0eC0+YWN0X2Rl diwgJnNlbV93YWl0LCBVSU5UNjRfTUFYKTsKLSAgICAgfQotIAotLSAgICB2dWxrYW5fZnJlZV9p bnRlcm5hbChmKTsKLSsgICAgdnVsa2FuX2ZyZWVfaW50ZXJuYWwocCwgZik7Ci0gCi0gICAgIGZv ciAoaW50IGkgPSAwOyBpIDwgbmJfaW1hZ2VzOyBpKyspIHsKLSAgICAgICAgIHZrLT5EZXN0cm95 SW1hZ2UoaHdjdHgtPmFjdF9kZXYsICAgICBmLT5pbWdbaV0sIGh3Y3R4LT5hbGxvYyk7Ci1AQCAt MjQ3NSw2ICsyNDg2LDEwIEBAIHN0YXRpYyBpbnQgYWxsb2NfYmluZF9tZW0oQVZIV0ZyYW1lc0Nv bnRleHQgKmh3ZmMsIEFWVmtGcmFtZSAqZiwKLSAKLSAgICAgICAgIHZrLT5HZXRJbWFnZU1lbW9y eVJlcXVpcmVtZW50czIoaHdjdHgtPmFjdF9kZXYsICZyZXFfZGVzYywgJnJlcSk7Ci0gCi0rICAg ICAgICBhdl9sb2coaHdmYywgQVZfTE9HX1RSQUNFLAotKyAgICAgICAgICAgICAgICJwbGFuZSAl ZDogZHJpdmVyIHJlcG9ydHMgcHJlZmVyc0RlZGljYXRlZEFsbG9jYXRpb249JWkgcmVxdWlyZXNE ZWRpY2F0ZWRBbGxvY2F0aW9uPSVpXG4iLAotKyAgICAgICAgICAgICAgIGltZ19jbnQsIGRlZF9y ZXEucHJlZmVyc0RlZGljYXRlZEFsbG9jYXRpb24sIGRlZF9yZXEucmVxdWlyZXNEZWRpY2F0ZWRB bGxvY2F0aW9uKTsKLSsKLSAgICAgICAgIGlmIChmLT50aWxpbmcgPT0gVktfSU1BR0VfVElMSU5H X0xJTkVBUikKLSAgICAgICAgICAgICByZXEubWVtb3J5UmVxdWlyZW1lbnRzLnNpemUgPSBGRkFM SUdOKHJlcS5tZW1vcnlSZXF1aXJlbWVudHMuc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPnByb3BzLnByb3BlcnRpZXMubGltaXRzLm1p bk1lbW9yeU1hcEFsaWdubWVudCk7Ci1AQCAtMjQ4Miw2ICsyNDk3LDggQEAgc3RhdGljIGludCBh bGxvY19iaW5kX21lbShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywgQVZWa0ZyYW1lICpmLAotICAg ICAgICAgLyogSW4gY2FzZSB0aGUgaW1wbGVtZW50YXRpb24gcHJlZmVycy9yZXF1aXJlcyBkZWRp Y2F0ZWQgYWxsb2NhdGlvbiAqLwotICAgICAgICAgdXNlX2RlZF9tZW0gPSBkZWRfcmVxLnByZWZl cnNEZWRpY2F0ZWRBbGxvY2F0aW9uIHwKLSAgICAgICAgICAgICAgICAgICAgICAgZGVkX3JlcS5y ZXF1aXJlc0RlZGljYXRlZEFsbG9jYXRpb247Ci0rICAgICAgICBpZiAoKChWdWxrYW5GcmFtZXNQ cml2ICopaHdmYy0+aHdjdHgpLT5leHBvcnRfcmVxdWlyZXNfZGVkaWNhdGVkKQotKyAgICAgICAg ICAgIHVzZV9kZWRfbWVtID0gMTsKLSAgICAgICAgIGlmICh1c2VfZGVkX21lbSkKLSAgICAgICAg ICAgICBkZWRfYWxsb2MuaW1hZ2UgPSBmLT5pbWdbaW1nX2NudF07Ci0gCi1AQCAtMjg1Myw3ICsy ODcwLDggQEAgc3RhdGljIHZvaWQgdHJ5X2V4cG9ydF9mbGFncyhBVkhXRnJhbWVzQ29udGV4dCAq aHdmYywKLSAgICAgICAgIC50eXBlICAgPSBWS19JTUFHRV9UWVBFXzJELAotICAgICAgICAgLnRp bGluZyA9IGh3Y3R4LT50aWxpbmcsCi0gICAgICAgICAudXNhZ2UgID0gaHdjdHgtPnVzYWdlLAot LSAgICAgICAgLmZsYWdzICA9IFZLX0lNQUdFX0NSRUFURV9BTElBU19CSVQsCi0rICAgICAgICAu ZmxhZ3MgID0gKGh3Y3R4LT50aWxpbmcgPT0gVktfSU1BR0VfVElMSU5HX0RSTV9GT1JNQVRfTU9E SUZJRVJfRVhUICYmIGhhc19tb2RzKSA/Ci0rICAgICAgICAgICAgICAgICAgKGh3Y3R4LT5pbWdf ZmxhZ3MpIDogKFZrSW1hZ2VDcmVhdGVGbGFncykoVktfSU1BR0VfQ1JFQVRFX0FMSUFTX0JJVCks Ci0gICAgIH07Ci0gCi0gICAgIG5iX21vZHMgPSBoYXNfbW9kcyA/IGRybV9tb2RfaW5mby0+ZHJt Rm9ybWF0TW9kaWZpZXJDb3VudCA6IDE7Ci1AQCAtMjg2NCw5ICsyODgyLDE3IEBAIHN0YXRpYyB2 b2lkIHRyeV9leHBvcnRfZmxhZ3MoQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsCi0gICAgICAgICBy ZXQgPSB2ay0+R2V0UGh5c2ljYWxEZXZpY2VJbWFnZUZvcm1hdFByb3BlcnRpZXMyKGRldl9od2N0 eC0+cGh5c19kZXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmcGluZm8sICZwcm9wcyk7Ci0gCi0rICAgICAgICBhdl9sb2coaHdmYywg QVZfTE9HX1ZFUkJPU0UsICJHZXRQaHlzaWNhbERldmljZUltYWdlRm9ybWF0UHJvcGVydGllczI6 IG1vZFslZF09MHglbGx4IC0+ICVzXG4iLAotKyAgICAgICAgICAgICAgIGksIGhhc19tb2RzID8g KHVuc2lnbmVkIGxvbmcgbG9uZylwaHlfZGV2X21vZF9pbmZvLmRybUZvcm1hdE1vZGlmaWVyIDog MFVMTCwKLSsgICAgICAgICAgICAgICByZXQgPT0gVktfU1VDQ0VTUyA/ICJPSyIgOiAiRkFJTCIp OwotICAgICAgICAgaWYgKHJldCA9PSBWS19TVUNDRVNTKSB7Ci0gICAgICAgICAgICAgKmlleHAg fD0gZXhwOwotICAgICAgICAgICAgICpjb21wX2hhbmRsZV90eXBlcyB8PSBlcHJvcHMuZXh0ZXJu YWxNZW1vcnlQcm9wZXJ0aWVzLmNvbXBhdGlibGVIYW5kbGVUeXBlczsKLSsgICAgICAgICAgICBp ZiAoZXhwID09IFZLX0VYVEVSTkFMX01FTU9SWV9IQU5ETEVfVFlQRV9ETUFfQlVGX0JJVF9FWFQp IHsKLSsgICAgICAgICAgICAgICAgVnVsa2FuRnJhbWVzUHJpdiAqZnAgPSBod2ZjLT5od2N0eDsK LSsgICAgICAgICAgICAgICAgZnAtPmV4cG9ydF9yZXF1aXJlc19kZWRpY2F0ZWQgPSAhIShlcHJv cHMuZXh0ZXJuYWxNZW1vcnlQcm9wZXJ0aWVzLmV4dGVybmFsTWVtb3J5RmVhdHVyZXMgJgotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfRVhURVJO QUxfTUVNT1JZX0ZFQVRVUkVfREVESUNBVEVEX09OTFlfQklUKTsKLSsgICAgICAgICAgICB9Ci0g ICAgICAgICB9Ci0gICAgIH0KLSB9Ci1AQCAtMjg5NCw3ICsyOTIwLDggQEAgc3RhdGljIEFWQnVm ZmVyUmVmICp2dWxrYW5fcG9vbF9hbGxvYyh2b2lkICpvcGFxdWUsIHNpemVfdCBzaXplKQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBWS19FWFRFUk5BTF9NRU1PUllfSEFORExFX1RZ UEVfT1BBUVVFX1dJTjMyX0JJVAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBWS19F WFRFUk5BTF9NRU1PUllfSEFORExFX1RZUEVfT1BBUVVFX1dJTjMyX0tNVF9CSVQpOwotICNlbHNl Ci0tICAgIGlmIChwLT52a2N0eC5leHRlbnNpb25zICYgRkZfVktfRVhUX0VYVEVSTkFMX0ZEX01F TU9SWSkKLSsgICAgaWYgKChwLT52a2N0eC5leHRlbnNpb25zICYgRkZfVktfRVhUX0VYVEVSTkFM X0ZEX01FTU9SWSkgJiYKLSsgICAgICAgIChod2N0eC0+dGlsaW5nICE9IFZLX0lNQUdFX1RJTElO R19EUk1fRk9STUFUX01PRElGSUVSX0VYVCkpCi0gICAgICAgICB0cnlfZXhwb3J0X2ZsYWdzKGh3 ZmMsICZlaWluZm8uaGFuZGxlVHlwZXMsICZlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBW S19FWFRFUk5BTF9NRU1PUllfSEFORExFX1RZUEVfT1BBUVVFX0ZEX0JJVCk7Ci0gCi1AQCAtMjkx Myw4ICsyOTQwLDEwIEBAIHN0YXRpYyBBVkJ1ZmZlclJlZiAqdnVsa2FuX3Bvb2xfYWxsb2Modm9p ZCAqb3BhcXVlLCBzaXplX3Qgc2l6ZSkKLSAgICAgZXJyID0gY3JlYXRlX2ZyYW1lKGh3ZmMsICZm LCBod2N0eC0+dGlsaW5nLCBod2N0eC0+dXNhZ2UsIGh3Y3R4LT5pbWdfZmxhZ3MsCi0gICAgICAg ICAgICAgICAgICAgICAgICBod2N0eC0+bmJfbGF5ZXJzLAotICAgICAgICAgICAgICAgICAgICAg ICAgZWlpbmZvLmhhbmRsZVR5cGVzID8gJmVpaW5mbyA6IGh3Y3R4LT5jcmVhdGVfcG5leHQpOwot LSAgICBpZiAoZXJyKQotKyAgICBpZiAoZXJyKSB7Ci0rICAgICAgICBhdl9sb2coaHdmYywgQVZf TE9HX0VSUk9SLCAidnVsa2FuX3Bvb2xfYWxsb2MgZmFpbGVkOiBjcmVhdGVfZnJhbWUgZmFpbGVk OiAlZFxuIiwgZXJyKTsKLSAgICAgICAgIHJldHVybiBOVUxMOwotKyAgICB9Ci0gCi0gICAgIGVy ciA9IGFsbG9jX2JpbmRfbWVtKGh3ZmMsIGYsIGVtaW5mbywgc2l6ZW9mKCplbWluZm8pKTsKLSAg ICAgaWYgKGVycikKLUBAIC0yOTQyLDYgKzI5NzEsNyBAQCBzdGF0aWMgQVZCdWZmZXJSZWYgKnZ1 bGthbl9wb29sX2FsbG9jKHZvaWQgKm9wYXF1ZSwgc2l6ZV90IHNpemUpCi0gICAgIHJldHVybiBh dmJ1ZjsKLSAKLSBmYWlsOgotKyAgICBhdl9sb2coaHdmYywgQVZfTE9HX0VSUk9SLCAidnVsa2Fu X3Bvb2xfYWxsb2MgZmFpbGVkIHdpdGggZXJyb3IgJWRcbiIsIGVycik7Ci0gICAgIHZ1bGthbl9m cmFtZV9mcmVlKGh3ZmMsIGYpOwotICAgICByZXR1cm4gTlVMTDsKLSB9Ci1AQCAtMzA0Myw3ICsz MDczLDE0IEBAIHN0YXRpYyBpbnQgdnVsa2FuX2ZyYW1lc19pbml0KEFWSFdGcmFtZXNDb250ZXh0 ICpod2ZjKQotICAgICB9Ci0gCi0gICAgIC8qIExvbmUgRFBCIGltYWdlcyBkbyBub3QgbmVlZCBh ZGRpdGlvbmFsIGZsYWdzLiAqLwotLSAgICBpZiAoIWlzX2xvbmVfZHBiKSB7Ci0rICAgIC8qIFdp dGggRFJNIG1vZGlmaWVyICsgdmlkZW8gcHJvZmlsZSB0aGUgY2FsbGVyIGhhcyBhbHJlYWR5IGNo b3NlbiBhIHZhbGlkCi0rICAgICAqIHVzYWdlL2ltZ19mbGFncy9jaGFpbjsgZG8gbm90IGFkZCB1 c2FnZSBvciBpbWdfZmxhZ3MgKHN1cHBvcnRlZF91c2FnZSBkb2VzCi0rICAgICAqIG5vdCBjb25z aWRlciB0aGUgYWN0dWFsIG1vZGlmaWVyIG9yIHZpZGVvIHByb2ZpbGUpLiAqLwotKyAgICBpbnQg ZHJtX21vZF93aXRoX3ZpZGVvID0gKGh3Y3R4LT50aWxpbmcgPT0gVktfSU1BR0VfVElMSU5HX0RS TV9GT1JNQVRfTU9ESUZJRVJfRVhUICYmCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZmZfdmtfZmluZF9zdHJ1Y3QoaHdjdHgtPmNyZWF0ZV9wbmV4dCwKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19TVFJVQ1RVUkVfVFlQRV9WSURFT19Q Uk9GSUxFX0xJU1RfSU5GT19LSFIpKTsKLSsKLSsgICAgaWYgKCFpc19sb25lX2RwYiAmJiAhZHJt X21vZF93aXRoX3ZpZGVvKSB7Ci0gICAgICAgICAvKiBJbWFnZSB1c2FnZSBmbGFncyAqLwotICAg ICAgICAgaHdjdHgtPnVzYWdlIHw9IHN1cHBvcnRlZF91c2FnZSAmIChWS19JTUFHRV9VU0FHRV9U UkFOU0ZFUl9EU1RfQklUIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgVktfSU1BR0VfVVNBR0VfVFJBTlNGRVJfU1JDX0JJVCB8Ci1AQCAtMzk2OCw3ICs0MDA1 LDcgQEAgc3RhdGljIGludCB2dWxrYW5fZXhwb3J0X3RvX2N1ZGEoQVZIV0ZyYW1lc0NvbnRleHQg Kmh3ZmMsCi0gICAgIHJldHVybiAwOwotIAotIGZhaWw6Ci0tICAgIHZ1bGthbl9mcmVlX2ludGVy bmFsKGRzdF9mKTsKLSsgICAgdnVsa2FuX2ZyZWVfaW50ZXJuYWwocCwgZHN0X2YpOwotICAgICBy ZXR1cm4gZXJyOwotIH0KLSAKLUBAIC0zOTc5LDYgKzQwMTYsNyBAQCBzdGF0aWMgaW50IHZ1bGth bl90cmFuc2Zlcl9kYXRhX2Zyb21fY3VkYShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywKLSAgICAg Q1Vjb250ZXh0IGR1bW15OwotICAgICBBVlZrRnJhbWUgKmRzdF9mOwotICAgICBBVlZrRnJhbWVJ bnRlcm5hbCAqZHN0X2ludDsKLSsgICAgVnVsa2FuRGV2aWNlUHJpdiAqcCA9IGh3ZmMtPmRldmlj ZV9jdHgtPmh3Y3R4OwotICAgICBWdWxrYW5GcmFtZXNQcml2ICpmcCA9IGh3ZmMtPmh3Y3R4Owot ICAgICBjb25zdCBpbnQgcGxhbmVzID0gYXZfcGl4X2ZtdF9jb3VudF9wbGFuZXMoaHdmYy0+c3df Zm9ybWF0KTsKLSAgICAgY29uc3QgQVZQaXhGbXREZXNjcmlwdG9yICpkZXNjID0gYXZfcGl4X2Zt dF9kZXNjX2dldChod2ZjLT5zd19mb3JtYXQpOwotQEAgLTQwNTcsNyArNDA5NSw3IEBAIHN0YXRp YyBpbnQgdnVsa2FuX3RyYW5zZmVyX2RhdGFfZnJvbV9jdWRhKEFWSFdGcmFtZXNDb250ZXh0ICpo d2ZjLAotIAotIGZhaWw6Ci0gICAgIENIRUNLX0NVKGN1LT5jdUN0eFBvcEN1cnJlbnQoJmR1bW15 KSk7Ci0tICAgIHZ1bGthbl9mcmVlX2ludGVybmFsKGRzdF9mKTsKLSsgICAgdnVsa2FuX2ZyZWVf aW50ZXJuYWwocCwgZHN0X2YpOwotICAgICBhdl9idWZmZXJfdW5yZWYoJmRzdC0+YnVmWzBdKTsK LSAgICAgcmV0dXJuIGVycjsKLSB9Ci1AQCAtNDEyNyw2ICs0MTY1LDcyIEBAIHN0YXRpYyBWa0lt YWdlQXNwZWN0RmxhZ3MgcGxhbmVfaW5kZXhfdG9fYXNwZWN0KGludCBwbGFuZSkgewotICAgICBy ZXR1cm4gVktfSU1BR0VfQVNQRUNUX01FTU9SWV9QTEFORV8wX0JJVF9FWFQ7Ci0gfQotIAotKyNp ZmRlZiBETUFfQlVGX0lPQ1RMX0VYUE9SVF9TWU5DX0ZJTEUKLStzdGF0aWMgaW50IHZ1bGthbl9k cm1fZXhwb3J0X3N5bmNfZmQoQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsIEFWVmtGcmFtZSAqZiwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVnVsa2FuRnJhbWVzUHJpdiAq ZnAsIGludCBuYl9zZW1zKQotK3sKLSsgICAgaW50IHN5bmNfZmQgPSAtMTsKLSsgICAgVmtSZXN1 bHQgcmV0OwotKyAgICBWdWxrYW5EZXZpY2VQcml2ICpwID0gaHdmYy0+ZGV2aWNlX2N0eC0+aHdj dHg7Ci0rICAgIEFWVnVsa2FuRGV2aWNlQ29udGV4dCAqaHdjdHggPSAmcC0+cDsKLSsgICAgRkZW dWxrYW5GdW5jdGlvbnMgKnZrID0gJnAtPnZrY3R4LnZrZm47Ci0rCi0rICAgIGlmIChmLT5pbnRl cm5hbC0+ZHJtX3N5bmNfc2VtID09IFZLX05VTExfSEFORExFKSB7Ci0rICAgICAgICBWa0V4cG9y dFNlbWFwaG9yZUNyZWF0ZUluZm8gZXhwX2luZm8gPSB7Ci0rICAgICAgICAgICAgLnNUeXBlICAg ICAgID0gVktfU1RSVUNUVVJFX1RZUEVfRVhQT1JUX1NFTUFQSE9SRV9DUkVBVEVfSU5GTywKLSsg ICAgICAgICAgICAuaGFuZGxlVHlwZXMgPSBWS19FWFRFUk5BTF9TRU1BUEhPUkVfSEFORExFX1RZ UEVfU1lOQ19GRF9CSVQsCi0rICAgICAgICB9OwotKyAgICAgICAgVmtTZW1hcGhvcmVUeXBlQ3Jl YXRlSW5mbyB0eXBlX2luZm8gPSB7Ci0rICAgICAgICAgICAgLnNUeXBlICAgICAgICAgPSBWS19T VFJVQ1RVUkVfVFlQRV9TRU1BUEhPUkVfVFlQRV9DUkVBVEVfSU5GTywKLSsgICAgICAgICAgICAu cE5leHQgICAgICAgICA9ICZleHBfaW5mbywKLSsgICAgICAgICAgICAuc2VtYXBob3JlVHlwZSA9 IFZLX1NFTUFQSE9SRV9UWVBFX0JJTkFSWSwKLSsgICAgICAgIH07Ci0rICAgICAgICBWa1NlbWFw aG9yZUNyZWF0ZUluZm8gc2VtX2NyZWF0ZSA9IHsKLSsgICAgICAgICAgICAuc1R5cGUgPSBWS19T VFJVQ1RVUkVfVFlQRV9TRU1BUEhPUkVfQ1JFQVRFX0lORk8sCi0rICAgICAgICAgICAgLnBOZXh0 ID0gJnR5cGVfaW5mbywKLSsgICAgICAgIH07Ci0rICAgICAgICByZXQgPSB2ay0+Q3JlYXRlU2Vt YXBob3JlKGh3Y3R4LT5hY3RfZGV2LCAmc2VtX2NyZWF0ZSwgaHdjdHgtPmFsbG9jLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZi0+aW50ZXJuYWwtPmRybV9zeW5jX3NlbSk7 Ci0rICAgICAgICBpZiAocmV0ICE9IFZLX1NVQ0NFU1MpIHsKLSsgICAgICAgICAgICBhdl9sb2co aHdjdHgsIEFWX0xPR19FUlJPUiwgIkZhaWxlZCB0byBjcmVhdGUgRFJNIGV4cG9ydCBzZW1hcGhv cmU6ICVzXG4iLAotKyAgICAgICAgICAgICAgICAgICBmZl92a19yZXQyc3RyKHJldCkpOwotKyAg ICAgICAgICAgIHJldHVybiBBVkVSUk9SX0VYVEVSTkFMOwotKyAgICAgICAgfQotKyAgICB9Ci0r Ci0rICAgIC8qIFN1Ym1pdCBhIGxpZ2h0d2VpZ2h0IGV4ZWMgdGhhdCB3YWl0cyBvbiB0aGUgdGlt ZWxpbmUgc2VtYXBob3JlCi0rICAgICAqICh0cnVlIGxhc3Qgb3BlcmF0aW9uIG9uIHRoZSBmcmFt ZSkgYW5kIHNpZ25hbHMgdGhlIGJpbmFyeSBzZW1hcGhvcmUsCi0rICAgICAqIHNvIGFueSBWdWxr YW4gZnJhbWUgY2FuIGdldCBhIFNZTkNfRkQgcmVnYXJkbGVzcyBvZiBvcmlnaW4uICovCi0rICAg IEZGVmtFeGVjQ29udGV4dCAqZXhlYyA9IGZmX3ZrX2V4ZWNfZ2V0KCZwLT52a2N0eCwgJmZwLT5j b21wdXRlX2V4ZWMpOwotKyAgICBpZiAoZmZfdmtfZXhlY19zdGFydCgmcC0+dmtjdHgsIGV4ZWMp ID49IDApIHsKLSsgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbmJfc2VtczsgaSsrKQotKyAg ICAgICAgICAgIGZmX3ZrX2V4ZWNfYWRkX2RlcF93YWl0X3NlbSgmcC0+dmtjdHgsIGV4ZWMsIGYt PnNlbVtpXSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZi0+c2Vt X3ZhbHVlW2ldLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWS19Q SVBFTElORV9TVEFHRV8yX0FMTF9DT01NQU5EU19CSVQpOwotKyAgICAgICAgZmZfdmtfZXhlY19h ZGRfZGVwX2Jvb2xfc2VtKCZwLT52a2N0eCwgZXhlYywgJmYtPmludGVybmFsLT5kcm1fc3luY19z ZW0sIDEsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfUElQRUxJTkVf U1RBR0VfMl9BTExfQ09NTUFORFNfQklULCAwKTsKLSsgICAgICAgIGlmIChmZl92a19leGVjX3N1 Ym1pdCgmcC0+dmtjdHgsIGV4ZWMpID49IDApIHsKLSsgICAgICAgICAgICBWa1NlbWFwaG9yZUdl dEZkSW5mb0tIUiBnZXRfZmRfaW5mbyA9IHsKLSsgICAgICAgICAgICAgICAgLnNUeXBlICAgICAg PSBWS19TVFJVQ1RVUkVfVFlQRV9TRU1BUEhPUkVfR0VUX0ZEX0lORk9fS0hSLAotKyAgICAgICAg ICAgICAgICAuc2VtYXBob3JlICA9IGYtPmludGVybmFsLT5kcm1fc3luY19zZW0sCi0rICAgICAg ICAgICAgICAgIC5oYW5kbGVUeXBlID0gVktfRVhURVJOQUxfU0VNQVBIT1JFX0hBTkRMRV9UWVBF X1NZTkNfRkRfQklULAotKyAgICAgICAgICAgIH07Ci0rICAgICAgICAgICAgcmV0ID0gdmstPkdl dFNlbWFwaG9yZUZkS0hSKGh3Y3R4LT5hY3RfZGV2LCAmZ2V0X2ZkX2luZm8sICZzeW5jX2ZkKTsK LSsgICAgICAgICAgICBpZiAocmV0ICE9IFZLX1NVQ0NFU1MpIHsKLSsgICAgICAgICAgICAgICAg YXZfbG9nKGh3Y3R4LCBBVl9MT0dfV0FSTklORywKLSsgICAgICAgICAgICAgICAgICAgICAgICJG YWlsZWQgdG8gZ2V0IHN5bmMgZmQgZnJvbSBEUk0gbWFwIGV4cG9ydCBzZW1hcGhvcmU6ICVzXG4i LAotKyAgICAgICAgICAgICAgICAgICAgICAgZmZfdmtfcmV0MnN0cihyZXQpKTsKLSsgICAgICAg ICAgICAgICAgc3luY19mZCA9IC0xOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgIH0gZWxzZSB7 Ci0rICAgICAgICAgICAgZmZfdmtfZXhlY19kaXNjYXJkX2RlcHMoJnAtPnZrY3R4LCBleGVjKTsK LSsgICAgICAgIH0KLSsgICAgfQotKwotKyAgICByZXR1cm4gc3luY19mZDsKLSt9Ci0rI2VuZGlm Ci0rCi0gc3RhdGljIGludCB2dWxrYW5fbWFwX3RvX2RybShBVkhXRnJhbWVzQ29udGV4dCAqaHdm YywgQVZGcmFtZSAqZHN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQVZG cmFtZSAqc3JjLCBpbnQgZmxhZ3MpCi0gewotQEAgLTQxMzcsMTUgKzQyNDEsMTQgQEAgc3RhdGlj IGludCB2dWxrYW5fbWFwX3RvX2RybShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywgQVZGcmFtZSAq ZHN0LAotICAgICBBVlZ1bGthbkRldmljZUNvbnRleHQgKmh3Y3R4ID0gJnAtPnA7Ci0gICAgIEZG VnVsa2FuRnVuY3Rpb25zICp2ayA9ICZwLT52a2N0eC52a2ZuOwotICAgICBWdWxrYW5GcmFtZXNQ cml2ICpmcCA9IGh3ZmMtPmh3Y3R4OwotKyAgICBjb25zdCBpbnQgcGxhbmVzID0gYXZfcGl4X2Zt dF9jb3VudF9wbGFuZXMoaHdmYy0+c3dfZm9ybWF0KTsKLSAgICAgY29uc3QgaW50IG5iX2ltYWdl cyA9IGZmX3ZrX2NvdW50X2ltYWdlcyhmKTsKLSAgICAgVmtJbWFnZURybUZvcm1hdE1vZGlmaWVy UHJvcGVydGllc0VYVCBkcm1fbW9kID0gewotICAgICAgICAgLnNUeXBlID0gVktfU1RSVUNUVVJF X1RZUEVfSU1BR0VfRFJNX0ZPUk1BVF9NT0RJRklFUl9QUk9QRVJUSUVTX0VYVCwKLSAgICAgfTsK LS0gICAgVmtTZW1hcGhvcmVXYWl0SW5mbyB3YWl0X2luZm8gPSB7Ci0tICAgICAgICAuc1R5cGUg ICAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9TRU1BUEhPUkVfV0FJVF9JTkZPLAotLSAgICAg ICAgLmZsYWdzICAgICAgICAgID0gMHgwLAotLSAgICAgICAgLnNlbWFwaG9yZUNvdW50ID0gbmJf aW1hZ2VzLAotLSAgICB9OwotKyAgICBjb25zdCBpbnQgbmJfc2VtcyA9IG5iX2ltYWdlczsKLSsK LSsgICAgaW50IHN5bmNfZmQgPSAtMTsKLSAKLSAgICAgQVZEUk1GcmFtZURlc2NyaXB0b3IgKmRy bV9kZXNjID0gYXZfbWFsbG9jeihzaXplb2YoKmRybV9kZXNjKSk7Ci0gICAgIGlmICghZHJtX2Rl c2MpCi1AQCAtNDE1NSwxMSArNDI1OCwyOCBAQCBzdGF0aWMgaW50IHZ1bGthbl9tYXBfdG9fZHJt KEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVkZyYW1lICpkc3QsCi0gICAgIGlmIChlcnIgPCAw KQotICAgICAgICAgZ290byBlbmQ7Ci0gCi0tICAgIC8qIFdhaXQgZm9yIHRoZSBvcGVyYXRpb24g dG8gZmluaXNoIHNvIHdlIGNhbiBjbGVhbmx5IGV4cG9ydCBpdC4gKi8KLS0gICAgd2FpdF9pbmZv LnBTZW1hcGhvcmVzID0gZi0+c2VtOwotLSAgICB3YWl0X2luZm8ucFZhbHVlcyAgICAgPSBmLT5z ZW1fdmFsdWU7Ci0rI2lmZGVmIERNQV9CVUZfSU9DVExfRVhQT1JUX1NZTkNfRklMRQotKyAgICBp ZiAoKHAtPnZrY3R4LmV4dGVuc2lvbnMgJiBGRl9WS19FWFRfRVhURVJOQUxfRkRfU0VNKSAmJgot KyAgICAgICAgZi0+dGlsaW5nID09IFZLX0lNQUdFX1RJTElOR19EUk1fRk9STUFUX01PRElGSUVS X0VYVCAmJgotKyAgICAgICAgdmstPkdldFNlbWFwaG9yZUZkS0hSICYmIHZrLT5DcmVhdGVTZW1h cGhvcmUpIHsKLSsgICAgICAgIGVyciA9IHZ1bGthbl9kcm1fZXhwb3J0X3N5bmNfZmQoaHdmYywg ZiwgZnAsIG5iX3NlbXMpOwotKyAgICAgICAgaWYgKGVyciA8IDApCi0rICAgICAgICAgICAgZ290 byBlbmQ7Ci0rICAgICAgICBzeW5jX2ZkID0gZXJyOwotKyAgICAgICAgZXJyID0gMDsKLSsgICAg fQotKyNlbmRpZgotIAotLSAgICB2ay0+V2FpdFNlbWFwaG9yZXMoaHdjdHgtPmFjdF9kZXYsICZ3 YWl0X2luZm8sIFVJTlQ2NF9NQVgpOwotKyAgICBpZiAoc3luY19mZCA8IDApIHsKLSsgICAgICAg IFZrU2VtYXBob3JlV2FpdEluZm8gd2FpdF9pbmZvID0gewotKyAgICAgICAgICAgIC5zVHlwZSAg ICAgICAgICA9IFZLX1NUUlVDVFVSRV9UWVBFX1NFTUFQSE9SRV9XQUlUX0lORk8sCi0rICAgICAg ICAgICAgLmZsYWdzICAgICAgICAgID0gMHgwLAotKyAgICAgICAgICAgIC5zZW1hcGhvcmVDb3Vu dCA9IG5iX3NlbXMsCi0rICAgICAgICAgICAgLnBTZW1hcGhvcmVzICAgID0gZi0+c2VtLAotKyAg ICAgICAgICAgIC5wVmFsdWVzICAgICAgICA9IGYtPnNlbV92YWx1ZSwKLSsgICAgICAgIH07Ci0r ICAgICAgICB2ay0+V2FpdFNlbWFwaG9yZXMoaHdjdHgtPmFjdF9kZXYsICZ3YWl0X2luZm8sIFVJ TlQ2NF9NQVgpOwotKyAgICB9Ci0gCi0gICAgIGVyciA9IGZmX2h3ZnJhbWVfbWFwX2NyZWF0ZShz cmMtPmh3X2ZyYW1lc19jdHgsIGRzdCwgc3JjLCAmdnVsa2FuX3VubWFwX3RvX2RybSwgZHJtX2Rl c2MpOwotICAgICBpZiAoZXJyIDwgMCkKLUBAIC00MTczLDcgKzQyOTMsNyBAQCBzdGF0aWMgaW50 IHZ1bGthbl9tYXBfdG9fZHJtKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVkZyYW1lICpkc3Qs Ci0gICAgICAgICBnb3RvIGVuZDsKLSAgICAgfQotIAotLSAgICBmb3IgKGludCBpID0gMDsgKGkg PCBuYl9pbWFnZXMpICYmIChmLT5tZW1baV0pOyBpKyspIHsKLSsgICAgZm9yIChpbnQgaSA9IDA7 IChpIDwgcGxhbmVzKSAmJiAoZi0+bWVtW2ldKTsgaSsrKSB7Ci0gICAgICAgICBWa01lbW9yeUdl dEZkSW5mb0tIUiBleHBvcnRfaW5mbyA9IHsKLSAgICAgICAgICAgICAuc1R5cGUgICAgICA9IFZL X1NUUlVDVFVSRV9UWVBFX01FTU9SWV9HRVRfRkRfSU5GT19LSFIsCi0gICAgICAgICAgICAgLm1l bW9yeSAgICAgPSBmLT5tZW1baV0sCi1AQCAtNDE4OCwxMiArNDMwOCwzMCBAQCBzdGF0aWMgaW50 IHZ1bGthbl9tYXBfdG9fZHJtKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVkZyYW1lICpkc3Qs Ci0gICAgICAgICAgICAgZ290byBlbmQ7Ci0gICAgICAgICB9Ci0gCi0rI2lmIEhBVkVfTElOVVhf RE1BX0JVRl9IICYmIGRlZmluZWQoRE1BX0JVRl9JT0NUTF9JTVBPUlRfU1lOQ19GSUxFKQotKyAg ICAgICAgaWYgKHN5bmNfZmQgPj0gMCkgewotKyAgICAgICAgICAgIGludCBkdXBfZmQgPSBkdXAo c3luY19mZCk7Ci0rICAgICAgICAgICAgaWYgKGR1cF9mZCA+PSAwKSB7Ci0rICAgICAgICAgICAg ICAgIHN0cnVjdCBkbWFfYnVmX2ltcG9ydF9zeW5jX2ZpbGUgaW1wb3J0X2luZm8gPSB7Ci0rICAg ICAgICAgICAgICAgICAgICAuZmxhZ3MgPSBETUFfQlVGX1NZTkNfV1JJVEUsCi0rICAgICAgICAg ICAgICAgICAgICAuZmQgPSBkdXBfZmQsCi0rICAgICAgICAgICAgICAgIH07Ci0rICAgICAgICAg ICAgICAgIGlmIChpb2N0bChkcm1fZGVzYy0+b2JqZWN0c1tpXS5mZCwgRE1BX0JVRl9JT0NUTF9J TVBPUlRfU1lOQ19GSUxFLCAmaW1wb3J0X2luZm8pIDwgMCkKLSsgICAgICAgICAgICAgICAgICAg IGF2X2xvZyhod2ZjLCBBVl9MT0dfV0FSTklORywgIkRNQV9CVUZfSU9DVExfSU1QT1JUX1NZTkNf RklMRSBmYWlsZWQ6ICVzXG4iLCBhdl9lcnIyc3RyKEFWRVJST1IoZXJybm8pKSk7Ci0rICAgICAg ICAgICAgICAgIGNsb3NlKGR1cF9mZCk7Ci0rICAgICAgICAgICAgfSBlbHNlIHsKLSsgICAgICAg ICAgICAgICAgYXZfbG9nKGh3ZmMsIEFWX0xPR19XQVJOSU5HLCAiZHVwKHN5bmNfZmQpIGZhaWxl ZDogJXNcbiIsIGF2X2VycjJzdHIoQVZFUlJPUihlcnJubykpKTsKLSsgICAgICAgICAgICB9Ci0r ICAgICAgICB9Ci0rI2VuZGlmCi0rCi0gICAgICAgICBkcm1fZGVzYy0+bmJfb2JqZWN0cysrOwot ICAgICAgICAgZHJtX2Rlc2MtPm9iamVjdHNbaV0uc2l6ZSA9IGYtPnNpemVbaV07Ci0gICAgICAg ICBkcm1fZGVzYy0+b2JqZWN0c1tpXS5mb3JtYXRfbW9kaWZpZXIgPSBkcm1fbW9kLmRybUZvcm1h dE1vZGlmaWVyOwotICAgICB9Ci0gCi0tICAgIGRybV9kZXNjLT5uYl9sYXllcnMgPSBuYl9pbWFn ZXM7Ci0rICAgIC8qIE5WMTIgaGFzIDIgcGxhbmVzIGJ1dCAxIGltYWdlL3NlbWFwaG9yZSAqLwot KyAgICBkcm1fZGVzYy0+bmJfbGF5ZXJzID0gRkZNQVgocGxhbmVzLCBuYl9pbWFnZXMpOwotICAg ICBmb3IgKGludCBpID0gMDsgaSA8IGRybV9kZXNjLT5uYl9sYXllcnM7IGkrKykgewotICAgICAg ICAgVmtGb3JtYXQgcGxhbmVfdmtmbXQgPSBhdl92a2ZtdF9mcm9tX3BpeGZtdChod2ZjLT5zd19m b3JtYXQpW2ldOwotIAotQEAgLTQyMDgsMTMgKzQzNDYsMTQgQEAgc3RhdGljIGludCB2dWxrYW5f bWFwX3RvX2RybShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywgQVZGcmFtZSAqZHN0LAotIAotICAg ICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBkcm1fZGVzYy0+bGF5ZXJzW2ldLm5iX3BsYW5lczsg aisrKSB7Ci0gICAgICAgICAgICAgVmtTdWJyZXNvdXJjZUxheW91dCBsYXlvdXQ7Ci0rICAgICAg ICAgICAgaW50IGFzcGVjdF9wbGFuZSA9IChuYl9pbWFnZXMgPT0gMSkgPyBpIDogajsKLSAgICAg ICAgICAgICBWa0ltYWdlU3VicmVzb3VyY2Ugc3ViID0gewotLSAgICAgICAgICAgICAgICAuYXNw ZWN0TWFzayA9IHBsYW5lX2luZGV4X3RvX2FzcGVjdChqKSwKLSsgICAgICAgICAgICAgICAgLmFz cGVjdE1hc2sgPSBwbGFuZV9pbmRleF90b19hc3BlY3QoYXNwZWN0X3BsYW5lKSwKLSAgICAgICAg ICAgICB9OwotIAotICAgICAgICAgICAgIGRybV9kZXNjLT5sYXllcnNbaV0ucGxhbmVzW2pdLm9i amVjdF9pbmRleCA9IEZGTUlOKGksIGRybV9kZXNjLT5uYl9vYmplY3RzIC0gMSk7Ci0gCi0tICAg ICAgICAgICAgdmstPkdldEltYWdlU3VicmVzb3VyY2VMYXlvdXQoaHdjdHgtPmFjdF9kZXYsIGYt PmltZ1tpXSwgJnN1YiwgJmxheW91dCk7Ci0rICAgICAgICAgICAgdmstPkdldEltYWdlU3VicmVz b3VyY2VMYXlvdXQoaHdjdHgtPmFjdF9kZXYsIGYtPmltZ1tGRk1JTihpLCBuYl9pbWFnZXMgLSAx KV0sICZzdWIsICZsYXlvdXQpOwotICAgICAgICAgICAgIGRybV9kZXNjLT5sYXllcnNbaV0ucGxh bmVzW2pdLm9mZnNldCA9IGxheW91dC5vZmZzZXQ7Ci0gICAgICAgICAgICAgZHJtX2Rlc2MtPmxh eWVyc1tpXS5wbGFuZXNbal0ucGl0Y2ggID0gbGF5b3V0LnJvd1BpdGNoOwotICAgICAgICAgfQot QEAgLTQyMzQsMTMgKzQzNzMsMjEgQEAgc3RhdGljIGludCB2dWxrYW5fbWFwX3RvX2RybShBVkhX RnJhbWVzQ29udGV4dCAqaHdmYywgQVZGcmFtZSAqZHN0LAotICAgICBkc3QtPndpZHRoICAgPSBz cmMtPndpZHRoOwotICAgICBkc3QtPmhlaWdodCAgPSBzcmMtPmhlaWdodDsKLSAgICAgZHN0LT5k YXRhWzBdID0gKHVpbnQ4X3QgKilkcm1fZGVzYzsKLSsgICAgZHN0LT5od19mcmFtZXNfY3R4ID0g YXZfYnVmZmVyX3JlZihzcmMtPmh3X2ZyYW1lc19jdHgpOwotKwotKyAgICBpZiAoc3luY19mZCA+ PSAwKQotKyAgICAgICAgY2xvc2Uoc3luY19mZCk7Ci0gCi0gICAgIGF2X2xvZyhod2ZjLCBBVl9M T0dfVkVSQk9TRSwgIk1hcHBlZCBBVlZrRnJhbWUgdG8gYSBEUk0gb2JqZWN0IVxuIik7Ci0gCi0g ICAgIHJldHVybiAwOwotIAotIGVuZDoKLSsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBkcm1fZGVz Yy0+bmJfb2JqZWN0czsgaSsrKQotKyAgICAgICAgY2xvc2UoZHJtX2Rlc2MtPm9iamVjdHNbaV0u ZmQpOwotICAgICBhdl9mcmVlKGRybV9kZXNjKTsKLSsgICAgaWYgKHN5bmNfZmQgPj0gMCkKLSsg ICAgICAgIGNsb3NlKHN5bmNfZmQpOwotICAgICByZXR1cm4gZXJyOwotIH0KLSAKLUBAIC00NzIw LDcgKzQ4NjcsNyBAQCBlbmQ6Ci0gc3RhdGljIGludCB2dWxrYW5fdHJhbnNmZXJfZGF0YV90byhB VkhXRnJhbWVzQ29udGV4dCAqaHdmYywgQVZGcmFtZSAqZHN0LAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgQVZGcmFtZSAqc3JjKQotIHsKLS0gICAgYXZfdW51c2Vk IFZ1bGthbkRldmljZVByaXYgKnAgPSBod2ZjLT5kZXZpY2VfY3R4LT5od2N0eDsKLSsgICAgVnVs a2FuRGV2aWNlUHJpdiAqcCA9IGh3ZmMtPmRldmljZV9jdHgtPmh3Y3R4OwotIAotICAgICBzd2l0 Y2ggKHNyYy0+Zm9ybWF0KSB7Ci0gI2lmIENPTkZJR19DVURBCi1AQCAtNDc1MCw2ICs0ODk3LDcg QEAgc3RhdGljIGludCB2dWxrYW5fdHJhbnNmZXJfZGF0YV90b19jdWRhKEFWSFdGcmFtZXNDb250 ZXh0ICpod2ZjLCBBVkZyYW1lICpkc3QsCi0gICAgIENVY29udGV4dCBkdW1teTsKLSAgICAgQVZW a0ZyYW1lICpkc3RfZjsKLSAgICAgQVZWa0ZyYW1lSW50ZXJuYWwgKmRzdF9pbnQ7Ci0rICAgIFZ1 bGthbkRldmljZVByaXYgKnAgPSBod2ZjLT5kZXZpY2VfY3R4LT5od2N0eDsKLSAgICAgVnVsa2Fu RnJhbWVzUHJpdiAqZnAgPSBod2ZjLT5od2N0eDsKLSAgICAgY29uc3QgaW50IHBsYW5lcyA9IGF2 X3BpeF9mbXRfY291bnRfcGxhbmVzKGh3ZmMtPnN3X2Zvcm1hdCk7Ci0gICAgIGNvbnN0IEFWUGl4 Rm10RGVzY3JpcHRvciAqZGVzYyA9IGF2X3BpeF9mbXRfZGVzY19nZXQoaHdmYy0+c3dfZm9ybWF0 KTsKLUBAIC00ODMwLDcgKzQ5NzgsNyBAQCBzdGF0aWMgaW50IHZ1bGthbl90cmFuc2Zlcl9kYXRh X3RvX2N1ZGEoQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsIEFWRnJhbWUgKmRzdCwKLSAKLSBmYWls OgotICAgICBDSEVDS19DVShjdS0+Y3VDdHhQb3BDdXJyZW50KCZkdW1teSkpOwotLSAgICB2dWxr YW5fZnJlZV9pbnRlcm5hbChkc3RfZik7Ci0rICAgIHZ1bGthbl9mcmVlX2ludGVybmFsKHAsIGRz dF9mKTsKLSAgICAgYXZfYnVmZmVyX3VucmVmKCZkc3QtPmJ1ZlswXSk7Ci0gICAgIHJldHVybiBl cnI7Ci0gfQotLS0gCi0yLjI1LjEKLQoKZGlmZiAtLWdpdCBhL2ZmbXBlZy5zcGVjIGIvZmZtcGVn LnNwZWMKaW5kZXggZDM3ZTFiZS4uMDc4YWE2OSAxMDA2NDQKLS0tIGEvZmZtcGVnLnNwZWMKKysr IGIvZmZtcGVnLnNwZWMKQEAgLTg4LDE5ICs4OCwxOSBAQAogIyBGSVhNRTogR0NDIHNheXMgdGhl cmUncyBpbmNvbXBhdGlibGUgcG9pbnRlciBjYXN0cyBnb2luZyBvbiBpbiBsaWJhdmRldmljZS4u LgogJWdsb2JhbCBidWlsZF90eXBlX3NhZmV0eV9jIDIKIAotJWdsb2JhbCBhdl9jb2RlY19zb3Zl cnNpb24gNjIKLSVnbG9iYWwgYXZfZGV2aWNlX3NvdmVyc2lvbiA2MgotJWdsb2JhbCBhdl9maWx0 ZXJfc292ZXJzaW9uIDExCi0lZ2xvYmFsIGF2X2Zvcm1hdF9zb3ZlcnNpb24gNjIKLSVnbG9iYWwg YXZfdXRpbF9zb3ZlcnNpb24gNjAKLSVnbG9iYWwgc3dyZXNhbXBsZV9zb3ZlcnNpb24gNgotJWds b2JhbCBzd3NjYWxlX3NvdmVyc2lvbiA5CislZ2xvYmFsIGF2X2NvZGVjX3NvdmVyc2lvbiA2Mwor JWdsb2JhbCBhdl9kZXZpY2Vfc292ZXJzaW9uIDYzCislZ2xvYmFsIGF2X2ZpbHRlcl9zb3ZlcnNp b24gMTIKKyVnbG9iYWwgYXZfZm9ybWF0X3NvdmVyc2lvbiA2MworJWdsb2JhbCBhdl91dGlsX3Nv dmVyc2lvbiA2MQorJWdsb2JhbCBzd3Jlc2FtcGxlX3NvdmVyc2lvbiA3CislZ2xvYmFsIHN3c2Nh bGVfc292ZXJzaW9uIDEwCiAKIE5hbWU6ICAgICAgICAgICBmZm1wZWcKICVnbG9iYWwgcGtnX25h bWUgJXtuYW1lfSV7P3BrZ19zdWZmaXh9CiAKLVZlcnNpb246ICAgICAgICA4LjEuMgotUmVsZWFz ZTogICAgICAgIDEyJXs/ZGlzdH0KK1ZlcnNpb246ICAgICAgICA5LjAuMQorUmVsZWFzZTogICAg ICAgIDElez9kaXN0fQogU3VtbWFyeTogICAgICAgIEEgY29tcGxldGUgc29sdXRpb24gdG8gcmVj b3JkLCBjb252ZXJ0IGFuZCBzdHJlYW0gYXVkaW8gYW5kIHZpZGVvCiBMaWNlbnNlOiAgICAgICAg R1BMLTMuMC1vci1sYXRlcgogVVJMOiAgICAgICAgICAgIGh0dHBzOi8vZmZtcGVnLm9yZy8KQEAg LTEyMiwxMiArMTIyLDYgQEAgUGF0Y2gzOiAgICAgICAgIGZmbXBlZy1hbGxvdy1kZWNrbGluay5w YXRjaAogIyBWYXBvdXJTeW50aCBSNzkgcmVuYW1lZCBsaWJ2YXBvdXJzeW50aC1zY3JpcHQgdG8g bGlidnNzY3JpcHQKIFBhdGNoNDogICAgICAgICBmZm1wZWctdmFwb3Vyc3ludGgtbGliLXJlbmFt ZS5wYXRjaAogCi0jIEJhY2twb3J0IGZpeCBmb3IgQ1ZFLTIwMjYtMzA5OTgKLVBhdGNoMTA6ICAg ICAgICBodHRwczovL2dpdC5mZm1wZWcub3JnL2dpdHdlYi9mZm1wZWcuZ2l0L3BhdGNoLzE4Yjgz ZjJkMGEwZjliY2JhZmIwMDAxYTI5MTEzMjdjNGI4ZGYwNTYjL2ZmbXBlZy1DVkUtMjAyNi0zMDk5 OC5wYXRjaAotCi0jIEFkZCB1cHN0cmVhbSBjb21taXQgdG8gYWRkcmVzcyBmaXJlZm94IHZ1bGth biBkaXJlY3QtZXhwb3J0IHJlbmRlcmluZyBpc3N1ZQotUGF0Y2gxMTogICAgICAgICBodHRwczov L2dpdC5mZm1wZWcub3JnL2dpdHdlYi9mZm1wZWcuZ2l0L3BhdGNoLzI1ZTE4N2Y4NDk0OTY2Mzc3 YTRiOWQwNzcyNjBjZTdiNTAxYTkxMWMjL2ZmbXBlZy12dWxrYW4tZGlyZWN0LWV4cG9ydC5wYXRj aAotCiAjIEFkZCBmaXJzdF9kdHMgZ2V0dGVyIHRvIGxpYmF2Zm9ybWF0IGZvciBDaHJvbWl1bQog IyBTZWU6IGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MjI0MDEy NwogIyBSZWZlcmVuY2U6IGh0dHBzOi8vY3JidWcuY29tLzEzMDY1NjAKQEAgLTE1Miw2ICsxNDYs NyBAQCBCdWlsZFJlcXVpcmVzOiAgZ2FtZS1tdXNpYy1lbXUtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6 ICBnY2MKIEJ1aWxkUmVxdWlyZXM6ICBnaXQtY29yZQogQnVpbGRSZXF1aXJlczogIGdudXBnMgor QnVpbGRSZXF1aXJlczogIGdsc2xjCiBCdWlsZFJlcXVpcmVzOiAgZ3NtLWRldmVsCiBCdWlsZFJl cXVpcmVzOiAgbGFkc3BhLWRldmVsCiBCdWlsZFJlcXVpcmVzOiAgbGFtZS1kZXZlbApAQCAtMjMw LDcgKzIyNSw2IEBAIEJ1aWxkUmVxdWlyZXM6ICBwa2djb25maWcob3B1cykKIEJ1aWxkUmVxdWly ZXM6ICBwa2djb25maWcocmF2MWUpCiBCdWlsZFJlcXVpcmVzOiAgcGtnY29uZmlnKHJ1YmJlcmJh bmQpCiBCdWlsZFJlcXVpcmVzOiAgcGtnY29uZmlnKHNkbDIpCi1CdWlsZFJlcXVpcmVzOiAgcGtn Y29uZmlnKHNoYWRlcmMpID49IDIwMTkuMQogQnVpbGRSZXF1aXJlczogIHBrZ2NvbmZpZyhzbWJj bGllbnQpCiBCdWlsZFJlcXVpcmVzOiAgcGtnY29uZmlnKHNuYXBweSkKIEJ1aWxkUmVxdWlyZXM6 ICBwa2djb25maWcoc294cikKQEAgLTgxMSw3ICs4MDUsNiBAQCBjcCAtYSBkb2MvZXhhbXBsZXMv eyouYyxNYWtlZmlsZSxSRUFETUV9IF9kb2MvZXhhbXBsZXMvCiAgICAgLS1lbmFibGUtbGlicnRt cCBcCiAlZW5kaWYKICAgICAtLWVuYWJsZS1saWJydWJiZXJiYW5kIFwKLSAgICAtLWVuYWJsZS1s aWJzaGFkZXJjIFwKICAgICAtLWRpc2FibGUtbGlic2hpbmUgXAogICAgIC0tZW5hYmxlLWxpYnNt YmNsaWVudCBcCiAgICAgLS1lbmFibGUtbGlic25hcHB5IFwKQEAgLTk3Nyw2ICs5NzAsMTMgQEAg cm0gLXJmICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9CiAKIAogJWNoYW5nZWxvZworKiBUaHUgU2Vw IDAzIDIwMjYgRG9taW5payBNaWVyemVqZXdza2kgPGRvbWluaWtAZ3JleXNlY3Rvci5uZXQ+IC0g OS4wLjEtMQorLSB1cGRhdGUgdG8gOS4wLjEgKHJlc29sdmVzIHJoYnojMjUxMDg1OSkKKy0gYnVt cCBTT05BTUVzIG9mIGFsbCBsaWJyYXJpZXMKKy0gZHJvcCBtZXJnZWQgcGF0Y2hlcworLSBkcm9w IHJlbW92ZWQgY29uZmlndXJlIG9wdGlvbiBhbmQgQnVpbGRSZXF1aXJlcyBvbiBzaGFkZXJjCist IGFkZCBCdWlsZFJlcXVpcmVzIGZvciBTUElSLVYgY29tcGlsZXIKKwogKiBNb24gQXVnIDI0IDIw MjYgTmVhbCBHb21wYSA8bmdvbXBhQGZlZG9yYXByb2plY3Qub3JnPiAtIDguMS4yLTEyCiAtIFVu Y29uZGl0aW9uYWxseSBlbmFibGUgbGMzCiAKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNl cwppbmRleCBmMWViNDJjLi5hZDQwODhlIDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJj ZXMKQEAgLTEsMyArMSwzIEBACi1TSEE1MTIgKGZmbXBlZy04LjEuMi50YXIueHopID0gYjNhZGMx NmZlNDI2MjE3YmI2MDdkYTAxYzQxMzdjZWUwYTk3ODhmYzA4ZTA3Nzg3NDMzNmRiMTg1ZDJiNzI4 Nzc0NmE3ZGM5NGNmMDE4MWVhOTJjZDhhZmNkYjA2MDk0ZWU5NDU2ZTI5ODYxMTIzNTRmODQ1Mzhj YjlhNWVkMGIKLVNIQTUxMiAoZmZtcGVnLTguMS4yLnRhci54ei5hc2MpID0gMTFkNDdiYjRlN2Ni NmVkMzg4NjQ3ZDVlZDdiYTRmNzQwYjI3OWUzZDViYmUyY2FmOTdmZmU0ODZhNjJiYjA1Y2UwYzFj M2JmOGMwMjBjMzQ4MThkYjkzNWE5NjdkMThhYzI3MDcxNjMwZTMzNTdkZGYxYzU0OTc0MWVhZGQ2 YTUKK1NIQTUxMiAoZmZtcGVnLTkuMC4xLnRhci54eikgPSBiZThjZGZjYTY0ODg2ZjJlYzVjZDIz NTlmOGRiNmE5OThlZTc1OWQxMDViMTBhZGU5YjJhN2I2NDAzNTZhZDU2YWIwZmY1MDIxOGZjZTdi NjMxMjQ2MmYxNWY5OGQ5MGFjOWQxOTdhM2IwMmEyMzc3MTc1NGQyNzE0ZmVjNjI4ZAorU0hBNTEy IChmZm1wZWctOS4wLjEudGFyLnh6LmFzYykgPSBiMDc2NDQ1ZTU0MmFjYmRmYTkxYmYxYTJlZTBk OWU4MDU3YTJjZTQ1MmMzOWU4MzA3NjU2MzdiYjBhNjY1MjQ5MzU3MDk3MDIyNTczYWNiOTZlYmQ2 NzUyMjRkZmVjNzk0NTMzOGFlMzE3YzNhZDgwN2EzZDA4NzU5ZTA1NmJlMAogU0hBNTEyIChmZm1w ZWcua2V5cmluZykgPSA5YjM2NTA2ODM1ZGIzNmY3NzZiN2RkYjUzYWQ2ZmE5ZTkxNWU2Y2EyZjlj N2NmZWJlOGViNDU1MTNlMTAzNmE5ODUyODM1OTBhODQwY2EzMTNhMTExYmYzNWRjMzczMWY2ODg4 NWFhYWZiMWZiNzAxMWVjNDMzY2MxMTllNTE2NQo=