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 CF53626234 for ; Sun, 5 May 2024 17:26:18 +0200 (CEST) Content-Type: multipart/mixed; boundary="===============1182759538867468408==" 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: Sun, 05 May 2024 17:26:18 +0200 List-Id: Message-Id: <20240505152618.CF53626234@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============1182759538867468408== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgY2xhc3NhYmJ5YW1wIGFnYWluc3Qg bWFzdGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNv bS9jbGFzc2FiYnlhbXAvdm9pZC1wYWNrYWdlcyB4MTNzLXN1cHBvcnQKaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ5NjE1CgpMZW5vdm8gWDEzcyBzdXBw b3J0CiMjIHJlcG8gZm9yIHRlc3Rpbmc6IGh0dHBzOi8vZGV2c3BhY2Uudm9pZGxpbnV4Lm9yZy9h YmJ5L3gxM3MvDQoNCiMjIyMgVE9ET3MNCi0gWyBdIGRvY3VtZW50IGluc3RhbGwgcHJvY2Vzcywg aW5jbHVkaW5nIHJlcXVpcmVkIGNtZGxpbmUgKGBhcm02NC5ub3BhdXRoIGNsa19pZ25vcmVfdW51 c2VkIHBkX2lnbm9yZV91bnVzZWRgKQ0KICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1kb2NzL2NvbXBhcmUvbWFzdGVyLi4uY2xhc3NhYmJ5YW1wOnZvaWQtZG9jczp4MTNz DQotIFsgXSBmaXggYmx1ZXRvb3RoIG1hYyBhZGRyZXNzOiAoYGJ0bWdtdCBwdWJsaWMtYWRkciBG NDpBMDowRDpYWDpZWTpaWmApDQotIFt4XSBzZXQgYSByYW5kb20gbWFjIHdpdGggdGhlIGNvcnJl Y3QgT1VJIChgRjQ6QTA6MEQ6eHg6eXk6enpgKSBhdCBpbnN0YWxsPw0KLSBbeF0gbWtpbml0Y3Bp byBkcm9wLWluIGNvbmZpZw0KLSBbIF0gY3JlYXRlIGFuZCB0ZXN0IGxpdmUgaW1hZ2VzDQogICAg LSAqKkhFQVZJTFkgV0lQKiogaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1ta2xp dmUvY29tcGFyZS9tYXN0ZXIuLi5jbGFzc2FiYnlhbXA6dm9pZC1ta2xpdmU6YWFyY2g2NC1saXZl DQotIFsgXSBrZXJuZWwgaW5zdGFsbCBob29rIHRvIHVwZGF0ZSB0aGUgZHRiPw0KDQojIyMjIFRl c3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipZ RVMqKg0KDQojIyMjIE5ldyBwYWNrYWdlDQotIFRoaXMgbmV3IHBhY2thZ2UgY29uZm9ybXMgdG8g dGhlIFtwYWNrYWdlIHJlcXVpcmVtZW50c10oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjcGFja2FnZS1yZXF1aXJl bWVudHMpOiAqKllFUyoqDQoNCltjaSBza2lwXQoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9n aXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ5NjE1LnBhdGNoIGlzIGF0 dGFjaGVk --===============1182759538867468408== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-x13s-support-49615.patch" RnJvbSBlMGYyZjE3MzQ3MDU3YjA5MjJlODE2OTMwY2Q1NzI5NjVlODE5YmRmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjbGFzc2FiYnlhbXAgPHZvaWRAcGxhY2V2aW9sZXR0ZS5uZXQ+ CkRhdGU6IFRodSwgMjEgTWFyIDIwMjQgMTg6MDA6NDUgLTA0MDAKU3ViamVjdDogW1BBVENIIDEv M10gTmV3IHBhY2thZ2U6IHgxM3MtYmFzZS0wLjIKCi0tLQogc3JjcGtncy94MTNzLWJhc2UvSU5T VEFMTCAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKysrKwogc3JjcGtncy94MTNzLWJh c2UvZmlsZXMvNzItdG91Y2hzY3JlZW4ucnVsZXMgfCAgMSArCiBzcmNwa2dzL3gxM3MtYmFzZS9m aWxlcy85MC1uZXQtYWRkcmVzcy5ydWxlcyB8ICAxICsKIHNyY3BrZ3MveDEzcy1iYXNlL2ZpbGVz L2RyYWN1dC5jb25mICAgICAgICAgIHwgIDYgKysrKysrCiBzcmNwa2dzL3gxM3MtYmFzZS9maWxl cy9ta2luaXRjcGlvLmNvbmYgICAgICB8ICA2ICsrKysrKwogc3JjcGtncy94MTNzLWJhc2UvdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgfCAyMCArKysrKysrKysrKysrKysrKysrKwogNiBmaWxl cyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy94 MTNzLWJhc2UvSU5TVEFMTAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MveDEzcy1iYXNlL2Zp bGVzLzcyLXRvdWNoc2NyZWVuLnJ1bGVzCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy94MTNz LWJhc2UvZmlsZXMvOTAtbmV0LWFkZHJlc3MucnVsZXMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3gxM3MtYmFzZS9maWxlcy9kcmFjdXQuY29uZgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MveDEzcy1iYXNlL2ZpbGVzL21raW5pdGNwaW8uY29uZgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MveDEzcy1iYXNlL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94MTNzLWJhc2Uv SU5TVEFMTCBiL3NyY3BrZ3MveDEzcy1iYXNlL0lOU1RBTEwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwMDAuLjNlNmFhNGI3NmI3ZTkzCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy94MTNzLWJhc2UvSU5TVEFMTApAQCAtMCwwICsxLDExIEBACitjYXNlICIkQUNUSU9O IiBpbgorcG9zdCkKKwlta2RpciAtcCBldGMvcnVuaXQvcnVuc3ZkaXIvZGVmYXVsdC8KKwlsbiAt c2YgL2V0Yy9zdi9xcnRyLW5zIGV0Yy9ydW5pdC9ydW5zdmRpci9kZWZhdWx0LworCisJIyBhc3Np Z24gYSByYW5kb20gd2xhbiBNQUMgYWRkcmVzcyB3aXRoIHRoZSBjb3JyZWN0IE9VSQorCXNlZCAt aS5iYWsgLWUgInMvOlhYOllZOlpaLyQob2QgLUFuIC1OMyAtdCB4MSAvZGV2L3VyYW5kb20gfCB0 ciAnICcgJzonKS9nIiBcCisJCXVzci9saWIvdWRldi9ydWxlcy5kLzkwLXgxM3MtbmV0LWFkZHJl c3MucnVsZXMKKwlybSB1c3IvbGliL3VkZXYvcnVsZXMuZC85MC14MTNzLW5ldC1hZGRyZXNzLnJ1 bGVzLmJhaworCTs7Citlc2FjCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy83 Mi10b3VjaHNjcmVlbi5ydWxlcyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzcyLXRvdWNoc2Ny ZWVuLnJ1bGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5jMGEx Y2I2Mzc0OTY0MwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzcy LXRvdWNoc2NyZWVuLnJ1bGVzCkBAIC0wLDAgKzEgQEAKK0FDVElPTj09ImFkZCIgLCBSVU4rPSIv YmluL3NoIC1jICdlY2hvIDQtMDAxMCA+IC9zeXMvYnVzL2kyYy9kcml2ZXJzL2kyY19oaWRfb2Yv YmluZCciCmRpZmYgLS1naXQgYS9zcmNwa2dzL3gxM3MtYmFzZS9maWxlcy85MC1uZXQtYWRkcmVz cy5ydWxlcyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkwLW5ldC1hZGRyZXNzLnJ1bGVzCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi43OTkxMWZmYjkwOGIyOQot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzLzkwLW5ldC1hZGRyZXNz LnJ1bGVzCkBAIC0wLDAgKzEgQEAKK0FDVElPTj09ImFkZCIsIFNVQlNZU1RFTT09Im5ldCIsIEtF Uk5FTFM9PSIwMDA2OjAxOjAwLjAiLCBSVU4rPSIvdXNyL2Jpbi9pcCBsaW5rIHNldCBkZXYgJG5h bWUgYWRkcmVzcyBGNDpBMDowRDpYWDpZWTpaWiIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MveDEzcy1i YXNlL2ZpbGVzL2RyYWN1dC5jb25mIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvZHJhY3V0LmNv bmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAuLjc2ZTU4ODQzZjli YzkzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvZHJhY3V0LmNv bmYKQEAgLTAsMCArMSw2IEBACitmb3JjZV9kcml2ZXJzKz0iIG52bWUgcGh5X3Fjb21fcW1wX3Bj aWUgIgorIyBrZXlib2FyZAorZm9yY2VfZHJpdmVycys9IiBpMmNfaGlkX29mIGkyY19xY29tX2dl bmkgIgorIyBkaXNwbGF5Citmb3JjZV9kcml2ZXJzKz0iIGxlZHNfcWNvbV9scGcgcHdtX2JsIHFy dHIgcG1pY19nbGlua19hbHRtb2RlIGdwaW9fc2J1X211eCAiCitmb3JjZV9kcml2ZXJzKz0iIHBo eV9xY29tX3FtcF9jb21ibyBncHVjY19zYzgyODB4cCBkaXNwY2Nfc2M4MjgweHAgcGh5X3Fjb21f ZWRwIHBhbmVsX2VkcCBtc20gIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMv bWtpbml0Y3Bpby5jb25mIGIvc3JjcGtncy94MTNzLWJhc2UvZmlsZXMvbWtpbml0Y3Bpby5jb25m Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5kMTkwNGZhZTlkMDk5 ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1iYXNlL2ZpbGVzL21raW5pdGNwaW8u Y29uZgpAQCAtMCwwICsxLDYgQEAKK01PRFVMRVMrPShudm1lIHBoeV9xY29tX3FtcF9wY2llKQor IyBrZXlib2FyZAorTU9EVUxFUys9KGkyY19oaWRfb2YgaTJjX3Fjb21fZ2VuaSkKKyMgZGlzcGxh eQorTU9EVUxFUys9KGxlZHNfcWNvbV9scGcgcHdtX2JsIHFydHIgcG1pY19nbGlua19hbHRtb2Rl IGdwaW9fc2J1X211eAorIHBoeV9xY29tX3FtcF9jb21ibyBncHVjY19zYzgyODB4cCBkaXNwY2Nf c2M4MjgweHAgcGh5X3Fjb21fZWRwIHBhbmVsX2VkcCBtc20pCmRpZmYgLS1naXQgYS9zcmNwa2dz L3gxM3MtYmFzZS90ZW1wbGF0ZSBiL3NyY3BrZ3MveDEzcy1iYXNlL3RlbXBsYXRlCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwLi5mM2Y4ZmQ5NzZjZTA0OQotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MveDEzcy1iYXNlL3RlbXBsYXRlCkBAIC0wLDAgKzEsMjAgQEAK KyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3gxM3MtYmFzZScKK3BrZ25hbWU9eDEzcy1iYXNlCit2ZXJz aW9uPTAuMgorcmV2aXNpb249MQorYXJjaHM9ImFhcmNoNjQqIgorZGVwZW5kcz0ibGludXg2Ljgg ZHJhY3V0IGxpbnV4LWZpcm13YXJlLXF1YWxjb21tIGxpbnV4LWZpcm13YXJlLW5ldHdvcmsKKyBh bHNhLXVjbS1jb25mIHFydHItbnMiCitzaG9ydF9kZXNjPSJWb2lkIExpbnV4IFRoaW5rcGFkIFgx M3MgcGxhdGZvcm0gcGFja2FnZSIKK21haW50YWluZXI9ImNsYXNzYWJieWFtcCA8dm9pZEBwbGFj ZXZpb2xldHRlLm5ldD4iCitsaWNlbnNlPSJQdWJsaWMgRG9tYWluIgoraG9tZXBhZ2U9Imh0dHBz Oi8vd3d3LnZvaWRsaW51eC5vcmciCisKKyMgVE9ETzogYmx1ZXRvb3RoOiBodHRwczovL2dpdGh1 Yi5jb20vamhvdm9sZC9saW51eC93aWtpL1gxM3MjYmx1ZXRvb3RoCisKK2RvX2luc3RhbGwoKSB7 CisJdmluc3RhbGwgIiR7RklMRVNESVJ9Ii83Mi10b3VjaHNjcmVlbi5ydWxlcyA2NDQgdXNyL2xp Yi91ZGV2L3J1bGVzLmQgOTAteDEzcy10b3VjaHNjcmVlbi5ydWxlcworCXZpbnN0YWxsICIke0ZJ TEVTRElSfSIvOTAtbmV0LWFkZHJlc3MucnVsZXMgNjQ0IHVzci9saWIvdWRldi9ydWxlcy5kIDkw LXgxM3MtbmV0LWFkZHJlc3MucnVsZXMKKwl2aW5zdGFsbCAiJHtGSUxFU0RJUn0iL2RyYWN1dC5j b25mIDY0NCB1c3IvbGliL2RyYWN1dC9kcmFjdXQuY29uZi5kIHgxM3MuY29uZgorCXZpbnN0YWxs ICIke0ZJTEVTRElSfSIvbWtpbml0Y3Bpby5jb25mIDY0NCBldGMvbWtpbml0Y3Bpby5jb25mLmQg eDEzcy5jb25mCit9CgpGcm9tIDU3ZDMwNmZiNDdmY2RhZTYwYmIyMWNiZWU4NjRiNDFkZjAwNjdh MDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGNsYXNzYWJieWFtcCA8dm9pZEBwbGFj ZXZpb2xldHRlLm5ldD4KRGF0ZTogVGh1LCAyMSBNYXIgMjAyNCAxODowMTozMCAtMDQwMApTdWJq ZWN0OiBbUEFUQ0ggMi8zXSBsaW51eDYuODogYWRkIHN1cHBvcnQgZm9yIGxlbm92byB4MTNzCgot LS0KIHNyY3BrZ3MvbGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnICAgICAgICB8ICAgODEg Ky0KIC4uLmQtaW4ta2VybmVsLXBkLW1hcHBlci1pbXBsZW1lbnRhdGlvbi5wYXRjaCB8IDIwMTEg KysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvbGludXg2LjgvdGVtcGxhdGUgICAgICAgICAgICAg ICAgICAgICB8ICAgIDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMjA3MCBpbnNlcnRpb25zKCspLCAy NCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpbnV4Ni44L3BhdGNo ZXMvc29jLXFjb20tYWRkLWluLWtlcm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2gK CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpbnV4Ni44L2ZpbGVzL2FybTY0LWRvdGNvbmZpZyBiL3Ny Y3BrZ3MvbGludXg2LjgvZmlsZXMvYXJtNjQtZG90Y29uZmlnCmluZGV4IGFkYTBlNWE5ZTUxMjAx Li45N2U5ZDcyOWMzYWEzOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9saW51eDYuOC9maWxlcy9hcm02 NC1kb3Rjb25maWcKKysrIGIvc3JjcGtncy9saW51eDYuOC9maWxlcy9hcm02NC1kb3Rjb25maWcK QEAgLTIsNyArMiw3IEBACiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZpbGU7IERPIE5PVCBF RElULgogIyBMaW51eC9hcm02NCA2LjguOSBLZXJuZWwgQ29uZmlndXJhdGlvbgogIwotQ09ORklH X0NDX1ZFUlNJT05fVEVYVD0iYWFyY2g2NC1saW51eC1tdXNsLWdjYyAoR0NDKSAxMy4yLjAiCitD T05GSUdfQ0NfVkVSU0lPTl9URVhUPSJhYXJjaDY0LWxpbnV4LWdudS1nY2MgKEdDQykgMTMuMi4w IgogQ09ORklHX0NDX0lTX0dDQz15CiBDT05GSUdfR0NDX1ZFUlNJT049MTMwMjAwCiBDT05GSUdf Q0xBTkdfVkVSU0lPTj0wCkBAIC0yOSw3ICsyOSw3IEBAIENPTkZJR19USFJFQURfSU5GT19JTl9U QVNLPXkKIENPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKICMgQ09ORklHX0NPTVBJTEVfVEVT VCBpcyBub3Qgc2V0CiAjIENPTkZJR19XRVJST1IgaXMgbm90IHNldAotQ09ORklHX0xPQ0FMVkVS U0lPTj0iXzEiCitDT05GSUdfTE9DQUxWRVJTSU9OPSJfMiIKICMgQ09ORklHX0xPQ0FMVkVSU0lP Tl9BVVRPIGlzIG5vdCBzZXQKIENPTkZJR19CVUlMRF9TQUxUPSIiCiBDT05GSUdfREVGQVVMVF9J TklUPSIiCkBAIC01OTYsNyArNTk2LDcgQEAgQ09ORklHX0RQTV9XQVRDSERPRz15CiBDT05GSUdf RFBNX1dBVENIRE9HX1RJTUVPVVQ9NjAKIENPTkZJR19QTV9DTEs9eQogQ09ORklHX1BNX0dFTkVS SUNfRE9NQUlOUz15Ci0jIENPTkZJR19XUV9QT1dFUl9FRkZJQ0lFTlRfREVGQVVMVCBpcyBub3Qg c2V0CitDT05GSUdfV1FfUE9XRVJfRUZGSUNJRU5UX0RFRkFVTFQ9eQogQ09ORklHX1BNX0dFTkVS SUNfRE9NQUlOU19TTEVFUD15CiBDT05GSUdfUE1fR0VORVJJQ19ET01BSU5TX09GPXkKIENPTkZJ R19DUFVfUE09eQpAQCAtMjM2OSw3ICsyMzY5LDcgQEAgQ09ORklHX1NPQ19CVVM9eQogQ09ORklH X1JFR01BUD15CiBDT05GSUdfUkVHTUFQX0kyQz15CiBDT05GSUdfUkVHTUFQX1NQST15Ci1DT05G SUdfUkVHTUFQX1NQTUk9bQorQ09ORklHX1JFR01BUF9TUE1JPXkKIENPTkZJR19SRUdNQVBfVzE9 bQogQ09ORklHX1JFR01BUF9NTUlPPXkKIENPTkZJR19SRUdNQVBfSVJRPXkKQEAgLTI0MzcsNyAr MjQzNyw3IEBAIENPTkZJR19BUk1fU0NNSV9UUkFOU1BPUlRfVklSVElPX1ZFUlNJT04xX0NPTVBM SUFOQ0U9eQogQ09ORklHX0FSTV9TQ01JX1BPV0VSX0NPTlRST0w9bQogIyBlbmQgb2YgQVJNIFN5 c3RlbSBDb250cm9sIGFuZCBNYW5hZ2VtZW50IEludGVyZmFjZSBQcm90b2NvbAogCi1DT05GSUdf QVJNX1NDUElfUFJPVE9DT0w9bQorQ09ORklHX0FSTV9TQ1BJX1BST1RPQ09MPXkKIENPTkZJR19B Uk1fU0RFX0lOVEVSRkFDRT15CiBDT05GSUdfRklSTVdBUkVfTUVNTUFQPXkKIENPTkZJR19ETUlJ RD15CkBAIC0yNDkzLDcgKzI0OTMsOCBAQCBDT05GSUdfQVJNX1BTQ0lfRlc9eQogIwogQ09ORklH X1FDT01fU0NNPXkKICMgQ09ORklHX1FDT01fU0NNX0RPV05MT0FEX01PREVfREVGQVVMVCBpcyBu b3Qgc2V0Ci0jIENPTkZJR19RQ09NX1FTRUVDT00gaXMgbm90IHNldAorQ09ORklHX1FDT01fUVNF RUNPTT15CitDT05GSUdfUUNPTV9RU0VFQ09NX1VFRklTRUNBUFA9eQogIyBlbmQgb2YgUXVhbGNv bW0gZmlybXdhcmUgZHJpdmVycwogCiBDT05GSUdfSEFWRV9BUk1fU01DQ0M9eQpAQCAtNDkwNCw3 ICs0OTA1LDcgQEAgQ09ORklHX1hJTExZVVNCPW0KIENPTkZJR19JMkM9eQogQ09ORklHX0FDUElf STJDX09QUkVHSU9OPXkKIENPTkZJR19JMkNfQk9BUkRJTkZPPXkKLSMgQ09ORklHX0kyQ19DT01Q QVQgaXMgbm90IHNldAorQ09ORklHX0kyQ19DT01QQVQ9eQogQ09ORklHX0kyQ19DSEFSREVWPW0K IENPTkZJR19JMkNfTVVYPW0KIApAQCAtNTEzMyw3ICs1MTM0LDcgQEAgQ09ORklHX1NQSV9TTEFW RT15CiBDT05GSUdfU1BJX1NMQVZFX1RJTUU9bQogQ09ORklHX1NQSV9TTEFWRV9TWVNURU1fQ09O VFJPTD1tCiBDT05GSUdfU1BJX0RZTkFNSUM9eQotQ09ORklHX1NQTUk9bQorQ09ORklHX1NQTUk9 eQogQ09ORklHX1NQTUlfSElTSTM2NzA9bQogQ09ORklHX1NQTUlfTVNNX1BNSUNfQVJCPW0KIENP TkZJR19TUE1JX01US19QTUlGPW0KQEAgLTUzMDQsNyArNTMwNSw3IEBAIENPTkZJR19QSU5DVFJM X1NBODc3NVA9bQogQ09ORklHX1BJTkNUUkxfU0M3MTgwPW0KIENPTkZJR19QSU5DVFJMX1NDNzI4 MD1tCiBDT05GSUdfUElOQ1RSTF9TQzgxODBYPW0KLUNPTkZJR19QSU5DVFJMX1NDODI4MFhQPW0K K0NPTkZJR19QSU5DVFJMX1NDODI4MFhQPXkKICMgQ09ORklHX1BJTkNUUkxfU0RNNjYwIGlzIG5v dCBzZXQKIENPTkZJR19QSU5DVFJMX1NETTY3MD1tCiBDT05GSUdfUElOQ1RSTF9TRE04NDU9bQpA QCAtNTMyMiw3ICs1MzIzLDcgQEAgQ09ORklHX1BJTkNUUkxfU004NDUwPW0KIENPTkZJR19QSU5D VFJMX1NNODU1MD1tCiAjIENPTkZJR19QSU5DVFJMX1NNODY1MCBpcyBub3Qgc2V0CiAjIENPTkZJ R19QSU5DVFJMX1gxRTgwMTAwIGlzIG5vdCBzZXQKLUNPTkZJR19QSU5DVFJMX1FDT01fU1BNSV9Q TUlDPW0KK0NPTkZJR19QSU5DVFJMX1FDT01fU1BNSV9QTUlDPXkKIENPTkZJR19QSU5DVFJMX1FD T01fU1NCSV9QTUlDPW0KIENPTkZJR19QSU5DVFJMX0xQQVNTX0xQST1tCiAjIENPTkZJR19QSU5D VFJMX1NDNzI4MF9MUEFTU19MUEkgaXMgbm90IHNldApAQCAtNTkxMSwxMiArNTkxMiwxMyBAQCBD T05GSUdfVEhFUk1BTF9PRj15CiBDT05GSUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9TVEVQX1dJU0U9 eQogIyBDT05GSUdfVEhFUk1BTF9ERUZBVUxUX0dPVl9GQUlSX1NIQVJFIGlzIG5vdCBzZXQKICMg Q09ORklHX1RIRVJNQUxfREVGQVVMVF9HT1ZfVVNFUl9TUEFDRSBpcyBub3Qgc2V0CisjIENPTkZJ R19USEVSTUFMX0RFRkFVTFRfR09WX1BPV0VSX0FMTE9DQVRPUiBpcyBub3Qgc2V0CiAjIENPTkZJ R19USEVSTUFMX0RFRkFVTFRfR09WX0JBTkdfQkFORyBpcyBub3Qgc2V0CiBDT05GSUdfVEhFUk1B TF9HT1ZfRkFJUl9TSEFSRT15CiBDT05GSUdfVEhFUk1BTF9HT1ZfU1RFUF9XSVNFPXkKIENPTkZJ R19USEVSTUFMX0dPVl9CQU5HX0JBTkc9eQogQ09ORklHX1RIRVJNQUxfR09WX1VTRVJfU1BBQ0U9 eQotIyBDT05GSUdfVEhFUk1BTF9HT1ZfUE9XRVJfQUxMT0NBVE9SIGlzIG5vdCBzZXQKK0NPTkZJ R19USEVSTUFMX0dPVl9QT1dFUl9BTExPQ0FUT1I9eQogQ09ORklHX0NQVV9USEVSTUFMPXkKIENP TkZJR19DUFVfRlJFUV9USEVSTUFMPXkKICMgQ09ORklHX0NQVV9JRExFX1RIRVJNQUwgaXMgbm90 IHNldApAQCAtNTk3NCw3ICs1OTc2LDcgQEAgQ09ORklHX0dFTkVSSUNfQURDX1RIRVJNQUw9bQog IwogQ09ORklHX1FDT01fVFNFTlM9bQogQ09ORklHX1FDT01fU1BNSV9BRENfVE01PW0KLSMgQ09O RklHX1FDT01fU1BNSV9URU1QX0FMQVJNIGlzIG5vdCBzZXQKK0NPTkZJR19RQ09NX1NQTUlfVEVN UF9BTEFSTT1tCiBDT05GSUdfUUNPTV9MTUg9bQogIyBlbmQgb2YgUXVhbGNvbW0gdGhlcm1hbCBk cml2ZXJzCiAKQEAgLTYwMTIsNyArNjAxNCw3IEBAIENPTkZJR19YSUxJTlhfV0FUQ0hET0c9bQog Q09ORklHX1pJSVJBVkVfV0FUQ0hET0c9bQogQ09ORklHX01MWF9XRFQ9bQogQ09ORklHX1NMMjhD UExEX1dBVENIRE9HPW0KLSMgQ09ORklHX0FSTV9TUDgwNV9XQVRDSERPRyBpcyBub3Qgc2V0CitD T05GSUdfQVJNX1NQODA1X1dBVENIRE9HPXkKIENPTkZJR19BUk1fU0JTQV9XQVRDSERPRz1tCiBD T05GSUdfQVJNQURBXzM3WFhfV0FUQ0hET0c9bQogQ09ORklHX0NBREVOQ0VfV0FUQ0hET0c9bQpA QCAtNjAyNSw3ICs2MDI3LDcgQEAgQ09ORklHX0lNWDJfV0RUPW0KIENPTkZJR19JTVhfU0NfV0RU PW0KIENPTkZJR19JTVg3VUxQX1dEVD1tCiBDT05GSUdfVEVHUkFfV0FUQ0hET0c9bQotIyBDT05G SUdfUUNPTV9XRFQgaXMgbm90IHNldAorQ09ORklHX1FDT01fV0RUPW0KIENPTkZJR19NRVNPTl9H WEJCX1dBVENIRE9HPW0KIENPTkZJR19NRVNPTl9XQVRDSERPRz1tCiBDT05GSUdfTUVESUFURUtf V0FUQ0hET0c9bQpAQCAtOTMyNSw3ICs5MzI3LDcgQEAgQ09ORklHX1NDU0lfVUZTSENEX1BDST1t CiBDT05GSUdfU0NTSV9VRlNIQ0RfUExBVEZPUk09bQogQ09ORklHX1NDU0lfVUZTX0NETlNfUExB VEZPUk09bQogIyBDT05GSUdfU0NTSV9VRlNfRFdDX1RDX1BMQVRGT1JNIGlzIG5vdCBzZXQKLSMg Q09ORklHX1NDU0lfVUZTX1FDT00gaXMgbm90IHNldAorQ09ORklHX1NDU0lfVUZTX1FDT009bQog Q09ORklHX1NDU0lfVUZTX01FRElBVEVLPW0KIENPTkZJR19TQ1NJX1VGU19ISVNJPW0KIENPTkZJ R19TQ1NJX1VGU19FWFlOT1M9bQpAQCAtMTAzNDQsNyArMTAzNDYsNyBAQCBDT05GSUdfUUNNX0dD Q18yMjkwPW0KIENPTkZJR19RQ1NfR0NDXzQwND1tCiBDT05GSUdfU0NfQ0FNQ0NfNzE4MD1tCiBD T05GSUdfU0NfQ0FNQ0NfNzI4MD1tCi0jIENPTkZJR19TQ19DQU1DQ184MjgwWFAgaXMgbm90IHNl dAorQ09ORklHX1NDX0NBTUNDXzgyODBYUD1tCiBDT05GSUdfU0NfRElTUENDXzcxODA9bQogQ09O RklHX1NDX0RJU1BDQ183MjgwPW0KIENPTkZJR19TQ19ESVNQQ0NfODI4MFhQPW0KQEAgLTEwMzU2 LDkgKzEwMzU4LDkgQEAgQ09ORklHX1NDX0dDQ184MTgwWD1tCiBDT05GSUdfU0NfR0NDXzgyODBY UD1tCiBDT05GSUdfU0NfR1BVQ0NfNzE4MD1tCiBDT05GSUdfU0NfR1BVQ0NfNzI4MD1tCi0jIENP TkZJR19TQ19HUFVDQ184MjgwWFAgaXMgbm90IHNldAorQ09ORklHX1NDX0dQVUNDXzgyODBYUD1t CiBDT05GSUdfU0NfTFBBU1NDQ183MjgwPW0KLSMgQ09ORklHX1NDX0xQQVNTQ0NfODI4MFhQIGlz IG5vdCBzZXQKK0NPTkZJR19TQ19MUEFTU0NDXzgyODBYUD1tCiBDT05GSUdfU0NfTFBBU1NfQ09S RUNDXzcxODA9bQogQ09ORklHX1NDX0xQQVNTX0NPUkVDQ183MjgwPW0KIENPTkZJR19TQ19NU1Nf NzE4MD1tCkBAIC0xMDQxNiw3ICsxMDQxOCw3IEBAIENPTkZJR19TTV9UQ1NSQ0NfODU1MD1tCiAj IENPTkZJR19TTV9UQ1NSQ0NfODY1MCBpcyBub3Qgc2V0CiBDT05GSUdfU01fVklERU9DQ184MTUw PW0KIENPTkZJR19TTV9WSURFT0NDXzgyNTA9bQotIyBDT05GSUdfU01fVklERU9DQ184MzUwIGlz IG5vdCBzZXQKK0NPTkZJR19TTV9WSURFT0NDXzgzNTA9bQogIyBDT05GSUdfU01fVklERU9DQ184 NTUwIGlzIG5vdCBzZXQKIENPTkZJR19TUE1JX1BNSUNfQ0xLRElWPW0KIENPTkZJR19RQ09NX0hG UExMPW0KQEAgLTEwNDk0LDcgKzEwNDk2LDcgQEAgQ09ORklHX1RJTUVSX0lNWF9TWVNfQ1RSPXkK ICMgZW5kIG9mIENsb2NrIFNvdXJjZSBkcml2ZXJzCiAKIENPTkZJR19NQUlMQk9YPXkKLSMgQ09O RklHX0FSTV9NSFUgaXMgbm90IHNldAorQ09ORklHX0FSTV9NSFU9eQogQ09ORklHX0FSTV9NSFVf VjI9bQogQ09ORklHX0lNWF9NQk9YPW0KIENPTkZJR19QTEFURk9STV9NSFU9bQpAQCAtMTA1MzYs OCArMTA1MzgsOCBAQCBDT05GSUdfSU9NTVVfSU9fUEdUQUJMRV9EQVJUPXkKIAogIyBDT05GSUdf SU9NTVVfREVCVUdGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19JT01NVV9ERUZBVUxUX0RNQV9TVFJJ Q1QgaXMgbm90IHNldAotIyBDT05GSUdfSU9NTVVfREVGQVVMVF9ETUFfTEFaWSBpcyBub3Qgc2V0 Ci1DT05GSUdfSU9NTVVfREVGQVVMVF9QQVNTVEhST1VHSD15CitDT05GSUdfSU9NTVVfREVGQVVM VF9ETUFfTEFaWT15CisjIENPTkZJR19JT01NVV9ERUZBVUxUX1BBU1NUSFJPVUdIIGlzIG5vdCBz ZXQKIENPTkZJR19PRl9JT01NVT15CiBDT05GSUdfSU9NTVVfRE1BPXkKIENPTkZJR19JT01NVV9T VkE9eQpAQCAtMTA2OTUsNyArMTA2OTcsOSBAQCBDT05GSUdfUUNPTV9MTENDPW0KIENPTkZJR19R Q09NX0tSWU9fTDJfQUNDRVNTT1JTPXkKIENPTkZJR19RQ09NX01EVF9MT0FERVI9bQogQ09ORklH X1FDT01fT0NNRU09bQorQ09ORklHX1FDT01fUERfTUFQUEVSPW0KIENPTkZJR19RQ09NX1BEUl9I RUxQRVJTPW0KK0NPTkZJR19RQ09NX1BEUl9NU0c9bQogIyBDT05GSUdfUUNPTV9QTUlDX1BEQ0hB UkdFUl9VTE9HIGlzIG5vdCBzZXQKIENPTkZJR19RQ09NX1BNSUNfR0xJTks9bQogQ09ORklHX1FD T01fUU1JX0hFTFBFUlM9bQpAQCAtMTE5MjcsNyArMTE5MzEsMzggQEAgQ09ORklHX0lOVEVSQ09O TkVDVF9JTVg4TU09bQogQ09ORklHX0lOVEVSQ09OTkVDVF9JTVg4TU49bQogQ09ORklHX0lOVEVS Q09OTkVDVF9JTVg4TVE9bQogQ09ORklHX0lOVEVSQ09OTkVDVF9JTVg4TVA9bQotIyBDT05GSUdf SU5URVJDT05ORUNUX1FDT00gaXMgbm90IHNldAorQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NPXkK K0NPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9CQ01fVk9URVI9eQorIyBDT05GSUdfSU5URVJDT05O RUNUX1FDT01fTVNNODkxNiBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9N U004OTM5IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX01TTTg5NzQgaXMg bm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fTVNNODk5NiBpcyBub3Qgc2V0CitD T05GSUdfSU5URVJDT05ORUNUX1FDT01fT1NNX0wzPW0KKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9R Q09NX1FDTTIyOTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fUUNTNDA0 IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1FEVTEwMDAgaXMgbm90IHNl dAorQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1JQTUhfUE9TU0lCTEU9eQorQ09ORklHX0lOVEVS Q09OTkVDVF9RQ09NX1JQTUg9eQorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0E4Nzc1UCBp cyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TQzcxODAgaXMgbm90IHNldAor IyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU0M3MjgwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lO VEVSQ09OTkVDVF9RQ09NX1NDODE4MFggaXMgbm90IHNldAorQ09ORklHX0lOVEVSQ09OTkVDVF9R Q09NX1NDODI4MFhQPXkKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NETTY2MCBpcyBub3Qg c2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TRE02NzAgaXMgbm90IHNldAorIyBDT05G SUdfSU5URVJDT05ORUNUX1FDT01fU0RNODQ1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09O TkVDVF9RQ09NX1NEWDU1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NE WDY1IGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NEWDc1IGlzIG5vdCBz ZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNNjExNSBpcyBub3Qgc2V0CisjIENPTkZJ R19JTlRFUkNPTk5FQ1RfUUNPTV9TTTYzNTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05O RUNUX1FDT01fU004MTUwIGlzIG5vdCBzZXQKKyMgQ09ORklHX0lOVEVSQ09OTkVDVF9RQ09NX1NN ODI1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNPTk5FQ1RfUUNPTV9TTTgzNTAgaXMgbm90 IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01fU004NDUwIGlzIG5vdCBzZXQKKyMgQ09O RklHX0lOVEVSQ09OTkVDVF9RQ09NX1NNODU1MCBpcyBub3Qgc2V0CisjIENPTkZJR19JTlRFUkNP Tk5FQ1RfUUNPTV9TTTg2NTAgaXMgbm90IHNldAorIyBDT05GSUdfSU5URVJDT05ORUNUX1FDT01f WDFFODAxMDAgaXMgbm90IHNldAogQ09ORklHX0lOVEVSQ09OTkVDVF9TQU1TVU5HPXkKIENPTkZJ R19JTlRFUkNPTk5FQ1RfRVhZTk9TPW0KIENPTkZJR19JTlRFUkNPTk5FQ1RfQ0xLPW0KZGlmZiAt LWdpdCBhL3NyY3BrZ3MvbGludXg2LjgvcGF0Y2hlcy9zb2MtcWNvbS1hZGQtaW4ta2VybmVsLXBk LW1hcHBlci1pbXBsZW1lbnRhdGlvbi5wYXRjaCBiL3NyY3BrZ3MvbGludXg2LjgvcGF0Y2hlcy9z b2MtcWNvbS1hZGQtaW4ta2VybmVsLXBkLW1hcHBlci1pbXBsZW1lbnRhdGlvbi5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uYTAyODhkMzYwMzRiMTEKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpbnV4Ni44L3BhdGNoZXMvc29jLXFjb20tYWRkLWlu LWtlcm5lbC1wZC1tYXBwZXItaW1wbGVtZW50YXRpb24ucGF0Y2gKQEAgLTAsMCArMSwyMDExIEBA Citzb3VyY2U6IGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC9saW51eC1yZW1v dGVwcm9jL2NvdmVyLzIwMjQwNDI0LXFjb20tcGQtbWFwcGVyLXY3LTAtMDVmN2ZjNjQ2ZTBmQGxp bmFyby5vcmcvCisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGlu YXJvLm9yZz4KK0RhdGU6IFdlZCwgMjQgQXByIDIwMjQgMTI6Mjc6NTcgKzAzMDAKK1N1YmplY3Q6 IFtQQVRDSCB2NyAxLzZdIHNvYzogcWNvbTogcGRyOiBwcm90ZWN0IGxvY2F0b3JfYWRkciB3aXRo IHRoZSBtYWluCisgbXV0ZXgKKworSWYgdGhlIHNlcnZpY2UgbG9jYXRvciBzZXJ2ZXIgaXMgcmVz dGFydGVkIGZhc3QgZW5vdWdoLCB0aGUgUERSIGNhbgorcmV3cml0ZSBsb2NhdG9yX2FkZHIgZmll bGRzIGNvbmN1cnJlbnRseS4gUHJvdGVjdCB0aGVtIGJ5IHBsYWNpbmcKK21vZGlmaWNhdGlvbiBv ZiB0aG9zZSBmaWVsZHMgdW5kZXIgdGhlIG1haW4gcGRyLT5sb2NrLgorCitGaXhlczogZmJlNjM5 YjQ0YTgyICgic29jOiBxY29tOiBJbnRyb2R1Y2UgUHJvdGVjdGlvbiBEb21haW4gUmVzdGFydCBo ZWxwZXJzIikKK1Rlc3RlZC1ieTogTmVpbCBBcm1zdHJvbmcgPG5laWwuYXJtc3Ryb25nQGxpbmFy by5vcmc+ICMgb24gU004NTUwLVFSRAorU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtvdiA8 ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorLS0tCisgZHJpdmVycy9zb2MvcWNvbS9wZHJf aW50ZXJmYWNlLmMgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJm YWNlLmMgYi9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYworaW5kZXggYTFiNmE0MDgx ZGVhLi4xOWNmZTRiNDEyMzUgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRl cmZhY2UuYworKysrIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMKK0BAIC03Niwx MiArNzYsMTIgQEAgc3RhdGljIGludCBwZHJfbG9jYXRvcl9uZXdfc2VydmVyKHN0cnVjdCBxbWlf aGFuZGxlICpxbWksCisgCQkJCQkgICAgICBsb2NhdG9yX2hkbCk7CisgCXN0cnVjdCBwZHJfc2Vy dmljZSAqcGRzOworIAorKwltdXRleF9sb2NrKCZwZHItPmxvY2spOworIAkvKiBDcmVhdGUgYSBs b2NhbCBjbGllbnQgcG9ydCBmb3IgUU1JIGNvbW11bmljYXRpb24gKi8KKyAJcGRyLT5sb2NhdG9y X2FkZHIuc3FfZmFtaWx5ID0gQUZfUUlQQ1JUUjsKKyAJcGRyLT5sb2NhdG9yX2FkZHIuc3Ffbm9k ZSA9IHN2Yy0+bm9kZTsKKyAJcGRyLT5sb2NhdG9yX2FkZHIuc3FfcG9ydCA9IHN2Yy0+cG9ydDsK KyAKKy0JbXV0ZXhfbG9jaygmcGRyLT5sb2NrKTsKKyAJcGRyLT5sb2NhdG9yX2luaXRfY29tcGxl dGUgPSB0cnVlOworIAltdXRleF91bmxvY2soJnBkci0+bG9jayk7CisgCitAQCAtMTA0LDEwICsx MDQsMTAgQEAgc3RhdGljIHZvaWQgcGRyX2xvY2F0b3JfZGVsX3NlcnZlcihzdHJ1Y3QgcW1pX2hh bmRsZSAqcW1pLAorIAorIAltdXRleF9sb2NrKCZwZHItPmxvY2spOworIAlwZHItPmxvY2F0b3Jf aW5pdF9jb21wbGV0ZSA9IGZhbHNlOworLQltdXRleF91bmxvY2soJnBkci0+bG9jayk7CisgCisg CXBkci0+bG9jYXRvcl9hZGRyLnNxX25vZGUgPSAwOworIAlwZHItPmxvY2F0b3JfYWRkci5zcV9w b3J0ID0gMDsKKysJbXV0ZXhfdW5sb2NrKCZwZHItPmxvY2spOworIH0KKyAKKyBzdGF0aWMgY29u c3Qgc3RydWN0IHFtaV9vcHMgcGRyX2xvY2F0b3Jfb3BzID0geworCitGcm9tOiBEbWl0cnkgQmFy eXNoa292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CitEYXRlOiBXZWQsIDI0IEFwciAy MDI0IDEyOjI3OjU4ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggdjcgMi82XSBzb2M6IHFjb206IHBk cjogZml4IHBhcnNpbmcgb2YgZG9tYWlucyBsaXN0cworCitXaGlsZSBwYXJzaW5nIHRoZSBkb21h aW5zIGxpc3QsIHN0YXJ0IG9mZnNldHMgZnJvbSAwIHJhdGhlciB0aGFuIGZyb20KK2RvbWFpbnNf cmVhZC4gVGhlIGRvbWFpbnNfcmVhZCBpcyBlcXVhbCB0byB0aGUgdG90YWwgY291bnQgb2YgdGhl Citkb21haW5zIHdlIGhhdmUgc2Vlbiwgd2hpbGUgdGhlIGRvbWFpbnMgbGlzdCBpbiB0aGUgbWVz c2FnZSBzdGFydHMgZnJvbQorb2Zmc2V0IDAuCisKK0ZpeGVzOiBmYmU2MzliNDRhODIgKCJzb2M6 IHFjb206IEludHJvZHVjZSBQcm90ZWN0aW9uIERvbWFpbiBSZXN0YXJ0IGhlbHBlcnMiKQorU2ln bmVkLW9mZi1ieTogRG1pdHJ5IEJhcnlzaGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3Jn PgorLS0tCisgZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJmYWNlLmMgfCAyICstCisgMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9k cml2ZXJzL3NvYy9xY29tL3Bkcl9pbnRlcmZhY2UuYyBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2lu dGVyZmFjZS5jCitpbmRleCAxOWNmZTRiNDEyMzUuLjNjNmYyZDIxZTVlNCAxMDA2NDQKKy0tLSBh L2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVyZmFjZS5jCisrKysgYi9kcml2ZXJzL3NvYy9xY29t L3Bkcl9pbnRlcmZhY2UuYworQEAgLTQxNSw3ICs0MTUsNyBAQCBzdGF0aWMgaW50IHBkcl9sb2Nh dGVfc2VydmljZShzdHJ1Y3QgcGRyX2hhbmRsZSAqcGRyLCBzdHJ1Y3QgcGRyX3NlcnZpY2UgKnBk cykKKyAJCWlmIChyZXQgPCAwKQorIAkJCWdvdG8gb3V0OworIAorLQkJZm9yIChpID0gZG9tYWlu c19yZWFkOyBpIDwgcmVzcC0+ZG9tYWluX2xpc3RfbGVuOyBpKyspIHsKKysJCWZvciAoaSA9IDA7 IGkgPCByZXNwLT5kb21haW5fbGlzdF9sZW47IGkrKykgeworIAkJCWVudHJ5ID0gJnJlc3AtPmRv bWFpbl9saXN0W2ldOworIAorIAkJCWlmIChzdHJubGVuKGVudHJ5LT5uYW1lLCBzaXplb2YoZW50 cnktPm5hbWUpKSA9PSBzaXplb2YoZW50cnktPm5hbWUpKQorCitGcm9tOiBEbWl0cnkgQmFyeXNo a292IDxkbWl0cnkuYmFyeXNoa292QGxpbmFyby5vcmc+CitEYXRlOiBXZWQsIDI0IEFwciAyMDI0 IDEyOjI3OjU5ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggdjcgMy82XSBzb2M6IHFjb206IHBkcjog ZXh0cmFjdCBQRFIgbWVzc2FnZSBtYXJzaGFsbGluZworIGRhdGEKKworVGhlIGluLWtlcm5lbCBQ RCBtYXBwZXIgaXMgZ29pbmcgdG8gdXNlIHNhbWUgbWVzc2FnZSBzdHJ1Y3R1cmVzIGFzIHRoZQor UUNPTV9QRFJfSEVMUEVSUyBtb2R1bGUuIEV4dHJhY3QgbWVzc2FnZSBtYXJzaGFsbGluZyBkYXRh IHRvIHNlcGFyYXRlCittb2R1bGUgdGhhdCBjYW4gYmUgdXNlZCBieSBib3RoIFBEUiBoZWxwZXJz IGFuZCBieSBQRCBtYXBwZXIuCisKK1Jldmlld2VkLWJ5OiBCcnlhbiBPJ0Rvbm9naHVlIDxicnlh bi5vZG9ub2dodWVAbGluYXJvLm9yZz4KK1NpZ25lZC1vZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3Yg PGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KKy0tLQorIGRyaXZlcnMvc29jL3Fjb20vS2Nv bmZpZyAgICAgICAgfCAgIDQgKworIGRyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUgICAgICAgfCAg IDEgKworIGRyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmggfCAzMDYgKystLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBkcml2ZXJzL3NvYy9xY29tL3Fjb21fcGRyX21z Zy5jIHwgMzE5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyA0IGZp bGVzIGNoYW5nZWQsIDMzNCBpbnNlcnRpb25zKCspLCAyOTYgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcgYi9kcml2ZXJzL3NvYy9xY29tL0tjb25m aWcKK2luZGV4IDVhZjMzYjBlMzQ3MC4uOTU5NzNjNmI4MjhmIDEwMDY0NAorLS0tIGEvZHJpdmVy cy9zb2MvcWNvbS9LY29uZmlnCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL0tjb25maWcKK0BAIC03 NSw4ICs3NSwxMiBAQCBjb25maWcgUUNPTV9PQ01FTQorIGNvbmZpZyBRQ09NX1BEUl9IRUxQRVJT CisgCXRyaXN0YXRlCisgCXNlbGVjdCBRQ09NX1FNSV9IRUxQRVJTCisrCXNlbGVjdCBRQ09NX1BE Ul9NU0cKKyAJZGVwZW5kcyBvbiBORVQKKyAKKytjb25maWcgUUNPTV9QRFJfTVNHCisrCXRyaXN0 YXRlCisrCisgY29uZmlnIFFDT01fUE1JQ19QRENIQVJHRVJfVUxPRworIAl0cmlzdGF0ZSAiUXVh bGNvbW0gUE1JQyBQRENoYXJnZXIgVUxPRyBkcml2ZXIiCisgCWRlcGVuZHMgb24gUlBNU0cKK2Rp ZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxlIGIvZHJpdmVycy9zb2MvcWNvbS9N YWtlZmlsZQoraW5kZXggY2EwYmVjZTBkZmZmLi4zMTEwYWMzMjg4YmMgMTAwNjQ0CistLS0gYS9k cml2ZXJzL3NvYy9xY29tL01ha2VmaWxlCisrKysgYi9kcml2ZXJzL3NvYy9xY29tL01ha2VmaWxl CitAQCAtOCw2ICs4LDcgQEAgb2JqLSQoQ09ORklHX1FDT01fR1NCSSkJKz0JcWNvbV9nc2JpLm8K KyBvYmotJChDT05GSUdfUUNPTV9NRFRfTE9BREVSKQkrPSBtZHRfbG9hZGVyLm8KKyBvYmotJChD T05GSUdfUUNPTV9PQ01FTSkJKz0gb2NtZW0ubworIG9iai0kKENPTkZJR19RQ09NX1BEUl9IRUxQ RVJTKQkrPSBwZHJfaW50ZXJmYWNlLm8KKytvYmotJChDT05GSUdfUUNPTV9QRFJfTVNHKQkrPSBx Y29tX3Bkcl9tc2cubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNfR0xJTkspCSs9IHBtaWNfZ2xp bmsubworIG9iai0kKENPTkZJR19RQ09NX1BNSUNfR0xJTkspCSs9IHBtaWNfZ2xpbmtfYWx0bW9k ZS5vCisgb2JqLSQoQ09ORklHX1FDT01fUE1JQ19QRENIQVJHRVJfVUxPRykJKz0gcG1pY19wZGNo YXJnZXJfdWxvZy5vCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwu aCBiL2RyaXZlcnMvc29jL3Fjb20vcGRyX2ludGVybmFsLmgKK2luZGV4IDAzYzI4MmI3ZjE3ZS4u N2U1YmI1YTk1Mjc1IDEwMDY0NAorLS0tIGEvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwu aAorKysrIGIvZHJpdmVycy9zb2MvcWNvbS9wZHJfaW50ZXJuYWwuaAorQEAgLTI4LDgzICsyOCwx MiBAQCBzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSB7CisgCXUzMiBpbnN0YW5jZTsKKyB9 OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2xvY2F0aW9u X2VudHJ5X2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCist CQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3Np emUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQku dGx2X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0 IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkgICBuYW1lKSwKKy0JfSwKKy0JeworLQkJ LmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKy0JCS5lbGVtX2xlbiAgICAg ICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKy0JCS5hcnJheV90eXBl CT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAwLAorLQkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50cnksCistCQkJCQkgICBpbnN0 YW5jZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8xX0JZ VEUsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9m KHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAw LAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25f ZW50cnksCistCQkJCQkgICBzZXJ2aWNlX2RhdGFfdmFsaWQpLAorLQl9LAorLQl7CistCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfNF9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0g MSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MzIpLAorLQkJLmFycmF5X3R5cGUJPSBO T19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDAsCistCQkub2Zmc2V0ICAgICAgICAgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKy0JCQkJCSAgIHNlcnZpY2Vf ZGF0YSksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xp c3RfcmVxIHsKKyAJY2hhciBzZXJ2aWNlX25hbWVbU0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOwor IAl1OCBkb21haW5fb2Zmc2V0X3ZhbGlkOworIAl1MzIgZG9tYWluX29mZnNldDsKKyB9OworIAor LXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX2dldF9kb21haW5fbGlz dF9yZXFfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKy0J CS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorLQkJLmVsZW1fc2l6 ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50 bHZfdHlwZSAgICAgICA9IDB4MDEsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1 Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorLQkJCQkJICAgc2VydmljZV9uYW1lKSwK Ky0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1f bGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJy YXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKy0JCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXEs CistCQkJCQkgICBkb21haW5fb2Zmc2V0X3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlw ZSAgICAgID0gUU1JX1VOU0lHTkVEXzRfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCist CQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTMyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJS QVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSwKKy0JCQkJCSAgIGRvbWFp bl9vZmZzZXQpLAorLQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFp bl9saXN0X3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJlc3A7CisgCXU4 IHRvdGFsX2RvbWFpbnNfdmFsaWQ7CitAQCAtMTE2LDI2NCArNDUsNDkgQEAgc3RydWN0IHNlcnZy ZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AgeworIAlzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRy eSBkb21haW5fbGlzdFtTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSF07CisgfTsKKyAKKy1zdGF0 aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVz cF9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSVUNULAorLQkJLmVs ZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3QgcW1p X3Jlc3BvbnNlX3R5cGVfdjAxKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2 X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0 IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICByZXNwKSwKKy0JCS5laV9h cnJheSAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorLQl9LAorLQl7CistCQkuZGF0 YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJ LmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVks CistCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0 b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICB0b3RhbF9k b21haW5zX3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lH TkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAg PSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUg ICAgICAgPSAweDEwLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZy ZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICB0b3RhbF9kb21haW5zKSwKKy0JfSwK Ky0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorLQkJLmVsZW1fbGVuICAg ICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgxMSwKKy0JCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorLQkJ CQkJICAgZGJfcmV2X2NvdW50X3ZhbGlkKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX1VOU0lHTkVEXzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxl bV9zaXplICAgICAgPSBzaXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCist CQkudGx2X3R5cGUgICAgICAgPSAweDExLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yo c3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCistCQkJCQkgICBkYl9yZXZfY291 bnQpLAorLQl9LAorLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCistCQku ZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKy0J CS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEyLAorLQkJ Lm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0 X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdF92YWxpZCksCistCX0sCistCXsKKy0JCS5kYXRh X3R5cGUgICAgICA9IFFNSV9EQVRBX0xFTiwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQku ZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwK Ky0JCS50bHZfdHlwZSAgICAgICA9IDB4MTIsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRv ZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcCwKKy0JCQkJCSAgIGRvbWFpbl9s aXN0X2xlbiksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCist CQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX0RPTUFJTl9MSVNUX0xFTkdUSCwKKy0JCS5lbGVt X3NpemUgICAgICA9IHNpemVvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSksCistCQku YXJyYXlfdHlwZQk9IFZBUl9MRU5fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDEyLAor LQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9s aXN0X3Jlc3AsCistCQkJCQkgICBkb21haW5fbGlzdCksCistCQkuZWlfYXJyYXkgICAgICA9IHNl cnZyZWdfbG9jYXRpb25fZW50cnlfZWksCistCX0sCistCXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2Vy dnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXEgeworIAl1OCBlbmFibGU7CisgCWNoYXIgc2Vydmlj ZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyB9OworIAorLXN0YXRpYyBjb25zdCBz dHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcV9laVtdID0g eworLQl7CistCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdORURfMV9CWVRFLAorLQkJLmVs ZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCistCQku YXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5v ZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVy X3JlcSwKKy0JCQkJCSAgIGVuYWJsZSksCistCX0sCistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9 IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVfTEVOR1RIICsg MSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKy0JCS5hcnJheV90eXBlCT0g Tk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVnaXN0ZXJfbGlzdGVuZXJfcmVxLAorLQkJCQkJ ICAgc2VydmljZV9wYXRoKSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2cmVnX3Jl Z2lzdGVyX2xpc3RlbmVyX3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxIHJl c3A7CisgCXU4IGN1cnJfc3RhdGVfdmFsaWQ7CisgCWVudW0gc2VydnJlZ19zZXJ2aWNlX3N0YXRl IGN1cnJfc3RhdGU7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8g c2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5 cGUgICAgICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEpLAorLQkJLmFy cmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCistCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9y ZXNwLAorLQkJCQkJICAgcmVzcCksCistCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90 eXBlX3YwMV9laSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFH LAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1 OCksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgx MCwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVy X2xpc3RlbmVyX3Jlc3AsCistCQkJCQkgICBjdXJyX3N0YXRlX3ZhbGlkKSwKKy0JfSwKKy0Jewor LQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NJR05FRF80X0JZVEVfRU5VTSwKKy0JCS5lbGVtX2xl biAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoZW51bSBzZXJ2cmVnX3Nl cnZpY2Vfc3RhdGUpLAorLQkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAg ICAgICA9IDB4MTAsCistCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJl Z19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorLQkJCQkJICAgY3Vycl9zdGF0ZSksCistCX0sCist CXt9CistfTsKKy0KKyBzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3BkX3JlcSB7CisgCWNoYXIgc2Vy dmljZV9wYXRoW1NFUlZSRUdfTkFNRV9MRU5HVEggKyAxXTsKKyB9OworIAorLXN0YXRpYyBjb25z dCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jlc3RhcnRfcGRfcmVxX2VpW10gPSB7Cist CXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAg PSBTRVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihj aGFyKSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAw eDAxLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVzdGFy dF9wZF9yZXEsCistCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorLQl9LAorLQl7fQorLX07CistCisg c3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwIHsKKyAJc3RydWN0IHFtaV9yZXNwb25zZV90 eXBlX3YwMSByZXNwOworIH07CisgCistc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZv IHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAg ICA9IFFNSV9TVFJVQ1QsCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAg ICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92MDEpLAorLQkJLmFycmF5X3R5 cGUJPSBOT19BUlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDIsCistCQkub2Zmc2V0ICAg ICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3AsCistCQkJCQkg ICByZXNwKSwKKy0JCS5laV9hcnJheSAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAor LQl9LAorLQl7fQorLX07CistCisgc3RydWN0IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQgewor IAllbnVtIHNlcnZyZWdfc2VydmljZV9zdGF0ZSBjdXJyX3N0YXRlOworIAljaGFyIHNlcnZpY2Vf cGF0aFtTRVJWUkVHX05BTUVfTEVOR1RIICsgMV07CisgCXUxNiB0cmFuc2FjdGlvbl9pZDsKKyB9 OworIAorLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3N0YXRlX3Vw ZGF0ZWRfaW5kX2VpW10gPSB7CistCXsKKy0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TSUdORURf NF9CWVRFX0VOVU0sCistCQkuZWxlbV9sZW4gICAgICAgPSAxLAorLQkJLmVsZW1fc2l6ZSAgICAg ID0gc2l6ZW9mKHUzMiksCistCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBl ICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2 cmVnX3N0YXRlX3VwZGF0ZWRfaW5kLAorLQkJCQkJICAgY3Vycl9zdGF0ZSksCistCX0sCistCXsK Ky0JCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJJTkcsCistCQkuZWxlbV9sZW4gICAgICAgPSBT RVJWUkVHX05BTUVfTEVOR1RIICsgMSwKKy0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFy KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAgICAgPSAweDAy LAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3RhdGVfdXBk YXRlZF9pbmQsCistCQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorLQl9LAorLQl7CistCQkuZGF0YV90 eXBlICAgICAgPSBRTUlfVU5TSUdORURfMl9CWVRFLAorLQkJLmVsZW1fbGVuICAgICAgID0gMSwK Ky0JCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1MTYpLAorLQkJLmFycmF5X3R5cGUJPSBOT19B UlJBWSwKKy0JCS50bHZfdHlwZSAgICAgICA9IDB4MDMsCistCQkub2Zmc2V0ICAgICAgICAgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwKKy0JCQkJCSAgIHRyYW5z YWN0aW9uX2lkKSwKKy0JfSwKKy0Je30KKy19OworLQorIHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tf cmVxIHsKKyAJY2hhciBzZXJ2aWNlX3BhdGhbU0VSVlJFR19OQU1FX0xFTkdUSCArIDFdOworIAl1 MTYgdHJhbnNhY3Rpb25faWQ7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVt X2luZm8gc2VydnJlZ19zZXRfYWNrX3JlcV9laVtdID0geworLQl7CistCQkuZGF0YV90eXBlICAg ICAgPSBRTUlfU1RSSU5HLAorLQkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdU SCArIDEsCistCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCistCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMSwKKy0JCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVxLAorLQkJCQkJICAgc2Vy dmljZV9wYXRoKSwKKy0JfSwKKy0JeworLQkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVE XzJfQllURSwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAgICAgPSBz aXplb2YodTE2KSwKKy0JCS5hcnJheV90eXBlCT0gTk9fQVJSQVksCistCQkudGx2X3R5cGUgICAg ICAgPSAweDAyLAorLQkJLm9mZnNldCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdf c2V0X2Fja19yZXEsCistCQkJCQkgICB0cmFuc2FjdGlvbl9pZCksCistCX0sCistCXt9CistfTsK Ky0KKyBzdHJ1Y3Qgc2VydnJlZ19zZXRfYWNrX3Jlc3AgeworIAlzdHJ1Y3QgcW1pX3Jlc3BvbnNl X3R5cGVfdjAxIHJlc3A7CisgfTsKKyAKKy1zdGF0aWMgY29uc3Qgc3RydWN0IHFtaV9lbGVtX2lu Zm8gc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXSA9IHsKKy0JeworLQkJLmRhdGFfdHlwZSAgICAg ID0gUU1JX1NUUlVDVCwKKy0JCS5lbGVtX2xlbiAgICAgICA9IDEsCistCQkuZWxlbV9zaXplICAg ICAgPSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCistCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorLQkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKy0JCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVzcCwKKy0JCQkJCSAgIHJl c3ApLAorLQkJLmVpX2FycmF5ICAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorLQl9 LAorLQl7fQorLX07CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdf bG9jYXRpb25fZW50cnlfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8g c2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBx bWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWlbXTsKKytleHRlcm4g Y29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXFf ZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rl cl9saXN0ZW5lcl9yZXNwX2VpW107CisrZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZv IHNlcnZyZWdfcmVzdGFydF9wZF9yZXFfZWlbXTsKKytleHRlcm4gY29uc3Qgc3RydWN0IHFtaV9l bGVtX2luZm8gc2VydnJlZ19yZXN0YXJ0X3BkX3Jlc3BfZWlbXTsKKytleHRlcm4gY29uc3Qgc3Ry dWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZF9laVtdOworK2V4dGVy biBjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3NldF9hY2tfcmVxX2VpW107Cisr ZXh0ZXJuIGNvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2Vp W107CisgCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9t c2cuYyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwMDAwMDAuLjliNDZmNDJhYTE0NgorLS0tIC9kZXYvbnVsbAorKysr IGIvZHJpdmVycy9zb2MvcWNvbS9xY29tX3Bkcl9tc2cuYworQEAgLTAsMCArMSwzMTkgQEAKKysv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorKy8qCisrICogQ29weXJpZ2h0IChD KSAyMDIwIFRoZSBMaW51eCBGb3VuZGF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyAqLwor KworKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKysjaW5jbHVkZSA8bGludXgvc29jL3Fjb20v cW1pLmg+CisrCisrI2luY2x1ZGUgInBkcl9pbnRlcm5hbC5oIgorKworK2NvbnN0IHN0cnVjdCBx bWlfZWxlbV9pbmZvIHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWlbXSA9IHsKKysJeworKwkJLmRh dGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdf TkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJ LmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zm c2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJ CQkJCSAgIG5hbWUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5TSUdO RURfNF9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9 IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAg ICAgICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19s b2NhdGlvbl9lbnRyeSwKKysJCQkJCSAgIGluc3RhbmNlKSwKKysJfSwKKysJeworKwkJLmRhdGFf dHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzFfQllURSwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEs CisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJLmFycmF5X3R5cGUJPSBOT19B UlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZz ZXRvZihzdHJ1Y3Qgc2VydnJlZ19sb2NhdGlvbl9lbnRyeSwKKysJCQkJCSAgIHNlcnZpY2VfZGF0 YV92YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF80 X0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6 ZW9mKHUzMiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAg ID0gMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY2F0 aW9uX2VudHJ5LAorKwkJCQkJICAgc2VydmljZV9kYXRhKSwKKysJfSwKKysJe30KKyt9OworK0VY UE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfbG9jYXRpb25fZW50cnlfZWkpOworKworK2NvbnN0IHN0 cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcV9laVtdID0gewor Kwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuICAgICAg ID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yo Y2hhciksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0g MHgwMSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9k b21haW5fbGlzdF9yZXEsCisrCQkJCQkgICBzZXJ2aWNlX25hbWUpLAorKwl9LAorKwl7CisrCQku ZGF0YV90eXBlICAgICAgPSBRTUlfT1BUX0ZMQUcsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAor KwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJS QVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEwLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3JlcSwKKysJCQkJCSAgIGRvbWFp bl9vZmZzZXRfdmFsaWQpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfVU5T SUdORURfNF9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAg ICA9IHNpemVvZih1MzIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlw ZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2Vy dnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxLAorKwkJCQkJICAgZG9tYWluX29mZnNldCksCisrCX0s CisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9y ZXFfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfZ2V0X2RvbWFp bl9saXN0X3Jlc3BfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUlVD VCwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yo c3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZ LAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNl dG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgcmVzcCks CisrCQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJ eworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAg ID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9 IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAg ICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJ ICAgdG90YWxfZG9tYWluc192YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9 IFFNSV9VTlNJR05FRF8yX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1f c2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJ LnRsdl90eXBlICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0 cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgdG90YWxfZG9tYWlu cyksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9PUFRfRkxBRywKKysJCS5l bGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAorKwkJ LmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MTEsCisrCQku b2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3Rf cmVzcCwKKysJCQkJCSAgIGRiX3Jldl9jb3VudF92YWxpZCksCisrCX0sCisrCXsKKysJCS5kYXRh X3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCisrCQkuZWxlbV9sZW4gICAgICAgPSAx LAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCisrCQkuYXJyYXlfdHlwZQk9IE5P X0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgxMSwKKysJCS5vZmZzZXQgICAgICAgICA9 IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAg ZGJfcmV2X2NvdW50KSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX09QVF9G TEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVv Zih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0g MHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dldF9k b21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9tYWluX2xpc3RfdmFsaWQpLAorKwl9LAorKwl7 CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfREFUQV9MRU4sCisrCQkuZWxlbV9sZW4gICAgICAg PSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHU4KSwKKysJCS5hcnJheV90eXBlCT0g Tk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDEyLAorKwkJLm9mZnNldCAgICAgICAg ID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3AsCisrCQkJCQkg ICBkb21haW5fbGlzdF9sZW4pLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlf U1RSVUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19ET01BSU5fTElTVF9MRU5HVEgs CisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2Yoc3RydWN0IHNlcnZyZWdfbG9jYXRpb25fZW50 cnkpLAorKwkJLmFycmF5X3R5cGUJPSBWQVJfTEVOX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAg ID0gMHgxMiwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2dl dF9kb21haW5fbGlzdF9yZXNwLAorKwkJCQkJICAgZG9tYWluX2xpc3QpLAorKwkJLmVpX2FycmF5 ICAgICAgPSBzZXJ2cmVnX2xvY2F0aW9uX2VudHJ5X2VpLAorKwl9LAorKwl7fQorK307CisrRVhQ T1JUX1NZTUJPTF9HUEwoc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVzcF9laSk7CisrCisrY29u c3Qgc3RydWN0IHFtaV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXFfZWlb XSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1VOU0lHTkVEXzFfQllURSwKKysJ CS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YodTgpLAor KwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisr CQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0 ZW5lcl9yZXEsCisrCQkJCQkgICBlbmFibGUpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAg ICAgPSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuICAgICAgID0gU0VSVlJFR19OQU1FX0xFTkdU SCArIDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoY2hhciksCisrCQkuYXJyYXlfdHlw ZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAg ICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcSwKKysJ CQkJCSAgIHNlcnZpY2VfcGF0aCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQ TChzZXJ2cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3JlcV9laSk7CisrCisrY29uc3Qgc3RydWN0IHFt aV9lbGVtX2luZm8gc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwX2VpW10gPSB7CisrCXsK KysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TVFJVQ1QsCisrCQkuZWxlbV9sZW4gICAgICAgPSAx LAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHN0cnVjdCBxbWlfcmVzcG9uc2VfdHlwZV92 MDEpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4 MDIsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZWdpc3Rl cl9saXN0ZW5lcl9yZXNwLAorKwkJCQkJICAgcmVzcCksCisrCQkuZWlfYXJyYXkgICAgICA9IHFt aV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0g UU1JX09QVF9GTEFHLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAg ICA9IHNpemVvZih1OCksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBl ICAgICAgID0gMHgxMCwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2 cmVnX3JlZ2lzdGVyX2xpc3RlbmVyX3Jlc3AsCisrCQkJCQkgICBjdXJyX3N0YXRlX3ZhbGlkKSwK KysJfSwKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NJR05FRF80X0JZVEVfRU5VTSwK KysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAgPSBzaXplb2YoZW51 bSBzZXJ2cmVnX3NlcnZpY2Vfc3RhdGUpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJ CS50bHZfdHlwZSAgICAgICA9IDB4MTAsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihz dHJ1Y3Qgc2VydnJlZ19yZWdpc3Rlcl9saXN0ZW5lcl9yZXNwLAorKwkJCQkJICAgY3Vycl9zdGF0 ZSksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3JlZ2lzdGVy X2xpc3RlbmVyX3Jlc3BfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZy ZWdfcmVzdGFydF9wZF9yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1J X1NUUklORywKKysJCS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAor KwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19B UlJBWSwKKysJCS50bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBv ZmZzZXRvZihzdHJ1Y3Qgc2VydnJlZ19yZXN0YXJ0X3BkX3JlcSwKKysJCQkJCSAgIHNlcnZpY2Vf cGF0aCksCisrCX0sCisrCXt9CisrfTsKKytFWFBPUlRfU1lNQk9MX0dQTChzZXJ2cmVnX3Jlc3Rh cnRfcGRfcmVxX2VpKTsKKysKKytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3Jl c3RhcnRfcGRfcmVzcF9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBRTUlfU1RS VUNULAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVv ZihzdHJ1Y3QgcW1pX3Jlc3BvbnNlX3R5cGVfdjAxKSwKKysJCS5hcnJheV90eXBlCT0gTk9fQVJS QVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNldCAgICAgICAgID0gb2Zm c2V0b2Yoc3RydWN0IHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwLAorKwkJCQkJICAgcmVzcCksCisr CQkuZWlfYXJyYXkgICAgICA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwKKysJe30K Kyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfcmVzdGFydF9wZF9yZXNwX2VpKTsKKysK Kytjb25zdCBzdHJ1Y3QgcW1pX2VsZW1faW5mbyBzZXJ2cmVnX3N0YXRlX3VwZGF0ZWRfaW5kX2Vp W10gPSB7CisrCXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9TSUdORURfNF9CWVRFX0VOVU0s CisrCQkuZWxlbV9sZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUz MiksCisrCQkuYXJyYXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgw MSwKKysJCS5vZmZzZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3N0YXRlX3Vw ZGF0ZWRfaW5kLAorKwkJCQkJICAgY3Vycl9zdGF0ZSksCisrCX0sCisrCXsKKysJCS5kYXRhX3R5 cGUgICAgICA9IFFNSV9TVFJJTkcsCisrCQkuZWxlbV9sZW4gICAgICAgPSBTRVJWUkVHX05BTUVf TEVOR1RIICsgMSwKKysJCS5lbGVtX3NpemUgICAgICA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJh eV90eXBlCT0gTk9fQVJSQVksCisrCQkudGx2X3R5cGUgICAgICAgPSAweDAyLAorKwkJLm9mZnNl dCAgICAgICAgID0gb2Zmc2V0b2Yoc3RydWN0IHNlcnZyZWdfc3RhdGVfdXBkYXRlZF9pbmQsCisr CQkJCQkgICBzZXJ2aWNlX3BhdGgpLAorKwl9LAorKwl7CisrCQkuZGF0YV90eXBlICAgICAgPSBR TUlfVU5TSUdORURfMl9CWVRFLAorKwkJLmVsZW1fbGVuICAgICAgID0gMSwKKysJCS5lbGVtX3Np emUgICAgICA9IHNpemVvZih1MTYpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50 bHZfdHlwZSAgICAgICA9IDB4MDMsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1 Y3Qgc2VydnJlZ19zdGF0ZV91cGRhdGVkX2luZCwKKysJCQkJCSAgIHRyYW5zYWN0aW9uX2lkKSwK KysJfSwKKysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfc3RhdGVfdXBkYXRl ZF9pbmRfZWkpOworKworK2NvbnN0IHN0cnVjdCBxbWlfZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fj a19yZXFfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0gUU1JX1NUUklORywKKysJ CS5lbGVtX2xlbiAgICAgICA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAorKwkJLmVsZW1fc2l6 ZSAgICAgID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUJPSBOT19BUlJBWSwKKysJCS50 bHZfdHlwZSAgICAgICA9IDB4MDEsCisrCQkub2Zmc2V0ICAgICAgICAgPSBvZmZzZXRvZihzdHJ1 Y3Qgc2VydnJlZ19zZXRfYWNrX3JlcSwKKysJCQkJCSAgIHNlcnZpY2VfcGF0aCksCisrCX0sCisr CXsKKysJCS5kYXRhX3R5cGUgICAgICA9IFFNSV9VTlNJR05FRF8yX0JZVEUsCisrCQkuZWxlbV9s ZW4gICAgICAgPSAxLAorKwkJLmVsZW1fc2l6ZSAgICAgID0gc2l6ZW9mKHUxNiksCisrCQkuYXJy YXlfdHlwZQk9IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZz ZXQgICAgICAgICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVxLAorKwkJCQkJ ICAgdHJhbnNhY3Rpb25faWQpLAorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwo c2VydnJlZ19zZXRfYWNrX3JlcV9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9lbGVtX2luZm8g c2VydnJlZ19zZXRfYWNrX3Jlc3BfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlwZSAgICAgID0g UU1JX1NUUlVDVCwKKysJCS5lbGVtX2xlbiAgICAgICA9IDEsCisrCQkuZWxlbV9zaXplICAgICAg PSBzaXplb2Yoc3RydWN0IHFtaV9yZXNwb25zZV90eXBlX3YwMSksCisrCQkuYXJyYXlfdHlwZQk9 IE5PX0FSUkFZLAorKwkJLnRsdl90eXBlICAgICAgID0gMHgwMiwKKysJCS5vZmZzZXQgICAgICAg ICA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX3NldF9hY2tfcmVzcCwKKysJCQkJCSAgIHJlc3Ap LAorKwkJLmVpX2FycmF5ICAgICAgID0gcW1pX3Jlc3BvbnNlX3R5cGVfdjAxX2VpLAorKwl9LAor Kwl7fQorK307CisrRVhQT1JUX1NZTUJPTF9HUEwoc2VydnJlZ19zZXRfYWNrX3Jlc3BfZWkpOwor KworK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsKKytNT0RVTEVfREVTQ1JJUFRJT04oIlF1YWxjb21t IFByb3RlY3Rpb24gRG9tYWluIG1lc3NhZ2VzIGRhdGEiKTsKKworRnJvbTogRG1pdHJ5IEJhcnlz aGtvdiA8ZG1pdHJ5LmJhcnlzaGtvdkBsaW5hcm8ub3JnPgorRGF0ZTogV2VkLCAyNCBBcHIgMjAy NCAxMjoyODowMCArMDMwMAorU3ViamVjdDogW1BBVENIIHY3IDQvNl0gc29jOiBxY29tOiBxbWk6 IGFkZCBhIHdheSB0byByZW1vdmUgcnVubmluZyBzZXJ2aWNlCisKK0FkZCBxbWlfZGVsX3NlcnZl cigpLCBhIHBhaXIgdG8gcW1pX2FkZF9zZXJ2ZXIoKSwgYSB3YXkgdG8gcmVtb3ZlCitydW5uaW5n IHNlcnZlciBmcm9tIHRoZSBRTUkgc29ja2V0LiBUaGlzIGlzIGUuZy4gbmVjZXNzYXJ5IGZvcgor cGQtbWFwcGVyLCB3aGljaCBuZWVkcyB0byByZWFkZCBhIHNlcnZlciBlYWNoIHRpbWUgdGhlIERT UCBpcyBzdGFydGVkIG9yCitzdG9wcGVkLgorCitUZXN0ZWQtYnk6IE5laWwgQXJtc3Ryb25nIDxu ZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPiAjIG9uIFNNODU1MC1RUkQKK1NpZ25lZC1vZmYtYnk6 IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KKy0tLQorIGRy aXZlcnMvc29jL3Fjb20vcW1pX2ludGVyZmFjZS5jIHwgNjcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKworIGluY2x1ZGUvbGludXgvc29jL3Fjb20vcW1pLmggICAgIHwg IDIgKysKKyAyIGZpbGVzIGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBh L2RyaXZlcnMvc29jL3Fjb20vcW1pX2ludGVyZmFjZS5jIGIvZHJpdmVycy9zb2MvcWNvbS9xbWlf aW50ZXJmYWNlLmMKK2luZGV4IGJiOThiMDZlODdmOC4uMThmZjIwMTVjNjgyIDEwMDY0NAorLS0t IGEvZHJpdmVycy9zb2MvcWNvbS9xbWlfaW50ZXJmYWNlLmMKKysrKyBiL2RyaXZlcnMvc29jL3Fj b20vcW1pX2ludGVyZmFjZS5jCitAQCAtMjg5LDYgKzI4OSw3MyBAQCBpbnQgcW1pX2FkZF9zZXJ2 ZXIoc3RydWN0IHFtaV9oYW5kbGUgKnFtaSwgdW5zaWduZWQgaW50IHNlcnZpY2UsCisgfQorIEVY UE9SVF9TWU1CT0xfR1BMKHFtaV9hZGRfc2VydmVyKTsKKyAKKytzdGF0aWMgdm9pZCBxbWlfc2Vu ZF9kZWxfc2VydmVyKHN0cnVjdCBxbWlfaGFuZGxlICpxbWksIHN0cnVjdCBxbWlfc2VydmljZSAq c3ZjKQorK3sKKysJc3RydWN0IHFydHJfY3RybF9wa3QgcGt0OworKwlzdHJ1Y3Qgc29ja2FkZHJf cXJ0ciBzcTsKKysJc3RydWN0IG1zZ2hkciBtc2cgPSB7IH07CisrCXN0cnVjdCBrdmVjIGl2ID0g eyAmcGt0LCBzaXplb2YocGt0KSB9OworKwlpbnQgcmV0OworKworKwltZW1zZXQoJnBrdCwgMCwg c2l6ZW9mKHBrdCkpOworKwlwa3QuY21kID0gY3B1X3RvX2xlMzIoUVJUUl9UWVBFX0RFTF9TRVJW RVIpOworKwlwa3Quc2VydmVyLnNlcnZpY2UgPSBjcHVfdG9fbGUzMihzdmMtPnNlcnZpY2UpOwor Kwlwa3Quc2VydmVyLmluc3RhbmNlID0gY3B1X3RvX2xlMzIoc3ZjLT52ZXJzaW9uIHwgc3ZjLT5p bnN0YW5jZSA8PCA4KTsKKysJcGt0LnNlcnZlci5ub2RlID0gY3B1X3RvX2xlMzIocW1pLT5zcS5z cV9ub2RlKTsKKysJcGt0LnNlcnZlci5wb3J0ID0gY3B1X3RvX2xlMzIocW1pLT5zcS5zcV9wb3J0 KTsKKysKKysJc3Euc3FfZmFtaWx5ID0gcW1pLT5zcS5zcV9mYW1pbHk7CisrCXNxLnNxX25vZGUg PSBxbWktPnNxLnNxX25vZGU7CisrCXNxLnNxX3BvcnQgPSBRUlRSX1BPUlRfQ1RSTDsKKysKKysJ bXNnLm1zZ19uYW1lID0gJnNxOworKwltc2cubXNnX25hbWVsZW4gPSBzaXplb2Yoc3EpOworKwor KwltdXRleF9sb2NrKCZxbWktPnNvY2tfbG9jayk7CisrCWlmIChxbWktPnNvY2spIHsKKysJCXJl dCA9IGtlcm5lbF9zZW5kbXNnKHFtaS0+c29jaywgJm1zZywgJml2LCAxLCBzaXplb2YocGt0KSk7 CisrCQlpZiAocmV0IDwgMCkKKysJCQlwcl9lcnIoInNlbmQgc2VydmljZSBkZXJlZ2lzdHJhdGlv biBmYWlsZWQ6ICVkXG4iLCByZXQpOworKwl9CisrCW11dGV4X3VubG9jaygmcW1pLT5zb2NrX2xv Y2spOworK30KKysKKysvKioKKysgKiBxbWlfZGVsX3NlcnZlcigpIC0gcmVnaXN0ZXIgYSBzZXJ2 aWNlIHdpdGggdGhlIG5hbWUgc2VydmljZQorKyAqIEBxbWk6CXFtaSBoYW5kbGUKKysgKiBAc2Vy dmljZToJdHlwZSBvZiB0aGUgc2VydmljZQorKyAqIEBpbnN0YW5jZToJaW5zdGFuY2Ugb2YgdGhl IHNlcnZpY2UKKysgKiBAdmVyc2lvbjoJdmVyc2lvbiBvZiB0aGUgc2VydmljZQorKyAqCisrICog UmVtb3ZlIHJlZ2lzdHJhdGlvbiBvZiB0aGUgc2VydmljZSB3aXRoIHRoZSBuYW1lIHNlcnZpY2Uu IFRoaXMgbm90aWZpZXMKKysgKiBjbGllbnRzIHRoYXQgdGhleSBzaG91bGQgbm8gbG9uZ2VyIHNl bmQgbWVzc2FnZXMgdG8gdGhlIGNsaWVudCBhc3NvY2lhdGVkCisrICogd2l0aCBAcW1pLgorKyAq CisrICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm5vIG9uIGZhaWx1cmUuCisr ICovCisraW50IHFtaV9kZWxfc2VydmVyKHN0cnVjdCBxbWlfaGFuZGxlICpxbWksIHVuc2lnbmVk IGludCBzZXJ2aWNlLAorKwkJICAgdW5zaWduZWQgaW50IHZlcnNpb24sIHVuc2lnbmVkIGludCBp bnN0YW5jZSkKKyt7CisrCXN0cnVjdCBxbWlfc2VydmljZSAqc3ZjOworKwlzdHJ1Y3QgcW1pX3Nl cnZpY2UgKnRtcDsKKysKKysJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHN2YywgdG1wLCAmcW1p LT5zZXJ2aWNlcywgbGlzdF9ub2RlKSB7CisrCQlpZiAoc3ZjLT5zZXJ2aWNlICE9IHNlcnZpY2Ug fHwKKysJCSAgICBzdmMtPnZlcnNpb24gIT0gdmVyc2lvbiB8fAorKwkJICAgIHN2Yy0+aW5zdGFu Y2UgIT0gaW5zdGFuY2UpCisrCQkJY29udGludWU7CisrCisrCQlxbWlfc2VuZF9kZWxfc2VydmVy KHFtaSwgc3ZjKTsKKysJCWxpc3RfZGVsKCZzdmMtPmxpc3Rfbm9kZSk7CisrCQlrZnJlZShzdmMp OworKworKwkJcmV0dXJuIDA7CisrCX0KKysKKysJcmV0dXJuIC1FSU5WQUw7CisrfQorK0VYUE9S VF9TWU1CT0xfR1BMKHFtaV9kZWxfc2VydmVyKTsKKysKKyAvKioKKyAgKiBxbWlfdHhuX2luaXQo KSAtIGFsbG9jYXRlIHRyYW5zYWN0aW9uIGlkIHdpdGhpbiB0aGUgZ2l2ZW4gUU1JIGhhbmRsZQor ICAqIEBxbWk6CVFNSSBoYW5kbGUKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NvYy9xY29t L3FtaS5oIGIvaW5jbHVkZS9saW51eC9zb2MvcWNvbS9xbWkuaAoraW5kZXggNDY5ZTAyZDJhYTBk Li41MDM5YzMwZTRiZGMgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2xpbnV4L3NvYy9xY29tL3FtaS5o CisrKysgYi9pbmNsdWRlL2xpbnV4L3NvYy9xY29tL3FtaS5oCitAQCAtMjQxLDYgKzI0MSw4IEBA IGludCBxbWlfYWRkX2xvb2t1cChzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1pLCB1bnNpZ25lZCBpbnQg c2VydmljZSwKKyAJCSAgIHVuc2lnbmVkIGludCB2ZXJzaW9uLCB1bnNpZ25lZCBpbnQgaW5zdGFu Y2UpOworIGludCBxbWlfYWRkX3NlcnZlcihzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1pLCB1bnNpZ25l ZCBpbnQgc2VydmljZSwKKyAJCSAgIHVuc2lnbmVkIGludCB2ZXJzaW9uLCB1bnNpZ25lZCBpbnQg aW5zdGFuY2UpOworK2ludCBxbWlfZGVsX3NlcnZlcihzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1pLCB1 bnNpZ25lZCBpbnQgc2VydmljZSwKKysJCSAgIHVuc2lnbmVkIGludCB2ZXJzaW9uLCB1bnNpZ25l ZCBpbnQgaW5zdGFuY2UpOworIAorIGludCBxbWlfaGFuZGxlX2luaXQoc3RydWN0IHFtaV9oYW5k bGUgKnFtaSwgc2l6ZV90IG1heF9tc2dfbGVuLAorIAkJICAgIGNvbnN0IHN0cnVjdCBxbWlfb3Bz ICpvcHMsCisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJv Lm9yZz4KK0RhdGU6IFdlZCwgMjQgQXByIDIwMjQgMTI6Mjg6MDEgKzAzMDAKK1N1YmplY3Q6IFtQ QVRDSCB2NyA1LzZdIHNvYzogcWNvbTogYWRkIHBkLW1hcHBlciBpbXBsZW1lbnRhdGlvbgorCitF eGlzdGluZyB1c2Vyc3BhY2UgcHJvdGVjdGlvbiBkb21haW4gbWFwcGVyIGltcGxlbWVudGF0aW9u IGhhcyBzZXZlcmFsCitpc3N1ZS4gSXQgZG9lc24ndCBwbGF5IHdlbGwgd2l0aCBDT05GSUdfRVhU UkFfRklSTVdBUkUsIGl0IGRvZXNuJ3QKK3JlcmVhZCBKU09OIGZpbGVzIGlmIGZpcm13YXJlIGxv Y2F0aW9uIGlzIGNoYW5nZWQgKG9yIGlmIGZpcm13YXJlIHdhcworbm90IGF2YWlsYWJsZSBhdCB0 aGUgdGltZSBwZC1tYXBwZXIgd2FzIHN0YXJ0ZWQgYnV0IHRoZSBjb3JyZXNwb25kaW5nCitkaXJl Y3RvcnkgaXMgbW91bnRlZCBsYXRlciksIGV0Yy4KKworUHJvdmlkZSBpbi1rZXJuZWwgc2Vydmlj ZSBpbXBsZW1lbnRpbmcgcHJvdGVjdGlvbiBkb21haW4gbWFwcGluZworcmVxdWlyZWQgdG8gd29y ayB3aXRoIHNldmVyYWwgc2VydmljZXMsIHdoaWNoIGFyZSBwcm92aWRlZCBieSB0aGUgRFNQCitm aXJtd2FyZS4KKworVGhpcyBtb2R1bGUgaXMgbG9hZGVkIGF1dG9tYXRpY2FsbHkgYnkgdGhlIHJl bW90ZXByb2MgZHJpdmVycyB3aGVuCituZWNlc3NhcnkgdmlhIHRoZSBzeW1ib2wgZGVwZW5kZW5j eS4gSXQgdXNlcyBhIHJvb3Qgbm9kZSB0byBtYXRjaCBhCitwcm90ZWN0aW9uIGRvbWFpbnMgbWFw IGZvciBhIHBhcnRpY3VsYXIgYm9hcmQuIEl0IGlzIG5vdCBwb3NzaWJsZSB0bworaW1wbGVtZW50 IGl0IGFzIGEgJ2RyaXZlcicgYXMgdGhlcmUgaXMgbm8gY29ycmVzcG9uZGluZyBkZXZpY2UuCisK K1NpZ25lZC1vZmYtYnk6IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJv Lm9yZz4KKy0tLQorIGRyaXZlcnMvc29jL3Fjb20vS2NvbmZpZyAgICAgICAgICAgfCAgMTAgKwor IGRyaXZlcnMvc29jL3Fjb20vTWFrZWZpbGUgICAgICAgICAgfCAgIDEgKworIGRyaXZlcnMvc29j L3Fjb20vcGRyX2ludGVybmFsLmggICAgfCAgMTQgKworIGRyaXZlcnMvc29jL3Fjb20vcWNvbV9w ZF9tYXBwZXIuYyAgfCA2NTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwor IGRyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMgICAgfCAgMzQgKysKKyBpbmNsdWRlL2xp bnV4L3NvYy9xY29tL3BkX21hcHBlci5oIHwgIDI4ICsrCisgNiBmaWxlcyBjaGFuZ2VkLCA3NDMg aW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnIGIv ZHJpdmVycy9zb2MvcWNvbS9LY29uZmlnCitpbmRleCA5NTk3M2M2YjgyOGYuLmY2NjYzNjY4NDFi OCAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvc29jL3Fjb20vS2NvbmZpZworKysrIGIvZHJpdmVycy9z b2MvcWNvbS9LY29uZmlnCitAQCAtNzIsNiArNzIsMTYgQEAgY29uZmlnIFFDT01fT0NNRU0KKyAJ ICByZXF1aXJlbWVudHMuIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgYnkgdGhlIEdQVSwgY2FtZXJh L3ZpZGVvLCBhbmQKKyAJICBhdWRpbyBjb21wb25lbnRzIG9uIHNvbWUgU25hcGRyYWdvbiBTb0Nz LgorIAorK2NvbmZpZyBRQ09NX1BEX01BUFBFUgorKwl0cmlzdGF0ZSAiUXVhbGNvbW0gUHJvdGVj dGlvbiBEb21haW4gTWFwcGVyIgorKwlzZWxlY3QgUUNPTV9RTUlfSEVMUEVSUworKwlkZXBlbmRz IG9uIE5FVCAmJiBRUlRSCisrCWhlbHAKKysJICBUaGUgUHJvdGVjdGlvbiBEb21haW4gTWFwcGVy 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 X3BkX21hcHBlci5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAwLi5i YTU0NDA1MDZjOTUKKy0tLSAvZGV2L251bGwKKysrKyBiL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9w ZF9tYXBwZXIuYworQEAgLTAsMCArMSw2NTYgQEAKKysvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vbmx5CisrLyoKKysgKiBRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFpbiBtYXBw ZXIKKysgKgorKyAqIENvcHlyaWdodCAoYykgMjAyMyBMaW5hcm8gTHRkLgorKyAqLworKworKyNp bmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKysjaW5jbHVkZSA8bGludXgvbW9kX2RldmljZXRhYmxl Lmg+CisrI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorKyNpbmNsdWRlIDxsaW51eC9vZi5oPgor KyNpbmNsdWRlIDxsaW51eC9zb2MvcWNvbS9wZF9tYXBwZXIuaD4KKysjaW5jbHVkZSA8bGludXgv c29jL3Fjb20vcW1pLmg+CisrCisrI2luY2x1ZGUgInBkcl9pbnRlcm5hbC5oIgorKworKyNkZWZp bmUgU0VSVlJFR19RTUlfVkVSU0lPTiAweDEwMQorKyNkZWZpbmUgU0VSVlJFR19RTUlfSU5TVEFO Q0UgMAorKworKyNkZWZpbmUgVE1TX1NFUlZSRUdfU0VSVklDRSAidG1zL3NlcnZyZWciCisrCisr c3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIHsKKysJY29uc3QgY2hhciAqZG9tYWluOworKwl1 MzIgaW5zdGFuY2VfaWQ7CisrCS8qIE5VTEwtdGVybWluYXRlZCBhcnJheSAqLworKwljb25zdCBj aGFyICogc2VydmljZXNbXTsKKyt9OworKworK3N0cnVjdCBxY29tX3BkbV9kb21haW4geworKwlz dHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CisrCWNvbnN0IGNoYXIgKm5hbWU7CisrCXUzMiBpbnN0YW5j ZV9pZDsKKyt9OworKworK3N0cnVjdCBxY29tX3BkbV9zZXJ2aWNlIHsKKysJc3RydWN0IGxpc3Rf aGVhZCBsaXN0OworKwlzdHJ1Y3QgbGlzdF9oZWFkIGRvbWFpbnM7CisrCWNvbnN0IGNoYXIgKm5h bWU7CisrfTsKKysKKytzdGF0aWMgREVGSU5FX01VVEVYKHFjb21fcGRtX2NvdW50X211dGV4KTsg LyogZ3VhcmRzIGNvdW50ICovCisrLyoKKysgKiBJdCBpcyBub3QgcG9zc2libGUgdG8gdXNlIHJl ZmNvdW50X3QgaGVyZS4gVGhlIHNlcnZpY2UgbmVlZHMgdG8gZ28gdG8gMCBhbmQKKysgKiBiYWNr IHdpdGhvdXQgd2FybmluZ3MuCisrICovCisrc3RhdGljIHVuc2lnbmVkIGludCBxY29tX3BkbV9j b3VudDsKKysKKytzdGF0aWMgREVGSU5FX01VVEVYKHFjb21fcGRtX211dGV4KTsKKytzdGF0aWMg c3RydWN0IHFtaV9oYW5kbGUgcWNvbV9wZG1faGFuZGxlOworK3N0YXRpYyBMSVNUX0hFQUQocWNv bV9wZG1fc2VydmljZXMpOworKworK3N0YXRpYyBzdHJ1Y3QgcWNvbV9wZG1fc2VydmljZSAqcWNv bV9wZG1fZmluZChjb25zdCBjaGFyICpuYW1lKQorK3sKKysJc3RydWN0IHFjb21fcGRtX3NlcnZp Y2UgKnNlcnZpY2U7CisrCisrCWxpc3RfZm9yX2VhY2hfZW50cnkoc2VydmljZSwgJnFjb21fcGRt X3NlcnZpY2VzLCBsaXN0KSB7CisrCQlpZiAoIXN0cmNtcChzZXJ2aWNlLT5uYW1lLCBuYW1lKSkK KysJCQlyZXR1cm4gc2VydmljZTsKKysJfQorKworKwlyZXR1cm4gTlVMTDsKKyt9CisrCisrc3Rh dGljIGludCBxY29tX3BkbV9hZGRfc2VydmljZV9kb21haW4oY29uc3QgY2hhciAqc2VydmljZV9u YW1lLAorKwkJCQkgICAgICAgY29uc3QgY2hhciAqZG9tYWluX25hbWUsCisrCQkJCSAgICAgICB1 MzIgaW5zdGFuY2VfaWQpCisreworKwlzdHJ1Y3QgcWNvbV9wZG1fc2VydmljZSAqc2VydmljZTsK KysJc3RydWN0IHFjb21fcGRtX2RvbWFpbiAqZG9tYWluOworKworKwlzZXJ2aWNlID0gcWNvbV9w ZG1fZmluZChzZXJ2aWNlX25hbWUpOworKwlpZiAoc2VydmljZSkgeworKwkJbGlzdF9mb3JfZWFj aF9lbnRyeShkb21haW4sICZzZXJ2aWNlLT5kb21haW5zLCBsaXN0KSB7CisrCQkJaWYgKCFzdHJj bXAoZG9tYWluLT5uYW1lLCBkb21haW5fbmFtZSkpCisrCQkJCXJldHVybiAtRUJVU1k7CisrCQl9 CisrCX0gZWxzZSB7CisrCQlzZXJ2aWNlID0ga3phbGxvYyhzaXplb2YoKnNlcnZpY2UpLCBHRlBf S0VSTkVMKTsKKysJCWlmICghc2VydmljZSkKKysJCQlyZXR1cm4gLUVOT01FTTsKKysKKysJCUlO SVRfTElTVF9IRUFEKCZzZXJ2aWNlLT5kb21haW5zKTsKKysJCXNlcnZpY2UtPm5hbWUgPSBzZXJ2 aWNlX25hbWU7CisrCisrCQlsaXN0X2FkZF90YWlsKCZzZXJ2aWNlLT5saXN0LCAmcWNvbV9wZG1f c2VydmljZXMpOworKwl9CisrCisrCWRvbWFpbiA9IGt6YWxsb2Moc2l6ZW9mKCpkb21haW4pLCBH RlBfS0VSTkVMKTsKKysJaWYgKCFkb21haW4pIHsKKysJCWlmIChsaXN0X2VtcHR5KCZzZXJ2aWNl LT5kb21haW5zKSkgeworKwkJCWxpc3RfZGVsKCZzZXJ2aWNlLT5saXN0KTsKKysJCQlrZnJlZShz ZXJ2aWNlKTsKKysJCX0KKysKKysJCXJldHVybiAtRU5PTUVNOworKwl9CisrCisrCWRvbWFpbi0+ bmFtZSA9IGRvbWFpbl9uYW1lOworKwlkb21haW4tPmluc3RhbmNlX2lkID0gaW5zdGFuY2VfaWQ7 CisrCWxpc3RfYWRkX3RhaWwoJmRvbWFpbi0+bGlzdCwgJnNlcnZpY2UtPmRvbWFpbnMpOworKwor KwlyZXR1cm4gMDsKKyt9CisrCisrc3RhdGljIGludCBxY29tX3BkbV9hZGRfZG9tYWluKGNvbnN0 IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqZGF0YSkKKyt7CisrCWludCByZXQ7CisrCWlu dCBpOworKworKwlyZXQgPSBxY29tX3BkbV9hZGRfc2VydmljZV9kb21haW4oVE1TX1NFUlZSRUdf U0VSVklDRSwKKysJCQkJCSAgZGF0YS0+ZG9tYWluLAorKwkJCQkJICBkYXRhLT5pbnN0YW5jZV9p ZCk7CisrCWlmIChyZXQpCisrCQlyZXR1cm4gcmV0OworKworKwlmb3IgKGkgPSAwOyBkYXRhLT5z ZXJ2aWNlc1tpXTsgaSsrKSB7CisrCQlyZXQgPSBxY29tX3BkbV9hZGRfc2VydmljZV9kb21haW4o ZGF0YS0+c2VydmljZXNbaV0sCisrCQkJCQkJICBkYXRhLT5kb21haW4sCisrCQkJCQkJICBkYXRh LT5pbnN0YW5jZV9pZCk7CisrCQlpZiAocmV0KQorKwkJCXJldHVybiByZXQ7CisrCX0KKysKKysJ cmV0dXJuIDA7CisrCisrfQorKworK3N0YXRpYyB2b2lkIHFjb21fcGRtX2ZyZWVfZG9tYWlucyh2 b2lkKQorK3sKKysJc3RydWN0IHFjb21fcGRtX3NlcnZpY2UgKnNlcnZpY2UsICp0c2VydmljZTsK KysJc3RydWN0IHFjb21fcGRtX2RvbWFpbiAqZG9tYWluLCAqdGRvbWFpbjsKKysKKysJbGlzdF9m b3JfZWFjaF9lbnRyeV9zYWZlKHNlcnZpY2UsIHRzZXJ2aWNlLCAmcWNvbV9wZG1fc2VydmljZXMs IGxpc3QpIHsKKysJCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShkb21haW4sIHRkb21haW4sICZz ZXJ2aWNlLT5kb21haW5zLCBsaXN0KSB7CisrCQkJbGlzdF9kZWwoJmRvbWFpbi0+bGlzdCk7Cisr CQkJa2ZyZWUoZG9tYWluKTsKKysJCX0KKysKKysJCWxpc3RfZGVsKCZzZXJ2aWNlLT5saXN0KTsK KysJCWtmcmVlKHNlcnZpY2UpOworKwl9CisrfQorKworK3N0YXRpYyB2b2lkIHFjb21fcGRtX2dl dF9kb21haW5fbGlzdChzdHJ1Y3QgcW1pX2hhbmRsZSAqcW1pLAorKwkJCQkgICAgIHN0cnVjdCBz b2NrYWRkcl9xcnRyICpzcSwKKysJCQkJICAgICBzdHJ1Y3QgcW1pX3R4biAqdHhuLAorKwkJCQkg ICAgIGNvbnN0IHZvaWQgKmRlY29kZWQpCisreworKwljb25zdCBzdHJ1Y3Qgc2VydnJlZ19nZXRf ZG9tYWluX2xpc3RfcmVxICpyZXEgPSBkZWNvZGVkOworKwlzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9t YWluX2xpc3RfcmVzcCAqcnNwID0ga3phbGxvYyhzaXplb2YoKnJzcCksIEdGUF9LRVJORUwpOwor KwlzdHJ1Y3QgcWNvbV9wZG1fc2VydmljZSAqc2VydmljZTsKKysJdTMyIG9mZnNldDsKKysJaW50 IHJldDsKKysKKysJb2Zmc2V0ID0gcmVxLT5kb21haW5fb2Zmc2V0X3ZhbGlkID8gcmVxLT5kb21h aW5fb2Zmc2V0IDogMDsKKysKKysJcnNwLT5yZXNwLnJlc3VsdCA9IFFNSV9SRVNVTFRfU1VDQ0VT U19WMDE7CisrCXJzcC0+cmVzcC5lcnJvciA9IFFNSV9FUlJfTk9ORV9WMDE7CisrCisrCXJzcC0+ ZGJfcmV2X2NvdW50X3ZhbGlkID0gdHJ1ZTsKKysJcnNwLT5kYl9yZXZfY291bnQgPSAxOworKwor Kwlyc3AtPnRvdGFsX2RvbWFpbnNfdmFsaWQgPSB0cnVlOworKwlyc3AtPnRvdGFsX2RvbWFpbnMg PSAwOworKworKwltdXRleF9sb2NrKCZxY29tX3BkbV9tdXRleCk7CisrCisrCXNlcnZpY2UgPSBx Y29tX3BkbV9maW5kKHJlcS0+c2VydmljZV9uYW1lKTsKKysJaWYgKHNlcnZpY2UpIHsKKysJCXN0 cnVjdCBxY29tX3BkbV9kb21haW4gKmRvbWFpbjsKKysKKysJCXJzcC0+ZG9tYWluX2xpc3RfdmFs aWQgPSB0cnVlOworKwkJcnNwLT5kb21haW5fbGlzdF9sZW4gPSAwOworKworKwkJbGlzdF9mb3Jf ZWFjaF9lbnRyeShkb21haW4sICZzZXJ2aWNlLT5kb21haW5zLCBsaXN0KSB7CisrCQkJdTMyIGkg PSByc3AtPnRvdGFsX2RvbWFpbnMrKzsKKysKKysJCQlpZiAoaSA+PSBvZmZzZXQgJiYgaSA8IFNF UlZSRUdfRE9NQUlOX0xJU1RfTEVOR1RIKSB7CisrCQkJCXUzMiBqID0gcnNwLT5kb21haW5fbGlz dF9sZW4rKzsKKysKKysJCQkJc3Ryc2NweShyc3AtPmRvbWFpbl9saXN0W2pdLm5hbWUsIGRvbWFp bi0+bmFtZSwKKysJCQkJCXNpemVvZihyc3AtPmRvbWFpbl9saXN0W2ldLm5hbWUpKTsKKysJCQkJ cnNwLT5kb21haW5fbGlzdFtqXS5pbnN0YW5jZSA9IGRvbWFpbi0+aW5zdGFuY2VfaWQ7CisrCisr CQkJCXByX2RlYnVnKCJQRE06IGZvdW5kICVzIC8gJWRcbiIsIGRvbWFpbi0+bmFtZSwKKysJCQkJ CSBkb21haW4tPmluc3RhbmNlX2lkKTsKKysJCQl9CisrCQl9CisrCX0KKysKKysJcHJfZGVidWco IlBETTogc2VydmljZSAnJXMnIG9mZnNldCAlZCByZXR1cm5pbmcgJWQgZG9tYWlucyAob2YgJWQp XG4iLCByZXEtPnNlcnZpY2VfbmFtZSwKKysJCSByZXEtPmRvbWFpbl9vZmZzZXRfdmFsaWQgPyBy ZXEtPmRvbWFpbl9vZmZzZXQgOiAtMSwgcnNwLT5kb21haW5fbGlzdF9sZW4sIHJzcC0+dG90YWxf ZG9tYWlucyk7CisrCisrCXJldCA9IHFtaV9zZW5kX3Jlc3BvbnNlKHFtaSwgc3EsIHR4biwgU0VS VlJFR19HRVRfRE9NQUlOX0xJU1RfUkVRLAorKwkJCQlTRVJWUkVHX0dFVF9ET01BSU5fTElTVF9S RVNQX01BWF9MRU4sCisrCQkJCXNlcnZyZWdfZ2V0X2RvbWFpbl9saXN0X3Jlc3BfZWksIHJzcCk7 CisrCWlmIChyZXQpCisrCQlwcl9lcnIoIkVycm9yIHNlbmRpbmcgc2VydnJlZyByZXNwb25zZTog JWRcbiIsIHJldCk7CisrCisrCW11dGV4X3VubG9jaygmcWNvbV9wZG1fbXV0ZXgpOworKworKwlr ZnJlZShyc3ApOworK30KKysKKytzdGF0aWMgdm9pZCBxY29tX3BkbV9wZnIoc3RydWN0IHFtaV9o YW5kbGUgKnFtaSwKKysJCQkgc3RydWN0IHNvY2thZGRyX3FydHIgKnNxLAorKwkJCSBzdHJ1Y3Qg cW1pX3R4biAqdHhuLAorKwkJCSBjb25zdCB2b2lkICpkZWNvZGVkKQorK3sKKysJY29uc3Qgc3Ry dWN0IHNlcnZyZWdfbG9jX3Bmcl9yZXEgKnJlcSA9IGRlY29kZWQ7CisrCXN0cnVjdCBzZXJ2cmVn X2xvY19wZnJfcmVzcCByc3AgPSB7fTsKKysJaW50IHJldDsKKysKKysJcHJfd2Fybl9yYXRlbGlt aXRlZCgiUERNOiBzZXJ2aWNlICclcycgY3Jhc2g6ICclcydcbiIsIHJlcS0+c2VydmljZSwgcmVx LT5yZWFzb24pOworKworKwlyc3AucnNwLnJlc3VsdCA9IFFNSV9SRVNVTFRfU1VDQ0VTU19WMDE7 CisrCXJzcC5yc3AuZXJyb3IgPSBRTUlfRVJSX05PTkVfVjAxOworKworKwlyZXQgPSBxbWlfc2Vu ZF9yZXNwb25zZShxbWksIHNxLCB0eG4sIFNFUlZSRUdfTE9DX1BGUl9SRVEsCisrCQkJCVNFUlZS RUdfTE9DX1BGUl9SRVNQX01BWF9MRU4sCisrCQkJCXNlcnZyZWdfbG9jX3Bmcl9yZXNwX2VpLCAm cnNwKTsKKysJaWYgKHJldCkKKysJCXByX2VycigiRXJyb3Igc2VuZGluZyBzZXJ2cmVnIHJlc3Bv bnNlOiAlZFxuIiwgcmV0KTsKKyt9CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxbWlfbXNnX2hh bmRsZXIgcWNvbV9wZG1fbXNnX2hhbmRsZXJzW10gPSB7CisrCXsKKysJCS50eXBlID0gUU1JX1JF UVVFU1QsCisrCQkubXNnX2lkID0gU0VSVlJFR19HRVRfRE9NQUlOX0xJU1RfUkVRLAorKwkJLmVp ID0gc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxX2VpLAorKwkJLmRlY29kZWRfc2l6ZSA9IHNp emVvZihzdHJ1Y3Qgc2VydnJlZ19nZXRfZG9tYWluX2xpc3RfcmVxKSwKKysJCS5mbiA9IHFjb21f cGRtX2dldF9kb21haW5fbGlzdCwKKysJfSwKKysJeworKwkJLnR5cGUgPSBRTUlfUkVRVUVTVCwK KysJCS5tc2dfaWQgPSBTRVJWUkVHX0xPQ19QRlJfUkVRLAorKwkJLmVpID0gc2VydnJlZ19sb2Nf cGZyX3JlcV9laSwKKysJCS5kZWNvZGVkX3NpemUgPSBzaXplb2Yoc3RydWN0IHNlcnZyZWdfbG9j X3Bmcl9yZXEpLAorKwkJLmZuID0gcWNvbV9wZG1fcGZyLAorKwl9LAorKwl7IH0sCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIGFkc3BfYXVkaW9fcGQg PSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3AvYXVkaW9fcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3 NCwKKysJLnNlcnZpY2VzID0geworKwkJImF2cy9hdWRpbyIsCisrCQlOVUxMLAorKwl9LAorK307 CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBhZHNwX2NoYXJn ZXJfcGQgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3AvY2hhcmdlcl9wZCIsCisrCS5pbnN0YW5j ZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgYWRzcF9yb290X3BkID0geworKwkuZG9tYWlu ID0gIm1zbS9hZHNwL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NCwKKysJLnNlcnZpY2Vz ID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFp bl9kYXRhIGFkc3Bfcm9vdF9wZF9wZHIgPSB7CisrCS5kb21haW4gPSAibXNtL2Fkc3Avcm9vdF9w ZCIsCisrCS5pbnN0YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7CisrCQkidG1zL3Bkcl9l bmFibGVkIiwKKysJCU5VTEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFj b21fcGRtX2RvbWFpbl9kYXRhIGFkc3Bfc2Vuc29yX3BkID0geworKwkuZG9tYWluID0gIm1zbS9h ZHNwL3NlbnNvcl9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDc0LAorKwkuc2VydmljZXMgPSB7IE5V TEwgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEg bXNtODk5Nl9hZHNwX2F1ZGlvX3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL2F1ZGlvX3Bk IiwKKysJLmluc3RhbmNlX2lkID0gNCwKKysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhIG1zbTg5OTZfYWRzcF9y b290X3BkID0geworKwkuZG9tYWluID0gIm1zbS9hZHNwL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2Vf aWQgPSA0LAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBz dHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgY2RzcF9yb290X3BkID0geworKwkuZG9tYWluID0g Im1zbS9jZHNwL3Jvb3RfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA3NiwKKysJLnNlcnZpY2VzID0g eyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9k YXRhIHNscGlfcm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vc2xwaS9yb290X3BkIiwKKysJ Lmluc3RhbmNlX2lkID0gOTAsCisrCS5zZXJ2aWNlcyA9IHsgTlVMTCB9LAorK307CisrCisrc3Rh dGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSBzbHBpX3NlbnNvcl9wZCA9IHsK KysJLmRvbWFpbiA9ICJtc20vc2xwaS9zZW5zb3JfcGQiLAorKwkuaW5zdGFuY2VfaWQgPSA5MCwK KysJLnNlcnZpY2VzID0geyBOVUxMIH0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFj b21fcGRtX2RvbWFpbl9kYXRhIG1wc3Nfcm9vdF9wZCA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9k ZW0vcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDE4MCwKKysJLnNlcnZpY2VzID0geworKwkJ TlVMTCwKKysJfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWlu X2RhdGEgbXBzc19yb290X3BkX2dwcyA9IHsKKysJLmRvbWFpbiA9ICJtc20vbW9kZW0vcm9vdF9w ZCIsCisrCS5pbnN0YW5jZV9pZCA9IDE4MCwKKysJLnNlcnZpY2VzID0geworKwkJImdwcy9ncHNf c2VydmljZSIsCisrCQlOVUxMLAorKwl9LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBx Y29tX3BkbV9kb21haW5fZGF0YSBtcHNzX3Jvb3RfcGRfZ3BzX3BkciA9IHsKKysJLmRvbWFpbiA9 ICJtc20vbW9kZW0vcm9vdF9wZCIsCisrCS5pbnN0YW5jZV9pZCA9IDE4MCwKKysJLnNlcnZpY2Vz ID0geworKwkJImdwcy9ncHNfc2VydmljZSIsCisrCQkidG1zL3Bkcl9lbmFibGVkIiwKKysJCU5V TEwsCisrCX0sCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9k YXRhIG1zbTg5OTZfbXBzc19yb290X3BkID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS9yb290 X3BkIiwKKysJLmluc3RhbmNlX2lkID0gMTAwLAorKwkuc2VydmljZXMgPSB7IE5VTEwgfSwKKyt9 OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgbXBzc193bGFu X3BkID0geworKwkuZG9tYWluID0gIm1zbS9tb2RlbS93bGFuX3BkIiwKKysJLmluc3RhbmNlX2lk ID0gMTgwLAorKwkuc2VydmljZXMgPSB7CisrCQkia2VybmVsL2VsZl9sb2FkZXIiLAorKwkJInds YW4vZnciLAorKwkJTlVMTCwKKysJfSwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNv bV9wZG1fZG9tYWluX2RhdGEgKm1zbTg5OTZfZG9tYWluc1tdID0geworKwkmbXNtODk5Nl9hZHNw X2F1ZGlvX3BkLAorKwkmbXNtODk5Nl9hZHNwX3Jvb3RfcGQsCisrCSZtc204OTk2X21wc3Nfcm9v dF9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9t YWluX2RhdGEgKm1zbTg5OThfZG9tYWluc1tdID0geworKwkmbXBzc19yb290X3BkLAorKwkmbXBz c193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3Bk bV9kb21haW5fZGF0YSAqcWNtMjI5MF9kb21haW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAor KwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9zZW5zb3JfcGQsCisrCSZtcHNzX3Jvb3RfcGRfZ3Bz LAorKwkmbXBzc193bGFuX3BkLAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVj dCBxY29tX3BkbV9kb21haW5fZGF0YSAqcWNzNDA0X2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVk aW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJmNkc3Bfcm9v dF9wZCwKKysJJm1wc3Nfcm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9Owor KworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNjNzE4MF9kb21h aW5zW10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkX3BkciwKKysJJmFk c3Bfc2Vuc29yX3BkLAorKwkmbXBzc19yb290X3BkX2dwc19wZHIsCisrCSZtcHNzX3dsYW5fcGQs CisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9k YXRhICpzYzcyODBfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9v dF9wZF9wZHIsCisrCSZhZHNwX2NoYXJnZXJfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJmNk c3Bfcm9vdF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHNfcGRyLAorKwlOVUxMLAorK307CisrCisr c3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc2M4MTgweF9kb21haW5z W10gPSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9jaGFy Z2VyX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3BkX2dwcywKKysJJm1wc3Nf d2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1f ZG9tYWluX2RhdGEgKnNjODI4MHhwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisr CSZhZHNwX3Jvb3RfcGRfcGRyLAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmY2RzcF9yb290X3Bk LAorKwlOVUxMLAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5f ZGF0YSAqc2RtNjYwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jv b3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qg c3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzZG02NzBfZG9tYWluc1tdID0geworKwkmYWRz cF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1wc3Nf cm9vdF9wZCwKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNkbTg0NV9kb21haW5zW10gPSB7CisrCSZh ZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBz c19yb290X3BkLAorKwkmbXBzc193bGFuX3BkLAorKwkmc2xwaV9yb290X3BkLAorKwkmc2xwaV9z ZW5zb3JfcGQsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRt X2RvbWFpbl9kYXRhICpzbTYxMTVfZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJ JmFkc3Bfcm9vdF9wZCwKKysJJmFkc3Bfc2Vuc29yX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkm bXBzc19yb290X3BkX2dwcywKKysJJm1wc3Nfd2xhbl9wZCwKKysJTlVMTCwKKyt9OworKworK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWluX2RhdGEgKnNtNjM1MF9kb21haW5zW10g PSB7CisrCSZhZHNwX2F1ZGlvX3BkLAorKwkmYWRzcF9yb290X3BkLAorKwkmYWRzcF9zZW5zb3Jf cGQsCisrCSZjZHNwX3Jvb3RfcGQsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisrfTsKKysK KytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzbTgxNTBfZG9tYWlu c1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmNkc3Bfcm9v dF9wZCwKKysJJm1wc3Nfcm9vdF9wZF9ncHMsCisrCSZtcHNzX3dsYW5fcGQsCisrCU5VTEwsCisr fTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IHFjb21fcGRtX2RvbWFpbl9kYXRhICpzbTgyNTBf ZG9tYWluc1tdID0geworKwkmYWRzcF9hdWRpb19wZCwKKysJJmFkc3Bfcm9vdF9wZCwKKysJJmNk c3Bfcm9vdF9wZCwKKysJJnNscGlfcm9vdF9wZCwKKysJJnNscGlfc2Vuc29yX3BkLAorKwlOVUxM LAorK307CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc204 MzUwX2RvbWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGRfcGRy LAorKwkmYWRzcF9jaGFyZ2VyX3BkLAorKwkmY2RzcF9yb290X3BkLAorKwkmbXBzc19yb290X3Bk X2dwcywKKysJJnNscGlfcm9vdF9wZCwKKysJJnNscGlfc2Vuc29yX3BkLAorKwlOVUxMLAorK307 CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBxY29tX3BkbV9kb21haW5fZGF0YSAqc204NTUwX2Rv bWFpbnNbXSA9IHsKKysJJmFkc3BfYXVkaW9fcGQsCisrCSZhZHNwX3Jvb3RfcGQsCisrCSZhZHNw X2NoYXJnZXJfcGQsCisrCSZhZHNwX3NlbnNvcl9wZCwKKysJJmNkc3Bfcm9vdF9wZCwKKysJJm1w c3Nfcm9vdF9wZF9ncHMsCisrCU5VTEwsCisrfTsKKysKKytzdGF0aWMgY29uc3Qgc3RydWN0IG9m X2RldmljZV9pZCBxY29tX3BkbV9kb21haW5zW10gPSB7CisrCXsgLmNvbXBhdGlibGUgPSAicWNv bSxhcHE4MDY0IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sYXBx ODA3NCIsIC5kYXRhID0gTlVMTCwgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLGFwcTgwODQi LCAuZGF0YSA9IE5VTEwsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxhcHE4MDk2IiwgLmRh dGEgPSBtc204OTk2X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxtc204MjI2 IiwgLmRhdGEgPSBOVUxMLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sbXNtODk3NCIsIC5k YXRhID0gTlVMTCwgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLG1zbTg5OTYiLCAuZGF0YSA9 IG1zbTg5OTZfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLG1zbTg5OTgiLCAu ZGF0YSA9IG1zbTg5OThfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHFjbTIy OTAiLCAuZGF0YSA9IHFjbTIyOTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29t LHFjczQwNCIsIC5kYXRhID0gcWNzNDA0X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAi cWNvbSxzYzcxODAiLCAuZGF0YSA9IHNjNzE4MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxl ID0gInFjb20sc2M3MjgwIiwgLmRhdGEgPSBzYzcyODBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0 aWJsZSA9ICJxY29tLHNjODE4MHgiLCAuZGF0YSA9IHNjODE4MHhfZG9tYWlucywgfSwKKysJeyAu Y29tcGF0aWJsZSA9ICJxY29tLHNjODI4MHhwIiwgLmRhdGEgPSBzYzgyODB4cF9kb21haW5zLCB9 LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2RhNjYwIiwgLmRhdGEgPSBzZG02NjBfZG9tYWlu cywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNkbTY2MCIsIC5kYXRhID0gc2RtNjYwX2Rv bWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzZG02NzAiLCAuZGF0YSA9IHNkbTY3 MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc2RtODQ1IiwgLmRhdGEgPSBz ZG04NDVfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNtNjExNSIsIC5kYXRh ID0gc202MTE1X2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNvbSxzbTYzNTAiLCAu ZGF0YSA9IHNtNjM1MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0gInFjb20sc204MTUw IiwgLmRhdGEgPSBzbTgxNTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJsZSA9ICJxY29tLHNt ODI1MCIsIC5kYXRhID0gc204MjUwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBhdGlibGUgPSAicWNv bSxzbTgzNTAiLCAuZGF0YSA9IHNtODM1MF9kb21haW5zLCB9LAorKwl7IC5jb21wYXRpYmxlID0g InFjb20sc204NDUwIiwgLmRhdGEgPSBzbTgzNTBfZG9tYWlucywgfSwKKysJeyAuY29tcGF0aWJs ZSA9ICJxY29tLHNtODU1MCIsIC5kYXRhID0gc204NTUwX2RvbWFpbnMsIH0sCisrCXsgLmNvbXBh dGlibGUgPSAicWNvbSxzbTg2NTAiLCAuZGF0YSA9IHNtODU1MF9kb21haW5zLCB9LAorKwl7fSwK Kyt9OworKworK3N0YXRpYyBpbnQgcWNvbV9wZG1fc3RhcnQodm9pZCkKKyt7CisrCWNvbnN0IHN0 cnVjdCBvZl9kZXZpY2VfaWQgKm1hdGNoOworKwljb25zdCBzdHJ1Y3QgcWNvbV9wZG1fZG9tYWlu X2RhdGEgKiBjb25zdCAqZG9tYWluczsKKysJc3RydWN0IGRldmljZV9ub2RlICpyb290OworKwlp bnQgcmV0LCBpOworKworKwlyb290ID0gb2ZfZmluZF9ub2RlX2J5X3BhdGgoIi8iKTsKKysJaWYg KCFyb290KQorKwkJcmV0dXJuIC1FTk9ERVY7CisrCisrCW1hdGNoID0gb2ZfbWF0Y2hfbm9kZShx Y29tX3BkbV9kb21haW5zLCByb290KTsKKysJb2Zfbm9kZV9wdXQocm9vdCk7CisrCWlmICghbWF0 Y2gpIHsKKysJCXByX25vdGljZSgiUERNOiBubyBzdXBwb3J0IGZvciB0aGUgcGxhdGZvcm0sIHVz ZXJzcGFjZSBkYWVtb24gbWlnaHQgYmUgcmVxdWlyZWQuXG4iKTsKKysJCXJldHVybiAtRU5PREVW OworKwl9CisrCisrCWRvbWFpbnMgPSBtYXRjaC0+ZGF0YTsKKysJaWYgKCFkb21haW5zKSB7Cisr CQlwcl9kZWJ1ZygiUERNOiBubyBkb21haW5zXG4iKTsKKysJCXJldHVybiAtRU5PREVWOworKwl9 CisrCisrCW11dGV4X2xvY2soJnFjb21fcGRtX211dGV4KTsKKysJZm9yIChpID0gMDsgZG9tYWlu c1tpXTsgaSsrKSB7CisrCQlyZXQgPSBxY29tX3BkbV9hZGRfZG9tYWluKGRvbWFpbnNbaV0pOwor KwkJaWYgKHJldCkKKysJCQlnb3RvIGZyZWVfZG9tYWluczsKKysJfQorKworKwlyZXQgPSBxbWlf aGFuZGxlX2luaXQoJnFjb21fcGRtX2hhbmRsZSwgMTAyNCwKKysJCQkgICAgICBOVUxMLCBxY29t X3BkbV9tc2dfaGFuZGxlcnMpOworKwlpZiAocmV0KQorKwkJZ290byBmcmVlX2RvbWFpbnM7Cisr CisrCXJldCA9IHFtaV9hZGRfc2VydmVyKCZxY29tX3BkbV9oYW5kbGUsIFNFUlZSRUdfTE9DQVRP Ul9TRVJWSUNFLAorKwkJCSAgICAgU0VSVlJFR19RTUlfVkVSU0lPTiwgU0VSVlJFR19RTUlfSU5T VEFOQ0UpOworKwlpZiAocmV0KSB7CisrCQlwcl9lcnIoIlBETTogZXJyb3IgYWRkaW5nIHNlcnZl ciAlZFxuIiwgcmV0KTsKKysJCWdvdG8gcmVsZWFzZV9oYW5kbGU7CisrCX0KKysJbXV0ZXhfdW5s b2NrKCZxY29tX3BkbV9tdXRleCk7CisrCisrCXJldHVybiAwOworKworK3JlbGVhc2VfaGFuZGxl OgorKwlxbWlfaGFuZGxlX3JlbGVhc2UoJnFjb21fcGRtX2hhbmRsZSk7CisrCisrZnJlZV9kb21h aW5zOgorKwlxY29tX3BkbV9mcmVlX2RvbWFpbnMoKTsKKysJbXV0ZXhfdW5sb2NrKCZxY29tX3Bk bV9tdXRleCk7CisrCisrCXJldHVybiByZXQ7CisrfQorKworK3N0YXRpYyB2b2lkIHFjb21fcGRt X3N0b3Aodm9pZCkKKyt7CisrCXFtaV9kZWxfc2VydmVyKCZxY29tX3BkbV9oYW5kbGUsIFNFUlZS RUdfTE9DQVRPUl9TRVJWSUNFLAorKwkJICAgICAgIFNFUlZSRUdfUU1JX1ZFUlNJT04sIFNFUlZS RUdfUU1JX0lOU1RBTkNFKTsKKysKKysJcW1pX2hhbmRsZV9yZWxlYXNlKCZxY29tX3BkbV9oYW5k bGUpOworKworKwlxY29tX3BkbV9mcmVlX2RvbWFpbnMoKTsKKyt9CisrCisrLyoqCisrICogcWNv bV9wZG1fZ2V0KCkgLSBlbnN1cmUgdGhhdCBQRCBtYXBwZXIgaXMgdXAgYW5kIHJ1bm5pbmcKKysg KgorKyAqIFN0YXJ0IHRoZSBpbi1rZXJuZWwgUXVhbGNvbW0gRFNQIHByb3RlY3Rpb24gZG9tYWlu IG1hcHBlciBzZXJ2aWNlIGlmIGl0IHdhcworKyAqIG5vdCBydW5uaW5nLgorKyAqCisrICogUmV0 dXJuOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKysgKi8K KytpbnQgcWNvbV9wZG1fZ2V0KHZvaWQpCisreworKwlpbnQgcmV0ID0gMDsKKysKKysJbXV0ZXhf bG9jaygmcWNvbV9wZG1fY291bnRfbXV0ZXgpOworKworKwlpZiAoIXFjb21fcGRtX2NvdW50KQor KwkJcmV0ID0gcWNvbV9wZG1fc3RhcnQoKTsKKysJaWYgKCFyZXQpCisrCQkrK3Fjb21fcGRtX2Nv dW50OworKworKwltdXRleF91bmxvY2soJnFjb21fcGRtX2NvdW50X211dGV4KTsKKysKKysJLyoK KysJICogSWYgaXQgaXMgLUVOT0RFViwgdGhlIHBsYWZvcm0gaXMgbm90IHN1cHBvcnRlZCBieSB0 aGUgaW4ta2VybmVsCisrCSAqIG1hcHBlci4gU3RpbGwgcmV0dXJuIDAgdG8gcnByb2MgZHJpdmVy LCB1c2Vyc3BhY2UgZGFlbW9uIHdpbGwgYmUKKysJICogdXNlZCBpbnN0ZWFkIG9mIHRoZSBrZXJu ZWwgc2VydmVyLgorKwkgKi8KKysJaWYgKHJldCA9PSAtRU5PREVWKQorKwkJcmV0dXJuIDA7Cisr CisrCXJldHVybiByZXQ7CisrfQorK0VYUE9SVF9TWU1CT0xfR1BMKHFjb21fcGRtX2dldCk7Cisr CisrLyoqCisrICogcWNvbV9wZG1fcmVsZWFzZSgpIC0gcG9zc2libHkgc3RvcCBQRCBtYXBwZXIg c2VydmljZQorKyAqCisrICogRGVjcmVhc2VzIHJlZmNvdW50LCBzdG9wcGluZyB0aGUgc2VydmVy IHdoZW4gdGhlIGxhc3QgdXNlciB3YXMgcmVtb3ZlZC4KKysgKi8KKyt2b2lkIHFjb21fcGRtX3Jl bGVhc2Uodm9pZCkKKyt7CisrCW11dGV4X2xvY2soJnFjb21fcGRtX2NvdW50X211dGV4KTsKKysK KysJaWYgKHFjb21fcGRtX2NvdW50ID09IDEpCisrCQlxY29tX3BkbV9zdG9wKCk7CisrCisrCWlm IChxY29tX3BkbV9jb3VudCA+PSAxKQorKwkJLS1xY29tX3BkbV9jb3VudDsKKysKKysJbXV0ZXhf dW5sb2NrKCZxY29tX3BkbV9jb3VudF9tdXRleCk7CisrfQorK0VYUE9SVF9TWU1CT0xfR1BMKHFj b21fcGRtX3JlbGVhc2UpOworKworK01PRFVMRV9ERVNDUklQVElPTigiUXVhbGNvbW0gUHJvdGVj dGlvbiBEb21haW4gTWFwcGVyIik7CisrTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworZGlmZiAtLWdp dCBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMgYi9kcml2ZXJzL3NvYy9xY29tL3Fj b21fcGRyX21zZy5jCitpbmRleCA5YjQ2ZjQyYWExNDYuLmJmM2U0YTQ3MTY1ZSAxMDA2NDQKKy0t LSBhL2RyaXZlcnMvc29jL3Fjb20vcWNvbV9wZHJfbXNnLmMKKysrKyBiL2RyaXZlcnMvc29jL3Fj b20vcWNvbV9wZHJfbXNnLmMKK0BAIC0zMTUsNSArMzE1LDM5IEBAIGNvbnN0IHN0cnVjdCBxbWlf ZWxlbV9pbmZvIHNlcnZyZWdfc2V0X2Fja19yZXNwX2VpW10gPSB7CisgfTsKKyBFWFBPUlRfU1lN Qk9MX0dQTChzZXJ2cmVnX3NldF9hY2tfcmVzcF9laSk7CisgCisrY29uc3Qgc3RydWN0IHFtaV9l bGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3JlcV9laVtdID0geworKwl7CisrCQkuZGF0YV90eXBl ID0gUU1JX1NUUklORywKKysJCS5lbGVtX2xlbiA9IFNFUlZSRUdfTkFNRV9MRU5HVEggKyAxLAor KwkJLmVsZW1fc2l6ZSA9IHNpemVvZihjaGFyKSwKKysJCS5hcnJheV90eXBlID0gVkFSX0xFTl9B UlJBWSwKKysJCS50bHZfdHlwZSA9IDB4MDEsCisrCQkub2Zmc2V0ID0gb2Zmc2V0b2Yoc3RydWN0 IHNlcnZyZWdfbG9jX3Bmcl9yZXEsIHNlcnZpY2UpCisrCX0sCisrCXsKKysJCS5kYXRhX3R5cGUg PSBRTUlfU1RSSU5HLAorKwkJLmVsZW1fbGVuID0gU0VSVlJFR19OQU1FX0xFTkdUSCArIDEsCisr CQkuZWxlbV9zaXplID0gc2l6ZW9mKGNoYXIpLAorKwkJLmFycmF5X3R5cGUgPSBWQVJfTEVOX0FS UkFZLAorKwkJLnRsdl90eXBlID0gMHgwMiwKKysJCS5vZmZzZXQgPSBvZmZzZXRvZihzdHJ1Y3Qg c2VydnJlZ19sb2NfcGZyX3JlcSwgcmVhc29uKQorKwl9LAorKwl7fQorK307CisrRVhQT1JUX1NZ TUJPTF9HUEwoc2VydnJlZ19sb2NfcGZyX3JlcV9laSk7CisrCisrY29uc3Qgc3RydWN0IHFtaV9l bGVtX2luZm8gc2VydnJlZ19sb2NfcGZyX3Jlc3BfZWlbXSA9IHsKKysJeworKwkJLmRhdGFfdHlw ZSA9IFFNSV9TVFJVQ1QsCisrCQkuZWxlbV9sZW4gPSAxLAorKwkJLmVsZW1fc2l6ZSA9IHNpemVv Zl9maWVsZChzdHJ1Y3Qgc2VydnJlZ19sb2NfcGZyX3Jlc3AsIHJzcCksCisrCQkudGx2X3R5cGUg PSAweDAyLAorKwkJLm9mZnNldCA9IG9mZnNldG9mKHN0cnVjdCBzZXJ2cmVnX2xvY19wZnJfcmVz cCwgcnNwKSwKKysJCS5laV9hcnJheSA9IHFtaV9yZXNwb25zZV90eXBlX3YwMV9laSwKKysJfSwK KysJe30KKyt9OworK0VYUE9SVF9TWU1CT0xfR1BMKHNlcnZyZWdfbG9jX3Bmcl9yZXNwX2VpKTsK KysKKyBNT0RVTEVfTElDRU5TRSgiR1BMIik7CisgTU9EVUxFX0RFU0NSSVBUSU9OKCJRdWFsY29t bSBQcm90ZWN0aW9uIERvbWFpbiBtZXNzYWdlcyBkYXRhIik7CitkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9saW51eC9zb2MvcWNvbS9wZF9tYXBwZXIuaCBiL2luY2x1ZGUvbGludXgvc29jL3Fjb20vcGRf bWFwcGVyLmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMDAuLmQwZGQz ZGZjOGZlYQorLS0tIC9kZXYvbnVsbAorKysrIGIvaW5jbHVkZS9saW51eC9zb2MvcWNvbS9wZF9t YXBwZXIuaAorQEAgLTAsMCArMSwyOCBAQAorKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wICovCisrLyoKKysgKiBRdWFsY29tbSBQcm90ZWN0aW9uIERvbWFpbiBtYXBwZXIKKysg KgorKyAqIENvcHlyaWdodCAoYykgMjAyMyBMaW5hcm8gTHRkLgorKyAqLworKyNpZm5kZWYgX19R Q09NX1BEX01BUFBFUl9fCisrI2RlZmluZSBfX1FDT01fUERfTUFQUEVSX18KKysKKysjaWYgSVNf RU5BQkxFRChDT05GSUdfUUNPTV9QRF9NQVBQRVIpCisrCisraW50IHFjb21fcGRtX2dldCh2b2lk KTsKKyt2b2lkIHFjb21fcGRtX3JlbGVhc2Uodm9pZCk7CisrCisrI2Vsc2UKKysKKytzdGF0aWMg aW5saW5lIGludCBxY29tX3BkbV9nZXQodm9pZCkKKyt7CisrCXJldHVybiAwOworK30KKysKKytz dGF0aWMgaW5saW5lIHZvaWQgcWNvbV9wZG1fcmVsZWFzZSh2b2lkKQorK3sKKyt9CisrCisrI2Vu ZGlmCisrCisrI2VuZGlmCisKK0Zyb206IERtaXRyeSBCYXJ5c2hrb3YgPGRtaXRyeS5iYXJ5c2hr b3ZAbGluYXJvLm9yZz4KK0RhdGU6IFdlZCwgMjQgQXByIDIwMjQgMTI6Mjg6MDIgKzAzMDAKK1N1 YmplY3Q6IFtQQVRDSCB2NyA2LzZdIHJlbW90ZXByb2M6IHFjb206IGVuYWJsZSBpbi1rZXJuZWwg UEQgbWFwcGVyCisKK1JlcXVlc3QgaW4ta2VybmVsIHByb3RlY3Rpb24gZG9tYWluIG1hcHBlciB0 byBiZSBzdGFydGVkIGJlZm9yZSBzdGFydGluZworUXVhbGNvbW0gRFNQIGFuZCByZWxlYXNlIGl0 IG9uY2UgRFNQIGlzIHN0b3BwZWQuIE9uY2UgYWxsIERTUHMgYXJlCitzdG9wcGVkLCB0aGUgUEQg bWFwcGVyIHdpbGwgYmUgc3RvcHBlZCB0b28uCisKK1NpZ25lZC1vZmYtYnk6IERtaXRyeSBCYXJ5 c2hrb3YgPGRtaXRyeS5iYXJ5c2hrb3ZAbGluYXJvLm9yZz4KKy0tLQorIGRyaXZlcnMvcmVtb3Rl cHJvYy9LY29uZmlnICAgICAgICAgIHwgIDQgKysrKworIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29t X3E2djVfYWRzcC5jIHwgMTEgKysrKysrKysrKy0KKyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9x NnY1X21zcy5jICB8IDEwICsrKysrKysrKy0KKyBkcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1 X3Bhcy5jICB8IDEyICsrKysrKysrKysrLQorIGRyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVf d2Nzcy5jIHwgMTIgKysrKysrKysrKystCisgNSBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25z KCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL0tj b25maWcgYi9kcml2ZXJzL3JlbW90ZXByb2MvS2NvbmZpZworaW5kZXggNDg4NDVkYzhmYTg1Li5h MGNlNTUyZjg5YTEgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvS2NvbmZpZworKysr IGIvZHJpdmVycy9yZW1vdGVwcm9jL0tjb25maWcKK0BAIC0xODEsNiArMTgxLDcgQEAgY29uZmln IFFDT01fUTZWNV9BRFNQCisgCWRlcGVuZHMgb24gUUNPTV9TWVNNT04gfHwgUUNPTV9TWVNNT049 bgorIAlkZXBlbmRzIG9uIFJQTVNHX1FDT01fR0xJTksgfHwgUlBNU0dfUUNPTV9HTElOSz1uCisg CWRlcGVuZHMgb24gUUNPTV9BT1NTX1FNUCB8fCBRQ09NX0FPU1NfUU1QPW4KKysJZGVwZW5kcyBv biBRQ09NX1BEX01BUFBFUiB8fCBRQ09NX1BEX01BUFBFUj1uCisgCXNlbGVjdCBNRkRfU1lTQ09O CisgCXNlbGVjdCBRQ09NX1BJTF9JTkZPCisgCXNlbGVjdCBRQ09NX01EVF9MT0FERVIKK0BAIC0y MDEsNiArMjAyLDcgQEAgY29uZmlnIFFDT01fUTZWNV9NU1MKKyAJZGVwZW5kcyBvbiBRQ09NX1NZ U01PTiB8fCBRQ09NX1NZU01PTj1uCisgCWRlcGVuZHMgb24gUlBNU0dfUUNPTV9HTElOSyB8fCBS UE1TR19RQ09NX0dMSU5LPW4KKyAJZGVwZW5kcyBvbiBRQ09NX0FPU1NfUU1QIHx8IFFDT01fQU9T U19RTVA9bgorKwlkZXBlbmRzIG9uIFFDT01fUERfTUFQUEVSIHx8IFFDT01fUERfTUFQUEVSPW4K KyAJc2VsZWN0IE1GRF9TWVNDT04KKyAJc2VsZWN0IFFDT01fTURUX0xPQURFUgorIAlzZWxlY3Qg UUNPTV9QSUxfSU5GTworQEAgLTIyMSw2ICsyMjMsNyBAQCBjb25maWcgUUNPTV9RNlY1X1BBUwor IAlkZXBlbmRzIG9uIFFDT01fU1lTTU9OIHx8IFFDT01fU1lTTU9OPW4KKyAJZGVwZW5kcyBvbiBS UE1TR19RQ09NX0dMSU5LIHx8IFJQTVNHX1FDT01fR0xJTks9bgorIAlkZXBlbmRzIG9uIFFDT01f QU9TU19RTVAgfHwgUUNPTV9BT1NTX1FNUD1uCisrCWRlcGVuZHMgb24gUUNPTV9QRF9NQVBQRVIg fHwgUUNPTV9QRF9NQVBQRVI9bgorIAlzZWxlY3QgTUZEX1NZU0NPTgorIAlzZWxlY3QgUUNPTV9Q SUxfSU5GTworIAlzZWxlY3QgUUNPTV9NRFRfTE9BREVSCitAQCAtMjQzLDYgKzI0Niw3IEBAIGNv bmZpZyBRQ09NX1E2VjVfV0NTUworIAlkZXBlbmRzIG9uIFFDT01fU1lTTU9OIHx8IFFDT01fU1lT TU9OPW4KKyAJZGVwZW5kcyBvbiBSUE1TR19RQ09NX0dMSU5LIHx8IFJQTVNHX1FDT01fR0xJTks9 bgorIAlkZXBlbmRzIG9uIFFDT01fQU9TU19RTVAgfHwgUUNPTV9BT1NTX1FNUD1uCisrCWRlcGVu ZHMgb24gUUNPTV9QRF9NQVBQRVIgfHwgUUNPTV9QRF9NQVBQRVI9bgorIAlzZWxlY3QgTUZEX1NZ U0NPTgorIAlzZWxlY3QgUUNPTV9NRFRfTE9BREVSCisgCXNlbGVjdCBRQ09NX1BJTF9JTkZPCitk aWZmIC0tZ2l0IGEvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMgYi9kcml2ZXJz L3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYworaW5kZXggMWQyNGM5YjY1NmE4Li4wMmQwYzYy NmIwM2IgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X2Fkc3AuYwor KysrIGIvZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9hZHNwLmMKK0BAIC0yMyw2ICsyMyw3 IEBACisgI2luY2x1ZGUgPGxpbnV4L3JlbW90ZXByb2MuaD4KKyAjaW5jbHVkZSA8bGludXgvcmVz ZXQuaD4KKyAjaW5jbHVkZSA8bGludXgvc29jL3Fjb20vbWR0X2xvYWRlci5oPgorKyNpbmNsdWRl IDxsaW51eC9zb2MvcWNvbS9wZF9tYXBwZXIuaD4KKyAjaW5jbHVkZSA8bGludXgvc29jL3Fjb20v c21lbS5oPgorICNpbmNsdWRlIDxsaW51eC9zb2MvcWNvbS9zbWVtX3N0YXRlLmg+CisgCitAQCAt Mzc1LDEwICszNzYsMTQgQEAgc3RhdGljIGludCBhZHNwX3N0YXJ0KHN0cnVjdCBycHJvYyAqcnBy b2MpCisgCWludCByZXQ7CisgCXVuc2lnbmVkIGludCB2YWw7CisgCistCXJldCA9IHFjb21fcTZ2 NV9wcmVwYXJlKCZhZHNwLT5xNnY1KTsKKysJcmV0ID0gcWNvbV9wZG1fZ2V0KCk7CisgCWlmIChy ZXQpCisgCQlyZXR1cm4gcmV0OworIAorKwlyZXQgPSBxY29tX3E2djVfcHJlcGFyZSgmYWRzcC0+ cTZ2NSk7CisrCWlmIChyZXQpCisrCQlnb3RvIHB1dF9wZG07CisrCisgCXJldCA9IGFkc3BfbWFw X2NhcnZlb3V0KHJwcm9jKTsKKyAJaWYgKHJldCkgeworIAkJZGV2X2VycihhZHNwLT5kZXYsICJB RFNQIHNtbXUgbWFwcGluZyBmYWlsZWRcbiIpOworQEAgLTQ0Niw2ICs0NTEsOCBAQCBzdGF0aWMg aW50IGFkc3Bfc3RhcnQoc3RydWN0IHJwcm9jICpycHJvYykKKyAJYWRzcF91bm1hcF9jYXJ2ZW91 dChycHJvYyk7CisgZGlzYWJsZV9pcnFzOgorIAlxY29tX3E2djVfdW5wcmVwYXJlKCZhZHNwLT5x NnY1KTsKKytwdXRfcGRtOgorKwlxY29tX3BkbV9yZWxlYXNlKCk7CisgCisgCXJldHVybiByZXQ7 CisgfQorQEAgLTQ3OCw2ICs0ODUsOCBAQCBzdGF0aWMgaW50IGFkc3Bfc3RvcChzdHJ1Y3QgcnBy b2MgKnJwcm9jKQorIAlpZiAoaGFuZG92ZXIpCisgCQlxY29tX2Fkc3BfcGlsX2hhbmRvdmVyKCZh ZHNwLT5xNnY1KTsKKyAKKysJcWNvbV9wZG1fcmVsZWFzZSgpOworKworIAlyZXR1cm4gcmV0Owor IH0KKyAKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X21zcy5jIGIv ZHJpdmVycy9yZW1vdGVwcm9jL3Fjb21fcTZ2NV9tc3MuYworaW5kZXggMTc3OWZjODkwZTEwLi43 OTFmMTFlN2FkYmYgMTAwNjQ0CistLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X21z cy5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X21zcy5jCitAQCAtMjYsNiAr MjYsNyBAQAorICNpbmNsdWRlIDxsaW51eC9yZW1vdGVwcm9jLmg+CisgI2luY2x1ZGUgPGxpbnV4 L3Jlc2V0Lmg+CisgI2luY2x1ZGUgPGxpbnV4L3NvYy9xY29tL21kdF9sb2FkZXIuaD4KKysjaW5j bHVkZSA8bGludXgvc29jL3Fjb20vcGRfbWFwcGVyLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lvcG9s bC5oPgorICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+CisgCitAQCAtMTU4MSwxMCArMTU4MiwxNCBA QCBzdGF0aWMgaW50IHE2djVfc3RhcnQoc3RydWN0IHJwcm9jICpycHJvYykKKyAJaW50IHhmZXJt ZW1vcF9yZXQ7CisgCWludCByZXQ7CisgCistCXJldCA9IHE2djVfbWJhX2xvYWQocXByb2MpOwor KwlyZXQgPSBxY29tX3BkbV9nZXQoKTsKKyAJaWYgKHJldCkKKyAJCXJldHVybiByZXQ7CisgCisr CXJldCA9IHE2djVfbWJhX2xvYWQocXByb2MpOworKwlpZiAocmV0KQorKwkJZ290byBwdXRfcGRt OworKworIAlkZXZfaW5mbyhxcHJvYy0+ZGV2LCAiTUJBIGJvb3RlZCB3aXRoJXMgZGVidWcgcG9s aWN5LCBsb2FkaW5nIG1wc3NcbiIsCisgCQkgcXByb2MtPmRwX3NpemUgPyAiIiA6ICJvdXQiKTsK KyAKK0BAIC0xNjEzLDYgKzE2MTgsOCBAQCBzdGF0aWMgaW50IHE2djVfc3RhcnQoc3RydWN0IHJw cm9jICpycHJvYykKKyByZWNsYWltX21wc3M6CisgCXE2djVfbWJhX3JlY2xhaW0ocXByb2MpOwor IAlxNnY1X2R1bXBfbWJhX2xvZ3MocXByb2MpOworK3B1dF9wZG06CisrCXFjb21fcGRtX3JlbGVh c2UoKTsKKyAKKyAJcmV0dXJuIHJldDsKKyB9CitAQCAtMTYyNyw2ICsxNjM0LDcgQEAgc3RhdGlj IGludCBxNnY1X3N0b3Aoc3RydWN0IHJwcm9jICpycHJvYykKKyAJCWRldl9lcnIocXByb2MtPmRl diwgInRpbWVkIG91dCBvbiB3YWl0XG4iKTsKKyAKKyAJcTZ2NV9tYmFfcmVjbGFpbShxcHJvYyk7 CisrCXFjb21fcGRtX3JlbGVhc2UoKTsKKyAKKyAJcmV0dXJuIDA7CisgfQorZGlmZiAtLWdpdCBh L2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfcGFzLmMgYi9kcml2ZXJzL3JlbW90ZXByb2Mv cWNvbV9xNnY1X3Bhcy5jCitpbmRleCA1NGQ4MDA1ZDQwYTMuLjY1M2U1NGY5NzVmYyAxMDA2NDQK Ky0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfcGFzLmMKKysrKyBiL2RyaXZlcnMv cmVtb3RlcHJvYy9xY29tX3E2djVfcGFzLmMKK0BAIC0yMyw2ICsyMyw3IEBACisgI2luY2x1ZGUg PGxpbnV4L3JlZ3VsYXRvci9jb25zdW1lci5oPgorICNpbmNsdWRlIDxsaW51eC9yZW1vdGVwcm9j Lmg+CisgI2luY2x1ZGUgPGxpbnV4L3NvYy9xY29tL21kdF9sb2FkZXIuaD4KKysjaW5jbHVkZSA8 bGludXgvc29jL3Fjb20vcGRfbWFwcGVyLmg+CisgI2luY2x1ZGUgPGxpbnV4L3NvYy9xY29tL3Nt ZW0uaD4KKyAjaW5jbHVkZSA8bGludXgvc29jL3Fjb20vc21lbV9zdGF0ZS5oPgorIAorQEAgLTI2 MSwxMCArMjYyLDE0IEBAIHN0YXRpYyBpbnQgYWRzcF9zdGFydChzdHJ1Y3QgcnByb2MgKnJwcm9j KQorIAlzdHJ1Y3QgcWNvbV9hZHNwICphZHNwID0gcnByb2MtPnByaXY7CisgCWludCByZXQ7Cisg CistCXJldCA9IHFjb21fcTZ2NV9wcmVwYXJlKCZhZHNwLT5xNnY1KTsKKysJcmV0ID0gcWNvbV9w ZG1fZ2V0KCk7CisgCWlmIChyZXQpCisgCQlyZXR1cm4gcmV0OworIAorKwlyZXQgPSBxY29tX3E2 djVfcHJlcGFyZSgmYWRzcC0+cTZ2NSk7CisrCWlmIChyZXQpCisrCQlnb3RvIHB1dF9wZG07Cisr CisgCXJldCA9IGFkc3BfcGRzX2VuYWJsZShhZHNwLCBhZHNwLT5wcm94eV9wZHMsIGFkc3AtPnBy b3h5X3BkX2NvdW50KTsKKyAJaWYgKHJldCA8IDApCisgCQlnb3RvIGRpc2FibGVfaXJxczsKK0BA IC0zNTYsNiArMzYxLDkgQEAgc3RhdGljIGludCBhZHNwX3N0YXJ0KHN0cnVjdCBycHJvYyAqcnBy b2MpCisgCS8qIFJlbW92ZSBwb2ludGVyIHRvIHRoZSBsb2FkZWQgZmlybXdhcmUsIG9ubHkgdmFs aWQgaW4gYWRzcF9sb2FkKCkgJiBhZHNwX3N0YXJ0KCkgKi8KKyAJYWRzcC0+ZmlybXdhcmUgPSBO VUxMOworIAorK3B1dF9wZG06CisrCXFjb21fcGRtX3JlbGVhc2UoKTsKKysKKyAJcmV0dXJuIHJl dDsKKyB9CisgCitAQCAtMzk5LDYgKzQwNyw4IEBAIHN0YXRpYyBpbnQgYWRzcF9zdG9wKHN0cnVj dCBycHJvYyAqcnByb2MpCisgCWlmIChoYW5kb3ZlcikKKyAJCXFjb21fcGFzX2hhbmRvdmVyKCZh ZHNwLT5xNnY1KTsKKyAKKysJcWNvbV9wZG1fcmVsZWFzZSgpOworKworIAlyZXR1cm4gcmV0Owor IH0KKyAKK2RpZmYgLS1naXQgYS9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3djc3MuYyBi L2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVfd2Nzcy5jCitpbmRleCA5NGY2OGM5MTllZTYu LjZlZDYwZjNmM2VlZSAxMDA2NDQKKy0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9xY29tX3E2djVf d2Nzcy5jCisrKysgYi9kcml2ZXJzL3JlbW90ZXByb2MvcWNvbV9xNnY1X3djc3MuYworQEAgLTE4 LDYgKzE4LDcgQEAKKyAjaW5jbHVkZSA8bGludXgvcmVndWxhdG9yL2NvbnN1bWVyLmg+CisgI2lu Y2x1ZGUgPGxpbnV4L3Jlc2V0Lmg+CisgI2luY2x1ZGUgPGxpbnV4L3NvYy9xY29tL21kdF9sb2Fk ZXIuaD4KKysjaW5jbHVkZSA8bGludXgvc29jL3Fjb20vcGRfbWFwcGVyLmg+CisgI2luY2x1ZGUg InFjb21fY29tbW9uLmgiCisgI2luY2x1ZGUgInFjb21fcGlsX2luZm8uaCIKKyAjaW5jbHVkZSAi cWNvbV9xNnY1LmgiCitAQCAtMjQwLDEzICsyNDEsMTcgQEAgc3RhdGljIGludCBxNnY1X3djc3Nf c3RhcnQoc3RydWN0IHJwcm9jICpycHJvYykKKyAJc3RydWN0IHE2djVfd2NzcyAqd2NzcyA9IHJw cm9jLT5wcml2OworIAlpbnQgcmV0OworIAorKwlyZXQgPSBxY29tX3BkbV9nZXQoKTsKKysJaWYg KHJldCkKKysJCXJldHVybiByZXQ7CisrCisgCXFjb21fcTZ2NV9wcmVwYXJlKCZ3Y3NzLT5xNnY1 KTsKKyAKKyAJLyogUmVsZWFzZSBRNiBhbmQgV0NTUyByZXNldCAqLworIAlyZXQgPSByZXNldF9j b250cm9sX2RlYXNzZXJ0KHdjc3MtPndjc3NfcmVzZXQpOworIAlpZiAocmV0KSB7CisgCQlkZXZf ZXJyKHdjc3MtPmRldiwgIndjc3NfcmVzZXQgZmFpbGVkXG4iKTsKKy0JCXJldHVybiByZXQ7Cisr CQlnb3RvIHB1dF9wZG07CisgCX0KKyAKKyAJcmV0ID0gcmVzZXRfY29udHJvbF9kZWFzc2VydCh3 Y3NzLT53Y3NzX3E2X3Jlc2V0KTsKK0BAIC0yODgsNiArMjkzLDkgQEAgc3RhdGljIGludCBxNnY1 X3djc3Nfc3RhcnQoc3RydWN0IHJwcm9jICpycHJvYykKKyB3Y3NzX3Jlc2V0OgorIAlyZXNldF9j b250cm9sX2Fzc2VydCh3Y3NzLT53Y3NzX3Jlc2V0KTsKKyAKKytwdXRfcGRtOgorKwlxY29tX3Bk bV9yZWxlYXNlKCk7CisrCisgCXJldHVybiByZXQ7CisgfQorIAorQEAgLTczNSw2ICs3NDMsOCBA QCBzdGF0aWMgaW50IHE2djVfd2Nzc19zdG9wKHN0cnVjdCBycHJvYyAqcnByb2MpCisgCisgCXFj b21fcTZ2NV91bnByZXBhcmUoJndjc3MtPnE2djUpOworIAorKwlxY29tX3BkbV9yZWxlYXNlKCk7 CisrCisgCXJldHVybiAwOworIH0KKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGludXg2LjgvdGVt cGxhdGUgYi9zcmNwa2dzL2xpbnV4Ni44L3RlbXBsYXRlCmluZGV4IDZjMTMyOGRhMjk1ZDdjLi43 ZWU1ZDE3YjYwODA5NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9saW51eDYuOC90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL2xpbnV4Ni44L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAnbGludXg2LjgnCiBwa2duYW1lPWxpbnV4Ni44CiB2ZXJzaW9uPTYuOC45Ci1yZXZp c2lvbj0xCityZXZpc2lvbj0yCiBzaG9ydF9kZXNjPSJMaW51eCBrZXJuZWwgYW5kIG1vZHVsZXMg KCR7dmVyc2lvbiUuKn0gc2VyaWVzKSIKIG1haW50YWluZXI9IkR1bmNhZW4gPGR1bmNhZW5Adm9p ZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJHUEwtMi4wLW9ubHkiCgpGcm9tIDg3YjE1MjFmODg0YzZk MzM4OTQ2NmU1MTM4YjExMDk0MTAwNzJmNjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IGNsYXNzYWJieWFtcCA8dm9pZEBwbGFjZXZpb2xldHRlLm5ldD4KRGF0ZTogU3VuLCA1IE1heSAy MDI0IDEwOjA2OjU4IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIGdydWI6IHN1cHBvcnQgbG9h ZGluZyBkZXZpY2V0cmVlcwoKLS0tCiBzcmNwa2dzL2dydWIvcGF0Y2hlcy9kZXZpY2V0cmVlLWxv YWRpbmcucGF0Y2ggfCA1MCArKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL2dydWIvdGVtcGxh dGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCA1MSBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9n cnViL3BhdGNoZXMvZGV2aWNldHJlZS1sb2FkaW5nLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9ncnViL3BhdGNoZXMvZGV2aWNldHJlZS1sb2FkaW5nLnBhdGNoIGIvc3JjcGtncy9ncnViL3Bh dGNoZXMvZGV2aWNldHJlZS1sb2FkaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMDAwLi5iMjI4NGJmMGYzNTkzNwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvZ3J1Yi9wYXRjaGVzL2RldmljZXRyZWUtbG9hZGluZy5wYXRjaApAQCAtMCwwICsxLDUwIEBA CitzdXBwb3J0IGxvYWRpbmcgYSBkZXZpY2V0cmVlIGJhc2VkIG9uIEdSVUJfREVGQVVMVF9EVEIg aW4gL2V0Yy9kZWZhdWx0L2dydWIKKworbG9va3MgaW4gL2Jvb3QvZHRicy9kdGJzLSR7dmVyc2lv bn0vJHtHUlVCX0RFRkFVTFRfRFRCfQorCitiYXNlZCBvbiBodHRwczovL3NyYy5mZWRvcmFwcm9q ZWN0Lm9yZy9ycG1zL2dydWIyL2Jsb2IvcmF3aGlkZS9mLzAwMjItQWRkLWRldmljZXRyZWUtbG9h ZGluZy5wYXRjaAorCistLS0gYS91dGlsL2dydWItbWtjb25maWcuaW4KKysrKyBiL3V0aWwvZ3J1 Yi1ta2NvbmZpZy5pbgorQEAgLTI1NSw3ICsyNTUsOCBAQAorICAgR1JVQl9FTkFCTEVfQ1JZUFRP RElTSyBcCisgICBHUlVCX0JBRFJBTSBcCisgICBHUlVCX09TX1BST0JFUl9TS0lQX0xJU1QgXAor LSAgR1JVQl9ESVNBQkxFX1NVQk1FTlUKKysgIEdSVUJfRElTQUJMRV9TVUJNRU5VIFwKKysgIEdS VUJfREVGQVVMVF9EVEIKKyAKKyBpZiB0ZXN0ICJ4JHtncnViX2NmZ30iICE9ICJ4IjsgdGhlbgor ICAgcm0gLWYgIiR7Z3J1Yl9jZmd9Lm5ldyIKKy0tLSBhL3V0aWwvZ3J1Yi5kLzEwX2xpbnV4Lmlu CisrKysgYi91dGlsL2dydWIuZC8xMF9saW51eC5pbgorQEAgLTEyOSw2ICsxMjksMTQgQEAKKyAK KyAgIGVjaG8gIglpbnNtb2QgZ3ppbyIgfCBzZWQgInMvXi8kc3VibWVudV9pbmRlbnRhdGlvbi8i CisgCisrICBpZiB0ZXN0IC1uICIke2R0Yn0iIDsgdGhlbgorKyAgICBtZXNzYWdlPSIkKGdldHRl eHRfcHJpbnRmICJMb2FkaW5nIGRldmljZXRyZWUgLi4uIikiCisrICAgIHNlZCAicy9eLyRzdWJt ZW51X2luZGVudGF0aW9uLyIgPDwgRU9GCisrCWVjaG8JJyQoZWNobyAiJG1lc3NhZ2UiIHwgZ3J1 Yl9xdW90ZSknCisrCWRldmljZXRyZWUJJHtyZWxfZGlybmFtZX0vJHtkdGJ9CisrRU9GCisrICBm aQorKworICAgaWYgWyB4JGRpcm5hbWUgPSB4LyBdOyB0aGVuCisgICAgIGlmIFsgLXogIiR7cHJl cGFyZV9yb290X2NhY2hlfSIgXTsgdGhlbgorICAgICAgIHByZXBhcmVfcm9vdF9jYWNoZT0iJChw cmVwYXJlX2dydWJfdG9fYWNjZXNzX2RldmljZSAke0dSVUJfREVWSUNFfSB8IGdydWJfYWRkX3Rh YikiCitAQCAtMjUwLDYgKzI1OCwxNCBAQAorICAgICBnZXR0ZXh0X3ByaW50ZiAiRm91bmQgaW5p dHJkIGltYWdlOiAlc1xuIiAiJChlY2hvICRpbml0cmRfZGlzcGxheSkiID4mMgorICAgZmkKKyAK KysgIGR0Yj0KKysgIGZvciBpIGluICJkdGJzLSR7dmVyc2lvbn0iICJkdGJzLSR7YWx0X3ZlcnNp b259IjsgZG8KKysgICAgaWYgdGVzdCAtZiAiJHtkaXJuYW1lfS9kdGJzLyR7aX0vJHtHUlVCX0RF RkFVTFRfRFRCfSIgOyB0aGVuCisrICAgICAgZHRiPSJkdGJzLyR7aX0vJHtHUlVCX0RFRkFVTFRf RFRCfSIKKysgICAgICBicmVhaworKyAgICBmaQorKyAgZG9uZQorKworICAgY29uZmlnPQorICAg Zm9yIGkgaW4gIiR7ZGlybmFtZX0vY29uZmlnLSR7dmVyc2lvbn0iICIke2Rpcm5hbWV9L2NvbmZp Zy0ke2FsdF92ZXJzaW9ufSIgIi9ldGMva2VybmVscy9rZXJuZWwtY29uZmlnLSR7dmVyc2lvbn0i IDsgZG8KKyAgICAgaWYgdGVzdCAtZSAiJHtpfSIgOyB0aGVuCmRpZmYgLS1naXQgYS9zcmNwa2dz L2dydWIvdGVtcGxhdGUgYi9zcmNwa2dzL2dydWIvdGVtcGxhdGUKaW5kZXggNmYyZGNiMDM2ODRm ZGMuLjViZjhjMWQ3OTA5ZjgwIDEwMDY0NAotLS0gYS9zcmNwa2dzL2dydWIvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9ncnViL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnZ3J1YicKIHBrZ25hbWU9Z3J1YgogdmVyc2lvbj0yLjEyCi1yZXZpc2lvbj0xCityZXZp c2lvbj0yCiBob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMgcGtnLWNvbmZpZyBmbGV4IGZyZWV0eXBl LWRldmVsIGZvbnQtdW5pZm9udC1iZGYgaGVscDJtYW4KICBhdXRvbWFrZSBnZXR0ZXh0LWRldmVs LXRvb2xzIgogbWFrZWRlcGVuZHM9ImxpYnVzYi1jb21wYXQtZGV2ZWwgbmN1cnNlcy1kZXZlbCBm cmVldHlwZS1kZXZlbCBsaWJsem1hLWRldmVsCg== --===============1182759538867468408==--