From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN,URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id DF88426998 for ; Wed, 22 May 2024 08:57:17 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============8895333784318738308==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_Lenovo_X13s_support?= To: ml@inbox.vuxu.org From: classabbyamp Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 22 May 2024 08:57:17 +0200 List-Id: Message-Id: <20240522065717.DF88426998@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============8895333784318738308== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgY2xhc3NhYmJ5YW1wIGFnYWluc3Qg bWFzdGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNv bS9jbGFzc2FiYnlhbXAvdm9pZC1wYWNrYWdlcyB4MTNzLXN1cHBvcnQKaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ5NjE1CgpMZW5vdm8gWDEzcyBzdXBw b3J0CiMjIHJlcG8gZm9yIHRlc3Rpbmc6IGh0dHBzOi8vZGV2c3BhY2Uudm9pZGxpbnV4Lm9yZy9h YmJ5L3gxM3MvDQoNCiMjIyMgVE9ET3MNCi0gWyBdIGRvY3VtZW50IGluc3RhbGwgcHJvY2Vzcywg aW5jbHVkaW5nIHJlcXVpcmVkIGNtZGxpbmUgKGBhcm02NC5ub3BhdXRoIGNsa19pZ25vcmVfdW51 c2VkIHBkX2lnbm9yZV91bnVzZWRgKQ0KICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1kb2NzL2NvbXBhcmUvbWFzdGVyLi4uY2xhc3NhYmJ5YW1wOnZvaWQtZG9jczp4MTNz DQotIFt4XSBmaXggYmx1ZXRvb3RoIG1hYyBhZGRyZXNzOiAoYGJ0bWdtdCBwdWJsaWMtYWRkciBG NDpBMDowRDpYWDpZWTpaWmApDQotIFt4XSBzZXQgYSByYW5kb20gbWFjIHdpdGggdGhlIGNvcnJl Y3QgT1VJIChgRjQ6QTA6MEQ6eHg6eXk6enpgKSBhdCBpbnN0YWxsPw0KLSBbeF0gbWtpbml0Y3Bp byBkcm9wLWluIGNvbmZpZw0KLSBbIF0gbWtpbml0Y3BpbyB3b3JraW5nDQogICAgLSBodHRwczov L2dpdGxhYi5hcmNobGludXgub3JnL2FyY2hsaW51eC9ta2luaXRjcGlvL21raW5pdGNwaW8vLS9t ZXJnZV9yZXF1ZXN0cy8zNzcNCiAgICAtIGRvZXMgbm90IGxvYWQgbW9kdWxlcyBhbmQvb3IgZmly bXdhcmUgY29ycmVjdGx5DQotIFsgXSBjcmVhdGUgYW5kIHRlc3QgbGl2ZSBpbWFnZXMNCiAgICAt ICoqSEVBVklMWSBXSVAqKiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLW1rbGl2 ZS9jb21wYXJlL21hc3Rlci4uLmNsYXNzYWJieWFtcDp2b2lkLW1rbGl2ZTphYXJjaDY0LWxpdmUN Ci0gW3hdIH5+a2VybmVsIGluc3RhbGwgaG9vayB0byB1cGRhdGUgdGhlIGR0Yj9+fiBncnViIGR0 YiBsb2FkaW5nIHN1cHBvcnQNCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVk IHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqWUVTKioNCg0KIyMjIyBOZXcgcGFja2FnZQ0KLSBU aGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0 dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09O VFJJQlVUSU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1lbnRzKTogKipZRVMqKg0KDQpbY2kgc2tpcF0K CkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvcHVsbC80OTYxNS5wYXRjaCBpcyBhdHRhY2hlZA== --===============8895333784318738308== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-x13s-support-49615.patch" RnJvbSA1MjBmZDI2YmRkMjE4Y2ViZmNjZjA0ZmZkYjA4YzEwNTQ1ZDkwYTVhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+ CkRhdGU6IFRodSwgMjEgTWFyIDIwMjQgMTg6MDA6NDUgLTA0MDAKU3ViamVjdDogW1BBVENIIDEv Ml0gTmV3IHBhY2thZ2U6IHgxM3MtYmFzZS0wLjQKCi0tLQogc3JjcGtncy94MTNzLWJhc2UvSU5T VEFMTCAgICAgICAgICAgICAgICAgICAgfCAxNiArKysrKysrKysrKysrKysrCiBzcmNwa2dzL3gx M3MtYmFzZS9maWxlcy83Mi10b3VjaHNjcmVlbi5ydWxlcyB8ICAxICsKIHNyY3BrZ3MveDEzcy1i YXNlL2ZpbGVzLzkwLWJ0LWFkZHJlc3Muc2ggICAgIHwgIDQgKysrKwogc3JjcGtncy94MTNzLWJh c2UvZmlsZXMvOTAtbmV0LWFkZHJlc3MucnVsZXMgfCAgMiArKwogc3JjcGtncy94MTNzLWJhc2Uv ZmlsZXMvZHJhY3V0LmNvbmYgICAgICAgICAgfCAgNiArKysrKysKIHNyY3BrZ3MveDEzcy1iYXNl L2ZpbGVzL21raW5pdGNwaW8uY29uZiAgICAgIHwgIDYgKysrKysrCiBzcmNwa2dzL3gxM3MtYmFz ZS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICB8IDE5ICsrKysrKysrKysrKysrKysrKysKIDcg ZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MveDEzcy1iYXNlL0lOU1RBTEwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3gxM3MtYmFz ZS9maWxlcy83Mi10b3VjaHNjcmVlbi5ydWxlcwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv eDEzcy1iYXNlL2ZpbGVzLzkwLWJ0LWFkZHJlc3Muc2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3gxM3MtYmFzZS9maWxlcy85MC1uZXQtYWRkcmVzcy5ydWxlcwogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzL2RyYWN1dC5jb25mCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvbWtpbml0Y3Bpby5jb25mCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy94MTNzLWJhc2UvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gx M3MtYmFzZS9JTlNUQUxMIGIvc3JjcGtncy94MTNzLWJhc2UvSU5TVEFMTApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uYzMwNjQ4YThmM2QyZTAKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3gxM3MtYmFzZS9JTlNUQUxMCkBAIC0wLDAgKzEsMTYgQEAKK2Nhc2Ug IiRBQ1RJT04iIGluCitwb3N0KQorCW1rZGlyIC1wIGV0Yy9ydW5pdC9ydW5zdmRpci9kZWZhdWx0 LworCWxuIC1zZiAvZXRjL3N2L3FydHItbnMgZXRjL3J1bml0L3J1bnN2ZGlyL2RlZmF1bHQvCisK KwkjIGFzc2lnbiBhIHJhbmRvbSB3bGFuIE1BQyBhZGRyZXNzIHdpdGggdGhlIGNvcnJlY3QgT1VJ CisJc2VkIC1pLmJhayAtZSAicy86QUE6QkI6Q0MvJChvZCAtQW4gLU4zIC10IHgxIC9kZXYvdXJh bmRvbSB8IHRyICcgJyAnOicpL2ciIFwKKwkJdXNyL2xpYi91ZGV2L3J1bGVzLmQvOTAteDEzcy1u ZXQtYWRkcmVzcy5ydWxlcworCXJtIC1mIHVzci9saWIvdWRldi9ydWxlcy5kLzkwLXgxM3MtbmV0 LWFkZHJlc3MucnVsZXMuYmFrCisKKwkjIGFzc2lnbiBhIHJhbmRvbSBibHVldG9vdGggTUFDIGFk ZHJlc3Mgd2l0aCB0aGUgY29ycmVjdCBPVUkKKwlzZWQgLWkuYmFrIC1lICJzLzpBQTpCQjpDQy8k KG9kIC1BbiAtTjMgLXQgeDEgL2Rldi91cmFuZG9tIHwgdHIgJyAnICc6JykvZyIgXAorCQlldGMv cnVuaXQvY29yZS1zZXJ2aWNlcy85MC14MTNzLWJ0LWFkZHJlc3Muc2gKKwlybSAtZiB1c3IvbGli L3VkZXYvcnVsZXMuZC85MC14MTNzLWJ0LWFkZHJlc3Muc2guYmFrCisJOzsKK2VzYWMKZGlmZiAt LWdpdCBhL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzcyLXRvdWNoc2NyZWVuLnJ1bGVzIGIvc3Jj cGtncy94MTNzLWJhc2UvZmlsZXMvNzItdG91Y2hzY3JlZW4ucnVsZXMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLmMwYTFjYjYzNzQ5NjQzCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvNzItdG91Y2hzY3JlZW4ucnVsZXMKQEAgLTAs MCArMSBAQAorQUNUSU9OPT0iYWRkIiAsIFJVTis9Ii9iaW4vc2ggLWMgJ2VjaG8gNC0wMDEwID4g L3N5cy9idXMvaTJjL2RyaXZlcnMvaTJjX2hpZF9vZi9iaW5kJyIKZGlmZiAtLWdpdCBhL3NyY3Br Z3MveDEzcy1iYXNlL2ZpbGVzLzkwLWJ0LWFkZHJlc3Muc2ggYi9zcmNwa2dzL3gxM3MtYmFzZS9m aWxlcy85MC1idC1hZGRyZXNzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMDAwLi45YzBiZTQ3OTkyZWZiNQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1i YXNlL2ZpbGVzLzkwLWJ0LWFkZHJlc3Muc2gKQEAgLTAsMCArMSw0IEBACitpZiB0eXBlIGJ0bWdt dCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKwltc2cgIlNldHRpbmcgYmx1ZXRvb3RoIE1BQyBhZGRy ZXNzLi4uIgorCWJ0bWdtdCAtLWluZGV4IDAgcHVibGljLWFkZHIgRjQ6QTA6MEQ6QUE6QkI6Q0MK K2ZpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy85MC1uZXQtYWRkcmVzcy5y dWxlcyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkwLW5ldC1hZGRyZXNzLnJ1bGVzCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5jMTZlMzliOWRmMDg5ZQotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkwLW5ldC1hZGRyZXNzLnJ1 bGVzCkBAIC0wLDAgKzEsMiBAQAorQUNUSU9OPT0iYWRkIiwgU1VCU1lTVEVNPT0ibmV0IiwgS0VS TkVMUz09IjAwMDY6MDE6MDAuMCIsIFwKKwlSVU4rPSIvdXNyL2Jpbi9pcCBsaW5rIHNldCBkZXYg JG5hbWUgYWRkcmVzcyBGNDpBMDowRDpBQTpCQjpDQyIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveDEz cy1iYXNlL2ZpbGVzL2RyYWN1dC5jb25mIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvZHJhY3V0 LmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLmEyNGFjZmEz ZDBhMDZlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvZHJhY3V0 LmNvbmYKQEAgLTAsMCArMSw2IEBACitmb3JjZV9kcml2ZXJzKz0iIG52bWUgcGh5X3Fjb21fcW1w X3BjaWUgIgorIyBrZXlib2FyZAorZm9yY2VfZHJpdmVycys9IiBpMmNfaGlkX29mIGkyY19xY29t X2dlbmkgIgorIyBkaXNwbGF5Citmb3JjZV9kcml2ZXJzKz0iIGxlZHNfcWNvbV9scGcgcHdtX2Js IHFydHIgcG1pY19nbGlua19hbHRtb2RlIGdwaW9fc2J1X211eCBwYW5lbF9lZHAgbXNtICIKK2Zv cmNlX2RyaXZlcnMrPSIgcGh5X3Fjb21fcW1wX2NvbWJvIHBpbmN0cmxfc2M4MjgweHAgZ3B1Y2Nf c2M4MjgweHAgZGlzcGNjX3NjODI4MHhwIHBoeV9xY29tX2VkcCAiCmRpZmYgLS1naXQgYS9zcmNw a2dzL3gxM3MtYmFzZS9maWxlcy9ta2luaXRjcGlvLmNvbmYgYi9zcmNwa2dzL3gxM3MtYmFzZS9m aWxlcy9ta2luaXRjcGlvLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwMDAuLmE0MjhlZWZiMjAxNmY5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94MTNzLWJh c2UvZmlsZXMvbWtpbml0Y3Bpby5jb25mCkBAIC0wLDAgKzEsNiBAQAorTU9EVUxFUys9KG52bWUg cGh5X3Fjb21fcW1wX3BjaWUpCisjIGtleWJvYXJkCitNT0RVTEVTKz0oaTJjX2hpZF9vZiBpMmNf cWNvbV9nZW5pKQorIyBkaXNwbGF5CitNT0RVTEVTKz0obGVkc19xY29tX2xwZyBwd21fYmwgcXJ0 ciBwbWljX2dsaW5rX2FsdG1vZGUgZ3Bpb19zYnVfbXV4IHBhbmVsX2VkcCBtc20KKyBwaHlfcWNv bV9xbXBfY29tYm8gcGluY3RybF9zYzgyODB4cCBncHVjY19zYzgyODB4cCBkaXNwY2Nfc2M4Mjgw eHAgcGh5X3Fjb21fZWRwKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy94MTNzLWJhc2UvdGVtcGxhdGUg Yi9zcmNwa2dzL3gxM3MtYmFzZS90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAwMC4uNTk1NmVhYTZiYWM1NTgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3gxM3MtYmFzZS90ZW1wbGF0ZQpAQCAtMCwwICsxLDE5IEBACisjIFRlbXBsYXRlIGZpbGUgZm9y ICd4MTNzLWJhc2UnCitwa2duYW1lPXgxM3MtYmFzZQordmVyc2lvbj0wLjQKK3JldmlzaW9uPTEK K2FyY2hzPSJhYXJjaDY0KiIKK2RlcGVuZHM9ImxpbnV4Ni44IGRyYWN1dCBsaW51eC1maXJtd2Fy ZS1xdWFsY29tbSBsaW51eC1maXJtd2FyZS1uZXR3b3JrCisgYWxzYS11Y20tY29uZiBxcnRyLW5z Igorc2hvcnRfZGVzYz0iVm9pZCBMaW51eCBUaGlua3BhZCBYMTNzIHBsYXRmb3JtIHBhY2thZ2Ui CittYWludGFpbmVyPSJjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+IgorbGlj ZW5zZT0iUHVibGljIERvbWFpbiIKK2hvbWVwYWdlPSJodHRwczovL3d3dy52b2lkbGludXgub3Jn IgorCitkb19pbnN0YWxsKCkgeworCXZpbnN0YWxsICIke0ZJTEVTRElSfSIvNzItdG91Y2hzY3Jl ZW4ucnVsZXMgNjQ0IHVzci9saWIvdWRldi9ydWxlcy5kIDcyLXgxM3MtdG91Y2hzY3JlZW4ucnVs ZXMKKwl2aW5zdGFsbCAiJHtGSUxFU0RJUn0iLzkwLW5ldC1hZGRyZXNzLnJ1bGVzIDY0NCB1c3Iv bGliL3VkZXYvcnVsZXMuZCA5MC14MTNzLW5ldC1hZGRyZXNzLnJ1bGVzCisJdmluc3RhbGwgIiR7 RklMRVNESVJ9Ii85MC1idC1hZGRyZXNzLnNoIDY0NCBldGMvcnVuaXQvY29yZS1zZXJ2aWNlcyA5 MC14MTNzLWJ0LWFkZHJlc3Muc2gKKwl2aW5zdGFsbCAiJHtGSUxFU0RJUn0iL2RyYWN1dC5jb25m IDY0NCB1c3IvbGliL2RyYWN1dC9kcmFjdXQuY29uZi5kIHgxM3MuY29uZgorCXZpbnN0YWxsICIk e0ZJTEVTRElSfSIvbWtpbml0Y3Bpby5jb25mIDY0NCBldGMvbWtpbml0Y3Bpby5jb25mLmQgeDEz cy5jb25mCit9CgpGcm9tIGJiOWUzMjc4MDc0NzVlN2NhYjM2MjVlNDUxNGYxNmNkNDM0MmZlMGIg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGNsYXNzYWJieWFtcCA8dm9pZEBwbGFjZXZp b2xldHRlLm5ldD4KRGF0ZTogVGh1LCAyMSBNYXIgMjAyNCAxODowMTozMCAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggMi8yXSBsaW51eDYuODogYWRkIHN1cHBvcnQgZm9yIGxlbm92byB4MTNzCgotLS0K IHNyY3BrZ3MvbGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnICAgICAgICB8ICAgODEgKy0K IC4uLmQtaW4ta2VybmVsLXBkLW1hcHBlci1pbXBsZW1lbnRhdGlvbi5wYXRjaCB8IDE5NjQgKysr KysrKysrKysrKysrKysKIHNyY3BrZ3MvbGludXg2LjgvdGVtcGxhdGUgICAgICAgICAgICAgICAg ICAgICB8ICAgIDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMjAyMyBpbnNlcnRpb25zKCspLCAyNCBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpbnV4Ni44L3BhdGNoZXMv c29jLXFjb20tYWRkLWluLWtlcm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2gKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4Ni44L2ZpbGVzL2FybTY0LWRvdGNvbmZpZyBiL3NyY3Br Z3MvbGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnCmluZGV4IGM4M2I2MWU1ZmNiZTJmLi5l ZTI3Y2UwOGNmMzRmMyAxMDA2NDQKLS0tIGEvc3JjcGtncy9saW51eDYuOC9maWxlcy9hcm02NC1k b3Rjb25maWcKKysrIGIvc3JjcGtncy9saW51eDYuOC9maWxlcy9hcm02NC1kb3Rjb25maWcKQEAg LTIsNyArMiw3IEBACiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZpbGU7IERPIE5PVCBFRElU LgogIyBMaW51eC9hcm02NCA2LjguOSBLZXJuZWwgQ29uZmlndXJhdGlvbgogIwotQ09ORklHX0ND X1ZFUlNJT05fVEVYVD0iYWFyY2g2NC1saW51eC1tdXNsLWdjYyAoR0NDKSAxMy4yLjAiCitDT05G SUdfQ0NfVkVSU0lPTl9URVhUPSJhYXJjaDY0LWxpbnV4LWdudS1nY2MgKEdDQykgMTMuMi4wIgog Q09ORklHX0NDX0lTX0dDQz15CiBDT05GSUdfR0NDX1ZFUlNJT049MTMwMjAwCiBDT05GSUdfQ0xB TkdfVkVSU0lPTj0wCkBAIC0yOSw3ICsyOSw3IEBAIENPTkZJR19USFJFQURfSU5GT19JTl9UQVNL PXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKICMgQ09ORklHX0NPTVBJTEVfVEVTVCBp cyBub3Qgc2V0CiAjIENPTkZJR19XRVJST1IgaXMgbm90IHNldAotQ09ORklHX0xPQ0FMVkVSU0lP Tj0iXzEiCitDT05GSUdfTE9DQUxWRVJTSU9OPSJfMiIKICMgQ09ORklHX0xPQ0FMVkVSU0lPTl9B VVRPIGlzIG5vdCBzZXQKIENPTkZJR19CVUlMRF9TQUxUPSIiCiBDT05GSUdfREVGQVVMVF9JTklU PSIiCkBAIC01OTYsNyArNTk2LDcgQEAgQ09ORklHX0RQTV9XQVRDSERPRz15CiBDT05GSUdfRFBN X1dBVENIRE9HX1RJTUVPVVQ9NjAKIENPTkZJR19QTV9DTEs9eQogQ09ORklHX1BNX0dFTkVSSUNf RE9NQUlOUz15Ci0jIENPTkZJR19XUV9QT1dFUl9FRkZJQ0lFTlRfREVGQVVMVCBpcyBub3Qgc2V0 CitDT05GSUdfV1FfUE9XRVJfRUZGSUNJRU5UX0RFRkFVTFQ9eQogQ09ORklHX1BNX0dFTkVSSUNf RE9NQUlOU19TTEVFUD15CiBDT05GSUdfUE1fR0VORVJJQ19ET01BSU5TX09GPXkKIENPTkZJR19D UFVfUE09eQpAQCAtMjM2OSw3ICsyMzY5LDcgQEAgQ09ORklHX1NPQ19CVVM9eQogQ09ORklHX1JF R01BUD15CiBDT05GSUdfUkVHTUFQX0kyQz15CiBDT05GSUdfUkVHTUFQX1NQST15Ci1DT05GSUdf UkVHTUFQX1NQTUk9bQorQ09ORklHX1JFR01BUF9TUE1JPXkKIENPTkZJR19SRUdNQVBfVzE9bQog Q09ORklHX1JFR01BUF9NTUlPPXkKIENPTkZJR19SRUdNQVBfSVJRPXkKQEAgLTI0MzcsNyArMjQz Nyw3IEBAIENPTkZJR19BUk1fU0NNSV9UUkFOU1BPUlRfVklSVElPX1ZFUlNJT04xX0NPTVBMSUFO Q0U9eQogQ09ORklHX0FSTV9TQ01JX1BPV0VSX0NPTlRST0w9bQogIyBlbmQgb2YgQVJNIFN5c3Rl bSBDb250cm9sIGFuZCBNYW5hZ2VtZW50IEludGVyZmFjZSBQcm90b2NvbAogCi1DT05GSUdfQVJN X1NDUElfUFJPVE9DT0w9bQorQ09ORklHX0FSTV9TQ1BJX1BST1RPQ09MPXkKIENPTkZJR19BUk1f U0RFX0lOVEVSRkFDRT15CiBDT05GSUdfRklSTVdBUkVfTUVNTUFQPXkKIENPTkZJR19ETUlJRD15 CkBAIC0yNDkzLDcgKzI0OTMsOCBAQCBDT05GSUdfQVJNX1BTQ0lfRlc9eQogIwogQ09ORklHX1FD T01fU0NNPXkKICMgQ09ORklHX1FDT01fU0NNX0RPV05MT0FEX01PREVfREVGQVVMVCBpcyBub3Qg c2V0Ci0jIENPTkZJR19RQ09NX1FTRUVDT00gaXMgbm90IHNldAorQ09ORklHX1FDT01fUVNFRUNP TT15CitDT05GSUdfUUNPTV9RU0VFQ09NX1VFRklTRUNBUFA9eQogIyBlbmQgb2YgUXVhbGNvbW0g ZmlybXdhcmUgZHJpdmVycwogCiBDT05GSUdfSEFWRV9BUk1fU01DQ0M9eQpAQCAtNDkwNCw3ICs0 OTA1LDcgQEAgQ09ORklHX1hJTExZVVNCPW0KIENPTkZJR19JMkM9eQogQ09ORklHX0FDUElfSTJD X09QUkVHSU9OPXkKIENPTkZJR19JMkNfQk9BUkRJTkZPPXkKLSMgQ09ORklHX0kyQ19DT01QQVQg aXMgbm90IHNldAorQ09ORklHX0kyQ19DT01QQVQ9eQogQ09ORklHX0kyQ19DSEFSREVWPW0KIENP TkZJR19JMkNfTVVYPW0KIApAQCAtNTEzMyw3ICs1MTM0LDcgQEAgQ09ORklHX1NQSV9TTEFWRT15 CiBDT05GSUdfU1BJX1NMQVZFX1RJTUU9bQogQ09ORklHX1NQSV9TTEFWRV9TWVNURU1fQ09OVFJP TD1tCiBDT05GSUdfU1BJX0RZTkFNSUM9eQotQ09ORklHX1NQTUk9bQorQ09ORklHX1NQTUk9eQog Q09ORklHX1NQTUlfSElTSTM2NzA9bQogQ09ORklHX1NQTUlfTVNNX1BNSUNfQVJCPW0KIENPTkZJ R19TUE1JX01US19QTUlGPW0KQEAgLTUzMDQsNyArNTMwNSw3IEBAIENPTkZJR19QSU5DVFJMX1NB ODc3NVA9bQogQ09ORklHX1BJTkNUUkxfU0M3MTgwPW0KIENPTkZJR19QSU5DVFJMX1NDNzI4MD1t CiBDT05GSUdfUElOQ1RSTF9TQzgxODBYPW0KLUNPTkZJR19QSU5DVFJMX1NDODI4MFhQPW0KK0NP TkZJR19QSU5DVFJMX1NDODI4MFhQPXkKICMgQ09ORklHX1BJTkNUUkxfU0RNNjYwIGlzIG5vdCBz ZXQKIENPTkZJR19QSU5DVFJMX1NETTY3MD1tCiBDT05GSUdfUElOQ1RSTF9TRE04NDU9bQpAQCAt NTMyMiw3ICs1MzIzLDcgQEAgQ09ORklHX1BJTkNUUkxfU004NDUwPW0KIENPTkZJR19QSU5DVFJM X1NNODU1MD1tCiAjIENPTkZJR19QSU5DVFJMX1NNODY1MCBpcyBub3Qgc2V0CiAjIENPTkZJR19Q SU5DVFJMX1gxRTgwMTAwIGlzIG5vdCBzZXQKLUNPTkZJR19QSU5DVFJMX1FDT01fU1BNSV9QTUlD PW0KK0NPTkZJR19QSU5DVFJMX1FDT01fU1BNSV9QTUlDPXkKIENPTkZJR19QSU5DVFJMX1FDT01f U1NCSV9QTUlDPW0KIENPTkZJR19QSU5DVFJMX0xQQVNTX0xQST1tCiAjIENPTkZJR19QSU5DVFJM X1NDNzI4MF9MUEFTU19MUEkgaXMgbm90IHNldApAQCAtNTkxMSwxMiArNTkxMiwxMyBAQCBDT05G SUdfVEhFUk1BTF9PRj15CiBDT05GSUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9TVEVQX1dJU0U9eQog IyBDT05GSUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9GQUlSX1NIQVJFIGlzIG5vdCBzZXQKICMgQ09O RklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfVVNFUl9TUEFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19U SEVSTUFMX0RFRkFVTFRfR09WX1BPV0VSX0FMTE9DQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19U SEVSTUFMX0RFRkFVTFRfR09WX0JBTkdfQkFORyBpcyBub3Qgc2V0CiBDT05GSUdfVEhFUk1BTF9H T1ZfRkFJUl9TSEFSRT15CiBDT05GSUdfVEhFUk1BTF9HT1ZfU1RFUF9XSVNFPXkKIENPTkZJR19U SEVSTUFMX0dPVl9CQU5HX0JBTkc9eQogQ09ORklHX1RIRVJNQUxfR09WX1VTRVJfU1BBQ0U9eQot IyBDT05GSUdfVEhFUk1BTF9HT1ZfUE9XRVJfQUxMT0NBVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19U SEVSTUFMX0dPVl9QT1dFUl9BTExPQ0FUT1I9eQogQ09ORklHX0NQVV9USEVSTUFMPXkKIENPTkZJ R19DUFVfRlJFUV9USEVSTUFMPXkKICMgQ09ORklHX0NQVV9JRExFX1RIRVJNQUwgaXMgbm90IHNl dApAQCAtNTk3NCw3ICs1OTc2LDcgQEAgQ09ORklHX0dFTkVSSUNfQURDX1RIRVJNQUw9bQogIwog Q09ORklHX1FDT01fVFNFTlM9bQogQ09ORklHX1FDT01fU1BNSV9BRENfVE01PW0KLSMgQ09ORklH X1FDT01fU1BNSV9URU1QX0FMQVJNIGlzIG5vdCBzZXQKK0NPTkZJR19RQ09NX1NQTUlfVEVNUF9B TEFSTT1tCiBDT05GSUdfUUNPTV9MTUg9bQogIyBlbmQgb2YgUXVhbGNvbW0gdGhlcm1hbCBkcml2 ZXJzCiAKQEAgLTYwMTIsNyArNjAxNCw3IEBAIENPTkZJR19YSUxJTlhfV0FUQ0hET0c9bQogQ09O RklHX1pJSVJBVkVfV0FUQ0hET0c9bQogQ09ORklHX01MWF9XRFQ9bQogQ09ORklHX1NMMjhDUExE X1dBVENIRE9HPW0KLSMgQ09ORklHX0FSTV9TUDgwNV9XQVRDSERPRyBpcyBub3Qgc2V0CitDT05G SUdfQVJNX1NQODA1X1dBVENIRE9HPXkKIENPTkZJR19BUk1fU0JTQV9XQVRDSERPRz1tCiBDT05G SUdfQVJNQURBXzM3WFhfV0FUQ0hET0c9bQogQ09ORklHX0NBREVOQ0VfV0FUQ0hET0c9bQpAQCAt NjAyNSw3ICs2MDI3LDcgQEAgQ09ORklHX0lNWDJfV0RUPW0KIENPTkZJR19JTVhfU0NfV0RUPW0K IENPTkZJR19JTVg3VUxQX1dEVD1tCiBDT05GSUdfVEVHUkFfV0FUQ0hET0c9bQotIyBDT05GSUdf UUNPTV9XRFQgaXMgbm90IHNldAorQ09ORklHX1FDT01fV0RUPW0KIENPTkZJR19NRVNPTl9HWEJC X1dBVENIRE9HPW0KIENPTkZJR19NRVNPTl9XQVRDSERPRz1tCiBDT05GSUdfTUVESUFURUtfV0FU Q0hET0c9bQpAQCAtOTMyNSw3ICs5MzI3LDcgQEAgQ09ORklHX1NDU0lfVUZTSENEX1BDST1tCiBD T05GSUdfU0NTSV9VRlNIQ0RfUExBVEZPUk09bQogQ09ORklHX1NDU0lfVUZTX0NETlNfUExBVEZP Uk09bQogIyBDT05GSUdfU0NTSV9VRlNfRFdDX1RDX1BMQVRGT1JNIGlzIG5vdCBzZXQKLSMgQ09O RklHX1NDU0lfVUZTX1FDT00gaXMgbm90IHNldAorQ09ORklHX1NDU0lfVUZTX1FDT009bQogQ09O RklHX1NDU0lfVUZTX01FRElBVEVLPW0KIENPTkZJR19TQ1NJX1VGU19ISVNJPW0KIENPTkZJR19T Q1NJX1VGU19FWFlOT1M9bQpAQCAtMTAzNDQsNyArMTAzNDYsNyBAQCBDT05GSUdfUUNNX0dDQ18y MjkwPW0KIENPTkZJR19RQ1NfR0NDXzQwND1tCiBDT05GSUdfU0NfQ0FNQ0NfNzE4MD1tCiBDT05G SUdfU0NfQ0FNQ0NfNzI4MD1tCi0jIENPTkZJR19TQ19DQU1DQ184MjgwWFAgaXMgbm90IHNldAor Q09ORklHX1NDX0NBTUNDXzgyODBYUD1tCiBDT05GSUdfU0NfRElTUENDXzcxODA9bQogQ09ORklH X1NDX0RJU1BDQ183MjgwPW0KIENPTkZJR19TQ19ESVNQQ0NfODI4MFhQPW0KQEAgLTEwMzU2LDkg KzEwMzU4LDkgQEAgQ09ORklHX1NDX0dDQ184MTgwWD1tCiBDT05GSUdfU0NfR0NDXzgyODBYUD1t CiBDT05GSUdfU0NfR1BVQ0NfNzE4MD1tCiBDT05GSUdfU0NfR1BVQ0NfNzI4MD1tCi0jIENPTkZJ R19TQ19HUFVDQ184MjgwWFAgaXMgbm90IHNldAorQ09ORklHX1NDX0dQVUNDXzgyODBYUD1tCiBD T05GSUdfU0NfTFBBU1NDQ183MjgwPW0KLSMgQ09ORklHX1NDX0xQQVNTQ0NfODI4MFhQIGlzIG5v dCBzZXQKK0NPTkZJR19TQ19MUEFTU0NDXzgyODBYUD1tCiBDT05GSUdfU0NfTFBBU1NfQ09SRUND XzcxODA9bQogQ09ORklHX1NDX0xQQVNTX0NPUkVDQ183MjgwPW0KIENPTkZJR19TQ19NU1NfNzE4 MD1tCkBAIC0xMDQxNiw3ICsxMDQxOCw3IEBAIENPTkZJR19TTV9UQ1NSQ0NfODU1MD1tCiAjIENP TkZJR19TTV9UQ1NSQ0NfODY1MCBpcyBub3Qgc2V0CiBDT05GSUdfU01fVklERU9DQ184MTUwPW0K IENPTkZJR19TTV9WSURFT0NDXzgyNTA9bQotIyBDT05GSUdfU01fVklERU9DQ184MzUwIGlzIG5v dCBzZXQKK0NPTkZJR19TTV9WSURFT0NDXzgzNTA9bQogIyBDT05GSUdfU01fVklERU9DQ184NTUw IGlzIG5vdCBzZXQKIENPTkZJR19TUE1JX1BNSUNfQ0xLRElWPW0KIENPTkZJR19RQ09NX0hGUExM PW0KQEAgLTEwNDk0LDcgKzEwNDk2LDcgQEAgQ09ORklHX1RJTUVSX0lNWF9TWVNfQ1RSPXkKICMg ZW5kIG9mIENsb2NrIFNvdXJjZSBkcml2ZXJzCiAKIENPTkZJR19NQUlMQk9YPXkKLSMgQ09ORklH X0FSTV9NSFUgaXMgbm90IHNldAorQ09ORklHX0FSTV9NSFU9eQogQ09ORklHX0FSTV9NSFVfVjI9 bQogQ09ORklHX0lNWF9NQk9YPW0KIENPTkZJR19QTEFURk9STV9NSFU9bQpAQCAtMTA1MzYsOCAr MTA1MzgsOCBAQCBDT05GSUdfSU9NTVVfSU9fUEdUQUJMRV9EQVJUPXkKIAogIyBDT05GSUdfSU9N TVVfREVCVUdGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JT01NVV9ERUZBVUxUX0RNQV9TVFJJQ1Qg aXMgbm90IHNldAotIyBDT05GSUdfSU9NTVVfREVGQVVMVF9ETUFfTEFaWSBpcyBub3Qgc2V0Ci1D T05GSUdfSU9NTVVfREVGQVVMVF9QQVNTVEhST1VHSD15CitDT05GSUdfSU9NTVVfREVGQVVMVF9E TUFfTEFaWT15CisjIENPTkZJR19JT01NVV9ERUZBVUxUX1BBU1NUSFJPVUdIIGlzIG5vdCBzZXQK IENPTkZJR19PRl9JT01NVT15CiBDT05GSUdfSU9NTVVfRE1BPXkKIENPTkZJR19JT01NVV9TVkE9 eQpAQCAtMTA2OTUsNyArMTA2OTcsOSBAQCBDT05GSUdfUUNPTV9MTENDPW0KIENPTkZJR19RQ09N X0tSWU9fTDJfQUNDRVNTT1JTPXkKIENPTkZJR19RQ09NX01EVF9MT0FERVI9bQogQ09ORklHX1FD T01fT0NNRU09bQorQ09ORklHX1FDT01fUERfTUFQUEVSPW0KIENPTkZJR19RQ09NX1BEUl9IRUxQ RVJTPW0KK0NPTkZJR19RQ09NX1BEUl9NU0c9bQogIyBDT05GSUdfUUNPTV9QTUlDX1BEQ0hBUkdF Ul9VTE9HIGlzIG5vdCBzZXQKIENPTkZJR19RQ09NX1BNSUNfR0xJTks9bQogQ09ORklHX1FDT01f UU1JX0hFTFBFUlM9bQpAQCAtMTE5MjcsNyArMTE5MzEsMzggQEAgQ09ORklHX0lOVEVSQ09OTkVD VF9JTVg4TU09bQogQ09ORklHX0lOVEVSQ09OTkVDVF9JTVg4TU49bQogQ09ORklHX0lOVEVSQ09O TkVDVF9JTVg4TVE9bQogQ09ORklHX0lOVEVSQ09OTkVDVF9JTVg4TVA9bQotIyBDT05GSUdfSU5U RVJDT05ORUNUX1FDT00gaXMgbm90IHNldAorQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NPXkKK0NP TkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9CQ01fVk9URVI9eQorIyBDT05GSUdfSU5URVJDT05ORUNU X1FDT01fTVNNODkxNiBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9NU004 OTM5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5NzQgaXMgbm90 IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fTVNNODk5NiBpcyBub3Qgc2V0CitDT05G SUdfSU5URVJDT05ORUNUX1FDT01fT1NNX0wzPW0KKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09N X1FDTTIyOTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fUUNTNDA0IGlz IG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1FEVTEwMDAgaXMgbm90IHNldAor Q09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1JQTUhfUE9TU0lCTEU9eQorQ09ORklHX0lOVEVSQ09O TkVDVF9RQ09NX1JQTUg9eQorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0E4Nzc1UCBpcyBu b3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TQzcxODAgaXMgbm90IHNldAorIyBD T05GSUdfSU5URVJDT05ORUNUX1FDT01fU0M3MjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVS Q09OTkVDVF9RQ09NX1NDODE4MFggaXMgbm90IHNldAorQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09N X1NDODI4MFhQPXkKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NETTY2MCBpcyBub3Qgc2V0 CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRE02NzAgaXMgbm90IHNldAorIyBDT05GSUdf SU5URVJDT05ORUNUX1FDT01fU0RNODQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVD VF9RQ09NX1NEWDU1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NEWDY1 IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NEWDc1IGlzIG5vdCBzZXQK KyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNNjExNSBpcyBub3Qgc2V0CisjIENPTkZJR19J TlRFUkNPTk5FQ1RfUUNPTV9TTTYzNTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNU X1FDT01fU004MTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODI1 MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTgzNTAgaXMgbm90IHNl dAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004NDUwIGlzIG5vdCBzZXQKKyMgQ09ORklH X0lOVEVSQ09OTkVDVF9RQ09NX1NNODU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5F Q1RfUUNPTV9TTTg2NTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fWDFF ODAxMDAgaXMgbm90IHNldAogQ09ORklHX0lOVEVSQ09OTkVDVF9TQU1TVU5HPXkKIENPTkZJR19J TlRFUkNPTk5FQ1RfRVhZTk9TPW0KIENPTkZJR19JTlRFUkNPTk5FQ1RfQ0xLPW0KZGlmZiAtLWdp dCBhL3NyY3BrZ3MvbGludXg2LjgvcGF0Y2hlcy9zb2MtcWNvbS1hZGQtaW4ta2VybmVsLXBkLW1h cHBlci1pbXBsZW1lbnRhdGlvbi5wYXRjaCBiL3NyY3BrZ3MvbGludXg2LjgvcGF0Y2hlcy9zb2Mt cWNvbS1hZGQtaW4ta2VybmVsLXBkLW1hcHBlci1pbXBsZW1lbnRhdGlvbi5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uODM5ZjA5MzNlNDExZDEKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpbnV4Ni44L3BhdGNoZXMvc29jLXFjb20tYWRkLWluLWtl cm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2gKQEAgLTAsMCArMSwxOTY0IEBACitz b3VyY2U6IGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC9saW51eC1yZW1vdGVw cm9jL2NvdmVyLzIwMjQwNTEyLXFjb20tcGQtbWFwcGVyLXY4LTAtNWVjYmIyNzZmY2MwQGxpbmFy by5vcmcvCisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJv Lm9yZz4KK0RhdGU6IFN1biwgMTIgTWF5IDIwMjQgMDA6NTY6MDMgKzAzMDAKK1N1YmplY3Q6IFtQ QVRDSCB2OCAxLzVdIHNvYzogcWNvbTogcGRyOiBwcm90ZWN0IGxvY2F0b3JfYWRkciB3aXRoIHRo ZSBtYWluCisgbXV0ZXgKKworSWYgdGhlIHNlcnZpY2UgbG9jYXRvciBzZXJ2ZXIgaXMgcmVzdGFy dGVkIGZhc3QgZW5vdWdoLCB0aGUgUERSIGNhbgorcmV3cml0ZSBsb2NhdG9yX2FkZHIgZmllbGRz IGNvbmN1cnJlbnRseS4gUHJvdGVjdCB0aGVtIGJ5IHBsYWNpbmcKK21vZGlmaWNhdGlvbiBvZiB0 aG9zZSBmaWVsZHMgdW5kZXIgdGhlIG1haW4gcGRyLT5sb2NrLgorCitGaXhlczogZmJlNjM5YjQ0 YTgyICgic29jOiBxY29tOiBJbnRyb2R1Y2UgUHJvdGVjdGlvbiBEb21haW4gUmVzdGFydCBoZWxw ZXJzIikKK1Rlc3RlZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ryb25nQGxpbmFyby5v cmc+ICMgb24gU004NTUwLVFSRAorVGVzdGVkLWJ5OiBTdGVldiBLbGltYXN6ZXdza2kgPHN0ZWV2 QGthbGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkgTWlubmVraGFub3YgPGFsZXhleW1pbkBwb3N0 bWFya2V0b3Mub3JnPgorU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJh cnlzaGtvdkBsaW5hcm8ub3JnPgorLS0tCisgZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNl LmMgfCAxNSArKysrKysrKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygr KSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2lu dGVyZmFjZS5jIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKK2luZGV4IGExYjZh NDA4MWRlYS4uZTAxNGRkMmQ4YWIzIDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9wZHJf aW50ZXJmYWNlLmMKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCitAQCAt NzYsMTIgKzc2LDEyIEBAIHN0YXRpYyBpbnQgcGRyX2xvY2F0b3JfbmV3X3NlcnZlcihzdHJ1Y3Qg cW1pX2hhbmRsZSAqcW1pLAorIAkJCQkJICAgICAgbG9jYXRvcl9oZGwpOworIAlzdHJ1Y3QgcGRy X3NlcnZpY2UgKnBkczsKKyAKKysJbXV0ZXhfbG9jaygmcGRyLT5sb2NrKTsKKyAJLyogQ3JlYXRl IGEgbG9jYWwgY2xpZW50IHBvcnQgZm9yIFFNSSBjb21tdW5pY2F0aW9uICovCisgCXBkci0+bG9j YXRvcl9hZGRyLnNxX2ZhbWlseSA9IEFGX1FJUENSVFI7CisgCXBkci0+bG9jYXRvcl9hZGRyLnNx X25vZGUgPSBzdmMtPm5vZGU7CisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX3BvcnQgPSBzdmMtPnBv cnQ7CisgCistCW11dGV4X2xvY2soJnBkci0+bG9jayk7CisgCXBkci0+bG9jYXRvcl9pbml0X2Nv bXBsZXRlID0gdHJ1ZTsKKyAJbXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOworIAorQEAgLTEwNCwx MCArMTA0LDEwIEBAIHN0YXRpYyB2b2lkIHBkcl9sb2NhdG9yX2RlbF9zZXJ2ZXIoc3RydWN0IHFt aV9oYW5kbGUgKnFtaSwKKyAKKyAJbXV0ZXhfbG9jaygmcGRyLT5sb2NrKTsKKyAJcGRyLT5sb2Nh dG9yX2luaXRfY29tcGxldGUgPSBmYWxzZTsKKy0JbXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOwor IAorIAlwZHItPmxvY2F0b3JfYWRkci5zcV9ub2RlID0gMDsKKyAJcGRyLT5sb2NhdG9yX2FkZHIu c3FfcG9ydCA9IDA7CisrCW11dGV4X3VubG9jaygmcGRyLT5sb2NrKTsKKyB9CisgCisgc3RhdGlj IGNvbnN0IHN0cnVjdCBxbWlfb3BzIHBkcl9sb2NhdG9yX29wcyA9IHsKK0BAIC0zNjUsNiArMzY1 LDcgQEAgc3RhdGljIGludCBwZHJfZ2V0X2RvbWFpbl9saXN0KHN0cnVjdCBzZXJ2cmVnX2dldF9k b21haW5fbGlzdF9yZXEgKnJlcSwKKyAJaWYgKHJldCA8IDApCisgCQlyZXR1cm4gcmV0OworIAor KwltdXRleF9sb2NrKCZwZHItPmxvY2spOworIAlyZXQgPSBxbWlfc2VuZF9yZXF1ZXN0KCZwZHIt PmxvY2F0b3JfaGRsLAorIAkJCSAgICAgICAmcGRyLT5sb2NhdG9yX2FkZHIsCisgCQkJICAgICAg ICZ0eG4sIFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUSwKK0BAIC0zNzMsMTUgKzM3NCwxNiBA QCBzdGF0aWMgaW50IHBkcl9nZXRfZG9tYWluX2xpc3Qoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFp bl9saXN0X3JlcSAqcmVxLAorIAkJCSAgICAgICByZXEpOworIAlpZiAocmV0IDwgMCkgeworIAkJ cW1pX3R4bl9jYW5jZWwoJnR4bik7CistCQlyZXR1cm4gcmV0OworKwkJZ290byBlcnJfdW5sb2Nr OworIAl9CisgCisgCXJldCA9IHFtaV90eG5fd2FpdCgmdHhuLCA1ICogSFopOworIAlpZiAocmV0 IDwgMCkgeworIAkJcHJfZXJyKCJQRFI6ICVzIGdldCBkb21haW4gbGlzdCB0eG4gd2FpdCBmYWls ZWQ6ICVkXG4iLAorIAkJICAgICAgIHJlcS0+c2VydmljZV9uYW1lLCByZXQpOworLQkJcmV0dXJu IHJldDsKKysJCWdvdG8gZXJyX3VubG9jazsKKyAJfQorKwltdXRleF91bmxvY2soJnBkci0+bG9j ayk7CisgCisgCWlmIChyZXNwLT5yZXNwLnJlc3VsdCAhPSBRTUlfUkVTVUxUX1NVQ0NFU1NfVjAx KSB7CisgCQlwcl9lcnIoIlBEUjogJXMgZ2V0IGRvbWFpbiBsaXN0IGZhaWxlZDogMHgleFxuIiwK K0BAIC0zOTAsNiArMzkyLDExIEBAIHN0YXRpYyBpbnQgcGRyX2dldF9kb21haW5fbGlzdChzdHJ1 Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxICpyZXEsCisgCX0KKyAKKyAJcmV0dXJuIDA7 CisrCisrZXJyX3VubG9jazoKKysJbXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOworKworKwlyZXR1 cm4gcmV0OworIH0KKyAKKyBzdGF0aWMgaW50IHBkcl9sb2NhdGVfc2VydmljZShzdHJ1Y3QgcGRy X2hhbmRsZSAqcGRyLCBzdHJ1Y3QgcGRyX3NlcnZpY2UgKnBkcykKKworRnJvbTogRG1pdHJ5IEJh cnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0ZTogU3VuLCAxMiBNYXkg MjAyNCAwMDo1NjowNCArMDMwMAorU3ViamVjdDogW1BBVENIIHY4IDIvNV0gc29jOiBxY29tOiBw ZHI6IGZpeCBwYXJzaW5nIG9mIGRvbWFpbnMgbGlzdHMKKworV2hpbGUgcGFyc2luZyB0aGUgZG9t YWlucyBsaXN0LCBzdGFydCBvZmZzZXRzIGZyb20gMCByYXRoZXIgdGhhbiBmcm9tCitkb21haW5z X3JlYWQuIFRoZSBkb21haW5zX3JlYWQgaXMgZXF1YWwgdG8gdGhlIHRvdGFsIGNvdW50IG9mIHRo ZQorZG9tYWlucyB3ZSBoYXZlIHNlZW4sIHdoaWxlIHRoZSBkb21haW5zIGxpc3QgaW4gdGhlIG1l c3NhZ2Ugc3RhcnRzIGZyb20KK29mZnNldCAwLgorCitGaXhlczogZmJlNjM5YjQ0YTgyICgic29j OiBxY29tOiBJbnRyb2R1Y2UgUHJvdGVjdGlvbiBEb21haW4gUmVzdGFydCBoZWxwZXJzIikKK1Rl c3RlZC1ieTogU3RlZXYgS2xpbWFzemV3c2tpIDxzdGVldkBrYWxpLm9yZz4KK1Rlc3RlZC1ieTog QWxleGV5IE1pbm5la2hhbm92IDxhbGV4ZXltaW5AcG9zdG1hcmtldG9zLm9yZz4KK1NpZ25lZC1v ZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KKy0t LQorIGRyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jIHwgMiArLQorIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVy cy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZh Y2UuYworaW5kZXggZTAxNGRkMmQ4YWIzLi5kNDk1ZWU3MzY1MTkgMTAwNjQ0CistLS0gYS9kcml2 ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYworKysrIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJf aW50ZXJmYWNlLmMKK0BAIC00MjIsNyArNDIyLDcgQEAgc3RhdGljIGludCBwZHJfbG9jYXRlX3Nl cnZpY2Uoc3RydWN0IHBkcl9oYW5kbGUgKnBkciwgc3RydWN0IHBkcl9zZXJ2aWNlICpwZHMpCisg CQlpZiAocmV0IDwgMCkKKyAJCQlnb3RvIG91dDsKKyAKKy0JCWZvciAoaSA9IGRvbWFpbnNfcmVh ZDsgaSA8IHJlc3AtPmRvbWFpbl9saXN0X2xlbjsgaSsrKSB7CisrCQlmb3IgKGkgPSAwOyBpIDwg cmVzcC0+ZG9tYWluX2xpc3RfbGVuOyBpKyspIHsKKyAJCQllbnRyeSA9ICZyZXNwLT5kb21haW5f bGlzdFtpXTsKKyAKKyAJCQlpZiAoc3RybmxlbihlbnRyeS0+bmFtZSwgc2l6ZW9mKGVudHJ5LT5u YW1lKSkgPT0gc2l6ZW9mKGVudHJ5LT5uYW1lKSkKKworRnJvbTogRG1pdHJ5IEJhcnlzaGtvdiA8 ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0ZTogU3VuLCAxMiBNYXkgMjAyNCAwMDo1 NjowNSArMDMwMAorU3ViamVjdDogW1BBVENIIHY4IDMvNV0gc29jOiBxY29tOiBwZHI6IGV4dHJh Y3QgUERSIG1lc3NhZ2UgbWFyc2hhbGxpbmcKKyBkYXRhCisKK1RoZSBpbi1rZXJuZWwgUEQgbWFw cGVyIGlzIGdvaW5nIHRvIHVzZSBzYW1lIG1lc3NhZ2Ugc3RydWN0dXJlcyBhcyB0aGUKK1FDT01f UERSX0hFTFBFUlMgbW9kdWxlLiBFeHRyYWN0IG1lc3NhZ2UgbWFyc2hhbGxpbmcgZGF0YSB0byBz ZXBhcmF0ZQorbW9kdWxlIHRoYXQgY2FuIGJlIHVzZWQgYnkgYm90aCBQRFIgaGVscGVycyBhbmQg YnkgUEQgbWFwcGVyLgorCitSZXZpZXdlZC1ieTogQnJ5YW4gTydEb25vZ2h1ZSA8YnJ5YW4ub2Rv bm9naHVlQGxpbmFyby5vcmc+CitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3RlZXZA a2FsaS5vcmc+CitUZXN0ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8YWxleGV5bWluQHBvc3Rt YXJrZXRvcy5vcmc+CitTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFy eXNoa292QGxpbmFyby5vcmc+CistLS0KKyBkcml2ZXJzL3NvYy9xY29tL0tjb25maWcgICAgICAg IHwgICA0ICsKKyBkcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlICAgICAgIHwgICAxICsKKyBkcml2 ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oIHwgMzA2ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYyB8IDMxOSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2Vk LCAzMzQgaW5zZXJ0aW9ucygrKSwgMjk2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZHJp dmVycy9zb2MvcWNvbS9LY29uZmlnIGIvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitpbmRleCA1 YWYzM2IwZTM0NzAuLjk1OTczYzZiODI4ZiAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20v S2NvbmZpZworKysrIGIvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitAQCAtNzUsOCArNzUsMTIg QEAgY29uZmlnIFFDT01fT0NNRU0KKyBjb25maWcgUUNPTV9QRFJfSEVMUEVSUworIAl0cmlzdGF0 ZQorIAlzZWxlY3QgUUNPTV9RTUlfSEVMUEVSUworKwlzZWxlY3QgUUNPTV9QRFJfTVNHCisgCWRl cGVuZHMgb24gTkVUCisgCisrY29uZmlnIFFDT01fUERSX01TRworKwl0cmlzdGF0ZQorKworIGNv bmZpZyBRQ09NX1BNSUNfUERDSEFSR0VSX1VMT0cKKyAJdHJpc3RhdGUgIlF1YWxjb21tIFBNSUMg UERDaGFyZ2VyIFVMT0cgZHJpdmVyIgorIAlkZXBlbmRzIG9uIFJQTVNHCitkaWZmIC0tZ2l0IGEv ZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZSBiL2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKK2lu ZGV4IGNhMGJlY2UwZGZmZi4uMzExMGFjMzI4OGJjIDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2Mv cWNvbS9NYWtlZmlsZQorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQorQEAgLTgsNiAr OCw3IEBAIG9iai0kKENPTkZJR19RQ09NX0dTQkkpCSs9CXFjb21fZ3NiaS5vCisgb2JqLSQoQ09O RklHX1FDT01fTURUX0xPQURFUikJKz0gbWR0X2xvYWRlci5vCisgb2JqLSQoQ09ORklHX1FDT01f T0NNRU0pCSs9IG9jbWVtLm8KKyBvYmotJChDT05GSUdfUUNPTV9QRFJfSEVMUEVSUykJKz0gcGRy X2ludGVyZmFjZS5vCisrb2JqLSQoQ09ORklHX1FDT01fUERSX01TRykJKz0gcWNvbV9wZHJfbXNn Lm8KKyBvYmotJChDT05GSUdfUUNPTV9QTUlDX0dMSU5LKQkrPSBwbWljX2dsaW5rLm8KKyBvYmot JChDT05GSUdfUUNPTV9QTUlDX0dMSU5LKQkrPSBwbWljX2dsaW5rX2FsdG1vZGUubworIG9iai0k KENPTkZJR19RQ09NX1BNSUNfUERDSEFSR0VSX1VMT0cpCSs9IHBtaWNfcGRjaGFyZ2VyX3Vsb2cu bworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmggYi9kcml2ZXJz L3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oCitpbmRleCAwM2MyODJiN2YxN2UuLjdlNWJiNWE5NTI3 NSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKKysrKyBiL2Ry aXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKK0BAIC0yOCw4MyArMjgsMTIgQEAgc3RydWN0 IHNlcnZyZWdfbG9jYXRpb25fZW50cnkgeworIAl1MzIgaW5zdGFuY2U7CisgfTsKKyAKKy1zdGF0 aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NhdGlvbl9lbnRyeV9laVtd ID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVu ICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2YoY2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAg ICAgID0gMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xv Y2F0aW9uX2VudHJ5LAorLQkJCQkJICAgbmFtZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUg ICAgICA9IFFNSV9VTlNJR05FRF80X0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZ LAorLQkJLnRsdl90eXBlICAgICAgID0gMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9m KHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorLQkJCQkJICAgaW5zdGFuY2UpLAorLQl9 LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMV9CWVRFLAorLQkJLmVs ZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQku YXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMCwKKy0JCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorLQkJ CQkJICAgc2VydmljZV9kYXRhX3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxl bV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCist CQkudGx2X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3Ry dWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkgICBzZXJ2aWNlX2RhdGEpLAorLQl9 LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSB7Cisg CWNoYXIgc2VydmljZV9uYW1lW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyAJdTggZG9tYWlu X29mZnNldF92YWxpZDsKKyAJdTMyIGRvbWFpbl9vZmZzZXQ7CisgfTsKKyAKKy1zdGF0aWMgY29u c3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpW10g PSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4g ICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNp emVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAg ICAgPSAweDAxLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdf Z2V0X2RvbWFpbl9saXN0X3JlcSwKKy0JCQkJCSAgIHNlcnZpY2VfbmFtZSksCistCX0sCistCXsK Ky0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVtX2xlbiAgICAgICA9 IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBO T19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorLQkJCQkJICAg ZG9tYWluX29mZnNldF92YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFN SV9VTlNJR05FRF80X0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6 ZSAgICAgID0gc2l6ZW9mKHUzMiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRs dl90eXBlICAgICAgID0gMHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXEsCistCQkJCQkgICBkb21haW5fb2Zmc2V0KSwK Ky0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNw IHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIAl1OCB0b3RhbF9kb21h aW5zX3ZhbGlkOworQEAgLTExNiwyNjQgKzQ1LDQ5IEBAIHN0cnVjdCBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXNwIHsKKyAJc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnkgZG9tYWluX2xp c3RbU0VSVlJFR19ET01BSU5fTElTVF9MRU5HVEhdOworIH07CisgCistc3RhdGljIGNvbnN0IHN0 cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWlbXSA9IHsK Ky0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKy0JCS5lbGVtX2xlbiAgICAg ICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90 eXBlX3YwMSksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAg ID0gMHgwMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dl dF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAgcmVzcCksCistCQkuZWlfYXJyYXkgICAgICA9 IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUg ICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90 eXBlICAgICAgID0gMHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBz ZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAgdG90YWxfZG9tYWluc192YWxp ZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUs CistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUx NiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgx MCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXNwLAorLQkJCQkJICAgdG90YWxfZG9tYWlucyksCistCX0sCistCXsKKy0JCS5k YXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCist CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKy0JCQkJCSAgIGRiX3Jl dl9jb3VudF92YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJ R05FRF8yX0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAg ID0gc2l6ZW9mKHUxNiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBl ICAgICAgID0gMHgxMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2 cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAgZGJfcmV2X2NvdW50KSwKKy0JfSwK Ky0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAg ICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKy0JCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJ CQkJICAgZG9tYWluX2xpc3RfdmFsaWQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAg PSBRTUlfREFUQV9MRU4sCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAg ICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5 cGUgICAgICAgPSAweDEyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNl cnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdF9sZW4pLAor LQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorLQkJLmVsZW1fbGVu ICAgICAgID0gU0VSVlJFR19ET01BSU5fTElTVF9MRU5HVEgsCistCQkuZWxlbV9zaXplICAgICAg PSBzaXplb2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnkpLAorLQkJLmFycmF5X3R5cGUJ PSBWQVJfTEVOX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKy0JCS5vZmZzZXQg ICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAor LQkJCQkJICAgZG9tYWluX2xpc3QpLAorLQkJLmVpX2FycmF5ICAgICAgPSBzZXJ2cmVnX2xvY2F0 aW9uX2VudHJ5X2VpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfcmVnaXN0 ZXJfbGlzdGVuZXJfcmVxIHsKKyAJdTggZW5hYmxlOworIAljaGFyIHNlcnZpY2VfcGF0aFtTRVJW UkVHX05BTUVfTEVOR1RIICsgMV07CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9l bGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXFfZWlbXSA9IHsKKy0JeworLQkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzFfQllURSwKKy0JCS5lbGVtX2xlbiAgICAg ICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJ PSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAgICAg ICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCistCQkJ CQkgICBlbmFibGUpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5H LAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCistCQkuZWxl bV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAor LQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9m KHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcSwKKy0JCQkJCSAgIHNlcnZpY2Vf cGF0aCksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0 ZW5lcl9yZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIAl1OCBj dXJyX3N0YXRlX3ZhbGlkOworIAllbnVtIHNlcnZyZWdfc2VydmljZV9zdGF0ZSBjdXJyX3N0YXRl OworIH07CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVn aXN0ZXJfbGlzdGVuZXJfcmVzcF9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBR TUlfU1RSVUNULAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9 IHNpemVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0g Tk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcCwKKy0JCQkJ CSAgIHJlc3ApLAorLQkJLmVpX2FycmF5ICAgICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWks CistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVt X2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFy cmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9y ZXNwLAorLQkJCQkJICAgY3Vycl9zdGF0ZV92YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5 cGUgICAgICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0sCistCQkuZWxlbV9sZW4gICAgICAgPSAx LAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGVudW0gc2VydnJlZ19zZXJ2aWNlX3N0YXRl KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEw LAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJf bGlzdGVuZXJfcmVzcCwKKy0JCQkJCSAgIGN1cnJfc3RhdGUpLAorLQl9LAorLQl7fQorLX07Cist Cisgc3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXEgeworIAljaGFyIHNlcnZpY2VfcGF0aFtT RVJWUkVHX05BTUVfTEVOR1RIICsgMV07CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFt aV9lbGVtX2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3JlcV9laVtdID0geworLQl7CistCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19O QU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCistCQku YXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5v ZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxLAor LQkJCQkJICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2 cmVnX3Jlc3RhcnRfcGRfcmVzcCB7CisgCXN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEgcmVz cDsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jl c3RhcnRfcGRfcmVzcF9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RS VUNULAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVv ZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJS QVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwLAorLQkJCQkJICAgcmVzcCksCist CQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0Je30K Ky19OworLQorIHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kIHsKKyAJZW51bSBzZXJ2 cmVnX3NlcnZpY2Vfc3RhdGUgY3Vycl9zdGF0ZTsKKyAJY2hhciBzZXJ2aWNlX3BhdGhbU0VSVlJF R19OQU1FX0xFTkdUSCArIDFdOworIAl1MTYgdHJhbnNhY3Rpb25faWQ7CisgfTsKKyAKKy1zdGF0 aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9l aVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU0lHTkVEXzRfQllURV9FTlVN LAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1 MzIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4 MDEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91 cGRhdGVkX2luZCwKKy0JCQkJCSAgIGN1cnJfc3RhdGUpLAorLQl9LAorLQl7CistCQkuZGF0YV90 eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1F X0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCistCQkuYXJy YXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAor LQkJCQkJICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0g UU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9z aXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQku dGx2X3R5cGUgICAgICAgPSAweDAzLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3Ry dWN0IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQsCistCQkJCQkgICB0cmFuc2FjdGlvbl9pZCks CistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSB7CisgCWNo YXIgc2VydmljZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyAJdTE2IHRyYW5zYWN0 aW9uX2lkOworIH07CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZy ZWdfc2V0X2Fja19yZXFfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NU UklORywKKy0JCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorLQkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSwKKy0JCQkJCSAgIHNlcnZpY2VfcGF0aCks CistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCist CQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiks CistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwK Ky0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVx LAorLQkJCQkJICAgdHJhbnNhY3Rpb25faWQpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0 IHNlcnZyZWdfc2V0X2Fja19yZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSBy ZXNwOworIH07CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdf c2V0X2Fja19yZXNwX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJV Q1QsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9m KHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3Jlc3AsCistCQkJCQkgICByZXNwKSwKKy0JCS5l aV9hcnJheSAgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0Je30KKy19 OworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY2F0aW9uX2Vu dHJ5X2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0 X2RvbWFpbl9saXN0X3JlcV9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5m byBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVj dCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxX2VpW107CisrZXh0 ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJf cmVzcF9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jl c3RhcnRfcGRfcmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNl cnZyZWdfcmVzdGFydF9wZF9yZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxl bV9pbmZvIHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmRfZWlbXTsKKytleHRlcm4gY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3JlcV9laVtdOworK2V4dGVybiBjb25z dCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVzcF9laVtdOworIAorICNl bmRpZgorZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMgYi9kcml2 ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21zZy5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMDAwLi45YjQ2ZjQyYWExNDYKKy0tLSAvZGV2L251bGwKKysrKyBiL2RyaXZlcnMv c29jL3Fjb20vcWNvbV9wZHJfbXNnLmMKK0BAIC0wLDAgKzEsMzE5IEBACisrLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKKysvKgorKyAqIENvcHlyaWdodCAoQykgMjAyMCBUaGUg TGludXggRm91bmRhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysgKi8KKysKKysjaW5jbHVk ZSA8bGludXgvbW9kdWxlLmg+CisrI2luY2x1ZGUgPGxpbnV4L3NvYy9xY29tL3FtaS5oPgorKwor KyNpbmNsdWRlICJwZHJfaW50ZXJuYWwuaCIKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5m byBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAg ICA9IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RI ICsgMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJheV90eXBl CT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAwLAorKwkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCisrCQkJCQkgICBuYW1l KSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwK KysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMy KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAwLAor KwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50 cnksCisrCQkJCQkgICBpbnN0YW5jZSksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9 IFFNSV9VTlNJR05FRF8xX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQku dGx2X3R5cGUgICAgICAgPSAwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0 IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCisrCQkJCQkgICBzZXJ2aWNlX2RhdGFfdmFsaWQpLAor Kwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorKwkJ LmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAor KwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQku b2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwK KysJCQkJCSAgIHNlcnZpY2VfZGF0YSksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9M X0dQTChzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2Vs ZW1faW5mbyBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRh dGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdf TkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJ LmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQku b2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3Rf cmVxLAorKwkJCQkJICAgc2VydmljZV9uYW1lKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAg ICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3Np emUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRs dl90eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXEsCisrCQkJCQkgICBkb21haW5fb2Zmc2V0X3Zh bGlkKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllU RSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yo dTMyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAw eDEwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2Rv bWFpbl9saXN0X3JlcSwKKysJCQkJCSAgIGRvbWFpbl9vZmZzZXQpLAorKwl9LAorKwl7fQorK307 CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpKTsKKysK Kytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNw X2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCisrCQkuZWxl bV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlf cmVzcG9uc2VfdHlwZV92MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZf dHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qg c2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2Fy cmF5ICAgICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCisrCX0sCisrCXsKKysJCS5kYXRh X3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQku ZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwK KysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRv ZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIHRvdGFsX2Rv bWFpbnNfdmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdO RURfMl9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9 IHNpemVvZih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAg ICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIHRvdGFsX2RvbWFpbnMpLAorKwl9LAor Kwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCisrCQkuZWxlbV9sZW4gICAg ICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBl CT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDExLAorKwkJLm9mZnNldCAgICAg ICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCisrCQkJ CQkgICBkYl9yZXZfY291bnRfdmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAg PSBRTUlfVU5TSUdORURfMl9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVt X3NpemUgICAgICA9IHNpemVvZih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJ CS50bHZfdHlwZSAgICAgICA9IDB4MTEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIGRiX3Jldl9jb3Vu dCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKysJCS5l bGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJ LmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCisrCQku b2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3Rf cmVzcCwKKysJCQkJCSAgIGRvbWFpbl9saXN0X3ZhbGlkKSwKKysJfSwKKysJeworKwkJLmRhdGFf dHlwZSAgICAgID0gUU1JX0RBVEFfTEVOLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5l bGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAor KwkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9m KHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9tYWluX2xp c3RfbGVuKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJ CS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfRE9NQUlOX0xJU1RfTEVOR1RILAorKwkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5KSwKKysJCS5h cnJheV90eXBlCT0gVkFSX0xFTl9BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCisr CQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xp c3RfcmVzcCwKKysJCQkJCSAgIGRvbWFpbl9saXN0KSwKKysJCS5laV9hcnJheSAgICAgID0gc2Vy dnJlZ19sb2NhdGlvbl9lbnRyeV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xf R1BMKHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWkpOworKworK2NvbnN0IHN0cnVjdCBx bWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxX2VpW10gPSB7CisrCXsK KysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8xX0JZVEUsCisrCQkuZWxlbV9sZW4g ICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90 eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorKwkJLm9mZnNldCAg ICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxLAor KwkJCQkJICAgZW5hYmxlKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NU UklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCisrCQkJCQkgICBzZXJ2 aWNlX3BhdGgpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19y ZWdpc3Rlcl9saXN0ZW5lcl9yZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZv IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcF9laVtdID0geworKwl7CisrCQkuZGF0YV90 eXBlICAgICAgPSBRTUlfU1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVt X3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKysJCS5h cnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9m ZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJf cmVzcCwKKysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAgPSBxbWlfcmVzcG9uc2Vf dHlwZV92MDFfZWksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxB RywKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yo dTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4 MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rl cl9saXN0ZW5lcl9yZXNwLAorKwkJCQkJICAgY3Vycl9zdGF0ZV92YWxpZCksCisrCX0sCisrCXsK KysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0sCisrCQkuZWxlbV9s ZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGVudW0gc2VydnJlZ19z ZXJ2aWNlX3N0YXRlKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUg ICAgICAgPSAweDEwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZy ZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcCwKKysJCQkJCSAgIGN1cnJfc3RhdGUpLAorKwl9LAor Kwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9y ZXNwX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRf cGRfcmVxX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisr CQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3Np emUgICAgICA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQku dGx2X3R5cGUgICAgICAgPSAweDAxLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3Ry dWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXEsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9 LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19yZXN0YXJ0X3BkX3JlcV9l aSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jl c3BfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5l bGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFt aV9yZXNwb25zZV90eXBlX3YwMSksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRs dl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcCwKKysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5 ICAgICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCisrCX0sCisrCXt9CisrfTsKKytFWFBP UlRfU1lNQk9MX0dQTChzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcF9laSk7CisrCisrY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdID0geworKwl7 CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU0lHTkVEXzRfQllURV9FTlVNLAorKwkJLmVsZW1f bGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFy cmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwK KysJCQkJCSAgIGN1cnJfc3RhdGUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBR TUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEs CisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5P X0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9 IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorKwkJCQkJICAgc2Vy dmljZV9wYXRoKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVE XzJfQllURSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2YodTE2KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAg ICAgPSAweDAzLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdf c3RhdGVfdXBkYXRlZF9pbmQsCisrCQkJCQkgICB0cmFuc2FjdGlvbl9pZCksCisrCX0sCisrCXt9 CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpKTsK KysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVxX2VpW10g PSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4g ICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNp emVvZihjaGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAg ICAgPSAweDAxLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdf c2V0X2Fja19yZXEsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAorKwl7CisrCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0g MSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBO T19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSwKKysJCQkJCSAgIHRyYW5zYWN0 aW9uX2lkKSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfc2V0 X2Fja19yZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0 X2Fja19yZXNwX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1Qs CisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0 cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwK KysJCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRv ZihzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3Jlc3AsCisrCQkJCQkgICByZXNwKSwKKysJCS5laV9h cnJheSAgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJe30KKyt9Owor K0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpKTsKKysKKytNT0RVTEVf TElDRU5TRSgiR1BMIik7CisrTU9EVUxFX0RFU0NSSVBUSU9OKCJRdWFsY29tbSBQcm90ZWN0aW9u IERvbWFpbiBtZXNzYWdlcyBkYXRhIik7CisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRy eS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KK0RhdGU6IFN1biwgMTIgTWF5IDIwMjQgMDA6NTY6MDYg KzAzMDAKK1N1YmplY3Q6IFtQQVRDSCB2OCA0LzVdIHNvYzogcWNvbTogYWRkIHBkLW1hcHBlciBp bXBsZW1lbnRhdGlvbgorCitFeGlzdGluZyB1c2Vyc3BhY2UgcHJvdGVjdGlvbiBkb21haW4gbWFw cGVyIGltcGxlbWVudGF0aW9uIGhhcyBzZXZlcmFsCitpc3N1ZS4gSXQgZG9lc24ndCBwbGF5IHdl bGwgd2l0aCBDT05GSUdfRVhUUkFfRklSTVdBUkUsIGl0IGRvZXNuJ3QKK3JlcmVhZCBKU09OIGZp bGVzIGlmIGZpcm13YXJlIGxvY2F0aW9uIGlzIGNoYW5nZWQgKG9yIGlmIGZpcm13YXJlIHdhcwor bm90IGF2YWlsYWJsZSBhdCB0aGUgdGltZSBwZC1tYXBwZXIgd2FzIHN0YXJ0ZWQgYnV0IHRoZSBj b3JyZXNwb25kaW5nCitkaXJlY3RvcnkgaXMgbW91bnRlZCBsYXRlciksIGV0Yy4KKworUHJvdmlk ZSBpbi1rZXJuZWwgc2VydmljZSBpbXBsZW1lbnRpbmcgcHJvdGVjdGlvbiBkb21haW4gbWFwcGlu ZworcmVxdWlyZWQgdG8gd29yayB3aXRoIHNldmVyYWwgc2VydmljZXMsIHdoaWNoIGFyZSBwcm92 aWRlZCBieSB0aGUgRFNQCitmaXJtd2FyZS4KKworVGhpcyBtb2R1bGUgaXMgbG9hZGVkIGF1dG9t YXRpY2FsbHkgYnkgdGhlIHJlbW90ZXByb2MgZHJpdmVycyB3aGVuCituZWNlc3NhcnkgdmlhIHRo ZSBzeW1ib2wgZGVwZW5kZW5jeS4gSXQgdXNlcyBhIHJvb3Qgbm9kZSB0byBtYXRjaCBhCitwcm90 ZWN0aW9uIGRvbWFpbnMgbWFwIGZvciBhIHBhcnRpY3VsYXIgYm9hcmQuIEl0IGlzIG5vdCBwb3Nz aWJsZSB0bworaW1wbGVtZW50IGl0IGFzIGEgJ2RyaXZlcicgYXMgdGhlcmUgaXMgbm8gY29ycmVz cG9uZGluZyBkZXZpY2UuCisKK1Rlc3RlZC1ieTogU3RlZXYgS2xpbWFzemV3c2tpIDxzdGVldkBr YWxpLm9yZz4KK1Rlc3RlZC1ieTogQWxleGV5IE1pbm5la2hhbm92IDxhbGV4ZXltaW5AcG9zdG1h cmtldG9zLm9yZz4KK1NpZ25lZC1vZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5 c2hrb3ZAbGluYXJvLm9yZz4KKy0tLQorIGRyaXZlcnMvc29jL3Fjb20vS2NvbmZpZyAgICAgICAg ICB8ICAxMSArCisgZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZSAgICAgICAgIHwgICAxICsKKyBk cml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oICAgfCAgMTQgKworIGRyaXZlcnMvc29jL3Fj b20vcWNvbV9wZF9tYXBwZXIuYyB8IDY3NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKworIGRyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMgICB8ICAzNCArKworIDUg ZmlsZXMgY2hhbmdlZCwgNzM2IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2RyaXZlcnMv c29jL3Fjb20vS2NvbmZpZyBiL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZworaW5kZXggOTU5NzNj NmI4MjhmLi4wYTJmMmJmZDc4NjMgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL0tjb25m aWcKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZworQEAgLTcyLDYgKzcyLDE3IEBAIGNv bmZpZyBRQ09NX09DTUVNCisgCSAgcmVxdWlyZW1lbnRzLiBUaGlzIGlzIHR5cGljYWxseSB1c2Vk IGJ5IHRoZSBHUFUsIGNhbWVyYS92aWRlbywgYW5kCisgCSAgYXVkaW8gY29tcG9uZW50cyBvbiBz b21lIFNuYXBkcmFnb24gU29Dcy4KKyAKKytjb25maWcgUUNPTV9QRF9NQVBQRVIKKysJdHJpc3Rh dGUgIlF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIE1hcHBlciIKKysJc2VsZWN0IFFDT01fUU1J X0hFTFBFUlMKKysJZGVwZW5kcyBvbiBORVQgJiYgUVJUUgorKwlkZWZhdWx0IFFDT01fUlBST0Nf Q09NTU9OCisrCWhlbHAKKysJICBUaGUgUHJvdGVjdGlvbiBEb21haW4gTWFwcGVyIG1hcHMgcmVn aXN0ZXJlZCBzZXJ2aWNlcyB0byB0aGUgZG9tYWlucworKwkgIGFuZCBpbnN0YW5jZXMgaGFuZGxl ZCBieSB0aGUgcmVtb3RlIERTUHMuIFRoaXMgaXMgYSBrZXJuZWwtc3BhY2UKKysJICBpbXBsZW1l bnRhdGlvbiBvZiB0aGUgc2VydmljZS4gSXQgaXMgYSBzaW1wbGVyIGFsdGVybmF0aXZlIHRvIHRo ZQorKwkgIHVzZXJzcGFjZSBkYWVtb24uCisrCisgY29uZmlnIFFDT01fUERSX0hFTFBFUlMKKyAJ dHJpc3RhdGUKKyAJc2VsZWN0IFFDT01fUU1JX0hFTFBFUlMKK2RpZmYgLS1naXQgYS9kcml2ZXJz L3NvYy9xY29tL01ha2VmaWxlIGIvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQoraW5kZXggMzEx MGFjMzI4OGJjLi5kMzU2MGY4NjEwODUgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL01h a2VmaWxlCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCitAQCAtNyw2ICs3LDcgQEAg b2JqLSQoQ09ORklHX1FDT01fQ09NTUFORF9EQikgKz0gY21kLWRiLm8KKyBvYmotJChDT05GSUdf UUNPTV9HU0JJKQkrPQlxY29tX2dzYmkubworIG9iai0kKENPTkZJR19RQ09NX01EVF9MT0FERVIp CSs9IG1kdF9sb2FkZXIubworIG9iai0kKENPTkZJR19RQ09NX09DTUVNKQkrPSBvY21lbS5vCisr b2JqLSQoQ09ORklHX1FDT01fUERfTUFQUEVSKQkrPSBxY29tX3BkX21hcHBlci5vCisgb2JqLSQo Q09ORklHX1FDT01fUERSX0hFTFBFUlMpCSs9IHBkcl9pbnRlcmZhY2UubworIG9iai0kKENPTkZJ R19RQ09NX1BEUl9NU0cpCSs9IHFjb21fcGRyX21zZy5vCisgb2JqLSQoQ09ORklHX1FDT01fUE1J Q19HTElOSykJKz0gcG1pY19nbGluay5vCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9w ZHJfaW50ZXJuYWwuaCBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKK2luZGV4IDdl NWJiNWE5NTI3NS4uOGQxN2Y3ZmI3OWU3IDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9w ZHJfaW50ZXJuYWwuaAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaAorQEAg LTEzLDYgKzEzLDggQEAKKyAjZGVmaW5lIFNFUlZSRUdfU0VUX0FDS19SRVEJCQkJMHgyMworICNk ZWZpbmUgU0VSVlJFR19SRVNUQVJUX1BEX1JFUQkJCQkweDI0CisgCisrI2RlZmluZSBTRVJWUkVH X0xPQ19QRlJfUkVRCQkJCTB4MjQKKysKKyAjZGVmaW5lIFNFUlZSRUdfRE9NQUlOX0xJU1RfTEVO R1RICQkJMzIKKyAjZGVmaW5lIFNFUlZSRUdfUkVTVEFSVF9QRF9SRVFfTUFYX0xFTgkJCTY3Cisg I2RlZmluZSBTRVJWUkVHX1JFR0lTVEVSX0xJU1RFTkVSX1JFUV9MRU4JCTcxCitAQCAtMjAsNiAr MjIsNyBAQAorICNkZWZpbmUgU0VSVlJFR19HRVRfRE9NQUlOX0xJU1RfUkVRX01BWF9MRU4JCTc0 CisgI2RlZmluZSBTRVJWUkVHX1NUQVRFX1VQREFURURfSU5EX01BWF9MRU4JCTc5CisgI2RlZmlu ZSBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVNQX01BWF9MRU4JCTIzODkKKysjZGVmaW5lIFNF UlZSRUdfTE9DX1BGUl9SRVNQX01BWF9MRU4JCQkxMAorIAorIHN0cnVjdCBzZXJ2cmVnX2xvY2F0 aW9uX2VudHJ5IHsKKyAJY2hhciBuYW1lW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKK0BAIC03 OSw2ICs4MiwxNSBAQCBzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3Jlc3AgeworIAlzdHJ1Y3QgcW1p X3Jlc3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgfTsKKyAKKytzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZy X3JlcSB7CisrCWNoYXIgc2VydmljZVtTRVJWUkVHX05BTUVfTEVOR1RIICsgMV07CisrCWNoYXIg cmVhc29uWzI1N107CisrfTsKKysKKytzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jlc3AgeworKwlz dHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJzcDsKKyt9OworKworIGV4dGVybiBjb25zdCBz dHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpW107CisgZXh0ZXJu IGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcV9l aVtdOworIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXNwX2VpW107CitAQCAtODksNSArMTAxLDcgQEAgZXh0ZXJuIGNvbnN0IHN0cnVj dCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwX2VpW107CisgZXh0ZXJuIGNv bnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmRfZWlbXTsK KyBleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3JlcV9l aVtdOworIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tf cmVzcF9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xv Y19wZnJfcmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZy ZWdfbG9jX3Bmcl9yZXNwX2VpW107CisgCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9z b2MvcWNvbS9xY29tX3BkX21hcHBlci5jIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3BkX21hcHBl ci5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAwLi5lY2I2NGYwNjUy N2YKKy0tLSAvZGV2L251bGwKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZF9tYXBwZXIu YworQEAgLTAsMCArMSw2NzYgQEAKKysvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MC1vbmx5CisrLyoKKysgKiBRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFpbiBtYXBwZXIKKysgKgor KyAqIENvcHlyaWdodCAoYykgMjAyMyBMaW5hcm8gTHRkLgorKyAqLworKworKyNpbmNsdWRlIDxs aW51eC9hdXhpbGlhcnlfYnVzLmg+CisrI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorKyNpbmNs dWRlIDxsaW51eC9tb2RfZGV2aWNldGFibGUuaD4KKysjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+ CisrI2luY2x1ZGUgPGxpbnV4L29mLmg+CisrI2luY2x1ZGUgPGxpbnV4L3JlZmNvdW50Lmg+Cisr I2luY2x1ZGUgPGxpbnV4L3NvYy9xY29tL3FtaS5oPgorKworKyNpbmNsdWRlICJwZHJfaW50ZXJu YWwuaCIKKysKKysjZGVmaW5lIFNFUlZSRUdfUU1JX1ZFUlNJT04gMHgxMDEKKysjZGVmaW5lIFNF UlZSRUdfUU1JX0lOU1RBTkNFIDAKKysKKysjZGVmaW5lIFRNU19TRVJWUkVHX1NFUlZJQ0UgInRt cy9zZXJ2cmVnIgorKworK3N0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSB7CisrCWNvbnN0IGNo YXIgKmRvbWFpbjsKKysJdTMyIGluc3RhbmNlX2lkOworKwkvKiBOVUxMLXRlcm1pbmF0ZWQgYXJy YXkgKi8KKysJY29uc3QgY2hhciAqIHNlcnZpY2VzW107CisrfTsKKysKKytzdHJ1Y3QgcWNvbV9w ZG1fZG9tYWluIHsKKysJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworKwljb25zdCBjaGFyICpuYW1l OworKwl1MzIgaW5zdGFuY2VfaWQ7CisrfTsKKysKKytzdHJ1Y3QgcWNvbV9wZG1fc2VydmljZSB7 CisrCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKysJc3RydWN0IGxpc3RfaGVhZCBkb21haW5zOwor Kwljb25zdCBjaGFyICpuYW1lOworK307CisrCisrc3RydWN0IHFjb21fcGRtX2RhdGEgeworKwly ZWZjb3VudF90IHJlZmNudDsKKysJc3RydWN0IHFtaV9oYW5kbGUgaGFuZGxlOworKwlzdHJ1Y3Qg bGlzdF9oZWFkIHNlcnZpY2VzOworK307CisrCisrc3RhdGljIERFRklORV9NVVRFWChxY29tX3Bk bV9tdXRleCk7IC8qIHByb3RlY3RzIF9fcWNvbV9wZG1fZGF0YSAqLworK3N0YXRpYyBzdHJ1Y3Qg cWNvbV9wZG1fZGF0YSAqX19xY29tX3BkbV9kYXRhOworKworK3N0YXRpYyBzdHJ1Y3QgcWNvbV9w ZG1fc2VydmljZSAqcWNvbV9wZG1fZmluZChzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YSwKKysJ CQkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUpCisreworKwlzdHJ1Y3QgcWNvbV9wZG1fc2Vydmlj ZSAqc2VydmljZTsKKysKKysJbGlzdF9mb3JfZWFjaF9lbnRyeShzZXJ2aWNlLCAmZGF0YS0+c2Vy dmljZXMsIGxpc3QpIHsKKysJCWlmICghc3RyY21wKHNlcnZpY2UtPm5hbWUsIG5hbWUpKQorKwkJ CXJldHVybiBzZXJ2aWNlOworKwl9CisrCisrCXJldHVybiBOVUxMOworK30KKysKKytzdGF0aWMg aW50IHFjb21fcGRtX2FkZF9zZXJ2aWNlX2RvbWFpbihzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0 YSwKKysJCQkJICAgICAgIGNvbnN0IGNoYXIgKnNlcnZpY2VfbmFtZSwKKysJCQkJICAgICAgIGNv bnN0IGNoYXIgKmRvbWFpbl9uYW1lLAorKwkJCQkgICAgICAgdTMyIGluc3RhbmNlX2lkKQorK3sK KysJc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgKnNlcnZpY2U7CisrCXN0cnVjdCBxY29tX3BkbV9k b21haW4gKmRvbWFpbjsKKysKKysJc2VydmljZSA9IHFjb21fcGRtX2ZpbmQoZGF0YSwgc2Vydmlj ZV9uYW1lKTsKKysJaWYgKHNlcnZpY2UpIHsKKysJCWxpc3RfZm9yX2VhY2hfZW50cnkoZG9tYWlu LCAmc2VydmljZS0+ZG9tYWlucywgbGlzdCkgeworKwkJCWlmICghc3RyY21wKGRvbWFpbi0+bmFt ZSwgZG9tYWluX25hbWUpKQorKwkJCQlyZXR1cm4gLUVCVVNZOworKwkJfQorKwl9IGVsc2Ugewor KwkJc2VydmljZSA9IGt6YWxsb2Moc2l6ZW9mKCpzZXJ2aWNlKSwgR0ZQX0tFUk5FTCk7CisrCQlp ZiAoIXNlcnZpY2UpCisrCQkJcmV0dXJuIC1FTk9NRU07CisrCisrCQlJTklUX0xJU1RfSEVBRCgm c2VydmljZS0+ZG9tYWlucyk7CisrCQlzZXJ2aWNlLT5uYW1lID0gc2VydmljZV9uYW1lOworKwor KwkJbGlzdF9hZGRfdGFpbCgmc2VydmljZS0+bGlzdCwgJmRhdGEtPnNlcnZpY2VzKTsKKysJfQor KworKwlkb21haW4gPSBremFsbG9jKHNpemVvZigqZG9tYWluKSwgR0ZQX0tFUk5FTCk7CisrCWlm ICghZG9tYWluKSB7CisrCQlpZiAobGlzdF9lbXB0eSgmc2VydmljZS0+ZG9tYWlucykpIHsKKysJ CQlsaXN0X2RlbCgmc2VydmljZS0+bGlzdCk7CisrCQkJa2ZyZWUoc2VydmljZSk7CisrCQl9Cisr CisrCQlyZXR1cm4gLUVOT01FTTsKKysJfQorKworKwlkb21haW4tPm5hbWUgPSBkb21haW5fbmFt ZTsKKysJZG9tYWluLT5pbnN0YW5jZV9pZCA9IGluc3RhbmNlX2lkOworKwlsaXN0X2FkZF90YWls KCZkb21haW4tPmxpc3QsICZzZXJ2aWNlLT5kb21haW5zKTsKKysKKysJcmV0dXJuIDA7CisrfQor KworK3N0YXRpYyBpbnQgcWNvbV9wZG1fYWRkX2RvbWFpbihzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAq ZGF0YSwKKysJCQkgICAgICAgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpkb21h aW4pCisreworKwlpbnQgcmV0OworKwlpbnQgaTsKKysKKysJcmV0ID0gcWNvbV9wZG1fYWRkX3Nl cnZpY2VfZG9tYWluKGRhdGEsCisrCQkJCQkgIFRNU19TRVJWUkVHX1NFUlZJQ0UsCisrCQkJCQkg IGRvbWFpbi0+ZG9tYWluLAorKwkJCQkJICBkb21haW4tPmluc3RhbmNlX2lkKTsKKysJaWYgKHJl dCkKKysJCXJldHVybiByZXQ7CisrCisrCWZvciAoaSA9IDA7IGRvbWFpbi0+c2VydmljZXNbaV07 IGkrKykgeworKwkJcmV0ID0gcWNvbV9wZG1fYWRkX3NlcnZpY2VfZG9tYWluKGRhdGEsCisrCQkJ CQkJICBkb21haW4tPnNlcnZpY2VzW2ldLAorKwkJCQkJCSAgZG9tYWluLT5kb21haW4sCisrCQkJ CQkJICBkb21haW4tPmluc3RhbmNlX2lkKTsKKysJCWlmIChyZXQpCisrCQkJcmV0dXJuIHJldDsK KysJfQorKworKwlyZXR1cm4gMDsKKysKKyt9CisrCisrc3RhdGljIHZvaWQgcWNvbV9wZG1fZnJl ZV9kb21haW5zKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhKQorK3sKKysJc3RydWN0IHFjb21f cGRtX3NlcnZpY2UgKnNlcnZpY2UsICp0c2VydmljZTsKKysJc3RydWN0IHFjb21fcGRtX2RvbWFp biAqZG9tYWluLCAqdGRvbWFpbjsKKysKKysJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHNlcnZp Y2UsIHRzZXJ2aWNlLCAmZGF0YS0+c2VydmljZXMsIGxpc3QpIHsKKysJCWxpc3RfZm9yX2VhY2hf ZW50cnlfc2FmZShkb21haW4sIHRkb21haW4sICZzZXJ2aWNlLT5kb21haW5zLCBsaXN0KSB7Cisr CQkJbGlzdF9kZWwoJmRvbWFpbi0+bGlzdCk7CisrCQkJa2ZyZWUoZG9tYWluKTsKKysJCX0KKysK KysJCWxpc3RfZGVsKCZzZXJ2aWNlLT5saXN0KTsKKysJCWtmcmVlKHNlcnZpY2UpOworKwl9Cisr fQorKworK3N0YXRpYyB2b2lkIHFjb21fcGRtX2dldF9kb21haW5fbGlzdChzdHJ1Y3QgcW1pX2hh bmRsZSAqcW1pLAorKwkJCQkgICAgIHN0cnVjdCBzb2NrYWRkcl9xcnRyICpzcSwKKysJCQkJICAg ICBzdHJ1Y3QgcW1pX3R4biAqdHhuLAorKwkJCQkgICAgIGNvbnN0IHZvaWQgKmRlY29kZWQpCisr eworKwlzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YSA9IGNvbnRhaW5lcl9vZihxbWksIHN0cnVj dCBxY29tX3BkbV9kYXRhLCBoYW5kbGUpOworKwljb25zdCBzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9t YWluX2xpc3RfcmVxICpyZXEgPSBkZWNvZGVkOworKwlzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWlu X2xpc3RfcmVzcCAqcnNwOworKwlzdHJ1Y3QgcWNvbV9wZG1fc2VydmljZSAqc2VydmljZTsKKysJ dTMyIG9mZnNldDsKKysJaW50IHJldDsKKysKKysJcnNwID0ga3phbGxvYyhzaXplb2YoKnJzcCks IEdGUF9LRVJORUwpOworKwlpZiAoIXJzcCkKKysJCXJldHVybjsKKysKKysJb2Zmc2V0ID0gcmVx LT5kb21haW5fb2Zmc2V0X3ZhbGlkID8gcmVxLT5kb21haW5fb2Zmc2V0IDogMDsKKysKKysJcnNw LT5yZXNwLnJlc3VsdCA9IFFNSV9SRVNVTFRfU1VDQ0VTU19WMDE7CisrCXJzcC0+cmVzcC5lcnJv ciA9IFFNSV9FUlJfTk9ORV9WMDE7CisrCisrCXJzcC0+ZGJfcmV2X2NvdW50X3ZhbGlkID0gdHJ1 ZTsKKysJcnNwLT5kYl9yZXZfY291bnQgPSAxOworKworKwlyc3AtPnRvdGFsX2RvbWFpbnNfdmFs aWQgPSB0cnVlOworKwlyc3AtPnRvdGFsX2RvbWFpbnMgPSAwOworKworKwltdXRleF9sb2NrKCZx Y29tX3BkbV9tdXRleCk7CisrCisrCXNlcnZpY2UgPSBxY29tX3BkbV9maW5kKGRhdGEsIHJlcS0+ c2VydmljZV9uYW1lKTsKKysJaWYgKHNlcnZpY2UpIHsKKysJCXN0cnVjdCBxY29tX3BkbV9kb21h aW4gKmRvbWFpbjsKKysKKysJCXJzcC0+ZG9tYWluX2xpc3RfdmFsaWQgPSB0cnVlOworKwkJcnNw LT5kb21haW5fbGlzdF9sZW4gPSAwOworKworKwkJbGlzdF9mb3JfZWFjaF9lbnRyeShkb21haW4s ICZzZXJ2aWNlLT5kb21haW5zLCBsaXN0KSB7CisrCQkJdTMyIGkgPSByc3AtPnRvdGFsX2RvbWFp bnMrKzsKKysKKysJCQlpZiAoaSA+PSBvZmZzZXQgJiYgaSA8IFNFUlZSRUdfRE9NQUlOX0xJU1Rf TEVOR1RIKSB7CisrCQkJCXUzMiBqID0gcnNwLT5kb21haW5fbGlzdF9sZW4rKzsKKysKKysJCQkJ c3Ryc2NweShyc3AtPmRvbWFpbl9saXN0W2pdLm5hbWUsIGRvbWFpbi0+bmFtZSwKKysJCQkJCXNp emVvZihyc3AtPmRvbWFpbl9saXN0W2ldLm5hbWUpKTsKKysJCQkJcnNwLT5kb21haW5fbGlzdFtq XS5pbnN0YW5jZSA9IGRvbWFpbi0+aW5zdGFuY2VfaWQ7CisrCisrCQkJCXByX2RlYnVnKCJQRE06 IGZvdW5kICVzIC8gJWRcbiIsIGRvbWFpbi0+bmFtZSwKKysJCQkJCSBkb21haW4tPmluc3RhbmNl X2lkKTsKKysJCQl9CisrCQl9CisrCX0KKysKKysJcHJfZGVidWcoIlBETTogc2VydmljZSAnJXMn IG9mZnNldCAlZCByZXR1cm5pbmcgJWQgZG9tYWlucyAob2YgJWQpXG4iLCByZXEtPnNlcnZpY2Vf bmFtZSwKKysJCSByZXEtPmRvbWFpbl9vZmZzZXRfdmFsaWQgPyByZXEtPmRvbWFpbl9vZmZzZXQg OiAtMSwgcnNwLT5kb21haW5fbGlzdF9sZW4sIHJzcC0+dG90YWxfZG9tYWlucyk7CisrCisrCXJl dCA9IHFtaV9zZW5kX3Jlc3BvbnNlKHFtaSwgc3EsIHR4biwgU0VSVlJFR19HRVRfRE9NQUlOX0xJ U1RfUkVRLAorKwkJCQlTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVNQX01BWF9MRU4sCisrCQkJ CXNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWksIHJzcCk7CisrCWlmIChyZXQpCisrCQlw cl9lcnIoIkVycm9yIHNlbmRpbmcgc2VydnJlZyByZXNwb25zZTogJWRcbiIsIHJldCk7CisrCisr CW11dGV4X3VubG9jaygmcWNvbV9wZG1fbXV0ZXgpOworKworKwlrZnJlZShyc3ApOworK30KKysK KytzdGF0aWMgdm9pZCBxY29tX3BkbV9wZnIoc3RydWN0IHFtaV9oYW5kbGUgKnFtaSwKKysJCQkg c3RydWN0IHNvY2thZGRyX3FydHIgKnNxLAorKwkJCSBzdHJ1Y3QgcW1pX3R4biAqdHhuLAorKwkJ CSBjb25zdCB2b2lkICpkZWNvZGVkKQorK3sKKysJY29uc3Qgc3RydWN0IHNlcnZyZWdfbG9jX3Bm cl9yZXEgKnJlcSA9IGRlY29kZWQ7CisrCXN0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVzcCByc3Ag PSB7fTsKKysJaW50IHJldDsKKysKKysJcHJfd2Fybl9yYXRlbGltaXRlZCgiUERNOiBzZXJ2aWNl ICclcycgY3Jhc2g6ICclcydcbiIsIHJlcS0+c2VydmljZSwgcmVxLT5yZWFzb24pOworKworKwly c3AucnNwLnJlc3VsdCA9IFFNSV9SRVNVTFRfU1VDQ0VTU19WMDE7CisrCXJzcC5yc3AuZXJyb3Ig PSBRTUlfRVJSX05PTkVfVjAxOworKworKwlyZXQgPSBxbWlfc2VuZF9yZXNwb25zZShxbWksIHNx LCB0eG4sIFNFUlZSRUdfTE9DX1BGUl9SRVEsCisrCQkJCVNFUlZSRUdfTE9DX1BGUl9SRVNQX01B WF9MRU4sCisrCQkJCXNlcnZyZWdfbG9jX3Bmcl9yZXNwX2VpLCAmcnNwKTsKKysJaWYgKHJldCkK KysJCXByX2VycigiRXJyb3Igc2VuZGluZyBzZXJ2cmVnIHJlc3BvbnNlOiAlZFxuIiwgcmV0KTsK Kyt9CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfbXNnX2hhbmRsZXIgcWNvbV9wZG1fbXNn X2hhbmRsZXJzW10gPSB7CisrCXsKKysJCS50eXBlID0gUU1JX1JFUVVFU1QsCisrCQkubXNnX2lk ID0gU0VSVlJFR19HRVRfRE9NQUlOX0xJU1RfUkVRLAorKwkJLmVpID0gc2VydnJlZ19nZXRfZG9t YWluX2xpc3RfcmVxX2VpLAorKwkJLmRlY29kZWRfc2l6ZSA9IHNpemVvZihzdHJ1Y3Qgc2VydnJl Z19nZXRfZG9tYWluX2xpc3RfcmVxKSwKKysJCS5mbiA9IHFjb21fcGRtX2dldF9kb21haW5fbGlz dCwKKysJfSwKKysJeworKwkJLnR5cGUgPSBRTUlfUkVRVUVTVCwKKysJCS5tc2dfaWQgPSBTRVJW UkVHX0xPQ19QRlJfUkVRLAorKwkJLmVpID0gc2VydnJlZ19sb2NfcGZyX3JlcV9laSwKKysJCS5k ZWNvZGVkX3NpemUgPSBzaXplb2Yoc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEpLAorKwkJLmZu ID0gcWNvbV9wZG1fcGZyLAorKwl9LAorKwl7IH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3Ry dWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGFkc3BfYXVkaW9fcGQgPSB7CisrCS5kb21haW4gPSAi bXNtL2Fkc3AvYXVkaW9fcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNlcnZpY2VzID0g eworKwkJImF2cy9hdWRpbyIsCisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGljIGNvbnN0 IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBhZHNwX2NoYXJnZXJfcGQgPSB7CisrCS5kb21h aW4gPSAibXNtL2Fkc3AvY2hhcmdlcl9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDc0LAorKwkuc2Vy dmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1f ZG9tYWluX2RhdGEgYWRzcF9yb290X3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL3Jvb3Rf cGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsK KysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGFkc3Bfcm9vdF9w ZF9wZHIgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3Avcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9p ZCA9IDc0LAorKwkuc2VydmljZXMgPSB7CisrCQkidG1zL3Bkcl9lbmFibGVkIiwKKysJCU5VTEws CisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRh IGFkc3Bfc2Vuc29yX3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL3NlbnNvcl9wZCIsCisr CS5pbnN0YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXNtODk5Nl9hZHNwX2F1ZGlv X3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL2F1ZGlvX3BkIiwKKysJLmluc3RhbmNlX2lk ID0gNCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3Ry dWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIG1zbTg5OTZfYWRzcF9yb290X3BkID0geworKwkuZG9t YWluID0gIm1zbS9hZHNwL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA0LAorKwkuc2Vydmlj ZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9t YWluX2RhdGEgY2RzcF9yb290X3BkID0geworKwkuZG9tYWluID0gIm1zbS9jZHNwL3Jvb3RfcGQi LAorKwkuaW5zdGFuY2VfaWQgPSA3NiwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIHNscGlfcm9vdF9wZCA9 IHsKKysJLmRvbWFpbiA9ICJtc20vc2xwaS9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gOTAs CisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBx Y29tX3BkbV9kb21haW5fZGF0YSBzbHBpX3NlbnNvcl9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20v c2xwaS9zZW5zb3JfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA5MCwKKysJLnNlcnZpY2VzID0geyBO VUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRh IG1wc3Nfcm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9kZW0vcm9vdF9wZCIsCisrCS5p bnN0YW5jZV9pZCA9IDE4MCwKKysJLnNlcnZpY2VzID0geworKwkJTlVMTCwKKysJfSwKKyt9Owor KworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXBzc19yb290X3Bk X2dwcyA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9kZW0vcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9p ZCA9IDE4MCwKKysJLnNlcnZpY2VzID0geworKwkJImdwcy9ncHNfc2VydmljZSIsCisrCQlOVUxM LAorKwl9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0 YSBtcHNzX3Jvb3RfcGRfZ3BzX3BkciA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9kZW0vcm9vdF9w ZCIsCisrCS5pbnN0YW5jZV9pZCA9IDE4MCwKKysJLnNlcnZpY2VzID0geworKwkJImdwcy9ncHNf c2VydmljZSIsCisrCQkidG1zL3Bkcl9lbmFibGVkIiwKKysJCU5VTEwsCisrCX0sCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIG1zbTg5OTZfbXBzc19y b290X3BkID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJLmluc3RhbmNl X2lkID0gMTAwLAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXBzc193bGFuX3BkID0geworKwkuZG9tYWlu ID0gIm1zbS9tb2RlbS93bGFuX3BkIiwKKysJLmluc3RhbmNlX2lkID0gMTgwLAorKwkuc2Vydmlj ZXMgPSB7CisrCQkia2VybmVsL2VsZl9sb2FkZXIiLAorKwkJIndsYW4vZnciLAorKwkJTlVMTCwK KysJfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEg Km1zbTg5OTZfZG9tYWluc1tdID0geworKwkmbXNtODk5Nl9hZHNwX2F1ZGlvX3BkLAorKwkmbXNt ODk5Nl9hZHNwX3Jvb3RfcGQsCisrCSZtc204OTk2X21wc3Nfcm9vdF9wZCwKKysJTlVMTCwKKyt9 OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKm1zbTg5OThf ZG9tYWluc1tdID0geworKwkmbXBzc19yb290X3BkLAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxM LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqcWNt MjI5MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAor KwkmYWRzcF9zZW5zb3JfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAorKwkmbXBzc193bGFuX3Bk LAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5f ZGF0YSAqcWNzNDA0X2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jv b3RfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9v dF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBz dHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNjNzE4MF9kb21haW5zW10gPSB7CisrCSZhZHNw X2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkm bXBzc19yb290X3BkX2dwc19wZHIsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzYzcyODBfZG9tYWlu c1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZF9wZHIsCisrCSZhZHNw X2NoYXJnZXJfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1w c3Nfcm9vdF9wZF9ncHNfcGRyLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVj dCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2M4MTgweF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1 ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmY2RzcF9y b290X3BkLAorKwkmbXBzc19yb290X3BkX2dwcywKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwK Kyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNjODI4 MHhwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGRfcGRy LAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwlOVUxMLAorK307Cisr Cisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2RtNjYwX2RvbWFp bnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX3Nl bnNvcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZCwKKysJJm1wc3Nfd2xh bl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9t YWluX2RhdGEgKnNkbTY3MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRz cF9yb290X3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkLAorKwkmbXBzc193 bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9k b21haW5fZGF0YSAqc2RtODQ1X2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZh ZHNwX3Jvb3RfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNz X3dsYW5fcGQsCisrCSZzbHBpX3Jvb3RfcGQsCisrCSZzbHBpX3NlbnNvcl9wZCwKKysJTlVMTCwK Kyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtNjEx NV9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkm YWRzcF9zZW5zb3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAor KwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBx Y29tX3BkbV9kb21haW5fZGF0YSAqc202MzUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9f cGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJmNkc3Bfcm9vdF9w ZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtODE1MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1 ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290 X3BkX2dwcywKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtODI1MF9kb21haW5zW10gPSB7CisrCSZh ZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmc2xw aV9yb290X3BkLAorKwkmc2xwaV9zZW5zb3JfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMg Y29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzbTgzNTBfZG9tYWluc1tdID0gewor KwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZF9wZHIsCisrCSZhZHNwX2NoYXJnZXJf cGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAorKwkmc2xwaV9yb290 X3BkLAorKwkmc2xwaV9zZW5zb3JfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qg c3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzbTg1NTBfZG9tYWluc1tdID0geworKwkmYWRz cF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3BfY2hhcmdlcl9wZCwKKysJJmFk c3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkX2dwcywKKysJ TlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHFjb21fcGRt X2RvbWFpbnNbXSA9IHsKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLGFwcTgwNjQiLCAuZGF0YSA9 IE5VTEwsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxhcHE4MDc0IiwgLmRhdGEgPSBOVUxM LCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sYXBxODA4NCIsIC5kYXRhID0gTlVMTCwgfSwK KysJeyAuY29tcGF0aWJsZSA9ICJxY29tLGFwcTgwOTYiLCAuZGF0YSA9IG1zbTg5OTZfZG9tYWlu cywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLG1zbTgyMjYiLCAuZGF0YSA9IE5VTEwsIH0s CisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxtc204OTc0IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7 IC5jb21wYXRpYmxlID0gInFjb20sbXNtODk5NiIsIC5kYXRhID0gbXNtODk5Nl9kb21haW5zLCB9 LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sbXNtODk5OCIsIC5kYXRhID0gbXNtODk5OF9kb21h aW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20scWNtMjI5MCIsIC5kYXRhID0gcWNtMjI5 MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20scWNzNDA0IiwgLmRhdGEgPSBx Y3M0MDRfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNjNzE4MCIsIC5kYXRh ID0gc2M3MTgwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzYzcyODAiLCAu ZGF0YSA9IHNjNzI4MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2M4MTgw eCIsIC5kYXRhID0gc2M4MTgweF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20s c2M4MjgweHAiLCAuZGF0YSA9IHNjODI4MHhwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUg PSAicWNvbSxzZGE2NjAiLCAuZGF0YSA9IHNkbTY2MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRp YmxlID0gInFjb20sc2RtNjYwIiwgLmRhdGEgPSBzZG02NjBfZG9tYWlucywgfSwKKysJeyAuY29t cGF0aWJsZSA9ICJxY29tLHNkbTY3MCIsIC5kYXRhID0gc2RtNjcwX2RvbWFpbnMsIH0sCisrCXsg LmNvbXBhdGlibGUgPSAicWNvbSxzZG04NDUiLCAuZGF0YSA9IHNkbTg0NV9kb21haW5zLCB9LAor Kwl7IC5jb21wYXRpYmxlID0gInFjb20sc200MjUwIiwgLmRhdGEgPSBzbTYxMTVfZG9tYWlucywg fSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtNjExNSIsIC5kYXRhID0gc202MTE1X2RvbWFp bnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTYzNTAiLCAuZGF0YSA9IHNtNjM1MF9k b21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204MTUwIiwgLmRhdGEgPSBzbTgx NTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODI1MCIsIC5kYXRhID0g c204MjUwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTgzNTAiLCAuZGF0 YSA9IHNtODM1MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204NDUwIiwg LmRhdGEgPSBzbTgzNTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODU1 MCIsIC5kYXRhID0gc204NTUwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxz bTg2NTAiLCAuZGF0YSA9IHNtODU1MF9kb21haW5zLCB9LAorKwl7fSwKKyt9OworKworK3N0YXRp YyB2b2lkIHFjb21fcGRtX3N0b3Aoc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEpCisreworKwlx Y29tX3BkbV9mcmVlX2RvbWFpbnMoZGF0YSk7CisrCisrCS8qIFRoZSBzZXJ2ZXIgaXMgcmVtb3Zl ZCBhdXRvbWF0aWNhbGx5ICovCisrCXFtaV9oYW5kbGVfcmVsZWFzZSgmZGF0YS0+aGFuZGxlKTsK KysKKysJa2ZyZWUoZGF0YSk7CisrfQorKworK3N0YXRpYyBzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAq cWNvbV9wZG1fc3RhcnQodm9pZCkKKyt7CisrCWNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5f ZGF0YSAqIGNvbnN0ICpkb21haW5zOworKwljb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICptYXRj aDsKKysJc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGE7CisrCXN0cnVjdCBkZXZpY2Vfbm9kZSAq cm9vdDsKKysJaW50IHJldCwgaTsKKysKKysJcm9vdCA9IG9mX2ZpbmRfbm9kZV9ieV9wYXRoKCIv Iik7CisrCWlmICghcm9vdCkKKysJCXJldHVybiBFUlJfUFRSKC1FTk9ERVYpOworKworKwltYXRj aCA9IG9mX21hdGNoX25vZGUocWNvbV9wZG1fZG9tYWlucywgcm9vdCk7CisrCW9mX25vZGVfcHV0 KHJvb3QpOworKwlpZiAoIW1hdGNoKSB7CisrCQlwcl9ub3RpY2UoIlBETTogbm8gc3VwcG9ydCBm b3IgdGhlIHBsYXRmb3JtLCB1c2Vyc3BhY2UgZGFlbW9uIG1pZ2h0IGJlIHJlcXVpcmVkLlxuIik7 CisrCQlyZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKKysJfQorKworKwlkb21haW5zID0gbWF0Y2gt PmRhdGE7CisrCWlmICghZG9tYWlucykgeworKwkJcHJfZGVidWcoIlBETTogbm8gZG9tYWluc1xu Iik7CisrCQlyZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKKysJfQorKworKwlkYXRhID0ga3phbGxv YyhzaXplb2YoKmRhdGEpLCBHRlBfS0VSTkVMKTsKKysJaWYgKCFkYXRhKQorKwkJcmV0dXJuIEVS Ul9QVFIoLUVOT01FTSk7CisrCisrCUlOSVRfTElTVF9IRUFEKCZkYXRhLT5zZXJ2aWNlcyk7Cisr CisrCXJldCA9IHFtaV9oYW5kbGVfaW5pdCgmZGF0YS0+aGFuZGxlLCBTRVJWUkVHX0dFVF9ET01B SU5fTElTVF9SRVFfTUFYX0xFTiwKKysJCQkgICAgICBOVUxMLCBxY29tX3BkbV9tc2dfaGFuZGxl cnMpOworKwlpZiAocmV0KSB7CisrCQlrZnJlZShkYXRhKTsKKysJCXJldHVybiBFUlJfUFRSKHJl dCk7CisrCX0KKysKKysJcmVmY291bnRfc2V0KCZkYXRhLT5yZWZjbnQsIDEpOworKworKwlmb3Ig KGkgPSAwOyBkb21haW5zW2ldOyBpKyspIHsKKysJCXJldCA9IHFjb21fcGRtX2FkZF9kb21haW4o ZGF0YSwgZG9tYWluc1tpXSk7CisrCQlpZiAocmV0KQorKwkJCWdvdG8gZXJyX3N0b3A7CisrCX0K KysKKysJcmV0ID0gcW1pX2FkZF9zZXJ2ZXIoJmRhdGEtPmhhbmRsZSwgU0VSVlJFR19MT0NBVE9S X1NFUlZJQ0UsCisrCQkJICAgICBTRVJWUkVHX1FNSV9WRVJTSU9OLCBTRVJWUkVHX1FNSV9JTlNU QU5DRSk7CisrCWlmIChyZXQpIHsKKysJCXByX2VycigiUERNOiBlcnJvciBhZGRpbmcgc2VydmVy ICVkXG4iLCByZXQpOworKwkJZ290byBlcnJfc3RvcDsKKysJfQorKworKwlyZXR1cm4gZGF0YTsK KysKKytlcnJfc3RvcDoKKysJcWNvbV9wZG1fc3RvcChkYXRhKTsKKysKKysJcmV0dXJuIEVSUl9Q VFIocmV0KTsKKyt9CisrCisrc3RhdGljIGludCBxY29tX3BkbV9wcm9iZShzdHJ1Y3QgYXV4aWxp YXJ5X2RldmljZSAqYXV4ZGV2LAorKwkJCSAgY29uc3Qgc3RydWN0IGF1eGlsaWFyeV9kZXZpY2Vf aWQgKmlkKQorKworK3sKKysJc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGE7CisrCWludCByZXQg PSAwOworKworKwltdXRleF9sb2NrKCZxY29tX3BkbV9tdXRleCk7CisrCisrCWlmICghX19xY29t X3BkbV9kYXRhKSB7CisrCQlkYXRhID0gcWNvbV9wZG1fc3RhcnQoKTsKKysKKysJCWlmIChJU19F UlIoZGF0YSkpCisrCQkJcmV0ID0gUFRSX0VSUihkYXRhKTsKKysJCWVsc2UKKysJCQlfX3Fjb21f cGRtX2RhdGEgPSBkYXRhOworKwl9CisrCisrCWF1eGlsaWFyeV9zZXRfZHJ2ZGF0YShhdXhkZXYs IF9fcWNvbV9wZG1fZGF0YSk7CisrCisrCW11dGV4X3VubG9jaygmcWNvbV9wZG1fbXV0ZXgpOwor KworKwlyZXR1cm4gcmV0OworK30KKysKKytzdGF0aWMgdm9pZCBxY29tX3BkbV9yZW1vdmUoc3Ry dWN0IGF1eGlsaWFyeV9kZXZpY2UgKmF1eGRldikKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9kYXRh ICpkYXRhOworKworKwlkYXRhID0gYXV4aWxpYXJ5X2dldF9kcnZkYXRhKGF1eGRldik7CisrCWlm ICghZGF0YSkKKysJCXJldHVybjsKKysKKysJaWYgKHJlZmNvdW50X2RlY19hbmRfbXV0ZXhfbG9j aygmZGF0YS0+cmVmY250LCAmcWNvbV9wZG1fbXV0ZXgpKSB7CisrCQlfX3Fjb21fcGRtX2RhdGEg PSBOVUxMOworKwkJcWNvbV9wZG1fc3RvcChkYXRhKTsKKysJCW11dGV4X3VubG9jaygmcWNvbV9w ZG1fbXV0ZXgpOworKwl9CisrfQorKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYXV4aWxpYXJ5X2Rl dmljZV9pZCBxY29tX3BkbV90YWJsZVtdID0geworKwl7IC5uYW1lID0gInFjb21fY29tbW9uLnBk LW1hcHBlciIgfSwKKysJe30sCisrfTsKKytNT0RVTEVfREVWSUNFX1RBQkxFKGF1eGlsaWFyeSwg cWNvbV9wZG1fdGFibGUpOworKworK3N0YXRpYyBzdHJ1Y3QgYXV4aWxpYXJ5X2RyaXZlciBxY29t X3BkbV9kcnYgPSB7CisrCS5uYW1lID0gInFjb20tcGRtLW1hcHBlciIsCisrCS5pZF90YWJsZSA9 IHFjb21fcGRtX3RhYmxlLAorKwkucHJvYmUgPSBxY29tX3BkbV9wcm9iZSwKKysJLnJlbW92ZSA9 IHFjb21fcGRtX3JlbW92ZSwKKyt9OworK21vZHVsZV9hdXhpbGlhcnlfZHJpdmVyKHFjb21fcGRt X2Rydik7CisrCisrTU9EVUxFX0RFU0NSSVBUSU9OKCJRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFp biBNYXBwZXIiKTsKKytNT0RVTEVfTElDRU5TRSgiR1BMIik7CitkaWZmIC0tZ2l0IGEvZHJpdmVy cy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNn LmMKK2luZGV4IDliNDZmNDJhYTE0Ni4uYmYzZTRhNDcxNjVlIDEwMDY0NAorLS0tIGEvZHJpdmVy cy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYworKysrIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bk cl9tc2cuYworQEAgLTMxNSw1ICszMTUsMzkgQEAgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8g c2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXSA9IHsKKyB9OworIEVYUE9SVF9TWU1CT0xfR1BMKHNl cnZyZWdfc2V0X2Fja19yZXNwX2VpKTsKKyAKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBz ZXJ2cmVnX2xvY19wZnJfcmVxX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgPSBRTUlfU1RS SU5HLAorKwkJLmVsZW1fbGVuID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9z aXplID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUgPSBWQVJfTEVOX0FSUkFZLAorKwkJ LnRsdl90eXBlID0gMHgwMSwKKysJCS5vZmZzZXQgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19s b2NfcGZyX3JlcSwgc2VydmljZSkKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSA9IFFNSV9TVFJJ TkcsCisrCQkuZWxlbV9sZW4gPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3Np emUgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZSA9IFZBUl9MRU5fQVJSQVksCisrCQku dGx2X3R5cGUgPSAweDAyLAorKwkJLm9mZnNldCA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xv Y19wZnJfcmVxLCByZWFzb24pCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChz ZXJ2cmVnX2xvY19wZnJfcmVxX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBz ZXJ2cmVnX2xvY19wZnJfcmVzcF9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlID0gUU1JX1NU UlVDVCwKKysJCS5lbGVtX2xlbiA9IDEsCisrCQkuZWxlbV9zaXplID0gc2l6ZW9mX2ZpZWxkKHN0 cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVzcCwgcnNwKSwKKysJCS50bHZfdHlwZSA9IDB4MDIsCisr CQkub2Zmc2V0ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXNwLCByc3ApLAor KwkJLmVpX2FycmF5ID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorKwl9LAorKwl7fQorK307 CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19sb2NfcGZyX3Jlc3BfZWkpOworKworIE1PRFVM RV9MSUNFTlNFKCJHUEwiKTsKKyBNT0RVTEVfREVTQ1JJUFRJT04oIlF1YWxjb21tIFByb3RlY3Rp b24gRG9tYWluIG1lc3NhZ2VzIGRhdGEiKTsKKworRnJvbTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1p dHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0ZTogU3VuLCAxMiBNYXkgMjAyNCAwMDo1Njow NyArMDMwMAorU3ViamVjdDogW1BBVENIIHY4IDUvNV0gcmVtb3RlcHJvYzogcWNvbTogZW5hYmxl IGluLWtlcm5lbCBQRCBtYXBwZXIKKworUmVxdWVzdCBpbi1rZXJuZWwgcHJvdGVjdGlvbiBkb21h aW4gbWFwcGVyIHRvIGJlIHN0YXJ0ZWQgYmVmb3JlIHN0YXJ0aW5nCitRdWFsY29tbSBEU1AgYW5k IHJlbGVhc2UgaXQgb25jZSBEU1AgaXMgc3RvcHBlZC4gT25jZSBhbGwgRFNQcyBhcmUKK3N0b3Bw ZWQsIHRoZSBQRCBtYXBwZXIgd2lsbCBiZSBzdG9wcGVkIHRvby4KKworU2lnbmVkLW9mZi1ieTog RG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorLS0tCisgZHJp dmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmMgICAgfCA4NyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCisgZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmggICAg fCAxMCArKysrKworIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfYWRzcC5jIHwgIDMgKysK KyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X21zcy5jICB8ICAzICsrCisgZHJpdmVycy9y ZW1vdGVwcm9jL3Fjb21fcTZ2NV9wYXMuYyAgfCAgMyArKworIGRyaXZlcnMvcmVtb3RlcHJvYy9x Y29tX3E2djVfd2Nzcy5jIHwgIDMgKysKKyA2IGZpbGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25z KCspCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uYyBiL2Ry aXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5jCitpbmRleCAwM2U1ZjVkNTMzZWIuLjhjODY4 OGY5OWYwYSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5jCisr KysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uYworQEAgLTEzLDYgKzEzLDcgQEAK KyAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KKyAjaW5jbHVkZSA8bGludXgvcmVtb3RlcHJv Yy5oPgorICNpbmNsdWRlIDxsaW51eC9yZW1vdGVwcm9jL3Fjb21fcnByb2MuaD4KKysjaW5jbHVk ZSA8bGludXgvYXV4aWxpYXJ5X2J1cy5oPgorICNpbmNsdWRlIDxsaW51eC9ycG1zZy9xY29tX2ds aW5rLmg+CisgI2luY2x1ZGUgPGxpbnV4L3JwbXNnL3Fjb21fc21kLmg+CisgI2luY2x1ZGUgPGxp bnV4L3NsYWIuaD4KK0BAIC0yNSw2ICsyNiw3IEBACisgI2RlZmluZSB0b19nbGlua19zdWJkZXYo ZCkgY29udGFpbmVyX29mKGQsIHN0cnVjdCBxY29tX3Jwcm9jX2dsaW5rLCBzdWJkZXYpCisgI2Rl ZmluZSB0b19zbWRfc3ViZGV2KGQpIGNvbnRhaW5lcl9vZihkLCBzdHJ1Y3QgcWNvbV9ycHJvY19z dWJkZXYsIHN1YmRldikKKyAjZGVmaW5lIHRvX3Nzcl9zdWJkZXYoZCkgY29udGFpbmVyX29mKGQs IHN0cnVjdCBxY29tX3Jwcm9jX3Nzciwgc3ViZGV2KQorKyNkZWZpbmUgdG9fcGRtX3N1YmRldihk KSBjb250YWluZXJfb2YoZCwgc3RydWN0IHFjb21fcnByb2NfcGRtLCBzdWJkZXYpCisgCisgI2Rl ZmluZSBNQVhfTlVNX09GX1NTICAgICAgICAgICAxMAorICNkZWZpbmUgTUFYX1JFR0lPTl9OQU1F X0xFTkdUSCAgMTYKK0BAIC01MTksNSArNTIxLDkwIEBAIHZvaWQgcWNvbV9yZW1vdmVfc3NyX3N1 YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19zc3IgKnNzcikKKyB9 CisgRVhQT1JUX1NZTUJPTF9HUEwocWNvbV9yZW1vdmVfc3NyX3N1YmRldik7CisgCisrc3RhdGlj IHZvaWQgcGRtX2Rldl9yZWxlYXNlKHN0cnVjdCBkZXZpY2UgKmRldikKKyt7CisrCXN0cnVjdCBh dXhpbGlhcnlfZGV2aWNlICphZGV2ID0gdG9fYXV4aWxpYXJ5X2RldihkZXYpOworKworKwlrZnJl ZShhZGV2KTsKKyt9CisrCisrc3RhdGljIGludCBwZG1fbm90aWZ5X3ByZXBhcmUoc3RydWN0IHJw cm9jX3N1YmRldiAqc3ViZGV2KQorK3sKKysJc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0gPSB0 b19wZG1fc3ViZGV2KHN1YmRldik7CisrCXN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICphZGV2Owor KwlpbnQgcmV0OworKworKwlhZGV2ID0ga3phbGxvYyhzaXplb2YoKmFkZXYpLCBHRlBfS0VSTkVM KTsKKysJaWYgKCFhZGV2KQorKwkJcmV0dXJuIC1FTk9NRU07CisrCisrCWFkZXYtPmRldi5wYXJl bnQgPSBwZG0tPmRldjsKKysJYWRldi0+ZGV2LnJlbGVhc2UgPSBwZG1fZGV2X3JlbGVhc2U7Cisr CWFkZXYtPm5hbWUgPSAicGQtbWFwcGVyIjsKKysJYWRldi0+aWQgPSBwZG0tPmluZGV4OworKwor KwlyZXQgPSBhdXhpbGlhcnlfZGV2aWNlX2luaXQoYWRldik7CisrCWlmIChyZXQpIHsKKysJCWtm cmVlKGFkZXYpOworKwkJcmV0dXJuIHJldDsKKysJfQorKworKwlyZXQgPSBhdXhpbGlhcnlfZGV2 aWNlX2FkZChhZGV2KTsKKysJaWYgKHJldCkgeworKwkJYXV4aWxpYXJ5X2RldmljZV91bmluaXQo YWRldik7CisrCQlyZXR1cm4gcmV0OworKwl9CisrCisrCXBkbS0+YWRldiA9IGFkZXY7CisrCisr CXJldHVybiAwOworK30KKysKKysKKytzdGF0aWMgdm9pZCBwZG1fbm90aWZ5X3VucHJlcGFyZShz dHJ1Y3QgcnByb2Nfc3ViZGV2ICpzdWJkZXYpCisreworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0g KnBkbSA9IHRvX3BkbV9zdWJkZXYoc3ViZGV2KTsKKysKKysJaWYgKCFwZG0tPmFkZXYpCisrCQly ZXR1cm47CisrCisrCWF1eGlsaWFyeV9kZXZpY2VfZGVsZXRlKHBkbS0+YWRldik7CisrCWF1eGls aWFyeV9kZXZpY2VfdW5pbml0KHBkbS0+YWRldik7CisrCXBkbS0+YWRldiA9IE5VTEw7CisrfQor KworKy8qKgorKyAqIHFjb21fYWRkX3BkbV9zdWJkZXYoKSAtIHJlZ2lzdGVyIFBEIE1hcHBlciBz dWJkZXZpY2UKKysgKiBAcnByb2M6CXJwcm9jIGhhbmRsZQorKyAqIEBwZG06CVBETSBzdWJkZXZp Y2UgaGFuZGxlCisrICoKKysgKiBSZWdpc3RlciBAcGRtIHNvIHRoYXQgUHJvdGVjdGlvbiBEZXZp Y2UgbWFwcGVyIHNlcnZpY2UgaXMgc3RhcnRlZCB3aGVuIHRoZQorKyAqIERTUCBpcyBzdGFydGVk IHRvby4KKysgKi8KKyt2b2lkIHFjb21fYWRkX3BkbV9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJv Yywgc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0pCisreworKwlwZG0tPmRldiA9ICZycHJvYy0+ ZGV2OworKwlwZG0tPmluZGV4ID0gcnByb2MtPmluZGV4OworKworKwlwZG0tPnN1YmRldi5wcmVw YXJlID0gcGRtX25vdGlmeV9wcmVwYXJlOworKwlwZG0tPnN1YmRldi51bnByZXBhcmUgPSBwZG1f bm90aWZ5X3VucHJlcGFyZTsKKysKKysJcnByb2NfYWRkX3N1YmRldihycHJvYywgJnBkbS0+c3Vi ZGV2KTsKKyt9CisrRVhQT1JUX1NZTUJPTF9HUEwocWNvbV9hZGRfcGRtX3N1YmRldik7CisrCisr LyoqCisrICogcWNvbV9yZW1vdmVfcGRtX3N1YmRldigpIC0gcmVtb3ZlIFBEIE1hcHBlciBzdWJk ZXZpY2UKKysgKiBAcnByb2M6CXJwcm9jIGhhbmRsZQorKyAqIEBwZG06CVBETSBzdWJkZXZpY2Ug aGFuZGxlCisrICoKKysgKiBSZW1vdmUgdGhlIFBEIE1hcHBlciBzdWJkZXZpY2UuCisrICovCisr dm9pZCBxY29tX3JlbW92ZV9wZG1fc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBx Y29tX3Jwcm9jX3BkbSAqcGRtKQorK3sKKysJcnByb2NfcmVtb3ZlX3N1YmRldihycHJvYywgJnBk bS0+c3ViZGV2KTsKKyt9CisrRVhQT1JUX1NZTUJPTF9HUEwocWNvbV9yZW1vdmVfcGRtX3N1YmRl dik7CisrCisgTU9EVUxFX0RFU0NSSVBUSU9OKCJRdWFsY29tbSBSZW1vdGVwcm9jIGhlbHBlciBk cml2ZXIiKTsKKyBNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7CitkaWZmIC0tZ2l0IGEvZHJpdmVy cy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmggYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21t b24uaAoraW5kZXggOWVmNDQ0OTA1MmE5Li5iMDdmYmFhMDkxYTAgMTAwNjQ0CistLS0gYS9kcml2 ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uaAorKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fj b21fY29tbW9uLmgKK0BAIC0zNCw2ICszNCwxMyBAQCBzdHJ1Y3QgcWNvbV9ycHJvY19zc3Igewor IAlzdHJ1Y3QgcWNvbV9zc3Jfc3Vic3lzdGVtICppbmZvOworIH07CisgCisrc3RydWN0IHFjb21f cnByb2NfcGRtIHsKKysJc3RydWN0IHJwcm9jX3N1YmRldiBzdWJkZXY7CisrCXN0cnVjdCBkZXZp Y2UgKmRldjsKKysJaW50IGluZGV4OworKwlzdHJ1Y3QgYXV4aWxpYXJ5X2RldmljZSAqYWRldjsK Kyt9OworKworIHZvaWQgcWNvbV9taW5pZHVtcChzdHJ1Y3QgcnByb2MgKnJwcm9jLCB1bnNpZ25l ZCBpbnQgbWluaWR1bXBfaWQsCisgCQkJdm9pZCAoKnJwcm9jX2R1bXBmbl90KShzdHJ1Y3QgcnBy b2MgKnJwcm9jLAorIAkJCQlzdHJ1Y3QgcnByb2NfZHVtcF9zZWdtZW50ICpzZWdtZW50LCB2b2lk ICpkZXN0LCBzaXplX3Qgb2Zmc2V0LAorQEAgLTUyLDYgKzU5LDkgQEAgdm9pZCBxY29tX2FkZF9z c3Jfc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3NzciAqc3Ny LAorIAkJCSBjb25zdCBjaGFyICpzc3JfbmFtZSk7Cisgdm9pZCBxY29tX3JlbW92ZV9zc3Jfc3Vi ZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3NzciAqc3NyKTsKKyAK Kyt2b2lkIHFjb21fYWRkX3BkbV9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFj b21fcnByb2NfcGRtICpwZG0pOworK3ZvaWQgcWNvbV9yZW1vdmVfcGRtX3N1YmRldihzdHJ1Y3Qg cnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gKnBkbSk7CisrCisgI2lmIElTX0VO QUJMRUQoQ09ORklHX1FDT01fU1lTTU9OKQorIHN0cnVjdCBxY29tX3N5c21vbiAqcWNvbV9hZGRf c3lzbW9uX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLAorIAkJCQkJICAgY29uc3QgY2hhciAq bmFtZSwKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYyBi L2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfYWRzcC5jCitpbmRleCAxZDI0YzliNjU2YTgu LjU3MmRjYjBmMDU1YiAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVf YWRzcC5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYworQEAgLTEx Miw2ICsxMTIsNyBAQCBzdHJ1Y3QgcWNvbV9hZHNwIHsKKyAJc3RydWN0IGRldl9wbV9kb21haW5f bGlzdCAqcGRfbGlzdDsKKyAKKyAJc3RydWN0IHFjb21fcnByb2NfZ2xpbmsgZ2xpbmtfc3ViZGV2 OworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnBy b2Nfc3NyIHNzcl9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3N5c21vbiAqc3lzbW9uOworIAorQEAg LTcyNiw2ICs3MjcsNyBAQCBzdGF0aWMgaW50IGFkc3BfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKKyAJCWdvdG8gZGlzYWJsZV9wbTsKKyAKKyAJcWNvbV9hZGRfZ2xpbmtfc3Vi ZGV2KHJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2LCBkZXNjLT5zc3JfbmFtZSk7CisrCXFjb21f YWRkX3BkbV9zdWJkZXYocnByb2MsICZhZHNwLT5wZG1fc3ViZGV2KTsKKyAJcWNvbV9hZGRfc3Ny X3N1YmRldihycHJvYywgJmFkc3AtPnNzcl9zdWJkZXYsIGRlc2MtPnNzcl9uYW1lKTsKKyAJYWRz cC0+c3lzbW9uID0gcWNvbV9hZGRfc3lzbW9uX3N1YmRldihycHJvYywKKyAJCQkJCSAgICAgIGRl c2MtPnN5c21vbl9uYW1lLAorQEAgLTc1NSw2ICs3NTcsNyBAQCBzdGF0aWMgdm9pZCBhZHNwX3Jl bW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAorIAlxY29tX3E2djVfZGVpbml0 KCZhZHNwLT5xNnY1KTsKKyAJcWNvbV9yZW1vdmVfZ2xpbmtfc3ViZGV2KGFkc3AtPnJwcm9jLCAm YWRzcC0+Z2xpbmtfc3ViZGV2KTsKKysJcWNvbV9yZW1vdmVfcGRtX3N1YmRldihhZHNwLT5ycHJv YywgJmFkc3AtPnBkbV9zdWJkZXYpOworIAlxY29tX3JlbW92ZV9zeXNtb25fc3ViZGV2KGFkc3At PnN5c21vbik7CisgCXFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYoYWRzcC0+cnByb2MsICZhZHNwLT5z c3Jfc3ViZGV2KTsKKyAJcWNvbV9ycHJvY19wZHNfZGV0YWNoKGFkc3ApOworZGlmZiAtLWdpdCBh L2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfbXNzLmMgYi9kcml2ZXJzL3JlbW90ZXByb2Mv cWNvbV9xNnY1X21zcy5jCitpbmRleCAxNzc5ZmM4OTBlMTAuLjJhNDIyMTVjZThlMCAxMDA2NDQK Ky0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfbXNzLmMKKysrKyBiL2RyaXZlcnMv cmVtb3RlcHJvYy9xY29tX3E2djVfbXNzLmMKK0BAIC0yMjgsNiArMjI4LDcgQEAgc3RydWN0IHE2 djUgeworIAorIAlzdHJ1Y3QgcWNvbV9ycHJvY19nbGluayBnbGlua19zdWJkZXY7CisgCXN0cnVj dCBxY29tX3Jwcm9jX3N1YmRldiBzbWRfc3ViZGV2OworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0g cGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNzcl9zdWJkZXY7CisgCXN0cnVj dCBxY29tX3N5c21vbiAqc3lzbW9uOworIAlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpiYW1fZG11 eDsKK0BAIC0yMTAyLDYgKzIxMDMsNyBAQCBzdGF0aWMgaW50IHE2djVfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikKKyAJcXByb2MtPm1iYV9wZXJtID0gQklUKFFDT01fU0NNX1ZN SURfSExPUyk7CisgCXFjb21fYWRkX2dsaW5rX3N1YmRldihycHJvYywgJnFwcm9jLT5nbGlua19z dWJkZXYsICJtcHNzIik7CisgCXFjb21fYWRkX3NtZF9zdWJkZXYocnByb2MsICZxcHJvYy0+c21k X3N1YmRldik7CisrCXFjb21fYWRkX3BkbV9zdWJkZXYocnByb2MsICZxcHJvYy0+cGRtX3N1YmRl dik7CisgCXFjb21fYWRkX3Nzcl9zdWJkZXYocnByb2MsICZxcHJvYy0+c3NyX3N1YmRldiwgIm1w c3MiKTsKKyAJcXByb2MtPnN5c21vbiA9IHFjb21fYWRkX3N5c21vbl9zdWJkZXYocnByb2MsICJt b2RlbSIsIDB4MTIpOworIAlpZiAoSVNfRVJSKHFwcm9jLT5zeXNtb24pKSB7CitAQCAtMjE0Myw2 ICsyMTQ1LDcgQEAgc3RhdGljIHZvaWQgcTZ2NV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKKyAJcWNvbV9xNnY1X2RlaW5pdCgmcXByb2MtPnE2djUpOworIAlxY29tX3JlbW92 ZV9zeXNtb25fc3ViZGV2KHFwcm9jLT5zeXNtb24pOworIAlxY29tX3JlbW92ZV9zc3Jfc3ViZGV2 KHJwcm9jLCAmcXByb2MtPnNzcl9zdWJkZXYpOworKwlxY29tX3JlbW92ZV9wZG1fc3ViZGV2KHJw cm9jLCAmcXByb2MtPnBkbV9zdWJkZXYpOworIAlxY29tX3JlbW92ZV9zbWRfc3ViZGV2KHJwcm9j LCAmcXByb2MtPnNtZF9zdWJkZXYpOworIAlxY29tX3JlbW92ZV9nbGlua19zdWJkZXYocnByb2Ms ICZxcHJvYy0+Z2xpbmtfc3ViZGV2KTsKKyAKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXBy b2MvcWNvbV9xNnY1X3Bhcy5jIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9wYXMuYwor aW5kZXggNTRkODAwNWQ0MGEzLi4zOTljM2JjMTA0YmQgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3Jl bW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9x NnY1X3Bhcy5jCitAQCAtMTA5LDYgKzEwOSw3IEBAIHN0cnVjdCBxY29tX2Fkc3AgeworIAorIAlz dHJ1Y3QgcWNvbV9ycHJvY19nbGluayBnbGlua19zdWJkZXY7CisgCXN0cnVjdCBxY29tX3Jwcm9j X3N1YmRldiBzbWRfc3ViZGV2OworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsK KyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNzcl9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3N5c21v biAqc3lzbW9uOworIAorQEAgLTc3MSw2ICs3NzIsNyBAQCBzdGF0aWMgaW50IGFkc3BfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAKKyAJcWNvbV9hZGRfZ2xpbmtfc3ViZGV2 KHJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2LCBkZXNjLT5zc3JfbmFtZSk7CisgCXFjb21fYWRk X3NtZF9zdWJkZXYocnByb2MsICZhZHNwLT5zbWRfc3ViZGV2KTsKKysJcWNvbV9hZGRfcGRtX3N1 YmRldihycHJvYywgJmFkc3AtPnBkbV9zdWJkZXYpOworIAlhZHNwLT5zeXNtb24gPSBxY29tX2Fk ZF9zeXNtb25fc3ViZGV2KHJwcm9jLAorIAkJCQkJICAgICAgZGVzYy0+c3lzbW9uX25hbWUsCisg CQkJCQkgICAgICBkZXNjLT5zc2N0bF9pZCk7CitAQCAtODA1LDYgKzgwNyw3IEBAIHN0YXRpYyB2 b2lkIGFkc3BfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCisgCXFjb21fcmVt b3ZlX2dsaW5rX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPmdsaW5rX3N1YmRldik7CisgCXFj b21fcmVtb3ZlX3N5c21vbl9zdWJkZXYoYWRzcC0+c3lzbW9uKTsKKyAJcWNvbV9yZW1vdmVfc21k X3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPnNtZF9zdWJkZXYpOworKwlxY29tX3JlbW92ZV9w ZG1fc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+cGRtX3N1YmRldik7CisgCXFjb21fcmVtb3Zl X3Nzcl9zdWJkZXYoYWRzcC0+cnByb2MsICZhZHNwLT5zc3Jfc3ViZGV2KTsKKyAJYWRzcF9wZHNf ZGV0YWNoKGFkc3AsIGFkc3AtPnByb3h5X3BkcywgYWRzcC0+cHJveHlfcGRfY291bnQpOworIAlk ZXZpY2VfaW5pdF93YWtldXAoYWRzcC0+ZGV2LCBmYWxzZSk7CitkaWZmIC0tZ2l0IGEvZHJpdmVy cy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93Y3NzLmMgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9x NnY1X3djc3MuYworaW5kZXggOTRmNjhjOTE5ZWU2Li5lOTEzZGFiYWU5OTIgMTAwNjQ0CistLS0g YS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3djc3MuYworKysrIGIvZHJpdmVycy9yZW1v dGVwcm9jL3Fjb21fcTZ2NV93Y3NzLmMKK0BAIC0xNDgsNiArMTQ4LDcgQEAgc3RydWN0IHE2djVf d2NzcyB7CisgCWJvb2wgcmVxdWlyZXNfZm9yY2Vfc3RvcDsKKyAKKyAJc3RydWN0IHFjb21fcnBy b2NfZ2xpbmsgZ2xpbmtfc3ViZGV2OworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRl djsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNzcl9zdWJkZXY7CisgfTsKKyAKK0BAIC0xMDUy LDYgKzEwNTMsNyBAQCBzdGF0aWMgaW50IHE2djVfd2Nzc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQorIAkJcmV0dXJuIHJldDsKKyAKKyAJcWNvbV9hZGRfZ2xpbmtfc3ViZGV2 KHJwcm9jLCAmd2Nzcy0+Z2xpbmtfc3ViZGV2LCAicTZ3Y3NzIik7CisrCXFjb21fYWRkX3BkbV9z dWJkZXYocnByb2MsICZ3Y3NzLT5wZG1fc3ViZGV2KTsKKyAJcWNvbV9hZGRfc3NyX3N1YmRldihy cHJvYywgJndjc3MtPnNzcl9zdWJkZXYsICJxNndjc3MiKTsKKyAKKyAJaWYgKGRlc2MtPnNzY3Rs X2lkKQorQEAgLTEwNzQsNiArMTA3Niw3IEBAIHN0YXRpYyB2b2lkIHE2djVfd2Nzc19yZW1vdmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJc3RydWN0IHE2djVfd2NzcyAqd2NzcyA9 IHJwcm9jLT5wcml2OworIAorIAlxY29tX3E2djVfZGVpbml0KCZ3Y3NzLT5xNnY1KTsKKysJcWNv bV9yZW1vdmVfcGRtX3N1YmRldihycHJvYywgJndjc3MtPnBkbV9zdWJkZXYpOworIAlycHJvY19k ZWwocnByb2MpOworIH0KKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGludXg2LjgvdGVtcGxhdGUg Yi9zcmNwa2dzL2xpbnV4Ni44L3RlbXBsYXRlCmluZGV4IDc5ZTZhMTMxYTc1NjQwLi5mMWM4NDJm MDQwMzk2ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9saW51eDYuOC90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL2xpbnV4Ni44L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAnbGludXg2LjgnCiBwa2duYW1lPWxpbnV4Ni44CiB2ZXJzaW9uPTYuOC4xMAotcmV2aXNpb249 MQorcmV2aXNpb249Mgogc2hvcnRfZGVzYz0iTGludXgga2VybmVsIGFuZCBtb2R1bGVzICgke3Zl cnNpb24lLip9IHNlcmllcykiCiBtYWludGFpbmVyPSJEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51 eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vbmx5Igo= --===============8895333784318738308==--