From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 10006 invoked from network); 5 Apr 2023 22:13:49 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 5 Apr 2023 22:13:49 -0000 Content-Type: multipart/mixed; boundary="===============6314432764831197094==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_Qt6=3A_Update_to_6=2E5=2E0?= To: ml@inbox.vuxu.org From: Johnnynator Reply-to: ml@inbox.vuxu.org Message-ID: Date: Thu, 06 Apr 2023 00:13:49 +0200 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============6314432764831197094== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IEpvaG5ueW5hdG9yIGFnYWluc3QgbWFzdGVy IG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9Kb2hu bnluYXRvci92b2lkLXBhY2thZ2VzIHF0Ni41LjAKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQzMjkzCgpRdDY6IFVwZGF0ZSB0byA2LjUuMAotIHF0Ni13 ZWJzb2NrZXRzOiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni13ZWJlbmdpbmU6IHVwZGF0ZSB0byA2 LjUuMC4NCi0gcXQ2LXdlYmNoYW5uZWw6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LXdheWxhbmQ6 IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LXZpcnR1YWxrZXlib2FyZDogdXBkYXRlIHRvIDYuNS4w Lg0KLSBxdDYtdHJhbnNsYXRpb25zOiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni10b29sczogdXBk YXRlIHRvIDYuNS4wLg0KLSBxdDYtc3ZnOiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni1zaGFkZXJ0 b29sczogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtc2VyaWFscG9ydDogdXBkYXRlIHRvIDYuNS4w Lg0KLSBxdDYtc2Vuc29yczogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtc2N4bWw6IHVwZGF0ZSB0 byA2LjUuMC4NCi0gcXQ2LXJlbW90ZW9iamVjdHM6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LXF1 aWNrdGltZWxpbmU6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LXF1aWNrM2Q6IHVwZGF0ZSB0byA2 LjUuMC4NCi0gcXQ2LXF0NWNvbXBhdDogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtbmV0d29ya2F1 dGg6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LW11bHRpbWVkaWE6IHVwZGF0ZSB0byA2LjUuMC4N Ci0gcXQ2LWxvdHRpZTogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtbG9jYXRpb246IHVwZGF0ZSB0 byA2LjUuMC4NCi0gcXQ2LWltYWdlZm9ybWF0czogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtZGVj bGFyYXRpdmU6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LWNvbm5lY3Rpdml0eTogdXBkYXRlIHRv IDYuNS4wLg0KLSBxdDYtY2hhcnRzOiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni1iYXNlOiB1cGRh dGUgdG8gNi41LjAuDQotIHF0Ni0zZDogdXBkYXRlIHRvIDYuNS4wLg0KDQo8IS0tIFVuY29tbWVu dCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBhcHBs aWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhlIGNo YW5nZXMgaW4gdGhpcyBQUjogKipZRVMqKnwqKmJyaWVmbHkqKnwqKk5PKioNCg0KPCEtLQ0KIyMj IyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBbcGFja2Fn ZSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2Fn ZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1lbnRzKTogKipZ RVMqKnwqKk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtlbHkgdG8g dGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBkZXNjcmli ZWQgaW4NCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9t YXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0ZXN0IGF0 IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0IG9uZSBj cm9zcyBidWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qgc2tpcHBp bmcgQ0kuDQotLT4NCiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIg bG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgeDg2XzY0DQotIEkgYnVpbHQgdGhp cyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChpZiBzdXBwb3J0ZWQuIG1hcmsg Y3Jvc3NidWlsZHMpOg0KICAtICAtIFt4XSByaXNjdjY0DQogIC0gIC0gWyBdIHg4Nl82NC1tdXNs DQogIC0gIC0gWyBdIGFhcmNoNjQNCg0KW2NpIHNraXBdDQpbc2tpcCBjaV0KCkEgcGF0Y2ggZmls ZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80 MzI5My5wYXRjaCBpcyBhdHRhY2hlZA== --===============6314432764831197094== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-qt6.5.0-43293.patch" RnJvbSA1OGEzYzFmZDhjYTRiOWZlZDkwNWU5NjcxYjFiZTFjYjViNTU1N2UzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwg MyBBcHIgMjAyMyAxOTozNzo0NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMjZdIHF0Ni13ZWJz b2NrZXRzOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvcGF0 Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoIHwgNyAtLS0tLS0tCiBzcmNwa2dzL3F0Ni13ZWJzb2Nr ZXRzL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICB8IDggKysrKy0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgNCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaAoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBh dGNoIGIvc3JjcGtncy9xdDYtd2Vic29ja2V0cy9wYXRjaGVzL25vLWNtYWtlLXRlc3QucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4MjlmOWZhYjFkZi4uMDAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0tLS0gYS90ZXN0cy9hdXRvL0NNYWtlTGlz dHMudHh0Ci0rKysgYi90ZXN0cy9hdXRvL0NNYWtlTGlzdHMudHh0Ci1AQCAtMSw0ICsxLDMgQEAK LS1hZGRfc3ViZGlyZWN0b3J5KGNtYWtlKQotIGFkZF9zdWJkaXJlY3Rvcnkod2Vic29ja2V0cykK LSBpZihUQVJHRVQgUXQ6OlF1aWNrKQotICAgICBhZGRfc3ViZGlyZWN0b3J5KHFtbCkKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni13ZWJz b2NrZXRzL3RlbXBsYXRlCmluZGV4IDQ2NzA4M2ZjZDQ0Yy4uM2UwMmZiMTI3ZmQ2IDEwMDY0NAot LS0gYS9zcmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXdl YnNvY2tldHMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdx dDYtd2Vic29ja2V0cycKIHBrZ25hbWU9cXQ2LXdlYnNvY2tldHMKLXZlcnNpb249Ni40LjIKK3Zl cnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVu ZHM9InBlcmwgcXQ2LWJhc2UgcXQ2LWRlY2xhcmF0aXZlLWhvc3QtdG9vbHMiCkBAIC0xMiw3ICsx Miw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSIo TEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMu MC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5p by8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9x dC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHdlYnNvY2tldHMtZXZlcnl3 aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT03MWNmODU3NTgyZGIyMGMyMDEw M2E1NmY2N2Q1MWMzM2M0YWIwYjcyNDQ4MjA5Yzk2M2QzYjQ0OWE1MjdjNjI2CitjaGVja3N1bT1i YzA4N2JkNjU2YmIzNGRhMTIwY2NhYjZlOTI3MDM2YTIxOWY3NWZkODhmMTU0Mzc0NGM0MjZiZmNh NjE2MzA4CiAKIHByZV9jaGVjaygpIHsKIAlleHBvcnQgUU1MMl9JTVBPUlRfUEFUSD0iJHdya3Ny Yy9idWlsZC9saWIvcXQ2L3FtbCIKQEAgLTI4LDExICsyOCwxMSBAQCBxdDYtd2Vic29ja2V0cy1k ZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQog CQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3Zl IHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92 ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1 c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNy L2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gM2FkZmM4YTVhMjA2NjY4NGNlYzNiNWEwNGQ2 N2FiMWZlMGVjOWUyNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9o bm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6Mzc6NDQgKzAyMDAKU3ViamVj dDogW1BBVENIIDAyLzI2XSBxdDYtd2ViZW5naW5lOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIC4u Li9wYXRjaGVzLzAwMDQtcmlzY3YtYW5nbGUucGF0Y2ggICAgICAgICAgICB8ICAgMjggKwogLi4u L3BhdGNoZXMvMDAwNC1yaXNjdi1hbmdsZS5wYXRjaC5hcmdzICAgICAgIHwgICAgMSArCiAuLi4v cGF0Y2hlcy8wMDA1LXJpc2N2LWNyYXNocGFkLnBhdGNoICAgICAgICAgfCAgNzc4ICsrKysrKysK IC4uLi9wYXRjaGVzLzAwMDUtcmlzY3YtY3Jhc2hwYWQucGF0Y2guYXJncyAgICB8ICAgIDEgKwog Li4uL3BhdGNoZXMvMDAwNi1yaXNjdi1kYXYxZC5wYXRjaCAgICAgICAgICAgIHwgICA0NCArCiAu Li4vcGF0Y2hlcy8wMDA2LXJpc2N2LWRhdjFkLnBhdGNoLmFyZ3MgICAgICAgfCAgICAxICsKIC4u Li9wYXRjaGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaCAgICAgICAgICB8IDE5NTYgKysrKysr KysrKysrKysrKysKIC4uLi9wYXRjaGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaC5hcmdzICAg ICB8ICAgIDEgKwogLi4uLzAxMDAtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2ggICAgICAg IHwgIDE1NCAtLQogLi4ub21pdW0tMTAyLWZlbmNlZF9mcmFtZV91dGlscy1pbmNsdWRlLnBhdGNo IHwgICAyMCAtCiAuLi4xMDItY2hyb21pdW0tMTAyLXJlZ2V4X3BhdHRlcm4tYXJyYXkucGF0Y2gg fCAgIDE0IC0KIC4uLjAxMDMtY2hyb21pdW0taTY4Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRjaCB8 ICAgMjMgLQogLi4uLzAxMDQtY2hyb21pdW0tbGlieG1sLXVuYnVuZGxlLnBhdGNoICAgICAgIHwg ICAxMCAtCiAuLi4vcGF0Y2hlcy8wMTA3LWNocm9taXVtLWNyb3NzLWJ1aWxkLnBhdGNoICAgfCAg ICA2ICstCiAuLi4vMDEwOC1jaHJvbWl1bS1jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoICAgfCAg IDE4IC0KIC4uLi9wYXRjaGVzLzAxMTctY2hyb21pdW0tbXVzbC1yZXNvbHZlci5wYXRjaCB8ICAg MjUgKy0KIC4uLi9wYXRjaGVzLzAxMjQtY2hyb21pdW0tZW5hYmxlLWk2ODYucGF0Y2ggICB8ICAg MTcgLQogLi4uLzAxMjktY2hyb21pdW0tc2FuZGJveC1zaGVkX2dldHBhcmFtLnBhdGNoIHwgICAy MyArLQogLi4uL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTU1LXN5c3R5cGVzLnBhdGNoIHwgICAx MSArCiAuLi4vcGF0Y2hlcy8wMjAwLWNocm9taXVtLXNuZGlvLnBhdGNoICAgICAgICAgfCAgODQ5 IC0tLS0tLS0KIC4uLi9wYXRjaGVzLzAzMDAtY2hyb21pdW0tbXVzbC1oYWNrcy5wYXRjaCAgICB8 ICAgMTQgLQogLi4uL3BhdGNoZXMvMDMwMS1jaHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2ggIHwg ICA4NiAtCiAuLi4vcGF0Y2hlcy8wMzAyLWNocm9taXVtLW5vLW1hbGxpbmZvLnBhdGNoICAgfCAg IDM3ICstCiBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvdGVtcGxhdGUgICAgICAgICAgICAgICAgfCAg ICA4ICstCiAyNCBmaWxlcyBjaGFuZ2VkLCAyODY1IGluc2VydGlvbnMoKyksIDEyNjAgZGVsZXRp b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDAwNC1yaXNjdi1hbmdsZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAwMDQtcmlzY3YtYW5nbGUucGF0Y2guYXJncwogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDUtcmlzY3YtY3Jhc2hwYWQu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MDA1LXJpc2N2LWNyYXNocGFkLnBhdGNoLmFyZ3MKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA2LXJpc2N2LWRhdjFkLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNi1yaXNjdi1kYXYxZC5w YXRjaC5hcmdzCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDAwNy1yaXNjdi1zYW5kYm94LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNy1yaXNjdi1zYW5kYm94LnBhdGNoLmFyZ3MKIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAwLWNocm9taXVt LXJldmVydC05ZDA4MGMwLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDEwMS1jaHJvbWl1bS0xMDItZmVuY2VkX2ZyYW1lX3V0aWxzLWluY2x1 ZGUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTAyLWNocm9taXVtLTEwMi1yZWdleF9wYXR0ZXJuLWFycmF5LnBhdGNoCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMy1jaHJvbWl1bS1pNjg2 LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDEwNC1jaHJvbWl1bS1saWJ4bWwtdW5idW5kbGUucGF0Y2gKIGRl bGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA4LWNocm9t aXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI0LWNocm9taXVtLWVuYWJsZS1pNjg2LnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1NS1zeXN0 eXBlcy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAyMDAtY2hyb21pdW0tc25kaW8ucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAxLWNocm9taXVtLW11c2wtc2FuZGJveC5wYXRjaAoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDQtcmlzY3YtYW5n bGUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA0LXJpc2N2LWFuZ2xl LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMWFjZWI2ZjJk MjI5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAw NC1yaXNjdi1hbmdsZS5wYXRjaApAQCAtMCwwICsxLDI4IEBACitJbmRleDogY2hyb21pdW0tMTEx LjAuNTU2My42NC90aGlyZF9wYXJ0eS9hbmdsZS9nbmkvYW5nbGUuZ25pCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gY2hyb21pdW0tMTExLjAuNTU2My42NC5vcmlnL3RoaXJkX3BhcnR5L2FuZ2xlL2duaS9hbmds ZS5nbmkKKysrKyBjaHJvbWl1bS0xMTEuMC41NTYzLjY0L3RoaXJkX3BhcnR5L2FuZ2xlL2duaS9h bmdsZS5nbmkKK0BAIC0xMDUsNyArMTA1LDggQEAgZGVjbGFyZV9hcmdzKCkgeworIAorICAgaWYg KGN1cnJlbnRfY3B1ID09ICJhcm02NCIgfHwgY3VycmVudF9jcHUgPT0gIng2NCIgfHwKKyAgICAg ICBjdXJyZW50X2NwdSA9PSAibWlwczY0ZWwiIHx8IGN1cnJlbnRfY3B1ID09ICJzMzkweCIgfHwK Ky0gICAgICBjdXJyZW50X2NwdSA9PSAicHBjNjQiIHx8IGN1cnJlbnRfY3B1ID09ICJsb29uZzY0 IikgeworKyAgICAgIGN1cnJlbnRfY3B1ID09ICJwcGM2NCIgfHwgY3VycmVudF9jcHUgPT0gImxv b25nNjQiIHx8CisrICAgICAgY3VycmVudF9jcHUgPT0gInJpc2N2NjQiKSB7CisgICAgIGFuZ2xl XzY0Yml0X2N1cnJlbnRfY3B1ID0gdHJ1ZQorICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAi YXJtIiB8fCBjdXJyZW50X2NwdSA9PSAieDg2IiB8fAorICAgICAgICAgICAgICBjdXJyZW50X2Nw dSA9PSAibWlwc2VsIiB8fCBjdXJyZW50X2NwdSA9PSAiczM5MCIgfHwKK0luZGV4OiBjaHJvbWl1 bS0xMTEuMC41NTYzLjY0L3RoaXJkX3BhcnR5L2FuZ2xlL3NyYy9jb21tb24vcGxhdGZvcm0uaAor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGNocm9taXVtLTExMS4wLjU1NjMuNjQub3JpZy90aGlyZF9wYXJ0eS9h bmdsZS9zcmMvY29tbW9uL3BsYXRmb3JtLmgKKysrKyBjaHJvbWl1bS0xMTEuMC41NTYzLjY0L3Ro aXJkX3BhcnR5L2FuZ2xlL3NyYy9jb21tb24vcGxhdGZvcm0uaAorQEAgLTEwOCw3ICsxMDgsNyBA QAorICNlbmRpZgorIAorIC8vIE1pcHMgYW5kIGFybSBkZXZpY2VzIG5lZWQgdG8gaW5jbHVkZSBz dGRkZWYgZm9yIHNpemVfdC4KKy0jaWYgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX2Fy bV9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiBkZWZpbmVkKF9fbWlwc19fKSB8fCBk ZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNj dikKKyAjICAgIGluY2x1ZGUgPHN0ZGRlZi5oPgorICNlbmRpZgorIAorCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA0LXJpc2N2LWFuZ2xlLnBhdGNoLmFyZ3Mg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA0LXJpc2N2LWFuZ2xlLnBhdGNoLmFy Z3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kNWYzOGUzNTRlN2YK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA0LXJp c2N2LWFuZ2xlLnBhdGNoLmFyZ3MKQEAgLTAsMCArMSBAQAorLU5wMSAtLWRpcmVjdG9yeT1zcmMv M3JkcGFydHkvY2hyb21pdW0vCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMDA1LXJpc2N2LWNyYXNocGFkLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDAwNS1yaXNjdi1jcmFzaHBhZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLjAxMmEzOGMzODg2NQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDUtcmlzY3YtY3Jhc2hwYWQucGF0Y2gKQEAgLTAsMCAr MSw3NzggQEAKK0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHQuaAorPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0t IGNocm9taXVtLTEwNi4wLjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0LmgKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5Ljkx L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHQu aAorQEAgLTYzNyw2ICs2MzcsNDEgQEAgc3RydWN0IE1pbmlkdW1wQ29udGV4dE1JUFM2NCB7Cisg ICB1aW50NjRfdCBmaXI7CisgfTsKKyAKKysvLyEgXGJyaWVmIDY0Yml0IFJJU0MtVi1zcGVjaWZj IGZsYWdzIGZvciBNaW5pZHVtcENvbnRleHRSSVNDVjY0Ojpjb250ZXh0X2ZsYWdzLgorKy8vISBC YXNlZCBvbiBtaW5pZHVtcF9jcHVfcmlzY3Y2NC5oIGZyb20gYnJlYWtwYWQKKytlbnVtIE1pbmlk dW1wQ29udGV4dFJJU0NWNjRGbGFncyA6IHVpbnQzMl90IHsKKysgIC8vISBcYnJpZWYgSWRlbnRp ZmllcyB0aGUgY29udGV4dCBzdHJ1Y3R1cmUgYXMgUklTQ1Y2NC4KKysgIGtNaW5pZHVtcENvbnRl eHRSSVNDVjY0ID0gMHgwMDA4MDAwMCwKKysKKysgIC8vISBcYnJpZWYgSW5kaWNhdGVzIHRoZSB2 YWxpZGl0eSBvZiBpbnRlZ2VyIHJlZ2lzdGVycy4KKysgIC8vIQorKyAgLy8hIFJlZ2lzdGVycyBg eDFgLWB4MzFgIGFuZCBwYyBhcmUgdmFsaWQuCisrICBrTWluaWR1bXBDb250ZXh0UklTQ1Y2NElu dGVnZXIgPSBrTWluaWR1bXBDb250ZXh0UklTQ1Y2NCB8IDB4MDAwMDAwMDIsCisrCisrICAvLyEg XGJyaWVmIEluZGljYXRlcyB0aGUgdmFsaWRpdHkgb2YgZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJz LgorKyAgLy8hCisrICAvLyEgRmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzIGBmMGAtYGYzMWAsIGFu ZCBgZmNzcmAgYXJlIHZhbGlkCisrICBrTWluaWR1bXBDb250ZXh0UklTQ1Y2NEZsb2F0aW5nUG9p bnQgPSBrTWluaWR1bXBDb250ZXh0UklTQ1Y2NCB8IDB4MDAwMDAwMDQsCisrCisrICAvLyEgXGJy aWVmIEluZGljYXRlcyB0aGUgdmFsaWRpdHkgb2YgYWxsIHJlZ2lzdGVycy4KKysgIGtNaW5pZHVt cENvbnRleHRSSVNDVjY0QWxsID0ga01pbmlkdW1wQ29udGV4dFJJU0NWNjRJbnRlZ2VyIHwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrTWluaWR1bXBDb250ZXh0UklTQ1Y2NEZsb2F0 aW5nUG9pbnQsCisrfTsKKysKKysvLyEgXGJyaWVmIEEgNjRiaXQgUklTQ1YgQ1BVIGNvbnRleHQg KHJlZ2lzdGVyIHN0YXRlKSBjYXJyaWVkIGluIGEgbWluaWR1bXAgZmlsZS4KKytzdHJ1Y3QgTWlu aWR1bXBDb250ZXh0UklTQ1Y2NCB7CisrICB1aW50NjRfdCBjb250ZXh0X2ZsYWdzOworKworKyAg Ly8hIFxicmllZiBHZW5lcmFsIHB1cnBvc2UgcmVnaXN0ZXJzLgorKyAgdWludDY0X3QgcmVnc1sz Ml07CisrCisrICAvLyEgXGJyaWVmIEZQVSByZWdpc3RlcnMuCisrICB1aW50NjRfdCBmcHJlZ3Nb MzJdOworKworKyAgLy8hIFxicmllZiBGUFUgc3RhdHVzIHJlZ2lzdGVyLgorKyAgdWludDY0X3Qg ZmNzcjsKKyt9OworKworIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAorIAorICNlbmRpZiAgLy8g Q1JBU0hQQURfTUlOSURVTVBfTUlOSURVTVBfQ09OVEVYVF9IXworSW5kZXg6IGNocm9taXVtLTEw Ni4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1 bXBfY29udGV4dF93cml0ZXIuY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDYuMC41MjQ5 LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBf Y29udGV4dF93cml0ZXIuY2MKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjCitA QCAtMTAyLDYgKzEwMiwxMyBAQCBNaW5pZHVtcENvbnRleHRXcml0ZXI6OkNyZWF0ZUZyb21TbmFw c2hvCisgICAgICAgYnJlYWs7CisgICAgIH0KKyAKKysgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJl UklTQ1Y2NDogeworKyAgICAgIGNvbnRleHQgPSBzdGQ6Om1ha2VfdW5pcXVlPE1pbmlkdW1wQ29u dGV4dFJJU0NWNjRXcml0ZXI+KCk7CisrICAgICAgcmVpbnRlcnByZXRfY2FzdDxNaW5pZHVtcENv bnRleHRSSVNDVjY0V3JpdGVyKj4oY29udGV4dC5nZXQoKSkKKysgICAgICAgICAgLT5Jbml0aWFs aXplRnJvbVNuYXBzaG90KGNvbnRleHRfc25hcHNob3QtPnJpc2N2NjQpOworKyAgICAgIGJyZWFr OworKyAgICB9CisrCisgICAgIGRlZmF1bHQ6IHsKKyAgICAgICBMT0coRVJST1IpIDw8ICJ1bmtu b3duIGNvbnRleHQgYXJjaGl0ZWN0dXJlICIKKyAgICAgICAgICAgICAgICAgIDw8IGNvbnRleHRf c25hcHNob3QtPmFyY2hpdGVjdHVyZTsKK0BAIC01NTUsNSArNTYyLDQyIEBAIHNpemVfdCBNaW5p ZHVtcENvbnRleHRNSVBTNjRXcml0ZXI6OkNvbnQKKyAgIERDSEVDS19HRShzdGF0ZSgpLCBrU3Rh dGVGcm96ZW4pOworICAgcmV0dXJuIHNpemVvZihjb250ZXh0Xyk7CisgfQorKworK01pbmlkdW1w Q29udGV4dFJJU0NWNjRXcml0ZXI6Ok1pbmlkdW1wQ29udGV4dFJJU0NWNjRXcml0ZXIoKQorKyAg ICA6IE1pbmlkdW1wQ29udGV4dFdyaXRlcigpLCBjb250ZXh0XygpIHsKKysgIGNvbnRleHRfLmNv bnRleHRfZmxhZ3MgPSBrTWluaWR1bXBDb250ZXh0UklTQ1Y2NDsKKyt9CisrCisrTWluaWR1bXBD b250ZXh0UklTQ1Y2NFdyaXRlcjo6fk1pbmlkdW1wQ29udGV4dFJJU0NWNjRXcml0ZXIoKSA9IGRl ZmF1bHQ7CisrCisrdm9pZCBNaW5pZHVtcENvbnRleHRSSVNDVjY0V3JpdGVyOjpJbml0aWFsaXpl RnJvbVNuYXBzaG90KAorKyAgICBjb25zdCBDUFVDb250ZXh0UklTQ1Y2NCogY29udGV4dF9zbmFw c2hvdCkgeworKyAgRENIRUNLX0VRKHN0YXRlKCksIGtTdGF0ZU11dGFibGUpOworKyAgRENIRUNL X0VRKGNvbnRleHRfLmNvbnRleHRfZmxhZ3MsIGtNaW5pZHVtcENvbnRleHRSSVNDVjY0KTsKKysK KysgIGNvbnRleHRfLmNvbnRleHRfZmxhZ3MgPSBrTWluaWR1bXBDb250ZXh0UklTQ1Y2NEFsbDsK KysKKysgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKGNvbnRleHRfLnJlZ3MpID09IHNpemVvZihjb250 ZXh0X3NuYXBzaG90LT5yZWdzKSwKKysgICAgICAgICAgICAgICAgIkdQUnMgc2l6ZSBtaXNtYXRj aCIpOworKyAgbWVtY3B5KGNvbnRleHRfLnJlZ3MsIGNvbnRleHRfc25hcHNob3QtPnJlZ3MsIHNp emVvZihjb250ZXh0Xy5yZWdzKSk7CisrCisrICBzdGF0aWNfYXNzZXJ0KHNpemVvZihjb250ZXh0 Xy5mcHJlZ3MpID09IHNpemVvZihjb250ZXh0X3NuYXBzaG90LT5mcHJlZ3MpLAorKyAgICAgICAg ICAgICAgICAiRlBScyBzaXplIG1pc21hdGNoIik7CisrICBtZW1jcHkoY29udGV4dF8uZnByZWdz LAorKyAgICAgICAgIGNvbnRleHRfc25hcHNob3QtPmZwcmVncywKKysgICAgICAgICBzaXplb2Yo Y29udGV4dF8uZnByZWdzKSk7CisrICBjb250ZXh0Xy5mY3NyID0gY29udGV4dF9zbmFwc2hvdC0+ ZmNzcjsKKyt9CisrCisrYm9vbCBNaW5pZHVtcENvbnRleHRSSVNDVjY0V3JpdGVyOjpXcml0ZU9i amVjdCgKKysgICAgRmlsZVdyaXRlckludGVyZmFjZSogZmlsZV93cml0ZXIpIHsKKysgIERDSEVD S19FUShzdGF0ZSgpLCBrU3RhdGVXcml0YWJsZSk7CisrICByZXR1cm4gZmlsZV93cml0ZXItPldy aXRlKCZjb250ZXh0Xywgc2l6ZW9mKGNvbnRleHRfKSk7CisrfQorKworK3NpemVfdCBNaW5pZHVt cENvbnRleHRSSVNDVjY0V3JpdGVyOjpDb250ZXh0U2l6ZSgpIGNvbnN0IHsKKysgIERDSEVDS19H RShzdGF0ZSgpLCBrU3RhdGVGcm96ZW4pOworKyAgcmV0dXJuIHNpemVvZihjb250ZXh0Xyk7Cisr fQorIAorIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAorSW5kZXg6IGNocm9taXVtLTEwNi4wLjUy NDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29u dGV4dF93cml0ZXIuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNi4wLjUyNDkuOTEub3Jp Zy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0 X3dyaXRlci5oCisrKysgY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlci5oCitAQCAtMzY5LDYg KzM2OSw0OSBAQCBjbGFzcyBNaW5pZHVtcENvbnRleHRNSVBTNjRXcml0ZXIgZmluYWwKKyAgIE1p bmlkdW1wQ29udGV4dE1JUFM2NCBjb250ZXh0XzsKKyB9OworIAorKy8vISBcYnJpZWYgVGhlIHdy aXRlciBmb3IgYSBNaW5pZHVtcENvbnRleHRSSVNDVjY0IHN0cnVjdHVyZSBpbiBhIG1pbmlkdW1w IGZpbGUuCisrY2xhc3MgTWluaWR1bXBDb250ZXh0UklTQ1Y2NFdyaXRlciBmaW5hbCA6IHB1Ymxp YyBNaW5pZHVtcENvbnRleHRXcml0ZXIgeworKyBwdWJsaWM6CisrICBNaW5pZHVtcENvbnRleHRS SVNDVjY0V3JpdGVyKCk7CisrCisrICBNaW5pZHVtcENvbnRleHRSSVNDVjY0V3JpdGVyKGNvbnN0 IE1pbmlkdW1wQ29udGV4dFJJU0NWNjRXcml0ZXImKSA9IGRlbGV0ZTsKKysgIE1pbmlkdW1wQ29u dGV4dFJJU0NWNjRXcml0ZXImIG9wZXJhdG9yPShjb25zdCBNaW5pZHVtcENvbnRleHRSSVNDVjY0 V3JpdGVyJikgPQorKyAgICAgIGRlbGV0ZTsKKysKKysgIH5NaW5pZHVtcENvbnRleHRSSVNDVjY0 V3JpdGVyKCkgb3ZlcnJpZGU7CisrCisrICAvLyEgXGJyaWVmIEluaXRpYWxpemVzIHRoZSBNaW5p ZHVtcENvbnRleHRSSVNDViBiYXNlZCBvbiBcYSBjb250ZXh0X3NuYXBzaG90LgorKyAgLy8hCisr ICAvLyEgXHBhcmFtW2luXSBjb250ZXh0X3NuYXBzaG90IFRoZSBjb250ZXh0IHNuYXBzaG90IHRv IHVzZSBhcyBzb3VyY2UgZGF0YS4KKysgIC8vIQorKyAgLy8hIFxub3RlIFZhbGlkIGluICNrU3Rh dGVNdXRhYmxlLiBObyBtdXRhdGlvbiBvZiBjb250ZXh0KCkgbWF5IGJlIGRvbmUgYmVmb3JlCisr ICAvLyEgICAgIGNhbGxpbmcgdGhpcyBtZXRob2QsIGFuZCBpdCBpcyBub3Qgbm9ybWFsbHkgbmVj ZXNzYXJ5IHRvIGFsdGVyCisrICAvLyEgICAgIGNvbnRleHQoKSBhZnRlciBjYWxsaW5nIHRoaXMg bWV0aG9kLgorKyAgdm9pZCBJbml0aWFsaXplRnJvbVNuYXBzaG90KGNvbnN0IENQVUNvbnRleHRS SVNDVjY0KiBjb250ZXh0X3NuYXBzaG90KTsKKysKKysgIC8vISBcYnJpZWYgUmV0dXJucyBhIHBv aW50ZXIgdG8gdGhlIGNvbnRleHQgc3RydWN0dXJlIHRoYXQgdGhpcyBvYmplY3Qgd2lsbAorKyAg Ly8hICAgICB3cml0ZS4KKysgIC8vIQorKyAgLy8hIFxhdHRlbnRpb24gVGhpcyByZXR1cm5zIGEg bm9uLWBjb25zdGAgcG9pbnRlciB0byB0aGlzIG9iamVjdOKAmXMgcHJpdmF0ZQorKyAgLy8hICAg ICBkYXRhIHNvIHRoYXQgYSBjYWxsZXIgY2FuIHBvcHVsYXRlIHRoZSBjb250ZXh0IHN0cnVjdHVy ZSBkaXJlY3RseS4KKysgIC8vISAgICAgVGhpcyBpcyBkb25lIGJlY2F1c2UgcHJvdmlkaW5nIHNl dHRlciBpbnRlcmZhY2VzIHRvIGVhY2ggZmllbGQgaW4gdGhlCisrICAvLyEgICAgIGNvbnRleHQg c3RydWN0dXJlIHdvdWxkIGJlIHVud2llbGR5IGFuZCBjdW1iZXJzb21lLiBDYXJlIG11c3QgYmUg dGFrZW4KKysgIC8vISAgICAgdG8gcG9wdWxhdGUgdGhlIGNvbnRleHQgc3RydWN0dXJlIGNvcnJl Y3RseS4gVGhlIGNvbnRleHQgc3RydWN0dXJlCisrICAvLyEgICAgIG11c3Qgb25seSBiZSBtb2Rp ZmllZCB3aGlsZSB0aGlzIG9iamVjdCBpcyBpbiB0aGUgI2tTdGF0ZU11dGFibGUKKysgIC8vISAg ICAgc3RhdGUuCisrICBNaW5pZHVtcENvbnRleHRSSVNDVjY0KiBjb250ZXh0KCkgeyByZXR1cm4g JmNvbnRleHRfOyB9CisrCisrIHByb3RlY3RlZDoKKysgIC8vIE1pbmlkdW1wV3JpdGFibGU6Cisr ICBib29sIFdyaXRlT2JqZWN0KEZpbGVXcml0ZXJJbnRlcmZhY2UqIGZpbGVfd3JpdGVyKSBvdmVy cmlkZTsKKysKKysgIC8vIE1pbmlkdW1wQ29udGV4dFdyaXRlcjoKKysgIHNpemVfdCBDb250ZXh0 U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOworKworKyBwcml2YXRlOgorKyAgTWluaWR1bXBDb250ZXh0 UklTQ1Y2NCBjb250ZXh0XzsKKyt9OworKworIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAorIAor ICNlbmRpZiAgLy8gQ1JBU0hQQURfTUlOSURVTVBfTUlOSURVTVBfQ09OVEVYVF9XUklURVJfSF8K K0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0ZXIuY2MKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvbWluaWR1bXAvbWluaWR1bXBfbWlzY19pbmZvX3dyaXRlci5jYworKysrIGNocm9taXVtLTEw Ni4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1 bXBfbWlzY19pbmZvX3dyaXRlci5jYworQEAgLTE3NSw2ICsxNzUsMTAgQEAgc3RkOjpzdHJpbmcg TWluaWR1bXBNaXNjSW5mb0RlYnVnQnVpbGRTdAorICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtD UFVbXSA9ICJtaXBzIjsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFM2NEVMKQorICAgc3Rh dGljIGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJtaXBzNjQiOworKyNlbGlmIGRlZmluZWQoQVJD SF9DUFVfUklTQ1YzMikKKysgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrQ1BVW10gPSAicmlzY3Yz MiI7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVjY0KQorKyAgc3RhdGljIGNvbnN0ZXhw ciBjaGFyIGtDUFVbXSA9ICJyaXNjdjY0IjsKKyAjZWxzZQorICNlcnJvciBkZWZpbmUga0NQVSBm b3IgdGhpcyBDUFUKKyAjZW5kaWYKK0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NhcHR1cmVfbWVtb3J5LmNjCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gY2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2NhcHR1cmVfbWVtb3J5LmNjCisrKysgY2hyb21pdW0tMTA2 LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jYXB0dXJl X21lbW9yeS5jYworQEAgLTExNyw2ICsxMTcsMTYgQEAgdm9pZCBDYXB0dXJlTWVtb3J5OjpQb2lu dGVkVG9CeUNvbnRleHQoYworICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzdGQ6OnNpemUoY29u dGV4dC5taXBzZWwtPnJlZ3MpOyArK2kpIHsKKyAgICAgTWF5YmVDYXB0dXJlTWVtb3J5QXJvdW5k KGRlbGVnYXRlLCBjb250ZXh0Lm1pcHNlbC0+cmVnc1tpXSk7CisgICB9CisrI2VsaWYgZGVmaW5l ZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrICBpZiAoY29udGV4dC5hcmNoaXRlY3R1cmUgPT0g a0NQVUFyY2hpdGVjdHVyZVJJU0NWNjQpIHsKKysgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBz dGQ6OnNpemUoY29udGV4dC5yaXNjdjY0LT5yZWdzKTsgKytpKSB7CisrICAgICAgTWF5YmVDYXB0 dXJlTWVtb3J5QXJvdW5kKGRlbGVnYXRlLCBjb250ZXh0LnJpc2N2NjQtPnJlZ3NbaV0pOworKyAg ICB9CisrICB9IGVsc2UgeworKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0ZDo6c2l6ZShj b250ZXh0LnJpc2N2MzItPnJlZ3MpOyArK2kpIHsKKysgICAgICBNYXliZUNhcHR1cmVNZW1vcnlB cm91bmQoZGVsZWdhdGUsIGNvbnRleHQucmlzY3YzMi0+cmVnc1tpXSk7CisrICAgIH0KKysgIH0K KyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZgorSW5kZXg6IGNocm9taXVtLTEwNi4wLjUy NDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hpdGVj dHVyZS5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmlnL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9hcmNoaXRlY3R1cmUuaAorKysr IGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvY3B1X2FyY2hpdGVjdHVyZS5oCitAQCAtNDMsNyArNDMsMTMgQEAgZW51bSBDUFVBcmNo aXRlY3R1cmUgeworICAga0NQVUFyY2hpdGVjdHVyZU1JUFNFTCwKKyAKKyAgIC8vISBcYnJpZWYg NjQtYml0IE1JUFNFTC4KKy0gIGtDUFVBcmNoaXRlY3R1cmVNSVBTNjRFTAorKyAga0NQVUFyY2hp dGVjdHVyZU1JUFM2NEVMLAorKworKyAgLy8hIFxicmllZiAzMi1iaXQgUklTQ1YuCisrICBrQ1BV QXJjaGl0ZWN0dXJlUklTQ1YzMiwKKysKKysgIC8vISBcYnJpZWYgNjQtYml0IFJJU0NWLgorKyAg a0NQVUFyY2hpdGVjdHVyZVJJU0NWNjQKKyB9OworIAorIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBh ZAorSW5kZXg6IGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0x MDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv Y3B1X2NvbnRleHQuY2MKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmNjCitAQCAtMjI2LDEwICsyMjYs MTIgQEAgYm9vbCBDUFVDb250ZXh0OjpJczY0Qml0KCkgY29uc3QgeworICAgICBjYXNlIGtDUFVB cmNoaXRlY3R1cmVYODZfNjQ6CisgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZUFSTTY0OgorICAg ICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVNSVBTNjRFTDoKKysgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0 dXJlUklTQ1Y2NDoKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0 dXJlWDg2OgorICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVBUk06CisgICAgIGNhc2Uga0NQVUFy Y2hpdGVjdHVyZU1JUFNFTDoKKysgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlUklTQ1YzMjoKKyAg ICAgICByZXR1cm4gZmFsc2U7CisgICAgIGRlZmF1bHQ6CisgICAgICAgTk9UUkVBQ0hFRCgpOwor SW5kZXg6IGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvY3B1X2NvbnRleHQuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNi4w LjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVf Y29udGV4dC5oCisrKysgY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5oCitAQCAtMzYyLDYgKzM2MiwyMCBAQCBz dHJ1Y3QgQ1BVQ29udGV4dE1JUFM2NCB7CisgICB1aW50NjRfdCBmaXI7CisgfTsKKyAKKysvLyEg XGJyaWVmIEEgY29udGV4dCBzdHJ1Y3R1cmUgY2FycnlpbmcgUklTQ1YzMiBDUFUgc3RhdGUuCisr c3RydWN0IENQVUNvbnRleHRSSVNDVjMyIHsKKysgIHVpbnQzMl90IHJlZ3NbMzJdOworKyAgdWlu dDY0X3QgZnByZWdzWzMyXTsKKysgIHVpbnQzMl90IGZjc3I7CisrfTsKKysKKysvLyEgXGJyaWVm IEEgY29udGV4dCBzdHJ1Y3R1cmUgY2FycnlpbmcgUklTQ1Y2NCBDUFUgc3RhdGUuCisrc3RydWN0 IENQVUNvbnRleHRSSVNDVjY0IHsKKysgIHVpbnQ2NF90IHJlZ3NbMzJdOworKyAgdWludDY0X3Qg ZnByZWdzWzMyXTsKKysgIHVpbnQzMl90IGZjc3I7CisrfTsKKysKKyAvLyEgXGJyaWVmIEEgY29u dGV4dCBzdHJ1Y3R1cmUgY2FwYWJsZSBvZiBjYXJyeWluZyB0aGUgY29udGV4dCBvZiBhbnkgc3Vw cG9ydGVkCisgLy8hICAgICBDUFUgYXJjaGl0ZWN0dXJlLgorIHN0cnVjdCBDUFVDb250ZXh0IHsK K0BAIC00MDIsNiArNDE2LDggQEAgc3RydWN0IENQVUNvbnRleHQgeworICAgICBDUFVDb250ZXh0 QVJNNjQqIGFybTY0OworICAgICBDUFVDb250ZXh0TUlQUyogbWlwc2VsOworICAgICBDUFVDb250 ZXh0TUlQUzY0KiBtaXBzNjQ7CisrICAgIENQVUNvbnRleHRSSVNDVjMyKiByaXNjdjMyOworKyAg ICBDUFVDb250ZXh0UklTQ1Y2NCogcmlzY3Y2NDsKKyAgIH07CisgfTsKKyAKK0luZGV4OiBjaHJv bWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4LmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA2 LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xp bnV4L2NwdV9jb250ZXh0X2xpbnV4LmNjCisrKysgY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9jcHVfY29udGV4dF9saW51 eC5jYworQEAgLTI2Niw2ICsyNjYsMzAgQEAgdm9pZCBJbml0aWFsaXplQ1BVQ29udGV4dEFSTTY0 X09ubHlGUFNJTQorICAgY29udGV4dC0+ZnBjciA9IGZsb2F0X2NvbnRleHQuZnBjcjsKKyB9Cisg CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrCisrdGVtcGxhdGUgPHR5 cGVuYW1lIFRyYWl0cz4KKyt2b2lkIEluaXRpYWxpemVDUFVDb250ZXh0UklTQ1YoCisrICAgIGNv bnN0IHR5cGVuYW1lIFRyYWl0czo6U2lnbmFsVGhyZWFkQ29udGV4dCYgdGhyZWFkX2NvbnRleHQs CisrICAgIGNvbnN0IHR5cGVuYW1lIFRyYWl0czo6U2lnbmFsRmxvYXRDb250ZXh0JiBmbG9hdF9j b250ZXh0LAorKyAgICB0eXBlbmFtZSBUcmFpdHM6OkNQVUNvbnRleHQqIGNvbnRleHQpIHsKKysg IHN0YXRpY19hc3NlcnQoc2l6ZW9mKGNvbnRleHQtPnJlZ3MpID09IHNpemVvZih0aHJlYWRfY29u dGV4dCksCisrICAgICAgICAgICAgICAgICJyZWdpc3RlcnMgc2l6ZSBtaXNtYXRjaCIpOworKyAg c3RhdGljX2Fzc2VydChzaXplb2YoY29udGV4dC0+ZnByZWdzKSA9PSBzaXplb2YoZmxvYXRfY29u dGV4dC5mKSwKKysgICAgICAgICAgICAgICAgImZwIHJlZ2lzdGVycyBzaXplIG1pc21hdGNoIik7 CisrICBtZW1jcHkoJmNvbnRleHQtPnJlZ3MsICZ0aHJlYWRfY29udGV4dCwgc2l6ZW9mKGNvbnRl eHQtPnJlZ3MpKTsKKysgIG1lbWNweSgmY29udGV4dC0+ZnByZWdzLCAmZmxvYXRfY29udGV4dC5m LCBzaXplb2YoY29udGV4dC0+ZnByZWdzKSk7CisrICBjb250ZXh0LT5mY3NyID0gZmxvYXRfY29u dGV4dC5mY3NyOworK30KKyt0ZW1wbGF0ZSB2b2lkIEluaXRpYWxpemVDUFVDb250ZXh0UklTQ1Y8 Q29udGV4dFRyYWl0czMyPigKKysgICAgY29uc3QgQ29udGV4dFRyYWl0czMyOjpTaWduYWxUaHJl YWRDb250ZXh0JiB0aHJlYWRfY29udGV4dCwKKysgICAgY29uc3QgQ29udGV4dFRyYWl0czMyOjpT aWduYWxGbG9hdENvbnRleHQmIGZsb2F0X2NvbnRleHQsCisrICAgIENvbnRleHRUcmFpdHMzMjo6 Q1BVQ29udGV4dCogY29udGV4dCk7CisrdGVtcGxhdGUgdm9pZCBJbml0aWFsaXplQ1BVQ29udGV4 dFJJU0NWPENvbnRleHRUcmFpdHM2ND4oCisrICAgIGNvbnN0IENvbnRleHRUcmFpdHM2NDo6U2ln bmFsVGhyZWFkQ29udGV4dCYgdGhyZWFkX2NvbnRleHQsCisrICAgIGNvbnN0IENvbnRleHRUcmFp dHM2NDo6U2lnbmFsRmxvYXRDb250ZXh0JiBmbG9hdF9jb250ZXh0LAorKyAgICBDb250ZXh0VHJh aXRzNjQ6OkNQVUNvbnRleHQqIGNvbnRleHQpOworKworICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2 X0ZBTUlMWQorIAorIH0gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbAorSW5kZXg6IGNocm9taXVtLTEw Ni4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgv Y3B1X2NvbnRleHRfbGludXguaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNi4wLjUyNDku OTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9jcHVf Y29udGV4dF9saW51eC5oCisrKysgY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9jcHVfY29udGV4dF9saW51eC5oCitAQCAt MTc0LDYgKzE3NCwyMiBAQCB2b2lkIEluaXRpYWxpemVDUFVDb250ZXh0TUlQUygKKyAKKyAjZW5k aWYgIC8vIEFSQ0hfQ1BVX01JUFNfRkFNSUxZIHx8IERPWFlHRU4KKyAKKysjaWYgZGVmaW5lZChB UkNIX0NQVV9SSVNDVl9GQU1JTFkpIHx8IERPWFlHRU4KKysKKysvLyEgXGJyaWVmIEluaXRpYWxp emVzIGEgQ1BVQ29udGV4dFJJU0NWIHN0cnVjdHVyZSBmcm9tIG5hdGl2ZSBjb250ZXh0CisrLy8h ICAgICBzdHJ1Y3R1cmVzIG9uIExpbnV4LgorKy8vIQorKy8vISBccGFyYW1baW5dIHRocmVhZF9j b250ZXh0IFRoZSBuYXRpdmUgdGhyZWFkIGNvbnRleHQuCisrLy8hIFxwYXJhbVtpbl0gZmxvYXRf Y29udGV4dCBUaGUgbmF0aXZlIGZsb2F0IGNvbnRleHQuCisrLy8hIFxwYXJhbVtvdXRdIGNvbnRl eHQgVGhlIENQVUNvbnRleHRSSVNDViBzdHJ1Y3R1cmUgdG8gaW5pdGlhbGl6ZS4KKyt0ZW1wbGF0 ZSA8dHlwZW5hbWUgVHJhaXRzPgorK3ZvaWQgSW5pdGlhbGl6ZUNQVUNvbnRleHRSSVNDVigKKysg ICAgY29uc3QgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxUaHJlYWRDb250ZXh0JiB0aHJlYWRfY29u dGV4dCwKKysgICAgY29uc3QgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxGbG9hdENvbnRleHQmIGZs b2F0X2NvbnRleHQsCisrICAgIHR5cGVuYW1lIFRyYWl0czo6Q1BVQ29udGV4dCogY29udGV4dCk7 CisrCisrI2VuZGlmICAvLyBBUkNIX0NQVV9SSVNDVl9GQU1JTFkgfHwgRE9YWUdFTgorKworIH0g IC8vIG5hbWVzcGFjZSBpbnRlcm5hbAorIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAorIAorSW5k ZXg6IGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNjCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gY2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5jYworKysrIGNocm9t aXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNjCitAQCAtMzI1LDYgKzMyNSw2MSBAQCBi b29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRDb250ZXh0CisgICAgICAgcmVhZGVyLCBj b250ZXh0X2FkZHJlc3MsIGNvbnRleHRfLm1pcHM2NCk7CisgfQorIAorKyNlbGlmIGRlZmluZWQo QVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorKworK3RlbXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+Cisr c3RhdGljIGJvb2wgUmVhZENvbnRleHQoUHJvY2Vzc1JlYWRlckxpbnV4KiByZWFkZXIsCisrICAg ICAgICAgICAgICAgICAgICAgICAgTGludXhWTUFkZHJlc3MgY29udGV4dF9hZGRyZXNzLAorKyAg ICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIFRyYWl0czo6Q1BVQ29udGV4dCogZGVzdF9j b250ZXh0KSB7CisrICBjb25zdCBQcm9jZXNzTWVtb3J5KiBtZW1vcnkgPSByZWFkZXItPk1lbW9y eSgpOworKworKyAgTGludXhWTUFkZHJlc3MgZ3JlZ3NfYWRkcmVzcyA9IGNvbnRleHRfYWRkcmVz cyArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YoVUNvbnRleHQ8 VHJhaXRzPiwgbWNvbnRleHQpICsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv ZmZzZXRvZih0eXBlbmFtZSBUcmFpdHM6Ok1Db250ZXh0LCBncmVncyk7CisrCisrICB0eXBlbmFt ZSBUcmFpdHM6OlNpZ25hbFRocmVhZENvbnRleHQgdGhyZWFkX2NvbnRleHQ7CisrICBpZiAoIW1l bW9yeS0+UmVhZChncmVnc19hZGRyZXNzLCBzaXplb2YodGhyZWFkX2NvbnRleHQpLCAmdGhyZWFk X2NvbnRleHQpKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHJlYWQgZ3JlZ3MiOwor KyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrCisrICBMaW51eFZNQWRkcmVzcyBmcHJlZ3NfYWRk cmVzcyA9IGNvbnRleHRfYWRkcmVzcyArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG9mZnNldG9mKFVDb250ZXh0PFRyYWl0cz4sIG1jb250ZXh0KSArCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHR5cGVuYW1lIFRyYWl0czo6TUNvbnRleHQs IGZwcmVncyk7CisrCisrICB0eXBlbmFtZSBUcmFpdHM6OlNpZ25hbEZsb2F0Q29udGV4dCBmcF9j b250ZXh0OworKyAgaWYgKCFtZW1vcnktPlJlYWQoZnByZWdzX2FkZHJlc3MsIHNpemVvZihmcF9j b250ZXh0KSwgJmZwX2NvbnRleHQpKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHJl YWQgZnByZWdzIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQorKworKyAgSW5pdGlhbGl6ZUNQ VUNvbnRleHRSSVNDVjxUcmFpdHM+KHRocmVhZF9jb250ZXh0LCBmcF9jb250ZXh0LCBkZXN0X2Nv bnRleHQpOworKworKyAgcmV0dXJuIHRydWU7CisrfQorKworK3RlbXBsYXRlIDw+CisrYm9vbCBF eGNlcHRpb25TbmFwc2hvdExpbnV4OjpSZWFkQ29udGV4dDxDb250ZXh0VHJhaXRzMzI+KAorKyAg ICBQcm9jZXNzUmVhZGVyTGludXgqIHJlYWRlciwKKysgICAgTGludXhWTUFkZHJlc3MgY29udGV4 dF9hZGRyZXNzKSB7CisrICBjb250ZXh0Xy5hcmNoaXRlY3R1cmUgPSBrQ1BVQXJjaGl0ZWN0dXJl UklTQ1YzMjsKKysgIGNvbnRleHRfLnJpc2N2MzIgPSAmY29udGV4dF91bmlvbl8ucmlzY3YzMjsK KysKKysgIHJldHVybiBpbnRlcm5hbDo6UmVhZENvbnRleHQ8Q29udGV4dFRyYWl0czMyPigKKysg ICAgICByZWFkZXIsIGNvbnRleHRfYWRkcmVzcywgY29udGV4dF8ucmlzY3YzMik7CisrfQorKwor K3RlbXBsYXRlIDw+CisrYm9vbCBFeGNlcHRpb25TbmFwc2hvdExpbnV4OjpSZWFkQ29udGV4dDxD b250ZXh0VHJhaXRzNjQ+KAorKyAgICBQcm9jZXNzUmVhZGVyTGludXgqIHJlYWRlciwKKysgICAg TGludXhWTUFkZHJlc3MgY29udGV4dF9hZGRyZXNzKSB7CisrICBjb250ZXh0Xy5hcmNoaXRlY3R1 cmUgPSBrQ1BVQXJjaGl0ZWN0dXJlUklTQ1Y2NDsKKysgIGNvbnRleHRfLnJpc2N2NjQgPSAmY29u dGV4dF91bmlvbl8ucmlzY3Y2NDsKKysKKysgIHJldHVybiBpbnRlcm5hbDo6UmVhZENvbnRleHQ8 Q29udGV4dFRyYWl0czY0PigKKysgICAgICByZWFkZXIsIGNvbnRleHRfYWRkcmVzcywgY29udGV4 dF8ucmlzY3Y2NCk7CisrfQorKworICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorIAor IGJvb2wgRXhjZXB0aW9uU25hcHNob3RMaW51eDo6SW5pdGlhbGl6ZSgKK0luZGV4OiBjaHJvbWl1 bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xp bnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0t MTA2LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5oCisrKysgY2hyb21pdW0tMTA2LjAuNTI0 OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRp b25fc25hcHNob3RfbGludXguaAorQEAgLTg5LDYgKzg5LDkgQEAgY2xhc3MgRXhjZXB0aW9uU25h cHNob3RMaW51eCBmaW5hbCA6IHB1YgorICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1J TFkpCisgICAgIENQVUNvbnRleHRNSVBTIG1pcHNlbDsKKyAgICAgQ1BVQ29udGV4dE1JUFM2NCBt aXBzNjQ7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrICAgIENQVUNv bnRleHRSSVNDVjMyIHJpc2N2MzI7CisrICAgIENQVUNvbnRleHRSSVNDVjY0IHJpc2N2NjQ7Cisg I2VuZGlmCisgICB9IGNvbnRleHRfdW5pb25fOworICAgQ1BVQ29udGV4dCBjb250ZXh0XzsKK0lu ZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L3NuYXBzaG90L2xpbnV4L3Byb2Nlc3NfcmVhZGVyX2xpbnV4LmNjCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g Y2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L3NuYXBzaG90L2xpbnV4L3Byb2Nlc3NfcmVhZGVyX2xpbnV4LmNjCisrKysgY2hyb21pdW0tMTA2 LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9w cm9jZXNzX3JlYWRlcl9saW51eC5jYworQEAgLTEyNyw2ICsxMjcsOSBAQCB2b2lkIFByb2Nlc3NS ZWFkZXJMaW51eDo6VGhyZWFkOjpJbml0aWFsCisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBT X0ZBTUlMWSkKKyAgIHN0YWNrX3BvaW50ZXIgPSByZWFkZXItPklzNjRCaXQoKSA/IHRocmVhZF9p bmZvLnRocmVhZF9jb250ZXh0LnQ2NC5yZWdzWzI5XQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDogdGhyZWFkX2luZm8udGhyZWFkX2NvbnRleHQudDMyLnJlZ3NbMjldOwor KyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorKyAgc3RhY2tfcG9pbnRlciA9 IHJlYWRlci0+SXM2NEJpdCgpID8gdGhyZWFkX2luZm8udGhyZWFkX2NvbnRleHQudDY0LnNwCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0aHJlYWRfaW5mby50aHJlYWRf Y29udGV4dC50MzIuc3A7CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYKK0luZGV4OiBj aHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBz aG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDYu MC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGlu dXgvc2lnbmFsX2NvbnRleHQuaAorKysrIGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQuaAorQEAg LTQyMiw2ICs0MjIsNjcgQEAgc3RhdGljX2Fzc2VydChvZmZzZXRvZihVQ29udGV4dDxDb250ZXh0 VAorICAgICAgICAgICAgICAgImNvbnRleHQgb2Zmc2V0IG1pc21hdGNoIik7CisgI2VuZGlmCisg CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrCisrc3RydWN0IE1Db250 ZXh0MzIgeworKyAgdWludDMyX3QgZ3JlZ3NbMzJdOworKyAgdWludDY0X3QgZnByZWdzWzMyXTsK KysgIHVuc2lnbmVkIGludCBmY3NyOworK307CisrCisrc3RydWN0IE1Db250ZXh0NjQgeworKyAg dWludDY0X3QgZ3JlZ3NbMzJdOworKyAgdWludDY0X3QgZnByZWdzWzMyXTsKKysgIHVuc2lnbmVk IGludCBmY3NyOworK307CisrCisrc3RydWN0IENvbnRleHRUcmFpdHMzMiA6IHB1YmxpYyBUcmFp dHMzMiB7CisrICB1c2luZyBNQ29udGV4dCA9IE1Db250ZXh0MzI7CisrICB1c2luZyBTaWduYWxU aHJlYWRDb250ZXh0ID0gVGhyZWFkQ29udGV4dDo6dDMyX3Q7CisrICB1c2luZyBTaWduYWxGbG9h dENvbnRleHQgPSBGbG9hdENvbnRleHQ6OmYzMl90OworKyAgdXNpbmcgQ1BVQ29udGV4dCA9IENQ VUNvbnRleHRSSVNDVjMyOworK307CisrCisrc3RydWN0IENvbnRleHRUcmFpdHM2NCA6IHB1Ymxp YyBUcmFpdHM2NCB7CisrICB1c2luZyBNQ29udGV4dCA9IE1Db250ZXh0NjQ7CisrICB1c2luZyBT aWduYWxUaHJlYWRDb250ZXh0ID0gVGhyZWFkQ29udGV4dDo6dDY0X3Q7CisrICB1c2luZyBTaWdu YWxGbG9hdENvbnRleHQgPSBGbG9hdENvbnRleHQ6OmY2NF90OworKyAgdXNpbmcgQ1BVQ29udGV4 dCA9IENQVUNvbnRleHRSSVNDVjY0OworK307CisrCisrdGVtcGxhdGUgPHR5cGVuYW1lIFRyYWl0 cz4KKytzdHJ1Y3QgVUNvbnRleHQgeworKyAgdHlwZW5hbWUgVHJhaXRzOjpVTG9uZyBmbGFnczsK KysgIHR5cGVuYW1lIFRyYWl0czo6QWRkcmVzcyBsaW5rOworKyAgU2lnbmFsU3RhY2s8VHJhaXRz PiBzdGFjazsKKysgIFNpZ3NldDxUcmFpdHM+IHNpZ21hc2s7CisrICBjaGFyIHBhZGRpbmdbMTI4 IC0gc2l6ZW9mKHNpZ21hc2spXTsKKysgIHR5cGVuYW1lIFRyYWl0czo6Q2hhcl82NE9ubHkgcGFk ZGluZzJbOF07CisrICB0eXBlbmFtZSBUcmFpdHM6Ok1Db250ZXh0IG1jb250ZXh0OworK307Cisr CisrI2lmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1YzMikKKytzdGF0aWNfYXNzZXJ0KG9mZnNldG9m KFVDb250ZXh0PENvbnRleHRUcmFpdHMzMj4sIG1jb250ZXh0KSA9PQorKyAgICAgICAgICAgICAg ICAgIG9mZnNldG9mKHVjb250ZXh0X3QsIHVjX21jb250ZXh0KSwKKysgICAgICAgICAgICAgICJj b250ZXh0IG9mZnNldCBtaXNtYXRjaCIpOworK3N0YXRpY19hc3NlcnQob2Zmc2V0b2YoVUNvbnRl eHQ8Q29udGV4dFRyYWl0czMyPiwgbWNvbnRleHQuZ3JlZ3MpID09CisrICAgICAgICAgICAgICAg ICAgb2Zmc2V0b2YodWNvbnRleHRfdCwgdWNfbWNvbnRleHQuX19ncmVncyksCisrICAgICAgICAg ICAgICAiY29udGV4dCBvZmZzZXQgbWlzbWF0Y2giKTsKKytzdGF0aWNfYXNzZXJ0KG9mZnNldG9m KFVDb250ZXh0PENvbnRleHRUcmFpdHMzMj4sIG1jb250ZXh0LmZwcmVncykgPT0KKysgICAgICAg ICAgICAgICAgICBvZmZzZXRvZih1Y29udGV4dF90LCB1Y19tY29udGV4dC5fX2ZwcmVncyksCisr ICAgICAgICAgICAgICAiY29udGV4dCBvZmZzZXQgbWlzbWF0Y2giKTsKKysjZWxpZiBkZWZpbmVk KEFSQ0hfQ1BVX1JJU0NWNjQpCisrc3RhdGljX2Fzc2VydChvZmZzZXRvZihVQ29udGV4dDxDb250 ZXh0VHJhaXRzNjQ+LCBtY29udGV4dCkgPT0KKysgICAgICAgICAgICAgICAgICBvZmZzZXRvZih1 Y29udGV4dF90LCB1Y19tY29udGV4dCksCisrICAgICAgICAgICAgICAiY29udGV4dCBvZmZzZXQg bWlzbWF0Y2giKTsKKytzdGF0aWNfYXNzZXJ0KG9mZnNldG9mKFVDb250ZXh0PENvbnRleHRUcmFp dHM2ND4sIG1jb250ZXh0LmdyZWdzKSA9PQorKyAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHVj b250ZXh0X3QsIHVjX21jb250ZXh0Ll9fZ3JlZ3MpLAorKyAgICAgICAgICAgICAgImNvbnRleHQg b2Zmc2V0IG1pc21hdGNoIik7Cisrc3RhdGljX2Fzc2VydChvZmZzZXRvZihVQ29udGV4dDxDb250 ZXh0VHJhaXRzNjQ+LCBtY29udGV4dC5mcHJlZ3MpID09CisrICAgICAgICAgICAgICAgICAgb2Zm c2V0b2YodWNvbnRleHRfdCwgdWNfbWNvbnRleHQuX19mcHJlZ3MpLAorKyAgICAgICAgICAgICAg ImNvbnRleHQgb2Zmc2V0IG1pc21hdGNoIik7CisrI2VuZGlmCisrCisgI2Vsc2UKKyAjZXJyb3Ig UG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKK0luZGV4OiBjaHJvbWl1bS0x MDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4 L3N5c3RlbV9zbmFwc2hvdF9saW51eC5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNi4w LjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3N5c3RlbV9zbmFwc2hv dF9saW51eC5jYworQEAgLTIwNSw2ICsyMDUsOSBAQCBDUFVBcmNoaXRlY3R1cmUgU3lzdGVtU25h cHNob3RMaW51eDo6R2V0CisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKyAg IHJldHVybiBwcm9jZXNzX3JlYWRlcl8tPklzNjRCaXQoKSA/IGtDUFVBcmNoaXRlY3R1cmVNSVBT NjRFTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoga0NQVUFyY2hpdGVj dHVyZU1JUFNFTDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKysgIHJl dHVybiBwcm9jZXNzX3JlYWRlcl8tPklzNjRCaXQoKSA/IGtDUFVBcmNoaXRlY3R1cmVSSVNDVjY0 CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBrQ1BVQXJjaGl0ZWN0dXJl UklTQ1YzMjsKKyAjZWxzZQorICNlcnJvciBwb3J0IHRvIHlvdXIgYXJjaGl0ZWN0dXJlCisgI2Vu ZGlmCitAQCAtMjIwLDYgKzIyMyw5IEBAIHVpbnQzMl90IFN5c3RlbVNuYXBzaG90TGludXg6OkNQ VVJldmlzaW8KKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgLy8gTm90 IGltcGxlbWVudGFibGUgb24gTUlQUworICAgcmV0dXJuIDA7CisrI2VsaWYgZGVmaW5lZChBUkNI X0NQVV9SSVNDVl9GQU1JTFkpCisrICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBSSVNDVgorKyAg cmV0dXJuIDA7CisgI2Vsc2UKKyAjZXJyb3IgcG9ydCB0byB5b3VyIGFyY2hpdGVjdHVyZQorICNl bmRpZgorQEAgLTI0MCw2ICsyNDYsOSBAQCBzdGQ6OnN0cmluZyBTeXN0ZW1TbmFwc2hvdExpbnV4 OjpDUFVWZW5kCisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKyAgIC8vIE5v dCBpbXBsZW1lbnRhYmxlIG9uIE1JUFMKKyAgIHJldHVybiBzdGQ6OnN0cmluZygpOworKyNlbGlm IGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorKyAgLy8gTm90IGltcGxlbWVudGFibGUg b24gUklTQ1YKKysgIHJldHVybiBzdGQ6OnN0cmluZygpOworICNlbHNlCisgI2Vycm9yIHBvcnQg dG8geW91ciBhcmNoaXRlY3R1cmUKKyAjZW5kaWYKK0BAIC0zNzMsNiArMzgyLDkgQEAgYm9vbCBT eXN0ZW1TbmFwc2hvdExpbnV4OjpOWEVuYWJsZWQoKSBjbworICNlbGlmIGRlZmluZWQoQVJDSF9D UFVfTUlQU19GQU1JTFkpCisgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBNSVBTCisgICByZXR1 cm4gZmFsc2U7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrICAvLyBO b3QgaW1wbGVtZW50YWJsZSBvbiBSSVNDVgorKyAgcmV0dXJuIGZhbHNlOworICNlbHNlCisgI2Vy cm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCitJbmRleDogY2hyb21p dW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC90aHJlYWRfc25hcHNob3RfbGludXguY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0x MDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmNjCisrKysgY2hyb21pdW0tMTA2LjAuNTI0OS45 MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25h cHNob3RfbGludXguY2MKK0BAIC0xOTAsNiArMTkwLDIyIEBAIGJvb2wgVGhyZWFkU25hcHNob3RM aW51eDo6SW5pdGlhbGl6ZSgKKyAgICAgICAgIHRocmVhZC50aHJlYWRfaW5mby5mbG9hdF9jb250 ZXh0LmYzMiwKKyAgICAgICAgIGNvbnRleHRfLm1pcHNlbCk7CisgICB9CisrI2VsaWYgZGVmaW5l ZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrICBpZiAocHJvY2Vzc19yZWFkZXItPklzNjRCaXQo KSkgeworKyAgICBjb250ZXh0Xy5hcmNoaXRlY3R1cmUgPSBrQ1BVQXJjaGl0ZWN0dXJlUklTQ1Y2 NDsKKysgICAgY29udGV4dF8ucmlzY3Y2NCA9ICZjb250ZXh0X3VuaW9uXy5yaXNjdjY0OworKyAg ICBJbml0aWFsaXplQ1BVQ29udGV4dFJJU0NWPENvbnRleHRUcmFpdHM2ND4oCisrCXRocmVhZC50 aHJlYWRfaW5mby50aHJlYWRfY29udGV4dC50NjQsCisrCXRocmVhZC50aHJlYWRfaW5mby5mbG9h dF9jb250ZXh0LmY2NCwKKysJY29udGV4dF8ucmlzY3Y2NCk7CisrICB9IGVsc2UgeworKyAgICBj b250ZXh0Xy5hcmNoaXRlY3R1cmUgPSBrQ1BVQXJjaGl0ZWN0dXJlUklTQ1YzMjsKKysgICAgY29u dGV4dF8ucmlzY3YzMiA9ICZjb250ZXh0X3VuaW9uXy5yaXNjdjMyOworKyAgICBJbml0aWFsaXpl Q1BVQ29udGV4dFJJU0NWPENvbnRleHRUcmFpdHMzMj4oCisrCXRocmVhZC50aHJlYWRfaW5mby50 aHJlYWRfY29udGV4dC50MzIsCisrCXRocmVhZC50aHJlYWRfaW5mby5mbG9hdF9jb250ZXh0LmYz MiwKKysJY29udGV4dF8ucmlzY3YzMik7CisrICB9CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAj ZW5kaWYKK0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5oCis9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09CistLS0gY2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5oCisrKysgY2hy b21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguaAorQEAgLTc0LDYgKzc0LDkgQEAgY2xhc3Mg VGhyZWFkU25hcHNob3RMaW51eCBmaW5hbCA6IHB1YmxpYworICNlbGlmIGRlZmluZWQoQVJDSF9D UFVfTUlQU19GQU1JTFkpCisgICAgIENQVUNvbnRleHRNSVBTIG1pcHNlbDsKKyAgICAgQ1BVQ29u dGV4dE1JUFM2NCBtaXBzNjQ7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkp CisrICAgIENQVUNvbnRleHRSSVNDVjMyIHJpc2N2MzI7CisrICAgIENQVUNvbnRleHRSSVNDVjY0 IHJpc2N2NjQ7CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4 Nl9GQU1JTFkKK0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3V0aWwvbGludXgvcHRyYWNlci5jYworPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9t aXVtLTEwNi4wLjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGls L2xpbnV4L3B0cmFjZXIuY2MKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvcHRyYWNlci5jYworQEAgLTM5OCw2ICszOTgs NTEgQEAgYm9vbCBHZXRUaHJlYWRBcmVhNjQocGlkX3QgdGlkLAorICAgcmV0dXJuIHRydWU7Cisg fQorIAorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorKworK3RlbXBsYXRl IDx0eXBlbmFtZSBEZXN0aW5hdGlvbj4KKytib29sIEdldFJlZ2lzdGVyU2V0KHBpZF90IHRpZCwg aW50IHNldCwgRGVzdGluYXRpb24qIGRlc3QsIGJvb2wgY2FuX2xvZykgeworKyAgaW92ZWMgaW92 OworKyAgaW92Lmlvdl9iYXNlID0gZGVzdDsKKysgIGlvdi5pb3ZfbGVuID0gc2l6ZW9mKCpkZXN0 KTsKKysgIGlmIChwdHJhY2UoUFRSQUNFX0dFVFJFR1NFVCwgdGlkLCByZWludGVycHJldF9jYXN0 PHZvaWQqPihzZXQpLCAmaW92KSAhPSAwKSB7CisrICAgIFBMT0dfSUYoRVJST1IsIGNhbl9sb2cp IDw8ICJwdHJhY2UiOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrICBpZiAoaW92Lmlvdl9s ZW4gIT0gc2l6ZW9mKCpkZXN0KSkgeworKyAgICBMT0dfSUYoRVJST1IsIGNhbl9sb2cpIDw8ICJV bmV4cGVjdGVkIHJlZ2lzdGVycyBzaXplIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQorKyAg cmV0dXJuIHRydWU7CisrfQorKworK2Jvb2wgR2V0RmxvYXRpbmdQb2ludFJlZ2lzdGVyczMyKHBp ZF90IHRpZCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9hdENvbnRleHQq IGNvbnRleHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5fbG9n KSB7CisrICByZXR1cm4gZmFsc2U7CisrfQorKworK2Jvb2wgR2V0RmxvYXRpbmdQb2ludFJlZ2lz dGVyczY0KHBpZF90IHRpZCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9h dENvbnRleHQqIGNvbnRleHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v bCBjYW5fbG9nKSB7CisrICByZXR1cm4gR2V0UmVnaXN0ZXJTZXQodGlkLCBOVF9QUkZQUkVHLCAm Y29udGV4dC0+ZjY0LmYsIGNhbl9sb2cpOworK30KKysKKytib29sIEdldFRocmVhZEFyZWEzMihw aWRfdCB0aWQsCisrICAgICAgICAgICAgICAgICAgICAgY29uc3QgVGhyZWFkQ29udGV4dCYgY29u dGV4dCwKKysgICAgICAgICAgICAgICAgICAgICBMaW51eFZNQWRkcmVzcyogYWRkcmVzcywKKysg ICAgICAgICAgICAgICAgICAgICBib29sIGNhbl9sb2cpIHsKKysgIHJldHVybiBmYWxzZTsKKyt9 CisrCisrYm9vbCBHZXRUaHJlYWRBcmVhNjQocGlkX3QgdGlkLAorKyAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IFRocmVhZENvbnRleHQmIGNvbnRleHQsCisrICAgICAgICAgICAgICAgICAgICAg TGludXhWTUFkZHJlc3MqIGFkZHJlc3MsCisrICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5f bG9nKSB7CisrICAqYWRkcmVzcyA9IGNvbnRleHQudDY0LnRwOworKyAgcmV0dXJuIHRydWU7Cisr fQorKworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFN SUxZCitJbmRleDogY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1 bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9s aW51eC90aHJlYWRfaW5mby5oCisrKysgY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKK0BAIC03OSw2ICs3 OSw0MCBAQCB1bmlvbiBUaHJlYWRDb250ZXh0IHsKKyAgICAgdWludDMyX3QgY3AwX3N0YXR1czsK KyAgICAgdWludDMyX3QgY3AwX2NhdXNlOworICAgICB1aW50MzJfdCBwYWRkaW5nMV87CisrI2Vs aWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrICAgIC8vIFJlZmxlY3RzIHVzZXJf cmVnc19zdHJ1Y3QgaW4gYXNtL3B0cmFjZS5oLgorKyAgICB1aW50MzJfdCBwYzsKKysgICAgdWlu dDMyX3QgcmE7CisrICAgIHVpbnQzMl90IHNwOworKyAgICB1aW50MzJfdCBncDsKKysgICAgdWlu dDMyX3QgdHA7CisrICAgIHVpbnQzMl90IHQwOworKyAgICB1aW50MzJfdCB0MTsKKysgICAgdWlu dDMyX3QgdDI7CisrICAgIHVpbnQzMl90IHMwOworKyAgICB1aW50MzJfdCBzMTsKKysgICAgdWlu dDMyX3QgYTA7CisrICAgIHVpbnQzMl90IGExOworKyAgICB1aW50MzJfdCBhMjsKKysgICAgdWlu dDMyX3QgYTM7CisrICAgIHVpbnQzMl90IGE0OworKyAgICB1aW50MzJfdCBhNTsKKysgICAgdWlu dDMyX3QgYTY7CisrICAgIHVpbnQzMl90IGE3OworKyAgICB1aW50MzJfdCBzMjsKKysgICAgdWlu dDMyX3QgczM7CisrICAgIHVpbnQzMl90IHM0OworKyAgICB1aW50MzJfdCBzNTsKKysgICAgdWlu dDMyX3QgczY7CisrICAgIHVpbnQzMl90IHM3OworKyAgICB1aW50MzJfdCBzODsKKysgICAgdWlu dDMyX3Qgczk7CisrICAgIHVpbnQzMl90IHMxMDsKKysgICAgdWludDMyX3QgczExOworKyAgICB1 aW50MzJfdCB0MzsKKysgICAgdWludDMyX3QgdDQ7CisrICAgIHVpbnQzMl90IHQ1OworKyAgICB1 aW50MzJfdCB0NjsKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVf WDg2X0ZBTUlMWQorQEAgLTEzMiw2ICsxNjYsNDAgQEAgdW5pb24gVGhyZWFkQ29udGV4dCB7Cisg ICAgIHVpbnQ2NF90IGNwMF9iYWR2YWRkcjsKKyAgICAgdWludDY0X3QgY3AwX3N0YXR1czsKKyAg ICAgdWludDY0X3QgY3AwX2NhdXNlOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFN SUxZKQorKyAgICAvLyBSZWZsZWN0cyB1c2VyX3JlZ3Nfc3RydWN0IGluIGFzbS9wdHJhY2UuaC4K KysgICAgdWludDY0X3QgcGM7CisrICAgIHVpbnQ2NF90IHJhOworKyAgICB1aW50NjRfdCBzcDsK KysgICAgdWludDY0X3QgZ3A7CisrICAgIHVpbnQ2NF90IHRwOworKyAgICB1aW50NjRfdCB0MDsK KysgICAgdWludDY0X3QgdDE7CisrICAgIHVpbnQ2NF90IHQyOworKyAgICB1aW50NjRfdCBzMDsK KysgICAgdWludDY0X3QgczE7CisrICAgIHVpbnQ2NF90IGEwOworKyAgICB1aW50NjRfdCBhMTsK KysgICAgdWludDY0X3QgYTI7CisrICAgIHVpbnQ2NF90IGEzOworKyAgICB1aW50NjRfdCBhNDsK KysgICAgdWludDY0X3QgYTU7CisrICAgIHVpbnQ2NF90IGE2OworKyAgICB1aW50NjRfdCBhNzsK KysgICAgdWludDY0X3QgczI7CisrICAgIHVpbnQ2NF90IHMzOworKyAgICB1aW50NjRfdCBzNDsK KysgICAgdWludDY0X3QgczU7CisrICAgIHVpbnQ2NF90IHM2OworKyAgICB1aW50NjRfdCBzNzsK KysgICAgdWludDY0X3Qgczg7CisrICAgIHVpbnQ2NF90IHM5OworKyAgICB1aW50NjRfdCBzMTA7 CisrICAgIHVpbnQ2NF90IHMxMTsKKysgICAgdWludDY0X3QgdDM7CisrICAgIHVpbnQ2NF90IHQ0 OworKyAgICB1aW50NjRfdCB0NTsKKysgICAgdWludDY0X3QgdDY7CisgI2Vsc2UKKyAjZXJyb3Ig UG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKK0BAIC0xNDMsMTEgKzIxMSwx MiBAQCB1bmlvbiBUaHJlYWRDb250ZXh0IHsKKyAgIHVzaW5nIE5hdGl2ZVRocmVhZENvbnRleHQg PSB1c2VyX3JlZ3M7CisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKyAvLyBO byBhcHByb3ByaWF0ZSBOYXRpdmVUaHJlYWRzQ29udGV4dCB0eXBlIGF2YWlsYWJsZSBmb3IgTUlQ UworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorICNlbHNlCisgI2Vycm9y IFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZIHx8IEFSQ0hfQ1BVX0FSTTY0 CisgCistI2lmICFkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorKyNpZiAhZGVmaW5lZChB UkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgIWRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQor ICNpZiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpCisgICBzdGF0aWNfYXNzZXJ0KHNpemVvZih0 MzJfdCkgPT0gc2l6ZW9mKE5hdGl2ZVRocmVhZENvbnRleHQpLCAiU2l6ZSBtaXNtYXRjaCIpOwor ICNlbHNlICAvLyBBUkNIX0NQVV82NF9CSVRTCitAQCAtMjE4LDYgKzI4Nyw5IEBAIHVuaW9uIEZs b2F0Q29udGV4dCB7CisgICAgIH0gZnByZWdzWzMyXTsKKyAgICAgdWludDMyX3QgZnBjc3I7Cisg ICAgIHVpbnQzMl90IGZwdV9pZDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlM WSkKKysgICAgdWludDY0X3QgZlszMl07CisrICAgIHVpbnQzMl90IGZjc3I7CisgI2Vsc2UKKyAj ZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKK0BAIC0yNTIsNiAr MzI0LDkgQEAgdW5pb24gRmxvYXRDb250ZXh0IHsKKyAgICAgZG91YmxlIGZwcmVnc1szMl07Cisg ICAgIHVpbnQzMl90IGZwY3NyOworICAgICB1aW50MzJfdCBmcHVfaWQ7CisrI2VsaWYgZGVmaW5l ZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrICAgIHVpbnQ2NF90IGZbMzJdOworKyAgICB1aW50 MzJfdCBmY3NyOworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9Y ODZfRkFNSUxZCitAQCAtMjgxLDYgKzM1Niw3IEBAIHVuaW9uIEZsb2F0Q29udGV4dCB7CisgICBz dGF0aWNfYXNzZXJ0KHNpemVvZihmNjQpID09IHNpemVvZih1c2VyX2Zwc2ltZF9zdHJ1Y3QpLCAi U2l6ZSBtaXNtYXRjaCIpOworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisg Ly8gTm8gYXBwcm9wcmlhdGUgZmxvYXRpbmcgcG9pbnQgY29udGV4dCBuYXRpdmUgdHlwZSBmb3Ig YXZhaWxhYmxlIE1JUFMuCisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisg I2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4NgorSW5kZXg6IGNo cm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9u ZXQvaHR0cF90cmFuc3BvcnRfbGliY3VybC5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEw Ni4wLjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL25ldC9o dHRwX3RyYW5zcG9ydF9saWJjdXJsLmNjCisrKysgY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL25ldC9odHRwX3RyYW5zcG9ydF9saWJjdXJs LmNjCitAQCAtMjM3LDYgKzIzNyw4IEBAIHN0ZDo6c3RyaW5nIFVzZXJBZ2VudCgpIHsKKyAjZWxp ZiBkZWZpbmVkKEFSQ0hfQ1BVX0JJR19FTkRJQU4pCisgICAgIHN0YXRpYyBjb25zdGV4cHIgY2hh ciBhcmNoW10gPSAiYWFyY2g2NF9iZSI7CisgI2VuZGlmCisrI2VsaWYgZGVmaW5lZChBUkNIX0NQ VV9SSVNDVjY0KQorKyAgICBzdGF0aWMgY29uc3RleHByIGNoYXIgYXJjaFtdID0gInJpc2N2NjQi OworICNlbHNlCisgI2Vycm9yIFBvcnQKKyAjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNS1yaXNjdi1jcmFzaHBhZC5wYXRjaC5hcmdzIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNS1yaXNjdi1jcmFzaHBhZC5wYXRjaC5hcmdz Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDVmMzhlMzU0ZTdmCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNS1yaXNj di1jcmFzaHBhZC5wYXRjaC5hcmdzCkBAIC0wLDAgKzEgQEAKKy1OcDEgLS1kaXJlY3Rvcnk9c3Jj LzNyZHBhcnR5L2Nocm9taXVtLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDAwNi1yaXNjdi1kYXYxZC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAwMDYtcmlzY3YtZGF2MWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi4xMmFkMDcyNzViZDMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMDA2LXJpc2N2LWRhdjFkLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAK K0luZGV4OiBjaHJvbWl1bS0xMDIuMC41MDA1LjYxL3RoaXJkX3BhcnR5L2RhdjFkL2NvbmZpZy9s aW51eC9yaXNjdjY0L2NvbmZpZy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCisrKysgY2hy b21pdW0tMTAyLjAuNTAwNS42MS90aGlyZF9wYXJ0eS9kYXYxZC9jb25maWcvbGludXgvcmlzY3Y2 NC9jb25maWcuaAorQEAgLTAsMCArMSwzOCBAQAorKy8qCisrICogQXV0b2dlbmVyYXRlZCBieSB0 aGUgTWVzb24gYnVpbGQgc3lzdGVtLgorKyAqIERvIG5vdCBlZGl0LCB5b3VyIGNoYW5nZXMgd2ls bCBiZSBsb3N0LgorKyAqLworKworKyNwcmFnbWEgb25jZQorKworKyNkZWZpbmUgQVJDSF9BQVJD SDY0IDAKKysKKysjZGVmaW5lIEFSQ0hfQVJNIDAKKysKKysjZGVmaW5lIEFSQ0hfUFBDNjRMRSAw CisrCisrI2RlZmluZSBBUkNIX1g4NiAwCisrCisrI2RlZmluZSBBUkNIX1g4Nl8zMiAwCisrCisr I2RlZmluZSBBUkNIX1g4Nl82NCAwCisrCisrI2RlZmluZSBDT05GSUdfMTZCUEMgMQorKworKyNk ZWZpbmUgQ09ORklHXzhCUEMgMQorKworKy8vICNkZWZpbmUgQ09ORklHX0xPRyAxIC0tIExvZ2dp bmcgaXMgY29udHJvbGxlZCBieSBDaHJvbWl1bQorKworKyNkZWZpbmUgRU5ESUFOTkVTU19CSUcg MAorKworKyNkZWZpbmUgSEFWRV9BU00gMAorKworKyNkZWZpbmUgSEFWRV9BU19GVU5DIDAKKysK KysjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCisrCisrI2RlZmluZSBIQVZFX0dFVEFVWFZB TCAxCisrCisrI2RlZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKKysKKysjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQorCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MDA2LXJpc2N2LWRhdjFkLnBhdGNoLmFyZ3MgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMDA2LXJpc2N2LWRhdjFkLnBhdGNoLmFyZ3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi5kNWYzOGUzNTRlN2YKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA2LXJpc2N2LWRhdjFkLnBhdGNoLmFyZ3MKQEAgLTAsMCAr MSBAQAorLU5wMSAtLWRpcmVjdG9yeT1zcmMvM3JkcGFydHkvY2hyb21pdW0vCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA3LXJpc2N2LXNhbmRib3gucGF0Y2gg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA3LXJpc2N2LXNhbmRib3gucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wOThiZDk1YThkZTYKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA3LXJpc2N2 LXNhbmRib3gucGF0Y2gKQEAgLTAsMCArMSwxOTU2IEBACitJbmRleDogY2hyb21pdW0tMTA3LjAu NTMwNC44Ny9zYW5kYm94L2ZlYXR1cmVzLmduaQorPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEw Ny4wLjUzMDQuODcub3JpZy9zYW5kYm94L2ZlYXR1cmVzLmduaQorKysrIGNocm9taXVtLTEwNy4w LjUzMDQuODcvc2FuZGJveC9mZWF0dXJlcy5nbmkKK0BAIC05LDcgKzksOCBAQAorIHVzZV9zZWNj b21wX2JwZiA9IChpc19saW51eCB8fCBpc19jaHJvbWVvcyB8fCBpc19hbmRyb2lkKSAmJgorICAg ICAgICAgICAgICAgICAgIChjdXJyZW50X2NwdSA9PSAieDg2IiB8fCBjdXJyZW50X2NwdSA9PSAi eDY0IiB8fAorICAgICAgICAgICAgICAgICAgICBjdXJyZW50X2NwdSA9PSAiYXJtIiB8fCBjdXJy ZW50X2NwdSA9PSAiYXJtNjQiIHx8CistICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09 ICJtaXBzZWwiIHx8IGN1cnJlbnRfY3B1ID09ICJtaXBzNjRlbCIpCisrICAgICAgICAgICAgICAg ICAgIGN1cnJlbnRfY3B1ID09ICJtaXBzZWwiIHx8IGN1cnJlbnRfY3B1ID09ICJtaXBzNjRlbCIg fHwKKysgICAgICAgICAgICAgICAgICAgY3VycmVudF9jcHUgPT0gInJpc2N2NjQiKQorIAorICMg U1NCRCAoU3BlY3VsYXRpdmUgU3RvcmUgQnlwYXNzIERpc2FibGUpIGlzIGEgbWl0aWdhdGlvbiBv ZiBTcGVjdHJlIFZhcmlhbnQgNC4KKyAjIEFzIFNwZWN0cmUgVmFyaWFudCA0IGNhbiBiZSBtaXRp Z2F0ZWQgYnkgc2l0ZSBpc29sYXRpb24sIG9wdC1vdXQgU1NCRCBvbiBzaXRlCitJbmRleDogY2hy b21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9y YW5nZXMuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNy4wLjUzMDQuODcub3JpZy9zYW5k Ym94L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9yYW5nZXMuaAorKysrIGNocm9taXVtLTEw Ny4wLjUzMDQuODcvc2FuZGJveC9saW51eC9icGZfZHNsL2xpbnV4X3N5c2NhbGxfcmFuZ2VzLmgK K0BAIC01Niw2ICs1NiwxMiBAQAorICNkZWZpbmUgTUFYX1BVQkxJQ19TWVNDQUxMIF9fTlJfc3lz Y2FsbHMKKyAjZGVmaW5lIE1BWF9TWVNDQUxMIE1BWF9QVUJMSUNfU1lTQ0FMTAorIAorKyNlbGlm IGRlZmluZWQoX19yaXNjdikKKysKKysjZGVmaW5lIE1JTl9TWVNDQUxMIDB1CisrI2RlZmluZSBN QVhfUFVCTElDX1NZU0NBTEwgMTAyNHUKKysjZGVmaW5lIE1BWF9TWVNDQUxMIE1BWF9QVUJMSUNf U1lTQ0FMTAorKworICNlbHNlCisgI2Vycm9yICJVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUiCisg I2VuZGlmCitJbmRleDogY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L2JwZl9k c2wvc2VjY29tcF9tYWNyb3MuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNy4wLjUzMDQu ODcub3JpZy9zYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaAorKysrIGNocm9t aXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9icGZfZHNsL3NlY2NvbXBfbWFjcm9zLmgK K0BAIC0zNDMsNiArMzQzLDQ2IEBAIHN0cnVjdCByZWdzX3N0cnVjdCB7CisgI2RlZmluZSBTRUND T01QX1BUX1BBUk00KF9yZWdzKSAoX3JlZ3MpLnJlZ3NbM10KKyAjZGVmaW5lIFNFQ0NPTVBfUFRf UEFSTTUoX3JlZ3MpIChfcmVncykucmVnc1s0XQorICNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNNihf cmVncykgKF9yZWdzKS5yZWdzWzVdCisrCisrI2VsaWYgZGVmaW5lZChfX3Jpc2N2KQorK3N0cnVj dCByZWdzX3N0cnVjdCB7CisrICB1bnNpZ25lZCBsb25nIHJlZ3NbMzJdOworK307CisrCisrI2Rl ZmluZSBTRUNDT01QX0FSQ0ggQVVESVRfQVJDSF9SSVNDVjY0CisrCisrI2RlZmluZSBTRUNDT01Q X1JFRyhfY3R4LCBfcmVnKSAoKF9jdHgpLT51Y19tY29udGV4dC5fX2dyZWdzW19yZWddKQorKwor KyNkZWZpbmUgU0VDQ09NUF9SRVNVTFQoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgUkVHX0EwKQor KyNkZWZpbmUgU0VDQ09NUF9TWVNDQUxMKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIFJFR19BMCs3 KQorKyNkZWZpbmUgU0VDQ09NUF9JUChfY3R4KSAoX2N0eCktPnVjX21jb250ZXh0Ll9fZ3JlZ3Nb UkVHX1BDXQorKyNkZWZpbmUgU0VDQ09NUF9QQVJNMShfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCBS RUdfQTApCisrI2RlZmluZSBTRUNDT01QX1BBUk0yKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIFJF R19BMCsxKQorKyNkZWZpbmUgU0VDQ09NUF9QQVJNMyhfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCBS RUdfQTArMikKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTQoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwg UkVHX0EwKzMpCisrI2RlZmluZSBTRUNDT01QX1BBUk01KF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgs IFJFR19BMCs0KQorKyNkZWZpbmUgU0VDQ09NUF9QQVJNNihfY3R4KSBTRUNDT01QX1JFRyhfY3R4 LCBSRUdfQTArNSkKKysKKysjZGVmaW5lIFNFQ0NPTVBfTlJfSURYIChvZmZzZXRvZihzdHJ1Y3Qg YXJjaF9zZWNjb21wX2RhdGEsIG5yKSkKKysjZGVmaW5lIFNFQ0NPTVBfQVJDSF9JRFggKG9mZnNl dG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgYXJjaCkpCisrI2RlZmluZSBTRUNDT01QX0lQ X01TQl9JRFggXAorKyAgKG9mZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgaW5zdHJ1 Y3Rpb25fcG9pbnRlcikgKyA0KQorKyNkZWZpbmUgU0VDQ09NUF9JUF9MU0JfSURYIFwKKysgIChv ZmZzZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGluc3RydWN0aW9uX3BvaW50ZXIpICsg MCkKKysjZGVmaW5lIFNFQ0NPTVBfQVJHX01TQl9JRFgobnIpIFwKKysgIChvZmZzZXRvZihzdHJ1 Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGFyZ3MpICsgOCAqIChucikgKyA0KQorKyNkZWZpbmUgU0VD Q09NUF9BUkdfTFNCX0lEWChucikgXAorKyAgKG9mZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBf ZGF0YSwgYXJncykgKyA4ICogKG5yKSArIDApCisrCisrI2RlZmluZSBTRUNDT01QX1BUX1JFU1VM VChfcmVncykgKF9yZWdzKS5yZWdzW1JFR19BMF0KKysjZGVmaW5lIFNFQ0NPTVBfUFRfU1lTQ0FM TChfcmVncykgKF9yZWdzKS5yZWdzW1JFR19BMCs3XQorKyNkZWZpbmUgU0VDQ09NUF9QVF9JUChf cmVncykgKF9yZWdzKS5yZWdzW1JFR19QQ10KKysjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTEoX3Jl Z3MpIChfcmVncykucmVnc1tSRUdfQTBdCisrI2RlZmluZSBTRUNDT01QX1BUX1BBUk0yKF9yZWdz KSAoX3JlZ3MpLnJlZ3NbUkVHX0EwKzFdCisrI2RlZmluZSBTRUNDT01QX1BUX1BBUk0zKF9yZWdz KSAoX3JlZ3MpLnJlZ3NbUkVHX0EwKzJdCisrI2RlZmluZSBTRUNDT01QX1BUX1BBUk00KF9yZWdz KSAoX3JlZ3MpLnJlZ3NbUkVHX0EwKzNdCisrI2RlZmluZSBTRUNDT01QX1BUX1BBUk01KF9yZWdz KSAoX3JlZ3MpLnJlZ3NbUkVHX0EwKzRdCisrI2RlZmluZSBTRUNDT01QX1BUX1BBUk02KF9yZWdz KSAoX3JlZ3MpLnJlZ3NbUkVHX0EwKzVdCisgI2Vsc2UKKyAjZXJyb3IgVW5zdXBwb3J0ZWQgdGFy Z2V0IHBsYXRmb3JtCisgCitJbmRleDogY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gY2hyb21pdW0tMTA3LjAuNTMwNC44Ny5vcmlnL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYt aGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MKKysrKyBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3Nh bmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MKK0BAIC02 MSw2ICs2MSw5IEBAIGJvb2wgSXNCYXNlbGluZVBvbGljeUFsbG93ZWQoaW50IHN5c25vKQorICNp ZiBkZWZpbmVkKF9fbWlwc19fKQorICAgICAgICAgIFN5c2NhbGxTZXRzOjpJc01pcHNQcml2YXRl KHN5c25vKSB8fAorICNlbmRpZgorKyNpZiBkZWZpbmVkKF9fcmlzY3YpCisrICAgICAgICAgU3lz Y2FsbFNldHM6OklzUmlzY3ZQcml2YXRlKHN5c25vKSB8fAorKyNlbmRpZgorICAgICAgICAgIFN5 c2NhbGxTZXRzOjpJc0FsbG93ZWRPcGVyYXRpb25PbkZkKHN5c25vKTsKKyAgIC8vIGNsYW5nLWZv cm1hdCBvbgorIH0KK0BAIC0xOTgsNyArMjAxLDcgQEAgUmVzdWx0RXhwciBFdmFsdWF0ZVN5c2Nh bGxJbXBsKGludCBmc19kZQorICAgICByZXR1cm4gUmVzdHJpY3RGY250bENvbW1hbmRzKCk7Cisg I2VuZGlmCisgCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChfX2Fh cmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgIC8vIGZvcmsoKSBpcyBuZXZlciB1c2Vk IGFzIGEgc3lzdGVtIGNhbGwgKGNsb25lKCkgaXMgdXNlZCBpbnN0ZWFkKSwgYnV0IHdlCisgICAv LyBoYXZlIHNlZW4gaXQgaW4gZmFsbGJhY2sgY29kZSBvbiBBbmRyb2lkLgorICAgaWYgKHN5c25v ID09IF9fTlJfZm9yaykgeworQEAgLTI1Myw3ICsyNTYsNyBAQCBSZXN1bHRFeHByIEV2YWx1YXRl U3lzY2FsbEltcGwoaW50IGZzX2RlCisgICB9CisgCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8 IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZp bmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9f cmlzY3YpCisgICBpZiAoc3lzbm8gPT0gX19OUl9tbWFwKQorICAgICByZXR1cm4gUmVzdHJpY3RN bWFwRmxhZ3MoKTsKKyAjZW5kaWYKK0BAIC0yNzQsNyArMjc3LDcgQEAgUmVzdWx0RXhwciBFdmFs dWF0ZVN5c2NhbGxJbXBsKGludCBmc19kZQorICAgICByZXR1cm4gUmVzdHJpY3RQcmN0bCgpOwor IAorICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5l ZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVk KF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcmlzY3YpCisgICBpZiAoc3lzbm8gPT0gX19OUl9z b2NrZXRwYWlyKSB7CisgICAgIC8vIE9ubHkgYWxsb3cgQUZfVU5JWCwgUEZfVU5JWC4gQ3Jhc2gg aWYgYW55dGhpbmcgZWxzZSBpcyBzZWVuLgorICAgICBzdGF0aWNfYXNzZXJ0KEFGX1VOSVggPT0g UEZfVU5JWCwKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc2Vj Y29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gY2hyb21pdW0tMTA3LjAuNTMwNC44Ny5vcmlnL3NhbmRib3gvbGludXgvc2Vj Y29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCisrKysg Y2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMv c3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYworQEAgLTM3LDYgKzM3LDcgQEAKKyAK KyAjaWYgKEJVSUxERkxBRyhJU19MSU5VWCkgfHwgQlVJTERGTEFHKElTX0NIUk9NRU9TX0xBQ1JP UykpICYmIFwKKyAgICAgIWRlZmluZWQoX19hcm1fXykgJiYgIWRlZmluZWQoX19hYXJjaDY0X18p ICYmICAgICAgICAgICAgIFwKKysgICAgIWRlZmluZWQoX19yaXNjdikgJiYgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIWRlZmluZWQoUFRSQUNFX0dFVF9USFJF QURfQVJFQSkKKyAvLyBBbHNvIGluY2x1ZGUgYXNtL3B0cmFjZS1hYmkuaCBzaW5jZSBwdHJhY2Uu aCBpbiBvbGRlciBsaWJjIChmb3IgaW5zdGFuY2UKKyAvLyB0aGUgb25lIGluIFVidW50dSAxNi4w NCBMVFMpIGlzIG1pc3NpbmcgUFRSQUNFX0dFVF9USFJFQURfQVJFQS4KK0BAIC00NDMsNyArNDQ0 LDcgQEAgUmVzdWx0RXhwciBSZXN0cmljdFB0cmFjZSgpIHsKKyAjZW5kaWYKKyAgIHJldHVybiBT d2l0Y2gocmVxdWVzdCkKKyAgICAgICAuQ0FTRVMoKAorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRf XykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAg ICAgICAgICAgICAgICBQVFJBQ0VfR0VUUkVHUywgUFRSQUNFX0dFVEZQUkVHUywgUFRSQUNFX0dF VF9USFJFQURfQVJFQSwKKyAgICAgICAgICAgICAgICAgIFBUUkFDRV9HRVRSRUdTRVQsCisgI2Vu ZGlmCitJbmRleDogY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA3 LjAuNTMwNC44Ny5vcmlnL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxs X3NldHMuY2MKKysrKyBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc2VjY29t cC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKK0BAIC0xMDMsNyArMTAzLDcgQEAgYm9vbCBT eXNjYWxsU2V0czo6SXNVbWFzayhpbnQgc3lzbm8pIHsKKyAvLyBCb3RoIEVQRVJNIGFuZCBFTk9F TlQgYXJlIHZhbGlkIGVycm5vIHVubGVzcyBvdGhlcndpc2Ugbm90ZWQgaW4gY29tbWVudC4KKyBi b29sIFN5c2NhbGxTZXRzOjpJc0ZpbGVTeXN0ZW0oaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5 c25vKSB7CistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChfX2FhcmNo NjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX2FjY2VzczogIC8vIEVQ RVJNIG5vdCBhIHZhbGlkIGVycm5vLgorICAgICBjYXNlIF9fTlJfY2htb2Q6CisgICAgIGNhc2Ug X19OUl9jaG93bjoKK0BAIC0xMzYsNyArMTM2LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxl U3lzdGVtKGludCBzeXNubworICAgICBjYXNlIF9fTlJfZmFjY2Vzc2F0MjoKKyAgICAgY2FzZSBf X05SX2ZjaG1vZGF0OgorICAgICBjYXNlIF9fTlJfZmNob3duYXQ6ICAvLyBTaG91bGQgYmUgY2Fs bGVkIGNob3duYXQgPworLSNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hYXJj aDY0X18pCisrI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykg fHwgZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfbmV3ZnN0YXRhdDogIC8vIGZzdGF0 YXQoKS4gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCisgI2VsaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFN SUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorQEAgLTIyNiw3ICsyMjYsNyBAQCBi b29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRGaWxlU3lzdGVtQWNjCisgICAgIGNhc2UgX19OUl9v bGRmc3RhdDoKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0 X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNjdikKKyAgICAg Y2FzZSBfX05SX3N5bmNfZmlsZV9yYW5nZTogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgor ICNlbGlmIGRlZmluZWQoX19hcm1fXykKKyAgICAgY2FzZSBfX05SX2FybV9zeW5jX2ZpbGVfcmFu Z2U6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KK0BAIC0yNDUsNyArMjQ1LDcgQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNEZW5pZWRGaWxlU3lzdGVtQWNjZQorICNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pCisgICAgIGNhc2UgX19OUl9mY2hvd24zMjoKKyAjZW5k aWYKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9f KSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfZ2V0ZGVudHM6ICAgIC8vIEVQ RVJNIG5vdCBhIHZhbGlkIGVycm5vLgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfZ2V0ZGVudHM2 NDogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorQEAgLTMyNCw3ICszMjQsNyBAQCBib29s IFN5c2NhbGxTZXRzOjpJc1Byb2Nlc3NQcml2aWxlZ2VDaGFuCisgYm9vbCBTeXNjYWxsU2V0czo6 SXNQcm9jZXNzR3JvdXBPclNlc3Npb24oaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7 CisgICAgIGNhc2UgX19OUl9zZXRwZ2lkOgorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysj aWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2Ug X19OUl9nZXRwZ3JwOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfc2V0c2lkOgorQEAgLTM1OCw3 ICszNTgsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRTaWduYWxIYW5kbGluCisgICAg IGNhc2UgX19OUl9ydF9zaWdxdWV1ZWluZm86CisgICAgIGNhc2UgX19OUl9ydF9zaWdzdXNwZW5k OgorICAgICBjYXNlIF9fTlJfcnRfdGdzaWdxdWV1ZWluZm86CistI2lmICFkZWZpbmVkKF9fYWFy Y2g2NF9fKQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikK KyAgICAgY2FzZSBfX05SX3NpZ25hbGZkOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfc2lnbmFs ZmQ0OgorQEAgLTM4MiwxMiArMzgyLDEyIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZE9w ZXJhdGlvbk9uRmQKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2Nsb3NlOgor ICAgICBjYXNlIF9fTlJfZHVwOgorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRl ZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9k dXAyOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfZHVwMzoKKyAjaWYgZGVmaW5lZChfX3g4Nl82 NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAg ZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5l ZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfc2h1dGRvd246CisgI2VuZGlmCisgICAgICAgcmV0 dXJuIHRydWU7CitAQCAtNDI2LDcgKzQyNiw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dl ZFByb2Nlc3NTdGFydE8KKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgY2FzZSBfX05SX2Nsb25l OiAgLy8gU2hvdWxkIGJlIHBhcmFtZXRlci1yZXN0cmljdGVkLgorICAgICBjYXNlIF9fTlJfc2V0 bnM6ICAvLyBQcml2aWxlZ2VkLgorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRl ZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9m b3JrOgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0 X18pCitAQCAtNDM3LDcgKzQzNyw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFByb2Nl c3NTdGFydE8KKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3NldF90aWRfYWRkcmVzczoKKyAgICAg Y2FzZSBfX05SX3Vuc2hhcmU6CistI2lmICFkZWZpbmVkKF9fbWlwc19fKSAmJiAhZGVmaW5lZChf X2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fYWFyY2g2 NF9fKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfdmZvcms6CisgI2VuZGlm CisgICAgIGRlZmF1bHQ6CitAQCAtNDYyLDcgKzQ2Miw3IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz QWxsb3dlZEZ1dGV4KGludCBzeXMKKyAKKyBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRFcG9s bChpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKy0jaWYgIWRlZmluZWQoX19hYXJj aDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQor ICAgICBjYXNlIF9fTlJfZXBvbGxfY3JlYXRlOgorICAgICBjYXNlIF9fTlJfZXBvbGxfd2FpdDoK KyAjZW5kaWYKK0BAIC00ODMsMTQgKzQ4MywxNCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93 ZWRFcG9sbChpbnQgc3lzCisgCisgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0T3JNb2Rp ZnlTb2NrZXQoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CistI2lmICFkZWZpbmVk KF9fYWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19y aXNjdikKKyAgICAgY2FzZSBfX05SX3BpcGU6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9waXBl MjoKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgZGVmYXVsdDoKKyAjaWYgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0g ICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVm aW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfc29ja2V0cGFpcjogIC8vIFdlIHdpbGwgd2Fu dCB0byBpbnNwZWN0IGl0cyBhcmd1bWVudC4KKyAjZW5kaWYKKyAgICAgICByZXR1cm4gZmFsc2U7 CitAQCAtNTAwLDcgKzUwMCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldE9yTW9k aWZ5U28KKyBib29sIFN5c2NhbGxTZXRzOjpJc0RlbmllZEdldE9yTW9kaWZ5U29ja2V0KGludCBz eXNubykgeworICAgc3dpdGNoIChzeXNubykgeworICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVk KF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcmlz Y3YpCisgICAgIGNhc2UgX19OUl9hY2NlcHQ6CisgICAgIGNhc2UgX19OUl9hY2NlcHQ0OgorICAg ICBjYXNlIF9fTlJfYmluZDoKK0BAIC01NTQsNyArNTU0LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6 SXNBbGxvd2VkQWRkcmVzc1NwYWNlQQorICAgICBjYXNlIF9fTlJfbWluY29yZToKKyAgICAgY2Fz ZSBfX05SX21sb2NrYWxsOgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2 XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRf XykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Jpc2N2KQorICAgICBj YXNlIF9fTlJfbW1hcDoKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5l ZChfX2FybV9fKSB8fCBcCitAQCAtNTg3LDcgKzU4Nyw3IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz QWxsb3dlZEdlbmVyYWxJbyhpbnQKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkp ICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgICAgIGNhc2UgX19OUl9fbGxzZWVrOgor ICNlbmRpZgorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJj aDY0X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9wb2xsOgorICNlbmRp ZgorICAgICBjYXNlIF9fTlJfcHBvbGw6CitAQCAtNjA4LDcgKzYwOCw3IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzQWxsb3dlZEdlbmVyYWxJbyhpbnQKKyAgICAgY2FzZSBfX05SX3JlY3Y6CisgI2Vu ZGlmCisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZp bmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmlu ZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX3JlY3Zm cm9tOiAgLy8gQ291bGQgc3BlY2lmeSBzb3VyY2UuCisgICAgIGNhc2UgX19OUl9yZWN2bXNnOiAg IC8vIENvdWxkIHNwZWNpZnkgc291cmNlLgorICNlbmRpZgorQEAgLTYyMyw3ICs2MjMsNyBAQCBi b29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZW5lcmFsSW8oaW50CisgICAgIGNhc2UgX19OUl9z ZW5kOgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1f XykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQor KyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2Ug X19OUl9zZW5kbXNnOiAgLy8gQ291bGQgc3BlY2lmeSBkZXN0aW5hdGlvbi4KKyAgICAgY2FzZSBf X05SX3NlbmR0bzogICAvLyBDb3VsZCBzcGVjaWZ5IGRlc3RpbmF0aW9uLgorICNlbmRpZgorQEAg LTY3Miw3ICs2NzIsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc1NlY2NvbXAoaW50IHN5c25vKSB7 CisgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQmFzaWNTY2hlZHVsZXIoaW50IHN5c25vKSB7 CisgICBzd2l0Y2ggKHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9zY2hlZF95aWVsZDoKKy0jaWYg IWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVm aW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfcGF1c2U6CisgI2VuZGlmCisgICAgIGNhc2Ug X19OUl9uYW5vc2xlZXA6CitAQCAtNzU2LDcgKzc1Niw3IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz TnVtYShpbnQgc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2dldGNwdToKKyAgICAgY2FzZSBfX05S X21iaW5kOgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAg ZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJf bWlncmF0ZV9wYWdlczoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX21vdmVfcGFnZXM6CitAQCAt NzkxLDcgKzc5MSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzR2xvYmFsUHJvY2Vzc0Vudmlyb24K KyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2FjY3Q6ICAvLyBQcml2aWxlZ2Vk LgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmlu ZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5l ZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfZ2V0cmxp bWl0OgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18p CitAQCAtODI2LDcgKzgyNiw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRGVidWcoaW50IHN5c25v KSB7CisgCisgYm9vbCBTeXNjYWxsU2V0czo6SXNHbG9iYWxTeXN0ZW1TdGF0dXMoaW50IHN5c25v KSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNp ZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBf X05SX19zeXNjdGw6CisgICAgIGNhc2UgX19OUl9zeXNmczoKKyAjZW5kaWYKK0BAIC04NDQsNyAr ODQ0LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNHbG9iYWxTeXN0ZW1TdGF0dXMoaQorIAorIGJv b2wgU3lzY2FsbFNldHM6OklzRXZlbnRGZChpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8p IHsKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9f KSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfZXZlbnRmZDoKKyAjZW5kaWYK KyAgICAgY2FzZSBfX05SX2V2ZW50ZmQyOgorQEAgLTg5Niw3ICs4OTYsOCBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0tleU1hbmFnZW1lbnQoaW50IHN5CisgfQorIAorICNpZiBkZWZpbmVkKF9feDg2 XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgXAor LSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV82 NF9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQo QVJDSF9DUFVfNjRfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Jpc2N2KQorIGJvb2wgU3lz Y2FsbFNldHM6OklzU3lzdGVtVlNlbWFwaG9yZXMoaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5 c25vKSB7CisgICAgIGNhc2UgX19OUl9zZW1jdGw6CitAQCAtOTE2LDcgKzkxNyw4IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzU3lzdGVtVlNlbWFwaG9yZXMoaW4KKyAKKyAjaWYgZGVmaW5lZChfX2kz ODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKyAg ICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKKy0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmlu ZWQoQVJDSF9DUFVfNjRfQklUUykpCisrICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZ KSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKSB8fCBcCisrICAgIGRlZmluZWQoX19yaXNj dikKKyAvLyBUaGVzZSBnaXZlIGEgbG90IG9mIGFtYmllbnQgYXV0aG9yaXR5IGFuZCBieXBhc3Mg dGhlIHNldHVpZCBzYW5kYm94LgorIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVlNoYXJlZE1l bW9yeShpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKK0BAIC05MzIsNyArOTM0LDgg QEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1WU2hhcmVkTWVtb3J5KAorICNlbmRpZgorIAor ICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChf X2FhcmNoNjRfXykgfHwgXAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYg ZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19G QU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChf X3Jpc2N2KQorIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVk1lc3NhZ2VRdWV1ZShpbnQgc3lz bm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX21zZ2N0bDoKK0BAIC05 NjMsNyArOTY2LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1WSXBjKGludCBzeXNubwor IAorIGJvb2wgU3lzY2FsbFNldHM6OklzQW55U3lzdGVtVihpbnQgc3lzbm8pIHsKKyAjaWYgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19hYXJjaDY0 X18pIHx8IFwKKy0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQo QVJDSF9DUFVfNjRfQklUUykpCisrICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAm JiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKSB8fCBcCisrICAgIGRlZmluZWQoX19yaXNjdikK KyAgIHJldHVybiBJc1N5c3RlbVZNZXNzYWdlUXVldWUoc3lzbm8pIHx8IElzU3lzdGVtVlNlbWFw aG9yZXMoc3lzbm8pIHx8CisgICAgICAgICAgSXNTeXN0ZW1WU2hhcmVkTWVtb3J5KHN5c25vKTsK KyAjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCitAQCAtMTAwMCw3ICsxMDA0LDcgQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNBZHZhbmNlZFNjaGVkdWxlcihpbgorIGJvb2wgU3lzY2FsbFNldHM6 OklzSW5vdGlmeShpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBf X05SX2lub3RpZnlfYWRkX3dhdGNoOgorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYg IWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19O Ul9pbm90aWZ5X2luaXQ6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9pbm90aWZ5X2luaXQxOgor QEAgLTExMzgsNyArMTE0Miw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTWlzYyhpbnQgc3lzbm8p IHsKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKQorICAgICBjYXNlIF9fTlJfdHV4Y2FsbDoKKyAj ZW5kaWYKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2 NF9fKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfdnNlcnZlcjoKKyAjZW5k aWYKKyAgICAgICByZXR1cm4gdHJ1ZTsKK0BAIC0xMTczLDYgKzExNzcsMTcgQEAgYm9vbCBTeXNj YWxsU2V0czo6SXNBcm1Qcml2YXRlKGludCBzeXNubworIH0KKyAjZW5kaWYgIC8vIGRlZmluZWQo X19hcm1fXykKKyAKKysjaWYgZGVmaW5lZChfX3Jpc2N2KQorK2Jvb2wgU3lzY2FsbFNldHM6Oklz UmlzY3ZQcml2YXRlKGludCBzeXNubykgeworKyAgc3dpdGNoIChzeXNubykgeworKyAgICBjYXNl IF9fTlJfcmlzY3ZfZmx1c2hfaWNhY2hlOgorKyAgICAgIHJldHVybiB0cnVlOworKyAgICBkZWZh dWx0OgorKyAgICAgIHJldHVybiBmYWxzZTsKKysgIH0KKyt9CisrI2VuZGlmICAvLyBkZWZpbmVk KF9fcmlzY3YpCisrCisgI2lmIGRlZmluZWQoX19taXBzX18pCisgYm9vbCBTeXNjYWxsU2V0czo6 SXNNaXBzUHJpdmF0ZShpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKK0luZGV4OiBj aHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9z eXNjYWxsX3NldHMuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNy4wLjUzMDQuODcub3Jp Zy9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmgKKysrKyBj aHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9z eXNjYWxsX3NldHMuaAorQEAgLTUyLDcgKzUyLDcgQEAgY2xhc3MgU0FOREJPWF9FWFBPUlQgU3lz Y2FsbFNldHMgeworICNlbmRpZgorIAorICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmlu ZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFy Y2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcmlzY3YpCisg ICBzdGF0aWMgYm9vbCBJc05ldHdvcmtTb2NrZXRJbmZvcm1hdGlvbihpbnQgc3lzbm8pOworICNl bmRpZgorIAorQEAgLTc5LDE4ICs3OSwyMSBAQCBjbGFzcyBTQU5EQk9YX0VYUE9SVCBTeXNjYWxs U2V0cyB7CisgICBzdGF0aWMgYm9vbCBJc0FzeW5jSW8oaW50IHN5c25vKTsKKyAgIHN0YXRpYyBi b29sIElzS2V5TWFuYWdlbWVudChpbnQgc3lzbm8pOworICNpZiBkZWZpbmVkKF9feDg2XzY0X18p IHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgXAorLSAgICAo ZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRT KSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9D UFVfNjRfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Jpc2N2KQorICAgc3RhdGljIGJvb2wg SXNTeXN0ZW1WU2VtYXBob3JlcyhpbnQgc3lzbm8pOworICNlbmRpZgorICNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAor ICAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVm aW5lZChBUkNIX0NQVV82NF9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1J TFkpICYmIGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Jp c2N2KQorICAgLy8gVGhlc2UgZ2l2ZSBhIGxvdCBvZiBhbWJpZW50IGF1dGhvcml0eSBhbmQgYnlw YXNzIHRoZSBzZXR1aWQgc2FuZGJveC4KKyAgIHN0YXRpYyBib29sIElzU3lzdGVtVlNoYXJlZE1l bW9yeShpbnQgc3lzbm8pOworICNlbmRpZgorIAorICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgXAorLSAgICAoZGVm aW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKSkK KysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVf NjRfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Jpc2N2KQorICAgc3RhdGljIGJvb2wgSXNT eXN0ZW1WTWVzc2FnZVF1ZXVlKGludCBzeXNubyk7CisgI2VuZGlmCisgCitAQCAtMTE3LDYgKzEy MCw5IEBAIGNsYXNzIFNBTkRCT1hfRVhQT1JUIFN5c2NhbGxTZXRzIHsKKyAgIHN0YXRpYyBib29s IElzTWlwc1ByaXZhdGUoaW50IHN5c25vKTsKKyAgIHN0YXRpYyBib29sIElzTWlwc01pc2MoaW50 IHN5c25vKTsKKyAjZW5kaWYgIC8vIGRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19y aXNjdikKKysgIHN0YXRpYyBib29sIElzUmlzY3ZQcml2YXRlKGludCBzeXNubyk7CisrI2VuZGlm CisgICBzdGF0aWMgYm9vbCBJc0dvb2dsZTNUaHJlYWRpbmcoaW50IHN5c25vKTsKKyB9OworIAor SW5kZXg6IGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi9z eXNjYWxsLmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA3LjAuNTMwNC44Ny5vcmlnL3Nh bmRib3gvbGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5jYworKysrIGNocm9taXVtLTEwNy4wLjUz MDQuODcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi9zeXNjYWxsLmNjCitAQCAtMTgsNyArMTgs NyBAQCBuYW1lc3BhY2Ugc2FuZGJveCB7CisgbmFtZXNwYWNlIHsKKyAKKyAjaWYgZGVmaW5lZChB UkNIX0NQVV9YODZfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkpIHx8IFwK Ky0gICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKysgICAgZGVmaW5lZChBUkNIX0NQ VV9NSVBTX0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisgLy8gTnVt YmVyIHRoYXQncyBub3QgY3VycmVudGx5IHVzZWQgYnkgYW55IExpbnV4IGtlcm5lbCBBQklzLgor IGNvbnN0IGludCBrSW52YWxpZFN5c2NhbGxOdW1iZXIgPSAweDM1MWQzOworICNlbHNlCitAQCAt MzA4LDYgKzMwOCwyOCBAQCBhc20oLy8gV2UgbmVlZCB0byBiZSBhYmxlIHRvIHRlbGwgdGhlIGtl CisgICAgICIyOnJldFxuIgorICAgICAiLmNmaV9lbmRwcm9jXG4iCisgICAgICIuc2l6ZSBTeXNj YWxsQXNtLCAuLVN5c2NhbGxBc21cbiIKKysjZWxpZiBkZWZpbmVkKF9fcmlzY3YpCisrICAgICIu dGV4dFxuIgorKyAgICAiLmFsaWduIDJcbiIKKysgICAgIi50eXBlIFN5c2NhbGxBc20sICVmdW5j dGlvblxuIgorKyAgICAiU3lzY2FsbEFzbTpcbiIKKysgICAgIi5jZmlfc3RhcnRwcm9jXG4iCisr ICAgICJiZ2V6IGEwLDFmXG4iCisrICAgICJsYSBhMCwyZlxuIgorKyAgICAiaiAyZlxuIgorKyAg ICAiMTptdiBhNywgYTBcbiIKKysgICAgImxkIGEwLCAodDApXG4iCisrICAgICJsZCBhMSwgOCh0 MClcbiIKKysgICAgImxkIGEyLCAxNih0MClcbiIKKysgICAgImxkIGEzLCAyNCh0MClcbiIKKysg ICAgImxkIGE0LCAzMih0MClcbiIKKysgICAgImxkIGE1LCA0MCh0MClcbiIKKysgICAgImxkIGE2 LCA0OCh0MClcbiIKKysgICAgLy8gRW50ZXIgdGhlIGtlcm5lbAorKyAgICAic2NhbGxcbiIKKysg ICAgIjI6cmV0XG4iCisrICAgICIuY2ZpX2VuZHByb2NcbiIKKysgICAgIi5zaXplIFN5c2NhbGxB c20sIC4tU3lzY2FsbEFzbVxuIgorICNlbmRpZgorICAgICApOyAgLy8gYXNtCisgCitAQCAtNDI1 LDYgKzQ0NywxOCBAQCBpbnRwdHJfdCBTeXNjYWxsOjpDYWxsKGludCBuciwKKyAgICAgcmV0ID0g aW5vdXQ7CisgICB9CisgCisrI2VsaWYgZGVmaW5lZChfX3Jpc2N2KQorKyAgaW50cHRyX3QgcmV0 OworKyAgeworKyAgICByZWdpc3RlciBpbnRwdHJfdCBpbm91dCBfX2FzbV9fKCJhMCIpID0gbnI7 CisrICAgIHJlZ2lzdGVyIGNvbnN0IGludHB0cl90KiBkYXRhIF9fYXNtX18oInQwIikgPSBhcmdz OworKyAgICBhc20gdm9sYXRpbGUoImphbCBTeXNjYWxsQXNtXG4iCisrICAgICAgICAgICAgICAg ICA6ICIrciIoaW5vdXQpCisrICAgICAgICAgICAgICAgICA6ICJyIihkYXRhKQorKyAgICAgICAg ICAgICAgICAgOiAibWVtb3J5IiwgImExIiwgImEyIiwgImEzIiwgImE0IiwgImE1IiwgImE2Iik7 CisrICAgIHJldCA9IGlub3V0OworKyAgfQorKworICNlbHNlCisgI2Vycm9yICJVbmltcGxlbWVu dGVkIGFyY2hpdGVjdHVyZSIKKyAjZW5kaWYKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3 L3NhbmRib3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBj aHJvbWl1bS0xMDcuMC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9jcmVkZW50 aWFscy5jYworKysrIGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zZXJ2aWNl cy9jcmVkZW50aWFscy5jYworQEAgLTgwLDcgKzgwLDcgQEAgYm9vbCBDaHJvb3RUb1NhZmVFbXB0 eURpcigpIHsKKyAgIHBpZF90IHBpZCA9IC0xOworICAgYWxpZ25hcygxNikgY2hhciBzdGFja19i dWZbUFRIUkVBRF9TVEFDS19NSU5dOworICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9GQU1JTFkp IHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNX0ZBTUlMWSkgfHwgXAorLSAgICBkZWZpbmVkKEFSQ0hf Q1BVX01JUFNfRkFNSUxZKQorKyAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSB8fCBk ZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKyAgIC8vIFRoZSBzdGFjayBncm93cyBkb3du d2FyZC4KKyAgIHZvaWQqIHN0YWNrID0gc3RhY2tfYnVmICsgc2l6ZW9mKHN0YWNrX2J1Zik7Cisg I2Vsc2UKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc2Vydmlj ZXMvc3lzY2FsbF93cmFwcGVycy5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNy4wLjUz MDQuODcub3JpZy9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKKysr KyBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93 cmFwcGVycy5jYworQEAgLTYxLDcgKzYxLDcgQEAgbG9uZyBzeXNfY2xvbmUodW5zaWduZWQgbG9u ZyBmbGFncywKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZfNjQpCisgICByZXR1cm4gc3lzY2Fs bChfX05SX2Nsb25lLCBmbGFncywgY2hpbGRfc3RhY2ssIHB0aWQsIGN0aWQsIHRscyk7CisgI2Vs aWYgZGVmaW5lZChBUkNIX0NQVV9YODYpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNX0ZBTUlMWSkg fHwgXAorLSAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorKyAgICBkZWZpbmVkKEFS Q0hfQ1BVX01JUFNfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKyAg IC8vIENPTkZJR19DTE9ORV9CQUNLV0FSRFMgZGVmaW5lZC4KKyAgIHJldHVybiBzeXNjYWxsKF9f TlJfY2xvbmUsIGZsYWdzLCBjaGlsZF9zdGFjaywgcHRpZCwgdGxzLCBjdGlkKTsKKyAjZW5kaWYK K0luZGV4OiBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9r ZXIvYnJva2VyX3Byb2Nlc3MuY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDcuMC41MzA0 Ljg3Lm9yaWcvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfcHJvY2Vzcy5jYwor KysrIGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9i cm9rZXJfcHJvY2Vzcy5jYworQEAgLTExNyw0NCArMTE3LDQ2IEBAIGJvb2wgQnJva2VyUHJvY2Vz czo6SXNTeXNjYWxsQnJva2VyYWJsZSgKKyAgIC8vIGFuZCBhcmUgZGVmYXVsdCBkaXNhYmxlZCBp biBBbmRyb2lkLiBTbywgd2Ugc2hvdWxkIHJlZnVzZSB0byBicm9rZXIgdGhlbQorICAgLy8gdG8g YmUgY29uc2lzdGVudCB3aXRoIHRoZSBwbGF0Zm9ybSdzIHJlc3RyaWN0aW9ucy4KKyAgIHN3aXRj aCAoc3lzbm8pIHsKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFCVUlMREZMQUcoSVNf QU5EUk9JRCkKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFCVUlMREZMQUcoSVNfQU5E Uk9JRCkgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX2FjY2VzczoKKyAjZW5k aWYKKyAgICAgY2FzZSBfX05SX2ZhY2Nlc3NhdDoKKyAgICAgY2FzZSBfX05SX2ZhY2Nlc3NhdDI6 CisgICAgICAgcmV0dXJuICFmYXN0X2NoZWNrIHx8IHBvbGljeV8tPmFsbG93ZWRfY29tbWFuZF9z ZXQudGVzdChDT01NQU5EX0FDQ0VTUyk7CisgCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAm JiAhQlVJTERGTEFHKElTX0FORFJPSUQpCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAh QlVJTERGTEFHKElTX0FORFJPSUQpICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19O Ul9ta2RpcjoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX21rZGlyYXQ6CisgICAgICAgcmV0dXJu ICFmYXN0X2NoZWNrIHx8IHBvbGljeV8tPmFsbG93ZWRfY29tbWFuZF9zZXQudGVzdChDT01NQU5E X01LRElSKTsKKyAKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFCVUlMREZMQUcoSVNf QU5EUk9JRCkKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFCVUlMREZMQUcoSVNfQU5E Uk9JRCkgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX29wZW46CisgI2VuZGlm CisgICAgIGNhc2UgX19OUl9vcGVuYXQ6CisgICAgICAgcmV0dXJuICFmYXN0X2NoZWNrIHx8IHBv bGljeV8tPmFsbG93ZWRfY29tbWFuZF9zZXQudGVzdChDT01NQU5EX09QRU4pOworIAorLSNpZiAh ZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIUJVSUxERkxBRyhJU19BTkRST0lEKQorKyNpZiAhZGVm aW5lZChfX2FhcmNoNjRfXykgJiYgIUJVSUxERkxBRyhJU19BTkRST0lEKSAmJiAhZGVmaW5lZChf X3Jpc2N2KQorICAgICBjYXNlIF9fTlJfcmVhZGxpbms6CisgI2VuZGlmCisgICAgIGNhc2UgX19O Ul9yZWFkbGlua2F0OgorICAgICAgIHJldHVybiAhZmFzdF9jaGVjayB8fCBwb2xpY3lfLT5hbGxv d2VkX2NvbW1hbmRfc2V0LnRlc3QoQ09NTUFORF9SRUFETElOSyk7CisgCistI2lmICFkZWZpbmVk KF9fYWFyY2g2NF9fKSAmJiAhQlVJTERGTEFHKElTX0FORFJPSUQpCisrI2lmICFkZWZpbmVkKF9f YWFyY2g2NF9fKSAmJiAhQlVJTERGTEFHKElTX0FORFJPSUQpICYmICFkZWZpbmVkKF9fcmlzY3Yp CisgICAgIGNhc2UgX19OUl9yZW5hbWU6CisgI2VuZGlmCisrI2lmZGVmIF9fTlJfcmVuYW1lYXQK KyAgICAgY2FzZSBfX05SX3JlbmFtZWF0OgorKyNlbmRpZgorICAgICBjYXNlIF9fTlJfcmVuYW1l YXQyOgorICAgICAgIHJldHVybiAhZmFzdF9jaGVjayB8fCBwb2xpY3lfLT5hbGxvd2VkX2NvbW1h bmRfc2V0LnRlc3QoQ09NTUFORF9SRU5BTUUpOworIAorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRf XykgJiYgIUJVSUxERkxBRyhJU19BTkRST0lEKQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykg JiYgIUJVSUxERkxBRyhJU19BTkRST0lEKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNl IF9fTlJfcm1kaXI6CisgICAgICAgcmV0dXJuICFmYXN0X2NoZWNrIHx8IHBvbGljeV8tPmFsbG93 ZWRfY29tbWFuZF9zZXQudGVzdChDT01NQU5EX1JNRElSKTsKKyAjZW5kaWYKKyAKKy0jaWYgIWRl ZmluZWQoX19hYXJjaDY0X18pICYmICFCVUlMREZMQUcoSVNfQU5EUk9JRCkKKysjaWYgIWRlZmlu ZWQoX19hYXJjaDY0X18pICYmICFCVUlMREZMQUcoSVNfQU5EUk9JRCkgJiYgIWRlZmluZWQoX19y aXNjdikKKyAgICAgY2FzZSBfX05SX3N0YXQ6CisgICAgIGNhc2UgX19OUl9sc3RhdDoKKyAjZW5k aWYKK0BAIC0xNjQsNyArMTY2LDcgQEAgYm9vbCBCcm9rZXJQcm9jZXNzOjpJc1N5c2NhbGxCcm9r ZXJhYmxlKAorICNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorICAgICBjYXNlIF9fTlJfZnN0 YXRhdDY0OgorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19h YXJjaDY0X18pCisrI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjRf XykgfHwgZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfbmV3ZnN0YXRhdDoKKyAjZW5k aWYKKyAgICAgICByZXR1cm4gIWZhc3RfY2hlY2sgfHwgcG9saWN5Xy0+YWxsb3dlZF9jb21tYW5k X3NldC50ZXN0KENPTU1BTkRfU1RBVCk7CitAQCAtMTc5LDcgKzE4MSw3IEBAIGJvb2wgQnJva2Vy UHJvY2Vzczo6SXNTeXNjYWxsQnJva2VyYWJsZSgKKyAgICAgICByZXR1cm4gIWZhc3RfY2hlY2sg fHwgcG9saWN5Xy0+YWxsb3dlZF9jb21tYW5kX3NldC50ZXN0KENPTU1BTkRfU1RBVCk7CisgI2Vu ZGlmCisgCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhQlVJTERGTEFHKElTX0FORFJP SUQpCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhQlVJTERGTEFHKElTX0FORFJPSUQp ICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl91bmxpbms6CisgICAgICAgcmV0 dXJuICFmYXN0X2NoZWNrIHx8IHBvbGljeV8tPmFsbG93ZWRfY29tbWFuZF9zZXQudGVzdChDT01N QU5EX1VOTElOSyk7CisgI2VuZGlmCitJbmRleDogY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5k Ym94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NlY2NvbXAuaAorPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0t IGNocm9taXVtLTEwNy4wLjUzMDQuODcub3JpZy9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJz L2xpbnV4X3NlY2NvbXAuaAorKysrIGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51 eC9zeXN0ZW1faGVhZGVycy9saW51eF9zZWNjb21wLmgKK0BAIC0zOCw2ICszOCw5IEBACisgI2lm bmRlZiBFTV9BQVJDSDY0CisgI2RlZmluZSBFTV9BQVJDSDY0IDE4MworICNlbmRpZgorKyNpZm5k ZWYgRU1fUklTQ1YKKysjZGVmaW5lIEVNX1JJU0NWIDI0MworKyNlbmRpZgorIAorICNpZm5kZWYg X19BVURJVF9BUkNIXzY0QklUCisgI2RlZmluZSBfX0FVRElUX0FSQ0hfNjRCSVQgMHg4MDAwMDAw MAorQEAgLTcwLDYgKzczLDkgQEAKKyAjaWZuZGVmIEFVRElUX0FSQ0hfQUFSQ0g2NAorICNkZWZp bmUgQVVESVRfQVJDSF9BQVJDSDY0IChFTV9BQVJDSDY0IHwgX19BVURJVF9BUkNIXzY0QklUIHwg X19BVURJVF9BUkNIX0xFKQorICNlbmRpZgorKyNpZm5kZWYgQVVESVRfQVJDSF9SSVNDVjY0Cisr I2RlZmluZSBBVURJVF9BUkNIX1JJU0NWNjQgKEVNX1JJU0NWfF9fQVVESVRfQVJDSF82NEJJVHxf X0FVRElUX0FSQ0hfTEUpCisrI2VuZGlmCisgCisgLy8gRm9yIHByY3RsLmgKKyAjaWZuZGVmIFBS X1NFVF9TRUNDT01QCitJbmRleDogY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0t MTA3LjAuNTMwNC44Ny5vcmlnL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2ln bmFsLmgKKysrKyBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc3lzdGVtX2hl YWRlcnMvbGludXhfc2lnbmFsLmgKK0BAIC0xMyw3ICsxMyw3IEBACisgLy8gKG5vdCB1bmRlZmlu ZWQsIGJ1dCBkZWZpbmVkIGRpZmZlcmVudCB2YWx1ZXMgYW5kIGluIGRpZmZlcmVudCBtZW1vcnkK KyAvLyBsYXlvdXRzKS4gU28sIGZpbGwgdGhlIGdhcCBoZXJlLgorICNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorLSAg ICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZp bmVkKF9fcmlzY3YpCisgCisgI2RlZmluZSBMSU5VWF9TSUdIVVAgMQorICNkZWZpbmUgTElOVVhf U0lHSU5UIDIKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc3lz dGVtX2hlYWRlcnMvbGludXhfc3RhdC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA3LjAu NTMwNC44Ny5vcmlnL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oCisr KysgY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xp bnV4X3N0YXQuaAorQEAgLTE1MCw3ICsxNTAsNyBAQCBzdHJ1Y3Qga2VybmVsX3N0YXQgeworICAg aW50IHN0X2Jsb2NrczsKKyAgIGludCBzdF9wYWQ0WzE0XTsKKyB9OworLSNlbGlmIGRlZmluZWQo X19hYXJjaDY0X18pCisrI2VsaWYgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Jp c2N2KQorIHN0cnVjdCBrZXJuZWxfc3RhdCB7CisgICB1bnNpZ25lZCBsb25nIHN0X2RldjsKKyAg IHVuc2lnbmVkIGxvbmcgc3RfaW5vOworSW5kZXg6IGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2Fu ZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oCis9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cist LS0gY2hyb21pdW0tMTA3LjAuNTMwNC44Ny5vcmlnL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRl cnMvbGludXhfc3lzY2FsbHMuaAorKysrIGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9s aW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oCitAQCAtMzUsNSArMzUsOSBAQAor ICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2FybTY0X2xpbnV4X3N5c2Nh bGxzLmgiCisgI2VuZGlmCisgCisrI2lmIGRlZmluZWQoX19yaXNjdikgJiYgX19yaXNjdl94bGVu ID09IDY0CisrI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcmlzY3Y2NF9s aW51eF9zeXNjYWxscy5oIgorKyNlbmRpZgorKworICNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9T WVNURU1fSEVBREVSU19MSU5VWF9TWVNDQUxMU19IXworIAorSW5kZXg6IGNocm9taXVtLTEwNy4w LjUzMDQuODcvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9yaXNjdjY0X2xpbnV4X3N5c2Nh bGxzLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwKKysrKyBjaHJvbWl1bS0xMDcuMC41MzA0 Ljg3L3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcmlzY3Y2NF9saW51eF9zeXNjYWxscy5o CitAQCAtMCwwICsxLDEyMjIgQEAKKysvLyBDb3B5cmlnaHQgMjAxNCBUaGUgQ2hyb21pdW0gQXV0 aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBp cyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQg aW4gdGhlIExJQ0VOU0UgZmlsZS4KKysKKysjaWZuZGVmIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hF QURFUlNfUklTQ1Y2NF9MSU5VWF9TWVNDQUxMU19IXworKyNkZWZpbmUgU0FOREJPWF9MSU5VWF9T WVNURU1fSEVBREVSU19SSVNDVjY0X0xJTlVYX1NZU0NBTExTX0hfCisrCisrI2luY2x1ZGUgPGFz bS1nZW5lcmljL3VuaXN0ZC5oPgorKworKyNpZiAhZGVmaW5lZChfX05SX2lvX3NldHVwKQorKyNk ZWZpbmUgX19OUl9pb19zZXR1cCAwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW9f ZGVzdHJveSkKKysjZGVmaW5lIF9fTlJfaW9fZGVzdHJveSAxCisrI2VuZGlmCisrCisrI2lmICFk ZWZpbmVkKF9fTlJfaW9fc3VibWl0KQorKyNkZWZpbmUgX19OUl9pb19zdWJtaXQgMgorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX2lvX2NhbmNlbCkKKysjZGVmaW5lIF9fTlJfaW9fY2Fu Y2VsIDMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9pb19nZXRldmVudHMpCisrI2Rl ZmluZSBfX05SX2lvX2dldGV2ZW50cyA0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf c2V0eGF0dHIpCisrI2RlZmluZSBfX05SX3NldHhhdHRyIDUKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9sc2V0eGF0dHIpCisrI2RlZmluZSBfX05SX2xzZXR4YXR0ciA2CisrI2VuZGlm CisrCisrI2lmICFkZWZpbmVkKF9fTlJfZnNldHhhdHRyKQorKyNkZWZpbmUgX19OUl9mc2V0eGF0 dHIgNworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldHhhdHRyKQorKyNkZWZpbmUg X19OUl9nZXR4YXR0ciA4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbGdldHhhdHRy KQorKyNkZWZpbmUgX19OUl9sZ2V0eGF0dHIgOQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX2ZnZXR4YXR0cikKKysjZGVmaW5lIF9fTlJfZmdldHhhdHRyIDEwCisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfbGlzdHhhdHRyKQorKyNkZWZpbmUgX19OUl9saXN0eGF0dHIgMTEK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9sbGlzdHhhdHRyKQorKyNkZWZpbmUgX19O Ul9sbGlzdHhhdHRyIDEyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZmxpc3R4YXR0 cikKKysjZGVmaW5lIF9fTlJfZmxpc3R4YXR0ciAxMworKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3JlbW92ZXhhdHRyKQorKyNkZWZpbmUgX19OUl9yZW1vdmV4YXR0ciAxNAorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX2xyZW1vdmV4YXR0cikKKysjZGVmaW5lIF9fTlJfbHJl bW92ZXhhdHRyIDE1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZnJlbW92ZXhhdHRy KQorKyNkZWZpbmUgX19OUl9mcmVtb3ZleGF0dHIgMTYKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9nZXRjd2QpCisrI2RlZmluZSBfX05SX2dldGN3ZCAxNworKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX2xvb2t1cF9kY29va2llKQorKyNkZWZpbmUgX19OUl9sb29rdXBfZGNv b2tpZSAxOAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2V2ZW50ZmQyKQorKyNkZWZp bmUgX19OUl9ldmVudGZkMiAxOQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Vwb2xs X2NyZWF0ZTEpCisrI2RlZmluZSBfX05SX2Vwb2xsX2NyZWF0ZTEgMjAKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9lcG9sbF9jdGwpCisrI2RlZmluZSBfX05SX2Vwb2xsX2N0bCAyMQor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Vwb2xsX3B3YWl0KQorKyNkZWZpbmUgX19O Ul9lcG9sbF9wd2FpdCAyMgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2R1cCkKKysj ZGVmaW5lIF9fTlJfZHVwIDIzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZHVwMykK KysjZGVmaW5lIF9fTlJfZHVwMyAyNAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Zj bnRsKQorKyNkZWZpbmUgX19OUl9mY250bCAyNQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX2lub3RpZnlfaW5pdDEpCisrI2RlZmluZSBfX05SX2lub3RpZnlfaW5pdDEgMjYKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9pbm90aWZ5X2FkZF93YXRjaCkKKysjZGVmaW5lIF9f TlJfaW5vdGlmeV9hZGRfd2F0Y2ggMjcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9p bm90aWZ5X3JtX3dhdGNoKQorKyNkZWZpbmUgX19OUl9pbm90aWZ5X3JtX3dhdGNoIDI4CisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW9jdGwpCisrI2RlZmluZSBfX05SX2lvY3RsIDI5 CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW9wcmlvX3NldCkKKysjZGVmaW5lIF9f TlJfaW9wcmlvX3NldCAzMAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2lvcHJpb19n ZXQpCisrI2RlZmluZSBfX05SX2lvcHJpb19nZXQgMzEKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9mbG9jaykKKysjZGVmaW5lIF9fTlJfZmxvY2sgMzIKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9ta25vZGF0KQorKyNkZWZpbmUgX19OUl9ta25vZGF0IDMzCisrI2VuZGlm CisrCisrI2lmICFkZWZpbmVkKF9fTlJfbWtkaXJhdCkKKysjZGVmaW5lIF9fTlJfbWtkaXJhdCAz NAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3VubGlua2F0KQorKyNkZWZpbmUgX19O Ul91bmxpbmthdCAzNQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3N5bWxpbmthdCkK KysjZGVmaW5lIF9fTlJfc3ltbGlua2F0IDM2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfbGlua2F0KQorKyNkZWZpbmUgX19OUl9saW5rYXQgMzcKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9yZW5hbWVhdCkKKysjZGVmaW5lIF9fTlJfcmVuYW1lYXQgMzgKKysjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19OUl91bW91bnQyKQorKyNkZWZpbmUgX19OUl91bW91bnQyIDM5 CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbW91bnQpCisrI2RlZmluZSBfX05SX21v dW50IDQwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcGl2b3Rfcm9vdCkKKysjZGVm aW5lIF9fTlJfcGl2b3Rfcm9vdCA0MQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX25m c3NlcnZjdGwpCisrI2RlZmluZSBfX05SX25mc3NlcnZjdGwgNDIKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9zdGF0ZnMpCisrI2RlZmluZSBfX05SX3N0YXRmcyA0MworKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX2ZzdGF0ZnMpCisrI2RlZmluZSBfX05SX2ZzdGF0ZnMgNDQK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl90cnVuY2F0ZSkKKysjZGVmaW5lIF9fTlJf dHJ1bmNhdGUgNDUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mdHJ1bmNhdGUpCisr I2RlZmluZSBfX05SX2Z0cnVuY2F0ZSA0NgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X2ZhbGxvY2F0ZSkKKysjZGVmaW5lIF9fTlJfZmFsbG9jYXRlIDQ3CisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfZmFjY2Vzc2F0KQorKyNkZWZpbmUgX19OUl9mYWNjZXNzYXQgNDgKKysj ZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9jaGRpcikKKysjZGVmaW5lIF9fTlJfY2hkaXIg NDkKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mY2hkaXIpCisrI2RlZmluZSBfX05S X2ZjaGRpciA1MAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Nocm9vdCkKKysjZGVm aW5lIF9fTlJfY2hyb290IDUxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZmNobW9k KQorKyNkZWZpbmUgX19OUl9mY2htb2QgNTIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul9mY2htb2RhdCkKKysjZGVmaW5lIF9fTlJfZmNobW9kYXQgNTMKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9mY2hvd25hdCkKKysjZGVmaW5lIF9fTlJfZmNob3duYXQgNTQKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mY2hvd24pCisrI2RlZmluZSBfX05SX2ZjaG93biA1 NQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX29wZW5hdCkKKysjZGVmaW5lIF9fTlJf b3BlbmF0IDU2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfY2xvc2UpCisrI2RlZmlu ZSBfX05SX2Nsb3NlIDU3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdmhhbmd1cCkK KysjZGVmaW5lIF9fTlJfdmhhbmd1cCA1OAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X3BpcGUyKQorKyNkZWZpbmUgX19OUl9waXBlMiA1OQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3F1b3RhY3RsKQorKyNkZWZpbmUgX19OUl9xdW90YWN0bCA2MAorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX2dldGRlbnRzNjQpCisrI2RlZmluZSBfX05SX2dldGRlbnRzNjQg NjEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9sc2VlaykKKysjZGVmaW5lIF9fTlJf bHNlZWsgNjIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9yZWFkKQorKyNkZWZpbmUg X19OUl9yZWFkIDYzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfd3JpdGUpCisrI2Rl ZmluZSBfX05SX3dyaXRlIDY0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcmVhZHYp CisrI2RlZmluZSBfX05SX3JlYWR2IDY1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf d3JpdGV2KQorKyNkZWZpbmUgX19OUl93cml0ZXYgNjYKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9wcmVhZDY0KQorKyNkZWZpbmUgX19OUl9wcmVhZDY0IDY3CisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfcHdyaXRlNjQpCisrI2RlZmluZSBfX05SX3B3cml0ZTY0IDY4Cisr I2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcHJlYWR2KQorKyNkZWZpbmUgX19OUl9wcmVh ZHYgNjkKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9wd3JpdGV2KQorKyNkZWZpbmUg X19OUl9wd3JpdGV2IDcwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2VuZGZpbGUp CisrI2RlZmluZSBfX05SX3NlbmRmaWxlIDcxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfcHNlbGVjdDYpCisrI2RlZmluZSBfX05SX3BzZWxlY3Q2IDcyCisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfcHBvbGwpCisrI2RlZmluZSBfX05SX3Bwb2xsIDczCisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfc2lnbmFsZmQ0KQorKyNkZWZpbmUgX19OUl9zaWduYWxmZDQg NzQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl92bXNwbGljZSkKKysjZGVmaW5lIF9f TlJfdm1zcGxpY2UgNzUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zcGxpY2UpCisr I2RlZmluZSBfX05SX3NwbGljZSA3NgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3Rl ZSkKKysjZGVmaW5lIF9fTlJfdGVlIDc3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf cmVhZGxpbmthdCkKKysjZGVmaW5lIF9fTlJfcmVhZGxpbmthdCA3OAorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX25ld2ZzdGF0YXQpCisrI2RlZmluZSBfX05SX25ld2ZzdGF0YXQgNzkK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mc3RhdCkKKysjZGVmaW5lIF9fTlJfZnN0 YXQgODAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zeW5jKQorKyNkZWZpbmUgX19O Ul9zeW5jIDgxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZnN5bmMpCisrI2RlZmlu ZSBfX05SX2ZzeW5jIDgyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZmRhdGFzeW5j KQorKyNkZWZpbmUgX19OUl9mZGF0YXN5bmMgODMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9zeW5jX2ZpbGVfcmFuZ2UpCisrI2RlZmluZSBfX05SX3N5bmNfZmlsZV9yYW5nZSA4NAor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3RpbWVyZmRfY3JlYXRlKQorKyNkZWZpbmUg X19OUl90aW1lcmZkX2NyZWF0ZSA4NQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3Rp bWVyZmRfc2V0dGltZSkKKysjZGVmaW5lIF9fTlJfdGltZXJmZF9zZXR0aW1lIDg2CisrI2VuZGlm CisrCisrI2lmICFkZWZpbmVkKF9fTlJfdGltZXJmZF9nZXR0aW1lKQorKyNkZWZpbmUgX19OUl90 aW1lcmZkX2dldHRpbWUgODcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl91dGltZW5z YXQpCisrI2RlZmluZSBfX05SX3V0aW1lbnNhdCA4OAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX2FjY3QpCisrI2RlZmluZSBfX05SX2FjY3QgODkKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9jYXBnZXQpCisrI2RlZmluZSBfX05SX2NhcGdldCA5MAorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX2NhcHNldCkKKysjZGVmaW5lIF9fTlJfY2Fwc2V0IDkxCisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcGVyc29uYWxpdHkpCisrI2RlZmluZSBfX05SX3Bl cnNvbmFsaXR5IDkyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZXhpdCkKKysjZGVm aW5lIF9fTlJfZXhpdCA5MworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2V4aXRfZ3Jv dXApCisrI2RlZmluZSBfX05SX2V4aXRfZ3JvdXAgOTQKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl93YWl0aWQpCisrI2RlZmluZSBfX05SX3dhaXRpZCA5NQorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX3NldF90aWRfYWRkcmVzcykKKysjZGVmaW5lIF9fTlJfc2V0X3RpZF9h ZGRyZXNzIDk2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdW5zaGFyZSkKKysjZGVm aW5lIF9fTlJfdW5zaGFyZSA5NworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Z1dGV4 KQorKyNkZWZpbmUgX19OUl9mdXRleCA5OAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X3NldF9yb2J1c3RfbGlzdCkKKysjZGVmaW5lIF9fTlJfc2V0X3JvYnVzdF9saXN0IDk5CisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0X3JvYnVzdF9saXN0KQorKyNkZWZpbmUgX19O Ul9nZXRfcm9idXN0X2xpc3QgMTAwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbmFu b3NsZWVwKQorKyNkZWZpbmUgX19OUl9uYW5vc2xlZXAgMTAxCisrI2VuZGlmCisrCisrI2lmICFk ZWZpbmVkKF9fTlJfZ2V0aXRpbWVyKQorKyNkZWZpbmUgX19OUl9nZXRpdGltZXIgMTAyCisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0aXRpbWVyKQorKyNkZWZpbmUgX19OUl9zZXRp dGltZXIgMTAzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfa2V4ZWNfbG9hZCkKKysj ZGVmaW5lIF9fTlJfa2V4ZWNfbG9hZCAxMDQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul9pbml0X21vZHVsZSkKKysjZGVmaW5lIF9fTlJfaW5pdF9tb2R1bGUgMTA1CisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfZGVsZXRlX21vZHVsZSkKKysjZGVmaW5lIF9fTlJfZGVsZXRl X21vZHVsZSAxMDYKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl90aW1lcl9jcmVhdGUp CisrI2RlZmluZSBfX05SX3RpbWVyX2NyZWF0ZSAxMDcKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl90aW1lcl9nZXR0aW1lKQorKyNkZWZpbmUgX19OUl90aW1lcl9nZXR0aW1lIDEwOAor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3RpbWVyX2dldG92ZXJydW4pCisrI2RlZmlu ZSBfX05SX3RpbWVyX2dldG92ZXJydW4gMTA5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfdGltZXJfc2V0dGltZSkKKysjZGVmaW5lIF9fTlJfdGltZXJfc2V0dGltZSAxMTAKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl90aW1lcl9kZWxldGUpCisrI2RlZmluZSBfX05SX3Rp bWVyX2RlbGV0ZSAxMTEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9jbG9ja19zZXR0 aW1lKQorKyNkZWZpbmUgX19OUl9jbG9ja19zZXR0aW1lIDExMgorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX2Nsb2NrX2dldHRpbWUpCisrI2RlZmluZSBfX05SX2Nsb2NrX2dldHRpbWUg MTEzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfY2xvY2tfZ2V0cmVzKQorKyNkZWZp bmUgX19OUl9jbG9ja19nZXRyZXMgMTE0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf Y2xvY2tfbmFub3NsZWVwKQorKyNkZWZpbmUgX19OUl9jbG9ja19uYW5vc2xlZXAgMTE1CisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc3lzbG9nKQorKyNkZWZpbmUgX19OUl9zeXNsb2cg MTE2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcHRyYWNlKQorKyNkZWZpbmUgX19O Ul9wdHJhY2UgMTE3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2NoZWRfc2V0cGFy YW0pCisrI2RlZmluZSBfX05SX3NjaGVkX3NldHBhcmFtIDExOAorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX3NjaGVkX3NldHNjaGVkdWxlcikKKysjZGVmaW5lIF9fTlJfc2NoZWRfc2V0 c2NoZWR1bGVyIDExOQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NjaGVkX2dldHNj aGVkdWxlcikKKysjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0c2NoZWR1bGVyIDEyMAorKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX3NjaGVkX2dldHBhcmFtKQorKyNkZWZpbmUgX19OUl9zY2hl ZF9nZXRwYXJhbSAxMjEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zY2hlZF9zZXRh ZmZpbml0eSkKKysjZGVmaW5lIF9fTlJfc2NoZWRfc2V0YWZmaW5pdHkgMTIyCisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfc2NoZWRfZ2V0YWZmaW5pdHkpCisrI2RlZmluZSBfX05SX3Nj aGVkX2dldGFmZmluaXR5IDEyMworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NjaGVk X3lpZWxkKQorKyNkZWZpbmUgX19OUl9zY2hlZF95aWVsZCAxMjQKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4KQorKyNkZWZpbmUgX19OUl9zY2hl ZF9nZXRfcHJpb3JpdHlfbWF4IDEyNQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3Nj aGVkX2dldF9wcmlvcml0eV9taW4pCisrI2RlZmluZSBfX05SX3NjaGVkX2dldF9wcmlvcml0eV9t aW4gMTI2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2NoZWRfcnJfZ2V0X2ludGVy dmFsKQorKyNkZWZpbmUgX19OUl9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwgMTI3CisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfcmVzdGFydF9zeXNjYWxsKQorKyNkZWZpbmUgX19OUl9yZXN0 YXJ0X3N5c2NhbGwgMTI4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfa2lsbCkKKysj ZGVmaW5lIF9fTlJfa2lsbCAxMjkKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl90a2ls bCkKKysjZGVmaW5lIF9fTlJfdGtpbGwgMTMwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfdGdraWxsKQorKyNkZWZpbmUgX19OUl90Z2tpbGwgMTMxCisrI2VuZGlmCisrCisrI2lmICFk ZWZpbmVkKF9fTlJfc2lnYWx0c3RhY2spCisrI2RlZmluZSBfX05SX3NpZ2FsdHN0YWNrIDEzMgor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3J0X3NpZ3N1c3BlbmQpCisrI2RlZmluZSBf X05SX3J0X3NpZ3N1c3BlbmQgMTMzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcnRf c2lnYWN0aW9uKQorKyNkZWZpbmUgX19OUl9ydF9zaWdhY3Rpb24gMTM0CisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfcnRfc2lncHJvY21hc2spCisrI2RlZmluZSBfX05SX3J0X3NpZ3By b2NtYXNrIDEzNQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3J0X3NpZ3BlbmRpbmcp CisrI2RlZmluZSBfX05SX3J0X3NpZ3BlbmRpbmcgMTM2CisrI2VuZGlmCisrCisrI2lmICFkZWZp bmVkKF9fTlJfcnRfc2lndGltZWR3YWl0KQorKyNkZWZpbmUgX19OUl9ydF9zaWd0aW1lZHdhaXQg MTM3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcnRfc2lncXVldWVpbmZvKQorKyNk ZWZpbmUgX19OUl9ydF9zaWdxdWV1ZWluZm8gMTM4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfcnRfc2lncmV0dXJuKQorKyNkZWZpbmUgX19OUl9ydF9zaWdyZXR1cm4gMTM5CisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0cHJpb3JpdHkpCisrI2RlZmluZSBfX05SX3Nl dHByaW9yaXR5IDE0MAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldHByaW9yaXR5 KQorKyNkZWZpbmUgX19OUl9nZXRwcmlvcml0eSAxNDEKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9yZWJvb3QpCisrI2RlZmluZSBfX05SX3JlYm9vdCAxNDIKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9zZXRyZWdpZCkKKysjZGVmaW5lIF9fTlJfc2V0cmVnaWQgMTQzCisr I2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0Z2lkKQorKyNkZWZpbmUgX19OUl9zZXRn aWQgMTQ0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0cmV1aWQpCisrI2RlZmlu ZSBfX05SX3NldHJldWlkIDE0NQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NldHVp ZCkKKysjZGVmaW5lIF9fTlJfc2V0dWlkIDE0NgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX3NldHJlc3VpZCkKKysjZGVmaW5lIF9fTlJfc2V0cmVzdWlkIDE0NworKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX2dldHJlc3VpZCkKKysjZGVmaW5lIF9fTlJfZ2V0cmVzdWlkIDE0 OAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NldHJlc2dpZCkKKysjZGVmaW5lIF9f TlJfc2V0cmVzZ2lkIDE0OQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldHJlc2dp ZCkKKysjZGVmaW5lIF9fTlJfZ2V0cmVzZ2lkIDE1MAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3NldGZzdWlkKQorKyNkZWZpbmUgX19OUl9zZXRmc3VpZCAxNTEKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9zZXRmc2dpZCkKKysjZGVmaW5lIF9fTlJfc2V0ZnNnaWQgMTUy CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdGltZXMpCisrI2RlZmluZSBfX05SX3Rp bWVzIDE1MworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NldHBnaWQpCisrI2RlZmlu ZSBfX05SX3NldHBnaWQgMTU0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0cGdp ZCkKKysjZGVmaW5lIF9fTlJfZ2V0cGdpZCAxNTUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9nZXRzaWQpCisrI2RlZmluZSBfX05SX2dldHNpZCAxNTYKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9zZXRzaWQpCisrI2RlZmluZSBfX05SX3NldHNpZCAxNTcKKysjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19OUl9nZXRncm91cHMpCisrI2RlZmluZSBfX05SX2dldGdyb3Vw cyAxNTgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZXRncm91cHMpCisrI2RlZmlu ZSBfX05SX3NldGdyb3VwcyAxNTkKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl91bmFt ZSkKKysjZGVmaW5lIF9fTlJfdW5hbWUgMTYwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfc2V0aG9zdG5hbWUpCisrI2RlZmluZSBfX05SX3NldGhvc3RuYW1lIDE2MQorKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX3NldGRvbWFpbm5hbWUpCisrI2RlZmluZSBfX05SX3NldGRv bWFpbm5hbWUgMTYyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0cmxpbWl0KQor KyNkZWZpbmUgX19OUl9nZXRybGltaXQgMTYzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfc2V0cmxpbWl0KQorKyNkZWZpbmUgX19OUl9zZXRybGltaXQgMTY0CisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfZ2V0cnVzYWdlKQorKyNkZWZpbmUgX19OUl9nZXRydXNhZ2UgMTY1 CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdW1hc2spCisrI2RlZmluZSBfX05SX3Vt YXNrIDE2NgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3ByY3RsKQorKyNkZWZpbmUg X19OUl9wcmN0bCAxNjcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9nZXRjcHUpCisr I2RlZmluZSBfX05SX2dldGNwdSAxNjgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9n ZXR0aW1lb2ZkYXkpCisrI2RlZmluZSBfX05SX2dldHRpbWVvZmRheSAxNjkKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9zZXR0aW1lb2ZkYXkpCisrI2RlZmluZSBfX05SX3NldHRpbWVv ZmRheSAxNzAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9hZGp0aW1leCkKKysjZGVm aW5lIF9fTlJfYWRqdGltZXggMTcxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0 cGlkKQorKyNkZWZpbmUgX19OUl9nZXRwaWQgMTcyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfZ2V0cHBpZCkKKysjZGVmaW5lIF9fTlJfZ2V0cHBpZCAxNzMKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9nZXR1aWQpCisrI2RlZmluZSBfX05SX2dldHVpZCAxNzQKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9nZXRldWlkKQorKyNkZWZpbmUgX19OUl9nZXRldWlk IDE3NQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldGdpZCkKKysjZGVmaW5lIF9f TlJfZ2V0Z2lkIDE3NgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldGVnaWQpCisr I2RlZmluZSBfX05SX2dldGVnaWQgMTc3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf Z2V0dGlkKQorKyNkZWZpbmUgX19OUl9nZXR0aWQgMTc4CisrI2VuZGlmCisrCisrI2lmICFkZWZp bmVkKF9fTlJfc3lzaW5mbykKKysjZGVmaW5lIF9fTlJfc3lzaW5mbyAxNzkKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9tcV9vcGVuKQorKyNkZWZpbmUgX19OUl9tcV9vcGVuIDE4MAor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21xX3VubGluaykKKysjZGVmaW5lIF9fTlJf bXFfdW5saW5rIDE4MQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21xX3RpbWVkc2Vu ZCkKKysjZGVmaW5lIF9fTlJfbXFfdGltZWRzZW5kIDE4MgorKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX21xX3RpbWVkcmVjZWl2ZSkKKysjZGVmaW5lIF9fTlJfbXFfdGltZWRyZWNlaXZl IDE4MworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21xX25vdGlmeSkKKysjZGVmaW5l IF9fTlJfbXFfbm90aWZ5IDE4NAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21xX2dl dHNldGF0dHIpCisrI2RlZmluZSBfX05SX21xX2dldHNldGF0dHIgMTg1CisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfbXNnZ2V0KQorKyNkZWZpbmUgX19OUl9tc2dnZXQgMTg2CisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbXNnY3RsKQorKyNkZWZpbmUgX19OUl9tc2djdGwg MTg3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbXNncmN2KQorKyNkZWZpbmUgX19O Ul9tc2dyY3YgMTg4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbXNnc25kKQorKyNk ZWZpbmUgX19OUl9tc2dzbmQgMTg5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2Vt Z2V0KQorKyNkZWZpbmUgX19OUl9zZW1nZXQgMTkwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfc2VtY3RsKQorKyNkZWZpbmUgX19OUl9zZW1jdGwgMTkxCisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfc2VtdGltZWRvcCkKKysjZGVmaW5lIF9fTlJfc2VtdGltZWRvcCAxOTIK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZW1vcCkKKysjZGVmaW5lIF9fTlJfc2Vt b3AgMTkzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2htZ2V0KQorKyNkZWZpbmUg X19OUl9zaG1nZXQgMTk0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2htY3RsKQor KyNkZWZpbmUgX19OUl9zaG1jdGwgMTk1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf c2htYXQpCisrI2RlZmluZSBfX05SX3NobWF0IDE5NgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3NobWR0KQorKyNkZWZpbmUgX19OUl9zaG1kdCAxOTcKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9zb2NrZXQpCisrI2RlZmluZSBfX05SX3NvY2tldCAxOTgKKysjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19OUl9zb2NrZXRwYWlyKQorKyNkZWZpbmUgX19OUl9zb2NrZXRw YWlyIDE5OQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2JpbmQpCisrI2RlZmluZSBf X05SX2JpbmQgMjAwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbGlzdGVuKQorKyNk ZWZpbmUgX19OUl9saXN0ZW4gMjAxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfYWNj ZXB0KQorKyNkZWZpbmUgX19OUl9hY2NlcHQgMjAyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfY29ubmVjdCkKKysjZGVmaW5lIF9fTlJfY29ubmVjdCAyMDMKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9nZXRzb2NrbmFtZSkKKysjZGVmaW5lIF9fTlJfZ2V0c29ja25hbWUg MjA0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0cGVlcm5hbWUpCisrI2RlZmlu ZSBfX05SX2dldHBlZXJuYW1lIDIwNQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3Nl bmR0bykKKysjZGVmaW5lIF9fTlJfc2VuZHRvIDIwNgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3JlY3Zmcm9tKQorKyNkZWZpbmUgX19OUl9yZWN2ZnJvbSAyMDcKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9zZXRzb2Nrb3B0KQorKyNkZWZpbmUgX19OUl9zZXRzb2Nrb3B0 IDIwOAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldHNvY2tvcHQpCisrI2RlZmlu ZSBfX05SX2dldHNvY2tvcHQgMjA5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2h1 dGRvd24pCisrI2RlZmluZSBfX05SX3NodXRkb3duIDIxMAorKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX3NlbmRtc2cpCisrI2RlZmluZSBfX05SX3NlbmRtc2cgMjExCisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfcmVjdm1zZykKKysjZGVmaW5lIF9fTlJfcmVjdm1zZyAyMTIK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9yZWFkYWhlYWQpCisrI2RlZmluZSBfX05S X3JlYWRhaGVhZCAyMTMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9icmspCisrI2Rl ZmluZSBfX05SX2JyayAyMTQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tdW5tYXAp CisrI2RlZmluZSBfX05SX211bm1hcCAyMTUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul9tcmVtYXApCisrI2RlZmluZSBfX05SX21yZW1hcCAyMTYKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9hZGRfa2V5KQorKyNkZWZpbmUgX19OUl9hZGRfa2V5IDIxNworKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX3JlcXVlc3Rfa2V5KQorKyNkZWZpbmUgX19OUl9yZXF1ZXN0 X2tleSAyMTgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9rZXljdGwpCisrI2RlZmlu ZSBfX05SX2tleWN0bCAyMTkKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9jbG9uZSkK KysjZGVmaW5lIF9fTlJfY2xvbmUgMjIwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf ZXhlY3ZlKQorKyNkZWZpbmUgX19OUl9leGVjdmUgMjIxCisrI2VuZGlmCisrCisrI2lmICFkZWZp bmVkKF9fTlJfbW1hcCkKKysjZGVmaW5lIF9fTlJfbW1hcCAyMjIKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9mYWR2aXNlNjQpCisrI2RlZmluZSBfX05SX2ZhZHZpc2U2NCAyMjMKKysj ZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zd2Fwb24pCisrI2RlZmluZSBfX05SX3N3YXBv biAyMjQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zd2Fwb2ZmKQorKyNkZWZpbmUg X19OUl9zd2Fwb2ZmIDIyNQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21wcm90ZWN0 KQorKyNkZWZpbmUgX19OUl9tcHJvdGVjdCAyMjYKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9tc3luYykKKysjZGVmaW5lIF9fTlJfbXN5bmMgMjI3CisrI2VuZGlmCisrCisrI2lmICFk ZWZpbmVkKF9fTlJfbWxvY2spCisrI2RlZmluZSBfX05SX21sb2NrIDIyOAorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX211bmxvY2spCisrI2RlZmluZSBfX05SX211bmxvY2sgMjI5Cisr I2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbWxvY2thbGwpCisrI2RlZmluZSBfX05SX21s b2NrYWxsIDIzMAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX211bmxvY2thbGwpCisr I2RlZmluZSBfX05SX211bmxvY2thbGwgMjMxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfbWluY29yZSkKKysjZGVmaW5lIF9fTlJfbWluY29yZSAyMzIKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9tYWR2aXNlKQorKyNkZWZpbmUgX19OUl9tYWR2aXNlIDIzMworKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX3JlbWFwX2ZpbGVfcGFnZXMpCisrI2RlZmluZSBfX05S X3JlbWFwX2ZpbGVfcGFnZXMgMjM0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbWJp bmQpCisrI2RlZmluZSBfX05SX21iaW5kIDIzNQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX2dldF9tZW1wb2xpY3kpCisrI2RlZmluZSBfX05SX2dldF9tZW1wb2xpY3kgMjM2CisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0X21lbXBvbGljeSkKKysjZGVmaW5lIF9fTlJf c2V0X21lbXBvbGljeSAyMzcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9taWdyYXRl X3BhZ2VzKQorKyNkZWZpbmUgX19OUl9taWdyYXRlX3BhZ2VzIDIzOAorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX21vdmVfcGFnZXMpCisrI2RlZmluZSBfX05SX21vdmVfcGFnZXMgMjM5 CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcnRfdGdzaWdxdWV1ZWluZm8pCisrI2Rl ZmluZSBfX05SX3J0X3Rnc2lncXVldWVpbmZvIDI0MAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3BlcmZfZXZlbnRfb3BlbikKKysjZGVmaW5lIF9fTlJfcGVyZl9ldmVudF9vcGVuIDI0 MQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2FjY2VwdDQpCisrI2RlZmluZSBfX05S X2FjY2VwdDQgMjQyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcmVjdm1tc2cpCisr I2RlZmluZSBfX05SX3JlY3ZtbXNnIDI0MworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X3Jpc2N2X2ZsdXNoX2ljYWNoZSkKKysjZGVmaW5lIF9fTlJfcmlzY3ZfZmx1c2hfaWNhY2hlIDI1 OQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3dhaXQ0KQorKyNkZWZpbmUgX19OUl93 YWl0NCAyNjAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9wcmxpbWl0NjQpCisrI2Rl ZmluZSBfX05SX3BybGltaXQ2NCAyNjEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9m YW5vdGlmeV9pbml0KQorKyNkZWZpbmUgX19OUl9mYW5vdGlmeV9pbml0IDI2MgorKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX2Zhbm90aWZ5X21hcmspCisrI2RlZmluZSBfX05SX2Zhbm90 aWZ5X21hcmsgMjYzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbmFtZV90b19oYW5k bGVfYXQpCisrI2RlZmluZSBfX05SX25hbWVfdG9faGFuZGxlX2F0IDI2NAorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX29wZW5fYnlfaGFuZGxlX2F0KQorKyNkZWZpbmUgX19OUl9vcGVu X2J5X2hhbmRsZV9hdCAyNjUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9jbG9ja19h ZGp0aW1lKQorKyNkZWZpbmUgX19OUl9jbG9ja19hZGp0aW1lIDI2NgorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX3N5bmNmcykKKysjZGVmaW5lIF9fTlJfc3luY2ZzIDI2NworKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NldG5zKQorKyNkZWZpbmUgX19OUl9zZXRucyAyNjgK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZW5kbW1zZykKKysjZGVmaW5lIF9fTlJf c2VuZG1tc2cgMjY5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcHJvY2Vzc192bV9y ZWFkdikKKysjZGVmaW5lIF9fTlJfcHJvY2Vzc192bV9yZWFkdiAyNzAKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9wcm9jZXNzX3ZtX3dyaXRldikKKysjZGVmaW5lIF9fTlJfcHJvY2Vz c192bV93cml0ZXYgMjcxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfa2NtcCkKKysj ZGVmaW5lIF9fTlJfa2NtcCAyNzIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9maW5p dF9tb2R1bGUpCisrI2RlZmluZSBfX05SX2Zpbml0X21vZHVsZSAyNzMKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9zY2hlZF9zZXRhdHRyKQorKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRh dHRyIDI3NAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NjaGVkX2dldGF0dHIpCisr I2RlZmluZSBfX05SX3NjaGVkX2dldGF0dHIgMjc1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfcmVuYW1lYXQyKQorKyNkZWZpbmUgX19OUl9yZW5hbWVhdDIgMjc2CisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfc2VjY29tcCkKKysjZGVmaW5lIF9fTlJfc2VjY29tcCAyNzcK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9nZXRyYW5kb20pCisrI2RlZmluZSBfX05S X2dldHJhbmRvbSAyNzgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tZW1mZF9jcmVh dGUpCisrI2RlZmluZSBfX05SX21lbWZkX2NyZWF0ZSAyNzkKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9icGYpCisrI2RlZmluZSBfX05SX2JwZiAyODAKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9leGVjdmVhdCkKKysjZGVmaW5lIF9fTlJfZXhlY3ZlYXQgMjgxCisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdXNlcmZhdWx0ZmQpCisrI2RlZmluZSBfX05SX3Vz ZXJmYXVsdGZkIDI4MgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJpZXIp CisrI2RlZmluZSBfX05SX21lbWJhcnJpZXIgMjgzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfbWxvY2syKQorKyNkZWZpbmUgX19OUl9tbG9jazIgMjg0CisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfY29weV9maWxlX3JhbmdlKQorKyNkZWZpbmUgX19OUl9jb3B5X2ZpbGVf cmFuZ2UgMjg1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcHJlYWR2MikKKysjZGVm aW5lIF9fTlJfcHJlYWR2MiAyODYKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9wd3Jp dGV2MikKKysjZGVmaW5lIF9fTlJfcHdyaXRldjIgMjg3CisrI2VuZGlmCisrCisrI2lmICFkZWZp bmVkKF9fTlJfcGtleV9tcHJvdGVjdCkKKysjZGVmaW5lIF9fTlJfcGtleV9tcHJvdGVjdCAyODgK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9wa2V5X2FsbG9jKQorKyNkZWZpbmUgX19O Ul9wa2V5X2FsbG9jIDI4OQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3BrZXlfZnJl ZSkKKysjZGVmaW5lIF9fTlJfcGtleV9mcmVlIDI5MAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3N0YXR4KQorKyNkZWZpbmUgX19OUl9zdGF0eCAyOTEKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9pb19wZ2V0ZXZlbnRzKQorKyNkZWZpbmUgX19OUl9pb19wZ2V0ZXZlbnRz IDI5MgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3JzZXEpCisrI2RlZmluZSBfX05S X3JzZXEgMjkzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfa2V4ZWNfZmlsZV9sb2Fk KQorKyNkZWZpbmUgX19OUl9rZXhlY19maWxlX2xvYWQgMjk0CisrI2VuZGlmCisrCisrI2lmICFk ZWZpbmVkKF9fTlJfcGlkZmRfc2VuZF9zaWduYWwpCisrI2RlZmluZSBfX05SX3BpZGZkX3NlbmRf c2lnbmFsIDQyNAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2lvX3VyaW5nX3NldHVw KQorKyNkZWZpbmUgX19OUl9pb191cmluZ19zZXR1cCA0MjUKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9pb191cmluZ19lbnRlcikKKysjZGVmaW5lIF9fTlJfaW9fdXJpbmdfZW50ZXIg NDI2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW9fdXJpbmdfcmVnaXN0ZXIpCisr I2RlZmluZSBfX05SX2lvX3VyaW5nX3JlZ2lzdGVyIDQyNworKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX29wZW5fdHJlZSkKKysjZGVmaW5lIF9fTlJfb3Blbl90cmVlIDQyOAorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX21vdmVfbW91bnQpCisrI2RlZmluZSBfX05SX21vdmVf bW91bnQgNDI5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZnNvcGVuKQorKyNkZWZp bmUgX19OUl9mc29wZW4gNDMwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZnNjb25m aWcpCisrI2RlZmluZSBfX05SX2ZzY29uZmlnIDQzMQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX2ZzbW91bnQpCisrI2RlZmluZSBfX05SX2ZzbW91bnQgNDMyCisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfZnNwaWNrKQorKyNkZWZpbmUgX19OUl9mc3BpY2sgNDMzCisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcGlkZmRfb3BlbikKKysjZGVmaW5lIF9fTlJfcGlk ZmRfb3BlbiA0MzQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9jbG9uZTMpCisrI2Rl ZmluZSBfX05SX2Nsb25lMyA0MzUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9jbG9z ZV9yYW5nZSkKKysjZGVmaW5lIF9fTlJfY2xvc2VfcmFuZ2UgNDM2CisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfb3BlbmF0MikKKysjZGVmaW5lIF9fTlJfb3BlbmF0MiA0MzcKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9waWRmZF9nZXRmZCkKKysjZGVmaW5lIF9fTlJfcGlk ZmRfZ2V0ZmQgNDM4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZmFjY2Vzc2F0MikK KysjZGVmaW5lIF9fTlJfZmFjY2Vzc2F0MiA0MzkKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9wcm9jZXNzX21hZHZpc2UpCisrI2RlZmluZSBfX05SX3Byb2Nlc3NfbWFkdmlzZSA0NDAK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9lcG9sbF9wd2FpdDIpCisrI2RlZmluZSBf X05SX2Vwb2xsX3B3YWl0MiA0NDEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tb3Vu dF9zZXRhdHRyKQorKyNkZWZpbmUgX19OUl9tb3VudF9zZXRhdHRyIDQ0MgorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX3F1b3RhY3RsX3BhdGgpCisrI2RlZmluZSBfX05SX3F1b3RhY3Rs X3BhdGggNDQzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbGFuZGxvY2tfY3JlYXRl X3J1bGVzZXQpCisrI2RlZmluZSBfX05SX2xhbmRsb2NrX2NyZWF0ZV9ydWxlc2V0IDQ0NAorKyNl bmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2xhbmRsb2NrX2FkZF9ydWxlKQorKyNkZWZpbmUg X19OUl9sYW5kbG9ja19hZGRfcnVsZSA0NDUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul9sYW5kbG9ja19yZXN0cmljdF9zZWxmKQorKyNkZWZpbmUgX19OUl9sYW5kbG9ja19yZXN0cmlj dF9zZWxmIDQ0NgorKyNlbmRpZgorKworKyNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1f SEVBREVSU19SSVNDVjY0X0xJTlVYX1NZU0NBTExTX0hfCitJbmRleDogY2hyb21pdW0tMTA3LjAu NTMwNC44Ny9zYW5kYm94L3BvbGljeS9saW51eC9icGZfY3Jvc19hbWRfZ3B1X3BvbGljeV9saW51 eC5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNy4wLjUzMDQuODcub3JpZy9zYW5kYm94 L3BvbGljeS9saW51eC9icGZfY3Jvc19hbWRfZ3B1X3BvbGljeV9saW51eC5jYworKysrIGNocm9t aXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX2Nyb3NfYW1kX2dwdV9w b2xpY3lfbGludXguY2MKK0BAIC0zOCw3ICszOCw3IEBAIFJlc3VsdEV4cHIgQ3Jvc0FtZEdwdVBy b2Nlc3NQb2xpY3k6OkV2YWwKKyAgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlcjoKKyAg ICAgY2FzZSBfX05SX3N5c2luZm86CisgICAgIGNhc2UgX19OUl91bmFtZToKKy0jaWYgIWRlZmlu ZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChf X3Jpc2N2KQorICAgICBjYXNlIF9fTlJfcmVhZGxpbms6CisgICAgIGNhc2UgX19OUl9zdGF0Ogor ICNlbmRpZgorSW5kZXg6IGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9wb2xpY3kvbGlu dXgvYnBmX2dwdV9wb2xpY3lfbGludXguY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDcu MC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX2dwdV9wb2xpY3lfbGludXgu Y2MKKysrKyBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9n cHVfcG9saWN5X2xpbnV4LmNjCitAQCAtNzMsNyArNzMsNyBAQCBSZXN1bHRFeHByIEdwdVByb2Nl c3NQb2xpY3k6OkV2YWx1YXRlU3lzCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZ KSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfZnRydW5jYXRl NjQ6CisgI2VuZGlmCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChf X2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX2dldGRlbnRz OgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfZ2V0ZGVudHM2NDoKKwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNy1yaXNjdi1zYW5kYm94LnBhdGNoLmFyZ3Mg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA3LXJpc2N2LXNhbmRib3gucGF0Y2gu YXJncwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQ1ZjM4ZTM1NGU3 ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDct cmlzY3Ytc2FuZGJveC5wYXRjaC5hcmdzCkBAIC0wLDAgKzEgQEAKKy1OcDEgLS1kaXJlY3Rvcnk9 c3JjLzNyZHBhcnR5L2Nocm9taXVtLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDEwMC1jaHJvbWl1bS1yZXZlcnQtOWQwODBjMC5wYXRjaCBiL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDAtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkY2EzNjRhNDA2MC4uMDAwMDAwMDAwMDAwCi0t LSBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDAtY2hyb21pdW0tcmV2ZXJ0LTlk MDgwYzAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNTQgKzAsMCBAQAotUmV2ZXJ0IDlkMDgw YzA5MzRiODQ4ZWU0YTA1MDEzYzc4NjQxZTYxMmZjYzFlMDMKLQotLS0tIHF0Ni13ZWJlbmdpbmUt Ni40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQvY29uZmlnL3Nhbml0aXplcnMv QlVJTEQuZ24KLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9i dWlsZC9jb25maWcvc2FuaXRpemVycy9CVUlMRC5nbgotQEAgLTI3MSwxMSArMjcxLDExIEBAIGNv bmZpZygiYXNhbl9mbGFncyIpIHsKLSAgIGlmIChpc19hc2FuKSB7Ci0gICAgIGNmbGFncyArPSBb ICItZnNhbml0aXplPWFkZHJlc3MiIF0KLSAgICAgaWYgKGlzX3dpbikgewotLSAgICAgIGlmICgh ZGVmaW5lZChhc2FuX3dpbl9ibG9ja2xpc3RfcGF0aCkpIHsKLS0gICAgICAgIGFzYW5fd2luX2Js b2NrbGlzdF9wYXRoID0KLSsgICAgICBpZiAoIWRlZmluZWQoYXNhbl93aW5fYmxhY2tsaXN0X3Bh dGgpKSB7Ci0rICAgICAgICBhc2FuX3dpbl9ibGFja2xpc3RfcGF0aCA9Ci0gICAgICAgICAgICAg cmViYXNlX3BhdGgoIi8vdG9vbHMvbWVtb3J5L2FzYW4vYmxvY2tsaXN0X3dpbi50eHQiLCByb290 X2J1aWxkX2RpcikKLSAgICAgICB9Ci0tICAgICAgY2ZsYWdzICs9IFsgIi1mc2FuaXRpemUtaWdu b3JlbGlzdD0kYXNhbl93aW5fYmxvY2tsaXN0X3BhdGgiIF0KLSsgICAgICBjZmxhZ3MgKz0gWyAi LWZzYW5pdGl6ZS1ibGFja2xpc3Q9JGFzYW5fd2luX2JsYWNrbGlzdF9wYXRoIiBdCi0gICAgIH0K LSAgIH0KLSB9Ci1AQCAtMzA1LDEzICszMDUsMTMgQEAgY29uZmlnKCJsaW5rX3NoYXJlZF9saWJy YXJ5IikgewotIGNvbmZpZygiY2ZpX2ZsYWdzIikgewotICAgY2ZsYWdzID0gW10KLSAgIGlmIChp c19jZmkgJiYgY3VycmVudF90b29sY2hhaW4gPT0gZGVmYXVsdF90b29sY2hhaW4pIHsKLS0gICAg aWYgKCFkZWZpbmVkKGNmaV9pZ25vcmVsaXN0X3BhdGgpKSB7Ci0tICAgICAgY2ZpX2lnbm9yZWxp c3RfcGF0aCA9Ci0rICAgIGlmICghZGVmaW5lZChjZmlfYmxhY2tsaXN0X3BhdGgpKSB7Ci0rICAg ICAgY2ZpX2JsYWNrbGlzdF9wYXRoID0KLSAgICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMv Y2ZpL2lnbm9yZXMudHh0Iiwgcm9vdF9idWlsZF9kaXIpCi0gICAgIH0KLSAgICAgY2ZsYWdzICs9 IFsKLSAgICAgICAiLWZzYW5pdGl6ZT1jZmktdmNhbGwiLAotLSAgICAgICItZnNhbml0aXplLWln bm9yZWxpc3Q9JGNmaV9pZ25vcmVsaXN0X3BhdGgiLAotKyAgICAgICItZnNhbml0aXplLWJsYWNr bGlzdD0kY2ZpX2JsYWNrbGlzdF9wYXRoIiwKLSAgICAgXQotIAotICAgICBpZiAodXNlX2NmaV9j YXN0KSB7Ci1AQCAtNDA4LDE0ICs0MDgsMTQgQEAgY29uZmlnKCJtc2FuX2ZsYWdzIikgewotICAg aWYgKGlzX21zYW4pIHsKLSAgICAgYXNzZXJ0KGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zLAotICAg ICAgICAgICAgIm1zYW4gb25seSBzdXBwb3J0ZWQgb24gbGludXggeDg2XzY0L0Nocm9tZU9TIikK LS0gICAgaWYgKCFkZWZpbmVkKG1zYW5faWdub3JlbGlzdF9wYXRoKSkgewotLSAgICAgIG1zYW5f aWdub3JlbGlzdF9wYXRoID0KLS0gICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvbXNhbi9p Z25vcmVsaXN0LnR4dCIsIHJvb3RfYnVpbGRfZGlyKQotKyAgICBpZiAoIWRlZmluZWQobXNhbl9i bGFja2xpc3RfcGF0aCkpIHsKLSsgICAgICBtc2FuX2JsYWNrbGlzdF9wYXRoID0KLSsgICAgICAg ICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvbXNhbi9ibGFja2xpc3QudHh0Iiwgcm9vdF9idWlsZF9k aXIpCi0gICAgIH0KLSAgICAgY2ZsYWdzID0gWwotICAgICAgICItZnNhbml0aXplPW1lbW9yeSIs Ci0gICAgICAgIi1mc2FuaXRpemUtbWVtb3J5LXRyYWNrLW9yaWdpbnM9JG1zYW5fdHJhY2tfb3Jp Z2lucyIsCi0tICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kbXNhbl9pZ25vcmVsaXN0X3Bh dGgiLAotKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kbXNhbl9ibGFja2xpc3RfcGF0aCIs Ci0gICAgIF0KLSAgIH0KLSB9Ci1AQCAtNDIzLDEzICs0MjMsMTMgQEAgY29uZmlnKCJtc2FuX2Zs YWdzIikgewotIGNvbmZpZygidHNhbl9mbGFncyIpIHsKLSAgIGlmIChpc190c2FuKSB7Ci0gICAg IGFzc2VydChpc19saW51eCB8fCBpc19jaHJvbWVvcywgInRzYW4gb25seSBzdXBwb3J0ZWQgb24g bGludXggeDg2XzY0IikKLS0gICAgaWYgKCFkZWZpbmVkKHRzYW5faWdub3JlbGlzdF9wYXRoKSkg ewotLSAgICAgIHRzYW5faWdub3JlbGlzdF9wYXRoID0KLSsgICAgaWYgKCFkZWZpbmVkKHRzYW5f YmxhY2tsaXN0X3BhdGgpKSB7Ci0rICAgICAgdHNhbl9ibGFja2xpc3RfcGF0aCA9Ci0gICAgICAg ICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL21lbW9yeS90c2FuX3YyL2lnbm9yZXMudHh0Iiwgcm9v dF9idWlsZF9kaXIpCi0gICAgIH0KLSAgICAgY2ZsYWdzID0gWwotICAgICAgICItZnNhbml0aXpl PXRocmVhZCIsCi0tICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kdHNhbl9pZ25vcmVsaXN0 X3BhdGgiLAotKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kdHNhbl9ibGFja2xpc3RfcGF0 aCIsCi0gICAgIF0KLSAgIH0KLSB9Ci1AQCAtNDM3LDggKzQzNyw4IEBAIGNvbmZpZygidHNhbl9m bGFncyIpIHsKLSBjb25maWcoInVic2FuX2ZsYWdzIikgewotICAgY2ZsYWdzID0gW10KLSAgIGlm IChpc191YnNhbikgewotLSAgICBpZiAoIWRlZmluZWQodWJzYW5faWdub3JlbGlzdF9wYXRoKSkg ewotLSAgICAgIHVic2FuX2lnbm9yZWxpc3RfcGF0aCA9Ci0rICAgIGlmICghZGVmaW5lZCh1YnNh bl9ibGFja2xpc3RfcGF0aCkpIHsKLSsgICAgICB1YnNhbl9ibGFja2xpc3RfcGF0aCA9Ci0gICAg ICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL3Vic2FuL2lnbm9yZWxpc3QudHh0Iiwgcm9vdF9i dWlsZF9kaXIpCi0gICAgIH0KLSAgICAgY2ZsYWdzICs9IFsKLUBAIC00NTUsNyArNDU1LDcgQEAg Y29uZmlnKCJ1YnNhbl9mbGFncyIpIHsKLSAgICAgICAiLWZzYW5pdGl6ZT1zaWduZWQtaW50ZWdl ci1vdmVyZmxvdyIsCi0gICAgICAgIi1mc2FuaXRpemU9dW5yZWFjaGFibGUiLAotICAgICAgICIt ZnNhbml0aXplPXZsYS1ib3VuZCIsCi0tICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kdWJz YW5faWdub3JlbGlzdF9wYXRoIiwKLSsgICAgICAiLWZzYW5pdGl6ZS1ibGFja2xpc3Q9JHVic2Fu X2JsYWNrbGlzdF9wYXRoIiwKLSAgICAgXQotICAgICBpZiAoIWlzX2NsYW5nKSB7Ci0gICAgICAg IyBUaGVzZSBleHBvc2VzIHRvbyBtdWNoIGlsbGVnYWwgQysrMTQgY29kZSB0byBjb21waWxlIG9u IGFueXRoaW5nIHN0cmljdGVyIHRoYW4gY2xhbmc6Ci1AQCAtNDk2LDggKzQ5Niw4IEBAIGNvbmZp ZygidWJzYW5fbm9fcmVjb3ZlciIpIHsKLSAKLSBjb25maWcoInVic2FuX3NlY3VyaXR5X2ZsYWdz IikgewotICAgaWYgKGlzX3Vic2FuX3NlY3VyaXR5KSB7Ci0tICAgIGlmICghZGVmaW5lZCh1YnNh bl9zZWN1cml0eV9pZ25vcmVsaXN0X3BhdGgpKSB7Ci0tICAgICAgdWJzYW5fc2VjdXJpdHlfaWdu b3JlbGlzdF9wYXRoID0KLSsgICAgaWYgKCFkZWZpbmVkKHVic2FuX3NlY3VyaXR5X2JsYWNrbGlz dF9wYXRoKSkgewotKyAgICAgIHVic2FuX3NlY3VyaXR5X2JsYWNrbGlzdF9wYXRoID0KLSAgICAg ICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvdWJzYW4vc2VjdXJpdHlfaWdub3JlbGlzdC50eHQi LCByb290X2J1aWxkX2RpcikKLSAgICAgfQotICAgICBjZmxhZ3MgPSBbCi1AQCAtNTA1LDcgKzUw NSw3IEBAIGNvbmZpZygidWJzYW5fc2VjdXJpdHlfZmxhZ3MiKSB7Ci0gICAgICAgIi1mc2FuaXRp emU9c2hpZnQiLAotICAgICAgICItZnNhbml0aXplPXNpZ25lZC1pbnRlZ2VyLW92ZXJmbG93IiwK LSAgICAgICAiLWZzYW5pdGl6ZT12bGEtYm91bmQiLAotLSAgICAgICItZnNhbml0aXplLWlnbm9y ZWxpc3Q9JHVic2FuX3NlY3VyaXR5X2lnbm9yZWxpc3RfcGF0aCIsCi0rICAgICAgIi1mc2FuaXRp emUtYmxhY2tsaXN0PSR1YnNhbl9zZWN1cml0eV9ibGFja2xpc3RfcGF0aCIsCi0gICAgIF0KLSAg IH0KLSB9Ci1AQCAtNTE4LDEzICs1MTgsMTMgQEAgY29uZmlnKCJ1YnNhbl9udWxsX2ZsYWdzIikg ewotIAotIGNvbmZpZygidWJzYW5fdnB0cl9mbGFncyIpIHsKLSAgIGlmIChpc191YnNhbl92cHRy KSB7Ci0tICAgIGlmICghZGVmaW5lZCh1YnNhbl92cHRyX2lnbm9yZWxpc3RfcGF0aCkpIHsKLS0g ICAgICB1YnNhbl92cHRyX2lnbm9yZWxpc3RfcGF0aCA9Ci0rICAgIGlmICghZGVmaW5lZCh1YnNh bl92cHRyX2JsYWNrbGlzdF9wYXRoKSkgewotKyAgICAgIHVic2FuX3ZwdHJfYmxhY2tsaXN0X3Bh dGggPQotICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy91YnNhbi92cHRyX2lnbm9yZWxp c3QudHh0Iiwgcm9vdF9idWlsZF9kaXIpCi0gICAgIH0KLSAgICAgY2ZsYWdzID0gWwotICAgICAg ICItZnNhbml0aXplPXZwdHIiLAotLSAgICAgICItZnNhbml0aXplLWlnbm9yZWxpc3Q9JHVic2Fu X3ZwdHJfaWdub3JlbGlzdF9wYXRoIiwKLSsgICAgICAiLWZzYW5pdGl6ZS1ibGFja2xpc3Q9JHVi c2FuX3ZwdHJfYmxhY2tsaXN0X3BhdGgiLAotICAgICBdCi0gICAgIGlmICghaXNfY2xhbmcpIHsK LSAgICAgICAjIENsYW5nIHNwZWNpZmljIGZsYWc6Ci0tLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5v cmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZF9vdmVycmlkZXMvYnVpbGQuZ25pCi0rKysg cXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGRfb3ZlcnJpZGVz L2J1aWxkLmduaQotQEAgLTQzLDE1ICs0MywxNSBAQCBkZWNsYXJlX2FyZ3MoKSB7Ci0gIyBBbGxv d3MgZGlmZmVyZW50IHByb2plY3RzIHRvIHNwZWNpZnkgdGhlaXIgb3duIHN1cHByZXNzaW9uL2ln bm9yZSBsaXN0cyBmb3IKLSAjIHNhbml0aXplciB0b29scy4KLSAjIGFzYW5fc3VwcHJlc3Npb25z X2ZpbGUgPSAicGF0aC90by9hc2FuX3N1cHByZXNzaW9ucy5jYyIKLS0jIGFzYW5fd2luX2lnbm9y ZWxpc3RfcGF0aCA9ICJwYXRoL3RvL2FzYW4vYmxvY2tsaXN0X3dpbi50eHQiCi0rIyBhc2FuX3dp bl9ibGFja2xpc3RfcGF0aCA9ICJwYXRoL3RvL2FzYW4vYmxvY2tsaXN0X3dpbi50eHQiCi0gIyBs c2FuX3N1cHByZXNzaW9uc19maWxlID0gInBhdGgvdG8vbHNhbl9zdXBwcmVzc2lvbnMuY2MiCi0g IyB0c2FuX3N1cHByZXNzaW9uc19maWxlID0gInBhdGgvdG8vdHNhbl9zdXBwcmVzc2lvbnMuY2Mi Ci0tIyB0c2FuX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL3RzYW4vaWdub3Jlcy50eHQiCi0t IyBtc2FuX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL21zYW4vaWdub3JlbGlzdC50eHQiCi0t IyB1YnNhbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by91YnNhbi9pZ25vcmVsaXN0LnR4dCIK LS0jIHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoID0gInBhdGgvdG8vdWJzYW4vdnB0cl9pZ25v cmVsaXN0LnR4dCIKLS0jIHVic2FuX3NlY3VyaXR5X2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3Rv L3Vic2FuL3NlY3VyaXR5X2lnbm9yZWxpc3QudHh0IgotLSMgY2ZpX2lnbm9yZWxpc3RfcGF0aCA9 ICJwYXRoL3RvL2NmaS9pZ25vcmVzLnR4dCIKLSsjIHRzYW5fYmxhY2tsaXN0X3BhdGggPSAicGF0 aC90by90c2FuL2lnbm9yZXMudHh0IgotKyMgbXNhbl9ibGFja2xpc3RfcGF0aCA9ICJwYXRoL3Rv L21zYW4vYmxhY2tsaXN0LnR4dCIKLSsjIHVic2FuX2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8v dWJzYW4vYmxhY2tsaXN0LnR4dCIKLSsjIHVic2FuX3ZwdHJfYmxhY2tsaXN0X3BhdGggPSAicGF0 aC90by91YnNhbi92cHRyX2JsYWNrbGlzdC50eHQiCi0rIyB1YnNhbl9zZWN1cml0eV9ibGFja2xp c3RfcGF0aCA9ICJwYXRoL3RvL3Vic2FuL3NlY3VyaXR5X2JsYWNrbGlzdC50eHQiCi0rIyBjZmlf YmxhY2tsaXN0X3BhdGggPSAicGF0aC90by9jZmkvaWdub3Jlcy50eHQiCi0gCi0gaWYgKGhvc3Rf b3MgPT0gIm1hYyIgfHwgaXNfYXBwbGUpIHsKLSAgICMgTmVlZGVkIGZvciBpc19hcHBsZSB3aGVu IHRhcmdldGluZyBtYWNPUyBvciBpT1MsIGluZGVwZW5kZW50IG9mIGhvc3QuCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAxLWNocm9taXVtLTEwMi1mZW5jZWRf ZnJhbWVfdXRpbHMtaW5jbHVkZS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAxMDEtY2hyb21pdW0tMTAyLWZlbmNlZF9mcmFtZV91dGlscy1pbmNsdWRlLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNDFjNzk4NDg0MGQuLjAwMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAxLWNocm9taXVtLTEwMi1mZW5jZWRf ZnJhbWVfdXRpbHMtaW5jbHVkZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAK LUZyb20gN2MxMzVhMjkxMTg0YjU5YTU5NjQzZWQ2YThjNDBiNDQwNWFjMDE3NSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWls LmNvbT4KLURhdGU6IFdlZCwgMjcgQXByIDIwMjIgMTY6MDE6MDEgKzAwMDAKLVN1YmplY3Q6IFtQ QVRDSF0gSVdZVTogYWRkIGNzdHJpbmcgZm9yIHN0ZDo6c3RybGVuIGluIGZlbmNlZF9mcmFtZV91 dGlscwotCi0tLS0KLSB0aGlyZF9wYXJ0eS9ibGluay9jb21tb24vZmVuY2VkX2ZyYW1lL2ZlbmNl ZF9mcmFtZV91dGlscy5jYyB8IDIgKysKLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp Ci0KLS0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9mZW5jZWRfZnJhbWUvZmVuY2VkX2ZyYW1lX3V0aWxzLmNj Ci0rKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYmxpbmsvY29tbW9uL2ZlbmNlZF9mcmFtZS9mZW5jZWRfZnJhbWVfdXRpbHMuY2MKLUBAIC02 LDYgKzYsOCBAQAotIAotICNpbmNsdWRlIDxjc3RyaW5nPgotIAotKyNpbmNsdWRlIDxjc3RyaW5n PgotKwotICNpbmNsdWRlICJiYXNlL2d1aWQuaCIKLSAjaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3N0 cmluZ191dGlsLmgiCi0gCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTAyLWNocm9taXVtLTEwMi1yZWdleF9wYXR0ZXJuLWFycmF5LnBhdGNoIGIvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMi1jaHJvbWl1bS0xMDItcmVnZXhfcGF0dGVybi1hcnJh eS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDIwZWY5NDFhMzg2Li4wMDAw MDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMi1jaHJvbWl1 bS0xMDItcmVnZXhfcGF0dGVybi1hcnJheS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICsw LDAgQEAKLS0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL0JVSUxELmduCi0rKysgcXQ2LXdlYmVu Z2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vY29tcG9uZW50cy9hdXRvZmlsbC9jb3Jl L2Jyb3dzZXIvQlVJTEQuZ24KLUBAIC0zNCw2ICszNCwxMSBAQCBhY3Rpb24oInJlZ2V4X3BhdHRl cm5zX2lubF9oIikgewotIH0KLSAKLSBqdW1ib19zdGF0aWNfbGlicmFyeSgiYnJvd3NlciIpIHsK LSsgIGlmIChpc19jbGFuZykgewotKyAgICBjZmxhZ3MgPSBbCi0rICAgICAgIi1mYnJhY2tldC1k ZXB0aD0xMDAwIiwKLSsgICAgXQotKyAgfQotICAgc291cmNlcyA9IFsKLSAgICAgImFkZHJlc3Nf bm9ybWFsaXphdGlvbl9tYW5hZ2VyLmNjIiwKLSAgICAgImFkZHJlc3Nfbm9ybWFsaXphdGlvbl9t YW5hZ2VyLmgiLApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEw My1jaHJvbWl1bS1pNjg2LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDEwMy1jaHJvbWl1bS1pNjg2LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDhkNTY3YTA0ZGMuLjAwMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAzLWNocm9taXVtLWk2ODYt dmFhcGktZnBlcm1pc3NpdmUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0t LS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9n cHUvdmFhcGkvQlVJTEQuZ24KLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9tZWRpYS9ncHUvdmFhcGkvQlVJTEQuZ24KLUBAIC0xNCw2ICsxNCwxMiBAQCBpbXBv cnQoIi8vdWkvZ2wvZmVhdHVyZXMuZ25pIikKLSBhc3NlcnQoaXNfbGludXggfHwgaXNfY2hyb21l b3MpCi0gYXNzZXJ0KHVzZV92YWFwaSkKLSAKLStjb25maWcoInZhYXBpX3Blcm1pc3NpdmUiKSB7 Ci0rICBpZiAodGFyZ2V0X2NwdSA9PSAieDg2IikgewotKyAgICBjZmxhZ3MgPSBbICItZnBlcm1p c3NpdmUiIF0KLSsgIH0KLSt9Ci0rCi0gZ2VuZXJhdGVfc3R1YnMoImxpYnZhX3N0dWJzIikgewot ICAgZXh0cmFfaGVhZGVyID0gInZhX3N0dWJfaGVhZGVyLmZyYWdtZW50IgotICAgc2lncyA9IFsg InZhLnNpZ3MiIF0KLUBAIC04OSw2ICs5NSw3IEBAIHNvdXJjZV9zZXQoInZhYXBpIikgewotICAg Y29uZmlncyArPSBbCi0gICAgICIvL2J1aWxkL2NvbmZpZy9saW51eC9saWJ2YSIsCi0gICAgICIv L3RoaXJkX3BhcnR5L2xpYnZweDpsaWJ2cHhfY29uZmlnIiwKLSsgICAgIjp2YWFwaV9wZXJtaXNz aXZlIiwKLSAgIF0KLSAKLSAgIGRlcHMgPSBbCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMTA0LWNocm9taXVtLWxpYnhtbC11bmJ1bmRsZS5wYXRjaCBiL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDQtY2hyb21pdW0tbGlieG1sLXVuYnVuZGxlLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYWNhNDg0YWJjNGEuLjAwMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA0LWNocm9taXVtLWxp YnhtbC11bmJ1bmRsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLS0tLSBx dDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2xpbnV4 L3VuYnVuZGxlL2xpYnhtbC5nbgotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL2J1aWxkL2xpbnV4L3VuYnVuZGxlL2xpYnhtbC5nbgotQEAgLTE5LDYgKzE5LDcg QEAgc3RhdGljX2xpYnJhcnkoImxpYnhtbF91dGlscyIpIHsKLSAgICAgIjp4bWxfcmVhZGVyIiwK LSAgICAgIjp4bWxfd3JpdGVyIiwKLSAgICAgIi8vYmFzZS90ZXN0OnRlc3Rfc3VwcG9ydCIsCi0r ICAgICIvL3NlcnZpY2VzL2RhdGFfZGVjb2RlcjpsaWIiLAotICAgICAiLy9zZXJ2aWNlcy9kYXRh X2RlY29kZXI6eG1sX3BhcnNlcl9mdXp6ZXJfZGVwcyIsCi0gICBdCi0gICBzb3VyY2VzID0gWwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNy1jaHJvbWl1bS1j cm9zcy1idWlsZC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDctY2hy b21pdW0tY3Jvc3MtYnVpbGQucGF0Y2gKaW5kZXggNDQ5NTRkZmJiMWU1Li43ZmJmYWJjZDc5Yjcg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDctY2hyb21pdW0t Y3Jvc3MtYnVpbGQucGF0Y2gKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEw Ny1jaHJvbWl1bS1jcm9zcy1idWlsZC5wYXRjaApAQCAtMTEsMTAgKzExLDEwIEBACiAgICAjIE5v cm1hbGx5LCBBbmRyb2lkIGJ1aWxkcyBhcmUgbGlnaHRseSBvcHRpbWl6ZWQsIGV2ZW4gZm9yIGRl YnVnIGJ1aWxkcywgdG8KICAgICMga2VlcCBiaW5hcnkgc2l6ZSBkb3duLiBTZXR0aW5nIHRoaXMg ZmxhZyB0byB0cnVlIGRpc2FibGVzIHN1Y2ggb3B0aW1pemF0aW9uCiAgICBhbmRyb2lkX2Z1bGxf ZGVidWcgPSBmYWxzZQotQEAgLTk3MCw4ICs5NzQsMTMgQEAgY29uZmlnKCJjb21waWxlcl9jcHVf YWJpIikgewotICAgICAgIH0KK0BAIC0xMDAzLDggKzEwMDMsMTMgQEAKICAgICAgfSBlbHNlIGlm IChjdXJyZW50X2NwdSA9PSAiYXJtNjQiKSB7Ci0gICAgICAgaWYgKGlzX2NsYW5nICYmICFpc19h bmRyb2lkICYmICFpc19uYWNsICYmICFpc19mdWNoc2lhKSB7CisgICAgICAgaWYgKGlzX2NsYW5n ICYmICFpc19hbmRyb2lkICYmICFpc19uYWNsICYmICFpc19mdWNoc2lhICYmCisgICAgICAgICAg ICEoaXNfY2hyb21lb3NfbGFjcm9zICYmIGlzX2Nocm9tZW9zX2RldmljZSkpIHsKIC0gICAgICAg IGNmbGFncyArPSBbICItLXRhcmdldD1hYXJjaDY0LWxpbnV4LWdudSIgXQogLSAgICAgICAgbGRm bGFncyArPSBbICItLXRhcmdldD1hYXJjaDY0LWxpbnV4LWdudSIgXQogKyAgICAgICAgaWYgKGlz X211c2wpIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDgt Y2hyb21pdW0tY3Vyc2VkXlVzY29wZWRfZmlsZS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxMDgtY2hyb21pdW0tY3Vyc2VkXlVzY29wZWRfZmlsZS5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQzMWRhOTc5MGFkLi4wMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOC1jaHJvbWl1bS1jdXJzZWReVXNjb3Bl ZF9maWxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotLS0tIHF0Ni13ZWJl bmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9zY29wZWRf ZmlsZV9saW51eC5jYwotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL2Jhc2UvZmlsZXMvc2NvcGVkX2ZpbGVfbGludXguY2MKLUBAIC03NywxNSArNzcsMyBAQCBi b29sIElzRkRPd25lZChpbnQgZmQpIHsKLSB9Ci0gCi0gfSAgLy8gbmFtZXNwYWNlIGJhc2UKLS0K LS1leHRlcm4gIkMiIHsKLS0KLS1pbnQgX19jbG9zZShpbnQpOwotLQotLV9fYXR0cmlidXRlX18o KHZpc2liaWxpdHkoImRlZmF1bHQiKSwgbm9pbmxpbmUpKSBpbnQgY2xvc2UoaW50IGZkKSB7Ci0t ICBpZiAoYmFzZTo6SXNGRE93bmVkKGZkKSAmJiBnX2lzX293bmVyc2hpcF9lbmZvcmNlZCkKLS0g ICAgQ3Jhc2hPbkZkT3duZXJzaGlwVmlvbGF0aW9uKCk7Ci0tICByZXR1cm4gX19jbG9zZShmZCk7 Ci0tfQotLQotLX0gIC8vIGV4dGVybiAiQyIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxMTctY2hyb21pdW0tbXVzbC1yZXNvbHZlci5wYXRjaCBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTctY2hyb21pdW0tbXVzbC1yZXNvbHZlci5wYXRjaApp bmRleCAxNzY1MjRhZGMwODMuLjVmMDkwYzgxMDU3OSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDExNy1jaHJvbWl1bS1tdXNsLXJlc29sdmVyLnBhdGNoCisrKyBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTctY2hyb21pdW0tbXVzbC1yZXNvbHZl ci5wYXRjaApAQCAtMjcsMTcgKzI3LDYgQEAKICB9CiAgCiAgYm9vbCBTY29wZWRSZXNTdGF0ZTo6 SXNWYWxpZCgpIGNvbnN0IHsKLS0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBh cnR5L2Nocm9taXVtL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9tYW5hZ2VyLmNjCi0rKysgcXQ2LXdl YmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9ob3N0X3Jlc29sdmVy X21hbmFnZXIuY2MKLUBAIC0zMTU4LDcgKzMxNTgsNyBAQCBIb3N0UmVzb2x2ZXJNYW5hZ2VyOjpI b3N0UmVzb2x2ZXJNYW5hZ2VyCi0gICBpZiAoc3lzdGVtX2Ruc19jb25maWdfbm90aWZpZXJfKQot ICAgICBzeXN0ZW1fZG5zX2NvbmZpZ19ub3RpZmllcl8tPkFkZE9ic2VydmVyKHRoaXMpOwotICNp ZiBCVUlMREZMQUcoSVNfUE9TSVgpICYmICFCVUlMREZMQUcoSVNfQVBQTEUpICYmICFCVUlMREZM QUcoSVNfT1BFTkJTRCkgJiYgXAotLSAgICAhQlVJTERGTEFHKElTX0FORFJPSUQpCi0rICAgICFC VUlMREZMQUcoSVNfQU5EUk9JRCkgJiYgIShCVUlMREZMQUcoSVNfTElOVVgpICYmICFkZWZpbmVk KF9fR0xJQkNfXykpCi0gICBFbnN1cmVEbnNSZWxvYWRlckluaXQoKTsKLSAjZW5kaWYKLSAKIC0t LSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMv ZG5zX3JlbG9hZGVyLmNjCiArKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hy b21pdW0vbmV0L2Rucy9kbnNfcmVsb2FkZXIuY2MKIEBAIC03LDcgKzcsOCBAQApAQCAtNTAsOCAr MzksMTggQEAKICAKICAjaW5jbHVkZSA8cmVzb2x2Lmg+CiAgCi0tLS0gcXQ2LXdlYmVuZ2luZS02 LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfcHJv Yy5jYwotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9k bnMvaG9zdF9yZXNvbHZlcl9wcm9jLmNjCistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfc3lzdGVtX3Rhc2suY2MK KysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2hv c3RfcmVzb2x2ZXJfc3lzdGVtX3Rhc2suY2MKK0BAIC0zMTAsOCArMzEwLDcgQEAKKyB9CisgCisg dm9pZCBFbnN1cmVTeXN0ZW1Ib3N0UmVzb2x2ZXJDYWxsUmVhZHkoKSB7CistI2lmIEJVSUxERkxB RyhJU19QT1NJWCkgJiYgIUJVSUxERkxBRyhJU19BUFBMRSkgJiYgIUJVSUxERkxBRyhJU19PUEVO QlNEKSAmJiBcCistICAgICFCVUlMREZMQUcoSVNfQU5EUk9JRCkKKysjaWYgZGVmaW5lZChfX0dM SUJDX18pCisgICBFbnN1cmVEbnNSZWxvYWRlckluaXQoKTsKKyAjZWxpZiBCVUlMREZMQUcoSVNf V0lOKQorICAgRW5zdXJlV2luc29ja0luaXQoKTsKIEBAIC0xOTIsNyArMTkyLDggQEAgaW50IFN5 c3RlbUhvc3RSZXNvbHZlckNhbGwoY29uc3Qgc3RkOjpzdAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U6OkJsb2NraW5nVHlwZTo6V0lMTF9CTE9D Syk7CiAgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI0LWNo cm9taXVtLWVuYWJsZS1pNjg2LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEyNC1jaHJvbWl1bS1lbmFibGUtaTY4Ni5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMTFkOGRlN2MyM2Y4Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDEyNC1jaHJvbWl1bS1lbmFibGUtaTY4Ni5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDE3ICswLDAgQEAKLS0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBh cnR5L2Nocm9taXVtL0JVSUxELmduCi0rKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vQlVJTEQuZ24KLUBAIC0xNTM3LDE0ICsxNTM3LDYgQEAgaWYgKCFpc19pb3Mg JiYgIXVzZV9xdCkgewotICAgfQotIH0KLSAKLS0jIFRPRE8oY2Fzc2V3KTogQWRkIG1vcmUgT1Mn cyB0aGF0IGRvbid0IHN1cHBvcnQgeDg2LgotLWlzX3ZhbGlkX3g4Nl90YXJnZXQgPQotLSAgICB0 YXJnZXRfb3MgIT0gImlvcyIgJiYgdGFyZ2V0X29zICE9ICJtYWMiICYmCi0tICAgICh0YXJnZXRf b3MgIT0gImxpbnV4IiB8fCB1c2VfbGliZnV6emVyIHx8ICFidWlsZF93aXRoX2Nocm9taXVtKQot LWFzc2VydCgKLS0gICAgaXNfdmFsaWRfeDg2X3RhcmdldCB8fCB0YXJnZXRfY3B1ICE9ICJ4ODYi LAotLSAgICAiJ3RhcmdldF9jcHU9eDg2JyBpcyBub3Qgc3VwcG9ydGVkIGZvciAndGFyZ2V0X29z PSR0YXJnZXRfb3MnLiBDb25zaWRlciBvbWl0dGluZyAndGFyZ2V0X2NwdScgKGRlZmF1bHQpIG9y IHVzaW5nICd0YXJnZXRfY3B1PXg2NCcgaW5zdGVhZC4iKQotLQotIGdyb3VwKCJjaHJvbWl1bV9i dWlsZGVyX3BlcmYiKSB7Ci0gICB0ZXN0b25seSA9IHRydWUKLSAKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjktY2hyb21pdW0tc2FuZGJveC1zaGVkX2dldHBh cmFtLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyOS1jaHJvbWl1bS1z YW5kYm94LXNoZWRfZ2V0cGFyYW0ucGF0Y2gKaW5kZXggODBkOTFjNzdlOGJhLi4zMWY0MDNiYzEw ZmUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjktY2hyb21p dW0tc2FuZGJveC1zaGVkX2dldHBhcmFtLnBhdGNoCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxMjktY2hyb21pdW0tc2FuZGJveC1zaGVkX2dldHBhcmFtLnBhdGNoCkBAIC0x LDIwICsxLDE1IEBACiBBbGxvdyBTWVNfc2NoZWRfZ2V0cGFyYW0gYW5kIFNZU19zY2hlZF9nZXRz Y2hlZHVsZXIKIG11c2wgdXNlcyB0aGVtIGZvciBwdGhyZWFkX2dldHNjaGVkcGFyYW0oKQogCi1z b3VyY2U6IGh0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvY29tbWl0L2NvbW11bml0 eS9jaHJvbWl1bT9pZD01NGFmOWY4YWMyNGY1MmQzODJjNTc1OGUyNDQ1YmYwMjA2ZWZmNDBlCi0K LS0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRi b3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKLSsrKyBxdDYtd2Vi ZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L3BvbGljeS9saW51eC9i cGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCi1AQCAtOTcsMTAgKzk3LDEwIEBAIFJlc3VsdEV4 cHIgUmVuZGVyZXJQcm9jZXNzUG9saWN5OjpFdmFsdWEKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRl cmVyX3BvbGljeV9saW51eC5jYworQEAgLTk0LDYgKzk0LDkgQEAKKyAgICAgY2FzZSBfX05SX3B3 cml0ZTY0OgorICAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0X3ByaW9yaXR5X21heDoKKyAgICAgY2Fz ZSBfX05SX3NjaGVkX2dldF9wcmlvcml0eV9taW46CisrICAgIGNhc2UgX19OUl9zY2hlZF9nZXRw YXJhbToKKysgICAgY2FzZSBfX05SX3NjaGVkX2dldHNjaGVkdWxlcjoKKysgICAgY2FzZSBfX05S X3NjaGVkX3NldHNjaGVkdWxlcjoKICAgICAgY2FzZSBfX05SX3N5c2luZm86CiAgICAgIGNhc2Ug X19OUl90aW1lczoKICAgICAgY2FzZSBfX05SX3VuYW1lOgotLSAgICAgIHJldHVybiBBbGxvdygp OwotLSAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0YWZmaW5pdHk6Ci0gICAgIGNhc2UgX19OUl9zY2hl ZF9nZXRwYXJhbToKLSAgICAgY2FzZSBfX05SX3NjaGVkX2dldHNjaGVkdWxlcjoKLSsgICAgICBy ZXR1cm4gQWxsb3coKTsKLSsgICAgY2FzZSBfX05SX3NjaGVkX2dldGFmZmluaXR5OgotICAgICBj YXNlIF9fTlJfc2NoZWRfc2V0c2NoZWR1bGVyOgotICAgICAgIHJldHVybiBSZXN0cmljdFNjaGVk VGFyZ2V0KEdldFBvbGljeVBpZCgpLCBzeXNubyk7Ci0gICAgIGNhc2UgX19OUl9wcmxpbWl0NjQ6 CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTU1LXN5c3R5cGVz LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1NS1zeXN0eXBlcy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmY0ZTcxZTkzOWNkMQot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTUtc3lz dHlwZXMucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2Jhc2UvdGhpcmRfcGFydHkvc3ltYm9saXplL3N5bWJvbGl6ZS5oCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vYmFzZS90aGlyZF9wYXJ0eS9zeW1ib2xpemUvc3ltYm9saXplLmgKK0BAIC01 OCw2ICs1OCw4IEBACisgI2luY2x1ZGUgImNvbmZpZy5oIgorICNpbmNsdWRlICJnbG9nL2xvZ2dp bmcuaCIKKyAKKysjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisrCisgI2lmZGVmIEhBVkVfU1lNQk9M SVpFCisgCisgI2lmIGRlZmluZWQoX19FTEZfXykgIC8vIGRlZmluZWQgYnkgZ2NjCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAwLWNocm9taXVtLXNuZGlvLnBh dGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1zbmRpby5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDc2OWI1MzE0OTdiLi4wMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1z bmRpby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg0OSArMCwwIEBACi0tLS0gcXQ2LXdlYmVu Z2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9CVUlMRC5nbgotKysr IHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL0JVSUxELmdu Ci1AQCAtNzgsNiArNzgsOSBAQCBjb25maWcoIm1lZGlhX2NvbmZpZyIpIHsKLSAgICAgICBkZWZp bmVzICs9IFsgIkRMT1BFTl9QVUxTRUFVRElPIiBdCi0gICAgIH0KLSAgIH0KLSsgIGlmICh1c2Vf c25kaW8pIHsKLSsgICAgZGVmaW5lcyArPSBbICJVU0VfU05ESU8iIF0KLSsgIH0KLSAgIGlmICh1 c2VfY3JhcykgewotICAgICBkZWZpbmVzICs9IFsgIlVTRV9DUkFTIiBdCi0gICB9Ci0tLS0gcXQ2 LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9C VUlMRC5nbgotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21l ZGlhL2F1ZGlvL0JVSUxELmduCi1AQCAtMjQ1LDYgKzI0NSwxNyBAQCBzb3VyY2Vfc2V0KCJhdWRp byIpIHsKLSAgICAgc291cmNlcyArPSBbICJsaW51eC9hdWRpb19tYW5hZ2VyX2xpbnV4LmNjIiBd Ci0gICB9Ci0gCi0rICBpZiAodXNlX3NuZGlvKSB7Ci0rICAgIGxpYnMgKz0gWyAic25kaW8iIF0K LSsgICAgc291cmNlcyArPSBbCi0rICAgICAgInNuZGlvL2F1ZGlvX21hbmFnZXJfc25kaW8uY2Mi LAotKyAgICAgICJzbmRpby9zbmRpb19pbnB1dC5jYyIsCi0rICAgICAgInNuZGlvL3NuZGlvX2lu cHV0LmgiLAotKyAgICAgICJzbmRpby9zbmRpb19vdXRwdXQuY2MiLAotKyAgICAgICJzbmRpby9z bmRpb19vdXRwdXQuaCIKLSsgICAgXQotKyAgfQotKwotICAgaWYgKHVzZV9hbHNhKSB7Ci0gICAg IGxpYnMgKz0gWyAiYXNvdW5kIiBdCi0gICAgIHNvdXJjZXMgKz0gWwotLS0tIHF0Ni13ZWJlbmdp bmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vbGludXgvYXVk aW9fbWFuYWdlcl9saW51eC5jYwotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL21lZGlhL2F1ZGlvL2xpbnV4L2F1ZGlvX21hbmFnZXJfbGludXguY2MKLUBAIC0y NSw2ICsyNSwxMSBAQAotICNpbmNsdWRlICJtZWRpYS9hdWRpby9wdWxzZS9hdWRpb19tYW5hZ2Vy X3B1bHNlLmgiCi0gI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3B1bHNlL3B1bHNlX3V0aWwuaCIKLSAj ZW5kaWYKLSsjaWYgZGVmaW5lZChVU0VfU05ESU8pCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3Nu ZGlvL2F1ZGlvX21hbmFnZXJfc25kaW8uaCIKLSsjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8v c25kaW9faW5wdXQuaCIKLSsjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0 LmgiCi0rI2VuZGlmCi0gCi0gbmFtZXNwYWNlIG1lZGlhIHsKLSAKLS0tLSAvZGV2L251bGwKLSsr KyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9z bmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmNjCi1AQCAtMCwwICsxLDE0OCBAQAotKy8vIENvcHly aWdodCAoYykgMjAxMiBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K LSsvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBs aWNlbnNlIHRoYXQgY2FuIGJlCi0rLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLSsKLSsj aW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oIgotKwotKyNp bmNsdWRlICJiYXNlL21ldHJpY3MvaGlzdG9ncmFtX21hY3Jvcy5oIgotKyNpbmNsdWRlICJiYXNl L21lbW9yeS9wdHJfdXRpbC5oIgotKyNpbmNsdWRlICJtZWRpYS9hdWRpby9hdWRpb19kZXZpY2Vf ZGVzY3JpcHRpb24uaCIKLSsjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9fb3V0cHV0X2Rpc3Bh dGNoZXIuaCIKLSsjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9faW5wdXQuaCIKLSsj aW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0LmgiCi0rI2luY2x1ZGUgIm1l ZGlhL2Jhc2UvbGltaXRzLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2Jhc2UvbWVkaWFfc3dpdGNoZXMu aCIKLSsKLStuYW1lc3BhY2UgbWVkaWEgewotKwotKwotKy8vIE1heGltdW0gbnVtYmVyIG9mIG91 dHB1dCBzdHJlYW1zIHRoYXQgY2FuIGJlIG9wZW4gc2ltdWx0YW5lb3VzbHkuCi0rc3RhdGljIGNv bnN0IGludCBrTWF4T3V0cHV0U3RyZWFtcyA9IDQ7Ci0rCi0rLy8gRGVmYXVsdCBzYW1wbGUgcmF0 ZSBmb3IgaW5wdXQgYW5kIG91dHB1dCBzdHJlYW1zLgotK3N0YXRpYyBjb25zdCBpbnQga0RlZmF1 bHRTYW1wbGVSYXRlID0gNDgwMDA7Ci0rCi0rdm9pZCBBZGREZWZhdWx0RGV2aWNlKEF1ZGlvRGV2 aWNlTmFtZXMqIGRldmljZV9uYW1lcykgewotKyAgRENIRUNLKGRldmljZV9uYW1lcy0+ZW1wdHko KSk7Ci0rICBkZXZpY2VfbmFtZXMtPnB1c2hfZnJvbnQoQXVkaW9EZXZpY2VOYW1lOjpDcmVhdGVE ZWZhdWx0KCkpOwotK30KLSsKLStib29sIEF1ZGlvTWFuYWdlclNuZGlvOjpIYXNBdWRpb091dHB1 dERldmljZXMoKSB7Ci0rICByZXR1cm4gdHJ1ZTsKLSt9Ci0rCi0rYm9vbCBBdWRpb01hbmFnZXJT bmRpbzo6SGFzQXVkaW9JbnB1dERldmljZXMoKSB7Ci0rICByZXR1cm4gdHJ1ZTsKLSt9Ci0rCi0r dm9pZCBBdWRpb01hbmFnZXJTbmRpbzo6R2V0QXVkaW9JbnB1dERldmljZU5hbWVzKAotKyAgICBB dWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKLSsgIERDSEVDSyhkZXZpY2VfbmFtZXMt PmVtcHR5KCkpOwotKyAgQWRkRGVmYXVsdERldmljZShkZXZpY2VfbmFtZXMpOwotK30KLSsKLSt2 b2lkIEF1ZGlvTWFuYWdlclNuZGlvOjpHZXRBdWRpb091dHB1dERldmljZU5hbWVzKAotKyAgICBB dWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKLSsgIEFkZERlZmF1bHREZXZpY2UoZGV2 aWNlX25hbWVzKTsKLSt9Ci0rCi0rY29uc3QgY2hhciogQXVkaW9NYW5hZ2VyU25kaW86OkdldE5h bWUoKSB7Ci0rICByZXR1cm4gIlNORElPIjsKLSt9Ci0rCi0rQXVkaW9QYXJhbWV0ZXJzIEF1ZGlv TWFuYWdlclNuZGlvOjpHZXRJbnB1dFN0cmVhbVBhcmFtZXRlcnMoCi0rICAgIGNvbnN0IHN0ZDo6 c3RyaW5nJiBkZXZpY2VfaWQpIHsKLSsgIHN0YXRpYyBjb25zdCBpbnQga0RlZmF1bHRJbnB1dEJ1 ZmZlclNpemUgPSAxMDI0OwotKwotKyAgaW50IHVzZXJfYnVmZmVyX3NpemUgPSBHZXRVc2VyQnVm ZmVyU2l6ZSgpOwotKyAgaW50IGJ1ZmZlcl9zaXplID0gdXNlcl9idWZmZXJfc2l6ZSA/Ci0rICAg ICAgdXNlcl9idWZmZXJfc2l6ZSA6IGtEZWZhdWx0SW5wdXRCdWZmZXJTaXplOwotKwotKyAgcmV0 dXJuIEF1ZGlvUGFyYW1ldGVycygKLSsgICAgICBBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9M T1dfTEFURU5DWSwgQ0hBTk5FTF9MQVlPVVRfU1RFUkVPLAotKyAgICAgIGtEZWZhdWx0U2FtcGxl UmF0ZSwgYnVmZmVyX3NpemUpOwotK30KLSsKLStBdWRpb01hbmFnZXJTbmRpbzo6QXVkaW9NYW5h Z2VyU25kaW8oc3RkOjp1bmlxdWVfcHRyPEF1ZGlvVGhyZWFkPiBhdWRpb190aHJlYWQsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpb0xvZ0ZhY3RvcnkqIGF1 ZGlvX2xvZ19mYWN0b3J5KQotKyAgICA6IEF1ZGlvTWFuYWdlckJhc2Uoc3RkOjptb3ZlKGF1ZGlv X3RocmVhZCksCi0rICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19sb2dfZmFjdG9yeSkgewot KyAgRExPRyhXQVJOSU5HKSA8PCAiQXVkaW9NYW5hZ2VyU25kaW8iOwotKyAgU2V0TWF4T3V0cHV0 U3RyZWFtc0FsbG93ZWQoa01heE91dHB1dFN0cmVhbXMpOwotK30KLSsKLStBdWRpb01hbmFnZXJT bmRpbzo6fkF1ZGlvTWFuYWdlclNuZGlvKCkgewotKyAgU2h1dGRvd24oKTsKLSt9Ci0rCi0rQXVk aW9PdXRwdXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlTGluZWFyT3V0cHV0U3RyZWFt KAotKyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKLSsgICAgY29uc3QgTG9nQ2Fs bGJhY2smIGxvZ19jYWxsYmFjaykgewotKyAgRENIRUNLX0VRKEF1ZGlvUGFyYW1ldGVyczo6QVVE SU9fUENNX0xJTkVBUiwgcGFyYW1zLmZvcm1hdCgpKTsKLSsgIHJldHVybiBNYWtlT3V0cHV0U3Ry ZWFtKHBhcmFtcyk7Ci0rfQotKwotK0F1ZGlvT3V0cHV0U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRp bzo6TWFrZUxvd0xhdGVuY3lPdXRwdXRTdHJlYW0oCi0rICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVy cyYgcGFyYW1zLAotKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAotKyAgICBjb25z dCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSB7Ci0rICBETE9HX0lGKEVSUk9SLCAhZGV2aWNl X2lkLmVtcHR5KCkpIDw8ICJOb3QgaW1wbGVtZW50ZWQhIjsKLSsgIERDSEVDS19FUShBdWRpb1Bh cmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgcGFyYW1zLmZvcm1hdCgpKTsKLSsgIHJl dHVybiBNYWtlT3V0cHV0U3RyZWFtKHBhcmFtcyk7Ci0rfQotKwotK0F1ZGlvSW5wdXRTdHJlYW0q IEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlTGluZWFySW5wdXRTdHJlYW0oCi0rICAgIGNvbnN0IEF1 ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAotKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lk LAotKyAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSB7Ci0rICBEQ0hFQ0tfRVEo QXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTElORUFSLCBwYXJhbXMuZm9ybWF0KCkpOwotKyAg cmV0dXJuIE1ha2VJbnB1dFN0cmVhbShwYXJhbXMpOwotK30KLSsKLStBdWRpb0lucHV0U3RyZWFt KiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxvd0xhdGVuY3lJbnB1dFN0cmVhbSgKLSsgICAgY29u c3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCi0rICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZp Y2VfaWQsCi0rICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIHsKLSsgIERDSEVD S19FUShBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgcGFyYW1zLmZvcm1h dCgpKTsKLSsgIHJldHVybiBNYWtlSW5wdXRTdHJlYW0ocGFyYW1zKTsKLSt9Ci0rCi0rQXVkaW9Q YXJhbWV0ZXJzIEF1ZGlvTWFuYWdlclNuZGlvOjpHZXRQcmVmZXJyZWRPdXRwdXRTdHJlYW1QYXJh bWV0ZXJzKAotKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCwKLSsgICAg Y29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBpbnB1dF9wYXJhbXMpIHsKLSsgIC8vIFRPRE8odG9tbWkp OiBTdXBwb3J0IHxvdXRwdXRfZGV2aWNlX2lkfC4KLSsgIERMT0dfSUYoRVJST1IsICFvdXRwdXRf ZGV2aWNlX2lkLmVtcHR5KCkpIDw8ICJOb3QgaW1wbGVtZW50ZWQhIjsKLSsgIHN0YXRpYyBjb25z dCBpbnQga0RlZmF1bHRPdXRwdXRCdWZmZXJTaXplID0gMjA0ODsKLSsKLSsgIENoYW5uZWxMYXlv dXQgY2hhbm5lbF9sYXlvdXQgPSBDSEFOTkVMX0xBWU9VVF9TVEVSRU87Ci0rICBpbnQgc2FtcGxl X3JhdGUgPSBrRGVmYXVsdFNhbXBsZVJhdGU7Ci0rICBpbnQgYnVmZmVyX3NpemUgPSBrRGVmYXVs dE91dHB1dEJ1ZmZlclNpemU7Ci0rICBpZiAoaW5wdXRfcGFyYW1zLklzVmFsaWQoKSkgewotKyAg ICBzYW1wbGVfcmF0ZSA9IGlucHV0X3BhcmFtcy5zYW1wbGVfcmF0ZSgpOwotKyAgICBjaGFubmVs X2xheW91dCA9IGlucHV0X3BhcmFtcy5jaGFubmVsX2xheW91dCgpOwotKyAgICBidWZmZXJfc2l6 ZSA9IHN0ZDo6bWluKGJ1ZmZlcl9zaXplLCBpbnB1dF9wYXJhbXMuZnJhbWVzX3Blcl9idWZmZXIo KSk7Ci0rICB9Ci0rCi0rICBpbnQgdXNlcl9idWZmZXJfc2l6ZSA9IEdldFVzZXJCdWZmZXJTaXpl KCk7Ci0rICBpZiAodXNlcl9idWZmZXJfc2l6ZSkKLSsgICAgYnVmZmVyX3NpemUgPSB1c2VyX2J1 ZmZlcl9zaXplOwotKwotKyAgcmV0dXJuIEF1ZGlvUGFyYW1ldGVycygKLSsgICAgICBBdWRpb1Bh cmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgY2hhbm5lbF9sYXlvdXQsCi0rICAgICAg c2FtcGxlX3JhdGUsIGJ1ZmZlcl9zaXplKTsKLSt9Ci0rCi0rQXVkaW9JbnB1dFN0cmVhbSogQXVk aW9NYW5hZ2VyU25kaW86Ok1ha2VJbnB1dFN0cmVhbSgKLSsgICAgY29uc3QgQXVkaW9QYXJhbWV0 ZXJzJiBwYXJhbXMpIHsKLSsgIERMT0coV0FSTklORykgPDwgIk1ha2VJbnB1dFN0cmVhbSI7Ci0r ICByZXR1cm4gbmV3IFNuZGlvQXVkaW9JbnB1dFN0cmVhbSh0aGlzLAotKyAgICAgICAgICAgICBB dWRpb0RldmljZURlc2NyaXB0aW9uOjprRGVmYXVsdERldmljZUlkLCBwYXJhbXMpOwotK30KLSsK LStBdWRpb091dHB1dFN0cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VPdXRwdXRTdHJlYW0o Ci0rICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zKSB7Ci0rICBETE9HKFdBUk5JTkcp IDw8ICJNYWtlT3V0cHV0U3RyZWFtIjsKLSsgIHJldHVybiBuZXcgU25kaW9BdWRpb091dHB1dFN0 cmVhbShwYXJhbXMsIHRoaXMpOwotK30KLSsKLSt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKLS0tLSAv ZGV2L251bGwKLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9t ZWRpYS9hdWRpby9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmgKLUBAIC0wLDAgKzEsNjUgQEAK LSsvLyBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMg cmVzZXJ2ZWQuCi0rLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp bGUuCi0rCi0rI2lmbmRlZiBNRURJQV9BVURJT19TTkRJT19BVURJT19NQU5BR0VSX1NORElPX0hf Ci0rI2RlZmluZSBNRURJQV9BVURJT19TTkRJT19BVURJT19NQU5BR0VSX1NORElPX0hfCi0rCi0r I2luY2x1ZGUgPHNldD4KLSsKLSsjaW5jbHVkZSAiYmFzZS9jb21waWxlcl9zcGVjaWZpYy5oIgot KyNpbmNsdWRlICJiYXNlL21hY3Jvcy5oIgotKyNpbmNsdWRlICJiYXNlL21lbW9yeS9yZWZfY291 bnRlZC5oIgotKyNpbmNsdWRlICJiYXNlL3RocmVhZGluZy90aHJlYWQuaCIKLSsjaW5jbHVkZSAi bWVkaWEvYXVkaW8vYXVkaW9fbWFuYWdlcl9iYXNlLmgiCi0rCi0rbmFtZXNwYWNlIG1lZGlhIHsK LSsKLStjbGFzcyBNRURJQV9FWFBPUlQgQXVkaW9NYW5hZ2VyU25kaW8gOiBwdWJsaWMgQXVkaW9N YW5hZ2VyQmFzZSB7Ci0rIHB1YmxpYzoKLSsgIEF1ZGlvTWFuYWdlclNuZGlvKHN0ZDo6dW5pcXVl X3B0cjxBdWRpb1RocmVhZD4gYXVkaW9fdGhyZWFkLAotKyAgICAgICAgICAgICAgICAgICBBdWRp b0xvZ0ZhY3RvcnkqIGF1ZGlvX2xvZ19mYWN0b3J5KTsKLSsgIH5BdWRpb01hbmFnZXJTbmRpbygp IG92ZXJyaWRlOwotKwotKyAgLy8gSW1wbGVtZW50YXRpb24gb2YgQXVkaW9NYW5hZ2VyLgotKyAg Ym9vbCBIYXNBdWRpb091dHB1dERldmljZXMoKSBvdmVycmlkZTsKLSsgIGJvb2wgSGFzQXVkaW9J bnB1dERldmljZXMoKSBvdmVycmlkZTsKLSsgIHZvaWQgR2V0QXVkaW9JbnB1dERldmljZU5hbWVz KEF1ZGlvRGV2aWNlTmFtZXMqIGRldmljZV9uYW1lcykgb3ZlcnJpZGU7Ci0rICB2b2lkIEdldEF1 ZGlvT3V0cHV0RGV2aWNlTmFtZXMoQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSBvdmVy cmlkZTsKLSsgIEF1ZGlvUGFyYW1ldGVycyBHZXRJbnB1dFN0cmVhbVBhcmFtZXRlcnMoCi0rICAg ICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCkgb3ZlcnJpZGU7Ci0rICBjb25zdCBjaGFy KiBHZXROYW1lKCkgb3ZlcnJpZGU7Ci0rCi0rICAvLyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRpb01h bmFnZXJCYXNlLgotKyAgQXVkaW9PdXRwdXRTdHJlYW0qIE1ha2VMaW5lYXJPdXRwdXRTdHJlYW0o Ci0rICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCi0rICAgICAgY29uc3QgTG9n Q2FsbGJhY2smIGxvZ19jYWxsYmFjaykgb3ZlcnJpZGU7Ci0rICBBdWRpb091dHB1dFN0cmVhbSog TWFrZUxvd0xhdGVuY3lPdXRwdXRTdHJlYW0oCi0rICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJz JiBwYXJhbXMsCi0rICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCwKLSsgICAgICBj b25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVycmlkZTsKLSsgIEF1ZGlvSW5wdXRT dHJlYW0qIE1ha2VMaW5lYXJJbnB1dFN0cmVhbSgKLSsgICAgICBjb25zdCBBdWRpb1BhcmFtZXRl cnMmIHBhcmFtcywKLSsgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAotKyAgICAg IGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOwotKyAgQXVkaW9JbnB1 dFN0cmVhbSogTWFrZUxvd0xhdGVuY3lJbnB1dFN0cmVhbSgKLSsgICAgICBjb25zdCBBdWRpb1Bh cmFtZXRlcnMmIHBhcmFtcywKLSsgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAot KyAgICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOwotKwotKyBw cm90ZWN0ZWQ6Ci0rICBBdWRpb1BhcmFtZXRlcnMgR2V0UHJlZmVycmVkT3V0cHV0U3RyZWFtUGFy YW1ldGVycygKLSsgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCwKLSsg ICAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIGlucHV0X3BhcmFtcykgb3ZlcnJpZGU7Ci0rCi0r IHByaXZhdGU6Ci0rICAvLyBDYWxsZWQgYnkgTWFrZUxpbmVhck91dHB1dFN0cmVhbSBhbmQgTWFr ZUxvd0xhdGVuY3lPdXRwdXRTdHJlYW0uCi0rICBBdWRpb091dHB1dFN0cmVhbSogTWFrZU91dHB1 dFN0cmVhbShjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcyk7Ci0rICBBdWRpb0lucHV0U3Ry ZWFtKiBNYWtlSW5wdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpOwotKwot KyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKEF1ZGlvTWFuYWdlclNuZGlvKTsKLSt9OwotKwot K30gIC8vIG5hbWVzcGFjZSBtZWRpYQotKwotKyNlbmRpZiAgLy8gTUVESUFfQVVESU9fU05ESU9f QVVESU9fTUFOQUdFUl9TTkRJT19IXwotLS0tIC9kZXYvbnVsbAotKysrIHF0Ni13ZWJlbmdpbmUt Ni40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX2lucHV0 LmNjCi1AQCAtMCwwICsxLDIwMCBAQAotKy8vIENvcHlyaWdodCAyMDEzIFRoZSBDaHJvbWl1bSBB dXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2Rl IGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSsvLyBmb3Vu ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotKwotKyNpbmNsdWRlICJiYXNlL2JpbmQuaCIKLSsjaW5j bHVkZSAiYmFzZS9sb2dnaW5nLmgiCi0rI2luY2x1ZGUgImJhc2UvbWFjcm9zLmgiCi0rI2luY2x1 ZGUgIm1lZGlhL2Jhc2UvYXVkaW9fdGltZXN0YW1wX2hlbHBlci5oIgotKyNpbmNsdWRlICJtZWRp YS9hdWRpby9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1 ZGlvL2F1ZGlvX21hbmFnZXIuaCIKLSsjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9f aW5wdXQuaCIKLSsKLStuYW1lc3BhY2UgbWVkaWEgewotKwotK3N0YXRpYyBjb25zdCBTYW1wbGVG b3JtYXQga1NhbXBsZUZvcm1hdCA9IGtTYW1wbGVGb3JtYXRTMTY7Ci0rCi0rdm9pZCBTbmRpb0F1 ZGlvSW5wdXRTdHJlYW06Ok9uTW92ZUNhbGxiYWNrKHZvaWQgKmFyZywgaW50IGRlbHRhKQotK3sK LSsgIFNuZGlvQXVkaW9JbnB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlvQXVkaW9J bnB1dFN0cmVhbSo+KGFyZyk7Ci0rCi0rICBzZWxmLT5od19kZWxheSArPSBkZWx0YTsKLSt9Ci0r Ci0rdm9pZCAqU25kaW9BdWRpb0lucHV0U3RyZWFtOjpUaHJlYWRFbnRyeSh2b2lkICphcmcpIHsK LSsgIFNuZGlvQXVkaW9JbnB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlvQXVkaW9J bnB1dFN0cmVhbSo+KGFyZyk7Ci0rCi0rICBzZWxmLT5UaHJlYWRMb29wKCk7Ci0rICByZXR1cm4g TlVMTDsKLSt9Ci0rCi0rU25kaW9BdWRpb0lucHV0U3RyZWFtOjpTbmRpb0F1ZGlvSW5wdXRTdHJl YW0oQXVkaW9NYW5hZ2VyQmFzZSogbWFuYWdlciwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX25hbWUsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQXVkaW9QYXJh bWV0ZXJzJiBwYXJhbXMpCi0rICAgIDogbWFuYWdlcihtYW5hZ2VyKSwKLSsgICAgICBwYXJhbXMo cGFyYW1zKSwKLSsgICAgICBhdWRpb19idXMoQXVkaW9CdXM6OkNyZWF0ZShwYXJhbXMpKSwKLSsg ICAgICBzdGF0ZShrQ2xvc2VkKSB7Ci0rfQotKwotK1NuZGlvQXVkaW9JbnB1dFN0cmVhbTo6flNu ZGlvQXVkaW9JbnB1dFN0cmVhbSgpIHsKLSsgIGlmIChzdGF0ZSAhPSBrQ2xvc2VkKQotKyAgICBD bG9zZSgpOwotK30KLSsKLStib29sIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6T3BlbigpIHsKLSsg IHN0cnVjdCBzaW9fcGFyIHBhcjsKLSsgIGludCBzaWc7Ci0rCi0rICBpZiAoc3RhdGUgIT0ga0Ns b3NlZCkKLSsgICAgcmV0dXJuIGZhbHNlOwotKwotKyAgaWYgKHBhcmFtcy5mb3JtYXQoKSAhPSBB dWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MSU5FQVIgJiYKLSsgICAgICBwYXJhbXMuZm9ybWF0 KCkgIT0gQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1kpIHsKLSsgICAgTE9H KFdBUk5JTkcpIDw8ICJVbnN1cHBvcnRlZCBhdWRpbyBmb3JtYXQuIjsKLSsgICAgcmV0dXJuIGZh bHNlOwotKyAgfQotKwotKyAgc2lvX2luaXRwYXIoJnBhcik7Ci0rICBwYXIucmF0ZSA9IHBhcmFt cy5zYW1wbGVfcmF0ZSgpOwotKyAgcGFyLnJjaGFuID0gcGFyYW1zLmNoYW5uZWxzKCk7Ci0rICBw YXIuYml0cyA9IFNhbXBsZUZvcm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCk7Ci0r ICBwYXIuYnBzID0gcGFyLmJpdHMgLyA4OwotKyAgcGFyLnNpZyA9IHNpZyA9IHBhci5iaXRzICE9 IDggPyAxIDogMDsKLSsgIHBhci5sZSA9IFNJT19MRV9OQVRJVkU7Ci0rICBwYXIuYXBwYnVmc3og PSBwYXJhbXMuZnJhbWVzX3Blcl9idWZmZXIoKTsKLSsKLSsgIGhkbCA9IHNpb19vcGVuKFNJT19E RVZBTlksIFNJT19SRUMsIDApOwotKwotKyAgaWYgKGhkbCA9PSBOVUxMKSB7Ci0rICAgIExPRyhF UlJPUikgPDwgIkNvdWxkbid0IG9wZW4gYXVkaW8gZGV2aWNlLiI7Ci0rICAgIHJldHVybiBmYWxz ZTsKLSsgIH0KLSsKLSsgIGlmICghc2lvX3NldHBhcihoZGwsICZwYXIpIHx8ICFzaW9fZ2V0cGFy KGhkbCwgJnBhcikpIHsKLSsgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3Qgc2V0IGF1ZGlvIHBh cmFtZXRlcnMuIjsKLSsgICAgZ290byBiYWRfY2xvc2U7Ci0rICB9Ci0rCi0rICBpZiAocGFyLnJh dGUgICE9ICh1bnNpZ25lZCBpbnQpcGFyYW1zLnNhbXBsZV9yYXRlKCkgfHwKLSsgICAgICBwYXIu cmNoYW4gIT0gKHVuc2lnbmVkIGludClwYXJhbXMuY2hhbm5lbHMoKSB8fAotKyAgICAgIHBhci5i aXRzICAhPSAodW5zaWduZWQgaW50KVNhbXBsZUZvcm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBs ZUZvcm1hdCkgfHwKLSsgICAgICBwYXIuc2lnICAgIT0gKHVuc2lnbmVkIGludClzaWcgfHwKLSsg ICAgICAocGFyLmJwcyA+IDEgJiYgcGFyLmxlICE9IFNJT19MRV9OQVRJVkUpIHx8Ci0rICAgICAg KHBhci5iaXRzICE9IHBhci5icHMgKiA4KSkgewotKyAgICBMT0coRVJST1IpIDw8ICJVbnN1cHBv cnRlZCBhdWRpbyBwYXJhbWV0ZXJzLiI7Ci0rICAgIGdvdG8gYmFkX2Nsb3NlOwotKyAgfQotKyAg c3RhdGUgPSBrU3RvcHBlZDsKLSsgIGJ1ZmZlciA9IG5ldyBjaGFyW2F1ZGlvX2J1cy0+ZnJhbWVz KCkgKiBwYXJhbXMuR2V0Qnl0ZXNQZXJGcmFtZShrU2FtcGxlRm9ybWF0KV07Ci0rICBzaW9fb25t b3ZlKGhkbCwgJk9uTW92ZUNhbGxiYWNrLCB0aGlzKTsKLSsgIHJldHVybiB0cnVlOwotK2JhZF9j bG9zZToKLSsgIHNpb19jbG9zZShoZGwpOwotKyAgcmV0dXJuIGZhbHNlOwotK30KLSsKLSt2b2lk IFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U3RhcnQoQXVkaW9JbnB1dENhbGxiYWNrKiBjYikgewot KwotKyAgU3RhcnRBZ2MoKTsKLSsKLSsgIHN0YXRlID0ga1J1bm5pbmc7Ci0rICBod19kZWxheSA9 IDA7Ci0rICBjYWxsYmFjayA9IGNiOwotKyAgc2lvX3N0YXJ0KGhkbCk7Ci0rICBpZiAocHRocmVh ZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwgJlRocmVhZEVudHJ5LCB0aGlzKSAhPSAwKSB7Ci0rICAg IExPRyhFUlJPUikgPDwgIkZhaWxlZCB0byBjcmVhdGUgcmVhbC10aW1lIHRocmVhZCBmb3IgcmVj b3JkaW5nLiI7Ci0rICAgIHNpb19zdG9wKGhkbCk7Ci0rICAgIHN0YXRlID0ga1N0b3BwZWQ7Ci0r ICB9Ci0rfQotKwotK3ZvaWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpTdG9wKCkgewotKwotKyAg aWYgKHN0YXRlID09IGtTdG9wcGVkKQotKyAgICByZXR1cm47Ci0rCi0rICBzdGF0ZSA9IGtTdG9w V2FpdDsKLSsgIHB0aHJlYWRfam9pbih0aHJlYWQsIE5VTEwpOwotKyAgc2lvX3N0b3AoaGRsKTsK LSsgIHN0YXRlID0ga1N0b3BwZWQ7Ci0rCi0rICBTdG9wQWdjKCk7Ci0rfQotKwotK3ZvaWQgU25k aW9BdWRpb0lucHV0U3RyZWFtOjpDbG9zZSgpIHsKLSsKLSsgIGlmIChzdGF0ZSA9PSBrQ2xvc2Vk KQotKyAgICByZXR1cm47Ci0rCi0rICBpZiAoc3RhdGUgPT0ga1J1bm5pbmcpCi0rICAgIFN0b3Ao KTsKLSsKLSsgIHN0YXRlID0ga0Nsb3NlZDsKLSsgIGRlbGV0ZSBbXSBidWZmZXI7Ci0rICBzaW9f Y2xvc2UoaGRsKTsKLSsKLSsgIG1hbmFnZXItPlJlbGVhc2VJbnB1dFN0cmVhbSh0aGlzKTsKLSt9 Ci0rCi0rZG91YmxlIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6R2V0TWF4Vm9sdW1lKCkgewotKyAg Ly8gTm90IHN1cHBvcnRlZAotKyAgcmV0dXJuIDAuMDsKLSt9Ci0rCi0rdm9pZCBTbmRpb0F1ZGlv SW5wdXRTdHJlYW06OlNldFZvbHVtZShkb3VibGUgdm9sdW1lKSB7Ci0rICAvLyBOb3Qgc3VwcG9y dGVkLiBEbyBub3RoaW5nLgotK30KLSsKLStkb3VibGUgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpH ZXRWb2x1bWUoKSB7Ci0rICAvLyBOb3Qgc3VwcG9ydGVkLgotKyAgcmV0dXJuIDAuMDsKLSt9Ci0r Ci0rYm9vbCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OklzTXV0ZWQoKSB7Ci0rICAvLyBOb3Qgc3Vw cG9ydGVkLgotKyAgcmV0dXJuIGZhbHNlOwotK30KLSsKLSt2b2lkIFNuZGlvQXVkaW9JbnB1dFN0 cmVhbTo6U2V0T3V0cHV0RGV2aWNlRm9yQWVjKAotKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgb3V0 cHV0X2RldmljZV9pZCkgewotKyAgLy8gTm90IHN1cHBvcnRlZC4KLSt9Ci0rCi0rdm9pZCBTbmRp b0F1ZGlvSW5wdXRTdHJlYW06OlRocmVhZExvb3Aodm9pZCkgewotKyAgc2l6ZV90IHRvZG8sIG47 Ci0rICBjaGFyICpkYXRhOwotKyAgdW5zaWduZWQgaW50IG5mcmFtZXM7Ci0rICBkb3VibGUgbm9y bWFsaXplZF92b2x1bWUgPSAwLjA7Ci0rCi0rICBuZnJhbWVzID0gYXVkaW9fYnVzLT5mcmFtZXMo KTsKLSsKLSsgIHdoaWxlIChzdGF0ZSA9PSBrUnVubmluZyAmJiAhc2lvX2VvZihoZGwpKSB7Ci0r Ci0rICAgIEdldEFnY1ZvbHVtZSgmbm9ybWFsaXplZF92b2x1bWUpOwotKwotKyAgICAvLyByZWFk IG9uZSBibG9jawotKyAgICB0b2RvID0gbmZyYW1lcyAqIHBhcmFtcy5HZXRCeXRlc1BlckZyYW1l KGtTYW1wbGVGb3JtYXQpOwotKyAgICBkYXRhID0gYnVmZmVyOwotKyAgICB3aGlsZSAodG9kbyA+ IDApIHsKLSsgICAgICBuID0gc2lvX3JlYWQoaGRsLCBkYXRhLCB0b2RvKTsKLSsgICAgICBpZiAo biA9PSAwKQotKyAgICAgICAgcmV0dXJuOwkvLyB1bnJlY292ZXJhYmxlIEkvTyBlcnJvcgotKyAg ICAgIHRvZG8gLT0gbjsKLSsgICAgICBkYXRhICs9IG47Ci0rICAgIH0KLSsgICAgaHdfZGVsYXkg LT0gbmZyYW1lczsKLSsKLSsgICAgLy8gY29udmVydCBmcmFtZXMgY291bnQgdG8gVGltZURlbHRh Ci0rICAgIGNvbnN0IGJhc2U6OlRpbWVEZWx0YSBkZWxheSA9IEF1ZGlvVGltZXN0YW1wSGVscGVy OjpGcmFtZXNUb1RpbWUoaHdfZGVsYXksCi0rICAgICAgcGFyYW1zLnNhbXBsZV9yYXRlKCkpOwot KwotKyAgICAvLyBwdXNoIGludG8gYnVzCi0rICAgIGF1ZGlvX2J1cy0+RnJvbUludGVybGVhdmVk PFNpZ25lZEludDE2U2FtcGxlVHlwZVRyYWl0cz4ocmVpbnRlcnByZXRfY2FzdDxpbnQxNl90Kj4o YnVmZmVyKSwgbmZyYW1lcyk7Ci0rCi0rICAgIC8vIGludm9rZSBjYWxsYmFjawotKyAgICBjYWxs YmFjay0+T25EYXRhKGF1ZGlvX2J1cy5nZXQoKSwgYmFzZTo6VGltZVRpY2tzOjpOb3coKSAtIGRl bGF5LCAxLik7Ci0rICB9Ci0rfQotKwotK30gIC8vIG5hbWVzcGFjZSBtZWRpYQotLS0tIC9kZXYv bnVsbAotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlh L2F1ZGlvL3NuZGlvL3NuZGlvX2lucHV0LmgKLUBAIC0wLDAgKzEsOTEgQEAKLSsvLyBDb3B5cmln aHQgMjAxMyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsvLyBV c2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNl IHRoYXQgY2FuIGJlCi0rLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLSsKLSsjaWZuZGVm IE1FRElBX0FVRElPX1NORElPX1NORElPX0lOUFVUX0hfCi0rI2RlZmluZSBNRURJQV9BVURJT19T TkRJT19TTkRJT19JTlBVVF9IXwotKwotKyNpbmNsdWRlIDxzdGRpbnQuaD4KLSsjaW5jbHVkZSA8 c3RyaW5nPgotKyNpbmNsdWRlIDxzbmRpby5oPgotKwotKyNpbmNsdWRlICJiYXNlL2NvbXBpbGVy X3NwZWNpZmljLmgiCi0rI2luY2x1ZGUgImJhc2UvbWFjcm9zLmgiCi0rI2luY2x1ZGUgImJhc2Uv bWVtb3J5L3dlYWtfcHRyLmgiCi0rI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCi0rI2luY2x1 ZGUgIm1lZGlhL2F1ZGlvL2FnY19hdWRpb19zdHJlYW0uaCIKLSsjaW5jbHVkZSAibWVkaWEvYXVk aW8vYXVkaW9faW8uaCIKLSsjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9fZGV2aWNlX2Rlc2Ny aXB0aW9uLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2Jhc2UvYXVkaW9fcGFyYW1ldGVycy5oIgotKwot K25hbWVzcGFjZSBtZWRpYSB7Ci0rCi0rY2xhc3MgQXVkaW9NYW5hZ2VyQmFzZTsKLSsKLSsvLyBJ bXBsZW1lbnRhdGlvbiBvZiBBdWRpb091dHB1dFN0cmVhbSB1c2luZyBzbmRpbyg3KQotK2NsYXNz IFNuZGlvQXVkaW9JbnB1dFN0cmVhbSA6IHB1YmxpYyBBZ2NBdWRpb1N0cmVhbTxBdWRpb0lucHV0 U3RyZWFtPiB7Ci0rIHB1YmxpYzoKLSsgIC8vIFBhc3MgdGhpcyB0byB0aGUgY29uc3RydWN0b3Ig aWYgeW91IHdhbnQgdG8gYXR0ZW1wdCBhdXRvLXNlbGVjdGlvbgotKyAgLy8gb2YgdGhlIGF1ZGlv IHJlY29yZGluZyBkZXZpY2UuCi0rICBzdGF0aWMgY29uc3QgY2hhciBrQXV0b1NlbGVjdERldmlj ZVtdOwotKwotKyAgLy8gQ3JlYXRlIGEgUENNIE91dHB1dCBzdHJlYW0gZm9yIHRoZSBTTkRJTyBk ZXZpY2UgaWRlbnRpZmllZCBieQotKyAgLy8gfGRldmljZV9uYW1lfC4gSWYgdW5zdXJlIG9mIHdo YXQgdG8gdXNlIGZvciB8ZGV2aWNlX25hbWV8LCB1c2UKLSsgIC8vIHxrQXV0b1NlbGVjdERldmlj ZXwuCi0rICBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0oQXVkaW9NYW5hZ2VyQmFzZSogYXVkaW9fbWFu YWdlciwKLSsgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX25h bWUsCi0rICAgICAgICAgICAgICAgICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMp OwotKwotKyAgflNuZGlvQXVkaW9JbnB1dFN0cmVhbSgpIG92ZXJyaWRlOwotKwotKyAgLy8gSW1w bGVtZW50YXRpb24gb2YgQXVkaW9JbnB1dFN0cmVhbS4KLSsgIGJvb2wgT3BlbigpIG92ZXJyaWRl OwotKyAgdm9pZCBTdGFydChBdWRpb0lucHV0Q2FsbGJhY2sqIGNhbGxiYWNrKSBvdmVycmlkZTsK LSsgIHZvaWQgU3RvcCgpIG92ZXJyaWRlOwotKyAgdm9pZCBDbG9zZSgpIG92ZXJyaWRlOwotKyAg ZG91YmxlIEdldE1heFZvbHVtZSgpIG92ZXJyaWRlOwotKyAgdm9pZCBTZXRWb2x1bWUoZG91Ymxl IHZvbHVtZSkgb3ZlcnJpZGU7Ci0rICBkb3VibGUgR2V0Vm9sdW1lKCkgb3ZlcnJpZGU7Ci0rICBi b29sIElzTXV0ZWQoKSBvdmVycmlkZTsKLSsgIHZvaWQgU2V0T3V0cHV0RGV2aWNlRm9yQWVjKGNv bnN0IHN0ZDo6c3RyaW5nJiBvdXRwdXRfZGV2aWNlX2lkKSBvdmVycmlkZTsKLSsKLSsgcHJpdmF0 ZToKLSsKLSsgIGVudW0gU3RyZWFtU3RhdGUgewotKyAgICBrQ2xvc2VkLCAgICAgICAgICAgIC8v IE5vdCBvcGVuZWQgeWV0Ci0rICAgIGtTdG9wcGVkLCAgICAgICAgICAgLy8gRGV2aWNlIG9wZW5l ZCwgYnV0IG5vdCBzdGFydGVkIHlldAotKyAgICBrUnVubmluZywgICAgICAgICAgIC8vIFN0YXJ0 ZWQsIGRldmljZSBwbGF5aW5nCi0rICAgIGtTdG9wV2FpdCAgICAgICAgICAgLy8gU3RvcHBpbmcs IHdhaXRpbmcgZm9yIHRoZSByZWFsLXRpbWUgdGhyZWFkIHRvIGV4aXQKLSsgIH07Ci0rCi0rICAv LyBDLXN0eWxlIGNhbGwtYmFja3MKLSsgIHN0YXRpYyB2b2lkIE9uTW92ZUNhbGxiYWNrKHZvaWQg KmFyZywgaW50IGRlbHRhKTsKLSsgIHN0YXRpYyB2b2lkKiBUaHJlYWRFbnRyeSh2b2lkICphcmcp OwotKwotKyAgLy8gQ29udGludW91c2x5IG1vdmVzIGRhdGEgZnJvbSB0aGUgZGV2aWNlIHRvIHRo ZSBjb25zdW1lcgotKyAgdm9pZCBUaHJlYWRMb29wKCk7Ci0rICAvLyBPdXIgY3JlYXRvciwgdGhl IGF1ZGlvIG1hbmFnZXIgbmVlZHMgdG8gYmUgbm90aWZpZWQgd2hlbiB3ZSBjbG9zZS4KLSsgIEF1 ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXI7Ci0rICAvLyBQYXJhbWV0ZXJzIG9mIHRoZSBzb3VyY2UK LSsgIEF1ZGlvUGFyYW1ldGVycyBwYXJhbXM7Ci0rICAvLyBXZSBzdG9yZSBkYXRhIGhlcmUgZm9y IGNvbnN1bWVyCi0rICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9CdXM+IGF1ZGlvX2J1czsKLSsgIC8v IENhbGwtYmFjayB0aGF0IGNvbnN1bWVzIHJlY29yZGVkIGRhdGEKLSsgIEF1ZGlvSW5wdXRDYWxs YmFjayogY2FsbGJhY2s7ICAvLyBWYWxpZCBkdXJpbmcgYSByZWNvcmRpbmcgc2Vzc2lvbi4KLSsg IC8vIEhhbmRsZSBvZiB0aGUgYXVkaW8gZGV2aWNlCi0rICBzdHJ1Y3Qgc2lvX2hkbCogaGRsOwot KyAgLy8gQ3VycmVudCBzdGF0ZSBvZiB0aGUgc3RyZWFtCi0rICBlbnVtIFN0cmVhbVN0YXRlIHN0 YXRlOwotKyAgLy8gSGlnaCBwcmlvcml0eSB0aHJlYWQgcnVubmluZyBUaHJlYWRMb29wKCkKLSsg IHB0aHJlYWRfdCB0aHJlYWQ7Ci0rICAvLyBOdW1iZXIgb2YgZnJhbWVzIGJ1ZmZlcmVkIGluIHRo ZSBoYXJkd2FyZQotKyAgaW50IGh3X2RlbGF5OwotKyAgLy8gVGVtcG9yYXJ5IGJ1ZmZlciB3aGVy ZSBkYXRhIGlzIHN0b3JlZCBzbmRpby1jb21wYXRpYmxlIGZvcm1hdAotKyAgY2hhciogYnVmZmVy OwotKwotKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFNuZGlvQXVkaW9JbnB1dFN0cmVhbSk7 Ci0rfTsKLSsKLSt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKLSsKLSsjZW5kaWYgIC8vIE1FRElBX0FV RElPX1NORElPX1NORElPX0lOUFVUX0hfCi0tLS0gL2Rldi9udWxsCi0rKysgcXQ2LXdlYmVuZ2lu ZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0 cHV0LmNjCi1AQCAtMCwwICsxLDE4MyBAQAotKy8vIENvcHlyaWdodCAoYykgMjAxMiBUaGUgQ2hy b21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsvLyBVc2Ugb2YgdGhpcyBzb3Vy Y2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0r Ly8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLSsKLSsjaW5jbHVkZSAiYmFzZS9sb2dnaW5n LmgiCi0rI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCi0rI2luY2x1ZGUgImJhc2UvdGltZS9k ZWZhdWx0X3RpY2tfY2xvY2suaCIKLSsjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9fbWFuYWdl cl9iYXNlLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2Jhc2UvYXVkaW9fdGltZXN0YW1wX2hlbHBlci5o IgotKyNpbmNsdWRlICJtZWRpYS9hdWRpby9zbmRpby9zbmRpb19vdXRwdXQuaCIKLSsKLStuYW1l c3BhY2UgbWVkaWEgewotKwotK3N0YXRpYyBjb25zdCBTYW1wbGVGb3JtYXQga1NhbXBsZUZvcm1h dCA9IGtTYW1wbGVGb3JtYXRTMTY7Ci0rCi0rdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpP bk1vdmVDYWxsYmFjayh2b2lkICphcmcsIGludCBkZWx0YSkgewotKyAgU25kaW9BdWRpb091dHB1 dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0qPihhcmcp OwotKwotKyAgc2VsZi0+aHdfZGVsYXkgLT0gZGVsdGE7Ci0rfQotKwotK3ZvaWQgU25kaW9BdWRp b091dHB1dFN0cmVhbTo6T25Wb2xDYWxsYmFjayh2b2lkICphcmcsIHVuc2lnbmVkIGludCB2b2wp IHsKLSsgIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRpb0F1 ZGlvT3V0cHV0U3RyZWFtKj4oYXJnKTsKLSsKLSsgIHNlbGYtPnZvbCA9IHZvbDsKLSt9Ci0rCi0r dm9pZCAqU25kaW9BdWRpb091dHB1dFN0cmVhbTo6VGhyZWFkRW50cnkodm9pZCAqYXJnKSB7Ci0r ICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKiBzZWxmID0gc3RhdGljX2Nhc3Q8U25kaW9BdWRpb091 dHB1dFN0cmVhbSo+KGFyZyk7Ci0rCi0rICBzZWxmLT5UaHJlYWRMb29wKCk7Ci0rICByZXR1cm4g TlVMTDsKLSt9Ci0rCi0rU25kaW9BdWRpb091dHB1dFN0cmVhbTo6U25kaW9BdWRpb091dHB1dFN0 cmVhbShjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXIpCi0r ICAgIDogbWFuYWdlcihtYW5hZ2VyKSwKLSsgICAgICBwYXJhbXMocGFyYW1zKSwKLSsgICAgICBh dWRpb19idXMoQXVkaW9CdXM6OkNyZWF0ZShwYXJhbXMpKSwKLSsgICAgICBzdGF0ZShrQ2xvc2Vk KSwKLSsgICAgICBtdXRleChQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSKSB7Ci0rfQotKwotK1Nu ZGlvQXVkaW9PdXRwdXRTdHJlYW06On5TbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKCkgewotKyAgaWYg KHN0YXRlICE9IGtDbG9zZWQpCi0rICAgIENsb3NlKCk7Ci0rfQotKwotK2Jvb2wgU25kaW9BdWRp b091dHB1dFN0cmVhbTo6T3BlbigpIHsKLSsgIHN0cnVjdCBzaW9fcGFyIHBhcjsKLSsgIGludCBz aWc7Ci0rCi0rICBpZiAocGFyYW1zLmZvcm1hdCgpICE9IEF1ZGlvUGFyYW1ldGVyczo6QVVESU9f UENNX0xJTkVBUiAmJgotKyAgICAgIHBhcmFtcy5mb3JtYXQoKSAhPSBBdWRpb1BhcmFtZXRlcnM6 OkFVRElPX1BDTV9MT1dfTEFURU5DWSkgewotKyAgICBMT0coV0FSTklORykgPDwgIlVuc3VwcG9y dGVkIGF1ZGlvIGZvcm1hdC4iOwotKyAgICByZXR1cm4gZmFsc2U7Ci0rICB9Ci0rICBzaW9faW5p dHBhcigmcGFyKTsKLSsgIHBhci5yYXRlID0gcGFyYW1zLnNhbXBsZV9yYXRlKCk7Ci0rICBwYXIu cGNoYW4gPSBwYXJhbXMuY2hhbm5lbHMoKTsKLSsgIHBhci5iaXRzID0gU2FtcGxlRm9ybWF0VG9C aXRzUGVyQ2hhbm5lbChrU2FtcGxlRm9ybWF0KTsKLSsgIHBhci5icHMgPSBwYXIuYml0cyAvIDg7 Ci0rICBwYXIuc2lnID0gc2lnID0gcGFyLmJpdHMgIT0gOCA/IDEgOiAwOwotKyAgcGFyLmxlID0g U0lPX0xFX05BVElWRTsKLSsgIHBhci5hcHBidWZzeiA9IHBhcmFtcy5mcmFtZXNfcGVyX2J1ZmZl cigpOwotKwotKyAgaGRsID0gc2lvX29wZW4oU0lPX0RFVkFOWSwgU0lPX1BMQVksIDApOwotKyAg aWYgKGhkbCA9PSBOVUxMKSB7Ci0rICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IG9wZW4gYXVk aW8gZGV2aWNlLiI7Ci0rICAgIHJldHVybiBmYWxzZTsKLSsgIH0KLSsgIGlmICghc2lvX3NldHBh cihoZGwsICZwYXIpIHx8ICFzaW9fZ2V0cGFyKGhkbCwgJnBhcikpIHsKLSsgICAgTE9HKEVSUk9S KSA8PCAiQ291bGRuJ3Qgc2V0IGF1ZGlvIHBhcmFtZXRlcnMuIjsKLSsgICAgZ290byBiYWRfY2xv c2U7Ci0rICB9Ci0rICBpZiAocGFyLnJhdGUgICE9ICh1bnNpZ25lZCBpbnQpcGFyYW1zLnNhbXBs ZV9yYXRlKCkgfHwKLSsgICAgICBwYXIucGNoYW4gIT0gKHVuc2lnbmVkIGludClwYXJhbXMuY2hh bm5lbHMoKSB8fAotKyAgICAgIHBhci5iaXRzICAhPSAodW5zaWduZWQgaW50KVNhbXBsZUZvcm1h dFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCkgfHwKLSsgICAgICBwYXIuc2lnICAgIT0g KHVuc2lnbmVkIGludClzaWcgfHwKLSsgICAgICAocGFyLmJwcyA+IDEgJiYgcGFyLmxlICE9IFNJ T19MRV9OQVRJVkUpIHx8Ci0rICAgICAgKHBhci5iaXRzICE9IHBhci5icHMgKiA4KSkgewotKyAg ICBMT0coRVJST1IpIDw8ICJVbnN1cHBvcnRlZCBhdWRpbyBwYXJhbWV0ZXJzLiI7Ci0rICAgIGdv dG8gYmFkX2Nsb3NlOwotKyAgfQotKyAgc3RhdGUgPSBrU3RvcHBlZDsKLSsgIHZvbHBlbmRpbmcg PSAwOwotKyAgdm9sID0gMDsKLSsgIGJ1ZmZlciA9IG5ldyBjaGFyW2F1ZGlvX2J1cy0+ZnJhbWVz KCkgKiBwYXJhbXMuR2V0Qnl0ZXNQZXJGcmFtZShrU2FtcGxlRm9ybWF0KV07Ci0rICBzaW9fb25t b3ZlKGhkbCwgJk9uTW92ZUNhbGxiYWNrLCB0aGlzKTsKLSsgIHNpb19vbnZvbChoZGwsICZPblZv bENhbGxiYWNrLCB0aGlzKTsKLSsgIHJldHVybiB0cnVlOwotKyBiYWRfY2xvc2U6Ci0rICBzaW9f Y2xvc2UoaGRsKTsKLSsgIHJldHVybiBmYWxzZTsKLSt9Ci0rCi0rdm9pZCBTbmRpb0F1ZGlvT3V0 cHV0U3RyZWFtOjpDbG9zZSgpIHsKLSsgIGlmIChzdGF0ZSA9PSBrQ2xvc2VkKQotKyAgICByZXR1 cm47Ci0rICBpZiAoc3RhdGUgPT0ga1J1bm5pbmcpCi0rICAgIFN0b3AoKTsKLSsgIHN0YXRlID0g a0Nsb3NlZDsKLSsgIGRlbGV0ZSBbXSBidWZmZXI7Ci0rICBzaW9fY2xvc2UoaGRsKTsKLSsgIG1h bmFnZXItPlJlbGVhc2VPdXRwdXRTdHJlYW0odGhpcyk7ICAvLyBDYWxscyB0aGUgZGVzdHJ1Y3Rv cgotK30KLSsKLSt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlN0YXJ0KEF1ZGlvU291cmNl Q2FsbGJhY2sqIGNhbGxiYWNrKSB7Ci0rICBzdGF0ZSA9IGtSdW5uaW5nOwotKyAgaHdfZGVsYXkg PSAwOwotKyAgc291cmNlID0gY2FsbGJhY2s7Ci0rICBzaW9fc3RhcnQoaGRsKTsKLSsgIGlmIChw dGhyZWFkX2NyZWF0ZSgmdGhyZWFkLCBOVUxMLCAmVGhyZWFkRW50cnksIHRoaXMpICE9IDApIHsK LSsgICAgTE9HKEVSUk9SKSA8PCAiRmFpbGVkIHRvIGNyZWF0ZSByZWFsLXRpbWUgdGhyZWFkLiI7 Ci0rICAgIHNpb19zdG9wKGhkbCk7Ci0rICAgIHN0YXRlID0ga1N0b3BwZWQ7Ci0rICB9Ci0rfQot KwotK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0cmVhbTo6U3RvcCgpIHsKLSsgIGlmIChzdGF0ZSA9 PSBrU3RvcHBlZCkKLSsgICAgcmV0dXJuOwotKyAgc3RhdGUgPSBrU3RvcFdhaXQ7Ci0rICBwdGhy ZWFkX2pvaW4odGhyZWFkLCBOVUxMKTsKLSsgIHNpb19zdG9wKGhkbCk7Ci0rICBzdGF0ZSA9IGtT dG9wcGVkOwotK30KLSsKLSt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlNldFZvbHVtZShk b3VibGUgdikgewotKyAgcHRocmVhZF9tdXRleF9sb2NrKCZtdXRleCk7Ci0rICB2b2wgPSB2ICog U0lPX01BWFZPTDsKLSsgIHZvbHBlbmRpbmcgPSAxOwotKyAgcHRocmVhZF9tdXRleF91bmxvY2so Jm11dGV4KTsKLSt9Ci0rCi0rdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpHZXRWb2x1bWUo ZG91YmxlKiB2KSB7Ci0rICBwdGhyZWFkX211dGV4X2xvY2soJm11dGV4KTsKLSsgICp2ID0gdm9s ICogKDEuIC8gU0lPX01BWFZPTCk7Ci0rICBwdGhyZWFkX211dGV4X3VubG9jaygmbXV0ZXgpOwot K30KLSsKLSsvLyBUaGlzIHN0cmVhbSBpcyBhbHdheXMgdXNlZCB3aXRoIHN1YiBzZWNvbmQgYnVm ZmVyIHNpemVzLCB3aGVyZSBpdCdzCi0rLy8gc3VmZmljaWVudCB0byBzaW1wbHkgYWx3YXlzIGZs dXNoIHVwb24gU3RhcnQoKS4KLSt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OkZsdXNoKCkg e30KLSsKLSt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlRocmVhZExvb3Aodm9pZCkgewot KyAgaW50IGF2YWlsLCBjb3VudCwgcmVzdWx0OwotKwotKyAgd2hpbGUgKHN0YXRlID09IGtSdW5u aW5nKSB7Ci0rICAgIC8vIFVwZGF0ZSB2b2x1bWUgaWYgbmVlZGVkCi0rICAgIHB0aHJlYWRfbXV0 ZXhfbG9jaygmbXV0ZXgpOwotKyAgICBpZiAodm9scGVuZGluZykgewotKyAgICAgIHZvbHBlbmRp bmcgPSAwOwotKyAgICAgIHNpb19zZXR2b2woaGRsLCB2b2wpOwotKyAgICB9Ci0rICAgIHB0aHJl YWRfbXV0ZXhfdW5sb2NrKCZtdXRleCk7Ci0rCi0rICAgIC8vIEdldCBkYXRhIHRvIHBsYXkKLSsg ICAgY29uc3QgYmFzZTo6VGltZURlbHRhIGRlbGF5ID0gQXVkaW9UaW1lc3RhbXBIZWxwZXI6OkZy YW1lc1RvVGltZShod19kZWxheSwKLSsJcGFyYW1zLnNhbXBsZV9yYXRlKCkpOwotKyAgICBjb3Vu dCA9IHNvdXJjZS0+T25Nb3JlRGF0YShkZWxheSwgYmFzZTo6VGltZVRpY2tzOjpOb3coKSwgMCwg YXVkaW9fYnVzLmdldCgpKTsKLSsgICAgYXVkaW9fYnVzLT5Ub0ludGVybGVhdmVkPFNpZ25lZElu dDE2U2FtcGxlVHlwZVRyYWl0cz4oY291bnQsIHJlaW50ZXJwcmV0X2Nhc3Q8aW50MTZfdCo+KGJ1 ZmZlcikpOwotKyAgICBpZiAoY291bnQgPT0gMCkgewotKyAgICAgIC8vIFdlIGhhdmUgdG8gc3Vi bWl0IHNvbWV0aGluZyB0byB0aGUgZGV2aWNlCi0rICAgICAgY291bnQgPSBhdWRpb19idXMtPmZy YW1lcygpOwotKyAgICAgIG1lbXNldChidWZmZXIsIDAsIGNvdW50ICogcGFyYW1zLkdldEJ5dGVz UGVyRnJhbWUoa1NhbXBsZUZvcm1hdCkpOwotKyAgICAgIExPRyhXQVJOSU5HKSA8PCAiTm8gZGF0 YSB0byBwbGF5LCBydW5uaW5nIGVtcHR5IGN5Y2xlLiI7Ci0rICAgIH0KLSsKLSsgICAgLy8gU3Vi bWl0IGRhdGEgdG8gdGhlIGRldmljZQotKyAgICBhdmFpbCA9IGNvdW50ICogcGFyYW1zLkdldEJ5 dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCk7Ci0rICAgIHJlc3VsdCA9IHNpb193cml0ZShoZGws IGJ1ZmZlciwgYXZhaWwpOwotKyAgICBpZiAocmVzdWx0ID09IDApIHsKLSsgICAgICBMT0coV0FS TklORykgPDwgIkF1ZGlvIGRldmljZSBkaXNjb25uZWN0ZWQuIjsKLSsgICAgICBicmVhazsKLSsg ICAgfQotKwotKyAgICAvLyBVcGRhdGUgaGFyZHdhcmUgcG9pbnRlcgotKyAgICBod19kZWxheSAr PSBjb3VudDsKLSsgIH0KLSt9Ci0rCi0rfSAgLy8gbmFtZXNwYWNlIG1lZGlhCi0tLS0gL2Rldi9u dWxsCi0rKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEv YXVkaW8vc25kaW8vc25kaW9fb3V0cHV0LmgKLUBAIC0wLDAgKzEsODYgQEAKLSsvLyBDb3B5cmln aHQgKGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0r Ly8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj ZW5zZSB0aGF0IGNhbiBiZQotKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0rCi0rI2lm bmRlZiBNRURJQV9BVURJT19TTkRJT19TTkRJT19PVVRQVVRfSF8KLSsjZGVmaW5lIE1FRElBX0FV RElPX1NORElPX1NORElPX09VVFBVVF9IXwotKwotKyNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0rI2lu Y2x1ZGUgPHNuZGlvLmg+Ci0rCi0rI2luY2x1ZGUgImJhc2UvdGltZS90aWNrX2Nsb2NrLmgiCi0r I2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlv X2lvLmgiCi0rCi0rbmFtZXNwYWNlIG1lZGlhIHsKLSsKLStjbGFzcyBBdWRpb01hbmFnZXJCYXNl OwotKwotKy8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvT3V0cHV0U3RyZWFtIHVzaW5nIHNuZGlv KDcpCi0rY2xhc3MgU25kaW9BdWRpb091dHB1dFN0cmVhbSA6IHB1YmxpYyBBdWRpb091dHB1dFN0 cmVhbSB7Ci0rIHB1YmxpYzoKLSsgIC8vIFRoZSBtYW5hZ2VyIGlzIGNyZWF0aW5nIHRoaXMgb2Jq ZWN0Ci0rICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFy YW1zLAotKyAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpb01hbmFnZXJCYXNlKiBtYW5hZ2Vy KTsKLSsgIHZpcnR1YWwgflNuZGlvQXVkaW9PdXRwdXRTdHJlYW0oKTsKLSsKLSsgIC8vIEltcGxl bWVudGF0aW9uIG9mIEF1ZGlvT3V0cHV0U3RyZWFtLgotKyAgYm9vbCBPcGVuKCkgb3ZlcnJpZGU7 Ci0rICB2b2lkIENsb3NlKCkgb3ZlcnJpZGU7Ci0rICB2b2lkIFN0YXJ0KEF1ZGlvU291cmNlQ2Fs bGJhY2sqIGNhbGxiYWNrKSBvdmVycmlkZTsKLSsgIHZvaWQgU3RvcCgpIG92ZXJyaWRlOwotKyAg dm9pZCBTZXRWb2x1bWUoZG91YmxlIHZvbHVtZSkgb3ZlcnJpZGU7Ci0rICB2b2lkIEdldFZvbHVt ZShkb3VibGUqIHZvbHVtZSkgb3ZlcnJpZGU7Ci0rICB2b2lkIEZsdXNoKCkgb3ZlcnJpZGU7Ci0r Ci0rICBmcmllbmQgdm9pZCBzbmRpb19vbm1vdmUodm9pZCAqYXJnLCBpbnQgZGVsdGEpOwotKyAg ZnJpZW5kIHZvaWQgc25kaW9fb252b2wodm9pZCAqYXJnLCB1bnNpZ25lZCBpbnQgdm9sKTsKLSsg IGZyaWVuZCB2b2lkICpzbmRpb190aHJlYWRzdGFydCh2b2lkICphcmcpOwotKwotKyBwcml2YXRl OgotKyAgZW51bSBTdHJlYW1TdGF0ZSB7Ci0rICAgIGtDbG9zZWQsICAgICAgICAgICAgLy8gTm90 IG9wZW5lZCB5ZXQKLSsgICAga1N0b3BwZWQsICAgICAgICAgICAvLyBEZXZpY2Ugb3BlbmVkLCBi dXQgbm90IHN0YXJ0ZWQgeWV0Ci0rICAgIGtSdW5uaW5nLCAgICAgICAgICAgLy8gU3RhcnRlZCwg ZGV2aWNlIHBsYXlpbmcKLSsgICAga1N0b3BXYWl0ICAgICAgICAgICAvLyBTdG9wcGluZywgd2Fp dGluZyBmb3IgdGhlIHJlYWwtdGltZSB0aHJlYWQgdG8gZXhpdAotKyAgfTsKLSsKLSsgIC8vIEMt c3R5bGUgY2FsbC1iYWNrcwotKyAgc3RhdGljIHZvaWQgT25Nb3ZlQ2FsbGJhY2sodm9pZCAqYXJn LCBpbnQgZGVsdGEpOwotKyAgc3RhdGljIHZvaWQgT25Wb2xDYWxsYmFjayh2b2lkICphcmcsIHVu c2lnbmVkIGludCB2b2wpOwotKyAgc3RhdGljIHZvaWQqIFRocmVhZEVudHJ5KHZvaWQgKmFyZyk7 Ci0rCi0rICAvLyBDb250aW51b3VzbHkgbW92ZXMgZGF0YSBmcm9tIHRoZSBwcm9kdWNlciB0byB0 aGUgZGV2aWNlCi0rICB2b2lkIFRocmVhZExvb3Aodm9pZCk7Ci0rCi0rICAvLyBPdXIgY3JlYXRv ciwgdGhlIGF1ZGlvIG1hbmFnZXIgbmVlZHMgdG8gYmUgbm90aWZpZWQgd2hlbiB3ZSBjbG9zZS4K LSsgIEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXI7Ci0rICAvLyBQYXJhbWV0ZXJzIG9mIHRoZSBz b3VyY2UKLSsgIEF1ZGlvUGFyYW1ldGVycyBwYXJhbXM7Ci0rICAvLyBTb3VyY2Ugc3RvcmVzIGRh dGEgaGVyZQotKyAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvQnVzPiBhdWRpb19idXM7Ci0rICAvLyBD YWxsLWJhY2sgdGhhdCBwcm9kdWNlcyBkYXRhIHRvIHBsYXkKLSsgIEF1ZGlvU291cmNlQ2FsbGJh Y2sqIHNvdXJjZTsKLSsgIC8vIEhhbmRsZSBvZiB0aGUgYXVkaW8gZGV2aWNlCi0rICBzdHJ1Y3Qg c2lvX2hkbCogaGRsOwotKyAgLy8gQ3VycmVudCBzdGF0ZSBvZiB0aGUgc3RyZWFtCi0rICBlbnVt IFN0cmVhbVN0YXRlIHN0YXRlOwotKyAgLy8gSGlnaCBwcmlvcml0eSB0aHJlYWQgcnVubmluZyBU aHJlYWRMb29wKCkKLSsgIHB0aHJlYWRfdCB0aHJlYWQ7Ci0rICAvLyBQcm90ZWN0cyB2b2wsIHZv bHBlbmRpbmcgYW5kIGh3X2RlbGF5Ci0rICBwdGhyZWFkX211dGV4X3QgbXV0ZXg7Ci0rICAvLyBD dXJyZW50IHZvbHVtZSBpbiB0aGUgMC4uU0lPX01BWFZPTCByYW5nZQotKyAgaW50IHZvbDsKLSsg IC8vIFNldCB0byAxIGlmIHZvbHVtZXMgbXVzdCBiZSByZWZyZXNoZWQgaW4gdGhlIHJlYWx0aW1l IHRocmVhZAotKyAgaW50IHZvbHBlbmRpbmc7Ci0rICAvLyBOdW1iZXIgb2YgZnJhbWVzIGJ1ZmZl cmVkIGluIHRoZSBoYXJkd2FyZQotKyAgaW50IGh3X2RlbGF5OwotKyAgLy8gVGVtcG9yYXJ5IGJ1 ZmZlciB3aGVyZSBkYXRhIGlzIHN0b3JlZCBzbmRpby1jb21wYXRpYmxlIGZvcm1hdAotKyAgY2hh ciogYnVmZmVyOwotKwotKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFNuZGlvQXVkaW9PdXRw dXRTdHJlYW0pOwotK307Ci0rCi0rfSAgLy8gbmFtZXNwYWNlIG1lZGlhCi0rCi0rI2VuZGlmICAv LyBNRURJQV9BVURJT19TTkRJT19TTkRJT19PVVRQVVRfSF8KLS0tLSBxdDYtd2ViZW5naW5lLTYu NC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL21lZGlhX29wdGlvbnMuZ25pCi0r KysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvbWVkaWFf b3B0aW9ucy5nbmkKLUBAIC0xMzMsNiArMTMzLDkgQEAgZGVjbGFyZV9hcmdzKCkgewotICAgIyBF bmFibGVzIHJ1bnRpbWUgc2VsZWN0aW9uIG9mIEFMU0EgbGlicmFyeSBmb3IgYXVkaW8uCi0gICB1 c2VfYWxzYSA9IGZhbHNlCi0gCi0rICAjIEVuYWJsZSBydW50aW1lIHNlbGVjdGlvbiBvZiBzbmRp byg3KQotKyAgdXNlX3NuZGlvID0gZmFsc2UKLSsKLSAgICMgQWxzYSBzaG91bGQgYmUgdXNlZCBv biBub24tQW5kcm9pZCwgbm9uLU1hYyBQT1NJWCBzeXN0ZW1zLgotICAgIyBBbHNhIHNob3VsZCBi ZSB1c2VkIG9uIGRlc2t0b3AgQ2hyb21lY2FzdCBhbmQgYXVkaW8tb25seSBDaHJvbWVjYXN0IGJ1 aWxkcy4KLSAgIGlmIChpc19wb3NpeCAmJiAhaXNfYW5kcm9pZCAmJiAhaXNfbWFjICYmCmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAwLWNocm9taXVtLW11c2wt aGFja3MucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAwLWNocm9taXVt LW11c2wtaGFja3MucGF0Y2gKaW5kZXggNTI1YWViOGE2M2QyLi5lMGI5MWEwOWE4NGYgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAzMDAtY2hyb21pdW0tbXVzbC1o YWNrcy5wYXRjaAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAwLWNocm9t aXVtLW11c2wtaGFja3MucGF0Y2gKQEAgLTM2LDE3ICszNiwzIEBACiAgICBzLk91dHB1dFRvU3Ry ZWFtKCZvcyk7CiAgI2Vsc2UKICAgIG9zIDw8ICJTdGFja1RyYWNlOjpPdXRwdXRUb1N0cmVhbSBu b3QgaW1wbGVtZW50ZWQuIjsKLS0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBh cnR5L2Nocm9taXVtL25ldC9zb2NrZXQvdWRwX3NvY2tldF9wb3NpeC5jYwotKysrIHF0Ni13ZWJl bmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9zb2NrZXQvdWRwX3NvY2tldF9w b3NpeC5jYwotQEAgLTExNTcsNyArMTE1NywxMSBAQCBTZW5kUmVzdWx0IFVEUFNvY2tldFBvc2l4 U2VuZGVyOjpJbnRlcm5hCi0gICAgIG1zZ19pb3YtPnB1c2hfYmFjayh7Y29uc3RfY2FzdDxjaGFy Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPmxlbmd0aCgpfSk7Ci0gICBtc2d2ZWMtPnJlc2Vy dmUoYnVmZmVycy5zaXplKCkpOwotICAgZm9yIChzaXplX3QgaiA9IDA7IGogPCBidWZmZXJzLnNp emUoKTsgaisrKQotKyNpZmRlZiBfX0dMSUJDX18KLSAgICAgbXNndmVjLT5wdXNoX2JhY2soe3tu dWxscHRyLCAwLCAmbXNnX2lvdltqXSwgMSwgbnVsbHB0ciwgMCwgMH0sIDB9KTsKLSsjZWxzZQot KyAgICBtc2d2ZWMtPnB1c2hfYmFjayh7e251bGxwdHIsIDAsICZtc2dfaW92W2pdLCAxLCAwLCAw LCAwfSwgMH0pOwotKyNlbmRpZgotICAgaW50IHJlc3VsdCA9IEhBTkRMRV9FSU5UUihTZW5kbW1z ZyhmZCwgJm1zZ3ZlY1swXSwgYnVmZmVycy5zaXplKCksIDApKTsKLSAgIFNlbmRSZXN1bHQgc2Vu ZF9yZXN1bHQoMCwgMCwgc3RkOjptb3ZlKGJ1ZmZlcnMpKTsKLSAgIGlmIChyZXN1bHQgPCAwKSB7 CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAxLWNocm9taXVt LW11c2wtc2FuZGJveC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAzMDEt Y2hyb21pdW0tbXVzbC1zYW5kYm94LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCA0YWZiZWM1Yjk4ZWYuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wMzAxLWNocm9taXVtLW11c2wtc2FuZGJveC5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDg2ICswLDAgQEAKLS0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFt ZXRlcnNfcmVzdHJpY3Rpb25zLmNjCi0rKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFy YW1ldGVyc19yZXN0cmljdGlvbnMuY2MKLUBAIC0xMzQsNiArMTM0LDcgQEAgbmFtZXNwYWNlIHNh bmRib3ggewotIFJlc3VsdEV4cHIgUmVzdHJpY3RDbG9uZVRvVGhyZWFkc0FuZEVQRVJNRm9yaygp IHsKLSAgIGNvbnN0IEFyZzx1bnNpZ25lZCBsb25nPiBmbGFncygwKTsKLSAKLSsjaWZkZWYgX19H TElCQ19fCi0gICAvLyBUT0RPKG1kZW1wc2t5KTogRXh0ZW5kIERTTCB0byBzdXBwb3J0IChmbGFn cyAmIH5tYXNrMSkgPT0gbWFzazIuCi0gICBjb25zdCB1aW50NjRfdCBrQW5kcm9pZENsb25lTWFz ayA9IENMT05FX1ZNIHwgQ0xPTkVfRlMgfCBDTE9ORV9GSUxFUyB8Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIENMT05FX1NJR0hBTkQgfCBDTE9ORV9USFJFQUQgfAotQEAg LTE2MCw2ICsxNjEsMTYgQEAgUmVzdWx0RXhwciBSZXN0cmljdENsb25lVG9UaHJlYWRzQW5kRVBF UgotICAgcmV0dXJuIElmKElzQW5kcm9pZCgpID8gYW5kcm9pZF90ZXN0IDogZ2xpYmNfdGVzdCwg QWxsb3coKSkKLSAgICAgICAuRWxzZUlmKGlzX2Zvcmtfb3JfY2xvbmVfdmZvcmssIEVycm9yKEVQ RVJNKSkKLSAgICAgICAuRWxzZShDcmFzaFNJR1NZU0Nsb25lKCkpOwotKyNlbHNlCi0rICBjb25z dCBpbnQgcmVxdWlyZWQgPSBDTE9ORV9WTSB8IENMT05FX0ZTIHwgQ0xPTkVfRklMRVMgfCBDTE9O RV9TSUdIQU5EIHwKLSsgICAgICAgICAgICAgICAgICAgICAgIENMT05FX1RIUkVBRCB8IENMT05F X1NZU1ZTRU07Ci0rICBjb25zdCBpbnQgc2FmZSA9IENMT05FX1NFVFRMUyB8IENMT05FX1BBUkVO VF9TRVRUSUQgfCBDTE9ORV9DSElMRF9DTEVBUlRJRCB8Ci0rICAgICAgICAgICAgICAgICAgIENM T05FX0RFVEFDSEVEOwotKyAgY29uc3QgQm9vbEV4cHIgdGhyZWFkX2Nsb25lX29rID0gKGZsYWdz Jn5zYWZlKT09cmVxdWlyZWQ7Ci0rICByZXR1cm4gSWYodGhyZWFkX2Nsb25lX29rLCBBbGxvdygp KQotKyAgICAgIC5FbHNlSWYoKGZsYWdzICYgKENMT05FX1ZNIHwgQ0xPTkVfVEhSRUFEKSkgPT0g MCwgRXJyb3IoRVBFUk0pKQotKyAgICAgIC5FbHNlKENyYXNoU0lHU1lTQ2xvbmUoKSk7Ci0rI2Vu ZGlmCi0gfQotIAotICNpZm5kZWYgUFJfUEFDX1JFU0VUX0tFWVMKLS0tLSBxdDYtd2ViZW5naW5l LTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1i cGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2Fs bF9zZXRzLmNjCi1AQCAtNDI0LDYgKzQyNCw5IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dl ZFByb2Nlc3NTdGFydE8KLSAjaWYgZGVmaW5lZChfX2kzODZfXykKLSAgICAgY2FzZSBfX05SX3dh aXRwaWQ6Ci0gI2VuZGlmCi0rI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKLSsgICAgY2FzZSBfX05S X3NldF90aWRfYWRkcmVzczoKLSsjZW5kaWYKLSAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgY2Fz ZSBfX05SX2Nsb25lOiAgLy8gU2hvdWxkIGJlIHBhcmFtZXRlci1yZXN0cmljdGVkLgotICAgICBj YXNlIF9fTlJfc2V0bnM6ICAvLyBQcml2aWxlZ2VkLgotQEAgLTQzNiw3ICs0MzksOSBAQCBib29s IFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPCi0gI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKLSAgICAgY2Fz ZSBfX05SX3NldF90aHJlYWRfYXJlYToKLSAjZW5kaWYKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18p Ci0gICAgIGNhc2UgX19OUl9zZXRfdGlkX2FkZHJlc3M6Ci0rI2VuZGlmCi0gICAgIGNhc2UgX19O Ul91bnNoYXJlOgotICNpZiAhZGVmaW5lZChfX21pcHNfXykgJiYgIWRlZmluZWQoX19hYXJjaDY0 X18pCi0gICAgIGNhc2UgX19OUl92Zm9yazoKLUBAIC01NTAsNiArNTU1LDkgQEAgYm9vbCBTeXNj YWxsU2V0czo6SXNBbGxvd2VkQWRkcmVzc1NwYWNlQQotICAgICBjYXNlIF9fTlJfbWxvY2s6Ci0g ICAgIGNhc2UgX19OUl9tdW5sb2NrOgotICAgICBjYXNlIF9fTlJfbXVubWFwOgotKyNpZm5kZWYg X19HTElCQ19fCi0rICAgIGNhc2UgX19OUl9tcmVtYXA6Ci0rI2VuZGlmCi0gICAgICAgcmV0dXJu IHRydWU7Ci0gICAgIGNhc2UgX19OUl9tYWR2aXNlOgotICAgICBjYXNlIF9fTlJfbWluY29yZToK LUBAIC01NjcsNyArNTc1LDkgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQWRkcmVzc1Nw YWNlQQotICAgICBjYXNlIF9fTlJfbW9kaWZ5X2xkdDoKLSAjZW5kaWYKLSAgICAgY2FzZSBfX05S X21wcm90ZWN0OgotKyNpZmRlZiBfX0dMSUJDX18KLSAgICAgY2FzZSBfX05SX21yZW1hcDoKLSsj ZW5kaWYKLSAgICAgY2FzZSBfX05SX21zeW5jOgotICAgICBjYXNlIF9fTlJfbXVubG9ja2FsbDoK LSAgICAgY2FzZSBfX05SX3JlYWRhaGVhZDoKLS0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9w b2xpY3lfbGludXguY2MKLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCi1A QCAtOTksOSArOTksMTQgQEAgUmVzdWx0RXhwciBSZW5kZXJlclByb2Nlc3NQb2xpY3k6OkV2YWx1 YQotICAgICBjYXNlIF9fTlJfdW5hbWU6Ci0gICAgIGNhc2UgX19OUl9zY2hlZF9nZXRwYXJhbToK LSAgICAgY2FzZSBfX05SX3NjaGVkX2dldHNjaGVkdWxlcjoKLSsjaWZuZGVmIF9fR0xJQkNfXwot KyAgICBjYXNlIF9fTlJfc2NoZWRfc2V0c2NoZWR1bGVyOgotKyNlbmRpZgotICAgICAgIHJldHVy biBBbGxvdygpOwotICAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0YWZmaW5pdHk6Ci0rI2lmZGVmIF9f R0xJQkNfXwotICAgICBjYXNlIF9fTlJfc2NoZWRfc2V0c2NoZWR1bGVyOgotKyNlbmRpZgotICAg ICAgIHJldHVybiBSZXN0cmljdFNjaGVkVGFyZ2V0KEdldFBvbGljeVBpZCgpLCBzeXNubyk7Ci0g ICAgIGNhc2UgX19OUl9wcmxpbWl0NjQ6Ci0gICAgICAgLy8gU2VlIGNyYnVnLmNvbS82NjI0NTAg YW5kIHNldHJsaW1pdCBjb21tZW50IGFib3ZlLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDMwMi1jaHJvbWl1bS1uby1tYWxsaW5mby5wYXRjaCBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAzMDItY2hyb21pdW0tbm8tbWFsbGluZm8ucGF0Y2gKaW5k ZXggNTE5OTMwZTdiZWYwLi4xM2I5YzJjMzE2NGYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAzMDItY2hyb21pdW0tbm8tbWFsbGluZm8ucGF0Y2gKKysrIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMwMi1jaHJvbWl1bS1uby1tYWxsaW5mby5wYXRj aApAQCAtMzUsMTcgKzM1LDIzIEBACiAgI2VuZGlmCiAtLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5v cmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3RyYWNlX2V2ZW50L21hbGxvY19kdW1wX3By b3ZpZGVyLmNjCiArKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0v YmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYwotQEAgLTE3NCw3ICsxNzQs OCBAQCB2b2lkIFJlcG9ydEFwcGxlQWxsb2NTdGF0cyhzaXplX3QqIHRvdGFsCitAQCAtMTg1LDcg KzE4NSw2IEBACisgI2RlZmluZSBNQUxMSU5GTzJfRk9VTkRfSU5fTElCQworICAgc3RydWN0IG1h bGxpbmZvMiBpbmZvID0gbWFsbGluZm8yKCk7CisgI2VuZGlmCistI2VuZGlmICAvLyBkZWZpbmVk KF9fR0xJQkNfXykgJiYgZGVmaW5lZChfX0dMSUJDX1BSRVJFUSkKKyAjaWYgIWRlZmluZWQoTUFM TElORk8yX0ZPVU5EX0lOX0xJQkMpCisgICBzdHJ1Y3QgbWFsbGluZm8gaW5mbyA9IG1hbGxpbmZv KCk7CisgI2VuZGlmCitAQCAtMjA1LDYgKzIwNCw3IEBACisgICAgIHN5c19hbGxvY19kdW1wLT5B ZGRTY2FsYXIoTWVtb3J5QWxsb2NhdG9yRHVtcDo6a05hbWVTaXplLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE1lbW9yeUFsbG9jYXRvckR1bXA6OmtVbml0c0J5dGVzLCBpbmZvLnVv cmRibGtzKTsKKyAgIH0KKysjZW5kaWYgIC8vIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVk KF9fR0xJQkNfUFJFUkVRKQorIH0KKyAjZW5kaWYKICAKLSAjaWYgKEJVSUxERkxBRyhVU0VfUEFS VElUSU9OX0FMTE9DX0FTX01BTExPQykgJiYgQlVJTERGTEFHKElTX0FORFJPSUQpKSB8fCBcCi0g ICAgICghQlVJTERGTEFHKFVTRV9QQVJUSVRJT05fQUxMT0NfQVNfTUFMTE9DKSAmJiAhQlVJTERG TEFHKElTX1dJTikgJiYgICAgXAotLSAgICAgIUJVSUxERkxBRyhJU19BUFBMRSkgJiYgIUJVSUxE RkxBRyhJU19XSU4pICYmICFCVUlMREZMQUcoSVNfRlVDSFNJQSkpCi0rICAgICAhQlVJTERGTEFH KElTX0FQUExFKSAmJiAhQlVJTERGTEFHKElTX1dJTikgJiYgIUJVSUxERkxBRyhJU19GVUNIU0lB KSAmJiBcCi0rICAgICAhKEJVSUxERkxBRyhJU19MSU5VWCkgJiYgIWRlZmluZWQoX19HTElCQ19f KSkpCi0gdm9pZCBSZXBvcnRNYWxsaW5mb1N0YXRzKFByb2Nlc3NNZW1vcnlEdW1wKiBwbWQsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCogdG90YWxfdmlydHVhbF9zaXplLAotICAg ICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqIHJlc2lkZW50X3NpemUsCi1AQCAtMzM5LDcg KzM0MCw3IEBAIGJvb2wgTWFsbG9jRHVtcFByb3ZpZGVyOjpPbk1lbW9yeUR1bXAoY28KK0BAIC0z MzksNyArMzQwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAmYWxsb2NhdGVkX29iamVjdHNf Y291bnQpOwogICNlbGlmIEJVSUxERkxBRyhJU19GVUNIU0lBKQogIC8vIFRPRE8oZnVjaHNpYSk6 IFBvcnQsIHNlZSBodHRwczovL2NyYnVnLmNvbS83MDY1OTIuCkBAIC01NCwxNCArNjAsMyBAQAog ICAgUmVwb3J0TWFsbGluZm9TdGF0cygvKnBtZD0qL251bGxwdHIsICZ0b3RhbF92aXJ0dWFsX3Np emUsICZyZXNpZGVudF9zaXplLAogICAgICAgICAgICAgICAgICAgICAgICAmYWxsb2NhdGVkX29i amVjdHNfc2l6ZSwgJmFsbG9jYXRlZF9vYmplY3RzX2NvdW50KTsKICAjZW5kaWYKLS0tLSBxdDYt d2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3Rm bGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL3Byb2ZpbGluZy9tZW1vcnlfaW5mby5jYwotKysrIHF0 Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3RmbGl0 ZS9zcmMvdGVuc29yZmxvdy9saXRlL3Byb2ZpbGluZy9tZW1vcnlfaW5mby5jYwotQEAgLTM1LDcg KzM1LDcgQEAgYm9vbCBNZW1vcnlVc2FnZTo6SXNTdXBwb3J0ZWQoKSB7Ci0gCi0gTWVtb3J5VXNh Z2UgR2V0TWVtb3J5VXNhZ2UoKSB7Ci0gICBNZW1vcnlVc2FnZSByZXN1bHQ7Ci0tI2lmZGVmIF9f bGludXhfXwotKyNpZiBkZWZpbmVkKF9fbGludXhfXykgJiYgZGVmaW5lZChfX0dMSUJDX18pCi0g ICBydXNhZ2UgcmVzOwotICAgaWYgKGdldHJ1c2FnZShSVVNBR0VfU0VMRiwgJnJlcykgPT0gMCkg ewotICAgICByZXN1bHQubWF4X3Jzc19rYiA9IHJlcy5ydV9tYXhyc3M7CmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvdGVt cGxhdGUKaW5kZXggOTY4NDZmZWFlZTgzLi40ZTIyY2I2ZTg4NjMgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvdGVt cGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtd2ViZW5naW5l JwogcGtnbmFtZT1xdDYtd2ViZW5naW5lCi12ZXJzaW9uPTYuNC4yCi1yZXZpc2lvbj0yCit2ZXJz aW9uPTYuNS4wCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9 IgogIC1EUVRfRkVBVFVSRV93ZWJlbmdpbmVfc3lzdGVtX2ZmbXBlZz1PTgpAQCAtMzIsNyArMzIs NyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BM LTMuMC1vbmx5LCBHUEwtMi4wLW9ubHksIExHUEwtMy4wLW9ubHksIEJTRC0zLUNsYXVzZSIKIGhv bWVwYWdlPSJodHRwczovL3d3dy5xdC5pbyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9kb3dubG9hZC5x dC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9k dWxlcy9xdHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNr c3VtPWZmYTk0NTUxOGQxY2M4ZDllZTczNTIzZThkOWMyMDkwODQ0ZjVhMmQ5YzdlYWMwNWM0YWQw Nzk0NzJhMTE5YzkKK2NoZWNrc3VtPTJhMTBkYTM0YTcxYjMwN2U5ZmYxMWVjMDg2NDU1ZGQyMGI4 M2Q1YjBlZTZiZGE0OTljNGJhOTIyMWUzMDZmMDcKIAogaWYgWyAiJFhCUFNfTElCQyIgPSAibXVz bCIgXTsgdGhlbgogCWhvc3RtYWtlZGVwZW5kcys9IiBtdXNsLWxlZ2FjeS1jb21wYXQiCkBAIC0x NjQsNyArMTY0LDcgQEAgcXQ2LXdlYmVuZ2luZS1kZXZlbF9wYWNrYWdlKCkgewogCQl2bW92ZSB1 c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3Iv bGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xp Yi9xdDYvbW9kdWxlcwogCX0KIH0KIAoKRnJvbSAxMDFiMzBjMDIzYjI1M2I4ZGQzMDExN2RiMjk3 ZDc0OWY0ZjZjNGNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hu bnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNjozNiArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMDMvMjZdIHF0Ni13ZWJjaGFubmVsOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNy Y3BrZ3MvcXQ2LXdlYmNoYW5uZWwvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoIHwgNyAtLS0t LS0tCiBzcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICB8 IDggKysrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlv bnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3BhdGNoZXMv bm8tY21ha2UtdGVzdC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwv cGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC9wYXRj aGVzL25vLWNtYWtlLXRlc3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMw MjAyODc3MmEyZC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvcGF0 Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0t LS0gYS90ZXN0cy9hdXRvL0NNYWtlTGlzdHMudHh0Ci0rKysgYi90ZXN0cy9hdXRvL0NNYWtlTGlz dHMudHh0Ci1AQCAtMSw0ICsxLDMgQEAKLS1hZGRfc3ViZGlyZWN0b3J5KGNtYWtlKQotIGFkZF9z dWJkaXJlY3Rvcnkod2ViY2hhbm5lbCkKLSBpZihUQVJHRVQgUXQ6OlF1aWNrKQotICAgICBhZGRf c3ViZGlyZWN0b3J5KHFtbCkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdGVt cGxhdGUgYi9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3RlbXBsYXRlCmluZGV4IDhmNGI1OGNhYjI0 MC4uOWMzZGVmMzg1YTdiIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtd2ViY2hhbm5lbCcKIHBrZ25hbWU9cXQ2LXdlYmNo YW5uZWwKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0 eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UgcXQ2LWRlY2xhcmF0aXZl LWhvc3QtdG9vbHMiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5u eW5hdG9yLmRldj4iCiBsaWNlbnNlPSIoTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1Ig R1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAi CiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5x dC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9k dWxlcy9xdHdlYmNoYW5uZWwtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVj a3N1bT0wNjY1N2IyYjI1MDlmMjZjNzMzYjdjNDBkYTBkYmI4NTcxYTIxNWI5N2Y5OTY4NWE2ZmMz YmM1MWRjYmViZDg3CitjaGVja3N1bT1kOTU1M2Q2NDZkZjM2ODFiOGUwOWM3NjA5YmY3ZWRhMGNk ZTY5YjU2MmYxODBmYTUwNDUxYTk4N2VkMDBmMWJmCiAKIHByZV9jaGVjaygpIHsKIAlleHBvcnQg UU1MMl9JTVBPUlRfUEFUSD0iJHdya3NyYy9idWlsZC9saWIvcXQ2L3FtbCIKQEAgLTI3LDEzICsy NywxMyBAQCBxdDYtd2ViY2hhbm5lbC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkg ewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVz ci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1 c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlIHVz ci9saWIvcXQ2L3FtbC9RdFdlYkNoYW5uZWwvcGx1Z2lucy5xbWx0eXBlcwogCQl2bW92ZSB1c3Iv bGliL3F0Ni9xbWwvUXRXZWJDaGFubmVsL3FtbGRpcgogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgog CQl2bW92ZSAidXNyL2xpYi8qLnBybCIKLQkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJ CXZtb3ZlIHVzci9saWIvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIDIzOWQxMTY4MTg2YjllYThi MzkwM2FhNjI3NThhNDMzZjIzOTc1ODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpv aG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2OjM1ICsw MjAwClN1YmplY3Q6IFtQQVRDSCAwNC8yNl0gcXQ2LXdheWxhbmQ6IHVwZGF0ZSB0byA2LjUuMC4K Ci0tLQogc3JjcGtncy9xdDYtd2F5bGFuZC90ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9xdDYtd2F5bGFuZC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUK aW5kZXggM2I0NWY5OGJjN2NlLi5kYTBjMzFiNGFjZDUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2 LXdheWxhbmQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtd2F5bGFuZC90ZW1wbGF0ZQpAQCAt MSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni13YXlsYW5kJwogcGtnbmFtZT1x dDYtd2F5bGFuZAotdmVyc2lvbj02LjQuMgordmVyc2lvbj02LjUuMAogcmV2aXNpb249MQogYnVp bGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icXQ2LWJhc2UgcGVybCBwa2ctY29uZmln IHdheWxhbmQtZGV2ZWwgcXQ2LWRlY2xhcmF0aXZlLWhvc3QtdG9vbHMiCkBAIC0xNCw3ICsxNCw3 IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwt My4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCwgTEdQTC0zLjAtb25seSwgR1BMLTIu MC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5xdC5pbyIKIGRpc3RmaWxlcz0iaHR0 cHM6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7 dmVyc2lvbn0vc3VibW9kdWxlcy9xdHdheWxhbmQtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50 YXIueHoiCi1jaGVja3N1bT0yNGNmMWEwYWY3NTFhYjE2MzdiNDgxNWQ1YzVmMzcwNDQ4M2Q1ZmE3 YmVkYmQzNTE5ZTZmYzAyMGQ4YmUxMzVmCitjaGVja3N1bT1jY2M1N2ZhMjc3ZmM1ZjFjMWMyYzQ3 MzNlYWU4MGE2MDk5NmI2N2EwNjcyMzNjNDc4MDllNTQyYWEzMTc1OWEzCiAKIHN1YnBhY2thZ2Vz PSJxdDYtd2F5bGFuZC10b29scyBxdDYtd2F5bGFuZC1kZXZlbCIKIApAQCAtNDMsMTEgKzQzLDEx IEBAIHF0Ni13YXlsYW5kLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZt b3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKLQkJdm1vdmUgdXNyL2xpYi9t ZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIv cGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIv Ki5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCi0JCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9k dWxlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSAzNjEwMDU5YWU4 MDgwNjYxYjZjZDFiNTFhMjk0NGIyODNkY2IxOTc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOToz NjozNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMjZdIHF0Ni12aXJ0dWFsa2V5Ym9hcmQ6IHVw ZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtdmlydHVhbGtleWJvYXJkL3RlbXBsYXRl IHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9hcmQvdGVtcGxhdGUg Yi9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9hcmQvdGVtcGxhdGUKaW5kZXggM2RlNjIzOGM0MTFm Li5jZjdiNmYyZWM4MzAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXZpcnR1YWxrZXlib2FyZC90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9hcmQvdGVtcGxhdGUKQEAgLTEs NiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtdmlydHVhbGtleWJvYXJkJwogcGtn bmFtZT1xdDYtdmlydHVhbGtleWJvYXJkCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiBy ZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHBrZy1j b25maWcgcXQ2LWRlY2xhcmF0aXZlLWhvc3QtdG9vbHMiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50 YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHki CiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5x dC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9k dWxlcy9xdHZpcnR1YWxrZXlib2FyZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIK LWNoZWNrc3VtPTljM2M4MzBmNmUxNzg5NmVmYWNhNWZkYzdjMTkxMDg4ZWVkZDcwYjA3NDkwYjM4 ODM1ODU2NTc5MzQ2YTRmMjgKK2NoZWNrc3VtPTdiNDVkZTc4MjQwODE3ZTlmNGI1N2FmODIxZTQ3 ODE2NTU0NjNhNGY1ZjM5NmJiYzVkZjA1ODBhN2QyYTBmYTcKIAogaWYgWyAiJFhCUFNfQ0hFQ0tf UEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgpAQCAt MzQsMTEgKzM0LDExIEBAIHF0Ni12aXJ0dWFsa2V5Ym9hcmQtZGV2ZWxfcGFja2FnZSgpIHsKIAlw a2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFr ZQotCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tZXRhdHlw ZXMKIAkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVj cwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKLQkJdm1v dmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21vZHVsZXMKIAl9 CiB9CgpGcm9tIGYxNDVjYzM0YzVkNWNhZjNhMDcwZjgzOTcyMzQwYjYwYmUyZmI5MTIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTog TW9uLCAzIEFwciAyMDIzIDE5OjM2OjMyICswMjAwClN1YmplY3Q6IFtQQVRDSCAwNi8yNl0gcXQ2 LXRyYW5zbGF0aW9uczogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni10cmFuc2xh dGlvbnMvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25zL3Rl bXBsYXRlIGIvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25zL3RlbXBsYXRlCmluZGV4IDU2NjlhYjU2 ZGMyMC4uODY2ZjUwNGYzYjlkIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni10cmFuc2xhdGlvbnMv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25zL3RlbXBsYXRlCkBAIC0xLDYg KzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXRyYW5zbGF0aW9ucycKIHBrZ25hbWU9 cXQ2LXRyYW5zbGF0aW9ucwotdmVyc2lvbj02LjQuMgordmVyc2lvbj02LjUuMAogcmV2aXNpb249 MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icXQ2LWJhc2UgcXQ2LXRvb2xz IHBlcmwiCkBAIC0xMCw0ICsxMCw0IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9y LmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIK IGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0 LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1 bGVzL3F0dHJhbnNsYXRpb25zLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hl Y2tzdW09YmJlMDI5MTUwMmMyNjA0YjcyZmVmNzMwZTE5MzViZDIyZjhiOTIxZDhjNDczMjUwZjI5 OGE3MjNiMmE5YzQ5NgorY2hlY2tzdW09ZmM4NWQwZmQ4MzkzZjUxODY1M2NjYWRhMTAxNDE3N2E1 NmRmNmU3M2YzMGYzYjY0ZWVhMGMyZTRhMDA2N2EzZAoKRnJvbSBjMGNlNTg2ODM3MGI5NzUzNzI5 ZDE0NzJmZGMyNTc2ZmMwMmU0YTU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2hu IDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNjozMSArMDIw MApTdWJqZWN0OiBbUEFUQ0ggMDcvMjZdIHF0Ni10b29sczogdXBkYXRlIHRvIDYuNS4wLgoKLS0t CiBzcmNwa2dzL3F0Ni10b29scy90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwg MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXRvb2xzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUKaW5kZXggZDVhZDE2 MThlM2E3Li5jMGVjMjdjZjYxMmMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXRvb2xzL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXRvb2xzL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXRvb2xzJwogcGtnbmFtZT1xdDYtdG9vbHMKLXZlcnNpb249 Ni40LjIKLXJldmlzaW9uPTIKK3ZlcnNpb249Ni41LjAKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxl PWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURFWFRFUk5BTF9HVU1CTz1PTiAtRExJVEVIVE1MX1VU Rjg9T04gLURVU0VfSUNVPU9OCiAgLURRVF9CVUlMRF9TSEFSRURfTElCUz1PTiAtRFFUX0ZFQVRV UkVfYXNzaXN0YW50PU9OCkBAIC0xNiw3ICsxNiw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpv aG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0 aW9uLTEuMCwgTEdQTC0zLjAtb25seSwgR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRw czovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3Jl bGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0dG9vbHMtZXZl cnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1hMzEzODc5MTYxODRlNGE1 ZWY1MjJkM2VhODQxZThlOTMxY2MwZjg4YmUwODI0YTdhMzU0YTU3MmQ1ODI2YzY4CitjaGVja3N1 bT00OWMzM2Q5NmIwYTQ0OTg4YmU5NTQyNjliOGNlM2QxYTQ5NWI0Mzk3MjZlMDNhNmJlN2MwZDUw YTY4NjM2OWM0CiAKIGlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdz Kz0iIC1EUVRfRk9SQ0VfQlVJTERfVE9PTFM9VFJVRSIKCkZyb20gYzkzYTgzMjkxOTI2OTRjZTYy MzgxMDZkMzgxYzFiNjA5ZGYxYzEzZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9o biA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MjkgKzAy MDAKU3ViamVjdDogW1BBVENIIDA4LzI2XSBxdDYtc3ZnOiB1cGRhdGUgdG8gNi41LjAuCgotLS0K IHNyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0 IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYt c3ZnL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtc3ZnL3RlbXBsYXRlCmluZGV4IDA2YzFmY2MzMDZj OS4uYWJhMjc1YTM0Yzg2IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9xdDYtc3ZnL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAncXQ2LXN2ZycKIHBrZ25hbWU9cXQ2LXN2ZwotdmVyc2lvbj02LjQuMgordmVyc2lv bj02LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0i cXQ2LWJhc2UgcGVybCIKQEAgLTEwLDcgKzEwLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9o bm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRp b24tMS4wLCBHUEwtMi4wLW9yLWxhdGVyLCBMR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBz Oi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVs ZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRzdmctZXZlcnl3 aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1iNzQ2YWYzY2IxNzkzNjIxZDhl ZDdlYWUzOGQ5YWQ1YTE1NTQxZGMyNzQyMDMxMDY5ZjJhZTNmZTg3NTkwMzE0CitjaGVja3N1bT02 NGNhN2U2MWY0NGQ1MWUyOGJjYmI0ZTA1MDkyOTliNTNhOWE3ZTM4ODc5ZTAwYTdmZTkxNjQzMTk2 MDY3YTRmCiAKIGlmIFsgIiRYQlBTX0NIRUNLX1BLR1MiIF07IHRoZW4KIAljb25maWd1cmVfYXJn cz0iLURRVF9CVUlMRF9URVNUUz1PTiIKQEAgLTMxLDExICszMSwxMSBAQCBxdDYtc3ZnLWRldmVs X3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZt b3ZlIHVzci9saWIvY21ha2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNy L2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVz ci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9s aWIvKi5wcmwiCi0JCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1c3IvbGli L3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSAxYjVjNmYyZDdjMTc5ZmQ4MjU2ZGQzODNiOWUxZTA1 MzBiNWQ3YzEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnlu YXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNjoyOCArMDIwMApTdWJqZWN0OiBb UEFUQ0ggMDkvMjZdIHF0Ni1zaGFkZXJ0b29sczogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNw a2dzL3F0Ni1zaGFkZXJ0b29scy90ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtc2hhZGVydG9vbHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1zaGFkZXJ0b29scy90ZW1wbGF0 ZQppbmRleCBmYmIyZmJhNzE4MWYuLmIxMWIyODE2ODBhZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9x dDYtc2hhZGVydG9vbHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtc2hhZGVydG9vbHMvdGVt cGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtc2hhZGVydG9v bHMnCiBwa2duYW1lPXF0Ni1zaGFkZXJ0b29scwotdmVyc2lvbj02LjQuMgordmVyc2lvbj02LjUu MAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBx dDYtYmFzZSIKQEAgLTExLDcgKzExLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0 b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly9x dC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNl cy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHNoYWRlcnRvb2xzLWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZmE2NWJmZjg0ZDRlOWMy Y2I0Y2JmNmZiMDk4MjA3ZTBlMjNkODYzZGJlNjc1ZWIyNzcwMzRhMjljMjI2YTIxNworY2hlY2tz dW09ODY2MThkMDM3ZjMwNzFmMWY3YWM1ZWI3YWI3NmFlNGU2ZjUxY2ZkZGRlZDBhNDAyYmI5YWE3 ZjNmNzlmNTc3NQogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAljb25maWd1cmVfYXJn cz0iLURRVF9GT1JDRV9CVUlMRF9UT09MUz10cnVlIgpAQCAtMzEsMTIgKzMxLDEyIEBAIHF0Ni1z aGFkZXJ0b29scy1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQlsb2NhbCBf ZgogCQl2bW92ZSB1c3IvaW5jbHVkZQotCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92 ZSB1c3IvbGliL3F0Ni9tZXRhdHlwZXMKIAkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1v dmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAi dXNyL2xpYi8qLnBybCIKLQkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJCXZtb3ZlIHVz ci9saWIvcXQ2L21vZHVsZXMKIAkJZm9yIF9mIGluICR7REVTVERJUn0vdXNyL2xpYi9jbWFrZS8q OyBkbwogCQkJY2FzZSAiJF9mIiBpbgogCQkJKlRvb2xzVG9vbHMpIDs7CgpGcm9tIGY4NWQ4ZWM3 NWFkZWNhNDc5ZmRmOTM4NzE5ZGIwNTk3ZTdkYzk0MGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5 OjM2OjI3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMC8yNl0gcXQ2LXNlcmlhbHBvcnQ6IHVwZGF0 ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtc2VyaWFscG9ydC90ZW1wbGF0ZSB8IDggKysr Ky0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2VyaWFscG9ydC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2 LXNlcmlhbHBvcnQvdGVtcGxhdGUKaW5kZXggYzEwMGY5Njg2ZmNmLi43NzE2NjU5OGQwMWYgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9x dDYtc2VyaWFscG9ydC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3F0Ni1zZXJpYWxwb3J0JwogcGtnbmFtZT1xdDYtc2VyaWFscG9ydAotdmVyc2lvbj02LjQu MgordmVyc2lvbj02LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtl ZGVwZW5kcz0icGVybCBxdDYtYmFzZSBwa2ctY29uZmlnIgpAQCAtMTAsNyArMTAsNyBAQCBtYWlu dGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iKExHUEwtMy4wLW9u bHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRo IFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZp bGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9u JS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRzZXJpYWxwb3J0LWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09MzM2ZDk1OTE5MDM3ODAwMTg0YjNjM2RlOGNjYjZm NjI5NTRiMjBmMzc1NmMwNWFkY2U4ZDUwMTA1MDQzNDBmYQorY2hlY2tzdW09OTIwOWE5ZjU5Nzhh NGFkZjNhMTUwNTgyMjcwNDMyZmUzYjYzNWQwNTUxM2FkMWE1N2JmZjVjYTQ5NTRhNGRmZgogCiBx dDYtc2VyaWFscG9ydC1kZXZlbF9wYWNrYWdlKCkgewogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49 JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgpAQCAt MTgsMTEgKzE4LDExIEBAIHF0Ni1zZXJpYWxwb3J0LWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2lu c3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKLQkJ dm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJ CXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJ dm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCi0JCXZtb3ZlIHVz ci9zaGFyZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJfQogfQoK RnJvbSA2MDUzZTdkMTVjMmY5ZThmYjYzNjUwYTdiNjlkNzkxODkwNGQ5YWEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwg MyBBcHIgMjAyMyAxOTozNjoyNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMjZdIHF0Ni1zZW5z b3JzOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUg fCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1zZW5zb3JzL3RlbXBsYXRlIGIvc3JjcGtncy9x dDYtc2Vuc29ycy90ZW1wbGF0ZQppbmRleCAxZGQwZDBmM2RmMTMuLjVlNmExZTJhNzc3NiAxMDA2 NDQKLS0tIGEvc3JjcGtncy9xdDYtc2Vuc29ycy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1z ZW5zb3JzL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2 LXNlbnNvcnMnCiBwa2duYW1lPXF0Ni1zZW5zb3JzCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYu NS4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJs IHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIHBrZy1jb25maWciCkBAIC0xMCw3ICsxMCw3IEBA IG1haW50YWluZXI9IsSQb8OgbiBUcuG6p24gQ8O0bmcgRGFuaCA8Y29uZ2RhbmhxeEBnbWFpbC5j b20+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAt b25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBh Z2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2Zm aWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRz ZW5zb3JzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09NDU1NjE5 ZmYyOGEzOWY0Y2FiYTQ5YzllMTk1MmZiY2ZhZmM4ZmZjODkzYjQzN2Q2NTNkNTQ2NWEwNzdlZTY1 NgorY2hlY2tzdW09NWVlNDM0ZTJmNDkxN2MyZDJlOWIxZGU2Y2IxMzQ3YzY0NGE4YzkyMzM4Mjg0 ZWZlYjk2MjAyYTU1N2U3MmVhNgogCiBwb3N0X2luc3RhbGwoKSB7CiAJcm0gLXJmICR7REVTVERJ Un0vdXNyL3Rlc3RzCkBAIC0yMyw3ICsyMyw3IEBAIHF0Ni1zZW5zb3JzLWRldmVsX3BhY2thZ2Uo KSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9s aWIvY21ha2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYv bWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2 L21rc3BlY3MKIAkJdm1vdmUgdXNyL2xpYi9xdDYvcW1sL1F0U2Vuc29ycy9wbHVnaW5zLnFtbHR5 cGVzCgpGcm9tIDRlOWY3Yzg3OWQ3MGNjMjA5NGEzYjk5ZWM3OWU5MTJmZjI0ZDIwYWUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTog TW9uLCAzIEFwciAyMDIzIDE5OjM2OjI0ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMi8yNl0gcXQ2 LXNjeG1sOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXNjeG1sL3RlbXBsYXRl IHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv cXQ2LXNjeG1sL3RlbXBsYXRlCmluZGV4IDBlNTNiYTdjZjUwNi4uOGY4MWQ3NTBiMWIxIDEwMDY0 NAotLS0gYS9zcmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1zY3ht bC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1zY3ht bCcKIHBrZ25hbWU9cXQ2LXNjeG1sCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZp c2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1kZWNs YXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBtYWludGFpbmVyPSJKb2huIDxt ZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9u bHkgT1IgR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVz PSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4q fS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRzY3htbC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259 LnRhci54eiIKLWNoZWNrc3VtPTEzYjBkNDM0NTkzOTRiZWQyNDgxOTY3YTFmZWZmMDJiNjMyMjhh ODJjMTEzNmE2Mjk0MWMwZWI4M2VmNTRlN2YKK2NoZWNrc3VtPWYxMjE4NDNjYjhjZjRhNzZkNjIx YmUzNzFlODAyNjVhYzI4MjU0ZjNjNGMxMjNiMDUxZTkwN2MxYzkxNTc2NmUKIAogc3VicGFja2Fn ZXM9InF0Ni1zY3htbC10b29scyBxdDYtc2N4bWwtZGV2ZWwiCiBpZiBbICIkQ1JPU1NfQlVJTEQi IF07IHRoZW4KQEAgLTQxLDExICs0MSwxMSBAQCBxdDYtc2N4bWwtZGV2ZWxfcGFja2FnZSgpIHsK IAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9j bWFrZQotCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tZXRh dHlwZXMKIAkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtz cGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKLQkJ dm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21vZHVsZXMK IAl9CiB9CgpGcm9tIGFhODU2Y2NiNTZmNmI2YzFjYWU4MjM1N2RiZjc2ZjEwODUyZTgzNmQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0 ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2OjIzICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMy8yNl0g cXQ2LXJlbW90ZW9iamVjdHM6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtcmVt b3Rlb2JqZWN0cy90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXJlbW90ZW9i amVjdHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1yZW1vdGVvYmplY3RzL3RlbXBsYXRlCmluZGV4 IDA2MjczNjM0OTQ0Mi4uYjM3ZDgyYmVkMDNkIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1yZW1v dGVvYmplY3RzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXJlbW90ZW9iamVjdHMvdGVtcGxh dGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtcmVtb3Rlb2JqZWN0 cycKIHBrZ25hbWU9cXQ2LXJlbW90ZW9iamVjdHMKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41 LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBlcmwg cXQ2LWRlY2xhcmF0aXZlLWhvc3QtdG9vbHMgcGtnLWNvbmZpZyIKQEAgLTEzLDcgKzEzLDcgQEAg bWFpbnRhaW5lcj0ixJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5oIDxjb25nZGFuaHF4QGdtYWlsLmNv bT4iCiBsaWNlbnNlPSIoTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1v bmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAiCiBob21lcGFn ZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZp Y2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHJl bW90ZW9iamVjdHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT01 ODNjNTM2NDAwMjBkNWQwNjhlZWY3YWUxODBkNzUwMTIwYmI0OWUzMDI0OWMyZmViZGQxNzNjNWE3 NDI4ODEyCitjaGVja3N1bT1mZjQwYjZlN2FmYTg0ZTQ0MTkwZDNiNjM1NzQ2MjU2OTUyNWIxZTFm YjBlOGJmZDhkZTE2YTg2ODA4MjVjMmFlCiAKIGlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgog CWhvc3RtYWtlZGVwZW5kcys9IiBxdDYtcmVtb3Rlb2JqZWN0cyIKQEAgLTM1LDcgKzM1LDcgQEAg cXQ2LXJlbW90ZW9iamVjdHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJ dm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQotCQl2bW92ZSB1c3IvbGli L21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tZXRhdHlwZXMKIAkJdm1vdmUgdXNyL2xp Yi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSB1c3IvbGli L3F0Ni9xbWwvUXRSZW1vdGVPYmplY3RzL3BsdWdpbnMucW1sdHlwZXMKCkZyb20gNGJhMjNjMWEz ZGFlNjAxOWM4N2I1ZmI1ZWI4YmI4MThiNGRiMjJkYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6 MzY6MjIgKzAyMDAKU3ViamVjdDogW1BBVENIIDE0LzI2XSBxdDYtcXVpY2t0aW1lbGluZTogdXBk YXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlIHwg NCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXF1aWNrdGltZWxpbmUvdGVtcGxhdGUgYi9zcmNwa2dz L3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlCmluZGV4IGYyYzhlMTZlNjIxZS4uM2QyNGEzOTJm ZjQwIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvcXQ2LXF1aWNrdGltZWxpbmUvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICdxdDYtcXVpY2t0aW1lbGluZScKIHBrZ25hbWU9cXQ2LXF1aWNrdGlt ZWxpbmUKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0 eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UgcXQ2LWRlY2xhcmF0aXZl LWhvc3QtdG9vbHMiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5u eW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBz Oi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVs ZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb24vcmMvLXJjfS9zdWJtb2R1bGVzL3F0cXVp Y2t0aW1lbGluZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb24vcmMvLXJjfS50YXIueHoiCi1jaGVj a3N1bT0zMDg4YWJiN2Y0NzgzNjJhMzU0ZWExNTA5ZDFjM2MzNDAzZTNmNWFkZmI4NGYzZTVjZjMw YTFmMmVmZjA5YTVlCitjaGVja3N1bT01NzhiM2U5Mjk2NjJiNDQzY2Q0ZTUxY2IwZGU3MWU5MWY0 ZmY1NWE1MTJkNjZlMGIxZWEyOTk5YjU2NTdjZmJmCiAKIGlmIFsgIiRYQlBTX0NIRUNLX1BLR1Mi IF07IHRoZW4KIAljb25maWd1cmVfYXJncz0iLURRVF9CVUlMRF9URVNUUz1PTiIKCkZyb20gYzI5 ZjJkZTA4NGYxOTRhMGVjZmY0MmU3MzEyNzI4MzVhOGFjNWNiOSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIw MjMgMTk6MzY6MjEgKzAyMDAKU3ViamVjdDogW1BBVENIIDE1LzI2XSBxdDYtcXVpY2szZDogdXBk YXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1xdWljazNkL3RlbXBsYXRlIHwgOCArKysr LS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1xdWljazNkL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcXVp Y2szZC90ZW1wbGF0ZQppbmRleCBlNWVmOTFjOTA1M2MuLmUwMWNlYTgxYmViZSAxMDA2NDQKLS0t IGEvc3JjcGtncy9xdDYtcXVpY2szZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1xdWljazNk L3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF1aWNr M2QnCiBwa2duYW1lPXF0Ni1xdWljazNkCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiBy ZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1k ZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIHF0Ni1zaGFkZXJ0b29scyIKQEAgLTExLDcgKzExLDcgQEAg bWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAt b3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9k b3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lv bn0vc3VibW9kdWxlcy9xdHF1aWNrM2QtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT05NTNkM2I2Y2E2ZGMwMDU2M2NlZWEzM2Q1MWYyNWUyMmIxNzg4YWI1YWE4NjE5 NDExMDBmNmExYjY1MjkyNmE3CitjaGVja3N1bT05YjU5MDQyOWNhOThiNWNjOGNlYzRkZjJlZmEz Nzc1ZTlmMTFlZDgyNjBkMTIzZTk1ZjNjMGZjMzdmMzc3MmE1CiAKIHN1YnBhY2thZ2VzPSJxdDYt cXVpY2szZC10b29scyBxdDYtcXVpY2szZC1kZXZlbCIKIGlmIFsgIiRDUk9TU19CVUlMRCIgXTsg dGhlbgpAQCAtNTAsMTEgKzUwLDExIEBAIHF0Ni1xdWljazNkLWRldmVsX3BhY2thZ2UoKSB7CiAJ cGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21h a2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5 cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3Bl Y3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCi0JCXZt b3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJ fQogfQoKRnJvbSAyMGVmYWQ5YWExOGJmOWVjY2RlNmE3NmMxNjQ3MjI3MWVlY2NhYzJhIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6 IE1vbiwgMyBBcHIgMjAyMyAxOTozNjoxMSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTYvMjZdIHF0 Ni1xdDVjb21wYXQ6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtcXQ1Y29tcGF0 L3RlbXBsYXRlIHwgMTAgKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygr KSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1xdDVjb21wYXQvdGVt cGxhdGUgYi9zcmNwa2dzL3F0Ni1xdDVjb21wYXQvdGVtcGxhdGUKaW5kZXggZWQxNjc2OTViNWNk Li4zYjNkMmI1ZGZhY2YgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXF0NWNvbXBhdC90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL3F0Ni1xdDVjb21wYXQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtcXQ1Y29tcGF0JwogcGtnbmFtZT1xdDYtcXQ1Y29tcGF0 Ci12ZXJzaW9uPTYuNC4yCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTYuNS4wCityZXZpc2lvbj0xCiBi dWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EUVRfRkVBVFVSRV90ZXh0Y29kZWM9 T04gLURRVF9GRUFUVVJFX2NvZGVjcz1PTgogIC1EUVRfRkVBVFVSRV9pY29udj1PTiAtRFFUX0ZF QVRVUkVfYmlnX2NvZGVjcz1PTiIKQEAgLTEyLDcgKzEyLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8 bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1l eGNlcHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9 Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNp YWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXQ1Y29t cGF0LWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZjUxZjUwNWM4 ZTk4NWI1MWI3ZDczM2UyN2Q3ODJjNmZjZTE4MWJlZWY1MzM2NGFjYjAzNjhjYzg5MmM0Yjc5Mgor Y2hlY2tzdW09YTllMmY1M2ExOTNmYzJlMTMxYjAxYTJmNmU3YTFmYmZlMzEzMDljMjQxM2ZkYzIx M2U1YTgxYzU1OGMyMTI2MQogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCiAJY29u ZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCkBAIC0yOCwxMSArMjgsMTEgQEAgcXQ2 LXF0NWNvbXBhdC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1 c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5 cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2Nv bmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28i CiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMK KwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gNjcyYzQwZTg3NmZlZjBl YjM0NjI4Yjk5ZjhkNzUwN2YwOTFhNDVmOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog Sm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MDcg KzAyMDAKU3ViamVjdDogW1BBVENIIDE3LzI2XSBxdDYtbmV0d29ya2F1dGg6IHVwZGF0ZSB0byA2 LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtbmV0d29ya2F1dGgvdGVtcGxhdGUgfCA4ICsrKystLS0t CiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtbmV0 d29ya2F1dGgvdGVtcGxhdGUKaW5kZXggMzVkNzE2MWEzMjg4Li4wM2JkYTM4ZWQxZmMgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2 LW5ldHdvcmthdXRoL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAncXQ2LW5ldHdvcmthdXRoJwogcGtnbmFtZT1xdDYtbmV0d29ya2F1dGgKLXZlcnNpb249Ni40 LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFr ZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWluZXI9Ikpv aG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkiCiBob21lcGFn ZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZp Y2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdG5l dHdvcmthdXRoLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZGVh YjE3YmQ5NTdkMGE0OTNiZDc3NTdiYzcxMjcwOTE4MTQ3NTk2ZmI5NjYxYTg4NmIzZjFkMzA1MDQ3 YzJlZQorY2hlY2tzdW09ZGJjYzUyMmFiMjEzNmViZTZjOWJlNWM3ZjE1NmEzYmNlZmE5MmNkMTlh NDYyZTMzYTAwZTk0MDY4YTI0NDEzZQogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVu CiAJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCkBAIC0yMiwxMSArMjIsMTEg QEAgcXQ2LW5ldHdvcmthdXRoLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJ CXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKLQkJdm1vdmUgdXNyL2xp Yi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9s aWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9s aWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCi0JCXZtb3ZlIHVzci9zaGFyZS9xdDYv bW9kdWxlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA4YTRlZGY3 OTRkMmZiYmU4MTEwNjFiNzhiN2I2NjdhYTY3NzA5MGYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAx OTozNjowNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTgvMjZdIHF0Ni1tdWx0aW1lZGlhOiB1cGRh dGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUgfCA2ICsr Ky0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYt bXVsdGltZWRpYS90ZW1wbGF0ZQppbmRleCBkODllN2Q1NGViNWEuLmM2MjJiN2M5ZThmYyAxMDA2 NDQKLS0tIGEvc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0 Ni1tdWx0aW1lZGlhL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAncXQ2LW11bHRpbWVkaWEnCiBwa2duYW1lPXF0Ni1tdWx0aW1lZGlhCi12ZXJzaW9uPTYuNC4y Cit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJl X2FyZ3M9Ii1EUVRfRkVBVFVSRV9nc3RyZWFtZXI9T04iCkBAIC0xMiw3ICsxMiw3IEBAIG1haW50 YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSIoTEdQTC0zLjAtb25s eSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGgg UXQtR1BMLWV4Y2VwdGlvbi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0Zmls ZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24l Lip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdG11bHRpbWVkaWEtZXZlcnl3aGVyZS1zcmMtJHt2 ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT03ZjJiNzBkZWVhZGE5MTFjOGU2NjBlMjgwMTI4NjY1 N2YyOTdhNWQxZDU0M2QxZjZiZmE4NTZmMjg5NzJjNzc2CitjaGVja3N1bT05NDgwZDBjNzNhYmRk MDFhZWM0ODk5ZTM0MDkzOGNlYzA0NmEzZjQwNGI5ZjllZDk0NTI4OGJlNTc0ZGNhMTQ2CiAKIGlm IFsgIiRYQlBTX01BQ0hJTkUiID0gImk2ODYiIF07IHRoZW4KIAlDWFhGTEFHUz0iLURQRkZGVF9T SU1EX0RJU0FCTEU9MSIKQEAgLTM5LDcgKzM5LDcgQEAgcXQ2LW11bHRpbWVkaWEtZGV2ZWxfcGFj a2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUg dXNyL2xpYi9jbWFrZQotCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGli L3F0Ni9tZXRhdHlwZXMKIAkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xp Yi9xdDYvbWtzcGVjcwogCQl2bW92ZSB1c3IvbGliL3F0Ni9xbWwvUXRNdWx0aW1lZGlhL3BsdWdp bnMucW1sdHlwZXMKCkZyb20gYjY3NzVkMWI3MmQ5OTQyZWIzYjdlOTQ3ZjgwOTY2ZGQ5YTMxM2Nj MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2 PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MDQgKzAyMDAKU3ViamVjdDogW1BBVENIIDE5 LzI2XSBxdDYtbG90dGllOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LWxvdHRp ZS90ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtbG90dGllL3RlbXBsYXRl IGIvc3JjcGtncy9xdDYtbG90dGllL3RlbXBsYXRlCmluZGV4IDBlMjQ2OTg3ZDA3OC4uOGEzN2Zh ZTdmMmRjIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1sb3R0aWUvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9xdDYtbG90dGllL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAncXQ2LWxvdHRpZScKIHBrZ25hbWU9cXQ2LWxvdHRpZQotdmVyc2lvbj02LjQuMgordmVy c2lvbj02LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5k cz0icGVybCBxdDYtYmFzZSBxdDYtZGVjbGFyYXRpdmUtaG9zdC10b29scyIKQEAgLTEwLDcgKzEw LDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQ TC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDov L2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJz aW9ufS9zdWJtb2R1bGVzL3F0bG90dGllLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6 IgotY2hlY2tzdW09YWNjYzg4NjljNzIwOTVjZTViMzczYTMwYzM2MmQyMTIzNTE0NWE3OWY5ZTI3 MDQ4MDcxMmY4NjFkMWRlMWM1NgorY2hlY2tzdW09ODQyNWVjZGViOTI4NmE2YzUxOTg1YmRhZjM5 MzYwMjY2MTBkMDRkYzMxZWVjMDZmZWU3OWRmNjQ0MmI3ZTI0NgogCiBpZiBbICIkWEJQU19DSEVD S19QS0dTIiBdOyB0aGVuCiAJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCkBA IC0zMCwxMCArMzAsMTAgQEAgcXQ2LWxvdHRpZS1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0 YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZt b3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2 bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3Zl ICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUg dXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gNDQ0MzRkYTQzMzcwMTM2YzNmYjYwN2Zm ZTBmNGM0YjQ5MWYwZmFlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVA am9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MDQgKzAyMDAKU3Vi amVjdDogW1BBVENIIDIwLzI2XSBxdDYtbG9jYXRpb246IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQog c3JjcGtncy9xdDYtbG9jYXRpb24vdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LWxvY2F0aW9uL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtbG9jYXRpb24vdGVtcGxhdGUKaW5k ZXggNDI5ZTllMDJkYjEyLi44OWZmNjQ5OGM2NzkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWxv Y2F0aW9uL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlCkBAIC0x LDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LWxvY2F0aW9uJwogcGtnbmFtZT1x dDYtbG9jYXRpb24KLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1 aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UgcXQ2LWRlY2xh cmF0aXZlLWhvc3QtdG9vbHMiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1l QGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSIoTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9u bHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlv bi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3du bG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0v c3VibW9kdWxlcy9xdHBvc2l0aW9uaW5nLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6 IgotY2hlY2tzdW09N2YwMWJhZjViYTg3N2FmNWIyMTFjOWQzMmU2MDc1MDE5ZjAwZDlkN2EyYmE4 MWJiMGYxMGNhNzU5ZTlhZWY4MgorY2hlY2tzdW09MGRhNzEyMWViZmQ5ZDJiYTk4NWFiMWYyYzhh M2FmNzAwMjdjMzU3MzIxNzdlYzBmYzcyZmY3ZTgyODM1Yzg4NgogCiBwcmVfY2hlY2soKSB7CiAJ ZXhwb3J0IFFNTDJfSU1QT1JUX1BBVEg9IiR3cmtzcmMvYnVpbGQvbGliL3F0Ni9xbWwiCkBAIC0y NiwxMSArMjYsMTEgQEAgcXQ2LWxvY2F0aW9uLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3Rh bGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKLQkJdm1v dmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZt b3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1v dmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCi0JCXZtb3ZlIHVzci9z aGFyZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJv bSA1ZGY0NTkwOTdhZjQ4YmNiZDYyYzk2YzA4MGVmOWU5ODE1OGY5MzYwIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBB cHIgMjAyMyAxOTozNjowMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjEvMjZdIHF0Ni1pbWFnZWZv cm1hdHM6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtaW1hZ2Vmb3JtYXRzL3Rl bXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZSBi L3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZQppbmRleCAzZWQ2M2Y2ZTk4Y2QuLjI1 M2ZmMTI1ZTA5ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtaW1hZ2Vmb3JtYXRzL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1pbWFnZWZvcm1hdHMnCiBwa2duYW1lPXF0Ni1pbWFn ZWZvcm1hdHMKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxk X3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UiCkBAIC0xMCw0ICsx MCw0IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJM R1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0i aHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lh bF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdGltYWdl Zm9ybWF0cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWZjNWY5 OTlhZTA3NzlhNjdkNTUwNzk1NmQ0ZGQzMTUzODZlYjgxY2Y2Y2NiYTYzMmRlMDM5YmI5ZWVlMTE3 MDcKK2NoZWNrc3VtPWY5ZjgxMGNkM2FjN2U2MDEzMmMwZGEzM2YzNGZjZmNlNDJlM2U3NjRkNmNh ZDMwMjBjMmYzYjFiNDIwNDZmNzgKCkZyb20gODBlNTBjYWZhMDJlMmU1OGQ3NmMxOWFjN2M0Nzdh NDgwZTRmNTY3YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55 bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MDEgKzAyMDAKU3ViamVjdDog W1BBVENIIDIyLzI2XSBxdDYtZGVjbGFyYXRpdmU6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogLi4u L3BhdGNoZXMvcW1sLWJyb2tlbi10ZXN0LnBhdGNoICAgICAgICAgICAgIHwgNjQgLS0tLS0tLS0t LS0tLS0tLS0tLQogc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvdGVtcGxhdGUgICAgICAgICAgICAg IHwgIDggKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNjggZGVsZXRpb25z KC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvcGF0Y2hlcy9x bWwtYnJva2VuLXRlc3QucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2 ZS9wYXRjaGVzL3FtbC1icm9rZW4tdGVzdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZl L3BhdGNoZXMvcW1sLWJyb2tlbi10ZXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBiMTY0MTJmY2Q1ZTUuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0Ni1kZWNsYXJh dGl2ZS9wYXRjaGVzL3FtbC1icm9rZW4tdGVzdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY0 ICswLDAgQEAKLS0tLSBxdDYtZGVjbGFyYXRpdmUtNi40LjIub3JpZy90ZXN0cy9hdXRvL3F1aWNr Y29udHJvbHMyL2NvbnRyb2xzL2RhdGEvdHN0X3Jhbmdlc2xpZGVyLnFtbAotKysrIHF0Ni1kZWNs YXJhdGl2ZS02LjQuMi90ZXN0cy9hdXRvL3F1aWNrY29udHJvbHMyL2NvbnRyb2xzL2RhdGEvdHN0 X3Jhbmdlc2xpZGVyLnFtbAotQEAgLTYwMiw2MSArNjAyLDYgQEAgVGVzdENhc2UgewotICAgICB9 Ci0gCi0gICAgIGZ1bmN0aW9uIHRlc3Rfb3ZlcmxhcHBpbmdIYW5kbGVzKCkgewotLSAgICAgICAg dmFyIGNvbnRyb2wgPSBjcmVhdGVUZW1wb3JhcnlPYmplY3Qoc2xpZGVyQ29tcG9uZW50LCB0ZXN0 Q2FzZSkKLS0gICAgICAgIHZlcmlmeShjb250cm9sKQotLQotLSAgICAgICAgLy8gQnkgZGVmYXVs dCwgd2UgZm9yY2UgdGhlIHNlY29uZCBoYW5kbGUgdG8gYmUgYWZ0ZXIgdGhlIGZpcnN0IGluCi0t ICAgICAgICAvLyB0ZXJtcyBvZiBzdGFja2luZyBvcmRlciAqYW5kKiB6IHZhbHVlLgotLSAgICAg ICAgY29tcGFyZShjb250cm9sLnNlY29uZC5oYW5kbGUueiwgMSkKLS0gICAgICAgIGNvbXBhcmUo Y29udHJvbC5maXJzdC5oYW5kbGUueiwgMCkKLS0gICAgICAgIGNvbnRyb2wuZmlyc3QudmFsdWUg PSAwCi0tICAgICAgICBjb250cm9sLnNlY29uZC52YWx1ZSA9IDAKLS0KLS0gICAgICAgIC8vIFdo ZW4gYm90aCBoYW5kbGVzIG92ZXJsYXAsIG9ubHkgdGhlIGhhbmRsZSB3aXRoIHRoZSBoaWdoZXIg WiB2YWx1ZQotLSAgICAgICAgLy8gc2hvdWxkIGJlIGhvdmVyZWQuCi0tICAgICAgICBtb3VzZU1v dmUoY29udHJvbCwgY29udHJvbC5zZWNvbmQuaGFuZGxlLngsIGNvbnRyb2wuc2Vjb25kLmhhbmRs ZS55KQotLSAgICAgICAgY29tcGFyZShjb250cm9sLnNlY29uZC5ob3ZlcmVkLCB0cnVlKQotLSAg ICAgICAgY29tcGFyZShjb250cm9sLmZpcnN0LmhvdmVyZWQsIGZhbHNlKQotLQotLSAgICAgICAg Ly8gQm90aCBhcmUgYXQgdGhlIHNhbWUgcG9zaXRpb24sIHNvIGl0IGRvZXNuJ3QgbWF0dGVyIHdo b3NlIGNvb3JkaW5hdGVzIHdlIHVzZS4KLS0gICAgICAgIG1vdXNlUHJlc3MoY29udHJvbCwgY29u dHJvbC5maXJzdC5oYW5kbGUueCwgY29udHJvbC5maXJzdC5oYW5kbGUueSwgUXQuTGVmdEJ1dHRv bikKLS0gICAgICAgIHZlcmlmeShjb250cm9sLnNlY29uZC5wcmVzc2VkKQotLSAgICAgICAgY29t cGFyZShjb250cm9sLnNlY29uZC5oYW5kbGUueiwgMSkKLS0gICAgICAgIGNvbXBhcmUoY29udHJv bC5maXJzdC5oYW5kbGUueiwgMCkKLS0KLS0gICAgICAgIC8vIE1vdmUgdGhlIHNlY29uZCBoYW5k bGUgb3V0IG9mIHRoZSB3YXkuCi0tICAgICAgICBtb3VzZU1vdmUoY29udHJvbCwgY29udHJvbC53 aWR0aCwgY29udHJvbC5maXJzdC5oYW5kbGUueSkKLS0gICAgICAgIG1vdXNlUmVsZWFzZShjb250 cm9sLCBjb250cm9sLndpZHRoLCBjb250cm9sLmZpcnN0LmhhbmRsZS55LCBRdC5MZWZ0QnV0dG9u KQotLSAgICAgICAgdmVyaWZ5KCFjb250cm9sLnNlY29uZC5wcmVzc2VkKQotLSAgICAgICAgY29t cGFyZShjb250cm9sLnNlY29uZC52YWx1ZSwgMS4wKQotLSAgICAgICAgY29tcGFyZShjb250cm9s LnNlY29uZC5oYW5kbGUueiwgMSkKLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5oYW5k bGUueiwgMCkKLS0KLS0gICAgICAgIC8vIFRoZSBmaXJzdCBoYW5kbGUgc2hvdWxkIG5vdCBiZSBo b3ZlcmVkLgotLSAgICAgICAgY29tcGFyZShjb250cm9sLmZpcnN0LmhvdmVyZWQsIGZhbHNlKQot LQotLSAgICAgICAgLy8gTW92ZSB0aGUgZmlyc3QgaGFuZGxlIG9uIHRvcCBvZiB0aGUgc2Vjb25k LgotLSAgICAgICAgbW91c2VQcmVzcyhjb250cm9sLCBjb250cm9sLmZpcnN0LmhhbmRsZS54LCBj b250cm9sLmZpcnN0LmhhbmRsZS55LCBRdC5MZWZ0QnV0dG9uKQotLSAgICAgICAgdmVyaWZ5KGNv bnRyb2wuZmlyc3QucHJlc3NlZCkKLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5oYW5k bGUueiwgMSkKLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5zZWNvbmQuaGFuZGxlLnosIDApCi0t Ci0tICAgICAgICBtb3VzZU1vdmUoY29udHJvbCwgY29udHJvbC53aWR0aCwgY29udHJvbC5maXJz dC5oYW5kbGUueSkKLS0gICAgICAgIG1vdXNlUmVsZWFzZShjb250cm9sLCBjb250cm9sLndpZHRo LCBjb250cm9sLmZpcnN0LmhhbmRsZS55LCBRdC5MZWZ0QnV0dG9uKQotLSAgICAgICAgdmVyaWZ5 KCFjb250cm9sLmZpcnN0LnByZXNzZWQpCi0tICAgICAgICBjb21wYXJlKGNvbnRyb2wuZmlyc3Qu aGFuZGxlLnosIDEpCi0tICAgICAgICBjb21wYXJlKGNvbnRyb2wuc2Vjb25kLmhhbmRsZS56LCAw KQotLQotLSAgICAgICAgLy8gVGhlIG1vc3QgcmVjZW50bHkgcHJlc3NlZCBoYW5kbGUgKHRoZSBm aXJzdCkgc2hvdWxkIGhhdmUgdGhlIGhpZ2hlciB6IHZhbHVlLgotLSAgICAgICAgbW91c2VQcmVz cyhjb250cm9sLCBjb250cm9sLmZpcnN0LmhhbmRsZS54LCBjb250cm9sLmZpcnN0LmhhbmRsZS55 LCBRdC5MZWZ0QnV0dG9uKQotLSAgICAgICAgdmVyaWZ5KGNvbnRyb2wuZmlyc3QucHJlc3NlZCkK LS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5oYW5kbGUueiwgMSkKLS0gICAgICAgIGNv bXBhcmUoY29udHJvbC5zZWNvbmQuaGFuZGxlLnosIDApCi0tCi0tICAgICAgICBtb3VzZVJlbGVh c2UoY29udHJvbCwgY29udHJvbC5maXJzdC5oYW5kbGUueCwgY29udHJvbC5maXJzdC5oYW5kbGUu eSwgUXQuTGVmdEJ1dHRvbikKLS0gICAgICAgIHZlcmlmeSghY29udHJvbC5maXJzdC5wcmVzc2Vk KQotLSAgICAgICAgY29tcGFyZShjb250cm9sLmZpcnN0LmhhbmRsZS56LCAxKQotLSAgICAgICAg Y29tcGFyZShjb250cm9sLnNlY29uZC5oYW5kbGUueiwgMCkKLSAgICAgfQotIAotICAgICBmdW5j dGlvbiB0ZXN0X2tleXNfZGF0YSgpIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0 aXZlL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvdGVtcGxhdGUKaW5kZXggYTNk OTIxZjllYTE5Li4yMmU1OGYxNTc4ZTMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0 aXZlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBsYXRlCkBAIC0x LDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LWRlY2xhcmF0aXZlJwogcGtnbmFt ZT1xdDYtZGVjbGFyYXRpdmUKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9u PTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURRVF9CVUlMRF9URVNUUz1P TiIKQEAgLTExLDcgKzExLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2 PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wLCBMR1BM LTMuMC1vbmx5LCBHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnF0Lmlv IgogZGlzdGZpbGVzPSJodHRwczovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0 LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0ZGVjbGFyYXRpdmUtZXZlcnl3 aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1hNGJkZDk4M2RlNGU5Y2JjYTBm ODViNzY3ZGJkZDg1OTg3MTE1NTRlMzcwYTA2ZGE4ZjUwOWRlZDQ0MzBmNWJkCitjaGVja3N1bT1m N2Q2MzFjZDhlYmMxNDkxZGFkMGYzMGYxYjUzMjZhZTgxMmJlZTRhZDcwNmU2MTE1NzgxNmE4MmJm NTg4Yzk3CiByZXBsYWNlcz0icXQ2LXF1aWNrY29udHJvbHMyPj0wIgogCiBpZiBbICIkQ1JPU1Nf QlVJTEQiIF07IHRoZW4KQEAgLTk2LDEzICs5NiwxMyBAQCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWxf cGFja2FnZSgpIHsKIAlyZXBsYWNlcz0icXQ2LXF1aWNrY29udHJvbHMyLWRldmVsPj0wIgogCXBr Z19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQotCQl2bW92ZSB1c3IvbGliL21ldGF0 eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tZXRhdHlwZXMKIAkJdm1vdmUgdXNyL2xpYi9wa2dj b25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNv IgogCQl2bW92ZSAidXNyL2xpYi8qLmEiCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92 ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCQlm b3IgX2YgaW4gJHtERVNURElSfS91c3IvbGliL2NtYWtlLyo7IGRvCiAJCQljYXNlICIkX2YiIGlu CiAJCQkqVG9vbHMpIDs7CgpGcm9tIGRhYzhhZDViZTgxMTNlN2U4MjFmNGQyZjJjZTM1OWU4ZTlj ZjkxZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9y LmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM1OjU1ICswMjAwClN1YmplY3Q6IFtQQVRD SCAyMy8yNl0gcXQ2LWNvbm5lY3Rpdml0eTogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dz L3F0Ni1jb25uZWN0aXZpdHkvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwg NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LWNvbm5lY3Rpdml0eS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS90ZW1wbGF0 ZQppbmRleCA2NmZjZTVjMDM5N2IuLjU3MDU0MTZiYTQ0MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9x dDYtY29ubmVjdGl2aXR5L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS90 ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1jb25uZWN0 aXZpdHknCiBwa2duYW1lPXF0Ni1jb25uZWN0aXZpdHkKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249 Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBl cmwgcXQ2LWRlY2xhcmF0aXZlLWhvc3QtdG9vbHMiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWlu ZXI9IsSQb8OgbiBUcuG6p24gQ8O0bmcgRGFuaCA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+IgogbGlj ZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVz PSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4q fS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRjb25uZWN0aXZpdHktZXZlcnl3aGVyZS1zcmMtJHt2 ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT04YzliNDRiMjM5ZTQyYjRjNGQ2ZmNhNWY0Mjc5MDRl Njg4ODkwYjJhMWJmYjZiY2JlNWU2ZTJhZmNkYzVkN2FmCitjaGVja3N1bT1lNzYzNjY1M2JhYjk4 NjM2MWE3N2IyMzQ1MWQ5NjZjODU1OTE0MjhjMDQyMjc0MTg5MGVmMGZiMTk3Njk4ZjA2CiAKIHF0 Ni1jb25uZWN0aXZpdHktZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+ PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KQEAgLTE5LDExICsxOSwxMSBAQCBxdDYtY29ubmVjdGl2 aXR5LWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNs dWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJ dm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJ CXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1v dmUgInVzci9saWIvKi5wcmwiCi0JCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCQl2bW92 ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSBiYjA3ZWM5MDJjMTk5NTA5MDc3ZDJm YmUxZWY2ODlkOWVmYzljNDE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxt ZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNTo1NCArMDIwMApT dWJqZWN0OiBbUEFUQ0ggMjQvMjZdIHF0Ni1jaGFydHM6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQog c3JjcGtncy9xdDYtY2hhcnRzL3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni1jaGFydHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUKaW5kZXggNTdj ZTg4MTQzMzY3Li4yYzAwYWM5YTQ0YTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWNoYXJ0cy90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtY2hhcnRzJwogcGtnbmFtZT1xdDYtY2hhcnRzCi12 ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFr ZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAt MTAsNyArMTAsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGlj ZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVz PSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4q fS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRjaGFydHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u fS50YXIueHoiCi1jaGVja3N1bT1hMWE3YzBlMDhjODg3MGNmOTdkMWMzYTJlYjNmMzc2ODFhYWVk MDBhNjNiNWIyZjcwYmRmMmRhODc4ZDBhOWFhCitjaGVja3N1bT1mY2NkMWQ1MGE3ZjU2ZGUwMTFm NzY2OGUwZTkwZjAyMjMxNmJkNDA2NWZhN2Y5MWIwNzg1Nzk0MDNlMmUyNmE4CiAKIHByZV9jaGVj aygpIHsKIAlleHBvcnQgUU1MMl9JTVBPUlRfUEFUSD0iJHdya3NyYy9idWlsZC9saWIvcXQ2L3Ft bCIKQEAgLTI2LDExICsyNiwxMSBAQCBxdDYtY2hhcnRzLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtn X2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UK LQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVz CiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MK IAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCi0JCXZtb3Zl IHVzci9zaGFyZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJfQog fQoKRnJvbSBjOGQ0NmZmOTY4MDY5NGJmMDgzM2ZjODRjMmFhNmFlZmNlNjBhMjUwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1v biwgMyBBcHIgMjAyMyAxOTozNTo1MyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjUvMjZdIHF0Ni1i YXNlOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUgfCA2 ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtYmFz ZS90ZW1wbGF0ZQppbmRleCBkZmRlNjBiZGI0MzguLmZlMWYwMTNkYjVhNiAxMDA2NDQKLS0tIGEv c3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LWJhc2UnCiBwa2duYW1l PXF0Ni1iYXNlCi12ZXJzaW9uPTYuNC4yCi1yZXZpc2lvbj0zCit2ZXJzaW9uPTYuNS4wCityZXZp c2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ESU5TVEFMTF9EQVRB RElSPXNoYXJlL3F0NgogIC1ESU5TVEFMTF9BUkNIREFUQURJUj1saWIvcXQ2CkBAIC0zMiw3ICsz Miw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJH UEwtMy4wLW9ubHkgV0lUSCBRdC1HUEwtZXhjZXB0aW9uLTEuMCwgTEdQTC0zLjAtb25seSwgR1BM LTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5xdC5pbyIKIGRpc3RmaWxlcz0i aHR0cHM6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9 LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdGJhc2UtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50 YXIueHoiCi1jaGVja3N1bT1hODhiYzZjZWRiYjM0ODc4YTQ5YTYyMmJhYTc5Y2FjZTc4Y2ZiYWQ0 Zjk1ZmRiZDM2NTZkZGIyMWM3MDU1MjVkCitjaGVja3N1bT1mZGUxYWE3YjRmYmU2NGVjMWI0ZmM1 NzZhNTdmNDY4OGFkMTQ1M2QyZmFiNTljYmFkZDk0OGExMGE2ZWFmNWVmCiBweXRob25fdmVyc2lv bj0zCiAKIGlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgoKRnJvbSBiMjA3NDk0OWFhMmYzM2I0 YzBjOGE0MTBjMWIzZGI1ODk4MWFlNTI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBK b2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNTo0NCAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMjYvMjZdIHF0Ni0zZDogdXBkYXRlIHRvIDYuNS4wLgoKLS0t CiBzcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni0zZC90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LTNkL3RlbXBsYXRlCmluZGV4IDk1NTE5NjY4ZDFjYy4uNGI3 ZmJlZTA1NjJlIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3F0Ni0zZC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J3F0Ni0zZCcKIHBrZ25hbWU9cXQ2LTNkCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiBy ZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1k ZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTEsNyArMTEsNyBAQCBtYWludGFpbmVyPSJKb2hu IDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIu MC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNl cHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8v ZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNp b259L3N1Ym1vZHVsZXMvcXQzZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNo ZWNrc3VtPTQ1NmMyNGMzZDM4NDAyNzNlNzIwYjc5ZmU4ZmVkNDUyZmE4ODliNTRjYmFlNmI0NWRi MWQxZGVkNGRhMzczNDEKK2NoZWNrc3VtPTIwYjI1MDAyMzI0NGYyMWRmYmVjNWMwMDdiYWM4MDVk NDQ5NGZhNDYzYTZkZDI3NTM4YWZiMWE4MWIyMzA4MTYKIAogcXQ2LTNkLWRldmVsX3BhY2thZ2Uo KSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259Igo= --===============6314432764831197094==--