From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: update to 115.0.5790.98 Date: Fri, 07 Aug 2026 16:05:14 GMT Message-ID: <178611871493.1.9419806791570708543.rpms-chromium-1f8fd846d2cc@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: 1f8fd846d2cc72c90c73c9867619f0da43b9c816 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2hyb21pdW0KQnJh bmNoIDogZXBlbDktbmV4dApDb21taXQgOiAxZjhmZDg0NmQyY2M3MmM5MGM3M2M5ODY3NjE5ZjBk YTQzYjljODE2CkF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CkRhdGUgICA6IDIw MjMtMDctMTlUMDk6MjE6MDgrMDI6MDAKU3RhdHMgIDogKzEwMTAvLTEzMzUgaW4gMjMgZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2Nocm9taXVtL2Mv MWY4ZmQ4NDZkMmNjNzJjOTBjNzNjOTg2NzYxOWYwZGE0M2I5YzgxNj9icmFuY2g9ZXBlbDktbmV4 dAoKTG9nOgp1cGRhdGUgdG8gMTE1LjAuNTc5MC45OAoKLS0tCmRpZmYgLS1naXQgYS9jaHJvbWl1 bS0xMDgtc3lzdGVtLWJyb3RsaS5wYXRjaCBiL2Nocm9taXVtLTEwOC1zeXN0ZW0tYnJvdGxpLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNWE0ZWNjLi4wMDAwMDAwCi0tLSBh L2Nocm9taXVtLTEwOC1zeXN0ZW0tYnJvdGxpLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYg KzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbmV0L2ZpbHRlci9icm90 bGlfc291cmNlX3N0cmVhbS5jYy5tZSBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9uZXQvZmlsdGVy L2Jyb3RsaV9zb3VyY2Vfc3RyZWFtLmNjCi0tLS0gY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbmV0 L2ZpbHRlci9icm90bGlfc291cmNlX3N0cmVhbS5jYy5tZQkyMDIyLTEyLTMwIDE2OjAwOjU4LjMy MDMxODMxMCArMDEwMAotKysrIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L25ldC9maWx0ZXIvYnJv dGxpX3NvdXJjZV9zdHJlYW0uY2MJMjAyMi0xMi0zMCAxNjowMToyNC45Mjg1ODE2MzEgKzAxMDAK LUBAIC0xMCw3ICsxMCw3IEBACi0gI2luY2x1ZGUgImJhc2UvbWVtb3J5L3Jhd19wdHIuaCIKLSAj aW5jbHVkZSAiYmFzZS9tZXRyaWNzL2hpc3RvZ3JhbV9tYWNyb3MuaCIKLSAjaW5jbHVkZSAibmV0 L2Jhc2UvaW9fYnVmZmVyLmgiCi0tI2luY2x1ZGUgInRoaXJkX3BhcnR5L2Jyb3RsaS9pbmNsdWRl L2Jyb3RsaS9kZWNvZGUuaCIKLSsjaW5jbHVkZSA8YnJvdGxpL2RlY29kZS5oPgotIAotIG5hbWVz cGFjZSBuZXQgewotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbmV0L3NzbC9j ZXJ0X2NvbXByZXNzaW9uLmNjLm1lIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L25ldC9zc2wvY2Vy dF9jb21wcmVzc2lvbi5jYwotLS0tIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L25ldC9zc2wvY2Vy dF9jb21wcmVzc2lvbi5jYy5tZQkyMDIyLTEyLTMwIDE1OjU3OjU5Ljg1OTU0Mzk5MyArMDEwMAot KysrIGNocm9taXVtLTEwOC4wLjUzNTkuMTI0L25ldC9zc2wvY2VydF9jb21wcmVzc2lvbi5jYwky MDIyLTEyLTMwIDE2OjAwOjQ4LjU2MDIyMTcyMyArMDEwMAotQEAgLTksNyArOSw3IEBACi0gI2lu Y2x1ZGUgInRoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvaW5jbHVkZS9vcGVuc3NsL3NzbC5oIgot IAotICNpZiAhZGVmaW5lZChORVRfRElTQUJMRV9CUk9UTEkpCi0tI2luY2x1ZGUgInRoaXJkX3Bh cnR5L2Jyb3RsaS9pbmNsdWRlL2Jyb3RsaS9kZWNvZGUuaCIKLSsjaW5jbHVkZSA8YnJvdGxpL2Rl Y29kZS5oPgotICNlbmRpZgotIAotIG5hbWVzcGFjZSBuZXQgewotZGlmZiAtdXAgY2hyb21pdW0t MTA4LjAuNTM1OS4xMjQvdWkvYmFzZS9yZXNvdXJjZS9yZXNvdXJjZV9idW5kbGUuY2MubWUgY2hy b21pdW0tMTA4LjAuNTM1OS4xMjQvdWkvYmFzZS9yZXNvdXJjZS9yZXNvdXJjZV9idW5kbGUuY2MK LS0tLSBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC91aS9iYXNlL3Jlc291cmNlL3Jlc291cmNlX2J1 bmRsZS5jYy5tZQkyMDIyLTEyLTMwIDIxOjEyOjI3LjA1ODM0Njc5NyArMDEwMAotKysrIGNocm9t aXVtLTEwOC4wLjUzNTkuMTI0L3VpL2Jhc2UvcmVzb3VyY2UvcmVzb3VyY2VfYnVuZGxlLmNjCTIw MjItMTItMzAgMjE6MTM6NTguMzYzMTgzNzk1ICswMTAwCi1AQCAtMzEsNyArMzEsNyBAQAotICNp bmNsdWRlICJidWlsZC9idWlsZF9jb25maWcuaCIKLSAjaW5jbHVkZSAibmV0L2ZpbHRlci9nemlw X2hlYWRlci5oIgotICNpbmNsdWRlICJza2lhL2V4dC9pbWFnZV9vcGVyYXRpb25zLmgiCi0tI2lu Y2x1ZGUgInRoaXJkX3BhcnR5L2Jyb3RsaS9pbmNsdWRlL2Jyb3RsaS9kZWNvZGUuaCIKLSsjaW5j bHVkZSA8YnJvdGxpL2RlY29kZS5oPgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1 ZGUvY29yZS9Ta0JpdG1hcC5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUv Y29yZS9Ta0NvbG9yLmgiCi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L3psaWIvZ29vZ2xlL2NvbXBy ZXNzaW9uX3V0aWxzLmgiCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE0LWFkZF9xdDZfbGludXh1 aV9iYWNrZW5kLnBhdGNoIGIvY2hyb21pdW0tMTE0LWFkZF9xdDZfbGludXh1aV9iYWNrZW5kLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZWYyNzE0Li4wMDAwMDAwCi0tLSBh L2Nocm9taXVtLTExNC1hZGRfcXQ2X2xpbnV4dWlfYmFja2VuZC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDU0NSArMCwwIEBACi1jb21taXQgNzVmNGI0OGViNzFkNDg3MmJhM2FjNmM5ZmMzNjYy YTYwZWI0MTc1ZAotQXV0aG9yOiBUb20gQW5kZXJzb24gPHRob21hc2FuZGVyc29uQGNocm9taXVt Lm9yZz4KLURhdGU6ICAgVGh1IEFwciAyNyAwMjoyMTozNCAyMDIzICswMDAwCi0KLSAgICBBZGQg UVQ2IExpbnV4VWkgYmFja2VuZAotICAgIAotICAgIC0gRW5hYmxlIFFUNiBieSBkZWZhdWx0IG9u IEtERTYKLSAgICAtIElmIFFUNiBsb2FkIGZhaWxzLCBmYWxsYmFjayB0byBRVDUgKGFuZCB2aWNl IHZlcnNhKQotICAgIC0gQWRkIHVzZV9xdDYgYnVpbGQgZmxhZyBmb3IgcGFja2FnZXIgY29udHJv bAotICAgIC0gQWRkIC0tcXQtdmVyc2lvbiBydW50aW1lIGZsYWcgZm9yIHVzZXIgY29udHJvbAot ICAgIAotICAgIFI9dGhlc3RpZwotICAgIAotICAgIENoYW5nZS1JZDogSWIxZDlmNjE4MzY2M2Vj ZjdiOWRkZmU5ZDdmM2UzNDQyZTUzNGNjZGEKLSAgICBGaXhlZDogMTQzNDc1NAotICAgIFJldmll d2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21p dW0vc3JjLysvNDQ3NTM2OQotICAgIENvbW1pdC1RdWV1ZTogVGhvbWFzIEFuZGVyc29uIDx0aG9t YXNhbmRlcnNvbkBjaHJvbWl1bS5vcmc+Ci0gICAgUmV2aWV3ZWQtYnk6IExlaSBaaGFuZyA8dGhl c3RpZ0BjaHJvbWl1bS5vcmc+Ci0gICAgQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21h aW5AeyMxMTM2Mjk1fQotCi1kaWZmIC0tZ2l0IGEvY2hyb21lL2luc3RhbGxlci9saW51eC9CVUlM RC5nbiBiL2Nocm9tZS9pbnN0YWxsZXIvbGludXgvQlVJTEQuZ24KLWluZGV4IDU2MzliOWZmYzk5 NmUuLjNiYWNkMzM5OGQ0YTIgMTAwNjQ0Ci0tLS0gYS9jaHJvbWUvaW5zdGFsbGVyL2xpbnV4L0JV SUxELmduCi0rKysgYi9jaHJvbWUvaW5zdGFsbGVyL2xpbnV4L0JVSUxELmduCi1AQCAtMTA5LDYg KzEwOSw5IEBAIGlmICh1c2VfcXQpIHsKLSAgICMgdG8gcHJldmVudCBhIGhhcmQgZGVwZW5kZW5j eSBvbiBRVCBmb3IgdGhlIHBhY2thZ2UuCi0gICBwYWNrYWdpbmdfZmlsZXMgKz0gWyAiJHJvb3Rf b3V0X2Rpci9saWJxdDVfc2hpbS5zbyIgXQotIH0KLStpZiAodXNlX3F0NikgewotKyAgcGFja2Fn aW5nX2ZpbGVzICs9IFsgIiRyb290X291dF9kaXIvbGlicXQ2X3NoaW0uc28iIF0KLSt9Ci0gCi0g YWN0aW9uX2ZvcmVhY2goImNhbGN1bGF0ZV9kZWJfZGVwZW5kZW5jaWVzIikgewotICAgZGVwcyA9 IFsgIjppbnN0YWxsZXJfZGVwcyIgXQotQEAgLTI0OSw2ICsyNTIsMTIgQEAgaWYgKHVzZV9xdCkg ewotICAgICBkZXBzID0gWyAiLy91aS9xdDpxdDVfc2hpbSIgXQotICAgfQotIH0KLStpZiAodXNl X3F0NikgewotKyAgc3RyaXBfYmluYXJ5KCJzdHJpcF9xdDZfc2hpbSIpIHsKLSsgICAgYmluYXJ5 X2lucHV0ID0gIiRyb290X291dF9kaXIvbGlicXQ2X3NoaW0uc28iCi0rICAgIGRlcHMgPSBbICIv L3VpL3F0OnF0Nl9zaGltIiBdCi0rICB9Ci0rfQotIAotICMgVGhpcyB0YXJnZXQgYnVpbGRzIGFs bCAibm9ybWFsIiBMaW51eCBpbnN0YWxsZXJzLiAgWW91IG11c3Qgc2V0Ci0gIyBpc19jb21wb25l bnRfYnVpbGQ9ZmFsc2UgYmVmb3JlIGJ1aWxkaW5nIHRoaXMgdGFyZ2V0LgotQEAgLTQ0Nyw2ICs0 NTYsMTIgQEAgZ3JvdXAoImluc3RhbGxlcl9kZXBzIikgewotICAgICAgICIvL3VpL3F0OnF0NV9z aGltIiwKLSAgICAgXQotICAgfQotKyAgaWYgKHVzZV9xdDYpIHsKLSsgICAgcHVibGljX2RlcHMg Kz0gWwotKyAgICAgICI6c3RyaXBfcXQ2X3NoaW0iLAotKyAgICAgICIvL3VpL3F0OnF0Nl9zaGlt IiwKLSsgICAgXQotKyAgfQotIH0KLSAKLSAjIENyZWF0ZXMgLmRlYiBhbmQgLnJwbSAoUlBNIGZv ciBub24tQ2hyb21lT1Mgb25seSkgaW5zdGFsbGVyIHBhY2thZ2VzLgotZGlmZiAtLWdpdCBhL2No cm9tZS9pbnN0YWxsZXIvbGludXgvY29tbW9uL2luc3RhbGxlci5pbmNsdWRlIGIvY2hyb21lL2lu c3RhbGxlci9saW51eC9jb21tb24vaW5zdGFsbGVyLmluY2x1ZGUKLWluZGV4IDhkNzZmMWYyODBi MDEuLjQzOWVmNWNjYjBmNTIgMTAwNjQ0Ci0tLS0gYS9jaHJvbWUvaW5zdGFsbGVyL2xpbnV4L2Nv bW1vbi9pbnN0YWxsZXIuaW5jbHVkZQotKysrIGIvY2hyb21lL2luc3RhbGxlci9saW51eC9jb21t b24vaW5zdGFsbGVyLmluY2x1ZGUKLUBAIC0yNTQsNiArMjU0LDExIEBAIHN0YWdlX2luc3RhbGxf Y29tbW9uKCkgewotICAgICBzdHJpcHBlZGZpbGU9IiR7T1VUUFVURElSfS8ke2ZpbGV9LnN0cmlw cGVkIgotICAgICBpbnN0YWxsIC1tICR7U0hMSUJfUEVSTVN9ICIke3N0cmlwcGVkZmlsZX0iICIk e1NUQUdFRElSfS8ke0lOU1RBTExESVJ9LyR7ZmlsZX0iCi0gICBmaQotKyAgaWYgWyAtZiAiJHtP VVRQVVRESVJ9L2xpYnF0Nl9zaGltLnNvIiBdOyB0aGVuCi0rICAgIGZpbGU9ImxpYnF0Nl9zaGlt LnNvIgotKyAgICBzdHJpcHBlZGZpbGU9IiR7T1VUUFVURElSfS8ke2ZpbGV9LnN0cmlwcGVkIgot KyAgICBpbnN0YWxsIC1tICR7U0hMSUJfUEVSTVN9ICIke3N0cmlwcGVkZmlsZX0iICIke1NUQUdF RElSfS8ke0lOU1RBTExESVJ9LyR7ZmlsZX0iCi0rICBmaQotIAotICAgIyBsaWJjKysKLSAgIGlm IFsgLWYgIiR7T1VUUFVURElSfS9saWIvbGliYysrLnNvIiBdOyB0aGVuCi1kaWZmIC0tZ2l0IGEv dWkvcXQvQlVJTEQuZ24gYi91aS9xdC9CVUlMRC5nbgotaW5kZXggYmJlZGUwMGRhYTRkMC4uNmE2 Nzk2MWVkYzJmNyAxMDA2NDQKLS0tLSBhL3VpL3F0L0JVSUxELmduCi0rKysgYi91aS9xdC9CVUlM RC5nbgotQEAgLTExLDEzICsxMSw2IEBAIGFzc2VydCh1c2VfcXQpCi0gYXNzZXJ0KGlzX2xpbnV4 KQotIGFzc2VydCghaXNfY2FzdG9zKQotIAotLXBrZ19jb25maWcoInF0NV9jb25maWciKSB7Ci0t ICBwYWNrYWdlcyA9IFsKLS0gICAgIlF0NUNvcmUiLAotLSAgICAiUXQ1V2lkZ2V0cyIsCi0tICBd Ci0tfQotLQotIGNvbmZpZygicXRfaW50ZXJuYWxfY29uZmlnIikgewotICAgaWYgKGlzX2NsYW5n KSB7Ci0gICAgICMgbGlic3RkYysrIGhlYWRlcnMgYXJlIGluY29tcGF0aWJsZSB3aXRoIC1mY29t cGxldGUtbWVtYmVyLXBvaW50ZXJzLgotQEAgLTU2LDQwICs0OSw1NyBAQCBpZiAoIXVzZV9zeXNy b290KSB7Ci0gICB9Ci0gfQotIAotLXNoYXJlZF9saWJyYXJ5KCJxdDVfc2hpbSIpIHsKLS0gIHZp c2liaWxpdHkgPSBbCi0tICAgICI6cXQiLAotLSAgICAiLy9jaHJvbWUvaW5zdGFsbGVyL2xpbnV4 OioiLAotLSAgXQotLQotLSAgIyBTaW5jZSBxdF9zaGltIGlzIGEgc2hhcmVkIGxpYnJhcnkgZXZl biBpbiBub24tY29tcG9uZW50IGJ1aWxkcywgaXQgc2hvdWxkbid0Ci0tICAjIGRlcGVuZCBvbiBh bnkgb3RoZXIgdGFyZ2V0cyBzaW5jZSB0aGF0IHdvdWxkIGR1cGxpY2F0ZSBjb2RlIGJldHdlZW4g YmluYXJpZXMKLS0gICMgbGVhZGluZyB0byBpbmNyZWFzZWQgc2l6ZSBhbmQgcG90ZW50aWFsIGlz c3VlcyBmcm9tIGR1cGxpY2F0ZWQgZ2xvYmFsIHN0YXRlLgotLSAgbm9fZGVmYXVsdF9kZXBzID0g dHJ1ZQotLSAgYXNzZXJ0X25vX2RlcHMgPSBbCi0tICAgICIvL2Jhc2UiLAotLSAgICAiLy9idWls ZHRvb2xzL3RoaXJkX3BhcnR5L2xpYmMrKyIsCi0tICBdCi0tICBkZXBzID0gWyAiOnF0X2ludGVy ZmFjZSIgXQotLQotLSAgY29uZmlncyAtPSBbICIvL2J1aWxkL2NvbmZpZy9jb21waWxlcjpydW50 aW1lX2xpYnJhcnkiIF0KLS0gIGNvbmZpZ3MgKz0gWwotLSAgICAiOnF0X2ludGVybmFsX2NvbmZp ZyIsCi0tICAgICI6cXQ1X2NvbmZpZyIsCi0tICBdCi0rdGVtcGxhdGUoInF0X3NoaW0iKSB7Ci0r ICBwa2dfY29uZmlnKCJxdCIgKyBpbnZva2VyLnF0X3ZlcnNpb24gKyAiX2NvbmZpZyIpIHsKLSsg ICAgcGFja2FnZXMgPSBbCi0rICAgICAgIlF0IiArIGludm9rZXIucXRfdmVyc2lvbiArICJDb3Jl IiwKLSsgICAgICAiUXQiICsgaW52b2tlci5xdF92ZXJzaW9uICsgIldpZGdldHMiLAotKyAgICBd Ci0rICB9Ci0gCi0tICBwdWJsaWMgPSBbXQotLSAgc291cmNlcyA9IFsKLS0gICAgInF0X3NoaW0u Y2MiLAotLSAgICAicXRfc2hpbS5oIiwKLS0gIF0KLS0gIGlmICh1c2Vfc3lzcm9vdCkgewotLSAg ICAjIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgd2l0aCBnZW5fcXRfc2hpbV9tb2Muc2ggb24gYW4g YW1kNjQgc3lzdGVtIHRvCi0tICAgICMgYXZvaWQgYSBidWlsZC10aW1lIGRlcGVuZGVuY3kgb24g YG1vY2Agd2hlbiB1c2luZyB0aGUgc3lzcm9vdC4KLS0gICAgc291cmNlcyArPSBbICJxdF9zaGlt X21vYy5jYyIgXQotLSAgfSBlbHNlIHsKLS0gICAgc291cmNlcyArPSBnZXRfdGFyZ2V0X291dHB1 dHMoIjpnZW5lcmF0ZV9tb2MiKQotLSAgICBkZXBzICs9IFsgIjpnZW5lcmF0ZV9tb2MiIF0KLSsg IHNoYXJlZF9saWJyYXJ5KHRhcmdldF9uYW1lKSB7Ci0rICAgIHZpc2liaWxpdHkgPSBbCi0rICAg ICAgIjpxdCIsCi0rICAgICAgIi8vY2hyb21lL2luc3RhbGxlci9saW51eDoqIiwKLSsgICAgXQot KwotKyAgICAjIFNpbmNlIHF0X3NoaW0gaXMgYSBzaGFyZWQgbGlicmFyeSBldmVuIGluIG5vbi1j b21wb25lbnQgYnVpbGRzLCBpdCBzaG91bGRuJ3QKLSsgICAgIyBkZXBlbmQgb24gYW55IG90aGVy IHRhcmdldHMgc2luY2UgdGhhdCB3b3VsZCBkdXBsaWNhdGUgY29kZSBiZXR3ZWVuIGJpbmFyaWVz Ci0rICAgICMgbGVhZGluZyB0byBpbmNyZWFzZWQgc2l6ZSBhbmQgcG90ZW50aWFsIGlzc3VlcyBm cm9tIGR1cGxpY2F0ZWQgZ2xvYmFsIHN0YXRlLgotKyAgICBub19kZWZhdWx0X2RlcHMgPSB0cnVl Ci0rICAgIGFzc2VydF9ub19kZXBzID0gWwotKyAgICAgICIvL2Jhc2UiLAotKyAgICAgICIvL2J1 aWxkdG9vbHMvdGhpcmRfcGFydHkvbGliYysrIiwKLSsgICAgXQotKyAgICBkZXBzID0gWyAiOnF0 X2ludGVyZmFjZSIgXQotKwotKyAgICBjb25maWdzIC09IFsgIi8vYnVpbGQvY29uZmlnL2NvbXBp bGVyOnJ1bnRpbWVfbGlicmFyeSIgXQotKyAgICBjb25maWdzICs9IFsKLSsgICAgICAiOnF0X2lu dGVybmFsX2NvbmZpZyIsCi0rICAgICAgIjpxdCIgKyBpbnZva2VyLnF0X3ZlcnNpb24gKyAiX2Nv bmZpZyIsCi0rICAgIF0KLSsKLSsgICAgcHVibGljID0gW10KLSsgICAgc291cmNlcyA9IFsKLSsg ICAgICAicXRfc2hpbS5jYyIsCi0rICAgICAgInF0X3NoaW0uaCIsCi0rICAgIF0KLSsgICAgaWYg KHVzZV9zeXNyb290KSB7Ci0rICAgICAgIyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIHdpdGggZ2Vu X3F0X3NoaW1fbW9jLnNoIG9uIGFuIGFtZDY0IHN5c3RlbSB0bwotKyAgICAgICMgYXZvaWQgYSBi dWlsZC10aW1lIGRlcGVuZGVuY3kgb24gYG1vY2Agd2hlbiB1c2luZyB0aGUgc3lzcm9vdC4KLSsg ICAgICBzb3VyY2VzICs9IFsgInF0IiArIGludm9rZXIucXRfdmVyc2lvbiArICJfc2hpbV9tb2Mu Y2MiIF0KLSsgICAgfSBlbHNlIHsKLSsgICAgICBzb3VyY2VzICs9IGdldF90YXJnZXRfb3V0cHV0 cygiOmdlbmVyYXRlX21vYyIpCi0rICAgICAgZGVwcyArPSBbICI6Z2VuZXJhdGVfbW9jIiBdCi0r ICAgIH0KLSsgIH0KLSt9Ci0rcXRfc2hpbSgicXQ1X3NoaW0iKSB7Ci0rICBxdF92ZXJzaW9uID0g IjUiCi0rfQotK2lmICh1c2VfcXQ2KSB7Ci0rICBxdF9zaGltKCJxdDZfc2hpbSIpIHsKLSsgICAg cXRfdmVyc2lvbiA9ICI2IgotICAgfQotIH0KLSAKLUBAIC0xMDAsNiArMTEwLDkgQEAgY29tcG9u ZW50KCJxdCIpIHsKLSAKLSAgICMgcXRfc2hpbSBpcyBpbiBkYXRhX2RlcHMgc2luY2Ugd2Ugd2Fu dCB0byBsb2FkIGl0IG1hbnVhbGx5LgotICAgZGF0YV9kZXBzID0gWyAiOnF0NV9zaGltIiBdCi0r ICBpZiAodXNlX3F0NikgewotKyAgICBkYXRhX2RlcHMgKz0gWyAiOnF0Nl9zaGltIiBdCi0rICB9 Ci0gICBkZXBzID0gWwotICAgICAiOnF0X2ludGVyZmFjZSIsCi0gICAgICIvL2Jhc2UiLAotZGlm ZiAtLWdpdCBhL3VpL3F0L2dlbl9xdF9zaGltX21vYy5zaCBiL3VpL3F0L2dlbl9xdF9zaGltX21v Yy5zaAotaW5kZXggNzQyNzJkNTYxMWRhYi4uOWQwMmMyZGZjYjEyZiAxMDA3NTUKLS0tLSBhL3Vp L3F0L2dlbl9xdF9zaGltX21vYy5zaAotKysrIGIvdWkvcXQvZ2VuX3F0X3NoaW1fbW9jLnNoCi1A QCAtNiwxMSArNiwxNSBAQAotIHNldCAtbyBub3Vuc2V0Ci0gc2V0IC1vIGVycmV4aXQKLSAKLS1V Ukw9Imh0dHA6Ly9hcmNoaXZlLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbi9xL3F0YmFzZS1v cGVuc291cmNlLXNyYyIKLS1QQUNLQUdFPSJxdGJhc2U1LWRldi10b29sc181LjMuMitkZnNnLTQr ZGViOHUyX2FtZDY0LmRlYiIKLS1TSEEyNTY9Ijc3MDM3NTRmMmMyMzBjZTZiOGI2MDMwYjZjMWU3 ZTAzMDg5OWFhOWY0NWE0MTU0OThkZjA0YmQ1ZWMwNjFhNzYiCi0tU0NSSVBUX0RJUj0iJChjZCAi JChkaXJuYW1lICIke0JBU0hfU09VUkNFWzBdfSIpIiAmJiBwd2QpIgotK1VSTDU9Imh0dHA6Ly9h cmNoaXZlLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbi9xL3F0YmFzZS1vcGVuc291cmNlLXNy YyIKLStQQUNLQUdFNT0icXRiYXNlNS1kZXYtdG9vbHNfNS4zLjIrZGZzZy00K2RlYjh1Ml9hbWQ2 NC5kZWIiCi0rU0hBMjU2XzU9Ijc3MDM3NTRmMmMyMzBjZTZiOGI2MDMwYjZjMWU3ZTAzMDg5OWFh OWY0NWE0MTU0OThkZjA0YmQ1ZWMwNjFhNzYiCi0rCi0rVVJMNj0iaHR0cDovL2FyY2hpdmUudWJ1 bnR1LmNvbS91YnVudHUvcG9vbC91bml2ZXJzZS9xL3F0Ni1iYXNlIgotK1BBQ0tBR0U2PSJxdDYt YmFzZS1kZXYtdG9vbHNfNi4yLjQrZGZzZy0ydWJ1bnR1MV9hbWQ2NC5kZWIiCi0rU0hBMjU2XzY9 IjhkZGRmYzc5ZTc3NDMxODViMDdjNDc4Y2EwZjk2YTRjY2MxM2Q0OGVjY2NjNDJmNDRkMjU3OGMz M2M3ZDliOGIiCi0gCi0rU0NSSVBUX0RJUj0iJChjZCAiJChkaXJuYW1lICIke0JBU0hfU09VUkNF WzBdfSIpIiAmJiBwd2QpIgotIFRNUF9ESVI9JChta3RlbXAgLWQgLXAgIiRTQ1JJUFRfRElSIikK LSBmdW5jdGlvbiBjbGVhbnVwIHsKLSAgICAgcm0gLXJmICIkVE1QX0RJUiIKLUBAIC0xOCwxNiAr MjIsMjIgQEAgZnVuY3Rpb24gY2xlYW51cCB7Ci0gdHJhcCBjbGVhbnVwIEVYSVQKLSAKLSBjZCAi JFRNUF9ESVIiCi0td2dldCAiJFVSTC8kUEFDS0FHRSIKLS1lY2hvICIkU0hBMjU2ICAkUEFDS0FH RSIgfCBzaGFzdW0gLWEgMjU2IC1jCi0tZHBrZyAteCAiJFBBQ0tBR0UiIC4KLS1jYXQgPiAuLi9x dF9zaGltX21vYy5jYyA8PEVPRgotLS8vIENvcHlyaWdodCAyMDIyIFRoZSBDaHJvbWl1bSBBdXRo b3JzCi0rd2dldCAiJFVSTDUvJFBBQ0tBR0U1IgotK2VjaG8gIiRTSEEyNTZfNSAgJFBBQ0tBR0U1 IiB8IHNoYXN1bSAtYSAyNTYgLWMKLStkcGtnIC14ICIkUEFDS0FHRTUiIC4KLSt3Z2V0ICIkVVJM Ni8kUEFDS0FHRTYiCi0rZWNobyAiJFNIQTI1Nl82ICAkUEFDS0FHRTYiIHwgc2hhc3VtIC1hIDI1 NiAtYwotK2Rwa2cgLXggIiRQQUNLQUdFNiIgLgotK2NhdCA+IC4uL3F0NV9zaGltX21vYy5jYyA8 PEVPRgotKy8vIENvcHlyaWdodCAyMDIzIFRoZSBDaHJvbWl1bSBBdXRob3JzCi0gLy8gVXNlIG9m IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0 IGNhbiBiZQotIC8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0gCi0gRU9GCi0gY2QgIiRT Q1JJUFRfRElSLy4uLy4uIgotK2NwIHVpL3F0L3F0NV9zaGltX21vYy5jYyB1aS9xdC9xdDZfc2hp bV9tb2MuY2MKLSAiJFRNUF9ESVIvdXNyL2xpYi94ODZfNjQtbGludXgtZ251L3F0NS9iaW4vbW9j IiB1aS9xdC9xdF9zaGltLmggXAotLSAgICA+PiB1aS9xdC9xdF9zaGltX21vYy5jYwotLWdpdCBj bCBmb3JtYXQgdWkvcXQvcXRfc2hpbV9tb2MuY2MKLSsgICAgPj4gdWkvcXQvcXQ1X3NoaW1fbW9j LmNjCi0rIiRUTVBfRElSLy91c3IvbGliL3F0Ni9saWJleGVjL21vYyIgdWkvcXQvcXRfc2hpbS5o IFwKLSsgICAgPj4gdWkvcXQvcXQ2X3NoaW1fbW9jLmNjCi0rZ2l0IGNsIGZvcm1hdCB1aS9xdC9x dDVfc2hpbV9tb2MuY2MgdWkvcXQvcXQ2X3NoaW1fbW9jLmNjCi1kaWZmIC0tZ2l0IGEvdWkvcXQv cXQuZ25pIGIvdWkvcXQvcXQuZ25pCi1pbmRleCAyN2JiNjM3NTg4MGI3Li5mNDU4MjMyNzBjYjkx IDEwMDY0NAotLS0tIGEvdWkvcXQvcXQuZ25pCi0rKysgYi91aS9xdC9xdC5nbmkKLUBAIC00LDkg KzQsMTcgQEAKLSAKLSBpbXBvcnQoIi8vYnVpbGQvY29uZmlnL2Nocm9tZWNhc3RfYnVpbGQuZ25p IikKLSBpbXBvcnQoIi8vYnVpbGQvY29uZmlnL3Nhbml0aXplcnMvc2FuaXRpemVycy5nbmkiKQot K2ltcG9ydCgiLy9idWlsZC9jb25maWcvc3lzcm9vdC5nbmkiKQotIAotIGRlY2xhcmVfYXJncygp IHsKLSAgICMgVE9ETyhodHRwczovL2NyYnVnLmNvbS8xNDI0NDM1KTogQWxsb3cgUVQgaW4gTVNB TiBidWlsZHMgb25jZSBRVCBpcwotICAgIyBhZGRlZCB0byB0aGUgaW5zdHJ1bWVudGVkIGxpYnJh cmllcy4KLSAgIHVzZV9xdCA9IGlzX2xpbnV4ICYmICFpc19jYXN0b3MgJiYgIWlzX21zYW4KLSB9 Ci0rCi0rZGVjbGFyZV9hcmdzKCkgewotKyAgdXNlX3F0NiA9IHVzZV9xdCAmJiB1c2Vfc3lzcm9v dAotK30KLSsKLSsjIHVzZV9xdDYgPT4gdXNlX3F0Ci0rYXNzZXJ0KCF1c2VfcXQ2IHx8IHVzZV9x dCkKLWRpZmYgLS1naXQgYS91aS9xdC9xdF9zaGltX21vYy5jYyBiL3VpL3F0L3F0NV9zaGltX21v Yy5jYwotc2ltaWxhcml0eSBpbmRleCA5NSUKLXJlbmFtZSBmcm9tIHVpL3F0L3F0X3NoaW1fbW9j LmNjCi1yZW5hbWUgdG8gdWkvcXQvcXQ1X3NoaW1fbW9jLmNjCi1pbmRleCBkYWZiZmFkY2U1NmJh Li44ZjhiNmI1Nzc4NGE4IDEwMDY0NAotLS0tIGEvdWkvcXQvcXRfc2hpbV9tb2MuY2MKLSsrKyBi L3VpL3F0L3F0NV9zaGltX21vYy5jYwotQEAgLTEsNCArMSw0IEBACi0tLy8gQ29weXJpZ2h0IDIw MjIgVGhlIENocm9taXVtIEF1dGhvcnMKLSsvLyBDb3B5cmlnaHQgMjAyMyBUaGUgQ2hyb21pdW0g QXV0aG9ycwotIC8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE LXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSAvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl LgotIAotQEAgLTg5LDI2ICs4OSwzMiBAQCBjb25zdCBRTWV0YU9iamVjdCogcXQ6OlF0U2hpbTo6 bWV0YU9iamVjdCgpIGNvbnN0IHsKLSB9Ci0gCi0gdm9pZCogcXQ6OlF0U2hpbTo6cXRfbWV0YWNh c3QoY29uc3QgY2hhciogX2NsbmFtZSkgewotLSAgaWYgKCFfY2xuYW1lKQotKyAgaWYgKCFfY2xu YW1lKSB7Ci0gICAgIHJldHVybiAwOwotLSAgaWYgKCFzdHJjbXAoX2NsbmFtZSwgcXRfbWV0YV9z dHJpbmdkYXRhX3F0X19RdFNoaW0uc3RyaW5nZGF0YSkpCi0rICB9Ci0rICBpZiAoIXN0cmNtcChf Y2xuYW1lLCBxdF9tZXRhX3N0cmluZ2RhdGFfcXRfX1F0U2hpbS5zdHJpbmdkYXRhKSkgewotICAg ICByZXR1cm4gc3RhdGljX2Nhc3Q8dm9pZCo+KGNvbnN0X2Nhc3Q8UXRTaGltKj4odGhpcykpOwot LSAgaWYgKCFzdHJjbXAoX2NsbmFtZSwgIlF0SW50ZXJmYWNlIikpCi0rICB9Ci0rICBpZiAoIXN0 cmNtcChfY2xuYW1lLCAiUXRJbnRlcmZhY2UiKSkgewotICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8 UXRJbnRlcmZhY2UqPihjb25zdF9jYXN0PFF0U2hpbSo+KHRoaXMpKTsKLSsgIH0KLSAgIHJldHVy biBRT2JqZWN0OjpxdF9tZXRhY2FzdChfY2xuYW1lKTsKLSB9Ci0gCi0gaW50IHF0OjpRdFNoaW06 OnF0X21ldGFjYWxsKFFNZXRhT2JqZWN0OjpDYWxsIF9jLCBpbnQgX2lkLCB2b2lkKiogX2EpIHsK LSAgIF9pZCA9IFFPYmplY3Q6OnF0X21ldGFjYWxsKF9jLCBfaWQsIF9hKTsKLS0gIGlmIChfaWQg PCAwKQotKyAgaWYgKF9pZCA8IDApIHsKLSAgICAgcmV0dXJuIF9pZDsKLSsgIH0KLSAgIGlmIChf YyA9PSBRTWV0YU9iamVjdDo6SW52b2tlTWV0YU1ldGhvZCkgewotLSAgICBpZiAoX2lkIDwgMikK LSsgICAgaWYgKF9pZCA8IDIpIHsKLSAgICAgICBxdF9zdGF0aWNfbWV0YWNhbGwodGhpcywgX2Ms IF9pZCwgX2EpOwotKyAgICB9Ci0gICAgIF9pZCAtPSAyOwotICAgfSBlbHNlIGlmIChfYyA9PSBR TWV0YU9iamVjdDo6UmVnaXN0ZXJNZXRob2RBcmd1bWVudE1ldGFUeXBlKSB7Ci0tICAgIGlmIChf aWQgPCAyKQotKyAgICBpZiAoX2lkIDwgMikgewotICAgICAgICpyZWludGVycHJldF9jYXN0PGlu dCo+KF9hWzBdKSA9IC0xOwotKyAgICB9Ci0gICAgIF9pZCAtPSAyOwotICAgfQotICAgcmV0dXJu IF9pZDsKLWRpZmYgLS1naXQgYS91aS9xdC9xdDZfc2hpbV9tb2MuY2MgYi91aS9xdC9xdDZfc2hp bV9tb2MuY2MKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMDAwLi42ZDAy Y2EzMTdiNjVkCi0tLS0gL2Rldi9udWxsCi0rKysgYi91aS9xdC9xdDZfc2hpbV9tb2MuY2MKLUBA IC0wLDAgKzEsMTQzIEBACi0rLy8gQ29weXJpZ2h0IDIwMjMgVGhlIENocm9taXVtIEF1dGhvcnMK LSsvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBs aWNlbnNlIHRoYXQgY2FuIGJlCi0rLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLSsKLSsv KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKgotKyoqIE1ldGEgb2JqZWN0IGNvZGUgZnJvbSByZWFkaW5nIEMr KyBmaWxlICdxdF9zaGltLmgnCi0rKioKLSsqKiBDcmVhdGVkIGJ5OiBUaGUgUXQgTWV0YSBPYmpl Y3QgQ29tcGlsZXIgdmVyc2lvbiA2OCAoUXQgNi4yLjQpCi0rKioKLSsqKiBXQVJOSU5HISBBbGwg Y2hhbmdlcyBtYWRlIGluIHRoaXMgZmlsZSB3aWxsIGJlIGxvc3QhCi0rKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKiovCi0rCi0rI2luY2x1ZGUgPFF0Q29yZS9xYnl0ZWFycmF5Lmg+Ci0rI2luY2x1ZGUgPFF0 Q29yZS9xbWV0YXR5cGUuaD4KLSsjaW5jbHVkZSA8bWVtb3J5PgotKyNpbmNsdWRlICJ1aS9xdC9x dF9zaGltLmgiCi0rI2lmICFkZWZpbmVkKFFfTU9DX09VVFBVVF9SRVZJU0lPTikKLSsjZXJyb3Ig IlRoZSBoZWFkZXIgZmlsZSAncXRfc2hpbS5oJyBkb2Vzbid0IGluY2x1ZGUgPFFPYmplY3Q+LiIK LSsjZWxpZiBRX01PQ19PVVRQVVRfUkVWSVNJT04gIT0gNjgKLSsjZXJyb3IgIlRoaXMgZmlsZSB3 YXMgZ2VuZXJhdGVkIHVzaW5nIHRoZSBtb2MgZnJvbSA2LjIuNC4gSXQiCi0rI2Vycm9yICJjYW5u b3QgYmUgdXNlZCB3aXRoIHRoZSBpbmNsdWRlIGZpbGVzIGZyb20gdGhpcyB2ZXJzaW9uIG9mIFF0 LiIKLSsjZXJyb3IgIihUaGUgbW9jIGhhcyBjaGFuZ2VkIHRvbyBtdWNoLikiCi0rI2VuZGlmCi0r Ci0rUVRfQkVHSU5fTU9DX05BTUVTUEFDRQotK1FUX1dBUk5JTkdfUFVTSAotK1FUX1dBUk5JTkdf RElTQUJMRV9ERVBSRUNBVEVECi0rc3RydWN0IHF0X21ldGFfc3RyaW5nZGF0YV9xdF9fUXRTaGlt X3QgewotKyAgY29uc3QgdWludCBvZmZzZXRzQW5kU2l6ZVsxMl07Ci0rICBjaGFyIHN0cmluZ2Rh dGEwWzUyXTsKLSt9OwotKyNkZWZpbmUgUVRfTU9DX0xJVEVSQUwob2ZzLCBsZW4pIFwKLSsgIHVp bnQob2Zmc2V0b2YocXRfbWV0YV9zdHJpbmdkYXRhX3F0X19RdFNoaW1fdCwgc3RyaW5nZGF0YTAp ICsgb2ZzKSwgbGVuCi0rc3RhdGljIGNvbnN0IHF0X21ldGFfc3RyaW5nZGF0YV9xdF9fUXRTaGlt X3QgcXRfbWV0YV9zdHJpbmdkYXRhX3F0X19RdFNoaW0gPSB7Ci0rICAgIHsKLSsgICAgICAgIFFU X01PQ19MSVRFUkFMKDAsIDEwKSwgICAvLyAicXQ6OlF0U2hpbSIKLSsgICAgICAgIFFUX01PQ19M SVRFUkFMKDExLCAxMSksICAvLyAiRm9udENoYW5nZWQiCi0rICAgICAgICBRVF9NT0NfTElURVJB TCgyMywgMCksICAgLy8gIiIKLSsgICAgICAgIFFUX01PQ19MSVRFUkFMKDI0LCA0KSwgICAvLyAi Zm9udCIKLSsgICAgICAgIFFUX01PQ19MSVRFUkFMKDI5LCAxNCksICAvLyAiUGFsZXR0ZUNoYW5n ZWQiCi0rICAgICAgICBRVF9NT0NfTElURVJBTCg0NCwgNykgICAgLy8gInBhbGV0dGUiCi0rCi0r ICAgIH0sCi0rICAgICJxdDo6UXRTaGltXDBGb250Q2hhbmdlZFwwXDBmb250XDAiCi0rICAgICJQ YWxldHRlQ2hhbmdlZFwwcGFsZXR0ZSJ9OwotKyN1bmRlZiBRVF9NT0NfTElURVJBTAotKwotK3N0 YXRpYyBjb25zdCB1aW50IHF0X21ldGFfZGF0YV9xdF9fUXRTaGltW10gPSB7Ci0rCi0rICAgIC8v IGNvbnRlbnQ6Ci0rICAgIDEwLCAgICAgLy8gcmV2aXNpb24KLSsgICAgMCwgICAgICAvLyBjbGFz c25hbWUKLSsgICAgMCwgMCwgICAvLyBjbGFzc2luZm8KLSsgICAgMiwgMTQsICAvLyBtZXRob2Rz Ci0rICAgIDAsIDAsICAgLy8gcHJvcGVydGllcwotKyAgICAwLCAwLCAgIC8vIGVudW1zL3NldHMK LSsgICAgMCwgMCwgICAvLyBjb25zdHJ1Y3RvcnMKLSsgICAgMCwgICAgICAvLyBmbGFncwotKyAg ICAwLCAgICAgIC8vIHNpZ25hbENvdW50Ci0rCi0rICAgIC8vIHNsb3RzOiBuYW1lLCBhcmdjLCBw YXJhbWV0ZXJzLCB0YWcsIGZsYWdzLCBpbml0aWFsIG1ldGF0eXBlIG9mZnNldHMKLSsgICAgMSwg MSwgMjYsIDIsIDB4MDgsIDEgLyogUHJpdmF0ZSAqLywgNCwgMSwgMjksIDIsIDB4MDgsIDMgLyog UHJpdmF0ZSAqLywKLSsKLSsgICAgLy8gc2xvdHM6IHBhcmFtZXRlcnMKLSsgICAgUU1ldGFUeXBl OjpWb2lkLCBRTWV0YVR5cGU6OlFGb250LCAzLCBRTWV0YVR5cGU6OlZvaWQsIFFNZXRhVHlwZTo6 UVBhbGV0dGUsCi0rICAgIDUsCi0rCi0rICAgIDAgIC8vIGVvZAotK307Ci0rCi0rdm9pZCBxdDo6 UXRTaGltOjpxdF9zdGF0aWNfbWV0YWNhbGwoUU9iamVjdCogX28sCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUU1ldGFPYmplY3Q6OkNhbGwgX2MsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50IF9pZCwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2b2lkKiogX2EpIHsKLSsgIGlmIChfYyA9PSBRTWV0YU9iamVjdDo6SW52 b2tlTWV0YU1ldGhvZCkgewotKyAgICBhdXRvKiBfdCA9IHN0YXRpY19jYXN0PFF0U2hpbSo+KF9v KTsKLSsgICAgKHZvaWQpX3Q7Ci0rICAgIHN3aXRjaCAoX2lkKSB7Ci0rICAgICAgY2FzZSAwOgot KyAgICAgICAgX3QtPkZvbnRDaGFuZ2VkKCgqcmVpbnRlcnByZXRfY2FzdDxzdGQ6OmFkZF9wb2lu dGVyX3Q8UUZvbnQ+PihfYVsxXSkpKTsKLSsgICAgICAgIGJyZWFrOwotKyAgICAgIGNhc2UgMToK LSsgICAgICAgIF90LT5QYWxldHRlQ2hhbmdlZCgKLSsgICAgICAgICAgICAoKnJlaW50ZXJwcmV0 X2Nhc3Q8c3RkOjphZGRfcG9pbnRlcl90PFFQYWxldHRlPj4oX2FbMV0pKSk7Ci0rICAgICAgICBi cmVhazsKLSsgICAgICBkZWZhdWx0OjsKLSsgICAgfQotKyAgfQotK30KLSsKLStjb25zdCBRTWV0 YU9iamVjdCBxdDo6UXRTaGltOjpzdGF0aWNNZXRhT2JqZWN0ID0gewotKyAgICB7UU1ldGFPYmpl Y3Q6OlN1cGVyRGF0YTo6bGluazxRT2JqZWN0OjpzdGF0aWNNZXRhT2JqZWN0PigpLAotKyAgICAg cXRfbWV0YV9zdHJpbmdkYXRhX3F0X19RdFNoaW0ub2Zmc2V0c0FuZFNpemUsIHF0X21ldGFfZGF0 YV9xdF9fUXRTaGltLAotKyAgICAgcXRfc3RhdGljX21ldGFjYWxsLCBudWxscHRyLAotKyAgICAg cXRfaW5jb21wbGV0ZV9tZXRhVHlwZUFycmF5PAotKyAgICAgICAgIHF0X21ldGFfc3RyaW5nZGF0 YV9xdF9fUXRTaGltX3QsCi0rICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21wbGV0 ZTxRdFNoaW0sIHN0ZDo6dHJ1ZV90eXBlPiwKLSsgICAgICAgICBRdFByaXZhdGU6OlR5cGVBbmRG b3JjZUNvbXBsZXRlPHZvaWQsIHN0ZDo6ZmFsc2VfdHlwZT4sCi0rICAgICAgICAgUXRQcml2YXRl OjpUeXBlQW5kRm9yY2VDb21wbGV0ZTxjb25zdCBRRm9udCYsIHN0ZDo6ZmFsc2VfdHlwZT4sCi0r ICAgICAgICAgUXRQcml2YXRlOjpUeXBlQW5kRm9yY2VDb21wbGV0ZTx2b2lkLCBzdGQ6OmZhbHNl X3R5cGU+LAotKyAgICAgICAgIFF0UHJpdmF0ZTo6VHlwZUFuZEZvcmNlQ29tcGxldGU8Y29uc3Qg UVBhbGV0dGUmLCBzdGQ6OmZhbHNlX3R5cGU+Ci0rCi0rICAgICAgICAgPiwKLSsgICAgIG51bGxw dHJ9fTsKLSsKLStjb25zdCBRTWV0YU9iamVjdCogcXQ6OlF0U2hpbTo6bWV0YU9iamVjdCgpIGNv bnN0IHsKLSsgIHJldHVybiBRT2JqZWN0OjpkX3B0ci0+bWV0YU9iamVjdCA/IFFPYmplY3Q6OmRf cHRyLT5keW5hbWljTWV0YU9iamVjdCgpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOiAmc3RhdGljTWV0YU9iamVjdDsKLSt9Ci0rCi0rdm9pZCogcXQ6OlF0U2hpbTo6cXRf bWV0YWNhc3QoY29uc3QgY2hhciogX2NsbmFtZSkgewotKyAgaWYgKCFfY2xuYW1lKSB7Ci0rICAg IHJldHVybiBudWxscHRyOwotKyAgfQotKyAgaWYgKCFzdHJjbXAoX2NsbmFtZSwgcXRfbWV0YV9z dHJpbmdkYXRhX3F0X19RdFNoaW0uc3RyaW5nZGF0YTApKSB7Ci0rICAgIHJldHVybiBzdGF0aWNf Y2FzdDx2b2lkKj4odGhpcyk7Ci0rICB9Ci0rICBpZiAoIXN0cmNtcChfY2xuYW1lLCAiUXRJbnRl cmZhY2UiKSkgewotKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UXRJbnRlcmZhY2UqPih0aGlzKTsK LSsgIH0KLSsgIHJldHVybiBRT2JqZWN0OjpxdF9tZXRhY2FzdChfY2xuYW1lKTsKLSt9Ci0rCi0r aW50IHF0OjpRdFNoaW06OnF0X21ldGFjYWxsKFFNZXRhT2JqZWN0OjpDYWxsIF9jLCBpbnQgX2lk LCB2b2lkKiogX2EpIHsKLSsgIF9pZCA9IFFPYmplY3Q6OnF0X21ldGFjYWxsKF9jLCBfaWQsIF9h KTsKLSsgIGlmIChfaWQgPCAwKSB7Ci0rICAgIHJldHVybiBfaWQ7Ci0rICB9Ci0rICBpZiAoX2Mg PT0gUU1ldGFPYmplY3Q6Okludm9rZU1ldGFNZXRob2QpIHsKLSsgICAgaWYgKF9pZCA8IDIpIHsK LSsgICAgICBxdF9zdGF0aWNfbWV0YWNhbGwodGhpcywgX2MsIF9pZCwgX2EpOwotKyAgICB9Ci0r ICAgIF9pZCAtPSAyOwotKyAgfSBlbHNlIGlmIChfYyA9PSBRTWV0YU9iamVjdDo6UmVnaXN0ZXJN ZXRob2RBcmd1bWVudE1ldGFUeXBlKSB7Ci0rICAgIGlmIChfaWQgPCAyKSB7Ci0rICAgICAgKnJl aW50ZXJwcmV0X2Nhc3Q8UU1ldGFUeXBlKj4oX2FbMF0pID0gUU1ldGFUeXBlKCk7Ci0rICAgIH0K LSsgICAgX2lkIC09IDI7Ci0rICB9Ci0rICByZXR1cm4gX2lkOwotK30KLStRVF9XQVJOSU5HX1BP UAotK1FUX0VORF9NT0NfTkFNRVNQQUNFCi1kaWZmIC0tZ2l0IGEvdWkvcXQvcXRfdWkuY2MgYi91 aS9xdC9xdF91aS5jYwotaW5kZXggZDQwNTJiN2U4YmMzZC4uNmEzYjU4ZTlmOTMwYiAxMDA2NDQK LS0tLSBhL3VpL3F0L3F0X3VpLmNjCi0rKysgYi91aS9xdC9xdF91aS5jYwotQEAgLTE0LDcgKzE0 LDkgQEAKLSAjaW5jbHVkZSAiYmFzZS9jaGVjay5oIgotICNpbmNsdWRlICJiYXNlL2NvbW1hbmRf bGluZS5oIgotICNpbmNsdWRlICJiYXNlL2NvbXBpbGVyX3NwZWNpZmljLmgiCi0rI2luY2x1ZGUg ImJhc2UvZW52aXJvbm1lbnQuaCIKLSAjaW5jbHVkZSAiYmFzZS9tZW1vcnkvcmF3X3B0ci5oIgot KyNpbmNsdWRlICJiYXNlL25peC94ZGdfdXRpbC5oIgotICNpbmNsdWRlICJiYXNlL25vdHJlYWNo ZWQuaCIKLSAjaW5jbHVkZSAiYmFzZS9wYXRoX3NlcnZpY2UuaCIKLSAjaW5jbHVkZSAiYmFzZS90 aW1lL3RpbWUuaCIKLUBAIC00Nyw2ICs0OSw0NSBAQCBuYW1lc3BhY2UgcXQgewotIAotIG5hbWVz cGFjZSB7Ci0gCi0rY29uc3QgY2hhciBrUXRWZXJzaW9uRmxhZ1tdID0gInF0LXZlcnNpb24iOwot KwotK3ZvaWQqIExvYWRMaWJyYXJ5KGNvbnN0IGJhc2U6OkZpbGVQYXRoJiBwYXRoKSB7Ci0rICBy ZXR1cm4gZGxvcGVuKHBhdGgudmFsdWUoKS5jX3N0cigpLCBSVExEX05PVyB8IFJUTERfR0xPQkFM KTsKLSt9Ci0rCi0rdm9pZCogTG9hZExpYnJhcnlPckZhbGxiYWNrKGNvbnN0IGJhc2U6OkZpbGVQ YXRoJiBwYXRoLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBwcmVm ZXJyZWQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGZhbGxiYWNr KSB7Ci0rICBpZiAodm9pZCogbGlicmFyeSA9IExvYWRMaWJyYXJ5KHBhdGguQXBwZW5kKHByZWZl cnJlZCkpKSB7Ci0rICAgIHJldHVybiBsaWJyYXJ5OwotKyAgfQotKyAgcmV0dXJuIExvYWRMaWJy YXJ5KHBhdGguQXBwZW5kKGZhbGxiYWNrKSk7Ci0rfQotKwotK2Jvb2wgUHJlZmVyUXQ2KCkgewot KyAgYXV0byogY21kID0gYmFzZTo6Q29tbWFuZExpbmU6OkZvckN1cnJlbnRQcm9jZXNzKCk7Ci0r ICBpZiAoY21kLT5IYXNTd2l0Y2goa1F0VmVyc2lvbkZsYWcpKSB7Ci0rICAgIHN0ZDo6c3RyaW5n IHF0X3ZlcnNpb25fc3RyaW5nID0gY21kLT5HZXRTd2l0Y2hWYWx1ZUFTQ0lJKGtRdFZlcnNpb25G bGFnKTsKLSsgICAgdW5zaWduZWQgaW50IHF0X3ZlcnNpb24gPSAwOwotKyAgICBpZiAoYmFzZTo6 U3RyaW5nVG9VaW50KHF0X3ZlcnNpb25fc3RyaW5nLCAmcXRfdmVyc2lvbikpIHsKLSsgICAgICBz d2l0Y2ggKHF0X3ZlcnNpb24pIHsKLSsgICAgICAgIGNhc2UgNToKLSsgICAgICAgICAgcmV0dXJu IGZhbHNlOwotKyAgICAgICAgY2FzZSA2OgotKyAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSsgICAg ICAgIGRlZmF1bHQ6Ci0rICAgICAgICAgIExPRyhFUlJPUikgPDwgIlVuc3VwcG9ydGVkIFFUIHZl cnNpb24gIiA8PCBxdF92ZXJzaW9uOwotKyAgICAgIH0KLSsgICAgfSBlbHNlIHsKLSsgICAgICBM T0coRVJST1IpIDw8ICJVbmFibGUgdG8gcGFyc2UgUVQgdmVyc2lvbiAiIDw8IHF0X3ZlcnNpb25f c3RyaW5nOwotKyAgICB9Ci0rICB9Ci0rCi0rICBhdXRvIGVudiA9IGJhc2U6OkVudmlyb25tZW50 OjpDcmVhdGUoKTsKLSsgIGF1dG8gZGVza3RvcCA9IGJhc2U6Om5peDo6R2V0RGVza3RvcEVudmly b25tZW50KGVudi5nZXQoKSk7Ci0rICByZXR1cm4gZGVza3RvcCA9PSBiYXNlOjpuaXg6OkRFU0tU T1BfRU5WSVJPTk1FTlRfS0RFNjsKLSt9Ci0rCi0gaW50IFF0V2VpZ2h0VG9Dc3NXZWlnaHQoaW50 IHdlaWdodCkgewotICAgc3RydWN0IHsKLSAgICAgaW50IHF0X3dlaWdodDsKLUBAIC0xNzksOCAr MjIwLDEwIEBAIGJvb2wgUXRVaTo6SW5pdGlhbGl6ZSgpIHsKLSAgIGJhc2U6OkZpbGVQYXRoIHBh dGg7Ci0gICBpZiAoIWJhc2U6OlBhdGhTZXJ2aWNlOjpHZXQoYmFzZTo6RElSX01PRFVMRSwgJnBh dGgpKQotICAgICByZXR1cm4gZmFsc2U7Ci0tICBwYXRoID0gcGF0aC5BcHBlbmQoImxpYnF0NV9z aGltLnNvIik7Ci0tICB2b2lkKiBsaWJxdF9zaGltID0gZGxvcGVuKHBhdGgudmFsdWUoKS5jX3N0 cigpLCBSVExEX05PVyB8IFJUTERfR0xPQkFMKTsKLSsgIHZvaWQqIGxpYnF0X3NoaW0gPQotKyAg ICAgIFByZWZlclF0NigpCi0rICAgICAgICAgID8gTG9hZExpYnJhcnlPckZhbGxiYWNrKHBhdGgs ICJsaWJxdDZfc2hpbS5zbyIsICJsaWJxdDVfc2hpbS5zbyIpCi0rICAgICAgICAgIDogTG9hZExp YnJhcnlPckZhbGxiYWNrKHBhdGgsICJsaWJxdDVfc2hpbS5zbyIsICJsaWJxdDZfc2hpbS5zbyIp OwotICAgaWYgKCFsaWJxdF9zaGltKQotICAgICByZXR1cm4gZmFsc2U7Ci0gICB2b2lkKiBjcmVh dGVfcXRfaW50ZXJmYWNlID0gZGxzeW0obGlicXRfc2hpbSwgIkNyZWF0ZVF0SW50ZXJmYWNlIik7 CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE0LWJ1aWxkZmxhZy1lbDcucGF0Y2ggYi9jaHJvbWl1 bS0xMTQtYnVpbGRmbGFnLWVsNy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg NmI5ZTQ2OC4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTQtYnVpbGRmbGFnLWVsNy5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTExNC4wLjU3 MzUuMjYvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb21uaWJveF9lZGl0X21vZGVsLmNjLm1l IGNocm9taXVtLTExNC4wLjU3MzUuMjYvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb21uaWJv eF9lZGl0X21vZGVsLmNjCi0tLS0gY2hyb21pdW0tMTE0LjAuNTczNS4yNi9jb21wb25lbnRzL29t bmlib3gvYnJvd3Nlci9vbW5pYm94X2VkaXRfbW9kZWwuY2MubWUJMjAyMy0wNS0xNCAwOToxNDox MC44ODYzMTQ0ODAgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTQuMC41NzM1LjI2L2NvbXBvbmVudHMv b21uaWJveC9icm93c2VyL29tbmlib3hfZWRpdF9tb2RlbC5jYwkyMDIzLTA1LTE0IDA5OjE2OjU5 LjM4MDA1NDcyMCArMDIwMAotQEAgLTc5LDcgKzc5LDcgQEAKLSAjaW5jbHVkZSAidWkvZ2Z4L3Zl Y3Rvcl9pY29uX3R5cGVzLmgiCi0gI2VuZGlmCi0gCi0tI2lmIEJVSUxERkxBRyhHT09HTEVfQ0hS T01FX0JSQU5ESU5HKQotKyNpZmRlZiBHT09HTEVfQ0hST01FX0JSQU5ESU5HCi0gI2luY2x1ZGUg ImNvbXBvbmVudHMvdmVjdG9yX2ljb25zL3ZlY3Rvcl9pY29ucy5oIiAgLy8gbm9nbmNoZWNrCi0g I2VuZGlmCi0gCi1AQCAtNjI4LDcgKzYyOCw3IEBAIGJvb2wgT21uaWJveEVkaXRNb2RlbDo6U2hv dWxkU2hvd0N1cnJlbnQKLSB9Ci0gCi0gdWk6OkltYWdlTW9kZWwgT21uaWJveEVkaXRNb2RlbDo6 R2V0U3VwZXJHSWNvbihpbnQgaW1hZ2Vfc2l6ZSwgYm9vbCBkYXJrX21vZGUpIHsKLS0jaWYgQlVJ TERGTEFHKEdPT0dMRV9DSFJPTUVfQlJBTkRJTkcpCi0rI2lmZGVmIEdPT0dMRV9DSFJPTUVfQlJB TkRJTkcKLSAgIGlmIChkYXJrX21vZGUpIHsKLSAgICAgcmV0dXJuIHVpOjpJbWFnZU1vZGVsOjpG cm9tVmVjdG9ySWNvbigKLSAgICAgICAgIHZlY3Rvcl9pY29uczo6a0dvb2dsZUdMb2dvTW9ub2No cm9tZUljb24sIHVpOjprQ29sb3JSZWZQcmltYXJ5MTAwLAoKZGlmZiAtLWdpdCBhL2Nocm9taXVt LTExNC1jb25zdGV4cHItZWw3LnBhdGNoIGIvY2hyb21pdW0tMTE0LWNvbnN0ZXhwci1lbDcucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyNmJhMjQuLjAwMDAwMDAKLS0tIGEv Y2hyb21pdW0tMTE0LWNvbnN0ZXhwci1lbDcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MiAr MCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS0xMTQuMC41NzM1LjI2L2NvbXBvbmVudHMvdmVyc2lv bl9pbmZvL3ZlcnNpb25faW5mby5jYy5jb25zdGV4cHItZWw3IGNocm9taXVtLTExNC4wLjU3MzUu MjYvY29tcG9uZW50cy92ZXJzaW9uX2luZm8vdmVyc2lvbl9pbmZvLmNjCi1kaWZmIC11cCBjaHJv bWl1bS0xMTQuMC41NzM1LjI2L2NvbXBvbmVudHMvdmVyc2lvbl9pbmZvL3ZlcnNpb25faW5mby5o LmNvbnN0ZXhwci1lbDcgY2hyb21pdW0tMTE0LjAuNTczNS4yNi9jb21wb25lbnRzL3ZlcnNpb25f aW5mby92ZXJzaW9uX2luZm8uaAotLS0tIGNocm9taXVtLTExNC4wLjU3MzUuMjYvY29tcG9uZW50 cy92ZXJzaW9uX2luZm8vdmVyc2lvbl9pbmZvLmguY29uc3RleHByLWVsNwkyMDIzLTA1LTExIDAz OjM2OjE5LjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTExNC4wLjU3MzUuMjYvY29tcG9u ZW50cy92ZXJzaW9uX2luZm8vdmVyc2lvbl9pbmZvLmgJMjAyMy0wNS0xNCAxMDo1OToxOS45MjE1 Nzg2NDUgKzAyMDAKLUBAIC0yNywxOCArMjcsMTggQEAgY29uc3Qgc3RkOjpzdHJpbmcgR2V0UHJv ZHVjdE5hbWVBbmRWZXJzaQotICAgICBjb25zdCBzdGQ6OnN0cmluZyYgYnVpbGRfdmVyc2lvbik7 Ci0gCi0gLy8gUmV0dXJucyB0aGUgcHJvZHVjdCBuYW1lLCBlLmcuICJDaHJvbWl1bSIgb3IgIkdv b2dsZSBDaHJvbWUiLgotLWNvbnN0ZXhwciBzdGQ6OnN0cmluZyBHZXRQcm9kdWN0TmFtZSgpIHsK LStzdGF0aWMgY29uc3Qgc3RkOjpzdHJpbmcgR2V0UHJvZHVjdE5hbWUoKSB7Ci0gICByZXR1cm4g UFJPRFVDVF9OQU1FOwotIH0KLSAKLSAvLyBSZXR1cm5zIHRoZSB2ZXJzaW9uIG51bWJlciwgZS5n LiAiNi4wLjQ5MC4xIi4KLS1jb25zdGV4cHIgc3RkOjpzdHJpbmcgR2V0VmVyc2lvbk51bWJlcigp IHsKLStzdGF0aWMgY29uc3Qgc3RkOjpzdHJpbmcgR2V0VmVyc2lvbk51bWJlcigpIHsKLSAgIHJl dHVybiBQUk9EVUNUX1ZFUlNJT047Ci0gfQotIAotIC8vIFJldHVybnMgdGhlIHByb2R1Y3QgbmFt ZSBhbmQgdmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIFVzZXItQWdlbnQgaGVhZGVyLAotIC8v IGluIHRoZSBmb3JtYXQ6IENocm9tZS88bWFqb3JfdmVyc2lvbj4uPG1pbm9yX3ZlcnNpb24+Ljxi dWlsZD4uPHBhdGNoPi4KLS1jb25zdGV4cHIgc3RkOjpzdHJpbmcgR2V0UHJvZHVjdE5hbWVBbmRW ZXJzaW9uRm9yVXNlckFnZW50KCkgewotK3N0YXRpYyBjb25zdCBzdGQ6OnN0cmluZyBHZXRQcm9k dWN0TmFtZUFuZFZlcnNpb25Gb3JVc2VyQWdlbnQoKSB7Ci0gICByZXR1cm4gIkNocm9tZS8iICsg R2V0VmVyc2lvbk51bWJlcigpOwotIH0KLSAKLUBAIC01Myw3ICs1Myw3IEBAIHN0ZDo6c3RyaW5n IEdldE1ham9yVmVyc2lvbk51bWJlcigpOwotIGNvbnN0IGJhc2U6OlZlcnNpb24mIEdldFZlcnNp b24oKTsKLSAKLSAvLyBSZXR1cm5zIGEgdmVyc2lvbiBjb250cm9sIHNwZWNpZmljIGlkZW50aWZp ZXIgb2YgdGhpcyByZWxlYXNlLgotLWNvbnN0ZXhwciBzdGQ6OnN0cmluZyBHZXRMYXN0Q2hhbmdl KCkgewotK3N0YXRpYyBjb25zdCBzdGQ6OnN0cmluZyBHZXRMYXN0Q2hhbmdlKCkgewotICAgcmV0 dXJuIExBU1RfQ0hBTkdFOwotIH0KLSAKLUBAIC02NSw3ICs2NSw3IEBAIGNvbnN0ZXhwciBib29s IElzT2ZmaWNpYWxCdWlsZCgpIHsKLSB9Ci0gCi0gLy8gUmV0dXJucyB0aGUgT1MgdHlwZSwgZS5n LiAiV2luZG93cyIsICJMaW51eCIsICJGcmVlQlNEIiwgLi4uCi0tY29uc3RleHByIHN0ZDo6c3Ry aW5nIEdldE9TVHlwZSgpIHsKLStzdGF0aWMgY29uc3Qgc3RkOjpzdHJpbmcgR2V0T1NUeXBlKCkg ewotICNpZiBCVUlMREZMQUcoSVNfV0lOKQotICAgcmV0dXJuICJXaW5kb3dzIjsKLSAjZWxpZiBC VUlMREZMQUcoSVNfSU9TKQotQEAgLTk3LDcgKzk3LDcgQEAgY29uc3RleHByIHN0ZDo6c3RyaW5n IEdldE9TVHlwZSgpIHsKLSAKLSAvLyBSZXR1cm5zIGEgc3RyaW5nIGVxdWl2YWxlbnQgb2YgfGNo YW5uZWx8LCBpbmRlcGVuZGVudCBvZiB3aGV0aGVyIHRoZSBidWlsZAotIC8vIGlzIGJyYW5kZWQg b3Igbm90IGFuZCB3aXRob3V0IGFueSBhZGRpdGlvbmFsIG1vZGlmaWVycy4KLS1jb25zdGV4cHIg c3RkOjpzdHJpbmcgR2V0Q2hhbm5lbFN0cmluZyhDaGFubmVsIGNoYW5uZWwpIHsKLStzdGF0aWMg Y29uc3Qgc3RkOjpzdHJpbmcgR2V0Q2hhbm5lbFN0cmluZyhDaGFubmVsIGNoYW5uZWwpIHsKLSAg IHN3aXRjaCAoY2hhbm5lbCkgewotICAgICBjYXNlIENoYW5uZWw6OlNUQUJMRToKLSAgICAgICBy ZXR1cm4gInN0YWJsZSI7Ci1AQCAtMTE0LDcgKzExNCw3IEBAIGNvbnN0ZXhwciBzdGQ6OnN0cmlu ZyBHZXRDaGFubmVsU3RyaW5nKEMKLSB9Ci0gCi0gLy8gUmV0dXJucyBhIGxpc3Qgb2Ygc2FuaXRp emVycyBlbmFibGVkIGluIHRoaXMgYnVpbGQuCi0tY29uc3RleHByIHN0ZDo6c3RyaW5nIEdldFNh bml0aXplckxpc3QoKSB7Ci0rc3RhdGljIGNvbnN0IHN0ZDo6c3RyaW5nIEdldFNhbml0aXplckxp c3QoKSB7Ci0gICByZXR1cm4gIiIKLSAjaWYgZGVmaW5lZChBRERSRVNTX1NBTklUSVpFUikKLSAg ICAgICAgICAiYWRkcmVzcyAiCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE0LWdjYzEzLnBhdGNo IGIvY2hyb21pdW0tMTE0LWdjYzEzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCBjNzllNzRlLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExNC1nY2MxMy5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDM4OSArMCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2Jhc2UvY2hlY2tfb3AuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tfb3Au aAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVja19vcC5oLm1lCTIwMjMtMDEt MTcgMTc6Mzk6MjcuNjIwODc1ODgzICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9i YXNlL2NoZWNrX29wLmgJMjAyMy0wMS0xNyAxNzozOTo0Mi41NDYwNjA5NTcgKzAxMDAKLUBAIC01 LDYgKzUsNyBAQAotICNpZm5kZWYgQkFTRV9DSEVDS19PUF9IXwotICNkZWZpbmUgQkFTRV9DSEVD S19PUF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxjc3RkZGVmPgotICNp bmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgotZGlmZiAtdXAgY2hyb21p dW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgubWUgY2hyb21pdW0tMTA5LjAu NTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZQkyMDIzLTAxLTE3IDE2OjI5OjI2LjM2ODA5MDA3MyAr MDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5oCTIw MjMtMDEtMTcgMTY6NTk6NDEuMTkwNjI4Njc5ICswMTAwCi1AQCAtNyw2ICs3LDcgQEAKLSAKLSAj aW5jbHVkZSA8c3RkZGVmLmg+Ci0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0 cmluZz4KLSAKLSAjaW5jbHVkZSAiYmFzZS9iYXNlX2V4cG9ydC5oIgotZGlmZiAtdXAgY2hyb21p dW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Zpei9jb21tb24vdmlld190cmFuc2l0aW9uX2Vs ZW1lbnRfcmVzb3VyY2VfaWQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMv dml6L2NvbW1vbi92aWV3X3RyYW5zaXRpb25fZWxlbWVudF9yZXNvdXJjZV9pZC5oCi0tLS0gY2hy b21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Zpei9jb21tb24vdmlld190cmFuc2l0aW9u X2VsZW1lbnRfcmVzb3VyY2VfaWQuaC5tZQkyMDIzLTAxLTE3IDE5OjAzOjEwLjkyMDAxNDgwNiAr MDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy92aXovY29tbW9uL3Zp ZXdfdHJhbnNpdGlvbl9lbGVtZW50X3Jlc291cmNlX2lkLmgJMjAyMy0wMS0xNyAxOTowMzo0OC43 MzYzOTUyNzQgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19WSVpf Q09NTU9OX1ZJRVdfVFJBTlNJVElPTl9FTEVNRU5UX1JFU09VUkNFX0lEX0hfCi0gI2RlZmluZSBD T01QT05FTlRTX1ZJWl9DT01NT05fVklFV19UUkFOU0lUSU9OX0VMRU1FTlRfUkVTT1VSQ0VfSURf SF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRl IDx2ZWN0b3I+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcv Z3B1X2ZlYXR1cmVfaW5mby5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZpZy9n cHVfZmVhdHVyZV9pbmZvLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcv Z3B1X2ZlYXR1cmVfaW5mby5oLm1lCTIwMjMtMDEtMTcgMTk6MDY6NTMuNTMwNjc1MTI5ICswMTAw Ci0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dwdV9mZWF0dXJlX2luZm8u aAkyMDIzLTAxLTE3IDE5OjA3OjA4Ljg3NDg0OTg3OSArMDEwMAotQEAgLTUsNiArNSw3IEBACi0g I2lmbmRlZiBHUFVfQ09ORklHX0dQVV9GRUFUVVJFX0lORk9fSF8KLSAjZGVmaW5lIEdQVV9DT05G SUdfR1BVX0ZFQVRVUkVfSU5GT19IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRl IDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv bmV0L2Jhc2UvbmV0X2V4cG9ydC5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQvYmFz ZS9uZXRfZXhwb3J0LmgubWUJMjAyMy0wMS0xNyAxODoxNjozNC4xMzM4NTQ2MTUgKzAxMDAKLSsr KyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9iYXNlL25ldF9leHBvcnQuaAkyMDIzLTAxLTE3 IDE4OjE2OjE1Ljk0NTYyMzE1MyArMDEwMAotQEAgLTUsNiArNSw4IEBACi0gI2lmbmRlZiBORVRf QkFTRV9ORVRfRVhQT1JUX0hfCi0gI2RlZmluZSBORVRfQkFTRV9ORVRfRVhQT1JUX0hfCi0gCi0r I2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gLy8gRGVmaW5lcyBORVRfRVhQT1JUIHNvIHRoYXQgZnVu Y3Rpb25hbGl0eSBpbXBsZW1lbnRlZCBieSB0aGUgbmV0IG1vZHVsZSBjYW4KLSAvLyBiZSBleHBv cnRlZCB0byBjb25zdW1lcnMsIGFuZCBORVRfRVhQT1JUX1BSSVZBVEUgdGhhdCBhbGxvd3MgdW5p dCB0ZXN0cyB0bwotIC8vIGFjY2VzcyBmZWF0dXJlcyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBk aXJlY3RseSBieSByZWFsIGNvbnN1bWVycy4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgu bWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jy b2tlcl9maWxlX3Blcm1pc3Npb24uaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJv eC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgubWUJMjAyMy0w MS0xNyAxNzoxMjozNC4xODQ2ODY1MTUgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oCTIw MjMtMDEtMTcgMTc6MTM6MTYuNTM3MTYyNDIwICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZu ZGVmIFNBTkRCT1hfTElOVVhfU1lTQ0FMTF9CUk9LRVJfQlJPS0VSX0ZJTEVfUEVSTUlTU0lPTl9I XwotICNkZWZpbmUgU0FOREJPWF9MSU5VWF9TWVNDQUxMX0JST0tFUl9CUk9LRVJfRklMRV9QRVJN SVNTSU9OX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGJpdHNldD4KLSAj aW5jbHVkZSA8c3RyaW5nPgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGly ZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5oLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5n X3ZpZXcuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNw cC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaC5tZQkyMDIzLTAxLTE3IDE3OjMzOjIwLjg5NTcx NzMwNyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWls LWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaAkyMDIzLTAxLTE3IDE3OjM0OjAzLjQ1NjE4 NTM2NSArMDEwMAotQEAgLTI3LDYgKzI3LDcgQEAKLSAjaWZuZGVmIEFCU0xfU1RSSU5HU19TVFJJ TkdfVklFV19IXwotICNkZWZpbmUgQUJTTF9TVFJJTkdTX1NUUklOR19WSUVXX0hfCi0gCi0rI2lu Y2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGFsZ29yaXRobT4KLSAjaW5jbHVkZSA8Y2Fzc2Vy dD4KLSAjaW5jbHVkZSA8Y3N0ZGRlZj4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1NoYWRlclZhcnMuaC5tZSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJW YXJzLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1 ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWUJMjAyMy0wMS0xNyAxNzozNjoxNS4wMTc2MTYyNTAg KzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1 ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgJMjAyMy0wMS0xNyAxNzozNjo0OC45NjA5ODIxOTUgKzAx MDAKLUBAIC0xMCw2ICsxMCw3IEBACi0gI2lmbmRlZiBHTFNMQU5HX1NIQURFUlZBUlNfSF8KLSAj ZGVmaW5lIEdMU0xBTkdfU0hBREVSVkFSU19IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNp bmNsdWRlIDxhbGdvcml0aG0+Ci0gI2luY2x1ZGUgPGFycmF5PgotICNpbmNsdWRlIDxzdHJpbmc+ Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2JsaW5rL3B1Ymxp Yy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9vdGhfZGV2aWNlX2lkLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93 ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGly ZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2Rldmlj ZV9pZC5oLm1lCTIwMjMtMDEtMTcgMTk6MTc6NDAuNDgwODc2MTcxICswMTAwCi0rKysgY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290 aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCTIwMjMtMDEtMTcgMTk6MTc6NDYuODAzOTU4MzIw ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIFRISVJEX1BBUlRZX0JMSU5LX1BVQkxJ Q19DT01NT05fQkxVRVRPT1RIX1dFQl9CTFVFVE9PVEhfREVWSUNFX0lEX0hfCi0gI2RlZmluZSBU SElSRF9QQVJUWV9CTElOS19QVUJMSUNfQ09NTU9OX0JMVUVUT09USF9XRUJfQkxVRVRPT1RIX0RF VklDRV9JRF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxhcnJheT4KLSAj aW5jbHVkZSA8c3RyaW5nPgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGly ZF9wYXJ0eS9kYXduL3NyYy90aW50L3JlYWRlci9zcGlydi9uYW1lci5oLm1lIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIu aAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9y ZWFkZXIvc3BpcnYvbmFtZXIuaC5tZQkyMDIzLTAxLTE3IDE4OjAyOjQ0LjY4MTUzODEwNyArMDEw MAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9y ZWFkZXIvc3BpcnYvbmFtZXIuaAkyMDIzLTAxLTE3IDE4OjAyOjU3LjIwODY3OTE0MCArMDEwMAot QEAgLTE1LDYgKzE1LDcgQEAKLSAjaWZuZGVmIFNSQ19USU5UX1JFQURFUl9TUElSVl9OQU1FUl9I XwotICNkZWZpbmUgU1JDX1RJTlRfUkVBREVSX1NQSVJWX05BTUVSX0hfCi0gCi0rI2luY2x1ZGUg PGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4K LSAjaW5jbHVkZSA8dmVjdG9yPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGly ZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRf cmVjb3JkLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVu L3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgKLS0tLSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9k bnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaC5tZQkyMDIzLTAxLTE4IDE1OjIyOjM4LjQ3 Mjk0MDY0OCArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3Bl bnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oCTIw MjMtMDEtMTggMTU6MjM6MDkuMzgwMjU1MTAxICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZu ZGVmIERJU0NPVkVSWV9ETlNTRF9QVUJMSUNfRE5TX1NEX1RYVF9SRUNPUkRfSF8KLSAjZGVmaW5l IERJU0NPVkVSWV9ETlNTRF9QVUJMSUNfRE5TX1NEX1RYVF9SRUNPUkRfSF8KLSAKLSsjaW5jbHVk ZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KLSAjaW5jbHVkZSA8bWFwPgotICNp bmNsdWRlIDxzZXQ+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5 L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwLm1lIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAKLS0t LSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0 ZW0vTFJVQ2FjaGUuaHBwLm1lCTIwMjMtMDEtMTcgMTU6Mzc6NDguNTMwNjI2NTE2ICswMTAwCi0r KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lz dGVtL0xSVUNhY2hlLmhwcAkyMDIzLTAxLTE3IDE2OjU3OjQ2LjAyNTU0ODA5MiArMDEwMAotQEAg LTE3LDYgKzE3LDcgQEAKLSAKLSAjaW5jbHVkZSAiU3lzdGVtL0RlYnVnLmhwcCIKLSAKLSsjaW5j bHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8Y3N0ZGRlZj4KLSAjaW5jbHVkZSA8ZnVuY3Rpb25h bD4KLSAjaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvdGhpcmRfcGFydHkvdnVsa2FuX21lbW9yeV9hbGxvY2F0b3IvaW5jbHVkZS92a19tZW1f YWxsb2MuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1v cnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVt X2FsbG9jLmgubWUJMjAyMy0wMS0xNyAxNTo0MDoyMy44NTQzODYyMDYgKzAxMDAKLSsrKyBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2lu Y2x1ZGUvdmtfbWVtX2FsbG9jLmgJMjAyMy0wMS0xNyAxNjo1ODoxOS4zOTc4NjI4ODUgKzAxMDAK LUBAIC0yMzg4LDYgKzIzODgsNyBAQCBWTUFfQ0FMTF9QUkUgdm9pZCBWTUFfQ0FMTF9QT1NUIHZt YUZyZWVWCi0gI2lmZGVmIFZNQV9JTVBMRU1FTlRBVElPTg0KLSAjdW5kZWYgVk1BX0lNUExFTUVO VEFUSU9ODQotIA0KLSsjaW5jbHVkZSA8Y3N0ZGlvPg0KLSAjaW5jbHVkZSA8Y3N0ZGludD4NCi0g I2luY2x1ZGUgPGNzdGRsaWI+DQotICNpbmNsdWRlIDxjc3RyaW5nPg0KLWRpZmYgLXVwIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oLm1lIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oCi0t LS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50 LmgubWUJMjAyMy0wMS0xNyAxODowODoyNS43NDU0OTEzNTMgKzAxMDAKLSsrKyBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaAkyMDIzLTAxLTE3 IDE4OjA4OjM1Ljc3NzY2NzYzMiArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBVSV9H RlhfTElORUFSX0dSQURJRU5UX0hfCi0gI2RlZmluZSBVSV9HRlhfTElORUFSX0dSQURJRU5UX0hf Ci0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGFycmF5PgotICNpbmNsdWRlIDxz dHJpbmc+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1 eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1lIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgK LS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2Zp bGVyL2luc3RydW1lbnRhdGlvbi5oLm1lCTIwMjMtMDEtMTkgMTA6MTA6MjEuMjg3ODc2NzM2ICsw MTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9w cm9maWxlci9pbnN0cnVtZW50YXRpb24uaAkyMDIzLTAxLTE5IDEwOjExOjIxLjcxNDc3ODg5NiAr MDEwMAotQEAgLTE3LDYgKzE3LDcgQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0g I2RlZmluZSBSVVlfUlVZX1BST0ZJTEVSX0lOU1RSVU1FTlRBVElPTl9IXwotIAotICNpZmRlZiBS VVlfUFJPRklMRVIKLSsjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDxjc3RkaW8+Ci0gI2lu Y2x1ZGUgPG11dGV4PgotICNpbmNsdWRlIDx2ZWN0b3I+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMv aW50ZXJuYWwvc3BlY3Ryb2dyYW0uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3Bh cnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dy YW0uaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90 ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oLm1lCTIwMjMtMDEt MTkgMTA6MzA6MjcuNTMzODYxOTg1ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90 aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3Nw ZWN0cm9ncmFtLmgJMjAyMy0wMS0xOSAxMDozMToxMi41ODU1NTQxODMgKzAxMDAKLUBAIC0zMSw2 ICszMSw3IEBAIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICNpZm5kZWYgVEVOU09S RkxPV19MSVRFX0tFUk5FTFNfSU5URVJOQUxfU1BFQ1RST0dSQU1fSF8KLSAjZGVmaW5lIFRFTlNP UkZMT1dfTElURV9LRVJORUxTX0lOVEVSTkFMX1NQRUNUUk9HUkFNX0hfCi0gCi0rI2luY2x1ZGUg PGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGNvbXBsZXg+Ci0gI2luY2x1ZGUgPGRlcXVlPgotICNpbmNs dWRlIDx2ZWN0b3I+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFp bmVycy9mbGF0X21hcC5oLm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVy cy9mbGF0X21hcC5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMv ZmxhdF9tYXAuaC5tZWUJMjAyMy0wMS0xOSAxMDo1OTo1Mi4yMTQ5NTc3NzMgKzAxMDAKLSsrKyBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5oCTIwMjMtMDEt MTkgMTE6MDA6MDYuNDE1MjE1MzA5ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIEJB U0VfQ09OVEFJTkVSU19GTEFUX01BUF9IXwotICNkZWZpbmUgQkFTRV9DT05UQUlORVJTX0ZMQVRf TUFQX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGZ1bmN0aW9uYWw+Ci0g I2luY2x1ZGUgPHR1cGxlPgotICNpbmNsdWRlIDx1dGlsaXR5PgotZGlmZiAtdXAgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2Ns aWVudC5oLm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9h cHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nv bXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgubWVlCTIwMjMt MDEtMTkgMTA6MzY6NDAuNTcxNDIyODI2ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oCTIwMjMt MDEtMTkgMTA6MzY6NDkuMzQzNTY1Mjk0ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVm IENPTVBPTkVOVFNfQ1JBU0hfQ09SRV9BUFBfQ1JBU0hfUkVQT1JURVJfQ0xJRU5UX0hfCi0gI2Rl ZmluZSBDT01QT05FTlRTX0NSQVNIX0NPUkVfQVBQX0NSQVNIX1JFUE9SVEVSX0NMSUVOVF9IXwot IAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gI2luY2x1ZGUg ImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91 aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oLm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgKLS0tLSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgubWVlCTIwMjMtMDEt MTkgMTE6NDU6MTUuOTUzMTU5NzU1ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91 aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oCTIwMjMtMDEtMTkgMTE6NDU6MjIuMzIw MjQ2MjQxICswMTAwCi1AQCAtNSw2ICs1LDggQEAKLSAjaWZuZGVmIFVJX0JBU0VfUFJFRElDVElP Tl9LQUxNQU5fRklMVEVSX0hfCi0gI2RlZmluZSBVSV9CQVNFX1BSRURJQ1RJT05fS0FMTUFOX0ZJ TFRFUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotKwotICNpbmNsdWRlICJiYXNlL2NvbXBv bmVudF9leHBvcnQuaCIKLSAjaW5jbHVkZSAidWkvZ2Z4L2dlb21ldHJ5L21hdHJpeDNfZi5oIgot IAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bhc3N3b3JkX21h bmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgubWUgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93 c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlv bi9wYXNzd29yZF9nZW5lcmF0b3IuaC5tZQkyMDIzLTAxLTE5IDE1OjIwOjA3LjYyMDk4Nzk0OSAr MDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5h Z2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oCTIwMjMtMDEt MTkgMTU6MjA6MTguMzI0MTczNzAyICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENP TVBPTkVOVFNfUEFTU1dPUkRfTUFOQUdFUl9DT1JFX0JST1dTRVJfR0VORVJBVElPTl9QQVNTV09S RF9HRU5FUkFUT1JfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfUEFTU1dPUkRfTUFOQUdFUl9DT1JF X0JST1dTRVJfR0VORVJBVElPTl9QQVNTV09SRF9HRU5FUkFUT1JfSF8KLSAKLSsjaW5jbHVkZSA8 Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9z dG9yYWdlX3ZhbGlkYXRvci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9m ZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAotLS0t IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50 ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5tZQkyMDIzLTAxLTE5IDE2OjAwOjE0LjM1 MDE4NjUxNSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0 dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAkyMDIzLTAx LTE5IDE2OjAwOjIxLjY0MzMwNzk5MyArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBD T01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9FVkVOVF9TVE9SQUdFX1ZBTElE QVRPUl9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxf RVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5j bHVkZSA8c3RyaW5nPgotIAotIG5hbWVzcGFjZSBmZWF0dXJlX2VuZ2FnZW1lbnQgewotZGlmZiAt dXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9p bnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1lIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZl bnRfc3RvcmFnZV92YWxpZGF0b3IuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9u ZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxp ZGF0b3IuaC5tZQkyMDIzLTAxLTE5IDE1OjU5OjE4LjIxMDIzOTQxNiArMDEwMAotKysrIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwv bmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAkyMDIzLTAxLTE5IDE1OjU5OjM0LjUxMzUx NTAzMCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRTX0ZFQVRVUkVf RU5HQUdFTUVOVF9JTlRFUk5BTF9ORVZFUl9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXwotICNk ZWZpbmUgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfTkVWRVJfRVZFTlRf U1RPUkFHRV9WQUxJREFUT1JfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8 c3RyaW5nPgotIAotICNpbmNsdWRlICJjb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRl cm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oIgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2 bS9pbmNsdWRlL2xsdm0vU3VwcG9ydC9TaWduYWxzLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9pbmNs dWRlL2xsdm0vU3VwcG9ydC9TaWduYWxzLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2luY2x1ZGUv bGx2bS9TdXBwb3J0L1NpZ25hbHMuaC5tZQkyMDIzLTAxLTE5IDE2OjA2OjE3LjU0ODI3Mjg3OCAr MDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIv dGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vaW5jbHVkZS9sbHZtL1N1cHBvcnQvU2lnbmFscy5o CTIwMjMtMDEtMTkgMTY6MDY6MjUuNjg1NDEwNTkyICswMTAwCi1AQCAtMTQsNiArMTQsNyBAQAot ICNpZm5kZWYgTExWTV9TVVBQT1JUX1NJR05BTFNfSAotICNkZWZpbmUgTExWTV9TVVBQT1JUX1NJ R05BTFNfSAotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0g bmFtZXNwYWNlIGxsdm0gewotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9V bml4L1NpZ25hbHMuaW5jLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dp ZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWdu YWxzLmluYwotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFk ZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWduYWxzLmlu Yy5tZQkyMDIzLTAxLTE5IDE2OjA5OjI5LjIxNjQ3NzE4MiArMDEwMAotKysrIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4w L2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWduYWxzLmluYwkyMDIzLTAxLTE5IDE2OjEwOjA1LjY1 NzA4OTIwOCArMDEwMAotQEAgLTQ1LDYgKzQ1LDcgQEAKLSAjaW5jbHVkZSAibGx2bS9TdXBwb3J0 L1NhdmVBbmRSZXN0b3JlLmgiCi0gI2luY2x1ZGUgImxsdm0vU3VwcG9ydC9yYXdfb3N0cmVhbS5o IgotICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUg PHN0cmluZz4KLSAjaW5jbHVkZSA8c3lzZXhpdHMuaD4KLSAjaWZkZWYgSEFWRV9CQUNLVFJBQ0UK LWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9i dWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgubWUgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9jaHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3Ry YWNrZXIuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvcHJpdmFj eV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgubWUJMjAyMy0wMS0xOSAxNjoz MjowNS4zMzgxNjAxMzEgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9i cm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oCTIwMjMt MDEtMTkgMTY6MzI6MTYuMjEzMzI2Nzk4ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVm IENIUk9NRV9CUk9XU0VSX1BSSVZBQ1lfQlVER0VUX0VOQ09VTlRFUkVEX1NVUkZBQ0VfVFJBQ0tF Ul9IXwotICNkZWZpbmUgQ0hST01FX0JST1dTRVJfUFJJVkFDWV9CVURHRVRfRU5DT1VOVEVSRURf U1VSRkFDRV9UUkFDS0VSX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPG1h cD4KLSAKLSAjaW5jbHVkZSAiYmFzZS9jb250YWluZXJzL2ZsYXRfc2V0LmgiCi1kaWZmIC11cCBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1 dG9maWxsX2FibGF0aW9uX3N0dWR5LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25l bnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oCi0tLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9h dXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oLm1lCTIwMjMtMDEtMTkgMTY6NDc6NTUuNTQ4NTcxMTAy ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2Nv cmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oCTIwMjMtMDEtMTkgMTY6NDg6Mjku MjE0MTQ2NTI5ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfQVVU T0ZJTExfQ09SRV9CUk9XU0VSX0FVVE9GSUxMX0FCTEFUSU9OX1NUVURZX0hfCi0gI2RlZmluZSBD T01QT05FTlRTX0FVVE9GSUxMX0NPUkVfQlJPV1NFUl9BVVRPRklMTF9BQkxBVElPTl9TVFVEWV9I XwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gY2xhc3Mg R1VSTDsKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9vbW5pYm94 L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21vZGVsLmgKLS0tLSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29uX2Rldmlj ZV9oZWFkX21vZGVsLmgubWUJMjAyMy0wMS0xOSAxNjo1NzoyOS41MjUzNzI4MTQgKzAxMDAKLSsr KyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29uX2Rl dmljZV9oZWFkX21vZGVsLmgJMjAyMy0wMS0xOSAxNjo1ODowMi42Njc5NzkyODggKzAxMDAKLUBA IC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19PTU5JQk9YX0JST1dTRVJfT05fREVW SUNFX0hFQURfTU9ERUxfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfT01OSUJPWF9CUk9XU0VSX09O X0RFVklDRV9IRUFEX01PREVMX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUg PHN0cmluZz4KLSAjaW5jbHVkZSA8dXRpbGl0eT4KLSAjaW5jbHVkZSA8dmVjdG9yPgotZGlmZiAt dXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRlbnQvdXRp bGl0eS9maW5nZXJwcmludF9wYXJzZXIuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBv bmVudHMvcGF5bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oCi0tLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0 eS9maW5nZXJwcmludF9wYXJzZXIuaC5tZQkyMDIzLTAxLTE5IDE3OjAyOjQ1LjI1ODU0NDY2NSAr MDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250 ZW50L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFyc2VyLmgJMjAyMy0wMS0xOSAxNzowMjo1Mi41Nzc2 MTE3NTcgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19QQVlNRU5U U19DT05URU5UX1VUSUxJVFlfRklOR0VSUFJJTlRfUEFSU0VSX0hfCi0gI2RlZmluZSBDT01QT05F TlRTX1BBWU1FTlRTX0NPTlRFTlRfVVRJTElUWV9GSU5HRVJQUklOVF9QQVJTRVJfSF8KLSAKLSsj aW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0gCi0gI2luY2x1ZGUgPHN0 cmluZz4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0dGFj aG1lbnRfaW5mby5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0dGFj aG1lbnRfaW5mby5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9wZGYvZG9jdW1lbnRfYXR0 YWNobWVudF9pbmZvLmgubWUJMjAyMy0wMS0xOSAxNzoyODoyOC41NTIwNjM1MzQgKzAxMDAKLSsr KyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2luZm8uaAky MDIzLTAxLTE5IDE3OjI4OjQ4LjA3MjM3OTk1MyArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lm bmRlZiBQREZfRE9DVU1FTlRfQVRUQUNITUVOVF9JTkZPX0hfCi0gI2RlZmluZSBQREZfRE9DVU1F TlRfQVRUQUNITUVOVF9JTkZPX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUg PHN0cmluZz4KLSAKLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgubWUgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaAot LS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9h bm5vdGF0aW9uX2ZsYWdzLmgubWUJMjAyMy0wMS0xOSAxODoyNTo0Ny42NDgxOTM3MTAgKzAxMDAK LSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMv YW5ub3RhdGlvbl9mbGFncy5oCTIwMjMtMDEtMTkgMTg6MjY6MTEuNDg4NTkzNTU2ICswMTAwCi1A QCAtNSw2ICs1LDggQEAKLSAjaWZuZGVmIENPTlNUQU5UU19BTk5PVEFUSU9OX0ZMQUdTX0hfCi0g I2RlZmluZSBDT05TVEFOVFNfQU5OT1RBVElPTl9GTEFHU19IXwotIAotKyNpbmNsdWRlIDxjc3Rk aW50PgotKwotIG5hbWVzcGFjZSBwZGZpdW0gewotIG5hbWVzcGFjZSBhbm5vdGF0aW9uX2ZsYWdz IHsKLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jcHUuaC5tZSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY3B1LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2Jhc2UvY3B1LmgubWUJMjAyMy0wMS0xOSAyMTozMTowMi45MDUwNjI5ODcgKzAxMDAKLSsrKyBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY3B1LmgJMjAyMy0wMS0xOSAyMTozMTozMi4yOTg1 NzMyNjcgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQkFTRV9DUFVfSF8KLSAjZGVm aW5lIEJBU0VfQ1BVX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmlu Zz4KLSAKLSAjaW5jbHVkZSAiYmFzZS9iYXNlX2V4cG9ydC5oIgotZGlmZiAtdXAgY2hyb21pdW0t MTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1s YXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgubWUgY2hyb21pdW0t MTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1s YXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgKLS0tLSBjaHJvbWl1 bS0xMTMuMC41NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0aW9u LWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2MuaC5tZQkyMDIzLTA0 LTE1IDE2OjQ0OjU1LjM0NDMwNTQxMiArMDIwMAotKysrIGNocm9taXVtLTExMy4wLjU2NzIuMjQv dGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXll cnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oCTIwMjMtMDQtMTUgMTY6NDc6MDkuMDI4NjY2 OTk1ICswMjAwCi1AQCAtMjg1NCw2ICsyODU0LDcgQEAgc3RhdGljIHZvaWQgdm1hX2FsaWduZWRf ZnJlZSh2b2lkKiBWTUFfTgotIAotIC8vIERlZmluZSB0aGlzIG1hY3JvIHRvIDEgdG8gZW5hYmxl IGZ1bmN0aW9uczogdm1hQnVpbGRTdGF0c1N0cmluZywgdm1hRnJlZVN0YXRzU3RyaW5nLgotICNp ZiBWTUFfU1RBVFNfU1RSSU5HX0VOQUJMRUQKLSsjaW5jbHVkZSA8c3RkaW8uaD4KLSAgICAgc3Rh dGljIGlubGluZSB2b2lkIFZtYVVpbnQzMlRvU3RyKGNoYXIqIFZNQV9OT1RfTlVMTCBvdXRTdHIs IHNpemVfdCBzdHJMZW4sIHVpbnQzMl90IG51bSkKLSAgICAgewotICAgICAgICAgc25wcmludGYo b3V0U3RyLCBzdHJMZW4sICIldSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4obnVtKSk7Ci1k aWZmIC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1 dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaC5tZSBjaHJvbWl1bS0xMTMuMC41Njcy LjM3L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2df bW9kZWwuaAotLS0tIGNocm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21lL2Jyb3dzZXIvd2ViYXV0 aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oLm1lCTIwMjMtMDQtMTggMTU6 NTU6NDQuNzc0OTE2MzE5ICswMjAwCi0rKysgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUv YnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgJMjAy My0wNC0xOCAxNTo1NTo1NC40NDEwODU4ODIgKzAyMDAKLUBAIC04LDYgKzgsNyBAQAotICNpbmNs dWRlIDxtZW1vcnk+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8dmVjdG9yPgotKyNp bmNsdWRlIDx2YXJpYW50PgotIAotICNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvc3Bhbi5oIgot ICNpbmNsdWRlICJiYXNlL2Z1bmN0aW9uYWwvY2FsbGJhY2tfZm9yd2FyZC5oIgotZGlmZiAtdXAg Y2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgubWUgY2hyb21pdW0tMTEz LjAuNTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgKLS0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3 L2dpbi90aW1lX2NsYW1wZXIuaC5tZQkyMDIzLTA0LTE4IDE2OjM4OjQxLjE4MDQzNzQ2NyArMDIw MAotKysrIGNocm9taXVtLTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oCTIwMjMtMDQt MTggMTY6Mzk6NDMuODU3MDQ5NDMyICswMjAwCi1AQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBHSU5f RVhQT1JUIFRpbWVDbGFtcGVyIHsKLSAgICAgY29uc3QgaW50NjRfdCBtaWNyb3MgPSBub3dfbWlj cm9zICUgMTAwMDsKLSAgICAgLy8gYWJzKCkgaXMgbmVjZXNzYXJ5IGZvciBkZXZpY2VzIHdpdGgg dGltZXMgYmVmb3JlIHVuaXgtZXBvY2ggKG1vc3QgbGlrZWx5Ci0gICAgIC8vIGNvbmZpZ3VyZWQg aW5jb3JyZWN0bHkpLgotLSAgICBpZiAoYWJzKG1pY3JvcykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8 IDEwMDApIHsKLSsgICAgaWYgKHN0ZDo6YWJzKG1pY3JvcykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8 IDEwMDApIHsKLSAgICAgICByZXR1cm4gbm93X21pY3JvcyAvIDEwMDA7Ci0gICAgIH0KLSAgICAg cmV0dXJuIENsYW1wVGltZVJlc29sdXRpb24obm93X21pY3JvcykgLyAxMDAwOwotZGlmZiAtdXAg Y2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dl Yl92aWV3X2ltcGwuY2MubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJv bWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwuY2MKLS0tLSBjaHJvbWl1bS0xMTMuMC41Njcy LjUzL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYy5tZQky MDIzLTA0LTIxIDA4OjA3OjU1LjM2MjcxNDU0NCArMDIwMAotKysrIGNocm9taXVtLTExMy4wLjU2 NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjCTIw MjMtMDQtMjEgMDg6MTQ6MzUuNDI0MTU4NjkzICswMjAwCi1AQCAtMTAsNiArMTAsNyBAQAotICNp bmNsdWRlIDxxdWV1ZT4KLSAjaW5jbHVkZSA8dXRpbGl0eT4KLSAjaW5jbHVkZSA8dmVjdG9yPgot KyNpbmNsdWRlIDxjc3RyaW5nPgotIAotICNpbmNsdWRlICJiYXNlL2NoZWNrLmgiCi0gI2luY2x1 ZGUgImJhc2UvZmlsZXMvZmlsZV9wYXRoLmgiCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE0LW5v cmFyLnBhdGNoIGIvY2hyb21pdW0tMTE0LW5vcmFyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA2MzIwNWZhLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExNC1ub3Jhci5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS0xMTQu MC41NzM1LjM1L2Nocm9tZS9icm93c2VyL3NhZmVfYnJvd3NpbmcvZG93bmxvYWRfcHJvdGVjdGlv bi9maWxlX2FuYWx5emVyLmNjLm5vdW5yYXIgY2hyb21pdW0tMTE0LjAuNTczNS4zNS9jaHJvbWUv YnJvd3Nlci9zYWZlX2Jyb3dzaW5nL2Rvd25sb2FkX3Byb3RlY3Rpb24vZmlsZV9hbmFseXplci5j YwotLS0tIGNocm9taXVtLTExNC4wLjU3MzUuMzUvY2hyb21lL2Jyb3dzZXIvc2FmZV9icm93c2lu Zy9kb3dubG9hZF9wcm90ZWN0aW9uL2ZpbGVfYW5hbHl6ZXIuY2Mubm91bnJhcgkyMDIzLTA1LTE4 IDAwOjM3OjQ3LjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTExNC4wLjU3MzUuMzUvY2hy b21lL2Jyb3dzZXIvc2FmZV9icm93c2luZy9kb3dubG9hZF9wcm90ZWN0aW9uL2ZpbGVfYW5hbHl6 ZXIuY2MJMjAyMy0wNS0yMSAxODoxMjozMC4zNjg0MjUwODAgKzAyMDAKLUBAIC03Nyw4ICs3Nyw2 IEBAIHZvaWQgRmlsZUFuYWx5emVyOjpTdGFydChjb25zdCBiYXNlOjpGaWwKLSAKLSAgIGlmIChp bnNwZWN0aW9uX3R5cGUgPT0gRG93bmxvYWRGaWxlVHlwZTo6WklQKSB7Ci0gICAgIFN0YXJ0RXh0 cmFjdFppcEZlYXR1cmVzKCk7Ci0tICB9IGVsc2UgaWYgKGluc3BlY3Rpb25fdHlwZSA9PSBEb3du bG9hZEZpbGVUeXBlOjpSQVIpIHsKLS0gICAgU3RhcnRFeHRyYWN0UmFyRmVhdHVyZXMoKTsKLSAj aWYgQlVJTERGTEFHKElTX01BQykKLSAgIH0gZWxzZSBpZiAoaW5zcGVjdGlvbl90eXBlID09IERv d25sb2FkRmlsZVR5cGU6OkRNRykgewotICAgICBTdGFydEV4dHJhY3REbWdGZWF0dXJlcygpOwot ZGlmZiAtdXAgY2hyb21pdW0tMTE0LjAuNTczNS4zNS9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3Np bmcvYXJjaGl2ZV9hbmFseXplci5jYy5ub3VucmFyIGNocm9taXVtLTExNC4wLjU3MzUuMzUvY2hy b21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL2FyY2hpdmVfYW5hbHl6ZXIuY2MKLS0tLSBjaHJvbWl1 bS0xMTQuMC41NzM1LjM1L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9hcmNoaXZlX2FuYWx5 emVyLmNjLm5vdW5yYXIJMjAyMy0wNS0xOCAwMDozNzo0OC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBj aHJvbWl1bS0xMTQuMC41NzM1LjM1L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9hcmNoaXZl X2FuYWx5emVyLmNjCTIwMjMtMDUtMjEgMTg6MTE6MTQuODcwMDU4NjM1ICswMjAwCi1AQCAtOCw3 ICs4LDYgQEAKLSAjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCi0gI2luY2x1ZGUgImJ1 aWxkL2J1aWxkZmxhZy5oIgotICNpbmNsdWRlICJjaHJvbWUvY29tbW9uL3NhZmVfYnJvd3Npbmcv YXJjaGl2ZV9hbmFseXplcl9yZXN1bHRzLmgiCi0tI2luY2x1ZGUgImNocm9tZS9jb21tb24vc2Fm ZV9icm93c2luZy9yYXJfYW5hbHl6ZXIuaCIKLSAjaW5jbHVkZSAiY2hyb21lL2NvbW1vbi9zYWZl X2Jyb3dzaW5nL3NldmVuX3ppcF9hbmFseXplci5oIgotICNpbmNsdWRlICJjaHJvbWUvY29tbW9u L3NhZmVfYnJvd3NpbmcvemlwX2FuYWx5emVyLmgiCi0gI2luY2x1ZGUgImNvbXBvbmVudHMvc2Fm ZV9icm93c2luZy9jb250ZW50L2NvbW1vbi9wcm90by9kb3dubG9hZF9maWxlX3R5cGVzLnBiLmgi Ci1AQCAtMjMsOSArMjIsNyBAQCBuYW1lc3BhY2Ugc2FmZV9icm93c2luZyB7Ci0gLy8gc3RhdGlj Ci0gc3RkOjp1bmlxdWVfcHRyPEFyY2hpdmVBbmFseXplcj4gQXJjaGl2ZUFuYWx5emVyOjpDcmVh dGVGb3JBcmNoaXZlVHlwZSgKLSAgICAgRG93bmxvYWRGaWxlVHlwZV9JbnNwZWN0aW9uVHlwZSBm aWxlX3R5cGUpIHsKLS0gIGlmIChmaWxlX3R5cGUgPT0gRG93bmxvYWRGaWxlVHlwZTo6UkFSKSB7 Ci0tICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFJhckFuYWx5emVyPigpOwotLSAgfSBlbHNl IGlmIChmaWxlX3R5cGUgPT0gRG93bmxvYWRGaWxlVHlwZTo6WklQKSB7Ci0rICBpZiAoZmlsZV90 eXBlID09IERvd25sb2FkRmlsZVR5cGU6OlpJUCkgewotICAgICByZXR1cm4gc3RkOjptYWtlX3Vu aXF1ZTxaaXBBbmFseXplcj4oKTsKLSAgIH0gZWxzZSBpZiAoZmlsZV90eXBlID09IERvd25sb2Fk RmlsZVR5cGU6OlNFVkVOX1pJUCkgewotICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxTZXZl blppcEFuYWx5emVyPigpOwotZGlmZiAtdXAgY2hyb21pdW0tMTE0LjAuNTczNS4zNS9jaHJvbWUv Y29tbW9uL3NhZmVfYnJvd3NpbmcvQlVJTEQuZ24ubm91bnJhciBjaHJvbWl1bS0xMTQuMC41NzM1 LjM1L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9CVUlMRC5nbgotLS0tIGNocm9taXVtLTEx NC4wLjU3MzUuMzUvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0JVSUxELmduLm5vdW5yYXIJ MjAyMy0wNS0xOCAwMDozNzo0OC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTQuMC41 NzM1LjM1L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9CVUlMRC5nbgkyMDIzLTA1LTIxIDE4 OjExOjE0Ljg2OTA1ODYxNyArMDIwMAotQEAgLTE0NSw4ICsxNDUsNiBAQCBzb3VyY2Vfc2V0KCJz YWZlX2Jyb3dzaW5nIikgewotICAgICAgICJwcm90b2J1Zl9tZXNzYWdlX2xvZ19tYWNyb3MuaCIs Ci0gICAgICAgInByb3RvYnVmX21lc3NhZ2VfcmVhZF9tYWNyb3MuaCIsCi0gICAgICAgInByb3Rv YnVmX21lc3NhZ2Vfd3JpdGVfbWFjcm9zLmgiLAotLSAgICAgICJyYXJfYW5hbHl6ZXIuY2MiLAot LSAgICAgICJyYXJfYW5hbHl6ZXIuaCIsCi0gICAgICAgInNldmVuX3ppcF9hbmFseXplci5jYyIs Ci0gICAgICAgInNldmVuX3ppcF9hbmFseXplci5oIiwKLSAgICAgICAiemlwX2FuYWx5emVyLmNj IiwKLUBAIC0xNjIsNyArMTYwLDYgQEAgc291cmNlX3NldCgic2FmZV9icm93c2luZyIpIHsKLSAg ICAgICAiLy9jb21wb25lbnRzL3NhZmVfYnJvd3NpbmcvY29udGVudC9jb21tb246ZmlsZV90eXBl X3BvbGljaWVzIiwKLSAgICAgICAiLy9jb21wb25lbnRzL3NhZmVfYnJvd3NpbmcvY29yZS9jb21t b24iLAotICAgICAgICIvL3RoaXJkX3BhcnR5L2x6bWFfc2RrL2dvb2dsZTpzZXZlbl96aXBfcmVh ZGVyIiwKLS0gICAgICAiLy90aGlyZF9wYXJ0eS91bnJhcjp1bnJhciIsCi0gICAgIF0KLSAKLSAg ICAgaWYgKGlzX2xpbnV4KSB7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTQuMC41NzM1LjM1L2Nocm9t ZS9jb21tb24vc2FmZV9icm93c2luZy96aXBfYW5hbHl6ZXIuY2Mubm91bnJhciBjaHJvbWl1bS0x MTQuMC41NzM1LjM1L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy96aXBfYW5hbHl6ZXIuY2MK LS0tLSBjaHJvbWl1bS0xMTQuMC41NzM1LjM1L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy96 aXBfYW5hbHl6ZXIuY2Mubm91bnJhcgkyMDIzLTA1LTE4IDAwOjM3OjQ4LjAwMDAwMDAwMCArMDIw MAotKysrIGNocm9taXVtLTExNC4wLjU3MzUuMzUvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5n L3ppcF9hbmFseXplci5jYwkyMDIzLTA1LTIxIDE4OjExOjE0Ljg2OTA1ODYxNyArMDIwMAotQEAg LTE4LDcgKzE4LDYgQEAKLSAjaW5jbHVkZSAiYmFzZS90aW1lL3RpbWUuaCIKLSAjaW5jbHVkZSAi YnVpbGQvYnVpbGRfY29uZmlnLmgiCi0gI2luY2x1ZGUgImNocm9tZS9jb21tb24vc2FmZV9icm93 c2luZy9hcmNoaXZlX2FuYWx5emVyX3Jlc3VsdHMuaCIKLS0jaW5jbHVkZSAiY2hyb21lL2NvbW1v bi9zYWZlX2Jyb3dzaW5nL3Jhcl9hbmFseXplci5oIgotICNpbmNsdWRlICJjb21wb25lbnRzL3Nh ZmVfYnJvd3NpbmcvY29udGVudC9jb21tb24vZmlsZV90eXBlX3BvbGljaWVzLmgiCi0gI2luY2x1 ZGUgImNvbXBvbmVudHMvc2FmZV9icm93c2luZy9jb3JlL2NvbW1vbi9mZWF0dXJlcy5oIgotICNp bmNsdWRlICJjb21wb25lbnRzL3NhZmVfYnJvd3NpbmcvY29yZS9jb21tb24vcHJvdG8vY3NkLnBi LmgiCi1kaWZmIC11cCBjaHJvbWl1bS0xMTQuMC41NzM1LjM1L2Nocm9tZS9zZXJ2aWNlcy9maWxl X3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVyLmNjLm5vdW5yYXIgY2hyb21pdW0tMTE0LjAuNTcz NS4zNS9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXplci5jYwot LS0tIGNocm9taXVtLTExNC4wLjU3MzUuMzUvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9zYWZl X2FyY2hpdmVfYW5hbHl6ZXIuY2Mubm91bnJhcgkyMDIzLTA1LTE4IDAwOjM3OjQ4LjAwMDAwMDAw MCArMDIwMAotKysrIGNocm9taXVtLTExNC4wLjU3MzUuMzUvY2hyb21lL3NlcnZpY2VzL2ZpbGVf dXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuY2MJMjAyMy0wNS0yMSAxODoxMToxNC44NzAwNTg2 MzUgKzAyMDAKLUBAIC03MSw2ICs3MSw3IEBAIHZvaWQgU2FmZUFyY2hpdmVBbmFseXplcjo6QW5h bHl6ZVJhckZpbGUKLSAgICAgYmFzZTo6RmlsZSByYXJfZmlsZSwKLSAgICAgbW9qbzo6UGVuZGlu Z1JlbW90ZTxjaHJvbWU6Om1vam9tOjpUZW1wb3JhcnlGaWxlR2V0dGVyPiB0ZW1wX2ZpbGVfZ2V0 dGVyLAotICAgICBBbmFseXplUmFyRmlsZUNhbGxiYWNrIGNhbGxiYWNrKSB7Ci0rI2lmIDAKLSAg IERDSEVDSyhyYXJfZmlsZS5Jc1ZhbGlkKCkpOwotICAgdGVtcF9maWxlX2dldHRlcl8uQmluZChz dGQ6Om1vdmUodGVtcF9maWxlX2dldHRlcikpOwotICAgY2FsbGJhY2tfID0gc3RkOjptb3ZlKGNh bGxiYWNrKTsKLUBAIC04Niw2ICs4Nyw5IEBAIHZvaWQgU2FmZUFyY2hpdmVBbmFseXplcjo6QW5h bHl6ZVJhckZpbGUKLSAgIHJhcl9hbmFseXplcl8uQW5hbHl6ZShzdGQ6Om1vdmUocmFyX2ZpbGUp LCBiYXNlOjpGaWxlUGF0aCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bW92ZShh bmFseXNpc19maW5pc2hlZF9jYWxsYmFjayksCi0gICAgICAgICAgICAgICAgICAgICAgICAgc3Rk Ojptb3ZlKHRlbXBfZmlsZV9nZXR0ZXJfY2FsbGJhY2spLCAmcmVzdWx0c18pOwotKyNlbHNlCi0r ICBOT1RSRUFDSEVEKCk7Ci0rI2VuZGlmCi0gfQotIAotIHZvaWQgU2FmZUFyY2hpdmVBbmFseXpl cjo6QW5hbHl6ZVNldmVuWmlwRmlsZSgKLWRpZmYgLXVwIGNocm9taXVtLTExNC4wLjU3MzUuMzUv Y2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuaC5ub3VucmFy IGNocm9taXVtLTExNC4wLjU3MzUuMzUvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9zYWZlX2Fy Y2hpdmVfYW5hbHl6ZXIuaAotLS0tIGNocm9taXVtLTExNC4wLjU3MzUuMzUvY2hyb21lL3NlcnZp Y2VzL2ZpbGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuaC5ub3VucmFyCTIwMjMtMDUtMTgg MDA6Mzc6NDguMDAwMDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0tMTE0LjAuNTczNS4zNS9jaHJv bWUvc2VydmljZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXplci5oCTIwMjMtMDUtMjEg MTg6MTE6MTQuODcwMDU4NjM1ICswMjAwCi1AQCAtNiw3ICs2LDYgQEAKLSAjZGVmaW5lIENIUk9N RV9TRVJWSUNFU19GSUxFX1VUSUxfU0FGRV9BUkNISVZFX0FOQUxZWkVSX0hfCi0gCi0gI2luY2x1 ZGUgImNocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9hcmNoaXZlX2FuYWx5emVyX3Jlc3VsdHMu aCIKLS0jaW5jbHVkZSAiY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL3Jhcl9hbmFseXplci5o IgotICNpbmNsdWRlICJjaHJvbWUvY29tbW9uL3NhZmVfYnJvd3Npbmcvc2V2ZW5femlwX2FuYWx5 emVyLmgiCi0gI2luY2x1ZGUgImNocm9tZS9jb21tb24vc2FmZV9icm93c2luZy96aXBfYW5hbHl6 ZXIuaCIKLSAjaW5jbHVkZSAiY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9wdWJsaWMvbW9qb20v c2FmZV9hcmNoaXZlX2FuYWx5emVyLm1vam9tLmgiCi1AQCAtNjMsNyArNjIsNiBAQCBjbGFzcyBT YWZlQXJjaGl2ZUFuYWx5emVyIDogcHVibGljIGNocm9tCi0gICB2b2lkIFRpbWVvdXQoKTsKLSAK LSAgIHNhZmVfYnJvd3Npbmc6OlppcEFuYWx5emVyIHppcF9hbmFseXplcl87Ci0tICBzYWZlX2Jy b3dzaW5nOjpSYXJBbmFseXplciByYXJfYW5hbHl6ZXJfOwotICAgc2FmZV9icm93c2luZzo6U2V2 ZW5aaXBBbmFseXplciBzZXZlbl96aXBfYW5hbHl6ZXJfOwotICNpZiBCVUlMREZMQUcoSVNfTUFD KQotICAgc2FmZV9icm93c2luZzo6ZG1nOjpETUdBbmFseXplciBkbWdfYW5hbHl6ZXJfOwoKZGlm ZiAtLWdpdCBhL2Nocm9taXVtLTExNC10eXBlbmFtZS5wYXRjaCBiL2Nocm9taXVtLTExNC10eXBl bmFtZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmNlYzRlZi4uMDAwMDAw MAotLS0gYS9jaHJvbWl1bS0xMTQtdHlwZW5hbWUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2 MiArMCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjYzL2Nocm9tZS9icm93c2Vy L2Rvd25sb2FkL2J1YmJsZS9kb3dubG9hZF9idWJibGVfdXBkYXRlX3NlcnZpY2UuY2MubWUgY2hy b21pdW0tMTEzLjAuNTY3Mi42My9jaHJvbWUvYnJvd3Nlci9kb3dubG9hZC9idWJibGUvZG93bmxv YWRfYnViYmxlX3VwZGF0ZV9zZXJ2aWNlLmNjCi0tLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi42My9j aHJvbWUvYnJvd3Nlci9kb3dubG9hZC9idWJibGUvZG93bmxvYWRfYnViYmxlX3VwZGF0ZV9zZXJ2 aWNlLmNjLm1lCTIwMjMtMDUtMDMgMTc6NDY6MzcuMTk0MDAwODM0ICswMjAwCi0rKysgY2hyb21p dW0tMTEzLjAuNTY3Mi42My9jaHJvbWUvYnJvd3Nlci9kb3dubG9hZC9idWJibGUvZG93bmxvYWRf YnViYmxlX3VwZGF0ZV9zZXJ2aWNlLmNjCTIwMjMtMDUtMDMgMTc6NDg6MDUuMTcwMzE3NTc1ICsw MjAwCi1AQCAtODcsNyArODcsNyBAQCBJdGVtU29ydEtleSBHZXRTb3J0S2V5KGNvbnN0IEl0ZW0m IGl0ZW0pCi0gLy8gSGVscGVyIHRvIGdldCBhbiBpdGVyYXRvciB0byB0aGUgbGFzdCBlbGVtZW50 IGluIHRoZSBjYWNoZS4gVGhlIGNhY2hlCi0gLy8gbXVzdCBub3QgYmUgZW1wdHkuCi0gdGVtcGxh dGUgPHR5cGVuYW1lIEl0ZW0+Ci0tU29ydGVkSXRlbXM8SXRlbT46Oml0ZXJhdG9yIEdldExhc3RJ dGVyKFNvcnRlZEl0ZW1zPEl0ZW0+JiBjYWNoZSkgewotK3R5cGVuYW1lIFNvcnRlZEl0ZW1zPEl0 ZW0+OjppdGVyYXRvciBHZXRMYXN0SXRlcihTb3J0ZWRJdGVtczxJdGVtPiYgY2FjaGUpIHsKLSAg IENIRUNLKCFjYWNoZS5lbXB0eSgpKTsKLSAgIGF1dG8gaXQgPSBjYWNoZS5lbmQoKTsKLSAgIHJl dHVybiBzdGQ6OnByZXYoaXQpOwotQEAgLTc4OSw5ICs3ODksOSBAQCBib29sIERvd25sb2FkQnVi YmxlVXBkYXRlU2VydmljZTo6UmVtb3ZlCi0gfQotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBJZCwg dHlwZW5hbWUgSXRlbT4KLS1Tb3J0ZWRJdGVtczxJdGVtPjo6aXRlcmF0b3IKLSt0eXBlbmFtZSBT b3J0ZWRJdGVtczxJdGVtPjo6aXRlcmF0b3IKLSBEb3dubG9hZEJ1YmJsZVVwZGF0ZVNlcnZpY2U6 OlJlbW92ZUl0ZW1Gcm9tQ2FjaGVCeUl0ZXIoCi0tICAgIFNvcnRlZEl0ZW1zPEl0ZW0+OjppdGVy YXRvciBpdGVyLAotKyAgICB0eXBlbmFtZSBTb3J0ZWRJdGVtczxJdGVtPjo6aXRlcmF0b3IgaXRl ciwKLSAgICAgU29ydGVkSXRlbXM8SXRlbT4mIGNhY2hlLAotICAgICBJdGVyTWFwPElkLCBJdGVt PiYgaXRlcl9tYXApIHsKLSAgIENIRUNLKGl0ZXIgIT0gY2FjaGUuZW5kKCkpOwotZGlmZiAtdXAg Y2hyb21pdW0tMTEzLjAuNTY3Mi42My9jaHJvbWUvYnJvd3Nlci9kb3dubG9hZC9idWJibGUvZG93 bmxvYWRfYnViYmxlX3VwZGF0ZV9zZXJ2aWNlLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi42My9j aHJvbWUvYnJvd3Nlci9kb3dubG9hZC9idWJibGUvZG93bmxvYWRfYnViYmxlX3VwZGF0ZV9zZXJ2 aWNlLmgKLS0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjYzL2Nocm9tZS9icm93c2VyL2Rvd25sb2Fk L2J1YmJsZS9kb3dubG9hZF9idWJibGVfdXBkYXRlX3NlcnZpY2UuaC5tZQkyMDIzLTA1LTAzIDE3 OjQ4OjE0LjA3OTU1MTgyMCArMDIwMAotKysrIGNocm9taXVtLTExMy4wLjU2NzIuNjMvY2hyb21l L2Jyb3dzZXIvZG93bmxvYWQvYnViYmxlL2Rvd25sb2FkX2J1YmJsZV91cGRhdGVfc2VydmljZS5o CTIwMjMtMDUtMDMgMTc6NDk6MjQuNzAyMzg3MTgwICswMjAwCi1AQCAtMjA4LDggKzIwOCw4IEBA IGNsYXNzIERvd25sb2FkQnViYmxlVXBkYXRlU2VydmljZQotIAotICAgLy8gUmVtb3ZlcyBpdGVt IGlmIHdlIGFscmVhZHkgaGF2ZSB0aGUgaXRlcmF0b3IgdG8gaXQuIFJldHVybnMgbmV4dCBpdGVy YXRvci4KLSAgIHRlbXBsYXRlIDx0eXBlbmFtZSBJZCwgdHlwZW5hbWUgSXRlbT4KLS0gIFNvcnRl ZEl0ZW1zPEl0ZW0+OjppdGVyYXRvciBSZW1vdmVJdGVtRnJvbUNhY2hlQnlJdGVyKAotLSAgICAg IFNvcnRlZEl0ZW1zPEl0ZW0+OjppdGVyYXRvciBpdGVyLAotKyAgdHlwZW5hbWUgU29ydGVkSXRl bXM8SXRlbT46Oml0ZXJhdG9yIFJlbW92ZUl0ZW1Gcm9tQ2FjaGVCeUl0ZXIoCi0rICAgICAgdHlw ZW5hbWUgU29ydGVkSXRlbXM8SXRlbT46Oml0ZXJhdG9yIGl0ZXIsCi0gICAgICAgU29ydGVkSXRl bXM8SXRlbT4mIGNhY2hlLAotICAgICAgIEl0ZXJNYXA8SWQsIEl0ZW0+JiBpdGVyX21hcCk7Ci0g Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTQuMC41NzM1LjI2L2Nocm9tZS9icm93c2VyL3ByaW50aW5n L3ByaW50X2JhY2tlbmRfc2VydmljZV9tYW5hZ2VyLmgubWUgY2hyb21pdW0tMTE0LjAuNTczNS4y Ni9jaHJvbWUvYnJvd3Nlci9wcmludGluZy9wcmludF9iYWNrZW5kX3NlcnZpY2VfbWFuYWdlci5o Ci0tLS0gY2hyb21pdW0tMTE0LjAuNTczNS4yNi9jaHJvbWUvYnJvd3Nlci9wcmludGluZy9wcmlu dF9iYWNrZW5kX3NlcnZpY2VfbWFuYWdlci5oLm1lCTIwMjMtMDUtMTQgMDA6MDM6NDguNDU1OTYx Njk2ICswMjAwCi0rKysgY2hyb21pdW0tMTE0LjAuNTczNS4yNi9jaHJvbWUvYnJvd3Nlci9wcmlu dGluZy9wcmludF9iYWNrZW5kX3NlcnZpY2VfbWFuYWdlci5oCTIwMjMtMDUtMTQgMDA6MDQ6MjQu Nzc2NTg5MTY0ICswMjAwCi1AQCAtNTg3LDcgKzU4Nyw3IEBAIGNsYXNzIFByaW50QmFja2VuZFNl cnZpY2VNYW5hZ2VyIHsKLSAgIHRlbXBsYXRlIDxjbGFzcy4uLiBUPgotICAgdm9pZCBSdW5TYXZl ZENhbGxiYWNrcyhSZW1vdGVTYXZlZENhbGxiYWNrczxULi4uPiYgc2F2ZWRfY2FsbGJhY2tzLAot ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBSZW1vdGVJZCYgcmVtb3RlX2lkLAotLSAg ICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VD46OnR5cGUuLi4g cmVzdWx0KTsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjpyZW1vdmVf cmVmZXJlbmNlPFQ+Ojp0eXBlLi4uIHJlc3VsdCk7Ci0gCi0gICAvLyBUZXN0IHN1cHBvcnQgZm9y IGNsaWVudCBJRCBtYW5hZ2VtZW50LgotICAgc3RhdGljIHZvaWQgU2V0Q2xpZW50c0ZvclRlc3Rp bmcoCi1kaWZmIC11cCBjaHJvbWl1bS0xMTQuMC41NzM1LjI2L2Nocm9tZS9icm93c2VyL3ByaW50 aW5nL3ByaW50X2JhY2tlbmRfc2VydmljZV9tYW5hZ2VyLmNjLm1lIGNocm9taXVtLTExNC4wLjU3 MzUuMjYvY2hyb21lL2Jyb3dzZXIvcHJpbnRpbmcvcHJpbnRfYmFja2VuZF9zZXJ2aWNlX21hbmFn ZXIuY2MKLS0tLSBjaHJvbWl1bS0xMTQuMC41NzM1LjI2L2Nocm9tZS9icm93c2VyL3ByaW50aW5n L3ByaW50X2JhY2tlbmRfc2VydmljZV9tYW5hZ2VyLmNjLm1lCTIwMjMtMDUtMTQgMTI6NDA6Mjku NTU1OTI2NjQ2ICswMjAwCi0rKysgY2hyb21pdW0tMTE0LjAuNTczNS4yNi9jaHJvbWUvYnJvd3Nl ci9wcmludGluZy9wcmludF9iYWNrZW5kX3NlcnZpY2VfbWFuYWdlci5jYwkyMDIzLTA1LTE0IDEy OjQxOjEyLjE1MDQ3MTc5MSArMDIwMAotQEAgLTE0NzcsNyArMTQ3Nyw3IEBAIHRlbXBsYXRlIDxj bGFzcy4uLiBUPgotIHZvaWQgUHJpbnRCYWNrZW5kU2VydmljZU1hbmFnZXI6OlJ1blNhdmVkQ2Fs bGJhY2tzKAotICAgICBSZW1vdGVTYXZlZENhbGxiYWNrczxULi4uPiYgc2F2ZWRfY2FsbGJhY2tz LAotICAgICBjb25zdCBSZW1vdGVJZCYgcmVtb3RlX2lkLAotLSAgICBzdGQ6OnJlbW92ZV9yZWZl cmVuY2U8VD46OnR5cGUuLi4gcmVzdWx0KSB7Ci0rICAgIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3Jl ZmVyZW5jZTxUPjo6dHlwZS4uLiByZXN1bHQpIHsKLSAgIGF1dG8gZm91bmRfY2FsbGJhY2tzX21h cCA9IHNhdmVkX2NhbGxiYWNrcy5maW5kKHJlbW90ZV9pZCk7Ci0gICBpZiAoZm91bmRfY2FsbGJh Y2tzX21hcCA9PSBzYXZlZF9jYWxsYmFja3MuZW5kKCkpCi0gICAgIHJldHVybjsgIC8vIE5vIGNh bGxiYWNrcyB0byBydW4uCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE0LXdvcmthcm91bmRfY2xh bmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaCBiL2Nocm9taXVtLTExNC13b3JrYXJvdW5k X2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IGFmOGU3MzcuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTE0LXdvcmthcm91bmRf Y2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgx ICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTExNC4wLjU3MzUuMjYvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0u Y2Mud29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nIGNocm9taXVtLTExNC4w LjU3MzUuMjYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9u Z19ncmlkX2xheW91dF9hbGdvcml0aG0uY2MKLS0tLSBjaHJvbWl1bS0xMTQuMC41NzM1LjI2L3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L25nL2dyaWQvbmdfZ3JpZF9sYXlv dXRfYWxnb3JpdGhtLmNjLndvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZwky MDIzLTA1LTExIDAzOjM2OjI3LjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTExNC4wLjU3 MzUuMjYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19n cmlkX2xheW91dF9hbGdvcml0aG0uY2MJMjAyMy0wNS0xNCAxMTo0OTo0Mi41NTgxMjkxNjQgKzAy MDAKLUBAIC0yMzgsNyArMjM4LDEwIEBAIGNvbnN0IE5HTGF5b3V0UmVzdWx0KiBOR0dyaWRMYXlv dXRBbGdvcmkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IEJ1aWxkR3JpZFNpemlu Z1RyZWUoJm9vZl9jaGlsZHJlbik7Ci0gCi0gICBMYXlvdXRVbml0IGludHJpbnNpY19ibG9ja19z aXplOwotLSAgYXV0byYgW2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCB0cmVlX3NpemVdID0gZ3Jp ZF9zaXppbmdfdHJlZS5UcmVlUm9vdERhdGEoKTsKLSsgIGF1dG8mIFtnX2ksIGxfZCwgdF9zXSA9 IGdyaWRfc2l6aW5nX3RyZWUuVHJlZVJvb3REYXRhKCk7Ci0rICBhdXRvJiBncmlkX2l0ZW1zID0g Z19pOwotKyAgYXV0byYgbGF5b3V0X2RhdGEgPSBsX2Q7Ci0rICBhdXRvJiB0cmVlX3NpemUgPSB0 X3M7Ci0gCi0gICBpZiAoSXNCcmVha0luc2lkZShCcmVha1Rva2VuKCkpKSB7Ci0gICAgIC8vIFRP RE8obGF5b3V0LWRldik6IFdoZW4gd2Ugc3VwcG9ydCB2YXJpYWJsZSBpbmxpbmUtc2l6ZSBmcmFn bWVudHMgd2UnbGwKLUBAIC01MjAsOCArNTIzLDEwIEBAIHd0Zl9zaXplX3QgTkdHcmlkTGF5b3V0 QWxnb3JpdGhtOjpCdWlsZEcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd19h dXRvX3JlcGV0aXRpb25zKTsKLSAKLSAgIGJvb2wgaGFzX25lc3RlZF9zdWJncmlkID0gZmFsc2U7 Ci0tICBhdXRvJiBbZ3JpZF9pdGVtcywgbGF5b3V0X2RhdGEsIHN1YnRyZWVfc2l6ZV0gPQotLSAg ICAgIHNpemluZ190cmVlLT5DcmVhdGVTaXppbmdEYXRhKG9wdF9zdWJncmlkX2RhdGEpOwotKyAg YXV0byYgW2dfaSwgbF9kLCBzX3NdID0gc2l6aW5nX3RyZWUtPkNyZWF0ZVNpemluZ0RhdGEob3B0 X3N1YmdyaWRfZGF0YSk7Ci0rICBhdXRvJiBncmlkX2l0ZW1zID0gZ19pOwotKyAgYXV0byYgbGF5 b3V0X2RhdGEgPSBsX2Q7Ci0rICBhdXRvJiBzdWJ0cmVlX3NpemUgPSBzX3M7Ci0gCi0gICBpZiAo IW11c3RfaWdub3JlX2NoaWxkcmVuKSB7Ci0gICAgIC8vIENvbnN0cnVjdCBncmlkIGl0ZW1zIHRo YXQgYXJlIG5vdCBzdWJncmlkZGVkLgotQEAgLTY1MCw4ICs2NTUsMTAgQEAgTkdHcmlkU2l6aW5n VHJlZSBOR0dyaWRMYXlvdXRBbGdvcml0aG06OgotICAgTkdHcmlkU2l6aW5nVHJlZSBzaXppbmdf dHJlZTsKLSAKLSAgIGlmIChjb25zdCBhdXRvKiBsYXlvdXRfc3VidHJlZSA9IENvbnN0cmFpbnRT cGFjZSgpLkdyaWRMYXlvdXRTdWJ0cmVlKCkpIHsKLS0gICAgYXV0byYgW2dyaWRfaXRlbXMsIGxh eW91dF9kYXRhLCBzdWJ0cmVlX3NpemVdID0KLS0gICAgICAgIHNpemluZ190cmVlLkNyZWF0ZVNp emluZ0RhdGEoKTsKLSsgICAgYXV0byYgW2dfaSwgbF9kLCBzX3NdID0gc2l6aW5nX3RyZWUuQ3Jl YXRlU2l6aW5nRGF0YSgpOwotKyAgICBhdXRvJiBncmlkX2l0ZW1zID0gZ19pOwotKyAgICBhdXRv JiBsYXlvdXRfZGF0YSA9IGxfZDsKLSsgICAgYXV0byYgc3VidHJlZV9zaXplID0gc19zOwotIAot ICAgICBjb25zdCBhdXRvJiBub2RlID0gTm9kZSgpOwotICAgICBncmlkX2l0ZW1zID0KLUBAIC0x NjQwLDggKzE2NDcsMTAgQEAgdm9pZCBOR0dyaWRMYXlvdXRBbGdvcml0aG06OkluaXRpYWxpemVU cgotICAgICBjb25zdCBhYnNsOjpvcHRpb25hbDxHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24+JiBv cHRfdHJhY2tfZGlyZWN0aW9uKSBjb25zdCB7Ci0gICBEQ0hFQ0soc2l6aW5nX3N1YnRyZWUpOwot IAotLSAgYXV0byYgW2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCBzdWJ0cmVlX3NpemVdID0KLS0g ICAgICBzaXppbmdfc3VidHJlZS5TdWJ0cmVlUm9vdERhdGEoKTsKLSsgIGF1dG8mIFtnX2ksIGxf ZCwgc19zXSA9IHNpemluZ19zdWJ0cmVlLlN1YnRyZWVSb290RGF0YSgpOwotKyAgYXV0byYgZ3Jp ZF9pdGVtcyA9IGdfaTsKLSsgIGF1dG8mIGxheW91dF9kYXRhID0gbF9kOwotKyAgYXV0byYgc3Vi dHJlZV9zaXplID0gc19zOwotIAotICAgYXV0byBJbml0QW5kQ2FjaGVUcmFja1NpemVzID0gWyZd KEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiB0cmFja19kaXJlY3Rpb24pIHsKLSAgICAgSW5pdGlh bGl6ZVRyYWNrQ29sbGVjdGlvbihvcHRfc3ViZ3JpZF9kYXRhLCB0cmFja19kaXJlY3Rpb24sICZs YXlvdXRfZGF0YSk7Ci1AQCAtMTgyNSw4ICsxODM0LDEwIEBAIHZvaWQgTkdHcmlkTGF5b3V0QWxn b3JpdGhtOjpDb21wbGV0ZVRyYWMKLSAgICAgYm9vbCogb3B0X25lZWRzX2FkZGl0aW9uYWxfcGFz cykgY29uc3QgewotICAgRENIRUNLKHNpemluZ19zdWJ0cmVlKTsKLSAKLS0gIGF1dG8mIFtncmlk X2l0ZW1zLCBsYXlvdXRfZGF0YSwgc3VidHJlZV9zaXplXSA9Ci0tICAgICAgc2l6aW5nX3N1YnRy ZWUuU3VidHJlZVJvb3REYXRhKCk7Ci0rICBhdXRvJiBbZ19pLCBsX2QsIHNfc10gPSBzaXppbmdf c3VidHJlZS5TdWJ0cmVlUm9vdERhdGEoKTsKLSsgIGF1dG8mIGdyaWRfaXRlbXMgPSBnX2k7Ci0r ICBhdXRvJiBsYXlvdXRfZGF0YSA9IGxfZDsKLSsgIGF1dG8mIHN1YnRyZWVfc2l6ZSA9IHNfczsK LSAKLSAgIGNvbnN0IGJvb2wgaXNfZm9yX2NvbHVtbnMgPSB0cmFja19kaXJlY3Rpb24gPT0ga0Zv ckNvbHVtbnM7Ci0gICBjb25zdCBib29sIGhhc19ub25fZGVmaW5pdGVfdHJhY2sgPQotZGlmZiAt dXAgY2hyb21pdW0tMTE0LjAuNTczNS4yNi9tZWRpYS9iYXNlL2NkbV9wcm9taXNlX2FkYXB0ZXIu Y2MubWUgY2hyb21pdW0tMTE0LjAuNTczNS4yNi9tZWRpYS9iYXNlL2NkbV9wcm9taXNlX2FkYXB0 ZXIuY2MKLS0tLSBjaHJvbWl1bS0xMTQuMC41NzM1LjI2L21lZGlhL2Jhc2UvY2RtX3Byb21pc2Vf YWRhcHRlci5jYy5tZQkyMDIzLTA1LTE0IDE3OjM1OjAwLjQ0Njg0NDQ2NSArMDIwMAotKysrIGNo cm9taXVtLTExNC4wLjU3MzUuMjYvbWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVyLmNjCTIw MjMtMDUtMTQgMTc6Mzk6MjIuOTkxNzMzOTI2ICswMjAwCi1AQCAtOTQsNyArOTQsOSBAQCB2b2lk IENkbVByb21pc2VBZGFwdGVyOjpSZWplY3RQcm9taXNlKHVpCi0gdm9pZCBDZG1Qcm9taXNlQWRh cHRlcjo6Q2xlYXIoQ2xlYXJSZWFzb24gcmVhc29uKSB7Ci0gICAvLyBSZWplY3QgYWxsIG91dHN0 YW5kaW5nIHByb21pc2VzLgotICAgRENIRUNLKHRocmVhZF9jaGVja2VyXy5DYWxsZWRPblZhbGlk VGhyZWFkKCkpOwotLSAgZm9yIChhdXRvJiBbcHJvbWlzZV9pZCwgcHJvbWlzZV0gOiBwcm9taXNl c18pIHsKLSsgIGZvciAoYXV0byYgW3BfaSwgcF9lXSA6IHByb21pc2VzXykgewotKyAgICBhdXRv JiBwcm9taXNlX2lkID0gcF9pOwotKyAgICBhdXRvJiBwcm9taXNlID0gcF9lOwotICAgICBUUkFD RV9FVkVOVF9ORVNUQUJMRV9BU1lOQ19FTkQxKAotICAgICAgICAgIm1lZGlhIiwgIkNkbVByb21p c2UiLCBUUkFDRV9JRF9XSVRIX1NDT1BFKCJDZG1Qcm9taXNlIiwgcHJvbWlzZV9pZCksCi0gICAg ICAgICAic3RhdHVzIiwgImNsZWFyZWQiKTsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTUtYWRk X0JvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQucGF0Y2ggYi9jaHJvbWl1 bS0xMTUtYWRkX0JvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJlNDM4NQotLS0gL2Rldi9udWxs CisrKyBiL2Nocm9taXVtLTExNS1hZGRfQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6 OlJlc3VsdC5wYXRjaApAQCAtMCwwICsxLDIyNiBAQAorY29tbWl0IDczZTlkODY1YWJkNmI2MzYy ODBjNGJiNDU3MjBhZjJmZjJjMWUzNzQKK0F1dGhvcjogTW9uaWNhIEJhc3RhIDxtc2FsYW1hQGNo cm9taXVtLm9yZz4KK0RhdGU6ICAgRnJpIEp1biAyIDEzOjI1OjQyIDIwMjMgKzAwMDAKKworICAg IFtCU0NdOiBBZGQgQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6OlJlc3VsdAorICAg IAorICAgIEJ1ZzogYi8yNzM5MjA5MDcKKyAgICBDaGFuZ2UtSWQ6IEk2NTA4ZGNiNzk1OTI0MjBi ZmEzZWJlM2FhYzg3MmMwOTdhMzAzYTAyCisgICAgUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21p dW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy80NTc0NjcyCisgICAg Q29tbWl0LVF1ZXVlOiBNb25pY2EgQmFzdGEgPG1zYWxhbWFAY2hyb21pdW0ub3JnPgorICAgIFJl dmlld2VkLWJ5OiBBbGV4IElsaW4gPGFsZXhpbGluQGNocm9taXVtLm9yZz4KKyAgICBDci1Db21t aXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzExNTI0ODR9CisKK2RpZmYgLS1naXQgYS9j aHJvbWUvYnJvd3Nlci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNz aW9uX2Nvb2tpZV9jb250cm9sbGVyX2ltcGwuY2MgYi9jaHJvbWUvYnJvd3Nlci9zaWduaW4vYm91 bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNzaW9uX2Nvb2tpZV9jb250cm9sbGVyX2lt cGwuY2MKK2luZGV4IDRlN2UwYjA5MmE1NjguLjFjOGMwMTEwZTM1MTYgMTAwNjQ0CistLS0gYS9j aHJvbWUvYnJvd3Nlci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNz aW9uX2Nvb2tpZV9jb250cm9sbGVyX2ltcGwuY2MKKysrKyBiL2Nocm9tZS9icm93c2VyL3NpZ25p bi9ib3VuZF9zZXNzaW9uX2NyZWRlbnRpYWxzL2JvdW5kX3Nlc3Npb25fY29va2llX2NvbnRyb2xs ZXJfaW1wbC5jYworQEAgLTkzLDcgKzkzLDcgQEAgdm9pZCBCb3VuZFNlc3Npb25Db29raWVDb250 cm9sbGVySW1wbDo6TWF5YmVSZWZyZXNoQ29va2llKCkgeworIHZvaWQgQm91bmRTZXNzaW9uQ29v a2llQ29udHJvbGxlckltcGw6Ok9uQ29va2llUmVmcmVzaEZldGNoZWQoCisgICAgIEJvdW5kU2Vz c2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQgcmVzdWx0KSB7CisgICByZWZyZXNoX2Nv b2tpZV9mZXRjaGVyXy5yZXNldCgpOworLSAgaWYgKHJlc3VsdC5uZXRfZXJyb3IgPT0gbmV0OjpP SyAmJiByZXN1bHQucmVzcG9uc2VfY29kZSA9PSBuZXQ6OkhUVFBfT0spIHsKKysgIGlmIChyZXN1 bHQgPT0gQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6OlJlc3VsdDo6a1N1Y2Nlc3Mp IHsKKyAgICAgLy8gUmVxdWVzdHMgYXJlIHJlc3VtZWQgb25jZSB0aGUgY29va2llIGlzIHNldCBp biB0aGUgY29va2llIGphci4gVGhlCisgICAgIC8vIGNvb2tpZSBpcyBleHBlY3RlZCB0byBiZSBm cmVzaCBhbmQgYHRoaXNgIGlzIG5vdGlmaWVkIHdpdGggaXRzCisgICAgIC8vIGV4cGlyYXRpb24g ZGF0ZSBiZWZvcmUgYE9uQ29va2llUmVmcmVzaEZldGNoZWRgIGlzIGNhbGxlZC4KK2RpZmYgLS1n aXQgYS9jaHJvbWUvYnJvd3Nlci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3Vu ZF9zZXNzaW9uX3JlZnJlc2hfY29va2llX2ZldGNoZXIuaCBiL2Nocm9tZS9icm93c2VyL3NpZ25p bi9ib3VuZF9zZXNzaW9uX2NyZWRlbnRpYWxzL2JvdW5kX3Nlc3Npb25fcmVmcmVzaF9jb29raWVf ZmV0Y2hlci5oCitpbmRleCBkYjYyOTg4NjM1YTI2Li5mN2E4YjM2OTMzNDZmIDEwMDY0NAorLS0t IGEvY2hyb21lL2Jyb3dzZXIvc2lnbmluL2JvdW5kX3Nlc3Npb25fY3JlZGVudGlhbHMvYm91bmRf c2Vzc2lvbl9yZWZyZXNoX2Nvb2tpZV9mZXRjaGVyLmgKKysrKyBiL2Nocm9tZS9icm93c2VyL3Np Z25pbi9ib3VuZF9zZXNzaW9uX2NyZWRlbnRpYWxzL2JvdW5kX3Nlc3Npb25fcmVmcmVzaF9jb29r aWVfZmV0Y2hlci5oCitAQCAtMTQsMTAgKzE0LDEzIEBACisgLy8gY3JlYXRlZCBwZXIgcmVxdWVz dC4KKyBjbGFzcyBCb3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hlciB7CisgIHB1YmxpYzoK Ky0gIHN0cnVjdCBSZXN1bHQgeworLSAgICBuZXQ6OkVycm9yIG5ldF9lcnJvcjsKKy0gICAgYWJz bDo6b3B0aW9uYWw8aW50PiByZXNwb25zZV9jb2RlOworKyAgZW51bSBjbGFzcyBSZXN1bHQgewor KyAgICBrU3VjY2VzcyA9IDAsCisrICAgIGtDb25uZWN0aW9uRXJyb3IgPSAxLAorKyAgICBrU2Vy dmVyVHJhbnNpZW50RXJyb3IgPSAyLAorKyAgICBrU2VydmVyUGVyc2lzdGVudEVycm9yID0gMywK KyAgIH07CisrCisgICAvLyBSZXBvcnRzIHRoZSByZXN1bHQgb2YgdGhlIGZldGNoIHJlcXVlc3Qu CisgICB1c2luZyBSZWZyZXNoQ29va2llQ29tcGxldGVDYWxsYmFjayA9IGJhc2U6Ok9uY2VDYWxs YmFjazx2b2lkKFJlc3VsdCk+OworIAorZGlmZiAtLWdpdCBhL2Nocm9tZS9icm93c2VyL3NpZ25p bi9ib3VuZF9zZXNzaW9uX2NyZWRlbnRpYWxzL2JvdW5kX3Nlc3Npb25fcmVmcmVzaF9jb29raWVf ZmV0Y2hlcl9pbXBsLmNjIGIvY2hyb21lL2Jyb3dzZXIvc2lnbmluL2JvdW5kX3Nlc3Npb25fY3Jl ZGVudGlhbHMvYm91bmRfc2Vzc2lvbl9yZWZyZXNoX2Nvb2tpZV9mZXRjaGVyX2ltcGwuY2MKK2lu ZGV4IDQ2YmU2ZjA2YjE0N2EuLmE2ZjAzOGIxNTgzMTEgMTAwNjQ0CistLS0gYS9jaHJvbWUvYnJv d3Nlci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNzaW9uX3JlZnJl c2hfY29va2llX2ZldGNoZXJfaW1wbC5jYworKysrIGIvY2hyb21lL2Jyb3dzZXIvc2lnbmluL2Jv dW5kX3Nlc3Npb25fY3JlZGVudGlhbHMvYm91bmRfc2Vzc2lvbl9yZWZyZXNoX2Nvb2tpZV9mZXRj aGVyX2ltcGwuY2MKK0BAIC04LDYgKzgsNyBAQAorIAorICNpbmNsdWRlICJjb21wb25lbnRzL3Np Z25pbi9wdWJsaWMvYmFzZS9zaWduaW5fY2xpZW50LmgiCisgI2luY2x1ZGUgImdvb2dsZV9hcGlz L2dhaWEvZ2FpYV91cmxzLmgiCisrI2luY2x1ZGUgIm5ldC9odHRwL2h0dHBfc3RhdHVzX2NvZGUu aCIKKyAjaW5jbHVkZSAibmV0L3RyYWZmaWNfYW5ub3RhdGlvbi9uZXR3b3JrX3RyYWZmaWNfYW5u b3RhdGlvbi5oIgorICNpbmNsdWRlICJzZXJ2aWNlcy9uZXR3b3JrL3B1YmxpYy9jcHAvcmVzb3Vy Y2VfcmVxdWVzdC5oIgorICNpbmNsdWRlICJzZXJ2aWNlcy9uZXR3b3JrL3B1YmxpYy9jcHAvc2hh cmVkX3VybF9sb2FkZXJfZmFjdG9yeS5oIgorQEAgLTEwMiw3ICsxMDMsMzYgQEAgdm9pZCBCb3Vu ZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hlckltcGw6Ok9uVVJMTG9hZGVyQ29tcGxldGUoCisg ICAgIHNjb3BlZF9yZWZwdHI8bmV0OjpIdHRwUmVzcG9uc2VIZWFkZXJzPiBoZWFkZXJzKSB7Cisg ICBuZXQ6OkVycm9yIG5ldF9lcnJvciA9IHN0YXRpY19jYXN0PG5ldDo6RXJyb3I+KHVybF9sb2Fk ZXJfLT5OZXRFcnJvcigpKTsKKyAKKy0gIHN0ZDo6bW92ZShjYWxsYmFja18pLlJ1bigKKy0gICAg ICBSZXN1bHQobmV0X2Vycm9yLCBoZWFkZXJzID8gYWJzbDo6b3B0aW9uYWw8aW50PihoZWFkZXJz LT5yZXNwb25zZV9jb2RlKCkpCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGFi c2w6Om51bGxvcHQpKTsKKysgIFJlc3VsdCByZXN1bHQgPSBHZXRSZXN1bHRGcm9tTmV0RXJyb3JB bmRIdHRwU3RhdHVzQ29kZSgKKysgICAgICBuZXRfZXJyb3IsCisrICAgICAgaGVhZGVycyA/IGFi c2w6Om9wdGlvbmFsPGludD4oaGVhZGVycy0+cmVzcG9uc2VfY29kZSgpKSA6IGFic2w6Om51bGxv cHQpOworKyAgc3RkOjptb3ZlKGNhbGxiYWNrXykuUnVuKHJlc3VsdCk7CisrfQorKworK0JvdW5k U2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQKKytCb3VuZFNlc3Npb25SZWZyZXNo Q29va2llRmV0Y2hlckltcGw6OkdldFJlc3VsdEZyb21OZXRFcnJvckFuZEh0dHBTdGF0dXNDb2Rl KAorKyAgICBuZXQ6OkVycm9yIG5ldF9lcnJvciwKKysgICAgYWJzbDo6b3B0aW9uYWw8aW50PiBy ZXNwb25zZV9jb2RlKSB7CisrICBpZiAoKG5ldF9lcnJvciAhPSBuZXQ6Ok9LICYmCisrICAgICAg IG5ldF9lcnJvciAhPSBuZXQ6OkVSUl9IVFRQX1JFU1BPTlNFX0NPREVfRkFJTFVSRSkgfHwKKysg ICAgICAhcmVzcG9uc2VfY29kZSkgeworKyAgICByZXR1cm4gQm91bmRTZXNzaW9uUmVmcmVzaENv b2tpZUZldGNoZXI6OlJlc3VsdDo6a0Nvbm5lY3Rpb25FcnJvcjsKKysgIH0KKysKKysgIGlmIChy ZXNwb25zZV9jb2RlID09IG5ldDo6SFRUUF9PSykgeworKyAgICByZXR1cm4gQm91bmRTZXNzaW9u UmVmcmVzaENvb2tpZUZldGNoZXI6OlJlc3VsdDo6a1N1Y2Nlc3M7CisrICB9CisrCisrICBpZiAo cmVzcG9uc2VfY29kZSA+PSBuZXQ6OkhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9SKSB7CisrICAg IC8vIFNlcnZlciBlcnJvciA1eHguCisrICAgIHJldHVybiBCb3VuZFNlc3Npb25SZWZyZXNoQ29v a2llRmV0Y2hlcjo6UmVzdWx0OjprU2VydmVyVHJhbnNpZW50RXJyb3I7CisrICB9CisrCisrICBp ZiAocmVzcG9uc2VfY29kZSA+PSBuZXQ6OkhUVFBfQkFEX1JFUVVFU1QpIHsKKysgICAgLy8gU2Vy dmVyIGVycm9yIDR4eC4KKysgICAgcmV0dXJuIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRj aGVyOjpSZXN1bHQ6OmtTZXJ2ZXJQZXJzaXN0ZW50RXJyb3I7CisrICB9CisrCisrICAvLyBVbmV4 cGVjdGVkIHJlc3BvbnNlIGNvZGUuCisrICByZXR1cm4gQm91bmRTZXNzaW9uUmVmcmVzaENvb2tp ZUZldGNoZXI6OlJlc3VsdDo6a1NlcnZlclBlcnNpc3RlbnRFcnJvcjsKKyB9CitkaWZmIC0tZ2l0 IGEvY2hyb21lL2Jyb3dzZXIvc2lnbmluL2JvdW5kX3Nlc3Npb25fY3JlZGVudGlhbHMvYm91bmRf c2Vzc2lvbl9yZWZyZXNoX2Nvb2tpZV9mZXRjaGVyX2ltcGwuaCBiL2Nocm9tZS9icm93c2VyL3Np Z25pbi9ib3VuZF9zZXNzaW9uX2NyZWRlbnRpYWxzL2JvdW5kX3Nlc3Npb25fcmVmcmVzaF9jb29r aWVfZmV0Y2hlcl9pbXBsLmgKK2luZGV4IDczM2ZmYmFhZTA4OGMuLjUyOTQzZjAxOTRjMzIgMTAw NjQ0CistLS0gYS9jaHJvbWUvYnJvd3Nlci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFs cy9ib3VuZF9zZXNzaW9uX3JlZnJlc2hfY29va2llX2ZldGNoZXJfaW1wbC5oCisrKysgYi9jaHJv bWUvYnJvd3Nlci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNzaW9u X3JlZnJlc2hfY29va2llX2ZldGNoZXJfaW1wbC5oCitAQCAtMzEsOCArMzEsMTQgQEAgY2xhc3Mg Qm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXJJbXBsCisgICB2b2lkIFN0YXJ0KFJlZnJl c2hDb29raWVDb21wbGV0ZUNhbGxiYWNrIGNhbGxiYWNrKSBvdmVycmlkZTsKKyAKKyAgcHJpdmF0 ZToKKysgIEZSSUVORF9URVNUX0FMTF9QUkVGSVhFUyhCb3VuZFNlc3Npb25SZWZyZXNoQ29va2ll RmV0Y2hlckltcGxUZXN0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEdldFJlc3VsdEZy b21OZXRFcnJvckFuZEh0dHBTdGF0dXNDb2RlKTsKKysKKyAgIHZvaWQgU3RhcnRSZWZyZXNoUmVx dWVzdCgpOworICAgdm9pZCBPblVSTExvYWRlckNvbXBsZXRlKHNjb3BlZF9yZWZwdHI8bmV0OjpI dHRwUmVzcG9uc2VIZWFkZXJzPiBoZWFkZXJzKTsKKysgIFJlc3VsdCBHZXRSZXN1bHRGcm9tTmV0 RXJyb3JBbmRIdHRwU3RhdHVzQ29kZSgKKysgICAgICBuZXQ6OkVycm9yIG5ldF9lcnJvciwKKysg ICAgICBhYnNsOjpvcHRpb25hbDxpbnQ+IHJlc3BvbnNlX2NvZGUpOworIAorICAgY29uc3QgcmF3 X3B0cjxTaWduaW5DbGllbnQ+IGNsaWVudF87CisgICBjb25zdCBzY29wZWRfcmVmcHRyPG5ldHdv cms6OlNoYXJlZFVSTExvYWRlckZhY3Rvcnk+IHVybF9sb2FkZXJfZmFjdG9yeV87CitkaWZmIC0t Z2l0IGEvY2hyb21lL2Jyb3dzZXIvc2lnbmluL2JvdW5kX3Nlc3Npb25fY3JlZGVudGlhbHMvYm91 bmRfc2Vzc2lvbl9yZWZyZXNoX2Nvb2tpZV9mZXRjaGVyX2ltcGxfdW5pdHRlc3QuY2MgYi9jaHJv bWUvYnJvd3Nlci9zaWduaW4vYm91bmRfc2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNzaW9u X3JlZnJlc2hfY29va2llX2ZldGNoZXJfaW1wbF91bml0dGVzdC5jYworaW5kZXggZDAxODU5MjAy MmQ1NS4uMzZhZTY0ZjgzZTRlZSAxMDA2NDQKKy0tLSBhL2Nocm9tZS9icm93c2VyL3NpZ25pbi9i b3VuZF9zZXNzaW9uX2NyZWRlbnRpYWxzL2JvdW5kX3Nlc3Npb25fcmVmcmVzaF9jb29raWVfZmV0 Y2hlcl9pbXBsX3VuaXR0ZXN0LmNjCisrKysgYi9jaHJvbWUvYnJvd3Nlci9zaWduaW4vYm91bmRf c2Vzc2lvbl9jcmVkZW50aWFscy9ib3VuZF9zZXNzaW9uX3JlZnJlc2hfY29va2llX2ZldGNoZXJf aW1wbF91bml0dGVzdC5jYworQEAgLTE5LDggKzE5LDYgQEAKKyAjaW5jbHVkZSAic2VydmljZXMv bmV0d29yay90ZXN0L3Rlc3RfdXRpbHMuaCIKKyAjaW5jbHVkZSAidGVzdGluZy9ndGVzdC9pbmNs dWRlL2d0ZXN0L2d0ZXN0LmgiCisgCistbmFtZXNwYWNlIHsKKy0KKyBjbGFzcyBCb3VuZFNlc3Np b25SZWZyZXNoQ29va2llRmV0Y2hlckltcGxUZXN0IDogcHVibGljIDo6dGVzdGluZzo6VGVzdCB7 CisgIHB1YmxpYzoKKyAgIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVySW1wbFRlc3Qo KSB7CitAQCAtNTUsOCArNTMsNyBAQCBURVNUX0YoQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZl dGNoZXJJbXBsVGVzdCwgU3VjY2VzcykgeworICAgICAgIHBlbmRpbmdfcmVxdWVzdC0+cmVxdWVz dC51cmwuc3BlYygpLCAiIik7CisgICBFWFBFQ1RfVFJVRShmdXR1cmUuV2FpdCgpKTsKKyAgIEJv dW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQgcmVzdWx0ID0gZnV0dXJlLkdl dCgpOworLSAgRVhQRUNUX0VRKHJlc3VsdC5uZXRfZXJyb3IsIG5ldDo6T0spOworLSAgRVhQRUNU X0VRKHJlc3VsdC5yZXNwb25zZV9jb2RlLCBuZXQ6OkhUVFBfT0spOworKyAgRVhQRUNUX0VRKHJl c3VsdCwgQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6OlJlc3VsdDo6a1N1Y2Nlc3Mp OworIH0KKyAKKyBURVNUX0YoQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXJJbXBsVGVz dCwgRmFpbHVyZU5ldEVycm9yKSB7CitAQCAtNzUsOCArNzIsNyBAQCBURVNUX0YoQm91bmRTZXNz aW9uUmVmcmVzaENvb2tpZUZldGNoZXJJbXBsVGVzdCwgRmFpbHVyZU5ldEVycm9yKSB7CisgCisg ICBFWFBFQ1RfVFJVRShmdXR1cmUuV2FpdCgpKTsKKyAgIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29r aWVGZXRjaGVyOjpSZXN1bHQgcmVzdWx0ID0gZnV0dXJlLkdldCgpOworLSAgRVhQRUNUX0VRKHJl c3VsdC5uZXRfZXJyb3IsIHN0YXR1cy5lcnJvcl9jb2RlKTsKKy0gIEVYUEVDVF9GQUxTRShyZXN1 bHQucmVzcG9uc2VfY29kZS5oYXNfdmFsdWUoKSk7CisrICBFWFBFQ1RfRVEocmVzdWx0LCBCb3Vu ZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hlcjo6UmVzdWx0OjprQ29ubmVjdGlvbkVycm9yKTsK KyB9CisgCisgVEVTVF9GKEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVySW1wbFRlc3Qs IEZhaWx1cmVIdHRwRXJyb3IpIHsKK0BAIC05Myw4ICs4OSwzOCBAQCBURVNUX0YoQm91bmRTZXNz aW9uUmVmcmVzaENvb2tpZUZldGNoZXJJbXBsVGVzdCwgRmFpbHVyZUh0dHBFcnJvcikgeworIAor ICAgRVhQRUNUX1RSVUUoZnV0dXJlLldhaXQoKSk7CisgICBCb3VuZFNlc3Npb25SZWZyZXNoQ29v a2llRmV0Y2hlcjo6UmVzdWx0IHJlc3VsdCA9IGZ1dHVyZS5HZXQoKTsKKy0gIEVYUEVDVF9FUShy ZXN1bHQubmV0X2Vycm9yLCBuZXQ6OkVSUl9IVFRQX1JFU1BPTlNFX0NPREVfRkFJTFVSRSk7Cist ICBFWFBFQ1RfRVEocmVzdWx0LnJlc3BvbnNlX2NvZGUsIG5ldDo6SFRUUF9VTkFVVEhPUklaRUQp OworKyAgRVhQRUNUX0VRKHJlc3VsdCwKKysgICAgICAgICAgICBCb3VuZFNlc3Npb25SZWZyZXNo Q29va2llRmV0Y2hlcjo6UmVzdWx0OjprU2VydmVyUGVyc2lzdGVudEVycm9yKTsKKyt9CisrCisr VEVTVF9GKEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVySW1wbFRlc3QsCisrICAgICAg IEdldFJlc3VsdEZyb21OZXRFcnJvckFuZEh0dHBTdGF0dXNDb2RlKSB7CisrICAvLyBDb25uZWN0 aW9uIGVycm9yLgorKyAgRVhQRUNUX0VRKGZldGNoZXJfLT5HZXRSZXN1bHRGcm9tTmV0RXJyb3JB bmRIdHRwU3RhdHVzQ29kZSgKKysgICAgICAgICAgICAgICAgbmV0OjpFUlJfQ09OTkVDVElPTl9U SU1FRF9PVVQsIGFic2w6Om51bGxvcHQpLAorKyAgICAgICAgICAgIEJvdW5kU2Vzc2lvblJlZnJl c2hDb29raWVGZXRjaGVyOjpSZXN1bHQ6OmtDb25uZWN0aW9uRXJyb3IpOworKyAgLy8gbmV0OjpP Sy4KKysgIEVYUEVDVF9FUSgKKysgICAgICBmZXRjaGVyXy0+R2V0UmVzdWx0RnJvbU5ldEVycm9y QW5kSHR0cFN0YXR1c0NvZGUobmV0OjpPSywgbmV0OjpIVFRQX09LKSwKKysgICAgICBCb3VuZFNl c3Npb25SZWZyZXNoQ29va2llRmV0Y2hlcjo6UmVzdWx0OjprU3VjY2Vzcyk7CisrICAvLyBuZXQ6 OkVSUl9IVFRQX1JFU1BPTlNFX0NPREVfRkFJTFVSRQorKyAgRVhQRUNUX0VRKGZldGNoZXJfLT5H ZXRSZXN1bHRGcm9tTmV0RXJyb3JBbmRIdHRwU3RhdHVzQ29kZSgKKysgICAgICAgICAgICAgICAg bmV0OjpFUlJfSFRUUF9SRVNQT05TRV9DT0RFX0ZBSUxVUkUsIG5ldDo6SFRUUF9CQURfUkVRVUVT VCksCisrICAgICAgICAgICAgQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXI6OlJlc3Vs dDo6a1NlcnZlclBlcnNpc3RlbnRFcnJvcik7CisrICAvLyBQZXJzaXN0ZW50IGVycm9yLgorKyAg RVhQRUNUX0VRKGZldGNoZXJfLT5HZXRSZXN1bHRGcm9tTmV0RXJyb3JBbmRIdHRwU3RhdHVzQ29k ZSgKKysgICAgICAgICAgICAgICAgbmV0OjpPSywgbmV0OjpIVFRQX0JBRF9SRVFVRVNUKSwKKysg ICAgICAgICAgICBCb3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0Y2hlcjo6UmVzdWx0OjprU2Vy dmVyUGVyc2lzdGVudEVycm9yKTsKKysgIEVYUEVDVF9FUShmZXRjaGVyXy0+R2V0UmVzdWx0RnJv bU5ldEVycm9yQW5kSHR0cFN0YXR1c0NvZGUoCisrICAgICAgICAgICAgICAgIG5ldDo6T0ssIG5l dDo6SFRUUF9OT1RfRk9VTkQpLAorKyAgICAgICAgICAgIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29r aWVGZXRjaGVyOjpSZXN1bHQ6OmtTZXJ2ZXJQZXJzaXN0ZW50RXJyb3IpOworKyAgLy8gVHJhbnNp ZW50IGVycm9yLgorKyAgRVhQRUNUX0VRKGZldGNoZXJfLT5HZXRSZXN1bHRGcm9tTmV0RXJyb3JB bmRIdHRwU3RhdHVzQ29kZSgKKysgICAgICAgICAgICAgICAgbmV0OjpPSywgbmV0OjpIVFRQX0lO VEVSTkFMX1NFUlZFUl9FUlJPUiksCisrICAgICAgICAgICAgQm91bmRTZXNzaW9uUmVmcmVzaENv b2tpZUZldGNoZXI6OlJlc3VsdDo6a1NlcnZlclRyYW5zaWVudEVycm9yKTsKKysgIEVYUEVDVF9F UShmZXRjaGVyXy0+R2V0UmVzdWx0RnJvbU5ldEVycm9yQW5kSHR0cFN0YXR1c0NvZGUoCisrICAg ICAgICAgICAgICAgIG5ldDo6T0ssIG5ldDo6SFRUUF9HQVRFV0FZX1RJTUVPVVQpLAorKyAgICAg ICAgICAgIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQ6OmtTZXJ2ZXJU cmFuc2llbnRFcnJvcik7CisgfQorIAorIFRFU1RfRihCb3VuZFNlc3Npb25SZWZyZXNoQ29va2ll RmV0Y2hlckltcGxUZXN0LCBOZXR3b3JrRGVsYXllZCkgeworQEAgLTExNCw1ICsxNDAsMyBAQCBU RVNUX0YoQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNoZXJJbXBsVGVzdCwgTmV0d29ya0Rl bGF5ZWQpIHsKKyAKKyAgIEVYUEVDVF9UUlVFKGZ1dHVyZS5XYWl0KCkpOworIH0KKy0KKy19ICAv LyBuYW1lc3BhY2UKK2RpZmYgLS1naXQgYS9jaHJvbWUvYnJvd3Nlci9zaWduaW4vYm91bmRfc2Vz c2lvbl9jcmVkZW50aWFscy9mYWtlX2JvdW5kX3Nlc3Npb25fcmVmcmVzaF9jb29raWVfZmV0Y2hl ci5jYyBiL2Nocm9tZS9icm93c2VyL3NpZ25pbi9ib3VuZF9zZXNzaW9uX2NyZWRlbnRpYWxzL2Zh a2VfYm91bmRfc2Vzc2lvbl9yZWZyZXNoX2Nvb2tpZV9mZXRjaGVyLmNjCitpbmRleCBiNGIxYTA3 ZTY4N2NiLi5mY2ZhOTMwNWQwNGU5IDEwMDY0NAorLS0tIGEvY2hyb21lL2Jyb3dzZXIvc2lnbmlu L2JvdW5kX3Nlc3Npb25fY3JlZGVudGlhbHMvZmFrZV9ib3VuZF9zZXNzaW9uX3JlZnJlc2hfY29v a2llX2ZldGNoZXIuY2MKKysrKyBiL2Nocm9tZS9icm93c2VyL3NpZ25pbi9ib3VuZF9zZXNzaW9u X2NyZWRlbnRpYWxzL2Zha2VfYm91bmRfc2Vzc2lvbl9yZWZyZXNoX2Nvb2tpZV9mZXRjaGVyLmNj CitAQCAtNTEsNyArNTEsOCBAQCB2b2lkIEZha2VCb3VuZFNlc3Npb25SZWZyZXNoQ29va2llRmV0 Y2hlcjo6U2ltdWxhdGVDb21wbGV0ZVJlZnJlc2hSZXF1ZXN0KAorICAgICAvLyBTeW5jaHJvbm91 cyBzaW5jZSB0ZXN0cyB1c2UgYEJvdW5kU2Vzc2lvblRlc3RDb29raWVNYW5hZ2VyYC4KKyAgICAg T25SZWZyZXNoQ29va2llQ29tcGxldGVkKENyZWF0ZUZha2VDb29raWUoY29va2llX2V4cGlyYXRp b24udmFsdWUoKSkpOworICAgfSBlbHNlIHsKKy0gICAgc3RkOjptb3ZlKGNhbGxiYWNrXykuUnVu KFJlc3VsdChuZXQ6OkVycm9yOjpPSywgbmV0OjpIVFRQX0ZPUkJJRERFTikpOworKyAgICBzdGQ6 Om1vdmUoY2FsbGJhY2tfKS5SdW4oCisrICAgICAgICBCb3VuZFNlc3Npb25SZWZyZXNoQ29va2ll RmV0Y2hlcjo6UmVzdWx0OjprU2VydmVyUGVyc2lzdGVudEVycm9yKTsKKyAgIH0KKyB9CisgCitA QCAtODMsOSArODQsMTEgQEAgdm9pZCBGYWtlQm91bmRTZXNzaW9uUmVmcmVzaENvb2tpZUZldGNo ZXI6Ok9uQ29va2llU2V0KAorICAgICBuZXQ6OkNvb2tpZUFjY2Vzc1Jlc3VsdCBhY2Nlc3NfcmVz dWx0KSB7CisgICBib29sIHN1Y2Nlc3MgPSBhY2Nlc3NfcmVzdWx0LnN0YXR1cy5Jc0luY2x1ZGUo KTsKKyAgIGlmICghc3VjY2VzcykgeworLSAgICBzdGQ6Om1vdmUoY2FsbGJhY2tfKS5SdW4oUmVz dWx0KG5ldDo6RXJyb3I6Ok9LLCBuZXQ6OkhUVFBfRk9SQklEREVOKSk7CisrICAgIHN0ZDo6bW92 ZShjYWxsYmFja18pLlJ1bigKKysgICAgICAgIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29raWVGZXRj aGVyOjpSZXN1bHQ6OmtTZXJ2ZXJQZXJzaXN0ZW50RXJyb3IpOworICAgfSBlbHNlIHsKKy0gICAg c3RkOjptb3ZlKGNhbGxiYWNrXykuUnVuKFJlc3VsdChuZXQ6OkVycm9yOjpPSywgbmV0OjpIVFRQ X09LKSk7CisrICAgIHN0ZDo6bW92ZShjYWxsYmFja18pLlJ1bigKKysgICAgICAgIEJvdW5kU2Vz c2lvblJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQ6OmtTdWNjZXNzKTsKKyAgIH0KKyAgIC8v IHxUaGlzfCBtYXkgYmUgZGVzdHJveWVkCisgfQoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExNS1i dWlsZGZsYWctZWw3LnBhdGNoIGIvY2hyb21pdW0tMTE1LWJ1aWxkZmxhZy1lbDcucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNlMmE3ZAotLS0gL2Rldi9udWxsCisr KyBiL2Nocm9taXVtLTExNS1idWlsZGZsYWctZWw3LnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK2Rp ZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMjQvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIv b21uaWJveF9lZGl0X21vZGVsLmNjLmJ1aWxkZmxhZy1lbDcgY2hyb21pdW0tMTE1LjAuNTc5MC4y NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbW5pYm94X2VkaXRfbW9kZWwuY2MKKy0tLSBj aHJvbWl1bS0xMTUuMC41NzkwLjI0L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29tbmlib3hf ZWRpdF9tb2RlbC5jYy5idWlsZGZsYWctZWw3CTIwMjMtMDYtMDcgMjE6NDg6MjkuMDAwMDAwMDAw ICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9jb21wb25lbnRzL29tbmlib3gvYnJv d3Nlci9vbW5pYm94X2VkaXRfbW9kZWwuY2MJMjAyMy0wNi0xNyAxNjo1MDo0Ni4zNzM4Njc2MjUg KzAyMDAKK0BAIC03OSw3ICs3OSw3IEBACisgI2luY2x1ZGUgInVpL2dmeC92ZWN0b3JfaWNvbl90 eXBlcy5oIgorICNlbmRpZgorIAorLSNpZiBCVUlMREZMQUcoR09PR0xFX0NIUk9NRV9CUkFORElO RykKKysjaWZkZWYgR09PR0xFX0NIUk9NRV9CUkFORElORworICNpbmNsdWRlICJjb21wb25lbnRz L3ZlY3Rvcl9pY29ucy92ZWN0b3JfaWNvbnMuaCIgIC8vIG5vZ25jaGVjaworICNlbmRpZgorIAor QEAgLTYzMSw3ICs2MzEsNyBAQCBib29sIE9tbmlib3hFZGl0TW9kZWw6OlNob3VsZFNob3dDdXJy ZW50CisgCisgdWk6OkltYWdlTW9kZWwgT21uaWJveEVkaXRNb2RlbDo6R2V0U3VwZXJHSWNvbihp bnQgaW1hZ2Vfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJvb2wgZGFya19tb2RlKSBjb25zdCB7CistI2lmIEJVSUxERkxBRyhHT09HTEVfQ0hS T01FX0JSQU5ESU5HKQorKyNpZmRlZiBHT09HTEVfQ0hST01FX0JSQU5ESU5HCisgICBpZiAoZGFy a19tb2RlKSB7CisgICAgIHJldHVybiB1aTo6SW1hZ2VNb2RlbDo6RnJvbVZlY3Rvckljb24oCisg ICAgICAgICB2ZWN0b3JfaWNvbnM6OmtHb29nbGVHTG9nb01vbm9jaHJvbWVJY29uLCB1aTo6a0Nv bG9yUmVmUHJpbWFyeTEwMCwKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTUtY29tcGlsZXItU2tD b2xvcjRmLnBhdGNoIGIvY2hyb21pdW0tMTE1LWNvbXBpbGVyLVNrQ29sb3I0Zi5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTE3Y2IwCi0tLSAvZGV2L251bGwKKysr IGIvY2hyb21pdW0tMTE1LWNvbXBpbGVyLVNrQ29sb3I0Zi5wYXRjaApAQCAtMCwwICsxLDI2IEBA CitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjQwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL21vZHVsZXMvY2FudmFzL2NhbnZhczJkL2NhbnZhc19zdHlsZS5jYy5tZSBjaHJvbWl1bS0x MTUuMC41NzkwLjQwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL21vZHVsZXMvY2FudmFzL2Nh bnZhczJkL2NhbnZhc19zdHlsZS5jYworLS0tIGNocm9taXVtLTExNS4wLjU3OTAuNDAvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvbW9kdWxlcy9jYW52YXMvY2FudmFzMmQvY2FudmFzX3N0eWxl LmNjLm1lCTIwMjMtMDYtMjQgMTA6Mzg6MTEuMDExNTExNDYzICswMjAwCisrKysgY2hyb21pdW0t MTE1LjAuNTc5MC40MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9tb2R1bGVzL2NhbnZhcy9j YW52YXMyZC9jYW52YXNfc3R5bGUuY2MJMjAyMy0wNi0yNCAxMzowNzozNS44NjUzNzU4ODQgKzAy MDAKK0BAIC04NCw2ICs4NCw3IEBAIENhbnZhc1N0eWxlOjpDYW52YXNTdHlsZShjb25zdCBDYW52 YXNTdHkKKyAKKyB2b2lkIENhbnZhc1N0eWxlOjpBcHBseVRvRmxhZ3MoY2M6OlBhaW50RmxhZ3Mm IGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCBnbG9iYWxfYWxw aGEpIGNvbnN0IHsKKysgIFNrQ29sb3I0ZiBjdXN0b21fY29sb3IgPSBTa0NvbG9yNGZ7MC4wZiwg MC4wZiwgMC4wZiwgZ2xvYmFsX2FscGhhfTsKKyAgIHN3aXRjaCAodHlwZV8pIHsKKyAgICAgY2Fz ZSBrQ29sb3I6CisgICAgICAgQXBwbHlDb2xvclRvRmxhZ3MoZmxhZ3MsIGdsb2JhbF9hbHBoYSk7 CitAQCAtOTEsMTIgKzkyLDEyIEBAIHZvaWQgQ2FudmFzU3R5bGU6OkFwcGx5VG9GbGFncyhjYzo6 UGFpbnQKKyAgICAgY2FzZSBrR3JhZGllbnQ6CisgICAgICAgR2V0Q2FudmFzR3JhZGllbnQoKS0+ R2V0R3JhZGllbnQoKS0+QXBwbHlUb0ZsYWdzKGZsYWdzLCBTa01hdHJpeDo6SSgpLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbWFnZURy YXdPcHRpb25zKCkpOworLSAgICAgIGZsYWdzLnNldENvbG9yKFNrQ29sb3I0ZigwLjBmLCAwLjBm LCAwLjBmLCBnbG9iYWxfYWxwaGEpKTsKKysgICAgICBmbGFncy5zZXRDb2xvcihjdXN0b21fY29s b3IpOworICAgICAgIGJyZWFrOworICAgICBjYXNlIGtJbWFnZVBhdHRlcm46CisgICAgICAgR2V0 Q2FudmFzUGF0dGVybigpLT5HZXRQYXR0ZXJuKCktPkFwcGx5VG9GbGFncygKKyAgICAgICAgICAg ZmxhZ3MsIEFmZmluZVRyYW5zZm9ybVRvU2tNYXRyaXgoR2V0Q2FudmFzUGF0dGVybigpLT5HZXRU cmFuc2Zvcm0oKSkpOworLSAgICAgIGZsYWdzLnNldENvbG9yKFNrQ29sb3I0ZigwLjBmLCAwLjBm LCAwLjBmLCBnbG9iYWxfYWxwaGEpKTsKKysgICAgICBmbGFncy5zZXRDb2xvcihjdXN0b21fY29s b3IpOworICAgICAgIGJyZWFrOworICAgICBkZWZhdWx0OgorICAgICAgIE5PVFJFQUNIRUQoKTsK CmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTUtZW1wbGFjZV9iYWNrX29uX3ZlY3Rvci1jKysyMC5w YXRjaCBiL2Nocm9taXVtLTExNS1lbXBsYWNlX2JhY2tfb25fdmVjdG9yLWMrKzIwLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0ZGNhNmEKLS0tIC9kZXYvbnVsbAor KysgYi9jaHJvbWl1bS0xMTUtZW1wbGFjZV9iYWNrX29uX3ZlY3Rvci1jKysyMC5wYXRjaApAQCAt MCwwICsxLDIxIEBACitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjQwL2Nocm9tZS90ZXN0 L2Nocm9tZWRyaXZlci9jYXBhYmlsaXRpZXMuY2MubWUgY2hyb21pdW0tMTE1LjAuNTc5MC40MC9j aHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVzLmNjCistLS0gY2hyb21pdW0tMTE1 LjAuNTc5MC40MC9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVzLmNjLm1lCTIw MjMtMDYtMjUgMTA6MDY6NTguNDQ1OTkwMDY5ICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5 MC40MC9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVzLmNjCTIwMjMtMDYtMjUg MTA6NTE6MTcuNjQwODE4MjMxICswMjAwCitAQCAtMzU1LDcgKzM1NSw3IEBAIFN0YXR1cyBQYXJz ZU1vYmlsZUVtdWxhdGlvbihjb25zdCBiYXNlOjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAi J3ZlcnNpb24nIGZpZWxkIG9mIHR5cGUgc3RyaW5nIik7CisgICAgICAgICB9CisgCistICAgICAg ICBicmFuZHMuZW1wbGFjZV9iYWNrKCpicmFuZCwgKnZlcnNpb24pOworKyAgICAgICAgYnJhbmRz LmVtcGxhY2VfYmFjaygpID0geypicmFuZCwgKnZlcnNpb259OworICAgICAgIH0KKyAKKyAgICAg ICBjbGllbnRfaGludHMuYnJhbmRzID0gc3RkOjptb3ZlKGJyYW5kcyk7CitAQCAtMzkyLDcgKzM5 Miw3IEBAIFN0YXR1cyBQYXJzZU1vYmlsZUVtdWxhdGlvbihjb25zdCBiYXNlOjoKKyAgICAgICAg ICAgICAgICAgICAgICAgICAiYSAndmVyc2lvbicgZmllbGQgb2YgdHlwZSBzdHJpbmciKTsKKyAg ICAgICAgIH0KKyAKKy0gICAgICAgIGZ1bGxfdmVyc2lvbl9saXN0LmVtcGxhY2VfYmFjaygqYnJh bmQsICp2ZXJzaW9uKTsKKysgICAgICAgIGZ1bGxfdmVyc2lvbl9saXN0LmVtcGxhY2VfYmFjaygp ID0geypicmFuZCwgKnZlcnNpb259OworICAgICAgIH0KKyAKKyAgICAgICBjbGllbnRfaGludHMu ZnVsbF92ZXJzaW9uX2xpc3QgPSBzdGQ6Om1vdmUoZnVsbF92ZXJzaW9uX2xpc3QpOwoKZGlmZiAt LWdpdCBhL2Nocm9taXVtLTExNS1nY2MxMy5wYXRjaCBiL2Nocm9taXVtLTExNS1nY2MxMy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTU2NzFlCi0tLSAvZGV2L251 bGwKKysrIGIvY2hyb21pdW0tMTE1LWdjYzEzLnBhdGNoCkBAIC0wLDAgKzEsMzc4IEBACitkaWZm IC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tfb3AuaC5tZSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tfb3AuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv YmFzZS9jaGVja19vcC5oLm1lCTIwMjMtMDEtMTcgMTc6Mzk6MjcuNjIwODc1ODgzICswMTAwCisr KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NoZWNrX29wLmgJMjAyMy0wMS0xNyAxNzoz OTo0Mi41NDYwNjA5NTcgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQkFTRV9DSEVD S19PUF9IXworICNkZWZpbmUgQkFTRV9DSEVDS19PUF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50 PgorICNpbmNsdWRlIDxjc3RkZGVmPgorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHR5 cGVfdHJhaXRzPgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3By b2ZpbGVyLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgK Ky0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZQkyMDIz LTAxLTE3IDE2OjI5OjI2LjM2ODA5MDA3MyArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5oCTIwMjMtMDEtMTcgMTY6NTk6NDEuMTkwNjI4Njc5ICsw MTAwCitAQCAtNyw2ICs3LDcgQEAKKyAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgCisrI2luY2x1 ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyAjaW5jbHVkZSAiYmFzZS9iYXNl X2V4cG9ydC5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Zp ei9jb21tb24vdmlld190cmFuc2l0aW9uX2VsZW1lbnRfcmVzb3VyY2VfaWQuaC5tZSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvdml6L2NvbW1vbi92aWV3X3RyYW5zaXRpb25fZWxl bWVudF9yZXNvdXJjZV9pZC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRz L3Zpei9jb21tb24vdmlld190cmFuc2l0aW9uX2VsZW1lbnRfcmVzb3VyY2VfaWQuaC5tZQkyMDIz LTAxLTE3IDE5OjAzOjEwLjkyMDAxNDgwNiArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvY29tcG9uZW50cy92aXovY29tbW9uL3ZpZXdfdHJhbnNpdGlvbl9lbGVtZW50X3Jlc291cmNl X2lkLmgJMjAyMy0wMS0xNyAxOTowMzo0OC43MzYzOTUyNzQgKzAxMDAKK0BAIC01LDYgKzUsNyBA QAorICNpZm5kZWYgQ09NUE9ORU5UU19WSVpfQ09NTU9OX1ZJRVdfVFJBTlNJVElPTl9FTEVNRU5U X1JFU09VUkNFX0lEX0hfCisgI2RlZmluZSBDT01QT05FTlRTX1ZJWl9DT01NT05fVklFV19UUkFO U0lUSU9OX0VMRU1FTlRfUkVTT1VSQ0VfSURfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAj aW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCitkaWZmIC11cCBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9pbmZvLmgKKy0tLSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oLm1lCTIwMjMtMDEt MTcgMTk6MDY6NTMuNTMwNjc1MTI5ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9n cHUvY29uZmlnL2dwdV9mZWF0dXJlX2luZm8uaAkyMDIzLTAxLTE3IDE5OjA3OjA4Ljg3NDg0OTg3 OSArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBHUFVfQ09ORklHX0dQVV9GRUFUVVJF X0lORk9fSF8KKyAjZGVmaW5lIEdQVV9DT05GSUdfR1BVX0ZFQVRVUkVfSU5GT19IXworIAorKyNp bmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHZlY3Rvcj4K KyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5o Lm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oCistLS0gY2hy b21pdW0tMTA5LjAuNTQxNC43NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgubWUJMjAyMy0wMS0xNyAx ODoxNjozNC4xMzM4NTQ2MTUgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9i YXNlL25ldF9leHBvcnQuaAkyMDIzLTAxLTE3IDE4OjE2OjE1Ljk0NTYyMzE1MyArMDEwMAorQEAg LTUsNiArNSw4IEBACisgI2lmbmRlZiBORVRfQkFTRV9ORVRfRVhQT1JUX0hfCisgI2RlZmluZSBO RVRfQkFTRV9ORVRfRVhQT1JUX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisrCisgLy8gRGVm aW5lcyBORVRfRVhQT1JUIHNvIHRoYXQgZnVuY3Rpb25hbGl0eSBpbXBsZW1lbnRlZCBieSB0aGUg bmV0IG1vZHVsZSBjYW4KKyAvLyBiZSBleHBvcnRlZCB0byBjb25zdW1lcnMsIGFuZCBORVRfRVhQ T1JUX1BSSVZBVEUgdGhhdCBhbGxvd3MgdW5pdCB0ZXN0cyB0bworIC8vIGFjY2VzcyBmZWF0dXJl cyBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBkaXJlY3RseSBieSByZWFsIGNvbnN1bWVycy4KK2Rp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tl ci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5k Ym94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAorLS0tIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJf ZmlsZV9wZXJtaXNzaW9uLmgubWUJMjAyMy0wMS0xNyAxNzoxMjozNC4xODQ2ODY1MTUgKzAxMDAK KysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIv YnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oCTIwMjMtMDEtMTcgMTc6MTM6MTYuNTM3MTYyNDIwICsw MTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIFNBTkRCT1hfTElOVVhfU1lTQ0FMTF9CUk9L RVJfQlJPS0VSX0ZJTEVfUEVSTUlTU0lPTl9IXworICNkZWZpbmUgU0FOREJPWF9MSU5VWF9TWVND QUxMX0JST0tFUl9CUk9LRVJfRklMRV9QRVJNSVNTSU9OX0hfCisgCisrI2luY2x1ZGUgPGNzdGRp bnQ+CisgI2luY2x1ZGUgPGJpdHNldD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5n cy9zdHJpbmdfdmlldy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYWJz ZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaC5t ZQkyMDIzLTAxLTE3IDE3OjMzOjIwLjg5NTcxNzMwNyArMDEwMAorKysrIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcu aAkyMDIzLTAxLTE3IDE3OjM0OjAzLjQ1NjE4NTM2NSArMDEwMAorQEAgLTI3LDYgKzI3LDcgQEAK KyAjaWZuZGVmIEFCU0xfU1RSSU5HU19TVFJJTkdfVklFV19IXworICNkZWZpbmUgQUJTTF9TVFJJ TkdTX1NUUklOR19WSUVXX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGFs Z29yaXRobT4KKyAjaW5jbHVkZSA8Y2Fzc2VydD4KKyAjaW5jbHVkZSA8Y3N0ZGRlZj4KK2RpZmYg LXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNM QU5HL1NoYWRlclZhcnMuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fu Z2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWUJMjAy My0wMS0xNyAxNzozNjoxNS4wMTc2MTYyNTAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgJMjAyMy0w MS0xNyAxNzozNjo0OC45NjA5ODIxOTUgKzAxMDAKK0BAIC0xMCw2ICsxMCw3IEBACisgI2lmbmRl ZiBHTFNMQU5HX1NIQURFUlZBUlNfSF8KKyAjZGVmaW5lIEdMU0xBTkdfU0hBREVSVkFSU19IXwor IAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1ZGUg PGFycmF5PgorICNpbmNsdWRlIDxzdHJpbmc+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9v dGhfZGV2aWNlX2lkLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGlu ay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCistLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2Js dWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oLm1lCTIwMjMtMDEtMTcgMTk6MTc6NDAu NDgwODc2MTcxICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9i bGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCTIw MjMtMDEtMTcgMTk6MTc6NDYuODAzOTU4MzIwICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZu ZGVmIFRISVJEX1BBUlRZX0JMSU5LX1BVQkxJQ19DT01NT05fQkxVRVRPT1RIX1dFQl9CTFVFVE9P VEhfREVWSUNFX0lEX0hfCisgI2RlZmluZSBUSElSRF9QQVJUWV9CTElOS19QVUJMSUNfQ09NTU9O X0JMVUVUT09USF9XRUJfQkxVRVRPT1RIX0RFVklDRV9JRF9IXworIAorKyNpbmNsdWRlIDxjc3Rk aW50PgorICNpbmNsdWRlIDxhcnJheT4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L3JlYWRlci9z cGlydi9uYW1lci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9z cmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaC5tZQkyMDIzLTAx LTE3IDE4OjAyOjQ0LjY4MTUzODEwNyArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaAkyMDIzLTAxLTE3 IDE4OjAyOjU3LjIwODY3OTE0MCArMDEwMAorQEAgLTE1LDYgKzE1LDcgQEAKKyAjaWZuZGVmIFNS Q19USU5UX1JFQURFUl9TUElSVl9OQU1FUl9IXworICNkZWZpbmUgU1JDX1RJTlRfUkVBREVSX1NQ SVJWX05BTUVSX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4K KyAjaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KKyAjaW5jbHVkZSA8dmVjdG9yPgorZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3Zl cnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgubWUgY2hyb21pdW0tMTA5LjAuNTQx NC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ru c19zZF90eHRfcmVjb3JkLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5 L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQu aC5tZQkyMDIzLTAxLTE4IDE1OjIyOjM4LjQ3Mjk0MDY0OCArMDEwMAorKysrIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1 YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oCTIwMjMtMDEtMTggMTU6MjM6MDkuMzgwMjU1MTAxICsw MTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIERJU0NPVkVSWV9ETlNTRF9QVUJMSUNfRE5T X1NEX1RYVF9SRUNPUkRfSF8KKyAjZGVmaW5lIERJU0NPVkVSWV9ETlNTRF9QVUJMSUNfRE5TX1NE X1RYVF9SRUNPUkRfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8ZnVuY3Rp b25hbD4KKyAjaW5jbHVkZSA8bWFwPgorICNpbmNsdWRlIDxzZXQ+CitkaWZmIC11cCBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2Fj aGUuaHBwLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIv c3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJk X3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwLm1lCTIwMjMtMDEtMTcg MTU6Mzc6NDguNTMwNjI2NTE2ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGly ZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcAkyMDIzLTAxLTE3IDE2 OjU3OjQ2LjAyNTU0ODA5MiArMDEwMAorQEAgLTE3LDYgKzE3LDcgQEAKKyAKKyAjaW5jbHVkZSAi U3lzdGVtL0RlYnVnLmhwcCIKKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8Y3N0 ZGRlZj4KKyAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyAjaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4K K2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdnVsa2FuX21lbW9y eV9hbGxvY2F0b3IvaW5jbHVkZS92a19tZW1fYWxsb2MuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2Fs bG9jLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1v cnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgubWUJMjAyMy0wMS0xNyAxNTo0MDoy My44NTQzODYyMDYgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5 L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgJMjAyMy0wMS0x NyAxNjo1ODoxOS4zOTc4NjI4ODUgKzAxMDAKK0BAIC0yMzg4LDYgKzIzODgsNyBAQCBWTUFfQ0FM TF9QUkUgdm9pZCBWTUFfQ0FMTF9QT1NUIHZtYUZyZWVWCisgI2lmZGVmIFZNQV9JTVBMRU1FTlRB VElPTg0KKyAjdW5kZWYgVk1BX0lNUExFTUVOVEFUSU9ODQorIA0KKysjaW5jbHVkZSA8Y3N0ZGlv Pg0KKyAjaW5jbHVkZSA8Y3N0ZGludD4NCisgI2luY2x1ZGUgPGNzdGRsaWI+DQorICNpbmNsdWRl IDxjc3RyaW5nPg0KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21l dHJ5L2xpbmVhcl9ncmFkaWVudC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dl b21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9n ZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgubWUJMjAyMy0wMS0xNyAxODowODoyNS43NDU0 OTEzNTMgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9s aW5lYXJfZ3JhZGllbnQuaAkyMDIzLTAxLTE3IDE4OjA4OjM1Ljc3NzY2NzYzMiArMDEwMAorQEAg LTUsNiArNSw3IEBACisgI2lmbmRlZiBVSV9HRlhfTElORUFSX0dSQURJRU5UX0hfCisgI2RlZmlu ZSBVSV9HRlhfTElORUFSX0dSQURJRU5UX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2lu Y2x1ZGUgPGFycmF5PgorICNpbmNsdWRlIDxzdHJpbmc+CisgCitkaWZmIC11cCBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRh dGlvbi5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkv cHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1lCTIwMjMt MDEtMTkgMTA6MTA6MjEuMjg3ODc2NzM2ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24uaAkyMDIz LTAxLTE5IDEwOjExOjIxLjcxNDc3ODg5NiArMDEwMAorQEAgLTE3LDYgKzE3LDcgQEAgbGltaXRh dGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgI2RlZmluZSBSVVlfUlVZX1BST0ZJTEVSX0lOU1RS VU1FTlRBVElPTl9IXworIAorICNpZmRlZiBSVVlfUFJPRklMRVIKKysjaW5jbHVkZSA8c3RyaW5n PgorICNpbmNsdWRlIDxjc3RkaW8+CisgI2luY2x1ZGUgPG11dGV4PgorICNpbmNsdWRlIDx2ZWN0 b3I+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9z cmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaC5tZSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRl L2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5h bC9zcGVjdHJvZ3JhbS5oLm1lCTIwMjMtMDEtMTkgMTA6MzA6MjcuNTMzODYxOTg1ICswMTAwCisr KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZs b3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgJMjAyMy0wMS0xOSAxMDozMTox Mi41ODU1NTQxODMgKzAxMDAKK0BAIC0zMSw2ICszMSw3IEBAIGxpbWl0YXRpb25zIHVuZGVyIHRo ZSBMaWNlbnNlLgorICNpZm5kZWYgVEVOU09SRkxPV19MSVRFX0tFUk5FTFNfSU5URVJOQUxfU1BF Q1RST0dSQU1fSF8KKyAjZGVmaW5lIFRFTlNPUkZMT1dfTElURV9LRVJORUxTX0lOVEVSTkFMX1NQ RUNUUk9HUkFNX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGNvbXBsZXg+ CisgI2luY2x1ZGUgPGRlcXVlPgorICNpbmNsdWRlIDx2ZWN0b3I+CitkaWZmIC11cCBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5oLm1lZSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5oCistLS0gY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaC5tZWUJMjAyMy0wMS0xOSAxMDo1 OTo1Mi4yMTQ5NTc3NzMgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29u dGFpbmVycy9mbGF0X21hcC5oCTIwMjMtMDEtMTkgMTE6MDA6MDYuNDE1MjE1MzA5ICswMTAwCitA QCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIEJBU0VfQ09OVEFJTkVSU19GTEFUX01BUF9IXworICNk ZWZpbmUgQkFTRV9DT05UQUlORVJTX0ZMQVRfTUFQX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+ CisgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisgI2luY2x1ZGUgPHR1cGxlPgorICNpbmNsdWRlIDx1 dGlsaXR5PgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNo L2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oLm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgKKy0t LSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hf cmVwb3J0ZXJfY2xpZW50LmgubWVlCTIwMjMtMDEtMTkgMTA6MzY6NDAuNTcxNDIyODI2ICswMTAw CisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2Ny YXNoX3JlcG9ydGVyX2NsaWVudC5oCTIwMjMtMDEtMTkgMTA6MzY6NDkuMzQzNTY1Mjk0ICswMTAw CitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBPTkVOVFNfQ1JBU0hfQ09SRV9BUFBfQ1JB U0hfUkVQT1JURVJfQ0xJRU5UX0hfCisgI2RlZmluZSBDT01QT05FTlRTX0NSQVNIX0NPUkVfQVBQ X0NSQVNIX1JFUE9SVEVSX0NMSUVOVF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNs dWRlIDxzdHJpbmc+CisgCisgI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorZGlmZiAt dXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRl ci5oLm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5f ZmlsdGVyLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9r YWxtYW5fZmlsdGVyLmgubWVlCTIwMjMtMDEtMTkgMTE6NDU6MTUuOTUzMTU5NzU1ICswMTAwCisr KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRl ci5oCTIwMjMtMDEtMTkgMTE6NDU6MjIuMzIwMjQ2MjQxICswMTAwCitAQCAtNSw2ICs1LDggQEAK KyAjaWZuZGVmIFVJX0JBU0VfUFJFRElDVElPTl9LQUxNQU5fRklMVEVSX0hfCisgI2RlZmluZSBV SV9CQVNFX1BSRURJQ1RJT05fS0FMTUFOX0ZJTFRFUl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50 PgorKworICNpbmNsdWRlICJiYXNlL2NvbXBvbmVudF9leHBvcnQuaCIKKyAjaW5jbHVkZSAidWkv Z2Z4L2dlb21ldHJ5L21hdHJpeDNfZi5oIgorIAorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24v cGFzc3dvcmRfZ2VuZXJhdG9yLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRz L3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJh dG9yLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFu YWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaC5tZQkyMDIz LTAxLTE5IDE1OjIwOjA3LjYyMDk4Nzk0OSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bh c3N3b3JkX2dlbmVyYXRvci5oCTIwMjMtMDEtMTkgMTU6MjA6MTguMzI0MTczNzAyICswMTAwCitA QCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBPTkVOVFNfUEFTU1dPUkRfTUFOQUdFUl9DT1JF X0JST1dTRVJfR0VORVJBVElPTl9QQVNTV09SRF9HRU5FUkFUT1JfSF8KKyAjZGVmaW5lIENPTVBP TkVOVFNfUEFTU1dPUkRfTUFOQUdFUl9DT1JFX0JST1dTRVJfR0VORVJBVElPTl9QQVNTV09SRF9H RU5FUkFUT1JfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgor IAorIAorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVf ZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZl bnRfc3RvcmFnZV92YWxpZGF0b3IuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9u ZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3Iu aC5tZQkyMDIzLTAxLTE5IDE2OjAwOjE0LjM1MDE4NjUxNSArMDEwMAorKysrIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRf c3RvcmFnZV92YWxpZGF0b3IuaAkyMDIzLTAxLTE5IDE2OjAwOjIxLjY0MzMwNzk5MyArMDEwMAor QEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9J TlRFUk5BTF9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXworICNkZWZpbmUgQ09NUE9ORU5UU19G RUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KKyAK KysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorIG5hbWVzcGFjZSBm ZWF0dXJlX2VuZ2FnZW1lbnQgeworZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21w b25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3Zh bGlkYXRvci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2Vu Z2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAorLS0tIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJu YWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5tZQkyMDIzLTAxLTE5IDE1OjU5OjE4 LjIxMDIzOTQxNiArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9m ZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3Iu aAkyMDIzLTAxLTE5IDE1OjU5OjM0LjUxMzUxNTAzMCArMDEwMAorQEAgLTUsNiArNSw3IEBACisg I2lmbmRlZiBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9ORVZFUl9FVkVO VF9TVE9SQUdFX1ZBTElEQVRPUl9IXworICNkZWZpbmUgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FH RU1FTlRfSU5URVJOQUxfTkVWRVJfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KKyAKKysjaW5j bHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorICNpbmNsdWRlICJjb21wb25l bnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5o IgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRl ci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5j Lm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRf cGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWduYWxzLmluYworLS0tIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkv bGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWduYWxzLmluYy5tZQkyMDIzLTAxLTE5 IDE2OjA5OjI5LjIxNjQ3NzE4MiArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBv cnQvVW5peC9TaWduYWxzLmluYwkyMDIzLTAxLTE5IDE2OjEwOjA1LjY1NzA4OTIwOCArMDEwMAor QEAgLTQ1LDYgKzQ1LDcgQEAKKyAjaW5jbHVkZSAibGx2bS9TdXBwb3J0L1NhdmVBbmRSZXN0b3Jl LmgiCisgI2luY2x1ZGUgImxsdm0vU3VwcG9ydC9yYXdfb3N0cmVhbS5oIgorICNpbmNsdWRlIDxh bGdvcml0aG0+CisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5j bHVkZSA8c3lzZXhpdHMuaD4KKyAjaWZkZWYgSEFWRV9CQUNLVFJBQ0UKK2RpZmYgLXVwIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVy ZWRfc3VyZmFjZV90cmFja2VyLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUvYnJv d3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaAorLS0tIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3Vu dGVyZWRfc3VyZmFjZV90cmFja2VyLmgubWUJMjAyMy0wMS0xOSAxNjozMjowNS4zMzgxNjAxMzEg KzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lf YnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oCTIwMjMtMDEtMTkgMTY6MzI6MTYu MjEzMzI2Nzk4ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENIUk9NRV9CUk9XU0VS X1BSSVZBQ1lfQlVER0VUX0VOQ09VTlRFUkVEX1NVUkZBQ0VfVFJBQ0tFUl9IXworICNkZWZpbmUg Q0hST01FX0JST1dTRVJfUFJJVkFDWV9CVURHRVRfRU5DT1VOVEVSRURfU1VSRkFDRV9UUkFDS0VS X0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPG1hcD4KKyAKKyAjaW5jbHVk ZSAiYmFzZS9jb250YWluZXJzL2ZsYXRfc2V0LmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0aW9u X3N0dWR5LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2Nv cmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oCistLS0gY2hyb21pdW0tMTA5LjAu NTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlv bl9zdHVkeS5oLm1lCTIwMjMtMDEtMTkgMTY6NDc6NTUuNTQ4NTcxMTAyICswMTAwCisrKysgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRv ZmlsbF9hYmxhdGlvbl9zdHVkeS5oCTIwMjMtMDEtMTkgMTY6NDg6MjkuMjE0MTQ2NTI5ICswMTAw CitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBPTkVOVFNfQVVUT0ZJTExfQ09SRV9CUk9X U0VSX0FVVE9GSUxMX0FCTEFUSU9OX1NUVURZX0hfCisgI2RlZmluZSBDT01QT05FTlRTX0FVVE9G SUxMX0NPUkVfQlJPV1NFUl9BVVRPRklMTF9BQkxBVElPTl9TVFVEWV9IXworIAorKyNpbmNsdWRl IDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgCisgY2xhc3MgR1VSTDsKK2RpZmYgLXVw IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2 aWNlX2hlYWRfbW9kZWwuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvb21u aWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21vZGVsLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21vZGVsLmgu bWUJMjAyMy0wMS0xOSAxNjo1NzoyOS41MjUzNzI4MTQgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21vZGVs LmgJMjAyMy0wMS0xOSAxNjo1ODowMi42Njc5NzkyODggKzAxMDAKK0BAIC01LDYgKzUsNyBAQAor ICNpZm5kZWYgQ09NUE9ORU5UU19PTU5JQk9YX0JST1dTRVJfT05fREVWSUNFX0hFQURfTU9ERUxf SF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfT01OSUJPWF9CUk9XU0VSX09OX0RFVklDRV9IRUFEX01P REVMX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5j bHVkZSA8dXRpbGl0eT4KKyAjaW5jbHVkZSA8dmVjdG9yPgorZGlmZiAtdXAgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmlu dF9wYXJzZXIuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5bWVudHMv Y29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oCistLS0gY2hyb21pdW0tMTA5LjAu NTQxNC43NC9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9w YXJzZXIuaC5tZQkyMDIzLTAxLTE5IDE3OjAyOjQ1LjI1ODU0NDY2NSArMDEwMAorKysrIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmlu Z2VycHJpbnRfcGFyc2VyLmgJMjAyMy0wMS0xOSAxNzowMjo1Mi41Nzc2MTE3NTcgKzAxMDAKK0BA IC01LDYgKzUsNyBAQAorICNpZm5kZWYgQ09NUE9ORU5UU19QQVlNRU5UU19DT05URU5UX1VUSUxJ VFlfRklOR0VSUFJJTlRfUEFSU0VSX0hfCisgI2RlZmluZSBDT01QT05FTlRTX1BBWU1FTlRTX0NP TlRFTlRfVVRJTElUWV9GSU5HRVJQUklOVF9QQVJTRVJfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGlu dD4KKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgCisgI2luY2x1ZGUgPHN0cmluZz4KK2RpZmYgLXVw IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0dGFjaG1lbnRfaW5mby5oLm1l IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0dGFjaG1lbnRfaW5mby5oCist LS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgu bWUJMjAyMy0wMS0xOSAxNzoyODoyOC41NTIwNjM1MzQgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2luZm8uaAkyMDIzLTAxLTE5IDE3OjI4 OjQ4LjA3MjM3OTk1MyArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBQREZfRE9DVU1F TlRfQVRUQUNITUVOVF9JTkZPX0hfCisgI2RlZmluZSBQREZfRE9DVU1FTlRfQVRUQUNITUVOVF9J TkZPX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyAK K2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0 YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaAorLS0tIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdz LmgubWUJMjAyMy0wMS0xOSAxODoyNTo0Ny42NDgxOTM3MTAgKzAxMDAKKysrKyBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFn cy5oCTIwMjMtMDEtMTkgMTg6MjY6MTEuNDg4NTkzNTU2ICswMTAwCitAQCAtNSw2ICs1LDggQEAK KyAjaWZuZGVmIENPTlNUQU5UU19BTk5PVEFUSU9OX0ZMQUdTX0hfCisgI2RlZmluZSBDT05TVEFO VFNfQU5OT1RBVElPTl9GTEFHU19IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorKworIG5hbWVz cGFjZSBwZGZpdW0geworIG5hbWVzcGFjZSBhbm5vdGF0aW9uX2ZsYWdzIHsKKyAKK2RpZmYgLXVw IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jcHUuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L2Jhc2UvY3B1LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY3B1LmgubWUJ MjAyMy0wMS0xOSAyMTozMTowMi45MDUwNjI5ODcgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2Jhc2UvY3B1LmgJMjAyMy0wMS0xOSAyMTozMTozMi4yOTg1NzMyNjcgKzAxMDAKK0BA IC01LDYgKzUsNyBAQAorICNpZm5kZWYgQkFTRV9DUFVfSF8KKyAjZGVmaW5lIEJBU0VfQ1BVX0hf CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyAjaW5jbHVk ZSAiYmFzZS9iYXNlX2V4cG9ydC5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC90 aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2xheWVy cy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC90 aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2xheWVy cy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgKKy0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjI0 L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5 ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2MuaC5tZQkyMDIzLTA0LTE1IDE2OjQ0OjU1LjM0 NDMwNTQxMiArMDIwMAorKysrIGNocm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFydHkvdnVs a2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1h L3ZrX21lbV9hbGxvYy5oCTIwMjMtMDQtMTUgMTY6NDc6MDkuMDI4NjY2OTk1ICswMjAwCitAQCAt Mjg1NCw2ICsyODU0LDcgQEAgc3RhdGljIHZvaWQgdm1hX2FsaWduZWRfZnJlZSh2b2lkKiBWTUFf TgorIAorIC8vIERlZmluZSB0aGlzIG1hY3JvIHRvIDEgdG8gZW5hYmxlIGZ1bmN0aW9uczogdm1h QnVpbGRTdGF0c1N0cmluZywgdm1hRnJlZVN0YXRzU3RyaW5nLgorICNpZiBWTUFfU1RBVFNfU1RS SU5HX0VOQUJMRUQKKysjaW5jbHVkZSA8c3RkaW8uaD4KKyAgICAgc3RhdGljIGlubGluZSB2b2lk IFZtYVVpbnQzMlRvU3RyKGNoYXIqIFZNQV9OT1RfTlVMTCBvdXRTdHIsIHNpemVfdCBzdHJMZW4s IHVpbnQzMl90IG51bSkKKyAgICAgeworICAgICAgICAgc25wcmludGYob3V0U3RyLCBzdHJMZW4s ICIldSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4obnVtKSk7CitkaWZmIC11cCBjaHJvbWl1 bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVx dWVzdF9kaWFsb2dfbW9kZWwuaC5tZSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9icm93 c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaAorLS0tIGNo cm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21lL2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVudGljYXRv cl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oLm1lCTIwMjMtMDQtMTggMTU6NTU6NDQuNzc0OTE2MzE5 ICswMjAwCisrKysgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUvYnJvd3Nlci93ZWJhdXRo bi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgJMjAyMy0wNC0xOCAxNTo1NTo1 NC40NDEwODU4ODIgKzAyMDAKK0BAIC04LDYgKzgsNyBAQAorICNpbmNsdWRlIDxtZW1vcnk+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dmVjdG9yPgorKyNpbmNsdWRlIDx2YXJpYW50 PgorIAorICNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvc3Bhbi5oIgorICNpbmNsdWRlICJiYXNl L2Z1bmN0aW9uYWwvY2FsbGJhY2tfZm9yd2FyZC5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAu NTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9naW4v dGltZV9jbGFtcGVyLmgKKy0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1w ZXIuaC5tZQkyMDIzLTA0LTE4IDE2OjM4OjQxLjE4MDQzNzQ2NyArMDIwMAorKysrIGNocm9taXVt LTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oCTIwMjMtMDQtMTggMTY6Mzk6NDMuODU3 MDQ5NDMyICswMjAwCitAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBHSU5fRVhQT1JUIFRpbWVDbGFt cGVyIHsKKyAgICAgY29uc3QgaW50NjRfdCBtaWNyb3MgPSBub3dfbWljcm9zICUgMTAwMDsKKyAg ICAgLy8gYWJzKCkgaXMgbmVjZXNzYXJ5IGZvciBkZXZpY2VzIHdpdGggdGltZXMgYmVmb3JlIHVu aXgtZXBvY2ggKG1vc3QgbGlrZWx5CisgICAgIC8vIGNvbmZpZ3VyZWQgaW5jb3JyZWN0bHkpLgor LSAgICBpZiAoYWJzKG1pY3JvcykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8IDEwMDApIHsKKysgICAg aWYgKHN0ZDo6YWJzKG1pY3JvcykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8IDEwMDApIHsKKyAgICAg ICByZXR1cm4gbm93X21pY3JvcyAvIDEwMDA7CisgICAgIH0KKyAgICAgcmV0dXJuIENsYW1wVGlt ZVJlc29sdXRpb24obm93X21pY3JvcykgLyAxMDAwOworZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAu NTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwuY2Mu bWUgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21l L3dlYl92aWV3X2ltcGwuY2MKKy0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS90ZXN0 L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYy5tZQkyMDIzLTA0LTIxIDA4OjA3 OjU1LjM2MjcxNDU0NCArMDIwMAorKysrIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3Rl c3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjCTIwMjMtMDQtMjEgMDg6MTQ6 MzUuNDI0MTU4NjkzICswMjAwCitAQCAtMTAsNiArMTAsNyBAQAorICNpbmNsdWRlIDxxdWV1ZT4K KyAjaW5jbHVkZSA8dXRpbGl0eT4KKyAjaW5jbHVkZSA8dmVjdG9yPgorKyNpbmNsdWRlIDxjc3Ry aW5nPgorIAorICNpbmNsdWRlICJiYXNlL2NoZWNrLmgiCisgI2luY2x1ZGUgImJhc2UvZmlsZXMv ZmlsZV9wYXRoLmgiCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE1LWluaXRpYWxfcHJlZnMtZXRj LXBhdGgucGF0Y2ggYi9jaHJvbWl1bS0xMTUtaW5pdGlhbF9wcmVmcy1ldGMtcGF0aC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjY2YjBjCi0tLSAvZGV2L251bGwK KysrIGIvY2hyb21pdW0tMTE1LWluaXRpYWxfcHJlZnMtZXRjLXBhdGgucGF0Y2gKQEAgLTAsMCAr MSwxNiBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9jaHJvbWUvYnJvd3Nlci9m aXJzdF9ydW4vZmlyc3RfcnVuX2ludGVybmFsX2xpbnV4LmNjLm1lIGNocm9taXVtLTExNS4wLjU3 OTAuMzIvY2hyb21lL2Jyb3dzZXIvZmlyc3RfcnVuL2ZpcnN0X3J1bl9pbnRlcm5hbF9saW51eC5j YworLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMzIvY2hyb21lL2Jyb3dzZXIvZmlyc3RfcnVuL2Zp cnN0X3J1bl9pbnRlcm5hbF9saW51eC5jYy5tZQkyMDIzLTA2LTE3IDE5OjQzOjA4LjQ4MTk1MjY3 MSArMDIwMAorKysrIGNocm9taXVtLTExNS4wLjU3OTAuMzIvY2hyb21lL2Jyb3dzZXIvZmlyc3Rf cnVuL2ZpcnN0X3J1bl9pbnRlcm5hbF9saW51eC5jYwkyMDIzLTA2LTE3IDE5OjQ0OjI2LjE2NTM0 OTc3MiArMDIwMAorQEAgLTIwLDEwICsyMCw4IEBAIGJvb2wgSXNPcmdhbmljRmlyc3RSdW4oKSB7 CisgCisgYmFzZTo6RmlsZVBhdGggSW5pdGlhbFByZWZzUGF0aCgpIHsKKyAgIC8vIFRoZSBzdGFu ZGFyZCBsb2NhdGlvbiBvZiB0aGUgaW5pdGlhbCBwcmVmcyBpcyBuZXh0IHRvIHRoZSBjaHJvbWUg YmluYXJ5LgorLSAgYmFzZTo6RmlsZVBhdGggZGlyX2V4ZTsKKy0gIGlmICghYmFzZTo6UGF0aFNl cnZpY2U6OkdldChiYXNlOjpESVJfRVhFLCAmZGlyX2V4ZSkpIHsKKy0gICAgcmV0dXJuIGJhc2U6 OkZpbGVQYXRoKCk7CistICB9CisrICAvLyAuLi5idXQgd2UgcGF0Y2ggaXQgdG8gdXNlIC9ldGMv Y2hyb21pdW0KKysgIGJhc2U6OkZpbGVQYXRoIGRpcl9leGUgPSBiYXNlOjpGaWxlUGF0aCgiL2V0 Yy9jaHJvbWl1bSIpOworIAorICAgcmV0dXJuIGluc3RhbGxlcjo6SW5pdGlhbFByZWZlcmVuY2Vz OjpQYXRoKGRpcl9leGUpOworIH0KCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTUtbWlzc2luZy1j bWF0aC5wYXRjaCBiL2Nocm9taXVtLTExNS1taXNzaW5nLWNtYXRoLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjOGJhY2QKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJv bWl1bS0xMTUtbWlzc2luZy1jbWF0aC5wYXRjaApAQCAtMCwwICsxLDIyIEBACitkaWZmIC11cCBj aHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjLm1lIGNo cm9taXVtLTExNS4wLjU3OTAuMzIvc2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MKKy0tLSBj aHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjLm1lCTIw MjMtMDYtMTggMTI6MzM6NTIuMzg3NDEyNzg4ICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5 MC4zMi9za2lhL2V4dC9za2NvbG9yc3BhY2VfdHJmbi5jYwkyMDIzLTA2LTE4IDEyOjM1OjI4LjIy OTE0ODkzNSArMDIwMAorQEAgLTMsNiArMyw3IEBACisgLy8gZm91bmQgaW4gdGhlIExJQ0VOU0Ug ZmlsZS4KKyAKKyAjaW5jbHVkZSAic2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uaCIKKysjaW5j bHVkZSA8Y21hdGg+CisgCisgbmFtZXNwYWNlIHNraWEgeworIAorZGlmZiAtdXAgY2hyb21pdW0t MTE1LjAuNTc5MC4zMi9uZXQvY2VydC9wa2kvdmVyaWZ5X25hbWVfbWF0Y2guaC5tZSBjaHJvbWl1 bS0xMTUuMC41NzkwLjMyL25ldC9jZXJ0L3BraS92ZXJpZnlfbmFtZV9tYXRjaC5oCistLS0gY2hy b21pdW0tMTE1LjAuNTc5MC4zMi9uZXQvY2VydC9wa2kvdmVyaWZ5X25hbWVfbWF0Y2guaC5tZQky MDIzLTA2LTE4IDE0OjIzOjEzLjg0NzcyNTc3NSArMDIwMAorKysrIGNocm9taXVtLTExNS4wLjU3 OTAuMzIvbmV0L2NlcnQvcGtpL3ZlcmlmeV9uYW1lX21hdGNoLmgJMjAyMy0wNi0xOCAxNDoyMzo0 MS42MzcyMjExMTcgKzAyMDAKK0BAIC02LDYgKzYsNyBAQAorICNkZWZpbmUgTkVUX0NFUlRfUEtJ X1ZFUklGWV9OQU1FX01BVENIX0hfCisgCisgI2luY2x1ZGUgPHN0cmluZz4KKysjaW5jbHVkZSA8 dmVjdG9yPgorIAorICNpbmNsdWRlICJuZXQvYmFzZS9uZXRfZXhwb3J0LmgiCisgCgpkaWZmIC0t Z2l0IGEvY2hyb21pdW0tMTE1LW5vcmFyLnBhdGNoIGIvY2hyb21pdW0tMTE1LW5vcmFyLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllZGJlMjAKLS0tIC9kZXYvbnVs bAorKysgYi9jaHJvbWl1bS0xMTUtbm9yYXIucGF0Y2gKQEAgLTAsMCArMSw2MyBAQAorZGlmZiAt dXAgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9jaHJvbWUvYnJvd3Nlci9zYWZlX2Jyb3dzaW5nL2Rv d25sb2FkX3Byb3RlY3Rpb24vZmlsZV9hbmFseXplci5jYy5ub3VucmFyIGNocm9taXVtLTExNS4w LjU3OTAuMjQvY2hyb21lL2Jyb3dzZXIvc2FmZV9icm93c2luZy9kb3dubG9hZF9wcm90ZWN0aW9u L2ZpbGVfYW5hbHl6ZXIuY2MKKy0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L2Nocm9tZS9icm93 c2VyL3NhZmVfYnJvd3NpbmcvZG93bmxvYWRfcHJvdGVjdGlvbi9maWxlX2FuYWx5emVyLmNjLm5v dW5yYXIJMjAyMy0wNi0wNyAyMTo0ODoyNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0x MTUuMC41NzkwLjI0L2Nocm9tZS9icm93c2VyL3NhZmVfYnJvd3NpbmcvZG93bmxvYWRfcHJvdGVj dGlvbi9maWxlX2FuYWx5emVyLmNjCTIwMjMtMDYtMTcgMTQ6MzM6MzYuOTA2NjM5OTUyICswMjAw CitAQCAtNzcsOCArNzcsNiBAQCB2b2lkIEZpbGVBbmFseXplcjo6U3RhcnQoY29uc3QgYmFzZTo6 RmlsCisgCisgICBpZiAoaW5zcGVjdGlvbl90eXBlID09IERvd25sb2FkRmlsZVR5cGU6OlpJUCkg eworICAgICBTdGFydEV4dHJhY3RaaXBGZWF0dXJlcygpOworLSAgfSBlbHNlIGlmIChpbnNwZWN0 aW9uX3R5cGUgPT0gRG93bmxvYWRGaWxlVHlwZTo6UkFSKSB7CistICAgIFN0YXJ0RXh0cmFjdFJh ckZlYXR1cmVzKCk7CisgI2lmIEJVSUxERkxBRyhJU19NQUMpCisgICB9IGVsc2UgaWYgKGluc3Bl Y3Rpb25fdHlwZSA9PSBEb3dubG9hZEZpbGVUeXBlOjpETUcpIHsKKyAgICAgU3RhcnRFeHRyYWN0 RG1nRmVhdHVyZXMoKTsKK2RpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMjQvY2hyb21lL2Nv bW1vbi9zYWZlX2Jyb3dzaW5nL0JVSUxELmduLm5vdW5yYXIgY2hyb21pdW0tMTE1LjAuNTc5MC4y NC9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvQlVJTEQuZ24KKy0tLSBjaHJvbWl1bS0xMTUu MC41NzkwLjI0L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9CVUlMRC5nbi5ub3VucmFyCTIw MjMtMDYtMDcgMjE6NDg6MjYuMDAwMDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5 MC4yNC9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvQlVJTEQuZ24JMjAyMy0wNi0xNyAxNDoz MzozNi45MDY2Mzk5NTIgKzAyMDAKK0BAIC0xMzQsNyArMTM0LDYgQEAgc291cmNlX3NldCgic2Fm ZV9icm93c2luZyIpIHsKKyAgICAgICAiLy9jb21wb25lbnRzL3NhZmVfYnJvd3NpbmcvY29udGVu dC9jb21tb246ZmlsZV90eXBlX3BvbGljaWVzIiwKKyAgICAgICAiLy9jb21wb25lbnRzL3NhZmVf YnJvd3NpbmcvY29yZS9jb21tb24iLAorICAgICAgICIvL3RoaXJkX3BhcnR5L2x6bWFfc2RrL2dv b2dsZTpzZXZlbl96aXBfcmVhZGVyIiwKKy0gICAgICAiLy90aGlyZF9wYXJ0eS91bnJhcjp1bnJh ciIsCisgICAgIF0KKyAKKyAgICAgcHVibGljX2RlcHMgPSBbCitkaWZmIC11cCBjaHJvbWl1bS0x MTUuMC41NzkwLjI0L2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5 emVyLmNjLm5vdW5yYXIgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9jaHJvbWUvc2VydmljZXMvZmls ZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXplci5jYworLS0tIGNocm9taXVtLTExNS4wLjU3OTAu MjQvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuY2Mubm91 bnJhcgkyMDIzLTA2LTA3IDIxOjQ4OjI2LjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTEx NS4wLjU3OTAuMjQvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6 ZXIuY2MJMjAyMy0wNi0xNyAxNDozMzozNi45MDY2Mzk5NTIgKzAyMDAKK0BAIC02OSw2ICs2OSw3 IEBAIHZvaWQgU2FmZUFyY2hpdmVBbmFseXplcjo6QW5hbHl6ZVJhckZpbGUKKyAgICAgYmFzZTo6 RmlsZSByYXJfZmlsZSwKKyAgICAgbW9qbzo6UGVuZGluZ1JlbW90ZTxjaHJvbWU6Om1vam9tOjpU ZW1wb3JhcnlGaWxlR2V0dGVyPiB0ZW1wX2ZpbGVfZ2V0dGVyLAorICAgICBBbmFseXplUmFyRmls ZUNhbGxiYWNrIGNhbGxiYWNrKSB7CisrI2lmIDAKKyAgIERDSEVDSyhyYXJfZmlsZS5Jc1ZhbGlk KCkpOworICAgdGVtcF9maWxlX2dldHRlcl8uQmluZChzdGQ6Om1vdmUodGVtcF9maWxlX2dldHRl cikpOworICAgY2FsbGJhY2tfID0gc3RkOjptb3ZlKGNhbGxiYWNrKTsKK0BAIC04NCw2ICs4NSw5 IEBAIHZvaWQgU2FmZUFyY2hpdmVBbmFseXplcjo6QW5hbHl6ZVJhckZpbGUKKyAgIHJhcl9hbmFs eXplcl8uQW5hbHl6ZShzdGQ6Om1vdmUocmFyX2ZpbGUpLCBiYXNlOjpGaWxlUGF0aCgpLAorICAg ICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bW92ZShhbmFseXNpc19maW5pc2hlZF9jYWxsYmFj ayksCisgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptb3ZlKHRlbXBfZmlsZV9nZXR0ZXJf Y2FsbGJhY2spLCAmcmVzdWx0c18pOworKyNlbHNlCisrICBOT1RSRUFDSEVEKCk7CisrI2VuZGlm CisgfQorIAorIHZvaWQgU2FmZUFyY2hpdmVBbmFseXplcjo6QW5hbHl6ZVNldmVuWmlwRmlsZSgK K2RpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMjQvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRp bC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuaC5ub3VucmFyIGNocm9taXVtLTExNS4wLjU3OTAuMjQv Y2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuaAorLS0tIGNo cm9taXVtLTExNS4wLjU3OTAuMjQvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9zYWZlX2FyY2hp dmVfYW5hbHl6ZXIuaC5ub3VucmFyCTIwMjMtMDYtMDcgMjE6NDg6MjYuMDAwMDAwMDAwICswMjAw CisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL3Nh ZmVfYXJjaGl2ZV9hbmFseXplci5oCTIwMjMtMDYtMTcgMTQ6NDA6MjAuOTUzOTQyNDg5ICswMjAw CitAQCAtNyw3ICs3LDYgQEAKKyAKKyAjaW5jbHVkZSAiY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dz aW5nL2FyY2hpdmVfYW5hbHl6ZXJfcmVzdWx0cy5oIgorICNpbmNsdWRlICJjaHJvbWUvc2Vydmlj ZXMvZmlsZV91dGlsL3B1YmxpYy9tb2pvbS9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIubW9qb20uaCIK Ky0jaW5jbHVkZSAiY2hyb21lL3V0aWxpdHkvc2FmZV9icm93c2luZy9yYXJfYW5hbHl6ZXIuaCIK KyAjaW5jbHVkZSAiY2hyb21lL3V0aWxpdHkvc2FmZV9icm93c2luZy9zZXZlbl96aXBfYW5hbHl6 ZXIuaCIKKyAjaW5jbHVkZSAiY2hyb21lL3V0aWxpdHkvc2FmZV9icm93c2luZy96aXBfYW5hbHl6 ZXIuaCIKKyAjaW5jbHVkZSAibW9qby9wdWJsaWMvY3BwL2JpbmRpbmdzL3JlbW90ZS5oIgorQEAg LTYzLDcgKzYyLDYgQEAgY2xhc3MgU2FmZUFyY2hpdmVBbmFseXplciA6IHB1YmxpYyBjaHJvbQor ICAgdm9pZCBUaW1lb3V0KCk7CisgCisgICBzYWZlX2Jyb3dzaW5nOjpaaXBBbmFseXplciB6aXBf YW5hbHl6ZXJfOworLSAgc2FmZV9icm93c2luZzo6UmFyQW5hbHl6ZXIgcmFyX2FuYWx5emVyXzsK KyAgIHNhZmVfYnJvd3Npbmc6OlNldmVuWmlwQW5hbHl6ZXIgc2V2ZW5femlwX2FuYWx5emVyXzsK KyAjaWYgQlVJTERGTEFHKElTX01BQykKKyAgIHNhZmVfYnJvd3Npbmc6OmRtZzo6RE1HQW5hbHl6 ZXIgZG1nX2FuYWx5emVyXzsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTUtc3lzdGVtLWJyb3Rs aS5wYXRjaCBiL2Nocm9taXVtLTExNS1zeXN0ZW0tYnJvdGxpLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MGM2OWUKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1 bS0xMTUtc3lzdGVtLWJyb3RsaS5wYXRjaApAQCAtMCwwICsxLDM2IEBACitkaWZmIC11cCBjaHJv bWl1bS0xMTUuMC41NzkwLjI0L25ldC9maWx0ZXIvYnJvdGxpX3NvdXJjZV9zdHJlYW0uY2Muc3lz dGVtLWJyb3RsaSBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L25ldC9maWx0ZXIvYnJvdGxpX3NvdXJj ZV9zdHJlYW0uY2MKKy0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L25ldC9maWx0ZXIvYnJvdGxp X3NvdXJjZV9zdHJlYW0uY2Muc3lzdGVtLWJyb3RsaQkyMDIzLTA2LTA3IDIxOjQ4OjM4LjAwMDAw MDAwMCArMDIwMAorKysrIGNocm9taXVtLTExNS4wLjU3OTAuMjQvbmV0L2ZpbHRlci9icm90bGlf c291cmNlX3N0cmVhbS5jYwkyMDIzLTA2LTE3IDE0OjQyOjE5LjczNDI5OTkyOSArMDIwMAorQEAg LTEwLDcgKzEwLDcgQEAKKyAjaW5jbHVkZSAiYmFzZS9tZW1vcnkvcmF3X3B0ci5oIgorICNpbmNs dWRlICJiYXNlL21ldHJpY3MvaGlzdG9ncmFtX21hY3Jvcy5oIgorICNpbmNsdWRlICJuZXQvYmFz ZS9pb19idWZmZXIuaCIKKy0jaW5jbHVkZSAidGhpcmRfcGFydHkvYnJvdGxpL2luY2x1ZGUvYnJv dGxpL2RlY29kZS5oIgorKyNpbmNsdWRlIDxicm90bGkvZGVjb2RlLmg+CisgCisgbmFtZXNwYWNl IG5ldCB7CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L25ldC9zc2wvY2VydF9j b21wcmVzc2lvbi5jYy5zeXN0ZW0tYnJvdGxpIGNocm9taXVtLTExNS4wLjU3OTAuMjQvbmV0L3Nz bC9jZXJ0X2NvbXByZXNzaW9uLmNjCistLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9uZXQvc3Ns L2NlcnRfY29tcHJlc3Npb24uY2Muc3lzdGVtLWJyb3RsaQkyMDIzLTA2LTA3IDIxOjQ4OjM4LjAw MDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTExNS4wLjU3OTAuMjQvbmV0L3NzbC9jZXJ0X2Nv bXByZXNzaW9uLmNjCTIwMjMtMDYtMTcgMTQ6NDI6MTkuNzM0Mjk5OTI5ICswMjAwCitAQCAtOSw3 ICs5LDcgQEAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9pbmNsdWRlL29w ZW5zc2wvc3NsLmgiCisgCisgI2lmICFkZWZpbmVkKE5FVF9ESVNBQkxFX0JST1RMSSkKKy0jaW5j bHVkZSAidGhpcmRfcGFydHkvYnJvdGxpL2luY2x1ZGUvYnJvdGxpL2RlY29kZS5oIgorKyNpbmNs dWRlIDxicm90bGkvZGVjb2RlLmg+CisgI2VuZGlmCisgCisgbmFtZXNwYWNlIG5ldCB7CitkaWZm IC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L3VpL2Jhc2UvcmVzb3VyY2UvcmVzb3VyY2VfYnVu ZGxlLmNjLnN5c3RlbS1icm90bGkgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC91aS9iYXNlL3Jlc291 cmNlL3Jlc291cmNlX2J1bmRsZS5jYworLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMjQvdWkvYmFz ZS9yZXNvdXJjZS9yZXNvdXJjZV9idW5kbGUuY2Muc3lzdGVtLWJyb3RsaQkyMDIzLTA2LTE3IDE0 OjQyOjE5LjczNDI5OTkyOSArMDIwMAorKysrIGNocm9taXVtLTExNS4wLjU3OTAuMjQvdWkvYmFz ZS9yZXNvdXJjZS9yZXNvdXJjZV9idW5kbGUuY2MJMjAyMy0wNi0xNyAxNDo0NDoxOC41OTEwMDIx MTkgKzAyMDAKK0BAIC0zMiw3ICszMiw3IEBACisgI2luY2x1ZGUgIm5ldC9maWx0ZXIvZ3ppcF9o ZWFkZXIuaCIKKyAjaW5jbHVkZSAic2tpYS9leHQvaW1hZ2Vfb3BlcmF0aW9ucy5oIgorICNpbmNs dWRlICJ0aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvdHlwZXMvdmFyaWFudC5oIgorLSNpbmNs dWRlICJ0aGlyZF9wYXJ0eS9icm90bGkvaW5jbHVkZS9icm90bGkvZGVjb2RlLmgiCisrI2luY2x1 ZGUgPGJyb3RsaS9kZWNvZGUuaD4KKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvc2tpYS9pbmNsdWRl L2NvcmUvU2tCaXRtYXAuaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvc2tpYS9pbmNsdWRlL2Nv cmUvU2tDb2xvci5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS96bGliL2dvb2dsZS9jb21wcmVz c2lvbl91dGlscy5oIgoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExNS10eXBlbmFtZS5wYXRjaCBi L2Nocm9taXVtLTExNS10eXBlbmFtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5mYzcwNDIwCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTE1LXR5cGVuYW1l LnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK2RpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMjQv Y2hyb21lL2Jyb3dzZXIvZG93bmxvYWQvYnViYmxlL2Rvd25sb2FkX2J1YmJsZV91cGRhdGVfc2Vy dmljZS5jYy50eXBlbmFtZSBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L2Nocm9tZS9icm93c2VyL2Rv d25sb2FkL2J1YmJsZS9kb3dubG9hZF9idWJibGVfdXBkYXRlX3NlcnZpY2UuY2MKKy0tLSBjaHJv bWl1bS0xMTUuMC41NzkwLjI0L2Nocm9tZS9icm93c2VyL2Rvd25sb2FkL2J1YmJsZS9kb3dubG9h ZF9idWJibGVfdXBkYXRlX3NlcnZpY2UuY2MudHlwZW5hbWUJMjAyMy0wNi0xNyAxNDo1MDo1Ni4z NDI1OTE3MDIgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjI0L2Nocm9tZS9icm93c2Vy L2Rvd25sb2FkL2J1YmJsZS9kb3dubG9hZF9idWJibGVfdXBkYXRlX3NlcnZpY2UuY2MJMjAyMy0w Ni0xNyAxNDo1Nzo0OC4wMjQzNzczNzUgKzAyMDAKK0BAIC05MSw3ICs5MSw3IEBAIEl0ZW1Tb3J0 S2V5IEdldFNvcnRLZXkoY29uc3QgSXRlbSYgaXRlbSkKKyAvLyBIZWxwZXIgdG8gZ2V0IGFuIGl0 ZXJhdG9yIHRvIHRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIGNhY2hlLiBUaGUgY2FjaGUKKyAvLyBt dXN0IG5vdCBiZSBlbXB0eS4KKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgSXRlbT4KKy1Tb3J0ZWRJdGVt czxJdGVtPjo6Y29uc3RfaXRlcmF0b3IgR2V0TGFzdEl0ZXIoY29uc3QgU29ydGVkSXRlbXM8SXRl bT4mIGNhY2hlKSB7CisrdHlwZW5hbWUgU29ydGVkSXRlbXM8SXRlbT46OmNvbnN0X2l0ZXJhdG9y IEdldExhc3RJdGVyKGNvbnN0IFNvcnRlZEl0ZW1zPEl0ZW0+JiBjYWNoZSkgeworICAgQ0hFQ0so IWNhY2hlLmVtcHR5KCkpOworICAgYXV0byBpdCA9IGNhY2hlLmVuZCgpOworICAgcmV0dXJuIHN0 ZDo6cHJldihpdCk7CitAQCAtOTY3LDkgKzk2Nyw5IEBAIGJvb2wgRG93bmxvYWRCdWJibGVVcGRh dGVTZXJ2aWNlOjpDYWNoZU0KKyB9CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIElkLCB0eXBlbmFt ZSBJdGVtPgorLVNvcnRlZEl0ZW1zPEl0ZW0+OjppdGVyYXRvcgorK3R5cGVuYW1lIFNvcnRlZEl0 ZW1zPEl0ZW0+OjppdGVyYXRvcgorIERvd25sb2FkQnViYmxlVXBkYXRlU2VydmljZTo6Q2FjaGVN YW5hZ2VyOjpSZW1vdmVJdGVtRnJvbUNhY2hlQnlJdGVyKAorLSAgICBTb3J0ZWRJdGVtczxJdGVt Pjo6aXRlcmF0b3IgaXRlciwKKysgICAgdHlwZW5hbWUgU29ydGVkSXRlbXM8SXRlbT46Oml0ZXJh dG9yIGl0ZXIsCisgICAgIFNvcnRlZEl0ZW1zPEl0ZW0+JiBjYWNoZSwKKyAgICAgSXRlck1hcDxJ ZCwgSXRlbT4mIGl0ZXJfbWFwKSB7CisgICBDSEVDSyhpdGVyICE9IGNhY2hlLmVuZCgpKTsKK2Rp ZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMzIvY29tcG9uZW50cy9vcHRpbWl6YXRpb25fZ3Vp ZGUvY29yZS90ZmxpdGVfbW9kZWxfZXhlY3V0b3IuaC5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjMy L2NvbXBvbmVudHMvb3B0aW1pemF0aW9uX2d1aWRlL2NvcmUvdGZsaXRlX21vZGVsX2V4ZWN1dG9y LmgKKy0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2NvbXBvbmVudHMvb3B0aW1pemF0aW9uX2d1 aWRlL2NvcmUvdGZsaXRlX21vZGVsX2V4ZWN1dG9yLmgubWUJMjAyMy0wNi0xOCAyMTo1Mjo1My41 MTU2MjUyMzcgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL2NvbXBvbmVudHMvb3B0 aW1pemF0aW9uX2d1aWRlL2NvcmUvdGZsaXRlX21vZGVsX2V4ZWN1dG9yLmgJMjAyMy0wNi0xOCAy MTo1MzowNi44ODE4ODEyOTMgKzAyMDAKK0BAIC0xODksNyArMTg5LDcgQEAgY2xhc3MgVEZMaXRl TW9kZWxFeGVjdXRvciA6IHB1YmxpYyBNb2RlbAorICAgdm9pZCBTZW5kRm9yQmF0Y2hFeGVjdXRp b24oCisgICAgICAgQmF0Y2hFeGVjdXRpb25DYWxsYmFjayBjYWxsYmFja19vbl9jb21wbGV0ZSwK KyAgICAgICBiYXNlOjpUaW1lVGlja3Mgc3RhcnRfdGltZSwKKy0gICAgICBNb2RlbEV4ZWN1dG9y PE91dHB1dFR5cGUsIElucHV0VHlwZT46OkNvbnN0UmVmSW5wdXRWZWN0b3IgaW5wdXRzKQorKyAg ICAgIHR5cGVuYW1lIE1vZGVsRXhlY3V0b3I8T3V0cHV0VHlwZSwgSW5wdXRUeXBlPjo6Q29uc3RS ZWZJbnB1dFZlY3RvciBpbnB1dHMpCisgICAgICAgb3ZlcnJpZGUgeworICAgICBEQ0hFQ0soZXhl Y3V0aW9uX3Rhc2tfcnVubmVyXy0+UnVuc1Rhc2tzSW5DdXJyZW50U2VxdWVuY2UoKSk7CisgICAg IERDSEVDS19DQUxMRURfT05fVkFMSURfU0VRVUVOQ0Uoc2VxdWVuY2VfY2hlY2tlcl8pOworZGlm ZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9j b3JlL2h0bWwvcGFyc2VyL2h0bWxfZG9jdW1lbnRfcGFyc2VyX2Zhc3RwYXRoLmNjLm1lMSBjaHJv bWl1bS0xMTUuMC41NzkwLjMyL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvaHRtbC9w YXJzZXIvaHRtbF9kb2N1bWVudF9wYXJzZXJfZmFzdHBhdGguY2MKKy0tLSBjaHJvbWl1bS0xMTUu MC41NzkwLjMyL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvaHRtbC9wYXJzZXIvaHRt bF9kb2N1bWVudF9wYXJzZXJfZmFzdHBhdGguY2MubWUxCTIwMjMtMDYtMTkgMTA6MDM6MzIuMzE5 MjE4Njc4ICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9jb3JlL2h0bWwvcGFyc2VyL2h0bWxfZG9jdW1lbnRfcGFyc2VyX2Zhc3RwYXRo LmNjCTIwMjMtMDYtMTkgMTA6MDQ6MTIuMDIzOTQyMjMyICswMjAwCitAQCAtMTY5LDcgKzE2OSw3 IEBAIGNsYXNzIEhUTUxGYXN0UGF0aFBhcnNlciB7CisgICB1c2luZyBTcGFuID0gYmFzZTo6c3Bh bjxjb25zdCBDaGFyPjsKKyAgIHVzaW5nIFVTcGFuID0gYmFzZTo6c3Bhbjxjb25zdCBVQ2hhcj47 CisgICAvLyAzMiBtYXRjaGVzIHRoYXQgdXNlZCBieSBIVE1MVG9rZW46OkF0dHJpYnV0ZS4KKy0g IHR5cGVkZWYgc3RkOjpjb25kaXRpb25hbDxzdGQ6OmlzX3NhbWVfdjxDaGFyLCBVQ2hhcj4sCisr ICB0eXBlZGVmIHR5cGVuYW1lIHN0ZDo6Y29uZGl0aW9uYWw8c3RkOjppc19zYW1lX3Y8Q2hhciwg VUNoYXI+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVDaGFyTGl0ZXJhbEJ1ZmZlcjwz Mj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTENoYXJMaXRlcmFsQnVmZmVyPDMyPj46 OnR5cGUgTGl0ZXJhbEJ1ZmZlclR5cGU7CisgICB0eXBlZGVmIFVDaGFyTGl0ZXJhbEJ1ZmZlcjwz Mj4gVUNoYXJMaXRlcmFsQnVmZmVyVHlwZTsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTUtd2F5 bGFuZC1sb2FkX2RlZmF1bHRfY3Vyc29yX3RoZW1lLnBhdGNoIGIvY2hyb21pdW0tMTE1LXdheWxh bmQtbG9hZF9kZWZhdWx0X2N1cnNvcl90aGVtZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi42ZjQ3Nzc0Ci0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTE1LXdh eWxhbmQtbG9hZF9kZWZhdWx0X2N1cnNvcl90aGVtZS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitj b21taXQgOGY0NmFkNDk5ZDhmOGFmZDU2YmY1YzgyY2JiY2FkNjcyODVlZDhhYQorQXV0aG9yOiBQ aGFuIFF1YW5nIE1pbmggPHBoYW5xdWFuZ21pbmgyMTdAZ21haWwuY29tPgorRGF0ZTogICBXZWQg TWF5IDI0IDEwOjEzOjQ1IDIwMjMgKzAwMDAKKworICAgIG96b25lL3dheWxhbmQ6IExvYWQgZGVm YXVsdCBjdXJzb3IgdGhlbWUgaWYgdGhlbWUgbmFtZSBpcyBlbXB0eQorICAgIAorICAgIFdlIG1p Z2h0IG5lZWQgdG8gbG9hZCB0aGUgY3Vyc29yIHRoZW1lIGV2ZW4gaWYgYE9uQ3Vyc29yVGhlbWVO YW1lYCBuZXZlcgorICAgIGdldHMgY2FsbGVkIChlLmcuIFF0IHRoZW1lIGJhY2tlbmQpLiBJbiB0 aGlzIGNhc2Ugd2Ugd2lsbCBuZWVkIHRvIGxvYWQKKyAgICB0aGUgZGVmYXVsdCB0aGVtZSBieSBw YXNzaW5nIGBOVUxMYCB0byB3bF9jdXJzb3JfdGhlbWVfbG9hZC4KKyAgICAKKyAgICBDaGFuZ2Ut SWQ6IEkwZTE4MTQxNzgzMTk3MzRhNGQwZmU3NTc0Y2RjOGM3YTFkMWNmN2E1CisgICAgUmV2aWV3 ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1 bS9zcmMvKy80NTUzNjU5CisgICAgUmV2aWV3ZWQtYnk6IEFudG9uaW8gR29tZXMgPHRvbmlraXRv b0BpZ2FsaWEuY29tPgorICAgIFJldmlld2VkLWJ5OiBNYWtzaW0gU2lzb3YgPG1zaXNvdkBpZ2Fs aWEuY29tPgorICAgIENvbW1pdC1RdWV1ZTogTWFrc2ltIFNpc292IDxtc2lzb3ZAaWdhbGlhLmNv bT4KKyAgICBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzExNDg0NDF9CisK K2RpZmYgLS1naXQgYS91aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5kL2hvc3Qvd2F5bGFuZF9jdXJz b3JfZmFjdG9yeS5jYyBiL3VpL296b25lL3BsYXRmb3JtL3dheWxhbmQvaG9zdC93YXlsYW5kX2N1 cnNvcl9mYWN0b3J5LmNjCitpbmRleCA5YWIxMmIxOTk0YzY4Li4xMWIxNjI1NTRhYmM4IDEwMDY0 NAorLS0tIGEvdWkvb3pvbmUvcGxhdGZvcm0vd2F5bGFuZC9ob3N0L3dheWxhbmRfY3Vyc29yX2Zh Y3RvcnkuY2MKKysrKyBiL3VpL296b25lL3BsYXRmb3JtL3dheWxhbmQvaG9zdC93YXlsYW5kX2N1 cnNvcl9mYWN0b3J5LmNjCitAQCAtMjMwLDcgKzIzMCw4IEBAIHZvaWQgV2F5bGFuZEN1cnNvckZh Y3Rvcnk6Ok1heWJlTG9hZFRoZW1lQ3Vyc29ycygpIHsKKyAgIGJhc2U6OlRocmVhZFBvb2w6OlBv c3RUYXNrQW5kUmVwbHlXaXRoUmVzdWx0KAorICAgICAgIEZST01fSEVSRSwKKyAgICAgICB7YmFz ZTo6TWF5QmxvY2soKSwgYmFzZTo6VGFza1NodXRkb3duQmVoYXZpb3I6OlNLSVBfT05fU0hVVERP V059LAorLSAgICAgIGJhc2U6OkJpbmRPbmNlKHdsX2N1cnNvcl90aGVtZV9sb2FkLCBuYW1lXy5j X3N0cigpLCBHZXRDYWNoZUtleSgpLAorKyAgICAgIGJhc2U6OkJpbmRPbmNlKHdsX2N1cnNvcl90 aGVtZV9sb2FkLAorKyAgICAgICAgICAgICAgICAgICAgIG5hbWVfLmVtcHR5KCkgPyBudWxscHRy IDogbmFtZV8uY19zdHIoKSwgR2V0Q2FjaGVLZXkoKSwKKyAgICAgICAgICAgICAgICAgICAgICBj b25uZWN0aW9uXy0+YnVmZmVyX2ZhY3RvcnkoKS0+c2htKCkpLAorICAgICAgIGJhc2U6OkJpbmRP bmNlKCZXYXlsYW5kQ3Vyc29yRmFjdG9yeTo6T25UaGVtZUxvYWRlZCwKKyAgICAgICAgICAgICAg ICAgICAgICB3ZWFrX2ZhY3RvcnlfLkdldFdlYWtQdHIoKSwgbmFtZV8sIHNpemVfKSk7CgpkaWZm IC0tZ2l0IGEvY2hyb21pdW0tMTE1LXdvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmlu ZGluZy5wYXRjaCBiL2Nocm9taXVtLTExNS13b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVk X2JpbmRpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTcwY2Rk OQotLS0gL2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTExNS13b3JrYXJvdW5kX2NsYW5nX2J1Zy1z dHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gKQEAgLTAsMCArMSw4MSBAQAorZGlmZiAtdXAgY2hyb21p dW0tMTE1LjAuNTc5MC4yNC9tZWRpYS9iYXNlL2NkbV9wcm9taXNlX2FkYXB0ZXIuY2Mud29ya2Fy b3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nIGNocm9taXVtLTExNS4wLjU3OTAuMjQv bWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVyLmNjCistLS0gY2hyb21pdW0tMTE1LjAuNTc5 MC4yNC9tZWRpYS9iYXNlL2NkbV9wcm9taXNlX2FkYXB0ZXIuY2Mud29ya2Fyb3VuZF9jbGFuZ19i dWctc3RydWN0dXJlZF9iaW5kaW5nCTIwMjMtMDYtMDcgMjE6NDg6MzcuMDAwMDAwMDAwICswMjAw CisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC9tZWRpYS9iYXNlL2NkbV9wcm9taXNlX2FkYXB0 ZXIuY2MJMjAyMy0wNi0xNyAxNjo1MzoyMC4yMTY2Mjg1NTcgKzAyMDAKK0BAIC05NCw3ICs5NCw5 IEBAIHZvaWQgQ2RtUHJvbWlzZUFkYXB0ZXI6OlJlamVjdFByb21pc2UodWkKKyB2b2lkIENkbVBy b21pc2VBZGFwdGVyOjpDbGVhcihDbGVhclJlYXNvbiByZWFzb24pIHsKKyAgIC8vIFJlamVjdCBh bGwgb3V0c3RhbmRpbmcgcHJvbWlzZXMuCisgICBEQ0hFQ0sodGhyZWFkX2NoZWNrZXJfLkNhbGxl ZE9uVmFsaWRUaHJlYWQoKSk7CistICBmb3IgKGF1dG8mIFtwcm9taXNlX2lkLCBwcm9taXNlXSA6 IHByb21pc2VzXykgeworKyAgZm9yIChhdXRvJiBbcF9pLCBwX2VdIDogcHJvbWlzZXNfKSB7Cisr ICAgIGF1dG8mIHByb21pc2VfaWQgPSBwX2k7CisrICAgIGF1dG8mIHByb21pc2UgPSBwX2U7Cisg ICAgIFRSQUNFX0VWRU5UX05FU1RBQkxFX0FTWU5DX0VORDEoCisgICAgICAgICAibWVkaWEiLCAi Q2RtUHJvbWlzZSIsIFRSQUNFX0lEX1dJVEhfU0NPUEUoIkNkbVByb21pc2UiLCBwcm9taXNlX2lk KSwKKyAgICAgICAgICJzdGF0dXMiLCAiY2xlYXJlZCIpOworZGlmZiAtdXAgY2hyb21pdW0tMTE1 LjAuNTc5MC4yNC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2xheW91dC9uZy9ncmlk L25nX2dyaWRfbGF5b3V0X2FsZ29yaXRobS5jYy53b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1 cmVkX2JpbmRpbmcgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9jb3JlL2xheW91dC9uZy9ncmlkL25nX2dyaWRfbGF5b3V0X2FsZ29yaXRobS5jYworLS0t IGNocm9taXVtLTExNS4wLjU3OTAuMjQvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9s YXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0uY2Mud29ya2Fyb3VuZF9jbGFu Z19idWctc3RydWN0dXJlZF9iaW5kaW5nCTIwMjMtMDYtMDcgMjE6NDg6NDEuMDAwMDAwMDAwICsw MjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4yNC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL2xheW91dC9uZy9ncmlkL25nX2dyaWRfbGF5b3V0X2FsZ29yaXRobS5jYwkyMDIzLTA2 LTE3IDE4OjQ3OjA2LjAwMTQwMzk2NiArMDIwMAorQEAgLTIzOCw3ICsyMzgsMTAgQEAgY29uc3Qg TkdMYXlvdXRSZXN1bHQqIE5HR3JpZExheW91dEFsZ29yaQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDogQnVpbGRHcmlkU2l6aW5nVHJlZSgmb29mX2NoaWxkcmVuKTsKKyAKKyAgIExh eW91dFVuaXQgaW50cmluc2ljX2Jsb2NrX3NpemU7CistICBhdXRvJiBbZ3JpZF9pdGVtcywgbGF5 b3V0X2RhdGEsIHRyZWVfc2l6ZV0gPSBncmlkX3NpemluZ190cmVlLlRyZWVSb290RGF0YSgpOwor KyAgYXV0byYgW2dfaSwgbF9kLCB0X3NdID0gZ3JpZF9zaXppbmdfdHJlZS5UcmVlUm9vdERhdGEo KTsKKysgIGF1dG8mIGdyaWRfaXRlbXMgPSBnX2k7CisrICBhdXRvJiBsYXlvdXRfZGF0YSA9IGxf ZDsKKysgIGF1dG8mIHRyZWVfc2l6ZSA9IHRfczsKKyAKKyAgIGlmIChJc0JyZWFrSW5zaWRlKEJy ZWFrVG9rZW4oKSkpIHsKKyAgICAgLy8gVE9ETyhsYXlvdXQtZGV2KTogV2hlbiB3ZSBzdXBwb3J0 IHZhcmlhYmxlIGlubGluZS1zaXplIGZyYWdtZW50cyB3ZSdsbAorQEAgLTY1NSw4ICs2NTgsMTAg QEAgTkdHcmlkU2l6aW5nVHJlZSBOR0dyaWRMYXlvdXRBbGdvcml0aG06OgorICAgTkdHcmlkU2l6 aW5nVHJlZSBzaXppbmdfdHJlZTsKKyAKKyAgIGlmIChjb25zdCBhdXRvKiBsYXlvdXRfc3VidHJl ZSA9IENvbnN0cmFpbnRTcGFjZSgpLkdyaWRMYXlvdXRTdWJ0cmVlKCkpIHsKKy0gICAgYXV0byYg W2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCBzdWJ0cmVlX3NpemVdID0KKy0gICAgICAgIHNpemlu Z190cmVlLkNyZWF0ZVNpemluZ0RhdGEoKTsKKysgICAgYXV0byYgW2dfaSwgbF9kLCBzX3NdID0g c2l6aW5nX3RyZWUuQ3JlYXRlU2l6aW5nRGF0YSgpOworKyAgICBhdXRvJiBncmlkX2l0ZW1zID0g Z19pOworKyAgICBhdXRvJiBsYXlvdXRfZGF0YSA9IGxfZDsKKysgICAgYXV0byYgc3VidHJlZV9z aXplID0gc19zOworIAorICAgICBjb25zdCBhdXRvJiBub2RlID0gTm9kZSgpOworICAgICBncmlk X2l0ZW1zID0KK0BAIC0xNzk4LDggKzE4MDMsMTAgQEAgdm9pZCBOR0dyaWRMYXlvdXRBbGdvcml0 aG06OkNvbXBsZXRlVHJhYworICAgICBib29sKiBvcHRfbmVlZHNfYWRkaXRpb25hbF9wYXNzKSBj b25zdCB7CisgICBEQ0hFQ0soc2l6aW5nX3N1YnRyZWUpOworIAorLSAgYXV0byYgW2dyaWRfaXRl bXMsIGxheW91dF9kYXRhLCBzdWJ0cmVlX3NpemVdID0KKy0gICAgICBzaXppbmdfc3VidHJlZS5T dWJ0cmVlUm9vdERhdGEoKTsKKysgIGF1dG8mIFtnX2ksIGxfZCwgc19zXSA9IHNpemluZ19zdWJ0 cmVlLlN1YnRyZWVSb290RGF0YSgpOworKyAgYXV0byYgZ3JpZF9pdGVtcyA9IGdfaTsKKysgIGF1 dG8mIGxheW91dF9kYXRhID0gbF9kOworKyAgYXV0byYgc3VidHJlZV9zaXplID0gc19zOworIAor ICAgY29uc3QgYm9vbCBpc19mb3JfY29sdW1ucyA9IHRyYWNrX2RpcmVjdGlvbiA9PSBrRm9yQ29s dW1uczsKKyAgIGNvbnN0IGJvb2wgaGFzX25vbl9kZWZpbml0ZV90cmFjayA9CitAQCAtMTkyNCw4 ICsxOTMxLDEwIEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBDYWxsYmFja0Z1bmM+Cisgdm9pZCBOR0dy aWRMYXlvdXRBbGdvcml0aG06OkZvckVhY2hTdWJncmlkKAorICAgICBjb25zdCBOR0dyaWRTaXpp bmdTdWJ0cmVlJiBzaXppbmdfc3VidHJlZSwKKyAgICAgY29uc3QgQ2FsbGJhY2tGdW5jJiBjYWxs YmFja19mdW5jKSBjb25zdCB7CistICBhdXRvJiBbZ3JpZF9pdGVtcywgbGF5b3V0X2RhdGEsIHN1 YnRyZWVfc2l6ZV0gPQorLSAgICAgIHNpemluZ19zdWJ0cmVlLlN1YnRyZWVSb290RGF0YSgpOwor KyAgYXV0byYgW2dfaSwgbF9kLCBzX3NdID0gc2l6aW5nX3N1YnRyZWUuU3VidHJlZVJvb3REYXRh KCk7CisrICBhdXRvJiBncmlkX2l0ZW1zID0gZ19pOworKyAgYXV0byYgbGF5b3V0X2RhdGEgPSBs X2Q7CisrICBhdXRvJiBzdWJ0cmVlX3NpemUgPSBzX3M7CisgCisgICAvLyBJZiB3ZSBrbm93IHRo aXMgc3VidHJlZSBkb2Vzbid0IGhhdmUgbmVzdGVkIHN1YmdyaWRzIHdlIGNhbiBleGl0IGVhcmx5 CisgICAvLyBpbnN0ZWFkIG9mIGl0ZXJhdGluZyBvdmVyIGV2ZXJ5IGdyaWQgaXRlbSBsb29raW5n IGZvciB0aGVtLgorZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9jb250ZW50L2Jyb3dz ZXIvc2VydmljZV93b3JrZXIvc2VydmljZV93b3JrZXJfY29udGV4dF93cmFwcGVyLmNjLm1lIGNo cm9taXVtLTExNS4wLjU3OTAuMzIvY29udGVudC9icm93c2VyL3NlcnZpY2Vfd29ya2VyL3NlcnZp Y2Vfd29ya2VyX2NvbnRleHRfd3JhcHBlci5jYworLS0tIGNocm9taXVtLTExNS4wLjU3OTAuMzIv Y29udGVudC9icm93c2VyL3NlcnZpY2Vfd29ya2VyL3NlcnZpY2Vfd29ya2VyX2NvbnRleHRfd3Jh cHBlci5jYy5tZQkyMDIzLTA2LTE5IDA4OjA0OjAyLjI4NzA3MjcyMiArMDIwMAorKysrIGNocm9t aXVtLTExNS4wLjU3OTAuMzIvY29udGVudC9icm93c2VyL3NlcnZpY2Vfd29ya2VyL3NlcnZpY2Vf d29ya2VyX2NvbnRleHRfd3JhcHBlci5jYwkyMDIzLTA2LTE5IDA4OjE4OjI0LjU3NjgxNDk1MCAr MDIwMAorQEAgLTEzOTMsNyArMTM5Myw4IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRleHRXcmFw cGVyOjpNYXliZVAKKyAgICAgcmV0dXJuOworICAgfQorIAorLSAgYXV0byBbZG9jdW1lbnRfdXJs LCBrZXksIGNhbGxiYWNrXSA9IHN0ZDo6bW92ZSgqcmVxdWVzdCk7CisrICBhdXRvIFtkX3UsIGtl eSwgY2FsbGJhY2tdID0gc3RkOjptb3ZlKCpyZXF1ZXN0KTsKKysgIGF1dG8gZG9jdW1lbnRfdXJs ID0gZF91OworIAorICAgRENIRUNLKGRvY3VtZW50X3VybC5pc192YWxpZCgpKTsKKyAgIFRSQUNF X0VWRU5UMSgiU2VydmljZVdvcmtlciIsCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tOTEuMC40NDcy Ljc3LWluaXRpYWxfcHJlZnMtZXRjLXBhdGgucGF0Y2ggYi9jaHJvbWl1bS05MS4wLjQ0NzIuNzct aW5pdGlhbF9wcmVmcy1ldGMtcGF0aC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggOTY4MjVlMi4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS05MS4wLjQ0NzIuNzctaW5pdGlhbF9w cmVmcy1ldGMtcGF0aC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLWRpZmYg LXVwIGNocm9taXVtLTkxLjAuNDQ3Mi43Ny9jaHJvbWUvYnJvd3Nlci9maXJzdF9ydW4vZmlyc3Rf cnVuX2ludGVybmFsX2xpbnV4LmNjLmV0YyBjaHJvbWl1bS05MS4wLjQ0NzIuNzcvY2hyb21lL2Jy b3dzZXIvZmlyc3RfcnVuL2ZpcnN0X3J1bl9pbnRlcm5hbF9saW51eC5jYwotLS0tIGNocm9taXVt LTkxLjAuNDQ3Mi43Ny9jaHJvbWUvYnJvd3Nlci9maXJzdF9ydW4vZmlyc3RfcnVuX2ludGVybmFs X2xpbnV4LmNjLmV0YwkyMDIxLTA2LTAxIDE2OjM3OjM5LjE4MjUzMTAzNiAtMDQwMAotKysrIGNo cm9taXVtLTkxLjAuNDQ3Mi43Ny9jaHJvbWUvYnJvd3Nlci9maXJzdF9ydW4vZmlyc3RfcnVuX2lu dGVybmFsX2xpbnV4LmNjCTIwMjEtMDYtMDEgMTY6Mzk6MzEuNTkwMTAyODA5IC0wNDAwCi1AQCAt MjAsOSArMjAsOSBAQCBib29sIElzT3JnYW5pY0ZpcnN0UnVuKCkgewotIAotIGJhc2U6OkZpbGVQ YXRoIEluaXRpYWxQcmVmc1BhdGgoKSB7Ci0gICAvLyBUaGUgc3RhbmRhcmQgbG9jYXRpb24gb2Yg dGhlIGluaXRpYWwgcHJlZnMgaXMgbmV4dCB0byB0aGUgY2hyb21lIGJpbmFyeS4KLSsgIC8vIC4u LmJ1dCB3ZSBwYXRjaCBpdCB0byB1c2UgL2V0Yy9jaHJvbWl1bQotICAgYmFzZTo6RmlsZVBhdGgg aW5pdGlhbF9wcmVmczsKLS0gIGlmICghYmFzZTo6UGF0aFNlcnZpY2U6OkdldChiYXNlOjpESVJf RVhFLCAmaW5pdGlhbF9wcmVmcykpCi0tICAgIHJldHVybiBiYXNlOjpGaWxlUGF0aCgpOwotKyAg aW5pdGlhbF9wcmVmcyA9IGJhc2U6OkZpbGVQYXRoKCIvZXRjL2Nocm9taXVtIik7Ci0gCi0gICBi YXNlOjpGaWxlUGF0aCBuZXdfcGF0aCA9IGluaXRpYWxfcHJlZnMuQXBwZW5kQVNDSUkoaW5zdGFs bGVyOjprSW5pdGlhbFByZWZzKTsKLSAgIGlmIChiYXNlOjpQYXRoSXNSZWFkYWJsZShuZXdfcGF0 aCkpCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0uc3BlYyBiL2Nocm9taXVtLnNwZWMKaW5kZXggMmJi MDQ5MS4uZjQ0NDU5MyAxMDA2NDQKLS0tIGEvY2hyb21pdW0uc3BlYworKysgYi9jaHJvbWl1bS5z cGVjCkBAIC02LDEyICs2LDYgQEAKICMgZW5hYmxlfGRpc2FibGUgc3lzdGVtIGJ1aWxkIGZsYWdz CiAlZ2xvYmFsIHN5c3RlbV9idWlsZF9mbGFncyAwCiAKLSMgZGlzYWJsZSB0aGUgcGFja2FnZSBu b3RlcyBpbmZvIG9uIGYzNgotIyB3b3JrYXJvdW5kIGZvciBsaW5raW5nIGlzc3VlCi0laWYgMCV7 P2ZlZG9yYX0gPT0gMzYKLSV1bmRlZmluZSBfcGFja2FnZV9ub3RlX2ZpbGUKLSVlbmRpZgotCiAj IHNldCBkZWZhdWx0IG51bWpvYnMgZm9yIHRoZSBrb2ppIGJ1aWxkCiAlaWZhcmNoIGFhcmNoNjQK ICVnbG9iYWwgbnVtam9icyA4CkBAIC0yNDAsNyArMjM0LDcgQEAKICVlbmRpZgogCiBOYW1lOglj aHJvbWl1bSV7Y2hyb21pdW1fY2hhbm5lbH0KLVZlcnNpb246IDExNC4wLjU3MzUuMTk4CitWZXJz aW9uOiAxMTUuMC41NzkwLjk4CiBSZWxlYXNlOiAxJXs/ZGlzdH0KIFN1bW1hcnk6IEEgV2ViS2l0 IChCbGluaykgcG93ZXJlZCB3ZWIgYnJvd3NlciB0aGF0IEdvb2dsZSBkb2Vzbid0IHdhbnQgeW91 IHRvIHVzZQogVXJsOiBodHRwOi8vd3d3LmNocm9taXVtLm9yZy9Ib21lCkBAIC0yNTAsNyArMjQ0 LDcgQEAgTGljZW5zZTogQlNELTMtQ2xhdXNlIEFORCBMR1BMLTIuMS1vci1sYXRlciBBTkQgQXBh Y2hlLTIuMCBBTkQgSUpHIEFORCBNSVQgQU5EIEcKIFBhdGNoMDogY2hyb21pdW0tNzAuMC4zNTM4 LjY3LXNhbmRib3gtcGllLnBhdGNoCiAKICMgVXNlIC9ldGMvY2hyb21pdW0gZm9yIGluaXRpYWxf cHJlZnMKLVBhdGNoMTogY2hyb21pdW0tOTEuMC40NDcyLjc3LWluaXRpYWxfcHJlZnMtZXRjLXBh dGgucGF0Y2gKK1BhdGNoMTogY2hyb21pdW0tMTE1LWluaXRpYWxfcHJlZnMtZXRjLXBhdGgucGF0 Y2gKIAogIyBVc2UgZ24gc3lzdGVtIGZpbGVzCiBQYXRjaDI6IGNocm9taXVtLTEwNy4wLjUzMDQu MTEwLWduLXN5c3RlbS5wYXRjaApAQCAtMjU5LDcgKzI1Myw3IEBAIFBhdGNoMjogY2hyb21pdW0t MTA3LjAuNTMwNC4xMTAtZ24tc3lzdGVtLnBhdGNoCiBQYXRjaDU6IGNocm9taXVtLTc3LjAuMzg2 NS43NS1uby16bGliLW1hbmdsZS5wYXRjaAogCiAjIERvIG5vdCB1c2UgdW5yYXIgY29kZSwgaXQg aXMgbm9uLWZyZWUKLVBhdGNoNjogY2hyb21pdW0tMTE0LW5vcmFyLnBhdGNoCitQYXRjaDY6IGNo cm9taXVtLTExNS1ub3Jhci5wYXRjaAogCiAjIFRyeSB0byBsb2FkIHdpZGV2aW5lIGZyb20gb3Ro ZXIgcGxhY2VzCiBQYXRjaDg6IGNocm9taXVtLTEwOC13aWRldmluZS1vdGhlci1sb2NhdGlvbnMu cGF0Y2gKQEAgLTMwMiw3ICsyOTYsNyBAQCBQYXRjaDcwOiBjaHJvbWl1bS0xMDUuMC41MTk1LjUy LXB5dGhvbi1zaXgtMS4xNi4wLnBhdGNoCiBQYXRjaDgyOiBjaHJvbWl1bS05OC4wLjQ3NTguMTAy LXJlbW90aW5nLW5vLXRlc3RzLnBhdGNoCiAKICMgcGF0Y2ggZm9yIHVzaW5nIHN5c3RlbSBicm90 bGkKLVBhdGNoODk6IGNocm9taXVtLTEwOC1zeXN0ZW0tYnJvdGxpLnBhdGNoCitQYXRjaDg5OiBj aHJvbWl1bS0xMTUtc3lzdGVtLWJyb3RsaS5wYXRjaAogCiAjIGRpc2FibGUgR2xvYmFsTWVkaWFD b250cm9sc0Nhc3RTdGFydFN0b3AgdG8gYXZvaWQgY3Jhc2gKICMgd2hlbiB1c2luZyB0aGUgYWRk cmVzcyBiYXIgbWVkaWEgcGxheWVyIGJ1dHRvbgpAQCAtMzM2LDkgKzMzMCw4IEBAIFBhdGNoMTA2 OiBjaHJvbWl1bS05OC4wLjQ3NTguODAtZXBlbDctZXJhc2UtZml4LnBhdGNoCiAjIEFkZCBhZGRp dGlvbmFsIG9wZXJhdG9yPT0gdG8gbWFrZSBlbDcgaGFwcHkuCiBQYXRjaDEwNzogY2hyb21pdW0t OTkuMC40ODQ0LjUxLWVsNy1leHRyYS1vcGVyYXRvcj09LnBhdGNoCiAjIHdvcmthcm91bmQgZm9y IGNsYW5nIGJ1ZyBvbiBlbDcKLVBhdGNoMTA4OiBjaHJvbWl1bS0xMTQtY29uc3RleHByLWVsNy5w YXRjaAogUGF0Y2gxMDk6IGNocm9taXVtLTExNC13aXJlbGVzcy1lbDcucGF0Y2gKLVBhdGNoMTEw OiBjaHJvbWl1bS0xMTQtYnVpbGRmbGFnLWVsNy5wYXRjaAorUGF0Y2gxMTA6IGNocm9taXVtLTEx NS1idWlsZGZsYWctZWw3LnBhdGNoCiAKICMgc3lzdGVtIGZmbXBlZwogUGF0Y2gxMTQ6IGNocm9t aXVtLTEwNy1mZm1wZWctZHVyYXRpb24ucGF0Y2gKQEAgLTM0OSwxOSArMzQyLDM2IEBAIFBhdGNo MTE2OiBjaHJvbWl1bS0xMTItZmZtcGVnLWZpcnN0X2R0cy5wYXRjaAogUGF0Y2gxMTc6IGNocm9t aXVtLTEwOC1mZm1wZWctcmV2ZXJ0LW5ldy1jaGFubmVsLWxheW91dC1hcGkucGF0Y2gKIAogIyBn Y2MxMwotUGF0Y2gxMjI6IGNocm9taXVtLTExNC1nY2MxMy5wYXRjaAorUGF0Y2gxMjI6IGNocm9t aXVtLTExNS1nY2MxMy5wYXRjaAogCiAjIHJldmVydCBBVjEgVkEtQVBJIHZpZGVvIGVuY29kZSBk dWUgdG8gb2xkIGxpYnZhIG9uIGVsOQogUGF0Y2gxMzA6IGNocm9taXVtLTExNC1yZXZlcnQtYXYx ZW5jLWVsOS5wYXRjaAogCiAjIEFwcGx5IHRoZXNlIHBhdGNoZXMgdG8gd29yayBhcm91bmQgRVBF TDggaXNzdWVzCiBQYXRjaDMwMDogY2hyb21pdW0tMTEzLXJoZWw4LWZvcmNlLWRpc2FibGUtdXNl X2dub21lX2tleXJpbmcucGF0Y2gKKworIyBjb21waWxlciBidWlsZCBlcnJvcnMKK1BhdGNoMzAx OiBjaHJvbWl1bS0xMTUtY29tcGlsZXItU2tDb2xvcjRmLnBhdGNoCisKICMgd29ya2Fyb3VuZCBm b3IgY2xhbmcgYnVnLCBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvaXNzdWVz LzU3ODI2Ci1QYXRjaDMwMjogY2hyb21pdW0tMTE0LXdvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVj dHVyZWRfYmluZGluZy5wYXRjaAorUGF0Y2gzMDI6IGNocm9taXVtLTExNS13b3JrYXJvdW5kX2Ns YW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gKKwogIyBtaXNzaW5nIHR5cGVuYW1lCi1Q YXRjaDMwMzogY2hyb21pdW0tMTE0LXR5cGVuYW1lLnBhdGNoCitQYXRjaDMwMzogY2hyb21pdW0t MTE1LXR5cGVuYW1lLnBhdGNoCisKKyMgbWlzc2luZyBjbWF0aAorUGF0Y2gzMDQ6IGNocm9taXVt LTExNS1taXNzaW5nLWNtYXRoLnBhdGNoCisKKyMgYWRkIEJvdW5kU2Vzc2lvblJlZnJlc2hDb29r aWVGZXRjaGVyOjpSZXN1bHQKK1BhdGNoMzA1OiBjaHJvbWl1bS0xMTUtYWRkX0JvdW5kU2Vzc2lv blJlZnJlc2hDb29raWVGZXRjaGVyOjpSZXN1bHQucGF0Y2gKKworIyBjb21waWxlciBlcnJvciB3 aXRoIGMrKzIwCitQYXRjaDMwNjogY2hyb21pdW0tMTE1LWVtcGxhY2VfYmFja19vbl92ZWN0b3It YysrMjAucGF0Y2gKKworIyBMb2FkIGRlZmF1bHQgY3Vyc29yIHRoZW1lIGlmIHRoZW1lIG5hbWUg aXMgZW1wdHkKK1BhdGNoMzEwOiBjaHJvbWl1bS0xMTUtd2F5bGFuZC1sb2FkX2RlZmF1bHRfY3Vy c29yX3RoZW1lLnBhdGNoCisKICMgUXQgaXNzdWUKLVBhdGNoMzIwOiBjaHJvbWl1bS0xMTQtYWRk X3F0Nl9saW51eHVpX2JhY2tlbmQucGF0Y2gKIFBhdGNoMzIxOiBjaHJvbWl1bS0xMTQtcXQtaGFu ZGxlX3NjYWxlX2ZhY3Rvcl9jaGFuZ2VzLnBhdGNoCiBQYXRjaDMyMjogY2hyb21pdW0tMTE0LXF0 LWZpeF9mb250X2RvdWJsZV9zY2FsaW5nLnBhdGNoCiBQYXRjaDMyMzogY2hyb21pdW0tMTE0LXF0 X2RlcHMucGF0Y2gKQEAgLTk0Miw3ICs5NTIsNiBAQCB1ZGV2LgogJXBhdGNoIC1QMTA1IC1wMSAt YiAuZWw3LW9sZC1saWJkcm0KICVwYXRjaCAtUDEwNiAtcDEgLWIgLmVsNy1lcmFzZS1maXgKICVw YXRjaCAtUDEwNyAtcDEgLWIgLmVsNy1leHRyYS1vcGVyYXRvci1lcXVhbGVxdWFsCi0lcGF0Y2gg LVAxMDggLXAxIC1iIC5jb25zdGV4cHIKICVwYXRjaCAtUDEwOSAtcDEgLWIgLndpcmVsZXNzCiAl cGF0Y2ggLVAxMTAgLXAxIC1iIC5idWlsZGZsYWctZWw3CiAlZW5kaWYKQEAgLTk1OSwxMyArOTY4 LDE4IEBAIHVkZXYuCiAKICVpZiAle2NsYW5nfQogJWlmIDAlez9yaGVsfSB8fCAwJXs/ZmVkb3Jh fSA8IDM4CislcGF0Y2ggLVAzMDEgLXAxIC1iIC53b3JrYXJvdW5kX2NsYW5nLVNrQ29sb3I0Zgog JXBhdGNoIC1QMzAyIC1wMSAtYiAud29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5k aW5nCiAlZW5kaWYKICVlbmRpZgogCiAlcGF0Y2ggLVAzMDMgLXAxIC1iIC50eXBlbmFtZQorJXBh dGNoIC1QMzA0IC1wMSAtYiAuY21hdGgKKyVwYXRjaCAtUDMwNSAtcDEgLWIgLmFkZF9Cb3VuZFNl c3Npb25SZWZyZXNoQ29va2llRmV0Y2hlcjo6UmVzdWx0CislcGF0Y2ggLVAzMDYgLXAxIC1iIC5l bXBsYWNlX2JhY2tfb25fdmVjdG9yLWMrKzIwCisKKyVwYXRjaCAtUDMxMCAtcDEgLWIgLndheWxh bmRfbG9hZF9kZWZhdWx0X2N1cnNvcl90aGVtZQogCi0lcGF0Y2ggLVAzMjAgLXAxIC1iIC5hZGRf cXQ2X2xpbnV4dWlfYmFja2VuZAogJXBhdGNoIC1QMzIxIC1wMSAtYiAuaGFuZGxlX3NjYWxlX2Zh Y3Rvcl9jaGFuZ2VzCiAlcGF0Y2ggLVAzMjIgLXAxIC1iIC5maXhfZm9udF9kb3VibGVfc2NhbGlu ZwogJXBhdGNoIC1QMzIzIC1wMSAtYiAucXRfZGVwcwpAQCAtMTAyNSw3ICsxMDM5LDkgQEAgc2Vk IC1pICdzfG1vY3xtb2MtcXQ1fGcnIHVpL3F0L21vY193cmFwcGVyLnB5CiAlYnVpbGQKICMgdXRm OCBpc3N1ZSBvbiBlcGVsNywgSW50ZXJuYWwgcGFyc2luZyBlcnJvciAnYXNjaWknIGNvZGVjIGNh bid0CiAjIGRlY29kZSBieXRlIDB4ZTIgaW4gcG9zaXRpb24gNDc0OiBvcmRpbmFsIG5vdCBpbiBy YW5nZSgxMjgpCislaWYgMCV7P3JoZWx9ID09IDcKIGV4cG9ydCBMQU5HPWVuX1VTLlVURi04Cisl ZW5kaWYKIAogIyByZWR1Y2Ugd2FybmluZ3MKICVpZiAle2NsYW5nfQpAQCAtMTExMiw2ICsxMTI4 LDkgQEAgQ0hST01JVU1fQ09SRV9HTl9ERUZJTkVTKz0nIGlzX2NsYW5nPWZhbHNlJwogQ0hST01J VU1fQ09SRV9HTl9ERUZJTkVTKz0nIHVzZV9sbGQ9ZmFsc2UnCiAlZW5kaWYKIAorIyBkaXNhYmxl IHJ1c3QsIGl0J3Mgb25seSB1c2luZyBmb3IgdGVzdGluZworQ0hST01JVU1fQ09SRV9HTl9ERUZJ TkVTKz0nIGVuYWJsZV9ydXN0PWZhbHNlJworCiBDSFJPTUlVTV9DT1JFX0dOX0RFRklORVMrPScg dXNlX3N5c3Jvb3Q9ZmFsc2UgZGlzYWJsZV9maWVsZHRyaWFsX3Rlc3RpbmdfY29uZmlnPXRydWUg cnRjX2VuYWJsZV9zeW1ib2xfZXhwb3J0PXRydWUnCiAKICVpZiAle3VzZV9nb2xkfQpAQCAtMTY0 Nyw2ICsxNjY2LDkgQEAgZ2V0ZW50IGdyb3VwIGNocm9tZS1yZW1vdGUtZGVza3RvcCA+L2Rldi9u dWxsIHx8IGdyb3VwYWRkIC1yIGNocm9tZS1yZW1vdGUtZGVza3QKICV7Y2hyb21pdW1fcGF0aH0v Y2hyb21lZHJpdmVyCiAKICVjaGFuZ2Vsb2cKKyogVHVlIEp1bCAxOCAyMDIzIFRoYW4gTmdvIDx0 aGFuQHJlZGhhdC5jb20+IC0gMTE1LjAuNTc5MC45OC0xCistIHVwZGF0ZSB0byAxMTUuMC41Nzkw Ljk4CisKICogVHVlIEp1biAyNyAyMDIzIFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+IC0gMTE0 LjAuNTczNS4xOTgtMQogLSB1cGRhdGUgdG8gMTE0LjAuNTczNS4xOTgKIAoKZGlmZiAtLWdpdCBh L3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDJkY2QwMWMuLjZhZjMxZmEgMTAwNjQ0Ci0tLSBhL3Nv dXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwzICsxLDMgQEAKIFNIQTUxMiAobm9kZS12MTkuOC4x LWxpbnV4LWFybTY0LnRhci54eikgPSA4NmZmMTkwODU2NjllOTJjZTdhZmUyZmQ3ZDRkZjBjNTQ0 MWRmMmQ4OGMwMGYyOWQ1NDYzYjgwNWYzY2Y1NjI1NjI2ZGI4YWViZjk4MzQ5YzlhNDk1Yjc3MmRh MWNlNmQ2ODI2MzczMDAxODIwN2VhOTg4MTUwNThhMWM4MTM5NwogU0hBNTEyIChub2RlLXYxOS44 LjEtbGludXgteDY0LnRhci54eikgPSA5MjVjMDAzN2M2YjcwNzRkMGIwMjQ1YmNlZDIwZDBhMGQ5 YjEzMDBmNTNiODA4MTA2ZjE2YjUwMThkNzYzZjVmNWIwMGJjMzIxYjMzZmExMDMzZDczNmIxZTEw NzY2MDhkYTliN2ZjYWU2NmFlZDUzZDI3YjEwMGIxMTg2ZTJjNgotU0hBNTEyIChjaHJvbWl1bS0x MTQuMC41NzM1LjE5OC1jbGVhbi50YXIueHopID0gMDBkODA4MDJkMDc0Y2U3ZjBiNmY2YzMwN2Y0 NDU0Zjc2MzZjMmQ4YjZhY2EzM2FiODMwOTg1MmQ5ZThjZWNjNzI0YTcxYmNmZDk5NmJhMzg1ZjZj MmU2MzA2YTAzZDEyNjA1ZDliYjUzZWIxOTllNzk4MmQyNjU2Y2Y0NjIyNzkKK1NIQTUxMiAoY2hy b21pdW0tMTE1LjAuNTc5MC45OC1jbGVhbi50YXIueHopID0gNWMwMDY5ZWYwZjcwZWFhODE0M2Vi ODc2YzgzOGJhMjA3ZmM3YzIzMWNjNGRhZjgzZjcwYTBjNGM1ZDc4NWIwZTQxNTA0NDJlMWNmZDIz MmZkN2Q5NzZhNWM2MGEzY2YyM2NmY2EwN2YyY2RiZmU3MzMwZDk3OWY2MWYxNDI2NTgK