From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id C937A23B8B for ; Wed, 26 Jun 2024 06:41:46 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============3241206536690175054==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_Lenovo_X13s_support?= To: ml@inbox.vuxu.org From: classabbyamp Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 26 Jun 2024 06:41:45 +0200 List-Id: Message-Id: <20240626044146.C937A23B8B@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============3241206536690175054== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgY2xhc3NhYmJ5YW1wIGFnYWluc3Qg bWFzdGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNv bS9jbGFzc2FiYnlhbXAvdm9pZC1wYWNrYWdlcyB4MTNzLXN1cHBvcnQKaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ5NjE1CgpMZW5vdm8gWDEzcyBzdXBw b3J0CiMjIHJlcG8gZm9yIHRlc3Rpbmc6IGh0dHBzOi8vZGV2c3BhY2Uudm9pZGxpbnV4Lm9yZy9h YmJ5L3gxM3MvDQoNCiMjIyMgVE9ET3MNCi0gW3hdIGRvY3VtZW50IGluc3RhbGwgcHJvY2Vzcywg aW5jbHVkaW5nIHJlcXVpcmVkIGNtZGxpbmUgKGBhcm02NC5ub3BhdXRoIGNsa19pZ25vcmVfdW51 c2VkIHBkX2lnbm9yZV91bnVzZWRgKQ0KICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1kb2NzL2NvbXBhcmUvbWFzdGVyLi4uY2xhc3NhYmJ5YW1wOnZvaWQtZG9jczp4MTNz DQotIFt4XSBmaXggYmx1ZXRvb3RoIG1hYyBhZGRyZXNzOiAoYGJ0bWdtdCBwdWJsaWMtYWRkciBG NDpBMDowRDpYWDpZWTpaWmApDQotIFt4XSBzZXQgYSByYW5kb20gbWFjIHdpdGggdGhlIGNvcnJl Y3QgT1VJIChgRjQ6QTA6MEQ6eHg6eXk6enpgKSBhdCBpbnN0YWxsPw0KLSBbeF0gbWtpbml0Y3Bp byBkcm9wLWluIGNvbmZpZw0KLSBbIF0gbWtpbml0Y3BpbyB3b3JraW5nDQogICAgLSBodHRwczov L2dpdGxhYi5hcmNobGludXgub3JnL2FyY2hsaW51eC9ta2luaXRjcGlvL21raW5pdGNwaW8vLS9t ZXJnZV9yZXF1ZXN0cy8zNzcNCiAgICAtIGRvZXMgbm90IGxvYWQgbW9kdWxlcyBhbmQvb3IgZmly bXdhcmUgY29ycmVjdGx5DQotIFsgXSBjcmVhdGUgYW5kIHRlc3QgbGl2ZSBpbWFnZXMNCiAgICAt ICoqSEVBVklMWSBXSVAqKiBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLW1rbGl2 ZS9jb21wYXJlL21hc3Rlci4uLmNsYXNzYWJieWFtcDp2b2lkLW1rbGl2ZTphYXJjaDY0LWxpdmUN Ci0gW3hdIH5+a2VybmVsIGluc3RhbGwgaG9vayB0byB1cGRhdGUgdGhlIGR0Yj9+fiBncnViIGR0 YiBsb2FkaW5nIHN1cHBvcnQNCg0KIyMjIyBUZXN0aW5nIHRoZSBjaGFuZ2VzDQotIEkgdGVzdGVk IHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqWUVTKioNCg0KIyMjIyBOZXcgcGFja2FnZQ0KLSBU aGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0 dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09O VFJJQlVUSU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1lbnRzKTogKipZRVMqKg0KDQpbY2kgc2tpcF0K CkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvcHVsbC80OTYxNS5wYXRjaCBpcyBhdHRhY2hlZA== --===============3241206536690175054== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-x13s-support-49615.patch" RnJvbSBkNmJjMWE5OWEzNGYxYjAyM2Y2ZWUzMmY4MDM5MTYwOTVhZTc1MTIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+ CkRhdGU6IFRodSwgMjEgTWFyIDIwMjQgMTg6MDA6NDUgLTA0MDAKU3ViamVjdDogW1BBVENIIDEv M10gTmV3IHBhY2thZ2U6IHgxM3MtYmFzZS0xCgotLS0KIHNyY3BrZ3MveDEzcy1iYXNlL0lOU1RB TEwgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKysrKysrKwogc3JjcGtncy94MTNzLWJh c2UvZmlsZXMvNzItdG91Y2hzY3JlZW4ucnVsZXMgfCAgMSArCiBzcmNwa2dzL3gxM3MtYmFzZS9m aWxlcy85MC1idC1hZGRyZXNzLnNoICAgICB8ICA0ICsrKysKIHNyY3BrZ3MveDEzcy1iYXNlL2Zp bGVzLzkwLW5ldC1hZGRyZXNzLnJ1bGVzIHwgIDIgKysKIHNyY3BrZ3MveDEzcy1iYXNlL2ZpbGVz L2RyYWN1dC5jb25mICAgICAgICAgIHwgIDYgKysrKysrCiBzcmNwa2dzL3gxM3MtYmFzZS9maWxl cy9ta2luaXRjcGlvLmNvbmYgICAgICB8ICA2ICsrKysrKwogc3JjcGtncy94MTNzLWJhc2UvdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgfCAxOSArKysrKysrKysrKysrKysrKysrCiA3IGZpbGVz IGNoYW5nZWQsIDUxIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3gx M3MtYmFzZS9JTlNUQUxMCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy94MTNzLWJhc2UvZmls ZXMvNzItdG91Y2hzY3JlZW4ucnVsZXMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3gxM3Mt YmFzZS9maWxlcy85MC1idC1hZGRyZXNzLnNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy94 MTNzLWJhc2UvZmlsZXMvOTAtbmV0LWFkZHJlc3MucnVsZXMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3gxM3MtYmFzZS9maWxlcy9kcmFjdXQuY29uZgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MveDEzcy1iYXNlL2ZpbGVzL21raW5pdGNwaW8uY29uZgogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MveDEzcy1iYXNlL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94MTNzLWJh c2UvSU5TVEFMTCBiL3NyY3BrZ3MveDEzcy1iYXNlL0lOU1RBTEwKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjZhNWZkMGI3MTJmNDJiCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy94MTNzLWJhc2UvSU5TVEFMTApAQCAtMCwwICsxLDEzIEBACitjYXNlICIkQUNU SU9OIiBpbgorcG9zdCkKKwkjIGFzc2lnbiBhIHJhbmRvbSB3bGFuIE1BQyBhZGRyZXNzIHdpdGgg dGhlIGNvcnJlY3QgT1VJCisJc2VkIC1pLmJhayAtZSAicy86QUE6QkI6Q0MvJChvZCAtQW4gLU4z IC10IHgxIC9kZXYvdXJhbmRvbSB8IHRyICcgJyAnOicpL2ciIFwKKwkJdXNyL2xpYi91ZGV2L3J1 bGVzLmQvOTAteDEzcy1uZXQtYWRkcmVzcy5ydWxlcworCXJtIC1mIHVzci9saWIvdWRldi9ydWxl cy5kLzkwLXgxM3MtbmV0LWFkZHJlc3MucnVsZXMuYmFrCisKKwkjIGFzc2lnbiBhIHJhbmRvbSBi bHVldG9vdGggTUFDIGFkZHJlc3Mgd2l0aCB0aGUgY29ycmVjdCBPVUkKKwlzZWQgLWkuYmFrIC1l ICJzLzpBQTpCQjpDQy8kKG9kIC1BbiAtTjMgLXQgeDEgL2Rldi91cmFuZG9tIHwgdHIgJyAnICc6 JykvZyIgXAorCQlldGMvcnVuaXQvY29yZS1zZXJ2aWNlcy85MC14MTNzLWJ0LWFkZHJlc3Muc2gK KwlybSAtZiB1c3IvbGliL3VkZXYvcnVsZXMuZC85MC14MTNzLWJ0LWFkZHJlc3Muc2guYmFrCisJ OzsKK2VzYWMKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzcyLXRvdWNoc2Ny ZWVuLnJ1bGVzIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvNzItdG91Y2hzY3JlZW4ucnVsZXMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLmMwYTFjYjYzNzQ5NjQz Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvNzItdG91Y2hzY3Jl ZW4ucnVsZXMKQEAgLTAsMCArMSBAQAorQUNUSU9OPT0iYWRkIiAsIFJVTis9Ii9iaW4vc2ggLWMg J2VjaG8gNC0wMDEwID4gL3N5cy9idXMvaTJjL2RyaXZlcnMvaTJjX2hpZF9vZi9iaW5kJyIKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkwLWJ0LWFkZHJlc3Muc2ggYi9zcmNw a2dzL3gxM3MtYmFzZS9maWxlcy85MC1idC1hZGRyZXNzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMDAwLi45YzBiZTQ3OTkyZWZiNQotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkwLWJ0LWFkZHJlc3Muc2gKQEAgLTAsMCArMSw0IEBA CitpZiB0eXBlIGJ0bWdtdCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKwltc2cgIlNldHRpbmcgYmx1 ZXRvb3RoIE1BQyBhZGRyZXNzLi4uIgorCWJ0bWdtdCAtLWluZGV4IDAgcHVibGljLWFkZHIgRjQ6 QTA6MEQ6QUE6QkI6Q0MKK2ZpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy85 MC1uZXQtYWRkcmVzcy5ydWxlcyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkwLW5ldC1hZGRy ZXNzLnJ1bGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5jMTZl MzliOWRmMDg5ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkw LW5ldC1hZGRyZXNzLnJ1bGVzCkBAIC0wLDAgKzEsMiBAQAorQUNUSU9OPT0iYWRkIiwgU1VCU1lT VEVNPT0ibmV0IiwgS0VSTkVMUz09IjAwMDY6MDE6MDAuMCIsIFwKKwlSVU4rPSIvdXNyL2Jpbi9p cCBsaW5rIHNldCBkZXYgJG5hbWUgYWRkcmVzcyBGNDpBMDowRDpBQTpCQjpDQyIKZGlmZiAtLWdp dCBhL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzL2RyYWN1dC5jb25mIGIvc3JjcGtncy94MTNzLWJh c2UvZmlsZXMvZHJhY3V0LmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwMDAuLmEyNGFjZmEzZDBhMDZlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94MTNzLWJh c2UvZmlsZXMvZHJhY3V0LmNvbmYKQEAgLTAsMCArMSw2IEBACitmb3JjZV9kcml2ZXJzKz0iIG52 bWUgcGh5X3Fjb21fcW1wX3BjaWUgIgorIyBrZXlib2FyZAorZm9yY2VfZHJpdmVycys9IiBpMmNf aGlkX29mIGkyY19xY29tX2dlbmkgIgorIyBkaXNwbGF5Citmb3JjZV9kcml2ZXJzKz0iIGxlZHNf cWNvbV9scGcgcHdtX2JsIHFydHIgcG1pY19nbGlua19hbHRtb2RlIGdwaW9fc2J1X211eCBwYW5l bF9lZHAgbXNtICIKK2ZvcmNlX2RyaXZlcnMrPSIgcGh5X3Fjb21fcW1wX2NvbWJvIHBpbmN0cmxf c2M4MjgweHAgZ3B1Y2Nfc2M4MjgweHAgZGlzcGNjX3NjODI4MHhwIHBoeV9xY29tX2VkcCAiCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy9ta2luaXRjcGlvLmNvbmYgYi9zcmNw a2dzL3gxM3MtYmFzZS9maWxlcy9ta2luaXRjcGlvLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwMDAuLmE0MjhlZWZiMjAxNmY5Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy94MTNzLWJhc2UvZmlsZXMvbWtpbml0Y3Bpby5jb25mCkBAIC0wLDAgKzEsNiBAQAor TU9EVUxFUys9KG52bWUgcGh5X3Fjb21fcW1wX3BjaWUpCisjIGtleWJvYXJkCitNT0RVTEVTKz0o aTJjX2hpZF9vZiBpMmNfcWNvbV9nZW5pKQorIyBkaXNwbGF5CitNT0RVTEVTKz0obGVkc19xY29t X2xwZyBwd21fYmwgcXJ0ciBwbWljX2dsaW5rX2FsdG1vZGUgZ3Bpb19zYnVfbXV4IHBhbmVsX2Vk cCBtc20KKyBwaHlfcWNvbV9xbXBfY29tYm8gcGluY3RybF9zYzgyODB4cCBncHVjY19zYzgyODB4 cCBkaXNwY2Nfc2M4MjgweHAgcGh5X3Fjb21fZWRwKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy94MTNz LWJhc2UvdGVtcGxhdGUgYi9zcmNwa2dzL3gxM3MtYmFzZS90ZW1wbGF0ZQpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uODBhN2M1NTNiMDJlZjgKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3gxM3MtYmFzZS90ZW1wbGF0ZQpAQCAtMCwwICsxLDE5IEBACisjIFRl bXBsYXRlIGZpbGUgZm9yICd4MTNzLWJhc2UnCitwa2duYW1lPXgxM3MtYmFzZQordmVyc2lvbj0x CityZXZpc2lvbj0xCithcmNocz0iYWFyY2g2NCoiCitkZXBlbmRzPSJsaW51eC1tYWlubGluZT49 Ni44IGxpbnV4LWZpcm13YXJlLXF1YWxjb21tIGFsc2EtdWNtLWNvbmYiCitzaG9ydF9kZXNjPSJW b2lkIExpbnV4IFRoaW5rcGFkIFgxM3MgcGxhdGZvcm0gcGFja2FnZSIKK21haW50YWluZXI9ImNs YXNzYWJieWFtcCA8dm9pZEBwbGFjZXZpb2xldHRlLm5ldD4iCitsaWNlbnNlPSJQdWJsaWMgRG9t YWluIgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnZvaWRsaW51eC5vcmciCisKK2RvX2luc3RhbGwo KSB7CisJdmluc3RhbGwgIiR7RklMRVNESVJ9Ii83Mi10b3VjaHNjcmVlbi5ydWxlcyA2NDQgdXNy L2xpYi91ZGV2L3J1bGVzLmQgNzIteDEzcy10b3VjaHNjcmVlbi5ydWxlcworCXZpbnN0YWxsICIk e0ZJTEVTRElSfSIvOTAtbmV0LWFkZHJlc3MucnVsZXMgNjQ0IHVzci9saWIvdWRldi9ydWxlcy5k IDkwLXgxM3MtbmV0LWFkZHJlc3MucnVsZXMKKwl2aW5zdGFsbCAiJHtGSUxFU0RJUn0iLzkwLWJ0 LWFkZHJlc3Muc2ggNjQ0IGV0Yy9ydW5pdC9jb3JlLXNlcnZpY2VzIDkwLXgxM3MtYnQtYWRkcmVz cy5zaAorCXZpbnN0YWxsICIke0ZJTEVTRElSfSIvZHJhY3V0LmNvbmYgNjQ0IHVzci9saWIvZHJh Y3V0L2RyYWN1dC5jb25mLmQgeDEzcy5jb25mCisJIyBub3QgY3VycmVudGx5IHdvcmtpbmcKKwkj IHZpbnN0YWxsICIke0ZJTEVTRElSfSIvbWtpbml0Y3Bpby5jb25mIDY0NCBldGMvbWtpbml0Y3Bp by5jb25mLmQgeDEzcy5jb25mCit9CgpGcm9tIDA0NDY4YjU1YWQ0OTE2Y2VhNGM5YzExYjA1NTg4 OTYwNGU0NDkxN2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGNsYXNzYWJieWFtcCA8 dm9pZEBwbGFjZXZpb2xldHRlLm5ldD4KRGF0ZTogVGh1LCAyMSBNYXIgMjAyNCAxODowMTozMCAt MDQwMApTdWJqZWN0OiBbUEFUQ0ggMi8zXSBsaW51eDYuODogYWRkIHN1cHBvcnQgZm9yIGxlbm92 byB4MTNzCgotLS0KIHNyY3BrZ3MvbGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnICAgICAg ICB8ICAgODQgKy0KIC4uLmQtaW4ta2VybmVsLXBkLW1hcHBlci1pbXBsZW1lbnRhdGlvbi5wYXRj aCB8IDE5NTEgKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvbGludXg2LjgvdGVtcGxhdGUgICAg ICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMjAxMiBpbnNlcnRp b25zKCspLCAyNSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpbnV4 Ni44L3BhdGNoZXMvc29jLXFjb20tYWRkLWluLWtlcm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRp b24ucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4Ni44L2ZpbGVzL2FybTY0LWRvdGNv bmZpZyBiL3NyY3BrZ3MvbGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnCmluZGV4IGM4M2I2 MWU1ZmNiZTJmLi44ODM3ODNmYzU2NTNmZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9saW51eDYuOC9m aWxlcy9hcm02NC1kb3Rjb25maWcKKysrIGIvc3JjcGtncy9saW51eDYuOC9maWxlcy9hcm02NC1k b3Rjb25maWcKQEAgLTEsNiArMSw2IEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZp bGU7IERPIE5PVCBFRElULgotIyBMaW51eC9hcm02NCA2LjguOSBLZXJuZWwgQ29uZmlndXJhdGlv bgorIyBMaW51eC9hcm02NCA2LjguMTIgS2VybmVsIENvbmZpZ3VyYXRpb24KICMKIENPTkZJR19D Q19WRVJTSU9OX1RFWFQ9ImFhcmNoNjQtbGludXgtbXVzbC1nY2MgKEdDQykgMTMuMi4wIgogQ09O RklHX0NDX0lTX0dDQz15CkBAIC0xOCw3ICsxOCw3IEBAIENPTkZJR19DQ19IQVNfQVNNX0dPVE9f VElFRF9PVVRQVVQ9eQogQ09ORklHX0dDQ19BU01fR09UT19PVVRQVVRfV09SS0FST1VORD15CiBD T05GSUdfQ0NfSEFTX0FTTV9JTkxJTkU9eQogQ09ORklHX0NDX0hBU19OT19QUk9GSUxFX0ZOX0FU VFI9eQotQ09ORklHX1BBSE9MRV9WRVJTSU9OPTEyNgorQ09ORklHX1BBSE9MRV9WRVJTSU9OPTEy NwogQ09ORklHX0lSUV9XT1JLPXkKIENPTkZJR19CVUlMRFRJTUVfVEFCTEVfU09SVD15CiBDT05G SUdfVEhSRUFEX0lORk9fSU5fVEFTSz15CkBAIC0yOSw3ICsyOSw3IEBAIENPTkZJR19USFJFQURf SU5GT19JTl9UQVNLPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKICMgQ09ORklHX0NP TVBJTEVfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XRVJST1IgaXMgbm90IHNldAotQ09ORklH X0xPQ0FMVkVSU0lPTj0iXzEiCitDT05GSUdfTE9DQUxWRVJTSU9OPSJfMiIKICMgQ09ORklHX0xP Q0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKIENPTkZJR19CVUlMRF9TQUxUPSIiCiBDT05GSUdf REVGQVVMVF9JTklUPSIiCkBAIC01OTYsNyArNTk2LDcgQEAgQ09ORklHX0RQTV9XQVRDSERPRz15 CiBDT05GSUdfRFBNX1dBVENIRE9HX1RJTUVPVVQ9NjAKIENPTkZJR19QTV9DTEs9eQogQ09ORklH X1BNX0dFTkVSSUNfRE9NQUlOUz15Ci0jIENPTkZJR19XUV9QT1dFUl9FRkZJQ0lFTlRfREVGQVVM VCBpcyBub3Qgc2V0CitDT05GSUdfV1FfUE9XRVJfRUZGSUNJRU5UX0RFRkFVTFQ9eQogQ09ORklH X1BNX0dFTkVSSUNfRE9NQUlOU19TTEVFUD15CiBDT05GSUdfUE1fR0VORVJJQ19ET01BSU5TX09G PXkKIENPTkZJR19DUFVfUE09eQpAQCAtMjM2OSw3ICsyMzY5LDcgQEAgQ09ORklHX1NPQ19CVVM9 eQogQ09ORklHX1JFR01BUD15CiBDT05GSUdfUkVHTUFQX0kyQz15CiBDT05GSUdfUkVHTUFQX1NQ ST15Ci1DT05GSUdfUkVHTUFQX1NQTUk9bQorQ09ORklHX1JFR01BUF9TUE1JPXkKIENPTkZJR19S RUdNQVBfVzE9bQogQ09ORklHX1JFR01BUF9NTUlPPXkKIENPTkZJR19SRUdNQVBfSVJRPXkKQEAg LTI0MzcsNyArMjQzNyw3IEBAIENPTkZJR19BUk1fU0NNSV9UUkFOU1BPUlRfVklSVElPX1ZFUlNJ T04xX0NPTVBMSUFOQ0U9eQogQ09ORklHX0FSTV9TQ01JX1BPV0VSX0NPTlRST0w9bQogIyBlbmQg b2YgQVJNIFN5c3RlbSBDb250cm9sIGFuZCBNYW5hZ2VtZW50IEludGVyZmFjZSBQcm90b2NvbAog Ci1DT05GSUdfQVJNX1NDUElfUFJPVE9DT0w9bQorQ09ORklHX0FSTV9TQ1BJX1BST1RPQ09MPXkK IENPTkZJR19BUk1fU0RFX0lOVEVSRkFDRT15CiBDT05GSUdfRklSTVdBUkVfTUVNTUFQPXkKIENP TkZJR19ETUlJRD15CkBAIC0yNDkzLDcgKzI0OTMsOCBAQCBDT05GSUdfQVJNX1BTQ0lfRlc9eQog IwogQ09ORklHX1FDT01fU0NNPXkKICMgQ09ORklHX1FDT01fU0NNX0RPV05MT0FEX01PREVfREVG QVVMVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19RQ09NX1FTRUVDT00gaXMgbm90IHNldAorQ09ORklH X1FDT01fUVNFRUNPTT15CitDT05GSUdfUUNPTV9RU0VFQ09NX1VFRklTRUNBUFA9eQogIyBlbmQg b2YgUXVhbGNvbW0gZmlybXdhcmUgZHJpdmVycwogCiBDT05GSUdfSEFWRV9BUk1fU01DQ0M9eQpA QCAtNDkwNCw3ICs0OTA1LDcgQEAgQ09ORklHX1hJTExZVVNCPW0KIENPTkZJR19JMkM9eQogQ09O RklHX0FDUElfSTJDX09QUkVHSU9OPXkKIENPTkZJR19JMkNfQk9BUkRJTkZPPXkKLSMgQ09ORklH X0kyQ19DT01QQVQgaXMgbm90IHNldAorQ09ORklHX0kyQ19DT01QQVQ9eQogQ09ORklHX0kyQ19D SEFSREVWPW0KIENPTkZJR19JMkNfTVVYPW0KIApAQCAtNTEzMyw3ICs1MTM0LDcgQEAgQ09ORklH X1NQSV9TTEFWRT15CiBDT05GSUdfU1BJX1NMQVZFX1RJTUU9bQogQ09ORklHX1NQSV9TTEFWRV9T WVNURU1fQ09OVFJPTD1tCiBDT05GSUdfU1BJX0RZTkFNSUM9eQotQ09ORklHX1NQTUk9bQorQ09O RklHX1NQTUk9eQogQ09ORklHX1NQTUlfSElTSTM2NzA9bQogQ09ORklHX1NQTUlfTVNNX1BNSUNf QVJCPW0KIENPTkZJR19TUE1JX01US19QTUlGPW0KQEAgLTUzMDQsNyArNTMwNSw3IEBAIENPTkZJ R19QSU5DVFJMX1NBODc3NVA9bQogQ09ORklHX1BJTkNUUkxfU0M3MTgwPW0KIENPTkZJR19QSU5D VFJMX1NDNzI4MD1tCiBDT05GSUdfUElOQ1RSTF9TQzgxODBYPW0KLUNPTkZJR19QSU5DVFJMX1ND ODI4MFhQPW0KK0NPTkZJR19QSU5DVFJMX1NDODI4MFhQPXkKICMgQ09ORklHX1BJTkNUUkxfU0RN NjYwIGlzIG5vdCBzZXQKIENPTkZJR19QSU5DVFJMX1NETTY3MD1tCiBDT05GSUdfUElOQ1RSTF9T RE04NDU9bQpAQCAtNTMyMiw3ICs1MzIzLDcgQEAgQ09ORklHX1BJTkNUUkxfU004NDUwPW0KIENP TkZJR19QSU5DVFJMX1NNODU1MD1tCiAjIENPTkZJR19QSU5DVFJMX1NNODY1MCBpcyBub3Qgc2V0 CiAjIENPTkZJR19QSU5DVFJMX1gxRTgwMTAwIGlzIG5vdCBzZXQKLUNPTkZJR19QSU5DVFJMX1FD T01fU1BNSV9QTUlDPW0KK0NPTkZJR19QSU5DVFJMX1FDT01fU1BNSV9QTUlDPXkKIENPTkZJR19Q SU5DVFJMX1FDT01fU1NCSV9QTUlDPW0KIENPTkZJR19QSU5DVFJMX0xQQVNTX0xQST1tCiAjIENP TkZJR19QSU5DVFJMX1NDNzI4MF9MUEFTU19MUEkgaXMgbm90IHNldApAQCAtNTkxMSwxMiArNTkx MiwxMyBAQCBDT05GSUdfVEhFUk1BTF9PRj15CiBDT05GSUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9T VEVQX1dJU0U9eQogIyBDT05GSUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9GQUlSX1NIQVJFIGlzIG5v dCBzZXQKICMgQ09ORklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfVVNFUl9TUEFDRSBpcyBub3Qgc2V0 CisjIENPTkZJR19USEVSTUFMX0RFRkFVTFRfR09WX1BPV0VSX0FMTE9DQVRPUiBpcyBub3Qgc2V0 CiAjIENPTkZJR19USEVSTUFMX0RFRkFVTFRfR09WX0JBTkdfQkFORyBpcyBub3Qgc2V0CiBDT05G SUdfVEhFUk1BTF9HT1ZfRkFJUl9TSEFSRT15CiBDT05GSUdfVEhFUk1BTF9HT1ZfU1RFUF9XSVNF PXkKIENPTkZJR19USEVSTUFMX0dPVl9CQU5HX0JBTkc9eQogQ09ORklHX1RIRVJNQUxfR09WX1VT RVJfU1BBQ0U9eQotIyBDT05GSUdfVEhFUk1BTF9HT1ZfUE9XRVJfQUxMT0NBVE9SIGlzIG5vdCBz ZXQKK0NPTkZJR19USEVSTUFMX0dPVl9QT1dFUl9BTExPQ0FUT1I9eQogQ09ORklHX0NQVV9USEVS TUFMPXkKIENPTkZJR19DUFVfRlJFUV9USEVSTUFMPXkKICMgQ09ORklHX0NQVV9JRExFX1RIRVJN QUwgaXMgbm90IHNldApAQCAtNTk3NCw3ICs1OTc2LDcgQEAgQ09ORklHX0dFTkVSSUNfQURDX1RI RVJNQUw9bQogIwogQ09ORklHX1FDT01fVFNFTlM9bQogQ09ORklHX1FDT01fU1BNSV9BRENfVE01 PW0KLSMgQ09ORklHX1FDT01fU1BNSV9URU1QX0FMQVJNIGlzIG5vdCBzZXQKK0NPTkZJR19RQ09N X1NQTUlfVEVNUF9BTEFSTT1tCiBDT05GSUdfUUNPTV9MTUg9bQogIyBlbmQgb2YgUXVhbGNvbW0g dGhlcm1hbCBkcml2ZXJzCiAKQEAgLTYwMTIsNyArNjAxNCw3IEBAIENPTkZJR19YSUxJTlhfV0FU Q0hET0c9bQogQ09ORklHX1pJSVJBVkVfV0FUQ0hET0c9bQogQ09ORklHX01MWF9XRFQ9bQogQ09O RklHX1NMMjhDUExEX1dBVENIRE9HPW0KLSMgQ09ORklHX0FSTV9TUDgwNV9XQVRDSERPRyBpcyBu b3Qgc2V0CitDT05GSUdfQVJNX1NQODA1X1dBVENIRE9HPXkKIENPTkZJR19BUk1fU0JTQV9XQVRD SERPRz1tCiBDT05GSUdfQVJNQURBXzM3WFhfV0FUQ0hET0c9bQogQ09ORklHX0NBREVOQ0VfV0FU Q0hET0c9bQpAQCAtNjAyNSw3ICs2MDI3LDcgQEAgQ09ORklHX0lNWDJfV0RUPW0KIENPTkZJR19J TVhfU0NfV0RUPW0KIENPTkZJR19JTVg3VUxQX1dEVD1tCiBDT05GSUdfVEVHUkFfV0FUQ0hET0c9 bQotIyBDT05GSUdfUUNPTV9XRFQgaXMgbm90IHNldAorQ09ORklHX1FDT01fV0RUPW0KIENPTkZJ R19NRVNPTl9HWEJCX1dBVENIRE9HPW0KIENPTkZJR19NRVNPTl9XQVRDSERPRz1tCiBDT05GSUdf TUVESUFURUtfV0FUQ0hET0c9bQpAQCAtOTMyNSw3ICs5MzI3LDcgQEAgQ09ORklHX1NDU0lfVUZT SENEX1BDST1tCiBDT05GSUdfU0NTSV9VRlNIQ0RfUExBVEZPUk09bQogQ09ORklHX1NDU0lfVUZT X0NETlNfUExBVEZPUk09bQogIyBDT05GSUdfU0NTSV9VRlNfRFdDX1RDX1BMQVRGT1JNIGlzIG5v dCBzZXQKLSMgQ09ORklHX1NDU0lfVUZTX1FDT00gaXMgbm90IHNldAorQ09ORklHX1NDU0lfVUZT X1FDT009bQogQ09ORklHX1NDU0lfVUZTX01FRElBVEVLPW0KIENPTkZJR19TQ1NJX1VGU19ISVNJ PW0KIENPTkZJR19TQ1NJX1VGU19FWFlOT1M9bQpAQCAtMTAzNDQsNyArMTAzNDYsNyBAQCBDT05G SUdfUUNNX0dDQ18yMjkwPW0KIENPTkZJR19RQ1NfR0NDXzQwND1tCiBDT05GSUdfU0NfQ0FNQ0Nf NzE4MD1tCiBDT05GSUdfU0NfQ0FNQ0NfNzI4MD1tCi0jIENPTkZJR19TQ19DQU1DQ184MjgwWFAg aXMgbm90IHNldAorQ09ORklHX1NDX0NBTUNDXzgyODBYUD1tCiBDT05GSUdfU0NfRElTUENDXzcx ODA9bQogQ09ORklHX1NDX0RJU1BDQ183MjgwPW0KIENPTkZJR19TQ19ESVNQQ0NfODI4MFhQPW0K QEAgLTEwMzU2LDkgKzEwMzU4LDkgQEAgQ09ORklHX1NDX0dDQ184MTgwWD1tCiBDT05GSUdfU0Nf R0NDXzgyODBYUD1tCiBDT05GSUdfU0NfR1BVQ0NfNzE4MD1tCiBDT05GSUdfU0NfR1BVQ0NfNzI4 MD1tCi0jIENPTkZJR19TQ19HUFVDQ184MjgwWFAgaXMgbm90IHNldAorQ09ORklHX1NDX0dQVUND XzgyODBYUD1tCiBDT05GSUdfU0NfTFBBU1NDQ183MjgwPW0KLSMgQ09ORklHX1NDX0xQQVNTQ0Nf ODI4MFhQIGlzIG5vdCBzZXQKK0NPTkZJR19TQ19MUEFTU0NDXzgyODBYUD1tCiBDT05GSUdfU0Nf TFBBU1NfQ09SRUNDXzcxODA9bQogQ09ORklHX1NDX0xQQVNTX0NPUkVDQ183MjgwPW0KIENPTkZJ R19TQ19NU1NfNzE4MD1tCkBAIC0xMDQxNiw3ICsxMDQxOCw3IEBAIENPTkZJR19TTV9UQ1NSQ0Nf ODU1MD1tCiAjIENPTkZJR19TTV9UQ1NSQ0NfODY1MCBpcyBub3Qgc2V0CiBDT05GSUdfU01fVklE RU9DQ184MTUwPW0KIENPTkZJR19TTV9WSURFT0NDXzgyNTA9bQotIyBDT05GSUdfU01fVklERU9D Q184MzUwIGlzIG5vdCBzZXQKK0NPTkZJR19TTV9WSURFT0NDXzgzNTA9bQogIyBDT05GSUdfU01f VklERU9DQ184NTUwIGlzIG5vdCBzZXQKIENPTkZJR19TUE1JX1BNSUNfQ0xLRElWPW0KIENPTkZJ R19RQ09NX0hGUExMPW0KQEAgLTEwNDk0LDcgKzEwNDk2LDcgQEAgQ09ORklHX1RJTUVSX0lNWF9T WVNfQ1RSPXkKICMgZW5kIG9mIENsb2NrIFNvdXJjZSBkcml2ZXJzCiAKIENPTkZJR19NQUlMQk9Y PXkKLSMgQ09ORklHX0FSTV9NSFUgaXMgbm90IHNldAorQ09ORklHX0FSTV9NSFU9eQogQ09ORklH X0FSTV9NSFVfVjI9bQogQ09ORklHX0lNWF9NQk9YPW0KIENPTkZJR19QTEFURk9STV9NSFU9bQpA QCAtMTA1MzYsOCArMTA1MzgsOCBAQCBDT05GSUdfSU9NTVVfSU9fUEdUQUJMRV9EQVJUPXkKIAog IyBDT05GSUdfSU9NTVVfREVCVUdGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JT01NVV9ERUZBVUxU X0RNQV9TVFJJQ1QgaXMgbm90IHNldAotIyBDT05GSUdfSU9NTVVfREVGQVVMVF9ETUFfTEFaWSBp cyBub3Qgc2V0Ci1DT05GSUdfSU9NTVVfREVGQVVMVF9QQVNTVEhST1VHSD15CitDT05GSUdfSU9N TVVfREVGQVVMVF9ETUFfTEFaWT15CisjIENPTkZJR19JT01NVV9ERUZBVUxUX1BBU1NUSFJPVUdI IGlzIG5vdCBzZXQKIENPTkZJR19PRl9JT01NVT15CiBDT05GSUdfSU9NTVVfRE1BPXkKIENPTkZJ R19JT01NVV9TVkE9eQpAQCAtMTA2OTUsNyArMTA2OTcsOSBAQCBDT05GSUdfUUNPTV9MTENDPW0K IENPTkZJR19RQ09NX0tSWU9fTDJfQUNDRVNTT1JTPXkKIENPTkZJR19RQ09NX01EVF9MT0FERVI9 bQogQ09ORklHX1FDT01fT0NNRU09bQorQ09ORklHX1FDT01fUERfTUFQUEVSPW0KIENPTkZJR19R Q09NX1BEUl9IRUxQRVJTPW0KK0NPTkZJR19RQ09NX1BEUl9NU0c9bQogIyBDT05GSUdfUUNPTV9Q TUlDX1BEQ0hBUkdFUl9VTE9HIGlzIG5vdCBzZXQKIENPTkZJR19RQ09NX1BNSUNfR0xJTks9bQog Q09ORklHX1FDT01fUU1JX0hFTFBFUlM9bQpAQCAtMTE5MjcsNyArMTE5MzEsMzggQEAgQ09ORklH X0lOVEVSQ09OTkVDVF9JTVg4TU09bQogQ09ORklHX0lOVEVSQ09OTkVDVF9JTVg4TU49bQogQ09O RklHX0lOVEVSQ09OTkVDVF9JTVg4TVE9bQogQ09ORklHX0lOVEVSQ09OTkVDVF9JTVg4TVA9bQot IyBDT05GSUdfSU5URVJDT05ORUNUX1FDT00gaXMgbm90IHNldAorQ09ORklHX0lOVEVSQ09OTkVD VF9RQ09NPXkKK0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9CQ01fVk9URVI9eQorIyBDT05GSUdf SU5URVJDT05ORUNUX1FDT01fTVNNODkxNiBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5F Q1RfUUNPTV9NU004OTM5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX01T TTg5NzQgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fTVNNODk5NiBpcyBu b3Qgc2V0CitDT05GSUdfSU5URVJDT05ORUNUX1FDT01fT1NNX0wzPW0KKyMgQ09ORklHX0lOVEVS Q09OTkVDVF9RQ09NX1FDTTIyOTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FD T01fUUNTNDA0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1FEVTEwMDAg aXMgbm90IHNldAorQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1JQTUhfUE9TU0lCTEU9eQorQ09O RklHX0lOVEVSQ09OTkVDVF9RQ09NX1JQTUg9eQorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01f U0E4Nzc1UCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TQzcxODAgaXMg bm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0M3MjgwIGlzIG5vdCBzZXQKKyMg Q09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NDODE4MFggaXMgbm90IHNldAorQ09ORklHX0lOVEVS Q09OTkVDVF9RQ09NX1NDODI4MFhQPXkKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NETTY2 MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRE02NzAgaXMgbm90IHNl dAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0RNODQ1IGlzIG5vdCBzZXQKKyMgQ09ORklH X0lOVEVSQ09OTkVDVF9RQ09NX1NEWDU1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVD VF9RQ09NX1NEWDY1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NEWDc1 IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNNjExNSBpcyBub3Qgc2V0 CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTYzNTAgaXMgbm90IHNldAorIyBDT05GSUdf SU5URVJDT05ORUNUX1FDT01fU004MTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVD VF9RQ09NX1NNODI1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTgz NTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004NDUwIGlzIG5vdCBz ZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODU1MCBpcyBub3Qgc2V0CisjIENPTkZJ R19JTlRFUkNPTk5FQ1RfUUNPTV9TTTg2NTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05O RUNUX1FDT01fWDFFODAxMDAgaXMgbm90IHNldAogQ09ORklHX0lOVEVSQ09OTkVDVF9TQU1TVU5H PXkKIENPTkZJR19JTlRFUkNPTk5FQ1RfRVhZTk9TPW0KIENPTkZJR19JTlRFUkNPTk5FQ1RfQ0xL PW0KQEAgLTEyNDI5LDYgKzEyNDY0LDcgQEAgQ09ORklHX0NSWVBUT19BTEdBUEk9eQogQ09ORklH X0NSWVBUT19BTEdBUEkyPXkKIENPTkZJR19DUllQVE9fQUVBRD15CiBDT05GSUdfQ1JZUFRPX0FF QUQyPXkKK0NPTkZJR19DUllQVE9fU0lHPXkKIENPTkZJR19DUllQVE9fU0lHMj15CiBDT05GSUdf Q1JZUFRPX1NLQ0lQSEVSPXkKIENPTkZJR19DUllQVE9fU0tDSVBIRVIyPXkKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvbGludXg2LjgvcGF0Y2hlcy9zb2MtcWNvbS1hZGQtaW4ta2VybmVsLXBkLW1hcHBl ci1pbXBsZW1lbnRhdGlvbi5wYXRjaCBiL3NyY3BrZ3MvbGludXg2LjgvcGF0Y2hlcy9zb2MtcWNv bS1hZGQtaW4ta2VybmVsLXBkLW1hcHBlci1pbXBsZW1lbnRhdGlvbi5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uNzk0YWMyZjJkNzdmOTIKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL2xpbnV4Ni44L3BhdGNoZXMvc29jLXFjb20tYWRkLWluLWtlcm5l bC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2gKQEAgLTAsMCArMSwxOTUxIEBACitodHRw czovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3QvbGludXgtYXJtLW1zbS9jb3Zlci8yMDI0 MDYyMi1xY29tLXBkLW1hcHBlci12OS0wLWE4NGVlMzU5MWM4ZUBsaW5hcm8ub3JnLworCithY2Nl cHRlZCB1cHN0cmVhbSwgZXhwZWN0ZWQgbWFpbmxpbmUgaW4gNi4xMQorCitGcm9tOiBEbWl0cnkg QmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CitEYXRlOiBTYXQsIDIyIEp1 biAyMDI0IDAxOjAzOjQwICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggdjkgMS81XSBzb2M6IHFjb206 IHBkcjogcHJvdGVjdCBsb2NhdG9yX2FkZHIgd2l0aCB0aGUgbWFpbgorIG11dGV4CisKK0lmIHRo ZSBzZXJ2aWNlIGxvY2F0b3Igc2VydmVyIGlzIHJlc3RhcnRlZCBmYXN0IGVub3VnaCwgdGhlIFBE UiBjYW4KK3Jld3JpdGUgbG9jYXRvcl9hZGRyIGZpZWxkcyBjb25jdXJyZW50bHkuIFByb3RlY3Qg dGhlbSBieSBwbGFjaW5nCittb2RpZmljYXRpb24gb2YgdGhvc2UgZmllbGRzIHVuZGVyIHRoZSBt YWluIHBkci0+bG9jay4KKworRml4ZXM6IGZiZTYzOWI0NGE4MiAoInNvYzogcWNvbTogSW50cm9k dWNlIFByb3RlY3Rpb24gRG9tYWluIFJlc3RhcnQgaGVscGVycyIpCitUZXN0ZWQtYnk6IE5laWwg QXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPiAjIG9uIFNNODU1MC1RUkQKK1Rl c3RlZC1ieTogU3RlZXYgS2xpbWFzemV3c2tpIDxzdGVldkBrYWxpLm9yZz4KK1Rlc3RlZC1ieTog QWxleGV5IE1pbm5la2hhbm92IDxhbGV4ZXltaW5AcG9zdG1hcmtldG9zLm9yZz4KK1NpZ25lZC1v ZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KK1Jl dmlld2VkLWJ5OiBDaHJpcyBMZXcgPHF1aWNfY2xld0BxdWljaW5jLmNvbT4KKy0tLQorIGRyaXZl cnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jIHwgNiArKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwg NCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9z b2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2Uu YworaW5kZXggYTFiNmE0MDgxZGVhLi43NmE2MmMyZWNjNTggMTAwNjQ0CistLS0gYS9kcml2ZXJz L3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYworKysrIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50 ZXJmYWNlLmMKK0BAIC03NiwxMiArNzYsMTIgQEAgc3RhdGljIGludCBwZHJfbG9jYXRvcl9uZXdf c2VydmVyKHN0cnVjdCBxbWlfaGFuZGxlICpxbWksCisgCQkJCQkgICAgICBsb2NhdG9yX2hkbCk7 CisgCXN0cnVjdCBwZHJfc2VydmljZSAqcGRzOworIAorKwltdXRleF9sb2NrKCZwZHItPmxvY2sp OworIAkvKiBDcmVhdGUgYSBsb2NhbCBjbGllbnQgcG9ydCBmb3IgUU1JIGNvbW11bmljYXRpb24g Ki8KKyAJcGRyLT5sb2NhdG9yX2FkZHIuc3FfZmFtaWx5ID0gQUZfUUlQQ1JUUjsKKyAJcGRyLT5s b2NhdG9yX2FkZHIuc3Ffbm9kZSA9IHN2Yy0+bm9kZTsKKyAJcGRyLT5sb2NhdG9yX2FkZHIuc3Ff cG9ydCA9IHN2Yy0+cG9ydDsKKyAKKy0JbXV0ZXhfbG9jaygmcGRyLT5sb2NrKTsKKyAJcGRyLT5s b2NhdG9yX2luaXRfY29tcGxldGUgPSB0cnVlOworIAltdXRleF91bmxvY2soJnBkci0+bG9jayk7 CisgCitAQCAtMTA0LDEwICsxMDQsMTAgQEAgc3RhdGljIHZvaWQgcGRyX2xvY2F0b3JfZGVsX3Nl cnZlcihzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1pLAorIAorIAltdXRleF9sb2NrKCZwZHItPmxvY2sp OworIAlwZHItPmxvY2F0b3JfaW5pdF9jb21wbGV0ZSA9IGZhbHNlOworLQltdXRleF91bmxvY2so JnBkci0+bG9jayk7CisgCisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX25vZGUgPSAwOworIAlwZHIt PmxvY2F0b3JfYWRkci5zcV9wb3J0ID0gMDsKKysJbXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOwor IH0KKyAKKyBzdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9vcHMgcGRyX2xvY2F0b3Jfb3BzID0gewor QEAgLTM2NSwxMiArMzY1LDE0IEBAIHN0YXRpYyBpbnQgcGRyX2dldF9kb21haW5fbGlzdChzdHJ1 Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxICpyZXEsCisgCWlmIChyZXQgPCAwKQorIAkJ cmV0dXJuIHJldDsKKyAKKysJbXV0ZXhfbG9jaygmcGRyLT5sb2NrKTsKKyAJcmV0ID0gcW1pX3Nl bmRfcmVxdWVzdCgmcGRyLT5sb2NhdG9yX2hkbCwKKyAJCQkgICAgICAgJnBkci0+bG9jYXRvcl9h ZGRyLAorIAkJCSAgICAgICAmdHhuLCBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVEsCisgCQkJ ICAgICAgIFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUV9NQVhfTEVOLAorIAkJCSAgICAgICBz ZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXFfZWksCisgCQkJICAgICAgIHJlcSk7CisrCW11dGV4 X3VubG9jaygmcGRyLT5sb2NrKTsKKyAJaWYgKHJldCA8IDApIHsKKyAJCXFtaV90eG5fY2FuY2Vs KCZ0eG4pOworIAkJcmV0dXJuIHJldDsKKworRnJvbTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5 LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0ZTogU2F0LCAyMiBKdW4gMjAyNCAwMTowMzo0MSAr MDMwMAorU3ViamVjdDogW1BBVENIIHY5IDIvNV0gc29jOiBxY29tOiBwZHI6IGZpeCBwYXJzaW5n IG9mIGRvbWFpbnMgbGlzdHMKKworV2hpbGUgcGFyc2luZyB0aGUgZG9tYWlucyBsaXN0LCBzdGFy dCBvZmZzZXRzIGZyb20gMCByYXRoZXIgdGhhbiBmcm9tCitkb21haW5zX3JlYWQuIFRoZSBkb21h aW5zX3JlYWQgaXMgZXF1YWwgdG8gdGhlIHRvdGFsIGNvdW50IG9mIHRoZQorZG9tYWlucyB3ZSBo YXZlIHNlZW4sIHdoaWxlIHRoZSBkb21haW5zIGxpc3QgaW4gdGhlIG1lc3NhZ2Ugc3RhcnRzIGZy b20KK29mZnNldCAwLgorCitGaXhlczogZmJlNjM5YjQ0YTgyICgic29jOiBxY29tOiBJbnRyb2R1 Y2UgUHJvdGVjdGlvbiBEb21haW4gUmVzdGFydCBoZWxwZXJzIikKK1Rlc3RlZC1ieTogU3RlZXYg S2xpbWFzemV3c2tpIDxzdGVldkBrYWxpLm9yZz4KK1Rlc3RlZC1ieTogQWxleGV5IE1pbm5la2hh bm92IDxhbGV4ZXltaW5AcG9zdG1hcmtldG9zLm9yZz4KK1Jldmlld2VkLWJ5OiBDaHJpcyBMZXcg PHF1aWNfY2xld0BxdWljaW5jLmNvbT4KK1Rlc3RlZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5laWwu YXJtc3Ryb25nQGxpbmFyby5vcmc+ICMgb24gU004NTUwLVFSRAorU2lnbmVkLW9mZi1ieTogRG1p dHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorLS0tCisgZHJpdmVy cy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29t L3Bkcl9pbnRlcmZhY2UuYyBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCitpbmRl eCA3NmE2MmMyZWNjNTguLjIxNjE2NmU5OGZhZSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fj b20vcGRyX2ludGVyZmFjZS5jCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2Uu YworQEAgLTQxNyw3ICs0MTcsNyBAQCBzdGF0aWMgaW50IHBkcl9sb2NhdGVfc2VydmljZShzdHJ1 Y3QgcGRyX2hhbmRsZSAqcGRyLCBzdHJ1Y3QgcGRyX3NlcnZpY2UgKnBkcykKKyAJCWlmIChyZXQg PCAwKQorIAkJCWdvdG8gb3V0OworIAorLQkJZm9yIChpID0gZG9tYWluc19yZWFkOyBpIDwgcmVz cC0+ZG9tYWluX2xpc3RfbGVuOyBpKyspIHsKKysJCWZvciAoaSA9IDA7IGkgPCByZXNwLT5kb21h aW5fbGlzdF9sZW47IGkrKykgeworIAkJCWVudHJ5ID0gJnJlc3AtPmRvbWFpbl9saXN0W2ldOwor IAorIAkJCWlmIChzdHJubGVuKGVudHJ5LT5uYW1lLCBzaXplb2YoZW50cnktPm5hbWUpKSA9PSBz aXplb2YoZW50cnktPm5hbWUpKQorCitGcm9tOiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFy eXNoa292QGxpbmFyby5vcmc+CitEYXRlOiBTYXQsIDIyIEp1biAyMDI0IDAxOjAzOjQyICswMzAw CitTdWJqZWN0OiBbUEFUQ0ggdjkgMy81XSBzb2M6IHFjb206IHBkcjogZXh0cmFjdCBQRFIgbWVz c2FnZSBtYXJzaGFsbGluZworIGRhdGEKKworVGhlIGluLWtlcm5lbCBQRCBtYXBwZXIgaXMgZ29p bmcgdG8gdXNlIHNhbWUgbWVzc2FnZSBzdHJ1Y3R1cmVzIGFzIHRoZQorUUNPTV9QRFJfSEVMUEVS UyBtb2R1bGUuIEV4dHJhY3QgbWVzc2FnZSBtYXJzaGFsbGluZyBkYXRhIHRvIHNlcGFyYXRlCitt b2R1bGUgdGhhdCBjYW4gYmUgdXNlZCBieSBib3RoIFBEUiBoZWxwZXJzIGFuZCBieSBQRCBtYXBw ZXIuCisKK1Jldmlld2VkLWJ5OiBCcnlhbiBPJ0Rvbm9naHVlIDxicnlhbi5vZG9ub2dodWVAbGlu YXJvLm9yZz4KK1Rlc3RlZC1ieTogU3RlZXYgS2xpbWFzemV3c2tpIDxzdGVldkBrYWxpLm9yZz4K K1Rlc3RlZC1ieTogQWxleGV5IE1pbm5la2hhbm92IDxhbGV4ZXltaW5AcG9zdG1hcmtldG9zLm9y Zz4KK1Rlc3RlZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ryb25nQGxpbmFyby5vcmc+ ICMgb24gU004NTUwLVFSRAorU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5 LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorLS0tCisgZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnICAg ICAgICB8ICAgNCArCisgZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZSAgICAgICB8ICAgMSArCisg ZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaCB8IDMwNiArKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIGRyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMgfCAz MTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDQgZmlsZXMgY2hh bmdlZCwgMzM0IGluc2VydGlvbnMoKyksIDI5NiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh L2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZyBiL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZworaW5k ZXggNWFmMzNiMGUzNDcwLi45NTk3M2M2YjgyOGYgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9x Y29tL0tjb25maWcKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZworQEAgLTc1LDggKzc1 LDEyIEBAIGNvbmZpZyBRQ09NX09DTUVNCisgY29uZmlnIFFDT01fUERSX0hFTFBFUlMKKyAJdHJp c3RhdGUKKyAJc2VsZWN0IFFDT01fUU1JX0hFTFBFUlMKKysJc2VsZWN0IFFDT01fUERSX01TRwor IAlkZXBlbmRzIG9uIE5FVAorIAorK2NvbmZpZyBRQ09NX1BEUl9NU0cKKysJdHJpc3RhdGUKKysK KyBjb25maWcgUUNPTV9QTUlDX1BEQ0hBUkdFUl9VTE9HCisgCXRyaXN0YXRlICJRdWFsY29tbSBQ TUlDIFBEQ2hhcmdlciBVTE9HIGRyaXZlciIKKyAJZGVwZW5kcyBvbiBSUE1TRworZGlmZiAtLWdp dCBhL2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUgYi9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxl CitpbmRleCBjYTBiZWNlMGRmZmYuLjMxMTBhYzMyODhiYyAxMDA2NDQKKy0tLSBhL2RyaXZlcnMv c29jL3Fjb20vTWFrZWZpbGUKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUKK0BAIC04 LDYgKzgsNyBAQCBvYmotJChDT05GSUdfUUNPTV9HU0JJKQkrPQlxY29tX2dzYmkubworIG9iai0k KENPTkZJR19RQ09NX01EVF9MT0FERVIpCSs9IG1kdF9sb2FkZXIubworIG9iai0kKENPTkZJR19R Q09NX09DTUVNKQkrPSBvY21lbS5vCisgb2JqLSQoQ09ORklHX1FDT01fUERSX0hFTFBFUlMpCSs9 IHBkcl9pbnRlcmZhY2UubworK29iai0kKENPTkZJR19RQ09NX1BEUl9NU0cpCSs9IHFjb21fcGRy X21zZy5vCisgb2JqLSQoQ09ORklHX1FDT01fUE1JQ19HTElOSykJKz0gcG1pY19nbGluay5vCisg b2JqLSQoQ09ORklHX1FDT01fUE1JQ19HTElOSykJKz0gcG1pY19nbGlua19hbHRtb2RlLm8KKyBv YmotJChDT05GSUdfUUNPTV9QTUlDX1BEQ0hBUkdFUl9VTE9HKQkrPSBwbWljX3BkY2hhcmdlcl91 bG9nLm8KK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oIGIvZHJp dmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaAoraW5kZXggMDNjMjgyYjdmMTdlLi43ZTViYjVh OTUyNzUgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oCisrKysg Yi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oCitAQCAtMjgsODMgKzI4LDEyIEBAIHN0 cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5IHsKKyAJdTMyIGluc3RhbmNlOworIH07CisgCist c3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlf ZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKy0JCS5lbGVt X2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorLQkJLmVsZW1fc2l6ZSAgICAg ID0gc2l6ZW9mKGNoYXIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlw ZSAgICAgICA9IDAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19sb2NhdGlvbl9lbnRyeSwKKy0JCQkJCSAgIG5hbWUpLAorLQl9LAorLQl7CistCQkuZGF0YV90 eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwK Ky0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19B UlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKy0JCQkJCSAgIGluc3RhbmNlKSwK Ky0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzFfQllURSwKKy0J CS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAor LQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDAsCistCQku b2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwK Ky0JCQkJCSAgIHNlcnZpY2VfZGF0YV92YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUg ICAgICA9IFFNSV9VTlNJR05FRF80X0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUzMiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZ LAorLQkJLnRsdl90eXBlICAgICAgID0gMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9m KHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorLQkJCQkJICAgc2VydmljZV9kYXRhKSwK Ky0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXEg eworIAljaGFyIHNlcnZpY2VfbmFtZVtTRVJWUkVHX05BTUVfTEVOR1RIICsgMV07CisgCXU4IGRv bWFpbl9vZmZzZXRfdmFsaWQ7CisgCXUzMiBkb21haW5fb2Zmc2V0OworIH07CisgCistc3RhdGlj IGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcV9l aVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1f bGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAg PSBzaXplb2YoY2hhciksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBl ICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2 cmVnX2dldF9kb21haW5fbGlzdF9yZXEsCistCQkJCQkgICBzZXJ2aWNlX25hbWUpLAorLQl9LAor LQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCistCQkuZWxlbV9sZW4gICAg ICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBl CT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAgICAg ICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSwKKy0JCQkJ CSAgIGRvbWFpbl9vZmZzZXRfdmFsaWQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAg PSBRTUlfVU5TSUdORURfNF9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVt X3NpemUgICAgICA9IHNpemVvZih1MzIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0J CS50bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorLQkJCQkJICAgZG9tYWluX29mZnNl dCksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3Rf cmVzcCB7CisgCXN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEgcmVzcDsKKyAJdTggdG90YWxf ZG9tYWluc192YWxpZDsKK0BAIC0xMTYsMjY0ICs0NSw0OSBAQCBzdHJ1Y3Qgc2VydnJlZ19nZXRf ZG9tYWluX2xpc3RfcmVzcCB7CisgCXN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5IGRvbWFp bl9saXN0W1NFUlZSRUdfRE9NQUlOX0xJU1RfTEVOR1RIXTsKKyB9OworIAorLXN0YXRpYyBjb25z dCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwX2VpW10g PSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4g ICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9u c2VfdHlwZV92MDEpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAg ICAgICA9IDB4MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKy0JCQkJCSAgIHJlc3ApLAorLQkJLmVpX2FycmF5ICAg ICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUg ICAgICA9IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9z aXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50 bHZfdHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1 Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKy0JCQkJCSAgIHRvdGFsX2RvbWFpbnNf dmFsaWQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9C WVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVv Zih1MTYpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9 IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRf ZG9tYWluX2xpc3RfcmVzcCwKKy0JCQkJCSAgIHRvdGFsX2RvbWFpbnMpLAorLQl9LAorLQl7Cist CQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCistCQkuZWxlbV9sZW4gICAgICAgPSAx LAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9f QVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDExLAorLQkJLm9mZnNldCAgICAgICAgID0g b2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBk Yl9yZXZfY291bnRfdmFsaWQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlf VU5TSUdORURfMl9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUg ICAgICA9IHNpemVvZih1MTYpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZf dHlwZSAgICAgICA9IDB4MTEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qg c2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKy0JCQkJCSAgIGRiX3Jldl9jb3VudCksCist CX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKy0JCS5lbGVtX2xl biAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5 X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCistCQkub2Zmc2V0 ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwK Ky0JCQkJCSAgIGRvbWFpbl9saXN0X3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAg ICAgID0gUU1JX0RBVEFfTEVOLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3Np emUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRs dl90eXBlICAgICAgID0gMHgxMiwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJCQkJICAgZG9tYWluX2xpc3RfbGVu KSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKy0JCS5lbGVt X2xlbiAgICAgICA9IFNFUlZSRUdfRE9NQUlOX0xJU1RfTEVOR1RILAorLQkJLmVsZW1fc2l6ZSAg ICAgID0gc2l6ZW9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5KSwKKy0JCS5hcnJheV90 eXBlCT0gVkFSX0xFTl9BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCistCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVz cCwKKy0JCQkJCSAgIGRvbWFpbl9saXN0KSwKKy0JCS5laV9hcnJheSAgICAgID0gc2VydnJlZ19s b2NhdGlvbl9lbnRyeV9laSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2cmVnX3Jl Z2lzdGVyX2xpc3RlbmVyX3JlcSB7CisgCXU4IGVuYWJsZTsKKyAJY2hhciBzZXJ2aWNlX3BhdGhb U0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOworIH07CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBx bWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxX2VpW10gPSB7CistCXsK Ky0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8xX0JZVEUsCistCQkuZWxlbV9sZW4g ICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90 eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorLQkJLm9mZnNldCAg ICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxLAor LQkJCQkJICAgZW5hYmxlKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NU UklORywKKy0JCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorLQkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEsCistCQkJCQkgICBzZXJ2 aWNlX3BhdGgpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJf bGlzdGVuZXJfcmVzcCB7CisgCXN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEgcmVzcDsKKyAJ dTggY3Vycl9zdGF0ZV92YWxpZDsKKyAJZW51bSBzZXJ2cmVnX3NlcnZpY2Vfc3RhdGUgY3Vycl9z dGF0ZTsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVn X3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3BfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX1NUUlVDVCwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCistCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AsCist CQkJCQkgICByZXNwKSwKKy0JCS5laV9hcnJheSAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAx X2VpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCistCQku ZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0J CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVu ZXJfcmVzcCwKKy0JCQkJCSAgIGN1cnJfc3RhdGVfdmFsaWQpLAorLQl9LAorLQl7CistCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfU0lHTkVEXzRfQllURV9FTlVNLAorLQkJLmVsZW1fbGVuICAgICAg ID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihlbnVtIHNlcnZyZWdfc2VydmljZV9z dGF0ZSksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0g MHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lz dGVyX2xpc3RlbmVyX3Jlc3AsCistCQkJCQkgICBjdXJyX3N0YXRlKSwKKy0JfSwKKy0Je30KKy19 OworLQorIHN0cnVjdCBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxIHsKKyAJY2hhciBzZXJ2aWNlX3Bh dGhbU0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOworIH07CisgCistc3RhdGljIGNvbnN0IHN0cnVj dCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXFfZWlbXSA9IHsKKy0JeworLQkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKy0JCS5lbGVtX2xlbiAgICAgICA9IFNFUlZS RUdfTkFNRV9MRU5HVEggKyAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAor LQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCist CQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3BkX3Jl cSwKKy0JCQkJCSAgIHNlcnZpY2VfcGF0aCksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qg c2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAx IHJlc3A7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJl Z19yZXN0YXJ0X3BkX3Jlc3BfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1J X1NUUlVDVCwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCistCQkuYXJyYXlfdHlwZQk9IE5P X0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAgICAgICA9 IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcCwKKy0JCQkJCSAgIHJlc3Ap LAorLQkJLmVpX2FycmF5ICAgICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCistCX0sCist CXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCB7CisgCWVudW0g c2VydnJlZ19zZXJ2aWNlX3N0YXRlIGN1cnJfc3RhdGU7CisgCWNoYXIgc2VydmljZV9wYXRoW1NF UlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyAJdTE2IHRyYW5zYWN0aW9uX2lkOworIH07CisgCist c3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9p bmRfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NJR05FRF80X0JZVEVf RU5VTSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXpl b2YodTMyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAg PSAweDAxLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3Rh dGVfdXBkYXRlZF9pbmQsCistCQkJCQkgICBjdXJyX3N0YXRlKSwKKy0JfSwKKy0JeworLQkJLmRh dGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKy0JCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdf TkFNRV9MRU5HVEggKyAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorLQkJ LmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCistCQku b2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2lu ZCwKKy0JCQkJCSAgIHNlcnZpY2VfcGF0aCksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAg ICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVs ZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAor LQkJLnRsdl90eXBlICAgICAgID0gMHgwMywKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9m KHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorLQkJCQkJICAgdHJhbnNhY3Rpb25f aWQpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfc2V0X2Fja19yZXEgewor IAljaGFyIHNlcnZpY2VfcGF0aFtTRVJWUkVHX05BTUVfTEVOR1RIICsgMV07CisgCXUxNiB0cmFu c2FjdGlvbl9pZDsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBz ZXJ2cmVnX3NldF9hY2tfcmVxX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFN SV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwK Ky0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9f QVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorLQkJLm9mZnNldCAgICAgICAgID0g b2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc2V0X2Fja19yZXEsCistCQkJCQkgICBzZXJ2aWNlX3Bh dGgpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRF LAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1 MTYpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4 MDIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNr X3JlcSwKKy0JCQkJCSAgIHRyYW5zYWN0aW9uX2lkKSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0 cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVzcCB7CisgCXN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92 MDEgcmVzcDsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2 cmVnX3NldF9hY2tfcmVzcF9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlf U1RSVUNULAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNp emVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0gTk9f QVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0g b2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc2V0X2Fja19yZXNwLAorLQkJCQkJICAgcmVzcCksCist CQkuZWlfYXJyYXkgICAgICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCistCX0sCistCXt9 CistfTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NhdGlv bl9lbnRyeV9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXFfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcF9laVtdOworK2V4dGVybiBjb25zdCBz dHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcV9laVtdOwor K2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3Rl bmVyX3Jlc3BfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJl Z19yZXN0YXJ0X3BkX3JlcV9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5m byBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVzcF9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1p X2VsZW1faW5mbyBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2VpW107CisrZXh0ZXJuIGNvbnN0 IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXFfZWlbXTsKKytleHRlcm4g Y29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXTsKKyAK KyAjZW5kaWYKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21zZy5jIGIv ZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAwMC4uOWI0NmY0MmFhMTQ2CistLS0gL2Rldi9udWxsCisrKysgYi9kcml2 ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21zZy5jCitAQCAtMCwwICsxLDMxOSBAQAorKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCisrLyoKKysgKiBDb3B5cmlnaHQgKEMpIDIwMjAg VGhlIExpbnV4IEZvdW5kYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICovCisrCisrI2lu Y2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorKyNpbmNsdWRlIDxsaW51eC9zb2MvcWNvbS9xbWkuaD4K KysKKysjaW5jbHVkZSAicGRyX2ludGVybmFsLmgiCisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19sb2NhdGlvbl9lbnRyeV9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBl ICAgICAgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xF TkdUSCArIDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlf dHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMCwKKysJCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorKwkJCQkJICAg bmFtZSksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF80X0JZ VEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9m KHUzMiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0g MCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0aW9u X2VudHJ5LAorKwkJCQkJICAgaW5zdGFuY2UpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAg ICAgPSBRTUlfVU5TSUdORURfMV9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5l bGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAor KwkJLnRsdl90eXBlICAgICAgID0gMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0 cnVjdCBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5LAorKwkJCQkJICAgc2VydmljZV9kYXRhX3ZhbGlk KSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwK KysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMy KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAwLAor KwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50 cnksCisrCQkJCQkgICBzZXJ2aWNlX2RhdGEpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZ TUJPTF9HUEwoc2VydnJlZ19sb2NhdGlvbl9lbnRyeV9laSk7CisrCisrY29uc3Qgc3RydWN0IHFt aV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpW10gPSB7CisrCXsKKysJ CS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAgICAgPSBTRVJW UkVHX05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwK KysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAor KwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9s aXN0X3JlcSwKKysJCQkJCSAgIHNlcnZpY2VfbmFtZSksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5 cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxl bV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJ CS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorKwkJCQkJICAgZG9tYWluX29mZnNl dF92YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF80 X0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6 ZW9mKHUzMiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAg ID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dl dF9kb21haW5fbGlzdF9yZXEsCisrCQkJCQkgICBkb21haW5fb2Zmc2V0KSwKKysJfSwKKysJe30K Kyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcV9laSk7 CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3Rf cmVzcF9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorKwkJ LmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3Qg cW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQku dGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3Ry dWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCisrCQkJCQkgICByZXNwKSwKKysJCS5l aV9hcnJheSAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorKwl9LAorKwl7CisrCQku ZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAor KwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJS QVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCisrCQkJCQkgICB0b3Rh bF9kb21haW5zX3ZhbGlkKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VO U0lHTkVEXzJfQllURSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2YodTE2KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5 cGUgICAgICAgPSAweDEwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNl cnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCisrCQkJCQkgICB0b3RhbF9kb21haW5zKSwKKysJ fSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVu ICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlf dHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMSwKKysJCS5vZmZzZXQg ICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAor KwkJCQkJICAgZGJfcmV2X2NvdW50X3ZhbGlkKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAg ICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQku ZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVks CisrCQkudGx2X3R5cGUgICAgICAgPSAweDExLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0 b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCisrCQkJCQkgICBkYl9yZXZf Y291bnQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCisr CQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwK KysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEyLAor KwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9s aXN0X3Jlc3AsCisrCQkJCQkgICBkb21haW5fbGlzdF92YWxpZCksCisrCX0sCisrCXsKKysJCS5k YXRhX3R5cGUgICAgICA9IFFNSV9EQVRBX0xFTiwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisr CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKysJCQkJCSAgIGRvbWFp bl9saXN0X2xlbiksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1Qs CisrCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSCwKKysJCS5l bGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSksCisr CQkuYXJyYXlfdHlwZQk9IFZBUl9MRU5fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEy LAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFp bl9saXN0X3Jlc3AsCisrCQkJCQkgICBkb21haW5fbGlzdCksCisrCQkuZWlfYXJyYXkgICAgICA9 IHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lN Qk9MX0dQTChzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwX2VpKTsKKysKKytjb25zdCBzdHJ1 Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcV9laVtdID0gewor Kwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMV9CWVRFLAorKwkJLmVsZW1f bGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJy YXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKysJCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jl cSwKKysJCQkJCSAgIGVuYWJsZSksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFN SV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwK KysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJheV90eXBlCT0gTk9f QVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNldCAgICAgICAgID0g b2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxLAorKwkJCQkJICAg c2VydmljZV9wYXRoKSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZy ZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1f aW5mbyBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3BfZWlbXSA9IHsKKysJeworKwkJLmRh dGFfdHlwZSAgICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQku ZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCisr CQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJ CS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3Rl bmVyX3Jlc3AsCisrCQkJCQkgICByZXNwKSwKKysJCS5laV9hcnJheSAgICAgID0gcW1pX3Jlc3Bv bnNlX3R5cGVfdjAxX2VpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BU X0ZMQUcsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6 ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAg PSAweDEwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVn aXN0ZXJfbGlzdGVuZXJfcmVzcCwKKysJCQkJCSAgIGN1cnJfc3RhdGVfdmFsaWQpLAorKwl9LAor Kwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU0lHTkVEXzRfQllURV9FTlVNLAorKwkJLmVs ZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihlbnVtIHNlcnZy ZWdfc2VydmljZV9zdGF0ZSksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90 eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBz ZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AsCisrCQkJCQkgICBjdXJyX3N0YXRlKSwKKysJ fSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVu ZXJfcmVzcF9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZXN0 YXJ0X3BkX3JlcV9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5H LAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxl bV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAor KwkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9m KHN0cnVjdCBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxLAorKwkJCQkJICAgc2VydmljZV9wYXRoKSwK KysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfcmVzdGFydF9wZF9y ZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9w ZF9yZXNwX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCisr CQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVj dCBxbWlfcmVzcG9uc2VfdHlwZV92MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJ CS50bHZfdHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3AsCisrCQkJCQkgICByZXNwKSwKKysJCS5laV9h cnJheSAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorKwl9LAorKwl7fQorK307Cisr RVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3BfZWkpOworKworK2NvbnN0 IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmRfZWlbXSA9IHsK KysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NJR05FRF80X0JZVEVfRU5VTSwKKysJCS5l bGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKysJ CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAxLAorKwkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9p bmQsCisrCQkJCQkgICBjdXJyX3N0YXRlKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEgg KyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJ PSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAg ICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwKKysJCQkJCSAg IHNlcnZpY2VfcGF0aCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJ R05FRF8yX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAg ID0gc2l6ZW9mKHUxNiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBl ICAgICAgID0gMHgwMywKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2 cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorKwkJCQkJICAgdHJhbnNhY3Rpb25faWQpLAorKwl9LAor Kwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9l aSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3JlcV9l aVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1f bGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXplICAgICAg PSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBl ICAgICAgID0gMHgwMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2 cmVnX3NldF9hY2tfcmVxLAorKwkJCQkJICAgc2VydmljZV9wYXRoKSwKKysJfSwKKysJeworKwkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKysJCS5lbGVtX2xlbiAgICAg ICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKysJCS5hcnJheV90eXBl CT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNldCAgICAg ICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc2V0X2Fja19yZXEsCisrCQkJCQkgICB0cmFu c2FjdGlvbl9pZCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVn X3NldF9hY2tfcmVxX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVn X3NldF9hY2tfcmVzcF9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RS VUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVv ZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJS QVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfc2V0X2Fja19yZXNwLAorKwkJCQkJICAgcmVzcCksCisrCQku ZWlfYXJyYXkgICAgICAgPSBxbWlfcmVzcG9uc2VfdHlwZV92MDFfZWksCisrCX0sCisrCXt9Cisr fTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3NldF9hY2tfcmVzcF9laSk7CisrCisrTU9E VUxFX0xJQ0VOU0UoIkdQTCIpOworK01PRFVMRV9ERVNDUklQVElPTigiUXVhbGNvbW0gUHJvdGVj dGlvbiBEb21haW4gbWVzc2FnZXMgZGF0YSIpOworCitGcm9tOiBEbWl0cnkgQmFyeXNoa292IDxk bWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CitEYXRlOiBTYXQsIDIyIEp1biAyMDI0IDAxOjAz OjQzICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggdjkgNC81XSBzb2M6IHFjb206IGFkZCBwZC1tYXBw ZXIgaW1wbGVtZW50YXRpb24KKworRXhpc3RpbmcgdXNlcnNwYWNlIHByb3RlY3Rpb24gZG9tYWlu IG1hcHBlciBpbXBsZW1lbnRhdGlvbiBoYXMgc2V2ZXJhbAoraXNzdWUuIEl0IGRvZXNuJ3QgcGxh eSB3ZWxsIHdpdGggQ09ORklHX0VYVFJBX0ZJUk1XQVJFLCBpdCBkb2Vzbid0CityZXJlYWQgSlNP TiBmaWxlcyBpZiBmaXJtd2FyZSBsb2NhdGlvbiBpcyBjaGFuZ2VkIChvciBpZiBmaXJtd2FyZSB3 YXMKK25vdCBhdmFpbGFibGUgYXQgdGhlIHRpbWUgcGQtbWFwcGVyIHdhcyBzdGFydGVkIGJ1dCB0 aGUgY29ycmVzcG9uZGluZworZGlyZWN0b3J5IGlzIG1vdW50ZWQgbGF0ZXIpLCBldGMuCisKK1By b3ZpZGUgaW4ta2VybmVsIHNlcnZpY2UgaW1wbGVtZW50aW5nIHByb3RlY3Rpb24gZG9tYWluIG1h cHBpbmcKK3JlcXVpcmVkIHRvIHdvcmsgd2l0aCBzZXZlcmFsIHNlcnZpY2VzLCB3aGljaCBhcmUg cHJvdmlkZWQgYnkgdGhlIERTUAorZmlybXdhcmUuCisKK1RoaXMgbW9kdWxlIGlzIGxvYWRlZCBh dXRvbWF0aWNhbGx5IGJ5IHRoZSByZW1vdGVwcm9jIGRyaXZlcnMgd2hlbgorbmVjZXNzYXJ5IHZp YSB0aGUgc3ltYm9sIGRlcGVuZGVuY3kuIEl0IHVzZXMgYSByb290IG5vZGUgdG8gbWF0Y2ggYQor cHJvdGVjdGlvbiBkb21haW5zIG1hcCBmb3IgYSBwYXJ0aWN1bGFyIGJvYXJkLiBJdCBpcyBub3Qg cG9zc2libGUgdG8KK2ltcGxlbWVudCBpdCBhcyBhICdkcml2ZXInIGFzIHRoZXJlIGlzIG5vIGNv cnJlc3BvbmRpbmcgZGV2aWNlLgorCitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3Rl ZXZAa2FsaS5vcmc+CitUZXN0ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8YWxleGV5bWluQHBv c3RtYXJrZXRvcy5vcmc+CitSZXZpZXdlZC1ieTogQ2hyaXMgTGV3IDxxdWljX2NsZXdAcXVpY2lu Yy5jb20+CitUZXN0ZWQtYnk6IE5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8u b3JnPiAjIG9uIFNNODU1MC1RUkQKK1NpZ25lZC1vZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3YgPGRt aXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KKy0tLQorIGRyaXZlcnMvc29jL3Fjb20vS2NvbmZp ZyAgICAgICAgICB8ICAxMSArCisgZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZSAgICAgICAgIHwg ICAxICsKKyBkcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcm5hbC5oICAgfCAgMTQgKworIGRyaXZl cnMvc29jL3Fjb20vcWNvbV9wZF9tYXBwZXIuYyB8IDY3NiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKworIGRyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMgICB8ICAz NCArKworIDUgZmlsZXMgY2hhbmdlZCwgNzM2IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBh L2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZyBiL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZworaW5k ZXggOTU5NzNjNmI4MjhmLi4wYTJmMmJmZDc4NjMgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9x Y29tL0tjb25maWcKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZworQEAgLTcyLDYgKzcy LDE3IEBAIGNvbmZpZyBRQ09NX09DTUVNCisgCSAgcmVxdWlyZW1lbnRzLiBUaGlzIGlzIHR5cGlj YWxseSB1c2VkIGJ5IHRoZSBHUFUsIGNhbWVyYS92aWRlbywgYW5kCisgCSAgYXVkaW8gY29tcG9u ZW50cyBvbiBzb21lIFNuYXBkcmFnb24gU29Dcy4KKyAKKytjb25maWcgUUNPTV9QRF9NQVBQRVIK KysJdHJpc3RhdGUgIlF1YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIE1hcHBlciIKKysJc2VsZWN0 IFFDT01fUU1JX0hFTFBFUlMKKysJZGVwZW5kcyBvbiBORVQgJiYgUVJUUgorKwlkZWZhdWx0IFFD T01fUlBST0NfQ09NTU9OCisrCWhlbHAKKysJICBUaGUgUHJvdGVjdGlvbiBEb21haW4gTWFwcGVy IG1hcHMgcmVnaXN0ZXJlZCBzZXJ2aWNlcyB0byB0aGUgZG9tYWlucworKwkgIGFuZCBpbnN0YW5j ZXMgaGFuZGxlZCBieSB0aGUgcmVtb3RlIERTUHMuIFRoaXMgaXMgYSBrZXJuZWwtc3BhY2UKKysJ ICBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgc2VydmljZS4gSXQgaXMgYSBzaW1wbGVyIGFsdGVybmF0 aXZlIHRvIHRoZQorKwkgIHVzZXJzcGFjZSBkYWVtb24uCisrCisgY29uZmlnIFFDT01fUERSX0hF TFBFUlMKKyAJdHJpc3RhdGUKKyAJc2VsZWN0IFFDT01fUU1JX0hFTFBFUlMKK2RpZmYgLS1naXQg YS9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlIGIvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQor aW5kZXggMzExMGFjMzI4OGJjLi5kMzU2MGY4NjEwODUgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3Nv Yy9xY29tL01ha2VmaWxlCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCitAQCAtNyw2 ICs3LDcgQEAgb2JqLSQoQ09ORklHX1FDT01fQ09NTUFORF9EQikgKz0gY21kLWRiLm8KKyBvYmot JChDT05GSUdfUUNPTV9HU0JJKQkrPQlxY29tX2dzYmkubworIG9iai0kKENPTkZJR19RQ09NX01E VF9MT0FERVIpCSs9IG1kdF9sb2FkZXIubworIG9iai0kKENPTkZJR19RQ09NX09DTUVNKQkrPSBv Y21lbS5vCisrb2JqLSQoQ09ORklHX1FDT01fUERfTUFQUEVSKQkrPSBxY29tX3BkX21hcHBlci5v Cisgb2JqLSQoQ09ORklHX1FDT01fUERSX0hFTFBFUlMpCSs9IHBkcl9pbnRlcmZhY2UubworIG9i ai0kKENPTkZJR19RQ09NX1BEUl9NU0cpCSs9IHFjb21fcGRyX21zZy5vCisgb2JqLSQoQ09ORklH X1FDT01fUE1JQ19HTElOSykJKz0gcG1pY19nbGluay5vCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9z b2MvcWNvbS9wZHJfaW50ZXJuYWwuaCBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgK K2luZGV4IDdlNWJiNWE5NTI3NS4uOGQxN2Y3ZmI3OWU3IDEwMDY0NAorLS0tIGEvZHJpdmVycy9z b2MvcWNvbS9wZHJfaW50ZXJuYWwuaAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJu YWwuaAorQEAgLTEzLDYgKzEzLDggQEAKKyAjZGVmaW5lIFNFUlZSRUdfU0VUX0FDS19SRVEJCQkJ MHgyMworICNkZWZpbmUgU0VSVlJFR19SRVNUQVJUX1BEX1JFUQkJCQkweDI0CisgCisrI2RlZmlu ZSBTRVJWUkVHX0xPQ19QRlJfUkVRCQkJCTB4MjQKKysKKyAjZGVmaW5lIFNFUlZSRUdfRE9NQUlO X0xJU1RfTEVOR1RICQkJMzIKKyAjZGVmaW5lIFNFUlZSRUdfUkVTVEFSVF9QRF9SRVFfTUFYX0xF TgkJCTY3CisgI2RlZmluZSBTRVJWUkVHX1JFR0lTVEVSX0xJU1RFTkVSX1JFUV9MRU4JCTcxCitA QCAtMjAsNiArMjIsNyBAQAorICNkZWZpbmUgU0VSVlJFR19HRVRfRE9NQUlOX0xJU1RfUkVRX01B WF9MRU4JCTc0CisgI2RlZmluZSBTRVJWUkVHX1NUQVRFX1VQREFURURfSU5EX01BWF9MRU4JCTc5 CisgI2RlZmluZSBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVNQX01BWF9MRU4JCTIzODkKKysj ZGVmaW5lIFNFUlZSRUdfTE9DX1BGUl9SRVNQX01BWF9MRU4JCQkxMAorIAorIHN0cnVjdCBzZXJ2 cmVnX2xvY2F0aW9uX2VudHJ5IHsKKyAJY2hhciBuYW1lW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAx XTsKK0BAIC03OSw2ICs4MiwxNSBAQCBzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3Jlc3AgeworIAlz dHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgfTsKKyAKKytzdHJ1Y3Qgc2VydnJl Z19sb2NfcGZyX3JlcSB7CisrCWNoYXIgc2VydmljZVtTRVJWUkVHX05BTUVfTEVOR1RIICsgMV07 CisrCWNoYXIgcmVhc29uWzI1N107CisrfTsKKysKKytzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jl c3AgeworKwlzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJzcDsKKyt9OworKworIGV4dGVy biBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpW107 CisgZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9s aXN0X3JlcV9laVtdOworIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXNwX2VpW107CitAQCAtODksNSArMTAxLDcgQEAgZXh0ZXJuIGNv bnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwX2VpW107Cisg ZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9p bmRfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zZXRf YWNrX3JlcV9laVtdOworIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVn X3NldF9hY2tfcmVzcF9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBz ZXJ2cmVnX2xvY19wZnJfcmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9p bmZvIHNlcnZyZWdfbG9jX3Bmcl9yZXNwX2VpW107CisgCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEv ZHJpdmVycy9zb2MvcWNvbS9xY29tX3BkX21hcHBlci5jIGIvZHJpdmVycy9zb2MvcWNvbS9xY29t X3BkX21hcHBlci5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAwLi5l Y2I2NGYwNjUyN2YKKy0tLSAvZGV2L251bGwKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9w ZF9tYXBwZXIuYworQEAgLTAsMCArMSw2NzYgQEAKKysvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vbmx5CisrLyoKKysgKiBRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFpbiBtYXBw ZXIKKysgKgorKyAqIENvcHlyaWdodCAoYykgMjAyMyBMaW5hcm8gTHRkLgorKyAqLworKworKyNp bmNsdWRlIDxsaW51eC9hdXhpbGlhcnlfYnVzLmg+CisrI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5o PgorKyNpbmNsdWRlIDxsaW51eC9tb2RfZGV2aWNldGFibGUuaD4KKysjaW5jbHVkZSA8bGludXgv bW9kdWxlLmg+CisrI2luY2x1ZGUgPGxpbnV4L29mLmg+CisrI2luY2x1ZGUgPGxpbnV4L3JlZmNv dW50Lmg+CisrI2luY2x1ZGUgPGxpbnV4L3NvYy9xY29tL3FtaS5oPgorKworKyNpbmNsdWRlICJw ZHJfaW50ZXJuYWwuaCIKKysKKysjZGVmaW5lIFNFUlZSRUdfUU1JX1ZFUlNJT04gMHgxMDEKKysj ZGVmaW5lIFNFUlZSRUdfUU1JX0lOU1RBTkNFIDAKKysKKysjZGVmaW5lIFRNU19TRVJWUkVHX1NF UlZJQ0UgInRtcy9zZXJ2cmVnIgorKworK3N0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSB7Cisr CWNvbnN0IGNoYXIgKmRvbWFpbjsKKysJdTMyIGluc3RhbmNlX2lkOworKwkvKiBOVUxMLXRlcm1p bmF0ZWQgYXJyYXkgKi8KKysJY29uc3QgY2hhciAqIHNlcnZpY2VzW107CisrfTsKKysKKytzdHJ1 Y3QgcWNvbV9wZG1fZG9tYWluIHsKKysJc3RydWN0IGxpc3RfaGVhZCBsaXN0OworKwljb25zdCBj aGFyICpuYW1lOworKwl1MzIgaW5zdGFuY2VfaWQ7CisrfTsKKysKKytzdHJ1Y3QgcWNvbV9wZG1f c2VydmljZSB7CisrCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKKysJc3RydWN0IGxpc3RfaGVhZCBk b21haW5zOworKwljb25zdCBjaGFyICpuYW1lOworK307CisrCisrc3RydWN0IHFjb21fcGRtX2Rh dGEgeworKwlyZWZjb3VudF90IHJlZmNudDsKKysJc3RydWN0IHFtaV9oYW5kbGUgaGFuZGxlOwor KwlzdHJ1Y3QgbGlzdF9oZWFkIHNlcnZpY2VzOworK307CisrCisrc3RhdGljIERFRklORV9NVVRF WChxY29tX3BkbV9tdXRleCk7IC8qIHByb3RlY3RzIF9fcWNvbV9wZG1fZGF0YSAqLworK3N0YXRp YyBzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqX19xY29tX3BkbV9kYXRhOworKworK3N0YXRpYyBzdHJ1 Y3QgcWNvbV9wZG1fc2VydmljZSAqcWNvbV9wZG1fZmluZChzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAq ZGF0YSwKKysJCQkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUpCisreworKwlzdHJ1Y3QgcWNvbV9w ZG1fc2VydmljZSAqc2VydmljZTsKKysKKysJbGlzdF9mb3JfZWFjaF9lbnRyeShzZXJ2aWNlLCAm ZGF0YS0+c2VydmljZXMsIGxpc3QpIHsKKysJCWlmICghc3RyY21wKHNlcnZpY2UtPm5hbWUsIG5h bWUpKQorKwkJCXJldHVybiBzZXJ2aWNlOworKwl9CisrCisrCXJldHVybiBOVUxMOworK30KKysK KytzdGF0aWMgaW50IHFjb21fcGRtX2FkZF9zZXJ2aWNlX2RvbWFpbihzdHJ1Y3QgcWNvbV9wZG1f ZGF0YSAqZGF0YSwKKysJCQkJICAgICAgIGNvbnN0IGNoYXIgKnNlcnZpY2VfbmFtZSwKKysJCQkJ ICAgICAgIGNvbnN0IGNoYXIgKmRvbWFpbl9uYW1lLAorKwkJCQkgICAgICAgdTMyIGluc3RhbmNl X2lkKQorK3sKKysJc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgKnNlcnZpY2U7CisrCXN0cnVjdCBx Y29tX3BkbV9kb21haW4gKmRvbWFpbjsKKysKKysJc2VydmljZSA9IHFjb21fcGRtX2ZpbmQoZGF0 YSwgc2VydmljZV9uYW1lKTsKKysJaWYgKHNlcnZpY2UpIHsKKysJCWxpc3RfZm9yX2VhY2hfZW50 cnkoZG9tYWluLCAmc2VydmljZS0+ZG9tYWlucywgbGlzdCkgeworKwkJCWlmICghc3RyY21wKGRv bWFpbi0+bmFtZSwgZG9tYWluX25hbWUpKQorKwkJCQlyZXR1cm4gLUVCVVNZOworKwkJfQorKwl9 IGVsc2UgeworKwkJc2VydmljZSA9IGt6YWxsb2Moc2l6ZW9mKCpzZXJ2aWNlKSwgR0ZQX0tFUk5F TCk7CisrCQlpZiAoIXNlcnZpY2UpCisrCQkJcmV0dXJuIC1FTk9NRU07CisrCisrCQlJTklUX0xJ U1RfSEVBRCgmc2VydmljZS0+ZG9tYWlucyk7CisrCQlzZXJ2aWNlLT5uYW1lID0gc2VydmljZV9u YW1lOworKworKwkJbGlzdF9hZGRfdGFpbCgmc2VydmljZS0+bGlzdCwgJmRhdGEtPnNlcnZpY2Vz KTsKKysJfQorKworKwlkb21haW4gPSBremFsbG9jKHNpemVvZigqZG9tYWluKSwgR0ZQX0tFUk5F TCk7CisrCWlmICghZG9tYWluKSB7CisrCQlpZiAobGlzdF9lbXB0eSgmc2VydmljZS0+ZG9tYWlu cykpIHsKKysJCQlsaXN0X2RlbCgmc2VydmljZS0+bGlzdCk7CisrCQkJa2ZyZWUoc2VydmljZSk7 CisrCQl9CisrCisrCQlyZXR1cm4gLUVOT01FTTsKKysJfQorKworKwlkb21haW4tPm5hbWUgPSBk b21haW5fbmFtZTsKKysJZG9tYWluLT5pbnN0YW5jZV9pZCA9IGluc3RhbmNlX2lkOworKwlsaXN0 X2FkZF90YWlsKCZkb21haW4tPmxpc3QsICZzZXJ2aWNlLT5kb21haW5zKTsKKysKKysJcmV0dXJu IDA7CisrfQorKworK3N0YXRpYyBpbnQgcWNvbV9wZG1fYWRkX2RvbWFpbihzdHJ1Y3QgcWNvbV9w ZG1fZGF0YSAqZGF0YSwKKysJCQkgICAgICAgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9k YXRhICpkb21haW4pCisreworKwlpbnQgcmV0OworKwlpbnQgaTsKKysKKysJcmV0ID0gcWNvbV9w ZG1fYWRkX3NlcnZpY2VfZG9tYWluKGRhdGEsCisrCQkJCQkgIFRNU19TRVJWUkVHX1NFUlZJQ0Us CisrCQkJCQkgIGRvbWFpbi0+ZG9tYWluLAorKwkJCQkJICBkb21haW4tPmluc3RhbmNlX2lkKTsK KysJaWYgKHJldCkKKysJCXJldHVybiByZXQ7CisrCisrCWZvciAoaSA9IDA7IGRvbWFpbi0+c2Vy dmljZXNbaV07IGkrKykgeworKwkJcmV0ID0gcWNvbV9wZG1fYWRkX3NlcnZpY2VfZG9tYWluKGRh dGEsCisrCQkJCQkJICBkb21haW4tPnNlcnZpY2VzW2ldLAorKwkJCQkJCSAgZG9tYWluLT5kb21h aW4sCisrCQkJCQkJICBkb21haW4tPmluc3RhbmNlX2lkKTsKKysJCWlmIChyZXQpCisrCQkJcmV0 dXJuIHJldDsKKysJfQorKworKwlyZXR1cm4gMDsKKysKKyt9CisrCisrc3RhdGljIHZvaWQgcWNv bV9wZG1fZnJlZV9kb21haW5zKHN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhKQorK3sKKysJc3Ry dWN0IHFjb21fcGRtX3NlcnZpY2UgKnNlcnZpY2UsICp0c2VydmljZTsKKysJc3RydWN0IHFjb21f cGRtX2RvbWFpbiAqZG9tYWluLCAqdGRvbWFpbjsKKysKKysJbGlzdF9mb3JfZWFjaF9lbnRyeV9z YWZlKHNlcnZpY2UsIHRzZXJ2aWNlLCAmZGF0YS0+c2VydmljZXMsIGxpc3QpIHsKKysJCWxpc3Rf Zm9yX2VhY2hfZW50cnlfc2FmZShkb21haW4sIHRkb21haW4sICZzZXJ2aWNlLT5kb21haW5zLCBs aXN0KSB7CisrCQkJbGlzdF9kZWwoJmRvbWFpbi0+bGlzdCk7CisrCQkJa2ZyZWUoZG9tYWluKTsK KysJCX0KKysKKysJCWxpc3RfZGVsKCZzZXJ2aWNlLT5saXN0KTsKKysJCWtmcmVlKHNlcnZpY2Up OworKwl9CisrfQorKworK3N0YXRpYyB2b2lkIHFjb21fcGRtX2dldF9kb21haW5fbGlzdChzdHJ1 Y3QgcW1pX2hhbmRsZSAqcW1pLAorKwkJCQkgICAgIHN0cnVjdCBzb2NrYWRkcl9xcnRyICpzcSwK KysJCQkJICAgICBzdHJ1Y3QgcW1pX3R4biAqdHhuLAorKwkJCQkgICAgIGNvbnN0IHZvaWQgKmRl Y29kZWQpCisreworKwlzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YSA9IGNvbnRhaW5lcl9vZihx bWksIHN0cnVjdCBxY29tX3BkbV9kYXRhLCBoYW5kbGUpOworKwljb25zdCBzdHJ1Y3Qgc2VydnJl Z19nZXRfZG9tYWluX2xpc3RfcmVxICpyZXEgPSBkZWNvZGVkOworKwlzdHJ1Y3Qgc2VydnJlZ19n ZXRfZG9tYWluX2xpc3RfcmVzcCAqcnNwOworKwlzdHJ1Y3QgcWNvbV9wZG1fc2VydmljZSAqc2Vy dmljZTsKKysJdTMyIG9mZnNldDsKKysJaW50IHJldDsKKysKKysJcnNwID0ga3phbGxvYyhzaXpl b2YoKnJzcCksIEdGUF9LRVJORUwpOworKwlpZiAoIXJzcCkKKysJCXJldHVybjsKKysKKysJb2Zm c2V0ID0gcmVxLT5kb21haW5fb2Zmc2V0X3ZhbGlkID8gcmVxLT5kb21haW5fb2Zmc2V0IDogMDsK KysKKysJcnNwLT5yZXNwLnJlc3VsdCA9IFFNSV9SRVNVTFRfU1VDQ0VTU19WMDE7CisrCXJzcC0+ cmVzcC5lcnJvciA9IFFNSV9FUlJfTk9ORV9WMDE7CisrCisrCXJzcC0+ZGJfcmV2X2NvdW50X3Zh bGlkID0gdHJ1ZTsKKysJcnNwLT5kYl9yZXZfY291bnQgPSAxOworKworKwlyc3AtPnRvdGFsX2Rv bWFpbnNfdmFsaWQgPSB0cnVlOworKwlyc3AtPnRvdGFsX2RvbWFpbnMgPSAwOworKworKwltdXRl eF9sb2NrKCZxY29tX3BkbV9tdXRleCk7CisrCisrCXNlcnZpY2UgPSBxY29tX3BkbV9maW5kKGRh dGEsIHJlcS0+c2VydmljZV9uYW1lKTsKKysJaWYgKHNlcnZpY2UpIHsKKysJCXN0cnVjdCBxY29t X3BkbV9kb21haW4gKmRvbWFpbjsKKysKKysJCXJzcC0+ZG9tYWluX2xpc3RfdmFsaWQgPSB0cnVl OworKwkJcnNwLT5kb21haW5fbGlzdF9sZW4gPSAwOworKworKwkJbGlzdF9mb3JfZWFjaF9lbnRy eShkb21haW4sICZzZXJ2aWNlLT5kb21haW5zLCBsaXN0KSB7CisrCQkJdTMyIGkgPSByc3AtPnRv dGFsX2RvbWFpbnMrKzsKKysKKysJCQlpZiAoaSA+PSBvZmZzZXQgJiYgaSA8IFNFUlZSRUdfRE9N QUlOX0xJU1RfTEVOR1RIKSB7CisrCQkJCXUzMiBqID0gcnNwLT5kb21haW5fbGlzdF9sZW4rKzsK KysKKysJCQkJc3Ryc2NweShyc3AtPmRvbWFpbl9saXN0W2pdLm5hbWUsIGRvbWFpbi0+bmFtZSwK KysJCQkJCXNpemVvZihyc3AtPmRvbWFpbl9saXN0W2ldLm5hbWUpKTsKKysJCQkJcnNwLT5kb21h aW5fbGlzdFtqXS5pbnN0YW5jZSA9IGRvbWFpbi0+aW5zdGFuY2VfaWQ7CisrCisrCQkJCXByX2Rl YnVnKCJQRE06IGZvdW5kICVzIC8gJWRcbiIsIGRvbWFpbi0+bmFtZSwKKysJCQkJCSBkb21haW4t Pmluc3RhbmNlX2lkKTsKKysJCQl9CisrCQl9CisrCX0KKysKKysJcHJfZGVidWcoIlBETTogc2Vy dmljZSAnJXMnIG9mZnNldCAlZCByZXR1cm5pbmcgJWQgZG9tYWlucyAob2YgJWQpXG4iLCByZXEt PnNlcnZpY2VfbmFtZSwKKysJCSByZXEtPmRvbWFpbl9vZmZzZXRfdmFsaWQgPyByZXEtPmRvbWFp bl9vZmZzZXQgOiAtMSwgcnNwLT5kb21haW5fbGlzdF9sZW4sIHJzcC0+dG90YWxfZG9tYWlucyk7 CisrCisrCXJldCA9IHFtaV9zZW5kX3Jlc3BvbnNlKHFtaSwgc3EsIHR4biwgU0VSVlJFR19HRVRf RE9NQUlOX0xJU1RfUkVRLAorKwkJCQlTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVNQX01BWF9M RU4sCisrCQkJCXNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWksIHJzcCk7CisrCWlmIChy ZXQpCisrCQlwcl9lcnIoIkVycm9yIHNlbmRpbmcgc2VydnJlZyByZXNwb25zZTogJWRcbiIsIHJl dCk7CisrCisrCW11dGV4X3VubG9jaygmcWNvbV9wZG1fbXV0ZXgpOworKworKwlrZnJlZShyc3Ap OworK30KKysKKytzdGF0aWMgdm9pZCBxY29tX3BkbV9wZnIoc3RydWN0IHFtaV9oYW5kbGUgKnFt aSwKKysJCQkgc3RydWN0IHNvY2thZGRyX3FydHIgKnNxLAorKwkJCSBzdHJ1Y3QgcW1pX3R4biAq dHhuLAorKwkJCSBjb25zdCB2b2lkICpkZWNvZGVkKQorK3sKKysJY29uc3Qgc3RydWN0IHNlcnZy ZWdfbG9jX3Bmcl9yZXEgKnJlcSA9IGRlY29kZWQ7CisrCXN0cnVjdCBzZXJ2cmVnX2xvY19wZnJf cmVzcCByc3AgPSB7fTsKKysJaW50IHJldDsKKysKKysJcHJfd2Fybl9yYXRlbGltaXRlZCgiUERN OiBzZXJ2aWNlICclcycgY3Jhc2g6ICclcydcbiIsIHJlcS0+c2VydmljZSwgcmVxLT5yZWFzb24p OworKworKwlyc3AucnNwLnJlc3VsdCA9IFFNSV9SRVNVTFRfU1VDQ0VTU19WMDE7CisrCXJzcC5y c3AuZXJyb3IgPSBRTUlfRVJSX05PTkVfVjAxOworKworKwlyZXQgPSBxbWlfc2VuZF9yZXNwb25z ZShxbWksIHNxLCB0eG4sIFNFUlZSRUdfTE9DX1BGUl9SRVEsCisrCQkJCVNFUlZSRUdfTE9DX1BG Ul9SRVNQX01BWF9MRU4sCisrCQkJCXNlcnZyZWdfbG9jX3Bmcl9yZXNwX2VpLCAmcnNwKTsKKysJ aWYgKHJldCkKKysJCXByX2VycigiRXJyb3Igc2VuZGluZyBzZXJ2cmVnIHJlc3BvbnNlOiAlZFxu IiwgcmV0KTsKKyt9CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfbXNnX2hhbmRsZXIgcWNv bV9wZG1fbXNnX2hhbmRsZXJzW10gPSB7CisrCXsKKysJCS50eXBlID0gUU1JX1JFUVVFU1QsCisr CQkubXNnX2lkID0gU0VSVlJFR19HRVRfRE9NQUlOX0xJU1RfUkVRLAorKwkJLmVpID0gc2VydnJl Z19nZXRfZG9tYWluX2xpc3RfcmVxX2VpLAorKwkJLmRlY29kZWRfc2l6ZSA9IHNpemVvZihzdHJ1 Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxKSwKKysJCS5mbiA9IHFjb21fcGRtX2dldF9k b21haW5fbGlzdCwKKysJfSwKKysJeworKwkJLnR5cGUgPSBRTUlfUkVRVUVTVCwKKysJCS5tc2df aWQgPSBTRVJWUkVHX0xPQ19QRlJfUkVRLAorKwkJLmVpID0gc2VydnJlZ19sb2NfcGZyX3JlcV9l aSwKKysJCS5kZWNvZGVkX3NpemUgPSBzaXplb2Yoc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEp LAorKwkJLmZuID0gcWNvbV9wZG1fcGZyLAorKwl9LAorKwl7IH0sCisrfTsKKysKKytzdGF0aWMg Y29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGFkc3BfYXVkaW9fcGQgPSB7CisrCS5k b21haW4gPSAibXNtL2Fkc3AvYXVkaW9fcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNl cnZpY2VzID0geworKwkJImF2cy9hdWRpbyIsCisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3Rh dGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBhZHNwX2NoYXJnZXJfcGQgPSB7 CisrCS5kb21haW4gPSAibXNtL2Fkc3AvY2hhcmdlcl9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDc0 LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg cWNvbV9wZG1fZG9tYWluX2RhdGEgYWRzcF9yb290X3BkID0geworKwkuZG9tYWluID0gIm1zbS9h ZHNwL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNlcnZpY2VzID0geyBOVUxM IH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGFk c3Bfcm9vdF9wZF9wZHIgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3Avcm9vdF9wZCIsCisrCS5p bnN0YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7CisrCQkidG1zL3Bkcl9lbmFibGVkIiwK KysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2Rv bWFpbl9kYXRhIGFkc3Bfc2Vuc29yX3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL3NlbnNv cl9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9 OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXNtODk5Nl9h ZHNwX2F1ZGlvX3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL2F1ZGlvX3BkIiwKKysJLmlu c3RhbmNlX2lkID0gNCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMg Y29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIG1zbTg5OTZfYWRzcF9yb290X3BkID0g eworKwkuZG9tYWluID0gIm1zbS9hZHNwL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA0LAor Kwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNv bV9wZG1fZG9tYWluX2RhdGEgY2RzcF9yb290X3BkID0geworKwkuZG9tYWluID0gIm1zbS9jZHNw L3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NiwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0s CisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIHNscGlf cm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vc2xwaS9yb290X3BkIiwKKysJLmluc3RhbmNl X2lkID0gOTAsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0 IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBzbHBpX3NlbnNvcl9wZCA9IHsKKysJLmRvbWFp biA9ICJtc20vc2xwaS9zZW5zb3JfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA5MCwKKysJLnNlcnZp Y2VzID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2Rv bWFpbl9kYXRhIG1wc3Nfcm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9kZW0vcm9vdF9w ZCIsCisrCS5pbnN0YW5jZV9pZCA9IDE4MCwKKysJLnNlcnZpY2VzID0geworKwkJTlVMTCwKKysJ fSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXBz c19yb290X3BkX2dwcyA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9kZW0vcm9vdF9wZCIsCisrCS5p bnN0YW5jZV9pZCA9IDE4MCwKKysJLnNlcnZpY2VzID0geworKwkJImdwcy9ncHNfc2VydmljZSIs CisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9k b21haW5fZGF0YSBtcHNzX3Jvb3RfcGRfZ3BzX3BkciA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9k ZW0vcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDE4MCwKKysJLnNlcnZpY2VzID0geworKwkJ Imdwcy9ncHNfc2VydmljZSIsCisrCQkidG1zL3Bkcl9lbmFibGVkIiwKKysJCU5VTEwsCisrCX0s CisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIG1zbTg5 OTZfbXBzc19yb290X3BkID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290X3BkIiwKKysJ Lmluc3RhbmNlX2lkID0gMTAwLAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXBzc193bGFuX3BkID0gewor KwkuZG9tYWluID0gIm1zbS9tb2RlbS93bGFuX3BkIiwKKysJLmluc3RhbmNlX2lkID0gMTgwLAor Kwkuc2VydmljZXMgPSB7CisrCQkia2VybmVsL2VsZl9sb2FkZXIiLAorKwkJIndsYW4vZnciLAor KwkJTlVMTCwKKysJfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9t YWluX2RhdGEgKm1zbTg5OTZfZG9tYWluc1tdID0geworKwkmbXNtODk5Nl9hZHNwX2F1ZGlvX3Bk LAorKwkmbXNtODk5Nl9hZHNwX3Jvb3RfcGQsCisrCSZtc204OTk2X21wc3Nfcm9vdF9wZCwKKysJ TlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEg Km1zbTg5OThfZG9tYWluc1tdID0geworKwkmbXBzc19yb290X3BkLAorKwkmbXBzc193bGFuX3Bk LAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5f ZGF0YSAqcWNtMjI5MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9y b290X3BkLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAorKwkmbXBz c193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3Bk bV9kb21haW5fZGF0YSAqcWNzNDA0X2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisr CSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJ Jm1wc3Nfcm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRp YyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNjNzE4MF9kb21haW5zW10gPSB7 CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3Bfc2Vuc29y X3BkLAorKwkmbXBzc19yb290X3BkX2dwc19wZHIsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEws CisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzYzcy ODBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZF9wZHIs CisrCSZhZHNwX2NoYXJnZXJfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJmNkc3Bfcm9vdF9w ZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHNfcGRyLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNv bnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2M4MTgweF9kb21haW5zW10gPSB7Cisr CSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAor KwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkX2dwcywKKysJJm1wc3Nfd2xhbl9wZCwK KysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2Rh dGEgKnNjODI4MHhwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jv b3RfcGRfcGRyLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwlOVUxM LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2Rt NjYwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisr CSZhZHNwX3NlbnNvcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZCwKKysJ Jm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNv bV9wZG1fZG9tYWluX2RhdGEgKnNkbTY3MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3Bk LAorKwkmYWRzcF9yb290X3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkLAor KwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBx Y29tX3BkbV9kb21haW5fZGF0YSAqc2RtODQ1X2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9f cGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGQs CisrCSZtcHNzX3dsYW5fcGQsCisrCSZzbHBpX3Jvb3RfcGQsCisrCSZzbHBpX3NlbnNvcl9wZCwK KysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2Rh dGEgKnNtNjExNV9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290 X3BkLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3Rf cGRfZ3BzLAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0 IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc202MzUwX2RvbWFpbnNbXSA9IHsKKysJJmFk c3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJmNk c3Bfcm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBj b25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtODE1MF9kb21haW5zW10gPSB7Cisr CSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkm bXBzc19yb290X3BkX2dwcywKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtODI1MF9kb21haW5zW10g PSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmY2RzcF9yb290X3Bk LAorKwkmc2xwaV9yb290X3BkLAorKwkmc2xwaV9zZW5zb3JfcGQsCisrCU5VTEwsCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzbTgzNTBfZG9tYWlu c1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZF9wZHIsCisrCSZhZHNw X2NoYXJnZXJfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzLAorKwkm c2xwaV9yb290X3BkLAorKwkmc2xwaV9zZW5zb3JfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0 aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzbTg1NTBfZG9tYWluc1tdID0g eworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3BfY2hhcmdlcl9w ZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3Bk X2dwcywKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lk IHFjb21fcGRtX2RvbWFpbnNbXSA9IHsKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLGFwcTgwNjQi LCAuZGF0YSA9IE5VTEwsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxhcHE4MDc0IiwgLmRh dGEgPSBOVUxMLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sYXBxODA4NCIsIC5kYXRhID0g TlVMTCwgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLGFwcTgwOTYiLCAuZGF0YSA9IG1zbTg5 OTZfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLG1zbTgyMjYiLCAuZGF0YSA9 IE5VTEwsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxtc204OTc0IiwgLmRhdGEgPSBOVUxM LCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sbXNtODk5NiIsIC5kYXRhID0gbXNtODk5Nl9k b21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sbXNtODk5OCIsIC5kYXRhID0gbXNt ODk5OF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20scWNtMjI5MCIsIC5kYXRh ID0gcWNtMjI5MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20scWNzNDA0Iiwg LmRhdGEgPSBxY3M0MDRfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNjNzE4 MCIsIC5kYXRhID0gc2M3MTgwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxz YzcyODAiLCAuZGF0YSA9IHNjNzI4MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFj b20sc2M4MTgweCIsIC5kYXRhID0gc2M4MTgweF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxl ID0gInFjb20sc2M4MjgweHAiLCAuZGF0YSA9IHNjODI4MHhwX2RvbWFpbnMsIH0sCisrCXsgLmNv bXBhdGlibGUgPSAicWNvbSxzZGE2NjAiLCAuZGF0YSA9IHNkbTY2MF9kb21haW5zLCB9LAorKwl7 IC5jb21wYXRpYmxlID0gInFjb20sc2RtNjYwIiwgLmRhdGEgPSBzZG02NjBfZG9tYWlucywgfSwK KysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNkbTY3MCIsIC5kYXRhID0gc2RtNjcwX2RvbWFpbnMs IH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzZG04NDUiLCAuZGF0YSA9IHNkbTg0NV9kb21h aW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc200MjUwIiwgLmRhdGEgPSBzbTYxMTVf ZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtNjExNSIsIC5kYXRhID0gc202 MTE1X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTYzNTAiLCAuZGF0YSA9 IHNtNjM1MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204MTUwIiwgLmRh dGEgPSBzbTgxNTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtODI1MCIs IC5kYXRhID0gc204MjUwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTgz NTAiLCAuZGF0YSA9IHNtODM1MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20s c204NDUwIiwgLmRhdGEgPSBzbTgzNTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJx Y29tLHNtODU1MCIsIC5kYXRhID0gc204NTUwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUg PSAicWNvbSxzbTg2NTAiLCAuZGF0YSA9IHNtODU1MF9kb21haW5zLCB9LAorKwl7fSwKKyt9Owor KworK3N0YXRpYyB2b2lkIHFjb21fcGRtX3N0b3Aoc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEp CisreworKwlxY29tX3BkbV9mcmVlX2RvbWFpbnMoZGF0YSk7CisrCisrCS8qIFRoZSBzZXJ2ZXIg aXMgcmVtb3ZlZCBhdXRvbWF0aWNhbGx5ICovCisrCXFtaV9oYW5kbGVfcmVsZWFzZSgmZGF0YS0+ aGFuZGxlKTsKKysKKysJa2ZyZWUoZGF0YSk7CisrfQorKworK3N0YXRpYyBzdHJ1Y3QgcWNvbV9w ZG1fZGF0YSAqcWNvbV9wZG1fc3RhcnQodm9pZCkKKyt7CisrCWNvbnN0IHN0cnVjdCBxY29tX3Bk bV9kb21haW5fZGF0YSAqIGNvbnN0ICpkb21haW5zOworKwljb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNl X2lkICptYXRjaDsKKysJc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGE7CisrCXN0cnVjdCBkZXZp Y2Vfbm9kZSAqcm9vdDsKKysJaW50IHJldCwgaTsKKysKKysJcm9vdCA9IG9mX2ZpbmRfbm9kZV9i eV9wYXRoKCIvIik7CisrCWlmICghcm9vdCkKKysJCXJldHVybiBFUlJfUFRSKC1FTk9ERVYpOwor KworKwltYXRjaCA9IG9mX21hdGNoX25vZGUocWNvbV9wZG1fZG9tYWlucywgcm9vdCk7CisrCW9m X25vZGVfcHV0KHJvb3QpOworKwlpZiAoIW1hdGNoKSB7CisrCQlwcl9ub3RpY2UoIlBETTogbm8g c3VwcG9ydCBmb3IgdGhlIHBsYXRmb3JtLCB1c2Vyc3BhY2UgZGFlbW9uIG1pZ2h0IGJlIHJlcXVp cmVkLlxuIik7CisrCQlyZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKKysJfQorKworKwlkb21haW5z ID0gbWF0Y2gtPmRhdGE7CisrCWlmICghZG9tYWlucykgeworKwkJcHJfZGVidWcoIlBETTogbm8g ZG9tYWluc1xuIik7CisrCQlyZXR1cm4gRVJSX1BUUigtRU5PREVWKTsKKysJfQorKworKwlkYXRh ID0ga3phbGxvYyhzaXplb2YoKmRhdGEpLCBHRlBfS0VSTkVMKTsKKysJaWYgKCFkYXRhKQorKwkJ cmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisrCisrCUlOSVRfTElTVF9IRUFEKCZkYXRhLT5zZXJ2 aWNlcyk7CisrCisrCXJldCA9IHFtaV9oYW5kbGVfaW5pdCgmZGF0YS0+aGFuZGxlLCBTRVJWUkVH X0dFVF9ET01BSU5fTElTVF9SRVFfTUFYX0xFTiwKKysJCQkgICAgICBOVUxMLCBxY29tX3BkbV9t c2dfaGFuZGxlcnMpOworKwlpZiAocmV0KSB7CisrCQlrZnJlZShkYXRhKTsKKysJCXJldHVybiBF UlJfUFRSKHJldCk7CisrCX0KKysKKysJcmVmY291bnRfc2V0KCZkYXRhLT5yZWZjbnQsIDEpOwor KworKwlmb3IgKGkgPSAwOyBkb21haW5zW2ldOyBpKyspIHsKKysJCXJldCA9IHFjb21fcGRtX2Fk ZF9kb21haW4oZGF0YSwgZG9tYWluc1tpXSk7CisrCQlpZiAocmV0KQorKwkJCWdvdG8gZXJyX3N0 b3A7CisrCX0KKysKKysJcmV0ID0gcW1pX2FkZF9zZXJ2ZXIoJmRhdGEtPmhhbmRsZSwgU0VSVlJF R19MT0NBVE9SX1NFUlZJQ0UsCisrCQkJICAgICBTRVJWUkVHX1FNSV9WRVJTSU9OLCBTRVJWUkVH X1FNSV9JTlNUQU5DRSk7CisrCWlmIChyZXQpIHsKKysJCXByX2VycigiUERNOiBlcnJvciBhZGRp bmcgc2VydmVyICVkXG4iLCByZXQpOworKwkJZ290byBlcnJfc3RvcDsKKysJfQorKworKwlyZXR1 cm4gZGF0YTsKKysKKytlcnJfc3RvcDoKKysJcWNvbV9wZG1fc3RvcChkYXRhKTsKKysKKysJcmV0 dXJuIEVSUl9QVFIocmV0KTsKKyt9CisrCisrc3RhdGljIGludCBxY29tX3BkbV9wcm9iZShzdHJ1 Y3QgYXV4aWxpYXJ5X2RldmljZSAqYXV4ZGV2LAorKwkJCSAgY29uc3Qgc3RydWN0IGF1eGlsaWFy eV9kZXZpY2VfaWQgKmlkKQorKworK3sKKysJc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGE7Cisr CWludCByZXQgPSAwOworKworKwltdXRleF9sb2NrKCZxY29tX3BkbV9tdXRleCk7CisrCisrCWlm ICghX19xY29tX3BkbV9kYXRhKSB7CisrCQlkYXRhID0gcWNvbV9wZG1fc3RhcnQoKTsKKysKKysJ CWlmIChJU19FUlIoZGF0YSkpCisrCQkJcmV0ID0gUFRSX0VSUihkYXRhKTsKKysJCWVsc2UKKysJ CQlfX3Fjb21fcGRtX2RhdGEgPSBkYXRhOworKwl9CisrCisrCWF1eGlsaWFyeV9zZXRfZHJ2ZGF0 YShhdXhkZXYsIF9fcWNvbV9wZG1fZGF0YSk7CisrCisrCW11dGV4X3VubG9jaygmcWNvbV9wZG1f bXV0ZXgpOworKworKwlyZXR1cm4gcmV0OworK30KKysKKytzdGF0aWMgdm9pZCBxY29tX3BkbV9y ZW1vdmUoc3RydWN0IGF1eGlsaWFyeV9kZXZpY2UgKmF1eGRldikKKyt7CisrCXN0cnVjdCBxY29t X3BkbV9kYXRhICpkYXRhOworKworKwlkYXRhID0gYXV4aWxpYXJ5X2dldF9kcnZkYXRhKGF1eGRl dik7CisrCWlmICghZGF0YSkKKysJCXJldHVybjsKKysKKysJaWYgKHJlZmNvdW50X2RlY19hbmRf bXV0ZXhfbG9jaygmZGF0YS0+cmVmY250LCAmcWNvbV9wZG1fbXV0ZXgpKSB7CisrCQlfX3Fjb21f cGRtX2RhdGEgPSBOVUxMOworKwkJcWNvbV9wZG1fc3RvcChkYXRhKTsKKysJCW11dGV4X3VubG9j aygmcWNvbV9wZG1fbXV0ZXgpOworKwl9CisrfQorKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYXV4 aWxpYXJ5X2RldmljZV9pZCBxY29tX3BkbV90YWJsZVtdID0geworKwl7IC5uYW1lID0gInFjb21f Y29tbW9uLnBkLW1hcHBlciIgfSwKKysJe30sCisrfTsKKytNT0RVTEVfREVWSUNFX1RBQkxFKGF1 eGlsaWFyeSwgcWNvbV9wZG1fdGFibGUpOworKworK3N0YXRpYyBzdHJ1Y3QgYXV4aWxpYXJ5X2Ry aXZlciBxY29tX3BkbV9kcnYgPSB7CisrCS5uYW1lID0gInFjb20tcGRtLW1hcHBlciIsCisrCS5p ZF90YWJsZSA9IHFjb21fcGRtX3RhYmxlLAorKwkucHJvYmUgPSBxY29tX3BkbV9wcm9iZSwKKysJ LnJlbW92ZSA9IHFjb21fcGRtX3JlbW92ZSwKKyt9OworK21vZHVsZV9hdXhpbGlhcnlfZHJpdmVy KHFjb21fcGRtX2Rydik7CisrCisrTU9EVUxFX0RFU0NSSVBUSU9OKCJRdWFsY29tbSBQcm90ZWN0 aW9uIERvbWFpbiBNYXBwZXIiKTsKKytNT0RVTEVfTElDRU5TRSgiR1BMIik7CitkaWZmIC0tZ2l0 IGEvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYyBiL2RyaXZlcnMvc29jL3Fjb20vcWNv bV9wZHJfbXNnLmMKK2luZGV4IDliNDZmNDJhYTE0Ni4uYmYzZTRhNDcxNjVlIDEwMDY0NAorLS0t IGEvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYworKysrIGIvZHJpdmVycy9zb2MvcWNv bS9xY29tX3Bkcl9tc2cuYworQEAgLTMxNSw1ICszMTUsMzkgQEAgY29uc3Qgc3RydWN0IHFtaV9l bGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXSA9IHsKKyB9OworIEVYUE9SVF9TWU1C T0xfR1BMKHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpKTsKKyAKKytjb25zdCBzdHJ1Y3QgcW1pX2Vs ZW1faW5mbyBzZXJ2cmVnX2xvY19wZnJfcmVxX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUg PSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisr CQkuZWxlbV9zaXplID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUgPSBWQVJfTEVOX0FS UkFZLAorKwkJLnRsdl90eXBlID0gMHgwMSwKKysJCS5vZmZzZXQgPSBvZmZzZXRvZihzdHJ1Y3Qg c2VydnJlZ19sb2NfcGZyX3JlcSwgc2VydmljZSkKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSA9 IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKysJ CS5lbGVtX3NpemUgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZSA9IFZBUl9MRU5fQVJS QVksCisrCQkudGx2X3R5cGUgPSAweDAyLAorKwkJLm9mZnNldCA9IG9mZnNldG9mKHN0cnVjdCBz ZXJ2cmVnX2xvY19wZnJfcmVxLCByZWFzb24pCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lN Qk9MX0dQTChzZXJ2cmVnX2xvY19wZnJfcmVxX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2Vs ZW1faW5mbyBzZXJ2cmVnX2xvY19wZnJfcmVzcF9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBl ID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiA9IDEsCisrCQkuZWxlbV9zaXplID0gc2l6ZW9m X2ZpZWxkKHN0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVzcCwgcnNwKSwKKysJCS50bHZfdHlwZSA9 IDB4MDIsCisrCQkub2Zmc2V0ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXNw LCByc3ApLAorKwkJLmVpX2FycmF5ID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorKwl9LAor Kwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19sb2NfcGZyX3Jlc3BfZWkpOwor KworIE1PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKyBNT0RVTEVfREVTQ1JJUFRJT04oIlF1YWxjb21t IFByb3RlY3Rpb24gRG9tYWluIG1lc3NhZ2VzIGRhdGEiKTsKKworRnJvbTogRG1pdHJ5IEJhcnlz aGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0ZTogU2F0LCAyMiBKdW4gMjAy NCAwMTowMzo0NCArMDMwMAorU3ViamVjdDogW1BBVENIIHY5IDUvNV0gcmVtb3RlcHJvYzogcWNv bTogZW5hYmxlIGluLWtlcm5lbCBQRCBtYXBwZXIKKworUmVxdWVzdCBpbi1rZXJuZWwgcHJvdGVj dGlvbiBkb21haW4gbWFwcGVyIHRvIGJlIHN0YXJ0ZWQgYmVmb3JlIHN0YXJ0aW5nCitRdWFsY29t bSBEU1AgYW5kIHJlbGVhc2UgaXQgb25jZSBEU1AgaXMgc3RvcHBlZC4gT25jZSBhbGwgRFNQcyBh cmUKK3N0b3BwZWQsIHRoZSBQRCBtYXBwZXIgd2lsbCBiZSBzdG9wcGVkIHRvby4KKworUmV2aWV3 ZWQtYnk6IENocmlzIExldyA8cXVpY19jbGV3QHF1aWNpbmMuY29tPgorVGVzdGVkLWJ5OiBTdGVl diBLbGltYXN6ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5OiBOZWlsIEFybXN0cm9u ZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9yZz4gIyBvbiBTTTg1NTAtUVJECitTaWduZWQtb2Zm LWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CistLS0K KyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uYyAgICB8IDg3ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKKyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24u aCAgICB8IDEwICsrKysrCisgZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMgfCAg MyArKworIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfbXNzLmMgIHwgIDMgKysKKyBkcml2 ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jICB8ICAzICsrCisgZHJpdmVycy9yZW1vdGVw cm9jL3Fjb21fcTZ2NV93Y3NzLmMgfCAgMyArKworIDYgZmlsZXMgY2hhbmdlZCwgMTA5IGluc2Vy dGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5j IGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmMKK2luZGV4IDAzZTVmNWQ1MzNlYi4u OGM4Njg4Zjk5ZjBhIDEwMDY0NAorLS0tIGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9u LmMKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5jCitAQCAtMTMsNiArMTMs NyBAQAorICNpbmNsdWRlIDxsaW51eC9ub3RpZmllci5oPgorICNpbmNsdWRlIDxsaW51eC9yZW1v dGVwcm9jLmg+CisgI2luY2x1ZGUgPGxpbnV4L3JlbW90ZXByb2MvcWNvbV9ycHJvYy5oPgorKyNp bmNsdWRlIDxsaW51eC9hdXhpbGlhcnlfYnVzLmg+CisgI2luY2x1ZGUgPGxpbnV4L3JwbXNnL3Fj b21fZ2xpbmsuaD4KKyAjaW5jbHVkZSA8bGludXgvcnBtc2cvcWNvbV9zbWQuaD4KKyAjaW5jbHVk ZSA8bGludXgvc2xhYi5oPgorQEAgLTI1LDYgKzI2LDcgQEAKKyAjZGVmaW5lIHRvX2dsaW5rX3N1 YmRldihkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IHFjb21fcnByb2NfZ2xpbmssIHN1YmRldikK KyAjZGVmaW5lIHRvX3NtZF9zdWJkZXYoZCkgY29udGFpbmVyX29mKGQsIHN0cnVjdCBxY29tX3Jw cm9jX3N1YmRldiwgc3ViZGV2KQorICNkZWZpbmUgdG9fc3NyX3N1YmRldihkKSBjb250YWluZXJf b2YoZCwgc3RydWN0IHFjb21fcnByb2Nfc3NyLCBzdWJkZXYpCisrI2RlZmluZSB0b19wZG1fc3Vi ZGV2KGQpIGNvbnRhaW5lcl9vZihkLCBzdHJ1Y3QgcWNvbV9ycHJvY19wZG0sIHN1YmRldikKKyAK KyAjZGVmaW5lIE1BWF9OVU1fT0ZfU1MgICAgICAgICAgIDEwCisgI2RlZmluZSBNQVhfUkVHSU9O X05BTUVfTEVOR1RIICAxNgorQEAgLTUxOSw1ICs1MjEsOTAgQEAgdm9pZCBxY29tX3JlbW92ZV9z c3Jfc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3NzciAqc3Ny KQorIH0KKyBFWFBPUlRfU1lNQk9MX0dQTChxY29tX3JlbW92ZV9zc3Jfc3ViZGV2KTsKKyAKKytz dGF0aWMgdm9pZCBwZG1fZGV2X3JlbGVhc2Uoc3RydWN0IGRldmljZSAqZGV2KQorK3sKKysJc3Ry dWN0IGF1eGlsaWFyeV9kZXZpY2UgKmFkZXYgPSB0b19hdXhpbGlhcnlfZGV2KGRldik7CisrCisr CWtmcmVlKGFkZXYpOworK30KKysKKytzdGF0aWMgaW50IHBkbV9ub3RpZnlfcHJlcGFyZShzdHJ1 Y3QgcnByb2Nfc3ViZGV2ICpzdWJkZXYpCisreworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gKnBk bSA9IHRvX3BkbV9zdWJkZXYoc3ViZGV2KTsKKysJc3RydWN0IGF1eGlsaWFyeV9kZXZpY2UgKmFk ZXY7CisrCWludCByZXQ7CisrCisrCWFkZXYgPSBremFsbG9jKHNpemVvZigqYWRldiksIEdGUF9L RVJORUwpOworKwlpZiAoIWFkZXYpCisrCQlyZXR1cm4gLUVOT01FTTsKKysKKysJYWRldi0+ZGV2 LnBhcmVudCA9IHBkbS0+ZGV2OworKwlhZGV2LT5kZXYucmVsZWFzZSA9IHBkbV9kZXZfcmVsZWFz ZTsKKysJYWRldi0+bmFtZSA9ICJwZC1tYXBwZXIiOworKwlhZGV2LT5pZCA9IHBkbS0+aW5kZXg7 CisrCisrCXJldCA9IGF1eGlsaWFyeV9kZXZpY2VfaW5pdChhZGV2KTsKKysJaWYgKHJldCkgewor KwkJa2ZyZWUoYWRldik7CisrCQlyZXR1cm4gcmV0OworKwl9CisrCisrCXJldCA9IGF1eGlsaWFy eV9kZXZpY2VfYWRkKGFkZXYpOworKwlpZiAocmV0KSB7CisrCQlhdXhpbGlhcnlfZGV2aWNlX3Vu aW5pdChhZGV2KTsKKysJCXJldHVybiByZXQ7CisrCX0KKysKKysJcGRtLT5hZGV2ID0gYWRldjsK KysKKysJcmV0dXJuIDA7CisrfQorKworKworK3N0YXRpYyB2b2lkIHBkbV9ub3RpZnlfdW5wcmVw YXJlKHN0cnVjdCBycHJvY19zdWJkZXYgKnN1YmRldikKKyt7CisrCXN0cnVjdCBxY29tX3Jwcm9j X3BkbSAqcGRtID0gdG9fcGRtX3N1YmRldihzdWJkZXYpOworKworKwlpZiAoIXBkbS0+YWRldikK KysJCXJldHVybjsKKysKKysJYXV4aWxpYXJ5X2RldmljZV9kZWxldGUocGRtLT5hZGV2KTsKKysJ YXV4aWxpYXJ5X2RldmljZV91bmluaXQocGRtLT5hZGV2KTsKKysJcGRtLT5hZGV2ID0gTlVMTDsK Kyt9CisrCisrLyoqCisrICogcWNvbV9hZGRfcGRtX3N1YmRldigpIC0gcmVnaXN0ZXIgUEQgTWFw cGVyIHN1YmRldmljZQorKyAqIEBycHJvYzoJcnByb2MgaGFuZGxlCisrICogQHBkbToJUERNIHN1 YmRldmljZSBoYW5kbGUKKysgKgorKyAqIFJlZ2lzdGVyIEBwZG0gc28gdGhhdCBQcm90ZWN0aW9u IERldmljZSBtYXBwZXIgc2VydmljZSBpcyBzdGFydGVkIHdoZW4gdGhlCisrICogRFNQIGlzIHN0 YXJ0ZWQgdG9vLgorKyAqLworK3ZvaWQgcWNvbV9hZGRfcGRtX3N1YmRldihzdHJ1Y3QgcnByb2Mg KnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gKnBkbSkKKyt7CisrCXBkbS0+ZGV2ID0gJnJw cm9jLT5kZXY7CisrCXBkbS0+aW5kZXggPSBycHJvYy0+aW5kZXg7CisrCisrCXBkbS0+c3ViZGV2 LnByZXBhcmUgPSBwZG1fbm90aWZ5X3ByZXBhcmU7CisrCXBkbS0+c3ViZGV2LnVucHJlcGFyZSA9 IHBkbV9ub3RpZnlfdW5wcmVwYXJlOworKworKwlycHJvY19hZGRfc3ViZGV2KHJwcm9jLCAmcGRt LT5zdWJkZXYpOworK30KKytFWFBPUlRfU1lNQk9MX0dQTChxY29tX2FkZF9wZG1fc3ViZGV2KTsK KysKKysvKioKKysgKiBxY29tX3JlbW92ZV9wZG1fc3ViZGV2KCkgLSByZW1vdmUgUEQgTWFwcGVy IHN1YmRldmljZQorKyAqIEBycHJvYzoJcnByb2MgaGFuZGxlCisrICogQHBkbToJUERNIHN1YmRl dmljZSBoYW5kbGUKKysgKgorKyAqIFJlbW92ZSB0aGUgUEQgTWFwcGVyIHN1YmRldmljZS4KKysg Ki8KKyt2b2lkIHFjb21fcmVtb3ZlX3BkbV9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJvYywgc3Ry dWN0IHFjb21fcnByb2NfcGRtICpwZG0pCisreworKwlycHJvY19yZW1vdmVfc3ViZGV2KHJwcm9j LCAmcGRtLT5zdWJkZXYpOworK30KKytFWFBPUlRfU1lNQk9MX0dQTChxY29tX3JlbW92ZV9wZG1f c3ViZGV2KTsKKysKKyBNT0RVTEVfREVTQ1JJUFRJT04oIlF1YWxjb21tIFJlbW90ZXByb2MgaGVs cGVyIGRyaXZlciIpOworIE1PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKK2RpZmYgLS1naXQgYS9k cml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uaCBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29t X2NvbW1vbi5oCitpbmRleCA5ZWY0NDQ5MDUyYTkuLmIwN2ZiYWEwOTFhMCAxMDA2NDQKKy0tLSBh L2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5oCisrKysgYi9kcml2ZXJzL3JlbW90ZXBy b2MvcWNvbV9jb21tb24uaAorQEAgLTM0LDYgKzM0LDEzIEBAIHN0cnVjdCBxY29tX3Jwcm9jX3Nz ciB7CisgCXN0cnVjdCBxY29tX3Nzcl9zdWJzeXN0ZW0gKmluZm87CisgfTsKKyAKKytzdHJ1Y3Qg cWNvbV9ycHJvY19wZG0geworKwlzdHJ1Y3QgcnByb2Nfc3ViZGV2IHN1YmRldjsKKysJc3RydWN0 IGRldmljZSAqZGV2OworKwlpbnQgaW5kZXg7CisrCXN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICph ZGV2OworK307CisrCisgdm9pZCBxY29tX21pbmlkdW1wKHN0cnVjdCBycHJvYyAqcnByb2MsIHVu c2lnbmVkIGludCBtaW5pZHVtcF9pZCwKKyAJCQl2b2lkICgqcnByb2NfZHVtcGZuX3QpKHN0cnVj dCBycHJvYyAqcnByb2MsCisgCQkJCXN0cnVjdCBycHJvY19kdW1wX3NlZ21lbnQgKnNlZ21lbnQs IHZvaWQgKmRlc3QsIHNpemVfdCBvZmZzZXQsCitAQCAtNTIsNiArNTksOSBAQCB2b2lkIHFjb21f YWRkX3Nzcl9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2Nfc3Ny ICpzc3IsCisgCQkJIGNvbnN0IGNoYXIgKnNzcl9uYW1lKTsKKyB2b2lkIHFjb21fcmVtb3ZlX3Nz cl9zdWJkZXYoc3RydWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2Nfc3NyICpzc3Ip OworIAorK3ZvaWQgcWNvbV9hZGRfcGRtX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1 Y3QgcWNvbV9ycHJvY19wZG0gKnBkbSk7Cisrdm9pZCBxY29tX3JlbW92ZV9wZG1fc3ViZGV2KHN0 cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3BkbSAqcGRtKTsKKysKKyAjaWYg SVNfRU5BQkxFRChDT05GSUdfUUNPTV9TWVNNT04pCisgc3RydWN0IHFjb21fc3lzbW9uICpxY29t X2FkZF9zeXNtb25fc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsCisgCQkJCQkgICBjb25zdCBj aGFyICpuYW1lLAorZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfYWRz cC5jIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMKK2luZGV4IDFkMjRjOWI2 NTZhOC4uNTcyZGNiMGYwNTViIDEwMDY0NAorLS0tIGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21f cTZ2NV9hZHNwLmMKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfYWRzcC5jCitA QCAtMTEyLDYgKzExMiw3IEBAIHN0cnVjdCBxY29tX2Fkc3AgeworIAlzdHJ1Y3QgZGV2X3BtX2Rv bWFpbl9saXN0ICpwZF9saXN0OworIAorIAlzdHJ1Y3QgcWNvbV9ycHJvY19nbGluayBnbGlua19z dWJkZXY7CisrCXN0cnVjdCBxY29tX3Jwcm9jX3BkbSBwZG1fc3ViZGV2OworIAlzdHJ1Y3QgcWNv bV9ycHJvY19zc3Igc3NyX3N1YmRldjsKKyAJc3RydWN0IHFjb21fc3lzbW9uICpzeXNtb247Cisg CitAQCAtNzI2LDYgKzcyNyw3IEBAIHN0YXRpYyBpbnQgYWRzcF9wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQorIAkJZ290byBkaXNhYmxlX3BtOworIAorIAlxY29tX2FkZF9nbGlu a19zdWJkZXYocnByb2MsICZhZHNwLT5nbGlua19zdWJkZXYsIGRlc2MtPnNzcl9uYW1lKTsKKysJ cWNvbV9hZGRfcGRtX3N1YmRldihycHJvYywgJmFkc3AtPnBkbV9zdWJkZXYpOworIAlxY29tX2Fk ZF9zc3Jfc3ViZGV2KHJwcm9jLCAmYWRzcC0+c3NyX3N1YmRldiwgZGVzYy0+c3NyX25hbWUpOwor IAlhZHNwLT5zeXNtb24gPSBxY29tX2FkZF9zeXNtb25fc3ViZGV2KHJwcm9jLAorIAkJCQkJICAg ICAgZGVzYy0+c3lzbW9uX25hbWUsCitAQCAtNzU1LDYgKzc1Nyw3IEBAIHN0YXRpYyB2b2lkIGFk c3BfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCisgCisgCXFjb21fcTZ2NV9k ZWluaXQoJmFkc3AtPnE2djUpOworIAlxY29tX3JlbW92ZV9nbGlua19zdWJkZXYoYWRzcC0+cnBy b2MsICZhZHNwLT5nbGlua19zdWJkZXYpOworKwlxY29tX3JlbW92ZV9wZG1fc3ViZGV2KGFkc3At PnJwcm9jLCAmYWRzcC0+cGRtX3N1YmRldik7CisgCXFjb21fcmVtb3ZlX3N5c21vbl9zdWJkZXYo YWRzcC0+c3lzbW9uKTsKKyAJcWNvbV9yZW1vdmVfc3NyX3N1YmRldihhZHNwLT5ycHJvYywgJmFk c3AtPnNzcl9zdWJkZXYpOworIAlxY29tX3Jwcm9jX3Bkc19kZXRhY2goYWRzcCk7CitkaWZmIC0t Z2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9tc3MuYyBiL2RyaXZlcnMvcmVtb3Rl cHJvYy9xY29tX3E2djVfbXNzLmMKK2luZGV4IDE3NzlmYzg5MGUxMC4uMmE0MjIxNWNlOGUwIDEw MDY0NAorLS0tIGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9tc3MuYworKysrIGIvZHJp dmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9tc3MuYworQEAgLTIyOCw2ICsyMjgsNyBAQCBzdHJ1 Y3QgcTZ2NSB7CisgCisgCXN0cnVjdCBxY29tX3Jwcm9jX2dsaW5rIGdsaW5rX3N1YmRldjsKKyAJ c3RydWN0IHFjb21fcnByb2Nfc3ViZGV2IHNtZF9zdWJkZXY7CisrCXN0cnVjdCBxY29tX3Jwcm9j X3BkbSBwZG1fc3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9ycHJvY19zc3Igc3NyX3N1YmRldjsKKyAJ c3RydWN0IHFjb21fc3lzbW9uICpzeXNtb247CisgCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmJh bV9kbXV4OworQEAgLTIxMDIsNiArMjEwMyw3IEBAIHN0YXRpYyBpbnQgcTZ2NV9wcm9iZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAlxcHJvYy0+bWJhX3Blcm0gPSBCSVQoUUNPTV9T Q01fVk1JRF9ITE9TKTsKKyAJcWNvbV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmcXByb2MtPmds aW5rX3N1YmRldiwgIm1wc3MiKTsKKyAJcWNvbV9hZGRfc21kX3N1YmRldihycHJvYywgJnFwcm9j LT5zbWRfc3ViZGV2KTsKKysJcWNvbV9hZGRfcGRtX3N1YmRldihycHJvYywgJnFwcm9jLT5wZG1f c3ViZGV2KTsKKyAJcWNvbV9hZGRfc3NyX3N1YmRldihycHJvYywgJnFwcm9jLT5zc3Jfc3ViZGV2 LCAibXBzcyIpOworIAlxcHJvYy0+c3lzbW9uID0gcWNvbV9hZGRfc3lzbW9uX3N1YmRldihycHJv YywgIm1vZGVtIiwgMHgxMik7CisgCWlmIChJU19FUlIocXByb2MtPnN5c21vbikpIHsKK0BAIC0y MTQzLDYgKzIxNDUsNyBAQCBzdGF0aWMgdm9pZCBxNnY1X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQorIAlxY29tX3E2djVfZGVpbml0KCZxcHJvYy0+cTZ2NSk7CisgCXFjb21f cmVtb3ZlX3N5c21vbl9zdWJkZXYocXByb2MtPnN5c21vbik7CisgCXFjb21fcmVtb3ZlX3Nzcl9z dWJkZXYocnByb2MsICZxcHJvYy0+c3NyX3N1YmRldik7CisrCXFjb21fcmVtb3ZlX3BkbV9zdWJk ZXYocnByb2MsICZxcHJvYy0+cGRtX3N1YmRldik7CisgCXFjb21fcmVtb3ZlX3NtZF9zdWJkZXYo cnByb2MsICZxcHJvYy0+c21kX3N1YmRldik7CisgCXFjb21fcmVtb3ZlX2dsaW5rX3N1YmRldihy cHJvYywgJnFwcm9jLT5nbGlua19zdWJkZXYpOworIAorZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVt b3RlcHJvYy9xY29tX3E2djVfcGFzLmMgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bh cy5jCitpbmRleCA4NDU4YmNmZTllMTkuLjg4ZTdiODRmMjIzYyAxMDA2NDQKKy0tLSBhL2RyaXZl cnMvcmVtb3RlcHJvYy9xY29tX3E2djVfcGFzLmMKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9x Y29tX3E2djVfcGFzLmMKK0BAIC0xMTEsNiArMTExLDcgQEAgc3RydWN0IHFjb21fYWRzcCB7Cisg CisgCXN0cnVjdCBxY29tX3Jwcm9jX2dsaW5rIGdsaW5rX3N1YmRldjsKKyAJc3RydWN0IHFjb21f cnByb2Nfc3ViZGV2IHNtZF9zdWJkZXY7CisrCXN0cnVjdCBxY29tX3Jwcm9jX3BkbSBwZG1fc3Vi ZGV2OworIAlzdHJ1Y3QgcWNvbV9ycHJvY19zc3Igc3NyX3N1YmRldjsKKyAJc3RydWN0IHFjb21f c3lzbW9uICpzeXNtb247CisgCitAQCAtNzc3LDYgKzc3OCw3IEBAIHN0YXRpYyBpbnQgYWRzcF9w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAorIAlxY29tX2FkZF9nbGlua19z dWJkZXYocnByb2MsICZhZHNwLT5nbGlua19zdWJkZXYsIGRlc2MtPnNzcl9uYW1lKTsKKyAJcWNv bV9hZGRfc21kX3N1YmRldihycHJvYywgJmFkc3AtPnNtZF9zdWJkZXYpOworKwlxY29tX2FkZF9w ZG1fc3ViZGV2KHJwcm9jLCAmYWRzcC0+cGRtX3N1YmRldik7CisgCWFkc3AtPnN5c21vbiA9IHFj b21fYWRkX3N5c21vbl9zdWJkZXYocnByb2MsCisgCQkJCQkgICAgICBkZXNjLT5zeXNtb25fbmFt ZSwKKyAJCQkJCSAgICAgIGRlc2MtPnNzY3RsX2lkKTsKK0BAIC04MTEsNiArODEzLDcgQEAgc3Rh dGljIHZvaWQgYWRzcF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJcWNv bV9yZW1vdmVfZ2xpbmtfc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2KTsK KyAJcWNvbV9yZW1vdmVfc3lzbW9uX3N1YmRldihhZHNwLT5zeXNtb24pOworIAlxY29tX3JlbW92 ZV9zbWRfc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+c21kX3N1YmRldik7CisrCXFjb21fcmVt b3ZlX3BkbV9zdWJkZXYoYWRzcC0+cnByb2MsICZhZHNwLT5wZG1fc3ViZGV2KTsKKyAJcWNvbV9y ZW1vdmVfc3NyX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPnNzcl9zdWJkZXYpOworIAlhZHNw X3Bkc19kZXRhY2goYWRzcCwgYWRzcC0+cHJveHlfcGRzLCBhZHNwLT5wcm94eV9wZF9jb3VudCk7 CisgCWRldmljZV9pbml0X3dha2V1cChhZHNwLT5kZXYsIGZhbHNlKTsKK2RpZmYgLS1naXQgYS9k cml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3djc3MuYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9x Y29tX3E2djVfd2Nzcy5jCitpbmRleCA5NGY2OGM5MTllZTYuLmU5MTNkYWJhZTk5MiAxMDA2NDQK Ky0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfd2Nzcy5jCisrKysgYi9kcml2ZXJz L3JlbW90ZXByb2MvcWNvbV9xNnY1X3djc3MuYworQEAgLTE0OCw2ICsxNDgsNyBAQCBzdHJ1Y3Qg cTZ2NV93Y3NzIHsKKyAJYm9vbCByZXF1aXJlc19mb3JjZV9zdG9wOworIAorIAlzdHJ1Y3QgcWNv bV9ycHJvY19nbGluayBnbGlua19zdWJkZXY7CisrCXN0cnVjdCBxY29tX3Jwcm9jX3BkbSBwZG1f c3ViZGV2OworIAlzdHJ1Y3QgcWNvbV9ycHJvY19zc3Igc3NyX3N1YmRldjsKKyB9OworIAorQEAg LTEwNTIsNiArMTA1Myw3IEBAIHN0YXRpYyBpbnQgcTZ2NV93Y3NzX3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCisgCQlyZXR1cm4gcmV0OworIAorIAlxY29tX2FkZF9nbGlua19z dWJkZXYocnByb2MsICZ3Y3NzLT5nbGlua19zdWJkZXYsICJxNndjc3MiKTsKKysJcWNvbV9hZGRf cGRtX3N1YmRldihycHJvYywgJndjc3MtPnBkbV9zdWJkZXYpOworIAlxY29tX2FkZF9zc3Jfc3Vi ZGV2KHJwcm9jLCAmd2Nzcy0+c3NyX3N1YmRldiwgInE2d2NzcyIpOworIAorIAlpZiAoZGVzYy0+ c3NjdGxfaWQpCitAQCAtMTA3NCw2ICsxMDc2LDcgQEAgc3RhdGljIHZvaWQgcTZ2NV93Y3NzX3Jl bW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAlzdHJ1Y3QgcTZ2NV93Y3NzICp3 Y3NzID0gcnByb2MtPnByaXY7CisgCisgCXFjb21fcTZ2NV9kZWluaXQoJndjc3MtPnE2djUpOwor KwlxY29tX3JlbW92ZV9wZG1fc3ViZGV2KHJwcm9jLCAmd2Nzcy0+cGRtX3N1YmRldik7CisgCXJw cm9jX2RlbChycHJvYyk7CisgfQorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9saW51eDYuOC90ZW1w bGF0ZSBiL3NyY3BrZ3MvbGludXg2LjgvdGVtcGxhdGUKaW5kZXggMGRiNjhmMDRiYjZlMjMuLmY5 ZmY4MWIzZDY4ZDYyIDEwMDY0NAotLS0gYS9zcmNwa2dzL2xpbnV4Ni44L3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvbGludXg2LjgvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdsaW51eDYuOCcKIHBrZ25hbWU9bGludXg2LjgKIHZlcnNpb249Ni44LjEyCi1yZXZp c2lvbj0xCityZXZpc2lvbj0yCiBzaG9ydF9kZXNjPSJMaW51eCBrZXJuZWwgYW5kIG1vZHVsZXMg KCR7dmVyc2lvbiUuKn0gc2VyaWVzKSIKIG1haW50YWluZXI9IkR1bmNhZW4gPGR1bmNhZW5Adm9p ZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9ubHkiCgpGcm9tIDIyMmMzZGNkZjcwYzg4 Y2RhZTUzNGRjNTUwM2ZkNjBiN2QzZDg1MjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IGNsYXNzYWJieWFtcCA8dm9pZEBwbGFjZXZpb2xldHRlLm5ldD4KRGF0ZTogVHVlLCAyNSBKdW4g MjAyNCAxOTozNjoxOCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMy8zXSBsaW51eDYuOTogYWRkIHN1 cHBvcnQgZm9yIGxlbm92byB4MTNzCgotLS0KIHNyY3BrZ3MvbGludXg2LjkvZmlsZXMvYXJtNjQt ZG90Y29uZmlnICAgICAgICB8ICAgODMgKy0KIC4uLmQtaW4ta2VybmVsLXBkLW1hcHBlci1pbXBs ZW1lbnRhdGlvbi5wYXRjaCB8IDE5NTEgKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvbGludXg2 LjkvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKy0KIDMgZmlsZXMgY2hhbmdl ZCwgMjAxMiBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL2xpbnV4Ni45L3BhdGNoZXMvc29jLXFjb20tYWRkLWluLWtlcm5lbC1wZC1tYXBw ZXItaW1wbGVtZW50YXRpb24ucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4Ni45L2Zp bGVzL2FybTY0LWRvdGNvbmZpZyBiL3NyY3BrZ3MvbGludXg2LjkvZmlsZXMvYXJtNjQtZG90Y29u ZmlnCmluZGV4IGNmYTYxNGFjOGE2OTQ2Li4zNDA1MGY0ZmUyNTZjYyAxMDA2NDQKLS0tIGEvc3Jj cGtncy9saW51eDYuOS9maWxlcy9hcm02NC1kb3Rjb25maWcKKysrIGIvc3JjcGtncy9saW51eDYu OS9maWxlcy9hcm02NC1kb3Rjb25maWcKQEAgLTIsNyArMiw3IEBACiAjIEF1dG9tYXRpY2FsbHkg Z2VuZXJhdGVkIGZpbGU7IERPIE5PVCBFRElULgogIyBMaW51eC9hcm02NCA2LjkuNiBLZXJuZWwg Q29uZmlndXJhdGlvbgogIwotQ09ORklHX0NDX1ZFUlNJT05fVEVYVD0iYWFyY2g2NC1saW51eC1t dXNsLWdjYyAoR0NDKSAxMy4yLjAiCitDT05GSUdfQ0NfVkVSU0lPTl9URVhUPSJhYXJjaDY0LWxp bnV4LWdudS1nY2MgKEdDQykgMTMuMi4wIgogQ09ORklHX0NDX0lTX0dDQz15CiBDT05GSUdfR0ND X1ZFUlNJT049MTMwMjAwCiBDT05GSUdfQ0xBTkdfVkVSU0lPTj0wCkBAIC0yOSw3ICsyOSw3IEBA IENPTkZJR19USFJFQURfSU5GT19JTl9UQVNLPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9 MzIKICMgQ09ORklHX0NPTVBJTEVfVEVTVCBpcyBub3Qgc2V0CiAjIENPTkZJR19XRVJST1IgaXMg bm90IHNldAotQ09ORklHX0xPQ0FMVkVSU0lPTj0iXzEiCitDT05GSUdfTE9DQUxWRVJTSU9OPSJf MiIKICMgQ09ORklHX0xPQ0FMVkVSU0lPTl9BVVRPIGlzIG5vdCBzZXQKIENPTkZJR19CVUlMRF9T QUxUPSIiCiBDT05GSUdfREVGQVVMVF9JTklUPSIiCkBAIC02MDIsNyArNjAyLDcgQEAgQ09ORklH X0RQTV9XQVRDSERPRz15CiBDT05GSUdfRFBNX1dBVENIRE9HX1RJTUVPVVQ9NjAKIENPTkZJR19Q TV9DTEs9eQogQ09ORklHX1BNX0dFTkVSSUNfRE9NQUlOUz15Ci0jIENPTkZJR19XUV9QT1dFUl9F RkZJQ0lFTlRfREVGQVVMVCBpcyBub3Qgc2V0CitDT05GSUdfV1FfUE9XRVJfRUZGSUNJRU5UX0RF RkFVTFQ9eQogQ09ORklHX1BNX0dFTkVSSUNfRE9NQUlOU19TTEVFUD15CiBDT05GSUdfUE1fR0VO RVJJQ19ET01BSU5TX09GPXkKIENPTkZJR19DUFVfUE09eQpAQCAtMjM3OSw3ICsyMzc5LDcgQEAg Q09ORklHX1NPQ19CVVM9eQogQ09ORklHX1JFR01BUD15CiBDT05GSUdfUkVHTUFQX0kyQz15CiBD T05GSUdfUkVHTUFQX1NQST15Ci1DT05GSUdfUkVHTUFQX1NQTUk9bQorQ09ORklHX1JFR01BUF9T UE1JPXkKIENPTkZJR19SRUdNQVBfVzE9bQogQ09ORklHX1JFR01BUF9NTUlPPXkKIENPTkZJR19S RUdNQVBfSVJRPXkKQEAgLTI0NDcsNyArMjQ0Nyw3IEBAIENPTkZJR19BUk1fU0NNSV9UUkFOU1BP UlRfVklSVElPX1ZFUlNJT04xX0NPTVBMSUFOQ0U9eQogQ09ORklHX0FSTV9TQ01JX1BPV0VSX0NP TlRST0w9bQogIyBlbmQgb2YgQVJNIFN5c3RlbSBDb250cm9sIGFuZCBNYW5hZ2VtZW50IEludGVy ZmFjZSBQcm90b2NvbAogCi1DT05GSUdfQVJNX1NDUElfUFJPVE9DT0w9bQorQ09ORklHX0FSTV9T Q1BJX1BST1RPQ09MPXkKIENPTkZJR19BUk1fU0RFX0lOVEVSRkFDRT15CiBDT05GSUdfRklSTVdB UkVfTUVNTUFQPXkKIENPTkZJR19ETUlJRD15CkBAIC0yNTAzLDcgKzI1MDMsOCBAQCBDT05GSUdf QVJNX1BTQ0lfRlc9eQogIwogQ09ORklHX1FDT01fU0NNPXkKICMgQ09ORklHX1FDT01fU0NNX0RP V05MT0FEX01PREVfREVGQVVMVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19RQ09NX1FTRUVDT00gaXMg bm90IHNldAorQ09ORklHX1FDT01fUVNFRUNPTT15CitDT05GSUdfUUNPTV9RU0VFQ09NX1VFRklT RUNBUFA9eQogIyBlbmQgb2YgUXVhbGNvbW0gZmlybXdhcmUgZHJpdmVycwogCiBDT05GSUdfSEFW RV9BUk1fU01DQ0M9eQpAQCAtNDkyMSw3ICs0OTIyLDcgQEAgQ09ORklHX1hJTExZVVNCPW0KIENP TkZJR19JMkM9eQogQ09ORklHX0FDUElfSTJDX09QUkVHSU9OPXkKIENPTkZJR19JMkNfQk9BUkRJ TkZPPXkKLSMgQ09ORklHX0kyQ19DT01QQVQgaXMgbm90IHNldAorQ09ORklHX0kyQ19DT01QQVQ9 eQogQ09ORklHX0kyQ19DSEFSREVWPW0KIENPTkZJR19JMkNfTVVYPW0KIApAQCAtNTE1MCw3ICs1 MTUxLDcgQEAgQ09ORklHX1NQSV9TTEFWRT15CiBDT05GSUdfU1BJX1NMQVZFX1RJTUU9bQogQ09O RklHX1NQSV9TTEFWRV9TWVNURU1fQ09OVFJPTD1tCiBDT05GSUdfU1BJX0RZTkFNSUM9eQotQ09O RklHX1NQTUk9bQorQ09ORklHX1NQTUk9eQogQ09ORklHX1NQTUlfSElTSTM2NzA9bQogQ09ORklH X1NQTUlfTVNNX1BNSUNfQVJCPW0KIENPTkZJR19TUE1JX01US19QTUlGPW0KQEAgLTUzMjMsNyAr NTMyNCw3IEBAIENPTkZJR19QSU5DVFJMX1NBODc3NVA9bQogQ09ORklHX1BJTkNUUkxfU0M3MTgw PW0KIENPTkZJR19QSU5DVFJMX1NDNzI4MD1tCiBDT05GSUdfUElOQ1RSTF9TQzgxODBYPW0KLUNP TkZJR19QSU5DVFJMX1NDODI4MFhQPW0KK0NPTkZJR19QSU5DVFJMX1NDODI4MFhQPXkKICMgQ09O RklHX1BJTkNUUkxfU0RNNjYwIGlzIG5vdCBzZXQKIENPTkZJR19QSU5DVFJMX1NETTY3MD1tCiBD T05GSUdfUElOQ1RSTF9TRE04NDU9bQpAQCAtNTM0MSw3ICs1MzQyLDcgQEAgQ09ORklHX1BJTkNU UkxfU004NDUwPW0KIENPTkZJR19QSU5DVFJMX1NNODU1MD1tCiAjIENPTkZJR19QSU5DVFJMX1NN ODY1MCBpcyBub3Qgc2V0CiAjIENPTkZJR19QSU5DVFJMX1gxRTgwMTAwIGlzIG5vdCBzZXQKLUNP TkZJR19QSU5DVFJMX1FDT01fU1BNSV9QTUlDPW0KK0NPTkZJR19QSU5DVFJMX1FDT01fU1BNSV9Q TUlDPXkKIENPTkZJR19QSU5DVFJMX1FDT01fU1NCSV9QTUlDPW0KIENPTkZJR19QSU5DVFJMX0xQ QVNTX0xQST1tCiAjIENPTkZJR19QSU5DVFJMX1NDNzI4MF9MUEFTU19MUEkgaXMgbm90IHNldApA QCAtNTkzOCwxMiArNTkzOSwxMyBAQCBDT05GSUdfVEhFUk1BTF9PRj15CiBDT05GSUdfVEhFUk1B TF9ERUZBVUxUX0dPVl9TVEVQX1dJU0U9eQogIyBDT05GSUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9G QUlSX1NIQVJFIGlzIG5vdCBzZXQKICMgQ09ORklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfVVNFUl9T UEFDRSBpcyBub3Qgc2V0CisjIENPTkZJR19USEVSTUFMX0RFRkFVTFRfR09WX1BPV0VSX0FMTE9D QVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJR19USEVSTUFMX0RFRkFVTFRfR09WX0JBTkdfQkFORyBp cyBub3Qgc2V0CiBDT05GSUdfVEhFUk1BTF9HT1ZfRkFJUl9TSEFSRT15CiBDT05GSUdfVEhFUk1B TF9HT1ZfU1RFUF9XSVNFPXkKIENPTkZJR19USEVSTUFMX0dPVl9CQU5HX0JBTkc9eQogQ09ORklH X1RIRVJNQUxfR09WX1VTRVJfU1BBQ0U9eQotIyBDT05GSUdfVEhFUk1BTF9HT1ZfUE9XRVJfQUxM T0NBVE9SIGlzIG5vdCBzZXQKK0NPTkZJR19USEVSTUFMX0dPVl9QT1dFUl9BTExPQ0FUT1I9eQog Q09ORklHX0NQVV9USEVSTUFMPXkKIENPTkZJR19DUFVfRlJFUV9USEVSTUFMPXkKICMgQ09ORklH X0NQVV9JRExFX1RIRVJNQUwgaXMgbm90IHNldApAQCAtNjAwMSw3ICs2MDAzLDcgQEAgQ09ORklH X0dFTkVSSUNfQURDX1RIRVJNQUw9bQogIwogQ09ORklHX1FDT01fVFNFTlM9bQogQ09ORklHX1FD T01fU1BNSV9BRENfVE01PW0KLSMgQ09ORklHX1FDT01fU1BNSV9URU1QX0FMQVJNIGlzIG5vdCBz ZXQKK0NPTkZJR19RQ09NX1NQTUlfVEVNUF9BTEFSTT1tCiBDT05GSUdfUUNPTV9MTUg9bQogIyBl bmQgb2YgUXVhbGNvbW0gdGhlcm1hbCBkcml2ZXJzCiAKQEAgLTYwNDAsNyArNjA0Miw3IEBAIENP TkZJR19YSUxJTlhfV0FUQ0hET0c9bQogQ09ORklHX1pJSVJBVkVfV0FUQ0hET0c9bQogQ09ORklH X01MWF9XRFQ9bQogQ09ORklHX1NMMjhDUExEX1dBVENIRE9HPW0KLSMgQ09ORklHX0FSTV9TUDgw NV9XQVRDSERPRyBpcyBub3Qgc2V0CitDT05GSUdfQVJNX1NQODA1X1dBVENIRE9HPXkKIENPTkZJ R19BUk1fU0JTQV9XQVRDSERPRz1tCiBDT05GSUdfQVJNQURBXzM3WFhfV0FUQ0hET0c9bQogQ09O RklHX0NBREVOQ0VfV0FUQ0hET0c9bQpAQCAtNjA1Myw3ICs2MDU1LDcgQEAgQ09ORklHX0lNWDJf V0RUPW0KIENPTkZJR19JTVhfU0NfV0RUPW0KIENPTkZJR19JTVg3VUxQX1dEVD1tCiBDT05GSUdf VEVHUkFfV0FUQ0hET0c9bQotIyBDT05GSUdfUUNPTV9XRFQgaXMgbm90IHNldAorQ09ORklHX1FD T01fV0RUPW0KIENPTkZJR19NRVNPTl9HWEJCX1dBVENIRE9HPW0KIENPTkZJR19NRVNPTl9XQVRD SERPRz1tCiBDT05GSUdfTUVESUFURUtfV0FUQ0hET0c9bQpAQCAtOTM2OCw3ICs5MzcwLDcgQEAg Q09ORklHX1NDU0lfVUZTSENEX1BDST1tCiBDT05GSUdfU0NTSV9VRlNIQ0RfUExBVEZPUk09bQog Q09ORklHX1NDU0lfVUZTX0NETlNfUExBVEZPUk09bQogIyBDT05GSUdfU0NTSV9VRlNfRFdDX1RD X1BMQVRGT1JNIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NDU0lfVUZTX1FDT00gaXMgbm90IHNldAor Q09ORklHX1NDU0lfVUZTX1FDT009bQogQ09ORklHX1NDU0lfVUZTX01FRElBVEVLPW0KIENPTkZJ R19TQ1NJX1VGU19ISVNJPW0KIENPTkZJR19TQ1NJX1VGU19FWFlOT1M9bQpAQCAtMTAzOTIsNyAr MTAzOTQsNyBAQCBDT05GSUdfUUNNX0dDQ18yMjkwPW0KIENPTkZJR19RQ1NfR0NDXzQwND1tCiBD T05GSUdfU0NfQ0FNQ0NfNzE4MD1tCiBDT05GSUdfU0NfQ0FNQ0NfNzI4MD1tCi0jIENPTkZJR19T Q19DQU1DQ184MjgwWFAgaXMgbm90IHNldAorQ09ORklHX1NDX0NBTUNDXzgyODBYUD1tCiBDT05G SUdfU0NfRElTUENDXzcxODA9bQogQ09ORklHX1NDX0RJU1BDQ183MjgwPW0KIENPTkZJR19TQ19E SVNQQ0NfODI4MFhQPW0KQEAgLTEwNDA0LDkgKzEwNDA2LDkgQEAgQ09ORklHX1NDX0dDQ184MTgw WD1tCiBDT05GSUdfU0NfR0NDXzgyODBYUD1tCiBDT05GSUdfU0NfR1BVQ0NfNzE4MD1tCiBDT05G SUdfU0NfR1BVQ0NfNzI4MD1tCi0jIENPTkZJR19TQ19HUFVDQ184MjgwWFAgaXMgbm90IHNldAor Q09ORklHX1NDX0dQVUNDXzgyODBYUD1tCiBDT05GSUdfU0NfTFBBU1NDQ183MjgwPW0KLSMgQ09O RklHX1NDX0xQQVNTQ0NfODI4MFhQIGlzIG5vdCBzZXQKK0NPTkZJR19TQ19MUEFTU0NDXzgyODBY UD1tCiBDT05GSUdfU0NfTFBBU1NfQ09SRUNDXzcxODA9bQogQ09ORklHX1NDX0xQQVNTX0NPUkVD Q183MjgwPW0KIENPTkZJR19TQ19WSURFT0NDXzcxODA9bQpAQCAtMTA0NjMsNyArMTA0NjUsNyBA QCBDT05GSUdfU01fVENTUkNDXzg1NTA9bQogIyBDT05GSUdfU01fVENTUkNDXzg2NTAgaXMgbm90 IHNldAogQ09ORklHX1NNX1ZJREVPQ0NfODE1MD1tCiBDT05GSUdfU01fVklERU9DQ184MjUwPW0K LSMgQ09ORklHX1NNX1ZJREVPQ0NfODM1MCBpcyBub3Qgc2V0CitDT05GSUdfU01fVklERU9DQ184 MzUwPW0KICMgQ09ORklHX1NNX1ZJREVPQ0NfODU1MCBpcyBub3Qgc2V0CiBDT05GSUdfU1BNSV9Q TUlDX0NMS0RJVj1tCiBDT05GSUdfUUNPTV9IRlBMTD1tCkBAIC0xMDU0MSw3ICsxMDU0Myw3IEBA IENPTkZJR19USU1FUl9JTVhfU1lTX0NUUj15CiAjIGVuZCBvZiBDbG9jayBTb3VyY2UgZHJpdmVy cwogCiBDT05GSUdfTUFJTEJPWD15Ci0jIENPTkZJR19BUk1fTUhVIGlzIG5vdCBzZXQKK0NPTkZJ R19BUk1fTUhVPXkKIENPTkZJR19BUk1fTUhVX1YyPW0KIENPTkZJR19JTVhfTUJPWD1tCiBDT05G SUdfUExBVEZPUk1fTUhVPW0KQEAgLTEwNTgzLDggKzEwNTg1LDggQEAgQ09ORklHX0lPTU1VX0lP X1BHVEFCTEVfREFSVD15CiAKICMgQ09ORklHX0lPTU1VX0RFQlVHRlMgaXMgbm90IHNldAogIyBD T05GSUdfSU9NTVVfREVGQVVMVF9ETUFfU1RSSUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lPTU1V X0RFRkFVTFRfRE1BX0xBWlkgaXMgbm90IHNldAotQ09ORklHX0lPTU1VX0RFRkFVTFRfUEFTU1RI Uk9VR0g9eQorQ09ORklHX0lPTU1VX0RFRkFVTFRfRE1BX0xBWlk9eQorIyBDT05GSUdfSU9NTVVf REVGQVVMVF9QQVNTVEhST1VHSCBpcyBub3Qgc2V0CiBDT05GSUdfT0ZfSU9NTVU9eQogQ09ORklH X0lPTU1VX0RNQT15CiBDT05GSUdfSU9NTVVfU1ZBPXkKQEAgLTEwNzQ0LDcgKzEwNzQ2LDkgQEAg Q09ORklHX1FDT01fTExDQz1tCiBDT05GSUdfUUNPTV9LUllPX0wyX0FDQ0VTU09SUz15CiBDT05G SUdfUUNPTV9NRFRfTE9BREVSPW0KIENPTkZJR19RQ09NX09DTUVNPW0KK0NPTkZJR19RQ09NX1BE X01BUFBFUj1tCiBDT05GSUdfUUNPTV9QRFJfSEVMUEVSUz1tCitDT05GSUdfUUNPTV9QRFJfTVNH PW0KICMgQ09ORklHX1FDT01fUE1JQ19QRENIQVJHRVJfVUxPRyBpcyBub3Qgc2V0CiBDT05GSUdf UUNPTV9QTUlDX0dMSU5LPW0KIENPTkZJR19RQ09NX1FNSV9IRUxQRVJTPW0KQEAgLTExOTkwLDcg KzExOTk0LDQwIEBAIENPTkZJR19JTlRFUkNPTk5FQ1RfSU1YOE1NPW0KIENPTkZJR19JTlRFUkNP Tk5FQ1RfSU1YOE1OPW0KIENPTkZJR19JTlRFUkNPTk5FQ1RfSU1YOE1RPW0KIENPTkZJR19JTlRF UkNPTk5FQ1RfSU1YOE1QPW0KLSMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NIGlzIG5vdCBzZXQK K0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTT15CitDT05GSUdfSU5URVJDT05ORUNUX1FDT01fQkNN X1ZPVEVSPXkKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5MDkgaXMgbm90IHNldAor IyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fTVNNODkxNiBpcyBub3Qgc2V0CisjIENPTkZJR19J TlRFUkNPTk5FQ1RfUUNPTV9NU004OTM5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVD VF9RQ09NX01TTTg5NzQgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fTVNN ODk5NiBpcyBub3Qgc2V0CitDT05GSUdfSU5URVJDT05ORUNUX1FDT01fT1NNX0wzPW0KKyMgQ09O RklHX0lOVEVSQ09OTkVDVF9RQ09NX1FDTTIyOTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJD T05ORUNUX1FDT01fUUNTNDA0IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09N X1FEVTEwMDAgaXMgbm90IHNldAorQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1JQTUhfUE9TU0lC TEU9eQorQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1JQTUg9eQorIyBDT05GSUdfSU5URVJDT05O RUNUX1FDT01fU0E4Nzc1UCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9T QzcxODAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0M3MjgwIGlzIG5v dCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NDODE4MFggaXMgbm90IHNldAorQ09O RklHX0lOVEVSQ09OTkVDVF9RQ09NX1NDODI4MFhQPXkKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9R Q09NX1NETTY2MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRE02NzAg aXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0RNODQ1IGlzIG5vdCBzZXQK KyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NEWDU1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lO VEVSQ09OTkVDVF9RQ09NX1NEWDY1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9R Q09NX1NEWDc1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNNjExNSBp cyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTYzNTAgaXMgbm90IHNldAor IyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU003MTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lO VEVSQ09OTkVDVF9RQ09NX1NNODE1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1Rf UUNPTV9TTTgyNTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004MzUw IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODQ1MCBpcyBub3Qgc2V0 CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTg1NTAgaXMgbm90IHNldAorIyBDT05GSUdf SU5URVJDT05ORUNUX1FDT01fU004NjUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVD VF9RQ09NX1gxRTgwMTAwIGlzIG5vdCBzZXQKIENPTkZJR19JTlRFUkNPTk5FQ1RfU0FNU1VORz15 CiBDT05GSUdfSU5URVJDT05ORUNUX0VYWU5PUz1tCiBDT05GSUdfSU5URVJDT05ORUNUX0NMSz1t CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4Ni45L3BhdGNoZXMvc29jLXFjb20tYWRkLWluLWtl cm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9zcmNwa2dzL2xpbnV4Ni45L3Bh dGNoZXMvc29jLXFjb20tYWRkLWluLWtlcm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjc5NGFjMmYyZDc3 ZjkyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9saW51eDYuOS9wYXRjaGVzL3NvYy1xY29t LWFkZC1pbi1rZXJuZWwtcGQtbWFwcGVyLWltcGxlbWVudGF0aW9uLnBhdGNoCkBAIC0wLDAgKzEs MTk1MSBAQAoraHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wcm9qZWN0L2xpbnV4LWFybS1t c20vY292ZXIvMjAyNDA2MjItcWNvbS1wZC1tYXBwZXItdjktMC1hODRlZTM1OTFjOGVAbGluYXJv Lm9yZy8KKworYWNjZXB0ZWQgdXBzdHJlYW0sIGV4cGVjdGVkIG1haW5saW5lIGluIDYuMTEKKwor RnJvbTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0 ZTogU2F0LCAyMiBKdW4gMjAyNCAwMTowMzo0MCArMDMwMAorU3ViamVjdDogW1BBVENIIHY5IDEv NV0gc29jOiBxY29tOiBwZHI6IHByb3RlY3QgbG9jYXRvcl9hZGRyIHdpdGggdGhlIG1haW4KKyBt dXRleAorCitJZiB0aGUgc2VydmljZSBsb2NhdG9yIHNlcnZlciBpcyByZXN0YXJ0ZWQgZmFzdCBl bm91Z2gsIHRoZSBQRFIgY2FuCityZXdyaXRlIGxvY2F0b3JfYWRkciBmaWVsZHMgY29uY3VycmVu dGx5LiBQcm90ZWN0IHRoZW0gYnkgcGxhY2luZworbW9kaWZpY2F0aW9uIG9mIHRob3NlIGZpZWxk cyB1bmRlciB0aGUgbWFpbiBwZHItPmxvY2suCisKK0ZpeGVzOiBmYmU2MzliNDRhODIgKCJzb2M6 IHFjb206IEludHJvZHVjZSBQcm90ZWN0aW9uIERvbWFpbiBSZXN0YXJ0IGhlbHBlcnMiKQorVGVz dGVkLWJ5OiBOZWlsIEFybXN0cm9uZyA8bmVpbC5hcm1zdHJvbmdAbGluYXJvLm9yZz4gIyBvbiBT TTg1NTAtUVJECitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3RlZXZAa2FsaS5vcmc+ CitUZXN0ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8YWxleGV5bWluQHBvc3RtYXJrZXRvcy5v cmc+CitTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgQmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxp bmFyby5vcmc+CitSZXZpZXdlZC1ieTogQ2hyaXMgTGV3IDxxdWljX2NsZXdAcXVpY2luYy5jb20+ CistLS0KKyBkcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYyB8IDYgKysrKy0tCisgMSBm aWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jIGIvZHJpdmVycy9zb2MvcWNvbS9w ZHJfaW50ZXJmYWNlLmMKK2luZGV4IGExYjZhNDA4MWRlYS4uNzZhNjJjMmVjYzU4IDEwMDY0NAor LS0tIGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKKysrKyBiL2RyaXZlcnMvc29j L3Fjb20vcGRyX2ludGVyZmFjZS5jCitAQCAtNzYsMTIgKzc2LDEyIEBAIHN0YXRpYyBpbnQgcGRy X2xvY2F0b3JfbmV3X3NlcnZlcihzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1pLAorIAkJCQkJICAgICAg bG9jYXRvcl9oZGwpOworIAlzdHJ1Y3QgcGRyX3NlcnZpY2UgKnBkczsKKyAKKysJbXV0ZXhfbG9j aygmcGRyLT5sb2NrKTsKKyAJLyogQ3JlYXRlIGEgbG9jYWwgY2xpZW50IHBvcnQgZm9yIFFNSSBj b21tdW5pY2F0aW9uICovCisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX2ZhbWlseSA9IEFGX1FJUENS VFI7CisgCXBkci0+bG9jYXRvcl9hZGRyLnNxX25vZGUgPSBzdmMtPm5vZGU7CisgCXBkci0+bG9j YXRvcl9hZGRyLnNxX3BvcnQgPSBzdmMtPnBvcnQ7CisgCistCW11dGV4X2xvY2soJnBkci0+bG9j ayk7CisgCXBkci0+bG9jYXRvcl9pbml0X2NvbXBsZXRlID0gdHJ1ZTsKKyAJbXV0ZXhfdW5sb2Nr KCZwZHItPmxvY2spOworIAorQEAgLTEwNCwxMCArMTA0LDEwIEBAIHN0YXRpYyB2b2lkIHBkcl9s b2NhdG9yX2RlbF9zZXJ2ZXIoc3RydWN0IHFtaV9oYW5kbGUgKnFtaSwKKyAKKyAJbXV0ZXhfbG9j aygmcGRyLT5sb2NrKTsKKyAJcGRyLT5sb2NhdG9yX2luaXRfY29tcGxldGUgPSBmYWxzZTsKKy0J bXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOworIAorIAlwZHItPmxvY2F0b3JfYWRkci5zcV9ub2Rl ID0gMDsKKyAJcGRyLT5sb2NhdG9yX2FkZHIuc3FfcG9ydCA9IDA7CisrCW11dGV4X3VubG9jaygm cGRyLT5sb2NrKTsKKyB9CisgCisgc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfb3BzIHBkcl9sb2Nh dG9yX29wcyA9IHsKK0BAIC0zNjUsMTIgKzM2NSwxNCBAQCBzdGF0aWMgaW50IHBkcl9nZXRfZG9t YWluX2xpc3Qoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSAqcmVxLAorIAlpZiAo cmV0IDwgMCkKKyAJCXJldHVybiByZXQ7CisgCisrCW11dGV4X2xvY2soJnBkci0+bG9jayk7Cisg CXJldCA9IHFtaV9zZW5kX3JlcXVlc3QoJnBkci0+bG9jYXRvcl9oZGwsCisgCQkJICAgICAgICZw ZHItPmxvY2F0b3JfYWRkciwKKyAJCQkgICAgICAgJnR4biwgU0VSVlJFR19HRVRfRE9NQUlOX0xJ U1RfUkVRLAorIAkJCSAgICAgICBTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9SRVFfTUFYX0xFTiwK KyAJCQkgICAgICAgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpLAorIAkJCSAgICAgICBy ZXEpOworKwltdXRleF91bmxvY2soJnBkci0+bG9jayk7CisgCWlmIChyZXQgPCAwKSB7CisgCQlx bWlfdHhuX2NhbmNlbCgmdHhuKTsKKyAJCXJldHVybiByZXQ7CisKK0Zyb206IERtaXRyeSBCYXJ5 c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KK0RhdGU6IFNhdCwgMjIgSnVuIDIw MjQgMDE6MDM6NDEgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCB2OSAyLzVdIHNvYzogcWNvbTogcGRy OiBmaXggcGFyc2luZyBvZiBkb21haW5zIGxpc3RzCisKK1doaWxlIHBhcnNpbmcgdGhlIGRvbWFp bnMgbGlzdCwgc3RhcnQgb2Zmc2V0cyBmcm9tIDAgcmF0aGVyIHRoYW4gZnJvbQorZG9tYWluc19y ZWFkLiBUaGUgZG9tYWluc19yZWFkIGlzIGVxdWFsIHRvIHRoZSB0b3RhbCBjb3VudCBvZiB0aGUK K2RvbWFpbnMgd2UgaGF2ZSBzZWVuLCB3aGlsZSB0aGUgZG9tYWlucyBsaXN0IGluIHRoZSBtZXNz YWdlIHN0YXJ0cyBmcm9tCitvZmZzZXQgMC4KKworRml4ZXM6IGZiZTYzOWI0NGE4MiAoInNvYzog cWNvbTogSW50cm9kdWNlIFByb3RlY3Rpb24gRG9tYWluIFJlc3RhcnQgaGVscGVycyIpCitUZXN0 ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3RlZXZAa2FsaS5vcmc+CitUZXN0ZWQtYnk6IEFs ZXhleSBNaW5uZWtoYW5vdiA8YWxleGV5bWluQHBvc3RtYXJrZXRvcy5vcmc+CitSZXZpZXdlZC1i eTogQ2hyaXMgTGV3IDxxdWljX2NsZXdAcXVpY2luYy5jb20+CitUZXN0ZWQtYnk6IE5laWwgQXJt c3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPiAjIG9uIFNNODU1MC1RUkQKK1NpZ25l ZC1vZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4K Ky0tLQorIGRyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jIHwgMiArLQorIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZHJp dmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRl cmZhY2UuYworaW5kZXggNzZhNjJjMmVjYzU4Li4yMTYxNjZlOThmYWUgMTAwNjQ0CistLS0gYS9k cml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYworKysrIGIvZHJpdmVycy9zb2MvcWNvbS9w ZHJfaW50ZXJmYWNlLmMKK0BAIC00MTcsNyArNDE3LDcgQEAgc3RhdGljIGludCBwZHJfbG9jYXRl X3NlcnZpY2Uoc3RydWN0IHBkcl9oYW5kbGUgKnBkciwgc3RydWN0IHBkcl9zZXJ2aWNlICpwZHMp CisgCQlpZiAocmV0IDwgMCkKKyAJCQlnb3RvIG91dDsKKyAKKy0JCWZvciAoaSA9IGRvbWFpbnNf cmVhZDsgaSA8IHJlc3AtPmRvbWFpbl9saXN0X2xlbjsgaSsrKSB7CisrCQlmb3IgKGkgPSAwOyBp IDwgcmVzcC0+ZG9tYWluX2xpc3RfbGVuOyBpKyspIHsKKyAJCQllbnRyeSA9ICZyZXNwLT5kb21h aW5fbGlzdFtpXTsKKyAKKyAJCQlpZiAoc3RybmxlbihlbnRyeS0+bmFtZSwgc2l6ZW9mKGVudHJ5 LT5uYW1lKSkgPT0gc2l6ZW9mKGVudHJ5LT5uYW1lKSkKKworRnJvbTogRG1pdHJ5IEJhcnlzaGtv diA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0ZTogU2F0LCAyMiBKdW4gMjAyNCAw MTowMzo0MiArMDMwMAorU3ViamVjdDogW1BBVENIIHY5IDMvNV0gc29jOiBxY29tOiBwZHI6IGV4 dHJhY3QgUERSIG1lc3NhZ2UgbWFyc2hhbGxpbmcKKyBkYXRhCisKK1RoZSBpbi1rZXJuZWwgUEQg bWFwcGVyIGlzIGdvaW5nIHRvIHVzZSBzYW1lIG1lc3NhZ2Ugc3RydWN0dXJlcyBhcyB0aGUKK1FD T01fUERSX0hFTFBFUlMgbW9kdWxlLiBFeHRyYWN0IG1lc3NhZ2UgbWFyc2hhbGxpbmcgZGF0YSB0 byBzZXBhcmF0ZQorbW9kdWxlIHRoYXQgY2FuIGJlIHVzZWQgYnkgYm90aCBQRFIgaGVscGVycyBh bmQgYnkgUEQgbWFwcGVyLgorCitSZXZpZXdlZC1ieTogQnJ5YW4gTydEb25vZ2h1ZSA8YnJ5YW4u b2Rvbm9naHVlQGxpbmFyby5vcmc+CitUZXN0ZWQtYnk6IFN0ZWV2IEtsaW1hc3pld3NraSA8c3Rl ZXZAa2FsaS5vcmc+CitUZXN0ZWQtYnk6IEFsZXhleSBNaW5uZWtoYW5vdiA8YWxleGV5bWluQHBv c3RtYXJrZXRvcy5vcmc+CitUZXN0ZWQtYnk6IE5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9u Z0BsaW5hcm8ub3JnPiAjIG9uIFNNODU1MC1RUkQKK1NpZ25lZC1vZmYtYnk6IERtaXRyeSBCYXJ5 c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KKy0tLQorIGRyaXZlcnMvc29jL3Fj b20vS2NvbmZpZyAgICAgICAgfCAgIDQgKworIGRyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUgICAg ICAgfCAgIDEgKworIGRyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmggfCAzMDYgKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkcml2ZXJzL3NvYy9xY29tL3Fjb21f cGRyX21zZy5jIHwgMzE5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK KyA0IGZpbGVzIGNoYW5nZWQsIDMzNCBpbnNlcnRpb25zKCspLCAyOTYgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcgYi9kcml2ZXJzL3NvYy9xY29t L0tjb25maWcKK2luZGV4IDVhZjMzYjBlMzQ3MC4uOTU5NzNjNmI4MjhmIDEwMDY0NAorLS0tIGEv ZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcK K0BAIC03NSw4ICs3NSwxMiBAQCBjb25maWcgUUNPTV9PQ01FTQorIGNvbmZpZyBRQ09NX1BEUl9I RUxQRVJTCisgCXRyaXN0YXRlCisgCXNlbGVjdCBRQ09NX1FNSV9IRUxQRVJTCisrCXNlbGVjdCBR Q09NX1BEUl9NU0cKKyAJZGVwZW5kcyBvbiBORVQKKyAKKytjb25maWcgUUNPTV9QRFJfTVNHCisr CXRyaXN0YXRlCisrCisgY29uZmlnIFFDT01fUE1JQ19QRENIQVJHRVJfVUxPRworIAl0cmlzdGF0 ZSAiUXVhbGNvbW0gUE1JQyBQRENoYXJnZXIgVUxPRyBkcml2ZXIiCisgCWRlcGVuZHMgb24gUlBN U0cKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlIGIvZHJpdmVycy9zb2Mv cWNvbS9NYWtlZmlsZQoraW5kZXggY2EwYmVjZTBkZmZmLi4zMTEwYWMzMjg4YmMgMTAwNjQ0Cist LS0gYS9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL01h a2VmaWxlCitAQCAtOCw2ICs4LDcgQEAgb2JqLSQoQ09ORklHX1FDT01fR1NCSSkJKz0JcWNvbV9n c2JpLm8KKyBvYmotJChDT05GSUdfUUNPTV9NRFRfTE9BREVSKQkrPSBtZHRfbG9hZGVyLm8KKyBv YmotJChDT05GSUdfUUNPTV9PQ01FTSkJKz0gb2NtZW0ubworIG9iai0kKENPTkZJR19RQ09NX1BE Ul9IRUxQRVJTKQkrPSBwZHJfaW50ZXJmYWNlLm8KKytvYmotJChDT05GSUdfUUNPTV9QRFJfTVNH KQkrPSBxY29tX3Bkcl9tc2cubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNfR0xJTkspCSs9IHBt aWNfZ2xpbmsubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNfR0xJTkspCSs9IHBtaWNfZ2xpbmtf YWx0bW9kZS5vCisgb2JqLSQoQ09ORklHX1FDT01fUE1JQ19QRENIQVJHRVJfVUxPRykJKz0gcG1p Y19wZGNoYXJnZXJfdWxvZy5vCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50 ZXJuYWwuaCBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKK2luZGV4IDAzYzI4MmI3 ZjE3ZS4uN2U1YmI1YTk1Mjc1IDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50 ZXJuYWwuaAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaAorQEAgLTI4LDgz ICsyOCwxMiBAQCBzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSB7CisgCXUzMiBpbnN0YW5j ZTsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xv Y2F0aW9uX2VudHJ5X2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJ TkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5l bGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVks CistCQkudGx2X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yo c3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkgICBuYW1lKSwKKy0JfSwKKy0J eworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKy0JCS5lbGVtX2xl biAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKy0JCS5hcnJh eV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAg ICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkg ICBpbnN0YW5jZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05F RF8xX0JZVEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0g c2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAg ICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9j YXRpb25fZW50cnksCistCQkJCQkgICBzZXJ2aWNlX2RhdGFfdmFsaWQpLAorLQl9LAorLQl7Cist CQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorLQkJLmVsZW1fbGVuICAg ICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorLQkJLmFycmF5X3R5 cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDAsCistCQkub2Zmc2V0ICAgICAg ICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKy0JCQkJCSAgIHNl cnZpY2VfZGF0YSksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9t YWluX2xpc3RfcmVxIHsKKyAJY2hhciBzZXJ2aWNlX25hbWVbU0VSVlJFR19OQU1FX0xFTkdUSCAr IDFdOworIAl1OCBkb21haW5fb2Zmc2V0X3ZhbGlkOworIAl1MzIgZG9tYWluX29mZnNldDsKKyB9 OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2dldF9kb21h aW5fbGlzdF9yZXFfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklO RywKKy0JCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorLQkJLmVs ZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwK Ky0JCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRv ZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorLQkJCQkJICAgc2VydmljZV9u YW1lKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorLQkJ LmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCist CQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKy0J CS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlz dF9yZXEsCistCQkJCQkgICBkb21haW5fb2Zmc2V0X3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRh dGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9 IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKy0JCS5hcnJheV90eXBlCT0g Tk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSwKKy0JCQkJCSAg IGRvbWFpbl9vZmZzZXQpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfZ2V0 X2RvbWFpbl9saXN0X3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJlc3A7 CisgCXU4IHRvdGFsX2RvbWFpbnNfdmFsaWQ7CitAQCAtMTE2LDI2NCArNDUsNDkgQEAgc3RydWN0 IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgeworIAlzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlv bl9lbnRyeSBkb21haW5fbGlzdFtTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSF07CisgfTsKKyAK Ky1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xp c3RfcmVzcF9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAor LQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1 Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCist CQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yo c3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICByZXNwKSwKKy0J CS5laV9hcnJheSAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorLQl9LAorLQl7Cist CQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCistCQkuZWxlbV9sZW4gICAgICAgPSAx LAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9f QVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAgICAgICAgID0g b2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICB0 b3RhbF9kb21haW5zX3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1J X1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXpl ICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2 X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0 IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICB0b3RhbF9kb21haW5zKSwK Ky0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1f bGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJy YXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMSwKKy0JCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNw LAorLQkJCQkJICAgZGJfcmV2X2NvdW50X3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlw ZSAgICAgID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCist CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJS QVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDExLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkYl9y ZXZfY291bnQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcs CistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4 KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEy LAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFp bl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdF92YWxpZCksCistCX0sCistCXsKKy0J CS5kYXRhX3R5cGUgICAgICA9IFFNSV9EQVRBX0xFTiwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEs CistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19B UlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCistCQkub2Zmc2V0ICAgICAgICAgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKy0JCQkJCSAgIGRv bWFpbl9saXN0X2xlbiksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJV Q1QsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSCwKKy0J CS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSks CistCQkuYXJyYXlfdHlwZQk9IFZBUl9MRU5fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAw eDEyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2Rv bWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdCksCistCQkuZWlfYXJyYXkgICAg ICA9IHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1 Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEgeworIAl1OCBlbmFibGU7CisgCWNoYXIg c2VydmljZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyB9OworIAorLXN0YXRpYyBj b25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcV9l aVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMV9CWVRFLAor LQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCks CistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwK Ky0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xp c3RlbmVyX3JlcSwKKy0JCQkJCSAgIGVuYWJsZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUg ICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVO R1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90 eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAg ICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxLAor LQkJCQkJICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2 cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVf djAxIHJlc3A7CisgCXU4IGN1cnJfc3RhdGVfdmFsaWQ7CisgCWVudW0gc2VydnJlZ19zZXJ2aWNl X3N0YXRlIGN1cnJfc3RhdGU7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpW10gPSB7CistCXsKKy0JCS5k YXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEpLAor LQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCist CQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0 ZW5lcl9yZXNwLAorLQkJCQkJICAgcmVzcCksCistCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNw b25zZV90eXBlX3YwMV9laSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09Q VF9GTEFHLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNp emVvZih1OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAg ID0gMHgxMCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3Jl Z2lzdGVyX2xpc3RlbmVyX3Jlc3AsCistCQkJCQkgICBjdXJyX3N0YXRlX3ZhbGlkKSwKKy0JfSwK Ky0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NJR05FRF80X0JZVEVfRU5VTSwKKy0JCS5l bGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoZW51bSBzZXJ2 cmVnX3NlcnZpY2Vfc3RhdGUpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZf dHlwZSAgICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qg c2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorLQkJCQkJICAgY3Vycl9zdGF0ZSksCist CX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3BkX3JlcSB7CisgCWNo YXIgc2VydmljZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyB9OworIAorLXN0YXRp YyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxX2VpW10g PSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4g ICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNp emVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAg ICAgPSAweDAxLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdf cmVzdGFydF9wZF9yZXEsCistCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorLQl9LAorLQl7fQorLX07 CistCisgc3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNw b25zZV90eXBlX3YwMSByZXNwOworIH07CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxl bV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5 cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEpLAorLQkJLmFy cmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCistCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3AsCist CQkJCQkgICByZXNwKSwKKy0JCS5laV9hcnJheSAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAx X2VpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9p bmQgeworIAllbnVtIHNlcnZyZWdfc2VydmljZV9zdGF0ZSBjdXJyX3N0YXRlOworIAljaGFyIHNl cnZpY2VfcGF0aFtTRVJWUkVHX05BTUVfTEVOR1RIICsgMV07CisgCXUxNiB0cmFuc2FjdGlvbl9p ZDsKKyB9OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3N0 YXRlX3VwZGF0ZWRfaW5kX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9T SUdORURfNF9CWVRFX0VOVU0sCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6 ZSAgICAgID0gc2l6ZW9mKHUzMiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRs dl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorLQkJCQkJICAgY3Vycl9zdGF0ZSksCistCX0s CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAg ICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVv ZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAg PSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3Rh dGVfdXBkYXRlZF9pbmQsCistCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorLQl9LAorLQl7CistCQku ZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAg ID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAorLQkJLmFycmF5X3R5cGUJ PSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDMsCistCQkub2Zmc2V0ICAgICAg ICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwKKy0JCQkJCSAg IHRyYW5zYWN0aW9uX2lkKSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2cmVnX3Nl dF9hY2tfcmVxIHsKKyAJY2hhciBzZXJ2aWNlX3BhdGhbU0VSVlJFR19OQU1FX0xFTkdUSCArIDFd OworIAl1MTYgdHJhbnNhY3Rpb25faWQ7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFt aV9lbGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3JlcV9laVtdID0geworLQl7CistCQkuZGF0YV90 eXBlICAgICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1F X0xFTkdUSCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCistCQkuYXJy YXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVxLAorLQkJCQkJ ICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VO U0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5 cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNl cnZyZWdfc2V0X2Fja19yZXEsCistCQkJCQkgICB0cmFuc2FjdGlvbl9pZCksCistCX0sCistCXt9 CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jl c3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9l bGVtX2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlw ZSAgICAgID0gUU1JX1NUUlVDVCwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9z aXplICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCistCQkuYXJy YXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVzcCwKKy0JCQkJ CSAgIHJlc3ApLAorLQkJLmVpX2FycmF5ICAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2Vp LAorLQl9LAorLQl7fQorLX07CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNl cnZyZWdfbG9jYXRpb25fZW50cnlfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0 cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWlbXTsKKytl eHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5l cl9yZXFfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19y ZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxl bV9pbmZvIHNlcnZyZWdfcmVzdGFydF9wZF9yZXFfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0 IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3BfZWlbXTsKKytleHRlcm4gY29u c3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdOwor K2V4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVxX2Vp W107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19y ZXNwX2VpW107CisgCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9xY29t X3Bkcl9tc2cuYyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMDAuLjliNDZmNDJhYTE0NgorLS0tIC9kZXYvbnVs bAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYworQEAgLTAsMCArMSwzMTkg QEAKKysvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorKy8qCisrICogQ29weXJp Z2h0IChDKSAyMDIwIFRoZSBMaW51eCBGb3VuZGF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor KyAqLworKworKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKysjaW5jbHVkZSA8bGludXgvc29j L3Fjb20vcW1pLmg+CisrCisrI2luY2x1ZGUgInBkcl9pbnRlcm5hbC5oIgorKworK2NvbnN0IHN0 cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWlbXSA9IHsKKysJewor KwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNF UlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIp LAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisr CQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRy eSwKKysJCQkJCSAgIG5hbWUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlf VU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUg ICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZf dHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2Vy dnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJCSAgIGluc3RhbmNlKSwKKysJfSwKKysJeworKwkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzFfQllURSwKKysJCS5lbGVtX2xlbiAgICAg ICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJ PSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAg PSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJCSAgIHNlcnZp Y2VfZGF0YV92YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJ R05FRF80X0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAg ID0gc2l6ZW9mKHUzMiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBl ICAgICAgID0gMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X2xvY2F0aW9uX2VudHJ5LAorKwkJCQkJICAgc2VydmljZV9kYXRhKSwKKysJfSwKKysJe30KKyt9 OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWkpOworKworK2Nv bnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcV9laVtd ID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVu ICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAg ICAgID0gMHgwMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXEsCisrCQkJCQkgICBzZXJ2aWNlX25hbWUpLAorKwl9LAorKwl7 CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCisrCQkuZWxlbV9sZW4gICAgICAg PSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0g Tk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorKwkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSwKKysJCQkJCSAg IGRvbWFpbl9vZmZzZXRfdmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBR TUlfVU5TSUdORURfNF9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3Np emUgICAgICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50 bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1 Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorKwkJCQkJICAgZG9tYWluX29mZnNldCks CisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX2dldF9kb21haW5f bGlzdF9yZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0 X2RvbWFpbl9saXN0X3Jlc3BfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1J X1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCisrCQkuYXJyYXlfdHlwZQk9IE5P X0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9 IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAg cmVzcCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJ fSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVu ICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlf dHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQg ICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAor KwkJCQkJICAgdG90YWxfZG9tYWluc192YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUg ICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZ LAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNl dG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgdG90YWxf ZG9tYWlucyksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywK KysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgp LAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTEs CisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWlu X2xpc3RfcmVzcCwKKysJCQkJCSAgIGRiX3Jldl9jb3VudF92YWxpZCksCisrCX0sCisrCXsKKysJ CS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCisrCQkuZWxlbV9sZW4gICAg ICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCisrCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMSwKKysJCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJ CQkJICAgZGJfcmV2X2NvdW50KSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1J X09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9 IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAg ICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9tYWluX2xpc3RfdmFsaWQpLAorKwl9 LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfREFUQV9MRU4sCisrCQkuZWxlbV9sZW4g ICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90 eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEyLAorKwkJLm9mZnNldCAg ICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCisr CQkJCQkgICBkb21haW5fbGlzdF9sZW4pLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAg PSBRTUlfU1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19ET01BSU5fTElTVF9M RU5HVEgsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRp b25fZW50cnkpLAorKwkJLmFycmF5X3R5cGUJPSBWQVJfTEVOX0FSUkFZLAorKwkJLnRsdl90eXBl ICAgICAgID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2 cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9tYWluX2xpc3QpLAorKwkJLmVp X2FycmF5ICAgICAgPSBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpLAorKwl9LAorKwl7fQorK307 CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcF9laSk7Cisr CisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9y ZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzFfQllU RSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yo dTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4 MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rl cl9saXN0ZW5lcl9yZXEsCisrCQkJCQkgICBlbmFibGUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90 eXBlICAgICAgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1F X0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJy YXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jl cSwKKysJCQkJCSAgIHNlcnZpY2VfcGF0aCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lN Qk9MX0dQTChzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcV9laSk7CisrCisrY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpW10gPSB7 CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCisrCQkuZWxlbV9sZW4gICAg ICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2Vf dHlwZV92MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAg ICA9IDB4MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19y ZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorKwkJCQkJICAgcmVzcCksCisrCQkuZWlfYXJyYXkgICAg ICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAg ICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3Np emUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRs dl90eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVj dCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AsCisrCQkJCQkgICBjdXJyX3N0YXRlX3Zh bGlkKSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NJR05FRF80X0JZVEVf RU5VTSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXpl b2YoZW51bSBzZXJ2cmVnX3NlcnZpY2Vfc3RhdGUpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJB WSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorKwkJCQkJICAgY3Vy cl9zdGF0ZSksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3Jl Z2lzdGVyX2xpc3RlbmVyX3Jlc3BfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZv IHNlcnZyZWdfcmVzdGFydF9wZF9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEgg KyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJ PSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAg ICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3BkX3JlcSwKKysJCQkJCSAgIHNl cnZpY2VfcGF0aCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVn X3Jlc3RhcnRfcGRfcmVxX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2 cmVnX3Jlc3RhcnRfcGRfcmVzcF9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBR TUlfU1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9 IHNpemVvZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKysJCS5hcnJheV90eXBlCT0g Tk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwLAorKwkJCQkJICAgcmVz cCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwK KysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwX2Vp KTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRf aW5kX2VpW10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TSUdORURfNF9CWVRF X0VOVU0sCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6 ZW9mKHUzMiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAg ID0gMHgwMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3N0 YXRlX3VwZGF0ZWRfaW5kLAorKwkJCQkJICAgY3Vycl9zdGF0ZSksCisrCX0sCisrCXsKKysJCS5k YXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVH X05BTUVfTEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKysJ CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9p bmQsCisrCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAg ICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5l bGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwK KysJCS50bHZfdHlwZSAgICAgICA9IDB4MDMsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRv ZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwKKysJCQkJCSAgIHRyYW5zYWN0aW9u X2lkKSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfc3RhdGVf dXBkYXRlZF9pbmRfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdf c2V0X2Fja19yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklO RywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVs ZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwK KysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRv ZihzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSwKKysJCQkJCSAgIHNlcnZpY2VfcGF0aCksCisr CX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCisrCQku ZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCisr CQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJ CS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVxLAor KwkJCQkJICAgdHJhbnNhY3Rpb25faWQpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJP TF9HUEwoc2VydnJlZ19zZXRfYWNrX3JlcV9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAg ICAgID0gUU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXpl ICAgICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCisrCQkuYXJyYXlf dHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQg ICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVzcCwKKysJCQkJCSAg IHJlc3ApLAorKwkJLmVpX2FycmF5ICAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAor Kwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19zZXRfYWNrX3Jlc3Bf ZWkpOworKworK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKytNT0RVTEVfREVTQ1JJUFRJT04oIlF1 YWxjb21tIFByb3RlY3Rpb24gRG9tYWluIG1lc3NhZ2VzIGRhdGEiKTsKKworRnJvbTogRG1pdHJ5 IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0ZTogU2F0LCAyMiBK dW4gMjAyNCAwMTowMzo0MyArMDMwMAorU3ViamVjdDogW1BBVENIIHY5IDQvNV0gc29jOiBxY29t OiBhZGQgcGQtbWFwcGVyIGltcGxlbWVudGF0aW9uCisKK0V4aXN0aW5nIHVzZXJzcGFjZSBwcm90 ZWN0aW9uIGRvbWFpbiBtYXBwZXIgaW1wbGVtZW50YXRpb24gaGFzIHNldmVyYWwKK2lzc3VlLiBJ dCBkb2Vzbid0IHBsYXkgd2VsbCB3aXRoIENPTkZJR19FWFRSQV9GSVJNV0FSRSwgaXQgZG9lc24n dAorcmVyZWFkIEpTT04gZmlsZXMgaWYgZmlybXdhcmUgbG9jYXRpb24gaXMgY2hhbmdlZCAob3Ig aWYgZmlybXdhcmUgd2FzCitub3QgYXZhaWxhYmxlIGF0IHRoZSB0aW1lIHBkLW1hcHBlciB3YXMg c3RhcnRlZCBidXQgdGhlIGNvcnJlc3BvbmRpbmcKK2RpcmVjdG9yeSBpcyBtb3VudGVkIGxhdGVy KSwgZXRjLgorCitQcm92aWRlIGluLWtlcm5lbCBzZXJ2aWNlIGltcGxlbWVudGluZyBwcm90ZWN0 aW9uIGRvbWFpbiBtYXBwaW5nCityZXF1aXJlZCB0byB3b3JrIHdpdGggc2V2ZXJhbCBzZXJ2aWNl cywgd2hpY2ggYXJlIHByb3ZpZGVkIGJ5IHRoZSBEU1AKK2Zpcm13YXJlLgorCitUaGlzIG1vZHVs ZSBpcyBsb2FkZWQgYXV0b21hdGljYWxseSBieSB0aGUgcmVtb3RlcHJvYyBkcml2ZXJzIHdoZW4K K25lY2Vzc2FyeSB2aWEgdGhlIHN5bWJvbCBkZXBlbmRlbmN5LiBJdCB1c2VzIGEgcm9vdCBub2Rl IHRvIG1hdGNoIGEKK3Byb3RlY3Rpb24gZG9tYWlucyBtYXAgZm9yIGEgcGFydGljdWxhciBib2Fy ZC4gSXQgaXMgbm90IHBvc3NpYmxlIHRvCitpbXBsZW1lbnQgaXQgYXMgYSAnZHJpdmVyJyBhcyB0 aGVyZSBpcyBubyBjb3JyZXNwb25kaW5nIGRldmljZS4KKworVGVzdGVkLWJ5OiBTdGVldiBLbGlt YXN6ZXdza2kgPHN0ZWV2QGthbGkub3JnPgorVGVzdGVkLWJ5OiBBbGV4ZXkgTWlubmVraGFub3Yg PGFsZXhleW1pbkBwb3N0bWFya2V0b3Mub3JnPgorUmV2aWV3ZWQtYnk6IENocmlzIExldyA8cXVp Y19jbGV3QHF1aWNpbmMuY29tPgorVGVzdGVkLWJ5OiBOZWlsIEFybXN0cm9uZyA8bmVpbC5hcm1z dHJvbmdAbGluYXJvLm9yZz4gIyBvbiBTTTg1NTAtUVJECitTaWduZWQtb2ZmLWJ5OiBEbWl0cnkg QmFyeXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CistLS0KKyBkcml2ZXJzL3Nv Yy9xY29tL0tjb25maWcgICAgICAgICAgfCAgMTEgKworIGRyaXZlcnMvc29jL3Fjb20vTWFrZWZp bGUgICAgICAgICB8ICAgMSArCisgZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaCAgIHwg IDE0ICsKKyBkcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRfbWFwcGVyLmMgfCA2NzYgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBkcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRy X21zZy5jICAgfCAgMzQgKysKKyA1IGZpbGVzIGNoYW5nZWQsIDczNiBpbnNlcnRpb25zKCspCisK K2RpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcgYi9kcml2ZXJzL3NvYy9xY29t L0tjb25maWcKK2luZGV4IDk1OTczYzZiODI4Zi4uMGEyZjJiZmQ3ODYzIDEwMDY0NAorLS0tIGEv ZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcK K0BAIC03Miw2ICs3MiwxNyBAQCBjb25maWcgUUNPTV9PQ01FTQorIAkgIHJlcXVpcmVtZW50cy4g VGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBieSB0aGUgR1BVLCBjYW1lcmEvdmlkZW8sIGFuZAorIAkg IGF1ZGlvIGNvbXBvbmVudHMgb24gc29tZSBTbmFwZHJhZ29uIFNvQ3MuCisgCisrY29uZmlnIFFD T01fUERfTUFQUEVSCisrCXRyaXN0YXRlICJRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFpbiBNYXBw ZXIiCisrCXNlbGVjdCBRQ09NX1FNSV9IRUxQRVJTCisrCWRlcGVuZHMgb24gTkVUICYmIFFSVFIK KysJZGVmYXVsdCBRQ09NX1JQUk9DX0NPTU1PTgorKwloZWxwCisrCSAgVGhlIFByb3RlY3Rpb24g RG9tYWluIE1hcHBlciBtYXBzIHJlZ2lzdGVyZWQgc2VydmljZXMgdG8gdGhlIGRvbWFpbnMKKysJ ICBhbmQgaW5zdGFuY2VzIGhhbmRsZWQgYnkgdGhlIHJlbW90ZSBEU1BzLiBUaGlzIGlzIGEga2Vy bmVsLXNwYWNlCisrCSAgaW1wbGVtZW50YXRpb24gb2YgdGhlIHNlcnZpY2UuIEl0IGlzIGEgc2lt cGxlciBhbHRlcm5hdGl2ZSB0byB0aGUKKysJICB1c2Vyc3BhY2UgZGFlbW9uLgorKworIGNvbmZp ZyBRQ09NX1BEUl9IRUxQRVJTCisgCXRyaXN0YXRlCisgCXNlbGVjdCBRQ09NX1FNSV9IRUxQRVJT CitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZSBiL2RyaXZlcnMvc29jL3Fj b20vTWFrZWZpbGUKK2luZGV4IDMxMTBhYzMyODhiYy4uZDM1NjBmODYxMDg1IDEwMDY0NAorLS0t IGEvZHJpdmVycy9zb2MvcWNvbS9NYWtlZmlsZQorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9NYWtl ZmlsZQorQEAgLTcsNiArNyw3IEBAIG9iai0kKENPTkZJR19RQ09NX0NPTU1BTkRfREIpICs9IGNt ZC1kYi5vCisgb2JqLSQoQ09ORklHX1FDT01fR1NCSSkJKz0JcWNvbV9nc2JpLm8KKyBvYmotJChD T05GSUdfUUNPTV9NRFRfTE9BREVSKQkrPSBtZHRfbG9hZGVyLm8KKyBvYmotJChDT05GSUdfUUNP TV9PQ01FTSkJKz0gb2NtZW0ubworK29iai0kKENPTkZJR19RQ09NX1BEX01BUFBFUikJKz0gcWNv bV9wZF9tYXBwZXIubworIG9iai0kKENPTkZJR19RQ09NX1BEUl9IRUxQRVJTKQkrPSBwZHJfaW50 ZXJmYWNlLm8KKyBvYmotJChDT05GSUdfUUNPTV9QRFJfTVNHKQkrPSBxY29tX3Bkcl9tc2cubwor IG9iai0kKENPTkZJR19RQ09NX1BNSUNfR0xJTkspCSs9IHBtaWNfZ2xpbmsubworZGlmZiAtLWdp dCBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmggYi9kcml2ZXJzL3NvYy9xY29tL3Bk cl9pbnRlcm5hbC5oCitpbmRleCA3ZTViYjVhOTUyNzUuLjhkMTdmN2ZiNzllNyAxMDA2NDQKKy0t LSBhL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKKysrKyBiL2RyaXZlcnMvc29jL3Fj b20vcGRyX2ludGVybmFsLmgKK0BAIC0xMyw2ICsxMyw4IEBACisgI2RlZmluZSBTRVJWUkVHX1NF VF9BQ0tfUkVRCQkJCTB4MjMKKyAjZGVmaW5lIFNFUlZSRUdfUkVTVEFSVF9QRF9SRVEJCQkJMHgy NAorIAorKyNkZWZpbmUgU0VSVlJFR19MT0NfUEZSX1JFUQkJCQkweDI0CisrCisgI2RlZmluZSBT RVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSAkJCTMyCisgI2RlZmluZSBTRVJWUkVHX1JFU1RBUlRf UERfUkVRX01BWF9MRU4JCQk2NworICNkZWZpbmUgU0VSVlJFR19SRUdJU1RFUl9MSVNURU5FUl9S RVFfTEVOCQk3MQorQEAgLTIwLDYgKzIyLDcgQEAKKyAjZGVmaW5lIFNFUlZSRUdfR0VUX0RPTUFJ Tl9MSVNUX1JFUV9NQVhfTEVOCQk3NAorICNkZWZpbmUgU0VSVlJFR19TVEFURV9VUERBVEVEX0lO RF9NQVhfTEVOCQk3OQorICNkZWZpbmUgU0VSVlJFR19HRVRfRE9NQUlOX0xJU1RfUkVTUF9NQVhf TEVOCQkyMzg5CisrI2RlZmluZSBTRVJWUkVHX0xPQ19QRlJfUkVTUF9NQVhfTEVOCQkJMTAKKyAK KyBzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSB7CisgCWNoYXIgbmFtZVtTRVJWUkVHX05B TUVfTEVOR1RIICsgMV07CitAQCAtNzksNiArODIsMTUgQEAgc3RydWN0IHNlcnZyZWdfc2V0X2Fj a19yZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByZXNwOworIH07CisgCisr c3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEgeworKwljaGFyIHNlcnZpY2VbU0VSVlJFR19OQU1F X0xFTkdUSCArIDFdOworKwljaGFyIHJlYXNvblsyNTddOworK307CisrCisrc3RydWN0IHNlcnZy ZWdfbG9jX3Bmcl9yZXNwIHsKKysJc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSByc3A7Cisr fTsKKysKKyBleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NhdGlv bl9lbnRyeV9laVtdOworIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVn X2dldF9kb21haW5fbGlzdF9yZXFfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcF9laVtdOworQEAgLTg5LDUgKzEwMSw3 IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRf cmVzcF9laVtdOworIGV4dGVybiBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3N0 YXRlX3VwZGF0ZWRfaW5kX2VpW107CisgZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZv IHNlcnZyZWdfc2V0X2Fja19yZXFfZWlbXTsKKyBleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFt aV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3JlcV9laVtdOworK2V4dGVybiBjb25zdCBzdHJ1 Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY19wZnJfcmVzcF9laVtdOworIAorICNlbmRpZgor ZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZF9tYXBwZXIuYyBiL2RyaXZlcnMv c29jL3Fjb20vcWNvbV9wZF9tYXBwZXIuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAwMDAwMC4uZWNiNjRmMDY1MjdmCistLS0gL2Rldi9udWxsCisrKysgYi9kcml2ZXJzL3Nv Yy9xY29tL3Fjb21fcGRfbWFwcGVyLmMKK0BAIC0wLDAgKzEsNjc2IEBACisrLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorKy8qCisrICogUXVhbGNvbW0gUHJvdGVjdGlv biBEb21haW4gbWFwcGVyCisrICoKKysgKiBDb3B5cmlnaHQgKGMpIDIwMjMgTGluYXJvIEx0ZC4K KysgKi8KKysKKysjaW5jbHVkZSA8bGludXgvYXV4aWxpYXJ5X2J1cy5oPgorKyNpbmNsdWRlIDxs aW51eC9rZXJuZWwuaD4KKysjaW5jbHVkZSA8bGludXgvbW9kX2RldmljZXRhYmxlLmg+CisrI2lu Y2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorKyNpbmNsdWRlIDxsaW51eC9vZi5oPgorKyNpbmNsdWRl IDxsaW51eC9yZWZjb3VudC5oPgorKyNpbmNsdWRlIDxsaW51eC9zb2MvcWNvbS9xbWkuaD4KKysK KysjaW5jbHVkZSAicGRyX2ludGVybmFsLmgiCisrCisrI2RlZmluZSBTRVJWUkVHX1FNSV9WRVJT SU9OIDB4MTAxCisrI2RlZmluZSBTRVJWUkVHX1FNSV9JTlNUQU5DRSAwCisrCisrI2RlZmluZSBU TVNfU0VSVlJFR19TRVJWSUNFICJ0bXMvc2VydnJlZyIKKysKKytzdHJ1Y3QgcWNvbV9wZG1fZG9t YWluX2RhdGEgeworKwljb25zdCBjaGFyICpkb21haW47CisrCXUzMiBpbnN0YW5jZV9pZDsKKysJ LyogTlVMTC10ZXJtaW5hdGVkIGFycmF5ICovCisrCWNvbnN0IGNoYXIgKiBzZXJ2aWNlc1tdOwor K307CisrCisrc3RydWN0IHFjb21fcGRtX2RvbWFpbiB7CisrCXN0cnVjdCBsaXN0X2hlYWQgbGlz dDsKKysJY29uc3QgY2hhciAqbmFtZTsKKysJdTMyIGluc3RhbmNlX2lkOworK307CisrCisrc3Ry dWN0IHFjb21fcGRtX3NlcnZpY2UgeworKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisrCXN0cnVj dCBsaXN0X2hlYWQgZG9tYWluczsKKysJY29uc3QgY2hhciAqbmFtZTsKKyt9OworKworK3N0cnVj dCBxY29tX3BkbV9kYXRhIHsKKysJcmVmY291bnRfdCByZWZjbnQ7CisrCXN0cnVjdCBxbWlfaGFu ZGxlIGhhbmRsZTsKKysJc3RydWN0IGxpc3RfaGVhZCBzZXJ2aWNlczsKKyt9OworKworK3N0YXRp YyBERUZJTkVfTVVURVgocWNvbV9wZG1fbXV0ZXgpOyAvKiBwcm90ZWN0cyBfX3Fjb21fcGRtX2Rh dGEgKi8KKytzdGF0aWMgc3RydWN0IHFjb21fcGRtX2RhdGEgKl9fcWNvbV9wZG1fZGF0YTsKKysK KytzdGF0aWMgc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgKnFjb21fcGRtX2ZpbmQoc3RydWN0IHFj b21fcGRtX2RhdGEgKmRhdGEsCisrCQkJCQkgICAgICBjb25zdCBjaGFyICpuYW1lKQorK3sKKysJ c3RydWN0IHFjb21fcGRtX3NlcnZpY2UgKnNlcnZpY2U7CisrCisrCWxpc3RfZm9yX2VhY2hfZW50 cnkoc2VydmljZSwgJmRhdGEtPnNlcnZpY2VzLCBsaXN0KSB7CisrCQlpZiAoIXN0cmNtcChzZXJ2 aWNlLT5uYW1lLCBuYW1lKSkKKysJCQlyZXR1cm4gc2VydmljZTsKKysJfQorKworKwlyZXR1cm4g TlVMTDsKKyt9CisrCisrc3RhdGljIGludCBxY29tX3BkbV9hZGRfc2VydmljZV9kb21haW4oc3Ry dWN0IHFjb21fcGRtX2RhdGEgKmRhdGEsCisrCQkJCSAgICAgICBjb25zdCBjaGFyICpzZXJ2aWNl X25hbWUsCisrCQkJCSAgICAgICBjb25zdCBjaGFyICpkb21haW5fbmFtZSwKKysJCQkJICAgICAg IHUzMiBpbnN0YW5jZV9pZCkKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpzZXJ2aWNl OworKwlzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluICpkb21haW47CisrCisrCXNlcnZpY2UgPSBxY29t X3BkbV9maW5kKGRhdGEsIHNlcnZpY2VfbmFtZSk7CisrCWlmIChzZXJ2aWNlKSB7CisrCQlsaXN0 X2Zvcl9lYWNoX2VudHJ5KGRvbWFpbiwgJnNlcnZpY2UtPmRvbWFpbnMsIGxpc3QpIHsKKysJCQlp ZiAoIXN0cmNtcChkb21haW4tPm5hbWUsIGRvbWFpbl9uYW1lKSkKKysJCQkJcmV0dXJuIC1FQlVT WTsKKysJCX0KKysJfSBlbHNlIHsKKysJCXNlcnZpY2UgPSBremFsbG9jKHNpemVvZigqc2Vydmlj ZSksIEdGUF9LRVJORUwpOworKwkJaWYgKCFzZXJ2aWNlKQorKwkJCXJldHVybiAtRU5PTUVNOwor KworKwkJSU5JVF9MSVNUX0hFQUQoJnNlcnZpY2UtPmRvbWFpbnMpOworKwkJc2VydmljZS0+bmFt ZSA9IHNlcnZpY2VfbmFtZTsKKysKKysJCWxpc3RfYWRkX3RhaWwoJnNlcnZpY2UtPmxpc3QsICZk YXRhLT5zZXJ2aWNlcyk7CisrCX0KKysKKysJZG9tYWluID0ga3phbGxvYyhzaXplb2YoKmRvbWFp biksIEdGUF9LRVJORUwpOworKwlpZiAoIWRvbWFpbikgeworKwkJaWYgKGxpc3RfZW1wdHkoJnNl cnZpY2UtPmRvbWFpbnMpKSB7CisrCQkJbGlzdF9kZWwoJnNlcnZpY2UtPmxpc3QpOworKwkJCWtm cmVlKHNlcnZpY2UpOworKwkJfQorKworKwkJcmV0dXJuIC1FTk9NRU07CisrCX0KKysKKysJZG9t YWluLT5uYW1lID0gZG9tYWluX25hbWU7CisrCWRvbWFpbi0+aW5zdGFuY2VfaWQgPSBpbnN0YW5j ZV9pZDsKKysJbGlzdF9hZGRfdGFpbCgmZG9tYWluLT5saXN0LCAmc2VydmljZS0+ZG9tYWlucyk7 CisrCisrCXJldHVybiAwOworK30KKysKKytzdGF0aWMgaW50IHFjb21fcGRtX2FkZF9kb21haW4o c3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEsCisrCQkJICAgICAgIGNvbnN0IHN0cnVjdCBxY29t X3BkbV9kb21haW5fZGF0YSAqZG9tYWluKQorK3sKKysJaW50IHJldDsKKysJaW50IGk7CisrCisr CXJldCA9IHFjb21fcGRtX2FkZF9zZXJ2aWNlX2RvbWFpbihkYXRhLAorKwkJCQkJICBUTVNfU0VS VlJFR19TRVJWSUNFLAorKwkJCQkJICBkb21haW4tPmRvbWFpbiwKKysJCQkJCSAgZG9tYWluLT5p bnN0YW5jZV9pZCk7CisrCWlmIChyZXQpCisrCQlyZXR1cm4gcmV0OworKworKwlmb3IgKGkgPSAw OyBkb21haW4tPnNlcnZpY2VzW2ldOyBpKyspIHsKKysJCXJldCA9IHFjb21fcGRtX2FkZF9zZXJ2 aWNlX2RvbWFpbihkYXRhLAorKwkJCQkJCSAgZG9tYWluLT5zZXJ2aWNlc1tpXSwKKysJCQkJCQkg IGRvbWFpbi0+ZG9tYWluLAorKwkJCQkJCSAgZG9tYWluLT5pbnN0YW5jZV9pZCk7CisrCQlpZiAo cmV0KQorKwkJCXJldHVybiByZXQ7CisrCX0KKysKKysJcmV0dXJuIDA7CisrCisrfQorKworK3N0 YXRpYyB2b2lkIHFjb21fcGRtX2ZyZWVfZG9tYWlucyhzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0 YSkKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9zZXJ2aWNlICpzZXJ2aWNlLCAqdHNlcnZpY2U7Cisr CXN0cnVjdCBxY29tX3BkbV9kb21haW4gKmRvbWFpbiwgKnRkb21haW47CisrCisrCWxpc3RfZm9y X2VhY2hfZW50cnlfc2FmZShzZXJ2aWNlLCB0c2VydmljZSwgJmRhdGEtPnNlcnZpY2VzLCBsaXN0 KSB7CisrCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZG9tYWluLCB0ZG9tYWluLCAmc2Vydmlj ZS0+ZG9tYWlucywgbGlzdCkgeworKwkJCWxpc3RfZGVsKCZkb21haW4tPmxpc3QpOworKwkJCWtm cmVlKGRvbWFpbik7CisrCQl9CisrCisrCQlsaXN0X2RlbCgmc2VydmljZS0+bGlzdCk7CisrCQlr ZnJlZShzZXJ2aWNlKTsKKysJfQorK30KKysKKytzdGF0aWMgdm9pZCBxY29tX3BkbV9nZXRfZG9t YWluX2xpc3Qoc3RydWN0IHFtaV9oYW5kbGUgKnFtaSwKKysJCQkJICAgICBzdHJ1Y3Qgc29ja2Fk ZHJfcXJ0ciAqc3EsCisrCQkJCSAgICAgc3RydWN0IHFtaV90eG4gKnR4biwKKysJCQkJICAgICBj b25zdCB2b2lkICpkZWNvZGVkKQorK3sKKysJc3RydWN0IHFjb21fcGRtX2RhdGEgKmRhdGEgPSBj b250YWluZXJfb2YocW1pLCBzdHJ1Y3QgcWNvbV9wZG1fZGF0YSwgaGFuZGxlKTsKKysJY29uc3Qg c3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSAqcmVxID0gZGVjb2RlZDsKKysJc3Ry dWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgKnJzcDsKKysJc3RydWN0IHFjb21fcGRt X3NlcnZpY2UgKnNlcnZpY2U7CisrCXUzMiBvZmZzZXQ7CisrCWludCByZXQ7CisrCisrCXJzcCA9 IGt6YWxsb2Moc2l6ZW9mKCpyc3ApLCBHRlBfS0VSTkVMKTsKKysJaWYgKCFyc3ApCisrCQlyZXR1 cm47CisrCisrCW9mZnNldCA9IHJlcS0+ZG9tYWluX29mZnNldF92YWxpZCA/IHJlcS0+ZG9tYWlu X29mZnNldCA6IDA7CisrCisrCXJzcC0+cmVzcC5yZXN1bHQgPSBRTUlfUkVTVUxUX1NVQ0NFU1Nf VjAxOworKwlyc3AtPnJlc3AuZXJyb3IgPSBRTUlfRVJSX05PTkVfVjAxOworKworKwlyc3AtPmRi X3Jldl9jb3VudF92YWxpZCA9IHRydWU7CisrCXJzcC0+ZGJfcmV2X2NvdW50ID0gMTsKKysKKysJ cnNwLT50b3RhbF9kb21haW5zX3ZhbGlkID0gdHJ1ZTsKKysJcnNwLT50b3RhbF9kb21haW5zID0g MDsKKysKKysJbXV0ZXhfbG9jaygmcWNvbV9wZG1fbXV0ZXgpOworKworKwlzZXJ2aWNlID0gcWNv bV9wZG1fZmluZChkYXRhLCByZXEtPnNlcnZpY2VfbmFtZSk7CisrCWlmIChzZXJ2aWNlKSB7Cisr CQlzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluICpkb21haW47CisrCisrCQlyc3AtPmRvbWFpbl9saXN0 X3ZhbGlkID0gdHJ1ZTsKKysJCXJzcC0+ZG9tYWluX2xpc3RfbGVuID0gMDsKKysKKysJCWxpc3Rf Zm9yX2VhY2hfZW50cnkoZG9tYWluLCAmc2VydmljZS0+ZG9tYWlucywgbGlzdCkgeworKwkJCXUz MiBpID0gcnNwLT50b3RhbF9kb21haW5zKys7CisrCisrCQkJaWYgKGkgPj0gb2Zmc2V0ICYmIGkg PCBTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSCkgeworKwkJCQl1MzIgaiA9IHJzcC0+ZG9tYWlu X2xpc3RfbGVuKys7CisrCisrCQkJCXN0cnNjcHkocnNwLT5kb21haW5fbGlzdFtqXS5uYW1lLCBk b21haW4tPm5hbWUsCisrCQkJCQlzaXplb2YocnNwLT5kb21haW5fbGlzdFtpXS5uYW1lKSk7Cisr CQkJCXJzcC0+ZG9tYWluX2xpc3Rbal0uaW5zdGFuY2UgPSBkb21haW4tPmluc3RhbmNlX2lkOwor KworKwkJCQlwcl9kZWJ1ZygiUERNOiBmb3VuZCAlcyAvICVkXG4iLCBkb21haW4tPm5hbWUsCisr CQkJCQkgZG9tYWluLT5pbnN0YW5jZV9pZCk7CisrCQkJfQorKwkJfQorKwl9CisrCisrCXByX2Rl YnVnKCJQRE06IHNlcnZpY2UgJyVzJyBvZmZzZXQgJWQgcmV0dXJuaW5nICVkIGRvbWFpbnMgKG9m ICVkKVxuIiwgcmVxLT5zZXJ2aWNlX25hbWUsCisrCQkgcmVxLT5kb21haW5fb2Zmc2V0X3ZhbGlk ID8gcmVxLT5kb21haW5fb2Zmc2V0IDogLTEsIHJzcC0+ZG9tYWluX2xpc3RfbGVuLCByc3AtPnRv dGFsX2RvbWFpbnMpOworKworKwlyZXQgPSBxbWlfc2VuZF9yZXNwb25zZShxbWksIHNxLCB0eG4s IFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUSwKKysJCQkJU0VSVlJFR19HRVRfRE9NQUlOX0xJ U1RfUkVTUF9NQVhfTEVOLAorKwkJCQlzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwX2VpLCBy c3ApOworKwlpZiAocmV0KQorKwkJcHJfZXJyKCJFcnJvciBzZW5kaW5nIHNlcnZyZWcgcmVzcG9u c2U6ICVkXG4iLCByZXQpOworKworKwltdXRleF91bmxvY2soJnFjb21fcGRtX211dGV4KTsKKysK KysJa2ZyZWUocnNwKTsKKyt9CisrCisrc3RhdGljIHZvaWQgcWNvbV9wZG1fcGZyKHN0cnVjdCBx bWlfaGFuZGxlICpxbWksCisrCQkJIHN0cnVjdCBzb2NrYWRkcl9xcnRyICpzcSwKKysJCQkgc3Ry dWN0IHFtaV90eG4gKnR4biwKKysJCQkgY29uc3Qgdm9pZCAqZGVjb2RlZCkKKyt7CisrCWNvbnN0 IHN0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVxICpyZXEgPSBkZWNvZGVkOworKwlzdHJ1Y3Qgc2Vy dnJlZ19sb2NfcGZyX3Jlc3AgcnNwID0ge307CisrCWludCByZXQ7CisrCisrCXByX3dhcm5fcmF0 ZWxpbWl0ZWQoIlBETTogc2VydmljZSAnJXMnIGNyYXNoOiAnJXMnXG4iLCByZXEtPnNlcnZpY2Us IHJlcS0+cmVhc29uKTsKKysKKysJcnNwLnJzcC5yZXN1bHQgPSBRTUlfUkVTVUxUX1NVQ0NFU1Nf VjAxOworKwlyc3AucnNwLmVycm9yID0gUU1JX0VSUl9OT05FX1YwMTsKKysKKysJcmV0ID0gcW1p X3NlbmRfcmVzcG9uc2UocW1pLCBzcSwgdHhuLCBTRVJWUkVHX0xPQ19QRlJfUkVRLAorKwkJCQlT RVJWUkVHX0xPQ19QRlJfUkVTUF9NQVhfTEVOLAorKwkJCQlzZXJ2cmVnX2xvY19wZnJfcmVzcF9l aSwgJnJzcCk7CisrCWlmIChyZXQpCisrCQlwcl9lcnIoIkVycm9yIHNlbmRpbmcgc2VydnJlZyBy ZXNwb25zZTogJWRcbiIsIHJldCk7CisrfQorKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX21z Z19oYW5kbGVyIHFjb21fcGRtX21zZ19oYW5kbGVyc1tdID0geworKwl7CisrCQkudHlwZSA9IFFN SV9SRVFVRVNULAorKwkJLm1zZ19pZCA9IFNFUlZSRUdfR0VUX0RPTUFJTl9MSVNUX1JFUSwKKysJ CS5laSA9IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcV9laSwKKysJCS5kZWNvZGVkX3NpemUg PSBzaXplb2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSksCisrCQkuZm4gPSBx Y29tX3BkbV9nZXRfZG9tYWluX2xpc3QsCisrCX0sCisrCXsKKysJCS50eXBlID0gUU1JX1JFUVVF U1QsCisrCQkubXNnX2lkID0gU0VSVlJFR19MT0NfUEZSX1JFUSwKKysJCS5laSA9IHNlcnZyZWdf bG9jX3Bmcl9yZXFfZWksCisrCQkuZGVjb2RlZF9zaXplID0gc2l6ZW9mKHN0cnVjdCBzZXJ2cmVn X2xvY19wZnJfcmVxKSwKKysJCS5mbiA9IHFjb21fcGRtX3BmciwKKysJfSwKKysJeyB9LAorK307 CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBhZHNwX2F1ZGlv X3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL2F1ZGlvX3BkIiwKKysJLmluc3RhbmNlX2lk ID0gNzQsCisrCS5zZXJ2aWNlcyA9IHsKKysJCSJhdnMvYXVkaW8iLAorKwkJTlVMTCwKKysJfSwK Kyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgYWRzcF9j aGFyZ2VyX3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL2NoYXJnZXJfcGQiLAorKwkuaW5z dGFuY2VfaWQgPSA3NCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMg Y29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGFkc3Bfcm9vdF9wZCA9IHsKKysJLmRv bWFpbiA9ICJtc20vYWRzcC9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzQsCisrCS5zZXJ2 aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9k b21haW5fZGF0YSBhZHNwX3Jvb3RfcGRfcGRyID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL3Jv b3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNlcnZpY2VzID0geworKwkJInRtcy9w ZHJfZW5hYmxlZCIsCisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVj dCBxY29tX3BkbV9kb21haW5fZGF0YSBhZHNwX3NlbnNvcl9wZCA9IHsKKysJLmRvbWFpbiA9ICJt c20vYWRzcC9zZW5zb3JfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNlcnZpY2VzID0g eyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9k YXRhIG1zbTg5OTZfYWRzcF9hdWRpb19wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRzcC9hdWRp b19wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDQsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307 CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBtc204OTk2X2Fk c3Bfcm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vYWRzcC9yb290X3BkIiwKKysJLmluc3Rh bmNlX2lkID0gNCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29u c3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGNkc3Bfcm9vdF9wZCA9IHsKKysJLmRvbWFp biA9ICJtc20vY2RzcC9yb290X3BkIiwKKysJLmluc3RhbmNlX2lkID0gNzYsCisrCS5zZXJ2aWNl cyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21h aW5fZGF0YSBzbHBpX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL3NscGkvcm9vdF9wZCIs CisrCS5pbnN0YW5jZV9pZCA9IDkwLAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKwor K3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgc2xwaV9zZW5zb3JfcGQg PSB7CisrCS5kb21haW4gPSAibXNtL3NscGkvc2Vuc29yX3BkIiwKKysJLmluc3RhbmNlX2lkID0g OTAsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVj dCBxY29tX3BkbV9kb21haW5fZGF0YSBtcHNzX3Jvb3RfcGQgPSB7CisrCS5kb21haW4gPSAibXNt L21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAsCisrCS5zZXJ2aWNlcyA9IHsK KysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2Rv bWFpbl9kYXRhIG1wc3Nfcm9vdF9wZF9ncHMgPSB7CisrCS5kb21haW4gPSAibXNtL21vZGVtL3Jv b3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAsCisrCS5zZXJ2aWNlcyA9IHsKKysJCSJncHMv Z3BzX3NlcnZpY2UiLAorKwkJTlVMTCwKKysJfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXBzc19yb290X3BkX2dwc19wZHIgPSB7CisrCS5kb21h aW4gPSAibXNtL21vZGVtL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSAxODAsCisrCS5zZXJ2 aWNlcyA9IHsKKysJCSJncHMvZ3BzX3NlcnZpY2UiLAorKwkJInRtcy9wZHJfZW5hYmxlZCIsCisr CQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21h aW5fZGF0YSBtc204OTk2X21wc3Nfcm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9kZW0v cm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDEwMCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0s CisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIG1wc3Nf d2xhbl9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9kZW0vd2xhbl9wZCIsCisrCS5pbnN0YW5j ZV9pZCA9IDE4MCwKKysJLnNlcnZpY2VzID0geworKwkJImtlcm5lbC9lbGZfbG9hZGVyIiwKKysJ CSJ3bGFuL2Z3IiwKKysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0 IHFjb21fcGRtX2RvbWFpbl9kYXRhICptc204OTk2X2RvbWFpbnNbXSA9IHsKKysJJm1zbTg5OTZf YWRzcF9hdWRpb19wZCwKKysJJm1zbTg5OTZfYWRzcF9yb290X3BkLAorKwkmbXNtODk5Nl9tcHNz X3Jvb3RfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRt X2RvbWFpbl9kYXRhICptc204OTk4X2RvbWFpbnNbXSA9IHsKKysJJm1wc3Nfcm9vdF9wZCwKKysJ Jm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNv bV9wZG1fZG9tYWluX2RhdGEgKnFjbTIyOTBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19w ZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmbXBzc19yb290X3Bk X2dwcywKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBz dHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnFjczQwNF9kb21haW5zW10gPSB7CisrCSZhZHNw X2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZjZHNw X3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisr fTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzYzcxODBf ZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZF9wZHIsCisr CSZhZHNwX3NlbnNvcl9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHNfcGRyLAorKwkmbXBzc193bGFu X3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21h aW5fZGF0YSAqc2M3MjgwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNw X3Jvb3RfcGRfcGRyLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmYWRzcF9zZW5zb3JfcGQsCisr CSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3BzX3BkciwKKysJTlVMTCwKKyt9Owor KworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNjODE4MHhfZG9t YWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bf Y2hhcmdlcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZt cHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21f cGRtX2RvbWFpbl9kYXRhICpzYzgyODB4cF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3Bk LAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFkc3BfY2hhcmdlcl9wZCwKKysJJmNkc3Bfcm9v dF9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9t YWluX2RhdGEgKnNkbTY2MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRz cF9yb290X3BkLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNz X3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29u c3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzZG02NzBfZG9tYWluc1tdID0geworKwkm YWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1w c3Nfcm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBj b25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNkbTg0NV9kb21haW5zW10gPSB7Cisr CSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkm bXBzc19yb290X3BkLAorKwkmbXBzc193bGFuX3BkLAorKwkmc2xwaV9yb290X3BkLAorKwkmc2xw aV9zZW5zb3JfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21f cGRtX2RvbWFpbl9kYXRhICpzbTYxMTVfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwK KysJJmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAor KwkmbXBzc19yb290X3BkX2dwcywKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKwor K3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtNjM1MF9kb21haW5z W10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9zZW5z b3JfcGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsK KysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzbTgxNTBfZG9t YWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmNkc3Bf cm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEws CisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzbTgy NTBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJ JmNkc3Bfcm9vdF9wZCwKKysJJnNscGlfcm9vdF9wZCwKKysJJnNscGlfc2Vuc29yX3BkLAorKwlO VUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAq c204MzUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGRf cGRyLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290 X3BkX2dwcywKKysJJnNscGlfcm9vdF9wZCwKKysJJnNscGlfc2Vuc29yX3BkLAorKwlOVUxMLAor K307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc204NTUw X2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZh ZHNwX2NoYXJnZXJfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJ Jm1wc3Nfcm9vdF9wZF9ncHMsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0 IG9mX2RldmljZV9pZCBxY29tX3BkbV9kb21haW5zW10gPSB7CisrCXsgLmNvbXBhdGlibGUgPSAi cWNvbSxhcHE4MDY0IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20s YXBxODA3NCIsIC5kYXRhID0gTlVMTCwgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLGFwcTgw ODQiLCAuZGF0YSA9IE5VTEwsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxhcHE4MDk2Iiwg LmRhdGEgPSBtc204OTk2X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxtc204 MjI2IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sbXNtODk3NCIs IC5kYXRhID0gTlVMTCwgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLG1zbTg5OTYiLCAuZGF0 YSA9IG1zbTg5OTZfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLG1zbTg5OTgi LCAuZGF0YSA9IG1zbTg5OThfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHFj bTIyOTAiLCAuZGF0YSA9IHFjbTIyOTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJx Y29tLHFjczQwNCIsIC5kYXRhID0gcWNzNDA0X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUg PSAicWNvbSxzYzcxODAiLCAuZGF0YSA9IHNjNzE4MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRp YmxlID0gInFjb20sc2M3MjgwIiwgLmRhdGEgPSBzYzcyODBfZG9tYWlucywgfSwKKysJeyAuY29t cGF0aWJsZSA9ICJxY29tLHNjODE4MHgiLCAuZGF0YSA9IHNjODE4MHhfZG9tYWlucywgfSwKKysJ eyAuY29tcGF0aWJsZSA9ICJxY29tLHNjODI4MHhwIiwgLmRhdGEgPSBzYzgyODB4cF9kb21haW5z LCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2RhNjYwIiwgLmRhdGEgPSBzZG02NjBfZG9t YWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNkbTY2MCIsIC5kYXRhID0gc2RtNjYw X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzZG02NzAiLCAuZGF0YSA9IHNk bTY3MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2RtODQ1IiwgLmRhdGEg PSBzZG04NDVfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtNDI1MCIsIC5k YXRhID0gc202MTE1X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTYxMTUi LCAuZGF0YSA9IHNtNjExNV9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc202 MzUwIiwgLmRhdGEgPSBzbTYzNTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29t LHNtODE1MCIsIC5kYXRhID0gc204MTUwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAi cWNvbSxzbTgyNTAiLCAuZGF0YSA9IHNtODI1MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxl ID0gInFjb20sc204MzUwIiwgLmRhdGEgPSBzbTgzNTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0 aWJsZSA9ICJxY29tLHNtODQ1MCIsIC5kYXRhID0gc204MzUwX2RvbWFpbnMsIH0sCisrCXsgLmNv bXBhdGlibGUgPSAicWNvbSxzbTg1NTAiLCAuZGF0YSA9IHNtODU1MF9kb21haW5zLCB9LAorKwl7 IC5jb21wYXRpYmxlID0gInFjb20sc204NjUwIiwgLmRhdGEgPSBzbTg1NTBfZG9tYWlucywgfSwK KysJe30sCisrfTsKKysKKytzdGF0aWMgdm9pZCBxY29tX3BkbV9zdG9wKHN0cnVjdCBxY29tX3Bk bV9kYXRhICpkYXRhKQorK3sKKysJcWNvbV9wZG1fZnJlZV9kb21haW5zKGRhdGEpOworKworKwkv KiBUaGUgc2VydmVyIGlzIHJlbW92ZWQgYXV0b21hdGljYWxseSAqLworKwlxbWlfaGFuZGxlX3Jl bGVhc2UoJmRhdGEtPmhhbmRsZSk7CisrCisrCWtmcmVlKGRhdGEpOworK30KKysKKytzdGF0aWMg c3RydWN0IHFjb21fcGRtX2RhdGEgKnFjb21fcGRtX3N0YXJ0KHZvaWQpCisreworKwljb25zdCBz dHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKiBjb25zdCAqZG9tYWluczsKKysJY29uc3Qgc3Ry dWN0IG9mX2RldmljZV9pZCAqbWF0Y2g7CisrCXN0cnVjdCBxY29tX3BkbV9kYXRhICpkYXRhOwor KwlzdHJ1Y3QgZGV2aWNlX25vZGUgKnJvb3Q7CisrCWludCByZXQsIGk7CisrCisrCXJvb3QgPSBv Zl9maW5kX25vZGVfYnlfcGF0aCgiLyIpOworKwlpZiAoIXJvb3QpCisrCQlyZXR1cm4gRVJSX1BU UigtRU5PREVWKTsKKysKKysJbWF0Y2ggPSBvZl9tYXRjaF9ub2RlKHFjb21fcGRtX2RvbWFpbnMs IHJvb3QpOworKwlvZl9ub2RlX3B1dChyb290KTsKKysJaWYgKCFtYXRjaCkgeworKwkJcHJfbm90 aWNlKCJQRE06IG5vIHN1cHBvcnQgZm9yIHRoZSBwbGF0Zm9ybSwgdXNlcnNwYWNlIGRhZW1vbiBt aWdodCBiZSByZXF1aXJlZC5cbiIpOworKwkJcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7CisrCX0K KysKKysJZG9tYWlucyA9IG1hdGNoLT5kYXRhOworKwlpZiAoIWRvbWFpbnMpIHsKKysJCXByX2Rl YnVnKCJQRE06IG5vIGRvbWFpbnNcbiIpOworKwkJcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7Cisr CX0KKysKKysJZGF0YSA9IGt6YWxsb2Moc2l6ZW9mKCpkYXRhKSwgR0ZQX0tFUk5FTCk7CisrCWlm ICghZGF0YSkKKysJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOworKworKwlJTklUX0xJU1RfSEVB RCgmZGF0YS0+c2VydmljZXMpOworKworKwlyZXQgPSBxbWlfaGFuZGxlX2luaXQoJmRhdGEtPmhh bmRsZSwgU0VSVlJFR19HRVRfRE9NQUlOX0xJU1RfUkVRX01BWF9MRU4sCisrCQkJICAgICAgTlVM TCwgcWNvbV9wZG1fbXNnX2hhbmRsZXJzKTsKKysJaWYgKHJldCkgeworKwkJa2ZyZWUoZGF0YSk7 CisrCQlyZXR1cm4gRVJSX1BUUihyZXQpOworKwl9CisrCisrCXJlZmNvdW50X3NldCgmZGF0YS0+ cmVmY250LCAxKTsKKysKKysJZm9yIChpID0gMDsgZG9tYWluc1tpXTsgaSsrKSB7CisrCQlyZXQg PSBxY29tX3BkbV9hZGRfZG9tYWluKGRhdGEsIGRvbWFpbnNbaV0pOworKwkJaWYgKHJldCkKKysJ CQlnb3RvIGVycl9zdG9wOworKwl9CisrCisrCXJldCA9IHFtaV9hZGRfc2VydmVyKCZkYXRhLT5o YW5kbGUsIFNFUlZSRUdfTE9DQVRPUl9TRVJWSUNFLAorKwkJCSAgICAgU0VSVlJFR19RTUlfVkVS U0lPTiwgU0VSVlJFR19RTUlfSU5TVEFOQ0UpOworKwlpZiAocmV0KSB7CisrCQlwcl9lcnIoIlBE TTogZXJyb3IgYWRkaW5nIHNlcnZlciAlZFxuIiwgcmV0KTsKKysJCWdvdG8gZXJyX3N0b3A7Cisr CX0KKysKKysJcmV0dXJuIGRhdGE7CisrCisrZXJyX3N0b3A6CisrCXFjb21fcGRtX3N0b3AoZGF0 YSk7CisrCisrCXJldHVybiBFUlJfUFRSKHJldCk7CisrfQorKworK3N0YXRpYyBpbnQgcWNvbV9w ZG1fcHJvYmUoc3RydWN0IGF1eGlsaWFyeV9kZXZpY2UgKmF1eGRldiwKKysJCQkgIGNvbnN0IHN0 cnVjdCBhdXhpbGlhcnlfZGV2aWNlX2lkICppZCkKKysKKyt7CisrCXN0cnVjdCBxY29tX3BkbV9k YXRhICpkYXRhOworKwlpbnQgcmV0ID0gMDsKKysKKysJbXV0ZXhfbG9jaygmcWNvbV9wZG1fbXV0 ZXgpOworKworKwlpZiAoIV9fcWNvbV9wZG1fZGF0YSkgeworKwkJZGF0YSA9IHFjb21fcGRtX3N0 YXJ0KCk7CisrCisrCQlpZiAoSVNfRVJSKGRhdGEpKQorKwkJCXJldCA9IFBUUl9FUlIoZGF0YSk7 CisrCQllbHNlCisrCQkJX19xY29tX3BkbV9kYXRhID0gZGF0YTsKKysJfQorKworKwlhdXhpbGlh cnlfc2V0X2RydmRhdGEoYXV4ZGV2LCBfX3Fjb21fcGRtX2RhdGEpOworKworKwltdXRleF91bmxv Y2soJnFjb21fcGRtX211dGV4KTsKKysKKysJcmV0dXJuIHJldDsKKyt9CisrCisrc3RhdGljIHZv aWQgcWNvbV9wZG1fcmVtb3ZlKHN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICphdXhkZXYpCisrewor KwlzdHJ1Y3QgcWNvbV9wZG1fZGF0YSAqZGF0YTsKKysKKysJZGF0YSA9IGF1eGlsaWFyeV9nZXRf ZHJ2ZGF0YShhdXhkZXYpOworKwlpZiAoIWRhdGEpCisrCQlyZXR1cm47CisrCisrCWlmIChyZWZj b3VudF9kZWNfYW5kX211dGV4X2xvY2soJmRhdGEtPnJlZmNudCwgJnFjb21fcGRtX211dGV4KSkg eworKwkJX19xY29tX3BkbV9kYXRhID0gTlVMTDsKKysJCXFjb21fcGRtX3N0b3AoZGF0YSk7Cisr CQltdXRleF91bmxvY2soJnFjb21fcGRtX211dGV4KTsKKysJfQorK30KKysKKytzdGF0aWMgY29u c3Qgc3RydWN0IGF1eGlsaWFyeV9kZXZpY2VfaWQgcWNvbV9wZG1fdGFibGVbXSA9IHsKKysJeyAu bmFtZSA9ICJxY29tX2NvbW1vbi5wZC1tYXBwZXIiIH0sCisrCXt9LAorK307CisrTU9EVUxFX0RF VklDRV9UQUJMRShhdXhpbGlhcnksIHFjb21fcGRtX3RhYmxlKTsKKysKKytzdGF0aWMgc3RydWN0 IGF1eGlsaWFyeV9kcml2ZXIgcWNvbV9wZG1fZHJ2ID0geworKwkubmFtZSA9ICJxY29tLXBkbS1t YXBwZXIiLAorKwkuaWRfdGFibGUgPSBxY29tX3BkbV90YWJsZSwKKysJLnByb2JlID0gcWNvbV9w ZG1fcHJvYmUsCisrCS5yZW1vdmUgPSBxY29tX3BkbV9yZW1vdmUsCisrfTsKKyttb2R1bGVfYXV4 aWxpYXJ5X2RyaXZlcihxY29tX3BkbV9kcnYpOworKworK01PRFVMRV9ERVNDUklQVElPTigiUXVh bGNvbW0gUHJvdGVjdGlvbiBEb21haW4gTWFwcGVyIik7CisrTU9EVUxFX0xJQ0VOU0UoIkdQTCIp OworZGlmZiAtLWdpdCBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMgYi9kcml2ZXJz L3NvYy9xY29tL3Fjb21fcGRyX21zZy5jCitpbmRleCA5YjQ2ZjQyYWExNDYuLmJmM2U0YTQ3MTY1 ZSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMKKysrKyBiL2Ry aXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMKK0BAIC0zMTUsNSArMzE1LDM5IEBAIGNvbnN0 IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpW10gPSB7CisgfTsK KyBFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3NldF9hY2tfcmVzcF9laSk7CisgCisrY29uc3Qg c3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3JlcV9laVtdID0geworKwl7Cisr CQkuZGF0YV90eXBlID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiA9IFNFUlZSRUdfTkFNRV9M RU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJheV90eXBl ID0gVkFSX0xFTl9BUlJBWSwKKysJCS50bHZfdHlwZSA9IDB4MDEsCisrCQkub2Zmc2V0ID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEsIHNlcnZpY2UpCisrCX0sCisrCXsKKysJ CS5kYXRhX3R5cGUgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuID0gU0VSVlJFR19OQU1FX0xF TkdUSCArIDEsCisrCQkuZWxlbV9zaXplID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUg PSBWQVJfTEVOX0FSUkFZLAorKwkJLnRsdl90eXBlID0gMHgwMiwKKysJCS5vZmZzZXQgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3JlcSwgcmVhc29uKQorKwl9LAorKwl7fQorK307 CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19sb2NfcGZyX3JlcV9laSk7CisrCisrY29uc3Qg c3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3Jlc3BfZWlbXSA9IHsKKysJewor KwkJLmRhdGFfdHlwZSA9IFFNSV9TVFJVQ1QsCisrCQkuZWxlbV9sZW4gPSAxLAorKwkJLmVsZW1f c2l6ZSA9IHNpemVvZl9maWVsZChzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jlc3AsIHJzcCksCisr CQkudGx2X3R5cGUgPSAweDAyLAorKwkJLm9mZnNldCA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVn X2xvY19wZnJfcmVzcCwgcnNwKSwKKysJCS5laV9hcnJheSA9IHFtaV9yZXNwb25zZV90eXBlX3Yw MV9laSwKKysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfbG9jX3Bm cl9yZXNwX2VpKTsKKysKKyBNT0RVTEVfTElDRU5TRSgiR1BMIik7CisgTU9EVUxFX0RFU0NSSVBU SU9OKCJRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFpbiBtZXNzYWdlcyBkYXRhIik7CisKK0Zyb206 IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KK0RhdGU6IFNh dCwgMjIgSnVuIDIwMjQgMDE6MDM6NDQgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCB2OSA1LzVdIHJl bW90ZXByb2M6IHFjb206IGVuYWJsZSBpbi1rZXJuZWwgUEQgbWFwcGVyCisKK1JlcXVlc3QgaW4t a2VybmVsIHByb3RlY3Rpb24gZG9tYWluIG1hcHBlciB0byBiZSBzdGFydGVkIGJlZm9yZSBzdGFy dGluZworUXVhbGNvbW0gRFNQIGFuZCByZWxlYXNlIGl0IG9uY2UgRFNQIGlzIHN0b3BwZWQuIE9u Y2UgYWxsIERTUHMgYXJlCitzdG9wcGVkLCB0aGUgUEQgbWFwcGVyIHdpbGwgYmUgc3RvcHBlZCB0 b28uCisKK1Jldmlld2VkLWJ5OiBDaHJpcyBMZXcgPHF1aWNfY2xld0BxdWljaW5jLmNvbT4KK1Rl c3RlZC1ieTogU3RlZXYgS2xpbWFzemV3c2tpIDxzdGVldkBrYWxpLm9yZz4KK1Rlc3RlZC1ieTog TmVpbCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ryb25nQGxpbmFyby5vcmc+ICMgb24gU004NTUwLVFS RAorU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5h cm8ub3JnPgorLS0tCisgZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmMgICAgfCA4NyAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZHJpdmVycy9yZW1vdGVwcm9j L3Fjb21fY29tbW9uLmggICAgfCAxMCArKysrKworIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2 djVfYWRzcC5jIHwgIDMgKysKKyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X21zcy5jICB8 ICAzICsrCisgZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9wYXMuYyAgfCAgMyArKworIGRy aXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfd2Nzcy5jIHwgIDMgKysKKyA2IGZpbGVzIGNoYW5n ZWQsIDEwOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2Mv cWNvbV9jb21tb24uYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX2NvbW1vbi5jCitpbmRleCAw M2U1ZjVkNTMzZWIuLjhjODY4OGY5OWYwYSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvcmVtb3RlcHJv Yy9xY29tX2NvbW1vbi5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uYwor QEAgLTEzLDYgKzEzLDcgQEAKKyAjaW5jbHVkZSA8bGludXgvbm90aWZpZXIuaD4KKyAjaW5jbHVk ZSA8bGludXgvcmVtb3RlcHJvYy5oPgorICNpbmNsdWRlIDxsaW51eC9yZW1vdGVwcm9jL3Fjb21f cnByb2MuaD4KKysjaW5jbHVkZSA8bGludXgvYXV4aWxpYXJ5X2J1cy5oPgorICNpbmNsdWRlIDxs aW51eC9ycG1zZy9xY29tX2dsaW5rLmg+CisgI2luY2x1ZGUgPGxpbnV4L3JwbXNnL3Fjb21fc21k Lmg+CisgI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KK0BAIC0yNSw2ICsyNiw3IEBACisgI2RlZmlu ZSB0b19nbGlua19zdWJkZXYoZCkgY29udGFpbmVyX29mKGQsIHN0cnVjdCBxY29tX3Jwcm9jX2ds aW5rLCBzdWJkZXYpCisgI2RlZmluZSB0b19zbWRfc3ViZGV2KGQpIGNvbnRhaW5lcl9vZihkLCBz dHJ1Y3QgcWNvbV9ycHJvY19zdWJkZXYsIHN1YmRldikKKyAjZGVmaW5lIHRvX3Nzcl9zdWJkZXYo ZCkgY29udGFpbmVyX29mKGQsIHN0cnVjdCBxY29tX3Jwcm9jX3Nzciwgc3ViZGV2KQorKyNkZWZp bmUgdG9fcGRtX3N1YmRldihkKSBjb250YWluZXJfb2YoZCwgc3RydWN0IHFjb21fcnByb2NfcGRt LCBzdWJkZXYpCisgCisgI2RlZmluZSBNQVhfTlVNX09GX1NTICAgICAgICAgICAxMAorICNkZWZp bmUgTUFYX1JFR0lPTl9OQU1FX0xFTkdUSCAgMTYKK0BAIC01MTksNSArNTIxLDkwIEBAIHZvaWQg cWNvbV9yZW1vdmVfc3NyX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9y cHJvY19zc3IgKnNzcikKKyB9CisgRVhQT1JUX1NZTUJPTF9HUEwocWNvbV9yZW1vdmVfc3NyX3N1 YmRldik7CisgCisrc3RhdGljIHZvaWQgcGRtX2Rldl9yZWxlYXNlKHN0cnVjdCBkZXZpY2UgKmRl dikKKyt7CisrCXN0cnVjdCBhdXhpbGlhcnlfZGV2aWNlICphZGV2ID0gdG9fYXV4aWxpYXJ5X2Rl dihkZXYpOworKworKwlrZnJlZShhZGV2KTsKKyt9CisrCisrc3RhdGljIGludCBwZG1fbm90aWZ5 X3ByZXBhcmUoc3RydWN0IHJwcm9jX3N1YmRldiAqc3ViZGV2KQorK3sKKysJc3RydWN0IHFjb21f cnByb2NfcGRtICpwZG0gPSB0b19wZG1fc3ViZGV2KHN1YmRldik7CisrCXN0cnVjdCBhdXhpbGlh cnlfZGV2aWNlICphZGV2OworKwlpbnQgcmV0OworKworKwlhZGV2ID0ga3phbGxvYyhzaXplb2Yo KmFkZXYpLCBHRlBfS0VSTkVMKTsKKysJaWYgKCFhZGV2KQorKwkJcmV0dXJuIC1FTk9NRU07Cisr CisrCWFkZXYtPmRldi5wYXJlbnQgPSBwZG0tPmRldjsKKysJYWRldi0+ZGV2LnJlbGVhc2UgPSBw ZG1fZGV2X3JlbGVhc2U7CisrCWFkZXYtPm5hbWUgPSAicGQtbWFwcGVyIjsKKysJYWRldi0+aWQg PSBwZG0tPmluZGV4OworKworKwlyZXQgPSBhdXhpbGlhcnlfZGV2aWNlX2luaXQoYWRldik7Cisr CWlmIChyZXQpIHsKKysJCWtmcmVlKGFkZXYpOworKwkJcmV0dXJuIHJldDsKKysJfQorKworKwly ZXQgPSBhdXhpbGlhcnlfZGV2aWNlX2FkZChhZGV2KTsKKysJaWYgKHJldCkgeworKwkJYXV4aWxp YXJ5X2RldmljZV91bmluaXQoYWRldik7CisrCQlyZXR1cm4gcmV0OworKwl9CisrCisrCXBkbS0+ YWRldiA9IGFkZXY7CisrCisrCXJldHVybiAwOworK30KKysKKysKKytzdGF0aWMgdm9pZCBwZG1f bm90aWZ5X3VucHJlcGFyZShzdHJ1Y3QgcnByb2Nfc3ViZGV2ICpzdWJkZXYpCisreworKwlzdHJ1 Y3QgcWNvbV9ycHJvY19wZG0gKnBkbSA9IHRvX3BkbV9zdWJkZXYoc3ViZGV2KTsKKysKKysJaWYg KCFwZG0tPmFkZXYpCisrCQlyZXR1cm47CisrCisrCWF1eGlsaWFyeV9kZXZpY2VfZGVsZXRlKHBk bS0+YWRldik7CisrCWF1eGlsaWFyeV9kZXZpY2VfdW5pbml0KHBkbS0+YWRldik7CisrCXBkbS0+ YWRldiA9IE5VTEw7CisrfQorKworKy8qKgorKyAqIHFjb21fYWRkX3BkbV9zdWJkZXYoKSAtIHJl Z2lzdGVyIFBEIE1hcHBlciBzdWJkZXZpY2UKKysgKiBAcnByb2M6CXJwcm9jIGhhbmRsZQorKyAq IEBwZG06CVBETSBzdWJkZXZpY2UgaGFuZGxlCisrICoKKysgKiBSZWdpc3RlciBAcGRtIHNvIHRo YXQgUHJvdGVjdGlvbiBEZXZpY2UgbWFwcGVyIHNlcnZpY2UgaXMgc3RhcnRlZCB3aGVuIHRoZQor KyAqIERTUCBpcyBzdGFydGVkIHRvby4KKysgKi8KKyt2b2lkIHFjb21fYWRkX3BkbV9zdWJkZXYo c3RydWN0IHJwcm9jICpycHJvYywgc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0pCisreworKwlw ZG0tPmRldiA9ICZycHJvYy0+ZGV2OworKwlwZG0tPmluZGV4ID0gcnByb2MtPmluZGV4OworKwor KwlwZG0tPnN1YmRldi5wcmVwYXJlID0gcGRtX25vdGlmeV9wcmVwYXJlOworKwlwZG0tPnN1YmRl di51bnByZXBhcmUgPSBwZG1fbm90aWZ5X3VucHJlcGFyZTsKKysKKysJcnByb2NfYWRkX3N1YmRl dihycHJvYywgJnBkbS0+c3ViZGV2KTsKKyt9CisrRVhQT1JUX1NZTUJPTF9HUEwocWNvbV9hZGRf cGRtX3N1YmRldik7CisrCisrLyoqCisrICogcWNvbV9yZW1vdmVfcGRtX3N1YmRldigpIC0gcmVt b3ZlIFBEIE1hcHBlciBzdWJkZXZpY2UKKysgKiBAcnByb2M6CXJwcm9jIGhhbmRsZQorKyAqIEBw ZG06CVBETSBzdWJkZXZpY2UgaGFuZGxlCisrICoKKysgKiBSZW1vdmUgdGhlIFBEIE1hcHBlciBz dWJkZXZpY2UuCisrICovCisrdm9pZCBxY29tX3JlbW92ZV9wZG1fc3ViZGV2KHN0cnVjdCBycHJv YyAqcnByb2MsIHN0cnVjdCBxY29tX3Jwcm9jX3BkbSAqcGRtKQorK3sKKysJcnByb2NfcmVtb3Zl X3N1YmRldihycHJvYywgJnBkbS0+c3ViZGV2KTsKKyt9CisrRVhQT1JUX1NZTUJPTF9HUEwocWNv bV9yZW1vdmVfcGRtX3N1YmRldik7CisrCisgTU9EVUxFX0RFU0NSSVBUSU9OKCJRdWFsY29tbSBS ZW1vdGVwcm9jIGhlbHBlciBkcml2ZXIiKTsKKyBNT0RVTEVfTElDRU5TRSgiR1BMIHYyIik7Citk aWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmggYi9kcml2ZXJzL3Jl bW90ZXByb2MvcWNvbV9jb21tb24uaAoraW5kZXggOWVmNDQ0OTA1MmE5Li5iMDdmYmFhMDkxYTAg MTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9jb21tb24uaAorKysrIGIvZHJp dmVycy9yZW1vdGVwcm9jL3Fjb21fY29tbW9uLmgKK0BAIC0zNCw2ICszNCwxMyBAQCBzdHJ1Y3Qg cWNvbV9ycHJvY19zc3IgeworIAlzdHJ1Y3QgcWNvbV9zc3Jfc3Vic3lzdGVtICppbmZvOworIH07 CisgCisrc3RydWN0IHFjb21fcnByb2NfcGRtIHsKKysJc3RydWN0IHJwcm9jX3N1YmRldiBzdWJk ZXY7CisrCXN0cnVjdCBkZXZpY2UgKmRldjsKKysJaW50IGluZGV4OworKwlzdHJ1Y3QgYXV4aWxp YXJ5X2RldmljZSAqYWRldjsKKyt9OworKworIHZvaWQgcWNvbV9taW5pZHVtcChzdHJ1Y3QgcnBy b2MgKnJwcm9jLCB1bnNpZ25lZCBpbnQgbWluaWR1bXBfaWQsCisgCQkJdm9pZCAoKnJwcm9jX2R1 bXBmbl90KShzdHJ1Y3QgcnByb2MgKnJwcm9jLAorIAkJCQlzdHJ1Y3QgcnByb2NfZHVtcF9zZWdt ZW50ICpzZWdtZW50LCB2b2lkICpkZXN0LCBzaXplX3Qgb2Zmc2V0LAorQEAgLTUyLDYgKzU5LDkg QEAgdm9pZCBxY29tX2FkZF9zc3Jfc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBx Y29tX3Jwcm9jX3NzciAqc3NyLAorIAkJCSBjb25zdCBjaGFyICpzc3JfbmFtZSk7Cisgdm9pZCBx Y29tX3JlbW92ZV9zc3Jfc3ViZGV2KHN0cnVjdCBycHJvYyAqcnByb2MsIHN0cnVjdCBxY29tX3Jw cm9jX3NzciAqc3NyKTsKKyAKKyt2b2lkIHFjb21fYWRkX3BkbV9zdWJkZXYoc3RydWN0IHJwcm9j ICpycHJvYywgc3RydWN0IHFjb21fcnByb2NfcGRtICpwZG0pOworK3ZvaWQgcWNvbV9yZW1vdmVf cGRtX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLCBzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gKnBk bSk7CisrCisgI2lmIElTX0VOQUJMRUQoQ09ORklHX1FDT01fU1lTTU9OKQorIHN0cnVjdCBxY29t X3N5c21vbiAqcWNvbV9hZGRfc3lzbW9uX3N1YmRldihzdHJ1Y3QgcnByb2MgKnJwcm9jLAorIAkJ CQkJICAgY29uc3QgY2hhciAqbmFtZSwKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2Mv cWNvbV9xNnY1X2Fkc3AuYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfYWRzcC5jCitp bmRleCAxZDI0YzliNjU2YTguLjU3MmRjYjBmMDU1YiAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvcmVt b3RlcHJvYy9xY29tX3E2djVfYWRzcC5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9x NnY1X2Fkc3AuYworQEAgLTExMiw2ICsxMTIsNyBAQCBzdHJ1Y3QgcWNvbV9hZHNwIHsKKyAJc3Ry dWN0IGRldl9wbV9kb21haW5fbGlzdCAqcGRfbGlzdDsKKyAKKyAJc3RydWN0IHFjb21fcnByb2Nf Z2xpbmsgZ2xpbmtfc3ViZGV2OworKwlzdHJ1Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsK KyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNzcl9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3N5c21v biAqc3lzbW9uOworIAorQEAgLTcyNiw2ICs3MjcsNyBAQCBzdGF0aWMgaW50IGFkc3BfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJCWdvdG8gZGlzYWJsZV9wbTsKKyAKKyAJ cWNvbV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2LCBkZXNjLT5z c3JfbmFtZSk7CisrCXFjb21fYWRkX3BkbV9zdWJkZXYocnByb2MsICZhZHNwLT5wZG1fc3ViZGV2 KTsKKyAJcWNvbV9hZGRfc3NyX3N1YmRldihycHJvYywgJmFkc3AtPnNzcl9zdWJkZXYsIGRlc2Mt PnNzcl9uYW1lKTsKKyAJYWRzcC0+c3lzbW9uID0gcWNvbV9hZGRfc3lzbW9uX3N1YmRldihycHJv YywKKyAJCQkJCSAgICAgIGRlc2MtPnN5c21vbl9uYW1lLAorQEAgLTc1NSw2ICs3NTcsNyBAQCBz dGF0aWMgdm9pZCBhZHNwX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAor IAlxY29tX3E2djVfZGVpbml0KCZhZHNwLT5xNnY1KTsKKyAJcWNvbV9yZW1vdmVfZ2xpbmtfc3Vi ZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2KTsKKysJcWNvbV9yZW1vdmVfcGRt X3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPnBkbV9zdWJkZXYpOworIAlxY29tX3JlbW92ZV9z eXNtb25fc3ViZGV2KGFkc3AtPnN5c21vbik7CisgCXFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYoYWRz cC0+cnByb2MsICZhZHNwLT5zc3Jfc3ViZGV2KTsKKyAJcWNvbV9ycHJvY19wZHNfZGV0YWNoKGFk c3ApOworZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfbXNzLmMgYi9k cml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X21zcy5jCitpbmRleCAxNzc5ZmM4OTBlMTAuLjJh NDIyMTVjZThlMCAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfbXNz LmMKKysrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfbXNzLmMKK0BAIC0yMjgsNiAr MjI4LDcgQEAgc3RydWN0IHE2djUgeworIAorIAlzdHJ1Y3QgcWNvbV9ycHJvY19nbGluayBnbGlu a19zdWJkZXY7CisgCXN0cnVjdCBxY29tX3Jwcm9jX3N1YmRldiBzbWRfc3ViZGV2OworKwlzdHJ1 Y3QgcWNvbV9ycHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNz cl9zdWJkZXY7CisgCXN0cnVjdCBxY29tX3N5c21vbiAqc3lzbW9uOworIAlzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpiYW1fZG11eDsKK0BAIC0yMTAyLDYgKzIxMDMsNyBAQCBzdGF0aWMgaW50IHE2 djVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJcXByb2MtPm1iYV9wZXJt ID0gQklUKFFDT01fU0NNX1ZNSURfSExPUyk7CisgCXFjb21fYWRkX2dsaW5rX3N1YmRldihycHJv YywgJnFwcm9jLT5nbGlua19zdWJkZXYsICJtcHNzIik7CisgCXFjb21fYWRkX3NtZF9zdWJkZXYo cnByb2MsICZxcHJvYy0+c21kX3N1YmRldik7CisrCXFjb21fYWRkX3BkbV9zdWJkZXYocnByb2Ms ICZxcHJvYy0+cGRtX3N1YmRldik7CisgCXFjb21fYWRkX3Nzcl9zdWJkZXYocnByb2MsICZxcHJv Yy0+c3NyX3N1YmRldiwgIm1wc3MiKTsKKyAJcXByb2MtPnN5c21vbiA9IHFjb21fYWRkX3N5c21v bl9zdWJkZXYocnByb2MsICJtb2RlbSIsIDB4MTIpOworIAlpZiAoSVNfRVJSKHFwcm9jLT5zeXNt b24pKSB7CitAQCAtMjE0Myw2ICsyMTQ1LDcgQEAgc3RhdGljIHZvaWQgcTZ2NV9yZW1vdmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJcWNvbV9xNnY1X2RlaW5pdCgmcXByb2MtPnE2 djUpOworIAlxY29tX3JlbW92ZV9zeXNtb25fc3ViZGV2KHFwcm9jLT5zeXNtb24pOworIAlxY29t X3JlbW92ZV9zc3Jfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNzcl9zdWJkZXYpOworKwlxY29tX3Jl bW92ZV9wZG1fc3ViZGV2KHJwcm9jLCAmcXByb2MtPnBkbV9zdWJkZXYpOworIAlxY29tX3JlbW92 ZV9zbWRfc3ViZGV2KHJwcm9jLCAmcXByb2MtPnNtZF9zdWJkZXYpOworIAlxY29tX3JlbW92ZV9n bGlua19zdWJkZXYocnByb2MsICZxcHJvYy0+Z2xpbmtfc3ViZGV2KTsKKyAKK2RpZmYgLS1naXQg YS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jIGIvZHJpdmVycy9yZW1vdGVwcm9j L3Fjb21fcTZ2NV9wYXMuYworaW5kZXggODQ1OGJjZmU5ZTE5Li44OGU3Yjg0ZjIyM2MgMTAwNjQ0 CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jCisrKysgYi9kcml2ZXJz L3JlbW90ZXByb2MvcWNvbV9xNnY1X3Bhcy5jCitAQCAtMTExLDYgKzExMSw3IEBAIHN0cnVjdCBx Y29tX2Fkc3AgeworIAorIAlzdHJ1Y3QgcWNvbV9ycHJvY19nbGluayBnbGlua19zdWJkZXY7Cisg CXN0cnVjdCBxY29tX3Jwcm9jX3N1YmRldiBzbWRfc3ViZGV2OworKwlzdHJ1Y3QgcWNvbV9ycHJv Y19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNzcl9zdWJkZXY7Cisg CXN0cnVjdCBxY29tX3N5c21vbiAqc3lzbW9uOworIAorQEAgLTc3Nyw2ICs3NzgsNyBAQCBzdGF0 aWMgaW50IGFkc3BfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAKKyAJcWNv bV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmYWRzcC0+Z2xpbmtfc3ViZGV2LCBkZXNjLT5zc3Jf bmFtZSk7CisgCXFjb21fYWRkX3NtZF9zdWJkZXYocnByb2MsICZhZHNwLT5zbWRfc3ViZGV2KTsK KysJcWNvbV9hZGRfcGRtX3N1YmRldihycHJvYywgJmFkc3AtPnBkbV9zdWJkZXYpOworIAlhZHNw LT5zeXNtb24gPSBxY29tX2FkZF9zeXNtb25fc3ViZGV2KHJwcm9jLAorIAkJCQkJICAgICAgZGVz Yy0+c3lzbW9uX25hbWUsCisgCQkJCQkgICAgICBkZXNjLT5zc2N0bF9pZCk7CitAQCAtODExLDYg KzgxMyw3IEBAIHN0YXRpYyB2b2lkIGFkc3BfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpCisgCXFjb21fcmVtb3ZlX2dsaW5rX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPmds aW5rX3N1YmRldik7CisgCXFjb21fcmVtb3ZlX3N5c21vbl9zdWJkZXYoYWRzcC0+c3lzbW9uKTsK KyAJcWNvbV9yZW1vdmVfc21kX3N1YmRldihhZHNwLT5ycHJvYywgJmFkc3AtPnNtZF9zdWJkZXYp OworKwlxY29tX3JlbW92ZV9wZG1fc3ViZGV2KGFkc3AtPnJwcm9jLCAmYWRzcC0+cGRtX3N1YmRl dik7CisgCXFjb21fcmVtb3ZlX3Nzcl9zdWJkZXYoYWRzcC0+cnByb2MsICZhZHNwLT5zc3Jfc3Vi ZGV2KTsKKyAJYWRzcF9wZHNfZGV0YWNoKGFkc3AsIGFkc3AtPnByb3h5X3BkcywgYWRzcC0+cHJv eHlfcGRfY291bnQpOworIAlkZXZpY2VfaW5pdF93YWtldXAoYWRzcC0+ZGV2LCBmYWxzZSk7Citk aWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93Y3NzLmMgYi9kcml2ZXJz L3JlbW90ZXByb2MvcWNvbV9xNnY1X3djc3MuYworaW5kZXggOTRmNjhjOTE5ZWU2Li5lOTEzZGFi YWU5OTIgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3djc3MuYwor KysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV93Y3NzLmMKK0BAIC0xNDgsNiArMTQ4 LDcgQEAgc3RydWN0IHE2djVfd2NzcyB7CisgCWJvb2wgcmVxdWlyZXNfZm9yY2Vfc3RvcDsKKyAK KyAJc3RydWN0IHFjb21fcnByb2NfZ2xpbmsgZ2xpbmtfc3ViZGV2OworKwlzdHJ1Y3QgcWNvbV9y cHJvY19wZG0gcGRtX3N1YmRldjsKKyAJc3RydWN0IHFjb21fcnByb2Nfc3NyIHNzcl9zdWJkZXY7 CisgfTsKKyAKK0BAIC0xMDUyLDYgKzEwNTMsNyBAQCBzdGF0aWMgaW50IHE2djVfd2Nzc19wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQorIAkJcmV0dXJuIHJldDsKKyAKKyAJcWNv bV9hZGRfZ2xpbmtfc3ViZGV2KHJwcm9jLCAmd2Nzcy0+Z2xpbmtfc3ViZGV2LCAicTZ3Y3NzIik7 CisrCXFjb21fYWRkX3BkbV9zdWJkZXYocnByb2MsICZ3Y3NzLT5wZG1fc3ViZGV2KTsKKyAJcWNv bV9hZGRfc3NyX3N1YmRldihycHJvYywgJndjc3MtPnNzcl9zdWJkZXYsICJxNndjc3MiKTsKKyAK KyAJaWYgKGRlc2MtPnNzY3RsX2lkKQorQEAgLTEwNzQsNiArMTA3Niw3IEBAIHN0YXRpYyB2b2lk IHE2djVfd2Nzc19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKKyAJc3RydWN0 IHE2djVfd2NzcyAqd2NzcyA9IHJwcm9jLT5wcml2OworIAorIAlxY29tX3E2djVfZGVpbml0KCZ3 Y3NzLT5xNnY1KTsKKysJcWNvbV9yZW1vdmVfcGRtX3N1YmRldihycHJvYywgJndjc3MtPnBkbV9z dWJkZXYpOworIAlycHJvY19kZWwocnByb2MpOworIH0KKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bGludXg2LjkvdGVtcGxhdGUgYi9zcmNwa2dzL2xpbnV4Ni45L3RlbXBsYXRlCmluZGV4IGM5MTIx OTAwMDRmNjZmLi4wZjA4NGE1MzhmYzkwMiAxMDA2NDQKLS0tIGEvc3JjcGtncy9saW51eDYuOS90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xpbnV4Ni45L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnbGludXg2LjknCiBwa2duYW1lPWxpbnV4Ni45CiB2ZXJzaW9u PTYuOS42Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBzaG9ydF9kZXNjPSJMaW51eCBrZXJuZWwg YW5kIG1vZHVsZXMgKCR7dmVyc2lvbiUuKn0gc2VyaWVzKSIKIG1haW50YWluZXI9IkR1bmNhZW4g PGR1bmNhZW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9ubHkiCg== --===============3241206536690175054==--