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=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham 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 080E02683E for ; Wed, 26 Jun 2024 07:12:14 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============2081437229553577213==" 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, 26 Jun 2024 07:12:13 +0200 List-Id: Message-Id: <20240626051214.080E02683E@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============2081437229553577213== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgY2xhc3NhYmJ5YW1wIGFnYWluc3Qg bWFzdGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNv bS9jbGFzc2FiYnlhbXAvdm9pZC1wYWNrYWdlcyB4MTNzLXN1cHBvcnQKaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ5NjE1CgpMZW5vdm8gWDEzcyBzdXBw b3J0CiMjIHJlcG8gZm9yIHRlc3Rpbmc6IGh0dHBzOi8vZGV2c3BhY2Uudm9pZGxpbnV4Lm9yZy9h YmJ5L3gxM3MvDQoNCiMjIyMgVE9ET3MNCi0gW3hdIGRvY3VtZW50IGluc3RhbGwgcHJvY2Vzcywg aW5jbHVkaW5nIHJlcXVpcmVkIGNtZGxpbmUgKGBhcm02NC5ub3BhdXRoIGNsa19pZ25vcmVfdW51 c2VkIHBkX2lnbm9yZV91bnVzZWRgKQ0KICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1kb2NzL2NvbXBhcmUvbWFzdGVyLi4uY2xhc3NhYmJ5YW1wOnZvaWQtZG9jczp4MTNz DQotIFt4XSBmaXggYmx1ZXRvb3RoIG1hYyBhZGRyZXNzOiAoYGJ0bWdtdCBwdWJsaWMtYWRkciBG NDpBMDowRDpYWDpZWTpaWmApDQotIFt4XSBzZXQgYSByYW5kb20gbWFjIHdpdGggdGhlIGNvcnJl Y3QgT1VJIChgRjQ6QTA6MEQ6eHg6eXk6enpgKSBhdCBpbnN0YWxsPw0KLSBbeF0gbWtpbml0Y3Bp byBkcm9wLWluIGNvbmZpZw0KLSBbIF0gbWtpbml0Y3BpbyB3b3JraW5nDQogICAgLSBodHRwczov L2dpdGxhYi5hcmNobGludXgub3JnL2FyY2hsaW51eC9ta2luaXRjcGlvL21raW5pdGNwaW8vLS9t ZXJnZV9yZXF1ZXN0cy8zNzcNCiAgICAtIGRvZXMgbm90IGxvYWQgbW9kdWxlcyBhbmQvb3IgZmly bXdhcmUgY29ycmVjdGx5DQotIFsgXSBjcmVhdGUgYW5kIHRlc3QgbGl2ZSBpbWFnZXMNCiAgICAt ICoqSEVBVklMWSBXSVAqKiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLW1rbGl2 ZS9jb21wYXJlL21hc3Rlci4uLmNsYXNzYWJieWFtcDp2b2lkLW1rbGl2ZTphYXJjaDY0LWxpdmUN Ci0gW3hdIH5+a2VybmVsIGluc3RhbGwgaG9vayB0byB1cGRhdGUgdGhlIGR0Yj9+fiBncnViIGR0 YiBsb2FkaW5nIHN1cHBvcnQNCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVk IHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqWUVTKioNCg0KIyMjIyBOZXcgcGFja2FnZQ0KLSBU aGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0 dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09O VFJJQlVUSU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1lbnRzKTogKipZRVMqKg0KDQpbY2kgc2tpcF0K CkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvcHVsbC80OTYxNS5wYXRjaCBpcyBhdHRhY2hlZA== --===============2081437229553577213== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-x13s-support-49615.patch" RnJvbSA1NWM1YmI3ZDU4NDlkNjFlNDczNTBiZTIwMWVjZTgyZmVkNzRhYTZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+ CkRhdGU6IFRodSwgMjEgTWFyIDIwMjQgMTg6MDA6NDUgLTA0MDAKU3ViamVjdDogW1BBVENIIDEv M10gTmV3IHBhY2thZ2U6IHgxM3MtYmFzZS0xCgotLS0KIHNyY3BrZ3MveDEzcy1iYXNlL0lOU1RB TEwgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKysrKysKIHNyY3BrZ3MveDEzcy1iYXNl L2ZpbGVzLzcyLXRvdWNoc2NyZWVuLnJ1bGVzIHwgIDEgKwogc3JjcGtncy94MTNzLWJhc2UvZmls ZXMvOTAtYnQtYWRkcmVzcy5zaCAgICAgfCAgNCArKysrCiBzcmNwa2dzL3gxM3MtYmFzZS9maWxl cy85MC1uZXQtYWRkcmVzcy5ydWxlcyB8ICAyICsrCiBzcmNwa2dzL3gxM3MtYmFzZS9maWxlcy9k cmFjdXQuY29uZiAgICAgICAgICB8ICA2ICsrKysrCiBzcmNwa2dzL3gxM3MtYmFzZS9maWxlcy9t a2luaXRjcGlvLmNvbmYgICAgICB8ICA2ICsrKysrCiBzcmNwa2dzL3gxM3MtYmFzZS90ZW1wbGF0 ZSAgICAgICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrKysrCiA3IGZpbGVzIGNo YW5nZWQsIDU2IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3gxM3Mt YmFzZS9JTlNUQUxMCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy94MTNzLWJhc2UvZmlsZXMv NzItdG91Y2hzY3JlZW4ucnVsZXMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3gxM3MtYmFz ZS9maWxlcy85MC1idC1hZGRyZXNzLnNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy94MTNz LWJhc2UvZmlsZXMvOTAtbmV0LWFkZHJlc3MucnVsZXMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3gxM3MtYmFzZS9maWxlcy9kcmFjdXQuY29uZgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MveDEzcy1iYXNlL2ZpbGVzL21raW5pdGNwaW8uY29uZgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MveDEzcy1iYXNlL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94MTNzLWJhc2Uv SU5TVEFMTCBiL3NyY3BrZ3MveDEzcy1iYXNlL0lOU1RBTEwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwMDAuLmQ4OGY5Njc3NjA4NDQxCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy94MTNzLWJhc2UvSU5TVEFMTApAQCAtMCwwICsxLDEzIEBACitjYXNlICIkQUNUSU9O IiBpbgorcG9zdCkKKwkjIGFzc2lnbiBhIHJhbmRvbSB3bGFuIE1BQyBhZGRyZXNzIHdpdGggdGhl IGNvcnJlY3QgT1VJCisJc2VkIC1pLmJhayAtZSAicy86WFg6WVk6WlovJChvZCAtQW4gLU4zIC10 IHgxIC9kZXYvdXJhbmRvbSB8IHRyICcgJyAnOicpL2ciIFwKKwkJdXNyL2xpYi91ZGV2L3J1bGVz LmQvOTAteDEzcy1uZXQtYWRkcmVzcy5ydWxlcworCXJtIC1mIHVzci9saWIvdWRldi9ydWxlcy5k LzkwLXgxM3MtbmV0LWFkZHJlc3MucnVsZXMuYmFrCisKKwkjIGFzc2lnbiBhIHJhbmRvbSBibHVl dG9vdGggTUFDIGFkZHJlc3Mgd2l0aCB0aGUgY29ycmVjdCBPVUkKKwlzZWQgLWkuYmFrIC1lICJz LzpYWDpZWTpaWi8kKG9kIC1BbiAtTjMgLXQgeDEgL2Rldi91cmFuZG9tIHwgdHIgJyAnICc6Jykv ZyIgXAorCQlldGMvcnVuaXQvY29yZS1zZXJ2aWNlcy85MC14MTNzLWJ0LWFkZHJlc3Muc2gKKwly bSAtZiB1c3IvbGliL3VkZXYvcnVsZXMuZC85MC14MTNzLWJ0LWFkZHJlc3Muc2guYmFrCisJOzsK K2VzYWMKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzcyLXRvdWNoc2NyZWVu LnJ1bGVzIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvNzItdG91Y2hzY3JlZW4ucnVsZXMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLmMwYTFjYjYzNzQ5NjQzCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvNzItdG91Y2hzY3JlZW4u cnVsZXMKQEAgLTAsMCArMSBAQAorQUNUSU9OPT0iYWRkIiAsIFJVTis9Ii9iaW4vc2ggLWMgJ2Vj aG8gNC0wMDEwID4gL3N5cy9idXMvaTJjL2RyaXZlcnMvaTJjX2hpZF9vZi9iaW5kJyIKZGlmZiAt LWdpdCBhL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkwLWJ0LWFkZHJlc3Muc2ggYi9zcmNwa2dz L3gxM3MtYmFzZS9maWxlcy85MC1idC1hZGRyZXNzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMDAwLi43YjQ0ZTAwNDRlYmM2YwotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkwLWJ0LWFkZHJlc3Muc2gKQEAgLTAsMCArMSw0IEBACitp ZiB0eXBlIGJ0bWdtdCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKwltc2cgIlNldHRpbmcgYmx1ZXRv b3RoIE1BQyBhZGRyZXNzLi4uIgorCWJ0bWdtdCAtLWluZGV4IDAgcHVibGljLWFkZHIgRjQ6QTA6 MEQ6WFg6WVk6WloKK2ZpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy85MC1u ZXQtYWRkcmVzcy5ydWxlcyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkwLW5ldC1hZGRyZXNz LnJ1bGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi4wMTQxMjMx MDU2ODNjNQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkwLW5l dC1hZGRyZXNzLnJ1bGVzCkBAIC0wLDAgKzEsMiBAQAorQUNUSU9OPT0iYWRkIiwgU1VCU1lTVEVN PT0ibmV0IiwgS0VSTkVMUz09IjAwMDY6MDE6MDAuMCIsIFwKKwlSVU4rPSIvdXNyL2Jpbi9pcCBs aW5rIHNldCBkZXYgJG5hbWUgYWRkcmVzcyBGNDpBMDowRDpYWDpZWTpaWiIKZGlmZiAtLWdpdCBh L3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzL2RyYWN1dC5jb25mIGIvc3JjcGtncy94MTNzLWJhc2Uv ZmlsZXMvZHJhY3V0LmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw MDAuLmEyNGFjZmEzZDBhMDZlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94MTNzLWJhc2Uv ZmlsZXMvZHJhY3V0LmNvbmYKQEAgLTAsMCArMSw2IEBACitmb3JjZV9kcml2ZXJzKz0iIG52bWUg cGh5X3Fjb21fcW1wX3BjaWUgIgorIyBrZXlib2FyZAorZm9yY2VfZHJpdmVycys9IiBpMmNfaGlk X29mIGkyY19xY29tX2dlbmkgIgorIyBkaXNwbGF5Citmb3JjZV9kcml2ZXJzKz0iIGxlZHNfcWNv bV9scGcgcHdtX2JsIHFydHIgcG1pY19nbGlua19hbHRtb2RlIGdwaW9fc2J1X211eCBwYW5lbF9l ZHAgbXNtICIKK2ZvcmNlX2RyaXZlcnMrPSIgcGh5X3Fjb21fcW1wX2NvbWJvIHBpbmN0cmxfc2M4 MjgweHAgZ3B1Y2Nfc2M4MjgweHAgZGlzcGNjX3NjODI4MHhwIHBoeV9xY29tX2VkcCAiCmRpZmYg LS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy9ta2luaXRjcGlvLmNvbmYgYi9zcmNwa2dz L3gxM3MtYmFzZS9maWxlcy9ta2luaXRjcGlvLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwMDAuLmE0MjhlZWZiMjAxNmY5Ci0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy94MTNzLWJhc2UvZmlsZXMvbWtpbml0Y3Bpby5jb25mCkBAIC0wLDAgKzEsNiBAQAorTU9E VUxFUys9KG52bWUgcGh5X3Fjb21fcW1wX3BjaWUpCisjIGtleWJvYXJkCitNT0RVTEVTKz0oaTJj X2hpZF9vZiBpMmNfcWNvbV9nZW5pKQorIyBkaXNwbGF5CitNT0RVTEVTKz0obGVkc19xY29tX2xw ZyBwd21fYmwgcXJ0ciBwbWljX2dsaW5rX2FsdG1vZGUgZ3Bpb19zYnVfbXV4IHBhbmVsX2VkcCBt c20KKyBwaHlfcWNvbV9xbXBfY29tYm8gcGluY3RybF9zYzgyODB4cCBncHVjY19zYzgyODB4cCBk aXNwY2Nfc2M4MjgweHAgcGh5X3Fjb21fZWRwKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy94MTNzLWJh c2UvdGVtcGxhdGUgYi9zcmNwa2dzL3gxM3MtYmFzZS90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uNTIwYjdjOTUxZTk5MDAKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3gxM3MtYmFzZS90ZW1wbGF0ZQpAQCAtMCwwICsxLDI0IEBACisjIFRlbXBs YXRlIGZpbGUgZm9yICd4MTNzLWJhc2UnCitwa2duYW1lPXgxM3MtYmFzZQordmVyc2lvbj0xCity ZXZpc2lvbj0xCithcmNocz0iYWFyY2g2NCoiCitkZXBlbmRzPSJsaW51eC1tYWlubGluZT49Ni44 IGxpbnV4LWZpcm13YXJlLXF1YWxjb21tIGFsc2EtdWNtLWNvbmYiCitzaG9ydF9kZXNjPSJWb2lk IExpbnV4IFRoaW5rcGFkIFgxM3MgcGxhdGZvcm0gcGFja2FnZSIKK21haW50YWluZXI9ImNsYXNz YWJieWFtcCA8dm9pZEBwbGFjZXZpb2xldHRlLm5ldD4iCitsaWNlbnNlPSJQdWJsaWMgRG9tYWlu IgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmciCisKKyMgbW9kaWZpZWQgYnkg SU5TVEFMTAorbXV0YWJsZV9maWxlcz0iCisgL3Vzci9saWIvdWRldi9ydWxlcy5kLzkwLXgxM3Mt bmV0LWFkZHJlc3MucnVsZXMKKyAvZXRjL3J1bml0L2NvcmUtc2VydmljZXMvOTAteDEzcy1idC1h ZGRyZXNzLnNoIgorCitkb19pbnN0YWxsKCkgeworCXZpbnN0YWxsICIke0ZJTEVTRElSfSIvNzIt dG91Y2hzY3JlZW4ucnVsZXMgNjQ0IHVzci9saWIvdWRldi9ydWxlcy5kIDcyLXgxM3MtdG91Y2hz Y3JlZW4ucnVsZXMKKwl2aW5zdGFsbCAiJHtGSUxFU0RJUn0iLzkwLW5ldC1hZGRyZXNzLnJ1bGVz IDY0NCB1c3IvbGliL3VkZXYvcnVsZXMuZCA5MC14MTNzLW5ldC1hZGRyZXNzLnJ1bGVzCisJdmlu c3RhbGwgIiR7RklMRVNESVJ9Ii85MC1idC1hZGRyZXNzLnNoIDY0NCBldGMvcnVuaXQvY29yZS1z ZXJ2aWNlcyA5MC14MTNzLWJ0LWFkZHJlc3Muc2gKKwl2aW5zdGFsbCAiJHtGSUxFU0RJUn0iL2Ry YWN1dC5jb25mIDY0NCB1c3IvbGliL2RyYWN1dC9kcmFjdXQuY29uZi5kIHgxM3MuY29uZgorCSMg bm90IGN1cnJlbnRseSB3b3JraW5nCisJIyB2aW5zdGFsbCAiJHtGSUxFU0RJUn0iL21raW5pdGNw aW8uY29uZiA2NDQgZXRjL21raW5pdGNwaW8uY29uZi5kIHgxM3MuY29uZgorfQoKRnJvbSAxODQw MTYzY2IyZTBkMmY5OWE3Y2ZmMDkxZTQ5ODMzZDUyYTgyZGQzIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+CkRhdGU6IFRo dSwgMjEgTWFyIDIwMjQgMTg6MDE6MzAgLTA0MDAKU3ViamVjdDogW1BBVENIIDIvM10gbGludXg2 Ljg6IGFkZCBzdXBwb3J0IGZvciBsZW5vdm8geDEzcwoKLS0tCiBzcmNwa2dzL2xpbnV4Ni44L2Zp bGVzL2FybTY0LWRvdGNvbmZpZyAgICAgICAgfCAgIDg0ICstCiAuLi5kLWluLWtlcm5lbC1wZC1t YXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2ggfCAxOTUxICsrKysrKysrKysrKysrKysrCiBzcmNw a2dzL2xpbnV4Ni44L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstCiAzIGZp bGVzIGNoYW5nZWQsIDIwMTIgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9saW51eDYuOC9wYXRjaGVzL3NvYy1xY29tLWFkZC1pbi1rZXJu ZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9s aW51eDYuOC9maWxlcy9hcm02NC1kb3Rjb25maWcgYi9zcmNwa2dzL2xpbnV4Ni44L2ZpbGVzL2Fy bTY0LWRvdGNvbmZpZwppbmRleCBjODNiNjFlNWZjYmUyZi4uODgzNzgzZmM1NjUzZmUgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvbGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnCisrKyBiL3NyY3Br Z3MvbGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnCkBAIC0xLDYgKzEsNiBAQAogIwogIyBB dXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmaWxlOyBETyBOT1QgRURJVC4KLSMgTGludXgvYXJtNjQg Ni44LjkgS2VybmVsIENvbmZpZ3VyYXRpb24KKyMgTGludXgvYXJtNjQgNi44LjEyIEtlcm5lbCBD b25maWd1cmF0aW9uCiAjCiBDT05GSUdfQ0NfVkVSU0lPTl9URVhUPSJhYXJjaDY0LWxpbnV4LW11 c2wtZ2NjIChHQ0MpIDEzLjIuMCIKIENPTkZJR19DQ19JU19HQ0M9eQpAQCAtMTgsNyArMTgsNyBA QCBDT05GSUdfQ0NfSEFTX0FTTV9HT1RPX1RJRURfT1VUUFVUPXkKIENPTkZJR19HQ0NfQVNNX0dP VE9fT1VUUFVUX1dPUktBUk9VTkQ9eQogQ09ORklHX0NDX0hBU19BU01fSU5MSU5FPXkKIENPTkZJ R19DQ19IQVNfTk9fUFJPRklMRV9GTl9BVFRSPXkKLUNPTkZJR19QQUhPTEVfVkVSU0lPTj0xMjYK K0NPTkZJR19QQUhPTEVfVkVSU0lPTj0xMjcKIENPTkZJR19JUlFfV09SSz15CiBDT05GSUdfQlVJ TERUSU1FX1RBQkxFX1NPUlQ9eQogQ09ORklHX1RIUkVBRF9JTkZPX0lOX1RBU0s9eQpAQCAtMjks NyArMjksNyBAQCBDT05GSUdfVEhSRUFEX0lORk9fSU5fVEFTSz15CiBDT05GSUdfSU5JVF9FTlZf QVJHX0xJTUlUPTMyCiAjIENPTkZJR19DT01QSUxFX1RFU1QgaXMgbm90IHNldAogIyBDT05GSUdf V0VSUk9SIGlzIG5vdCBzZXQKLUNPTkZJR19MT0NBTFZFUlNJT049Il8xIgorQ09ORklHX0xPQ0FM VkVSU0lPTj0iXzIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CiBDT05G SUdfQlVJTERfU0FMVD0iIgogQ09ORklHX0RFRkFVTFRfSU5JVD0iIgpAQCAtNTk2LDcgKzU5Niw3 IEBAIENPTkZJR19EUE1fV0FUQ0hET0c9eQogQ09ORklHX0RQTV9XQVRDSERPR19USU1FT1VUPTYw CiBDT05GSUdfUE1fQ0xLPXkKIENPTkZJR19QTV9HRU5FUklDX0RPTUFJTlM9eQotIyBDT05GSUdf V1FfUE9XRVJfRUZGSUNJRU5UX0RFRkFVTFQgaXMgbm90IHNldAorQ09ORklHX1dRX1BPV0VSX0VG RklDSUVOVF9ERUZBVUxUPXkKIENPTkZJR19QTV9HRU5FUklDX0RPTUFJTlNfU0xFRVA9eQogQ09O RklHX1BNX0dFTkVSSUNfRE9NQUlOU19PRj15CiBDT05GSUdfQ1BVX1BNPXkKQEAgLTIzNjksNyAr MjM2OSw3IEBAIENPTkZJR19TT0NfQlVTPXkKIENPTkZJR19SRUdNQVA9eQogQ09ORklHX1JFR01B UF9JMkM9eQogQ09ORklHX1JFR01BUF9TUEk9eQotQ09ORklHX1JFR01BUF9TUE1JPW0KK0NPTkZJ R19SRUdNQVBfU1BNST15CiBDT05GSUdfUkVHTUFQX1cxPW0KIENPTkZJR19SRUdNQVBfTU1JTz15 CiBDT05GSUdfUkVHTUFQX0lSUT15CkBAIC0yNDM3LDcgKzI0MzcsNyBAQCBDT05GSUdfQVJNX1ND TUlfVFJBTlNQT1JUX1ZJUlRJT19WRVJTSU9OMV9DT01QTElBTkNFPXkKIENPTkZJR19BUk1fU0NN SV9QT1dFUl9DT05UUk9MPW0KICMgZW5kIG9mIEFSTSBTeXN0ZW0gQ29udHJvbCBhbmQgTWFuYWdl bWVudCBJbnRlcmZhY2UgUHJvdG9jb2wKIAotQ09ORklHX0FSTV9TQ1BJX1BST1RPQ09MPW0KK0NP TkZJR19BUk1fU0NQSV9QUk9UT0NPTD15CiBDT05GSUdfQVJNX1NERV9JTlRFUkZBQ0U9eQogQ09O RklHX0ZJUk1XQVJFX01FTU1BUD15CiBDT05GSUdfRE1JSUQ9eQpAQCAtMjQ5Myw3ICsyNDkzLDgg QEAgQ09ORklHX0FSTV9QU0NJX0ZXPXkKICMKIENPTkZJR19RQ09NX1NDTT15CiAjIENPTkZJR19R Q09NX1NDTV9ET1dOTE9BRF9NT0RFX0RFRkFVTFQgaXMgbm90IHNldAotIyBDT05GSUdfUUNPTV9R U0VFQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19RQ09NX1FTRUVDT009eQorQ09ORklHX1FDT01fUVNF RUNPTV9VRUZJU0VDQVBQPXkKICMgZW5kIG9mIFF1YWxjb21tIGZpcm13YXJlIGRyaXZlcnMKIAog Q09ORklHX0hBVkVfQVJNX1NNQ0NDPXkKQEAgLTQ5MDQsNyArNDkwNSw3IEBAIENPTkZJR19YSUxM WVVTQj1tCiBDT05GSUdfSTJDPXkKIENPTkZJR19BQ1BJX0kyQ19PUFJFR0lPTj15CiBDT05GSUdf STJDX0JPQVJESU5GTz15Ci0jIENPTkZJR19JMkNfQ09NUEFUIGlzIG5vdCBzZXQKK0NPTkZJR19J MkNfQ09NUEFUPXkKIENPTkZJR19JMkNfQ0hBUkRFVj1tCiBDT05GSUdfSTJDX01VWD1tCiAKQEAg LTUxMzMsNyArNTEzNCw3IEBAIENPTkZJR19TUElfU0xBVkU9eQogQ09ORklHX1NQSV9TTEFWRV9U SU1FPW0KIENPTkZJR19TUElfU0xBVkVfU1lTVEVNX0NPTlRST0w9bQogQ09ORklHX1NQSV9EWU5B TUlDPXkKLUNPTkZJR19TUE1JPW0KK0NPTkZJR19TUE1JPXkKIENPTkZJR19TUE1JX0hJU0kzNjcw PW0KIENPTkZJR19TUE1JX01TTV9QTUlDX0FSQj1tCiBDT05GSUdfU1BNSV9NVEtfUE1JRj1tCkBA IC01MzA0LDcgKzUzMDUsNyBAQCBDT05GSUdfUElOQ1RSTF9TQTg3NzVQPW0KIENPTkZJR19QSU5D VFJMX1NDNzE4MD1tCiBDT05GSUdfUElOQ1RSTF9TQzcyODA9bQogQ09ORklHX1BJTkNUUkxfU0M4 MTgwWD1tCi1DT05GSUdfUElOQ1RSTF9TQzgyODBYUD1tCitDT05GSUdfUElOQ1RSTF9TQzgyODBY UD15CiAjIENPTkZJR19QSU5DVFJMX1NETTY2MCBpcyBub3Qgc2V0CiBDT05GSUdfUElOQ1RSTF9T RE02NzA9bQogQ09ORklHX1BJTkNUUkxfU0RNODQ1PW0KQEAgLTUzMjIsNyArNTMyMyw3IEBAIENP TkZJR19QSU5DVFJMX1NNODQ1MD1tCiBDT05GSUdfUElOQ1RSTF9TTTg1NTA9bQogIyBDT05GSUdf UElOQ1RSTF9TTTg2NTAgaXMgbm90IHNldAogIyBDT05GSUdfUElOQ1RSTF9YMUU4MDEwMCBpcyBu b3Qgc2V0Ci1DT05GSUdfUElOQ1RSTF9RQ09NX1NQTUlfUE1JQz1tCitDT05GSUdfUElOQ1RSTF9R Q09NX1NQTUlfUE1JQz15CiBDT05GSUdfUElOQ1RSTF9RQ09NX1NTQklfUE1JQz1tCiBDT05GSUdf UElOQ1RSTF9MUEFTU19MUEk9bQogIyBDT05GSUdfUElOQ1RSTF9TQzcyODBfTFBBU1NfTFBJIGlz IG5vdCBzZXQKQEAgLTU5MTEsMTIgKzU5MTIsMTMgQEAgQ09ORklHX1RIRVJNQUxfT0Y9eQogQ09O RklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfU1RFUF9XSVNFPXkKICMgQ09ORklHX1RIRVJNQUxfREVG QVVMVF9HT1ZfRkFJUl9TSEFSRSBpcyBub3Qgc2V0CiAjIENPTkZJR19USEVSTUFMX0RFRkFVTFRf R09WX1VTRVJfU1BBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9Q T1dFUl9BTExPQ0FUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9C QU5HX0JBTkcgaXMgbm90IHNldAogQ09ORklHX1RIRVJNQUxfR09WX0ZBSVJfU0hBUkU9eQogQ09O RklHX1RIRVJNQUxfR09WX1NURVBfV0lTRT15CiBDT05GSUdfVEhFUk1BTF9HT1ZfQkFOR19CQU5H PXkKIENPTkZJR19USEVSTUFMX0dPVl9VU0VSX1NQQUNFPXkKLSMgQ09ORklHX1RIRVJNQUxfR09W X1BPV0VSX0FMTE9DQVRPUiBpcyBub3Qgc2V0CitDT05GSUdfVEhFUk1BTF9HT1ZfUE9XRVJfQUxM T0NBVE9SPXkKIENPTkZJR19DUFVfVEhFUk1BTD15CiBDT05GSUdfQ1BVX0ZSRVFfVEhFUk1BTD15 CiAjIENPTkZJR19DUFVfSURMRV9USEVSTUFMIGlzIG5vdCBzZXQKQEAgLTU5NzQsNyArNTk3Niw3 IEBAIENPTkZJR19HRU5FUklDX0FEQ19USEVSTUFMPW0KICMKIENPTkZJR19RQ09NX1RTRU5TPW0K IENPTkZJR19RQ09NX1NQTUlfQURDX1RNNT1tCi0jIENPTkZJR19RQ09NX1NQTUlfVEVNUF9BTEFS TSBpcyBub3Qgc2V0CitDT05GSUdfUUNPTV9TUE1JX1RFTVBfQUxBUk09bQogQ09ORklHX1FDT01f TE1IPW0KICMgZW5kIG9mIFF1YWxjb21tIHRoZXJtYWwgZHJpdmVycwogCkBAIC02MDEyLDcgKzYw MTQsNyBAQCBDT05GSUdfWElMSU5YX1dBVENIRE9HPW0KIENPTkZJR19aSUlSQVZFX1dBVENIRE9H PW0KIENPTkZJR19NTFhfV0RUPW0KIENPTkZJR19TTDI4Q1BMRF9XQVRDSERPRz1tCi0jIENPTkZJ R19BUk1fU1A4MDVfV0FUQ0hET0cgaXMgbm90IHNldAorQ09ORklHX0FSTV9TUDgwNV9XQVRDSERP Rz15CiBDT05GSUdfQVJNX1NCU0FfV0FUQ0hET0c9bQogQ09ORklHX0FSTUFEQV8zN1hYX1dBVENI RE9HPW0KIENPTkZJR19DQURFTkNFX1dBVENIRE9HPW0KQEAgLTYwMjUsNyArNjAyNyw3IEBAIENP TkZJR19JTVgyX1dEVD1tCiBDT05GSUdfSU1YX1NDX1dEVD1tCiBDT05GSUdfSU1YN1VMUF9XRFQ9 bQogQ09ORklHX1RFR1JBX1dBVENIRE9HPW0KLSMgQ09ORklHX1FDT01fV0RUIGlzIG5vdCBzZXQK K0NPTkZJR19RQ09NX1dEVD1tCiBDT05GSUdfTUVTT05fR1hCQl9XQVRDSERPRz1tCiBDT05GSUdf TUVTT05fV0FUQ0hET0c9bQogQ09ORklHX01FRElBVEVLX1dBVENIRE9HPW0KQEAgLTkzMjUsNyAr OTMyNyw3IEBAIENPTkZJR19TQ1NJX1VGU0hDRF9QQ0k9bQogQ09ORklHX1NDU0lfVUZTSENEX1BM QVRGT1JNPW0KIENPTkZJR19TQ1NJX1VGU19DRE5TX1BMQVRGT1JNPW0KICMgQ09ORklHX1NDU0lf VUZTX0RXQ19UQ19QTEFURk9STSBpcyBub3Qgc2V0Ci0jIENPTkZJR19TQ1NJX1VGU19RQ09NIGlz IG5vdCBzZXQKK0NPTkZJR19TQ1NJX1VGU19RQ09NPW0KIENPTkZJR19TQ1NJX1VGU19NRURJQVRF Sz1tCiBDT05GSUdfU0NTSV9VRlNfSElTST1tCiBDT05GSUdfU0NTSV9VRlNfRVhZTk9TPW0KQEAg LTEwMzQ0LDcgKzEwMzQ2LDcgQEAgQ09ORklHX1FDTV9HQ0NfMjI5MD1tCiBDT05GSUdfUUNTX0dD Q180MDQ9bQogQ09ORklHX1NDX0NBTUNDXzcxODA9bQogQ09ORklHX1NDX0NBTUNDXzcyODA9bQot IyBDT05GSUdfU0NfQ0FNQ0NfODI4MFhQIGlzIG5vdCBzZXQKK0NPTkZJR19TQ19DQU1DQ184Mjgw WFA9bQogQ09ORklHX1NDX0RJU1BDQ183MTgwPW0KIENPTkZJR19TQ19ESVNQQ0NfNzI4MD1tCiBD T05GSUdfU0NfRElTUENDXzgyODBYUD1tCkBAIC0xMDM1Niw5ICsxMDM1OCw5IEBAIENPTkZJR19T Q19HQ0NfODE4MFg9bQogQ09ORklHX1NDX0dDQ184MjgwWFA9bQogQ09ORklHX1NDX0dQVUNDXzcx ODA9bQogQ09ORklHX1NDX0dQVUNDXzcyODA9bQotIyBDT05GSUdfU0NfR1BVQ0NfODI4MFhQIGlz IG5vdCBzZXQKK0NPTkZJR19TQ19HUFVDQ184MjgwWFA9bQogQ09ORklHX1NDX0xQQVNTQ0NfNzI4 MD1tCi0jIENPTkZJR19TQ19MUEFTU0NDXzgyODBYUCBpcyBub3Qgc2V0CitDT05GSUdfU0NfTFBB U1NDQ184MjgwWFA9bQogQ09ORklHX1NDX0xQQVNTX0NPUkVDQ183MTgwPW0KIENPTkZJR19TQ19M UEFTU19DT1JFQ0NfNzI4MD1tCiBDT05GSUdfU0NfTVNTXzcxODA9bQpAQCAtMTA0MTYsNyArMTA0 MTgsNyBAQCBDT05GSUdfU01fVENTUkNDXzg1NTA9bQogIyBDT05GSUdfU01fVENTUkNDXzg2NTAg aXMgbm90IHNldAogQ09ORklHX1NNX1ZJREVPQ0NfODE1MD1tCiBDT05GSUdfU01fVklERU9DQ184 MjUwPW0KLSMgQ09ORklHX1NNX1ZJREVPQ0NfODM1MCBpcyBub3Qgc2V0CitDT05GSUdfU01fVklE RU9DQ184MzUwPW0KICMgQ09ORklHX1NNX1ZJREVPQ0NfODU1MCBpcyBub3Qgc2V0CiBDT05GSUdf U1BNSV9QTUlDX0NMS0RJVj1tCiBDT05GSUdfUUNPTV9IRlBMTD1tCkBAIC0xMDQ5NCw3ICsxMDQ5 Niw3IEBAIENPTkZJR19USU1FUl9JTVhfU1lTX0NUUj15CiAjIGVuZCBvZiBDbG9jayBTb3VyY2Ug ZHJpdmVycwogCiBDT05GSUdfTUFJTEJPWD15Ci0jIENPTkZJR19BUk1fTUhVIGlzIG5vdCBzZXQK K0NPTkZJR19BUk1fTUhVPXkKIENPTkZJR19BUk1fTUhVX1YyPW0KIENPTkZJR19JTVhfTUJPWD1t CiBDT05GSUdfUExBVEZPUk1fTUhVPW0KQEAgLTEwNTM2LDggKzEwNTM4LDggQEAgQ09ORklHX0lP TU1VX0lPX1BHVEFCTEVfREFSVD15CiAKICMgQ09ORklHX0lPTU1VX0RFQlVHRlMgaXMgbm90IHNl dAogIyBDT05GSUdfSU9NTVVfREVGQVVMVF9ETUFfU1RSSUNUIGlzIG5vdCBzZXQKLSMgQ09ORklH X0lPTU1VX0RFRkFVTFRfRE1BX0xBWlkgaXMgbm90IHNldAotQ09ORklHX0lPTU1VX0RFRkFVTFRf UEFTU1RIUk9VR0g9eQorQ09ORklHX0lPTU1VX0RFRkFVTFRfRE1BX0xBWlk9eQorIyBDT05GSUdf SU9NTVVfREVGQVVMVF9QQVNTVEhST1VHSCBpcyBub3Qgc2V0CiBDT05GSUdfT0ZfSU9NTVU9eQog Q09ORklHX0lPTU1VX0RNQT15CiBDT05GSUdfSU9NTVVfU1ZBPXkKQEAgLTEwNjk1LDcgKzEwNjk3 LDkgQEAgQ09ORklHX1FDT01fTExDQz1tCiBDT05GSUdfUUNPTV9LUllPX0wyX0FDQ0VTU09SUz15 CiBDT05GSUdfUUNPTV9NRFRfTE9BREVSPW0KIENPTkZJR19RQ09NX09DTUVNPW0KK0NPTkZJR19R Q09NX1BEX01BUFBFUj1tCiBDT05GSUdfUUNPTV9QRFJfSEVMUEVSUz1tCitDT05GSUdfUUNPTV9Q RFJfTVNHPW0KICMgQ09ORklHX1FDT01fUE1JQ19QRENIQVJHRVJfVUxPRyBpcyBub3Qgc2V0CiBD T05GSUdfUUNPTV9QTUlDX0dMSU5LPW0KIENPTkZJR19RQ09NX1FNSV9IRUxQRVJTPW0KQEAgLTEx OTI3LDcgKzExOTMxLDM4IEBAIENPTkZJR19JTlRFUkNPTk5FQ1RfSU1YOE1NPW0KIENPTkZJR19J TlRFUkNPTk5FQ1RfSU1YOE1OPW0KIENPTkZJR19JTlRFUkNPTk5FQ1RfSU1YOE1RPW0KIENPTkZJ R19JTlRFUkNPTk5FQ1RfSU1YOE1QPW0KLSMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NIGlzIG5v dCBzZXQKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTT15CitDT05GSUdfSU5URVJDT05ORUNUX1FD T01fQkNNX1ZPVEVSPXkKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5MTYgaXMgbm90 IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fTVNNODkzOSBpcyBub3Qgc2V0CisjIENP TkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9NU004OTc0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVS Q09OTkVDVF9RQ09NX01TTTg5OTYgaXMgbm90IHNldAorQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09N X09TTV9MMz1tCisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9RQ00yMjkwIGlzIG5vdCBzZXQK KyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1FDUzQwNCBpcyBub3Qgc2V0CisjIENPTkZJR19J TlRFUkNPTk5FQ1RfUUNPTV9RRFUxMDAwIGlzIG5vdCBzZXQKK0NPTkZJR19JTlRFUkNPTk5FQ1Rf UUNPTV9SUE1IX1BPU1NJQkxFPXkKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9SUE1IPXkKKyMg Q09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NBODc3NVAgaXMgbm90IHNldAorIyBDT05GSUdfSU5U RVJDT05ORUNUX1FDT01fU0M3MTgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9R Q09NX1NDNzI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TQzgxODBY IGlzIG5vdCBzZXQKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TQzgyODBYUD15CisjIENPTkZJ R19JTlRFUkNPTk5FQ1RfUUNPTV9TRE02NjAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05O RUNUX1FDT01fU0RNNjcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NE TTg0NSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg1NSBpcyBub3Qg c2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg2NSBpcyBub3Qgc2V0CisjIENPTkZJ R19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5F Q1RfUUNPTV9TTTYxMTUgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU002 MzUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODE1MCBpcyBub3Qg c2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTgyNTAgaXMgbm90IHNldAorIyBDT05G SUdfSU5URVJDT05ORUNUX1FDT01fU004MzUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09O TkVDVF9RQ09NX1NNODQ1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9T TTg1NTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004NjUwIGlzIG5v dCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1gxRTgwMTAwIGlzIG5vdCBzZXQKIENP TkZJR19JTlRFUkNPTk5FQ1RfU0FNU1VORz15CiBDT05GSUdfSU5URVJDT05ORUNUX0VYWU5PUz1t CiBDT05GSUdfSU5URVJDT05ORUNUX0NMSz1tCkBAIC0xMjQyOSw2ICsxMjQ2NCw3IEBAIENPTkZJ R19DUllQVE9fQUxHQVBJPXkKIENPTkZJR19DUllQVE9fQUxHQVBJMj15CiBDT05GSUdfQ1JZUFRP X0FFQUQ9eQogQ09ORklHX0NSWVBUT19BRUFEMj15CitDT05GSUdfQ1JZUFRPX1NJRz15CiBDT05G SUdfQ1JZUFRPX1NJRzI9eQogQ09ORklHX0NSWVBUT19TS0NJUEhFUj15CiBDT05GSUdfQ1JZUFRP X1NLQ0lQSEVSMj15CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4Ni44L3BhdGNoZXMvc29jLXFj b20tYWRkLWluLWtlcm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9zcmNwa2dz L2xpbnV4Ni44L3BhdGNoZXMvc29jLXFjb20tYWRkLWluLWtlcm5lbC1wZC1tYXBwZXItaW1wbGVt ZW50YXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAu Ljc5NGFjMmYyZDc3ZjkyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saW51eDYuOC9wYXRj aGVzL3NvYy1xY29tLWFkZC1pbi1rZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNo CkBAIC0wLDAgKzEsMTk1MSBAQAoraHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wcm9qZWN0 L2xpbnV4LWFybS1tc20vY292ZXIvMjAyNDA2MjItcWNvbS1wZC1tYXBwZXItdjktMC1hODRlZTM1 OTFjOGVAbGluYXJvLm9yZy8KKworYWNjZXB0ZWQgdXBzdHJlYW0sIGV4cGVjdGVkIG1haW5saW5l IGluIDYuMTEKKworRnJvbTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5h cm8ub3JnPgorRGF0ZTogU2F0LCAyMiBKdW4gMjAyNCAwMTowMzo0MCArMDMwMAorU3ViamVjdDog W1BBVENIIHY5IDEvNV0gc29jOiBxY29tOiBwZHI6IHByb3RlY3QgbG9jYXRvcl9hZGRyIHdpdGgg dGhlIG1haW4KKyBtdXRleAorCitJZiB0aGUgc2VydmljZSBsb2NhdG9yIHNlcnZlciBpcyByZXN0 YXJ0ZWQgZmFzdCBlbm91Z2gsIHRoZSBQRFIgY2FuCityZXdyaXRlIGxvY2F0b3JfYWRkciBmaWVs ZHMgY29uY3VycmVudGx5LiBQcm90ZWN0IHRoZW0gYnkgcGxhY2luZworbW9kaWZpY2F0aW9uIG9m IHRob3NlIGZpZWxkcyB1bmRlciB0aGUgbWFpbiBwZHItPmxvY2suCisKK0ZpeGVzOiBmYmU2Mzli NDRhODIgKCJzb2M6IHFjb206IEludHJvZHVjZSBQcm90ZWN0aW9uIERvbWFpbiBSZXN0YXJ0IGhl bHBlcnMiKQorVGVzdGVkLWJ5OiBOZWlsIEFybXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJv Lm9yZz4gIyBvbiBTTTg1NTAtUVJECitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3Rl ZXZAa2FsaS5vcmc+CitUZXN0ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8YWxleGV5bWluQHBv c3RtYXJrZXRvcy5vcmc+CitTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnku YmFyeXNoa292QGxpbmFyby5vcmc+CitSZXZpZXdlZC1ieTogQ2hyaXMgTGV3IDxxdWljX2NsZXdA cXVpY2luYy5jb20+CistLS0KKyBkcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYyB8IDYg KysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK KworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jIGIvZHJpdmVy cy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKK2luZGV4IGExYjZhNDA4MWRlYS4uNzZhNjJjMmVj YzU4IDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKKysrKyBi L2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCitAQCAtNzYsMTIgKzc2LDEyIEBAIHN0 YXRpYyBpbnQgcGRyX2xvY2F0b3JfbmV3X3NlcnZlcihzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1pLAor IAkJCQkJICAgICAgbG9jYXRvcl9oZGwpOworIAlzdHJ1Y3QgcGRyX3NlcnZpY2UgKnBkczsKKyAK KysJbXV0ZXhfbG9jaygmcGRyLT5sb2NrKTsKKyAJLyogQ3JlYXRlIGEgbG9jYWwgY2xpZW50IHBv cnQgZm9yIFFNSSBjb21tdW5pY2F0aW9uICovCisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX2ZhbWls eSA9IEFGX1FJUENSVFI7CisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX25vZGUgPSBzdmMtPm5vZGU7 CisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX3BvcnQgPSBzdmMtPnBvcnQ7CisgCistCW11dGV4X2xv Y2soJnBkci0+bG9jayk7CisgCXBkci0+bG9jYXRvcl9pbml0X2NvbXBsZXRlID0gdHJ1ZTsKKyAJ bXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOworIAorQEAgLTEwNCwxMCArMTA0LDEwIEBAIHN0YXRp YyB2b2lkIHBkcl9sb2NhdG9yX2RlbF9zZXJ2ZXIoc3RydWN0IHFtaV9oYW5kbGUgKnFtaSwKKyAK KyAJbXV0ZXhfbG9jaygmcGRyLT5sb2NrKTsKKyAJcGRyLT5sb2NhdG9yX2luaXRfY29tcGxldGUg PSBmYWxzZTsKKy0JbXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOworIAorIAlwZHItPmxvY2F0b3Jf YWRkci5zcV9ub2RlID0gMDsKKyAJcGRyLT5sb2NhdG9yX2FkZHIuc3FfcG9ydCA9IDA7CisrCW11 dGV4X3VubG9jaygmcGRyLT5sb2NrKTsKKyB9CisgCisgc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlf b3BzIHBkcl9sb2NhdG9yX29wcyA9IHsKK0BAIC0zNjUsMTIgKzM2NSwxNCBAQCBzdGF0aWMgaW50 IHBkcl9nZXRfZG9tYWluX2xpc3Qoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSAq cmVxLAorIAlpZiAocmV0IDwgMCkKKyAJCXJldHVybiByZXQ7CisgCisrCW11dGV4X2xvY2soJnBk ci0+bG9jayk7CisgCXJldCA9IHFtaV9zZW5kX3JlcXVlc3QoJnBkci0+bG9jYXRvcl9oZGwsCisg CQkJICAgICAgICZwZHItPmxvY2F0b3JfYWRkciwKKyAJCQkgICAgICAgJnR4biwgU0VSVlJFR19H RVRfRE9NQUlOX0xJU1RfUkVRLAorIAkJCSAgICAgICBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9S RVFfTUFYX0xFTiwKKyAJCQkgICAgICAgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpLAor IAkJCSAgICAgICByZXEpOworKwltdXRleF91bmxvY2soJnBkci0+bG9jayk7CisgCWlmIChyZXQg PCAwKSB7CisgCQlxbWlfdHhuX2NhbmNlbCgmdHhuKTsKKyAJCXJldHVybiByZXQ7CisKK0Zyb206 IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KK0RhdGU6IFNh dCwgMjIgSnVuIDIwMjQgMDE6MDM6NDEgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCB2OSAyLzVdIHNv YzogcWNvbTogcGRyOiBmaXggcGFyc2luZyBvZiBkb21haW5zIGxpc3RzCisKK1doaWxlIHBhcnNp bmcgdGhlIGRvbWFpbnMgbGlzdCwgc3RhcnQgb2Zmc2V0cyBmcm9tIDAgcmF0aGVyIHRoYW4gZnJv bQorZG9tYWluc19yZWFkLiBUaGUgZG9tYWluc19yZWFkIGlzIGVxdWFsIHRvIHRoZSB0b3RhbCBj b3VudCBvZiB0aGUKK2RvbWFpbnMgd2UgaGF2ZSBzZWVuLCB3aGlsZSB0aGUgZG9tYWlucyBsaXN0 IGluIHRoZSBtZXNzYWdlIHN0YXJ0cyBmcm9tCitvZmZzZXQgMC4KKworRml4ZXM6IGZiZTYzOWI0 NGE4MiAoInNvYzogcWNvbTogSW50cm9kdWNlIFByb3RlY3Rpb24gRG9tYWluIFJlc3RhcnQgaGVs cGVycyIpCitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3RlZXZAa2FsaS5vcmc+CitU ZXN0ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8YWxleGV5bWluQHBvc3RtYXJrZXRvcy5vcmc+ CitSZXZpZXdlZC1ieTogQ2hyaXMgTGV3IDxxdWljX2NsZXdAcXVpY2luYy5jb20+CitUZXN0ZWQt Ynk6IE5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPiAjIG9uIFNNODU1 MC1RUkQKK1NpZ25lZC1vZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZA bGluYXJvLm9yZz4KKy0tLQorIGRyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jIHwgMiAr LQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZm IC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMgYi9kcml2ZXJzL3NvYy9x Y29tL3Bkcl9pbnRlcmZhY2UuYworaW5kZXggNzZhNjJjMmVjYzU4Li4yMTYxNjZlOThmYWUgMTAw NjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYworKysrIGIvZHJpdmVy cy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKK0BAIC00MTcsNyArNDE3LDcgQEAgc3RhdGljIGlu dCBwZHJfbG9jYXRlX3NlcnZpY2Uoc3RydWN0IHBkcl9oYW5kbGUgKnBkciwgc3RydWN0IHBkcl9z ZXJ2aWNlICpwZHMpCisgCQlpZiAocmV0IDwgMCkKKyAJCQlnb3RvIG91dDsKKyAKKy0JCWZvciAo aSA9IGRvbWFpbnNfcmVhZDsgaSA8IHJlc3AtPmRvbWFpbl9saXN0X2xlbjsgaSsrKSB7CisrCQlm b3IgKGkgPSAwOyBpIDwgcmVzcC0+ZG9tYWluX2xpc3RfbGVuOyBpKyspIHsKKyAJCQllbnRyeSA9 ICZyZXNwLT5kb21haW5fbGlzdFtpXTsKKyAKKyAJCQlpZiAoc3RybmxlbihlbnRyeS0+bmFtZSwg c2l6ZW9mKGVudHJ5LT5uYW1lKSkgPT0gc2l6ZW9mKGVudHJ5LT5uYW1lKSkKKworRnJvbTogRG1p dHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0ZTogU2F0LCAy MiBKdW4gMjAyNCAwMTowMzo0MiArMDMwMAorU3ViamVjdDogW1BBVENIIHY5IDMvNV0gc29jOiBx Y29tOiBwZHI6IGV4dHJhY3QgUERSIG1lc3NhZ2UgbWFyc2hhbGxpbmcKKyBkYXRhCisKK1RoZSBp bi1rZXJuZWwgUEQgbWFwcGVyIGlzIGdvaW5nIHRvIHVzZSBzYW1lIG1lc3NhZ2Ugc3RydWN0dXJl cyBhcyB0aGUKK1FDT01fUERSX0hFTFBFUlMgbW9kdWxlLiBFeHRyYWN0IG1lc3NhZ2UgbWFyc2hh bGxpbmcgZGF0YSB0byBzZXBhcmF0ZQorbW9kdWxlIHRoYXQgY2FuIGJlIHVzZWQgYnkgYm90aCBQ RFIgaGVscGVycyBhbmQgYnkgUEQgbWFwcGVyLgorCitSZXZpZXdlZC1ieTogQnJ5YW4gTydEb25v Z2h1ZSA8YnJ5YW4ub2Rvbm9naHVlQGxpbmFyby5vcmc+CitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1h c3pld3NraSA8c3RlZXZAa2FsaS5vcmc+CitUZXN0ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8 YWxleGV5bWluQHBvc3RtYXJrZXRvcy5vcmc+CitUZXN0ZWQtYnk6IE5laWwgQXJtc3Ryb25nIDxu ZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPiAjIG9uIFNNODU1MC1RUkQKK1NpZ25lZC1vZmYtYnk6 IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KKy0tLQorIGRy aXZlcnMvc29jL3Fjb20vS2NvbmZpZyAgICAgICAgfCAgIDQgKworIGRyaXZlcnMvc29jL3Fjb20v TWFrZWZpbGUgICAgICAgfCAgIDEgKworIGRyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgg fCAzMDYgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkcml2ZXJzL3Nv Yy9xY29tL3Fjb21fcGRyX21zZy5jIHwgMzE5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDMzNCBpbnNlcnRpb25zKCspLCAyOTYgZGVs ZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcgYi9kcml2 ZXJzL3NvYy9xY29tL0tjb25maWcKK2luZGV4IDVhZjMzYjBlMzQ3MC4uOTU5NzNjNmI4MjhmIDEw MDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCisrKysgYi9kcml2ZXJzL3NvYy9x Y29tL0tjb25maWcKK0BAIC03NSw4ICs3NSwxMiBAQCBjb25maWcgUUNPTV9PQ01FTQorIGNvbmZp ZyBRQ09NX1BEUl9IRUxQRVJTCisgCXRyaXN0YXRlCisgCXNlbGVjdCBRQ09NX1FNSV9IRUxQRVJT CisrCXNlbGVjdCBRQ09NX1BEUl9NU0cKKyAJZGVwZW5kcyBvbiBORVQKKyAKKytjb25maWcgUUNP TV9QRFJfTVNHCisrCXRyaXN0YXRlCisrCisgY29uZmlnIFFDT01fUE1JQ19QRENIQVJHRVJfVUxP RworIAl0cmlzdGF0ZSAiUXVhbGNvbW0gUE1JQyBQRENoYXJnZXIgVUxPRyBkcml2ZXIiCisgCWRl cGVuZHMgb24gUlBNU0cKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlIGIv ZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQoraW5kZXggY2EwYmVjZTBkZmZmLi4zMTEwYWMzMjg4 YmMgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCisrKysgYi9kcml2ZXJz L3NvYy9xY29tL01ha2VmaWxlCitAQCAtOCw2ICs4LDcgQEAgb2JqLSQoQ09ORklHX1FDT01fR1NC SSkJKz0JcWNvbV9nc2JpLm8KKyBvYmotJChDT05GSUdfUUNPTV9NRFRfTE9BREVSKQkrPSBtZHRf bG9hZGVyLm8KKyBvYmotJChDT05GSUdfUUNPTV9PQ01FTSkJKz0gb2NtZW0ubworIG9iai0kKENP TkZJR19RQ09NX1BEUl9IRUxQRVJTKQkrPSBwZHJfaW50ZXJmYWNlLm8KKytvYmotJChDT05GSUdf UUNPTV9QRFJfTVNHKQkrPSBxY29tX3Bkcl9tc2cubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNf R0xJTkspCSs9IHBtaWNfZ2xpbmsubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNfR0xJTkspCSs9 IHBtaWNfZ2xpbmtfYWx0bW9kZS5vCisgb2JqLSQoQ09ORklHX1FDT01fUE1JQ19QRENIQVJHRVJf VUxPRykJKz0gcG1pY19wZGNoYXJnZXJfdWxvZy5vCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2Mv cWNvbS9wZHJfaW50ZXJuYWwuaCBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKK2lu ZGV4IDAzYzI4MmI3ZjE3ZS4uN2U1YmI1YTk1Mjc1IDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2Mv cWNvbS9wZHJfaW50ZXJuYWwuaAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwu aAorQEAgLTI4LDgzICsyOCwxMiBAQCBzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSB7Cisg CXUzMiBpbnN0YW5jZTsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5m byBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAg ICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RI ICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBl CT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkgICBuYW1l KSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwK Ky0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMy KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAwLAor LQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50 cnksCistCQkJCQkgICBpbnN0YW5jZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9 IFFNSV9VTlNJR05FRF8xX0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQku dGx2X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0 IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkgICBzZXJ2aWNlX2RhdGFfdmFsaWQpLAor LQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorLQkJ LmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAor LQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDAsCistCQku b2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwK Ky0JCQkJCSAgIHNlcnZpY2VfZGF0YSksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2Vy dnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxIHsKKyAJY2hhciBzZXJ2aWNlX25hbWVbU0VSVlJFR19O QU1FX0xFTkdUSCArIDFdOworIAl1OCBkb21haW5fb2Zmc2V0X3ZhbGlkOworIAl1MzIgZG9tYWlu X29mZnNldDsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2 cmVnX2dldF9kb21haW5fbGlzdF9yZXFfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX1NUUklORywKKy0JCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEgg KyAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorLQkJLmFycmF5X3R5cGUJ PSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAgICAg ICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorLQkJCQkJ ICAgc2VydmljZV9uYW1lKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09Q VF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNp emVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAg ID0gMHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dl dF9kb21haW5fbGlzdF9yZXEsCistCQkJCQkgICBkb21haW5fb2Zmc2V0X3ZhbGlkKSwKKy0JfSwK Ky0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKy0JCS5lbGVt X2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKy0JCS5h cnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9m ZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jl cSwKKy0JCQkJCSAgIGRvbWFpbl9vZmZzZXQpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0 IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5 cGVfdjAxIHJlc3A7CisgCXU4IHRvdGFsX2RvbWFpbnNfdmFsaWQ7CitAQCAtMTE2LDI2NCArNDUs NDkgQEAgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgeworIAlzdHJ1Y3Qgc2Vy dnJlZ19sb2NhdGlvbl9lbnRyeSBkb21haW5fbGlzdFtTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdU SF07CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19n ZXRfZG9tYWluX2xpc3RfcmVzcF9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBR TUlfU1RSVUNULAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9 IHNpemVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0g Tk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkg ICByZXNwKSwKKy0JCS5laV9hcnJheSAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAor LQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCistCQkuZWxlbV9s ZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJh eV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNl dCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3As CistCQkJCQkgICB0b3RhbF9kb21haW5zX3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlw ZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCist CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJS QVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICB0b3Rh bF9kb21haW5zKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFH LAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1 OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgx MSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXNwLAorLQkJCQkJICAgZGJfcmV2X2NvdW50X3ZhbGlkKSwKKy0JfSwKKy0Jewor LQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAg ICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90 eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDExLAorLQkJLm9mZnNldCAg ICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCist CQkJCQkgICBkYl9yZXZfY291bnQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBR TUlfT1BUX0ZMQUcsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAg ID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUg ICAgICAgPSAweDEyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZy ZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdF92YWxpZCksCist CX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9EQVRBX0xFTiwKKy0JCS5lbGVtX2xl biAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5 X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCistCQkub2Zmc2V0 ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwK Ky0JCQkJCSAgIGRvbWFpbl9saXN0X2xlbiksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAg ICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX0RPTUFJTl9MSVNU X0xFTkdUSCwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3Qgc2VydnJlZ19sb2Nh dGlvbl9lbnRyeSksCistCQkuYXJyYXlfdHlwZQk9IFZBUl9MRU5fQVJSQVksCistCQkudGx2X3R5 cGUgICAgICAgPSAweDEyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNl cnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdCksCistCQku ZWlfYXJyYXkgICAgICA9IHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWksCistCX0sCistCXt9Cist fTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEgeworIAl1OCBlbmFi bGU7CisgCWNoYXIgc2VydmljZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyB9Owor IAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3JlZ2lzdGVyX2xp c3RlbmVyX3JlcV9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdO RURfMV9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9 IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAg ICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X3JlZ2lzdGVyX2xpc3RlbmVyX3JlcSwKKy0JCQkJCSAgIGVuYWJsZSksCistCX0sCistCXsKKy0J CS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJW UkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwK Ky0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAor LQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlz dGVuZXJfcmVxLAorLQkJCQkJICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0Je30KKy19OworLQor IHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jl c3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgCXU4IGN1cnJfc3RhdGVfdmFsaWQ7CisgCWVudW0gc2Vy dnJlZ19zZXJ2aWNlX3N0YXRlIGN1cnJfc3RhdGU7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpW10gPSB7 CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4gICAg ICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2Vf dHlwZV92MDEpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAg ICA9IDB4MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19y ZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorLQkJCQkJICAgcmVzcCksCistCQkuZWlfYXJyYXkgICAg ICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAg ICAgID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3Np emUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRs dl90eXBlICAgICAgID0gMHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AsCistCQkJCQkgICBjdXJyX3N0YXRlX3Zh bGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NJR05FRF80X0JZVEVf RU5VTSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXpl b2YoZW51bSBzZXJ2cmVnX3NlcnZpY2Vfc3RhdGUpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorLQkJCQkJICAgY3Vy cl9zdGF0ZSksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3Bk X3JlcSB7CisgCWNoYXIgc2VydmljZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyB9 OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRf cGRfcmVxX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCist CQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3Np emUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQku dGx2X3R5cGUgICAgICAgPSAweDAxLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3Ry dWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXEsCistCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorLQl9 LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwIHsKKyAJc3Ry dWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIH07CisgCistc3RhdGljIGNvbnN0IHN0 cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwX2VpW10gPSB7CistCXsK Ky0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4gICAgICAgPSAx LAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92 MDEpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4 MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0 X3BkX3Jlc3AsCistCQkJCQkgICByZXNwKSwKKy0JCS5laV9hcnJheSAgICAgID0gcW1pX3Jlc3Bv bnNlX3R5cGVfdjAxX2VpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfc3Rh dGVfdXBkYXRlZF9pbmQgeworIAllbnVtIHNlcnZyZWdfc2VydmljZV9zdGF0ZSBjdXJyX3N0YXRl OworIAljaGFyIHNlcnZpY2VfcGF0aFtTRVJWUkVHX05BTUVfTEVOR1RIICsgMV07CisgCXUxNiB0 cmFuc2FjdGlvbl9pZDsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5m byBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUg ICAgICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0sCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAor LQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FS UkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9m ZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorLQkJCQkJICAgY3Vycl9z dGF0ZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQku ZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUg ICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2 X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0 IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQsCistCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorLQl9 LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorLQkJLmVs ZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAorLQkJ LmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDMsCistCQku b2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2lu ZCwKKy0JCQkJCSAgIHRyYW5zYWN0aW9uX2lkKSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVj dCBzZXJ2cmVnX3NldF9hY2tfcmVxIHsKKyAJY2hhciBzZXJ2aWNlX3BhdGhbU0VSVlJFR19OQU1F X0xFTkdUSCArIDFdOworIAl1MTYgdHJhbnNhY3Rpb25faWQ7CisgfTsKKyAKKy1zdGF0aWMgY29u c3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3JlcV9laVtdID0geworLQl7 CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0g U0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hh ciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgw MSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tf cmVxLAorLQkJCQkJICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAg ICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQku ZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVks CistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0 b2Yoc3RydWN0IHNlcnZyZWdfc2V0X2Fja19yZXEsCistCQkJCQkgICB0cmFuc2FjdGlvbl9pZCks CistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3Jlc3AgeworIAlz dHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qg c3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXSA9IHsKKy0Jewor LQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEs CistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3Yw MSksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgw MiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tf cmVzcCwKKy0JCQkJCSAgIHJlc3ApLAorLQkJLmVpX2FycmF5ICAgICAgID0gcW1pX3Jlc3BvbnNl X3R5cGVfdjAxX2VpLAorLQl9LAorLQl7fQorLX07CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlf ZWxlbV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWlbXTsKKytleHRlcm4gY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpW107CisrZXh0 ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jl c3BfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdp c3Rlcl9saXN0ZW5lcl9yZXFfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2lu Zm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0 cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXFfZWlbXTsKKytleHRlcm4g Y29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3BfZWlbXTsK KytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVk X2luZF9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Nl dF9hY2tfcmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZy ZWdfc2V0X2Fja19yZXNwX2VpW107CisgCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9z b2MvcWNvbS9xY29tX3Bkcl9tc2cuYyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMDAuLjliNDZmNDJhYTE0Ngor LS0tIC9kZXYvbnVsbAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYworQEAg LTAsMCArMSwzMTkgQEAKKysvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorKy8q CisrICogQ29weXJpZ2h0IChDKSAyMDIwIFRoZSBMaW51eCBGb3VuZGF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkLgorKyAqLworKworKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKysjaW5jbHVk ZSA8bGludXgvc29jL3Fjb20vcW1pLmg+CisrCisrI2luY2x1ZGUgInBkcl9pbnRlcm5hbC5oIgor KworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWlb XSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xl biAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0g c2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAg ICAgICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19s b2NhdGlvbl9lbnRyeSwKKysJCQkJCSAgIG5hbWUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBl ICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJ CS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRv ZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJCSAgIGluc3RhbmNlKSwKKysJ fSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzFfQllURSwKKysJCS5l bGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJ LmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJ CQkJCSAgIHNlcnZpY2VfZGF0YV92YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAg ICA9IFFNSV9VTlNJR05FRF80X0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVs ZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAor KwkJLnRsdl90eXBlICAgICAgID0gMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0 cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorKwkJCQkJICAgc2VydmljZV9kYXRhKSwKKysJ fSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfbG9jYXRpb25fZW50cnlf ZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9s aXN0X3JlcV9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAor KwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9z aXplICAgICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJ LnRsdl90eXBlICAgICAgID0gMHgwMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0 cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXEsCisrCQkJCQkgICBzZXJ2aWNlX25hbWUp LAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCisrCQkuZWxl bV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5h cnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorKwkJLm9m ZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jl cSwKKysJCQkJCSAgIGRvbWFpbl9vZmZzZXRfdmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90 eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwK KysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19B UlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorKwkJCQkJICAgZG9t YWluX29mZnNldCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZv IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlw ZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9z aXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCisrCQkuYXJy YXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNw LAorKwkJCQkJICAgcmVzcCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBl X3YwMV9laSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAor KwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCks CisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwK KysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5f bGlzdF9yZXNwLAorKwkJCQkJICAgdG90YWxfZG9tYWluc192YWxpZCksCisrCX0sCisrCXsKKysJ CS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCisrCQkuZWxlbV9sZW4gICAg ICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCisrCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJ CQkJICAgdG90YWxfZG9tYWlucyksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFN SV9PUFRfRkxBRywKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAg PSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAg ICAgICA9IDB4MTEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIGRiX3Jldl9jb3VudF92YWxpZCksCisr CX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCisrCQku ZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCisr CQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMSwKKysJ CS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlz dF9yZXNwLAorKwkJCQkJICAgZGJfcmV2X2NvdW50KSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlw ZSAgICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVt X3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJ LnRsdl90eXBlICAgICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0 cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9tYWluX2xpc3Rf dmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfREFUQV9MRU4sCisr CQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwK KysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEyLAor KwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9s aXN0X3Jlc3AsCisrCQkJCQkgICBkb21haW5fbGlzdF9sZW4pLAorKwl9LAorKwl7CisrCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19E T01BSU5fTElTVF9MRU5HVEgsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHNl cnZyZWdfbG9jYXRpb25fZW50cnkpLAorKwkJLmFycmF5X3R5cGUJPSBWQVJfTEVOX0FSUkFZLAor KwkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9m KHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9tYWluX2xp c3QpLAorKwkJLmVpX2FycmF5ICAgICAgPSBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpLAorKwl9 LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19nZXRfZG9tYWluX2xpc3Rf cmVzcF9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rl cl9saXN0ZW5lcl9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VO U0lHTkVEXzFfQllURSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlw ZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2Vy dnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCisrCQkJCQkgICBlbmFibGUpLAorKwl9LAorKwl7 CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuICAgICAgID0g U0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hh ciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgw MiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVy X2xpc3RlbmVyX3JlcSwKKysJCQkJCSAgIHNlcnZpY2VfcGF0aCksCisrCX0sCisrCXt9CisrfTsK KytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcV9laSk7Cisr CisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9y ZXNwX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCisrCQku ZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBx bWlfcmVzcG9uc2VfdHlwZV92MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50 bHZfdHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1 Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorKwkJCQkJICAgcmVzcCksCisrCQku ZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJeworKwkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwK KysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FS UkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9m ZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AsCisrCQkJCQkgICBj dXJyX3N0YXRlX3ZhbGlkKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NJ R05FRF80X0JZVEVfRU5VTSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXpl ICAgICAgPSBzaXplb2YoZW51bSBzZXJ2cmVnX3NlcnZpY2Vfc3RhdGUpLAorKwkJLmFycmF5X3R5 cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAg ICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAor KwkJCQkJICAgY3Vycl9zdGF0ZSksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQ TChzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3BfZWkpOworKworK2NvbnN0IHN0cnVjdCBx bWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRh dGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdf TkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJ LmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQku b2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3BkX3JlcSwK KysJCQkJCSAgIHNlcnZpY2VfcGF0aCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9M X0dQTChzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2Vs ZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcF9laVtdID0geworKwl7CisrCQkuZGF0YV90 eXBlICAgICAgPSBRTUlfU1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVt X3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKysJCS5h cnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9m ZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwLAor KwkJCQkJICAgcmVzcCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3Yw MV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfcmVzdGFy dF9wZF9yZXNwX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3N0 YXRlX3VwZGF0ZWRfaW5kX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9T SUdORURfNF9CWVRFX0VOVU0sCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6 ZSAgICAgID0gc2l6ZW9mKHUzMiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRs dl90eXBlICAgICAgID0gMHgwMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorKwkJCQkJICAgY3Vycl9zdGF0ZSksCisrCX0s CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAg ICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVv ZihjaGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAg PSAweDAyLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3Rh dGVfdXBkYXRlZF9pbmQsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAorKwl7CisrCQku ZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAg ID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAorKwkJLmFycmF5X3R5cGUJ PSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDMsCisrCQkub2Zmc2V0ICAgICAg ICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwKKysJCQkJCSAg IHRyYW5zYWN0aW9uX2lkKSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNl cnZyZWdfc3RhdGVfdXBkYXRlZF9pbmRfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9p bmZvIHNlcnZyZWdfc2V0X2Fja19yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEgg KyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJ PSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAg ICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSwKKysJCQkJCSAgIHNlcnZp Y2VfcGF0aCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8y X0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6 ZW9mKHUxNiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAg ID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3Nl dF9hY2tfcmVxLAorKwkJCQkJICAgdHJhbnNhY3Rpb25faWQpLAorKwl9LAorKwl7fQorK307Cisr RVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19zZXRfYWNrX3JlcV9laSk7CisrCisrY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXSA9IHsKKysJeworKwkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisr CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSks CisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwK KysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVz cCwKKysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAgID0gcW1pX3Jlc3BvbnNlX3R5 cGVfdjAxX2VpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19z ZXRfYWNrX3Jlc3BfZWkpOworKworK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKytNT0RVTEVfREVT Q1JJUFRJT04oIlF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIG1lc3NhZ2VzIGRhdGEiKTsKKwor RnJvbTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0 ZTogU2F0LCAyMiBKdW4gMjAyNCAwMTowMzo0MyArMDMwMAorU3ViamVjdDogW1BBVENIIHY5IDQv NV0gc29jOiBxY29tOiBhZGQgcGQtbWFwcGVyIGltcGxlbWVudGF0aW9uCisKK0V4aXN0aW5nIHVz ZXJzcGFjZSBwcm90ZWN0aW9uIGRvbWFpbiBtYXBwZXIgaW1wbGVtZW50YXRpb24gaGFzIHNldmVy YWwKK2lzc3VlLiBJdCBkb2Vzbid0IHBsYXkgd2VsbCB3aXRoIENPTkZJR19FWFRSQV9GSVJNV0FS RSwgaXQgZG9lc24ndAorcmVyZWFkIEpTT04gZmlsZXMgaWYgZmlybXdhcmUgbG9jYXRpb24gaXMg Y2hhbmdlZCAob3IgaWYgZmlybXdhcmUgd2FzCitub3QgYXZhaWxhYmxlIGF0IHRoZSB0aW1lIHBk LW1hcHBlciB3YXMgc3RhcnRlZCBidXQgdGhlIGNvcnJlc3BvbmRpbmcKK2RpcmVjdG9yeSBpcyBt b3VudGVkIGxhdGVyKSwgZXRjLgorCitQcm92aWRlIGluLWtlcm5lbCBzZXJ2aWNlIGltcGxlbWVu dGluZyBwcm90ZWN0aW9uIGRvbWFpbiBtYXBwaW5nCityZXF1aXJlZCB0byB3b3JrIHdpdGggc2V2 ZXJhbCBzZXJ2aWNlcywgd2hpY2ggYXJlIHByb3ZpZGVkIGJ5IHRoZSBEU1AKK2Zpcm13YXJlLgor CitUaGlzIG1vZHVsZSBpcyBsb2FkZWQgYXV0b21hdGljYWxseSBieSB0aGUgcmVtb3RlcHJvYyBk cml2ZXJzIHdoZW4KK25lY2Vzc2FyeSB2aWEgdGhlIHN5bWJvbCBkZXBlbmRlbmN5LiBJdCB1c2Vz IGEgcm9vdCBub2RlIHRvIG1hdGNoIGEKK3Byb3RlY3Rpb24gZG9tYWlucyBtYXAgZm9yIGEgcGFy dGljdWxhciBib2FyZC4gSXQgaXMgbm90IHBvc3NpYmxlIHRvCitpbXBsZW1lbnQgaXQgYXMgYSAn ZHJpdmVyJyBhcyB0aGVyZSBpcyBubyBjb3JyZXNwb25kaW5nIGRldmljZS4KKworVGVzdGVkLWJ5 OiBTdGVldiBLbGltYXN6ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkg TWlubmVraGFub3YgPGFsZXhleW1pbkBwb3N0bWFya2V0b3Mub3JnPgorUmV2aWV3ZWQtYnk6IENo cmlzIExldyA8cXVpY19jbGV3QHF1aWNpbmMuY29tPgorVGVzdGVkLWJ5OiBOZWlsIEFybXN0cm9u ZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9yZz4gIyBvbiBTTTg1NTAtUVJECitTaWduZWQtb2Zm LWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CistLS0K KyBkcml2ZXJzL3NvYy9xY29tL0tjb25maWcgICAgICAgICAgfCAgMTEgKworIGRyaXZlcnMvc29j L3Fjb20vTWFrZWZpbGUgICAgICAgICB8ICAgMSArCisgZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50 ZXJuYWwuaCAgIHwgIDE0ICsKKyBkcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRfbWFwcGVyLmMgfCA2 NzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBkcml2ZXJzL3NvYy9x Y29tL3Fjb21fcGRyX21zZy5jICAgfCAgMzQgKysKKyA1IGZpbGVzIGNoYW5nZWQsIDczNiBpbnNl cnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcgYi9kcml2 ZXJzL3NvYy9xY29tL0tjb25maWcKK2luZGV4IDk1OTczYzZiODI4Zi4uMGEyZjJiZmQ3ODYzIDEw MDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCisrKysgYi9kcml2ZXJzL3NvYy9x Y29tL0tjb25maWcKK0BAIC03Miw2ICs3MiwxNyBAQCBjb25maWcgUUNPTV9PQ01FTQorIAkgIHJl cXVpcmVtZW50cy4gVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBieSB0aGUgR1BVLCBjYW1lcmEvdmlk ZW8sIGFuZAorIAkgIGF1ZGlvIGNvbXBvbmVudHMgb24gc29tZSBTbmFwZHJhZ29uIFNvQ3MuCisg CisrY29uZmlnIFFDT01fUERfTUFQUEVSCisrCXRyaXN0YXRlICJRdWFsY29tbSBQcm90ZWN0aW9u IERvbWFpbiBNYXBwZXIiCisrCXNlbGVjdCBRQ09NX1FNSV9IRUxQRVJTCisrCWRlcGVuZHMgb24g TkVUICYmIFFSVFIKKysJZGVmYXVsdCBRQ09NX1JQUk9DX0NPTU1PTgorKwloZWxwCisrCSAgVGhl IFByb3RlY3Rpb24gRG9tYWluIE1hcHBlciBtYXBzIHJlZ2lzdGVyZWQgc2VydmljZXMgdG8gdGhl IGRvbWFpbnMKKysJICBhbmQgaW5zdGFuY2VzIGhhbmRsZWQgYnkgdGhlIHJlbW90ZSBEU1BzLiBU aGlzIGlzIGEga2VybmVsLXNwYWNlCisrCSAgaW1wbGVtZW50YXRpb24gb2YgdGhlIHNlcnZpY2Uu IEl0IGlzIGEgc2ltcGxlciBhbHRlcm5hdGl2ZSB0byB0aGUKKysJICB1c2Vyc3BhY2UgZGFlbW9u LgorKworIGNvbmZpZyBRQ09NX1BEUl9IRUxQRVJTCisgCXRyaXN0YXRlCisgCXNlbGVjdCBRQ09N X1FNSV9IRUxQRVJTCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZSBiL2Ry aXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKK2luZGV4IDMxMTBhYzMyODhiYy4uZDM1NjBmODYxMDg1 IDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQorKysrIGIvZHJpdmVycy9z b2MvcWNvbS9NYWtlZmlsZQorQEAgLTcsNiArNyw3IEBAIG9iai0kKENPTkZJR19RQ09NX0NPTU1B TkRfREIpICs9IGNtZC1kYi5vCisgb2JqLSQoQ09ORklHX1FDT01fR1NCSSkJKz0JcWNvbV9nc2Jp Lm8KKyBvYmotJChDT05GSUdfUUNPTV9NRFRfTE9BREVSKQkrPSBtZHRfbG9hZGVyLm8KKyBvYmot JChDT05GSUdfUUNPTV9PQ01FTSkJKz0gb2NtZW0ubworK29iai0kKENPTkZJR19RQ09NX1BEX01B UFBFUikJKz0gcWNvbV9wZF9tYXBwZXIubworIG9iai0kKENPTkZJR19RQ09NX1BEUl9IRUxQRVJT KQkrPSBwZHJfaW50ZXJmYWNlLm8KKyBvYmotJChDT05GSUdfUUNPTV9QRFJfTVNHKQkrPSBxY29t X3Bkcl9tc2cubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNfR0xJTkspCSs9IHBtaWNfZ2xpbmsu bworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmggYi9kcml2ZXJz L3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oCitpbmRleCA3ZTViYjVhOTUyNzUuLjhkMTdmN2ZiNzll NyAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKKysrKyBiL2Ry aXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKK0BAIC0xMyw2ICsxMyw4IEBACisgI2RlZmlu ZSBTRVJWUkVHX1NFVF9BQ0tfUkVRCQkJCTB4MjMKKyAjZGVmaW5lIFNFUlZSRUdfUkVTVEFSVF9Q RF9SRVEJCQkJMHgyNAorIAorKyNkZWZpbmUgU0VSVlJFR19MT0NfUEZSX1JFUQkJCQkweDI0Cisr CisgI2RlZmluZSBTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSAkJCTMyCisgI2RlZmluZSBTRVJW UkVHX1JFU1RBUlRfUERfUkVRX01BWF9MRU4JCQk2NworICNkZWZpbmUgU0VSVlJFR19SRUdJU1RF Ul9MSVNURU5FUl9SRVFfTEVOCQk3MQorQEAgLTIwLDYgKzIyLDcgQEAKKyAjZGVmaW5lIFNFUlZS RUdfR0VUX0RPTUFJTl9MSVNUX1JFUV9NQVhfTEVOCQk3NAorICNkZWZpbmUgU0VSVlJFR19TVEFU RV9VUERBVEVEX0lORF9NQVhfTEVOCQk3OQorICNkZWZpbmUgU0VSVlJFR19HRVRfRE9NQUlOX0xJ U1RfUkVTUF9NQVhfTEVOCQkyMzg5CisrI2RlZmluZSBTRVJWUkVHX0xPQ19QRlJfUkVTUF9NQVhf TEVOCQkJMTAKKyAKKyBzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSB7CisgCWNoYXIgbmFt ZVtTRVJWUkVHX05BTUVfTEVOR1RIICsgMV07CitAQCAtNzksNiArODIsMTUgQEAgc3RydWN0IHNl cnZyZWdfc2V0X2Fja19yZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNw OworIH07CisgCisrc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEgeworKwljaGFyIHNlcnZpY2Vb U0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOworKwljaGFyIHJlYXNvblsyNTddOworK307CisrCisr c3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXNwIHsKKysJc3RydWN0IHFtaV9yZXNwb25zZV90eXBl X3YwMSByc3A7CisrfTsKKysKKyBleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2Vy dnJlZ19sb2NhdGlvbl9lbnRyeV9laVtdOworIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1f aW5mbyBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXFfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcF9laVtdOworQEAg LTg5LDUgKzEwMSw3IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVn X3Jlc3RhcnRfcGRfcmVzcF9laVtdOworIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5m byBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpW107CisgZXh0ZXJuIGNvbnN0IHN0cnVjdCBx bWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXFfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXTsKKytleHRlcm4gY29u c3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3JlcV9laVtdOworK2V4dGVy biBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY19wZnJfcmVzcF9laVtdOwor IAorICNlbmRpZgorZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZF9tYXBwZXIu YyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZF9tYXBwZXIuYworbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAwMC4uZWNiNjRmMDY1MjdmCistLS0gL2Rldi9udWxsCisrKysg Yi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRfbWFwcGVyLmMKK0BAIC0wLDAgKzEsNjc2IEBACisr Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorKy8qCisrICogUXVhbGNv bW0gUHJvdGVjdGlvbiBEb21haW4gbWFwcGVyCisrICoKKysgKiBDb3B5cmlnaHQgKGMpIDIwMjMg TGluYXJvIEx0ZC4KKysgKi8KKysKKysjaW5jbHVkZSA8bGludXgvYXV4aWxpYXJ5X2J1cy5oPgor KyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKysjaW5jbHVkZSA8bGludXgvbW9kX2RldmljZXRh YmxlLmg+CisrI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorKyNpbmNsdWRlIDxsaW51eC9vZi5o PgorKyNpbmNsdWRlIDxsaW51eC9yZWZjb3VudC5oPgorKyNpbmNsdWRlIDxsaW51eC9zb2MvcWNv bS9xbWkuaD4KKysKKysjaW5jbHVkZSAicGRyX2ludGVybmFsLmgiCisrCisrI2RlZmluZSBTRVJW UkVHX1FNSV9WRVJTSU9OIDB4MTAxCisrI2RlZmluZSBTRVJWUkVHX1FNSV9JTlNUQU5DRSAwCisr CisrI2RlZmluZSBUTVNfU0VSVlJFR19TRVJWSUNFICJ0bXMvc2VydnJlZyIKKysKKytzdHJ1Y3Qg cWNvbV9wZG1fZG9tYWluX2RhdGEgeworKwljb25zdCBjaGFyICpkb21haW47CisrCXUzMiBpbnN0 YW5jZV9pZDsKKysJLyogTlVMTC10ZXJtaW5hdGVkIGFycmF5ICovCisrCWNvbnN0IGNoYXIgKiBz ZXJ2aWNlc1tdOworK307CisrCisrc3RydWN0IHFjb21fcGRtX2RvbWFpbiB7CisrCXN0cnVjdCBs aXN0X2hlYWQgbGlzdDsKKysJY29uc3QgY2hhciAqbmFtZTsKKysJdTMyIGluc3RhbmNlX2lkOwor K307CisrCisrc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgeworKwlzdHJ1Y3QgbGlzdF9oZWFkIGxp c3Q7CisrCXN0cnVjdCBsaXN0X2hlYWQgZG9tYWluczsKKysJY29uc3QgY2hhciAqbmFtZTsKKyt9 OworKworK3N0cnVjdCBxY29tX3BkbV9kYXRhIHsKKysJcmVmY291bnRfdCByZWZjbnQ7CisrCXN0 cnVjdCBxbWlfaGFuZGxlIGhhbmRsZTsKKysJc3RydWN0IGxpc3RfaGVhZCBzZXJ2aWNlczsKKyt9 OworKworK3N0YXRpYyBERUZJTkVfTVVURVgocWNvbV9wZG1fbXV0ZXgpOyAvKiBwcm90ZWN0cyBf X3Fjb21fcGRtX2RhdGEgKi8KKytzdGF0aWMgc3RydWN0IHFjb21fcGRtX2RhdGEgKl9fcWNvbV9w ZG1fZGF0YTsKKysKKytzdGF0aWMgc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgKnFjb21fcGRtX2Zp bmQoc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEsCisrCQkJCQkgICAgICBjb25zdCBjaGFyICpu YW1lKQorK3sKKysJc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgKnNlcnZpY2U7CisrCisrCWxpc3Rf Zm9yX2VhY2hfZW50cnkoc2VydmljZSwgJmRhdGEtPnNlcnZpY2VzLCBsaXN0KSB7CisrCQlpZiAo IXN0cmNtcChzZXJ2aWNlLT5uYW1lLCBuYW1lKSkKKysJCQlyZXR1cm4gc2VydmljZTsKKysJfQor KworKwlyZXR1cm4gTlVMTDsKKyt9CisrCisrc3RhdGljIGludCBxY29tX3BkbV9hZGRfc2Vydmlj ZV9kb21haW4oc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEsCisrCQkJCSAgICAgICBjb25zdCBj aGFyICpzZXJ2aWNlX25hbWUsCisrCQkJCSAgICAgICBjb25zdCBjaGFyICpkb21haW5fbmFtZSwK KysJCQkJICAgICAgIHUzMiBpbnN0YW5jZV9pZCkKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2 aWNlICpzZXJ2aWNlOworKwlzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluICpkb21haW47CisrCisrCXNl cnZpY2UgPSBxY29tX3BkbV9maW5kKGRhdGEsIHNlcnZpY2VfbmFtZSk7CisrCWlmIChzZXJ2aWNl KSB7CisrCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGRvbWFpbiwgJnNlcnZpY2UtPmRvbWFpbnMsIGxp c3QpIHsKKysJCQlpZiAoIXN0cmNtcChkb21haW4tPm5hbWUsIGRvbWFpbl9uYW1lKSkKKysJCQkJ cmV0dXJuIC1FQlVTWTsKKysJCX0KKysJfSBlbHNlIHsKKysJCXNlcnZpY2UgPSBremFsbG9jKHNp emVvZigqc2VydmljZSksIEdGUF9LRVJORUwpOworKwkJaWYgKCFzZXJ2aWNlKQorKwkJCXJldHVy biAtRU5PTUVNOworKworKwkJSU5JVF9MSVNUX0hFQUQoJnNlcnZpY2UtPmRvbWFpbnMpOworKwkJ c2VydmljZS0+bmFtZSA9IHNlcnZpY2VfbmFtZTsKKysKKysJCWxpc3RfYWRkX3RhaWwoJnNlcnZp Y2UtPmxpc3QsICZkYXRhLT5zZXJ2aWNlcyk7CisrCX0KKysKKysJZG9tYWluID0ga3phbGxvYyhz aXplb2YoKmRvbWFpbiksIEdGUF9LRVJORUwpOworKwlpZiAoIWRvbWFpbikgeworKwkJaWYgKGxp c3RfZW1wdHkoJnNlcnZpY2UtPmRvbWFpbnMpKSB7CisrCQkJbGlzdF9kZWwoJnNlcnZpY2UtPmxp c3QpOworKwkJCWtmcmVlKHNlcnZpY2UpOworKwkJfQorKworKwkJcmV0dXJuIC1FTk9NRU07Cisr CX0KKysKKysJZG9tYWluLT5uYW1lID0gZG9tYWluX25hbWU7CisrCWRvbWFpbi0+aW5zdGFuY2Vf aWQgPSBpbnN0YW5jZV9pZDsKKysJbGlzdF9hZGRfdGFpbCgmZG9tYWluLT5saXN0LCAmc2Vydmlj ZS0+ZG9tYWlucyk7CisrCisrCXJldHVybiAwOworK30KKysKKytzdGF0aWMgaW50IHFjb21fcGRt X2FkZF9kb21haW4oc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEsCisrCQkJICAgICAgIGNvbnN0 IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqZG9tYWluKQorK3sKKysJaW50IHJldDsKKysJ aW50IGk7CisrCisrCXJldCA9IHFjb21fcGRtX2FkZF9zZXJ2aWNlX2RvbWFpbihkYXRhLAorKwkJ CQkJICBUTVNfU0VSVlJFR19TRVJWSUNFLAorKwkJCQkJICBkb21haW4tPmRvbWFpbiwKKysJCQkJ CSAgZG9tYWluLT5pbnN0YW5jZV9pZCk7CisrCWlmIChyZXQpCisrCQlyZXR1cm4gcmV0OworKwor Kwlmb3IgKGkgPSAwOyBkb21haW4tPnNlcnZpY2VzW2ldOyBpKyspIHsKKysJCXJldCA9IHFjb21f cGRtX2FkZF9zZXJ2aWNlX2RvbWFpbihkYXRhLAorKwkJCQkJCSAgZG9tYWluLT5zZXJ2aWNlc1tp XSwKKysJCQkJCQkgIGRvbWFpbi0+ZG9tYWluLAorKwkJCQkJCSAgZG9tYWluLT5pbnN0YW5jZV9p ZCk7CisrCQlpZiAocmV0KQorKwkJCXJldHVybiByZXQ7CisrCX0KKysKKysJcmV0dXJuIDA7Cisr CisrfQorKworK3N0YXRpYyB2b2lkIHFjb21fcGRtX2ZyZWVfZG9tYWlucyhzdHJ1Y3QgcWNvbV9w ZG1fZGF0YSAqZGF0YSkKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpzZXJ2aWNlLCAq dHNlcnZpY2U7CisrCXN0cnVjdCBxY29tX3BkbV9kb21haW4gKmRvbWFpbiwgKnRkb21haW47Cisr CisrCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShzZXJ2aWNlLCB0c2VydmljZSwgJmRhdGEtPnNl cnZpY2VzLCBsaXN0KSB7CisrCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZG9tYWluLCB0ZG9t YWluLCAmc2VydmljZS0+ZG9tYWlucywgbGlzdCkgeworKwkJCWxpc3RfZGVsKCZkb21haW4tPmxp c3QpOworKwkJCWtmcmVlKGRvbWFpbik7CisrCQl9CisrCisrCQlsaXN0X2RlbCgmc2VydmljZS0+ bGlzdCk7CisrCQlrZnJlZShzZXJ2aWNlKTsKKysJfQorK30KKysKKytzdGF0aWMgdm9pZCBxY29t X3BkbV9nZXRfZG9tYWluX2xpc3Qoc3RydWN0IHFtaV9oYW5kbGUgKnFtaSwKKysJCQkJICAgICBz dHJ1Y3Qgc29ja2FkZHJfcXJ0ciAqc3EsCisrCQkJCSAgICAgc3RydWN0IHFtaV90eG4gKnR4biwK KysJCQkJICAgICBjb25zdCB2b2lkICpkZWNvZGVkKQorK3sKKysJc3RydWN0IHFjb21fcGRtX2Rh dGEgKmRhdGEgPSBjb250YWluZXJfb2YocW1pLCBzdHJ1Y3QgcWNvbV9wZG1fZGF0YSwgaGFuZGxl KTsKKysJY29uc3Qgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSAqcmVxID0gZGVj b2RlZDsKKysJc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgKnJzcDsKKysJc3Ry dWN0IHFjb21fcGRtX3NlcnZpY2UgKnNlcnZpY2U7CisrCXUzMiBvZmZzZXQ7CisrCWludCByZXQ7 CisrCisrCXJzcCA9IGt6YWxsb2Moc2l6ZW9mKCpyc3ApLCBHRlBfS0VSTkVMKTsKKysJaWYgKCFy c3ApCisrCQlyZXR1cm47CisrCisrCW9mZnNldCA9IHJlcS0+ZG9tYWluX29mZnNldF92YWxpZCA/ IHJlcS0+ZG9tYWluX29mZnNldCA6IDA7CisrCisrCXJzcC0+cmVzcC5yZXN1bHQgPSBRTUlfUkVT VUxUX1NVQ0NFU1NfVjAxOworKwlyc3AtPnJlc3AuZXJyb3IgPSBRTUlfRVJSX05PTkVfVjAxOwor KworKwlyc3AtPmRiX3Jldl9jb3VudF92YWxpZCA9IHRydWU7CisrCXJzcC0+ZGJfcmV2X2NvdW50 ID0gMTsKKysKKysJcnNwLT50b3RhbF9kb21haW5zX3ZhbGlkID0gdHJ1ZTsKKysJcnNwLT50b3Rh bF9kb21haW5zID0gMDsKKysKKysJbXV0ZXhfbG9jaygmcWNvbV9wZG1fbXV0ZXgpOworKworKwlz ZXJ2aWNlID0gcWNvbV9wZG1fZmluZChkYXRhLCByZXEtPnNlcnZpY2VfbmFtZSk7CisrCWlmIChz ZXJ2aWNlKSB7CisrCQlzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluICpkb21haW47CisrCisrCQlyc3At PmRvbWFpbl9saXN0X3ZhbGlkID0gdHJ1ZTsKKysJCXJzcC0+ZG9tYWluX2xpc3RfbGVuID0gMDsK KysKKysJCWxpc3RfZm9yX2VhY2hfZW50cnkoZG9tYWluLCAmc2VydmljZS0+ZG9tYWlucywgbGlz dCkgeworKwkJCXUzMiBpID0gcnNwLT50b3RhbF9kb21haW5zKys7CisrCisrCQkJaWYgKGkgPj0g b2Zmc2V0ICYmIGkgPCBTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSCkgeworKwkJCQl1MzIgaiA9 IHJzcC0+ZG9tYWluX2xpc3RfbGVuKys7CisrCisrCQkJCXN0cnNjcHkocnNwLT5kb21haW5fbGlz dFtqXS5uYW1lLCBkb21haW4tPm5hbWUsCisrCQkJCQlzaXplb2YocnNwLT5kb21haW5fbGlzdFtp XS5uYW1lKSk7CisrCQkJCXJzcC0+ZG9tYWluX2xpc3Rbal0uaW5zdGFuY2UgPSBkb21haW4tPmlu c3RhbmNlX2lkOworKworKwkJCQlwcl9kZWJ1ZygiUERNOiBmb3VuZCAlcyAvICVkXG4iLCBkb21h aW4tPm5hbWUsCisrCQkJCQkgZG9tYWluLT5pbnN0YW5jZV9pZCk7CisrCQkJfQorKwkJfQorKwl9 CisrCisrCXByX2RlYnVnKCJQRE06IHNlcnZpY2UgJyVzJyBvZmZzZXQgJWQgcmV0dXJuaW5nICVk IGRvbWFpbnMgKG9mICVkKVxuIiwgcmVxLT5zZXJ2aWNlX25hbWUsCisrCQkgcmVxLT5kb21haW5f b2Zmc2V0X3ZhbGlkID8gcmVxLT5kb21haW5fb2Zmc2V0IDogLTEsIHJzcC0+ZG9tYWluX2xpc3Rf bGVuLCByc3AtPnRvdGFsX2RvbWFpbnMpOworKworKwlyZXQgPSBxbWlfc2VuZF9yZXNwb25zZShx bWksIHNxLCB0eG4sIFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUSwKKysJCQkJU0VSVlJFR19H RVRfRE9NQUlOX0xJU1RfUkVTUF9NQVhfTEVOLAorKwkJCQlzZXJ2cmVnX2dldF9kb21haW5fbGlz dF9yZXNwX2VpLCByc3ApOworKwlpZiAocmV0KQorKwkJcHJfZXJyKCJFcnJvciBzZW5kaW5nIHNl cnZyZWcgcmVzcG9uc2U6ICVkXG4iLCByZXQpOworKworKwltdXRleF91bmxvY2soJnFjb21fcGRt X211dGV4KTsKKysKKysJa2ZyZWUocnNwKTsKKyt9CisrCisrc3RhdGljIHZvaWQgcWNvbV9wZG1f cGZyKHN0cnVjdCBxbWlfaGFuZGxlICpxbWksCisrCQkJIHN0cnVjdCBzb2NrYWRkcl9xcnRyICpz cSwKKysJCQkgc3RydWN0IHFtaV90eG4gKnR4biwKKysJCQkgY29uc3Qgdm9pZCAqZGVjb2RlZCkK Kyt7CisrCWNvbnN0IHN0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVxICpyZXEgPSBkZWNvZGVkOwor KwlzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jlc3AgcnNwID0ge307CisrCWludCByZXQ7CisrCisr CXByX3dhcm5fcmF0ZWxpbWl0ZWQoIlBETTogc2VydmljZSAnJXMnIGNyYXNoOiAnJXMnXG4iLCBy ZXEtPnNlcnZpY2UsIHJlcS0+cmVhc29uKTsKKysKKysJcnNwLnJzcC5yZXN1bHQgPSBRTUlfUkVT VUxUX1NVQ0NFU1NfVjAxOworKwlyc3AucnNwLmVycm9yID0gUU1JX0VSUl9OT05FX1YwMTsKKysK KysJcmV0ID0gcW1pX3NlbmRfcmVzcG9uc2UocW1pLCBzcSwgdHhuLCBTRVJWUkVHX0xPQ19QRlJf UkVRLAorKwkJCQlTRVJWUkVHX0xPQ19QRlJfUkVTUF9NQVhfTEVOLAorKwkJCQlzZXJ2cmVnX2xv Y19wZnJfcmVzcF9laSwgJnJzcCk7CisrCWlmIChyZXQpCisrCQlwcl9lcnIoIkVycm9yIHNlbmRp bmcgc2VydnJlZyByZXNwb25zZTogJWRcbiIsIHJldCk7CisrfQorKworK3N0YXRpYyBjb25zdCBz dHJ1Y3QgcW1pX21zZ19oYW5kbGVyIHFjb21fcGRtX21zZ19oYW5kbGVyc1tdID0geworKwl7Cisr CQkudHlwZSA9IFFNSV9SRVFVRVNULAorKwkJLm1zZ19pZCA9IFNFUlZSRUdfR0VUX0RPTUFJTl9M SVNUX1JFUSwKKysJCS5laSA9IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcV9laSwKKysJCS5k ZWNvZGVkX3NpemUgPSBzaXplb2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSks CisrCQkuZm4gPSBxY29tX3BkbV9nZXRfZG9tYWluX2xpc3QsCisrCX0sCisrCXsKKysJCS50eXBl ID0gUU1JX1JFUVVFU1QsCisrCQkubXNnX2lkID0gU0VSVlJFR19MT0NfUEZSX1JFUSwKKysJCS5l aSA9IHNlcnZyZWdfbG9jX3Bmcl9yZXFfZWksCisrCQkuZGVjb2RlZF9zaXplID0gc2l6ZW9mKHN0 cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVxKSwKKysJCS5mbiA9IHFjb21fcGRtX3BmciwKKysJfSwK KysJeyB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0 YSBhZHNwX2F1ZGlvX3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL2F1ZGlvX3BkIiwKKysJ Lmluc3RhbmNlX2lkID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsKKysJCSJhdnMvYXVkaW8iLAorKwkJ TlVMTCwKKysJfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWlu X2RhdGEgYWRzcF9jaGFyZ2VyX3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL2NoYXJnZXJf cGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsK KysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGFkc3Bfcm9vdF9w ZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRzcC9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0g NzQsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVj dCBxY29tX3BkbV9kb21haW5fZGF0YSBhZHNwX3Jvb3RfcGRfcGRyID0geworKwkuZG9tYWluID0g Im1zbS9hZHNwL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNlcnZpY2VzID0g eworKwkJInRtcy9wZHJfZW5hYmxlZCIsCisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGlj IGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBhZHNwX3NlbnNvcl9wZCA9IHsKKysJ LmRvbWFpbiA9ICJtc20vYWRzcC9zZW5zb3JfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJ LnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21f cGRtX2RvbWFpbl9kYXRhIG1zbTg5OTZfYWRzcF9hdWRpb19wZCA9IHsKKysJLmRvbWFpbiA9ICJt c20vYWRzcC9hdWRpb19wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDQsCisrCS5zZXJ2aWNlcyA9IHsg TlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0 YSBtc204OTk2X2Fkc3Bfcm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRzcC9yb290X3Bk IiwKKysJLmluc3RhbmNlX2lkID0gNCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGNkc3Bfcm9vdF9wZCA9 IHsKKysJLmRvbWFpbiA9ICJtc20vY2RzcC9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzYs CisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBx Y29tX3BkbV9kb21haW5fZGF0YSBzbHBpX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL3Ns cGkvcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDkwLAorKwkuc2VydmljZXMgPSB7IE5VTEwg fSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgc2xw aV9zZW5zb3JfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL3NscGkvc2Vuc29yX3BkIiwKKysJLmlu c3RhbmNlX2lkID0gOTAsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGlj IGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtcHNzX3Jvb3RfcGQgPSB7CisrCS5k b21haW4gPSAibXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAsCisrCS5z ZXJ2aWNlcyA9IHsKKysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0 IHFjb21fcGRtX2RvbWFpbl9kYXRhIG1wc3Nfcm9vdF9wZF9ncHMgPSB7CisrCS5kb21haW4gPSAi bXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAsCisrCS5zZXJ2aWNlcyA9 IHsKKysJCSJncHMvZ3BzX3NlcnZpY2UiLAorKwkJTlVMTCwKKysJfSwKKyt9OworKworK3N0YXRp YyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXBzc19yb290X3BkX2dwc19wZHIg PSB7CisrCS5kb21haW4gPSAibXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAx ODAsCisrCS5zZXJ2aWNlcyA9IHsKKysJCSJncHMvZ3BzX3NlcnZpY2UiLAorKwkJInRtcy9wZHJf ZW5hYmxlZCIsCisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBx Y29tX3BkbV9kb21haW5fZGF0YSBtc204OTk2X21wc3Nfcm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9 ICJtc20vbW9kZW0vcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDEwMCwKKysJLnNlcnZpY2Vz ID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFp bl9kYXRhIG1wc3Nfd2xhbl9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9kZW0vd2xhbl9wZCIs CisrCS5pbnN0YW5jZV9pZCA9IDE4MCwKKysJLnNlcnZpY2VzID0geworKwkJImtlcm5lbC9lbGZf bG9hZGVyIiwKKysJCSJ3bGFuL2Z3IiwKKysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMg Y29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICptc204OTk2X2RvbWFpbnNbXSA9IHsK KysJJm1zbTg5OTZfYWRzcF9hdWRpb19wZCwKKysJJm1zbTg5OTZfYWRzcF9yb290X3BkLAorKwkm bXNtODk5Nl9tcHNzX3Jvb3RfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3Ry dWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICptc204OTk4X2RvbWFpbnNbXSA9IHsKKysJJm1wc3Nf cm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnFjbTIyOTBfZG9tYWluc1tdID0geworKwkm YWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkm bXBzc19yb290X3BkX2dwcywKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnFjczQwNF9kb21haW5zW10g PSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9zZW5zb3Jf cGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQs CisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9k YXRhICpzYzcxODBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9v dF9wZF9wZHIsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHNfcGRyLAor KwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBx Y29tX3BkbV9kb21haW5fZGF0YSAqc2M3MjgwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9f cGQsCisrCSZhZHNwX3Jvb3RfcGRfcGRyLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmYWRzcF9z ZW5zb3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzX3BkciwKKysJ TlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEg KnNjODE4MHhfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9w ZCwKKysJJmFkc3BfY2hhcmdlcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9w ZF9ncHMsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qg c3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzYzgyODB4cF9kb21haW5zW10gPSB7CisrCSZh ZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3BfY2hhcmdlcl9wZCwK KysJJmNkc3Bfcm9vdF9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg cWNvbV9wZG1fZG9tYWluX2RhdGEgKnNkbTY2MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlv X3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZjZHNwX3Jvb3Rf cGQsCisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzZG02NzBfZG9tYWlu c1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmNkc3Bfcm9v dF9wZCwKKysJJm1wc3Nfcm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9Owor KworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNkbTg0NV9kb21h aW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmY2RzcF9y b290X3BkLAorKwkmbXBzc19yb290X3BkLAorKwkmbXBzc193bGFuX3BkLAorKwkmc2xwaV9yb290 X3BkLAorKwkmc2xwaV9zZW5zb3JfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qg c3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzbTYxMTVfZG9tYWluc1tdID0geworKwkmYWRz cF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2Rz cF9yb290X3BkLAorKwkmbXBzc19yb290X3BkX2dwcywKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVM TCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNt NjM1MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAor KwkmYWRzcF9zZW5zb3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisr CU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRh ICpzbTgxNTBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9w ZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZtcHNzX3dsYW5f cGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFp bl9kYXRhICpzbTgyNTBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bf cm9vdF9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJnNscGlfcm9vdF9wZCwKKysJJnNscGlfc2Vu c29yX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9k b21haW5fZGF0YSAqc204MzUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZh ZHNwX3Jvb3RfcGRfcGRyLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmY2RzcF9yb290X3BkLAor KwkmbXBzc19yb290X3BkX2dwcywKKysJJnNscGlfcm9vdF9wZCwKKysJJnNscGlfc2Vuc29yX3Bk LAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5f ZGF0YSAqc204NTUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jv b3RfcGQsCisrCSZhZHNwX2NoYXJnZXJfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJmNkc3Bf cm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMg Y29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBxY29tX3BkbV9kb21haW5zW10gPSB7CisrCXsgLmNv bXBhdGlibGUgPSAicWNvbSxhcHE4MDY0IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7IC5jb21wYXRp YmxlID0gInFjb20sYXBxODA3NCIsIC5kYXRhID0gTlVMTCwgfSwKKysJeyAuY29tcGF0aWJsZSA9 ICJxY29tLGFwcTgwODQiLCAuZGF0YSA9IE5VTEwsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNv bSxhcHE4MDk2IiwgLmRhdGEgPSBtc204OTk2X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUg PSAicWNvbSxtc204MjI2IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFj b20sbXNtODk3NCIsIC5kYXRhID0gTlVMTCwgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLG1z bTg5OTYiLCAuZGF0YSA9IG1zbTg5OTZfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJx Y29tLG1zbTg5OTgiLCAuZGF0YSA9IG1zbTg5OThfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJs ZSA9ICJxY29tLHFjbTIyOTAiLCAuZGF0YSA9IHFjbTIyOTBfZG9tYWlucywgfSwKKysJeyAuY29t cGF0aWJsZSA9ICJxY29tLHFjczQwNCIsIC5kYXRhID0gcWNzNDA0X2RvbWFpbnMsIH0sCisrCXsg LmNvbXBhdGlibGUgPSAicWNvbSxzYzcxODAiLCAuZGF0YSA9IHNjNzE4MF9kb21haW5zLCB9LAor Kwl7IC5jb21wYXRpYmxlID0gInFjb20sc2M3MjgwIiwgLmRhdGEgPSBzYzcyODBfZG9tYWlucywg fSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNjODE4MHgiLCAuZGF0YSA9IHNjODE4MHhfZG9t YWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNjODI4MHhwIiwgLmRhdGEgPSBzYzgy ODB4cF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2RhNjYwIiwgLmRhdGEg PSBzZG02NjBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNkbTY2MCIsIC5k YXRhID0gc2RtNjYwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzZG02NzAi LCAuZGF0YSA9IHNkbTY3MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2Rt ODQ1IiwgLmRhdGEgPSBzZG04NDVfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29t LHNtNDI1MCIsIC5kYXRhID0gc202MTE1X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAi cWNvbSxzbTYxMTUiLCAuZGF0YSA9IHNtNjExNV9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxl ID0gInFjb20sc202MzUwIiwgLmRhdGEgPSBzbTYzNTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0 aWJsZSA9ICJxY29tLHNtODE1MCIsIC5kYXRhID0gc204MTUwX2RvbWFpbnMsIH0sCisrCXsgLmNv bXBhdGlibGUgPSAicWNvbSxzbTgyNTAiLCAuZGF0YSA9IHNtODI1MF9kb21haW5zLCB9LAorKwl7 IC5jb21wYXRpYmxlID0gInFjb20sc204MzUwIiwgLmRhdGEgPSBzbTgzNTBfZG9tYWlucywgfSwK KysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODQ1MCIsIC5kYXRhID0gc204MzUwX2RvbWFpbnMs IH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTg1NTAiLCAuZGF0YSA9IHNtODU1MF9kb21h aW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204NjUwIiwgLmRhdGEgPSBzbTg1NTBf ZG9tYWlucywgfSwKKysJe30sCisrfTsKKysKKytzdGF0aWMgdm9pZCBxY29tX3BkbV9zdG9wKHN0 cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhKQorK3sKKysJcWNvbV9wZG1fZnJlZV9kb21haW5zKGRh dGEpOworKworKwkvKiBUaGUgc2VydmVyIGlzIHJlbW92ZWQgYXV0b21hdGljYWxseSAqLworKwlx bWlfaGFuZGxlX3JlbGVhc2UoJmRhdGEtPmhhbmRsZSk7CisrCisrCWtmcmVlKGRhdGEpOworK30K KysKKytzdGF0aWMgc3RydWN0IHFjb21fcGRtX2RhdGEgKnFjb21fcGRtX3N0YXJ0KHZvaWQpCisr eworKwljb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKiBjb25zdCAqZG9tYWluczsK KysJY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCAqbWF0Y2g7CisrCXN0cnVjdCBxY29tX3BkbV9k YXRhICpkYXRhOworKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKnJvb3Q7CisrCWludCByZXQsIGk7Cisr CisrCXJvb3QgPSBvZl9maW5kX25vZGVfYnlfcGF0aCgiLyIpOworKwlpZiAoIXJvb3QpCisrCQly ZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKKysKKysJbWF0Y2ggPSBvZl9tYXRjaF9ub2RlKHFjb21f cGRtX2RvbWFpbnMsIHJvb3QpOworKwlvZl9ub2RlX3B1dChyb290KTsKKysJaWYgKCFtYXRjaCkg eworKwkJcHJfbm90aWNlKCJQRE06IG5vIHN1cHBvcnQgZm9yIHRoZSBwbGF0Zm9ybSwgdXNlcnNw YWNlIGRhZW1vbiBtaWdodCBiZSByZXF1aXJlZC5cbiIpOworKwkJcmV0dXJuIEVSUl9QVFIoLUVO T0RFVik7CisrCX0KKysKKysJZG9tYWlucyA9IG1hdGNoLT5kYXRhOworKwlpZiAoIWRvbWFpbnMp IHsKKysJCXByX2RlYnVnKCJQRE06IG5vIGRvbWFpbnNcbiIpOworKwkJcmV0dXJuIEVSUl9QVFIo LUVOT0RFVik7CisrCX0KKysKKysJZGF0YSA9IGt6YWxsb2Moc2l6ZW9mKCpkYXRhKSwgR0ZQX0tF Uk5FTCk7CisrCWlmICghZGF0YSkKKysJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworKworKwlJ TklUX0xJU1RfSEVBRCgmZGF0YS0+c2VydmljZXMpOworKworKwlyZXQgPSBxbWlfaGFuZGxlX2lu aXQoJmRhdGEtPmhhbmRsZSwgU0VSVlJFR19HRVRfRE9NQUlOX0xJU1RfUkVRX01BWF9MRU4sCisr CQkJICAgICAgTlVMTCwgcWNvbV9wZG1fbXNnX2hhbmRsZXJzKTsKKysJaWYgKHJldCkgeworKwkJ a2ZyZWUoZGF0YSk7CisrCQlyZXR1cm4gRVJSX1BUUihyZXQpOworKwl9CisrCisrCXJlZmNvdW50 X3NldCgmZGF0YS0+cmVmY250LCAxKTsKKysKKysJZm9yIChpID0gMDsgZG9tYWluc1tpXTsgaSsr KSB7CisrCQlyZXQgPSBxY29tX3BkbV9hZGRfZG9tYWluKGRhdGEsIGRvbWFpbnNbaV0pOworKwkJ aWYgKHJldCkKKysJCQlnb3RvIGVycl9zdG9wOworKwl9CisrCisrCXJldCA9IHFtaV9hZGRfc2Vy dmVyKCZkYXRhLT5oYW5kbGUsIFNFUlZSRUdfTE9DQVRPUl9TRVJWSUNFLAorKwkJCSAgICAgU0VS VlJFR19RTUlfVkVSU0lPTiwgU0VSVlJFR19RTUlfSU5TVEFOQ0UpOworKwlpZiAocmV0KSB7Cisr CQlwcl9lcnIoIlBETTogZXJyb3IgYWRkaW5nIHNlcnZlciAlZFxuIiwgcmV0KTsKKysJCWdvdG8g ZXJyX3N0b3A7CisrCX0KKysKKysJcmV0dXJuIGRhdGE7CisrCisrZXJyX3N0b3A6CisrCXFjb21f cGRtX3N0b3AoZGF0YSk7CisrCisrCXJldHVybiBFUlJfUFRSKHJldCk7CisrfQorKworK3N0YXRp YyBpbnQgcWNvbV9wZG1fcHJvYmUoc3RydWN0IGF1eGlsaWFyeV9kZXZpY2UgKmF1eGRldiwKKysJ CQkgIGNvbnN0IHN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlX2lkICppZCkKKysKKyt7CisrCXN0cnVj dCBxY29tX3BkbV9kYXRhICpkYXRhOworKwlpbnQgcmV0ID0gMDsKKysKKysJbXV0ZXhfbG9jaygm cWNvbV9wZG1fbXV0ZXgpOworKworKwlpZiAoIV9fcWNvbV9wZG1fZGF0YSkgeworKwkJZGF0YSA9 IHFjb21fcGRtX3N0YXJ0KCk7CisrCisrCQlpZiAoSVNfRVJSKGRhdGEpKQorKwkJCXJldCA9IFBU Ul9FUlIoZGF0YSk7CisrCQllbHNlCisrCQkJX19xY29tX3BkbV9kYXRhID0gZGF0YTsKKysJfQor KworKwlhdXhpbGlhcnlfc2V0X2RydmRhdGEoYXV4ZGV2LCBfX3Fjb21fcGRtX2RhdGEpOworKwor KwltdXRleF91bmxvY2soJnFjb21fcGRtX211dGV4KTsKKysKKysJcmV0dXJuIHJldDsKKyt9Cisr Cisrc3RhdGljIHZvaWQgcWNvbV9wZG1fcmVtb3ZlKHN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICph dXhkZXYpCisreworKwlzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YTsKKysKKysJZGF0YSA9IGF1 eGlsaWFyeV9nZXRfZHJ2ZGF0YShhdXhkZXYpOworKwlpZiAoIWRhdGEpCisrCQlyZXR1cm47Cisr CisrCWlmIChyZWZjb3VudF9kZWNfYW5kX211dGV4X2xvY2soJmRhdGEtPnJlZmNudCwgJnFjb21f cGRtX211dGV4KSkgeworKwkJX19xY29tX3BkbV9kYXRhID0gTlVMTDsKKysJCXFjb21fcGRtX3N0 b3AoZGF0YSk7CisrCQltdXRleF91bmxvY2soJnFjb21fcGRtX211dGV4KTsKKysJfQorK30KKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IGF1eGlsaWFyeV9kZXZpY2VfaWQgcWNvbV9wZG1fdGFibGVb XSA9IHsKKysJeyAubmFtZSA9ICJxY29tX2NvbW1vbi5wZC1tYXBwZXIiIH0sCisrCXt9LAorK307 CisrTU9EVUxFX0RFVklDRV9UQUJMRShhdXhpbGlhcnksIHFjb21fcGRtX3RhYmxlKTsKKysKKytz dGF0aWMgc3RydWN0IGF1eGlsaWFyeV9kcml2ZXIgcWNvbV9wZG1fZHJ2ID0geworKwkubmFtZSA9 ICJxY29tLXBkbS1tYXBwZXIiLAorKwkuaWRfdGFibGUgPSBxY29tX3BkbV90YWJsZSwKKysJLnBy b2JlID0gcWNvbV9wZG1fcHJvYmUsCisrCS5yZW1vdmUgPSBxY29tX3BkbV9yZW1vdmUsCisrfTsK Kyttb2R1bGVfYXV4aWxpYXJ5X2RyaXZlcihxY29tX3BkbV9kcnYpOworKworK01PRFVMRV9ERVND UklQVElPTigiUXVhbGNvbW0gUHJvdGVjdGlvbiBEb21haW4gTWFwcGVyIik7CisrTU9EVUxFX0xJ Q0VOU0UoIkdQTCIpOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNn LmMgYi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21zZy5jCitpbmRleCA5YjQ2ZjQyYWExNDYu LmJmM2U0YTQ3MTY1ZSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNn LmMKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMKK0BAIC0zMTUsNSArMzE1 LDM5IEBAIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2Vp W10gPSB7CisgfTsKKyBFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3NldF9hY2tfcmVzcF9laSk7 CisgCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3JlcV9laVtd ID0geworKwl7CisrCQkuZGF0YV90eXBlID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiA9IFNF UlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSA9IHNpemVvZihjaGFyKSwKKysJ CS5hcnJheV90eXBlID0gVkFSX0xFTl9BUlJBWSwKKysJCS50bHZfdHlwZSA9IDB4MDEsCisrCQku b2Zmc2V0ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEsIHNlcnZpY2UpCisr CX0sCisrCXsKKysJCS5kYXRhX3R5cGUgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuID0gU0VS VlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXplID0gc2l6ZW9mKGNoYXIpLAorKwkJ LmFycmF5X3R5cGUgPSBWQVJfTEVOX0FSUkFZLAorKwkJLnRsdl90eXBlID0gMHgwMiwKKysJCS5v ZmZzZXQgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3JlcSwgcmVhc29uKQorKwl9 LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19sb2NfcGZyX3JlcV9laSk7 CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3Jlc3BfZWlb XSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSA9IFFNSV9TVFJVQ1QsCisrCQkuZWxlbV9sZW4gPSAx LAorKwkJLmVsZW1fc2l6ZSA9IHNpemVvZl9maWVsZChzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jl c3AsIHJzcCksCisrCQkudGx2X3R5cGUgPSAweDAyLAorKwkJLm9mZnNldCA9IG9mZnNldG9mKHN0 cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVzcCwgcnNwKSwKKysJCS5laV9hcnJheSA9IHFtaV9yZXNw b25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNl cnZyZWdfbG9jX3Bmcl9yZXNwX2VpKTsKKysKKyBNT0RVTEVfTElDRU5TRSgiR1BMIik7CisgTU9E VUxFX0RFU0NSSVBUSU9OKCJRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFpbiBtZXNzYWdlcyBkYXRh Iik7CisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9y Zz4KK0RhdGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6MDM6NDQgKzAzMDAKK1N1YmplY3Q6IFtQQVRD SCB2OSA1LzVdIHJlbW90ZXByb2M6IHFjb206IGVuYWJsZSBpbi1rZXJuZWwgUEQgbWFwcGVyCisK K1JlcXVlc3QgaW4ta2VybmVsIHByb3RlY3Rpb24gZG9tYWluIG1hcHBlciB0byBiZSBzdGFydGVk IGJlZm9yZSBzdGFydGluZworUXVhbGNvbW0gRFNQIGFuZCByZWxlYXNlIGl0IG9uY2UgRFNQIGlz IHN0b3BwZWQuIE9uY2UgYWxsIERTUHMgYXJlCitzdG9wcGVkLCB0aGUgUEQgbWFwcGVyIHdpbGwg YmUgc3RvcHBlZCB0b28uCisKK1Jldmlld2VkLWJ5OiBDaHJpcyBMZXcgPHF1aWNfY2xld0BxdWlj aW5jLmNvbT4KK1Rlc3RlZC1ieTogU3RlZXYgS2xpbWFzemV3c2tpIDxzdGVldkBrYWxpLm9yZz4K K1Rlc3RlZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ryb25nQGxpbmFyby5vcmc+ICMg b24gU004NTUwLVFSRAorU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJh cnlzaGtvdkBsaW5hcm8ub3JnPgorLS0tCisgZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9u LmMgICAgfCA4NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZHJpdmVy cy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmggICAgfCAxMCArKysrKworIGRyaXZlcnMvcmVtb3Rl cHJvYy9xY29tX3E2djVfYWRzcC5jIHwgIDMgKysKKyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9x NnY1X21zcy5jICB8ICAzICsrCisgZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9wYXMuYyAg fCAgMyArKworIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfd2Nzcy5jIHwgIDMgKysKKyA2 IGZpbGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9kcml2ZXJz L3JlbW90ZXByb2MvcWNvbV9jb21tb24uYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1v bi5jCitpbmRleCAwM2U1ZjVkNTMzZWIuLjhjODY4OGY5OWYwYSAxMDA2NDQKKy0tLSBhL2RyaXZl cnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNv bV9jb21tb24uYworQEAgLTEzLDYgKzEzLDcgQEAKKyAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIu aD4KKyAjaW5jbHVkZSA8bGludXgvcmVtb3RlcHJvYy5oPgorICNpbmNsdWRlIDxsaW51eC9yZW1v dGVwcm9jL3Fjb21fcnByb2MuaD4KKysjaW5jbHVkZSA8bGludXgvYXV4aWxpYXJ5X2J1cy5oPgor ICNpbmNsdWRlIDxsaW51eC9ycG1zZy9xY29tX2dsaW5rLmg+CisgI2luY2x1ZGUgPGxpbnV4L3Jw bXNnL3Fjb21fc21kLmg+CisgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KK0BAIC0yNSw2ICsyNiw3 IEBACisgI2RlZmluZSB0b19nbGlua19zdWJkZXYoZCkgY29udGFpbmVyX29mKGQsIHN0cnVjdCBx Y29tX3Jwcm9jX2dsaW5rLCBzdWJkZXYpCisgI2RlZmluZSB0b19zbWRfc3ViZGV2KGQpIGNvbnRh aW5lcl9vZihkLCBzdHJ1Y3QgcWNvbV9ycHJvY19zdWJkZXYsIHN1YmRldikKKyAjZGVmaW5lIHRv X3Nzcl9zdWJkZXYoZCkgY29udGFpbmVyX29mKGQsIHN0cnVjdCBxY29tX3Jwcm9jX3Nzciwgc3Vi ZGV2KQorKyNkZWZpbmUgdG9fcGRtX3N1YmRldihkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IHFj b21fcnByb2NfcGRtLCBzdWJkZXYpCisgCisgI2RlZmluZSBNQVhfTlVNX09GX1NTICAgICAgICAg ICAxMAorICNkZWZpbmUgTUFYX1JFR0lPTl9OQU1FX0xFTkdUSCAgMTYKK0BAIC01MTksNSArNTIx LDkwIEBAIHZvaWQgcWNvbV9yZW1vdmVfc3NyX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBz dHJ1Y3QgcWNvbV9ycHJvY19zc3IgKnNzcikKKyB9CisgRVhQT1JUX1NZTUJPTF9HUEwocWNvbV9y ZW1vdmVfc3NyX3N1YmRldik7CisgCisrc3RhdGljIHZvaWQgcGRtX2Rldl9yZWxlYXNlKHN0cnVj dCBkZXZpY2UgKmRldikKKyt7CisrCXN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICphZGV2ID0gdG9f YXV4aWxpYXJ5X2RldihkZXYpOworKworKwlrZnJlZShhZGV2KTsKKyt9CisrCisrc3RhdGljIGlu dCBwZG1fbm90aWZ5X3ByZXBhcmUoc3RydWN0IHJwcm9jX3N1YmRldiAqc3ViZGV2KQorK3sKKysJ c3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0gPSB0b19wZG1fc3ViZGV2KHN1YmRldik7CisrCXN0 cnVjdCBhdXhpbGlhcnlfZGV2aWNlICphZGV2OworKwlpbnQgcmV0OworKworKwlhZGV2ID0ga3ph bGxvYyhzaXplb2YoKmFkZXYpLCBHRlBfS0VSTkVMKTsKKysJaWYgKCFhZGV2KQorKwkJcmV0dXJu IC1FTk9NRU07CisrCisrCWFkZXYtPmRldi5wYXJlbnQgPSBwZG0tPmRldjsKKysJYWRldi0+ZGV2 LnJlbGVhc2UgPSBwZG1fZGV2X3JlbGVhc2U7CisrCWFkZXYtPm5hbWUgPSAicGQtbWFwcGVyIjsK KysJYWRldi0+aWQgPSBwZG0tPmluZGV4OworKworKwlyZXQgPSBhdXhpbGlhcnlfZGV2aWNlX2lu aXQoYWRldik7CisrCWlmIChyZXQpIHsKKysJCWtmcmVlKGFkZXYpOworKwkJcmV0dXJuIHJldDsK KysJfQorKworKwlyZXQgPSBhdXhpbGlhcnlfZGV2aWNlX2FkZChhZGV2KTsKKysJaWYgKHJldCkg eworKwkJYXV4aWxpYXJ5X2RldmljZV91bmluaXQoYWRldik7CisrCQlyZXR1cm4gcmV0OworKwl9 CisrCisrCXBkbS0+YWRldiA9IGFkZXY7CisrCisrCXJldHVybiAwOworK30KKysKKysKKytzdGF0 aWMgdm9pZCBwZG1fbm90aWZ5X3VucHJlcGFyZShzdHJ1Y3QgcnByb2Nfc3ViZGV2ICpzdWJkZXYp CisreworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gKnBkbSA9IHRvX3BkbV9zdWJkZXYoc3ViZGV2 KTsKKysKKysJaWYgKCFwZG0tPmFkZXYpCisrCQlyZXR1cm47CisrCisrCWF1eGlsaWFyeV9kZXZp Y2VfZGVsZXRlKHBkbS0+YWRldik7CisrCWF1eGlsaWFyeV9kZXZpY2VfdW5pbml0KHBkbS0+YWRl dik7CisrCXBkbS0+YWRldiA9IE5VTEw7CisrfQorKworKy8qKgorKyAqIHFjb21fYWRkX3BkbV9z dWJkZXYoKSAtIHJlZ2lzdGVyIFBEIE1hcHBlciBzdWJkZXZpY2UKKysgKiBAcnByb2M6CXJwcm9j IGhhbmRsZQorKyAqIEBwZG06CVBETSBzdWJkZXZpY2UgaGFuZGxlCisrICoKKysgKiBSZWdpc3Rl ciBAcGRtIHNvIHRoYXQgUHJvdGVjdGlvbiBEZXZpY2UgbWFwcGVyIHNlcnZpY2UgaXMgc3RhcnRl ZCB3aGVuIHRoZQorKyAqIERTUCBpcyBzdGFydGVkIHRvby4KKysgKi8KKyt2b2lkIHFjb21fYWRk X3BkbV9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2NfcGRtICpw ZG0pCisreworKwlwZG0tPmRldiA9ICZycHJvYy0+ZGV2OworKwlwZG0tPmluZGV4ID0gcnByb2Mt PmluZGV4OworKworKwlwZG0tPnN1YmRldi5wcmVwYXJlID0gcGRtX25vdGlmeV9wcmVwYXJlOwor KwlwZG0tPnN1YmRldi51bnByZXBhcmUgPSBwZG1fbm90aWZ5X3VucHJlcGFyZTsKKysKKysJcnBy b2NfYWRkX3N1YmRldihycHJvYywgJnBkbS0+c3ViZGV2KTsKKyt9CisrRVhQT1JUX1NZTUJPTF9H UEwocWNvbV9hZGRfcGRtX3N1YmRldik7CisrCisrLyoqCisrICogcWNvbV9yZW1vdmVfcGRtX3N1 YmRldigpIC0gcmVtb3ZlIFBEIE1hcHBlciBzdWJkZXZpY2UKKysgKiBAcnByb2M6CXJwcm9jIGhh bmRsZQorKyAqIEBwZG06CVBETSBzdWJkZXZpY2UgaGFuZGxlCisrICoKKysgKiBSZW1vdmUgdGhl IFBEIE1hcHBlciBzdWJkZXZpY2UuCisrICovCisrdm9pZCBxY29tX3JlbW92ZV9wZG1fc3ViZGV2 KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3BkbSAqcGRtKQorK3sKKysJ cnByb2NfcmVtb3ZlX3N1YmRldihycHJvYywgJnBkbS0+c3ViZGV2KTsKKyt9CisrRVhQT1JUX1NZ TUJPTF9HUEwocWNvbV9yZW1vdmVfcGRtX3N1YmRldik7CisrCisgTU9EVUxFX0RFU0NSSVBUSU9O KCJRdWFsY29tbSBSZW1vdGVwcm9jIGhlbHBlciBkcml2ZXIiKTsKKyBNT0RVTEVfTElDRU5TRSgi R1BMIHYyIik7CitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmgg Yi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uaAoraW5kZXggOWVmNDQ0OTA1MmE5Li5i MDdmYmFhMDkxYTAgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24u aAorKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmgKK0BAIC0zNCw2ICszNCwx MyBAQCBzdHJ1Y3QgcWNvbV9ycHJvY19zc3IgeworIAlzdHJ1Y3QgcWNvbV9zc3Jfc3Vic3lzdGVt ICppbmZvOworIH07CisgCisrc3RydWN0IHFjb21fcnByb2NfcGRtIHsKKysJc3RydWN0IHJwcm9j X3N1YmRldiBzdWJkZXY7CisrCXN0cnVjdCBkZXZpY2UgKmRldjsKKysJaW50IGluZGV4OworKwlz dHJ1Y3QgYXV4aWxpYXJ5X2RldmljZSAqYWRldjsKKyt9OworKworIHZvaWQgcWNvbV9taW5pZHVt cChzdHJ1Y3QgcnByb2MgKnJwcm9jLCB1bnNpZ25lZCBpbnQgbWluaWR1bXBfaWQsCisgCQkJdm9p ZCAoKnJwcm9jX2R1bXBmbl90KShzdHJ1Y3QgcnByb2MgKnJwcm9jLAorIAkJCQlzdHJ1Y3QgcnBy b2NfZHVtcF9zZWdtZW50ICpzZWdtZW50LCB2b2lkICpkZXN0LCBzaXplX3Qgb2Zmc2V0LAorQEAg LTUyLDYgKzU5LDkgQEAgdm9pZCBxY29tX2FkZF9zc3Jfc3ViZGV2KHN0cnVjdCBycHJvYyAqcnBy b2MsIHN0cnVjdCBxY29tX3Jwcm9jX3NzciAqc3NyLAorIAkJCSBjb25zdCBjaGFyICpzc3JfbmFt ZSk7Cisgdm9pZCBxY29tX3JlbW92ZV9zc3Jfc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0 cnVjdCBxY29tX3Jwcm9jX3NzciAqc3NyKTsKKyAKKyt2b2lkIHFjb21fYWRkX3BkbV9zdWJkZXYo c3RydWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0pOworK3ZvaWQg cWNvbV9yZW1vdmVfcGRtX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9y cHJvY19wZG0gKnBkbSk7CisrCisgI2lmIElTX0VOQUJMRUQoQ09ORklHX1FDT01fU1lTTU9OKQor IHN0cnVjdCBxY29tX3N5c21vbiAqcWNvbV9hZGRfc3lzbW9uX3N1YmRldihzdHJ1Y3QgcnByb2Mg KnJwcm9jLAorIAkJCQkJICAgY29uc3QgY2hhciAqbmFtZSwKK2RpZmYgLS1naXQgYS9kcml2ZXJz L3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2 djVfYWRzcC5jCitpbmRleCAxZDI0YzliNjU2YTguLjU3MmRjYjBmMDU1YiAxMDA2NDQKKy0tLSBh L2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfYWRzcC5jCisrKysgYi9kcml2ZXJzL3JlbW90 ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYworQEAgLTExMiw2ICsxMTIsNyBAQCBzdHJ1Y3QgcWNvbV9h ZHNwIHsKKyAJc3RydWN0IGRldl9wbV9kb21haW5fbGlzdCAqcGRfbGlzdDsKKyAKKyAJc3RydWN0 IHFjb21fcnByb2NfZ2xpbmsgZ2xpbmtfc3ViZGV2OworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0g cGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNzcl9zdWJkZXY7CisgCXN0cnVj dCBxY29tX3N5c21vbiAqc3lzbW9uOworIAorQEAgLTcyNiw2ICs3MjcsNyBAQCBzdGF0aWMgaW50 IGFkc3BfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJCWdvdG8gZGlzYWJs ZV9wbTsKKyAKKyAJcWNvbV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmYWRzcC0+Z2xpbmtfc3Vi ZGV2LCBkZXNjLT5zc3JfbmFtZSk7CisrCXFjb21fYWRkX3BkbV9zdWJkZXYocnByb2MsICZhZHNw LT5wZG1fc3ViZGV2KTsKKyAJcWNvbV9hZGRfc3NyX3N1YmRldihycHJvYywgJmFkc3AtPnNzcl9z dWJkZXYsIGRlc2MtPnNzcl9uYW1lKTsKKyAJYWRzcC0+c3lzbW9uID0gcWNvbV9hZGRfc3lzbW9u X3N1YmRldihycHJvYywKKyAJCQkJCSAgICAgIGRlc2MtPnN5c21vbl9uYW1lLAorQEAgLTc1NSw2 ICs3NTcsNyBAQCBzdGF0aWMgdm9pZCBhZHNwX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQorIAorIAlxY29tX3E2djVfZGVpbml0KCZhZHNwLT5xNnY1KTsKKyAJcWNvbV9yZW1v dmVfZ2xpbmtfc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2KTsKKysJcWNv bV9yZW1vdmVfcGRtX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPnBkbV9zdWJkZXYpOworIAlx Y29tX3JlbW92ZV9zeXNtb25fc3ViZGV2KGFkc3AtPnN5c21vbik7CisgCXFjb21fcmVtb3ZlX3Nz cl9zdWJkZXYoYWRzcC0+cnByb2MsICZhZHNwLT5zc3Jfc3ViZGV2KTsKKyAJcWNvbV9ycHJvY19w ZHNfZGV0YWNoKGFkc3ApOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2 djVfbXNzLmMgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X21zcy5jCitpbmRleCAxNzc5 ZmM4OTBlMTAuLjJhNDIyMTVjZThlMCAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9x Y29tX3E2djVfbXNzLmMKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfbXNzLmMK K0BAIC0yMjgsNiArMjI4LDcgQEAgc3RydWN0IHE2djUgeworIAorIAlzdHJ1Y3QgcWNvbV9ycHJv Y19nbGluayBnbGlua19zdWJkZXY7CisgCXN0cnVjdCBxY29tX3Jwcm9jX3N1YmRldiBzbWRfc3Vi ZGV2OworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21f cnByb2Nfc3NyIHNzcl9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3N5c21vbiAqc3lzbW9uOworIAlz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpiYW1fZG11eDsKK0BAIC0yMTAyLDYgKzIxMDMsNyBAQCBz dGF0aWMgaW50IHE2djVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJcXBy b2MtPm1iYV9wZXJtID0gQklUKFFDT01fU0NNX1ZNSURfSExPUyk7CisgCXFjb21fYWRkX2dsaW5r X3N1YmRldihycHJvYywgJnFwcm9jLT5nbGlua19zdWJkZXYsICJtcHNzIik7CisgCXFjb21fYWRk X3NtZF9zdWJkZXYocnByb2MsICZxcHJvYy0+c21kX3N1YmRldik7CisrCXFjb21fYWRkX3BkbV9z dWJkZXYocnByb2MsICZxcHJvYy0+cGRtX3N1YmRldik7CisgCXFjb21fYWRkX3Nzcl9zdWJkZXYo cnByb2MsICZxcHJvYy0+c3NyX3N1YmRldiwgIm1wc3MiKTsKKyAJcXByb2MtPnN5c21vbiA9IHFj b21fYWRkX3N5c21vbl9zdWJkZXYocnByb2MsICJtb2RlbSIsIDB4MTIpOworIAlpZiAoSVNfRVJS KHFwcm9jLT5zeXNtb24pKSB7CitAQCAtMjE0Myw2ICsyMTQ1LDcgQEAgc3RhdGljIHZvaWQgcTZ2 NV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJcWNvbV9xNnY1X2RlaW5p dCgmcXByb2MtPnE2djUpOworIAlxY29tX3JlbW92ZV9zeXNtb25fc3ViZGV2KHFwcm9jLT5zeXNt b24pOworIAlxY29tX3JlbW92ZV9zc3Jfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNzcl9zdWJkZXYp OworKwlxY29tX3JlbW92ZV9wZG1fc3ViZGV2KHJwcm9jLCAmcXByb2MtPnBkbV9zdWJkZXYpOwor IAlxY29tX3JlbW92ZV9zbWRfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNtZF9zdWJkZXYpOworIAlx Y29tX3JlbW92ZV9nbGlua19zdWJkZXYocnByb2MsICZxcHJvYy0+Z2xpbmtfc3ViZGV2KTsKKyAK K2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jIGIvZHJpdmVy cy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9wYXMuYworaW5kZXggODQ1OGJjZmU5ZTE5Li44OGU3Yjg0 ZjIyM2MgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jCisr KysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jCitAQCAtMTExLDYgKzExMSw3 IEBAIHN0cnVjdCBxY29tX2Fkc3AgeworIAorIAlzdHJ1Y3QgcWNvbV9ycHJvY19nbGluayBnbGlu a19zdWJkZXY7CisgCXN0cnVjdCBxY29tX3Jwcm9jX3N1YmRldiBzbWRfc3ViZGV2OworKwlzdHJ1 Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNz cl9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3N5c21vbiAqc3lzbW9uOworIAorQEAgLTc3Nyw2ICs3 NzgsNyBAQCBzdGF0aWMgaW50IGFkc3BfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKKyAKKyAJcWNvbV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2 LCBkZXNjLT5zc3JfbmFtZSk7CisgCXFjb21fYWRkX3NtZF9zdWJkZXYocnByb2MsICZhZHNwLT5z bWRfc3ViZGV2KTsKKysJcWNvbV9hZGRfcGRtX3N1YmRldihycHJvYywgJmFkc3AtPnBkbV9zdWJk ZXYpOworIAlhZHNwLT5zeXNtb24gPSBxY29tX2FkZF9zeXNtb25fc3ViZGV2KHJwcm9jLAorIAkJ CQkJICAgICAgZGVzYy0+c3lzbW9uX25hbWUsCisgCQkJCQkgICAgICBkZXNjLT5zc2N0bF9pZCk7 CitAQCAtODExLDYgKzgxMyw3IEBAIHN0YXRpYyB2b2lkIGFkc3BfcmVtb3ZlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCisgCXFjb21fcmVtb3ZlX2dsaW5rX3N1YmRldihhZHNwLT5ycHJv YywgJmFkc3AtPmdsaW5rX3N1YmRldik7CisgCXFjb21fcmVtb3ZlX3N5c21vbl9zdWJkZXYoYWRz cC0+c3lzbW9uKTsKKyAJcWNvbV9yZW1vdmVfc21kX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3At PnNtZF9zdWJkZXYpOworKwlxY29tX3JlbW92ZV9wZG1fc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRz cC0+cGRtX3N1YmRldik7CisgCXFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYoYWRzcC0+cnByb2MsICZh ZHNwLT5zc3Jfc3ViZGV2KTsKKyAJYWRzcF9wZHNfZGV0YWNoKGFkc3AsIGFkc3AtPnByb3h5X3Bk cywgYWRzcC0+cHJveHlfcGRfY291bnQpOworIAlkZXZpY2VfaW5pdF93YWtldXAoYWRzcC0+ZGV2 LCBmYWxzZSk7CitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93Y3Nz LmMgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3djc3MuYworaW5kZXggOTRmNjhjOTE5 ZWU2Li5lOTEzZGFiYWU5OTIgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9x NnY1X3djc3MuYworKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93Y3NzLmMKK0BA IC0xNDgsNiArMTQ4LDcgQEAgc3RydWN0IHE2djVfd2NzcyB7CisgCWJvb2wgcmVxdWlyZXNfZm9y Y2Vfc3RvcDsKKyAKKyAJc3RydWN0IHFjb21fcnByb2NfZ2xpbmsgZ2xpbmtfc3ViZGV2OworKwlz dHJ1Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3Ny IHNzcl9zdWJkZXY7CisgfTsKKyAKK0BAIC0xMDUyLDYgKzEwNTMsNyBAQCBzdGF0aWMgaW50IHE2 djVfd2Nzc19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAkJcmV0dXJuIHJl dDsKKyAKKyAJcWNvbV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmd2Nzcy0+Z2xpbmtfc3ViZGV2 LCAicTZ3Y3NzIik7CisrCXFjb21fYWRkX3BkbV9zdWJkZXYocnByb2MsICZ3Y3NzLT5wZG1fc3Vi ZGV2KTsKKyAJcWNvbV9hZGRfc3NyX3N1YmRldihycHJvYywgJndjc3MtPnNzcl9zdWJkZXYsICJx Nndjc3MiKTsKKyAKKyAJaWYgKGRlc2MtPnNzY3RsX2lkKQorQEAgLTEwNzQsNiArMTA3Niw3IEBA IHN0YXRpYyB2b2lkIHE2djVfd2Nzc19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRl dikKKyAJc3RydWN0IHE2djVfd2NzcyAqd2NzcyA9IHJwcm9jLT5wcml2OworIAorIAlxY29tX3E2 djVfZGVpbml0KCZ3Y3NzLT5xNnY1KTsKKysJcWNvbV9yZW1vdmVfcGRtX3N1YmRldihycHJvYywg Jndjc3MtPnBkbV9zdWJkZXYpOworIAlycHJvY19kZWwocnByb2MpOworIH0KKyAKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvbGludXg2LjgvdGVtcGxhdGUgYi9zcmNwa2dzL2xpbnV4Ni44L3RlbXBsYXRl CmluZGV4IDBkYjY4ZjA0YmI2ZTIzLi5mOWZmODFiM2Q2OGQ2MiAxMDA2NDQKLS0tIGEvc3JjcGtn cy9saW51eDYuOC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xpbnV4Ni44L3RlbXBsYXRlCkBAIC0x LDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGludXg2LjgnCiBwa2duYW1lPWxpbnV4 Ni44CiB2ZXJzaW9uPTYuOC4xMgotcmV2aXNpb249MQorcmV2aXNpb249Mgogc2hvcnRfZGVzYz0i TGludXgga2VybmVsIGFuZCBtb2R1bGVzICgke3ZlcnNpb24lLip9IHNlcmllcykiCiBtYWludGFp bmVyPSJEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1v bmx5IgoKRnJvbSBkMDBjNzE5OTQ4ZTc2MzU1MmUxMjM3ZTQ4NmU1YThiZTNkNzBkNDUyIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0 ZS5uZXQ+CkRhdGU6IFR1ZSwgMjUgSnVuIDIwMjQgMTk6MzY6MTggLTA0MDAKU3ViamVjdDogW1BB VENIIDMvM10gbGludXg2Ljk6IGFkZCBzdXBwb3J0IGZvciBsZW5vdm8geDEzcwoKLS0tCiBzcmNw a2dzL2xpbnV4Ni45L2ZpbGVzL2FybTY0LWRvdGNvbmZpZyAgICAgICAgfCAgIDgzICstCiAuLi5k LWluLWtlcm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2ggfCAxOTUxICsrKysrKysr KysrKysrKysrCiBzcmNwa2dzL2xpbnV4Ni45L3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICAg fCAgICAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDIwMTIgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRp b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9saW51eDYuOS9wYXRjaGVzL3NvYy1x Y29tLWFkZC1pbi1rZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNoCgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9saW51eDYuOS9maWxlcy9hcm02NC1kb3Rjb25maWcgYi9zcmNwa2dzL2xp bnV4Ni45L2ZpbGVzL2FybTY0LWRvdGNvbmZpZwppbmRleCBjZmE2MTRhYzhhNjk0Ni4uMzQwNTBm NGZlMjU2Y2MgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGludXg2LjkvZmlsZXMvYXJtNjQtZG90Y29u ZmlnCisrKyBiL3NyY3BrZ3MvbGludXg2LjkvZmlsZXMvYXJtNjQtZG90Y29uZmlnCkBAIC0yLDcg KzIsNyBAQAogIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmaWxlOyBETyBOT1QgRURJVC4KICMg TGludXgvYXJtNjQgNi45LjYgS2VybmVsIENvbmZpZ3VyYXRpb24KICMKLUNPTkZJR19DQ19WRVJT SU9OX1RFWFQ9ImFhcmNoNjQtbGludXgtbXVzbC1nY2MgKEdDQykgMTMuMi4wIgorQ09ORklHX0ND X1ZFUlNJT05fVEVYVD0iYWFyY2g2NC1saW51eC1nbnUtZ2NjIChHQ0MpIDEzLjIuMCIKIENPTkZJ R19DQ19JU19HQ0M9eQogQ09ORklHX0dDQ19WRVJTSU9OPTEzMDIwMAogQ09ORklHX0NMQU5HX1ZF UlNJT049MApAQCAtMjksNyArMjksNyBAQCBDT05GSUdfVEhSRUFEX0lORk9fSU5fVEFTSz15CiBD T05GSUdfSU5JVF9FTlZfQVJHX0xJTUlUPTMyCiAjIENPTkZJR19DT01QSUxFX1RFU1QgaXMgbm90 IHNldAogIyBDT05GSUdfV0VSUk9SIGlzIG5vdCBzZXQKLUNPTkZJR19MT0NBTFZFUlNJT049Il8x IgorQ09ORklHX0xPQ0FMVkVSU0lPTj0iXzIiCiAjIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBp cyBub3Qgc2V0CiBDT05GSUdfQlVJTERfU0FMVD0iIgogQ09ORklHX0RFRkFVTFRfSU5JVD0iIgpA QCAtNjAyLDcgKzYwMiw3IEBAIENPTkZJR19EUE1fV0FUQ0hET0c9eQogQ09ORklHX0RQTV9XQVRD SERPR19USU1FT1VUPTYwCiBDT05GSUdfUE1fQ0xLPXkKIENPTkZJR19QTV9HRU5FUklDX0RPTUFJ TlM9eQotIyBDT05GSUdfV1FfUE9XRVJfRUZGSUNJRU5UX0RFRkFVTFQgaXMgbm90IHNldAorQ09O RklHX1dRX1BPV0VSX0VGRklDSUVOVF9ERUZBVUxUPXkKIENPTkZJR19QTV9HRU5FUklDX0RPTUFJ TlNfU0xFRVA9eQogQ09ORklHX1BNX0dFTkVSSUNfRE9NQUlOU19PRj15CiBDT05GSUdfQ1BVX1BN PXkKQEAgLTIzNzksNyArMjM3OSw3IEBAIENPTkZJR19TT0NfQlVTPXkKIENPTkZJR19SRUdNQVA9 eQogQ09ORklHX1JFR01BUF9JMkM9eQogQ09ORklHX1JFR01BUF9TUEk9eQotQ09ORklHX1JFR01B UF9TUE1JPW0KK0NPTkZJR19SRUdNQVBfU1BNST15CiBDT05GSUdfUkVHTUFQX1cxPW0KIENPTkZJ R19SRUdNQVBfTU1JTz15CiBDT05GSUdfUkVHTUFQX0lSUT15CkBAIC0yNDQ3LDcgKzI0NDcsNyBA QCBDT05GSUdfQVJNX1NDTUlfVFJBTlNQT1JUX1ZJUlRJT19WRVJTSU9OMV9DT01QTElBTkNFPXkK IENPTkZJR19BUk1fU0NNSV9QT1dFUl9DT05UUk9MPW0KICMgZW5kIG9mIEFSTSBTeXN0ZW0gQ29u dHJvbCBhbmQgTWFuYWdlbWVudCBJbnRlcmZhY2UgUHJvdG9jb2wKIAotQ09ORklHX0FSTV9TQ1BJ X1BST1RPQ09MPW0KK0NPTkZJR19BUk1fU0NQSV9QUk9UT0NPTD15CiBDT05GSUdfQVJNX1NERV9J TlRFUkZBQ0U9eQogQ09ORklHX0ZJUk1XQVJFX01FTU1BUD15CiBDT05GSUdfRE1JSUQ9eQpAQCAt MjUwMyw3ICsyNTAzLDggQEAgQ09ORklHX0FSTV9QU0NJX0ZXPXkKICMKIENPTkZJR19RQ09NX1ND TT15CiAjIENPTkZJR19RQ09NX1NDTV9ET1dOTE9BRF9NT0RFX0RFRkFVTFQgaXMgbm90IHNldAot IyBDT05GSUdfUUNPTV9RU0VFQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19RQ09NX1FTRUVDT009eQor Q09ORklHX1FDT01fUVNFRUNPTV9VRUZJU0VDQVBQPXkKICMgZW5kIG9mIFF1YWxjb21tIGZpcm13 YXJlIGRyaXZlcnMKIAogQ09ORklHX0hBVkVfQVJNX1NNQ0NDPXkKQEAgLTQ5MjEsNyArNDkyMiw3 IEBAIENPTkZJR19YSUxMWVVTQj1tCiBDT05GSUdfSTJDPXkKIENPTkZJR19BQ1BJX0kyQ19PUFJF R0lPTj15CiBDT05GSUdfSTJDX0JPQVJESU5GTz15Ci0jIENPTkZJR19JMkNfQ09NUEFUIGlzIG5v dCBzZXQKK0NPTkZJR19JMkNfQ09NUEFUPXkKIENPTkZJR19JMkNfQ0hBUkRFVj1tCiBDT05GSUdf STJDX01VWD1tCiAKQEAgLTUxNTAsNyArNTE1MSw3IEBAIENPTkZJR19TUElfU0xBVkU9eQogQ09O RklHX1NQSV9TTEFWRV9USU1FPW0KIENPTkZJR19TUElfU0xBVkVfU1lTVEVNX0NPTlRST0w9bQog Q09ORklHX1NQSV9EWU5BTUlDPXkKLUNPTkZJR19TUE1JPW0KK0NPTkZJR19TUE1JPXkKIENPTkZJ R19TUE1JX0hJU0kzNjcwPW0KIENPTkZJR19TUE1JX01TTV9QTUlDX0FSQj1tCiBDT05GSUdfU1BN SV9NVEtfUE1JRj1tCkBAIC01MzIzLDcgKzUzMjQsNyBAQCBDT05GSUdfUElOQ1RSTF9TQTg3NzVQ PW0KIENPTkZJR19QSU5DVFJMX1NDNzE4MD1tCiBDT05GSUdfUElOQ1RSTF9TQzcyODA9bQogQ09O RklHX1BJTkNUUkxfU0M4MTgwWD1tCi1DT05GSUdfUElOQ1RSTF9TQzgyODBYUD1tCitDT05GSUdf UElOQ1RSTF9TQzgyODBYUD15CiAjIENPTkZJR19QSU5DVFJMX1NETTY2MCBpcyBub3Qgc2V0CiBD T05GSUdfUElOQ1RSTF9TRE02NzA9bQogQ09ORklHX1BJTkNUUkxfU0RNODQ1PW0KQEAgLTUzNDEs NyArNTM0Miw3IEBAIENPTkZJR19QSU5DVFJMX1NNODQ1MD1tCiBDT05GSUdfUElOQ1RSTF9TTTg1 NTA9bQogIyBDT05GSUdfUElOQ1RSTF9TTTg2NTAgaXMgbm90IHNldAogIyBDT05GSUdfUElOQ1RS TF9YMUU4MDEwMCBpcyBub3Qgc2V0Ci1DT05GSUdfUElOQ1RSTF9RQ09NX1NQTUlfUE1JQz1tCitD T05GSUdfUElOQ1RSTF9RQ09NX1NQTUlfUE1JQz15CiBDT05GSUdfUElOQ1RSTF9RQ09NX1NTQklf UE1JQz1tCiBDT05GSUdfUElOQ1RSTF9MUEFTU19MUEk9bQogIyBDT05GSUdfUElOQ1RSTF9TQzcy ODBfTFBBU1NfTFBJIGlzIG5vdCBzZXQKQEAgLTU5MzgsMTIgKzU5MzksMTMgQEAgQ09ORklHX1RI RVJNQUxfT0Y9eQogQ09ORklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfU1RFUF9XSVNFPXkKICMgQ09O RklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfRkFJUl9TSEFSRSBpcyBub3Qgc2V0CiAjIENPTkZJR19U SEVSTUFMX0RFRkFVTFRfR09WX1VTRVJfU1BBQ0UgaXMgbm90IHNldAorIyBDT05GSUdfVEhFUk1B TF9ERUZBVUxUX0dPVl9QT1dFUl9BTExPQ0FUT1IgaXMgbm90IHNldAogIyBDT05GSUdfVEhFUk1B TF9ERUZBVUxUX0dPVl9CQU5HX0JBTkcgaXMgbm90IHNldAogQ09ORklHX1RIRVJNQUxfR09WX0ZB SVJfU0hBUkU9eQogQ09ORklHX1RIRVJNQUxfR09WX1NURVBfV0lTRT15CiBDT05GSUdfVEhFUk1B TF9HT1ZfQkFOR19CQU5HPXkKIENPTkZJR19USEVSTUFMX0dPVl9VU0VSX1NQQUNFPXkKLSMgQ09O RklHX1RIRVJNQUxfR09WX1BPV0VSX0FMTE9DQVRPUiBpcyBub3Qgc2V0CitDT05GSUdfVEhFUk1B TF9HT1ZfUE9XRVJfQUxMT0NBVE9SPXkKIENPTkZJR19DUFVfVEhFUk1BTD15CiBDT05GSUdfQ1BV X0ZSRVFfVEhFUk1BTD15CiAjIENPTkZJR19DUFVfSURMRV9USEVSTUFMIGlzIG5vdCBzZXQKQEAg LTYwMDEsNyArNjAwMyw3IEBAIENPTkZJR19HRU5FUklDX0FEQ19USEVSTUFMPW0KICMKIENPTkZJ R19RQ09NX1RTRU5TPW0KIENPTkZJR19RQ09NX1NQTUlfQURDX1RNNT1tCi0jIENPTkZJR19RQ09N X1NQTUlfVEVNUF9BTEFSTSBpcyBub3Qgc2V0CitDT05GSUdfUUNPTV9TUE1JX1RFTVBfQUxBUk09 bQogQ09ORklHX1FDT01fTE1IPW0KICMgZW5kIG9mIFF1YWxjb21tIHRoZXJtYWwgZHJpdmVycwog CkBAIC02MDQwLDcgKzYwNDIsNyBAQCBDT05GSUdfWElMSU5YX1dBVENIRE9HPW0KIENPTkZJR19a SUlSQVZFX1dBVENIRE9HPW0KIENPTkZJR19NTFhfV0RUPW0KIENPTkZJR19TTDI4Q1BMRF9XQVRD SERPRz1tCi0jIENPTkZJR19BUk1fU1A4MDVfV0FUQ0hET0cgaXMgbm90IHNldAorQ09ORklHX0FS TV9TUDgwNV9XQVRDSERPRz15CiBDT05GSUdfQVJNX1NCU0FfV0FUQ0hET0c9bQogQ09ORklHX0FS TUFEQV8zN1hYX1dBVENIRE9HPW0KIENPTkZJR19DQURFTkNFX1dBVENIRE9HPW0KQEAgLTYwNTMs NyArNjA1NSw3IEBAIENPTkZJR19JTVgyX1dEVD1tCiBDT05GSUdfSU1YX1NDX1dEVD1tCiBDT05G SUdfSU1YN1VMUF9XRFQ9bQogQ09ORklHX1RFR1JBX1dBVENIRE9HPW0KLSMgQ09ORklHX1FDT01f V0RUIGlzIG5vdCBzZXQKK0NPTkZJR19RQ09NX1dEVD1tCiBDT05GSUdfTUVTT05fR1hCQl9XQVRD SERPRz1tCiBDT05GSUdfTUVTT05fV0FUQ0hET0c9bQogQ09ORklHX01FRElBVEVLX1dBVENIRE9H PW0KQEAgLTkzNjgsNyArOTM3MCw3IEBAIENPTkZJR19TQ1NJX1VGU0hDRF9QQ0k9bQogQ09ORklH X1NDU0lfVUZTSENEX1BMQVRGT1JNPW0KIENPTkZJR19TQ1NJX1VGU19DRE5TX1BMQVRGT1JNPW0K ICMgQ09ORklHX1NDU0lfVUZTX0RXQ19UQ19QTEFURk9STSBpcyBub3Qgc2V0Ci0jIENPTkZJR19T Q1NJX1VGU19RQ09NIGlzIG5vdCBzZXQKK0NPTkZJR19TQ1NJX1VGU19RQ09NPW0KIENPTkZJR19T Q1NJX1VGU19NRURJQVRFSz1tCiBDT05GSUdfU0NTSV9VRlNfSElTST1tCiBDT05GSUdfU0NTSV9V RlNfRVhZTk9TPW0KQEAgLTEwMzkyLDcgKzEwMzk0LDcgQEAgQ09ORklHX1FDTV9HQ0NfMjI5MD1t CiBDT05GSUdfUUNTX0dDQ180MDQ9bQogQ09ORklHX1NDX0NBTUNDXzcxODA9bQogQ09ORklHX1ND X0NBTUNDXzcyODA9bQotIyBDT05GSUdfU0NfQ0FNQ0NfODI4MFhQIGlzIG5vdCBzZXQKK0NPTkZJ R19TQ19DQU1DQ184MjgwWFA9bQogQ09ORklHX1NDX0RJU1BDQ183MTgwPW0KIENPTkZJR19TQ19E SVNQQ0NfNzI4MD1tCiBDT05GSUdfU0NfRElTUENDXzgyODBYUD1tCkBAIC0xMDQwNCw5ICsxMDQw Niw5IEBAIENPTkZJR19TQ19HQ0NfODE4MFg9bQogQ09ORklHX1NDX0dDQ184MjgwWFA9bQogQ09O RklHX1NDX0dQVUNDXzcxODA9bQogQ09ORklHX1NDX0dQVUNDXzcyODA9bQotIyBDT05GSUdfU0Nf R1BVQ0NfODI4MFhQIGlzIG5vdCBzZXQKK0NPTkZJR19TQ19HUFVDQ184MjgwWFA9bQogQ09ORklH X1NDX0xQQVNTQ0NfNzI4MD1tCi0jIENPTkZJR19TQ19MUEFTU0NDXzgyODBYUCBpcyBub3Qgc2V0 CitDT05GSUdfU0NfTFBBU1NDQ184MjgwWFA9bQogQ09ORklHX1NDX0xQQVNTX0NPUkVDQ183MTgw PW0KIENPTkZJR19TQ19MUEFTU19DT1JFQ0NfNzI4MD1tCiBDT05GSUdfU0NfVklERU9DQ183MTgw PW0KQEAgLTEwNDYzLDcgKzEwNDY1LDcgQEAgQ09ORklHX1NNX1RDU1JDQ184NTUwPW0KICMgQ09O RklHX1NNX1RDU1JDQ184NjUwIGlzIG5vdCBzZXQKIENPTkZJR19TTV9WSURFT0NDXzgxNTA9bQog Q09ORklHX1NNX1ZJREVPQ0NfODI1MD1tCi0jIENPTkZJR19TTV9WSURFT0NDXzgzNTAgaXMgbm90 IHNldAorQ09ORklHX1NNX1ZJREVPQ0NfODM1MD1tCiAjIENPTkZJR19TTV9WSURFT0NDXzg1NTAg aXMgbm90IHNldAogQ09ORklHX1NQTUlfUE1JQ19DTEtESVY9bQogQ09ORklHX1FDT01fSEZQTEw9 bQpAQCAtMTA1NDEsNyArMTA1NDMsNyBAQCBDT05GSUdfVElNRVJfSU1YX1NZU19DVFI9eQogIyBl bmQgb2YgQ2xvY2sgU291cmNlIGRyaXZlcnMKIAogQ09ORklHX01BSUxCT1g9eQotIyBDT05GSUdf QVJNX01IVSBpcyBub3Qgc2V0CitDT05GSUdfQVJNX01IVT15CiBDT05GSUdfQVJNX01IVV9WMj1t CiBDT05GSUdfSU1YX01CT1g9bQogQ09ORklHX1BMQVRGT1JNX01IVT1tCkBAIC0xMDU4Myw4ICsx MDU4NSw4IEBAIENPTkZJR19JT01NVV9JT19QR1RBQkxFX0RBUlQ9eQogCiAjIENPTkZJR19JT01N VV9ERUJVR0ZTIGlzIG5vdCBzZXQKICMgQ09ORklHX0lPTU1VX0RFRkFVTFRfRE1BX1NUUklDVCBp cyBub3Qgc2V0Ci0jIENPTkZJR19JT01NVV9ERUZBVUxUX0RNQV9MQVpZIGlzIG5vdCBzZXQKLUNP TkZJR19JT01NVV9ERUZBVUxUX1BBU1NUSFJPVUdIPXkKK0NPTkZJR19JT01NVV9ERUZBVUxUX0RN QV9MQVpZPXkKKyMgQ09ORklHX0lPTU1VX0RFRkFVTFRfUEFTU1RIUk9VR0ggaXMgbm90IHNldAog Q09ORklHX09GX0lPTU1VPXkKIENPTkZJR19JT01NVV9ETUE9eQogQ09ORklHX0lPTU1VX1NWQT15 CkBAIC0xMDc0NCw3ICsxMDc0Niw5IEBAIENPTkZJR19RQ09NX0xMQ0M9bQogQ09ORklHX1FDT01f S1JZT19MMl9BQ0NFU1NPUlM9eQogQ09ORklHX1FDT01fTURUX0xPQURFUj1tCiBDT05GSUdfUUNP TV9PQ01FTT1tCitDT05GSUdfUUNPTV9QRF9NQVBQRVI9bQogQ09ORklHX1FDT01fUERSX0hFTFBF UlM9bQorQ09ORklHX1FDT01fUERSX01TRz1tCiAjIENPTkZJR19RQ09NX1BNSUNfUERDSEFSR0VS X1VMT0cgaXMgbm90IHNldAogQ09ORklHX1FDT01fUE1JQ19HTElOSz1tCiBDT05GSUdfUUNPTV9R TUlfSEVMUEVSUz1tCkBAIC0xMTk5MCw3ICsxMTk5NCw0MCBAQCBDT05GSUdfSU5URVJDT05ORUNU X0lNWDhNTT1tCiBDT05GSUdfSU5URVJDT05ORUNUX0lNWDhNTj1tCiBDT05GSUdfSU5URVJDT05O RUNUX0lNWDhNUT1tCiBDT05GSUdfSU5URVJDT05ORUNUX0lNWDhNUD1tCi0jIENPTkZJR19JTlRF UkNPTk5FQ1RfUUNPTSBpcyBub3Qgc2V0CitDT05GSUdfSU5URVJDT05ORUNUX1FDT009eQorQ09O RklHX0lOVEVSQ09OTkVDVF9RQ09NX0JDTV9WT1RFUj15CisjIENPTkZJR19JTlRFUkNPTk5FQ1Rf UUNPTV9NU004OTA5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5 MTYgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fTVNNODkzOSBpcyBub3Qg c2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9NU004OTc0IGlzIG5vdCBzZXQKKyMgQ09O RklHX0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5OTYgaXMgbm90IHNldAorQ09ORklHX0lOVEVSQ09O TkVDVF9RQ09NX09TTV9MMz1tCisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9RQ00yMjkwIGlz IG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1FDUzQwNCBpcyBub3Qgc2V0Cisj IENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9RRFUxMDAwIGlzIG5vdCBzZXQKK0NPTkZJR19JTlRF UkNPTk5FQ1RfUUNPTV9SUE1IX1BPU1NJQkxFPXkKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9S UE1IPXkKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NBODc3NVAgaXMgbm90IHNldAorIyBD T05GSUdfSU5URVJDT05ORUNUX1FDT01fU0M3MTgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVS Q09OTkVDVF9RQ09NX1NDNzI4MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNP TV9TQzgxODBYIGlzIG5vdCBzZXQKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TQzgyODBYUD15 CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRE02NjAgaXMgbm90IHNldAorIyBDT05GSUdf SU5URVJDT05ORUNUX1FDT01fU0RNNjcwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVD VF9RQ09NX1NETTg0NSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg1 NSBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg2NSBpcyBub3Qgc2V0 CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRFg3NSBpcyBub3Qgc2V0CisjIENPTkZJR19J TlRFUkNPTk5FQ1RfUUNPTV9TTTYxMTUgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNU X1FDT01fU002MzUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNNzE1 MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTgxNTAgaXMgbm90IHNl dAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004MjUwIGlzIG5vdCBzZXQKKyMgQ09ORklH X0lOVEVSQ09OTkVDVF9RQ09NX1NNODM1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5F Q1RfUUNPTV9TTTg0NTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004 NTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODY1MCBpcyBub3Qg c2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9YMUU4MDEwMCBpcyBub3Qgc2V0CiBDT05G SUdfSU5URVJDT05ORUNUX1NBTVNVTkc9eQogQ09ORklHX0lOVEVSQ09OTkVDVF9FWFlOT1M9bQog Q09ORklHX0lOVEVSQ09OTkVDVF9DTEs9bQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saW51eDYuOS9w YXRjaGVzL3NvYy1xY29tLWFkZC1pbi1rZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBh dGNoIGIvc3JjcGtncy9saW51eDYuOS9wYXRjaGVzL3NvYy1xY29tLWFkZC1pbi1rZXJuZWwtcGQt bWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMDAwLi43OTRhYzJmMmQ3N2Y5MgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv bGludXg2LjkvcGF0Y2hlcy9zb2MtcWNvbS1hZGQtaW4ta2VybmVsLXBkLW1hcHBlci1pbXBsZW1l bnRhdGlvbi5wYXRjaApAQCAtMCwwICsxLDE5NTEgQEAKK2h0dHBzOi8vcGF0Y2h3b3JrLmtlcm5l bC5vcmcvcHJvamVjdC9saW51eC1hcm0tbXNtL2NvdmVyLzIwMjQwNjIyLXFjb20tcGQtbWFwcGVy LXY5LTAtYTg0ZWUzNTkxYzhlQGxpbmFyby5vcmcvCisKK2FjY2VwdGVkIHVwc3RyZWFtLCBleHBl Y3RlZCBtYWlubGluZSBpbiA2LjExCisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5i YXJ5c2hrb3ZAbGluYXJvLm9yZz4KK0RhdGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6MDM6NDAgKzAz MDAKK1N1YmplY3Q6IFtQQVRDSCB2OSAxLzVdIHNvYzogcWNvbTogcGRyOiBwcm90ZWN0IGxvY2F0 b3JfYWRkciB3aXRoIHRoZSBtYWluCisgbXV0ZXgKKworSWYgdGhlIHNlcnZpY2UgbG9jYXRvciBz ZXJ2ZXIgaXMgcmVzdGFydGVkIGZhc3QgZW5vdWdoLCB0aGUgUERSIGNhbgorcmV3cml0ZSBsb2Nh dG9yX2FkZHIgZmllbGRzIGNvbmN1cnJlbnRseS4gUHJvdGVjdCB0aGVtIGJ5IHBsYWNpbmcKK21v ZGlmaWNhdGlvbiBvZiB0aG9zZSBmaWVsZHMgdW5kZXIgdGhlIG1haW4gcGRyLT5sb2NrLgorCitG aXhlczogZmJlNjM5YjQ0YTgyICgic29jOiBxY29tOiBJbnRyb2R1Y2UgUHJvdGVjdGlvbiBEb21h aW4gUmVzdGFydCBoZWxwZXJzIikKK1Rlc3RlZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5laWwuYXJt c3Ryb25nQGxpbmFyby5vcmc+ICMgb24gU004NTUwLVFSRAorVGVzdGVkLWJ5OiBTdGVldiBLbGlt YXN6ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkgTWlubmVraGFub3Yg PGFsZXhleW1pbkBwb3N0bWFya2V0b3Mub3JnPgorU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlz aGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorUmV2aWV3ZWQtYnk6IENocmlzIExl dyA8cXVpY19jbGV3QHF1aWNpbmMuY29tPgorLS0tCisgZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50 ZXJmYWNlLmMgfCA2ICsrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZh Y2UuYyBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCitpbmRleCBhMWI2YTQwODFk ZWEuLjc2YTYyYzJlY2M1OCAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVy ZmFjZS5jCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYworQEAgLTc2LDEy ICs3NiwxMiBAQCBzdGF0aWMgaW50IHBkcl9sb2NhdG9yX25ld19zZXJ2ZXIoc3RydWN0IHFtaV9o YW5kbGUgKnFtaSwKKyAJCQkJCSAgICAgIGxvY2F0b3JfaGRsKTsKKyAJc3RydWN0IHBkcl9zZXJ2 aWNlICpwZHM7CisgCisrCW11dGV4X2xvY2soJnBkci0+bG9jayk7CisgCS8qIENyZWF0ZSBhIGxv Y2FsIGNsaWVudCBwb3J0IGZvciBRTUkgY29tbXVuaWNhdGlvbiAqLworIAlwZHItPmxvY2F0b3Jf YWRkci5zcV9mYW1pbHkgPSBBRl9RSVBDUlRSOworIAlwZHItPmxvY2F0b3JfYWRkci5zcV9ub2Rl ID0gc3ZjLT5ub2RlOworIAlwZHItPmxvY2F0b3JfYWRkci5zcV9wb3J0ID0gc3ZjLT5wb3J0Owor IAorLQltdXRleF9sb2NrKCZwZHItPmxvY2spOworIAlwZHItPmxvY2F0b3JfaW5pdF9jb21wbGV0 ZSA9IHRydWU7CisgCW11dGV4X3VubG9jaygmcGRyLT5sb2NrKTsKKyAKK0BAIC0xMDQsMTAgKzEw NCwxMCBAQCBzdGF0aWMgdm9pZCBwZHJfbG9jYXRvcl9kZWxfc2VydmVyKHN0cnVjdCBxbWlfaGFu ZGxlICpxbWksCisgCisgCW11dGV4X2xvY2soJnBkci0+bG9jayk7CisgCXBkci0+bG9jYXRvcl9p bml0X2NvbXBsZXRlID0gZmFsc2U7CistCW11dGV4X3VubG9jaygmcGRyLT5sb2NrKTsKKyAKKyAJ cGRyLT5sb2NhdG9yX2FkZHIuc3Ffbm9kZSA9IDA7CisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX3Bv cnQgPSAwOworKwltdXRleF91bmxvY2soJnBkci0+bG9jayk7CisgfQorIAorIHN0YXRpYyBjb25z dCBzdHJ1Y3QgcW1pX29wcyBwZHJfbG9jYXRvcl9vcHMgPSB7CitAQCAtMzY1LDEyICszNjUsMTQg QEAgc3RhdGljIGludCBwZHJfZ2V0X2RvbWFpbl9saXN0KHN0cnVjdCBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXEgKnJlcSwKKyAJaWYgKHJldCA8IDApCisgCQlyZXR1cm4gcmV0OworIAorKwlt dXRleF9sb2NrKCZwZHItPmxvY2spOworIAlyZXQgPSBxbWlfc2VuZF9yZXF1ZXN0KCZwZHItPmxv Y2F0b3JfaGRsLAorIAkJCSAgICAgICAmcGRyLT5sb2NhdG9yX2FkZHIsCisgCQkJICAgICAgICZ0 eG4sIFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUSwKKyAJCQkgICAgICAgU0VSVlJFR19HRVRf RE9NQUlOX0xJU1RfUkVRX01BWF9MRU4sCisgCQkJICAgICAgIHNlcnZyZWdfZ2V0X2RvbWFpbl9s aXN0X3JlcV9laSwKKyAJCQkgICAgICAgcmVxKTsKKysJbXV0ZXhfdW5sb2NrKCZwZHItPmxvY2sp OworIAlpZiAocmV0IDwgMCkgeworIAkJcW1pX3R4bl9jYW5jZWwoJnR4bik7CisgCQlyZXR1cm4g cmV0OworCitGcm9tOiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5v cmc+CitEYXRlOiBTYXQsIDIyIEp1biAyMDI0IDAxOjAzOjQxICswMzAwCitTdWJqZWN0OiBbUEFU Q0ggdjkgMi81XSBzb2M6IHFjb206IHBkcjogZml4IHBhcnNpbmcgb2YgZG9tYWlucyBsaXN0cwor CitXaGlsZSBwYXJzaW5nIHRoZSBkb21haW5zIGxpc3QsIHN0YXJ0IG9mZnNldHMgZnJvbSAwIHJh dGhlciB0aGFuIGZyb20KK2RvbWFpbnNfcmVhZC4gVGhlIGRvbWFpbnNfcmVhZCBpcyBlcXVhbCB0 byB0aGUgdG90YWwgY291bnQgb2YgdGhlCitkb21haW5zIHdlIGhhdmUgc2Vlbiwgd2hpbGUgdGhl IGRvbWFpbnMgbGlzdCBpbiB0aGUgbWVzc2FnZSBzdGFydHMgZnJvbQorb2Zmc2V0IDAuCisKK0Zp eGVzOiBmYmU2MzliNDRhODIgKCJzb2M6IHFjb206IEludHJvZHVjZSBQcm90ZWN0aW9uIERvbWFp biBSZXN0YXJ0IGhlbHBlcnMiKQorVGVzdGVkLWJ5OiBTdGVldiBLbGltYXN6ZXdza2kgPHN0ZWV2 QGthbGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkgTWlubmVraGFub3YgPGFsZXhleW1pbkBwb3N0 bWFya2V0b3Mub3JnPgorUmV2aWV3ZWQtYnk6IENocmlzIExldyA8cXVpY19jbGV3QHF1aWNpbmMu Y29tPgorVGVzdGVkLWJ5OiBOZWlsIEFybXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9y Zz4gIyBvbiBTTTg1NTAtUVJECitTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0 cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CistLS0KKyBkcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRl cmZhY2UuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKKworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jIGIv ZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKK2luZGV4IDc2YTYyYzJlY2M1OC4uMjE2 MTY2ZTk4ZmFlIDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMK KysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCitAQCAtNDE3LDcgKzQxNyw3 IEBAIHN0YXRpYyBpbnQgcGRyX2xvY2F0ZV9zZXJ2aWNlKHN0cnVjdCBwZHJfaGFuZGxlICpwZHIs IHN0cnVjdCBwZHJfc2VydmljZSAqcGRzKQorIAkJaWYgKHJldCA8IDApCisgCQkJZ290byBvdXQ7 CisgCistCQlmb3IgKGkgPSBkb21haW5zX3JlYWQ7IGkgPCByZXNwLT5kb21haW5fbGlzdF9sZW47 IGkrKykgeworKwkJZm9yIChpID0gMDsgaSA8IHJlc3AtPmRvbWFpbl9saXN0X2xlbjsgaSsrKSB7 CisgCQkJZW50cnkgPSAmcmVzcC0+ZG9tYWluX2xpc3RbaV07CisgCisgCQkJaWYgKHN0cm5sZW4o ZW50cnktPm5hbWUsIHNpemVvZihlbnRyeS0+bmFtZSkpID09IHNpemVvZihlbnRyeS0+bmFtZSkp CisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4K K0RhdGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6MDM6NDIgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCB2 OSAzLzVdIHNvYzogcWNvbTogcGRyOiBleHRyYWN0IFBEUiBtZXNzYWdlIG1hcnNoYWxsaW5nCisg ZGF0YQorCitUaGUgaW4ta2VybmVsIFBEIG1hcHBlciBpcyBnb2luZyB0byB1c2Ugc2FtZSBtZXNz YWdlIHN0cnVjdHVyZXMgYXMgdGhlCitRQ09NX1BEUl9IRUxQRVJTIG1vZHVsZS4gRXh0cmFjdCBt ZXNzYWdlIG1hcnNoYWxsaW5nIGRhdGEgdG8gc2VwYXJhdGUKK21vZHVsZSB0aGF0IGNhbiBiZSB1 c2VkIGJ5IGJvdGggUERSIGhlbHBlcnMgYW5kIGJ5IFBEIG1hcHBlci4KKworUmV2aWV3ZWQtYnk6 IEJyeWFuIE8nRG9ub2dodWUgPGJyeWFuLm9kb25vZ2h1ZUBsaW5hcm8ub3JnPgorVGVzdGVkLWJ5 OiBTdGVldiBLbGltYXN6ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkg TWlubmVraGFub3YgPGFsZXhleW1pbkBwb3N0bWFya2V0b3Mub3JnPgorVGVzdGVkLWJ5OiBOZWls IEFybXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9yZz4gIyBvbiBTTTg1NTAtUVJECitT aWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5v cmc+CistLS0KKyBkcml2ZXJzL3NvYy9xY29tL0tjb25maWcgICAgICAgIHwgICA0ICsKKyBkcml2 ZXJzL3NvYy9xY29tL01ha2VmaWxlICAgICAgIHwgICAxICsKKyBkcml2ZXJzL3NvYy9xY29tL3Bk cl9pbnRlcm5hbC5oIHwgMzA2ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYyB8IDMxOSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAzMzQgaW5zZXJ0aW9u cygrKSwgMjk2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9L Y29uZmlnIGIvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitpbmRleCA1YWYzM2IwZTM0NzAuLjk1 OTczYzZiODI4ZiAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZworKysrIGIv ZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitAQCAtNzUsOCArNzUsMTIgQEAgY29uZmlnIFFDT01f T0NNRU0KKyBjb25maWcgUUNPTV9QRFJfSEVMUEVSUworIAl0cmlzdGF0ZQorIAlzZWxlY3QgUUNP TV9RTUlfSEVMUEVSUworKwlzZWxlY3QgUUNPTV9QRFJfTVNHCisgCWRlcGVuZHMgb24gTkVUCisg CisrY29uZmlnIFFDT01fUERSX01TRworKwl0cmlzdGF0ZQorKworIGNvbmZpZyBRQ09NX1BNSUNf UERDSEFSR0VSX1VMT0cKKyAJdHJpc3RhdGUgIlF1YWxjb21tIFBNSUMgUERDaGFyZ2VyIFVMT0cg ZHJpdmVyIgorIAlkZXBlbmRzIG9uIFJQTVNHCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNv bS9NYWtlZmlsZSBiL2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKK2luZGV4IGNhMGJlY2UwZGZm Zi4uMzExMGFjMzI4OGJjIDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQor KysrIGIvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQorQEAgLTgsNiArOCw3IEBAIG9iai0kKENP TkZJR19RQ09NX0dTQkkpCSs9CXFjb21fZ3NiaS5vCisgb2JqLSQoQ09ORklHX1FDT01fTURUX0xP QURFUikJKz0gbWR0X2xvYWRlci5vCisgb2JqLSQoQ09ORklHX1FDT01fT0NNRU0pCSs9IG9jbWVt Lm8KKyBvYmotJChDT05GSUdfUUNPTV9QRFJfSEVMUEVSUykJKz0gcGRyX2ludGVyZmFjZS5vCisr b2JqLSQoQ09ORklHX1FDT01fUERSX01TRykJKz0gcWNvbV9wZHJfbXNnLm8KKyBvYmotJChDT05G SUdfUUNPTV9QTUlDX0dMSU5LKQkrPSBwbWljX2dsaW5rLm8KKyBvYmotJChDT05GSUdfUUNPTV9Q TUlDX0dMSU5LKQkrPSBwbWljX2dsaW5rX2FsdG1vZGUubworIG9iai0kKENPTkZJR19RQ09NX1BN SUNfUERDSEFSR0VSX1VMT0cpCSs9IHBtaWNfcGRjaGFyZ2VyX3Vsb2cubworZGlmZiAtLWdpdCBh L2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmggYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9p bnRlcm5hbC5oCitpbmRleCAwM2MyODJiN2YxN2UuLjdlNWJiNWE5NTI3NSAxMDA2NDQKKy0tLSBh L2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20v cGRyX2ludGVybmFsLmgKK0BAIC0yOCw4MyArMjgsMTIgQEAgc3RydWN0IHNlcnZyZWdfbG9jYXRp b25fZW50cnkgeworIAl1MzIgaW5zdGFuY2U7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0 IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NhdGlvbl9lbnRyeV9laVtdID0geworLQl7CistCQku ZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJF R19OQU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCist CQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMCwKKy0JCS5v ZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAor LQkJCQkJICAgbmFtZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJ R05FRF80X0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAg ID0gc2l6ZW9mKHUzMiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBl ICAgICAgID0gMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X2xvY2F0aW9uX2VudHJ5LAorLQkJCQkJICAgaW5zdGFuY2UpLAorLQl9LAorLQl7CistCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMV9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0g MSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5P X0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9m ZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorLQkJCQkJICAgc2VydmljZV9k YXRhX3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVE XzRfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2YodTMyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAg ICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9j YXRpb25fZW50cnksCistCQkJCQkgICBzZXJ2aWNlX2RhdGEpLAorLQl9LAorLQl7fQorLX07Cist Cisgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSB7CisgCWNoYXIgc2VydmljZV9u YW1lW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyAJdTggZG9tYWluX29mZnNldF92YWxpZDsK KyAJdTMyIGRvbWFpbl9vZmZzZXQ7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9l bGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpW10gPSB7CistCXsKKy0JCS5k YXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVH X05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0J CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorLQkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0 X3JlcSwKKy0JCQkJCSAgIHNlcnZpY2VfbmFtZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUg ICAgICA9IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9z aXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50 bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1 Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorLQkJCQkJICAgZG9tYWluX29mZnNldF92 YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF80X0JZ VEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9m KHUzMiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0g MHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9k b21haW5fbGlzdF9yZXEsCistCQkJCQkgICBkb21haW5fb2Zmc2V0KSwKKy0JfSwKKy0Je30KKy19 OworLQorIHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwIHsKKyAJc3RydWN0IHFt aV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIAl1OCB0b3RhbF9kb21haW5zX3ZhbGlkOworQEAg LTExNiwyNjQgKzQ1LDQ5IEBAIHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwIHsK KyAJc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnkgZG9tYWluX2xpc3RbU0VSVlJFR19ET01B SU5fTElTVF9MRU5HVEhdOworIH07CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9p bmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFf dHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxl bV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCistCQku YXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5v ZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9y ZXNwLAorLQkJCQkJICAgcmVzcCksCistCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90 eXBlX3YwMV9laSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFH LAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1 OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgx MCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXNwLAorLQkJCQkJICAgdG90YWxfZG9tYWluc192YWxpZCksCistCX0sCistCXsK Ky0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCistCQkuZWxlbV9sZW4g ICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCistCQkuYXJyYXlf dHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKy0JCS5vZmZzZXQg ICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAor LQkJCQkJICAgdG90YWxfZG9tYWlucyksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9 IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlw ZSAgICAgICA9IDB4MTEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2Vy dnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKy0JCQkJCSAgIGRiX3Jldl9jb3VudF92YWxpZCks CistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCist CQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiks CistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMSwK Ky0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5f bGlzdF9yZXNwLAorLQkJCQkJICAgZGJfcmV2X2NvdW50KSwKKy0JfSwKKy0JeworLQkJLmRhdGFf dHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5l bGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAor LQkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9m KHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAgZG9tYWluX2xp c3RfdmFsaWQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfREFUQV9MRU4s CistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4 KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEy LAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFp bl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdF9sZW4pLAorLQl9LAorLQl7CistCQku ZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJF R19ET01BSU5fTElTVF9MRU5HVEgsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0 IHNlcnZyZWdfbG9jYXRpb25fZW50cnkpLAorLQkJLmFycmF5X3R5cGUJPSBWQVJfTEVOX0FSUkFZ LAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNl dG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAgZG9tYWlu X2xpc3QpLAorLQkJLmVpX2FycmF5ICAgICAgPSBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpLAor LQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVx IHsKKyAJdTggZW5hYmxlOworIAljaGFyIHNlcnZpY2VfcGF0aFtTRVJWUkVHX05BTUVfTEVOR1RI ICsgMV07CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJl Z19yZWdpc3Rlcl9saXN0ZW5lcl9yZXFfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX1VOU0lHTkVEXzFfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxl bV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0J CS50bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCistCQkJCQkgICBlbmFibGUpLAor LQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVu ICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2YoY2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAg ICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X3JlZ2lzdGVyX2xpc3RlbmVyX3JlcSwKKy0JCQkJCSAgIHNlcnZpY2VfcGF0aCksCistCX0sCist CXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwIHsKKyAJ c3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIAl1OCBjdXJyX3N0YXRlX3ZhbGlk OworIAllbnVtIHNlcnZyZWdfc2VydmljZV9zdGF0ZSBjdXJyX3N0YXRlOworIH07CisgCistc3Rh dGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJf cmVzcF9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorLQkJ LmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3Qg cW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQku dGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3Ry dWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcCwKKy0JCQkJCSAgIHJlc3ApLAorLQkJ LmVpX2FycmF5ICAgICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCistCX0sCistCXsKKy0J CS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEs CistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19B UlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorLQkJCQkJICAg Y3Vycl9zdGF0ZV92YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9T SUdORURfNF9CWVRFX0VOVU0sCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6 ZSAgICAgID0gc2l6ZW9mKGVudW0gc2VydnJlZ19zZXJ2aWNlX3N0YXRlKSwKKy0JCS5hcnJheV90 eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAg ICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcCwK Ky0JCQkJCSAgIGN1cnJfc3RhdGUpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZy ZWdfcmVzdGFydF9wZF9yZXEgeworIAljaGFyIHNlcnZpY2VfcGF0aFtTRVJWUkVHX05BTUVfTEVO R1RIICsgMV07CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2Vy dnJlZ19yZXN0YXJ0X3BkX3JlcV9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBR TUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEs CistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5P X0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9 IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxLAorLQkJCQkJICAgc2Vydmlj ZV9wYXRoKSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2cmVnX3Jlc3RhcnRfcGRf cmVzcCB7CisgCXN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEgcmVzcDsKKyB9OworIAorLXN0 YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcF9l aVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorLQkJLmVsZW1f bGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3QgcW1pX3Jl c3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5 cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNl cnZyZWdfcmVzdGFydF9wZF9yZXNwLAorLQkJCQkJICAgcmVzcCksCistCQkuZWlfYXJyYXkgICAg ICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVj dCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kIHsKKyAJZW51bSBzZXJ2cmVnX3NlcnZpY2Vfc3Rh dGUgY3Vycl9zdGF0ZTsKKyAJY2hhciBzZXJ2aWNlX3BhdGhbU0VSVlJFR19OQU1FX0xFTkdUSCAr IDFdOworIAl1MTYgdHJhbnNhY3Rpb25faWQ7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0 IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdID0geworLQl7Cist CQkuZGF0YV90eXBlICAgICAgPSBRTUlfU0lHTkVEXzRfQllURV9FTlVNLAorLQkJLmVsZW1fbGVu ICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorLQkJLmFycmF5 X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0 ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwKKy0J CQkJCSAgIGN1cnJfc3RhdGUpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlf U1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCist CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FS UkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9m ZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorLQkJCQkJICAgc2Vydmlj ZV9wYXRoKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJf QllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXpl b2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAg PSAweDAzLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3Rh dGVfdXBkYXRlZF9pbmQsCistCQkJCQkgICB0cmFuc2FjdGlvbl9pZCksCistCX0sCistCXt9Cist fTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSB7CisgCWNoYXIgc2VydmljZV9wYXRo W1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyAJdTE2IHRyYW5zYWN0aW9uX2lkOworIH07Cisg Cistc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXFf ZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKy0JCS5lbGVt X2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorLQkJLmVsZW1fc2l6ZSAgICAg ID0gc2l6ZW9mKGNoYXIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlw ZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2Vy dnJlZ19zZXRfYWNrX3JlcSwKKy0JCQkJCSAgIHNlcnZpY2VfcGF0aCksCistCX0sCistCXsKKy0J CS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCistCQkuZWxlbV9sZW4gICAg ICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCistCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVxLAorLQkJCQkJICAgdHJh bnNhY3Rpb25faWQpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfc2V0X2Fj a19yZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIH07CisgCist c3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2Vp W10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9s ZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVz cG9uc2VfdHlwZV92MDEpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlw ZSAgICAgICA9IDB4MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2Vy dnJlZ19zZXRfYWNrX3Jlc3AsCistCQkJCQkgICByZXNwKSwKKy0JCS5laV9hcnJheSAgICAgICA9 IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0Je30KKy19OworK2V4dGVybiBjb25z dCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpW107CisrZXh0 ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jl cV9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2dldF9k b21haW5fbGlzdF9yZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZv IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVj dCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcF9laVtdOworK2V4 dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxX2Vp W107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9w ZF9yZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdf c3RhdGVfdXBkYXRlZF9pbmRfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2lu Zm8gc2VydnJlZ19zZXRfYWNrX3JlcV9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2Vs ZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVzcF9laVtdOworIAorICNlbmRpZgorZGlmZiAtLWdp dCBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMgYi9kcml2ZXJzL3NvYy9xY29tL3Fj b21fcGRyX21zZy5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAwLi45 YjQ2ZjQyYWExNDYKKy0tLSAvZGV2L251bGwKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9w ZHJfbXNnLmMKK0BAIC0wLDAgKzEsMzE5IEBACisrLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAKKysvKgorKyAqIENvcHlyaWdodCAoQykgMjAyMCBUaGUgTGludXggRm91bmRhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysgKi8KKysKKysjaW5jbHVkZSA8bGludXgvbW9kdWxl Lmg+CisrI2luY2x1ZGUgPGxpbnV4L3NvYy9xY29tL3FtaS5oPgorKworKyNpbmNsdWRlICJwZHJf aW50ZXJuYWwuaCIKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY2F0 aW9uX2VudHJ5X2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcs CisrCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVt X3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisr CQkudGx2X3R5cGUgICAgICAgPSAwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3Ry dWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCisrCQkJCQkgICBuYW1lKSwKKysJfSwKKysJewor KwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKysJCS5lbGVtX2xlbiAg ICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKysJCS5hcnJheV90 eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAwLAorKwkJLm9mZnNldCAgICAg ICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCisrCQkJCQkgICBp bnN0YW5jZSksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8x X0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6 ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAg PSAwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRp b25fZW50cnksCisrCQkJCQkgICBzZXJ2aWNlX2RhdGFfdmFsaWQpLAorKwl9LAorKwl7CisrCQku ZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAg ID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJ PSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJCSAgIHNlcnZp Y2VfZGF0YSksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX2xv Y2F0aW9uX2VudHJ5X2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0g UU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAx LAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBO T19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorKwkJCQkJICAg c2VydmljZV9uYW1lKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9G TEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVv Zih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0g MHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9k b21haW5fbGlzdF9yZXEsCisrCQkJCQkgICBkb21haW5fb2Zmc2V0X3ZhbGlkKSwKKysJfSwKKysJ eworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKysJCS5lbGVtX2xl biAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKysJCS5hcnJh eV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorKwkJLm9mZnNl dCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSwK KysJCQkJCSAgIGRvbWFpbl9vZmZzZXQpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJP TF9HUEwoc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpKTsKKysKKytjb25zdCBzdHJ1Y3Qg cW1pX2VsZW1faW5mbyBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwX2VpW10gPSB7CisrCXsK KysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCisrCQkuZWxlbV9sZW4gICAgICAgPSAx LAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92 MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4 MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9t YWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAgPSBxbWlf cmVzcG9uc2VfdHlwZV92MDFfZWksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFN SV9PUFRfRkxBRywKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAg PSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAg ICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIHRvdGFsX2RvbWFpbnNfdmFsaWQpLAor Kwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorKwkJ LmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAor KwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisr CQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xp c3RfcmVzcCwKKysJCQkJCSAgIHRvdGFsX2RvbWFpbnMpLAorKwl9LAorKwl7CisrCQkuZGF0YV90 eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVs ZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisr CQkudGx2X3R5cGUgICAgICAgPSAweDExLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yo c3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCisrCQkJCQkgICBkYl9yZXZfY291 bnRfdmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURf Ml9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNp emVvZih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAg ICA9IDB4MTEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19n ZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIGRiX3Jldl9jb3VudCksCisrCX0sCisrCXsK KysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKysJCS5lbGVtX2xlbiAgICAgICA9 IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBO T19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCisrCQkub2Zmc2V0ICAgICAgICAg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAg IGRvbWFpbl9saXN0X3ZhbGlkKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1J X0RBVEFfTEVOLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9 IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAg ICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9tYWluX2xpc3RfbGVuKSwKKysJfSwK KysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAg ICA9IFNFUlZSRUdfRE9NQUlOX0xJU1RfTEVOR1RILAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6 ZW9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5KSwKKysJCS5hcnJheV90eXBlCT0gVkFS X0xFTl9BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCisrCQkub2Zmc2V0ICAgICAg ICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJ CSAgIGRvbWFpbl9saXN0KSwKKysJCS5laV9hcnJheSAgICAgID0gc2VydnJlZ19sb2NhdGlvbl9l bnRyeV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfZ2V0 X2RvbWFpbl9saXN0X3Jlc3BfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNl cnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUg ICAgICA9IFFNSV9VTlNJR05FRF8xX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVks CisrCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0 b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxLAorKwkJCQkJICAgZW5hYmxl KSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVt X2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAg ID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlw ZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2Vy dnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9 LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5l cl9yZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0 ZXJfbGlzdGVuZXJfcmVzcF9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlf U1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNp emVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKysJCS5hcnJheV90eXBlCT0gTk9f QVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNldCAgICAgICAgID0g b2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVzcCwKKysJCQkJCSAg IHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCisr CX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKysJCS5lbGVtX2xl biAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5 X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0 ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNw LAorKwkJCQkJICAgY3Vycl9zdGF0ZV92YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUg ICAgICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0sCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAor KwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGVudW0gc2VydnJlZ19zZXJ2aWNlX3N0YXRlKSwK KysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAor KwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlz dGVuZXJfcmVzcCwKKysJCQkJCSAgIGN1cnJfc3RhdGUpLAorKwl9LAorKwl7fQorK307CisrRVhQ T1JUX1NZTUJPTF9HUEwoc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpKTsKKysKKytj b25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxX2VpW10gPSB7 CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAg ICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVv ZihjaGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAg PSAweDAxLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVz dGFydF9wZF9yZXEsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAorKwl7fQorK307Cisr RVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19yZXN0YXJ0X3BkX3JlcV9laSk7CisrCisrY29uc3Qg c3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3BfZWlbXSA9IHsKKysJ eworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9 IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBl X3YwMSksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0g MHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3Jlc3Rh cnRfcGRfcmVzcCwKKysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAgPSBxbWlfcmVz cG9uc2VfdHlwZV92MDFfZWksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChz ZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcF9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2lu Zm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBl ICAgICAgPSBRTUlfU0lHTkVEXzRfQllURV9FTlVNLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwK KysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19B UlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwKKysJCQkJCSAgIGN1cnJf c3RhdGUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorKwkJ LmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXpl ICAgICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRs dl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorKwkJCQkJICAgc2VydmljZV9wYXRoKSwKKysJ fSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKysJCS5l bGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKysJ CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAzLAorKwkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9p bmQsCisrCQkJCQkgICB0cmFuc2FjdGlvbl9pZCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRf U1lNQk9MX0dQTChzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpKTsKKysKKytjb25zdCBzdHJ1 Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVxX2VpW10gPSB7CisrCXsKKysJCS5k YXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVH X05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKysJ CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorKwkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc2V0X2Fja19yZXEsCisr CQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBR TUlfVU5TSUdORURfMl9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3Np emUgICAgICA9IHNpemVvZih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50 bHZfdHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1 Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSwKKysJCQkJCSAgIHRyYW5zYWN0aW9uX2lkKSwKKysJfSwK KysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfc2V0X2Fja19yZXFfZWkpOwor KworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpW10g PSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCisrCQkuZWxlbV9sZW4g ICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9u c2VfdHlwZV92MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAg ICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19zZXRfYWNrX3Jlc3AsCisrCQkJCQkgICByZXNwKSwKKysJCS5laV9hcnJheSAgICAgICA9IHFt aV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xf R1BMKHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpKTsKKysKKytNT0RVTEVfTElDRU5TRSgiR1BMIik7 CisrTU9EVUxFX0RFU0NSSVBUSU9OKCJRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFpbiBtZXNzYWdl cyBkYXRhIik7CisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGlu YXJvLm9yZz4KK0RhdGU6IFNhdCwgMjIgSnVuIDIwMjQgMDE6MDM6NDMgKzAzMDAKK1N1YmplY3Q6 IFtQQVRDSCB2OSA0LzVdIHNvYzogcWNvbTogYWRkIHBkLW1hcHBlciBpbXBsZW1lbnRhdGlvbgor CitFeGlzdGluZyB1c2Vyc3BhY2UgcHJvdGVjdGlvbiBkb21haW4gbWFwcGVyIGltcGxlbWVudGF0 aW9uIGhhcyBzZXZlcmFsCitpc3N1ZS4gSXQgZG9lc24ndCBwbGF5IHdlbGwgd2l0aCBDT05GSUdf RVhUUkFfRklSTVdBUkUsIGl0IGRvZXNuJ3QKK3JlcmVhZCBKU09OIGZpbGVzIGlmIGZpcm13YXJl IGxvY2F0aW9uIGlzIGNoYW5nZWQgKG9yIGlmIGZpcm13YXJlIHdhcworbm90IGF2YWlsYWJsZSBh dCB0aGUgdGltZSBwZC1tYXBwZXIgd2FzIHN0YXJ0ZWQgYnV0IHRoZSBjb3JyZXNwb25kaW5nCitk aXJlY3RvcnkgaXMgbW91bnRlZCBsYXRlciksIGV0Yy4KKworUHJvdmlkZSBpbi1rZXJuZWwgc2Vy dmljZSBpbXBsZW1lbnRpbmcgcHJvdGVjdGlvbiBkb21haW4gbWFwcGluZworcmVxdWlyZWQgdG8g d29yayB3aXRoIHNldmVyYWwgc2VydmljZXMsIHdoaWNoIGFyZSBwcm92aWRlZCBieSB0aGUgRFNQ CitmaXJtd2FyZS4KKworVGhpcyBtb2R1bGUgaXMgbG9hZGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhl IHJlbW90ZXByb2MgZHJpdmVycyB3aGVuCituZWNlc3NhcnkgdmlhIHRoZSBzeW1ib2wgZGVwZW5k ZW5jeS4gSXQgdXNlcyBhIHJvb3Qgbm9kZSB0byBtYXRjaCBhCitwcm90ZWN0aW9uIGRvbWFpbnMg bWFwIGZvciBhIHBhcnRpY3VsYXIgYm9hcmQuIEl0IGlzIG5vdCBwb3NzaWJsZSB0bworaW1wbGVt ZW50IGl0IGFzIGEgJ2RyaXZlcicgYXMgdGhlcmUgaXMgbm8gY29ycmVzcG9uZGluZyBkZXZpY2Uu CisKK1Rlc3RlZC1ieTogU3RlZXYgS2xpbWFzemV3c2tpIDxzdGVldkBrYWxpLm9yZz4KK1Rlc3Rl ZC1ieTogQWxleGV5IE1pbm5la2hhbm92IDxhbGV4ZXltaW5AcG9zdG1hcmtldG9zLm9yZz4KK1Jl dmlld2VkLWJ5OiBDaHJpcyBMZXcgPHF1aWNfY2xld0BxdWljaW5jLmNvbT4KK1Rlc3RlZC1ieTog TmVpbCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ryb25nQGxpbmFyby5vcmc+ICMgb24gU004NTUwLVFS RAorU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5h cm8ub3JnPgorLS0tCisgZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnICAgICAgICAgIHwgIDExICsK KyBkcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlICAgICAgICAgfCAgIDEgKworIGRyaXZlcnMvc29j L3Fjb20vcGRyX2ludGVybmFsLmggICB8ICAxNCArCisgZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bk X21hcHBlci5jIHwgNjc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisg ZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYyAgIHwgIDM0ICsrCisgNSBmaWxlcyBjaGFu Z2VkLCA3MzYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9L Y29uZmlnIGIvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitpbmRleCA5NTk3M2M2YjgyOGYuLjBh MmYyYmZkNzg2MyAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZworKysrIGIv ZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitAQCAtNzIsNiArNzIsMTcgQEAgY29uZmlnIFFDT01f T0NNRU0KKyAJICByZXF1aXJlbWVudHMuIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgYnkgdGhlIEdQ VSwgY2FtZXJhL3ZpZGVvLCBhbmQKKyAJICBhdWRpbyBjb21wb25lbnRzIG9uIHNvbWUgU25hcGRy YWdvbiBTb0NzLgorIAorK2NvbmZpZyBRQ09NX1BEX01BUFBFUgorKwl0cmlzdGF0ZSAiUXVhbGNv bW0gUHJvdGVjdGlvbiBEb21haW4gTWFwcGVyIgorKwlzZWxlY3QgUUNPTV9RTUlfSEVMUEVSUwor KwlkZXBlbmRzIG9uIE5FVCAmJiBRUlRSCisrCWRlZmF1bHQgUUNPTV9SUFJPQ19DT01NT04KKysJ aGVscAorKwkgIFRoZSBQcm90ZWN0aW9uIERvbWFpbiBNYXBwZXIgbWFwcyByZWdpc3RlcmVkIHNl cnZpY2VzIHRvIHRoZSBkb21haW5zCisrCSAgYW5kIGluc3RhbmNlcyBoYW5kbGVkIGJ5IHRoZSBy ZW1vdGUgRFNQcy4gVGhpcyBpcyBhIGtlcm5lbC1zcGFjZQorKwkgIGltcGxlbWVudGF0aW9uIG9m IHRoZSBzZXJ2aWNlLiBJdCBpcyBhIHNpbXBsZXIgYWx0ZXJuYXRpdmUgdG8gdGhlCisrCSAgdXNl cnNwYWNlIGRhZW1vbi4KKysKKyBjb25maWcgUUNPTV9QRFJfSEVMUEVSUworIAl0cmlzdGF0ZQor IAlzZWxlY3QgUUNPTV9RTUlfSEVMUEVSUworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20v TWFrZWZpbGUgYi9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCitpbmRleCAzMTEwYWMzMjg4YmMu LmQzNTYwZjg2MTA4NSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKKysr KyBiL2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKK0BAIC03LDYgKzcsNyBAQCBvYmotJChDT05G SUdfUUNPTV9DT01NQU5EX0RCKSArPSBjbWQtZGIubworIG9iai0kKENPTkZJR19RQ09NX0dTQkkp CSs9CXFjb21fZ3NiaS5vCisgb2JqLSQoQ09ORklHX1FDT01fTURUX0xPQURFUikJKz0gbWR0X2xv YWRlci5vCisgb2JqLSQoQ09ORklHX1FDT01fT0NNRU0pCSs9IG9jbWVtLm8KKytvYmotJChDT05G SUdfUUNPTV9QRF9NQVBQRVIpCSs9IHFjb21fcGRfbWFwcGVyLm8KKyBvYmotJChDT05GSUdfUUNP TV9QRFJfSEVMUEVSUykJKz0gcGRyX2ludGVyZmFjZS5vCisgb2JqLSQoQ09ORklHX1FDT01fUERS X01TRykJKz0gcWNvbV9wZHJfbXNnLm8KKyBvYmotJChDT05GSUdfUUNPTV9QTUlDX0dMSU5LKQkr PSBwbWljX2dsaW5rLm8KK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5h bC5oIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaAoraW5kZXggN2U1YmI1YTk1Mjc1 Li44ZDE3ZjdmYjc5ZTcgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5h bC5oCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oCitAQCAtMTMsNiArMTMs OCBAQAorICNkZWZpbmUgU0VSVlJFR19TRVRfQUNLX1JFUQkJCQkweDIzCisgI2RlZmluZSBTRVJW UkVHX1JFU1RBUlRfUERfUkVRCQkJCTB4MjQKKyAKKysjZGVmaW5lIFNFUlZSRUdfTE9DX1BGUl9S RVEJCQkJMHgyNAorKworICNkZWZpbmUgU0VSVlJFR19ET01BSU5fTElTVF9MRU5HVEgJCQkzMgor ICNkZWZpbmUgU0VSVlJFR19SRVNUQVJUX1BEX1JFUV9NQVhfTEVOCQkJNjcKKyAjZGVmaW5lIFNF UlZSRUdfUkVHSVNURVJfTElTVEVORVJfUkVRX0xFTgkJNzEKK0BAIC0yMCw2ICsyMiw3IEBACisg I2RlZmluZSBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVFfTUFYX0xFTgkJNzQKKyAjZGVmaW5l IFNFUlZSRUdfU1RBVEVfVVBEQVRFRF9JTkRfTUFYX0xFTgkJNzkKKyAjZGVmaW5lIFNFUlZSRUdf R0VUX0RPTUFJTl9MSVNUX1JFU1BfTUFYX0xFTgkJMjM4OQorKyNkZWZpbmUgU0VSVlJFR19MT0Nf UEZSX1JFU1BfTUFYX0xFTgkJCTEwCisgCisgc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnkg eworIAljaGFyIG5hbWVbU0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOworQEAgLTc5LDYgKzgyLDE1 IEBAIHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVzcCB7CisgCXN0cnVjdCBxbWlfcmVzcG9uc2Vf dHlwZV92MDEgcmVzcDsKKyB9OworIAorK3N0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVxIHsKKysJ Y2hhciBzZXJ2aWNlW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKysJY2hhciByZWFzb25bMjU3 XTsKKyt9OworKworK3N0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVzcCB7CisrCXN0cnVjdCBxbWlf cmVzcG9uc2VfdHlwZV92MDEgcnNwOworK307CisrCisgZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlf ZWxlbV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpW107CisgZXh0 ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jl c3BfZWlbXTsKK0BAIC04OSw1ICsxMDEsNyBAQCBleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3BfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3RydWN0 IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdOworIGV4dGVybiBj b25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVxX2VpW107CisgZXh0 ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpW107 CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jX3Bmcl9yZXFf ZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZy X3Jlc3BfZWlbXTsKKyAKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Fj b21fcGRfbWFwcGVyLmMgYi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRfbWFwcGVyLmMKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMDAuLmVjYjY0ZjA2NTI3ZgorLS0tIC9k ZXYvbnVsbAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3BkX21hcHBlci5jCitAQCAtMCww ICsxLDY3NiBAQAorKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKysv KgorKyAqIFF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIG1hcHBlcgorKyAqCisrICogQ29weXJp Z2h0IChjKSAyMDIzIExpbmFybyBMdGQuCisrICovCisrCisrI2luY2x1ZGUgPGxpbnV4L2F1eGls aWFyeV9idXMuaD4KKysjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisrI2luY2x1ZGUgPGxpbnV4 L21vZF9kZXZpY2V0YWJsZS5oPgorKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKysjaW5jbHVk ZSA8bGludXgvb2YuaD4KKysjaW5jbHVkZSA8bGludXgvcmVmY291bnQuaD4KKysjaW5jbHVkZSA8 bGludXgvc29jL3Fjb20vcW1pLmg+CisrCisrI2luY2x1ZGUgInBkcl9pbnRlcm5hbC5oIgorKwor KyNkZWZpbmUgU0VSVlJFR19RTUlfVkVSU0lPTiAweDEwMQorKyNkZWZpbmUgU0VSVlJFR19RTUlf SU5TVEFOQ0UgMAorKworKyNkZWZpbmUgVE1TX1NFUlZSRUdfU0VSVklDRSAidG1zL3NlcnZyZWci CisrCisrc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIHsKKysJY29uc3QgY2hhciAqZG9tYWlu OworKwl1MzIgaW5zdGFuY2VfaWQ7CisrCS8qIE5VTEwtdGVybWluYXRlZCBhcnJheSAqLworKwlj b25zdCBjaGFyICogc2VydmljZXNbXTsKKyt9OworKworK3N0cnVjdCBxY29tX3BkbV9kb21haW4g eworKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisrCWNvbnN0IGNoYXIgKm5hbWU7CisrCXUzMiBp bnN0YW5jZV9pZDsKKyt9OworKworK3N0cnVjdCBxY29tX3BkbV9zZXJ2aWNlIHsKKysJc3RydWN0 IGxpc3RfaGVhZCBsaXN0OworKwlzdHJ1Y3QgbGlzdF9oZWFkIGRvbWFpbnM7CisrCWNvbnN0IGNo YXIgKm5hbWU7CisrfTsKKysKKytzdHJ1Y3QgcWNvbV9wZG1fZGF0YSB7CisrCXJlZmNvdW50X3Qg cmVmY250OworKwlzdHJ1Y3QgcW1pX2hhbmRsZSBoYW5kbGU7CisrCXN0cnVjdCBsaXN0X2hlYWQg c2VydmljZXM7CisrfTsKKysKKytzdGF0aWMgREVGSU5FX01VVEVYKHFjb21fcGRtX211dGV4KTsg LyogcHJvdGVjdHMgX19xY29tX3BkbV9kYXRhICovCisrc3RhdGljIHN0cnVjdCBxY29tX3BkbV9k YXRhICpfX3Fjb21fcGRtX2RhdGE7CisrCisrc3RhdGljIHN0cnVjdCBxY29tX3BkbV9zZXJ2aWNl ICpxY29tX3BkbV9maW5kKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhLAorKwkJCQkJICAgICAg Y29uc3QgY2hhciAqbmFtZSkKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpzZXJ2aWNl OworKworKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHNlcnZpY2UsICZkYXRhLT5zZXJ2aWNlcywgbGlz dCkgeworKwkJaWYgKCFzdHJjbXAoc2VydmljZS0+bmFtZSwgbmFtZSkpCisrCQkJcmV0dXJuIHNl cnZpY2U7CisrCX0KKysKKysJcmV0dXJuIE5VTEw7CisrfQorKworK3N0YXRpYyBpbnQgcWNvbV9w ZG1fYWRkX3NlcnZpY2VfZG9tYWluKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhLAorKwkJCQkg ICAgICAgY29uc3QgY2hhciAqc2VydmljZV9uYW1lLAorKwkJCQkgICAgICAgY29uc3QgY2hhciAq ZG9tYWluX25hbWUsCisrCQkJCSAgICAgICB1MzIgaW5zdGFuY2VfaWQpCisreworKwlzdHJ1Y3Qg cWNvbV9wZG1fc2VydmljZSAqc2VydmljZTsKKysJc3RydWN0IHFjb21fcGRtX2RvbWFpbiAqZG9t YWluOworKworKwlzZXJ2aWNlID0gcWNvbV9wZG1fZmluZChkYXRhLCBzZXJ2aWNlX25hbWUpOwor KwlpZiAoc2VydmljZSkgeworKwkJbGlzdF9mb3JfZWFjaF9lbnRyeShkb21haW4sICZzZXJ2aWNl LT5kb21haW5zLCBsaXN0KSB7CisrCQkJaWYgKCFzdHJjbXAoZG9tYWluLT5uYW1lLCBkb21haW5f bmFtZSkpCisrCQkJCXJldHVybiAtRUJVU1k7CisrCQl9CisrCX0gZWxzZSB7CisrCQlzZXJ2aWNl ID0ga3phbGxvYyhzaXplb2YoKnNlcnZpY2UpLCBHRlBfS0VSTkVMKTsKKysJCWlmICghc2Vydmlj ZSkKKysJCQlyZXR1cm4gLUVOT01FTTsKKysKKysJCUlOSVRfTElTVF9IRUFEKCZzZXJ2aWNlLT5k b21haW5zKTsKKysJCXNlcnZpY2UtPm5hbWUgPSBzZXJ2aWNlX25hbWU7CisrCisrCQlsaXN0X2Fk ZF90YWlsKCZzZXJ2aWNlLT5saXN0LCAmZGF0YS0+c2VydmljZXMpOworKwl9CisrCisrCWRvbWFp biA9IGt6YWxsb2Moc2l6ZW9mKCpkb21haW4pLCBHRlBfS0VSTkVMKTsKKysJaWYgKCFkb21haW4p IHsKKysJCWlmIChsaXN0X2VtcHR5KCZzZXJ2aWNlLT5kb21haW5zKSkgeworKwkJCWxpc3RfZGVs KCZzZXJ2aWNlLT5saXN0KTsKKysJCQlrZnJlZShzZXJ2aWNlKTsKKysJCX0KKysKKysJCXJldHVy biAtRU5PTUVNOworKwl9CisrCisrCWRvbWFpbi0+bmFtZSA9IGRvbWFpbl9uYW1lOworKwlkb21h aW4tPmluc3RhbmNlX2lkID0gaW5zdGFuY2VfaWQ7CisrCWxpc3RfYWRkX3RhaWwoJmRvbWFpbi0+ bGlzdCwgJnNlcnZpY2UtPmRvbWFpbnMpOworKworKwlyZXR1cm4gMDsKKyt9CisrCisrc3RhdGlj IGludCBxY29tX3BkbV9hZGRfZG9tYWluKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhLAorKwkJ CSAgICAgICBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKmRvbWFpbikKKyt7Cisr CWludCByZXQ7CisrCWludCBpOworKworKwlyZXQgPSBxY29tX3BkbV9hZGRfc2VydmljZV9kb21h aW4oZGF0YSwKKysJCQkJCSAgVE1TX1NFUlZSRUdfU0VSVklDRSwKKysJCQkJCSAgZG9tYWluLT5k b21haW4sCisrCQkJCQkgIGRvbWFpbi0+aW5zdGFuY2VfaWQpOworKwlpZiAocmV0KQorKwkJcmV0 dXJuIHJldDsKKysKKysJZm9yIChpID0gMDsgZG9tYWluLT5zZXJ2aWNlc1tpXTsgaSsrKSB7Cisr CQlyZXQgPSBxY29tX3BkbV9hZGRfc2VydmljZV9kb21haW4oZGF0YSwKKysJCQkJCQkgIGRvbWFp bi0+c2VydmljZXNbaV0sCisrCQkJCQkJICBkb21haW4tPmRvbWFpbiwKKysJCQkJCQkgIGRvbWFp bi0+aW5zdGFuY2VfaWQpOworKwkJaWYgKHJldCkKKysJCQlyZXR1cm4gcmV0OworKwl9CisrCisr CXJldHVybiAwOworKworK30KKysKKytzdGF0aWMgdm9pZCBxY29tX3BkbV9mcmVlX2RvbWFpbnMo c3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEpCisreworKwlzdHJ1Y3QgcWNvbV9wZG1fc2Vydmlj ZSAqc2VydmljZSwgKnRzZXJ2aWNlOworKwlzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluICpkb21haW4s ICp0ZG9tYWluOworKworKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoc2VydmljZSwgdHNlcnZp Y2UsICZkYXRhLT5zZXJ2aWNlcywgbGlzdCkgeworKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZl KGRvbWFpbiwgdGRvbWFpbiwgJnNlcnZpY2UtPmRvbWFpbnMsIGxpc3QpIHsKKysJCQlsaXN0X2Rl bCgmZG9tYWluLT5saXN0KTsKKysJCQlrZnJlZShkb21haW4pOworKwkJfQorKworKwkJbGlzdF9k ZWwoJnNlcnZpY2UtPmxpc3QpOworKwkJa2ZyZWUoc2VydmljZSk7CisrCX0KKyt9CisrCisrc3Rh dGljIHZvaWQgcWNvbV9wZG1fZ2V0X2RvbWFpbl9saXN0KHN0cnVjdCBxbWlfaGFuZGxlICpxbWks CisrCQkJCSAgICAgc3RydWN0IHNvY2thZGRyX3FydHIgKnNxLAorKwkJCQkgICAgIHN0cnVjdCBx bWlfdHhuICp0eG4sCisrCQkJCSAgICAgY29uc3Qgdm9pZCAqZGVjb2RlZCkKKyt7CisrCXN0cnVj dCBxY29tX3BkbV9kYXRhICpkYXRhID0gY29udGFpbmVyX29mKHFtaSwgc3RydWN0IHFjb21fcGRt X2RhdGEsIGhhbmRsZSk7CisrCWNvbnN0IHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9y ZXEgKnJlcSA9IGRlY29kZWQ7CisrCXN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNw ICpyc3A7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpzZXJ2aWNlOworKwl1MzIgb2Zmc2V0 OworKwlpbnQgcmV0OworKworKwlyc3AgPSBremFsbG9jKHNpemVvZigqcnNwKSwgR0ZQX0tFUk5F TCk7CisrCWlmICghcnNwKQorKwkJcmV0dXJuOworKworKwlvZmZzZXQgPSByZXEtPmRvbWFpbl9v ZmZzZXRfdmFsaWQgPyByZXEtPmRvbWFpbl9vZmZzZXQgOiAwOworKworKwlyc3AtPnJlc3AucmVz dWx0ID0gUU1JX1JFU1VMVF9TVUNDRVNTX1YwMTsKKysJcnNwLT5yZXNwLmVycm9yID0gUU1JX0VS Ul9OT05FX1YwMTsKKysKKysJcnNwLT5kYl9yZXZfY291bnRfdmFsaWQgPSB0cnVlOworKwlyc3At PmRiX3Jldl9jb3VudCA9IDE7CisrCisrCXJzcC0+dG90YWxfZG9tYWluc192YWxpZCA9IHRydWU7 CisrCXJzcC0+dG90YWxfZG9tYWlucyA9IDA7CisrCisrCW11dGV4X2xvY2soJnFjb21fcGRtX211 dGV4KTsKKysKKysJc2VydmljZSA9IHFjb21fcGRtX2ZpbmQoZGF0YSwgcmVxLT5zZXJ2aWNlX25h bWUpOworKwlpZiAoc2VydmljZSkgeworKwkJc3RydWN0IHFjb21fcGRtX2RvbWFpbiAqZG9tYWlu OworKworKwkJcnNwLT5kb21haW5fbGlzdF92YWxpZCA9IHRydWU7CisrCQlyc3AtPmRvbWFpbl9s aXN0X2xlbiA9IDA7CisrCisrCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGRvbWFpbiwgJnNlcnZpY2Ut PmRvbWFpbnMsIGxpc3QpIHsKKysJCQl1MzIgaSA9IHJzcC0+dG90YWxfZG9tYWlucysrOworKwor KwkJCWlmIChpID49IG9mZnNldCAmJiBpIDwgU0VSVlJFR19ET01BSU5fTElTVF9MRU5HVEgpIHsK KysJCQkJdTMyIGogPSByc3AtPmRvbWFpbl9saXN0X2xlbisrOworKworKwkJCQlzdHJzY3B5KHJz cC0+ZG9tYWluX2xpc3Rbal0ubmFtZSwgZG9tYWluLT5uYW1lLAorKwkJCQkJc2l6ZW9mKHJzcC0+ ZG9tYWluX2xpc3RbaV0ubmFtZSkpOworKwkJCQlyc3AtPmRvbWFpbl9saXN0W2pdLmluc3RhbmNl ID0gZG9tYWluLT5pbnN0YW5jZV9pZDsKKysKKysJCQkJcHJfZGVidWcoIlBETTogZm91bmQgJXMg LyAlZFxuIiwgZG9tYWluLT5uYW1lLAorKwkJCQkJIGRvbWFpbi0+aW5zdGFuY2VfaWQpOworKwkJ CX0KKysJCX0KKysJfQorKworKwlwcl9kZWJ1ZygiUERNOiBzZXJ2aWNlICclcycgb2Zmc2V0ICVk IHJldHVybmluZyAlZCBkb21haW5zIChvZiAlZClcbiIsIHJlcS0+c2VydmljZV9uYW1lLAorKwkJ IHJlcS0+ZG9tYWluX29mZnNldF92YWxpZCA/IHJlcS0+ZG9tYWluX29mZnNldCA6IC0xLCByc3At PmRvbWFpbl9saXN0X2xlbiwgcnNwLT50b3RhbF9kb21haW5zKTsKKysKKysJcmV0ID0gcW1pX3Nl bmRfcmVzcG9uc2UocW1pLCBzcSwgdHhuLCBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVEsCisr CQkJCVNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFU1BfTUFYX0xFTiwKKysJCQkJc2VydnJlZ19n ZXRfZG9tYWluX2xpc3RfcmVzcF9laSwgcnNwKTsKKysJaWYgKHJldCkKKysJCXByX2VycigiRXJy b3Igc2VuZGluZyBzZXJ2cmVnIHJlc3BvbnNlOiAlZFxuIiwgcmV0KTsKKysKKysJbXV0ZXhfdW5s b2NrKCZxY29tX3BkbV9tdXRleCk7CisrCisrCWtmcmVlKHJzcCk7CisrfQorKworK3N0YXRpYyB2 b2lkIHFjb21fcGRtX3BmcihzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1pLAorKwkJCSBzdHJ1Y3Qgc29j a2FkZHJfcXJ0ciAqc3EsCisrCQkJIHN0cnVjdCBxbWlfdHhuICp0eG4sCisrCQkJIGNvbnN0IHZv aWQgKmRlY29kZWQpCisreworKwljb25zdCBzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3JlcSAqcmVx ID0gZGVjb2RlZDsKKysJc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXNwIHJzcCA9IHt9OworKwlp bnQgcmV0OworKworKwlwcl93YXJuX3JhdGVsaW1pdGVkKCJQRE06IHNlcnZpY2UgJyVzJyBjcmFz aDogJyVzJ1xuIiwgcmVxLT5zZXJ2aWNlLCByZXEtPnJlYXNvbik7CisrCisrCXJzcC5yc3AucmVz dWx0ID0gUU1JX1JFU1VMVF9TVUNDRVNTX1YwMTsKKysJcnNwLnJzcC5lcnJvciA9IFFNSV9FUlJf Tk9ORV9WMDE7CisrCisrCXJldCA9IHFtaV9zZW5kX3Jlc3BvbnNlKHFtaSwgc3EsIHR4biwgU0VS VlJFR19MT0NfUEZSX1JFUSwKKysJCQkJU0VSVlJFR19MT0NfUEZSX1JFU1BfTUFYX0xFTiwKKysJ CQkJc2VydnJlZ19sb2NfcGZyX3Jlc3BfZWksICZyc3ApOworKwlpZiAocmV0KQorKwkJcHJfZXJy KCJFcnJvciBzZW5kaW5nIHNlcnZyZWcgcmVzcG9uc2U6ICVkXG4iLCByZXQpOworK30KKysKKytz dGF0aWMgY29uc3Qgc3RydWN0IHFtaV9tc2dfaGFuZGxlciBxY29tX3BkbV9tc2dfaGFuZGxlcnNb XSA9IHsKKysJeworKwkJLnR5cGUgPSBRTUlfUkVRVUVTVCwKKysJCS5tc2dfaWQgPSBTRVJWUkVH X0dFVF9ET01BSU5fTElTVF9SRVEsCisrCQkuZWkgPSBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9y ZXFfZWksCisrCQkuZGVjb2RlZF9zaXplID0gc2l6ZW9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXEpLAorKwkJLmZuID0gcWNvbV9wZG1fZ2V0X2RvbWFpbl9saXN0LAorKwl9LAor Kwl7CisrCQkudHlwZSA9IFFNSV9SRVFVRVNULAorKwkJLm1zZ19pZCA9IFNFUlZSRUdfTE9DX1BG Ul9SRVEsCisrCQkuZWkgPSBzZXJ2cmVnX2xvY19wZnJfcmVxX2VpLAorKwkJLmRlY29kZWRfc2l6 ZSA9IHNpemVvZihzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3JlcSksCisrCQkuZm4gPSBxY29tX3Bk bV9wZnIsCisrCX0sCisrCXsgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9w ZG1fZG9tYWluX2RhdGEgYWRzcF9hdWRpb19wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRzcC9h dWRpb19wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7CisrCQkiYXZz L2F1ZGlvIiwKKysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFj b21fcGRtX2RvbWFpbl9kYXRhIGFkc3BfY2hhcmdlcl9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20v YWRzcC9jaGFyZ2VyX3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsg TlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0 YSBhZHNwX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3Avcm9vdF9wZCIsCisrCS5p bnN0YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRp YyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgYWRzcF9yb290X3BkX3BkciA9IHsK KysJLmRvbWFpbiA9ICJtc20vYWRzcC9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzQsCisr CS5zZXJ2aWNlcyA9IHsKKysJCSJ0bXMvcGRyX2VuYWJsZWQiLAorKwkJTlVMTCwKKysJfSwKKyt9 OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgYWRzcF9zZW5z b3JfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3Avc2Vuc29yX3BkIiwKKysJLmluc3RhbmNl X2lkID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0 IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtc204OTk2X2Fkc3BfYXVkaW9fcGQgPSB7Cisr CS5kb21haW4gPSAibXNtL2Fkc3AvYXVkaW9fcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA0LAorKwku c2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9w ZG1fZG9tYWluX2RhdGEgbXNtODk5Nl9hZHNwX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNt L2Fkc3Avcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDQsCisrCS5zZXJ2aWNlcyA9IHsgTlVM TCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBj ZHNwX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Nkc3Avcm9vdF9wZCIsCisrCS5pbnN0 YW5jZV9pZCA9IDc2LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBj b25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgc2xwaV9yb290X3BkID0geworKwkuZG9t YWluID0gIm1zbS9zbHBpL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA5MCwKKysJLnNlcnZp Y2VzID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2Rv bWFpbl9kYXRhIHNscGlfc2Vuc29yX3BkID0geworKwkuZG9tYWluID0gIm1zbS9zbHBpL3NlbnNv cl9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDkwLAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9 OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXBzc19yb290 X3BkID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJLmluc3RhbmNlX2lk ID0gMTgwLAorKwkuc2VydmljZXMgPSB7CisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGlj IGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtcHNzX3Jvb3RfcGRfZ3BzID0gewor KwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gMTgwLAor Kwkuc2VydmljZXMgPSB7CisrCQkiZ3BzL2dwc19zZXJ2aWNlIiwKKysJCU5VTEwsCisrCX0sCisr fTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIG1wc3Nfcm9v dF9wZF9ncHNfcGRyID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJLmlu c3RhbmNlX2lkID0gMTgwLAorKwkuc2VydmljZXMgPSB7CisrCQkiZ3BzL2dwc19zZXJ2aWNlIiwK KysJCSJ0bXMvcGRyX2VuYWJsZWQiLAorKwkJTlVMTCwKKysJfSwKKyt9OworKworK3N0YXRpYyBj b25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXNtODk5Nl9tcHNzX3Jvb3RfcGQgPSB7 CisrCS5kb21haW4gPSAibXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxMDAs CisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBx Y29tX3BkbV9kb21haW5fZGF0YSBtcHNzX3dsYW5fcGQgPSB7CisrCS5kb21haW4gPSAibXNtL21v ZGVtL3dsYW5fcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAsCisrCS5zZXJ2aWNlcyA9IHsKKysJ CSJrZXJuZWwvZWxmX2xvYWRlciIsCisrCQkid2xhbi9mdyIsCisrCQlOVUxMLAorKwl9LAorK307 CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqbXNtODk5Nl9k b21haW5zW10gPSB7CisrCSZtc204OTk2X2Fkc3BfYXVkaW9fcGQsCisrCSZtc204OTk2X2Fkc3Bf cm9vdF9wZCwKKysJJm1zbTg5OTZfbXBzc19yb290X3BkLAorKwlOVUxMLAorK307CisrCisrc3Rh dGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqbXNtODk5OF9kb21haW5zW10g PSB7CisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpxY20yMjkwX2RvbWFp bnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX3Nl bnNvcl9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEws CisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpxY3M0 MDRfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJ JmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkLAorKwkm bXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29t X3BkbV9kb21haW5fZGF0YSAqc2M3MTgwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQs CisrCSZhZHNwX3Jvb3RfcGRfcGRyLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZtcHNzX3Jvb3Rf cGRfZ3BzX3BkciwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBj b25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNjNzI4MF9kb21haW5zW10gPSB7Cisr CSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3BfY2hhcmdlcl9w ZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3Bk X2dwc19wZHIsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRt X2RvbWFpbl9kYXRhICpzYzgxODB4X2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisr CSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX2NoYXJnZXJfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisr CSZtcHNzX3Jvb3RfcGRfZ3BzLAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisr c3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2M4MjgweHBfZG9tYWlu c1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZF9wZHIsCisrCSZhZHNw X2NoYXJnZXJfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMg Y29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzZG02NjBfZG9tYWluc1tdID0gewor KwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAor KwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkLAorKwkmbXBzc193bGFuX3BkLAorKwlO VUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAq c2RtNjcwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQs CisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisr CU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRh ICpzZG04NDVfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9w ZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwK KysJJnNscGlfcm9vdF9wZCwKKysJJnNscGlfc2Vuc29yX3BkLAorKwlOVUxMLAorK307CisrCisr c3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc202MTE1X2RvbWFpbnNb XSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX3NlbnNv cl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZtcHNzX3ds YW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2Rv bWFpbl9kYXRhICpzbTYzNTBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFk c3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBz c193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3Bk bV9kb21haW5fZGF0YSAqc204MTUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisr CSZhZHNwX3Jvb3RfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAor KwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBx Y29tX3BkbV9kb21haW5fZGF0YSAqc204MjUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9f cGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZzbHBpX3Jvb3RfcGQs CisrCSZzbHBpX3NlbnNvcl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtODM1MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1 ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3BfY2hhcmdlcl9wZCwKKysJJmNk c3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZzbHBpX3Jvb3RfcGQsCisrCSZz bHBpX3NlbnNvcl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNv bV9wZG1fZG9tYWluX2RhdGEgKnNtODU1MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3Bk LAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmYWRzcF9zZW5zb3Jf cGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAorKwlOVUxMLAorK307 CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcWNvbV9wZG1fZG9tYWluc1td ID0geworKwl7IC5jb21wYXRpYmxlID0gInFjb20sYXBxODA2NCIsIC5kYXRhID0gTlVMTCwgfSwK KysJeyAuY29tcGF0aWJsZSA9ICJxY29tLGFwcTgwNzQiLCAuZGF0YSA9IE5VTEwsIH0sCisrCXsg LmNvbXBhdGlibGUgPSAicWNvbSxhcHE4MDg0IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7IC5jb21w YXRpYmxlID0gInFjb20sYXBxODA5NiIsIC5kYXRhID0gbXNtODk5Nl9kb21haW5zLCB9LAorKwl7 IC5jb21wYXRpYmxlID0gInFjb20sbXNtODIyNiIsIC5kYXRhID0gTlVMTCwgfSwKKysJeyAuY29t cGF0aWJsZSA9ICJxY29tLG1zbTg5NzQiLCAuZGF0YSA9IE5VTEwsIH0sCisrCXsgLmNvbXBhdGli bGUgPSAicWNvbSxtc204OTk2IiwgLmRhdGEgPSBtc204OTk2X2RvbWFpbnMsIH0sCisrCXsgLmNv bXBhdGlibGUgPSAicWNvbSxtc204OTk4IiwgLmRhdGEgPSBtc204OTk4X2RvbWFpbnMsIH0sCisr CXsgLmNvbXBhdGlibGUgPSAicWNvbSxxY20yMjkwIiwgLmRhdGEgPSBxY20yMjkwX2RvbWFpbnMs IH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxxY3M0MDQiLCAuZGF0YSA9IHFjczQwNF9kb21h aW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2M3MTgwIiwgLmRhdGEgPSBzYzcxODBf ZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNjNzI4MCIsIC5kYXRhID0gc2M3 MjgwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzYzgxODB4IiwgLmRhdGEg PSBzYzgxODB4X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzYzgyODB4cCIs IC5kYXRhID0gc2M4MjgweHBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNk YTY2MCIsIC5kYXRhID0gc2RtNjYwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNv bSxzZG02NjAiLCAuZGF0YSA9IHNkbTY2MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0g InFjb20sc2RtNjcwIiwgLmRhdGEgPSBzZG02NzBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJs ZSA9ICJxY29tLHNkbTg0NSIsIC5kYXRhID0gc2RtODQ1X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBh dGlibGUgPSAicWNvbSxzbTQyNTAiLCAuZGF0YSA9IHNtNjExNV9kb21haW5zLCB9LAorKwl7IC5j b21wYXRpYmxlID0gInFjb20sc202MTE1IiwgLmRhdGEgPSBzbTYxMTVfZG9tYWlucywgfSwKKysJ eyAuY29tcGF0aWJsZSA9ICJxY29tLHNtNjM1MCIsIC5kYXRhID0gc202MzUwX2RvbWFpbnMsIH0s CisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTgxNTAiLCAuZGF0YSA9IHNtODE1MF9kb21haW5z LCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204MjUwIiwgLmRhdGEgPSBzbTgyNTBfZG9t YWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODM1MCIsIC5kYXRhID0gc204MzUw X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTg0NTAiLCAuZGF0YSA9IHNt ODM1MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204NTUwIiwgLmRhdGEg PSBzbTg1NTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODY1MCIsIC5k YXRhID0gc204NTUwX2RvbWFpbnMsIH0sCisrCXt9LAorK307CisrCisrc3RhdGljIHZvaWQgcWNv bV9wZG1fc3RvcChzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YSkKKyt7CisrCXFjb21fcGRtX2Zy ZWVfZG9tYWlucyhkYXRhKTsKKysKKysJLyogVGhlIHNlcnZlciBpcyByZW1vdmVkIGF1dG9tYXRp Y2FsbHkgKi8KKysJcW1pX2hhbmRsZV9yZWxlYXNlKCZkYXRhLT5oYW5kbGUpOworKworKwlrZnJl ZShkYXRhKTsKKyt9CisrCisrc3RhdGljIHN0cnVjdCBxY29tX3BkbV9kYXRhICpxY29tX3BkbV9z dGFydCh2b2lkKQorK3sKKysJY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICogY29u c3QgKmRvbWFpbnM7CisrCWNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm1hdGNoOworKwlzdHJ1 Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YTsKKysJc3RydWN0IGRldmljZV9ub2RlICpyb290OworKwlp bnQgcmV0LCBpOworKworKwlyb290ID0gb2ZfZmluZF9ub2RlX2J5X3BhdGgoIi8iKTsKKysJaWYg KCFyb290KQorKwkJcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7CisrCisrCW1hdGNoID0gb2ZfbWF0 Y2hfbm9kZShxY29tX3BkbV9kb21haW5zLCByb290KTsKKysJb2Zfbm9kZV9wdXQocm9vdCk7Cisr CWlmICghbWF0Y2gpIHsKKysJCXByX25vdGljZSgiUERNOiBubyBzdXBwb3J0IGZvciB0aGUgcGxh dGZvcm0sIHVzZXJzcGFjZSBkYWVtb24gbWlnaHQgYmUgcmVxdWlyZWQuXG4iKTsKKysJCXJldHVy biBFUlJfUFRSKC1FTk9ERVYpOworKwl9CisrCisrCWRvbWFpbnMgPSBtYXRjaC0+ZGF0YTsKKysJ aWYgKCFkb21haW5zKSB7CisrCQlwcl9kZWJ1ZygiUERNOiBubyBkb21haW5zXG4iKTsKKysJCXJl dHVybiBFUlJfUFRSKC1FTk9ERVYpOworKwl9CisrCisrCWRhdGEgPSBremFsbG9jKHNpemVvZigq ZGF0YSksIEdGUF9LRVJORUwpOworKwlpZiAoIWRhdGEpCisrCQlyZXR1cm4gRVJSX1BUUigtRU5P TUVNKTsKKysKKysJSU5JVF9MSVNUX0hFQUQoJmRhdGEtPnNlcnZpY2VzKTsKKysKKysJcmV0ID0g cW1pX2hhbmRsZV9pbml0KCZkYXRhLT5oYW5kbGUsIFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JF UV9NQVhfTEVOLAorKwkJCSAgICAgIE5VTEwsIHFjb21fcGRtX21zZ19oYW5kbGVycyk7CisrCWlm IChyZXQpIHsKKysJCWtmcmVlKGRhdGEpOworKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKKysJfQor KworKwlyZWZjb3VudF9zZXQoJmRhdGEtPnJlZmNudCwgMSk7CisrCisrCWZvciAoaSA9IDA7IGRv bWFpbnNbaV07IGkrKykgeworKwkJcmV0ID0gcWNvbV9wZG1fYWRkX2RvbWFpbihkYXRhLCBkb21h aW5zW2ldKTsKKysJCWlmIChyZXQpCisrCQkJZ290byBlcnJfc3RvcDsKKysJfQorKworKwlyZXQg PSBxbWlfYWRkX3NlcnZlcigmZGF0YS0+aGFuZGxlLCBTRVJWUkVHX0xPQ0FUT1JfU0VSVklDRSwK KysJCQkgICAgIFNFUlZSRUdfUU1JX1ZFUlNJT04sIFNFUlZSRUdfUU1JX0lOU1RBTkNFKTsKKysJ aWYgKHJldCkgeworKwkJcHJfZXJyKCJQRE06IGVycm9yIGFkZGluZyBzZXJ2ZXIgJWRcbiIsIHJl dCk7CisrCQlnb3RvIGVycl9zdG9wOworKwl9CisrCisrCXJldHVybiBkYXRhOworKworK2Vycl9z dG9wOgorKwlxY29tX3BkbV9zdG9wKGRhdGEpOworKworKwlyZXR1cm4gRVJSX1BUUihyZXQpOwor K30KKysKKytzdGF0aWMgaW50IHFjb21fcGRtX3Byb2JlKHN0cnVjdCBhdXhpbGlhcnlfZGV2aWNl ICphdXhkZXYsCisrCQkJICBjb25zdCBzdHJ1Y3QgYXV4aWxpYXJ5X2RldmljZV9pZCAqaWQpCisr CisreworKwlzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YTsKKysJaW50IHJldCA9IDA7CisrCisr CW11dGV4X2xvY2soJnFjb21fcGRtX211dGV4KTsKKysKKysJaWYgKCFfX3Fjb21fcGRtX2RhdGEp IHsKKysJCWRhdGEgPSBxY29tX3BkbV9zdGFydCgpOworKworKwkJaWYgKElTX0VSUihkYXRhKSkK KysJCQlyZXQgPSBQVFJfRVJSKGRhdGEpOworKwkJZWxzZQorKwkJCV9fcWNvbV9wZG1fZGF0YSA9 IGRhdGE7CisrCX0KKysKKysJYXV4aWxpYXJ5X3NldF9kcnZkYXRhKGF1eGRldiwgX19xY29tX3Bk bV9kYXRhKTsKKysKKysJbXV0ZXhfdW5sb2NrKCZxY29tX3BkbV9tdXRleCk7CisrCisrCXJldHVy biByZXQ7CisrfQorKworK3N0YXRpYyB2b2lkIHFjb21fcGRtX3JlbW92ZShzdHJ1Y3QgYXV4aWxp YXJ5X2RldmljZSAqYXV4ZGV2KQorK3sKKysJc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGE7Cisr CisrCWRhdGEgPSBhdXhpbGlhcnlfZ2V0X2RydmRhdGEoYXV4ZGV2KTsKKysJaWYgKCFkYXRhKQor KwkJcmV0dXJuOworKworKwlpZiAocmVmY291bnRfZGVjX2FuZF9tdXRleF9sb2NrKCZkYXRhLT5y ZWZjbnQsICZxY29tX3BkbV9tdXRleCkpIHsKKysJCV9fcWNvbV9wZG1fZGF0YSA9IE5VTEw7Cisr CQlxY29tX3BkbV9zdG9wKGRhdGEpOworKwkJbXV0ZXhfdW5sb2NrKCZxY29tX3BkbV9tdXRleCk7 CisrCX0KKyt9CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlX2lkIHFj b21fcGRtX3RhYmxlW10gPSB7CisrCXsgLm5hbWUgPSAicWNvbV9jb21tb24ucGQtbWFwcGVyIiB9 LAorKwl7fSwKKyt9OworK01PRFVMRV9ERVZJQ0VfVEFCTEUoYXV4aWxpYXJ5LCBxY29tX3BkbV90 YWJsZSk7CisrCisrc3RhdGljIHN0cnVjdCBhdXhpbGlhcnlfZHJpdmVyIHFjb21fcGRtX2RydiA9 IHsKKysJLm5hbWUgPSAicWNvbS1wZG0tbWFwcGVyIiwKKysJLmlkX3RhYmxlID0gcWNvbV9wZG1f dGFibGUsCisrCS5wcm9iZSA9IHFjb21fcGRtX3Byb2JlLAorKwkucmVtb3ZlID0gcWNvbV9wZG1f cmVtb3ZlLAorK307CisrbW9kdWxlX2F1eGlsaWFyeV9kcml2ZXIocWNvbV9wZG1fZHJ2KTsKKysK KytNT0RVTEVfREVTQ1JJUFRJT04oIlF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIE1hcHBlciIp OworK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29t L3Fjb21fcGRyX21zZy5jIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYworaW5kZXgg OWI0NmY0MmFhMTQ2Li5iZjNlNGE0NzE2NWUgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29t L3Fjb21fcGRyX21zZy5jCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21zZy5jCitA QCAtMzE1LDUgKzMxNSwzOSBAQCBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Nl dF9hY2tfcmVzcF9laVtdID0geworIH07CisgRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19zZXRf YWNrX3Jlc3BfZWkpOworIAorK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9j X3Bmcl9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSA9IFFNSV9TVFJJTkcsCisrCQku ZWxlbV9sZW4gPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgPSBzaXpl b2YoY2hhciksCisrCQkuYXJyYXlfdHlwZSA9IFZBUl9MRU5fQVJSQVksCisrCQkudGx2X3R5cGUg PSAweDAxLAorKwkJLm9mZnNldCA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVx LCBzZXJ2aWNlKQorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlID0gUU1JX1NUUklORywKKysJCS5l bGVtX2xlbiA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSA9IHNpemVv ZihjaGFyKSwKKysJCS5hcnJheV90eXBlID0gVkFSX0xFTl9BUlJBWSwKKysJCS50bHZfdHlwZSA9 IDB4MDIsCisrCQkub2Zmc2V0ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEs IHJlYXNvbikKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfbG9j X3Bmcl9yZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9j X3Bmcl9yZXNwX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgPSBRTUlfU1RSVUNULAorKwkJ LmVsZW1fbGVuID0gMSwKKysJCS5lbGVtX3NpemUgPSBzaXplb2ZfZmllbGQoc3RydWN0IHNlcnZy ZWdfbG9jX3Bmcl9yZXNwLCByc3ApLAorKwkJLnRsdl90eXBlID0gMHgwMiwKKysJCS5vZmZzZXQg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jlc3AsIHJzcCksCisrCQkuZWlfYXJy YXkgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRf U1lNQk9MX0dQTChzZXJ2cmVnX2xvY19wZnJfcmVzcF9laSk7CisrCisgTU9EVUxFX0xJQ0VOU0Uo IkdQTCIpOworIE1PRFVMRV9ERVNDUklQVElPTigiUXVhbGNvbW0gUHJvdGVjdGlvbiBEb21haW4g bWVzc2FnZXMgZGF0YSIpOworCitGcm9tOiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNo a292QGxpbmFyby5vcmc+CitEYXRlOiBTYXQsIDIyIEp1biAyMDI0IDAxOjAzOjQ0ICswMzAwCitT dWJqZWN0OiBbUEFUQ0ggdjkgNS81XSByZW1vdGVwcm9jOiBxY29tOiBlbmFibGUgaW4ta2VybmVs IFBEIG1hcHBlcgorCitSZXF1ZXN0IGluLWtlcm5lbCBwcm90ZWN0aW9uIGRvbWFpbiBtYXBwZXIg dG8gYmUgc3RhcnRlZCBiZWZvcmUgc3RhcnRpbmcKK1F1YWxjb21tIERTUCBhbmQgcmVsZWFzZSBp dCBvbmNlIERTUCBpcyBzdG9wcGVkLiBPbmNlIGFsbCBEU1BzIGFyZQorc3RvcHBlZCwgdGhlIFBE IG1hcHBlciB3aWxsIGJlIHN0b3BwZWQgdG9vLgorCitSZXZpZXdlZC1ieTogQ2hyaXMgTGV3IDxx dWljX2NsZXdAcXVpY2luYy5jb20+CitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3Rl ZXZAa2FsaS5vcmc+CitUZXN0ZWQtYnk6IE5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0Bs aW5hcm8ub3JnPiAjIG9uIFNNODU1MC1RUkQKK1NpZ25lZC1vZmYtYnk6IERtaXRyeSBCYXJ5c2hr b3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KKy0tLQorIGRyaXZlcnMvcmVtb3RlcHJv Yy9xY29tX2NvbW1vbi5jICAgIHwgODcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKworIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5oICAgIHwgMTAgKysrKysKKyBk cml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYyB8ICAzICsrCisgZHJpdmVycy9yZW1v dGVwcm9jL3Fjb21fcTZ2NV9tc3MuYyAgfCAgMyArKworIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29t X3E2djVfcGFzLmMgIHwgIDMgKysKKyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3djc3Mu YyB8ICAzICsrCisgNiBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0t Z2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmMgYi9kcml2ZXJzL3JlbW90ZXBy b2MvcWNvbV9jb21tb24uYworaW5kZXggMDNlNWY1ZDUzM2ViLi44Yzg2ODhmOTlmMGEgMTAwNjQ0 CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uYworKysrIGIvZHJpdmVycy9y ZW1vdGVwcm9jL3Fjb21fY29tbW9uLmMKK0BAIC0xMyw2ICsxMyw3IEBACisgI2luY2x1ZGUgPGxp bnV4L25vdGlmaWVyLmg+CisgI2luY2x1ZGUgPGxpbnV4L3JlbW90ZXByb2MuaD4KKyAjaW5jbHVk ZSA8bGludXgvcmVtb3RlcHJvYy9xY29tX3Jwcm9jLmg+CisrI2luY2x1ZGUgPGxpbnV4L2F1eGls aWFyeV9idXMuaD4KKyAjaW5jbHVkZSA8bGludXgvcnBtc2cvcWNvbV9nbGluay5oPgorICNpbmNs dWRlIDxsaW51eC9ycG1zZy9xY29tX3NtZC5oPgorICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CitA QCAtMjUsNiArMjYsNyBAQAorICNkZWZpbmUgdG9fZ2xpbmtfc3ViZGV2KGQpIGNvbnRhaW5lcl9v ZihkLCBzdHJ1Y3QgcWNvbV9ycHJvY19nbGluaywgc3ViZGV2KQorICNkZWZpbmUgdG9fc21kX3N1 YmRldihkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IHFjb21fcnByb2Nfc3ViZGV2LCBzdWJkZXYp CisgI2RlZmluZSB0b19zc3Jfc3ViZGV2KGQpIGNvbnRhaW5lcl9vZihkLCBzdHJ1Y3QgcWNvbV9y cHJvY19zc3IsIHN1YmRldikKKysjZGVmaW5lIHRvX3BkbV9zdWJkZXYoZCkgY29udGFpbmVyX29m KGQsIHN0cnVjdCBxY29tX3Jwcm9jX3BkbSwgc3ViZGV2KQorIAorICNkZWZpbmUgTUFYX05VTV9P Rl9TUyAgICAgICAgICAgMTAKKyAjZGVmaW5lIE1BWF9SRUdJT05fTkFNRV9MRU5HVEggIDE2CitA QCAtNTE5LDUgKzUyMSw5MCBAQCB2b2lkIHFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYoc3RydWN0IHJw cm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2Nfc3NyICpzc3IpCisgfQorIEVYUE9SVF9TWU1C T0xfR1BMKHFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYpOworIAorK3N0YXRpYyB2b2lkIHBkbV9kZXZf cmVsZWFzZShzdHJ1Y3QgZGV2aWNlICpkZXYpCisreworKwlzdHJ1Y3QgYXV4aWxpYXJ5X2Rldmlj ZSAqYWRldiA9IHRvX2F1eGlsaWFyeV9kZXYoZGV2KTsKKysKKysJa2ZyZWUoYWRldik7CisrfQor KworK3N0YXRpYyBpbnQgcGRtX25vdGlmeV9wcmVwYXJlKHN0cnVjdCBycHJvY19zdWJkZXYgKnN1 YmRldikKKyt7CisrCXN0cnVjdCBxY29tX3Jwcm9jX3BkbSAqcGRtID0gdG9fcGRtX3N1YmRldihz dWJkZXYpOworKwlzdHJ1Y3QgYXV4aWxpYXJ5X2RldmljZSAqYWRldjsKKysJaW50IHJldDsKKysK KysJYWRldiA9IGt6YWxsb2Moc2l6ZW9mKCphZGV2KSwgR0ZQX0tFUk5FTCk7CisrCWlmICghYWRl dikKKysJCXJldHVybiAtRU5PTUVNOworKworKwlhZGV2LT5kZXYucGFyZW50ID0gcGRtLT5kZXY7 CisrCWFkZXYtPmRldi5yZWxlYXNlID0gcGRtX2Rldl9yZWxlYXNlOworKwlhZGV2LT5uYW1lID0g InBkLW1hcHBlciI7CisrCWFkZXYtPmlkID0gcGRtLT5pbmRleDsKKysKKysJcmV0ID0gYXV4aWxp YXJ5X2RldmljZV9pbml0KGFkZXYpOworKwlpZiAocmV0KSB7CisrCQlrZnJlZShhZGV2KTsKKysJ CXJldHVybiByZXQ7CisrCX0KKysKKysJcmV0ID0gYXV4aWxpYXJ5X2RldmljZV9hZGQoYWRldik7 CisrCWlmIChyZXQpIHsKKysJCWF1eGlsaWFyeV9kZXZpY2VfdW5pbml0KGFkZXYpOworKwkJcmV0 dXJuIHJldDsKKysJfQorKworKwlwZG0tPmFkZXYgPSBhZGV2OworKworKwlyZXR1cm4gMDsKKyt9 CisrCisrCisrc3RhdGljIHZvaWQgcGRtX25vdGlmeV91bnByZXBhcmUoc3RydWN0IHJwcm9jX3N1 YmRldiAqc3ViZGV2KQorK3sKKysJc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0gPSB0b19wZG1f c3ViZGV2KHN1YmRldik7CisrCisrCWlmICghcGRtLT5hZGV2KQorKwkJcmV0dXJuOworKworKwlh dXhpbGlhcnlfZGV2aWNlX2RlbGV0ZShwZG0tPmFkZXYpOworKwlhdXhpbGlhcnlfZGV2aWNlX3Vu aW5pdChwZG0tPmFkZXYpOworKwlwZG0tPmFkZXYgPSBOVUxMOworK30KKysKKysvKioKKysgKiBx Y29tX2FkZF9wZG1fc3ViZGV2KCkgLSByZWdpc3RlciBQRCBNYXBwZXIgc3ViZGV2aWNlCisrICog QHJwcm9jOglycHJvYyBoYW5kbGUKKysgKiBAcGRtOglQRE0gc3ViZGV2aWNlIGhhbmRsZQorKyAq CisrICogUmVnaXN0ZXIgQHBkbSBzbyB0aGF0IFByb3RlY3Rpb24gRGV2aWNlIG1hcHBlciBzZXJ2 aWNlIGlzIHN0YXJ0ZWQgd2hlbiB0aGUKKysgKiBEU1AgaXMgc3RhcnRlZCB0b28uCisrICovCisr dm9pZCBxY29tX2FkZF9wZG1fc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29t X3Jwcm9jX3BkbSAqcGRtKQorK3sKKysJcGRtLT5kZXYgPSAmcnByb2MtPmRldjsKKysJcGRtLT5p bmRleCA9IHJwcm9jLT5pbmRleDsKKysKKysJcGRtLT5zdWJkZXYucHJlcGFyZSA9IHBkbV9ub3Rp ZnlfcHJlcGFyZTsKKysJcGRtLT5zdWJkZXYudW5wcmVwYXJlID0gcGRtX25vdGlmeV91bnByZXBh cmU7CisrCisrCXJwcm9jX2FkZF9zdWJkZXYocnByb2MsICZwZG0tPnN1YmRldik7CisrfQorK0VY UE9SVF9TWU1CT0xfR1BMKHFjb21fYWRkX3BkbV9zdWJkZXYpOworKworKy8qKgorKyAqIHFjb21f cmVtb3ZlX3BkbV9zdWJkZXYoKSAtIHJlbW92ZSBQRCBNYXBwZXIgc3ViZGV2aWNlCisrICogQHJw cm9jOglycHJvYyBoYW5kbGUKKysgKiBAcGRtOglQRE0gc3ViZGV2aWNlIGhhbmRsZQorKyAqCisr ICogUmVtb3ZlIHRoZSBQRCBNYXBwZXIgc3ViZGV2aWNlLgorKyAqLworK3ZvaWQgcWNvbV9yZW1v dmVfcGRtX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19wZG0g KnBkbSkKKyt7CisrCXJwcm9jX3JlbW92ZV9zdWJkZXYocnByb2MsICZwZG0tPnN1YmRldik7Cisr fQorK0VYUE9SVF9TWU1CT0xfR1BMKHFjb21fcmVtb3ZlX3BkbV9zdWJkZXYpOworKworIE1PRFVM RV9ERVNDUklQVElPTigiUXVhbGNvbW0gUmVtb3RlcHJvYyBoZWxwZXIgZHJpdmVyIik7CisgTU9E VUxFX0xJQ0VOU0UoIkdQTCB2MiIpOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9x Y29tX2NvbW1vbi5oIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmgKK2luZGV4IDll ZjQ0NDkwNTJhOS4uYjA3ZmJhYTA5MWEwIDEwMDY0NAorLS0tIGEvZHJpdmVycy9yZW1vdGVwcm9j L3Fjb21fY29tbW9uLmgKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5oCitA QCAtMzQsNiArMzQsMTMgQEAgc3RydWN0IHFjb21fcnByb2Nfc3NyIHsKKyAJc3RydWN0IHFjb21f c3NyX3N1YnN5c3RlbSAqaW5mbzsKKyB9OworIAorK3N0cnVjdCBxY29tX3Jwcm9jX3BkbSB7Cisr CXN0cnVjdCBycHJvY19zdWJkZXYgc3ViZGV2OworKwlzdHJ1Y3QgZGV2aWNlICpkZXY7CisrCWlu dCBpbmRleDsKKysJc3RydWN0IGF1eGlsaWFyeV9kZXZpY2UgKmFkZXY7CisrfTsKKysKKyB2b2lk IHFjb21fbWluaWR1bXAoc3RydWN0IHJwcm9jICpycHJvYywgdW5zaWduZWQgaW50IG1pbmlkdW1w X2lkLAorIAkJCXZvaWQgKCpycHJvY19kdW1wZm5fdCkoc3RydWN0IHJwcm9jICpycHJvYywKKyAJ CQkJc3RydWN0IHJwcm9jX2R1bXBfc2VnbWVudCAqc2VnbWVudCwgdm9pZCAqZGVzdCwgc2l6ZV90 IG9mZnNldCwKK0BAIC01Miw2ICs1OSw5IEBAIHZvaWQgcWNvbV9hZGRfc3NyX3N1YmRldihzdHJ1 Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19zc3IgKnNzciwKKyAJCQkgY29uc3Qg Y2hhciAqc3NyX25hbWUpOworIHZvaWQgcWNvbV9yZW1vdmVfc3NyX3N1YmRldihzdHJ1Y3QgcnBy b2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19zc3IgKnNzcik7CisgCisrdm9pZCBxY29tX2Fk ZF9wZG1fc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3BkbSAq cGRtKTsKKyt2b2lkIHFjb21fcmVtb3ZlX3BkbV9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJvYywg c3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0pOworKworICNpZiBJU19FTkFCTEVEKENPTkZJR19R Q09NX1NZU01PTikKKyBzdHJ1Y3QgcWNvbV9zeXNtb24gKnFjb21fYWRkX3N5c21vbl9zdWJkZXYo c3RydWN0IHJwcm9jICpycHJvYywKKyAJCQkJCSAgIGNvbnN0IGNoYXIgKm5hbWUsCitkaWZmIC0t Z2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMgYi9kcml2ZXJzL3JlbW90 ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYworaW5kZXggMWQyNGM5YjY1NmE4Li41NzJkY2IwZjA1NWIg MTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYworKysrIGIv ZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMKK0BAIC0xMTIsNiArMTEyLDcgQEAg c3RydWN0IHFjb21fYWRzcCB7CisgCXN0cnVjdCBkZXZfcG1fZG9tYWluX2xpc3QgKnBkX2xpc3Q7 CisgCisgCXN0cnVjdCBxY29tX3Jwcm9jX2dsaW5rIGdsaW5rX3N1YmRldjsKKysJc3RydWN0IHFj b21fcnByb2NfcGRtIHBkbV9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3Jwcm9jX3NzciBzc3Jfc3Vi ZGV2OworIAlzdHJ1Y3QgcWNvbV9zeXNtb24gKnN5c21vbjsKKyAKK0BAIC03MjYsNiArNzI3LDcg QEAgc3RhdGljIGludCBhZHNwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCisg CQlnb3RvIGRpc2FibGVfcG07CisgCisgCXFjb21fYWRkX2dsaW5rX3N1YmRldihycHJvYywgJmFk c3AtPmdsaW5rX3N1YmRldiwgZGVzYy0+c3NyX25hbWUpOworKwlxY29tX2FkZF9wZG1fc3ViZGV2 KHJwcm9jLCAmYWRzcC0+cGRtX3N1YmRldik7CisgCXFjb21fYWRkX3Nzcl9zdWJkZXYocnByb2Ms ICZhZHNwLT5zc3Jfc3ViZGV2LCBkZXNjLT5zc3JfbmFtZSk7CisgCWFkc3AtPnN5c21vbiA9IHFj b21fYWRkX3N5c21vbl9zdWJkZXYocnByb2MsCisgCQkJCQkgICAgICBkZXNjLT5zeXNtb25fbmFt ZSwKK0BAIC03NTUsNiArNzU3LDcgQEAgc3RhdGljIHZvaWQgYWRzcF9yZW1vdmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikKKyAKKyAJcWNvbV9xNnY1X2RlaW5pdCgmYWRzcC0+cTZ2NSk7 CisgCXFjb21fcmVtb3ZlX2dsaW5rX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPmdsaW5rX3N1 YmRldik7CisrCXFjb21fcmVtb3ZlX3BkbV9zdWJkZXYoYWRzcC0+cnByb2MsICZhZHNwLT5wZG1f c3ViZGV2KTsKKyAJcWNvbV9yZW1vdmVfc3lzbW9uX3N1YmRldihhZHNwLT5zeXNtb24pOworIAlx Y29tX3JlbW92ZV9zc3Jfc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+c3NyX3N1YmRldik7Cisg CXFjb21fcnByb2NfcGRzX2RldGFjaChhZHNwKTsKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90 ZXByb2MvcWNvbV9xNnY1X21zcy5jIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9tc3Mu YworaW5kZXggMTc3OWZjODkwZTEwLi4yYTQyMjE1Y2U4ZTAgMTAwNjQ0CistLS0gYS9kcml2ZXJz L3JlbW90ZXByb2MvcWNvbV9xNnY1X21zcy5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNv bV9xNnY1X21zcy5jCitAQCAtMjI4LDYgKzIyOCw3IEBAIHN0cnVjdCBxNnY1IHsKKyAKKyAJc3Ry dWN0IHFjb21fcnByb2NfZ2xpbmsgZ2xpbmtfc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9ycHJvY19z dWJkZXYgc21kX3N1YmRldjsKKysJc3RydWN0IHFjb21fcnByb2NfcGRtIHBkbV9zdWJkZXY7Cisg CXN0cnVjdCBxY29tX3Jwcm9jX3NzciBzc3Jfc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9zeXNtb24g KnN5c21vbjsKKyAJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqYmFtX2RtdXg7CitAQCAtMjEwMiw2 ICsyMTAzLDcgQEAgc3RhdGljIGludCBxNnY1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpCisgCXFwcm9jLT5tYmFfcGVybSA9IEJJVChRQ09NX1NDTV9WTUlEX0hMT1MpOworIAlx Y29tX2FkZF9nbGlua19zdWJkZXYocnByb2MsICZxcHJvYy0+Z2xpbmtfc3ViZGV2LCAibXBzcyIp OworIAlxY29tX2FkZF9zbWRfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNtZF9zdWJkZXYpOworKwlx Y29tX2FkZF9wZG1fc3ViZGV2KHJwcm9jLCAmcXByb2MtPnBkbV9zdWJkZXYpOworIAlxY29tX2Fk ZF9zc3Jfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNzcl9zdWJkZXYsICJtcHNzIik7CisgCXFwcm9j LT5zeXNtb24gPSBxY29tX2FkZF9zeXNtb25fc3ViZGV2KHJwcm9jLCAibW9kZW0iLCAweDEyKTsK KyAJaWYgKElTX0VSUihxcHJvYy0+c3lzbW9uKSkgeworQEAgLTIxNDMsNiArMjE0NSw3IEBAIHN0 YXRpYyB2b2lkIHE2djVfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCisgCXFj b21fcTZ2NV9kZWluaXQoJnFwcm9jLT5xNnY1KTsKKyAJcWNvbV9yZW1vdmVfc3lzbW9uX3N1YmRl dihxcHJvYy0+c3lzbW9uKTsKKyAJcWNvbV9yZW1vdmVfc3NyX3N1YmRldihycHJvYywgJnFwcm9j LT5zc3Jfc3ViZGV2KTsKKysJcWNvbV9yZW1vdmVfcGRtX3N1YmRldihycHJvYywgJnFwcm9jLT5w ZG1fc3ViZGV2KTsKKyAJcWNvbV9yZW1vdmVfc21kX3N1YmRldihycHJvYywgJnFwcm9jLT5zbWRf c3ViZGV2KTsKKyAJcWNvbV9yZW1vdmVfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmcXByb2MtPmdsaW5r X3N1YmRldik7CisgCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9w YXMuYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfcGFzLmMKK2luZGV4IDg0NThiY2Zl OWUxOS4uODhlN2I4NGYyMjNjIDEwMDY0NAorLS0tIGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21f cTZ2NV9wYXMuYworKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9wYXMuYworQEAg LTExMSw2ICsxMTEsNyBAQCBzdHJ1Y3QgcWNvbV9hZHNwIHsKKyAKKyAJc3RydWN0IHFjb21fcnBy b2NfZ2xpbmsgZ2xpbmtfc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9ycHJvY19zdWJkZXYgc21kX3N1 YmRldjsKKysJc3RydWN0IHFjb21fcnByb2NfcGRtIHBkbV9zdWJkZXY7CisgCXN0cnVjdCBxY29t X3Jwcm9jX3NzciBzc3Jfc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9zeXNtb24gKnN5c21vbjsKKyAK K0BAIC03NzcsNiArNzc4LDcgQEAgc3RhdGljIGludCBhZHNwX3Byb2JlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCisgCisgCXFjb21fYWRkX2dsaW5rX3N1YmRldihycHJvYywgJmFkc3At PmdsaW5rX3N1YmRldiwgZGVzYy0+c3NyX25hbWUpOworIAlxY29tX2FkZF9zbWRfc3ViZGV2KHJw cm9jLCAmYWRzcC0+c21kX3N1YmRldik7CisrCXFjb21fYWRkX3BkbV9zdWJkZXYocnByb2MsICZh ZHNwLT5wZG1fc3ViZGV2KTsKKyAJYWRzcC0+c3lzbW9uID0gcWNvbV9hZGRfc3lzbW9uX3N1YmRl dihycHJvYywKKyAJCQkJCSAgICAgIGRlc2MtPnN5c21vbl9uYW1lLAorIAkJCQkJICAgICAgZGVz Yy0+c3NjdGxfaWQpOworQEAgLTgxMSw2ICs4MTMsNyBAQCBzdGF0aWMgdm9pZCBhZHNwX3JlbW92 ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAlxY29tX3JlbW92ZV9nbGlua19zdWJk ZXYoYWRzcC0+cnByb2MsICZhZHNwLT5nbGlua19zdWJkZXYpOworIAlxY29tX3JlbW92ZV9zeXNt b25fc3ViZGV2KGFkc3AtPnN5c21vbik7CisgCXFjb21fcmVtb3ZlX3NtZF9zdWJkZXYoYWRzcC0+ cnByb2MsICZhZHNwLT5zbWRfc3ViZGV2KTsKKysJcWNvbV9yZW1vdmVfcGRtX3N1YmRldihhZHNw LT5ycHJvYywgJmFkc3AtPnBkbV9zdWJkZXYpOworIAlxY29tX3JlbW92ZV9zc3Jfc3ViZGV2KGFk c3AtPnJwcm9jLCAmYWRzcC0+c3NyX3N1YmRldik7CisgCWFkc3BfcGRzX2RldGFjaChhZHNwLCBh ZHNwLT5wcm94eV9wZHMsIGFkc3AtPnByb3h5X3BkX2NvdW50KTsKKyAJZGV2aWNlX2luaXRfd2Fr ZXVwKGFkc3AtPmRldiwgZmFsc2UpOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9x Y29tX3E2djVfd2Nzcy5jIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93Y3NzLmMKK2lu ZGV4IDk0ZjY4YzkxOWVlNi4uZTkxM2RhYmFlOTkyIDEwMDY0NAorLS0tIGEvZHJpdmVycy9yZW1v dGVwcm9jL3Fjb21fcTZ2NV93Y3NzLmMKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2 djVfd2Nzcy5jCitAQCAtMTQ4LDYgKzE0OCw3IEBAIHN0cnVjdCBxNnY1X3djc3MgeworIAlib29s IHJlcXVpcmVzX2ZvcmNlX3N0b3A7CisgCisgCXN0cnVjdCBxY29tX3Jwcm9jX2dsaW5rIGdsaW5r X3N1YmRldjsKKysJc3RydWN0IHFjb21fcnByb2NfcGRtIHBkbV9zdWJkZXY7CisgCXN0cnVjdCBx Y29tX3Jwcm9jX3NzciBzc3Jfc3ViZGV2OworIH07CisgCitAQCAtMTA1Miw2ICsxMDUzLDcgQEAg c3RhdGljIGludCBxNnY1X3djc3NfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikK KyAJCXJldHVybiByZXQ7CisgCisgCXFjb21fYWRkX2dsaW5rX3N1YmRldihycHJvYywgJndjc3Mt PmdsaW5rX3N1YmRldiwgInE2d2NzcyIpOworKwlxY29tX2FkZF9wZG1fc3ViZGV2KHJwcm9jLCAm d2Nzcy0+cGRtX3N1YmRldik7CisgCXFjb21fYWRkX3Nzcl9zdWJkZXYocnByb2MsICZ3Y3NzLT5z c3Jfc3ViZGV2LCAicTZ3Y3NzIik7CisgCisgCWlmIChkZXNjLT5zc2N0bF9pZCkKK0BAIC0xMDc0 LDYgKzEwNzYsNyBAQCBzdGF0aWMgdm9pZCBxNnY1X3djc3NfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCisgCXN0cnVjdCBxNnY1X3djc3MgKndjc3MgPSBycHJvYy0+cHJpdjsK KyAKKyAJcWNvbV9xNnY1X2RlaW5pdCgmd2Nzcy0+cTZ2NSk7CisrCXFjb21fcmVtb3ZlX3BkbV9z dWJkZXYocnByb2MsICZ3Y3NzLT5wZG1fc3ViZGV2KTsKKyAJcnByb2NfZGVsKHJwcm9jKTsKKyB9 CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4Ni45L3RlbXBsYXRlIGIvc3JjcGtncy9saW51 eDYuOS90ZW1wbGF0ZQppbmRleCBjOTEyMTkwMDA0ZjY2Zi4uMGYwODRhNTM4ZmM5MDIgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvbGludXg2LjkvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9saW51eDYuOS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2xpbnV4Ni45Jwog cGtnbmFtZT1saW51eDYuOQogdmVyc2lvbj02LjkuNgotcmV2aXNpb249MQorcmV2aXNpb249Mgog c2hvcnRfZGVzYz0iTGludXgga2VybmVsIGFuZCBtb2R1bGVzICgke3ZlcnNpb24lLip9IHNlcmll cykiCiBtYWludGFpbmVyPSJEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+IgogbGljZW5z ZT0iR1BMLTIuMC1vbmx5Igo= --===============2081437229553577213==--