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: uodate to 114.0.5735.45 Date: Fri, 07 Aug 2026 16:05:12 GMT Message-ID: <178611871252.1.3136770232927154505.rpms-chromium-b733bdb78193@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: b733bdb781931f7368f3e15a5568f2d3e692796e QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2hyb21pdW0KQnJh bmNoIDogZXBlbDktbmV4dApDb21taXQgOiBiNzMzYmRiNzgxOTMxZjczNjhmM2UxNWE1NTY4ZjJk M2U2OTI3OTZlCkF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CkRhdGUgICA6IDIw MjMtMDUtMjZUMTg6NTI6MzcrMDI6MDAKU3RhdHMgIDogKzg1OS8tMTQ2NyBpbiAxOCBmaWxlKHMp ClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvY2hyb21pdW0vYy9i NzMzYmRiNzgxOTMxZjczNjhmM2UxNWE1NTY4ZjJkM2U2OTI3OTZlP2JyYW5jaD1lcGVsOS1uZXh0 CgpMb2c6CnVvZGF0ZSB0byAxMTQuMC41NzM1LjQ1CgotLS0KZGlmZiAtLWdpdCBhL2Nocm9taXVt LTEwMy1WaXJ0dWFsQ3Vyc29yLXN0ZC1sYXlvdXQucGF0Y2ggYi9jaHJvbWl1bS0xMDMtVmlydHVh bEN1cnNvci1zdGQtbGF5b3V0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi ZTA1MDJlLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTEwMy1WaXJ0dWFsQ3Vyc29yLXN0ZC1sYXlv dXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMzEgKzAsMCBAQAotRnJvbSAxNDQ0NzlhZDdi NDI4N2JlZTQwNjdmOTVlNDIxOGY2MTQ3OThhODY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotRGF0ZTogU3Vu LCAxNiBKYW4gMjAyMiAxOToxNToyNiArMDAwMAotU3ViamVjdDogW1BBVENIXSBzcWw6IG1ha2Ug VmlydHVhbEN1cnNvciBzdGFuZGFyZCBsYXlvdXQgdHlwZQotCi1zcWw6OnJlY292ZXI6OlZpcnR1 YWxDdXJzb3IgbmVlZHMgdG8gYmUgYSBzdGFuZGFyZCBsYXlvdXQgdHlwZSwgYnV0Ci1oYXMgbWVt YmVycyBvZiB0eXBlIHN0ZDo6dW5pcXVlX3B0ci4gSG93ZXZlciwgc3RkOjp1bmlxdWVfcHRyIGlz IG5vdAotZ3VhcmFudGVlZCB0byBiZSBzdGFuZGFyZCBsYXlvdXQuIENvbXBpbGluZyB3aXRoIGNs YW5nIGNvbWJpbmVkIHdpdGgKLWdjYy0xMSBsaWJzdGRjKysgZmFpbHMgYmVjYXVzZSBvZiB0aGlz LgotCi1CdWc6IDExODk3ODgKLUNoYW5nZS1JZDogSWE2ZGMzODhjYzVlZjFjMGYyYWZjNzVmOGNh NDViOWYxMjY4N2NhOWMKLS0tLQotCi1kaWZmIC0tZ2l0IGEvc3FsL3JlY292ZXJfbW9kdWxlL2J0 cmVlLmNjIGIvc3FsL3JlY292ZXJfbW9kdWxlL2J0cmVlLmNjCi1pbmRleCBjYzk0MjBlNS4uZjEy ZDhmYSAxMDA2NDQKLS0tLSBhL3NxbC9yZWNvdmVyX21vZHVsZS9idHJlZS5jYwotKysrIGIvc3Fs L3JlY292ZXJfbW9kdWxlL2J0cmVlLmNjCi1AQCAtMTM2LDE2ICsxMzYsMjIgQEAKLSAgICAgICAg ICAgICAgICJNb3ZlIHRoZSBkZXN0cnVjdG9yIHRvIHRoZSAuY2MgZmlsZSBpZiBpdCdzIG5vbi10 cml2YWwiKTsKLSAjZW5kaWYgIC8vICFEQ0hFQ0tfSVNfT04oKQotIAotLUxlYWZQYWdlRGVjb2Rl cjo6TGVhZlBhZ2VEZWNvZGVyKERhdGFiYXNlUGFnZVJlYWRlciogZGJfcmVhZGVyKSBub2V4Y2Vw dAotLSAgICA6IHBhZ2VfaWRfKGRiX3JlYWRlci0+cGFnZV9pZCgpKSwKLS0gICAgICBkYl9yZWFk ZXJfKGRiX3JlYWRlciksCi0tICAgICAgY2VsbF9jb3VudF8oQ29tcHV0ZUNlbGxDb3VudChkYl9y ZWFkZXIpKSwKLS0gICAgICBuZXh0X3JlYWRfaW5kZXhfKDApLAotLSAgICAgIGxhc3RfcmVjb3Jk X3NpemVfKDApIHsKLStMZWFmUGFnZURlY29kZXI6OkxlYWZQYWdlRGVjb2RlcigpIG5vZXhjZXB0 ID0gZGVmYXVsdDsKLSsKLSt2b2lkIExlYWZQYWdlRGVjb2Rlcjo6SW5pdGlhbGl6ZShEYXRhYmFz ZVBhZ2VSZWFkZXIqIGRiX3JlYWRlcikgewotKyAgcGFnZV9pZF8gPSBkYl9yZWFkZXItPnBhZ2Vf aWQoKTsKLSsgIGRiX3JlYWRlcl8gPSBkYl9yZWFkZXI7Ci0rICBjZWxsX2NvdW50XyA9IENvbXB1 dGVDZWxsQ291bnQoZGJfcmVhZGVyKTsKLSsgIG5leHRfcmVhZF9pbmRleF8gPSAwOwotKyAgbGFz dF9yZWNvcmRfc2l6ZV8gPSAwOwotICAgRENIRUNLKElzT25WYWxpZFBhZ2UoZGJfcmVhZGVyKSk7 Ci0gICBEQ0hFQ0soRGF0YWJhc2VQYWdlUmVhZGVyOjpJc1ZhbGlkUGFnZUlkKHBhZ2VfaWRfKSk7 Ci0gfQotIAotK3ZvaWQgTGVhZlBhZ2VEZWNvZGVyOjpSZXNldCgpIHsKLSsgIGRiX3JlYWRlcl8g PSBudWxscHRyOwotK30KLSsKLSBib29sIExlYWZQYWdlRGVjb2Rlcjo6VHJ5QWR2YW5jZSgpIHsK LSAgIERDSEVDS19DQUxMRURfT05fVkFMSURfU0VRVUVOQ0Uoc2VxdWVuY2VfY2hlY2tlcl8pOwot ICAgRENIRUNLKENhbkFkdmFuY2UoKSk7Ci1kaWZmIC0tZ2l0IGEvc3FsL3JlY292ZXJfbW9kdWxl L2J0cmVlLmggYi9zcWwvcmVjb3Zlcl9tb2R1bGUvYnRyZWUuaAotaW5kZXggZWFhMDg3YTUuLmRm MGUwYzkgMTAwNjQ0Ci0tLS0gYS9zcWwvcmVjb3Zlcl9tb2R1bGUvYnRyZWUuaAotKysrIGIvc3Fs L3JlY292ZXJfbW9kdWxlL2J0cmVlLmgKLUBAIC0xMDEsOSArMTAxLDcgQEAKLSAgcHVibGljOgot ICAgLy8gQ3JlYXRlcyBhIGRlY29kZXIgZm9yIGEgRGF0YWJhc2VQYWdlUmVhZGVyJ3MgbGFzdCBy ZWFkIHBhZ2UuCi0gICAvLwotLSAgLy8gfGRiX3JlYWRlcnwgbXVzdCBoYXZlIGJlZW4gdXNlZCB0 byByZWFkIGFuIGlubmVyIHBhZ2Ugb2YgYSB0YWJsZSBCLXRyZWUuCi0tICAvLyB8ZGJfcmVhZGVy fCBtdXN0IG91dGxpdmUgdGhpcyBpbnN0YW5jZS4KLS0gIGV4cGxpY2l0IExlYWZQYWdlRGVjb2Rl cihEYXRhYmFzZVBhZ2VSZWFkZXIqIGRiX3JlYWRlcikgbm9leGNlcHQ7Ci0rICBMZWFmUGFnZURl Y29kZXIoKSBub2V4Y2VwdDsKLSAgIH5MZWFmUGFnZURlY29kZXIoKSBub2V4Y2VwdCA9IGRlZmF1 bHQ7Ci0gCi0gICBMZWFmUGFnZURlY29kZXIoY29uc3QgTGVhZlBhZ2VEZWNvZGVyJikgPSBkZWxl dGU7Ci1AQCAtMTUxLDYgKzE0OSwxNyBAQAotICAgLy8gcmVhZCBhcyBsb25nIGFzIENhbkFkdmFu Y2UoKSByZXR1cm5zIHRydWUuCi0gICBib29sIFRyeUFkdmFuY2UoKTsKLSAKLSsgIC8vIEluaXRp YWxpemUgd2l0aCBEYXRhYmFzZVBhZ2VSZWFkZXIKLSsgIC8vIHxkYl9yZWFkZXJ8IG11c3QgaGF2 ZSBiZWVuIHVzZWQgdG8gcmVhZCBhbiBpbm5lciBwYWdlIG9mIGEgdGFibGUgQi10cmVlLgotKyAg Ly8gfGRiX3JlYWRlcnwgbXVzdCBvdXRsaXZlIHRoaXMgaW5zdGFuY2UuCi0rICB2b2lkIEluaXRp YWxpemUoRGF0YWJhc2VQYWdlUmVhZGVyKiBkYl9yZWFkZXIpOwotKwotKyAgLy8gUmVzZXQgaW50 ZXJuYWwgRGF0YWJhc2VQYWdlUmVhZGVyCi0rICB2b2lkIFJlc2V0KCk7Ci0rCi0rICAvLyBUcnVl IGlmIERhdGFiYXNlUGFnZVJlYWRlciBpcyB2YWxpZAotKyAgYm9vbCBJc1ZhbGlkKCkgeyByZXR1 cm4gKGRiX3JlYWRlcl8gIT0gbnVsbHB0cik7IH0KLSsKLSAgIC8vIFRydWUgaWYgdGhlIGdpdmVu IHJlYWRlciBtYXkgcG9pbnQgdG8gYW4gaW5uZXIgcGFnZSBpbiBhIHRhYmxlIEItdHJlZS4KLSAg IC8vCi0gICAvLyBUaGUgbGFzdCBSZWFkUGFnZSgpIGNhbGwgb24gfGRiX3JlYWRlcnwgbXVzdCBo YXZlIHN1Y2NlZWRlZC4KLUBAIC0xNjQsMTQgKzE3MywxNCBAQAotICAgc3RhdGljIGludCBDb21w dXRlQ2VsbENvdW50KERhdGFiYXNlUGFnZVJlYWRlciogZGJfcmVhZGVyKTsKLSAKLSAgIC8vIFRo ZSBudW1iZXIgb2YgdGhlIEItdHJlZSBwYWdlIHRoaXMgcmVhZGVyIGlzIHJlYWRpbmcuCi0tICBj b25zdCBpbnQ2NF90IHBhZ2VfaWRfOwotKyAgaW50NjRfdCBwYWdlX2lkXzsKLSAgIC8vIFVzZWQg dG8gcmVhZCB0aGUgdHJlZSBwYWdlLgotICAgLy8KLSAgIC8vIFJhdyBwb2ludGVyIHVzYWdlIGlz IGFjY2VwdGFibGUgYmVjYXVzZSB0aGlzIGluc3RhbmNlJ3Mgb3duZXIgaXMgZXhwZWN0ZWQKLSAg IC8vIHRvIGVuc3VyZSB0aGF0IHRoZSBEYXRhYmFzZVBhZ2VSZWFkZXIgb3V0bGl2ZXMgdGhpcy4K LS0gIERhdGFiYXNlUGFnZVJlYWRlciogY29uc3QgZGJfcmVhZGVyXzsKLSsgIERhdGFiYXNlUGFn ZVJlYWRlciogZGJfcmVhZGVyXzsKLSAgIC8vIENhY2hlcyB0aGUgQ29tcHV0ZUNlbGxDb3VudCgp IHZhbHVlIGZvciB0aGlzIHJlYWRlcidzIHBhZ2UuCi0tICBjb25zdCBpbnQgY2VsbF9jb3VudF8g PSBDb21wdXRlQ2VsbENvdW50KGRiX3JlYWRlcl8pOwotKyAgaW50IGNlbGxfY291bnRfOwotIAot ICAgLy8gVGhlIHJlYWRlcidzIGN1cnNvciBzdGF0ZS4KLSAgIC8vCi1kaWZmIC0tZ2l0IGEvc3Fs L3JlY292ZXJfbW9kdWxlL2N1cnNvci5jYyBiL3NxbC9yZWNvdmVyX21vZHVsZS9jdXJzb3IuY2MK LWluZGV4IDRmODI3ZWQuLjI0MGRlNDk5IDEwMDY0NAotLS0tIGEvc3FsL3JlY292ZXJfbW9kdWxl L2N1cnNvci5jYwotKysrIGIvc3FsL3JlY292ZXJfbW9kdWxlL2N1cnNvci5jYwotQEAgLTI4LDcg KzI4LDcgQEAKLSBpbnQgVmlydHVhbEN1cnNvcjo6Rmlyc3QoKSB7Ci0gICBEQ0hFQ0tfQ0FMTEVE X09OX1ZBTElEX1NFUVVFTkNFKHNlcXVlbmNlX2NoZWNrZXJfKTsKLSAgIGlubmVyX2RlY29kZXJz Xy5jbGVhcigpOwotLSAgbGVhZl9kZWNvZGVyXyA9IG51bGxwdHI7Ci0rICBsZWFmX2RlY29kZXJf LlJlc2V0KCk7Ci0gCi0gICBBcHBlbmRQYWdlRGVjb2Rlcih0YWJsZV8tPnJvb3RfcGFnZV9pZCgp KTsKLSAgIHJldHVybiBOZXh0KCk7Ci1AQCAtMzgsMTggKzM4LDE4IEBACi0gICBEQ0hFQ0tfQ0FM TEVEX09OX1ZBTElEX1NFUVVFTkNFKHNlcXVlbmNlX2NoZWNrZXJfKTsKLSAgIHJlY29yZF9yZWFk ZXJfLlJlc2V0KCk7Ci0gCi0tICB3aGlsZSAoIWlubmVyX2RlY29kZXJzXy5lbXB0eSgpIHx8IGxl YWZfZGVjb2Rlcl8uZ2V0KCkpIHsKLS0gICAgaWYgKGxlYWZfZGVjb2Rlcl8uZ2V0KCkpIHsKLS0g ICAgICBpZiAoIWxlYWZfZGVjb2Rlcl8tPkNhbkFkdmFuY2UoKSkgewotKyAgd2hpbGUgKCFpbm5l cl9kZWNvZGVyc18uZW1wdHkoKSB8fCBsZWFmX2RlY29kZXJfLklzVmFsaWQoKSkgewotKyAgICBp ZiAobGVhZl9kZWNvZGVyXy5Jc1ZhbGlkKCkpIHsKLSsgICAgICBpZiAoIWxlYWZfZGVjb2Rlcl8u Q2FuQWR2YW5jZSgpKSB7Ci0gICAgICAgICAvLyBUaGUgbGVhZiBoYXMgYmVlbiBleGhhdXN0ZWQu IFJlbW92ZSBpdCBmcm9tIHRoZSBERlMgc3RhY2suCi0tICAgICAgICBsZWFmX2RlY29kZXJfID0g bnVsbHB0cjsKLSsgICAgICAgIGxlYWZfZGVjb2Rlcl8uUmVzZXQoKTsKLSAgICAgICAgIGNvbnRp bnVlOwotICAgICAgIH0KLS0gICAgICBpZiAoIWxlYWZfZGVjb2Rlcl8tPlRyeUFkdmFuY2UoKSkK LSsgICAgICBpZiAoIWxlYWZfZGVjb2Rlcl8uVHJ5QWR2YW5jZSgpKQotICAgICAgICAgY29udGlu dWU7Ci0gCi0tICAgICAgaWYgKCFwYXlsb2FkX3JlYWRlcl8uSW5pdGlhbGl6ZShsZWFmX2RlY29k ZXJfLT5sYXN0X3JlY29yZF9zaXplKCksCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsZWFmX2RlY29kZXJfLT5sYXN0X3JlY29yZF9vZmZzZXQoKSkpIHsKLSsgICAgICBp ZiAoIXBheWxvYWRfcmVhZGVyXy5Jbml0aWFsaXplKGxlYWZfZGVjb2Rlcl8ubGFzdF9yZWNvcmRf c2l6ZSgpLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVhZl9kZWNv ZGVyXy5sYXN0X3JlY29yZF9vZmZzZXQoKSkpIHsKLSAgICAgICAgIGNvbnRpbnVlOwotICAgICAg IH0KLSAgICAgICBpZiAoIXJlY29yZF9yZWFkZXJfLkluaXRpYWxpemUoKSkKLUBAIC0xMDEsMTMg KzEwMSwxMyBAQAotIGludDY0X3QgVmlydHVhbEN1cnNvcjo6Um93SWQoKSB7Ci0gICBEQ0hFQ0tf Q0FMTEVEX09OX1ZBTElEX1NFUVVFTkNFKHNlcXVlbmNlX2NoZWNrZXJfKTsKLSAgIERDSEVDSyhy ZWNvcmRfcmVhZGVyXy5Jc0luaXRpYWxpemVkKCkpOwotLSAgRENIRUNLKGxlYWZfZGVjb2Rlcl8u Z2V0KCkpOwotLSAgcmV0dXJuIGxlYWZfZGVjb2Rlcl8tPmxhc3RfcmVjb3JkX3Jvd2lkKCk7Ci0r ICBEQ0hFQ0sobGVhZl9kZWNvZGVyXy5Jc1ZhbGlkKCkpOwotKyAgcmV0dXJuIGxlYWZfZGVjb2Rl cl8ubGFzdF9yZWNvcmRfcm93aWQoKTsKLSB9Ci0gCi0gdm9pZCBWaXJ0dWFsQ3Vyc29yOjpBcHBl bmRQYWdlRGVjb2RlcihpbnQgcGFnZV9pZCkgewotICAgRENIRUNLX0NBTExFRF9PTl9WQUxJRF9T RVFVRU5DRShzZXF1ZW5jZV9jaGVja2VyXyk7Ci0tICBEQ0hFQ0sobGVhZl9kZWNvZGVyXy5nZXQo KSA9PSBudWxscHRyKQotKyAgRENIRUNLKCFsZWFmX2RlY29kZXJfLklzVmFsaWQoKSkKLSAgICAg ICA8PCBfX2Z1bmNfXwotICAgICAgIDw8ICIgbXVzdCBvbmx5IGJlIGNhbGxlZCB3aGVuIHRoZSBj dXJyZW50IHBhdGggaGFzIG5vIGxlYWYgZGVjb2RlciI7Ci0gCi1AQCAtMTE1LDcgKzExNSw3IEBA Ci0gICAgIHJldHVybjsKLSAKLSAgIGlmIChMZWFmUGFnZURlY29kZXI6OklzT25WYWxpZFBhZ2Uo JmRiX3JlYWRlcl8pKSB7Ci0tICAgIGxlYWZfZGVjb2Rlcl8gPSBzdGQ6Om1ha2VfdW5pcXVlPExl YWZQYWdlRGVjb2Rlcj4oJmRiX3JlYWRlcl8pOwotKyAgICBsZWFmX2RlY29kZXJfLkluaXRpYWxp emUoJmRiX3JlYWRlcl8pOwotICAgICByZXR1cm47Ci0gICB9Ci0gCi1kaWZmIC0tZ2l0IGEvc3Fs L3JlY292ZXJfbW9kdWxlL2N1cnNvci5oIGIvc3FsL3JlY292ZXJfbW9kdWxlL2N1cnNvci5oCi1p bmRleCA4NDViNzg1Li5jYzRlODVmOCAxMDA2NDQKLS0tLSBhL3NxbC9yZWNvdmVyX21vZHVsZS9j dXJzb3IuaAotKysrIGIvc3FsL3JlY292ZXJfbW9kdWxlL2N1cnNvci5oCi1AQCAtMTMwLDcgKzEz MCw3IEBACi0gICBzdGQ6OnZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8SW5uZXJQYWdlRGVjb2Rlcj4+ IGlubmVyX2RlY29kZXJzXzsKLSAKLSAgIC8vIERlY29kZXMgdGhlIGxlYWYgcGFnZSBjb250YWlu aW5nIHJlY29yZHMuCi0tICBzdGQ6OnVuaXF1ZV9wdHI8TGVhZlBhZ2VEZWNvZGVyPiBsZWFmX2Rl Y29kZXJfOwotKyAgTGVhZlBhZ2VEZWNvZGVyIGxlYWZfZGVjb2Rlcl87Ci0gCi0gICBTRVFVRU5D RV9DSEVDS0VSKHNlcXVlbmNlX2NoZWNrZXJfKTsKLSB9OwotZGlmZiAtLWdpdCBhL3NxbC9yZWNv dmVyX21vZHVsZS9wYWdlci5jYyBiL3NxbC9yZWNvdmVyX21vZHVsZS9wYWdlci5jYwotaW5kZXgg NThlNzVkZS4uNjlkOThjZWYgMTAwNjQ0Ci0tLS0gYS9zcWwvcmVjb3Zlcl9tb2R1bGUvcGFnZXIu Y2MKLSsrKyBiL3NxbC9yZWNvdmVyX21vZHVsZS9wYWdlci5jYwotQEAgLTIzLDggKzIzLDcgQEAK LSAgICAgICAgICAgICAgICJpbnRzIGFyZSBub3QgYXBwcm9wcmlhdGUgZm9yIHJlcHJlc2VudGlu ZyBwYWdlIElEcyIpOwotIAotIERhdGFiYXNlUGFnZVJlYWRlcjo6RGF0YWJhc2VQYWdlUmVhZGVy KFZpcnR1YWxUYWJsZSogdGFibGUpCi0tICAgIDogcGFnZV9kYXRhXyhzdGQ6Om1ha2VfdW5pcXVl PHVpbnQ4X3RbXT4odGFibGUtPnBhZ2Vfc2l6ZSgpKSksCi0tICAgICAgdGFibGVfKHRhYmxlKSB7 Ci0rICAgIDogcGFnZV9kYXRhXyh0YWJsZS0+cGFnZV9zaXplKCkpLCB0YWJsZV8odGFibGUpIHsK LSAgIERDSEVDSyh0YWJsZSAhPSBudWxscHRyKTsKLSAgIERDSEVDSyhJc1ZhbGlkUGFnZVNpemUo dGFibGUtPnBhZ2Vfc2l6ZSgpKSk7Ci0gfQotQEAgLTU4LDcgKzU3LDcgQEAKLSAgICAgICAgICAg ICAgICAgIlRoZSB8cmVhZF9vZmZzZXR8IGNvbXB1dGF0aW9uIGFib3ZlIG1heSBvdmVyZmxvdyIp OwotIAotICAgaW50IHNxbGl0ZV9zdGF0dXMgPQotLSAgICAgIFJhd1JlYWQoc3FsaXRlX2ZpbGUs IHJlYWRfc2l6ZSwgcmVhZF9vZmZzZXQsIHBhZ2VfZGF0YV8uZ2V0KCkpOwotKyAgICAgIFJhd1Jl YWQoc3FsaXRlX2ZpbGUsIHJlYWRfc2l6ZSwgcmVhZF9vZmZzZXQsIHBhZ2VfZGF0YV8uZGF0YSgp KTsKLSAKLSAgIC8vIHxwYWdlX2lkX3wgbmVlZHMgdG8gYmUgc2V0IHRvIGtJbnZhbGlkUGFnZUlk IGlmIHRoZSByZWFkIGZhaWxlZC4KLSAgIC8vIE90aGVyd2lzZSwgZnV0dXJlIFJlYWRQYWdlKCkg Y2FsbHMgd2l0aCB0aGUgcHJldmlvdXMgfHBhZ2VfaWRffCB2YWx1ZQotZGlmZiAtLWdpdCBhL3Nx bC9yZWNvdmVyX21vZHVsZS9wYWdlci5oIGIvc3FsL3JlY292ZXJfbW9kdWxlL3BhZ2VyLmgKLWlu ZGV4IDA3Y2FjM2NiLi5kMDhmMDkzIDEwMDY0NAotLS0tIGEvc3FsL3JlY292ZXJfbW9kdWxlL3Bh Z2VyLmgKLSsrKyBiL3NxbC9yZWNvdmVyX21vZHVsZS9wYWdlci5oCi1AQCAtNiw4ICs2LDggQEAK LSAjZGVmaW5lIFNRTF9SRUNPVkVSX01PRFVMRV9QQUdFUl9IXwotIAotICNpbmNsdWRlIDxjc3Rk aW50PgotLSNpbmNsdWRlIDxtZW1vcnk+Ci0gI2luY2x1ZGUgPG9zdHJlYW0+Ci0rI2luY2x1ZGUg PHZlY3Rvcj4KLSAKLSAjaW5jbHVkZSAiYmFzZS9jaGVja19vcC5oIgotICNpbmNsdWRlICJiYXNl L21lbW9yeS9yYXdfcHRyLmgiCi1AQCAtNzIsNyArNzIsNyBAQAotICAgICBEQ0hFQ0tfQ0FMTEVE X09OX1ZBTElEX1NFUVVFTkNFKHNlcXVlbmNlX2NoZWNrZXJfKTsKLSAgICAgRENIRUNLX05FKHBh Z2VfaWRfLCBrSW52YWxpZFBhZ2VJZCkKLSAgICAgICAgIDw8ICJTdWNjZXNzZnVsIFJlYWRQYWdl KCkgcmVxdWlyZWQgYmVmb3JlIGFjY2Vzc2luZyBwYWdlciBzdGF0ZSI7Ci0tICAgIHJldHVybiBw YWdlX2RhdGFfLmdldCgpOwotKyAgICByZXR1cm4gcGFnZV9kYXRhXy5kYXRhKCk7Ci0gICB9Ci0g Ci0gICAvLyBUaGUgbnVtYmVyIG9mIGJ5dGVzIGluIHRoZSBwYWdlIHJlYWQgYnkgdGhlIGxhc3Qg UmVhZFBhZ2UoKSBjYWxsLgotQEAgLTEzOSw3ICsxMzksNyBAQAotICAgaW50IHBhZ2VfaWRfID0g a0ludmFsaWRQYWdlSWQ7Ci0gICAvLyBTdG9yZXMgdGhlIGJ5dGVzIG9mIHRoZSBsYXN0IHBhZ2Ug c3VjY2Vzc2Z1bGx5IHJlYWQgYnkgUmVhZFBhZ2UoKS4KLSAgIC8vIFRoZSBjb250ZW50IGlzIHVu ZGVmaW5lZCBpZiB0aGUgbGFzdCBjYWxsIHRvIFJlYWRQYWdlKCkgZGlkIG5vdCBzdWNjZWVkLgot LSAgY29uc3Qgc3RkOjp1bmlxdWVfcHRyPHVpbnQ4X3RbXT4gcGFnZV9kYXRhXzsKLSsgIHN0ZDo6 dmVjdG9yPHVpbnQ4X3Q+IHBhZ2VfZGF0YV87Ci0gICAvLyBSYXcgcG9pbnRlciB1c2FnZSBpcyBh Y2NlcHRhYmxlIGJlY2F1c2UgdGhpcyBpbnN0YW5jZSdzIG93bmVyIGlzIGV4cGVjdGVkCi0gICAv LyB0byBlbnN1cmUgdGhhdCB0aGUgVmlydHVhbFRhYmxlIG91dGxpdmVzIHRoaXMuCi0gICBjb25z dCByYXdfcHRyPFZpcnR1YWxUYWJsZT4gdGFibGVfOwoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTEx MC1MYXJnZXJUaGFuNGsucGF0Y2ggYi9jaHJvbWl1bS0xMTAtTGFyZ2VyVGhhbjRrLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNzRmNDg3Li4wMDAwMDAwCi0tLSBhL2Nocm9t aXVtLTExMC1MYXJnZXJUaGFuNGsucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NiArMCwwIEBA Ci1Gcm9tIDk2ZWUyYThlMjBiYjdhN2M0ZmIxOWUyN2RjMzFmZjVjNmE0NzI4NDkgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSeWFuIEdvbnphbGV6IDxyeW1nMTlAZ21haWwuY29tPgot RGF0ZTogTW9uLCAwNiBNYXIgMjAyMyAyMDoyMjoyNSAtMDYwMAotU3ViamVjdDogW1BBVENIXSBB ZGRyZXNzVHJhY2tlckxpbnV4OiBJbmNyZWFzZSB0aGUgbWVzc2FnZSBidWZmZXIgc2l6ZQotCi1P biBub24tNGstcGFnZSBzeXN0ZW1zLCB0aGUgbWVzc2FnZSBzaXplcyBtYXkgYmUgdG9vIGxhcmdl IHRvIGZpdCBpbnRvCi10aGUgYnVmZmVyLCByZXN1bHRpbmcgaW4gTVNHX1RSVU5DLiBJbnN0ZWFk IG9mIHVzaW5nIHRoZSBmaXhlZCA0a2Igc2l6ZSwKLWZvbGxvdyB0aGUga2VybmVsIGRvY3VtZW50 YXRpb24gZ3VpZGVsaW5lcyBhcyB0byBob3cgbGFyZ2UgdGhlIGJ1ZmZlcgotc2hvdWxkIGJlLgot Ci1PcmlnaW5hbGx5IGZvdW5kIGJ5IEFzYWhpIExpbmE6Ci0KLWh0dHBzOi8vdnQuc29jaWFsL0Bs aW5hLzEwOTk3Njg5Mjc1ODY4MDgyMgotCi1CdWc6IE5vbmUKLUNoYW5nZS1JZDogSTQ3OTA0MzUx OTAxNjdhNzA2ZmE3NDkwYWI1NzcwNmRiMWY0YTYxMjAKLS0tLQotCi1kaWZmIC0tZ2l0IGEvbmV0 L2Jhc2UvYWRkcmVzc190cmFja2VyX2xpbnV4LmNjIGIvbmV0L2Jhc2UvYWRkcmVzc190cmFja2Vy X2xpbnV4LmNjCi1pbmRleCA0OTc2Y2FlLi5mMWExZmZmIDEwMDY0NAotLS0tIGEvbmV0L2Jhc2Uv YWRkcmVzc190cmFja2VyX2xpbnV4LmNjCi0rKysgYi9uZXQvYmFzZS9hZGRyZXNzX3RyYWNrZXJf bGludXguY2MKLUBAIC0xNCw2ICsxNCw3IEBACi0gI2luY2x1ZGUgImJhc2UvZmlsZXMvc2NvcGVk X2ZpbGUuaCIKLSAjaW5jbHVkZSAiYmFzZS9mdW5jdGlvbmFsL2NhbGxiYWNrX2hlbHBlcnMuaCIK LSAjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCi0rI2luY2x1ZGUgImJhc2UvbWVtb3J5L3BhZ2Vf c2l6ZS5oIgotICNpbmNsdWRlICJiYXNlL3Bvc2l4L2VpbnRyX3dyYXBwZXIuaCIKLSAjaW5jbHVk ZSAiYmFzZS90YXNrL2N1cnJlbnRfdGhyZWFkLmgiCi0gI2luY2x1ZGUgImJhc2UvdGhyZWFkaW5n L3Njb3BlZF9ibG9ja2luZ19jYWxsLmgiCi1AQCAtMzIzLDggKzMyNCwzMCBAQAotICAgKmFkZHJl c3NfY2hhbmdlZCA9IGZhbHNlOwotICAgKmxpbmtfY2hhbmdlZCA9IGZhbHNlOwotICAgKnR1bm5l bF9jaGFuZ2VkID0gZmFsc2U7Ci0tICBjaGFyIGJ1ZmZlcls0MDk2XTsKLSAgIGJvb2wgZmlyc3Rf bG9vcCA9IHRydWU7Ci0rCi0rICAvLyBWYXJ5aW5nIHNvdXJjZXMgaGF2ZSBkaWZmZXJlbnQgb3Bp bmlvbnMgcmVnYXJkaW5nIHRoZSBidWZmZXIgc2l6ZSBuZWVkZWQKLSsgIC8vIGZvciBuZXRsaW5r IG1lc3NhZ2VzIHRvIGF2b2lkIHRydW5jYXRpb246Ci0rICAvLyAtIFRoZSBvZmZpY2lhbCBkb2N1 bWVudGF0aW9uIG9uIG5ldGxpbmsgc2F5cyBtZXNzYWdlcyBhcmUgZ2VuZXJhbGx5IDhrYgotKyAg Ly8gICBvciB0aGUgc3lzdGVtIHBhZ2Ugc2l6ZSwgd2hpY2hldmVyIGlzICpsYXJnZXIqOgotKyAg Ly8gICBodHRwczovL3d3dy5rZXJuZWwub3JnL2RvYy9odG1sL3Y2LjIvdXNlcnNwYWNlLWFwaS9u ZXRsaW5rL2ludHJvLmh0bWwjYnVmZmVyLXNpemluZwotKyAgLy8gLSBUaGUga2VybmVsIGhlYWRl cnMgd291bGQgaW1wbHkgdGhhdCBtZXNzYWdlcyBhcmUgZ2VuZXJhbGx5IHRoZSBzeXN0ZW0KLSsg IC8vICAgcGFnZSBzaXplIG9yIDhrYiwgd2hpY2hldmVyIGlzICpzbWFsbGVyKjoKLSsgIC8vICAg aHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvc3RhYmxlL2xp bnV4LmdpdC90cmVlL2luY2x1ZGUvbGludXgvbmV0bGluay5oP2g9djYuMi4yI24yMjYKLSsgIC8v ICAgKGxpYm1ubCBmb2xsb3dzIHRoaXMuKQotKyAgLy8gLSBUaGUgbmV0bGluayg3KSBtYW4gcGFn ZSdzIGV4YW1wbGUgYWx3YXlzIHVzZXMgYSBmaXhlZCBzaXplIDhrYiBidWZmZXI6Ci0rICAvLyAg IGh0dHBzOi8vbWFuNy5vcmcvbGludXgvbWFuLXBhZ2VzL21hbjcvbmV0bGluay43Lmh0bWwKLSsg IC8vIEhlcmUsIHdlIGZvbGxvdyB0aGUgZ3VpZGVsaW5lcyBpbiB0aGUgZG9jdW1lbnRhdGlvbiwg Zm9yIHR3byBwcmltYXJ5Ci0rICAvLyByZWFzb25zOgotKyAgLy8gLSBFcnJpbmcgb24gdGhlIHNp ZGUgb2YgYSBsYXJnZXIgc2l6ZSBpcyB0aGUgc2FmZXIgd2F5IHRvIGdvIHRvIGF2b2lkCi0rICAv LyAgIE1TR19UUlVOQy4KLSsgIC8vIC0gU2luY2UgdGhpcyBpcyBoZWFwLWFsbG9jYXRlZCBhbnl3 YXksIHRoZXJlJ3Mgbm8gcmlzayB0byB0aGUgc3RhY2sgYnkKLSsgIC8vICAgdXNpbmcgdGhlIGxh cmdlciBzaXplLgotKwotKyAgY29uc3RleHByIHNpemVfdCBrTWluTmV0bGlua0J1ZmZlclNpemUg PSA4ICogMTAyNDsKLSsgIHN0ZDo6dmVjdG9yPGNoYXI+IGJ1ZmZlcigKLSsgICAgICBzdGQ6Om1h eChiYXNlOjpHZXRQYWdlU2l6ZSgpLCBrTWluTmV0bGlua0J1ZmZlclNpemUpKTsKLSsKLSAgIHsK LSAgICAgYWJzbDo6b3B0aW9uYWw8YmFzZTo6U2NvcGVkQmxvY2tpbmdDYWxsPiBibG9ja2luZ19j YWxsOwotICAgICBpZiAodHJhY2tpbmdfKSB7Ci1AQCAtMzM0LDkgKzM1NywxMCBAQAotICAgICB9 Ci0gCi0gICAgIGZvciAoOzspIHsKLS0gICAgICBpbnQgcnYgPSBIQU5ETEVfRUlOVFIocmVjdihu ZXRsaW5rX2ZkXy5nZXQoKSwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvLyBCbG9jayB0aGUgZmlyc3QgdGltZSB0aHJvdWdoIGxvb3Au Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RfbG9vcCA/IDAgOiBNU0df RE9OVFdBSVQpKTsKLSsgICAgICBpbnQgcnYgPQotKyAgICAgICAgICBIQU5ETEVfRUlOVFIocmVj dihuZXRsaW5rX2ZkXy5nZXQoKSwgYnVmZmVyLmRhdGEoKSwgYnVmZmVyLnNpemUoKSwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmxvY2sgdGhlIGZpcnN0IHRpbWUgdGhyb3VnaCBs b29wLgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdF9sb29wID8gMCA6IE1TR19E T05UV0FJVCkpOwotICAgICAgIGZpcnN0X2xvb3AgPSBmYWxzZTsKLSAgICAgICBpZiAocnYgPT0g MCkgewotICAgICAgICAgTE9HKEVSUk9SKSA8PCAiVW5leHBlY3RlZCBzaHV0ZG93biBvZiBORVRM SU5LIHNvY2tldC4iOwotQEAgLTM0OCw3ICszNzIsOCBAQAotICAgICAgICAgUExPRyhFUlJPUikg PDwgIkZhaWxlZCB0byByZWN2IGZyb20gbmV0bGluayBzb2NrZXQiOwotICAgICAgICAgcmV0dXJu OwotICAgICAgIH0KLS0gICAgICBIYW5kbGVNZXNzYWdlKGJ1ZmZlciwgcnYsIGFkZHJlc3NfY2hh bmdlZCwgbGlua19jaGFuZ2VkLCB0dW5uZWxfY2hhbmdlZCk7Ci0rICAgICAgSGFuZGxlTWVzc2Fn ZShidWZmZXIuZGF0YSgpLCBydiwgYWRkcmVzc19jaGFuZ2VkLCBsaW5rX2NoYW5nZWQsCi0rICAg ICAgICAgICAgICAgICAgICB0dW5uZWxfY2hhbmdlZCk7Ci0gICAgIH0KLSAgIH0KLSAgIGlmICgq bGlua19jaGFuZ2VkIHx8ICphZGRyZXNzX2NoYW5nZWQpCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0t MTEzLVdlYlVJRGFya01vZGUucGF0Y2ggYi9jaHJvbWl1bS0xMTMtV2ViVUlEYXJrTW9kZS5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjg0MWJjYy4uMDAwMDAwMAotLS0gYS9j aHJvbWl1bS0xMTMtV2ViVUlEYXJrTW9kZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1NCAr MCwwIEBACi1kaWZmIC0tZ2l0IGEvY2hyb21lL2Jyb3dzZXIvdWkvQlVJTEQuZ24gYi9jaHJvbWUv YnJvd3Nlci91aS9CVUlMRC5nbgotaW5kZXggMzQ3MGRhMS4uZmYzOTg1MWIgMTAwNjQ0Ci0tLS0g YS9jaHJvbWUvYnJvd3Nlci91aS9CVUlMRC5nbgotKysrIGIvY2hyb21lL2Jyb3dzZXIvdWkvQlVJ TEQuZ24KLUBAIC01NjI4LDggKzU2MjgsMTIgQEAKLSAgICAgICAgIHNvdXJjZXMgKz0gWwotICAg ICAgICAgICAidmlld3MvY2hyb21lX2Jyb3dzZXJfbWFpbl9leHRyYV9wYXJ0c192aWV3c19saW51 eC5jYyIsCi0gICAgICAgICAgICJ2aWV3cy9jaHJvbWVfYnJvd3Nlcl9tYWluX2V4dHJhX3BhcnRz X3ZpZXdzX2xpbnV4LmgiLAotKyAgICAgICAgICAidmlld3MvZGFya19tb2RlX21hbmFnZXJfbGlu dXguY2MiLAotKyAgICAgICAgICAidmlld3MvZGFya19tb2RlX21hbmFnZXJfbGludXguaCIsCi0g ICAgICAgICBdCi0gICAgICAgICBkZXBzICs9IFsKLSsgICAgICAgICAgIi8vY29tcG9uZW50cy9k YnVzL3RocmVhZF9saW51eCIsCi0rICAgICAgICAgICIvL2RidXMiLAotICAgICAgICAgICAiLy91 aS9iYXNlL2N1cnNvciIsCi0gICAgICAgICAgICIvL3VpL296b25lIiwKLSAgICAgICAgIF0KLWRp ZmYgLS1naXQgYS9jaHJvbWUvYnJvd3Nlci91aS9ERVBTIGIvY2hyb21lL2Jyb3dzZXIvdWkvREVQ UwotaW5kZXggZmMzZmFiMjMuLmI1NmE3MDRlIDEwMDY0NAotLS0tIGEvY2hyb21lL2Jyb3dzZXIv dWkvREVQUwotKysrIGIvY2hyb21lL2Jyb3dzZXIvdWkvREVQUwotQEAgLTQyLDYgKzQyLDkgQEAK LSAgICJicm93c2VyX25hdmlnYXRvcl9icm93c2VydGVzdFwuY2MiOiBbCi0gICAgICIrYXNoL3No ZWxsLmgiLAotICAgXSwKLSsgICJkYXJrX21vZGVfbWFuYWdlcl9saW51eFwuY2MiOiBbCi0rICAg ICIrZGJ1cyIsCi0rICBdLAotICAgImZ1bGxzY3JlZW5fY29udHJvbGxlcl9pbnRlcmFjdGl2ZV9i cm93c2VydGVzdFwuY2MiOiBbCi0gICAgICIrYXNoL3NoZWxsLmgiLAotICAgXSwKLWRpZmYgLS1n aXQgYS9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9jaHJvbWVfYnJvd3Nlcl9tYWluX2V4dHJhX3Bh cnRzX3ZpZXdzX2xpbnV4LmNjIGIvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvY2hyb21lX2Jyb3dz ZXJfbWFpbl9leHRyYV9wYXJ0c192aWV3c19saW51eC5jYwotaW5kZXggZGJjOWNjNGUuLmQ3ZmFk NWIgMTAwNjQ0Ci0tLS0gYS9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9jaHJvbWVfYnJvd3Nlcl9t YWluX2V4dHJhX3BhcnRzX3ZpZXdzX2xpbnV4LmNjCi0rKysgYi9jaHJvbWUvYnJvd3Nlci91aS92 aWV3cy9jaHJvbWVfYnJvd3Nlcl9tYWluX2V4dHJhX3BhcnRzX3ZpZXdzX2xpbnV4LmNjCi1AQCAt Nyw2ICs3LDcgQEAKLSAjaW5jbHVkZSAiYmFzZS9tZXRyaWNzL2hpc3RvZ3JhbV9tYWNyb3MuaCIK LSAjaW5jbHVkZSAiY2hyb21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2VfYXVyYV9saW51 eC5oIgotICNpbmNsdWRlICJjaHJvbWUvYnJvd3Nlci91aS9icm93c2VyX2xpc3QuaCIKLSsjaW5j bHVkZSAiY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvZGFya19tb2RlX21hbmFnZXJfbGludXguaCIK LSAjaW5jbHVkZSAiY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvdGhlbWVfcHJvZmlsZV9rZXkuaCIK LSAjaW5jbHVkZSAidWkvYmFzZS9idWlsZGZsYWdzLmgiCi0gI2luY2x1ZGUgInVpL2Jhc2UvY3Vy c29yL2N1cnNvcl9mYWN0b3J5LmgiCi1AQCAtNTYsNiArNTcsOCBAQAotICAgICBVTUFfSElTVE9H UkFNX0VOVU1FUkFUSU9OKCJMaW51eC5TeXN0ZW1UaGVtZS5EZWZhdWx0IiwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsaW51eF91aV90aGVtZS0+R2V0TmF0aXZlVGhlbWUoKS0+c3lz dGVtX3RoZW1lKCkpOwotICAgfQotKwotKyAgZGFya19tb2RlX21hbmFnZXJfID0gc3RkOjptYWtl X3VuaXF1ZTx1aTo6RGFya01vZGVNYW5hZ2VyTGludXg+KCk7Ci0gfQotIAotIHZvaWQgQ2hyb21l QnJvd3Nlck1haW5FeHRyYVBhcnRzVmlld3NMaW51eDo6UHJlQ3JlYXRlVGhyZWFkcygpIHsKLWRp ZmYgLS1naXQgYS9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9jaHJvbWVfYnJvd3Nlcl9tYWluX2V4 dHJhX3BhcnRzX3ZpZXdzX2xpbnV4LmggYi9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9jaHJvbWVf YnJvd3Nlcl9tYWluX2V4dHJhX3BhcnRzX3ZpZXdzX2xpbnV4LmgKLWluZGV4IDM5MmQxNGMuLjZk ZWI1MjAgMTAwNjQ0Ci0tLS0gYS9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9jaHJvbWVfYnJvd3Nl cl9tYWluX2V4dHJhX3BhcnRzX3ZpZXdzX2xpbnV4LmgKLSsrKyBiL2Nocm9tZS9icm93c2VyL3Vp L3ZpZXdzL2Nocm9tZV9icm93c2VyX21haW5fZXh0cmFfcGFydHNfdmlld3NfbGludXguaAotQEAg LTEzLDYgKzEzLDcgQEAKLSAKLSBuYW1lc3BhY2UgdWkgewotIGNsYXNzIExpbnV4VWlHZXR0ZXI7 Ci0rY2xhc3MgRGFya01vZGVNYW5hZ2VyTGludXg7Ci0gfQotIAotIC8vIEV4dHJhIHBhcnRzLCB3 aGljaCBhcmUgdXNlZCBieSBib3RoIE96b25lL1gxMS9XYXlsYW5kIGFuZCBpbmhlcml0ZWQgYnkg dGhlCi1AQCAtNDEsNiArNDIsOCBAQAotICAgYWJzbDo6b3B0aW9uYWw8ZGlzcGxheTo6U2NvcGVk RGlzcGxheU9ic2VydmVyPiBkaXNwbGF5X29ic2VydmVyXzsKLSAKLSAgIHN0ZDo6dW5pcXVlX3B0 cjx1aTo6TGludXhVaUdldHRlcj4gbGludXhfdWlfZ2V0dGVyXzsKLSsKLSsgIHN0ZDo6dW5pcXVl X3B0cjx1aTo6RGFya01vZGVNYW5hZ2VyTGludXg+IGRhcmtfbW9kZV9tYW5hZ2VyXzsKLSB9Owot IAotICNlbmRpZiAgLy8gQ0hST01FX0JST1dTRVJfVUlfVklFV1NfQ0hST01FX0JST1dTRVJfTUFJ Tl9FWFRSQV9QQVJUU19WSUVXU19MSU5VWF9IXwotZGlmZiAtLWdpdCBhL2Nocm9tZS9icm93c2Vy L3VpL3ZpZXdzL2RhcmtfbW9kZV9tYW5hZ2VyX2xpbnV4LmNjIGIvY2hyb21lL2Jyb3dzZXIvdWkv dmlld3MvZGFya19tb2RlX21hbmFnZXJfbGludXguY2MKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1p bmRleCAwMDAwMDAwLi5iYjYzOGY3Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9jaHJvbWUvYnJvd3Nl ci91aS92aWV3cy9kYXJrX21vZGVfbWFuYWdlcl9saW51eC5jYwotQEAgLTAsMCArMSwxNjAgQEAK LSsvLyBDb3B5cmlnaHQgMjAyMyBUaGUgQ2hyb21pdW0gQXV0aG9ycwotKy8vIFVzZSBvZiB0aGlz IHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4g YmUKLSsvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotKwotKyNpbmNsdWRlICJjaHJvbWUv YnJvd3Nlci91aS92aWV3cy9kYXJrX21vZGVfbWFuYWdlcl9saW51eC5oIgotKwotKyNpbmNsdWRl ICJiYXNlL2Z1bmN0aW9uYWwvYmluZC5oIgotKyNpbmNsdWRlICJiYXNlL2xvZ2dpbmcuaCIKLSsj aW5jbHVkZSAiY29tcG9uZW50cy9kYnVzL3RocmVhZF9saW51eC9kYnVzX3RocmVhZF9saW51eC5o IgotKyNpbmNsdWRlICJkYnVzL2J1cy5oIgotKyNpbmNsdWRlICJkYnVzL21lc3NhZ2UuaCIKLSsj aW5jbHVkZSAiZGJ1cy9vYmplY3RfcHJveHkuaCIKLSsjaW5jbHVkZSAidWkvbGludXgvbGludXhf dWkuaCIKLSsjaW5jbHVkZSAidWkvbGludXgvbGludXhfdWlfZmFjdG9yeS5oIgotKyNpbmNsdWRl ICJ1aS9uYXRpdmVfdGhlbWUvbmF0aXZlX3RoZW1lLmgiCi0rCi0rbmFtZXNwYWNlIHsKLSsKLStj b25zdGV4cHIgY2hhciBrRnJlZWRlc2t0b3BTZXR0aW5nc1NlcnZpY2VbXSA9ICJvcmcuZnJlZWRl c2t0b3AucG9ydGFsLkRlc2t0b3AiOwotK2NvbnN0ZXhwciBjaGFyIGtGcmVlZGVza3RvcFNldHRp bmdzT2JqZWN0UGF0aFtdID0KLSsgICAgIi9vcmcvZnJlZWRlc2t0b3AvcG9ydGFsL2Rlc2t0b3Ai OwotK2NvbnN0ZXhwciBjaGFyIGtGcmVlZGVza3RvcFNldHRpbmdzSW50ZXJmYWNlW10gPQotKyAg ICAib3JnLmZyZWVkZXNrdG9wLnBvcnRhbC5TZXR0aW5ncyI7Ci0rY29uc3RleHByIGNoYXIga1Nl dHRpbmdDaGFuZ2VkU2lnbmFsW10gPSAiU2V0dGluZ0NoYW5nZWQiOwotK2NvbnN0ZXhwciBjaGFy IGtSZWFkTWV0aG9kW10gPSAiUmVhZCI7Ci0rY29uc3RleHByIGNoYXIga1NldHRpbmdzTmFtZXNw YWNlW10gPSAib3JnLmZyZWVkZXNrdG9wLmFwcGVhcmFuY2UiOwotK2NvbnN0ZXhwciBjaGFyIGtD b2xvclNjaGVtZUtleVtdID0gImNvbG9yLXNjaGVtZSI7Ci0rY29uc3RleHByIGludCBrRnJlZWRl c2t0b3BDb2xvclNjaGVtZURhcmsgPSAxOwotKwotK3Njb3BlZF9yZWZwdHI8ZGJ1czo6QnVzPiBD cmVhdGVCdXMoKSB7Ci0rICBkYnVzOjpCdXM6Ok9wdGlvbnMgb3B0aW9uczsKLSsgIG9wdGlvbnMu YnVzX3R5cGUgPSBkYnVzOjpCdXM6OlNFU1NJT047Ci0rICBvcHRpb25zLmNvbm5lY3Rpb25fdHlw ZSA9IGRidXM6OkJ1czo6UFJJVkFURTsKLSsgIG9wdGlvbnMuZGJ1c190YXNrX3J1bm5lciA9IGRi dXNfdGhyZWFkX2xpbnV4OjpHZXRUYXNrUnVubmVyKCk7Ci0rICByZXR1cm4gYmFzZTo6TWFrZVJl ZkNvdW50ZWQ8ZGJ1czo6QnVzPihvcHRpb25zKTsKLSt9Ci0rCi0rfSAgLy8gbmFtZXNwYWNlCi0r Ci0rbmFtZXNwYWNlIHVpIHsKLSsKLStEYXJrTW9kZU1hbmFnZXJMaW51eDo6RGFya01vZGVNYW5h Z2VyTGludXgoKQotKyAgICA6IGJ1c18oQ3JlYXRlQnVzKCkpLAotKyAgICAgIHNldHRpbmdzX3By b3h5XyhidXNfLT5HZXRPYmplY3RQcm94eSgKLSsgICAgICAgICAga0ZyZWVkZXNrdG9wU2V0dGlu Z3NTZXJ2aWNlLAotKyAgICAgICAgICBkYnVzOjpPYmplY3RQYXRoKGtGcmVlZGVza3RvcFNldHRp bmdzT2JqZWN0UGF0aCkpKSB7Ci0rICAvLyBTdWJzY3JpYmUgdG8gY2hhbmdlcyBpbiB0aGUgY29s b3Igc2NoZW1lIHByZWZlcmVuY2UuCi0rICBzZXR0aW5nc19wcm94eV8tPkNvbm5lY3RUb1NpZ25h bCgKLSsgICAgICBrRnJlZWRlc2t0b3BTZXR0aW5nc0ludGVyZmFjZSwga1NldHRpbmdDaGFuZ2Vk U2lnbmFsLAotKyAgICAgIGJhc2U6OkJpbmRSZXBlYXRpbmcoJkRhcmtNb2RlTWFuYWdlckxpbnV4 OjpPblBvcnRhbFNldHRpbmdDaGFuZ2VkLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgd2Vh a19wdHJfZmFjdG9yeV8uR2V0V2Vha1B0cigpKSwKLSsgICAgICBiYXNlOjpCaW5kT25jZSgmRGFy a01vZGVNYW5hZ2VyTGludXg6Ok9uU2lnbmFsQ29ubmVjdGVkLAotKyAgICAgICAgICAgICAgICAg ICAgIHdlYWtfcHRyX2ZhY3RvcnlfLkdldFdlYWtQdHIoKSkpOwotKwotKyAgLy8gUmVhZCBpbml0 aWFsIGNvbG9yIHNjaGVtZSBwcmVmZXJlbmNlLgotKyAgZGJ1czo6TWV0aG9kQ2FsbCBtZXRob2Rf Y2FsbChrRnJlZWRlc2t0b3BTZXR0aW5nc0ludGVyZmFjZSwga1JlYWRNZXRob2QpOwotKyAgZGJ1 czo6TWVzc2FnZVdyaXRlciB3cml0ZXIoJm1ldGhvZF9jYWxsKTsKLSsgIHdyaXRlci5BcHBlbmRT dHJpbmcoa1NldHRpbmdzTmFtZXNwYWNlKTsKLSsgIHdyaXRlci5BcHBlbmRTdHJpbmcoa0NvbG9y U2NoZW1lS2V5KTsKLSsgIHNldHRpbmdzX3Byb3h5Xy0+Q2FsbE1ldGhvZCgKLSsgICAgICAmbWV0 aG9kX2NhbGwsIGRidXM6Ok9iamVjdFByb3h5OjpUSU1FT1VUX1VTRV9ERUZBVUxULAotKyAgICAg IGJhc2U6OkJpbmRPbmNlKCZEYXJrTW9kZU1hbmFnZXJMaW51eDo6T25SZWFkQ29sb3JTY2hlbWVS ZXNwb25zZSwKLSsgICAgICAgICAgICAgICAgICAgICB3ZWFrX3B0cl9mYWN0b3J5Xy5HZXRXZWFr UHRyKCkpKTsKLSsKLSsgIC8vIFJlYWQgdGhlIHRvb2xraXQgcHJlZmVyZW5jZSB3aGlsZSBhc3lu Y2hyb25vdXNseSBmZXRjaGluZyB0aGUKLSsgIC8vIHBvcnRhbCBwcmVmZXJlbmNlLgotKyAgaWYg KGF1dG8qIGxpbnV4X3VpX3RoZW1lID0gdWk6OkdldERlZmF1bHRMaW51eFVpVGhlbWUoKSkgewot KyAgICBhdXRvKiBuYXRpdmVfdGhlbWUgPSBsaW51eF91aV90aGVtZS0+R2V0TmF0aXZlVGhlbWUo KTsKLSsgICAgbmF0aXZlX3RoZW1lX29ic2VydmVyXy5PYnNlcnZlKG5hdGl2ZV90aGVtZSk7Ci0r ICAgIFNldENvbG9yU2NoZW1lKG5hdGl2ZV90aGVtZS0+U2hvdWxkVXNlRGFya0NvbG9ycygpKTsK LSsgIH0KLSt9Ci0rCi0rRGFya01vZGVNYW5hZ2VyTGludXg6On5EYXJrTW9kZU1hbmFnZXJMaW51 eCgpIHsKLSsgIHNldHRpbmdzX3Byb3h5XyA9IG51bGxwdHI7Ci0rICBkYnVzOjpCdXMqIGNvbnN0 IGJ1c19wdHIgPSBidXNfLmdldCgpOwotKyAgYnVzX3B0ci0+R2V0REJ1c1Rhc2tSdW5uZXIoKS0+ UG9zdFRhc2soCi0rICAgICAgRlJPTV9IRVJFLCBiYXNlOjpCaW5kT25jZSgmZGJ1czo6QnVzOjpT aHV0ZG93bkFuZEJsb2NrLCBzdGQ6Om1vdmUoYnVzXykpKTsKLSt9Ci0rCi0rdm9pZCBEYXJrTW9k ZU1hbmFnZXJMaW51eDo6T25OYXRpdmVUaGVtZVVwZGF0ZWQoCi0rICAgIHVpOjpOYXRpdmVUaGVt ZSogb2JzZXJ2ZWRfdGhlbWUpIHsKLSsgIFNldENvbG9yU2NoZW1lKG9ic2VydmVkX3RoZW1lLT5T aG91bGRVc2VEYXJrQ29sb3JzKCkpOwotK30KLSsKLSt2b2lkIERhcmtNb2RlTWFuYWdlckxpbnV4 OjpPblNpZ25hbENvbm5lY3RlZChjb25zdCBzdGQ6OnN0cmluZyYgaW50ZXJmYWNlX25hbWUsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpz dHJpbmcmIHNpZ25hbF9uYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvb2wgY29ubmVjdGVkKSB7Ci0rICAvLyBOb3RoaW5nIHRvIGRvLiAgQ29udGlu dWUgdXNpbmcgdGhlIHRvb2xraXQgc2V0dGluZyBpZiAhY29ubmVjdGVkLgotK30KLSsKLSt2b2lk IERhcmtNb2RlTWFuYWdlckxpbnV4OjpPblBvcnRhbFNldHRpbmdDaGFuZ2VkKGRidXM6OlNpZ25h bCogc2lnbmFsKSB7Ci0rICBkYnVzOjpNZXNzYWdlUmVhZGVyIHJlYWRlcihzaWduYWwpOwotKwot KyAgc3RkOjpzdHJpbmcgbmFtZXNwYWNlX2NoYW5nZWQ7Ci0rICBzdGQ6OnN0cmluZyBrZXlfY2hh bmdlZDsKLSsgIGRidXM6Ok1lc3NhZ2VSZWFkZXIgdmFyaWFudF9yZWFkZXIobnVsbHB0cik7Ci0r ICBpZiAoIXJlYWRlci5Qb3BTdHJpbmcoJm5hbWVzcGFjZV9jaGFuZ2VkKSB8fAotKyAgICAgICFy ZWFkZXIuUG9wU3RyaW5nKCZrZXlfY2hhbmdlZCkgfHwgIXJlYWRlci5Qb3BWYXJpYW50KCZ2YXJp YW50X3JlYWRlcikpIHsKLSsgICAgTE9HKEVSUk9SKSA8PCAiUmVjZWl2ZWQgbWFsZm9ybWVkIFNl dHRpbmcgQ2hhbmdlZCBzaWduYWwgZnJvbSAiCi0rICAgICAgICAgICAgICAgICAgIm9yZy5mcmVl ZGVza3RvcC5wb3J0YWwuU2V0dGluZ3MiOwotKyAgICByZXR1cm47Ci0rICB9Ci0rCi0rICBpZiAo bmFtZXNwYWNlX2NoYW5nZWQgIT0ga1NldHRpbmdzTmFtZXNwYWNlIHx8Ci0rICAgICAga2V5X2No YW5nZWQgIT0ga0NvbG9yU2NoZW1lS2V5KSB7Ci0rICAgIHJldHVybjsKLSsgIH0KLSsKLSsgIHVp bnQzMl90IG5ld19jb2xvcl9zY2hlbWU7Ci0rICBpZiAoIXZhcmlhbnRfcmVhZGVyLlBvcFVpbnQz MigmbmV3X2NvbG9yX3NjaGVtZSkpIHsKLSsgICAgTE9HKEVSUk9SKQotKyAgICAgICAgPDwgIkZh aWxlZCB0byByZWFkIGNvbG9yLXNjaGVtZSB2YWx1ZSBmcm9tIFNldHRpbmdDaGFuZ2VkIHNpZ25h bCI7Ci0rICAgIHJldHVybjsKLSsgIH0KLSsKLSsgIFNldENvbG9yU2NoZW1lKG5ld19jb2xvcl9z Y2hlbWUgPT0ga0ZyZWVkZXNrdG9wQ29sb3JTY2hlbWVEYXJrKTsKLSt9Ci0rCi0rdm9pZCBEYXJr TW9kZU1hbmFnZXJMaW51eDo6T25SZWFkQ29sb3JTY2hlbWVSZXNwb25zZShkYnVzOjpSZXNwb25z ZSogcmVzcG9uc2UpIHsKLSsgIGlmICghcmVzcG9uc2UpIHsKLSsgICAgLy8gQ29udGludWUgdXNp bmcgdGhlIHRvb2xraXQgc2V0dGluZy4KLSsgICAgcmV0dXJuOwotKyAgfQotKwotKyAgZGJ1czo6 TWVzc2FnZVJlYWRlciByZWFkZXIocmVzcG9uc2UpOwotKyAgZGJ1czo6TWVzc2FnZVJlYWRlciB2 YXJpYW50X3JlYWRlcihudWxscHRyKTsKLSsgIGlmICghcmVhZGVyLlBvcFZhcmlhbnQoJnZhcmlh bnRfcmVhZGVyKSkgewotKyAgICBMT0coRVJST1IpIDw8ICJGYWlsZWQgdG8gcmVhZCB2YXJpYW50 IGZyb20gUmVhZCBtZXRob2QgcmVzcG9uc2UiOwotKyAgICByZXR1cm47Ci0rICB9Ci0rCi0rICB1 aW50MzJfdCBuZXdfY29sb3Jfc2NoZW1lOwotKyAgaWYgKCF2YXJpYW50X3JlYWRlci5Qb3BWYXJp YW50T2ZVaW50MzIoJm5ld19jb2xvcl9zY2hlbWUpKSB7Ci0rICAgIExPRyhFUlJPUikgPDwgIkZh aWxlZCB0byByZWFkIGNvbG9yLXNjaGVtZSB2YWx1ZSBmcm9tIFJlYWQgIgotKyAgICAgICAgICAg ICAgICAgICJtZXRob2QgcmVzcG9uc2UiOwotKyAgICByZXR1cm47Ci0rICB9Ci0rCi0rICAvLyBJ Z25vcmUgZnV0dXJlIHVwZGF0ZXMgZnJvbSB0aGUgdG9vbGtpdCB0aGVtZS4KLSsgIG5hdGl2ZV90 aGVtZV9vYnNlcnZlcl8uUmVzZXQoKTsKLSsKLSsgIFNldENvbG9yU2NoZW1lKG5ld19jb2xvcl9z Y2hlbWUgPT0ga0ZyZWVkZXNrdG9wQ29sb3JTY2hlbWVEYXJrKTsKLSt9Ci0rCi0rdm9pZCBEYXJr TW9kZU1hbmFnZXJMaW51eDo6U2V0Q29sb3JTY2hlbWUoYm9vbCBwcmVmZXJfZGFya190aGVtZSkg ewotKyAgaWYgKHByZWZlcl9kYXJrX3RoZW1lXyA9PSBwcmVmZXJfZGFya190aGVtZSkgewotKyAg ICByZXR1cm47Ci0rICB9Ci0rICBwcmVmZXJfZGFya190aGVtZV8gPSBwcmVmZXJfZGFya190aGVt ZTsKLSsKLSsgIE5hdGl2ZVRoZW1lKiB3ZWJfdGhlbWUgPSBOYXRpdmVUaGVtZTo6R2V0SW5zdGFu Y2VGb3JXZWIoKTsKLSsgIHdlYl90aGVtZS0+c2V0X3VzZV9kYXJrX2NvbG9ycyhwcmVmZXJfZGFy a190aGVtZV8pOwotKyAgd2ViX3RoZW1lLT5zZXRfcHJlZmVycmVkX2NvbG9yX3NjaGVtZSgKLSsg ICAgICBwcmVmZXJfZGFya190aGVtZV8gPyBOYXRpdmVUaGVtZTo6UHJlZmVycmVkQ29sb3JTY2hl bWU6OmtEYXJrCi0rICAgICAgICAgICAgICAgICAgICAgICAgIDogTmF0aXZlVGhlbWU6OlByZWZl cnJlZENvbG9yU2NoZW1lOjprTGlnaHQpOwotKyAgd2ViX3RoZW1lLT5Ob3RpZnlPbk5hdGl2ZVRo ZW1lVXBkYXRlZCgpOwotK30KLSsKLSt9ICAvLyBuYW1lc3BhY2UgdWkKLWRpZmYgLS1naXQgYS9j aHJvbWUvYnJvd3Nlci91aS92aWV3cy9kYXJrX21vZGVfbWFuYWdlcl9saW51eC5oIGIvY2hyb21l L2Jyb3dzZXIvdWkvdmlld3MvZGFya19tb2RlX21hbmFnZXJfbGludXguaAotbmV3IGZpbGUgbW9k ZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjM0YjA3ZmYKLS0tLSAvZGV2L251bGwKLSsrKyBiL2No cm9tZS9icm93c2VyL3VpL3ZpZXdzL2RhcmtfbW9kZV9tYW5hZ2VyX2xpbnV4LmgKLUBAIC0wLDAg KzEsNjIgQEAKLSsvLyBDb3B5cmlnaHQgMjAyMyBUaGUgQ2hyb21pdW0gQXV0aG9ycwotKy8vIFVz ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2Ug dGhhdCBjYW4gYmUKLSsvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotKwotKyNpZm5kZWYg Q0hST01FX0JST1dTRVJfVUlfVklFV1NfREFSS19NT0RFX01BTkFHRVJfTElOVVhfSF8KLSsjZGVm aW5lIENIUk9NRV9CUk9XU0VSX1VJX1ZJRVdTX0RBUktfTU9ERV9NQU5BR0VSX0xJTlVYX0hfCi0r Ci0rI2luY2x1ZGUgPHN0cmluZz4KLSsKLSsjaW5jbHVkZSAiYmFzZS9tZW1vcnkvc2NvcGVkX3Jl ZnB0ci5oIgotKyNpbmNsdWRlICJiYXNlL21lbW9yeS93ZWFrX3B0ci5oIgotKyNpbmNsdWRlICJi YXNlL3Njb3BlZF9vYnNlcnZhdGlvbi5oIgotKyNpbmNsdWRlICJ1aS9uYXRpdmVfdGhlbWUvbmF0 aXZlX3RoZW1lX29ic2VydmVyLmgiCi0rCi0rbmFtZXNwYWNlIGRidXMgewotK2NsYXNzIEJ1czsK LStjbGFzcyBPYmplY3RQcm94eTsKLStjbGFzcyBSZXNwb25zZTsKLStjbGFzcyBTaWduYWw7Ci0r fSAgLy8gbmFtZXNwYWNlIGRidXMKLSsKLStuYW1lc3BhY2UgdWkgewotKwotKy8vIE9ic2VydmVz IHRoZSBzeXN0ZW0gY29sb3Igc2NoZW1lIHByZWZlcmVuY2UgdXNpbmcKLSsvLyBvcmcuZnJlZWRl c2t0b3AucG9ydGFsLlNldHRpbmdzLiBGYWxscyBiYWNrIHRvIHRoZSB0b29sa2l0IHByZWZlcmVu Y2UgaWYKLSsvLyBvcmcuZnJlZWRlc2t0b3AucG9ydGFsLlNldHRpbmdzIGlzIHVuYXZhaWxhYmxl LiAgUHJvcGFnYXRlcyB0aGUgZGFyayBtb2RlCi0rLy8gcHJlZmVyZW5jZSB0byB0aGUgd2ViIHRo ZW1lLgotK2NsYXNzIERhcmtNb2RlTWFuYWdlckxpbnV4IDogcHVibGljIE5hdGl2ZVRoZW1lT2Jz ZXJ2ZXIgewotKyBwdWJsaWM6Ci0rICBEYXJrTW9kZU1hbmFnZXJMaW51eCgpOwotKyAgRGFya01v ZGVNYW5hZ2VyTGludXgoY29uc3QgRGFya01vZGVNYW5hZ2VyTGludXgmKSA9IGRlbGV0ZTsKLSsg IERhcmtNb2RlTWFuYWdlckxpbnV4JiBvcGVyYXRvcj0oY29uc3QgRGFya01vZGVNYW5hZ2VyTGlu dXgmKSA9IGRlbGV0ZTsKLSsgIH5EYXJrTW9kZU1hbmFnZXJMaW51eCgpIG92ZXJyaWRlOwotKwot KyBwcml2YXRlOgotKyAgLy8gdWk6Ok5hdGl2ZVRoZW1lT2JzZXJ2ZXI6Ci0rICB2b2lkIE9uTmF0 aXZlVGhlbWVVcGRhdGVkKHVpOjpOYXRpdmVUaGVtZSogb2JzZXJ2ZWRfdGhlbWUpIG92ZXJyaWRl OwotKwotKyAgLy8gRC1CdXMgYXN5bmMgaGFuZGxlcnMKLSsgIHZvaWQgT25TaWduYWxDb25uZWN0 ZWQoY29uc3Qgc3RkOjpzdHJpbmcmIGludGVyZmFjZV9uYW1lLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgc2lnbmFsX25hbWUsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgIGJvb2wgY29ubmVjdGVkKTsKLSsgIHZvaWQgT25Qb3J0YWxTZXR0aW5nQ2hhbmdl ZChkYnVzOjpTaWduYWwqIHNpZ25hbCk7Ci0rICB2b2lkIE9uUmVhZENvbG9yU2NoZW1lUmVzcG9u c2UoZGJ1czo6UmVzcG9uc2UqIHJlc3BvbnNlKTsKLSsKLSsgIC8vIFNldHMgYHByZWZlcl9kYXJr X3RoZW1lX2AgYW5kIHByb3BhZ2F0ZXMgdG8gdGhlIHdlYiB0aGVtZS4KLSsgIHZvaWQgU2V0Q29s b3JTY2hlbWUoYm9vbCBwcmVmZXJfZGFya190aGVtZSk7Ci0rCi0rICBzY29wZWRfcmVmcHRyPGRi dXM6OkJ1cz4gYnVzXzsKLSsgIHJhd19wdHI8ZGJ1czo6T2JqZWN0UHJveHk+IHNldHRpbmdzX3By b3h5XzsKLSsKLSsgIGJvb2wgcHJlZmVyX2RhcmtfdGhlbWVfID0gZmFsc2U7Ci0rCi0rICBiYXNl OjpTY29wZWRPYnNlcnZhdGlvbjxOYXRpdmVUaGVtZSwgTmF0aXZlVGhlbWVPYnNlcnZlcj4KLSsg ICAgICBuYXRpdmVfdGhlbWVfb2JzZXJ2ZXJfe3RoaXN9OwotKwotKyAgYmFzZTo6V2Vha1B0ckZh Y3Rvcnk8RGFya01vZGVNYW5hZ2VyTGludXg+IHdlYWtfcHRyX2ZhY3Rvcnlfe3RoaXN9OwotK307 Ci0rCi0rfSAgLy8gbmFtZXNwYWNlIHVpCi0rCi0rI2VuZGlmICAvLyBDSFJPTUVfQlJPV1NFUl9V SV9WSUVXU19EQVJLX01PREVfTUFOQUdFUl9MSU5VWF9IXwotZGlmZiAtLWdpdCBhL2Nocm9tZS9j b21tb24vY2hyb21lX2ZlYXR1cmVzLmNjIGIvY2hyb21lL2NvbW1vbi9jaHJvbWVfZmVhdHVyZXMu Y2MKLWluZGV4IDkxYjFlOTguLjdhZGRkYmQgMTAwNjQ0Ci0tLS0gYS9jaHJvbWUvY29tbW9uL2No cm9tZV9mZWF0dXJlcy5jYwotKysrIGIvY2hyb21lL2NvbW1vbi9jaHJvbWVfZmVhdHVyZXMuY2MK LUBAIC0xNDQ4LDE3ICsxNDQ4LDE3IEBACi0gQkFTRV9GRUFUVVJFKGtXZWJTaGFyZSwgIldlYlNo YXJlIiwgYmFzZTo6RkVBVFVSRV9ESVNBQkxFRF9CWV9ERUZBVUxUKTsKLSAjZW5kaWYKLSAKLS0v LyBXaGV0aGVyIHRvIGVuYWJsZSAiZGFyayBtb2RlIiBlbmhhbmNlbWVudHMgaW4gTWFjIE1vamF2 ZSBvciBXaW5kb3dzIDEwIGZvcgotLS8vIFVJcyBpbXBsZW1lbnRlZCB3aXRoIHdlYiB0ZWNobm9s b2dpZXMuCi0rLy8gV2hldGhlciB0byBlbmFibGUgImRhcmsgbW9kZSIgZW5oYW5jZW1lbnRzIGlu IE1hYyBNb2phdmUsIFdpbmRvd3MgMTAsIG9yCi0rLy8gTGludXggZm9yIFVJcyBpbXBsZW1lbnRl ZCB3aXRoIHdlYiB0ZWNobm9sb2dpZXMuCi0gQkFTRV9GRUFUVVJFKGtXZWJVSURhcmtNb2RlLAot ICAgICAgICAgICAgICAiV2ViVUlEYXJrTW9kZSIsCi0gI2lmIEJVSUxERkxBRyhJU19NQUMpIHx8 IEJVSUxERkxBRyhJU19XSU4pIHx8IEJVSUxERkxBRyhJU19BTkRST0lEKSB8fCBcCi0tICAgIEJV SUxERkxBRyhJU19DSFJPTUVPUykKLSsgICAgQlVJTERGTEFHKElTX0NIUk9NRU9TKSB8fCBCVUlM REZMQUcoSVNfTElOVVgpCi0gICAgICAgICAgICAgIGJhc2U6OkZFQVRVUkVfRU5BQkxFRF9CWV9E RUZBVUxUCi0gI2Vsc2UKLSAgICAgICAgICAgICAgYmFzZTo6RkVBVFVSRV9ESVNBQkxFRF9CWV9E RUZBVUxUCi0gI2VuZGlmICAvLyBCVUlMREZMQUcoSVNfTUFDKSB8fCBCVUlMREZMQUcoSVNfV0lO KSB8fCBCVUlMREZMQUcoSVNfQU5EUk9JRCkgfHwKLS0gICAgICAgIC8vIEJVSUxERkxBRyhJU19D SFJPTUVPUykKLSsgICAgICAgIC8vIEJVSUxERkxBRyhJU19DSFJPTUVPUykgfHwgQlVJTERGTEFH KElTX0xJTlVYKQotICk7Ci0gCi0gI2lmIEJVSUxERkxBRyhJU19DSFJPTUVPU19BU0gpCi1kaWZm IC0tZ2l0IGEvdWkvcXQvcXRfdWkuY2MgYi91aS9xdC9xdF91aS5jYwotaW5kZXggYjE4OGFkMC4u NmMwZDJjZCAxMDA2NDQKLS0tLSBhL3VpL3F0L3F0X3VpLmNjCi0rKysgYi91aS9xdC9xdF91aS5j YwotQEAgLTk4LDYgKzk4LDEzIEBACi0gICBRdE5hdGl2ZVRoZW1lJiBvcGVyYXRvcj0oY29uc3Qg UXROYXRpdmVUaGVtZSYpID0gZGVsZXRlOwotICAgflF0TmF0aXZlVGhlbWUoKSBvdmVycmlkZSA9 IGRlZmF1bHQ7Ci0gCi0rICB2b2lkIFRoZW1lQ2hhbmdlZChib29sIHByZWZlcl9kYXJrX3RoZW1l KSB7Ci0rICAgIHNldF91c2VfZGFya19jb2xvcnMoSXNGb3JjZWREYXJrTW9kZSgpIHx8IHByZWZl cl9kYXJrX3RoZW1lKTsKLSsgICAgc2V0X3ByZWZlcnJlZF9jb2xvcl9zY2hlbWUoQ2FsY3VsYXRl UHJlZmVycmVkQ29sb3JTY2hlbWUoKSk7Ci0rCi0rICAgIE5vdGlmeU9uTmF0aXZlVGhlbWVVcGRh dGVkKCk7Ci0rICB9Ci0rCi0gICAvLyB1aTo6TmF0aXZlVGhlbWU6Ci0gICBESVNBQkxFX0NGSV9W Q0FMTAotICAgdm9pZCBQYWludEZyYW1lVG9wQXJlYShjYzo6UGFpbnRDYW52YXMqIGNhbnZhcywK LUBAIC0zODcsNyArMzk0LDcgQEAKLSB9Ci0gCi0gdm9pZCBRdFVpOjpUaGVtZUNoYW5nZWQoKSB7 Ci0tICBuYXRpdmVfdGhlbWVfLT5Ob3RpZnlPbk5hdGl2ZVRoZW1lVXBkYXRlZCgpOwotKyAgbmF0 aXZlX3RoZW1lXy0+VGhlbWVDaGFuZ2VkKFByZWZlckRhcmtUaGVtZSgpKTsKLSB9Ci0gCi0gRElT QUJMRV9DRklfVkNBTEwKLWRpZmYgLS1naXQgYS9jaHJvbWUvYnJvd3Nlci91aS9CVUlMRC5nbiBi L2Nocm9tZS9icm93c2VyL3VpL0JVSUxELmduCi1pbmRleCBkZWNmYjAyYjY4MTdlLi4xMDhlMmFm OTA3ZTI1IDEwMDY0NAotLS0tIGEvY2hyb21lL2Jyb3dzZXIvdWkvQlVJTEQuZ24KLSsrKyBiL2No cm9tZS9icm93c2VyL3VpL0JVSUxELmduCi1AQCAtNTYzMiwyMCArNTYzMiwyNCBAQCBzdGF0aWNf bGlicmFyeSgidWkiKSB7Ci0gICAgICAgXQotICAgICB9Ci0gCi0tICAgIGlmICh1c2VfYXVyYSkg ewotKyAgICBpZiAodXNlX2F1cmEgJiYgKGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zX2xhY3Jvcykp IHsKLSAgICAgICAjIFRoZXNlIGZpbGVzIGNhbiBkbyBHdGsrLWJhc2VkIHRoZW1pbmcgZm9yIGJ1 aWxkcyB3aXRoIGd0ayBlbmFibGVkLgotLSAgICAgIGlmIChpc19saW51eCB8fCBpc19jaHJvbWVv c19sYWNyb3MpIHsKLSsgICAgICBzb3VyY2VzICs9IFsKLSsgICAgICAgICJ2aWV3cy9jaHJvbWVf YnJvd3Nlcl9tYWluX2V4dHJhX3BhcnRzX3ZpZXdzX2xpbnV4LmNjIiwKLSsgICAgICAgICJ2aWV3 cy9jaHJvbWVfYnJvd3Nlcl9tYWluX2V4dHJhX3BhcnRzX3ZpZXdzX2xpbnV4LmgiLAotKyAgICAg IF0KLSsgICAgICBkZXBzICs9IFsKLSsgICAgICAgICIvL3VpL2Jhc2UvY3Vyc29yIiwKLSsgICAg ICAgICIvL3VpL296b25lIiwKLSsgICAgICBdCi0rICAgICAgaWYgKHVzZV9kYnVzKSB7Ci0gICAg ICAgICBzb3VyY2VzICs9IFsKLS0gICAgICAgICAgInZpZXdzL2Nocm9tZV9icm93c2VyX21haW5f ZXh0cmFfcGFydHNfdmlld3NfbGludXguY2MiLAotLSAgICAgICAgICAidmlld3MvY2hyb21lX2Jy b3dzZXJfbWFpbl9leHRyYV9wYXJ0c192aWV3c19saW51eC5oIiwKLSAgICAgICAgICAgInZpZXdz L2RhcmtfbW9kZV9tYW5hZ2VyX2xpbnV4LmNjIiwKLSAgICAgICAgICAgInZpZXdzL2RhcmtfbW9k ZV9tYW5hZ2VyX2xpbnV4LmgiLAotICAgICAgICAgXQotICAgICAgICAgZGVwcyArPSBbCi0gICAg ICAgICAgICIvL2NvbXBvbmVudHMvZGJ1cy90aHJlYWRfbGludXgiLAotICAgICAgICAgICAiLy9k YnVzIiwKLS0gICAgICAgICAgIi8vdWkvYmFzZS9jdXJzb3IiLAotLSAgICAgICAgICAiLy91aS9v em9uZSIsCi0gICAgICAgICBdCi0gICAgICAgfQotICAgICB9Ci1kaWZmIC0tZ2l0IGEvY2hyb21l L2Jyb3dzZXIvdWkvdmlld3MvY2hyb21lX2Jyb3dzZXJfbWFpbl9leHRyYV9wYXJ0c192aWV3c19s aW51eC5jYyBiL2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL2Nocm9tZV9icm93c2VyX21haW5fZXh0 cmFfcGFydHNfdmlld3NfbGludXguY2MKLWluZGV4IGQ3ZmFkNWI1YjkwMDcuLjIzZDA2MTFmZGIy YjUgMTAwNjQ0Ci0tLS0gYS9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9jaHJvbWVfYnJvd3Nlcl9t YWluX2V4dHJhX3BhcnRzX3ZpZXdzX2xpbnV4LmNjCi0rKysgYi9jaHJvbWUvYnJvd3Nlci91aS92 aWV3cy9jaHJvbWVfYnJvd3Nlcl9tYWluX2V4dHJhX3BhcnRzX3ZpZXdzX2xpbnV4LmNjCi1AQCAt Nyw3ICs3LDYgQEAKLSAjaW5jbHVkZSAiYmFzZS9tZXRyaWNzL2hpc3RvZ3JhbV9tYWNyb3MuaCIK LSAjaW5jbHVkZSAiY2hyb21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2VfYXVyYV9saW51 eC5oIgotICNpbmNsdWRlICJjaHJvbWUvYnJvd3Nlci91aS9icm93c2VyX2xpc3QuaCIKLS0jaW5j bHVkZSAiY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvZGFya19tb2RlX21hbmFnZXJfbGludXguaCIK LSAjaW5jbHVkZSAiY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvdGhlbWVfcHJvZmlsZV9rZXkuaCIK LSAjaW5jbHVkZSAidWkvYmFzZS9idWlsZGZsYWdzLmgiCi0gI2luY2x1ZGUgInVpL2Jhc2UvY3Vy c29yL2N1cnNvcl9mYWN0b3J5LmgiCi1AQCAtMTksNiArMTgsMTAgQEAKLSAjaW5jbHVkZSAidWkv bmF0aXZlX3RoZW1lL25hdGl2ZV90aGVtZS5oIgotICNpbmNsdWRlICJ1aS9vem9uZS9wdWJsaWMv b3pvbmVfcGxhdGZvcm0uaCIKLSAKLSsjaWYgZGVmaW5lZChVU0VfREJVUykKLSsjaW5jbHVkZSAi Y2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvZGFya19tb2RlX21hbmFnZXJfbGludXguaCIKLSsjZW5k aWYKLSsKLSBuYW1lc3BhY2UgewotIAotIGNsYXNzIExpbnV4VWlHZXR0ZXJJbXBsIDogcHVibGlj IHVpOjpMaW51eFVpR2V0dGVyIHsKLUBAIC01Nyw4ICs2MCw5IEBAIHZvaWQgQ2hyb21lQnJvd3Nl ck1haW5FeHRyYVBhcnRzVmlld3NMaW51eDo6VG9vbGtpdEluaXRpYWxpemVkKCkgewotICAgICBV TUFfSElTVE9HUkFNX0VOVU1FUkFUSU9OKCJMaW51eC5TeXN0ZW1UaGVtZS5EZWZhdWx0IiwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW51eF91aV90aGVtZS0+R2V0TmF0aXZlVGhl bWUoKS0+c3lzdGVtX3RoZW1lKCkpOwotICAgfQotLQotKyNpZiBkZWZpbmVkKFVTRV9EQlVTKQot ICAgZGFya19tb2RlX21hbmFnZXJfID0gc3RkOjptYWtlX3VuaXF1ZTx1aTo6RGFya01vZGVNYW5h Z2VyTGludXg+KCk7Ci0rI2VuZGlmCi0gfQotIAotIHZvaWQgQ2hyb21lQnJvd3Nlck1haW5FeHRy YVBhcnRzVmlld3NMaW51eDo6UHJlQ3JlYXRlVGhyZWFkcygpIHsKLWRpZmYgLS1naXQgYS9jaHJv bWUvYnJvd3Nlci91aS92aWV3cy9jaHJvbWVfYnJvd3Nlcl9tYWluX2V4dHJhX3BhcnRzX3ZpZXdz X2xpbnV4LmggYi9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9jaHJvbWVfYnJvd3Nlcl9tYWluX2V4 dHJhX3BhcnRzX3ZpZXdzX2xpbnV4LmgKLWluZGV4IDZkZWI1MjA1ZDE5OGEuLmJjOTE2N2JkYTFm YzMgMTAwNjQ0Ci0tLS0gYS9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9jaHJvbWVfYnJvd3Nlcl9t YWluX2V4dHJhX3BhcnRzX3ZpZXdzX2xpbnV4LmgKLSsrKyBiL2Nocm9tZS9icm93c2VyL3VpL3Zp ZXdzL2Nocm9tZV9icm93c2VyX21haW5fZXh0cmFfcGFydHNfdmlld3NfbGludXguaAotQEAgLTEz LDcgKzEzLDkgQEAKLSAKLSBuYW1lc3BhY2UgdWkgewotIGNsYXNzIExpbnV4VWlHZXR0ZXI7Ci0r I2lmIGRlZmluZWQoVVNFX0RCVVMpCi0gY2xhc3MgRGFya01vZGVNYW5hZ2VyTGludXg7Ci0rI2Vu ZGlmCi0gfQotIAotIC8vIEV4dHJhIHBhcnRzLCB3aGljaCBhcmUgdXNlZCBieSBib3RoIE96b25l L1gxMS9XYXlsYW5kIGFuZCBpbmhlcml0ZWQgYnkgdGhlCi1AQCAtNDIsOCArNDQsOSBAQCBjbGFz cyBDaHJvbWVCcm93c2VyTWFpbkV4dHJhUGFydHNWaWV3c0xpbnV4Ci0gICBhYnNsOjpvcHRpb25h bDxkaXNwbGF5OjpTY29wZWREaXNwbGF5T2JzZXJ2ZXI+IGRpc3BsYXlfb2JzZXJ2ZXJfOwotIAot ICAgc3RkOjp1bmlxdWVfcHRyPHVpOjpMaW51eFVpR2V0dGVyPiBsaW51eF91aV9nZXR0ZXJfOwot LQotKyNpZiBkZWZpbmVkKFVTRV9EQlVTKQotICAgc3RkOjp1bmlxdWVfcHRyPHVpOjpEYXJrTW9k ZU1hbmFnZXJMaW51eD4gZGFya19tb2RlX21hbmFnZXJfOwotKyNlbmRpZgotIH07Ci0gCi0gI2Vu ZGlmICAvLyBDSFJPTUVfQlJPV1NFUl9VSV9WSUVXU19DSFJPTUVfQlJPV1NFUl9NQUlOX0VYVFJB X1BBUlRTX1ZJRVdTX0xJTlVYX0hfCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTEzLWNvbnN0ZXhw ci1lbDcucGF0Y2ggYi9jaHJvbWl1bS0xMTMtY29uc3RleHByLWVsNy5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggOTI2YmEyNC4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTMt Y29uc3RleHByLWVsNy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLWRpZmYg LXVwIGNocm9taXVtLTExNC4wLjU3MzUuMjYvY29tcG9uZW50cy92ZXJzaW9uX2luZm8vdmVyc2lv bl9pbmZvLmNjLmNvbnN0ZXhwci1lbDcgY2hyb21pdW0tMTE0LjAuNTczNS4yNi9jb21wb25lbnRz L3ZlcnNpb25faW5mby92ZXJzaW9uX2luZm8uY2MKLWRpZmYgLXVwIGNocm9taXVtLTExNC4wLjU3 MzUuMjYvY29tcG9uZW50cy92ZXJzaW9uX2luZm8vdmVyc2lvbl9pbmZvLmguY29uc3RleHByLWVs NyBjaHJvbWl1bS0xMTQuMC41NzM1LjI2L2NvbXBvbmVudHMvdmVyc2lvbl9pbmZvL3ZlcnNpb25f aW5mby5oCi0tLS0gY2hyb21pdW0tMTE0LjAuNTczNS4yNi9jb21wb25lbnRzL3ZlcnNpb25faW5m by92ZXJzaW9uX2luZm8uaC5jb25zdGV4cHItZWw3CTIwMjMtMDUtMTEgMDM6MzY6MTkuMDAwMDAw MDAwICswMjAwCi0rKysgY2hyb21pdW0tMTE0LjAuNTczNS4yNi9jb21wb25lbnRzL3ZlcnNpb25f aW5mby92ZXJzaW9uX2luZm8uaAkyMDIzLTA1LTE0IDEwOjU5OjE5LjkyMTU3ODY0NSArMDIwMAot QEAgLTI3LDE4ICsyNywxOCBAQCBjb25zdCBzdGQ6OnN0cmluZyBHZXRQcm9kdWN0TmFtZUFuZFZl cnNpCi0gICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBidWlsZF92ZXJzaW9uKTsKLSAKLSAvLyBSZXR1 cm5zIHRoZSBwcm9kdWN0IG5hbWUsIGUuZy4gIkNocm9taXVtIiBvciAiR29vZ2xlIENocm9tZSIu Ci0tY29uc3RleHByIHN0ZDo6c3RyaW5nIEdldFByb2R1Y3ROYW1lKCkgewotK3N0YXRpYyBjb25z dCBzdGQ6OnN0cmluZyBHZXRQcm9kdWN0TmFtZSgpIHsKLSAgIHJldHVybiBQUk9EVUNUX05BTUU7 Ci0gfQotIAotIC8vIFJldHVybnMgdGhlIHZlcnNpb24gbnVtYmVyLCBlLmcuICI2LjAuNDkwLjEi LgotLWNvbnN0ZXhwciBzdGQ6OnN0cmluZyBHZXRWZXJzaW9uTnVtYmVyKCkgewotK3N0YXRpYyBj b25zdCBzdGQ6OnN0cmluZyBHZXRWZXJzaW9uTnVtYmVyKCkgewotICAgcmV0dXJuIFBST0RVQ1Rf VkVSU0lPTjsKLSB9Ci0gCi0gLy8gUmV0dXJucyB0aGUgcHJvZHVjdCBuYW1lIGFuZCB2ZXJzaW9u IGluZm9ybWF0aW9uIGZvciB0aGUgVXNlci1BZ2VudCBoZWFkZXIsCi0gLy8gaW4gdGhlIGZvcm1h dDogQ2hyb21lLzxtYWpvcl92ZXJzaW9uPi48bWlub3JfdmVyc2lvbj4uPGJ1aWxkPi48cGF0Y2g+ LgotLWNvbnN0ZXhwciBzdGQ6OnN0cmluZyBHZXRQcm9kdWN0TmFtZUFuZFZlcnNpb25Gb3JVc2Vy QWdlbnQoKSB7Ci0rc3RhdGljIGNvbnN0IHN0ZDo6c3RyaW5nIEdldFByb2R1Y3ROYW1lQW5kVmVy c2lvbkZvclVzZXJBZ2VudCgpIHsKLSAgIHJldHVybiAiQ2hyb21lLyIgKyBHZXRWZXJzaW9uTnVt YmVyKCk7Ci0gfQotIAotQEAgLTUzLDcgKzUzLDcgQEAgc3RkOjpzdHJpbmcgR2V0TWFqb3JWZXJz aW9uTnVtYmVyKCk7Ci0gY29uc3QgYmFzZTo6VmVyc2lvbiYgR2V0VmVyc2lvbigpOwotIAotIC8v IFJldHVybnMgYSB2ZXJzaW9uIGNvbnRyb2wgc3BlY2lmaWMgaWRlbnRpZmllciBvZiB0aGlzIHJl bGVhc2UuCi0tY29uc3RleHByIHN0ZDo6c3RyaW5nIEdldExhc3RDaGFuZ2UoKSB7Ci0rc3RhdGlj IGNvbnN0IHN0ZDo6c3RyaW5nIEdldExhc3RDaGFuZ2UoKSB7Ci0gICByZXR1cm4gTEFTVF9DSEFO R0U7Ci0gfQotIAotQEAgLTY1LDcgKzY1LDcgQEAgY29uc3RleHByIGJvb2wgSXNPZmZpY2lhbEJ1 aWxkKCkgewotIH0KLSAKLSAvLyBSZXR1cm5zIHRoZSBPUyB0eXBlLCBlLmcuICJXaW5kb3dzIiwg IkxpbnV4IiwgIkZyZWVCU0QiLCAuLi4KLS1jb25zdGV4cHIgc3RkOjpzdHJpbmcgR2V0T1NUeXBl KCkgewotK3N0YXRpYyBjb25zdCBzdGQ6OnN0cmluZyBHZXRPU1R5cGUoKSB7Ci0gI2lmIEJVSUxE RkxBRyhJU19XSU4pCi0gICByZXR1cm4gIldpbmRvd3MiOwotICNlbGlmIEJVSUxERkxBRyhJU19J T1MpCi1AQCAtOTcsNyArOTcsNyBAQCBjb25zdGV4cHIgc3RkOjpzdHJpbmcgR2V0T1NUeXBlKCkg ewotIAotIC8vIFJldHVybnMgYSBzdHJpbmcgZXF1aXZhbGVudCBvZiB8Y2hhbm5lbHwsIGluZGVw ZW5kZW50IG9mIHdoZXRoZXIgdGhlIGJ1aWxkCi0gLy8gaXMgYnJhbmRlZCBvciBub3QgYW5kIHdp dGhvdXQgYW55IGFkZGl0aW9uYWwgbW9kaWZpZXJzLgotLWNvbnN0ZXhwciBzdGQ6OnN0cmluZyBH ZXRDaGFubmVsU3RyaW5nKENoYW5uZWwgY2hhbm5lbCkgewotK3N0YXRpYyBjb25zdCBzdGQ6OnN0 cmluZyBHZXRDaGFubmVsU3RyaW5nKENoYW5uZWwgY2hhbm5lbCkgewotICAgc3dpdGNoIChjaGFu bmVsKSB7Ci0gICAgIGNhc2UgQ2hhbm5lbDo6U1RBQkxFOgotICAgICAgIHJldHVybiAic3RhYmxl IjsKLUBAIC0xMTQsNyArMTE0LDcgQEAgY29uc3RleHByIHN0ZDo6c3RyaW5nIEdldENoYW5uZWxT dHJpbmcoQwotIH0KLSAKLSAvLyBSZXR1cm5zIGEgbGlzdCBvZiBzYW5pdGl6ZXJzIGVuYWJsZWQg aW4gdGhpcyBidWlsZC4KLS1jb25zdGV4cHIgc3RkOjpzdHJpbmcgR2V0U2FuaXRpemVyTGlzdCgp IHsKLStzdGF0aWMgY29uc3Qgc3RkOjpzdHJpbmcgR2V0U2FuaXRpemVyTGlzdCgpIHsKLSAgIHJl dHVybiAiIgotICNpZiBkZWZpbmVkKEFERFJFU1NfU0FOSVRJWkVSKQotICAgICAgICAgICJhZGRy ZXNzICIKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTMtZ2NjMTMucGF0Y2ggYi9jaHJvbWl1bS0x MTMtZ2NjMTMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlMTBkZmUuLjAw MDAwMDAKLS0tIGEvY2hyb21pdW0tMTEzLWdjYzEzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs NDIyICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVja19v cC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVja19vcC5oCi0tLS0gY2hyb21p dW0tMTA5LjAuNTQxNC43NC9iYXNlL2NoZWNrX29wLmgubWUJMjAyMy0wMS0xNyAxNzozOToyNy42 MjA4NzU4ODMgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tfb3Au aAkyMDIzLTAxLTE3IDE3OjM5OjQyLjU0NjA2MDk1NyArMDEwMAotQEAgLTUsNiArNSw3IEBACi0g I2lmbmRlZiBCQVNFX0NIRUNLX09QX0hfCi0gI2RlZmluZSBCQVNFX0NIRUNLX09QX0hfCi0gCi0r I2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGNzdGRkZWY+Ci0gI2luY2x1ZGUgPHN0cmlu Zz4KLSAjaW5jbHVkZSA8dHlwZV90cmFpdHM+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2Uv ZGVidWcvcHJvZmlsZXIuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9kZWJ1Zy9w cm9maWxlci5oLm1lCTIwMjMtMDEtMTcgMTY6Mjk6MjYuMzY4MDkwMDczICswMTAwCi0rKysgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgJMjAyMy0wMS0xNyAxNjo1 OTo0MS4xOTA2Mjg2NzkgKzAxMDAKLUBAIC03LDYgKzcsNyBAQAotIAotICNpbmNsdWRlIDxzdGRk ZWYuaD4KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotICNp bmNsdWRlICJiYXNlL2Jhc2VfZXhwb3J0LmgiCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L2NvbXBvbmVudHMvdml6L2NvbW1vbi92aWV3X3RyYW5zaXRpb25fZWxlbWVudF9yZXNvdXJj ZV9pZC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy92aXovY29tbW9uL3Zp ZXdfdHJhbnNpdGlvbl9lbGVtZW50X3Jlc291cmNlX2lkLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2NvbXBvbmVudHMvdml6L2NvbW1vbi92aWV3X3RyYW5zaXRpb25fZWxlbWVudF9yZXNv dXJjZV9pZC5oLm1lCTIwMjMtMDEtMTcgMTk6MDM6MTAuOTIwMDE0ODA2ICswMTAwCi0rKysgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Zpei9jb21tb24vdmlld190cmFuc2l0aW9u X2VsZW1lbnRfcmVzb3VyY2VfaWQuaAkyMDIzLTAxLTE3IDE5OjAzOjQ4LjczNjM5NTI3NCArMDEw MAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRTX1ZJWl9DT01NT05fVklFV19U UkFOU0lUSU9OX0VMRU1FTlRfUkVTT1VSQ0VfSURfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfVkla X0NPTU1PTl9WSUVXX1RSQU5TSVRJT05fRUxFTUVOVF9SRVNPVVJDRV9JRF9IXwotIAotKyNpbmNs dWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLSAK LWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9p bmZvLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dwdV9mZWF0dXJlX2lu Zm8uaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9p bmZvLmgubWUJMjAyMy0wMS0xNyAxOTowNjo1My41MzA2NzUxMjkgKzAxMDAKLSsrKyBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oCTIwMjMtMDEtMTcg MTk6MDc6MDguODc0ODQ5ODc5ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIEdQVV9D T05GSUdfR1BVX0ZFQVRVUkVfSU5GT19IXwotICNkZWZpbmUgR1BVX0NPTkZJR19HUFVfRkVBVFVS RV9JTkZPX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAj aW5jbHVkZSA8dmVjdG9yPgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQv YmFzZS9uZXRfZXhwb3J0LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQvYmFzZS9uZXRf ZXhwb3J0LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9iYXNlL25ldF9leHBvcnQu aC5tZQkyMDIzLTAxLTE3IDE4OjE2OjM0LjEzMzg1NDYxNSArMDEwMAotKysrIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oCTIwMjMtMDEtMTcgMTg6MTY6MTUuOTQ1 NjIzMTUzICswMTAwCi1AQCAtNSw2ICs1LDggQEAKLSAjaWZuZGVmIE5FVF9CQVNFX05FVF9FWFBP UlRfSF8KLSAjZGVmaW5lIE5FVF9CQVNFX05FVF9FWFBPUlRfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0 ZGludD4KLSsKLSAvLyBEZWZpbmVzIE5FVF9FWFBPUlQgc28gdGhhdCBmdW5jdGlvbmFsaXR5IGlt cGxlbWVudGVkIGJ5IHRoZSBuZXQgbW9kdWxlIGNhbgotIC8vIGJlIGV4cG9ydGVkIHRvIGNvbnN1 bWVycywgYW5kIE5FVF9FWFBPUlRfUFJJVkFURSB0aGF0IGFsbG93cyB1bml0IHRlc3RzIHRvCi0g Ly8gYWNjZXNzIGZlYXR1cmVzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGJ5IHJl YWwgY29uc3VtZXJzLgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5kYm94L2xp bnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaC5tZSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVy bWlzc2lvbi5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5kYm94L2xpbnV4L3N5c2Nh bGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaC5tZQkyMDIzLTAxLTE3IDE3OjEyOjM0 LjE4NDY4NjUxNSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51 eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgJMjAyMy0wMS0xNyAxNzox MzoxNi41MzcxNjI0MjAgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgU0FOREJPWF9M SU5VWF9TWVNDQUxMX0JST0tFUl9CUk9LRVJfRklMRV9QRVJNSVNTSU9OX0hfCi0gI2RlZmluZSBT QU5EQk9YX0xJTlVYX1NZU0NBTExfQlJPS0VSX0JST0tFUl9GSUxFX1BFUk1JU1NJT05fSF8KLSAK LSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8Yml0c2V0PgotICNpbmNsdWRlIDxzdHJp bmc+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2Vp bC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5oCi0tLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5n cy9zdHJpbmdfdmlldy5oLm1lCTIwMjMtMDEtMTcgMTc6MzM6MjAuODk1NzE3MzA3ICswMTAwCi0r KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3Ry aW5ncy9zdHJpbmdfdmlldy5oCTIwMjMtMDEtMTcgMTc6MzQ6MDMuNDU2MTg1MzY1ICswMTAwCi1A QCAtMjcsNiArMjcsNyBAQAotICNpZm5kZWYgQUJTTF9TVFJJTkdTX1NUUklOR19WSUVXX0hfCi0g I2RlZmluZSBBQlNMX1NUUklOR1NfU1RSSU5HX1ZJRVdfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGlu dD4KLSAjaW5jbHVkZSA8YWxnb3JpdGhtPgotICNpbmNsdWRlIDxjYXNzZXJ0PgotICNpbmNsdWRl IDxjc3RkZGVmPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9h bmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1NoYWRlclZhcnMuaAotLS0tIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1No YWRlclZhcnMuaC5tZQkyMDIzLTAxLTE3IDE3OjM2OjE1LjAxNzYxNjI1MCArMDEwMAotKysrIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1No YWRlclZhcnMuaAkyMDIzLTAxLTE3IDE3OjM2OjQ4Ljk2MDk4MjE5NSArMDEwMAotQEAgLTEwLDYg KzEwLDcgQEAKLSAjaWZuZGVmIEdMU0xBTkdfU0hBREVSVkFSU19IXwotICNkZWZpbmUgR0xTTEFO R19TSEFERVJWQVJTX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGFsZ29y aXRobT4KLSAjaW5jbHVkZSA8YXJyYXk+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLWRpZmYgLXVwIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVl dG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9vdGhf ZGV2aWNlX2lkLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2JsaW5r L3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9vdGhfZGV2aWNlX2lkLmgubWUJMjAy My0wMS0xNyAxOToxNzo0MC40ODA4NzYxNzEgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9v dGhfZGV2aWNlX2lkLmgJMjAyMy0wMS0xNyAxOToxNzo0Ni44MDM5NTgzMjAgKzAxMDAKLUBAIC01 LDYgKzUsNyBAQAotICNpZm5kZWYgVEhJUkRfUEFSVFlfQkxJTktfUFVCTElDX0NPTU1PTl9CTFVF VE9PVEhfV0VCX0JMVUVUT09USF9ERVZJQ0VfSURfSF8KLSAjZGVmaW5lIFRISVJEX1BBUlRZX0JM SU5LX1BVQkxJQ19DT01NT05fQkxVRVRPT1RIX1dFQl9CTFVFVE9PVEhfREVWSUNFX0lEX0hfCi0g Ci0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGFycmF5PgotICNpbmNsdWRlIDxzdHJp bmc+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Rhd24v c3JjL2Rhd24vbmF0aXZlL3N0cmVhbS9CeXRlVmVjdG9yU2luay5oLm1lIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9zcmMvZGF3bi9uYXRpdmUvc3RyZWFtL0J5dGVWZWN0 b3JTaW5rLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Rhd24vc3Jj L2Rhd24vbmF0aXZlL3N0cmVhbS9CeXRlVmVjdG9yU2luay5oLm1lCTIwMjMtMDEtMTcgMTg6MDA6 MzcuMTIzMjE4OTU0ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS9kYXduL3NyYy9kYXduL25hdGl2ZS9zdHJlYW0vQnl0ZVZlY3RvclNpbmsuaAkyMDIzLTAxLTE3 IDE4OjAwOjUwLjYxMDMwMDEzOCArMDEwMAotQEAgLTE1LDYgKzE1LDcgQEAKLSAjaWZuZGVmIFNS Q19EQVdOX05BVElWRV9TVFJFQU1fQllURVZFQ1RPUlNJTktfSF8KLSAjZGVmaW5lIFNSQ19EQVdO X05BVElWRV9TVFJFQU1fQllURVZFQ1RPUlNJTktfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4K LSAjaW5jbHVkZSA8b3N0cmVhbT4KLSAjaW5jbHVkZSA8dmVjdG9yPgotIAotZGlmZiAtdXAgY2hy b21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L3JlYWRlci9zcGly di9uYW1lci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9zcmMv dGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvZGF3bi9zcmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaC5tZQkyMDIzLTAxLTE3 IDE4OjAyOjQ0LjY4MTUzODEwNyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvZGF3bi9zcmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaAkyMDIzLTAxLTE3IDE4 OjAyOjU3LjIwODY3OTE0MCArMDEwMAotQEAgLTE1LDYgKzE1LDcgQEAKLSAjaWZuZGVmIFNSQ19U SU5UX1JFQURFUl9TUElSVl9OQU1FUl9IXwotICNkZWZpbmUgU1JDX1RJTlRfUkVBREVSX1NQSVJW X05BTUVSX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAj aW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KLSAjaW5jbHVkZSA8dmVjdG9yPgotZGlmZiAtdXAgY2hy b21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3Zlcnkv ZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19z ZF90eHRfcmVjb3JkLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29w ZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaC5t ZQkyMDIzLTAxLTE4IDE1OjIyOjM4LjQ3Mjk0MDY0OCArMDEwMAotKysrIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1Ymxp Yy9kbnNfc2RfdHh0X3JlY29yZC5oCTIwMjMtMDEtMTggMTU6MjM6MDkuMzgwMjU1MTAxICswMTAw Ci1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIERJU0NPVkVSWV9ETlNTRF9QVUJMSUNfRE5TX1NE X1RYVF9SRUNPUkRfSF8KLSAjZGVmaW5lIERJU0NPVkVSWV9ETlNTRF9QVUJMSUNfRE5TX1NEX1RY VF9SRUNPUkRfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8ZnVuY3Rpb25h bD4KLSAjaW5jbHVkZSA8bWFwPgotICNpbmNsdWRlIDxzZXQ+Ci1kaWZmIC11cCBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUu aHBwLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3Jj L1N5c3RlbS9MUlVDYWNoZS5ocHAKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3Bh cnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwLm1lCTIwMjMtMDEtMTcgMTU6 Mzc6NDguNTMwNjI2NTE2ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcAkyMDIzLTAxLTE3IDE2OjU3 OjQ2LjAyNTU0ODA5MiArMDEwMAotQEAgLTE3LDYgKzE3LDcgQEAKLSAKLSAjaW5jbHVkZSAiU3lz dGVtL0RlYnVnLmhwcCIKLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8Y3N0ZGRl Zj4KLSAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KLSAjaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4KLWRp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdnVsa2FuX21lbW9yeV9h bGxvY2F0b3IvaW5jbHVkZS92a19tZW1fYWxsb2MuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9j LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlf YWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgubWUJMjAyMy0wMS0xNyAxNTo0MDoyMy44 NTQzODYyMDYgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1 bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgJMjAyMy0wMS0xNyAx Njo1ODoxOS4zOTc4NjI4ODUgKzAxMDAKLUBAIC0yMzg4LDYgKzIzODgsNyBAQCBWTUFfQ0FMTF9Q UkUgdm9pZCBWTUFfQ0FMTF9QT1NUIHZtYUZyZWVWCi0gI2lmZGVmIFZNQV9JTVBMRU1FTlRBVElP Tg0KLSAjdW5kZWYgVk1BX0lNUExFTUVOVEFUSU9ODQotIA0KLSsjaW5jbHVkZSA8Y3N0ZGlvPg0K LSAjaW5jbHVkZSA8Y3N0ZGludD4NCi0gI2luY2x1ZGUgPGNzdGRsaWI+DQotICNpbmNsdWRlIDxj c3RyaW5nPg0KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5 L2xpbmVhcl9ncmFkaWVudC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21l dHJ5L2xpbmVhcl9ncmFkaWVudC5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngv Z2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgubWUJMjAyMy0wMS0xNyAxODowODoyNS43NDU0OTEz NTMgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9saW5l YXJfZ3JhZGllbnQuaAkyMDIzLTAxLTE3IDE4OjA4OjM1Ljc3NzY2NzYzMiArMDEwMAotQEAgLTUs NiArNSw3IEBACi0gI2lmbmRlZiBVSV9HRlhfTElORUFSX0dSQURJRU5UX0hfCi0gI2RlZmluZSBV SV9HRlhfTElORUFSX0dSQURJRU5UX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1 ZGUgPGFycmF5PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BlcmZldHRvL2luY2x1ZGUvcGVyZmV0dG8vZXh0L2Jhc2Uv dXVpZC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcGVyZmV0dG8vaW5j bHVkZS9wZXJmZXR0by9leHQvYmFzZS91dWlkLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L3BlcmZldHRvL2luY2x1ZGUvcGVyZmV0dG8vZXh0L2Jhc2UvdXVpZC5oLm1l CTIwMjMtMDEtMTggMTY6MDA6NTguNTYzODc1ODgxICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9wZXJmZXR0by9pbmNsdWRlL3BlcmZldHRvL2V4dC9iYXNlL3V1 aWQuaAkyMDIzLTAxLTE4IDE2OjAyOjAxLjc3MzUxNzQ1MiArMDEwMAotQEAgLTE3LDYgKzE3LDcg QEAKLSAjaWZuZGVmIElOQ0xVREVfUEVSRkVUVE9fRVhUX0JBU0VfVVVJRF9IXwotICNkZWZpbmUg SU5DTFVERV9QRVJGRVRUT19FWFRfQkFTRV9VVUlEX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+ Ci0gI2luY2x1ZGUgPGFycmF5PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi1kaWZmIC11cCBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3Ry dW1lbnRhdGlvbi5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcnV5L3Ny Yy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1l CTIwMjMtMDEtMTkgMTA6MTA6MjEuMjg3ODc2NzM2ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24u aAkyMDIzLTAxLTE5IDEwOjExOjIxLjcxNDc3ODg5NiArMDEwMAotQEAgLTE3LDYgKzE3LDcgQEAg bGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gI2RlZmluZSBSVVlfUlVZX1BST0ZJTEVS X0lOU1RSVU1FTlRBVElPTl9IXwotIAotICNpZmRlZiBSVVlfUFJPRklMRVIKLSsjaW5jbHVkZSA8 c3RyaW5nPgotICNpbmNsdWRlIDxjc3RkaW8+Ci0gI2luY2x1ZGUgPG11dGV4PgotICNpbmNsdWRl IDx2ZWN0b3I+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Rm bGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaC5t ZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxv dy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaAotLS0tIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9p bnRlcm5hbC9zcGVjdHJvZ3JhbS5oLm1lCTIwMjMtMDEtMTkgMTA6MzA6MjcuNTMzODYxOTg1ICsw MTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3Rl bnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgJMjAyMy0wMS0xOSAx MDozMToxMi41ODU1NTQxODMgKzAxMDAKLUBAIC0zMSw2ICszMSw3IEBAIGxpbWl0YXRpb25zIHVu ZGVyIHRoZSBMaWNlbnNlLgotICNpZm5kZWYgVEVOU09SRkxPV19MSVRFX0tFUk5FTFNfSU5URVJO QUxfU1BFQ1RST0dSQU1fSF8KLSAjZGVmaW5lIFRFTlNPUkZMT1dfTElURV9LRVJORUxTX0lOVEVS TkFMX1NQRUNUUk9HUkFNX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGNv bXBsZXg+Ci0gI2luY2x1ZGUgPGRlcXVlPgotICNpbmNsdWRlIDx2ZWN0b3I+Ci1kaWZmIC11cCBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5oLm1lZSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5oCi0tLS0gY2hyb21p dW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaC5tZWUJMjAyMy0wMS0x OSAxMDo1OTo1Mi4yMTQ5NTc3NzMgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jh c2UvY29udGFpbmVycy9mbGF0X21hcC5oCTIwMjMtMDEtMTkgMTE6MDA6MDYuNDE1MjE1MzA5ICsw MTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIEJBU0VfQ09OVEFJTkVSU19GTEFUX01BUF9I XwotICNkZWZpbmUgQkFTRV9DT05UQUlORVJTX0ZMQVRfTUFQX0hfCi0gCi0rI2luY2x1ZGUgPGNz dGRpbnQ+Ci0gI2luY2x1ZGUgPGZ1bmN0aW9uYWw+Ci0gI2luY2x1ZGUgPHR1cGxlPgotICNpbmNs dWRlIDx1dGlsaXR5PgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRz L2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oLm1lZSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50 LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAv Y3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgubWVlCTIwMjMtMDEtMTkgMTA6MzY6NDAuNTcxNDIyODI2 ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUv YXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oCTIwMjMtMDEtMTkgMTA6MzY6NDkuMzQzNTY1Mjk0 ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfQ1JBU0hfQ09SRV9B UFBfQ1JBU0hfUkVQT1JURVJfQ0xJRU5UX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX0NSQVNIX0NP UkVfQVBQX0NSQVNIX1JFUE9SVEVSX0NMSUVOVF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50Pgot ICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgot ZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9kZXZpY2UvYmx1ZXRvb3RoL3B1YmxpYy9j cHAvYmx1ZXRvb3RoX3V1aWQuaC5tZWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9kZXZpY2UvYmx1 ZXRvb3RoL3B1YmxpYy9jcHAvYmx1ZXRvb3RoX3V1aWQuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvZGV2aWNlL2JsdWV0b290aC9wdWJsaWMvY3BwL2JsdWV0b290aF91dWlkLmgubWVlCTIw MjMtMDEtMTkgMTA6NDY6NTQuODI2NTEzNzA3ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9kZXZpY2UvYmx1ZXRvb3RoL3B1YmxpYy9jcHAvYmx1ZXRvb3RoX3V1aWQuaAkyMDIzLTAx LTE5IDEwOjQ3OjExLjI1NTcxMTQ3MiArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBE RVZJQ0VfQkxVRVRPT1RIX1BVQkxJQ19DUFBfQkxVRVRPT1RIX1VVSURfSF8KLSAjZGVmaW5lIERF VklDRV9CTFVFVE9PVEhfUFVCTElDX0NQUF9CTFVFVE9PVEhfVVVJRF9IXwotIAotKyNpbmNsdWRl IDxjc3RkaW50PgotICNpbmNsdWRlIDxvc3RyZWFtPgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2lu Y2x1ZGUgPHZlY3Rvcj4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9w cmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaC5tZWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9i YXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43 NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oLm1lZQkyMDIzLTAxLTE5IDExOjQ1 OjE1Ljk1MzE1OTc1NSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9w cmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaAkyMDIzLTAxLTE5IDExOjQ1OjIyLjMyMDI0NjI0MSAr MDEwMAotQEAgLTUsNiArNSw4IEBACi0gI2lmbmRlZiBVSV9CQVNFX1BSRURJQ1RJT05fS0FMTUFO X0ZJTFRFUl9IXwotICNkZWZpbmUgVUlfQkFTRV9QUkVESUNUSU9OX0tBTE1BTl9GSUxURVJfSF8K LSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSsKLSAjaW5jbHVkZSAiYmFzZS9jb21wb25lbnRfZXhw b3J0LmgiCi0gI2luY2x1ZGUgInVpL2dmeC9nZW9tZXRyeS9tYXRyaXgzX2YuaCIKLSAKLWRpZmYg LXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2Nv cmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oLm1lIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5l cmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9j b21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dv cmRfZ2VuZXJhdG9yLmgubWUJMjAyMy0wMS0xOSAxNToyMDowNy42MjA5ODc5NDkgKzAxMDAKLSsr KyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3Jl L2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaAkyMDIzLTAxLTE5IDE1OjIw OjE4LjMyNDE3MzcwMiArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRT X1BBU1NXT1JEX01BTkFHRVJfQ09SRV9CUk9XU0VSX0dFTkVSQVRJT05fUEFTU1dPUkRfR0VORVJB VE9SX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX1BBU1NXT1JEX01BTkFHRVJfQ09SRV9CUk9XU0VS X0dFTkVSQVRJT05fUEFTU1dPUkRfR0VORVJBVE9SX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+ Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92 YWxpZGF0b3IuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9l bmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgKLS0tLSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2 ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUJMjAyMy0wMS0xOSAxNjowMDoxNC4zNTAxODY1MTUg KzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdh Z2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgJMjAyMy0wMS0xOSAxNjow MDoyMS42NDMzMDc5OTMgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5U U19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8K LSAjZGVmaW5lIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX0VWRU5UX1NU T1JBR0VfVkFMSURBVE9SX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0 cmluZz4KLSAKLSBuYW1lc3BhY2UgZmVhdHVyZV9lbmdhZ2VtZW50IHsKLWRpZmYgLXVwIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwv bmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3Jh Z2VfdmFsaWRhdG9yLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVh dHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgu bWUJMjAyMy0wMS0xOSAxNTo1OToxOC4yMTAyMzk0MTYgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2 ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgJMjAyMy0wMS0xOSAxNTo1OTozNC41MTM1MTUwMzAgKzAx MDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1F TlRfSU5URVJOQUxfTkVWRVJfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KLSAjZGVmaW5lIENP TVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX05FVkVSX0VWRU5UX1NUT1JBR0Vf VkFMSURBVE9SX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4K LSAKLSAjaW5jbHVkZSAiY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZl bnRfc3RvcmFnZV92YWxpZGF0b3IuaCIKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vaW5jbHVk ZS9sbHZtL1N1cHBvcnQvU2lnbmFscy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vaW5jbHVkZS9sbHZt L1N1cHBvcnQvU2lnbmFscy5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9pbmNsdWRlL2xsdm0vU3Vw cG9ydC9TaWduYWxzLmgubWUJMjAyMy0wMS0xOSAxNjowNjoxNy41NDgyNzI4NzggKzAxMDAKLSsr KyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3Bh cnR5L2xsdm0tMTAuMC9sbHZtL2luY2x1ZGUvbGx2bS9TdXBwb3J0L1NpZ25hbHMuaAkyMDIzLTAx LTE5IDE2OjA2OjI1LjY4NTQxMDU5MiArMDEwMAotQEAgLTE0LDYgKzE0LDcgQEAKLSAjaWZuZGVm IExMVk1fU1VQUE9SVF9TSUdOQUxTX0gKLSAjZGVmaW5lIExMVk1fU1VQUE9SVF9TSUdOQUxTX0gK LSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotIG5hbWVzcGFj ZSBsbHZtIHsKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dp ZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWdu YWxzLmluYy5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVy L3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMK LS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJk X3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMubWUJMjAy My0wMS0xOSAxNjowOToyOS4yMTY0NzcxODIgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xp Yi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMJMjAyMy0wMS0xOSAxNjoxMDowNS42NTcwODkyMDgg KzAxMDAKLUBAIC00NSw2ICs0NSw3IEBACi0gI2luY2x1ZGUgImxsdm0vU3VwcG9ydC9TYXZlQW5k UmVzdG9yZS5oIgotICNpbmNsdWRlICJsbHZtL1N1cHBvcnQvcmF3X29zdHJlYW0uaCIKLSAjaW5j bHVkZSA8YWxnb3JpdGhtPgotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+ Ci0gI2luY2x1ZGUgPHN5c2V4aXRzLmg+Ci0gI2lmZGVmIEhBVkVfQkFDS1RSQUNFCi1kaWZmIC11 cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2Vu Y291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hy b21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgK LS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0 L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oLm1lCTIwMjMtMDEtMTkgMTY6MzI6MDUuMzM4 MTYwMTMxICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nlci9w cml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaAkyMDIzLTAxLTE5IDE2 OjMyOjE2LjIxMzMyNjc5OCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDSFJPTUVf QlJPV1NFUl9QUklWQUNZX0JVREdFVF9FTkNPVU5URVJFRF9TVVJGQUNFX1RSQUNLRVJfSF8KLSAj ZGVmaW5lIENIUk9NRV9CUk9XU0VSX1BSSVZBQ1lfQlVER0VUX0VOQ09VTlRFUkVEX1NVUkZBQ0Vf VFJBQ0tFUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxtYXA+Ci0gCi0g I2luY2x1ZGUgImJhc2UvY29udGFpbmVycy9mbGF0X3NldC5oIgotZGlmZiAtdXAgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9h YmxhdGlvbl9zdHVkeS5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRv ZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaAotLS0tIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxf YWJsYXRpb25fc3R1ZHkuaC5tZQkyMDIzLTAxLTE5IDE2OjQ3OjU1LjU0ODU3MTEwMiArMDEwMAot KysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dz ZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaAkyMDIzLTAxLTE5IDE2OjQ4OjI5LjIxNDE0NjUy OSArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRTX0FVVE9GSUxMX0NP UkVfQlJPV1NFUl9BVVRPRklMTF9BQkxBVElPTl9TVFVEWV9IXwotICNkZWZpbmUgQ09NUE9ORU5U U19BVVRPRklMTF9DT1JFX0JST1dTRVJfQVVUT0ZJTExfQUJMQVRJT05fU1RVRFlfSF8KLSAKLSsj aW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotIGNsYXNzIEdVUkw7Ci1k aWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93c2Vy L29uX2RldmljZV9oZWFkX21vZGVsLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25l bnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oCi0tLS0gY2hyb21pdW0t MTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9t b2RlbC5oLm1lCTIwMjMtMDEtMTkgMTY6NTc6MjkuNTI1MzcyODE0ICswMTAwCi0rKysgY2hyb21p dW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVh ZF9tb2RlbC5oCTIwMjMtMDEtMTkgMTY6NTg6MDIuNjY3OTc5Mjg4ICswMTAwCi1AQCAtNSw2ICs1 LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfT01OSUJPWF9CUk9XU0VSX09OX0RFVklDRV9IRUFE X01PREVMX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX09NTklCT1hfQlJPV1NFUl9PTl9ERVZJQ0Vf SEVBRF9NT0RFTF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+ Ci0gI2luY2x1ZGUgPHV0aWxpdHk+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLWRpZmYgLXVwIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmlu Z2VycHJpbnRfcGFyc2VyLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bh eW1lbnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaAotLS0tIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2Vy cHJpbnRfcGFyc2VyLmgubWUJMjAyMy0wMS0xOSAxNzowMjo0NS4yNTg1NDQ2NjUgKzAxMDAKLSsr KyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91dGls aXR5L2ZpbmdlcnByaW50X3BhcnNlci5oCTIwMjMtMDEtMTkgMTc6MDI6NTIuNTc3NjExNzU3ICsw MTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfUEFZTUVOVFNfQ09OVEVO VF9VVElMSVRZX0ZJTkdFUlBSSU5UX1BBUlNFUl9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19QQVlN RU5UU19DT05URU5UX1VUSUxJVFlfRklOR0VSUFJJTlRfUEFSU0VSX0hfCi0gCi0rI2luY2x1ZGUg PGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0ZGRlZi5oPgotIAotICNpbmNsdWRlIDxzdHJpbmc+Ci1k aWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2lu Zm8uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2lu Zm8uaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0dGFjaG1lbnRf aW5mby5oLm1lCTIwMjMtMDEtMTkgMTc6Mjg6MjguNTUyMDYzNTM0ICswMTAwCi0rKysgY2hyb21p dW0tMTA5LjAuNTQxNC43NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgJMjAyMy0wMS0x OSAxNzoyODo0OC4wNzIzNzk5NTMgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgUERG X0RPQ1VNRU5UX0FUVEFDSE1FTlRfSU5GT19IXwotICNkZWZpbmUgUERGX0RPQ1VNRU5UX0FUVEFD SE1FTlRfSU5GT19IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+ Ci0gCi0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1 bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgKLS0tLSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlv bl9mbGFncy5oLm1lCTIwMjMtMDEtMTkgMTg6MjU6NDcuNjQ4MTkzNzEwICswMTAwCi0rKysgY2hy b21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRp b25fZmxhZ3MuaAkyMDIzLTAxLTE5IDE4OjI2OjExLjQ4ODU5MzU1NiArMDEwMAotQEAgLTUsNiAr NSw4IEBACi0gI2lmbmRlZiBDT05TVEFOVFNfQU5OT1RBVElPTl9GTEFHU19IXwotICNkZWZpbmUg Q09OU1RBTlRTX0FOTk9UQVRJT05fRkxBR1NfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSsK LSBuYW1lc3BhY2UgcGRmaXVtIHsKLSBuYW1lc3BhY2UgYW5ub3RhdGlvbl9mbGFncyB7Ci0gCi1k aWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY3B1LmgubWUgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9iYXNlL2NwdS5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2Nw dS5oLm1lCTIwMjMtMDEtMTkgMjE6MzE6MDIuOTA1MDYyOTg3ICswMTAwCi0rKysgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9iYXNlL2NwdS5oCTIwMjMtMDEtMTkgMjE6MzE6MzIuMjk4NTczMjY3ICsw MTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIEJBU0VfQ1BVX0hfCi0gI2RlZmluZSBCQVNF X0NQVV9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0g I2luY2x1ZGUgImJhc2UvYmFzZV9leHBvcnQuaCIKLWRpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2 NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3Ny Yy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oLm1lIGNocm9taXVtLTExMy4wLjU2 NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3Ny Yy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oCi0tLS0gY2hyb21pdW0tMTEzLjAu NTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMv c3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgubWUJMjAyMy0wNC0xNSAxNjo0 NDo1NS4zNDQzMDU0MTIgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTMuMC41NjcyLjI0L3RoaXJkX3Bh cnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVy bmFsL3ZtYS92a19tZW1fYWxsb2MuaAkyMDIzLTA0LTE1IDE2OjQ3OjA5LjAyODY2Njk5NSArMDIw MAotQEAgLTI4NTQsNiArMjg1NCw3IEBAIHN0YXRpYyB2b2lkIHZtYV9hbGlnbmVkX2ZyZWUodm9p ZCogVk1BX04KLSAKLSAvLyBEZWZpbmUgdGhpcyBtYWNybyB0byAxIHRvIGVuYWJsZSBmdW5jdGlv bnM6IHZtYUJ1aWxkU3RhdHNTdHJpbmcsIHZtYUZyZWVTdGF0c1N0cmluZy4KLSAjaWYgVk1BX1NU QVRTX1NUUklOR19FTkFCTEVECi0rI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gICAgIHN0YXRpYyBpbmxp bmUgdm9pZCBWbWFVaW50MzJUb1N0cihjaGFyKiBWTUFfTk9UX05VTEwgb3V0U3RyLCBzaXplX3Qg c3RyTGVuLCB1aW50MzJfdCBudW0pCi0gICAgIHsKLSAgICAgICAgIHNucHJpbnRmKG91dFN0ciwg c3RyTGVuLCAiJXUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KG51bSkpOwotZGlmZiAtdXAg Y2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNh dG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9jaHJv bWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgK LS0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhl bnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaC5tZQkyMDIzLTA0LTE4IDE1OjU1OjQ0Ljc3 NDkxNjMxOSArMDIwMAotKysrIGNocm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21lL2Jyb3dzZXIv d2ViYXV0aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oCTIwMjMtMDQtMTgg MTU6NTU6NTQuNDQxMDg1ODgyICswMjAwCi1AQCAtOCw2ICs4LDcgQEAKLSAjaW5jbHVkZSA8bWVt b3J5PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLSsjaW5jbHVkZSA8 dmFyaWFudD4KLSAKLSAjaW5jbHVkZSAiYmFzZS9jb250YWluZXJzL3NwYW4uaCIKLSAjaW5jbHVk ZSAiYmFzZS9mdW5jdGlvbmFsL2NhbGxiYWNrX2ZvcndhcmQuaCIKLWRpZmYgLXVwIGNocm9taXVt LTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oLm1lIGNocm9taXVtLTExMy4wLjU2NzIu MzcvZ2luL3RpbWVfY2xhbXBlci5oCi0tLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9naW4vdGlt ZV9jbGFtcGVyLmgubWUJMjAyMy0wNC0xOCAxNjozODo0MS4xODA0Mzc0NjcgKzAyMDAKLSsrKyBj aHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1wZXIuaAkyMDIzLTA0LTE4IDE2OjM5 OjQzLjg1NzA0OTQzMiArMDIwMAotQEAgLTQ4LDcgKzQ4LDcgQEAgY2xhc3MgR0lOX0VYUE9SVCBU aW1lQ2xhbXBlciB7Ci0gICAgIGNvbnN0IGludDY0X3QgbWljcm9zID0gbm93X21pY3JvcyAlIDEw MDA7Ci0gICAgIC8vIGFicygpIGlzIG5lY2Vzc2FyeSBmb3IgZGV2aWNlcyB3aXRoIHRpbWVzIGJl Zm9yZSB1bml4LWVwb2NoIChtb3N0IGxpa2VseQotICAgICAvLyBjb25maWd1cmVkIGluY29ycmVj dGx5KS4KLS0gICAgaWYgKGFicyhtaWNyb3MpICsga1Jlc29sdXRpb25NaWNyb3MgPCAxMDAwKSB7 Ci0rICAgIGlmIChzdGQ6OmFicyhtaWNyb3MpICsga1Jlc29sdXRpb25NaWNyb3MgPCAxMDAwKSB7 Ci0gICAgICAgcmV0dXJuIG5vd19taWNyb3MgLyAxMDAwOwotICAgICB9Ci0gICAgIHJldHVybiBD bGFtcFRpbWVSZXNvbHV0aW9uKG5vd19taWNyb3MpIC8gMTAwMDsKLWRpZmYgLXVwIGNocm9taXVt LTExMy4wLjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19p bXBsLmNjLm1lIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVy L2Nocm9tZS93ZWJfdmlld19pbXBsLmNjCi0tLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJv bWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwuY2MubWUJMjAyMy0wNC0y MSAwODowNzo1NS4zNjI3MTQ1NDQgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2No cm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYwkyMDIzLTA0LTIx IDA4OjE0OjM1LjQyNDE1ODY5MyArMDIwMAotQEAgLTEwLDYgKzEwLDcgQEAKLSAjaW5jbHVkZSA8 cXVldWU+Ci0gI2luY2x1ZGUgPHV0aWxpdHk+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLSsjaW5jbHVk ZSA8Y3N0cmluZz4KLSAKLSAjaW5jbHVkZSAiYmFzZS9jaGVjay5oIgotICNpbmNsdWRlICJiYXNl L2ZpbGVzL2ZpbGVfcGF0aC5oIgoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExMy1ub3Jhci5wYXRj aCBiL2Nocm9taXVtLTExMy1ub3Jhci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggZGRkYzcyZi4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTMtbm9yYXIucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwxMTUgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4y NC9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvQlVJTEQuZ24ubm91bnJhciBjaHJvbWl1bS0x MTMuMC41NjcyLjI0L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9CVUlMRC5nbgotLS0tIGNo cm9taXVtLTExMy4wLjU2NzIuMjQvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0JVSUxELmdu Lm5vdW5yYXIJMjAyMy0wNC0wNyAxMzoxMTo1OS40OTU5Mjc0NzYgKzAyMDAKLSsrKyBjaHJvbWl1 bS0xMTMuMC41NjcyLjI0L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9CVUlMRC5nbgkyMDIz LTA0LTA3IDEzOjQ3OjU3LjAwNDc1ODAyOSArMDIwMAotQEAgLTE0Myw4ICsxNDMsNiBAQCBzb3Vy Y2Vfc2V0KCJzYWZlX2Jyb3dzaW5nIikgewotICAgICAgICJwcm90b2J1Zl9tZXNzYWdlX2xvZ19t YWNyb3MuaCIsCi0gICAgICAgInByb3RvYnVmX21lc3NhZ2VfcmVhZF9tYWNyb3MuaCIsCi0gICAg ICAgInByb3RvYnVmX21lc3NhZ2Vfd3JpdGVfbWFjcm9zLmgiLAotLSAgICAgICJyYXJfYW5hbHl6 ZXIuY2MiLAotLSAgICAgICJyYXJfYW5hbHl6ZXIuaCIsCi0gICAgICAgInNldmVuX3ppcF9hbmFs eXplci5jYyIsCi0gICAgICAgInNldmVuX3ppcF9hbmFseXplci5oIiwKLSAgICAgICAiemlwX2Fu YWx5emVyLmNjIiwKLUBAIC0xNjAsNyArMTU4LDYgQEAgc291cmNlX3NldCgic2FmZV9icm93c2lu ZyIpIHsKLSAgICAgICAiLy9jb21wb25lbnRzL3NhZmVfYnJvd3NpbmcvY29udGVudC9jb21tb246 ZmlsZV90eXBlX3BvbGljaWVzIiwKLSAgICAgICAiLy9jb21wb25lbnRzL3NhZmVfYnJvd3Npbmcv Y29yZS9jb21tb24iLAotICAgICAgICIvL3RoaXJkX3BhcnR5L2x6bWFfc2RrL2dvb2dsZTpzZXZl bl96aXBfcmVhZGVyIiwKLS0gICAgICAiLy90aGlyZF9wYXJ0eS91bnJhcjp1bnJhciIsCi0gICAg IF0KLSAKLSAgICAgaWYgKGlzX2xpbnV4KSB7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTMuMC41Njcy LjI0L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9ERVBTLm5vdW5yYXIgY2hyb21pdW0tMTEz LjAuNTY3Mi4yNC9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvREVQUwotLS0tIGNocm9taXVt LTExMy4wLjU2NzIuMjQvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0RFUFMubm91bnJhcgky MDIzLTA0LTA0IDIwOjQxOjI2LjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTExMy4wLjU2 NzIuMjQvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0RFUFMJMjAyMy0wNC0wNyAxMzoxMTo1 OS40OTU5Mjc0NzYgKzAyMDAKLUBAIC0zLDcgKzMsNiBAQCBpbmNsdWRlX3J1bGVzID0gWwotICAg Iitjb21wb25lbnRzL3NhZmVfYnJvd3NpbmcvY29yZS9jb21tb24iLAotICAgIit0aGlyZF9wYXJ0 eS9tYWxkb2NhIiwKLSAgICIrdGhpcmRfcGFydHkvcHJvdG9idWYiLAotLSAgIit0aGlyZF9wYXJ0 eS91bnJhciIsCi0gICAiK3RoaXJkX3BhcnR5L3psaWIiLAotICAgIit0aGlyZF9wYXJ0eS9sem1h X3Nkay9nb29nbGUiLAotIF0KLWRpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuMjQvY2hyb21l L3NlcnZpY2VzL2ZpbGVfdXRpbC9CVUlMRC5nbi5ub3VucmFyIGNocm9taXVtLTExMy4wLjU2NzIu MjQvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9CVUlMRC5nbgotZGlmZiAtdXAgY2hyb21pdW0t MTEzLjAuNTY3Mi4yNC9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFs eXplci5jYy5ub3VucmFyIGNocm9taXVtLTExMy4wLjU2NzIuMjQvY2hyb21lL3NlcnZpY2VzL2Zp bGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuY2MKLS0tLSBjaHJvbWl1bS0xMTMuMC41Njcy LjI0L2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVyLmNjLm5v dW5yYXIJMjAyMy0wNC0wNyAxMzoxMTo1OS40OTU5Mjc0NzYgKzAyMDAKLSsrKyBjaHJvbWl1bS0x MTMuMC41NjcyLjI0L2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5 emVyLmNjCTIwMjMtMDQtMDcgMTM6NTI6NTIuOTk4MTA5MDA2ICswMjAwCi1AQCAtNjEsNiArNjEs NyBAQCB2b2lkIFNhZmVBcmNoaXZlQW5hbHl6ZXI6OkFuYWx5emVSYXJGaWxlCi0gICAgIGJhc2U6 OkZpbGUgcmFyX2ZpbGUsCi0gICAgIG1vam86OlBlbmRpbmdSZW1vdGU8Y2hyb21lOjptb2pvbTo6 VGVtcG9yYXJ5RmlsZUdldHRlcj4gdGVtcF9maWxlX2dldHRlciwKLSAgICAgQW5hbHl6ZVJhckZp bGVDYWxsYmFjayBjYWxsYmFjaykgewotKyNpZiAwCi0gICBEQ0hFQ0socmFyX2ZpbGUuSXNWYWxp ZCgpKTsKLSAgIHRlbXBfZmlsZV9nZXR0ZXJfLkJpbmQoc3RkOjptb3ZlKHRlbXBfZmlsZV9nZXR0 ZXIpKTsKLSAgIGNhbGxiYWNrXyA9IHN0ZDo6bW92ZShjYWxsYmFjayk7Ci1AQCAtNzYsNiArNzcs OSBAQCB2b2lkIFNhZmVBcmNoaXZlQW5hbHl6ZXI6OkFuYWx5emVSYXJGaWxlCi0gICByYXJfYW5h bHl6ZXJfLkluaXQoc3RkOjptb3ZlKHJhcl9maWxlKSwgYmFzZTo6RmlsZVBhdGgoKSwKLSAgICAg ICAgICAgICAgICAgICAgICBzdGQ6Om1vdmUoYW5hbHlzaXNfZmluaXNoZWRfY2FsbGJhY2spLAot ICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bW92ZSh0ZW1wX2ZpbGVfZ2V0dGVyX2NhbGxiYWNr KSwgJnJlc3VsdHNfKTsKLSsjZWxzZQotKyAgTk9UUkVBQ0hFRCgpOwotKyNlbmRpZgotIH0KLSAK LSB2b2lkIFNhZmVBcmNoaXZlQW5hbHl6ZXI6OkFuYWx5emVTZXZlblppcEZpbGUoCi1kaWZmIC11 cCBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy96aXBf YW5hbHl6ZXIuY2MubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvY29tbW9uL3NhZmVf YnJvd3NpbmcvemlwX2FuYWx5emVyLmNjCi0tLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJv bWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvemlwX2FuYWx5emVyLmNjLm1lCTIwMjMtMDQtMjMgMTg6 MTA6MDYuMTAzODU4MzYyICswMjAwCi0rKysgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUv Y29tbW9uL3NhZmVfYnJvd3NpbmcvemlwX2FuYWx5emVyLmNjCTIwMjMtMDQtMjMgMTg6MTI6MDUu NDI4MDkyMzQ3ICswMjAwCi1AQCAtMTgsNyArMTgsNyBAQAotICNpbmNsdWRlICJiYXNlL3RpbWUv dGltZS5oIgotICNpbmNsdWRlICJidWlsZC9idWlsZF9jb25maWcuaCIKLSAjaW5jbHVkZSAiY2hy b21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL2FyY2hpdmVfYW5hbHl6ZXJfcmVzdWx0cy5oIgotLSNp bmNsdWRlICJjaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvcmFyX2FuYWx5emVyLmgiCi0rLy8j aW5jbHVkZSAiY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL3Jhcl9hbmFseXplci5oIgotICNp bmNsdWRlICJjb21wb25lbnRzL3NhZmVfYnJvd3NpbmcvY29udGVudC9jb21tb24vZmlsZV90eXBl X3BvbGljaWVzLmgiCi0gI2luY2x1ZGUgImNvbXBvbmVudHMvc2FmZV9icm93c2luZy9jb3JlL2Nv bW1vbi9mZWF0dXJlcy5oIgotICNpbmNsdWRlICJjb21wb25lbnRzL3NhZmVfYnJvd3NpbmcvY29y ZS9jb21tb24vcHJvdG8vY3NkLnBiLmgiCi1AQCAtMTMyLDE0ICsxMzIsMTQgQEAgYm9vbCBaaXBB bmFseXplcjo6QW5hbHl6ZU5lc3RlZEFyY2hpdmUoCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0ZDo6bW92ZShuZXN0ZWRfYW5hbHlzaXNfZmluaXNoZWRfY2FsbGJhY2spLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfdGVtcF9maWxlX2NhbGxiYWNrXywgcmVz dWx0c18pOwotICAgICByZXR1cm4gdHJ1ZTsKLS0gIH0gZWxzZSBpZiAoZmlsZV90eXBlID09IERv d25sb2FkRmlsZVR5cGU6OlJBUikgewotKyAgfSAvKiBlbHNlIGlmIChmaWxlX3R5cGUgPT0gRG93 bmxvYWRGaWxlVHlwZTo6UkFSKSB7Ci0gICAgIG5lc3RlZF9yYXJfYW5hbHl6ZXJfID0gc3RkOjpt YWtlX3VuaXF1ZTxzYWZlX2Jyb3dzaW5nOjpSYXJBbmFseXplcj4oKTsKLSAgICAgbmVzdGVkX3Jh cl9hbmFseXplcl8tPkluaXQodGVtcF9maWxlXy5EdXBsaWNhdGUoKSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcm9vdF96aXBfcGF0aF8uQXBwZW5kKHBhdGgpLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1vdmUobmVzdGVkX2FuYWx5c2lzX2ZpbmlzaGVk X2NhbGxiYWNrKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3RlbXBfZmls ZV9jYWxsYmFja18sIHJlc3VsdHNfKTsKLSAgICAgcmV0dXJuIHRydWU7Ci0tICB9Ci0rICB9Ki8K LSAgIHJldHVybiBmYWxzZTsKLSB9Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjUz L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy96aXBfYW5hbHl6ZXIuaC5tZSBjaHJvbWl1bS0x MTMuMC41NjcyLjUzL2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy96aXBfYW5hbHl6ZXIuaAot LS0tIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL3pp cF9hbmFseXplci5oLm1lCTIwMjMtMDQtMjMgMTg6MTI6MTEuMzE2MjAzNDk2ICswMjAwCi0rKysg Y2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvemlwX2Fu YWx5emVyLmgJMjAyMy0wNC0yMyAxODoxMjoyNi44Mjc0OTgwODIgKzAyMDAKLUBAIC03OCw3ICs3 OCw3IEBAIGNsYXNzIFppcEFuYWx5emVyIHsKLSAgIC8vIERGUy4KLSAgIC8vIFRPRE8oY3JidWcu Y29tLzE0MjYxNjQpIENyZWF0ZSBhIGNvbW1vbiBjbGFzcyB0byBob2xkIGFsbCBhbmFseXplcnMu Ci0gICBzdGQ6OnVuaXF1ZV9wdHI8c2FmZV9icm93c2luZzo6WmlwQW5hbHl6ZXI+IG5lc3RlZF96 aXBfYW5hbHl6ZXJfOwotLSAgc3RkOjp1bmlxdWVfcHRyPHNhZmVfYnJvd3Npbmc6OlJhckFuYWx5 emVyPiBuZXN0ZWRfcmFyX2FuYWx5emVyXzsKLSsvLyAgc3RkOjp1bmlxdWVfcHRyPHNhZmVfYnJv d3Npbmc6OlJhckFuYWx5emVyPiBuZXN0ZWRfcmFyX2FuYWx5emVyXzsKLSAKLSAgIGJhc2U6Oldl YWtQdHJGYWN0b3J5PFppcEFuYWx5emVyPiB3ZWFrX2ZhY3Rvcnlfe3RoaXN9OwotIH07Ci1kaWZm IC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2Fm ZV9hcmNoaXZlX2FuYWx5emVyLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvc2Vy dmljZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXplci5oCi0tLS0gY2hyb21pdW0tMTEz LjAuNTY3Mi41My9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXpl ci5oLm1lCTIwMjMtMDQtMjMgMTg6MDY6MjYuNDc2NzkxNTIwICswMjAwCi0rKysgY2hyb21pdW0t MTEzLjAuNTY3Mi41My9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFs eXplci5oCTIwMjMtMDQtMjMgMTg6MDg6NTguNTk0NjA2MTcxICswMjAwCi1AQCAtNiw3ICs2LDcg QEAKLSAjZGVmaW5lIENIUk9NRV9TRVJWSUNFU19GSUxFX1VUSUxfU0FGRV9BUkNISVZFX0FOQUxZ WkVSX0hfCi0gCi0gI2luY2x1ZGUgImNocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9hcmNoaXZl X2FuYWx5emVyX3Jlc3VsdHMuaCIKLS0jaW5jbHVkZSAiY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dz aW5nL3Jhcl9hbmFseXplci5oIgotKy8vI2luY2x1ZGUgImNocm9tZS9jb21tb24vc2FmZV9icm93 c2luZy9yYXJfYW5hbHl6ZXIuaCIKLSAjaW5jbHVkZSAiY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRp bC9wdWJsaWMvbW9qb20vc2FmZV9hcmNoaXZlX2FuYWx5emVyLm1vam9tLmgiCi0gI2luY2x1ZGUg Im1vam8vcHVibGljL2NwcC9iaW5kaW5ncy9yZW1vdGUuaCIKLSAKLUBAIC01OSw3ICs1OSw3IEBA IGNsYXNzIFNhZmVBcmNoaXZlQW5hbHl6ZXIgOiBwdWJsaWMgY2hyb20KLSAgIHZvaWQgVGltZW91 dCgpOwotIAotICAgc2FmZV9icm93c2luZzo6WmlwQW5hbHl6ZXIgemlwX2FuYWx5emVyXzsKLS0g IHNhZmVfYnJvd3Npbmc6OlJhckFuYWx5emVyIHJhcl9hbmFseXplcl87Ci0rLy8gIHNhZmVfYnJv d3Npbmc6OlJhckFuYWx5emVyIHJhcl9hbmFseXplcl87Ci0gCi0gICAvLyBBIHRpbWVyIHRvIGVu c3VyZSBubyBhcmNoaXZlIHRha2VzIHRvbyBsb25nIHRvIHVucGFjay4KLSAgIGJhc2U6Ok9uZVNo b3RUaW1lciB0aW1lb3V0X3RpbWVyXzsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTMtdHlwZW5h bWUucGF0Y2ggYi9jaHJvbWl1bS0xMTMtdHlwZW5hbWUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDE3MmFhNzEuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTEzLXR5cGVuYW1l LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0t MTEzLjAuNTY3Mi42My9jaHJvbWUvYnJvd3Nlci9kb3dubG9hZC9idWJibGUvZG93bmxvYWRfYnVi YmxlX3VwZGF0ZV9zZXJ2aWNlLmNjLm1lIGNocm9taXVtLTExMy4wLjU2NzIuNjMvY2hyb21lL2Jy b3dzZXIvZG93bmxvYWQvYnViYmxlL2Rvd25sb2FkX2J1YmJsZV91cGRhdGVfc2VydmljZS5jYwot LS0tIGNocm9taXVtLTExMy4wLjU2NzIuNjMvY2hyb21lL2Jyb3dzZXIvZG93bmxvYWQvYnViYmxl L2Rvd25sb2FkX2J1YmJsZV91cGRhdGVfc2VydmljZS5jYy5tZQkyMDIzLTA1LTAzIDE3OjQ2OjM3 LjE5NDAwMDgzNCArMDIwMAotKysrIGNocm9taXVtLTExMy4wLjU2NzIuNjMvY2hyb21lL2Jyb3dz ZXIvZG93bmxvYWQvYnViYmxlL2Rvd25sb2FkX2J1YmJsZV91cGRhdGVfc2VydmljZS5jYwkyMDIz LTA1LTAzIDE3OjQ4OjA1LjE3MDMxNzU3NSArMDIwMAotQEAgLTg3LDcgKzg3LDcgQEAgSXRlbVNv cnRLZXkgR2V0U29ydEtleShjb25zdCBJdGVtJiBpdGVtKQotIC8vIEhlbHBlciB0byBnZXQgYW4g aXRlcmF0b3IgdG8gdGhlIGxhc3QgZWxlbWVudCBpbiB0aGUgY2FjaGUuIFRoZSBjYWNoZQotIC8v IG11c3Qgbm90IGJlIGVtcHR5LgotIHRlbXBsYXRlIDx0eXBlbmFtZSBJdGVtPgotLVNvcnRlZEl0 ZW1zPEl0ZW0+OjppdGVyYXRvciBHZXRMYXN0SXRlcihTb3J0ZWRJdGVtczxJdGVtPiYgY2FjaGUp IHsKLSt0eXBlbmFtZSBTb3J0ZWRJdGVtczxJdGVtPjo6aXRlcmF0b3IgR2V0TGFzdEl0ZXIoU29y dGVkSXRlbXM8SXRlbT4mIGNhY2hlKSB7Ci0gICBDSEVDSyghY2FjaGUuZW1wdHkoKSk7Ci0gICBh dXRvIGl0ID0gY2FjaGUuZW5kKCk7Ci0gICByZXR1cm4gc3RkOjpwcmV2KGl0KTsKLUBAIC03ODks OSArNzg5LDkgQEAgYm9vbCBEb3dubG9hZEJ1YmJsZVVwZGF0ZVNlcnZpY2U6OlJlbW92ZQotIH0K LSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgSWQsIHR5cGVuYW1lIEl0ZW0+Ci0tU29ydGVkSXRlbXM8 SXRlbT46Oml0ZXJhdG9yCi0rdHlwZW5hbWUgU29ydGVkSXRlbXM8SXRlbT46Oml0ZXJhdG9yCi0g RG93bmxvYWRCdWJibGVVcGRhdGVTZXJ2aWNlOjpSZW1vdmVJdGVtRnJvbUNhY2hlQnlJdGVyKAot LSAgICBTb3J0ZWRJdGVtczxJdGVtPjo6aXRlcmF0b3IgaXRlciwKLSsgICAgdHlwZW5hbWUgU29y dGVkSXRlbXM8SXRlbT46Oml0ZXJhdG9yIGl0ZXIsCi0gICAgIFNvcnRlZEl0ZW1zPEl0ZW0+JiBj YWNoZSwKLSAgICAgSXRlck1hcDxJZCwgSXRlbT4mIGl0ZXJfbWFwKSB7Ci0gICBDSEVDSyhpdGVy ICE9IGNhY2hlLmVuZCgpKTsKLWRpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuNjMvY2hyb21l L2Jyb3dzZXIvZG93bmxvYWQvYnViYmxlL2Rvd25sb2FkX2J1YmJsZV91cGRhdGVfc2VydmljZS5o Lm1lIGNocm9taXVtLTExMy4wLjU2NzIuNjMvY2hyb21lL2Jyb3dzZXIvZG93bmxvYWQvYnViYmxl L2Rvd25sb2FkX2J1YmJsZV91cGRhdGVfc2VydmljZS5oCi0tLS0gY2hyb21pdW0tMTEzLjAuNTY3 Mi42My9jaHJvbWUvYnJvd3Nlci9kb3dubG9hZC9idWJibGUvZG93bmxvYWRfYnViYmxlX3VwZGF0 ZV9zZXJ2aWNlLmgubWUJMjAyMy0wNS0wMyAxNzo0ODoxNC4wNzk1NTE4MjAgKzAyMDAKLSsrKyBj aHJvbWl1bS0xMTMuMC41NjcyLjYzL2Nocm9tZS9icm93c2VyL2Rvd25sb2FkL2J1YmJsZS9kb3du bG9hZF9idWJibGVfdXBkYXRlX3NlcnZpY2UuaAkyMDIzLTA1LTAzIDE3OjQ5OjI0LjcwMjM4NzE4 MCArMDIwMAotQEAgLTIwOCw4ICsyMDgsOCBAQCBjbGFzcyBEb3dubG9hZEJ1YmJsZVVwZGF0ZVNl cnZpY2UKLSAKLSAgIC8vIFJlbW92ZXMgaXRlbSBpZiB3ZSBhbHJlYWR5IGhhdmUgdGhlIGl0ZXJh dG9yIHRvIGl0LiBSZXR1cm5zIG5leHQgaXRlcmF0b3IuCi0gICB0ZW1wbGF0ZSA8dHlwZW5hbWUg SWQsIHR5cGVuYW1lIEl0ZW0+Ci0tICBTb3J0ZWRJdGVtczxJdGVtPjo6aXRlcmF0b3IgUmVtb3Zl SXRlbUZyb21DYWNoZUJ5SXRlcigKLS0gICAgICBTb3J0ZWRJdGVtczxJdGVtPjo6aXRlcmF0b3Ig aXRlciwKLSsgIHR5cGVuYW1lIFNvcnRlZEl0ZW1zPEl0ZW0+OjppdGVyYXRvciBSZW1vdmVJdGVt RnJvbUNhY2hlQnlJdGVyKAotKyAgICAgIHR5cGVuYW1lIFNvcnRlZEl0ZW1zPEl0ZW0+OjppdGVy YXRvciBpdGVyLAotICAgICAgIFNvcnRlZEl0ZW1zPEl0ZW0+JiBjYWNoZSwKLSAgICAgICBJdGVy TWFwPElkLCBJdGVtPiYgaXRlcl9tYXApOwotIAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExMy13 b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2ggYi9jaHJvbWl1bS0x MTMtd29ya2Fyb3VuZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTk5YWU0Li4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTEx My13b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwzMCArMCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjYzL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L25nL2dyaWQvbmdfZ3JpZF9sYXlv dXRfYWxnb3JpdGhtLmNjLm1lIGNocm9taXVtLTExMy4wLjU2NzIuNjMvdGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0u Y2MKLS0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjYzL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2NvcmUvbGF5b3V0L25nL2dyaWQvbmdfZ3JpZF9sYXlvdXRfYWxnb3JpdGhtLmNjLm1lCTIwMjMt MDUtMDMgMTY6MzA6MzQuMjQ0NjEyNTczICswMjAwCi0rKysgY2hyb21pdW0tMTEzLjAuNTY3Mi42 My90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2xheW91dC9uZy9ncmlkL25nX2dyaWRf bGF5b3V0X2FsZ29yaXRobS5jYwkyMDIzLTA1LTAzIDE2OjM3OjM2LjczMjI3ODU5MCArMDIwMAot QEAgLTUxNiw4ICs1MTYsMTEgQEAgd3RmX3NpemVfdCBOR0dyaWRMYXlvdXRBbGdvcml0aG06OkJ1 aWxkRwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93X2F1dG9fcmVwZXRpdGlv bnMpOwotIAotICAgYm9vbCBoYXNfbmVzdGVkX3N1YmdyaWQgPSBmYWxzZTsKLS0gIGF1dG8mIFtn cmlkX2l0ZW1zLCBsYXlvdXRfZGF0YSwgc3VidHJlZV9zaXplXSA9Ci0tICAgICAgc2l6aW5nX3Ry ZWUtPkNyZWF0ZVNpemluZ0RhdGEoKTsKLSsKLSsgIGF1dG8mIHdvcmthcm91bmRfY2xhbmdfYnVn ID0gc2l6aW5nX3RyZWUtPkNyZWF0ZVNpemluZ0RhdGEoKTsKLSsgIGF1dG8mIGdyaWRfaXRlbXMg PSB3b3JrYXJvdW5kX2NsYW5nX2J1Zy5ncmlkX2l0ZW1zOwotKyAgYXV0byYgbGF5b3V0X2RhdGEg PSB3b3JrYXJvdW5kX2NsYW5nX2J1Zy5sYXlvdXRfZGF0YTsKLSsgIGF1dG8mIHN1YnRyZWVfc2l6 ZSA9IHdvcmthcm91bmRfY2xhbmdfYnVnLnN1YnRyZWVfc2l6ZTsKLSAKLSAgIGlmICghbXVzdF9p Z25vcmVfY2hpbGRyZW4pIHsKLSAgICAgLy8gQ29uc3RydWN0IGdyaWQgaXRlbXMgdGhhdCBhcmUg bm90IHN1YmdyaWRkZWQuCi1AQCAtMTU0MCw4ICsxNTQzLDEwIEBAIHZvaWQgTkdHcmlkTGF5b3V0 QWxnb3JpdGhtOjpJbml0aWFsaXplVHIKLSAgICAgTkdHcmlkU2l6aW5nVHJlZSogc2l6aW5nX3Ry ZWUpIGNvbnN0IHsKLSAgIERDSEVDSyhzaXppbmdfdHJlZSAmJiBjdXJyZW50X2dyaWRfaW5kZXgg PCBzaXppbmdfdHJlZS0+U2l6ZSgpKTsKLSAKLS0gIGF1dG8mIFtncmlkX2l0ZW1zLCBsYXlvdXRf ZGF0YSwgc3VidHJlZV9zaXplXSA9Ci0tICAgICAgc2l6aW5nX3RyZWUtPkF0KGN1cnJlbnRfZ3Jp ZF9pbmRleCk7Ci0rICBhdXRvJiB3b3JrYXJvdW5kX2NsYW5nX2J1ZyA9IHNpemluZ190cmVlLT5B dChjdXJyZW50X2dyaWRfaW5kZXgpOwotKyAgYXV0byYgZ3JpZF9pdGVtcyA9IHdvcmthcm91bmRf Y2xhbmdfYnVnLmdyaWRfaXRlbXM7Ci0rICBhdXRvJiBsYXlvdXRfZGF0YSA9IHdvcmthcm91bmRf Y2xhbmdfYnVnLmxheW91dF9kYXRhOwotKyAgYXV0byYgc3VidHJlZV9zaXplID0gd29ya2Fyb3Vu ZF9jbGFuZ19idWcuc3VidHJlZV9zaXplOwotIAotICAgYXV0byBJbml0QW5kQ2FjaGVUcmFja1Np emVzID0gWyZdKEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiB0cmFja19kaXJlY3Rpb24pIHsKLSAg ICAgSW5pdGlhbGl6ZVRyYWNrQ29sbGVjdGlvbihvcHRfc3ViZ3JpZF9kYXRhLCB0cmFja19kaXJl Y3Rpb24sICZsYXlvdXRfZGF0YSk7CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE0LWJ1aWxkZmxh Zy1lbDcucGF0Y2ggYi9jaHJvbWl1bS0xMTQtYnVpbGRmbGFnLWVsNy5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjllNDY4Ci0tLSAvZGV2L251bGwKKysrIGIvY2hy b21pdW0tMTE0LWJ1aWxkZmxhZy1lbDcucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorZGlmZiAtdXAg Y2hyb21pdW0tMTE0LjAuNTczNS4yNi9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbW5pYm94 X2VkaXRfbW9kZWwuY2MubWUgY2hyb21pdW0tMTE0LjAuNTczNS4yNi9jb21wb25lbnRzL29tbmli b3gvYnJvd3Nlci9vbW5pYm94X2VkaXRfbW9kZWwuY2MKKy0tLSBjaHJvbWl1bS0xMTQuMC41NzM1 LjI2L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29tbmlib3hfZWRpdF9tb2RlbC5jYy5tZQky MDIzLTA1LTE0IDA5OjE0OjEwLjg4NjMxNDQ4MCArMDIwMAorKysrIGNocm9taXVtLTExNC4wLjU3 MzUuMjYvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb21uaWJveF9lZGl0X21vZGVsLmNjCTIw MjMtMDUtMTQgMDk6MTY6NTkuMzgwMDU0NzIwICswMjAwCitAQCAtNzksNyArNzksNyBAQAorICNp bmNsdWRlICJ1aS9nZngvdmVjdG9yX2ljb25fdHlwZXMuaCIKKyAjZW5kaWYKKyAKKy0jaWYgQlVJ TERGTEFHKEdPT0dMRV9DSFJPTUVfQlJBTkRJTkcpCisrI2lmZGVmIEdPT0dMRV9DSFJPTUVfQlJB TkRJTkcKKyAjaW5jbHVkZSAiY29tcG9uZW50cy92ZWN0b3JfaWNvbnMvdmVjdG9yX2ljb25zLmgi ICAvLyBub2duY2hlY2sKKyAjZW5kaWYKKyAKK0BAIC02MjgsNyArNjI4LDcgQEAgYm9vbCBPbW5p Ym94RWRpdE1vZGVsOjpTaG91bGRTaG93Q3VycmVudAorIH0KKyAKKyB1aTo6SW1hZ2VNb2RlbCBP bW5pYm94RWRpdE1vZGVsOjpHZXRTdXBlckdJY29uKGludCBpbWFnZV9zaXplLCBib29sIGRhcmtf bW9kZSkgeworLSNpZiBCVUlMREZMQUcoR09PR0xFX0NIUk9NRV9CUkFORElORykKKysjaWZkZWYg R09PR0xFX0NIUk9NRV9CUkFORElORworICAgaWYgKGRhcmtfbW9kZSkgeworICAgICByZXR1cm4g dWk6OkltYWdlTW9kZWw6OkZyb21WZWN0b3JJY29uKAorICAgICAgICAgdmVjdG9yX2ljb25zOjpr R29vZ2xlR0xvZ29Nb25vY2hyb21lSWNvbiwgdWk6OmtDb2xvclJlZlByaW1hcnkxMDAsCgpkaWZm IC0tZ2l0IGEvY2hyb21pdW0tMTE0LWNvbnN0ZXhwci1lbDcucGF0Y2ggYi9jaHJvbWl1bS0xMTQt Y29uc3RleHByLWVsNy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45 MjZiYTI0Ci0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTE0LWNvbnN0ZXhwci1lbDcucGF0 Y2gKQEAgLTAsMCArMSw2MiBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTE0LjAuNTczNS4yNi9jb21w b25lbnRzL3ZlcnNpb25faW5mby92ZXJzaW9uX2luZm8uY2MuY29uc3RleHByLWVsNyBjaHJvbWl1 bS0xMTQuMC41NzM1LjI2L2NvbXBvbmVudHMvdmVyc2lvbl9pbmZvL3ZlcnNpb25faW5mby5jYwor ZGlmZiAtdXAgY2hyb21pdW0tMTE0LjAuNTczNS4yNi9jb21wb25lbnRzL3ZlcnNpb25faW5mby92 ZXJzaW9uX2luZm8uaC5jb25zdGV4cHItZWw3IGNocm9taXVtLTExNC4wLjU3MzUuMjYvY29tcG9u ZW50cy92ZXJzaW9uX2luZm8vdmVyc2lvbl9pbmZvLmgKKy0tLSBjaHJvbWl1bS0xMTQuMC41NzM1 LjI2L2NvbXBvbmVudHMvdmVyc2lvbl9pbmZvL3ZlcnNpb25faW5mby5oLmNvbnN0ZXhwci1lbDcJ MjAyMy0wNS0xMSAwMzozNjoxOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTQuMC41 NzM1LjI2L2NvbXBvbmVudHMvdmVyc2lvbl9pbmZvL3ZlcnNpb25faW5mby5oCTIwMjMtMDUtMTQg MTA6NTk6MTkuOTIxNTc4NjQ1ICswMjAwCitAQCAtMjcsMTggKzI3LDE4IEBAIGNvbnN0IHN0ZDo6 c3RyaW5nIEdldFByb2R1Y3ROYW1lQW5kVmVyc2kKKyAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGJ1 aWxkX3ZlcnNpb24pOworIAorIC8vIFJldHVybnMgdGhlIHByb2R1Y3QgbmFtZSwgZS5nLiAiQ2hy b21pdW0iIG9yICJHb29nbGUgQ2hyb21lIi4KKy1jb25zdGV4cHIgc3RkOjpzdHJpbmcgR2V0UHJv ZHVjdE5hbWUoKSB7Cisrc3RhdGljIGNvbnN0IHN0ZDo6c3RyaW5nIEdldFByb2R1Y3ROYW1lKCkg eworICAgcmV0dXJuIFBST0RVQ1RfTkFNRTsKKyB9CisgCisgLy8gUmV0dXJucyB0aGUgdmVyc2lv biBudW1iZXIsIGUuZy4gIjYuMC40OTAuMSIuCistY29uc3RleHByIHN0ZDo6c3RyaW5nIEdldFZl cnNpb25OdW1iZXIoKSB7Cisrc3RhdGljIGNvbnN0IHN0ZDo6c3RyaW5nIEdldFZlcnNpb25OdW1i ZXIoKSB7CisgICByZXR1cm4gUFJPRFVDVF9WRVJTSU9OOworIH0KKyAKKyAvLyBSZXR1cm5zIHRo ZSBwcm9kdWN0IG5hbWUgYW5kIHZlcnNpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBVc2VyLUFnZW50 IGhlYWRlciwKKyAvLyBpbiB0aGUgZm9ybWF0OiBDaHJvbWUvPG1ham9yX3ZlcnNpb24+LjxtaW5v cl92ZXJzaW9uPi48YnVpbGQ+LjxwYXRjaD4uCistY29uc3RleHByIHN0ZDo6c3RyaW5nIEdldFBy b2R1Y3ROYW1lQW5kVmVyc2lvbkZvclVzZXJBZ2VudCgpIHsKKytzdGF0aWMgY29uc3Qgc3RkOjpz dHJpbmcgR2V0UHJvZHVjdE5hbWVBbmRWZXJzaW9uRm9yVXNlckFnZW50KCkgeworICAgcmV0dXJu ICJDaHJvbWUvIiArIEdldFZlcnNpb25OdW1iZXIoKTsKKyB9CisgCitAQCAtNTMsNyArNTMsNyBA QCBzdGQ6OnN0cmluZyBHZXRNYWpvclZlcnNpb25OdW1iZXIoKTsKKyBjb25zdCBiYXNlOjpWZXJz aW9uJiBHZXRWZXJzaW9uKCk7CisgCisgLy8gUmV0dXJucyBhIHZlcnNpb24gY29udHJvbCBzcGVj aWZpYyBpZGVudGlmaWVyIG9mIHRoaXMgcmVsZWFzZS4KKy1jb25zdGV4cHIgc3RkOjpzdHJpbmcg R2V0TGFzdENoYW5nZSgpIHsKKytzdGF0aWMgY29uc3Qgc3RkOjpzdHJpbmcgR2V0TGFzdENoYW5n ZSgpIHsKKyAgIHJldHVybiBMQVNUX0NIQU5HRTsKKyB9CisgCitAQCAtNjUsNyArNjUsNyBAQCBj b25zdGV4cHIgYm9vbCBJc09mZmljaWFsQnVpbGQoKSB7CisgfQorIAorIC8vIFJldHVybnMgdGhl IE9TIHR5cGUsIGUuZy4gIldpbmRvd3MiLCAiTGludXgiLCAiRnJlZUJTRCIsIC4uLgorLWNvbnN0 ZXhwciBzdGQ6OnN0cmluZyBHZXRPU1R5cGUoKSB7Cisrc3RhdGljIGNvbnN0IHN0ZDo6c3RyaW5n IEdldE9TVHlwZSgpIHsKKyAjaWYgQlVJTERGTEFHKElTX1dJTikKKyAgIHJldHVybiAiV2luZG93 cyI7CisgI2VsaWYgQlVJTERGTEFHKElTX0lPUykKK0BAIC05Nyw3ICs5Nyw3IEBAIGNvbnN0ZXhw ciBzdGQ6OnN0cmluZyBHZXRPU1R5cGUoKSB7CisgCisgLy8gUmV0dXJucyBhIHN0cmluZyBlcXVp dmFsZW50IG9mIHxjaGFubmVsfCwgaW5kZXBlbmRlbnQgb2Ygd2hldGhlciB0aGUgYnVpbGQKKyAv LyBpcyBicmFuZGVkIG9yIG5vdCBhbmQgd2l0aG91dCBhbnkgYWRkaXRpb25hbCBtb2RpZmllcnMu CistY29uc3RleHByIHN0ZDo6c3RyaW5nIEdldENoYW5uZWxTdHJpbmcoQ2hhbm5lbCBjaGFubmVs KSB7Cisrc3RhdGljIGNvbnN0IHN0ZDo6c3RyaW5nIEdldENoYW5uZWxTdHJpbmcoQ2hhbm5lbCBj aGFubmVsKSB7CisgICBzd2l0Y2ggKGNoYW5uZWwpIHsKKyAgICAgY2FzZSBDaGFubmVsOjpTVEFC TEU6CisgICAgICAgcmV0dXJuICJzdGFibGUiOworQEAgLTExNCw3ICsxMTQsNyBAQCBjb25zdGV4 cHIgc3RkOjpzdHJpbmcgR2V0Q2hhbm5lbFN0cmluZyhDCisgfQorIAorIC8vIFJldHVybnMgYSBs aXN0IG9mIHNhbml0aXplcnMgZW5hYmxlZCBpbiB0aGlzIGJ1aWxkLgorLWNvbnN0ZXhwciBzdGQ6 OnN0cmluZyBHZXRTYW5pdGl6ZXJMaXN0KCkgeworK3N0YXRpYyBjb25zdCBzdGQ6OnN0cmluZyBH ZXRTYW5pdGl6ZXJMaXN0KCkgeworICAgcmV0dXJuICIiCisgI2lmIGRlZmluZWQoQUREUkVTU19T QU5JVElaRVIpCisgICAgICAgICAgImFkZHJlc3MgIgoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTEx NC1nY2MxMy5wYXRjaCBiL2Nocm9taXVtLTExNC1nY2MxMy5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5jNzllNzRlCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0t MTE0LWdjYzEzLnBhdGNoCkBAIC0wLDAgKzEsMzg5IEBACitkaWZmIC11cCBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2Jhc2UvY2hlY2tfb3AuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2Uv Y2hlY2tfb3AuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVja19vcC5oLm1l CTIwMjMtMDEtMTcgMTc6Mzk6MjcuNjIwODc1ODgzICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAu NTQxNC43NC9iYXNlL2NoZWNrX29wLmgJMjAyMy0wMS0xNyAxNzozOTo0Mi41NDYwNjA5NTcgKzAx MDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQkFTRV9DSEVDS19PUF9IXworICNkZWZpbmUg QkFTRV9DSEVDS19PUF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxjc3Rk ZGVmPgorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorZGlmZiAt dXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgubWUgY2hyb21p dW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgKKy0tLSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZQkyMDIzLTAxLTE3IDE2OjI5OjI2LjM2 ODA5MDA3MyArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9kZWJ1Zy9wcm9m aWxlci5oCTIwMjMtMDEtMTcgMTY6NTk6NDEuMTkwNjI4Njc5ICswMTAwCitAQCAtNyw2ICs3LDcg QEAKKyAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2lu Y2x1ZGUgPHN0cmluZz4KKyAKKyAjaW5jbHVkZSAiYmFzZS9iYXNlX2V4cG9ydC5oIgorZGlmZiAt dXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Zpei9jb21tb24vdmlld190cmFu c2l0aW9uX2VsZW1lbnRfcmVzb3VyY2VfaWQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nv bXBvbmVudHMvdml6L2NvbW1vbi92aWV3X3RyYW5zaXRpb25fZWxlbWVudF9yZXNvdXJjZV9pZC5o CistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Zpei9jb21tb24vdmlld190 cmFuc2l0aW9uX2VsZW1lbnRfcmVzb3VyY2VfaWQuaC5tZQkyMDIzLTAxLTE3IDE5OjAzOjEwLjky MDAxNDgwNiArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy92aXov Y29tbW9uL3ZpZXdfdHJhbnNpdGlvbl9lbGVtZW50X3Jlc291cmNlX2lkLmgJMjAyMy0wMS0xNyAx OTowMzo0OC43MzYzOTUyNzQgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQ09NUE9O RU5UU19WSVpfQ09NTU9OX1ZJRVdfVFJBTlNJVElPTl9FTEVNRU5UX1JFU09VUkNFX0lEX0hfCisg I2RlZmluZSBDT01QT05FTlRTX1ZJWl9DT01NT05fVklFV19UUkFOU0lUSU9OX0VMRU1FTlRfUkVT T1VSQ0VfSURfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgor ICNpbmNsdWRlIDx2ZWN0b3I+CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2dw dS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZ3B1 L2NvbmZpZy9ncHVfZmVhdHVyZV9pbmZvLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2dw dS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oLm1lCTIwMjMtMDEtMTcgMTk6MDY6NTMuNTMwNjc1 MTI5ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dwdV9mZWF0 dXJlX2luZm8uaAkyMDIzLTAxLTE3IDE5OjA3OjA4Ljg3NDg0OTg3OSArMDEwMAorQEAgLTUsNiAr NSw3IEBACisgI2lmbmRlZiBHUFVfQ09ORklHX0dQVV9GRUFUVVJFX0lORk9fSF8KKyAjZGVmaW5l IEdQVV9DT05GSUdfR1BVX0ZFQVRVUkVfSU5GT19IXworIAorKyNpbmNsdWRlIDxjc3RkaW50Pgor ICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKyAKK2RpZmYgLXVwIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oLm1lIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgubWUJMjAyMy0wMS0xNyAxODoxNjozNC4xMzM4NTQ2MTUg KzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9iYXNlL25ldF9leHBvcnQuaAky MDIzLTAxLTE3IDE4OjE2OjE1Ljk0NTYyMzE1MyArMDEwMAorQEAgLTUsNiArNSw4IEBACisgI2lm bmRlZiBORVRfQkFTRV9ORVRfRVhQT1JUX0hfCisgI2RlZmluZSBORVRfQkFTRV9ORVRfRVhQT1JU X0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisrCisgLy8gRGVmaW5lcyBORVRfRVhQT1JUIHNv IHRoYXQgZnVuY3Rpb25hbGl0eSBpbXBsZW1lbnRlZCBieSB0aGUgbmV0IG1vZHVsZSBjYW4KKyAv LyBiZSBleHBvcnRlZCB0byBjb25zdW1lcnMsIGFuZCBORVRfRVhQT1JUX1BSSVZBVEUgdGhhdCBh bGxvd3MgdW5pdCB0ZXN0cyB0bworIC8vIGFjY2VzcyBmZWF0dXJlcyBub3QgaW50ZW5kZWQgdG8g YmUgdXNlZCBkaXJlY3RseSBieSByZWFsIGNvbnN1bWVycy4KK2RpZmYgLXVwIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJt aXNzaW9uLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5kYm94L2xpbnV4L3N5c2NhbGxf YnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgu bWUJMjAyMy0wMS0xNyAxNzoxMjozNC4xODQ2ODY1MTUgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlz c2lvbi5oCTIwMjMtMDEtMTcgMTc6MTM6MTYuNTM3MTYyNDIwICswMTAwCitAQCAtNSw2ICs1LDcg QEAKKyAjaWZuZGVmIFNBTkRCT1hfTElOVVhfU1lTQ0FMTF9CUk9LRVJfQlJPS0VSX0ZJTEVfUEVS TUlTU0lPTl9IXworICNkZWZpbmUgU0FOREJPWF9MSU5VWF9TWVNDQUxMX0JST0tFUl9CUk9LRVJf RklMRV9QRVJNSVNTSU9OX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGJp dHNldD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQx NC43NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5oLm1l IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmlu Z3Mvc3RyaW5nX3ZpZXcuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv YWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaC5tZQkyMDIzLTAxLTE3IDE3OjMz OjIwLjg5NTcxNzMwNyArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaAkyMDIzLTAxLTE3IDE3OjM0 OjAzLjQ1NjE4NTM2NSArMDEwMAorQEAgLTI3LDYgKzI3LDcgQEAKKyAjaWZuZGVmIEFCU0xfU1RS SU5HU19TVFJJTkdfVklFV19IXworICNkZWZpbmUgQUJTTF9TVFJJTkdTX1NUUklOR19WSUVXX0hf CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVk ZSA8Y2Fzc2VydD4KKyAjaW5jbHVkZSA8Y3N0ZGRlZj4KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1NoYWRlclZhcnMuaC5t ZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFO Ry9TaGFkZXJWYXJzLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fu Z2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWUJMjAyMy0wMS0xNyAxNzozNjoxNS4w MTc2MTYyNTAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fu Z2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgJMjAyMy0wMS0xNyAxNzozNjo0OC45NjA5 ODIxOTUgKzAxMDAKK0BAIC0xMCw2ICsxMCw3IEBACisgI2lmbmRlZiBHTFNMQU5HX1NIQURFUlZB UlNfSF8KKyAjZGVmaW5lIEdMU0xBTkdfU0hBREVSVkFSU19IXworIAorKyNpbmNsdWRlIDxjc3Rk aW50PgorICNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1ZGUgPGFycmF5PgorICNpbmNsdWRl IDxzdHJpbmc+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Js aW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9vdGhfZGV2aWNlX2lkLmgubWUg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2Js dWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQx NC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRv b3RoX2RldmljZV9pZC5oLm1lCTIwMjMtMDEtMTcgMTk6MTc6NDAuNDgwODc2MTcxICswMTAwCisr KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9u L2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCTIwMjMtMDEtMTcgMTk6MTc6NDYu ODAzOTU4MzIwICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIFRISVJEX1BBUlRZX0JM SU5LX1BVQkxJQ19DT01NT05fQkxVRVRPT1RIX1dFQl9CTFVFVE9PVEhfREVWSUNFX0lEX0hfCisg I2RlZmluZSBUSElSRF9QQVJUWV9CTElOS19QVUJMSUNfQ09NTU9OX0JMVUVUT09USF9XRUJfQkxV RVRPT1RIX0RFVklDRV9JRF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxh cnJheT4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQx NC43NC90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L3JlYWRlci9zcGlydi9uYW1lci5oLm1lIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9yZWFkZXIvc3Bp cnYvbmFtZXIuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9z cmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaC5tZQkyMDIzLTAxLTE3IDE4OjAyOjQ0LjY4MTUz ODEwNyArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9z cmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaAkyMDIzLTAxLTE3IDE4OjAyOjU3LjIwODY3OTE0 MCArMDEwMAorQEAgLTE1LDYgKzE1LDcgQEAKKyAjaWZuZGVmIFNSQ19USU5UX1JFQURFUl9TUElS Vl9OQU1FUl9IXworICNkZWZpbmUgU1JDX1RJTlRfUkVBREVSX1NQSVJWX05BTUVSX0hfCisgCisr I2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dW5vcmRl cmVkX21hcD4KKyAjaW5jbHVkZSA8dmVjdG9yPgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQx NC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ru c19zZF90eHRfcmVjb3JkLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9v cGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgK Ky0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rp c2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaC5tZQkyMDIzLTAxLTE4IDE1 OjIyOjM4LjQ3Mjk0MDY0OCArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3Jl Y29yZC5oCTIwMjMtMDEtMTggMTU6MjM6MDkuMzgwMjU1MTAxICswMTAwCitAQCAtNSw2ICs1LDcg QEAKKyAjaWZuZGVmIERJU0NPVkVSWV9ETlNTRF9QVUJMSUNfRE5TX1NEX1RYVF9SRUNPUkRfSF8K KyAjZGVmaW5lIERJU0NPVkVSWV9ETlNTRF9QVUJMSUNfRE5TX1NEX1RYVF9SRUNPUkRfSF8KKyAK KysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyAjaW5jbHVkZSA8 bWFwPgorICNpbmNsdWRlIDxzZXQ+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNo ZS5ocHAKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVy L3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwLm1lCTIwMjMtMDEtMTcgMTU6Mzc6NDguNTMwNjI2NTE2 ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRl ci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcAkyMDIzLTAxLTE3IDE2OjU3OjQ2LjAyNTU0ODA5MiAr MDEwMAorQEAgLTE3LDYgKzE3LDcgQEAKKyAKKyAjaW5jbHVkZSAiU3lzdGVtL0RlYnVnLmhwcCIK KyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8Y3N0ZGRlZj4KKyAjaW5jbHVkZSA8 ZnVuY3Rpb25hbD4KKyAjaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4KK2RpZmYgLXVwIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdnVsa2FuX21lbW9yeV9hbGxvY2F0b3IvaW5jbHVk ZS92a19tZW1fYWxsb2MuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1 bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgKKy0tLSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1 ZGUvdmtfbWVtX2FsbG9jLmgubWUJMjAyMy0wMS0xNyAxNTo0MDoyMy44NTQzODYyMDYgKzAxMDAK KysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxs b2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgJMjAyMy0wMS0xNyAxNjo1ODoxOS4zOTc4NjI4 ODUgKzAxMDAKK0BAIC0yMzg4LDYgKzIzODgsNyBAQCBWTUFfQ0FMTF9QUkUgdm9pZCBWTUFfQ0FM TF9QT1NUIHZtYUZyZWVWCisgI2lmZGVmIFZNQV9JTVBMRU1FTlRBVElPTg0KKyAjdW5kZWYgVk1B X0lNUExFTUVOVEFUSU9ODQorIA0KKysjaW5jbHVkZSA8Y3N0ZGlvPg0KKyAjaW5jbHVkZSA8Y3N0 ZGludD4NCisgI2luY2x1ZGUgPGNzdGRsaWI+DQorICNpbmNsdWRlIDxjc3RyaW5nPg0KK2RpZmYg LXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVu dC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFk aWVudC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngvZ2VvbWV0cnkvbGluZWFy X2dyYWRpZW50LmgubWUJMjAyMy0wMS0xNyAxODowODoyNS43NDU0OTEzNTMgKzAxMDAKKysrKyBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaAky MDIzLTAxLTE3IDE4OjA4OjM1Ljc3NzY2NzYzMiArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lm bmRlZiBVSV9HRlhfTElORUFSX0dSQURJRU5UX0hfCisgI2RlZmluZSBVSV9HRlhfTElORUFSX0dS QURJRU5UX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGFycmF5PgorICNp bmNsdWRlIDxzdHJpbmc+CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJk X3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVu dGF0aW9uLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMv cnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1lCTIwMjMtMDEtMTkgMTA6MTA6MjEuMjg3 ODc2NzM2ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ydXkv c3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24uaAkyMDIzLTAxLTE5IDEwOjExOjIxLjcx NDc3ODg5NiArMDEwMAorQEAgLTE3LDYgKzE3LDcgQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExp Y2Vuc2UuCisgI2RlZmluZSBSVVlfUlVZX1BST0ZJTEVSX0lOU1RSVU1FTlRBVElPTl9IXworIAor ICNpZmRlZiBSVVlfUFJPRklMRVIKKysjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDxjc3Rk aW8+CisgI2luY2x1ZGUgPG11dGV4PgorICNpbmNsdWRlIDx2ZWN0b3I+CitkaWZmIC11cCBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRl L2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwv c3BlY3Ryb2dyYW0uaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZs aXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oLm1l CTIwMjMtMDEtMTkgMTA6MzA6MjcuNTMzODYxOTg1ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2lu dGVybmFsL3NwZWN0cm9ncmFtLmgJMjAyMy0wMS0xOSAxMDozMToxMi41ODU1NTQxODMgKzAxMDAK K0BAIC0zMSw2ICszMSw3IEBAIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICNpZm5k ZWYgVEVOU09SRkxPV19MSVRFX0tFUk5FTFNfSU5URVJOQUxfU1BFQ1RST0dSQU1fSF8KKyAjZGVm aW5lIFRFTlNPUkZMT1dfTElURV9LRVJORUxTX0lOVEVSTkFMX1NQRUNUUk9HUkFNX0hfCisgCisr I2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGNvbXBsZXg+CisgI2luY2x1ZGUgPGRlcXVl PgorICNpbmNsdWRlIDx2ZWN0b3I+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jh c2UvY29udGFpbmVycy9mbGF0X21hcC5oLm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2Uv Y29udGFpbmVycy9mbGF0X21hcC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2Nv bnRhaW5lcnMvZmxhdF9tYXAuaC5tZWUJMjAyMy0wMS0xOSAxMDo1OTo1Mi4yMTQ5NTc3NzMgKzAx MDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5o CTIwMjMtMDEtMTkgMTE6MDA6MDYuNDE1MjE1MzA5ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAj aWZuZGVmIEJBU0VfQ09OVEFJTkVSU19GTEFUX01BUF9IXworICNkZWZpbmUgQkFTRV9DT05UQUlO RVJTX0ZMQVRfTUFQX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGZ1bmN0 aW9uYWw+CisgI2luY2x1ZGUgPHR1cGxlPgorICNpbmNsdWRlIDx1dGlsaXR5PgorZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3Jl cG9ydGVyX2NsaWVudC5oLm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jh c2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50Lmgu bWVlCTIwMjMtMDEtMTkgMTA6MzY6NDAuNTcxNDIyODI2ICswMTAwCisrKysgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVu dC5oCTIwMjMtMDEtMTkgMTA6MzY6NDkuMzQzNTY1Mjk0ICswMTAwCitAQCAtNSw2ICs1LDcgQEAK KyAjaWZuZGVmIENPTVBPTkVOVFNfQ1JBU0hfQ09SRV9BUFBfQ1JBU0hfUkVQT1JURVJfQ0xJRU5U X0hfCisgI2RlZmluZSBDT01QT05FTlRTX0NSQVNIX0NPUkVfQVBQX0NSQVNIX1JFUE9SVEVSX0NM SUVOVF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgCisg I2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAu NTQxNC43NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oLm1lZSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgKKy0tLSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgubWVl CTIwMjMtMDEtMTkgMTE6NDU6MTUuOTUzMTU5NzU1ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAu NTQxNC43NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oCTIwMjMtMDEtMTkgMTE6 NDU6MjIuMzIwMjQ2MjQxICswMTAwCitAQCAtNSw2ICs1LDggQEAKKyAjaWZuZGVmIFVJX0JBU0Vf UFJFRElDVElPTl9LQUxNQU5fRklMVEVSX0hfCisgI2RlZmluZSBVSV9CQVNFX1BSRURJQ1RJT05f S0FMTUFOX0ZJTFRFUl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorKworICNpbmNsdWRlICJi YXNlL2NvbXBvbmVudF9leHBvcnQuaCIKKyAjaW5jbHVkZSAidWkvZ2Z4L2dlb21ldHJ5L21hdHJp eDNfZi5oIgorIAorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bh c3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9y LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIv Y29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgKKy0tLSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIv Z2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaC5tZQkyMDIzLTAxLTE5IDE1OjIwOjA3LjYy MDk4Nzk0OSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNz d29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5o CTIwMjMtMDEtMTkgMTU6MjA6MTguMzI0MTczNzAyICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAj aWZuZGVmIENPTVBPTkVOVFNfUEFTU1dPUkRfTUFOQUdFUl9DT1JFX0JST1dTRVJfR0VORVJBVElP Tl9QQVNTV09SRF9HRU5FUkFUT1JfSF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfUEFTU1dPUkRfTUFO QUdFUl9DT1JFX0JST1dTRVJfR0VORVJBVElPTl9QQVNTV09SRF9HRU5FUkFUT1JfSF8KKyAKKysj aW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorIAorZGlmZiAtdXAgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5h bC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29t cG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0 b3IuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2Fn ZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5tZQkyMDIzLTAxLTE5IDE2 OjAwOjE0LjM1MDE4NjUxNSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9u ZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3Iu aAkyMDIzLTAxLTE5IDE2OjAwOjIxLjY0MzMwNzk5MyArMDEwMAorQEAgLTUsNiArNSw3IEBACisg I2lmbmRlZiBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9FVkVOVF9TVE9S QUdFX1ZBTElEQVRPUl9IXworICNkZWZpbmUgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRf SU5URVJOQUxfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGlu dD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorIG5hbWVzcGFjZSBmZWF0dXJlX2VuZ2FnZW1lbnQg eworZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5n YWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1lIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwv bmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3Rv cmFnZV92YWxpZGF0b3IuaC5tZQkyMDIzLTAxLTE5IDE1OjU5OjE4LjIxMDIzOTQxNiArMDEwMAor KysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQv aW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaAkyMDIzLTAxLTE5IDE1OjU5 OjM0LjUxMzUxNTAzMCArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRT X0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9ORVZFUl9FVkVOVF9TVE9SQUdFX1ZBTElEQVRP Ul9IXworICNkZWZpbmUgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfTkVW RVJfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAj aW5jbHVkZSA8c3RyaW5nPgorIAorICNpbmNsdWRlICJjb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdl bWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oIgorZGlmZiAtdXAgY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZt LTEwLjAvbGx2bS9pbmNsdWRlL2xsdm0vU3VwcG9ydC9TaWduYWxzLmgubWUgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAv bGx2bS9pbmNsdWRlL2xsdm0vU3VwcG9ydC9TaWduYWxzLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZt L2luY2x1ZGUvbGx2bS9TdXBwb3J0L1NpZ25hbHMuaC5tZQkyMDIzLTAxLTE5IDE2OjA2OjE3LjU0 ODI3Mjg3OCArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dp ZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vaW5jbHVkZS9sbHZtL1N1cHBvcnQv U2lnbmFscy5oCTIwMjMtMDEtMTkgMTY6MDY6MjUuNjg1NDEwNTkyICswMTAwCitAQCAtMTQsNiAr MTQsNyBAQAorICNpZm5kZWYgTExWTV9TVVBQT1JUX1NJR05BTFNfSAorICNkZWZpbmUgTExWTV9T VVBQT1JUX1NJR05BTFNfSAorIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJp bmc+CisgCisgbmFtZXNwYWNlIGxsdm0geworZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIv U3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQv VW5peC9TaWduYWxzLmluYworLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv c3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9T aWduYWxzLmluYy5tZQkyMDIzLTAxLTE5IDE2OjA5OjI5LjIxNjQ3NzE4MiArMDEwMAorKysrIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkv bGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWduYWxzLmluYwkyMDIzLTAxLTE5IDE2 OjEwOjA1LjY1NzA4OTIwOCArMDEwMAorQEAgLTQ1LDYgKzQ1LDcgQEAKKyAjaW5jbHVkZSAibGx2 bS9TdXBwb3J0L1NhdmVBbmRSZXN0b3JlLmgiCisgI2luY2x1ZGUgImxsdm0vU3VwcG9ydC9yYXdf b3N0cmVhbS5oIgorICNpbmNsdWRlIDxhbGdvcml0aG0+CisrI2luY2x1ZGUgPGNzdGRpbnQ+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8c3lzZXhpdHMuaD4KKyAjaWZkZWYgSEFWRV9C QUNLVFJBQ0UKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIv cHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9z dXJmYWNlX3RyYWNrZXIuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dz ZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgubWUJMjAyMy0w MS0xOSAxNjozMjowNS4zMzgxNjAxMzEgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tl ci5oCTIwMjMtMDEtMTkgMTY6MzI6MTYuMjEzMzI2Nzk4ICswMTAwCitAQCAtNSw2ICs1LDcgQEAK KyAjaWZuZGVmIENIUk9NRV9CUk9XU0VSX1BSSVZBQ1lfQlVER0VUX0VOQ09VTlRFUkVEX1NVUkZB Q0VfVFJBQ0tFUl9IXworICNkZWZpbmUgQ0hST01FX0JST1dTRVJfUFJJVkFDWV9CVURHRVRfRU5D T1VOVEVSRURfU1VSRkFDRV9UUkFDS0VSX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2lu Y2x1ZGUgPG1hcD4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jb250YWluZXJzL2ZsYXRfc2V0LmgiCitk aWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9i cm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0dWR5LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVk eS5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUv YnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oLm1lCTIwMjMtMDEtMTkgMTY6NDc6NTUu NTQ4NTcxMTAyICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1 dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oCTIwMjMtMDEtMTkg MTY6NDg6MjkuMjE0MTQ2NTI5ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBP TkVOVFNfQVVUT0ZJTExfQ09SRV9CUk9XU0VSX0FVVE9GSUxMX0FCTEFUSU9OX1NUVURZX0hfCisg I2RlZmluZSBDT01QT05FTlRTX0FVVE9GSUxMX0NPUkVfQlJPV1NFUl9BVVRPRklMTF9BQkxBVElP Tl9TVFVEWV9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+Cisg CisgY2xhc3MgR1VSTDsKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50 cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaC5tZSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21vZGVs LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93c2Vy L29uX2RldmljZV9oZWFkX21vZGVsLmgubWUJMjAyMy0wMS0xOSAxNjo1NzoyOS41MjUzNzI4MTQg KzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvb21uaWJveC9icm93 c2VyL29uX2RldmljZV9oZWFkX21vZGVsLmgJMjAyMy0wMS0xOSAxNjo1ODowMi42Njc5NzkyODgg KzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQ09NUE9ORU5UU19PTU5JQk9YX0JST1dT RVJfT05fREVWSUNFX0hFQURfTU9ERUxfSF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfT01OSUJPWF9C Uk9XU0VSX09OX0RFVklDRV9IRUFEX01PREVMX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dXRpbGl0eT4KKyAjaW5jbHVkZSA8dmVjdG9y PgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3BheW1lbnRzL2Nv bnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNl ci5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRl bnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaC5tZQkyMDIzLTAxLTE5IDE3OjAyOjQ1LjI1 ODU0NDY2NSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXlt ZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFyc2VyLmgJMjAyMy0wMS0xOSAxNzow Mjo1Mi41Nzc2MTE3NTcgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQ09NUE9ORU5U U19QQVlNRU5UU19DT05URU5UX1VUSUxJVFlfRklOR0VSUFJJTlRfUEFSU0VSX0hfCisgI2RlZmlu ZSBDT01QT05FTlRTX1BBWU1FTlRTX0NPTlRFTlRfVVRJTElUWV9GSU5HRVJQUklOVF9QQVJTRVJf SF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgCisgI2lu Y2x1ZGUgPHN0cmluZz4KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3Vt ZW50X2F0dGFjaG1lbnRfaW5mby5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3Vt ZW50X2F0dGFjaG1lbnRfaW5mby5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9wZGYvZG9j dW1lbnRfYXR0YWNobWVudF9pbmZvLmgubWUJMjAyMy0wMS0xOSAxNzoyODoyOC41NTIwNjM1MzQg KzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50 X2luZm8uaAkyMDIzLTAxLTE5IDE3OjI4OjQ4LjA3MjM3OTk1MyArMDEwMAorQEAgLTUsNiArNSw3 IEBACisgI2lmbmRlZiBQREZfRE9DVU1FTlRfQVRUQUNITUVOVF9JTkZPX0hfCisgI2RlZmluZSBQ REZfRE9DVU1FTlRfQVRUQUNITUVOVF9JTkZPX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAKKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgubWUgY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25f ZmxhZ3MuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcGRmaXVtL2Nv bnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgubWUJMjAyMy0wMS0xOSAxODoyNTo0Ny42NDgxOTM3 MTAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9j b25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oCTIwMjMtMDEtMTkgMTg6MjY6MTEuNDg4NTkzNTU2 ICswMTAwCitAQCAtNSw2ICs1LDggQEAKKyAjaWZuZGVmIENPTlNUQU5UU19BTk5PVEFUSU9OX0ZM QUdTX0hfCisgI2RlZmluZSBDT05TVEFOVFNfQU5OT1RBVElPTl9GTEFHU19IXworIAorKyNpbmNs dWRlIDxjc3RkaW50PgorKworIG5hbWVzcGFjZSBwZGZpdW0geworIG5hbWVzcGFjZSBhbm5vdGF0 aW9uX2ZsYWdzIHsKKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jcHUu aC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY3B1LmgKKy0tLSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2Jhc2UvY3B1LmgubWUJMjAyMy0wMS0xOSAyMTozMTowMi45MDUwNjI5ODcgKzAx MDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY3B1LmgJMjAyMy0wMS0xOSAyMToz MTozMi4yOTg1NzMyNjcgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQkFTRV9DUFVf SF8KKyAjZGVmaW5lIEJBU0VfQ1BVX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1 ZGUgPHN0cmluZz4KKyAKKyAjaW5jbHVkZSAiYmFzZS9iYXNlX2V4cG9ydC5oIgorZGlmZiAtdXAg Y2hyb21pdW0tMTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFs aWRhdGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgubWUg Y2hyb21pdW0tMTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFs aWRhdGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgKKy0t LSBjaHJvbWl1bS0xMTMuMC41NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12 YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2MuaC5t ZQkyMDIzLTA0LTE1IDE2OjQ0OjU1LjM0NDMwNTQxMiArMDIwMAorKysrIGNocm9taXVtLTExMy4w LjU2NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJz L3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oCTIwMjMtMDQtMTUgMTY6NDc6 MDkuMDI4NjY2OTk1ICswMjAwCitAQCAtMjg1NCw2ICsyODU0LDcgQEAgc3RhdGljIHZvaWQgdm1h X2FsaWduZWRfZnJlZSh2b2lkKiBWTUFfTgorIAorIC8vIERlZmluZSB0aGlzIG1hY3JvIHRvIDEg dG8gZW5hYmxlIGZ1bmN0aW9uczogdm1hQnVpbGRTdGF0c1N0cmluZywgdm1hRnJlZVN0YXRzU3Ry aW5nLgorICNpZiBWTUFfU1RBVFNfU1RSSU5HX0VOQUJMRUQKKysjaW5jbHVkZSA8c3RkaW8uaD4K KyAgICAgc3RhdGljIGlubGluZSB2b2lkIFZtYVVpbnQzMlRvU3RyKGNoYXIqIFZNQV9OT1RfTlVM TCBvdXRTdHIsIHNpemVfdCBzdHJMZW4sIHVpbnQzMl90IG51bSkKKyAgICAgeworICAgICAgICAg c25wcmludGYob3V0U3RyLCBzdHJMZW4sICIldSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4o bnVtKSk7CitkaWZmIC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2VyL3dl YmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaC5tZSBjaHJvbWl1bS0x MTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVz dF9kaWFsb2dfbW9kZWwuaAorLS0tIGNocm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21lL2Jyb3dz ZXIvd2ViYXV0aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oLm1lCTIwMjMt MDQtMTggMTU6NTU6NDQuNzc0OTE2MzE5ICswMjAwCisrKysgY2hyb21pdW0tMTEzLjAuNTY3Mi4z Ny9jaHJvbWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21v ZGVsLmgJMjAyMy0wNC0xOCAxNTo1NTo1NC40NDEwODU4ODIgKzAyMDAKK0BAIC04LDYgKzgsNyBA QAorICNpbmNsdWRlIDxtZW1vcnk+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dmVj dG9yPgorKyNpbmNsdWRlIDx2YXJpYW50PgorIAorICNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMv c3Bhbi5oIgorICNpbmNsdWRlICJiYXNlL2Z1bmN0aW9uYWwvY2FsbGJhY2tfZm9yd2FyZC5oIgor ZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgubWUgY2hy b21pdW0tMTEzLjAuNTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgKKy0tLSBjaHJvbWl1bS0xMTMu MC41NjcyLjM3L2dpbi90aW1lX2NsYW1wZXIuaC5tZQkyMDIzLTA0LTE4IDE2OjM4OjQxLjE4MDQz NzQ2NyArMDIwMAorKysrIGNocm9taXVtLTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5o CTIwMjMtMDQtMTggMTY6Mzk6NDMuODU3MDQ5NDMyICswMjAwCitAQCAtNDgsNyArNDgsNyBAQCBj bGFzcyBHSU5fRVhQT1JUIFRpbWVDbGFtcGVyIHsKKyAgICAgY29uc3QgaW50NjRfdCBtaWNyb3Mg PSBub3dfbWljcm9zICUgMTAwMDsKKyAgICAgLy8gYWJzKCkgaXMgbmVjZXNzYXJ5IGZvciBkZXZp Y2VzIHdpdGggdGltZXMgYmVmb3JlIHVuaXgtZXBvY2ggKG1vc3QgbGlrZWx5CisgICAgIC8vIGNv bmZpZ3VyZWQgaW5jb3JyZWN0bHkpLgorLSAgICBpZiAoYWJzKG1pY3JvcykgKyBrUmVzb2x1dGlv bk1pY3JvcyA8IDEwMDApIHsKKysgICAgaWYgKHN0ZDo6YWJzKG1pY3JvcykgKyBrUmVzb2x1dGlv bk1pY3JvcyA8IDEwMDApIHsKKyAgICAgICByZXR1cm4gbm93X21pY3JvcyAvIDEwMDA7CisgICAg IH0KKyAgICAgcmV0dXJuIENsYW1wVGltZVJlc29sdXRpb24obm93X21pY3JvcykgLyAxMDAwOwor ZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIv Y2hyb21lL3dlYl92aWV3X2ltcGwuY2MubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUv dGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwuY2MKKy0tLSBjaHJvbWl1bS0x MTMuMC41NjcyLjUzL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1w bC5jYy5tZQkyMDIzLTA0LTIxIDA4OjA3OjU1LjM2MjcxNDU0NCArMDIwMAorKysrIGNocm9taXVt LTExMy4wLjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19p bXBsLmNjCTIwMjMtMDQtMjEgMDg6MTQ6MzUuNDI0MTU4NjkzICswMjAwCitAQCAtMTAsNiArMTAs NyBAQAorICNpbmNsdWRlIDxxdWV1ZT4KKyAjaW5jbHVkZSA8dXRpbGl0eT4KKyAjaW5jbHVkZSA8 dmVjdG9yPgorKyNpbmNsdWRlIDxjc3RyaW5nPgorIAorICNpbmNsdWRlICJiYXNlL2NoZWNrLmgi CisgI2luY2x1ZGUgImJhc2UvZmlsZXMvZmlsZV9wYXRoLmgiCgpkaWZmIC0tZ2l0IGEvY2hyb21p dW0tMTE0LW5vcmFyLnBhdGNoIGIvY2hyb21pdW0tMTE0LW5vcmFyLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzMjA1ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJv bWl1bS0xMTQtbm9yYXIucGF0Y2gKQEAgLTAsMCArMSwxMDUgQEAKK2RpZmYgLXVwIGNocm9taXVt LTExNC4wLjU3MzUuMzUvY2hyb21lL2Jyb3dzZXIvc2FmZV9icm93c2luZy9kb3dubG9hZF9wcm90 ZWN0aW9uL2ZpbGVfYW5hbHl6ZXIuY2Mubm91bnJhciBjaHJvbWl1bS0xMTQuMC41NzM1LjM1L2No cm9tZS9icm93c2VyL3NhZmVfYnJvd3NpbmcvZG93bmxvYWRfcHJvdGVjdGlvbi9maWxlX2FuYWx5 emVyLmNjCistLS0gY2hyb21pdW0tMTE0LjAuNTczNS4zNS9jaHJvbWUvYnJvd3Nlci9zYWZlX2Jy b3dzaW5nL2Rvd25sb2FkX3Byb3RlY3Rpb24vZmlsZV9hbmFseXplci5jYy5ub3VucmFyCTIwMjMt MDUtMTggMDA6Mzc6NDcuMDAwMDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTE0LjAuNTczNS4z NS9jaHJvbWUvYnJvd3Nlci9zYWZlX2Jyb3dzaW5nL2Rvd25sb2FkX3Byb3RlY3Rpb24vZmlsZV9h bmFseXplci5jYwkyMDIzLTA1LTIxIDE4OjEyOjMwLjM2ODQyNTA4MCArMDIwMAorQEAgLTc3LDgg Kzc3LDYgQEAgdm9pZCBGaWxlQW5hbHl6ZXI6OlN0YXJ0KGNvbnN0IGJhc2U6OkZpbAorIAorICAg aWYgKGluc3BlY3Rpb25fdHlwZSA9PSBEb3dubG9hZEZpbGVUeXBlOjpaSVApIHsKKyAgICAgU3Rh cnRFeHRyYWN0WmlwRmVhdHVyZXMoKTsKKy0gIH0gZWxzZSBpZiAoaW5zcGVjdGlvbl90eXBlID09 IERvd25sb2FkRmlsZVR5cGU6OlJBUikgeworLSAgICBTdGFydEV4dHJhY3RSYXJGZWF0dXJlcygp OworICNpZiBCVUlMREZMQUcoSVNfTUFDKQorICAgfSBlbHNlIGlmIChpbnNwZWN0aW9uX3R5cGUg PT0gRG93bmxvYWRGaWxlVHlwZTo6RE1HKSB7CisgICAgIFN0YXJ0RXh0cmFjdERtZ0ZlYXR1cmVz KCk7CitkaWZmIC11cCBjaHJvbWl1bS0xMTQuMC41NzM1LjM1L2Nocm9tZS9jb21tb24vc2FmZV9i cm93c2luZy9hcmNoaXZlX2FuYWx5emVyLmNjLm5vdW5yYXIgY2hyb21pdW0tMTE0LjAuNTczNS4z NS9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvYXJjaGl2ZV9hbmFseXplci5jYworLS0tIGNo cm9taXVtLTExNC4wLjU3MzUuMzUvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL2FyY2hpdmVf YW5hbHl6ZXIuY2Mubm91bnJhcgkyMDIzLTA1LTE4IDAwOjM3OjQ4LjAwMDAwMDAwMCArMDIwMAor KysrIGNocm9taXVtLTExNC4wLjU3MzUuMzUvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL2Fy Y2hpdmVfYW5hbHl6ZXIuY2MJMjAyMy0wNS0yMSAxODoxMToxNC44NzAwNTg2MzUgKzAyMDAKK0BA IC04LDcgKzgsNiBAQAorICNpbmNsdWRlICJidWlsZC9idWlsZF9jb25maWcuaCIKKyAjaW5jbHVk ZSAiYnVpbGQvYnVpbGRmbGFnLmgiCisgI2luY2x1ZGUgImNocm9tZS9jb21tb24vc2FmZV9icm93 c2luZy9hcmNoaXZlX2FuYWx5emVyX3Jlc3VsdHMuaCIKKy0jaW5jbHVkZSAiY2hyb21lL2NvbW1v bi9zYWZlX2Jyb3dzaW5nL3Jhcl9hbmFseXplci5oIgorICNpbmNsdWRlICJjaHJvbWUvY29tbW9u L3NhZmVfYnJvd3Npbmcvc2V2ZW5femlwX2FuYWx5emVyLmgiCisgI2luY2x1ZGUgImNocm9tZS9j b21tb24vc2FmZV9icm93c2luZy96aXBfYW5hbHl6ZXIuaCIKKyAjaW5jbHVkZSAiY29tcG9uZW50 cy9zYWZlX2Jyb3dzaW5nL2NvbnRlbnQvY29tbW9uL3Byb3RvL2Rvd25sb2FkX2ZpbGVfdHlwZXMu cGIuaCIKK0BAIC0yMyw5ICsyMiw3IEBAIG5hbWVzcGFjZSBzYWZlX2Jyb3dzaW5nIHsKKyAvLyBz dGF0aWMKKyBzdGQ6OnVuaXF1ZV9wdHI8QXJjaGl2ZUFuYWx5emVyPiBBcmNoaXZlQW5hbHl6ZXI6 OkNyZWF0ZUZvckFyY2hpdmVUeXBlKAorICAgICBEb3dubG9hZEZpbGVUeXBlX0luc3BlY3Rpb25U eXBlIGZpbGVfdHlwZSkgeworLSAgaWYgKGZpbGVfdHlwZSA9PSBEb3dubG9hZEZpbGVUeXBlOjpS QVIpIHsKKy0gICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8UmFyQW5hbHl6ZXI+KCk7CistICB9 IGVsc2UgaWYgKGZpbGVfdHlwZSA9PSBEb3dubG9hZEZpbGVUeXBlOjpaSVApIHsKKysgIGlmIChm aWxlX3R5cGUgPT0gRG93bmxvYWRGaWxlVHlwZTo6WklQKSB7CisgICAgIHJldHVybiBzdGQ6Om1h a2VfdW5pcXVlPFppcEFuYWx5emVyPigpOworICAgfSBlbHNlIGlmIChmaWxlX3R5cGUgPT0gRG93 bmxvYWRGaWxlVHlwZTo6U0VWRU5fWklQKSB7CisgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVl PFNldmVuWmlwQW5hbHl6ZXI+KCk7CitkaWZmIC11cCBjaHJvbWl1bS0xMTQuMC41NzM1LjM1L2No cm9tZS9jb21tb24vc2FmZV9icm93c2luZy9CVUlMRC5nbi5ub3VucmFyIGNocm9taXVtLTExNC4w LjU3MzUuMzUvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0JVSUxELmduCistLS0gY2hyb21p dW0tMTE0LjAuNTczNS4zNS9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvQlVJTEQuZ24ubm91 bnJhcgkyMDIzLTA1LTE4IDAwOjM3OjQ4LjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTEx NC4wLjU3MzUuMzUvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0JVSUxELmduCTIwMjMtMDUt MjEgMTg6MTE6MTQuODY5MDU4NjE3ICswMjAwCitAQCAtMTQ1LDggKzE0NSw2IEBAIHNvdXJjZV9z ZXQoInNhZmVfYnJvd3NpbmciKSB7CisgICAgICAgInByb3RvYnVmX21lc3NhZ2VfbG9nX21hY3Jv cy5oIiwKKyAgICAgICAicHJvdG9idWZfbWVzc2FnZV9yZWFkX21hY3Jvcy5oIiwKKyAgICAgICAi cHJvdG9idWZfbWVzc2FnZV93cml0ZV9tYWNyb3MuaCIsCistICAgICAgInJhcl9hbmFseXplci5j YyIsCistICAgICAgInJhcl9hbmFseXplci5oIiwKKyAgICAgICAic2V2ZW5femlwX2FuYWx5emVy LmNjIiwKKyAgICAgICAic2V2ZW5femlwX2FuYWx5emVyLmgiLAorICAgICAgICJ6aXBfYW5hbHl6 ZXIuY2MiLAorQEAgLTE2Miw3ICsxNjAsNiBAQCBzb3VyY2Vfc2V0KCJzYWZlX2Jyb3dzaW5nIikg eworICAgICAgICIvL2NvbXBvbmVudHMvc2FmZV9icm93c2luZy9jb250ZW50L2NvbW1vbjpmaWxl X3R5cGVfcG9saWNpZXMiLAorICAgICAgICIvL2NvbXBvbmVudHMvc2FmZV9icm93c2luZy9jb3Jl L2NvbW1vbiIsCisgICAgICAgIi8vdGhpcmRfcGFydHkvbHptYV9zZGsvZ29vZ2xlOnNldmVuX3pp cF9yZWFkZXIiLAorLSAgICAgICIvL3RoaXJkX3BhcnR5L3VucmFyOnVucmFyIiwKKyAgICAgXQor IAorICAgICBpZiAoaXNfbGludXgpIHsKK2RpZmYgLXVwIGNocm9taXVtLTExNC4wLjU3MzUuMzUv Y2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL3ppcF9hbmFseXplci5jYy5ub3VucmFyIGNocm9t aXVtLTExNC4wLjU3MzUuMzUvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL3ppcF9hbmFseXpl ci5jYworLS0tIGNocm9taXVtLTExNC4wLjU3MzUuMzUvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dz aW5nL3ppcF9hbmFseXplci5jYy5ub3VucmFyCTIwMjMtMDUtMTggMDA6Mzc6NDguMDAwMDAwMDAw ICswMjAwCisrKysgY2hyb21pdW0tMTE0LjAuNTczNS4zNS9jaHJvbWUvY29tbW9uL3NhZmVfYnJv d3NpbmcvemlwX2FuYWx5emVyLmNjCTIwMjMtMDUtMjEgMTg6MTE6MTQuODY5MDU4NjE3ICswMjAw CitAQCAtMTgsNyArMTgsNiBAQAorICNpbmNsdWRlICJiYXNlL3RpbWUvdGltZS5oIgorICNpbmNs dWRlICJidWlsZC9idWlsZF9jb25maWcuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2NvbW1vbi9zYWZl X2Jyb3dzaW5nL2FyY2hpdmVfYW5hbHl6ZXJfcmVzdWx0cy5oIgorLSNpbmNsdWRlICJjaHJvbWUv Y29tbW9uL3NhZmVfYnJvd3NpbmcvcmFyX2FuYWx5emVyLmgiCisgI2luY2x1ZGUgImNvbXBvbmVu dHMvc2FmZV9icm93c2luZy9jb250ZW50L2NvbW1vbi9maWxlX3R5cGVfcG9saWNpZXMuaCIKKyAj aW5jbHVkZSAiY29tcG9uZW50cy9zYWZlX2Jyb3dzaW5nL2NvcmUvY29tbW9uL2ZlYXR1cmVzLmgi CisgI2luY2x1ZGUgImNvbXBvbmVudHMvc2FmZV9icm93c2luZy9jb3JlL2NvbW1vbi9wcm90by9j c2QucGIuaCIKK2RpZmYgLXVwIGNocm9taXVtLTExNC4wLjU3MzUuMzUvY2hyb21lL3NlcnZpY2Vz L2ZpbGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuY2Mubm91bnJhciBjaHJvbWl1bS0xMTQu MC41NzM1LjM1L2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVy LmNjCistLS0gY2hyb21pdW0tMTE0LjAuNTczNS4zNS9jaHJvbWUvc2VydmljZXMvZmlsZV91dGls L3NhZmVfYXJjaGl2ZV9hbmFseXplci5jYy5ub3VucmFyCTIwMjMtMDUtMTggMDA6Mzc6NDguMDAw MDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTE0LjAuNTczNS4zNS9jaHJvbWUvc2VydmljZXMv ZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXplci5jYwkyMDIzLTA1LTIxIDE4OjExOjE0Ljg3 MDA1ODYzNSArMDIwMAorQEAgLTcxLDYgKzcxLDcgQEAgdm9pZCBTYWZlQXJjaGl2ZUFuYWx5emVy OjpBbmFseXplUmFyRmlsZQorICAgICBiYXNlOjpGaWxlIHJhcl9maWxlLAorICAgICBtb2pvOjpQ ZW5kaW5nUmVtb3RlPGNocm9tZTo6bW9qb206OlRlbXBvcmFyeUZpbGVHZXR0ZXI+IHRlbXBfZmls ZV9nZXR0ZXIsCisgICAgIEFuYWx5emVSYXJGaWxlQ2FsbGJhY2sgY2FsbGJhY2spIHsKKysjaWYg MAorICAgRENIRUNLKHJhcl9maWxlLklzVmFsaWQoKSk7CisgICB0ZW1wX2ZpbGVfZ2V0dGVyXy5C aW5kKHN0ZDo6bW92ZSh0ZW1wX2ZpbGVfZ2V0dGVyKSk7CisgICBjYWxsYmFja18gPSBzdGQ6Om1v dmUoY2FsbGJhY2spOworQEAgLTg2LDYgKzg3LDkgQEAgdm9pZCBTYWZlQXJjaGl2ZUFuYWx5emVy OjpBbmFseXplUmFyRmlsZQorICAgcmFyX2FuYWx5emVyXy5BbmFseXplKHN0ZDo6bW92ZShyYXJf ZmlsZSksIGJhc2U6OkZpbGVQYXRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjpt b3ZlKGFuYWx5c2lzX2ZpbmlzaGVkX2NhbGxiYWNrKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICBzdGQ6Om1vdmUodGVtcF9maWxlX2dldHRlcl9jYWxsYmFjayksICZyZXN1bHRzXyk7CisrI2Vs c2UKKysgIE5PVFJFQUNIRUQoKTsKKysjZW5kaWYKKyB9CisgCisgdm9pZCBTYWZlQXJjaGl2ZUFu YWx5emVyOjpBbmFseXplU2V2ZW5aaXBGaWxlKAorZGlmZiAtdXAgY2hyb21pdW0tMTE0LjAuNTcz NS4zNS9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXplci5oLm5v dW5yYXIgY2hyb21pdW0tMTE0LjAuNTczNS4zNS9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL3Nh ZmVfYXJjaGl2ZV9hbmFseXplci5oCistLS0gY2hyb21pdW0tMTE0LjAuNTczNS4zNS9jaHJvbWUv c2VydmljZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXplci5oLm5vdW5yYXIJMjAyMy0w NS0xOCAwMDozNzo0OC4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTQuMC41NzM1LjM1 L2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVyLmgJMjAyMy0w NS0yMSAxODoxMToxNC44NzAwNTg2MzUgKzAyMDAKK0BAIC02LDcgKzYsNiBAQAorICNkZWZpbmUg Q0hST01FX1NFUlZJQ0VTX0ZJTEVfVVRJTF9TQUZFX0FSQ0hJVkVfQU5BTFlaRVJfSF8KKyAKKyAj aW5jbHVkZSAiY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL2FyY2hpdmVfYW5hbHl6ZXJfcmVz dWx0cy5oIgorLSNpbmNsdWRlICJjaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvcmFyX2FuYWx5 emVyLmgiCisgI2luY2x1ZGUgImNocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9zZXZlbl96aXBf YW5hbHl6ZXIuaCIKKyAjaW5jbHVkZSAiY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL3ppcF9h bmFseXplci5oIgorICNpbmNsdWRlICJjaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL3B1YmxpYy9t b2pvbS9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIubW9qb20uaCIKK0BAIC02Myw3ICs2Miw2IEBAIGNs YXNzIFNhZmVBcmNoaXZlQW5hbHl6ZXIgOiBwdWJsaWMgY2hyb20KKyAgIHZvaWQgVGltZW91dCgp OworIAorICAgc2FmZV9icm93c2luZzo6WmlwQW5hbHl6ZXIgemlwX2FuYWx5emVyXzsKKy0gIHNh ZmVfYnJvd3Npbmc6OlJhckFuYWx5emVyIHJhcl9hbmFseXplcl87CisgICBzYWZlX2Jyb3dzaW5n OjpTZXZlblppcEFuYWx5emVyIHNldmVuX3ppcF9hbmFseXplcl87CisgI2lmIEJVSUxERkxBRyhJ U19NQUMpCisgICBzYWZlX2Jyb3dzaW5nOjpkbWc6OkRNR0FuYWx5emVyIGRtZ19hbmFseXplcl87 CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE0LXJldmVydC1hdjFlbmMtZWw5LnBhdGNoIGIvY2hy b21pdW0tMTE0LXJldmVydC1hdjFlbmMtZWw5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLmFmNjZiZDAKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMTQtcmV2 ZXJ0LWF2MWVuYy1lbDkucGF0Y2gKQEAgLTAsMCArMSw4NyBAQAorZGlmZiAtdXAgY2hyb21pdW0t MTE0LjAuNTczNS4zNS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfdmlkZW9fZW5jb2RlX2FjY2VsZXJh dG9yLmNjLm1lIGNocm9taXVtLTExNC4wLjU3MzUuMzUvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3Zp ZGVvX2VuY29kZV9hY2NlbGVyYXRvci5jYworLS0tIGNocm9taXVtLTExNC4wLjU3MzUuMzUvbWVk aWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2VuY29kZV9hY2NlbGVyYXRvci5jYy5tZQkyMDIzLTA1 LTIxIDEwOjA1OjAwLjM1Nzg2MDMyOSArMDIwMAorKysrIGNocm9taXVtLTExNC4wLjU3MzUuMzUv bWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2VuY29kZV9hY2NlbGVyYXRvci5jYwkyMDIzLTA1 LTIxIDEwOjE4OjA5LjY2NTQzMjczNSArMDIwMAorQEAgLTQxLDcgKzQxLDYgQEAKKyAjaW5jbHVk ZSAibWVkaWEvZ3B1L2dwdV92aWRlb19lbmNvZGVfYWNjZWxlcmF0b3JfaGVscGVycy5oIgorICNp bmNsdWRlICJtZWRpYS9ncHUvaDI2NF9kcGIuaCIKKyAjaW5jbHVkZSAibWVkaWEvZ3B1L21hY3Jv cy5oIgorLSNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvYXYxX3ZhYXBpX3ZpZGVvX2VuY29kZXJf ZGVsZWdhdGUuaCIKKyAjaW5jbHVkZSAibWVkaWEvZ3B1L3ZhYXBpL2gyNjRfdmFhcGlfdmlkZW9f ZW5jb2Rlcl9kZWxlZ2F0ZS5oIgorICNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFfc3VyZmFj ZS5oIgorICNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFhcGlfY29tbW9uLmgiCitAQCAtMjAw LDcgKzE5OSw3IEBAIGJvb2wgVmFhcGlWaWRlb0VuY29kZUFjY2VsZXJhdG9yOjpJbml0aWEKKyAK KyAgIGNvbnN0IFZpZGVvQ29kZWMgY29kZWMgPSBWaWRlb0NvZGVjUHJvZmlsZVRvVmlkZW9Db2Rl Yyhjb25maWcub3V0cHV0X3Byb2ZpbGUpOworICAgaWYgKGNvZGVjICE9IFZpZGVvQ29kZWM6OmtI MjY0ICYmIGNvZGVjICE9IFZpZGVvQ29kZWM6OmtWUDggJiYKKy0gICAgICBjb2RlYyAhPSBWaWRl b0NvZGVjOjprVlA5ICYmIGNvZGVjICE9IFZpZGVvQ29kZWM6OmtBVjEpIHsKKysgICAgICBjb2Rl YyAhPSBWaWRlb0NvZGVjOjprVlA5KSB7CisgICAgIE1FRElBX0xPRyhFUlJPUiwgbWVkaWFfbG9n LmdldCgpKQorICAgICAgICAgPDwgIlVuc3VwcG9ydGVkIHByb2ZpbGU6ICIgPDwgR2V0UHJvZmls ZU5hbWUoY29uZmlnLm91dHB1dF9wcm9maWxlKTsKKyAgICAgcmV0dXJuIGZhbHNlOworQEAgLTI5 Myw3ICsyOTIsNiBAQCB2b2lkIFZhYXBpVmlkZW9FbmNvZGVBY2NlbGVyYXRvcjo6SW5pdGlhCisg ICAgICAgICBicmVhazsKKyAgICAgICBjYXNlIFZpZGVvQ29kZWM6OmtWUDg6CisgICAgICAgY2Fz ZSBWaWRlb0NvZGVjOjprVlA5OgorLSAgICAgIGNhc2UgVmlkZW9Db2RlYzo6a0FWMToKKyAgICAg ICAgIG1vZGUgPSBWYWFwaVdyYXBwZXI6OmtFbmNvZGVDb25zdGFudFF1YW50aXphdGlvblBhcmFt ZXRlcjsKKyAgICAgICAgIGJyZWFrOworICAgICAgIGRlZmF1bHQ6CitAQCAtMzU2LDEyICszNTQs NiBAQCB2b2lkIFZhYXBpVmlkZW9FbmNvZGVBY2NlbGVyYXRvcjo6SW5pdGlhCisgICAgICAgICAg ICAgdmFhcGlfd3JhcHBlcl8sIGVycm9yX2NiKTsKKyAgICAgICB9CisgICAgICAgYnJlYWs7Cist ICAgIGNhc2UgVmlkZW9Db2RlYzo6a0FWMToKKy0gICAgICBpZiAoIUlzQ29uZmlndXJlZEZvclRl c3RpbmcoKSkgeworLSAgICAgICAgZW5jb2Rlcl8gPSBzdGQ6Om1ha2VfdW5pcXVlPEFWMVZhYXBp VmlkZW9FbmNvZGVyRGVsZWdhdGU+KAorLSAgICAgICAgICAgIHZhYXBpX3dyYXBwZXJfLCBlcnJv cl9jYik7CistICAgICAgfQorLSAgICAgIGJyZWFrOworICAgICBkZWZhdWx0OgorICAgICAgIE5P VFJFQUNIRUQoKSA8PCAiVW5zdXBwb3J0ZWQgY29kZWMgdHlwZSAiIDw8IEdldENvZGVjTmFtZShv dXRwdXRfY29kZWNfKTsKKyAgICAgICByZXR1cm47CitAQCAtODM1LDEwICs4MjcsNiBAQCBWYWFw aVZpZGVvRW5jb2RlQWNjZWxlcmF0b3I6OkNyZWF0ZUVuY29kCisgICAgIGNhc2UgVmlkZW9Db2Rl Yzo6a1ZQOToKKyAgICAgICBwaWN0dXJlID0gbmV3IFZhYXBpVlA5UGljdHVyZShzdGQ6Om1vdmUo cmVjb25zdHJ1Y3RlZF9zdXJmYWNlKSk7CisgICAgICAgYnJlYWs7CistICAgIGNhc2UgVmlkZW9D b2RlYzo6a0FWMToKKy0gICAgICBwaWN0dXJlID0gbmV3IFZhYXBpQVYxUGljdHVyZSgvKmRpc3Bs YXlfdmFfc3VyZmFjZT0qL251bGxwdHIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RkOjptb3ZlKHJlY29uc3RydWN0ZWRfc3VyZmFjZSkpOworLSAgICAgIGJyZWFrOwor ICAgICBkZWZhdWx0OgorICAgICAgIHJldHVybiBudWxscHRyOworICAgfQorZGlmZiAtdXAgY2hy b21pdW0tMTE0LjAuNTczNS4zNS9tZWRpYS9ncHUvQlVJTEQuZ24ucmV2ZXJ0LWF2MWVuYyBjaHJv bWl1bS0xMTQuMC41NzM1LjM1L21lZGlhL2dwdS9CVUlMRC5nbgorLS0tIGNocm9taXVtLTExNC4w LjU3MzUuMzUvbWVkaWEvZ3B1L0JVSUxELmduLnJldmVydC1hdjFlbmMJMjAyMy0wNS0xOCAwMDoz Nzo1Ny4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTQuMC41NzM1LjM1L21lZGlhL2dw dS9CVUlMRC5nbgkyMDIzLTA1LTIwIDEzOjE0OjEwLjc1NTE4MzYzMCArMDIwMAorQEAgLTM3Mywx MCArMzczLDcgQEAgc291cmNlX3NldCgiY29tbW9uIikgeworICAgICAgICJ2cDlfc3ZjX2xheWVy cy5oIiwKKyAgICAgXQorICAgICBjb25maWdzICs9IFsgIi8vdGhpcmRfcGFydHkvbGlidnB4Omxp YnZweF9jb25maWciIF0KKy0gICAgZGVwcyArPSBbCistICAgICAgIi8vdGhpcmRfcGFydHkvbGli YW9tOmxpYmFvbXJjIiwKKy0gICAgICAiLy90aGlyZF9wYXJ0eS9saWJ2cHg6bGlidnB4cmMiLAor LSAgICBdCisrICAgIGRlcHMgKz0gWyAiLy90aGlyZF9wYXJ0eS9saWJ2cHg6bGlidnB4cmMiIF0K KyAgIH0KKyAgIGlmICh1c2VfbGliZ2F2MV9wYXJzZXIpIHsKKyAgICAgc291cmNlcyArPSBbCitk aWZmIC11cCBjaHJvbWl1bS0xMTQuMC41NzM1LjM1L21lZGlhL2dwdS92YWFwaS9CVUlMRC5nbi5y ZXZlcnQtYXYxZW5jIGNocm9taXVtLTExNC4wLjU3MzUuMzUvbWVkaWEvZ3B1L3ZhYXBpL0JVSUxE LmduCistLS0gY2hyb21pdW0tMTE0LjAuNTczNS4zNS9tZWRpYS9ncHUvdmFhcGkvQlVJTEQuZ24u cmV2ZXJ0LWF2MWVuYwkyMDIzLTA1LTE4IDAwOjM3OjU3LjAwMDAwMDAwMCArMDIwMAorKysrIGNo cm9taXVtLTExNC4wLjU3MzUuMzUvbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduCTIwMjMtMDUtMjAg MTM6MTQ6MTAuNzU2MTgzNjI2ICswMjAwCitAQCAtMzgsOCArMzgsNiBAQCBzb3VyY2Vfc2V0KCJ2 YWFwaSIpIHsKKyAgIHNvdXJjZXMgPSBbCisgICAgICJhdjFfdmFhcGlfdmlkZW9fZGVjb2Rlcl9k ZWxlZ2F0ZS5jYyIsCisgICAgICJhdjFfdmFhcGlfdmlkZW9fZGVjb2Rlcl9kZWxlZ2F0ZS5oIiwK Ky0gICAgImF2MV92YWFwaV92aWRlb19lbmNvZGVyX2RlbGVnYXRlLmNjIiwKKy0gICAgImF2MV92 YWFwaV92aWRlb19lbmNvZGVyX2RlbGVnYXRlLmgiLAorICAgICAiaDI2NF92YWFwaV92aWRlb19k ZWNvZGVyX2RlbGVnYXRlLmNjIiwKKyAgICAgImgyNjRfdmFhcGlfdmlkZW9fZGVjb2Rlcl9kZWxl Z2F0ZS5oIiwKKyAgICAgImgyNjRfdmFhcGlfdmlkZW9fZW5jb2Rlcl9kZWxlZ2F0ZS5jYyIsCitA QCAtMTA3LDcgKzEwNSw2IEBAIHNvdXJjZV9zZXQoInZhYXBpIikgeworICAgICAiLy9tZWRpYS9n cHUvY2hyb21lb3M6Y29tbW9uIiwKKyAgICAgIi8vbWVkaWEvcGFyc2VycyIsCisgICAgICIvL21v am8vcHVibGljL2NwcC9iaW5kaW5ncyIsCistICAgICIvL3RoaXJkX3BhcnR5L2xpYmFvbTpsaWJh b21yYyIsCisgICAgICIvL3RoaXJkX3BhcnR5L2xpYnZweDpsaWJ2cHhyYyIsCisgICAgICIvL3Ro aXJkX3BhcnR5L2xpYnl1diIsCisgICAgICIvL3VpL2dmeCIsCgpkaWZmIC0tZ2l0IGEvY2hyb21p dW0tMTE0LXR5cGVuYW1lLnBhdGNoIGIvY2hyb21pdW0tMTE0LXR5cGVuYW1lLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjZWM0ZWYKLS0tIC9kZXYvbnVsbAorKysg Yi9jaHJvbWl1bS0xMTQtdHlwZW5hbWUucGF0Y2gKQEAgLTAsMCArMSw2MiBAQAorZGlmZiAtdXAg Y2hyb21pdW0tMTEzLjAuNTY3Mi42My9jaHJvbWUvYnJvd3Nlci9kb3dubG9hZC9idWJibGUvZG93 bmxvYWRfYnViYmxlX3VwZGF0ZV9zZXJ2aWNlLmNjLm1lIGNocm9taXVtLTExMy4wLjU2NzIuNjMv Y2hyb21lL2Jyb3dzZXIvZG93bmxvYWQvYnViYmxlL2Rvd25sb2FkX2J1YmJsZV91cGRhdGVfc2Vy dmljZS5jYworLS0tIGNocm9taXVtLTExMy4wLjU2NzIuNjMvY2hyb21lL2Jyb3dzZXIvZG93bmxv YWQvYnViYmxlL2Rvd25sb2FkX2J1YmJsZV91cGRhdGVfc2VydmljZS5jYy5tZQkyMDIzLTA1LTAz IDE3OjQ2OjM3LjE5NDAwMDgzNCArMDIwMAorKysrIGNocm9taXVtLTExMy4wLjU2NzIuNjMvY2hy b21lL2Jyb3dzZXIvZG93bmxvYWQvYnViYmxlL2Rvd25sb2FkX2J1YmJsZV91cGRhdGVfc2Vydmlj ZS5jYwkyMDIzLTA1LTAzIDE3OjQ4OjA1LjE3MDMxNzU3NSArMDIwMAorQEAgLTg3LDcgKzg3LDcg QEAgSXRlbVNvcnRLZXkgR2V0U29ydEtleShjb25zdCBJdGVtJiBpdGVtKQorIC8vIEhlbHBlciB0 byBnZXQgYW4gaXRlcmF0b3IgdG8gdGhlIGxhc3QgZWxlbWVudCBpbiB0aGUgY2FjaGUuIFRoZSBj YWNoZQorIC8vIG11c3Qgbm90IGJlIGVtcHR5LgorIHRlbXBsYXRlIDx0eXBlbmFtZSBJdGVtPgor LVNvcnRlZEl0ZW1zPEl0ZW0+OjppdGVyYXRvciBHZXRMYXN0SXRlcihTb3J0ZWRJdGVtczxJdGVt PiYgY2FjaGUpIHsKKyt0eXBlbmFtZSBTb3J0ZWRJdGVtczxJdGVtPjo6aXRlcmF0b3IgR2V0TGFz dEl0ZXIoU29ydGVkSXRlbXM8SXRlbT4mIGNhY2hlKSB7CisgICBDSEVDSyghY2FjaGUuZW1wdHko KSk7CisgICBhdXRvIGl0ID0gY2FjaGUuZW5kKCk7CisgICByZXR1cm4gc3RkOjpwcmV2KGl0KTsK K0BAIC03ODksOSArNzg5LDkgQEAgYm9vbCBEb3dubG9hZEJ1YmJsZVVwZGF0ZVNlcnZpY2U6OlJl bW92ZQorIH0KKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgSWQsIHR5cGVuYW1lIEl0ZW0+CistU29y dGVkSXRlbXM8SXRlbT46Oml0ZXJhdG9yCisrdHlwZW5hbWUgU29ydGVkSXRlbXM8SXRlbT46Oml0 ZXJhdG9yCisgRG93bmxvYWRCdWJibGVVcGRhdGVTZXJ2aWNlOjpSZW1vdmVJdGVtRnJvbUNhY2hl QnlJdGVyKAorLSAgICBTb3J0ZWRJdGVtczxJdGVtPjo6aXRlcmF0b3IgaXRlciwKKysgICAgdHlw ZW5hbWUgU29ydGVkSXRlbXM8SXRlbT46Oml0ZXJhdG9yIGl0ZXIsCisgICAgIFNvcnRlZEl0ZW1z PEl0ZW0+JiBjYWNoZSwKKyAgICAgSXRlck1hcDxJZCwgSXRlbT4mIGl0ZXJfbWFwKSB7CisgICBD SEVDSyhpdGVyICE9IGNhY2hlLmVuZCgpKTsKK2RpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIu NjMvY2hyb21lL2Jyb3dzZXIvZG93bmxvYWQvYnViYmxlL2Rvd25sb2FkX2J1YmJsZV91cGRhdGVf c2VydmljZS5oLm1lIGNocm9taXVtLTExMy4wLjU2NzIuNjMvY2hyb21lL2Jyb3dzZXIvZG93bmxv YWQvYnViYmxlL2Rvd25sb2FkX2J1YmJsZV91cGRhdGVfc2VydmljZS5oCistLS0gY2hyb21pdW0t MTEzLjAuNTY3Mi42My9jaHJvbWUvYnJvd3Nlci9kb3dubG9hZC9idWJibGUvZG93bmxvYWRfYnVi YmxlX3VwZGF0ZV9zZXJ2aWNlLmgubWUJMjAyMy0wNS0wMyAxNzo0ODoxNC4wNzk1NTE4MjAgKzAy MDAKKysrKyBjaHJvbWl1bS0xMTMuMC41NjcyLjYzL2Nocm9tZS9icm93c2VyL2Rvd25sb2FkL2J1 YmJsZS9kb3dubG9hZF9idWJibGVfdXBkYXRlX3NlcnZpY2UuaAkyMDIzLTA1LTAzIDE3OjQ5OjI0 LjcwMjM4NzE4MCArMDIwMAorQEAgLTIwOCw4ICsyMDgsOCBAQCBjbGFzcyBEb3dubG9hZEJ1YmJs ZVVwZGF0ZVNlcnZpY2UKKyAKKyAgIC8vIFJlbW92ZXMgaXRlbSBpZiB3ZSBhbHJlYWR5IGhhdmUg dGhlIGl0ZXJhdG9yIHRvIGl0LiBSZXR1cm5zIG5leHQgaXRlcmF0b3IuCisgICB0ZW1wbGF0ZSA8 dHlwZW5hbWUgSWQsIHR5cGVuYW1lIEl0ZW0+CistICBTb3J0ZWRJdGVtczxJdGVtPjo6aXRlcmF0 b3IgUmVtb3ZlSXRlbUZyb21DYWNoZUJ5SXRlcigKKy0gICAgICBTb3J0ZWRJdGVtczxJdGVtPjo6 aXRlcmF0b3IgaXRlciwKKysgIHR5cGVuYW1lIFNvcnRlZEl0ZW1zPEl0ZW0+OjppdGVyYXRvciBS ZW1vdmVJdGVtRnJvbUNhY2hlQnlJdGVyKAorKyAgICAgIHR5cGVuYW1lIFNvcnRlZEl0ZW1zPEl0 ZW0+OjppdGVyYXRvciBpdGVyLAorICAgICAgIFNvcnRlZEl0ZW1zPEl0ZW0+JiBjYWNoZSwKKyAg ICAgICBJdGVyTWFwPElkLCBJdGVtPiYgaXRlcl9tYXApOworIAorZGlmZiAtdXAgY2hyb21pdW0t MTE0LjAuNTczNS4yNi9jaHJvbWUvYnJvd3Nlci9wcmludGluZy9wcmludF9iYWNrZW5kX3NlcnZp Y2VfbWFuYWdlci5oLm1lIGNocm9taXVtLTExNC4wLjU3MzUuMjYvY2hyb21lL2Jyb3dzZXIvcHJp bnRpbmcvcHJpbnRfYmFja2VuZF9zZXJ2aWNlX21hbmFnZXIuaAorLS0tIGNocm9taXVtLTExNC4w LjU3MzUuMjYvY2hyb21lL2Jyb3dzZXIvcHJpbnRpbmcvcHJpbnRfYmFja2VuZF9zZXJ2aWNlX21h bmFnZXIuaC5tZQkyMDIzLTA1LTE0IDAwOjAzOjQ4LjQ1NTk2MTY5NiArMDIwMAorKysrIGNocm9t aXVtLTExNC4wLjU3MzUuMjYvY2hyb21lL2Jyb3dzZXIvcHJpbnRpbmcvcHJpbnRfYmFja2VuZF9z ZXJ2aWNlX21hbmFnZXIuaAkyMDIzLTA1LTE0IDAwOjA0OjI0Ljc3NjU4OTE2NCArMDIwMAorQEAg LTU4Nyw3ICs1ODcsNyBAQCBjbGFzcyBQcmludEJhY2tlbmRTZXJ2aWNlTWFuYWdlciB7CisgICB0 ZW1wbGF0ZSA8Y2xhc3MuLi4gVD4KKyAgIHZvaWQgUnVuU2F2ZWRDYWxsYmFja3MoUmVtb3RlU2F2 ZWRDYWxsYmFja3M8VC4uLj4mIHNhdmVkX2NhbGxiYWNrcywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgUmVtb3RlSWQmIHJlbW90ZV9pZCwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgc3RkOjpyZW1vdmVfcmVmZXJlbmNlPFQ+Ojp0eXBlLi4uIHJlc3VsdCk7CisrICAgICAgICAg ICAgICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxUPjo6dHlwZS4u LiByZXN1bHQpOworIAorICAgLy8gVGVzdCBzdXBwb3J0IGZvciBjbGllbnQgSUQgbWFuYWdlbWVu dC4KKyAgIHN0YXRpYyB2b2lkIFNldENsaWVudHNGb3JUZXN0aW5nKAorZGlmZiAtdXAgY2hyb21p dW0tMTE0LjAuNTczNS4yNi9jaHJvbWUvYnJvd3Nlci9wcmludGluZy9wcmludF9iYWNrZW5kX3Nl cnZpY2VfbWFuYWdlci5jYy5tZSBjaHJvbWl1bS0xMTQuMC41NzM1LjI2L2Nocm9tZS9icm93c2Vy L3ByaW50aW5nL3ByaW50X2JhY2tlbmRfc2VydmljZV9tYW5hZ2VyLmNjCistLS0gY2hyb21pdW0t MTE0LjAuNTczNS4yNi9jaHJvbWUvYnJvd3Nlci9wcmludGluZy9wcmludF9iYWNrZW5kX3NlcnZp Y2VfbWFuYWdlci5jYy5tZQkyMDIzLTA1LTE0IDEyOjQwOjI5LjU1NTkyNjY0NiArMDIwMAorKysr IGNocm9taXVtLTExNC4wLjU3MzUuMjYvY2hyb21lL2Jyb3dzZXIvcHJpbnRpbmcvcHJpbnRfYmFj a2VuZF9zZXJ2aWNlX21hbmFnZXIuY2MJMjAyMy0wNS0xNCAxMjo0MToxMi4xNTA0NzE3OTEgKzAy MDAKK0BAIC0xNDc3LDcgKzE0NzcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MuLi4gVD4KKyB2b2lkIFBy aW50QmFja2VuZFNlcnZpY2VNYW5hZ2VyOjpSdW5TYXZlZENhbGxiYWNrcygKKyAgICAgUmVtb3Rl U2F2ZWRDYWxsYmFja3M8VC4uLj4mIHNhdmVkX2NhbGxiYWNrcywKKyAgICAgY29uc3QgUmVtb3Rl SWQmIHJlbW90ZV9pZCwKKy0gICAgc3RkOjpyZW1vdmVfcmVmZXJlbmNlPFQ+Ojp0eXBlLi4uIHJl c3VsdCkgeworKyAgICB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VD46OnR5cGUuLi4g cmVzdWx0KSB7CisgICBhdXRvIGZvdW5kX2NhbGxiYWNrc19tYXAgPSBzYXZlZF9jYWxsYmFja3Mu ZmluZChyZW1vdGVfaWQpOworICAgaWYgKGZvdW5kX2NhbGxiYWNrc19tYXAgPT0gc2F2ZWRfY2Fs bGJhY2tzLmVuZCgpKQorICAgICByZXR1cm47ICAvLyBObyBjYWxsYmFja3MgdG8gcnVuLgoKZGlm ZiAtLWdpdCBhL2Nocm9taXVtLTExNC13aXJlbGVzcy1lbDcucGF0Y2ggYi9jaHJvbWl1bS0xMTQt d2lyZWxlc3MtZWw3LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3 NzZlOTAKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMTQtd2lyZWxlc3MtZWw3LnBhdGNo CkBAIC0wLDAgKzEsMjIgQEAKK2RpZmYgLXVwIGNocm9taXVtLTExNC4wLjU3MzUuMjYvc2FuZGJv eC9wb2xpY3kvbGludXgvYnBmX25ldHdvcmtfcG9saWN5X2xpbnV4LmNjLm1lIGNocm9taXVtLTEx NC4wLjU3MzUuMjYvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX25ldHdvcmtfcG9saWN5X2xpbnV4 LmNjCistLS0gY2hyb21pdW0tMTE0LjAuNTczNS4yNi9zYW5kYm94L3BvbGljeS9saW51eC9icGZf bmV0d29ya19wb2xpY3lfbGludXguY2MubWUJMjAyMy0wNS0xMyAxMjowOTo0NC40MjM3MjczODUg KzAyMDAKKysrKyBjaHJvbWl1bS0xMTQuMC41NzM1LjI2L3NhbmRib3gvcG9saWN5L2xpbnV4L2Jw Zl9uZXR3b3JrX3BvbGljeV9saW51eC5jYwkyMDIzLTA1LTEzIDE3OjUyOjE5LjkzNDM0NzI0NiAr MDIwMAorQEAgLTExLDcgKzExLDYgQEAKKyAjaW5jbHVkZSA8bGludXgvbmV0Lmg+CisgI2luY2x1 ZGUgPGxpbnV4L25ldGxpbmsuaD4KKyAjaW5jbHVkZSA8bGludXgvc29ja2lvcy5oPgorLSNpbmNs dWRlIDxsaW51eC93aXJlbGVzcy5oPgorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisgI2luY2x1 ZGUgPG5ldGluZXQvdGNwLmg+CisgI2luY2x1ZGUgPHN5cy9pbm90aWZ5Lmg+CitAQCAtNDgsNiAr NDcsMTAgQEAgdXNpbmcgc2FuZGJveDo6c3lzY2FsbF9icm9rZXI6OkJyb2tlclBybworICNkZWZp bmUgRjJGU19JT0NfR0VUX0ZFQVRVUkVTIF9JT1IoMHhmNSwgMTIsIHVpbnQzMl90KQorICNlbmRp ZgorIAorKyNpZiAhZGVmaW5lZChTSU9DR0lXTkFNRSkKKysjZGVmaW5lIFNJT0NHSVdOQU1FICAw eDhCMDEKKysjZW5kaWYKKysKKyBuYW1lc3BhY2Ugc2FuZGJveDo6cG9saWN5IHsKKyAKKyBuYW1l c3BhY2UgewoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExNC13b3JrYXJvdW5kX2NsYW5nX2J1Zy1z dHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2ggYi9jaHJvbWl1bS0xMTQtd29ya2Fyb3VuZF9jbGFuZ19i dWctc3RydWN0dXJlZF9iaW5kaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLmFmOGU3MzcKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMTQtd29ya2Fyb3Vu ZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nLnBhdGNoCkBAIC0wLDAgKzEsODEgQEAKK2Rp ZmYgLXVwIGNocm9taXVtLTExNC4wLjU3MzUuMjYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv Y29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9hbGdvcml0aG0uY2Mud29ya2Fyb3Vu ZF9jbGFuZ19idWctc3RydWN0dXJlZF9iaW5kaW5nIGNocm9taXVtLTExNC4wLjU3MzUuMjYvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91 dF9hbGdvcml0aG0uY2MKKy0tLSBjaHJvbWl1bS0xMTQuMC41NzM1LjI2L3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L25nL2dyaWQvbmdfZ3JpZF9sYXlvdXRfYWxnb3JpdGht LmNjLndvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZwkyMDIzLTA1LTExIDAz OjM2OjI3LjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTExNC4wLjU3MzUuMjYvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvbmcvZ3JpZC9uZ19ncmlkX2xheW91dF9h bGdvcml0aG0uY2MJMjAyMy0wNS0xNCAxMTo0OTo0Mi41NTgxMjkxNjQgKzAyMDAKK0BAIC0yMzgs NyArMjM4LDEwIEBAIGNvbnN0IE5HTGF5b3V0UmVzdWx0KiBOR0dyaWRMYXlvdXRBbGdvcmkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IEJ1aWxkR3JpZFNpemluZ1RyZWUoJm9vZl9j aGlsZHJlbik7CisgCisgICBMYXlvdXRVbml0IGludHJpbnNpY19ibG9ja19zaXplOworLSAgYXV0 byYgW2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCB0cmVlX3NpemVdID0gZ3JpZF9zaXppbmdfdHJl ZS5UcmVlUm9vdERhdGEoKTsKKysgIGF1dG8mIFtnX2ksIGxfZCwgdF9zXSA9IGdyaWRfc2l6aW5n X3RyZWUuVHJlZVJvb3REYXRhKCk7CisrICBhdXRvJiBncmlkX2l0ZW1zID0gZ19pOworKyAgYXV0 byYgbGF5b3V0X2RhdGEgPSBsX2Q7CisrICBhdXRvJiB0cmVlX3NpemUgPSB0X3M7CisgCisgICBp ZiAoSXNCcmVha0luc2lkZShCcmVha1Rva2VuKCkpKSB7CisgICAgIC8vIFRPRE8obGF5b3V0LWRl dik6IFdoZW4gd2Ugc3VwcG9ydCB2YXJpYWJsZSBpbmxpbmUtc2l6ZSBmcmFnbWVudHMgd2UnbGwK K0BAIC01MjAsOCArNTIzLDEwIEBAIHd0Zl9zaXplX3QgTkdHcmlkTGF5b3V0QWxnb3JpdGhtOjpC dWlsZEcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd19hdXRvX3JlcGV0aXRp b25zKTsKKyAKKyAgIGJvb2wgaGFzX25lc3RlZF9zdWJncmlkID0gZmFsc2U7CistICBhdXRvJiBb Z3JpZF9pdGVtcywgbGF5b3V0X2RhdGEsIHN1YnRyZWVfc2l6ZV0gPQorLSAgICAgIHNpemluZ190 cmVlLT5DcmVhdGVTaXppbmdEYXRhKG9wdF9zdWJncmlkX2RhdGEpOworKyAgYXV0byYgW2dfaSwg bF9kLCBzX3NdID0gc2l6aW5nX3RyZWUtPkNyZWF0ZVNpemluZ0RhdGEob3B0X3N1YmdyaWRfZGF0 YSk7CisrICBhdXRvJiBncmlkX2l0ZW1zID0gZ19pOworKyAgYXV0byYgbGF5b3V0X2RhdGEgPSBs X2Q7CisrICBhdXRvJiBzdWJ0cmVlX3NpemUgPSBzX3M7CisgCisgICBpZiAoIW11c3RfaWdub3Jl X2NoaWxkcmVuKSB7CisgICAgIC8vIENvbnN0cnVjdCBncmlkIGl0ZW1zIHRoYXQgYXJlIG5vdCBz dWJncmlkZGVkLgorQEAgLTY1MCw4ICs2NTUsMTAgQEAgTkdHcmlkU2l6aW5nVHJlZSBOR0dyaWRM YXlvdXRBbGdvcml0aG06OgorICAgTkdHcmlkU2l6aW5nVHJlZSBzaXppbmdfdHJlZTsKKyAKKyAg IGlmIChjb25zdCBhdXRvKiBsYXlvdXRfc3VidHJlZSA9IENvbnN0cmFpbnRTcGFjZSgpLkdyaWRM YXlvdXRTdWJ0cmVlKCkpIHsKKy0gICAgYXV0byYgW2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCBz dWJ0cmVlX3NpemVdID0KKy0gICAgICAgIHNpemluZ190cmVlLkNyZWF0ZVNpemluZ0RhdGEoKTsK KysgICAgYXV0byYgW2dfaSwgbF9kLCBzX3NdID0gc2l6aW5nX3RyZWUuQ3JlYXRlU2l6aW5nRGF0 YSgpOworKyAgICBhdXRvJiBncmlkX2l0ZW1zID0gZ19pOworKyAgICBhdXRvJiBsYXlvdXRfZGF0 YSA9IGxfZDsKKysgICAgYXV0byYgc3VidHJlZV9zaXplID0gc19zOworIAorICAgICBjb25zdCBh dXRvJiBub2RlID0gTm9kZSgpOworICAgICBncmlkX2l0ZW1zID0KK0BAIC0xNjQwLDggKzE2NDcs MTAgQEAgdm9pZCBOR0dyaWRMYXlvdXRBbGdvcml0aG06OkluaXRpYWxpemVUcgorICAgICBjb25z dCBhYnNsOjpvcHRpb25hbDxHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24+JiBvcHRfdHJhY2tfZGly ZWN0aW9uKSBjb25zdCB7CisgICBEQ0hFQ0soc2l6aW5nX3N1YnRyZWUpOworIAorLSAgYXV0byYg W2dyaWRfaXRlbXMsIGxheW91dF9kYXRhLCBzdWJ0cmVlX3NpemVdID0KKy0gICAgICBzaXppbmdf c3VidHJlZS5TdWJ0cmVlUm9vdERhdGEoKTsKKysgIGF1dG8mIFtnX2ksIGxfZCwgc19zXSA9IHNp emluZ19zdWJ0cmVlLlN1YnRyZWVSb290RGF0YSgpOworKyAgYXV0byYgZ3JpZF9pdGVtcyA9IGdf aTsKKysgIGF1dG8mIGxheW91dF9kYXRhID0gbF9kOworKyAgYXV0byYgc3VidHJlZV9zaXplID0g c19zOworIAorICAgYXV0byBJbml0QW5kQ2FjaGVUcmFja1NpemVzID0gWyZdKEdyaWRUcmFja1Np emluZ0RpcmVjdGlvbiB0cmFja19kaXJlY3Rpb24pIHsKKyAgICAgSW5pdGlhbGl6ZVRyYWNrQ29s bGVjdGlvbihvcHRfc3ViZ3JpZF9kYXRhLCB0cmFja19kaXJlY3Rpb24sICZsYXlvdXRfZGF0YSk7 CitAQCAtMTgyNSw4ICsxODM0LDEwIEBAIHZvaWQgTkdHcmlkTGF5b3V0QWxnb3JpdGhtOjpDb21w bGV0ZVRyYWMKKyAgICAgYm9vbCogb3B0X25lZWRzX2FkZGl0aW9uYWxfcGFzcykgY29uc3Qgewor ICAgRENIRUNLKHNpemluZ19zdWJ0cmVlKTsKKyAKKy0gIGF1dG8mIFtncmlkX2l0ZW1zLCBsYXlv dXRfZGF0YSwgc3VidHJlZV9zaXplXSA9CistICAgICAgc2l6aW5nX3N1YnRyZWUuU3VidHJlZVJv b3REYXRhKCk7CisrICBhdXRvJiBbZ19pLCBsX2QsIHNfc10gPSBzaXppbmdfc3VidHJlZS5TdWJ0 cmVlUm9vdERhdGEoKTsKKysgIGF1dG8mIGdyaWRfaXRlbXMgPSBnX2k7CisrICBhdXRvJiBsYXlv dXRfZGF0YSA9IGxfZDsKKysgIGF1dG8mIHN1YnRyZWVfc2l6ZSA9IHNfczsKKyAKKyAgIGNvbnN0 IGJvb2wgaXNfZm9yX2NvbHVtbnMgPSB0cmFja19kaXJlY3Rpb24gPT0ga0ZvckNvbHVtbnM7Cisg ICBjb25zdCBib29sIGhhc19ub25fZGVmaW5pdGVfdHJhY2sgPQorZGlmZiAtdXAgY2hyb21pdW0t MTE0LjAuNTczNS4yNi9tZWRpYS9iYXNlL2NkbV9wcm9taXNlX2FkYXB0ZXIuY2MubWUgY2hyb21p dW0tMTE0LjAuNTczNS4yNi9tZWRpYS9iYXNlL2NkbV9wcm9taXNlX2FkYXB0ZXIuY2MKKy0tLSBj aHJvbWl1bS0xMTQuMC41NzM1LjI2L21lZGlhL2Jhc2UvY2RtX3Byb21pc2VfYWRhcHRlci5jYy5t ZQkyMDIzLTA1LTE0IDE3OjM1OjAwLjQ0Njg0NDQ2NSArMDIwMAorKysrIGNocm9taXVtLTExNC4w LjU3MzUuMjYvbWVkaWEvYmFzZS9jZG1fcHJvbWlzZV9hZGFwdGVyLmNjCTIwMjMtMDUtMTQgMTc6 Mzk6MjIuOTkxNzMzOTI2ICswMjAwCitAQCAtOTQsNyArOTQsOSBAQCB2b2lkIENkbVByb21pc2VB ZGFwdGVyOjpSZWplY3RQcm9taXNlKHVpCisgdm9pZCBDZG1Qcm9taXNlQWRhcHRlcjo6Q2xlYXIo Q2xlYXJSZWFzb24gcmVhc29uKSB7CisgICAvLyBSZWplY3QgYWxsIG91dHN0YW5kaW5nIHByb21p c2VzLgorICAgRENIRUNLKHRocmVhZF9jaGVja2VyXy5DYWxsZWRPblZhbGlkVGhyZWFkKCkpOwor LSAgZm9yIChhdXRvJiBbcHJvbWlzZV9pZCwgcHJvbWlzZV0gOiBwcm9taXNlc18pIHsKKysgIGZv ciAoYXV0byYgW3BfaSwgcF9lXSA6IHByb21pc2VzXykgeworKyAgICBhdXRvJiBwcm9taXNlX2lk ID0gcF9pOworKyAgICBhdXRvJiBwcm9taXNlID0gcF9lOworICAgICBUUkFDRV9FVkVOVF9ORVNU QUJMRV9BU1lOQ19FTkQxKAorICAgICAgICAgIm1lZGlhIiwgIkNkbVByb21pc2UiLCBUUkFDRV9J RF9XSVRIX1NDT1BFKCJDZG1Qcm9taXNlIiwgcHJvbWlzZV9pZCksCisgICAgICAgICAic3RhdHVz IiwgImNsZWFyZWQiKTsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS5zcGVjIGIvY2hyb21pdW0uc3Bl YwppbmRleCBmMmFiYjMxLi5jODc2YTliIDEwMDY0NAotLS0gYS9jaHJvbWl1bS5zcGVjCisrKyBi L2Nocm9taXVtLnNwZWMKQEAgLTIxLDcgKzIxLDcgQEAKIAogIyBUaGlzIGZsYWcgaXMgc28gSSBj YW4gYnVpbGQgdGhpbmdzIHZlcnkgZmFzdCBvbiBhIGdpYW50IHN5c3RlbS4KICMgRW5hYmxpbmcg dGhpcyBpbiBrb2ppIGNhdXNlcyBhYXJjaDY0IGJ1aWxkcyB0byB0aW1lb3V0IGluZGVmaW5pdGVs eS4KLSVnbG9iYWwgdXNlX2FsbF9jcHVzIDAKKyVnbG9iYWwgdXNlX2FsbF9jcHVzIDEKIAogJWlm ICV7dXNlX2FsbF9jcHVzfQogJWdsb2JhbCBudW1qb2JzICV7X3NtcF9idWlsZF9uY3B1c30KQEAg LTE4NCw3ICsxODQsMTEgQEAKICVnbG9iYWwgYnVuZGxlbGliYW9tIDEKICVlbHNlCiAjIENocm9t aXVtIHJlYWxseSB3YW50cyB0byB1c2UgaXRzIGJ1bmRsZWQgaGFyZmJ1enouIFNpZ2guCislaWYg MCV7P2ZlZG9yYX0gPiAzNworJWdsb2JhbCBidW5kbGVoYXJmYnV6eiAwCislZWxzZQogJWdsb2Jh bCBidW5kbGVoYXJmYnV6eiAxCislZW5kaWYKICVnbG9iYWwgYnVuZGxlb3B1cyAwCiAlZ2xvYmFs IGJ1bmRsZWxpYnVzYnggMAogJWdsb2JhbCBidW5kbGVsaWJ3ZWJwIDAKQEAgLTE5MywxMiArMTk3 LDcgQEAKICVnbG9iYWwgYnVuZGxlbGliZHJtIDAKICVnbG9iYWwgYnVuZGxlZm9udGNvbmZpZyAw CiAlZ2xvYmFsIGJ1bmRsZWZmbXBlZ2ZyZWUgMAotIyBmMzYgaGFzIG9sZCBsaWJhb20KLSVpZiAw JXs/ZmVkb3JhfSA9PSAzNgogJWdsb2JhbCBidW5kbGVsaWJhb20gMQotJWVsc2UKLSVnbG9iYWwg YnVuZGxlbGliYW9tIDAKLSVlbmRpZgogIyBzeXN0ZW0gZnJlZXR5cGUgb24gZmVkb3JhID4gMzYK ICVpZiAwJXs/ZmVkb3JhfSA+IDM2CiAlZ2xvYmFsIGJ1bmRsZWZyZWV0eXBlIDAKQEAgLTI0MSw3 ICsyNDAsNyBAQAogJWVuZGlmCiAKIE5hbWU6CWNocm9taXVtJXtjaHJvbWl1bV9jaGFubmVsfQot VmVyc2lvbjogMTEzLjAuNTY3Mi4xMjYKK1ZlcnNpb246IDExNC4wLjU3MzUuNDUKIFJlbGVhc2U6 IDElez9kaXN0fQogU3VtbWFyeTogQSBXZWJLaXQgKEJsaW5rKSBwb3dlcmVkIHdlYiBicm93c2Vy IHRoYXQgR29vZ2xlIGRvZXNuJ3Qgd2FudCB5b3UgdG8gdXNlCiBVcmw6IGh0dHA6Ly93d3cuY2hy b21pdW0ub3JnL0hvbWUKQEAgLTI2MCw3ICsyNTksNyBAQCBQYXRjaDI6IGNocm9taXVtLTEwNy4w LjUzMDQuMTEwLWduLXN5c3RlbS5wYXRjaAogUGF0Y2g1OiBjaHJvbWl1bS03Ny4wLjM4NjUuNzUt bm8temxpYi1tYW5nbGUucGF0Y2gKIAogIyBEbyBub3QgdXNlIHVucmFyIGNvZGUsIGl0IGlzIG5v bi1mcmVlCi1QYXRjaDY6IGNocm9taXVtLTExMy1ub3Jhci5wYXRjaAorUGF0Y2g2OiBjaHJvbWl1 bS0xMTQtbm9yYXIucGF0Y2gKIAogIyBUcnkgdG8gbG9hZCB3aWRldmluZSBmcm9tIG90aGVyIHBs YWNlcwogUGF0Y2g4OiBjaHJvbWl1bS0xMDgtd2lkZXZpbmUtb3RoZXItbG9jYXRpb25zLnBhdGNo CkBAIC0zMTIsOSArMzExLDYgQEAgUGF0Y2g5MDogY2hyb21pdW0tMTEzLWRpc2FibGUtR2xvYmFs TWVkaWFDb250cm9sc0Nhc3RTdGFydFN0b3AucGF0Y2gKICMgcGF0Y2ggZm9yIHVzaW5nIHN5c3Rl bSBvcHVzCiBQYXRjaDkxOiBjaHJvbWl1bS0xMDgtc3lzdGVtLW9wdXMucGF0Y2gKIAotIyBlbmFi bGUgV2ViVUlEYXJrTW9kZQotUGF0Y2g5MjogY2hyb21pdW0tMTEzLVdlYlVJRGFya01vZGUucGF0 Y2gKLQogIyBuZWVkIHRvIGV4cGxpY2l0bHkgaW5jbHVkZSBhIGtlcm5lbCBoZWFkZXIgb24gRUw3 IHRvIHN1cHBvcnQgTUZEX0NMT0VYRUMsIEZfU0VBTF9TSFJJTkssIEZfQUREX1NFQUxTLCBGX1NF QUxfU0VBTAogUGF0Y2gxMDA6IGNocm9taXVtLTEwOC1lbDctaW5jbHVkZS1mY250bC1tZW1mZC5w YXRjaAogCkBAIC0zNDAsNyArMzM2LDkgQEAgUGF0Y2gxMDY6IGNocm9taXVtLTk4LjAuNDc1OC44 MC1lcGVsNy1lcmFzZS1maXgucGF0Y2gKICMgQWRkIGFkZGl0aW9uYWwgb3BlcmF0b3I9PSB0byBt YWtlIGVsNyBoYXBweS4KIFBhdGNoMTA3OiBjaHJvbWl1bS05OS4wLjQ4NDQuNTEtZWw3LWV4dHJh LW9wZXJhdG9yPT0ucGF0Y2gKICMgd29ya2Fyb3VuZCBmb3IgY2xhbmcgYnVnIG9uIGVsNwotUGF0 Y2gxMDg6IGNocm9taXVtLTExMy1jb25zdGV4cHItZWw3LnBhdGNoCitQYXRjaDEwODogY2hyb21p dW0tMTE0LWNvbnN0ZXhwci1lbDcucGF0Y2gKK1BhdGNoMTA5OiBjaHJvbWl1bS0xMTQtd2lyZWxl c3MtZWw3LnBhdGNoCitQYXRjaDExMDogY2hyb21pdW0tMTE0LWJ1aWxkZmxhZy1lbDcucGF0Y2gK IAogIyBzeXN0ZW0gZmZtcGVnCiBQYXRjaDExNDogY2hyb21pdW0tMTA3LWZmbXBlZy1kdXJhdGlv bi5wYXRjaApAQCAtMzUxLDIwICszNDksMTcgQEAgUGF0Y2gxMTY6IGNocm9taXVtLTExMi1mZm1w ZWctZmlyc3RfZHRzLnBhdGNoCiBQYXRjaDExNzogY2hyb21pdW0tMTA4LWZmbXBlZy1yZXZlcnQt bmV3LWNoYW5uZWwtbGF5b3V0LWFwaS5wYXRjaAogCiAjIGdjYzEzCi1QYXRjaDEyMjogY2hyb21p dW0tMTEzLWdjYzEzLnBhdGNoCitQYXRjaDEyMjogY2hyb21pdW0tMTE0LWdjYzEzLnBhdGNoCiAK LSMgUGF0Y2hlcyBieSBTdGVwaGFuIEhhcnRtYW5uLCBodHRwczovL2dpdGh1Yi5jb20vc3RoYTA5 L2Nocm9taXVtLXBhdGNoZXMKLVBhdGNoMTMwOiBjaHJvbWl1bS0xMDMtVmlydHVhbEN1cnNvci1z dGQtbGF5b3V0LnBhdGNoCi0KLSMgUGFnZXNpemUgPiA0a2IKLVBhdGNoMTQ2OiBjaHJvbWl1bS0x MTAtTGFyZ2VyVGhhbjRrLnBhdGNoCisjIHJldmVydCBBVjEgVkEtQVBJIHZpZGVvIGVuY29kZSBk dWUgdG8gb2xkIGxpYnZhIG9uIGVsOQorUGF0Y2gxMzA6IGNocm9taXVtLTExNC1yZXZlcnQtYXYx ZW5jLWVsOS5wYXRjaAogCiAjIEFwcGx5IHRoZXNlIHBhdGNoZXMgdG8gd29yayBhcm91bmQgRVBF TDggaXNzdWVzCiBQYXRjaDMwMDogY2hyb21pdW0tMTEzLXJoZWw4LWZvcmNlLWRpc2FibGUtdXNl X2dub21lX2tleXJpbmcucGF0Y2gKICMgd29ya2Fyb3VuZCBmb3IgY2xhbmcgYnVnLCBodHRwczov L2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvaXNzdWVzLzU3ODI2Ci1QYXRjaDMwMjogY2hy b21pdW0tMTEzLXdvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaAot IyBkZWNsYXJlIGl0ZXJhdG9ycyBhcyBzdWJ0eXBlcwotUGF0Y2gzMDM6IGNocm9taXVtLTExMy10 eXBlbmFtZS5wYXRjaAorUGF0Y2gzMDI6IGNocm9taXVtLTExNC13b3JrYXJvdW5kX2NsYW5nX2J1 Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gKKyMgbWlzc2luZyB0eXBlbmFtZQorUGF0Y2gzMDM6 IGNocm9taXVtLTExNC10eXBlbmFtZS5wYXRjaAogCiAjIFVzZSBjaHJvbWl1bS1sYXRlc3QucHkg dG8gZ2VuZXJhdGUgY2xlYW4gdGFyYmFsbCBmcm9tIHJlbGVhc2VkIGJ1aWxkIHRhcmJhbGxzLCBm b3VuZCBoZXJlOgogIyBodHRwOi8vYnVpbGQuY2hyb21pdW0ub3JnL2J1aWxkYm90L29mZmljaWFs LwpAQCAtNjQ4LDYgKzY0Myw4IEBAIEJ1aWxkUmVxdWlyZXM6IG5pbmphLWJ1aWxkCiBCdWlsZFJl cXVpcmVzOglqYXZhLTEuOC4wLW9wZW5qZGstaGVhZGxlc3MKICVlbmRpZgogCitCdWlsZFJlcXVp cmVzOiBsaWJldmRldi1kZXZlbAorCiAjIFRoZXJlIGlzIGEgaGFyZGNvZGVkIGNoZWNrIGZvciBu c3MgMy4yNiBpbiB0aGUgY2hyb21pdW0gY29kZSAoY3J5cHRvL25zc191dGlsLmNjKQogUmVxdWly ZXM6IG5zcyV7X2lzYX0gPj0gMy4yNgogUmVxdWlyZXM6IG5zcy1tZG5zJXtfaXNhfQpAQCAtOTE1 LDggKzkxMiw2IEBAIHVkZXYuCiAlcGF0Y2ggLVA5MSAtcDEgLWIgLnN5c3RlbS1vcHVzCiAlZW5k aWYKIAotJXBhdGNoIC1QOTIgLXAxIC1iIC5XZWJVSURhcmtNb2QKLQogIyBGZWRvcmEgYnJhbmRl ZCB1c2VyIGFnZW50CiAlaWYgMCV7P2ZlZG9yYX0KICVwYXRjaCAtUDEyIC1wMSAtYiAuZmVkb3Jh LXVzZXItYWdlbnQKQEAgLTk0MCwxNSArOTM1LDE3IEBAIHVkZXYuCiAlcGF0Y2ggLVAxMDUgLXAx IC1iIC5lbDctb2xkLWxpYmRybQogJXBhdGNoIC1QMTA2IC1wMSAtYiAuZWw3LWVyYXNlLWZpeAog JXBhdGNoIC1QMTA3IC1wMSAtYiAuZWw3LWV4dHJhLW9wZXJhdG9yLWVxdWFsZXF1YWwKLSVwYXRj aCAtUDEwOCAtcDEgLWIgLmNvbnN0ZXhwci1lbDcKKyVwYXRjaCAtUDEwOCAtcDEgLWIgLmNvbnN0 ZXhwcgorJXBhdGNoIC1QMTA5IC1wMSAtYiAud2lyZWxlc3MKKyVwYXRjaCAtUDExMCAtcDEgLWIg LmJ1aWxkZmxhZy1lbDcKICVlbmRpZgogCi0lcGF0Y2ggLVAxMzAgLXAxIC1iIC5WaXJ0dWFsQ3Vy c29yLXN0ZC1sYXlvdXQKLQotJXBhdGNoIC1QMTQ2IC1wMSAtYiAuTGFyZ2VyVGhhbjRrCi0KICVw YXRjaCAtUDEyMiAtcDEgLWIgLmdjYzEzCiAKKyVpZiAwJXs/cmhlbH0gPT0gOQorJXBhdGNoIC1Q MTMwIC1wMSAtYiAucmV2ZXJ0LWF2MWVuYworJWVuZGlmCisKICVpZiAwJXs/cmhlbH0gPj0gOAog JXBhdGNoIC1QMzAwIC1wMSAtYiAuZGlzYmxlZ25vbWVrZXlyaW5nCiAlZW5kaWYKQEAgLTExMjQs NiArMTEyMSw3IEBAIENIUk9NSVVNX0NPUkVfR05fREVGSU5FUys9JyBidWlsZF9kYXduX3Rlc3Rz PWZhbHNlIGVuYWJsZV9wZXJmZXR0b191bml0dGVzdHM9ZmFsCiBDSFJPTUlVTV9DT1JFX0dOX0RF RklORVMrPScgZGlzYWJsZV9maWVsZHRyaWFsX3Rlc3RpbmdfY29uZmlnPXRydWUnCiBDSFJPTUlV TV9DT1JFX0dOX0RFRklORVMrPScgYmxpbmtfc3ltYm9sX2xldmVsPTAgc3ltYm9sX2xldmVsPTAg djhfc3ltYm9sX2xldmVsPTAnCiBDSFJPTUlVTV9DT1JFX0dOX0RFRklORVMrPScgYmxpbmtfZW5h YmxlX2dlbmVyYXRlZF9jb2RlX2Zvcm1hdHRpbmc9ZmFsc2UnCitDSFJPTUlVTV9DT1JFX0dOX0RF RklORVMrPScgYW5nbGVfaGFzX2hpc3RvZ3JhbXM9ZmFsc2UnCiBleHBvcnQgQ0hST01JVU1fQ09S RV9HTl9ERUZJTkVTCiAKICMgYnJvd3NlciBnbiBkZWZpbmVzCkBAIC0xNjM1LDYgKzE2MzMsOSBA QCBnZXRlbnQgZ3JvdXAgY2hyb21lLXJlbW90ZS1kZXNrdG9wID4vZGV2L251bGwgfHwgZ3JvdXBh ZGQgLXIgY2hyb21lLXJlbW90ZS1kZXNrdAogJXtjaHJvbWl1bV9wYXRofS9jaHJvbWVkcml2ZXIK IAogJWNoYW5nZWxvZworKiBGcmkgTWF5IDI2IDIwMjMgVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNv bT4gLSAxMTQuMC41NzM1LjQ1LTEKKy0gdXBkYXRlIHRvIDExNC4wLjU3MzUuNDUKKwogKiBXZWQg TWF5IDE3IDIwMjMgVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNvbT4gLSAxMTMuMC41NjcyLjEyNi0x CiAtIGRyb3AgY2xhbmcgd29ya2Fyb3VuZCBmb3IgZWw4CiAtIHVwZGF0ZSB0byAxMTMuMC41Njcy LjEyNgoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGM4ZDY4NDkuLjYzOTUy NzEgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwzICsxLDMgQEAKIFNI QTUxMiAobm9kZS12MTkuOC4xLWxpbnV4LWFybTY0LnRhci54eikgPSA4NmZmMTkwODU2NjllOTJj ZTdhZmUyZmQ3ZDRkZjBjNTQ0MWRmMmQ4OGMwMGYyOWQ1NDYzYjgwNWYzY2Y1NjI1NjI2ZGI4YWVi Zjk4MzQ5YzlhNDk1Yjc3MmRhMWNlNmQ2ODI2MzczMDAxODIwN2VhOTg4MTUwNThhMWM4MTM5Nwog U0hBNTEyIChub2RlLXYxOS44LjEtbGludXgteDY0LnRhci54eikgPSA5MjVjMDAzN2M2YjcwNzRk MGIwMjQ1YmNlZDIwZDBhMGQ5YjEzMDBmNTNiODA4MTA2ZjE2YjUwMThkNzYzZjVmNWIwMGJjMzIx YjMzZmExMDMzZDczNmIxZTEwNzY2MDhkYTliN2ZjYWU2NmFlZDUzZDI3YjEwMGIxMTg2ZTJjNgot U0hBNTEyIChjaHJvbWl1bS0xMTMuMC41NjcyLjEyNi1jbGVhbi50YXIueHopID0gMWM3YzQ4ZjJl YTc4ZjA5ZjUzM2RkNDJlZWUyMjg3NmIwNzE2NTE3YzhkNmJlYjc2YjJjOGFlMWM2MTZiZmMwNTBl MTc5YzhiZGE0ZmUxZjllNmFiN2ZhOWRjMjkwNzdiMGNkZjE0OWE2ZTI3ZDEwZTJmYWMzNWQ2ZWY4 ZTZjOTkKK1NIQTUxMiAoY2hyb21pdW0tMTE0LjAuNTczNS40NS1jbGVhbi50YXIueHopID0gZmM1 YTBjNzI5NjI0N2YzMWZiYzkzMDZmYzJiZjgwN2NjNzdkZjIwYzA2NjZmZjhjMjFkMWIzYjliZWQ4 M2JiZDU2NjA4OTkxYTRjOTY3ZTcyOTBiMzIwM2JkZWYxMzQxMWYyODY4NzQwM2UyYTc3YmEyMTY3 Mzk1MWMzMmRhOTgK