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: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Rebase to FSF GDB 7.4.50.20120120. Date: Thu, 23 Jul 2026 18:30:10 GMT Message-ID: <178483141036.1.5719319700877208315.rpms-gdb-c5c713f196e0@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: c5c713f196e09552ec1e2656754474f2130acdad ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogYzVjNzEzZjE5NmUwOTU1MmVjMWUyNjU2NzU0NDc0ZjIxMzBhY2RhZAog ICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMi0wMS0yMVQwMDoyNzoyOCswMTowMAogICAg ICAgICAgICBTdGF0cyAgOiArNDg3Ly0xMjE5IGluIDkgZmlsZShzKQogICAgICAgICAgICBVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jL2M1YzcxM2YxOTZl MDk1NTJlYzFlMjY1Njc1NDQ3NGYyMTMwYWNkYWQ/YnJhbmNoPWZpeC1kdXAtcGF0Y2gKCiAgICAg ICAgICAgIExvZzoKICAgICAgICAgICAgUmViYXNlIHRvIEZTRiBHREIgNy40LjUwLjIwMTIwMTIw LgpEcm9wIHRoZSBnNzcgLnNwZWMgcHJvdmlzaW9uaW5nIGFzIGl0IGhhcyBiZWVuIGZpeGVkIGlu IEZTRiBHREIuCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4 IDk2N2E1OWIuLmYxNzFhMGYgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9y ZQpAQCAtMSwyICsxLDIgQEAKIC9saWJzdGRjKystdjMtcHl0aG9uLXIxNTU5NzgudGFyLmJ6Mgot L2dkYi03LjQuNTAuMjAxMjAxMDMudGFyLmJ6MgorL2dkYi03LjQuNTAuMjAxMjAxMjAudGFyLmJ6 MgoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2ggYi9nZGItNi42LWJ1 aWxkaWQtbG9jYXRlLnBhdGNoCmluZGV4IDdhNzJkODYuLjczNjhkOGEgMTAwNjQ0Ci0tLSBhL2dk Yi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5w YXRjaApAQCAtMSwxOCArMSwxOCBAQAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMvZ2RiL2Nv cmVsb3cuYworSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMjAvZ2RiL2NvcmVsb3cuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjAxMDMub3JpZy9nZGIvY29yZWxvdy5jCTIwMTEtMDQt MTcgMjE6MTI6MjAuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIv Y29yZWxvdy5jCTIwMTItMDEtMDMgMTU6MjA6NTQuOTA1ODUxNDU2ICswMTAwCi1AQCAtNDgsNiAr NDgsOSBAQAorLS0tIGdkYi03LjQuNTAuMjAxMjAxMjAub3JpZy9nZGIvY29yZWxvdy5jCTIwMTIt MDEtMTAgMTc6MzA6NDQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDEyMC9n ZGIvY29yZWxvdy5jCTIwMTItMDEtMjEgMDA6MDI6NTguNzIwNDAxNzkyICswMTAwCitAQCAtNDYs NiArNDYsOSBAQAorICNpbmNsdWRlICJmaWxlbmFtZXMuaCIKICAjaW5jbHVkZSAicHJvZ3NwYWNl LmgiCiAgI2luY2x1ZGUgIm9iamZpbGVzLmgiCi0gI2luY2x1ZGUgIndyYXBwZXIuaCIKICsjaW5j bHVkZSAiYXV4di5oIgogKyNpbmNsdWRlICJlbGYvY29tbW9uLmgiCiArI2luY2x1ZGUgImdkYmNt ZC5oIgogIAotIAogICNpZm5kZWYgT19MQVJHRUZJTEUKLUBAIC0yNzksNiArMjgyLDUyIEBAIGFk ZF90b190aHJlYWRfbGlzdCAoYmZkICphYmZkLCBhc2VjdGlvbgorICNkZWZpbmUgT19MQVJHRUZJ TEUgMAorQEAgLTI3Myw2ICsyNzYsNTIgQEAgYWRkX3RvX3RocmVhZF9saXN0IChiZmQgKmFiZmQs IGFzZWN0aW9uCiAgICAgIGluZmVyaW9yX3B0aWQgPSBwdGlkOwkJCS8qIFllcywgbWFrZSBpdCBj dXJyZW50LiAgKi8KICB9CiAgCkBAIC02NSw3ICs2NSw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIw MTIwMTAzL2dkYi9jb3JlbG93LmMKICAvKiBUaGlzIHJvdXRpbmUgb3BlbnMgYW5kIHNldHMgdXAg dGhlIGNvcmUgZmlsZSBiZmQuICAqLwogIAogIHN0YXRpYyB2b2lkCi1AQCAtMzgwLDYgKzQyOSwx MiBAQCBjb3JlX29wZW4gKGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90dHkpCitAQCAtMzc1LDYg KzQyNCwxMiBAQCBjb3JlX29wZW4gKGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90dHkpCiAgICBw dXNoX3RhcmdldCAoJmNvcmVfb3BzKTsKICAgIGRpc2NhcmRfY2xlYW51cHMgKG9sZF9jaGFpbik7 CiAgCkBAIC03OCw3ICs3OCw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9jb3Jl bG93LmMKICAgIC8qIERvIHRoaXMgYmVmb3JlIGFja25vd2xlZGdpbmcgdGhlIGluZmVyaW9yLCBz byBpZgogICAgICAgcG9zdF9jcmVhdGVfaW5mZXJpb3IgdGhyb3dzIChjYW4gaGFwcGVuIGVhc2ls bHkgaWYgeW91J3JlIGxvYWRpbmcKICAgICAgIGEgY29yZSBmaWxlIHdpdGggdGhlIHdyb25nIGV4 ZWMpLCB3ZSBhcmVuJ3QgbGVmdCB3aXRoIHRocmVhZHMKLUBAIC05MzMsNCArOTg4LDExIEBAIF9p bml0aWFsaXplX2NvcmVsb3cgKHZvaWQpCitAQCAtOTM0LDQgKzk4OSwxMSBAQCBfaW5pdGlhbGl6 ZV9jb3JlbG93ICh2b2lkKQogICAgaW5pdF9jb3JlX29wcyAoKTsKICAKICAgIGFkZF90YXJnZXQg KCZjb3JlX29wcyk7CkBAIC05MCwxMSArOTAsMTEgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAx MDMvZ2RiL2NvcmVsb3cuYwogKwkJCSAgIE5VTEwsIE5VTEwsIE5VTEwsCiArCQkJICAgJnNldGxp c3QsICZzaG93bGlzdCk7CiAgfQotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMvZ2RiL2RvYy9n ZGIudGV4aW5mbworSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMjAvZ2RiL2RvYy9nZGIudGV4aW5m bwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjAxMDMub3JpZy9nZGIvZG9jL2dkYi50 ZXhpbmZvCTIwMTItMDEtMDMgMDU6NTM6NDEuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuNC41 MC4yMDEyMDEwMy9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTItMDEtMDMgMTU6MjA6NTQuOTEwODUx NDM2ICswMTAwCi1AQCAtMTU5NzEsNiArMTU5NzEsMjcgQEAgaW5mb3JtYXRpb24gZmlsZXMuCist LS0gZ2RiLTcuNC41MC4yMDEyMDEyMC5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxMi0wMS0y MSAwMDowMjozNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy40LjUwLjIwMTIwMTIwL2dkYi9k b2MvZ2RiLnRleGluZm8JMjAxMi0wMS0yMSAwMDowMjo0MS42MTk0NjM2MDcgKzAxMDAKK0BAIC0x NjAxNSw2ICsxNjAxNSwyNyBAQCBpbmZvcm1hdGlvbiBmaWxlcy4KICAKICBAZW5kIHRhYmxlCiAg CkBAIC0xMjIsMTEgKzEyMiwxMSBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvZG9j L2dkYi50ZXhpbmZvCiAgQGNpbmRleCBAY29kZXsuZ251X2RlYnVnbGlua30gc2VjdGlvbnMKICBA Y2luZGV4IGRlYnVnIGxpbmsgc2VjdGlvbnMKICBBIGRlYnVnIGxpbmsgaXMgYSBzcGVjaWFsIHNl Y3Rpb24gb2YgdGhlIGV4ZWN1dGFibGUgZmlsZSBuYW1lZAotSW5kZXg6IGdkYi03LjQuNTAuMjAx MjAxMDMvZ2RiL3NvbGliLXN2cjQuYworSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMjAvZ2RiL3Nv bGliLXN2cjQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjAxMDMub3JpZy9nZGIv c29saWItc3ZyNC5jCTIwMTEtMTItMDMgMTk6MzI6MjkuMDAwMDAwMDAwICswMTAwCi0rKysgZ2Ri LTcuNC41MC4yMDEyMDEwMy9nZGIvc29saWItc3ZyNC5jCTIwMTItMDEtMDMgMTU6MjA6NTQuOTEx ODUxNDMyICswMTAwCi1AQCAtMTIyOCw5ICsxMjI4LDUyIEBAIHN2cjRfcmVhZF9zb19saXN0IChD T1JFX0FERFIgbG0sIHN0cnVjdAorLS0tIGdkYi03LjQuNTAuMjAxMjAxMjAub3JpZy9nZGIvc29s aWItc3ZyNC5jCTIwMTItMDEtMDQgMDk6MTc6MTEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu NC41MC4yMDEyMDEyMC9nZGIvc29saWItc3ZyNC5jCTIwMTItMDEtMjEgMDA6MDI6NDEuNjIwNDYz NjAzICswMTAwCitAQCAtMTIyNyw5ICsxMjI3LDUyIEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JF X0FERFIgbG0sIHN0cnVjdAogIAkgIGNvbnRpbnVlOwogIAl9CiAgCkBAIC0xODIsMTEgKzE4Miwx MSBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvc29saWItc3ZyNC5jCiAgICAgICAg eGZyZWUgKGJ1ZmZlcik7CiAgCiAgICAgICAgLyogSWYgdGhpcyBlbnRyeSBoYXMgbm8gbmFtZSwg b3IgaXRzIG5hbWUgbWF0Y2hlcyB0aGUgbmFtZQotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMv Z2RiL2VsZnJlYWQuYworSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMjAvZ2RiL2VsZnJlYWQuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjAxMDMub3JpZy9nZGIvZWxmcmVhZC5jCTIw MTItMDEtMDMgMDU6NTI6MTUuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDEw My9nZGIvZWxmcmVhZC5jCTIwMTItMDEtMDMgMTU6MjE6MDkuOTMzNzk2MTY4ICswMTAwCi1AQCAt NDYsNiArNDYsMTEgQEAKKy0tLSBnZGItNy40LjUwLjIwMTIwMTIwLm9yaWcvZ2RiL2VsZnJlYWQu YwkyMDEyLTAxLTIxIDAwOjAyOjMzLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjQuNTAuMjAx MjAxMjAvZ2RiL2VsZnJlYWQuYwkyMDEyLTAxLTIxIDAwOjAyOjQxLjYyMTQ2MzU5OSArMDEwMAor QEAgLTQ0LDYgKzQ0LDExIEBACiAgI2luY2x1ZGUgImdkYnRocmVhZC5oIgogICNpbmNsdWRlICJy ZWdjYWNoZS5oIgogICNpbmNsdWRlICJiY2FjaGUuaCIKQEAgLTE5OCw3ICsxOTgsNyBAQCBJbmRl eDogZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvZWxmcmVhZC5jCiAgCiAgZXh0ZXJuIHZvaWQgX2lu aXRpYWxpemVfZWxmcmVhZCAodm9pZCk7CiAgCi1AQCAtMTA3OCwxNiArMTA4Myw2NSBAQCBlbGZf Z251X2lmdW5jX3Jlc29sdmVyX3JldHVybl9zdG9wIChzdHJ1CitAQCAtMTA3NiwxNiArMTA4MSw2 NSBAQCBlbGZfZ251X2lmdW5jX3Jlc29sdmVyX3JldHVybl9zdG9wIChzdHJ1CiAgICB1cGRhdGVf YnJlYWtwb2ludF9sb2NhdGlvbnMgKGIsIHNhbHMsIHNhbHNfZW5kKTsKICB9CiAgCkBAIC0yNjYs NyArMjY2LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMvZ2RiL2VsZnJlYWQuYwogIHsK ICAgIHN0cnVjdCBidWlsZF9pZCAqcmV0dmFsOwogIAotQEAgLTExMDMsNiArMTE1NywzNDggQEAg YnVpbGRfaWRfYmZkX2dldCAoYmZkICphYmZkKQorQEAgLTExMDEsNiArMTE1NSwzNDggQEAgYnVp bGRfaWRfYmZkX2dldCAoYmZkICphYmZkKQogICAgcmV0dXJuIHJldHZhbDsKICB9CiAgCkBAIC02 MTUsNyArNjE1LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMvZ2RiL2VsZnJlYWQuYwog IC8qIFJldHVybiBpZiBGSUxFTkFNRSBoYXMgTlRfR05VX0JVSUxEX0lEIG1hdGNoaW5nIHRoZSBD SEVDSyB2YWx1ZS4gICovCiAgCiAgc3RhdGljIGludAotQEAgLTExMTcsNyArMTUxMyw3IEBAIGJ1 aWxkX2lkX3ZlcmlmeSAoY29uc3QgY2hhciAqZmlsZW5hbWUsIHMKK0BAIC0xMTE1LDcgKzE1MTEs NyBAQCBidWlsZF9pZF92ZXJpZnkgKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBzCiAgICBpZiAoYWJm ZCA9PSBOVUxMKQogICAgICByZXR1cm4gMDsKICAKQEAgLTYyNCw3ICs2MjQsNyBAQCBJbmRleDog Z2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvZWxmcmVhZC5jCiAgCiAgICBpZiAoZm91bmQgPT0gTlVM TCkKICAgICAgd2FybmluZyAoXygiRmlsZSBcIiVzXCIgaGFzIG5vIGJ1aWxkLWlkLCBmaWxlIHNr aXBwZWQiKSwgZmlsZW5hbWUpOwotQEAgLTExMzUsMTQgKzE1MzEsMTUgQEAgYnVpbGRfaWRfdmVy aWZ5IChjb25zdCBjaGFyICpmaWxlbmFtZSwgcworQEAgLTExMzMsMTQgKzE1MjksMTUgQEAgYnVp bGRfaWRfdmVyaWZ5IChjb25zdCBjaGFyICpmaWxlbmFtZSwgcwogICAgcmV0dXJuIHJldHZhbDsK ICB9CiAgCkBAIC02NDQsNyArNjQ0LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMvZ2Ri L2VsZnJlYWQuYwogIAogICAgLyogS2VlcCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHNvIHRoYXQg REVCVUdfRklMRV9ESVJFQ1RPUlkgYmVpbmcgIiIgd2lsbAogICAgICAgY2F1c2UgIi8uYnVpbGQt aWQvLi4uIiBsb29rdXBzLiAgKi8KLUBAIC0xMTUzLDYgKzE1NTAsOCBAQCBidWlsZF9pZF90b19k ZWJ1Z19maWxlbmFtZSAoc3RydWN0IGJ1aWxkCitAQCAtMTE1MSw2ICsxNTQ4LDggQEAgYnVpbGRf aWRfdG9fZGVidWdfZmlsZW5hbWUgKHN0cnVjdCBidWlsZAogICAgICAgIGNoYXIgKnMsICpkZWJ1 Z2Rpcl9lbmQ7CiAgICAgICAgZ2RiX2J5dGUgKmRhdGEgPSBidWlsZF9pZC0+ZGF0YTsKICAgICAg ICBzaXplX3Qgc2l6ZSA9IGJ1aWxkX2lkLT5zaXplOwpAQCAtNjUzLDcgKzY1Myw3IEBAIEluZGV4 OiBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9lbGZyZWFkLmMKICAKICAgICAgICB3aGlsZSAoKmRl YnVnZGlyID09IERJUk5BTUVfU0VQQVJBVE9SKQogIAlkZWJ1Z2RpcisrOwotQEAgLTExNzMsMzkg KzE1NzIsMjQyIEBAIGJ1aWxkX2lkX3RvX2RlYnVnX2ZpbGVuYW1lIChzdHJ1Y3QgYnVpbGQKK0BA IC0xMTcxLDM5ICsxNTcwLDI0MiBAQCBidWlsZF9pZF90b19kZWJ1Z19maWxlbmFtZSAoc3RydWN0 IGJ1aWxkCiAgCSpzKysgPSAnLyc7CiAgICAgICAgd2hpbGUgKHNpemUtLSA+IDApCiAgCXMgKz0g c3ByaW50ZiAocywgIiUwMngiLCAodW5zaWduZWQpICpkYXRhKyspOwpAQCAtOTA4LDcgKzkwOCw3 IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9lbGZyZWFkLmMKICAgICAgICB4ZnJl ZSAoYnVpbGRfaWQpOwogICAgICAgIC8qIFByZXZlbnQgbG9vcGluZyBvbiBhIHN0cmlwcGVkIC5k ZWJ1ZyBmaWxlLiAgKi8KICAgICAgICBpZiAoYnVpbGRfaWRfbmFtZSAhPSBOVUxMCi1AQCAtMTIx Niw3ICsxODE4LDcgQEAgZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKHN0cgor QEAgLTEyMTQsNyArMTgxNiw3IEBAIGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlk IChzdHIKICAJICB4ZnJlZSAoYnVpbGRfaWRfbmFtZSk7CiAgCX0KICAgICAgICBlbHNlIGlmIChi dWlsZF9pZF9uYW1lICE9IE5VTEwpCkBAIC05MTcsNyArOTE3LDcgQEAgSW5kZXg6IGdkYi03LjQu NTAuMjAxMjAxMDMvZ2RiL2VsZnJlYWQuYwogICAgICB9CiAgICByZXR1cm4gTlVMTDsKICB9Ci1A QCAtMTQzNiw5ICsyMDM4LDEwIEBAIGVsZl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpv YmpmaWwKK0BAIC0xNDM0LDkgKzIwMzYsMTAgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9i amZpbGUgKm9iamZpbAogICAgICAgYC5ub3RlLmdudS5idWlsZC1pZCcuICAqLwogICAgZWxzZSBp ZiAoIW9iamZpbGVfaGFzX3BhcnRpYWxfc3ltYm9scyAob2JqZmlsZSkpCiAgICAgIHsKQEAgLTkz MCw3ICs5MzAsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvZWxmcmVhZC5jCiAg CiAgICAgICAgaWYgKGRlYnVnZmlsZSA9PSBOVUxMKQogIAlkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFy YXRlX2RlYnVnX2ZpbGVfYnlfZGVidWdsaW5rIChvYmpmaWxlKTsKLUBAIC0xNDUwLDYgKzIwNTMs MTIgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbAorQEAgLTE0NDgs NiArMjA1MSwxMiBAQCBlbGZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsCiAg CSAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRlIChhYmZkLCBzeW1maWxlX2ZsYWdzLCBvYmpmaWxl KTsKICAJICB4ZnJlZSAoZGVidWdmaWxlKTsKICAJfQpAQCAtOTQzLDcgKzk0Myw3IEBAIEluZGV4 OiBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9lbGZyZWFkLmMKICAgICAgfQogIH0KICAKLUBAIC0x OTMzLDQgKzI1NDIsMTYgQEAgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCkKK0BAIC0xOTMxLDQg KzI1NDAsMTYgQEAgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCkKICAKICAgIGVsZl9vYmpmaWxl X2dudV9pZnVuY19jYWNoZV9kYXRhID0gcmVnaXN0ZXJfb2JqZmlsZV9kYXRhICgpOwogICAgZ251 X2lmdW5jX2Zuc19wID0gJmVsZl9nbnVfaWZ1bmNfZm5zOwpAQCAtOTYwLDExICs5NjAsMTEgQEAg SW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMvZ2RiL2VsZnJlYWQuYwogKwogKyAgb2JzZXJ2ZXJf YXR0YWNoX2V4ZWN1dGFibGVfY2hhbmdlZCAoZGVidWdfcHJpbnRfZXhlY3V0YWJsZV9jaGFuZ2Vk KTsKICB9Ci1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvc3ltZmlsZS5oCitJbmRleDog Z2RiLTcuNC41MC4yMDEyMDEyMC9nZGIvc3ltZmlsZS5oCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu NC41MC4yMDEyMDEwMy5vcmlnL2dkYi9zeW1maWxlLmgJMjAxMi0wMS0wMyAwNTo1MjoxNS4wMDAw MDAwMDAgKzAxMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9zeW1maWxlLmgJMjAxMi0w MS0wMyAxNToyMDo1NC45MTQ4NTE0MjIgKzAxMDAKLUBAIC02MTYsNiArNjE2LDEzIEBAIHZvaWQg ZnJlZV9zeW1maWxlX3NlZ21lbnRfZGF0YSAoc3RydWN0IHMKKy0tLSBnZGItNy40LjUwLjIwMTIw MTIwLm9yaWcvZ2RiL3N5bWZpbGUuaAkyMDEyLTAxLTIxIDAwOjAyOjMzLjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjQuNTAuMjAxMjAxMjAvZ2RiL3N5bWZpbGUuaAkyMDEyLTAxLTIxIDAwOjAy OjQxLjYyMTQ2MzU5OSArMDEwMAorQEAgLTYxNCw2ICs2MTQsMTMgQEAgdm9pZCBmcmVlX3N5bWZp bGVfc2VnbWVudF9kYXRhIChzdHJ1Y3QgcwogIAogIGV4dGVybiBzdHJ1Y3QgY2xlYW51cCAqaW5j cmVtZW50X3JlYWRpbmdfc3ltdGFiICh2b2lkKTsKICAKQEAgLTk3OCwxMSArOTc4LDExIEBAIElu ZGV4OiBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9zeW1maWxlLmgKICAvKiBGcm9tIGR3YXJmMnJl YWQuYyAqLwogIAogIC8qIE5hbWVzIGZvciBhIGR3YXJmMiBkZWJ1Z2dpbmcgc2VjdGlvbi4gIFRo ZSBmaWVsZCBOT1JNQUwgaXMgdGhlIG5vcm1hbAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMv Z2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAorSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMjAvZ2Ri L3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjAx MDMub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTItMDEtMDMgMDU6NTI6MTUuMDAw MDAwMDAwICswMTAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvdGVzdHN1aXRlL2xpYi9n ZGIuZXhwCTIwMTItMDEtMDMgMTU6MjA6NTQuOTE0ODUxNDIyICswMTAwCi1AQCAtMTM4Nyw2ICsx Mzg3LDE2IEBAIHByb2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsKKy0tLSBnZGItNy40LjUwLjIw MTIwMTIwLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDEyLTAxLTIxIDAwOjAyOjM2 LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjQuNTAuMjAxMjAxMjAvZ2RiL3Rlc3RzdWl0ZS9s aWIvZ2RiLmV4cAkyMDEyLTAxLTIxIDAwOjAyOjQxLjYyMjQ2MzU5NiArMDEwMAorQEAgLTEzODUs NiArMTM4NSwxNiBAQCBwcm9jIGRlZmF1bHRfZ2RiX3N0YXJ0IHsgfSB7CiAgCSAgICB3YXJuaW5n ICJDb3VsZG4ndCBzZXQgdGhlIHdpZHRoIHRvIDAuIgogIAl9CiAgICAgIH0KQEAgLTk5OSwxMCAr OTk5LDEwIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi90ZXN0c3VpdGUvbGliL2dk Yi5leHAKICAgICAgcmV0dXJuIDA7CiAgfQogIAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjAxMDMv Z2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAKK0luZGV4OiBnZGItNy40LjUwLjIwMTIw MTIwL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuNC41MC4yMDEyMDEwMy5vcmlnL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCTIw MTEtMTItMDMgMjE6MjA6MjkuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDEw My9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDEyLTAxLTAzIDE1OjIwOjU0Ljkx NTg1MTQxOSArMDEwMAorLS0tIGdkYi03LjQuNTAuMjAxMjAxMjAub3JpZy9nZGIvdGVzdHN1aXRl L2xpYi9taS1zdXBwb3J0LmV4cAkyMDEyLTAxLTEyIDIzOjI4OjM0LjAwMDAwMDAwMCArMDEwMAor KysrIGdkYi03LjQuNTAuMjAxMjAxMjAvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAJ MjAxMi0wMS0yMSAwMDowMjo0MS42MjI0NjM1OTYgKzAxMDAKIEBAIC0yMTIsNiArMjEyLDE2IEBA IHByb2MgZGVmYXVsdF9taV9nZGJfc3RhcnQgeyBhcmdzIH0gewogIAkgICAgd2FybmluZyAiQ291 bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAwLiIKICAJfQpAQCAtMTAyMCwxMSArMTAyMCwxMSBAQCBJ bmRleDogZ2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4 cAogICAgICAjIElmIGFsbG93aW5nIHRoZSBpbmZlcmlvciB0byBoYXZlIGl0cyBvd24gUFRZIHRo ZW4gYXNzaWduIHRoZSBpbmZlcmlvcgogICAgICAjIGl0cyBvd24gdGVybWluYWwgZGV2aWNlIGhl cmUuCiAgICAgIGlmIHsgJHNlcGFyYXRlX2luZmVyaW9yX3B0eSB9IHsKLUluZGV4OiBnZGItNy40 LjUwLjIwMTIwMTAzL2dkYi9vYmpmaWxlcy5oCitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDEyMC9n ZGIvb2JqZmlsZXMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjAxMDMub3JpZy9n ZGIvb2JqZmlsZXMuaAkyMDExLTEyLTA4IDE5OjA4OjEyLjAwMDAwMDAwMCArMDEwMAotKysrIGdk Yi03LjQuNTAuMjAxMjAxMDMvZ2RiL29iamZpbGVzLmgJMjAxMi0wMS0wMyAxNToyMDo1NC45MTU4 NTE0MTkgKzAxMDAKLUBAIC00MzUsNiArNDM1LDEwIEBAIHN0cnVjdCBvYmpmaWxlCistLS0gZ2Ri LTcuNC41MC4yMDEyMDEyMC5vcmlnL2dkYi9vYmpmaWxlcy5oCTIwMTItMDEtMDQgMDk6MTc6MDku MDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDEyMC9nZGIvb2JqZmlsZXMuaAky MDEyLTAxLTIxIDAwOjAyOjQxLjYyMzQ2MzU5MyArMDEwMAorQEAgLTQzMyw2ICs0MzMsMTAgQEAg c3RydWN0IG9iamZpbGUKICAKICAjZGVmaW5lIE9CSkZfTUFJTkxJTkUgKDEgPDwgNSkKICAKCmRp ZmYgLS1naXQgYS9nZGItYXJjaGVyLnBhdGNoIGIvZ2RiLWFyY2hlci5wYXRjaAppbmRleCBlZGVl N2NhLi41ZTliMTY4IDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLnBhdGNoCisrKyBiL2dkYi1hcmNo ZXIucGF0Y2gKQEAgLTIsNyArMiw3IEBAIGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9nZGIvd2lraS9Q cm9qZWN0QXJjaGVyCiBodHRwOi8vc291cmNld2FyZS5vcmcvZ2RiL3dpa2kvQXJjaGVyQnJhbmNo TWFuYWdlbWVudAogCiBHSVQgc25hcHNob3Q6Ci1jb21taXQgOWQwMzJjYTZiZjZkZTM5YzU1ZDk5 ZmZjMDkwNTY2ODNjN2E2NDk4YgorY29tbWl0IDlmOGQ0N2YwNTkwOTEzMzNkMTc4YmQyNDk1MDdm ZDI1Njc2ODYwZTcKIAogYnJhbmNoIGBhcmNoZXInIC0gdGhlIG1lcmdlIG9mIGJyYW5jaGVzOgog YXJjaGVyLWphbmtyYXRvY2h2aWwtdmxhCkBAIC0xMiwxMCArMTIsMTAgQEAgYXJjaGVyLXNlcmdp b2RqLXN0YXAKIAogCiBkaWZmIC0tZ2l0IGEvZ2RiL01ha2VmaWxlLmluIGIvZ2RiL01ha2VmaWxl LmluCi1pbmRleCA4OTc3NmI5Li5hNDQ0Yzk4IDEwMDY0NAoraW5kZXggMzhjOTNjOS4uM2FjYWNk YiAxMDA2NDQKIC0tLSBhL2dkYi9NYWtlZmlsZS5pbgogKysrIGIvZ2RiL01ha2VmaWxlLmluCi1A QCAtNzI3LDggKzcyNyw4IEBAIFNGSUxFUyA9IGFkYS1leHAueSBhZGEtbGFuZy5jIGFkYS10eXBl cHJpbnQuYyBhZGEtdmFscHJpbnQuYyBhZGEtdGFza3MuYyBcCitAQCAtNzIwLDggKzcyMCw4IEBA IFNGSUxFUyA9IGFkYS1leHAueSBhZGEtbGFuZy5jIGFkYS10eXBlcHJpbnQuYyBhZGEtdmFscHJp bnQuYyBhZGEtdGFza3MuYyBcCiAgCXNlbnRpbmVsLWZyYW1lLmMgXAogIAlzZXJpYWwuYyBzZXIt YmFzZS5jIHNlci11bml4LmMgc2tpcC5jIFwKICAJc29saWIuYyBzb2xpYi10YXJnZXQuYyBzb3Vy Y2UuYyBcCkBAIC0yNiw3ICsyNiw3IEBAIGluZGV4IDg5Nzc2YjkuLmE0NDRjOTggMTAwNjQ0CiAg CXRhcmdldC5jIHRhcmdldC1kZXNjcmlwdGlvbnMuYyB0YXJnZXQtbWVtb3J5LmMgXAogIAl0aHJl YWQuYyB0b3AuYyB0cmFjZXBvaW50LmMgXAogIAl0cmFkLWZyYW1lLmMgXAotQEAgLTgyNSw3ICs4 MjUsNyBAQCBvc2RhdGEuaCBwcm9jZnMuaCBweXRob24vcHktZXZlbnQuaCBweXRob24vcHktZXZl bnRzLmggcHl0aG9uL3B5LXN0b3BldmVudC5oIFwKK0BAIC04MTcsNyArODE3LDcgQEAgb3NkYXRh LmggcHJvY2ZzLmggcHl0aG9uL3B5LWV2ZW50LmggcHl0aG9uL3B5LWV2ZW50cy5oIHB5dGhvbi9w eS1zdG9wZXZlbnQuaCBcCiAgcHl0aG9uL3B5dGhvbi1pbnRlcm5hbC5oIHB5dGhvbi9weXRob24u aCByYXZlbnNjYXItdGhyZWFkLmggcmVjb3JkLmggXAogIHNvbGliLWRhcndpbi5oIHNvbGliLWlh NjQtaHB1eC5oIHNvbGliLXNwdS5oIHdpbmRvd3MtbmF0LmggeGNvZmZyZWFkLmggXAogIGdudWxp Yi9leHRyYS9hcmctbm9ubnVsbC5oIGdudWxpYi9leHRyYS9jKytkZWZzLmggZ251bGliL2V4dHJh L3dhcm4tb24tdXNlLmggXApAQCAtMzUsNyArMzUsNyBAQCBpbmRleCA4OTc3NmI5Li5hNDQ0Yzk4 IDEwMDY0NAogIGNvbW1vbi9jb21tb24tdXRpbHMuaCBjb21tb24veG1sLXV0aWxzLmggY29tbW9u L2J1ZmZlci5oIGNvbW1vbi9wdGlkLmggXAogIGNvbW1vbi9saW51eC1vc2RhdGEuaCBnZGItZGxm Y24uaAogIAotQEAgLTkxMyw3ICs5MTMsNyBAQCBDT01NT05fT0JTID0gJChERVBGSUxFUykgJChD T05GSUdfT0JTKSAkKFlZT0JKKSBcCitAQCAtOTA1LDcgKzkwNSw3IEBAIENPTU1PTl9PQlMgPSAk KERFUEZJTEVTKSAkKENPTkZJR19PQlMpICQoWVlPQkopIFwKICAJeG1sLXN1cHBvcnQubyB4bWwt c3lzY2FsbC5vIHhtbC11dGlscy5vIFwKICAJdGFyZ2V0LWRlc2NyaXB0aW9ucy5vIHRhcmdldC1t ZW1vcnkubyB4bWwtdGRlc2MubyB4bWwtYnVpbHRpbi5vIFwKICAJaW5mZXJpb3IubyBvc2RhdGEu byBnZGJfdXNsZWVwLm8gcmVjb3JkLm8gZ2NvcmUubyBcCkBAIC00NCw3ICs0NCw3IEBAIGluZGV4 IDg5Nzc2YjkuLmE0NDRjOTggMTAwNjQ0CiAgCWNvbW1vbi11dGlscy5vIGJ1ZmZlci5vIHB0aWQu byBnZGItZGxmY24ubwogIAogIFRTT0JTID0gaW5mbG93Lm8KLUBAIC0xMzAxLDYgKzEzMDEsMTIg QEAgc3RhbXAtaDogJChzcmNkaXIpL2NvbmZpZy5pbiBjb25maWcuc3RhdHVzCitAQCAtMTI5Myw2 ICsxMjkzLDEyIEBAIHN0YW1wLWg6ICQoc3JjZGlyKS9jb25maWcuaW4gY29uZmlnLnN0YXR1cwog IAkgIENPTkZJR19MSU5LUz0gXAogIAkgICQoU0hFTEwpIGNvbmZpZy5zdGF0dXMKICAKQEAgLTU4 LDEwICs1OCwxMCBAQCBpbmRleCA4OTc3NmI5Li5hNDQ0Yzk4IDEwMDY0NAogIAkkKFNIRUxMKSBj b25maWcuc3RhdHVzIC0tcmVjaGVjawogIAogZGlmZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05F V1MKLWluZGV4IGE5YTc4NTkuLjc1ZGM5NjQgMTAwNjQ0CitpbmRleCAxMjg4MjVlLi4xM2RkODhj IDEwMDY0NAogLS0tIGEvZ2RiL05FV1MKICsrKyBiL2dkYi9ORVdTCi1AQCAtMzA1LDYgKzMwNSwx MCBAQCBSZW5lc2FzIFJMNzgJCQkJcmw3OC0qLWVsZgorQEAgLTMyOCw2ICszMjgsMTAgQEAgUmVu ZXNhcyBSTDc4CQkJCXJsNzgtKi1lbGYKICAgIEluaXRpYWwgc3VwcG9ydCBmb3IgdGhlIE9wZW5D TCBDIGxhbmd1YWdlIChodHRwOi8vd3d3Lmtocm9ub3Mub3JnL29wZW5jbCkKICAgIGhhcyBiZWVu IGludGVncmF0ZWQgaW50byBHREIuCiAgCkBAIC03MywxMCArNzMsMTAgQEAgaW5kZXggYTlhNzg1 OS4uNzVkYzk2NCAxMDA2NDQKICAKICAgICoqIFRoZSBmdW5jdGlvbiBnZGIuV3JpdGUgbm93IGFj Y2VwdHMgYW4gb3B0aW9uYWwga2V5d29yZCAnc3RyZWFtJy4KIGRpZmYgLS1naXQgYS9nZGIvYWRh LWxhbmcuYyBiL2dkYi9hZGEtbGFuZy5jCi1pbmRleCBjNGJmNmU5Li44YzNhZjE0IDEwMDY0NAor aW5kZXggMjk5NTZkNy4uZGMxZmFkZCAxMDA2NDQKIC0tLSBhL2dkYi9hZGEtbGFuZy5jCiArKysg Yi9nZGIvYWRhLWxhbmcuYwotQEAgLTExOTA0LDYgKzExOTA0LDcgQEAgYWRhX29wZXJhdG9yX2xl bmd0aCAoY29uc3Qgc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBjLCBpbnQgKm9wbGVucCwK K0BAIC0xMTg5Niw2ICsxMTg5Niw3IEBAIGFkYV9vcGVyYXRvcl9sZW5ndGggKGNvbnN0IHN0cnVj dCBleHByZXNzaW9uICpleHAsIGludCBwYywgaW50ICpvcGxlbnAsCiAgCiAgc3RhdGljIGludAog IGFkYV9vcGVyYXRvcl9jaGVjayAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKQEAg LTg0LDcgKzg0LDcgQEAgaW5kZXggYzRiZjZlOS4uOGMzYWYxNCAxMDA2NDQKICAJCSAgICBpbnQg KCpvYmpmaWxlX2Z1bmMpIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgdm9pZCAqZGF0YSksCiAg CQkgICAgdm9pZCAqZGF0YSkKICB7Ci1AQCAtMTE5MTgsMTIgKzExOTE5LDE1IEBAIGFkYV9vcGVy YXRvcl9jaGVjayAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKK0BAIC0xMTkxMCwx MiArMTE5MTEsMTUgQEAgYWRhX29wZXJhdG9yX2NoZWNrIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhw LCBpbnQgcG9zLAogIAlicmVhazsKICAKICAgICAgICBkZWZhdWx0OgpAQCAtMTAzLDEwICsxMDMs MTAgQEAgaW5kZXggYzRiZjZlOS4uOGMzYWYxNCAxMDA2NDQKICAgICAgcmV0dXJuIDE7CiAgCiBk aWZmIC0tZ2l0IGEvZ2RiL2FtZDY0LWxpbnV4LW5hdC5jIGIvZ2RiL2FtZDY0LWxpbnV4LW5hdC5j Ci1pbmRleCBkNTk4Mzg5Li42YmY3OTRiIDEwMDY0NAoraW5kZXggYTBiZGJkNy4uOTg3NjBiZiAx MDA2NDQKIC0tLSBhL2dkYi9hbWQ2NC1saW51eC1uYXQuYwogKysrIGIvZ2RiL2FtZDY0LWxpbnV4 LW5hdC5jCi1AQCAtMzM3LDggKzMzNyw4IEBAIGFtZDY0X2xpbnV4X2RyX2dldF9zdGF0dXMgKHZv aWQpCitAQCAtMzM2LDggKzMzNiw4IEBAIGFtZDY0X2xpbnV4X2RyX2dldF9zdGF0dXMgKHZvaWQp CiAgICByZXR1cm4gYW1kNjRfbGludXhfZHJfZ2V0IChpbmZlcmlvcl9wdGlkLCBEUl9TVEFUVVMp OwogIH0KICAKQEAgLTExNyw3ICsxMTcsNyBAQCBpbmRleCBkNTk4Mzg5Li42YmY3OTRiIDEwMDY0 NAogIAogIHN0YXRpYyBpbnQKICB1cGRhdGVfZGVidWdfcmVnaXN0ZXJzX2NhbGxiYWNrIChzdHJ1 Y3QgbHdwX2luZm8gKmx3cCwgdm9pZCAqYXJnKQotQEAgLTM2NCw5ICszNjQsNyBAQCB1cGRhdGVf ZGVidWdfcmVnaXN0ZXJzX2NhbGxiYWNrIChzdHJ1Y3QgbHdwX2luZm8gKmx3cCwgdm9pZCAqYXJn KQorQEAgLTM2Myw5ICszNjMsNyBAQCB1cGRhdGVfZGVidWdfcmVnaXN0ZXJzX2NhbGxiYWNrIChz dHJ1Y3QgbHdwX2luZm8gKmx3cCwgdm9pZCAqYXJnKQogIHN0YXRpYyB2b2lkCiAgYW1kNjRfbGlu dXhfZHJfc2V0X2NvbnRyb2wgKHVuc2lnbmVkIGxvbmcgY29udHJvbCkKICB7CkBAIC0xMjgsNyAr MTI4LDcgQEAgaW5kZXggZDU5ODM4OS4uNmJmNzk0YiAxMDA2NDQKICB9CiAgCiAgLyogU2V0IGFk ZHJlc3MgUkVHTlVNICh6ZXJvIGJhc2VkKSB0byBBRERSIGluIGFsbCBMV1BzIG9mIHRoZSBjdXJy ZW50Ci1AQCAtMzc5LDcgKzM3Nyw3IEBAIGFtZDY0X2xpbnV4X2RyX3NldF9hZGRyIChpbnQgcmVn bnVtLCBDT1JFX0FERFIgYWRkcikKK0BAIC0zNzgsNyArMzc2LDcgQEAgYW1kNjRfbGludXhfZHJf c2V0X2FkZHIgKGludCByZWdudW0sIENPUkVfQUREUiBhZGRyKQogIAogICAgZ2RiX2Fzc2VydCAo cmVnbnVtID49IDAgJiYgcmVnbnVtIDw9IERSX0xBU1RBRERSIC0gRFJfRklSU1RBRERSKTsKICAK QEAgLTEzNyw3ICsxMzcsNyBAQCBpbmRleCBkNTk4Mzg5Li42YmY3OTRiIDEwMDY0NAogIH0KICAK ICAvKiBDYWxsZWQgd2hlbiByZXN1bWluZyBhIHRocmVhZC4KLUBAIC00MDEsNiArMzk5LDEzIEBA IGFtZDY0X2xpbnV4X3ByZXBhcmVfdG9fcmVzdW1lIChzdHJ1Y3QgbHdwX2luZm8gKmx3cCkKK0BA IC00MDAsNiArMzk4LDEzIEBAIGFtZDY0X2xpbnV4X3ByZXBhcmVfdG9fcmVzdW1lIChzdHJ1Y3Qg bHdwX2luZm8gKmx3cCkKICAgICAgICBzdHJ1Y3QgaTM4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRl ID0gaTM4Nl9kZWJ1Z19yZWdfc3RhdGUgKCk7CiAgICAgICAgaW50IGk7CiAgCkBAIC0xNTIsMTAg KzE1MiwxMCBAQCBpbmRleCBkNTk4Mzg5Li42YmY3OTRiIDEwMDY0NAogIAlpZiAoc3RhdGUtPmRy X3JlZl9jb3VudFtpXSA+IDApCiAgCSAgewogZGlmZiAtLWdpdCBhL2dkYi9hbWQ2NC1saW51eC10 ZGVwLmMgYi9nZGIvYW1kNjQtbGludXgtdGRlcC5jCi1pbmRleCA4NGI1OGEwLi42MmVkOTY0IDEw MDY0NAoraW5kZXggY2E5YWRlNi4uYzMwMTg1ZCAxMDA2NDQKIC0tLSBhL2dkYi9hbWQ2NC1saW51 eC10ZGVwLmMKICsrKyBiL2dkYi9hbWQ2NC1saW51eC10ZGVwLmMKLUBAIC0xMzYzLDYgKzEzNjMs MTUgQEAgYW1kNjRfbGludXhfaW5pdF9hYmkgKHN0cnVjdCBnZGJhcmNoX2luZm8gaW5mbywgc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gpCitAQCAtMTM2Miw2ICsxMzYyLDE1IEBAIGFtZDY0X2xpbnV4 X2luaXRfYWJpIChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoKQogICAgc2V0X2dkYmFyY2hfcHJvY2Vzc19yZWNvcmQgKGdkYmFyY2gsIGkzODZfcHJvY2Vz c19yZWNvcmQpOwogICAgc2V0X2dkYmFyY2hfcHJvY2Vzc19yZWNvcmRfc2lnbmFsIChnZGJhcmNo LCBhbWQ2NF9saW51eF9yZWNvcmRfc2lnbmFsKTsKICAKQEAgLTE3MiwxMCArMTcyLDEwIEBAIGlu ZGV4IDg0YjU4YTAuLjYyZWQ5NjQgMTAwNjQ0CiAgICAvKiBUaGVzZSB2YWx1ZXMgYXJlIHRoZSBz aXplIG9mIHRoZSB0eXBlIHRoYXQgd2lsbCBiZSB1c2VkIGluIGEgc3lzdGVtCiAgICAgICBjYWxs LiAgVGhleSBhcmUgb2J0YWluZWQgZnJvbSBMaW51eCBLZXJuZWwgc291cmNlLiAgKi8KIGRpZmYg LS1naXQgYS9nZGIvYXJtLWxpbnV4LXRkZXAuYyBiL2dkYi9hcm0tbGludXgtdGRlcC5jCi1pbmRl eCBiZWUzM2U0Li40ZGY2YmZhIDEwMDY0NAoraW5kZXggYWM0ODYwYy4uZDcxMDY4MiAxMDA2NDQK IC0tLSBhL2dkYi9hcm0tbGludXgtdGRlcC5jCiArKysgYi9nZGIvYXJtLWxpbnV4LXRkZXAuYwot QEAgLTQ0LDYgKzQ0LDEyIEBACitAQCAtNDMsNiArNDMsMTIgQEAKICAjaW5jbHVkZSAiZ2RidGhy ZWFkLmgiCiAgI2luY2x1ZGUgInN5bWZpbGUuaCIKICAKQEAgLTE4OCw3ICsxODgsNyBAQCBpbmRl eCBiZWUzM2U0Li40ZGY2YmZhIDEwMDY0NAogICNpbmNsdWRlICJnZGJfc3RyaW5nLmgiCiAgCiAg LyogVGhpcyBpcyBkZWZpbmVkIGluIDxlbGYuaD4gb24gQVJNIEdOVS9MaW51eCBzeXN0ZW1zLiAg Ki8KLUBAIC0xMDU0LDYgKzEwNjAsMTIyIEBAIGFybV9saW51eF9kaXNwbGFjZWRfc3RlcF9jb3B5 X2luc24gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTEwNTMsNiArMTA1OSwxMjIgQEAg YXJtX2xpbnV4X2Rpc3BsYWNlZF9zdGVwX2NvcHlfaW5zbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsCiAgICByZXR1cm4gZHNjOwogIH0KICAKQEAgLTMxMSw3ICszMTEsNyBAQCBpbmRleCBiZWUz M2U0Li40ZGY2YmZhIDEwMDY0NAogIHN0YXRpYyB2b2lkCiAgYXJtX2xpbnV4X2luaXRfYWJpIChz dHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sCiAgCQkgICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gp Ci1AQCAtMTE1Myw2ICsxMjc1LDE1IEBAIGFybV9saW51eF9pbml0X2FiaSAoc3RydWN0IGdkYmFy Y2hfaW5mbyBpbmZvLAorQEAgLTExNTIsNiArMTI3NCwxNSBAQCBhcm1fbGludXhfaW5pdF9hYmkg KHN0cnVjdCBnZGJhcmNoX2luZm8gaW5mbywKICAJCQkJCSAgIHNpbXBsZV9kaXNwbGFjZWRfc3Rl cF9mcmVlX2Nsb3N1cmUpOwogICAgc2V0X2dkYmFyY2hfZGlzcGxhY2VkX3N0ZXBfbG9jYXRpb24g KGdkYmFyY2gsIGRpc3BsYWNlZF9zdGVwX2F0X2VudHJ5X3BvaW50KTsKICAKQEAgLTMyOCw3ICsz MjgsNyBAQCBpbmRleCBiZWUzM2U0Li40ZGY2YmZhIDEwMDY0NAogICAgdGRlcC0+c3lzY2FsbF9u ZXh0X3BjID0gYXJtX2xpbnV4X3N5c2NhbGxfbmV4dF9wYzsKICB9CiBkaWZmIC0tZ2l0IGEvZ2Ri L2F4LWdkYi5jIGIvZ2RiL2F4LWdkYi5jCi1pbmRleCBlNTljNzM1Li5lMWIwZjg1IDEwMDY0NAor aW5kZXggMzFlOTFiOS4uNDUxOGY2YiAxMDA2NDQKIC0tLSBhL2dkYi9heC1nZGIuYwogKysrIGIv Z2RiL2F4LWdkYi5jCiBAQCAtOTUsOCArOTUsNiBAQCBzdGF0aWMgdm9pZCBnZW5faW50X2xpdGVy YWwgKHN0cnVjdCBhZ2VudF9leHByICpheCwKQEAgLTM4NywxMCArMzg3LDEwIEBAIGluZGV4IGU1 OWM3MzUuLmUxYjBmODUgMTAwNjQ0CiAgCQkgICAiZXhwcmVzc2lvbnMgY2Fubm90IHVzZSBjb252 ZW5pZW5jZSB2YXJpYWJsZXMuIiksIG5hbWUpOwogICAgICAgIH0KIGRpZmYgLS1naXQgYS9nZGIv YXgtZ2RiLmggYi9nZGIvYXgtZ2RiLmgKLWluZGV4IDk1MWVjMWYuLjZjZGNkYTIgMTAwNjQ0Citp bmRleCA0OGMzNWE0Li4wOWY2ODg5IDEwMDY0NAogLS0tIGEvZ2RiL2F4LWdkYi5oCiArKysgYi9n ZGIvYXgtZ2RiLmgKLUBAIC0xMTEsNiArMTExLDExIEBAIGV4dGVybiBzdHJ1Y3QgYWdlbnRfZXhw ciAqZ2VuX3RyYWNlX2Zvcl9yZXR1cm5fYWRkcmVzcyAoQ09SRV9BRERSLAorQEAgLTExMCw2ICsx MTAsMTEgQEAgZXh0ZXJuIHN0cnVjdCBhZ2VudF9leHByICpnZW5fdHJhY2VfZm9yX3JldHVybl9h ZGRyZXNzIChDT1JFX0FERFIsCiAgCiAgZXh0ZXJuIHN0cnVjdCBhZ2VudF9leHByICpnZW5fZXZh bF9mb3JfZXhwciAoQ09SRV9BRERSLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqKTsKICAKQEAgLTQwMywx MCArNDAzLDEwIEBAIGluZGV4IDk1MWVjMWYuLjZjZGNkYTIgMTAwNjQ0CiAgZXh0ZXJuIGludCB0 cmFjZV9zdHJpbmdfa2x1ZGdlOwogIAogZGlmZiAtLWdpdCBhL2dkYi9ibG9jay5jIGIvZ2RiL2Js b2NrLmMKLWluZGV4IDFmYTM2ODguLjc2NDU3YmEgMTAwNjQ0CitpbmRleCA1N2FiNGMyLi41NzM2 MzBlIDEwMDY0NAogLS0tIGEvZ2RiL2Jsb2NrLmMKICsrKyBiL2dkYi9ibG9jay5jCi1AQCAtMzcw LDMgKzM3MCwyMSBAQCBhbGxvY2F0ZV9ibG9jayAoc3RydWN0IG9ic3RhY2sgKm9ic3RhY2spCitA QCAtMzY5LDMgKzM2OSwyMSBAQCBhbGxvY2F0ZV9ibG9jayAoc3RydWN0IG9ic3RhY2sgKm9ic3Rh Y2spCiAgCiAgICByZXR1cm4gYmw7CiAgfQpAQCAtNDI5LDEwICs0MjksMTAgQEAgaW5kZXggMWZh MzY4OC4uNzY0NTdiYSAxMDA2NDQKICsgIHJldHVybiBTWU1CT0xfU1lNVEFCIChmdW5jKS0+b2Jq ZmlsZTsKICt9CiBkaWZmIC0tZ2l0IGEvZ2RiL2Jsb2NrLmggYi9nZGIvYmxvY2suaAotaW5kZXgg NjNiMThhNi4uODA4YTE5YSAxMDA2NDQKK2luZGV4IDJjYmNjMWIuLjEwNGMxNDYgMTAwNjQ0CiAt LS0gYS9nZGIvYmxvY2suaAogKysrIGIvZ2RiL2Jsb2NrLmgKLUBAIC0xNjgsNCArMTY4LDYgQEAg ZXh0ZXJuIGNvbnN0IHN0cnVjdCBibG9jayAqYmxvY2tfZ2xvYmFsX2Jsb2NrIChjb25zdCBzdHJ1 Y3QgYmxvY2sgKmJsb2NrKTsKK0BAIC0xNjcsNCArMTY3LDYgQEAgZXh0ZXJuIGNvbnN0IHN0cnVj dCBibG9jayAqYmxvY2tfZ2xvYmFsX2Jsb2NrIChjb25zdCBzdHJ1Y3QgYmxvY2sgKmJsb2NrKTsK ICAKICBleHRlcm4gc3RydWN0IGJsb2NrICphbGxvY2F0ZV9ibG9jayAoc3RydWN0IG9ic3RhY2sg Km9ic3RhY2spOwogIApAQCAtNDQwLDEwICs0NDAsMTAgQEAgaW5kZXggNjNiMThhNi4uODA4YTE5 YSAxMDA2NDQKICsKICAjZW5kaWYgLyogQkxPQ0tfSCAqLwogZGlmZiAtLWdpdCBhL2dkYi9icmVh a3BvaW50LmMgYi9nZGIvYnJlYWtwb2ludC5jCi1pbmRleCAxNzJlNDE5Li43NDMyNGM0IDEwMDY0 NAoraW5kZXggZjZhMDI3Ni4uZTQwNjE1NiAxMDA2NDQKIC0tLSBhL2dkYi9icmVha3BvaW50LmMK ICsrKyBiL2dkYi9icmVha3BvaW50LmMKLUBAIC02Myw2ICs2Myw4IEBACitAQCAtNjAsNiArNjAs OCBAQAogICNpbmNsdWRlICJqaXQuaCIKICAjaW5jbHVkZSAieG1sLXN5c2NhbGwuaCIKICAjaW5j bHVkZSAicGFyc2VyLWRlZnMuaCIKQEAgLTQ1Miw3ICs0NTIsNyBAQCBpbmRleCAxNzJlNDE5Li43 NDMyNGM0IDEwMDY0NAogICNpbmNsdWRlICJjbGkvY2xpLXV0aWxzLmgiCiAgI2luY2x1ZGUgImNv bnRpbnVhdGlvbnMuaCIKICAjaW5jbHVkZSAic3RhY2suaCIKLUBAIC0xMjI1LDkgKzEyMjcsMTAg QEAgaXNfd2F0Y2hwb2ludCAoY29uc3Qgc3RydWN0IGJyZWFrcG9pbnQgKmJwdCkKK0BAIC0xMjM5 LDkgKzEyNDEsMTAgQEAgaXNfd2F0Y2hwb2ludCAoY29uc3Qgc3RydWN0IGJyZWFrcG9pbnQgKmJw dCkKICBzdGF0aWMgaW50CiAgd2F0Y2hwb2ludF9pbl90aHJlYWRfc2NvcGUgKHN0cnVjdCB3YXRj aHBvaW50ICpiKQogIHsKQEAgLTQ2Niw3ICs0NjYsNyBAQCBpbmRleCAxNzJlNDE5Li43NDMyNGM0 IDEwMDY0NAogIH0KICAKICAvKiBTZXQgd2F0Y2hwb2ludCBCIHRvIGRpc3BfZGVsX2F0X25leHRf c3RvcCwgZXZlbiBpbmNsdWRpbmcgaXRzIHBvc3NpYmxlCi1AQCAtMTYzNCw2ICsxNjM3LDQwIEBA IHVuZHVwbGljYXRlZF9zaG91bGRfYmVfaW5zZXJ0ZWQgKHN0cnVjdCBicF9sb2NhdGlvbiAqYmwp CitAQCAtMTY0OCw2ICsxNjUxLDQwIEBAIHVuZHVwbGljYXRlZF9zaG91bGRfYmVfaW5zZXJ0ZWQg KHN0cnVjdCBicF9sb2NhdGlvbiAqYmwpCiAgICByZXR1cm4gcmVzdWx0OwogIH0KICAKQEAgLTUw Nyw3ICs1MDcsNyBAQCBpbmRleCAxNzJlNDE5Li43NDMyNGM0IDEwMDY0NAogIC8qIEluc2VydCBh IGxvdy1sZXZlbCAiYnJlYWtwb2ludCIgb2Ygc29tZSB0eXBlLiAgQkwgaXMgdGhlIGJyZWFrcG9p bnQKICAgICBsb2NhdGlvbi4gIEFueSBlcnJvciBtZXNzYWdlcyBhcmUgcHJpbnRlZCB0byBUTVBf RVJST1JfU1RSRUFNOyBhbmQKICAgICBESVNBQkxFRF9CUkVBS1MsIGFuZCBIV19CUkVBS1BPSU5U X0VSUk9SIGFyZSB1c2VkIHRvIHJlcG9ydCBwcm9ibGVtcy4KLUBAIC0xNzI3LDYgKzE3NjQsOCBA QCBpbnNlcnRfYnBfbG9jYXRpb24gKHN0cnVjdCBicF9sb2NhdGlvbiAqYmwsCitAQCAtMTc0MSw2 ICsxNzc4LDggQEAgaW5zZXJ0X2JwX2xvY2F0aW9uIChzdHJ1Y3QgYnBfbG9jYXRpb24gKmJsLAog IAkgIC8qIE5vIG92ZXJsYXkgaGFuZGxpbmc6IGp1c3Qgc2V0IHRoZSBicmVha3BvaW50LiAgKi8K ICAKICAJICB2YWwgPSBibC0+b3duZXItPm9wcy0+aW5zZXJ0X2xvY2F0aW9uIChibCk7CkBAIC01 MTYsNyArNTE2LDcgQEAgaW5kZXggMTcyZTQxOS4uNzQzMjRjNCAxMDA2NDQKICAJfQogICAgICAg IGVsc2UKICAJewotQEAgLTIyMTAsMTEgKzIyNDksMjMgQEAgc3RydWN0IGJyZWFrcG9pbnRfb2Jq ZmlsZV9kYXRhCitAQCAtMjIyNCwxMSArMjI2MywyMyBAQCBzdHJ1Y3QgYnJlYWtwb2ludF9vYmpm aWxlX2RhdGEKICAgIC8qIE1pbmltYWwgc3ltYm9sKHMpIGZvciAibG9uZ2ptcCIsICJzaWdsb25n am1wIiwgZXRjLiAoaWYgYW55KS4gICovCiAgICBzdHJ1Y3QgbWluaW1hbF9zeW1ib2wgKmxvbmdq bXBfbXN5bVtOVU1fTE9OR0pNUF9OQU1FU107CiAgCkBAIC01NDAsNyArNTQwLDcgQEAgaW5kZXgg MTcyZTQxOS4uNzQzMjRjNCAxMDA2NDQKICB9OwogIAogIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2Jq ZmlsZV9kYXRhICpicmVha3BvaW50X29iamZpbGVfa2V5OwotQEAgLTIyNTEsNiArMjMwMiwxNSBA QCBnZXRfYnJlYWtwb2ludF9vYmpmaWxlX2RhdGEgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQor QEAgLTIyNjUsNiArMjMxNiwxNSBAQCBnZXRfYnJlYWtwb2ludF9vYmpmaWxlX2RhdGEgKHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlKQogIH0KICAKICBzdGF0aWMgdm9pZApAQCAtNTU2LDcgKzU1Niw3 IEBAIGluZGV4IDE3MmU0MTkuLjc0MzI0YzQgMTAwNjQ0CiAgY3JlYXRlX292ZXJsYXlfZXZlbnRf YnJlYWtwb2ludCAodm9pZCkKICB7CiAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZTsKLUBAIC0y MzI3LDYgKzIzODcsMzcgQEAgY3JlYXRlX2xvbmdqbXBfbWFzdGVyX2JyZWFrcG9pbnQgKHZvaWQp CitAQCAtMjM0MSw2ICsyNDAxLDM3IEBAIGNyZWF0ZV9sb25nam1wX21hc3Rlcl9icmVha3BvaW50 ICh2b2lkKQogIAogICAgICAgIGJwX29iamZpbGVfZGF0YSA9IGdldF9icmVha3BvaW50X29iamZp bGVfZGF0YSAob2JqZmlsZSk7CiAgCkBAIC01OTQsNyArNTk0LDcgQEAgaW5kZXggMTcyZTQxOS4u NzQzMjRjNCAxMDA2NDQKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgTlVNX0xPTkdKTVBfTkFNRVM7 IGkrKykKICAJewogIAkgIHN0cnVjdCBicmVha3BvaW50ICpiOwotQEAgLTI0MzcsNiArMjUyOCw0 MCBAQCBjcmVhdGVfZXhjZXB0aW9uX21hc3Rlcl9icmVha3BvaW50ICh2b2lkKQorQEAgLTI0NTEs NiArMjU0Miw0MCBAQCBjcmVhdGVfZXhjZXB0aW9uX21hc3Rlcl9icmVha3BvaW50ICh2b2lkKQog IAogICAgICAgIGJwX29iamZpbGVfZGF0YSA9IGdldF9icmVha3BvaW50X29iamZpbGVfZGF0YSAo b2JqZmlsZSk7CiAgCkBAIC02MzUsNyArNjM1LDcgQEAgaW5kZXggMTcyZTQxOS4uNzQzMjRjNCAx MDA2NDQKICAgICAgICBpZiAobXN5bV9ub3RfZm91bmRfcCAoYnBfb2JqZmlsZV9kYXRhLT5leGNl cHRpb25fbXN5bSkpCiAgCWNvbnRpbnVlOwogIAotQEAgLTI2NTIsNiArMjc3Nyw4IEBAIHJlbW92 ZV9icmVha3BvaW50XzEgKHN0cnVjdCBicF9sb2NhdGlvbiAqYmwsIGluc2VydGlvbl9zdGF0ZV90 IGlzKQorQEAgLTI2NjYsNiArMjc5MSw4IEBAIHJlbW92ZV9icmVha3BvaW50XzEgKHN0cnVjdCBi cF9sb2NhdGlvbiAqYmwsIGluc2VydGlvbl9zdGF0ZV90IGlzKQogIAl7CiAgCSAgLyogTm8gb3Zl cmxheSBoYW5kbGluZzoganVzdCByZW1vdmUgdGhlIGJyZWFrcG9pbnQuICAqLwogIAkgIHZhbCA9 IGJsLT5vd25lci0+b3BzLT5yZW1vdmVfbG9jYXRpb24gKGJsKTsKQEAgLTY0NCw3ICs2NDQsNyBA QCBpbmRleCAxNzJlNDE5Li43NDMyNGM0IDEwMDY0NAogIAl9CiAgICAgICAgZWxzZQogIAl7Ci1A QCAtNzA5Nyw2ICs3MjI0LDcgQEAgbW9tZW50YXJ5X2JyZWFrcG9pbnRfZnJvbV9tYXN0ZXIgKHN0 cnVjdCBicmVha3BvaW50ICpvcmlnLAorQEAgLTcxMTEsNiArNzIzOCw3IEBAIG1vbWVudGFyeV9i cmVha3BvaW50X2Zyb21fbWFzdGVyIChzdHJ1Y3QgYnJlYWtwb2ludCAqb3JpZywKICAgIGNvcHkt PmxvYy0+YWRkcmVzcyA9IG9yaWctPmxvYy0+YWRkcmVzczsKICAgIGNvcHktPmxvYy0+c2VjdGlv biA9IG9yaWctPmxvYy0+c2VjdGlvbjsKICAgIGNvcHktPmxvYy0+cHNwYWNlID0gb3JpZy0+bG9j LT5wc3BhY2U7CkBAIC02NTIsNyArNjUyLDcgQEAgaW5kZXggMTcyZTQxOS4uNzQzMjRjNCAxMDA2 NDQKICAKICAgIGlmIChvcmlnLT5sb2MtPnNvdXJjZV9maWxlICE9IE5VTEwpCiAgICAgIGNvcHkt PmxvYy0+c291cmNlX2ZpbGUgPSB4c3RyZHVwIChvcmlnLT5sb2MtPnNvdXJjZV9maWxlKTsKLUBA IC03MTgyLDYgKzczMTAsNyBAQCBhZGRfbG9jYXRpb25fdG9fYnJlYWtwb2ludCAoc3RydWN0IGJy ZWFrcG9pbnQgKmIsCitAQCAtNzE5Niw2ICs3MzI0LDcgQEAgYWRkX2xvY2F0aW9uX3RvX2JyZWFr cG9pbnQgKHN0cnVjdCBicmVha3BvaW50ICpiLAogICAgbG9jLT5yZXF1ZXN0ZWRfYWRkcmVzcyA9 IHNhbC0+cGM7CiAgICBsb2MtPmFkZHJlc3MgPSBhZGp1c3RlZF9hZGRyZXNzOwogICAgbG9jLT5w c3BhY2UgPSBzYWwtPnBzcGFjZTsKQEAgLTY2MCw3ICs2NjAsNyBAQCBpbmRleCAxNzJlNDE5Li43 NDMyNGM0IDEwMDY0NAogICAgZ2RiX2Fzc2VydCAobG9jLT5wc3BhY2UgIT0gTlVMTCk7CiAgICBs b2MtPnNlY3Rpb24gPSBzYWwtPnNlY3Rpb247CiAgICBsb2MtPmdkYmFyY2ggPSBsb2NfZ2RiYXJj aDsKLUBAIC0xMzMwNiw2ICsxMzQzNSwyNCBAQCBhbGxfdHJhY2Vwb2ludHMgKHZvaWQpCitAQCAt MTM1MjEsNiArMTM2NTAsMjQgQEAgYWxsX3RyYWNlcG9pbnRzICh2b2lkKQogICAgcmV0dXJuIHRw X3ZlYzsKICB9CiAgCkBAIC02ODUsNyArNjg1LDcgQEAgaW5kZXggMTcyZTQxOS4uNzQzMjRjNCAx MDA2NDQKICAMCiAgLyogVGhpcyBoZWxwIHN0cmluZyBpcyB1c2VkIGZvciB0aGUgYnJlYWssIGhi cmVhaywgdGJyZWFrIGFuZCB0aGJyZWFrCiAgICAgY29tbWFuZHMuICBJdCBpcyBkZWZpbmVkIGFz IGEgbWFjcm8gdG8gcHJldmVudCBkdXBsaWNhdGlvbi4KLUBAIC0xMzU4Nyw3ICsxMzczNCw4IEBA IF9pbml0aWFsaXplX2JyZWFrcG9pbnQgKHZvaWQpCitAQCAtMTM4MTUsNyArMTM5NjIsOCBAQCBf aW5pdGlhbGl6ZV9icmVha3BvaW50ICh2b2lkKQogICAgb2JzZXJ2ZXJfYXR0YWNoX2luZmVyaW9y X2V4aXQgKGNsZWFyX3N5c2NhbGxfY291bnRzKTsKICAgIG9ic2VydmVyX2F0dGFjaF9tZW1vcnlf Y2hhbmdlZCAoaW52YWxpZGF0ZV9icF92YWx1ZV9vbl9tZW1vcnlfY2hhbmdlKTsKICAKQEAgLTY5 NSw3ICs2OTUsNyBAQCBpbmRleCAxNzJlNDE5Li43NDMyNGM0IDEwMDY0NAogIAogICAgYnJlYWtw b2ludF9jaGFpbiA9IDA7CiAgICAvKiBEb24ndCBib3RoZXIgdG8gY2FsbCBzZXRfYnJlYWtwb2lu dF9jb3VudC4gICRicG51bSBpc24ndCB1c2VmdWwKLUBAIC0xNDExNCw0ICsxNDI2Miw3IEBAIHJh bmdlIChpbmNsdWRpbmcgU1RBUlQtTE9DQVRJT04gYW5kIEVORC1MT0NBVElPTikuIikpOworQEAg LTE0MzQwLDQgKzE0NDg4LDcgQEAgcmFuZ2UgKGluY2x1ZGluZyBTVEFSVC1MT0NBVElPTiBhbmQg RU5ELUxPQ0FUSU9OKS4iKSk7CiAgICBhdXRvbWF0aWNfaGFyZHdhcmVfYnJlYWtwb2ludHMgPSAx OwogIAogICAgb2JzZXJ2ZXJfYXR0YWNoX2Fib3V0X3RvX3Byb2NlZWQgKGJyZWFrcG9pbnRfYWJv dXRfdG9fcHJvY2VlZCk7CkBAIC03MDQsNyArNzA0LDcgQEAgaW5kZXggMTcyZTQxOS4uNzQzMjRj NCAxMDA2NDQKICsjZW5kaWYKICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuaCBiL2dk Yi9icmVha3BvaW50LmgKLWluZGV4IGQyMmU1NjQuLjllYTY2Y2UgMTAwNjQ0CitpbmRleCA4YThk NWYyLi4xZTE4NTYyIDEwMDY0NAogLS0tIGEvZ2RiL2JyZWFrcG9pbnQuaAogKysrIGIvZ2RiL2Jy ZWFrcG9pbnQuaAogQEAgLTM3OSw2ICszNzksMTEgQEAgc3RydWN0IGJwX2xvY2F0aW9uCkBAIC03 MTksNyArNzE5LDcgQEAgaW5kZXggZDIyZTU2NC4uOWVhNjZjZSAxMDA2NDQKICAgIGNoYXIgKmZ1 bmN0aW9uX25hbWU7CiAgCiAgICAvKiBEZXRhaWxzIG9mIHRoZSBwbGFjZWQgYnJlYWtwb2ludCwg d2hlbiBpbnNlcnRlZC4gICovCi1AQCAtMTM4MSw0ICsxMzg2LDExIEBAIGV4dGVybiBpbnQgdXNl cl9icmVha3BvaW50X3AgKHN0cnVjdCBicmVha3BvaW50ICopOworQEAgLTE0MTIsNCArMTQxNywx MSBAQCBleHRlcm4gaW50IHVzZXJfYnJlYWtwb2ludF9wIChzdHJ1Y3QgYnJlYWtwb2ludCAqKTsK ICAvKiBBdHRlbXB0IHRvIGRldGVybWluZSBhcmNoaXRlY3R1cmUgb2YgbG9jYXRpb24gaWRlbnRp ZmllZCBieSBTQUwuICAqLwogIGV4dGVybiBzdHJ1Y3QgZ2RiYXJjaCAqZ2V0X3NhbF9hcmNoIChz dHJ1Y3Qgc3ltdGFiX2FuZF9saW5lIHNhbCk7CiAgCkBAIC03MzIsMTAgKzczMiwxMCBAQCBpbmRl eCBkMjJlNTY0Li45ZWE2NmNlIDEwMDY0NAogKwogICNlbmRpZiAvKiAhZGVmaW5lZCAoQlJFQUtQ T0lOVF9IKSAqLwogZGlmZiAtLWdpdCBhL2dkYi9jLXR5cGVwcmludC5jIGIvZ2RiL2MtdHlwZXBy aW50LmMKLWluZGV4IDAyMTIyMzIuLmQ5ZGRmZjggMTAwNjQ0CitpbmRleCBkYjI1NGRjLi4xODFk ZTA1IDEwMDY0NAogLS0tIGEvZ2RiL2MtdHlwZXByaW50LmMKICsrKyBiL2dkYi9jLXR5cGVwcmlu dC5jCi1AQCAtNjI1LDkgKzYyNSwxNCBAQCBjX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0 cnVjdCB0eXBlICp0eXBlLAorQEAgLTYyNCw5ICs2MjQsMTQgQEAgY190eXBlX3ByaW50X3ZhcnNw ZWNfc3VmZml4IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJl YW0sICIpIik7CiAgCiAgCWZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIlsiKTsKQEAgLTc1NCw3 ICs3NTQsNyBAQCBpbmRleCAwMjEyMjMyLi5kOWRkZmY4IDEwMDY0NAogIAogIAljX3R5cGVfcHJp bnRfdmFyc3BlY19zdWZmaXggKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpLCBzdHJlYW0sCiBkaWZm IC0tZ2l0IGEvZ2RiL2NsaS9jbGktdXRpbHMuYyBiL2dkYi9jbGkvY2xpLXV0aWxzLmMKLWluZGV4 IDYyYTJmMTIuLmNkNWZhYjUgMTAwNjQ0CitpbmRleCBhN2IyNzE4Li5hMWU1MTYxIDEwMDY0NAog LS0tIGEvZ2RiL2NsaS9jbGktdXRpbHMuYwogKysrIGIvZ2RiL2NsaS9jbGktdXRpbHMuYwogQEAg LTIyMyw2ICsyMjMsMTggQEAgc2tpcF9zcGFjZXMgKGNoYXIgKmNocCkKQEAgLTgxMCw3ICs4MTAs NyBAQCBpbmRleCA2MmEyZjEyLi5jZDVmYWI1IDEwMDY0NAogKyAgcmV0dXJuIGNvcHk7CiArfQog ZGlmZiAtLWdpdCBhL2dkYi9jbGkvY2xpLXV0aWxzLmggYi9nZGIvY2xpL2NsaS11dGlscy5oCi1p bmRleCA4YTZlNWIzLi42NTgxMTUxIDEwMDY0NAoraW5kZXggZTIzYzdkOC4uNWY4YTkxZCAxMDA2 NDQKIC0tLSBhL2dkYi9jbGkvY2xpLXV0aWxzLmgKICsrKyBiL2dkYi9jbGkvY2xpLXV0aWxzLmgK IEBAIC05NCw2ICs5NCwxMCBAQCBleHRlcm4gaW50IG51bWJlcl9pc19pbl9saXN0IChjaGFyICps aXN0LCBpbnQgbnVtYmVyKTsKQEAgLTgzNywxMCArODM3LDEwIEBAIGluZGV4IDhhNmU1YjMuLjY1 ODExNTEgMTAwNjQ0CiArCiAgI2VuZGlmIC8qIENMSV9VVElMU19IICovCiBkaWZmIC0tZ2l0IGEv Z2RiL2NvZmZyZWFkLmMgYi9nZGIvY29mZnJlYWQuYwotaW5kZXggY2Y4ZmI1NC4uZjE3ZWFkOSAx MDA2NDQKK2luZGV4IGM3MjcyMjguLmUxZmFiNmQgMTAwNjQ0CiAtLS0gYS9nZGIvY29mZnJlYWQu YwogKysrIGIvZ2RiL2NvZmZyZWFkLmMKLUBAIC0yMTk3LDYgKzIxOTcsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IHN5bV9mbnMgY29mZl9zeW1fZm5zID0KK0BAIC0yMTk1LDYgKzIxOTUsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgY29mZl9zeW1fZm5zID0KICAKICAgIGRlZmF1bHRf c3ltZmlsZV9yZWxvY2F0ZSwJLyogc3ltX3JlbG9jYXRlOiBSZWxvY2F0ZSBhIGRlYnVnCiAgCQkJ CSAgIHNlY3Rpb24uICAqLwpAQCAtODQ5LDcgKzg0OSw3IEBAIGluZGV4IGNmOGZiNTQuLmYxN2Vh ZDkgMTAwNjQ0CiAgfTsKICAKIGRpZmYgLS1naXQgYS9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZp bGUuaW4gYi9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZpbGUuaW4KLWluZGV4IGMwNGFlYTQuLmYw NmI2ZGEgMTAwNjQ0CitpbmRleCA0Mjk2ZTVhLi5iMDRkMTJmIDEwMDY0NAogLS0tIGEvZ2RiL2Rh dGEtZGlyZWN0b3J5L01ha2VmaWxlLmluCiArKysgYi9nZGIvZGF0YS1kaXJlY3RvcnkvTWFrZWZp bGUuaW4KIEBAIC01MiwxMyArNTIsMjQgQEAgU1lTQ0FMTFNfRklMRVMgPSBcCkBAIC04ODIsMTAg Kzg4MiwxMCBAQCBpbmRleCBjMDRhZWE0Li5mMDZiNmRhIDEwMDY0NAogIEZMQUdTX1RPX1BBU1Mg PSBcCiAgCSJwcmVmaXg9JChwcmVmaXgpIiBcCiBkaWZmIC0tZ2l0IGEvZ2RiL2RieHJlYWQuYyBi L2dkYi9kYnhyZWFkLmMKLWluZGV4IDIyMTBhZjIuLjVkZTMwNzggMTAwNjQ0CitpbmRleCBhZGY4 MzE1Li5jMTFlNGQ0IDEwMDY0NAogLS0tIGEvZ2RiL2RieHJlYWQuYwogKysrIGIvZ2RiL2RieHJl YWQuYwotQEAgLTM1OTAsNiArMzU5MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBh b3V0X3N5bV9mbnMgPQorQEAgLTM1ODgsNiArMzU4OCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg c3ltX2ZucyBhb3V0X3N5bV9mbnMgPQogICAgZGVmYXVsdF9zeW1maWxlX3NlZ21lbnRzLAkvKiBH ZXQgc2VnbWVudCBpbmZvcm1hdGlvbiBmcm9tIGEgZmlsZS4gICovCiAgICBOVUxMLAogICAgZGVm YXVsdF9zeW1maWxlX3JlbG9jYXRlLAkvKiBSZWxvY2F0ZSBhIGRlYnVnIHNlY3Rpb24uICAqLwpA QCAtODk0LDEwICs4OTQsMTAgQEAgaW5kZXggMjIxMGFmMi4uNWRlMzA3OCAxMDA2NDQKICB9Owog IAogZGlmZiAtLWdpdCBhL2dkYi9kZWZzLmggYi9nZGIvZGVmcy5oCi1pbmRleCA3ZjhhMzMwLi44 YjdhOTQ2IDEwMDY0NAoraW5kZXggODNhNzE2YS4uN2Y4NzUyZSAxMDA2NDQKIC0tLSBhL2dkYi9k ZWZzLmgKICsrKyBiL2dkYi9kZWZzLmgKLUBAIC00MTIsNiArNDEyLDggQEAgZXh0ZXJuIHN0cnVj dCBjbGVhbnVwICptYWtlX2NsZWFudXBfcmVzdG9yZV9wYWdlX2luZm8gKHZvaWQpOworQEAgLTQx MSw2ICs0MTEsOCBAQCBleHRlcm4gc3RydWN0IGNsZWFudXAgKm1ha2VfY2xlYW51cF9yZXN0b3Jl X3BhZ2VfaW5mbyAodm9pZCk7CiAgZXh0ZXJuIHN0cnVjdCBjbGVhbnVwICoKICAgIHNldF9iYXRj aF9mbGFnX2FuZF9tYWtlX2NsZWFudXBfcmVzdG9yZV9wYWdlX2luZm8gKHZvaWQpOwogIApAQCAt OTA3LDEwICs5MDcsMTAgQEAgaW5kZXggN2Y4YTMzMC4uOGI3YTk0NiAxMDA2NDQKICBleHRlcm4g Y2hhciAqeGZ1bGxwYXRoIChjb25zdCBjaGFyICopOwogIAogZGlmZiAtLWdpdCBhL2dkYi9kb2Mv Z2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCi1pbmRleCBkNjBhODdiLi5iMDYxOGY2 IDEwMDY0NAoraW5kZXggMjBiMGI2Ny4uNTcwNjhjMyAxMDA2NDQKIC0tLSBhL2dkYi9kb2MvZ2Ri LnRleGluZm8KICsrKyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KLUBAIC0xMTc1LDYgKzExNzUsMTYg QEAgZm9yIHJlbW90ZSBkZWJ1Z2dpbmcuCitAQCAtMTE3Myw2ICsxMTczLDE2IEBAIGZvciByZW1v dGUgZGVidWdnaW5nLgogIFJ1biB1c2luZyBAdmFye2RldmljZX0gZm9yIHlvdXIgcHJvZ3JhbSdz IHN0YW5kYXJkIGlucHV0IGFuZCBvdXRwdXQuCiAgQGMgRklYTUU6IGtpbmdkb24gdGhpbmtzIHRo ZXJlIGlzIG1vcmUgdG8gLXR0eS4gIEludmVzdGlnYXRlLgogIApAQCAtOTI3LDcgKzkyNyw3IEBA IGluZGV4IGQ2MGE4N2IuLmIwNjE4ZjYgMTAwNjQ0CiAgQGMgcmVzb2x2ZSB0aGUgc2l0dWF0aW9u IG9mIHRoZXNlIGV2ZW50dWFsbHkKICBAaXRlbSAtdHVpCiAgQGNpbmRleCBAY29kZXstLXR1aX0K LUBAIC0zMzAzLDYgKzMzMTMsNyBAQCBhbGwgYnJlYWtwb2ludHMgaW4gdGhhdCByYW5nZSBhcmUg b3BlcmF0ZWQgb24uCitAQCAtMzMwMSw2ICszMzExLDcgQEAgYWxsIGJyZWFrcG9pbnRzIGluIHRo YXQgcmFuZ2UgYXJlIG9wZXJhdGVkIG9uLgogICogQ29uZGl0aW9uczo6ICAgICAgICAgICAgICAg ICAgQnJlYWsgY29uZGl0aW9ucwogICogQnJlYWsgQ29tbWFuZHM6OiAgICAgICAgICAgICAgQnJl YWtwb2ludCBjb21tYW5kIGxpc3RzCiAgKiBTYXZlIEJyZWFrcG9pbnRzOjogICAgICAgICAgICBI b3cgdG8gc2F2ZSBicmVha3BvaW50cyBpbiBhIGZpbGUKQEAgLTkzNSw3ICs5MzUsNyBAQCBpbmRl eCBkNjBhODdiLi5iMDYxOGY2IDEwMDY0NAogICogRXJyb3IgaW4gQnJlYWtwb2ludHM6OiAgICAg ICAgYGBDYW5ub3QgaW5zZXJ0IGJyZWFrcG9pbnRzJycKICAqIEJyZWFrcG9pbnQtcmVsYXRlZCBX YXJuaW5nczo6IGBgQnJlYWtwb2ludCBhZGRyZXNzIGFkanVzdGVkLi4uJycKICBAZW5kIG1lbnUK LUBAIC00NTMyLDYgKzQ1NDMsNTAgQEAgYW5kIHJlbW92ZSB0aGUgYnJlYWtwb2ludCBkZWZpbml0 aW9ucyB5b3UncmUgbm90IGludGVyZXN0ZWQgaW4sIG9yCitAQCAtNDUzMCw2ICs0NTQxLDUwIEBA IGFuZCByZW1vdmUgdGhlIGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgeW91J3JlIG5vdCBpbnRlcmVz dGVkIGluLCBvcgogIHRoYXQgY2FuIG5vIGxvbmdlciBiZSByZWNyZWF0ZWQuCiAgQGVuZCB0YWJs ZQogIApAQCAtOTg2LDcgKzk4Niw3IEBAIGluZGV4IGQ2MGE4N2IuLmIwNjE4ZjYgMTAwNjQ0CiAg QGMgIEBpZmNsZWFyIEJBUkVUQVJHRVQKICBAbm9kZSBFcnJvciBpbiBCcmVha3BvaW50cwogIEBz dWJzZWN0aW9uIGBgQ2Fubm90IGluc2VydCBicmVha3BvaW50cycnCi1AQCAtNjU1Miw2ICs2NjA3 LDI5IEBAIHNwZWNpZnkgdGhlIGZ1bmN0aW9uIHVuYW1iaWd1b3VzbHksIGUuZy4sIGlmIHRoZXJl IGFyZSBzZXZlcmFsCitAQCAtNjU1NSw2ICs2NjEwLDI5IEBAIHNwZWNpZnkgdGhlIGZ1bmN0aW9u IHVuYW1iaWd1b3VzbHksIGUuZy4sIGlmIHRoZXJlIGFyZSBzZXZlcmFsCiAgZnVuY3Rpb25zIHdp dGggaWRlbnRpY2FsIG5hbWVzIGluIGRpZmZlcmVudCBzb3VyY2UgZmlsZXMuCiAgQGVuZCB0YWJs ZQogIApAQCAtMTAxNiw3ICsxMDE2LDcgQEAgaW5kZXggZDYwYTg3Yi4uYjA2MThmNiAxMDA2NDQK ICBAZW5kIHRhYmxlCiAgCiAgCi1AQCAtODc2Nyw2ICs4ODQ1LDEwIEBAIHRvIG1hdGNoIHRoZSBm b3JtYXQgaW4gd2hpY2ggdGhlIGRhdGEgd2FzIHByaW50ZWQuCitAQCAtODgxMSw2ICs4ODg5LDEw IEBAIHRvIG1hdGNoIHRoZSBmb3JtYXQgaW4gd2hpY2ggdGhlIGRhdGEgd2FzIHByaW50ZWQuCiAg VGhlIHZhcmlhYmxlIEBjb2RleyRfZXhpdGNvZGV9IGlzIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRo ZSBleGl0IGNvZGUgd2hlbgogIHRoZSBwcm9ncmFtIGJlaW5nIGRlYnVnZ2VkIHRlcm1pbmF0ZXMu CiAgCkBAIC0xMDI3LDcgKzEwMjcsNyBAQCBpbmRleCBkNjBhODdiLi5iMDYxOGY2IDEwMDY0NAog IEBpdGVtICRfc2RhdGEKICBAdmluZGV4ICRfc2RhdGFAcnssIGluc3BlY3QsIGNvbnZlbmllbmNl IHZhcmlhYmxlfQogIFRoZSB2YXJpYWJsZSBAY29kZXskX3NkYXRhfSBjb250YWlucyBleHRyYSBj b2xsZWN0ZWQgc3RhdGljIHRyYWNlcG9pbnQKLUBAIC0xMDcxOSw2ICsxMDgwMSwxNiBAQCBDb2xs ZWN0IGFsbCBsb2NhbCB2YXJpYWJsZXMuCitAQCAtMTA3NjMsNiArMTA4NDUsMTYgQEAgQ29sbGVj dCBhbGwgbG9jYWwgdmFyaWFibGVzLgogIENvbGxlY3QgdGhlIHJldHVybiBhZGRyZXNzLiAgVGhp cyBpcyBoZWxwZnVsIGlmIHlvdSB3YW50IHRvIHNlZSBtb3JlCiAgb2YgYSBiYWNrdHJhY2UuCiAg CkBAIC0xMDQ0LDcgKzEwNDQsNyBAQCBpbmRleCBkNjBhODdiLi5iMDYxOGY2IDEwMDY0NAogIEBp dGVtICRfc2RhdGEKICBAdmluZGV4ICRfc2RhdGFAcnssIGNvbGxlY3R9CiAgQ29sbGVjdCBzdGF0 aWMgdHJhY2Vwb2ludCBtYXJrZXIgc3BlY2lmaWMgZGF0YS4gIE9ubHkgYXZhaWxhYmxlIGZvcgot QEAgLTIxNDU4LDggKzIxNTUwLDYgQEAgY29udGFpbmluZyBAY29kZXtlbmR9LiAgRm9yIGV4YW1w bGU6CitAQCAtMjE1MDYsOCArMjE1OTgsNiBAQCBjb250YWluaW5nIEBjb2Rle2VuZH0uICBGb3Ig ZXhhbXBsZToKICAKICBAc21hbGxleGFtcGxlCiAgKEB2YWx1ZXtHREJQfSkgcHl0aG9uCkBAIC0x MDUzLDcgKzEwNTMsNyBAQCBpbmRleCBkNjBhODdiLi5iMDYxOGY2IDEwMDY0NAogID5wcmludCAy MwogID5lbmQKICAyMwotQEAgLTIxNDczLDYgKzIxNTYzLDE0IEBAIGNvbnRyb2xsZWQgdXNpbmcg QGNvZGV7c2V0IHB5dGhvbiBwcmludC1zdGFja306IGlmIEBjb2Rle2Z1bGx9LCB0aGVuCitAQCAt MjE1MjEsNiArMjE2MTEsMTQgQEAgY29udHJvbGxlZCB1c2luZyBAY29kZXtzZXQgcHl0aG9uIHBy aW50LXN0YWNrfTogaWYgQGNvZGV7ZnVsbH0sIHRoZW4KICBmdWxsIFB5dGhvbiBzdGFjayBwcmlu dGluZyBpcyBlbmFibGVkOyBpZiBAY29kZXtub25lfSwgdGhlbiBQeXRob24gc3RhY2sKICBhbmQg bWVzc2FnZSBwcmludGluZyBpcyBkaXNhYmxlZDsgaWYgQGNvZGV7bWVzc2FnZX0sIHRoZSBkZWZh dWx0LCBvbmx5CiAgdGhlIG1lc3NhZ2UgY29tcG9uZW50IG9mIHRoZSBlcnJvciBpcyBwcmludGVk LgpAQCAtMTA2OCw3ICsxMDY4LDcgQEAgaW5kZXggZDYwYTg3Yi4uYjA2MThmNiAxMDA2NDQKICBA ZW5kIHRhYmxlCiAgCiAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBleGVjdXRlIGEgUHl0aG9uIHNj cmlwdCBmcm9tIHRoZSBAdmFsdWV7R0RCTn0KLUBAIC0yMTQ5NCw2ICsyMTU5MiwxNCBAQCBhbmQg dGh1cyBpcyBhbHdheXMgYXZhaWxhYmxlLgorQEAgLTIxNTQyLDYgKzIxNjQwLDE0IEBAIGFuZCB0 aHVzIGlzIGFsd2F5cyBhdmFpbGFibGUuCiAgQGNpbmRleCBweXRob24gYXBpCiAgQGNpbmRleCBw cm9ncmFtbWluZyBpbiBweXRob24KICAKQEAgLTEwODQsMTAgKzEwODQsMTAgQEAgaW5kZXggZDYw YTg3Yi4uYjA2MThmNiAxMDA2NDQKICBAY2luZGV4IHB5dGhvbiBwYWdpbmF0aW9uCiAgQXQgc3Rh cnR1cCwgQHZhbHVle0dEQk59IG92ZXJyaWRlcyBQeXRob24ncyBAY29kZXtzeXMuc3Rkb3V0fSBh bmQKIGRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYmludC50ZXhpbmZvIGIvZ2RiL2RvYy9nZGJpbnQu dGV4aW5mbwotaW5kZXggMzRlZWU5MS4uMDZhN2FkYSAxMDA2NDQKK2luZGV4IDAyNmRjNTkuLmYw ZjZlZTMgMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL2dkYmludC50ZXhpbmZvCiArKysgYi9nZGIvZG9j L2dkYmludC50ZXhpbmZvCi1AQCAtMjEwNCw2ICsyMTA0LDE4IEBAIHRpbWUsIGFuZCBzbyB3ZSBh dHRlbXB0IHRvIGhhbmRsZSBzeW1ib2xzIGluY3JlbWVudGFsbHkuICBGb3IgaW5zdGFuY2UsCitA QCAtMjEwMyw2ICsyMTAzLDE4IEBAIHRpbWUsIGFuZCBzbyB3ZSBhdHRlbXB0IHRvIGhhbmRsZSBz eW1ib2xzIGluY3JlbWVudGFsbHkuICBGb3IgaW5zdGFuY2UsCiAgd2UgY3JlYXRlIEBkZm57cGFy dGlhbCBzeW1ib2wgdGFibGVzfSBjb25zaXN0aW5nIG9mIG9ubHkgc2VsZWN0ZWQKICBzeW1ib2xz LCBhbmQgb25seSBleHBhbmQgdGhlbSB0byBmdWxsIHN5bWJvbCB0YWJsZXMgd2hlbiBuZWNlc3Nh cnkuCiAgCkBAIC0xMTA2LDcgKzExMDYsNyBAQCBpbmRleCAzNGVlZTkxLi4wNmE3YWRhIDEwMDY0 NAogIEBzZWN0aW9uIFN5bWJvbCBSZWFkaW5nCiAgCiAgQGNpbmRleCBzeW1ib2wgcmVhZGluZwot QEAgLTIxOTYsNiArMjIwOCw3IEBAIHN5bXRhYi4gIFVwb24gcmV0dXJuLCBAY29kZXtwc3QtPnJl YWRpbn0gc2hvdWxkIGhhdmUgYmVlbiBzZXQgdG8gMSwgYW5kCitAQCAtMjE5NSw2ICsyMjA3LDcg QEAgc3ltdGFiLiAgVXBvbiByZXR1cm4sIEBjb2Rle3BzdC0+cmVhZGlufSBzaG91bGQgaGF2ZSBi ZWVuIHNldCB0byAxLCBhbmQKICB6ZXJvIGlmIHRoZXJlIHdlcmUgbm8gc3ltYm9scyBpbiB0aGF0 IHBhcnQgb2YgdGhlIHN5bWJvbCBmaWxlLgogIEBlbmQgdGFibGUKICAKQEAgLTExMTQsNyArMTEx NCw3IEBAIGluZGV4IDM0ZWVlOTEuLjA2YTdhZGEgMTAwNjQ0CiAgQHNlY3Rpb24gUGFydGlhbCBT eW1ib2wgVGFibGVzCiAgCiAgQHZhbHVle0dEQk59IGhhcyB0aHJlZSB0eXBlcyBvZiBzeW1ib2wg dGFibGVzOgotQEAgLTIyOTcsNiArMjMxMCw3IEBAIGFuZCBwYXJ0aWFsIHN5bWJvbCB0YWJsZXMg YmVoaW5kIGEgc2V0IG9mIGZ1bmN0aW9uIHBvaW50ZXJzIGtub3duIGFzCitAQCAtMjI5Niw2ICsy MzA5LDcgQEAgYW5kIHBhcnRpYWwgc3ltYm9sIHRhYmxlcyBiZWhpbmQgYSBzZXQgb2YgZnVuY3Rp b24gcG9pbnRlcnMga25vd24gYXMKICB0aGUgQGRmbntxdWljayBzeW1ib2wgZnVuY3Rpb25zfS4g IFRoZXNlIGFyZSBkb2N1bWVudGVkIGluCiAgQGZpbGV7c3ltZmlsZS5ofS4KICAKQEAgLTExMjIs NyArMTEyMiw3IEBAIGluZGV4IDM0ZWVlOTEuLjA2YTdhZGEgMTAwNjQ0CiAgQHNlY3Rpb24gVHlw ZXMKICAKICBAdW5udW1iZXJlZHN1YnNlYyBGdW5kYW1lbnRhbCBUeXBlcyAoZS5nLiwgQGNvZGV7 RlRfVk9JRH0sIEBjb2Rle0ZUX0JPT0xFQU59KS4KLUBAIC0yMzE5LDYgKzIzMzMsNyBAQCB0eXBl cyBtYXAgdG8gb25lIEBjb2Rle1RZUEVfQ09ERV8qfSB0eXBlLCBhbmQgYXJlIGRpc3Rpbmd1aXNo ZWQgYnkKK0BAIC0yMzE4LDYgKzIzMzIsNyBAQCB0eXBlcyBtYXAgdG8gb25lIEBjb2Rle1RZUEVf Q09ERV8qfSB0eXBlLCBhbmQgYXJlIGRpc3Rpbmd1aXNoZWQgYnkKICBvdGhlciBtZW1iZXJzIG9m IHRoZSB0eXBlIHN0cnVjdCwgc3VjaCBhcyB3aGV0aGVyIHRoZSB0eXBlIGlzIHNpZ25lZAogIG9y IHVuc2lnbmVkLCBhbmQgaG93IG1hbnkgYml0cyBpdCB1c2VzLgogIApAQCAtMTEzMCw3ICsxMTMw LDcgQEAgaW5kZXggMzRlZWU5MS4uMDZhN2FkYSAxMDA2NDQKICBAdW5udW1iZXJlZHN1YnNlYyBC dWlsdGluIFR5cGVzIChlLmcuLCBAY29kZXtidWlsdGluX3R5cGVfdm9pZH0sIEBjb2Rle2J1aWx0 aW5fdHlwZV9jaGFyfSkuCiAgCiAgVGhlc2UgYXJlIGluc3RhbmNlcyBvZiB0eXBlIHN0cnVjdHMg dGhhdCByb3VnaGx5IGNvcnJlc3BvbmQgdG8KLUBAIC0yMzMzLDYgKzIzNDgsNyBAQCBvbmx5IG9u ZSBpbnN0YW5jZSBleGlzdHMsIHdoaWxlIEBmaWxle2MtbGFuZy5jfSBidWlsZHMgYXMgbWFueQor QEAgLTIzMzIsNiArMjM0Nyw3IEBAIG9ubHkgb25lIGluc3RhbmNlIGV4aXN0cywgd2hpbGUgQGZp bGV7Yy1sYW5nLmN9IGJ1aWxkcyBhcyBtYW55CiAgQGNvZGV7VFlQRV9DT0RFX0lOVH0gdHlwZXMg YXMgbmVlZGVkLCB3aXRoIGVhY2ggb25lIGFzc29jaWF0ZWQgd2l0aAogIHNvbWUgcGFydGljdWxh ciBvYmpmaWxlLgogIApAQCAtMTEzOCw3ICsxMTM4LDcgQEAgaW5kZXggMzRlZWU5MS4uMDZhN2Fk YSAxMDA2NDQKICBAc2VjdGlvbiBPYmplY3QgRmlsZSBGb3JtYXRzCiAgQGNpbmRleCBvYmplY3Qg ZmlsZSBmb3JtYXRzCiAgCi1AQCAtMjQxOCw2ICsyNDM0LDcgQEAgU09NLCB3aGljaCBpcyBhIGNy b3NzLWxhbmd1YWdlIEFCSSkuCitAQCAtMjQxNyw2ICsyNDMzLDcgQEAgU09NLCB3aGljaCBpcyBh IGNyb3NzLWxhbmd1YWdlIEFCSSkuCiAgCiAgVGhlIFNPTSByZWFkZXIgaXMgaW4gQGZpbGV7c29t cmVhZC5jfS4KICAKQEAgLTExNDYsNyArMTE0Niw3IEBAIGluZGV4IDM0ZWVlOTEuLjA2YTdhZGEg MTAwNjQ0CiAgQHNlY3Rpb24gRGVidWdnaW5nIEZpbGUgRm9ybWF0cwogIAogIFRoaXMgc2VjdGlv biBkZXNjcmliZXMgY2hhcmFjdGVyaXN0aWNzIG9mIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiB0aGF0 Ci1AQCAtMjQ4OSw2ICsyNTA2LDcgQEAgRFdBUkYgMyBpcyBhbiBpbXByb3ZlZCB2ZXJzaW9uIG9m IERXQVJGIDIuCitAQCAtMjQ4OCw2ICsyNTA1LDcgQEAgRFdBUkYgMyBpcyBhbiBpbXByb3ZlZCB2 ZXJzaW9uIG9mIERXQVJGIDIuCiAgQGNpbmRleCBTT00gZGVidWdnaW5nIGluZm8KICBMaWtlIENP RkYsIHRoZSBTT00gZGVmaW5pdGlvbiBpbmNsdWRlcyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24uCiAg CkBAIC0xMTU0LDcgKzExNTQsNyBAQCBpbmRleCAzNGVlZTkxLi4wNmE3YWRhIDEwMDY0NAogIEBz ZWN0aW9uIEFkZGluZyBhIE5ldyBTeW1ib2wgUmVhZGVyIHRvIEB2YWx1ZXtHREJOfQogIAogIEBj aW5kZXggYWRkaW5nIGRlYnVnZ2luZyBpbmZvIHJlYWRlcgotQEAgLTI1MTEsNiArMjUyOSw3IEBA IHdpbGwgb25seSBldmVyIGJlIGltcGxlbWVudGVkIGJ5IG9uZSBvYmplY3QgZmlsZSBmb3JtYXQg bWF5IGJlIGNhbGxlZAorQEAgLTI1MTAsNiArMjUyOCw3IEBAIHdpbGwgb25seSBldmVyIGJlIGlt cGxlbWVudGVkIGJ5IG9uZSBvYmplY3QgZmlsZSBmb3JtYXQgbWF5IGJlIGNhbGxlZAogIGRpcmVj dGx5LiAgVGhpcyBpbnRlcmZhY2Ugc2hvdWxkIGJlIGRlc2NyaWJlZCBpbiBhIGZpbGUKICBAZmls ZXtiZmQvbGliQHZhcnt4eXp9Lmh9LCB3aGljaCBpcyBpbmNsdWRlZCBieSBAdmFsdWV7R0RCTn0u CiAgCkBAIC0xMTYyLDcgKzExNjIsNyBAQCBpbmRleCAzNGVlZTkxLi4wNmE3YWRhIDEwMDY0NAog IEBzZWN0aW9uIE1lbW9yeSBNYW5hZ2VtZW50IGZvciBTeW1ib2wgRmlsZXMKICAKICBNb3N0IG1l bW9yeSBhc3NvY2lhdGVkIHdpdGggYSBsb2FkZWQgc3ltYm9sIGZpbGUgaXMgc3RvcmVkIG9uCi1A QCAtMjUyMiwxMCArMjU0MSw0NSBAQCByZWxlYXNlZCB3aGVuIHRoZSBvYmpmaWxlIGlzIHVubG9h ZGVkIG9yIHJlbG9hZGVkLiAgVGhlcmVmb3JlIG9uZQorQEAgLTI1MjEsMTAgKzI1NDAsNDUgQEAg cmVsZWFzZWQgd2hlbiB0aGUgb2JqZmlsZSBpcyB1bmxvYWRlZCBvciByZWxvYWRlZC4gIFRoZXJl Zm9yZSBvbmUKICBvYmpmaWxlIG11c3Qgbm90IHJlZmVyZW5jZSBzeW1ib2wgb3IgdHlwZSBkYXRh IGZyb20gYW5vdGhlciBvYmpmaWxlOwogIHRoZXkgY291bGQgYmUgdW5sb2FkZWQgYXQgZGlmZmVy ZW50IHRpbWVzLgogIApAQCAtMTIxMywxMCArMTIxMywxMCBAQCBpbmRleCAzNGVlZTkxLi4wNmE3 YWRhIDEwMDY0NAogIAogIEBub2RlIExhbmd1YWdlIFN1cHBvcnQKIGRpZmYgLS1naXQgYS9nZGIv ZG9jL29ic2VydmVyLnRleGkgYi9nZGIvZG9jL29ic2VydmVyLnRleGkKLWluZGV4IDY4OWIzMDMu LjJmNDZiOTMgMTAwNjQ0CitpbmRleCAyNDIzM2NiLi5lZmIyMDEzIDEwMDY0NAogLS0tIGEvZ2Ri L2RvYy9vYnNlcnZlci50ZXhpCiArKysgYi9nZGIvZG9jL29ic2VydmVyLnRleGkKLUBAIC0yMjcs NiArMjI3LDExIEBAIENhbGxlZCBiZWZvcmUgYSB0b3AtbGV2ZWwgcHJvbXB0IGlzIGRpc3BsYXll ZC4gIEB2YXJ7Y3VycmVudF9wcm9tcHR9IGlzCitAQCAtMjI2LDYgKzIyNiwxMSBAQCBDYWxsZWQg YmVmb3JlIGEgdG9wLWxldmVsIHByb21wdCBpcyBkaXNwbGF5ZWQuICBAdmFye2N1cnJlbnRfcHJv bXB0fSBpcwogIHRoZSBjdXJyZW50IHRvcC1sZXZlbCBwcm9tcHQuCiAgQGVuZCBkZWZ0eXBlZnVu CiAgCkBAIC0xMjI5LDcgKzEyMjksNyBAQCBpbmRleCA2ODliMzAzLi4yZjQ2YjkzIDEwMDY0NAog IFRoaXMgb2JzZXJ2ZXIgaXMgdXNlZCBmb3IgaW50ZXJuYWwgdGVzdGluZy4gIERvIG5vdCB1c2Uu ICAKICBTZWUgdGVzdHN1aXRlL2dkYi5nZGIvb2JzZXJ2ZXIuZXhwLgogZGlmZiAtLWdpdCBhL2dk Yi9kd2FyZjJleHByLmMgYi9nZGIvZHdhcmYyZXhwci5jCi1pbmRleCAwNDc3OWE4Li5jNmE2NGU1 IDEwMDY0NAoraW5kZXggMjIyZmNjMy4uOTMzODllMCAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJl eHByLmMKICsrKyBiL2dkYi9kd2FyZjJleHByLmMKIEBAIC0xNDQ5LDYgKzE0NDksMTQgQEAgZXhl Y3V0ZV9zdGFja19vcCAoc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LApAQCAtMTI0OCw3 ICsxMjQ4LDcgQEAgaW5kZXggMDQ3NzlhOC4uYzZhNjRlNSAxMDA2NDQKICAJICBlcnJvciAoXygi VW5oYW5kbGVkIGR3YXJmIGV4cHJlc3Npb24gb3Bjb2RlIDB4JXgiKSwgb3ApOwogIAl9CiBkaWZm IC0tZ2l0IGEvZ2RiL2R3YXJmMmV4cHIuaCBiL2dkYi9kd2FyZjJleHByLmgKLWluZGV4IDJjMWRh MjYuLmRlYWZiZTggMTAwNjQ0CitpbmRleCBmZDcwYmY5Li41MTI5YzRlIDEwMDY0NAogLS0tIGEv Z2RiL2R3YXJmMmV4cHIuaAogKysrIGIvZ2RiL2R3YXJmMmV4cHIuaAogQEAgLTczLDEyICs3Mywx MCBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0X2Z1bmNzCkBAIC0xMjY1LDEwICsxMjY1LDEw IEBAIGluZGV4IDJjMWRhMjYuLmRlYWZiZTggMTAwNjQ0CiAgCiAgLyogVGhlIGxvY2F0aW9uIG9m IGEgdmFsdWUuICAqLwogZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJsb2MuYyBiL2dkYi9kd2FyZjJs b2MuYwotaW5kZXggNzU0N2E0MC4uYmM4MDE1YyAxMDA2NDQKK2luZGV4IDMxM2RmN2IuLjM1ZTA3 NjYgMTAwNjQ0CiAtLS0gYS9nZGIvZHdhcmYybG9jLmMKICsrKyBiL2dkYi9kd2FyZjJsb2MuYwot QEAgLTE1OCw2ICsxNTgsOSBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9iYXRvbgorQEAgLTE1Nyw2ICsx NTcsOSBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9iYXRvbgogIHsKICAgIHN0cnVjdCBmcmFtZV9pbmZv ICpmcmFtZTsKICAgIHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnBlcl9jdTsKQEAgLTEyNzgs NyArMTI3OCw3IEBAIGluZGV4IDc1NDdhNDAuLmJjODAxNWMgMTAwNjQ0CiAgfTsKICAKICAvKiBI ZWxwZXIgZnVuY3Rpb25zIGZvciBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2MuICAqLwotQEAgLTIx NywxNiArMjIwLDE0IEBAIHN0YXRpYyB2b2lkCitAQCAtMjE2LDE2ICsyMTksMTQgQEAgc3RhdGlj IHZvaWQKICBkd2FyZl9leHByX2ZyYW1lX2Jhc2VfMSAoc3RydWN0IHN5bWJvbCAqZnJhbWVmdW5j LCBDT1JFX0FERFIgcGMsCiAgCQkJIGNvbnN0IGdkYl9ieXRlICoqc3RhcnQsIHNpemVfdCAqbGVu Z3RoKQogIHsKQEAgLTEyOTcsNyArMTI5Nyw3IEBAIGluZGV4IDc1NDdhNDAuLmJjODAxNWMgMTAw NjQ0CiAgICAgIHsKICAgICAgICBzdHJ1Y3QgZHdhcmYyX2xvY2V4cHJfYmF0b24gKnN5bWJhdG9u OwogIAotQEAgLTIzOSwxMCArMjQwLDIzIEBAIGR3YXJmX2V4cHJfZnJhbWVfYmFzZV8xIChzdHJ1 Y3Qgc3ltYm9sICpmcmFtZWZ1bmMsIENPUkVfQUREUiBwYywKK0BAIC0yMzgsMTAgKzIzOSwyMyBA QCBkd2FyZl9leHByX2ZyYW1lX2Jhc2VfMSAoc3RydWN0IHN5bWJvbCAqZnJhbWVmdW5jLCBDT1JF X0FERFIgcGMsCiAgICAgICAgZWxzZQogIAkqbGVuZ3RoID0gMDsKICAgICAgfQpAQCAtMTMyMiw3 ICsxMzIyLDcgQEAgaW5kZXggNzU0N2E0MC4uYmM4MDE1YyAxMDA2NDQKICB9CiAgCiAgLyogSGVs cGVyIGZ1bmN0aW9uIGZvciBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2MuICBDb21wdXRlcyB0aGUg Q0ZBIGZvcgotQEAgLTMxMCw2ICszMjQsODUgQEAgZHdhcmZfZXhwcl9kd2FyZl9jYWxsIChzdHJ1 Y3QgZHdhcmZfZXhwcl9jb250ZXh0ICpjdHgsIHNpemVfdCBkaWVfb2Zmc2V0KQorQEAgLTMwOSw2 ICszMjMsODUgQEAgZHdhcmZfZXhwcl9kd2FyZl9jYWxsIChzdHJ1Y3QgZHdhcmZfZXhwcl9jb250 ZXh0ICpjdHgsIHNpemVfdCBkaWVfb2Zmc2V0KQogIAkJICAgICBjdHgtPmZ1bmNzLT5nZXRfZnJh bWVfcGMsIGN0eC0+YmF0b24pOwogIH0KICAKQEAgLTE0MDgsNyArMTQwOCw3IEBAIGluZGV4IDc1 NDdhNDAuLmJjODAxNWMgMTAwNjQ0CiAgLyogQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIGR3YXJmMl9l dmFsdWF0ZV9sb2NfZGVzYy4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB0eXBlICoKLUBAIC05OTEs MTAgKzEwODQsMTIgQEAgZHdhcmZfZXhwcl9wdXNoX2R3YXJmX3JlZ19lbnRyeV92YWx1ZSAoc3Ry dWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LAorQEAgLTk5MCwxMCArMTA4MywxMiBAQCBkd2Fy Zl9leHByX3B1c2hfZHdhcmZfcmVnX2VudHJ5X3ZhbHVlIChzdHJ1Y3QgZHdhcmZfZXhwcl9jb250 ZXh0ICpjdHgsCiAgCiAgICBzYXZlZF9jdHguZ2RiYXJjaCA9IGN0eC0+Z2RiYXJjaDsKICAgIHNh dmVkX2N0eC5hZGRyX3NpemUgPSBjdHgtPmFkZHJfc2l6ZTsKQEAgLTE0MjEsNyArMTQyMSw3IEBA IGluZGV4IDc1NDdhNDAuLmJjODAxNWMgMTAwNjQ0CiAgICBjdHgtPm9mZnNldCA9IGR3YXJmMl9w ZXJfY3VfdGV4dF9vZmZzZXQgKGJhdG9uX2xvY2FsLnBlcl9jdSk7CiAgICBjdHgtPmJhdG9uID0g JmJhdG9uX2xvY2FsOwogIAotQEAgLTEwMDIsMTAgKzEwOTcsOTIgQEAgZHdhcmZfZXhwcl9wdXNo X2R3YXJmX3JlZ19lbnRyeV92YWx1ZSAoc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LAor QEAgLTEwMDEsMTAgKzEwOTYsOTIgQEAgZHdhcmZfZXhwcl9wdXNoX2R3YXJmX3JlZ19lbnRyeV92 YWx1ZSAoc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LAogIAogICAgY3R4LT5nZGJhcmNo ID0gc2F2ZWRfY3R4LmdkYmFyY2g7CiAgICBjdHgtPmFkZHJfc2l6ZSA9IHNhdmVkX2N0eC5hZGRy X3NpemU7CkBAIC0xNTE0LDcgKzE1MTQsNyBAQCBpbmRleCA3NTQ3YTQwLi5iYzgwMTVjIDEwMDY0 NAogIC8qIFZBTFVFIG11c3QgYmUgb2YgdHlwZSBsdmFsX2NvbXB1dGVkIHdpdGggZW50cnlfZGF0 YV92YWx1ZV9mdW5jcy4gIFBlcmZvcm0KICAgICB0aGUgaW5kaXJlY3QgbWV0aG9kIG9uIGl0LCB0 aGF0IGlzIHVzZSBpdHMgc3RvcmVkIHRhcmdldCB2YWx1ZSwgdGhlIHNvbGUKICAgICBwdXJwb3Nl IG9mIGVudHJ5X2RhdGFfdmFsdWVfZnVuY3MuLiAgKi8KLUBAIC0xOTI4LDIxICsyMTA1LDYgQEAg aW52YWxpZF9zeW50aGV0aWNfcG9pbnRlciAodm9pZCkKK0BAIC0xOTI3LDIxICsyMTA0LDYgQEAg aW52YWxpZF9zeW50aGV0aWNfcG9pbnRlciAodm9pZCkKICAJICAgInJlZmVyZW5jZWQgdmlhIHN5 bnRoZXRpYyBwb2ludGVyIikpOwogIH0KICAKQEAgLTE1MzYsNyArMTUzNiw3IEBAIGluZGV4IDc1 NDdhNDAuLmJjODAxNWMgMTAwNjQ0CiAgLyogRXZhbHVhdGUgYSBsb2NhdGlvbiBkZXNjcmlwdGlv biwgc3RhcnRpbmcgYXQgREFUQSBhbmQgd2l0aCBsZW5ndGgKICAgICBTSVpFLCB0byBmaW5kIHRo ZSBjdXJyZW50IGxvY2F0aW9uIG9mIHZhcmlhYmxlIG9mIFRZUEUgaW4gdGhlCiAgICAgY29udGV4 dCBvZiBGUkFNRS4gIEJZVEVfT0ZGU0VUIGlzIGFwcGxpZWQgYWZ0ZXIgdGhlIGNvbnRlbnRzIGFy ZQotQEAgLTE5NTUsNyArMjExNyw2IEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChz dHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAorQEAgLTE5NTQsNyAr MjExNiw2IEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHlwZSAqdHlw ZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAogIAkJCSAgICAgICBMT05HRVNUIGJ5dGVfb2Zm c2V0KQogIHsKICAgIHN0cnVjdCB2YWx1ZSAqcmV0dmFsOwpAQCAtMTU0NCw3ICsxNTQ0LDcgQEAg aW5kZXggNzU0N2E0MC4uYmM4MDE1YyAxMDA2NDQKICAgIHN0cnVjdCBkd2FyZl9leHByX2NvbnRl eHQgKmN0eDsKICAgIHN0cnVjdCBjbGVhbnVwICpvbGRfY2hhaW4sICp2YWx1ZV9jaGFpbjsKICAg IHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlID0gZHdhcmYyX3Blcl9jdV9vYmpmaWxlIChwZXJfY3Up OwotQEAgLTE5NjcsMjkgKzIxMjgsMTggQEAgZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNjX2Z1bGwg KHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCitAQCAtMTk2Niwy OSArMjEyNywxOCBAQCBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2NfZnVsbCAoc3RydWN0IHR5cGUg KnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAgIGlmIChzaXplID09IDApCiAgICAg IHJldHVybiBhbGxvY2F0ZV9vcHRpbWl6ZWRfb3V0X3ZhbHVlICh0eXBlKTsKICAKQEAgLTE1NzUs NyArMTU3NSw3IEBAIGluZGV4IDc1NDdhNDAuLmJjODAxNWMgMTAwNjQ0CiAgCSAgcmV0dmFsID0g YWxsb2NhdGVfdmFsdWUgKHR5cGUpOwogIAkgIG1hcmtfdmFsdWVfYnl0ZXNfdW5hdmFpbGFibGUg KHJldHZhbCwgMCwgVFlQRV9MRU5HVEggKHR5cGUpKTsKICAJICByZXR1cm4gcmV0dmFsOwotQEAg LTIwNTMsNiArMjIwMywxNiBAQCBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2NfZnVsbCAoc3RydWN0 IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKK0BAIC0yMDUyLDYgKzIyMDIs MTYgQEAgZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNjX2Z1bGwgKHN0cnVjdCB0eXBlICp0eXBlLCBz dHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCiAgCSAgICBpbnQgaW5fc3RhY2tfbWVtb3J5ID0gZHdh cmZfZXhwcl9mZXRjaF9pbl9zdGFja19tZW1vcnkgKGN0eCwgMCk7CiAgCiAgCSAgICBkb19jbGVh bnVwcyAodmFsdWVfY2hhaW4pOwpAQCAtMTU5Miw3ICsxNTkyLDcgQEAgaW5kZXggNzU0N2E0MC4u YmM4MDE1YyAxMDA2NDQKICAJICAgIHJldHZhbCA9IGFsbG9jYXRlX3ZhbHVlX2xhenkgKHR5cGUp OwogIAkgICAgVkFMVUVfTFZBTCAocmV0dmFsKSA9IGx2YWxfbWVtb3J5OwogIAkgICAgaWYgKGlu X3N0YWNrX21lbW9yeSkKLUBAIC0zODk3LDggKzQwNTcsNyBAQCBsb2NsaXN0X3RyYWNlcG9pbnRf dmFyX3JlZiAoc3RydWN0IHN5bWJvbCAqc3ltYm9sLCBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwK K0BAIC0zODk2LDggKzQwNTYsNyBAQCBsb2NsaXN0X3RyYWNlcG9pbnRfdmFyX3JlZiAoc3RydWN0 IHN5bWJvbCAqc3ltYm9sLCBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAJCQkgICAgICAgZGxi YXRvbi0+cGVyX2N1KTsKICB9CiAgCkBAIC0xNjAyLDcgKzE2MDIsNyBAQCBpbmRleCA3NTQ3YTQw Li5iYzgwMTVjIDEwMDY0NAogIGNvbnN0IHN0cnVjdCBzeW1ib2xfY29tcHV0ZWRfb3BzIGR3YXJm Ml9sb2NsaXN0X2Z1bmNzID0gewogICAgbG9jbGlzdF9yZWFkX3ZhcmlhYmxlLAogICAgbG9jbGlz dF9yZWFkX3ZhcmlhYmxlX2F0X2VudHJ5LAotQEAgLTM5MDcsNiArNDA2Niw0OCBAQCBjb25zdCBz dHJ1Y3Qgc3ltYm9sX2NvbXB1dGVkX29wcyBkd2FyZjJfbG9jbGlzdF9mdW5jcyA9IHsKK0BAIC0z OTA2LDYgKzQwNjUsNDggQEAgY29uc3Qgc3RydWN0IHN5bWJvbF9jb21wdXRlZF9vcHMgZHdhcmYy X2xvY2xpc3RfZnVuY3MgPSB7CiAgICBsb2NsaXN0X3RyYWNlcG9pbnRfdmFyX3JlZgogIH07CiAg CkBAIC0xNjUyLDEwICsxNjUyLDEwIEBAIGluZGV4IDc1NDdhNDAuLmJjODAxNWMgMTAwNjQ0CiAg X2luaXRpYWxpemVfZHdhcmYybG9jICh2b2lkKQogIHsKIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYy bG9jLmggYi9nZGIvZHdhcmYybG9jLmgKLWluZGV4IDgxOTY3OTEuLmRmMjU3MGQgMTAwNjQ0Citp bmRleCBhN2Y4MzVmLi41MmE0NGYxIDEwMDY0NAogLS0tIGEvZ2RiL2R3YXJmMmxvYy5oCiArKysg Yi9nZGIvZHdhcmYybG9jLmgKLUBAIC0xMTksNiArMTE5LDE1IEBAIHN0cnVjdCBkd2FyZjJfbG9j bGlzdF9iYXRvbgorQEAgLTExOCw2ICsxMTgsMTUgQEAgc3RydWN0IGR3YXJmMl9sb2NsaXN0X2Jh dG9uCiAgCiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBzeW1ib2xfY29tcHV0ZWRfb3BzIGR3YXJmMl9s b2NleHByX2Z1bmNzOwogIGV4dGVybiBjb25zdCBzdHJ1Y3Qgc3ltYm9sX2NvbXB1dGVkX29wcyBk d2FyZjJfbG9jbGlzdF9mdW5jczsKQEAgLTE2NzIsMTAgKzE2NzIsMTAgQEAgaW5kZXggODE5Njc5 MS4uZGYyNTcwZCAxMDA2NDQKICAvKiBDb21waWxlIGEgRFdBUkYgbG9jYXRpb24gZXhwcmVzc2lv biB0byBhbiBhZ2VudCBleHByZXNzaW9uLgogICAgIAogZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJy ZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi1pbmRleCA4MDcyODU5Li45YWRhNWM1IDEwMDY0NAor aW5kZXggMGVmMGE1Yi4uODBlNWZlNCAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKICsr KyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0xMjUwLDYgKzEyNTAsOSBAQCBzdGF0aWMgdm9pZCBm aWxsX2luX2xvY2xpc3RfYmF0b24gKHN0cnVjdCBkd2FyZjJfY3UgKmN1LAorQEAgLTEyMDksNiAr MTIwOSw5IEBAIHN0YXRpYyB2b2lkIGZpbGxfaW5fbG9jbGlzdF9iYXRvbiAoc3RydWN0IGR3YXJm Ml9jdSAqY3UsCiAgCQkJCSAgIHN0cnVjdCBkd2FyZjJfbG9jbGlzdF9iYXRvbiAqYmF0b24sCiAg CQkJCSAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIpOwogIApAQCAtMTY4NSw3ICsxNjg1LDcgQEAg aW5kZXggODA3Mjg1OS4uOWFkYTVjNSAxMDA2NDQKICBzdGF0aWMgdm9pZCBkd2FyZjJfc3ltYm9s X21hcmtfY29tcHV0ZWQgKHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCiAgCQkJCQkgc3RydWN0IHN5 bWJvbCAqc3ltLAogIAkJCQkJIHN0cnVjdCBkd2FyZjJfY3UgKmN1KTsKLUBAIC0xMjg0LDYgKzEy ODcsOSBAQCBzdGF0aWMgdm9pZCBhZ2VfY2FjaGVkX2NvbXBfdW5pdHMgKHZvaWQpOworQEAgLTEy NDAsNiArMTI0Myw5IEBAIHN0YXRpYyB2b2lkIGFnZV9jYWNoZWRfY29tcF91bml0cyAodm9pZCk7 CiAgCiAgc3RhdGljIHZvaWQgZnJlZV9vbmVfY2FjaGVkX2NvbXBfdW5pdCAodm9pZCAqKTsKICAK QEAgLTE2OTUsNyArMTY5NSw3IEBAIGluZGV4IDgwNzI4NTkuLjlhZGE1YzUgMTAwNjQ0CiAgc3Rh dGljIHN0cnVjdCB0eXBlICpzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqLCBzdHJ1Y3Qg dHlwZSAqLAogIAkJCQkgIHN0cnVjdCBkd2FyZjJfY3UgKik7CiAgCi1AQCAtMTMwNyw2ICsxMzEz LDkgQEAgc3RhdGljIHN0cnVjdCB0eXBlICpnZXRfZGllX3R5cGVfYXRfb2Zmc2V0ICh1bnNpZ25l ZCBpbnQsCitAQCAtMTI2Myw2ICsxMjY5LDkgQEAgc3RhdGljIHN0cnVjdCB0eXBlICpnZXRfZGll X3R5cGVfYXRfb2Zmc2V0ICh1bnNpZ25lZCBpbnQsCiAgCiAgc3RhdGljIHN0cnVjdCB0eXBlICpn ZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSk7 CiAgCkBAIC0xNzA1LDcgKzE3MDUsNyBAQCBpbmRleCA4MDcyODU5Li45YWRhNWM1IDEwMDY0NAog IHN0YXRpYyB2b2lkIGR3YXJmMl9yZWxlYXNlX3F1ZXVlICh2b2lkICpkdW1teSk7CiAgCiAgc3Rh dGljIHZvaWQgcXVldWVfY29tcF91bml0IChzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICpwZXJf Y3UpOwotQEAgLTgwODMsNiArODA5MiwyOSBAQCBwcm9jZXNzX2VudW1lcmF0aW9uX3Njb3BlIChz dHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtODAwMSw2ICs4 MDEwLDI5IEBAIHByb2Nlc3NfZW51bWVyYXRpb25fc2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAqZGll LCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgIG5ld19zeW1ib2wgKGRpZSwgdGhpc190eXBlLCBj dSk7CiAgfQogIApAQCAtMTczNSw3ICsxNzM1LDcgQEAgaW5kZXggODA3Mjg1OS4uOWFkYTVjNSAx MDA2NDQKICAvKiBFeHRyYWN0IGFsbCBpbmZvcm1hdGlvbiBmcm9tIGEgRFdfVEFHX2FycmF5X3R5 cGUgRElFIGFuZCBwdXQgaXQgaW4KICAgICB0aGUgRElFJ3MgdHlwZSBmaWVsZC4gIEZvciBub3cs IHRoaXMgb25seSBoYW5kbGVzIG9uZSBkaW1lbnNpb25hbAogICAgIGFycmF5cy4gICovCi1AQCAt ODA5Niw3ICs4MTI4LDcgQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwg c3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtODAxNCw3ICs4MDQ2LDcgQEAgcmVhZF9hcnJheV90 eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBzdHJ1 Y3QgdHlwZSAqZWxlbWVudF90eXBlLCAqcmFuZ2VfdHlwZSwgKmluZGV4X3R5cGU7CiAgICBzdHJ1 Y3QgdHlwZSAqKnJhbmdlX3R5cGVzID0gTlVMTDsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7 CkBAIC0xNzQ0LDcgKzE3NDQsNyBAQCBpbmRleCA4MDcyODU5Li45YWRhNWM1IDEwMDY0NAogICAg c3RydWN0IGNsZWFudXAgKmJhY2tfdG87CiAgICBjaGFyICpuYW1lOwogIAotQEAgLTgxNDksMTcg KzgxODEsMTkgQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0 IGR3YXJmMl9jdSAqY3UpCitAQCAtODA2NywxNyArODA5OSwxOSBAQCByZWFkX2FycmF5X3R5cGUg KHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgIHR5cGUgPSBl bGVtZW50X3R5cGU7CiAgCiAgICBpZiAocmVhZF9hcnJheV9vcmRlciAoZGllLCBjdSkgPT0gRFdf T1JEX2NvbF9tYWpvcikKQEAgLTE3NzUsNyArMTc3NSw3IEBAIGluZGV4IDgwNzI4NTkuLjlhZGE1 YzUgMTAwNjQ0CiAgCiAgICAvKiBVbmRlcnN0YW5kIER3YXJmMiBzdXBwb3J0IGZvciB2ZWN0b3Ig dHlwZXMgKGxpa2UgdGhleSBvY2N1ciBvbgogICAgICAgdGhlIFBvd2VyUEMgdy8gQWx0aVZlYyku ICBHY2MganVzdCBhZGRzIGFub3RoZXIgYXR0cmlidXRlIHRvIHRoZQotQEAgLTg2NDMsMjkgKzg2 NzcsMTE0IEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3Ry dWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtODU2MSwyOSArODU5NSwxMTQgQEAgcmVhZF90YWdfc3Ry aW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAg IHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X29iamZpbGVfYXJjaCAob2JqZmlsZSk7CiAg ICBzdHJ1Y3QgdHlwZSAqdHlwZSwgKnJhbmdlX3R5cGUsICppbmRleF90eXBlLCAqY2hhcl90eXBl OwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTE5MDMsNyArMTkwMyw3IEBAIGluZGV4 IDgwNzI4NTkuLjlhZGE1YzUgMTAwNjQ0CiAgICBjaGFyX3R5cGUgPSBsYW5ndWFnZV9zdHJpbmdf Y2hhcl90eXBlIChjdS0+bGFuZ3VhZ2VfZGVmbiwgZ2RiYXJjaCk7CiAgICB0eXBlID0gY3JlYXRl X3N0cmluZ190eXBlIChOVUxMLCBjaGFyX3R5cGUsIHJhbmdlX3R5cGUpOwogIAotQEAgLTg5Njks OCArOTA4OCw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0 cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTg4ODcsOCArOTAwNiw3IEBAIHJlYWRfc3VicmFuZ2Vf dHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgc3Ry dWN0IHR5cGUgKmJhc2VfdHlwZTsKICAgIHN0cnVjdCB0eXBlICpyYW5nZV90eXBlOwogICAgc3Ry dWN0IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTE5MTMsNyArMTkxMyw3IEBAIGluZGV4IDgwNzI4NTku LjlhZGE1YzUgMTAwNjQ0CiAgICBjaGFyICpuYW1lOwogICAgTE9OR0VTVCBuZWdhdGl2ZV9tYXNr OwogIAotQEAgLTg5ODMsNTMgKzkxMDEsMTI2IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0 IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTg5MDEsNTMgKzkwMTks MTI2IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBk d2FyZjJfY3UgKmN1KQogICAgaWYgKHJhbmdlX3R5cGUpCiAgICAgIHJldHVybiByYW5nZV90eXBl OwogIApAQCAtMjA3NCw3ICsyMDc0LDcgQEAgaW5kZXggODA3Mjg1OS4uOWFkYTVjNSAxMDA2NDQK ICAgICAgfQogIAogICAgLyogRHdhcmYtMiBzcGVjaWZpY2F0aW9ucyBleHBsaWNpdGx5IGFsbG93 cyB0byBjcmVhdGUgc3VicmFuZ2UgdHlwZXMKLUBAIC05MDcwLDI0ICs5MjYxLDQxIEBAIHJlYWRf c3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1 KQorQEAgLTg5ODgsMjQgKzkxNzksNDEgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGll X2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgCX0KICAgICAgfQogIApAQCAtMjEz Miw3ICsyMTMyLDcgQEAgaW5kZXggODA3Mjg1OS4uOWFkYTVjNSAxMDA2NDQKICAKICAgIG5hbWUg PSBkd2FyZjJfbmFtZSAoZGllLCBjdSk7CiAgICBpZiAobmFtZSkKLUBAIC0xMTYxMCwxMCArMTE4 MTgsMTIgQEAgdmFyX2RlY29kZV9sb2NhdGlvbiAoc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3Ry dWN0IHN5bWJvbCAqc3ltLAorQEAgLTExNTQ1LDEwICsxMTc1MywxMiBAQCB2YXJfZGVjb2RlX2xv Y2F0aW9uIChzdHJ1Y3QgYXR0cmlidXRlICphdHRyLCBzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgICAg ICAoaS5lLiB3aGVuIHRoZSB2YWx1ZSBvZiBhIHJlZ2lzdGVyIG9yIG1lbW9yeSBsb2NhdGlvbiBp cwogICAgICAgcmVmZXJlbmNlZCwgb3IgYSB0aHJlYWQtbG9jYWwgYmxvY2ssIGV0Yy4pLiAgVGhl biBhZ2FpbiwgaXQgbWlnaHQKICAgICAgIG5vdCBiZSB3b3J0aHdoaWxlLiAgSSdtIGFzc3VtaW5n IHRoYXQgaXQgaXNuJ3QgdW5sZXNzIHBlcmZvcm1hbmNlCkBAIC0yMTQ3LDcgKzIxNDcsNyBAQCBp bmRleCA4MDcyODU5Li45YWRhNWM1IDEwMDY0NAogIAogICAgaWYgKFNZTUJPTF9DT01QVVRFRF9P UFMgKHN5bSkgPT0gJmR3YXJmMl9sb2NsaXN0X2Z1bmNzKQogICAgICBjdS0+aGFzX2xvY2xpc3Qg PSAxOwotQEAgLTExNjU0LDYgKzExODY0LDggQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGll X2luZm8gKmRpZSwgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LAorQEAg LTExNTg5LDYgKzExNzk5LDggQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRp ZSwgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LAogICAgICAgIGVsc2UK ICAJc3ltID0gT0JTVEFDS19aQUxMT0MgKCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssIHN0cnVj dCBzeW1ib2wpOwogICAgICAgIE9CSlNUQVQgKG9iamZpbGUsIG5fc3ltcysrKTsKQEAgLTIxNTYs NyArMjE1Niw3IEBAIGluZGV4IDgwNzI4NTkuLjlhZGE1YzUgMTAwNjQ0CiAgCiAgICAgICAgLyog Q2FjaGUgdGhpcyBzeW1ib2wncyBuYW1lIGFuZCB0aGUgbmFtZSdzIGRlbWFuZ2xlZCBmb3JtIChp ZiBhbnkpLiAgKi8KICAgICAgICBTWU1CT0xfU0VUX0xBTkdVQUdFIChzeW0sIGN1LT5sYW5ndWFn ZSk7Ci1AQCAtMTI0MTksNiArMTI2MzEsOSBAQCByZWFkX3R5cGVfZGllXzEgKHN0cnVjdCBkaWVf aW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xMjM1NCw2ICsxMjU2Niw5IEBA IHJlYWRfdHlwZV9kaWVfMSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3Ug KmN1KQogICAgICAgIGJyZWFrOwogICAgICB9CiAgCkBAIC0yMTY2LDcgKzIxNjYsNyBAQCBpbmRl eCA4MDcyODU5Li45YWRhNWM1IDEwMDY0NAogICAgcmV0dXJuIHRoaXNfdHlwZTsKICB9CiAgCi1A QCAtMTU2NTMsNjIgKzE1ODY4LDEwMCBAQCBmaWxsX2luX2xvY2xpc3RfYmF0b24gKHN0cnVjdCBk d2FyZjJfY3UgKmN1LAorQEAgLTE1NTkwLDYyICsxNTgwNSwxMDAgQEAgZmlsbF9pbl9sb2NsaXN0 X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKICAgIGJhdG9uLT5iYXNlX2FkZHJlc3MgPSBj dS0+YmFzZV9hZGRyZXNzOwogIH0KICAKQEAgLTIzMDksNyArMjMwOSw3IEBAIGluZGV4IDgwNzI4 NTkuLjlhZGE1YzUgMTAwNjQ0CiAgICAgIH0KICB9CiAgCi1AQCAtMTYwODAsNiArMTYzMzMsMjUg QEAgb2Zmc2V0X2FuZF90eXBlX2VxIChjb25zdCB2b2lkICppdGVtX2xocywgY29uc3Qgdm9pZCAq aXRlbV9yaHMpCitAQCAtMTYwMDMsNiArMTYyNTYsMjUgQEAgb2Zmc2V0X2FuZF90eXBlX2VxIChj b25zdCB2b2lkICppdGVtX2xocywgY29uc3Qgdm9pZCAqaXRlbV9yaHMpCiAgICByZXR1cm4gb2Zz X2xocy0+b2Zmc2V0ID09IG9mc19yaHMtPm9mZnNldDsKICB9CiAgCkBAIC0yMzM1LDcgKzIzMzUs NyBAQCBpbmRleCA4MDcyODU5Li45YWRhNWM1IDEwMDY0NAogIC8qIFNldCB0aGUgdHlwZSBhc3Nv Y2lhdGVkIHdpdGggRElFIHRvIFRZUEUuICBTYXZlIGl0IGluIENVJ3MgaGFzaAogICAgIHRhYmxl IGlmIG5lY2Vzc2FyeS4gIEZvciBjb252ZW5pZW5jZSwgcmV0dXJuIFRZUEUuCiAgCi1AQCAtMTYx MDUsNiArMTYzNzcsOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1 Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTYwMjgsNiArMTYzMDAs OCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlw ZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9IGN1 LT5vYmpmaWxlOwogICAgaHRhYl90ICp0eXBlX2hhc2hfcHRyOwogIApAQCAtMjM0NSwxMCArMjM0 NSwxMCBAQCBpbmRleCA4MDcyODU5Li45YWRhNWM1IDEwMDY0NAogICAgICAgaW5pdGlhbGl6ZWQg KGlmIG5vdCBhbHJlYWR5IHNldCkuICBUaGVyZSBhcmUgYSBmZXcgdHlwZXMgd2hlcmUKICAgICAg IHdlIHNob3VsZCBub3QgYmUgZG9pbmcgc28sIGJlY2F1c2UgdGhlIHR5cGUtc3BlY2lmaWMgYXJl YSBpcwogZGlmZiAtLWdpdCBhL2dkYi9lbGZyZWFkLmMgYi9nZGIvZWxmcmVhZC5jCi1pbmRleCA0 Y2ViMzFiLi5iZmQ2YWMyIDEwMDY0NAoraW5kZXggZGRhZTA5OS4uYWVhNDQzZiAxMDA2NDQKIC0t LSBhL2dkYi9lbGZyZWFkLmMKICsrKyBiL2dkYi9lbGZyZWFkLmMKLUBAIC0zOCw2ICszOCw4IEBA CitAQCAtMzYsNiArMzYsOCBAQAogICNpbmNsdWRlICJkZW1hbmdsZS5oIgogICNpbmNsdWRlICJw c3ltcHJpdi5oIgogICNpbmNsdWRlICJmaWxlbmFtZXMuaCIKQEAgLTIzNTcsNyArMjM1Nyw3IEBA IGluZGV4IDRjZWIzMWIuLmJmZDZhYzIgMTAwNjQ0CiAgI2luY2x1ZGUgImdkYnR5cGVzLmgiCiAg I2luY2x1ZGUgInZhbHVlLmgiCiAgI2luY2x1ZGUgImluZmNhbGwuaCIKLUBAIC02Miw2ICs2NCwy MSBAQCBzdHJ1Y3QgZWxmaW5mbworQEAgLTYwLDYgKzYyLDIxIEBAIHN0cnVjdCBlbGZpbmZvCiAg ICAgIGFzZWN0aW9uICptZGVidWdzZWN0OwkvKiBTZWN0aW9uIHBvaW50ZXIgZm9yIC5tZGVidWcg c2VjdGlvbiAqLwogICAgfTsKICAKQEAgLTIzNzksNyArMjM3OSw3IEBAIGluZGV4IDRjZWIzMWIu LmJmZDZhYzIgMTAwNjQ0CiAgc3RhdGljIHZvaWQgZnJlZV9lbGZpbmZvICh2b2lkICopOwogIAog IC8qIE1pbmltYWwgc3ltYm9scyBsb2NhdGVkIGF0IHRoZSBHT1QgZW50cmllcyBmb3IgLnBsdCAt IHRoYXQgaXMgdGhlIHJlYWwKLUBAIC0xNTc4LDcgKzE1OTUsMjcwIEBAIGVsZnN0YWJfb2Zmc2V0 X3NlY3Rpb25zIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgc3RydWN0IHBhcnRpYWxfc3ltdGFi ICpwc3QpCitAQCAtMTU3Niw3ICsxNTkzLDI3MCBAQCBlbGZzdGFiX29mZnNldF9zZWN0aW9ucyAo c3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHN0cnVjdCBwYXJ0aWFsX3N5bXRhYiAqcHN0KQogICAg ICBjb21wbGFpbnQgKCZzeW1maWxlX2NvbXBsYWludHMsCiAgCSAgICAgICBfKCJlbGYvc3RhYiBz ZWN0aW9uIGluZm9ybWF0aW9uIG1pc3NpbmcgZm9yICVzIiksIGZpbGVuYW1lKTsKICB9CkBAIC0y NjUwLDcgKzI2NTAsNyBAQCBpbmRleCA0Y2ViMzFiLi5iZmQ2YWMyIDEwMDY0NAogIC8qIFJlZ2lz dGVyIHRoYXQgd2UgYXJlIGFibGUgdG8gaGFuZGxlIEVMRiBvYmplY3QgZmlsZSBmb3JtYXRzLiAg Ki8KICAKICBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgZWxmX3N5bV9mbnMgPQotQEAgLTE1 OTMsNiArMTg3Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBlbGZfc3ltX2ZucyA9 CitAQCAtMTU5MSw2ICsxODcxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzeW1fZm5zIGVsZl9z eW1fZm5zID0KICAgIGVsZl9zeW1maWxlX3NlZ21lbnRzLAkJLyogR2V0IHNlZ21lbnQgaW5mb3Jt YXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKICAgIGRlZmF1bHRfc3ltZmlsZV9yZWxv Y2F0ZSwJLyogUmVsb2NhdGUgYSBkZWJ1ZyBzZWN0aW9uLiAgKi8KQEAgLTI2NTgsNyArMjY1OCw3 IEBAIGluZGV4IDRjZWIzMWIuLmJmZDZhYzIgMTAwNjQ0CiAgICAmcHN5bV9mdW5jdGlvbnMKICB9 OwogIAotQEAgLTE2MTEsNiArMTg5Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBl bGZfc3ltX2Zuc19sYXp5X3BzeW1zID0KK0BAIC0xNjA5LDYgKzE4OTAsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IHN5bV9mbnMgZWxmX3N5bV9mbnNfbGF6eV9wc3ltcyA9CiAgICBlbGZfc3ltZmls ZV9zZWdtZW50cywJCS8qIEdldCBzZWdtZW50IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8K ICAgIE5VTEwsCiAgICBkZWZhdWx0X3N5bWZpbGVfcmVsb2NhdGUsCS8qIFJlbG9jYXRlIGEgZGVi dWcgc2VjdGlvbi4gICovCkBAIC0yNjY2LDcgKzI2NjYsNyBAQCBpbmRleCA0Y2ViMzFiLi5iZmQ2 YWMyIDEwMDY0NAogICAgJnBzeW1fZnVuY3Rpb25zCiAgfTsKICAKLUBAIC0xNjI4LDYgKzE5MTAs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgZWxmX3N5bV9mbnNfZ2RiX2luZGV4ID0K K0BAIC0xNjI2LDYgKzE5MDgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgZWxmX3N5 bV9mbnNfZ2RiX2luZGV4ID0KICAgIGVsZl9zeW1maWxlX3NlZ21lbnRzLAkJLyogR2V0IHNlZ21l bnQgaW5mb3JtYXRpb24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKICAgIGRlZmF1bHRfc3lt ZmlsZV9yZWxvY2F0ZSwJLyogUmVsb2NhdGUgYSBkZWJ1ZyBzZWN0aW9uLiAgKi8KQEAgLTI2NzQs NyArMjY3NCw3IEBAIGluZGV4IDRjZWIzMWIuLmJmZDZhYzIgMTAwNjQ0CiAgICAmZHdhcmYyX2dk Yl9pbmRleF9mdW5jdGlvbnMKICB9OwogIAotQEAgLTE2NDQsNiArMTkyNyw4IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZ251X2lmdW5jX2ZucyBlbGZfZ251X2lmdW5jX2ZucyA9CitAQCAtMTY0Miw2 ICsxOTI1LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnbnVfaWZ1bmNfZm5zIGVsZl9nbnVfaWZ1 bmNfZm5zID0KICB2b2lkCiAgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCkKICB7CkBAIC0yNjg0 LDE4ICsyNjg0LDE4IEBAIGluZGV4IDRjZWIzMWIuLmJmZDZhYzIgMTAwNjQ0CiAgCiAgICBlbGZf b2JqZmlsZV9nbnVfaWZ1bmNfY2FjaGVfZGF0YSA9IHJlZ2lzdGVyX29iamZpbGVfZGF0YSAoKTsK IGRpZmYgLS1naXQgYS9nZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwotaW5kZXggNWQ3NThkMS4uYjRj MTc5OSAxMDA2NDQKK2luZGV4IDAyNDRmN2EuLmIzM2QzNjcgMTAwNjQ0CiAtLS0gYS9nZGIvZXZh bC5jCiArKysgYi9nZGIvZXZhbC5jCi1AQCAtNDQsNiArNDQsNyBAQAorQEAgLTQxLDYgKzQxLDcg QEAKKyAjaW5jbHVkZSAiZ2RiX29ic3RhY2suaCIKICAjaW5jbHVkZSAib2JqZmlsZXMuaCIKICAj aW5jbHVkZSAicHl0aG9uL3B5dGhvbi5oIgotICNpbmNsdWRlICJ3cmFwcGVyLmgiCiArI2luY2x1 ZGUgImR3YXJmMmxvYy5oIgogIAogICNpbmNsdWRlICJnZGJfYXNzZXJ0LmgiCiAgCi1AQCAtNDg5 LDI3ICs0OTAsMjE3IEBAIGluaXRfYXJyYXlfZWxlbWVudCAoc3RydWN0IHZhbHVlICphcnJheSwg c3RydWN0IHZhbHVlICplbGVtZW50LAorQEAgLTQ5OCwyNyArNDk5LDIxNyBAQCBpbml0X2FycmF5 X2VsZW1lbnQgKHN0cnVjdCB2YWx1ZSAqYXJyYXksIHN0cnVjdCB2YWx1ZSAqZWxlbWVudCwKICB9 CiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC0yOTI5LDcgKzI5MjksNyBAQCBpbmRleCA1 ZDc1OGQxLi5iNGMxNzk5IDEwMDY0NAogIH0KICAKICAKLUBAIC03OTAsNiArOTgxLDcgQEAgZXZh bHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCitAQCAtNzk5 LDYgKzk5MCw3IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVj dF90eXBlLAogICAgaW50IHNhdmVfcG9zMTsKICAgIHN0cnVjdCBzeW1ib2wgKmZ1bmN0aW9uID0g TlVMTDsKICAgIGNoYXIgKmZ1bmN0aW9uX25hbWUgPSBOVUxMOwpAQCAtMjkzNyw3ICsyOTM3LDcg QEAgaW5kZXggNWQ3NThkMS4uYjRjMTc5OSAxMDA2NDQKICAKICAgIHBjID0gKCpwb3MpKys7CiAg ICBvcCA9IGV4cC0+ZWx0c1twY10ub3Bjb2RlOwotQEAgLTE4NjUsNiArMjA1Nyw4IEBAIGV2YWx1 YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTE4NzQs NiArMjA2Niw4IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVj dF90eXBlLAogIAogICAgICAgIC8qIEZpcnN0IGRldGVybWluZSB0aGUgdHlwZSBjb2RlIHdlIGFy ZSBkZWFsaW5nIHdpdGguICAqLwogICAgICAgIGFyZzEgPSBldmFsdWF0ZV9zdWJleHAgKE5VTExf VFlQRSwgZXhwLCBwb3MsIG5vc2lkZSk7CkBAIC0yOTQ2LDcgKzI5NDYsNyBAQCBpbmRleCA1ZDc1 OGQxLi5iNGMxNzk5IDEwMDY0NAogICAgICAgIHR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90 eXBlIChhcmcxKSk7CiAgICAgICAgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7CiAgCi1AQCAtMTg4 NSwyMyArMjA3OSwxMyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpl eHBlY3RfdHlwZSwKK0BAIC0xODk0LDIzICsyMDg4LDEzIEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFu ZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAkgICAgICBjb2RlID0gVFlQRV9DT0RF ICh0eXBlKTsKICAJICAgIH0KICAJfSAKQEAgLTI5NzIsNyArMjk3Miw3IEBAIGluZGV4IDVkNzU4 ZDEuLmI0YzE3OTkgMTAwNjQ0CiAgCiAgCWNhc2UgVFlQRV9DT0RFX1BUUjoKICAJY2FzZSBUWVBF X0NPREVfRlVOQzoKLUBAIC0yMzQwLDQ5ICsyNTI0LDYgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5k YXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCitAQCAtMjM0OSw0OSArMjUzMyw2IEBAIGV2 YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAl9CiAg ICAgICAgcmV0dXJuIChhcmcxKTsKICAKQEAgLTMwMjIsNyArMzAyMiw3IEBAIGluZGV4IDVkNzU4 ZDEuLmI0YzE3OTkgMTAwNjQ0CiAgICAgIGNhc2UgQklOT1BfTE9HSUNBTF9BTkQ6CiAgICAgICAg YXJnMSA9IGV2YWx1YXRlX3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKTsKICAg ICAgICBpZiAobm9zaWRlID09IEVWQUxfU0tJUCkKLUBAIC0yNjE0LDE1ICsyNzU1LDIzIEBAIGV2 YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTI2 MjMsMTUgKzI3NjQsMjMgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAq ZXhwZWN0X3R5cGUsCiAgICAgICAgaWYgKGV4cGVjdF90eXBlICYmIFRZUEVfQ09ERSAoZXhwZWN0 X3R5cGUpID09IFRZUEVfQ09ERV9QVFIpCiAgCWV4cGVjdF90eXBlID0gVFlQRV9UQVJHRVRfVFlQ RSAoY2hlY2tfdHlwZWRlZiAoZXhwZWN0X3R5cGUpKTsKICAgICAgICBhcmcxID0gZXZhbHVhdGVf c3ViZXhwIChleHBlY3RfdHlwZSwgZXhwLCBwb3MsIG5vc2lkZSk7CkBAIC0zMDQ4LDcgKzMwNDgs NyBAQCBpbmRleCA1ZDc1OGQxLi5iNGMxNzk5IDEwMDY0NAogICAgICAgIGVsc2UgaWYgKG5vc2lk ZSA9PSBFVkFMX0FWT0lEX1NJREVfRUZGRUNUUykKICAJewogIAkgIHR5cGUgPSBjaGVja190eXBl ZGVmICh2YWx1ZV90eXBlIChhcmcxKSk7Ci1AQCAtMjYzMSwxMiArMjc4MCwxOCBAQCBldmFsdWF0 ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BAIC0yNjQwLDEy ICsyNzg5LDE4IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVj dF90eXBlLAogIAkgIC8qIEluIEMgeW91IGNhbiBkZXJlZmVyZW5jZSBhbiBhcnJheSB0byBnZXQg dGhlIDFzdCBlbHQuICAqLwogIAkgICAgICB8fCBUWVBFX0NPREUgKHR5cGUpID09IFRZUEVfQ09E RV9BUlJBWQogIAkgICAgKQpAQCAtMzA3Miw3ICszMDcyLDcgQEAgaW5kZXggNWQ3NThkMS4uYjRj MTc5OSAxMDA2NDQKICAJICBlbHNlCiAgCSAgICBlcnJvciAoXygiQXR0ZW1wdCB0byB0YWtlIGNv bnRlbnRzIG9mIGEgbm9uLXBvaW50ZXIgdmFsdWUuIikpOwogIAl9Ci1AQCAtMjY0Niw5ICsyODAx LDE0IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBl LAorQEAgLTI2NTUsOSArMjgxMCwxNCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVj dCB0eXBlICpleHBlY3RfdHlwZSwKICAJIGRvLiAgImxvbmcgbG9uZyIgdmFyaWFibGVzIGFyZSBy YXJlIGVub3VnaCB0aGF0CiAgCSBCVUlMVElOX1RZUEVfTE9OR0VTVCB3b3VsZCBzZWVtIHRvIGJl IGEgbWlzdGFrZS4gICovCiAgICAgICAgaWYgKFRZUEVfQ09ERSAodHlwZSkgPT0gVFlQRV9DT0RF X0lOVCkKQEAgLTMwOTAsNyArMzA5MCw3IEBAIGluZGV4IDVkNzU4ZDEuLmI0YzE3OTkgMTAwNjQ0 CiAgCiAgICAgIGNhc2UgVU5PUF9BRERSOgogICAgICAgIC8qIEMrKzogY2hlY2sgZm9yIGFuZCBo YW5kbGUgcG9pbnRlciB0byBtZW1iZXJzLiAgKi8KLUBAIC0yOTkwLDcgKzMxNTAsNyBAQCBldmFs dWF0ZV9zdWJleHBfd2l0aF9jb2VyY2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwKK0BAIC0y OTk5LDcgKzMxNTksNyBAQCBldmFsdWF0ZV9zdWJleHBfd2l0aF9jb2VyY2lvbiAoc3RydWN0IGV4 cHJlc3Npb24gKmV4cCwKICB7CiAgICBlbnVtIGV4cF9vcGNvZGUgb3A7CiAgICBpbnQgcGM7CkBA IC0zMDk5LDcgKzMwOTksNyBAQCBpbmRleCA1ZDc1OGQxLi5iNGMxNzk5IDEwMDY0NAogICAgc3Ry dWN0IHN5bWJvbCAqdmFyOwogICAgc3RydWN0IHR5cGUgKnR5cGU7CiAgCi1AQCAtMzAwMSwxMyAr MzE2MSwxOCBAQCBldmFsdWF0ZV9zdWJleHBfd2l0aF9jb2VyY2lvbiAoc3RydWN0IGV4cHJlc3Np b24gKmV4cCwKK0BAIC0zMDEwLDEzICszMTcwLDE4IEBAIGV2YWx1YXRlX3N1YmV4cF93aXRoX2Nv ZXJjaW9uIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAogICAgICB7CiAgICAgIGNhc2UgT1BfVkFS X1ZBTFVFOgogICAgICAgIHZhciA9IGV4cC0+ZWx0c1twYyArIDJdLnN5bWJvbDsKQEAgLTMxMTks NyArMzExOSw3IEBAIGluZGV4IDVkNzU4ZDEuLmI0YzE3OTkgMTAwNjQ0CiAgCSAgcmV0dXJuIHZh bHVlX2Nhc3QgKGxvb2t1cF9wb2ludGVyX3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpKSwK ICAJCQkgICAgIHZhbCk7CiAgCX0KLUBAIC0zMDU5LDkgKzMyMjQsMTMgQEAgZXZhbHVhdGVfc3Vi ZXhwX2Zvcl9zaXplb2YgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zKQorQEAgLTMw NjgsOSArMzIzMywxMyBAQCBldmFsdWF0ZV9zdWJleHBfZm9yX3NpemVvZiAoc3RydWN0IGV4cHJl c3Npb24gKmV4cCwgaW50ICpwb3MpCiAgCiAgICAgIGNhc2UgT1BfVkFSX1ZBTFVFOgogICAgICAg ICgqcG9zKSArPSA0OwpAQCAtMzEzNiw3ICszMTM2LDcgQEAgaW5kZXggNWQ3NThkMS4uYjRjMTc5 OSAxMDA2NDQKICAKICAgICAgZGVmYXVsdDoKICAgICAgICB2YWwgPSBldmFsdWF0ZV9zdWJleHAg KE5VTExfVFlQRSwgZXhwLCBwb3MsIEVWQUxfQVZPSURfU0lERV9FRkZFQ1RTKTsKLUBAIC0zMDky LDE4ICszMjYxLDI1IEBAIHBhcnNlX2FuZF9ldmFsX3R5cGUgKGNoYXIgKnAsIGludCBsZW5ndGgp CitAQCAtMzEwMSwxOCArMzI3MCwyNSBAQCBwYXJzZV9hbmRfZXZhbF90eXBlIChjaGFyICpwLCBp bnQgbGVuZ3RoKQogIGludAogIGNhbGNfZjc3X2FycmF5X2RpbXMgKHN0cnVjdCB0eXBlICphcnJh eV90eXBlKQogIHsKQEAgLTMxNzMsMTAgKzMxNzMsMTAgQEAgaW5kZXggNWQ3NThkMS4uYjRjMTc5 OSAxMDA2NDQKICsKICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL2YtZXhwLnkgYi9nZGIvZi1leHAueQot aW5kZXggNzQ5MzdkNy4uMDkzZmZlMCAxMDA2NDQKK2luZGV4IGIyNThjMGEuLjE3NTI5NzMgMTAw NjQ0CiAtLS0gYS9nZGIvZi1leHAueQogKysrIGIvZ2RiL2YtZXhwLnkKLUBAIC0yOTMsNyArMjkz LDkgQEAgYXJnbGlzdCA6CXN1YnJhbmdlCitAQCAtMjkyLDcgKzI5Miw5IEBAIGFyZ2xpc3QgOglz dWJyYW5nZQogIAkJCXsgYXJnbGlzdF9sZW4gPSAxOyB9CiAgCTsKICAgICAKQEAgLTMxODgsNyAr MzE4OCw3IEBAIGluZGV4IDc0OTM3ZDcuLjA5M2ZmZTAgMTAwNjQ0CiAgCTsKICAKIGRpZmYgLS1n aXQgYS9nZGIvZi1sYW5nLmggYi9nZGIvZi1sYW5nLmgKLWluZGV4IDgwNDM1NzcuLjk0YTVmMzEg MTAwNjQ0CitpbmRleCAzYTQ2ZWJmLi4yYjczZTFmIDEwMDY0NAogLS0tIGEvZ2RiL2YtbGFuZy5o CiArKysgYi9nZGIvZi1sYW5nLmgKIEBAIC0yOCw2ICsyOCwxMCBAQCBleHRlcm4gdm9pZCBmX2Vy cm9yIChjaGFyICopOwkvKiBEZWZpbmVkIGluIGYtZXhwLnkgKi8KQEAgLTMyMDMsMTAgKzMyMDMs MTAgQEAgaW5kZXggODA0MzU3Ny4uOTRhNWYzMSAxMDA2NDQKICAJCQlzdHJ1Y3QgdWlfZmlsZSAq LCBpbnQsCiAgCQkJY29uc3Qgc3RydWN0IHZhbHVlICosCiBkaWZmIC0tZ2l0IGEvZ2RiL2YtdHlw ZXByaW50LmMgYi9nZGIvZi10eXBlcHJpbnQuYwotaW5kZXggNmQ5ZTZlYy4uY2M0YzAyYSAxMDA2 NDQKK2luZGV4IGE5NWVmODQuLjgzMDkxN2QgMTAwNjQ0CiAtLS0gYS9nZGIvZi10eXBlcHJpbnQu YwogKysrIGIvZ2RiL2YtdHlwZXByaW50LmMKLUBAIC0zMiw3ICszMiw3IEBACitAQCAtMzEsNyAr MzEsNyBAQAogICNpbmNsdWRlICJnZGJjb3JlLmgiCiAgI2luY2x1ZGUgInRhcmdldC5oIgogICNp bmNsdWRlICJmLWxhbmcuaCIKQEAgLTMyMTUsNyArMzIxNSw3IEBAIGluZGV4IDZkOWU2ZWMuLmNj NGMwMmEgMTAwNjQ0CiAgI2luY2x1ZGUgImdkYl9zdHJpbmcuaCIKICAjaW5jbHVkZSA8ZXJybm8u aD4KICAKLUBAIC00OSw2ICs0OSwzNCBAQCB2b2lkIGZfdHlwZV9wcmludF92YXJzcGVjX3ByZWZp eCAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHVpX2ZpbGUgKiwKK0BAIC00OCw2ICs0OCwzNCBAQCB2 b2lkIGZfdHlwZV9wcmludF92YXJzcGVjX3ByZWZpeCAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHVp X2ZpbGUgKiwKICB2b2lkIGZfdHlwZV9wcmludF9iYXNlIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3Qg dWlfZmlsZSAqLCBpbnQsIGludCk7CiAgDAogIApAQCAtMzI1MCw3ICszMjUwLDcgQEAgaW5kZXgg NmQ5ZTZlYy4uY2M0YzAyYSAxMDA2NDQKICAvKiBMRVZFTCBpcyB0aGUgZGVwdGggdG8gaW5kZW50 IGxpbmVzIGJ5LiAgKi8KICAKICB2b2lkCi1AQCAtNTgsNiArODYsOSBAQCBmX3ByaW50X3R5cGUg KHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBjaGFyICp2YXJzdHJpbmcsIHN0cnVjdCB1aV9maWxl ICpzdHJlYW0sCitAQCAtNTcsNiArODUsOSBAQCBmX3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlICp0 eXBlLCBjb25zdCBjaGFyICp2YXJzdHJpbmcsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgICBl bnVtIHR5cGVfY29kZSBjb2RlOwogICAgaW50IGRlbWFuZ2xlZF9hcmdzOwogIApAQCAtMzI2MCw3 ICszMjYwLDcgQEAgaW5kZXggNmQ5ZTZlYy4uY2M0YzAyYSAxMDA2NDQKICAgIGZfdHlwZV9wcmlu dF9iYXNlICh0eXBlLCBzdHJlYW0sIHNob3csIGxldmVsKTsKICAgIGNvZGUgPSBUWVBFX0NPREUg KHR5cGUpOwogICAgaWYgKCh2YXJzdHJpbmcgIT0gTlVMTCAmJiAqdmFyc3RyaW5nICE9ICdcMCcp Ci1AQCAtMTY1LDYgKzE5Niw5IEBAIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoc3RydWN0 IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCitAQCAtMTY0LDYgKzE5NSw5IEBA IGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1 aV9maWxlICpzdHJlYW0sCiAgCiAgICBRVUlUOwogIApAQCAtMzI3MSw3ICszMjcxLDcgQEAgaW5k ZXggNmQ5ZTZlYy4uY2M0YzAyYSAxMDA2NDQKICAgICAgewogICAgICBjYXNlIFRZUEVfQ09ERV9B UlJBWToKIGRpZmYgLS1naXQgYS9nZGIvZi12YWxwcmludC5jIGIvZ2RiL2YtdmFscHJpbnQuYwot aW5kZXggYjgwMGQ4OS4uMGY2MTZlMCAxMDA2NDQKK2luZGV4IDg3YjJlZDEuLjVkMjYzZjIgMTAw NjQ0CiAtLS0gYS9nZGIvZi12YWxwcmludC5jCiArKysgYi9nZGIvZi12YWxwcmludC5jCiBAQCAt NTQsMTUgKzU0LDE3IEBAIGludCBmNzdfYXJyYXlfb2Zmc2V0X3RibFtNQVhfRk9SVFJBTl9ESU1T ICsgMV1bMl07CkBAIC0zNDEwLDEwICszNDEwLDEwIEBAIGluZGV4IGI4MDBkODkuLjBmNjE2ZTAg MTAwNjQ0CiAgICBzd2l0Y2ggKFRZUEVfQ09ERSAodHlwZSkpCiAgICAgIHsKIGRpZmYgLS1naXQg YS9nZGIvZmluZHZhci5jIGIvZ2RiL2ZpbmR2YXIuYwotaW5kZXggMzMzMzJjNi4uZDhkYTM0YSAx MDA2NDQKK2luZGV4IDc5YzQyMjEuLjFiYjdjMjIgMTAwNjQ0CiAtLS0gYS9nZGIvZmluZHZhci5j CiArKysgYi9nZGIvZmluZHZhci5jCi1AQCAtMzUsNiArMzUsNyBAQAorQEAgLTM0LDYgKzM0LDcg QEAKICAjaW5jbHVkZSAidXNlci1yZWdzLmgiCiAgI2luY2x1ZGUgImJsb2NrLmgiCiAgI2luY2x1 ZGUgIm9iamZpbGVzLmgiCkBAIC0zNDIxLDcgKzM0MjEsNyBAQCBpbmRleCAzMzMzMmM2Li5kOGRh MzRhIDEwMDY0NAogIAogIC8qIEJhc2ljIGJ5dGUtc3dhcHBpbmcgcm91dGluZXMuICBBbGwgJ2V4 dHJhY3QnIGZ1bmN0aW9ucyByZXR1cm4gYQogICAgIGhvc3QtZm9ybWF0IGludGVnZXIgZnJvbSBh IHRhcmdldC1mb3JtYXQgaW50ZWdlciBhdCBBRERSIHdoaWNoIGlzCi1AQCAtNDA4LDggKzQwOSwx MSBAQCBzeW1ib2xfcmVhZF9uZWVkc19mcmFtZSAoc3RydWN0IHN5bWJvbCAqc3ltKQorQEAgLTQw Nyw4ICs0MDgsMTEgQEAgc3ltYm9sX3JlYWRfbmVlZHNfZnJhbWUgKHN0cnVjdCBzeW1ib2wgKnN5 bSkKICAKICAvKiBHaXZlbiBhIHN0cnVjdCBzeW1ib2wgZm9yIGEgdmFyaWFibGUsCiAgICAgYW5k IGEgc3RhY2sgZnJhbWUgaWQsIHJlYWQgdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZQpAQCAtMzQz NSw3ICszNDM1LDcgQEAgaW5kZXggMzMzMzJjNi4uZDhkYTM0YSAxMDA2NDQKICAKICBzdHJ1Y3Qg dmFsdWUgKgogIHJlYWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBmcmFt ZV9pbmZvICpmcmFtZSkKLUBAIC00MTcsMTYgKzQyMSw2IEBAIHJlYWRfdmFyX3ZhbHVlIChzdHJ1 Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKK0BAIC00MTYsMTYgKzQy MCw2IEBAIHJlYWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBmcmFtZV9p bmZvICpmcmFtZSkKICAgIHN0cnVjdCB2YWx1ZSAqdjsKICAgIHN0cnVjdCB0eXBlICp0eXBlID0g U1lNQk9MX1RZUEUgKHZhcik7CiAgICBDT1JFX0FERFIgYWRkcjsKQEAgLTM0NTIsNyArMzQ1Miw3 IEBAIGluZGV4IDMzMzMyYzYuLmQ4ZGEzNGEgMTAwNjQ0CiAgCiAgICBpZiAoc3ltYm9sX3JlYWRf bmVlZHNfZnJhbWUgKHZhcikpCiAgICAgIGdkYl9hc3NlcnQgKGZyYW1lKTsKLUBAIC00MzYsNyAr NDMwLDcgQEAgcmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3RydWN0IGZyYW1l X2luZm8gKmZyYW1lKQorQEAgLTQzNSw3ICs0MjksNyBAQCByZWFkX3Zhcl92YWx1ZSAoc3RydWN0 IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCiAgICAgIGNhc2UgTE9DX0NP TlNUOgogICAgICAgIC8qIFB1dCB0aGUgY29uc3RhbnQgYmFjayBpbiB0YXJnZXQgZm9ybWF0LiAg Ki8KICAgICAgICB2ID0gYWxsb2NhdGVfdmFsdWUgKHR5cGUpOwpAQCAtMzQ2MSw3ICszNDYxLDcg QEAgaW5kZXggMzMzMzJjNi4uZDhkYTM0YSAxMDA2NDQKICAJCQkgICAgZ2RiYXJjaF9ieXRlX29y ZGVyIChnZXRfdHlwZV9hcmNoICh0eXBlKSksCiAgCQkJICAgIChMT05HRVNUKSBTWU1CT0xfVkFM VUUgKHZhcikpOwogICAgICAgIFZBTFVFX0xWQUwgKHYpID0gbm90X2x2YWw7Ci1AQCAtNDYxLDEy ICs0NTUsMTIgQEAgcmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3RydWN0IGZy YW1lX2luZm8gKmZyYW1lKQorQEAgLTQ2MCwxMiArNDU0LDEyIEBAIHJlYWRfdmFyX3ZhbHVlIChz dHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKICAKICAgICAgY2Fz ZSBMT0NfQ09OU1RfQllURVM6CiAgICAgICAgdiA9IGFsbG9jYXRlX3ZhbHVlICh0eXBlKTsKQEAg LTM0NzYsNyArMzQ3Niw3IEBAIGluZGV4IDMzMzMyYzYuLmQ4ZGEzNGEgMTAwNjQ0CiAgICAgICAg aWYgKG92ZXJsYXlfZGVidWdnaW5nKQogIAlhZGRyID0gc3ltYm9sX292ZXJsYXllZF9hZGRyZXNz IChTWU1CT0xfVkFMVUVfQUREUkVTUyAodmFyKSwKICAJCQkJCSBTWU1CT0xfT0JKX1NFQ1RJT04g KHZhcikpOwotQEAgLTQ4MCw3ICs0NzQsNiBAQCByZWFkX3Zhcl92YWx1ZSAoc3RydWN0IHN5bWJv bCAqdmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCitAQCAtNDc5LDcgKzQ3Myw2IEBAIHJl YWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFt ZSkKICAJZXJyb3IgKF8oIlVua25vd24gYXJndW1lbnQgbGlzdCBhZGRyZXNzIGZvciBgJXMnLiIp LAogIAkgICAgICAgU1lNQk9MX1BSSU5UX05BTUUgKHZhcikpOwogICAgICAgIGFkZHIgKz0gU1lN Qk9MX1ZBTFVFICh2YXIpOwpAQCAtMzQ4NCw3ICszNDg0LDcgQEAgaW5kZXggMzMzMzJjNi4uZDhk YTM0YSAxMDA2NDQKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSBMT0NfUkVGX0FSRzoKLUBA IC00OTUsMTQgKzQ4OCwxMiBAQCByZWFkX3Zhcl92YWx1ZSAoc3RydWN0IHN5bWJvbCAqdmFyLCBz dHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCitAQCAtNDk0LDE0ICs0ODcsMTIgQEAgcmVhZF92YXJf dmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQogIAlh cmdyZWYgKz0gU1lNQk9MX1ZBTFVFICh2YXIpOwogIAlyZWYgPSB2YWx1ZV9hdCAobG9va3VwX3Bv aW50ZXJfdHlwZSAodHlwZSksIGFyZ3JlZik7CiAgCWFkZHIgPSB2YWx1ZV9hc19hZGRyZXNzIChy ZWYpOwpAQCAtMzQ5OSw3ICszNDk5LDcgQEAgaW5kZXggMzMzMzJjNi4uZDhkYTM0YSAxMDA2NDQK ICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSBMT0NfVFlQRURFRjoKLUBAIC01MTEsNyArNTAy LDYgQEAgcmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3RydWN0IGZyYW1lX2lu Zm8gKmZyYW1lKQorQEAgLTUxMCw3ICs1MDEsNiBAQCByZWFkX3Zhcl92YWx1ZSAoc3RydWN0IHN5 bWJvbCAqdmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCiAgICAgICAgYnJlYWs7CiAgCiAg ICAgIGNhc2UgTE9DX0JMT0NLOgpAQCAtMzUwNyw3ICszNTA3LDcgQEAgaW5kZXggMzMzMzJjNi4u ZDhkYTM0YSAxMDA2NDQKICAgICAgICBpZiAob3ZlcmxheV9kZWJ1Z2dpbmcpCiAgCWFkZHIgPSBz eW1ib2xfb3ZlcmxheWVkX2FkZHJlc3MKICAJICAoQkxPQ0tfU1RBUlQgKFNZTUJPTF9CTE9DS19W QUxVRSAodmFyKSksIFNZTUJPTF9PQkpfU0VDVElPTiAodmFyKSk7Ci1AQCAtNTM3LDcgKzUyNyw2 IEBAIHJlYWRfdmFyX3ZhbHVlIChzdHJ1Y3Qgc3ltYm9sICp2YXIsIHN0cnVjdCBmcmFtZV9pbmZv ICpmcmFtZSkKK0BAIC01MzYsNyArNTI2LDYgQEAgcmVhZF92YXJfdmFsdWUgKHN0cnVjdCBzeW1i b2wgKnZhciwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQogIAkgICAgICAgICAgICAgU1lNQk9M X1BSSU5UX05BTUUgKHZhcikpOwogIAogIAkgICAgYWRkciA9IHZhbHVlX2FzX2FkZHJlc3MgKHJl Z3ZhbCk7CkBAIC0zNTE1LDcgKzM1MTUsNyBAQCBpbmRleCAzMzMzMmM2Li5kOGRhMzRhIDEwMDY0 NAogIAkgIH0KICAJZWxzZQogIAkgIHsKLUBAIC01NzcsNyArNTY2LDYgQEAgcmVhZF92YXJfdmFs dWUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQorQEAgLTU3 Niw3ICs1NjUsNiBAQCByZWFkX3Zhcl92YWx1ZSAoc3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1Y3Qg ZnJhbWVfaW5mbyAqZnJhbWUpCiAgCWlmIChvYmpfc2VjdGlvbgogIAkgICAgJiYgKG9ial9zZWN0 aW9uLT50aGVfYmZkX3NlY3Rpb24tPmZsYWdzICYgU0VDX1RIUkVBRF9MT0NBTCkgIT0gMCkKICAJ ICBhZGRyID0gdGFyZ2V0X3RyYW5zbGF0ZV90bHNfYWRkcmVzcyAob2JqX3NlY3Rpb24tPm9iamZp bGUsIGFkZHIpOwpAQCAtMzUyMyw3ICszNTIzLDcgQEAgaW5kZXggMzMzMzJjNi4uZDhkYTM0YSAx MDA2NDQKICAgICAgICB9CiAgICAgICAgYnJlYWs7CiAgCi1AQCAtNTkwLDYgKzU3OCwxMCBAQCBy ZWFkX3Zhcl92YWx1ZSAoc3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJh bWUpCitAQCAtNTg5LDYgKzU3NywxMCBAQCByZWFkX3Zhcl92YWx1ZSAoc3RydWN0IHN5bWJvbCAq dmFyLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAK QEAgLTM1MzQsNyArMzUzNCw3IEBAIGluZGV4IDMzMzMyYzYuLmQ4ZGEzNGEgMTAwNjQ0CiAgICBW QUxVRV9MVkFMICh2KSA9IGx2YWxfbWVtb3J5OwogICAgc2V0X3ZhbHVlX2FkZHJlc3MgKHYsIGFk ZHIpOwogICAgcmV0dXJuIHY7Ci1AQCAtNjcyLDEwICs2NjQsMTEgQEAgc3RydWN0IHZhbHVlICoK K0BAIC02NzEsMTAgKzY2MywxMSBAQCBzdHJ1Y3QgdmFsdWUgKgogIHZhbHVlX2Zyb21fcmVnaXN0 ZXIgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgcmVnbnVtLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJh bWUpCiAgewogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJh bWUpOwpAQCAtMzU0OCw3ICszNTQ4LDcgQEAgaW5kZXggMzMzMzJjNi4uZDhkYTM0YSAxMDA2NDQK ICAgICAgewogICAgICAgIGludCBvcHRpbSwgdW5hdmFpbCwgb2s7CiAgCi1AQCAtNjkwLDcgKzY4 Myw3IEBAIHZhbHVlX2Zyb21fcmVnaXN0ZXIgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgcmVnbnVt LCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCitAQCAtNjg5LDcgKzY4Miw3IEBAIHZhbHVlX2Zy b21fcmVnaXN0ZXIgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgcmVnbnVtLCBzdHJ1Y3QgZnJhbWVf aW5mbyAqZnJhbWUpCiAgICAgICAgVkFMVUVfTFZBTCAodikgPSBsdmFsX3JlZ2lzdGVyOwogICAg ICAgIFZBTFVFX0ZSQU1FX0lEICh2KSA9IGdldF9mcmFtZV9pZCAoZnJhbWUpOwogICAgICAgIFZB TFVFX1JFR05VTSAodikgPSByZWdudW07CkBAIC0zNTU4LDEwICszNTU4LDEwIEBAIGluZGV4IDMz MzMyYzYuLmQ4ZGEzNGEgMTAwNjQ0CiAgCQkJCSAgICAgICZ1bmF2YWlsKTsKICAKIGRpZmYgLS1n aXQgYS9nZGIvZ2RiYXJjaC5jIGIvZ2RiL2dkYmFyY2guYwotaW5kZXggMWFkYTUwNC4uZWMxZWY0 NiAxMDA2NDQKK2luZGV4IDFiZDIzNDEuLjQzMWRkY2MgMTAwNjQ0CiAtLS0gYS9nZGIvZ2RiYXJj aC5jCiArKysgYi9nZGIvZ2RiYXJjaC5jCi1AQCAtMjYzLDYgKzI2MywxNiBAQCBzdHJ1Y3QgZ2Ri YXJjaAorQEAgLTI2NSw2ICsyNjUsMTYgQEAgc3RydWN0IGdkYmFyY2gKICAgIGdkYmFyY2hfZ2V0 X3NpZ2luZm9fdHlwZV9mdHlwZSAqZ2V0X3NpZ2luZm9fdHlwZTsKICAgIGdkYmFyY2hfcmVjb3Jk X3NwZWNpYWxfc3ltYm9sX2Z0eXBlICpyZWNvcmRfc3BlY2lhbF9zeW1ib2w7CiAgICBnZGJhcmNo X2dldF9zeXNjYWxsX251bWJlcl9mdHlwZSAqZ2V0X3N5c2NhbGxfbnVtYmVyOwpAQCAtMzU3OCw3 ICszNTc4LDcgQEAgaW5kZXggMWFkYTUwNC4uZWMxZWY0NiAxMDA2NDQKICAgIGludCBoYXNfZ2xv YmFsX3NvbGlzdDsKICAgIGludCBoYXNfZ2xvYmFsX2JyZWFrcG9pbnRzOwogICAgZ2RiYXJjaF9o YXNfc2hhcmVkX2FkZHJlc3Nfc3BhY2VfZnR5cGUgKmhhc19zaGFyZWRfYWRkcmVzc19zcGFjZTsK LUBAIC00MTgsNiArNDI4LDE2IEBAIHN0cnVjdCBnZGJhcmNoIHN0YXJ0dXBfZ2RiYXJjaCA9CitA QCAtNDIzLDYgKzQzMywxNiBAQCBzdHJ1Y3QgZ2RiYXJjaCBzdGFydHVwX2dkYmFyY2ggPQogICAg MCwgIC8qIGdldF9zaWdpbmZvX3R5cGUgKi8KICAgIDAsICAvKiByZWNvcmRfc3BlY2lhbF9zeW1i b2wgKi8KICAgIDAsICAvKiBnZXRfc3lzY2FsbF9udW1iZXIgKi8KQEAgLTM1OTUsNyArMzU5NSw3 IEBAIGluZGV4IDFhZGE1MDQuLmVjMWVmNDYgMTAwNjQ0CiAgICAwLCAgLyogaGFzX2dsb2JhbF9z b2xpc3QgKi8KICAgIDAsICAvKiBoYXNfZ2xvYmFsX2JyZWFrcG9pbnRzICovCiAgICBkZWZhdWx0 X2hhc19zaGFyZWRfYWRkcmVzc19zcGFjZSwgIC8qIGhhc19zaGFyZWRfYWRkcmVzc19zcGFjZSAq LwotQEAgLTcwNyw2ICs3MjcsMTYgQEAgdmVyaWZ5X2dkYmFyY2ggKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoKQorQEAgLTcxNSw2ICs3MzUsMTYgQEAgdmVyaWZ5X2dkYmFyY2ggKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoKQogICAgLyogU2tpcCB2ZXJpZnkgb2YgZ2V0X3NpZ2luZm9fdHlwZSwgaGFz IHByZWRpY2F0ZS4gICovCiAgICAvKiBTa2lwIHZlcmlmeSBvZiByZWNvcmRfc3BlY2lhbF9zeW1i b2wsIGhhcyBwcmVkaWNhdGUuICAqLwogICAgLyogU2tpcCB2ZXJpZnkgb2YgZ2V0X3N5c2NhbGxf bnVtYmVyLCBoYXMgcHJlZGljYXRlLiAgKi8KQEAgLTM2MTIsNyArMzYxMiw3IEBAIGluZGV4IDFh ZGE1MDQuLmVjMWVmNDYgMTAwNjQ0CiAgICAvKiBTa2lwIHZlcmlmeSBvZiBoYXNfZ2xvYmFsX3Nv bGlzdCwgaW52YWxpZF9wID09IDAgKi8KICAgIC8qIFNraXAgdmVyaWZ5IG9mIGhhc19nbG9iYWxf YnJlYWtwb2ludHMsIGludmFsaWRfcCA9PSAwICovCiAgICAvKiBTa2lwIHZlcmlmeSBvZiBoYXNf c2hhcmVkX2FkZHJlc3Nfc3BhY2UsIGludmFsaWRfcCA9PSAwICovCi1AQCAtMTI0MCw2ICsxMjcw LDQyIEBAIGdkYmFyY2hfZHVtcCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB1aV9m aWxlICpmaWxlKQorQEAgLTEyNjcsNiArMTI5Nyw0MiBAQCBnZGJhcmNoX2R1bXAgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdWlfZmlsZSAqZmlsZSkKICAgICAgICAgICAgICAgICAg ICAgICAgImdkYmFyY2hfZHVtcDogc3RhYnNfYXJndW1lbnRfaGFzX2FkZHIgPSA8JXM+XG4iLAog ICAgICAgICAgICAgICAgICAgICAgICBob3N0X2FkZHJlc3NfdG9fc3RyaW5nIChnZGJhcmNoLT5z dGFic19hcmd1bWVudF9oYXNfYWRkcikpOwogICAgZnByaW50Zl91bmZpbHRlcmVkIChmaWxlLApA QCAtMzY1NSw3ICszNjU1LDcgQEAgaW5kZXggMWFkYTUwNC4uZWMxZWY0NiAxMDA2NDQKICAgICAg ICAgICAgICAgICAgICAgICAgImdkYmFyY2hfZHVtcDogZ2RiYXJjaF9zdGF0aWNfdHJhbnNmb3Jt X25hbWVfcCgpID0gJWRcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgIGdkYmFyY2hfc3RhdGlj X3RyYW5zZm9ybV9uYW1lX3AgKGdkYmFyY2gpKTsKICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZmls ZSwKLUBAIC0zNzU5LDYgKzM4MjUsMTkwIEBAIHNldF9nZGJhcmNoX2dldF9zeXNjYWxsX251bWJl ciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMzgzNCw2ICszOTAwLDE5MCBAQCBzZXRf Z2RiYXJjaF9nZXRfc3lzY2FsbF9udW1iZXIgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogICAg Z2RiYXJjaC0+Z2V0X3N5c2NhbGxfbnVtYmVyID0gZ2V0X3N5c2NhbGxfbnVtYmVyOwogIH0KICAK QEAgLTM4NDcsNyArMzg0Nyw3IEBAIGluZGV4IDFhZGE1MDQuLmVjMWVmNDYgMTAwNjQ0CiAgZ2Ri YXJjaF9oYXNfZ2xvYmFsX3NvbGlzdCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpCiAgewogZGlm ZiAtLWdpdCBhL2dkYi9nZGJhcmNoLmggYi9nZGIvZ2RiYXJjaC5oCi1pbmRleCBjMjU3YzYzLi5l ZWI4ZTYyIDEwMDY0NAoraW5kZXggMDQ0MjgxYy4uMjk0YTYzZiAxMDA2NDQKIC0tLSBhL2dkYi9n ZGJhcmNoLmgKICsrKyBiL2dkYi9nZGJhcmNoLmgKIEBAIC01NSw2ICs1NSw3IEBAIHN0cnVjdCBj b3JlX3JlZ3NldF9zZWN0aW9uOwpAQCAtMzg1OCw3ICszODU4LDcgQEAgaW5kZXggYzI1N2M2My4u ZWViOGU2MiAxMDA2NDQKICAKICAvKiBUaGUgYXJjaGl0ZWN0dXJlIGFzc29jaWF0ZWQgd2l0aCB0 aGUgY29ubmVjdGlvbiB0byB0aGUgdGFyZ2V0LgogICAKLUBAIC05NjMsNiArOTY0LDEyNSBAQCB0 eXBlZGVmIExPTkdFU1QgKGdkYmFyY2hfZ2V0X3N5c2NhbGxfbnVtYmVyX2Z0eXBlKSAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIHB0aQorQEAgLTk3OSw2ICs5ODAsMTI1IEBAIHR5cGVkZWYgTE9O R0VTVCAoZ2RiYXJjaF9nZXRfc3lzY2FsbF9udW1iZXJfZnR5cGUpIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwgcHRpCiAgZXh0ZXJuIExPTkdFU1QgZ2RiYXJjaF9nZXRfc3lzY2FsbF9udW1iZXIg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBwdGlkX3QgcHRpZCk7CiAgZXh0ZXJuIHZvaWQgc2V0 X2dkYmFyY2hfZ2V0X3N5c2NhbGxfbnVtYmVyIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgZ2Ri YXJjaF9nZXRfc3lzY2FsbF9udW1iZXJfZnR5cGUgKmdldF9zeXNjYWxsX251bWJlcik7CiAgCkBA IC0zOTg1LDEwICszOTg1LDEwIEBAIGluZGV4IGMyNTdjNjMuLmVlYjhlNjIgMTAwNjQ0CiAgICAg cHJvY2Vzc2VzLCBhcyBvcHBvc2VkIHRvIGEgbGlzdCBvZiBzaGFyZWQgbGlicmFyaWVzIHBlciBp bmZlcmlvci4KICAgICBUaGlzIHVzdWFsbHkgbWVhbnMgdGhhdCBhbGwgcHJvY2Vzc2VzLCBhbHRo b3VnaCBtYXkgb3IgbWF5IG5vdCBzaGFyZQogZGlmZiAtLWdpdCBhL2dkYi9nZGJhcmNoLnNoIGIv Z2RiL2dkYmFyY2guc2gKLWluZGV4IDBjMzM0NGYuLjUzNDNhY2UgMTAwNzU1CitpbmRleCAzNzI4 MWJhLi44NzlmYWI3IDEwMDc1NQogLS0tIGEvZ2RiL2dkYmFyY2guc2gKICsrKyBiL2dkYi9nZGJh cmNoLnNoCi1AQCAtNzg3LDYgKzc4NywxMDEgQEAgTTp2b2lkOnJlY29yZF9zcGVjaWFsX3N5bWJv bDpzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgYXN5bWJvbCAqc3ltOm9iamZpbGUsIHN5bQorQEAg LTc5Miw2ICs3OTIsMTAxIEBAIE06dm9pZDpyZWNvcmRfc3BlY2lhbF9zeW1ib2w6c3RydWN0IG9i amZpbGUgKm9iamZpbGUsIGFzeW1ib2wgKnN5bTpvYmpmaWxlLCBzeW0KICAjIEdldCBhcmNoaXRl Y3R1cmUtc3BlY2lmaWMgc3lzdGVtIGNhbGxzIGluZm9ybWF0aW9uIGZyb20gcmVnaXN0ZXJzLgog IE06TE9OR0VTVDpnZXRfc3lzY2FsbF9udW1iZXI6cHRpZF90IHB0aWQ6cHRpZAogIApAQCAtNDA5 MCw3ICs0MDkwLDcgQEAgaW5kZXggMGMzMzQ0Zi4uNTM0M2FjZSAxMDA3NTUKICAjIFRydWUgaWYg dGhlIGxpc3Qgb2Ygc2hhcmVkIGxpYnJhcmllcyBpcyBvbmUgYW5kIG9ubHkgZm9yIGFsbAogICMg cHJvY2Vzc2VzLCBhcyBvcHBvc2VkIHRvIGEgbGlzdCBvZiBzaGFyZWQgbGlicmFyaWVzIHBlciBp bmZlcmlvci4KICAjIFRoaXMgdXN1YWxseSBtZWFucyB0aGF0IGFsbCBwcm9jZXNzZXMsIGFsdGhv dWdoIG1heSBvciBtYXkgbm90IHNoYXJlCi1AQCAtOTQ2LDYgKzEwNDEsNyBAQCBzdHJ1Y3QgY29y ZV9yZWdzZXRfc2VjdGlvbjsKK0BAIC05NTQsNiArMTA0OSw3IEBAIHN0cnVjdCBjb3JlX3JlZ3Nl dF9zZWN0aW9uOwogIHN0cnVjdCBzeXNjYWxsOwogIHN0cnVjdCBhZ2VudF9leHByOwogIHN0cnVj dCBheHNfdmFsdWU7CkBAIC00MTE5LDIwICs0MTE5LDIwIEBAIGluZGV4IGZmYjdmNTMuLmEyZTdl OTQgMTAwNjQ0CiAgCiAgYiBpbnRlcm5hbF9lcnJvcgogZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBl cy5jIGIvZ2RiL2dkYnR5cGVzLmMKLWluZGV4IGQwY2I2NzguLjhiOGIwM2QgMTAwNjQ0CitpbmRl eCBiMDljMWVjLi44ZTAyNTZjIDEwMDY0NAogLS0tIGEvZ2RiL2dkYnR5cGVzLmMKICsrKyBiL2dk Yi9nZGJ0eXBlcy5jCi1AQCAtMzksNiArMzksOSBAQAotICNpbmNsdWRlICJjcC1hYmkuaCIKK0BA IC0zNyw2ICszNyw5IEBACiAgI2luY2x1ZGUgImdkYl9hc3NlcnQuaCIKICAjaW5jbHVkZSAiaGFz aHRhYi5oIgorICNpbmNsdWRlICJleGNlcHRpb25zLmgiCiArI2luY2x1ZGUgIm9ic2VydmVyLmgi CiArI2luY2x1ZGUgImR3YXJmMmV4cHIuaCIKICsjaW5jbHVkZSAiZHdhcmYybG9jLmgiCiAgCi0g CiAgLyogSW5pdGlhbGl6ZSBCQURORVNTIGNvbnN0YW50cy4gICovCi1AQCAtMTQ0LDcgKzE0Nywx NiBAQCBzdGF0aWMgdm9pZCBwcmludF9iaXRfdmVjdG9yIChCX1RZUEUgKiwgaW50KTsKKyAKK0BA IC0xNDEsNyArMTQ0LDE2IEBAIHN0YXRpYyB2b2lkIHByaW50X2JpdF92ZWN0b3IgKEJfVFlQRSAq LCBpbnQpOwogIHN0YXRpYyB2b2lkIHByaW50X2FyZ190eXBlcyAoc3RydWN0IGZpZWxkICosIGlu dCwgaW50KTsKICBzdGF0aWMgdm9pZCBkdW1wX2ZuX2ZpZWxkbGlzdHMgKHN0cnVjdCB0eXBlICos IGludCk7CiAgc3RhdGljIHZvaWQgcHJpbnRfY3BsdXNfc3R1ZmYgKHN0cnVjdCB0eXBlICosIGlu dCk7CkBAIC00MTQ5LDcgKzQxNDksNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNkIDEwMDY0NAog IAogIC8qIEFsbG9jYXRlIGEgbmV3IE9CSkZJTEUtYXNzb2NpYXRlZCB0eXBlIHN0cnVjdHVyZSBh bmQgZmlsbCBpdAogICAgIHdpdGggc29tZSBkZWZhdWx0cy4gIFNwYWNlIGZvciB0aGUgdHlwZSBz dHJ1Y3R1cmUgaXMgYWxsb2NhdGVkCi1AQCAtMTc1LDYgKzE4Nyw0MyBAQCBhbGxvY190eXBlIChz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKK0BAIC0xNzIsNiArMTg0LDQzIEBAIGFsbG9jX3R5cGUg KHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogICAgcmV0dXJuIHR5cGU7CiAgfQogIApAQCAtNDE5 Myw3ICs0MTkzLDcgQEAgaW5kZXggZDBjYjY3OC4uOGI4YjAzZCAxMDA2NDQKICAvKiBBbGxvY2F0 ZSBhIG5ldyBHREJBUkNILWFzc29jaWF0ZWQgdHlwZSBzdHJ1Y3R1cmUgYW5kIGZpbGwgaXQKICAg ICB3aXRoIHNvbWUgZGVmYXVsdHMuICBTcGFjZSBmb3IgdGhlIHR5cGUgc3RydWN0dXJlIGlzIGFs bG9jYXRlZAogICAgIG9uIHRoZSBoZWFwLiAgKi8KLUBAIC0zMDAsNyArMzQ5LDcgQEAgbWFrZV9w b2ludGVyX3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdHlwZSAqKnR5cGVwdHIpCitA QCAtMjk3LDcgKzM0Niw3IEBAIG1ha2VfcG9pbnRlcl90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwg c3RydWN0IHR5cGUgKip0eXBlcHRyKQogIAogICAgaWYgKHR5cGVwdHIgPT0gMCB8fCAqdHlwZXB0 ciA9PSAwKQkvKiBXZSdsbCBuZWVkIHRvIGFsbG9jYXRlIG9uZS4gICovCiAgICAgIHsKQEAgLTQy MDIsNyArNDIwMiw3IEBAIGluZGV4IGQwY2I2NzguLjhiOGIwM2QgMTAwNjQ0CiAgICAgICAgaWYg KHR5cGVwdHIpCiAgCSp0eXBlcHRyID0gbnR5cGU7CiAgICAgIH0KLUBAIC0zNzcsNyArNDI2LDcg QEAgbWFrZV9yZWZlcmVuY2VfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB0eXBlICoq dHlwZXB0cikKK0BAIC0zNzQsNyArNDIzLDcgQEAgbWFrZV9yZWZlcmVuY2VfdHlwZSAoc3RydWN0 IHR5cGUgKnR5cGUsIHN0cnVjdCB0eXBlICoqdHlwZXB0cikKICAKICAgIGlmICh0eXBlcHRyID09 IDAgfHwgKnR5cGVwdHIgPT0gMCkJLyogV2UnbGwgbmVlZCB0byBhbGxvY2F0ZSBvbmUuICAqLwog ICAgICB7CkBAIC00MjExLDcgKzQyMTEsNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNkIDEwMDY0 NAogICAgICAgIGlmICh0eXBlcHRyKQogIAkqdHlwZXB0ciA9IG50eXBlOwogICAgICB9Ci1AQCAt NzUwLDYgKzc5OSw3IEBAIGNyZWF0ZV9yYW5nZV90eXBlIChzdHJ1Y3QgdHlwZSAqcmVzdWx0X3R5 cGUsIHN0cnVjdCB0eXBlICppbmRleF90eXBlLAorQEAgLTc0Nyw2ICs3OTYsNyBAQCBjcmVhdGVf cmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLCBzdHJ1Y3QgdHlwZSAqaW5kZXhf dHlwZSwKICAgICAgVFlQRV9aQUxMT0MgKHJlc3VsdF90eXBlLCBzaXplb2YgKHN0cnVjdCByYW5n ZV9ib3VuZHMpKTsKICAgIFRZUEVfTE9XX0JPVU5EIChyZXN1bHRfdHlwZSkgPSBsb3dfYm91bmQ7 CiAgICBUWVBFX0hJR0hfQk9VTkQgKHJlc3VsdF90eXBlKSA9IGhpZ2hfYm91bmQ7CkBAIC00MjE5 LDcgKzQyMTksNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNkIDEwMDY0NAogIAogICAgaWYgKGxv d19ib3VuZCA+PSAwKQogICAgICBUWVBFX1VOU0lHTkVEIChyZXN1bHRfdHlwZSkgPSAxOwotQEAg LTg5MywyNiArOTQzLDMxIEBAIGNyZWF0ZV9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqcmVzdWx0 X3R5cGUsCitAQCAtODkwLDI2ICs5NDAsMzEgQEAgY3JlYXRlX2FycmF5X3R5cGUgKHN0cnVjdCB0 eXBlICpyZXN1bHRfdHlwZSwKICAKICAgIFRZUEVfQ09ERSAocmVzdWx0X3R5cGUpID0gVFlQRV9D T0RFX0FSUkFZOwogICAgVFlQRV9UQVJHRVRfVFlQRSAocmVzdWx0X3R5cGUpID0gZWxlbWVudF90 eXBlOwpAQCAtNDI2NCw3ICs0MjY0LDcgQEAgaW5kZXggZDBjYjY3OC4uOGI4YjAzZCAxMDA2NDQK ICAKICAgIHJldHVybiByZXN1bHRfdHlwZTsKICB9Ci1AQCAtMTQ0MSw2ICsxNDk2LDEwNSBAQCBz dHViX25vbmFtZV9jb21wbGFpbnQgKHZvaWQpCitAQCAtMTQzOCw2ICsxNDkzLDEwNSBAQCBzdHVi X25vbmFtZV9jb21wbGFpbnQgKHZvaWQpCiAgICBjb21wbGFpbnQgKCZzeW1maWxlX2NvbXBsYWlu dHMsIF8oInN0dWIgdHlwZSBoYXMgTlVMTCBuYW1lIikpOwogIH0KICAKQEAgLTQzNzAsNyArNDM3 MCw3IEBAIGluZGV4IGQwY2I2NzguLjhiOGIwM2QgMTAwNjQ0CiAgLyogRmluZCB0aGUgcmVhbCB0 eXBlIG9mIFRZUEUuICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHJlYWwgdHlwZSwKICAgICBh ZnRlciByZW1vdmluZyBhbGwgbGF5ZXJzIG9mIHR5cGVkZWZzLCBhbmQgY29tcGxldGluZyBvcGFx dWUgb3Igc3R1YgogICAgIHR5cGVzLiAgQ29tcGxldGlvbiBjaGFuZ2VzIHRoZSBUWVBFIGFyZ3Vt ZW50LCBidXQgc3RyaXBwaW5nIG9mCi1AQCAtMTYwNyw1MiArMTc2MSwzNyBAQCBjaGVja190eXBl ZGVmIChzdHJ1Y3QgdHlwZSAqdHlwZSkKK0BAIC0xNjA0LDUyICsxNzU4LDM3IEBAIGNoZWNrX3R5 cGVkZWYgKHN0cnVjdCB0eXBlICp0eXBlKQogICAgICAgICAgfQogICAgICB9CiAgCkBAIC00NDQ0 LDcgKzQ0NDQsNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNkIDEwMDY0NAogIAkgIFRZUEVfVEFS R0VUX1NUVUIgKHR5cGUpID0gMDsKICAJfQogICAgICAgIGVsc2UgaWYgKFRZUEVfQ09ERSAodHlw ZSkgPT0gVFlQRV9DT0RFX1JBTkdFKQotQEAgLTE2NjAsNiArMTc5OSw3IEBAIGNoZWNrX3R5cGVk ZWYgKHN0cnVjdCB0eXBlICp0eXBlKQorQEAgLTE2NTcsNiArMTc5Niw3IEBAIGNoZWNrX3R5cGVk ZWYgKHN0cnVjdCB0eXBlICp0eXBlKQogIAkgIFRZUEVfTEVOR1RIICh0eXBlKSA9IFRZUEVfTEVO R1RIICh0YXJnZXRfdHlwZSk7CiAgCSAgVFlQRV9UQVJHRVRfU1RVQiAodHlwZSkgPSAwOwogIAl9 CkBAIC00NDUyLDcgKzQ0NTIsNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNkIDEwMDY0NAogICAg ICB9CiAgCiAgICB0eXBlID0gbWFrZV9xdWFsaWZpZWRfdHlwZSAodHlwZSwgaW5zdGFuY2VfZmxh Z3MsIE5VTEwpOwotQEAgLTMzMDksMzMgKzM0NDksNDIgQEAgdHlwZV9wYWlyX2VxIChjb25zdCB2 b2lkICppdGVtX2xocywgY29uc3Qgdm9pZCAqaXRlbV9yaHMpCitAQCAtMzMxMCwzMyArMzQ1MCw0 MiBAQCB0eXBlX3BhaXJfZXEgKGNvbnN0IHZvaWQgKml0ZW1fbGhzLCBjb25zdCB2b2lkICppdGVt X3JocykKICB9CiAgCiAgLyogQWxsb2NhdGUgdGhlIGhhc2ggdGFibGUgdXNlZCBieSBjb3B5X3R5 cGVfcmVjdXJzaXZlIHRvIHdhbGsKQEAgLTQ1MTAsNyArNDUxMCw3IEBAIGluZGV4IGQwY2I2Nzgu LjhiOGIwM2QgMTAwNjQ0CiAgICAgIHJldHVybiB0eXBlOwogIAogICAgLyogVGhpcyB0eXBlIHNo b3VsZG4ndCBiZSBwb2ludGluZyB0byBhbnkgdHlwZXMgaW4gb3RoZXIgb2JqZmlsZXM7Ci1AQCAt MzM1MCw5ICszNDk5LDEwIEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpv YmpmaWxlLAorQEAgLTMzNTEsOSArMzUwMCwxMCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1 Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAgIG5ld190eXBlID0gYWxsb2NfdHlwZV9hcmNoIChnZXRf dHlwZV9hcmNoICh0eXBlKSk7CiAgCiAgICAvKiBXZSBtdXN0IGFkZCB0aGUgbmV3IHR5cGUgdG8g dGhlIGhhc2ggdGFibGUgaW1tZWRpYXRlbHksIGluIGNhc2UKQEAgLTQ1MjQsNyArNDUyNCw3IEBA IGluZGV4IGQwY2I2NzguLjhiOGIwM2QgMTAwNjQ0CiAgICBzdG9yZWQtPm9sZCA9IHR5cGU7CiAg ICBzdG9yZWQtPm5ldyA9IG5ld190eXBlOwogICAgKnNsb3QgPSBzdG9yZWQ7Ci1AQCAtMzM2Myw2 ICszNTEzLDIxIEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxl LAorQEAgLTMzNjQsNiArMzUxNCwyMSBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSwKICAgIFRZUEVfT0JKRklMRV9PV05FRCAobmV3X3R5cGUpID0gMDsKICAg IFRZUEVfT1dORVIgKG5ld190eXBlKS5nZGJhcmNoID0gZ2V0X3R5cGVfYXJjaCAodHlwZSk7CiAg CkBAIC00NTQ2LDcgKzQ1NDYsNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNkIDEwMDY0NAogICAg aWYgKFRZUEVfTkFNRSAodHlwZSkpCiAgICAgIFRZUEVfTkFNRSAobmV3X3R5cGUpID0geHN0cmR1 cCAoVFlQRV9OQU1FICh0eXBlKSk7CiAgICBpZiAoVFlQRV9UQUdfTkFNRSAodHlwZSkpCi1AQCAt MzM3MSwxMiArMzUzNiw0OCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAq b2JqZmlsZSwKK0BAIC0zMzcyLDEyICszNTM3LDQ4IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0 cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogICAgVFlQRV9JTlNUQU5DRV9GTEFHUyAobmV3X3R5cGUp ID0gVFlQRV9JTlNUQU5DRV9GTEFHUyAodHlwZSk7CiAgICBUWVBFX0xFTkdUSCAobmV3X3R5cGUp ID0gVFlQRV9MRU5HVEggKHR5cGUpOwogIApAQCAtNDU5NSw3ICs0NTk1LDcgQEAgaW5kZXggZDBj YjY3OC4uOGI4YjAzZCAxMDA2NDQKICAgICAgICBUWVBFX0ZJRUxEUyAobmV3X3R5cGUpID0gWENB TExPQyAobmZpZWxkcywgc3RydWN0IGZpZWxkKTsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbmZp ZWxkczsgaSsrKQogIAl7Ci1AQCAtMzM4NSw4ICszNTg2LDggQEAgY29weV90eXBlX3JlY3Vyc2l2 ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMzM4Niw4ICszNTg3LDggQEAgY29weV90 eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCSAgVFlQRV9GSUVMRF9C SVRTSVpFIChuZXdfdHlwZSwgaSkgPSBUWVBFX0ZJRUxEX0JJVFNJWkUgKHR5cGUsIGkpOwogIAkg IGlmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpKQogIAkgICAgVFlQRV9GSUVMRF9UWVBFIChu ZXdfdHlwZSwgaSkKQEAgLTQ2MDYsNyArNDYwNiw3IEBAIGluZGV4IGQwY2I2NzguLjhiOGIwM2Qg MTAwNjQ0CiAgCSAgaWYgKFRZUEVfRklFTERfTkFNRSAodHlwZSwgaSkpCiAgCSAgICBUWVBFX0ZJ RUxEX05BTUUgKG5ld190eXBlLCBpKSA9IAogIAkgICAgICB4c3RyZHVwIChUWVBFX0ZJRUxEX05B TUUgKHR5cGUsIGkpKTsKLUBAIC0zNDEzLDI0ICszNjE0LDE4NCBAQCBjb3B5X3R5cGVfcmVjdXJz aXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0zNDE0LDI0ICszNjE1LDE4NCBAQCBj b3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAJfQogICAgICB9 CiAgCkBAIC00Nzk4LDcgKzQ3OTgsNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNkIDEwMDY0NAog ICAgLyogTWF5YmUgY29weSB0aGUgdHlwZV9zcGVjaWZpYyBiaXRzLgogIAogICAgICAgTk9URSBk cm93LzIwMDUtMTItMDk6IFdlIGRvIG5vdCBjb3B5IHRoZSBDKystc3BlY2lmaWMgYml0cyBsaWtl Ci1AQCAtMzQ0Nyw2ICszODA4LDE3IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpm aWxlICpvYmpmaWxlLAorQEAgLTM0NDgsNiArMzgwOSwxNyBAQCBjb3B5X3R5cGVfcmVjdXJzaXZl IChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAgIHJldHVybiBuZXdfdHlwZTsKICB9CiAgCkBA IC00ODE2LDcgKzQ4MTYsNyBAQCBpbmRleCBkMGNiNjc4Li44YjhiMDNkIDEwMDY0NAogIC8qIE1h a2UgYSBjb3B5IG9mIHRoZSBnaXZlbiBUWVBFLCBleGNlcHQgdGhhdCB0aGUgcG9pbnRlciAmIHJl ZmVyZW5jZQogICAgIHR5cGVzIGFyZSBub3QgcHJlc2VydmVkLgogICAgIAotQEAgLTM0NjksNiAr Mzg0MSwyMDEgQEAgY29weV90eXBlIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKK0BAIC0zNDcw LDYgKzM4NDIsMjAxIEBAIGNvcHlfdHlwZSAoY29uc3Qgc3RydWN0IHR5cGUgKnR5cGUpCiAgICBy ZXR1cm4gbmV3X3R5cGU7CiAgfQogIApAQCAtNTAxOCw3ICs1MDE4LDcgQEAgaW5kZXggZDBjYjY3 OC4uOGI4YjAzZCAxMDA2NDQKICAKICAvKiBIZWxwZXIgZnVuY3Rpb25zIHRvIGluaXRpYWxpemUg YXJjaGl0ZWN0dXJlLXNwZWNpZmljIHR5cGVzLiAgKi8KICAKLUBAIC00MDAxLDYgKzQ1NjgsMTMg QEAgdm9pZAorQEAgLTQwMDIsNiArNDU2OSwxMyBAQCB2b2lkCiAgX2luaXRpYWxpemVfZ2RidHlw ZXMgKHZvaWQpCiAgewogICAgZ2RidHlwZXNfZGF0YSA9IGdkYmFyY2hfZGF0YV9yZWdpc3Rlcl9w b3N0X2luaXQgKGdkYnR5cGVzX3Bvc3RfaW5pdCk7CkBAIC01MDMzLDEwICs1MDMzLDEwIEBAIGlu ZGV4IGQwY2I2NzguLjhiOGIwM2QgMTAwNjQ0CiAgCiAgICBhZGRfc2V0c2hvd196aW50ZWdlcl9j bWQgKCJvdmVybG9hZCIsIG5vX2NsYXNzLCAmb3ZlcmxvYWRfZGVidWcsCiBkaWZmIC0tZ2l0IGEv Z2RiL2dkYnR5cGVzLmggYi9nZGIvZ2RidHlwZXMuaAotaW5kZXggNjlmNmI0Ni4uODg5ZDM5ZSAx MDA2NDQKK2luZGV4IDIwNzBmMDAuLjQwZGI2MDYgMTAwNjQ0CiAtLS0gYS9nZGIvZ2RidHlwZXMu aAogKysrIGIvZ2RiL2dkYnR5cGVzLmgKLUBAIC0yMTUsNiArMjE1LDExIEBAIGVudW0gdHlwZV9p bnN0YW5jZV9mbGFnX3ZhbHVlCitAQCAtMjEzLDYgKzIxMywxMSBAQCBlbnVtIHR5cGVfaW5zdGFu Y2VfZmxhZ192YWx1ZQogIAogICNkZWZpbmUgVFlQRV9UQVJHRVRfU1RVQih0KQkoVFlQRV9NQUlO X1RZUEUgKHQpLT5mbGFnX3RhcmdldF9zdHViKQogIApAQCAtNTA0OCw5ICs1MDQ4LDkgQEAgaW5k ZXggNjlmNmI0Ni4uODg5ZDM5ZSAxMDA2NDQKICAvKiBTdGF0aWMgdHlwZS4gIElmIHRoaXMgaXMg c2V0LCB0aGUgY29ycmVzcG9uZGluZyB0eXBlIGhhZCAKICAgICBhIHN0YXRpYyBtb2RpZmllci4K ICAgICBOb3RlOiBUaGlzIG1heSBiZSB1bm5lY2Vzc2FyeSwgc2luY2Ugc3RhdGljIGRhdGEgbWVt YmVycwotQEAgLTI5Miw2ICsyOTcsNTAgQEAgZW51bSB0eXBlX2luc3RhbmNlX2ZsYWdfdmFsdWUK K0BAIC0yOTYsNiArMzAxLDUwIEBAIGVudW0gdHlwZV9pbnN0YW5jZV9mbGFnX3ZhbHVlCiAgCi0g I2RlZmluZSBUWVBFX0RFQ0xBUkVEX0NMQVNTKHQpIChUWVBFX01BSU5fVFlQRSAodCktPmZsYWdf ZGVjbGFyZWRfY2xhc3MpCisgI2RlZmluZSBUWVBFX0ZMQUdfRU5VTSh0KSAoVFlQRV9NQUlOX1RZ UEUgKHQpLT5mbGFnX2ZsYWdfZW51bSkKICAKICsjaWYgMAogKy8qIERlZmluZSB0aGlzIHR5cGUg YXMgYmVpbmcgcmVjbGFpbWFibGUgZHVyaW5nIGZyZWVfYWxsX3R5cGVzLiAgVHlwZSBpcwpAQCAt NTA5OSw3ICs1MDk5LDcgQEAgaW5kZXggNjlmNmI0Ni4uODg5ZDM5ZSAxMDA2NDQKICAvKiBDb25z dGFudCB0eXBlLiAgSWYgdGhpcyBpcyBzZXQsIHRoZSBjb3JyZXNwb25kaW5nIHR5cGUgaGFzIGEK ICAgICBjb25zdCBtb2RpZmllci4gICovCiAgCi1AQCAtNDAxLDYgKzQ1MCwxNSBAQCBzdHJ1Y3Qg bWFpbl90eXBlCitAQCAtNDA1LDYgKzQ1NCwxNSBAQCBzdHJ1Y3QgbWFpbl90eXBlCiAgICAvKiBU cnVlIGlmIHRoaXMgdHlwZSB3YXMgZGVjbGFyZWQgd2l0aCAiY2xhc3MiIHJhdGhlciB0aGFuCiAg ICAgICAic3RydWN0Ii4gICovCiAgICB1bnNpZ25lZCBpbnQgZmxhZ19kZWNsYXJlZF9jbGFzcyA6 IDE7CkBAIC01MTEzLDkgKzUxMTMsOSBAQCBpbmRleCA2OWY2YjQ2Li44ODlkMzllIDEwMDY0NAog KyAgdW5zaWduZWQgaW50IGZsYWdfbm90X2Fzc29jaWF0ZWQgOiAxOwogKyAgdW5zaWduZWQgaW50 IGZsYWdfZGF0YV9sb2NhdGlvbl9pc19hZGRyIDogMTsKICAKLSAgIC8qIEEgZGlzY3JpbWluYW50 IHRlbGxpbmcgdXMgd2hpY2ggZmllbGQgb2YgdGhlIHR5cGVfc3BlY2lmaWMgdW5pb24KLSAgICAg IGlzIGJlaW5nIHVzZWQgZm9yIHRoaXMgdHlwZSwgaWYgYW55LiAgKi8KLUBAIC00NzQsNiArNTMy LDIwIEBAIHN0cnVjdCBtYWluX3R5cGUKKyAgIC8qIFRydWUgaWYgdGhpcyBpcyBhbiBlbnVtIHR5 cGUgd2l0aCBkaXNqb2ludCB2YWx1ZXMuICBUaGlzIGFmZmVjdHMKKyAgICAgIGhvdyB0aGUgZW51 bSBpcyBwcmludGVkLiAgKi8KK0BAIC00ODMsNiArNTQxLDIwIEBAIHN0cnVjdCBtYWluX3R5cGUK ICAKICAgIHN0cnVjdCB0eXBlICp0YXJnZXRfdHlwZTsKICAKQEAgLTUxMzYsNyArNTEzNiw3IEBA IGluZGV4IDY5ZjZiNDYuLjg4OWQzOWUgMTAwNjQ0CiAgICAvKiBGb3Igc3RydWN0dXJlIGFuZCB1 bmlvbiB0eXBlcywgYSBkZXNjcmlwdGlvbiBvZiBlYWNoIGZpZWxkLgogICAgICAgRm9yIHNldCBh bmQgcGFzY2FsIGFycmF5IHR5cGVzLCB0aGVyZSBpcyBvbmUgImZpZWxkIiwKICAgICAgIHdob3Nl IHR5cGUgaXMgdGhlIGRvbWFpbiB0eXBlIG9mIHRoZSBzZXQgb3IgYXJyYXkuCi1AQCAtNTU0LDEz ICs2MjYsMzQgQEAgc3RydWN0IG1haW5fdHlwZQorQEAgLTU2MywxMyArNjM1LDM0IEBAIHN0cnVj dCBtYWluX3R5cGUKICAKICAgICAgc3RydWN0IHJhbmdlX2JvdW5kcwogICAgICB7CkBAIC01MTc2 LDcgKzUxNzYsNyBAQCBpbmRleCA2OWY2YjQ2Li44ODlkMzllIDEwMDY0NAogIAogICAgICAgIC8q IEZsYWdzIGluZGljYXRpbmcgd2hldGhlciB0aGUgdmFsdWVzIG9mIGxvdyBhbmQgaGlnaCBhcmUK ICAgICAgICAgICB2YWxpZC4gIFdoZW4gdHJ1ZSwgdGhlIHJlc3BlY3RpdmUgcmFuZ2UgdmFsdWUg aXMKLUBAIC0xMDEyLDkgKzExMDUsOSBAQCBleHRlcm4gdm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90 eXBlIChzdHJ1Y3QgdHlwZSAqKTsKK0BAIC0xMDE2LDkgKzExMDksOSBAQCBleHRlcm4gdm9pZCBh bGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKICAjZGVmaW5lIFRZUEVfUE9J TlRFUl9UWVBFKHRoaXN0eXBlKSAodGhpc3R5cGUpLT5wb2ludGVyX3R5cGUKICAjZGVmaW5lIFRZ UEVfUkVGRVJFTkNFX1RZUEUodGhpc3R5cGUpICh0aGlzdHlwZSktPnJlZmVyZW5jZV90eXBlCiAg I2RlZmluZSBUWVBFX0NIQUlOKHRoaXN0eXBlKSAodGhpc3R5cGUpLT5jaGFpbgpAQCAtNTE4OSw3 ICs1MTg5LDcgQEAgaW5kZXggNjlmNmI0Ni4uODg5ZDM5ZSAxMDA2NDQKICAgICBjYWxscyBjaGVj a190eXBlZGVmLCBUWVBFX0xFTkdUSCAoVkFMVUVfVFlQRSAoWCkpIGlzIHNhZmUuICAqLwogICNk ZWZpbmUgVFlQRV9MRU5HVEgodGhpc3R5cGUpICh0aGlzdHlwZSktPmxlbmd0aAogIC8qIE5vdGUg dGhhdCBUWVBFX0NPREUgY2FuIGJlIFRZUEVfQ09ERV9UWVBFREVGLCBzbyBpZiB5b3Ugd2FudCB0 aGUgcmVhbAotQEAgLTEwMjIsMTEgKzExMTUsMTYgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25h dF9hdXhfdHlwZSAoc3RydWN0IHR5cGUgKik7CitAQCAtMTAyNiwxMSArMTExOSwxNiBAQCBleHRl cm4gdm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKICAjZGVmaW5l IFRZUEVfQ09ERSh0aGlzdHlwZSkgVFlQRV9NQUlOX1RZUEUodGhpc3R5cGUpLT5jb2RlCiAgI2Rl ZmluZSBUWVBFX05GSUVMRFModGhpc3R5cGUpIFRZUEVfTUFJTl9UWVBFKHRoaXN0eXBlKS0+bmZp ZWxkcwogICNkZWZpbmUgVFlQRV9GSUVMRFModGhpc3R5cGUpIFRZUEVfTUFJTl9UWVBFKHRoaXN0 eXBlKS0+Zmxkc19ibmRzLmZpZWxkcwpAQCAtNTIwOCw3ICs1MjA4LDcgQEAgaW5kZXggNjlmNmI0 Ni4uODg5ZDM5ZSAxMDA2NDQKICAjZGVmaW5lIFRZUEVfTE9XX0JPVU5EX1VOREVGSU5FRChyYW5n ZV90eXBlKSBcCiAgICAgVFlQRV9SQU5HRV9EQVRBKHJhbmdlX3R5cGUpLT5sb3dfdW5kZWZpbmVk CiAgI2RlZmluZSBUWVBFX0hJR0hfQk9VTkRfVU5ERUZJTkVEKHJhbmdlX3R5cGUpIFwKLUBAIC0x MDQzLDcgKzExNDEsMTQgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3Ry dWN0IHR5cGUgKik7CitAQCAtMTA0Nyw3ICsxMTQ1LDE0IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRl X2duYXRfYXV4X3R5cGUgKHN0cnVjdCB0eXBlICopOwogICAgIChUWVBFX0hJR0hfQk9VTkQoVFlQ RV9JTkRFWF9UWVBFKChhcnJheXR5cGUpKSkpCiAgCiAgI2RlZmluZSBUWVBFX0FSUkFZX0xPV0VS X0JPVU5EX1ZBTFVFKGFycmF5dHlwZSkgXApAQCAtNTIyNCw3ICs1MjI0LDcgQEAgaW5kZXggNjlm NmI0Ni4uODg5ZDM5ZSAxMDA2NDQKICAKICAvKiBDKysgKi8KICAKLUBAIC0xNDc5LDYgKzE1ODQs MTggQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICpjcmVhdGVfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUg Kiwgc3RydWN0IHR5cGUgKiwKK0BAIC0xNDgyLDYgKzE1ODcsMTggQEAgZXh0ZXJuIHN0cnVjdCB0 eXBlICpjcmVhdGVfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKiwKICAJ CQkJICAgICAgIHN0cnVjdCB0eXBlICopOwogIGV4dGVybiBzdHJ1Y3QgdHlwZSAqbG9va3VwX2Fy cmF5X3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICosIGludCwgaW50KTsKICAKQEAgLTUyNDMsNyAr NTI0Myw3IEBAIGluZGV4IDY5ZjZiNDYuLjg4OWQzOWUgMTAwNjQ0CiAgZXh0ZXJuIHN0cnVjdCB0 eXBlICpjcmVhdGVfc3RyaW5nX3R5cGUgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBlICosCiAg CQkJCQlzdHJ1Y3QgdHlwZSAqKTsKICBleHRlcm4gc3RydWN0IHR5cGUgKmxvb2t1cF9zdHJpbmdf cmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKiwgaW50LCBpbnQpOwotQEAgLTE1MjQsNiArMTY0MSwx MCBAQCBleHRlcm4gaW50IGlzX3B1YmxpY19hbmNlc3RvciAoc3RydWN0IHR5cGUgKiwgc3RydWN0 IHR5cGUgKik7CitAQCAtMTUyNyw2ICsxNjQ0LDEwIEBAIGV4dGVybiBpbnQgaXNfcHVibGljX2Fu Y2VzdG9yIChzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdHlwZSAqKTsKICAKICBleHRlcm4gaW50IGlz X3VuaXF1ZV9hbmNlc3RvciAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHZhbHVlICopOwogIApAQCAt NTI1NCw3ICs1MjU0LDcgQEAgaW5kZXggNjlmNmI0Ni4uODg5ZDM5ZSAxMDA2NDQKICAvKiBPdmVy bG9hZCByZXNvbHV0aW9uICovCiAgCiAgI2RlZmluZSBMRU5HVEhfTUFUQ0goYnYpICgoYnYpLT5y YW5rWzBdKQotQEAgLTE1OTksMTAgKzE3MjAsMTMgQEAgZXh0ZXJuIHZvaWQgbWFpbnRlbmFuY2Vf cHJpbnRfdHlwZSAoY2hhciAqLCBpbnQpOworQEAgLTE2MDIsMTAgKzE3MjMsMTMgQEAgZXh0ZXJu IHZvaWQgbWFpbnRlbmFuY2VfcHJpbnRfdHlwZSAoY2hhciAqLCBpbnQpOwogIAogIGV4dGVybiBo dGFiX3QgY3JlYXRlX2NvcGllZF90eXBlc19oYXNoIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSk7 CiAgCkBAIC01MjcxLDEwICs1MjcxLDEwIEBAIGluZGV4IDY5ZjZiNDYuLjg4OWQzOWUgMTAwNjQ0 CiArCiAgI2VuZGlmIC8qIEdEQlRZUEVTX0ggKi8KIGRpZmYgLS1naXQgYS9nZGIvaTM4Ni1saW51 eC1uYXQuYyBiL2dkYi9pMzg2LWxpbnV4LW5hdC5jCi1pbmRleCBhNDhlNThlLi45ZTYwZmY0IDEw MDY0NAoraW5kZXggNGIxYjIwZi4uMzhlNzAyNyAxMDA2NDQKIC0tLSBhL2dkYi9pMzg2LWxpbnV4 LW5hdC5jCiArKysgYi9nZGIvaTM4Ni1saW51eC1uYXQuYwotQEAgLTcwOSw4ICs3MDksOCBAQCBp Mzg2X2xpbnV4X2RyX2dldF9zdGF0dXMgKHZvaWQpCitAQCAtNzA4LDggKzcwOCw4IEBAIGkzODZf bGludXhfZHJfZ2V0X3N0YXR1cyAodm9pZCkKICAgIHJldHVybiBpMzg2X2xpbnV4X2RyX2dldCAo aW5mZXJpb3JfcHRpZCwgRFJfU1RBVFVTKTsKICB9CiAgCkBAIC01Mjg1LDcgKzUyODUsNyBAQCBp bmRleCBhNDhlNThlLi45ZTYwZmY0IDEwMDY0NAogIAogIHN0YXRpYyBpbnQKICB1cGRhdGVfZGVi dWdfcmVnaXN0ZXJzX2NhbGxiYWNrIChzdHJ1Y3QgbHdwX2luZm8gKmx3cCwgdm9pZCAqYXJnKQot QEAgLTczNiw5ICs3MzYsNyBAQCB1cGRhdGVfZGVidWdfcmVnaXN0ZXJzX2NhbGxiYWNrIChzdHJ1 Y3QgbHdwX2luZm8gKmx3cCwgdm9pZCAqYXJnKQorQEAgLTczNSw5ICs3MzUsNyBAQCB1cGRhdGVf ZGVidWdfcmVnaXN0ZXJzX2NhbGxiYWNrIChzdHJ1Y3QgbHdwX2luZm8gKmx3cCwgdm9pZCAqYXJn KQogIHN0YXRpYyB2b2lkCiAgaTM4Nl9saW51eF9kcl9zZXRfY29udHJvbCAodW5zaWduZWQgbG9u ZyBjb250cm9sKQogIHsKQEAgLTUyOTYsNyArNTI5Niw3IEBAIGluZGV4IGE0OGU1OGUuLjllNjBm ZjQgMTAwNjQ0CiAgfQogIAogIC8qIFNldCBhZGRyZXNzIFJFR05VTSAoemVybyBiYXNlZCkgdG8g QUREUiBpbiBhbGwgTFdQcyBvZiB0aGUgY3VycmVudAotQEAgLTc1MSw3ICs3NDksNyBAQCBpMzg2 X2xpbnV4X2RyX3NldF9hZGRyIChpbnQgcmVnbnVtLCBDT1JFX0FERFIgYWRkcikKK0BAIC03NTAs NyArNzQ4LDcgQEAgaTM4Nl9saW51eF9kcl9zZXRfYWRkciAoaW50IHJlZ251bSwgQ09SRV9BRERS IGFkZHIpCiAgCiAgICBnZGJfYXNzZXJ0IChyZWdudW0gPj0gMCAmJiByZWdudW0gPD0gRFJfTEFT VEFERFIgLSBEUl9GSVJTVEFERFIpOwogIApAQCAtNTMwNSw3ICs1MzA1LDcgQEAgaW5kZXggYTQ4 ZTU4ZS4uOWU2MGZmNCAxMDA2NDQKICB9CiAgCiAgLyogQ2FsbGVkIHdoZW4gcmVzdW1pbmcgYSB0 aHJlYWQuCi1AQCAtNzczLDYgKzc3MSw5IEBAIGkzODZfbGludXhfcHJlcGFyZV90b19yZXN1bWUg KHN0cnVjdCBsd3BfaW5mbyAqbHdwKQorQEAgLTc3Miw2ICs3NzAsOSBAQCBpMzg2X2xpbnV4X3By ZXBhcmVfdG9fcmVzdW1lIChzdHJ1Y3QgbHdwX2luZm8gKmx3cCkKICAgICAgICBzdHJ1Y3QgaTM4 Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlID0gaTM4Nl9kZWJ1Z19yZWdfc3RhdGUgKCk7CiAgICAg ICAgaW50IGk7CiAgCkBAIC01MzE2LDEwICs1MzE2LDEwIEBAIGluZGV4IGE0OGU1OGUuLjllNjBm ZjQgMTAwNjQ0CiAgCWlmIChzdGF0ZS0+ZHJfcmVmX2NvdW50W2ldID4gMCkKICAJICB7CiBkaWZm IC0tZ2l0IGEvZ2RiL2kzODYtbGludXgtdGRlcC5jIGIvZ2RiL2kzODYtbGludXgtdGRlcC5jCi1p bmRleCA3YzM5NjJlLi4zM2Y2ZGM2IDEwMDY0NAoraW5kZXggZWIxMTRlZi4uZjgwZTA1YSAxMDA2 NDQKIC0tLSBhL2dkYi9pMzg2LWxpbnV4LXRkZXAuYwogKysrIGIvZ2RiL2kzODYtbGludXgtdGRl cC5jCi1AQCAtOTA0LDYgKzkwNCwxNSBAQCBpMzg2X2xpbnV4X2luaXRfYWJpIChzdHJ1Y3QgZ2Ri YXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQorQEAgLTkwMyw2ICs5MDMs MTUgQEAgaTM4Nl9saW51eF9pbml0X2FiaSAoc3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLCBzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aTM4Nl9saW51eF9nZXRfc3lzY2FsbF9udW1iZXIpOwogIAogICAgc2V0X2dkYmFyY2hfZ2V0X3Np Z2luZm9fdHlwZSAoZ2RiYXJjaCwgbGludXhfZ2V0X3NpZ2luZm9fdHlwZSk7CkBAIC01MzM2LDcg KzUzMzYsNyBAQCBpbmRleCA3YzM5NjJlLi4zM2Y2ZGM2IDEwMDY0NAogIAogIC8qIFByb3ZpZGUg YSBwcm90b3R5cGUgdG8gc2lsZW5jZSAtV21pc3NpbmctcHJvdG90eXBlcy4gICovCiBkaWZmIC0t Z2l0IGEvZ2RiL2kzODYtbmF0LmMgYi9nZGIvaTM4Ni1uYXQuYwotaW5kZXggNTkzNDAxYi4uYmIz MWQ5ZSAxMDA2NDQKK2luZGV4IGZhMTc4MjMuLjg0NmIyYjggMTAwNjQ0CiAtLS0gYS9nZGIvaTM4 Ni1uYXQuYwogKysrIGIvZ2RiL2kzODYtbmF0LmMKIEBAIC0yNSw2ICsyNSw3IEBACkBAIC01NjU5 LDEwICs1NjU5LDEwIEBAIGluZGV4IDU5MzQwMWIuLmJiMzFkOWUgMTAwNjQ0CiAgCiAgdm9pZAog ZGlmZiAtLWdpdCBhL2dkYi9pMzg2LXRkZXAuYyBiL2dkYi9pMzg2LXRkZXAuYwotaW5kZXggYTRl M2EyMi4uMWUzZTI5YiAxMDA2NDQKK2luZGV4IDU0OTI5N2UuLjU3ODNjNGMgMTAwNjQ0CiAtLS0g YS9nZGIvaTM4Ni10ZGVwLmMKICsrKyBiL2dkYi9pMzg2LXRkZXAuYwotQEAgLTYwLDggKzYwLDE0 IEBACitAQCAtNTgsOCArNTgsMTQgQEAKICAjaW5jbHVkZSAiZmVhdHVyZXMvaTM4Ni9pMzg2LWF2 eC5jIgogICNpbmNsdWRlICJmZWF0dXJlcy9pMzg2L2kzODYtbW14LmMiCiAgCkBAIC01Njc3LDcg KzU2NzcsNyBAQCBpbmRleCBhNGUzYTIyLi4xZTNlMjliIDEwMDY0NAogIAogIC8qIFJlZ2lzdGVy IG5hbWVzLiAgKi8KICAKLUBAIC03MjQ1LDYgKzcyNTEsMzEyIEBAIGkzODZfdmFsaWRhdGVfdGRl c2NfcCAoc3RydWN0IGdkYmFyY2hfdGRlcCAqdGRlcCwKK0BAIC03MjQ2LDYgKzcyNTIsMzEyIEBA IGkzODZfdmFsaWRhdGVfdGRlc2NfcCAoc3RydWN0IGdkYmFyY2hfdGRlcCAqdGRlcCwKICAgIHJl dHVybiB2YWxpZF9wOwogIH0KICAKQEAgLTU5OTEsMTAgKzU5OTEsMTAgQEAgaW5kZXggYTRlM2Ey Mi4uMWUzZTI5YiAxMDA2NDQKICBzdGF0aWMgc3RydWN0IGdkYmFyY2ggKgogIGkzODZfZ2RiYXJj aF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFy Y2hlcykKIGRpZmYgLS1naXQgYS9nZGIvaTM4Ni10ZGVwLmggYi9nZGIvaTM4Ni10ZGVwLmgKLWlu ZGV4IGRlMTFmNjguLjJhODRhZGMgMTAwNjQ0CitpbmRleCA4NzAwNTRmLi45ZmZiZTQ0IDEwMDY0 NAogLS0tIGEvZ2RiL2kzODYtdGRlcC5oCiArKysgYi9nZGIvaTM4Ni10ZGVwLmgKLUBAIC0zODAs NiArMzgwLDE1IEBAIGV4dGVybiB2b2lkIGkzODZfc3ZyNF9pbml0X2FiaSAoc3RydWN0IGdkYmFy Y2hfaW5mbywgc3RydWN0IGdkYmFyY2ggKik7CitAQCAtMzc5LDYgKzM3OSwxNSBAQCBleHRlcm4g dm9pZCBpMzg2X3N2cjRfaW5pdF9hYmkgKHN0cnVjdCBnZGJhcmNoX2luZm8sIHN0cnVjdCBnZGJh cmNoICopOwogIAogIGV4dGVybiBpbnQgaTM4Nl9wcm9jZXNzX3JlY29yZCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcmVn Y2FjaGUgKnJlZ2NhY2hlLCBDT1JFX0FERFIgYWRkcik7CkBAIC02MDExLDEwICs2MDExLDEwIEBA IGluZGV4IGRlMTFmNjguLjJhODRhZGMgMTAwNjQ0CiAgCiAgLyogRnVuY3Rpb25zIGFuZCB2YXJp YWJsZXMgZXhwb3J0ZWQgZnJvbSBpMzg2YnNkLXRkZXAuYy4gICovCiBkaWZmIC0tZ2l0IGEvZ2Ri L2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCi1pbmRleCA1YTBmMWQyLi5iMmQzNTBkIDEwMDY0NAor aW5kZXggMjRkMjcyMC4uYzUxNmI4YiAxMDA2NDQKIC0tLSBhL2dkYi9pbmZydW4uYwogKysrIGIv Z2RiL2luZnJ1bi5jCi1AQCAtNTcsNiArNTcsOCBAQAorQEAgLTU1LDYgKzU1LDggQEAKICAjaW5j bHVkZSAiY29udGludWF0aW9ucy5oIgogICNpbmNsdWRlICJpbnRlcnBzLmgiCiAgI2luY2x1ZGUg InNraXAuaCIKQEAgLTYwMjMsNyArNjAyMyw3IEBAIGluZGV4IDVhMGYxZDIuLmIyZDM1MGQgMTAw NjQ0CiAgCiAgLyogUHJvdG90eXBlcyBmb3IgbG9jYWwgZnVuY3Rpb25zICovCiAgCi1AQCAtMjM4 MSw3ICsyMzgzLDcgQEAgc3RhdGljIHZvaWQgaGFuZGxlX3N0ZXBfaW50b19mdW5jdGlvbiAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMjM3OSw3ICsyMzgxLDcgQEAgc3RhdGljIHZvaWQg aGFuZGxlX3N0ZXBfaW50b19mdW5jdGlvbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgc3Rh dGljIHZvaWQgaGFuZGxlX3N0ZXBfaW50b19mdW5jdGlvbl9iYWNrd2FyZCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsCiAgCQkJCQkJc3RydWN0IGV4ZWN1dGlvbl9jb250cm9sX3N0YXRlICplY3Mp OwogIHN0YXRpYyB2b2lkIGNoZWNrX2V4Y2VwdGlvbl9yZXN1bWUgKHN0cnVjdCBleGVjdXRpb25f Y29udHJvbF9zdGF0ZSAqLApAQCAtNjAzMiw3ICs2MDMyLDcgQEAgaW5kZXggNWEwZjFkMi4uYjJk MzUwZCAxMDA2NDQKICAKICBzdGF0aWMgdm9pZCBzdG9wX3N0ZXBwaW5nIChzdHJ1Y3QgZXhlY3V0 aW9uX2NvbnRyb2xfc3RhdGUgKmVjcyk7CiAgc3RhdGljIHZvaWQgcHJlcGFyZV90b193YWl0IChz dHJ1Y3QgZXhlY3V0aW9uX2NvbnRyb2xfc3RhdGUgKmVjcyk7Ci1AQCAtNDQxOSw5ICs0NDIxLDE3 IEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0OgorQEAgLTQ0MTcsOSArNDQxOSwxNyBAQCBwcm9j ZXNzX2V2ZW50X3N0b3BfdGVzdDoKICAKICAJaWYgKHdoYXQuaXNfbG9uZ2ptcCkKICAJICB7CkBA IC02MDUzLDcgKzYwNTMsNyBAQCBpbmRleCA1YTBmMWQyLi5iMmQzNTBkIDEwMDY0NAogIAkgICAg ICB7CiAgCQlpZiAoZGVidWdfaW5mcnVuKQogIAkJICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9z dGRsb2csCi1AQCAtNDQzOSwxMiArNDQ0OSw3IEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90ZXN0Ogor QEAgLTQ0MzcsMTIgKzQ0NDcsNyBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdDoKICAJICAgIGlu c2VydF9sb25nam1wX3Jlc3VtZV9icmVha3BvaW50IChnZGJhcmNoLCBqbXBfYnVmX3BjKTsKICAJ ICB9CiAgCWVsc2UKQEAgLTYwNjcsNyArNjA2Nyw3IEBAIGluZGV4IDVhMGYxZDIuLmIyZDM1MGQg MTAwNjQ0CiAgCWtlZXBfZ29pbmcgKGVjcyk7CiAgCXJldHVybjsKICAKLUBAIC01NTI2LDE1ICs1 NTMxLDY1IEBAIGluc2VydF9leGNlcHRpb25fcmVzdW1lX2JyZWFrcG9pbnQgKHN0cnVjdCB0aHJl YWRfaW5mbyAqdHAsCitAQCAtNTUyNCwxNSArNTUyOSw2NSBAQCBpbnNlcnRfZXhjZXB0aW9uX3Jl c3VtZV9icmVha3BvaW50IChzdHJ1Y3QgdGhyZWFkX2luZm8gKnRwLAogICAgICB9CiAgfQogIApA QCAtNjExMSw3ICs2MTExLDcgQEAgaW5kZXggNWEwZjFkMi4uYjJkMzUwZCAxMDA2NDQKIC0JCQlz dHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIHN0cnVjdCBzeW1ib2wgKmZ1bmMpCiArCQkJc3RydWN0 IGZyYW1lX2luZm8gKmZyYW1lKQogIHsKLSAgIHN0cnVjdCBnZGJfZXhjZXB0aW9uIGU7CisgICB2 b2xhdGlsZSBzdHJ1Y3QgZ2RiX2V4Y2VwdGlvbiBlOwogKyAgc3RydWN0IG9iamZpbGUgKm9iamZp bGU7CiArICBjb25zdCBzdHJ1Y3Qgc3RhcF9wcm9iZSAqcHJvYmU7CiArICBzdHJ1Y3Qgc3ltYm9s ICpmdW5jOwpAQCAtNjEzNCw3ICs2MTM0LDcgQEAgaW5kZXggNWEwZjFkMi4uYjJkMzUwZCAxMDA2 NDQKICAKICAgIFRSWV9DQVRDSCAoZSwgUkVUVVJOX01BU0tfRVJST1IpCiAgICAgIHsKLUBAIC02 NTY1LDcgKzY2MjAsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGx2YWxfZnVuY3Mgc2lnaW5mb192 YWx1ZV9mdW5jcyA9CitAQCAtNjU2NCw3ICs2NjE5LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBs dmFsX2Z1bmNzIHNpZ2luZm9fdmFsdWVfZnVuY3MgPQogICAgIGlmIHRoZXJlJ3Mgbm8gb2JqZWN0 IGF2YWlsYWJsZS4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC02MTQ0LDcgKzYx NDQsNyBAQCBpbmRleCA1YTBmMWQyLi5iMmQzNTBkIDEwMDY0NAogIHsKICAgIGlmICh0YXJnZXRf aGFzX3N0YWNrCiAgICAgICAgJiYgIXB0aWRfZXF1YWwgKGluZmVyaW9yX3B0aWQsIG51bGxfcHRp ZCkKLUBAIC03MDYwLDYgKzcxMTYsMTUgQEAgc2hvd19zY2hlZHVsZV9tdWx0aXBsZSAoc3RydWN0 IHVpX2ZpbGUgKmZpbGUsIGludCBmcm9tX3R0eSwKK0BAIC03MDU5LDYgKzcxMTUsMTUgQEAgc2hv d19zY2hlZHVsZV9tdWx0aXBsZSAoc3RydWN0IHVpX2ZpbGUgKmZpbGUsIGludCBmcm9tX3R0eSwK ICAJCQkgICAgIm9mIGFsbCBwcm9jZXNzZXMgaXMgJXMuXG4iKSwgdmFsdWUpOwogIH0KICAKQEAg LTYxNjAsNyArNjE2MCw3IEBAIGluZGV4IDVhMGYxZDIuLmIyZDM1MGQgMTAwNjQ0CiAgdm9pZAog IF9pbml0aWFsaXplX2luZnJ1biAodm9pZCkKICB7Ci1AQCAtNzM0OCw3ICs3NDEzLDcgQEAgZW5h YmxlZCBieSBkZWZhdWx0IG9uIHNvbWUgcGxhdGZvcm1zLiIpLAorQEAgLTczNDcsNyArNzQxMiw3 IEBAIGVuYWJsZWQgYnkgZGVmYXVsdCBvbiBzb21lIHBsYXRmb3Jtcy4iKSwKICAgICAgIHZhbHVl IHdpdGggYSB2b2lkIHR5cGVkIHZhbHVlLCBhbmQgd2hlbiB3ZSBnZXQgaGVyZSwgZ2RiYXJjaAog ICAgICAgaXNuJ3QgaW5pdGlhbGl6ZWQgeWV0LiAgQXQgdGhpcyBwb2ludCwgd2UncmUgcXVpdGUg c3VyZSB0aGVyZQogICAgICAgaXNuJ3QgYW5vdGhlciBjb252ZW5pZW5jZSB2YXJpYWJsZSBvZiB0 aGUgc2FtZSBuYW1lLiAgKi8KQEAgLTYxNzAsMTAgKzYxNzAsMTAgQEAgaW5kZXggNWEwZjFkMi4u YjJkMzUwZCAxMDA2NDQKICAgIGFkZF9zZXRzaG93X2Jvb2xlYW5fY21kICgib2JzZXJ2ZXIiLCBu b19jbGFzcywKICAJCQkgICAmb2JzZXJ2ZXJfbW9kZV8xLCBfKCJcCiBkaWZmIC0tZ2l0IGEvZ2Ri L2xpbmVzcGVjLmMgYi9nZGIvbGluZXNwZWMuYwotaW5kZXggODUyMTg1MS4uNTZhODM3YyAxMDA2 NDQKK2luZGV4IDA3ODJjNTQuLjMxYmIzNmMgMTAwNjQ0CiAtLS0gYS9nZGIvbGluZXNwZWMuYwog KysrIGIvZ2RiL2xpbmVzcGVjLmMKLUBAIC00NSw2ICs0NSw3IEBACitAQCAtNDMsNiArNDMsNyBA QAogICNpbmNsdWRlICJjbGkvY2xpLXV0aWxzLmgiCiAgI2luY2x1ZGUgImZpbGVuYW1lcy5oIgog ICNpbmNsdWRlICJhZGEtbGFuZy5oIgpAQCAtNjE4MSw3ICs2MTgxLDcgQEAgaW5kZXggODUyMTg1 MS4uNTZhODM3YyAxMDA2NDQKICAKICB0eXBlZGVmIHN0cnVjdCBzeW10YWIgKnN5bXRhYl9wOwog IERFRl9WRUNfUCAoc3ltdGFiX3ApOwotQEAgLTgwNCw2ICs4MDUsNyBAQCBrZWVwX25hbWVfaW5m byAoY2hhciAqcCwgaW50IG9uX2JvdW5kYXJ5KQorQEAgLTgwMiw2ICs4MDMsNyBAQCBrZWVwX25h bWVfaW5mbyAoY2hhciAqcCwgaW50IG9uX2JvdW5kYXJ5KQogICAgIFBDIHJldHVybmVkIGlzIDAu CiAgICAgRklMRTpGVU5DVElPTiAtLSBsaWtld2lzZSwgYnV0IHByZWZlciBmdW5jdGlvbnMgaW4g dGhhdCBmaWxlLgogICAgICpFWFBSIC0tIGxpbmUgaW4gd2hpY2ggYWRkcmVzcyBFWFBSIGFwcGVh cnMuCkBAIC02MTg5LDcgKzYxODksNyBAQCBpbmRleCA4NTIxODUxLi41NmE4MzdjIDEwMDY0NAog IAogICAgIFRoaXMgbWF5IGFsbCBiZSBmb2xsb3dlZCBieSBhbiAiaWYgRVhQUiIsIHdoaWNoIHdl IGlnbm9yZS4KICAKLUBAIC04NzQsNiArODc2LDkgQEAgZGVjb2RlX2xpbmVfaW50ZXJuYWwgKHN0 cnVjdCBsaW5lc3BlY19zdGF0ZSAqc2VsZiwgY2hhciAqKmFyZ3B0cikKK0BAIC04NzIsNiArODc0 LDkgQEAgZGVjb2RlX2xpbmVfaW50ZXJuYWwgKHN0cnVjdCBsaW5lc3BlY19zdGF0ZSAqc2VsZiwg Y2hhciAqKmFyZ3B0cikKICAgICAgICByZXR1cm4gZGVjb2RlX2luZGlyZWN0IChzZWxmLCBhcmdw dHIpOwogICAgICB9CiAgCkBAIC02MjAwLDEwICs2MjAwLDEwIEBAIGluZGV4IDg1MjE4NTEuLjU2 YTgzN2MgMTAwNjQ0CiAgCQkgICAgICAgKiphcmdwdHIpICE9IE5VTEwpOwogIAogZGlmZiAtLWdp dCBhL2dkYi9saW51eC1uYXQuYyBiL2dkYi9saW51eC1uYXQuYwotaW5kZXggZTVmN2MzZS4uMDlk N2MxZSAxMDA2NDQKK2luZGV4IDUwZDRlZmQuLjg5M2I3YzQgMTAwNjQ0CiAtLS0gYS9nZGIvbGlu dXgtbmF0LmMKICsrKyBiL2dkYi9saW51eC1uYXQuYwotQEAgLTI4OSw2ICsyODksNyBAQCBzdGF0 aWMgdm9pZCByZXN0b3JlX2NoaWxkX3NpZ25hbHNfbWFzayAoc2lnc2V0X3QgKnByZXZfbWFzayk7 CitAQCAtMjg4LDYgKzI4OCw3IEBAIHN0YXRpYyB2b2lkIHJlc3RvcmVfY2hpbGRfc2lnbmFsc19t YXNrIChzaWdzZXRfdCAqcHJldl9tYXNrKTsKICBzdHJ1Y3QgbHdwX2luZm87CiAgc3RhdGljIHN0 cnVjdCBsd3BfaW5mbyAqYWRkX2x3cCAocHRpZF90IHB0aWQpOwogIHN0YXRpYyB2b2lkIHB1cmdl X2x3cF9saXN0IChpbnQgcGlkKTsKQEAgLTYyMTEsNyArNjIxMSw3IEBAIGluZGV4IGU1ZjdjM2Uu LjA5ZDdjMWUgMTAwNjQ0CiAgc3RhdGljIHN0cnVjdCBsd3BfaW5mbyAqZmluZF9sd3BfcGlkIChw dGlkX3QgcHRpZCk7CiAgCiAgDAotQEAgLTU4NSw2ICs1ODYsMzEgQEAgbGludXhfY2hpbGRfcG9z dF9zdGFydHVwX2luZmVyaW9yIChwdGlkX3QgcHRpZCkKK0BAIC01ODQsNiArNTg1LDMxIEBAIGxp bnV4X2NoaWxkX3Bvc3Rfc3RhcnR1cF9pbmZlcmlvciAocHRpZF90IHB0aWQpCiAgICBsaW51eF9l bmFibGVfdHJhY2VzeXNnb29kIChwdGlkKTsKICB9CiAgCkBAIC02MjQzLDcgKzYyNDMsNyBAQCBp bmRleCBlNWY3YzNlLi4wOWQ3YzFlIDEwMDY0NAogIHN0YXRpYyBpbnQKICBsaW51eF9jaGlsZF9m b2xsb3dfZm9yayAoc3RydWN0IHRhcmdldF9vcHMgKm9wcywgaW50IGZvbGxvd19jaGlsZCkKICB7 Ci1AQCAtNjMxLDYgKzY1Nyw4IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJz ZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCitAQCAtNjMwLDYgKzY1Niw4IEBAIGhvbGRpbmcgdGhl IGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCiAgICAgICAg LyogRGV0YWNoIG5ldyBmb3JrZWQgcHJvY2Vzcz8gICovCiAgICAgICAgaWYgKGRldGFjaF9mb3Jr KQogIAl7CkBAIC02MjUyLDcgKzYyNTIsNyBAQCBpbmRleCBlNWY3YzNlLi4wOWQ3YzFlIDEwMDY0 NAogIAkgIC8qIEJlZm9yZSBkZXRhY2hpbmcgZnJvbSB0aGUgY2hpbGQsIHJlbW92ZSBhbGwgYnJl YWtwb2ludHMKICAJICAgICBmcm9tIGl0LiAgSWYgd2UgZm9ya2VkLCB0aGVuIHRoaXMgaGFzIGFs cmVhZHkgYmVlbiB0YWtlbgogIAkgICAgIGNhcmUgb2YgYnkgaW5mcnVuLmMuICBJZiB3ZSB2Zm9y a2VkIGhvd2V2ZXIsIGFueQotQEAgLTY1Myw3ICs2ODEsMjggQEAgaG9sZGluZyB0aGUgY2hpbGQg c3RvcHBlZC4gIFRyeSBcInNldCBkZXRhY2gtb24tZm9ya1wiIG9yIFwKK0BAIC02NTIsNyArNjgw LDI4IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZv cmtcIiBvciBcCiAgCQkJCWNoaWxkX3BpZCk7CiAgCSAgICB9CiAgCkBAIC02MjgxLDcgKzYyODEs NyBAQCBpbmRleCBlNWY3YzNlLi4wOWQ3YzFlIDEwMDY0NAogIAl9CiAgICAgICAgZWxzZQogIAl7 Ci1AQCAtNjcxLDYgKzcyMCw5IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJz ZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCitAQCAtNjcwLDYgKzcxOSw5IEBAIGhvbGRpbmcgdGhl IGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCiAgCSAgc2F2 ZV9jdXJyZW50X3Byb2dyYW1fc3BhY2UgKCk7CiAgCiAgCSAgaW5mZXJpb3JfcHRpZCA9IHB0aWRf YnVpbGQgKGNoaWxkX3BpZCwgY2hpbGRfcGlkLCAwKTsKQEAgLTYyOTEsNyArNjI5MSw3IEBAIGlu ZGV4IGU1ZjdjM2UuLjA5ZDdjMWUgMTAwNjQ0CiAgCSAgYWRkX3RocmVhZCAoaW5mZXJpb3JfcHRp ZCk7CiAgCSAgY2hpbGRfbHAgPSBhZGRfbHdwIChpbmZlcmlvcl9wdGlkKTsKICAJICBjaGlsZF9s cC0+c3RvcHBlZCA9IDE7Ci1AQCAtODYyLDYgKzkxNCw5IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0 b3BwZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZvcmtcIiBvciBcCitAQCAtODYxLDYgKzkxMyw5 IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQgZGV0YWNoLW9uLWZvcmtc IiBvciBcCiAgCSBpbmZvcm1pbmcgdGhlIHNvbGliIGxheWVyIGFib3V0IHRoaXMgbmV3IHByb2Nl c3MuICAqLwogIAogICAgICAgIGluZmVyaW9yX3B0aWQgPSBwdGlkX2J1aWxkIChjaGlsZF9waWQs IGNoaWxkX3BpZCwgMCk7CkBAIC02MzAxLDcgKzYzMDEsNyBAQCBpbmRleCBlNWY3YzNlLi4wOWQ3 YzFlIDEwMDY0NAogICAgICAgIGFkZF90aHJlYWQgKGluZmVyaW9yX3B0aWQpOwogICAgICAgIGNo aWxkX2xwID0gYWRkX2x3cCAoaW5mZXJpb3JfcHRpZCk7CiAgICAgICAgY2hpbGRfbHAtPnN0b3Bw ZWQgPSAxOwotQEAgLTExMTIsMjEgKzExNjcsNiBAQCBwdXJnZV9sd3BfbGlzdCAoaW50IHBpZCkK K0BAIC0xMTExLDIxICsxMTY2LDYgQEAgcHVyZ2VfbHdwX2xpc3QgKGludCBwaWQpCiAgICAgIH0K ICB9CiAgCkBAIC02MzIzLDcgKzYzMjMsNyBAQCBpbmRleCBlNWY3YzNlLi4wOWQ3YzFlIDEwMDY0 NAogIC8qIEFkZCB0aGUgTFdQIHNwZWNpZmllZCBieSBQSUQgdG8gdGhlIGxpc3QuICBSZXR1cm4g YSBwb2ludGVyIHRvIHRoZQogICAgIHN0cnVjdHVyZSBkZXNjcmliaW5nIHRoZSBuZXcgTFdQLiAg VGhlIExXUCBzaG91bGQgYWxyZWFkeSBiZSBzdG9wcGVkCiAgICAgKHdpdGggYW4gZXhjZXB0aW9u IGZvciB0aGUgdmVyeSBmaXJzdCBMV1ApLiAgKi8KLUBAIC0xMjM2LDYgKzEyNzYsNDYgQEAgaXRl cmF0ZV9vdmVyX2x3cHMgKHB0aWRfdCBmaWx0ZXIsCitAQCAtMTIzNSw2ICsxMjc1LDQ2IEBAIGl0 ZXJhdGVfb3Zlcl9sd3BzIChwdGlkX3QgZmlsdGVyLAogICAgcmV0dXJuIE5VTEw7CiAgfQogIApA QCAtNjM3MSwxMCArNjM3MSwxMCBAQCBpbmRleCBlNWY3YzNlLi4wOWQ3YzFlIDEwMDY0NAogICAg IGFub3RoZXIgaW5kaWNhdGVkIGJ5IE5FV19QVElELiAgV2UgY2FuIG9ubHkgc3dpdGNoIHNpbmds ZS10aHJlYWRlZAogICAgIGFwcGxpY2F0aW9ucywgc28gd2Ugb25seSBjcmVhdGUgb25lIG5ldyBM V1AsIGFuZCB0aGUgcHJldmlvdXMgbGlzdAogZGlmZiAtLWdpdCBhL2dkYi9saW51eC1uYXQuaCBi L2dkYi9saW51eC1uYXQuaAotaW5kZXggMzM3MjdkNi4uOTkxNWYyZiAxMDA2NDQKK2luZGV4IGQ5 ZGM3MWIuLjYyMTczNzAgMTAwNjQ0CiAtLS0gYS9nZGIvbGludXgtbmF0LmgKICsrKyBiL2dkYi9s aW51eC1uYXQuaAotQEAgLTE1OSw2ICsxNTksMTIgQEAgc3RydWN0IGx3cF9pbmZvICppdGVyYXRl X292ZXJfbHdwcyAocHRpZF90IGZpbHRlciwKK0BAIC0xNTgsNiArMTU4LDEyIEBAIHN0cnVjdCBs d3BfaW5mbyAqaXRlcmF0ZV9vdmVyX2x3cHMgKHB0aWRfdCBmaWx0ZXIsCiAgCQkJCQkJICAgICB2 b2lkICopLCAKICAJCQkJICAgIHZvaWQgKmRhdGEpOwogIApAQCAtNjM4OCw3ICs2Mzg4LDcgQEAg aW5kZXggMzM3MjdkNi4uOTkxNWYyZiAxMDA2NDQKICAgICBvdmVycmlkZSBpdCB3aXRoIGxvY2Fs IG1ldGhvZHMuICAqLwogIHN0cnVjdCB0YXJnZXRfb3BzICogbGludXhfdGFyZ2V0ICh2b2lkKTsK IGRpZmYgLS1naXQgYS9nZGIvbWFjaG9yZWFkLmMgYi9nZGIvbWFjaG9yZWFkLmMKLWluZGV4IDQ2 Yjg4NDIuLjY4YWFlNDYgMTAwNjQ0CitpbmRleCA5ZmE5N2UxLi5kNmYwZjM4IDEwMDY0NAogLS0t IGEvZ2RiL21hY2hvcmVhZC5jCiArKysgYi9nZGIvbWFjaG9yZWFkLmMKIEBAIC0xMDMyLDYgKzEw MzIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgbWFjaG9fc3ltX2ZucyA9IHsKQEAg LTY0MDAsMTAgKzY0MDAsMTAgQEAgaW5kZXggNDZiODg0Mi4uNjhhYWU0NiAxMDA2NDQKICB9Owog IAogZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCi1pbmRleCAyODhlYzRiLi4z OGI3Njk5IDEwMDY0NAoraW5kZXggOGI0NWMyNS4uYzdlYTBkZiAxMDA2NDQKIC0tLSBhL2dkYi9t YWluLmMKICsrKyBiL2dkYi9tYWluLmMKLUBAIC0zOSw2ICszOSw3IEBACitAQCAtMzcsNiArMzcs NyBAQAogIAogICNpbmNsdWRlICJpbnRlcnBzLmgiCiAgI2luY2x1ZGUgIm1haW4uaCIKQEAgLTY0 MTEsNyArNjQxMSw3IEBAIGluZGV4IDI4OGVjNGIuLjM4Yjc2OTkgMTAwNjQ0CiAgI2luY2x1ZGUg InNvdXJjZS5oIgogICNpbmNsdWRlICJjbGkvY2xpLWNtZHMuaCIKICAjaW5jbHVkZSAicHl0aG9u L3B5dGhvbi5oIgotQEAgLTI2Niw2ICsyNjcsOCBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRh KQorQEAgLTI2NCw2ICsyNjUsOCBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRhKQogICAgY2hh ciAqY2RhcmcgPSBOVUxMOwogICAgY2hhciAqdHR5YXJnID0gTlVMTDsKICAKQEAgLTY0MjAsNyAr NjQyMCw3IEBAIGluZGV4IDI4OGVjNGIuLjM4Yjc2OTkgMTAwNjQ0CiAgICAvKiBUaGVzZSBhcmUg c3RhdGljIHNvIHRoYXQgd2UgY2FuIHRha2UgdGhlaXIgYWRkcmVzcyBpbiBhbgogICAgICAgaW5p dGlhbGl6ZXIuICAqLwogICAgc3RhdGljIGludCBwcmludF9oZWxwOwotQEAgLTQ1OSwxMCArNDYy LDE0IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCitAQCAtNDU3LDEwICs0NjAsMTQgQEAg Y2FwdHVyZWRfbWFpbiAodm9pZCAqZGF0YSkKICAgICAgICB7ImFyZ3MiLCBub19hcmd1bWVudCwg JnNldF9hcmdzLCAxfSwKICAgICAgICB7ImwiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgJ2wnfSwK ICAgICAgICB7InJldHVybi1jaGlsZC1yZXN1bHQiLCBub19hcmd1bWVudCwgJnJldHVybl9jaGls ZF9yZXN1bHQsIDF9LApAQCAtNjQzNiw3ICs2NDM2LDcgQEAgaW5kZXggMjg4ZWM0Yi4uMzhiNzY5 OSAxMDA2NDQKICAgICAgICB7CiAgCWludCBvcHRpb25faW5kZXg7CiAgCi1AQCAtNDgwLDYgKzQ4 Nyw5IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCitAQCAtNDc4LDYgKzQ4NSw5IEBAIGNh cHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCiAgCSAgY2FzZSAwOgogIAkgICAgLyogTG9uZyBvcHRp b24gdGhhdCBqdXN0IHNldHMgYSBmbGFnLiAgKi8KICAJICAgIGJyZWFrOwpAQCAtNjQ0Niw3ICs2 NDQ2LDcgQEAgaW5kZXggMjg4ZWM0Yi4uMzhiNzY5OSAxMDA2NDQKICAJICBjYXNlIE9QVF9TRToK ICAJICAgIHN5bWFyZyA9IG9wdGFyZzsKICAJICAgIGV4ZWNhcmcgPSBvcHRhcmc7Ci1AQCAtNjc1 LDcgKzY4NSwzMSBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRhKQorQEAgLTY3Myw3ICs2ODMs MzEgQEAgY2FwdHVyZWRfbWFpbiAodm9pZCAqZGF0YSkKICAKICAgIC8qIE5vdyB0aGF0IGdkYl9p bml0IGhhcyBjcmVhdGVkIHRoZSBpbml0aWFsIGluZmVyaW9yLCB3ZSdyZSBpbgogICAgICAgcG9z aXRpb24gdG8gc2V0IGFyZ3MgZm9yIHRoYXQgaW5mZXJpb3IuICAqLwpAQCAtNjQ3OSw3ICs2NDc5 LDcgQEAgaW5kZXggMjg4ZWM0Yi4uMzhiNzY5OSAxMDA2NDQKICAgICAgewogICAgICAgIC8qIFRo ZSByZW1haW5pbmcgb3B0aW9ucyBhcmUgdGhlIGNvbW1hbmQtbGluZSBvcHRpb25zIGZvciB0aGUK ICAJIGluZmVyaW9yLiAgVGhlIGZpcnN0IG9uZSBpcyB0aGUgc3ltL2V4ZWMgZmlsZSwgYW5kIHRo ZSByZXN0Ci1AQCAtOTI0LDcgKzk1OCw4IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCitA QCAtOTIyLDcgKzk1Niw4IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCiAgCiAgICAvKiBS ZWFkIGluIHRoZSBvbGQgaGlzdG9yeSBhZnRlciBhbGwgdGhlIGNvbW1hbmQgZmlsZXMgaGF2ZSBi ZWVuCiAgICAgICByZWFkLiAgKi8KQEAgLTY0ODksNyArNjQ4OSw3IEBAIGluZGV4IDI4OGVjNGIu LjM4Yjc2OTkgMTAwNjQ0CiAgCiAgICBpZiAoYmF0Y2hfZmxhZykKICAgICAgewotQEAgLTkzNSwx MyArOTcwLDI1IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCitAQCAtOTMzLDEzICs5Njgs MjUgQEAgY2FwdHVyZWRfbWFpbiAodm9pZCAqZGF0YSkKICAgIC8qIFNob3cgdGltZSBhbmQvb3Ig c3BhY2UgdXNhZ2UuICAqLwogICAgZG9fY2xlYW51cHMgKHByZV9zdGF0X2NoYWluKTsKICAKQEAg LTY1MjEsNyArNjUyMSw3IEBAIGluZGV4IDI4OGVjNGIuLjM4Yjc2OTkgMTAwNjQ0CiAgICAgIH0K ICAgIC8qIE5vIGV4aXQgLS0gZXhpdCBpcyB0aHJvdWdoIHF1aXRfY29tbWFuZC4gICovCiAgfQot QEAgLTk3Myw3ICsxMDIwLDEyIEBAIHByaW50X2dkYl9oZWxwIChzdHJ1Y3QgdWlfZmlsZSAqc3Ry ZWFtKQorQEAgLTk3MSw3ICsxMDE4LDEyIEBAIHByaW50X2dkYl9oZWxwIChzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtKQogICAgZnB1dHNfdW5maWx0ZXJlZCAoXygiXAogIFRoaXMgaXMgdGhlIEdOVSBk ZWJ1Z2dlci4gIFVzYWdlOlxuXG5cCiAgICAgIGdkYiBbb3B0aW9uc10gW2V4ZWN1dGFibGUtZmls ZSBbY29yZS1maWxlIG9yIHByb2Nlc3MtaWRdXVxuXApAQCAtNjUzNSw3ICs2NTM1LDcgQEAgaW5k ZXggMjg4ZWM0Yi4uMzhiNzY5OSAxMDA2NDQKICBPcHRpb25zOlxuXG5cCiAgIiksIHN0cmVhbSk7 CiAgICBmcHV0c191bmZpbHRlcmVkIChfKCJcCi1AQCAtMTAxMSw3ICsxMDYzLDEzIEBAIE9wdGlv bnM6XG5cblwKK0BAIC0xMDA5LDcgKzEwNjEsMTMgQEAgT3B0aW9uczpcblxuXAogICAgLS1udwkJ ICAgICBEbyBub3QgdXNlIGEgd2luZG93IGludGVyZmFjZS5cblwKICAgIC0tbnggICAgICAgICAg ICAgICBEbyBub3QgcmVhZCAiKSwgc3RyZWFtKTsKICAgIGZwdXRzX3VuZmlsdGVyZWQgKGdkYmlu aXQsIHN0cmVhbSk7CkBAIC02NTUxLDcgKzY1NTEsNyBAQCBpbmRleCAyODhlYzRiLi4zOGI3Njk5 IDEwMDY0NAogICAgLS1yZWFkbm93ICAgICAgICAgIEZ1bGx5IHJlYWQgc3ltYm9sIGZpbGVzIG9u IGZpcnN0IGFjY2Vzcy5cblwKICAiKSwgc3RyZWFtKTsKIGRpZmYgLS1naXQgYS9nZGIvbWkvbWkt Y21kLXZhci5jIGIvZ2RiL21pL21pLWNtZC12YXIuYwotaW5kZXggNDhmOGE3ZC4uZTlhNGRiNyAx MDA2NDQKK2luZGV4IDRkZTczOTIuLmZiMGI1NTAgMTAwNjQ0CiAtLS0gYS9nZGIvbWkvbWktY21k LXZhci5jCiArKysgYi9nZGIvbWkvbWktY21kLXZhci5jCiBAQCAtNzIxLDcgKzcyMSw2IEBAIG1p X2NtZF92YXJfdXBkYXRlIChjaGFyICpjb21tYW5kLCBjaGFyICoqYXJndiwgaW50IGFyZ2MpCkBA IC02NTYzLDEwICs2NTYzLDEwIEBAIGluZGV4IDQ4ZjhhN2QuLmU5YTRkYjcgMTAwNjQ0CiAgCiAg ICAgICAgdmFyb2JqX3VwZGF0ZV9vbmUgKHZhciwgcHJpbnRfdmFsdWVzLCAxIC8qIGV4cGxpY2l0 ICovKTsKIGRpZmYgLS1naXQgYS9nZGIvbWlwc3JlYWQuYyBiL2dkYi9taXBzcmVhZC5jCi1pbmRl eCAxY2QzMjk5Li40NmRlMDk3IDEwMDY0NAoraW5kZXggNTc5MDczMC4uMjNjZWVjZSAxMDA2NDQK IC0tLSBhL2dkYi9taXBzcmVhZC5jCiArKysgYi9nZGIvbWlwc3JlYWQuYwotQEAgLTQwMiw2ICs0 MDIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMgZWNvZmZfc3ltX2ZucyA9CitAQCAt NDAxLDYgKzQwMSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyBlY29mZl9zeW1fZm5z ID0KICAgIGRlZmF1bHRfc3ltZmlsZV9zZWdtZW50cywJLyogR2V0IHNlZ21lbnQgaW5mb3JtYXRp b24gZnJvbSBhIGZpbGUuICAqLwogICAgTlVMTCwKICAgIGRlZmF1bHRfc3ltZmlsZV9yZWxvY2F0 ZSwJLyogUmVsb2NhdGUgYSBkZWJ1ZyBzZWN0aW9uLiAgKi8KQEAgLTY1NzUsMTAgKzY1NzUsMTAg QEAgaW5kZXggMWNkMzI5OS4uNDZkZTA5NyAxMDA2NDQKICB9OwogIAogZGlmZiAtLWdpdCBhL2dk Yi9vYmpmaWxlcy5jIGIvZ2RiL29iamZpbGVzLmMKLWluZGV4IDIyOWU2NDEuLjU2YjhhMzEgMTAw NjQ0CitpbmRleCAxY2Y1YWVlLi5kMTY0MGVmIDEwMDY0NAogLS0tIGEvZ2RiL29iamZpbGVzLmMK ICsrKyBiL2dkYi9vYmpmaWxlcy5jCi1AQCAtODEzLDYgKzgxMywxMSBAQCBvYmpmaWxlX3JlbG9j YXRlMSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtODExLDYgKzgxMSwxMSBAQCBvYmpm aWxlX3JlbG9jYXRlMSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCQkJCW9ial9zZWN0aW9u X2FkZHIgKHMpKTsKICAgICAgfQogIApAQCAtNjU5MSw3ICs2NTkxLDcgQEAgaW5kZXggMjI5ZTY0 MS4uNTZiOGEzMSAxMDA2NDQKICAgIHJldHVybiAxOwogIH0KIGRpZmYgLS1naXQgYS9nZGIvcC12 YWxwcmludC5jIGIvZ2RiL3AtdmFscHJpbnQuYwotaW5kZXggZTU1YjEyMi4uNmI0YWRmYiAxMDA2 NDQKK2luZGV4IGM1YmVmOGEuLmZjM2JlYjMgMTAwNjQ0CiAtLS0gYS9nZGIvcC12YWxwcmludC5j CiArKysgYi9nZGIvcC12YWxwcmludC5jCiBAQCAtMzksNiArMzksNyBAQApAQCAtNjY3MSwxMCAr NjY3MSwxMCBAQCBpbmRleCBlNTViMTIyLi42YjRhZGZiIDEwMDY0NAogIH0KICAMCiBkaWZmIC0t Z2l0IGEvZ2RiL3BhcnNlLmMgYi9nZGIvcGFyc2UuYwotaW5kZXggN2QxNTdmZS4uNmRkYWY4NiAx MDA2NDQKK2luZGV4IDMyYTNiZDYuLjllYWYyZGUgMTAwNjQ0CiAtLS0gYS9nZGIvcGFyc2UuYwog KysrIGIvZ2RiL3BhcnNlLmMKLUBAIC0xMjQsOCArMTI0LDYgQEAgc2hvd19wYXJzZXJkZWJ1ZyAo c3RydWN0IHVpX2ZpbGUgKmZpbGUsIGludCBmcm9tX3R0eSwKK0BAIC0xMTMsOCArMTEzLDYgQEAg c2hvd19wYXJzZXJkZWJ1ZyAoc3RydWN0IHVpX2ZpbGUgKmZpbGUsIGludCBmcm9tX3R0eSwKICAK ICBzdGF0aWMgdm9pZCBmcmVlX2Z1bmNhbGxzICh2b2lkICppZ25vcmUpOwogIApAQCAtNjY4Myw3 ICs2NjgzLDI1IEBAIGluZGV4IDdkMTU3ZmUuLjZkZGFmODYgMTAwNjQ0CiAgc3RhdGljIGludCBw cmVmaXhpZnlfc3ViZXhwIChzdHJ1Y3QgZXhwcmVzc2lvbiAqLCBzdHJ1Y3QgZXhwcmVzc2lvbiAq LCBpbnQsCiAgCQkJICAgICBpbnQpOwogIAotQEAgLTc3Miw3ICs3NzAsNyBAQCBjb3B5X25hbWUg KHN0cnVjdCBzdG9rZW4gdG9rZW4pCitAQCAtMTg4LDcgKzE4Niw3IEBAIGZyZWVfZnVuY2FsbHMg KHZvaWQgKmlnbm9yZSkKKyAgICB0aGUgZXhwb3V0IGFycmF5LiAgTEFORyBpcyB0aGUgbGFuZ3Vh Z2UgdXNlZCB0byBwYXJzZSB0aGUgZXhwcmVzc2lvbi4KKyAgICBBbmQgR0RCQVJDSCBpcyB0aGUg Z2RiYXJjaCB0byB1c2UgZHVyaW5nIHBhcnNpbmcuICAqLworIAorLXN0YXRpYyB2b2lkCisrdm9p ZAorIGluaXRpYWxpemVfZXhwb3V0IChpbnQgaW5pdGlhbF9zaXplLCBjb25zdCBzdHJ1Y3QgbGFu Z3VhZ2VfZGVmbiAqbGFuZywKKyAJCSAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQorIHsKK0BA IC0yMDQsNyArMjAyLDcgQEAgaW5pdGlhbGl6ZV9leHBvdXQgKGludCBpbml0aWFsX3NpemUsIGNv bnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5nLAorICAgIEl0IGlzIGdlbmVyYWxseSB1c2Vk IHdoZW4gdGhlIHBhcnNlciBoYXMganVzdCBiZWVuIHBhcnNlZCBhbmQKKyAgICBjcmVhdGVkLiAg Ki8KKyAKKy1zdGF0aWMgdm9pZAorK3ZvaWQKKyByZWFsbG9jYXRlX2V4cG91dCAodm9pZCkKKyB7 CisgICAvKiBSZWNvcmQgdGhlIGFjdHVhbCBudW1iZXIgb2YgZXhwcmVzc2lvbiBlbGVtZW50cywg YW5kIHRoZW4KK0BAIC04MTEsNyArODA5LDcgQEAgY29weV9uYW1lIChzdHJ1Y3Qgc3Rva2VuIHRv a2VuKQogICAgIHJldHVybiB0aGUgaW5kZXggb2YgdGhlIHN1YmV4cHJlc3Npb24gd2hpY2ggaXMg dGhlIGxlZnQtaGFuZC1zaWRlCiAgICAgb2YgdGhlIHN0cnVjdCBvcGVyYXRpb24gYXQgRVhQT1VU X0xBU1RfU1RSVUNULiAgKi8KICAKQEAgLTY2OTIsNjkgKzY3MTAsNyBAQCBpbmRleCA3ZDE1N2Zl Li42ZGRhZjg2IDEwMDY0NAogIHByZWZpeGlmeV9leHByZXNzaW9uIChzdHJ1Y3QgZXhwcmVzc2lv biAqZXhwcikKICB7CiAgICBpbnQgbGVuID0gc2l6ZW9mIChzdHJ1Y3QgZXhwcmVzc2lvbikgKyBF WFBfRUxFTV9UT19CWVRFUyAoZXhwci0+bmVsdHMpOwotQEAgLTEwNzUsNiArMTA3MywzMSBAQCBw YXJzZV9leHBfMSAoY2hhciAqKnN0cmluZ3B0ciwgc3RydWN0IGJsb2NrICpibG9jaywgaW50IGNv bW1hKQotICAgcmV0dXJuIHBhcnNlX2V4cF9pbl9jb250ZXh0IChzdHJpbmdwdHIsIGJsb2NrLCBj b21tYSwgMCwgTlVMTCk7Ci0gfQotIAotK3ZvaWQKLStpbml0aWFsaXplX2V4cG91dCAoaW50IGlu aXRpYWxfc2l6ZSwgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gKmxhbmcsCi0rCQkgICBzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKLSt7Ci0rICBleHBvdXRfc2l6ZSA9IGluaXRpYWxfc2l6ZTsK LSsgIGV4cG91dF9wdHIgPSAwOwotKyAgZXhwb3V0ID0gKHN0cnVjdCBleHByZXNzaW9uICopCi0r ICAgIHhtYWxsb2MgKHNpemVvZiAoc3RydWN0IGV4cHJlc3Npb24pICsgRVhQX0VMRU1fVE9fQllU RVMgKGV4cG91dF9zaXplKSk7Ci0rICBleHBvdXQtPmxhbmd1YWdlX2RlZm4gPSBsYW5nOwotKyAg ZXhwb3V0LT5nZGJhcmNoID0gZ2RiYXJjaDsKLSt9Ci0rCi0rdm9pZAotK3JlYWxsb2NhdGVfZXhw b3V0ICh2b2lkKQotK3sKLSsgIC8qIFJlY29yZCB0aGUgYWN0dWFsIG51bWJlciBvZiBleHByZXNz aW9uIGVsZW1lbnRzLCBhbmQgdGhlbgotKyAgICAgcmVhbGxvY2F0ZSB0aGUgZXhwcmVzc2lvbiBt ZW1vcnkgc28gdGhhdCB3ZSBmcmVlIHVwIGFueQotKyAgICAgZXhjZXNzIGVsZW1lbnRzLiAgKi8K LSsKLSsgIGV4cG91dC0+bmVsdHMgPSBleHBvdXRfcHRyOwotKyAgZXhwb3V0ID0gKHN0cnVjdCBl eHByZXNzaW9uICopCi0rICAgIHhyZWFsbG9jICgoY2hhciAqKSBleHBvdXQsCi0rCSAgICAgIHNp emVvZiAoc3RydWN0IGV4cHJlc3Npb24pICsgRVhQX0VMRU1fVE9fQllURVMgKGV4cG91dF9wdHIp KTsKLSt9Ci0rCi0gLyogQXMgZm9yIHBhcnNlX2V4cF8xLCBleGNlcHQgdGhhdCBpZiBWT0lEX0NP TlRFWFRfUCwgdGhlbgotICAgIG5vIHZhbHVlIGlzIGV4cGVjdGVkIGZyb20gdGhlIGV4cHJlc3Np b24uCi0gICAgT1VUX1NVQkVYUCBpcyBzZXQgd2hlbiBhdHRlbXB0aW5nIHRvIGNvbXBsZXRlIGEg ZmllbGQgbmFtZTsgaW4gdGhpcwotQEAgLTExNTIsMTIgKzExNzUsNyBAQCBwYXJzZV9leHBfaW5f Y29udGV4dCAoY2hhciAqKnN0cmluZ3B0ciwgc3RydWN0IGJsb2NrICpibG9jaywgaW50IGNvbW1h LAotICAgZWxzZQotICAgICBsYW5nID0gY3VycmVudF9sYW5ndWFnZTsKLSAKLS0gIGV4cG91dF9z aXplID0gMTA7Ci0tICBleHBvdXRfcHRyID0gMDsKLS0gIGV4cG91dCA9IChzdHJ1Y3QgZXhwcmVz c2lvbiAqKQotLSAgICB4bWFsbG9jIChzaXplb2YgKHN0cnVjdCBleHByZXNzaW9uKSArIEVYUF9F TEVNX1RPX0JZVEVTIChleHBvdXRfc2l6ZSkpOwotLSAgZXhwb3V0LT5sYW5ndWFnZV9kZWZuID0g bGFuZzsKLS0gIGV4cG91dC0+Z2RiYXJjaCA9IGdldF9jdXJyZW50X2FyY2ggKCk7Ci0rICBpbml0 aWFsaXplX2V4cG91dCAoMTAsIGxhbmcsIGdldF9jdXJyZW50X2FyY2ggKCkpOwotIAotICAgVFJZ X0NBVENIIChleGNlcHQsIFJFVFVSTl9NQVNLX0FMTCkKLSAgICAgewotQEAgLTExNzUsMTQgKzEx OTMsNyBAQCBwYXJzZV9leHBfaW5fY29udGV4dCAoY2hhciAqKnN0cmluZ3B0ciwgc3RydWN0IGJs b2NrICpibG9jaywgaW50IGNvbW1hLAotIAotICAgZGlzY2FyZF9jbGVhbnVwcyAob2xkX2NoYWlu KTsKLSAKLS0gIC8qIFJlY29yZCB0aGUgYWN0dWFsIG51bWJlciBvZiBleHByZXNzaW9uIGVsZW1l bnRzLCBhbmQgdGhlbgotLSAgICAgcmVhbGxvY2F0ZSB0aGUgZXhwcmVzc2lvbiBtZW1vcnkgc28g dGhhdCB3ZSBmcmVlIHVwIGFueQotLSAgICAgZXhjZXNzIGVsZW1lbnRzLiAgKi8KLS0KLS0gIGV4 cG91dC0+bmVsdHMgPSBleHBvdXRfcHRyOwotLSAgZXhwb3V0ID0gKHN0cnVjdCBleHByZXNzaW9u ICopCi0tICAgIHhyZWFsbG9jICgoY2hhciAqKSBleHBvdXQsCi0tCSAgICAgIHNpemVvZiAoc3Ry dWN0IGV4cHJlc3Npb24pICsgRVhQX0VMRU1fVE9fQllURVMgKGV4cG91dF9wdHIpKTsKLSsgIHJl YWxsb2NhdGVfZXhwb3V0ICgpOwotIAotICAgLyogQ29udmVydCBleHByZXNzaW9uIGZyb20gcG9z dGZpeCBmb3JtIGFzIGdlbmVyYXRlZCBieSB5YWNjCi0gICAgICBwYXJzZXIsIHRvIGEgcHJlZml4 IGZvcm0uICAqLwotQEAgLTE1MDIsNiArMTUxMyw3IEBAIHBhcnNlcl9mcHJpbnRmIChGSUxFICp4 LCBjb25zdCBjaGFyICp5LCAuLi4pCitAQCAtMTUyOSw2ICsxNTI3LDcgQEAgcGFyc2VyX2Zwcmlu dGYgKEZJTEUgKngsIGNvbnN0IGNoYXIgKnksIC4uLikKICAKICBpbnQKICBvcGVyYXRvcl9jaGVj a19zdGFuZGFyZCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKQEAgLTY3NjIsNyAr NjcxOCw3IEBAIGluZGV4IDdkMTU3ZmUuLjZkZGFmODYgMTAwNjQ0CiAgCQkJIGludCAoKm9iamZp bGVfZnVuYykgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogIAkJCQkJICAgICAgdm9pZCAqZGF0 YSksCiAgCQkJIHZvaWQgKmRhdGEpCi1AQCAtMTU0Myw3ICsxNTU1LDcgQEAgb3BlcmF0b3JfY2hl Y2tfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwb3MsCitAQCAtMTU3MCw3 ICsxNTY5LDcgQEAgb3BlcmF0b3JfY2hlY2tfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNzaW9uICpl eHAsIGludCBwb3MsCiAgCSAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IGVsdHNbcG9zICsgMiArIGFy Z10udHlwZTsKICAJICAgIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlID0gVFlQRV9PQkpGSUxFICh0 eXBlKTsKICAKQEAgLTY3NzEsNyArNjcyNyw3IEBAIGluZGV4IDdkMTU3ZmUuLjZkZGFmODYgMTAw NjQ0CiAgCSAgICAgIHJldHVybiAxOwogIAkgIH0KICAgICAgICB9Ci1AQCAtMTU2MSw3ICsxNTcz LDggQEAgb3BlcmF0b3JfY2hlY2tfc3RhbmRhcmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGlu dCBwb3MsCitAQCAtMTU4OCw3ICsxNTg3LDggQEAgb3BlcmF0b3JfY2hlY2tfc3RhbmRhcmQgKHN0 cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwb3MsCiAgCiAgCS8qIENoZWNrIG9iamZpbGUgd2hl cmUgdGhlIHZhcmlhYmxlIGl0c2VsZiBpcyBwbGFjZWQuCiAgCSAgIFNZTUJPTF9PQkpfU0VDVElP TiAoc3ltYm9sKSBtYXkgYmUgTlVMTC4gICovCkBAIC02NzgxLDcgKzY3MzcsNyBAQCBpbmRleCA3 ZDE1N2ZlLi42ZGRhZjg2IDEwMDY0NAogIAkgIHJldHVybiAxOwogIAogIAkvKiBDaGVjayBvYmpm aWxlIHdoZXJlIGlzIHBsYWNlZCB0aGUgY29kZSB0b3VjaGluZyB0aGUgdmFyaWFibGUuICAqLwot QEAgLTE1NzQsMjQgKzE1ODcsMjcgQEAgb3BlcmF0b3JfY2hlY2tfc3RhbmRhcmQgKHN0cnVjdCBl eHByZXNzaW9uICpleHAsIGludCBwb3MsCitAQCAtMTYwMSwyNCArMTYwMSwyNyBAQCBvcGVyYXRv cl9jaGVja19zdGFuZGFyZCAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKICAKICAg IC8qIEludm9rZSBjYWxsYmFja3MgZm9yIFRZUEUgYW5kIE9CSkZJTEUgaWYgdGhleSB3ZXJlIHNl dCBhcyBub24tTlVMTC4gICovCiAgCkBAIC02ODE3LDcgKzY3NzMsNyBAQCBpbmRleCA3ZDE1N2Zl Li42ZGRhZjg2IDEwMDY0NAogIAkgICAgIGludCAoKm9iamZpbGVfZnVuYykgKHN0cnVjdCBvYmpm aWxlICpvYmpmaWxlLCB2b2lkICpkYXRhKSwKICAJICAgICB2b2lkICpkYXRhKQogIHsKLUBAIC0x NjA2LDcgKzE2MjIsOSBAQCBleHBfaXRlcmF0ZSAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwKK0BA IC0xNjMzLDcgKzE2MzYsOSBAQCBleHBfaXRlcmF0ZSAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwK ICAKICAgICAgICBwb3MgPSBlbmRwb3MgLSBvcGxlbjsKICAgICAgICBpZiAoZXhwLT5sYW5ndWFn ZV9kZWZuLT5sYV9leHBfZGVzYy0+b3BlcmF0b3JfY2hlY2sgKGV4cCwgcG9zLApAQCAtNjgyOCw3 ICs2Nzg0LDcgQEAgaW5kZXggN2QxNTdmZS4uNmRkYWY4NiAxMDA2NDQKICAJcmV0dXJuIDE7CiAg CiAgICAgICAgZW5kcG9zID0gcG9zOwotQEAgLTE2MzcsOCArMTY1NSwyOSBAQCBleHBfdXNlc19v YmpmaWxlIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkK K0BAIC0xNjY0LDggKzE2NjksMjkgQEAgZXhwX3VzZXNfb2JqZmlsZSAoc3RydWN0IGV4cHJlc3Np b24gKmV4cCwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUpCiAgewogICAgZ2RiX2Fzc2VydCAob2Jq ZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9PSBOVUxMKTsKICAKQEAgLTY4 NjAsMTAgKzY4MTYsMTAgQEAgaW5kZXggN2QxNTdmZS4uNmRkYWY4NiAxMDA2NDQKICB2b2lkCiAg X2luaXRpYWxpemVfcGFyc2UgKHZvaWQpCiBkaWZmIC0tZ2l0IGEvZ2RiL3BhcnNlci1kZWZzLmgg Yi9nZGIvcGFyc2VyLWRlZnMuaAotaW5kZXggYmNhODAxNC4uZWNjNDM2ZSAxMDA2NDQKK2luZGV4 IDE2YjQwYWMuLmMzODEzZmYgMTAwNjQ0CiAtLS0gYS9nZGIvcGFyc2VyLWRlZnMuaAogKysrIGIv Z2RiL3BhcnNlci1kZWZzLmgKLUBAIC0xMzEsNiArMTMxLDI0IEBAIHVuaW9uIHR5cGVfc3RhY2tf ZWx0CitAQCAtMTMwLDYgKzEzMCwyNCBAQCB1bmlvbiB0eXBlX3N0YWNrX2VsdAogIGV4dGVybiB1 bmlvbiB0eXBlX3N0YWNrX2VsdCAqdHlwZV9zdGFjazsKICBleHRlcm4gaW50IHR5cGVfc3RhY2tf ZGVwdGgsIHR5cGVfc3RhY2tfc2l6ZTsKICAKQEAgLTY4ODgsNyArNjg0NCw3IEBAIGluZGV4IGJj YTgwMTQuLmVjYzQzNmUgMTAwNjQ0CiAgZXh0ZXJuIHZvaWQgd3JpdGVfZXhwX2VsdF9vcGNvZGUg KGVudW0gZXhwX29wY29kZSk7CiAgCiAgZXh0ZXJuIHZvaWQgd3JpdGVfZXhwX2VsdF9zeW0gKHN0 cnVjdCBzeW1ib2wgKik7Ci1AQCAtMTkyLDYgKzIxMCw4IEBAIGV4dGVybiB2b2lkIG9wZXJhdG9y X2xlbmd0aF9zdGFuZGFyZCAoY29uc3Qgc3RydWN0IGV4cHJlc3Npb24gKiwgaW50LCBpbnQgKiwK K0BAIC0xOTEsNiArMjA5LDggQEAgZXh0ZXJuIHZvaWQgb3BlcmF0b3JfbGVuZ3RoX3N0YW5kYXJk IChjb25zdCBzdHJ1Y3QgZXhwcmVzc2lvbiAqLCBpbnQsIGludCAqLAogIAkJCQkgICAgICBpbnQg Kik7CiAgCiAgZXh0ZXJuIGludCBvcGVyYXRvcl9jaGVja19zdGFuZGFyZCAoc3RydWN0IGV4cHJl c3Npb24gKmV4cCwgaW50IHBvcywKQEAgLTY4OTcsNyArNjg1Myw3IEBAIGluZGV4IGJjYTgwMTQu LmVjYzQzNmUgMTAwNjQ0CiAgCQkJCSAgICBpbnQgKCpvYmpmaWxlX2Z1bmMpCiAgCQkJCSAgICAg IChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgdm9pZCAqZGF0YSksCiAgCQkJCSAgICB2b2lkICpk YXRhKTsKLUBAIC0yODksNiArMzA5LDcgQEAgc3RydWN0IGV4cF9kZXNjcmlwdG9yCitAQCAtMjc3 LDYgKzI5Nyw3IEBAIHN0cnVjdCBleHBfZGVzY3JpcHRvcgogICAgICAgICB2YWx1ZSBzaG91bGQg YmUgaW1tZWRpYXRlbHkgcmV0dXJuZWQgdG8gdGhlIGNhbGxlci4gIE90aGVyd2lzZSB6ZXJvCiAg ICAgICAgIHNob3VsZCBiZSByZXR1cm5lZC4gICovCiAgICAgIGludCAoKm9wZXJhdG9yX2NoZWNr KSAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKQEAgLTY5MDUsNyArNjg2MSw3IEBA IGluZGV4IGJjYTgwMTQuLmVjYzQzNmUgMTAwNjQ0CiAgCQkJICAgaW50ICgqb2JqZmlsZV9mdW5j KSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCQkJCQkJdm9pZCAqZGF0YSksCiAgCQkJICAg dm9pZCAqZGF0YSk7Ci1AQCAtMzI3LDQgKzM0OCwxMCBAQCBleHRlcm4gdm9pZCBwYXJzZXJfZnBy aW50ZiAoRklMRSAqLCBjb25zdCBjaGFyICosIC4uLikgQVRUUklCVVRFX1BSSU5URiAoMiwgMyk7 CitAQCAtMzE1LDQgKzMzNiwxMCBAQCBleHRlcm4gdm9pZCBwYXJzZXJfZnByaW50ZiAoRklMRSAq LCBjb25zdCBjaGFyICosIC4uLikgQVRUUklCVVRFX1BSSU5URiAoMiwgMyk7CiAgCiAgZXh0ZXJu IGludCBleHBfdXNlc19vYmpmaWxlIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSk7CiAgCkBAIC02OTE3LDEwICs2ODczLDEwIEBAIGluZGV4IGJjYTgwMTQu LmVjYzQzNmUgMTAwNjQ0CiArCiAgI2VuZGlmIC8qIFBBUlNFUl9ERUZTX0ggKi8KIGRpZmYgLS1n aXQgYS9nZGIvcHBjLWxpbnV4LW5hdC5jIGIvZ2RiL3BwYy1saW51eC1uYXQuYwotaW5kZXggY2My OWFkOC4uOTQ5MDBjOSAxMDA2NDQKK2luZGV4IGFmODA5MTkuLjMwNzdjNGIgMTAwNjQ0CiAtLS0g YS9nZGIvcHBjLWxpbnV4LW5hdC5jCiArKysgYi9nZGIvcHBjLWxpbnV4LW5hdC5jCi1AQCAtMTQ2 OSwxNCArMTQ2OSwxMyBAQCBwcGNfbGludXhfY2FuX3VzZV9od19icmVha3BvaW50IChpbnQgdHlw ZSwgaW50IGNudCwgaW50IG90KQorQEAgLTE0NjgsMTQgKzE0NjgsMTMgQEAgcHBjX2xpbnV4X2Nh bl91c2VfaHdfYnJlYWtwb2ludCAoaW50IHR5cGUsIGludCBjbnQsIGludCBvdCkKICAgIGlmICgh aGF2ZV9wdHJhY2VfYm9va2VfaW50ZXJmYWNlICgpKQogICAgICB7CiAgICAgICAgaW50IHRpZDsK QEAgLTY5MzcsNyArNjg5Myw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgCiAg ICAgICAgaWYgKHB0cmFjZSAoUFRSQUNFX1NFVF9ERUJVR1JFRywgdGlkLCAwLCAwKSA9PSAtMSkK ICAJcmV0dXJuIDA7Ci1AQCAtMTU2Nyw4ICsxNTY2LDkgQEAgYm9va2VfZmluZF90aHJlYWRfcG9p bnRzX2J5X3RpZCAoaW50IHRpZCwgaW50IGFsbG9jX25ldykKK0BAIC0xNTY2LDggKzE1NjUsOSBA QCBib29rZV9maW5kX3RocmVhZF9wb2ludHNfYnlfdGlkIChpbnQgdGlkLCBpbnQgYWxsb2NfbmV3 KQogIC8qIFRoaXMgZnVuY3Rpb24gaXMgYSBnZW5lcmljIHdyYXBwZXIgdGhhdCBpcyByZXNwb25z aWJsZSBmb3IgaW5zZXJ0aW5nIGEKICAgICAqcG9pbnQgKGkuZS4sIGNhbGxpbmcgYHB0cmFjZScg aW4gb3JkZXIgdG8gaXNzdWUgdGhlIHJlcXVlc3QgdG8gdGhlCiAgICAga2VybmVsKSBhbmQgcmVn aXN0ZXJpbmcgaXQgaW50ZXJuYWxseSBpbiBHREIuICAqLwpAQCAtNjk0OCw3ICs2OTA0LDcgQEAg aW5kZXggY2MyOWFkOC4uOTQ5MDBjOSAxMDA2NDQKICB7CiAgICBpbnQgaTsKICAgIGxvbmcgc2xv dDsKLUBAIC0xNTgxLDEyICsxNTgxLDEyIEBAIGJvb2tlX2luc2VydF9wb2ludCAoc3RydWN0IHBw Y19od19icmVha3BvaW50ICpiLCBpbnQgdGlkKQorQEAgLTE1ODAsMTIgKzE1ODAsMTIgQEAgYm9v a2VfaW5zZXJ0X3BvaW50IChzdHJ1Y3QgcHBjX2h3X2JyZWFrcG9pbnQgKmIsIGludCB0aWQpCiAg ICBtZW1jcHkgKHAsIGIsIHNpemVvZiAoc3RydWN0IHBwY19od19icmVha3BvaW50KSk7CiAgCiAg ICBlcnJubyA9IDA7CkBAIC02OTYzLDcgKzY5MTksNyBAQCBpbmRleCBjYzI5YWQ4Li45NDkwMGM5 IDEwMDY0NAogICAgZ2RiX2Fzc2VydCAodCAhPSBOVUxMKTsKICAgIGh3X2JyZWFrcyA9IHQtPmh3 X2JyZWFrczsKICAKLUBAIC0xNjA0LDE3ICsxNjA0LDMzIEBAIGJvb2tlX2luc2VydF9wb2ludCAo c3RydWN0IHBwY19od19icmVha3BvaW50ICpiLCBpbnQgdGlkKQorQEAgLTE2MDMsMTcgKzE2MDMs MzMgQEAgYm9va2VfaW5zZXJ0X3BvaW50IChzdHJ1Y3QgcHBjX2h3X2JyZWFrcG9pbnQgKmIsIGlu dCB0aWQpCiAgICBkaXNjYXJkX2NsZWFudXBzIChjKTsKICB9CiAgCkBAIC03MDAzLDcgKzY5NTks NyBAQCBpbmRleCBjYzI5YWQ4Li45NDkwMGM5IDEwMDY0NAogICAgZ2RiX2Fzc2VydCAodCAhPSBO VUxMKTsKICAgIGh3X2JyZWFrcyA9IHQtPmh3X2JyZWFrczsKICAKLUBAIC0xNjI4LDEzICsxNjQ0 LDE3IEBAIGJvb2tlX3JlbW92ZV9wb2ludCAoc3RydWN0IHBwY19od19icmVha3BvaW50ICpiLCBp bnQgdGlkKQorQEAgLTE2MjcsMTMgKzE2NDMsMTcgQEAgYm9va2VfcmVtb3ZlX3BvaW50IChzdHJ1 Y3QgcHBjX2h3X2JyZWFrcG9pbnQgKmIsIGludCB0aWQpCiAgICAgICBicmVha3BvaW50cy93YXRj aHBvaW50cyBhcyAib25lLXNob3QiLCB0aGF0IGlzLCB0aGV5IGFyZSBhdXRvbWF0aWNhbGx5CiAg ICAgICBkZWxldGVkIHdoZW4gaGl0LiAgKi8KICAgIGVycm5vID0gMDsKQEAgLTcwMjIsNyArNjk3 OCw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgfQogIAogIC8qIFJldHVybiB0 aGUgbnVtYmVyIG9mIHJlZ2lzdGVycyBuZWVkZWQgZm9yIGEgcmFuZ2VkIGJyZWFrcG9pbnQuICAq LwotQEAgLTE2NTQsNyArMTY3NCw2IEBAIHN0YXRpYyBpbnQKK0BAIC0xNjUzLDcgKzE2NzMsNiBA QCBzdGF0aWMgaW50CiAgcHBjX2xpbnV4X2luc2VydF9od19icmVha3BvaW50IChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwKICAJCQkJICBzdHJ1Y3QgYnBfdGFyZ2V0X2luZm8gKmJwX3RndCkKICB7 CkBAIC03MDMwLDcgKzY5ODYsNyBAQCBpbmRleCBjYzI5YWQ4Li45NDkwMGM5IDEwMDY0NAogICAg c3RydWN0IHBwY19od19icmVha3BvaW50IHA7CiAgCiAgICBpZiAoIWhhdmVfcHRyYWNlX2Jvb2tl X2ludGVyZmFjZSAoKSkKLUBAIC0xNjgwLDggKzE2OTksNyBAQCBwcGNfbGludXhfaW5zZXJ0X2h3 X2JyZWFrcG9pbnQgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTE2NzksOCArMTY5OCw3 IEBAIHBwY19saW51eF9pbnNlcnRfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsCiAgICAgICAgcC5hZGRyMiA9IDA7CiAgICAgIH0KICAKQEAgLTcwNDAsNyArNjk5Niw3IEBA IGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgCiAgICByZXR1cm4gMDsKICB9Ci1AQCAt MTY5MCw3ICsxNzA4LDYgQEAgc3RhdGljIGludAorQEAgLTE2ODksNyArMTcwNyw2IEBAIHN0YXRp YyBpbnQKICBwcGNfbGludXhfcmVtb3ZlX2h3X2JyZWFrcG9pbnQgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLAogIAkJCQkgIHN0cnVjdCBicF90YXJnZXRfaW5mbyAqYnBfdGd0KQogIHsKQEAgLTcw NDgsNyArNzAwNCw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgICBzdHJ1Y3Qg cHBjX2h3X2JyZWFrcG9pbnQgcDsKICAKICAgIGlmICghaGF2ZV9wdHJhY2VfYm9va2VfaW50ZXJm YWNlICgpKQotQEAgLTE3MTYsOCArMTczMyw3IEBAIHBwY19saW51eF9yZW1vdmVfaHdfYnJlYWtw b2ludCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtMTcxNSw4ICsxNzMyLDcgQEAgcHBj X2xpbnV4X3JlbW92ZV9od19icmVha3BvaW50IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAg ICAgICBwLmFkZHIyID0gMDsKICAgICAgfQogIApAQCAtNzA1OCw3ICs3MDE0LDcgQEAgaW5kZXgg Y2MyOWFkOC4uOTQ5MDBjOSAxMDA2NDQKICAKICAgIHJldHVybiAwOwogIH0KLUBAIC0xNzQ2LDcg KzE3NjIsNiBAQCBzdGF0aWMgaW50CitAQCAtMTc0NSw3ICsxNzYxLDYgQEAgc3RhdGljIGludAog IHBwY19saW51eF9pbnNlcnRfbWFza193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3Bz LCBDT1JFX0FERFIgYWRkciwKICAJCQkJICBDT1JFX0FERFIgbWFzaywgaW50IHJ3KQogIHsKQEAg LTcwNjYsNyArNzAyMiw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgICBzdHJ1 Y3QgcHBjX2h3X2JyZWFrcG9pbnQgcDsKICAKICAgIGdkYl9hc3NlcnQgKGhhdmVfcHRyYWNlX2Jv b2tlX2ludGVyZmFjZSAoKSk7Ci1AQCAtMTc1OSw4ICsxNzc0LDcgQEAgcHBjX2xpbnV4X2luc2Vy dF9tYXNrX3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMsIENPUkVfQUREUiBhZGRy LAorQEAgLTE3NTgsOCArMTc3Myw3IEBAIHBwY19saW51eF9pbnNlcnRfbWFza193YXRjaHBvaW50 IChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzLCBDT1JFX0FERFIgYWRkciwKICAgIHAuYWRkcjIgPSBt YXNrOwogICAgcC5jb25kaXRpb25fdmFsdWUgPSAwOwogIApAQCAtNzA3Niw3ICs3MDMyLDcgQEAg aW5kZXggY2MyOWFkOC4uOTQ5MDBjOSAxMDA2NDQKICAKICAgIHJldHVybiAwOwogIH0KLUBAIC0x Nzc0LDcgKzE3ODgsNiBAQCBzdGF0aWMgaW50CitAQCAtMTc3Myw3ICsxNzg3LDYgQEAgc3RhdGlj IGludAogIHBwY19saW51eF9yZW1vdmVfbWFza193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29w cyAqb3BzLCBDT1JFX0FERFIgYWRkciwKICAJCQkJICBDT1JFX0FERFIgbWFzaywgaW50IHJ3KQog IHsKQEAgLTcwODQsNyArNzA0MCw3IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAg ICBzdHJ1Y3QgcHBjX2h3X2JyZWFrcG9pbnQgcDsKICAKICAgIGdkYl9hc3NlcnQgKGhhdmVfcHRy YWNlX2Jvb2tlX2ludGVyZmFjZSAoKSk7Ci1AQCAtMTc4Nyw4ICsxODAwLDcgQEAgcHBjX2xpbnV4 X3JlbW92ZV9tYXNrX3dhdGNocG9pbnQgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMsIENPUkVfQURE UiBhZGRyLAorQEAgLTE3ODYsOCArMTc5OSw3IEBAIHBwY19saW51eF9yZW1vdmVfbWFza193YXRj aHBvaW50IChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzLCBDT1JFX0FERFIgYWRkciwKICAgIHAuYWRk cjIgPSBtYXNrOwogICAgcC5jb25kaXRpb25fdmFsdWUgPSAwOwogIApAQCAtNzA5NCw3ICs3MDUw LDcgQEAgaW5kZXggY2MyOWFkOC4uOTQ5MDBjOSAxMDA2NDQKICAKICAgIHJldHVybiAwOwogIH0K LUBAIC0xNzk4LDEwICsxODEwLDE2IEBAIHN0YXRpYyBpbnQKK0BAIC0xNzk3LDEwICsxODA5LDE2 IEBAIHN0YXRpYyBpbnQKICBjYW5fdXNlX3dhdGNocG9pbnRfY29uZF9hY2NlbCAodm9pZCkKICB7 CiAgICBzdHJ1Y3QgdGhyZWFkX3BvaW50cyAqcDsKQEAgLTcxMTIsNyArNzA2OCw3IEBAIGluZGV4 IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgICBpZiAoIWhhdmVfcHRyYWNlX2Jvb2tlX2ludGVy ZmFjZSAoKSB8fCBjbnQgPT0gMCkKICAgICAgcmV0dXJuIDA7CiAgCi1AQCAtMjAwMCw2ICsyMDE4 LDIyIEBAIHBwY19saW51eF9jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQURE UiBhZGRyLCBpbnQgbGVuLCBpbnQgcncsCitAQCAtMTk5OSw2ICsyMDE3LDIyIEBAIHBwY19saW51 eF9jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhZGRyLCBpbnQgbGVu LCBpbnQgcncsCiAgCSAgJiYgY2hlY2tfY29uZGl0aW9uIChhZGRyLCBjb25kLCAmZGF0YV92YWx1 ZSwgJmxlbikpOwogIH0KICAKQEAgLTcxMzUsNyArNzA5MSw3IEBAIGluZGV4IGNjMjlhZDguLjk0 OTAwYzkgMTAwNjQ0CiAgLyogU2V0IHVwIFAgd2l0aCB0aGUgcGFyYW1ldGVycyBuZWNlc3Nhcnkg dG8gcmVxdWVzdCBhIHdhdGNocG9pbnQgY292ZXJpbmcKICAgICBMRU4gYnl0ZXMgc3RhcnRpbmcg YXQgQUREUiBhbmQgaWYgcG9zc2libGUgd2l0aCBjb25kaXRpb24gZXhwcmVzc2lvbiBDT05ECiAg ICAgZXZhbHVhdGVkIGJ5IGhhcmR3YXJlLiAgSU5TRVJUIHRlbGxzIGlmIHdlIGFyZSBjcmVhdGlu ZyBhIHJlcXVlc3QgZm9yCi1AQCAtMjA1NSw3ICsyMDg5LDYgQEAgc3RhdGljIGludAorQEAgLTIw NTQsNyArMjA4OCw2IEBAIHN0YXRpYyBpbnQKICBwcGNfbGludXhfaW5zZXJ0X3dhdGNocG9pbnQg KENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgcncsCiAgCQkJICAgICBzdHJ1Y3QgZXhwcmVz c2lvbiAqY29uZCkKICB7CkBAIC03MTQzLDcgKzcwOTksNyBAQCBpbmRleCBjYzI5YWQ4Li45NDkw MGM5IDEwMDY0NAogICAgaW50IHJldCA9IC0xOwogIAogICAgaWYgKGhhdmVfcHRyYWNlX2Jvb2tl X2ludGVyZmFjZSAoKSkKLUBAIC0yMDY0LDggKzIwOTcsNyBAQCBwcGNfbGludXhfaW5zZXJ0X3dh dGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgcncsCitAQCAtMjA2Myw4ICsy MDk2LDcgQEAgcHBjX2xpbnV4X2luc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50 IGxlbiwgaW50IHJ3LAogIAogICAgICAgIGNyZWF0ZV93YXRjaHBvaW50X3JlcXVlc3QgKCZwLCBh ZGRyLCBsZW4sIHJ3LCBjb25kLCAxKTsKICAKQEAgLTcxNTMsNyArNzEwOSw3IEBAIGluZGV4IGNj MjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgCiAgICAgICAgcmV0ID0gMDsKICAgICAgfQotQEAgLTIx MDgsMTIgKzIxNDAsOCBAQCBwcGNfbGludXhfaW5zZXJ0X3dhdGNocG9pbnQgKENPUkVfQUREUiBh ZGRyLCBpbnQgbGVuLCBpbnQgcncsCitAQCAtMjEwNywxMiArMjEzOSw4IEBAIHBwY19saW51eF9p bnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4sIGludCBydywKICAKICAg ICAgICBzYXZlZF9kYWJyX3ZhbHVlID0gZGFicl92YWx1ZTsKICAKQEAgLTcxNjcsNyArNzEyMyw3 IEBAIGluZGV4IGNjMjlhZDguLjk0OTAwYzkgMTAwNjQ0CiAgICAgIH0KICAKICAgIHJldHVybiBy ZXQ7Ci1AQCAtMjEyMyw3ICsyMTUxLDYgQEAgc3RhdGljIGludAorQEAgLTIxMjIsNyArMjE1MCw2 IEBAIHN0YXRpYyBpbnQKICBwcGNfbGludXhfcmVtb3ZlX3dhdGNocG9pbnQgKENPUkVfQUREUiBh ZGRyLCBpbnQgbGVuLCBpbnQgcncsCiAgCQkJICAgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkK ICB7CkBAIC03MTc1LDcgKzcxMzEsNyBAQCBpbmRleCBjYzI5YWQ4Li45NDkwMGM5IDEwMDY0NAog ICAgaW50IHJldCA9IC0xOwogIAogICAgaWYgKGhhdmVfcHRyYWNlX2Jvb2tlX2ludGVyZmFjZSAo KSkKLUBAIC0yMTMyLDIwICsyMTU5LDE2IEBAIHBwY19saW51eF9yZW1vdmVfd2F0Y2hwb2ludCAo Q09SRV9BRERSIGFkZHIsIGludCBsZW4sIGludCBydywKK0BAIC0yMTMxLDIwICsyMTU4LDE2IEBA IHBwY19saW51eF9yZW1vdmVfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4sIGlu dCBydywKICAKICAgICAgICBjcmVhdGVfd2F0Y2hwb2ludF9yZXF1ZXN0ICgmcCwgYWRkciwgbGVu LCBydywgY29uZCwgMCk7CiAgCkBAIC03MTk4LDcgKzcxNTQsNyBAQCBpbmRleCBjYzI5YWQ4Li45 NDkwMGM5IDEwMDY0NAogICAgICB9CiAgCiAgICByZXR1cm4gcmV0OwotQEAgLTIxNzIsNyArMjE5 NSw3IEBAIHBwY19saW51eF9uZXdfdGhyZWFkIChzdHJ1Y3QgbHdwX2luZm8gKmxwKQorQEAgLTIx NzEsNyArMjE5NCw3IEBAIHBwY19saW51eF9uZXdfdGhyZWFkIChzdHJ1Y3QgbHdwX2luZm8gKmxw KQogICAgICAgIC8qIENvcHkgdGhhdCB0aHJlYWQncyBicmVha3BvaW50cyBhbmQgd2F0Y2hwb2lu dHMgdG8gdGhlIG5ldyB0aHJlYWQuICAqLwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBtYXhfc2xv dHNfbnVtYmVyOyBpKyspCiAgCWlmIChod19icmVha3NbaV0uaHdfYnJlYWspCkBAIC03MjA3LDcg KzcxNjMsNyBAQCBpbmRleCBjYzI5YWQ4Li45NDkwMGM5IDEwMDY0NAogICAgICB9CiAgICBlbHNl CiAgICAgIHB0cmFjZSAoUFRSQUNFX1NFVF9ERUJVR1JFRywgdGlkLCAwLCBzYXZlZF9kYWJyX3Zh bHVlKTsKLUBAIC0yMjMwLDcgKzIyNTMsMTQgQEAgcHBjX2xpbnV4X3N0b3BwZWRfZGF0YV9hZGRy ZXNzIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LCBDT1JFX0FERFIgKmFkZHJfcCkKK0BAIC0y MjI5LDcgKzIyNTIsMTQgQEAgcHBjX2xpbnV4X3N0b3BwZWRfZGF0YV9hZGRyZXNzIChzdHJ1Y3Qg dGFyZ2V0X29wcyAqdGFyZ2V0LCBDT1JFX0FERFIgKmFkZHJfcCkKICAgICAgICAvKiBUaGUgaW5k ZXggKG9yIHNsb3QpIG9mIHRoZSAqcG9pbnQgaXMgcGFzc2VkIGluIHRoZSBzaV9lcnJubyBmaWVs ZC4gICovCiAgICAgICAgaW50IHNsb3QgPSBzaWdpbmZvX3AtPnNpX2Vycm5vOwogIApAQCAtNzIy NCwxMCArNzE4MCwxMCBAQCBpbmRleCBjYzI5YWQ4Li45NDkwMGM5IDEwMDY0NAogICAgICAgIC8q IEZpbmQgb3V0IGlmIHRoaXMgKnBvaW50IGlzIGEgaGFyZHdhcmUgYnJlYWtwb2ludC4KICAJIElm IHNvLCB3ZSBzaG91bGQgcmV0dXJuIDAuICAqLwogZGlmZiAtLWdpdCBhL2dkYi9wcGMtbGludXgt dGRlcC5jIGIvZ2RiL3BwYy1saW51eC10ZGVwLmMKLWluZGV4IDA3ZGQ5OTAuLjFlOGU2ZDYgMTAw NjQ0CitpbmRleCBiNjQ3MGZlLi5mODcxMzA5IDEwMDY0NAogLS0tIGEvZ2RiL3BwYy1saW51eC10 ZGVwLmMKICsrKyBiL2dkYi9wcGMtbGludXgtdGRlcC5jCi1AQCAtNjYsNiArNjYsMTQgQEAKK0BA IC02NSw2ICs2NSwxNCBAQAogICNpbmNsdWRlICJmZWF0dXJlcy9yczYwMDAvcG93ZXJwYy1pc2Ey MDUtdnN4NjRsLmMiCiAgI2luY2x1ZGUgImZlYXR1cmVzL3JzNjAwMC9wb3dlcnBjLWU1MDBsLmMi CiAgCkBAIC03MjQyLDcgKzcxOTgsNyBAQCBpbmRleCAwN2RkOTkwLi4xZThlNmQ2IDEwMDY0NAog IC8qIFRoZSBzeXNjYWxsJ3MgWE1MIGZpbGVuYW1lIGZvciBQUEMgYW5kIFBQQzY0LiAgKi8KICAj ZGVmaW5lIFhNTF9TWVNDQUxMX0ZJTEVOQU1FX1BQQyAic3lzY2FsbHMvcHBjLWxpbnV4LnhtbCIK ICAjZGVmaW5lIFhNTF9TWVNDQUxMX0ZJTEVOQU1FX1BQQzY0ICJzeXNjYWxscy9wcGM2NC1saW51 eC54bWwiCi1AQCAtMTE5Myw2ICsxMjAxLDY1IEBAIHBwY19saW51eF9jb3JlX3JlYWRfZGVzY3Jp cHRpb24gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTExOTIsNiArMTIwMCw2NSBAQCBw cGNfbGludXhfY29yZV9yZWFkX2Rlc2NyaXB0aW9uIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwK ICAgICAgfQogIH0KICAKQEAgLTczMDgsNyArNzI2NCw3IEBAIGluZGV4IDA3ZGQ5OTAuLjFlOGU2 ZDYgMTAwNjQ0CiAgCiAgLyogQ2VsbC9CLkUuIGFjdGl2ZSBTUEUgY29udGV4dCB0cmFja2luZyBz dXBwb3J0LiAgKi8KICAKLUBAIC0xNTEwLDYgKzE1NzcsMTUgQEAgcHBjX2xpbnV4X2luaXRfYWJp IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGluZm8sCitAQCAtMTUwOSw2ICsxNTc2LDE1IEBAIHBwY19s aW51eF9pbml0X2FiaSAoc3RydWN0IGdkYmFyY2hfaW5mbyBpbmZvLAogICAgLyogR2V0IHRoZSBz eXNjYWxsIG51bWJlciBmcm9tIHRoZSBhcmNoJ3MgcmVnaXN0ZXIuICAqLwogICAgc2V0X2dkYmFy Y2hfZ2V0X3N5c2NhbGxfbnVtYmVyIChnZGJhcmNoLCBwcGNfbGludXhfZ2V0X3N5c2NhbGxfbnVt YmVyKTsKICAKQEAgLTczMjUsMTAgKzcyODEsMTAgQEAgaW5kZXggMDdkZDk5MC4uMWU4ZTZkNiAx MDA2NDQKICAgICAgewogICAgICAgIC8qIFVudGlsIE5vdmVtYmVyIDIwMDEsIGdjYyBkaWQgbm90 IGNvbXBseSB3aXRoIHRoZSAzMiBiaXQgU3lzVgogZGlmZiAtLWdpdCBhL2dkYi9wcmludGNtZC5j IGIvZ2RiL3ByaW50Y21kLmMKLWluZGV4IDVhNTIyZjQuLjM2YjkzMmQgMTAwNjQ0CitpbmRleCBi ZWU4YTg1Li4wMGYzMzJkIDEwMDY0NAogLS0tIGEvZ2RiL3ByaW50Y21kLmMKICsrKyBiL2dkYi9w cmludGNtZC5jCi1AQCAtNTEsNiArNTEsNyBAQAorQEAgLTQ5LDYgKzQ5LDcgQEAKICAjaW5jbHVk ZSAiY2hhcnNldC5oIgogICNpbmNsdWRlICJhcmNoLXV0aWxzLmgiCiAgI2luY2x1ZGUgImNsaS9j bGktdXRpbHMuaCIKQEAgLTczMzYsNyArNzI5Miw3IEBAIGluZGV4IDVhNTIyZjQuLjM2YjkzMmQg MTAwNjQ0CiAgCiAgI2lmZGVmIFRVSQogICNpbmNsdWRlICJ0dWkvdHVpLmgiCQkvKiBGb3IgdHVp X2FjdGl2ZSBldCBhbC4gICAqLwotQEAgLTk3Myw2ICs5NzQsMTEgQEAgcHJpbnRfY29tbWFuZF8x IChjaGFyICpleHAsIGludCBpbnNwZWN0LCBpbnQgdm9pZHByaW50KQorQEAgLTk3MSw2ICs5NzIs MTEgQEAgcHJpbnRfY29tbWFuZF8xIChjaGFyICpleHAsIGludCBpbnNwZWN0LCBpbnQgdm9pZHBy aW50KQogICAgZWxzZQogICAgICB2YWwgPSBhY2Nlc3NfdmFsdWVfaGlzdG9yeSAoMCk7CiAgCkBA IC03MzQ4LDcgKzczMDQsNyBAQCBpbmRleCA1YTUyMmY0Li4zNmI5MzJkIDEwMDY0NAogICAgaWYg KHZvaWRwcmludCB8fCAodmFsICYmIHZhbHVlX3R5cGUgKHZhbCkgJiYKICAJCSAgICBUWVBFX0NP REUgKHZhbHVlX3R5cGUgKHZhbCkpICE9IFRZUEVfQ09ERV9WT0lEKSkKICAgICAgewotQEAgLTEw NjEsNiArMTA2Nyw5IEBAIG91dHB1dF9jb21tYW5kIChjaGFyICpleHAsIGludCBmcm9tX3R0eSkK K0BAIC0xMDU5LDYgKzEwNjUsOSBAQCBvdXRwdXRfY29tbWFuZCAoY2hhciAqZXhwLCBpbnQgZnJv bV90dHkpCiAgCiAgICB2YWwgPSBldmFsdWF0ZV9leHByZXNzaW9uIChleHByKTsKICAKQEAgLTcz NTgsNyArNzMxNCw3IEBAIGluZGV4IDVhNTIyZjQuLjM2YjkzMmQgMTAwNjQ0CiAgICBhbm5vdGF0 ZV92YWx1ZV9iZWdpbiAodmFsdWVfdHlwZSAodmFsKSk7CiAgCiAgICBnZXRfZm9ybWF0dGVkX3By aW50X29wdGlvbnMgKCZvcHRzLCBmb3JtYXQpOwotQEAgLTE0NzQsNiArMTQ4MywyNCBAQCB4X2Nv bW1hbmQgKGNoYXIgKmV4cCwgaW50IGZyb21fdHR5KQorQEAgLTE0NzIsNiArMTQ4MSwyNCBAQCB4 X2NvbW1hbmQgKGNoYXIgKmV4cCwgaW50IGZyb21fdHR5KQogIAlzZXRfaW50ZXJuYWx2YXIgKGxv b2t1cF9pbnRlcm5hbHZhciAoIl9fIiksIGxhc3RfZXhhbWluZV92YWx1ZSk7CiAgICAgIH0KICB9 CkBAIC03MzgzLDcgKzczMzksNyBAQCBpbmRleCA1YTUyMmY0Li4zNmI5MzJkIDEwMDY0NAogIAwK ICAKICAvKiBBZGQgYW4gZXhwcmVzc2lvbiB0byB0aGUgYXV0by1kaXNwbGF5IGNoYWluLgotQEAg LTE5NzMsNiArMjAwMCwxMCBAQCBwcmludF92YXJpYWJsZV9hbmRfdmFsdWUgKGNvbnN0IGNoYXIg Km5hbWUsIHN0cnVjdCBzeW1ib2wgKnZhciwKK0BAIC0xOTcxLDYgKzE5OTgsMTAgQEAgcHJpbnRf dmFyaWFibGVfYW5kX3ZhbHVlIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3ltYm9sICp2YXIs CiAgICAgICAgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgb3B0czsKICAKICAgICAgICB2YWwg PSByZWFkX3Zhcl92YWx1ZSAodmFyLCBmcmFtZSk7CkBAIC03Mzk0LDcgKzczNTAsNyBAQCBpbmRl eCA1YTUyMmY0Li4zNmI5MzJkIDEwMDY0NAogICAgICAgIGdldF91c2VyX3ByaW50X29wdGlvbnMg KCZvcHRzKTsKICAgICAgICBvcHRzLmRlcmVmX3JlZiA9IDE7CiAgICAgICAgY29tbW9uX3ZhbF9w cmludCAodmFsLCBzdHJlYW0sIGluZGVudCwgJm9wdHMsIGN1cnJlbnRfbGFuZ3VhZ2UpOwotQEAg LTI4ODYsNCArMjkxNyw4IEBAIFNob3cgcHJpbnRpbmcgb2Ygc291cmNlIGZpbGVuYW1lIGFuZCBs aW5lIG51bWJlciB3aXRoIDxzeW1ib2w+LiIpLCBOVUxMLAorQEAgLTI4ODQsNCArMjkxNSw4IEBA IFNob3cgcHJpbnRpbmcgb2Ygc291cmNlIGZpbGVuYW1lIGFuZCBsaW5lIG51bWJlciB3aXRoIDxz eW1ib2w+LiIpLCBOVUxMLAogICAgYWRkX2NvbSAoImV2YWwiLCBub19jbGFzcywgZXZhbF9jb21t YW5kLCBfKCJcCiAgQ29udmVydCBcInByaW50ZiBmb3JtYXQgc3RyaW5nXCIsIGFyZzEsIGFyZzIs IGFyZzMsIC4uLiwgYXJnbiB0b1xuXAogIGEgY29tbWFuZCBsaW5lLCBhbmQgY2FsbCBpdC4iKSk7 CkBAIC04MTY3LDcgKzgxMjMsNyBAQCBpbmRleCAwMDAwMDAwLi5kZWJiM2JiCiArCiArSW5TY29w ZSAoKQogZGlmZiAtLWdpdCBhL2dkYi9weXRob24vcHktdHlwZS5jIGIvZ2RiL3B5dGhvbi9weS10 eXBlLmMKLWluZGV4IDUwZjliNzIuLjc1NGQ0NTEgMTAwNjQ0CitpbmRleCBkYWRiMDM3Li44NjRk YTk5IDEwMDY0NAogLS0tIGEvZ2RiL3B5dGhvbi9weS10eXBlLmMKICsrKyBiL2dkYi9weXRob24v cHktdHlwZS5jCiBAQCAtMzAsNiArMzAsOCBAQApAQCAtODM2NCw3ICs4MzIwLDcgQEAgaW5kZXgg NTBmOWI3Mi4uNzU0ZDQ1MSAxMDA2NDQKICAKICAMCiBkaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9w eS12YWx1ZS5jIGIvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCi1pbmRleCAwNGUzNTVhLi5hN2Q1OTJh IDEwMDY0NAoraW5kZXggNzYwMzYwZS4uZDkzNWY1NCAxMDA2NDQKIC0tLSBhL2dkYi9weXRob24v cHktdmFsdWUuYwogKysrIGIvZ2RiL3B5dGhvbi9weS12YWx1ZS5jCiBAQCAtMjgsNiArMjgsNyBA QApAQCAtODM3NSw3ICs4MzMxLDcgQEAgaW5kZXggMDRlMzU1YS4uYTdkNTkyYSAxMDA2NDQKICAK ICAjaWZkZWYgSEFWRV9QWVRIT04KICAKLUBAIC0xMjgxLDYgKzEyODIsMTkgQEAgZ2RicHlfaXNf dmFsdWVfb2JqZWN0IChQeU9iamVjdCAqb2JqKQorQEAgLTEzMzUsNiArMTMzNiwxOSBAQCBnZGJw eV9pc192YWx1ZV9vYmplY3QgKFB5T2JqZWN0ICpvYmopCiAgICByZXR1cm4gUHlPYmplY3RfVHlw ZUNoZWNrIChvYmosICZ2YWx1ZV9vYmplY3RfdHlwZSk7CiAgfQogIApAQCAtODM5NSw3ICs4MzUx LDcgQEAgaW5kZXggMDRlMzU1YS4uYTdkNTkyYSAxMDA2NDQKICB2b2lkCiAgZ2RicHlfaW5pdGlh bGl6ZV92YWx1ZXMgKHZvaWQpCiAgewotQEAgLTEyOTEsNiArMTMwNSwxMCBAQCBnZGJweV9pbml0 aWFsaXplX3ZhbHVlcyAodm9pZCkKK0BAIC0xMzQ1LDYgKzEzNTksMTAgQEAgZ2RicHlfaW5pdGlh bGl6ZV92YWx1ZXMgKHZvaWQpCiAgICBQeU1vZHVsZV9BZGRPYmplY3QgKGdkYl9tb2R1bGUsICJW YWx1ZSIsIChQeU9iamVjdCAqKSAmdmFsdWVfb2JqZWN0X3R5cGUpOwogIAogICAgdmFsdWVzX2lu X3B5dGhvbiA9IE5VTEw7CkBAIC04NDA3LDcgKzgzNjMsNyBAQCBpbmRleCAwNGUzNTVhLi5hN2Q1 OTJhIDEwMDY0NAogIAogIAwKIGRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5dGhvbi5jIGIvZ2Ri L3B5dGhvbi9weXRob24uYwotaW5kZXggMTNhYzE1ZS4uMGRiNDFlZSAxMDA2NDQKK2luZGV4IDVh MGQ3NzYuLmFmMDFkZmQgMTAwNjQ0CiAtLS0gYS9nZGIvcHl0aG9uL3B5dGhvbi5jCiArKysgYi9n ZGIvcHl0aG9uL3B5dGhvbi5jCiBAQCAtNjYsMTAgKzY2LDEzIEBAIHN0YXRpYyBjb25zdCBjaGFy ICpnZGJweV9zaG91bGRfcHJpbnRfc3RhY2sgPSBweXRob25fZXhjcF9tZXNzYWdlOwpAQCAtODQ3 OCw3ICs4NDM0LDcgQEAgaW5kZXggMTNhYzE1ZS4uMGRiNDFlZSAxMDA2NDQKICAKICBzdGF0aWMg UHlPYmplY3QgKgogIGdkYnB5X2dldF9jdXJyZW50X3Byb2dzcGFjZSAoUHlPYmplY3QgKnVudXNl ZDEsIFB5T2JqZWN0ICp1bnVzZWQyKQotQEAgLTEzODMsNiArMTQzMyw4IEBAIHN0YXRpYyBQeU1l dGhvZERlZiBHZGJNZXRob2RzW10gPQorQEAgLTEzODYsNiArMTQzNiw4IEBAIHN0YXRpYyBQeU1l dGhvZERlZiBHZGJNZXRob2RzW10gPQogICAgICAiR2V0IGEgdmFsdWUgZnJvbSBoaXN0b3J5IiB9 LAogICAgeyAiZXhlY3V0ZSIsIChQeUNGdW5jdGlvbikgZXhlY3V0ZV9nZGJfY29tbWFuZCwgTUVU SF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKICAgICAgIkV4ZWN1dGUgYSBnZGIgY29tbWFuZCIg fSwKQEAgLTg0ODgsNyArODQ0NCw3IEBAIGluZGV4IDEzYWMxNWUuLjBkYjQxZWUgMTAwNjQ0CiAg ICAgICJSZXR1cm4gYSBnZGIgcGFyYW1ldGVyJ3MgdmFsdWUiIH0sCiAgCiBkaWZmIC0tZ2l0IGEv Z2RiL3B5dGhvbi9weXRob24uaCBiL2dkYi9weXRob24vcHl0aG9uLmgKLWluZGV4IGFlNTVjYzIu Ljg4MDg4NjYgMTAwNjQ0CitpbmRleCA5ZTQ2MWY3Li41N2IyMWRhIDEwMDY0NAogLS0tIGEvZ2Ri L3B5dGhvbi9weXRob24uaAogKysrIGIvZ2RiL3B5dGhvbi9weXRob24uaAogQEAgLTMyLDYgKzMy LDggQEAgdm9pZCBldmFsX3B5dGhvbl9mcm9tX2NvbnRyb2xfY29tbWFuZCAoc3RydWN0IGNvbW1h bmRfbGluZSAqKTsKQEAgLTg1MDEsMTAgKzg0NTcsMTAgQEAgaW5kZXggYWU1NWNjMi4uODgwODg2 NiAxMDA2NDQKICAJCQkgICAgICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVz cywKICAJCQkgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKIGRpZmYg LS1naXQgYS9nZGIvcmVtb3RlLmMgYi9nZGIvcmVtb3RlLmMKLWluZGV4IDliZmViZDIuLjQ0YWVh YWUgMTAwNjQ0CitpbmRleCBmMzQ4NTM2Li5lMjBmNmJmIDEwMDY0NAogLS0tIGEvZ2RiL3JlbW90 ZS5jCiArKysgYi9nZGIvcmVtb3RlLmMKLUBAIC05ODg2LDcgKzk4ODYsNyBAQCByZW1vdGVfZG93 bmxvYWRfdHJhY2Vwb2ludCAoc3RydWN0IGJwX2xvY2F0aW9uICpsb2MpCitAQCAtOTk0OCw3ICs5 OTQ4LDcgQEAgcmVtb3RlX2Rvd25sb2FkX3RyYWNlcG9pbnQgKHN0cnVjdCBicF9sb2NhdGlvbiAq bG9jKQogICAgY2hhciAqKnN0ZXBwaW5nX2FjdGlvbnM7CiAgICBpbnQgbmR4OwogICAgc3RydWN0 IGNsZWFudXAgKm9sZF9jaGFpbiA9IE5VTEw7CkBAIC04NTE0LDcgKzg0NzAsNyBAQCBpbmRleCA5 YmZlYmQyLi40NGFlYWFlIDEwMDY0NAogICAgY2hhciAqcGt0OwogICAgc3RydWN0IGJyZWFrcG9p bnQgKmIgPSBsb2MtPm93bmVyOwogZGlmZiAtLWdpdCBhL2dkYi9zMzkwLW5hdC5jIGIvZ2RiL3Mz OTAtbmF0LmMKLWluZGV4IDYzODE2NzUuLjBjMmVhMjQgMTAwNjQ0CitpbmRleCAyNzU1ZTU4Li44 ZGYzZmQxIDEwMDY0NAogLS0tIGEvZ2RiL3MzOTAtbmF0LmMKICsrKyBiL2dkYi9zMzkwLW5hdC5j CiBAQCAtNTE1LDYgKzUxNSwxNyBAQCBzMzkwX2ZpeF93YXRjaF9wb2ludHMgKHN0cnVjdCBsd3Bf aW5mbyAqbHApCkBAIC04NTU4LDEwICs4NTE0LDEwIEBAIGluZGV4IDYzODE2NzUuLjBjMmVhMjQg MTAwNjQ0CiAgfQogIAogZGlmZiAtLWdpdCBhL2dkYi9zMzkwLXRkZXAuYyBiL2dkYi9zMzkwLXRk ZXAuYwotaW5kZXggY2QwZWY5Yy4uODU4MzA1MSAxMDA2NDQKK2luZGV4IGFjMGM1MjYuLmRkMGU0 NzcgMTAwNjQ0CiAtLS0gYS9nZGIvczM5MC10ZGVwLmMKICsrKyBiL2dkYi9zMzkwLXRkZXAuYwot QEAgLTU2LDYgKzU2LDEyIEBACitAQCAtNTUsNiArNTUsMTIgQEAKICAjaW5jbHVkZSAiZmVhdHVy ZXMvczM5MHgtbGludXg2NHYxLmMiCiAgI2luY2x1ZGUgImZlYXR1cmVzL3MzOTB4LWxpbnV4NjR2 Mi5jIgogIApAQCAtODU3NCw3ICs4NTMwLDcgQEAgaW5kZXggY2QwZWY5Yy4uODU4MzA1MSAxMDA2 NDQKICAKICAvKiBUaGUgdGRlcCBzdHJ1Y3R1cmUuICAqLwogIAotQEAgLTI5NTQsNiArMjk2MCwx NSBAQCBzMzkwX2FkZHJlc3NfY2xhc3NfbmFtZV90b190eXBlX2ZsYWdzIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwKK0BAIC0yOTUzLDYgKzI5NTksMTUgQEAgczM5MF9hZGRyZXNzX2NsYXNzX25h bWVfdG9fdHlwZV9mbGFncyAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgICAgIHJldHVybiAw OwogIH0KICAKQEAgLTg1OTAsNyArODU0Niw3IEBAIGluZGV4IGNkMGVmOWMuLjg1ODMwNTEgMTAw NjQ0CiAgLyogU2V0IHVwIGdkYmFyY2ggc3RydWN0LiAgKi8KICAKICBzdGF0aWMgc3RydWN0IGdk YmFyY2ggKgotQEAgLTMyODQsNiArMzI5OSwxMiBAQCBzMzkwX2dkYmFyY2hfaW5pdCAoc3RydWN0 IGdkYmFyY2hfaW5mbyBpbmZvLCBzdHJ1Y3QgZ2RiYXJjaF9saXN0ICphcmNoZXMpCitAQCAtMzI4 Myw2ICszMjk4LDEyIEBAIHMzOTBfZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmZvIGlu Zm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFyY2hlcykKICAKICAgIHNldF9nZGJhcmNoX2dldF9z aWdpbmZvX3R5cGUgKGdkYmFyY2gsIGxpbnV4X2dldF9zaWdpbmZvX3R5cGUpOwogIApAQCAtODYw NCw3ICs4NTYwLDcgQEAgaW5kZXggY2QwZWY5Yy4uODU4MzA1MSAxMDA2NDQKICB9CiAgCiBkaWZm IC0tZ2l0IGEvZ2RiL3NvbXJlYWQuYyBiL2dkYi9zb21yZWFkLmMKLWluZGV4IDcwZmMzYTMuLmU1 YzhjOWYgMTAwNjQ0CitpbmRleCBlNjIxY2JhLi4xOWExNWUyIDEwMDY0NAogLS0tIGEvZ2RiL3Nv bXJlYWQuYwogKysrIGIvZ2RiL3NvbXJlYWQuYwogQEAgLTQyNyw2ICs0MjcsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IHN5bV9mbnMgc29tX3N5bV9mbnMgPQpAQCAtODYxNiwxMCArODU3MiwxMCBA QCBpbmRleCA3MGZjM2EzLi5lNWM4YzlmIDEwMDY0NAogIH07CiAgCiBkaWZmIC0tZ2l0IGEvZ2Ri L3N0YWNrLmMgYi9nZGIvc3RhY2suYwotaW5kZXggYzVjNTRkYi4uOWZjM2I3NCAxMDA2NDQKK2lu ZGV4IGIxNWI1ZmMuLmIyZGFkMjkgMTAwNjQ0CiAtLS0gYS9nZGIvc3RhY2suYwogKysrIGIvZ2Ri L3N0YWNrLmMKLUBAIC01MTEsNiArNTExLDEwIEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBz eW1ib2wgKmZ1bmMsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKK0BAIC01MDksNiArNTA5LDEw IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1ib2wgKmZ1bmMsIHN0cnVjdCBmcmFtZV9p bmZvICpmcmFtZSwKICAgIHN0YiA9IHVpX291dF9zdHJlYW1fbmV3ICh1aW91dCk7CiAgICBvbGRf Y2hhaW4gPSBtYWtlX2NsZWFudXBfdWlfb3V0X3N0cmVhbV9kZWxldGUgKHN0Yik7CiAgCkBAIC0x MDQ1OSwxMCArMTA0MTUsMTAgQEAgaW5kZXggMDAwMDAwMC4uOWI2ZGM3YQogKwogKyNlbmRpZiAv KiAhZGVmaW5lZCAoU1RBUF9QUk9CRV9IKSAqLwogZGlmZiAtLWdpdCBhL2dkYi9zeW1maWxlLmgg Yi9nZGIvc3ltZmlsZS5oCi1pbmRleCA5MTYwNWEyLi5jNWI0OTA2IDEwMDY0NAoraW5kZXggNmI2 NjRjZC4uNmNhNzk3ZCAxMDA2NDQKIC0tLSBhL2dkYi9zeW1maWxlLmgKICsrKyBiL2dkYi9zeW1m aWxlLmgKLUBAIC0zMSw2ICszMSwxMSBAQCBzdHJ1Y3Qgb2JqZmlsZTsKK0BAIC0yOSw2ICsyOSwx MSBAQCBzdHJ1Y3Qgb2JqZmlsZTsKICBzdHJ1Y3Qgb2JqX3NlY3Rpb247CiAgc3RydWN0IG9ic3Rh Y2s7CiAgc3RydWN0IGJsb2NrOwpAQCAtMTA0NzQsNyArMTA0MzAsNyBAQCBpbmRleCA5MTYwNWEy Li5jNWI0OTA2IDEwMDY0NAogIAogIC8qIENvbXBhcmlzb24gZnVuY3Rpb24gZm9yIHN5bWJvbCBs b29rIHVwcy4gICovCiAgCi1AQCAtMzAxLDYgKzMwNiw1MiBAQCBzdHJ1Y3QgcXVpY2tfc3ltYm9s X2Z1bmN0aW9ucworQEAgLTI5OSw2ICszMDQsNTIgQEAgc3RydWN0IHF1aWNrX3N5bWJvbF9mdW5j dGlvbnMKICAJCQkJaW50IG5lZWRfZnVsbG5hbWUpOwogIH07CiAgCkBAIC0xMDUyNyw3ICsxMDQ4 Myw3IEBAIGluZGV4IDkxNjA1YTIuLmM1YjQ5MDYgMTAwNjQ0CiAgLyogU3RydWN0dXJlIHRvIGtl ZXAgdHJhY2sgb2Ygc3ltYm9sIHJlYWRpbmcgZnVuY3Rpb25zIGZvciB2YXJpb3VzCiAgICAgb2Jq ZWN0IGZpbGUgdHlwZXMuICAqLwogIAotQEAgLTM3MSw2ICs0MjIsMTAgQEAgc3RydWN0IHN5bV9m bnMKK0BAIC0zNjksNiArNDIwLDEwIEBAIHN0cnVjdCBzeW1fZm5zCiAgCiAgICBiZmRfYnl0ZSAq KCpzeW1fcmVsb2NhdGUpIChzdHJ1Y3Qgb2JqZmlsZSAqLCBhc2VjdGlvbiAqc2VjdHAsIGJmZF9i eXRlICpidWYpOwogIApAQCAtMTA1MzksMTAgKzEwNDk1LDEwIEBAIGluZGV4IDkxNjA1YTIuLmM1 YjQ5MDYgMTAwNjQ0CiAgICAgICByZWFkZXIuICAqLwogICAgY29uc3Qgc3RydWN0IHF1aWNrX3N5 bWJvbF9mdW5jdGlvbnMgKnFmOwogZGlmZiAtLWdpdCBhL2dkYi9zeW10YWIuYyBiL2dkYi9zeW10 YWIuYwotaW5kZXggMWVhNDI1My4uZWE4M2Y3OCAxMDA2NDQKK2luZGV4IDE3NDZkNjkuLjJhYmMx N2YgMTAwNjQ0CiAtLS0gYS9nZGIvc3ltdGFiLmMKICsrKyBiL2dkYi9zeW10YWIuYwotQEAgLTgz NCw2ICs4MzQsNyBAQCBpbml0X3NhbCAoc3RydWN0IHN5bXRhYl9hbmRfbGluZSAqc2FsKQorQEAg LTg2OSw2ICs4NjksNyBAQCBpbml0X3NhbCAoc3RydWN0IHN5bXRhYl9hbmRfbGluZSAqc2FsKQog ICAgc2FsLT5lbmQgPSAwOwogICAgc2FsLT5leHBsaWNpdF9wYyA9IDA7CiAgICBzYWwtPmV4cGxp Y2l0X2xpbmUgPSAwOwpAQCAtMTA1NTEsMTAgKzEwNTA3LDEwIEBAIGluZGV4IDFlYTQyNTMuLmVh ODNmNzggMTAwNjQ0CiAgDAogIAogZGlmZiAtLWdpdCBhL2dkYi9zeW10YWIuaCBiL2dkYi9zeW10 YWIuaAotaW5kZXggYmJjN2YyYi4uOGU0MTUzOSAxMDA2NDQKK2luZGV4IDQ4MzZkZDYuLjY2OGEy MmIgMTAwNjQ0CiAtLS0gYS9nZGIvc3ltdGFiLmgKICsrKyBiL2dkYi9zeW10YWIuaAotQEAgLTEw NTcsNiArMTA1NywxMCBAQCBzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lCitAQCAtMTA1Niw2ICsxMDU2 LDEwIEBAIHN0cnVjdCBzeW10YWJfYW5kX2xpbmUKICAgIENPUkVfQUREUiBlbmQ7CiAgICBpbnQg ZXhwbGljaXRfcGM7CiAgICBpbnQgZXhwbGljaXRfbGluZTsKQEAgLTEwNTY2LDEwICsxMDUyMiwx MCBAQCBpbmRleCBiYmM3ZjJiLi44ZTQxNTM5IDEwMDY0NAogIAogIGV4dGVybiB2b2lkIGluaXRf c2FsIChzdHJ1Y3Qgc3ltdGFiX2FuZF9saW5lICpzYWwpOwogZGlmZiAtLWdpdCBhL2dkYi90ZXN0 c3VpdGUvZ2RiLmFkYS9wYWNrZWRfYXJyYXkuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYWRhL3Bh Y2tlZF9hcnJheS5leHAKLWluZGV4IGVmN2M4YjQuLmQ0NjcyNjUgMTAwNjQ0CitpbmRleCA2Nzg2 MzljLi40N2EyMjAyIDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYWRhL3BhY2tlZF9h cnJheS5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmFkYS9wYWNrZWRfYXJyYXkuZXhwCi1A QCAtNjQsNSArNjQsMTEgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUgIiR0ZXN0IiAiJHRlc3QiIHsKK0BA IC02MCw1ICs2MCwxMSBAQCBnZGJfdGVzdF9tdWx0aXBsZSAiJHRlc3QiICIkdGVzdCIgewogICAg ICAgICAgIyBhcmUuICBPYnNlcnZlZCB3aXRoIChGU0YgR05VIEFkYSA0LjUuMyAyMDExMDEyNCku CiAgICAgICAgICB4ZmFpbCAkdGVzdAogICAgICB9CkBAIC0xMTc0Niw3ICsxMTcwMiw3IEBAIGlu ZGV4IDAwMDAwMDAuLmIwNTQxMWUKICsKICtnZGJfdGVzdCAicHR5cGUgYXJyYXkiICJ0eXBlID0g Y2hhciBcXFxbNzhcXFxdIiAic2Vjb25kOiBwdHlwZSBhcnJheSIKIGRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Fy cmF5aWR4LmMKLWluZGV4IDZjMTU4YmYuLjczOWNlMzQgMTAwNjQ0CitpbmRleCBhOTkxMzdlLi5j M2RjMmQ5IDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5jCiAr KysgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmMKIEBAIC0xNyw2ICsxNywxMyBA QApAQCAtMTE3NjQsMTAgKzExNzIwLDEwIEBAIGluZGV4IDZjMTU4YmYuLjczOWNlMzQgMTAwNjQ0 CiAgbWFpbiAodm9pZCkKICB7CiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9h cnJheWlkeC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAotaW5kZXgg ZDhlZTVjMC4uZGU0YmE3NSAxMDA2NDQKK2luZGV4IGNiYTAwMjQuLjBkYzBlNDYgMTAwNjQ0CiAt LS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2FycmF5aWR4LmV4cAogKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuYmFzZS9hcnJheWlkeC5leHAKLUBAIC01Nyw0ICs1NywxMiBAQCBnZGJfdGVzdCAi cHJpbnQgYXJyYXkiIFwKK0BAIC01Myw0ICs1MywxMiBAQCBnZGJfdGVzdCAicHJpbnQgYXJyYXki IFwKICAgICAgICAgICAiXFx7XFxcWzBcXFxdID0gMSwgXFxcWzFcXFxdID0gMiwgXFxcWzJcXFxd ID0gMywgXFxcWzNcXFxdID0gNFxcfSIgXAogICAgICAgICAgICJQcmludCBhcnJheSB3aXRoIGFy cmF5LWluZGV4ZXMgb24iCiAgCkBAIC0xMTc4MiwxMCArMTE3MzgsMTAgQEAgaW5kZXggZDhlZTVj MC4uZGU0YmE3NSAxMDA2NDQKICsgICAgfQogK30KIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2RlZmF1bHQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9kZWZhdWx0LmV4 cAotaW5kZXggZTIzYWMyMS4uZjk5MjIxZiAxMDA2NDQKK2luZGV4IDk2NzczOTYuLjU1ZDAzYTkg MTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwCiArKysgYi9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwCi1AQCAtNjExLDYgKzYxMSwxOSBAQCBn ZGJfdGVzdF9saXN0X2V4YWN0ICJzaG93IGNvbnZlbmllbmNlIiAic2hvdyBjb252ZW5pZW5jZSIg XAorQEAgLTYxMCw2ICs2MTAsMTkgQEAgZ2RiX3Rlc3RfbGlzdF9leGFjdCAic2hvdyBjb252ZW5p ZW5jZSIgInNob3cgY29udmVuaWVuY2UiIFwKICAJeyRfc2RhdGEgPSB2b2lkfSBcCiAgCXskX3Np Z2luZm8gPSB2b2lkfSBcCiAgCXskX3RocmVhZCA9IDB9IFwKQEAgLTEyNTMyLDEwICsxMjQ4OCwx MCBAQCBpbmRleCAwMDAwMDAwLi41ZGE3Mzc4CiArZ2RiX3Rlc3QgInAgdGVtcDIiICIgPSAnMicg PHJlcGVhdHMgNzggdGltZXM+IiAic2Vjb25kOiBwcmludCB0ZW1wMiIKICtnZGJfdGVzdCAicCB0 ZW1wMyIgIiA9ICczJyA8cmVwZWF0cyA0OCB0aW1lcz4iICJzZWNvbmQ6IHByaW50IHRlbXAzIgog ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmNwL25leHRvdmVydGhyb3cuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuY3AvbmV4dG92ZXJ0aHJvdy5leHAKLWluZGV4IGNjOWZlODYuLjJmMTZh ZjEgMTAwNjQ0CitpbmRleCA3ZDRhMGM1Li4yZGFmY2FiIDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3Rz dWl0ZS9nZGIuY3AvbmV4dG92ZXJ0aHJvdy5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmNw L25leHRvdmVydGhyb3cuZXhwCi1AQCAtNTgsNiArNTgsMTcgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUg InByaW50IF9VbndpbmRfRGVidWdIb29rIiAiY2hlY2sgZm9yIHVud2luZGVyIGhvb2siIHsKK0BA IC01NCw2ICs1NCwxNyBAQCBnZGJfdGVzdF9tdWx0aXBsZSAicHJpbnQgX1Vud2luZF9EZWJ1Z0hv b2siICJjaGVjayBmb3IgdW53aW5kZXIgaG9vayIgewogICAgICB9CiAgfQogIGlmIHshJG9rfSB7 CkBAIC0xMzgxMCwxMCArMTM3NjYsMTAgQEAgaW5kZXggMDAwMDAwMC4uNDc0N2VhOQogKyAgd3Jp dGUgKCosKikgYSAgICAgICAgICAgICAgICAgISBicmVhay1zdGF0aWMKICtlbmQKIGRpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZ2RiL3NlbGZ0ZXN0LmV4cAotaW5kZXggMzBhNzFkZC4uNGJiOGU3ZCAxMDA2NDQKK2luZGV4 IDIxNzk4YmMuLjExMWY2OTIgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2Vs ZnRlc3QuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCi1AQCAt OTIsNiArOTIsMTAgQEAgcHJvYyBkb19zdGVwc19hbmRfbmV4dHMge30geworQEAgLTg4LDYgKzg4 LDEwIEBAIHByb2MgZG9fc3RlcHNfYW5kX25leHRzIHt9IHsKICAJCXNldCBkZXNjcmlwdGlvbiAi c3RlcCBvdmVyIHR0eWFyZyBpbml0aWFsaXphdGlvbiIKICAJCXNldCBjb21tYW5kICJzdGVwIgog IAkgICAgfQpAQCAtMTQzNzQsMTAgKzE0MzMwLDEwIEBAIGluZGV4IDAwMDAwMDAuLjI5NTYwMmQK ICsgIHdyaXRlbG4ocyk7IHsgc2V0IGJyZWFrcG9pbnQgMiBoZXJlIH0KICtlbmQuCiBkaWZmIC0t Z2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLnB5dGhvbi9weS1mcmFtZS5leHAKLWluZGV4IDFjYjU3M2UuLjM2MDVlZTUgMTAwNjQ0 CitpbmRleCA4M2ZmOGZlLi5iZGRiZjlmIDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LWZyYW1lLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZy YW1lLmV4cAotQEAgLTc4LDggKzc4LDYgQEAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCBiZnJhbWUg PT0gZ2RiLm5ld2VzdF9mcmFtZSgpIiBUcnVlIFwKK0BAIC03NCw4ICs3NCw2IEBAIGdkYl90ZXN0 ICJweXRob24gcHJpbnQgYmZyYW1lID09IGdkYi5uZXdlc3RfZnJhbWUoKSIgVHJ1ZSBcCiAgCiAg Z2RiX3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0ID0nLCBmMCA9PSBmMSIgIiA9IEZhbHNlIiAi dGVzdCBlcXVhbGl0eSBjb21wYXJpc29uIChmYWxzZSkiCiAgZ2RiX3Rlc3QgInB5dGhvbiBwcmlu dCAncmVzdWx0ID0nLCBmMCA9PSBmMCIgIiA9IFRydWUiICJ0ZXN0IGVxdWFsaXR5IGNvbXBhcmlz b24gKHRydWUpIgpAQCAtMTQzODYsMTcgKzE0MzQyLDE3IEBAIGluZGV4IDFjYjU3M2UuLjM2MDVl ZTUgMTAwNjQ0CiAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0ID0nLCBmMC5pc192YWxp ZCAoKSIgIiA9IFRydWUiICJ0ZXN0IEZyYW1lLmlzX3ZhbGlkIgogIGdkYl90ZXN0ICJweXRob24g cHJpbnQgJ3Jlc3VsdCA9JywgZjAubmFtZSAoKSIgIiA9IGYyIiAidGVzdCBGcmFtZS5uYW1lIgog IGdkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9JywgZjAudHlwZSAoKSA9PSBnZGIuTk9S TUFMX0ZSQU1FIiAiID0gVHJ1ZSIgInRlc3QgRnJhbWUudHlwZSIKLUBAIC05NCwzICs5Miw1IEBA IGdkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9JywgZjAucmVhZF92YXIgKCd2YXJpYWJs ZV93aGljaF9zdXJlbHlfZG9lc250X2V4CitAQCAtOTAsMyArODgsNSBAQCBnZGJfdGVzdCAicHl0 aG9uIHByaW50ICdyZXN1bHQgPScsIGYwLnJlYWRfdmFyICgndmFyaWFibGVfd2hpY2hfc3VyZWx5 X2RvZXNudF9leAogIGdkYl90ZXN0ICJweXRob24gcHJpbnQgJ3Jlc3VsdCA9JywgZjAucmVhZF92 YXIgKCdhJykiICIgPSAxIiAidGVzdCBGcmFtZS5yZWFkX3ZhciAtIHN1Y2Nlc3MiCiAgCiAgZ2Ri X3Rlc3QgInB5dGhvbiBwcmludCAncmVzdWx0ID0nLCBnZGIuc2VsZWN0ZWRfZnJhbWUgKCkgPT0g ZjEiICIgPSBUcnVlIiAidGVzdCBnZGIuc2VsZWN0ZWRfZnJhbWUiCiArCiArZ2RiX3Rlc3QgInB5 dGhvbiBwcmludCAncmVzdWx0ID0nLCBmMC5ibG9jayAoKSIgIjxnZGIuQmxvY2sgb2JqZWN0IGF0 IDB4XFtcWzp4ZGlnaXQ6XF1cXSs+IiAidGVzdCBGcmFtZS5ibG9jayIKIGRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFsdWUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu cHl0aG9uL3B5LXZhbHVlLmV4cAotaW5kZXggNTlkNzlhZS4uNzViN2Q3MiAxMDA2NDQKK2luZGV4 IGM5ZDhjOTcuLjQzMjRkYjAgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24v cHktdmFsdWUuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktdmFsdWUuZXhw Ci1AQCAtMzY0LDYgKzM2NCwxNSBAQCBwcm9jIHRlc3RfdmFsdWVfYWZ0ZXJfZGVhdGgge30gewor QEAgLTM2MCw2ICszNjAsMTUgQEAgcHJvYyB0ZXN0X3ZhbHVlX2FmdGVyX2RlYXRoIHt9IHsKICAg ICAgInByaW50IHZhbHVlJ3MgdHlwZSIKICB9CiAgCkBAIC0xNDQxMiw3ICsxNDM2OCw3IEBAIGlu ZGV4IDU5ZDc5YWUuLjc1YjdkNzIgMTAwNjQ0CiAgIyBSZWdyZXNzaW9uIHRlc3QgZm9yIGludmFs aWQgc3Vic2NyaXB0IG9wZXJhdGlvbnMuICBUaGUgYnVnIHdhcyB0aGF0CiAgIyB0aGUgdHlwZSBv ZiB0aGUgdmFsdWUgd2FzIG5vdCBiZWluZyBjaGVja2VkIGJlZm9yZSBhbGxvd2luZyBhCiAgIyBz dWJzY3JpcHQgb3BlcmF0aW9uIHRvIHByb2NlZWQuCi1AQCAtNTAwLDYgKzUwOSw3IEBAIHRlc3Rf dmFsdWVfaW5faW5mZXJpb3IKK0BAIC00OTYsNiArNTA1LDcgQEAgdGVzdF92YWx1ZV9pbl9pbmZl cmlvcgogIHRlc3RfaW5mZXJpb3JfZnVuY3Rpb25fY2FsbAogIHRlc3RfbGF6eV9zdHJpbmdzCiAg dGVzdF92YWx1ZV9hZnRlcl9kZWF0aApAQCAtMTUyODgsMTAgKzE1MjQ0LDEwIEBAIGluZGV4IDAw MDAwMDAuLmIwZjFkN2QKICsjIEZpbmlzaGVkIQogK2dkYl90ZXN0ICJ0ZmluZCBub25lIiAiLioi ICIiCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBiL2dkYi90ZXN0c3Vp dGUvbGliL2dkYi5leHAKLWluZGV4IGZjN2UyMjMuLjNlYTVjZTAgMTAwNjQ0CitpbmRleCAwMGZl NzFjLi41Y2E5NTYzIDEwMDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogKysr IGIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAotQEAgLTE0MSw2ICsxNDEsMTEgQEAgcHJvYyBn ZGJfdW5sb2FkIHt9IHsKK0BAIC0xMzksNiArMTM5LDExIEBAIHByb2MgZ2RiX3VubG9hZCB7fSB7 CiAgCSAgICBzZW5kX2dkYiAieVxuIgogIAkgICAgZXhwX2NvbnRpbnVlCiAgCX0KQEAgLTE1MzA0 LDcgKzE1MjYwLDcgQEAgaW5kZXggZmM3ZTIyMy4uM2VhNWNlMCAxMDA2NDQKICAJICAgIHNlbmRf Z2RiICJ5XG4iCiAgCSAgICBleHBfY29udGludWUKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2xpYi9wYXNjYWwuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvcGFzY2FsLmV4cAotaW5kZXggODkx ZGEzNy4uMjM2YzVjYSAxMDA2NDQKK2luZGV4IGRkMThkMzcuLmY5NzM0ODUgMTAwNjQ0CiAtLS0g YS9nZGIvdGVzdHN1aXRlL2xpYi9wYXNjYWwuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2xpYi9w YXNjYWwuZXhwCiBAQCAtMzcsNiArMzcsOSBAQCBwcm9jIHBhc2NhbF9pbml0IHt9IHsKQEAgLTE1 MzM5LDEwICsxNTI5NSwxMCBAQCBpbmRleCA4OTFkYTM3Li4yMzZjNWNhIDEwMDY0NAogICAgICBz ZXQgcGFzY2FsX2luaXRfZG9uZSAxCiAgfSAgIAogZGlmZiAtLWdpdCBhL2dkYi90aHJlYWQuYyBi L2dkYi90aHJlYWQuYwotaW5kZXggOGNjYTgzZC4uNTRhZGY3ZSAxMDA2NDQKK2luZGV4IDlhMjkz ODMuLjFhNDliMDAgMTAwNjQ0CiAtLS0gYS9nZGIvdGhyZWFkLmMKICsrKyBiL2dkYi90aHJlYWQu YwotQEAgLTE0MzIsNyArMTQzMiw4IEBAIHVwZGF0ZV90aHJlYWRfbGlzdCAodm9pZCkKK0BAIC0x NDMxLDcgKzE0MzEsOCBAQCB1cGRhdGVfdGhyZWFkX2xpc3QgKHZvaWQpCiAgICAgbm8gdGhyZWFk IGlzIHNlbGVjdGVkLCBvciBubyB0aHJlYWRzIGV4aXN0LiAgKi8KICAKICBzdGF0aWMgc3RydWN0 IHZhbHVlICoKQEAgLTE1MzUyLDcgKzE1MzA4LDcgQEAgaW5kZXggOGNjYTgzZC4uNTRhZGY3ZSAx MDA2NDQKICB7CiAgICBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRwID0gZmluZF90aHJlYWRfcHRpZCAo aW5mZXJpb3JfcHRpZCk7CiAgCi1AQCAtMTQ0Myw2ICsxNDQ0LDE1IEBAIHRocmVhZF9pZF9tYWtl X3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IGludGVybmFsdmFyICp2YXIp CitAQCAtMTQ0Miw2ICsxNDQzLDE1IEBAIHRocmVhZF9pZF9tYWtlX3ZhbHVlIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwgc3RydWN0IGludGVybmFsdmFyICp2YXIpCiAgLyogQ29tbWFuZHMgd2l0 aCBhIHByZWZpeCBvZiBgdGhyZWFkJy4gICovCiAgc3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKnRo cmVhZF9jbWRfbGlzdCA9IE5VTEw7CiAgCkBAIC0xNTM2OCw3ICsxNTMyNCw3IEBAIGluZGV4IDhj Y2E4M2QuLjU0YWRmN2UgMTAwNjQ0CiAgdm9pZAogIF9pbml0aWFsaXplX3RocmVhZCAodm9pZCkK ICB7Ci1AQCAtMTQ4OCw1ICsxNDk4LDUgQEAgU2hvdyBwcmludGluZyBvZiB0aHJlYWQgZXZlbnRz IChzdWNoIGFzIHRocmVhZCBzdGFydCBhbmQgZXhpdCkuIiksIE5VTEwsCitAQCAtMTQ4Nyw1ICsx NDk3LDUgQEAgU2hvdyBwcmludGluZyBvZiB0aHJlYWQgZXZlbnRzIChzdWNoIGFzIHRocmVhZCBz dGFydCBhbmQgZXhpdCkuIiksIE5VTEwsCiAgICAgICAgICAgc2hvd19wcmludF90aHJlYWRfZXZl bnRzLAogICAgICAgICAgICZzZXRwcmludGxpc3QsICZzaG93cHJpbnRsaXN0KTsKICAKQEAgLTE1 Mzc2LDEwICsxNTMzMiwxMCBAQCBpbmRleCA4Y2NhODNkLi41NGFkZjdlIDEwMDY0NAogKyAgY3Jl YXRlX2ludGVybmFsdmFyX3R5cGVfbGF6eSAoIl90aHJlYWQiLCAmdGhyZWFkX2Z1bmNzLCBOVUxM KTsKICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL3RvcC5jIGIvZ2RiL3RvcC5jCi1pbmRleCBjNTkzNzY5 Li5hNGI3YjA5IDEwMDY0NAoraW5kZXggYzRlOTEzZC4uNWI3OTk4MyAxMDA2NDQKIC0tLSBhL2dk Yi90b3AuYwogKysrIGIvZ2RiL3RvcC5jCi1AQCAtMzUxLDYgKzM1MSw5IEBAIHByZXBhcmVfZXhl Y3V0ZV9jb21tYW5kICh2b2lkKQorQEAgLTM0OSw2ICszNDksOSBAQCBwcmVwYXJlX2V4ZWN1dGVf Y29tbWFuZCAodm9pZCkKICAKICAgIG1hcmsgPSB2YWx1ZV9tYXJrICgpOwogICAgY2xlYW51cCA9 IG1ha2VfY2xlYW51cF92YWx1ZV9mcmVlX3RvX21hcmsgKG1hcmspOwpAQCAtMTUzOTAsMTAgKzE1 MzQ2LDEwIEBAIGluZGV4IGM1OTM3NjkuLmE0YjdiMDkgMTAwNjQ0CiAgICAvKiBXaXRoIG11bHRp cGxlIHRocmVhZHMgcnVubmluZyB3aGlsZSB0aGUgb25lIHdlJ3JlIGV4YW1pbmluZyBpcwogICAg ICAgc3RvcHBlZCwgdGhlIGRjYWNoZSBjYW4gZ2V0IHN0YWxlIHdpdGhvdXQgdXMgYmVpbmcgYWJs ZSB0byBkZXRlY3QKIGRpZmYgLS1naXQgYS9nZGIvdHJhY2Vwb2ludC5jIGIvZ2RiL3RyYWNlcG9p bnQuYwotaW5kZXggNzlhNjRhMy4uZGM3NDE2MiAxMDA2NDQKK2luZGV4IGVkZTM3NDIuLmIyMGY3 MzMgMTAwNjQ0CiAtLS0gYS9nZGIvdHJhY2Vwb2ludC5jCiArKysgYi9nZGIvdHJhY2Vwb2ludC5j Ci1AQCAtNjg0LDcgKzY4NCw3IEBAIHZhbGlkYXRlX2FjdGlvbmxpbmUgKGNoYXIgKipsaW5lLCBz dHJ1Y3QgYnJlYWtwb2ludCAqYikKK0BAIC02ODMsNyArNjgzLDcgQEAgdmFsaWRhdGVfYWN0aW9u bGluZSAoY2hhciAqKmxpbmUsIHN0cnVjdCBicmVha3BvaW50ICpiKQogICAgc3RydWN0IGNsZWFu dXAgKm9sZF9jaGFpbiA9IE5VTEw7CiAgICBjaGFyICpwLCAqdG1wX3A7CiAgICBzdHJ1Y3QgYnBf bG9jYXRpb24gKmxvYzsKQEAgLTE1NDAyLDcgKzE1MzU4LDcgQEAgaW5kZXggNzlhNjRhMy4uZGM3 NDE2MiAxMDA2NDQKICAgIHN0cnVjdCB0cmFjZXBvaW50ICp0ID0gKHN0cnVjdCB0cmFjZXBvaW50 ICopIGI7CiAgCiAgICAvKiBJZiBFT0YgaXMgdHlwZWQsICpsaW5lIGlzIE5VTEwuICAqLwotQEAg LTEzNTMsNyArMTM1Myw3IEBAIGVuY29kZV9hY3Rpb25zXzEgKHN0cnVjdCBjb21tYW5kX2xpbmUg KmFjdGlvbiwKK0BAIC0xMzUyLDcgKzEzNTIsNyBAQCBlbmNvZGVfYWN0aW9uc18xIChzdHJ1Y3Qg Y29tbWFuZF9saW5lICphY3Rpb24sCiAgICBpbnQgaTsKICAgIHN0cnVjdCB2YWx1ZSAqdGVtcHZh bDsKICAgIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjbWQ7CkBAIC0xNTQxMSw3ICsxNTM2Nyw3 IEBAIGluZGV4IDc5YTY0YTMuLmRjNzQxNjIgMTAwNjQ0CiAgCiAgICBmb3IgKDsgYWN0aW9uOyBh Y3Rpb24gPSBhY3Rpb24tPm5leHQpCiAgICAgIHsKLUBAIC0xNzE3LDYgKzE3MTcsNyBAQCBzdGFy dF90cmFjaW5nIChjaGFyICpub3RlcykKK0BAIC0xNzE2LDYgKzE3MTYsNyBAQCBzdGFydF90cmFj aW5nIChjaGFyICpub3RlcykKICAgIGZvciAoaXggPSAwOyBWRUNfaXRlcmF0ZSAoYnJlYWtwb2lu dF9wLCB0cF92ZWMsIGl4LCBiKTsgaXgrKykKICAgICAgewogICAgICAgIHN0cnVjdCB0cmFjZXBv aW50ICp0ID0gKHN0cnVjdCB0cmFjZXBvaW50ICopIGI7CkBAIC0xNTQxOSw3ICsxNTM3NSw3IEBA IGluZGV4IDc5YTY0YTMuLmRjNzQxNjIgMTAwNjQ0CiAgCiAgICAgICAgaWYgKGItPmVuYWJsZV9z dGF0ZSA9PSBicF9lbmFibGVkKQogIAlhbnlfZW5hYmxlZCA9IDE7Ci1AQCAtMTc3OSw2ICsxNzgw LDkgQEAgc3RhcnRfdHJhY2luZyAoY2hhciAqbm90ZXMpCitAQCAtMTc3OCw2ICsxNzc5LDkgQEAg c3RhcnRfdHJhY2luZyAoY2hhciAqbm90ZXMpCiAgCX0KICAKICAgICAgICB0LT5udW1iZXJfb25f dGFyZ2V0ID0gYi0+bnVtYmVyOwpAQCAtMTU0MjksNyArMTUzODUsNyBAQCBpbmRleCA3OWE2NGEz Li5kYzc0MTYyIDEwMDY0NAogICAgICB9CiAgICBWRUNfZnJlZSAoYnJlYWtwb2ludF9wLCB0cF92 ZWMpOwogIAotQEAgLTE4NTEsOSArMTg1NSwyOCBAQCB2b2lkCitAQCAtMTg1MCw5ICsxODU0LDI4 IEBAIHZvaWQKICBzdG9wX3RyYWNpbmcgKGNoYXIgKm5vdGUpCiAgewogICAgaW50IHJldDsKQEAg LTE1NDU4LDcgKzE1NDE0LDcgQEAgaW5kZXggNzlhNjRhMy4uZGM3NDE2MiAxMDA2NDQKICAgIGlm ICghbm90ZSkKICAgICAgbm90ZSA9IHRyYWNlX3N0b3Bfbm90ZXM7CiAgICByZXQgPSB0YXJnZXRf c2V0X3RyYWNlX25vdGVzIChOVUxMLCBOVUxMLCBub3RlKTsKLUBAIC00OTI1LDcgKzQ5NDgsOCBA QCBpbmZvX3N0YXRpY190cmFjZXBvaW50X21hcmtlcnNfY29tbWFuZCAoY2hhciAqYXJnLCBpbnQg ZnJvbV90dHkpCitAQCAtNDkyNCw3ICs0OTQ3LDggQEAgaW5mb19zdGF0aWNfdHJhY2Vwb2ludF9t YXJrZXJzX2NvbW1hbmQgKGNoYXIgKmFyZywgaW50IGZyb21fdHR5KQogICAgIGF2YWlsYWJsZS4g ICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC0xNTQ2OCw3ICsxNTQyNCw3IEBAIGlu ZGV4IDc5YTY0YTMuLmRjNzQxNjIgMTAwNjQ0CiAgewogICAgTE9OR0VTVCBzaXplOwogICAgZ2Ri X2J5dGUgKmJ1ZjsKLUBAIC01MTA0LDYgKzUxMjgsMTUgQEAgdHJhY2VmcmFtZV9hdmFpbGFibGVf bWVtb3J5IChWRUMobWVtX3JhbmdlX3MpICoqcmVzdWx0LAorQEAgLTUxMDMsNiArNTEyNywxNSBA QCB0cmFjZWZyYW1lX2F2YWlsYWJsZV9tZW1vcnkgKFZFQyhtZW1fcmFuZ2VfcykgKipyZXN1bHQs CiAgICByZXR1cm4gMDsKICB9CiAgCkBAIC0xNTQ4NCw3ICsxNTQ0MCw3IEBAIGluZGV4IDc5YTY0 YTMuLmRjNzQxNjIgMTAwNjQ0CiAgLyogbW9kdWxlIGluaXRpYWxpemF0aW9uICovCiAgdm9pZAog IF9pbml0aWFsaXplX3RyYWNlcG9pbnQgKHZvaWQpCi1AQCAtNTExNCw3ICs1MTQ3LDcgQEAgX2lu aXRpYWxpemVfdHJhY2Vwb2ludCAodm9pZCkKK0BAIC01MTEzLDcgKzUxNDYsNyBAQCBfaW5pdGlh bGl6ZV90cmFjZXBvaW50ICh2b2lkKQogICAgICAgdmFsdWUgd2l0aCBhIHZvaWQgdHlwZWQgdmFs dWUsIGFuZCB3aGVuIHdlIGdldCBoZXJlLCBnZGJhcmNoCiAgICAgICBpc24ndCBpbml0aWFsaXpl ZCB5ZXQuICBBdCB0aGlzIHBvaW50LCB3ZSdyZSBxdWl0ZSBzdXJlIHRoZXJlCiAgICAgICBpc24n dCBhbm90aGVyIGNvbnZlbmllbmNlIHZhcmlhYmxlIG9mIHRoZSBzYW1lIG5hbWUuICAqLwpAQCAt MTU0OTQsMTAgKzE1NDUwLDEwIEBAIGluZGV4IDc5YTY0YTMuLmRjNzQxNjIgMTAwNjQ0CiAgICB0 cmFjZWZyYW1lX251bWJlciA9IC0xOwogICAgdHJhY2Vwb2ludF9udW1iZXIgPSAtMTsKIGRpZmYg LS1naXQgYS9nZGIvdHlwZXByaW50LmMgYi9nZGIvdHlwZXByaW50LmMKLWluZGV4IGNmNDE1OGQu LmYxNTc5NjIgMTAwNjQ0CitpbmRleCBkZTk2ZmQ1Li43NTQ4NWZmIDEwMDY0NAogLS0tIGEvZ2Ri L3R5cGVwcmludC5jCiArKysgYi9nZGIvdHlwZXByaW50LmMKLUBAIC0zNiw2ICszNiw3IEBACitA QCAtMzUsNiArMzUsNyBAQAogICNpbmNsdWRlICJnZGJfc3RyaW5nLmgiCiAgI2luY2x1ZGUgImV4 Y2VwdGlvbnMuaCIKICAjaW5jbHVkZSAidmFscHJpbnQuaCIKQEAgLTE1NTA1LDcgKzE1NDYxLDcg QEAgaW5kZXggY2Y0MTU4ZC4uZjE1Nzk2MiAxMDA2NDQKICAjaW5jbHVkZSA8ZXJybm8uaD4KICAK ICBleHRlcm4gdm9pZCBfaW5pdGlhbGl6ZV90eXBlcHJpbnQgKHZvaWQpOwotQEAgLTc3LDYgKzc4 LDkgQEAgdm9pZAorQEAgLTc2LDYgKzc3LDkgQEAgdm9pZAogIHR5cGVfcHJpbnQgKHN0cnVjdCB0 eXBlICp0eXBlLCBjaGFyICp2YXJzdHJpbmcsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCiAgCSAg ICBpbnQgc2hvdykKICB7CkBAIC0xNTUxNSw3ICsxNTQ3MSw3IEBAIGluZGV4IGNmNDE1OGQuLmYx NTc5NjIgMTAwNjQ0CiAgICBMQV9QUklOVF9UWVBFICh0eXBlLCB2YXJzdHJpbmcsIHN0cmVhbSwg c2hvdywgMCk7CiAgfQogIAotQEAgLTExNSw3ICsxMTksOCBAQCB3aGF0aXNfZXhwIChjaGFyICpl eHAsIGludCBzaG93KQorQEAgLTExNCw3ICsxMTgsOCBAQCB3aGF0aXNfZXhwIChjaGFyICpleHAs IGludCBzaG93KQogIHsKICAgIHN0cnVjdCBleHByZXNzaW9uICpleHByOwogICAgc3RydWN0IHZh bHVlICp2YWw7CkBAIC0xNTUyNSw3ICsxNTQ4MSw3IEBAIGluZGV4IGNmNDE1OGQuLmYxNTc5NjIg MTAwNjQ0CiAgICBzdHJ1Y3QgdHlwZSAqcmVhbF90eXBlID0gTlVMTDsKICAgIHN0cnVjdCB0eXBl ICp0eXBlOwogICAgaW50IGZ1bGwgPSAwOwotQEAgLTEyNiwxMiArMTMxLDEzIEBAIHdoYXRpc19l eHAgKGNoYXIgKmV4cCwgaW50IHNob3cpCitAQCAtMTI1LDEyICsxMzAsMTMgQEAgd2hhdGlzX2V4 cCAoY2hhciAqZXhwLCBpbnQgc2hvdykKICAgIGlmIChleHApCiAgICAgIHsKICAgICAgICBleHBy ID0gcGFyc2VfZXhwcmVzc2lvbiAoZXhwKTsKQEAgLTE1NTQwLDcgKzE1NDk2LDcgQEAgaW5kZXgg Y2Y0MTU4ZC4uZjE1Nzk2MiAxMDA2NDQKICAgIHR5cGUgPSB2YWx1ZV90eXBlICh2YWwpOwogIAog ICAgZ2V0X3VzZXJfcHJpbnRfb3B0aW9ucyAoJm9wdHMpOwotQEAgLTE2OCw4ICsxNzQsNyBAQCB3 aGF0aXNfZXhwIChjaGFyICpleHAsIGludCBzaG93KQorQEAgLTE2Nyw4ICsxNzMsNyBAQCB3aGF0 aXNfZXhwIChjaGFyICpleHAsIGludCBzaG93KQogICAgdHlwZV9wcmludCAodHlwZSwgIiIsIGdk Yl9zdGRvdXQsIHNob3cpOwogICAgcHJpbnRmX2ZpbHRlcmVkICgiXG4iKTsKICAKQEAgLTE1NTUx LDEwICsxNTUwNywxMCBAQCBpbmRleCBjZjQxNThkLi5mMTU3OTYyIDEwMDY0NAogIAogIHN0YXRp YyB2b2lkCiBkaWZmIC0tZ2l0IGEvZ2RiL3V0aWxzLmMgYi9nZGIvdXRpbHMuYwotaW5kZXggZDU1 ZTZmMS4uYmU3YzcyYiAxMDA2NDQKK2luZGV4IDQ4NjNlNDEuLmMxZmVjODIgMTAwNjQ0CiAtLS0g YS9nZGIvdXRpbHMuYwogKysrIGIvZ2RiL3V0aWxzLmMKLUBAIC0xOTA2LDYgKzE5MDYsMzYgQEAg c2V0X2JhdGNoX2ZsYWdfYW5kX21ha2VfY2xlYW51cF9yZXN0b3JlX3BhZ2VfaW5mbyAodm9pZCkK K0BAIC0xOTA0LDYgKzE5MDQsMzYgQEAgc2V0X2JhdGNoX2ZsYWdfYW5kX21ha2VfY2xlYW51cF9y ZXN0b3JlX3BhZ2VfaW5mbyAodm9pZCkKICAgIHJldHVybiBiYWNrX3RvOwogIH0KICAKQEAgLTE1 NTkyLDEwICsxNTU0OCwxMCBAQCBpbmRleCBkNTVlNmYxLi5iZTdjNzJiIDEwMDY0NAogIAogIHN0 YXRpYyB2b2lkCiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbGFyaXRoLmMgYi9nZGIvdmFsYXJpdGguYwot aW5kZXggMzI1MGNjNy4uMjJkYTA2NyAxMDA2NDQKK2luZGV4IGI4YmNjNmIuLmZiODNjNzAgMTAw NjQ0CiAtLS0gYS9nZGIvdmFsYXJpdGguYwogKysrIGIvZ2RiL3ZhbGFyaXRoLmMKLUBAIC0xOTgs NyArMTk4LDEwIEBAIHZhbHVlX3N1YnNjcmlwdGVkX3J2YWx1ZSAoc3RydWN0IHZhbHVlICphcnJh eSwgTE9OR0VTVCBpbmRleCwgaW50IGxvd2VyYm91bmQpCitAQCAtMTk3LDcgKzE5NywxMCBAQCB2 YWx1ZV9zdWJzY3JpcHRlZF9ydmFsdWUgKHN0cnVjdCB2YWx1ZSAqYXJyYXksIExPTkdFU1QgaW5k ZXgsIGludCBsb3dlcmJvdW5kKQogICAgc3RydWN0IHR5cGUgKmFycmF5X3R5cGUgPSBjaGVja190 eXBlZGVmICh2YWx1ZV90eXBlIChhcnJheSkpOwogICAgc3RydWN0IHR5cGUgKmVsdF90eXBlID0g Y2hlY2tfdHlwZWRlZiAoVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlfdHlwZSkpOwogICAgdW5zaWdu ZWQgaW50IGVsdF9zaXplID0gVFlQRV9MRU5HVEggKGVsdF90eXBlKTsKQEAgLTE1NjA3LDcgKzE1 NTYzLDcgQEAgaW5kZXggMzI1MGNjNy4uMjJkYTA2NyAxMDA2NDQKICAgIHN0cnVjdCB2YWx1ZSAq djsKICAKICAgIGlmIChpbmRleCA8IGxvd2VyYm91bmQgfHwgKCFUWVBFX0FSUkFZX1VQUEVSX0JP VU5EX0lTX1VOREVGSU5FRCAoYXJyYXlfdHlwZSkKLUBAIC0yOTgsNiArMzAxLDEwIEBAIGludAor QEAgLTI5Nyw2ICszMDAsMTAgQEAgaW50CiAgYmlub3BfdXNlcl9kZWZpbmVkX3AgKGVudW0gZXhw X29wY29kZSBvcCwKICAJCSAgICAgIHN0cnVjdCB2YWx1ZSAqYXJnMSwgc3RydWN0IHZhbHVlICph cmcyKQogIHsKQEAgLTE1NjE5LDEwICsxNTU3NSwxMCBAQCBpbmRleCAzMjUwY2M3Li4yMmRhMDY3 IDEwMDY0NAogIH0KICAKIGRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3BzLmMK LWluZGV4IDI5ZDFmYmQuLjQ0Y2RkNDkgMTAwNjQ0CitpbmRleCA1NDUzYjFhLi41YTRhOGZhIDEw MDY0NAogLS0tIGEvZ2RiL3ZhbG9wcy5jCiArKysgYi9nZGIvdmFsb3BzLmMKLUBAIC00Nyw2ICs0 Nyw3IEBACitAQCAtNDUsNiArNDUsNyBAQAogICNpbmNsdWRlICJvYmpmaWxlcy5oIgogICNpbmNs dWRlICJzeW10YWIuaCIKICAjaW5jbHVkZSAiZXhjZXB0aW9ucy5oIgpAQCAtMTU2MzAsNyArMTU1 ODYsNyBAQCBpbmRleCAyOWQxZmJkLi40NGNkZDQ5IDEwMDY0NAogIAogIGV4dGVybiBpbnQgb3Zl cmxvYWRfZGVidWc7CiAgLyogTG9jYWwgZnVuY3Rpb25zLiAgKi8KLUBAIC05MTcsNiArOTE4LDY1 IEBAIHZhbHVlX29uZSAoc3RydWN0IHR5cGUgKnR5cGUpCitAQCAtOTE1LDYgKzkxNiw2NSBAQCB2 YWx1ZV9vbmUgKHN0cnVjdCB0eXBlICp0eXBlKQogICAgcmV0dXJuIHZhbDsKICB9CiAgCkBAIC0x NTY5Niw3ICsxNTY1Miw3IEBAIGluZGV4IDI5ZDFmYmQuLjQ0Y2RkNDkgMTAwNjQ0CiAgLyogSGVs cGVyIGZ1bmN0aW9uIGZvciB2YWx1ZV9hdCwgdmFsdWVfYXRfbGF6eSwgYW5kIHZhbHVlX2F0X2xh enlfc3RhY2suICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgotQEAgLTEwMTMsMTIgKzEw NzMsMjAgQEAgdmFsdWVfZmV0Y2hfbGF6eSAoc3RydWN0IHZhbHVlICp2YWwpCitAQCAtMTAxMSwx MiArMTA3MSwyMCBAQCB2YWx1ZV9mZXRjaF9sYXp5IChzdHJ1Y3QgdmFsdWUgKnZhbCkKICAgICAg fQogICAgZWxzZSBpZiAoVkFMVUVfTFZBTCAodmFsKSA9PSBsdmFsX21lbW9yeSkKICAgICAgewpA QCAtMTU3MjIsNyArMTU2NzgsNyBAQCBpbmRleCAyOWQxZmJkLi40NGNkZDQ5IDEwMDY0NAogICAg ICB9CiAgICBlbHNlIGlmIChWQUxVRV9MVkFMICh2YWwpID09IGx2YWxfcmVnaXN0ZXIpCiAgICAg IHsKLUBAIC0xNTMwLDcgKzE1OTgsMTggQEAgYWRkcmVzc19vZl92YXJpYWJsZSAoc3RydWN0IHN5 bWJvbCAqdmFyLCBzdHJ1Y3QgYmxvY2sgKmIpCitAQCAtMTUyOCw3ICsxNTk2LDE4IEBAIGFkZHJl c3Nfb2ZfdmFyaWFibGUgKHN0cnVjdCBzeW1ib2wgKnZhciwgc3RydWN0IGJsb2NrICpiKQogICAg aWYgKChWQUxVRV9MVkFMICh2YWwpID09IGx2YWxfbWVtb3J5ICYmIHZhbHVlX2xhenkgKHZhbCkp CiAgICAgICAgfHwgVFlQRV9DT0RFICh0eXBlKSA9PSBUWVBFX0NPREVfRlVOQykKICAgICAgewpA QCAtMTU3NDIsNyArMTU2OTgsNyBAQCBpbmRleCAyOWQxZmJkLi40NGNkZDQ5IDEwMDY0NAogIAog ICAgICAgIHJldHVybiB2YWx1ZV9mcm9tX3BvaW50ZXIgKGxvb2t1cF9wb2ludGVyX3R5cGUgKHR5 cGUpLCBhZGRyKTsKICAgICAgfQotQEAgLTE2MzcsNiArMTcxNiw3IEBAIHN0cnVjdCB2YWx1ZSAq CitAQCAtMTYzNSw2ICsxNzE0LDcgQEAgc3RydWN0IHZhbHVlICoKICB2YWx1ZV9jb2VyY2VfYXJy YXkgKHN0cnVjdCB2YWx1ZSAqYXJnMSkKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IGNoZWNr X3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZzEpKTsKQEAgLTE1NzUwLDcgKzE1NzA2LDcgQEAgaW5k ZXggMjlkMWZiZC4uNDRjZGQ0OSAxMDA2NDQKICAKICAgIC8qIElmIHRoZSB1c2VyIHRyaWVzIHRv IGRvIHNvbWV0aGluZyByZXF1aXJpbmcgYSBwb2ludGVyIHdpdGggYW4KICAgICAgIGFycmF5IHRo YXQgaGFzIG5vdCB5ZXQgYmVlbiBwdXNoZWQgdG8gdGhlIHRhcmdldCwgdGhlbiB0aGlzIHdvdWxk Ci1AQCAtMTY0Niw4ICsxNzI2LDEyIEBAIHZhbHVlX2NvZXJjZV9hcnJheSAoc3RydWN0IHZhbHVl ICphcmcxKQorQEAgLTE2NDQsOCArMTcyNCwxMiBAQCB2YWx1ZV9jb2VyY2VfYXJyYXkgKHN0cnVj dCB2YWx1ZSAqYXJnMSkKICAgIGlmIChWQUxVRV9MVkFMIChhcmcxKSAhPSBsdmFsX21lbW9yeSkK ICAgICAgZXJyb3IgKF8oIkF0dGVtcHQgdG8gdGFrZSBhZGRyZXNzIG9mIHZhbHVlIG5vdCBsb2Nh dGVkIGluIG1lbW9yeS4iKSk7CiAgCkBAIC0xNTc2NCw3ICsxNTcyMCw3IEBAIGluZGV4IDI5ZDFm YmQuLjQ0Y2RkNDkgMTAwNjQ0CiAgfQogIAogIC8qIEdpdmVuIGEgdmFsdWUgd2hpY2ggaXMgYSBm dW5jdGlvbiwgcmV0dXJuIGEgdmFsdWUgd2hpY2ggaXMgYSBwb2ludGVyCi1AQCAtMzY5Niw2ICsz NzgwLDggQEAgdmFsdWVfc2xpY2UgKHN0cnVjdCB2YWx1ZSAqYXJyYXksIGludCBsb3dib3VuZCwg aW50IGxlbmd0aCkKK0BAIC0zNjk0LDYgKzM3NzgsOCBAQCB2YWx1ZV9zbGljZSAoc3RydWN0IHZh bHVlICphcnJheSwgaW50IGxvd2JvdW5kLCBpbnQgbGVuZ3RoKQogIAkJCQkJVFlQRV9UQVJHRVRf VFlQRSAocmFuZ2VfdHlwZSksCiAgCQkJCQlsb3dib3VuZCwgCiAgCQkJCQlsb3dib3VuZCArIGxl bmd0aCAtIDEpOwpAQCAtMTU3NzQsMTAgKzE1NzMwLDEwIEBAIGluZGV4IDI5ZDFmYmQuLjQ0Y2Rk NDkgMTAwNjQ0CiAgICAgIHsKICAgICAgICBpbnQgaTsKIGRpZmYgLS1naXQgYS9nZGIvdmFscHJp bnQuYyBiL2dkYi92YWxwcmludC5jCi1pbmRleCBiNGFjNGVjLi4zNzc5MDVlIDEwMDY0NAoraW5k ZXggMzI1Y2Y0MC4uNzBhOThjMiAxMDA2NDQKIC0tLSBhL2dkYi92YWxwcmludC5jCiArKysgYi9n ZGIvdmFscHJpbnQuYwotQEAgLTM5LDYgKzM5LDcgQEAKK0BAIC0zNyw2ICszNyw3IEBACiAgI2lu Y2x1ZGUgImdkYl9vYnN0YWNrLmgiCiAgI2luY2x1ZGUgImNoYXJzZXQuaCIKICAjaW5jbHVkZSA8 Y3R5cGUuaD4KQEAgLTE1Nzg1LDcgKzE1NzQxLDcgQEAgaW5kZXggYjRhYzRlYy4uMzc3OTA1ZSAx MDA2NDQKICAKICAjaW5jbHVkZSA8ZXJybm8uaD4KICAKLUBAIC0yNDIsNyArMjQzLDYgQEAgc2Nh bGFyX3R5cGVfcCAoc3RydWN0IHR5cGUgKnR5cGUpCitAQCAtMjQwLDcgKzI0MSw2IEBAIHNjYWxh cl90eXBlX3AgKHN0cnVjdCB0eXBlICp0eXBlKQogICAgICBjYXNlIFRZUEVfQ09ERV9TVFJVQ1Q6 CiAgICAgIGNhc2UgVFlQRV9DT0RFX1VOSU9OOgogICAgICBjYXNlIFRZUEVfQ09ERV9TRVQ6CkBA IC0xNTc5Myw3ICsxNTc0OSw3IEBAIGluZGV4IGI0YWM0ZWMuLjM3NzkwNWUgMTAwNjQ0CiAgICAg IGNhc2UgVFlQRV9DT0RFX0JJVFNUUklORzoKICAgICAgICByZXR1cm4gMDsKICAgICAgZGVmYXVs dDoKLUBAIC0xMjAwLDYgKzEyMDAsNyBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVj dCB0eXBlICp0eXBlLAorQEAgLTExOTgsNiArMTE5OCw3IEBAIHZhbF9wcmludF9hcnJheV9lbGVt ZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCiAgewogICAgdW5zaWduZWQgaW50IHRoaW5nc19wcmlu dGVkID0gMDsKICAgIHVuc2lnbmVkIGxlbjsKQEAgLTE1ODAxLDcgKzE1NzU3LDcgQEAgaW5kZXgg YjRhYzRlYy4uMzc3OTA1ZSAxMDA2NDQKICAgIHN0cnVjdCB0eXBlICplbHR0eXBlLCAqaW5kZXhf dHlwZTsKICAgIHVuc2lnbmVkIGVsdGxlbjsKICAgIC8qIFBvc2l0aW9uIG9mIHRoZSBhcnJheSBl bGVtZW50IHdlIGFyZSBleGFtaW5pbmcgdG8gc2VlCi1AQCAtMTIwOCw5ICsxMjA5LDMzIEBAIHZh bF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMTIwNiw5ICsx MjA3LDMzIEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCiAg ICAvKiBOdW1iZXIgb2YgcmVwZXRpdGlvbnMgd2UgaGF2ZSBkZXRlY3RlZCBzbyBmYXIuICAqLwog ICAgdW5zaWduZWQgaW50IHJlcHM7CiAgICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9ib3VuZDsK QEAgLTE1ODM3LDcgKzE1NzkzLDcgQEAgaW5kZXggYjRhYzRlYy4uMzc3OTA1ZSAxMDA2NDQKICAg IGluZGV4X3R5cGUgPSBUWVBFX0lOREVYX1RZUEUgKHR5cGUpOwogIAogICAgaWYgKGdldF9hcnJh eV9ib3VuZHMgKHR5cGUsICZsb3dfYm91bmQsICZoaWdoX2JvdW5kKSkKLUBAIC0xMjk3LDYgKzEz MjIsOCBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAg LTEyOTUsNiArMTMyMCw4IEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUg KnR5cGUsCiAgICAgIHsKICAgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIuLi4iKTsK ICAgICAgfQpAQCAtMTU4NDcsMTAgKzE1ODAzLDEwIEBAIGluZGV4IGI0YWM0ZWMuLjM3NzkwNWUg MTAwNjQ0CiAgCiAgLyogUmVhZCBMRU4gYnl0ZXMgb2YgdGFyZ2V0IG1lbW9yeSBhdCBhZGRyZXNz IE1FTUFERFIsIHBsYWNpbmcgdGhlCiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmMgYi9nZGIvdmFs dWUuYwotaW5kZXggZDAyYmMyNy4uYzgzZTFhOCAxMDA2NDQKK2luZGV4IDU4M2JlMzMuLmNiNzNl ZGEgMTAwNjQ0CiAtLS0gYS9nZGIvdmFsdWUuYwogKysrIGIvZ2RiL3ZhbHVlLmMKLUBAIC00Myw2 ICs0Myw3IEBACitAQCAtNDEsNiArNDEsNyBAQAogICNpbmNsdWRlICJweXRob24vcHl0aG9uLmgi CiAgI2luY2x1ZGUgPGN0eXBlLmg+CiAgI2luY2x1ZGUgInRyYWNlcG9pbnQuaCIKQEAgLTE1ODU4 LDcgKzE1ODE0LDcgQEAgaW5kZXggZDAyYmMyNy4uYzgzZTFhOCAxMDA2NDQKICAKICAvKiBQcm90 b3R5cGVzIGZvciBleHBvcnRlZCBmdW5jdGlvbnMuICAqLwogIAotQEAgLTEzODcsMTIgKzEzODgs MTUgQEAgdm9pZAorQEAgLTEzODUsMTIgKzEzODYsMTUgQEAgdm9pZAogIHNldF92YWx1ZV9jb21w b25lbnRfbG9jYXRpb24gKHN0cnVjdCB2YWx1ZSAqY29tcG9uZW50LAogIAkJCSAgICAgIGNvbnN0 IHN0cnVjdCB2YWx1ZSAqd2hvbGUpCiAgewpAQCAtMTU4NzQsNyArMTU4MzAsNyBAQCBpbmRleCBk MDJiYzI3Li5jODNlMWE4IDEwMDY0NAogICAgaWYgKHdob2xlLT5sdmFsID09IGx2YWxfY29tcHV0 ZWQpCiAgICAgIHsKICAgICAgICBjb25zdCBzdHJ1Y3QgbHZhbF9mdW5jcyAqZnVuY3MgPSB3aG9s ZS0+bG9jYXRpb24uY29tcHV0ZWQuZnVuY3M7Ci1AQCAtMTQwMCw2ICsxNDA0LDEyIEBAIHNldF92 YWx1ZV9jb21wb25lbnRfbG9jYXRpb24gKHN0cnVjdCB2YWx1ZSAqY29tcG9uZW50LAorQEAgLTEz OTgsNiArMTQwMiwxMiBAQCBzZXRfdmFsdWVfY29tcG9uZW50X2xvY2F0aW9uIChzdHJ1Y3QgdmFs dWUgKmNvbXBvbmVudCwKICAgICAgICBpZiAoZnVuY3MtPmNvcHlfY2xvc3VyZSkKICAgICAgICAg IGNvbXBvbmVudC0+bG9jYXRpb24uY29tcHV0ZWQuY2xvc3VyZSA9IGZ1bmNzLT5jb3B5X2Nsb3N1 cmUgKHdob2xlKTsKICAgICAgfQpAQCAtMTU4ODcsNyArMTU4NDMsNyBAQCBpbmRleCBkMDJiYzI3 Li5jODNlMWE4IDEwMDY0NAogIH0KICAKICAMCi1AQCAtMTUzMyw2ICsxNTQzLDMxIEBAIHNob3df dmFsdWVzIChjaGFyICpudW1fZXhwLCBpbnQgZnJvbV90dHkpCitAQCAtMTUzMSw2ICsxNTQxLDMx IEBAIHNob3dfdmFsdWVzIChjaGFyICpudW1fZXhwLCBpbnQgZnJvbV90dHkpCiAgICAgICAgbnVt X2V4cFsxXSA9ICdcMCc7CiAgICAgIH0KICB9CkBAIC0xNTkxOSw3ICsxNTg3NSw3IEBAIGluZGV4 IGQwMmJjMjcuLmM4M2UxYTggMTAwNjQ0CiAgDAogIC8qIEludGVybmFsIHZhcmlhYmxlcy4gIFRo ZXNlIGFyZSB2YXJpYWJsZXMgd2l0aGluIHRoZSBkZWJ1Z2dlcgogICAgIHRoYXQgaG9sZCB2YWx1 ZXMgYXNzaWduZWQgYnkgZGVidWdnZXIgY29tbWFuZHMuCi1AQCAtMTU3OCw3ICsxNjEzLDE0IEBA IHN0cnVjdCBpbnRlcm5hbHZhcgorQEAgLTE1NzYsNyArMTYxMSwxNCBAQCBzdHJ1Y3QgaW50ZXJu YWx2YXIKICAgICAgICBzdHJ1Y3QgdmFsdWUgKnZhbHVlOwogIAogICAgICAgIC8qIFRoZSBjYWxs LWJhY2sgcm91dGluZSB1c2VkIHdpdGggSU5URVJOQUxWQVJfTUFLRV9WQUxVRS4gICovCkBAIC0x NTkzNSw3ICsxNTg5MSw3IEBAIGluZGV4IGQwMmJjMjcuLmM4M2UxYTggMTAwNjQ0CiAgCiAgICAg ICAgLyogVGhlIGludGVybmFsIGZ1bmN0aW9uIHVzZWQgd2l0aCBJTlRFUk5BTFZBUl9GVU5DVElP Ti4gICovCiAgICAgICAgc3RydWN0Ci1AQCAtMTY3NywxOCArMTcxOSwzOSBAQCBjcmVhdGVfaW50 ZXJuYWx2YXIgKGNvbnN0IGNoYXIgKm5hbWUpCitAQCAtMTY3NSwxOCArMTcxNywzOSBAQCBjcmVh dGVfaW50ZXJuYWx2YXIgKGNvbnN0IGNoYXIgKm5hbWUpCiAgLyogQ3JlYXRlIGFuIGludGVybmFs IHZhcmlhYmxlIHdpdGggbmFtZSBOQU1FIGFuZCByZWdpc3RlciBGVU4gYXMgdGhlCiAgICAgZnVu Y3Rpb24gdGhhdCB2YWx1ZV9vZl9pbnRlcm5hbHZhciB1c2VzIHRvIGNyZWF0ZSBhIHZhbHVlIHdo ZW5ldmVyCiAgICAgdGhpcyB2YXJpYWJsZSBpcyByZWZlcmVuY2VkLiAgTkFNRSBzaG91bGQgbm90 IG5vcm1hbGx5IGluY2x1ZGUgYQpAQCAtMTU5NzgsNyArMTU5MzQsNyBAQCBpbmRleCBkMDJiYzI3 Li5jODNlMWE4IDEwMDY0NAogIC8qIExvb2sgdXAgYW4gaW50ZXJuYWwgdmFyaWFibGUgd2l0aCBu YW1lIE5BTUUuICBOQU1FIHNob3VsZCBub3QKICAgICBub3JtYWxseSBpbmNsdWRlIGEgZG9sbGFy IHNpZ24uCiAgCi1AQCAtMTc2MSw3ICsxODI0LDggQEAgdmFsdWVfb2ZfaW50ZXJuYWx2YXIgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgaW50ZXJuYWx2YXIgKnZhcikKK0BAIC0xNzU5 LDcgKzE4MjIsOCBAQCB2YWx1ZV9vZl9pbnRlcm5hbHZhciAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCBpbnRlcm5hbHZhciAqdmFyKQogICAgICAgIGJyZWFrOwogIAogICAgICBjYXNl IElOVEVSTkFMVkFSX01BS0VfVkFMVUU6CkBAIC0xNTk4OCw3ICsxNTk0NCw3IEBAIGluZGV4IGQw MmJjMjcuLmM4M2UxYTggMTAwNjQ0CiAgICAgICAgYnJlYWs7CiAgCiAgICAgIGRlZmF1bHQ6Ci1A QCAtMTk1Nyw2ICsyMDIxLDExIEBAIGNsZWFyX2ludGVybmFsdmFyIChzdHJ1Y3QgaW50ZXJuYWx2 YXIgKnZhcikKK0BAIC0xOTU1LDYgKzIwMTksMTEgQEAgY2xlYXJfaW50ZXJuYWx2YXIgKHN0cnVj dCBpbnRlcm5hbHZhciAqdmFyKQogICAgICAgIHhmcmVlICh2YXItPnUuc3RyaW5nKTsKICAgICAg ICBicmVhazsKICAKQEAgLTE2MDAwLDcgKzE1OTU2LDcgQEAgaW5kZXggZDAyYmMyNy4uYzgzZTFh OCAxMDA2NDQKICAgICAgZGVmYXVsdDoKICAgICAgICBicmVhazsKICAgICAgfQotQEAgLTIwMTEs NiArMjA4MCwzOCBAQCBjYWxsX2ludGVybmFsX2Z1bmN0aW9uIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwKK0BAIC0yMDA5LDYgKzIwNzgsMzggQEAgY2FsbF9pbnRlcm5hbF9mdW5jdGlvbiAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsCiAgICByZXR1cm4gKCppZm4tPmhhbmRsZXIpIChnZGJhcmNo LCBsYW5ndWFnZSwgaWZuLT5jb29raWUsIGFyZ2MsIGFyZ3YpOwogIH0KICAKQEAgLTE2MDM5LDcg KzE1OTk1LDcgQEAgaW5kZXggZDAyYmMyNy4uYzgzZTFhOCAxMDA2NDQKICAvKiBUaGUgJ2Z1bmN0 aW9uJyBjb21tYW5kLiAgVGhpcyBkb2VzIG5vdGhpbmcgLS0gaXQgaXMganVzdCBhCiAgICAgcGxh Y2Vob2xkZXIgdG8gbGV0ICJoZWxwIGZ1bmN0aW9uIE5BTUUiIHdvcmsuICBUaGlzIGlzIGFsc28g dXNlZCBhcwogICAgIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgc3ViLWNvbW1hbmQgdGhhdCBp cyBjcmVhdGVkIHdoZW4KLUBAIC0yMDU4LDExICsyMTU5LDEwIEBAIHByZXNlcnZlX29uZV92YWx1 ZSAoc3RydWN0IHZhbHVlICp2YWx1ZSwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMjA1 NiwxMSArMjE1NywxMCBAQCBwcmVzZXJ2ZV9vbmVfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdmFsdWUs IHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogIAkJICAgIGh0YWJfdCBjb3BpZWRfdHlwZXMpCiAg ewogICAgaWYgKFRZUEVfT0JKRklMRSAodmFsdWUtPnR5cGUpID09IG9iamZpbGUpCkBAIC0xNjA1 Myw3ICsxNjAwOSw3IEBAIGluZGV4IGQwMmJjMjcuLmM4M2UxYTggMTAwNjQ0CiAgCQkJCQkJIGNv cGllZF90eXBlcyk7CiAgfQogIAotQEAgLTIwNzcsNyArMjE3Nyw3IEBAIHByZXNlcnZlX29uZV9p bnRlcm5hbHZhciAoc3RydWN0IGludGVybmFsdmFyICp2YXIsIHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlLAorQEAgLTIwNzUsNyArMjE3NSw3IEBAIHByZXNlcnZlX29uZV9pbnRlcm5hbHZhciAoc3Ry dWN0IGludGVybmFsdmFyICp2YXIsIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogICAgICBjYXNl IElOVEVSTkFMVkFSX0lOVEVHRVI6CiAgICAgICAgaWYgKHZhci0+dS5pbnRlZ2VyLnR5cGUgJiYg VFlQRV9PQkpGSUxFICh2YXItPnUuaW50ZWdlci50eXBlKSA9PSBvYmpmaWxlKQogIAl2YXItPnUu aW50ZWdlci50eXBlCkBAIC0xNjA2Miw3ICsxNjAxOCw3IEBAIGluZGV4IGQwMmJjMjcuLmM4M2Ux YTggMTAwNjQ0CiAgICAgICAgYnJlYWs7CiAgCiAgICAgIGNhc2UgSU5URVJOQUxWQVJfVkFMVUU6 Ci1AQCAtMzEzOSw5ICszMjM5LDI2IEBAIGNvZXJjZV9yZWZfaWZfY29tcHV0ZWQgKGNvbnN0IHN0 cnVjdCB2YWx1ZSAqYXJnKQorQEAgLTMxMzcsOSArMzIzNywyNiBAQCBjb2VyY2VfcmVmX2lmX2Nv bXB1dGVkIChjb25zdCBzdHJ1Y3QgdmFsdWUgKmFyZykKICBzdHJ1Y3QgdmFsdWUgKgogIGNvZXJj ZV9yZWYgKHN0cnVjdCB2YWx1ZSAqYXJnKQogIHsKQEAgLTE2MDkwLDcgKzE2MDQ2LDcgQEAgaW5k ZXggZDAyYmMyNy4uYzgzZTFhOCAxMDA2NDQKICAgIHJldHZhbCA9IGNvZXJjZV9yZWZfaWZfY29t cHV0ZWQgKGFyZyk7CiAgICBpZiAocmV0dmFsKQogICAgICByZXR1cm4gcmV0dmFsOwotQEAgLTMy NDMsNCArMzM2MCwxMCBAQCBWQVJJQUJMRSBpcyBhbHJlYWR5IGluaXRpYWxpemVkLiIpKTsKK0BA IC0zMjQxLDQgKzMzNTgsMTAgQEAgVkFSSUFCTEUgaXMgYWxyZWFkeSBpbml0aWFsaXplZC4iKSk7 CiAgICBhZGRfcHJlZml4X2NtZCAoImZ1bmN0aW9uIiwgbm9fY2xhc3MsIGZ1bmN0aW9uX2NvbW1h bmQsIF8oIlwKICBQbGFjZWhvbGRlciBjb21tYW5kIGZvciBzaG93aW5nIGhlbHAgb24gY29udmVu aWVuY2UgZnVuY3Rpb25zLiIpLAogIAkJICAmZnVuY3Rpb25saXN0LCAiZnVuY3Rpb24gIiwgMCwg JmNtZGxpc3QpOwpAQCAtMTYxMDIsMTAgKzE2MDU4LDEwIEBAIGluZGV4IGQwMmJjMjcuLmM4M2Ux YTggMTAwNjQ0CiArI2VuZGlmCiAgfQogZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5oIGIvZ2RiL3Zh bHVlLmgKLWluZGV4IDE2Nzg0N2YuLmNjZDY4ZmMgMTAwNjQ0CitpbmRleCA0NzI3NzU1Li5kOGQy MmM4IDEwMDY0NAogLS0tIGEvZ2RiL3ZhbHVlLmgKICsrKyBiL2dkYi92YWx1ZS5oCi1AQCAtNDkw LDYgKzQ5MCwxMCBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9mcm9tX2RlY2Zsb2F0IChz dHJ1Y3QgdHlwZSAqdHlwZSwKK0BAIC00ODgsNiArNDg4LDEwIEBAIGV4dGVybiBzdHJ1Y3QgdmFs dWUgKnZhbHVlX2Zyb21fZGVjZmxvYXQgKHN0cnVjdCB0eXBlICp0eXBlLAogIAkJCQkJICBjb25z dCBnZGJfYnl0ZSAqZGVjYnl0ZXMpOwogIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2Zyb21f aGlzdG9yeV9yZWYgKGNoYXIgKiwgY2hhciAqKik7CiAgCkBAIC0xNjExNiw3ICsxNjA3Miw3IEBA IGluZGV4IDE2Nzg0N2YuLmNjZDY4ZmMgMTAwNjQ0CiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFs dWVfYXQgKHN0cnVjdCB0eXBlICp0eXBlLCBDT1JFX0FERFIgYWRkcik7CiAgZXh0ZXJuIHN0cnVj dCB2YWx1ZSAqdmFsdWVfYXRfbGF6eSAoc3RydWN0IHR5cGUgKnR5cGUsIENPUkVfQUREUiBhZGRy KTsKICAKLUBAIC03MTksMTAgKzcyMyw1MiBAQCBleHRlcm4gc3RydWN0IGludGVybmFsdmFyICps b29rdXBfb25seV9pbnRlcm5hbHZhciAoY29uc3QgY2hhciAqbmFtZSk7CitAQCAtNzE3LDEwICs3 MjEsNTIgQEAgZXh0ZXJuIHN0cnVjdCBpbnRlcm5hbHZhciAqbG9va3VwX29ubHlfaW50ZXJuYWx2 YXIgKGNvbnN0IGNoYXIgKm5hbWUpOwogIAogIGV4dGVybiBzdHJ1Y3QgaW50ZXJuYWx2YXIgKmNy ZWF0ZV9pbnRlcm5hbHZhciAoY29uc3QgY2hhciAqbmFtZSk7CiAgCkBAIC0xNjE3Myw3ICsxNjEy OSw3IEBAIGluZGV4IDE2Nzg0N2YuLmNjZDY4ZmMgMTAwNjQ0CiAgZXh0ZXJuIHN0cnVjdCBpbnRl cm5hbHZhciAqbG9va3VwX2ludGVybmFsdmFyIChjb25zdCBjaGFyICpuYW1lKTsKICAKIGRpZmYg LS1naXQgYS9nZGIvd2luZG93cy10ZGVwLmMgYi9nZGIvd2luZG93cy10ZGVwLmMKLWluZGV4IDVl ODBhYWYuLmY1ZWU1ZmYgMTAwNjQ0CitpbmRleCBlMTExZDQxLi4xOGUzMTgwIDEwMDY0NAogLS0t IGEvZ2RiL3dpbmRvd3MtdGRlcC5jCiArKysgYi9nZGIvd2luZG93cy10ZGVwLmMKIEBAIC0yNjgs NyArMjY4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBsdmFsX2Z1bmNzIHRsYl92YWx1ZV9mdW5j cyA9CkBAIC0xNjIwOSwxMCArMTYxNjUsMTAgQEAgaW5kZXggNWU4MGFhZi4uZjVlZTVmZiAxMDA2 NDQKICsgIGNyZWF0ZV9pbnRlcm5hbHZhcl90eXBlX2xhenkgKCJfdGxiIiwgJnRsYl9mdW5jcywg TlVMTCk7CiAgfQogZGlmZiAtLWdpdCBhL2dkYi94Y29mZnJlYWQuYyBiL2dkYi94Y29mZnJlYWQu YwotaW5kZXggZDc3NjBlZS4uOGE4ZjVmYyAxMDA2NDQKK2luZGV4IDFhMmJiMTQuLmQ0M2U5NDYg MTAwNjQ0CiAtLS0gYS9nZGIveGNvZmZyZWFkLmMKICsrKyBiL2dkYi94Y29mZnJlYWQuYwotQEAg LTMxMjUsNiArMzEyNSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3ltX2ZucyB4Y29mZl9zeW1f Zm5zID0KK0BAIC0zMTIzLDYgKzMxMjMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5bV9mbnMg eGNvZmZfc3ltX2ZucyA9CiAgICBkZWZhdWx0X3N5bWZpbGVfc2VnbWVudHMsCS8qIEdldCBzZWdt ZW50IGluZm9ybWF0aW9uIGZyb20gYSBmaWxlLiAgKi8KICAgIGFpeF9wcm9jZXNzX2xpbmVub3Ms CiAgICBkZWZhdWx0X3N5bWZpbGVfcmVsb2NhdGUsCS8qIFJlbG9jYXRlIGEgZGVidWcgc2VjdGlv bi4gICovCgpkaWZmIC0tZ2l0IGEvZ2RiLWJ1aWxkLWxpYmdkYi0xb2YzLnBhdGNoIGIvZ2RiLWJ1 aWxkLWxpYmdkYi0xb2YzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2Zjg3 OWMwLi4wMDAwMDAwCi0tLSBhL2dkYi1idWlsZC1saWJnZGItMW9mMy5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDEyMyArMCwwIEBACi1odHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNo ZXMvMjAxMi0wMS9tc2cwMDE2OC5odG1sCi1TdWJqZWN0OiBbcGF0Y2ggMS8yXSBGaXggbGlua2lu ZyBvbiBub24teDg2KiBhZnRlciBsaWJnZGIuYSByZW1vdmFsCi0KLUhpLAotCi1JIGFtIHNvcnJ5 IGJ1dCBJIGZvdW5kIGFmdGVyIHRoZSBwYXRjaAotCVtwYXRjaCAyLzJdIERvIG5vdCBidWlsZCBs aWJnZGIuYSBieSBkZWZhdWx0Ci0JaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVz LzIwMTEtMTIvbXNnMDA3MTYuaHRtbAotCi1Gb3IgZXhhbXBsZSBzMzkweC1saW51eC1nbnUgbm8g bG9uZ2VyIGJ1aWxkcyBuYXRpdmUgR0RCOgotCWNvcmVsb3cubzooLmJzcysweDApOiBtdWx0aXBs ZSBkZWZpbml0aW9uIG9mIGBjb3JlX2dkYmFyY2gnCi0JY29yZWxvdy5vOiguYnNzKzB4MCk6IGZp cnN0IGRlZmluZWQgaGVyZQotCWNvcmVsb3cubzogSW4gZnVuY3Rpb24gYGRlcHJlY2F0ZWRfYWRk X2NvcmVfZm5zJzoKLQljb3JlbG93LmM6KC50ZXh0KzB4MCk6IG11bHRpcGxlIGRlZmluaXRpb24g b2YgYGRlcHJlY2F0ZWRfYWRkX2NvcmVfZm5zJwotCWNvcmVsb3cubzpjb3JlbG93LmM6KC50ZXh0 KzB4MCk6IGZpcnN0IGRlZmluZWQgaGVyZQotCi1JIGhhdmUgZm91bmQgbW9yZSBzdWNoIGR1cGxp Y2F0ZXM6Ci0KLXNvbGliLm8gaXMgY2xlYXIsIHRoYXQgb25lIGlzIG5vdyBpbiBDT01NT05fT0JT LiAgQlRXIGl0IHNlZW1zIHRoaXMgY2hhbmdlCi1icm9rZSBmdW5jdGlvbmFsaXR5IG9mIHhjb2Zm c29saWIuYyBkdWUgdG86Ci1wb3dlcnBjLSotYWl4KiB8IHJzNjAwMC0qLSopCi0gICAgICAgICAg ICAgICAgICAgICAgICBnZGJfaG9zdD1haXggOzsKLWFzIHhjb2Zmc29saWIuYyBwcm9iYWJseSBj YW5ub3Qgd29yayB3aXRoIHNvbGliLmMgdG9nZXRoZXIgYnV0IHRoYXQgaXMgb2ZmdG9waWMKLWhl cmUsIEkgZG8gbm90IGhhdmUgYWNjZXNzK2ludGVyZXN0IGluIEFJWC4KLQoteGNvZmZyZWFkLm8g aXMgYWxzbyBjbGVhciwgcG93ZXJwYy9haXgubWggTkFUREVQRklMRVMgZ2V0IHVzZWQgb25seSB0 b2dldGhlcgotd2l0aCBjb25maWd1cmUudGd0IGVudHJ5IGZvciB0aGUgc2FtZSB0YXJnZXQgd2hp Y2ggaXM6Ci1wb3dlcnBjLSotYWl4KiB8IHJzNjAwMC0qLSopCi0gICAgICAgICMgVGFyZ2V0OiBQ b3dlclBDIHJ1bm5pbmcgQUlYCi0gICAgICAgIGdkYl90YXJnZXRfb2JzPSJyczYwMDAtdGRlcC5v IHJzNjAwMC1haXgtdGRlcC5vIHhjb2ZmcmVhZC5vIFwKLSAgICAgICAgICAgICAgICAgICAgICAg IHBwYy1zeXN2LXRkZXAubyBzb2xpYi1zdnI0Lm8iCi0KLVRoZXJlIHJlbWFpbnMgdGhhdCBtb3Jl IGNvbXBsaWNhdGVkIGNvcmVsb3cubyBmb3IgdGhlIG5leHQgcGF0Y2guCi0KLWdkYnR1aSB3YXMg YmlnZ2VyIHBlcmZvcm1hbmNlIGhpdCB0aGFuIGxpYmdkYi5hIGJ1dCBhZnRlciBsaWJnZGIuYSBn b3QgcmVtb3ZlZAotSSBkbyBub3Qgd2FudCB0byByZXZlcnQgdGhhdCBwYXRjaCBhcyB0aGlzIGR1 cGxpY2l0eSBmaXggZG9lcyBub3QgbG9vayBoYXJkLgotCi0KLVNvcnJ5LAotSmFuCi0KLQotMjAx Mi0wMS0wNCAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgotCi0J UGFydGlhbGx5IGZpeCBkdXBsaWNhdGUgLm8gZmlsZXMgYWZ0ZXIgb21pdHRpbmcgbGliYmZkLmEu Ci0JKiBjb25maWcvYWxwaGEvYWxwaGEtb3NmMy5taCAoTkFUREVQRklMRVMpOiBSZW1vdmUgc29s aWIuby4KLQkqIGNvbmZpZy9pMzg2L25ic2Rhb3V0Lm1oIChOQVRERVBGSUxFUyk6IFJlbW92ZSBz b2xpYi5vLgotCSogY29uZmlnL2kzODYvb2JzZGFvdXQubWggKE5BVERFUEZJTEVTKTogUmVtb3Zl IHNvbGliLm8uCi0JKiBjb25maWcvbTY4ay9uYnNkYW91dC5taCAoTkFUREVQRklMRVMpOiBSZW1v dmUgc29saWIuby4KLQkqIGNvbmZpZy9tNjhrL29ic2QubWggKE5BVERFUEZJTEVTKTogUmVtb3Zl IHNvbGliLm8uCi0JKiBjb25maWcvcG93ZXJwYy9haXgubWggKE5BVERFUEZJTEVTKTogUmVtb3Zl IHhjb2ZmcmVhZC5vLgotCSogY29uZmlnL3ZheC9uYnNkYW91dC5taCAoTkFUREVQRklMRVMpOiBS ZW1vdmUgc29saWIuby4KLQotLS0tIGEvZ2RiL2NvbmZpZy9hbHBoYS9hbHBoYS1vc2YzLm1oCi0r KysgYi9nZGIvY29uZmlnL2FscGhhL2FscGhhLW9zZjMubWgKLUBAIC0xLDYgKzEsNiBAQAotICMg SG9zdDogTGl0dGxlLWVuZGlhbiBBbHBoYSBydW5uaW5nIE9TRi8xLTMueCBhbmQgaGlnaGVyIHVz aW5nIHByb2NmcwotIE5BVF9GSUxFPSBubS1vc2YzLmgKLSBOQVRERVBGSUxFUz0gY29yZWxvdy5v IGFscGhhLW5hdC5vIGZvcmstY2hpbGQubyBcCi0tCXNvbGliLW9zZi5vIHNvbGliLm8gcHJvY2Zz Lm8gcHJvYy1hcGkubyBwcm9jLWV2ZW50cy5vIHByb2MtZmxhZ3MubyBcCi0rCXNvbGliLW9zZi5v IHByb2Nmcy5vIHByb2MtYXBpLm8gcHJvYy1ldmVudHMubyBwcm9jLWZsYWdzLm8gXAotIAlwcm9j LXdoeS5vIGRlYy10aHJlYWQubwotIE5BVF9DTElCUz0gLWxwdGhyZWFkZGVidWcKLS0tLSBhL2dk Yi9jb25maWcvaTM4Ni9uYnNkYW91dC5taAotKysrIGIvZ2RiL2NvbmZpZy9pMzg2L25ic2Rhb3V0 Lm1oCi1AQCAtMSw2ICsxLDYgQEAKLSAjIEhvc3Q6IE5ldEJTRC9pMzg2IGEub3V0Ci0gTkFUREVQ RklMRVM9IGZvcmstY2hpbGQubyBpbmYtcHRyYWNlLm8gXAotIAluYnNkLW5hdC5vIGkzODZic2Qt bmF0Lm8gaTM4Nm5ic2QtbmF0Lm8gYnNkLWt2bS5vIFwKLS0Jc29saWIubyBzb2xpYi1zdW5vcy5v Ci0rCXNvbGliLXN1bm9zLm8KLSAKLSBMT0FETElCRVM9IC1sa3ZtCi0tLS0gYS9nZGIvY29uZmln L2kzODYvb2JzZGFvdXQubWgKLSsrKyBiL2dkYi9jb25maWcvaTM4Ni9vYnNkYW91dC5taAotQEAg LTEsNiArMSw2IEBACi0gIyBIb3N0OiBPcGVuQlNEL2kzODYgYS5vdXQKLSBOQVRERVBGSUxFUz0g Zm9yay1jaGlsZC5vIGluZi1wdHJhY2UubyBcCi0gCWkzODZic2QtbmF0Lm8gaTM4Nm5ic2QtbmF0 Lm8gaTM4Nm9ic2QtbmF0Lm8gYnNkLWt2bS5vIFwKLS0Jc29saWIubyBzb2xpYi1zdW5vcy5vCi0r CXNvbGliLXN1bm9zLm8KLSAKLSBMT0FETElCRVM9IC1sa3ZtCi0tLS0gYS9nZGIvY29uZmlnL202 OGsvbmJzZGFvdXQubWgKLSsrKyBiL2dkYi9jb25maWcvbTY4ay9uYnNkYW91dC5taAotQEAgLTEs NSArMSw1IEBACi0gIyBIb3N0OiBOZXRCU0QvbTY4ayBhLm91dAotIE5BVERFUEZJTEVTPSBtNjhr YnNkLW5hdC5vIGZvcmstY2hpbGQubyBpbmYtcHRyYWNlLm8gXAotLQlzb2xpYi5vIHNvbGliLXN1 bm9zLm8KLSsJc29saWItc3Vub3MubwotIAotIExPQURMSUJFUz0gLWxrdm0KLS0tLSBhL2dkYi9j b25maWcvbTY4ay9vYnNkLm1oCi0rKysgYi9nZGIvY29uZmlnL202OGsvb2JzZC5taAotQEAgLTEs NSArMSw1IEBACi0gIyBIb3N0OiBPcGVuQlNEL202OGsKLSBOQVRERVBGSUxFUz0gbTY4a2JzZC1u YXQubyBic2Qta3ZtLm8gZm9yay1jaGlsZC5vIGluZi1wdHJhY2UubyBcCi0tCXNvbGliLm8gc29s aWItc3Vub3MubwotKwlzb2xpYi1zdW5vcy5vCi0gCi0gTE9BRExJQkVTPSAtbGt2bQotLS0tIGEv Z2RiL2NvbmZpZy9wb3dlcnBjL2FpeC5taAotKysrIGIvZ2RiL2NvbmZpZy9wb3dlcnBjL2FpeC5t aAotQEAgLTQsNyArNCw3IEBAIE5BVF9GSUxFPSBjb25maWcvcnM2MDAwL25tLXJzNjAwMC5oCi0g Ci0gIyBhaXgtdGhyZWFkLm8gaXMgbm90IGxpc3RlZCBpbiBOQVRERVBGSUxFUyBhcyBpdCBpcyBw dWxsZWQgaW4gYnkgY29uZmlndXJlLgotIE5BVERFUEZJTEVTPSBmb3JrLWNoaWxkLm8gaW5mLXB0 cmFjZS5vIGNvcmVsb3cubyByczYwMDAtbmF0Lm8gXAotLQkgICAgIHhjb2ZmcmVhZC5vIHhjb2Zm c29saWIubwotKwkgICAgIHhjb2Zmc29saWIubwotIAotICMgV2hlbiBjb21waWxlZCB3aXRoIGNj LCBmb3IgZGVidWdnaW5nLCB0aGlzIGFyZ3VtZW50IHNob3VsZCBiZSBwYXNzZWQuCi0gIyBXZSBo YXZlIG5vIGlkZWEgd2hvIG91ciBjdXJyZW50IGNvbXBpbGVyIGlzIHRob3VnaCwgc28gd2Ugc2tp cCBpdC4KLS0tLSBhL2dkYi9jb25maWcvdmF4L25ic2Rhb3V0Lm1oCi0rKysgYi9nZGIvY29uZmln L3ZheC9uYnNkYW91dC5taAotQEAgLTEsNiArMSw2IEBACi0gIyBIb3N0OiBOZXRCU0QvdmF4IGEu b3V0Ci0gTkFUREVQRklMRVM9IGZvcmstY2hpbGQubyBpbmYtcHRyYWNlLm8gXAotIAl2YXhic2Qt bmF0Lm8gYnNkLWt2bS5vIFwKLS0Jc29saWIubyBzb2xpYi1zdW5vcy5vCi0rCXNvbGliLXN1bm9z Lm8KLSAKLSBMT0FETElCRVM9IC1sa3ZtCi0KCmRpZmYgLS1naXQgYS9nZGItYnVpbGQtbGliZ2Ri LTJvZjMucGF0Y2ggYi9nZGItYnVpbGQtbGliZ2RiLTJvZjMucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IGU2MzRhODkuLjAwMDAwMDAKLS0tIGEvZ2RiLWJ1aWxkLWxpYmdkYi0y b2YzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcwICswLDAgQEAKLWh0dHA6Ly9zb3VyY2V3 YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEyLTAxL21zZzAwMTcwLmh0bWwKLVN1YmplY3Q6IFtw YXRjaCAyLzJdIEZpeCBsaW5raW5nIG9uIG5vbi14ODYqIGFmdGVyIGxpYmdkYi5hIHJlbW92YWwK LQotSGksCi0KLXRoaXMgaXMgdGhlIHNlY29uZCBwYXJ0IGZvciBzb2x2aW5nIGNvcmVsb3cgYWZ0 ZXIgdGhlIHMzOTB4IHJlZ3Jlc3Npb246Ci0JW3BhdGNoIDIvMl0gRG8gbm90IGJ1aWxkIGxpYmdk Yi5hIGJ5IGRlZmF1bHQKLQlodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAx MS0xMi9tc2cwMDcxNi5odG1sCi0tPgotCWNvcmVsb3cubzooLmJzcysweDApOiBtdWx0aXBsZSBk ZWZpbml0aW9uIG9mIGBjb3JlX2dkYmFyY2gnCi0JY29yZWxvdy5vOiguYnNzKzB4MCk6IGZpcnN0 IGRlZmluZWQgaGVyZQotCWNvcmVsb3cubzogSW4gZnVuY3Rpb24gYGRlcHJlY2F0ZWRfYWRkX2Nv cmVfZm5zJzoKLQljb3JlbG93LmM6KC50ZXh0KzB4MCk6IG11bHRpcGxlIGRlZmluaXRpb24gb2Yg YGRlcHJlY2F0ZWRfYWRkX2NvcmVfZm5zJwotCWNvcmVsb3cubzpjb3JlbG93LmM6KC50ZXh0KzB4 MCk6IGZpcnN0IGRlZmluZWQgaGVyZQotCi0KLUZvciB0YXJnZXRzIHVzaW5nIG5ldyBzZXRfZ2Ri YXJjaF9yZWdzZXRfZnJvbV9jb3JlX3NlY3Rpb24gaXQgd291bGQgbm90IGJlCi1hIHByb2JsZW0s IGp1c3QgcHV0IGNvcmVsb3cubyBpbnRvIHRoZSByaWdodCBlbnRyeSBvZiBnZGIvY29uZmlndXJl LnRndC4KLQotQnV0IGZvciBsZWdhY3kgdGFyZ2V0cyBzdGlsbCB1c2luZyBkZXByZWNhdGVkX2Fk ZF9jb3JlX2ZucyAobGlrZQotc3BhcmMtc29sYXJpczIuNiBldGMuKSB0aGUgYWRkaXRpb24gdG8g Z2RiL2NvbmZpZ3VyZS50Z3Qgd291bGQgZW5hYmxlCi1jb3JlbG93Lm8gZXZlbiBmb3IgY3Jvc3Mt dGFyZ2V0ZWQgR0RCcyB3aGVyZSB0aGVyZSBpcyB1bmZvcnR1bmF0ZWx5IHN0aWxsIG5vCi1jb3Jl IGZpbGVzIHN1cHBvcnQuCi0KLUNyZWF0ZWQgdGhlIG9yaWdpbmFsIGNvbmZpZ3VyYXRpb24sIGp1 c3QgYXZvaWRpbmcgYSBkdXBsaWNhdGUgY29yZWxvdy5vIGVudHJ5LgotQSBiZXR0ZXIgaWRlYSBp cyB3ZWxjb21lLgotCi0oczM5MHggbm90IGF2YWlsYWJsZSBub3cgZm9yIGEgdGVzdCBidXQgaXQg c2hvdWxkIHdvcmsgSSBob3BlLikKLQotCi1Tb3JyeSwKLUphbgotCi0KLTIwMTItMDEtMDQgIEph biBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLQotCUZpeCBkdXBsaWNh dGUgLm8gZmlsZXMgYWZ0ZXIgb21pdHRpbmcgbGliYmZkLmEuCi0JKiBNYWtlZmlsZS5pbiAoQ09S RUxPV19PKTogTmV3IGRlZmluaXRpb24uCi0JKEFMTF9UQVJHRVRfT0JTKTogUmVtb3ZlIGNvcmVs b3cuby4KLQkoREVQRklMRVMpOiBBZGQgJChDT1JFTE9XX08pLgotCSogY29uZmlnL2FscGhhL2Fs cGhhLWxpbnV4Lm1oIChOQVRERVBGSUxFUyk6IFJlbW92ZSBjb3JlbG93Lm8uCi0JKENPUkVMT1df Tyk6IE5ldyBkZWZpbml0aW9uLgotCSogY29uZmlnL2FscGhhL2FscGhhLW9zZjMubWg6IExpa2V3 aXNlLgotCSogY29uZmlnL2FscGhhL2Zic2QubWg6IExpa2V3aXNlLgotCSogY29uZmlnL2FybS9u YnNkYW91dC5taDogTGlrZXdpc2UuCi0JKiBjb25maWcvYXJtL25ic2RlbGYubWg6IExpa2V3aXNl LgotCSogY29uZmlnL2kzODYvaTM4NmdudS5taDogTGlrZXdpc2UuCi0JKiBjb25maWcvaWE2NC9o cHV4Lm1oOiBMaWtld2lzZS4KLQkqIGNvbmZpZy9pYTY0L2xpbnV4Lm1oOiBMaWtld2lzZS4KLQkq IGNvbmZpZy9tMzJyL2xpbnV4Lm1oOiBMaWtld2lzZS4KLQkqIGNvbmZpZy9tNjhrL2xpbnV4Lm1o OiBMaWtld2lzZS4KLQkqIGNvbmZpZy9taXBzL2lyaXg1Lm1oOiBMaWtld2lzZS4KLQkqIGNvbmZp Zy9taXBzL2lyaXg2Lm1oOiBMaWtld2lzZS4KLQkqIGNvbmZpZy9wYS9ocHV4Lm1oOiBMaWtld2lz ZS4KLQkqIGNvbmZpZy9wYS9saW51eC5taDogTGlrZXdpc2UuCi0JKiBjb25maWcvcG93ZXJwYy9h aXgubWg6IExpa2V3aXNlLgotCSogY29uZmlnL3MzOTAvczM5MC5taDogTGlrZXdpc2UuCi0JKiBj b25maWcvc3BhcmMvbGludXgubWg6IExpa2V3aXNlLgotCSogY29uZmlnL3NwYXJjL2xpbnV4NjQu bWg6IExpa2V3aXNlLgotCSogY29uZmlnL3NwYXJjL3NvbDIubWg6IExpa2V3aXNlLgotCSogY29u ZmlnL3ZheC92YXgubWg6IExpa2V3aXNlLgotCSogY29uZmlndXJlOiBSZWdlbmVyYXRlLgotCSog Y29uZmlndXJlLmFjIChDT1JFTE9XX08pOiBOZXcgdmFyaWFibGUuCi0JKGdkYl90YXJnZXRfb2Jz KTogRXhjbHVkZSBjb3JlbG93Lm8gYW5kIHNldCBDT1JFTE9XX08gaW5zdGVhZC4KLQkoYWxsX3Rh cmdldHMpOiBTZXQgQ09SRUxPV19PLgotCShDT1JFTE9XX08pOiBBQ19TVUJTVCBpdC4KLQotLS0t IGEvZ2RiL01ha2VmaWxlLmluCi0rKysgYi9nZGIvTWFrZWZpbGUuaW4KLUBAIC01MTIsNiArNTEy LDEyIEBAIFNJTV9PQlMgPSBAU0lNX09CU0AKLSAjIFRhcmdldC1kZXBlbmRlbnQgb2JqZWN0IGZp bGVzLgotIFRBUkdFVF9PQlMgPSBAVEFSR0VUX09CU0AKLSAKLSsjIGNvcmVsb3cubyBtYXkgYmUg cmVxdWVzdGVkIGJ5IGVpdGhlciBjb25maWcvKi8qLm1oIGZpbGUgb3IgZm9yIEFMTF9UQVJHRVRf T0JTCi0rIyBvciBmb3Igc3BlY2lmaWMgdGFyZ2V0KHMpIGZyb20gY29uZmlndXJlLnRndC4gIEF2 b2lkIGR1cGxpY2F0aW5nIGl0LgotKyMgQ09SRUxPV19PIG1heSBnZXQgb3ZlcnJpZGVuIChzZXQg dG8gY29yZWxvdy5vKSBieSAnaG9zdF9tYWtlZmlsZV9mcmFnJyBiZWxvdy4KLSsjIENPUkVMT1df TyBpcyBhc3N1bWVkIHRvIGJlIGNvcmVsb3cubyBmb3IgQUxMX1RBUkdFVF9PQlMuCi0rQ09SRUxP V19PIDo9IEBDT1JFTE9XX09ACi0rCi0gIyBBbGwgdGFyZ2V0LWRlcGVuZGVudCBvYmplY3RzIGZp bGVzIHRoYXQgcmVxdWlyZSA2NC1iaXQgQ09SRV9BRERSCi0gIyAodXNlZCB3aXRoIC0tZW5hYmxl LXRhcmdldHM9YWxsIC0tZW5hYmxlLTY0LWJpdC1iZmQpLgotIEFMTF82NF9UQVJHRVRfT0JTID0g XAotQEAgLTU4MSw3ICs1ODcsNiBAQCBBTExfVEFSR0VUX09CUyA9IFwKLSAJcmVtb3RlLW0zMnIt c2RpLm8gcmVtb3RlLW1pcHMubyBcCi0gCXhjb2ZmcmVhZC5vIFwKLSAJc3ltZmlsZS1tZW0ubyBc Ci0tCWNvcmVsb3cubyBcCi0gCXdpbmRvd3MtdGRlcC5vIFwKLSAJbGludXgtcmVjb3JkLm8KLSAK LUBAIC04NDMsNyArODQ4LDcgQEAgUkVNT1RFX0VYQU1QTEVTID0gbTY4ay1zdHViLmMgaTM4Ni1z dHViLmMgc3BhcmMtc3R1Yi5jIHJlbS1tdWx0aS5zaGFyCi0gIyB2YXJpYWJsZXMgYW5hbG9nb3Vz IHRvIFNFUl9IQVJEV0lSRSB3aGljaCBnZXQgZGVmYXVsdGVkIGluIHRoaXMKLSAjIE1ha2VmaWxl LmluCi0gCi0tREVQRklMRVMgPSAkKFRBUkdFVF9PQlMpICQoU0VSX0hBUkRXSVJFKSAkKE5BVERF UEZJTEVTKSBcCi0rREVQRklMRVMgPSAkKFRBUkdFVF9PQlMpICQoU0VSX0hBUkRXSVJFKSAkKE5B VERFUEZJTEVTKSAkKENPUkVMT1dfTykgXAotIAkgICAkKFJFTU9URV9PQlMpICQoU0lNX09CUykK LSAKLSBTT1VSQ0VTID0gJChTRklMRVMpICQoQUxMREVQRklMRVMpICQoWVlGSUxFUykgJChDT05G SUdfU1JDUykKLS0tLSBhL2dkYi9jb25maWcvYWxwaGEvYWxwaGEtbGludXgubWgKLSsrKyBiL2dk Yi9jb25maWcvYWxwaGEvYWxwaGEtbGludXgubWgKLUBAIC0xLDggKzEsOSBAQAotICMgSG9zdDog TGl0dGxlLWVuZGlhbiBBbHBoYSBydW5uaW5nIExpbnV4Ci0gTkFUX0ZJTEU9IGNvbmZpZy9ubS1s aW51eC5oCi0tTkFUREVQRklMRVM9IGluZi1wdHJhY2UubyBjb3JlbG93Lm8gYWxwaGEtbGludXgt bmF0Lm8gXAotK05BVERFUEZJTEVTPSBpbmYtcHRyYWNlLm8gYWxwaGEtbGludXgtbmF0Lm8gXAot IAlmb3JrLWNoaWxkLm8gcHJvYy1zZXJ2aWNlLm8gbGludXgtdGhyZWFkLWRiLm8gXAotIAlsaW51 eC1uYXQubyBsaW51eC1vc2RhdGEubyBsaW51eC1mb3JrLm8gbGludXgtcHJvY2ZzLm8KLStDT1JF TE9XX08gOj0gY29yZWxvdy5vCi0gTkFUX0NERVBTID0gJChzcmNkaXIpL3Byb2Mtc2VydmljZS5s aXN0Ci0gCi0gIyBUaGUgZHluYW1pY2FsbHkgbG9hZGVkIGxpYnRocmVhZF9kYiBuZWVkcyBhY2Nl c3MgdG8gc3ltYm9scyBpbiB0aGUKLS0tLSBhL2dkYi9jb25maWcvYWxwaGEvYWxwaGEtb3NmMy5t aAotKysrIGIvZ2RiL2NvbmZpZy9hbHBoYS9hbHBoYS1vc2YzLm1oCi1AQCAtMSw2ICsxLDcgQEAK LSAjIEhvc3Q6IExpdHRsZS1lbmRpYW4gQWxwaGEgcnVubmluZyBPU0YvMS0zLnggYW5kIGhpZ2hl ciB1c2luZyBwcm9jZnMKLSBOQVRfRklMRT0gbm0tb3NmMy5oCi0tTkFUREVQRklMRVM9IGNvcmVs b3cubyBhbHBoYS1uYXQubyBmb3JrLWNoaWxkLm8gXAotK05BVERFUEZJTEVTPSBhbHBoYS1uYXQu byBmb3JrLWNoaWxkLm8gXAotIAlzb2xpYi1vc2YubyBwcm9jZnMubyBwcm9jLWFwaS5vIHByb2Mt ZXZlbnRzLm8gcHJvYy1mbGFncy5vIFwKLSAJcHJvYy13aHkubyBkZWMtdGhyZWFkLm8KLStDT1JF TE9XX08gOj0gY29yZWxvdy5vCi0gTkFUX0NMSUJTPSAtbHB0aHJlYWRkZWJ1ZwotLS0tIGEvZ2Ri L2NvbmZpZy9hbHBoYS9mYnNkLm1oCi0rKysgYi9nZGIvY29uZmlnL2FscGhhL2Zic2QubWgKLUBA IC0xLDYgKzEsNyBAQAotICMgSG9zdDogRnJlZUJTRC9hbHBoYQotIE5BVERFUEZJTEVTPSBmb3Jr LWNoaWxkLm8gaW5mLXB0cmFjZS5vIFwKLSAJZmJzZC1uYXQubyBhbHBoYWJzZC1uYXQubyBic2Qt a3ZtLm8gXAotLQljb3JlbG93Lm8gY29yZS1yZWdzZXQubwotKwljb3JlLXJlZ3NldC5vCi0rQ09S RUxPV19PIDo9IGNvcmVsb3cubwotIAotIExPQURMSUJFUz0gLWxrdm0KLS0tLSBhL2dkYi9jb25m aWcvYXJtL25ic2Rhb3V0Lm1oCi0rKysgYi9nZGIvY29uZmlnL2FybS9uYnNkYW91dC5taAotQEAg LTEsMyArMSw0IEBACi0gIyBIb3N0OiBOZXRCU0QvYXJtCi0tTkFUREVQRklMRVM9IGZvcmstY2hp bGQubyBpbmYtcHRyYWNlLm8gY29yZWxvdy5vIGFybW5ic2QtbmF0Lm8gXAotK05BVERFUEZJTEVT PSBmb3JrLWNoaWxkLm8gaW5mLXB0cmFjZS5vIGFybW5ic2QtbmF0Lm8gXAotIAlzb2xpYi1zdW5v cy5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cubwotLS0tIGEvZ2RiL2NvbmZpZy9hcm0vbmJzZGVs Zi5taAotKysrIGIvZ2RiL2NvbmZpZy9hcm0vbmJzZGVsZi5taAotQEAgLTEsMiArMSwzIEBACi0g IyBIb3N0OiBOZXRCU0QvYXJtCi0tTkFUREVQRklMRVM9IGZvcmstY2hpbGQubyBpbmYtcHRyYWNl Lm8gY29yZWxvdy5vIGFybW5ic2QtbmF0Lm8KLStOQVRERVBGSUxFUz0gZm9yay1jaGlsZC5vIGlu Zi1wdHJhY2UubyBhcm1uYnNkLW5hdC5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cubwotLS0tIGEv Z2RiL2NvbmZpZy9pMzg2L2kzODZnbnUubWgKLSsrKyBiL2dkYi9jb25maWcvaTM4Ni9pMzg2Z251 Lm1oCi1AQCAtMSw3ICsxLDggQEAKLSAjIEhvc3Q6IEludGVsIDM4NiBydW5uaW5nIHRoZSBHTlUg SHVyZAotLU5BVERFUEZJTEVTPSBpMzg2Z251LW5hdC5vIGdudS1uYXQubyBjb3JlbG93Lm8gY29y ZS1yZWdzZXQubyBmb3JrLWNoaWxkLm8gXAotK05BVERFUEZJTEVTPSBpMzg2Z251LW5hdC5vIGdu dS1uYXQubyBjb3JlLXJlZ3NldC5vIGZvcmstY2hpbGQubyBcCi0gCSAgICAgbm90aWZ5X1MubyBw cm9jZXNzX3JlcGx5X1MubyBtc2dfcmVwbHlfUy5vIFwKLSAJICAgICBtc2dfVS5vIGV4Y19yZXF1 ZXN0X1UubyBleGNfcmVxdWVzdF9TLm8KLStDT1JFTE9XX08gOj0gY29yZWxvdy5vCi0gCi0gTkFU X0ZJTEU9IG5tLWkzODZnbnUuaAotIE1IX0NGTEFHUyA9IC1EX0dOVV9TT1VSQ0UKLS0tLSBhL2dk Yi9jb25maWcvaWE2NC9ocHV4Lm1oCi0rKysgYi9nZGIvY29uZmlnL2lhNjQvaHB1eC5taAotQEAg LTEsMyArMSw0IEBACi0gIyBIb3N0OiBpYTY0IHJ1bm5pbmcgSFAtVVgKLS1OQVRERVBGSUxFUz0g Zm9yay1jaGlsZC5vIGluZi10dHJhY2UubyBjb3JlbG93Lm8gaWE2NC1ocHV4LW5hdC5vIFwKLStO QVRERVBGSUxFUz0gZm9yay1jaGlsZC5vIGluZi10dHJhY2UubyBpYTY0LWhwdXgtbmF0Lm8gXAot ICAgICAgICAgc29saWItaWE2NC1ocHV4Lm8KLStDT1JFTE9XX08gOj0gY29yZWxvdy5vCi0tLS0g YS9nZGIvY29uZmlnL2lhNjQvbGludXgubWgKLSsrKyBiL2dkYi9jb25maWcvaWE2NC9saW51eC5t aAotQEAgLTEsMTEgKzEsMTIgQEAKLSAjIEhvc3Q6IEludGVsIElBLTY0IHJ1bm5pbmcgR05VL0xp bnV4Ci0gCi0gTkFUX0ZJTEU9IGNvbmZpZy9ubS1saW51eC5oCi0tTkFUREVQRklMRVM9IGluZi1w dHJhY2UubyBmb3JrLWNoaWxkLm8gY29yZWxvdy5vIFwKLStOQVRERVBGSUxFUz0gaW5mLXB0cmFj ZS5vIGZvcmstY2hpbGQubyBcCi0gCWNvcmUtcmVnc2V0Lm8gaWE2NC1saW51eC1uYXQubyBcCi0g CXByb2Mtc2VydmljZS5vIGxpbnV4LXRocmVhZC1kYi5vIFwKLSAJbGludXgtbmF0Lm8gbGludXgt b3NkYXRhLm8gbGludXgtZm9yay5vIFwKLSAJbGludXgtcHJvY2ZzLm8KLStDT1JFTE9XX08gOj0g Y29yZWxvdy5vCi0gTkFUX0NERVBTID0gJChzcmNkaXIpL3Byb2Mtc2VydmljZS5saXN0Ci0gCi0g TE9BRExJQkVTID0gLWxkbCAkKFJEWU5BTUlDKQotLS0tIGEvZ2RiL2NvbmZpZy9tMzJyL2xpbnV4 Lm1oCi0rKysgYi9nZGIvY29uZmlnL20zMnIvbGludXgubWgKLUBAIC0xLDkgKzEsMTAgQEAKLSAj IEhvc3Q6IE0zMlIgYmFzZWQgbWFjaGluZSBydW5uaW5nIEdOVS9MaW51eAotIAotIE5BVF9GSUxF PSBjb25maWcvbm0tbGludXguaAotLU5BVERFUEZJTEVTPSBpbmYtcHRyYWNlLm8gZm9yay1jaGls ZC5vIGNvcmVsb3cubwlcCi0rTkFUREVQRklMRVM9IGluZi1wdHJhY2UubyBmb3JrLWNoaWxkLm8J CQkJXAotIAltMzJyLWxpbnV4LW5hdC5vIHByb2Mtc2VydmljZS5vIGxpbnV4LXRocmVhZC1kYi5v CVwKLSAJbGludXgtbmF0Lm8gbGludXgtb3NkYXRhLm8gbGludXgtZm9yay5vIGxpbnV4LXByb2Nm cy5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cubwotIE5BVF9DREVQUyA9ICQoc3JjZGlyKS9wcm9j LXNlcnZpY2UubGlzdAotIAotIExPQURMSUJFUz0gLWxkbCAkKFJEWU5BTUlDKQotLS0tIGEvZ2Ri L2NvbmZpZy9tNjhrL2xpbnV4Lm1oCi0rKysgYi9nZGIvY29uZmlnL202OGsvbGludXgubWgKLUBA IC0yLDkgKzIsMTAgQEAKLSAKLSBOQVRfRklMRT0gY29uZmlnL25tLWxpbnV4LmgKLSBOQVRERVBG SUxFUz0gaW5mLXB0cmFjZS5vIGZvcmstY2hpbGQubyBcCi0tCWNvcmVsb3cubyBtNjhrbGludXgt bmF0Lm8gXAotKwltNjhrbGludXgtbmF0Lm8gXAotIAlwcm9jLXNlcnZpY2UubyBsaW51eC10aHJl YWQtZGIubyBcCi0gCWxpbnV4LW5hdC5vIGxpbnV4LW9zZGF0YS5vIGxpbnV4LWZvcmsubyBsaW51 eC1wcm9jZnMubwotK0NPUkVMT1dfTyA6PSBjb3JlbG93Lm8KLSBOQVRfQ0RFUFMgPSAkKHNyY2Rp cikvcHJvYy1zZXJ2aWNlLmxpc3QKLSAKLSAjIFRoZSBkeW5hbWljYWxseSBsb2FkZWQgbGlidGhy ZWFkX2RiIG5lZWRzIGFjY2VzcyB0byBzeW1ib2xzIGluIHRoZQotLS0tIGEvZ2RiL2NvbmZpZy9t aXBzL2lyaXg1Lm1oCi0rKysgYi9nZGIvY29uZmlnL21pcHMvaXJpeDUubWgKLUBAIC0xLDMgKzEs NCBAQAotICMgSG9zdDogU0dJIElyaXMgcnVubmluZyBpcml4IDUueAotLU5BVERFUEZJTEVTPSBm b3JrLWNoaWxkLm8gaXJpeDUtbmF0Lm8gY29yZWxvdy5vIHByb2Nmcy5vIFwKLStOQVRERVBGSUxF Uz0gZm9yay1jaGlsZC5vIGlyaXg1LW5hdC5vIHByb2Nmcy5vIFwKLSAJcHJvYy1hcGkubyBwcm9j LWV2ZW50cy5vIHByb2MtZmxhZ3MubyBwcm9jLXdoeS5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cu bwotLS0tIGEvZ2RiL2NvbmZpZy9taXBzL2lyaXg2Lm1oCi0rKysgYi9nZGIvY29uZmlnL21pcHMv aXJpeDYubWgKLUBAIC0xLDMgKzEsNCBAQAotICMgSG9zdDogU0dJIElyaXMgcnVubmluZyBpcml4 IDYueAotLU5BVERFUEZJTEVTPSBmb3JrLWNoaWxkLm8gaXJpeDUtbmF0Lm8gY29yZWxvdy5vIHBy b2Nmcy5vIFwKLStOQVRERVBGSUxFUz0gZm9yay1jaGlsZC5vIGlyaXg1LW5hdC5vIHByb2Nmcy5v IFwKLSAJcHJvYy1hcGkubyBwcm9jLWV2ZW50cy5vIHByb2MtZmxhZ3MubyBwcm9jLXdoeS5vCi0r Q09SRUxPV19PIDo9IGNvcmVsb3cubwotLS0tIGEvZ2RiL2NvbmZpZy9wYS9ocHV4Lm1oCi0rKysg Yi9nZGIvY29uZmlnL3BhL2hwdXgubWgKLUBAIC0xLDMgKzEsNCBAQAotICMgSG9zdDogUEEtUklT QyBIUC1VWAotIE5BVERFUEZJTEVTPSBmb3JrLWNoaWxkLm8gaW5mLXB0cmFjZS5vIGluZi10dHJh Y2UubyBcCi0tCWhwcGEtaHB1eC1uYXQubyBjb3JlbG93Lm8gc29tcmVhZC5vCi0rCWhwcGEtaHB1 eC1uYXQubyBzb21yZWFkLm8KLStDT1JFTE9XX08gOj0gY29yZWxvdy5vCi0tLS0gYS9nZGIvY29u ZmlnL3BhL2xpbnV4Lm1oCi0rKysgYi9nZGIvY29uZmlnL3BhL2xpbnV4Lm1oCi1AQCAtMSw5ICsx LDEwIEBACi0gIyBIb3N0OiBIZXdsZXR0LVBhY2thcmQgUEEtUklTQyBtYWNoaW5lLCBydW5uaW5n IExpbnV4Ci0gTkFUX0ZJTEU9IGNvbmZpZy9ubS1saW51eC5oCi0tTkFUREVQRklMRVM9IGluZi1w dHJhY2UubyBmb3JrLWNoaWxkLm8gY29yZWxvdy5vIFwKLStOQVRERVBGSUxFUz0gaW5mLXB0cmFj ZS5vIGZvcmstY2hpbGQubyBcCi0gCWhwcGEtbGludXgtbmF0Lm8gcHJvYy1zZXJ2aWNlLm8gbGlu dXgtdGhyZWFkLWRiLm8gXAotIAlsaW51eC1uYXQubyBsaW51eC1vc2RhdGEubyBsaW51eC1mb3Jr Lm8gXAotIAlsaW51eC1wcm9jZnMubwotK0NPUkVMT1dfTyA6PSBjb3JlbG93Lm8KLSBOQVRfQ0RF UFMgPSAkKHNyY2RpcikvcHJvYy1zZXJ2aWNlLmxpc3QKLSAKLSBMT0FETElCRVMgPSAtbGRsICQo UkRZTkFNSUMpCi0tLS0gYS9nZGIvY29uZmlnL3Bvd2VycGMvYWl4Lm1oCi0rKysgYi9nZGIvY29u ZmlnL3Bvd2VycGMvYWl4Lm1oCi1AQCAtMyw4ICszLDkgQEAKLSBOQVRfRklMRT0gY29uZmlnL3Jz NjAwMC9ubS1yczYwMDAuaAotIAotICMgYWl4LXRocmVhZC5vIGlzIG5vdCBsaXN0ZWQgaW4gTkFU REVQRklMRVMgYXMgaXQgaXMgcHVsbGVkIGluIGJ5IGNvbmZpZ3VyZS4KLS1OQVRERVBGSUxFUz0g Zm9yay1jaGlsZC5vIGluZi1wdHJhY2UubyBjb3JlbG93Lm8gcnM2MDAwLW5hdC5vIFwKLStOQVRE RVBGSUxFUz0gZm9yay1jaGlsZC5vIGluZi1wdHJhY2UubyByczYwMDAtbmF0Lm8gXAotIAkgICAg IHhjb2Zmc29saWIubwotK0NPUkVMT1dfTyA6PSBjb3JlbG93Lm8KLSAKLSAjIFdoZW4gY29tcGls ZWQgd2l0aCBjYywgZm9yIGRlYnVnZ2luZywgdGhpcyBhcmd1bWVudCBzaG91bGQgYmUgcGFzc2Vk LgotICMgV2UgaGF2ZSBubyBpZGVhIHdobyBvdXIgY3VycmVudCBjb21waWxlciBpcyB0aG91Z2gs IHNvIHdlIHNraXAgaXQuCi0tLS0gYS9nZGIvY29uZmlnL3MzOTAvczM5MC5taAotKysrIGIvZ2Ri L2NvbmZpZy9zMzkwL3MzOTAubWgKLUBAIC0xLDcgKzEsOCBAQAotICMgSG9zdDogUzM5MCwgcnVu bmluZyBMaW51eAotIE5BVF9GSUxFPSBjb25maWcvbm0tbGludXguaAotLU5BVERFUEZJTEVTPSBp bmYtcHRyYWNlLm8gZm9yay1jaGlsZC5vIGNvcmVsb3cubyBzMzkwLW5hdC5vIFwKLStOQVRERVBG SUxFUz0gaW5mLXB0cmFjZS5vIGZvcmstY2hpbGQubyBzMzkwLW5hdC5vIFwKLSAJbGludXgtdGhy ZWFkLWRiLm8gcHJvYy1zZXJ2aWNlLm8gXAotIAlsaW51eC1uYXQubyBsaW51eC1vc2RhdGEubyBs aW51eC1mb3JrLm8gbGludXgtcHJvY2ZzLm8KLStDT1JFTE9XX08gOj0gY29yZWxvdy5vCi0gTkFU X0NERVBTID0gJChzcmNkaXIpL3Byb2Mtc2VydmljZS5saXN0Ci0gTE9BRExJQkVTID0gLWxkbCAk KFJEWU5BTUlDKQotLS0tIGEvZ2RiL2NvbmZpZy9zcGFyYy9saW51eC5taAotKysrIGIvZ2RiL2Nv bmZpZy9zcGFyYy9saW51eC5taAotQEAgLTEsMTAgKzEsMTEgQEAKLSAjIEhvc3Q6IEdOVS9MaW51 eCBTUEFSQwotIE5BVF9GSUxFPSBjb25maWcvbm0tbGludXguaAotIE5BVERFUEZJTEVTPSBzcGFy Yy1uYXQubyBzcGFyYy1saW51eC1uYXQubyBcCi0tCWNvcmVsb3cubyBjb3JlLXJlZ3NldC5vIGZv cmstY2hpbGQubyBpbmYtcHRyYWNlLm8gXAotKwljb3JlLXJlZ3NldC5vIGZvcmstY2hpbGQubyBp bmYtcHRyYWNlLm8gXAotIAlwcm9jLXNlcnZpY2UubyBsaW51eC10aHJlYWQtZGIubyBcCi0gCWxp bnV4LW5hdC5vIGxpbnV4LW9zZGF0YS5vIGxpbnV4LWZvcmsubyBcCi0gCWxpbnV4LXByb2Nmcy5v Ci0rQ09SRUxPV19PIDo9IGNvcmVsb3cubwotIE5BVF9DREVQUyA9ICQoc3JjZGlyKS9wcm9jLXNl cnZpY2UubGlzdAotIAotICMgVGhlIGR5bmFtaWNhbGx5IGxvYWRlZCBsaWJ0aHJlYWRfZGIgbmVl ZHMgYWNjZXNzIHRvIHN5bWJvbHMgaW4gdGhlCi0tLS0gYS9nZGIvY29uZmlnL3NwYXJjL2xpbnV4 NjQubWgKLSsrKyBiL2dkYi9jb25maWcvc3BhcmMvbGludXg2NC5taAotQEAgLTEsMTEgKzEsMTIg QEAKLSAjIEhvc3Q6IEdOVS9MaW51eCBVbHRyYVNQQVJDCi0gTkFUX0ZJTEU9IGNvbmZpZy9ubS1s aW51eC5oCi0gTkFUREVQRklMRVM9IHNwYXJjLW5hdC5vIHNwYXJjNjQtbmF0Lm8gc3BhcmM2NC1s aW51eC1uYXQubyBcCi0tCWNvcmVsb3cubyBjb3JlLXJlZ3NldC5vIFwKLSsJY29yZS1yZWdzZXQu byBcCi0gCWZvcmstY2hpbGQubyBpbmYtcHRyYWNlLm8gXAotIAlwcm9jLXNlcnZpY2UubyBsaW51 eC10aHJlYWQtZGIubyBcCi0gCWxpbnV4LW5hdC5vIGxpbnV4LW9zZGF0YS5vIGxpbnV4LWZvcmsu byBcCi0gCWxpbnV4LXByb2Nmcy5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cubwotIE5BVF9DREVQ UyA9ICQoc3JjZGlyKS9wcm9jLXNlcnZpY2UubGlzdAotIAotICMgVGhlIGR5bmFtaWNhbGx5IGxv YWRlZCBsaWJ0aHJlYWRfZGIgbmVlZHMgYWNjZXNzIHRvIHN5bWJvbHMgaW4gdGhlCi0tLS0gYS9n ZGIvY29uZmlnL3NwYXJjL3NvbDIubWgKLSsrKyBiL2dkYi9jb25maWcvc3BhcmMvc29sMi5taAot QEAgLTEsNSArMSw2IEBACi0gIyBIb3N0OiBTb2xhcmlzIFNQQVJDICYgVWx0cmFTUEFSQwotIE5B VF9GSUxFPSBubS1zb2wyLmgKLSBOQVRERVBGSUxFUz0gc3BhcmMtc29sMi1uYXQubyBcCi0tCWNv cmVsb3cubyBjb3JlLXJlZ3NldC5vIGZvcmstY2hpbGQubyBcCi0rCWNvcmUtcmVnc2V0Lm8gZm9y ay1jaGlsZC5vIFwKLSAJcHJvY2ZzLm8gcHJvYy1hcGkubyBwcm9jLWV2ZW50cy5vIHByb2MtZmxh Z3MubyBwcm9jLXdoeS5vCi0rQ09SRUxPV19PIDo9IGNvcmVsb3cubwotLS0tIGEvZ2RiL2NvbmZp Zy92YXgvdmF4Lm1oCi0rKysgYi9nZGIvY29uZmlnL3ZheC92YXgubWgKLUBAIC0xLDIgKzEsMyBA QAotICMgSG9zdDogVkFYIHJ1bm5pbmcgNC4yQlNEIG9yIFVsdHJpeAotLU5BVERFUEZJTEVTPSB2 YXgtbmF0Lm8gZm9yay1jaGlsZC5vIGluZi1wdHJhY2UubyBjb3JlbG93Lm8KLStOQVRERVBGSUxF Uz0gdmF4LW5hdC5vIGZvcmstY2hpbGQubyBpbmYtcHRyYWNlLm8KLStDT1JFTE9XX08gOj0gY29y ZWxvdy5vCi0tLS0gYS9nZGIvY29uZmlndXJlLmFjCi0rKysgYi9nZGIvY29uZmlndXJlLmFjCi1A QCAtMTc0LDYgKzE3NCw3IEBAIGZpCi0gIyBBY2N1bXVsYXRlIHNvbWUgc2V0dGluZ3MgZnJvbSBj b25maWd1cmUudGd0IG92ZXIgYWxsIGVuYWJsZWQgdGFyZ2V0cwotIAotIFRBUkdFVF9PQlM9Ci0r Q09SRUxPV19PPQotIGFsbF90YXJnZXRzPQotIAotIGZvciB0YXJnX2FsaWFzIGluIGBlY2hvICR0 YXJnZXRfYWxpYXMgJGVuYWJsZV90YXJnZXRzIHwgc2VkICdzLywvIC9nJ2AKLUBAIC0xOTYsMTIg KzE5NywxNiBAQCBkbwotIAotICAgICAjIFRhcmdldC1zcGVjaWZpYyBvYmplY3QgZmlsZXMKLSAg ICAgZm9yIGkgaW4gJHtnZGJfdGFyZ2V0X29ic307IGRvCi0tICAgICAgICBjYXNlICIgJFRBUkdF VF9PQlMgIiBpbgotLSAgICAgICAgKiIgJHtpfSAiKikgOzsKLS0gICAgICAgICopCi0tICAgICAg ICAgIFRBUkdFVF9PQlM9IiRUQVJHRVRfT0JTICR7aX0iCi0tICAgICAgICAgIDs7Ci0tICAgICAg ICBlc2FjCi0rICAgICAgICBpZiB0ZXN0ICIkaSIgPSBjb3JlbG93Lm87IHRoZW4KLSsgICAgICAg ICAgICBDT1JFTE9XX089Y29yZWxvdy5vCi0rICAgICAgICBlbHNlCi0rICAgICAgICAgICAgY2Fz ZSAiICRUQVJHRVRfT0JTICIgaW4KLSsgICAgICAgICAgICAqIiAke2l9ICIqKSA7OwotKyAgICAg ICAgICAgICopCi0rICAgICAgICAgICAgICBUQVJHRVRfT0JTPSIkVEFSR0VUX09CUyAke2l9Igot KyAgICAgICAgICAgICAgOzsKLSsgICAgICAgICAgICBlc2FjCi0rICAgICAgICBmaQotICAgICBk b25lCi0gCi0gICAgICMgQ2hlY2sgd2hldGhlciB0aGlzIHRhcmdldCBuZWVkcyA2NC1iaXQgQ09S RV9BRERSCi1AQCAtMjMzLDkgKzIzOCwxMSBAQCBpZiB0ZXN0IHgke2FsbF90YXJnZXRzfSA9IHh0 cnVlOyB0aGVuCi0gICBlbHNlCi0gICAgIFRBUkdFVF9PQlM9JyQoQUxMX1RBUkdFVF9PQlMpJwot ICAgZmkKLSsgIENPUkVMT1dfTz1jb3JlbG93Lm8KLSBmaQotIAotIEFDX1NVQlNUKFRBUkdFVF9P QlMpCi0rQUNfU1VCU1QoQ09SRUxPV19PKQotIAotICMgRm9yIG90aGVyIHNldHRpbmdzLCBvbmx5 IHRoZSBtYWluIHRhcmdldCBjb3VudHMuCi0gZ2RiX3NpbT0KLQoKZGlmZiAtLWdpdCBhL2dkYi1i dWlsZC1saWJnZGItM29mMy5wYXRjaCBiL2dkYi1idWlsZC1saWJnZGItM29mMy5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTJiODNlZi4uMDAwMDAwMAotLS0gYS9nZGItYnVp bGQtbGliZ2RiLTNvZjMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0tLS0g Z2RiLTcuNC41MC4yMDEyMDEwMy9nZGIvY29uZmlndXJlLm9yaWcJMjAxMi0wMS0wNSAxMDoyMzow OS4yNTEyOTkwNDMgKzAxMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwMTAzL2dkYi9jb25maWd1cmUJ MjAxMi0wMS0wNSAxMDoyMzoyOS45MjEyMjU5NjggKzAxMDAKLUBAIC02ODIsNiArNjgyLDcgQEAg TE5fUwotIFJFUE9SVF9CVUdTX1RFWEkKLSBSRVBPUlRfQlVHU19UTwotIFBLR1ZFUlNJT04KLStD T1JFTE9XX08KLSBUQVJHRVRfT0JTCi0gc3ViZGlycwotIFJQTV9MSUJTCi1AQCAtODUwNCw2ICs4 NTA1LDcgQEAgZmkKLSAjIEFjY3VtdWxhdGUgc29tZSBzZXR0aW5ncyBmcm9tIGNvbmZpZ3VyZS50 Z3Qgb3ZlciBhbGwgZW5hYmxlZCB0YXJnZXRzCi0gCi0gVEFSR0VUX09CUz0KLStDT1JFTE9XX089 Ci0gYWxsX3RhcmdldHM9Ci0gCi0gZm9yIHRhcmdfYWxpYXMgaW4gYGVjaG8gJHRhcmdldF9hbGlh cyAkZW5hYmxlX3RhcmdldHMgfCBzZWQgJ3MvLC8gL2cnYAotQEAgLTg1MjcsMTIgKzg1MjksMTYg QEAgZmkKLSAKLSAgICAgIyBUYXJnZXQtc3BlY2lmaWMgb2JqZWN0IGZpbGVzCi0gICAgIGZvciBp IGluICR7Z2RiX3RhcmdldF9vYnN9OyBkbwotLSAgICAgICAgY2FzZSAiICRUQVJHRVRfT0JTICIg aW4KLS0gICAgICAgICoiICR7aX0gIiopIDs7Ci0tICAgICAgICAqKQotLSAgICAgICAgICBUQVJH RVRfT0JTPSIkVEFSR0VUX09CUyAke2l9IgotLSAgICAgICAgICA7OwotLSAgICAgICAgZXNhYwot KyAgICAgICAgaWYgdGVzdCAiJGkiID0gY29yZWxvdy5vOyB0aGVuCi0rICAgICAgICAgICAgQ09S RUxPV19PPWNvcmVsb3cubwotKyAgICAgICAgZWxzZQotKyAgICAgICAgICAgIGNhc2UgIiAkVEFS R0VUX09CUyAiIGluCi0rICAgICAgICAgICAgKiIgJHtpfSAiKikgOzsKLSsgICAgICAgICAgICAq KQotKyAgICAgICAgICAgICAgVEFSR0VUX09CUz0iJFRBUkdFVF9PQlMgJHtpfSIKLSsgICAgICAg ICAgICAgIDs7Ci0rICAgICAgICAgICAgZXNhYwotKyAgICAgICAgZmkKLSAgICAgZG9uZQotIAot ICAgICAjIENoZWNrIHdoZXRoZXIgdGhpcyB0YXJnZXQgbmVlZHMgNjQtYml0IENPUkVfQUREUgot QEAgLTg1OTcsMTAgKzg2MDMsMTIgQEAgX0FDRU9GCi0gICBlbHNlCi0gICAgIFRBUkdFVF9PQlM9 JyQoQUxMX1RBUkdFVF9PQlMpJwotICAgZmkKLSsgIENPUkVMT1dfTz1jb3JlbG93Lm8KLSBmaQot IAotIAotIAotKwotICMgRm9yIG90aGVyIHNldHRpbmdzLCBvbmx5IHRoZSBtYWluIHRhcmdldCBj b3VudHMuCi0gZ2RiX3NpbT0KLSBnZGJfb3NhYmk9Ci1AQCAtMTIxNTMsNyArMTIxNjEsNyBAQCBm b3IgYWNfaGVhZGVyIGluIG5saXN0LmggbWFjaGluZS9yZWcuaCBwCi0gCQkgIHN5cy9yZWcuaCBz eXMvZGVidWdyZWcuaCBzeXMvc2VsZWN0Lmggc3lzL3N5c2NhbGwuaCBcCi0gCQkgIHN5cy90eXBl cy5oIHN5cy93YWl0Lmggd2FpdC5oIHRlcm1pb3MuaCB0ZXJtaW8uaCBcCi0gCQkgIHNndHR5Lmgg dW5pc3RkLmggZWxmX2hwLmggY3R5cGUuaCB0aW1lLmggbG9jYWxlLmggXAotLSAgICAgICAgICAg ICAgICAgIGRsZmNuLmgKLSsJCSAgZGxmY24uaAotIGRvIDoKLSAgIGFzX2FjX0hlYWRlcj1gJGFz X2VjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAKLSBhY19mbl9jX2No ZWNrX2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAiJGFjX2hlYWRlciIgIiRhc19hY19IZWFkZXIi ICIkYWNfaW5jbHVkZXNfZGVmYXVsdCIKCmRpZmYgLS1naXQgYS9nZGItZ2NjNDctZ2NvcmUtemVy by5wYXRjaCBiL2dkYi1nY2M0Ny1nY29yZS16ZXJvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA4OGYwZmYxLi4wMDAwMDAwCi0tLSBhL2dkYi1nY2M0Ny1nY29yZS16ZXJvLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTE4ICswLDAgQEAKLWh0dHA6Ly9zb3VyY2V3YXJlLm9y Zy9tbC9iaW51dGlscy8yMDExLTEyL21zZzAwMjk4Lmh0bWwKLVN1YmplY3Q6IFtwYXRjaF0gRml4 IHplcm8gcmVnaXN0ZXJzIGNvcmUgZmlsZXMgdy9nY2MtNC43Ci0KLUhlbGxvIEguSi4sCi0KLXRo ZXJlIGlzIGEgcmVncmVzc2lvbiBieToKLQljb21taXQgMmM5YzU1NjYxN2E3ZGU4NjU3YzI1YjUx MmQyNzJjMjZiMDcwYWUyMgotCUF1dGhvcjogSC5KLiBMdSA8aGpsLnRvb2xzQGdtYWlsLmNvbT4K LQlEYXRlOiAgIFRodSBKdW4gMTYgMjI6MDg6MTAgMjAxMSArMDAwMAotCSAgICBTdXBvcnQgeDMy IGdjb3JlLgotCi13aGVuIGJ1aWx0IHdpdGggLU8yIGJ5Ci0JZ2NjIChHQ0MpIDQuNy4wIDIwMTEx MjIzIChleHBlcmltZW50YWwpCi0JKG5vdCBieSA0LjYueCkKLQotYXMgdGhlIGNvZGUgdmlvbGF0 ZXMgSVNPIEM5OSA2LjIuNCBpdGVtIDUgYnkgdXNpbmcgbG9jYWwgdmFyaWFibGUgb3V0c2lkZSBv ZgotaXRzIGJsb2NrLCBHQ0Mgb3B0aW1pemVzIG91dCB0aGUgc2Vjb25kIG1lbWNweSwga2VlcGlu ZyB0aGVyZSBvbmx5IHRoYXQKLW1lbXNldC4KLQotLi9nZGIgLW54IC4vZ2RiIC1leCBzdGFydCAt ZXggJ2djb3JlIDEnIC1leCAnc2V0IGNvbmZpcm0gbm8nIC1leCBxO2dkYiAtbnggLi9nZGIgLi8x IC1leCBxCi13aWxsIHByaW50OgotQ29yZSB3YXMgZ2VuZXJhdGVkIGJ5IGAuLi4vZ2RiL2dkYicu Ci0jMCAgMHgwMDAwMDAwMDAwMDAwMDAwIGluID8/ICgpCi0KLU5vIHJlZ3Jlc3Npb25zIG9uIHg4 Nl82NC1mZWRvcmExNi1saW51eC1nbnUuCi0KLVByb2JhYmx5IG9idmlvdXMsIE9LIHRvIGNoZWNr IGl0IGluPwotCi0KLVRoYW5rcywKLUphbgotCi0KLWJmZC8KLTIwMTEtMTItMjMgIEphbiBLcmF0 b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLQotCUZpeCB6ZXJvIHJlZ2lzdGVy cyBjb3JlIGZpbGVzIHdoZW4gYnVpbHQgYnkgZ2NjLTQuNy4KLQkqIGVsZjY0LXg4Ni02NC5jIChl bGZfeDg2XzY0X3dyaXRlX2NvcmVfbm90ZSk6IFJlbW92ZSB2YXJpYWJsZXMgcCBhbmQKLQlzaXpl LiAgQ2FsbCBlbGZjb3JlX3dyaXRlX25vdGUgZm9yIHRoZSBsb2NhbCB2YXJpYWJsZXMuICBSZW1v dmUgdGhlCi0JZmluYWwgZWxmY29yZV93cml0ZV9ub3RlIGNhbGwuICBBZGQgTk9UUkVBQ0hFRCBj b21tZW50cy4KLQotLS0tIGEvYmZkL2VsZjY0LXg4Ni02NC5jCi0rKysgYi9iZmQvZWxmNjQteDg2 LTY0LmMKLUBAIC00MjAsOCArNDIwLDYgQEAgZWxmX3g4Nl82NF93cml0ZV9jb3JlX25vdGUgKGJm ZCAqYWJmZCwgY2hhciAqYnVmLCBpbnQgKmJ1ZnNpeiwKLSAJCQkgICAgaW50IG5vdGVfdHlwZSwg Li4uKQotIHsKLSAgIGNvbnN0IHN0cnVjdCBlbGZfYmFja2VuZF9kYXRhICpiZWQgPSBnZXRfZWxm X2JhY2tlbmRfZGF0YSAoYWJmZCk7Ci0tICBjb25zdCB2b2lkICpwOwotLSAgaW50IHNpemU7Ci0g ICB2YV9saXN0IGFwOwotICAgY29uc3QgY2hhciAqZm5hbWUsICpwc2FyZ3M7Ci0gICBsb25nIHBp ZDsKLUBAIC00NDUsOCArNDQzLDggQEAgZWxmX3g4Nl82NF93cml0ZV9jb3JlX25vdGUgKGJmZCAq YWJmZCwgY2hhciAqYnVmLCBpbnQgKmJ1ZnNpeiwKLSAJICBtZW1zZXQgKCZkYXRhLCAwLCBzaXpl b2YgKGRhdGEpKTsKLSAJICBzdHJuY3B5IChkYXRhLnByX2ZuYW1lLCBmbmFtZSwgc2l6ZW9mIChk YXRhLnByX2ZuYW1lKSk7Ci0gCSAgc3RybmNweSAoZGF0YS5wcl9wc2FyZ3MsIHBzYXJncywgc2l6 ZW9mIChkYXRhLnByX3BzYXJncykpOwotLQkgIHAgPSAoY29uc3Qgdm9pZCAqKSAmZGF0YTsKLS0J ICBzaXplID0gc2l6ZW9mIChkYXRhKTsKLSsJICByZXR1cm4gZWxmY29yZV93cml0ZV9ub3RlIChh YmZkLCBidWYsIGJ1ZnNpeiwgIkNPUkUiLCBub3RlX3R5cGUsCi0rCQkJCSAgICAgJmRhdGEsIHNp emVvZiAoZGF0YSkpOwotIAl9Ci0gICAgICAgZWxzZQotIAl7Ci1AQCAtNDU0LDEwICs0NTIsMTAg QEAgZWxmX3g4Nl82NF93cml0ZV9jb3JlX25vdGUgKGJmZCAqYWJmZCwgY2hhciAqYnVmLCBpbnQg KmJ1ZnNpeiwKLSAJICBtZW1zZXQgKCZkYXRhLCAwLCBzaXplb2YgKGRhdGEpKTsKLSAJICBzdHJu Y3B5IChkYXRhLnByX2ZuYW1lLCBmbmFtZSwgc2l6ZW9mIChkYXRhLnByX2ZuYW1lKSk7Ci0gCSAg c3RybmNweSAoZGF0YS5wcl9wc2FyZ3MsIHBzYXJncywgc2l6ZW9mIChkYXRhLnByX3BzYXJncykp OwotLQkgIHAgPSAoY29uc3Qgdm9pZCAqKSAmZGF0YTsKLS0JICBzaXplID0gc2l6ZW9mIChkYXRh KTsKLSsJICByZXR1cm4gZWxmY29yZV93cml0ZV9ub3RlIChhYmZkLCBidWYsIGJ1ZnNpeiwgIkNP UkUiLCBub3RlX3R5cGUsCi0rCQkJCSAgICAgJmRhdGEsIHNpemVvZiAoZGF0YSkpOwotIAl9Ci0t ICAgICAgYnJlYWs7Ci0rICAgICAgLyogTk9UUkVBQ0hFRCAqLwotIAotICAgICBjYXNlIE5UX1BS U1RBVFVTOgotICAgICAgIHZhX3N0YXJ0IChhcCwgbm90ZV90eXBlKTsKLUBAIC00NzUsOCArNDcz LDggQEAgZWxmX3g4Nl82NF93cml0ZV9jb3JlX25vdGUgKGJmZCAqYWJmZCwgY2hhciAqYnVmLCBp bnQgKmJ1ZnNpeiwKLSAJICAgICAgcHJzdGF0LnByX3BpZCA9IHBpZDsKLSAJICAgICAgcHJzdGF0 LnByX2N1cnNpZyA9IGN1cnNpZzsKLSAJICAgICAgbWVtY3B5ICgmcHJzdGF0LnByX3JlZywgZ3Jl Z3MsIHNpemVvZiAocHJzdGF0LnByX3JlZykpOwotLQkgICAgICBwID0gKGNvbnN0IHZvaWQgKikg JnByc3RhdDsKLS0JICAgICAgc2l6ZSA9IHNpemVvZiAocHJzdGF0KTsKLSsJICAgICAgcmV0dXJu IGVsZmNvcmVfd3JpdGVfbm90ZSAoYWJmZCwgYnVmLCBidWZzaXosICJDT1JFIiwgbm90ZV90eXBl LAotKwkJCQkJICZwcnN0YXQsIHNpemVvZiAocHJzdGF0KSk7Ci0gCSAgICB9Ci0gCSAgZWxzZQot IAkgICAgewotQEAgLTQ4NSw4ICs0ODMsOCBAQCBlbGZfeDg2XzY0X3dyaXRlX2NvcmVfbm90ZSAo YmZkICphYmZkLCBjaGFyICpidWYsIGludCAqYnVmc2l6LAotIAkgICAgICBwcnN0YXQucHJfcGlk ID0gcGlkOwotIAkgICAgICBwcnN0YXQucHJfY3Vyc2lnID0gY3Vyc2lnOwotIAkgICAgICBtZW1j cHkgKCZwcnN0YXQucHJfcmVnLCBncmVncywgc2l6ZW9mIChwcnN0YXQucHJfcmVnKSk7Ci0tCSAg ICAgIHAgPSAoY29uc3Qgdm9pZCAqKSAmcHJzdGF0OwotLQkgICAgICBzaXplID0gc2l6ZW9mIChw cnN0YXQpOwotKwkgICAgICByZXR1cm4gZWxmY29yZV93cml0ZV9ub3RlIChhYmZkLCBidWYsIGJ1 ZnNpeiwgIkNPUkUiLCBub3RlX3R5cGUsCi0rCQkJCQkgJnByc3RhdCwgc2l6ZW9mIChwcnN0YXQp KTsKLSAJICAgIH0KLSAJfQotICAgICAgIGVsc2UKLUBAIC00OTYsMTQgKzQ5NCwxMSBAQCBlbGZf eDg2XzY0X3dyaXRlX2NvcmVfbm90ZSAoYmZkICphYmZkLCBjaGFyICpidWYsIGludCAqYnVmc2l6 LAotIAkgIHByc3RhdC5wcl9waWQgPSBwaWQ7Ci0gCSAgcHJzdGF0LnByX2N1cnNpZyA9IGN1cnNp ZzsKLSAJICBtZW1jcHkgKCZwcnN0YXQucHJfcmVnLCBncmVncywgc2l6ZW9mIChwcnN0YXQucHJf cmVnKSk7Ci0tCSAgcCA9IChjb25zdCB2b2lkICopICZwcnN0YXQ7Ci0tCSAgc2l6ZSA9IHNpemVv ZiAocHJzdGF0KTsKLSsJICByZXR1cm4gZWxmY29yZV93cml0ZV9ub3RlIChhYmZkLCBidWYsIGJ1 ZnNpeiwgIkNPUkUiLCBub3RlX3R5cGUsCi0rCQkJCSAgICAgJnByc3RhdCwgc2l6ZW9mIChwcnN0 YXQpKTsKLSAJfQotLSAgICAgIGJyZWFrOwotICAgICB9Ci0tCi0tICByZXR1cm4gZWxmY29yZV93 cml0ZV9ub3RlIChhYmZkLCBidWYsIGJ1ZnNpeiwgIkNPUkUiLCBub3RlX3R5cGUsIHAsCi0tCQkJ ICAgICBzaXplKTsKLSsgIC8qIE5PVFJFQUNIRUQgKi8KLSB9Ci0gI2VuZGlmCi0gDAotCgpkaWZm IC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCA3MGU0YzI0Li5jMzYzZjgzIDEwMDY0 NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMjMsMTIgKzIzLDEyIEBAIE5hbWU6 IGdkYiV7P193aXRoX2RlYnVnOi1kZWJ1Z30KICMgU2V0IHZlcnNpb24gdG8gY29udGVudHMgb2Yg Z2RiL3ZlcnNpb24uaW4uCiAjIE5PVEU6IHRoZSBGU0YgZ2RiIHZlcnNpb25zIGFyZSBudW1iZXJl ZCBOLk0gZm9yIG9mZmljaWFsIHJlbGVhc2VzLCBsaWtlIDYuMwogIyBhbmQsIHNpbmNlIEphbnVh cnkgMjAwNSwgWC5ZLlouZGF0ZSBmb3IgZGFpbHkgc25hcHNob3RzLCBsaWtlIDYuMy41MC4yMDA1 MDExMiAjIChkYWlseSBzbmFwc2hvdCBmcm9tIG1haWxpbmUpLCBvciA2LjMuMC4yMDA0MDExMiAo aGVhZCBvZiB0aGUgcmVsZWFzZSBicmFuY2gpLgotJWdsb2JhbCBzbmFwIDIwMTIwMTAzCislZ2xv YmFsIHNuYXAgMjAxMjAxMjAKIFZlcnNpb246IDcuNC41MC4le3NuYXB9CiAKICMgVGhlIHJlbGVh c2UgYWx3YXlzIGNvbnRhaW5zIGEgbGVhZGluZyByZXNlcnZlZCBudW1iZXIsIHN0YXJ0IGl0IGF0 IDEuCiAjIGB1cHN0cmVhbScgaXMgbm90IGEgcGFydCBvZiBgbmFtZScgdG8gc3RheSBmdWxseSBy cG0gZGVwZW5kZW5jaWVzIGNvbXBhdGlibGUgZm9yIHRoZSB0ZXN0aW5nLgotUmVsZWFzZTogOSV7 P193aXRoX3Vwc3RyZWFtOi51cHN0cmVhbX0lez9kaXN0fQorUmVsZWFzZTogMTAlez9fd2l0aF91 cHN0cmVhbToudXBzdHJlYW19JXs/ZGlzdH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysg d2l0aCBleGNlcHRpb25zIGFuZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5k IEdQTCsgYW5kIExHUEx2MisgYW5kIEJTRCBhbmQgUHVibGljIERvbWFpbgogR3JvdXA6IERldmVs b3BtZW50L0RlYnVnZ2VycwpAQCAtNTI0LDE2ICs1MjQsNiBAQCBQYXRjaDYyNzogZ2RiLWdsaWJj LXZkc28td29ya2Fyb3VuZC5wYXRjaAogIz1wdXNoK3dvcmsKIFBhdGNoNjM0OiBnZGItcnVudGVz dC1waWUtb3ZlcnJpZGUucGF0Y2gKIAotIyBGaXggemVybyByZWdpc3RlcnMgY29yZSBmaWxlcyB3 L2djYy00LjcuCi0jPXB1c2gKLVBhdGNoNjM4OiBnZGItZ2NjNDctZ2NvcmUtemVyby5wYXRjaAot Ci0jIEZpeCBsaW5raW5nIG9uIG5vbi14ODYqIChzdWNoIGFzIHMzOTAqKSBhZnRlciBsaWJnZGIu YSByZW1vdmFsLgotIz1wdXNoCi1QYXRjaDYzOTogZ2RiLWJ1aWxkLWxpYmdkYi0xb2YzLnBhdGNo Ci1QYXRjaDY0MDogZ2RiLWJ1aWxkLWxpYmdkYi0yb2YzLnBhdGNoCi1QYXRjaDY0MTogZ2RiLWJ1 aWxkLWxpYmdkYi0zb2YzLnBhdGNoCi0KICMgV29yayBhcm91bmQgcmVhZGxpbmUtNi4yIGluY29t cGF0aWJpbGl0eSBub3QgYXNraW5nIGZvciAtLW1vcmUtLSAoQlogNzAxMTMxKS4KICM9ZmVkb3Jh CiBQYXRjaDY0MjogZ2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKQEAgLTgwNiwxMCAr Nzk2LDYgQEAgcm0gLWYgZ2RiL2p2LWV4cC5jIGdkYi9tMi1leHAuYyBnZGIvb2JqYy1leHAuYyBn ZGIvcC1leHAuYwogJXBhdGNoNjE5IC1wMQogJXBhdGNoNjI3IC1wMQogJXBhdGNoNjM0IC1wMQot JXBhdGNoNjM4IC1wMQotJXBhdGNoNjM5IC1wMQotJXBhdGNoNjQwIC1wMQotJXBhdGNoNjQxIC1w MQogJXBhdGNoNjQzIC1wMQogCiAlcGF0Y2gzOTMgLXAxCkBAIC04NjgsMTAgKzg1NCw2IEBAIGRv CiBta2RpciAle2dkYl9idWlsZH0kZnByb2ZpbGUKIGNkICV7Z2RiX2J1aWxkfSRmcHJvZmlsZQog Ci0jIGc3NyBleGVjdXRhYmxlIGlzIG5vIGxvbmdlciBwcmVzZW50IGluIEZlZG9yYSBnY2MtNC54 Ky4KLWc3Nz0iYHdoaWNoIGdmb3J0cmFuIDI+L2Rldi9udWxsIHx8IHRydWVgIgotdGVzdCAteiAi JGc3NyIgfHwgbG4gLXMgIiRnNzciIC4vZzc3Ci0KIGV4cG9ydCBDRkxBR1M9IiRSUE1fT1BUX0ZM QUdTIgogCiAlaWYgMCV7P193aXRoX2RlYnVnOjF9CkBAIC0xMjUwLDYgKzEyMzIsMTAgQEAgZmkK ICV7X2luZm9kaXJ9L2dkYi5pbmZvKgogCiAlY2hhbmdlbG9nCisqIFNhdCBKYW4gMjEgMjAxMiBK YW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4gLSA3LjQuNTAuMjAxMjAx MjAtMTAuZmMxNworLSBSZWJhc2UgdG8gRlNGIEdEQiA3LjQuNTAuMjAxMjAxMjAuCistIERyb3Ag dGhlIGc3NyAuc3BlYyBwcm92aXNpb25pbmcgYXMgaXQgaGFzIGJlZW4gZml4ZWQgaW4gRlNGIEdE Qi4KKwogKiBUaHUgSmFuIDE5IDIwMTIgSmFuIEtyYXRvY2h2aWwgPGphbi5rcmF0b2NodmlsQHJl ZGhhdC5jb20+IC0gNy40LjUwLjIwMTIwMTAzLTkuZmMxNwogLSBFbmFibGUgc21hbGxlciAle19i aW5kaXJ9L2dkYiBpbiBmdXR1cmUgYnkgbm8gbG9uZ2VyIHVzaW5nIC1yZHluYW1pYy4KIC0gTWFr ZSAtLWVuYWJsZXJlcG8gdG8gdXNlICcqLWRlYnVnKicgZm9yIFJIRUwgY29tcGF0aWJpbGl0eSAo QlogNzgxNTcxKS4KCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCBiM2ZhMmE2 Li41ODNkNzUzIDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEsMiArMSwy IEBACiAwNGU1YzRiMWI5ZTYzMzQyMmNjNDg5OTBmZTYxOTU4ZCAgbGlic3RkYysrLXYzLXB5dGhv bi1yMTU1OTc4LnRhci5iejIKLWVkNjFhZTE5NjQ4M2M4OWMwYzQ4NWM0NDk3ZDlmODE1ICBnZGIt Ny40LjUwLjIwMTIwMTAzLnRhci5iejIKKzlkZTg0YTIyZTRiOTZjMDhkOGQzMWE3MmQ3NzUxYzYw ICBnZGItNy40LjUwLjIwMTIwMTIwLnRhci5iejIK