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, T_SCC_BODY_TEXT_LINE 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 3061924B9C for ; Sat, 8 Jun 2024 10:26:01 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============2913355327853332065==" 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: Sat, 08 Jun 2024 10:26:01 +0200 List-Id: Message-Id: <20240608082601.3061924B9C@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============2913355327853332065== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgY2xhc3NhYmJ5YW1wIGFnYWluc3Qg bWFzdGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNv bS9jbGFzc2FiYnlhbXAvdm9pZC1wYWNrYWdlcyB4MTNzLXN1cHBvcnQKaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ5NjE1CgpMZW5vdm8gWDEzcyBzdXBw b3J0CiMjIHJlcG8gZm9yIHRlc3Rpbmc6IGh0dHBzOi8vZGV2c3BhY2Uudm9pZGxpbnV4Lm9yZy9h YmJ5L3gxM3MvDQoNCiMjIyMgVE9ET3MNCi0gWyBdIGRvY3VtZW50IGluc3RhbGwgcHJvY2Vzcywg aW5jbHVkaW5nIHJlcXVpcmVkIGNtZGxpbmUgKGBhcm02NC5ub3BhdXRoIGNsa19pZ25vcmVfdW51 c2VkIHBkX2lnbm9yZV91bnVzZWRgKQ0KICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1kb2NzL2NvbXBhcmUvbWFzdGVyLi4uY2xhc3NhYmJ5YW1wOnZvaWQtZG9jczp4MTNz DQotIFt4XSBmaXggYmx1ZXRvb3RoIG1hYyBhZGRyZXNzOiAoYGJ0bWdtdCBwdWJsaWMtYWRkciBG NDpBMDowRDpYWDpZWTpaWmApDQotIFt4XSBzZXQgYSByYW5kb20gbWFjIHdpdGggdGhlIGNvcnJl Y3QgT1VJIChgRjQ6QTA6MEQ6eHg6eXk6enpgKSBhdCBpbnN0YWxsPw0KLSBbeF0gbWtpbml0Y3Bp byBkcm9wLWluIGNvbmZpZw0KLSBbIF0gbWtpbml0Y3BpbyB3b3JraW5nDQogICAgLSBodHRwczov L2dpdGxhYi5hcmNobGludXgub3JnL2FyY2hsaW51eC9ta2luaXRjcGlvL21raW5pdGNwaW8vLS9t ZXJnZV9yZXF1ZXN0cy8zNzcNCiAgICAtIGRvZXMgbm90IGxvYWQgbW9kdWxlcyBhbmQvb3IgZmly bXdhcmUgY29ycmVjdGx5DQotIFsgXSBjcmVhdGUgYW5kIHRlc3QgbGl2ZSBpbWFnZXMNCiAgICAt ICoqSEVBVklMWSBXSVAqKiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLW1rbGl2 ZS9jb21wYXJlL21hc3Rlci4uLmNsYXNzYWJieWFtcDp2b2lkLW1rbGl2ZTphYXJjaDY0LWxpdmUN Ci0gW3hdIH5+a2VybmVsIGluc3RhbGwgaG9vayB0byB1cGRhdGUgdGhlIGR0Yj9+fiBncnViIGR0 YiBsb2FkaW5nIHN1cHBvcnQNCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVk IHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqWUVTKioNCg0KIyMjIyBOZXcgcGFja2FnZQ0KLSBU aGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0 dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09O VFJJQlVUSU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1lbnRzKTogKipZRVMqKg0KDQpbY2kgc2tpcF0K CkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvcHVsbC80OTYxNS5wYXRjaCBpcyBhdHRhY2hlZA== --===============2913355327853332065== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-x13s-support-49615.patch" RnJvbSAzMWY4NWU2MDY4NGJlOTdkZWY2OGEwYzBjMGMxMDYyMWFlYWNkOWJkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+ CkRhdGU6IFRodSwgMjEgTWFyIDIwMjQgMTg6MDA6NDUgLTA0MDAKU3ViamVjdDogW1BBVENIIDEv Ml0gTmV3IHBhY2thZ2U6IHgxM3MtYmFzZS0wLjUKCi0tLQogc3JjcGtncy94MTNzLWJhc2UvSU5T VEFMTCAgICAgICAgICAgICAgICAgICAgfCAxMyArKysrKysrKysrKysrCiBzcmNwa2dzL3gxM3Mt YmFzZS9maWxlcy83Mi10b3VjaHNjcmVlbi5ydWxlcyB8ICAxICsKIHNyY3BrZ3MveDEzcy1iYXNl L2ZpbGVzLzkwLWJ0LWFkZHJlc3Muc2ggICAgIHwgIDQgKysrKwogc3JjcGtncy94MTNzLWJhc2Uv ZmlsZXMvOTAtbmV0LWFkZHJlc3MucnVsZXMgfCAgMiArKwogc3JjcGtncy94MTNzLWJhc2UvZmls ZXMvZHJhY3V0LmNvbmYgICAgICAgICAgfCAgNiArKysrKysKIHNyY3BrZ3MveDEzcy1iYXNlL2Zp bGVzL21raW5pdGNwaW8uY29uZiAgICAgIHwgIDYgKysrKysrCiBzcmNwa2dzL3gxM3MtYmFzZS90 ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKysrKwogNyBmaWxl cyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy94 MTNzLWJhc2UvSU5TVEFMTAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MveDEzcy1iYXNlL2Zp bGVzLzcyLXRvdWNoc2NyZWVuLnJ1bGVzCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy94MTNz LWJhc2UvZmlsZXMvOTAtYnQtYWRkcmVzcy5zaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv eDEzcy1iYXNlL2ZpbGVzLzkwLW5ldC1hZGRyZXNzLnJ1bGVzCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy94MTNzLWJhc2UvZmlsZXMvZHJhY3V0LmNvbmYKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3gxM3MtYmFzZS9maWxlcy9ta2luaXRjcGlvLmNvbmYKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3gxM3MtYmFzZS90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveDEzcy1i YXNlL0lOU1RBTEwgYi9zcmNwa2dzL3gxM3MtYmFzZS9JTlNUQUxMCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi42YTVmZDBiNzEyZjQyYgotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MveDEzcy1iYXNlL0lOU1RBTEwKQEAgLTAsMCArMSwxMyBAQAorY2FzZSAiJEFD VElPTiIgaW4KK3Bvc3QpCisJIyBhc3NpZ24gYSByYW5kb20gd2xhbiBNQUMgYWRkcmVzcyB3aXRo IHRoZSBjb3JyZWN0IE9VSQorCXNlZCAtaS5iYWsgLWUgInMvOkFBOkJCOkNDLyQob2QgLUFuIC1O MyAtdCB4MSAvZGV2L3VyYW5kb20gfCB0ciAnICcgJzonKS9nIiBcCisJCXVzci9saWIvdWRldi9y dWxlcy5kLzkwLXgxM3MtbmV0LWFkZHJlc3MucnVsZXMKKwlybSAtZiB1c3IvbGliL3VkZXYvcnVs ZXMuZC85MC14MTNzLW5ldC1hZGRyZXNzLnJ1bGVzLmJhaworCisJIyBhc3NpZ24gYSByYW5kb20g Ymx1ZXRvb3RoIE1BQyBhZGRyZXNzIHdpdGggdGhlIGNvcnJlY3QgT1VJCisJc2VkIC1pLmJhayAt ZSAicy86QUE6QkI6Q0MvJChvZCAtQW4gLU4zIC10IHgxIC9kZXYvdXJhbmRvbSB8IHRyICcgJyAn OicpL2ciIFwKKwkJZXRjL3J1bml0L2NvcmUtc2VydmljZXMvOTAteDEzcy1idC1hZGRyZXNzLnNo CisJcm0gLWYgdXNyL2xpYi91ZGV2L3J1bGVzLmQvOTAteDEzcy1idC1hZGRyZXNzLnNoLmJhawor CTs7Citlc2FjCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy83Mi10b3VjaHNj cmVlbi5ydWxlcyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzcyLXRvdWNoc2NyZWVuLnJ1bGVz Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5jMGExY2I2Mzc0OTY0 MwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzcyLXRvdWNoc2Ny ZWVuLnJ1bGVzCkBAIC0wLDAgKzEgQEAKK0FDVElPTj09ImFkZCIgLCBSVU4rPSIvYmluL3NoIC1j ICdlY2hvIDQtMDAxMCA+IC9zeXMvYnVzL2kyYy9kcml2ZXJzL2kyY19oaWRfb2YvYmluZCciCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy85MC1idC1hZGRyZXNzLnNoIGIvc3Jj cGtncy94MTNzLWJhc2UvZmlsZXMvOTAtYnQtYWRkcmVzcy5zaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uOWMwYmU0Nzk5MmVmYjUKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy85MC1idC1hZGRyZXNzLnNoCkBAIC0wLDAgKzEsNCBA QAoraWYgdHlwZSBidG1nbXQgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJbXNnICJTZXR0aW5nIGJs dWV0b290aCBNQUMgYWRkcmVzcy4uLiIKKwlidG1nbXQgLS1pbmRleCAwIHB1YmxpYy1hZGRyIEY0 OkEwOjBEOkFBOkJCOkNDCitmaQpkaWZmIC0tZ2l0IGEvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMv OTAtbmV0LWFkZHJlc3MucnVsZXMgYi9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy85MC1uZXQtYWRk cmVzcy5ydWxlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uYzE2 ZTM5YjlkZjA4OWUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy85 MC1uZXQtYWRkcmVzcy5ydWxlcwpAQCAtMCwwICsxLDIgQEAKK0FDVElPTj09ImFkZCIsIFNVQlNZ U1RFTT09Im5ldCIsIEtFUk5FTFM9PSIwMDA2OjAxOjAwLjAiLCBcCisJUlVOKz0iL3Vzci9iaW4v aXAgbGluayBzZXQgZGV2ICRuYW1lIGFkZHJlc3MgRjQ6QTA6MEQ6QUE6QkI6Q0MiCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy9kcmFjdXQuY29uZiBiL3NyY3BrZ3MveDEzcy1i YXNlL2ZpbGVzL2RyYWN1dC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMDAwLi5hMjRhY2ZhM2QwYTA2ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1i YXNlL2ZpbGVzL2RyYWN1dC5jb25mCkBAIC0wLDAgKzEsNiBAQAorZm9yY2VfZHJpdmVycys9IiBu dm1lIHBoeV9xY29tX3FtcF9wY2llICIKKyMga2V5Ym9hcmQKK2ZvcmNlX2RyaXZlcnMrPSIgaTJj X2hpZF9vZiBpMmNfcWNvbV9nZW5pICIKKyMgZGlzcGxheQorZm9yY2VfZHJpdmVycys9IiBsZWRz X3Fjb21fbHBnIHB3bV9ibCBxcnRyIHBtaWNfZ2xpbmtfYWx0bW9kZSBncGlvX3NidV9tdXggcGFu ZWxfZWRwIG1zbSAiCitmb3JjZV9kcml2ZXJzKz0iIHBoeV9xY29tX3FtcF9jb21ibyBwaW5jdHJs X3NjODI4MHhwIGdwdWNjX3NjODI4MHhwIGRpc3BjY19zYzgyODB4cCBwaHlfcWNvbV9lZHAgIgpk aWZmIC0tZ2l0IGEvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvbWtpbml0Y3Bpby5jb25mIGIvc3Jj cGtncy94MTNzLWJhc2UvZmlsZXMvbWtpbml0Y3Bpby5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5hNDI4ZWVmYjIwMTZmOQotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzL21raW5pdGNwaW8uY29uZgpAQCAtMCwwICsxLDYgQEAK K01PRFVMRVMrPShudm1lIHBoeV9xY29tX3FtcF9wY2llKQorIyBrZXlib2FyZAorTU9EVUxFUys9 KGkyY19oaWRfb2YgaTJjX3Fjb21fZ2VuaSkKKyMgZGlzcGxheQorTU9EVUxFUys9KGxlZHNfcWNv bV9scGcgcHdtX2JsIHFydHIgcG1pY19nbGlua19hbHRtb2RlIGdwaW9fc2J1X211eCBwYW5lbF9l ZHAgbXNtCisgcGh5X3Fjb21fcW1wX2NvbWJvIHBpbmN0cmxfc2M4MjgweHAgZ3B1Y2Nfc2M4Mjgw eHAgZGlzcGNjX3NjODI4MHhwIHBoeV9xY29tX2VkcCkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveDEz cy1iYXNlL3RlbXBsYXRlIGIvc3JjcGtncy94MTNzLWJhc2UvdGVtcGxhdGUKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjY1ODBkOGNlZjc5NzgyCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy94MTNzLWJhc2UvdGVtcGxhdGUKQEAgLTAsMCArMSwxOCBAQAorIyBU ZW1wbGF0ZSBmaWxlIGZvciAneDEzcy1iYXNlJworcGtnbmFtZT14MTNzLWJhc2UKK3ZlcnNpb249 MC41CityZXZpc2lvbj0xCithcmNocz0iYWFyY2g2NCoiCitkZXBlbmRzPSJsaW51eDYuOCBsaW51 eC1iYXNlIGxpbnV4LWZpcm13YXJlLXF1YWxjb21tIGFsc2EtdWNtLWNvbmYiCitzaG9ydF9kZXNj PSJWb2lkIExpbnV4IFRoaW5rcGFkIFgxM3MgcGxhdGZvcm0gcGFja2FnZSIKK21haW50YWluZXI9 ImNsYXNzYWJieWFtcCA8dm9pZEBwbGFjZXZpb2xldHRlLm5ldD4iCitsaWNlbnNlPSJQdWJsaWMg RG9tYWluIgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmciCisKK2RvX2luc3Rh bGwoKSB7CisJdmluc3RhbGwgIiR7RklMRVNESVJ9Ii83Mi10b3VjaHNjcmVlbi5ydWxlcyA2NDQg dXNyL2xpYi91ZGV2L3J1bGVzLmQgNzIteDEzcy10b3VjaHNjcmVlbi5ydWxlcworCXZpbnN0YWxs ICIke0ZJTEVTRElSfSIvOTAtbmV0LWFkZHJlc3MucnVsZXMgNjQ0IHVzci9saWIvdWRldi9ydWxl cy5kIDkwLXgxM3MtbmV0LWFkZHJlc3MucnVsZXMKKwl2aW5zdGFsbCAiJHtGSUxFU0RJUn0iLzkw LWJ0LWFkZHJlc3Muc2ggNjQ0IGV0Yy9ydW5pdC9jb3JlLXNlcnZpY2VzIDkwLXgxM3MtYnQtYWRk cmVzcy5zaAorCXZpbnN0YWxsICIke0ZJTEVTRElSfSIvZHJhY3V0LmNvbmYgNjQ0IHVzci9saWIv ZHJhY3V0L2RyYWN1dC5jb25mLmQgeDEzcy5jb25mCisJdmluc3RhbGwgIiR7RklMRVNESVJ9Ii9t a2luaXRjcGlvLmNvbmYgNjQ0IGV0Yy9ta2luaXRjcGlvLmNvbmYuZCB4MTNzLmNvbmYKK30KCkZy b20gMDMwYjk2MjE2M2ZkN2JiMGZjYmI4ODZhNmJmOTEwYTEwMDhjNjdiMCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogY2xhc3NhYmJ5YW1wIDx2b2lkQHBsYWNldmlvbGV0dGUubmV0PgpE YXRlOiBUaHUsIDIxIE1hciAyMDI0IDE4OjAxOjMwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCAyLzJd IGxpbnV4Ni44OiBhZGQgc3VwcG9ydCBmb3IgbGVub3ZvIHgxM3MKCi0tLQogc3JjcGtncy9saW51 eDYuOC9maWxlcy9hcm02NC1kb3Rjb25maWcgICAgICAgIHwgICA4MSArLQogLi4uZC1pbi1rZXJu ZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNoIHwgMTk2NCArKysrKysrKysrKysrKysr Kwogc3JjcGtncy9saW51eDYuOC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgIHwgICAgMiAr LQogMyBmaWxlcyBjaGFuZ2VkLCAyMDIzIGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbGludXg2LjgvcGF0Y2hlcy9zb2MtcWNvbS1hZGQt aW4ta2VybmVsLXBkLW1hcHBlci1pbXBsZW1lbnRhdGlvbi5wYXRjaAoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvbGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnIGIvc3JjcGtncy9saW51eDYuOC9m aWxlcy9hcm02NC1kb3Rjb25maWcKaW5kZXggYzgzYjYxZTVmY2JlMmYuLmVlMjdjZTA4Y2YzNGYz IDEwMDY0NAotLS0gYS9zcmNwa2dzL2xpbnV4Ni44L2ZpbGVzL2FybTY0LWRvdGNvbmZpZworKysg Yi9zcmNwa2dzL2xpbnV4Ni44L2ZpbGVzL2FybTY0LWRvdGNvbmZpZwpAQCAtMiw3ICsyLDcgQEAK ICMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZmlsZTsgRE8gTk9UIEVESVQuCiAjIExpbnV4L2Fy bTY0IDYuOC45IEtlcm5lbCBDb25maWd1cmF0aW9uCiAjCi1DT05GSUdfQ0NfVkVSU0lPTl9URVhU PSJhYXJjaDY0LWxpbnV4LW11c2wtZ2NjIChHQ0MpIDEzLjIuMCIKK0NPTkZJR19DQ19WRVJTSU9O X1RFWFQ9ImFhcmNoNjQtbGludXgtZ251LWdjYyAoR0NDKSAxMy4yLjAiCiBDT05GSUdfQ0NfSVNf R0NDPXkKIENPTkZJR19HQ0NfVkVSU0lPTj0xMzAyMDAKIENPTkZJR19DTEFOR19WRVJTSU9OPTAK QEAgLTI5LDcgKzI5LDcgQEAgQ09ORklHX1RIUkVBRF9JTkZPX0lOX1RBU0s9eQogQ09ORklHX0lO SVRfRU5WX0FSR19MSU1JVD0zMgogIyBDT05GSUdfQ09NUElMRV9URVNUIGlzIG5vdCBzZXQKICMg Q09ORklHX1dFUlJPUiBpcyBub3Qgc2V0Ci1DT05GSUdfTE9DQUxWRVJTSU9OPSJfMSIKK0NPTkZJ R19MT0NBTFZFUlNJT049Il8yIgogIyBDT05GSUdfTE9DQUxWRVJTSU9OX0FVVE8gaXMgbm90IHNl dAogQ09ORklHX0JVSUxEX1NBTFQ9IiIKIENPTkZJR19ERUZBVUxUX0lOSVQ9IiIKQEAgLTU5Niw3 ICs1OTYsNyBAQCBDT05GSUdfRFBNX1dBVENIRE9HPXkKIENPTkZJR19EUE1fV0FUQ0hET0dfVElN RU9VVD02MAogQ09ORklHX1BNX0NMSz15CiBDT05GSUdfUE1fR0VORVJJQ19ET01BSU5TPXkKLSMg Q09ORklHX1dRX1BPV0VSX0VGRklDSUVOVF9ERUZBVUxUIGlzIG5vdCBzZXQKK0NPTkZJR19XUV9Q T1dFUl9FRkZJQ0lFTlRfREVGQVVMVD15CiBDT05GSUdfUE1fR0VORVJJQ19ET01BSU5TX1NMRUVQ PXkKIENPTkZJR19QTV9HRU5FUklDX0RPTUFJTlNfT0Y9eQogQ09ORklHX0NQVV9QTT15CkBAIC0y MzY5LDcgKzIzNjksNyBAQCBDT05GSUdfU09DX0JVUz15CiBDT05GSUdfUkVHTUFQPXkKIENPTkZJ R19SRUdNQVBfSTJDPXkKIENPTkZJR19SRUdNQVBfU1BJPXkKLUNPTkZJR19SRUdNQVBfU1BNST1t CitDT05GSUdfUkVHTUFQX1NQTUk9eQogQ09ORklHX1JFR01BUF9XMT1tCiBDT05GSUdfUkVHTUFQ X01NSU89eQogQ09ORklHX1JFR01BUF9JUlE9eQpAQCAtMjQzNyw3ICsyNDM3LDcgQEAgQ09ORklH X0FSTV9TQ01JX1RSQU5TUE9SVF9WSVJUSU9fVkVSU0lPTjFfQ09NUExJQU5DRT15CiBDT05GSUdf QVJNX1NDTUlfUE9XRVJfQ09OVFJPTD1tCiAjIGVuZCBvZiBBUk0gU3lzdGVtIENvbnRyb2wgYW5k IE1hbmFnZW1lbnQgSW50ZXJmYWNlIFByb3RvY29sCiAKLUNPTkZJR19BUk1fU0NQSV9QUk9UT0NP TD1tCitDT05GSUdfQVJNX1NDUElfUFJPVE9DT0w9eQogQ09ORklHX0FSTV9TREVfSU5URVJGQUNF PXkKIENPTkZJR19GSVJNV0FSRV9NRU1NQVA9eQogQ09ORklHX0RNSUlEPXkKQEAgLTI0OTMsNyAr MjQ5Myw4IEBAIENPTkZJR19BUk1fUFNDSV9GVz15CiAjCiBDT05GSUdfUUNPTV9TQ009eQogIyBD T05GSUdfUUNPTV9TQ01fRE9XTkxPQURfTU9ERV9ERUZBVUxUIGlzIG5vdCBzZXQKLSMgQ09ORklH X1FDT01fUVNFRUNPTSBpcyBub3Qgc2V0CitDT05GSUdfUUNPTV9RU0VFQ09NPXkKK0NPTkZJR19R Q09NX1FTRUVDT01fVUVGSVNFQ0FQUD15CiAjIGVuZCBvZiBRdWFsY29tbSBmaXJtd2FyZSBkcml2 ZXJzCiAKIENPTkZJR19IQVZFX0FSTV9TTUNDQz15CkBAIC00OTA0LDcgKzQ5MDUsNyBAQCBDT05G SUdfWElMTFlVU0I9bQogQ09ORklHX0kyQz15CiBDT05GSUdfQUNQSV9JMkNfT1BSRUdJT049eQog Q09ORklHX0kyQ19CT0FSRElORk89eQotIyBDT05GSUdfSTJDX0NPTVBBVCBpcyBub3Qgc2V0CitD T05GSUdfSTJDX0NPTVBBVD15CiBDT05GSUdfSTJDX0NIQVJERVY9bQogQ09ORklHX0kyQ19NVVg9 bQogCkBAIC01MTMzLDcgKzUxMzQsNyBAQCBDT05GSUdfU1BJX1NMQVZFPXkKIENPTkZJR19TUElf U0xBVkVfVElNRT1tCiBDT05GSUdfU1BJX1NMQVZFX1NZU1RFTV9DT05UUk9MPW0KIENPTkZJR19T UElfRFlOQU1JQz15Ci1DT05GSUdfU1BNST1tCitDT05GSUdfU1BNST15CiBDT05GSUdfU1BNSV9I SVNJMzY3MD1tCiBDT05GSUdfU1BNSV9NU01fUE1JQ19BUkI9bQogQ09ORklHX1NQTUlfTVRLX1BN SUY9bQpAQCAtNTMwNCw3ICs1MzA1LDcgQEAgQ09ORklHX1BJTkNUUkxfU0E4Nzc1UD1tCiBDT05G SUdfUElOQ1RSTF9TQzcxODA9bQogQ09ORklHX1BJTkNUUkxfU0M3MjgwPW0KIENPTkZJR19QSU5D VFJMX1NDODE4MFg9bQotQ09ORklHX1BJTkNUUkxfU0M4MjgwWFA9bQorQ09ORklHX1BJTkNUUkxf U0M4MjgwWFA9eQogIyBDT05GSUdfUElOQ1RSTF9TRE02NjAgaXMgbm90IHNldAogQ09ORklHX1BJ TkNUUkxfU0RNNjcwPW0KIENPTkZJR19QSU5DVFJMX1NETTg0NT1tCkBAIC01MzIyLDcgKzUzMjMs NyBAQCBDT05GSUdfUElOQ1RSTF9TTTg0NTA9bQogQ09ORklHX1BJTkNUUkxfU004NTUwPW0KICMg Q09ORklHX1BJTkNUUkxfU004NjUwIGlzIG5vdCBzZXQKICMgQ09ORklHX1BJTkNUUkxfWDFFODAx MDAgaXMgbm90IHNldAotQ09ORklHX1BJTkNUUkxfUUNPTV9TUE1JX1BNSUM9bQorQ09ORklHX1BJ TkNUUkxfUUNPTV9TUE1JX1BNSUM9eQogQ09ORklHX1BJTkNUUkxfUUNPTV9TU0JJX1BNSUM9bQog Q09ORklHX1BJTkNUUkxfTFBBU1NfTFBJPW0KICMgQ09ORklHX1BJTkNUUkxfU0M3MjgwX0xQQVNT X0xQSSBpcyBub3Qgc2V0CkBAIC01OTExLDEyICs1OTEyLDEzIEBAIENPTkZJR19USEVSTUFMX09G PXkKIENPTkZJR19USEVSTUFMX0RFRkFVTFRfR09WX1NURVBfV0lTRT15CiAjIENPTkZJR19USEVS TUFMX0RFRkFVTFRfR09WX0ZBSVJfU0hBUkUgaXMgbm90IHNldAogIyBDT05GSUdfVEhFUk1BTF9E RUZBVUxUX0dPVl9VU0VSX1NQQUNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RIRVJNQUxfREVGQVVM VF9HT1ZfUE9XRVJfQUxMT0NBVE9SIGlzIG5vdCBzZXQKICMgQ09ORklHX1RIRVJNQUxfREVGQVVM VF9HT1ZfQkFOR19CQU5HIGlzIG5vdCBzZXQKIENPTkZJR19USEVSTUFMX0dPVl9GQUlSX1NIQVJF PXkKIENPTkZJR19USEVSTUFMX0dPVl9TVEVQX1dJU0U9eQogQ09ORklHX1RIRVJNQUxfR09WX0JB TkdfQkFORz15CiBDT05GSUdfVEhFUk1BTF9HT1ZfVVNFUl9TUEFDRT15Ci0jIENPTkZJR19USEVS TUFMX0dPVl9QT1dFUl9BTExPQ0FUT1IgaXMgbm90IHNldAorQ09ORklHX1RIRVJNQUxfR09WX1BP V0VSX0FMTE9DQVRPUj15CiBDT05GSUdfQ1BVX1RIRVJNQUw9eQogQ09ORklHX0NQVV9GUkVRX1RI RVJNQUw9eQogIyBDT05GSUdfQ1BVX0lETEVfVEhFUk1BTCBpcyBub3Qgc2V0CkBAIC01OTc0LDcg KzU5NzYsNyBAQCBDT05GSUdfR0VORVJJQ19BRENfVEhFUk1BTD1tCiAjCiBDT05GSUdfUUNPTV9U U0VOUz1tCiBDT05GSUdfUUNPTV9TUE1JX0FEQ19UTTU9bQotIyBDT05GSUdfUUNPTV9TUE1JX1RF TVBfQUxBUk0gaXMgbm90IHNldAorQ09ORklHX1FDT01fU1BNSV9URU1QX0FMQVJNPW0KIENPTkZJ R19RQ09NX0xNSD1tCiAjIGVuZCBvZiBRdWFsY29tbSB0aGVybWFsIGRyaXZlcnMKIApAQCAtNjAx Miw3ICs2MDE0LDcgQEAgQ09ORklHX1hJTElOWF9XQVRDSERPRz1tCiBDT05GSUdfWklJUkFWRV9X QVRDSERPRz1tCiBDT05GSUdfTUxYX1dEVD1tCiBDT05GSUdfU0wyOENQTERfV0FUQ0hET0c9bQot IyBDT05GSUdfQVJNX1NQODA1X1dBVENIRE9HIGlzIG5vdCBzZXQKK0NPTkZJR19BUk1fU1A4MDVf V0FUQ0hET0c9eQogQ09ORklHX0FSTV9TQlNBX1dBVENIRE9HPW0KIENPTkZJR19BUk1BREFfMzdY WF9XQVRDSERPRz1tCiBDT05GSUdfQ0FERU5DRV9XQVRDSERPRz1tCkBAIC02MDI1LDcgKzYwMjcs NyBAQCBDT05GSUdfSU1YMl9XRFQ9bQogQ09ORklHX0lNWF9TQ19XRFQ9bQogQ09ORklHX0lNWDdV TFBfV0RUPW0KIENPTkZJR19URUdSQV9XQVRDSERPRz1tCi0jIENPTkZJR19RQ09NX1dEVCBpcyBu b3Qgc2V0CitDT05GSUdfUUNPTV9XRFQ9bQogQ09ORklHX01FU09OX0dYQkJfV0FUQ0hET0c9bQog Q09ORklHX01FU09OX1dBVENIRE9HPW0KIENPTkZJR19NRURJQVRFS19XQVRDSERPRz1tCkBAIC05 MzI1LDcgKzkzMjcsNyBAQCBDT05GSUdfU0NTSV9VRlNIQ0RfUENJPW0KIENPTkZJR19TQ1NJX1VG U0hDRF9QTEFURk9STT1tCiBDT05GSUdfU0NTSV9VRlNfQ0ROU19QTEFURk9STT1tCiAjIENPTkZJ R19TQ1NJX1VGU19EV0NfVENfUExBVEZPUk0gaXMgbm90IHNldAotIyBDT05GSUdfU0NTSV9VRlNf UUNPTSBpcyBub3Qgc2V0CitDT05GSUdfU0NTSV9VRlNfUUNPTT1tCiBDT05GSUdfU0NTSV9VRlNf TUVESUFURUs9bQogQ09ORklHX1NDU0lfVUZTX0hJU0k9bQogQ09ORklHX1NDU0lfVUZTX0VYWU5P Uz1tCkBAIC0xMDM0NCw3ICsxMDM0Niw3IEBAIENPTkZJR19RQ01fR0NDXzIyOTA9bQogQ09ORklH X1FDU19HQ0NfNDA0PW0KIENPTkZJR19TQ19DQU1DQ183MTgwPW0KIENPTkZJR19TQ19DQU1DQ183 MjgwPW0KLSMgQ09ORklHX1NDX0NBTUNDXzgyODBYUCBpcyBub3Qgc2V0CitDT05GSUdfU0NfQ0FN Q0NfODI4MFhQPW0KIENPTkZJR19TQ19ESVNQQ0NfNzE4MD1tCiBDT05GSUdfU0NfRElTUENDXzcy ODA9bQogQ09ORklHX1NDX0RJU1BDQ184MjgwWFA9bQpAQCAtMTAzNTYsOSArMTAzNTgsOSBAQCBD T05GSUdfU0NfR0NDXzgxODBYPW0KIENPTkZJR19TQ19HQ0NfODI4MFhQPW0KIENPTkZJR19TQ19H UFVDQ183MTgwPW0KIENPTkZJR19TQ19HUFVDQ183MjgwPW0KLSMgQ09ORklHX1NDX0dQVUNDXzgy ODBYUCBpcyBub3Qgc2V0CitDT05GSUdfU0NfR1BVQ0NfODI4MFhQPW0KIENPTkZJR19TQ19MUEFT U0NDXzcyODA9bQotIyBDT05GSUdfU0NfTFBBU1NDQ184MjgwWFAgaXMgbm90IHNldAorQ09ORklH X1NDX0xQQVNTQ0NfODI4MFhQPW0KIENPTkZJR19TQ19MUEFTU19DT1JFQ0NfNzE4MD1tCiBDT05G SUdfU0NfTFBBU1NfQ09SRUNDXzcyODA9bQogQ09ORklHX1NDX01TU183MTgwPW0KQEAgLTEwNDE2 LDcgKzEwNDE4LDcgQEAgQ09ORklHX1NNX1RDU1JDQ184NTUwPW0KICMgQ09ORklHX1NNX1RDU1JD Q184NjUwIGlzIG5vdCBzZXQKIENPTkZJR19TTV9WSURFT0NDXzgxNTA9bQogQ09ORklHX1NNX1ZJ REVPQ0NfODI1MD1tCi0jIENPTkZJR19TTV9WSURFT0NDXzgzNTAgaXMgbm90IHNldAorQ09ORklH X1NNX1ZJREVPQ0NfODM1MD1tCiAjIENPTkZJR19TTV9WSURFT0NDXzg1NTAgaXMgbm90IHNldAog Q09ORklHX1NQTUlfUE1JQ19DTEtESVY9bQogQ09ORklHX1FDT01fSEZQTEw9bQpAQCAtMTA0OTQs NyArMTA0OTYsNyBAQCBDT05GSUdfVElNRVJfSU1YX1NZU19DVFI9eQogIyBlbmQgb2YgQ2xvY2sg U291cmNlIGRyaXZlcnMKIAogQ09ORklHX01BSUxCT1g9eQotIyBDT05GSUdfQVJNX01IVSBpcyBu b3Qgc2V0CitDT05GSUdfQVJNX01IVT15CiBDT05GSUdfQVJNX01IVV9WMj1tCiBDT05GSUdfSU1Y X01CT1g9bQogQ09ORklHX1BMQVRGT1JNX01IVT1tCkBAIC0xMDUzNiw4ICsxMDUzOCw4IEBAIENP TkZJR19JT01NVV9JT19QR1RBQkxFX0RBUlQ9eQogCiAjIENPTkZJR19JT01NVV9ERUJVR0ZTIGlz IG5vdCBzZXQKICMgQ09ORklHX0lPTU1VX0RFRkFVTFRfRE1BX1NUUklDVCBpcyBub3Qgc2V0Ci0j IENPTkZJR19JT01NVV9ERUZBVUxUX0RNQV9MQVpZIGlzIG5vdCBzZXQKLUNPTkZJR19JT01NVV9E RUZBVUxUX1BBU1NUSFJPVUdIPXkKK0NPTkZJR19JT01NVV9ERUZBVUxUX0RNQV9MQVpZPXkKKyMg Q09ORklHX0lPTU1VX0RFRkFVTFRfUEFTU1RIUk9VR0ggaXMgbm90IHNldAogQ09ORklHX09GX0lP TU1VPXkKIENPTkZJR19JT01NVV9ETUE9eQogQ09ORklHX0lPTU1VX1NWQT15CkBAIC0xMDY5NSw3 ICsxMDY5Nyw5IEBAIENPTkZJR19RQ09NX0xMQ0M9bQogQ09ORklHX1FDT01fS1JZT19MMl9BQ0NF U1NPUlM9eQogQ09ORklHX1FDT01fTURUX0xPQURFUj1tCiBDT05GSUdfUUNPTV9PQ01FTT1tCitD T05GSUdfUUNPTV9QRF9NQVBQRVI9bQogQ09ORklHX1FDT01fUERSX0hFTFBFUlM9bQorQ09ORklH X1FDT01fUERSX01TRz1tCiAjIENPTkZJR19RQ09NX1BNSUNfUERDSEFSR0VSX1VMT0cgaXMgbm90 IHNldAogQ09ORklHX1FDT01fUE1JQ19HTElOSz1tCiBDT05GSUdfUUNPTV9RTUlfSEVMUEVSUz1t CkBAIC0xMTkyNyw3ICsxMTkzMSwzOCBAQCBDT05GSUdfSU5URVJDT05ORUNUX0lNWDhNTT1tCiBD T05GSUdfSU5URVJDT05ORUNUX0lNWDhNTj1tCiBDT05GSUdfSU5URVJDT05ORUNUX0lNWDhNUT1t CiBDT05GSUdfSU5URVJDT05ORUNUX0lNWDhNUD1tCi0jIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNP TSBpcyBub3Qgc2V0CitDT05GSUdfSU5URVJDT05ORUNUX1FDT009eQorQ09ORklHX0lOVEVSQ09O TkVDVF9RQ09NX0JDTV9WT1RFUj15CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9NU004OTE2 IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5MzkgaXMgbm90IHNl dAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fTVNNODk3NCBpcyBub3Qgc2V0CisjIENPTkZJ R19JTlRFUkNPTk5FQ1RfUUNPTV9NU004OTk2IGlzIG5vdCBzZXQKK0NPTkZJR19JTlRFUkNPTk5F Q1RfUUNPTV9PU01fTDM9bQorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fUUNNMjI5MCBpcyBu b3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9RQ1M0MDQgaXMgbm90IHNldAorIyBD T05GSUdfSU5URVJDT05ORUNUX1FDT01fUURVMTAwMCBpcyBub3Qgc2V0CitDT05GSUdfSU5URVJD T05ORUNUX1FDT01fUlBNSF9QT1NTSUJMRT15CitDT05GSUdfSU5URVJDT05ORUNUX1FDT01fUlBN SD15CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TQTg3NzVQIGlzIG5vdCBzZXQKKyMgQ09O RklHX0lOVEVSQ09OTkVDVF9RQ09NX1NDNzE4MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNP Tk5FQ1RfUUNPTV9TQzcyODAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01f U0M4MTgwWCBpcyBub3Qgc2V0CitDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0M4MjgwWFA9eQor IyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0RNNjYwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lO VEVSQ09OTkVDVF9RQ09NX1NETTY3MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1Rf UUNPTV9TRE04NDUgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0RYNTUg aXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0RYNjUgaXMgbm90IHNldAor IyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0RYNzUgaXMgbm90IHNldAorIyBDT05GSUdfSU5U RVJDT05ORUNUX1FDT01fU002MTE1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9R Q09NX1NNNjM1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTgxNTAg aXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004MjUwIGlzIG5vdCBzZXQK KyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODM1MCBpcyBub3Qgc2V0CisjIENPTkZJR19J TlRFUkNPTk5FQ1RfUUNPTV9TTTg0NTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNU X1FDT01fU004NTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODY1 MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9YMUU4MDEwMCBpcyBub3Qg c2V0CiBDT05GSUdfSU5URVJDT05ORUNUX1NBTVNVTkc9eQogQ09ORklHX0lOVEVSQ09OTkVDVF9F WFlOT1M9bQogQ09ORklHX0lOVEVSQ09OTkVDVF9DTEs9bQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9s aW51eDYuOC9wYXRjaGVzL3NvYy1xY29tLWFkZC1pbi1rZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVu dGF0aW9uLnBhdGNoIGIvc3JjcGtncy9saW51eDYuOC9wYXRjaGVzL3NvYy1xY29tLWFkZC1pbi1r ZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMDAwLi44MzlmMDkzM2U0MTFkMQotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvbGludXg2LjgvcGF0Y2hlcy9zb2MtcWNvbS1hZGQtaW4ta2VybmVsLXBkLW1hcHBl ci1pbXBsZW1lbnRhdGlvbi5wYXRjaApAQCAtMCwwICsxLDE5NjQgQEAKK3NvdXJjZTogaHR0cHM6 Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wcm9qZWN0L2xpbnV4LXJlbW90ZXByb2MvY292ZXIvMjAy NDA1MTItcWNvbS1wZC1tYXBwZXItdjgtMC01ZWNiYjI3NmZjYzBAbGluYXJvLm9yZy8KKworRnJv bTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0ZTog U3VuLCAxMiBNYXkgMjAyNCAwMDo1NjowMyArMDMwMAorU3ViamVjdDogW1BBVENIIHY4IDEvNV0g c29jOiBxY29tOiBwZHI6IHByb3RlY3QgbG9jYXRvcl9hZGRyIHdpdGggdGhlIG1haW4KKyBtdXRl eAorCitJZiB0aGUgc2VydmljZSBsb2NhdG9yIHNlcnZlciBpcyByZXN0YXJ0ZWQgZmFzdCBlbm91 Z2gsIHRoZSBQRFIgY2FuCityZXdyaXRlIGxvY2F0b3JfYWRkciBmaWVsZHMgY29uY3VycmVudGx5 LiBQcm90ZWN0IHRoZW0gYnkgcGxhY2luZworbW9kaWZpY2F0aW9uIG9mIHRob3NlIGZpZWxkcyB1 bmRlciB0aGUgbWFpbiBwZHItPmxvY2suCisKK0ZpeGVzOiBmYmU2MzliNDRhODIgKCJzb2M6IHFj b206IEludHJvZHVjZSBQcm90ZWN0aW9uIERvbWFpbiBSZXN0YXJ0IGhlbHBlcnMiKQorVGVzdGVk LWJ5OiBOZWlsIEFybXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9yZz4gIyBvbiBTTTg1 NTAtUVJECitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3RlZXZAa2FsaS5vcmc+CitU ZXN0ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8YWxleGV5bWluQHBvc3RtYXJrZXRvcy5vcmc+ CitTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFy by5vcmc+CistLS0KKyBkcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYyB8IDE1ICsrKysr KysrKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMgYi9k cml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYworaW5kZXggYTFiNmE0MDgxZGVhLi5lMDE0 ZGQyZDhhYjMgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYwor KysrIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKK0BAIC03NiwxMiArNzYsMTIg QEAgc3RhdGljIGludCBwZHJfbG9jYXRvcl9uZXdfc2VydmVyKHN0cnVjdCBxbWlfaGFuZGxlICpx bWksCisgCQkJCQkgICAgICBsb2NhdG9yX2hkbCk7CisgCXN0cnVjdCBwZHJfc2VydmljZSAqcGRz OworIAorKwltdXRleF9sb2NrKCZwZHItPmxvY2spOworIAkvKiBDcmVhdGUgYSBsb2NhbCBjbGll bnQgcG9ydCBmb3IgUU1JIGNvbW11bmljYXRpb24gKi8KKyAJcGRyLT5sb2NhdG9yX2FkZHIuc3Ff ZmFtaWx5ID0gQUZfUUlQQ1JUUjsKKyAJcGRyLT5sb2NhdG9yX2FkZHIuc3Ffbm9kZSA9IHN2Yy0+ bm9kZTsKKyAJcGRyLT5sb2NhdG9yX2FkZHIuc3FfcG9ydCA9IHN2Yy0+cG9ydDsKKyAKKy0JbXV0 ZXhfbG9jaygmcGRyLT5sb2NrKTsKKyAJcGRyLT5sb2NhdG9yX2luaXRfY29tcGxldGUgPSB0cnVl OworIAltdXRleF91bmxvY2soJnBkci0+bG9jayk7CisgCitAQCAtMTA0LDEwICsxMDQsMTAgQEAg c3RhdGljIHZvaWQgcGRyX2xvY2F0b3JfZGVsX3NlcnZlcihzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1p LAorIAorIAltdXRleF9sb2NrKCZwZHItPmxvY2spOworIAlwZHItPmxvY2F0b3JfaW5pdF9jb21w bGV0ZSA9IGZhbHNlOworLQltdXRleF91bmxvY2soJnBkci0+bG9jayk7CisgCisgCXBkci0+bG9j YXRvcl9hZGRyLnNxX25vZGUgPSAwOworIAlwZHItPmxvY2F0b3JfYWRkci5zcV9wb3J0ID0gMDsK KysJbXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOworIH0KKyAKKyBzdGF0aWMgY29uc3Qgc3RydWN0 IHFtaV9vcHMgcGRyX2xvY2F0b3Jfb3BzID0geworQEAgLTM2NSw2ICszNjUsNyBAQCBzdGF0aWMg aW50IHBkcl9nZXRfZG9tYWluX2xpc3Qoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jl cSAqcmVxLAorIAlpZiAocmV0IDwgMCkKKyAJCXJldHVybiByZXQ7CisgCisrCW11dGV4X2xvY2so JnBkci0+bG9jayk7CisgCXJldCA9IHFtaV9zZW5kX3JlcXVlc3QoJnBkci0+bG9jYXRvcl9oZGws CisgCQkJICAgICAgICZwZHItPmxvY2F0b3JfYWRkciwKKyAJCQkgICAgICAgJnR4biwgU0VSVlJF R19HRVRfRE9NQUlOX0xJU1RfUkVRLAorQEAgLTM3MywxNSArMzc0LDE2IEBAIHN0YXRpYyBpbnQg cGRyX2dldF9kb21haW5fbGlzdChzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxICpy ZXEsCisgCQkJICAgICAgIHJlcSk7CisgCWlmIChyZXQgPCAwKSB7CisgCQlxbWlfdHhuX2NhbmNl bCgmdHhuKTsKKy0JCXJldHVybiByZXQ7CisrCQlnb3RvIGVycl91bmxvY2s7CisgCX0KKyAKKyAJ cmV0ID0gcW1pX3R4bl93YWl0KCZ0eG4sIDUgKiBIWik7CisgCWlmIChyZXQgPCAwKSB7CisgCQlw cl9lcnIoIlBEUjogJXMgZ2V0IGRvbWFpbiBsaXN0IHR4biB3YWl0IGZhaWxlZDogJWRcbiIsCisg CQkgICAgICAgcmVxLT5zZXJ2aWNlX25hbWUsIHJldCk7CistCQlyZXR1cm4gcmV0OworKwkJZ290 byBlcnJfdW5sb2NrOworIAl9CisrCW11dGV4X3VubG9jaygmcGRyLT5sb2NrKTsKKyAKKyAJaWYg KHJlc3AtPnJlc3AucmVzdWx0ICE9IFFNSV9SRVNVTFRfU1VDQ0VTU19WMDEpIHsKKyAJCXByX2Vy cigiUERSOiAlcyBnZXQgZG9tYWluIGxpc3QgZmFpbGVkOiAweCV4XG4iLAorQEAgLTM5MCw2ICsz OTIsMTEgQEAgc3RhdGljIGludCBwZHJfZ2V0X2RvbWFpbl9saXN0KHN0cnVjdCBzZXJ2cmVnX2dl dF9kb21haW5fbGlzdF9yZXEgKnJlcSwKKyAJfQorIAorIAlyZXR1cm4gMDsKKysKKytlcnJfdW5s b2NrOgorKwltdXRleF91bmxvY2soJnBkci0+bG9jayk7CisrCisrCXJldHVybiByZXQ7CisgfQor IAorIHN0YXRpYyBpbnQgcGRyX2xvY2F0ZV9zZXJ2aWNlKHN0cnVjdCBwZHJfaGFuZGxlICpwZHIs IHN0cnVjdCBwZHJfc2VydmljZSAqcGRzKQorCitGcm9tOiBEbWl0cnkgQmFyeXNoa292IDxkbWl0 cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CitEYXRlOiBTdW4sIDEyIE1heSAyMDI0IDAwOjU2OjA0 ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggdjggMi81XSBzb2M6IHFjb206IHBkcjogZml4IHBhcnNp bmcgb2YgZG9tYWlucyBsaXN0cworCitXaGlsZSBwYXJzaW5nIHRoZSBkb21haW5zIGxpc3QsIHN0 YXJ0IG9mZnNldHMgZnJvbSAwIHJhdGhlciB0aGFuIGZyb20KK2RvbWFpbnNfcmVhZC4gVGhlIGRv bWFpbnNfcmVhZCBpcyBlcXVhbCB0byB0aGUgdG90YWwgY291bnQgb2YgdGhlCitkb21haW5zIHdl IGhhdmUgc2Vlbiwgd2hpbGUgdGhlIGRvbWFpbnMgbGlzdCBpbiB0aGUgbWVzc2FnZSBzdGFydHMg ZnJvbQorb2Zmc2V0IDAuCisKK0ZpeGVzOiBmYmU2MzliNDRhODIgKCJzb2M6IHFjb206IEludHJv ZHVjZSBQcm90ZWN0aW9uIERvbWFpbiBSZXN0YXJ0IGhlbHBlcnMiKQorVGVzdGVkLWJ5OiBTdGVl diBLbGltYXN6ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkgTWlubmVr aGFub3YgPGFsZXhleW1pbkBwb3N0bWFya2V0b3Mub3JnPgorU2lnbmVkLW9mZi1ieTogRG1pdHJ5 IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorLS0tCisgZHJpdmVycy9z b2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Bk cl9pbnRlcmZhY2UuYyBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCitpbmRleCBl MDE0ZGQyZDhhYjMuLmQ0OTVlZTczNjUxOSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20v cGRyX2ludGVyZmFjZS5jCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYwor QEAgLTQyMiw3ICs0MjIsNyBAQCBzdGF0aWMgaW50IHBkcl9sb2NhdGVfc2VydmljZShzdHJ1Y3Qg cGRyX2hhbmRsZSAqcGRyLCBzdHJ1Y3QgcGRyX3NlcnZpY2UgKnBkcykKKyAJCWlmIChyZXQgPCAw KQorIAkJCWdvdG8gb3V0OworIAorLQkJZm9yIChpID0gZG9tYWluc19yZWFkOyBpIDwgcmVzcC0+ ZG9tYWluX2xpc3RfbGVuOyBpKyspIHsKKysJCWZvciAoaSA9IDA7IGkgPCByZXNwLT5kb21haW5f bGlzdF9sZW47IGkrKykgeworIAkJCWVudHJ5ID0gJnJlc3AtPmRvbWFpbl9saXN0W2ldOworIAor IAkJCWlmIChzdHJubGVuKGVudHJ5LT5uYW1lLCBzaXplb2YoZW50cnktPm5hbWUpKSA9PSBzaXpl b2YoZW50cnktPm5hbWUpKQorCitGcm9tOiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNo a292QGxpbmFyby5vcmc+CitEYXRlOiBTdW4sIDEyIE1heSAyMDI0IDAwOjU2OjA1ICswMzAwCitT dWJqZWN0OiBbUEFUQ0ggdjggMy81XSBzb2M6IHFjb206IHBkcjogZXh0cmFjdCBQRFIgbWVzc2Fn ZSBtYXJzaGFsbGluZworIGRhdGEKKworVGhlIGluLWtlcm5lbCBQRCBtYXBwZXIgaXMgZ29pbmcg dG8gdXNlIHNhbWUgbWVzc2FnZSBzdHJ1Y3R1cmVzIGFzIHRoZQorUUNPTV9QRFJfSEVMUEVSUyBt b2R1bGUuIEV4dHJhY3QgbWVzc2FnZSBtYXJzaGFsbGluZyBkYXRhIHRvIHNlcGFyYXRlCittb2R1 bGUgdGhhdCBjYW4gYmUgdXNlZCBieSBib3RoIFBEUiBoZWxwZXJzIGFuZCBieSBQRCBtYXBwZXIu CisKK1Jldmlld2VkLWJ5OiBCcnlhbiBPJ0Rvbm9naHVlIDxicnlhbi5vZG9ub2dodWVAbGluYXJv Lm9yZz4KK1Rlc3RlZC1ieTogU3RlZXYgS2xpbWFzemV3c2tpIDxzdGVldkBrYWxpLm9yZz4KK1Rl c3RlZC1ieTogQWxleGV5IE1pbm5la2hhbm92IDxhbGV4ZXltaW5AcG9zdG1hcmtldG9zLm9yZz4K K1NpZ25lZC1vZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJv Lm9yZz4KKy0tLQorIGRyaXZlcnMvc29jL3Fjb20vS2NvbmZpZyAgICAgICAgfCAgIDQgKworIGRy aXZlcnMvc29jL3Fjb20vTWFrZWZpbGUgICAgICAgfCAgIDEgKworIGRyaXZlcnMvc29jL3Fjb20v cGRyX2ludGVybmFsLmggfCAzMDYgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyBkcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21zZy5jIHwgMzE5ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDMzNCBpbnNlcnRp b25zKCspLCAyOTYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29t L0tjb25maWcgYi9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcKK2luZGV4IDVhZjMzYjBlMzQ3MC4u OTU5NzNjNmI4MjhmIDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCisrKysg Yi9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcKK0BAIC03NSw4ICs3NSwxMiBAQCBjb25maWcgUUNP TV9PQ01FTQorIGNvbmZpZyBRQ09NX1BEUl9IRUxQRVJTCisgCXRyaXN0YXRlCisgCXNlbGVjdCBR Q09NX1FNSV9IRUxQRVJTCisrCXNlbGVjdCBRQ09NX1BEUl9NU0cKKyAJZGVwZW5kcyBvbiBORVQK KyAKKytjb25maWcgUUNPTV9QRFJfTVNHCisrCXRyaXN0YXRlCisrCisgY29uZmlnIFFDT01fUE1J Q19QRENIQVJHRVJfVUxPRworIAl0cmlzdGF0ZSAiUXVhbGNvbW0gUE1JQyBQRENoYXJnZXIgVUxP RyBkcml2ZXIiCisgCWRlcGVuZHMgb24gUlBNU0cKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9x Y29tL01ha2VmaWxlIGIvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQoraW5kZXggY2EwYmVjZTBk ZmZmLi4zMTEwYWMzMjg4YmMgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxl CisrKysgYi9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCitAQCAtOCw2ICs4LDcgQEAgb2JqLSQo Q09ORklHX1FDT01fR1NCSSkJKz0JcWNvbV9nc2JpLm8KKyBvYmotJChDT05GSUdfUUNPTV9NRFRf TE9BREVSKQkrPSBtZHRfbG9hZGVyLm8KKyBvYmotJChDT05GSUdfUUNPTV9PQ01FTSkJKz0gb2Nt ZW0ubworIG9iai0kKENPTkZJR19RQ09NX1BEUl9IRUxQRVJTKQkrPSBwZHJfaW50ZXJmYWNlLm8K KytvYmotJChDT05GSUdfUUNPTV9QRFJfTVNHKQkrPSBxY29tX3Bkcl9tc2cubworIG9iai0kKENP TkZJR19RQ09NX1BNSUNfR0xJTkspCSs9IHBtaWNfZ2xpbmsubworIG9iai0kKENPTkZJR19RQ09N X1BNSUNfR0xJTkspCSs9IHBtaWNfZ2xpbmtfYWx0bW9kZS5vCisgb2JqLSQoQ09ORklHX1FDT01f UE1JQ19QRENIQVJHRVJfVUxPRykJKz0gcG1pY19wZGNoYXJnZXJfdWxvZy5vCitkaWZmIC0tZ2l0 IGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaCBiL2RyaXZlcnMvc29jL3Fjb20vcGRy X2ludGVybmFsLmgKK2luZGV4IDAzYzI4MmI3ZjE3ZS4uN2U1YmI1YTk1Mjc1IDEwMDY0NAorLS0t IGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaAorKysrIGIvZHJpdmVycy9zb2MvcWNv bS9wZHJfaW50ZXJuYWwuaAorQEAgLTI4LDgzICsyOCwxMiBAQCBzdHJ1Y3Qgc2VydnJlZ19sb2Nh dGlvbl9lbnRyeSB7CisgCXUzMiBpbnN0YW5jZTsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1 Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpW10gPSB7CistCXsKKy0J CS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJW UkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwK Ky0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAwLAorLQkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnks CistCQkJCQkgICBuYW1lKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VO U0lHTkVEXzRfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2YodTMyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5 cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZy ZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkgICBpbnN0YW5jZSksCistCX0sCistCXsKKy0JCS5k YXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8xX0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAg PSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0g Tk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0g b2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkgICBzZXJ2aWNl X2RhdGFfdmFsaWQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdO RURfNF9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9 IHNpemVvZih1MzIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAg ICAgICA9IDAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19s b2NhdGlvbl9lbnRyeSwKKy0JCQkJCSAgIHNlcnZpY2VfZGF0YSksCistCX0sCistCXt9CistfTsK Ky0KKyBzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxIHsKKyAJY2hhciBzZXJ2aWNl X25hbWVbU0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOworIAl1OCBkb21haW5fb2Zmc2V0X3ZhbGlk OworIAl1MzIgZG9tYWluX29mZnNldDsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1p X2VsZW1faW5mbyBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXFfZWlbXSA9IHsKKy0JeworLQkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKy0JCS5lbGVtX2xlbiAgICAgICA9IFNFUlZS RUdfTkFNRV9MRU5HVEggKyAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAor LQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCist CQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xp c3RfcmVxLAorLQkJCQkJICAgc2VydmljZV9uYW1lKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlw ZSAgICAgID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVt X3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJ LnRsdl90eXBlICAgICAgID0gMHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0 cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXEsCistCQkJCQkgICBkb21haW5fb2Zmc2V0 X3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRf QllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXpl b2YodTMyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAg PSAweDEwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0 X2RvbWFpbl9saXN0X3JlcSwKKy0JCQkJCSAgIGRvbWFpbl9vZmZzZXQpLAorLQl9LAorLQl7fQor LX07CistCisgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgeworIAlzdHJ1Y3Qg cW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgCXU4IHRvdGFsX2RvbWFpbnNfdmFsaWQ7CitA QCAtMTE2LDI2NCArNDUsNDkgQEAgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3Ag eworIAlzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSBkb21haW5fbGlzdFtTRVJWUkVHX0RP TUFJTl9MSVNUX0xFTkdUSF07CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcF9laVtdID0geworLQl7CistCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5l bGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0J CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0 X3Jlc3AsCistCQkJCQkgICByZXNwKSwKKy0JCS5laV9hcnJheSAgICAgID0gcW1pX3Jlc3BvbnNl X3R5cGVfdjAxX2VpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZM QUcsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9m KHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAw eDEwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2Rv bWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICB0b3RhbF9kb21haW5zX3ZhbGlkKSwKKy0JfSwKKy0J eworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xl biAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJh eV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNl dCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3As CistCQkJCQkgICB0b3RhbF9kb21haW5zKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUg ICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90 eXBlICAgICAgID0gMHgxMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBz ZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAgZGJfcmV2X2NvdW50X3ZhbGlk KSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwK Ky0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2 KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEx LAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFp bl9saXN0X3Jlc3AsCistCQkJCQkgICBkYl9yZXZfY291bnQpLAorLQl9LAorLQl7CistCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVks CistCQkudGx2X3R5cGUgICAgICAgPSAweDEyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0 b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5f bGlzdF92YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9EQVRBX0xF TiwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yo dTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4 MTIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9t YWluX2xpc3RfcmVzcCwKKy0JCQkJCSAgIGRvbWFpbl9saXN0X2xlbiksCistCX0sCistCXsKKy0J CS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJW UkVHX0RPTUFJTl9MSVNUX0xFTkdUSCwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1 Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSksCistCQkuYXJyYXlfdHlwZQk9IFZBUl9MRU5fQVJS QVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21h aW5fbGlzdCksCistCQkuZWlfYXJyYXkgICAgICA9IHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWks CistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9y ZXEgeworIAl1OCBlbmFibGU7CisgCWNoYXIgc2VydmljZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5H VEggKyAxXTsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2 cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcV9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAg ICAgPSBRTUlfVU5TSUdORURfMV9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5l bGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAor LQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9m KHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcSwKKy0JCQkJCSAgIGVuYWJsZSks CistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9s ZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9 IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUg ICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZy ZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxLAorLQkJCQkJICAgc2VydmljZV9wYXRoKSwKKy0JfSwK Ky0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3Agewor IAlzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgCXU4IGN1cnJfc3RhdGVfdmFs aWQ7CisgCWVudW0gc2VydnJlZ19zZXJ2aWNlX3N0YXRlIGN1cnJfc3RhdGU7CisgfTsKKyAKKy1z dGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5l cl9yZXNwX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCist CQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVj dCBxbWlfcmVzcG9uc2VfdHlwZV92MDEpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0J CS50bHZfdHlwZSAgICAgICA9IDB4MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorLQkJCQkJICAgcmVzcCksCist CQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0Jewor LQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0g MSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5P X0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9 IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AsCistCQkJCQkg ICBjdXJyX3N0YXRlX3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1J X1NJR05FRF80X0JZVEVfRU5VTSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9z aXplICAgICAgPSBzaXplb2YoZW51bSBzZXJ2cmVnX3NlcnZpY2Vfc3RhdGUpLAorLQkJLmFycmF5 X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0 ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNw LAorLQkJCQkJICAgY3Vycl9zdGF0ZSksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2Vy dnJlZ19yZXN0YXJ0X3BkX3JlcSB7CisgCWNoYXIgc2VydmljZV9wYXRoW1NFUlZSRUdfTkFNRV9M RU5HVEggKyAxXTsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBz ZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9 IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsg MSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0g Tk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorLQkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXEsCistCQkJCQkgICBzZXJ2 aWNlX3BhdGgpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfcmVzdGFydF9w ZF9yZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIH07CisgCist c3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXNw X2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxl bV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlf cmVzcG9uc2VfdHlwZV92MDEpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZf dHlwZSAgICAgICA9IDB4MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qg c2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3AsCistCQkJCQkgICByZXNwKSwKKy0JCS5laV9hcnJheSAg ICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorLQl9LAorLQl7fQorLX07CistCisgc3Ry dWN0IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQgeworIAllbnVtIHNlcnZyZWdfc2VydmljZV9z dGF0ZSBjdXJyX3N0YXRlOworIAljaGFyIHNlcnZpY2VfcGF0aFtTRVJWUkVHX05BTUVfTEVOR1RI ICsgMV07CisgCXUxNiB0cmFuc2FjdGlvbl9pZDsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1 Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpW10gPSB7CistCXsK Ky0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0sCistCQkuZWxlbV9s ZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCistCQkuYXJy YXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAor LQkJCQkJICAgY3Vycl9zdGF0ZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFN SV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwK Ky0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9f QVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0g b2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQsCistCQkJCQkgICBzZXJ2 aWNlX3BhdGgpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURf Ml9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNp emVvZih1MTYpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAg ICA9IDB4MDMsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19z dGF0ZV91cGRhdGVkX2luZCwKKy0JCQkJCSAgIHRyYW5zYWN0aW9uX2lkKSwKKy0JfSwKKy0Je30K Ky19OworLQorIHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVxIHsKKyAJY2hhciBzZXJ2aWNlX3Bh dGhbU0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOworIAl1MTYgdHJhbnNhY3Rpb25faWQ7CisgfTsK KyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jl cV9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVs ZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2YoY2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90 eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBz ZXJ2cmVnX3NldF9hY2tfcmVxLAorLQkJCQkJICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0Jewor LQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAg ICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90 eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAg ICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc2V0X2Fja19yZXEsCistCQkJCQkgICB0 cmFuc2FjdGlvbl9pZCksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19zZXRf YWNrX3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgfTsKKyAK Ky1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3Bf ZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKy0JCS5lbGVt X2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9y ZXNwb25zZV90eXBlX3YwMSksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90 eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBz ZXJ2cmVnX3NldF9hY2tfcmVzcCwKKy0JCQkJCSAgIHJlc3ApLAorLQkJLmVpX2FycmF5ICAgICAg ID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorLQl9LAorLQl7fQorLX07CisrZXh0ZXJuIGNv bnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWlbXTsKKytl eHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3Rf cmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0 X2RvbWFpbl9saXN0X3Jlc3BfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2lu Zm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXFfZWlbXTsKKytleHRlcm4gY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpW107Cisr ZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXFf ZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZXN0YXJ0 X3BkX3Jlc3BfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJl Z19zdGF0ZV91cGRhdGVkX2luZF9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1f aW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlf ZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpW107CisgCisgI2VuZGlmCitkaWZmIC0t Z2l0IGEvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYyBiL2RyaXZlcnMvc29jL3Fjb20v cWNvbV9wZHJfbXNnLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMDAu LjliNDZmNDJhYTE0NgorLS0tIC9kZXYvbnVsbAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9xY29t X3Bkcl9tc2cuYworQEAgLTAsMCArMSwzMTkgQEAKKysvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMAorKy8qCisrICogQ29weXJpZ2h0IChDKSAyMDIwIFRoZSBMaW51eCBGb3VuZGF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyAqLworKworKyNpbmNsdWRlIDxsaW51eC9tb2R1 bGUuaD4KKysjaW5jbHVkZSA8bGludXgvc29jL3Fjb20vcW1pLmg+CisrCisrI2luY2x1ZGUgInBk cl9pbnRlcm5hbC5oIgorKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9j YXRpb25fZW50cnlfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklO RywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVs ZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwK KysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJCSAgIG5hbWUpLAorKwl9LAorKwl7 CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1fbGVu ICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5 X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0ICAg ICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJCSAg IGluc3RhbmNlKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVE XzFfQllURSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAg ICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2Nh dGlvbl9lbnRyeSwKKysJCQkJCSAgIHNlcnZpY2VfZGF0YV92YWxpZCksCisrCX0sCisrCXsKKysJ CS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF80X0JZVEUsCisrCQkuZWxlbV9sZW4gICAg ICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCisrCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMCwKKysJCS5vZmZzZXQgICAgICAg ICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorKwkJCQkJICAgc2Vy dmljZV9kYXRhKSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdf bG9jYXRpb25fZW50cnlfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZy ZWdfZ2V0X2RvbWFpbl9saXN0X3JlcV9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAg PSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCAr IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9 IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKysJCS5vZmZzZXQgICAgICAg ICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXEsCisrCQkJCQkg ICBzZXJ2aWNlX25hbWUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BU X0ZMQUcsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6 ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAg PSAweDEwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0 X2RvbWFpbl9saXN0X3JlcSwKKysJCQkJCSAgIGRvbWFpbl9vZmZzZXRfdmFsaWQpLAorKwl9LAor Kwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1f bGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFy cmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVx LAorKwkJCQkJICAgZG9tYWluX29mZnNldCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lN Qk9MX0dQTChzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXFfZWkpOworKworK2NvbnN0IHN0cnVj dCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWlbXSA9IHsKKysJ eworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9 IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBl X3YwMSksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0g MHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9k b21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgcmVzcCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFt aV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0g UU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAg ICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBl ICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2 cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgdG90YWxfZG9tYWluc192YWxpZCks CisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCisr CQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiks CisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwK KysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5f bGlzdF9yZXNwLAorKwkJCQkJICAgdG90YWxfZG9tYWlucyksCisrCX0sCisrCXsKKysJCS5kYXRh X3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQku ZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwK KysJCS50bHZfdHlwZSAgICAgICA9IDB4MTEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRv ZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIGRiX3Jldl9j b3VudF92YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05F RF8yX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0g c2l6ZW9mKHUxNiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAg ICAgID0gMHgxMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZGJfcmV2X2NvdW50KSwKKysJfSwKKysJ eworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAg ID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9 IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAg ICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJ ICAgZG9tYWluX2xpc3RfdmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBR TUlfREFUQV9MRU4sCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAg ID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUg ICAgICAgPSAweDEyLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZy ZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCisrCQkJCQkgICBkb21haW5fbGlzdF9sZW4pLAorKwl9 LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorKwkJLmVsZW1fbGVuICAg ICAgID0gU0VSVlJFR19ET01BSU5fTElTVF9MRU5HVEgsCisrCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnkpLAorKwkJLmFycmF5X3R5cGUJPSBW QVJfTEVOX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJ CQkJICAgZG9tYWluX2xpc3QpLAorKwkJLmVpX2FycmF5ICAgICAgPSBzZXJ2cmVnX2xvY2F0aW9u X2VudHJ5X2VpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19n ZXRfZG9tYWluX2xpc3RfcmVzcF9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8g c2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlw ZSAgICAgID0gUU1JX1VOU0lHTkVEXzFfQllURSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisr CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCisrCQkJCQkgICBlbmFi bGUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorKwkJLmVs ZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90 eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBz ZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcSwKKysJCQkJCSAgIHNlcnZpY2VfcGF0aCksCisr CX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3JlZ2lzdGVyX2xpc3Rl bmVyX3JlcV9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdp c3Rlcl9saXN0ZW5lcl9yZXNwX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFN SV9TVFJVQ1QsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0g c2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEpLAorKwkJLmFycmF5X3R5cGUJPSBO T19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorKwkJCQkJ ICAgcmVzcCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwK KysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1f bGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJy YXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jl c3AsCisrCQkJCQkgICBjdXJyX3N0YXRlX3ZhbGlkKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlw ZSAgICAgID0gUU1JX1NJR05FRF80X0JZVEVfRU5VTSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEs CisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoZW51bSBzZXJ2cmVnX3NlcnZpY2Vfc3RhdGUp LAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAs CisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9s aXN0ZW5lcl9yZXNwLAorKwkJCQkJICAgY3Vycl9zdGF0ZSksCisrCX0sCisrCXt9CisrfTsKKytF WFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3BfZWkpOworKwor K2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXFfZWlbXSA9 IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAg ICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6 ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAg ICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19y ZXN0YXJ0X3BkX3JlcSwKKysJCQkJCSAgIHNlcnZpY2VfcGF0aCksCisrCX0sCisrCXt9CisrfTsK KytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxX2VpKTsKKysKKytjb25z dCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcF9laVtdID0gewor Kwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAg ID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5 cGVfdjAxKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAg PSAweDAyLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVz dGFydF9wZF9yZXNwLAorKwkJCQkJICAgcmVzcCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFtaV9y ZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BM KHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1f aW5mbyBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5 cGUgICAgICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0sCisrCQkuZWxlbV9sZW4gICAgICAgPSAx LAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCisrCQkuYXJyYXlfdHlwZQk9IE5P X0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKysJCS5vZmZzZXQgICAgICAgICA9 IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorKwkJCQkJICAgY3Vy cl9zdGF0ZSksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisr CQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3Np emUgICAgICA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQku dGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3Ry dWN0IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAor Kwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorKwkJ LmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAor KwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDMsCisr CQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVk X2luZCwKKysJCQkJCSAgIHRyYW5zYWN0aW9uX2lkKSwKKysJfSwKKysJe30KKyt9OworK0VYUE9S VF9TWU1CT0xfR1BMKHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmRfZWkpOworKworK2NvbnN0IHN0 cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXFfZWlbXSA9IHsKKysJeworKwkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZS RUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAor KwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisr CQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSwK KysJCQkJCSAgIHNlcnZpY2VfcGF0aCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9 IFFNSV9VTlNJR05FRF8yX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJ LnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0 cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVxLAorKwkJCQkJICAgdHJhbnNhY3Rpb25faWQpLAorKwl9 LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19zZXRfYWNrX3JlcV9laSk7 CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlb XSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xl biAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNw b25zZV90eXBlX3YwMSksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBl ICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2 cmVnX3NldF9hY2tfcmVzcCwKKysJCQkJCSAgIHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAgID0g cW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJP TF9HUEwoc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWkpOworKworK01PRFVMRV9MSUNFTlNFKCJHUEwi KTsKKytNT0RVTEVfREVTQ1JJUFRJT04oIlF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIG1lc3Nh Z2VzIGRhdGEiKTsKKworRnJvbTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBs aW5hcm8ub3JnPgorRGF0ZTogU3VuLCAxMiBNYXkgMjAyNCAwMDo1NjowNiArMDMwMAorU3ViamVj dDogW1BBVENIIHY4IDQvNV0gc29jOiBxY29tOiBhZGQgcGQtbWFwcGVyIGltcGxlbWVudGF0aW9u CisKK0V4aXN0aW5nIHVzZXJzcGFjZSBwcm90ZWN0aW9uIGRvbWFpbiBtYXBwZXIgaW1wbGVtZW50 YXRpb24gaGFzIHNldmVyYWwKK2lzc3VlLiBJdCBkb2Vzbid0IHBsYXkgd2VsbCB3aXRoIENPTkZJ R19FWFRSQV9GSVJNV0FSRSwgaXQgZG9lc24ndAorcmVyZWFkIEpTT04gZmlsZXMgaWYgZmlybXdh cmUgbG9jYXRpb24gaXMgY2hhbmdlZCAob3IgaWYgZmlybXdhcmUgd2FzCitub3QgYXZhaWxhYmxl IGF0IHRoZSB0aW1lIHBkLW1hcHBlciB3YXMgc3RhcnRlZCBidXQgdGhlIGNvcnJlc3BvbmRpbmcK K2RpcmVjdG9yeSBpcyBtb3VudGVkIGxhdGVyKSwgZXRjLgorCitQcm92aWRlIGluLWtlcm5lbCBz ZXJ2aWNlIGltcGxlbWVudGluZyBwcm90ZWN0aW9uIGRvbWFpbiBtYXBwaW5nCityZXF1aXJlZCB0 byB3b3JrIHdpdGggc2V2ZXJhbCBzZXJ2aWNlcywgd2hpY2ggYXJlIHByb3ZpZGVkIGJ5IHRoZSBE U1AKK2Zpcm13YXJlLgorCitUaGlzIG1vZHVsZSBpcyBsb2FkZWQgYXV0b21hdGljYWxseSBieSB0 aGUgcmVtb3RlcHJvYyBkcml2ZXJzIHdoZW4KK25lY2Vzc2FyeSB2aWEgdGhlIHN5bWJvbCBkZXBl bmRlbmN5LiBJdCB1c2VzIGEgcm9vdCBub2RlIHRvIG1hdGNoIGEKK3Byb3RlY3Rpb24gZG9tYWlu cyBtYXAgZm9yIGEgcGFydGljdWxhciBib2FyZC4gSXQgaXMgbm90IHBvc3NpYmxlIHRvCitpbXBs ZW1lbnQgaXQgYXMgYSAnZHJpdmVyJyBhcyB0aGVyZSBpcyBubyBjb3JyZXNwb25kaW5nIGRldmlj ZS4KKworVGVzdGVkLWJ5OiBTdGVldiBLbGltYXN6ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVz dGVkLWJ5OiBBbGV4ZXkgTWlubmVraGFub3YgPGFsZXhleW1pbkBwb3N0bWFya2V0b3Mub3JnPgor U2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8u b3JnPgorLS0tCisgZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnICAgICAgICAgIHwgIDExICsKKyBk cml2ZXJzL3NvYy9xY29tL01ha2VmaWxlICAgICAgICAgfCAgIDEgKworIGRyaXZlcnMvc29jL3Fj b20vcGRyX2ludGVybmFsLmggICB8ICAxNCArCisgZHJpdmVycy9zb2MvcWNvbS9xY29tX3BkX21h cHBlci5jIHwgNjc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZHJp dmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYyAgIHwgIDM0ICsrCisgNSBmaWxlcyBjaGFuZ2Vk LCA3MzYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9LY29u ZmlnIGIvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitpbmRleCA5NTk3M2M2YjgyOGYuLjBhMmYy YmZkNzg2MyAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZworKysrIGIvZHJp dmVycy9zb2MvcWNvbS9LY29uZmlnCitAQCAtNzIsNiArNzIsMTcgQEAgY29uZmlnIFFDT01fT0NN RU0KKyAJICByZXF1aXJlbWVudHMuIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgYnkgdGhlIEdQVSwg Y2FtZXJhL3ZpZGVvLCBhbmQKKyAJICBhdWRpbyBjb21wb25lbnRzIG9uIHNvbWUgU25hcGRyYWdv biBTb0NzLgorIAorK2NvbmZpZyBRQ09NX1BEX01BUFBFUgorKwl0cmlzdGF0ZSAiUXVhbGNvbW0g UHJvdGVjdGlvbiBEb21haW4gTWFwcGVyIgorKwlzZWxlY3QgUUNPTV9RTUlfSEVMUEVSUworKwlk ZXBlbmRzIG9uIE5FVCAmJiBRUlRSCisrCWRlZmF1bHQgUUNPTV9SUFJPQ19DT01NT04KKysJaGVs cAorKwkgIFRoZSBQcm90ZWN0aW9uIERvbWFpbiBNYXBwZXIgbWFwcyByZWdpc3RlcmVkIHNlcnZp Y2VzIHRvIHRoZSBkb21haW5zCisrCSAgYW5kIGluc3RhbmNlcyBoYW5kbGVkIGJ5IHRoZSByZW1v dGUgRFNQcy4gVGhpcyBpcyBhIGtlcm5lbC1zcGFjZQorKwkgIGltcGxlbWVudGF0aW9uIG9mIHRo ZSBzZXJ2aWNlLiBJdCBpcyBhIHNpbXBsZXIgYWx0ZXJuYXRpdmUgdG8gdGhlCisrCSAgdXNlcnNw YWNlIGRhZW1vbi4KKysKKyBjb25maWcgUUNPTV9QRFJfSEVMUEVSUworIAl0cmlzdGF0ZQorIAlz ZWxlY3QgUUNPTV9RTUlfSEVMUEVSUworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vTWFr ZWZpbGUgYi9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCitpbmRleCAzMTEwYWMzMjg4YmMuLmQz NTYwZjg2MTA4NSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKKysrKyBi L2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKK0BAIC03LDYgKzcsNyBAQCBvYmotJChDT05GSUdf UUNPTV9DT01NQU5EX0RCKSArPSBjbWQtZGIubworIG9iai0kKENPTkZJR19RQ09NX0dTQkkpCSs9 CXFjb21fZ3NiaS5vCisgb2JqLSQoQ09ORklHX1FDT01fTURUX0xPQURFUikJKz0gbWR0X2xvYWRl ci5vCisgb2JqLSQoQ09ORklHX1FDT01fT0NNRU0pCSs9IG9jbWVtLm8KKytvYmotJChDT05GSUdf UUNPTV9QRF9NQVBQRVIpCSs9IHFjb21fcGRfbWFwcGVyLm8KKyBvYmotJChDT05GSUdfUUNPTV9Q RFJfSEVMUEVSUykJKz0gcGRyX2ludGVyZmFjZS5vCisgb2JqLSQoQ09ORklHX1FDT01fUERSX01T RykJKz0gcWNvbV9wZHJfbXNnLm8KKyBvYmotJChDT05GSUdfUUNPTV9QTUlDX0dMSU5LKQkrPSBw bWljX2dsaW5rLm8KK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5o IGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaAoraW5kZXggN2U1YmI1YTk1Mjc1Li44 ZDE3ZjdmYjc5ZTcgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5o CisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oCitAQCAtMTMsNiArMTMsOCBA QAorICNkZWZpbmUgU0VSVlJFR19TRVRfQUNLX1JFUQkJCQkweDIzCisgI2RlZmluZSBTRVJWUkVH X1JFU1RBUlRfUERfUkVRCQkJCTB4MjQKKyAKKysjZGVmaW5lIFNFUlZSRUdfTE9DX1BGUl9SRVEJ CQkJMHgyNAorKworICNkZWZpbmUgU0VSVlJFR19ET01BSU5fTElTVF9MRU5HVEgJCQkzMgorICNk ZWZpbmUgU0VSVlJFR19SRVNUQVJUX1BEX1JFUV9NQVhfTEVOCQkJNjcKKyAjZGVmaW5lIFNFUlZS RUdfUkVHSVNURVJfTElTVEVORVJfUkVRX0xFTgkJNzEKK0BAIC0yMCw2ICsyMiw3IEBACisgI2Rl ZmluZSBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVFfTUFYX0xFTgkJNzQKKyAjZGVmaW5lIFNF UlZSRUdfU1RBVEVfVVBEQVRFRF9JTkRfTUFYX0xFTgkJNzkKKyAjZGVmaW5lIFNFUlZSRUdfR0VU X0RPTUFJTl9MSVNUX1JFU1BfTUFYX0xFTgkJMjM4OQorKyNkZWZpbmUgU0VSVlJFR19MT0NfUEZS X1JFU1BfTUFYX0xFTgkJCTEwCisgCisgc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnkgewor IAljaGFyIG5hbWVbU0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOworQEAgLTc5LDYgKzgyLDE1IEBA IHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVzcCB7CisgCXN0cnVjdCBxbWlfcmVzcG9uc2VfdHlw ZV92MDEgcmVzcDsKKyB9OworIAorK3N0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVxIHsKKysJY2hh ciBzZXJ2aWNlW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKysJY2hhciByZWFzb25bMjU3XTsK Kyt9OworKworK3N0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVzcCB7CisrCXN0cnVjdCBxbWlfcmVz cG9uc2VfdHlwZV92MDEgcnNwOworK307CisrCisgZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxl bV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3RydWN0 IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpW107CisgZXh0ZXJu IGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3Bf ZWlbXTsKK0BAIC04OSw1ICsxMDEsNyBAQCBleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2lu Zm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3BfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3RydWN0IHFt aV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdOworIGV4dGVybiBjb25z dCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVxX2VpW107CisgZXh0ZXJu IGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpW107Cisr ZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jX3Bmcl9yZXFfZWlb XTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3Jl c3BfZWlbXTsKKyAKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Fjb21f cGRfbWFwcGVyLmMgYi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRfbWFwcGVyLmMKK25ldyBmaWxl IG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMDAuLmVjYjY0ZjA2NTI3ZgorLS0tIC9kZXYv bnVsbAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3BkX21hcHBlci5jCitAQCAtMCwwICsx LDY3NiBAQAorKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKysvKgor KyAqIFF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIG1hcHBlcgorKyAqCisrICogQ29weXJpZ2h0 IChjKSAyMDIzIExpbmFybyBMdGQuCisrICovCisrCisrI2luY2x1ZGUgPGxpbnV4L2F1eGlsaWFy eV9idXMuaD4KKysjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisrI2luY2x1ZGUgPGxpbnV4L21v ZF9kZXZpY2V0YWJsZS5oPgorKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKysjaW5jbHVkZSA8 bGludXgvb2YuaD4KKysjaW5jbHVkZSA8bGludXgvcmVmY291bnQuaD4KKysjaW5jbHVkZSA8bGlu dXgvc29jL3Fjb20vcW1pLmg+CisrCisrI2luY2x1ZGUgInBkcl9pbnRlcm5hbC5oIgorKworKyNk ZWZpbmUgU0VSVlJFR19RTUlfVkVSU0lPTiAweDEwMQorKyNkZWZpbmUgU0VSVlJFR19RTUlfSU5T VEFOQ0UgMAorKworKyNkZWZpbmUgVE1TX1NFUlZSRUdfU0VSVklDRSAidG1zL3NlcnZyZWciCisr Cisrc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIHsKKysJY29uc3QgY2hhciAqZG9tYWluOwor Kwl1MzIgaW5zdGFuY2VfaWQ7CisrCS8qIE5VTEwtdGVybWluYXRlZCBhcnJheSAqLworKwljb25z dCBjaGFyICogc2VydmljZXNbXTsKKyt9OworKworK3N0cnVjdCBxY29tX3BkbV9kb21haW4gewor KwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisrCWNvbnN0IGNoYXIgKm5hbWU7CisrCXUzMiBpbnN0 YW5jZV9pZDsKKyt9OworKworK3N0cnVjdCBxY29tX3BkbV9zZXJ2aWNlIHsKKysJc3RydWN0IGxp c3RfaGVhZCBsaXN0OworKwlzdHJ1Y3QgbGlzdF9oZWFkIGRvbWFpbnM7CisrCWNvbnN0IGNoYXIg Km5hbWU7CisrfTsKKysKKytzdHJ1Y3QgcWNvbV9wZG1fZGF0YSB7CisrCXJlZmNvdW50X3QgcmVm Y250OworKwlzdHJ1Y3QgcW1pX2hhbmRsZSBoYW5kbGU7CisrCXN0cnVjdCBsaXN0X2hlYWQgc2Vy dmljZXM7CisrfTsKKysKKytzdGF0aWMgREVGSU5FX01VVEVYKHFjb21fcGRtX211dGV4KTsgLyog cHJvdGVjdHMgX19xY29tX3BkbV9kYXRhICovCisrc3RhdGljIHN0cnVjdCBxY29tX3BkbV9kYXRh ICpfX3Fjb21fcGRtX2RhdGE7CisrCisrc3RhdGljIHN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpx Y29tX3BkbV9maW5kKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhLAorKwkJCQkJICAgICAgY29u c3QgY2hhciAqbmFtZSkKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpzZXJ2aWNlOwor KworKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHNlcnZpY2UsICZkYXRhLT5zZXJ2aWNlcywgbGlzdCkg eworKwkJaWYgKCFzdHJjbXAoc2VydmljZS0+bmFtZSwgbmFtZSkpCisrCQkJcmV0dXJuIHNlcnZp Y2U7CisrCX0KKysKKysJcmV0dXJuIE5VTEw7CisrfQorKworK3N0YXRpYyBpbnQgcWNvbV9wZG1f YWRkX3NlcnZpY2VfZG9tYWluKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhLAorKwkJCQkgICAg ICAgY29uc3QgY2hhciAqc2VydmljZV9uYW1lLAorKwkJCQkgICAgICAgY29uc3QgY2hhciAqZG9t YWluX25hbWUsCisrCQkJCSAgICAgICB1MzIgaW5zdGFuY2VfaWQpCisreworKwlzdHJ1Y3QgcWNv bV9wZG1fc2VydmljZSAqc2VydmljZTsKKysJc3RydWN0IHFjb21fcGRtX2RvbWFpbiAqZG9tYWlu OworKworKwlzZXJ2aWNlID0gcWNvbV9wZG1fZmluZChkYXRhLCBzZXJ2aWNlX25hbWUpOworKwlp ZiAoc2VydmljZSkgeworKwkJbGlzdF9mb3JfZWFjaF9lbnRyeShkb21haW4sICZzZXJ2aWNlLT5k b21haW5zLCBsaXN0KSB7CisrCQkJaWYgKCFzdHJjbXAoZG9tYWluLT5uYW1lLCBkb21haW5fbmFt ZSkpCisrCQkJCXJldHVybiAtRUJVU1k7CisrCQl9CisrCX0gZWxzZSB7CisrCQlzZXJ2aWNlID0g a3phbGxvYyhzaXplb2YoKnNlcnZpY2UpLCBHRlBfS0VSTkVMKTsKKysJCWlmICghc2VydmljZSkK KysJCQlyZXR1cm4gLUVOT01FTTsKKysKKysJCUlOSVRfTElTVF9IRUFEKCZzZXJ2aWNlLT5kb21h aW5zKTsKKysJCXNlcnZpY2UtPm5hbWUgPSBzZXJ2aWNlX25hbWU7CisrCisrCQlsaXN0X2FkZF90 YWlsKCZzZXJ2aWNlLT5saXN0LCAmZGF0YS0+c2VydmljZXMpOworKwl9CisrCisrCWRvbWFpbiA9 IGt6YWxsb2Moc2l6ZW9mKCpkb21haW4pLCBHRlBfS0VSTkVMKTsKKysJaWYgKCFkb21haW4pIHsK KysJCWlmIChsaXN0X2VtcHR5KCZzZXJ2aWNlLT5kb21haW5zKSkgeworKwkJCWxpc3RfZGVsKCZz ZXJ2aWNlLT5saXN0KTsKKysJCQlrZnJlZShzZXJ2aWNlKTsKKysJCX0KKysKKysJCXJldHVybiAt RU5PTUVNOworKwl9CisrCisrCWRvbWFpbi0+bmFtZSA9IGRvbWFpbl9uYW1lOworKwlkb21haW4t Pmluc3RhbmNlX2lkID0gaW5zdGFuY2VfaWQ7CisrCWxpc3RfYWRkX3RhaWwoJmRvbWFpbi0+bGlz dCwgJnNlcnZpY2UtPmRvbWFpbnMpOworKworKwlyZXR1cm4gMDsKKyt9CisrCisrc3RhdGljIGlu dCBxY29tX3BkbV9hZGRfZG9tYWluKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhLAorKwkJCSAg ICAgICBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKmRvbWFpbikKKyt7CisrCWlu dCByZXQ7CisrCWludCBpOworKworKwlyZXQgPSBxY29tX3BkbV9hZGRfc2VydmljZV9kb21haW4o ZGF0YSwKKysJCQkJCSAgVE1TX1NFUlZSRUdfU0VSVklDRSwKKysJCQkJCSAgZG9tYWluLT5kb21h aW4sCisrCQkJCQkgIGRvbWFpbi0+aW5zdGFuY2VfaWQpOworKwlpZiAocmV0KQorKwkJcmV0dXJu IHJldDsKKysKKysJZm9yIChpID0gMDsgZG9tYWluLT5zZXJ2aWNlc1tpXTsgaSsrKSB7CisrCQly ZXQgPSBxY29tX3BkbV9hZGRfc2VydmljZV9kb21haW4oZGF0YSwKKysJCQkJCQkgIGRvbWFpbi0+ c2VydmljZXNbaV0sCisrCQkJCQkJICBkb21haW4tPmRvbWFpbiwKKysJCQkJCQkgIGRvbWFpbi0+ aW5zdGFuY2VfaWQpOworKwkJaWYgKHJldCkKKysJCQlyZXR1cm4gcmV0OworKwl9CisrCisrCXJl dHVybiAwOworKworK30KKysKKytzdGF0aWMgdm9pZCBxY29tX3BkbV9mcmVlX2RvbWFpbnMoc3Ry dWN0IHFjb21fcGRtX2RhdGEgKmRhdGEpCisreworKwlzdHJ1Y3QgcWNvbV9wZG1fc2VydmljZSAq c2VydmljZSwgKnRzZXJ2aWNlOworKwlzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluICpkb21haW4sICp0 ZG9tYWluOworKworKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoc2VydmljZSwgdHNlcnZpY2Us ICZkYXRhLT5zZXJ2aWNlcywgbGlzdCkgeworKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGRv bWFpbiwgdGRvbWFpbiwgJnNlcnZpY2UtPmRvbWFpbnMsIGxpc3QpIHsKKysJCQlsaXN0X2RlbCgm ZG9tYWluLT5saXN0KTsKKysJCQlrZnJlZShkb21haW4pOworKwkJfQorKworKwkJbGlzdF9kZWwo JnNlcnZpY2UtPmxpc3QpOworKwkJa2ZyZWUoc2VydmljZSk7CisrCX0KKyt9CisrCisrc3RhdGlj IHZvaWQgcWNvbV9wZG1fZ2V0X2RvbWFpbl9saXN0KHN0cnVjdCBxbWlfaGFuZGxlICpxbWksCisr CQkJCSAgICAgc3RydWN0IHNvY2thZGRyX3FydHIgKnNxLAorKwkJCQkgICAgIHN0cnVjdCBxbWlf dHhuICp0eG4sCisrCQkJCSAgICAgY29uc3Qgdm9pZCAqZGVjb2RlZCkKKyt7CisrCXN0cnVjdCBx Y29tX3BkbV9kYXRhICpkYXRhID0gY29udGFpbmVyX29mKHFtaSwgc3RydWN0IHFjb21fcGRtX2Rh dGEsIGhhbmRsZSk7CisrCWNvbnN0IHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXEg KnJlcSA9IGRlY29kZWQ7CisrCXN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwICpy c3A7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpzZXJ2aWNlOworKwl1MzIgb2Zmc2V0Owor KwlpbnQgcmV0OworKworKwlyc3AgPSBremFsbG9jKHNpemVvZigqcnNwKSwgR0ZQX0tFUk5FTCk7 CisrCWlmICghcnNwKQorKwkJcmV0dXJuOworKworKwlvZmZzZXQgPSByZXEtPmRvbWFpbl9vZmZz ZXRfdmFsaWQgPyByZXEtPmRvbWFpbl9vZmZzZXQgOiAwOworKworKwlyc3AtPnJlc3AucmVzdWx0 ID0gUU1JX1JFU1VMVF9TVUNDRVNTX1YwMTsKKysJcnNwLT5yZXNwLmVycm9yID0gUU1JX0VSUl9O T05FX1YwMTsKKysKKysJcnNwLT5kYl9yZXZfY291bnRfdmFsaWQgPSB0cnVlOworKwlyc3AtPmRi X3Jldl9jb3VudCA9IDE7CisrCisrCXJzcC0+dG90YWxfZG9tYWluc192YWxpZCA9IHRydWU7Cisr CXJzcC0+dG90YWxfZG9tYWlucyA9IDA7CisrCisrCW11dGV4X2xvY2soJnFjb21fcGRtX211dGV4 KTsKKysKKysJc2VydmljZSA9IHFjb21fcGRtX2ZpbmQoZGF0YSwgcmVxLT5zZXJ2aWNlX25hbWUp OworKwlpZiAoc2VydmljZSkgeworKwkJc3RydWN0IHFjb21fcGRtX2RvbWFpbiAqZG9tYWluOwor KworKwkJcnNwLT5kb21haW5fbGlzdF92YWxpZCA9IHRydWU7CisrCQlyc3AtPmRvbWFpbl9saXN0 X2xlbiA9IDA7CisrCisrCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGRvbWFpbiwgJnNlcnZpY2UtPmRv bWFpbnMsIGxpc3QpIHsKKysJCQl1MzIgaSA9IHJzcC0+dG90YWxfZG9tYWlucysrOworKworKwkJ CWlmIChpID49IG9mZnNldCAmJiBpIDwgU0VSVlJFR19ET01BSU5fTElTVF9MRU5HVEgpIHsKKysJ CQkJdTMyIGogPSByc3AtPmRvbWFpbl9saXN0X2xlbisrOworKworKwkJCQlzdHJzY3B5KHJzcC0+ ZG9tYWluX2xpc3Rbal0ubmFtZSwgZG9tYWluLT5uYW1lLAorKwkJCQkJc2l6ZW9mKHJzcC0+ZG9t YWluX2xpc3RbaV0ubmFtZSkpOworKwkJCQlyc3AtPmRvbWFpbl9saXN0W2pdLmluc3RhbmNlID0g ZG9tYWluLT5pbnN0YW5jZV9pZDsKKysKKysJCQkJcHJfZGVidWcoIlBETTogZm91bmQgJXMgLyAl ZFxuIiwgZG9tYWluLT5uYW1lLAorKwkJCQkJIGRvbWFpbi0+aW5zdGFuY2VfaWQpOworKwkJCX0K KysJCX0KKysJfQorKworKwlwcl9kZWJ1ZygiUERNOiBzZXJ2aWNlICclcycgb2Zmc2V0ICVkIHJl dHVybmluZyAlZCBkb21haW5zIChvZiAlZClcbiIsIHJlcS0+c2VydmljZV9uYW1lLAorKwkJIHJl cS0+ZG9tYWluX29mZnNldF92YWxpZCA/IHJlcS0+ZG9tYWluX29mZnNldCA6IC0xLCByc3AtPmRv bWFpbl9saXN0X2xlbiwgcnNwLT50b3RhbF9kb21haW5zKTsKKysKKysJcmV0ID0gcW1pX3NlbmRf cmVzcG9uc2UocW1pLCBzcSwgdHhuLCBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVEsCisrCQkJ CVNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFU1BfTUFYX0xFTiwKKysJCQkJc2VydnJlZ19nZXRf ZG9tYWluX2xpc3RfcmVzcF9laSwgcnNwKTsKKysJaWYgKHJldCkKKysJCXByX2VycigiRXJyb3Ig c2VuZGluZyBzZXJ2cmVnIHJlc3BvbnNlOiAlZFxuIiwgcmV0KTsKKysKKysJbXV0ZXhfdW5sb2Nr KCZxY29tX3BkbV9tdXRleCk7CisrCisrCWtmcmVlKHJzcCk7CisrfQorKworK3N0YXRpYyB2b2lk IHFjb21fcGRtX3BmcihzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1pLAorKwkJCSBzdHJ1Y3Qgc29ja2Fk ZHJfcXJ0ciAqc3EsCisrCQkJIHN0cnVjdCBxbWlfdHhuICp0eG4sCisrCQkJIGNvbnN0IHZvaWQg KmRlY29kZWQpCisreworKwljb25zdCBzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3JlcSAqcmVxID0g ZGVjb2RlZDsKKysJc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXNwIHJzcCA9IHt9OworKwlpbnQg cmV0OworKworKwlwcl93YXJuX3JhdGVsaW1pdGVkKCJQRE06IHNlcnZpY2UgJyVzJyBjcmFzaDog JyVzJ1xuIiwgcmVxLT5zZXJ2aWNlLCByZXEtPnJlYXNvbik7CisrCisrCXJzcC5yc3AucmVzdWx0 ID0gUU1JX1JFU1VMVF9TVUNDRVNTX1YwMTsKKysJcnNwLnJzcC5lcnJvciA9IFFNSV9FUlJfTk9O RV9WMDE7CisrCisrCXJldCA9IHFtaV9zZW5kX3Jlc3BvbnNlKHFtaSwgc3EsIHR4biwgU0VSVlJF R19MT0NfUEZSX1JFUSwKKysJCQkJU0VSVlJFR19MT0NfUEZSX1JFU1BfTUFYX0xFTiwKKysJCQkJ c2VydnJlZ19sb2NfcGZyX3Jlc3BfZWksICZyc3ApOworKwlpZiAocmV0KQorKwkJcHJfZXJyKCJF cnJvciBzZW5kaW5nIHNlcnZyZWcgcmVzcG9uc2U6ICVkXG4iLCByZXQpOworK30KKysKKytzdGF0 aWMgY29uc3Qgc3RydWN0IHFtaV9tc2dfaGFuZGxlciBxY29tX3BkbV9tc2dfaGFuZGxlcnNbXSA9 IHsKKysJeworKwkJLnR5cGUgPSBRTUlfUkVRVUVTVCwKKysJCS5tc2dfaWQgPSBTRVJWUkVHX0dF VF9ET01BSU5fTElTVF9SRVEsCisrCQkuZWkgPSBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXFf ZWksCisrCQkuZGVjb2RlZF9zaXplID0gc2l6ZW9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5f bGlzdF9yZXEpLAorKwkJLmZuID0gcWNvbV9wZG1fZ2V0X2RvbWFpbl9saXN0LAorKwl9LAorKwl7 CisrCQkudHlwZSA9IFFNSV9SRVFVRVNULAorKwkJLm1zZ19pZCA9IFNFUlZSRUdfTE9DX1BGUl9S RVEsCisrCQkuZWkgPSBzZXJ2cmVnX2xvY19wZnJfcmVxX2VpLAorKwkJLmRlY29kZWRfc2l6ZSA9 IHNpemVvZihzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3JlcSksCisrCQkuZm4gPSBxY29tX3BkbV9w ZnIsCisrCX0sCisrCXsgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1f ZG9tYWluX2RhdGEgYWRzcF9hdWRpb19wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRzcC9hdWRp b19wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7CisrCQkiYXZzL2F1 ZGlvIiwKKysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21f cGRtX2RvbWFpbl9kYXRhIGFkc3BfY2hhcmdlcl9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRz cC9jaGFyZ2VyX3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsgTlVM TCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBh ZHNwX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3Avcm9vdF9wZCIsCisrCS5pbnN0 YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBj b25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgYWRzcF9yb290X3BkX3BkciA9IHsKKysJ LmRvbWFpbiA9ICJtc20vYWRzcC9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzQsCisrCS5z ZXJ2aWNlcyA9IHsKKysJCSJ0bXMvcGRyX2VuYWJsZWQiLAorKwkJTlVMTCwKKysJfSwKKyt9Owor KworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgYWRzcF9zZW5zb3Jf cGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3Avc2Vuc29yX3BkIiwKKysJLmluc3RhbmNlX2lk ID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0 cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtc204OTk2X2Fkc3BfYXVkaW9fcGQgPSB7CisrCS5k b21haW4gPSAibXNtL2Fkc3AvYXVkaW9fcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA0LAorKwkuc2Vy dmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1f ZG9tYWluX2RhdGEgbXNtODk5Nl9hZHNwX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Fk c3Avcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDQsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9 LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBjZHNw X3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Nkc3Avcm9vdF9wZCIsCisrCS5pbnN0YW5j ZV9pZCA9IDc2LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgc2xwaV9yb290X3BkID0geworKwkuZG9tYWlu ID0gIm1zbS9zbHBpL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA5MCwKKysJLnNlcnZpY2Vz ID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFp bl9kYXRhIHNscGlfc2Vuc29yX3BkID0geworKwkuZG9tYWluID0gIm1zbS9zbHBpL3NlbnNvcl9w ZCIsCisrCS5pbnN0YW5jZV9pZCA9IDkwLAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9Owor KworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXBzc19yb290X3Bk ID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0g MTgwLAorKwkuc2VydmljZXMgPSB7CisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGljIGNv bnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtcHNzX3Jvb3RfcGRfZ3BzID0geworKwku ZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gMTgwLAorKwku c2VydmljZXMgPSB7CisrCQkiZ3BzL2dwc19zZXJ2aWNlIiwKKysJCU5VTEwsCisrCX0sCisrfTsK KysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIG1wc3Nfcm9vdF9w ZF9ncHNfcGRyID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJLmluc3Rh bmNlX2lkID0gMTgwLAorKwkuc2VydmljZXMgPSB7CisrCQkiZ3BzL2dwc19zZXJ2aWNlIiwKKysJ CSJ0bXMvcGRyX2VuYWJsZWQiLAorKwkJTlVMTCwKKysJfSwKKyt9OworKworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXNtODk5Nl9tcHNzX3Jvb3RfcGQgPSB7Cisr CS5kb21haW4gPSAibXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxMDAsCisr CS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29t X3BkbV9kb21haW5fZGF0YSBtcHNzX3dsYW5fcGQgPSB7CisrCS5kb21haW4gPSAibXNtL21vZGVt L3dsYW5fcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAsCisrCS5zZXJ2aWNlcyA9IHsKKysJCSJr ZXJuZWwvZWxmX2xvYWRlciIsCisrCQkid2xhbi9mdyIsCisrCQlOVUxMLAorKwl9LAorK307Cisr Cisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqbXNtODk5Nl9kb21h aW5zW10gPSB7CisrCSZtc204OTk2X2Fkc3BfYXVkaW9fcGQsCisrCSZtc204OTk2X2Fkc3Bfcm9v dF9wZCwKKysJJm1zbTg5OTZfbXBzc19yb290X3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGlj IGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqbXNtODk5OF9kb21haW5zW10gPSB7 CisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytz dGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpxY20yMjkwX2RvbWFpbnNb XSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX3NlbnNv cl9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisr fTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpxY3M0MDRf ZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFk c3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkLAorKwkmbXBz c193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3Bk bV9kb21haW5fZGF0YSAqc2M3MTgwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisr CSZhZHNwX3Jvb3RfcGRfcGRyLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZtcHNzX3Jvb3RfcGRf Z3BzX3BkciwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNjNzI4MF9kb21haW5zW10gPSB7CisrCSZh ZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3BfY2hhcmdlcl9wZCwK KysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkX2dw c19wZHIsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2Rv bWFpbl9kYXRhICpzYzgxODB4X2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZh ZHNwX3Jvb3RfcGQsCisrCSZhZHNwX2NoYXJnZXJfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZt cHNzX3Jvb3RfcGRfZ3BzLAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3Rh dGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2M4MjgweHBfZG9tYWluc1td ID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZF9wZHIsCisrCSZhZHNwX2No YXJnZXJfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29u c3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzZG02NjBfZG9tYWluc1tdID0geworKwkm YWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkm Y2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkLAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxM LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2Rt NjcwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisr CSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5V TEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpz ZG04NDVfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwK KysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJ JnNscGlfcm9vdF9wZCwKKysJJnNscGlfc2Vuc29yX3BkLAorKwlOVUxMLAorK307CisrCisrc3Rh dGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc202MTE1X2RvbWFpbnNbXSA9 IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX3NlbnNvcl9w ZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZtcHNzX3dsYW5f cGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFp bl9kYXRhICpzbTYzNTBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bf cm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc193 bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9k b21haW5fZGF0YSAqc204MTUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZh ZHNwX3Jvb3RfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAorKwkm bXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29t X3BkbV9kb21haW5fZGF0YSAqc204MjUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQs CisrCSZhZHNwX3Jvb3RfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZzbHBpX3Jvb3RfcGQsCisr CSZzbHBpX3NlbnNvcl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg cWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtODM1MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlv X3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3BfY2hhcmdlcl9wZCwKKysJJmNkc3Bf cm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZzbHBpX3Jvb3RfcGQsCisrCSZzbHBp X3NlbnNvcl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9w ZG1fZG9tYWluX2RhdGEgKnNtODU1MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAor KwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmYWRzcF9zZW5zb3JfcGQs CisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAorKwlOVUxMLAorK307Cisr Cisrc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgcWNvbV9wZG1fZG9tYWluc1tdID0g eworKwl7IC5jb21wYXRpYmxlID0gInFjb20sYXBxODA2NCIsIC5kYXRhID0gTlVMTCwgfSwKKysJ eyAuY29tcGF0aWJsZSA9ICJxY29tLGFwcTgwNzQiLCAuZGF0YSA9IE5VTEwsIH0sCisrCXsgLmNv bXBhdGlibGUgPSAicWNvbSxhcHE4MDg0IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7IC5jb21wYXRp YmxlID0gInFjb20sYXBxODA5NiIsIC5kYXRhID0gbXNtODk5Nl9kb21haW5zLCB9LAorKwl7IC5j b21wYXRpYmxlID0gInFjb20sbXNtODIyNiIsIC5kYXRhID0gTlVMTCwgfSwKKysJeyAuY29tcGF0 aWJsZSA9ICJxY29tLG1zbTg5NzQiLCAuZGF0YSA9IE5VTEwsIH0sCisrCXsgLmNvbXBhdGlibGUg PSAicWNvbSxtc204OTk2IiwgLmRhdGEgPSBtc204OTk2X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBh dGlibGUgPSAicWNvbSxtc204OTk4IiwgLmRhdGEgPSBtc204OTk4X2RvbWFpbnMsIH0sCisrCXsg LmNvbXBhdGlibGUgPSAicWNvbSxxY20yMjkwIiwgLmRhdGEgPSBxY20yMjkwX2RvbWFpbnMsIH0s CisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxxY3M0MDQiLCAuZGF0YSA9IHFjczQwNF9kb21haW5z LCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2M3MTgwIiwgLmRhdGEgPSBzYzcxODBfZG9t YWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNjNzI4MCIsIC5kYXRhID0gc2M3Mjgw X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzYzgxODB4IiwgLmRhdGEgPSBz YzgxODB4X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzYzgyODB4cCIsIC5k YXRhID0gc2M4MjgweHBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNkYTY2 MCIsIC5kYXRhID0gc2RtNjYwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxz ZG02NjAiLCAuZGF0YSA9IHNkbTY2MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFj b20sc2RtNjcwIiwgLmRhdGEgPSBzZG02NzBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9 ICJxY29tLHNkbTg0NSIsIC5kYXRhID0gc2RtODQ1X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGli bGUgPSAicWNvbSxzbTQyNTAiLCAuZGF0YSA9IHNtNjExNV9kb21haW5zLCB9LAorKwl7IC5jb21w YXRpYmxlID0gInFjb20sc202MTE1IiwgLmRhdGEgPSBzbTYxMTVfZG9tYWlucywgfSwKKysJeyAu Y29tcGF0aWJsZSA9ICJxY29tLHNtNjM1MCIsIC5kYXRhID0gc202MzUwX2RvbWFpbnMsIH0sCisr CXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTgxNTAiLCAuZGF0YSA9IHNtODE1MF9kb21haW5zLCB9 LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204MjUwIiwgLmRhdGEgPSBzbTgyNTBfZG9tYWlu cywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODM1MCIsIC5kYXRhID0gc204MzUwX2Rv bWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTg0NTAiLCAuZGF0YSA9IHNtODM1 MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204NTUwIiwgLmRhdGEgPSBz bTg1NTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODY1MCIsIC5kYXRh ID0gc204NTUwX2RvbWFpbnMsIH0sCisrCXt9LAorK307CisrCisrc3RhdGljIHZvaWQgcWNvbV9w ZG1fc3RvcChzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YSkKKyt7CisrCXFjb21fcGRtX2ZyZWVf ZG9tYWlucyhkYXRhKTsKKysKKysJLyogVGhlIHNlcnZlciBpcyByZW1vdmVkIGF1dG9tYXRpY2Fs bHkgKi8KKysJcW1pX2hhbmRsZV9yZWxlYXNlKCZkYXRhLT5oYW5kbGUpOworKworKwlrZnJlZShk YXRhKTsKKyt9CisrCisrc3RhdGljIHN0cnVjdCBxY29tX3BkbV9kYXRhICpxY29tX3BkbV9zdGFy dCh2b2lkKQorK3sKKysJY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICogY29uc3Qg KmRvbWFpbnM7CisrCWNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm1hdGNoOworKwlzdHJ1Y3Qg cWNvbV9wZG1fZGF0YSAqZGF0YTsKKysJc3RydWN0IGRldmljZV9ub2RlICpyb290OworKwlpbnQg cmV0LCBpOworKworKwlyb290ID0gb2ZfZmluZF9ub2RlX2J5X3BhdGgoIi8iKTsKKysJaWYgKCFy b290KQorKwkJcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7CisrCisrCW1hdGNoID0gb2ZfbWF0Y2hf bm9kZShxY29tX3BkbV9kb21haW5zLCByb290KTsKKysJb2Zfbm9kZV9wdXQocm9vdCk7CisrCWlm ICghbWF0Y2gpIHsKKysJCXByX25vdGljZSgiUERNOiBubyBzdXBwb3J0IGZvciB0aGUgcGxhdGZv cm0sIHVzZXJzcGFjZSBkYWVtb24gbWlnaHQgYmUgcmVxdWlyZWQuXG4iKTsKKysJCXJldHVybiBF UlJfUFRSKC1FTk9ERVYpOworKwl9CisrCisrCWRvbWFpbnMgPSBtYXRjaC0+ZGF0YTsKKysJaWYg KCFkb21haW5zKSB7CisrCQlwcl9kZWJ1ZygiUERNOiBubyBkb21haW5zXG4iKTsKKysJCXJldHVy biBFUlJfUFRSKC1FTk9ERVYpOworKwl9CisrCisrCWRhdGEgPSBremFsbG9jKHNpemVvZigqZGF0 YSksIEdGUF9LRVJORUwpOworKwlpZiAoIWRhdGEpCisrCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVN KTsKKysKKysJSU5JVF9MSVNUX0hFQUQoJmRhdGEtPnNlcnZpY2VzKTsKKysKKysJcmV0ID0gcW1p X2hhbmRsZV9pbml0KCZkYXRhLT5oYW5kbGUsIFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUV9N QVhfTEVOLAorKwkJCSAgICAgIE5VTEwsIHFjb21fcGRtX21zZ19oYW5kbGVycyk7CisrCWlmIChy ZXQpIHsKKysJCWtmcmVlKGRhdGEpOworKwkJcmV0dXJuIEVSUl9QVFIocmV0KTsKKysJfQorKwor KwlyZWZjb3VudF9zZXQoJmRhdGEtPnJlZmNudCwgMSk7CisrCisrCWZvciAoaSA9IDA7IGRvbWFp bnNbaV07IGkrKykgeworKwkJcmV0ID0gcWNvbV9wZG1fYWRkX2RvbWFpbihkYXRhLCBkb21haW5z W2ldKTsKKysJCWlmIChyZXQpCisrCQkJZ290byBlcnJfc3RvcDsKKysJfQorKworKwlyZXQgPSBx bWlfYWRkX3NlcnZlcigmZGF0YS0+aGFuZGxlLCBTRVJWUkVHX0xPQ0FUT1JfU0VSVklDRSwKKysJ CQkgICAgIFNFUlZSRUdfUU1JX1ZFUlNJT04sIFNFUlZSRUdfUU1JX0lOU1RBTkNFKTsKKysJaWYg KHJldCkgeworKwkJcHJfZXJyKCJQRE06IGVycm9yIGFkZGluZyBzZXJ2ZXIgJWRcbiIsIHJldCk7 CisrCQlnb3RvIGVycl9zdG9wOworKwl9CisrCisrCXJldHVybiBkYXRhOworKworK2Vycl9zdG9w OgorKwlxY29tX3BkbV9zdG9wKGRhdGEpOworKworKwlyZXR1cm4gRVJSX1BUUihyZXQpOworK30K KysKKytzdGF0aWMgaW50IHFjb21fcGRtX3Byb2JlKHN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICph dXhkZXYsCisrCQkJICBjb25zdCBzdHJ1Y3QgYXV4aWxpYXJ5X2RldmljZV9pZCAqaWQpCisrCisr eworKwlzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YTsKKysJaW50IHJldCA9IDA7CisrCisrCW11 dGV4X2xvY2soJnFjb21fcGRtX211dGV4KTsKKysKKysJaWYgKCFfX3Fjb21fcGRtX2RhdGEpIHsK KysJCWRhdGEgPSBxY29tX3BkbV9zdGFydCgpOworKworKwkJaWYgKElTX0VSUihkYXRhKSkKKysJ CQlyZXQgPSBQVFJfRVJSKGRhdGEpOworKwkJZWxzZQorKwkJCV9fcWNvbV9wZG1fZGF0YSA9IGRh dGE7CisrCX0KKysKKysJYXV4aWxpYXJ5X3NldF9kcnZkYXRhKGF1eGRldiwgX19xY29tX3BkbV9k YXRhKTsKKysKKysJbXV0ZXhfdW5sb2NrKCZxY29tX3BkbV9tdXRleCk7CisrCisrCXJldHVybiBy ZXQ7CisrfQorKworK3N0YXRpYyB2b2lkIHFjb21fcGRtX3JlbW92ZShzdHJ1Y3QgYXV4aWxpYXJ5 X2RldmljZSAqYXV4ZGV2KQorK3sKKysJc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGE7CisrCisr CWRhdGEgPSBhdXhpbGlhcnlfZ2V0X2RydmRhdGEoYXV4ZGV2KTsKKysJaWYgKCFkYXRhKQorKwkJ cmV0dXJuOworKworKwlpZiAocmVmY291bnRfZGVjX2FuZF9tdXRleF9sb2NrKCZkYXRhLT5yZWZj bnQsICZxY29tX3BkbV9tdXRleCkpIHsKKysJCV9fcWNvbV9wZG1fZGF0YSA9IE5VTEw7CisrCQlx Y29tX3BkbV9zdG9wKGRhdGEpOworKwkJbXV0ZXhfdW5sb2NrKCZxY29tX3BkbV9tdXRleCk7Cisr CX0KKyt9CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlX2lkIHFjb21f cGRtX3RhYmxlW10gPSB7CisrCXsgLm5hbWUgPSAicWNvbV9jb21tb24ucGQtbWFwcGVyIiB9LAor Kwl7fSwKKyt9OworK01PRFVMRV9ERVZJQ0VfVEFCTEUoYXV4aWxpYXJ5LCBxY29tX3BkbV90YWJs ZSk7CisrCisrc3RhdGljIHN0cnVjdCBhdXhpbGlhcnlfZHJpdmVyIHFjb21fcGRtX2RydiA9IHsK KysJLm5hbWUgPSAicWNvbS1wZG0tbWFwcGVyIiwKKysJLmlkX3RhYmxlID0gcWNvbV9wZG1fdGFi bGUsCisrCS5wcm9iZSA9IHFjb21fcGRtX3Byb2JlLAorKwkucmVtb3ZlID0gcWNvbV9wZG1fcmVt b3ZlLAorK307CisrbW9kdWxlX2F1eGlsaWFyeV9kcml2ZXIocWNvbV9wZG1fZHJ2KTsKKysKKytN T0RVTEVfREVTQ1JJUFRJT04oIlF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIE1hcHBlciIpOwor K01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Fj b21fcGRyX21zZy5jIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYworaW5kZXggOWI0 NmY0MmFhMTQ2Li5iZjNlNGE0NzE2NWUgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL3Fj b21fcGRyX21zZy5jCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21zZy5jCitAQCAt MzE1LDUgKzMxNSwzOSBAQCBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9h Y2tfcmVzcF9laVtdID0geworIH07CisgRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19zZXRfYWNr X3Jlc3BfZWkpOworIAorK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jX3Bm cl9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSA9IFFNSV9TVFJJTkcsCisrCQkuZWxl bV9sZW4gPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgPSBzaXplb2Yo Y2hhciksCisrCQkuYXJyYXlfdHlwZSA9IFZBUl9MRU5fQVJSQVksCisrCQkudGx2X3R5cGUgPSAw eDAxLAorKwkJLm9mZnNldCA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVxLCBz ZXJ2aWNlKQorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlID0gUU1JX1NUUklORywKKysJCS5lbGVt X2xlbiA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSA9IHNpemVvZihj aGFyKSwKKysJCS5hcnJheV90eXBlID0gVkFSX0xFTl9BUlJBWSwKKysJCS50bHZfdHlwZSA9IDB4 MDIsCisrCQkub2Zmc2V0ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEsIHJl YXNvbikKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfbG9jX3Bm cl9yZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jX3Bm cl9yZXNwX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgPSBRTUlfU1RSVUNULAorKwkJLmVs ZW1fbGVuID0gMSwKKysJCS5lbGVtX3NpemUgPSBzaXplb2ZfZmllbGQoc3RydWN0IHNlcnZyZWdf bG9jX3Bmcl9yZXNwLCByc3ApLAorKwkJLnRsdl90eXBlID0gMHgwMiwKKysJCS5vZmZzZXQgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jlc3AsIHJzcCksCisrCQkuZWlfYXJyYXkg PSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lN Qk9MX0dQTChzZXJ2cmVnX2xvY19wZnJfcmVzcF9laSk7CisrCisgTU9EVUxFX0xJQ0VOU0UoIkdQ TCIpOworIE1PRFVMRV9ERVNDUklQVElPTigiUXVhbGNvbW0gUHJvdGVjdGlvbiBEb21haW4gbWVz c2FnZXMgZGF0YSIpOworCitGcm9tOiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292 QGxpbmFyby5vcmc+CitEYXRlOiBTdW4sIDEyIE1heSAyMDI0IDAwOjU2OjA3ICswMzAwCitTdWJq ZWN0OiBbUEFUQ0ggdjggNS81XSByZW1vdGVwcm9jOiBxY29tOiBlbmFibGUgaW4ta2VybmVsIFBE IG1hcHBlcgorCitSZXF1ZXN0IGluLWtlcm5lbCBwcm90ZWN0aW9uIGRvbWFpbiBtYXBwZXIgdG8g YmUgc3RhcnRlZCBiZWZvcmUgc3RhcnRpbmcKK1F1YWxjb21tIERTUCBhbmQgcmVsZWFzZSBpdCBv bmNlIERTUCBpcyBzdG9wcGVkLiBPbmNlIGFsbCBEU1BzIGFyZQorc3RvcHBlZCwgdGhlIFBEIG1h cHBlciB3aWxsIGJlIHN0b3BwZWQgdG9vLgorCitTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNo a292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CistLS0KKyBkcml2ZXJzL3JlbW90ZXBy b2MvcWNvbV9jb21tb24uYyAgICB8IDg3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKKyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uaCAgICB8IDEwICsrKysrCisg ZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMgfCAgMyArKworIGRyaXZlcnMvcmVt b3RlcHJvYy9xY29tX3E2djVfbXNzLmMgIHwgIDMgKysKKyBkcml2ZXJzL3JlbW90ZXByb2MvcWNv bV9xNnY1X3Bhcy5jICB8ICAzICsrCisgZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93Y3Nz LmMgfCAgMyArKworIDYgZmlsZXMgY2hhbmdlZCwgMTA5IGluc2VydGlvbnMoKykKKworZGlmZiAt LWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5jIGIvZHJpdmVycy9yZW1vdGVw cm9jL3Fjb21fY29tbW9uLmMKK2luZGV4IDAzZTVmNWQ1MzNlYi4uOGM4Njg4Zjk5ZjBhIDEwMDY0 NAorLS0tIGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmMKKysrKyBiL2RyaXZlcnMv cmVtb3RlcHJvYy9xY29tX2NvbW1vbi5jCitAQCAtMTMsNiArMTMsNyBAQAorICNpbmNsdWRlIDxs aW51eC9ub3RpZmllci5oPgorICNpbmNsdWRlIDxsaW51eC9yZW1vdGVwcm9jLmg+CisgI2luY2x1 ZGUgPGxpbnV4L3JlbW90ZXByb2MvcWNvbV9ycHJvYy5oPgorKyNpbmNsdWRlIDxsaW51eC9hdXhp bGlhcnlfYnVzLmg+CisgI2luY2x1ZGUgPGxpbnV4L3JwbXNnL3Fjb21fZ2xpbmsuaD4KKyAjaW5j bHVkZSA8bGludXgvcnBtc2cvcWNvbV9zbWQuaD4KKyAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgor QEAgLTI1LDYgKzI2LDcgQEAKKyAjZGVmaW5lIHRvX2dsaW5rX3N1YmRldihkKSBjb250YWluZXJf b2YoZCwgc3RydWN0IHFjb21fcnByb2NfZ2xpbmssIHN1YmRldikKKyAjZGVmaW5lIHRvX3NtZF9z dWJkZXYoZCkgY29udGFpbmVyX29mKGQsIHN0cnVjdCBxY29tX3Jwcm9jX3N1YmRldiwgc3ViZGV2 KQorICNkZWZpbmUgdG9fc3NyX3N1YmRldihkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IHFjb21f cnByb2Nfc3NyLCBzdWJkZXYpCisrI2RlZmluZSB0b19wZG1fc3ViZGV2KGQpIGNvbnRhaW5lcl9v ZihkLCBzdHJ1Y3QgcWNvbV9ycHJvY19wZG0sIHN1YmRldikKKyAKKyAjZGVmaW5lIE1BWF9OVU1f T0ZfU1MgICAgICAgICAgIDEwCisgI2RlZmluZSBNQVhfUkVHSU9OX05BTUVfTEVOR1RIICAxNgor QEAgLTUxOSw1ICs1MjEsOTAgQEAgdm9pZCBxY29tX3JlbW92ZV9zc3Jfc3ViZGV2KHN0cnVjdCBy cHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3NzciAqc3NyKQorIH0KKyBFWFBPUlRfU1lN Qk9MX0dQTChxY29tX3JlbW92ZV9zc3Jfc3ViZGV2KTsKKyAKKytzdGF0aWMgdm9pZCBwZG1fZGV2 X3JlbGVhc2Uoc3RydWN0IGRldmljZSAqZGV2KQorK3sKKysJc3RydWN0IGF1eGlsaWFyeV9kZXZp Y2UgKmFkZXYgPSB0b19hdXhpbGlhcnlfZGV2KGRldik7CisrCisrCWtmcmVlKGFkZXYpOworK30K KysKKytzdGF0aWMgaW50IHBkbV9ub3RpZnlfcHJlcGFyZShzdHJ1Y3QgcnByb2Nfc3ViZGV2ICpz dWJkZXYpCisreworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gKnBkbSA9IHRvX3BkbV9zdWJkZXYo c3ViZGV2KTsKKysJc3RydWN0IGF1eGlsaWFyeV9kZXZpY2UgKmFkZXY7CisrCWludCByZXQ7Cisr CisrCWFkZXYgPSBremFsbG9jKHNpemVvZigqYWRldiksIEdGUF9LRVJORUwpOworKwlpZiAoIWFk ZXYpCisrCQlyZXR1cm4gLUVOT01FTTsKKysKKysJYWRldi0+ZGV2LnBhcmVudCA9IHBkbS0+ZGV2 OworKwlhZGV2LT5kZXYucmVsZWFzZSA9IHBkbV9kZXZfcmVsZWFzZTsKKysJYWRldi0+bmFtZSA9 ICJwZC1tYXBwZXIiOworKwlhZGV2LT5pZCA9IHBkbS0+aW5kZXg7CisrCisrCXJldCA9IGF1eGls aWFyeV9kZXZpY2VfaW5pdChhZGV2KTsKKysJaWYgKHJldCkgeworKwkJa2ZyZWUoYWRldik7Cisr CQlyZXR1cm4gcmV0OworKwl9CisrCisrCXJldCA9IGF1eGlsaWFyeV9kZXZpY2VfYWRkKGFkZXYp OworKwlpZiAocmV0KSB7CisrCQlhdXhpbGlhcnlfZGV2aWNlX3VuaW5pdChhZGV2KTsKKysJCXJl dHVybiByZXQ7CisrCX0KKysKKysJcGRtLT5hZGV2ID0gYWRldjsKKysKKysJcmV0dXJuIDA7Cisr fQorKworKworK3N0YXRpYyB2b2lkIHBkbV9ub3RpZnlfdW5wcmVwYXJlKHN0cnVjdCBycHJvY19z dWJkZXYgKnN1YmRldikKKyt7CisrCXN0cnVjdCBxY29tX3Jwcm9jX3BkbSAqcGRtID0gdG9fcGRt X3N1YmRldihzdWJkZXYpOworKworKwlpZiAoIXBkbS0+YWRldikKKysJCXJldHVybjsKKysKKysJ YXV4aWxpYXJ5X2RldmljZV9kZWxldGUocGRtLT5hZGV2KTsKKysJYXV4aWxpYXJ5X2RldmljZV91 bmluaXQocGRtLT5hZGV2KTsKKysJcGRtLT5hZGV2ID0gTlVMTDsKKyt9CisrCisrLyoqCisrICog cWNvbV9hZGRfcGRtX3N1YmRldigpIC0gcmVnaXN0ZXIgUEQgTWFwcGVyIHN1YmRldmljZQorKyAq IEBycHJvYzoJcnByb2MgaGFuZGxlCisrICogQHBkbToJUERNIHN1YmRldmljZSBoYW5kbGUKKysg KgorKyAqIFJlZ2lzdGVyIEBwZG0gc28gdGhhdCBQcm90ZWN0aW9uIERldmljZSBtYXBwZXIgc2Vy dmljZSBpcyBzdGFydGVkIHdoZW4gdGhlCisrICogRFNQIGlzIHN0YXJ0ZWQgdG9vLgorKyAqLwor K3ZvaWQgcWNvbV9hZGRfcGRtX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNv bV9ycHJvY19wZG0gKnBkbSkKKyt7CisrCXBkbS0+ZGV2ID0gJnJwcm9jLT5kZXY7CisrCXBkbS0+ aW5kZXggPSBycHJvYy0+aW5kZXg7CisrCisrCXBkbS0+c3ViZGV2LnByZXBhcmUgPSBwZG1fbm90 aWZ5X3ByZXBhcmU7CisrCXBkbS0+c3ViZGV2LnVucHJlcGFyZSA9IHBkbV9ub3RpZnlfdW5wcmVw YXJlOworKworKwlycHJvY19hZGRfc3ViZGV2KHJwcm9jLCAmcGRtLT5zdWJkZXYpOworK30KKytF WFBPUlRfU1lNQk9MX0dQTChxY29tX2FkZF9wZG1fc3ViZGV2KTsKKysKKysvKioKKysgKiBxY29t X3JlbW92ZV9wZG1fc3ViZGV2KCkgLSByZW1vdmUgUEQgTWFwcGVyIHN1YmRldmljZQorKyAqIEBy cHJvYzoJcnByb2MgaGFuZGxlCisrICogQHBkbToJUERNIHN1YmRldmljZSBoYW5kbGUKKysgKgor KyAqIFJlbW92ZSB0aGUgUEQgTWFwcGVyIHN1YmRldmljZS4KKysgKi8KKyt2b2lkIHFjb21fcmVt b3ZlX3BkbV9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2NfcGRt ICpwZG0pCisreworKwlycHJvY19yZW1vdmVfc3ViZGV2KHJwcm9jLCAmcGRtLT5zdWJkZXYpOwor K30KKytFWFBPUlRfU1lNQk9MX0dQTChxY29tX3JlbW92ZV9wZG1fc3ViZGV2KTsKKysKKyBNT0RV TEVfREVTQ1JJUFRJT04oIlF1YWxjb21tIFJlbW90ZXByb2MgaGVscGVyIGRyaXZlciIpOworIE1P RFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2Mv cWNvbV9jb21tb24uaCBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5oCitpbmRleCA5 ZWY0NDQ5MDUyYTkuLmIwN2ZiYWEwOTFhMCAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvcmVtb3RlcHJv Yy9xY29tX2NvbW1vbi5oCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uaAor QEAgLTM0LDYgKzM0LDEzIEBAIHN0cnVjdCBxY29tX3Jwcm9jX3NzciB7CisgCXN0cnVjdCBxY29t X3Nzcl9zdWJzeXN0ZW0gKmluZm87CisgfTsKKyAKKytzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gewor KwlzdHJ1Y3QgcnByb2Nfc3ViZGV2IHN1YmRldjsKKysJc3RydWN0IGRldmljZSAqZGV2OworKwlp bnQgaW5kZXg7CisrCXN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICphZGV2OworK307CisrCisgdm9p ZCBxY29tX21pbmlkdW1wKHN0cnVjdCBycHJvYyAqcnByb2MsIHVuc2lnbmVkIGludCBtaW5pZHVt cF9pZCwKKyAJCQl2b2lkICgqcnByb2NfZHVtcGZuX3QpKHN0cnVjdCBycHJvYyAqcnByb2MsCisg CQkJCXN0cnVjdCBycHJvY19kdW1wX3NlZ21lbnQgKnNlZ21lbnQsIHZvaWQgKmRlc3QsIHNpemVf dCBvZmZzZXQsCitAQCAtNTIsNiArNTksOSBAQCB2b2lkIHFjb21fYWRkX3Nzcl9zdWJkZXYoc3Ry dWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2Nfc3NyICpzc3IsCisgCQkJIGNvbnN0 IGNoYXIgKnNzcl9uYW1lKTsKKyB2b2lkIHFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYoc3RydWN0IHJw cm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2Nfc3NyICpzc3IpOworIAorK3ZvaWQgcWNvbV9h ZGRfcGRtX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19wZG0g KnBkbSk7Cisrdm9pZCBxY29tX3JlbW92ZV9wZG1fc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2Ms IHN0cnVjdCBxY29tX3Jwcm9jX3BkbSAqcGRtKTsKKysKKyAjaWYgSVNfRU5BQkxFRChDT05GSUdf UUNPTV9TWVNNT04pCisgc3RydWN0IHFjb21fc3lzbW9uICpxY29tX2FkZF9zeXNtb25fc3ViZGV2 KHN0cnVjdCBycHJvYyAqcnByb2MsCisgCQkJCQkgICBjb25zdCBjaGFyICpuYW1lLAorZGlmZiAt LWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfYWRzcC5jIGIvZHJpdmVycy9yZW1v dGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMKK2luZGV4IDFkMjRjOWI2NTZhOC4uNTcyZGNiMGYwNTVi IDEwMDY0NAorLS0tIGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMKKysrKyBi L2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfYWRzcC5jCitAQCAtMTEyLDYgKzExMiw3IEBA IHN0cnVjdCBxY29tX2Fkc3AgeworIAlzdHJ1Y3QgZGV2X3BtX2RvbWFpbl9saXN0ICpwZF9saXN0 OworIAorIAlzdHJ1Y3QgcWNvbV9ycHJvY19nbGluayBnbGlua19zdWJkZXY7CisrCXN0cnVjdCBx Y29tX3Jwcm9jX3BkbSBwZG1fc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9ycHJvY19zc3Igc3NyX3N1 YmRldjsKKyAJc3RydWN0IHFjb21fc3lzbW9uICpzeXNtb247CisgCitAQCAtNzI2LDYgKzcyNyw3 IEBAIHN0YXRpYyBpbnQgYWRzcF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQor IAkJZ290byBkaXNhYmxlX3BtOworIAorIAlxY29tX2FkZF9nbGlua19zdWJkZXYocnByb2MsICZh ZHNwLT5nbGlua19zdWJkZXYsIGRlc2MtPnNzcl9uYW1lKTsKKysJcWNvbV9hZGRfcGRtX3N1YmRl dihycHJvYywgJmFkc3AtPnBkbV9zdWJkZXYpOworIAlxY29tX2FkZF9zc3Jfc3ViZGV2KHJwcm9j LCAmYWRzcC0+c3NyX3N1YmRldiwgZGVzYy0+c3NyX25hbWUpOworIAlhZHNwLT5zeXNtb24gPSBx Y29tX2FkZF9zeXNtb25fc3ViZGV2KHJwcm9jLAorIAkJCQkJICAgICAgZGVzYy0+c3lzbW9uX25h bWUsCitAQCAtNzU1LDYgKzc1Nyw3IEBAIHN0YXRpYyB2b2lkIGFkc3BfcmVtb3ZlKHN0cnVjdCBw bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCisgCisgCXFjb21fcTZ2NV9kZWluaXQoJmFkc3AtPnE2djUp OworIAlxY29tX3JlbW92ZV9nbGlua19zdWJkZXYoYWRzcC0+cnByb2MsICZhZHNwLT5nbGlua19z dWJkZXYpOworKwlxY29tX3JlbW92ZV9wZG1fc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+cGRt X3N1YmRldik7CisgCXFjb21fcmVtb3ZlX3N5c21vbl9zdWJkZXYoYWRzcC0+c3lzbW9uKTsKKyAJ cWNvbV9yZW1vdmVfc3NyX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPnNzcl9zdWJkZXYpOwor IAlxY29tX3Jwcm9jX3Bkc19kZXRhY2goYWRzcCk7CitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1v dGVwcm9jL3Fjb21fcTZ2NV9tc3MuYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfbXNz LmMKK2luZGV4IDE3NzlmYzg5MGUxMC4uMmE0MjIxNWNlOGUwIDEwMDY0NAorLS0tIGEvZHJpdmVy cy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9tc3MuYworKysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fj b21fcTZ2NV9tc3MuYworQEAgLTIyOCw2ICsyMjgsNyBAQCBzdHJ1Y3QgcTZ2NSB7CisgCisgCXN0 cnVjdCBxY29tX3Jwcm9jX2dsaW5rIGdsaW5rX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nf c3ViZGV2IHNtZF9zdWJkZXY7CisrCXN0cnVjdCBxY29tX3Jwcm9jX3BkbSBwZG1fc3ViZGV2Owor IAlzdHJ1Y3QgcWNvbV9ycHJvY19zc3Igc3NyX3N1YmRldjsKKyAJc3RydWN0IHFjb21fc3lzbW9u ICpzeXNtb247CisgCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmJhbV9kbXV4OworQEAgLTIxMDIs NiArMjEwMyw3IEBAIHN0YXRpYyBpbnQgcTZ2NV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQorIAlxcHJvYy0+bWJhX3Blcm0gPSBCSVQoUUNPTV9TQ01fVk1JRF9ITE9TKTsKKyAJ cWNvbV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmcXByb2MtPmdsaW5rX3N1YmRldiwgIm1wc3Mi KTsKKyAJcWNvbV9hZGRfc21kX3N1YmRldihycHJvYywgJnFwcm9jLT5zbWRfc3ViZGV2KTsKKysJ cWNvbV9hZGRfcGRtX3N1YmRldihycHJvYywgJnFwcm9jLT5wZG1fc3ViZGV2KTsKKyAJcWNvbV9h ZGRfc3NyX3N1YmRldihycHJvYywgJnFwcm9jLT5zc3Jfc3ViZGV2LCAibXBzcyIpOworIAlxcHJv Yy0+c3lzbW9uID0gcWNvbV9hZGRfc3lzbW9uX3N1YmRldihycHJvYywgIm1vZGVtIiwgMHgxMik7 CisgCWlmIChJU19FUlIocXByb2MtPnN5c21vbikpIHsKK0BAIC0yMTQzLDYgKzIxNDUsNyBAQCBz dGF0aWMgdm9pZCBxNnY1X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAlx Y29tX3E2djVfZGVpbml0KCZxcHJvYy0+cTZ2NSk7CisgCXFjb21fcmVtb3ZlX3N5c21vbl9zdWJk ZXYocXByb2MtPnN5c21vbik7CisgCXFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYocnByb2MsICZxcHJv Yy0+c3NyX3N1YmRldik7CisrCXFjb21fcmVtb3ZlX3BkbV9zdWJkZXYocnByb2MsICZxcHJvYy0+ cGRtX3N1YmRldik7CisgCXFjb21fcmVtb3ZlX3NtZF9zdWJkZXYocnByb2MsICZxcHJvYy0+c21k X3N1YmRldik7CisgCXFjb21fcmVtb3ZlX2dsaW5rX3N1YmRldihycHJvYywgJnFwcm9jLT5nbGlu a19zdWJkZXYpOworIAorZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVf cGFzLmMgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jCitpbmRleCA1NGQ4MDA1 ZDQwYTMuLjM5OWMzYmMxMDRiZCAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29t X3E2djVfcGFzLmMKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfcGFzLmMKK0BA IC0xMDksNiArMTA5LDcgQEAgc3RydWN0IHFjb21fYWRzcCB7CisgCisgCXN0cnVjdCBxY29tX3Jw cm9jX2dsaW5rIGdsaW5rX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3ViZGV2IHNtZF9z dWJkZXY7CisrCXN0cnVjdCBxY29tX3Jwcm9jX3BkbSBwZG1fc3ViZGV2OworIAlzdHJ1Y3QgcWNv bV9ycHJvY19zc3Igc3NyX3N1YmRldjsKKyAJc3RydWN0IHFjb21fc3lzbW9uICpzeXNtb247Cisg CitAQCAtNzcxLDYgKzc3Miw3IEBAIHN0YXRpYyBpbnQgYWRzcF9wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQorIAorIAlxY29tX2FkZF9nbGlua19zdWJkZXYocnByb2MsICZhZHNw LT5nbGlua19zdWJkZXYsIGRlc2MtPnNzcl9uYW1lKTsKKyAJcWNvbV9hZGRfc21kX3N1YmRldihy cHJvYywgJmFkc3AtPnNtZF9zdWJkZXYpOworKwlxY29tX2FkZF9wZG1fc3ViZGV2KHJwcm9jLCAm YWRzcC0+cGRtX3N1YmRldik7CisgCWFkc3AtPnN5c21vbiA9IHFjb21fYWRkX3N5c21vbl9zdWJk ZXYocnByb2MsCisgCQkJCQkgICAgICBkZXNjLT5zeXNtb25fbmFtZSwKKyAJCQkJCSAgICAgIGRl c2MtPnNzY3RsX2lkKTsKK0BAIC04MDUsNiArODA3LDcgQEAgc3RhdGljIHZvaWQgYWRzcF9yZW1v dmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJcWNvbV9yZW1vdmVfZ2xpbmtfc3Vi ZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2KTsKKyAJcWNvbV9yZW1vdmVfc3lz bW9uX3N1YmRldihhZHNwLT5zeXNtb24pOworIAlxY29tX3JlbW92ZV9zbWRfc3ViZGV2KGFkc3At PnJwcm9jLCAmYWRzcC0+c21kX3N1YmRldik7CisrCXFjb21fcmVtb3ZlX3BkbV9zdWJkZXYoYWRz cC0+cnByb2MsICZhZHNwLT5wZG1fc3ViZGV2KTsKKyAJcWNvbV9yZW1vdmVfc3NyX3N1YmRldihh ZHNwLT5ycHJvYywgJmFkc3AtPnNzcl9zdWJkZXYpOworIAlhZHNwX3Bkc19kZXRhY2goYWRzcCwg YWRzcC0+cHJveHlfcGRzLCBhZHNwLT5wcm94eV9wZF9jb3VudCk7CisgCWRldmljZV9pbml0X3dh a2V1cChhZHNwLT5kZXYsIGZhbHNlKTsKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2Mv cWNvbV9xNnY1X3djc3MuYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfd2Nzcy5jCitp bmRleCA5NGY2OGM5MTllZTYuLmU5MTNkYWJhZTk5MiAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvcmVt b3RlcHJvYy9xY29tX3E2djVfd2Nzcy5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9x NnY1X3djc3MuYworQEAgLTE0OCw2ICsxNDgsNyBAQCBzdHJ1Y3QgcTZ2NV93Y3NzIHsKKyAJYm9v bCByZXF1aXJlc19mb3JjZV9zdG9wOworIAorIAlzdHJ1Y3QgcWNvbV9ycHJvY19nbGluayBnbGlu a19zdWJkZXY7CisrCXN0cnVjdCBxY29tX3Jwcm9jX3BkbSBwZG1fc3ViZGV2OworIAlzdHJ1Y3Qg cWNvbV9ycHJvY19zc3Igc3NyX3N1YmRldjsKKyB9OworIAorQEAgLTEwNTIsNiArMTA1Myw3IEBA IHN0YXRpYyBpbnQgcTZ2NV93Y3NzX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp CisgCQlyZXR1cm4gcmV0OworIAorIAlxY29tX2FkZF9nbGlua19zdWJkZXYocnByb2MsICZ3Y3Nz LT5nbGlua19zdWJkZXYsICJxNndjc3MiKTsKKysJcWNvbV9hZGRfcGRtX3N1YmRldihycHJvYywg Jndjc3MtPnBkbV9zdWJkZXYpOworIAlxY29tX2FkZF9zc3Jfc3ViZGV2KHJwcm9jLCAmd2Nzcy0+ c3NyX3N1YmRldiwgInE2d2NzcyIpOworIAorIAlpZiAoZGVzYy0+c3NjdGxfaWQpCitAQCAtMTA3 NCw2ICsxMDc2LDcgQEAgc3RhdGljIHZvaWQgcTZ2NV93Y3NzX3JlbW92ZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQorIAlzdHJ1Y3QgcTZ2NV93Y3NzICp3Y3NzID0gcnByb2MtPnByaXY7 CisgCisgCXFjb21fcTZ2NV9kZWluaXQoJndjc3MtPnE2djUpOworKwlxY29tX3JlbW92ZV9wZG1f c3ViZGV2KHJwcm9jLCAmd2Nzcy0+cGRtX3N1YmRldik7CisgCXJwcm9jX2RlbChycHJvYyk7Cisg fQorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9saW51eDYuOC90ZW1wbGF0ZSBiL3NyY3BrZ3MvbGlu dXg2LjgvdGVtcGxhdGUKaW5kZXggMGRiNjhmMDRiYjZlMjMuLmY5ZmY4MWIzZDY4ZDYyIDEwMDY0 NAotLS0gYS9zcmNwa2dzL2xpbnV4Ni44L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbGludXg2Ljgv dGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdsaW51eDYuOCcK IHBrZ25hbWU9bGludXg2LjgKIHZlcnNpb249Ni44LjEyCi1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiBzaG9ydF9kZXNjPSJMaW51eCBrZXJuZWwgYW5kIG1vZHVsZXMgKCR7dmVyc2lvbiUuKn0gc2Vy aWVzKSIKIG1haW50YWluZXI9IkR1bmNhZW4gPGR1bmNhZW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNl bnNlPSJHUEwtMi4wLW9ubHkiCg== --===============2913355327853332065==--