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, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 1868 invoked from network); 14 May 2023 10:53:48 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 14 May 2023 10:53:48 -0000 Content-Type: multipart/mixed; boundary="===============7363017688144135646==" MIME-Version: 1.0 Subject: =?utf8?b?UmU6IFtQUiBQQVRDSF0gW1VwZGF0ZWRdIHJlMjogdXBkYXRlIHRvIDIwMjMuMDMuMDEu?= To: ml@inbox.vuxu.org From: Johnnynator Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 14 May 2023 12:53:47 +0200 List-Id: Message-ID: <20230514105347.7vLx-pFc6AIoS9aofMRZzTdPweLZwFA7Fqt9N1CTZhY@z> GitHub notification mails are now in MIME to allow UTF8. --===============7363017688144135646== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgSm9obm55bmF0b3IgYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L21obWRhbmFzL3ZvaWQtcGFja2FnZXMgcmUyLTIwMjMuMDMuMDEKaHR0cHM6Ly9naXRodWIuY29t L3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQzNjg0CgpyZTI6IHVwZGF0ZSB0byAyMDIz LjAzLjAxLgo8IS0tIFVuY29tbWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlv bnMgd2hpY2ggYXJlIG5vdCBhcHBsaWNhYmxlIC0tPgpbY2kgc2tpcF0KCiMjIyMgVGVzdGluZyB0 aGUgY2hhbmdlcwotIEkgdGVzdGVkIHRoZSBjaGFuZ2VzIGluIHRoaXMgUFI6ICoqYnJpZWZseSoq Cgo8IS0tCiMjIyMgTmV3IHBhY2thZ2UKLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRo ZSBbcGFja2FnZSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1l bnRzKTogKipZRVMqKnwqKk5PKioKLS0+Cgo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtl bHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBk ZXNjcmliZWQgaW4KaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9i bG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjY29udGludW91cy1pbnRlZ3JhdGlvbgphbmQgdGVz dCBhdCBsZWFzdCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBv bmUgY3Jvc3MgYnVpbGQuCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qgc2tp cHBpbmcgQ0kuCi0tPgo8IS0tCiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZwotIEkgYnVpbHQgdGhp cyBQUiBsb2NhbGx5IGZvciBteSBuYXRpdmUgYXJjaGl0ZWN0dXJlLCAoQVJDSC1MSUJDKQotIEkg YnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChpZiBzdXBwb3J0 ZWQuIG1hcmsgY3Jvc3NidWlsZHMpOgogIC0gYWFyY2g2NC1tdXNsCiAgLSBhcm12N2wKICAtIGFy bXY2bC1tdXNsCi0tPgoKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lk LWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80MzY4NC5wYXRjaCBpcyBhdHRhY2hlZA== --===============7363017688144135646== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-re2-2023.03.01-43684.patch" RnJvbSA3MTY1N2E0MjUzZjJiZGI4ZTQ4OTc1ODcyNDEzMmFjYThiMThhYmI3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwg MyBBcHIgMjAyMyAxOTozNzo0NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMzldIHF0Ni13ZWJz 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 L2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gN2I5MjFjODZhNGZkM2U0NWMxZTljNzIwYWE1 ZjE3NDg4MTM3ZWYzZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9o bm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6Mzc6NDQgKzAyMDAKU3ViamVj dDogW1BBVENIIDAyLzM5XSBxdDYtd2ViZW5naW5lOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIC4u Li9wYXRjaGVzLzAwMDQtcmlzY3YtYW5nbGUucGF0Y2ggICAgICAgICAgICB8ICAgMjggKwogLi4u L3BhdGNoZXMvMDAwNC1yaXNjdi1hbmdsZS5wYXRjaC5hcmdzICAgICAgIHwgICAgMSArCiAuLi4v cGF0Y2hlcy8wMDA1LXJpc2N2LWNyYXNocGFkLnBhdGNoICAgICAgICAgfCAgNzc4ICsrKysrKysK IC4uLi9wYXRjaGVzLzAwMDUtcmlzY3YtY3Jhc2hwYWQucGF0Y2guYXJncyAgICB8ICAgIDEgKwog Li4uL3BhdGNoZXMvMDAwNi1yaXNjdi1kYXYxZC5wYXRjaCAgICAgICAgICAgIHwgICA0NCArCiAu Li4vcGF0Y2hlcy8wMDA2LXJpc2N2LWRhdjFkLnBhdGNoLmFyZ3MgICAgICAgfCAgICAxICsKIC4u Li9wYXRjaGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaCAgICAgICAgICB8IDE5NTYgKysrKysr KysrKysrKysrKysKIC4uLi9wYXRjaGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaC5hcmdzICAg ICB8ICAgIDEgKwogLi4uLzAxMDAtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2ggICAgICAg IHwgIDE1NCAtLQogLi4ub21pdW0tMTAyLWZlbmNlZF9mcmFtZV91dGlscy1pbmNsdWRlLnBhdGNo IHwgICAyMCAtCiAuLi4xMDItY2hyb21pdW0tMTAyLXJlZ2V4X3BhdHRlcm4tYXJyYXkucGF0Y2gg fCAgIDE0IC0KIC4uLjAxMDMtY2hyb21pdW0taTY4Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRjaCB8 ICAgMjMgLQogLi4uLzAxMDQtY2hyb21pdW0tbGlieG1sLXVuYnVuZGxlLnBhdGNoICAgICAgIHwg ICAxMCAtCiAuLi4vcGF0Y2hlcy8wMTA3LWNocm9taXVtLWNyb3NzLWJ1aWxkLnBhdGNoICAgfCAg ICA2ICstCiAuLi4vcGF0Y2hlcy8wMTE3LWNocm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2ggfCAg IDI1ICstCiAuLi4vcGF0Y2hlcy8wMTI0LWNocm9taXVtLWVuYWJsZS1pNjg2LnBhdGNoICAgfCAg IDE3IC0KIC4uLi8wMTI5LWNocm9taXVtLXNhbmRib3gtc2hlZF9nZXRwYXJhbS5wYXRjaCB8ICAg MjUgKy0KIC4uLi9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1NS1zeXN0eXBlcy5wYXRjaCB8ICAg MTEgKwogLi4uL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1zbmRpby5wYXRjaCAgICAgICAgIHwgIDg0 OSAtLS0tLS0tCiAuLi4vcGF0Y2hlcy8wMzAwLWNocm9taXVtLW11c2wtaGFja3MucGF0Y2ggICAg fCAgIDE0IC0KIC4uLi9wYXRjaGVzLzAzMDEtY2hyb21pdW0tbXVzbC1zYW5kYm94LnBhdGNoICB8 ICAgMTcgLQogLi4uL3BhdGNoZXMvMDMwMi1jaHJvbWl1bS1uby1tYWxsaW5mby5wYXRjaCAgIHwg ICAzNyArLQogc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlICAgICAgICAgICAgICAgIHwg ICAgOCArLQogMjMgZmlsZXMgY2hhbmdlZCwgMjg2NyBpbnNlcnRpb25zKCspLCAxMTczIGRlbGV0 aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAwMDQtcmlzY3YtYW5nbGUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMDA0LXJpc2N2LWFuZ2xlLnBhdGNoLmFyZ3MKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA1LXJpc2N2LWNyYXNocGFk LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDAwNS1yaXNjdi1jcmFzaHBhZC5wYXRjaC5hcmdzCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNi1yaXNjdi1kYXYxZC5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDYtcmlzY3YtZGF2MWQu cGF0Y2guYXJncwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaC5hcmdzCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMC1jaHJvbWl1 bS1yZXZlcnQtOWQwODBjMC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxMDEtY2hyb21pdW0tMTAyLWZlbmNlZF9mcmFtZV91dGlscy1pbmNs dWRlLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDEwMi1jaHJvbWl1bS0xMDItcmVnZXhfcGF0dGVybi1hcnJheS5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDMtY2hyb21pdW0taTY4 Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDQtY2hyb21pdW0tbGlieG1sLXVuYnVuZGxlLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyNC1jaHJv bWl1bS1lbmFibGUtaTY4Ni5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxNTUtc3lzdHlwZXMucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAwLWNocm9taXVtLXNuZGlvLnBhdGNoCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNC1yaXNjdi1hbmds ZS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDQtcmlzY3YtYW5nbGUu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xYWNlYjZmMmQy MjkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA0 LXJpc2N2LWFuZ2xlLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0luZGV4OiBjaHJvbWl1bS0xMTEu MC41NTYzLjY0L3RoaXJkX3BhcnR5L2FuZ2xlL2duaS9hbmdsZS5nbmkKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBjaHJvbWl1bS0xMTEuMC41NTYzLjY0Lm9yaWcvdGhpcmRfcGFydHkvYW5nbGUvZ25pL2FuZ2xl LmduaQorKysrIGNocm9taXVtLTExMS4wLjU1NjMuNjQvdGhpcmRfcGFydHkvYW5nbGUvZ25pL2Fu Z2xlLmduaQorQEAgLTEwNSw3ICsxMDUsOCBAQCBkZWNsYXJlX2FyZ3MoKSB7CisgCisgICBpZiAo Y3VycmVudF9jcHUgPT0gImFybTY0IiB8fCBjdXJyZW50X2NwdSA9PSAieDY0IiB8fAorICAgICAg IGN1cnJlbnRfY3B1ID09ICJtaXBzNjRlbCIgfHwgY3VycmVudF9jcHUgPT0gInMzOTB4IiB8fAor LSAgICAgIGN1cnJlbnRfY3B1ID09ICJwcGM2NCIgfHwgY3VycmVudF9jcHUgPT0gImxvb25nNjQi KSB7CisrICAgICAgY3VycmVudF9jcHUgPT0gInBwYzY0IiB8fCBjdXJyZW50X2NwdSA9PSAibG9v bmc2NCIgfHwKKysgICAgICBjdXJyZW50X2NwdSA9PSAicmlzY3Y2NCIpIHsKKyAgICAgYW5nbGVf NjRiaXRfY3VycmVudF9jcHUgPSB0cnVlCisgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJh cm0iIHx8IGN1cnJlbnRfY3B1ID09ICJ4ODYiIHx8CisgICAgICAgICAgICAgIGN1cnJlbnRfY3B1 ID09ICJtaXBzZWwiIHx8IGN1cnJlbnRfY3B1ID09ICJzMzkwIiB8fAorSW5kZXg6IGNocm9taXVt LTExMS4wLjU1NjMuNjQvdGhpcmRfcGFydHkvYW5nbGUvc3JjL2NvbW1vbi9wbGF0Zm9ybS5oCis9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CistLS0gY2hyb21pdW0tMTExLjAuNTU2My42NC5vcmlnL3RoaXJkX3BhcnR5L2Fu Z2xlL3NyYy9jb21tb24vcGxhdGZvcm0uaAorKysrIGNocm9taXVtLTExMS4wLjU1NjMuNjQvdGhp cmRfcGFydHkvYW5nbGUvc3JjL2NvbW1vbi9wbGF0Zm9ybS5oCitAQCAtMTA4LDcgKzEwOCw3IEBA CisgI2VuZGlmCisgCisgLy8gTWlwcyBhbmQgYXJtIGRldmljZXMgbmVlZCB0byBpbmNsdWRlIHN0 ZGRlZiBmb3Igc2l6ZV90LgorLSNpZiBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fYXJt X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmIGRlZmluZWQoX19taXBzX18pIHx8IGRl ZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Jpc2N2 KQorICMgICAgaW5jbHVkZSA8c3RkZGVmLmg+CisgI2VuZGlmCisgCisKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDQtcmlzY3YtYW5nbGUucGF0Y2guYXJncyBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDQtcmlzY3YtYW5nbGUucGF0Y2guYXJn cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQ1ZjM4ZTM1NGU3Zgot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDQtcmlz Y3YtYW5nbGUucGF0Y2guYXJncwpAQCAtMCwwICsxIEBACistTnAxIC0tZGlyZWN0b3J5PXNyYy8z cmRwYXJ0eS9jaHJvbWl1bS8KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAwMDUtcmlzY3YtY3Jhc2hwYWQucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMDA1LXJpc2N2LWNyYXNocGFkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uMDEyYTM4YzM4ODY1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNS1yaXNjdi1jcmFzaHBhZC5wYXRjaApAQCAtMCwwICsx LDc3OCBAQAorSW5kZXg6IGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dC5oCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g Y2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHQuaAorKysrIGNocm9taXVtLTEwNi4wLjUyNDkuOTEv dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dC5o CitAQCAtNjM3LDYgKzYzNyw0MSBAQCBzdHJ1Y3QgTWluaWR1bXBDb250ZXh0TUlQUzY0IHsKKyAg IHVpbnQ2NF90IGZpcjsKKyB9OworIAorKy8vISBcYnJpZWYgNjRiaXQgUklTQy1WLXNwZWNpZmMg ZmxhZ3MgZm9yIE1pbmlkdW1wQ29udGV4dFJJU0NWNjQ6OmNvbnRleHRfZmxhZ3MuCisrLy8hIEJh c2VkIG9uIG1pbmlkdW1wX2NwdV9yaXNjdjY0LmggZnJvbSBicmVha3BhZAorK2VudW0gTWluaWR1 bXBDb250ZXh0UklTQ1Y2NEZsYWdzIDogdWludDMyX3QgeworKyAgLy8hIFxicmllZiBJZGVudGlm aWVzIHRoZSBjb250ZXh0IHN0cnVjdHVyZSBhcyBSSVNDVjY0LgorKyAga01pbmlkdW1wQ29udGV4 dFJJU0NWNjQgPSAweDAwMDgwMDAwLAorKworKyAgLy8hIFxicmllZiBJbmRpY2F0ZXMgdGhlIHZh bGlkaXR5IG9mIGludGVnZXIgcmVnaXN0ZXJzLgorKyAgLy8hCisrICAvLyEgUmVnaXN0ZXJzIGB4 MWAtYHgzMWAgYW5kIHBjIGFyZSB2YWxpZC4KKysgIGtNaW5pZHVtcENvbnRleHRSSVNDVjY0SW50 ZWdlciA9IGtNaW5pZHVtcENvbnRleHRSSVNDVjY0IHwgMHgwMDAwMDAwMiwKKysKKysgIC8vISBc YnJpZWYgSW5kaWNhdGVzIHRoZSB2YWxpZGl0eSBvZiBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMu CisrICAvLyEKKysgIC8vISBGbG9hdGluZyBwb2ludCByZWdpc3RlcnMgYGYwYC1gZjMxYCwgYW5k IGBmY3NyYCBhcmUgdmFsaWQKKysgIGtNaW5pZHVtcENvbnRleHRSSVNDVjY0RmxvYXRpbmdQb2lu dCA9IGtNaW5pZHVtcENvbnRleHRSSVNDVjY0IHwgMHgwMDAwMDAwNCwKKysKKysgIC8vISBcYnJp ZWYgSW5kaWNhdGVzIHRoZSB2YWxpZGl0eSBvZiBhbGwgcmVnaXN0ZXJzLgorKyAga01pbmlkdW1w Q29udGV4dFJJU0NWNjRBbGwgPSBrTWluaWR1bXBDb250ZXh0UklTQ1Y2NEludGVnZXIgfAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtNaW5pZHVtcENvbnRleHRSSVNDVjY0RmxvYXRp bmdQb2ludCwKKyt9OworKworKy8vISBcYnJpZWYgQSA2NGJpdCBSSVNDViBDUFUgY29udGV4dCAo cmVnaXN0ZXIgc3RhdGUpIGNhcnJpZWQgaW4gYSBtaW5pZHVtcCBmaWxlLgorK3N0cnVjdCBNaW5p ZHVtcENvbnRleHRSSVNDVjY0IHsKKysgIHVpbnQ2NF90IGNvbnRleHRfZmxhZ3M7CisrCisrICAv LyEgXGJyaWVmIEdlbmVyYWwgcHVycG9zZSByZWdpc3RlcnMuCisrICB1aW50NjRfdCByZWdzWzMy XTsKKysKKysgIC8vISBcYnJpZWYgRlBVIHJlZ2lzdGVycy4KKysgIHVpbnQ2NF90IGZwcmVnc1sz Ml07CisrCisrICAvLyEgXGJyaWVmIEZQVSBzdGF0dXMgcmVnaXN0ZXIuCisrICB1aW50NjRfdCBm Y3NyOworK307CisrCisgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCisgCisgI2VuZGlmICAvLyBD UkFTSFBBRF9NSU5JRFVNUF9NSU5JRFVNUF9DT05URVhUX0hfCitJbmRleDogY2hyb21pdW0tMTA2 LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVt cF9jb250ZXh0X3dyaXRlci5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNi4wLjUyNDku OTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9j b250ZXh0X3dyaXRlci5jYworKysrIGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuY2MKK0BA IC0xMDIsNiArMTAyLDEzIEBAIE1pbmlkdW1wQ29udGV4dFdyaXRlcjo6Q3JlYXRlRnJvbVNuYXBz aG8KKyAgICAgICBicmVhazsKKyAgICAgfQorIAorKyAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVS SVNDVjY0OiB7CisrICAgICAgY29udGV4dCA9IHN0ZDo6bWFrZV91bmlxdWU8TWluaWR1bXBDb250 ZXh0UklTQ1Y2NFdyaXRlcj4oKTsKKysgICAgICByZWludGVycHJldF9jYXN0PE1pbmlkdW1wQ29u dGV4dFJJU0NWNjRXcml0ZXIqPihjb250ZXh0LmdldCgpKQorKyAgICAgICAgICAtPkluaXRpYWxp emVGcm9tU25hcHNob3QoY29udGV4dF9zbmFwc2hvdC0+cmlzY3Y2NCk7CisrICAgICAgYnJlYWs7 CisrICAgIH0KKysKKyAgICAgZGVmYXVsdDogeworICAgICAgIExPRyhFUlJPUikgPDwgInVua25v d24gY29udGV4dCBhcmNoaXRlY3R1cmUgIgorICAgICAgICAgICAgICAgICAgPDwgY29udGV4dF9z bmFwc2hvdC0+YXJjaGl0ZWN0dXJlOworQEAgLTU1NSw1ICs1NjIsNDIgQEAgc2l6ZV90IE1pbmlk dW1wQ29udGV4dE1JUFM2NFdyaXRlcjo6Q29udAorICAgRENIRUNLX0dFKHN0YXRlKCksIGtTdGF0 ZUZyb3plbik7CisgICByZXR1cm4gc2l6ZW9mKGNvbnRleHRfKTsKKyB9CisrCisrTWluaWR1bXBD b250ZXh0UklTQ1Y2NFdyaXRlcjo6TWluaWR1bXBDb250ZXh0UklTQ1Y2NFdyaXRlcigpCisrICAg IDogTWluaWR1bXBDb250ZXh0V3JpdGVyKCksIGNvbnRleHRfKCkgeworKyAgY29udGV4dF8uY29u dGV4dF9mbGFncyA9IGtNaW5pZHVtcENvbnRleHRSSVNDVjY0OworK30KKysKKytNaW5pZHVtcENv bnRleHRSSVNDVjY0V3JpdGVyOjp+TWluaWR1bXBDb250ZXh0UklTQ1Y2NFdyaXRlcigpID0gZGVm YXVsdDsKKysKKyt2b2lkIE1pbmlkdW1wQ29udGV4dFJJU0NWNjRXcml0ZXI6OkluaXRpYWxpemVG cm9tU25hcHNob3QoCisrICAgIGNvbnN0IENQVUNvbnRleHRSSVNDVjY0KiBjb250ZXh0X3NuYXBz aG90KSB7CisrICBEQ0hFQ0tfRVEoc3RhdGUoKSwga1N0YXRlTXV0YWJsZSk7CisrICBEQ0hFQ0tf RVEoY29udGV4dF8uY29udGV4dF9mbGFncywga01pbmlkdW1wQ29udGV4dFJJU0NWNjQpOworKwor KyAgY29udGV4dF8uY29udGV4dF9mbGFncyA9IGtNaW5pZHVtcENvbnRleHRSSVNDVjY0QWxsOwor KworKyAgc3RhdGljX2Fzc2VydChzaXplb2YoY29udGV4dF8ucmVncykgPT0gc2l6ZW9mKGNvbnRl eHRfc25hcHNob3QtPnJlZ3MpLAorKyAgICAgICAgICAgICAgICAiR1BScyBzaXplIG1pc21hdGNo Iik7CisrICBtZW1jcHkoY29udGV4dF8ucmVncywgY29udGV4dF9zbmFwc2hvdC0+cmVncywgc2l6 ZW9mKGNvbnRleHRfLnJlZ3MpKTsKKysKKysgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKGNvbnRleHRf LmZwcmVncykgPT0gc2l6ZW9mKGNvbnRleHRfc25hcHNob3QtPmZwcmVncyksCisrICAgICAgICAg ICAgICAgICJGUFJzIHNpemUgbWlzbWF0Y2giKTsKKysgIG1lbWNweShjb250ZXh0Xy5mcHJlZ3Ms CisrICAgICAgICAgY29udGV4dF9zbmFwc2hvdC0+ZnByZWdzLAorKyAgICAgICAgIHNpemVvZihj b250ZXh0Xy5mcHJlZ3MpKTsKKysgIGNvbnRleHRfLmZjc3IgPSBjb250ZXh0X3NuYXBzaG90LT5m Y3NyOworK30KKysKKytib29sIE1pbmlkdW1wQ29udGV4dFJJU0NWNjRXcml0ZXI6OldyaXRlT2Jq ZWN0KAorKyAgICBGaWxlV3JpdGVySW50ZXJmYWNlKiBmaWxlX3dyaXRlcikgeworKyAgRENIRUNL X0VRKHN0YXRlKCksIGtTdGF0ZVdyaXRhYmxlKTsKKysgIHJldHVybiBmaWxlX3dyaXRlci0+V3Jp dGUoJmNvbnRleHRfLCBzaXplb2YoY29udGV4dF8pKTsKKyt9CisrCisrc2l6ZV90IE1pbmlkdW1w Q29udGV4dFJJU0NWNjRXcml0ZXI6OkNvbnRleHRTaXplKCkgY29uc3QgeworKyAgRENIRUNLX0dF KHN0YXRlKCksIGtTdGF0ZUZyb3plbik7CisrICByZXR1cm4gc2l6ZW9mKGNvbnRleHRfKTsKKyt9 CisgCisgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCitJbmRleDogY2hyb21pdW0tMTA2LjAuNTI0 OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250 ZXh0X3dyaXRlci5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA2LjAuNTI0OS45MS5vcmln L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRf d3JpdGVyLmgKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmgKK0BAIC0zNjksNiAr MzY5LDQ5IEBAIGNsYXNzIE1pbmlkdW1wQ29udGV4dE1JUFM2NFdyaXRlciBmaW5hbAorICAgTWlu aWR1bXBDb250ZXh0TUlQUzY0IGNvbnRleHRfOworIH07CisgCisrLy8hIFxicmllZiBUaGUgd3Jp dGVyIGZvciBhIE1pbmlkdW1wQ29udGV4dFJJU0NWNjQgc3RydWN0dXJlIGluIGEgbWluaWR1bXAg ZmlsZS4KKytjbGFzcyBNaW5pZHVtcENvbnRleHRSSVNDVjY0V3JpdGVyIGZpbmFsIDogcHVibGlj IE1pbmlkdW1wQ29udGV4dFdyaXRlciB7CisrIHB1YmxpYzoKKysgIE1pbmlkdW1wQ29udGV4dFJJ U0NWNjRXcml0ZXIoKTsKKysKKysgIE1pbmlkdW1wQ29udGV4dFJJU0NWNjRXcml0ZXIoY29uc3Qg TWluaWR1bXBDb250ZXh0UklTQ1Y2NFdyaXRlciYpID0gZGVsZXRlOworKyAgTWluaWR1bXBDb250 ZXh0UklTQ1Y2NFdyaXRlciYgb3BlcmF0b3I9KGNvbnN0IE1pbmlkdW1wQ29udGV4dFJJU0NWNjRX cml0ZXImKSA9CisrICAgICAgZGVsZXRlOworKworKyAgfk1pbmlkdW1wQ29udGV4dFJJU0NWNjRX cml0ZXIoKSBvdmVycmlkZTsKKysKKysgIC8vISBcYnJpZWYgSW5pdGlhbGl6ZXMgdGhlIE1pbmlk dW1wQ29udGV4dFJJU0NWIGJhc2VkIG9uIFxhIGNvbnRleHRfc25hcHNob3QuCisrICAvLyEKKysg IC8vISBccGFyYW1baW5dIGNvbnRleHRfc25hcHNob3QgVGhlIGNvbnRleHQgc25hcHNob3QgdG8g dXNlIGFzIHNvdXJjZSBkYXRhLgorKyAgLy8hCisrICAvLyEgXG5vdGUgVmFsaWQgaW4gI2tTdGF0 ZU11dGFibGUuIE5vIG11dGF0aW9uIG9mIGNvbnRleHQoKSBtYXkgYmUgZG9uZSBiZWZvcmUKKysg IC8vISAgICAgY2FsbGluZyB0aGlzIG1ldGhvZCwgYW5kIGl0IGlzIG5vdCBub3JtYWxseSBuZWNl c3NhcnkgdG8gYWx0ZXIKKysgIC8vISAgICAgY29udGV4dCgpIGFmdGVyIGNhbGxpbmcgdGhpcyBt ZXRob2QuCisrICB2b2lkIEluaXRpYWxpemVGcm9tU25hcHNob3QoY29uc3QgQ1BVQ29udGV4dFJJ U0NWNjQqIGNvbnRleHRfc25hcHNob3QpOworKworKyAgLy8hIFxicmllZiBSZXR1cm5zIGEgcG9p bnRlciB0byB0aGUgY29udGV4dCBzdHJ1Y3R1cmUgdGhhdCB0aGlzIG9iamVjdCB3aWxsCisrICAv LyEgICAgIHdyaXRlLgorKyAgLy8hCisrICAvLyEgXGF0dGVudGlvbiBUaGlzIHJldHVybnMgYSBu b24tYGNvbnN0YCBwb2ludGVyIHRvIHRoaXMgb2JqZWN04oCZcyBwcml2YXRlCisrICAvLyEgICAg IGRhdGEgc28gdGhhdCBhIGNhbGxlciBjYW4gcG9wdWxhdGUgdGhlIGNvbnRleHQgc3RydWN0dXJl IGRpcmVjdGx5LgorKyAgLy8hICAgICBUaGlzIGlzIGRvbmUgYmVjYXVzZSBwcm92aWRpbmcgc2V0 dGVyIGludGVyZmFjZXMgdG8gZWFjaCBmaWVsZCBpbiB0aGUKKysgIC8vISAgICAgY29udGV4dCBz dHJ1Y3R1cmUgd291bGQgYmUgdW53aWVsZHkgYW5kIGN1bWJlcnNvbWUuIENhcmUgbXVzdCBiZSB0 YWtlbgorKyAgLy8hICAgICB0byBwb3B1bGF0ZSB0aGUgY29udGV4dCBzdHJ1Y3R1cmUgY29ycmVj dGx5LiBUaGUgY29udGV4dCBzdHJ1Y3R1cmUKKysgIC8vISAgICAgbXVzdCBvbmx5IGJlIG1vZGlm aWVkIHdoaWxlIHRoaXMgb2JqZWN0IGlzIGluIHRoZSAja1N0YXRlTXV0YWJsZQorKyAgLy8hICAg ICBzdGF0ZS4KKysgIE1pbmlkdW1wQ29udGV4dFJJU0NWNjQqIGNvbnRleHQoKSB7IHJldHVybiAm Y29udGV4dF87IH0KKysKKysgcHJvdGVjdGVkOgorKyAgLy8gTWluaWR1bXBXcml0YWJsZToKKysg IGJvb2wgV3JpdGVPYmplY3QoRmlsZVdyaXRlckludGVyZmFjZSogZmlsZV93cml0ZXIpIG92ZXJy aWRlOworKworKyAgLy8gTWluaWR1bXBDb250ZXh0V3JpdGVyOgorKyAgc2l6ZV90IENvbnRleHRT aXplKCkgY29uc3Qgb3ZlcnJpZGU7CisrCisrIHByaXZhdGU6CisrICBNaW5pZHVtcENvbnRleHRS SVNDVjY0IGNvbnRleHRfOworK307CisrCisgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCisgCisg I2VuZGlmICAvLyBDUkFTSFBBRF9NSU5JRFVNUF9NSU5JRFVNUF9DT05URVhUX1dSSVRFUl9IXwor SW5kZXg6IGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvbWluaWR1bXAvbWluaWR1bXBfbWlzY19pbmZvX3dyaXRlci5jYworPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0t IGNocm9taXVtLTEwNi4wLjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9taW5pZHVtcC9taW5pZHVtcF9taXNjX2luZm9fd3JpdGVyLmNjCisrKysgY2hyb21pdW0tMTA2 LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVt cF9taXNjX2luZm9fd3JpdGVyLmNjCitAQCAtMTc1LDYgKzE3NSwxMCBAQCBzdGQ6OnN0cmluZyBN aW5pZHVtcE1pc2NJbmZvRGVidWdCdWlsZFN0CisgICBzdGF0aWMgY29uc3RleHByIGNoYXIga0NQ VVtdID0gIm1pcHMiOworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQUzY0RUwpCisgICBzdGF0 aWMgY29uc3RleHByIGNoYXIga0NQVVtdID0gIm1pcHM2NCI7CisrI2VsaWYgZGVmaW5lZChBUkNI X0NQVV9SSVNDVjMyKQorKyAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJyaXNjdjMy IjsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWNjQpCisrICBzdGF0aWMgY29uc3RleHBy IGNoYXIga0NQVVtdID0gInJpc2N2NjQiOworICNlbHNlCisgI2Vycm9yIGRlZmluZSBrQ1BVIGZv ciB0aGlzIENQVQorICNlbmRpZgorSW5kZXg6IGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY2FwdHVyZV9tZW1vcnkuY2MKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvc25hcHNob3QvY2FwdHVyZV9tZW1vcnkuY2MKKysrKyBjaHJvbWl1bS0xMDYu MC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NhcHR1cmVf bWVtb3J5LmNjCitAQCAtMTE3LDYgKzExNywxNiBAQCB2b2lkIENhcHR1cmVNZW1vcnk6OlBvaW50 ZWRUb0J5Q29udGV4dChjCisgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0ZDo6c2l6ZShjb250 ZXh0Lm1pcHNlbC0+cmVncyk7ICsraSkgeworICAgICBNYXliZUNhcHR1cmVNZW1vcnlBcm91bmQo ZGVsZWdhdGUsIGNvbnRleHQubWlwc2VsLT5yZWdzW2ldKTsKKyAgIH0KKysjZWxpZiBkZWZpbmVk KEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKysgIGlmIChjb250ZXh0LmFyY2hpdGVjdHVyZSA9PSBr Q1BVQXJjaGl0ZWN0dXJlUklTQ1Y2NCkgeworKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0 ZDo6c2l6ZShjb250ZXh0LnJpc2N2NjQtPnJlZ3MpOyArK2kpIHsKKysgICAgICBNYXliZUNhcHR1 cmVNZW1vcnlBcm91bmQoZGVsZWdhdGUsIGNvbnRleHQucmlzY3Y2NC0+cmVnc1tpXSk7CisrICAg IH0KKysgIH0gZWxzZSB7CisrICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RkOjpzaXplKGNv bnRleHQucmlzY3YzMi0+cmVncyk7ICsraSkgeworKyAgICAgIE1heWJlQ2FwdHVyZU1lbW9yeUFy b3VuZChkZWxlZ2F0ZSwgY29udGV4dC5yaXNjdjMyLT5yZWdzW2ldKTsKKysgICAgfQorKyAgfQor ICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmCitJbmRleDogY2hyb21pdW0tMTA2LjAuNTI0 OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfYXJjaGl0ZWN0 dXJlLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hpdGVjdHVyZS5oCisrKysg Y2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9jcHVfYXJjaGl0ZWN0dXJlLmgKK0BAIC00Myw3ICs0MywxMyBAQCBlbnVtIENQVUFyY2hp dGVjdHVyZSB7CisgICBrQ1BVQXJjaGl0ZWN0dXJlTUlQU0VMLAorIAorICAgLy8hIFxicmllZiA2 NC1iaXQgTUlQU0VMLgorLSAga0NQVUFyY2hpdGVjdHVyZU1JUFM2NEVMCisrICBrQ1BVQXJjaGl0 ZWN0dXJlTUlQUzY0RUwsCisrCisrICAvLyEgXGJyaWVmIDMyLWJpdCBSSVNDVi4KKysgIGtDUFVB cmNoaXRlY3R1cmVSSVNDVjMyLAorKworKyAgLy8hIFxicmllZiA2NC1iaXQgUklTQ1YuCisrICBr Q1BVQXJjaGl0ZWN0dXJlUklTQ1Y2NAorIH07CisgCisgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFk CitJbmRleDogY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEw Ni4wLjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9j cHVfY29udGV4dC5jYworKysrIGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuY2MKK0BAIC0yMjYsMTAgKzIyNiwx MiBAQCBib29sIENQVUNvbnRleHQ6OklzNjRCaXQoKSBjb25zdCB7CisgICAgIGNhc2Uga0NQVUFy Y2hpdGVjdHVyZVg4Nl82NDoKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlQVJNNjQ6CisgICAg IGNhc2Uga0NQVUFyY2hpdGVjdHVyZU1JUFM2NEVMOgorKyAgICBjYXNlIGtDUFVBcmNoaXRlY3R1 cmVSSVNDVjY0OgorICAgICAgIHJldHVybiB0cnVlOworICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1 cmVYODY6CisgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZUFSTToKKyAgICAgY2FzZSBrQ1BVQXJj aGl0ZWN0dXJlTUlQU0VMOgorKyAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVSSVNDVjMyOgorICAg ICAgIHJldHVybiBmYWxzZTsKKyAgICAgZGVmYXVsdDoKKyAgICAgICBOT1RSRUFDSEVEKCk7CitJ bmRleDogY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9jcHVfY29udGV4dC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA2LjAu NTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9j b250ZXh0LmgKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmgKK0BAIC0zNjIsNiArMzYyLDIwIEBAIHN0 cnVjdCBDUFVDb250ZXh0TUlQUzY0IHsKKyAgIHVpbnQ2NF90IGZpcjsKKyB9OworIAorKy8vISBc YnJpZWYgQSBjb250ZXh0IHN0cnVjdHVyZSBjYXJyeWluZyBSSVNDVjMyIENQVSBzdGF0ZS4KKytz dHJ1Y3QgQ1BVQ29udGV4dFJJU0NWMzIgeworKyAgdWludDMyX3QgcmVnc1szMl07CisrICB1aW50 NjRfdCBmcHJlZ3NbMzJdOworKyAgdWludDMyX3QgZmNzcjsKKyt9OworKworKy8vISBcYnJpZWYg QSBjb250ZXh0IHN0cnVjdHVyZSBjYXJyeWluZyBSSVNDVjY0IENQVSBzdGF0ZS4KKytzdHJ1Y3Qg Q1BVQ29udGV4dFJJU0NWNjQgeworKyAgdWludDY0X3QgcmVnc1szMl07CisrICB1aW50NjRfdCBm cHJlZ3NbMzJdOworKyAgdWludDMyX3QgZmNzcjsKKyt9OworKworIC8vISBcYnJpZWYgQSBjb250 ZXh0IHN0cnVjdHVyZSBjYXBhYmxlIG9mIGNhcnJ5aW5nIHRoZSBjb250ZXh0IG9mIGFueSBzdXBw b3J0ZWQKKyAvLyEgICAgIENQVSBhcmNoaXRlY3R1cmUuCisgc3RydWN0IENQVUNvbnRleHQgewor QEAgLTQwMiw2ICs0MTYsOCBAQCBzdHJ1Y3QgQ1BVQ29udGV4dCB7CisgICAgIENQVUNvbnRleHRB Uk02NCogYXJtNjQ7CisgICAgIENQVUNvbnRleHRNSVBTKiBtaXBzZWw7CisgICAgIENQVUNvbnRl eHRNSVBTNjQqIG1pcHM2NDsKKysgICAgQ1BVQ29udGV4dFJJU0NWMzIqIHJpc2N2MzI7CisrICAg IENQVUNvbnRleHRSSVNDVjY0KiByaXNjdjY0OworICAgfTsKKyB9OworIAorSW5kZXg6IGNocm9t aXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvY3B1X2NvbnRleHRfbGludXguY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDYu MC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGlu dXgvY3B1X2NvbnRleHRfbGludXguY2MKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4 LmNjCitAQCAtMjY2LDYgKzI2NiwzMCBAQCB2b2lkIEluaXRpYWxpemVDUFVDb250ZXh0QVJNNjRf T25seUZQU0lNCisgICBjb250ZXh0LT5mcGNyID0gZmxvYXRfY29udGV4dC5mcGNyOworIH0KKyAK KysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKysKKyt0ZW1wbGF0ZSA8dHlw ZW5hbWUgVHJhaXRzPgorK3ZvaWQgSW5pdGlhbGl6ZUNQVUNvbnRleHRSSVNDVigKKysgICAgY29u c3QgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxUaHJlYWRDb250ZXh0JiB0aHJlYWRfY29udGV4dCwK KysgICAgY29uc3QgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxGbG9hdENvbnRleHQmIGZsb2F0X2Nv bnRleHQsCisrICAgIHR5cGVuYW1lIFRyYWl0czo6Q1BVQ29udGV4dCogY29udGV4dCkgeworKyAg c3RhdGljX2Fzc2VydChzaXplb2YoY29udGV4dC0+cmVncykgPT0gc2l6ZW9mKHRocmVhZF9jb250 ZXh0KSwKKysgICAgICAgICAgICAgICAgInJlZ2lzdGVycyBzaXplIG1pc21hdGNoIik7CisrICBz dGF0aWNfYXNzZXJ0KHNpemVvZihjb250ZXh0LT5mcHJlZ3MpID09IHNpemVvZihmbG9hdF9jb250 ZXh0LmYpLAorKyAgICAgICAgICAgICAgICAiZnAgcmVnaXN0ZXJzIHNpemUgbWlzbWF0Y2giKTsK KysgIG1lbWNweSgmY29udGV4dC0+cmVncywgJnRocmVhZF9jb250ZXh0LCBzaXplb2YoY29udGV4 dC0+cmVncykpOworKyAgbWVtY3B5KCZjb250ZXh0LT5mcHJlZ3MsICZmbG9hdF9jb250ZXh0LmYs IHNpemVvZihjb250ZXh0LT5mcHJlZ3MpKTsKKysgIGNvbnRleHQtPmZjc3IgPSBmbG9hdF9jb250 ZXh0LmZjc3I7CisrfQorK3RlbXBsYXRlIHZvaWQgSW5pdGlhbGl6ZUNQVUNvbnRleHRSSVNDVjxD b250ZXh0VHJhaXRzMzI+KAorKyAgICBjb25zdCBDb250ZXh0VHJhaXRzMzI6OlNpZ25hbFRocmVh ZENvbnRleHQmIHRocmVhZF9jb250ZXh0LAorKyAgICBjb25zdCBDb250ZXh0VHJhaXRzMzI6OlNp Z25hbEZsb2F0Q29udGV4dCYgZmxvYXRfY29udGV4dCwKKysgICAgQ29udGV4dFRyYWl0czMyOjpD UFVDb250ZXh0KiBjb250ZXh0KTsKKyt0ZW1wbGF0ZSB2b2lkIEluaXRpYWxpemVDUFVDb250ZXh0 UklTQ1Y8Q29udGV4dFRyYWl0czY0PigKKysgICAgY29uc3QgQ29udGV4dFRyYWl0czY0OjpTaWdu YWxUaHJlYWRDb250ZXh0JiB0aHJlYWRfY29udGV4dCwKKysgICAgY29uc3QgQ29udGV4dFRyYWl0 czY0OjpTaWduYWxGbG9hdENvbnRleHQmIGZsb2F0X2NvbnRleHQsCisrICAgIENvbnRleHRUcmFp dHM2NDo6Q1BVQ29udGV4dCogY29udGV4dCk7CisrCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZf RkFNSUxZCisgCisgfSAgLy8gbmFtZXNwYWNlIGludGVybmFsCitJbmRleDogY2hyb21pdW0tMTA2 LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9j cHVfY29udGV4dF9saW51eC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA2LjAuNTI0OS45 MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9j b250ZXh0X2xpbnV4LmgKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4LmgKK0BAIC0x NzQsNiArMTc0LDIyIEBAIHZvaWQgSW5pdGlhbGl6ZUNQVUNvbnRleHRNSVBTKAorIAorICNlbmRp ZiAgLy8gQVJDSF9DUFVfTUlQU19GQU1JTFkgfHwgRE9YWUdFTgorIAorKyNpZiBkZWZpbmVkKEFS Q0hfQ1BVX1JJU0NWX0ZBTUlMWSkgfHwgRE9YWUdFTgorKworKy8vISBcYnJpZWYgSW5pdGlhbGl6 ZXMgYSBDUFVDb250ZXh0UklTQ1Ygc3RydWN0dXJlIGZyb20gbmF0aXZlIGNvbnRleHQKKysvLyEg ICAgIHN0cnVjdHVyZXMgb24gTGludXguCisrLy8hCisrLy8hIFxwYXJhbVtpbl0gdGhyZWFkX2Nv bnRleHQgVGhlIG5hdGl2ZSB0aHJlYWQgY29udGV4dC4KKysvLyEgXHBhcmFtW2luXSBmbG9hdF9j b250ZXh0IFRoZSBuYXRpdmUgZmxvYXQgY29udGV4dC4KKysvLyEgXHBhcmFtW291dF0gY29udGV4 dCBUaGUgQ1BVQ29udGV4dFJJU0NWIHN0cnVjdHVyZSB0byBpbml0aWFsaXplLgorK3RlbXBsYXRl IDx0eXBlbmFtZSBUcmFpdHM+Cisrdm9pZCBJbml0aWFsaXplQ1BVQ29udGV4dFJJU0NWKAorKyAg ICBjb25zdCB0eXBlbmFtZSBUcmFpdHM6OlNpZ25hbFRocmVhZENvbnRleHQmIHRocmVhZF9jb250 ZXh0LAorKyAgICBjb25zdCB0eXBlbmFtZSBUcmFpdHM6OlNpZ25hbEZsb2F0Q29udGV4dCYgZmxv YXRfY29udGV4dCwKKysgICAgdHlwZW5hbWUgVHJhaXRzOjpDUFVDb250ZXh0KiBjb250ZXh0KTsK KysKKysjZW5kaWYgIC8vIEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSB8fCBET1hZR0VOCisrCisgfSAg Ly8gbmFtZXNwYWNlIGludGVybmFsCisgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCisgCitJbmRl eDogY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguY2MKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNjCisrKysgY2hyb21p dW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguY2MKK0BAIC0zMjUsNiArMzI1LDYxIEBAIGJv b2wgRXhjZXB0aW9uU25hcHNob3RMaW51eDo6UmVhZENvbnRleHQKKyAgICAgICByZWFkZXIsIGNv bnRleHRfYWRkcmVzcywgY29udGV4dF8ubWlwczY0KTsKKyB9CisgCisrI2VsaWYgZGVmaW5lZChB UkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrCisrdGVtcGxhdGUgPHR5cGVuYW1lIFRyYWl0cz4KKytz dGF0aWMgYm9vbCBSZWFkQ29udGV4dChQcm9jZXNzUmVhZGVyTGludXgqIHJlYWRlciwKKysgICAg ICAgICAgICAgICAgICAgICAgICBMaW51eFZNQWRkcmVzcyBjb250ZXh0X2FkZHJlc3MsCisrICAg ICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgVHJhaXRzOjpDUFVDb250ZXh0KiBkZXN0X2Nv bnRleHQpIHsKKysgIGNvbnN0IFByb2Nlc3NNZW1vcnkqIG1lbW9yeSA9IHJlYWRlci0+TWVtb3J5 KCk7CisrCisrICBMaW51eFZNQWRkcmVzcyBncmVnc19hZGRyZXNzID0gY29udGV4dF9hZGRyZXNz ICsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZihVQ29udGV4dDxU cmFpdHM+LCBtY29udGV4dCkgKworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9m ZnNldG9mKHR5cGVuYW1lIFRyYWl0czo6TUNvbnRleHQsIGdyZWdzKTsKKysKKysgIHR5cGVuYW1l IFRyYWl0czo6U2lnbmFsVGhyZWFkQ29udGV4dCB0aHJlYWRfY29udGV4dDsKKysgIGlmICghbWVt b3J5LT5SZWFkKGdyZWdzX2FkZHJlc3MsIHNpemVvZih0aHJlYWRfY29udGV4dCksICZ0aHJlYWRf Y29udGV4dCkpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3QgcmVhZCBncmVncyI7Cisr ICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysKKysgIExpbnV4Vk1BZGRyZXNzIGZwcmVnc19hZGRy ZXNzID0gY29udGV4dF9hZGRyZXNzICsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgb2Zmc2V0b2YoVUNvbnRleHQ8VHJhaXRzPiwgbWNvbnRleHQpICsKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodHlwZW5hbWUgVHJhaXRzOjpNQ29udGV4dCwg ZnByZWdzKTsKKysKKysgIHR5cGVuYW1lIFRyYWl0czo6U2lnbmFsRmxvYXRDb250ZXh0IGZwX2Nv bnRleHQ7CisrICBpZiAoIW1lbW9yeS0+UmVhZChmcHJlZ3NfYWRkcmVzcywgc2l6ZW9mKGZwX2Nv bnRleHQpLCAmZnBfY29udGV4dCkpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3QgcmVh ZCBmcHJlZ3MiOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrCisrICBJbml0aWFsaXplQ1BV Q29udGV4dFJJU0NWPFRyYWl0cz4odGhyZWFkX2NvbnRleHQsIGZwX2NvbnRleHQsIGRlc3RfY29u dGV4dCk7CisrCisrICByZXR1cm4gdHJ1ZTsKKyt9CisrCisrdGVtcGxhdGUgPD4KKytib29sIEV4 Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRDb250ZXh0PENvbnRleHRUcmFpdHMzMj4oCisrICAg IFByb2Nlc3NSZWFkZXJMaW51eCogcmVhZGVyLAorKyAgICBMaW51eFZNQWRkcmVzcyBjb250ZXh0 X2FkZHJlc3MpIHsKKysgIGNvbnRleHRfLmFyY2hpdGVjdHVyZSA9IGtDUFVBcmNoaXRlY3R1cmVS SVNDVjMyOworKyAgY29udGV4dF8ucmlzY3YzMiA9ICZjb250ZXh0X3VuaW9uXy5yaXNjdjMyOwor KworKyAgcmV0dXJuIGludGVybmFsOjpSZWFkQ29udGV4dDxDb250ZXh0VHJhaXRzMzI+KAorKyAg ICAgIHJlYWRlciwgY29udGV4dF9hZGRyZXNzLCBjb250ZXh0Xy5yaXNjdjMyKTsKKyt9CisrCisr dGVtcGxhdGUgPD4KKytib29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRDb250ZXh0PENv bnRleHRUcmFpdHM2ND4oCisrICAgIFByb2Nlc3NSZWFkZXJMaW51eCogcmVhZGVyLAorKyAgICBM aW51eFZNQWRkcmVzcyBjb250ZXh0X2FkZHJlc3MpIHsKKysgIGNvbnRleHRfLmFyY2hpdGVjdHVy ZSA9IGtDUFVBcmNoaXRlY3R1cmVSSVNDVjY0OworKyAgY29udGV4dF8ucmlzY3Y2NCA9ICZjb250 ZXh0X3VuaW9uXy5yaXNjdjY0OworKworKyAgcmV0dXJuIGludGVybmFsOjpSZWFkQ29udGV4dDxD b250ZXh0VHJhaXRzNjQ+KAorKyAgICAgIHJlYWRlciwgY29udGV4dF9hZGRyZXNzLCBjb250ZXh0 Xy5yaXNjdjY0KTsKKyt9CisrCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCisgCisg Ym9vbCBFeGNlcHRpb25TbmFwc2hvdExpbnV4OjpJbml0aWFsaXplKAorSW5kZXg6IGNocm9taXVt LTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGlu dXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0x MDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmgKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5 LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlv bl9zbmFwc2hvdF9saW51eC5oCitAQCAtODksNiArODksOSBAQCBjbGFzcyBFeGNlcHRpb25TbmFw c2hvdExpbnV4IGZpbmFsIDogcHViCisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlM WSkKKyAgICAgQ1BVQ29udGV4dE1JUFMgbWlwc2VsOworICAgICBDUFVDb250ZXh0TUlQUzY0IG1p cHM2NDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKysgICAgQ1BVQ29u dGV4dFJJU0NWMzIgcmlzY3YzMjsKKysgICAgQ1BVQ29udGV4dFJJU0NWNjQgcmlzY3Y2NDsKKyAj ZW5kaWYKKyAgIH0gY29udGV4dF91bmlvbl87CisgICBDUFVDb250ZXh0IGNvbnRleHRfOworSW5k ZXg6IGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXguY2MKKz09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBj aHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXguY2MKKysrKyBjaHJvbWl1bS0xMDYu MC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3By b2Nlc3NfcmVhZGVyX2xpbnV4LmNjCitAQCAtMTI3LDYgKzEyNyw5IEBAIHZvaWQgUHJvY2Vzc1Jl YWRlckxpbnV4OjpUaHJlYWQ6OkluaXRpYWwKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNf RkFNSUxZKQorICAgc3RhY2tfcG9pbnRlciA9IHJlYWRlci0+SXM2NEJpdCgpID8gdGhyZWFkX2lu Zm8udGhyZWFkX2NvbnRleHQudDY0LnJlZ3NbMjldCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOiB0aHJlYWRfaW5mby50aHJlYWRfY29udGV4dC50MzIucmVnc1syOV07Cisr I2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrICBzdGFja19wb2ludGVyID0g cmVhZGVyLT5JczY0Qml0KCkgPyB0aHJlYWRfaW5mby50aHJlYWRfY29udGV4dC50NjQuc3AKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRocmVhZF9pbmZvLnRocmVhZF9j b250ZXh0LnQzMi5zcDsKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZgorSW5kZXg6IGNo cm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvbGludXgvc2lnbmFsX2NvbnRleHQuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNi4w LjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC9zaWduYWxfY29udGV4dC5oCisrKysgY2hyb21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zaWduYWxfY29udGV4dC5oCitAQCAt NDIyLDYgKzQyMiw2NyBAQCBzdGF0aWNfYXNzZXJ0KG9mZnNldG9mKFVDb250ZXh0PENvbnRleHRU CisgICAgICAgICAgICAgICAiY29udGV4dCBvZmZzZXQgbWlzbWF0Y2giKTsKKyAjZW5kaWYKKyAK KysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKysKKytzdHJ1Y3QgTUNvbnRl eHQzMiB7CisrICB1aW50MzJfdCBncmVnc1szMl07CisrICB1aW50NjRfdCBmcHJlZ3NbMzJdOwor KyAgdW5zaWduZWQgaW50IGZjc3I7CisrfTsKKysKKytzdHJ1Y3QgTUNvbnRleHQ2NCB7CisrICB1 aW50NjRfdCBncmVnc1szMl07CisrICB1aW50NjRfdCBmcHJlZ3NbMzJdOworKyAgdW5zaWduZWQg aW50IGZjc3I7CisrfTsKKysKKytzdHJ1Y3QgQ29udGV4dFRyYWl0czMyIDogcHVibGljIFRyYWl0 czMyIHsKKysgIHVzaW5nIE1Db250ZXh0ID0gTUNvbnRleHQzMjsKKysgIHVzaW5nIFNpZ25hbFRo cmVhZENvbnRleHQgPSBUaHJlYWRDb250ZXh0Ojp0MzJfdDsKKysgIHVzaW5nIFNpZ25hbEZsb2F0 Q29udGV4dCA9IEZsb2F0Q29udGV4dDo6ZjMyX3Q7CisrICB1c2luZyBDUFVDb250ZXh0ID0gQ1BV Q29udGV4dFJJU0NWMzI7CisrfTsKKysKKytzdHJ1Y3QgQ29udGV4dFRyYWl0czY0IDogcHVibGlj IFRyYWl0czY0IHsKKysgIHVzaW5nIE1Db250ZXh0ID0gTUNvbnRleHQ2NDsKKysgIHVzaW5nIFNp Z25hbFRocmVhZENvbnRleHQgPSBUaHJlYWRDb250ZXh0Ojp0NjRfdDsKKysgIHVzaW5nIFNpZ25h bEZsb2F0Q29udGV4dCA9IEZsb2F0Q29udGV4dDo6ZjY0X3Q7CisrICB1c2luZyBDUFVDb250ZXh0 ID0gQ1BVQ29udGV4dFJJU0NWNjQ7CisrfTsKKysKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJhaXRz PgorK3N0cnVjdCBVQ29udGV4dCB7CisrICB0eXBlbmFtZSBUcmFpdHM6OlVMb25nIGZsYWdzOwor KyAgdHlwZW5hbWUgVHJhaXRzOjpBZGRyZXNzIGxpbms7CisrICBTaWduYWxTdGFjazxUcmFpdHM+ IHN0YWNrOworKyAgU2lnc2V0PFRyYWl0cz4gc2lnbWFzazsKKysgIGNoYXIgcGFkZGluZ1sxMjgg LSBzaXplb2Yoc2lnbWFzayldOworKyAgdHlwZW5hbWUgVHJhaXRzOjpDaGFyXzY0T25seSBwYWRk aW5nMls4XTsKKysgIHR5cGVuYW1lIFRyYWl0czo6TUNvbnRleHQgbWNvbnRleHQ7CisrfTsKKysK KysjaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVjMyKQorK3N0YXRpY19hc3NlcnQob2Zmc2V0b2Yo VUNvbnRleHQ8Q29udGV4dFRyYWl0czMyPiwgbWNvbnRleHQpID09CisrICAgICAgICAgICAgICAg ICAgb2Zmc2V0b2YodWNvbnRleHRfdCwgdWNfbWNvbnRleHQpLAorKyAgICAgICAgICAgICAgImNv bnRleHQgb2Zmc2V0IG1pc21hdGNoIik7Cisrc3RhdGljX2Fzc2VydChvZmZzZXRvZihVQ29udGV4 dDxDb250ZXh0VHJhaXRzMzI+LCBtY29udGV4dC5ncmVncykgPT0KKysgICAgICAgICAgICAgICAg ICBvZmZzZXRvZih1Y29udGV4dF90LCB1Y19tY29udGV4dC5fX2dyZWdzKSwKKysgICAgICAgICAg ICAgICJjb250ZXh0IG9mZnNldCBtaXNtYXRjaCIpOworK3N0YXRpY19hc3NlcnQob2Zmc2V0b2Yo VUNvbnRleHQ8Q29udGV4dFRyYWl0czMyPiwgbWNvbnRleHQuZnByZWdzKSA9PQorKyAgICAgICAg ICAgICAgICAgIG9mZnNldG9mKHVjb250ZXh0X3QsIHVjX21jb250ZXh0Ll9fZnByZWdzKSwKKysg ICAgICAgICAgICAgICJjb250ZXh0IG9mZnNldCBtaXNtYXRjaCIpOworKyNlbGlmIGRlZmluZWQo QVJDSF9DUFVfUklTQ1Y2NCkKKytzdGF0aWNfYXNzZXJ0KG9mZnNldG9mKFVDb250ZXh0PENvbnRl eHRUcmFpdHM2ND4sIG1jb250ZXh0KSA9PQorKyAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHVj b250ZXh0X3QsIHVjX21jb250ZXh0KSwKKysgICAgICAgICAgICAgICJjb250ZXh0IG9mZnNldCBt aXNtYXRjaCIpOworK3N0YXRpY19hc3NlcnQob2Zmc2V0b2YoVUNvbnRleHQ8Q29udGV4dFRyYWl0 czY0PiwgbWNvbnRleHQuZ3JlZ3MpID09CisrICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodWNv bnRleHRfdCwgdWNfbWNvbnRleHQuX19ncmVncyksCisrICAgICAgICAgICAgICAiY29udGV4dCBv ZmZzZXQgbWlzbWF0Y2giKTsKKytzdGF0aWNfYXNzZXJ0KG9mZnNldG9mKFVDb250ZXh0PENvbnRl eHRUcmFpdHM2ND4sIG1jb250ZXh0LmZwcmVncykgPT0KKysgICAgICAgICAgICAgICAgICBvZmZz ZXRvZih1Y29udGV4dF90LCB1Y19tY29udGV4dC5fX2ZwcmVncyksCisrICAgICAgICAgICAgICAi Y29udGV4dCBvZmZzZXQgbWlzbWF0Y2giKTsKKysjZW5kaWYKKysKKyAjZWxzZQorICNlcnJvciBQ b3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorSW5kZXg6IGNocm9taXVtLTEw Ni4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgv c3lzdGVtX3NuYXBzaG90X2xpbnV4LmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA2LjAu NTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4 L3N5c3RlbV9zbmFwc2hvdF9saW51eC5jYworKysrIGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc3lzdGVtX3NuYXBzaG90 X2xpbnV4LmNjCitAQCAtMjA1LDYgKzIwNSw5IEBAIENQVUFyY2hpdGVjdHVyZSBTeXN0ZW1TbmFw c2hvdExpbnV4OjpHZXQKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAg cmV0dXJuIHByb2Nlc3NfcmVhZGVyXy0+SXM2NEJpdCgpID8ga0NQVUFyY2hpdGVjdHVyZU1JUFM2 NEVMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBrQ1BVQXJjaGl0ZWN0 dXJlTUlQU0VMOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorKyAgcmV0 dXJuIHByb2Nlc3NfcmVhZGVyXy0+SXM2NEJpdCgpID8ga0NQVUFyY2hpdGVjdHVyZVJJU0NWNjQK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGtDUFVBcmNoaXRlY3R1cmVS SVNDVjMyOworICNlbHNlCisgI2Vycm9yIHBvcnQgdG8geW91ciBhcmNoaXRlY3R1cmUKKyAjZW5k aWYKK0BAIC0yMjAsNiArMjIzLDkgQEAgdWludDMyX3QgU3lzdGVtU25hcHNob3RMaW51eDo6Q1BV UmV2aXNpbworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICAvLyBOb3Qg aW1wbGVtZW50YWJsZSBvbiBNSVBTCisgICByZXR1cm4gMDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hf Q1BVX1JJU0NWX0ZBTUlMWSkKKysgIC8vIE5vdCBpbXBsZW1lbnRhYmxlIG9uIFJJU0NWCisrICBy ZXR1cm4gMDsKKyAjZWxzZQorICNlcnJvciBwb3J0IHRvIHlvdXIgYXJjaGl0ZWN0dXJlCisgI2Vu ZGlmCitAQCAtMjQwLDYgKzI0Niw5IEBAIHN0ZDo6c3RyaW5nIFN5c3RlbVNuYXBzaG90TGludXg6 OkNQVVZlbmQKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgLy8gTm90 IGltcGxlbWVudGFibGUgb24gTUlQUworICAgcmV0dXJuIHN0ZDo6c3RyaW5nKCk7CisrI2VsaWYg ZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrICAvLyBOb3QgaW1wbGVtZW50YWJsZSBv biBSSVNDVgorKyAgcmV0dXJuIHN0ZDo6c3RyaW5nKCk7CisgI2Vsc2UKKyAjZXJyb3IgcG9ydCB0 byB5b3VyIGFyY2hpdGVjdHVyZQorICNlbmRpZgorQEAgLTM3Myw2ICszODIsOSBAQCBib29sIFN5 c3RlbVNuYXBzaG90TGludXg6Ok5YRW5hYmxlZCgpIGNvCisgI2VsaWYgZGVmaW5lZChBUkNIX0NQ VV9NSVBTX0ZBTUlMWSkKKyAgIC8vIE5vdCBpbXBsZW1lbnRhYmxlIG9uIE1JUFMKKyAgIHJldHVy biBmYWxzZTsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKysgIC8vIE5v dCBpbXBsZW1lbnRhYmxlIG9uIFJJU0NWCisrICByZXR1cm4gZmFsc2U7CisgI2Vsc2UKKyAjZXJy b3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKK0luZGV4OiBjaHJvbWl1 bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xp bnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEw Ni4wLjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC90aHJlYWRfc25hcHNob3RfbGludXguY2MKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5Ljkx L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFw c2hvdF9saW51eC5jYworQEAgLTE5MCw2ICsxOTAsMjIgQEAgYm9vbCBUaHJlYWRTbmFwc2hvdExp bnV4OjpJbml0aWFsaXplKAorICAgICAgICAgdGhyZWFkLnRocmVhZF9pbmZvLmZsb2F0X2NvbnRl eHQuZjMyLAorICAgICAgICAgY29udGV4dF8ubWlwc2VsKTsKKyAgIH0KKysjZWxpZiBkZWZpbmVk KEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKysgIGlmIChwcm9jZXNzX3JlYWRlci0+SXM2NEJpdCgp KSB7CisrICAgIGNvbnRleHRfLmFyY2hpdGVjdHVyZSA9IGtDUFVBcmNoaXRlY3R1cmVSSVNDVjY0 OworKyAgICBjb250ZXh0Xy5yaXNjdjY0ID0gJmNvbnRleHRfdW5pb25fLnJpc2N2NjQ7CisrICAg IEluaXRpYWxpemVDUFVDb250ZXh0UklTQ1Y8Q29udGV4dFRyYWl0czY0PigKKysJdGhyZWFkLnRo cmVhZF9pbmZvLnRocmVhZF9jb250ZXh0LnQ2NCwKKysJdGhyZWFkLnRocmVhZF9pbmZvLmZsb2F0 X2NvbnRleHQuZjY0LAorKwljb250ZXh0Xy5yaXNjdjY0KTsKKysgIH0gZWxzZSB7CisrICAgIGNv bnRleHRfLmFyY2hpdGVjdHVyZSA9IGtDUFVBcmNoaXRlY3R1cmVSSVNDVjMyOworKyAgICBjb250 ZXh0Xy5yaXNjdjMyID0gJmNvbnRleHRfdW5pb25fLnJpc2N2MzI7CisrICAgIEluaXRpYWxpemVD UFVDb250ZXh0UklTQ1Y8Q29udGV4dFRyYWl0czMyPigKKysJdGhyZWFkLnRocmVhZF9pbmZvLnRo cmVhZF9jb250ZXh0LnQzMiwKKysJdGhyZWFkLnRocmVhZF9pbmZvLmZsb2F0X2NvbnRleHQuZjMy LAorKwljb250ZXh0Xy5yaXNjdjMyKTsKKysgIH0KKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNl bmRpZgorSW5kZXg6IGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmgKKz09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KKy0tLSBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxLm9yaWcvdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmgKKysrKyBjaHJv bWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5oCitAQCAtNzQsNiArNzQsOSBAQCBjbGFzcyBU aHJlYWRTbmFwc2hvdExpbnV4IGZpbmFsIDogcHVibGljCisgI2VsaWYgZGVmaW5lZChBUkNIX0NQ VV9NSVBTX0ZBTUlMWSkKKyAgICAgQ1BVQ29udGV4dE1JUFMgbWlwc2VsOworICAgICBDUFVDb250 ZXh0TUlQUzY0IG1pcHM2NDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkK KysgICAgQ1BVQ29udGV4dFJJU0NWMzIgcmlzY3YzMjsKKysgICAgQ1BVQ29udGV4dFJJU0NWNjQg cmlzY3Y2NDsKKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2 X0ZBTUlMWQorSW5kZXg6IGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VyLmNjCis9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21p dW0tMTA2LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwv bGludXgvcHRyYWNlci5jYworKysrIGNocm9taXVtLTEwNi4wLjUyNDkuOTEvdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VyLmNjCitAQCAtMzk4LDYgKzM5OCw1 MSBAQCBib29sIEdldFRocmVhZEFyZWE2NChwaWRfdCB0aWQsCisgICByZXR1cm4gdHJ1ZTsKKyB9 CisgCisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisrCisrdGVtcGxhdGUg PHR5cGVuYW1lIERlc3RpbmF0aW9uPgorK2Jvb2wgR2V0UmVnaXN0ZXJTZXQocGlkX3QgdGlkLCBp bnQgc2V0LCBEZXN0aW5hdGlvbiogZGVzdCwgYm9vbCBjYW5fbG9nKSB7CisrICBpb3ZlYyBpb3Y7 CisrICBpb3YuaW92X2Jhc2UgPSBkZXN0OworKyAgaW92Lmlvdl9sZW4gPSBzaXplb2YoKmRlc3Qp OworKyAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsIHJlaW50ZXJwcmV0X2Nhc3Q8 dm9pZCo+KHNldCksICZpb3YpICE9IDApIHsKKysgICAgUExPR19JRihFUlJPUiwgY2FuX2xvZykg PDwgInB0cmFjZSI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysgIGlmIChpb3YuaW92X2xl biAhPSBzaXplb2YoKmRlc3QpKSB7CisrICAgIExPR19JRihFUlJPUiwgY2FuX2xvZykgPDwgIlVu ZXhwZWN0ZWQgcmVnaXN0ZXJzIHNpemUiOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrICBy ZXR1cm4gdHJ1ZTsKKyt9CisrCisrYm9vbCBHZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJzMzIocGlk X3QgdGlkLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0Q29udGV4dCog Y29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhbl9sb2cp IHsKKysgIHJldHVybiBmYWxzZTsKKyt9CisrCisrYm9vbCBHZXRGbG9hdGluZ1BvaW50UmVnaXN0 ZXJzNjQocGlkX3QgdGlkLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0 Q29udGV4dCogY29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s IGNhbl9sb2cpIHsKKysgIHJldHVybiBHZXRSZWdpc3RlclNldCh0aWQsIE5UX1BSRlBSRUcsICZj b250ZXh0LT5mNjQuZiwgY2FuX2xvZyk7CisrfQorKworK2Jvb2wgR2V0VGhyZWFkQXJlYTMyKHBp ZF90IHRpZCwKKysgICAgICAgICAgICAgICAgICAgICBjb25zdCBUaHJlYWRDb250ZXh0JiBjb250 ZXh0LAorKyAgICAgICAgICAgICAgICAgICAgIExpbnV4Vk1BZGRyZXNzKiBhZGRyZXNzLAorKyAg ICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuX2xvZykgeworKyAgcmV0dXJuIGZhbHNlOworK30K KysKKytib29sIEdldFRocmVhZEFyZWE2NChwaWRfdCB0aWQsCisrICAgICAgICAgICAgICAgICAg ICAgY29uc3QgVGhyZWFkQ29udGV4dCYgY29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICBM aW51eFZNQWRkcmVzcyogYWRkcmVzcywKKysgICAgICAgICAgICAgICAgICAgICBib29sIGNhbl9s b2cpIHsKKysgICphZGRyZXNzID0gY29udGV4dC50NjQudHA7CisrICByZXR1cm4gdHJ1ZTsKKyt9 CisrCisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1J TFkKK0luZGV4OiBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAorPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVt LTEwNi4wLjUyNDkuOTEub3JpZy90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xp bnV4L3RocmVhZF9pbmZvLmgKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAorQEAgLTc5LDYgKzc5 LDQwIEBAIHVuaW9uIFRocmVhZENvbnRleHQgeworICAgICB1aW50MzJfdCBjcDBfc3RhdHVzOwor ICAgICB1aW50MzJfdCBjcDBfY2F1c2U7CisgICAgIHVpbnQzMl90IHBhZGRpbmcxXzsKKysjZWxp ZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKysgICAgLy8gUmVmbGVjdHMgdXNlcl9y ZWdzX3N0cnVjdCBpbiBhc20vcHRyYWNlLmguCisrICAgIHVpbnQzMl90IHBjOworKyAgICB1aW50 MzJfdCByYTsKKysgICAgdWludDMyX3Qgc3A7CisrICAgIHVpbnQzMl90IGdwOworKyAgICB1aW50 MzJfdCB0cDsKKysgICAgdWludDMyX3QgdDA7CisrICAgIHVpbnQzMl90IHQxOworKyAgICB1aW50 MzJfdCB0MjsKKysgICAgdWludDMyX3QgczA7CisrICAgIHVpbnQzMl90IHMxOworKyAgICB1aW50 MzJfdCBhMDsKKysgICAgdWludDMyX3QgYTE7CisrICAgIHVpbnQzMl90IGEyOworKyAgICB1aW50 MzJfdCBhMzsKKysgICAgdWludDMyX3QgYTQ7CisrICAgIHVpbnQzMl90IGE1OworKyAgICB1aW50 MzJfdCBhNjsKKysgICAgdWludDMyX3QgYTc7CisrICAgIHVpbnQzMl90IHMyOworKyAgICB1aW50 MzJfdCBzMzsKKysgICAgdWludDMyX3QgczQ7CisrICAgIHVpbnQzMl90IHM1OworKyAgICB1aW50 MzJfdCBzNjsKKysgICAgdWludDMyX3Qgczc7CisrICAgIHVpbnQzMl90IHM4OworKyAgICB1aW50 MzJfdCBzOTsKKysgICAgdWludDMyX3QgczEwOworKyAgICB1aW50MzJfdCBzMTE7CisrICAgIHVp bnQzMl90IHQzOworKyAgICB1aW50MzJfdCB0NDsKKysgICAgdWludDMyX3QgdDU7CisrICAgIHVp bnQzMl90IHQ2OworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9Y ODZfRkFNSUxZCitAQCAtMTMyLDYgKzE2Niw0MCBAQCB1bmlvbiBUaHJlYWRDb250ZXh0IHsKKyAg ICAgdWludDY0X3QgY3AwX2JhZHZhZGRyOworICAgICB1aW50NjRfdCBjcDBfc3RhdHVzOworICAg ICB1aW50NjRfdCBjcDBfY2F1c2U7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1J TFkpCisrICAgIC8vIFJlZmxlY3RzIHVzZXJfcmVnc19zdHJ1Y3QgaW4gYXNtL3B0cmFjZS5oLgor KyAgICB1aW50NjRfdCBwYzsKKysgICAgdWludDY0X3QgcmE7CisrICAgIHVpbnQ2NF90IHNwOwor KyAgICB1aW50NjRfdCBncDsKKysgICAgdWludDY0X3QgdHA7CisrICAgIHVpbnQ2NF90IHQwOwor KyAgICB1aW50NjRfdCB0MTsKKysgICAgdWludDY0X3QgdDI7CisrICAgIHVpbnQ2NF90IHMwOwor KyAgICB1aW50NjRfdCBzMTsKKysgICAgdWludDY0X3QgYTA7CisrICAgIHVpbnQ2NF90IGExOwor KyAgICB1aW50NjRfdCBhMjsKKysgICAgdWludDY0X3QgYTM7CisrICAgIHVpbnQ2NF90IGE0Owor KyAgICB1aW50NjRfdCBhNTsKKysgICAgdWludDY0X3QgYTY7CisrICAgIHVpbnQ2NF90IGE3Owor KyAgICB1aW50NjRfdCBzMjsKKysgICAgdWludDY0X3QgczM7CisrICAgIHVpbnQ2NF90IHM0Owor KyAgICB1aW50NjRfdCBzNTsKKysgICAgdWludDY0X3QgczY7CisrICAgIHVpbnQ2NF90IHM3Owor KyAgICB1aW50NjRfdCBzODsKKysgICAgdWludDY0X3Qgczk7CisrICAgIHVpbnQ2NF90IHMxMDsK KysgICAgdWludDY0X3QgczExOworKyAgICB1aW50NjRfdCB0MzsKKysgICAgdWludDY0X3QgdDQ7 CisrICAgIHVpbnQ2NF90IHQ1OworKyAgICB1aW50NjRfdCB0NjsKKyAjZWxzZQorICNlcnJvciBQ b3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorQEAgLTE0MywxMSArMjExLDEy IEBAIHVuaW9uIFRocmVhZENvbnRleHQgeworICAgdXNpbmcgTmF0aXZlVGhyZWFkQ29udGV4dCA9 IHVzZXJfcmVnczsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorIC8vIE5v IGFwcHJvcHJpYXRlIE5hdGl2ZVRocmVhZHNDb250ZXh0IHR5cGUgYXZhaWxhYmxlIGZvciBNSVBT CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisgI2Vsc2UKKyAjZXJyb3Ig UG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkgfHwgQVJDSF9DUFVfQVJNNjQK KyAKKy0jaWYgIWRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisrI2lmICFkZWZpbmVkKEFS Q0hfQ1BVX01JUFNfRkFNSUxZKSAmJiAhZGVmaW5lZChBUkNIX0NQVV9SSVNDVl9GQU1JTFkpCisg I2lmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykKKyAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKHQz Ml90KSA9PSBzaXplb2YoTmF0aXZlVGhyZWFkQ29udGV4dCksICJTaXplIG1pc21hdGNoIik7Cisg I2Vsc2UgIC8vIEFSQ0hfQ1BVXzY0X0JJVFMKK0BAIC0yMTgsNiArMjg3LDkgQEAgdW5pb24gRmxv YXRDb250ZXh0IHsKKyAgICAgfSBmcHJlZ3NbMzJdOworICAgICB1aW50MzJfdCBmcGNzcjsKKyAg ICAgdWludDMyX3QgZnB1X2lkOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZ KQorKyAgICB1aW50NjRfdCBmWzMyXTsKKysgICAgdWludDMyX3QgZmNzcjsKKyAjZWxzZQorICNl cnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQorQEAgLTI1Miw2ICsz MjQsOSBAQCB1bmlvbiBGbG9hdENvbnRleHQgeworICAgICBkb3VibGUgZnByZWdzWzMyXTsKKyAg ICAgdWludDMyX3QgZnBjc3I7CisgICAgIHVpbnQzMl90IGZwdV9pZDsKKysjZWxpZiBkZWZpbmVk KEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKysgICAgdWludDY0X3QgZlszMl07CisrICAgIHVpbnQz Ml90IGZjc3I7CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4 Nl9GQU1JTFkKK0BAIC0yODEsNiArMzU2LDcgQEAgdW5pb24gRmxvYXRDb250ZXh0IHsKKyAgIHN0 YXRpY19hc3NlcnQoc2l6ZW9mKGY2NCkgPT0gc2l6ZW9mKHVzZXJfZnBzaW1kX3N0cnVjdCksICJT aXplIG1pc21hdGNoIik7CisgI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKyAv LyBObyBhcHByb3ByaWF0ZSBmbG9hdGluZyBwb2ludCBjb250ZXh0IG5hdGl2ZSB0eXBlIGZvciBh dmFpbGFibGUgTUlQUy4KKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKyAj ZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2CitJbmRleDogY2hy b21pdW0tMTA2LjAuNTI0OS45MS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL25l dC9odHRwX3RyYW5zcG9ydF9saWJjdXJsLmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA2 LjAuNTI0OS45MS5vcmlnL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbmV0L2h0 dHBfdHJhbnNwb3J0X2xpYmN1cmwuY2MKKysrKyBjaHJvbWl1bS0xMDYuMC41MjQ5LjkxL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbmV0L2h0dHBfdHJhbnNwb3J0X2xpYmN1cmwu Y2MKK0BAIC0yMzcsNiArMjM3LDggQEAgc3RkOjpzdHJpbmcgVXNlckFnZW50KCkgeworICNlbGlm IGRlZmluZWQoQVJDSF9DUFVfQklHX0VORElBTikKKyAgICAgc3RhdGljIGNvbnN0ZXhwciBjaGFy IGFyY2hbXSA9ICJhYXJjaDY0X2JlIjsKKyAjZW5kaWYKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BV X1JJU0NWNjQpCisrICAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBhcmNoW10gPSAicmlzY3Y2NCI7 CisgI2Vsc2UKKyAjZXJyb3IgUG9ydAorICNlbmRpZgorCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA1LXJpc2N2LWNyYXNocGFkLnBhdGNoLmFyZ3MgYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA1LXJpc2N2LWNyYXNocGFkLnBhdGNoLmFyZ3MK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kNWYzOGUzNTRlN2YKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA1LXJpc2N2 LWNyYXNocGFkLnBhdGNoLmFyZ3MKQEAgLTAsMCArMSBAQAorLU5wMSAtLWRpcmVjdG9yeT1zcmMv M3JkcGFydHkvY2hyb21pdW0vCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMDA2LXJpc2N2LWRhdjFkLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDAwNi1yaXNjdi1kYXYxZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLjEyYWQwNzI3NWJkMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAwMDYtcmlzY3YtZGF2MWQucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAor SW5kZXg6IGNocm9taXVtLTEwMi4wLjUwMDUuNjEvdGhpcmRfcGFydHkvZGF2MWQvY29uZmlnL2xp bnV4L3Jpc2N2NjQvY29uZmlnLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwKKysrKyBjaHJv bWl1bS0xMDIuMC41MDA1LjYxL3RoaXJkX3BhcnR5L2RhdjFkL2NvbmZpZy9saW51eC9yaXNjdjY0 L2NvbmZpZy5oCitAQCAtMCwwICsxLDM4IEBACisrLyoKKysgKiBBdXRvZ2VuZXJhdGVkIGJ5IHRo ZSBNZXNvbiBidWlsZCBzeXN0ZW0uCisrICogRG8gbm90IGVkaXQsIHlvdXIgY2hhbmdlcyB3aWxs IGJlIGxvc3QuCisrICovCisrCisrI3ByYWdtYSBvbmNlCisrCisrI2RlZmluZSBBUkNIX0FBUkNI NjQgMAorKworKyNkZWZpbmUgQVJDSF9BUk0gMAorKworKyNkZWZpbmUgQVJDSF9QUEM2NExFIDAK KysKKysjZGVmaW5lIEFSQ0hfWDg2IDAKKysKKysjZGVmaW5lIEFSQ0hfWDg2XzMyIDAKKysKKysj ZGVmaW5lIEFSQ0hfWDg2XzY0IDAKKysKKysjZGVmaW5lIENPTkZJR18xNkJQQyAxCisrCisrI2Rl ZmluZSBDT05GSUdfOEJQQyAxCisrCisrLy8gI2RlZmluZSBDT05GSUdfTE9HIDEgLS0gTG9nZ2lu ZyBpcyBjb250cm9sbGVkIGJ5IENocm9taXVtCisrCisrI2RlZmluZSBFTkRJQU5ORVNTX0JJRyAw CisrCisrI2RlZmluZSBIQVZFX0FTTSAwCisrCisrI2RlZmluZSBIQVZFX0FTX0ZVTkMgMAorKwor KyNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKKysKKysjZGVmaW5lIEhBVkVfR0VUQVVYVkFM IDEKKysKKysjZGVmaW5lIEhBVkVfUE9TSVhfTUVNQUxJR04gMQorKworKyNkZWZpbmUgSEFWRV9V TklTVERfSCAxCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAw MDYtcmlzY3YtZGF2MWQucGF0Y2guYXJncyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAwMDYtcmlzY3YtZGF2MWQucGF0Y2guYXJncwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLmQ1ZjM4ZTM1NGU3ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDYtcmlzY3YtZGF2MWQucGF0Y2guYXJncwpAQCAtMCwwICsx IEBACistTnAxIC0tZGlyZWN0b3J5PXNyYy8zcmRwYXJ0eS9jaHJvbWl1bS8KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaCBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjA5OGJkOTVhOGRlNgotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDctcmlzY3Yt c2FuZGJveC5wYXRjaApAQCAtMCwwICsxLDE5NTYgQEAKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41 MzA0Ljg3L3NhbmRib3gvZmVhdHVyZXMuZ25pCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA3 LjAuNTMwNC44Ny5vcmlnL3NhbmRib3gvZmVhdHVyZXMuZ25pCisrKysgY2hyb21pdW0tMTA3LjAu NTMwNC44Ny9zYW5kYm94L2ZlYXR1cmVzLmduaQorQEAgLTksNyArOSw4IEBACisgdXNlX3NlY2Nv bXBfYnBmID0gKGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zIHx8IGlzX2FuZHJvaWQpICYmCisgICAg ICAgICAgICAgICAgICAgKGN1cnJlbnRfY3B1ID09ICJ4ODYiIHx8IGN1cnJlbnRfY3B1ID09ICJ4 NjQiIHx8CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09ICJhcm0iIHx8IGN1cnJl bnRfY3B1ID09ICJhcm02NCIgfHwKKy0gICAgICAgICAgICAgICAgICAgY3VycmVudF9jcHUgPT0g Im1pcHNlbCIgfHwgY3VycmVudF9jcHUgPT0gIm1pcHM2NGVsIikKKysgICAgICAgICAgICAgICAg ICAgY3VycmVudF9jcHUgPT0gIm1pcHNlbCIgfHwgY3VycmVudF9jcHUgPT0gIm1pcHM2NGVsIiB8 fAorKyAgICAgICAgICAgICAgICAgICBjdXJyZW50X2NwdSA9PSAicmlzY3Y2NCIpCisgCisgIyBT U0JEIChTcGVjdWxhdGl2ZSBTdG9yZSBCeXBhc3MgRGlzYWJsZSkgaXMgYSBtaXRpZ2F0aW9uIG9m IFNwZWN0cmUgVmFyaWFudCA0LgorICMgQXMgU3BlY3RyZSBWYXJpYW50IDQgY2FuIGJlIG1pdGln YXRlZCBieSBzaXRlIGlzb2xhdGlvbiwgb3B0LW91dCBTU0JEIG9uIHNpdGUKK0luZGV4OiBjaHJv bWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvYnBmX2RzbC9saW51eF9zeXNjYWxsX3Jh bmdlcy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA3LjAuNTMwNC44Ny5vcmlnL3NhbmRi b3gvbGludXgvYnBmX2RzbC9saW51eF9zeXNjYWxsX3Jhbmdlcy5oCisrKysgY2hyb21pdW0tMTA3 LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9yYW5nZXMuaAor QEAgLTU2LDYgKzU2LDEyIEBACisgI2RlZmluZSBNQVhfUFVCTElDX1NZU0NBTEwgX19OUl9zeXNj YWxscworICNkZWZpbmUgTUFYX1NZU0NBTEwgTUFYX1BVQkxJQ19TWVNDQUxMCisgCisrI2VsaWYg ZGVmaW5lZChfX3Jpc2N2KQorKworKyNkZWZpbmUgTUlOX1NZU0NBTEwgMHUKKysjZGVmaW5lIE1B WF9QVUJMSUNfU1lTQ0FMTCAxMDI0dQorKyNkZWZpbmUgTUFYX1NZU0NBTEwgTUFYX1BVQkxJQ19T WVNDQUxMCisrCisgI2Vsc2UKKyAjZXJyb3IgIlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSIKKyAj ZW5kaWYKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvYnBmX2Rz bC9zZWNjb21wX21hY3Jvcy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA3LjAuNTMwNC44 Ny5vcmlnL3NhbmRib3gvbGludXgvYnBmX2RzbC9zZWNjb21wX21hY3Jvcy5oCisrKysgY2hyb21p dW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaAor QEAgLTM0Myw2ICszNDMsNDYgQEAgc3RydWN0IHJlZ3Nfc3RydWN0IHsKKyAjZGVmaW5lIFNFQ0NP TVBfUFRfUEFSTTQoX3JlZ3MpIChfcmVncykucmVnc1szXQorICNkZWZpbmUgU0VDQ09NUF9QVF9Q QVJNNShfcmVncykgKF9yZWdzKS5yZWdzWzRdCisgI2RlZmluZSBTRUNDT01QX1BUX1BBUk02KF9y ZWdzKSAoX3JlZ3MpLnJlZ3NbNV0KKysKKysjZWxpZiBkZWZpbmVkKF9fcmlzY3YpCisrc3RydWN0 IHJlZ3Nfc3RydWN0IHsKKysgIHVuc2lnbmVkIGxvbmcgcmVnc1szMl07CisrfTsKKysKKysjZGVm aW5lIFNFQ0NPTVBfQVJDSCBBVURJVF9BUkNIX1JJU0NWNjQKKysKKysjZGVmaW5lIFNFQ0NPTVBf UkVHKF9jdHgsIF9yZWcpICgoX2N0eCktPnVjX21jb250ZXh0Ll9fZ3JlZ3NbX3JlZ10pCisrCisr I2RlZmluZSBTRUNDT01QX1JFU1VMVChfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCBSRUdfQTApCisr I2RlZmluZSBTRUNDT01QX1NZU0NBTEwoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgUkVHX0EwKzcp CisrI2RlZmluZSBTRUNDT01QX0lQKF9jdHgpIChfY3R4KS0+dWNfbWNvbnRleHQuX19ncmVnc1tS RUdfUENdCisrI2RlZmluZSBTRUNDT01QX1BBUk0xKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIFJF R19BMCkKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTIoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgUkVH X0EwKzEpCisrI2RlZmluZSBTRUNDT01QX1BBUk0zKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIFJF R19BMCsyKQorKyNkZWZpbmUgU0VDQ09NUF9QQVJNNChfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCBS RUdfQTArMykKKysjZGVmaW5lIFNFQ0NPTVBfUEFSTTUoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwg UkVHX0EwKzQpCisrI2RlZmluZSBTRUNDT01QX1BBUk02KF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgs IFJFR19BMCs1KQorKworKyNkZWZpbmUgU0VDQ09NUF9OUl9JRFggKG9mZnNldG9mKHN0cnVjdCBh cmNoX3NlY2NvbXBfZGF0YSwgbnIpKQorKyNkZWZpbmUgU0VDQ09NUF9BUkNIX0lEWCAob2Zmc2V0 b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhLCBhcmNoKSkKKysjZGVmaW5lIFNFQ0NPTVBfSVBf TVNCX0lEWCBcCisrICAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhLCBpbnN0cnVj dGlvbl9wb2ludGVyKSArIDQpCisrI2RlZmluZSBTRUNDT01QX0lQX0xTQl9JRFggXAorKyAgKG9m ZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgaW5zdHJ1Y3Rpb25fcG9pbnRlcikgKyAw KQorKyNkZWZpbmUgU0VDQ09NUF9BUkdfTVNCX0lEWChucikgXAorKyAgKG9mZnNldG9mKHN0cnVj dCBhcmNoX3NlY2NvbXBfZGF0YSwgYXJncykgKyA4ICogKG5yKSArIDQpCisrI2RlZmluZSBTRUND T01QX0FSR19MU0JfSURYKG5yKSBcCisrICAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9k YXRhLCBhcmdzKSArIDggKiAobnIpICsgMCkKKysKKysjZGVmaW5lIFNFQ0NPTVBfUFRfUkVTVUxU KF9yZWdzKSAoX3JlZ3MpLnJlZ3NbUkVHX0EwXQorKyNkZWZpbmUgU0VDQ09NUF9QVF9TWVNDQUxM KF9yZWdzKSAoX3JlZ3MpLnJlZ3NbUkVHX0EwKzddCisrI2RlZmluZSBTRUNDT01QX1BUX0lQKF9y ZWdzKSAoX3JlZ3MpLnJlZ3NbUkVHX1BDXQorKyNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNMShfcmVn cykgKF9yZWdzKS5yZWdzW1JFR19BMF0KKysjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTIoX3JlZ3Mp IChfcmVncykucmVnc1tSRUdfQTArMV0KKysjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTMoX3JlZ3Mp IChfcmVncykucmVnc1tSRUdfQTArMl0KKysjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTQoX3JlZ3Mp IChfcmVncykucmVnc1tSRUdfQTArM10KKysjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTUoX3JlZ3Mp IChfcmVncykucmVnc1tSRUdfQTArNF0KKysjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTYoX3JlZ3Mp IChfcmVncykucmVnc1tSRUdfQTArNV0KKyAjZWxzZQorICNlcnJvciBVbnN1cHBvcnRlZCB0YXJn ZXQgcGxhdGZvcm0KKyAKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYworKysrIGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2Fu ZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYworQEAgLTYx LDYgKzYxLDkgQEAgYm9vbCBJc0Jhc2VsaW5lUG9saWN5QWxsb3dlZChpbnQgc3lzbm8pCisgI2lm IGRlZmluZWQoX19taXBzX18pCisgICAgICAgICAgU3lzY2FsbFNldHM6OklzTWlwc1ByaXZhdGUo c3lzbm8pIHx8CisgI2VuZGlmCisrI2lmIGRlZmluZWQoX19yaXNjdikKKysgICAgICAgICBTeXNj YWxsU2V0czo6SXNSaXNjdlByaXZhdGUoc3lzbm8pIHx8CisrI2VuZGlmCisgICAgICAgICAgU3lz Y2FsbFNldHM6OklzQWxsb3dlZE9wZXJhdGlvbk9uRmQoc3lzbm8pOworICAgLy8gY2xhbmctZm9y bWF0IG9uCisgfQorQEAgLTE5OCw3ICsyMDEsNyBAQCBSZXN1bHRFeHByIEV2YWx1YXRlU3lzY2Fs bEltcGwoaW50IGZzX2RlCisgICAgIHJldHVybiBSZXN0cmljdEZjbnRsQ29tbWFuZHMoKTsKKyAj ZW5kaWYKKyAKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFy Y2g2NF9fKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgLy8gZm9yaygpIGlzIG5ldmVyIHVzZWQg YXMgYSBzeXN0ZW0gY2FsbCAoY2xvbmUoKSBpcyB1c2VkIGluc3RlYWQpLCBidXQgd2UKKyAgIC8v IGhhdmUgc2VlbiBpdCBpbiBmYWxsYmFjayBjb2RlIG9uIEFuZHJvaWQuCisgICBpZiAoc3lzbm8g PT0gX19OUl9mb3JrKSB7CitAQCAtMjUzLDcgKzI1Niw3IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVT eXNjYWxsSW1wbChpbnQgZnNfZGUKKyAgIH0KKyAKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwg ZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmlu ZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19y aXNjdikKKyAgIGlmIChzeXNubyA9PSBfX05SX21tYXApCisgICAgIHJldHVybiBSZXN0cmljdE1t YXBGbGFncygpOworICNlbmRpZgorQEAgLTI3NCw3ICsyNzcsNyBAQCBSZXN1bHRFeHByIEV2YWx1 YXRlU3lzY2FsbEltcGwoaW50IGZzX2RlCisgICAgIHJldHVybiBSZXN0cmljdFByY3RsKCk7Cisg CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVk KF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmluZWQo X19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNjdikKKyAgIGlmIChzeXNubyA9PSBfX05SX3Nv Y2tldHBhaXIpIHsKKyAgICAgLy8gT25seSBhbGxvdyBBRl9VTklYLCBQRl9VTklYLiBDcmFzaCBp ZiBhbnl0aGluZyBlbHNlIGlzIHNlZW4uCisgICAgIHN0YXRpY19hc3NlcnQoQUZfVU5JWCA9PSBQ Rl9VTklYLAorSW5kZXg6IGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zZWNj b21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuY2MKKz09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KKy0tLSBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9saW51eC9zZWNj b21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuY2MKKysrKyBj aHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9z eXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCitAQCAtMzcsNiArMzcsNyBAQAorIAor ICNpZiAoQlVJTERGTEFHKElTX0xJTlVYKSB8fCBCVUlMREZMQUcoSVNfQ0hST01FT1NfTEFDUk9T KSkgJiYgXAorICAgICAhZGVmaW5lZChfX2FybV9fKSAmJiAhZGVmaW5lZChfX2FhcmNoNjRfXykg JiYgICAgICAgICAgICAgXAorKyAgICAhZGVmaW5lZChfX3Jpc2N2KSAmJiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAhZGVmaW5lZChQVFJBQ0VfR0VUX1RIUkVB RF9BUkVBKQorIC8vIEFsc28gaW5jbHVkZSBhc20vcHRyYWNlLWFiaS5oIHNpbmNlIHB0cmFjZS5o IGluIG9sZGVyIGxpYmMgKGZvciBpbnN0YW5jZQorIC8vIHRoZSBvbmUgaW4gVWJ1bnR1IDE2LjA0 IExUUykgaXMgbWlzc2luZyBQVFJBQ0VfR0VUX1RIUkVBRF9BUkVBLgorQEAgLTQ0Myw3ICs0NDQs NyBAQCBSZXN1bHRFeHByIFJlc3RyaWN0UHRyYWNlKCkgeworICNlbmRpZgorICAgcmV0dXJuIFN3 aXRjaChyZXF1ZXN0KQorICAgICAgIC5DQVNFUygoCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9f KQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAg ICAgICAgICAgICAgIFBUUkFDRV9HRVRSRUdTLCBQVFJBQ0VfR0VURlBSRUdTLCBQVFJBQ0VfR0VU X1RIUkVBRF9BUkVBLAorICAgICAgICAgICAgICAgICAgUFRSQUNFX0dFVFJFR1NFVCwKKyAjZW5k aWYKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc2VjY29tcC1i cGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDcu MC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxf c2V0cy5jYworKysrIGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zZWNjb21w LWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworQEAgLTEwMyw3ICsxMDMsNyBAQCBib29sIFN5 c2NhbGxTZXRzOjpJc1VtYXNrKGludCBzeXNubykgeworIC8vIEJvdGggRVBFUk0gYW5kIEVOT0VO VCBhcmUgdmFsaWQgZXJybm8gdW5sZXNzIG90aGVyd2lzZSBub3RlZCBpbiBjb21tZW50LgorIGJv b2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lz bm8pIHsKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2 NF9fKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfYWNjZXNzOiAgLy8gRVBF Uk0gbm90IGEgdmFsaWQgZXJybm8uCisgICAgIGNhc2UgX19OUl9jaG1vZDoKKyAgICAgY2FzZSBf X05SX2Nob3duOgorQEAgLTEzNiw3ICsxMzYsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZpbGVT eXN0ZW0oaW50IHN5c25vCisgICAgIGNhc2UgX19OUl9mYWNjZXNzYXQyOgorICAgICBjYXNlIF9f TlJfZmNobW9kYXQ6CisgICAgIGNhc2UgX19OUl9mY2hvd25hdDogIC8vIFNob3VsZCBiZSBjYWxs ZWQgY2hvd25hdCA/CistI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FhcmNo NjRfXykKKysjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8 fCBkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9uZXdmc3RhdGF0OiAgLy8gZnN0YXRh dCgpLiBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKyAjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1J TFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCitAQCAtMjI2LDcgKzIyNiw3IEBAIGJv b2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEZpbGVTeXN0ZW1BY2MKKyAgICAgY2FzZSBfX05SX29s ZGZzdGF0OgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2 XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRf XykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Jpc2N2KQorICAgICBj YXNlIF9fTlJfc3luY19maWxlX3JhbmdlOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCisg I2VsaWYgZGVmaW5lZChfX2FybV9fKQorICAgICBjYXNlIF9fTlJfYXJtX3N5bmNfZmlsZV9yYW5n ZTogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorQEAgLTI0NSw3ICsyNDUsNyBAQCBib29s IFN5c2NhbGxTZXRzOjpJc0RlbmllZEZpbGVTeXN0ZW1BY2NlCisgI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX19hcm1fXykKKyAgICAgY2FzZSBfX05SX2ZjaG93bjMyOgorICNlbmRp ZgorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18p ICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9nZXRkZW50czogICAgLy8gRVBF Uk0gbm90IGEgdmFsaWQgZXJybm8uCisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9nZXRkZW50czY0 OiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCitAQCAtMzI0LDcgKzMyNCw3IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzUHJvY2Vzc1ByaXZpbGVnZUNoYW4KKyBib29sIFN5c2NhbGxTZXRzOjpJ c1Byb2Nlc3NHcm91cE9yU2Vzc2lvbihpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsK KyAgICAgY2FzZSBfX05SX3NldHBnaWQ6CistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNp ZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBf X05SX2dldHBncnA6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9zZXRzaWQ6CitAQCAtMzU4LDcg KzM1OCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFNpZ25hbEhhbmRsaW4KKyAgICAg Y2FzZSBfX05SX3J0X3NpZ3F1ZXVlaW5mbzoKKyAgICAgY2FzZSBfX05SX3J0X3NpZ3N1c3BlbmQ6 CisgICAgIGNhc2UgX19OUl9ydF90Z3NpZ3F1ZXVlaW5mbzoKKy0jaWYgIWRlZmluZWQoX19hYXJj aDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQor ICAgICBjYXNlIF9fTlJfc2lnbmFsZmQ6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9zaWduYWxm ZDQ6CitAQCAtMzgyLDEyICszODIsMTIgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkT3Bl cmF0aW9uT25GZAorICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfY2xvc2U6Cisg ICAgIGNhc2UgX19OUl9kdXA6CistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVm aW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX2R1 cDI6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9kdXAzOgorICNpZiBkZWZpbmVkKF9feDg2XzY0 X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBk ZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVk KF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9zaHV0ZG93bjoKKyAjZW5kaWYKKyAgICAgICByZXR1 cm4gdHJ1ZTsKK0BAIC00MjYsNyArNDI2LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2Vk UHJvY2Vzc1N0YXJ0TworICAgICAgIHJldHVybiB0cnVlOworICAgICBjYXNlIF9fTlJfY2xvbmU6 ICAvLyBTaG91bGQgYmUgcGFyYW1ldGVyLXJlc3RyaWN0ZWQuCisgICAgIGNhc2UgX19OUl9zZXRu czogIC8vIFByaXZpbGVnZWQuCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVm aW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX2Zv cms6CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRf XykKK0BAIC00MzcsNyArNDM3LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vz c1N0YXJ0TworICNlbmRpZgorICAgICBjYXNlIF9fTlJfc2V0X3RpZF9hZGRyZXNzOgorICAgICBj YXNlIF9fTlJfdW5zaGFyZToKKy0jaWYgIWRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9f YWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChfX21pcHNfXykgJiYgIWRlZmluZWQoX19hYXJjaDY0 X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl92Zm9yazoKKyAjZW5kaWYK KyAgICAgZGVmYXVsdDoKK0BAIC00NjIsNyArNDYyLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNB bGxvd2VkRnV0ZXgoaW50IHN5cworIAorIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEVwb2xs KGludCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykgeworLSNpZiAhZGVmaW5lZChfX2FhcmNo NjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisg ICAgIGNhc2UgX19OUl9lcG9sbF9jcmVhdGU6CisgICAgIGNhc2UgX19OUl9lcG9sbF93YWl0Ogor ICNlbmRpZgorQEAgLTQ4MywxNCArNDgzLDE0IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dl ZEVwb2xsKGludCBzeXMKKyAKKyBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXRPck1vZGlm eVNvY2tldChpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKy0jaWYgIWRlZmluZWQo X19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX3Jp c2N2KQorICAgICBjYXNlIF9fTlJfcGlwZToKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3BpcGUy OgorICAgICAgIHJldHVybiB0cnVlOworICAgICBkZWZhdWx0OgorICNpZiBkZWZpbmVkKF9feDg2 XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAg ICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZp bmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9zb2NrZXRwYWlyOiAgLy8gV2Ugd2lsbCB3YW50 IHRvIGluc3BlY3QgaXRzIGFyZ3VtZW50LgorICNlbmRpZgorICAgICAgIHJldHVybiBmYWxzZTsK K0BAIC01MDAsNyArNTAwLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0T3JNb2Rp ZnlTbworIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkR2V0T3JNb2RpZnlTb2NrZXQoaW50IHN5 c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQo X19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNj dikKKyAgICAgY2FzZSBfX05SX2FjY2VwdDoKKyAgICAgY2FzZSBfX05SX2FjY2VwdDQ6CisgICAg IGNhc2UgX19OUl9iaW5kOgorQEAgLTU1NCw3ICs1NTQsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0FsbG93ZWRBZGRyZXNzU3BhY2VBCisgICAgIGNhc2UgX19OUl9taW5jb3JlOgorICAgICBjYXNl IF9fTlJfbWxvY2thbGw6CisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZf NjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9f KQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNh c2UgX19OUl9tbWFwOgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9fYXJtX18pIHx8IFwKK0BAIC01ODcsNyArNTg3LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNB bGxvd2VkR2VuZXJhbElvKGludAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkg JiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX19sbHNlZWs6Cisg I2VuZGlmCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChfX2FhcmNo NjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX3BvbGw6CisgI2VuZGlm CisgICAgIGNhc2UgX19OUl9wcG9sbDoKK0BAIC02MDgsNyArNjA4LDcgQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNBbGxvd2VkR2VuZXJhbElvKGludAorICAgICBjYXNlIF9fTlJfcmVjdjoKKyAjZW5k aWYKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmlu ZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5l ZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfcmVjdmZy b206ICAvLyBDb3VsZCBzcGVjaWZ5IHNvdXJjZS4KKyAgICAgY2FzZSBfX05SX3JlY3Ztc2c6ICAg Ly8gQ291bGQgc3BlY2lmeSBzb3VyY2UuCisgI2VuZGlmCitAQCAtNjIzLDcgKzYyMyw3IEBAIGJv b2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdlbmVyYWxJbyhpbnQKKyAgICAgY2FzZSBfX05SX3Nl bmQ6CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9f KSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisr ICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBf X05SX3NlbmRtc2c6ICAvLyBDb3VsZCBzcGVjaWZ5IGRlc3RpbmF0aW9uLgorICAgICBjYXNlIF9f TlJfc2VuZHRvOiAgIC8vIENvdWxkIHNwZWNpZnkgZGVzdGluYXRpb24uCisgI2VuZGlmCitAQCAt NjcyLDcgKzY3Miw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzU2VjY29tcChpbnQgc3lzbm8pIHsK KyBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRCYXNpY1NjaGVkdWxlcihpbnQgc3lzbm8pIHsK KyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX3NjaGVkX3lpZWxkOgorLSNpZiAh ZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZp bmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9wYXVzZToKKyAjZW5kaWYKKyAgICAgY2FzZSBf X05SX25hbm9zbGVlcDoKK0BAIC03NTYsNyArNzU2LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNO dW1hKGludCBzeXNubykgeworICAgICBjYXNlIF9fTlJfZ2V0Y3B1OgorICAgICBjYXNlIF9fTlJf bWJpbmQ6CisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBk ZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9t aWdyYXRlX3BhZ2VzOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfbW92ZV9wYWdlczoKK0BAIC03 OTEsNyArNzkxLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNHbG9iYWxQcm9jZXNzRW52aXJvbgor ICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfYWNjdDogIC8vIFByaXZpbGVnZWQu CisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5l ZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBkZWZpbmVk KF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9nZXRybGlt aXQ6CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykK K0BAIC04MjYsNyArODI2LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNEZWJ1ZyhpbnQgc3lzbm8p IHsKKyAKKyBib29sIFN5c2NhbGxTZXRzOjpJc0dsb2JhbFN5c3RlbVN0YXR1cyhpbnQgc3lzbm8p IHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lm ICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9f TlJfX3N5c2N0bDoKKyAgICAgY2FzZSBfX05SX3N5c2ZzOgorICNlbmRpZgorQEAgLTg0NCw3ICs4 NDQsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0dsb2JhbFN5c3RlbVN0YXR1cyhpCisgCisgYm9v bCBTeXNjYWxsU2V0czo6SXNFdmVudEZkKGludCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykg eworLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18p ICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9ldmVudGZkOgorICNlbmRpZgor ICAgICBjYXNlIF9fTlJfZXZlbnRmZDI6CitAQCAtODk2LDcgKzg5Niw4IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzS2V5TWFuYWdlbWVudChpbnQgc3kKKyB9CisgCisgI2lmIGRlZmluZWQoX194ODZf NjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCist ICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0 X0JJVFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV82NF9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcmlzY3YpCisgYm9vbCBTeXNj YWxsU2V0czo6SXNTeXN0ZW1WU2VtYXBob3JlcyhpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lz bm8pIHsKKyAgICAgY2FzZSBfX05SX3NlbWN0bDoKK0BAIC05MTYsNyArOTE3LDggQEAgYm9vbCBT eXNjYWxsU2V0czo6SXNTeXN0ZW1WU2VtYXBob3JlcyhpbgorIAorICNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorICAg ICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5l ZChBUkNIX0NQVV82NF9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkp ICYmIGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Jpc2N2 KQorIC8vIFRoZXNlIGdpdmUgYSBsb3Qgb2YgYW1iaWVudCBhdXRob3JpdHkgYW5kIGJ5cGFzcyB0 aGUgc2V0dWlkIHNhbmRib3guCisgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1WU2hhcmVkTWVt b3J5KGludCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykgeworQEAgLTkzMiw3ICs5MzQsOCBA QCBib29sIFN5c2NhbGxTZXRzOjpJc1N5c3RlbVZTaGFyZWRNZW1vcnkoCisgI2VuZGlmCisgCisg I2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9f YWFyY2g2NF9fKSB8fCBcCistICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBk ZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZB TUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9f cmlzY3YpCisgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1WTWVzc2FnZVF1ZXVlKGludCBzeXNu bykgeworICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfbXNnY3RsOgorQEAgLTk2 Myw3ICs5NjYsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc1N5c3RlbVZJcGMoaW50IHN5c25vCisg CisgYm9vbCBTeXNjYWxsU2V0czo6SXNBbnlTeXN0ZW1WKGludCBzeXNubykgeworICNpZiBkZWZp bmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2FhcmNoNjRf XykgfHwgXAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV82NF9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYm IGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Jpc2N2KQor ICAgcmV0dXJuIElzU3lzdGVtVk1lc3NhZ2VRdWV1ZShzeXNubykgfHwgSXNTeXN0ZW1WU2VtYXBo b3JlcyhzeXNubykgfHwKKyAgICAgICAgICBJc1N5c3RlbVZTaGFyZWRNZW1vcnkoc3lzbm8pOwor ICNlbGlmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKK0BAIC0xMDAwLDcgKzEwMDQsNyBAQCBib29s IFN5c2NhbGxTZXRzOjpJc0FkdmFuY2VkU2NoZWR1bGVyKGluCisgYm9vbCBTeXNjYWxsU2V0czo6 SXNJbm90aWZ5KGludCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9f TlJfaW5vdGlmeV9hZGRfd2F0Y2g6CistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAh ZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05S X2lub3RpZnlfaW5pdDoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX2lub3RpZnlfaW5pdDE6CitA QCAtMTEzOCw3ICsxMTQyLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNNaXNjKGludCBzeXNubykg eworICNpZiBkZWZpbmVkKF9feDg2XzY0X18pCisgICAgIGNhc2UgX19OUl90dXhjYWxsOgorICNl bmRpZgorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0 X18pICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl92c2VydmVyOgorICNlbmRp ZgorICAgICAgIHJldHVybiB0cnVlOworQEAgLTExNzMsNiArMTE3NywxNyBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0FybVByaXZhdGUoaW50IHN5c25vCisgfQorICNlbmRpZiAgLy8gZGVmaW5lZChf X2FybV9fKQorIAorKyNpZiBkZWZpbmVkKF9fcmlzY3YpCisrYm9vbCBTeXNjYWxsU2V0czo6SXNS aXNjdlByaXZhdGUoaW50IHN5c25vKSB7CisrICBzd2l0Y2ggKHN5c25vKSB7CisrICAgIGNhc2Ug X19OUl9yaXNjdl9mbHVzaF9pY2FjaGU6CisrICAgICAgcmV0dXJuIHRydWU7CisrICAgIGRlZmF1 bHQ6CisrICAgICAgcmV0dXJuIGZhbHNlOworKyAgfQorK30KKysjZW5kaWYgIC8vIGRlZmluZWQo X19yaXNjdikKKysKKyAjaWYgZGVmaW5lZChfX21pcHNfXykKKyBib29sIFN5c2NhbGxTZXRzOjpJ c01pcHNQcml2YXRlKGludCBzeXNubykgeworICAgc3dpdGNoIChzeXNubykgeworSW5kZXg6IGNo cm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5 c2NhbGxfc2V0cy5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA3LjAuNTMwNC44Ny5vcmln L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuaAorKysrIGNo cm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5 c2NhbGxfc2V0cy5oCitAQCAtNTIsNyArNTIsNyBAQCBjbGFzcyBTQU5EQk9YX0VYUE9SVCBTeXNj YWxsU2V0cyB7CisgI2VuZGlmCisgCisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5l ZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJj aDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19yaXNjdikKKyAg IHN0YXRpYyBib29sIElzTmV0d29ya1NvY2tldEluZm9ybWF0aW9uKGludCBzeXNubyk7CisgI2Vu ZGlmCisgCitAQCAtNzksMTggKzc5LDIxIEBAIGNsYXNzIFNBTkRCT1hfRVhQT1JUIFN5c2NhbGxT ZXRzIHsKKyAgIHN0YXRpYyBib29sIElzQXN5bmNJbyhpbnQgc3lzbm8pOworICAgc3RhdGljIGJv b2wgSXNLZXlNYW5hZ2VtZW50KGludCBzeXNubyk7CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykg fHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCistICAgIChk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMp KQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQ VV82NF9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcmlzY3YpCisgICBzdGF0aWMgYm9vbCBJ c1N5c3RlbVZTZW1hcGhvcmVzKGludCBzeXNubyk7CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19p Mzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCisg ICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCistICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZp bmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlM WSkgJiYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcmlz Y3YpCisgICAvLyBUaGVzZSBnaXZlIGEgbG90IG9mIGFtYmllbnQgYXV0aG9yaXR5IGFuZCBieXBh c3MgdGhlIHNldHVpZCBzYW5kYm94LgorICAgc3RhdGljIGJvb2wgSXNTeXN0ZW1WU2hhcmVkTWVt b3J5KGludCBzeXNubyk7CisgI2VuZGlmCisgCisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCistICAgIChkZWZp bmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKQor KyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV82 NF9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcmlzY3YpCisgICBzdGF0aWMgYm9vbCBJc1N5 c3RlbVZNZXNzYWdlUXVldWUoaW50IHN5c25vKTsKKyAjZW5kaWYKKyAKK0BAIC0xMTcsNiArMTIw LDkgQEAgY2xhc3MgU0FOREJPWF9FWFBPUlQgU3lzY2FsbFNldHMgeworICAgc3RhdGljIGJvb2wg SXNNaXBzUHJpdmF0ZShpbnQgc3lzbm8pOworICAgc3RhdGljIGJvb2wgSXNNaXBzTWlzYyhpbnQg c3lzbm8pOworICNlbmRpZiAgLy8gZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX3Jp c2N2KQorKyAgc3RhdGljIGJvb2wgSXNSaXNjdlByaXZhdGUoaW50IHN5c25vKTsKKysjZW5kaWYK KyAgIHN0YXRpYyBib29sIElzR29vZ2xlM1RocmVhZGluZyhpbnQgc3lzbm8pOworIH07CisgCitJ bmRleDogY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3N5 c2NhbGwuY2MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3Lm9yaWcvc2Fu ZGJveC9saW51eC9zZWNjb21wLWJwZi9zeXNjYWxsLmNjCisrKysgY2hyb21pdW0tMTA3LjAuNTMw NC44Ny9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3N5c2NhbGwuY2MKK0BAIC0xOCw3ICsxOCw3 IEBAIG5hbWVzcGFjZSBzYW5kYm94IHsKKyBuYW1lc3BhY2UgeworIAorICNpZiBkZWZpbmVkKEFS Q0hfQ1BVX1g4Nl9GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNX0ZBTUlMWSkgfHwgXAor LSAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorKyAgICBkZWZpbmVkKEFSQ0hfQ1BV X01JUFNfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX1JJU0NWX0ZBTUlMWSkKKyAvLyBOdW1i ZXIgdGhhdCdzIG5vdCBjdXJyZW50bHkgdXNlZCBieSBhbnkgTGludXgga2VybmVsIEFCSXMuCisg Y29uc3QgaW50IGtJbnZhbGlkU3lzY2FsbE51bWJlciA9IDB4MzUxZDM7CisgI2Vsc2UKK0BAIC0z MDgsNiArMzA4LDI4IEBAIGFzbSgvLyBXZSBuZWVkIHRvIGJlIGFibGUgdG8gdGVsbCB0aGUga2UK KyAgICAgIjI6cmV0XG4iCisgICAgICIuY2ZpX2VuZHByb2NcbiIKKyAgICAgIi5zaXplIFN5c2Nh bGxBc20sIC4tU3lzY2FsbEFzbVxuIgorKyNlbGlmIGRlZmluZWQoX19yaXNjdikKKysgICAgIi50 ZXh0XG4iCisrICAgICIuYWxpZ24gMlxuIgorKyAgICAiLnR5cGUgU3lzY2FsbEFzbSwgJWZ1bmN0 aW9uXG4iCisrICAgICJTeXNjYWxsQXNtOlxuIgorKyAgICAiLmNmaV9zdGFydHByb2NcbiIKKysg ICAgImJnZXogYTAsMWZcbiIKKysgICAgImxhIGEwLDJmXG4iCisrICAgICJqIDJmXG4iCisrICAg ICIxOm12IGE3LCBhMFxuIgorKyAgICAibGQgYTAsICh0MClcbiIKKysgICAgImxkIGExLCA4KHQw KVxuIgorKyAgICAibGQgYTIsIDE2KHQwKVxuIgorKyAgICAibGQgYTMsIDI0KHQwKVxuIgorKyAg ICAibGQgYTQsIDMyKHQwKVxuIgorKyAgICAibGQgYTUsIDQwKHQwKVxuIgorKyAgICAibGQgYTYs IDQ4KHQwKVxuIgorKyAgICAvLyBFbnRlciB0aGUga2VybmVsCisrICAgICJzY2FsbFxuIgorKyAg ICAiMjpyZXRcbiIKKysgICAgIi5jZmlfZW5kcHJvY1xuIgorKyAgICAiLnNpemUgU3lzY2FsbEFz bSwgLi1TeXNjYWxsQXNtXG4iCisgI2VuZGlmCisgICAgICk7ICAvLyBhc20KKyAKK0BAIC00MjUs NiArNDQ3LDE4IEBAIGludHB0cl90IFN5c2NhbGw6OkNhbGwoaW50IG5yLAorICAgICByZXQgPSBp bm91dDsKKyAgIH0KKyAKKysjZWxpZiBkZWZpbmVkKF9fcmlzY3YpCisrICBpbnRwdHJfdCByZXQ7 CisrICB7CisrICAgIHJlZ2lzdGVyIGludHB0cl90IGlub3V0IF9fYXNtX18oImEwIikgPSBucjsK KysgICAgcmVnaXN0ZXIgY29uc3QgaW50cHRyX3QqIGRhdGEgX19hc21fXygidDAiKSA9IGFyZ3M7 CisrICAgIGFzbSB2b2xhdGlsZSgiamFsIFN5c2NhbGxBc21cbiIKKysgICAgICAgICAgICAgICAg IDogIityIihpbm91dCkKKysgICAgICAgICAgICAgICAgIDogInIiKGRhdGEpCisrICAgICAgICAg ICAgICAgICA6ICJtZW1vcnkiLCAiYTEiLCAiYTIiLCAiYTMiLCAiYTQiLCAiYTUiLCAiYTYiKTsK KysgICAgcmV0ID0gaW5vdXQ7CisrICB9CisrCisgI2Vsc2UKKyAjZXJyb3IgIlVuaW1wbGVtZW50 ZWQgYXJjaGl0ZWN0dXJlIgorICNlbmRpZgorSW5kZXg6IGNocm9taXVtLTEwNy4wLjUzMDQuODcv c2FuZGJveC9saW51eC9zZXJ2aWNlcy9jcmVkZW50aWFscy5jYworPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNo cm9taXVtLTEwNy4wLjUzMDQuODcub3JpZy9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRp YWxzLmNjCisrKysgY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L3NlcnZpY2Vz L2NyZWRlbnRpYWxzLmNjCitAQCAtODAsNyArODAsNyBAQCBib29sIENocm9vdFRvU2FmZUVtcHR5 RGlyKCkgeworICAgcGlkX3QgcGlkID0gLTE7CisgICBhbGlnbmFzKDE2KSBjaGFyIHN0YWNrX2J1 ZltQVEhSRUFEX1NUQUNLX01JTl07CisgI2lmIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkg fHwgZGVmaW5lZChBUkNIX0NQVV9BUk1fRkFNSUxZKSB8fCBcCistICAgIGRlZmluZWQoQVJDSF9D UFVfTUlQU19GQU1JTFkpCisrICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpIHx8IGRl ZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorICAgLy8gVGhlIHN0YWNrIGdyb3dzIGRvd253 YXJkLgorICAgdm9pZCogc3RhY2sgPSBzdGFja19idWYgKyBzaXplb2Yoc3RhY2tfYnVmKTsKKyAj ZWxzZQorSW5kZXg6IGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zZXJ2aWNl cy9zeXNjYWxsX3dyYXBwZXJzLmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA3LjAuNTMw NC44Ny5vcmlnL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYworKysr IGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dy YXBwZXJzLmNjCitAQCAtNjEsNyArNjEsNyBAQCBsb25nIHN5c19jbG9uZSh1bnNpZ25lZCBsb25n IGZsYWdzLAorICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl82NCkKKyAgIHJldHVybiBzeXNjYWxs KF9fTlJfY2xvbmUsIGZsYWdzLCBjaGlsZF9zdGFjaywgcHRpZCwgY3RpZCwgdGxzKTsKKyAjZWxp ZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4NikgfHwgZGVmaW5lZChBUkNIX0NQVV9BUk1fRkFNSUxZKSB8 fCBcCistICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisrICAgIGRlZmluZWQoQVJD SF9DUFVfTUlQU19GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfUklTQ1ZfRkFNSUxZKQorICAg Ly8gQ09ORklHX0NMT05FX0JBQ0tXQVJEUyBkZWZpbmVkLgorICAgcmV0dXJuIHN5c2NhbGwoX19O Ul9jbG9uZSwgZmxhZ3MsIGNoaWxkX3N0YWNrLCBwdGlkLCB0bHMsIGN0aWQpOworICNlbmRpZgor SW5kZXg6IGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tl ci9icm9rZXJfcHJvY2Vzcy5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNy4wLjUzMDQu ODcub3JpZy9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmNjCisr KysgY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jy b2tlcl9wcm9jZXNzLmNjCitAQCAtMTE3LDQ0ICsxMTcsNDYgQEAgYm9vbCBCcm9rZXJQcm9jZXNz OjpJc1N5c2NhbGxCcm9rZXJhYmxlKAorICAgLy8gYW5kIGFyZSBkZWZhdWx0IGRpc2FibGVkIGlu IEFuZHJvaWQuIFNvLCB3ZSBzaG91bGQgcmVmdXNlIHRvIGJyb2tlciB0aGVtCisgICAvLyB0byBi ZSBjb25zaXN0ZW50IHdpdGggdGhlIHBsYXRmb3JtJ3MgcmVzdHJpY3Rpb25zLgorICAgc3dpdGNo IChzeXNubykgeworLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIUJVSUxERkxBRyhJU19B TkRST0lEKQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIUJVSUxERkxBRyhJU19BTkRS T0lEKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfYWNjZXNzOgorICNlbmRp ZgorICAgICBjYXNlIF9fTlJfZmFjY2Vzc2F0OgorICAgICBjYXNlIF9fTlJfZmFjY2Vzc2F0MjoK KyAgICAgICByZXR1cm4gIWZhc3RfY2hlY2sgfHwgcG9saWN5Xy0+YWxsb3dlZF9jb21tYW5kX3Nl dC50ZXN0KENPTU1BTkRfQUNDRVNTKTsKKyAKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYm ICFCVUlMREZMQUcoSVNfQU5EUk9JRCkKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFC VUlMREZMQUcoSVNfQU5EUk9JRCkgJiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05S X21rZGlyOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfbWtkaXJhdDoKKyAgICAgICByZXR1cm4g IWZhc3RfY2hlY2sgfHwgcG9saWN5Xy0+YWxsb3dlZF9jb21tYW5kX3NldC50ZXN0KENPTU1BTkRf TUtESVIpOworIAorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIUJVSUxERkxBRyhJU19B TkRST0lEKQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIUJVSUxERkxBRyhJU19BTkRS T0lEKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfb3BlbjoKKyAjZW5kaWYK KyAgICAgY2FzZSBfX05SX29wZW5hdDoKKyAgICAgICByZXR1cm4gIWZhc3RfY2hlY2sgfHwgcG9s aWN5Xy0+YWxsb3dlZF9jb21tYW5kX3NldC50ZXN0KENPTU1BTkRfT1BFTik7CisgCistI2lmICFk ZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhQlVJTERGTEFHKElTX0FORFJPSUQpCisrI2lmICFkZWZp bmVkKF9fYWFyY2g2NF9fKSAmJiAhQlVJTERGTEFHKElTX0FORFJPSUQpICYmICFkZWZpbmVkKF9f cmlzY3YpCisgICAgIGNhc2UgX19OUl9yZWFkbGluazoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05S X3JlYWRsaW5rYXQ6CisgICAgICAgcmV0dXJuICFmYXN0X2NoZWNrIHx8IHBvbGljeV8tPmFsbG93 ZWRfY29tbWFuZF9zZXQudGVzdChDT01NQU5EX1JFQURMSU5LKTsKKyAKKy0jaWYgIWRlZmluZWQo X19hYXJjaDY0X18pICYmICFCVUlMREZMQUcoSVNfQU5EUk9JRCkKKysjaWYgIWRlZmluZWQoX19h YXJjaDY0X18pICYmICFCVUlMREZMQUcoSVNfQU5EUk9JRCkgJiYgIWRlZmluZWQoX19yaXNjdikK KyAgICAgY2FzZSBfX05SX3JlbmFtZToKKyAjZW5kaWYKKysjaWZkZWYgX19OUl9yZW5hbWVhdAor ICAgICBjYXNlIF9fTlJfcmVuYW1lYXQ6CisrI2VuZGlmCisgICAgIGNhc2UgX19OUl9yZW5hbWVh dDI6CisgICAgICAgcmV0dXJuICFmYXN0X2NoZWNrIHx8IHBvbGljeV8tPmFsbG93ZWRfY29tbWFu ZF9zZXQudGVzdChDT01NQU5EX1JFTkFNRSk7CisgCistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9f KSAmJiAhQlVJTERGTEFHKElTX0FORFJPSUQpCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAm JiAhQlVJTERGTEFHKElTX0FORFJPSUQpICYmICFkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2Ug X19OUl9ybWRpcjoKKyAgICAgICByZXR1cm4gIWZhc3RfY2hlY2sgfHwgcG9saWN5Xy0+YWxsb3dl ZF9jb21tYW5kX3NldC50ZXN0KENPTU1BTkRfUk1ESVIpOworICNlbmRpZgorIAorLSNpZiAhZGVm aW5lZChfX2FhcmNoNjRfXykgJiYgIUJVSUxERkxBRyhJU19BTkRST0lEKQorKyNpZiAhZGVmaW5l ZChfX2FhcmNoNjRfXykgJiYgIUJVSUxERkxBRyhJU19BTkRST0lEKSAmJiAhZGVmaW5lZChfX3Jp c2N2KQorICAgICBjYXNlIF9fTlJfc3RhdDoKKyAgICAgY2FzZSBfX05SX2xzdGF0OgorICNlbmRp ZgorQEAgLTE2NCw3ICsxNjYsNyBAQCBib29sIEJyb2tlclByb2Nlc3M6OklzU3lzY2FsbEJyb2tl cmFibGUoCisgI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCisgICAgIGNhc2UgX19OUl9mc3Rh dGF0NjQ6CisgI2VuZGlmCistI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2Fh cmNoNjRfXykKKysjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9f KSB8fCBkZWZpbmVkKF9fcmlzY3YpCisgICAgIGNhc2UgX19OUl9uZXdmc3RhdGF0OgorICNlbmRp ZgorICAgICAgIHJldHVybiAhZmFzdF9jaGVjayB8fCBwb2xpY3lfLT5hbGxvd2VkX2NvbW1hbmRf c2V0LnRlc3QoQ09NTUFORF9TVEFUKTsKK0BAIC0xNzksNyArMTgxLDcgQEAgYm9vbCBCcm9rZXJQ cm9jZXNzOjpJc1N5c2NhbGxCcm9rZXJhYmxlKAorICAgICAgIHJldHVybiAhZmFzdF9jaGVjayB8 fCBwb2xpY3lfLT5hbGxvd2VkX2NvbW1hbmRfc2V0LnRlc3QoQ09NTUFORF9TVEFUKTsKKyAjZW5k aWYKKyAKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFCVUlMREZMQUcoSVNfQU5EUk9J RCkKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFCVUlMREZMQUcoSVNfQU5EUk9JRCkg JiYgIWRlZmluZWQoX19yaXNjdikKKyAgICAgY2FzZSBfX05SX3VubGluazoKKyAgICAgICByZXR1 cm4gIWZhc3RfY2hlY2sgfHwgcG9saWN5Xy0+YWxsb3dlZF9jb21tYW5kX3NldC50ZXN0KENPTU1B TkRfVU5MSU5LKTsKKyAjZW5kaWYKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRi b3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29tcC5oCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g Y2hyb21pdW0tMTA3LjAuNTMwNC44Ny5vcmlnL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMv bGludXhfc2VjY29tcC5oCisrKysgY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NlY2NvbXAuaAorQEAgLTM4LDYgKzM4LDkgQEAKKyAjaWZu ZGVmIEVNX0FBUkNINjQKKyAjZGVmaW5lIEVNX0FBUkNINjQgMTgzCisgI2VuZGlmCisrI2lmbmRl ZiBFTV9SSVNDVgorKyNkZWZpbmUgRU1fUklTQ1YgMjQzCisrI2VuZGlmCisgCisgI2lmbmRlZiBf X0FVRElUX0FSQ0hfNjRCSVQKKyAjZGVmaW5lIF9fQVVESVRfQVJDSF82NEJJVCAweDgwMDAwMDAw CitAQCAtNzAsNiArNzMsOSBAQAorICNpZm5kZWYgQVVESVRfQVJDSF9BQVJDSDY0CisgI2RlZmlu ZSBBVURJVF9BUkNIX0FBUkNINjQgKEVNX0FBUkNINjQgfCBfX0FVRElUX0FSQ0hfNjRCSVQgfCBf X0FVRElUX0FSQ0hfTEUpCisgI2VuZGlmCisrI2lmbmRlZiBBVURJVF9BUkNIX1JJU0NWNjQKKysj ZGVmaW5lIEFVRElUX0FSQ0hfUklTQ1Y2NCAoRU1fUklTQ1Z8X19BVURJVF9BUkNIXzY0QklUfF9f QVVESVRfQVJDSF9MRSkKKysjZW5kaWYKKyAKKyAvLyBGb3IgcHJjdGwuaAorICNpZm5kZWYgUFJf U0VUX1NFQ0NPTVAKK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvbGludXhfc2lnbmFsLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0x MDcuMC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWdu YWwuaAorKysrIGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zeXN0ZW1faGVh ZGVycy9saW51eF9zaWduYWwuaAorQEAgLTEzLDcgKzEzLDcgQEAKKyAvLyAobm90IHVuZGVmaW5l ZCwgYnV0IGRlZmluZWQgZGlmZmVyZW50IHZhbHVlcyBhbmQgaW4gZGlmZmVyZW50IG1lbW9yeQor IC8vIGxheW91dHMpLiBTbywgZmlsbCB0aGUgZ2FwIGhlcmUuCisgI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCistICAg IGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmlu ZWQoX19yaXNjdikKKyAKKyAjZGVmaW5lIExJTlVYX1NJR0hVUCAxCisgI2RlZmluZSBMSU5VWF9T SUdJTlQgMgorSW5kZXg6IGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9saW51eF9zdGF0LmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBjaHJvbWl1bS0xMDcuMC41 MzA0Ljg3Lm9yaWcvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgKKysr KyBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3L3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGlu dXhfc3RhdC5oCitAQCAtMTUwLDcgKzE1MCw3IEBAIHN0cnVjdCBrZXJuZWxfc3RhdCB7CisgICBp bnQgc3RfYmxvY2tzOworICAgaW50IHN0X3BhZDRbMTRdOworIH07CistI2VsaWYgZGVmaW5lZChf X2FhcmNoNjRfXykKKysjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcmlz Y3YpCisgc3RydWN0IGtlcm5lbF9zdGF0IHsKKyAgIHVuc2lnbmVkIGxvbmcgc3RfZGV2OworICAg dW5zaWduZWQgbG9uZyBzdF9pbm87CitJbmRleDogY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5k Ym94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgKKz09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0t LSBjaHJvbWl1bS0xMDcuMC41MzA0Ljg3Lm9yaWcvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cy9saW51eF9zeXNjYWxscy5oCisrKysgY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L2xp bnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0zNSw1ICszNSw5IEBACisg I2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2Fs bHMuaCIKKyAjZW5kaWYKKyAKKysjaWYgZGVmaW5lZChfX3Jpc2N2KSAmJiBfX3Jpc2N2X3hsZW4g PT0gNjQKKysjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9yaXNjdjY0X2xp bnV4X3N5c2NhbGxzLmgiCisrI2VuZGlmCisrCisgI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZ U1RFTV9IRUFERVJTX0xJTlVYX1NZU0NBTExTX0hfCisgCitJbmRleDogY2hyb21pdW0tMTA3LjAu NTMwNC44Ny9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3Jpc2N2NjRfbGludXhfc3lzY2Fs bHMuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAorKysrIGNocm9taXVtLTEwNy4wLjUzMDQu ODcvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9yaXNjdjY0X2xpbnV4X3N5c2NhbGxzLmgK K0BAIC0wLDAgKzEsMTIyMiBAQAorKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRo b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKysvLyBmb3VuZCBp biB0aGUgTElDRU5TRSBmaWxlLgorKworKyNpZm5kZWYgU0FOREJPWF9MSU5VWF9TWVNURU1fSEVB REVSU19SSVNDVjY0X0xJTlVYX1NZU0NBTExTX0hfCisrI2RlZmluZSBTQU5EQk9YX0xJTlVYX1NZ U1RFTV9IRUFERVJTX1JJU0NWNjRfTElOVVhfU1lTQ0FMTFNfSF8KKysKKysjaW5jbHVkZSA8YXNt LWdlbmVyaWMvdW5pc3RkLmg+CisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW9fc2V0dXApCisrI2Rl ZmluZSBfX05SX2lvX3NldHVwIDAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9pb19k ZXN0cm95KQorKyNkZWZpbmUgX19OUl9pb19kZXN0cm95IDEKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9pb19zdWJtaXQpCisrI2RlZmluZSBfX05SX2lvX3N1Ym1pdCAyCisrI2VuZGlm CisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW9fY2FuY2VsKQorKyNkZWZpbmUgX19OUl9pb19jYW5j ZWwgMworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2lvX2dldGV2ZW50cykKKysjZGVm aW5lIF9fTlJfaW9fZ2V0ZXZlbnRzIDQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9z ZXR4YXR0cikKKysjZGVmaW5lIF9fTlJfc2V0eGF0dHIgNQorKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX2xzZXR4YXR0cikKKysjZGVmaW5lIF9fTlJfbHNldHhhdHRyIDYKKysjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19OUl9mc2V0eGF0dHIpCisrI2RlZmluZSBfX05SX2ZzZXR4YXR0 ciA3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0eGF0dHIpCisrI2RlZmluZSBf X05SX2dldHhhdHRyIDgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9sZ2V0eGF0dHIp CisrI2RlZmluZSBfX05SX2xnZXR4YXR0ciA5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfZmdldHhhdHRyKQorKyNkZWZpbmUgX19OUl9mZ2V0eGF0dHIgMTAKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9saXN0eGF0dHIpCisrI2RlZmluZSBfX05SX2xpc3R4YXR0ciAxMQor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2xsaXN0eGF0dHIpCisrI2RlZmluZSBfX05S X2xsaXN0eGF0dHIgMTIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mbGlzdHhhdHRy KQorKyNkZWZpbmUgX19OUl9mbGlzdHhhdHRyIDEzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfcmVtb3ZleGF0dHIpCisrI2RlZmluZSBfX05SX3JlbW92ZXhhdHRyIDE0CisrI2VuZGlm CisrCisrI2lmICFkZWZpbmVkKF9fTlJfbHJlbW92ZXhhdHRyKQorKyNkZWZpbmUgX19OUl9scmVt b3ZleGF0dHIgMTUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mcmVtb3ZleGF0dHIp CisrI2RlZmluZSBfX05SX2ZyZW1vdmV4YXR0ciAxNgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX2dldGN3ZCkKKysjZGVmaW5lIF9fTlJfZ2V0Y3dkIDE3CisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfbG9va3VwX2Rjb29raWUpCisrI2RlZmluZSBfX05SX2xvb2t1cF9kY29v a2llIDE4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZXZlbnRmZDIpCisrI2RlZmlu ZSBfX05SX2V2ZW50ZmQyIDE5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZXBvbGxf Y3JlYXRlMSkKKysjZGVmaW5lIF9fTlJfZXBvbGxfY3JlYXRlMSAyMAorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX2Vwb2xsX2N0bCkKKysjZGVmaW5lIF9fTlJfZXBvbGxfY3RsIDIxCisr I2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZXBvbGxfcHdhaXQpCisrI2RlZmluZSBfX05S X2Vwb2xsX3B3YWl0IDIyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZHVwKQorKyNk ZWZpbmUgX19OUl9kdXAgMjMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9kdXAzKQor KyNkZWZpbmUgX19OUl9kdXAzIDI0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZmNu dGwpCisrI2RlZmluZSBfX05SX2ZjbnRsIDI1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfaW5vdGlmeV9pbml0MSkKKysjZGVmaW5lIF9fTlJfaW5vdGlmeV9pbml0MSAyNgorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX2lub3RpZnlfYWRkX3dhdGNoKQorKyNkZWZpbmUgX19O Ul9pbm90aWZ5X2FkZF93YXRjaCAyNworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2lu b3RpZnlfcm1fd2F0Y2gpCisrI2RlZmluZSBfX05SX2lub3RpZnlfcm1fd2F0Y2ggMjgKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9pb2N0bCkKKysjZGVmaW5lIF9fTlJfaW9jdGwgMjkK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9pb3ByaW9fc2V0KQorKyNkZWZpbmUgX19O Ul9pb3ByaW9fc2V0IDMwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW9wcmlvX2dl dCkKKysjZGVmaW5lIF9fTlJfaW9wcmlvX2dldCAzMQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX2Zsb2NrKQorKyNkZWZpbmUgX19OUl9mbG9jayAzMgorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX21rbm9kYXQpCisrI2RlZmluZSBfX05SX21rbm9kYXQgMzMKKysjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19OUl9ta2RpcmF0KQorKyNkZWZpbmUgX19OUl9ta2RpcmF0IDM0 CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdW5saW5rYXQpCisrI2RlZmluZSBfX05S X3VubGlua2F0IDM1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc3ltbGlua2F0KQor KyNkZWZpbmUgX19OUl9zeW1saW5rYXQgMzYKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul9saW5rYXQpCisrI2RlZmluZSBfX05SX2xpbmthdCAzNworKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX3JlbmFtZWF0KQorKyNkZWZpbmUgX19OUl9yZW5hbWVhdCAzOAorKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX3Vtb3VudDIpCisrI2RlZmluZSBfX05SX3Vtb3VudDIgMzkK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tb3VudCkKKysjZGVmaW5lIF9fTlJfbW91 bnQgNDAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9waXZvdF9yb290KQorKyNkZWZp bmUgX19OUl9waXZvdF9yb290IDQxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbmZz c2VydmN0bCkKKysjZGVmaW5lIF9fTlJfbmZzc2VydmN0bCA0MgorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX3N0YXRmcykKKysjZGVmaW5lIF9fTlJfc3RhdGZzIDQzCisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfZnN0YXRmcykKKysjZGVmaW5lIF9fTlJfZnN0YXRmcyA0NAor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3RydW5jYXRlKQorKyNkZWZpbmUgX19OUl90 cnVuY2F0ZSA0NQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Z0cnVuY2F0ZSkKKysj ZGVmaW5lIF9fTlJfZnRydW5jYXRlIDQ2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf ZmFsbG9jYXRlKQorKyNkZWZpbmUgX19OUl9mYWxsb2NhdGUgNDcKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9mYWNjZXNzYXQpCisrI2RlZmluZSBfX05SX2ZhY2Nlc3NhdCA0OAorKyNl bmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2NoZGlyKQorKyNkZWZpbmUgX19OUl9jaGRpciA0 OQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2ZjaGRpcikKKysjZGVmaW5lIF9fTlJf ZmNoZGlyIDUwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfY2hyb290KQorKyNkZWZp bmUgX19OUl9jaHJvb3QgNTEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mY2htb2Qp CisrI2RlZmluZSBfX05SX2ZjaG1vZCA1MgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X2ZjaG1vZGF0KQorKyNkZWZpbmUgX19OUl9mY2htb2RhdCA1MworKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX2ZjaG93bmF0KQorKyNkZWZpbmUgX19OUl9mY2hvd25hdCA1NAorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX2ZjaG93bikKKysjZGVmaW5lIF9fTlJfZmNob3duIDU1 CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfb3BlbmF0KQorKyNkZWZpbmUgX19OUl9v cGVuYXQgNTYKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9jbG9zZSkKKysjZGVmaW5l IF9fTlJfY2xvc2UgNTcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl92aGFuZ3VwKQor KyNkZWZpbmUgX19OUl92aGFuZ3VwIDU4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf cGlwZTIpCisrI2RlZmluZSBfX05SX3BpcGUyIDU5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfcXVvdGFjdGwpCisrI2RlZmluZSBfX05SX3F1b3RhY3RsIDYwCisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfZ2V0ZGVudHM2NCkKKysjZGVmaW5lIF9fTlJfZ2V0ZGVudHM2NCA2 MQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2xzZWVrKQorKyNkZWZpbmUgX19OUl9s c2VlayA2MgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3JlYWQpCisrI2RlZmluZSBf X05SX3JlYWQgNjMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl93cml0ZSkKKysjZGVm aW5lIF9fTlJfd3JpdGUgNjQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9yZWFkdikK KysjZGVmaW5lIF9fTlJfcmVhZHYgNjUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl93 cml0ZXYpCisrI2RlZmluZSBfX05SX3dyaXRldiA2NgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3ByZWFkNjQpCisrI2RlZmluZSBfX05SX3ByZWFkNjQgNjcKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9wd3JpdGU2NCkKKysjZGVmaW5lIF9fTlJfcHdyaXRlNjQgNjgKKysj ZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9wcmVhZHYpCisrI2RlZmluZSBfX05SX3ByZWFk diA2OQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3B3cml0ZXYpCisrI2RlZmluZSBf X05SX3B3cml0ZXYgNzAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZW5kZmlsZSkK KysjZGVmaW5lIF9fTlJfc2VuZGZpbGUgNzEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul9wc2VsZWN0NikKKysjZGVmaW5lIF9fTlJfcHNlbGVjdDYgNzIKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9wcG9sbCkKKysjZGVmaW5lIF9fTlJfcHBvbGwgNzMKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9zaWduYWxmZDQpCisrI2RlZmluZSBfX05SX3NpZ25hbGZkNCA3 NAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3Ztc3BsaWNlKQorKyNkZWZpbmUgX19O Ul92bXNwbGljZSA3NQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NwbGljZSkKKysj ZGVmaW5lIF9fTlJfc3BsaWNlIDc2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdGVl KQorKyNkZWZpbmUgX19OUl90ZWUgNzcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9y ZWFkbGlua2F0KQorKyNkZWZpbmUgX19OUl9yZWFkbGlua2F0IDc4CisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkKKysjZGVmaW5lIF9fTlJfbmV3ZnN0YXRhdCA3OQor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2ZzdGF0KQorKyNkZWZpbmUgX19OUl9mc3Rh dCA4MAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3N5bmMpCisrI2RlZmluZSBfX05S X3N5bmMgODEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mc3luYykKKysjZGVmaW5l IF9fTlJfZnN5bmMgODIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mZGF0YXN5bmMp CisrI2RlZmluZSBfX05SX2ZkYXRhc3luYyA4MworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX3N5bmNfZmlsZV9yYW5nZSkKKysjZGVmaW5lIF9fTlJfc3luY19maWxlX3JhbmdlIDg0Cisr I2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdGltZXJmZF9jcmVhdGUpCisrI2RlZmluZSBf X05SX3RpbWVyZmRfY3JlYXRlIDg1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdGlt ZXJmZF9zZXR0aW1lKQorKyNkZWZpbmUgX19OUl90aW1lcmZkX3NldHRpbWUgODYKKysjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19OUl90aW1lcmZkX2dldHRpbWUpCisrI2RlZmluZSBfX05SX3Rp bWVyZmRfZ2V0dGltZSA4NworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3V0aW1lbnNh dCkKKysjZGVmaW5lIF9fTlJfdXRpbWVuc2F0IDg4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfYWNjdCkKKysjZGVmaW5lIF9fTlJfYWNjdCA4OQorKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX2NhcGdldCkKKysjZGVmaW5lIF9fTlJfY2FwZ2V0IDkwCisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfY2Fwc2V0KQorKyNkZWZpbmUgX19OUl9jYXBzZXQgOTEKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9wZXJzb25hbGl0eSkKKysjZGVmaW5lIF9fTlJfcGVy c29uYWxpdHkgOTIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9leGl0KQorKyNkZWZp bmUgX19OUl9leGl0IDkzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZXhpdF9ncm91 cCkKKysjZGVmaW5lIF9fTlJfZXhpdF9ncm91cCA5NAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3dhaXRpZCkKKysjZGVmaW5lIF9fTlJfd2FpdGlkIDk1CisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfc2V0X3RpZF9hZGRyZXNzKQorKyNkZWZpbmUgX19OUl9zZXRfdGlkX2Fk ZHJlc3MgOTYKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl91bnNoYXJlKQorKyNkZWZp bmUgX19OUl91bnNoYXJlIDk3CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZnV0ZXgp CisrI2RlZmluZSBfX05SX2Z1dGV4IDk4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf c2V0X3JvYnVzdF9saXN0KQorKyNkZWZpbmUgX19OUl9zZXRfcm9idXN0X2xpc3QgOTkKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9nZXRfcm9idXN0X2xpc3QpCisrI2RlZmluZSBfX05S X2dldF9yb2J1c3RfbGlzdCAxMDAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9uYW5v c2xlZXApCisrI2RlZmluZSBfX05SX25hbm9zbGVlcCAxMDEKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9nZXRpdGltZXIpCisrI2RlZmluZSBfX05SX2dldGl0aW1lciAxMDIKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZXRpdGltZXIpCisrI2RlZmluZSBfX05SX3NldGl0 aW1lciAxMDMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9rZXhlY19sb2FkKQorKyNk ZWZpbmUgX19OUl9rZXhlY19sb2FkIDEwNAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X2luaXRfbW9kdWxlKQorKyNkZWZpbmUgX19OUl9pbml0X21vZHVsZSAxMDUKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9kZWxldGVfbW9kdWxlKQorKyNkZWZpbmUgX19OUl9kZWxldGVf bW9kdWxlIDEwNgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3RpbWVyX2NyZWF0ZSkK KysjZGVmaW5lIF9fTlJfdGltZXJfY3JlYXRlIDEwNworKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3RpbWVyX2dldHRpbWUpCisrI2RlZmluZSBfX05SX3RpbWVyX2dldHRpbWUgMTA4Cisr I2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfdGltZXJfZ2V0b3ZlcnJ1bikKKysjZGVmaW5l IF9fTlJfdGltZXJfZ2V0b3ZlcnJ1biAxMDkKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul90aW1lcl9zZXR0aW1lKQorKyNkZWZpbmUgX19OUl90aW1lcl9zZXR0aW1lIDExMAorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX3RpbWVyX2RlbGV0ZSkKKysjZGVmaW5lIF9fTlJfdGlt ZXJfZGVsZXRlIDExMQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Nsb2NrX3NldHRp bWUpCisrI2RlZmluZSBfX05SX2Nsb2NrX3NldHRpbWUgMTEyCisrI2VuZGlmCisrCisrI2lmICFk ZWZpbmVkKF9fTlJfY2xvY2tfZ2V0dGltZSkKKysjZGVmaW5lIF9fTlJfY2xvY2tfZ2V0dGltZSAx MTMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9jbG9ja19nZXRyZXMpCisrI2RlZmlu ZSBfX05SX2Nsb2NrX2dldHJlcyAxMTQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9j bG9ja19uYW5vc2xlZXApCisrI2RlZmluZSBfX05SX2Nsb2NrX25hbm9zbGVlcCAxMTUKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zeXNsb2cpCisrI2RlZmluZSBfX05SX3N5c2xvZyAx MTYKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9wdHJhY2UpCisrI2RlZmluZSBfX05S X3B0cmFjZSAxMTcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zY2hlZF9zZXRwYXJh bSkKKysjZGVmaW5lIF9fTlJfc2NoZWRfc2V0cGFyYW0gMTE4CisrI2VuZGlmCisrCisrI2lmICFk ZWZpbmVkKF9fTlJfc2NoZWRfc2V0c2NoZWR1bGVyKQorKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRz Y2hlZHVsZXIgMTE5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2NoZWRfZ2V0c2No ZWR1bGVyKQorKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXIgMTIwCisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfc2NoZWRfZ2V0cGFyYW0pCisrI2RlZmluZSBfX05SX3NjaGVk X2dldHBhcmFtIDEyMQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NjaGVkX3NldGFm ZmluaXR5KQorKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRhZmZpbml0eSAxMjIKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9zY2hlZF9nZXRhZmZpbml0eSkKKysjZGVmaW5lIF9fTlJfc2No ZWRfZ2V0YWZmaW5pdHkgMTIzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2NoZWRf eWllbGQpCisrI2RlZmluZSBfX05SX3NjaGVkX3lpZWxkIDEyNAorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX3NjaGVkX2dldF9wcmlvcml0eV9tYXgpCisrI2RlZmluZSBfX05SX3NjaGVk X2dldF9wcmlvcml0eV9tYXggMTI1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2No ZWRfZ2V0X3ByaW9yaXR5X21pbikKKysjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0X3ByaW9yaXR5X21p biAxMjYKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zY2hlZF9ycl9nZXRfaW50ZXJ2 YWwpCisrI2RlZmluZSBfX05SX3NjaGVkX3JyX2dldF9pbnRlcnZhbCAxMjcKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9yZXN0YXJ0X3N5c2NhbGwpCisrI2RlZmluZSBfX05SX3Jlc3Rh cnRfc3lzY2FsbCAxMjgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9raWxsKQorKyNk ZWZpbmUgX19OUl9raWxsIDEyOQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3RraWxs KQorKyNkZWZpbmUgX19OUl90a2lsbCAxMzAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul90Z2tpbGwpCisrI2RlZmluZSBfX05SX3Rna2lsbCAxMzEKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9zaWdhbHRzdGFjaykKKysjZGVmaW5lIF9fTlJfc2lnYWx0c3RhY2sgMTMyCisr I2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcnRfc2lnc3VzcGVuZCkKKysjZGVmaW5lIF9f TlJfcnRfc2lnc3VzcGVuZCAxMzMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9ydF9z aWdhY3Rpb24pCisrI2RlZmluZSBfX05SX3J0X3NpZ2FjdGlvbiAxMzQKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9ydF9zaWdwcm9jbWFzaykKKysjZGVmaW5lIF9fTlJfcnRfc2lncHJv Y21hc2sgMTM1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcnRfc2lncGVuZGluZykK KysjZGVmaW5lIF9fTlJfcnRfc2lncGVuZGluZyAxMzYKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9ydF9zaWd0aW1lZHdhaXQpCisrI2RlZmluZSBfX05SX3J0X3NpZ3RpbWVkd2FpdCAx MzcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9ydF9zaWdxdWV1ZWluZm8pCisrI2Rl ZmluZSBfX05SX3J0X3NpZ3F1ZXVlaW5mbyAxMzgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9ydF9zaWdyZXR1cm4pCisrI2RlZmluZSBfX05SX3J0X3NpZ3JldHVybiAxMzkKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZXRwcmlvcml0eSkKKysjZGVmaW5lIF9fTlJfc2V0 cHJpb3JpdHkgMTQwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0cHJpb3JpdHkp CisrI2RlZmluZSBfX05SX2dldHByaW9yaXR5IDE0MQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChfX05SX3JlYm9vdCkKKysjZGVmaW5lIF9fTlJfcmVib290IDE0MgorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX3NldHJlZ2lkKQorKyNkZWZpbmUgX19OUl9zZXRyZWdpZCAxNDMKKysj ZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZXRnaWQpCisrI2RlZmluZSBfX05SX3NldGdp ZCAxNDQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZXRyZXVpZCkKKysjZGVmaW5l IF9fTlJfc2V0cmV1aWQgMTQ1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0dWlk KQorKyNkZWZpbmUgX19OUl9zZXR1aWQgMTQ2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfc2V0cmVzdWlkKQorKyNkZWZpbmUgX19OUl9zZXRyZXN1aWQgMTQ3CisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfZ2V0cmVzdWlkKQorKyNkZWZpbmUgX19OUl9nZXRyZXN1aWQgMTQ4 CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0cmVzZ2lkKQorKyNkZWZpbmUgX19O Ul9zZXRyZXNnaWQgMTQ5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0cmVzZ2lk KQorKyNkZWZpbmUgX19OUl9nZXRyZXNnaWQgMTUwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfc2V0ZnN1aWQpCisrI2RlZmluZSBfX05SX3NldGZzdWlkIDE1MQorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX3NldGZzZ2lkKQorKyNkZWZpbmUgX19OUl9zZXRmc2dpZCAxNTIK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl90aW1lcykKKysjZGVmaW5lIF9fTlJfdGlt ZXMgMTUzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0cGdpZCkKKysjZGVmaW5l IF9fTlJfc2V0cGdpZCAxNTQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9nZXRwZ2lk KQorKyNkZWZpbmUgX19OUl9nZXRwZ2lkIDE1NQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX2dldHNpZCkKKysjZGVmaW5lIF9fTlJfZ2V0c2lkIDE1NgorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX3NldHNpZCkKKysjZGVmaW5lIF9fTlJfc2V0c2lkIDE1NworKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX2dldGdyb3VwcykKKysjZGVmaW5lIF9fTlJfZ2V0Z3JvdXBz IDE1OAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NldGdyb3VwcykKKysjZGVmaW5l IF9fTlJfc2V0Z3JvdXBzIDE1OQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3VuYW1l KQorKyNkZWZpbmUgX19OUl91bmFtZSAxNjAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul9zZXRob3N0bmFtZSkKKysjZGVmaW5lIF9fTlJfc2V0aG9zdG5hbWUgMTYxCisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfc2V0ZG9tYWlubmFtZSkKKysjZGVmaW5lIF9fTlJfc2V0ZG9t YWlubmFtZSAxNjIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9nZXRybGltaXQpCisr I2RlZmluZSBfX05SX2dldHJsaW1pdCAxNjMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul9zZXRybGltaXQpCisrI2RlZmluZSBfX05SX3NldHJsaW1pdCAxNjQKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9nZXRydXNhZ2UpCisrI2RlZmluZSBfX05SX2dldHJ1c2FnZSAxNjUK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl91bWFzaykKKysjZGVmaW5lIF9fTlJfdW1h c2sgMTY2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcHJjdGwpCisrI2RlZmluZSBf X05SX3ByY3RsIDE2NworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldGNwdSkKKysj ZGVmaW5lIF9fTlJfZ2V0Y3B1IDE2OAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dl dHRpbWVvZmRheSkKKysjZGVmaW5lIF9fTlJfZ2V0dGltZW9mZGF5IDE2OQorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX3NldHRpbWVvZmRheSkKKysjZGVmaW5lIF9fTlJfc2V0dGltZW9m ZGF5IDE3MAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2FkanRpbWV4KQorKyNkZWZp bmUgX19OUl9hZGp0aW1leCAxNzEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9nZXRw aWQpCisrI2RlZmluZSBfX05SX2dldHBpZCAxNzIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9nZXRwcGlkKQorKyNkZWZpbmUgX19OUl9nZXRwcGlkIDE3MworKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX2dldHVpZCkKKysjZGVmaW5lIF9fTlJfZ2V0dWlkIDE3NAorKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldGV1aWQpCisrI2RlZmluZSBfX05SX2dldGV1aWQg MTc1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0Z2lkKQorKyNkZWZpbmUgX19O Ul9nZXRnaWQgMTc2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0ZWdpZCkKKysj ZGVmaW5lIF9fTlJfZ2V0ZWdpZCAxNzcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9n ZXR0aWQpCisrI2RlZmluZSBfX05SX2dldHRpZCAxNzgKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9zeXNpbmZvKQorKyNkZWZpbmUgX19OUl9zeXNpbmZvIDE3OQorKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX21xX29wZW4pCisrI2RlZmluZSBfX05SX21xX29wZW4gMTgwCisr I2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbXFfdW5saW5rKQorKyNkZWZpbmUgX19OUl9t cV91bmxpbmsgMTgxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbXFfdGltZWRzZW5k KQorKyNkZWZpbmUgX19OUl9tcV90aW1lZHNlbmQgMTgyCisrI2VuZGlmCisrCisrI2lmICFkZWZp bmVkKF9fTlJfbXFfdGltZWRyZWNlaXZlKQorKyNkZWZpbmUgX19OUl9tcV90aW1lZHJlY2VpdmUg MTgzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbXFfbm90aWZ5KQorKyNkZWZpbmUg X19OUl9tcV9ub3RpZnkgMTg0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbXFfZ2V0 c2V0YXR0cikKKysjZGVmaW5lIF9fTlJfbXFfZ2V0c2V0YXR0ciAxODUKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9tc2dnZXQpCisrI2RlZmluZSBfX05SX21zZ2dldCAxODYKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tc2djdGwpCisrI2RlZmluZSBfX05SX21zZ2N0bCAx ODcKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tc2dyY3YpCisrI2RlZmluZSBfX05S X21zZ3JjdiAxODgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tc2dzbmQpCisrI2Rl ZmluZSBfX05SX21zZ3NuZCAxODkKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZW1n ZXQpCisrI2RlZmluZSBfX05SX3NlbWdldCAxOTAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9zZW1jdGwpCisrI2RlZmluZSBfX05SX3NlbWN0bCAxOTEKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9zZW10aW1lZG9wKQorKyNkZWZpbmUgX19OUl9zZW10aW1lZG9wIDE5Mgor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NlbW9wKQorKyNkZWZpbmUgX19OUl9zZW1v cCAxOTMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zaG1nZXQpCisrI2RlZmluZSBf X05SX3NobWdldCAxOTQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zaG1jdGwpCisr I2RlZmluZSBfX05SX3NobWN0bCAxOTUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9z aG1hdCkKKysjZGVmaW5lIF9fTlJfc2htYXQgMTk2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfc2htZHQpCisrI2RlZmluZSBfX05SX3NobWR0IDE5NworKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX3NvY2tldCkKKysjZGVmaW5lIF9fTlJfc29ja2V0IDE5OAorKyNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX05SX3NvY2tldHBhaXIpCisrI2RlZmluZSBfX05SX3NvY2tldHBh aXIgMTk5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfYmluZCkKKysjZGVmaW5lIF9f TlJfYmluZCAyMDAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9saXN0ZW4pCisrI2Rl ZmluZSBfX05SX2xpc3RlbiAyMDEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9hY2Nl cHQpCisrI2RlZmluZSBfX05SX2FjY2VwdCAyMDIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9jb25uZWN0KQorKyNkZWZpbmUgX19OUl9jb25uZWN0IDIwMworKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX2dldHNvY2tuYW1lKQorKyNkZWZpbmUgX19OUl9nZXRzb2NrbmFtZSAy MDQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9nZXRwZWVybmFtZSkKKysjZGVmaW5l IF9fTlJfZ2V0cGVlcm5hbWUgMjA1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2Vu ZHRvKQorKyNkZWZpbmUgX19OUl9zZW5kdG8gMjA2CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfcmVjdmZyb20pCisrI2RlZmluZSBfX05SX3JlY3Zmcm9tIDIwNworKyNlbmRpZgorKwor KyNpZiAhZGVmaW5lZChfX05SX3NldHNvY2tvcHQpCisrI2RlZmluZSBfX05SX3NldHNvY2tvcHQg MjA4CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfZ2V0c29ja29wdCkKKysjZGVmaW5l IF9fTlJfZ2V0c29ja29wdCAyMDkKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zaHV0 ZG93bikKKysjZGVmaW5lIF9fTlJfc2h1dGRvd24gMjEwCisrI2VuZGlmCisrCisrI2lmICFkZWZp bmVkKF9fTlJfc2VuZG1zZykKKysjZGVmaW5lIF9fTlJfc2VuZG1zZyAyMTEKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9yZWN2bXNnKQorKyNkZWZpbmUgX19OUl9yZWN2bXNnIDIxMgor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3JlYWRhaGVhZCkKKysjZGVmaW5lIF9fTlJf cmVhZGFoZWFkIDIxMworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2JyaykKKysjZGVm aW5lIF9fTlJfYnJrIDIxNAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX211bm1hcCkK KysjZGVmaW5lIF9fTlJfbXVubWFwIDIxNQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X21yZW1hcCkKKysjZGVmaW5lIF9fTlJfbXJlbWFwIDIxNgorKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX2FkZF9rZXkpCisrI2RlZmluZSBfX05SX2FkZF9rZXkgMjE3CisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfcmVxdWVzdF9rZXkpCisrI2RlZmluZSBfX05SX3JlcXVlc3Rf a2V5IDIxOAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2tleWN0bCkKKysjZGVmaW5l IF9fTlJfa2V5Y3RsIDIxOQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Nsb25lKQor KyNkZWZpbmUgX19OUl9jbG9uZSAyMjAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9l eGVjdmUpCisrI2RlZmluZSBfX05SX2V4ZWN2ZSAyMjEKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9tbWFwKQorKyNkZWZpbmUgX19OUl9tbWFwIDIyMgorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX2ZhZHZpc2U2NCkKKysjZGVmaW5lIF9fTlJfZmFkdmlzZTY0IDIyMworKyNl bmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3N3YXBvbikKKysjZGVmaW5lIF9fTlJfc3dhcG9u IDIyNAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3N3YXBvZmYpCisrI2RlZmluZSBf X05SX3N3YXBvZmYgMjI1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbXByb3RlY3Qp CisrI2RlZmluZSBfX05SX21wcm90ZWN0IDIyNgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX21zeW5jKQorKyNkZWZpbmUgX19OUl9tc3luYyAyMjcKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9tbG9jaykKKysjZGVmaW5lIF9fTlJfbWxvY2sgMjI4CisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfbXVubG9jaykKKysjZGVmaW5lIF9fTlJfbXVubG9jayAyMjkKKysj ZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tbG9ja2FsbCkKKysjZGVmaW5lIF9fTlJfbWxv Y2thbGwgMjMwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbXVubG9ja2FsbCkKKysj ZGVmaW5lIF9fTlJfbXVubG9ja2FsbCAyMzEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19O Ul9taW5jb3JlKQorKyNkZWZpbmUgX19OUl9taW5jb3JlIDIzMgorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX21hZHZpc2UpCisrI2RlZmluZSBfX05SX21hZHZpc2UgMjMzCisrI2VuZGlm CisrCisrI2lmICFkZWZpbmVkKF9fTlJfcmVtYXBfZmlsZV9wYWdlcykKKysjZGVmaW5lIF9fTlJf cmVtYXBfZmlsZV9wYWdlcyAyMzQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9tYmlu ZCkKKysjZGVmaW5lIF9fTlJfbWJpbmQgMjM1CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9f TlJfZ2V0X21lbXBvbGljeSkKKysjZGVmaW5lIF9fTlJfZ2V0X21lbXBvbGljeSAyMzYKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9zZXRfbWVtcG9saWN5KQorKyNkZWZpbmUgX19OUl9z ZXRfbWVtcG9saWN5IDIzNworKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21pZ3JhdGVf cGFnZXMpCisrI2RlZmluZSBfX05SX21pZ3JhdGVfcGFnZXMgMjM4CisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfbW92ZV9wYWdlcykKKysjZGVmaW5lIF9fTlJfbW92ZV9wYWdlcyAyMzkK KysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9ydF90Z3NpZ3F1ZXVlaW5mbykKKysjZGVm aW5lIF9fTlJfcnRfdGdzaWdxdWV1ZWluZm8gMjQwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfcGVyZl9ldmVudF9vcGVuKQorKyNkZWZpbmUgX19OUl9wZXJmX2V2ZW50X29wZW4gMjQx CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfYWNjZXB0NCkKKysjZGVmaW5lIF9fTlJf YWNjZXB0NCAyNDIKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9yZWN2bW1zZykKKysj ZGVmaW5lIF9fTlJfcmVjdm1tc2cgMjQzCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJf cmlzY3ZfZmx1c2hfaWNhY2hlKQorKyNkZWZpbmUgX19OUl9yaXNjdl9mbHVzaF9pY2FjaGUgMjU5 CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfd2FpdDQpCisrI2RlZmluZSBfX05SX3dh aXQ0IDI2MAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3BybGltaXQ2NCkKKysjZGVm aW5lIF9fTlJfcHJsaW1pdDY0IDI2MQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Zh bm90aWZ5X2luaXQpCisrI2RlZmluZSBfX05SX2Zhbm90aWZ5X2luaXQgMjYyCisrI2VuZGlmCisr CisrI2lmICFkZWZpbmVkKF9fTlJfZmFub3RpZnlfbWFyaykKKysjZGVmaW5lIF9fTlJfZmFub3Rp ZnlfbWFyayAyNjMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9uYW1lX3RvX2hhbmRs ZV9hdCkKKysjZGVmaW5lIF9fTlJfbmFtZV90b19oYW5kbGVfYXQgMjY0CisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfb3Blbl9ieV9oYW5kbGVfYXQpCisrI2RlZmluZSBfX05SX29wZW5f YnlfaGFuZGxlX2F0IDI2NQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Nsb2NrX2Fk anRpbWUpCisrI2RlZmluZSBfX05SX2Nsb2NrX2FkanRpbWUgMjY2CisrI2VuZGlmCisrCisrI2lm ICFkZWZpbmVkKF9fTlJfc3luY2ZzKQorKyNkZWZpbmUgX19OUl9zeW5jZnMgMjY3CisrI2VuZGlm CisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2V0bnMpCisrI2RlZmluZSBfX05SX3NldG5zIDI2OAor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3NlbmRtbXNnKQorKyNkZWZpbmUgX19OUl9z ZW5kbW1zZyAyNjkKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9wcm9jZXNzX3ZtX3Jl YWR2KQorKyNkZWZpbmUgX19OUl9wcm9jZXNzX3ZtX3JlYWR2IDI3MAorKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX3Byb2Nlc3Nfdm1fd3JpdGV2KQorKyNkZWZpbmUgX19OUl9wcm9jZXNz X3ZtX3dyaXRldiAyNzEKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9rY21wKQorKyNk ZWZpbmUgX19OUl9rY21wIDI3MgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Zpbml0 X21vZHVsZSkKKysjZGVmaW5lIF9fTlJfZmluaXRfbW9kdWxlIDI3MworKyNlbmRpZgorKworKyNp ZiAhZGVmaW5lZChfX05SX3NjaGVkX3NldGF0dHIpCisrI2RlZmluZSBfX05SX3NjaGVkX3NldGF0 dHIgMjc0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfc2NoZWRfZ2V0YXR0cikKKysj ZGVmaW5lIF9fTlJfc2NoZWRfZ2V0YXR0ciAyNzUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9yZW5hbWVhdDIpCisrI2RlZmluZSBfX05SX3JlbmFtZWF0MiAyNzYKKysjZW5kaWYKKysK KysjaWYgIWRlZmluZWQoX19OUl9zZWNjb21wKQorKyNkZWZpbmUgX19OUl9zZWNjb21wIDI3Nwor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2dldHJhbmRvbSkKKysjZGVmaW5lIF9fTlJf Z2V0cmFuZG9tIDI3OAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21lbWZkX2NyZWF0 ZSkKKysjZGVmaW5lIF9fTlJfbWVtZmRfY3JlYXRlIDI3OQorKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX2JwZikKKysjZGVmaW5lIF9fTlJfYnBmIDI4MAorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX2V4ZWN2ZWF0KQorKyNkZWZpbmUgX19OUl9leGVjdmVhdCAyODEKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl91c2VyZmF1bHRmZCkKKysjZGVmaW5lIF9fTlJfdXNl cmZhdWx0ZmQgMjgyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbWVtYmFycmllcikK KysjZGVmaW5lIF9fTlJfbWVtYmFycmllciAyODMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo X19OUl9tbG9jazIpCisrI2RlZmluZSBfX05SX21sb2NrMiAyODQKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9jb3B5X2ZpbGVfcmFuZ2UpCisrI2RlZmluZSBfX05SX2NvcHlfZmlsZV9y YW5nZSAyODUKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9wcmVhZHYyKQorKyNkZWZp bmUgX19OUl9wcmVhZHYyIDI4NgorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3B3cml0 ZXYyKQorKyNkZWZpbmUgX19OUl9wd3JpdGV2MiAyODcKKysjZW5kaWYKKysKKysjaWYgIWRlZmlu ZWQoX19OUl9wa2V5X21wcm90ZWN0KQorKyNkZWZpbmUgX19OUl9wa2V5X21wcm90ZWN0IDI4OAor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX3BrZXlfYWxsb2MpCisrI2RlZmluZSBfX05S X3BrZXlfYWxsb2MgMjg5CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcGtleV9mcmVl KQorKyNkZWZpbmUgX19OUl9wa2V5X2ZyZWUgMjkwCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfc3RhdHgpCisrI2RlZmluZSBfX05SX3N0YXR4IDI5MQorKyNlbmRpZgorKworKyNpZiAh ZGVmaW5lZChfX05SX2lvX3BnZXRldmVudHMpCisrI2RlZmluZSBfX05SX2lvX3BnZXRldmVudHMg MjkyCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfcnNlcSkKKysjZGVmaW5lIF9fTlJf cnNlcSAyOTMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9rZXhlY19maWxlX2xvYWQp CisrI2RlZmluZSBfX05SX2tleGVjX2ZpbGVfbG9hZCAyOTQKKysjZW5kaWYKKysKKysjaWYgIWRl ZmluZWQoX19OUl9waWRmZF9zZW5kX3NpZ25hbCkKKysjZGVmaW5lIF9fTlJfcGlkZmRfc2VuZF9z aWduYWwgNDI0CisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfaW9fdXJpbmdfc2V0dXAp CisrI2RlZmluZSBfX05SX2lvX3VyaW5nX3NldHVwIDQyNQorKyNlbmRpZgorKworKyNpZiAhZGVm aW5lZChfX05SX2lvX3VyaW5nX2VudGVyKQorKyNkZWZpbmUgX19OUl9pb191cmluZ19lbnRlciA0 MjYKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9pb191cmluZ19yZWdpc3RlcikKKysj ZGVmaW5lIF9fTlJfaW9fdXJpbmdfcmVnaXN0ZXIgNDI3CisrI2VuZGlmCisrCisrI2lmICFkZWZp bmVkKF9fTlJfb3Blbl90cmVlKQorKyNkZWZpbmUgX19OUl9vcGVuX3RyZWUgNDI4CisrI2VuZGlm CisrCisrI2lmICFkZWZpbmVkKF9fTlJfbW92ZV9tb3VudCkKKysjZGVmaW5lIF9fTlJfbW92ZV9t b3VudCA0MjkKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mc29wZW4pCisrI2RlZmlu ZSBfX05SX2Zzb3BlbiA0MzAKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mc2NvbmZp ZykKKysjZGVmaW5lIF9fTlJfZnNjb25maWcgNDMxCisrI2VuZGlmCisrCisrI2lmICFkZWZpbmVk KF9fTlJfZnNtb3VudCkKKysjZGVmaW5lIF9fTlJfZnNtb3VudCA0MzIKKysjZW5kaWYKKysKKysj aWYgIWRlZmluZWQoX19OUl9mc3BpY2spCisrI2RlZmluZSBfX05SX2ZzcGljayA0MzMKKysjZW5k aWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9waWRmZF9vcGVuKQorKyNkZWZpbmUgX19OUl9waWRm ZF9vcGVuIDQzNAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Nsb25lMykKKysjZGVm aW5lIF9fTlJfY2xvbmUzIDQzNQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Nsb3Nl X3JhbmdlKQorKyNkZWZpbmUgX19OUl9jbG9zZV9yYW5nZSA0MzYKKysjZW5kaWYKKysKKysjaWYg IWRlZmluZWQoX19OUl9vcGVuYXQyKQorKyNkZWZpbmUgX19OUl9vcGVuYXQyIDQzNworKyNlbmRp ZgorKworKyNpZiAhZGVmaW5lZChfX05SX3BpZGZkX2dldGZkKQorKyNkZWZpbmUgX19OUl9waWRm ZF9nZXRmZCA0MzgKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9mYWNjZXNzYXQyKQor KyNkZWZpbmUgX19OUl9mYWNjZXNzYXQyIDQzOQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChf X05SX3Byb2Nlc3NfbWFkdmlzZSkKKysjZGVmaW5lIF9fTlJfcHJvY2Vzc19tYWR2aXNlIDQ0MAor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX2Vwb2xsX3B3YWl0MikKKysjZGVmaW5lIF9f TlJfZXBvbGxfcHdhaXQyIDQ0MQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05SX21vdW50 X3NldGF0dHIpCisrI2RlZmluZSBfX05SX21vdW50X3NldGF0dHIgNDQyCisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKF9fTlJfcXVvdGFjdGxfcGF0aCkKKysjZGVmaW5lIF9fTlJfcXVvdGFjdGxf cGF0aCA0NDMKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQoX19OUl9sYW5kbG9ja19jcmVhdGVf cnVsZXNldCkKKysjZGVmaW5lIF9fTlJfbGFuZGxvY2tfY3JlYXRlX3J1bGVzZXQgNDQ0CisrI2Vu ZGlmCisrCisrI2lmICFkZWZpbmVkKF9fTlJfbGFuZGxvY2tfYWRkX3J1bGUpCisrI2RlZmluZSBf X05SX2xhbmRsb2NrX2FkZF9ydWxlIDQ0NQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChfX05S X2xhbmRsb2NrX3Jlc3RyaWN0X3NlbGYpCisrI2RlZmluZSBfX05SX2xhbmRsb2NrX3Jlc3RyaWN0 X3NlbGYgNDQ2CisrI2VuZGlmCisrCisrI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9I RUFERVJTX1JJU0NWNjRfTElOVVhfU1lTQ0FMTFNfSF8KK0luZGV4OiBjaHJvbWl1bS0xMDcuMC41 MzA0Ljg3L3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9jcm9zX2FtZF9ncHVfcG9saWN5X2xpbnV4 LmNjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09CistLS0gY2hyb21pdW0tMTA3LjAuNTMwNC44Ny5vcmlnL3NhbmRib3gv cG9saWN5L2xpbnV4L2JwZl9jcm9zX2FtZF9ncHVfcG9saWN5X2xpbnV4LmNjCisrKysgY2hyb21p dW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L3BvbGljeS9saW51eC9icGZfY3Jvc19hbWRfZ3B1X3Bv bGljeV9saW51eC5jYworQEAgLTM4LDcgKzM4LDcgQEAgUmVzdWx0RXhwciBDcm9zQW1kR3B1UHJv Y2Vzc1BvbGljeTo6RXZhbAorICAgICBjYXNlIF9fTlJfc2NoZWRfc2V0c2NoZWR1bGVyOgorICAg ICBjYXNlIF9fTlJfc3lzaW5mbzoKKyAgICAgY2FzZSBfX05SX3VuYW1lOgorLSNpZiAhZGVmaW5l ZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9f cmlzY3YpCisgICAgIGNhc2UgX19OUl9yZWFkbGluazoKKyAgICAgY2FzZSBfX05SX3N0YXQ6Cisg I2VuZGlmCitJbmRleDogY2hyb21pdW0tMTA3LjAuNTMwNC44Ny9zYW5kYm94L3BvbGljeS9saW51 eC9icGZfZ3B1X3BvbGljeV9saW51eC5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNocm9taXVtLTEwNy4w LjUzMDQuODcub3JpZy9zYW5kYm94L3BvbGljeS9saW51eC9icGZfZ3B1X3BvbGljeV9saW51eC5j YworKysrIGNocm9taXVtLTEwNy4wLjUzMDQuODcvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX2dw dV9wb2xpY3lfbGludXguY2MKK0BAIC03Myw3ICs3Myw3IEBAIFJlc3VsdEV4cHIgR3B1UHJvY2Vz c1BvbGljeTo6RXZhbHVhdGVTeXMKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkp ICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgICAgIGNhc2UgX19OUl9mdHJ1bmNhdGU2 NDoKKyAjZW5kaWYKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9f YWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX3Jpc2N2KQorICAgICBjYXNlIF9fTlJfZ2V0ZGVudHM6 CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9nZXRkZW50czY0OgorCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA3LXJpc2N2LXNhbmRib3gucGF0Y2guYXJncyBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDctcmlzY3Ytc2FuZGJveC5wYXRjaC5h cmdzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDVmMzhlMzU0ZTdm Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNy1y aXNjdi1zYW5kYm94LnBhdGNoLmFyZ3MKQEAgLTAsMCArMSBAQAorLU5wMSAtLWRpcmVjdG9yeT1z cmMvM3JkcGFydHkvY2hyb21pdW0vCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wMTAwLWNocm9taXVtLXJldmVydC05ZDA4MGMwLnBhdGNoIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDEwMC1jaHJvbWl1bS1yZXZlcnQtOWQwODBjMC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWRjYTM2NGE0MDYwLi4wMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMC1jaHJvbWl1bS1yZXZlcnQtOWQw ODBjMC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1NCArMCwwIEBACi1SZXZlcnQgOWQwODBj MDkzNGI4NDhlZTRhMDUwMTNjNzg2NDFlNjEyZmNjMWUwMwotCi0tLS0gcXQ2LXdlYmVuZ2luZS02 LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9jb25maWcvc2FuaXRpemVycy9C VUlMRC5nbgotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1 aWxkL2NvbmZpZy9zYW5pdGl6ZXJzL0JVSUxELmduCi1AQCAtMjcxLDExICsyNzEsMTEgQEAgY29u ZmlnKCJhc2FuX2ZsYWdzIikgewotICAgaWYgKGlzX2FzYW4pIHsKLSAgICAgY2ZsYWdzICs9IFsg Ii1mc2FuaXRpemU9YWRkcmVzcyIgXQotICAgICBpZiAoaXNfd2luKSB7Ci0tICAgICAgaWYgKCFk ZWZpbmVkKGFzYW5fd2luX2Jsb2NrbGlzdF9wYXRoKSkgewotLSAgICAgICAgYXNhbl93aW5fYmxv Y2tsaXN0X3BhdGggPQotKyAgICAgIGlmICghZGVmaW5lZChhc2FuX3dpbl9ibGFja2xpc3RfcGF0 aCkpIHsKLSsgICAgICAgIGFzYW5fd2luX2JsYWNrbGlzdF9wYXRoID0KLSAgICAgICAgICAgICBy ZWJhc2VfcGF0aCgiLy90b29scy9tZW1vcnkvYXNhbi9ibG9ja2xpc3Rfd2luLnR4dCIsIHJvb3Rf YnVpbGRfZGlyKQotICAgICAgIH0KLS0gICAgICBjZmxhZ3MgKz0gWyAiLWZzYW5pdGl6ZS1pZ25v cmVsaXN0PSRhc2FuX3dpbl9ibG9ja2xpc3RfcGF0aCIgXQotKyAgICAgIGNmbGFncyArPSBbICIt ZnNhbml0aXplLWJsYWNrbGlzdD0kYXNhbl93aW5fYmxhY2tsaXN0X3BhdGgiIF0KLSAgICAgfQot ICAgfQotIH0KLUBAIC0zMDUsMTMgKzMwNSwxMyBAQCBjb25maWcoImxpbmtfc2hhcmVkX2xpYnJh cnkiKSB7Ci0gY29uZmlnKCJjZmlfZmxhZ3MiKSB7Ci0gICBjZmxhZ3MgPSBbXQotICAgaWYgKGlz X2NmaSAmJiBjdXJyZW50X3Rvb2xjaGFpbiA9PSBkZWZhdWx0X3Rvb2xjaGFpbikgewotLSAgICBp ZiAoIWRlZmluZWQoY2ZpX2lnbm9yZWxpc3RfcGF0aCkpIHsKLS0gICAgICBjZmlfaWdub3JlbGlz dF9wYXRoID0KLSsgICAgaWYgKCFkZWZpbmVkKGNmaV9ibGFja2xpc3RfcGF0aCkpIHsKLSsgICAg ICBjZmlfYmxhY2tsaXN0X3BhdGggPQotICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy9j ZmkvaWdub3Jlcy50eHQiLCByb290X2J1aWxkX2RpcikKLSAgICAgfQotICAgICBjZmxhZ3MgKz0g WwotICAgICAgICItZnNhbml0aXplPWNmaS12Y2FsbCIsCi0tICAgICAgIi1mc2FuaXRpemUtaWdu b3JlbGlzdD0kY2ZpX2lnbm9yZWxpc3RfcGF0aCIsCi0rICAgICAgIi1mc2FuaXRpemUtYmxhY2ts aXN0PSRjZmlfYmxhY2tsaXN0X3BhdGgiLAotICAgICBdCi0gCi0gICAgIGlmICh1c2VfY2ZpX2Nh c3QpIHsKLUBAIC00MDgsMTQgKzQwOCwxNCBAQCBjb25maWcoIm1zYW5fZmxhZ3MiKSB7Ci0gICBp ZiAoaXNfbXNhbikgewotICAgICBhc3NlcnQoaXNfbGludXggfHwgaXNfY2hyb21lb3MsCi0gICAg ICAgICAgICAibXNhbiBvbmx5IHN1cHBvcnRlZCBvbiBsaW51eCB4ODZfNjQvQ2hyb21lT1MiKQot LSAgICBpZiAoIWRlZmluZWQobXNhbl9pZ25vcmVsaXN0X3BhdGgpKSB7Ci0tICAgICAgbXNhbl9p Z25vcmVsaXN0X3BhdGggPQotLSAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy9tc2FuL2ln bm9yZWxpc3QudHh0Iiwgcm9vdF9idWlsZF9kaXIpCi0rICAgIGlmICghZGVmaW5lZChtc2FuX2Js YWNrbGlzdF9wYXRoKSkgewotKyAgICAgIG1zYW5fYmxhY2tsaXN0X3BhdGggPQotKyAgICAgICAg ICByZWJhc2VfcGF0aCgiLy90b29scy9tc2FuL2JsYWNrbGlzdC50eHQiLCByb290X2J1aWxkX2Rp cikKLSAgICAgfQotICAgICBjZmxhZ3MgPSBbCi0gICAgICAgIi1mc2FuaXRpemU9bWVtb3J5IiwK LSAgICAgICAiLWZzYW5pdGl6ZS1tZW1vcnktdHJhY2stb3JpZ2lucz0kbXNhbl90cmFja19vcmln aW5zIiwKLS0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSRtc2FuX2lnbm9yZWxpc3RfcGF0 aCIsCi0rICAgICAgIi1mc2FuaXRpemUtYmxhY2tsaXN0PSRtc2FuX2JsYWNrbGlzdF9wYXRoIiwK LSAgICAgXQotICAgfQotIH0KLUBAIC00MjMsMTMgKzQyMywxMyBAQCBjb25maWcoIm1zYW5fZmxh Z3MiKSB7Ci0gY29uZmlnKCJ0c2FuX2ZsYWdzIikgewotICAgaWYgKGlzX3RzYW4pIHsKLSAgICAg YXNzZXJ0KGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zLCAidHNhbiBvbmx5IHN1cHBvcnRlZCBvbiBs aW51eCB4ODZfNjQiKQotLSAgICBpZiAoIWRlZmluZWQodHNhbl9pZ25vcmVsaXN0X3BhdGgpKSB7 Ci0tICAgICAgdHNhbl9pZ25vcmVsaXN0X3BhdGggPQotKyAgICBpZiAoIWRlZmluZWQodHNhbl9i bGFja2xpc3RfcGF0aCkpIHsKLSsgICAgICB0c2FuX2JsYWNrbGlzdF9wYXRoID0KLSAgICAgICAg ICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvbWVtb3J5L3RzYW5fdjIvaWdub3Jlcy50eHQiLCByb290 X2J1aWxkX2RpcikKLSAgICAgfQotICAgICBjZmxhZ3MgPSBbCi0gICAgICAgIi1mc2FuaXRpemU9 dGhyZWFkIiwKLS0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSR0c2FuX2lnbm9yZWxpc3Rf cGF0aCIsCi0rICAgICAgIi1mc2FuaXRpemUtYmxhY2tsaXN0PSR0c2FuX2JsYWNrbGlzdF9wYXRo IiwKLSAgICAgXQotICAgfQotIH0KLUBAIC00MzcsOCArNDM3LDggQEAgY29uZmlnKCJ0c2FuX2Zs YWdzIikgewotIGNvbmZpZygidWJzYW5fZmxhZ3MiKSB7Ci0gICBjZmxhZ3MgPSBbXQotICAgaWYg KGlzX3Vic2FuKSB7Ci0tICAgIGlmICghZGVmaW5lZCh1YnNhbl9pZ25vcmVsaXN0X3BhdGgpKSB7 Ci0tICAgICAgdWJzYW5faWdub3JlbGlzdF9wYXRoID0KLSsgICAgaWYgKCFkZWZpbmVkKHVic2Fu X2JsYWNrbGlzdF9wYXRoKSkgewotKyAgICAgIHVic2FuX2JsYWNrbGlzdF9wYXRoID0KLSAgICAg ICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvdWJzYW4vaWdub3JlbGlzdC50eHQiLCByb290X2J1 aWxkX2RpcikKLSAgICAgfQotICAgICBjZmxhZ3MgKz0gWwotQEAgLTQ1NSw3ICs0NTUsNyBAQCBj b25maWcoInVic2FuX2ZsYWdzIikgewotICAgICAgICItZnNhbml0aXplPXNpZ25lZC1pbnRlZ2Vy LW92ZXJmbG93IiwKLSAgICAgICAiLWZzYW5pdGl6ZT11bnJlYWNoYWJsZSIsCi0gICAgICAgIi1m c2FuaXRpemU9dmxhLWJvdW5kIiwKLS0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSR1YnNh bl9pZ25vcmVsaXN0X3BhdGgiLAotKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kdWJzYW5f YmxhY2tsaXN0X3BhdGgiLAotICAgICBdCi0gICAgIGlmICghaXNfY2xhbmcpIHsKLSAgICAgICAj IFRoZXNlIGV4cG9zZXMgdG9vIG11Y2ggaWxsZWdhbCBDKysxNCBjb2RlIHRvIGNvbXBpbGUgb24g YW55dGhpbmcgc3RyaWN0ZXIgdGhhbiBjbGFuZzoKLUBAIC00OTYsOCArNDk2LDggQEAgY29uZmln KCJ1YnNhbl9ub19yZWNvdmVyIikgewotIAotIGNvbmZpZygidWJzYW5fc2VjdXJpdHlfZmxhZ3Mi KSB7Ci0gICBpZiAoaXNfdWJzYW5fc2VjdXJpdHkpIHsKLS0gICAgaWYgKCFkZWZpbmVkKHVic2Fu X3NlY3VyaXR5X2lnbm9yZWxpc3RfcGF0aCkpIHsKLS0gICAgICB1YnNhbl9zZWN1cml0eV9pZ25v cmVsaXN0X3BhdGggPQotKyAgICBpZiAoIWRlZmluZWQodWJzYW5fc2VjdXJpdHlfYmxhY2tsaXN0 X3BhdGgpKSB7Ci0rICAgICAgdWJzYW5fc2VjdXJpdHlfYmxhY2tsaXN0X3BhdGggPQotICAgICAg ICAgICByZWJhc2VfcGF0aCgiLy90b29scy91YnNhbi9zZWN1cml0eV9pZ25vcmVsaXN0LnR4dCIs IHJvb3RfYnVpbGRfZGlyKQotICAgICB9Ci0gICAgIGNmbGFncyA9IFsKLUBAIC01MDUsNyArNTA1 LDcgQEAgY29uZmlnKCJ1YnNhbl9zZWN1cml0eV9mbGFncyIpIHsKLSAgICAgICAiLWZzYW5pdGl6 ZT1zaGlmdCIsCi0gICAgICAgIi1mc2FuaXRpemU9c2lnbmVkLWludGVnZXItb3ZlcmZsb3ciLAot ICAgICAgICItZnNhbml0aXplPXZsYS1ib3VuZCIsCi0tICAgICAgIi1mc2FuaXRpemUtaWdub3Jl bGlzdD0kdWJzYW5fc2VjdXJpdHlfaWdub3JlbGlzdF9wYXRoIiwKLSsgICAgICAiLWZzYW5pdGl6 ZS1ibGFja2xpc3Q9JHVic2FuX3NlY3VyaXR5X2JsYWNrbGlzdF9wYXRoIiwKLSAgICAgXQotICAg fQotIH0KLUBAIC01MTgsMTMgKzUxOCwxMyBAQCBjb25maWcoInVic2FuX251bGxfZmxhZ3MiKSB7 Ci0gCi0gY29uZmlnKCJ1YnNhbl92cHRyX2ZsYWdzIikgewotICAgaWYgKGlzX3Vic2FuX3ZwdHIp IHsKLS0gICAgaWYgKCFkZWZpbmVkKHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoKSkgewotLSAg ICAgIHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoID0KLSsgICAgaWYgKCFkZWZpbmVkKHVic2Fu X3ZwdHJfYmxhY2tsaXN0X3BhdGgpKSB7Ci0rICAgICAgdWJzYW5fdnB0cl9ibGFja2xpc3RfcGF0 aCA9Ci0gICAgICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL3Vic2FuL3ZwdHJfaWdub3JlbGlz dC50eHQiLCByb290X2J1aWxkX2RpcikKLSAgICAgfQotICAgICBjZmxhZ3MgPSBbCi0gICAgICAg Ii1mc2FuaXRpemU9dnB0ciIsCi0tICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kdWJzYW5f dnB0cl9pZ25vcmVsaXN0X3BhdGgiLAotKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kdWJz YW5fdnB0cl9ibGFja2xpc3RfcGF0aCIsCi0gICAgIF0KLSAgICAgaWYgKCFpc19jbGFuZykgewot ICAgICAgICMgQ2xhbmcgc3BlY2lmaWMgZmxhZzoKLS0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9y aWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkX292ZXJyaWRlcy9idWlsZC5nbmkKLSsrKyBx dDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZF9vdmVycmlkZXMv YnVpbGQuZ25pCi1AQCAtNDMsMTUgKzQzLDE1IEBAIGRlY2xhcmVfYXJncygpIHsKLSAjIEFsbG93 cyBkaWZmZXJlbnQgcHJvamVjdHMgdG8gc3BlY2lmeSB0aGVpciBvd24gc3VwcHJlc3Npb24vaWdu b3JlIGxpc3RzIGZvcgotICMgc2FuaXRpemVyIHRvb2xzLgotICMgYXNhbl9zdXBwcmVzc2lvbnNf ZmlsZSA9ICJwYXRoL3RvL2FzYW5fc3VwcHJlc3Npb25zLmNjIgotLSMgYXNhbl93aW5faWdub3Jl bGlzdF9wYXRoID0gInBhdGgvdG8vYXNhbi9ibG9ja2xpc3Rfd2luLnR4dCIKLSsjIGFzYW5fd2lu X2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8vYXNhbi9ibG9ja2xpc3Rfd2luLnR4dCIKLSAjIGxz YW5fc3VwcHJlc3Npb25zX2ZpbGUgPSAicGF0aC90by9sc2FuX3N1cHByZXNzaW9ucy5jYyIKLSAj IHRzYW5fc3VwcHJlc3Npb25zX2ZpbGUgPSAicGF0aC90by90c2FuX3N1cHByZXNzaW9ucy5jYyIK LS0jIHRzYW5faWdub3JlbGlzdF9wYXRoID0gInBhdGgvdG8vdHNhbi9pZ25vcmVzLnR4dCIKLS0j IG1zYW5faWdub3JlbGlzdF9wYXRoID0gInBhdGgvdG8vbXNhbi9pZ25vcmVsaXN0LnR4dCIKLS0j IHVic2FuX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL3Vic2FuL2lnbm9yZWxpc3QudHh0Igot LSMgdWJzYW5fdnB0cl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by91YnNhbi92cHRyX2lnbm9y ZWxpc3QudHh0IgotLSMgdWJzYW5fc2VjdXJpdHlfaWdub3JlbGlzdF9wYXRoID0gInBhdGgvdG8v dWJzYW4vc2VjdXJpdHlfaWdub3JlbGlzdC50eHQiCi0tIyBjZmlfaWdub3JlbGlzdF9wYXRoID0g InBhdGgvdG8vY2ZpL2lnbm9yZXMudHh0IgotKyMgdHNhbl9ibGFja2xpc3RfcGF0aCA9ICJwYXRo L3RvL3RzYW4vaWdub3Jlcy50eHQiCi0rIyBtc2FuX2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8v bXNhbi9ibGFja2xpc3QudHh0IgotKyMgdWJzYW5fYmxhY2tsaXN0X3BhdGggPSAicGF0aC90by91 YnNhbi9ibGFja2xpc3QudHh0IgotKyMgdWJzYW5fdnB0cl9ibGFja2xpc3RfcGF0aCA9ICJwYXRo L3RvL3Vic2FuL3ZwdHJfYmxhY2tsaXN0LnR4dCIKLSsjIHVic2FuX3NlY3VyaXR5X2JsYWNrbGlz dF9wYXRoID0gInBhdGgvdG8vdWJzYW4vc2VjdXJpdHlfYmxhY2tsaXN0LnR4dCIKLSsjIGNmaV9i bGFja2xpc3RfcGF0aCA9ICJwYXRoL3RvL2NmaS9pZ25vcmVzLnR4dCIKLSAKLSBpZiAoaG9zdF9v cyA9PSAibWFjIiB8fCBpc19hcHBsZSkgewotICAgIyBOZWVkZWQgZm9yIGlzX2FwcGxlIHdoZW4g dGFyZ2V0aW5nIG1hY09TIG9yIGlPUywgaW5kZXBlbmRlbnQgb2YgaG9zdC4KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDEtY2hyb21pdW0tMTAyLWZlbmNlZF9m cmFtZV91dGlscy1pbmNsdWRlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEwMS1jaHJvbWl1bS0xMDItZmVuY2VkX2ZyYW1lX3V0aWxzLWluY2x1ZGUucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0MWM3OTg0ODQwZC4uMDAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDEtY2hyb21pdW0tMTAyLWZlbmNlZF9m cmFtZV91dGlscy1pbmNsdWRlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAot RnJvbSA3YzEzNWEyOTExODRiNTlhNTk2NDNlZDZhOGM0MGI0NDA1YWMwMTc1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwu Y29tPgotRGF0ZTogV2VkLCAyNyBBcHIgMjAyMiAxNjowMTowMSArMDAwMAotU3ViamVjdDogW1BB VENIXSBJV1lVOiBhZGQgY3N0cmluZyBmb3Igc3RkOjpzdHJsZW4gaW4gZmVuY2VkX2ZyYW1lX3V0 aWxzCi0KLS0tLQotIHRoaXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9mZW5jZWRfZnJhbWUvZmVuY2Vk X2ZyYW1lX3V0aWxzLmNjIHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykK LQotLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYmxpbmsvY29tbW9uL2ZlbmNlZF9mcmFtZS9mZW5jZWRfZnJhbWVfdXRpbHMuY2MK LSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9ibGluay9jb21tb24vZmVuY2VkX2ZyYW1lL2ZlbmNlZF9mcmFtZV91dGlscy5jYwotQEAgLTYs NiArNiw4IEBACi0gCi0gI2luY2x1ZGUgPGNzdHJpbmc+Ci0gCi0rI2luY2x1ZGUgPGNzdHJpbmc+ Ci0rCi0gI2luY2x1ZGUgImJhc2UvZ3VpZC5oIgotICNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3Ry aW5nX3V0aWwuaCIKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAxMDItY2hyb21pdW0tMTAyLXJlZ2V4X3BhdHRlcm4tYXJyYXkucGF0Y2ggYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAyLWNocm9taXVtLTEwMi1yZWdleF9wYXR0ZXJuLWFycmF5 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MjBlZjk0MWEzODYuLjAwMDAw MDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAyLWNocm9taXVt LTEwMi1yZWdleF9wYXR0ZXJuLWFycmF5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAs MCBAQAotLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0v Y29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvQlVJTEQuZ24KLSsrKyBxdDYtd2ViZW5n aW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUv YnJvd3Nlci9CVUlMRC5nbgotQEAgLTM0LDYgKzM0LDExIEBAIGFjdGlvbigicmVnZXhfcGF0dGVy bnNfaW5sX2giKSB7Ci0gfQotIAotIGp1bWJvX3N0YXRpY19saWJyYXJ5KCJicm93c2VyIikgewot KyAgaWYgKGlzX2NsYW5nKSB7Ci0rICAgIGNmbGFncyA9IFsKLSsgICAgICAiLWZicmFja2V0LWRl cHRoPTEwMDAiLAotKyAgICBdCi0rICB9Ci0gICBzb3VyY2VzID0gWwotICAgICAiYWRkcmVzc19u b3JtYWxpemF0aW9uX21hbmFnZXIuY2MiLAotICAgICAiYWRkcmVzc19ub3JtYWxpemF0aW9uX21h bmFnZXIuaCIsCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAz LWNocm9taXVtLWk2ODYtdmFhcGktZnBlcm1pc3NpdmUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMTAzLWNocm9taXVtLWk2ODYtdmFhcGktZnBlcm1pc3NpdmUucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcwOGQ1NjdhMDRkYy4uMDAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDMtY2hyb21pdW0taTY4Ni12 YWFwaS1mcGVybWlzc2l2ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLS0t LSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2dw dS92YWFwaS9CVUlMRC5nbgotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2No cm9taXVtL21lZGlhL2dwdS92YWFwaS9CVUlMRC5nbgotQEAgLTE0LDYgKzE0LDEyIEBAIGltcG9y dCgiLy91aS9nbC9mZWF0dXJlcy5nbmkiKQotIGFzc2VydChpc19saW51eCB8fCBpc19jaHJvbWVv cykKLSBhc3NlcnQodXNlX3ZhYXBpKQotIAotK2NvbmZpZygidmFhcGlfcGVybWlzc2l2ZSIpIHsK LSsgIGlmICh0YXJnZXRfY3B1ID09ICJ4ODYiKSB7Ci0rICAgIGNmbGFncyA9IFsgIi1mcGVybWlz c2l2ZSIgXQotKyAgfQotK30KLSsKLSBnZW5lcmF0ZV9zdHVicygibGlidmFfc3R1YnMiKSB7Ci0g ICBleHRyYV9oZWFkZXIgPSAidmFfc3R1Yl9oZWFkZXIuZnJhZ21lbnQiCi0gICBzaWdzID0gWyAi dmEuc2lncyIgXQotQEAgLTg5LDYgKzk1LDcgQEAgc291cmNlX3NldCgidmFhcGkiKSB7Ci0gICBj b25maWdzICs9IFsKLSAgICAgIi8vYnVpbGQvY29uZmlnL2xpbnV4L2xpYnZhIiwKLSAgICAgIi8v dGhpcmRfcGFydHkvbGlidnB4OmxpYnZweF9jb25maWciLAotKyAgICAiOnZhYXBpX3Blcm1pc3Np dmUiLAotICAgXQotIAotICAgZGVwcyA9IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxMDQtY2hyb21pdW0tbGlieG1sLXVuYnVuZGxlLnBhdGNoIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNC1jaHJvbWl1bS1saWJ4bWwtdW5idW5kbGUucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhY2E0ODRhYmM0YS4uMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDQtY2hyb21pdW0tbGli eG1sLXVuYnVuZGxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotLS0tIHF0 Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQvbGludXgv dW5idW5kbGUvbGlieG1sLmduCi0rKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vYnVpbGQvbGludXgvdW5idW5kbGUvbGlieG1sLmduCi1AQCAtMTksNiArMTksNyBA QCBzdGF0aWNfbGlicmFyeSgibGlieG1sX3V0aWxzIikgewotICAgICAiOnhtbF9yZWFkZXIiLAot ICAgICAiOnhtbF93cml0ZXIiLAotICAgICAiLy9iYXNlL3Rlc3Q6dGVzdF9zdXBwb3J0IiwKLSsg ICAgIi8vc2VydmljZXMvZGF0YV9kZWNvZGVyOmxpYiIsCi0gICAgICIvL3NlcnZpY2VzL2RhdGFf ZGVjb2Rlcjp4bWxfcGFyc2VyX2Z1enplcl9kZXBzIiwKLSAgIF0KLSAgIHNvdXJjZXMgPSBbCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3LWNocm9taXVtLWNy b3NzLWJ1aWxkLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNy1jaHJv bWl1bS1jcm9zcy1idWlsZC5wYXRjaAppbmRleCA0NDk1NGRmYmIxZTUuLjdmYmZhYmNkNzliNyAx MDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNy1jaHJvbWl1bS1j cm9zcy1idWlsZC5wYXRjaAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3 LWNocm9taXVtLWNyb3NzLWJ1aWxkLnBhdGNoCkBAIC0xMSwxMCArMTEsMTAgQEAKICAgICMgTm9y bWFsbHksIEFuZHJvaWQgYnVpbGRzIGFyZSBsaWdodGx5IG9wdGltaXplZCwgZXZlbiBmb3IgZGVi dWcgYnVpbGRzLCB0bwogICAgIyBrZWVwIGJpbmFyeSBzaXplIGRvd24uIFNldHRpbmcgdGhpcyBm bGFnIHRvIHRydWUgZGlzYWJsZXMgc3VjaCBvcHRpbWl6YXRpb24KICAgIGFuZHJvaWRfZnVsbF9k ZWJ1ZyA9IGZhbHNlCi1AQCAtOTcwLDggKzk3NCwxMyBAQCBjb25maWcoImNvbXBpbGVyX2NwdV9h YmkiKSB7Ci0gICAgICAgfQorQEAgLTEwMDMsOCArMTAwMywxMyBAQAogICAgICB9IGVsc2UgaWYg KGN1cnJlbnRfY3B1ID09ICJhcm02NCIpIHsKLSAgICAgICBpZiAoaXNfY2xhbmcgJiYgIWlzX2Fu ZHJvaWQgJiYgIWlzX25hY2wgJiYgIWlzX2Z1Y2hzaWEpIHsKKyAgICAgICBpZiAoaXNfY2xhbmcg JiYgIWlzX2FuZHJvaWQgJiYgIWlzX25hY2wgJiYgIWlzX2Z1Y2hzaWEgJiYKKyAgICAgICAgICAg IShpc19jaHJvbWVvc19sYWNyb3MgJiYgaXNfY2hyb21lb3NfZGV2aWNlKSkgewogLSAgICAgICAg Y2ZsYWdzICs9IFsgIi0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IiBdCiAtICAgICAgICBsZGZs YWdzICs9IFsgIi0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IiBdCiArICAgICAgICBpZiAoaXNf bXVzbCkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExNy1j aHJvbWl1bS1tdXNsLXJlc29sdmVyLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDExNy1jaHJvbWl1bS1tdXNsLXJlc29sdmVyLnBhdGNoCmluZGV4IDE3NjUyNGFkYzA4My4u NWYwOTBjODEwNTc5IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTE3LWNocm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2gKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDExNy1jaHJvbWl1bS1tdXNsLXJlc29sdmVyLnBhdGNoCkBAIC0yNywxNyAr MjcsNiBAQAogIH0KICAKICBib29sIFNjb3BlZFJlc1N0YXRlOjpJc1ZhbGlkKCkgY29uc3Qgewot LS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Ru cy9ob3N0X3Jlc29sdmVyX21hbmFnZXIuY2MKLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfbWFuYWdlci5jYwotQEAgLTMx NTgsNyArMzE1OCw3IEBAIEhvc3RSZXNvbHZlck1hbmFnZXI6Okhvc3RSZXNvbHZlck1hbmFnZXIK LSAgIGlmIChzeXN0ZW1fZG5zX2NvbmZpZ19ub3RpZmllcl8pCi0gICAgIHN5c3RlbV9kbnNfY29u ZmlnX25vdGlmaWVyXy0+QWRkT2JzZXJ2ZXIodGhpcyk7Ci0gI2lmIEJVSUxERkxBRyhJU19QT1NJ WCkgJiYgIUJVSUxERkxBRyhJU19BUFBMRSkgJiYgIUJVSUxERkxBRyhJU19PUEVOQlNEKSAmJiBc Ci0tICAgICFCVUlMREZMQUcoSVNfQU5EUk9JRCkKLSsgICAgIUJVSUxERkxBRyhJU19BTkRST0lE KSAmJiAhKEJVSUxERkxBRyhJU19MSU5VWCkgJiYgIWRlZmluZWQoX19HTElCQ19fKSkKLSAgIEVu c3VyZURuc1JlbG9hZGVySW5pdCgpOwotICNlbmRpZgotIAogLS0tIHF0Ni13ZWJlbmdpbmUtNi40 LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9kbnNfcmVsb2FkZXIuY2MKICsr KyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2Ruc19y ZWxvYWRlci5jYwogQEAgLTcsNyArNyw4IEBACkBAIC01MCw4ICszOSwxOCBAQAogIAogICNpbmNs dWRlIDxyZXNvbHYuaD4KICAKLS0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBh cnR5L2Nocm9taXVtL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9wcm9jLmNjCi0rKysgcXQ2LXdlYmVu Z2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9ob3N0X3Jlc29sdmVyX3By b2MuY2MKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVt L25ldC9kbnMvaG9zdF9yZXNvbHZlcl9zeXN0ZW1fdGFzay5jYworKysrIHF0Ni13ZWJlbmdpbmUt Ni40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9zeXN0ZW1f dGFzay5jYworQEAgLTMxMCw4ICszMTAsNyBAQAorIH0KKyAKKyB2b2lkIEVuc3VyZVN5c3RlbUhv c3RSZXNvbHZlckNhbGxSZWFkeSgpIHsKKy0jaWYgQlVJTERGTEFHKElTX1BPU0lYKSAmJiAhQlVJ TERGTEFHKElTX0FQUExFKSAmJiAhQlVJTERGTEFHKElTX09QRU5CU0QpICYmIFwKKy0gICAgIUJV SUxERkxBRyhJU19BTkRST0lEKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIEVuc3VyZURu c1JlbG9hZGVySW5pdCgpOworICNlbGlmIEJVSUxERkxBRyhJU19XSU4pCisgICBFbnN1cmVXaW5z b2NrSW5pdCgpOwogQEAgLTE5Miw3ICsxOTIsOCBAQCBpbnQgU3lzdGVtSG9zdFJlc29sdmVyQ2Fs bChjb25zdCBzdGQ6OnN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmFzZTo6QmxvY2tpbmdUeXBlOjpXSUxMX0JMT0NLKTsKICAKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjQtY2hyb21pdW0tZW5hYmxlLWk2ODYu cGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI0LWNocm9taXVtLWVuYWJs ZS1pNjg2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMWQ4ZGU3YzIzZjgu LjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI0LWNo cm9taXVtLWVuYWJsZS1pNjg2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAot LS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vQlVJTEQu Z24KLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9CVUlMRC5n bgotQEAgLTE1MzcsMTQgKzE1MzcsNiBAQCBpZiAoIWlzX2lvcyAmJiAhdXNlX3F0KSB7Ci0gICB9 Ci0gfQotIAotLSMgVE9ETyhjYXNzZXcpOiBBZGQgbW9yZSBPUydzIHRoYXQgZG9uJ3Qgc3VwcG9y dCB4ODYuCi0taXNfdmFsaWRfeDg2X3RhcmdldCA9Ci0tICAgIHRhcmdldF9vcyAhPSAiaW9zIiAm JiB0YXJnZXRfb3MgIT0gIm1hYyIgJiYKLS0gICAgKHRhcmdldF9vcyAhPSAibGludXgiIHx8IHVz ZV9saWJmdXp6ZXIgfHwgIWJ1aWxkX3dpdGhfY2hyb21pdW0pCi0tYXNzZXJ0KAotLSAgICBpc192 YWxpZF94ODZfdGFyZ2V0IHx8IHRhcmdldF9jcHUgIT0gIng4NiIsCi0tICAgICIndGFyZ2V0X2Nw dT14ODYnIGlzIG5vdCBzdXBwb3J0ZWQgZm9yICd0YXJnZXRfb3M9JHRhcmdldF9vcycuIENvbnNp ZGVyIG9taXR0aW5nICd0YXJnZXRfY3B1JyAoZGVmYXVsdCkgb3IgdXNpbmcgJ3RhcmdldF9jcHU9 eDY0JyBpbnN0ZWFkLiIpCi0tCi0gZ3JvdXAoImNocm9taXVtX2J1aWxkZXJfcGVyZiIpIHsKLSAg IHRlc3Rvbmx5ID0gdHJ1ZQotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEyOS1jaHJvbWl1bS1zYW5kYm94LXNoZWRfZ2V0cGFyYW0ucGF0Y2ggYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI5LWNocm9taXVtLXNhbmRib3gtc2hlZF9nZXRwYXJh bS5wYXRjaAppbmRleCA4MGQ5MWM3N2U4YmEuLjYzYzU4OWY0YTU4ZSAxMDA2NDQKLS0tIGEvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyOS1jaHJvbWl1bS1zYW5kYm94LXNoZWRfZ2V0 cGFyYW0ucGF0Y2gKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyOS1jaHJv bWl1bS1zYW5kYm94LXNoZWRfZ2V0cGFyYW0ucGF0Y2gKQEAgLTEsMjAgKzEsMTcgQEAKIEFsbG93 IFNZU19zY2hlZF9nZXRwYXJhbSBhbmQgU1lTX3NjaGVkX2dldHNjaGVkdWxlcgogbXVzbCB1c2Vz IHRoZW0gZm9yIHB0aHJlYWRfZ2V0c2NoZWRwYXJhbSgpCiAKLXNvdXJjZTogaHR0cHM6Ly9naXQu YWxwaW5lbGludXgub3JnL2Fwb3J0cy9jb21taXQvY29tbXVuaXR5L2Nocm9taXVtP2lkPTU0YWY5 ZjhhYzI0ZjUyZDM4MmM1NzU4ZTI0NDViZjAyMDZlZmY0MGUKLQotLS0tIHF0Ni13ZWJlbmdpbmUt Ni40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBm X3JlbmRlcmVyX3BvbGljeV9saW51eC5jYwotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lf bGludXguY2MKLUBAIC05NywxMCArOTcsMTAgQEAgUmVzdWx0RXhwciBSZW5kZXJlclByb2Nlc3NQ b2xpY3k6OkV2YWx1YQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvcG9saWN5 L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNj CitAQCAtOTQsNiArOTQsMTEgQEAKKyAgICAgY2FzZSBfX05SX3B3cml0ZTY0OgorICAgICBjYXNl IF9fTlJfc2NoZWRfZ2V0X3ByaW9yaXR5X21heDoKKyAgICAgY2FzZSBfX05SX3NjaGVkX2dldF9w cmlvcml0eV9taW46CisrI2lmZGVmIF9fR0xJQkNfXworKyAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0 cGFyYW06CisrICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6CisrICAgIGNhc2UgX19O Ul9zY2hlZF9zZXRzY2hlZHVsZXI6CisrI2VuZGlmCiAgICAgIGNhc2UgX19OUl9zeXNpbmZvOgog ICAgICBjYXNlIF9fTlJfdGltZXM6CiAgICAgIGNhc2UgX19OUl91bmFtZToKLS0gICAgICByZXR1 cm4gQWxsb3coKTsKLS0gICAgY2FzZSBfX05SX3NjaGVkX2dldGFmZmluaXR5OgotICAgICBjYXNl IF9fTlJfc2NoZWRfZ2V0cGFyYW06Ci0gICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6 Ci0rICAgICAgcmV0dXJuIEFsbG93KCk7Ci0rICAgIGNhc2UgX19OUl9zY2hlZF9nZXRhZmZpbml0 eToKLSAgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlcjoKLSAgICAgICByZXR1cm4gUmVz dHJpY3RTY2hlZFRhcmdldChHZXRQb2xpY3lQaWQoKSwgc3lzbm8pOwotICAgICBjYXNlIF9fTlJf cHJsaW1pdDY0OgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1 NS1zeXN0eXBlcy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTUtc3lz dHlwZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5mNGU3 MWU5MzljZDEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTU1LXN5c3R5cGVzLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9iYXNlL3RoaXJkX3BhcnR5L3N5bWJvbGl6ZS9zeW1ib2xpemUuaAorKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvdGhpcmRfcGFydHkvc3ltYm9saXplL3N5bWJvbGl6 ZS5oCitAQCAtNTgsNiArNTgsOCBAQAorICNpbmNsdWRlICJjb25maWcuaCIKKyAjaW5jbHVkZSAi Z2xvZy9sb2dnaW5nLmgiCisgCisrI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorKworICNpZmRlZiBI QVZFX1NZTUJPTElaRQorIAorICNpZiBkZWZpbmVkKF9fRUxGX18pICAvLyBkZWZpbmVkIGJ5IGdj YwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1 bS1zbmRpby5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDAtY2hyb21p dW0tc25kaW8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3NjliNTMxNDk3 Yi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDAt Y2hyb21pdW0tc25kaW8ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NDkgKzAsMCBAQAotLS0t IHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvQlVJ TEQuZ24KLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRp YS9CVUlMRC5nbgotQEAgLTc4LDYgKzc4LDkgQEAgY29uZmlnKCJtZWRpYV9jb25maWciKSB7Ci0g ICAgICAgZGVmaW5lcyArPSBbICJETE9QRU5fUFVMU0VBVURJTyIgXQotICAgICB9Ci0gICB9Ci0r ICBpZiAodXNlX3NuZGlvKSB7Ci0rICAgIGRlZmluZXMgKz0gWyAiVVNFX1NORElPIiBdCi0rICB9 Ci0gICBpZiAodXNlX2NyYXMpIHsKLSAgICAgZGVmaW5lcyArPSBbICJVU0VfQ1JBUyIgXQotICAg fQotLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVk aWEvYXVkaW8vQlVJTEQuZ24KLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9tZWRpYS9hdWRpby9CVUlMRC5nbgotQEAgLTI0NSw2ICsyNDUsMTcgQEAgc291cmNl X3NldCgiYXVkaW8iKSB7Ci0gICAgIHNvdXJjZXMgKz0gWyAibGludXgvYXVkaW9fbWFuYWdlcl9s aW51eC5jYyIgXQotICAgfQotIAotKyAgaWYgKHVzZV9zbmRpbykgewotKyAgICBsaWJzICs9IFsg InNuZGlvIiBdCi0rICAgIHNvdXJjZXMgKz0gWwotKyAgICAgICJzbmRpby9hdWRpb19tYW5hZ2Vy X3NuZGlvLmNjIiwKLSsgICAgICAic25kaW8vc25kaW9faW5wdXQuY2MiLAotKyAgICAgICJzbmRp by9zbmRpb19pbnB1dC5oIiwKLSsgICAgICAic25kaW8vc25kaW9fb3V0cHV0LmNjIiwKLSsgICAg ICAic25kaW8vc25kaW9fb3V0cHV0LmgiCi0rICAgIF0KLSsgIH0KLSsKLSAgIGlmICh1c2VfYWxz YSkgewotICAgICBsaWJzICs9IFsgImFzb3VuZCIgXQotICAgICBzb3VyY2VzICs9IFsKLS0tLSBx dDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlv L2xpbnV4L2F1ZGlvX21hbmFnZXJfbGludXguY2MKLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9saW51eC9hdWRpb19tYW5hZ2VyX2xpbnV4 LmNjCi1AQCAtMjUsNiArMjUsMTEgQEAKLSAjaW5jbHVkZSAibWVkaWEvYXVkaW8vcHVsc2UvYXVk aW9fbWFuYWdlcl9wdWxzZS5oIgotICNpbmNsdWRlICJtZWRpYS9hdWRpby9wdWxzZS9wdWxzZV91 dGlsLmgiCi0gI2VuZGlmCi0rI2lmIGRlZmluZWQoVVNFX1NORElPKQotKyNpbmNsdWRlICJtZWRp YS9hdWRpby9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1 ZGlvL3NuZGlvL3NuZGlvX2lucHV0LmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL3Nu ZGlvX291dHB1dC5oIgotKyNlbmRpZgotIAotIG5hbWVzcGFjZSBtZWRpYSB7Ci0gCi0tLS0gL2Rl di9udWxsCi0rKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVk aWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5jYwotQEAgLTAsMCArMSwxNDggQEAK LSsvLyBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMg cmVzZXJ2ZWQuCi0rLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZp bGUuCi0rCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL2F1ZGlvX21hbmFnZXJfc25kaW8u aCIKLSsKLSsjaW5jbHVkZSAiYmFzZS9tZXRyaWNzL2hpc3RvZ3JhbV9tYWNyb3MuaCIKLSsjaW5j bHVkZSAiYmFzZS9tZW1vcnkvcHRyX3V0aWwuaCIKLSsjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVk aW9fZGV2aWNlX2Rlc2NyaXB0aW9uLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX291 dHB1dF9kaXNwYXRjaGVyLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX2lu cHV0LmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX291dHB1dC5oIgotKyNp bmNsdWRlICJtZWRpYS9iYXNlL2xpbWl0cy5oIgotKyNpbmNsdWRlICJtZWRpYS9iYXNlL21lZGlh X3N3aXRjaGVzLmgiCi0rCi0rbmFtZXNwYWNlIG1lZGlhIHsKLSsKLSsKLSsvLyBNYXhpbXVtIG51 bWJlciBvZiBvdXRwdXQgc3RyZWFtcyB0aGF0IGNhbiBiZSBvcGVuIHNpbXVsdGFuZW91c2x5Lgot K3N0YXRpYyBjb25zdCBpbnQga01heE91dHB1dFN0cmVhbXMgPSA0OwotKwotKy8vIERlZmF1bHQg c2FtcGxlIHJhdGUgZm9yIGlucHV0IGFuZCBvdXRwdXQgc3RyZWFtcy4KLStzdGF0aWMgY29uc3Qg aW50IGtEZWZhdWx0U2FtcGxlUmF0ZSA9IDQ4MDAwOwotKwotK3ZvaWQgQWRkRGVmYXVsdERldmlj ZShBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKLSsgIERDSEVDSyhkZXZpY2VfbmFt ZXMtPmVtcHR5KCkpOwotKyAgZGV2aWNlX25hbWVzLT5wdXNoX2Zyb250KEF1ZGlvRGV2aWNlTmFt ZTo6Q3JlYXRlRGVmYXVsdCgpKTsKLSt9Ci0rCi0rYm9vbCBBdWRpb01hbmFnZXJTbmRpbzo6SGFz QXVkaW9PdXRwdXREZXZpY2VzKCkgewotKyAgcmV0dXJuIHRydWU7Ci0rfQotKwotK2Jvb2wgQXVk aW9NYW5hZ2VyU25kaW86Okhhc0F1ZGlvSW5wdXREZXZpY2VzKCkgewotKyAgcmV0dXJuIHRydWU7 Ci0rfQotKwotK3ZvaWQgQXVkaW9NYW5hZ2VyU25kaW86OkdldEF1ZGlvSW5wdXREZXZpY2VOYW1l cygKLSsgICAgQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSB7Ci0rICBEQ0hFQ0soZGV2 aWNlX25hbWVzLT5lbXB0eSgpKTsKLSsgIEFkZERlZmF1bHREZXZpY2UoZGV2aWNlX25hbWVzKTsK LSt9Ci0rCi0rdm9pZCBBdWRpb01hbmFnZXJTbmRpbzo6R2V0QXVkaW9PdXRwdXREZXZpY2VOYW1l cygKLSsgICAgQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSB7Ci0rICBBZGREZWZhdWx0 RGV2aWNlKGRldmljZV9uYW1lcyk7Ci0rfQotKwotK2NvbnN0IGNoYXIqIEF1ZGlvTWFuYWdlclNu ZGlvOjpHZXROYW1lKCkgewotKyAgcmV0dXJuICJTTkRJTyI7Ci0rfQotKwotK0F1ZGlvUGFyYW1l dGVycyBBdWRpb01hbmFnZXJTbmRpbzo6R2V0SW5wdXRTdHJlYW1QYXJhbWV0ZXJzKAotKyAgICBj b25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkKSB7Ci0rICBzdGF0aWMgY29uc3QgaW50IGtEZWZh dWx0SW5wdXRCdWZmZXJTaXplID0gMTAyNDsKLSsKLSsgIGludCB1c2VyX2J1ZmZlcl9zaXplID0g R2V0VXNlckJ1ZmZlclNpemUoKTsKLSsgIGludCBidWZmZXJfc2l6ZSA9IHVzZXJfYnVmZmVyX3Np emUgPwotKyAgICAgIHVzZXJfYnVmZmVyX3NpemUgOiBrRGVmYXVsdElucHV0QnVmZmVyU2l6ZTsK LSsKLSsgIHJldHVybiBBdWRpb1BhcmFtZXRlcnMoCi0rICAgICAgQXVkaW9QYXJhbWV0ZXJzOjpB VURJT19QQ01fTE9XX0xBVEVOQ1ksIENIQU5ORUxfTEFZT1VUX1NURVJFTywKLSsgICAgICBrRGVm YXVsdFNhbXBsZVJhdGUsIGJ1ZmZlcl9zaXplKTsKLSt9Ci0rCi0rQXVkaW9NYW5hZ2VyU25kaW86 OkF1ZGlvTWFuYWdlclNuZGlvKHN0ZDo6dW5pcXVlX3B0cjxBdWRpb1RocmVhZD4gYXVkaW9fdGhy ZWFkLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVkaW9Mb2dG YWN0b3J5KiBhdWRpb19sb2dfZmFjdG9yeSkKLSsgICAgOiBBdWRpb01hbmFnZXJCYXNlKHN0ZDo6 bW92ZShhdWRpb190aHJlYWQpLAotKyAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fbG9nX2Zh Y3RvcnkpIHsKLSsgIERMT0coV0FSTklORykgPDwgIkF1ZGlvTWFuYWdlclNuZGlvIjsKLSsgIFNl dE1heE91dHB1dFN0cmVhbXNBbGxvd2VkKGtNYXhPdXRwdXRTdHJlYW1zKTsKLSt9Ci0rCi0rQXVk aW9NYW5hZ2VyU25kaW86On5BdWRpb01hbmFnZXJTbmRpbygpIHsKLSsgIFNodXRkb3duKCk7Ci0r fQotKwotK0F1ZGlvT3V0cHV0U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxpbmVhck91 dHB1dFN0cmVhbSgKLSsgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCi0rICAgIGNv bnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIHsKLSsgIERDSEVDS19FUShBdWRpb1BhcmFt ZXRlcnM6OkFVRElPX1BDTV9MSU5FQVIsIHBhcmFtcy5mb3JtYXQoKSk7Ci0rICByZXR1cm4gTWFr ZU91dHB1dFN0cmVhbShwYXJhbXMpOwotK30KLSsKLStBdWRpb091dHB1dFN0cmVhbSogQXVkaW9N YW5hZ2VyU25kaW86Ok1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtKAotKyAgICBjb25zdCBBdWRp b1BhcmFtZXRlcnMmIHBhcmFtcywKLSsgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCwK LSsgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgewotKyAgRExPR19JRihFUlJP UiwgIWRldmljZV9pZC5lbXB0eSgpKSA8PCAiTm90IGltcGxlbWVudGVkISI7Ci0rICBEQ0hFQ0tf RVEoQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIHBhcmFtcy5mb3JtYXQo KSk7Ci0rICByZXR1cm4gTWFrZU91dHB1dFN0cmVhbShwYXJhbXMpOwotK30KLSsKLStBdWRpb0lu cHV0U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxpbmVhcklucHV0U3RyZWFtKAotKyAg ICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKLSsgICAgY29uc3Qgc3RkOjpzdHJpbmcm IGRldmljZV9pZCwKLSsgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgewotKyAg RENIRUNLX0VRKEF1ZGlvUGFyYW1ldGVyczo6QVVESU9fUENNX0xJTkVBUiwgcGFyYW1zLmZvcm1h dCgpKTsKLSsgIHJldHVybiBNYWtlSW5wdXRTdHJlYW0ocGFyYW1zKTsKLSt9Ci0rCi0rQXVkaW9J bnB1dFN0cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VMb3dMYXRlbmN5SW5wdXRTdHJlYW0o Ci0rICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAotKyAgICBjb25zdCBzdGQ6OnN0 cmluZyYgZGV2aWNlX2lkLAotKyAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSB7 Ci0rICBEQ0hFQ0tfRVEoQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIHBh cmFtcy5mb3JtYXQoKSk7Ci0rICByZXR1cm4gTWFrZUlucHV0U3RyZWFtKHBhcmFtcyk7Ci0rfQot KwotK0F1ZGlvUGFyYW1ldGVycyBBdWRpb01hbmFnZXJTbmRpbzo6R2V0UHJlZmVycmVkT3V0cHV0 U3RyZWFtUGFyYW1ldGVycygKLSsgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG91dHB1dF9kZXZpY2Vf aWQsCi0rICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgaW5wdXRfcGFyYW1zKSB7Ci0rICAvLyBU T0RPKHRvbW1pKTogU3VwcG9ydCB8b3V0cHV0X2RldmljZV9pZHwuCi0rICBETE9HX0lGKEVSUk9S LCAhb3V0cHV0X2RldmljZV9pZC5lbXB0eSgpKSA8PCAiTm90IGltcGxlbWVudGVkISI7Ci0rICBz dGF0aWMgY29uc3QgaW50IGtEZWZhdWx0T3V0cHV0QnVmZmVyU2l6ZSA9IDIwNDg7Ci0rCi0rICBD aGFubmVsTGF5b3V0IGNoYW5uZWxfbGF5b3V0ID0gQ0hBTk5FTF9MQVlPVVRfU1RFUkVPOwotKyAg aW50IHNhbXBsZV9yYXRlID0ga0RlZmF1bHRTYW1wbGVSYXRlOwotKyAgaW50IGJ1ZmZlcl9zaXpl ID0ga0RlZmF1bHRPdXRwdXRCdWZmZXJTaXplOwotKyAgaWYgKGlucHV0X3BhcmFtcy5Jc1ZhbGlk KCkpIHsKLSsgICAgc2FtcGxlX3JhdGUgPSBpbnB1dF9wYXJhbXMuc2FtcGxlX3JhdGUoKTsKLSsg ICAgY2hhbm5lbF9sYXlvdXQgPSBpbnB1dF9wYXJhbXMuY2hhbm5lbF9sYXlvdXQoKTsKLSsgICAg YnVmZmVyX3NpemUgPSBzdGQ6Om1pbihidWZmZXJfc2l6ZSwgaW5wdXRfcGFyYW1zLmZyYW1lc19w ZXJfYnVmZmVyKCkpOwotKyAgfQotKwotKyAgaW50IHVzZXJfYnVmZmVyX3NpemUgPSBHZXRVc2Vy QnVmZmVyU2l6ZSgpOwotKyAgaWYgKHVzZXJfYnVmZmVyX3NpemUpCi0rICAgIGJ1ZmZlcl9zaXpl ID0gdXNlcl9idWZmZXJfc2l6ZTsKLSsKLSsgIHJldHVybiBBdWRpb1BhcmFtZXRlcnMoCi0rICAg ICAgQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIGNoYW5uZWxfbGF5b3V0 LAotKyAgICAgIHNhbXBsZV9yYXRlLCBidWZmZXJfc2l6ZSk7Ci0rfQotKwotK0F1ZGlvSW5wdXRT dHJlYW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlSW5wdXRTdHJlYW0oCi0rICAgIGNvbnN0IEF1 ZGlvUGFyYW1ldGVycyYgcGFyYW1zKSB7Ci0rICBETE9HKFdBUk5JTkcpIDw8ICJNYWtlSW5wdXRT dHJlYW0iOwotKyAgcmV0dXJuIG5ldyBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0odGhpcywKLSsgICAg ICAgICAgICAgQXVkaW9EZXZpY2VEZXNjcmlwdGlvbjo6a0RlZmF1bHREZXZpY2VJZCwgcGFyYW1z KTsKLSt9Ci0rCi0rQXVkaW9PdXRwdXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlT3V0 cHV0U3RyZWFtKAotKyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcykgewotKyAgRExP RyhXQVJOSU5HKSA8PCAiTWFrZU91dHB1dFN0cmVhbSI7Ci0rICByZXR1cm4gbmV3IFNuZGlvQXVk aW9PdXRwdXRTdHJlYW0ocGFyYW1zLCB0aGlzKTsKLSt9Ci0rCi0rfSAgLy8gbmFtZXNwYWNlIG1l ZGlhCi0tLS0gL2Rldi9udWxsCi0rKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vbWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oCi1AQCAtMCww ICsxLDY1IEBACi0rLy8gQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBB bGwgcmlnaHRzIHJlc2VydmVkLgotKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSsvLyBmb3VuZCBpbiB0aGUg TElDRU5TRSBmaWxlLgotKwotKyNpZm5kZWYgTUVESUFfQVVESU9fU05ESU9fQVVESU9fTUFOQUdF Ul9TTkRJT19IXwotKyNkZWZpbmUgTUVESUFfQVVESU9fU05ESU9fQVVESU9fTUFOQUdFUl9TTkRJ T19IXwotKwotKyNpbmNsdWRlIDxzZXQ+Ci0rCi0rI2luY2x1ZGUgImJhc2UvY29tcGlsZXJfc3Bl Y2lmaWMuaCIKLSsjaW5jbHVkZSAiYmFzZS9tYWNyb3MuaCIKLSsjaW5jbHVkZSAiYmFzZS9tZW1v cnkvcmVmX2NvdW50ZWQuaCIKLSsjaW5jbHVkZSAiYmFzZS90aHJlYWRpbmcvdGhyZWFkLmgiCi0r I2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX21hbmFnZXJfYmFzZS5oIgotKwotK25hbWVzcGFj ZSBtZWRpYSB7Ci0rCi0rY2xhc3MgTUVESUFfRVhQT1JUIEF1ZGlvTWFuYWdlclNuZGlvIDogcHVi bGljIEF1ZGlvTWFuYWdlckJhc2UgewotKyBwdWJsaWM6Ci0rICBBdWRpb01hbmFnZXJTbmRpbyhz dGQ6OnVuaXF1ZV9wdHI8QXVkaW9UaHJlYWQ+IGF1ZGlvX3RocmVhZCwKLSsgICAgICAgICAgICAg ICAgICAgQXVkaW9Mb2dGYWN0b3J5KiBhdWRpb19sb2dfZmFjdG9yeSk7Ci0rICB+QXVkaW9NYW5h Z2VyU25kaW8oKSBvdmVycmlkZTsKLSsKLSsgIC8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvTWFu YWdlci4KLSsgIGJvb2wgSGFzQXVkaW9PdXRwdXREZXZpY2VzKCkgb3ZlcnJpZGU7Ci0rICBib29s IEhhc0F1ZGlvSW5wdXREZXZpY2VzKCkgb3ZlcnJpZGU7Ci0rICB2b2lkIEdldEF1ZGlvSW5wdXRE ZXZpY2VOYW1lcyhBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIG92ZXJyaWRlOwotKyAg dm9pZCBHZXRBdWRpb091dHB1dERldmljZU5hbWVzKEF1ZGlvRGV2aWNlTmFtZXMqIGRldmljZV9u YW1lcykgb3ZlcnJpZGU7Ci0rICBBdWRpb1BhcmFtZXRlcnMgR2V0SW5wdXRTdHJlYW1QYXJhbWV0 ZXJzKAotKyAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQpIG92ZXJyaWRlOwotKyAg Y29uc3QgY2hhciogR2V0TmFtZSgpIG92ZXJyaWRlOwotKwotKyAgLy8gSW1wbGVtZW50YXRpb24g b2YgQXVkaW9NYW5hZ2VyQmFzZS4KLSsgIEF1ZGlvT3V0cHV0U3RyZWFtKiBNYWtlTGluZWFyT3V0 cHV0U3RyZWFtKAotKyAgICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAotKyAgICAg IGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOwotKyAgQXVkaW9PdXRw dXRTdHJlYW0qIE1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtKAotKyAgICAgIGNvbnN0IEF1ZGlv UGFyYW1ldGVycyYgcGFyYW1zLAotKyAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQs Ci0rICAgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgb3ZlcnJpZGU7Ci0rICBB dWRpb0lucHV0U3RyZWFtKiBNYWtlTGluZWFySW5wdXRTdHJlYW0oCi0rICAgICAgY29uc3QgQXVk aW9QYXJhbWV0ZXJzJiBwYXJhbXMsCi0rICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9p ZCwKLSsgICAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVycmlkZTsKLSsg IEF1ZGlvSW5wdXRTdHJlYW0qIE1ha2VMb3dMYXRlbmN5SW5wdXRTdHJlYW0oCi0rICAgICAgY29u c3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCi0rICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRl dmljZV9pZCwKLSsgICAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVycmlk ZTsKLSsKLSsgcHJvdGVjdGVkOgotKyAgQXVkaW9QYXJhbWV0ZXJzIEdldFByZWZlcnJlZE91dHB1 dFN0cmVhbVBhcmFtZXRlcnMoCi0rICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG91dHB1dF9kZXZp Y2VfaWQsCi0rICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBpbnB1dF9wYXJhbXMpIG92ZXJy aWRlOwotKwotKyBwcml2YXRlOgotKyAgLy8gQ2FsbGVkIGJ5IE1ha2VMaW5lYXJPdXRwdXRTdHJl YW0gYW5kIE1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtLgotKyAgQXVkaW9PdXRwdXRTdHJlYW0q IE1ha2VPdXRwdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpOwotKyAgQXVk aW9JbnB1dFN0cmVhbSogTWFrZUlucHV0U3RyZWFtKGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFy YW1zKTsKLSsKLSsgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihBdWRpb01hbmFnZXJTbmRpbyk7 Ci0rfTsKLSsKLSt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKLSsKLSsjZW5kaWYgIC8vIE1FRElBX0FV RElPX1NORElPX0FVRElPX01BTkFHRVJfU05ESU9fSF8KLS0tLSAvZGV2L251bGwKLSsrKyBxdDYt d2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9zbmRpby9z bmRpb19pbnB1dC5jYwotQEAgLTAsMCArMSwyMDAgQEAKLSsvLyBDb3B5cmlnaHQgMjAxMyBUaGUg Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsvLyBVc2Ugb2YgdGhpcyBz b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJl Ci0rLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLSsKLSsjaW5jbHVkZSAiYmFzZS9iaW5k LmgiCi0rI2luY2x1ZGUgImJhc2UvbG9nZ2luZy5oIgotKyNpbmNsdWRlICJiYXNlL21hY3Jvcy5o IgotKyNpbmNsdWRlICJtZWRpYS9iYXNlL2F1ZGlvX3RpbWVzdGFtcF9oZWxwZXIuaCIKLSsjaW5j bHVkZSAibWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oIgotKyNpbmNsdWRl ICJtZWRpYS9hdWRpby9hdWRpb19tYW5hZ2VyLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3Nu ZGlvL3NuZGlvX2lucHV0LmgiCi0rCi0rbmFtZXNwYWNlIG1lZGlhIHsKLSsKLStzdGF0aWMgY29u c3QgU2FtcGxlRm9ybWF0IGtTYW1wbGVGb3JtYXQgPSBrU2FtcGxlRm9ybWF0UzE2OwotKwotK3Zv aWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpPbk1vdmVDYWxsYmFjayh2b2lkICphcmcsIGludCBk ZWx0YSkKLSt7Ci0rICBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxT bmRpb0F1ZGlvSW5wdXRTdHJlYW0qPihhcmcpOwotKwotKyAgc2VsZi0+aHdfZGVsYXkgKz0gZGVs dGE7Ci0rfQotKwotK3ZvaWQgKlNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6VGhyZWFkRW50cnkodm9p ZCAqYXJnKSB7Ci0rICBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxT bmRpb0F1ZGlvSW5wdXRTdHJlYW0qPihhcmcpOwotKwotKyAgc2VsZi0+VGhyZWFkTG9vcCgpOwot KyAgcmV0dXJuIE5VTEw7Ci0rfQotKwotK1NuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U25kaW9BdWRp b0lucHV0U3RyZWFtKEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXIsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9u YW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zKQotKyAgICA6IG1hbmFnZXIobWFuYWdlciksCi0rICAg ICAgcGFyYW1zKHBhcmFtcyksCi0rICAgICAgYXVkaW9fYnVzKEF1ZGlvQnVzOjpDcmVhdGUocGFy YW1zKSksCi0rICAgICAgc3RhdGUoa0Nsb3NlZCkgewotK30KLSsKLStTbmRpb0F1ZGlvSW5wdXRT dHJlYW06On5TbmRpb0F1ZGlvSW5wdXRTdHJlYW0oKSB7Ci0rICBpZiAoc3RhdGUgIT0ga0Nsb3Nl ZCkKLSsgICAgQ2xvc2UoKTsKLSt9Ci0rCi0rYm9vbCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06Ok9w ZW4oKSB7Ci0rICBzdHJ1Y3Qgc2lvX3BhciBwYXI7Ci0rICBpbnQgc2lnOwotKwotKyAgaWYgKHN0 YXRlICE9IGtDbG9zZWQpCi0rICAgIHJldHVybiBmYWxzZTsKLSsKLSsgIGlmIChwYXJhbXMuZm9y bWF0KCkgIT0gQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTElORUFSICYmCi0rICAgICAgcGFy YW1zLmZvcm1hdCgpICE9IEF1ZGlvUGFyYW1ldGVyczo6QVVESU9fUENNX0xPV19MQVRFTkNZKSB7 Ci0rICAgIExPRyhXQVJOSU5HKSA8PCAiVW5zdXBwb3J0ZWQgYXVkaW8gZm9ybWF0LiI7Ci0rICAg IHJldHVybiBmYWxzZTsKLSsgIH0KLSsKLSsgIHNpb19pbml0cGFyKCZwYXIpOwotKyAgcGFyLnJh dGUgPSBwYXJhbXMuc2FtcGxlX3JhdGUoKTsKLSsgIHBhci5yY2hhbiA9IHBhcmFtcy5jaGFubmVs cygpOwotKyAgcGFyLmJpdHMgPSBTYW1wbGVGb3JtYXRUb0JpdHNQZXJDaGFubmVsKGtTYW1wbGVG b3JtYXQpOwotKyAgcGFyLmJwcyA9IHBhci5iaXRzIC8gODsKLSsgIHBhci5zaWcgPSBzaWcgPSBw YXIuYml0cyAhPSA4ID8gMSA6IDA7Ci0rICBwYXIubGUgPSBTSU9fTEVfTkFUSVZFOwotKyAgcGFy LmFwcGJ1ZnN6ID0gcGFyYW1zLmZyYW1lc19wZXJfYnVmZmVyKCk7Ci0rCi0rICBoZGwgPSBzaW9f b3BlbihTSU9fREVWQU5ZLCBTSU9fUkVDLCAwKTsKLSsKLSsgIGlmIChoZGwgPT0gTlVMTCkgewot KyAgICBMT0coRVJST1IpIDw8ICJDb3VsZG4ndCBvcGVuIGF1ZGlvIGRldmljZS4iOwotKyAgICBy ZXR1cm4gZmFsc2U7Ci0rICB9Ci0rCi0rICBpZiAoIXNpb19zZXRwYXIoaGRsLCAmcGFyKSB8fCAh c2lvX2dldHBhcihoZGwsICZwYXIpKSB7Ci0rICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHNl dCBhdWRpbyBwYXJhbWV0ZXJzLiI7Ci0rICAgIGdvdG8gYmFkX2Nsb3NlOwotKyAgfQotKwotKyAg aWYgKHBhci5yYXRlICAhPSAodW5zaWduZWQgaW50KXBhcmFtcy5zYW1wbGVfcmF0ZSgpIHx8Ci0r ICAgICAgcGFyLnJjaGFuICE9ICh1bnNpZ25lZCBpbnQpcGFyYW1zLmNoYW5uZWxzKCkgfHwKLSsg ICAgICBwYXIuYml0cyAgIT0gKHVuc2lnbmVkIGludClTYW1wbGVGb3JtYXRUb0JpdHNQZXJDaGFu bmVsKGtTYW1wbGVGb3JtYXQpIHx8Ci0rICAgICAgcGFyLnNpZyAgICE9ICh1bnNpZ25lZCBpbnQp c2lnIHx8Ci0rICAgICAgKHBhci5icHMgPiAxICYmIHBhci5sZSAhPSBTSU9fTEVfTkFUSVZFKSB8 fAotKyAgICAgIChwYXIuYml0cyAhPSBwYXIuYnBzICogOCkpIHsKLSsgICAgTE9HKEVSUk9SKSA8 PCAiVW5zdXBwb3J0ZWQgYXVkaW8gcGFyYW1ldGVycy4iOwotKyAgICBnb3RvIGJhZF9jbG9zZTsK LSsgIH0KLSsgIHN0YXRlID0ga1N0b3BwZWQ7Ci0rICBidWZmZXIgPSBuZXcgY2hhclthdWRpb19i dXMtPmZyYW1lcygpICogcGFyYW1zLkdldEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCldOwot KyAgc2lvX29ubW92ZShoZGwsICZPbk1vdmVDYWxsYmFjaywgdGhpcyk7Ci0rICByZXR1cm4gdHJ1 ZTsKLStiYWRfY2xvc2U6Ci0rICBzaW9fY2xvc2UoaGRsKTsKLSsgIHJldHVybiBmYWxzZTsKLSt9 Ci0rCi0rdm9pZCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OlN0YXJ0KEF1ZGlvSW5wdXRDYWxsYmFj ayogY2IpIHsKLSsKLSsgIFN0YXJ0QWdjKCk7Ci0rCi0rICBzdGF0ZSA9IGtSdW5uaW5nOwotKyAg aHdfZGVsYXkgPSAwOwotKyAgY2FsbGJhY2sgPSBjYjsKLSsgIHNpb19zdGFydChoZGwpOwotKyAg aWYgKHB0aHJlYWRfY3JlYXRlKCZ0aHJlYWQsIE5VTEwsICZUaHJlYWRFbnRyeSwgdGhpcykgIT0g MCkgewotKyAgICBMT0coRVJST1IpIDw8ICJGYWlsZWQgdG8gY3JlYXRlIHJlYWwtdGltZSB0aHJl YWQgZm9yIHJlY29yZGluZy4iOwotKyAgICBzaW9fc3RvcChoZGwpOwotKyAgICBzdGF0ZSA9IGtT dG9wcGVkOwotKyAgfQotK30KLSsKLSt2b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U3RvcCgp IHsKLSsKLSsgIGlmIChzdGF0ZSA9PSBrU3RvcHBlZCkKLSsgICAgcmV0dXJuOwotKwotKyAgc3Rh dGUgPSBrU3RvcFdhaXQ7Ci0rICBwdGhyZWFkX2pvaW4odGhyZWFkLCBOVUxMKTsKLSsgIHNpb19z dG9wKGhkbCk7Ci0rICBzdGF0ZSA9IGtTdG9wcGVkOwotKwotKyAgU3RvcEFnYygpOwotK30KLSsK LSt2b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6Q2xvc2UoKSB7Ci0rCi0rICBpZiAoc3RhdGUg PT0ga0Nsb3NlZCkKLSsgICAgcmV0dXJuOwotKwotKyAgaWYgKHN0YXRlID09IGtSdW5uaW5nKQot KyAgICBTdG9wKCk7Ci0rCi0rICBzdGF0ZSA9IGtDbG9zZWQ7Ci0rICBkZWxldGUgW10gYnVmZmVy OwotKyAgc2lvX2Nsb3NlKGhkbCk7Ci0rCi0rICBtYW5hZ2VyLT5SZWxlYXNlSW5wdXRTdHJlYW0o dGhpcyk7Ci0rfQotKwotK2RvdWJsZSBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OkdldE1heFZvbHVt ZSgpIHsKLSsgIC8vIE5vdCBzdXBwb3J0ZWQKLSsgIHJldHVybiAwLjA7Ci0rfQotKwotK3ZvaWQg U25kaW9BdWRpb0lucHV0U3RyZWFtOjpTZXRWb2x1bWUoZG91YmxlIHZvbHVtZSkgewotKyAgLy8g Tm90IHN1cHBvcnRlZC4gRG8gbm90aGluZy4KLSt9Ci0rCi0rZG91YmxlIFNuZGlvQXVkaW9JbnB1 dFN0cmVhbTo6R2V0Vm9sdW1lKCkgewotKyAgLy8gTm90IHN1cHBvcnRlZC4KLSsgIHJldHVybiAw LjA7Ci0rfQotKwotK2Jvb2wgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpJc011dGVkKCkgewotKyAg Ly8gTm90IHN1cHBvcnRlZC4KLSsgIHJldHVybiBmYWxzZTsKLSt9Ci0rCi0rdm9pZCBTbmRpb0F1 ZGlvSW5wdXRTdHJlYW06OlNldE91dHB1dERldmljZUZvckFlYygKLSsgICAgY29uc3Qgc3RkOjpz dHJpbmcmIG91dHB1dF9kZXZpY2VfaWQpIHsKLSsgIC8vIE5vdCBzdXBwb3J0ZWQuCi0rfQotKwot K3ZvaWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpUaHJlYWRMb29wKHZvaWQpIHsKLSsgIHNpemVf dCB0b2RvLCBuOwotKyAgY2hhciAqZGF0YTsKLSsgIHVuc2lnbmVkIGludCBuZnJhbWVzOwotKyAg ZG91YmxlIG5vcm1hbGl6ZWRfdm9sdW1lID0gMC4wOwotKwotKyAgbmZyYW1lcyA9IGF1ZGlvX2J1 cy0+ZnJhbWVzKCk7Ci0rCi0rICB3aGlsZSAoc3RhdGUgPT0ga1J1bm5pbmcgJiYgIXNpb19lb2Yo aGRsKSkgewotKwotKyAgICBHZXRBZ2NWb2x1bWUoJm5vcm1hbGl6ZWRfdm9sdW1lKTsKLSsKLSsg ICAgLy8gcmVhZCBvbmUgYmxvY2sKLSsgICAgdG9kbyA9IG5mcmFtZXMgKiBwYXJhbXMuR2V0Qnl0 ZXNQZXJGcmFtZShrU2FtcGxlRm9ybWF0KTsKLSsgICAgZGF0YSA9IGJ1ZmZlcjsKLSsgICAgd2hp bGUgKHRvZG8gPiAwKSB7Ci0rICAgICAgbiA9IHNpb19yZWFkKGhkbCwgZGF0YSwgdG9kbyk7Ci0r ICAgICAgaWYgKG4gPT0gMCkKLSsgICAgICAgIHJldHVybjsJLy8gdW5yZWNvdmVyYWJsZSBJL08g ZXJyb3IKLSsgICAgICB0b2RvIC09IG47Ci0rICAgICAgZGF0YSArPSBuOwotKyAgICB9Ci0rICAg IGh3X2RlbGF5IC09IG5mcmFtZXM7Ci0rCi0rICAgIC8vIGNvbnZlcnQgZnJhbWVzIGNvdW50IHRv IFRpbWVEZWx0YQotKyAgICBjb25zdCBiYXNlOjpUaW1lRGVsdGEgZGVsYXkgPSBBdWRpb1RpbWVz dGFtcEhlbHBlcjo6RnJhbWVzVG9UaW1lKGh3X2RlbGF5LAotKyAgICAgIHBhcmFtcy5zYW1wbGVf cmF0ZSgpKTsKLSsKLSsgICAgLy8gcHVzaCBpbnRvIGJ1cwotKyAgICBhdWRpb19idXMtPkZyb21J bnRlcmxlYXZlZDxTaWduZWRJbnQxNlNhbXBsZVR5cGVUcmFpdHM+KHJlaW50ZXJwcmV0X2Nhc3Q8 aW50MTZfdCo+KGJ1ZmZlciksIG5mcmFtZXMpOwotKwotKyAgICAvLyBpbnZva2UgY2FsbGJhY2sK LSsgICAgY2FsbGJhY2stPk9uRGF0YShhdWRpb19idXMuZ2V0KCksIGJhc2U6OlRpbWVUaWNrczo6 Tm93KCkgLSBkZWxheSwgMS4pOwotKyAgfQotK30KLSsKLSt9ICAvLyBuYW1lc3BhY2UgbWVkaWEK LS0tLSAvZGV2L251bGwKLSsrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9tZWRpYS9hdWRpby9zbmRpby9zbmRpb19pbnB1dC5oCi1AQCAtMCwwICsxLDkxIEBACi0r Ly8gQ29weXJpZ2h0IDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2 ZWQuCi0rLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5 bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0r Ci0rI2lmbmRlZiBNRURJQV9BVURJT19TTkRJT19TTkRJT19JTlBVVF9IXwotKyNkZWZpbmUgTUVE SUFfQVVESU9fU05ESU9fU05ESU9fSU5QVVRfSF8KLSsKLSsjaW5jbHVkZSA8c3RkaW50Lmg+Ci0r I2luY2x1ZGUgPHN0cmluZz4KLSsjaW5jbHVkZSA8c25kaW8uaD4KLSsKLSsjaW5jbHVkZSAiYmFz ZS9jb21waWxlcl9zcGVjaWZpYy5oIgotKyNpbmNsdWRlICJiYXNlL21hY3Jvcy5oIgotKyNpbmNs dWRlICJiYXNlL21lbW9yeS93ZWFrX3B0ci5oIgotKyNpbmNsdWRlICJiYXNlL3RpbWUvdGltZS5o IgotKyNpbmNsdWRlICJtZWRpYS9hdWRpby9hZ2NfYXVkaW9fc3RyZWFtLmgiCi0rI2luY2x1ZGUg Im1lZGlhL2F1ZGlvL2F1ZGlvX2lvLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX2Rl dmljZV9kZXNjcmlwdGlvbi5oIgotKyNpbmNsdWRlICJtZWRpYS9iYXNlL2F1ZGlvX3BhcmFtZXRl cnMuaCIKLSsKLStuYW1lc3BhY2UgbWVkaWEgewotKwotK2NsYXNzIEF1ZGlvTWFuYWdlckJhc2U7 Ci0rCi0rLy8gSW1wbGVtZW50YXRpb24gb2YgQXVkaW9PdXRwdXRTdHJlYW0gdXNpbmcgc25kaW8o NykKLStjbGFzcyBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0gOiBwdWJsaWMgQWdjQXVkaW9TdHJlYW08 QXVkaW9JbnB1dFN0cmVhbT4gewotKyBwdWJsaWM6Ci0rICAvLyBQYXNzIHRoaXMgdG8gdGhlIGNv bnN0cnVjdG9yIGlmIHlvdSB3YW50IHRvIGF0dGVtcHQgYXV0by1zZWxlY3Rpb24KLSsgIC8vIG9m IHRoZSBhdWRpbyByZWNvcmRpbmcgZGV2aWNlLgotKyAgc3RhdGljIGNvbnN0IGNoYXIga0F1dG9T ZWxlY3REZXZpY2VbXTsKLSsKLSsgIC8vIENyZWF0ZSBhIFBDTSBPdXRwdXQgc3RyZWFtIGZvciB0 aGUgU05ESU8gZGV2aWNlIGlkZW50aWZpZWQgYnkKLSsgIC8vIHxkZXZpY2VfbmFtZXwuIElmIHVu c3VyZSBvZiB3aGF0IHRvIHVzZSBmb3IgfGRldmljZV9uYW1lfCwgdXNlCi0rICAvLyB8a0F1dG9T ZWxlY3REZXZpY2V8LgotKyAgU25kaW9BdWRpb0lucHV0U3RyZWFtKEF1ZGlvTWFuYWdlckJhc2Uq IGF1ZGlvX21hbmFnZXIsCi0rICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcm IGRldmljZV9uYW1lLAotKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVy cyYgcGFyYW1zKTsKLSsKLSsgIH5TbmRpb0F1ZGlvSW5wdXRTdHJlYW0oKSBvdmVycmlkZTsKLSsK LSsgIC8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvSW5wdXRTdHJlYW0uCi0rICBib29sIE9wZW4o KSBvdmVycmlkZTsKLSsgIHZvaWQgU3RhcnQoQXVkaW9JbnB1dENhbGxiYWNrKiBjYWxsYmFjaykg b3ZlcnJpZGU7Ci0rICB2b2lkIFN0b3AoKSBvdmVycmlkZTsKLSsgIHZvaWQgQ2xvc2UoKSBvdmVy cmlkZTsKLSsgIGRvdWJsZSBHZXRNYXhWb2x1bWUoKSBvdmVycmlkZTsKLSsgIHZvaWQgU2V0Vm9s dW1lKGRvdWJsZSB2b2x1bWUpIG92ZXJyaWRlOwotKyAgZG91YmxlIEdldFZvbHVtZSgpIG92ZXJy aWRlOwotKyAgYm9vbCBJc011dGVkKCkgb3ZlcnJpZGU7Ci0rICB2b2lkIFNldE91dHB1dERldmlj ZUZvckFlYyhjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCkgb3ZlcnJpZGU7Ci0r Ci0rIHByaXZhdGU6Ci0rCi0rICBlbnVtIFN0cmVhbVN0YXRlIHsKLSsgICAga0Nsb3NlZCwgICAg ICAgICAgICAvLyBOb3Qgb3BlbmVkIHlldAotKyAgICBrU3RvcHBlZCwgICAgICAgICAgIC8vIERl dmljZSBvcGVuZWQsIGJ1dCBub3Qgc3RhcnRlZCB5ZXQKLSsgICAga1J1bm5pbmcsICAgICAgICAg ICAvLyBTdGFydGVkLCBkZXZpY2UgcGxheWluZwotKyAgICBrU3RvcFdhaXQgICAgICAgICAgIC8v IFN0b3BwaW5nLCB3YWl0aW5nIGZvciB0aGUgcmVhbC10aW1lIHRocmVhZCB0byBleGl0Ci0rICB9 OwotKwotKyAgLy8gQy1zdHlsZSBjYWxsLWJhY2tzCi0rICBzdGF0aWMgdm9pZCBPbk1vdmVDYWxs YmFjayh2b2lkICphcmcsIGludCBkZWx0YSk7Ci0rICBzdGF0aWMgdm9pZCogVGhyZWFkRW50cnko dm9pZCAqYXJnKTsKLSsKLSsgIC8vIENvbnRpbnVvdXNseSBtb3ZlcyBkYXRhIGZyb20gdGhlIGRl dmljZSB0byB0aGUgY29uc3VtZXIKLSsgIHZvaWQgVGhyZWFkTG9vcCgpOwotKyAgLy8gT3VyIGNy ZWF0b3IsIHRoZSBhdWRpbyBtYW5hZ2VyIG5lZWRzIHRvIGJlIG5vdGlmaWVkIHdoZW4gd2UgY2xv c2UuCi0rICBBdWRpb01hbmFnZXJCYXNlKiBtYW5hZ2VyOwotKyAgLy8gUGFyYW1ldGVycyBvZiB0 aGUgc291cmNlCi0rICBBdWRpb1BhcmFtZXRlcnMgcGFyYW1zOwotKyAgLy8gV2Ugc3RvcmUgZGF0 YSBoZXJlIGZvciBjb25zdW1lcgotKyAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvQnVzPiBhdWRpb19i dXM7Ci0rICAvLyBDYWxsLWJhY2sgdGhhdCBjb25zdW1lcyByZWNvcmRlZCBkYXRhCi0rICBBdWRp b0lucHV0Q2FsbGJhY2sqIGNhbGxiYWNrOyAgLy8gVmFsaWQgZHVyaW5nIGEgcmVjb3JkaW5nIHNl c3Npb24uCi0rICAvLyBIYW5kbGUgb2YgdGhlIGF1ZGlvIGRldmljZQotKyAgc3RydWN0IHNpb19o ZGwqIGhkbDsKLSsgIC8vIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHN0cmVhbQotKyAgZW51bSBTdHJl YW1TdGF0ZSBzdGF0ZTsKLSsgIC8vIEhpZ2ggcHJpb3JpdHkgdGhyZWFkIHJ1bm5pbmcgVGhyZWFk TG9vcCgpCi0rICBwdGhyZWFkX3QgdGhyZWFkOwotKyAgLy8gTnVtYmVyIG9mIGZyYW1lcyBidWZm ZXJlZCBpbiB0aGUgaGFyZHdhcmUKLSsgIGludCBod19kZWxheTsKLSsgIC8vIFRlbXBvcmFyeSBi dWZmZXIgd2hlcmUgZGF0YSBpcyBzdG9yZWQgc25kaW8tY29tcGF0aWJsZSBmb3JtYXQKLSsgIGNo YXIqIGJ1ZmZlcjsKLSsKLSsgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihTbmRpb0F1ZGlvSW5w dXRTdHJlYW0pOwotK307Ci0rCi0rfSAgLy8gbmFtZXNwYWNlIG1lZGlhCi0rCi0rI2VuZGlmICAv LyBNRURJQV9BVURJT19TTkRJT19TTkRJT19JTlBVVF9IXwotLS0tIC9kZXYvbnVsbAotKysrIHF0 Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3NuZGlv L3NuZGlvX291dHB1dC5jYwotQEAgLTAsMCArMSwxODMgQEAKLSsvLyBDb3B5cmlnaHQgKGMpIDIw MTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0rLy8gVXNlIG9m IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0 IGNhbiBiZQotKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0rCi0rI2luY2x1ZGUgImJh c2UvbG9nZ2luZy5oIgotKyNpbmNsdWRlICJiYXNlL3RpbWUvdGltZS5oIgotKyNpbmNsdWRlICJi YXNlL3RpbWUvZGVmYXVsdF90aWNrX2Nsb2NrLmgiCi0rI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1 ZGlvX21hbmFnZXJfYmFzZS5oIgotKyNpbmNsdWRlICJtZWRpYS9iYXNlL2F1ZGlvX3RpbWVzdGFt cF9oZWxwZXIuaCIKLSsjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0Lmgi Ci0rCi0rbmFtZXNwYWNlIG1lZGlhIHsKLSsKLStzdGF0aWMgY29uc3QgU2FtcGxlRm9ybWF0IGtT YW1wbGVGb3JtYXQgPSBrU2FtcGxlRm9ybWF0UzE2OwotKwotK3ZvaWQgU25kaW9BdWRpb091dHB1 dFN0cmVhbTo6T25Nb3ZlQ2FsbGJhY2sodm9pZCAqYXJnLCBpbnQgZGVsdGEpIHsKLSsgIFNuZGlv QXVkaW9PdXRwdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRpb0F1ZGlvT3V0cHV0U3Ry ZWFtKj4oYXJnKTsKLSsKLSsgIHNlbGYtPmh3X2RlbGF5IC09IGRlbHRhOwotK30KLSsKLSt2b2lk IFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06Ok9uVm9sQ2FsbGJhY2sodm9pZCAqYXJnLCB1bnNpZ25l ZCBpbnQgdm9sKSB7Ci0rICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKiBzZWxmID0gc3RhdGljX2Nh c3Q8U25kaW9BdWRpb091dHB1dFN0cmVhbSo+KGFyZyk7Ci0rCi0rICBzZWxmLT52b2wgPSB2b2w7 Ci0rfQotKwotK3ZvaWQgKlNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlRocmVhZEVudHJ5KHZvaWQg KmFyZykgewotKyAgU25kaW9BdWRpb091dHB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNu ZGlvQXVkaW9PdXRwdXRTdHJlYW0qPihhcmcpOwotKwotKyAgc2VsZi0+VGhyZWFkTG9vcCgpOwot KyAgcmV0dXJuIE5VTEw7Ci0rfQotKwotK1NuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlNuZGlvQXVk aW9PdXRwdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpb01hbmFnZXJCYXNlKiBt YW5hZ2VyKQotKyAgICA6IG1hbmFnZXIobWFuYWdlciksCi0rICAgICAgcGFyYW1zKHBhcmFtcyks Ci0rICAgICAgYXVkaW9fYnVzKEF1ZGlvQnVzOjpDcmVhdGUocGFyYW1zKSksCi0rICAgICAgc3Rh dGUoa0Nsb3NlZCksCi0rICAgICAgbXV0ZXgoUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUikgewot K30KLSsKLStTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjp+U25kaW9BdWRpb091dHB1dFN0cmVhbSgp IHsKLSsgIGlmIChzdGF0ZSAhPSBrQ2xvc2VkKQotKyAgICBDbG9zZSgpOwotK30KLSsKLStib29s IFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06Ok9wZW4oKSB7Ci0rICBzdHJ1Y3Qgc2lvX3BhciBwYXI7 Ci0rICBpbnQgc2lnOwotKwotKyAgaWYgKHBhcmFtcy5mb3JtYXQoKSAhPSBBdWRpb1BhcmFtZXRl cnM6OkFVRElPX1BDTV9MSU5FQVIgJiYKLSsgICAgICBwYXJhbXMuZm9ybWF0KCkgIT0gQXVkaW9Q YXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1kpIHsKLSsgICAgTE9HKFdBUk5JTkcpIDw8 ICJVbnN1cHBvcnRlZCBhdWRpbyBmb3JtYXQuIjsKLSsgICAgcmV0dXJuIGZhbHNlOwotKyAgfQot KyAgc2lvX2luaXRwYXIoJnBhcik7Ci0rICBwYXIucmF0ZSA9IHBhcmFtcy5zYW1wbGVfcmF0ZSgp OwotKyAgcGFyLnBjaGFuID0gcGFyYW1zLmNoYW5uZWxzKCk7Ci0rICBwYXIuYml0cyA9IFNhbXBs ZUZvcm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCk7Ci0rICBwYXIuYnBzID0gcGFy LmJpdHMgLyA4OwotKyAgcGFyLnNpZyA9IHNpZyA9IHBhci5iaXRzICE9IDggPyAxIDogMDsKLSsg IHBhci5sZSA9IFNJT19MRV9OQVRJVkU7Ci0rICBwYXIuYXBwYnVmc3ogPSBwYXJhbXMuZnJhbWVz X3Blcl9idWZmZXIoKTsKLSsKLSsgIGhkbCA9IHNpb19vcGVuKFNJT19ERVZBTlksIFNJT19QTEFZ LCAwKTsKLSsgIGlmIChoZGwgPT0gTlVMTCkgewotKyAgICBMT0coRVJST1IpIDw8ICJDb3VsZG4n dCBvcGVuIGF1ZGlvIGRldmljZS4iOwotKyAgICByZXR1cm4gZmFsc2U7Ci0rICB9Ci0rICBpZiAo IXNpb19zZXRwYXIoaGRsLCAmcGFyKSB8fCAhc2lvX2dldHBhcihoZGwsICZwYXIpKSB7Ci0rICAg IExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHNldCBhdWRpbyBwYXJhbWV0ZXJzLiI7Ci0rICAgIGdv dG8gYmFkX2Nsb3NlOwotKyAgfQotKyAgaWYgKHBhci5yYXRlICAhPSAodW5zaWduZWQgaW50KXBh cmFtcy5zYW1wbGVfcmF0ZSgpIHx8Ci0rICAgICAgcGFyLnBjaGFuICE9ICh1bnNpZ25lZCBpbnQp cGFyYW1zLmNoYW5uZWxzKCkgfHwKLSsgICAgICBwYXIuYml0cyAgIT0gKHVuc2lnbmVkIGludClT YW1wbGVGb3JtYXRUb0JpdHNQZXJDaGFubmVsKGtTYW1wbGVGb3JtYXQpIHx8Ci0rICAgICAgcGFy LnNpZyAgICE9ICh1bnNpZ25lZCBpbnQpc2lnIHx8Ci0rICAgICAgKHBhci5icHMgPiAxICYmIHBh ci5sZSAhPSBTSU9fTEVfTkFUSVZFKSB8fAotKyAgICAgIChwYXIuYml0cyAhPSBwYXIuYnBzICog OCkpIHsKLSsgICAgTE9HKEVSUk9SKSA8PCAiVW5zdXBwb3J0ZWQgYXVkaW8gcGFyYW1ldGVycy4i OwotKyAgICBnb3RvIGJhZF9jbG9zZTsKLSsgIH0KLSsgIHN0YXRlID0ga1N0b3BwZWQ7Ci0rICB2 b2xwZW5kaW5nID0gMDsKLSsgIHZvbCA9IDA7Ci0rICBidWZmZXIgPSBuZXcgY2hhclthdWRpb19i dXMtPmZyYW1lcygpICogcGFyYW1zLkdldEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCldOwot KyAgc2lvX29ubW92ZShoZGwsICZPbk1vdmVDYWxsYmFjaywgdGhpcyk7Ci0rICBzaW9fb252b2wo aGRsLCAmT25Wb2xDYWxsYmFjaywgdGhpcyk7Ci0rICByZXR1cm4gdHJ1ZTsKLSsgYmFkX2Nsb3Nl OgotKyAgc2lvX2Nsb3NlKGhkbCk7Ci0rICByZXR1cm4gZmFsc2U7Ci0rfQotKwotK3ZvaWQgU25k aW9BdWRpb091dHB1dFN0cmVhbTo6Q2xvc2UoKSB7Ci0rICBpZiAoc3RhdGUgPT0ga0Nsb3NlZCkK LSsgICAgcmV0dXJuOwotKyAgaWYgKHN0YXRlID09IGtSdW5uaW5nKQotKyAgICBTdG9wKCk7Ci0r ICBzdGF0ZSA9IGtDbG9zZWQ7Ci0rICBkZWxldGUgW10gYnVmZmVyOwotKyAgc2lvX2Nsb3NlKGhk bCk7Ci0rICBtYW5hZ2VyLT5SZWxlYXNlT3V0cHV0U3RyZWFtKHRoaXMpOyAgLy8gQ2FsbHMgdGhl IGRlc3RydWN0b3IKLSt9Ci0rCi0rdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpTdGFydChB dWRpb1NvdXJjZUNhbGxiYWNrKiBjYWxsYmFjaykgewotKyAgc3RhdGUgPSBrUnVubmluZzsKLSsg IGh3X2RlbGF5ID0gMDsKLSsgIHNvdXJjZSA9IGNhbGxiYWNrOwotKyAgc2lvX3N0YXJ0KGhkbCk7 Ci0rICBpZiAocHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwgJlRocmVhZEVudHJ5LCB0aGlz KSAhPSAwKSB7Ci0rICAgIExPRyhFUlJPUikgPDwgIkZhaWxlZCB0byBjcmVhdGUgcmVhbC10aW1l IHRocmVhZC4iOwotKyAgICBzaW9fc3RvcChoZGwpOwotKyAgICBzdGF0ZSA9IGtTdG9wcGVkOwot KyAgfQotK30KLSsKLSt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlN0b3AoKSB7Ci0rICBp ZiAoc3RhdGUgPT0ga1N0b3BwZWQpCi0rICAgIHJldHVybjsKLSsgIHN0YXRlID0ga1N0b3BXYWl0 OwotKyAgcHRocmVhZF9qb2luKHRocmVhZCwgTlVMTCk7Ci0rICBzaW9fc3RvcChoZGwpOwotKyAg c3RhdGUgPSBrU3RvcHBlZDsKLSt9Ci0rCi0rdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpT ZXRWb2x1bWUoZG91YmxlIHYpIHsKLSsgIHB0aHJlYWRfbXV0ZXhfbG9jaygmbXV0ZXgpOwotKyAg dm9sID0gdiAqIFNJT19NQVhWT0w7Ci0rICB2b2xwZW5kaW5nID0gMTsKLSsgIHB0aHJlYWRfbXV0 ZXhfdW5sb2NrKCZtdXRleCk7Ci0rfQotKwotK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0cmVhbTo6 R2V0Vm9sdW1lKGRvdWJsZSogdikgewotKyAgcHRocmVhZF9tdXRleF9sb2NrKCZtdXRleCk7Ci0r ICAqdiA9IHZvbCAqICgxLiAvIFNJT19NQVhWT0wpOwotKyAgcHRocmVhZF9tdXRleF91bmxvY2so Jm11dGV4KTsKLSt9Ci0rCi0rLy8gVGhpcyBzdHJlYW0gaXMgYWx3YXlzIHVzZWQgd2l0aCBzdWIg c2Vjb25kIGJ1ZmZlciBzaXplcywgd2hlcmUgaXQncwotKy8vIHN1ZmZpY2llbnQgdG8gc2ltcGx5 IGFsd2F5cyBmbHVzaCB1cG9uIFN0YXJ0KCkuCi0rdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFt OjpGbHVzaCgpIHt9Ci0rCi0rdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpUaHJlYWRMb29w KHZvaWQpIHsKLSsgIGludCBhdmFpbCwgY291bnQsIHJlc3VsdDsKLSsKLSsgIHdoaWxlIChzdGF0 ZSA9PSBrUnVubmluZykgewotKyAgICAvLyBVcGRhdGUgdm9sdW1lIGlmIG5lZWRlZAotKyAgICBw dGhyZWFkX211dGV4X2xvY2soJm11dGV4KTsKLSsgICAgaWYgKHZvbHBlbmRpbmcpIHsKLSsgICAg ICB2b2xwZW5kaW5nID0gMDsKLSsgICAgICBzaW9fc2V0dm9sKGhkbCwgdm9sKTsKLSsgICAgfQot KyAgICBwdGhyZWFkX211dGV4X3VubG9jaygmbXV0ZXgpOwotKwotKyAgICAvLyBHZXQgZGF0YSB0 byBwbGF5Ci0rICAgIGNvbnN0IGJhc2U6OlRpbWVEZWx0YSBkZWxheSA9IEF1ZGlvVGltZXN0YW1w SGVscGVyOjpGcmFtZXNUb1RpbWUoaHdfZGVsYXksCi0rCXBhcmFtcy5zYW1wbGVfcmF0ZSgpKTsK LSsgICAgY291bnQgPSBzb3VyY2UtPk9uTW9yZURhdGEoZGVsYXksIGJhc2U6OlRpbWVUaWNrczo6 Tm93KCksIDAsIGF1ZGlvX2J1cy5nZXQoKSk7Ci0rICAgIGF1ZGlvX2J1cy0+VG9JbnRlcmxlYXZl ZDxTaWduZWRJbnQxNlNhbXBsZVR5cGVUcmFpdHM+KGNvdW50LCByZWludGVycHJldF9jYXN0PGlu dDE2X3QqPihidWZmZXIpKTsKLSsgICAgaWYgKGNvdW50ID09IDApIHsKLSsgICAgICAvLyBXZSBo YXZlIHRvIHN1Ym1pdCBzb21ldGhpbmcgdG8gdGhlIGRldmljZQotKyAgICAgIGNvdW50ID0gYXVk aW9fYnVzLT5mcmFtZXMoKTsKLSsgICAgICBtZW1zZXQoYnVmZmVyLCAwLCBjb3VudCAqIHBhcmFt cy5HZXRCeXRlc1BlckZyYW1lKGtTYW1wbGVGb3JtYXQpKTsKLSsgICAgICBMT0coV0FSTklORykg PDwgIk5vIGRhdGEgdG8gcGxheSwgcnVubmluZyBlbXB0eSBjeWNsZS4iOwotKyAgICB9Ci0rCi0r ICAgIC8vIFN1Ym1pdCBkYXRhIHRvIHRoZSBkZXZpY2UKLSsgICAgYXZhaWwgPSBjb3VudCAqIHBh cmFtcy5HZXRCeXRlc1BlckZyYW1lKGtTYW1wbGVGb3JtYXQpOwotKyAgICByZXN1bHQgPSBzaW9f d3JpdGUoaGRsLCBidWZmZXIsIGF2YWlsKTsKLSsgICAgaWYgKHJlc3VsdCA9PSAwKSB7Ci0rICAg ICAgTE9HKFdBUk5JTkcpIDw8ICJBdWRpbyBkZXZpY2UgZGlzY29ubmVjdGVkLiI7Ci0rICAgICAg YnJlYWs7Ci0rICAgIH0KLSsKLSsgICAgLy8gVXBkYXRlIGhhcmR3YXJlIHBvaW50ZXIKLSsgICAg aHdfZGVsYXkgKz0gY291bnQ7Ci0rICB9Ci0rfQotKwotK30gIC8vIG5hbWVzcGFjZSBtZWRpYQot LS0tIC9kZXYvbnVsbAotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL21lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX291dHB1dC5oCi1AQCAtMCwwICsxLDg2IEBACi0r Ly8gQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJl c2VydmVkLgotKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE LXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSsvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl LgotKwotKyNpZm5kZWYgTUVESUFfQVVESU9fU05ESU9fU05ESU9fT1VUUFVUX0hfCi0rI2RlZmlu ZSBNRURJQV9BVURJT19TTkRJT19TTkRJT19PVVRQVVRfSF8KLSsKLSsjaW5jbHVkZSA8cHRocmVh ZC5oPgotKyNpbmNsdWRlIDxzbmRpby5oPgotKwotKyNpbmNsdWRlICJiYXNlL3RpbWUvdGlja19j bG9jay5oIgotKyNpbmNsdWRlICJiYXNlL3RpbWUvdGltZS5oIgotKyNpbmNsdWRlICJtZWRpYS9h dWRpby9hdWRpb19pby5oIgotKwotK25hbWVzcGFjZSBtZWRpYSB7Ci0rCi0rY2xhc3MgQXVkaW9N YW5hZ2VyQmFzZTsKLSsKLSsvLyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRpb091dHB1dFN0cmVhbSB1 c2luZyBzbmRpbyg3KQotK2NsYXNzIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0gOiBwdWJsaWMgQXVk aW9PdXRwdXRTdHJlYW0gewotKyBwdWJsaWM6Ci0rICAvLyBUaGUgbWFuYWdlciBpcyBjcmVhdGlu ZyB0aGlzIG9iamVjdAotKyAgU25kaW9BdWRpb091dHB1dFN0cmVhbShjb25zdCBBdWRpb1BhcmFt ZXRlcnMmIHBhcmFtcywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgQXVkaW9NYW5hZ2VyQmFz ZSogbWFuYWdlcik7Ci0rICB2aXJ0dWFsIH5TbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKCk7Ci0rCi0r ICAvLyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRpb091dHB1dFN0cmVhbS4KLSsgIGJvb2wgT3Blbigp IG92ZXJyaWRlOwotKyAgdm9pZCBDbG9zZSgpIG92ZXJyaWRlOwotKyAgdm9pZCBTdGFydChBdWRp b1NvdXJjZUNhbGxiYWNrKiBjYWxsYmFjaykgb3ZlcnJpZGU7Ci0rICB2b2lkIFN0b3AoKSBvdmVy cmlkZTsKLSsgIHZvaWQgU2V0Vm9sdW1lKGRvdWJsZSB2b2x1bWUpIG92ZXJyaWRlOwotKyAgdm9p ZCBHZXRWb2x1bWUoZG91YmxlKiB2b2x1bWUpIG92ZXJyaWRlOwotKyAgdm9pZCBGbHVzaCgpIG92 ZXJyaWRlOwotKwotKyAgZnJpZW5kIHZvaWQgc25kaW9fb25tb3ZlKHZvaWQgKmFyZywgaW50IGRl bHRhKTsKLSsgIGZyaWVuZCB2b2lkIHNuZGlvX29udm9sKHZvaWQgKmFyZywgdW5zaWduZWQgaW50 IHZvbCk7Ci0rICBmcmllbmQgdm9pZCAqc25kaW9fdGhyZWFkc3RhcnQodm9pZCAqYXJnKTsKLSsK LSsgcHJpdmF0ZToKLSsgIGVudW0gU3RyZWFtU3RhdGUgewotKyAgICBrQ2xvc2VkLCAgICAgICAg ICAgIC8vIE5vdCBvcGVuZWQgeWV0Ci0rICAgIGtTdG9wcGVkLCAgICAgICAgICAgLy8gRGV2aWNl IG9wZW5lZCwgYnV0IG5vdCBzdGFydGVkIHlldAotKyAgICBrUnVubmluZywgICAgICAgICAgIC8v IFN0YXJ0ZWQsIGRldmljZSBwbGF5aW5nCi0rICAgIGtTdG9wV2FpdCAgICAgICAgICAgLy8gU3Rv cHBpbmcsIHdhaXRpbmcgZm9yIHRoZSByZWFsLXRpbWUgdGhyZWFkIHRvIGV4aXQKLSsgIH07Ci0r Ci0rICAvLyBDLXN0eWxlIGNhbGwtYmFja3MKLSsgIHN0YXRpYyB2b2lkIE9uTW92ZUNhbGxiYWNr KHZvaWQgKmFyZywgaW50IGRlbHRhKTsKLSsgIHN0YXRpYyB2b2lkIE9uVm9sQ2FsbGJhY2sodm9p ZCAqYXJnLCB1bnNpZ25lZCBpbnQgdm9sKTsKLSsgIHN0YXRpYyB2b2lkKiBUaHJlYWRFbnRyeSh2 b2lkICphcmcpOwotKwotKyAgLy8gQ29udGludW91c2x5IG1vdmVzIGRhdGEgZnJvbSB0aGUgcHJv ZHVjZXIgdG8gdGhlIGRldmljZQotKyAgdm9pZCBUaHJlYWRMb29wKHZvaWQpOwotKwotKyAgLy8g T3VyIGNyZWF0b3IsIHRoZSBhdWRpbyBtYW5hZ2VyIG5lZWRzIHRvIGJlIG5vdGlmaWVkIHdoZW4g d2UgY2xvc2UuCi0rICBBdWRpb01hbmFnZXJCYXNlKiBtYW5hZ2VyOwotKyAgLy8gUGFyYW1ldGVy cyBvZiB0aGUgc291cmNlCi0rICBBdWRpb1BhcmFtZXRlcnMgcGFyYW1zOwotKyAgLy8gU291cmNl IHN0b3JlcyBkYXRhIGhlcmUKLSsgIHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0J1cz4gYXVkaW9fYnVz OwotKyAgLy8gQ2FsbC1iYWNrIHRoYXQgcHJvZHVjZXMgZGF0YSB0byBwbGF5Ci0rICBBdWRpb1Nv dXJjZUNhbGxiYWNrKiBzb3VyY2U7Ci0rICAvLyBIYW5kbGUgb2YgdGhlIGF1ZGlvIGRldmljZQot KyAgc3RydWN0IHNpb19oZGwqIGhkbDsKLSsgIC8vIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHN0cmVh bQotKyAgZW51bSBTdHJlYW1TdGF0ZSBzdGF0ZTsKLSsgIC8vIEhpZ2ggcHJpb3JpdHkgdGhyZWFk IHJ1bm5pbmcgVGhyZWFkTG9vcCgpCi0rICBwdGhyZWFkX3QgdGhyZWFkOwotKyAgLy8gUHJvdGVj dHMgdm9sLCB2b2xwZW5kaW5nIGFuZCBod19kZWxheQotKyAgcHRocmVhZF9tdXRleF90IG11dGV4 OwotKyAgLy8gQ3VycmVudCB2b2x1bWUgaW4gdGhlIDAuLlNJT19NQVhWT0wgcmFuZ2UKLSsgIGlu dCB2b2w7Ci0rICAvLyBTZXQgdG8gMSBpZiB2b2x1bWVzIG11c3QgYmUgcmVmcmVzaGVkIGluIHRo ZSByZWFsdGltZSB0aHJlYWQKLSsgIGludCB2b2xwZW5kaW5nOwotKyAgLy8gTnVtYmVyIG9mIGZy YW1lcyBidWZmZXJlZCBpbiB0aGUgaGFyZHdhcmUKLSsgIGludCBod19kZWxheTsKLSsgIC8vIFRl bXBvcmFyeSBidWZmZXIgd2hlcmUgZGF0YSBpcyBzdG9yZWQgc25kaW8tY29tcGF0aWJsZSBmb3Jt YXQKLSsgIGNoYXIqIGJ1ZmZlcjsKLSsKLSsgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihTbmRp b0F1ZGlvT3V0cHV0U3RyZWFtKTsKLSt9OwotKwotK30gIC8vIG5hbWVzcGFjZSBtZWRpYQotKwot KyNlbmRpZiAgLy8gTUVESUFfQVVESU9fU05ESU9fU05ESU9fT1VUUFVUX0hfCi0tLS0gcXQ2LXdl YmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9tZWRpYV9vcHRp b25zLmduaQotKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21l ZGlhL21lZGlhX29wdGlvbnMuZ25pCi1AQCAtMTMzLDYgKzEzMyw5IEBAIGRlY2xhcmVfYXJncygp IHsKLSAgICMgRW5hYmxlcyBydW50aW1lIHNlbGVjdGlvbiBvZiBBTFNBIGxpYnJhcnkgZm9yIGF1 ZGlvLgotICAgdXNlX2Fsc2EgPSBmYWxzZQotIAotKyAgIyBFbmFibGUgcnVudGltZSBzZWxlY3Rp b24gb2Ygc25kaW8oNykKLSsgIHVzZV9zbmRpbyA9IGZhbHNlCi0rCi0gICAjIEFsc2Egc2hvdWxk IGJlIHVzZWQgb24gbm9uLUFuZHJvaWQsIG5vbi1NYWMgUE9TSVggc3lzdGVtcy4KLSAgICMgQWxz YSBzaG91bGQgYmUgdXNlZCBvbiBkZXNrdG9wIENocm9tZWNhc3QgYW5kIGF1ZGlvLW9ubHkgQ2hy b21lY2FzdCBidWlsZHMuCi0gICBpZiAoaXNfcG9zaXggJiYgIWlzX2FuZHJvaWQgJiYgIWlzX21h YyAmJgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMwMC1jaHJv bWl1bS1tdXNsLWhhY2tzLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMw MC1jaHJvbWl1bS1tdXNsLWhhY2tzLnBhdGNoCmluZGV4IDUyNWFlYjhhNjNkMi4uZTBiOTFhMDlh ODRmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAwLWNocm9t aXVtLW11c2wtaGFja3MucGF0Y2gKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDMwMC1jaHJvbWl1bS1tdXNsLWhhY2tzLnBhdGNoCkBAIC0zNiwxNyArMzYsMyBAQAogICAgcy5P dXRwdXRUb1N0cmVhbSgmb3MpOwogICNlbHNlCiAgICBvcyA8PCAiU3RhY2tUcmFjZTo6T3V0cHV0 VG9TdHJlYW0gbm90IGltcGxlbWVudGVkLiI7Ci0tLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmln L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvc29ja2V0L3VkcF9zb2NrZXRfcG9zaXguY2MKLSsr KyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvc29ja2V0L3Vk cF9zb2NrZXRfcG9zaXguY2MKLUBAIC0xMTU3LDcgKzExNTcsMTEgQEAgU2VuZFJlc3VsdCBVRFBT b2NrZXRQb3NpeFNlbmRlcjo6SW50ZXJuYQotICAgICBtc2dfaW92LT5wdXNoX2JhY2soe2NvbnN0 X2Nhc3Q8Y2hhcio+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5sZW5ndGgoKX0pOwotICAgbXNn dmVjLT5yZXNlcnZlKGJ1ZmZlcnMuc2l6ZSgpKTsKLSAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwg YnVmZmVycy5zaXplKCk7IGorKykKLSsjaWZkZWYgX19HTElCQ19fCi0gICAgIG1zZ3ZlYy0+cHVz aF9iYWNrKHt7bnVsbHB0ciwgMCwgJm1zZ19pb3Zbal0sIDEsIG51bGxwdHIsIDAsIDB9LCAwfSk7 Ci0rI2Vsc2UKLSsgICAgbXNndmVjLT5wdXNoX2JhY2soe3tudWxscHRyLCAwLCAmbXNnX2lvdltq XSwgMSwgMCwgMCwgMH0sIDB9KTsKLSsjZW5kaWYKLSAgIGludCByZXN1bHQgPSBIQU5ETEVfRUlO VFIoU2VuZG1tc2coZmQsICZtc2d2ZWNbMF0sIGJ1ZmZlcnMuc2l6ZSgpLCAwKSk7Ci0gICBTZW5k UmVzdWx0IHNlbmRfcmVzdWx0KDAsIDAsIHN0ZDo6bW92ZShidWZmZXJzKSk7Ci0gICBpZiAocmVz dWx0IDwgMCkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMw MS1jaHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMzAxLWNocm9taXVtLW11c2wtc2FuZGJveC5wYXRjaAppbmRleCA0YWZiZWM1Yjk4ZWYu LjQ2YjkxN2EzMTc0ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDMwMS1jaHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2gKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDMwMS1jaHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2gKQEAgLTY3LDIwICs2 NywzIEBACiAgICAgIGNhc2UgX19OUl9tc3luYzoKICAgICAgY2FzZSBfX05SX211bmxvY2thbGw6 CiAgICAgIGNhc2UgX19OUl9yZWFkYWhlYWQ6Ci0tLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmln L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJf cG9saWN5X2xpbnV4LmNjCi0rKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hy b21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYwot QEAgLTk5LDkgKzk5LDE0IEBAIFJlc3VsdEV4cHIgUmVuZGVyZXJQcm9jZXNzUG9saWN5OjpFdmFs dWEKLSAgICAgY2FzZSBfX05SX3VuYW1lOgotICAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0cGFyYW06 Ci0gICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6Ci0rI2lmbmRlZiBfX0dMSUJDX18K LSsgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlcjoKLSsjZW5kaWYKLSAgICAgICByZXR1 cm4gQWxsb3coKTsKLSAgICAgY2FzZSBfX05SX3NjaGVkX2dldGFmZmluaXR5OgotKyNpZmRlZiBf X0dMSUJDX18KLSAgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlcjoKLSsjZW5kaWYKLSAg ICAgICByZXR1cm4gUmVzdHJpY3RTY2hlZFRhcmdldChHZXRQb2xpY3lQaWQoKSwgc3lzbm8pOwot ICAgICBjYXNlIF9fTlJfcHJsaW1pdDY0OgotICAgICAgIC8vIFNlZSBjcmJ1Zy5jb20vNjYyNDUw IGFuZCBzZXRybGltaXQgY29tbWVudCBhYm92ZS4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAzMDItY2hyb21pdW0tbm8tbWFsbGluZm8ucGF0Y2ggYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAyLWNocm9taXVtLW5vLW1hbGxpbmZvLnBhdGNoCmlu ZGV4IDUxOTkzMGU3YmVmMC4uMTNiOWMyYzMxNjRmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMzAyLWNocm9taXVtLW5vLW1hbGxpbmZvLnBhdGNoCisrKyBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAzMDItY2hyb21pdW0tbm8tbWFsbGluZm8ucGF0 Y2gKQEAgLTM1LDE3ICszNSwyMyBAQAogICNlbmRpZgogLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIu b3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9w cm92aWRlci5jYwogKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2Jhc2UvdHJhY2VfZXZlbnQvbWFsbG9jX2R1bXBfcHJvdmlkZXIuY2MKLUBAIC0xNzQsNyArMTc0 LDggQEAgdm9pZCBSZXBvcnRBcHBsZUFsbG9jU3RhdHMoc2l6ZV90KiB0b3RhbAorQEAgLTE4NSw3 ICsxODUsNiBAQAorICNkZWZpbmUgTUFMTElORk8yX0ZPVU5EX0lOX0xJQkMKKyAgIHN0cnVjdCBt YWxsaW5mbzIgaW5mbyA9IG1hbGxpbmZvMigpOworICNlbmRpZgorLSNlbmRpZiAgLy8gZGVmaW5l ZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCisgI2lmICFkZWZpbmVkKE1B TExJTkZPMl9GT1VORF9JTl9MSUJDKQorICAgc3RydWN0IG1hbGxpbmZvIGluZm8gPSBtYWxsaW5m bygpOworICNlbmRpZgorQEAgLTIwNSw2ICsyMDQsNyBAQAorICAgICBzeXNfYWxsb2NfZHVtcC0+ QWRkU2NhbGFyKE1lbW9yeUFsbG9jYXRvckR1bXA6OmtOYW1lU2l6ZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBNZW1vcnlBbGxvY2F0b3JEdW1wOjprVW5pdHNCeXRlcywgaW5mby51 b3JkYmxrcyk7CisgICB9CisrI2VuZGlmICAvLyBkZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5l ZChfX0dMSUJDX1BSRVJFUSkKKyB9CisgI2VuZGlmCiAgCi0gI2lmIChCVUlMREZMQUcoVVNFX1BB UlRJVElPTl9BTExPQ19BU19NQUxMT0MpICYmIEJVSUxERkxBRyhJU19BTkRST0lEKSkgfHwgXAot ICAgICAoIUJVSUxERkxBRyhVU0VfUEFSVElUSU9OX0FMTE9DX0FTX01BTExPQykgJiYgIUJVSUxE RkxBRyhJU19XSU4pICYmICAgIFwKLS0gICAgICFCVUlMREZMQUcoSVNfQVBQTEUpICYmICFCVUlM REZMQUcoSVNfV0lOKSAmJiAhQlVJTERGTEFHKElTX0ZVQ0hTSUEpKQotKyAgICAgIUJVSUxERkxB RyhJU19BUFBMRSkgJiYgIUJVSUxERkxBRyhJU19XSU4pICYmICFCVUlMREZMQUcoSVNfRlVDSFNJ QSkgJiYgXAotKyAgICAgIShCVUlMREZMQUcoSVNfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNf XykpKQotIHZvaWQgUmVwb3J0TWFsbGluZm9TdGF0cyhQcm9jZXNzTWVtb3J5RHVtcCogcG1kLAot ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QqIHRvdGFsX3ZpcnR1YWxfc2l6ZSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90KiByZXNpZGVudF9zaXplLAotQEAgLTMzOSw3 ICszNDAsNyBAQCBib29sIE1hbGxvY0R1bXBQcm92aWRlcjo6T25NZW1vcnlEdW1wKGNvCitAQCAt MzM5LDcgKzM0MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgJmFsbG9jYXRlZF9vYmplY3Rz X2NvdW50KTsKICAjZWxpZiBCVUlMREZMQUcoSVNfRlVDSFNJQSkKICAvLyBUT0RPKGZ1Y2hzaWEp OiBQb3J0LCBzZWUgaHR0cHM6Ly9jcmJ1Zy5jb20vNzA2NTkyLgpAQCAtNTQsMTQgKzYwLDMgQEAK ICAgIFJlcG9ydE1hbGxpbmZvU3RhdHMoLypwbWQ9Ki9udWxscHRyLCAmdG90YWxfdmlydHVhbF9z aXplLCAmcmVzaWRlbnRfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgJmFsbG9jYXRlZF9v YmplY3RzX3NpemUsICZhbGxvY2F0ZWRfb2JqZWN0c19jb3VudCk7CiAgI2VuZGlmCi0tLS0gcXQ2 LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS90 ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8uY2MKLSsrKyBx dDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS90Zmxp dGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8uY2MKLUBAIC0zNSw3 ICszNSw3IEBAIGJvb2wgTWVtb3J5VXNhZ2U6OklzU3VwcG9ydGVkKCkgewotIAotIE1lbW9yeVVz YWdlIEdldE1lbW9yeVVzYWdlKCkgewotICAgTWVtb3J5VXNhZ2UgcmVzdWx0OwotLSNpZmRlZiBf X2xpbnV4X18KLSsjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19HTElCQ19fKQot ICAgcnVzYWdlIHJlczsKLSAgIGlmIChnZXRydXNhZ2UoUlVTQUdFX1NFTEYsICZyZXMpID09IDAp IHsKLSAgICAgcmVzdWx0Lm1heF9yc3Nfa2IgPSByZXMucnVfbWF4cnNzOwpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Rl bXBsYXRlCmluZGV4IDk2ODQ2ZmVhZWU4My4uNGUyMmNiNmU4ODYzIDEwMDY0NAotLS0gYS9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Rl bXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXdlYmVuZ2lu ZScKIHBrZ25hbWU9cXQ2LXdlYmVuZ2luZQotdmVyc2lvbj02LjQuMgotcmV2aXNpb249MgordmVy c2lvbj02LjUuMAorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdz PSIKICAtRFFUX0ZFQVRVUkVfd2ViZW5naW5lX3N5c3RlbV9mZm1wZWc9T04KQEAgLTMyLDcgKzMy LDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQ TC0zLjAtb25seSwgR1BMLTIuMC1vbmx5LCBMR1BMLTMuMC1vbmx5LCBCU0QtMy1DbGF1c2UiCiBo b21lcGFnZT0iaHR0cHM6Ly93d3cucXQuaW8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZG93bmxvYWQu cXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1v ZHVsZXMvcXR3ZWJlbmdpbmUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVj a3N1bT1mZmE5NDU1MThkMWNjOGQ5ZWU3MzUyM2U4ZDljMjA5MDg0NGY1YTJkOWM3ZWFjMDVjNGFk MDc5NDcyYTExOWM5CitjaGVja3N1bT0yYTEwZGEzNGE3MWIzMDdlOWZmMTFlYzA4NjQ1NWRkMjBi ODNkNWIwZWU2YmRhNDk5YzRiYTkyMjFlMzA2ZjA3CiAKIGlmIFsgIiRYQlBTX0xJQkMiID0gIm11 c2wiIF07IHRoZW4KIAlob3N0bWFrZWRlcGVuZHMrPSIgbXVzbC1sZWdhY3ktY29tcGF0IgpAQCAt MTY0LDcgKzE2NCw3IEBAIHF0Ni13ZWJlbmdpbmUtZGV2ZWxfcGFja2FnZSgpIHsKIAkJdm1vdmUg dXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNy L2xpYi8qLnBybCIKLQkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJCXZtb3ZlIHVzci9s aWIvcXQ2L21vZHVsZXMKIAl9CiB9CiAKCkZyb20gMWM2MzZmNDYxMWI3Njg1NjdmMDQ5YmNhYjIw YmNjNDE4ODVkZjdkNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9o bm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MzYgKzAyMDAKU3ViamVj dDogW1BBVENIIDAzLzM5XSBxdDYtd2ViY2hhbm5lbDogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBz cmNwa2dzL3F0Ni13ZWJjaGFubmVsL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaCB8IDcgLS0t LS0tLQogc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAg fCA4ICsrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRp b25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViY2hhbm5lbC9wYXRjaGVz L25vLWNtYWtlLXRlc3QucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJjaGFubmVs L3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvcGF0 Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj MDIwMjg3NzJhMmQuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3Bh dGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAot LS0tIGEvdGVzdHMvYXV0by9DTWFrZUxpc3RzLnR4dAotKysrIGIvdGVzdHMvYXV0by9DTWFrZUxp c3RzLnR4dAotQEAgLTEsNCArMSwzIEBACi0tYWRkX3N1YmRpcmVjdG9yeShjbWFrZSkKLSBhZGRf c3ViZGlyZWN0b3J5KHdlYmNoYW5uZWwpCi0gaWYoVEFSR0VUIFF0OjpRdWljaykKLSAgICAgYWRk X3N1YmRpcmVjdG9yeShxbWwpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3Rl bXBsYXRlIGIvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZQppbmRleCA4ZjRiNThjYWIy NDAuLjljM2RlZjM4NWE3YiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXdlYmNoYW5uZWwnCiBwa2duYW1lPXF0Ni13ZWJj aGFubmVsCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9z dHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlIHF0Ni1kZWNsYXJhdGl2 ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hu bnluYXRvci5kZXY+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9S IEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4w IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQu cXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1v ZHVsZXMvcXR3ZWJjaGFubmVsLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hl Y2tzdW09MDY2NTdiMmIyNTA5ZjI2YzczM2I3YzQwZGEwZGJiODU3MWEyMTViOTdmOTk2ODVhNmZj M2JjNTFkY2JlYmQ4NworY2hlY2tzdW09ZDk1NTNkNjQ2ZGYzNjgxYjhlMDljNzYwOWJmN2VkYTBj ZGU2OWI1NjJmMTgwZmE1MDQ1MWE5ODdlZDAwZjFiZgogCiBwcmVfY2hlY2soKSB7CiAJZXhwb3J0 IFFNTDJfSU1QT1JUX1BBVEg9IiR3cmtzcmMvYnVpbGQvbGliL3F0Ni9xbWwiCkBAIC0yNywxMyAr MjcsMTMgQEAgcXQ2LXdlYmNoYW5uZWwtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgp IHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQotCQl2bW92ZSB1 c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tZXRhdHlwZXMKIAkJdm1vdmUg dXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSB1 c3IvbGliL3F0Ni9xbWwvUXRXZWJDaGFubmVsL3BsdWdpbnMucW1sdHlwZXMKIAkJdm1vdmUgdXNy L2xpYi9xdDYvcW1sL1F0V2ViQ2hhbm5lbC9xbWxkaXIKIAkJdm1vdmUgInVzci9saWIvKi5zbyIK IAkJdm1vdmUgInVzci9saWIvKi5wcmwiCi0JCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwor CQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA4OGEzYjI3ODNjZGI5YTE5 Yzk4YjUyMWFlNTlhMmUxMDc4ZWE5M2FjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBK b2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNjozNSAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMzldIHF0Ni13YXlsYW5kOiB1cGRhdGUgdG8gNi41LjAu CgotLS0KIHNyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRl CmluZGV4IDNiNDVmOThiYzdjZS4uZGEwYzMxYjRhY2Q1IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0 Ni13YXlsYW5kL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUKQEAg LTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtd2F5bGFuZCcKIHBrZ25hbWU9 cXQ2LXdheWxhbmQKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1 aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlIHBlcmwgcGtnLWNvbmZp ZyB3YXlsYW5kLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTQsNyArMTQs NyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BM LTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQTC0y LjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cucXQuaW8iCiBkaXN0ZmlsZXM9Imh0 dHBzOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8k e3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR3YXlsYW5kLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0u dGFyLnh6IgotY2hlY2tzdW09MjRjZjFhMGFmNzUxYWIxNjM3YjQ4MTVkNWM1ZjM3MDQ0ODNkNWZh N2JlZGJkMzUxOWU2ZmMwMjBkOGJlMTM1ZgorY2hlY2tzdW09Y2NjNTdmYTI3N2ZjNWYxYzFjMmM0 NzMzZWFlODBhNjA5OTZiNjdhMDY3MjMzYzQ3ODA5ZTU0MmFhMzE3NTlhMwogCiBzdWJwYWNrYWdl cz0icXQ2LXdheWxhbmQtdG9vbHMgcXQ2LXdheWxhbmQtZGV2ZWwiCiAKQEAgLTQzLDExICs0Mywx MSBAQCBxdDYtd2F5bGFuZC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2 bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIv bWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGli L3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGli Lyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21v ZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gYjVjZTQwYWM3 Y2Y0MDliNGI2NDBmNTIzMmJjMzIzOGFmNTBlZWY5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6 MzY6MzQgKzAyMDAKU3ViamVjdDogW1BBVENIIDA1LzM5XSBxdDYtdmlydHVhbGtleWJvYXJkOiB1 cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXZpcnR1YWxrZXlib2FyZC90ZW1wbGF0 ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtdmlydHVhbGtleWJvYXJkL3RlbXBsYXRl IGIvc3JjcGtncy9xdDYtdmlydHVhbGtleWJvYXJkL3RlbXBsYXRlCmluZGV4IDNkZTYyMzhjNDEx Zi4uY2Y3YjZmMmVjODMwIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9hcmQv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtdmlydHVhbGtleWJvYXJkL3RlbXBsYXRlCkBAIC0x LDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXZpcnR1YWxrZXlib2FyZCcKIHBr Z25hbWU9cXQ2LXZpcnR1YWxrZXlib2FyZAotdmVyc2lvbj02LjQuMgordmVyc2lvbj02LjUuMAog cmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBwa2ct Y29uZmlnIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBtYWlu dGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5 IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQu cXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1v ZHVsZXMvcXR2aXJ0dWFsa2V5Ym9hcmQtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT05YzNjODMwZjZlMTc4OTZlZmFjYTVmZGM3YzE5MTA4OGVlZGQ3MGIwNzQ5MGIz ODgzNTg1NjU3OTM0NmE0ZjI4CitjaGVja3N1bT03YjQ1ZGU3ODI0MDgxN2U5ZjRiNTdhZjgyMWU0 NzgxNjU1NDYzYTRmNWYzOTZiYmM1ZGYwNTgwYTdkMmEwZmE3CiAKIGlmIFsgIiRYQlBTX0NIRUNL X1BLR1MiIF07IHRoZW4KIAljb25maWd1cmVfYXJncz0iLURRVF9CVUlMRF9URVNUUz1PTiIKQEAg LTM0LDExICszNCwxMSBAQCBxdDYtdmlydHVhbGtleWJvYXJkLWRldmVsX3BhY2thZ2UoKSB7CiAJ cGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21h a2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5 cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3Bl Y3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCi0JCXZt b3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJ fQogfQoKRnJvbSAyNjk2N2UyODVhN2IzZTA0ZGMwNTlmMzdjNmM4NDMwMTgxZGY0YTJiIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6 IE1vbiwgMyBBcHIgMjAyMyAxOTozNjozMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDYvMzldIHF0 Ni10cmFuc2xhdGlvbnM6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtdHJhbnNs YXRpb25zL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZQppbmRleCA1NjY5YWI1 NmRjMjAuLjg2NmY1MDRmM2I5ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25z L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZQpAQCAtMSw2 ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni10cmFuc2xhdGlvbnMnCiBwa2duYW1l PXF0Ni10cmFuc2xhdGlvbnMKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9u PTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlIHF0Ni10b29s cyBwZXJsIgpAQCAtMTAsNCArMTAsNCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRv ci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAi CiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5x dC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9k dWxlcy9xdHRyYW5zbGF0aW9ucy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNo ZWNrc3VtPWJiZTAyOTE1MDJjMjYwNGI3MmZlZjczMGUxOTM1YmQyMmY4YjkyMWQ4YzQ3MzI1MGYy OThhNzIzYjJhOWM0OTYKK2NoZWNrc3VtPWZjODVkMGZkODM5M2Y1MTg2NTNjY2FkYTEwMTQxNzdh NTZkZjZlNzNmMzBmM2I2NGVlYTBjMmU0YTAwNjdhM2QKCkZyb20gNjlmODM3MDUyNDVjZjk0ZDdi MzRjNTliNjE3M2VmNTA4MDVjYzdhMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9o biA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MzEgKzAy MDAKU3ViamVjdDogW1BBVENIIDA3LzM5XSBxdDYtdG9vbHM6IHVwZGF0ZSB0byA2LjUuMC4KCi0t LQogc3JjcGtncy9xdDYtdG9vbHMvcGF0Y2hlcy9waWUucGF0Y2ggfCAzMCArKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUgICAgICAgICAgfCAx NiArKysrKysrLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgOCBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni10b29scy9wYXRjaGVz L3BpZS5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXRvb2xzL3BhdGNoZXMvcGllLnBh dGNoIGIvc3JjcGtncy9xdDYtdG9vbHMvcGF0Y2hlcy9waWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5mN2ExMzM3MTBjOWIKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3F0Ni10b29scy9wYXRjaGVzL3BpZS5wYXRjaApAQCAtMCwwICsxLDMwIEBACist LS0gYS9zcmMvbGluZ3Vpc3QvbHVwZGF0ZS9DTWFrZUxpc3RzLnR4dAkyMDIzLTAzLTI4IDE2OjIz OjEyLjAwMDAwMDAwMCArMDIwMAorKysrIC0JMjAyMy0wNC0wMyAyMDo1NjoyMy45MTk4MDE3NzAg KzAyMDAKK0BAIC05NSwxMSArOTUsMTEgQEAKKyAgICAgICAgIFdyYXBMaWJDbGFuZzo6V3JhcExp YkNsYW5nCisgKQorIAorLWlmKFFUX0ZFQVRVUkVfY2xhbmdjcHApCistICAgICMgSWYgbGliY2xh bmdUb29saW5nLmEgaXMgbm90IGJ1aWx0IHdpdGggLWZQSUUgZW5hYmxlZCB3ZSBjYW5ub3QgbGlu ayBpdCB0byBsdXBkYXRlLgorLSAgICAjIFRPRE86IFJlLWVuYWJsZSBQSUUgb25jZSBjbGFuZyBp cyBidWlsdCB3aXRoIFBJRSBpbiBwcm92aXNpb25pbmcuCistICAgIHNldF90YXJnZXRfcHJvcGVy dGllcygke3RhcmdldF9uYW1lfSBQUk9QRVJUSUVTIFBPU0lUSU9OX0lOREVQRU5ERU5UX0NPREUg RkFMU0UpCistZW5kaWYoKQorKyNpZihRVF9GRUFUVVJFX2NsYW5nY3BwKQorKyMgICAgIyBJZiBs aWJjbGFuZ1Rvb2xpbmcuYSBpcyBub3QgYnVpbHQgd2l0aCAtZlBJRSBlbmFibGVkIHdlIGNhbm5v dCBsaW5rIGl0IHRvIGx1cGRhdGUuCisrIyAgICAjIFRPRE86IFJlLWVuYWJsZSBQSUUgb25jZSBj bGFuZyBpcyBidWlsdCB3aXRoIFBJRSBpbiBwcm92aXNpb25pbmcuCisrIyAgICBzZXRfdGFyZ2V0 X3Byb3BlcnRpZXMoJHt0YXJnZXRfbmFtZX0gUFJPUEVSVElFUyBQT1NJVElPTl9JTkRFUEVOREVO VF9DT0RFIEZBTFNFKQorKyNlbmRpZigpCisgCisgcXRfaW50ZXJuYWxfZXh0ZW5kX3RhcmdldCgk e3RhcmdldF9uYW1lfSBDT05ESVRJT04gTVNWQworICAgICBERUZJTkVTIF9TSUxFTkNFX0NYWDE3 X0lURVJBVE9SX0JBU0VfQ0xBU1NfREVQUkVDQVRJT05fV0FSTklORykKKy0tLSBhL3NyYy9xZG9j L0NNYWtlTGlzdHMudHh0CTIwMjMtMDMtMjggMTY6MjM6MTIuMDAwMDAwMDAwICswMjAwCisrKysg LQkyMDIzLTA0LTAzIDIwOjU2OjUzLjE0ODEzMTQ1NyArMDIwMAorQEAgLTk4LDcgKzk4LDcgQEAK KyAKKyAjIElmIGxpYmNsYW5nVG9vbGluZy5hIGlzIG5vdCBidWlsdCB3aXRoIC1mUElFIGVuYWJs ZWQgd2UgY2Fubm90IGxpbmsgaXQgdG8gcWRvYy4KKyAjIFRPRE86IFJlLWVuYWJsZSBQSUUgb25j ZSBjbGFuZyBpcyBidWlsdCB3aXRoIFBJRSBpbiBwcm92aXNpb25pbmcuCistc2V0X3RhcmdldF9w cm9wZXJ0aWVzKCR7dGFyZ2V0X25hbWV9IFBST1BFUlRJRVMgUE9TSVRJT05fSU5ERVBFTkRFTlRf Q09ERSBGQUxTRSkKKysjc2V0X3RhcmdldF9wcm9wZXJ0aWVzKCR7dGFyZ2V0X25hbWV9IFBST1BF UlRJRVMgUE9TSVRJT05fSU5ERVBFTkRFTlRfQ09ERSBGQUxTRSkKKyAKKyBxdF9pbnRlcm5hbF9l eHRlbmRfdGFyZ2V0KCR7dGFyZ2V0X25hbWV9IENPTkRJVElPTiBUQVJHRVQgUXQ6OlFtbFByaXZh dGUKKyAgICAgTElCUkFSSUVTCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni10b29scy90ZW1wbGF0 ZSBiL3NyY3BrZ3MvcXQ2LXRvb2xzL3RlbXBsYXRlCmluZGV4IGQ1YWQxNjE4ZTNhNy4uMmQxM2U4 OTc0NDA5IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni10b29scy90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3F0Ni10b29scy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3F0Ni10b29scycKIHBrZ25hbWU9cXQ2LXRvb2xzCi12ZXJzaW9uPTYuNC4yCi1yZXZpc2lv bj0yCit2ZXJzaW9uPTYuNS4wCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmln dXJlX2FyZ3M9Ii1ERVhURVJOQUxfR1VNQk89T04gLURMSVRFSFRNTF9VVEY4PU9OIC1EVVNFX0lD VT1PTgogIC1EUVRfQlVJTERfU0hBUkVEX0xJQlM9T04gLURRVF9GRUFUVVJFX2Fzc2lzdGFudD1P TgpAQCAtMTYsNyArMTYsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+ IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwt My4wLW9ubHksIEdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBk aXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3Zl cnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHRvb2xzLWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09YTMxMzg3OTE2MTg0ZTRhNWVmNTIyZDNlYTg0MWU4 ZTkzMWNjMGY4OGJlMDgyNGE3YTM1NGE1NzJkNTgyNmM2OAorY2hlY2tzdW09NDljMzNkOTZiMGE0 NDk4OGJlOTU0MjY5YjhjZTNkMWE0OTViNDM5NzI2ZTAzYTZiZTdjMGQ1MGE2ODYzNjljNAogCiBp ZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAljb25maWd1cmVfYXJncys9IiAtRFFUX0ZPUkNF X0JVSUxEX1RPT0xTPVRSVUUiCkBAIC0yOCw5ICsyOCw5IEBAIGlmIFsgIiRYQlBTX0NIRUNLX1BL R1MiIF07IHRoZW4KIAljb25maWd1cmVfYXJncys9IiAtRFFUX0JVSUxEX1RFU1RTPU9OIgogZmkK IAotcG9zdF9idWlsZCgpIHsKLQluaW5qYSAtQyBidWlsZCAke21ha2Vqb2JzfSBsaWIvcXQ2L2xp YmV4ZWMvcWhlbHBnZW5lcmF0b3IKLX0KKyNwb3N0X2J1aWxkKCkgeworIwluaW5qYSAtQyBidWls ZCAke21ha2Vqb2JzfSBsaWIvcXQ2L2xpYmV4ZWMvcWhlbHBnZW5lcmF0b3IKKyN9CiAKIGRvX2No ZWNrKCkgewogCWNkIGJ1aWxkCkBAIC02NywxMiArNjcsMTIgQEAgcXQ2LXRvb2xzLWRldmVsX3Bh Y2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCWxvY2FsIF9mCiAJCXZtb3ZlIHVzci9pbmNs dWRlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0 eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3Nw ZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2 bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwog CQlmb3IgX2YgaW4gJHtERVNURElSfS91c3IvbGliL2NtYWtlLyo7IGRvCiAJCQljYXNlICIkX2Yi IGluCiAJCQkqVG9vbHNUb29sc3wqL1F0Nkxpbmd1aXN0VG9vbHMpIDs7CgpGcm9tIGFjNTU5MTlh ZTBjYzk4OGUyNTUzZmVlNzBmNTAwODBmMmY3NDgzODAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5 OjM2OjI5ICswMjAwClN1YmplY3Q6IFtQQVRDSCAwOC8zOV0gcXQ2LXN2ZzogdXBkYXRlIHRvIDYu NS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZQppbmRleCAw NmMxZmNjMzA2YzkuLmFiYTI3NWEzNGM4NiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtc3ZnL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1zdmcnCiBwa2duYW1lPXF0Ni1zdmcKLXZlcnNpb249Ni40 LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFr ZWRlcGVuZHM9InF0Ni1iYXNlIHBlcmwiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWluZXI9Ikpv aG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1H UEwtZXhjZXB0aW9uLTEuMCwgR1BMLTIuMC1vci1sYXRlciwgTEdQTC0zLjAtb25seSIKIGhvbWVw YWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29m ZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0 c3ZnLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09Yjc0NmFmM2Ni MTc5MzYyMWQ4ZWQ3ZWFlMzhkOWFkNWExNTU0MWRjMjc0MjAzMTA2OWYyYWUzZmU4NzU5MDMxNAor Y2hlY2tzdW09NjRjYTdlNjFmNDRkNTFlMjhiY2JiNGUwNTA5Mjk5YjUzYTlhN2UzODg3OWUwMGE3 ZmU5MTY0MzE5NjA2N2E0ZgogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCiAJY29u ZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCkBAIC0zMSwxMSArMzEsMTEgQEAgcXQ2 LXN2Zy1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5j bHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJ CXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwog CQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZt b3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1v dmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gODkzNjc2ZmU3ZDIzNjdhZjA0YjRl ZDAzZWYyODE2MzMzN2Y2ZDAzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8 bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MjggKzAyMDAK U3ViamVjdDogW1BBVENIIDA5LzM5XSBxdDYtc2hhZGVydG9vbHM6IHVwZGF0ZSB0byA2LjUuMC4K Ci0tLQogc3JjcGtncy9xdDYtc2hhZGVydG9vbHMvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZp bGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtc2hhZGVydG9v bHMvdGVtcGxhdGUKaW5kZXggZmJiMmZiYTcxODFmLi5iMTFiMjgxNjgwYWQgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXNoYWRl cnRvb2xzL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2 LXNoYWRlcnRvb2xzJwogcGtnbmFtZT1xdDYtc2hhZGVydG9vbHMKLXZlcnNpb249Ni40LjIKK3Zl cnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVu ZHM9InBlcmwgcXQ2LWJhc2UiCkBAIC0xMSw3ICsxMSw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1l QGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9 Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNp YWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRzaGFk ZXJ0b29scy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWZhNjVi ZmY4NGQ0ZTljMmNiNGNiZjZmYjA5ODIwN2UwZTIzZDg2M2RiZTY3NWViMjc3MDM0YTI5YzIyNmEy MTcKK2NoZWNrc3VtPTg2NjE4ZDAzN2YzMDcxZjFmN2FjNWViN2FiNzZhZTRlNmY1MWNmZGRkZWQw YTQwMmJiOWFhN2YzZjc5ZjU3NzUKIAogaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJY29u ZmlndXJlX2FyZ3M9Ii1EUVRfRk9SQ0VfQlVJTERfVE9PTFM9dHJ1ZSIKQEAgLTMxLDEyICszMSwx MiBAQCBxdDYtc2hhZGVydG9vbHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsK IAkJbG9jYWwgX2YKIAkJdm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlw ZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29u ZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIK IAkJdm1vdmUgInVzci9saWIvKi5wcmwiCi0JCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwor CQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJCWZvciBfZiBpbiAke0RFU1RESVJ9L3Vzci9s aWIvY21ha2UvKjsgZG8KIAkJCWNhc2UgIiRfZiIgaW4KIAkJCSpUb29sc1Rvb2xzKSA7OwoKRnJv bSA2ZmRiNDBjNTkxYjcxNGM3NTU0Y2MwNzliM2MxOGI0YjcyZDM3NjFhIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBB cHIgMjAyMyAxOTozNjoyNyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMzldIHF0Ni1zZXJpYWxw b3J0OiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxh dGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUgYi9z cmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRlCmluZGV4IGMxMDBmOTY4NmZjZi4uNzcxNjY1 OThkMDFmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRlCisrKyBi L3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdxdDYtc2VyaWFscG9ydCcKIHBrZ25hbWU9cXQ2LXNlcmlhbHBvcnQKLXZl cnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtl CiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UgcGtnLWNvbmZpZyIKQEAgLTEwLDcgKzEw LDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihM R1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4w LW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0Lmlv LyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0 LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0c2VyaWFscG9ydC1ldmVyeXdo ZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTMzNmQ5NTkxOTAzNzgwMDE4NGIz YzNkZThjY2I2ZjYyOTU0YjIwZjM3NTZjMDVhZGNlOGQ1MDEwNTA0MzQwZmEKK2NoZWNrc3VtPTky MDlhOWY1OTc4YTRhZGYzYTE1MDU4MjI3MDQzMmZlM2I2MzVkMDU1MTNhZDFhNTdiZmY1Y2E0OTU0 YTRkZmYKIAogcXQ2LXNlcmlhbHBvcnQtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3Nv dXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lv bn1fMSIKQEAgLTE4LDExICsxOCwxMSBAQCBxdDYtc2VyaWFscG9ydC1kZXZlbF9wYWNrYWdlKCkg ewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGli L2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21l dGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9t a3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgot CQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxl cwogCX0KIH0KCkZyb20gMzIxZWQ0ZjRmODYyMDU4Mzg5MWI5ZGFhODFiZDE0NDJlYWU3YTNjOSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpE YXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MjYgKzAyMDAKU3ViamVjdDogW1BBVENIIDExLzM5 XSBxdDYtc2Vuc29yczogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1zZW5zb3Jz L3RlbXBsYXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2Vuc29ycy90ZW1wbGF0ZSBi L3NyY3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUKaW5kZXggMWRkMGQwZjNkZjEzLi41ZTZhMWUy YTc3NzYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9xdDYtc2Vuc29ycy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ3F0Ni1zZW5zb3JzJwogcGtnbmFtZT1xdDYtc2Vuc29ycwotdmVyc2lvbj02LjQuMgor dmVyc2lvbj02LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVw ZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtaG9zdC10b29scyBwa2ctY29uZmlnIgpAQCAtMTAs NyArMTAsNyBAQCBtYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5o cXhAZ21haWwuY29tPiIKIGxpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBP UiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEu MCIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2Fk LnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJt b2R1bGVzL3F0c2Vuc29ycy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNr c3VtPTQ1NTYxOWZmMjhhMzlmNGNhYmE0OWM5ZTE5NTJmYmNmYWZjOGZmYzg5M2I0MzdkNjUzZDU0 NjVhMDc3ZWU2NTYKK2NoZWNrc3VtPTVlZTQzNGUyZjQ5MTdjMmQyZTliMWRlNmNiMTM0N2M2NDRh OGM5MjMzODI4NGVmZWI5NjIwMmE1NTdlNzJlYTYKIAogcG9zdF9pbnN0YWxsKCkgewogCXJtIC1y ZiAke0RFU1RESVJ9L3Vzci90ZXN0cwpAQCAtMjMsNyArMjMsNyBAQCBxdDYtc2Vuc29ycy1kZXZl bF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2 bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVz ci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1 c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9RdFNlbnNvcnMvcGx1 Z2lucy5xbWx0eXBlcwoKRnJvbSBjOTlhM2U2ZWJlM2RlYTZhMzdhZmJlZGVlNGU2ZmY4NWRjOWE5 OWE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5k ZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNjoyNCArMDIwMApTdWJqZWN0OiBbUEFUQ0gg MTIvMzldIHF0Ni1zY3htbDogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1zY3ht bC90ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2N4bWwvdGVtcGxhdGUg Yi9zcmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0ZQppbmRleCAwZTUzYmE3Y2Y1MDYuLjhmODFkNzUw YjFiMSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtc2N4bWwvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9xdDYtc2N4bWwvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdxdDYtc2N4bWwnCiBwa2duYW1lPXF0Ni1zY3htbAotdmVyc2lvbj02LjQuMgordmVyc2lvbj02 LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVy bCBxdDYtZGVjbGFyYXRpdmUtaG9zdC10b29scyIKQEAgLTEwLDcgKzEwLDcgQEAgbWFpbnRhaW5l cj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkxHUEwtMy4wLW9ubHkgT1Ig R1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIK IGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7 dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0c2N4bWwtZXZlcnl3aGVyZS1zcmMt JHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT0xM2IwZDQzNDU5Mzk0YmVkMjQ4MTk2N2ExZmVm ZjAyYjYzMjI4YTgyYzExMzZhNjI5NDFjMGViODNlZjU0ZTdmCitjaGVja3N1bT1mMTIxODQzY2I4 Y2Y0YTc2ZDYyMWJlMzcxZTgwMjY1YWMyODI1NGYzYzRjMTIzYjA1MWU5MDdjMWM5MTU3NjZlCiAK IHN1YnBhY2thZ2VzPSJxdDYtc2N4bWwtdG9vbHMgcXQ2LXNjeG1sLWRldmVsIgogaWYgWyAiJENS T1NTX0JVSUxEIiBdOyB0aGVuCkBAIC00MSwxMSArNDEsMTEgQEAgcXQ2LXNjeG1sLWRldmVsX3Bh Y2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3Zl IHVzci9saWIvY21ha2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xp Yi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9s aWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIv Ki5wcmwiCi0JCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1c3IvbGliL3F0 Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA1N2FkZjk4ZjM3YTU1ZDkyNmNjZDk2MTkzMjY4ZmFiM2E2 NmU0YWYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRv ci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNjoyMyArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMTMvMzldIHF0Ni1yZW1vdGVvYmplY3RzOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3Br Z3MvcXQ2LXJlbW90ZW9iamVjdHMvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni1yZW1vdGVvYmplY3RzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy90ZW1w bGF0ZQppbmRleCAwNjI3MzYzNDk0NDIuLmIzN2Q4MmJlZDAzZCAxMDA2NDQKLS0tIGEvc3JjcGtn cy9xdDYtcmVtb3Rlb2JqZWN0cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1yZW1vdGVvYmpl Y3RzL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXJl bW90ZW9iamVjdHMnCiBwa2duYW1lPXF0Ni1yZW1vdGVvYmplY3RzCi12ZXJzaW9uPTYuNC4yCit2 ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBl bmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIHBrZy1jb25maWciCkBAIC0xMyw3 ICsxMyw3IEBAIG1haW50YWluZXI9IsSQb8OgbiBUcuG6p24gQ8O0bmcgRGFuaCA8Y29uZ2Rhbmhx eEBnbWFpbC5jb20+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9S IEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4w IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQu cXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1v ZHVsZXMvcXRyZW1vdGVvYmplY3RzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6Igot Y2hlY2tzdW09NTgzYzUzNjQwMDIwZDVkMDY4ZWVmN2FlMTgwZDc1MDEyMGJiNDllMzAyNDljMmZl YmRkMTczYzVhNzQyODgxMgorY2hlY2tzdW09ZmY0MGI2ZTdhZmE4NGU0NDE5MGQzYjYzNTc0NjI1 Njk1MjViMWUxZmIwZThiZmQ4ZGUxNmE4NjgwODI1YzJhZQogCiBpZiBbICIkQ1JPU1NfQlVJTEQi IF07IHRoZW4KIAlob3N0bWFrZWRlcGVuZHMrPSIgcXQ2LXJlbW90ZW9iamVjdHMiCkBAIC0zNSw3 ICszNSw3IEBAIHF0Ni1yZW1vdGVvYmplY3RzLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3Rh bGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKLQkJdm1v dmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZt b3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1v dmUgdXNyL2xpYi9xdDYvcW1sL1F0UmVtb3RlT2JqZWN0cy9wbHVnaW5zLnFtbHR5cGVzCgpGcm9t IGEzZTU3NTRlOWI0MzYzNGFiMmNlMDIzZmFlNDEwYTg1NmRiZjU1OWMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFw ciAyMDIzIDE5OjM2OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNC8zOV0gcXQ2LXF1aWNrdGlt ZWxpbmU6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90 ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRl IGIvc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0ZQppbmRleCBmMmM4ZTE2ZTYyMWUu LjNkMjRhMzkyZmY0MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlCkBAIC0xLDYgKzEs NiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF1aWNrdGltZWxpbmUnCiBwa2duYW1lPXF0 Ni1xdWlja3RpbWVsaW5lCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0x CiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlIHF0Ni1k ZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBtYWludGFpbmVyPSJKb2hu IDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKIGhvbWVw YWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29m ZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9uL3JjLy1yY30vc3VibW9k dWxlcy9xdHF1aWNrdGltZWxpbmUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL3JjLy1yY30udGFy Lnh6IgotY2hlY2tzdW09MzA4OGFiYjdmNDc4MzYyYTM1NGVhMTUwOWQxYzNjMzQwM2UzZjVhZGZi ODRmM2U1Y2YzMGExZjJlZmYwOWE1ZQorY2hlY2tzdW09NTc4YjNlOTI5NjYyYjQ0M2NkNGU1MWNi MGRlNzFlOTFmNGZmNTVhNTEyZDY2ZTBiMWVhMjk5OWI1NjU3Y2ZiZgogCiBpZiBbICIkWEJQU19D SEVDS19QS0dTIiBdOyB0aGVuCiAJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04i CgpGcm9tIGQ5Mjk2YWU0NzU3MjA5MzA4ZmU0ODcwNzM1NDgwOTNkZWEwYmMzM2YgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9u LCAzIEFwciAyMDIzIDE5OjM2OjIxICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNS8zOV0gcXQ2LXF1 aWNrM2Q6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtcXVpY2szZC90ZW1wbGF0 ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtcXVpY2szZC90ZW1wbGF0ZSBiL3NyY3Br Z3MvcXQ2LXF1aWNrM2QvdGVtcGxhdGUKaW5kZXggZTVlZjkxYzkwNTNjLi5lMDFjZWE4MWJlYmUg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXF1aWNrM2QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9x dDYtcXVpY2szZC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J3F0Ni1xdWljazNkJwogcGtnbmFtZT1xdDYtcXVpY2szZAotdmVyc2lvbj02LjQuMgordmVyc2lv bj02LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0i cGVybCBxdDYtZGVjbGFyYXRpdmUtaG9zdC10b29scyBxdDYtc2hhZGVydG9vbHMiCkBAIC0xMSw3 ICsxMSw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNl PSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVz PSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4q fS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRxdWljazNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lv bn0udGFyLnh6IgotY2hlY2tzdW09OTUzZDNiNmNhNmRjMDA1NjNjZWVhMzNkNTFmMjVlMjJiMTc4 OGFiNWFhODYxOTQxMTAwZjZhMWI2NTI5MjZhNworY2hlY2tzdW09OWI1OTA0MjljYTk4YjVjYzhj ZWM0ZGYyZWZhMzc3NWU5ZjExZWQ4MjYwZDEyM2U5NWYzYzBmYzM3ZjM3NzJhNQogCiBzdWJwYWNr YWdlcz0icXQ2LXF1aWNrM2QtdG9vbHMgcXQ2LXF1aWNrM2QtZGV2ZWwiCiBpZiBbICIkQ1JPU1Nf QlVJTEQiIF07IHRoZW4KQEAgLTUwLDExICs1MCwxMSBAQCBxdDYtcXVpY2szZC1kZXZlbF9wYWNr YWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1 c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIv cXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGli L3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyou cHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYv bW9kdWxlcwogCX0KIH0KCkZyb20gNjNjMGMzM2E4MmFhOTc0NTk5ZTkyOTQ0Mjc2ODlhNjRhNTFj NTIxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3Iu ZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MTEgKzAyMDAKU3ViamVjdDogW1BBVENI IDE2LzM5XSBxdDYtcXQ1Y29tcGF0OiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2 LXF0NWNvbXBhdC90ZW1wbGF0ZSB8IDEwICsrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGlu c2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtcXQ1 Y29tcGF0L3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlCmluZGV4IGVk MTY3Njk1YjVjZC4uM2IzZDJiNWRmYWNmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1xdDVjb21w YXQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF0NWNvbXBhdCcKIHBrZ25hbWU9cXQ2 LXF0NWNvbXBhdAotdmVyc2lvbj02LjQuMgotcmV2aXNpb249MgordmVyc2lvbj02LjUuMAorcmV2 aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRFFUX0ZFQVRVUkVf dGV4dGNvZGVjPU9OIC1EUVRfRkVBVFVSRV9jb2RlY3M9T04KICAtRFFUX0ZFQVRVUkVfaWNvbnY9 T04gLURRVF9GRUFUVVJFX2JpZ19jb2RlY3M9T04iCkBAIC0xMiw3ICsxMiw3IEBAIG1haW50YWlu ZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0 aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCwgTEdQTC0zLjAtb25seSwgR1BMLTIuMC1vci1sYXRlciIK IGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0 LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1 bGVzL3F0NWNvbXBhdC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3Vt PWY1MWY1MDVjOGU5ODViNTFiN2Q3MzNlMjdkNzgyYzZmY2UxODFiZWVmNTMzNjRhY2IwMzY4Y2M4 OTJjNGI3OTIKK2NoZWNrc3VtPWE5ZTJmNTNhMTkzZmMyZTEzMWIwMWEyZjZlN2ExZmJmZTMxMzA5 YzI0MTNmZGMyMTNlNWE4MWM1NThjMjEyNjEKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsg dGhlbgogCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgpAQCAtMjgsMTEgKzI4 LDExIEBAIHF0Ni1xdDVjb21wYXQtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsK IAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQotCQl2bW92ZSB1c3Iv bGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tZXRhdHlwZXMKIAkJdm1vdmUgdXNy L2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNy L2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKLQkJdm1vdmUgdXNyL3NoYXJlL3F0 Ni9tb2R1bGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIGRmMWVm NmUxY2JjNzE4MzcyOTdkZGUzNTFjYmRhODVjZmU5ZjJmMGUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIz IDE5OjM2OjA3ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNy8zOV0gcXQ2LW5ldHdvcmthdXRoOiB1 cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlIHwg OCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1uZXR3b3JrYXV0aC90ZW1wbGF0ZSBiL3NyY3Br Z3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlCmluZGV4IDM1ZDcxNjFhMzI4OC4uMDNiZGEzOGVk MWZjIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1uZXR3b3JrYXV0aC90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL3F0Ni1uZXR3b3JrYXV0aC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ3F0Ni1uZXR3b3JrYXV0aCcKIHBrZ25hbWU9cXQ2LW5ldHdvcmthdXRoCi12 ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFr ZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlIgpAQCAtMTAsNyArMTAsNyBAQCBtYWlu dGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5 IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQu cXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1v ZHVsZXMvcXRuZXR3b3JrYXV0aC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNo ZWNrc3VtPWRlYWIxN2JkOTU3ZDBhNDkzYmQ3NzU3YmM3MTI3MDkxODE0NzU5NmZiOTY2MWE4ODZi M2YxZDMwNTA0N2MyZWUKK2NoZWNrc3VtPWRiY2M1MjJhYjIxMzZlYmU2YzliZTVjN2YxNTZhM2Jj ZWZhOTJjZDE5YTQ2MmUzM2EwMGU5NDA2OGEyNDQxM2UKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtH UyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgpAQCAtMjIs MTEgKzIyLDExIEBAIHF0Ni1uZXR3b3JrYXV0aC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0 YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZt b3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2 bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZt b3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Iv c2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZy b20gMWZhMTRmOTUwNTc4YzZiZjUzNjI4ZmM4N2VlYWE4MmRjODJiMmYzNCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMg QXByIDIwMjMgMTk6MzY6MDYgKzAyMDAKU3ViamVjdDogW1BBVENIIDE4LzM5XSBxdDYtbXVsdGlt ZWRpYTogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3RlbXBs YXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUKaW5kZXggZDg5ZTdkNTRlYjVhLi5jNjIyYjdj OWU4ZmMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUKKysrIGIv c3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ3F0Ni1tdWx0aW1lZGlhJwogcGtnbmFtZT1xdDYtbXVsdGltZWRpYQotdmVy c2lvbj02LjQuMgordmVyc2lvbj02LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UK IGNvbmZpZ3VyZV9hcmdzPSItRFFUX0ZFQVRVUkVfZ3N0cmVhbWVyPU9OIgpAQCAtMTIsNyArMTIs NyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iKExH UEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAt b25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8v IgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQv JHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRtdWx0aW1lZGlhLWV2ZXJ5d2hl cmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09N2YyYjcwZGVlYWRhOTExYzhlNjYw ZTI4MDEyODY2NTdmMjk3YTVkMWQ1NDNkMWY2YmZhODU2ZjI4OTcyYzc3NgorY2hlY2tzdW09OTQ4 MGQwYzczYWJkZDAxYWVjNDg5OWUzNDA5MzhjZWMwNDZhM2Y0MDRiOWY5ZWQ5NDUyODhiZTU3NGRj YTE0NgogCiBpZiBbICIkWEJQU19NQUNISU5FIiA9ICJpNjg2IiBdOyB0aGVuCiAJQ1hYRkxBR1M9 Ii1EUEZGRlRfU0lNRF9ESVNBQkxFPTEiCkBAIC0zOSw3ICszOSw3IEBAIHF0Ni1tdWx0aW1lZGlh LWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRl CiAJCXZtb3ZlIHVzci9saWIvY21ha2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1v dmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZt b3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgdXNyL2xpYi9xdDYvcW1sL1F0TXVsdGlt ZWRpYS9wbHVnaW5zLnFtbHR5cGVzCgpGcm9tIGI5YTdiYzgyNDRmZTQyMWIxNjkyYjY1ZTAzZWVl MTZjNTM5ZjhjYzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5u eW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2OjA0ICswMjAwClN1YmplY3Q6 IFtQQVRDSCAxOS8zOV0gcXQ2LWxvdHRpZTogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dz L3F0Ni1sb3R0aWUvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNl cnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWxvdHRp ZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQppbmRleCAwZTI0Njk4N2Qw NzguLjhhMzdmYWU3ZjJkYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtbG90dGllL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ3F0Ni1sb3R0aWUnCiBwa2duYW1lPXF0Ni1sb3R0aWUKLXZlcnNpb249 Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0 bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UgcXQ2LWRlY2xhcmF0aXZlLWhvc3QtdG9vbHMiCkBA IC0xMCw3ICsxMCw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBs aWNlbnNlPSJHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0Zmls ZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24l Lip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdGxvdHRpZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPWFjY2M4ODY5YzcyMDk1Y2U1YjM3M2EzMGMzNjJkMjEyMzUx NDVhNzlmOWUyNzA0ODA3MTJmODYxZDFkZTFjNTYKK2NoZWNrc3VtPTg0MjVlY2RlYjkyODZhNmM1 MTk4NWJkYWYzOTM2MDI2NjEwZDA0ZGMzMWVlYzA2ZmVlNzlkZjY0NDJiN2UyNDYKIAogaWYgWyAi JFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RF U1RTPU9OIgpAQCAtMzAsMTAgKzMwLDEwIEBAIHF0Ni1sb3R0aWUtZGV2ZWxfcGFja2FnZSgpIHsK IAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9j bWFrZQotCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tZXRh dHlwZXMKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNv IgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKLQkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVz CisJCXZtb3ZlIHVzci9saWIvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIGY4ZDc0YTdlNDhiNzQw YmJkYzExYjRlNjc0YzRlYzIwMzBkNjE0MDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2OjA0 ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyMC8zOV0gcXQ2LWxvY2F0aW9uOiB1cGRhdGUgdG8gNi41 LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBm aWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni1sb2NhdGlvbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWxvY2F0aW9uL3Rl bXBsYXRlCmluZGV4IDQyOWU5ZTAyZGIxMi4uODlmZjY0OThjNjc5IDEwMDY0NAotLS0gYS9zcmNw a2dzL3F0Ni1sb2NhdGlvbi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1sb2NhdGlvbi90ZW1w bGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1sb2NhdGlvbicK IHBrZ25hbWU9cXQ2LWxvY2F0aW9uCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZp c2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNl IHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBtYWludGFpbmVy PSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1Ig R1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQ TC1leGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJo dHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8k e3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRwb3NpdGlvbmluZy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPTdmMDFiYWY1YmE4NzdhZjViMjExYzlkMzJlNjA3NTAxOWYw MGQ5ZDdhMmJhODFiYjBmMTBjYTc1OWU5YWVmODIKK2NoZWNrc3VtPTBkYTcxMjFlYmZkOWQyYmE5 ODVhYjFmMmM4YTNhZjcwMDI3YzM1NzMyMTc3ZWMwZmM3MmZmN2U4MjgzNWM4ODYKIAogcHJlX2No ZWNrKCkgewogCWV4cG9ydCBRTUwyX0lNUE9SVF9QQVRIPSIkd3Jrc3JjL2J1aWxkL2xpYi9xdDYv cW1sIgpAQCAtMjYsMTEgKzI2LDExIEBAIHF0Ni1sb2NhdGlvbi1kZXZlbF9wYWNrYWdlKCkgewog CXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2Nt YWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0 eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3Nw ZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2 bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwog CX0KIH0KCkZyb20gZmVmNGJhZWIxZDYxMTUxNjZiYjM2YmI4MWMxNzg5MmM0YmRkNzEwNCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRl OiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDIxLzM5XSBx dDYtaW1hZ2Vmb3JtYXRzOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LWltYWdl Zm9ybWF0cy90ZW1wbGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0 cy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZQppbmRleCBmNmU3 Njg2ZWVhOTguLjI1M2ZmMTI1ZTA5ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtaW1hZ2Vmb3Jt YXRzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1pbWFnZWZvcm1hdHMnCiBwa2du YW1lPXF0Ni1pbWFnZWZvcm1hdHMKLXZlcnNpb249Ni40LjIKLXJldmlzaW9uPTIKK3ZlcnNpb249 Ni41LjAKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBl cmwgcXQ2LWJhc2UiCiBtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgamFzcGVyLWRldmVsIGxp Ym1uZy1kZXZlbCB0aWZmLWRldmVsIGxpYndlYnAtZGV2ZWwiCkBAIC0xMCw0ICsxMCw0IEBAIG1h aW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJMR1BMLTMuMC1v bmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9x dC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNl cy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdGltYWdlZm9ybWF0cy1l dmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWZjNWY5OTlhZTA3Nzlh NjdkNTUwNzk1NmQ0ZGQzMTUzODZlYjgxY2Y2Y2NiYTYzMmRlMDM5YmI5ZWVlMTE3MDcKK2NoZWNr c3VtPWY5ZjgxMGNkM2FjN2U2MDEzMmMwZGEzM2YzNGZjZmNlNDJlM2U3NjRkNmNhZDMwMjBjMmYz YjFiNDIwNDZmNzgKCkZyb20gYzVjNGM2M2VkNjk1OTc3YjU5NTk1OTIwYTBlM2ZhZGYxYzg4ZmIy YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2 PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MDEgKzAyMDAKU3ViamVjdDogW1BBVENIIDIy LzM5XSBxdDYtZGVjbGFyYXRpdmU6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogLi4uL3BhdGNoZXMv cW1sLWJyb2tlbi10ZXN0LnBhdGNoICAgICAgICAgICAgIHwgNjQgLS0tLS0tLS0tLS0tLS0tLS0t LQogc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvdGVtcGxhdGUgICAgICAgICAgICAgIHwgIDggKy0t CiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNjggZGVsZXRpb25zKC0pCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvcGF0Y2hlcy9xbWwtYnJva2Vu LXRlc3QucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS9wYXRjaGVz L3FtbC1icm9rZW4tdGVzdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3BhdGNoZXMv cW1sLWJyb2tlbi10ZXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMTY0 MTJmY2Q1ZTUuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS9wYXRj aGVzL3FtbC1icm9rZW4tdGVzdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAK LS0tLSBxdDYtZGVjbGFyYXRpdmUtNi40LjIub3JpZy90ZXN0cy9hdXRvL3F1aWNrY29udHJvbHMy L2NvbnRyb2xzL2RhdGEvdHN0X3Jhbmdlc2xpZGVyLnFtbAotKysrIHF0Ni1kZWNsYXJhdGl2ZS02 LjQuMi90ZXN0cy9hdXRvL3F1aWNrY29udHJvbHMyL2NvbnRyb2xzL2RhdGEvdHN0X3Jhbmdlc2xp ZGVyLnFtbAotQEAgLTYwMiw2MSArNjAyLDYgQEAgVGVzdENhc2UgewotICAgICB9Ci0gCi0gICAg IGZ1bmN0aW9uIHRlc3Rfb3ZlcmxhcHBpbmdIYW5kbGVzKCkgewotLSAgICAgICAgdmFyIGNvbnRy b2wgPSBjcmVhdGVUZW1wb3JhcnlPYmplY3Qoc2xpZGVyQ29tcG9uZW50LCB0ZXN0Q2FzZSkKLS0g ICAgICAgIHZlcmlmeShjb250cm9sKQotLQotLSAgICAgICAgLy8gQnkgZGVmYXVsdCwgd2UgZm9y Y2UgdGhlIHNlY29uZCBoYW5kbGUgdG8gYmUgYWZ0ZXIgdGhlIGZpcnN0IGluCi0tICAgICAgICAv LyB0ZXJtcyBvZiBzdGFja2luZyBvcmRlciAqYW5kKiB6IHZhbHVlLgotLSAgICAgICAgY29tcGFy ZShjb250cm9sLnNlY29uZC5oYW5kbGUueiwgMSkKLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5m aXJzdC5oYW5kbGUueiwgMCkKLS0gICAgICAgIGNvbnRyb2wuZmlyc3QudmFsdWUgPSAwCi0tICAg ICAgICBjb250cm9sLnNlY29uZC52YWx1ZSA9IDAKLS0KLS0gICAgICAgIC8vIFdoZW4gYm90aCBo YW5kbGVzIG92ZXJsYXAsIG9ubHkgdGhlIGhhbmRsZSB3aXRoIHRoZSBoaWdoZXIgWiB2YWx1ZQot LSAgICAgICAgLy8gc2hvdWxkIGJlIGhvdmVyZWQuCi0tICAgICAgICBtb3VzZU1vdmUoY29udHJv bCwgY29udHJvbC5zZWNvbmQuaGFuZGxlLngsIGNvbnRyb2wuc2Vjb25kLmhhbmRsZS55KQotLSAg ICAgICAgY29tcGFyZShjb250cm9sLnNlY29uZC5ob3ZlcmVkLCB0cnVlKQotLSAgICAgICAgY29t cGFyZShjb250cm9sLmZpcnN0LmhvdmVyZWQsIGZhbHNlKQotLQotLSAgICAgICAgLy8gQm90aCBh cmUgYXQgdGhlIHNhbWUgcG9zaXRpb24sIHNvIGl0IGRvZXNuJ3QgbWF0dGVyIHdob3NlIGNvb3Jk aW5hdGVzIHdlIHVzZS4KLS0gICAgICAgIG1vdXNlUHJlc3MoY29udHJvbCwgY29udHJvbC5maXJz dC5oYW5kbGUueCwgY29udHJvbC5maXJzdC5oYW5kbGUueSwgUXQuTGVmdEJ1dHRvbikKLS0gICAg ICAgIHZlcmlmeShjb250cm9sLnNlY29uZC5wcmVzc2VkKQotLSAgICAgICAgY29tcGFyZShjb250 cm9sLnNlY29uZC5oYW5kbGUueiwgMSkKLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5o YW5kbGUueiwgMCkKLS0KLS0gICAgICAgIC8vIE1vdmUgdGhlIHNlY29uZCBoYW5kbGUgb3V0IG9m IHRoZSB3YXkuCi0tICAgICAgICBtb3VzZU1vdmUoY29udHJvbCwgY29udHJvbC53aWR0aCwgY29u dHJvbC5maXJzdC5oYW5kbGUueSkKLS0gICAgICAgIG1vdXNlUmVsZWFzZShjb250cm9sLCBjb250 cm9sLndpZHRoLCBjb250cm9sLmZpcnN0LmhhbmRsZS55LCBRdC5MZWZ0QnV0dG9uKQotLSAgICAg ICAgdmVyaWZ5KCFjb250cm9sLnNlY29uZC5wcmVzc2VkKQotLSAgICAgICAgY29tcGFyZShjb250 cm9sLnNlY29uZC52YWx1ZSwgMS4wKQotLSAgICAgICAgY29tcGFyZShjb250cm9sLnNlY29uZC5o YW5kbGUueiwgMSkKLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5oYW5kbGUueiwgMCkK LS0KLS0gICAgICAgIC8vIFRoZSBmaXJzdCBoYW5kbGUgc2hvdWxkIG5vdCBiZSBob3ZlcmVkLgot LSAgICAgICAgY29tcGFyZShjb250cm9sLmZpcnN0LmhvdmVyZWQsIGZhbHNlKQotLQotLSAgICAg ICAgLy8gTW92ZSB0aGUgZmlyc3QgaGFuZGxlIG9uIHRvcCBvZiB0aGUgc2Vjb25kLgotLSAgICAg ICAgbW91c2VQcmVzcyhjb250cm9sLCBjb250cm9sLmZpcnN0LmhhbmRsZS54LCBjb250cm9sLmZp cnN0LmhhbmRsZS55LCBRdC5MZWZ0QnV0dG9uKQotLSAgICAgICAgdmVyaWZ5KGNvbnRyb2wuZmly c3QucHJlc3NlZCkKLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5oYW5kbGUueiwgMSkK LS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5zZWNvbmQuaGFuZGxlLnosIDApCi0tCi0tICAgICAg ICBtb3VzZU1vdmUoY29udHJvbCwgY29udHJvbC53aWR0aCwgY29udHJvbC5maXJzdC5oYW5kbGUu eSkKLS0gICAgICAgIG1vdXNlUmVsZWFzZShjb250cm9sLCBjb250cm9sLndpZHRoLCBjb250cm9s LmZpcnN0LmhhbmRsZS55LCBRdC5MZWZ0QnV0dG9uKQotLSAgICAgICAgdmVyaWZ5KCFjb250cm9s LmZpcnN0LnByZXNzZWQpCi0tICAgICAgICBjb21wYXJlKGNvbnRyb2wuZmlyc3QuaGFuZGxlLnos IDEpCi0tICAgICAgICBjb21wYXJlKGNvbnRyb2wuc2Vjb25kLmhhbmRsZS56LCAwKQotLQotLSAg ICAgICAgLy8gVGhlIG1vc3QgcmVjZW50bHkgcHJlc3NlZCBoYW5kbGUgKHRoZSBmaXJzdCkgc2hv dWxkIGhhdmUgdGhlIGhpZ2hlciB6IHZhbHVlLgotLSAgICAgICAgbW91c2VQcmVzcyhjb250cm9s LCBjb250cm9sLmZpcnN0LmhhbmRsZS54LCBjb250cm9sLmZpcnN0LmhhbmRsZS55LCBRdC5MZWZ0 QnV0dG9uKQotLSAgICAgICAgdmVyaWZ5KGNvbnRyb2wuZmlyc3QucHJlc3NlZCkKLS0gICAgICAg IGNvbXBhcmUoY29udHJvbC5maXJzdC5oYW5kbGUueiwgMSkKLS0gICAgICAgIGNvbXBhcmUoY29u dHJvbC5zZWNvbmQuaGFuZGxlLnosIDApCi0tCi0tICAgICAgICBtb3VzZVJlbGVhc2UoY29udHJv bCwgY29udHJvbC5maXJzdC5oYW5kbGUueCwgY29udHJvbC5maXJzdC5oYW5kbGUueSwgUXQuTGVm dEJ1dHRvbikKLS0gICAgICAgIHZlcmlmeSghY29udHJvbC5maXJzdC5wcmVzc2VkKQotLSAgICAg ICAgY29tcGFyZShjb250cm9sLmZpcnN0LmhhbmRsZS56LCAxKQotLSAgICAgICAgY29tcGFyZShj b250cm9sLnNlY29uZC5oYW5kbGUueiwgMCkKLSAgICAgfQotIAotICAgICBmdW5jdGlvbiB0ZXN0 X2tleXNfZGF0YSgpIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBs YXRlIGIvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvdGVtcGxhdGUKaW5kZXggYTNkOTIxZjllYTE5 Li4yMmU1OGYxNTc4ZTMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LWRlY2xhcmF0aXZlJwogcGtnbmFtZT1xdDYtZGVj bGFyYXRpdmUKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxk X3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURRVF9CVUlMRF9URVNUUz1PTiIKQEAgLTEx LDcgKzExLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vu c2U9IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5 LCBHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnF0LmlvIgogZGlzdGZp bGVzPSJodHRwczovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lv biUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0ZGVjbGFyYXRpdmUtZXZlcnl3aGVyZS1zcmMt JHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1hNGJkZDk4M2RlNGU5Y2JjYTBmODViNzY3ZGJk ZDg1OTg3MTE1NTRlMzcwYTA2ZGE4ZjUwOWRlZDQ0MzBmNWJkCitjaGVja3N1bT1mN2Q2MzFjZDhl YmMxNDkxZGFkMGYzMGYxYjUzMjZhZTgxMmJlZTRhZDcwNmU2MTE1NzgxNmE4MmJmNTg4Yzk3CiBy ZXBsYWNlcz0icXQ2LXF1aWNrY29udHJvbHMyPj0wIgogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07 IHRoZW4KQEAgLTk2LDEzICs5NiwxMyBAQCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWxfcGFja2FnZSgp IHsKIAlyZXBsYWNlcz0icXQ2LXF1aWNrY29udHJvbHMyLWRldmVsPj0wIgogCXBrZ19pbnN0YWxs KCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQotCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2 bW92ZSB1c3IvbGliL3F0Ni9tZXRhdHlwZXMKIAkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJ dm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92 ZSAidXNyL2xpYi8qLmEiCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hh cmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCQlmb3IgX2YgaW4g JHtERVNURElSfS91c3IvbGliL2NtYWtlLyo7IGRvCiAJCQljYXNlICIkX2YiIGluCiAJCQkqVG9v bHMpIDs7CgpGcm9tIGU2MTBkYzljZDczZTFkNGM4YWY4ZWJiODAwZWU2ODI0MmIyZjdjZWUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0 ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM1OjU1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyMy8zOV0g cXQ2LWNvbm5lY3Rpdml0eTogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1jb25u ZWN0aXZpdHkvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rp dml0eS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS90ZW1wbGF0ZQppbmRleCA2 NmZjZTVjMDM5N2IuLjU3MDU0MTZiYTQ0MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtY29ubmVj dGl2aXR5L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS90ZW1wbGF0ZQpA QCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1jb25uZWN0aXZpdHknCiBw a2duYW1lPXF0Ni1jb25uZWN0aXZpdHkKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJl dmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRl Y2xhcmF0aXZlLWhvc3QtdG9vbHMiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWluZXI9IsSQb8Og biBUcuG6p24gQ8O0bmcgRGFuaCA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+IgogbGljZW5zZT0iR1BM LTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8v ZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNp b259L3N1Ym1vZHVsZXMvcXRjb25uZWN0aXZpdHktZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50 YXIueHoiCi1jaGVja3N1bT04YzliNDRiMjM5ZTQyYjRjNGQ2ZmNhNWY0Mjc5MDRlNjg4ODkwYjJh MWJmYjZiY2JlNWU2ZTJhZmNkYzVkN2FmCitjaGVja3N1bT1lNzYzNjY1M2JhYjk4NjM2MWE3N2Iy MzQ1MWQ5NjZjODU1OTE0MjhjMDQyMjc0MTg5MGVmMGZiMTk3Njk4ZjA2CiAKIHF0Ni1jb25uZWN0 aXZpdHktZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lv bn1fJHtyZXZpc2lvbn0KQEAgLTE5LDExICsxOSwxMSBAQCBxdDYtY29ubmVjdGl2aXR5LWRldmVs X3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZt b3ZlIHVzci9saWIvY21ha2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNy L2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVz ci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9s aWIvKi5wcmwiCi0JCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1c3IvbGli L3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA5OGY5MjYyN2FlMDBmMDc0MGNkMjgxODQzMGI5MDk2 N2VjMTUwMTA3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnlu YXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNTo1NCArMDIwMApTdWJqZWN0OiBb UEFUQ0ggMjQvMzldIHF0Ni1jaGFydHM6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9x dDYtY2hhcnRzL3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0 aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1jaGFydHMv dGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUKaW5kZXggNTdjZTg4MTQzMzY3 Li4yYzAwYWM5YTQ0YTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdxdDYtY2hhcnRzJwogcGtnbmFtZT1xdDYtY2hhcnRzCi12ZXJzaW9uPTYu NC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1h a2VkZXBlbmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAs NyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BM LTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8v ZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNp b259L3N1Ym1vZHVsZXMvcXRjaGFydHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT1hMWE3YzBlMDhjODg3MGNmOTdkMWMzYTJlYjNmMzc2ODFhYWVkMDBhNjNiNWIy ZjcwYmRmMmRhODc4ZDBhOWFhCitjaGVja3N1bT1mY2NkMWQ1MGE3ZjU2ZGUwMTFmNzY2OGUwZTkw ZjAyMjMxNmJkNDA2NWZhN2Y5MWIwNzg1Nzk0MDNlMmUyNmE4CiAKIHByZV9jaGVjaygpIHsKIAll eHBvcnQgUU1MMl9JTVBPUlRfUEFUSD0iJHdya3NyYy9idWlsZC9saWIvcXQ2L3FtbCIKQEAgLTI2 LDExICsyNiwxMSBAQCBxdDYtY2hhcnRzLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwo KSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKLQkJdm1vdmUg dXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3Zl IHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUg InVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCi0JCXZtb3ZlIHVzci9zaGFy ZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA4 MDVmNDg5OTk1NWY3MGNjN2ZhZWIzYWYyZmM3ZTRhY2Y0ZDBlYmFkIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIg MjAyMyAxOTozNTo1MyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMjUvMzldIHF0Ni1iYXNlOiB1cGRh dGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9mZWVuYWJsZWV4Y2Vw dC5wYXRjaCB8IDEzIC0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUgICAg ICAgICAgICAgICAgICAgICB8IDE2ICsrKysrKysrKy0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwg OSBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni1iYXNlL3BhdGNoZXMvZmVlbmFibGVleGNlcHQucGF0Y2gKCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvZmVlbmFibGVleGNlcHQucGF0Y2ggYi9zcmNwa2dzL3F0 Ni1iYXNlL3BhdGNoZXMvZmVlbmFibGVleGNlcHQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDliMjY4YmM5NWQzZS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcXQ2LWJh c2UvcGF0Y2hlcy9mZWVuYWJsZWV4Y2VwdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEzICsw LDAgQEAKLS0tLSBxdDYtYmFzZS02LjQuMi5vcmlnL3Rlc3RzL2F1dG8vY29yZWxpYi90ZXh0L3Fs b2NhbGUvdHN0X3Fsb2NhbGUuY3BwCi0rKysgcXQ2LWJhc2UtNi40LjIvdGVzdHMvYXV0by9jb3Jl bGliL3RleHQvcWxvY2FsZS90c3RfcWxvY2FsZS5jcHAKLUBAIC0xNTAyLDggKzE1MDIsMTAgQEAg dm9pZCB0c3RfUUxvY2FsZTo6ZnBFeGNlcHRpb25zKCkKLSAgICAgZmVudl90IGVudnA7Ci0gICAg IGZlZ2V0ZW52KCZlbnZwKTsKLSAgICAgZmVjbGVhcmV4Y2VwdChGRV9BTExfRVhDRVBUKTsKLSsj aWZkZWYgX19HTElCQ19fCi0gICAgIGZlZW5hYmxlZXhjZXB0KEZFX0RJVkJZWkVSTyB8IEZFX09W RVJGTE9XIHwgRkVfVU5ERVJGTE9XIHwgRkVfSU5WQUxJRCk7Ci0gI2VuZGlmCi0rI2VuZGlmCi0g Ci0gICAgIFFTdHJpbmc6Om51bWJlcigxMDAwLjEyNDUpOwotICAgICBRU3RyaW5nOjpudW1iZXIo MS4xKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUgYi9zcmNwa2dzL3F0 Ni1iYXNlL3RlbXBsYXRlCmluZGV4IGRmZGU2MGJkYjQzOC4uMjZjMzI3NDY0MWU1IDEwMDY0NAot LS0gYS9zcmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWJhc2UvdGVt cGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtYmFzZScKIHBr Z25hbWU9cXQ2LWJhc2UKLXZlcnNpb249Ni40LjIKLXJldmlzaW9uPTMKK3ZlcnNpb249Ni41LjAK K3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURJTlNUQUxM X0RBVEFESVI9c2hhcmUvcXQ2CiAgLURJTlNUQUxMX0FSQ0hEQVRBRElSPWxpYi9xdDYKQEAgLTI2 LDEzICsyNiwxMyBAQCBtYWtlZGVwZW5kcz0iemxpYi1kZXZlbCBsaWJ6c3RkLWRldmVsIGRidXMt ZGV2ZWwKICBsaWJtYXJpYWRiY2xpZW50LWRldmVsIHBvc3RncmVzcWwtbGlicy1kZXZlbCBsaWJh dG9taWMtZGV2ZWwKICB1bml4b2RiYy1kZXZlbCBjdXBzLWRldmVsIGxpYnByb3h5LWRldmVsIGJy b3RsaS1kZXZlbAogIHNxbGl0ZS1kZXZlbCBWdWxrYW4tSGVhZGVycyBtaXQta3JiNS1kZXZlbCB2 dWxrYW4tbG9hZGVyIGxpYmIyLWRldmVsCi0gbGliWGV2aWUtZGV2ZWwgbGliWGN1cnNvci1kZXZl bCIKKyBsaWJYZXZpZS1kZXZlbCB4Y2ItdXRpbC1jdXJzb3ItZGV2ZWwiCiBzaG9ydF9kZXNjPSJD cm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIChRVDYpIgogbWFpbnRh aW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSBX SVRIIFF0LUdQTC1leGNlcHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9yLWxhdGVy IgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnF0LmlvIgogZGlzdGZpbGVzPSJodHRwczovL2Rvd25s b2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9z dWJtb2R1bGVzL3F0YmFzZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNr c3VtPWE4OGJjNmNlZGJiMzQ4NzhhNDlhNjIyYmFhNzljYWNlNzhjZmJhZDRmOTVmZGJkMzY1NmRk YjIxYzcwNTUyNWQKK2NoZWNrc3VtPWZkZTFhYTdiNGZiZTY0ZWMxYjRmYzU3NmE1N2Y0Njg4YWQx NDUzZDJmYWI1OWNiYWRkOTQ4YTEwYTZlYWY1ZWYKIHB5dGhvbl92ZXJzaW9uPTMKIAogaWYgWyAi JENST1NTX0JVSUxEIiBdOyB0aGVuCkBAIC02Myw3ICs2Myw5IEBAIGRvX2NoZWNrKCkgewogCQl0 c3RfcWdyYXBoaWNzdmlldyB0c3RfcWFwcGxpY2F0aW9uIHRzdF9xZm9udGNvbWJvYm94CiAJCXRz dF9xbGluZWVkaXQgdHN0X3FtZW51YmFyIHRzdF9xb3Blbmdsd2lkZ2V0CiAJCXRzdF9xeDExaW5m byB0c3RfcWNvbXBsZXh0ZXh0Ci0JCXRzdF9xYWRkcHJlcm91dGluZSB0c3RfcXRleHRjdXJzb3Ii CisJCXRzdF9xYWRkcHJlcm91dGluZSB0c3RfcXRleHRjdXJzb3IKKwkJdGVzdF93aWRnZXRzX2Fw cF9kZXBsb3ltZW50IHRzdF9xbmV0d29ya2ludGVyZmFjZQorCQl0c3RfcWdyYXBoaWNzcHJveHl3 aWRnZXQiCiAJIyBVbmtub3duIHBsYXRmb3JtIGxpbnV4LWcrKyA6LwogCWZhaWxpbmdfdGVzdHMr PSIgbW9ja3BsdWdpbnMgdGVzdF9pbXBvcnRfcGx1Z2lucwogCSB0ZXN0X3N0YXRpY19yZXNvdXJj ZXMgdGVzdF9nZW5lcmF0aW5nX2NwcF9leHBvcnRzIgpAQCAtMjgyLDEzICsyODQsMTMgQEAgcXQ2 LWJhc2UtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJbG9jYWwgX2YKIAkJ dm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKIAkJdm1vdmUgdXNy L2xpYi9wa2djb25maWcKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVz ci9saWIvcXQ2L21rc3BlY3MvbW9kdWxlcwogCQl2bW92ZSAidXNyL2xpYi8qLmEiCiAJCXZtb3Zl ICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hh cmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCQlmb3IgX2YgaW4g JHtERVNURElSfS91c3IvbGliL2NtYWtlLyo7IGRvCiAJCQljYXNlICIkX2YiIGluCiAJCQkqVG9v bHN8Kkhvc3RJbmZvKSA7OwoKRnJvbSA2N2NiMmNmNTgwMzVhYTI2OGE3M2UxMzVhMWRlODYyZmI5 MzY0NzgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRv ci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNTo0NCArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMjYvMzldIHF0Ni0zZDogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni0zZC90 ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZSBiL3NyY3BrZ3Mv cXQ2LTNkL3RlbXBsYXRlCmluZGV4IDk1NTE5NjY4ZDFjYy4uNGI3ZmJlZTA1NjJlIDEwMDY0NAot LS0gYS9zcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni0zZC90ZW1wbGF0 ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni0zZCcKIHBrZ25hbWU9 cXQ2LTNkCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9z dHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRv b2xzIgpAQCAtMTEsNyArMTEsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5k ZXY+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAt b25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBh Z2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2Zm aWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXQz ZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTQ1NmMyNGMzZDM4 NDAyNzNlNzIwYjc5ZmU4ZmVkNDUyZmE4ODliNTRjYmFlNmI0NWRiMWQxZGVkNGRhMzczNDEKK2No ZWNrc3VtPTIwYjI1MDAyMzI0NGYyMWRmYmVjNWMwMDdiYWM4MDVkNDQ5NGZhNDYzYTZkZDI3NTM4 YWZiMWE4MWIyMzA4MTYKIAogcXQ2LTNkLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtz b3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgoKRnJvbSA4NzQ5MzdmYmRkY2MxMjE5 NWYxMjA2N2I4NWJmODZmYWE2NjJlYTM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBK b2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IFRodSwgNiBBcHIgMjAyMyAxMToyODozMiAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMjcvMzldIHRlbGVncmFtLWRlc2t0b3A6IHJlYnVpbGQgYWdh aW5zdCBxdDYuNS4wCgotLS0KIHNyY3BrZ3MvdGVsZWdyYW0tZGVza3RvcC90ZW1wbGF0ZSB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvdGVsZWdyYW0tZGVza3RvcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvdGVsZWdy YW0tZGVza3RvcC90ZW1wbGF0ZQppbmRleCA2MGRmMzI3OGIwNWUuLjgzYWE3MmE2NzQ0OCAxMDA2 NDQKLS0tIGEvc3JjcGtncy90ZWxlZ3JhbS1kZXNrdG9wL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv dGVsZWdyYW0tZGVza3RvcC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ3RlbGVncmFtLWRlc2t0b3AnCiBwa2duYW1lPXRlbGVncmFtLWRlc2t0b3AKIHZlcnNp b249NC44LjEKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBidWls ZF9oZWxwZXI9InFlbXUiCiBjb25maWd1cmVfYXJncz0iLURUREVTS1RPUF9BUElfSUQ9MjA5MjM1 CgpGcm9tIDc1ZDg1NGRhN2U0MDVlM2M3YzJjMjI4MWY4YTEwNWZiOTE0YTg2NzggTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IHRyaWFsbGF4IDx0cmlhbGxheEB0dXRhbm90YS5jb20+CkRh dGU6IFN1biwgMzAgQXByIDIwMjMgMTc6NTk6MDQgKzAzMDAKU3ViamVjdDogW1BBVENIIDI4LzM5 XSByZTI6IHVwZGF0ZSB0byAyMDIzLjAzLjAxLgoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICB8 ICAyICstCiBzcmNwa2dzL3JlMi90ZW1wbGF0ZSB8IDEwICsrKysrLS0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbW1v bi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IDdiMDlmOWQyMzRjOS4uZTM0N2FlYWNkOGM1 IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTEzMzUs NyArMTMzNSw3IEBAIGxpYnJ1bXBkZXZfYXVkaW8uc28uMCBuZXRic2QtcnVtcGtlcm5lbC0yMDE0 MDUyNl8zCiBsaWJydW1wY2xpZW50LnNvLjAgbmV0YnNkLXJ1bXBrZXJuZWwtMjAxNDA1MjZfMwog bGliZG90Y29uZi5zby4wIGRvdGNvbmYtMS4zXzEKIGxpYnNwZWVjaGQuc28uMiBzcGVlY2gtZGlz cGF0Y2hlci0wLjhfMQotbGlicmUyLnNvLjcgcmUyLTIwMjAuMDYuMDFfMQorbGlicmUyLnNvLjEw IHJlMi0yMDIzLjAzLjAxXzEKIGxpYm1pbml6aXAuc28uMSBtaW5pemlwLTEuMi43XzEKIGxpYnNy dHAyLnNvLjEgbGlic3J0cC0yLjEuMF8xCiBsaWJqc29uY3BwLnNvLjI0IGpzb25jcHAtMS45LjRf MQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9yZTIvdGVtcGxhdGUgYi9zcmNwa2dzL3JlMi90ZW1wbGF0 ZQppbmRleCBiOTIxYTdjZjZhMTcuLmVjNmFiYmE5NjVhZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9y ZTIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9yZTIvdGVtcGxhdGUKQEAgLTEsMTQgKzEsMTQgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3JlMicKIHBrZ25hbWU9cmUyCi12ZXJzaW9uPTIwMjAuMDYu MDEKK3ZlcnNpb249MjAyMy4wMy4wMQogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Z251LW1ha2Vm aWxlCiBzaG9ydF9kZXNjPSJFZmZpY2llbnQsIHByaW5jaXBsZWQgcmVndWxhciBleHByZXNzaW9u IGxpYnJhcnkiCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+Igog bGljZW5zZT0iQlNELTMtQ2xhdXNlIgogaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNvbS9nb29n bGUvcmUyIgotZGlzdGZpbGVzPSIke2hvbWVwYWdlfS9hcmNoaXZlLyR7dmVyc2lvbi8vLi8tfS50 YXIuZ3oiCi1jaGVja3N1bT1mYjhlMGY0ZWQ3YTIxMmUzNDIwNTA3ZjI3OTMzZWY1YThjMDFhZWM3 MGU1MTQ4YzZhMzUzMTM1NzMyNjlmYWU2CitkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9n b29nbGUvcmUyL2FyY2hpdmUvJHt2ZXJzaW9uLy8uLy19LnRhci5neiIKK2NoZWNrc3VtPTdhOWE0 ODI0OTU4NTg2OTgwOTI2YTMwMGI0NzE3MjAyNDg1YzRiNDExNWFjMDMxODIyZTI5YWE0ZWYyMDdl NDgKIAogcG9zdF9pbnN0YWxsKCkgewogCXZsaWNlbnNlIExJQ0VOU0UKQEAgLTE5LDggKzE5LDgg QEAgcmUyLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9LSR7dmVyc2lv bn1fJHtyZXZpc2lvbn0iCiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCi0J CXZtb3ZlIHVzci9saWIvKi5hCi0JCXZtb3ZlIHVzci9saWIvKi5zbworCQl2bW92ZSAidXNyL2xp Yi8qLmEiCisJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmln CiAJfQogfQoKRnJvbSA3NGU0ZGM3ZGIyM2QwMWQ3ZWNlMTYwNmU2OGNjYmQ4MWNjYWMyMDM3IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB0cmlhbGxheCA8dHJpYWxsYXhAdHV0YW5vdGEu Y29tPgpEYXRlOiBTdW4sIDMwIEFwciAyMDIzIDE3OjU5OjMwICswMzAwClN1YmplY3Q6IFtQQVRD SCAyOS8zOV0gYmxvYXR5OiByZXZidW1wIGZvciByZTItMjAyMy4wMy4wMS4KCi0tLQogc3JjcGtn cy9ibG9hdHkvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Jsb2F0eS90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvYmxvYXR5L3RlbXBsYXRlCmluZGV4IGEyZmMxMDE4ZDEwNS4uMjI2ZDJmMzBmZmNkIDEw MDY0NAotLS0gYS9zcmNwa2dzL2Jsb2F0eS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Jsb2F0eS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Jsb2F0eScKIHBr Z25hbWU9YmxvYXR5CiB2ZXJzaW9uPTEuMQotcmV2aXNpb249MTAKK3JldmlzaW9uPTExCiBidWls ZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIHByb3RvYnVmIgogbWFr ZWRlcGVuZHM9ImNhcHN0b25lLWRldmVsIHByb3RvYnVmLWRldmVsIHJlMi1kZXZlbCB6bGliLWRl dmVsIgoKRnJvbSAxYTc2YWYxNmI4ZmQ2Y2I5ZjY3ZDQzMmRkZjIxM2NmOGZhMDg0YWZhIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB0cmlhbGxheCA8dHJpYWxsYXhAdHV0YW5vdGEuY29t PgpEYXRlOiBTdW4sIDMwIEFwciAyMDIzIDE3OjU5OjMwICswMzAwClN1YmplY3Q6IFtQQVRDSCAz MC8zOV0gY2Jhbmc6IHJldmJ1bXAgZm9yIHJlMi0yMDIzLjAzLjAxLgoKLS0tCiBzcmNwa2dzL2Ni YW5nL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jYmFuZy90ZW1wbGF0ZSBiL3NyY3BrZ3Mv Y2JhbmcvdGVtcGxhdGUKaW5kZXggOTM1N2JkYzBkNzA5Li4yMzg2NjE2NzM2NTQgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvY2JhbmcvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jYmFuZy90ZW1wbGF0ZQpA QCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2NiYW5nJwogcGtnbmFtZT1jYmFu ZwogdmVyc2lvbj0xLjYuMAotcmV2aXNpb249NAorcmV2aXNpb249NQogYnVpbGRfc3R5bGU9c2Nv bnMKIG1ha2VfYnVpbGRfYXJncz0ic2hhcmVkbGliPTEgc3RhdGljbGliPTEiCiBtYWtlX2luc3Rh bGxfYXJncz0iJHttYWtlX2J1aWxkX2FyZ3N9IgoKRnJvbSA0MjZmZTI4NzExZTZkNjhiNjk1YWM4 YjhhNzhjOTM3MzI3OGVkODU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB0cmlhbGxh eCA8dHJpYWxsYXhAdHV0YW5vdGEuY29tPgpEYXRlOiBTdW4sIDMwIEFwciAyMDIzIDE3OjU5OjMx ICswMzAwClN1YmplY3Q6IFtQQVRDSCAzMS8zOV0gY2hyb21pdW06IHJldmJ1bXAgZm9yIHJlMi0y MDIzLjAzLjAxLgoKLS0tCiBzcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlIHwgMiArLQogMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9jaHJvbWl1bS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKaW5kZXgg YzNhMWNkNTllYWZlLi41ZjRmNmJkMjRkNDYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0v dGVtcGxhdGUKKysrIGIvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQpAQCAtMiw3ICsyLDcgQEAK IHBrZ25hbWU9Y2hyb21pdW0KICMgU2VlIGh0dHBzOi8vY2hyb21pdW1kYXNoLmFwcHNwb3QuY29t L3JlbGVhc2VzP3BsYXRmb3JtPUxpbnV4IGZvciB0aGUgbGF0ZXN0IHZlcnNpb24KIHZlcnNpb249 MTEzLjAuNTY3Mi42MwotcmV2aXNpb249MQorcmV2aXNpb249MgogYXJjaHM9Imk2ODYqIHg4Nl82 NCogYWFyY2g2NCogYXJtdjdsKiIKIGhvc3RtYWtlZGVwZW5kcz0iCiAgJCh2b3B0X2lmIGNsYW5n ICJjbGFuZyBsbGQgbGx2bTE1IikKCkZyb20gOWU1NzRmZjk5MDBkY2ZiMDBjNWQ2YjBkY2IzOGYx OTA4NmIzOWQwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogdHJpYWxsYXggPHRyaWFs bGF4QHR1dGFub3RhLmNvbT4KRGF0ZTogU3VuLCAzMCBBcHIgMjAyMyAxNzo1OTozMiArMDMwMApT dWJqZWN0OiBbUEFUQ0ggMzIvMzldIGRuc2Rpc3Q6IHJldmJ1bXAgZm9yIHJlMi0yMDIzLjAzLjAx LgoKLS0tCiBzcmNwa2dzL2Ruc2Rpc3QvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Ruc2Rp c3QvdGVtcGxhdGUgYi9zcmNwa2dzL2Ruc2Rpc3QvdGVtcGxhdGUKaW5kZXggNmUxM2Y3Mzc0ODkx Li4wZTIxMzhiOWQ3YmMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZG5zZGlzdC90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL2Ruc2Rpc3QvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdkbnNkaXN0JwogcGtnbmFtZT1kbnNkaXN0CiB2ZXJzaW9uPTEuNy4yCi1yZXZpc2lv bj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJn cz0iLS13aXRoLXBpYyAtLXdpdGgtZ251LWxkIC0td2l0aC1saWJzb2RpdW0gLS13aXRoLXJlMgog IC0td2l0aC1uZXQtc25tcCAtLXdpdGgtbGliY2FwIC0td2l0aC1saWJzc2wgLS1lbmFibGUtZG5z Y3J5cHQgLS13aXRoLW5naHR0cDIKCkZyb20gMzI1MmM3YmZiNjVmY2NhNDlhMDAzMTU2OWQ4NmYz ZmNkZGVlZGI3NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogdHJpYWxsYXggPHRyaWFs bGF4QHR1dGFub3RhLmNvbT4KRGF0ZTogU3VuLCAzMCBBcHIgMjAyMyAxNzo1OTozMyArMDMwMApT dWJqZWN0OiBbUEFUQ0ggMzMvMzldIGVsZWN0cm9uMTk6IHJldmJ1bXAgZm9yIHJlMi0yMDIzLjAz LjAxLgoKLS0tCiBzcmNwa2dzL2VsZWN0cm9uMTkvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dz L2VsZWN0cm9uMTkvdGVtcGxhdGUgYi9zcmNwa2dzL2VsZWN0cm9uMTkvdGVtcGxhdGUKaW5kZXgg MDY4MTM2YmU3NjIzLi4zMmNlMzAxZTczMGMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZWxlY3Ryb24x OS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2VsZWN0cm9uMTkvdGVtcGxhdGUKQEAgLTEsNyArMSw3 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdlbGVjdHJvbjE5JwogcGtnbmFtZT1lbGVjdHJvbjE5 CiB2ZXJzaW9uPTE5LjAuOAotcmV2aXNpb249MgorcmV2aXNpb249MwogX25vZGV2ZXI9MTYuMTQu MgogX2Nocm9taXVtdmVyPTEwMi4wLjUwMDUuMTI1CiBhcmNocz0ieDg2XzY0KiBhYXJjaDY0KiBw cGM2NGxlKiIKCkZyb20gNWJmNDY3MDAyOTZkNmU2ZTFhMGNiNDA4OTA2NDgzN2E2NDY5ZmJlNiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogdHJpYWxsYXggPHRyaWFsbGF4QHR1dGFub3Rh LmNvbT4KRGF0ZTogU3VuLCAzMCBBcHIgMjAyMyAxNzo1OTozNCArMDMwMApTdWJqZWN0OiBbUEFU Q0ggMzQvMzldIGdycGM6IHJldmJ1bXAgZm9yIHJlMi0yMDIzLjAzLjAxLgoKLS0tCiBzcmNwa2dz L2dycGMvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dycGMvdGVtcGxhdGUgYi9zcmNwa2dz L2dycGMvdGVtcGxhdGUKaW5kZXggOTg0Nzk3NTgwMTIzLi41YjQ1NDdhNWMwZmMgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvZ3JwYy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dycGMvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdncnBjJwogcGtnbmFtZT1ncnBjCiB2 ZXJzaW9uPTEuNDkuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21ha2UK IGNvbmZpZ3VyZV9hcmdzPSItREJVSUxEX1NIQVJFRF9MSUJTPU9OCiAgLURnUlBDX0NBUkVTX1BS T1ZJREVSPXBhY2thZ2UgLURnUlBDX1BST1RPQlVGX1BST1ZJREVSPXBhY2thZ2UKCkZyb20gZmFi NDcyMjA3NDIyODIyYmViYWZmMDQ4ZmY3YzY3MWUxMWZiYzkyYiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogdHJpYWxsYXggPHRyaWFsbGF4QHR1dGFub3RhLmNvbT4KRGF0ZTogU3VuLCAz MCBBcHIgMjAyMyAxNzo1OTozNCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMzUvMzldIG10eGNsaWVu dDogcmV2YnVtcCBmb3IgcmUyLTIwMjMuMDMuMDEuCgotLS0KIHNyY3BrZ3MvbXR4Y2xpZW50L3Rl bXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tdHhjbGllbnQvdGVtcGxhdGUgYi9zcmNwa2dzL210 eGNsaWVudC90ZW1wbGF0ZQppbmRleCBjZmQ3Yzk4NzExOWIuLmE5M2YyZTA2ZWFhMCAxMDA2NDQK LS0tIGEvc3JjcGtncy9tdHhjbGllbnQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9tdHhjbGllbnQv dGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdtdHhjbGllbnQn CiBwa2duYW1lPW10eGNsaWVudAogdmVyc2lvbj0wLjkuMQotcmV2aXNpb249MQorcmV2aXNpb249 MgogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItREJVSUxEX0xJQl9URVNUUz1P RkYgLURCVUlMRF9MSUJfRVhBTVBMRVM9T0ZGIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmln IgoKRnJvbSBkNDM0ZDZiODQ1YzMwMzQzNzk1ZWQxZjM5Mjk4YzY2NDIxZTNmMDZiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB0cmlhbGxheCA8dHJpYWxsYXhAdHV0YW5vdGEuY29tPgpE YXRlOiBTdW4sIDMwIEFwciAyMDIzIDE3OjU5OjM1ICswMzAwClN1YmplY3Q6IFtQQVRDSCAzNi8z OV0gcHl0aG9uMy1ncnBjaW86IHJldmJ1bXAgZm9yIHJlMi0yMDIzLjAzLjAxLgoKLS0tCiBzcmNw a2dzL3B5dGhvbjMtZ3JwY2lvL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLWdy cGNpby90ZW1wbGF0ZSBiL3NyY3BrZ3MvcHl0aG9uMy1ncnBjaW8vdGVtcGxhdGUKaW5kZXggZThk NTc5NjI3NDRjLi44MjZlZGEwZmM1NjAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcHl0aG9uMy1ncnBj aW8vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9weXRob24zLWdycGNpby90ZW1wbGF0ZQpAQCAtMSw3 ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3B5dGhvbjMtZ3JwY2lvJwogcGtnbmFtZT1w eXRob24zLWdycGNpbwogdmVyc2lvbj0xLjQ5LjEKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1 aWxkX3N0eWxlPXB5dGhvbjMtbW9kdWxlCiBob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMtc2V0dXB0 b29scyBweXRob24zLXNpeCBweXRob24zLUN5dGhvbiIKIG1ha2VkZXBlbmRzPSJweXRob24zLWRl dmVsIHpsaWItZGV2ZWwgYy1hcmVzLWRldmVsIHJlMi1kZXZlbCBvcGVuc3NsLWRldmVsCgpGcm9t IDgyYWE0NDAwZGMzZmE1MDAzMThmNmNhZGVkM2U4OThjYjgzMWQ5ZTAgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IHRyaWFsbGF4IDx0cmlhbGxheEB0dXRhbm90YS5jb20+CkRhdGU6IFN1 biwgMzAgQXByIDIwMjMgMTc6NTk6MzYgKzAzMDAKU3ViamVjdDogW1BBVENIIDM3LzM5XSBxdDUt d2ViZW5naW5lOiByZXZidW1wIGZvciByZTItMjAyMy4wMy4wMS4KCi0tLQogc3JjcGtncy9xdDUt d2ViZW5naW5lL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDUtd2ViZW5naW5lL3RlbXBs YXRlIGIvc3JjcGtncy9xdDUtd2ViZW5naW5lL3RlbXBsYXRlCmluZGV4IDBhNzE0ODQyMDhiYy4u ODUyNjdjN2NmOGEzIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0NS13ZWJlbmdpbmUvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9xdDUtd2ViZW5naW5lL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAncXQ1LXdlYmVuZ2luZScKIHBrZ25hbWU9cXQ1LXdlYmVuZ2luZQog dmVyc2lvbj01LjE1LjExCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBfdmVyc2lvbj0iJHt2ZXJz aW9ufS1sdHMiCiBfY2hyb21pdW1fY29tbWl0PWJlMzQ5ZWFmNjJlNzc5NTU3OTFkN2JmMjlmODkz ZjFlOGEzN2RhZjQKIGFyY2hzPSJ4ODZfNjQqIGk2ODYqIGFybXZbNjddKiBwcGM2NCogYWFyY2g2 NCoiCgpGcm9tIGExMDI2N2EwNGM1OTBjYzUzMTUwYmE3NWFkMTZkOGYwM2Y1MGQ3ODUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTog VHVlLCA5IE1heSAyMDIzIDA3OjA0OjI1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAzOC8zOV0gZWxl Y3Ryb24yNDogcmVidWlsZCBhZ2FpbnN0IHJlMgoKLS0tCiBzcmNwa2dzL2VsZWN0cm9uMjQvdGVt cGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2VsZWN0cm9uMjQvdGVtcGxhdGUgYi9zcmNwa2dzL2Vs ZWN0cm9uMjQvdGVtcGxhdGUKaW5kZXggMDA1ZDI0NWFjYjI1Li5jYjExMDUwZmQ2OTcgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvZWxlY3Ryb24yNC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2VsZWN0cm9u MjQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdlbGVjdHJv bjI0JwogcGtnbmFtZT1lbGVjdHJvbjI0CiB2ZXJzaW9uPTI0LjIuMAotcmV2aXNpb249MQorcmV2 aXNpb249MgogX25vZGV2ZXI9MTguMTQuMAogX2Nocm9taXVtdmVyPTExMi4wLjU2MTUuMTY1CiBh cmNocz0ieDg2XzY0KiBhYXJjaDY0KiIKCkZyb20gZDRjNzYxYWY4OTdhYjk0OTJlYjc0OTU2ZjYw ZmEyZWI4MTk5YzAzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9o bm55bmF0b3IuZGV2PgpEYXRlOiBTdW4sIDE0IE1heSAyMDIzIDEwOjM3OjQxICswMjAwClN1Ympl Y3Q6IFtQQVRDSCAzOS8zOV0gZWxlY3Ryb24yNDogdXBkYXRlIHRvIDI0LjMuMC4KCi0tLQogc3Jj cGtncy9lbGVjdHJvbjI0L3RlbXBsYXRlIHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9lbGVjdHJv bjI0L3RlbXBsYXRlIGIvc3JjcGtncy9lbGVjdHJvbjI0L3RlbXBsYXRlCmluZGV4IGNiMTEwNTBm ZDY5Ny4uYmRhYTU2YWRjOGE2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2VsZWN0cm9uMjQvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9lbGVjdHJvbjI0L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAnZWxlY3Ryb24yNCcKIHBrZ25hbWU9ZWxlY3Ryb24yNAotdmVyc2lv bj0yNC4yLjAKLXJldmlzaW9uPTIKK3ZlcnNpb249MjQuMy4wCityZXZpc2lvbj0xCiBfbm9kZXZl cj0xOC4xNC4wCiBfY2hyb21pdW12ZXI9MTEyLjAuNTYxNS4xNjUKIGFyY2hzPSJ4ODZfNjQqIGFh cmNoNjQqIgpAQCAtMzEsNyArMzEsNyBAQCBob21lcGFnZT0iaHR0cHM6Ly9lbGVjdHJvbmpzLm9y ZyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL2VsZWN0cm9uL2VsZWN0cm9uL2FyY2hp dmUvdiR2ZXJzaW9uLnRhci5nej5lbGVjdHJvbi0ke3ZlcnNpb259LnRhci5negogIGh0dHBzOi8v Y29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vY2hyb21pdW0tYnJvd3Nlci1vZmZpY2lh bC9jaHJvbWl1bS0kX2Nocm9taXVtdmVyLnRhci54egogIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2Rl anMvbm9kZS9hcmNoaXZlL3YkX25vZGV2ZXIudGFyLmd6Pm5vZGUtJF9ub2RldmVyLnRhci5neiIK LWNoZWNrc3VtPSIwZGQxNDM0ZmY5ZTZmZjhmMjY2ZDgyZmY0MmQ5MjI0MTQwODhiNDk0MGYwZGZj YTRkNWQyMjA2MmZmOTRkM2Q2CitjaGVja3N1bT0iMzM1OTMzNjA2MTQzNjcwMWI2ZWViYzU4OTU1 OTc1M2QyNDBiZDhmYjhjOTJkNWM5NDQ1NjNkMmNiZjBmNjc2MgogIDE2OGM2MmZlYTlmNDI4Zjk5 ZmJmOTY3ZjM2YTc1ZWU1ZGExNjA0MjllM2E1Yjg2YmYwMjE4OGM1ZmU3Yzc5ZmQKICAzMWJiY2Nk ZmY3MzI2OWJhZWJjYzlmMzJjMmZmZTQyOGYyOGJlNzk4NDE1MjdjNjNlOTVkYTkzZThjNjMwODI5 IgogCg== --===============7363017688144135646==--