ZGlmZiAtLWdpdCBhL2x5bnEvQ1BFX0NPTU1PTi9hcC9hcHAvaW5jbHVkZS9tbWlfbXNnLmggYi9seW5xL0NQRV9DT01NT04vYXAvYXBwL2luY2x1ZGUvbW1pX21zZy5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRjODIwYjcKLS0tIC9kZXYvbnVsbAorKysgYi9seW5xL0NQRV9DT01NT04vYXAvYXBwL2luY2x1ZGUvbW1pX21zZy5oCkBAIC0wLDAgKzEsOTIgQEAKKy8qKgorICogQGZpbGUgbW1pX21zZy5oCisgKiBAYnJpZWYgzOG5qcHLbW1pz/vPor3Tv9q6zc/7z6K94bm5tqjS5QorICoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBTYW5lY2hpcHMgVGVjaG5vbG9neSBDby4sIEx0ZC4KKyAqIEBhdXRob3IKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqLworCisjaWZuZGVmIF9fTU1JX01TR19IX18KKyNkZWZpbmUgX19NTUlfTVNHX0hfXworI2luY2x1ZGUgIm1lc3NhZ2UuaCIKKworCisvKs+1zbPQxc+isunRryovCit0eXBlZGVmIHN0cnVjdCB7CisJc2lnbmVkIGxvbmcgICAgIHNydlN0YXR1czsgICAgICAgIC8qz7XNs7f+zvHXtMysICAqLworCXNpZ25lZCBsb25nICAgICBzcnZEb21haW47ICAgICAgICAvKs+1zbO3/s7x0/IgICAgKi8KKwlzaWduZWQgbG9uZyAgICAgcm9hbVN0YXR1czsgICAgICAgLyrC/tPO17TMrCAgICAgICovCisJc2lnbmVkIGxvbmcgICAgIHN5c01vZGU7ICAgICAgICAgIC8qz7XNs8Sjyr0gICAgICAqLworCXNpZ25lZCBsb25nICAgICBzaW1TdGF0ZTsgICAgICAgICAvKlNJTb+o17TMrCAgICAgKi8KKwlzaWduZWQgbG9uZyAgICAgcmVzZXJ2ZTsgICAgICAgICAgLyqxo8H01rUgICAgICAgKi8KKwlzaWduZWQgbG9uZyAgICAgc3lzU3VibW9kZTsgICAgICAgLyrPtc2z19PEo8q9ICAgICovCit9IFRfekF0X1N5c2luZm9SZXM7CisKKworLyogz/vPor3hubnM5SAqLwordHlwZWRlZiBzdHJ1Y3QgeworCXVuc2lnbmVkIGNoYXIgc21zX3VucmVhZF9pbmQ7IC8vMDrO3s60tsG2zNDFo7sgMTrT0M60tsG2zNDFCisJdW5zaWduZWQgY2hhciBzbXNfbWVtb3J5X2Z1bGxfaW5kOyAvLzA6srvC+jsgMTogwvoKKwl1bnNpZ25lZCBjaGFyIHNtc19uZXdfaW5kOworCXVuc2lnbmVkIGNoYXIgc21zX2lzX3JlYWRpbmc7CisJdW5zaWduZWQgY2hhciBzbXNfdW5yZWFkX2NvdW50OworfSBUX3pVZmlfU21zU3RhdHVzSW5mb0luZDsKKworLyogudi7+tbYxvTP+8+iyrW8yrLZ1/fWtSAqLwordHlwZWRlZiBlbnVtIHsKKwlFeHRfQ21kX0Jhc2UgPSAwLAorCUV4dF9DbWRfUkVCT09ULAorCUV4dF9DbWRfUE9XRVJPRkYsCisJRXh0X0NtZF9QT1dFUk9GRl9DSEFSR0lORywKKwlFeHRfQ21kX1BPV0VST0ZGX0ZBS0UsCisJRXh0X0NtZF9QT1dFUk9GRl9DTE9DSywKKwlFeHRfQ21kX01BWAorfSBUX3pVZmlfRXh0Q21kOworCitzdHJ1Y3QgZXh0X21zZ19kYXRhIHsKKwlpbnQgY21kOworfTsKKworLy9hdXRvdGVzdCDX1Lavu6+y4srUz/vPosr9vt0KK3R5cGVkZWYgc3RydWN0ICB7CisJU0lOVDMyIGNvZGU7CisJU0lOVDMyIHZhbHVlOworfSBhdXRvdGVzdF9rZXlfcnNwbXNnOworCisvL8frzuK67L2rbW1pxNqyv8/7z6LKudPDtcTP+8+iwuujrNKyzO2807W91eLA7worZW51bSBtbWlfbXNnX2NtZCB7CisJTVNHX0NNRF9DSEFOTkVMX05FVFdPUktfTU9ERSA9IE1TR19DTURfTU1JX0JBU0UsCisJTVNHX0NNRF9NVUxUSV9DT05ORUNUX1NUQVRVUywvL8rHt/G05tTatuDCt1BEULyku+4KKwlNU0dfQ01EX0NIQU5ORUxfQ09OTkVDVF9TVEFUVVMsCisJTVNHX0NNRF9TTVNfU1RBVFVTX0lORk9fSU5ELAorCU1TR19DTURfT1VUX1JFR19HRVRfU0lHTkFMX05VTSwKKwlNU0dfQ01EX01PRElGWV9TU0lEX0tFWSwKKwlNU0dfQ01EX0dFVF9UUkFGRklDX0lORk9fU1RBUlQsCisJTVNHX0NNRF9HRVRfVFJBRkZJQ19JTkZPX0VORCwKKwlNU0dfQ01EX1RSQUZGSUNfSU5GT19SRVNFVCwKKwlNU0dfQ01EX0dFVF9ORVRfUFJPVklERVIsCisJTVNHX0NNRF9TRVRfVVNCX01PREUsCisJTVNHX0NNRF9WT0lQX1NUQVRVU19JTkZPLAorCU1TR19DTURfU1RBX0NPVU5UX0NIQU5HRSwKKwlNU0dfQ01EX1BPV0VST0ZGX1BMVUdPVVRfUkVTVUxULAorCU1TR19DTURfU09DS0VUX1NUQVRFX0NIQU5HRSwgICAgLy/E2tbDc29ja2V0IGNvbm5lY3Qgc3RhdGUKKwlNU0dfQ01EX01DVVNPQ0tFVF9TVEFURV9DSEFOR0UsIC8vzeLWw3NvY2tldCBjb25uZWN0IHN0YXRlCisJTVNHX0NNRF9NTUlHRVRfV0lGSV9TVEFOVU0sLy/PwsPmysdNTUkgxNqyv8q508O1xM/7z6IKKwlNU0dfQ01EX01NSVNUQVJUX0JBQ0tMSUdIVE9GRl9USU1FUiwKKwlNU0dfQ01EX01NSUNIRUNLX1RJUF9JTkZPLAorCU1TR19DTURfTU1JU0hPV19TU0lEX0lORk8sCisJTVNHX0NNRF9NTUlHRVRfV0lGSV9EQVRBLAorCU1TR19DTURfUkoxMV9TVEFUVVNfSU5GTywgLy/SotS2Y3BlCisJTVNHX0NNRF9SSjQ1X1NUQVRVU19JTkZPLAorLy8jaWZkZWYgX0VOQUJMRV9BVVRPVEVTVAorCU1TR19DTURfQVVUT1RFU1RfS0VZX1JFUSwKKy8vI2VuZGlmCit9OworCisjZW5kaWYKKwo=