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] f45: update to 9.0.1 (resolves rhbz#2510859) Date: Thu, 17 Sep 2026 10:06:23 GMT Message-ID: <178963958385.1.11928564679301188856.rpms-ffmpeg-3cd07204d95a@fedoraproject.org> List-ID: X-Git-Repo: rpms/ffmpeg X-Git-Branch: f45 X-Git-Rev: 3cd07204d95ae0cb3cbff177466213ec24973acb ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZmZtcGVnCiAgICAgICAgICAgIEJyYW5jaCA6IGY0NQogICAgICAgICAgICBD b21taXQgOiAzY2QwNzIwNGQ5NWFlMGNiM2NiZmYxNzc0NjYyMTNlYzI0OTczYWNiCiAgICAgICAg ICAgIEF1dGhvciA6IERvbWluaWsgJ1JhdGhhbm4nIE1pZXJ6ZWpld3NraSA8ZG9taW5pa0BncmV5 c2VjdG9yLm5ldD4KICAgICAgICAgICAgRGF0ZSAgIDogMjAyNi0wOS0wM1QxMjo1MTowNyswMjow MAogICAgICAgICAgICBTdGF0cyAgOiArMTkvLTU4NSBpbiA0IGZpbGUocykKICAgICAgICAgICAg VVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9mZm1wZWcvYy8zY2Qw NzIwNGQ5NWFlMGNiM2NiZmYxNzc0NjYyMTNlYzI0OTczYWNiP2JyYW5jaD1mNDUKCiAgICAgICAg ICAgIExvZzoKICAgICAgICAgICAgdXBkYXRlIHRvIDkuMC4xIChyZXNvbHZlcyByaGJ6IzI1MTA4 NTkpCgotIGJ1bXAgU09OQU1FcyBvZiBhbGwgbGlicmFyaWVzCi0gZHJvcCBtZXJnZWQgcGF0Y2hl cwotIGRyb3AgcmVtb3ZlZCBjb25maWd1cmUgb3B0aW9uIGFuZCBCdWlsZFJlcXVpcmVzIG9uIHNo YWRlcmMKLSBhZGQgQnVpbGRSZXF1aXJlcyBmb3IgU1BJUi1WIGNvbXBpbGVyCgotLS0KZGlmZiAt LWdpdCBhL2ZmbXBlZy1DVkUtMjAyNi0zMDk5OC5wYXRjaCBiL2ZmbXBlZy1DVkUtMjAyNi0zMDk5 OC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Y4NmU2YS4uMDAwMDAwMAot LS0gYS9mZm1wZWctQ1ZFLTIwMjYtMzA5OTgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyAr MCwwIEBACi1Gcm9tIDE4YjgzZjJkMGEwZjliY2JhZmIwMDAxYTI5MTEzMjdjNGI4ZGYwNTYgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5j b20+Ci1EYXRlOiBTdW4sIDMgTWF5IDIwMjYgMTM6MTQ6MDIgLTAzMDAKLVN1YmplY3Q6IFtQQVRD SF0gdG9vbHMvem1xc2VuZDogY2xvc2UgdGhlIGlucHV0IEZJTEUKLQotRml4ZXMgQ1ZFLTIwMjYt MzA5OTgKLQotRml4ZXM6IFJlc291cmNlIGxlYWsKLUZvdW5kLWJ5OiBYaW5naGFuZyBMdgotU2ln bmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgotLS0tCi0gdG9vbHMv em1xc2VuZC5jIHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlm ZiAtLWdpdCBhL3Rvb2xzL3ptcXNlbmQuYyBiL3Rvb2xzL3ptcXNlbmQuYwotaW5kZXggMTdhNjE5 NGIyOGY0YS4uYTAxNDJmNDM2YTVmNiAxMDA2NDQKLS0tLSBhL3Rvb2xzL3ptcXNlbmQuYwotKysr IGIvdG9vbHMvem1xc2VuZC5jCi1AQCAtMTY2LDYgKzE2Niw4IEBAIGludCBtYWluKGludCBhcmdj LCBjaGFyICoqYXJndikKLSAKLSBlbmQ6Ci0gICAgIGF2X2ZyZWVwKCZzcmNfYnVmKTsKLSsgICAg aWYgKHN0cmNtcChpbmZpbGVuYW1lLCAic3RkaW4iKSkKLSsgICAgICAgIGZjbG9zZShpbmZpbGUp OwotICAgICB6bXFfY2xvc2Uoc29ja2V0KTsKLSAgICAgem1xX2N0eF9kZXN0cm95KHptcV9jdHgp OwotICAgICByZXR1cm4gcmV0OwoKZGlmZiAtLWdpdCBhL2ZmbXBlZy12dWxrYW4tZGlyZWN0LWV4 cG9ydC5wYXRjaCBiL2ZmbXBlZy12dWxrYW4tZGlyZWN0LWV4cG9ydC5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggNzFiMjZiOC4uMDAwMDAwMAotLS0gYS9mZm1wZWctdnVsa2Fu LWRpcmVjdC1leHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MzkgKzAsMCBAQAotRnJv bSAyNWUxODdmODQ5NDk2NjM3N2E0YjlkMDc3MjYwY2U3YjUwMWE5MTFjIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogVHltdXIgQm9pa28gPHRib2lrb0BudmlkaWEuY29tPgotRGF0ZTog VHVlLCAyNyBKYW4gMjAyNiAxODoxNjozMyArMDEwMAotU3ViamVjdDogW1BBVENIXSB2dWxrYW46 IGZpeCBEUk0gbWFwLCBkZWNvZGUgYmFycmllcnMsIGFuZCB2aWRlbyBmcmFtZSBzZXR1cAotIGZv ciBtb2RpZmllciBvdXRwdXQKLQotV2hlbiBtYXBwaW5nIFZ1bGthbiBWaWRlbyBmcmFtZXMgdG8g RE1BLUJVRiwgc3luY2hyb25pemUgdXNpbmcgYW4gZXhwb3J0YWJsZQotYmluYXJ5IHNlbWFwaG9y ZSBhbmQgc3luY19mZCB3aGVyZSBzdXBwb3J0ZWQuIFN1Ym1pdCBhIGxpZ2h0d2VpZ2h0IGV4ZWMg dGhhdAotd2FpdHMgb24gZWFjaCBwbGFuZSdzIHRpbWVsaW5lIHNlbWFwaG9yZSBhdCB0aGUgY3Vy cmVudCB2YWx1ZSwgc2lnbmFscyBhCi1TWU5DX0ZELWV4cG9ydGFibGUgYmluYXJ5IHNlbWFwaG9y ZSwgdGhlbiBleHBvcnQgd2l0aCB2a0dldFNlbWFwaG9yZUZkS0hSLgotU3RvcmUgdGhhdCBiaW5h cnkgc2VtYXBob3JlIGluIEFWVmtGcmFtZUludGVybmFsIGFuZCByZXVzZSBpdCBhY3Jvc3MgbWFw cwotaW5zdGVhZCBvZiBjcmVhdGluZyBhbmQgZGVzdHJveWluZyBlYWNoIHRpbWU6IGZvcgotVktf RVhURVJOQUxfU0VNQVBIT1JFX0hBTkRMRV9UWVBFX1NZTkNfRkRfQklULCBjb3B5IHRyYW5zZmVy ZW5jZSBtZWFucyBhCi1zdWNjZXNzZnVsIHZrR2V0U2VtYXBob3JlRmRLSFIgdW5zaWduYWxzIHRo ZSBzZW1hcGhvcmUgbGlrZSBhIHdhaXQsIHNvIGl0IGNhbgotYmUgc2lnbmFsZWQgYWdhaW4gb24g dGhlIG5leHQgbWFwIHN1Ym1pdC4gSWYgZXhwb3J0IGlzIHVuYXZhaWxhYmxlLCBmYWxsIGJhY2sK LXRvIHZrV2FpdFNlbWFwaG9yZXMuCi0KLU1vdmVkIGRybV9zeW5jX3NlbSBkZXN0cm95IHRvIHZ1 bGthbl9mcmVlX2ludGVybmFsCi0KLUV4cG9ydCBkbWEtYnVmIGZkcyB3aXRoIEdldE1lbW9yeUZk S0hSIGZvciBlYWNoIHBvcHVsYXRlZCBmLT5tZW1baV0sIGl0ZXJhdGluZwotdXAgdG8gdGhlIHN3 X2Zvcm1hdCBwbGFuZSBjb3VudCBpbnN0ZWFkIG9mIHN0b3BwaW5nIGF0IHRoZSBpbWFnZSBjb3Vu dCwgc28KLW11bHRpLW1lbW9yeSBiaW5kaW5ncyBhcmUgbm90IHNraXBwZWQuIERlc2NyaWJlIERS TSBsYXllcnMgdXNpbmcKLW1heChzdyBwbGFuZXMsIGltYWdlIGNvdW50KSBhbmQgcXVlcnkgc3Vi cmVzb3VyY2UgbGF5b3V0IHdpdGggdGhlIGNvcnJlY3QKLWFzcGVjdCBhbmQgaW1hZ2UgaW5kZXgg d2hlbiBvbmUgVmtJbWFnZSBiYWNrcyBtdWx0aXBsZSBwbGFuZXMuIFJlZmVyZW5jZSB0aGUKLXNv dXJjZSBod19mcmFtZXNfY3R4IG9uIHRoZSBtYXBwZWQgZnJhbWUgYW5kIGNsb3NlIGRtYS1idWYg ZmRzIG9uIGZhaWx1cmUgcGF0aHMuCi0KLUZvciBETUEtQlVGLWNhcGFibGUgcG9vbHMsIGhvbm9y IFZLX0VYVEVSTkFMX01FTU9SWV9GRUFUVVJFX0RFRElDQVRFRF9PTkxZX0JJVAotZnJvbSBmb3Jt YXQgZXhwb3J0IHF1ZXJpZXMgd2hlbiBiaW5kaW5nIG1lbW9yeS4gV2l0aCBEUk0gbW9kaWZpZXJz IGFuZCBhCi12aWRlbyBwcm9maWxlIGluIGNyZWF0ZV9wbmV4dCwgcHJlc2VydmUgY2FsbGVyIHVz YWdlIGFuZCBpbWFnZSBmbGFncyBpbnN0ZWFkIG9mCi1vdmVyd3JpdGluZyB0aGVtIGZyb20gZ2Vu ZXJpYyBzdXBwb3J0ZWRfdXNhZ2UgcHJvYmluZzsgdXNlIHRoZSBtb2RpZmllciBsaXN0Ci1jcmVh dGUgaW5mbyB3aGVuIHByb2JpbmcgZXhwb3J0IGZsYWdzIGZvciBtb2RpZmllciB0aWxpbmcuCi0K LUluY2x1ZGUgVktfSU1BR0VfVVNBR0VfVklERU9fREVDT0RFX0RQQl9CSVRfS0hSIGZyb20gdGhl IG91dHB1dCBmcmFtZXMKLWNvbnRleHQncyB1c2FnZSB0b2dldGhlciB3aXRoIERTVCAoZml4ZXMK LVZVSUQtVmtWaWRlb0JlZ2luQ29kaW5nSW5mb0tIUi1zbG90SW5kZXgtMDcyNDUpIGluc3RlYWQg b2YgYWRkaW5nIERQQiB1c2FnZQotb25seSB3aGVuICFpc19jdXJyZW50LgotCi1JbiBmZl92a19k ZWNvZGVfYWRkX3NsaWNlLCBwYXNzIFZrVmlkZW9Qcm9maWxlTGlzdEluZm9LSFIgKGZyb20gdGhl IG91dHB1dAotZnJhbWVzIGNvbnRleHQncyBjcmVhdGVfcG5leHQpIGFzIHRoZSBwTmV4dCBhcmd1 bWVudCB0bwotZmZfdmtfZ2V0X3Bvb2xlZF9idWZmZXIgaW5zdGVhZCBvZiB0aGUgZnVsbCBjcmVh dGVfcG5leHQgY2hhaW4uIEluCi1mZl92a19mcmFtZV9wYXJhbXMsIHNldCB0aWxpbmcgdG8gT1BU SU1BTCBvbmx5IHdoZW4gaXQgaXMgbm90IGFscmVhZHkKLURSTV9GT1JNQVRfTU9ESUZJRVJfRVhU LiBJbiBmZl92a19kZWNvZGVfaW5pdCwgd2hlbiB0aGUgb3V0cHV0IHBvb2wncwotY3JlYXRlX3Bu ZXh0IGluY2x1ZGVzIFZrSW1hZ2VEcm1Gb3JtYXRNb2RpZmllckxpc3RDcmVhdGVJbmZvRVhULCBp bml0aWFsaXplIHRoZQotRFBCIHBvb2wgd2l0aCB0aGF0IG1vZGlmaWVyLWxpc3QgcE5leHQgYW5k IERSTV9GT1JNQVRfTU9ESUZJRVJfRVhUIHRpbGluZzsKLW90aGVyd2lzZSB1c2UgVmtWaWRlb1By b2ZpbGVMaXN0SW5mb0tIUiBhbmQgT1BUSU1BTCBhcyBiZWZvcmUuIFdoZW4KLVZLX1ZJREVPX0RF Q09ERV9DQVBBQklMSVRZX0RQQl9BTkRfT1VUUFVUX0RJU1RJTkNUX0JJVF9LSFIgaXMgdW5zZXQs IHRoZSBvdXRwdXQKLWFuZCBEUEIgcG9vbHMgY2Fubm90IHVzZSBkaWZmZXJlbnQgbGF5b3V0cyBv ciB0aWxpbmcsIHNvIHRoZSBEUEIgcG9vbCBtdXN0Ci1tYXRjaCB0aGUgb3V0cHV0IHBvb2wuCi0K LUFsc28gZml4IGF2X2h3ZnJhbWVfbWFwIGlvY3RsIHN5bmNfZmQgZXhwb3J0LCBtdWx0aS1wbGFu YXIgc2VtYXBob3JlIGhhbmRsaW5nLAotYW5kIHJlbGF0ZWQgZmFpbHVyZS1wYXRoIGNsZWFudXAu Ci0KLVNpZ25lZC1vZmYtYnk6IFR5bXVyIEJvaWtvIDx0Ym9pa29AbnZpZGlhLmNvbT4KLS0tLQot IGxpYmF2Y29kZWMvdnVsa2FuX2RlY29kZS5jICAgfCAgMzYgKysrKystLQotIGxpYmF2dXRpbC9o d2NvbnRleHRfdnVsa2FuLmMgfCAxOTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0KLSAyIGZpbGVzIGNoYW5nZWQsIDIwMSBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnVsa2FuX2RlY29kZS5jIGIvbGliYXZjb2RlYy92 dWxrYW5fZGVjb2RlLmMKLWluZGV4IDlhYjhkNDVhYTkuLmFmY2E2MmIzMDQgMTAwNjQ0Ci0tLS0g YS9saWJhdmNvZGVjL3Z1bGthbl9kZWNvZGUuYwotKysrIGIvbGliYXZjb2RlYy92dWxrYW5fZGVj b2RlLmMKLUBAIC0yMzMsNyArMjMzLDggQEAgaW50IGZmX3ZrX2RlY29kZV9wcmVwYXJlX2ZyYW1l KEZGVnVsa2FuRGVjb2RlQ29udGV4dCAqZGVjLCBBVkZyYW1lICpwaWMsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoQVZWa0ZyYW1lICopcGljLT5kYXRhWzBdLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaHdmYy0+Zm9ybWF0WzBdLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgVktfSU1BR0VfVVNBR0VfVklERU9fREVDT0RFX0RTVF9CSVRfS0hS IHwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICghaXNfY3VycmVudCA/IFZLX0lN QUdFX1VTQUdFX1ZJREVPX0RFQ09ERV9EUEJfQklUX0tIUiA6IDApKTsKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChod2ZjLT51c2FnZSAmIFZLX0lNQUdFX1VTQUdFX1ZJREVPX0RF Q09ERV9EUEJfQklUX0tIUikpOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g dGhlIGFib3ZlIGZpeGVzIFZVSUQtVmtWaWRlb0JlZ2luQ29kaW5nSW5mb0tIUi1zbG90SW5kZXgt MDcyNDUKLSAgICAgICAgIGlmIChlcnIgPCAwKQotICAgICAgICAgICAgIHJldHVybiBlcnI7Ci0g Ci1AQCAtMzM1LDEyICszMzYsMjEgQEAgaW50IGZmX3ZrX2RlY29kZV9hZGRfc2xpY2UoQVZDb2Rl Y0NvbnRleHQgKmF2Y3R4LCBGRlZ1bGthbkRlY29kZVBpY3R1cmUgKnZwLAotICAgICAgICAgICog ZWFzaWVyLCBhbmQgZ2l2ZXMgdXMgYW1wbGUgaGVhZHJvb20uICovCi0gICAgICAgICBidWZfc2l6 ZSA9IDIgPDwgYXZfbG9nMihidWZfc2l6ZSk7Ci0gCi0rICAgICAgICAvKiBXaGVuIHRoZSBmcmFt ZXMgY29udGV4dCB1c2VzIERSTSBtb2RpZmllciB0aWxpbmcsCi0rICAgICAgICAgKiBod2N0eC0+ Y3JlYXRlX3BuZXh0IGNvbnRhaW5zIFZrSW1hZ2VEcm1Gb3JtYXRNb2RpZmllckxpc3RDcmVhdGVJ bmZvRVhULAotKyAgICAgICAgICogd2hpY2ggcGVyIHNwZWMgZG9lcyBub3QgZXh0ZW5kIFZrQnVm ZmVyQ3JlYXRlSW5mbywgc28gd2UgbmVlZCB0byBmaW5kCi0rICAgICAgICAgKiB0aGUgVmtWaWRl b1Byb2ZpbGVMaXN0SW5mb0tIUiBzdHJ1Y3R1cmUgd2l0aGluIGl0LiAqLwotKyAgICAgICAgdm9p ZCAqYnVmX3BuZXh0ID0gY3R4LT5zLmh3ZmMtPmNyZWF0ZV9wbmV4dDsKLSsgICAgICAgIGlmIChj dHgtPnMuaHdmYy0+dGlsaW5nID09IFZLX0lNQUdFX1RJTElOR19EUk1fRk9STUFUX01PRElGSUVS X0VYVCkKLSsgICAgICAgICAgICBidWZfcG5leHQgPSAodm9pZCAqKWZmX3ZrX2ZpbmRfc3RydWN0 KGN0eC0+cy5od2ZjLT5jcmVhdGVfcG5leHQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBWS19TVFJVQ1RVUkVfVFlQRV9WSURFT19QUk9GSUxFX0xJ U1RfSU5GT19LSFIpOwotKwotICAgICAgICAgZXJyID0gZmZfdmtfZ2V0X3Bvb2xlZF9idWZmZXIo JmN0eC0+cywgJmN0eC0+YnVmX3Bvb2wsICZuZXdfcmVmLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgREVDT0RFUl9JU19TRFIoYXZjdHgtPmNvZGVjX2lkKSA/Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVktfQlVGRkVSX1VTQUdFX1NUT1JB R0VfQlVGRkVSX0JJVCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg VktfQlVGRkVSX1VTQUdFX1NIQURFUl9ERVZJQ0VfQUREUkVTU19CSVQpIDoKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX0JVRkZFUl9VU0FHRV9WSURFT19ERUNPREVf U1JDX0JJVF9LSFIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgt PnMuaHdmYy0+Y3JlYXRlX3BuZXh0LCBidWZfc2l6ZSwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJ1Zl9wbmV4dCwgYnVmX3NpemUsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBWS19NRU1PUllfUFJPUEVSVFlfSE9TVF9WSVNJQkxFX0JJVCB8 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoREVDT0RFUl9JU19TRFIo YXZjdHgtPmNvZGVjX2lkKSA/Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVktfTUVNT1JZX1BST1BFUlRZX0RFVklDRV9MT0NBTF9CSVQgOiAweDApKTsKLUBAIC0xMjE3 LDcgKzEyMjcsOSBAQCBpbnQgZmZfdmtfZnJhbWVfcGFyYW1zKEFWQ29kZWNDb250ZXh0ICphdmN0 eCwgQVZCdWZmZXJSZWYgKmh3X2ZyYW1lc19jdHgpCi0gICAgICAgICB9Ci0gICAgIH0KLSAKLS0g ICAgaHdmYy0+dGlsaW5nID0gVktfSU1BR0VfVElMSU5HX09QVElNQUw7Ci0rICAgIGlmIChod2Zj LT50aWxpbmcgIT0gVktfSU1BR0VfVElMSU5HX0RSTV9GT1JNQVRfTU9ESUZJRVJfRVhUKQotKyAg ICAgICAgaHdmYy0+dGlsaW5nID0gVktfSU1BR0VfVElMSU5HX09QVElNQUw7Ci0rCi0gICAgIGh3 ZmMtPnVzYWdlICA9IFZLX0lNQUdFX1VTQUdFX1RSQU5TRkVSX1NSQ19CSVQgfAotICAgICAgICAg ICAgICAgICAgICBWS19JTUFHRV9VU0FHRV9TVE9SQUdFX0JJVCAgICAgIHwKLSAgICAgICAgICAg ICAgICAgICAgVktfSU1BR0VfVVNBR0VfU0FNUExFRF9CSVQ7Ci1AQCAtMTM4MiwxMCArMTM5NCwy MiBAQCBpbnQgZmZfdmtfZGVjb2RlX2luaXQoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQotICAgICAg ICAgZHBiX2ZyYW1lcy0+aGVpZ2h0ICAgID0gcy0+ZnJhbWVzLT5oZWlnaHQ7Ci0gCi0gICAgICAg ICBkcGJfaHdmYyA9IGRwYl9mcmFtZXMtPmh3Y3R4OwotLSAgICAgICAgZHBiX2h3ZmMtPmNyZWF0 ZV9wbmV4dCA9ICh2b2lkICopZmZfdmtfZmluZF9zdHJ1Y3QoY3R4LT5zLmh3ZmMtPmNyZWF0ZV9w bmV4dCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFZLX1NUUlVDVFVSRV9UWVBFX1ZJREVPX1BST0ZJTEVfTElTVF9JTkZPX0tIUik7 Ci0rICAgICAgICB2b2lkICpwcm9maWxlX2xpc3QgPSAodm9pZCAqKWZmX3ZrX2ZpbmRfc3RydWN0 KGN0eC0+cy5od2ZjLT5jcmVhdGVfcG5leHQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX1NUUlVDVFVSRV9UWVBFX1ZJREVPX1BST0ZJ TEVfTElTVF9JTkZPX0tIUik7Ci0rICAgICAgICAvKiBSZWZlcmVuY2UgKERQQikgaW1hZ2VzIHVz ZSB0aGUgc2FtZSB0aWxpbmcgYW5kIHBOZXh0IGNoYWluIGFzIG91dHB1dC4KLSsgICAgICAgICAq IElmIFZLX1ZJREVPX0RFQ09ERV9DQVBBQklMSVRZX0RQQl9BTkRfT1VUUFVUX0RJU1RJTkNUX0JJ VF9LSFIgaXMgMCwgdGhlCi0rICAgICAgICAgKiBkcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCBzZXBh cmF0ZSBvdXRwdXQgYW5kIERQQiB3aXRoIGRpZmZlcmVudCBsYXlvdXRzL3RpbGluZy4gKi8KLSsg ICAgICAgIHZvaWQgKmRybV9jcmVhdGVfcG5leHQgPSBmZl92a19maW5kX3N0cnVjdChjdHgtPnMu aHdmYy0+Y3JlYXRlX3BuZXh0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFZLX1NUUlVDVFVSRV9UWVBFX0lNQUdFX0RSTV9GT1JNQVRfTU9ESUZJ RVJfTElTVF9DUkVBVEVfSU5GT19FWFQpOwotKyAgICAgICAgaWYgKGRybV9jcmVhdGVfcG5leHQp IHsKLSsgICAgICAgICAgICBkcGJfaHdmYy0+Y3JlYXRlX3BuZXh0ID0gZHJtX2NyZWF0ZV9wbmV4 dDsKLSsgICAgICAgICAgICBkcGJfaHdmYy0+dGlsaW5nICAgICAgID0gVktfSU1BR0VfVElMSU5H X0RSTV9GT1JNQVRfTU9ESUZJRVJfRVhUOwotKyAgICAgICAgICAgIGF2X2Fzc2VydDIoZmZfdmtf ZmluZF9zdHJ1Y3QoZHJtX2NyZWF0ZV9wbmV4dCwgVktfU1RSVUNUVVJFX1RZUEVfVklERU9fUFJP RklMRV9MSVNUX0lORk9fS0hSKSk7Ci0rICAgICAgICB9IGVsc2UgewotKyAgICAgICAgICAgIGRw Yl9od2ZjLT5jcmVhdGVfcG5leHQgPSBwcm9maWxlX2xpc3Q7Ci0rICAgICAgICAgICAgZHBiX2h3 ZmMtPnRpbGluZyAgICAgICA9IFZLX0lNQUdFX1RJTElOR19PUFRJTUFMOwotKyAgICAgICAgfQot ICAgICAgICAgZHBiX2h3ZmMtPmZvcm1hdFswXSAgICA9IHMtPmh3ZmMtPmZvcm1hdFswXTsKLS0g ICAgICAgIGRwYl9od2ZjLT50aWxpbmcgICAgICAgPSBWS19JTUFHRV9USUxJTkdfT1BUSU1BTDsK LSAgICAgICAgIGRwYl9od2ZjLT51c2FnZSAgICAgICAgPSBWS19JTUFHRV9VU0FHRV9WSURFT19E RUNPREVfRFBCX0JJVF9LSFI7Ci0gCi0gICAgICAgICBpZiAoY3R4LT5jb21tb24ubGF5ZXJlZF9k cGIpCi1kaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2h3Y29udGV4dF92dWxrYW4uYyBiL2xpYmF2dXRp bC9od2NvbnRleHRfdnVsa2FuLmMKLWluZGV4IGJkYWRhNzhjMmIuLjg4OGNjMzk1MzAgMTAwNjQ0 Ci0tLS0gYS9saWJhdnV0aWwvaHdjb250ZXh0X3Z1bGthbi5jCi0rKysgYi9saWJhdnV0aWwvaHdj b250ZXh0X3Z1bGthbi5jCi1AQCAtMTkwLDExICsxOTAsMTggQEAgdHlwZWRlZiBzdHJ1Y3QgVnVs a2FuRnJhbWVzUHJpdiB7Ci0gCi0gICAgIC8qIFByb3BlcnRpZXMgZm9yIERSTSBtb2RpZmllciBm b3IgZWFjaCBwbGFuZSBpbiB0aGUgaW1hZ2UgKi8KLSAgICAgVmtEcm1Gb3JtYXRNb2RpZmllclBy b3BlcnRpZXNFWFQgZHJtX2Zvcm1hdF9tb2RpZmllcl9wcm9wZXJ0aWVzWzVdOwotKwotKyAgICAv KiBTZXQgd2hlbiBwaHlzaWNhbCBkZXZpY2UgcmVwb3J0cyBERURJQ0FURURfT05MWSBmb3IgRE1B LUJVRiBleHBvcnQgKHRyeV9leHBvcnRfZmxhZ3MpICovCi0rICAgIGludCBleHBvcnRfcmVxdWly ZXNfZGVkaWNhdGVkOwotIH0gVnVsa2FuRnJhbWVzUHJpdjsKLSAKLSB0eXBlZGVmIHN0cnVjdCBB VlZrRnJhbWVJbnRlcm5hbCB7Ci0gICAgIHB0aHJlYWRfbXV0ZXhfdCB1cGRhdGVfbXV0ZXg7Ci0g Ci0rICAgIC8qIEJpbmFyeSBzZW1hcGhvcmUgZm9yIFNZTkNfRkQgZXhwb3J0IGF0IERSTSBtYXAg dGltZS4gQ3JlYXRlZCBvbmNlIGxhemlseSwKLSsgICAgICogcmUtc2lnbmFsZWQgZWFjaCB0aW1l IHZpYSBhIHN1Ym1pdCBpbiB2dWxrYW5fbWFwX3RvX2RybS4gKi8KLSsgICAgVmtTZW1hcGhvcmUg ZHJtX3N5bmNfc2VtOwotKwotICNpZiBDT05GSUdfQ1VEQQotICAgICAvKiBJbXBvcnRpbmcgZXh0 ZXJuYWwgbWVtb3J5IGludG8gY3VkYSBpcyByZWFsbHkgZXhwZW5zaXZlIHNvIHdlIGtlZXAgdGhl Ci0gICAgICAqIG1lbW9yeSBpbXBvcnRlZCBhbGwgdGhlIHRpbWUgKi8KLUBAIC0yMzY5LDcgKzIz NzYsNyBAQCBzdGF0aWMgaW50IGFsbG9jX21lbShBVkhXRGV2aWNlQ29udGV4dCAqY3R4LCBWa01l bW9yeVJlcXVpcmVtZW50cyAqcmVxLAotICAgICByZXR1cm4gMDsKLSB9Ci0gCi0tc3RhdGljIHZv aWQgdnVsa2FuX2ZyZWVfaW50ZXJuYWwoQVZWa0ZyYW1lICpmKQotK3N0YXRpYyB2b2lkIHZ1bGth bl9mcmVlX2ludGVybmFsKFZ1bGthbkRldmljZVByaXYgKnAsIEFWVmtGcmFtZSAqZikKLSB7Ci0g ICAgIGF2X3VudXNlZCBBVlZrRnJhbWVJbnRlcm5hbCAqaW50ZXJuYWwgPSBmLT5pbnRlcm5hbDsK LSAKLUBAIC0yNDAxLDYgKzI0MDgsMTAgQEAgc3RhdGljIHZvaWQgdnVsa2FuX2ZyZWVfaW50ZXJu YWwoQVZWa0ZyYW1lICpmKQotICAgICB9Ci0gI2VuZGlmCi0gCi0rICAgIGlmIChpbnRlcm5hbC0+ ZHJtX3N5bmNfc2VtICE9IFZLX05VTExfSEFORExFKQotKyAgICAgICAgcC0+dmtjdHgudmtmbi5E ZXN0cm95U2VtYXBob3JlKHAtPnAuYWN0X2RldiwgaW50ZXJuYWwtPmRybV9zeW5jX3NlbSwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcC0+cC5hbGxvYyk7Ci0rCi0g ICAgIHB0aHJlYWRfbXV0ZXhfZGVzdHJveSgmaW50ZXJuYWwtPnVwZGF0ZV9tdXRleCk7Ci0gICAg IGF2X2ZyZWVwKCZmLT5pbnRlcm5hbCk7Ci0gfQotQEAgLTI0MjgsNyArMjQzOSw3IEBAIHN0YXRp YyB2b2lkIHZ1bGthbl9mcmFtZV9mcmVlKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVlZrRnJh bWUgKmYpCi0gICAgICAgICB2ay0+V2FpdFNlbWFwaG9yZXMoaHdjdHgtPmFjdF9kZXYsICZzZW1f d2FpdCwgVUlOVDY0X01BWCk7Ci0gICAgIH0KLSAKLS0gICAgdnVsa2FuX2ZyZWVfaW50ZXJuYWwo Zik7Ci0rICAgIHZ1bGthbl9mcmVlX2ludGVybmFsKHAsIGYpOwotIAotICAgICBmb3IgKGludCBp ID0gMDsgaSA8IG5iX2ltYWdlczsgaSsrKSB7Ci0gICAgICAgICB2ay0+RGVzdHJveUltYWdlKGh3 Y3R4LT5hY3RfZGV2LCAgICAgZi0+aW1nW2ldLCBod2N0eC0+YWxsb2MpOwotQEAgLTI0NzUsNiAr MjQ4NiwxMCBAQCBzdGF0aWMgaW50IGFsbG9jX2JpbmRfbWVtKEFWSFdGcmFtZXNDb250ZXh0ICpo d2ZjLCBBVlZrRnJhbWUgKmYsCi0gCi0gICAgICAgICB2ay0+R2V0SW1hZ2VNZW1vcnlSZXF1aXJl bWVudHMyKGh3Y3R4LT5hY3RfZGV2LCAmcmVxX2Rlc2MsICZyZXEpOwotIAotKyAgICAgICAgYXZf bG9nKGh3ZmMsIEFWX0xPR19UUkFDRSwKLSsgICAgICAgICAgICAgICAicGxhbmUgJWQ6IGRyaXZl ciByZXBvcnRzIHByZWZlcnNEZWRpY2F0ZWRBbGxvY2F0aW9uPSVpIHJlcXVpcmVzRGVkaWNhdGVk QWxsb2NhdGlvbj0laVxuIiwKLSsgICAgICAgICAgICAgICBpbWdfY250LCBkZWRfcmVxLnByZWZl cnNEZWRpY2F0ZWRBbGxvY2F0aW9uLCBkZWRfcmVxLnJlcXVpcmVzRGVkaWNhdGVkQWxsb2NhdGlv bik7Ci0rCi0gICAgICAgICBpZiAoZi0+dGlsaW5nID09IFZLX0lNQUdFX1RJTElOR19MSU5FQVIp Ci0gICAgICAgICAgICAgcmVxLm1lbW9yeVJlcXVpcmVtZW50cy5zaXplID0gRkZBTElHTihyZXEu bWVtb3J5UmVxdWlyZW1lbnRzLnNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwLT5wcm9wcy5wcm9wZXJ0aWVzLmxpbWl0cy5taW5NZW1vcnlN YXBBbGlnbm1lbnQpOwotQEAgLTI0ODIsNiArMjQ5Nyw4IEBAIHN0YXRpYyBpbnQgYWxsb2NfYmlu ZF9tZW0oQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsIEFWVmtGcmFtZSAqZiwKLSAgICAgICAgIC8q IEluIGNhc2UgdGhlIGltcGxlbWVudGF0aW9uIHByZWZlcnMvcmVxdWlyZXMgZGVkaWNhdGVkIGFs bG9jYXRpb24gKi8KLSAgICAgICAgIHVzZV9kZWRfbWVtID0gZGVkX3JlcS5wcmVmZXJzRGVkaWNh dGVkQWxsb2NhdGlvbiB8Ci0gICAgICAgICAgICAgICAgICAgICAgIGRlZF9yZXEucmVxdWlyZXNE ZWRpY2F0ZWRBbGxvY2F0aW9uOwotKyAgICAgICAgaWYgKCgoVnVsa2FuRnJhbWVzUHJpdiAqKWh3 ZmMtPmh3Y3R4KS0+ZXhwb3J0X3JlcXVpcmVzX2RlZGljYXRlZCkKLSsgICAgICAgICAgICB1c2Vf ZGVkX21lbSA9IDE7Ci0gICAgICAgICBpZiAodXNlX2RlZF9tZW0pCi0gICAgICAgICAgICAgZGVk X2FsbG9jLmltYWdlID0gZi0+aW1nW2ltZ19jbnRdOwotIAotQEAgLTI4NTMsNyArMjg3MCw4IEBA IHN0YXRpYyB2b2lkIHRyeV9leHBvcnRfZmxhZ3MoQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsCi0g ICAgICAgICAudHlwZSAgID0gVktfSU1BR0VfVFlQRV8yRCwKLSAgICAgICAgIC50aWxpbmcgPSBo d2N0eC0+dGlsaW5nLAotICAgICAgICAgLnVzYWdlICA9IGh3Y3R4LT51c2FnZSwKLS0gICAgICAg IC5mbGFncyAgPSBWS19JTUFHRV9DUkVBVEVfQUxJQVNfQklULAotKyAgICAgICAgLmZsYWdzICA9 IChod2N0eC0+dGlsaW5nID09IFZLX0lNQUdFX1RJTElOR19EUk1fRk9STUFUX01PRElGSUVSX0VY VCAmJiBoYXNfbW9kcykgPwotKyAgICAgICAgICAgICAgICAgIChod2N0eC0+aW1nX2ZsYWdzKSA6 IChWa0ltYWdlQ3JlYXRlRmxhZ3MpKFZLX0lNQUdFX0NSRUFURV9BTElBU19CSVQpLAotICAgICB9 OwotIAotICAgICBuYl9tb2RzID0gaGFzX21vZHMgPyBkcm1fbW9kX2luZm8tPmRybUZvcm1hdE1v ZGlmaWVyQ291bnQgOiAxOwotQEAgLTI4NjQsOSArMjg4MiwxNyBAQCBzdGF0aWMgdm9pZCB0cnlf ZXhwb3J0X2ZsYWdzKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLAotICAgICAgICAgcmV0ID0gdmst PkdldFBoeXNpY2FsRGV2aWNlSW1hZ2VGb3JtYXRQcm9wZXJ0aWVzMihkZXZfaHdjdHgtPnBoeXNf ZGV2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJnBpbmZvLCAmcHJvcHMpOwotIAotKyAgICAgICAgYXZfbG9nKGh3ZmMsIEFWX0xPR19W RVJCT1NFLCAiR2V0UGh5c2ljYWxEZXZpY2VJbWFnZUZvcm1hdFByb3BlcnRpZXMyOiBtb2RbJWRd PTB4JWxseCAtPiAlc1xuIiwKLSsgICAgICAgICAgICAgICBpLCBoYXNfbW9kcyA/ICh1bnNpZ25l ZCBsb25nIGxvbmcpcGh5X2Rldl9tb2RfaW5mby5kcm1Gb3JtYXRNb2RpZmllciA6IDBVTEwsCi0r ICAgICAgICAgICAgICAgcmV0ID09IFZLX1NVQ0NFU1MgPyAiT0siIDogIkZBSUwiKTsKLSAgICAg ICAgIGlmIChyZXQgPT0gVktfU1VDQ0VTUykgewotICAgICAgICAgICAgICppZXhwIHw9IGV4cDsK LSAgICAgICAgICAgICAqY29tcF9oYW5kbGVfdHlwZXMgfD0gZXByb3BzLmV4dGVybmFsTWVtb3J5 UHJvcGVydGllcy5jb21wYXRpYmxlSGFuZGxlVHlwZXM7Ci0rICAgICAgICAgICAgaWYgKGV4cCA9 PSBWS19FWFRFUk5BTF9NRU1PUllfSEFORExFX1RZUEVfRE1BX0JVRl9CSVRfRVhUKSB7Ci0rICAg ICAgICAgICAgICAgIFZ1bGthbkZyYW1lc1ByaXYgKmZwID0gaHdmYy0+aHdjdHg7Ci0rICAgICAg ICAgICAgICAgIGZwLT5leHBvcnRfcmVxdWlyZXNfZGVkaWNhdGVkID0gISEoZXByb3BzLmV4dGVy bmFsTWVtb3J5UHJvcGVydGllcy5leHRlcm5hbE1lbW9yeUZlYXR1cmVzICYKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX0VYVEVSTkFMX01FTU9S WV9GRUFUVVJFX0RFRElDQVRFRF9PTkxZX0JJVCk7Ci0rICAgICAgICAgICAgfQotICAgICAgICAg fQotICAgICB9Ci0gfQotQEAgLTI4OTQsNyArMjkyMCw4IEBAIHN0YXRpYyBBVkJ1ZmZlclJlZiAq dnVsa2FuX3Bvb2xfYWxsb2Modm9pZCAqb3BhcXVlLCBzaXplX3Qgc2l6ZSkKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgID8gVktfRVhURVJOQUxfTUVNT1JZX0hBTkRMRV9UWVBFX09QQVFV RV9XSU4zMl9CSVQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogVktfRVhURVJOQUxf TUVNT1JZX0hBTkRMRV9UWVBFX09QQVFVRV9XSU4zMl9LTVRfQklUKTsKLSAjZWxzZQotLSAgICBp ZiAocC0+dmtjdHguZXh0ZW5zaW9ucyAmIEZGX1ZLX0VYVF9FWFRFUk5BTF9GRF9NRU1PUlkpCi0r ICAgIGlmICgocC0+dmtjdHguZXh0ZW5zaW9ucyAmIEZGX1ZLX0VYVF9FWFRFUk5BTF9GRF9NRU1P UlkpICYmCi0rICAgICAgICAoaHdjdHgtPnRpbGluZyAhPSBWS19JTUFHRV9USUxJTkdfRFJNX0ZP Uk1BVF9NT0RJRklFUl9FWFQpKQotICAgICAgICAgdHJ5X2V4cG9ydF9mbGFncyhod2ZjLCAmZWlp bmZvLmhhbmRsZVR5cGVzLCAmZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgVktfRVhURVJO QUxfTUVNT1JZX0hBTkRMRV9UWVBFX09QQVFVRV9GRF9CSVQpOwotIAotQEAgLTI5MTMsOCArMjk0 MCwxMCBAQCBzdGF0aWMgQVZCdWZmZXJSZWYgKnZ1bGthbl9wb29sX2FsbG9jKHZvaWQgKm9wYXF1 ZSwgc2l6ZV90IHNpemUpCi0gICAgIGVyciA9IGNyZWF0ZV9mcmFtZShod2ZjLCAmZiwgaHdjdHgt PnRpbGluZywgaHdjdHgtPnVzYWdlLCBod2N0eC0+aW1nX2ZsYWdzLAotICAgICAgICAgICAgICAg ICAgICAgICAgaHdjdHgtPm5iX2xheWVycywKLSAgICAgICAgICAgICAgICAgICAgICAgIGVpaW5m by5oYW5kbGVUeXBlcyA/ICZlaWluZm8gOiBod2N0eC0+Y3JlYXRlX3BuZXh0KTsKLS0gICAgaWYg KGVycikKLSsgICAgaWYgKGVycikgewotKyAgICAgICAgYXZfbG9nKGh3ZmMsIEFWX0xPR19FUlJP UiwgInZ1bGthbl9wb29sX2FsbG9jIGZhaWxlZDogY3JlYXRlX2ZyYW1lIGZhaWxlZDogJWRcbiIs IGVycik7Ci0gICAgICAgICByZXR1cm4gTlVMTDsKLSsgICAgfQotIAotICAgICBlcnIgPSBhbGxv Y19iaW5kX21lbShod2ZjLCBmLCBlbWluZm8sIHNpemVvZigqZW1pbmZvKSk7Ci0gICAgIGlmIChl cnIpCi1AQCAtMjk0Miw2ICsyOTcxLDcgQEAgc3RhdGljIEFWQnVmZmVyUmVmICp2dWxrYW5fcG9v bF9hbGxvYyh2b2lkICpvcGFxdWUsIHNpemVfdCBzaXplKQotICAgICByZXR1cm4gYXZidWY7Ci0g Ci0gZmFpbDoKLSsgICAgYXZfbG9nKGh3ZmMsIEFWX0xPR19FUlJPUiwgInZ1bGthbl9wb29sX2Fs bG9jIGZhaWxlZCB3aXRoIGVycm9yICVkXG4iLCBlcnIpOwotICAgICB2dWxrYW5fZnJhbWVfZnJl ZShod2ZjLCBmKTsKLSAgICAgcmV0dXJuIE5VTEw7Ci0gfQotQEAgLTMwNDMsNyArMzA3MywxNCBA QCBzdGF0aWMgaW50IHZ1bGthbl9mcmFtZXNfaW5pdChBVkhXRnJhbWVzQ29udGV4dCAqaHdmYykK LSAgICAgfQotIAotICAgICAvKiBMb25lIERQQiBpbWFnZXMgZG8gbm90IG5lZWQgYWRkaXRpb25h bCBmbGFncy4gKi8KLS0gICAgaWYgKCFpc19sb25lX2RwYikgewotKyAgICAvKiBXaXRoIERSTSBt b2RpZmllciArIHZpZGVvIHByb2ZpbGUgdGhlIGNhbGxlciBoYXMgYWxyZWFkeSBjaG9zZW4gYSB2 YWxpZAotKyAgICAgKiB1c2FnZS9pbWdfZmxhZ3MvY2hhaW47IGRvIG5vdCBhZGQgdXNhZ2Ugb3Ig aW1nX2ZsYWdzIChzdXBwb3J0ZWRfdXNhZ2UgZG9lcwotKyAgICAgKiBub3QgY29uc2lkZXIgdGhl IGFjdHVhbCBtb2RpZmllciBvciB2aWRlbyBwcm9maWxlKS4gKi8KLSsgICAgaW50IGRybV9tb2Rf d2l0aF92aWRlbyA9IChod2N0eC0+dGlsaW5nID09IFZLX0lNQUdFX1RJTElOR19EUk1fRk9STUFU X01PRElGSUVSX0VYVCAmJgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZmX3ZrX2Zp bmRfc3RydWN0KGh3Y3R4LT5jcmVhdGVfcG5leHQsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgVktfU1RSVUNUVVJFX1RZUEVfVklERU9fUFJPRklMRV9M SVNUX0lORk9fS0hSKSk7Ci0rCi0rICAgIGlmICghaXNfbG9uZV9kcGIgJiYgIWRybV9tb2Rfd2l0 aF92aWRlbykgewotICAgICAgICAgLyogSW1hZ2UgdXNhZ2UgZmxhZ3MgKi8KLSAgICAgICAgIGh3 Y3R4LT51c2FnZSB8PSBzdXBwb3J0ZWRfdXNhZ2UgJiAoVktfSU1BR0VfVVNBR0VfVFJBTlNGRVJf RFNUX0JJVCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZL X0lNQUdFX1VTQUdFX1RSQU5TRkVSX1NSQ19CSVQgfAotQEAgLTM5NjgsNyArNDAwNSw3IEBAIHN0 YXRpYyBpbnQgdnVsa2FuX2V4cG9ydF90b19jdWRhKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLAot ICAgICByZXR1cm4gMDsKLSAKLSBmYWlsOgotLSAgICB2dWxrYW5fZnJlZV9pbnRlcm5hbChkc3Rf Zik7Ci0rICAgIHZ1bGthbl9mcmVlX2ludGVybmFsKHAsIGRzdF9mKTsKLSAgICAgcmV0dXJuIGVy cjsKLSB9Ci0gCi1AQCAtMzk3OSw2ICs0MDE2LDcgQEAgc3RhdGljIGludCB2dWxrYW5fdHJhbnNm ZXJfZGF0YV9mcm9tX2N1ZGEoQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsCi0gICAgIENVY29udGV4 dCBkdW1teTsKLSAgICAgQVZWa0ZyYW1lICpkc3RfZjsKLSAgICAgQVZWa0ZyYW1lSW50ZXJuYWwg KmRzdF9pbnQ7Ci0rICAgIFZ1bGthbkRldmljZVByaXYgKnAgPSBod2ZjLT5kZXZpY2VfY3R4LT5o d2N0eDsKLSAgICAgVnVsa2FuRnJhbWVzUHJpdiAqZnAgPSBod2ZjLT5od2N0eDsKLSAgICAgY29u c3QgaW50IHBsYW5lcyA9IGF2X3BpeF9mbXRfY291bnRfcGxhbmVzKGh3ZmMtPnN3X2Zvcm1hdCk7 Ci0gICAgIGNvbnN0IEFWUGl4Rm10RGVzY3JpcHRvciAqZGVzYyA9IGF2X3BpeF9mbXRfZGVzY19n ZXQoaHdmYy0+c3dfZm9ybWF0KTsKLUBAIC00MDU3LDcgKzQwOTUsNyBAQCBzdGF0aWMgaW50IHZ1 bGthbl90cmFuc2Zlcl9kYXRhX2Zyb21fY3VkYShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywKLSAK LSBmYWlsOgotICAgICBDSEVDS19DVShjdS0+Y3VDdHhQb3BDdXJyZW50KCZkdW1teSkpOwotLSAg ICB2dWxrYW5fZnJlZV9pbnRlcm5hbChkc3RfZik7Ci0rICAgIHZ1bGthbl9mcmVlX2ludGVybmFs KHAsIGRzdF9mKTsKLSAgICAgYXZfYnVmZmVyX3VucmVmKCZkc3QtPmJ1ZlswXSk7Ci0gICAgIHJl dHVybiBlcnI7Ci0gfQotQEAgLTQxMjcsNiArNDE2NSw3MiBAQCBzdGF0aWMgVmtJbWFnZUFzcGVj dEZsYWdzIHBsYW5lX2luZGV4X3RvX2FzcGVjdChpbnQgcGxhbmUpIHsKLSAgICAgcmV0dXJuIFZL X0lNQUdFX0FTUEVDVF9NRU1PUllfUExBTkVfMF9CSVRfRVhUOwotIH0KLSAKLSsjaWZkZWYgRE1B X0JVRl9JT0NUTF9FWFBPUlRfU1lOQ19GSUxFCi0rc3RhdGljIGludCB2dWxrYW5fZHJtX2V4cG9y dF9zeW5jX2ZkKEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVlZrRnJhbWUgKmYsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZ1bGthbkZyYW1lc1ByaXYgKmZwLCBpbnQg bmJfc2VtcykKLSt7Ci0rICAgIGludCBzeW5jX2ZkID0gLTE7Ci0rICAgIFZrUmVzdWx0IHJldDsK LSsgICAgVnVsa2FuRGV2aWNlUHJpdiAqcCA9IGh3ZmMtPmRldmljZV9jdHgtPmh3Y3R4OwotKyAg ICBBVlZ1bGthbkRldmljZUNvbnRleHQgKmh3Y3R4ID0gJnAtPnA7Ci0rICAgIEZGVnVsa2FuRnVu Y3Rpb25zICp2ayA9ICZwLT52a2N0eC52a2ZuOwotKwotKyAgICBpZiAoZi0+aW50ZXJuYWwtPmRy bV9zeW5jX3NlbSA9PSBWS19OVUxMX0hBTkRMRSkgewotKyAgICAgICAgVmtFeHBvcnRTZW1hcGhv cmVDcmVhdGVJbmZvIGV4cF9pbmZvID0gewotKyAgICAgICAgICAgIC5zVHlwZSAgICAgICA9IFZL X1NUUlVDVFVSRV9UWVBFX0VYUE9SVF9TRU1BUEhPUkVfQ1JFQVRFX0lORk8sCi0rICAgICAgICAg ICAgLmhhbmRsZVR5cGVzID0gVktfRVhURVJOQUxfU0VNQVBIT1JFX0hBTkRMRV9UWVBFX1NZTkNf RkRfQklULAotKyAgICAgICAgfTsKLSsgICAgICAgIFZrU2VtYXBob3JlVHlwZUNyZWF0ZUluZm8g dHlwZV9pbmZvID0gewotKyAgICAgICAgICAgIC5zVHlwZSAgICAgICAgID0gVktfU1RSVUNUVVJF X1RZUEVfU0VNQVBIT1JFX1RZUEVfQ1JFQVRFX0lORk8sCi0rICAgICAgICAgICAgLnBOZXh0ICAg ICAgICAgPSAmZXhwX2luZm8sCi0rICAgICAgICAgICAgLnNlbWFwaG9yZVR5cGUgPSBWS19TRU1B UEhPUkVfVFlQRV9CSU5BUlksCi0rICAgICAgICB9OwotKyAgICAgICAgVmtTZW1hcGhvcmVDcmVh dGVJbmZvIHNlbV9jcmVhdGUgPSB7Ci0rICAgICAgICAgICAgLnNUeXBlID0gVktfU1RSVUNUVVJF X1RZUEVfU0VNQVBIT1JFX0NSRUFURV9JTkZPLAotKyAgICAgICAgICAgIC5wTmV4dCA9ICZ0eXBl X2luZm8sCi0rICAgICAgICB9OwotKyAgICAgICAgcmV0ID0gdmstPkNyZWF0ZVNlbWFwaG9yZSho d2N0eC0+YWN0X2RldiwgJnNlbV9jcmVhdGUsIGh3Y3R4LT5hbGxvYywKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmYtPmludGVybmFsLT5kcm1fc3luY19zZW0pOwotKyAgICAg ICAgaWYgKHJldCAhPSBWS19TVUNDRVNTKSB7Ci0rICAgICAgICAgICAgYXZfbG9nKGh3Y3R4LCBB Vl9MT0dfRVJST1IsICJGYWlsZWQgdG8gY3JlYXRlIERSTSBleHBvcnQgc2VtYXBob3JlOiAlc1xu IiwKLSsgICAgICAgICAgICAgICAgICAgZmZfdmtfcmV0MnN0cihyZXQpKTsKLSsgICAgICAgICAg ICByZXR1cm4gQVZFUlJPUl9FWFRFUk5BTDsKLSsgICAgICAgIH0KLSsgICAgfQotKwotKyAgICAv KiBTdWJtaXQgYSBsaWdodHdlaWdodCBleGVjIHRoYXQgd2FpdHMgb24gdGhlIHRpbWVsaW5lIHNl bWFwaG9yZQotKyAgICAgKiAodHJ1ZSBsYXN0IG9wZXJhdGlvbiBvbiB0aGUgZnJhbWUpIGFuZCBz aWduYWxzIHRoZSBiaW5hcnkgc2VtYXBob3JlLAotKyAgICAgKiBzbyBhbnkgVnVsa2FuIGZyYW1l IGNhbiBnZXQgYSBTWU5DX0ZEIHJlZ2FyZGxlc3Mgb2Ygb3JpZ2luLiAqLwotKyAgICBGRlZrRXhl Y0NvbnRleHQgKmV4ZWMgPSBmZl92a19leGVjX2dldCgmcC0+dmtjdHgsICZmcC0+Y29tcHV0ZV9l eGVjKTsKLSsgICAgaWYgKGZmX3ZrX2V4ZWNfc3RhcnQoJnAtPnZrY3R4LCBleGVjKSA+PSAwKSB7 Ci0rICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG5iX3NlbXM7IGkrKykKLSsgICAgICAgICAg ICBmZl92a19leGVjX2FkZF9kZXBfd2FpdF9zZW0oJnAtPnZrY3R4LCBleGVjLCBmLT5zZW1baV0s Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYtPnNlbV92YWx1ZVtp XSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfUElQRUxJTkVf U1RBR0VfMl9BTExfQ09NTUFORFNfQklUKTsKLSsgICAgICAgIGZmX3ZrX2V4ZWNfYWRkX2RlcF9i b29sX3NlbSgmcC0+dmtjdHgsIGV4ZWMsICZmLT5pbnRlcm5hbC0+ZHJtX3N5bmNfc2VtLCAxLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX1BJUEVMSU5FX1NUQUdFXzJf QUxMX0NPTU1BTkRTX0JJVCwgMCk7Ci0rICAgICAgICBpZiAoZmZfdmtfZXhlY19zdWJtaXQoJnAt PnZrY3R4LCBleGVjKSA+PSAwKSB7Ci0rICAgICAgICAgICAgVmtTZW1hcGhvcmVHZXRGZEluZm9L SFIgZ2V0X2ZkX2luZm8gPSB7Ci0rICAgICAgICAgICAgICAgIC5zVHlwZSAgICAgID0gVktfU1RS VUNUVVJFX1RZUEVfU0VNQVBIT1JFX0dFVF9GRF9JTkZPX0tIUiwKLSsgICAgICAgICAgICAgICAg LnNlbWFwaG9yZSAgPSBmLT5pbnRlcm5hbC0+ZHJtX3N5bmNfc2VtLAotKyAgICAgICAgICAgICAg ICAuaGFuZGxlVHlwZSA9IFZLX0VYVEVSTkFMX1NFTUFQSE9SRV9IQU5ETEVfVFlQRV9TWU5DX0ZE X0JJVCwKLSsgICAgICAgICAgICB9OwotKyAgICAgICAgICAgIHJldCA9IHZrLT5HZXRTZW1hcGhv cmVGZEtIUihod2N0eC0+YWN0X2RldiwgJmdldF9mZF9pbmZvLCAmc3luY19mZCk7Ci0rICAgICAg ICAgICAgaWYgKHJldCAhPSBWS19TVUNDRVNTKSB7Ci0rICAgICAgICAgICAgICAgIGF2X2xvZyho d2N0eCwgQVZfTE9HX1dBUk5JTkcsCi0rICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRv IGdldCBzeW5jIGZkIGZyb20gRFJNIG1hcCBleHBvcnQgc2VtYXBob3JlOiAlc1xuIiwKLSsgICAg ICAgICAgICAgICAgICAgICAgIGZmX3ZrX3JldDJzdHIocmV0KSk7Ci0rICAgICAgICAgICAgICAg IHN5bmNfZmQgPSAtMTsKLSsgICAgICAgICAgICB9Ci0rICAgICAgICB9IGVsc2UgewotKyAgICAg ICAgICAgIGZmX3ZrX2V4ZWNfZGlzY2FyZF9kZXBzKCZwLT52a2N0eCwgZXhlYyk7Ci0rICAgICAg ICB9Ci0rICAgIH0KLSsKLSsgICAgcmV0dXJuIHN5bmNfZmQ7Ci0rfQotKyNlbmRpZgotKwotIHN0 YXRpYyBpbnQgdnVsa2FuX21hcF90b19kcm0oQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsIEFWRnJh bWUgKmRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEFWRnJhbWUgKnNy YywgaW50IGZsYWdzKQotIHsKLUBAIC00MTM3LDE1ICs0MjQxLDE0IEBAIHN0YXRpYyBpbnQgdnVs a2FuX21hcF90b19kcm0oQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsIEFWRnJhbWUgKmRzdCwKLSAg ICAgQVZWdWxrYW5EZXZpY2VDb250ZXh0ICpod2N0eCA9ICZwLT5wOwotICAgICBGRlZ1bGthbkZ1 bmN0aW9ucyAqdmsgPSAmcC0+dmtjdHgudmtmbjsKLSAgICAgVnVsa2FuRnJhbWVzUHJpdiAqZnAg PSBod2ZjLT5od2N0eDsKLSsgICAgY29uc3QgaW50IHBsYW5lcyA9IGF2X3BpeF9mbXRfY291bnRf cGxhbmVzKGh3ZmMtPnN3X2Zvcm1hdCk7Ci0gICAgIGNvbnN0IGludCBuYl9pbWFnZXMgPSBmZl92 a19jb3VudF9pbWFnZXMoZik7Ci0gICAgIFZrSW1hZ2VEcm1Gb3JtYXRNb2RpZmllclByb3BlcnRp ZXNFWFQgZHJtX21vZCA9IHsKLSAgICAgICAgIC5zVHlwZSA9IFZLX1NUUlVDVFVSRV9UWVBFX0lN QUdFX0RSTV9GT1JNQVRfTU9ESUZJRVJfUFJPUEVSVElFU19FWFQsCi0gICAgIH07Ci0tICAgIFZr U2VtYXBob3JlV2FpdEluZm8gd2FpdF9pbmZvID0gewotLSAgICAgICAgLnNUeXBlICAgICAgICAg ID0gVktfU1RSVUNUVVJFX1RZUEVfU0VNQVBIT1JFX1dBSVRfSU5GTywKLS0gICAgICAgIC5mbGFn cyAgICAgICAgICA9IDB4MCwKLS0gICAgICAgIC5zZW1hcGhvcmVDb3VudCA9IG5iX2ltYWdlcywK LS0gICAgfTsKLSsgICAgY29uc3QgaW50IG5iX3NlbXMgPSBuYl9pbWFnZXM7Ci0rCi0rICAgIGlu dCBzeW5jX2ZkID0gLTE7Ci0gCi0gICAgIEFWRFJNRnJhbWVEZXNjcmlwdG9yICpkcm1fZGVzYyA9 IGF2X21hbGxvY3ooc2l6ZW9mKCpkcm1fZGVzYykpOwotICAgICBpZiAoIWRybV9kZXNjKQotQEAg LTQxNTUsMTEgKzQyNTgsMjggQEAgc3RhdGljIGludCB2dWxrYW5fbWFwX3RvX2RybShBVkhXRnJh bWVzQ29udGV4dCAqaHdmYywgQVZGcmFtZSAqZHN0LAotICAgICBpZiAoZXJyIDwgMCkKLSAgICAg ICAgIGdvdG8gZW5kOwotIAotLSAgICAvKiBXYWl0IGZvciB0aGUgb3BlcmF0aW9uIHRvIGZpbmlz aCBzbyB3ZSBjYW4gY2xlYW5seSBleHBvcnQgaXQuICovCi0tICAgIHdhaXRfaW5mby5wU2VtYXBo b3JlcyA9IGYtPnNlbTsKLS0gICAgd2FpdF9pbmZvLnBWYWx1ZXMgICAgID0gZi0+c2VtX3ZhbHVl OwotKyNpZmRlZiBETUFfQlVGX0lPQ1RMX0VYUE9SVF9TWU5DX0ZJTEUKLSsgICAgaWYgKChwLT52 a2N0eC5leHRlbnNpb25zICYgRkZfVktfRVhUX0VYVEVSTkFMX0ZEX1NFTSkgJiYKLSsgICAgICAg IGYtPnRpbGluZyA9PSBWS19JTUFHRV9USUxJTkdfRFJNX0ZPUk1BVF9NT0RJRklFUl9FWFQgJiYK LSsgICAgICAgIHZrLT5HZXRTZW1hcGhvcmVGZEtIUiAmJiB2ay0+Q3JlYXRlU2VtYXBob3JlKSB7 Ci0rICAgICAgICBlcnIgPSB2dWxrYW5fZHJtX2V4cG9ydF9zeW5jX2ZkKGh3ZmMsIGYsIGZwLCBu Yl9zZW1zKTsKLSsgICAgICAgIGlmIChlcnIgPCAwKQotKyAgICAgICAgICAgIGdvdG8gZW5kOwot KyAgICAgICAgc3luY19mZCA9IGVycjsKLSsgICAgICAgIGVyciA9IDA7Ci0rICAgIH0KLSsjZW5k aWYKLSAKLS0gICAgdmstPldhaXRTZW1hcGhvcmVzKGh3Y3R4LT5hY3RfZGV2LCAmd2FpdF9pbmZv LCBVSU5UNjRfTUFYKTsKLSsgICAgaWYgKHN5bmNfZmQgPCAwKSB7Ci0rICAgICAgICBWa1NlbWFw aG9yZVdhaXRJbmZvIHdhaXRfaW5mbyA9IHsKLSsgICAgICAgICAgICAuc1R5cGUgICAgICAgICAg PSBWS19TVFJVQ1RVUkVfVFlQRV9TRU1BUEhPUkVfV0FJVF9JTkZPLAotKyAgICAgICAgICAgIC5m bGFncyAgICAgICAgICA9IDB4MCwKLSsgICAgICAgICAgICAuc2VtYXBob3JlQ291bnQgPSBuYl9z ZW1zLAotKyAgICAgICAgICAgIC5wU2VtYXBob3JlcyAgICA9IGYtPnNlbSwKLSsgICAgICAgICAg ICAucFZhbHVlcyAgICAgICAgPSBmLT5zZW1fdmFsdWUsCi0rICAgICAgICB9OwotKyAgICAgICAg dmstPldhaXRTZW1hcGhvcmVzKGh3Y3R4LT5hY3RfZGV2LCAmd2FpdF9pbmZvLCBVSU5UNjRfTUFY KTsKLSsgICAgfQotIAotICAgICBlcnIgPSBmZl9od2ZyYW1lX21hcF9jcmVhdGUoc3JjLT5od19m cmFtZXNfY3R4LCBkc3QsIHNyYywgJnZ1bGthbl91bm1hcF90b19kcm0sIGRybV9kZXNjKTsKLSAg ICAgaWYgKGVyciA8IDApCi1AQCAtNDE3Myw3ICs0MjkzLDcgQEAgc3RhdGljIGludCB2dWxrYW5f bWFwX3RvX2RybShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywgQVZGcmFtZSAqZHN0LAotICAgICAg ICAgZ290byBlbmQ7Ci0gICAgIH0KLSAKLS0gICAgZm9yIChpbnQgaSA9IDA7IChpIDwgbmJfaW1h Z2VzKSAmJiAoZi0+bWVtW2ldKTsgaSsrKSB7Ci0rICAgIGZvciAoaW50IGkgPSAwOyAoaSA8IHBs YW5lcykgJiYgKGYtPm1lbVtpXSk7IGkrKykgewotICAgICAgICAgVmtNZW1vcnlHZXRGZEluZm9L SFIgZXhwb3J0X2luZm8gPSB7Ci0gICAgICAgICAgICAgLnNUeXBlICAgICAgPSBWS19TVFJVQ1RV UkVfVFlQRV9NRU1PUllfR0VUX0ZEX0lORk9fS0hSLAotICAgICAgICAgICAgIC5tZW1vcnkgICAg ID0gZi0+bWVtW2ldLAotQEAgLTQxODgsMTIgKzQzMDgsMzAgQEAgc3RhdGljIGludCB2dWxrYW5f bWFwX3RvX2RybShBVkhXRnJhbWVzQ29udGV4dCAqaHdmYywgQVZGcmFtZSAqZHN0LAotICAgICAg ICAgICAgIGdvdG8gZW5kOwotICAgICAgICAgfQotIAotKyNpZiBIQVZFX0xJTlVYX0RNQV9CVUZf SCAmJiBkZWZpbmVkKERNQV9CVUZfSU9DVExfSU1QT1JUX1NZTkNfRklMRSkKLSsgICAgICAgIGlm IChzeW5jX2ZkID49IDApIHsKLSsgICAgICAgICAgICBpbnQgZHVwX2ZkID0gZHVwKHN5bmNfZmQp OwotKyAgICAgICAgICAgIGlmIChkdXBfZmQgPj0gMCkgewotKyAgICAgICAgICAgICAgICBzdHJ1 Y3QgZG1hX2J1Zl9pbXBvcnRfc3luY19maWxlIGltcG9ydF9pbmZvID0gewotKyAgICAgICAgICAg ICAgICAgICAgLmZsYWdzID0gRE1BX0JVRl9TWU5DX1dSSVRFLAotKyAgICAgICAgICAgICAgICAg ICAgLmZkID0gZHVwX2ZkLAotKyAgICAgICAgICAgICAgICB9OwotKyAgICAgICAgICAgICAgICBp ZiAoaW9jdGwoZHJtX2Rlc2MtPm9iamVjdHNbaV0uZmQsIERNQV9CVUZfSU9DVExfSU1QT1JUX1NZ TkNfRklMRSwgJmltcG9ydF9pbmZvKSA8IDApCi0rICAgICAgICAgICAgICAgICAgICBhdl9sb2co aHdmYywgQVZfTE9HX1dBUk5JTkcsICJETUFfQlVGX0lPQ1RMX0lNUE9SVF9TWU5DX0ZJTEUgZmFp bGVkOiAlc1xuIiwgYXZfZXJyMnN0cihBVkVSUk9SKGVycm5vKSkpOwotKyAgICAgICAgICAgICAg ICBjbG9zZShkdXBfZmQpOwotKyAgICAgICAgICAgIH0gZWxzZSB7Ci0rICAgICAgICAgICAgICAg IGF2X2xvZyhod2ZjLCBBVl9MT0dfV0FSTklORywgImR1cChzeW5jX2ZkKSBmYWlsZWQ6ICVzXG4i LCBhdl9lcnIyc3RyKEFWRVJST1IoZXJybm8pKSk7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAg fQotKyNlbmRpZgotKwotICAgICAgICAgZHJtX2Rlc2MtPm5iX29iamVjdHMrKzsKLSAgICAgICAg IGRybV9kZXNjLT5vYmplY3RzW2ldLnNpemUgPSBmLT5zaXplW2ldOwotICAgICAgICAgZHJtX2Rl c2MtPm9iamVjdHNbaV0uZm9ybWF0X21vZGlmaWVyID0gZHJtX21vZC5kcm1Gb3JtYXRNb2RpZmll cjsKLSAgICAgfQotIAotLSAgICBkcm1fZGVzYy0+bmJfbGF5ZXJzID0gbmJfaW1hZ2VzOwotKyAg ICAvKiBOVjEyIGhhcyAyIHBsYW5lcyBidXQgMSBpbWFnZS9zZW1hcGhvcmUgKi8KLSsgICAgZHJt X2Rlc2MtPm5iX2xheWVycyA9IEZGTUFYKHBsYW5lcywgbmJfaW1hZ2VzKTsKLSAgICAgZm9yIChp bnQgaSA9IDA7IGkgPCBkcm1fZGVzYy0+bmJfbGF5ZXJzOyBpKyspIHsKLSAgICAgICAgIFZrRm9y bWF0IHBsYW5lX3ZrZm10ID0gYXZfdmtmbXRfZnJvbV9waXhmbXQoaHdmYy0+c3dfZm9ybWF0KVtp XTsKLSAKLUBAIC00MjA4LDEzICs0MzQ2LDE0IEBAIHN0YXRpYyBpbnQgdnVsa2FuX21hcF90b19k cm0oQVZIV0ZyYW1lc0NvbnRleHQgKmh3ZmMsIEFWRnJhbWUgKmRzdCwKLSAKLSAgICAgICAgIGZv ciAoaW50IGogPSAwOyBqIDwgZHJtX2Rlc2MtPmxheWVyc1tpXS5uYl9wbGFuZXM7IGorKykgewot ICAgICAgICAgICAgIFZrU3VicmVzb3VyY2VMYXlvdXQgbGF5b3V0OwotKyAgICAgICAgICAgIGlu dCBhc3BlY3RfcGxhbmUgPSAobmJfaW1hZ2VzID09IDEpID8gaSA6IGo7Ci0gICAgICAgICAgICAg VmtJbWFnZVN1YnJlc291cmNlIHN1YiA9IHsKLS0gICAgICAgICAgICAgICAgLmFzcGVjdE1hc2sg PSBwbGFuZV9pbmRleF90b19hc3BlY3QoaiksCi0rICAgICAgICAgICAgICAgIC5hc3BlY3RNYXNr ID0gcGxhbmVfaW5kZXhfdG9fYXNwZWN0KGFzcGVjdF9wbGFuZSksCi0gICAgICAgICAgICAgfTsK LSAKLSAgICAgICAgICAgICBkcm1fZGVzYy0+bGF5ZXJzW2ldLnBsYW5lc1tqXS5vYmplY3RfaW5k ZXggPSBGRk1JTihpLCBkcm1fZGVzYy0+bmJfb2JqZWN0cyAtIDEpOwotIAotLSAgICAgICAgICAg IHZrLT5HZXRJbWFnZVN1YnJlc291cmNlTGF5b3V0KGh3Y3R4LT5hY3RfZGV2LCBmLT5pbWdbaV0s ICZzdWIsICZsYXlvdXQpOwotKyAgICAgICAgICAgIHZrLT5HZXRJbWFnZVN1YnJlc291cmNlTGF5 b3V0KGh3Y3R4LT5hY3RfZGV2LCBmLT5pbWdbRkZNSU4oaSwgbmJfaW1hZ2VzIC0gMSldLCAmc3Vi LCAmbGF5b3V0KTsKLSAgICAgICAgICAgICBkcm1fZGVzYy0+bGF5ZXJzW2ldLnBsYW5lc1tqXS5v ZmZzZXQgPSBsYXlvdXQub2Zmc2V0OwotICAgICAgICAgICAgIGRybV9kZXNjLT5sYXllcnNbaV0u cGxhbmVzW2pdLnBpdGNoICA9IGxheW91dC5yb3dQaXRjaDsKLSAgICAgICAgIH0KLUBAIC00MjM0 LDEzICs0MzczLDIxIEBAIHN0YXRpYyBpbnQgdnVsa2FuX21hcF90b19kcm0oQVZIV0ZyYW1lc0Nv bnRleHQgKmh3ZmMsIEFWRnJhbWUgKmRzdCwKLSAgICAgZHN0LT53aWR0aCAgID0gc3JjLT53aWR0 aDsKLSAgICAgZHN0LT5oZWlnaHQgID0gc3JjLT5oZWlnaHQ7Ci0gICAgIGRzdC0+ZGF0YVswXSA9 ICh1aW50OF90ICopZHJtX2Rlc2M7Ci0rICAgIGRzdC0+aHdfZnJhbWVzX2N0eCA9IGF2X2J1ZmZl cl9yZWYoc3JjLT5od19mcmFtZXNfY3R4KTsKLSsKLSsgICAgaWYgKHN5bmNfZmQgPj0gMCkKLSsg ICAgICAgIGNsb3NlKHN5bmNfZmQpOwotIAotICAgICBhdl9sb2coaHdmYywgQVZfTE9HX1ZFUkJP U0UsICJNYXBwZWQgQVZWa0ZyYW1lIHRvIGEgRFJNIG9iamVjdCFcbiIpOwotIAotICAgICByZXR1 cm4gMDsKLSAKLSBlbmQ6Ci0rICAgIGZvciAoaW50IGkgPSAwOyBpIDwgZHJtX2Rlc2MtPm5iX29i amVjdHM7IGkrKykKLSsgICAgICAgIGNsb3NlKGRybV9kZXNjLT5vYmplY3RzW2ldLmZkKTsKLSAg ICAgYXZfZnJlZShkcm1fZGVzYyk7Ci0rICAgIGlmIChzeW5jX2ZkID49IDApCi0rICAgICAgICBj bG9zZShzeW5jX2ZkKTsKLSAgICAgcmV0dXJuIGVycjsKLSB9Ci0gCi1AQCAtNDcyMCw3ICs0ODY3 LDcgQEAgZW5kOgotIHN0YXRpYyBpbnQgdnVsa2FuX3RyYW5zZmVyX2RhdGFfdG8oQVZIV0ZyYW1l c0NvbnRleHQgKmh3ZmMsIEFWRnJhbWUgKmRzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IEFWRnJhbWUgKnNyYykKLSB7Ci0tICAgIGF2X3VudXNlZCBWdWxrYW5E ZXZpY2VQcml2ICpwID0gaHdmYy0+ZGV2aWNlX2N0eC0+aHdjdHg7Ci0rICAgIFZ1bGthbkRldmlj ZVByaXYgKnAgPSBod2ZjLT5kZXZpY2VfY3R4LT5od2N0eDsKLSAKLSAgICAgc3dpdGNoIChzcmMt PmZvcm1hdCkgewotICNpZiBDT05GSUdfQ1VEQQotQEAgLTQ3NTAsNiArNDg5Nyw3IEBAIHN0YXRp YyBpbnQgdnVsa2FuX3RyYW5zZmVyX2RhdGFfdG9fY3VkYShBVkhXRnJhbWVzQ29udGV4dCAqaHdm YywgQVZGcmFtZSAqZHN0LAotICAgICBDVWNvbnRleHQgZHVtbXk7Ci0gICAgIEFWVmtGcmFtZSAq ZHN0X2Y7Ci0gICAgIEFWVmtGcmFtZUludGVybmFsICpkc3RfaW50OwotKyAgICBWdWxrYW5EZXZp Y2VQcml2ICpwID0gaHdmYy0+ZGV2aWNlX2N0eC0+aHdjdHg7Ci0gICAgIFZ1bGthbkZyYW1lc1By aXYgKmZwID0gaHdmYy0+aHdjdHg7Ci0gICAgIGNvbnN0IGludCBwbGFuZXMgPSBhdl9waXhfZm10 X2NvdW50X3BsYW5lcyhod2ZjLT5zd19mb3JtYXQpOwotICAgICBjb25zdCBBVlBpeEZtdERlc2Ny aXB0b3IgKmRlc2MgPSBhdl9waXhfZm10X2Rlc2NfZ2V0KGh3ZmMtPnN3X2Zvcm1hdCk7Ci1AQCAt NDgzMCw3ICs0OTc4LDcgQEAgc3RhdGljIGludCB2dWxrYW5fdHJhbnNmZXJfZGF0YV90b19jdWRh KEFWSFdGcmFtZXNDb250ZXh0ICpod2ZjLCBBVkZyYW1lICpkc3QsCi0gCi0gZmFpbDoKLSAgICAg Q0hFQ0tfQ1UoY3UtPmN1Q3R4UG9wQ3VycmVudCgmZHVtbXkpKTsKLS0gICAgdnVsa2FuX2ZyZWVf aW50ZXJuYWwoZHN0X2YpOwotKyAgICB2dWxrYW5fZnJlZV9pbnRlcm5hbChwLCBkc3RfZik7Ci0g ICAgIGF2X2J1ZmZlcl91bnJlZigmZHN0LT5idWZbMF0pOwotICAgICByZXR1cm4gZXJyOwotIH0K LS0tIAotMi4yNS4xCi0KCmRpZmYgLS1naXQgYS9mZm1wZWcuc3BlYyBiL2ZmbXBlZy5zcGVjCmlu ZGV4IGQzN2UxYmUuLjA3OGFhNjkgMTAwNjQ0Ci0tLSBhL2ZmbXBlZy5zcGVjCisrKyBiL2ZmbXBl Zy5zcGVjCkBAIC04OCwxOSArODgsMTkgQEAKICMgRklYTUU6IEdDQyBzYXlzIHRoZXJlJ3MgaW5j b21wYXRpYmxlIHBvaW50ZXIgY2FzdHMgZ29pbmcgb24gaW4gbGliYXZkZXZpY2UuLi4KICVnbG9i YWwgYnVpbGRfdHlwZV9zYWZldHlfYyAyCiAKLSVnbG9iYWwgYXZfY29kZWNfc292ZXJzaW9uIDYy Ci0lZ2xvYmFsIGF2X2RldmljZV9zb3ZlcnNpb24gNjIKLSVnbG9iYWwgYXZfZmlsdGVyX3NvdmVy c2lvbiAxMQotJWdsb2JhbCBhdl9mb3JtYXRfc292ZXJzaW9uIDYyCi0lZ2xvYmFsIGF2X3V0aWxf c292ZXJzaW9uIDYwCi0lZ2xvYmFsIHN3cmVzYW1wbGVfc292ZXJzaW9uIDYKLSVnbG9iYWwgc3dz Y2FsZV9zb3ZlcnNpb24gOQorJWdsb2JhbCBhdl9jb2RlY19zb3ZlcnNpb24gNjMKKyVnbG9iYWwg YXZfZGV2aWNlX3NvdmVyc2lvbiA2MworJWdsb2JhbCBhdl9maWx0ZXJfc292ZXJzaW9uIDEyCisl Z2xvYmFsIGF2X2Zvcm1hdF9zb3ZlcnNpb24gNjMKKyVnbG9iYWwgYXZfdXRpbF9zb3ZlcnNpb24g NjEKKyVnbG9iYWwgc3dyZXNhbXBsZV9zb3ZlcnNpb24gNworJWdsb2JhbCBzd3NjYWxlX3NvdmVy c2lvbiAxMAogCiBOYW1lOiAgICAgICAgICAgZmZtcGVnCiAlZ2xvYmFsIHBrZ19uYW1lICV7bmFt ZX0lez9wa2dfc3VmZml4fQogCi1WZXJzaW9uOiAgICAgICAgOC4xLjIKLVJlbGVhc2U6ICAgICAg ICAxMiV7P2Rpc3R9CitWZXJzaW9uOiAgICAgICAgOS4wLjEKK1JlbGVhc2U6ICAgICAgICAxJXs/ ZGlzdH0KIFN1bW1hcnk6ICAgICAgICBBIGNvbXBsZXRlIHNvbHV0aW9uIHRvIHJlY29yZCwgY29u dmVydCBhbmQgc3RyZWFtIGF1ZGlvIGFuZCB2aWRlbwogTGljZW5zZTogICAgICAgIEdQTC0zLjAt b3ItbGF0ZXIKIFVSTDogICAgICAgICAgICBodHRwczovL2ZmbXBlZy5vcmcvCkBAIC0xMjIsMTIg KzEyMiw2IEBAIFBhdGNoMzogICAgICAgICBmZm1wZWctYWxsb3ctZGVja2xpbmsucGF0Y2gKICMg VmFwb3VyU3ludGggUjc5IHJlbmFtZWQgbGlidmFwb3Vyc3ludGgtc2NyaXB0IHRvIGxpYnZzc2Ny aXB0CiBQYXRjaDQ6ICAgICAgICAgZmZtcGVnLXZhcG91cnN5bnRoLWxpYi1yZW5hbWUucGF0Y2gK IAotIyBCYWNrcG9ydCBmaXggZm9yIENWRS0yMDI2LTMwOTk4Ci1QYXRjaDEwOiAgICAgICAgaHR0 cHM6Ly9naXQuZmZtcGVnLm9yZy9naXR3ZWIvZmZtcGVnLmdpdC9wYXRjaC8xOGI4M2YyZDBhMGY5 YmNiYWZiMDAwMWEyOTExMzI3YzRiOGRmMDU2Iy9mZm1wZWctQ1ZFLTIwMjYtMzA5OTgucGF0Y2gK LQotIyBBZGQgdXBzdHJlYW0gY29tbWl0IHRvIGFkZHJlc3MgZmlyZWZveCB2dWxrYW4gZGlyZWN0 LWV4cG9ydCByZW5kZXJpbmcgaXNzdWUKLVBhdGNoMTE6ICAgICAgICAgaHR0cHM6Ly9naXQuZmZt cGVnLm9yZy9naXR3ZWIvZmZtcGVnLmdpdC9wYXRjaC8yNWUxODdmODQ5NDk2NjM3N2E0YjlkMDc3 MjYwY2U3YjUwMWE5MTFjIy9mZm1wZWctdnVsa2FuLWRpcmVjdC1leHBvcnQucGF0Y2gKLQogIyBB ZGQgZmlyc3RfZHRzIGdldHRlciB0byBsaWJhdmZvcm1hdCBmb3IgQ2hyb21pdW0KICMgU2VlOiBo dHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTIyNDAxMjcKICMgUmVm ZXJlbmNlOiBodHRwczovL2NyYnVnLmNvbS8xMzA2NTYwCkBAIC0xNTIsNiArMTQ2LDcgQEAgQnVp bGRSZXF1aXJlczogIGdhbWUtbXVzaWMtZW11LWRldmVsCiBCdWlsZFJlcXVpcmVzOiAgZ2NjCiBC dWlsZFJlcXVpcmVzOiAgZ2l0LWNvcmUKIEJ1aWxkUmVxdWlyZXM6ICBnbnVwZzIKK0J1aWxkUmVx dWlyZXM6ICBnbHNsYwogQnVpbGRSZXF1aXJlczogIGdzbS1kZXZlbAogQnVpbGRSZXF1aXJlczog IGxhZHNwYS1kZXZlbAogQnVpbGRSZXF1aXJlczogIGxhbWUtZGV2ZWwKQEAgLTIzMCw3ICsyMjUs NiBAQCBCdWlsZFJlcXVpcmVzOiAgcGtnY29uZmlnKG9wdXMpCiBCdWlsZFJlcXVpcmVzOiAgcGtn Y29uZmlnKHJhdjFlKQogQnVpbGRSZXF1aXJlczogIHBrZ2NvbmZpZyhydWJiZXJiYW5kKQogQnVp bGRSZXF1aXJlczogIHBrZ2NvbmZpZyhzZGwyKQotQnVpbGRSZXF1aXJlczogIHBrZ2NvbmZpZyhz aGFkZXJjKSA+PSAyMDE5LjEKIEJ1aWxkUmVxdWlyZXM6ICBwa2djb25maWcoc21iY2xpZW50KQog QnVpbGRSZXF1aXJlczogIHBrZ2NvbmZpZyhzbmFwcHkpCiBCdWlsZFJlcXVpcmVzOiAgcGtnY29u ZmlnKHNveHIpCkBAIC04MTEsNyArODA1LDYgQEAgY3AgLWEgZG9jL2V4YW1wbGVzL3sqLmMsTWFr ZWZpbGUsUkVBRE1FfSBfZG9jL2V4YW1wbGVzLwogICAgIC0tZW5hYmxlLWxpYnJ0bXAgXAogJWVu ZGlmCiAgICAgLS1lbmFibGUtbGlicnViYmVyYmFuZCBcCi0gICAgLS1lbmFibGUtbGlic2hhZGVy YyBcCiAgICAgLS1kaXNhYmxlLWxpYnNoaW5lIFwKICAgICAtLWVuYWJsZS1saWJzbWJjbGllbnQg XAogICAgIC0tZW5hYmxlLWxpYnNuYXBweSBcCkBAIC05NzcsNiArOTcwLDEzIEBAIHJtIC1yZiAl e2J1aWxkcm9vdH0le19kYXRhZGlyfQogCiAKICVjaGFuZ2Vsb2cKKyogVGh1IFNlcCAwMyAyMDI2 IERvbWluaWsgTWllcnplamV3c2tpIDxkb21pbmlrQGdyZXlzZWN0b3IubmV0PiAtIDkuMC4xLTEK Ky0gdXBkYXRlIHRvIDkuMC4xIChyZXNvbHZlcyByaGJ6IzI1MTA4NTkpCistIGJ1bXAgU09OQU1F cyBvZiBhbGwgbGlicmFyaWVzCistIGRyb3AgbWVyZ2VkIHBhdGNoZXMKKy0gZHJvcCByZW1vdmVk IGNvbmZpZ3VyZSBvcHRpb24gYW5kIEJ1aWxkUmVxdWlyZXMgb24gc2hhZGVyYworLSBhZGQgQnVp bGRSZXF1aXJlcyBmb3IgU1BJUi1WIGNvbXBpbGVyCisKICogTW9uIEF1ZyAyNCAyMDI2IE5lYWwg R29tcGEgPG5nb21wYUBmZWRvcmFwcm9qZWN0Lm9yZz4gLSA4LjEuMi0xMgogLSBVbmNvbmRpdGlv bmFsbHkgZW5hYmxlIGxjMwogCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXgg ZjFlYjQyYy4uYWQ0MDg4ZSAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0x LDMgKzEsMyBAQAotU0hBNTEyIChmZm1wZWctOC4xLjIudGFyLnh6KSA9IGIzYWRjMTZmZTQyNjIx N2JiNjA3ZGEwMWM0MTM3Y2VlMGE5Nzg4ZmMwOGUwNzc4NzQzMzZkYjE4NWQyYjcyODc3NDZhN2Rj OTRjZjAxODFlYTkyY2Q4YWZjZGIwNjA5NGVlOTQ1NmUyOTg2MTEyMzU0Zjg0NTM4Y2I5YTVlZDBi Ci1TSEE1MTIgKGZmbXBlZy04LjEuMi50YXIueHouYXNjKSA9IDExZDQ3YmI0ZTdjYjZlZDM4ODY0 N2Q1ZWQ3YmE0Zjc0MGIyNzllM2Q1YmJlMmNhZjk3ZmZlNDg2YTYyYmIwNWNlMGMxYzNiZjhjMDIw YzM0ODE4ZGI5MzVhOTY3ZDE4YWMyNzA3MTYzMGUzMzU3ZGRmMWM1NDk3NDFlYWRkNmE1CitTSEE1 MTIgKGZmbXBlZy05LjAuMS50YXIueHopID0gYmU4Y2RmY2E2NDg4NmYyZWM1Y2QyMzU5ZjhkYjZh OTk4ZWU3NTlkMTA1YjEwYWRlOWIyYTdiNjQwMzU2YWQ1NmFiMGZmNTAyMThmY2U3YjYzMTI0NjJm MTVmOThkOTBhYzlkMTk3YTNiMDJhMjM3NzE3NTRkMjcxNGZlYzYyOGQKK1NIQTUxMiAoZmZtcGVn LTkuMC4xLnRhci54ei5hc2MpID0gYjA3NjQ0NWU1NDJhY2JkZmE5MWJmMWEyZWUwZDllODA1N2Ey Y2U0NTJjMzllODMwNzY1NjM3YmIwYTY2NTI0OTM1NzA5NzAyMjU3M2FjYjk2ZWJkNjc1MjI0ZGZl Yzc5NDUzMzhhZTMxN2MzYWQ4MDdhM2QwODc1OWUwNTZiZTAKIFNIQTUxMiAoZmZtcGVnLmtleXJp bmcpID0gOWIzNjUwNjgzNWRiMzZmNzc2YjdkZGI1M2FkNmZhOWU5MTVlNmNhMmY5YzdjZmViZThl YjQ1NTEzZTEwMzZhOTg1MjgzNTkwYTg0MGNhMzEzYTExMWJmMzVkYzM3MzFmNjg4ODVhYWFmYjFm YjcwMTFlYzQzM2NjMTE5ZTUxNjUK