From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 24200 invoked from network); 6 Apr 2023 13:21:43 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 6 Apr 2023 13:21:43 -0000 Content-Type: multipart/mixed; boundary="===============4301238854918927821==" MIME-Version: 1.0 Subject: =?utf8?b?UmU6IFtQUiBQQVRDSF0gW1VwZGF0ZWRdIFF0NjogVXBkYXRlIHRvIDYuNS4w?= To: ml@inbox.vuxu.org From: Johnnynator Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 06 Apr 2023 15:21:42 +0200 List-Id: Message-ID: <20230406132142.Pyd-mDYjTF6ZQ3QUILbwq0Zp8PxOgEaKUL_JJsaTWFU@z> GitHub notification mails are now in MIME to allow UTF8. --===============4301238854918927821== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgSm9obm55bmF0b3IgYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L0pvaG5ueW5hdG9yL3ZvaWQtcGFja2FnZXMgcXQ2LjUuMApodHRwczovL2dpdGh1Yi5jb20vdm9p ZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDMyOTMKClF0NjogVXBkYXRlIHRvIDYuNS4wCi0g cXQ2LXdlYnNvY2tldHM6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LXdlYmVuZ2luZTogdXBkYXRl IHRvIDYuNS4wLg0KLSBxdDYtd2ViY2hhbm5lbDogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtd2F5 bGFuZDogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtdmlydHVhbGtleWJvYXJkOiB1cGRhdGUgdG8g Ni41LjAuDQotIHF0Ni10cmFuc2xhdGlvbnM6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LXRvb2xz OiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni1zdmc6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LXNo YWRlcnRvb2xzOiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni1zZXJpYWxwb3J0OiB1cGRhdGUgdG8g Ni41LjAuDQotIHF0Ni1zZW5zb3JzOiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni1zY3htbDogdXBk YXRlIHRvIDYuNS4wLg0KLSBxdDYtcmVtb3Rlb2JqZWN0czogdXBkYXRlIHRvIDYuNS4wLg0KLSBx dDYtcXVpY2t0aW1lbGluZTogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtcXVpY2szZDogdXBkYXRl IHRvIDYuNS4wLg0KLSBxdDYtcXQ1Y29tcGF0OiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni1uZXR3 b3JrYXV0aDogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtbXVsdGltZWRpYTogdXBkYXRlIHRvIDYu NS4wLg0KLSBxdDYtbG90dGllOiB1cGRhdGUgdG8gNi41LjAuDQotIHF0Ni1sb2NhdGlvbjogdXBk YXRlIHRvIDYuNS4wLg0KLSBxdDYtaW1hZ2Vmb3JtYXRzOiB1cGRhdGUgdG8gNi41LjAuDQotIHF0 Ni1kZWNsYXJhdGl2ZTogdXBkYXRlIHRvIDYuNS4wLg0KLSBxdDYtY29ubmVjdGl2aXR5OiB1cGRh dGUgdG8gNi41LjAuDQotIHF0Ni1jaGFydHM6IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LWJhc2U6 IHVwZGF0ZSB0byA2LjUuMC4NCi0gcXQ2LTNkOiB1cGRhdGUgdG8gNi41LjAuDQoNCjwhLS0gVW5j b21tZW50IHJlbGV2YW50IHNlY3Rpb25zIGFuZCBkZWxldGUgb3B0aW9ucyB3aGljaCBhcmUgbm90 IGFwcGxpY2FibGUgLS0+DQoNCiMjIyMgVGVzdGluZyB0aGUgY2hhbmdlcw0KLSBJIHRlc3RlZCB0 aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKllFUyoqfCoqYnJpZWZseSoqfCoqTk8qKg0KDQo8IS0t DQojIyMjIE5ldyBwYWNrYWdlDQotIFRoaXMgbmV3IHBhY2thZ2UgY29uZm9ybXMgdG8gdGhlIFtw YWNrYWdlIHJlcXVpcmVtZW50c10oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1w YWNrYWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjcGFja2FnZS1yZXF1aXJlbWVudHMp OiAqKllFUyoqfCoqTk8qKg0KLS0+DQoNCjwhLS0gTm90ZTogSWYgdGhlIGJ1aWxkIGlzIGxpa2Vs eSB0byB0YWtlIG1vcmUgdGhhbiAyIGhvdXJzLCBwbGVhc2UgYWRkIGNpIHNraXAgdGFnIGFzIGRl c2NyaWJlZCBpbg0KaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9i bG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjY29udGludW91cy1pbnRlZ3JhdGlvbg0KYW5kIHRl c3QgYXQgbGVhc3Qgb25lIG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qg b25lIGNyb3NzIGJ1aWxkLg0KSWdub3JlIHRoaXMgc2VjdGlvbiBpZiB0aGlzIFBSIGlzIG5vdCBz a2lwcGluZyBDSS4NCi0tPg0KIyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nDQotIEkgYnVpbHQgdGhp cyBQUiBsb2NhbGx5IGZvciBteSBuYXRpdmUgYXJjaGl0ZWN0dXJlLCB4ODZfNjQNCi0gSSBidWls dCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlmIHN1cHBvcnRlZC4g bWFyayBjcm9zc2J1aWxkcyk6DQogIC0gIC0gW3hdIHJpc2N2NjQNCiAgLSAgLSBbIF0geDg2XzY0 LW11c2wgKHdlYmVuZ2luZSBicm9rZW4gcmlnaHQgbm93KQ0KICAtICAtIFsgXSBhYXJjaDY0DQoN CltjaSBza2lwXQ0KW3NraXAgY2ldCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5j b20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDMyOTMucGF0Y2ggaXMgYXR0YWNoZWQ= --===============4301238854918927821== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-qt6.5.0-43293.patch" RnJvbSAyYWQ0Yzk2YzdiYzk3NDYzZjJlYjZlZDIzYjY5MjcyNjI2YzI1NjI2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwg MyBBcHIgMjAyMyAxOTozNzo0NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMjddIHF0Ni13ZWJz 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 L2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gM2YwZTdmNTczNTEzZGM0MjdlNTQxNmIxN2Q1 ZWE0MjFiZjM2YTBjZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9o bm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6Mzc6NDQgKzAyMDAKU3ViamVj dDogW1BBVENIIDAyLzI3XSBxdDYtd2ViZW5naW5lOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIC4u 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 aWIvcXQ2L21vZHVsZXMKIAl9CiB9CiAKCkZyb20gYWVlN2MxN2FkODYyMDE2MmNkMzhlOTI3YTYz YzI0YmZjMmJlMmZlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9o bm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MzYgKzAyMDAKU3ViamVj dDogW1BBVENIIDAzLzI3XSBxdDYtd2ViY2hhbm5lbDogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBz 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 CQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSBhYTA1ZGZiMDlkYjIzZTQ2 ZGNhZDdkNTJjNGM4ZDEwOTNkNGU5ZDcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBK b2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNjozNSAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMjddIHF0Ni13YXlsYW5kOiB1cGRhdGUgdG8gNi41LjAu CgotLS0KIHNyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRl CmluZGV4IDNiNDVmOThiYzdjZS4uZGEwYzMxYjRhY2Q1IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0 Ni13YXlsYW5kL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUKQEAg LTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtd2F5bGFuZCcKIHBrZ25hbWU9 cXQ2LXdheWxhbmQKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1 aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlIHBlcmwgcGtnLWNvbmZp ZyB3YXlsYW5kLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTQsNyArMTQs NyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BM LTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQTC0y LjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cucXQuaW8iCiBkaXN0ZmlsZXM9Imh0 dHBzOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8k e3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR3YXlsYW5kLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0u dGFyLnh6IgotY2hlY2tzdW09MjRjZjFhMGFmNzUxYWIxNjM3YjQ4MTVkNWM1ZjM3MDQ0ODNkNWZh N2JlZGJkMzUxOWU2ZmMwMjBkOGJlMTM1ZgorY2hlY2tzdW09Y2NjNTdmYTI3N2ZjNWYxYzFjMmM0 NzMzZWFlODBhNjA5OTZiNjdhMDY3MjMzYzQ3ODA5ZTU0MmFhMzE3NTlhMwogCiBzdWJwYWNrYWdl cz0icXQ2LXdheWxhbmQtdG9vbHMgcXQ2LXdheWxhbmQtZGV2ZWwiCiAKQEAgLTQzLDExICs0Mywx MSBAQCBxdDYtd2F5bGFuZC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2 bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIv bWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGli L3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGli Lyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21v ZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gNDEyMWRiYjky NTgyMjMwODM5N2Y4ZTAyOTMwODc1NDI0NTY3YTU4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6 MzY6MzQgKzAyMDAKU3ViamVjdDogW1BBVENIIDA1LzI3XSBxdDYtdmlydHVhbGtleWJvYXJkOiB1 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 fQogfQoKRnJvbSBkY2FiNzI1NmZmMDMxZmRmOTlkYWU2NWNmY2QyMTM5NTllYWE2NzJkIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6 IE1vbiwgMyBBcHIgMjAyMyAxOTozNjozMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDYvMjddIHF0 Ni10cmFuc2xhdGlvbnM6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtdHJhbnNs YXRpb25zL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90 ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZQppbmRleCA1NjY5YWI1 NmRjMjAuLjg2NmY1MDRmM2I5ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25z L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZQpAQCAtMSw2 ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni10cmFuc2xhdGlvbnMnCiBwa2duYW1l PXF0Ni10cmFuc2xhdGlvbnMKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9u PTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlIHF0Ni10b29s cyBwZXJsIgpAQCAtMTAsNCArMTAsNCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRv ci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAi CiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5x dC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9k dWxlcy9xdHRyYW5zbGF0aW9ucy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNo ZWNrc3VtPWJiZTAyOTE1MDJjMjYwNGI3MmZlZjczMGUxOTM1YmQyMmY4YjkyMWQ4YzQ3MzI1MGYy OThhNzIzYjJhOWM0OTYKK2NoZWNrc3VtPWZjODVkMGZkODM5M2Y1MTg2NTNjY2FkYTEwMTQxNzdh NTZkZjZlNzNmMzBmM2I2NGVlYTBjMmU0YTAwNjdhM2QKCkZyb20gYjYwNmQ4Mzc3OTYwMjdiOGEz OGM3OTllMjNlYjBlMTVlNTJmMjIxNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9o biA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MzEgKzAy MDAKU3ViamVjdDogW1BBVENIIDA3LzI3XSBxdDYtdG9vbHM6IHVwZGF0ZSB0byA2LjUuMC4KCi0t LQogc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQs IDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni10b29scy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXRvb2xzL3RlbXBsYXRlCmluZGV4IGQ1YWQx NjE4ZTNhNy4uYzBlYzI3Y2Y2MTJjIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni10b29scy90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3F0Ni10b29scy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni10b29scycKIHBrZ25hbWU9cXQ2LXRvb2xzCi12ZXJzaW9u PTYuNC4yCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTYuNS4wCityZXZpc2lvbj0xCiBidWlsZF9zdHls ZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ERVhURVJOQUxfR1VNQk89T04gLURMSVRFSFRNTF9V VEY4PU9OIC1EVVNFX0lDVT1PTgogIC1EUVRfQlVJTERfU0hBUkVEX0xJQlM9T04gLURRVF9GRUFU VVJFX2Fzc2lzdGFudD1PTgpAQCAtMTYsNyArMTYsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBq b2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2Vw dGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0 cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9y ZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHRvb2xzLWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09YTMxMzg3OTE2MTg0ZTRh NWVmNTIyZDNlYTg0MWU4ZTkzMWNjMGY4OGJlMDgyNGE3YTM1NGE1NzJkNTgyNmM2OAorY2hlY2tz dW09NDljMzNkOTZiMGE0NDk4OGJlOTU0MjY5YjhjZTNkMWE0OTViNDM5NzI2ZTAzYTZiZTdjMGQ1 MGE2ODYzNjljNAogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAljb25maWd1cmVfYXJn cys9IiAtRFFUX0ZPUkNFX0JVSUxEX1RPT0xTPVRSVUUiCgpGcm9tIGMwODgzMjNkYjAyODA0ODUy N2EyMTAxZTE4NmQzYWQ4ODJjMjRjZjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpv aG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2OjI5ICsw MjAwClN1YmplY3Q6IFtQQVRDSCAwOC8yN10gcXQ2LXN2ZzogdXBkYXRlIHRvIDYuNS4wLgoKLS0t CiBzcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwg NCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXN2Zy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZQppbmRleCAwNmMxZmNjMzA2 YzkuLmFiYTI3NWEzNGM4NiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtc3ZnL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3F0Ni1zdmcnCiBwa2duYW1lPXF0Ni1zdmcKLXZlcnNpb249Ni40LjIKK3ZlcnNp b249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9 InF0Ni1iYXNlIHBlcmwiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpv aG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0 aW9uLTEuMCwgR1BMLTIuMC1vci1sYXRlciwgTEdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRw czovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3Jl bGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0c3ZnLWV2ZXJ5 d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09Yjc0NmFmM2NiMTc5MzYyMWQ4 ZWQ3ZWFlMzhkOWFkNWExNTU0MWRjMjc0MjAzMTA2OWYyYWUzZmU4NzU5MDMxNAorY2hlY2tzdW09 NjRjYTdlNjFmNDRkNTFlMjhiY2JiNGUwNTA5Mjk5YjUzYTlhN2UzODg3OWUwMGE3ZmU5MTY0MzE5 NjA2N2E0ZgogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCiAJY29uZmlndXJlX2Fy Z3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCkBAIC0zMSwxMSArMzEsMTEgQEAgcXQ2LXN2Zy1kZXZl bF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2 bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVz ci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1 c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3Iv bGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xp Yi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gNTc4NDZmNjYxMTFhZWM1NTNkNWJiZjVlYWRjOWU4 YWM2N2FhNGE1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55 bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MjggKzAyMDAKU3ViamVjdDog W1BBVENIIDA5LzI3XSBxdDYtc2hhZGVydG9vbHM6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3Jj cGtncy9xdDYtc2hhZGVydG9vbHMvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtc2hhZGVydG9vbHMvdGVtcGxh dGUKaW5kZXggZmJiMmZiYTcxODFmLi5iMTFiMjgxNjgwYWQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv cXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3Rl bXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXNoYWRlcnRv b2xzJwogcGtnbmFtZT1xdDYtc2hhZGVydG9vbHMKLXZlcnNpb249Ni40LjIKK3ZlcnNpb249Ni41 LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBlcmwg cXQ2LWJhc2UiCkBAIC0xMSw3ICsxMSw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5h dG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8v cXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFz ZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRzaGFkZXJ0b29scy1l dmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWZhNjViZmY4NGQ0ZTlj MmNiNGNiZjZmYjA5ODIwN2UwZTIzZDg2M2RiZTY3NWViMjc3MDM0YTI5YzIyNmEyMTcKK2NoZWNr c3VtPTg2NjE4ZDAzN2YzMDcxZjFmN2FjNWViN2FiNzZhZTRlNmY1MWNmZGRkZWQwYTQwMmJiOWFh N2YzZjc5ZjU3NzUKIAogaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJY29uZmlndXJlX2Fy Z3M9Ii1EUVRfRk9SQ0VfQlVJTERfVE9PTFM9dHJ1ZSIKQEAgLTMxLDEyICszMSwxMiBAQCBxdDYt c2hhZGVydG9vbHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJbG9jYWwg X2YKIAkJdm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1v dmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZt b3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUg InVzci9saWIvKi5wcmwiCi0JCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1 c3IvbGliL3F0Ni9tb2R1bGVzCiAJCWZvciBfZiBpbiAke0RFU1RESVJ9L3Vzci9saWIvY21ha2Uv KjsgZG8KIAkJCWNhc2UgIiRfZiIgaW4KIAkJCSpUb29sc1Rvb2xzKSA7OwoKRnJvbSBmNDdmYTll ZWYyYTlhNjY3ZTk1YjQ3OTg4ZTkzY2EwZGI0Y2VjYTNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAx OTozNjoyNyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTAvMjddIHF0Ni1zZXJpYWxwb3J0OiB1cGRh dGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUgfCA4ICsr KystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUgYi9zcmNwa2dzL3F0 Ni1zZXJpYWxwb3J0L3RlbXBsYXRlCmluZGV4IGMxMDBmOTY4NmZjZi4uNzcxNjY1OThkMDFmIDEw MDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv cXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdxdDYtc2VyaWFscG9ydCcKIHBrZ25hbWU9cXQ2LXNlcmlhbHBvcnQKLXZlcnNpb249Ni40 LjIKK3ZlcnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFr ZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UgcGtnLWNvbmZpZyIKQEAgLTEwLDcgKzEwLDcgQEAgbWFp bnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihMR1BMLTMuMC1v bmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0 aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3Rm aWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lv biUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0c2VyaWFscG9ydC1ldmVyeXdoZXJlLXNyYy0k e3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTMzNmQ5NTkxOTAzNzgwMDE4NGIzYzNkZThjY2I2 ZjYyOTU0YjIwZjM3NTZjMDVhZGNlOGQ1MDEwNTA0MzQwZmEKK2NoZWNrc3VtPTkyMDlhOWY1OTc4 YTRhZGYzYTE1MDU4MjI3MDQzMmZlM2I2MzVkMDU1MTNhZDFhNTdiZmY1Y2E0OTU0YTRkZmYKIAog cXQ2LXNlcmlhbHBvcnQtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+ PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKQEAg LTE4LDExICsxOCwxMSBAQCBxdDYtc2VyaWFscG9ydC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19p bnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0J CXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwog CQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJ CXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1 c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0K CkZyb20gYjE4MmZjNTZjM2ZiZDg5OGJkNzkyYTVlOTIzZThjOWM5OTZlOTMxNCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24s IDMgQXByIDIwMjMgMTk6MzY6MjYgKzAyMDAKU3ViamVjdDogW1BBVENIIDExLzI3XSBxdDYtc2Vu c29yczogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1zZW5zb3JzL3RlbXBsYXRl IHwgNiArKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2Vuc29ycy90ZW1wbGF0ZSBiL3NyY3BrZ3Mv cXQ2LXNlbnNvcnMvdGVtcGxhdGUKaW5kZXggMWRkMGQwZjNkZjEzLi41ZTZhMWUyYTc3NzYgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYt c2Vuc29ycy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0 Ni1zZW5zb3JzJwogcGtnbmFtZT1xdDYtc2Vuc29ycwotdmVyc2lvbj02LjQuMgordmVyc2lvbj02 LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVy bCBxdDYtZGVjbGFyYXRpdmUtaG9zdC10b29scyBwa2ctY29uZmlnIgpAQCAtMTAsNyArMTAsNyBA QCBtYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhAZ21haWwu Y29tPiIKIGxpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4w LW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVw YWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29m ZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0 c2Vuc29ycy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTQ1NTYx OWZmMjhhMzlmNGNhYmE0OWM5ZTE5NTJmYmNmYWZjOGZmYzg5M2I0MzdkNjUzZDU0NjVhMDc3ZWU2 NTYKK2NoZWNrc3VtPTVlZTQzNGUyZjQ5MTdjMmQyZTliMWRlNmNiMTM0N2M2NDRhOGM5MjMzODI4 NGVmZWI5NjIwMmE1NTdlNzJlYTYKIAogcG9zdF9pbnN0YWxsKCkgewogCXJtIC1yZiAke0RFU1RE SVJ9L3Vzci90ZXN0cwpAQCAtMjMsNyArMjMsNyBAQCBxdDYtc2Vuc29ycy1kZXZlbF9wYWNrYWdl KCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3Iv bGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2 L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0 Ni9ta3NwZWNzCiAJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9RdFNlbnNvcnMvcGx1Z2lucy5xbWx0 eXBlcwoKRnJvbSAwNTBmOTQ3N2Y4OGViNjk5NzE5YjA3NmE3YWQwZjI4NzgzZTVlMTkyIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRhdGU6 IE1vbiwgMyBBcHIgMjAyMyAxOTozNjoyNCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMjddIHF0 Ni1zY3htbDogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0 ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtc2N4bWwvdGVtcGxhdGUgYi9zcmNwa2dz L3F0Ni1zY3htbC90ZW1wbGF0ZQppbmRleCAwZTUzYmE3Y2Y1MDYuLjhmODFkNzUwYjFiMSAxMDA2 NDQKLS0tIGEvc3JjcGtncy9xdDYtc2N4bWwvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtc2N4 bWwvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtc2N4 bWwnCiBwa2duYW1lPXF0Ni1zY3htbAotdmVyc2lvbj02LjQuMgordmVyc2lvbj02LjUuMAogcmV2 aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVj bGFyYXRpdmUtaG9zdC10b29scyIKQEAgLTEwLDcgKzEwLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8 bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkxHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1v bmx5IE9SIEdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxl cz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUu Kn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0c2N4bWwtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u fS50YXIueHoiCi1jaGVja3N1bT0xM2IwZDQzNDU5Mzk0YmVkMjQ4MTk2N2ExZmVmZjAyYjYzMjI4 YTgyYzExMzZhNjI5NDFjMGViODNlZjU0ZTdmCitjaGVja3N1bT1mMTIxODQzY2I4Y2Y0YTc2ZDYy MWJlMzcxZTgwMjY1YWMyODI1NGYzYzRjMTIzYjA1MWU5MDdjMWM5MTU3NjZlCiAKIHN1YnBhY2th Z2VzPSJxdDYtc2N4bWwtdG9vbHMgcXQ2LXNjeG1sLWRldmVsIgogaWYgWyAiJENST1NTX0JVSUxE IiBdOyB0aGVuCkBAIC00MSwxMSArNDEsMTEgQEAgcXQ2LXNjeG1sLWRldmVsX3BhY2thZ2UoKSB7 CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIv Y21ha2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0 YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21r c3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCi0J CXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tb2R1bGVz CiAJfQogfQoKRnJvbSBiNjk4YTRjZTBmNGE2ZDRlZGM1MWFjMDY5YmZmNDRkZDNjYmMzNWYzIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRvci5kZXY+CkRh dGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNjoyMyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTMvMjdd IHF0Ni1yZW1vdGVvYmplY3RzOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXJl bW90ZW9iamVjdHMvdGVtcGxhdGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1yZW1vdGVv YmplY3RzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy90ZW1wbGF0ZQppbmRl eCAwNjI3MzYzNDk0NDIuLmIzN2Q4MmJlZDAzZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtcmVt b3Rlb2JqZWN0cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1yZW1vdGVvYmplY3RzL3RlbXBs YXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXJlbW90ZW9iamVj dHMnCiBwa2duYW1lPXF0Ni1yZW1vdGVvYmplY3RzCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYu NS4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJs IHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIHBrZy1jb25maWciCkBAIC0xMyw3ICsxMyw3IEBA IG1haW50YWluZXI9IsSQb8OgbiBUcuG6p24gQ8O0bmcgRGFuaCA8Y29uZ2RhbmhxeEBnbWFpbC5j b20+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAt b25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBh Z2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2Zm aWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRy ZW1vdGVvYmplY3RzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09 NTgzYzUzNjQwMDIwZDVkMDY4ZWVmN2FlMTgwZDc1MDEyMGJiNDllMzAyNDljMmZlYmRkMTczYzVh NzQyODgxMgorY2hlY2tzdW09ZmY0MGI2ZTdhZmE4NGU0NDE5MGQzYjYzNTc0NjI1Njk1MjViMWUx ZmIwZThiZmQ4ZGUxNmE4NjgwODI1YzJhZQogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4K IAlob3N0bWFrZWRlcGVuZHMrPSIgcXQ2LXJlbW90ZW9iamVjdHMiCkBAIC0zNSw3ICszNSw3IEBA IHF0Ni1yZW1vdGVvYmplY3RzLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJ CXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKLQkJdm1vdmUgdXNyL2xp Yi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9s aWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgdXNyL2xp Yi9xdDYvcW1sL1F0UmVtb3RlT2JqZWN0cy9wbHVnaW5zLnFtbHR5cGVzCgpGcm9tIGI5NWVkNDZl MmFkNzVjYzc5MmZiOWY5NzY3MDE4ZWE1MTI3OWI2NTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5 OjM2OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNC8yN10gcXQ2LXF1aWNrdGltZWxpbmU6IHVw ZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0ZSB8 IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlIGIvc3JjcGtn cy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0ZQppbmRleCBmMmM4ZTE2ZTYyMWUuLjNkMjRhMzky ZmY0MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF1aWNrdGltZWxpbmUnCiBwa2duYW1lPXF0Ni1xdWlja3Rp bWVsaW5lCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9z dHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlIHF0Ni1kZWNsYXJhdGl2 ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hu bnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRw czovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3Jl bGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9uL3JjLy1yY30vc3VibW9kdWxlcy9xdHF1 aWNrdGltZWxpbmUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL3JjLy1yY30udGFyLnh6IgotY2hl Y2tzdW09MzA4OGFiYjdmNDc4MzYyYTM1NGVhMTUwOWQxYzNjMzQwM2UzZjVhZGZiODRmM2U1Y2Yz MGExZjJlZmYwOWE1ZQorY2hlY2tzdW09NTc4YjNlOTI5NjYyYjQ0M2NkNGU1MWNiMGRlNzFlOTFm NGZmNTVhNTEyZDY2ZTBiMWVhMjk5OWI1NjU3Y2ZiZgogCiBpZiBbICIkWEJQU19DSEVDS19QS0dT IiBdOyB0aGVuCiAJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCgpGcm9tIGJm NzQ5MDBmMWRiMTUzY2MwMzU4NjZmYzY3MWM5NmY2Yzc4ZTg2MDggTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAy MDIzIDE5OjM2OjIxICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNS8yN10gcXQ2LXF1aWNrM2Q6IHVw ZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtncy9xdDYtcXVpY2szZC90ZW1wbGF0ZSB8IDggKysr Ky0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtcXVpY2szZC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXF1 aWNrM2QvdGVtcGxhdGUKaW5kZXggZTVlZjkxYzkwNTNjLi5lMDFjZWE4MWJlYmUgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvcXQ2LXF1aWNrM2QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtcXVpY2sz ZC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1xdWlj azNkJwogcGtnbmFtZT1xdDYtcXVpY2szZAotdmVyc2lvbj02LjQuMgordmVyc2lvbj02LjUuMAog cmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYt ZGVjbGFyYXRpdmUtaG9zdC10b29scyBxdDYtc2hhZGVydG9vbHMiCkBAIC0xMSw3ICsxMSw3IEBA IG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4w LW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8v ZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNp b259L3N1Ym1vZHVsZXMvcXRxdWljazNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6 IgotY2hlY2tzdW09OTUzZDNiNmNhNmRjMDA1NjNjZWVhMzNkNTFmMjVlMjJiMTc4OGFiNWFhODYx OTQxMTAwZjZhMWI2NTI5MjZhNworY2hlY2tzdW09OWI1OTA0MjljYTk4YjVjYzhjZWM0ZGYyZWZh Mzc3NWU5ZjExZWQ4MjYwZDEyM2U5NWYzYzBmYzM3ZjM3NzJhNQogCiBzdWJwYWNrYWdlcz0icXQ2 LXF1aWNrM2QtdG9vbHMgcXQ2LXF1aWNrM2QtZGV2ZWwiCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07 IHRoZW4KQEAgLTUwLDExICs1MCwxMSBAQCBxdDYtcXVpY2szZC1kZXZlbF9wYWNrYWdlKCkgewog CXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2Nt YWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0 eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3Nw ZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2 bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwog CX0KIH0KCkZyb20gOGFjNzk4Y2I4ZTZjZTNlM2RkYmI5Yjk3OWE3MTBmYTdmNmY5NWVhOSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRl OiBNb24sIDMgQXByIDIwMjMgMTk6MzY6MTEgKzAyMDAKU3ViamVjdDogW1BBVENIIDE2LzI3XSBx dDYtcXQ1Y29tcGF0OiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LXF0NWNvbXBh dC90ZW1wbGF0ZSB8IDEwICsrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMo KyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3Rl bXBsYXRlIGIvc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlCmluZGV4IGVkMTY3Njk1YjVj ZC4uM2IzZDJiNWRmYWNmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1xdDVjb21wYXQvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF0NWNvbXBhdCcKIHBrZ25hbWU9cXQ2LXF0NWNvbXBh dAotdmVyc2lvbj02LjQuMgotcmV2aXNpb249MgordmVyc2lvbj02LjUuMAorcmV2aXNpb249MQog YnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRFFUX0ZFQVRVUkVfdGV4dGNvZGVj PU9OIC1EUVRfRkVBVFVSRV9jb2RlY3M9T04KICAtRFFUX0ZFQVRVUkVfaWNvbnY9T04gLURRVF9G RUFUVVJFX2JpZ19jb2RlY3M9T04iCkBAIC0xMiw3ICsxMiw3IEBAIG1haW50YWluZXI9IkpvaG4g PG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwt ZXhjZXB0aW9uLTEuMCwgTEdQTC0zLjAtb25seSwgR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdl PSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmlj aWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0NWNv bXBhdC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWY1MWY1MDVj OGU5ODViNTFiN2Q3MzNlMjdkNzgyYzZmY2UxODFiZWVmNTMzNjRhY2IwMzY4Y2M4OTJjNGI3OTIK K2NoZWNrc3VtPWE5ZTJmNTNhMTkzZmMyZTEzMWIwMWEyZjZlN2ExZmJmZTMxMzA5YzI0MTNmZGMy MTNlNWE4MWM1NThjMjEyNjEKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNv bmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgpAQCAtMjgsMTEgKzI4LDExIEBAIHF0 Ni1xdDVjb21wYXQtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUg dXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQotCQl2bW92ZSB1c3IvbGliL21ldGF0 eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tZXRhdHlwZXMKIAkJdm1vdmUgdXNyL2xpYi9wa2dj b25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNv IgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKLQkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVz CisJCXZtb3ZlIHVzci9saWIvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIGVmYTE1M2I4MzhmYmI1 MGUwOGRkN2Q0OGM3NTJiYTU5MzY1NmY5MzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2OjA3 ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxNy8yN10gcXQ2LW5ldHdvcmthdXRoOiB1cGRhdGUgdG8g Ni41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlIHwgOCArKysrLS0t LQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni1uZXR3b3JrYXV0aC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LW5l dHdvcmthdXRoL3RlbXBsYXRlCmluZGV4IDM1ZDcxNjFhMzI4OC4uMDNiZGEzOGVkMWZjIDEwMDY0 NAotLS0gYS9zcmNwa2dzL3F0Ni1uZXR3b3JrYXV0aC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0 Ni1uZXR3b3JrYXV0aC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3F0Ni1uZXR3b3JrYXV0aCcKIHBrZ25hbWU9cXQ2LW5ldHdvcmthdXRoCi12ZXJzaW9uPTYu NC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1h a2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlIgpAQCAtMTAsNyArMTAsNyBAQCBtYWludGFpbmVyPSJK b2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBh Z2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2Zm aWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRu ZXR3b3JrYXV0aC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWRl YWIxN2JkOTU3ZDBhNDkzYmQ3NzU3YmM3MTI3MDkxODE0NzU5NmZiOTY2MWE4ODZiM2YxZDMwNTA0 N2MyZWUKK2NoZWNrc3VtPWRiY2M1MjJhYjIxMzZlYmU2YzliZTVjN2YxNTZhM2JjZWZhOTJjZDE5 YTQ2MmUzM2EwMGU5NDA2OGEyNDQxM2UKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhl bgogCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgpAQCAtMjIsMTEgKzIyLDEx IEBAIHF0Ni1uZXR3b3JrYXV0aC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewog CQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9s aWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3Iv bGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3Iv bGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2 L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gNWY2ODlj NGUyY2NjYjkxMjM0YTVkM2UzZTAxZjQyMjk4ZGRhMWE5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMg MTk6MzY6MDYgKzAyMDAKU3ViamVjdDogW1BBVENIIDE4LzI3XSBxdDYtbXVsdGltZWRpYTogdXBk YXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3RlbXBsYXRlIHwgNiAr KystLS0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2 LW11bHRpbWVkaWEvdGVtcGxhdGUKaW5kZXggZDg5ZTdkNTRlYjVhLi5jNjIyYjdjOWU4ZmMgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9x dDYtbXVsdGltZWRpYS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3F0Ni1tdWx0aW1lZGlhJwogcGtnbmFtZT1xdDYtbXVsdGltZWRpYQotdmVyc2lvbj02LjQu MgordmVyc2lvbj02LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3Vy ZV9hcmdzPSItRFFUX0ZFQVRVUkVfZ3N0cmVhbWVyPU9OIgpAQCAtMTIsNyArMTIsNyBAQCBtYWlu dGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iKExHUEwtMy4wLW9u bHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRo IFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZp bGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9u JS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRtdWx0aW1lZGlhLWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09N2YyYjcwZGVlYWRhOTExYzhlNjYwZTI4MDEyODY2 NTdmMjk3YTVkMWQ1NDNkMWY2YmZhODU2ZjI4OTcyYzc3NgorY2hlY2tzdW09OTQ4MGQwYzczYWJk ZDAxYWVjNDg5OWUzNDA5MzhjZWMwNDZhM2Y0MDRiOWY5ZWQ5NDUyODhiZTU3NGRjYTE0NgogCiBp ZiBbICIkWEJQU19NQUNISU5FIiA9ICJpNjg2IiBdOyB0aGVuCiAJQ1hYRkxBR1M9Ii1EUEZGRlRf U0lNRF9ESVNBQkxFPTEiCkBAIC0zOSw3ICszOSw3IEBAIHF0Ni1tdWx0aW1lZGlhLWRldmVsX3Bh Y2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3Zl IHVzci9saWIvY21ha2UKLQkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xp Yi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9s aWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgdXNyL2xpYi9xdDYvcW1sL1F0TXVsdGltZWRpYS9wbHVn aW5zLnFtbHR5cGVzCgpGcm9tIDc2Y2Y0MGNlNTZiZjE1MGMxYzk2MWRjMDk1MzNiNGU4NmIzMTc2 MzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5ueW5hdG9yLmRl dj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2OjA0ICswMjAwClN1YmplY3Q6IFtQQVRDSCAx OS8yN10gcXQ2LWxvdHRpZTogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1sb3R0 aWUvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0 ZSBiL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQppbmRleCAwZTI0Njk4N2QwNzguLjhhMzdm YWU3ZjJkYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtbG90dGllL3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ3F0Ni1sb3R0aWUnCiBwa2duYW1lPXF0Ni1sb3R0aWUKLXZlcnNpb249Ni40LjIKK3Zl cnNpb249Ni41LjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVu ZHM9InBlcmwgcXQ2LWJhc2UgcXQ2LWRlY2xhcmF0aXZlLWhvc3QtdG9vbHMiCkBAIC0xMCw3ICsx MCw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJH UEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6 Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVy c2lvbn0vc3VibW9kdWxlcy9xdGxvdHRpZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54 eiIKLWNoZWNrc3VtPWFjY2M4ODY5YzcyMDk1Y2U1YjM3M2EzMGMzNjJkMjEyMzUxNDVhNzlmOWUy NzA0ODA3MTJmODYxZDFkZTFjNTYKK2NoZWNrc3VtPTg0MjVlY2RlYjkyODZhNmM1MTk4NWJkYWYz OTM2MDI2NjEwZDA0ZGMzMWVlYzA2ZmVlNzlkZjY0NDJiN2UyNDYKIAogaWYgWyAiJFhCUFNfQ0hF Q0tfUEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgpA QCAtMzAsMTAgKzMwLDEwIEBAIHF0Ni1sb3R0aWUtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5z dGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQotCQl2 bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3F0Ni9tZXRhdHlwZXMKIAkJ dm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92 ZSAidXNyL2xpYi8qLnBybCIKLQkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJCXZtb3Zl IHVzci9saWIvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIDg5MzA5M2Q3ZDhhYTQzZDI2OGU5NWYy NzkwNmUwYTY3Mjc5NTUwMGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1l QGpvaG5ueW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2OjA0ICswMjAwClN1 YmplY3Q6IFtQQVRDSCAyMC8yN10gcXQ2LWxvY2F0aW9uOiB1cGRhdGUgdG8gNi41LjAuCgotLS0K IHNyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni1sb2NhdGlvbi90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlCmlu ZGV4IDQyOWU5ZTAyZGIxMi4uODlmZjY0OThjNjc5IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1s b2NhdGlvbi90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1sb2NhdGlvbi90ZW1wbGF0ZQpAQCAt MSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1sb2NhdGlvbicKIHBrZ25hbWU9 cXQ2LWxvY2F0aW9uCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBi dWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlIHF0Ni1kZWNs YXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBtYWludGFpbmVyPSJKb2huIDxt ZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1v bmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRp b24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93 bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259 L3N1Ym1vZHVsZXMvcXRwb3NpdGlvbmluZy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54 eiIKLWNoZWNrc3VtPTdmMDFiYWY1YmE4NzdhZjViMjExYzlkMzJlNjA3NTAxOWYwMGQ5ZDdhMmJh ODFiYjBmMTBjYTc1OWU5YWVmODIKK2NoZWNrc3VtPTBkYTcxMjFlYmZkOWQyYmE5ODVhYjFmMmM4 YTNhZjcwMDI3YzM1NzMyMTc3ZWMwZmM3MmZmN2U4MjgzNWM4ODYKIAogcHJlX2NoZWNrKCkgewog CWV4cG9ydCBRTUwyX0lNUE9SVF9QQVRIPSIkd3Jrc3JjL2J1aWxkL2xpYi9xdDYvcW1sIgpAQCAt MjYsMTEgKzI2LDExIEBAIHF0Ni1sb2NhdGlvbi1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0 YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZt b3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2 bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZt b3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Iv c2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZy b20gNTc0M2YyZjU1MDY0ZTMyYmU5YTFjOGFhMTBlZmZjZWEyMjc5OWY5ZCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMg QXByIDIwMjMgMTk6MzY6MDIgKzAyMDAKU3ViamVjdDogW1BBVENIIDIxLzI3XSBxdDYtaW1hZ2Vm b3JtYXRzOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIHNyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90 ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUg Yi9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUKaW5kZXggM2VkNjNmNmU5OGNkLi4y NTNmZjEyNWUwOWUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtaW1hZ2Vmb3JtYXRzJwogcGtnbmFtZT1xdDYtaW1h Z2Vmb3JtYXRzCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lvbj0xCiBidWls ZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlIgpAQCAtMTAsNCAr MTAsNCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0i TEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9 Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNp YWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRpbWFn ZWZvcm1hdHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1mYzVm OTk5YWUwNzc5YTY3ZDU1MDc5NTZkNGRkMzE1Mzg2ZWI4MWNmNmNjYmE2MzJkZTAzOWJiOWVlZTEx NzA3CitjaGVja3N1bT1mOWY4MTBjZDNhYzdlNjAxMzJjMGRhMzNmMzRmY2ZjZTQyZTNlNzY0ZDZj YWQzMDIwYzJmM2IxYjQyMDQ2Zjc4CgpGcm9tIDVmNGNhMzYxMDU0ZDU5NmJiZGUwNTAzMDQ2ZDA5 YjdkMWVlOGI5NjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvaG4gPG1lQGpvaG5u eW5hdG9yLmRldj4KRGF0ZTogTW9uLCAzIEFwciAyMDIzIDE5OjM2OjAxICswMjAwClN1YmplY3Q6 IFtQQVRDSCAyMi8yN10gcXQ2LWRlY2xhcmF0aXZlOiB1cGRhdGUgdG8gNi41LjAuCgotLS0KIC4u Li9wYXRjaGVzL3FtbC1icm9rZW4tdGVzdC5wYXRjaCAgICAgICAgICAgICB8IDY0IC0tLS0tLS0t LS0tLS0tLS0tLS0KIHNyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBsYXRlICAgICAgICAgICAg ICB8ICA4ICstLQogMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDY4IGRlbGV0aW9u cygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3BhdGNoZXMv cW1sLWJyb2tlbi10ZXN0LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtZGVjbGFyYXRp dmUvcGF0Y2hlcy9xbWwtYnJva2VuLXRlc3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2 ZS9wYXRjaGVzL3FtbC1icm9rZW4tdGVzdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggYjE2NDEyZmNkNWU1Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9xdDYtZGVjbGFy YXRpdmUvcGF0Y2hlcy9xbWwtYnJva2VuLXRlc3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2 NCArMCwwIEBACi0tLS0gcXQ2LWRlY2xhcmF0aXZlLTYuNC4yLm9yaWcvdGVzdHMvYXV0by9xdWlj a2NvbnRyb2xzMi9jb250cm9scy9kYXRhL3RzdF9yYW5nZXNsaWRlci5xbWwKLSsrKyBxdDYtZGVj bGFyYXRpdmUtNi40LjIvdGVzdHMvYXV0by9xdWlja2NvbnRyb2xzMi9jb250cm9scy9kYXRhL3Rz dF9yYW5nZXNsaWRlci5xbWwKLUBAIC02MDIsNjEgKzYwMiw2IEBAIFRlc3RDYXNlIHsKLSAgICAg fQotIAotICAgICBmdW5jdGlvbiB0ZXN0X292ZXJsYXBwaW5nSGFuZGxlcygpIHsKLS0gICAgICAg IHZhciBjb250cm9sID0gY3JlYXRlVGVtcG9yYXJ5T2JqZWN0KHNsaWRlckNvbXBvbmVudCwgdGVz dENhc2UpCi0tICAgICAgICB2ZXJpZnkoY29udHJvbCkKLS0KLS0gICAgICAgIC8vIEJ5IGRlZmF1 bHQsIHdlIGZvcmNlIHRoZSBzZWNvbmQgaGFuZGxlIHRvIGJlIGFmdGVyIHRoZSBmaXJzdCBpbgot LSAgICAgICAgLy8gdGVybXMgb2Ygc3RhY2tpbmcgb3JkZXIgKmFuZCogeiB2YWx1ZS4KLS0gICAg ICAgIGNvbXBhcmUoY29udHJvbC5zZWNvbmQuaGFuZGxlLnosIDEpCi0tICAgICAgICBjb21wYXJl KGNvbnRyb2wuZmlyc3QuaGFuZGxlLnosIDApCi0tICAgICAgICBjb250cm9sLmZpcnN0LnZhbHVl ID0gMAotLSAgICAgICAgY29udHJvbC5zZWNvbmQudmFsdWUgPSAwCi0tCi0tICAgICAgICAvLyBX aGVuIGJvdGggaGFuZGxlcyBvdmVybGFwLCBvbmx5IHRoZSBoYW5kbGUgd2l0aCB0aGUgaGlnaGVy IFogdmFsdWUKLS0gICAgICAgIC8vIHNob3VsZCBiZSBob3ZlcmVkLgotLSAgICAgICAgbW91c2VN b3ZlKGNvbnRyb2wsIGNvbnRyb2wuc2Vjb25kLmhhbmRsZS54LCBjb250cm9sLnNlY29uZC5oYW5k bGUueSkKLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5zZWNvbmQuaG92ZXJlZCwgdHJ1ZSkKLS0g ICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5ob3ZlcmVkLCBmYWxzZSkKLS0KLS0gICAgICAg IC8vIEJvdGggYXJlIGF0IHRoZSBzYW1lIHBvc2l0aW9uLCBzbyBpdCBkb2Vzbid0IG1hdHRlciB3 aG9zZSBjb29yZGluYXRlcyB3ZSB1c2UuCi0tICAgICAgICBtb3VzZVByZXNzKGNvbnRyb2wsIGNv bnRyb2wuZmlyc3QuaGFuZGxlLngsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLnksIFF0LkxlZnRCdXR0 b24pCi0tICAgICAgICB2ZXJpZnkoY29udHJvbC5zZWNvbmQucHJlc3NlZCkKLS0gICAgICAgIGNv bXBhcmUoY29udHJvbC5zZWNvbmQuaGFuZGxlLnosIDEpCi0tICAgICAgICBjb21wYXJlKGNvbnRy b2wuZmlyc3QuaGFuZGxlLnosIDApCi0tCi0tICAgICAgICAvLyBNb3ZlIHRoZSBzZWNvbmQgaGFu ZGxlIG91dCBvZiB0aGUgd2F5LgotLSAgICAgICAgbW91c2VNb3ZlKGNvbnRyb2wsIGNvbnRyb2wu d2lkdGgsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLnkpCi0tICAgICAgICBtb3VzZVJlbGVhc2UoY29u dHJvbCwgY29udHJvbC53aWR0aCwgY29udHJvbC5maXJzdC5oYW5kbGUueSwgUXQuTGVmdEJ1dHRv bikKLS0gICAgICAgIHZlcmlmeSghY29udHJvbC5zZWNvbmQucHJlc3NlZCkKLS0gICAgICAgIGNv bXBhcmUoY29udHJvbC5zZWNvbmQudmFsdWUsIDEuMCkKLS0gICAgICAgIGNvbXBhcmUoY29udHJv bC5zZWNvbmQuaGFuZGxlLnosIDEpCi0tICAgICAgICBjb21wYXJlKGNvbnRyb2wuZmlyc3QuaGFu ZGxlLnosIDApCi0tCi0tICAgICAgICAvLyBUaGUgZmlyc3QgaGFuZGxlIHNob3VsZCBub3QgYmUg aG92ZXJlZC4KLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5ob3ZlcmVkLCBmYWxzZSkK LS0KLS0gICAgICAgIC8vIE1vdmUgdGhlIGZpcnN0IGhhbmRsZSBvbiB0b3Agb2YgdGhlIHNlY29u ZC4KLS0gICAgICAgIG1vdXNlUHJlc3MoY29udHJvbCwgY29udHJvbC5maXJzdC5oYW5kbGUueCwg Y29udHJvbC5maXJzdC5oYW5kbGUueSwgUXQuTGVmdEJ1dHRvbikKLS0gICAgICAgIHZlcmlmeShj b250cm9sLmZpcnN0LnByZXNzZWQpCi0tICAgICAgICBjb21wYXJlKGNvbnRyb2wuZmlyc3QuaGFu ZGxlLnosIDEpCi0tICAgICAgICBjb21wYXJlKGNvbnRyb2wuc2Vjb25kLmhhbmRsZS56LCAwKQot LQotLSAgICAgICAgbW91c2VNb3ZlKGNvbnRyb2wsIGNvbnRyb2wud2lkdGgsIGNvbnRyb2wuZmly c3QuaGFuZGxlLnkpCi0tICAgICAgICBtb3VzZVJlbGVhc2UoY29udHJvbCwgY29udHJvbC53aWR0 aCwgY29udHJvbC5maXJzdC5oYW5kbGUueSwgUXQuTGVmdEJ1dHRvbikKLS0gICAgICAgIHZlcmlm eSghY29udHJvbC5maXJzdC5wcmVzc2VkKQotLSAgICAgICAgY29tcGFyZShjb250cm9sLmZpcnN0 LmhhbmRsZS56LCAxKQotLSAgICAgICAgY29tcGFyZShjb250cm9sLnNlY29uZC5oYW5kbGUueiwg MCkKLS0KLS0gICAgICAgIC8vIFRoZSBtb3N0IHJlY2VudGx5IHByZXNzZWQgaGFuZGxlICh0aGUg Zmlyc3QpIHNob3VsZCBoYXZlIHRoZSBoaWdoZXIgeiB2YWx1ZS4KLS0gICAgICAgIG1vdXNlUHJl c3MoY29udHJvbCwgY29udHJvbC5maXJzdC5oYW5kbGUueCwgY29udHJvbC5maXJzdC5oYW5kbGUu eSwgUXQuTGVmdEJ1dHRvbikKLS0gICAgICAgIHZlcmlmeShjb250cm9sLmZpcnN0LnByZXNzZWQp Ci0tICAgICAgICBjb21wYXJlKGNvbnRyb2wuZmlyc3QuaGFuZGxlLnosIDEpCi0tICAgICAgICBj b21wYXJlKGNvbnRyb2wuc2Vjb25kLmhhbmRsZS56LCAwKQotLQotLSAgICAgICAgbW91c2VSZWxl YXNlKGNvbnRyb2wsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLngsIGNvbnRyb2wuZmlyc3QuaGFuZGxl LnksIFF0LkxlZnRCdXR0b24pCi0tICAgICAgICB2ZXJpZnkoIWNvbnRyb2wuZmlyc3QucHJlc3Nl ZCkKLS0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5oYW5kbGUueiwgMSkKLS0gICAgICAg IGNvbXBhcmUoY29udHJvbC5zZWNvbmQuaGFuZGxlLnosIDApCi0gICAgIH0KLSAKLSAgICAgZnVu Y3Rpb24gdGVzdF9rZXlzX2RhdGEoKSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1kZWNsYXJh dGl2ZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBsYXRlCmluZGV4IGEz ZDkyMWY5ZWExOS4uMjJlNThmMTU3OGUzIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1kZWNsYXJh dGl2ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS90ZW1wbGF0ZQpAQCAt MSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1kZWNsYXJhdGl2ZScKIHBrZ25h bWU9cXQ2LWRlY2xhcmF0aXZlCi12ZXJzaW9uPTYuNC4yCit2ZXJzaW9uPTYuNS4wCiByZXZpc2lv bj0xCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9 T04iCkBAIC0xMSw3ICsxMSw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRl dj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCwgTEdQ TC0zLjAtb25seSwgR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5xdC5p byIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9x dC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdGRlY2xhcmF0aXZlLWV2ZXJ5 d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09YTRiZGQ5ODNkZTRlOWNiY2Ew Zjg1Yjc2N2RiZGQ4NTk4NzExNTU0ZTM3MGEwNmRhOGY1MDlkZWQ0NDMwZjViZAorY2hlY2tzdW09 ZjdkNjMxY2Q4ZWJjMTQ5MWRhZDBmMzBmMWI1MzI2YWU4MTJiZWU0YWQ3MDZlNjExNTc4MTZhODJi ZjU4OGM5NwogcmVwbGFjZXM9InF0Ni1xdWlja2NvbnRyb2xzMj49MCIKIAogaWYgWyAiJENST1NT X0JVSUxEIiBdOyB0aGVuCkBAIC05NiwxMyArOTYsMTMgQEAgcXQ2LWRlY2xhcmF0aXZlLWRldmVs X3BhY2thZ2UoKSB7CiAJcmVwbGFjZXM9InF0Ni1xdWlja2NvbnRyb2xzMi1kZXZlbD49MCIKIAlw a2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgdXNyL2xpYi9tZXRh dHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcGtn Y29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5z byIKIAkJdm1vdmUgInVzci9saWIvKi5hIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKLQkJdm1v dmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21vZHVsZXMKIAkJ Zm9yIF9mIGluICR7REVTVERJUn0vdXNyL2xpYi9jbWFrZS8qOyBkbwogCQkJY2FzZSAiJF9mIiBp bgogCQkJKlRvb2xzKSA7OwoKRnJvbSBlNTc4NjZkOTI5Yjg3N2ExMzNkNDQyNzMxYWMyOWRmYjQ4 MzZjZTI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIDxtZUBqb2hubnluYXRv ci5kZXY+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxOTozNTo1NSArMDIwMApTdWJqZWN0OiBbUEFU Q0ggMjMvMjddIHF0Ni1jb25uZWN0aXZpdHk6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtn cy9xdDYtY29ubmVjdGl2aXR5L3RlbXBsYXRlIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni1jb25uZWN0aXZpdHkvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHkvdGVtcGxh dGUKaW5kZXggNjZmY2U1YzAzOTdiLi41NzA1NDE2YmE0NDAgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv cXQ2LWNvbm5lY3Rpdml0eS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHkv dGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtY29ubmVj dGl2aXR5JwogcGtnbmFtZT1xdDYtY29ubmVjdGl2aXR5Ci12ZXJzaW9uPTYuNC4yCit2ZXJzaW9u PTYuNS4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJw ZXJsIHF0Ni1kZWNsYXJhdGl2ZS1ob3N0LXRvb2xzIgpAQCAtMTAsNyArMTAsNyBAQCBtYWludGFp bmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhAZ21haWwuY29tPiIKIGxp Y2Vuc2U9IkdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxl cz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUu Kn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0Y29ubmVjdGl2aXR5LWV2ZXJ5d2hlcmUtc3JjLSR7 dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09OGM5YjQ0YjIzOWU0MmI0YzRkNmZjYTVmNDI3OTA0 ZTY4ODg5MGIyYTFiZmI2YmNiZTVlNmUyYWZjZGM1ZDdhZgorY2hlY2tzdW09ZTc2MzY2NTNiYWI5 ODYzNjFhNzdiMjM0NTFkOTY2Yzg1NTkxNDI4YzA0MjI3NDE4OTBlZjBmYjE5NzY5OGYwNgogCiBx dDYtY29ubmVjdGl2aXR5LWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9 Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259CkBAIC0xOSwxMSArMTksMTEgQEAgcXQ2LWNvbm5lY3Rp dml0eS1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5j bHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJ CXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwog CQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZt b3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1v dmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gMzZiODAyN2QyMDQ1MDhkOWYwNDY0 MTk3OWNhNzMzYWFiNzc4Y2Y2ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8 bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzU6NTQgKzAyMDAK U3ViamVjdDogW1BBVENIIDI0LzI3XSBxdDYtY2hhcnRzOiB1cGRhdGUgdG8gNi41LjAuCgotLS0K IHNyY3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZSB8IDggKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtY2hhcnRzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtY2hhcnRzL3RlbXBsYXRlCmluZGV4IDU3 Y2U4ODE0MzM2Ny4uMmMwMGFjOWE0NGExIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1jaGFydHMv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtY2hhcnRzL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LWNoYXJ0cycKIHBrZ25hbWU9cXQ2LWNoYXJ0cwot dmVyc2lvbj02LjQuMgordmVyc2lvbj02LjUuMAogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21h a2UKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtaG9zdC10b29scyIKQEAg LTEwLDcgKzEwLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxp Y2Vuc2U9IkdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxl cz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUu Kn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0Y2hhcnRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lv bn0udGFyLnh6IgotY2hlY2tzdW09YTFhN2MwZTA4Yzg4NzBjZjk3ZDFjM2EyZWIzZjM3NjgxYWFl ZDAwYTYzYjViMmY3MGJkZjJkYTg3OGQwYTlhYQorY2hlY2tzdW09ZmNjZDFkNTBhN2Y1NmRlMDEx Zjc2NjhlMGU5MGYwMjIzMTZiZDQwNjVmYTdmOTFiMDc4NTc5NDAzZTJlMjZhOAogCiBwcmVfY2hl Y2soKSB7CiAJZXhwb3J0IFFNTDJfSU1QT1JUX1BBVEg9IiR3cmtzcmMvYnVpbGQvbGliL3F0Ni9x bWwiCkBAIC0yNiwxMSArMjYsMTEgQEAgcXQ2LWNoYXJ0cy1kZXZlbF9wYWNrYWdlKCkgewogCXBr Z19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtl Ci0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBl cwogCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNz CiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgotCQl2bW92 ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbW9kdWxlcwogCX0K IH0KCkZyb20gYmM2YjYwOGE4YjU2OWRmMjMwNGUzY2Q1ZmRmN2M1ODlhNDVkNjlkOCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBN b24sIDMgQXByIDIwMjMgMTk6MzU6NTMgKzAyMDAKU3ViamVjdDogW1BBVENIIDI1LzI3XSBxdDYt YmFzZTogdXBkYXRlIHRvIDYuNS4wLgoKLS0tCiBzcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvZmVl bmFibGVleGNlcHQucGF0Y2ggfCAxMyAtLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3F0Ni1iYXNlL3Rl bXBsYXRlICAgICAgICAgICAgICAgICAgICAgfCAxNiArKysrKysrKystLS0tLS0tCiAyIGZpbGVz IGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2ZlZW5hYmxlZXhjZXB0LnBhdGNoCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2ZlZW5hYmxlZXhjZXB0LnBhdGNoIGIv c3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2ZlZW5hYmxlZXhjZXB0LnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA5YjI2OGJjOTVkM2UuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL3F0Ni1iYXNlL3BhdGNoZXMvZmVlbmFibGVleGNlcHQucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwxMyArMCwwIEBACi0tLS0gcXQ2LWJhc2UtNi40LjIub3JpZy90ZXN0cy9hdXRvL2NvcmVs aWIvdGV4dC9xbG9jYWxlL3RzdF9xbG9jYWxlLmNwcAotKysrIHF0Ni1iYXNlLTYuNC4yL3Rlc3Rz L2F1dG8vY29yZWxpYi90ZXh0L3Fsb2NhbGUvdHN0X3Fsb2NhbGUuY3BwCi1AQCAtMTUwMiw4ICsx NTAyLDEwIEBAIHZvaWQgdHN0X1FMb2NhbGU6OmZwRXhjZXB0aW9ucygpCi0gICAgIGZlbnZfdCBl bnZwOwotICAgICBmZWdldGVudigmZW52cCk7Ci0gICAgIGZlY2xlYXJleGNlcHQoRkVfQUxMX0VY Q0VQVCk7Ci0rI2lmZGVmIF9fR0xJQkNfXwotICAgICBmZWVuYWJsZWV4Y2VwdChGRV9ESVZCWVpF Uk8gfCBGRV9PVkVSRkxPVyB8IEZFX1VOREVSRkxPVyB8IEZFX0lOVkFMSUQpOwotICNlbmRpZgot KyNlbmRpZgotIAotICAgICBRU3RyaW5nOjpudW1iZXIoMTAwMC4xMjQ1KTsKLSAgICAgUVN0cmlu Zzo6bnVtYmVyKDEuMSk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRlIGIv c3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZQppbmRleCBkZmRlNjBiZGI0MzguLjI2YzMyNzQ2NDFl NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0 Ni1iYXNlL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2 LWJhc2UnCiBwa2duYW1lPXF0Ni1iYXNlCi12ZXJzaW9uPTYuNC4yCi1yZXZpc2lvbj0zCit2ZXJz aW9uPTYuNS4wCityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9 Ii1ESU5TVEFMTF9EQVRBRElSPXNoYXJlL3F0NgogIC1ESU5TVEFMTF9BUkNIREFUQURJUj1saWIv cXQ2CkBAIC0yNiwxMyArMjYsMTMgQEAgbWFrZWRlcGVuZHM9InpsaWItZGV2ZWwgbGlienN0ZC1k ZXZlbCBkYnVzLWRldmVsCiAgbGlibWFyaWFkYmNsaWVudC1kZXZlbCBwb3N0Z3Jlc3FsLWxpYnMt ZGV2ZWwgbGliYXRvbWljLWRldmVsCiAgdW5peG9kYmMtZGV2ZWwgY3Vwcy1kZXZlbCBsaWJwcm94 eS1kZXZlbCBicm90bGktZGV2ZWwKICBzcWxpdGUtZGV2ZWwgVnVsa2FuLUhlYWRlcnMgbWl0LWty YjUtZGV2ZWwgdnVsa2FuLWxvYWRlciBsaWJiMi1kZXZlbAotIGxpYlhldmllLWRldmVsIGxpYlhj dXJzb3ItZGV2ZWwiCisgbGliWGV2aWUtZGV2ZWwgeGNiLXV0aWwtY3Vyc29yLWRldmVsIgogc2hv cnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAoUVQ2 KSIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwt My4wLW9ubHkgV0lUSCBRdC1HUEwtZXhjZXB0aW9uLTEuMCwgTEdQTC0zLjAtb25seSwgR1BMLTIu MC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5xdC5pbyIKIGRpc3RmaWxlcz0iaHR0 cHM6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7 dmVyc2lvbn0vc3VibW9kdWxlcy9xdGJhc2UtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIu eHoiCi1jaGVja3N1bT1hODhiYzZjZWRiYjM0ODc4YTQ5YTYyMmJhYTc5Y2FjZTc4Y2ZiYWQ0Zjk1 ZmRiZDM2NTZkZGIyMWM3MDU1MjVkCitjaGVja3N1bT1mZGUxYWE3YjRmYmU2NGVjMWI0ZmM1NzZh NTdmNDY4OGFkMTQ1M2QyZmFiNTljYmFkZDk0OGExMGE2ZWFmNWVmCiBweXRob25fdmVyc2lvbj0z CiAKIGlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgpAQCAtNjMsNyArNjMsOSBAQCBkb19jaGVj aygpIHsKIAkJdHN0X3FncmFwaGljc3ZpZXcgdHN0X3FhcHBsaWNhdGlvbiB0c3RfcWZvbnRjb21i b2JveAogCQl0c3RfcWxpbmVlZGl0IHRzdF9xbWVudWJhciB0c3RfcW9wZW5nbHdpZGdldAogCQl0 c3RfcXgxMWluZm8gdHN0X3Fjb21wbGV4dGV4dAotCQl0c3RfcWFkZHByZXJvdXRpbmUgdHN0X3F0 ZXh0Y3Vyc29yIgorCQl0c3RfcWFkZHByZXJvdXRpbmUgdHN0X3F0ZXh0Y3Vyc29yCisJCXRlc3Rf d2lkZ2V0c19hcHBfZGVwbG95bWVudCB0c3RfcW5ldHdvcmtpbnRlcmZhY2UKKwkJdHN0X3FncmFw aGljc3Byb3h5d2lkZ2V0IgogCSMgVW5rbm93biBwbGF0Zm9ybSBsaW51eC1nKysgOi8KIAlmYWls aW5nX3Rlc3RzKz0iIG1vY2twbHVnaW5zIHRlc3RfaW1wb3J0X3BsdWdpbnMKIAkgdGVzdF9zdGF0 aWNfcmVzb3VyY2VzIHRlc3RfZ2VuZXJhdGluZ19jcHBfZXhwb3J0cyIKQEAgLTI4MiwxMyArMjg0 LDEzIEBAIHF0Ni1iYXNlLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCWxv Y2FsIF9mCiAJCXZtb3ZlIHVzci9pbmNsdWRlCi0JCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCiAJ CXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCisJCXZtb3ZlIHVzci9saWIvcXQ2L21ldGF0eXBlcwog CQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzL21vZHVsZXMKIAkJdm1vdmUgInVzci9saWIvKi5h IgogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKLQkJdm1v dmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L21vZHVsZXMKIAkJ Zm9yIF9mIGluICR7REVTVERJUn0vdXNyL2xpYi9jbWFrZS8qOyBkbwogCQkJY2FzZSAiJF9mIiBp bgogCQkJKlRvb2xzfCpIb3N0SW5mbykgOzsKCkZyb20gMTRmMmIxMzFhY2M3NmU3OTNkM2I4Mjli MDk1OWM4M2Y3NWI4OTFiNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9obiA8bWVA am9obm55bmF0b3IuZGV2PgpEYXRlOiBNb24sIDMgQXByIDIwMjMgMTk6MzU6NDQgKzAyMDAKU3Vi amVjdDogW1BBVENIIDI2LzI3XSBxdDYtM2Q6IHVwZGF0ZSB0byA2LjUuMC4KCi0tLQogc3JjcGtn cy9xdDYtM2QvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtM2QvdGVtcGxhdGUg Yi9zcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZQppbmRleCA5NTUxOTY2OGQxY2MuLjRiN2ZiZWUwNTYy ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtM2QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYt M2QvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtM2Qn CiBwa2duYW1lPXF0Ni0zZAotdmVyc2lvbj02LjQuMgordmVyc2lvbj02LjUuMAogcmV2aXNpb249 MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRp dmUtaG9zdC10b29scyIKQEAgLTExLDcgKzExLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9o bm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBP UiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEu MCIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2Fk LnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJt b2R1bGVzL3F0M2QtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT00 NTZjMjRjM2QzODQwMjczZTcyMGI3OWZlOGZlZDQ1MmZhODg5YjU0Y2JhZTZiNDVkYjFkMWRlZDRk YTM3MzQxCitjaGVja3N1bT0yMGIyNTAwMjMyNDRmMjFkZmJlYzVjMDA3YmFjODA1ZDQ0OTRmYTQ2 M2E2ZGQyNzUzOGFmYjFhODFiMjMwODE2CiAKIHF0Ni0zZC1kZXZlbF9wYWNrYWdlKCkgewogCWRl cGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKCkZyb20gMWQ4Y2M3 NzhlZTZiNTY0N2Q0Y2I1OGY0NDI0ZGI0OWFhMGU0YWFjNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogSm9obiA8bWVAam9obm55bmF0b3IuZGV2PgpEYXRlOiBUaHUsIDYgQXByIDIwMjMg MTE6Mjg6MzIgKzAyMDAKU3ViamVjdDogW1BBVENIIDI3LzI3XSB0ZWxlZ3JhbS1kZXNrdG9wOiBy ZWJ1aWxkIGFnYWluc3QgcXQ2LjUuMAoKLS0tCiBzcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVt cGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24o LSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUgYi9zcmNw a2dzL3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUKaW5kZXggYWFlOWYzMTM1MTAwLi43OTQzYjM2 ZjBiOGEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdGVsZWdyYW0tZGVza3RvcC90ZW1wbGF0ZQorKysg Yi9zcmNwa2dzL3RlbGVncmFtLWRlc2t0b3AvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRl bXBsYXRlIGZpbGUgZm9yICd0ZWxlZ3JhbS1kZXNrdG9wJwogcGtnbmFtZT10ZWxlZ3JhbS1kZXNr dG9wCiB2ZXJzaW9uPTQuNi41Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1j bWFrZQogYnVpbGRfaGVscGVyPSJxZW11IgogY29uZmlndXJlX2FyZ3M9Ii1EVERFU0tUT1BfQVBJ X0lEPTIwOTIzNQo= --===============4301238854918927821==--