From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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.2 Received: (qmail 1597 invoked from network); 19 Apr 2020 13:34:20 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with UTF8ESMTPZ; 19 Apr 2020 13:34:20 -0000 Content-Type: multipart/mixed; boundary="===============1560779951836422890==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_New_packages=3A_ROCm_core_and_OpenCL?= To: ml@inbox.vuxu.org From: ahesford Reply-to: ml@inbox.vuxu.org Message-ID: Date: Sun, 19 Apr 2020 15:34:20 +0200 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============1560779951836422890== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IGFoZXNmb3JkIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9haGVzZm9y ZC92b2lkLXBhY2thZ2VzIHJvY20KaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1w YWNrYWdlcy9wdWxsLzIxMTUzCgpOZXcgcGFja2FnZXM6IFJPQ20gY29yZSBhbmQgT3BlbkNMClRo aXMgUFIgaW5jbHVkZXMgc2V2ZXJhbCBwYWNrYWdlcyBkZXNpZ25lZCB0byBicmluZyB0aGUgT3Bl bkNMIHBvcnRpb24gb2YgdGhlDQpBTUQgUk9DbSBlY29zeXN0ZW0gdG8gVm9pZC4gSXQgYWRkcmVz c2VzIElzc3VlICMxOTUwNy4gVGhlcmUgYXJlIG1hbnkgb3RoZXINCnBhY2thZ2VzIHRoYXQgQU1E IHByb3ZpZGVzIGZvciBHUEdQVSBjb21wdXRpbmcsIGJ1dCB0aGVzZSBjYW4gYmUgYWRkZWQNCnBp ZWNlbWVhbCBhcyB1c2VycyBkZW1hbmQuDQoNClRoZSBwYWNrYWdlcyBhcmUgY3VycmVudGx5IG9u bHkgZm9yIGB4ODZfNjQqYC4gV2hpbGUgYXQgbGVhc3Qgc29tZSBvZiB0aGUNCnBhY2thZ2VzIHdp bGwgY29tcGlsZSBvbiBvdGhlciA2NC1iaXQgYXJjaGl0ZWN0dXJlcywgSSBoYXZlIG5vIGhhcmR3 YXJlIHRvDQp0ZXN0LiBUaGV5IGFyZSBjZXJ0YWlubHkgbm90IHN1aXRhYmxlIGZvciAzMi1iaXQg YXJjaGl0ZWN0dXJlczsgc29tZSBpbnRlcm5hbA0KZGF0YSBzdHJ1Y3R1cmVzIHJlbHkgb24gYHVp bnQ2NF90YCB2YWx1ZXMgdGhhdCBhcmUgY2FzdCB0byBwb2ludGVycy4gQXQgYQ0KbWluaW11bSwg YSB0aG9yb3VnaCBhdWRpdCB3b3VsZCBiZSBuZWNlc3NhcnkgdG8gZW5zdXJlIHRoYXQgdGhlc2Ug Y2FzdHMgYXJlDQpzYWZlIChlLmcuLCB0aGF0IHRoZSB2YWx1ZXMgc3RvcmVkIHdlcmUgb25seSBl dmVyIHVwY2FzdCBmcm9tIDMyLWJpdA0KcG9pbnRlcnMpLiBNb3JlIGV4dGVuc2l2ZSB3b3JrIG1h eSBiZSBuZWNlc3NhcnkgdG8gc3VwcG9ydCAzMi1iaXQNCmFyY2hpdGVjdHVyZXMsIHByb2JhYmx5 IHdpdGhvdXQgc2lnbmlmaWNhbnQgYmVuZWZpdC4NCg0KVGhlIHBhY2thZ2VzIHN1Y2Nlc3NmdWxs eSBpZGVudGlmeSBhIFJhZGVvbiBSWCA1ODAgb24gYW4gYHg4Nl82NGAgaW5zdGFsbGF0aW9uDQp1 c2luZyBib3RoIGBjbGluZm9gIGFuZCBgcm9jbWluZm9gIGFzIHByb3ZpZGVkLiBGdXJ0aGVybW9y ZSwgYSB2ZXJzaW9uIG9mDQpgcHlvcGVuY2xgIGxpbmtlZCBhZ2FpbnN0IHRoZXNlIFJPQ20gcGFj a2FnZXMgc3VjY2Vzc2Z1bGx5IHJ1bnMgYSBzaW1wbGUNCnByb2dyYW0gdGhhdCB2YWxpZGF0ZXMg YXJpdGhtZXRpYyBvbiBHUFUtYm91bmQgYXJyYXlzLg0KDQpUaGVyZSBhcmUgY2F2ZWF0cyB3aXRo IHRoaXMgc2V0IG9mIHBhY2thZ2VzLCBhbG1vc3QgYWxsIG9mIHdoaWNoIHJldm9sdmUNCmFyb3Vu ZCB0aGUgaW5jb21wYXRpYmlsaXRpZXMgYmV0d2VlbiB0aGUgVm9pZC1wcm92aWRlZCBgb2NsLWlj ZGAgYW5kIHRoZQ0KW0tocm9ub3MgT3BlbkNMIElDRCBsb2FkZXJdKGh0dHBzOi8vZ2l0aHViLmNv bS9LaHJvbm9zR3JvdXAvT3BlbkNMLUlDRC1Mb2FkZXIpDQpyZXF1aXJlZCBieSAoYW5kIGJ1aWx0 IGludG8pIGByb2NtLW9wZW5jbC1ydW50aW1lYC4NCjEuIEFsbCBwYWNrYWdlcyBpbnN0YWxsIGlu dG8gYC9vcHQvcm9jbWAuIFRoaXMga2VlcHMgdGhlIGVudmlyb25tZW50IGNsb3NlciB0bw0KdGhh dCBvZmZpY2lhbGx5IHNhbmN0aW9uZWQgYnkgQU1EIGFuZCBoZWxwcyBhdm9pZCBjb25mbGljdHMg YmV0d2VlbiBvdGhlcg0KcGFja2FnZXMgYW5kIHRob3NlIHByb3ZpZGVkIGhlcmUuIChGb3IgZXhh bXBsZSwgYGNsaW5mb2AgYW5kIHRoZSBJQ0QgbG9hZGVyDQppdHNlbGYuKSBFdmVudHVhbGx5LCB3 ZSBtYXkgYmUgYWJsZSB0byBtb3ZlIHRoZSBmaWxlcyBpbnRvIGAvdXNyYC4NCjIuIFRoZSBLaHJv bm9zIE9wZW5DTCBJQ0QgbG9hZGVyIGJ1aWx0IGludG8gYHJvY20tb3BlbmNsLXJ1bnRpbWVgIGlz IGFuDQpvdXRkYXRlZCwgcHJlLXJlbGVhc2UgY29tbWl0LiBJZiBBTUQgY2FuIHVwZGF0ZSBpdHMg c291cmNlcyB0byB1c2UgdGhlIHJlbGVhc2UNCnZlcnNpb24gb2YgdGhhdCBsb2FkZXIgKHdoaWNo IGhhcyBhIGJhY2t3YXJkLWluY29tcGF0aWJsZSBBUEkgY2hhbmdlKSwgd2UgbWF5DQpiZSBhYmxl IHRvIG1ha2UgUk9DbSBjb21wYXRpYmxlIHdpdGggYG9jbC1pY2RgIG9yIHJlcGxhY2UgYG9jbC1p Y2RgIHdpdGggdGhlDQpvZmZpY2lhbCBLaHJvbm9zIGxvYWRlci4NCjMuIEluIHRoZSBtZWFudGlt ZSwgdG8gYXZvaWQgYHNobGlic2AgY29uZmxpY3RzLCB0aGUgT3BlbkNMIElDRCBsb2FkZXIgaXMN Cmluc3RhbGxlZCBhcyBgL29wdC9yb2NtL2xpYi9saWJPcGVuQ0wtUk9DbS5zb2AgKGFuZCBhbiBh cHByb3ByaWF0ZWx5IHZlcnNpb25lZA0Kc2hhcmVkIGxpYnJhcnkpLCB3aGljaCBtZWFucyB0aGF0 IHByb2dyYW1zIHdpc2hpbmcgdG8gdXNlIHRoZSBST0NtIE9wZW5DTCBtdXN0DQpleHBsaWNpdGx5 IGxpbmsgYWdhaW5zdCB0aGlzIGxpYnJhcnkgaW5zdGVhZCBvZiB0aGUgZ2VuZXJpYyBgbGliT3Bl bkNMLnNvYC4NCjQuIEkgZG8gKipub3QqKiByZWNvbW1lbmQgbWFraW5nIGFueSBWb2lkIHBhY2th Z2VzIGxpbmsgYWdhaW5zdCB0aGlzIHNwZWNpZmljDQpsaWJyYXJ5LCBiZWNhdXNlIGl0IHdpbGwg bWFrZSB0aG9zZSBwYWNrYWdlcyBST0NtLW9ubHkuIEZvciB0aGUgdGltZSBiZWluZywNClJPQ20g aXMgaW50ZW5kZWQgZm9yIGVuZC11c2VycyB0byBzcGVjaWZpY2FsbHkgbGluayBhZ2FpbnN0LiBU aGlzLCB0b28sDQpyZXF1aXJlcyB0aGUgSUNEIGxvYWRlciB1c2VkIGJ5IFJPQ20gYmUgY29tcGF0 aWJsZSB3aXRoIGBvY2wtaWNkYCwgb3INCmBvY2wtaWNkYCBiZSByZXBsYWNlZCBieSB0aGUgS2hy b25vcyBsb2FkZXIuIEhvd2V2ZXIsIGJlY2F1c2UgdGhlIEtocm9ub3MNCmxvYWRlciBjaGFuZ2Vk IGl0cyBBUEkgZm9yIHRoZSByZWxlYXNlIHZlcnNpb24sIHN1Y2ggYSBjaGFuZ2UgaXMgbm90IHll dA0KYXBwcm9wcmlhdGUuDQoNCkhvcGVmdWxseSwgaWYgQU1EIHVwZGF0ZXMgaXRzIGRlcGVuZGVu Y2Ugb24gdGhlIEtocm9ub3MgSUNEIGxvYWRlciwgd2UgY2FuIHJlc29sdmUgc29tZSBvZiB0aGVz ZSBjYXZlYXRzIGluIHRoZSBmdXR1cmUgYW5kIG1ha2UgUk9DbSBhIG1vcmUgbmF0dXJhbCBWb2lk IGNvbXBvbmVudC4NCg0KU29tZSBwYXRjaGVzIHdlcmUgbWFkZSB0byByZWxvY2F0ZSBzb21lIGZp bGVzIGluIGAvb3B0L3JvY21gIGFuZCBtYWtlIGV2ZXJ5dGluZyBidWlsZCBvbiBgeDg2XzY0LW11 c2xgLiBXaGVyZSBhcHByb3ByaWF0ZSwgdGhlc2UgcGF0Y2hlcyB3aWxsIGJlIHB1c2hlZCB1cHN0 cmVhbSB0byBjbGVhbiB1cCB0aGUgZGlzdHJpYnV0aW9uIGFuZCBwYWNrYWdpbmcuCgpBIHBhdGNo IGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1 bGwvMjExNTMucGF0Y2ggaXMgYXR0YWNoZWQ= --===============1560779951836422890== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-rocm-21153.patch" RnJvbSA2YmM2NzZjNTU3MWViODQ0NTUxMDM2NmJkOGM4Y2IzYjBlYTRiNDE4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3Jn PgpEYXRlOiBNb24sIDEzIEFwciAyMDIwIDEzOjA4OjA5IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAx LzddIE5ldyBwYWNrYWdlOiByb2N0LXRodW5rLWludGVyZmFjZS0zLjMuMAoKLS0tCiBjb21tb24v c2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dzL3Jv Y3QtdGh1bmstaW50ZXJmYWNlLWRldmVsICAgICAgICAgICAgfCAgMSArCiAuLi4vcGF0Y2hlcy9j bWFrZS1kZXYtbGliZGlyLnBhdGNoICAgICAgICAgICAgfCAxMCArKysrKysKIC4uLi9yb2N0LXRo dW5rLWludGVyZmFjZS9wYXRjaGVzL211c2wucGF0Y2ggICB8IDI5ICsrKysrKysrKysrKysrKwog c3JjcGtncy9yb2N0LXRodW5rLWludGVyZmFjZS90ZW1wbGF0ZSAgICAgICAgIHwgMzUgKysrKysr KysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspCiBjcmVhdGUg bW9kZSAxMjAwMDAgc3JjcGtncy9yb2N0LXRodW5rLWludGVyZmFjZS1kZXZlbAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3Mvcm9jdC10aHVuay1pbnRlcmZhY2UvcGF0Y2hlcy9jbWFrZS1kZXYt bGliZGlyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9yb2N0LXRodW5rLWludGVy ZmFjZS9wYXRjaGVzL211c2wucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3JvY3Qt dGh1bmstaW50ZXJmYWNlL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2Nv bW1vbi9zaGxpYnMKaW5kZXggNTNhNTliNzMwM2IuLjc4ODYzZTBmN2I4IDEwMDY0NAotLS0gYS9j b21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTM4NjIsMyArMzg2Miw0IEBAIGxp YnN0ay00LjYuMS5zbyBsaWJzdGstNC42LjFfMQogbGliYysrdXRpbGl0aWVzLnNvLjUgY3BwLXV0 aWxpdGllcy01LjIuMF8xCiBsaWJ0YWdwYXJzZXIuc28uOSB0YWdwYXJzZXItOS4xLjJfMQogbGli cXR1dGlsaXRpZXMuc28uNiBxdHV0aWxpdGllcy02LjAuNF8xCitsaWJoc2FrbXQuc28uMSByb2N0 LXRodW5rLWludGVyZmFjZS0zLjMuMF8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JvY3QtdGh1bmst aW50ZXJmYWNlLWRldmVsIGIvc3JjcGtncy9yb2N0LXRodW5rLWludGVyZmFjZS1kZXZlbApuZXcg ZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMC4uYWMzZjJjYzY4NGMKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL3JvY3QtdGh1bmstaW50ZXJmYWNlLWRldmVsCkBAIC0wLDAgKzEg QEAKK3JvY3QtdGh1bmstaW50ZXJmYWNlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9yb2N0LXRodW5rLWludGVyZmFjZS9wYXRjaGVzL2NtYWtlLWRldi1s aWJkaXIucGF0Y2ggYi9zcmNwa2dzL3JvY3QtdGh1bmstaW50ZXJmYWNlL3BhdGNoZXMvY21ha2Ut ZGV2LWxpYmRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u OThjN2YxZTQ1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3JvY3QtdGh1bmstaW50ZXJm YWNlL3BhdGNoZXMvY21ha2UtZGV2LWxpYmRpci5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0g Q01ha2VMaXN0cy50eHQub2xkCTIwMjAtMDQtMTggMTk6NDU6MTcuMzA2MDgxMTM1IC0wNDAwCisr KysgQ01ha2VMaXN0cy50eHQJMjAyMC0wNC0xOCAxOTo0Njo1MS4zMDA3NTM2MzYgLTA0MDAKK0BA IC0xNDYsNiArMTQ2LDcgQEAKKyAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9CisgICAgICAg ICAtRFNPVVJDRV9ESVI9IiR7U09VUkNFX0RJUn0iCisgICAgICAgICAtRENNQUtFX0lOU1RBTExf UFJFRklYPSIke0NNQUtFX0lOU1RBTExfUFJFRklYfSIKKysgICAgICAgIC1EQ01BS0VfSU5TVEFM TF9MSUJESVI9IiR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9IgorICAgICAgICAgLURDUEFDS19SUE1f UEFDS0FHRV9SRVFVSVJFUz0iaHNha210LXJvY3QiCisgICAgICAgICAtRENQQUNLX1BBQ0tBR0lO R19JTlNUQUxMX1BSRUZJWD0iJHtDUEFDS19QQUNLQUdJTkdfSU5TVEFMTF9QUkVGSVh9IgorICAg ICAgICAgLURWRVJTSU9OPSIke0JVSUxEX1ZFUlNJT05fU1RSSU5HfSIKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3Mvcm9jdC10aHVuay1pbnRlcmZhY2UvcGF0Y2hlcy9tdXNsLnBhdGNoIGIvc3JjcGtncy9y b2N0LXRodW5rLWludGVyZmFjZS9wYXRjaGVzL211c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLmFlZWE5ODMyNDExCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9yb2N0LXRodW5rLWludGVyZmFjZS9wYXRjaGVzL211c2wucGF0Y2gKQEAgLTAsMCArMSwy OSBAQAorZGlmZiAtciAtdSBvbGQvc3JjL2xpYmhzYWttdC5oIG5ldy9zcmMvbGliaHNha210LmgK Ky0tLSBzcmMvbGliaHNha210LmgJMjAyMC0wMy0wNCAxNTowMDo0Ny4wMDAwMDAwMDAgLTA1MDAK KysrKyBzcmMvbGliaHNha210LmgJMjAyMC0wNC0xMyAxMjo1ODozMC40NDQ4NjU5OTIgLTA0MDAK K0BAIC01NCw2ICs1NCwxMCBAQAorICNkZWZpbmUgQ0hFQ0tfS0ZEX09QRU4oKSBcCisgCWRvIHsg aWYgKGtmZF9vcGVuX2NvdW50ID09IDAgfHwgaHNha210X2ZvcmtlZCkgcmV0dXJuIEhTQUtNVF9T VEFUVVNfS0VSTkVMX0lPX0NIQU5ORUxfTk9UX09QRU5FRDsgfSB3aGlsZSAoMCkKKyAKKysvKk9u IHNvbWUgcGxhdGZvcm1zLCBhIFBBR0VfU0laRSBtYWNybyBlY2xpcHNlcyB0aGUgZXh0ZXJuIHZh cmlhYmxlKi8KKysjaWZkZWYgUEFHRV9TSVpFCisrI3VuZGVmIFBBR0VfU0laRQorKyNlbmRpZgor IGV4dGVybiBpbnQgUEFHRV9TSVpFOworIGV4dGVybiBpbnQgUEFHRV9TSElGVDsKKyAKK2RpZmYg LXIgLXUgb2xkL3NyYy90b3BvbG9neS5jIG5ldy9zcmMvdG9wb2xvZ3kuYworLS0tIHNyYy90b3Bv bG9neS5jCTIwMjAtMDMtMDQgMTU6MDA6NDcuMDAwMDAwMDAwIC0wNTAwCisrKysgc3JjL3RvcG9s b2d5LmMJMjAyMC0wNC0xMyAxMzowMTozMS4yMDk4NzA3MDEgLTA0MDAKK0BAIC0zOCw2ICszOCwx MSBAQAorICNpbmNsdWRlICJsaWJoc2FrbXQuaCIKKyAjaW5jbHVkZSAiZm1tLmgiCisgCisrLypO ZWVkZWQgb24gTVVTTCovCisrI2lmbmRlZiBNQVhOQU1MRU4KKysjZGVmaW5lIE1BWE5BTUxFTiBQ QVRIX01BWAorKyNlbmRpZgorKworIC8qIE51bWJlciBvZiBtZW1vcnkgYmFua3MgYWRkZWQgYnkg dGh1bmsgb24gdG9wIG9mIHRvcG9sb2d5CisgICogVGhpcyBvbmx5IGluY2x1ZGVzIHN0YXRpYyBo ZWFwcyBsaWtlIExEUywgc2NyYXRjaCBhbmQgU1ZNLAorICAqIG5vdCBmb3IgTU1JT19SRU1BUCBo ZWFwLiBNTUlPX1JFTUFQIG1lbW9yeSBiYW5rIGlzIHJlcG9ydGVkCmRpZmYgLS1naXQgYS9zcmNw a2dzL3JvY3QtdGh1bmstaW50ZXJmYWNlL3RlbXBsYXRlIGIvc3JjcGtncy9yb2N0LXRodW5rLWlu dGVyZmFjZS90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u YjNhMWUzZGM5MjkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3JvY3QtdGh1bmstaW50ZXJm YWNlL3RlbXBsYXRlCkBAIC0wLDAgKzEsMzUgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3JvY3Qt dGh1bmstaW50ZXJmYWNlJworcGtnbmFtZT1yb2N0LXRodW5rLWludGVyZmFjZQordmVyc2lvbj0z LjMuMAorcmV2aXNpb249MQorYXJjaHM9Ing4Nl82NCoiCit3cmtzcmM9IlJPQ1QtVGh1bmstSW50 ZXJmYWNlLXJvYy0ke3ZlcnNpb259IgorYnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZpZ3VyZV9hcmdz PSItRENNQUtFX0lOU1RBTExfUFJFRklYOlBBVEg9L29wdC9yb2NtCisJLURDTUFLRV9JTlNUQUxM X1JQQVRIOlBBVEg9J1wkT1JJR0lOOlwkT1JJR0lOLy4uL2xpYiciCittYWtlX2J1aWxkX3Rhcmdl dD0iYWxsIGJ1aWxkLWRldiIKK21ha2VfaW5zdGFsbF90YXJnZXQ9Imluc3RhbGwgaW5zdGFsbC1k ZXYiCitob3N0bWFrZWRlcGVuZHM9ImNtYWtlIHBrZy1jb25maWciCittYWtlZGVwZW5kcz0icGNp dXRpbHMtZGV2ZWwgbGlibnVtYS1kZXZlbCIKK3Nob3J0X2Rlc2M9IlJhZGVvbiBPcGVuIENvbXB1 dGUgVGh1bmsgSW50ZXJmYWNlIgorbWFpbnRhaW5lcj0iQW5kcmV3IEouIEhlc2ZvcmQgPGFqaEBz aWRlYmFuZC5vcmc+IgorbGljZW5zZT0iTkNTQSIKK2hvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5j b20vUmFkZW9uT3BlbkNvbXB1dGUvUk9DVC1UaHVuay1JbnRlcmZhY2UiCitkaXN0ZmlsZXM9IiR7 aG9tZXBhZ2V9L2FyY2hpdmUvcm9jLSR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09MmNhYmU5 ZDJjZmE3MjAzMWMwNWQxMTI5MDgzN2M0NzYxODJlNzJkOGRlYzIwNDkyOThmNjkxMTQzZmRkMjEy Ygorbm9jcm9zcz15ZXMKKworcG9zdF9pbnN0YWxsKCkgeworCXZsaWNlbnNlIExJQ0VOU0UubWQK K30KKworcm9jdC10aHVuay1pbnRlcmZhY2UtZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSIk e3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJc2hvcnRfZGVzYys9IiAtIGRl dmVsb3BtZW50IGZpbGVzIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSBvcHQvcm9jbS9pbmNs dWRlCisJCXZtb3ZlICJvcHQvcm9jbS9saWIvKi5zbyIKKwkJdm1vdmUgb3B0L3JvY20vc2hhcmUv cGtnY29uZmlnCisJCXZtb3ZlIG9wdC9yb2NtL2xpYi9jbWFrZQorCX0KK30KCkZyb20gY2FlOThi NGVjMjM0Mzk5ODc4M2NhZmQyMTY5YjA5MjhjMGM2OTc2MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0ZTogTW9u LCAxMyBBcHIgMjAyMCAxNToyNzoyNyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMi83XSBOZXcgcGFj a2FnZTogcm9jci1ydW50aW1lLTMuMy4wCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMSArCiBzcmNwa2dzL3JvY3ItcnVudGltZS1kZXZlbCAgICAgICAg ICAgICAgIHwgIDEgKwogc3JjcGtncy9yb2NyLXJ1bnRpbWUvcGF0Y2hlcy9jbWFrZS5wYXRjaCB8 IDI3ICsrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3Mvcm9jci1ydW50aW1lL3RlbXBsYXRlICAg ICAgICAgICAgfCAzMyArKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwg NjIgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3Mvcm9jci1ydW50aW1l LWRldmVsCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9yb2NyLXJ1bnRpbWUvcGF0Y2hlcy9j bWFrZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvcm9jci1ydW50aW1lL3RlbXBs YXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggNzg4 NjNlMGY3YjguLmVjMzRjMGRmOWZhIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2Nv bW1vbi9zaGxpYnMKQEAgLTM4NjMsMyArMzg2Myw0IEBAIGxpYmMrK3V0aWxpdGllcy5zby41IGNw cC11dGlsaXRpZXMtNS4yLjBfMQogbGlidGFncGFyc2VyLnNvLjkgdGFncGFyc2VyLTkuMS4yXzEK IGxpYnF0dXRpbGl0aWVzLnNvLjYgcXR1dGlsaXRpZXMtNi4wLjRfMQogbGliaHNha210LnNvLjEg cm9jdC10aHVuay1pbnRlcmZhY2UtMy4zLjBfMQorbGliaHNhLXJ1bnRpbWU2NC5zby4xIHJvY3It cnVudGltZS0zLjMuMF8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JvY3ItcnVudGltZS1kZXZlbCBi L3NyY3BrZ3Mvcm9jci1ydW50aW1lLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAw MDAwMDAwMDAwLi5iZTgzOGYyMmQ4MQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvcm9jci1y dW50aW1lLWRldmVsCkBAIC0wLDAgKzEgQEAKK3JvY3ItcnVudGltZQpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvcm9jci1ydW50aW1lL3BhdGNoZXMvY21h a2UucGF0Y2ggYi9zcmNwa2dzL3JvY3ItcnVudGltZS9wYXRjaGVzL2NtYWtlLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45M2I3NGNkMjI5NwotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3Mvcm9jci1ydW50aW1lL3BhdGNoZXMvY21ha2UucGF0Y2gKQEAgLTAs MCArMSwyNyBAQAorLS0tIHNyYy9DTWFrZUxpc3RzLnR4dC5vbGQJMjAyMC0wNC0xOCAyMDowMTo0 OC41NDk2MzY5OTUgLTA0MDAKKysrKyBzcmMvQ01ha2VMaXN0cy50eHQJMjAyMC0wNC0xOCAyMDow NDowMC4xNzcxNzk3ODEgLTA0MDAKK0BAIC0xMDgsOCArMTA4LDggQEAKKyAjIyBST0NyIGJ1aWxk IGludGVybmFsIHZlcnNpb25pbmcKKyBhZGRfZGVmaW5pdGlvbnMgKCAtRFJPQ1JfQlVJTERfSUQ9 JHtQQUNLQUdFX1ZFUlNJT05fU1RSSU5HfSApCisgCistIyMgU2V0IFJVTlBBVEggLSAuLi8uLi9s aWIgY292ZXJzIHVzZSBvZiB0aGUgbGVnYWN5IHN5bWxpbmsgaW4gL2hzYS9saWIvCistc2V0KENN QUtFX0lOU1RBTExfUlBBVEggIiRPUklHSU47JE9SSUdJTi8uLi8uLi9saWI7JE9SSUdJTi8uLi8u Li9saWI2NDskT1JJR0lOLy4uL2xpYjY0IikKKysjIyBTZXQgUlVOUEFUSAorK3NldChDTUFLRV9J TlNUQUxMX1JQQVRIICIkT1JJR0lOOyRPUklHSU4vLi4vbGliIikKKyAKKyAjIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tIExpbnV4IENvbXBpbGVyIGFuZCBMaW5rZXIgb3B0aW9ucyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgc2V0ICggQ01BS0VfQ1hYX0ZMQUdTICIke0NNQUtFX0NYWF9G TEFHU30gLVdlcnJvciAtZmV4Y2VwdGlvbnMgLWZuby1ydHRpIC1mdmlzaWJpbGl0eT1oaWRkZW4g LVduby1lcnJvcj1zaWduLWNvbXBhcmUgLVduby1zaWduLWNvbXBhcmUgLVduby13cml0ZS1zdHJp bmdzIC1Xbm8tY29udmVyc2lvbi1udWxsIC1mbm8tbWF0aC1lcnJubyAtZm5vLXRocmVhZHNhZmUt c3RhdGljcyAtZm1lcmdlLWFsbC1jb25zdGFudHMgLWZtcy1leHRlbnNpb25zIC1Xbm8tZXJyb3I9 Y29tbWVudCAtV25vLWNvbW1lbnQgLVduby1lcnJvcj1wb2ludGVyLWFyaXRoIC1Xbm8tcG9pbnRl ci1hcml0aCAtV25vLWVycm9yPXVudXNlZC12YXJpYWJsZSAtV25vLWVycm9yPXVudXNlZC1mdW5j dGlvbiIgKQorQEAgLTE4NSwxMSArMTg1LDggQEAKKyBhZGRfY3VzdG9tX3RhcmdldCAoIGhzYV9s aWJfbGluazIgQUxMIFdPUktJTkdfRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElS fSBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgY3JlYXRlX3N5bWxpbmsgLi4vaHNhL2xpYi8k e0NPUkVfUlVOVElNRV9MSUJSQVJZfS5zby4ke1NPX01BSk9SfSAke0NPUkVfUlVOVElNRV9MSUJS QVJZfS1saW5rLnNvLiR7U09fTUFKT1J9ICkKKyAKKyAjIyBTZXQgaW5zdGFsbCBpbmZvcm1hdGlv bgorLWluc3RhbGwgKCBUQVJHRVRTICR7Q09SRV9SVU5USU1FX1RBUkdFVH0gTElCUkFSWSBERVNU SU5BVElPTiBoc2EvbGliICkKKy1pbnN0YWxsICggRElSRUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9T T1VSQ0VfRElSfS9pbmMvIERFU1RJTkFUSU9OIGhzYS9pbmNsdWRlL2hzYSApCistaW5zdGFsbCAo IEZJTEVTICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9oc2FfaW5jbHVkZV9saW5rIERFU1RJ TkFUSU9OIGluY2x1ZGUgUEVSTUlTU0lPTlMgT1dORVJfV1JJVEUgT1dORVJfUkVBRCBSRU5BTUUg aHNhICkKKy1pbnN0YWxsICggRklMRVMgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7Q09S RV9SVU5USU1FX0xJQlJBUll9LWxpbmsuc28gREVTVElOQVRJT04gbGliIFBFUk1JU1NJT05TIE9X TkVSX1dSSVRFIE9XTkVSX1JFQUQgUkVOQU1FICR7Q09SRV9SVU5USU1FX0xJQlJBUll9LnNvICkK Ky1pbnN0YWxsICggRklMRVMgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9LyR7Q09SRV9SVU5U SU1FX0xJQlJBUll9LWxpbmsuc28uJHtTT19NQUpPUn0gREVTVElOQVRJT04gbGliIFBFUk1JU1NJ T05TIE9XTkVSX1dSSVRFIE9XTkVSX1JFQUQgUkVOQU1FICR7Q09SRV9SVU5USU1FX0xJQlJBUll9 LnNvLiR7U09fTUFKT1J9ICkKKytpbnN0YWxsICggVEFSR0VUUyAke0NPUkVfUlVOVElNRV9UQVJH RVR9IExJQlJBUlkgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0gKQorK2luc3Rh bGwgKCBESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2luYy8gREVTVElOQVRJ T04gaW5jbHVkZS9oc2EgKQorIAorICMjIFBhY2thZ2luZyBkaXJlY3RpdmVzCisgc2V0ICggQ1BB Q0tfR0VORVJBVE9SICJERUI7UlBNIiBDQUNIRSBTVFJJTkcgIlBhY2thZ2UgdHlwZXMgdG8gYnVp bGQiKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9yb2NyLXJ1bnRpbWUvdGVtcGxhdGUgYi9zcmNwa2dz L3JvY3ItcnVudGltZS90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uMzU4ODIxMTU4NGMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3JvY3ItcnVudGlt ZS90ZW1wbGF0ZQpAQCAtMCwwICsxLDMzIEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdyb2NyLXJ1 bnRpbWUnCitwa2duYW1lPXJvY3ItcnVudGltZQordmVyc2lvbj0zLjMuMAorcmV2aXNpb249MQor YXJjaHM9Ing4Nl82NCoiCit3cmtzcmM9IlJPQ1ItUnVudGltZS1yb2NtLSR7dmVyc2lvbn0iCiti dWlsZF93cmtzcmM9InNyYyIKK2J1aWxkX3N0eWxlPWNtYWtlCitjb25maWd1cmVfYXJncz0iLURD TUFLRV9JTlNUQUxMX1BSRUZJWDpQQVRIPS9vcHQvcm9jbQorCS1ESFNBS01UX0lOQ19QQVRIOlBB VEg9L29wdC9yb2NtL2luY2x1ZGUKKwktREhTQUtNVF9MSUJfUEFUSDpQQVRIPS9vcHQvcm9jbS9s aWIiCitob3N0bWFrZWRlcGVuZHM9ImNtYWtlIHBrZy1jb25maWciCittYWtlZGVwZW5kcz0icm9j dC10aHVuay1pbnRlcmZhY2UtZGV2ZWwgZWxmdXRpbHMtZGV2ZWwiCitzaG9ydF9kZXNjPSJSYWRl b24gT3BlbiBDb21wdXRlIEhTQSBSdW50aW1lIgorbWFpbnRhaW5lcj0iQW5kcmV3IEouIEhlc2Zv cmQgPGFqaEBzaWRlYmFuZC5vcmc+IgorbGljZW5zZT0iTkNTQSIKK2hvbWVwYWdlPSJodHRwczov L2dpdGh1Yi5jb20vUmFkZW9uT3BlbkNvbXB1dGUvUk9DUi1SdW50aW1lIgorZGlzdGZpbGVzPSIk e2hvbWVwYWdlfS9hcmNoaXZlL3JvY20tJHt2ZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT1mYTJk MmQxZjhhNjFkOGE2OTUyZDM3N2NmMjg4ZDc4YzYxNzc2YzNjMmE2NjZmMTYzY2FmYzNhYTE5YWIw YjYxCitub2Nyb3NzPXllcworCitwb3N0X2luc3RhbGwoKSB7CisJdmxpY2Vuc2UgLi4vTElDRU5T RS50eHQKK30KKworcm9jci1ydW50aW1lLWRldmVsX3BhY2thZ2UoKSB7CisJZGVwZW5kcz0iJHtz b3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorCXNob3J0X2Rlc2MrPSIgLSBkZXZl bG9wbWVudCBmaWxlcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgb3B0L3JvY20vaW5jbHVk ZQorCQl2bW92ZSAib3B0L3JvY20vbGliLyouc28iCisJfQorfQoKRnJvbSA1MmYwNjU3ZWFkMDRj MTQ0ZjZlMTBhOTc5ZTAzNWZlOTI5YmNhYTY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRlOiBNb24sIDEzIEFw ciAyMDIwIDE4OjA3OjM0IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzLzddIE5ldyBwYWNrYWdlOiBy b2NtLWxsdm0tMy4zLjAKCi0tLQogc3JjcGtncy9yb2NtLWxsdm0vdGVtcGxhdGUgfCAyNSArKysr KysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvcm9jbS1sbHZtL3RlbXBsYXRlCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9yb2NtLWxsdm0vdGVtcGxhdGUgYi9zcmNwa2dzL3JvY20tbGx2bS90ZW1wbGF0 ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDkxOWUyNGI1MTQKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3JvY20tbGx2bS90ZW1wbGF0ZQpAQCAtMCwwICsxLDI1 IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdyb2NtLWxsdm0nCitwa2duYW1lPXJvY20tbGx2bQor dmVyc2lvbj0zLjMuMAorcmV2aXNpb249MQorYXJjaHM9Ing4Nl82NCoiCit3cmtzcmM9Imxsdm0t cHJvamVjdC1yb2NtLW9jbC0ke3ZlcnNpb259IgorYnVpbGRfd3Jrc3JjPWxsdm0KK2J1aWxkX3N0 eWxlPWNtYWtlCitjb25maWd1cmVfYXJncz0iLURDTUFLRV9JTlNUQUxMX1BSRUZJWDpQQVRIPS9v cHQvcm9jbS9sbHZtCisJLURMTFZNX0VOQUJMRV9QUk9KRUNUUz0nbGx2bTtjbGFuZztsbGQnIC1E TExWTV9UQVJHRVRTX1RPX0JVSUxEPSdBTURHUFUnCisJLURMTFZNX0JVSUxEX0RPQ1M9Tk8gLURM TFZNX0VOQUJMRV9PQ0FNTERPQz1PRkYKKwktRExMVk1fRU5BQkxFX1NQSElOWD1OTyAtRExMVk1f RU5BQkxFX0RPWFlHRU49T0ZGCisJLURMTFZNX0lOU1RBTExfVVRJTFM9T04gLURMTFZNX1ZFUlNJ T05fU1VGRklYPXJvYyAtRE9DQU1MRklORD1OTyIKK2hvc3RtYWtlZGVwZW5kcz0iY21ha2UgcGtn LWNvbmZpZyBweXRob24zIgorc2hvcnRfZGVzYz0iUmFkZW9uIE9wZW4gQ29tcHV0ZSBMTFZNIHRv b2xjaGFpbiIKK21haW50YWluZXI9IkFuZHJldyBKLiBIZXNmb3JkIDxhamhAc2lkZWJhbmQub3Jn PiIKK2xpY2Vuc2U9IkN1c3RvbSIKK2hvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vUmFkZW9u T3BlbkNvbXB1dGUvbGx2bS1wcm9qZWN0IgorZGlzdGZpbGVzPSIke2hvbWVwYWdlfS9hcmNoaXZl L3JvY20tb2NsLSR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09YTJiZWY3MDQyZThlMmYyY2Q4 NTQ4Y2IyNDZiODgzMjJlMWM3NzE4ODgzOTk4M2RjYWM4MzEyZDU2ZjU0NGRjOAorbm9jcm9zcz15 ZXMKKworcG9zdF9pbnN0YWxsKCkgeworCXZsaWNlbnNlIExJQ0VOU0UuVFhUCit9CgpGcm9tIGEy YjY4MmRiMmQ2NGVjZTllZDRhMjRkMWVkNmNkZTk4YzVmNjVmMWMgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206ICJBbmRyZXcgSi4gSGVzZm9yZCIgPGFqaEBzaWRlYmFuZC5vcmc+CkRhdGU6 IFR1ZSwgMTQgQXByIDIwMjAgMTA6MjU6MzEgLTA0MDAKU3ViamVjdDogW1BBVENIIDQvN10gTmV3 IHBhY2thZ2U6IHJvY20tZGV2aWNlLWxpYnMtMy4zLjAKCi0tLQogc3JjcGtncy9yb2NtLWRldmlj ZS1saWJzL3RlbXBsYXRlIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBm aWxlIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3JvY20tZGV2aWNlLWxpYnMvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JvY20tZGV2 aWNlLWxpYnMvdGVtcGxhdGUgYi9zcmNwa2dzL3JvY20tZGV2aWNlLWxpYnMvdGVtcGxhdGUKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjk0YjNiZTU4MGMwCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9yb2NtLWRldmljZS1saWJzL3RlbXBsYXRlCkBAIC0wLDAgKzEs MzIgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3JvY20tZGV2aWNlLWxpYnMnCitwa2duYW1lPXJv Y20tZGV2aWNlLWxpYnMKK3ZlcnNpb249My4zLjAKK3JldmlzaW9uPTEKK2FyY2hzPSJ4ODZfNjQq Igord3Jrc3JjPSJST0NtLURldmljZS1MaWJzLXJvY20tb2NsLSR7dmVyc2lvbn0iCitidWlsZF9z dHlsZT1jbWFrZQorY29uZmlndXJlX2FyZ3M9Ii1EQ01BS0VfSU5TVEFMTF9QUkVGSVg6UEFUSD0v b3B0L3JvY20gLURMTFZNX0RJUjpQQVRIPS9vcHQvcm9jbS9sbHZtIgoraG9zdG1ha2VkZXBlbmRz PSJjbWFrZSByb2NtLWxsdm0iCitzaG9ydF9kZXNjPSJSYWRlb24gT3BlbiBDb21wdXRlIGRldmlj ZSBsaWJyYXJpZXMiCittYWludGFpbmVyPSJBbmRyZXcgSi4gSGVzZm9yZCA8YWpoQHNpZGViYW5k Lm9yZz4iCitsaWNlbnNlPSJOQ1NBIgoraG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9SYWRl b25PcGVuQ29tcHV0ZS9ST0NtLURldmljZS1MaWJzIgorZGlzdGZpbGVzPSIke2hvbWVwYWdlfS9h cmNoaXZlL3JvY20tb2NsLSR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09NzA2YjA4MjMwNzkw ZTA4Y2E2YTdhMmZiNzY4N2Q2MTMxZmQzOWE1NjIxNDgzNDBlMDBmYTM3YTZjMDY3NjljNQorbm9j cm9zcz15ZXMKKworcHJlX2NvbmZpZ3VyZSgpIHsKKwkjIEJ1aWxkIHRoZSBwcmVwYXJlLWJ1aWx0 aW5zIGV4ZWN1dGFibGUgd2l0aCBuYXRpdmUgY29tcGlsZXIKKwlta2RpciAtcCB1dGlscy9idWls ZAorCWNkIHV0aWxzL2J1aWxkCisJX3ByZXBhcmVfYnVpbHRpbnM9IiRQV0QvcHJlcGFyZS1idWls dGlucy9wcmVwYXJlLWJ1aWx0aW5zIgorCWNtYWtlICR7Y29uZmlndXJlX2FyZ3N9IC4uCisJbWFr ZSAke21ha2Vqb2JzfQorCisJIyBBZGQgcGF0aCB0byBwcmVwYXJlLWJ1aWx0aW5zIGZvciBjbWFr ZQorCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUFJFUEFSRV9CVUlMVElOUz0nJHtfcHJlcGFyZV9idWls dGluc30nIgorfQorCitwb3N0X2luc3RhbGwoKSB7CisJdmxpY2Vuc2UgTElDRU5TRQorfQoKRnJv bSBjMWVhZWI0YjkwZmQ2OTQ3YWU0MDI1MDE3YzRmMzFlZjM4ZjE0YjIwIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpE YXRlOiBNb24sIDEzIEFwciAyMDIwIDE4OjMwOjAwIC0wNDAwClN1YmplY3Q6IFtQQVRDSCA1Lzdd IE5ldyBwYWNrYWdlOiByb2NtLWNvbWdyLTMuMy4wCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAg ICAgICAgICB8ICAxICsKIHNyY3BrZ3Mvcm9jbS1jb21nci1kZXZlbCAgICB8ICAxICsKIHNyY3Br Z3Mvcm9jbS1jb21nci90ZW1wbGF0ZSB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTIw MDAwIHNyY3BrZ3Mvcm9jbS1jb21nci1kZXZlbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cm9jbS1jb21nci90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24v c2hsaWJzCmluZGV4IGVjMzRjMGRmOWZhLi41MDk3NTViZDhiOSAxMDA2NDQKLS0tIGEvY29tbW9u L3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0zODY0LDMgKzM4NjQsNCBAQCBsaWJ0YWdw YXJzZXIuc28uOSB0YWdwYXJzZXItOS4xLjJfMQogbGlicXR1dGlsaXRpZXMuc28uNiBxdHV0aWxp dGllcy02LjAuNF8xCiBsaWJoc2FrbXQuc28uMSByb2N0LXRodW5rLWludGVyZmFjZS0zLjMuMF8x CiBsaWJoc2EtcnVudGltZTY0LnNvLjEgcm9jci1ydW50aW1lLTMuMy4wXzEKK2xpYmFtZF9jb21n ci5zby4xIHJvY20tY29tZ3ItMy4zLjBfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9yb2NtLWNvbWdy LWRldmVsIGIvc3JjcGtncy9yb2NtLWNvbWdyLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmlu ZGV4IDAwMDAwMDAwMDAwLi4zZjVjZTI1NWUwNwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv cm9jbS1jb21nci1kZXZlbApAQCAtMCwwICsxIEBACityb2NtLWNvbWdyClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9yb2NtLWNvbWdyL3RlbXBsYXRlIGIv c3JjcGtncy9yb2NtLWNvbWdyL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi5mYjY1ODBmMmY4YgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvcm9jbS1j b21nci90ZW1wbGF0ZQpAQCAtMCwwICsxLDM0IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdyb2Nt LWNvbWdyJworcGtnbmFtZT1yb2NtLWNvbWdyCit2ZXJzaW9uPTMuMy4wCityZXZpc2lvbj0xCith cmNocz0ieDg2XzY0KiIKK3dya3NyYz0iUk9DbS1Db21waWxlclN1cHBvcnQtcm9jbS0ke3ZlcnNp b259IgorYnVpbGRfd3Jrc3JjPSJsaWIvY29tZ3IiCitidWlsZF9zdHlsZT1jbWFrZQorY29uZmln dXJlX2FyZ3M9Ii1EQ01BS0VfSU5TVEFMTF9QUkVGSVg6UEFUSD0vb3B0L3JvY20KKwktRENsYW5n X0RJUjpQQVRIPS9vcHQvcm9jbS9sbHZtL2xpYi9jbWFrZS9jbGFuZworCS1EQ01BS0VfSU5TVEFM TF9SUEFUSDpQQVRIPSdcJE9SSUdJTjpcJE9SSUdJTi8uLi9saWInIgoraG9zdG1ha2VkZXBlbmRz PSJjbWFrZSBwa2ctY29uZmlnIHJvY20tbGx2bSIKK21ha2VkZXBlbmRzPSJyb2NtLWRldmljZS1s aWJzIgorc2hvcnRfZGVzYz0iUmFkZW9uIE9wZW4gQ29tcHV0ZSBDb2RlIE9iamVjdCBNYW5hZ2Vy IgorbWFpbnRhaW5lcj0iQW5kcmV3IEouIEhlc2ZvcmQgPGFqaEBzaWRlYmFuZC5vcmc+IgorbGlj ZW5zZT0iQlNELTMtY2xhdXNlIgoraG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9SYWRlb25P cGVuQ29tcHV0ZS9ST0NtLUNvbXBpbGVyU3VwcG9ydCIKK2Rpc3RmaWxlcz0iJHtob21lcGFnZX0v YXJjaGl2ZS9yb2NtLSR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09MDFlMjUyNGUwZjI4ZWNk NmY0NmM5NzIwZjI3OTIwN2RlOTM1ZDgyNmIwMTcyMTU4NzkyYWEzZWM4NmFmOWNhNworbm9jcm9z cz15ZXMKKworcG9zdF9pbnN0YWxsKCkgeworCXZsaWNlbnNlIExJQ0VOU0UudHh0Cit9CisKK3Jv Y20tY29tZ3ItZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVy c2lvbn1fJHtyZXZpc2lvbn0iCisJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgor CXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSBvcHQvcm9jbS9pbmNsdWRlCisJCXZtb3ZlICJvcHQv cm9jbS9saWIvKi5zbyIKKwkJdm1vdmUgb3B0L3JvY20vbGliL2NtYWtlCisJfQorfQoKRnJvbSA1 ZmI2ZDM5OGY0ZDRiY2U5MWMyZGY1NDZlZDEzZTNiMWRjNThhNTNhIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiAiQW5kcmV3IEouIEhlc2ZvcmQiIDxhamhAc2lkZWJhbmQub3JnPgpEYXRl OiBGcmksIDE3IEFwciAyMDIwIDEyOjExOjI1IC0wNDAwClN1YmplY3Q6IFtQQVRDSCA2LzddIE5l dyBwYWNrYWdlOiByb2NtaW5mby0zLjMuMAoKLS0tCiBzcmNwa2dzL3JvY21pbmZvL3RlbXBsYXRl IHwgMjEgKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvcm9jbWluZm8vdGVtcGxhdGUKCmRpZmYg LS1naXQgYS9zcmNwa2dzL3JvY21pbmZvL3RlbXBsYXRlIGIvc3JjcGtncy9yb2NtaW5mby90ZW1w bGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOTExMjhhNzY2ZjMK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3JvY21pbmZvL3RlbXBsYXRlCkBAIC0wLDAgKzEs MjEgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3JvY21pbmZvJworcGtnbmFtZT1yb2NtaW5mbwor dmVyc2lvbj0zLjMuMAorcmV2aXNpb249MQorYXJjaHM9Ing4Nl82NCoiCit3cmtzcmM9InJvY21p bmZvLXJvY20tJHt2ZXJzaW9ufSIKK2J1aWxkX3N0eWxlPWNtYWtlCitjb25maWd1cmVfYXJncz0i LURDTUFLRV9JTlNUQUxMX1BSRUZJWDpQQVRIPS9vcHQvcm9jbSAtRFJPQ01fRElSPS9vcHQvcm9j bSIKK2hvc3RtYWtlZGVwZW5kcz0iY21ha2UgcGtnLWNvbmZpZyIKK21ha2VkZXBlbmRzPSJyb2Ny LXJ1bnRpbWUtZGV2ZWwiCitzaG9ydF9kZXNjPSJSYWRlb24gT3BlbiBDb21wdXRlIHN5c3RlbSBp bmZvcm1hdGlvbiByZXBvcnRlciIKK21haW50YWluZXI9IkFuZHJldyBKLiBIZXNmb3JkIDxhamhA c2lkZWJhbmQub3JnPiIKK2xpY2Vuc2U9Ik5DU0EiCitob21lcGFnZT0iaHR0cHM6Ly9naXRodWIu Y29tL1JhZGVvbk9wZW5Db21wdXRlL3JvY21pbmZvIgorZGlzdGZpbGVzPSIke2hvbWVwYWdlfS9h cmNoaXZlL3JvY20tJHt2ZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT1lNjY2ZjY2MmM5ZTQ2NWFh YWJiYmQwYjEwOWQ4N2UwMTcyNDNjZGYxYTA4OThmYWJmNWE5MDk0N2JiM2RiY2Q3Citub2Nyb3Nz PXllcworCitwb3N0X2luc3RhbGwoKSB7CisJdmxpY2Vuc2UgTGljZW5zZS50eHQKK30KCkZyb20g ODdmYTY5YmFlNmU2YWNlZGEwNDQ4OTE0YTI0YWY2M2MwMjcwMmE0ZSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogIkFuZHJldyBKLiBIZXNmb3JkIiA8YWpoQHNpZGViYW5kLm9yZz4KRGF0 ZTogVHVlLCAxNCBBcHIgMjAyMCAxMDoyNTo1NCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggNy83XSBO ZXcgcGFja2FnZTogcm9jbS1vcGVuY2wtcnVudGltZS0zLjMuMAoKLS0tCiBjb21tb24vc2hsaWJz ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9yb2NtLW9w ZW5jbC1ydW50aW1lLWRldmVsICAgICAgICAgICAgIHwgICAxICsKIC4uLi9maWxlcy9saWJlbGYt bXVzbC5wYXRjaCAgICAgICAgICAgICAgICAgICB8IDY4OCArKysrKysrKysrKysrKysrKysKIC4u Li9maWxlcy9ydW50aW1lLW11c2wucGF0Y2ggICAgICAgICAgICAgICAgICB8ICAxMSArCiBzcmNw a2dzL3JvY20tb3BlbmNsLXJ1bnRpbWUvZmlsZXMvc3lzX3F1ZXVlLmggfCA1NzQgKysrKysrKysr KysrKysrCiAuLi4vcm9jbS1vcGVuY2wtcnVudGltZS9wYXRjaGVzL2NtYWtlLnBhdGNoICAgfCAx MjMgKysrKwogc3JjcGtncy9yb2NtLW9wZW5jbC1ydW50aW1lL3RlbXBsYXRlICAgICAgICAgIHwg IDc4ICsrCiA3IGZpbGVzIGNoYW5nZWQsIDE0NzYgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUg MTIwMDAwIHNyY3BrZ3Mvcm9jbS1vcGVuY2wtcnVudGltZS1kZXZlbAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3Mvcm9jbS1vcGVuY2wtcnVudGltZS9maWxlcy9saWJlbGYtbXVzbC5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvcm9jbS1vcGVuY2wtcnVudGltZS9maWxlcy9ydW50 aW1lLW11c2wucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3JvY20tb3BlbmNsLXJ1 bnRpbWUvZmlsZXMvc3lzX3F1ZXVlLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3JvY20t b3BlbmNsLXJ1bnRpbWUvcGF0Y2hlcy9jbWFrZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3Mvcm9jbS1vcGVuY2wtcnVudGltZS90ZW1wbGF0ZQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9z aGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IDUwOTc1NWJkOGI5Li5kMDg3ZmEzYWI0YiAxMDA2 NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0zODY1LDMgKzM4 NjUsNCBAQCBsaWJxdHV0aWxpdGllcy5zby42IHF0dXRpbGl0aWVzLTYuMC40XzEKIGxpYmhzYWtt dC5zby4xIHJvY3QtdGh1bmstaW50ZXJmYWNlLTMuMy4wXzEKIGxpYmhzYS1ydW50aW1lNjQuc28u MSByb2NyLXJ1bnRpbWUtMy4zLjBfMQogbGliYW1kX2NvbWdyLnNvLjEgcm9jbS1jb21nci0zLjMu MF8xCitsaWJPcGVuQ0wtUk9DbS5zby4xIHJvY20tb3BlbmNsLXJ1bnRpbWUtMy4zLjBfMQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9yb2NtLW9wZW5jbC1ydW50aW1lLWRldmVsIGIvc3JjcGtncy9yb2Nt LW9wZW5jbC1ydW50aW1lLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAw MDAwLi5iMmNkYTdlMjI5ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvcm9jbS1vcGVuY2wt cnVudGltZS1kZXZlbApAQCAtMCwwICsxIEBACityb2NtLW9wZW5jbC1ydW50aW1lClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9yb2NtLW9wZW5jbC1ydW50 aW1lL2ZpbGVzL2xpYmVsZi1tdXNsLnBhdGNoIGIvc3JjcGtncy9yb2NtLW9wZW5jbC1ydW50aW1l L2ZpbGVzL2xpYmVsZi1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5hMzcwNWMyNTlhOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvcm9jbS1vcGVu Y2wtcnVudGltZS9maWxlcy9saWJlbGYtbXVzbC5wYXRjaApAQCAtMCwwICsxLDY4OCBAQAorZGlm ZiAtdSAtciBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvX2xpYmVs Zi5oIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvX2xpYmVsZi5oCistLS0g Y29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL19saWJlbGYuaAkyMDIw LTA0LTE5IDA4OjU5OjM0LjIwMTM4NjU4NSAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJz L2VsZi91dGlscy9saWJlbGYvX2xpYmVsZi5oCTIwMjAtMDQtMTkgMDk6MDQ6MTIuOTUwNDMzNTI4 IC0wNDAwCitAQCAtMzAsNyArMzAsNyBAQAorICNkZWZpbmUJX19MSUJFTEZfSF8KKyAKKyAjaW5j bHVkZSA8bGltaXRzLmg+CistI2luY2x1ZGUgPHN5cy9xdWV1ZS5oPgorKyNpbmNsdWRlICJzeXNf cXVldWUuaCIKKyAKKyAjaW5jbHVkZSAiX2xpYmVsZl9jb25maWcuaCIKKyAKK0BAIC0xNzksNyAr MTc5LDkgQEAKKyAgKiBGdW5jdGlvbiBQcm90b3R5cGVzLgorICAqLworIAorLV9fQkVHSU5fREVD TFMKKysjaWZkZWYgX19jcGx1c3BsdXMKKytleHRlcm4gIkMiIHsKKysjZW5kaWYKKyBFbGZfRGF0 YSAqX2xpYmVsZl9hbGxvY2F0ZV9kYXRhKEVsZl9TY24gKl9zKTsKKyBFbGYJKl9saWJlbGZfYWxs b2NhdGVfZWxmKEVsZl9NZW0gKm1lbSk7CisgRWxmX1NjbgkqX2xpYmVsZl9hbGxvY2F0ZV9zY24o RWxmICpfZSwgc2l6ZV90IF9uZHgpOworQEAgLTIxMyw2ICsyMTUsOCBAQAorIEVsZl9EYXRhICpf bGliZWxmX3hsYXRlKEVsZl9EYXRhICpfZCwgY29uc3QgRWxmX0RhdGEgKl9zLAorICAgICB1bnNp Z25lZCBpbnQgX2VuY29kaW5nLCBpbnQgX2VsZmNsYXNzLCBpbnQgX2RpcmVjdGlvbik7CisgaW50 CV9saWJlbGZfeGxhdGVfc2h0eXBlKHVpbnQzMl90IF9zaHQpOworLV9fRU5EX0RFQ0xTCisrI2lm ZGVmIF9fY3BsdXNwbHVzCisrfQorKyNlbmRpZgorIAorICNlbmRpZgkvKiBfX0xJQkVMRl9IXyAq LworZGlmZiAtdSAtciBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcv ZWxmX2JlZ2luLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9lbGZfYmVn aW4uYworLS0tIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9lbGZf YmVnaW4uYwkyMDIwLTA0LTE5IDA4OjU5OjM0LjIwMTM4NjU4NSAtMDQwMAorKysrIGNvbXBpbGVy L2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZWxmX2JlZ2luLmMJMjAyMC0wNC0xOSAwOTow MTowNC4zMTMyMTIwNDIgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0Uu CisgICovCisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxzeXMvdHlw ZXMuaD4KKyAjaWYgIWRlZmluZWQoV0lOMzIpCisgI2luY2x1ZGUgPHN5cy9lcnJuby5oPgorZGlm ZiAtdSAtciBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZWxmX2Vu ZC5jIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZWxmX2VuZC5jCistLS0g Y29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2VsZl9lbmQuYwkyMDIw LTA0LTE5IDA4OjU5OjM0LjIwMTM4NjU4NSAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJz L2VsZi91dGlscy9saWJlbGYvZWxmX2VuZC5jCTIwMjAtMDQtMTkgMDk6MDE6MTQuODk1MjA0Njgx IC0wNDAwCitAQCAtMjQsOCArMjQsNiBAQAorICAqIFNVQ0ggREFNQUdFLgorICAqLworIAorLSNp bmNsdWRlIDxzeXMvY2RlZnMuaD4KKy0KKyAjaWYgIWRlZmluZWQoV0lOMzIpCisgI2luY2x1ZGUg PHN5cy9tbWFuLmg+CisgI2VuZGlmCitkaWZmIC11IC1yIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2Vs Zi91dGlscy9saWJlbGYub3JpZy9lbGZfZXJybXNnLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxm L3V0aWxzL2xpYmVsZi9lbGZfZXJybXNnLmMKKy0tLSBjb21waWxlci9saWIvbG9hZGVycy9lbGYv dXRpbHMvbGliZWxmLm9yaWcvZWxmX2Vycm1zZy5jCTIwMjAtMDQtMTkgMDg6NTk6MzQuMjAxMzg2 NTg1IC0wNDAwCisrKysgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9lbGZf ZXJybXNnLmMJMjAyMC0wNC0xOSAwOTowMToxNi43NTMyMDcwNjUgLTA0MDAKK0BAIC0yNCw4ICsy NCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5o PgorLQorICNpbmNsdWRlIDxsaWJlbGYuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVk ZSA8c3RyaW5nLmg+CitkaWZmIC11IC1yIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9s aWJlbGYub3JpZy9lbGZfZXJybm8uYyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGli ZWxmL2VsZl9lcnJuby5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVs Zi5vcmlnL2VsZl9lcnJuby5jCTIwMjAtMDQtMTkgMDg6NTk6MzQuMjAxMzg2NTg1IC0wNDAwCisr KysgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9lbGZfZXJybm8uYwkyMDIw LTA0LTE5IDA5OjAxOjE4LjY2OTIwOTUyOCAtMDQwMAorQEAgLTI0LDggKzI0LDYgQEAKKyAgKiBT VUNIIERBTUFHRS4KKyAgKi8KKyAKKy0jaW5jbHVkZSA8c3lzL2NkZWZzLmg+CistCisgI2luY2x1 ZGUgPGxpYmVsZi5oPgorIAorICNpbmNsdWRlICJfbGliZWxmLmgiCitkaWZmIC11IC1yIGNvbXBp bGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9lbGZfZmlsbC5jIGNvbXBpbGVy L2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZWxmX2ZpbGwuYworLS0tIGNvbXBpbGVyL2xp Yi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9lbGZfZmlsbC5jCTIwMjAtMDQtMTkgMDg6 NTk6MzQuMjAyMzg2NTgzIC0wNDAwCisrKysgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxz L2xpYmVsZi9lbGZfZmlsbC5jCTIwMjAtMDQtMTkgMDk6MDE6MjEuMTA5MjEyNjY3IC0wNDAwCitA QCAtMjQsOCArMjQsNiBAQAorICAqIFNVQ0ggREFNQUdFLgorICAqLworIAorLSNpbmNsdWRlIDxz eXMvY2RlZnMuaD4KKy0KKyAjaW5jbHVkZSA8bGliZWxmLmg+CisgCisgI2luY2x1ZGUgIl9saWJl bGYuaCIKK2RpZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5v cmlnL2VsZl9mbGFnLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9lbGZf ZmxhZy5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2Vs Zl9mbGFnLmMJMjAyMC0wNC0xOSAwODo1OTozNC4yMDIzODY1ODMgLTA0MDAKKysrKyBjb21waWxl ci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2VsZl9mbGFnLmMJMjAyMC0wNC0xOSAwOTow MToyMy4zNzYyMTU1NzkgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0Uu CisgICovCisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxsaWJlbGYu aD4KKyAKKyAjaW5jbHVkZSAiX2xpYmVsZi5oIgorZGlmZiAtdSAtciBjb21waWxlci9saWIvbG9h ZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZWxmX2dldGFyaGRyLmMgY29tcGlsZXIvbGliL2xv YWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9lbGZfZ2V0YXJoZHIuYworLS0tIGNvbXBpbGVyL2xpYi9s b2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9lbGZfZ2V0YXJoZHIuYwkyMDIwLTA0LTE5IDA4 OjU5OjM0LjIwMjM4NjU4MyAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGls cy9saWJlbGYvZWxmX2dldGFyaGRyLmMJMjAyMC0wNC0xOSAwOTowMToyNS40MTQyMTgxOTcgLTA0 MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1 ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxsaWJlbGYuaD4KKyAKKyAjaW5jbHVkZSAi X2xpYmVsZi5oIgorZGlmZiAtdSAtciBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGli ZWxmLm9yaWcvZWxmX2dldGFyc3ltLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xp YmVsZi9lbGZfZ2V0YXJzeW0uYworLS0tIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9s aWJlbGYub3JpZy9lbGZfZ2V0YXJzeW0uYwkyMDIwLTA0LTE5IDA4OjU5OjM0LjIwMjM4NjU4MyAt MDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZWxmX2dldGFy c3ltLmMJMjAyMC0wNC0xOSAwOTowMToyNy41NzUyMjA5NzggLTA0MDAKK0BAIC0yNCw4ICsyNCw2 IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgor LQorICNpbmNsdWRlIDxsaWJlbGYuaD4KKyAKKyAjaW5jbHVkZSAiX2xpYmVsZi5oIgorZGlmZiAt dSAtciBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZWxmX2dldGJh c2UuYyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2VsZl9nZXRiYXNlLmMK Ky0tLSBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZWxmX2dldGJh c2UuYwkyMDIwLTA0LTE5IDA4OjU5OjM0LjIwMjM4NjU4MyAtMDQwMAorKysrIGNvbXBpbGVyL2xp Yi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZWxmX2dldGJhc2UuYwkyMDIwLTA0LTE5IDA5OjAx OjI5Ljk2MzIyNDA0MyAtMDQwMAorQEAgLTI0LDggKzI0LDYgQEAKKyAgKiBTVUNIIERBTUFHRS4K KyAgKi8KKyAKKy0jaW5jbHVkZSA8c3lzL2NkZWZzLmg+CistCisgI2luY2x1ZGUgPGxpYmVsZi5o PgorIAorICNpbmNsdWRlICJfbGliZWxmLmgiCitkaWZmIC11IC1yIGNvbXBpbGVyL2xpYi9sb2Fk ZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9lbGZfZ2V0aWRlbnQuYyBjb21waWxlci9saWIvbG9h ZGVycy9lbGYvdXRpbHMvbGliZWxmL2VsZl9nZXRpZGVudC5jCistLS0gY29tcGlsZXIvbGliL2xv YWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2VsZl9nZXRpZGVudC5jCTIwMjAtMDQtMTkgMDg6 NTk6MzQuMjAyMzg2NTgzIC0wNDAwCisrKysgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxz L2xpYmVsZi9lbGZfZ2V0aWRlbnQuYwkyMDIwLTA0LTE5IDA5OjAxOjMxLjkxMjIyNjU1MSAtMDQw MAorQEAgLTI0LDggKzI0LDYgQEAKKyAgKiBTVUNIIERBTUFHRS4KKyAgKi8KKyAKKy0jaW5jbHVk ZSA8c3lzL2NkZWZzLmg+CistCisgI2luY2x1ZGUgPGFyLmg+CisgI2luY2x1ZGUgPGFzc2VydC5o PgorICNpbmNsdWRlIDxsaWJlbGYuaD4KK2RpZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRlcnMv ZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2VsZl9oYXNoLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxm L3V0aWxzL2xpYmVsZi9lbGZfaGFzaC5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0 aWxzL2xpYmVsZi5vcmlnL2VsZl9oYXNoLmMJMjAyMC0wNC0xOSAwODo1OTozNC4yMDIzODY1ODMg LTA0MDAKKysrKyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2VsZl9oYXNo LmMJMjAyMC0wNC0xOSAwOTowMTozMy44NzcyMjkwNjkgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBA CisgICogU1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQor ICNpbmNsdWRlIDxsaWJlbGYuaD4KKyAKKyAjaW5jbHVkZSAiX2xpYmVsZl9jb25maWcuaCIKK2Rp ZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2VsZl9r aW5kLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9lbGZfa2luZC5jCist LS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2VsZl9raW5kLmMJ MjAyMC0wNC0xOSAwODo1OTozNC4yMDIzODY1ODMgLTA0MDAKKysrKyBjb21waWxlci9saWIvbG9h ZGVycy9lbGYvdXRpbHMvbGliZWxmL2VsZl9raW5kLmMJMjAyMC0wNC0xOSAwOTowMTozNS45NDAy MzE3MjEgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisg CistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxsaWJlbGYuaD4KKyAKKyAj aW5jbHVkZSAiX2xpYmVsZi5oIgorZGlmZiAtdSAtciBjb21waWxlci9saWIvbG9hZGVycy9lbGYv dXRpbHMvbGliZWxmLm9yaWcvZWxmX21lbW9yeS5jIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91 dGlscy9saWJlbGYvZWxmX21lbW9yeS5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0 aWxzL2xpYmVsZi5vcmlnL2VsZl9tZW1vcnkuYwkyMDIwLTA0LTE5IDA4OjU5OjM0LjIwMjM4NjU4 MyAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZWxmX21l bW9yeS5jCTIwMjAtMDQtMTkgMDk6MDE6MzguMTcxMjM0NTk2IC0wNDAwCitAQCAtMjQsOCArMjQs NiBAQAorICAqIFNVQ0ggREFNQUdFLgorICAqLworIAorLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4K Ky0KKyAjaW5jbHVkZSA8YXIuaD4KKyAjaW5jbHVkZSA8bGliZWxmLmg+CisgI2luY2x1ZGUgPHN0 cmluZy5oPgorZGlmZiAtdSAtciBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxm Lm9yaWcvZWxmX25leHQuYyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2Vs Zl9uZXh0LmMKKy0tLSBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcv ZWxmX25leHQuYwkyMDIwLTA0LTE5IDA4OjU5OjM0LjIwMjM4NjU4MyAtMDQwMAorKysrIGNvbXBp bGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZWxmX25leHQuYwkyMDIwLTA0LTE5IDA5 OjAxOjQwLjA2MzIzNzAyOCAtMDQwMAorQEAgLTI0LDggKzI0LDYgQEAKKyAgKiBTVUNIIERBTUFH RS4KKyAgKi8KKyAKKy0jaW5jbHVkZSA8c3lzL2NkZWZzLmg+CistCisgI2luY2x1ZGUgPGFyLmg+ CisgI2luY2x1ZGUgPGFzc2VydC5oPgorICNpbmNsdWRlIDxsaWJlbGYuaD4KK2RpZmYgLXUgLXIg Y29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2VsZl9waG51bS5jIGNv bXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZWxmX3BobnVtLmMKKy0tLSBjb21w aWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZWxmX3BobnVtLmMJMjAyMC0w NC0xOSAwODo1OTozNC4yMDIzODY1ODMgLTA0MDAKKysrKyBjb21waWxlci9saWIvbG9hZGVycy9l bGYvdXRpbHMvbGliZWxmL2VsZl9waG51bS5jCTIwMjAtMDQtMTkgMDk6MDE6NDIuNDgwMjQwMTM0 IC0wNDAwCitAQCAtMjQsOCArMjQsNiBAQAorICAqIFNVQ0ggREFNQUdFLgorICAqLworIAorLSNp bmNsdWRlIDxzeXMvY2RlZnMuaD4KKy0KKyAjaW5jbHVkZSA8YXIuaD4KKyAjaW5jbHVkZSA8bGli ZWxmLmg+CisgCitkaWZmIC11IC1yIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJl bGYub3JpZy9lbGZfcmFuZC5jIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYv ZWxmX3JhbmQuYworLS0tIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3Jp Zy9lbGZfcmFuZC5jCTIwMjAtMDQtMTkgMDg6NTk6MzQuMjAyMzg2NTgzIC0wNDAwCisrKysgY29t cGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9lbGZfcmFuZC5jCTIwMjAtMDQtMTkg MDk6MDE6NDUuMDYxMjQzNDUyIC0wNDAwCitAQCAtMjQsOCArMjQsNiBAQAorICAqIFNVQ0ggREFN QUdFLgorICAqLworIAorLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKy0KKyAjaW5jbHVkZSA8YXIu aD4KKyAjaW5jbHVkZSA8bGliZWxmLmg+CisgCitkaWZmIC11IC1yIGNvbXBpbGVyL2xpYi9sb2Fk ZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9lbGZfcmF3ZmlsZS5jIGNvbXBpbGVyL2xpYi9sb2Fk ZXJzL2VsZi91dGlscy9saWJlbGYvZWxmX3Jhd2ZpbGUuYworLS0tIGNvbXBpbGVyL2xpYi9sb2Fk ZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9lbGZfcmF3ZmlsZS5jCTIwMjAtMDQtMTkgMDg6NTk6 MzQuMjAyMzg2NTgzIC0wNDAwCisrKysgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xp YmVsZi9lbGZfcmF3ZmlsZS5jCTIwMjAtMDQtMTkgMDk6MDE6NDYuOTg4MjQ1OTI4IC0wNDAwCitA QCAtMjQsOCArMjQsNiBAQAorICAqIFNVQ0ggREFNQUdFLgorICAqLworIAorLSNpbmNsdWRlIDxz eXMvY2RlZnMuaD4KKy0KKyAjaW5jbHVkZSA8bGliZWxmLmg+CisgCisgI2luY2x1ZGUgIl9saWJl bGYuaCIKK2RpZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5v cmlnL2VsZl9zY24uYyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2VsZl9z Y24uYworLS0tIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9lbGZf c2NuLmMJMjAyMC0wNC0xOSAwODo1OTozNC4yMDIzODY1ODMgLTA0MDAKKysrKyBjb21waWxlci9s aWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2VsZl9zY24uYwkyMDIwLTA0LTE5IDA5OjAwOjE5 LjcyNDI5ODQwMyAtMDQwMAorQEAgLTI0LDggKzI0LDcgQEAKKyAgKiBTVUNIIERBTUFHRS4KKyAg Ki8KKyAKKy0jaW5jbHVkZSA8c3lzL2NkZWZzLmg+CistI2luY2x1ZGUgPHN5cy9xdWV1ZS5oPgor KyNpbmNsdWRlICJzeXNfcXVldWUuaCIKKyAKKyAjaW5jbHVkZSA8YXNzZXJ0Lmg+CisgI2luY2x1 ZGUgPGVycm5vLmg+CitkaWZmIC11IC1yIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9s aWJlbGYub3JpZy9lbGZfc2hudW0uYyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGli ZWxmL2VsZl9zaG51bS5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVs Zi5vcmlnL2VsZl9zaG51bS5jCTIwMjAtMDQtMTkgMDg6NTk6MzQuMjAyMzg2NTgzIC0wNDAwCisr KysgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9lbGZfc2hudW0uYwkyMDIw LTA0LTE5IDA5OjAxOjUxLjc2MzI1MjA2MCAtMDQwMAorQEAgLTI0LDggKzI0LDYgQEAKKyAgKiBT VUNIIERBTUFHRS4KKyAgKi8KKyAKKy0jaW5jbHVkZSA8c3lzL2NkZWZzLmg+CistCisgI2luY2x1 ZGUgPGFyLmg+CisgI2luY2x1ZGUgPGxpYmVsZi5oPgorIAorZGlmZiAtdSAtciBjb21waWxlci9s aWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZWxmX3Noc3RybmR4LmMgY29tcGlsZXIv bGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9lbGZfc2hzdHJuZHguYworLS0tIGNvbXBpbGVy L2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9lbGZfc2hzdHJuZHguYwkyMDIwLTA0 LTE5IDA4OjU5OjM0LjIwMjM4NjU4MyAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2Vs Zi91dGlscy9saWJlbGYvZWxmX3Noc3RybmR4LmMJMjAyMC0wNC0xOSAwOTowMTo1My41MzIyNTQz NDAgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCist I2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxhci5oPgorICNpbmNsdWRlIDxs aWJlbGYuaD4KKyAKK2RpZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xp YmVsZi5vcmlnL2VsZl92ZXJzaW9uLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xp YmVsZi9lbGZfdmVyc2lvbi5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xp YmVsZi5vcmlnL2VsZl92ZXJzaW9uLmMJMjAyMC0wNC0xOSAwODo1OTozNC4yMDIzODY1ODMgLTA0 MDAKKysrKyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2VsZl92ZXJzaW9u LmMJMjAyMC0wNC0xOSAwOTowMjowMS4zMzcyNjQzNzAgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBA CisgICogU1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQor ICNpbmNsdWRlIDxsaWJlbGYuaD4KKyAKKyAjaW5jbHVkZSAiX2xpYmVsZi5oIgorZGlmZiAtdSAt ciBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZ2VsZi5oIGNvbXBp bGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZ2VsZi5oCistLS0gY29tcGlsZXIvbGli L2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2dlbGYuaAkyMDIwLTA0LTE5IDA4OjU5OjM0 LjIwMjM4NjU4MyAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJl bGYvZ2VsZi5oCTIwMjAtMDQtMTkgMDk6MDQ6MjkuNjY5NDU1MDIwIC0wNDAwCitAQCAtMjksOCAr MjksNiBAQAorICNpZm5kZWYJX0dFTEZfSF8KKyAjZGVmaW5lCV9HRUxGX0hfCisgCistI2luY2x1 ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxsaWJlbGYuaD4KKyAKKyB0eXBlZGVmIEVs ZjY0X0FkZHIJR0VsZl9BZGRyOwkvKiBBZGRyZXNzZXMgKi8KK0BAIC03Miw3ICs3MCw5IEBACisg I2RlZmluZQlHRUxGX1NUX1RZUEUJCQlFTEY2NF9TVF9UWVBFCisgI2RlZmluZQlHRUxGX1NUX1ZJ U0lCSUxJVFkJCUVMRjY0X1NUX1ZJU0lCSUxJVFkKKyAKKy1fX0JFR0lOX0RFQ0xTCisrI2lmZGVm IF9fY3BsdXNwbHVzCisrZXh0ZXJuICJDIiB7CisrI2VuZGlmCisgbG9uZwkJZ2VsZl9jaGVja3N1 bShFbGYgKl9lbGYpOworIHNpemVfdAkJZ2VsZl9mc2l6ZShFbGYgKl9lbGYsIEVsZl9UeXBlIF90 eXBlLCBzaXplX3QgX2NvdW50LAorIAkJCXVuc2lnbmVkIGludCBfdmVyc2lvbik7CitAQCAtMTA5 LDYgKzEwOSw4IEBACisgaW50CQlnZWxmX3VwZGF0ZV9tb3ZlKEVsZl9EYXRhICpfZHN0LCBpbnQg X2luZGV4LCBHRWxmX01vdmUgKl9zcmMpOworIGludAkJZ2VsZl91cGRhdGVfc3ltaW5mbyhFbGZf RGF0YSAqX2RzdCwgaW50IF9pbmRleCwgR0VsZl9TeW1pbmZvICpfc3JjKTsKKyAjZW5kaWYKKy1f X0VORF9ERUNMUworKyNpZmRlZiBfX2NwbHVzcGx1cworK30KKysjZW5kaWYKKyAKKyAjZW5kaWYJ LyogX0dFTEZfSF8gKi8KK2RpZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxz L2xpYmVsZi5vcmlnL2dlbGZfY2FwLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xp YmVsZi9nZWxmX2NhcC5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVs Zi5vcmlnL2dlbGZfY2FwLmMJMjAyMC0wNC0xOSAwODo1OTozNC4yMDIzODY1ODMgLTA0MDAKKysr KyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2dlbGZfY2FwLmMJMjAyMC0w NC0xOSAwOTowMjowNS40MjkyNjk2MzIgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VD SCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRl IDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8Z2VsZi5oPgorIAorZGlmZiAtdSAtciBjb21waWxlci9s aWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZ2VsZl9jaGVja3N1bS5jIGNvbXBpbGVy L2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZ2VsZl9jaGVja3N1bS5jCistLS0gY29tcGls ZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2dlbGZfY2hlY2tzdW0uYwkyMDIw LTA0LTE5IDA4OjU5OjM0LjIwMzM4NjU4MSAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJz L2VsZi91dGlscy9saWJlbGYvZ2VsZl9jaGVja3N1bS5jCTIwMjAtMDQtMTkgMDk6MDI6MDguMTky MjczMTgzIC0wNDAwCitAQCAtMjQsOCArMjQsNiBAQAorICAqIFNVQ0ggREFNQUdFLgorICAqLwor IAorLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKy0KKyAjaW5jbHVkZSA8Z2VsZi5oPgorICNpbmNs dWRlIDxsaWJlbGYuaD4KKyAKK2RpZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0 aWxzL2xpYmVsZi5vcmlnL2dlbGZfZHluLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxz L2xpYmVsZi9nZWxmX2R5bi5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xp YmVsZi5vcmlnL2dlbGZfZHluLmMJMjAyMC0wNC0xOSAwODo1OTozNC4yMDMzODY1ODEgLTA0MDAK KysrKyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2dlbGZfZHluLmMJMjAy MC0wNC0xOSAwOTowMjoxMC4wMjAyNzU1MjUgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICog U1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNs dWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8Z2VsZi5oPgorIAorZGlmZiAtdSAtciBjb21waWxl ci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZ2VsZl9laGRyLmMgY29tcGlsZXIv bGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9nZWxmX2VoZHIuYworLS0tIGNvbXBpbGVyL2xp Yi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9nZWxmX2VoZHIuYwkyMDIwLTA0LTE5IDA4 OjU5OjM0LjIwMzM4NjU4MSAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGls cy9saWJlbGYvZ2VsZl9laGRyLmMJMjAyMC0wNC0xOSAwOTowMjoxMS44ODIyNzc5MjYgLTA0MDAK K0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUg PHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8Z2VsZi5o PgorICNpbmNsdWRlIDxsaWJlbGYuaD4KK2RpZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRlcnMv ZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2dlbGZfZnNpemUuYyBjb21waWxlci9saWIvbG9hZGVycy9l bGYvdXRpbHMvbGliZWxmL2dlbGZfZnNpemUuYworLS0tIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2Vs Zi91dGlscy9saWJlbGYub3JpZy9nZWxmX2ZzaXplLmMJMjAyMC0wNC0xOSAwODo1OTozNC4yMDMz ODY1ODEgLTA0MDAKKysrKyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2dl bGZfZnNpemUuYwkyMDIwLTA0LTE5IDA5OjAyOjE0LjEzOTI4MDgyNyAtMDQwMAorQEAgLTI0LDgg KzI0LDYgQEAKKyAgKiBTVUNIIERBTUFHRS4KKyAgKi8KKyAKKy0jaW5jbHVkZSA8c3lzL2NkZWZz Lmg+CistCisgI2luY2x1ZGUgPGdlbGYuaD4KKyAjaW5jbHVkZSA8bGliZWxmLmg+CisgCitkaWZm IC11IC1yIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9nZWxmX2dl dGNsYXNzLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9nZWxmX2dldGNs YXNzLmMKKy0tLSBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZ2Vs Zl9nZXRjbGFzcy5jCTIwMjAtMDQtMTkgMDg6NTk6MzQuMjAzMzg2NTgxIC0wNDAwCisrKysgY29t cGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9nZWxmX2dldGNsYXNzLmMJMjAyMC0w NC0xOSAwOTowMjoxNy4yNjkyODQ4NDggLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VD SCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRl IDxnZWxmLmg+CisgCisgI2luY2x1ZGUgIl9saWJlbGYuaCIKK2RpZmYgLXUgLXIgY29tcGlsZXIv bGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2dlbGZfbW92ZS5jIGNvbXBpbGVyL2xp Yi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZ2VsZl9tb3ZlLmMKKy0tLSBjb21waWxlci9saWIv bG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZ2VsZl9tb3ZlLmMJMjAyMC0wNC0xOSAwODo1 OTozNC4yMDMzODY1ODEgLTA0MDAKKysrKyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMv bGliZWxmL2dlbGZfbW92ZS5jCTIwMjAtMDQtMTkgMDk6MDI6MTguOTc0Mjg3MDM0IC0wNDAwCitA QCAtMjQsOCArMjQsNiBAQAorICAqIFNVQ0ggREFNQUdFLgorICAqLworIAorLSNpbmNsdWRlIDxz eXMvY2RlZnMuaD4KKy0KKyAjaW5jbHVkZSA8YXNzZXJ0Lmg+CisgI2luY2x1ZGUgPGdlbGYuaD4K KyAKK2RpZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmln L2dlbGZfcGhkci5jIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZ2VsZl9w aGRyLmMKKy0tLSBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZ2Vs Zl9waGRyLmMJMjAyMC0wNC0xOSAwODo1OTozNC4yMDMzODY1ODEgLTA0MDAKKysrKyBjb21waWxl ci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2dlbGZfcGhkci5jCTIwMjAtMDQtMTkgMDk6 MDI6MjAuNjc2Mjg5MjI3IC0wNDAwCitAQCAtMjQsOCArMjQsNiBAQAorICAqIFNVQ0ggREFNQUdF LgorICAqLworIAorLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKy0KKyAjaW5jbHVkZSA8Z2VsZi5o PgorICNpbmNsdWRlIDxsaWJlbGYuaD4KKyAKK2RpZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRl cnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2dlbGZfcmVsLmMgY29tcGlsZXIvbGliL2xvYWRlcnMv ZWxmL3V0aWxzL2xpYmVsZi9nZWxmX3JlbC5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxm L3V0aWxzL2xpYmVsZi5vcmlnL2dlbGZfcmVsLmMJMjAyMC0wNC0xOSAwODo1OTozNC4yMDMzODY1 ODEgLTA0MDAKKysrKyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2dlbGZf cmVsLmMJMjAyMC0wNC0xOSAwOTowMjoyMy4xNzcyOTI0MzUgLTA0MDAKK0BAIC0yNCw4ICsyNCw2 IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgor LQorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8Z2VsZi5oPgorIAorZGlmZiAtdSAt ciBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZ2VsZl9yZWxhLmMg Y29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9nZWxmX3JlbGEuYworLS0tIGNv bXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9nZWxmX3JlbGEuYwkyMDIw LTA0LTE5IDA4OjU5OjM0LjIwMzM4NjU4MSAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJz L2VsZi91dGlscy9saWJlbGYvZ2VsZl9yZWxhLmMJMjAyMC0wNC0xOSAwOTowMjoyNS4yNDYyOTUx MDAgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCist I2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVk ZSA8Z2VsZi5oPgorIAorZGlmZiAtdSAtciBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMv bGliZWxmLm9yaWcvZ2VsZl9zaGRyLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xp YmVsZi9nZWxmX3NoZHIuYworLS0tIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJl bGYub3JpZy9nZWxmX3NoZHIuYwkyMDIwLTA0LTE5IDA4OjU5OjM0LjIwMzM4NjU4MSAtMDQwMAor KysrIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZ2VsZl9zaGRyLmMJMjAy MC0wNC0xOSAwOTowMjoyOC4zMjUyOTkwNjAgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICog U1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNs dWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8Z2VsZi5oPgorICNpbmNsdWRlIDxsaWJlbGYuaD4K K2RpZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2dl bGZfc3ltLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9nZWxmX3N5bS5j CistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2dlbGZfc3lt LmMJMjAyMC0wNC0xOSAwODo1OTozNC4yMDMzODY1ODEgLTA0MDAKKysrKyBjb21waWxlci9saWIv bG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2dlbGZfc3ltLmMJMjAyMC0wNC0xOSAwOTowMjozMC4x MTMzMDEzNTYgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICov CisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAj aW5jbHVkZSA8Z2VsZi5oPgorIAorZGlmZiAtdSAtciBjb21waWxlci9saWIvbG9hZGVycy9lbGYv dXRpbHMvbGliZWxmLm9yaWcvZ2VsZl9zeW1pbmZvLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxm L3V0aWxzL2xpYmVsZi9nZWxmX3N5bWluZm8uYworLS0tIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2Vs Zi91dGlscy9saWJlbGYub3JpZy9nZWxmX3N5bWluZm8uYwkyMDIwLTA0LTE5IDA4OjU5OjM0LjIw MzM4NjU4MSAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYv Z2VsZl9zeW1pbmZvLmMJMjAyMC0wNC0xOSAwOTowMjozMS45MDYzMDM2NjIgLTA0MDAKK0BAIC0y NCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5cy9j ZGVmcy5oPgorLQorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8Z2VsZi5oPgorIAor ZGlmZiAtdSAtciBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvZ2Vs Zl9zeW1zaG5keC5jIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZ2VsZl9z eW1zaG5keC5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmln L2dlbGZfc3ltc2huZHguYwkyMDIwLTA0LTE5IDA4OjU5OjM0LjIwMzM4NjU4MSAtMDQwMAorKysr IGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvZ2VsZl9zeW1zaG5keC5jCTIw MjAtMDQtMTkgMDk6MDI6MzMuNjI2MzA1ODczIC0wNDAwCitAQCAtMjQsOCArMjQsNiBAQAorICAq IFNVQ0ggREFNQUdFLgorICAqLworIAorLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKy0KKyAjaW5j bHVkZSA8YXNzZXJ0Lmg+CisgI2luY2x1ZGUgPGdlbGYuaD4KKyAKK2RpZmYgLXUgLXIgY29tcGls ZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2dlbGZfeGxhdGUuYyBjb21waWxl ci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2dlbGZfeGxhdGUuYworLS0tIGNvbXBpbGVy L2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9nZWxmX3hsYXRlLmMJMjAyMC0wNC0x OSAwODo1OTozNC4yMDMzODY1ODEgLTA0MDAKKysrKyBjb21waWxlci9saWIvbG9hZGVycy9lbGYv dXRpbHMvbGliZWxmL2dlbGZfeGxhdGUuYwkyMDIwLTA0LTE5IDA5OjAyOjM1LjkyMTMwODgyMiAt MDQwMAorQEAgLTI0LDggKzI0LDYgQEAKKyAgKiBTVUNIIERBTUFHRS4KKyAgKi8KKyAKKy0jaW5j bHVkZSA8c3lzL2NkZWZzLmg+CistCisgI2luY2x1ZGUgPGdlbGYuaD4KKyAjaW5jbHVkZSA8bGli ZWxmLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorZGlmZiAtdSAtciBjb21waWxlci9saWIvbG9h ZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvbGliZWxmLmggY29tcGlsZXIvbGliL2xvYWRlcnMv ZWxmL3V0aWxzL2xpYmVsZi9saWJlbGYuaAorLS0tIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91 dGlscy9saWJlbGYub3JpZy9saWJlbGYuaAkyMDIwLTA0LTE5IDA4OjU5OjM0LjIwMzM4NjU4MSAt MDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvbGliZWxmLmgJ MjAyMC0wNC0xOSAwOTowNDozOC43NjA0NjY3MDYgLTA0MDAKK0BAIC0zMCw3ICszMCw3IEBACisg I2RlZmluZQlfTElCRUxGX0hfCisgCisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorLSNpbmNsdWRl IDxzeXMvcXVldWUuaD4KKysjaW5jbHVkZSAic3lzX3F1ZXVlLmgiCisgI2luY2x1ZGUgPGVsZmRl ZmluaXRpb25zLmg+CisgI2lmbmRlZiBFTV9IU0FJTAorICNkZWZpbmUgRU1fSFNBSUwgMHhBRjVB CitAQCAtMTg3LDcgKzE4Nyw5IEBACisgI2RlZmluZQlFTEZfRl9BUkNISVZFCSAgIDB4MTAwVSAv KiBhcmNoaXZlIGNyZWF0aW9uICovCisgI2RlZmluZQlFTEZfRl9BUkNISVZFX1NZU1YgMHgyMDBV IC8qIFNZU1Ygc3R5bGUgYXJjaGl2ZSAqLworIAorLV9fQkVHSU5fREVDTFMKKysjaWZkZWYgX19j cGx1c3BsdXMKKytleHRlcm4gIkMiIHsKKysjZW5kaWYKKyBFbGYJCSplbGZfYmVnaW4oaW50IF9m ZCwgRWxmX0NtZCBfY21kLCBFbGYgKl9lbGYsIEVsZl9NZW0gKl9tZW0pOworIGludAkJZWxmX2Nu dGwoRWxmICpfZWxmLCBFbGZfQ21kIF9jbWQpOworIGludAkJZWxmX2VuZChFbGYgKl9lbGYpOwor QEAgLTI1Nyw2ICsyNTksOCBAQAorIAkJCXVuc2lnbmVkIGludCBfZW5jKTsKKyBFbGZfRGF0YQkq ZWxmNjRfeGxhdGV0b20oRWxmX0RhdGEgKl9kc3QsIGNvbnN0IEVsZl9EYXRhICpfc3JjLAorIAkJ CXVuc2lnbmVkIGludCBfZW5jKTsKKy1fX0VORF9ERUNMUworKyNpZmRlZiBfX2NwbHVzcGx1cwor K30KKysjZW5kaWYKKyAKKyAjZW5kaWYJLyogX0xJQkVMRl9IXyAqLworZGlmZiAtdSAtciBjb21w aWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvbGliZWxmX2FsaWduLmMgY29t cGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9saWJlbGZfYWxpZ24uYworLS0tIGNv bXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9saWJlbGZfYWxpZ24uYwky MDIwLTA0LTE5IDA4OjU5OjM0LjIwMzM4NjU4MSAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2Fk ZXJzL2VsZi91dGlscy9saWJlbGYvbGliZWxmX2FsaWduLmMJMjAyMC0wNC0xOSAwOTowMjo0MC42 NjAzMTQ5MTEgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICov CisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4K KyAKKyAjaW5jbHVkZSA8bGliZWxmLmg+CitkaWZmIC11IC1yIGNvbXBpbGVyL2xpYi9sb2FkZXJz L2VsZi91dGlscy9saWJlbGYub3JpZy9saWJlbGZfYWxsb2NhdGUuYyBjb21waWxlci9saWIvbG9h ZGVycy9lbGYvdXRpbHMvbGliZWxmL2xpYmVsZl9hbGxvY2F0ZS5jCistLS0gY29tcGlsZXIvbGli L2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2xpYmVsZl9hbGxvY2F0ZS5jCTIwMjAtMDQt MTkgMDg6NTk6MzQuMjAzMzg2NTgxIC0wNDAwCisrKysgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxm L3V0aWxzL2xpYmVsZi9saWJlbGZfYWxsb2NhdGUuYwkyMDIwLTA0LTE5IDA5OjAyOjQzLjA3OTMx ODAxOSAtMDQwMAorQEAgLTI4LDggKzI4LDYgQEAKKyAgKiBJbnRlcm5hbCBBUElzCisgICovCisg CistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpZiAhZGVmaW5lZChXSU4zMikKKyAjaW5j bHVkZSA8c3lzL2Vycm5vLmg+CisgI2VuZGlmCitkaWZmIC11IC1yIGNvbXBpbGVyL2xpYi9sb2Fk ZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9saWJlbGZfYXIuYyBjb21waWxlci9saWIvbG9hZGVy cy9lbGYvdXRpbHMvbGliZWxmL2xpYmVsZl9hci5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMv ZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2xpYmVsZl9hci5jCTIwMjAtMDQtMTkgMDg6NTk6MzQuMjAz Mzg2NTgxIC0wNDAwCisrKysgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9s aWJlbGZfYXIuYwkyMDIwLTA0LTE5IDA5OjAyOjQ0Ljc2MzMyMDE4NyAtMDQwMAorQEAgLTI0LDgg KzI0LDYgQEAKKyAgKiBTVUNIIERBTUFHRS4KKyAgKi8KKyAKKy0jaW5jbHVkZSA8c3lzL2NkZWZz Lmg+CistCisgI2luY2x1ZGUgPGFzc2VydC5oPgorICNpbmNsdWRlIDxjdHlwZS5oPgorICNpbmNs dWRlIDxsaWJlbGYuaD4KK2RpZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxz L2xpYmVsZi5vcmlnL2xpYmVsZl9hcl91dGlsLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0 aWxzL2xpYmVsZi9saWJlbGZfYXJfdXRpbC5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxm L3V0aWxzL2xpYmVsZi5vcmlnL2xpYmVsZl9hcl91dGlsLmMJMjAyMC0wNC0xOSAwODo1OTozNC4y MDMzODY1ODEgLTA0MDAKKysrKyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxm L2xpYmVsZl9hcl91dGlsLmMJMjAyMC0wNC0xOSAwOTowMjo0Ni40NjEzMjIzNjkgLTA0MDAKK0BA IC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5 cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8bGliZWxmLmg+ CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorZGlmZiAtdSAtciBjb21waWxlci9saWIvbG9hZGVycy9l bGYvdXRpbHMvbGliZWxmLm9yaWcvbGliZWxmX2NoZWNrc3VtLmMgY29tcGlsZXIvbGliL2xvYWRl cnMvZWxmL3V0aWxzL2xpYmVsZi9saWJlbGZfY2hlY2tzdW0uYworLS0tIGNvbXBpbGVyL2xpYi9s b2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9saWJlbGZfY2hlY2tzdW0uYwkyMDIwLTA0LTE5 IDA4OjU5OjM0LjIwMzM4NjU4MSAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91 dGlscy9saWJlbGYvbGliZWxmX2NoZWNrc3VtLmMJMjAyMC0wNC0xOSAwOTowMjo0OC42NDUzMjUx NzMgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCist I2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxnZWxmLmg+CisgCisgI2luY2x1 ZGUgIl9saWJlbGYuaCIKK2RpZmYgLXUgLXIgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxz L2xpYmVsZi5vcmlnL2xpYmVsZl9jb252ZXJ0LmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0 aWxzL2xpYmVsZi9saWJlbGZfY29udmVydC5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxm L3V0aWxzL2xpYmVsZi5vcmlnL2xpYmVsZl9jb252ZXJ0LmMJMjAyMC0wNC0xOSAwODo1OTozNC4y MDMzODY1ODEgLTA0MDAKKysrKyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxm L2xpYmVsZl9jb252ZXJ0LmMJMjAyMC0wNC0xOSAwOTowMjo1MC44ODMzMjgwNTMgLTA0MDAKK0BA IC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5 cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8bGliZWxmLmg+ CisgI2luY2x1ZGUgPHN0cmluZy5oPgorZGlmZiAtdSAtciBjb21waWxlci9saWIvbG9hZGVycy9l bGYvdXRpbHMvbGliZWxmLm9yaWcvbGliZWxmX2RhdGEuYyBjb21waWxlci9saWIvbG9hZGVycy9l bGYvdXRpbHMvbGliZWxmL2xpYmVsZl9kYXRhLmMKKy0tLSBjb21waWxlci9saWIvbG9hZGVycy9l bGYvdXRpbHMvbGliZWxmLm9yaWcvbGliZWxmX2RhdGEuYwkyMDIwLTA0LTE5IDA4OjU5OjM0LjIw MzM4NjU4MSAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYv bGliZWxmX2RhdGEuYwkyMDIwLTA0LTE5IDA5OjAyOjUyLjk1MTMzMDcwOCAtMDQwMAorQEAgLTI0 LDggKzI0LDYgQEAKKyAgKiBTVUNIIERBTUFHRS4KKyAgKi8KKyAKKy0jaW5jbHVkZSA8c3lzL2Nk ZWZzLmg+CistCisgI2luY2x1ZGUgPGxpYmVsZi5oPgorIAorICNpbmNsdWRlICJfbGliZWxmLmgi CitkaWZmIC11IC1yIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9s aWJlbGZfZWhkci5jIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvbGliZWxm X2VoZHIuYworLS0tIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9s aWJlbGZfZWhkci5jCTIwMjAtMDQtMTkgMDg6NTk6MzQuMjA0Mzg2NTc5IC0wNDAwCisrKysgY29t cGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9saWJlbGZfZWhkci5jCTIwMjAtMDQt MTkgMDk6MDI6NTUuMTc2MzMzNTYzIC0wNDAwCitAQCAtMjQsOCArMjQsNiBAQAorICAqIFNVQ0gg REFNQUdFLgorICAqLworIAorLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKy0KKyAjaW5jbHVkZSA8 YXNzZXJ0Lmg+CisgI2luY2x1ZGUgPGdlbGYuaD4KKyAjaW5jbHVkZSA8bGliZWxmLmg+CitkaWZm IC11IC1yIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYub3JpZy9saWJlbGZf ZXh0ZW5kZWQuYyBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2xpYmVsZl9l eHRlbmRlZC5jCistLS0gY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmln L2xpYmVsZl9leHRlbmRlZC5jCTIwMjAtMDQtMTkgMDg6NTk6MzQuMjA0Mzg2NTc5IC0wNDAwCisr KysgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9saWJlbGZfZXh0ZW5kZWQu YwkyMDIwLTA0LTE5IDA5OjAyOjU3LjkzMjMzNzExMCAtMDQwMAorQEAgLTI0LDggKzI0LDYgQEAK KyAgKiBTVUNIIERBTUFHRS4KKyAgKi8KKyAKKy0jaW5jbHVkZSA8c3lzL2NkZWZzLmg+CistCisg I2luY2x1ZGUgPGFzc2VydC5oPgorICNpbmNsdWRlIDxsaWJlbGYuaD4KKyAKK2RpZmYgLXUgLXIg Y29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2xpYmVsZl9tc2l6ZS5j IGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvbGliZWxmX21zaXplLmMKKy0t LSBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmLm9yaWcvbGliZWxmX21zaXpl LmMJMjAyMC0wNC0xOSAwODo1OTozNC4yMDQzODY1NzkgLTA0MDAKKysrKyBjb21waWxlci9saWIv bG9hZGVycy9lbGYvdXRpbHMvbGliZWxmL2xpYmVsZl9tc2l6ZS5jCTIwMjAtMDQtMTkgMDk6MDM6 MDIuMjAxMzQyNTk4IC0wNDAwCitAQCAtMjQsOCArMjQsNiBAQAorICAqIFNVQ0ggREFNQUdFLgor ICAqLworIAorLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKy0KKyAjaW5jbHVkZSA8YXNzZXJ0Lmg+ CisgI2luY2x1ZGUgPGxpYmVsZi5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KK2RpZmYgLXUgLXIg Y29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2xpYmVsZl9waGRyLmMg Y29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9saWJlbGZfcGhkci5jCistLS0g Y29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2xpYmVsZl9waGRyLmMJ MjAyMC0wNC0xOSAwODo1OTozNC4yMDQzODY1NzkgLTA0MDAKKysrKyBjb21waWxlci9saWIvbG9h ZGVycy9lbGYvdXRpbHMvbGliZWxmL2xpYmVsZl9waGRyLmMJMjAyMC0wNC0xOSAwOTowMzowNC4x OTQzNDUxNjAgLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICov CisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAj aW5jbHVkZSA8Z2VsZi5oPgorICNpbmNsdWRlIDxsaWJlbGYuaD4KK2RpZmYgLXUgLXIgY29tcGls ZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2xpYmVsZl9zaGRyLmMgY29tcGls ZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi9saWJlbGZfc2hkci5jCistLS0gY29tcGls ZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxzL2xpYmVsZi5vcmlnL2xpYmVsZl9zaGRyLmMJMjAyMC0w NC0xOSAwODo1OTozNC4yMDQzODY1NzkgLTA0MDAKKysrKyBjb21waWxlci9saWIvbG9hZGVycy9l bGYvdXRpbHMvbGliZWxmL2xpYmVsZl9zaGRyLmMJMjAyMC0wNC0xOSAwOTowMzowNS43OTUzNDcy MTggLTA0MDAKK0BAIC0yNCw4ICsyNCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCist I2luY2x1ZGUgPHN5cy9jZGVmcy5oPgorLQorICNpbmNsdWRlIDxnZWxmLmg+CisgI2luY2x1ZGUg PGxpYmVsZi5oPgorIAorZGlmZiAtdSAtciBjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMv bGliZWxmLm9yaWcvbGliZWxmX3hsYXRlLmMgY29tcGlsZXIvbGliL2xvYWRlcnMvZWxmL3V0aWxz L2xpYmVsZi9saWJlbGZfeGxhdGUuYworLS0tIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGls cy9saWJlbGYub3JpZy9saWJlbGZfeGxhdGUuYwkyMDIwLTA0LTE5IDA4OjU5OjM0LjIwNDM4NjU3 OSAtMDQwMAorKysrIGNvbXBpbGVyL2xpYi9sb2FkZXJzL2VsZi91dGlscy9saWJlbGYvbGliZWxm X3hsYXRlLmMJMjAyMC0wNC0xOSAwOTowMzowOS40NzIzNTE5NDQgLTA0MDAKK0BAIC0yNCw4ICsy NCw2IEBACisgICogU1VDSCBEQU1BR0UuCisgICovCisgCistI2luY2x1ZGUgPHN5cy9jZGVmcy5o PgorLQorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8bGliZWxmLmg+CisgCmRpZmYg LS1naXQgYS9zcmNwa2dzL3JvY20tb3BlbmNsLXJ1bnRpbWUvZmlsZXMvcnVudGltZS1tdXNsLnBh dGNoIGIvc3JjcGtncy9yb2NtLW9wZW5jbC1ydW50aW1lL2ZpbGVzL3J1bnRpbWUtbXVzbC5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZWExOGU5MGUwOWMKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3JvY20tb3BlbmNsLXJ1bnRpbWUvZmlsZXMvcnVudGlt ZS1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBydW50aW1lL29zL29zX3Bvc2l4LmNw cC5vcmlnCTIwMjAtMDQtMTkgMDk6MTM6NTEuNzAxOTgyOTAxIC0wNDAwCisrKysgcnVudGltZS9v cy9vc19wb3NpeC5jcHAJMjAyMC0wNC0xOSAwOToxNDowNC4xNTY5NDc0MjIgLTA0MDAKK0BAIC00 NCw2ICs0NCw4IEBACisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8bXV0ZXg+Cisg CisrI2luY2x1ZGUgPGxpYmdlbi5oPiAvLyBmb3IgYmFzZW5hbWUKKysKKyAKKyBuYW1lc3BhY2Ug YW1kIHsKKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvcm9jbS1vcGVuY2wtcnVudGltZS9maWxlcy9z eXNfcXVldWUuaCBiL3NyY3BrZ3Mvcm9jbS1vcGVuY2wtcnVudGltZS9maWxlcy9zeXNfcXVldWUu aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZGFmNDU1M2QzM2UKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3JvY20tb3BlbmNsLXJ1bnRpbWUvZmlsZXMvc3lzX3F1 ZXVlLmgKQEAgLTAsMCArMSw1NzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTEsIDE5OTMK KyAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmln aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0 OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5p dmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1 c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0 d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJ QlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1Ig Q09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMg KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF IEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S IEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJ VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ TiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKglAKCMp cXVldWUuaAk4LjUgKEJlcmtlbGV5KSA4LzIwLzk0CisgKi8KKworI2lmbmRlZglfU1lTX1FVRVVF X0hfCisjZGVmaW5lCV9TWVNfUVVFVUVfSF8KKworLyoKKyAqIFRoaXMgZmlsZSBkZWZpbmVzIGZp dmUgdHlwZXMgb2YgZGF0YSBzdHJ1Y3R1cmVzOiBzaW5nbHktbGlua2VkIGxpc3RzLAorICogbGlz dHMsIHNpbXBsZSBxdWV1ZXMsIHRhaWwgcXVldWVzLCBhbmQgY2lyY3VsYXIgcXVldWVzLgorICoK KyAqIEEgc2luZ2x5LWxpbmtlZCBsaXN0IGlzIGhlYWRlZCBieSBhIHNpbmdsZSBmb3J3YXJkIHBv aW50ZXIuIFRoZQorICogZWxlbWVudHMgYXJlIHNpbmdseSBsaW5rZWQgZm9yIG1pbmltdW0gc3Bh Y2UgYW5kIHBvaW50ZXIgbWFuaXB1bGF0aW9uCisgKiBvdmVyaGVhZCBhdCB0aGUgZXhwZW5zZSBv ZiBPKG4pIHJlbW92YWwgZm9yIGFyYml0cmFyeSBlbGVtZW50cy4gTmV3CisgKiBlbGVtZW50cyBj YW4gYmUgYWRkZWQgdG8gdGhlIGxpc3QgYWZ0ZXIgYW4gZXhpc3RpbmcgZWxlbWVudCBvciBhdCB0 aGUKKyAqIGhlYWQgb2YgdGhlIGxpc3QuICBFbGVtZW50cyBiZWluZyByZW1vdmVkIGZyb20gdGhl IGhlYWQgb2YgdGhlIGxpc3QKKyAqIHNob3VsZCB1c2UgdGhlIGV4cGxpY2l0IG1hY3JvIGZvciB0 aGlzIHB1cnBvc2UgZm9yIG9wdGltdW0KKyAqIGVmZmljaWVuY3kuIEEgc2luZ2x5LWxpbmtlZCBs aXN0IG1heSBvbmx5IGJlIHRyYXZlcnNlZCBpbiB0aGUgZm9yd2FyZAorICogZGlyZWN0aW9uLiAg U2luZ2x5LWxpbmtlZCBsaXN0cyBhcmUgaWRlYWwgZm9yIGFwcGxpY2F0aW9ucyB3aXRoIGxhcmdl CisgKiBkYXRhc2V0cyBhbmQgZmV3IG9yIG5vIHJlbW92YWxzIG9yIGZvciBpbXBsZW1lbnRpbmcg YSBMSUZPIHF1ZXVlLgorICoKKyAqIEEgbGlzdCBpcyBoZWFkZWQgYnkgYSBzaW5nbGUgZm9yd2Fy ZCBwb2ludGVyIChvciBhbiBhcnJheSBvZiBmb3J3YXJkCisgKiBwb2ludGVycyBmb3IgYSBoYXNo IHRhYmxlIGhlYWRlcikuIFRoZSBlbGVtZW50cyBhcmUgZG91Ymx5IGxpbmtlZAorICogc28gdGhh dCBhbiBhcmJpdHJhcnkgZWxlbWVudCBjYW4gYmUgcmVtb3ZlZCB3aXRob3V0IGEgbmVlZCB0bwor ICogdHJhdmVyc2UgdGhlIGxpc3QuIE5ldyBlbGVtZW50cyBjYW4gYmUgYWRkZWQgdG8gdGhlIGxp c3QgYmVmb3JlCisgKiBvciBhZnRlciBhbiBleGlzdGluZyBlbGVtZW50IG9yIGF0IHRoZSBoZWFk IG9mIHRoZSBsaXN0LiBBIGxpc3QKKyAqIG1heSBvbmx5IGJlIHRyYXZlcnNlZCBpbiB0aGUgZm9y d2FyZCBkaXJlY3Rpb24uCisgKgorICogQSBzaW1wbGUgcXVldWUgaXMgaGVhZGVkIGJ5IGEgcGFp ciBvZiBwb2ludGVycywgb25lIHRoZSBoZWFkIG9mIHRoZQorICogbGlzdCBhbmQgdGhlIG90aGVy IHRvIHRoZSB0YWlsIG9mIHRoZSBsaXN0LiBUaGUgZWxlbWVudHMgYXJlIHNpbmdseQorICogbGlu a2VkIHRvIHNhdmUgc3BhY2UsIHNvIGVsZW1lbnRzIGNhbiBvbmx5IGJlIHJlbW92ZWQgZnJvbSB0 aGUKKyAqIGhlYWQgb2YgdGhlIGxpc3QuIE5ldyBlbGVtZW50cyBjYW4gYmUgYWRkZWQgdG8gdGhl IGxpc3QgYWZ0ZXIKKyAqIGFuIGV4aXN0aW5nIGVsZW1lbnQsIGF0IHRoZSBoZWFkIG9mIHRoZSBs aXN0LCBvciBhdCB0aGUgZW5kIG9mIHRoZQorICogbGlzdC4gQSBzaW1wbGUgcXVldWUgbWF5IG9u bHkgYmUgdHJhdmVyc2VkIGluIHRoZSBmb3J3YXJkIGRpcmVjdGlvbi4KKyAqCisgKiBBIHRhaWwg cXVldWUgaXMgaGVhZGVkIGJ5IGEgcGFpciBvZiBwb2ludGVycywgb25lIHRvIHRoZSBoZWFkIG9m IHRoZQorICogbGlzdCBhbmQgdGhlIG90aGVyIHRvIHRoZSB0YWlsIG9mIHRoZSBsaXN0LiBUaGUg ZWxlbWVudHMgYXJlIGRvdWJseQorICogbGlua2VkIHNvIHRoYXQgYW4gYXJiaXRyYXJ5IGVsZW1l bnQgY2FuIGJlIHJlbW92ZWQgd2l0aG91dCBhIG5lZWQgdG8KKyAqIHRyYXZlcnNlIHRoZSBsaXN0 LiBOZXcgZWxlbWVudHMgY2FuIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGJlZm9yZSBvcgorICogYWZ0 ZXIgYW4gZXhpc3RpbmcgZWxlbWVudCwgYXQgdGhlIGhlYWQgb2YgdGhlIGxpc3QsIG9yIGF0IHRo ZSBlbmQgb2YKKyAqIHRoZSBsaXN0LiBBIHRhaWwgcXVldWUgbWF5IGJlIHRyYXZlcnNlZCBpbiBl aXRoZXIgZGlyZWN0aW9uLgorICoKKyAqIEEgY2lyY2xlIHF1ZXVlIGlzIGhlYWRlZCBieSBhIHBh aXIgb2YgcG9pbnRlcnMsIG9uZSB0byB0aGUgaGVhZCBvZiB0aGUKKyAqIGxpc3QgYW5kIHRoZSBv dGhlciB0byB0aGUgdGFpbCBvZiB0aGUgbGlzdC4gVGhlIGVsZW1lbnRzIGFyZSBkb3VibHkKKyAq IGxpbmtlZCBzbyB0aGF0IGFuIGFyYml0cmFyeSBlbGVtZW50IGNhbiBiZSByZW1vdmVkIHdpdGhv dXQgYSBuZWVkIHRvCisgKiB0cmF2ZXJzZSB0aGUgbGlzdC4gTmV3IGVsZW1lbnRzIGNhbiBiZSBh ZGRlZCB0byB0aGUgbGlzdCBiZWZvcmUgb3IgYWZ0ZXIKKyAqIGFuIGV4aXN0aW5nIGVsZW1lbnQs IGF0IHRoZSBoZWFkIG9mIHRoZSBsaXN0LCBvciBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0LgorICog QSBjaXJjbGUgcXVldWUgbWF5IGJlIHRyYXZlcnNlZCBpbiBlaXRoZXIgZGlyZWN0aW9uLCBidXQg aGFzIGEgbW9yZQorICogY29tcGxleCBlbmQgb2YgbGlzdCBkZXRlY3Rpb24uCisgKgorICogRm9y IGRldGFpbHMgb24gdGhlIHVzZSBvZiB0aGVzZSBtYWNyb3MsIHNlZSB0aGUgcXVldWUoMykgbWFu dWFsIHBhZ2UuCisgKi8KKworLyoKKyAqIExpc3QgZGVmaW5pdGlvbnMuCisgKi8KKyNkZWZpbmUJ TElTVF9IRUFEKG5hbWUsIHR5cGUpCQkJCQkJXAorc3RydWN0IG5hbWUgewkJCQkJCQkJXAorCXN0 cnVjdCB0eXBlICpsaF9maXJzdDsJLyogZmlyc3QgZWxlbWVudCAqLwkJCVwKK30KKworI2RlZmlu ZQlMSVNUX0hFQURfSU5JVElBTElaRVIoaGVhZCkJCQkJCVwKKwl7IE5VTEwgfQorCisjZGVmaW5l CUxJU1RfRU5UUlkodHlwZSkJCQkJCQlcCitzdHJ1Y3QgewkJCQkJCQkJXAorCXN0cnVjdCB0eXBl ICpsZV9uZXh0OwkvKiBuZXh0IGVsZW1lbnQgKi8JCQlcCisJc3RydWN0IHR5cGUgKipsZV9wcmV2 OwkvKiBhZGRyZXNzIG9mIHByZXZpb3VzIG5leHQgZWxlbWVudCAqLwlcCit9CisKKy8qCisgKiBM aXN0IGZ1bmN0aW9ucy4KKyAqLworI2RlZmluZQlMSVNUX0lOSVQoaGVhZCkgZG8gewkJCQkJCVwK KwkoaGVhZCktPmxoX2ZpcnN0ID0gTlVMTDsJCQkJCVwKK30gd2hpbGUgKC8qQ09OU1RDT05EKi8w KQorCisjZGVmaW5lCUxJU1RfSU5TRVJUX0FGVEVSKGxpc3RlbG0sIGVsbSwgZmllbGQpIGRvIHsJ CQlcCisJaWYgKCgoZWxtKS0+ZmllbGQubGVfbmV4dCA9IChsaXN0ZWxtKS0+ZmllbGQubGVfbmV4 dCkgIT0gTlVMTCkJXAorCQkobGlzdGVsbSktPmZpZWxkLmxlX25leHQtPmZpZWxkLmxlX3ByZXYg PQkJXAorCQkgICAgJihlbG0pLT5maWVsZC5sZV9uZXh0OwkJCQlcCisJKGxpc3RlbG0pLT5maWVs ZC5sZV9uZXh0ID0gKGVsbSk7CQkJCVwKKwkoZWxtKS0+ZmllbGQubGVfcHJldiA9ICYobGlzdGVs bSktPmZpZWxkLmxlX25leHQ7CQlcCit9IHdoaWxlICgvKkNPTlNUQ09ORCovMCkKKworI2RlZmlu ZQlMSVNUX0lOU0VSVF9CRUZPUkUobGlzdGVsbSwgZWxtLCBmaWVsZCkgZG8gewkJCVwKKwkoZWxt KS0+ZmllbGQubGVfcHJldiA9IChsaXN0ZWxtKS0+ZmllbGQubGVfcHJldjsJCVwKKwkoZWxtKS0+ ZmllbGQubGVfbmV4dCA9IChsaXN0ZWxtKTsJCQkJXAorCSoobGlzdGVsbSktPmZpZWxkLmxlX3By ZXYgPSAoZWxtKTsJCQkJXAorCShsaXN0ZWxtKS0+ZmllbGQubGVfcHJldiA9ICYoZWxtKS0+Zmll bGQubGVfbmV4dDsJCVwKK30gd2hpbGUgKC8qQ09OU1RDT05EKi8wKQorCisjZGVmaW5lCUxJU1Rf SU5TRVJUX0hFQUQoaGVhZCwgZWxtLCBmaWVsZCkgZG8gewkJCQlcCisJaWYgKCgoZWxtKS0+Zmll bGQubGVfbmV4dCA9IChoZWFkKS0+bGhfZmlyc3QpICE9IE5VTEwpCQlcCisJCShoZWFkKS0+bGhf Zmlyc3QtPmZpZWxkLmxlX3ByZXYgPSAmKGVsbSktPmZpZWxkLmxlX25leHQ7XAorCShoZWFkKS0+ bGhfZmlyc3QgPSAoZWxtKTsJCQkJCVwKKwkoZWxtKS0+ZmllbGQubGVfcHJldiA9ICYoaGVhZCkt PmxoX2ZpcnN0OwkJCVwKK30gd2hpbGUgKC8qQ09OU1RDT05EKi8wKQorCisjZGVmaW5lCUxJU1Rf UkVNT1ZFKGVsbSwgZmllbGQpIGRvIHsJCQkJCVwKKwlpZiAoKGVsbSktPmZpZWxkLmxlX25leHQg IT0gTlVMTCkJCQkJXAorCQkoZWxtKS0+ZmllbGQubGVfbmV4dC0+ZmllbGQubGVfcHJldiA9IAkJ CVwKKwkJICAgIChlbG0pLT5maWVsZC5sZV9wcmV2OwkJCQlcCisJKihlbG0pLT5maWVsZC5sZV9w cmV2ID0gKGVsbSktPmZpZWxkLmxlX25leHQ7CQkJXAorfSB3aGlsZSAoLypDT05TVENPTkQqLzAp CisKKyNkZWZpbmUJTElTVF9GT1JFQUNIKHZhciwgaGVhZCwgZmllbGQpCQkJCQlcCisJZm9yICgo dmFyKSA9ICgoaGVhZCktPmxoX2ZpcnN0KTsJCQkJXAorCQkodmFyKTsJCQkJCQkJXAorCQkodmFy KSA9ICgodmFyKS0+ZmllbGQubGVfbmV4dCkpCisKKy8qCisgKiBMaXN0IGFjY2VzcyBtZXRob2Rz LgorICovCisjZGVmaW5lCUxJU1RfRU1QVFkoaGVhZCkJCSgoaGVhZCktPmxoX2ZpcnN0ID09IE5V TEwpCisjZGVmaW5lCUxJU1RfRklSU1QoaGVhZCkJCSgoaGVhZCktPmxoX2ZpcnN0KQorI2RlZmlu ZQlMSVNUX05FWFQoZWxtLCBmaWVsZCkJCSgoZWxtKS0+ZmllbGQubGVfbmV4dCkKKworCisvKgor ICogU2luZ2x5LWxpbmtlZCBMaXN0IGRlZmluaXRpb25zLgorICovCisjZGVmaW5lCVNMSVNUX0hF QUQobmFtZSwgdHlwZSkJCQkJCQlcCitzdHJ1Y3QgbmFtZSB7CQkJCQkJCQlcCisJc3RydWN0IHR5 cGUgKnNsaF9maXJzdDsJLyogZmlyc3QgZWxlbWVudCAqLwkJCVwKK30KKworI2RlZmluZQlTTElT VF9IRUFEX0lOSVRJQUxJWkVSKGhlYWQpCQkJCQlcCisJeyBOVUxMIH0KKworI2RlZmluZQlTTElT VF9FTlRSWSh0eXBlKQkJCQkJCVwKK3N0cnVjdCB7CQkJCQkJCQlcCisJc3RydWN0IHR5cGUgKnNs ZV9uZXh0OwkvKiBuZXh0IGVsZW1lbnQgKi8JCQlcCit9CisKKy8qCisgKiBTaW5nbHktbGlua2Vk IExpc3QgZnVuY3Rpb25zLgorICovCisjZGVmaW5lCVNMSVNUX0lOSVQoaGVhZCkgZG8gewkJCQkJ CVwKKwkoaGVhZCktPnNsaF9maXJzdCA9IE5VTEw7CQkJCQlcCit9IHdoaWxlICgvKkNPTlNUQ09O RCovMCkKKworI2RlZmluZQlTTElTVF9JTlNFUlRfQUZURVIoc2xpc3RlbG0sIGVsbSwgZmllbGQp IGRvIHsJCQlcCisJKGVsbSktPmZpZWxkLnNsZV9uZXh0ID0gKHNsaXN0ZWxtKS0+ZmllbGQuc2xl X25leHQ7CQlcCisJKHNsaXN0ZWxtKS0+ZmllbGQuc2xlX25leHQgPSAoZWxtKTsJCQkJXAorfSB3 aGlsZSAoLypDT05TVENPTkQqLzApCisKKyNkZWZpbmUJU0xJU1RfSU5TRVJUX0hFQUQoaGVhZCwg ZWxtLCBmaWVsZCkgZG8gewkJCVwKKwkoZWxtKS0+ZmllbGQuc2xlX25leHQgPSAoaGVhZCktPnNs aF9maXJzdDsJCQlcCisJKGhlYWQpLT5zbGhfZmlyc3QgPSAoZWxtKTsJCQkJCVwKK30gd2hpbGUg KC8qQ09OU1RDT05EKi8wKQorCisjZGVmaW5lCVNMSVNUX1JFTU9WRV9IRUFEKGhlYWQsIGZpZWxk KSBkbyB7CQkJCVwKKwkoaGVhZCktPnNsaF9maXJzdCA9IChoZWFkKS0+c2xoX2ZpcnN0LT5maWVs ZC5zbGVfbmV4dDsJCVwKK30gd2hpbGUgKC8qQ09OU1RDT05EKi8wKQorCisjZGVmaW5lCVNMSVNU X1JFTU9WRShoZWFkLCBlbG0sIHR5cGUsIGZpZWxkKSBkbyB7CQkJXAorCWlmICgoaGVhZCktPnNs aF9maXJzdCA9PSAoZWxtKSkgewkJCQlcCisJCVNMSVNUX1JFTU9WRV9IRUFEKChoZWFkKSwgZmll bGQpOwkJCVwKKwl9CQkJCQkJCQlcCisJZWxzZSB7CQkJCQkJCQlcCisJCXN0cnVjdCB0eXBlICpj dXJlbG0gPSAoaGVhZCktPnNsaF9maXJzdDsJCVwKKwkJd2hpbGUoY3VyZWxtLT5maWVsZC5zbGVf bmV4dCAhPSAoZWxtKSkJCQlcCisJCQljdXJlbG0gPSBjdXJlbG0tPmZpZWxkLnNsZV9uZXh0OwkJ XAorCQljdXJlbG0tPmZpZWxkLnNsZV9uZXh0ID0JCQkJXAorCQkgICAgY3VyZWxtLT5maWVsZC5z bGVfbmV4dC0+ZmllbGQuc2xlX25leHQ7CQlcCisJfQkJCQkJCQkJXAorfSB3aGlsZSAoLypDT05T VENPTkQqLzApCisKKyNkZWZpbmUJU0xJU1RfRk9SRUFDSCh2YXIsIGhlYWQsIGZpZWxkKQkJCQkJ XAorCWZvcigodmFyKSA9IChoZWFkKS0+c2xoX2ZpcnN0OyAodmFyKTsgKHZhcikgPSAodmFyKS0+ ZmllbGQuc2xlX25leHQpCisKKy8qCisgKiBTaW5nbHktbGlua2VkIExpc3QgYWNjZXNzIG1ldGhv ZHMuCisgKi8KKyNkZWZpbmUJU0xJU1RfRU1QVFkoaGVhZCkJKChoZWFkKS0+c2xoX2ZpcnN0ID09 IE5VTEwpCisjZGVmaW5lCVNMSVNUX0ZJUlNUKGhlYWQpCSgoaGVhZCktPnNsaF9maXJzdCkKKyNk ZWZpbmUJU0xJU1RfTkVYVChlbG0sIGZpZWxkKQkoKGVsbSktPmZpZWxkLnNsZV9uZXh0KQorCisK Ky8qCisgKiBTaW5nbHktbGlua2VkIFRhaWwgcXVldWUgZGVjbGFyYXRpb25zLgorICovCisjZGVm aW5lCVNUQUlMUV9IRUFEKG5hbWUsIHR5cGUpCQkJCQlcCitzdHJ1Y3QgbmFtZSB7CQkJCQkJCQlc CisJc3RydWN0IHR5cGUgKnN0cWhfZmlyc3Q7CS8qIGZpcnN0IGVsZW1lbnQgKi8JCQlcCisJc3Ry dWN0IHR5cGUgKipzdHFoX2xhc3Q7CS8qIGFkZHIgb2YgbGFzdCBuZXh0IGVsZW1lbnQgKi8JCVwK K30KKworI2RlZmluZQlTVEFJTFFfSEVBRF9JTklUSUFMSVpFUihoZWFkKQkJCQkJXAorCXsgTlVM TCwgJihoZWFkKS5zdHFoX2ZpcnN0IH0KKworI2RlZmluZQlTVEFJTFFfRU5UUlkodHlwZSkJCQkJ CQlcCitzdHJ1Y3QgewkJCQkJCQkJXAorCXN0cnVjdCB0eXBlICpzdHFlX25leHQ7CS8qIG5leHQg ZWxlbWVudCAqLwkJCVwKK30KKworLyoKKyAqIFNpbmdseS1saW5rZWQgVGFpbCBxdWV1ZSBmdW5j dGlvbnMuCisgKi8KKyNkZWZpbmUJU1RBSUxRX0lOSVQoaGVhZCkgZG8gewkJCQkJCVwKKwkoaGVh ZCktPnN0cWhfZmlyc3QgPSBOVUxMOwkJCQkJXAorCShoZWFkKS0+c3RxaF9sYXN0ID0gJihoZWFk KS0+c3RxaF9maXJzdDsJCQkJXAorfSB3aGlsZSAoLypDT05TVENPTkQqLzApCisKKyNkZWZpbmUJ U1RBSUxRX0lOU0VSVF9IRUFEKGhlYWQsIGVsbSwgZmllbGQpIGRvIHsJCQlcCisJaWYgKCgoZWxt KS0+ZmllbGQuc3RxZV9uZXh0ID0gKGhlYWQpLT5zdHFoX2ZpcnN0KSA9PSBOVUxMKQlcCisJCSho ZWFkKS0+c3RxaF9sYXN0ID0gJihlbG0pLT5maWVsZC5zdHFlX25leHQ7CQlcCisJKGhlYWQpLT5z dHFoX2ZpcnN0ID0gKGVsbSk7CQkJCQlcCit9IHdoaWxlICgvKkNPTlNUQ09ORCovMCkKKworI2Rl ZmluZQlTVEFJTFFfSU5TRVJUX1RBSUwoaGVhZCwgZWxtLCBmaWVsZCkgZG8gewkJCVwKKwkoZWxt KS0+ZmllbGQuc3RxZV9uZXh0ID0gTlVMTDsJCQkJCVwKKwkqKGhlYWQpLT5zdHFoX2xhc3QgPSAo ZWxtKTsJCQkJCVwKKwkoaGVhZCktPnN0cWhfbGFzdCA9ICYoZWxtKS0+ZmllbGQuc3RxZV9uZXh0 OwkJCVwKK30gd2hpbGUgKC8qQ09OU1RDT05EKi8wKQorCisjZGVmaW5lCVNUQUlMUV9JTlNFUlRf QUZURVIoaGVhZCwgbGlzdGVsbSwgZWxtLCBmaWVsZCkgZG8gewkJXAorCWlmICgoKGVsbSktPmZp ZWxkLnN0cWVfbmV4dCA9IChsaXN0ZWxtKS0+ZmllbGQuc3RxZV9uZXh0KSA9PSBOVUxMKVwKKwkJ KGhlYWQpLT5zdHFoX2xhc3QgPSAmKGVsbSktPmZpZWxkLnN0cWVfbmV4dDsJCVwKKwkobGlzdGVs bSktPmZpZWxkLnN0cWVfbmV4dCA9IChlbG0pOwkJCQlcCit9IHdoaWxlICgvKkNPTlNUQ09ORCov MCkKKworI2RlZmluZQlTVEFJTFFfUkVNT1ZFX0hFQUQoaGVhZCwgZmllbGQpIGRvIHsJCQkJXAor CWlmICgoKGhlYWQpLT5zdHFoX2ZpcnN0ID0gKGhlYWQpLT5zdHFoX2ZpcnN0LT5maWVsZC5zdHFl X25leHQpID09IE5VTEwpIFwKKwkJKGhlYWQpLT5zdHFoX2xhc3QgPSAmKGhlYWQpLT5zdHFoX2Zp cnN0OwkJCVwKK30gd2hpbGUgKC8qQ09OU1RDT05EKi8wKQorCisjZGVmaW5lCVNUQUlMUV9SRU1P VkUoaGVhZCwgZWxtLCB0eXBlLCBmaWVsZCkgZG8gewkJCVwKKwlpZiAoKGhlYWQpLT5zdHFoX2Zp cnN0ID09IChlbG0pKSB7CQkJCVwKKwkJU1RBSUxRX1JFTU9WRV9IRUFEKChoZWFkKSwgZmllbGQp OwkJCVwKKwl9IGVsc2UgewkJCQkJCQlcCisJCXN0cnVjdCB0eXBlICpjdXJlbG0gPSAoaGVhZCkt PnN0cWhfZmlyc3Q7CQlcCisJCXdoaWxlIChjdXJlbG0tPmZpZWxkLnN0cWVfbmV4dCAhPSAoZWxt KSkJCQlcCisJCQljdXJlbG0gPSBjdXJlbG0tPmZpZWxkLnN0cWVfbmV4dDsJCVwKKwkJaWYgKChj dXJlbG0tPmZpZWxkLnN0cWVfbmV4dCA9CQkJCVwKKwkJCWN1cmVsbS0+ZmllbGQuc3RxZV9uZXh0 LT5maWVsZC5zdHFlX25leHQpID09IE5VTEwpIFwKKwkJCSAgICAoaGVhZCktPnN0cWhfbGFzdCA9 ICYoY3VyZWxtKS0+ZmllbGQuc3RxZV9uZXh0OyBcCisJfQkJCQkJCQkJXAorfSB3aGlsZSAoLypD T05TVENPTkQqLzApCisKKyNkZWZpbmUJU1RBSUxRX0ZPUkVBQ0godmFyLCBoZWFkLCBmaWVsZCkJ CQkJXAorCWZvciAoKHZhcikgPSAoKGhlYWQpLT5zdHFoX2ZpcnN0KTsJCQkJXAorCQkodmFyKTsJ CQkJCQkJXAorCQkodmFyKSA9ICgodmFyKS0+ZmllbGQuc3RxZV9uZXh0KSkKKworI2RlZmluZQlT VEFJTFFfQ09OQ0FUKGhlYWQxLCBoZWFkMikgZG8gewkJCQlcCisJaWYgKCFTVEFJTFFfRU1QVFko KGhlYWQyKSkpIHsJCQkJCVwKKwkJKihoZWFkMSktPnN0cWhfbGFzdCA9IChoZWFkMiktPnN0cWhf Zmlyc3Q7CQlcCisJCShoZWFkMSktPnN0cWhfbGFzdCA9IChoZWFkMiktPnN0cWhfbGFzdDsJCVwK KwkJU1RBSUxRX0lOSVQoKGhlYWQyKSk7CQkJCQlcCisJfQkJCQkJCQkJXAorfSB3aGlsZSAoLypD T05TVENPTkQqLzApCisKKy8qCisgKiBTaW5nbHktbGlua2VkIFRhaWwgcXVldWUgYWNjZXNzIG1l dGhvZHMuCisgKi8KKyNkZWZpbmUJU1RBSUxRX0VNUFRZKGhlYWQpCSgoaGVhZCktPnN0cWhfZmly c3QgPT0gTlVMTCkKKyNkZWZpbmUJU1RBSUxRX0ZJUlNUKGhlYWQpCSgoaGVhZCktPnN0cWhfZmly c3QpCisjZGVmaW5lCVNUQUlMUV9ORVhUKGVsbSwgZmllbGQpCSgoZWxtKS0+ZmllbGQuc3RxZV9u ZXh0KQorCisKKy8qCisgKiBTaW1wbGUgcXVldWUgZGVmaW5pdGlvbnMuCisgKi8KKyNkZWZpbmUJ U0lNUExFUV9IRUFEKG5hbWUsIHR5cGUpCQkJCQlcCitzdHJ1Y3QgbmFtZSB7CQkJCQkJCQlcCisJ c3RydWN0IHR5cGUgKnNxaF9maXJzdDsJLyogZmlyc3QgZWxlbWVudCAqLwkJCVwKKwlzdHJ1Y3Qg dHlwZSAqKnNxaF9sYXN0OwkvKiBhZGRyIG9mIGxhc3QgbmV4dCBlbGVtZW50ICovCQlcCit9CisK KyNkZWZpbmUJU0lNUExFUV9IRUFEX0lOSVRJQUxJWkVSKGhlYWQpCQkJCQlcCisJeyBOVUxMLCAm KGhlYWQpLnNxaF9maXJzdCB9CisKKyNkZWZpbmUJU0lNUExFUV9FTlRSWSh0eXBlKQkJCQkJCVwK K3N0cnVjdCB7CQkJCQkJCQlcCisJc3RydWN0IHR5cGUgKnNxZV9uZXh0OwkvKiBuZXh0IGVsZW1l bnQgKi8JCQlcCit9CisKKy8qCisgKiBTaW1wbGUgcXVldWUgZnVuY3Rpb25zLgorICovCisjZGVm aW5lCVNJTVBMRVFfSU5JVChoZWFkKSBkbyB7CQkJCQkJXAorCShoZWFkKS0+c3FoX2ZpcnN0ID0g TlVMTDsJCQkJCVwKKwkoaGVhZCktPnNxaF9sYXN0ID0gJihoZWFkKS0+c3FoX2ZpcnN0OwkJCQlc Cit9IHdoaWxlICgvKkNPTlNUQ09ORCovMCkKKworI2RlZmluZQlTSU1QTEVRX0lOU0VSVF9IRUFE KGhlYWQsIGVsbSwgZmllbGQpIGRvIHsJCQlcCisJaWYgKCgoZWxtKS0+ZmllbGQuc3FlX25leHQg PSAoaGVhZCktPnNxaF9maXJzdCkgPT0gTlVMTCkJXAorCQkoaGVhZCktPnNxaF9sYXN0ID0gJihl bG0pLT5maWVsZC5zcWVfbmV4dDsJCVwKKwkoaGVhZCktPnNxaF9maXJzdCA9IChlbG0pOwkJCQkJ XAorfSB3aGlsZSAoLypDT05TVENPTkQqLzApCisKKyNkZWZpbmUJU0lNUExFUV9JTlNFUlRfVEFJ TChoZWFkLCBlbG0sIGZpZWxkKSBkbyB7CQkJXAorCShlbG0pLT5maWVsZC5zcWVfbmV4dCA9IE5V TEw7CQkJCQlcCisJKihoZWFkKS0+c3FoX2xhc3QgPSAoZWxtKTsJCQkJCVwKKwkoaGVhZCktPnNx aF9sYXN0ID0gJihlbG0pLT5maWVsZC5zcWVfbmV4dDsJCQlcCit9IHdoaWxlICgvKkNPTlNUQ09O RCovMCkKKworI2RlZmluZQlTSU1QTEVRX0lOU0VSVF9BRlRFUihoZWFkLCBsaXN0ZWxtLCBlbG0s IGZpZWxkKSBkbyB7CQlcCisJaWYgKCgoZWxtKS0+ZmllbGQuc3FlX25leHQgPSAobGlzdGVsbSkt PmZpZWxkLnNxZV9uZXh0KSA9PSBOVUxMKVwKKwkJKGhlYWQpLT5zcWhfbGFzdCA9ICYoZWxtKS0+ ZmllbGQuc3FlX25leHQ7CQlcCisJKGxpc3RlbG0pLT5maWVsZC5zcWVfbmV4dCA9IChlbG0pOwkJ CQlcCit9IHdoaWxlICgvKkNPTlNUQ09ORCovMCkKKworI2RlZmluZQlTSU1QTEVRX1JFTU9WRV9I RUFEKGhlYWQsIGZpZWxkKSBkbyB7CQkJCVwKKwlpZiAoKChoZWFkKS0+c3FoX2ZpcnN0ID0gKGhl YWQpLT5zcWhfZmlyc3QtPmZpZWxkLnNxZV9uZXh0KSA9PSBOVUxMKSBcCisJCShoZWFkKS0+c3Fo X2xhc3QgPSAmKGhlYWQpLT5zcWhfZmlyc3Q7CQkJXAorfSB3aGlsZSAoLypDT05TVENPTkQqLzAp CisKKyNkZWZpbmUJU0lNUExFUV9SRU1PVkUoaGVhZCwgZWxtLCB0eXBlLCBmaWVsZCkgZG8gewkJ CVwKKwlpZiAoKGhlYWQpLT5zcWhfZmlyc3QgPT0gKGVsbSkpIHsJCQkJXAorCQlTSU1QTEVRX1JF TU9WRV9IRUFEKChoZWFkKSwgZmllbGQpOwkJCVwKKwl9IGVsc2UgewkJCQkJCQlcCisJCXN0cnVj dCB0eXBlICpjdXJlbG0gPSAoaGVhZCktPnNxaF9maXJzdDsJCVwKKwkJd2hpbGUgKGN1cmVsbS0+ ZmllbGQuc3FlX25leHQgIT0gKGVsbSkpCQkJXAorCQkJY3VyZWxtID0gY3VyZWxtLT5maWVsZC5z cWVfbmV4dDsJCVwKKwkJaWYgKChjdXJlbG0tPmZpZWxkLnNxZV9uZXh0ID0JCQkJXAorCQkJY3Vy ZWxtLT5maWVsZC5zcWVfbmV4dC0+ZmllbGQuc3FlX25leHQpID09IE5VTEwpIFwKKwkJCSAgICAo aGVhZCktPnNxaF9sYXN0ID0gJihjdXJlbG0pLT5maWVsZC5zcWVfbmV4dDsgXAorCX0JCQkJCQkJ CVwKK30gd2hpbGUgKC8qQ09OU1RDT05EKi8wKQorCisjZGVmaW5lCVNJTVBMRVFfRk9SRUFDSCh2 YXIsIGhlYWQsIGZpZWxkKQkJCQlcCisJZm9yICgodmFyKSA9ICgoaGVhZCktPnNxaF9maXJzdCk7 CQkJCVwKKwkJKHZhcik7CQkJCQkJCVwKKwkJKHZhcikgPSAoKHZhciktPmZpZWxkLnNxZV9uZXh0 KSkKKworLyoKKyAqIFNpbXBsZSBxdWV1ZSBhY2Nlc3MgbWV0aG9kcy4KKyAqLworI2RlZmluZQlT SU1QTEVRX0VNUFRZKGhlYWQpCQkoKGhlYWQpLT5zcWhfZmlyc3QgPT0gTlVMTCkKKyNkZWZpbmUJ U0lNUExFUV9GSVJTVChoZWFkKQkJKChoZWFkKS0+c3FoX2ZpcnN0KQorI2RlZmluZQlTSU1QTEVR X05FWFQoZWxtLCBmaWVsZCkJKChlbG0pLT5maWVsZC5zcWVfbmV4dCkKKworCisvKgorICogVGFp bCBxdWV1ZSBkZWZpbml0aW9ucy4KKyAqLworI2RlZmluZQlfVEFJTFFfSEVBRChuYW1lLCB0eXBl LCBxdWFsKQkJCQkJXAorc3RydWN0IG5hbWUgewkJCQkJCQkJXAorCXF1YWwgdHlwZSAqdHFoX2Zp cnN0OwkJLyogZmlyc3QgZWxlbWVudCAqLwkJXAorCXF1YWwgdHlwZSAqcXVhbCAqdHFoX2xhc3Q7 CS8qIGFkZHIgb2YgbGFzdCBuZXh0IGVsZW1lbnQgKi8JXAorfQorI2RlZmluZSBUQUlMUV9IRUFE KG5hbWUsIHR5cGUpCV9UQUlMUV9IRUFEKG5hbWUsIHN0cnVjdCB0eXBlLCkKKworI2RlZmluZQlU QUlMUV9IRUFEX0lOSVRJQUxJWkVSKGhlYWQpCQkJCQlcCisJeyBOVUxMLCAmKGhlYWQpLnRxaF9m aXJzdCB9CisKKyNkZWZpbmUJX1RBSUxRX0VOVFJZKHR5cGUsIHF1YWwpCQkJCQlcCitzdHJ1Y3Qg ewkJCQkJCQkJXAorCXF1YWwgdHlwZSAqdHFlX25leHQ7CQkvKiBuZXh0IGVsZW1lbnQgKi8JCVwK KwlxdWFsIHR5cGUgKnF1YWwgKnRxZV9wcmV2OwkvKiBhZGRyZXNzIG9mIHByZXZpb3VzIG5leHQg ZWxlbWVudCAqL1wKK30KKyNkZWZpbmUgVEFJTFFfRU5UUlkodHlwZSkJX1RBSUxRX0VOVFJZKHN0 cnVjdCB0eXBlLCkKKworLyoKKyAqIFRhaWwgcXVldWUgZnVuY3Rpb25zLgorICovCisjZGVmaW5l CVRBSUxRX0lOSVQoaGVhZCkgZG8gewkJCQkJCVwKKwkoaGVhZCktPnRxaF9maXJzdCA9IE5VTEw7 CQkJCQlcCisJKGhlYWQpLT50cWhfbGFzdCA9ICYoaGVhZCktPnRxaF9maXJzdDsJCQkJXAorfSB3 aGlsZSAoLypDT05TVENPTkQqLzApCisKKyNkZWZpbmUJVEFJTFFfSU5TRVJUX0hFQUQoaGVhZCwg ZWxtLCBmaWVsZCkgZG8gewkJCVwKKwlpZiAoKChlbG0pLT5maWVsZC50cWVfbmV4dCA9IChoZWFk KS0+dHFoX2ZpcnN0KSAhPSBOVUxMKQlcCisJCShoZWFkKS0+dHFoX2ZpcnN0LT5maWVsZC50cWVf cHJldiA9CQkJXAorCQkgICAgJihlbG0pLT5maWVsZC50cWVfbmV4dDsJCQkJXAorCWVsc2UJCQkJ CQkJCVwKKwkJKGhlYWQpLT50cWhfbGFzdCA9ICYoZWxtKS0+ZmllbGQudHFlX25leHQ7CQlcCisJ KGhlYWQpLT50cWhfZmlyc3QgPSAoZWxtKTsJCQkJCVwKKwkoZWxtKS0+ZmllbGQudHFlX3ByZXYg PSAmKGhlYWQpLT50cWhfZmlyc3Q7CQkJXAorfSB3aGlsZSAoLypDT05TVENPTkQqLzApCisKKyNk ZWZpbmUJVEFJTFFfSU5TRVJUX1RBSUwoaGVhZCwgZWxtLCBmaWVsZCkgZG8gewkJCVwKKwkoZWxt KS0+ZmllbGQudHFlX25leHQgPSBOVUxMOwkJCQkJXAorCShlbG0pLT5maWVsZC50cWVfcHJldiA9 IChoZWFkKS0+dHFoX2xhc3Q7CQkJXAorCSooaGVhZCktPnRxaF9sYXN0ID0gKGVsbSk7CQkJCQlc CisJKGhlYWQpLT50cWhfbGFzdCA9ICYoZWxtKS0+ZmllbGQudHFlX25leHQ7CQkJXAorfSB3aGls ZSAoLypDT05TVENPTkQqLzApCisKKyNkZWZpbmUJVEFJTFFfSU5TRVJUX0FGVEVSKGhlYWQsIGxp c3RlbG0sIGVsbSwgZmllbGQpIGRvIHsJCVwKKwlpZiAoKChlbG0pLT5maWVsZC50cWVfbmV4dCA9 IChsaXN0ZWxtKS0+ZmllbGQudHFlX25leHQpICE9IE5VTEwpXAorCQkoZWxtKS0+ZmllbGQudHFl X25leHQtPmZpZWxkLnRxZV9wcmV2ID0gCQlcCisJCSAgICAmKGVsbSktPmZpZWxkLnRxZV9uZXh0 OwkJCQlcCisJZWxzZQkJCQkJCQkJXAorCQkoaGVhZCktPnRxaF9sYXN0ID0gJihlbG0pLT5maWVs ZC50cWVfbmV4dDsJCVwKKwkobGlzdGVsbSktPmZpZWxkLnRxZV9uZXh0ID0gKGVsbSk7CQkJCVwK KwkoZWxtKS0+ZmllbGQudHFlX3ByZXYgPSAmKGxpc3RlbG0pLT5maWVsZC50cWVfbmV4dDsJCVwK K30gd2hpbGUgKC8qQ09OU1RDT05EKi8wKQorCisjZGVmaW5lCVRBSUxRX0lOU0VSVF9CRUZPUkUo bGlzdGVsbSwgZWxtLCBmaWVsZCkgZG8gewkJCVwKKwkoZWxtKS0+ZmllbGQudHFlX3ByZXYgPSAo bGlzdGVsbSktPmZpZWxkLnRxZV9wcmV2OwkJXAorCShlbG0pLT5maWVsZC50cWVfbmV4dCA9IChs aXN0ZWxtKTsJCQkJXAorCSoobGlzdGVsbSktPmZpZWxkLnRxZV9wcmV2ID0gKGVsbSk7CQkJCVwK KwkobGlzdGVsbSktPmZpZWxkLnRxZV9wcmV2ID0gJihlbG0pLT5maWVsZC50cWVfbmV4dDsJCVwK K30gd2hpbGUgKC8qQ09OU1RDT05EKi8wKQorCisjZGVmaW5lCVRBSUxRX1JFTU9WRShoZWFkLCBl bG0sIGZpZWxkKSBkbyB7CQkJCVwKKwlpZiAoKChlbG0pLT5maWVsZC50cWVfbmV4dCkgIT0gTlVM TCkJCQkJXAorCQkoZWxtKS0+ZmllbGQudHFlX25leHQtPmZpZWxkLnRxZV9wcmV2ID0gCQlcCisJ CSAgICAoZWxtKS0+ZmllbGQudHFlX3ByZXY7CQkJCVwKKwllbHNlCQkJCQkJCQlcCisJCShoZWFk KS0+dHFoX2xhc3QgPSAoZWxtKS0+ZmllbGQudHFlX3ByZXY7CQlcCisJKihlbG0pLT5maWVsZC50 cWVfcHJldiA9IChlbG0pLT5maWVsZC50cWVfbmV4dDsJCQlcCit9IHdoaWxlICgvKkNPTlNUQ09O RCovMCkKKworI2RlZmluZQlUQUlMUV9GT1JFQUNIKHZhciwgaGVhZCwgZmllbGQpCQkJCQlcCisJ Zm9yICgodmFyKSA9ICgoaGVhZCktPnRxaF9maXJzdCk7CQkJCVwKKwkJKHZhcik7CQkJCQkJCVwK KwkJKHZhcikgPSAoKHZhciktPmZpZWxkLnRxZV9uZXh0KSkKKworI2RlZmluZQlUQUlMUV9GT1JF QUNIX1JFVkVSU0UodmFyLCBoZWFkLCBoZWFkbmFtZSwgZmllbGQpCQlcCisJZm9yICgodmFyKSA9 ICgqKCgoc3RydWN0IGhlYWRuYW1lICopKChoZWFkKS0+dHFoX2xhc3QpKS0+dHFoX2xhc3QpKTsJ XAorCQkodmFyKTsJCQkJCQkJXAorCQkodmFyKSA9ICgqKCgoc3RydWN0IGhlYWRuYW1lICopKCh2 YXIpLT5maWVsZC50cWVfcHJldikpLT50cWhfbGFzdCkpKQorCisjZGVmaW5lCVRBSUxRX0NPTkNB VChoZWFkMSwgaGVhZDIsIGZpZWxkKSBkbyB7CQkJCVwKKwlpZiAoIVRBSUxRX0VNUFRZKGhlYWQy KSkgewkJCQkJXAorCQkqKGhlYWQxKS0+dHFoX2xhc3QgPSAoaGVhZDIpLT50cWhfZmlyc3Q7CQlc CisJCShoZWFkMiktPnRxaF9maXJzdC0+ZmllbGQudHFlX3ByZXYgPSAoaGVhZDEpLT50cWhfbGFz dDsJXAorCQkoaGVhZDEpLT50cWhfbGFzdCA9IChoZWFkMiktPnRxaF9sYXN0OwkJCVwKKwkJVEFJ TFFfSU5JVCgoaGVhZDIpKTsJCQkJCVwKKwl9CQkJCQkJCQlcCit9IHdoaWxlICgvKkNPTlNUQ09O RCovMCkKKworLyoKKyAqIFRhaWwgcXVldWUgYWNjZXNzIG1ldGhvZHMuCisgKi8KKyNkZWZpbmUJ VEFJTFFfRU1QVFkoaGVhZCkJCSgoaGVhZCktPnRxaF9maXJzdCA9PSBOVUxMKQorI2RlZmluZQlU QUlMUV9GSVJTVChoZWFkKQkJKChoZWFkKS0+dHFoX2ZpcnN0KQorI2RlZmluZQlUQUlMUV9ORVhU KGVsbSwgZmllbGQpCQkoKGVsbSktPmZpZWxkLnRxZV9uZXh0KQorCisjZGVmaW5lCVRBSUxRX0xB U1QoaGVhZCwgaGVhZG5hbWUpIFwKKwkoKigoKHN0cnVjdCBoZWFkbmFtZSAqKSgoaGVhZCktPnRx aF9sYXN0KSktPnRxaF9sYXN0KSkKKyNkZWZpbmUJVEFJTFFfUFJFVihlbG0sIGhlYWRuYW1lLCBm aWVsZCkgXAorCSgqKCgoc3RydWN0IGhlYWRuYW1lICopKChlbG0pLT5maWVsZC50cWVfcHJldikp LT50cWhfbGFzdCkpCisKKworLyoKKyAqIENpcmN1bGFyIHF1ZXVlIGRlZmluaXRpb25zLgorICov CisjZGVmaW5lCUNJUkNMRVFfSEVBRChuYW1lLCB0eXBlKQkJCQkJXAorc3RydWN0IG5hbWUgewkJ CQkJCQkJXAorCXN0cnVjdCB0eXBlICpjcWhfZmlyc3Q7CQkvKiBmaXJzdCBlbGVtZW50ICovCQlc CisJc3RydWN0IHR5cGUgKmNxaF9sYXN0OwkJLyogbGFzdCBlbGVtZW50ICovCQlcCit9CisKKyNk ZWZpbmUJQ0lSQ0xFUV9IRUFEX0lOSVRJQUxJWkVSKGhlYWQpCQkJCQlcCisJeyAodm9pZCAqKSZo ZWFkLCAodm9pZCAqKSZoZWFkIH0KKworI2RlZmluZQlDSVJDTEVRX0VOVFJZKHR5cGUpCQkJCQkJ XAorc3RydWN0IHsJCQkJCQkJCVwKKwlzdHJ1Y3QgdHlwZSAqY3FlX25leHQ7CQkvKiBuZXh0IGVs ZW1lbnQgKi8JCVwKKwlzdHJ1Y3QgdHlwZSAqY3FlX3ByZXY7CQkvKiBwcmV2aW91cyBlbGVtZW50 ICovCQlcCit9CisKKy8qCisgKiBDaXJjdWxhciBxdWV1ZSBmdW5jdGlvbnMuCisgKi8KKyNkZWZp bmUJQ0lSQ0xFUV9JTklUKGhlYWQpIGRvIHsJCQkJCQlcCisJKGhlYWQpLT5jcWhfZmlyc3QgPSAo dm9pZCAqKShoZWFkKTsJCQkJXAorCShoZWFkKS0+Y3FoX2xhc3QgPSAodm9pZCAqKShoZWFkKTsJ CQkJXAorfSB3aGlsZSAoLypDT05TVENPTkQqLzApCisKKyNkZWZpbmUJQ0lSQ0xFUV9JTlNFUlRf QUZURVIoaGVhZCwgbGlzdGVsbSwgZWxtLCBmaWVsZCkgZG8gewkJXAorCShlbG0pLT5maWVsZC5j cWVfbmV4dCA9IChsaXN0ZWxtKS0+ZmllbGQuY3FlX25leHQ7CQlcCisJKGVsbSktPmZpZWxkLmNx ZV9wcmV2ID0gKGxpc3RlbG0pOwkJCQlcCisJaWYgKChsaXN0ZWxtKS0+ZmllbGQuY3FlX25leHQg PT0gKHZvaWQgKikoaGVhZCkpCQlcCisJCShoZWFkKS0+Y3FoX2xhc3QgPSAoZWxtKTsJCQkJXAor CWVsc2UJCQkJCQkJCVwKKwkJKGxpc3RlbG0pLT5maWVsZC5jcWVfbmV4dC0+ZmllbGQuY3FlX3By ZXYgPSAoZWxtKTsJXAorCShsaXN0ZWxtKS0+ZmllbGQuY3FlX25leHQgPSAoZWxtKTsJCQkJXAor fSB3aGlsZSAoLypDT05TVENPTkQqLzApCisKKyNkZWZpbmUJQ0lSQ0xFUV9JTlNFUlRfQkVGT1JF KGhlYWQsIGxpc3RlbG0sIGVsbSwgZmllbGQpIGRvIHsJCVwKKwkoZWxtKS0+ZmllbGQuY3FlX25l eHQgPSAobGlzdGVsbSk7CQkJCVwKKwkoZWxtKS0+ZmllbGQuY3FlX3ByZXYgPSAobGlzdGVsbSkt PmZpZWxkLmNxZV9wcmV2OwkJXAorCWlmICgobGlzdGVsbSktPmZpZWxkLmNxZV9wcmV2ID09ICh2 b2lkICopKGhlYWQpKQkJXAorCQkoaGVhZCktPmNxaF9maXJzdCA9IChlbG0pOwkJCQlcCisJZWxz ZQkJCQkJCQkJXAorCQkobGlzdGVsbSktPmZpZWxkLmNxZV9wcmV2LT5maWVsZC5jcWVfbmV4dCA9 IChlbG0pOwlcCisJKGxpc3RlbG0pLT5maWVsZC5jcWVfcHJldiA9IChlbG0pOwkJCQlcCit9IHdo aWxlICgvKkNPTlNUQ09ORCovMCkKKworI2RlZmluZQlDSVJDTEVRX0lOU0VSVF9IRUFEKGhlYWQs IGVsbSwgZmllbGQpIGRvIHsJCQlcCisJKGVsbSktPmZpZWxkLmNxZV9uZXh0ID0gKGhlYWQpLT5j cWhfZmlyc3Q7CQkJXAorCShlbG0pLT5maWVsZC5jcWVfcHJldiA9ICh2b2lkICopKGhlYWQpOwkJ CQlcCisJaWYgKChoZWFkKS0+Y3FoX2xhc3QgPT0gKHZvaWQgKikoaGVhZCkpCQkJCVwKKwkJKGhl YWQpLT5jcWhfbGFzdCA9IChlbG0pOwkJCQlcCisJZWxzZQkJCQkJCQkJXAorCQkoaGVhZCktPmNx aF9maXJzdC0+ZmllbGQuY3FlX3ByZXYgPSAoZWxtKTsJCVwKKwkoaGVhZCktPmNxaF9maXJzdCA9 IChlbG0pOwkJCQkJXAorfSB3aGlsZSAoLypDT05TVENPTkQqLzApCisKKyNkZWZpbmUJQ0lSQ0xF UV9JTlNFUlRfVEFJTChoZWFkLCBlbG0sIGZpZWxkKSBkbyB7CQkJXAorCShlbG0pLT5maWVsZC5j cWVfbmV4dCA9ICh2b2lkICopKGhlYWQpOwkJCQlcCisJKGVsbSktPmZpZWxkLmNxZV9wcmV2ID0g KGhlYWQpLT5jcWhfbGFzdDsJCQlcCisJaWYgKChoZWFkKS0+Y3FoX2ZpcnN0ID09ICh2b2lkICop KGhlYWQpKQkJCVwKKwkJKGhlYWQpLT5jcWhfZmlyc3QgPSAoZWxtKTsJCQkJXAorCWVsc2UJCQkJ CQkJCVwKKwkJKGhlYWQpLT5jcWhfbGFzdC0+ZmllbGQuY3FlX25leHQgPSAoZWxtKTsJCVwKKwko aGVhZCktPmNxaF9sYXN0ID0gKGVsbSk7CQkJCQlcCit9IHdoaWxlICgvKkNPTlNUQ09ORCovMCkK KworI2RlZmluZQlDSVJDTEVRX1JFTU9WRShoZWFkLCBlbG0sIGZpZWxkKSBkbyB7CQkJCVwKKwlp ZiAoKGVsbSktPmZpZWxkLmNxZV9uZXh0ID09ICh2b2lkICopKGhlYWQpKQkJCVwKKwkJKGhlYWQp LT5jcWhfbGFzdCA9IChlbG0pLT5maWVsZC5jcWVfcHJldjsJCVwKKwllbHNlCQkJCQkJCQlcCisJ CShlbG0pLT5maWVsZC5jcWVfbmV4dC0+ZmllbGQuY3FlX3ByZXYgPQkJCVwKKwkJICAgIChlbG0p LT5maWVsZC5jcWVfcHJldjsJCQkJXAorCWlmICgoZWxtKS0+ZmllbGQuY3FlX3ByZXYgPT0gKHZv aWQgKikoaGVhZCkpCQkJXAorCQkoaGVhZCktPmNxaF9maXJzdCA9IChlbG0pLT5maWVsZC5jcWVf bmV4dDsJCVwKKwllbHNlCQkJCQkJCQlcCisJCShlbG0pLT5maWVsZC5jcWVfcHJldi0+ZmllbGQu Y3FlX25leHQgPQkJCVwKKwkJICAgIChlbG0pLT5maWVsZC5jcWVfbmV4dDsJCQkJXAorfSB3aGls ZSAoLypDT05TVENPTkQqLzApCisKKyNkZWZpbmUJQ0lSQ0xFUV9GT1JFQUNIKHZhciwgaGVhZCwg ZmllbGQpCQkJCVwKKwlmb3IgKCh2YXIpID0gKChoZWFkKS0+Y3FoX2ZpcnN0KTsJCQkJXAorCQko dmFyKSAhPSAoY29uc3Qgdm9pZCAqKShoZWFkKTsJCQkJXAorCQkodmFyKSA9ICgodmFyKS0+Zmll bGQuY3FlX25leHQpKQorCisjZGVmaW5lCUNJUkNMRVFfRk9SRUFDSF9SRVZFUlNFKHZhciwgaGVh ZCwgZmllbGQpCQkJXAorCWZvciAoKHZhcikgPSAoKGhlYWQpLT5jcWhfbGFzdCk7CQkJCVwKKwkJ KHZhcikgIT0gKGNvbnN0IHZvaWQgKikoaGVhZCk7CQkJCVwKKwkJKHZhcikgPSAoKHZhciktPmZp ZWxkLmNxZV9wcmV2KSkKKworLyoKKyAqIENpcmN1bGFyIHF1ZXVlIGFjY2VzcyBtZXRob2RzLgor ICovCisjZGVmaW5lCUNJUkNMRVFfRU1QVFkoaGVhZCkJCSgoaGVhZCktPmNxaF9maXJzdCA9PSAo dm9pZCAqKShoZWFkKSkKKyNkZWZpbmUJQ0lSQ0xFUV9GSVJTVChoZWFkKQkJKChoZWFkKS0+Y3Fo X2ZpcnN0KQorI2RlZmluZQlDSVJDTEVRX0xBU1QoaGVhZCkJCSgoaGVhZCktPmNxaF9sYXN0KQor I2RlZmluZQlDSVJDTEVRX05FWFQoZWxtLCBmaWVsZCkJKChlbG0pLT5maWVsZC5jcWVfbmV4dCkK KyNkZWZpbmUJQ0lSQ0xFUV9QUkVWKGVsbSwgZmllbGQpCSgoZWxtKS0+ZmllbGQuY3FlX3ByZXYp CisKKyNkZWZpbmUgQ0lSQ0xFUV9MT09QX05FWFQoaGVhZCwgZWxtLCBmaWVsZCkJCQkJXAorCSgo KGVsbSktPmZpZWxkLmNxZV9uZXh0ID09ICh2b2lkICopKGhlYWQpKQkJCVwKKwkgICAgPyAoKGhl YWQpLT5jcWhfZmlyc3QpCQkJCQlcCisJICAgIDogKGVsbS0+ZmllbGQuY3FlX25leHQpKQorI2Rl ZmluZSBDSVJDTEVRX0xPT1BfUFJFVihoZWFkLCBlbG0sIGZpZWxkKQkJCQlcCisJKCgoZWxtKS0+ ZmllbGQuY3FlX3ByZXYgPT0gKHZvaWQgKikoaGVhZCkpCQkJXAorCSAgICA/ICgoaGVhZCktPmNx aF9sYXN0KQkJCQkJXAorCSAgICA6IChlbG0tPmZpZWxkLmNxZV9wcmV2KSkKKworI2VuZGlmCS8q IHN5cy9xdWV1ZS5oICovCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JvY20tb3BlbmNsLXJ1bnRpbWUv cGF0Y2hlcy9jbWFrZS5wYXRjaCBiL3NyY3BrZ3Mvcm9jbS1vcGVuY2wtcnVudGltZS9wYXRjaGVz L2NtYWtlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4yYjMz NTRmM2VlYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvcm9jbS1vcGVuY2wtcnVudGltZS9w YXRjaGVzL2NtYWtlLnBhdGNoCkBAIC0wLDAgKzEsMTIzIEBACitkaWZmIC11IC1yIC4uL29yaWdp bmFsL09wZW5DTC1JQ0QtTG9hZGVyLTZjMDNmOGI1OGZhZmQ5ZGQ2OTNlYWFjODI2NzQ5YTVjZmFk NTE1ZjgvQ01ha2VMaXN0cy50eHQgLi9PcGVuQ0wtSUNELUxvYWRlci02YzAzZjhiNThmYWZkOWRk NjkzZWFhYzgyNjc0OWE1Y2ZhZDUxNWY4L0NNYWtlTGlzdHMudHh0CistLS0gT3BlbkNMLUlDRC1M b2FkZXItNmMwM2Y4YjU4ZmFmZDlkZDY5M2VhYWM4MjY3NDlhNWNmYWQ1MTVmOC9DTWFrZUxpc3Rz LnR4dAkyMDE5LTA5LTEwIDExOjUzOjI4LjAwMDAwMDAwMCAtMDQwMAorKysrIE9wZW5DTC1JQ0Qt TG9hZGVyLTZjMDNmOGI1OGZhZmQ5ZGQ2OTNlYWFjODI2NzQ5YTVjZmFkNTE1ZjgvQ01ha2VMaXN0 cy50eHQJMjAyMC0wNC0xNiAyMDoxNjoxMy40ODExODA3NTcgLTA0MDAKK0BAIC03MywxMSArNzMs MTEgQEAKKyAKKyBzZXQgKE9QRU5DTF9JQ0RfTE9BREVSX0hFQURFUlNfRElSICR7Q01BS0VfQ1VS UkVOVF9TT1VSQ0VfRElSfS9pbmMgQ0FDSEUgUEFUSCAiUGF0aCB0byBPcGVuQ0wgSGVhZGVycyIp CisgCistYWRkX2xpYnJhcnkgKE9wZW5DTCAke09QRU5DTF9JQ0RfTE9BREVSX1NPVVJDRVN9KQor LXNldF90YXJnZXRfcHJvcGVydGllcyAoT3BlbkNMIFBST1BFUlRJRVMgVkVSU0lPTiAiMS4yIiBT T1ZFUlNJT04gIjEiKQorK2FkZF9saWJyYXJ5IChPcGVuQ0wtUk9DbSAke09QRU5DTF9JQ0RfTE9B REVSX1NPVVJDRVN9KQorK3NldF90YXJnZXRfcHJvcGVydGllcyAoT3BlbkNMLVJPQ20gUFJPUEVS VElFUyBWRVJTSU9OICIxLjIiIFNPVkVSU0lPTiAiMSIpCisgCisgaWYgKFdJTjMyKQorLSAgICB0 YXJnZXRfbGlua19saWJyYXJpZXMgKE9wZW5DTCBjZmdtZ3IzMi5saWIpCisrICAgIHRhcmdldF9s aW5rX2xpYnJhcmllcyAoT3BlbkNMLVJPQ20gY2ZnbWdyMzIubGliKQorIAorICAgICBvcHRpb24g KE9QRU5DTF9JQ0RfTE9BREVSX1JFUVVJUkVfV0RLICJCdWlsZCB3aXRoIEQzREtNVCBzdXBwb3J0 LCB3aGljaCByZXF1aXJlcyB0aGUgV2luZG93cyBXREsuIiBPTikKKyAgICAgaWYgKE9QRU5DTF9J Q0RfTE9BREVSX1JFUVVJUkVfV0RLKQorQEAgLTkyLDEwICs5MiwxMCBAQAorICAgICAgICAgICAg IGdldF9maWxlbmFtZV9jb21wb25lbnQoV0RLX0RJUkVDVE9SWSAke0xBVEVTVF9EM0RLTVRfSEVB REVSfSBESVJFQ1RPUlkpCisgICAgICAgICAgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudChXREtf RElSRUNUT1JZICR7V0RLX0RJUkVDVE9SWX0gRElSRUNUT1JZKQorICAgICAgICAgICAgIG1lc3Nh Z2UoU1RBVFVTICJGb3VuZCB0aGUgV2luZG93cyBXREsgaW46ICR7V0RLX0RJUkVDVE9SWX0iKQor LSAgICAgICAgICAgIHRhcmdldF9jb21waWxlX2RlZmluaXRpb25zKE9wZW5DTCBQUklWQVRFIE9Q RU5DTF9JQ0RfTE9BREVSX1JFUVVJUkVfV0RLKQorLSAgICAgICAgICAgIHRhcmdldF9pbmNsdWRl X2RpcmVjdG9yaWVzKE9wZW5DTCBQUklWQVRFICR7V0RLX0RJUkVDVE9SWX0vdW0pCistICAgICAg ICAgICAgdGFyZ2V0X2luY2x1ZGVfZGlyZWN0b3JpZXMoT3BlbkNMIFBSSVZBVEUgJHtXREtfRElS RUNUT1JZfS9rbSkKKy0gICAgICAgICAgICB0YXJnZXRfaW5jbHVkZV9kaXJlY3RvcmllcyhPcGVu Q0wgUFJJVkFURSAke1dES19ESVJFQ1RPUll9L3NoYXJlZCkKKysJICAgIHRhcmdldF9jb21waWxl X2RlZmluaXRpb25zKE9wZW5DTC1ST0NtIFBSSVZBVEUgT1BFTkNMX0lDRF9MT0FERVJfUkVRVUlS RV9XREspCisrCSAgICB0YXJnZXRfaW5jbHVkZV9kaXJlY3RvcmllcyhPcGVuQ0wtUk9DbSBQUklW QVRFICR7V0RLX0RJUkVDVE9SWX0vdW0pCisrCSAgICB0YXJnZXRfaW5jbHVkZV9kaXJlY3Rvcmll cyhPcGVuQ0wtUk9DbSBQUklWQVRFICR7V0RLX0RJUkVDVE9SWX0va20pCisrCSAgICB0YXJnZXRf aW5jbHVkZV9kaXJlY3RvcmllcyhPcGVuQ0wtUk9DbSBQUklWQVRFICR7V0RLX0RJUkVDVE9SWX0v c2hhcmVkKQorICAgICAgICAgZWxzZSgpCisgICAgICAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJP UiAiVGhlIFdpbmRvd3MgV0RLIHdhcyBub3QgZm91bmQuIENvbnNpZGVyIGRpc2FibGluZyBPUEVO Q0xfSUNEX0xPQURFUl9SRVFVSVJFX1dESy4gQWJvcnRpbmcuIikKKyAgICAgICAgIGVuZGlmKCkK K0BAIC0xMTMsMjUgKzExMywyNSBAQAorICAgICBlbmRpZigpCisgZWxzZSgpCisgICAgIGlmIChB UFBMRSkKKy0gICAgICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyAoT3BlbkNMICR7Q01BS0VfVEhS RUFEX0xJQlNfSU5JVH0pCisrICAgICAgICB0YXJnZXRfbGlua19saWJyYXJpZXMgKE9wZW5DTC1S T0NtICR7Q01BS0VfVEhSRUFEX0xJQlNfSU5JVH0pCisgICAgIGVsc2UgKCkKKy0gICAgICAgIHNl dF90YXJnZXRfcHJvcGVydGllcyAoT3BlbkNMIFBST1BFUlRJRVMgTElOS19GTEFHUyAiLVdsLC0t dmVyc2lvbi1zY3JpcHQgLVdsLCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9sb2FkZXIvbGlu dXgvaWNkX2V4cG9ydHMubWFwIikKKy0gICAgICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyAoT3Bl bkNMICR7Q01BS0VfVEhSRUFEX0xJQlNfSU5JVH0pCisrICAgICAgICBzZXRfdGFyZ2V0X3Byb3Bl cnRpZXMgKE9wZW5DTC1ST0NtIFBST1BFUlRJRVMgTElOS19GTEFHUyAiLVdsLC0tdmVyc2lvbi1z Y3JpcHQgLVdsLCR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9sb2FkZXIvbGludXgvaWNkX2V4 cG9ydHMubWFwIikKKysJdGFyZ2V0X2xpbmtfbGlicmFyaWVzIChPcGVuQ0wtUk9DbSAke0NNQUtF X1RIUkVBRF9MSUJTX0lOSVR9KQorICAgICBlbmRpZiAoKQorIGVuZGlmICgpCisgCisgaW5jbHVk ZV9kaXJlY3RvcmllcyAoJHtPUEVOQ0xfSUNEX0xPQURFUl9IRUFERVJTX0RJUn0pCisgYWRkX2Rl ZmluaXRpb25zICgtRENMX1RBUkdFVF9PUEVOQ0xfVkVSU0lPTj0yMjApCisgCistdGFyZ2V0X2lu Y2x1ZGVfZGlyZWN0b3JpZXMgKE9wZW5DTCBQUklWQVRFICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllf RElSfSBsb2FkZXIpCistdGFyZ2V0X2xpbmtfbGlicmFyaWVzIChPcGVuQ0wgJHtDTUFLRV9ETF9M SUJTfSkKKyt0YXJnZXRfaW5jbHVkZV9kaXJlY3RvcmllcyAoT3BlbkNMLVJPQ20gUFJJVkFURSAk e0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0gbG9hZGVyKQorK3RhcmdldF9saW5rX2xpYnJhcmll cyAoT3BlbkNMLVJPQ20gJHtDTUFLRV9ETF9MSUJTfSkKKyAKKyBpbmNsdWRlIChDVGVzdCkKKyBp ZiAoQlVJTERfVEVTVElORykKKyAgICAgYWRkX3N1YmRpcmVjdG9yeSAodGVzdCkKKyBlbmRpZigp CisgCistaW5zdGFsbCAoVEFSR0VUUyBPcGVuQ0wKKytpbnN0YWxsIChUQVJHRVRTIE9wZW5DTC1S T0NtCisgICAgIFJVTlRJTUUgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0JJTkRJUn0KKyAg ICAgQVJDSElWRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfQorICAgICBMSUJS QVJZIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9KQorZGlmZiAtdSAtciAuLi9v cmlnaW5hbC9PcGVuQ0wtSUNELUxvYWRlci02YzAzZjhiNThmYWZkOWRkNjkzZWFhYzgyNjc0OWE1 Y2ZhZDUxNWY4L3Rlc3QvbG9hZGVyX3Rlc3QvQ01ha2VMaXN0cy50eHQgLi9PcGVuQ0wtSUNELUxv YWRlci02YzAzZjhiNThmYWZkOWRkNjkzZWFhYzgyNjc0OWE1Y2ZhZDUxNWY4L3Rlc3QvbG9hZGVy X3Rlc3QvQ01ha2VMaXN0cy50eHQKKy0tLSBPcGVuQ0wtSUNELUxvYWRlci02YzAzZjhiNThmYWZk OWRkNjkzZWFhYzgyNjc0OWE1Y2ZhZDUxNWY4L3Rlc3QvbG9hZGVyX3Rlc3QvQ01ha2VMaXN0cy50 eHQJMjAxOS0wOS0xMCAxMTo1MzoyOC4wMDAwMDAwMDAgLTA0MDAKKysrKyBPcGVuQ0wtSUNELUxv YWRlci02YzAzZjhiNThmYWZkOWRkNjkzZWFhYzgyNjc0OWE1Y2ZhZDUxNWY4L3Rlc3QvbG9hZGVy X3Rlc3QvQ01ha2VMaXN0cy50eHQJMjAyMC0wNC0xNiAyMDoxNjo1Ni42NDcwMjY1ODkgLTA0MDAK K0BAIC0xMiw0ICsxMiw0IEBACisgICAgIHRlc3RfY2xnbC5jCisgICAgIHRlc3RfaW1hZ2Vfb2Jq ZWN0cy5jICkKKyAKKy10YXJnZXRfbGlua19saWJyYXJpZXMgKGljZF9sb2FkZXJfdGVzdCBPcGVu Q0wgSWNkTG9nKQorK3RhcmdldF9saW5rX2xpYnJhcmllcyAoaWNkX2xvYWRlcl90ZXN0IE9wZW5D TC1ST0NtIEljZExvZykKK2RpZmYgLXUgLXIgLi4vb3JpZ2luYWwvUk9DbS1PcGVuQ0wtUnVudGlt ZS1yb2MtMy4zLjAvQ01ha2VMaXN0cy50eHQgLi9ST0NtLU9wZW5DTC1SdW50aW1lLXJvYy0zLjMu MC9DTWFrZUxpc3RzLnR4dAorLS0tIFJPQ20tT3BlbkNMLVJ1bnRpbWUtcm9jLTMuMy4wL0NNYWtl TGlzdHMudHh0CTIwMjAtMDQtMTggMjA6MTY6MTMuNDUyNjcwODE4IC0wNDAwCisrKysgUk9DbS1P cGVuQ0wtUnVudGltZS1yb2MtMy4zLjAvQ01ha2VMaXN0cy50eHQJMjAyMC0wNC0xOCAyMDoyMDow OS43OTg4NjIzMjEgLTA0MDAKK0BAIC0xMDIsMTYgKzEwMiwxNiBAQAorIAorICMgTUFJTiBwYWNr YWdlCisgaW5zdGFsbChQUk9HUkFNUyAkPFRBUkdFVF9GSUxFOmNsaW5mbz4KKy0gICAgICAgIERF U1RJTkFUSU9OIGJpbi94ODZfNjQKKysgICAgICAgIERFU1RJTkFUSU9OIGJpbgorICAgICAgICAg Q09NUE9ORU5UIE1BSU4pCisgaW5zdGFsbChQUk9HUkFNUyAkPFRBUkdFVF9GSUxFOmFtZG9jbDY0 PgorLSAgICAgICAgREVTVElOQVRJT04gbGliL3g4Nl82NAorKyAgICAgICAgREVTVElOQVRJT04g bGliCisgICAgICAgICBDT01QT05FTlQgTUFJTikKKy1pbnN0YWxsKFBST0dSQU1TICQ8VEFSR0VU X0ZJTEU6T3BlbkNMPgorLSAgICAgICAgREVTVElOQVRJT04gbGliL3g4Nl82NAorK2luc3RhbGwo UFJPR1JBTVMgJDxUQVJHRVRfRklMRTpPcGVuQ0wtUk9DbT4KKysgICAgICAgIERFU1RJTkFUSU9O IGxpYgorICAgICAgICAgQ09NUE9ORU5UIE1BSU4pCistaW5zdGFsbChQUk9HUkFNUyAkPFRBUkdF VF9TT05BTUVfRklMRTpPcGVuQ0w+CistICAgICAgICBERVNUSU5BVElPTiBsaWIveDg2XzY0Cisr aW5zdGFsbChQUk9HUkFNUyAkPFRBUkdFVF9TT05BTUVfRklMRTpPcGVuQ0wtUk9DbT4KKysgICAg ICAgIERFU1RJTkFUSU9OIGxpYgorICAgICAgICAgQ09NUE9ORU5UIE1BSU4pCisgCisgIyBERVYg cGFja2FnZQorQEAgLTEyMyw4ICsxMjMsOCBAQAorICAgICAgICAgUEFUVEVSTiBjbF9kM2QxMS5o IEVYQ0xVREUKKyAgICAgICAgIFBBVFRFUk4gY2xfZHg5X21lZGlhX3NoYXJpbmcuaCBFWENMVURF CisgICAgICAgICBQQVRURVJOIGNsX2VnbC5oIEVYQ0xVREUpCistaW5zdGFsbChQUk9HUkFNUyAk PFRBUkdFVF9MSU5LRVJfRklMRTpPcGVuQ0w+CistICAgICAgICBERVNUSU5BVElPTiBsaWIveDg2 XzY0CisraW5zdGFsbChQUk9HUkFNUyAkPFRBUkdFVF9MSU5LRVJfRklMRTpPcGVuQ0wtUk9DbT4K KysgICAgICAgIERFU1RJTkFUSU9OIGxpYgorICAgICAgICAgQ09NUE9ORU5UIERFVikKKyAKKyAj IEdlbmVyaWMgQ1BBQ0sgdmFyaWFibGVzCitkaWZmIC11IC1yIC4uL29yaWdpbmFsL1JPQ20tT3Bl bkNMLVJ1bnRpbWUtcm9jLTMuMy4wL3Rvb2xzL2NsaW5mby9DTWFrZUxpc3RzLnR4dCAuL1JPQ20t T3BlbkNMLVJ1bnRpbWUtcm9jLTMuMy4wL3Rvb2xzL2NsaW5mby9DTWFrZUxpc3RzLnR4dAorLS0t IFJPQ20tT3BlbkNMLVJ1bnRpbWUtcm9jLTMuMy4wL3Rvb2xzL2NsaW5mby9DTWFrZUxpc3RzLnR4 dAkyMDIwLTA0LTAxIDEzOjA1OjA3LjAwMDAwMDAwMCAtMDQwMAorKysrIFJPQ20tT3BlbkNMLVJ1 bnRpbWUtcm9jLTMuMy4wL3Rvb2xzL2NsaW5mby9DTWFrZUxpc3RzLnR4dAkyMDIwLTA0LTE2IDIw OjE3OjMzLjczNTg5NDEyMyAtMDQwMAorQEAgLTgsNCArOCw3IEBACisgCisgYWRkX2V4ZWN1dGFi bGUoY2xpbmZvIGNsaW5mby5jcHApCisgCistdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNsaW5mbyBP cGVuQ0wpCisrdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNsaW5mbyBPcGVuQ0wtUk9DbSkKKysKKysj IE1ha2Ugc3VyZSB0aGUgY2xpbmZvIHJwYXRoIGRvZXMgbm90IHBvaW50IHRvIGJ1aWxkIGRpcmVj dG9yeQorK3NldF90YXJnZXRfcHJvcGVydGllcyhjbGluZm8gUFJPUEVSVElFUyBCVUlMRF9XSVRI X0lOU1RBTExfUlBBVEggT04pCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JvY20tb3BlbmNsLXJ1bnRp bWUvdGVtcGxhdGUgYi9zcmNwa2dzL3JvY20tb3BlbmNsLXJ1bnRpbWUvdGVtcGxhdGUKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjgzMmVjNzU2NmZmCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9yb2NtLW9wZW5jbC1ydW50aW1lL3RlbXBsYXRlCkBAIC0wLDAgKzEs NzggQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3JvY20tb3BlbmNsLXJ1bnRpbWUnCitwa2duYW1l PXJvY20tb3BlbmNsLXJ1bnRpbWUKK3ZlcnNpb249My4zLjAKK3JldmlzaW9uPTEKK19vY2xfaWNk X25hbWU9Ik9wZW5DTC1JQ0QtTG9hZGVyIgorX29jbF9pY2RfdmVyPSI2YzAzZjhiNThmYWZkOWRk NjkzZWFhYzgyNjc0OWE1Y2ZhZDUxNWY4IgorYXJjaHM9Ing4Nl82NCoiCitjcmVhdGVfd3Jrc3Jj PXllcworYnVpbGRfd3Jrc3JjPSJST0NtLU9wZW5DTC1SdW50aW1lLXJvYy0ke3ZlcnNpb259Igor YnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZpZ3VyZV9hcmdzPSItRENNQUtFX0lOU1RBTExfUFJFRklY OlBBVEg9L29wdC9yb2NtCisJLURDTUFLRV9QUkVGSVhfUEFUSDpQQVRIPS9vcHQvcm9jbS9saWIv Y21ha2UKKwktRENNQUtFX0lOU1RBTExfUlBBVEg6UEFUSD0nXCRPUklHSU46XCRPUklHSU4vLi4v bGliJworCS1EVVNFX0NPTUdSX0xJQlJBUlk9eWVzIgoraG9zdG1ha2VkZXBlbmRzPSJjbWFrZSBw a2ctY29uZmlnIgorbWFrZWRlcGVuZHM9ImxpYmdsdm5kLWRldmVsIHJvY20tY29tZ3ItZGV2ZWwK Kwlyb2N0LXRodW5rLWludGVyZmFjZS1kZXZlbCByb2NyLXJ1bnRpbWUtZGV2ZWwiCitkZXBlbmRz PSJyb2NtLWNvbWdyIgorc2hvcnRfZGVzYz0iUmFkZW9uIE9wZW4gQ29tcHV0ZSBPcGVuQ0wgcnVu dGltZSIKK21haW50YWluZXI9IkFuZHJldyBKLiBIZXNmb3JkIDxhamhAc2lkZWJhbmQub3JnPiIK K2xpY2Vuc2U9Ik1JVCIKK2hvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vUmFkZW9uT3BlbkNv bXB1dGUvUk9DbS1PcGVuQ0wtUnVudGltZSIKK19yb2Nyb290PSJodHRwczovL2dpdGh1Yi5jb20v UmFkZW9uT3BlbkNvbXB1dGUiCitkaXN0ZmlsZXM9IiR7X3JvY3Jvb3R9L1JPQ20tT3BlbkNMLVJ1 bnRpbWUvYXJjaGl2ZS9yb2MtJHt2ZXJzaW9ufS50YXIuZ3oKKwkke19yb2Nyb290fS9yb2NtLWNt YWtlL2FyY2hpdmUvcm9jbS0ke3ZlcnNpb259LnRhci5negorCWh0dHBzOi8vZ2l0aHViLmNvbS9L aHJvbm9zR3JvdXAvJHtfb2NsX2ljZF9uYW1lfS9hcmNoaXZlLyR7X29jbF9pY2RfdmVyfS50YXIu Z3oiCitjaGVja3N1bT0iYWM2OTk5ZjFhNDkxYWIwNjYyODZjMmJkNmFkZjUwZjA4ZjgzMTI4NmY1 NmUyNjc4NzlmOWY3ZWNlZDIyZjk4ZQorCTc2ZWQzZWU4ZTU2Y2YzMjQ2MDExY2Y3NzIzYzJhYmRh NTM5ZTExMzZlN2U3ZjY5MDliZmE0NWQyNjhiODY0NGYKKwljOTRkNWJiNmRjOTgwYzRkNDFkNzNl MmI4MTY2M2ExOWFhYmU0OTRlOTIzZTJkMGVlYzcyYTRjOTViMzE4NDM4Igorbm9jcm9zcz15ZXMK KworcG9zdF9wYXRjaCgpIHsKKwlpZiBbICIkWEJQU19MSUJDIiA9ICJtdXNsIiBdOyB0aGVuCisJ CSMgQ29weSBzeXMvcXVldWUuaCBsb2NhbGx5IGZvciBNVVNMIGJ1aWxkcworCQlsaWJlbGZfZGly PSJjb21waWxlci9saWIvbG9hZGVycy9lbGYvdXRpbHMvbGliZWxmIgorCQljcCAiJHtGSUxFU0RJ Un0vc3lzX3F1ZXVlLmgiICIke2xpYmVsZl9kaXJ9IgorCisJCSMgUmVtb3ZlIGRlcGVuZGVuY2Ug b24gZ2xpYmMKKwkJcGF0Y2ggLU5wMCA8ICR7RklMRVNESVJ9L2xpYmVsZi1tdXNsLnBhdGNoCisJ CXBhdGNoIC1OcDAgPCAke0ZJTEVTRElSfS9ydW50aW1lLW11c2wucGF0Y2gKKwkJdnNlZCAtZSAn L2dsaWJjX2Z1bmN0aW9ucy5jcHAvZCcgLWkgYXBpL29wZW5jbC9hbWRvY2wvQ01ha2VMaXN0cy50 eHQKKwlmaQorfQorCitwcmVfY29uZmlndXJlKCkgeworCSMgUk9DbSByZXF1aXJlcyBhIHZlcnkg c3BlY2lmaWMgS2hyb25vcyBJQ0QgbG9hZGVyIHZlcnNpb24gaW4gdGhlIHRyZWUKKwkjIEtlZXAg dGhlIElDRCBsb2FkZXIgY29uZmlnIGluIC9vcHQvcm9jbSB0byBhdm9pZCBjb25mbGljdHMKKwlf b2NsX2ljZF9kaXI9IiR7X29jbF9pY2RfbmFtZX0tJHtfb2NsX2ljZF92ZXJ9IgorCWxuIC1zZiAi JHt3cmtzcmN9LyR7X29jbF9pY2RfZGlyfSIgYXBpL29wZW5jbC9raHJvbm9zL2ljZAorCXZzZWQg LWkgIiR7d3Jrc3JjfS8ke19vY2xfaWNkX2Rpcn0vbG9hZGVyL2ljZF9wbGF0Zm9ybS5oIiBcCisJ CS1lICdzQC9ldGMvT3BlbkNML3ZlbmRvcnMvQC9vcHQvcm9jbSZAZycKKworCSMgQ01ha2UgbW9k dWxlcyBwcm9iYWJseSBub3QgdXNlZnVsIGFueXdoZXJlIGJ1dCBmb3IgdGhpcyBidWlsZAorCWxu IC1zZiAiJHt3cmtzcmN9L3JvY20tY21ha2Utcm9jbS0ke3ZlcnNpb259L3NoYXJlL3JvY20vY21h a2UiLyouY21ha2UgY21ha2UKKworCSMgRml4IHRoZSBkbG9wZW4gbWFjcm8gdG8gcG9pbnQgdG8g dmVyc2lvbmVkIGxpYmFtZF9jb21nciBzaGFyZWQgb2JqZWN0CisJdnNlZCAtaSAncnVudGltZS9k ZXZpY2UvY29tZ3JjdHguY3BwJyBcCisJCS1lICdzL1xibGliYW1kX2NvbWdyXCgzMlwpXD8uc29c Yi8mLjEvZycKK30KKworcG9zdF9pbnN0YWxsKCkgeworCXZsaWNlbnNlIExpY2Vuc2UKKworCSMg Q3JlYXRlIGRlc2NyaXB0b3IgdG8gYWxsb3cgdGhlIElDRCBsb2FkZXIgdG8gZmluZCB0aGUgZHJp dmVyCisJX29jbF9pY2RfZGlyPSJvcHQvcm9jbS9ldGMvT3BlbkNML3ZlbmRvcnMiCisJdm1rZGly ICIke19vY2xfaWNkX2Rpcn0iCisJZWNobyAiL29wdC9yb2NtL2xpYi9saWJhbWRvY2w2NC5zbyIg XAorCQk+ICIke0RFU1RESVJ9LyR7X29jbF9pY2RfZGlyfS9hbWRvY2w2NC5pY2QiCit9CisKK3Jv Y20tb3BlbmNsLXJ1bnRpbWUtZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSIke3NvdXJjZXBr Z30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCisJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50 IGZpbGVzIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSBvcHQvcm9jbS9pbmNsdWRlCisJCXZt b3ZlIG9wdC9yb2NtL2xpYi9saWJPcGVuQ0wtUk9DbS5zbworCX0KK30K --===============1560779951836422890==--