From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: update to 113.0.5672.63 Date: Fri, 07 Aug 2026 16:05:08 GMT Message-ID: <178611870870.1.8855299662115126952.rpms-chromium-d89936fb37b5@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: d89936fb37b591513288fe4ebe53db0249c2dc1a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2hyb21pdW0KQnJh bmNoIDogZXBlbDktbmV4dApDb21taXQgOiBkODk5MzZmYjM3YjU5MTUxMzI4OGZlNGViZTUzZGIw MjQ5YzJkYzFhCkF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CkRhdGUgICA6IDIw MjMtMDUtMDNUMTA6MDQ6MjIrMDI6MDAKU3RhdHMgIDogKzY5Ni8tMjEzOCBpbiAyMSBmaWxlKHMp ClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvY2hyb21pdW0vYy9k ODk5MzZmYjM3YjU5MTUxMzI4OGZlNGViZTUzZGIwMjQ5YzJkYzFhP2JyYW5jaD1lcGVsOS1uZXh0 CgpMb2c6CnVwZGF0ZSB0byAxMTMuMC41NjcyLjYzCgotLS0KZGlmZiAtLWdpdCBhL2Nocm9taXVt LTEwNC4wLjUxMTIuMTAxLWVuYWJsZS1oYXJkd2FyZS1hY2NlbGVyYXRlZC1tanBlZy5wYXRjaCBi L2Nocm9taXVtLTEwNC4wLjUxMTIuMTAxLWVuYWJsZS1oYXJkd2FyZS1hY2NlbGVyYXRlZC1tanBl Zy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDYxMTZlNC4uMDAwMDAwMAot LS0gYS9jaHJvbWl1bS0xMDQuMC41MTEyLjEwMS1lbmFibGUtaGFyZHdhcmUtYWNjZWxlcmF0ZWQt bWpwZWcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi1kaWZmIC11cCBjaHJv bWl1bS0xMDQuMC41MTEyLjEwMS9jaHJvbWUvYnJvd3Nlci9hYm91dF9mbGFncy5jYy5hY2NlbC1t anBlZyBjaHJvbWl1bS0xMDQuMC41MTEyLjEwMS9jaHJvbWUvYnJvd3Nlci9hYm91dF9mbGFncy5j YwotLS0tIGNocm9taXVtLTEwNC4wLjUxMTIuMTAxL2Nocm9tZS9icm93c2VyL2Fib3V0X2ZsYWdz LmNjLmFjY2VsLW1qcGVnCTIwMjItMDgtMTYgMjM6Mjk6MDguMDAwMDAwMDAwICswMDAwCi0rKysg Y2hyb21pdW0tMTA0LjAuNTExMi4xMDEvY2hyb21lL2Jyb3dzZXIvYWJvdXRfZmxhZ3MuY2MJMjAy Mi0wOC0xOCAxNDoyMTozNi43NjIyNjY1NzEgKzAwMDAKLUBAIC00NDg1LDEyICs0NDg1LDEyIEBA IGNvbnN0IEZlYXR1cmVFbnRyeSBrRmVhdHVyZUVudHJpZXNbXSA9IHsKLSAgICAgIGZsYWdfZGVz Y3JpcHRpb25zOjprV2ViWHJGb3JjZVJ1bnRpbWVEZXNjcmlwdGlvbiwga09zRGVza3RvcCwKLSAg ICAgIE1VTFRJX1ZBTFVFX1RZUEUoa1dlYlhyRm9yY2VSdW50aW1lQ2hvaWNlcyl9LAotICNlbmRp ZiAgLy8gRU5BQkxFX1ZSCi0tI2lmIEJVSUxERkxBRyhJU19DSFJPTUVPU19BU0gpCi0rI2lmIEJV SUxERkxBRyhJU19DSFJPTUVPU19BU0gpIHx8IEJVSUxERkxBRyhJU19MSU5VWCkKLSAgICAgeyJk aXNhYmxlLWFjY2VsZXJhdGVkLW1qcGVnLWRlY29kZSIsCi0gICAgICBmbGFnX2Rlc2NyaXB0aW9u czo6a0FjY2VsZXJhdGVkTWpwZWdEZWNvZGVOYW1lLAotLSAgICAgZmxhZ19kZXNjcmlwdGlvbnM6 OmtBY2NlbGVyYXRlZE1qcGVnRGVjb2RlRGVzY3JpcHRpb24sIGtPc0NyT1MsCi0rICAgICBmbGFn X2Rlc2NyaXB0aW9uczo6a0FjY2VsZXJhdGVkTWpwZWdEZWNvZGVEZXNjcmlwdGlvbiwga09zQ3JP UyB8IGtPc0xpbnV4LAotICAgICAgU0lOR0xFX0RJU0FCTEVfVkFMVUVfVFlQRShzd2l0Y2hlczo6 a0Rpc2FibGVBY2NlbGVyYXRlZE1qcGVnRGVjb2RlKX0sCi0tI2VuZGlmICAvLyBCVUlMREZMQUco SVNfQ0hST01FT1NfQVNIKQotKyNlbmRpZiAgLy8gQlVJTERGTEFHKElTX0NIUk9NRU9TX0FTSCkg fHwgQlVJTERGTEFHKElTX0xJTlVYKQotICAgICB7InN5c3RlbS1rZXlib2FyZC1sb2NrIiwgZmxh Z19kZXNjcmlwdGlvbnM6OmtTeXN0ZW1LZXlib2FyZExvY2tOYW1lLAotICAgICAgZmxhZ19kZXNj cmlwdGlvbnM6OmtTeXN0ZW1LZXlib2FyZExvY2tEZXNjcmlwdGlvbiwga09zRGVza3RvcCwKLSAg ICAgIEZFQVRVUkVfVkFMVUVfVFlQRShmZWF0dXJlczo6a1N5c3RlbUtleWJvYXJkTG9jayl9LAot ZGlmZiAtdXAgY2hyb21pdW0tMTA0LjAuNTExMi4xMDEvY2hyb21lL2Jyb3dzZXIvZmxhZ19kZXNj cmlwdGlvbnMuY2MuYWNjZWwtbWpwZWcgY2hyb21pdW0tMTA0LjAuNTExMi4xMDEvY2hyb21lL2Jy b3dzZXIvZmxhZ19kZXNjcmlwdGlvbnMuY2MKLS0tLSBjaHJvbWl1bS0xMDQuMC41MTEyLjEwMS9j aHJvbWUvYnJvd3Nlci9mbGFnX2Rlc2NyaXB0aW9ucy5jYy5hY2NlbC1tanBlZwkyMDIyLTA4LTE2 IDIzOjI5OjA5LjAwMDAwMDAwMCArMDAwMAotKysrIGNocm9taXVtLTEwNC4wLjUxMTIuMTAxL2No cm9tZS9icm93c2VyL2ZsYWdfZGVzY3JpcHRpb25zLmNjCTIwMjItMDgtMTggMTQ6MjU6MjMuNjA5 NTcyNjQ5ICswMDAwCi1AQCAtNDE3MCw3ICs0MTcwLDcgQEAgY29uc3QgY2hhciBrVXNlQW5nbGVH TFtdID0gIk9wZW5HTCI7Ci0gCi0gLy8gQ2hyb21lT1MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIAotLSNpZiBCVUlM REZMQUcoSVNfQ0hST01FT1NfQVNIKQotKyNpZiBCVUlMREZMQUcoSVNfQ0hST01FT1NfQVNIKSB8 fCBCVUlMREZMQUcoSVNfTElOVVgpCi0gCi0gY29uc3QgY2hhciBrQWNjZWxlcmF0ZWRNanBlZ0Rl Y29kZU5hbWVbXSA9Ci0gICAgICJIYXJkd2FyZS1hY2NlbGVyYXRlZCBtanBlZyBkZWNvZGUgZm9y IGNhcHR1cmVkIGZyYW1lIjsKLUBAIC00MTc4LDYgKzQxNzgsMTAgQEAgY29uc3QgY2hhciBrQWNj ZWxlcmF0ZWRNanBlZ0RlY29kZURlc2NyaQotICAgICAiRW5hYmxlIGhhcmR3YXJlLWFjY2VsZXJh dGVkIG1qcGVnIGRlY29kZSBmb3IgY2FwdHVyZWQgZnJhbWUgd2hlcmUgIgotICAgICAiYXZhaWxh YmxlLiI7Ci0gCi0rI2VuZGlmCi0rCi0rI2lmIEJVSUxERkxBRyhJU19DSFJPTUVPU19BU0gpCi0r Ci0gY29uc3QgY2hhciBrQWRhcHRpdmVDaGFyZ2luZ0ZvclRlc3RpbmdOYW1lW10gPQotICAgICAi U2hvdyBhZGFwdGl2ZSBjaGFyZ2luZyBub3RpZmljYXRpb25zIGZvciB0ZXN0aW5nIjsKLSBjb25z dCBjaGFyIGtBZGFwdGl2ZUNoYXJnaW5nRm9yVGVzdGluZ0Rlc2NyaXB0aW9uW10gPQotZGlmZiAt dXAgY2hyb21pdW0tMTA0LjAuNTExMi4xMDEvY2hyb21lL2Jyb3dzZXIvZmxhZ19kZXNjcmlwdGlv bnMuaC5hY2NlbC1tanBlZyBjaHJvbWl1bS0xMDQuMC41MTEyLjEwMS9jaHJvbWUvYnJvd3Nlci9m bGFnX2Rlc2NyaXB0aW9ucy5oCi0tLS0gY2hyb21pdW0tMTA0LjAuNTExMi4xMDEvY2hyb21lL2Jy b3dzZXIvZmxhZ19kZXNjcmlwdGlvbnMuaC5hY2NlbC1tanBlZwkyMDIyLTA4LTE4IDE0OjIxOjM2 Ljc2NTI2NjQ2OSArMDAwMAotKysrIGNocm9taXVtLTEwNC4wLjUxMTIuMTAxL2Nocm9tZS9icm93 c2VyL2ZsYWdfZGVzY3JpcHRpb25zLmgJMjAyMi0wOC0xOCAxNDoyNjoxMC40Njk5ODMzMDEgKzAw MDAKLUBAIC0yMzkwLDExICsyMzkwLDE1IEBAIGV4dGVybiBjb25zdCBjaGFyIGtVc2VBbmdsZUdM W107Ci0gCi0gLy8gQ2hyb21lT1MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIAotLSNpZiBCVUlMREZMQUcoSVNfQ0hS T01FT1NfQVNIKQotKyNpZiBCVUlMREZMQUcoSVNfQ0hST01FT1NfQVNIKSB8fCBCVUlMREZMQUco SVNfTElOVVgpCi0gCi0gZXh0ZXJuIGNvbnN0IGNoYXIga0FjY2VsZXJhdGVkTWpwZWdEZWNvZGVO YW1lW107Ci0gZXh0ZXJuIGNvbnN0IGNoYXIga0FjY2VsZXJhdGVkTWpwZWdEZWNvZGVEZXNjcmlw dGlvbltdOwotIAotKyNlbmRpZiAvLyBCVUlMREZMQUcoSVNfQ0hST01FT1NfQVNIKSB8fCBCVUlM REZMQUcoSVNfTElOVVgpCi0rCi0rI2lmIEJVSUxERkxBRyhJU19DSFJPTUVPU19BU0gpCi0rCi0g ZXh0ZXJuIGNvbnN0IGNoYXIga0FkYXB0aXZlQ2hhcmdpbmdOYW1lW107Ci0gZXh0ZXJuIGNvbnN0 IGNoYXIga0FkYXB0aXZlQ2hhcmdpbmdEZXNjcmlwdGlvbltdOwotIAoKZGlmZiAtLWdpdCBhL2No cm9taXVtLTEwOC1mZm1wZWctZmlyc3RfZHRzLnBhdGNoIGIvY2hyb21pdW0tMTA4LWZmbXBlZy1m aXJzdF9kdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyYjYzMTMuLjAw MDAwMDAKLS0tIGEvY2hyb21pdW0tMTA4LWZmbXBlZy1maXJzdF9kdHMucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwxMzAgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQv QVVUSE9SUy5maXJzdF9kdHMgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvQVVUSE9SUwotLS0tIGNo cm9taXVtLTEwOC4wLjUzNTkuMTI0L0FVVEhPUlMuZmlyc3RfZHRzCTIwMjItMTItMzEgMTU6MzA6 NTIuOTIzMDA2MzkzICswMTAwCi0rKysgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvQVVUSE9SUwky MDIyLTEyLTMxIDE1OjMyOjUwLjQzMTIxNTgzNiArMDEwMAotQEAgLTk3LDYgKzk3LDcgQEAgQW5k cmEgUGFyYXNjaGl2IDxhbmRyYS5wYXJhc2NoaXZAaW50ZWwuYwotIEFuZHJhcyBUb2tvZGkgPGEu dG9rb2RpQGV5ZW8uY29tPgotIEFuZHJlYXMgTmF6bGlkaXMgPGFuZHJlYXMyMjFiQGdtYWlsLmNv bT4KLSBBbmRyZWFzIFBhcGFjaGFyYWxhbXBvdXMgPGFuZHJlYXNAYXBhcDA0LmNvbT4KLStBbmRy ZWFzIFNjaG5laWRlciA8YXNuQGNyeXB0b21pbGsub3JnPgotIEFuZHJlaSBCb3J6YSA8YW5kcmVp LmJvcnphQGdtYWlsLmNvbT4KLSBBbmRyZWkgUGFydnUgPGFuZHJlaS5wcnZAZ21haWwuY29tPgot IEFuZHJlaSBQYXJ2dSA8cGFydnVAYWRvYmUuY29tPgotZGlmZiAtdXAgY2hyb21pdW0tMTA4LjAu NTM1OS4xMjQvbWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYy5maXJzdF9kdHMgY2hyb21p dW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYwotLS0tIGNo cm9taXVtLTEwOC4wLjUzNTkuMTI0L21lZGlhL2ZpbHRlcnMvZmZtcGVnX2RlbXV4ZXIuY2MuZmly c3RfZHRzCTIwMjItMTItMTQgMDE6Mzk6NTIuMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0t MTA4LjAuNTM1OS4xMjQvbWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYwkyMDIyLTEyLTMx IDE1OjMwOjUyLjkyMzAwNjM5MyArMDEwMAotQEAgLTU4LDcgKzU4LDcgQEAgbmFtZXNwYWNlIG1l ZGlhIHsKLSAKLSBuYW1lc3BhY2UgewotIAotLWNvbnN0ZXhwciBpbnQ2NF90IGtJbnZhbGlkUFRT TWFya2VyID0gc3RhdGljX2Nhc3Q8aW50NjRfdD4oMHg4MDAwMDAwMDAwMDAwMDAwKTsKLStjb25z dGV4cHIgaW50NjRfdCBrUmVsYXRpdmVUc0Jhc2UgPSBzdGF0aWNfY2FzdDxpbnQ2NF90PigweDdm ZmVmZmZmZmZmZmZmZmYpOwotIAotIHZvaWQgU2V0QVZTdHJlYW1EaXNjYXJkKEFWU3RyZWFtKiBz dHJlYW0sIEFWRGlzY2FyZCBkaXNjYXJkKSB7Ci0gICBEQ0hFQ0soc3RyZWFtKTsKLUBAIC05MSw3 ICs5MSw3IEBAIHN0YXRpYyBiYXNlOjpUaW1lRGVsdGEgRnJhbWVzVG9UaW1lRGVsdGEKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlX3JhdGUpOwotIH0KLSAKLS1zdGF0aWMgYmFz ZTo6VGltZURlbHRhIEV4dHJhY3RTdGFydFRpbWUoQVZTdHJlYW0qIHN0cmVhbSkgewotK3N0YXRp YyBiYXNlOjpUaW1lRGVsdGEgRXh0cmFjdFN0YXJ0VGltZShBVlN0cmVhbSogc3RyZWFtLCBpbnQ2 NF90IGZpcnN0X2R0cykgewotICAgLy8gVGhlIGRlZmF1bHQgc3RhcnQgdGltZSBpcyB6ZXJvLgot ICAgYmFzZTo6VGltZURlbHRhIHN0YXJ0X3RpbWU7Ci0gCi1AQCAtMTAxLDEyICsxMDEsMTIgQEAg c3RhdGljIGJhc2U6OlRpbWVEZWx0YSBFeHRyYWN0U3RhcnRUaW1lKAotIAotICAgLy8gTmV4dCB0 cnkgdG8gdXNlIHRoZSBmaXJzdCBEVFMgdmFsdWUsIGZvciBjb2RlY3Mgd2hlcmUgd2Uga25vdyBQ VFMgPT0gRFRTCi0gICAvLyAoZXhjbHVkZXMgYWxsIEgyNnggY29kZWNzKS4gVGhlIHN0YXJ0IHRp bWUgbXVzdCBiZSByZXR1cm5lZCBpbiBQVFMuCi0tICBpZiAoYXZfc3RyZWFtX2dldF9maXJzdF9k dHMoc3RyZWFtKSAhPSBrTm9GRm1wZWdUaW1lc3RhbXAgJiYKLSsgIGlmIChmaXJzdF9kdHMgIT0g QVZfTk9QVFNfVkFMVUUgJiYKLSAgICAgICBzdHJlYW0tPmNvZGVjcGFyLT5jb2RlY19pZCAhPSBB Vl9DT0RFQ19JRF9IRVZDICYmCi0gICAgICAgc3RyZWFtLT5jb2RlY3Bhci0+Y29kZWNfaWQgIT0g QVZfQ09ERUNfSURfSDI2NCAmJgotICAgICAgIHN0cmVhbS0+Y29kZWNwYXItPmNvZGVjX2lkICE9 IEFWX0NPREVDX0lEX01QRUc0KSB7Ci0gICAgIGNvbnN0IGJhc2U6OlRpbWVEZWx0YSBmaXJzdF9w dHMgPQotLSAgICAgICAgQ29udmVydEZyb21UaW1lQmFzZShzdHJlYW0tPnRpbWVfYmFzZSwgYXZf c3RyZWFtX2dldF9maXJzdF9kdHMoc3RyZWFtKSk7Ci0rICAgICAgICBDb252ZXJ0RnJvbVRpbWVC YXNlKHN0cmVhbS0+dGltZV9iYXNlLCBmaXJzdF9kdHMpOwotICAgICBpZiAoZmlyc3RfcHRzIDwg c3RhcnRfdGltZSkKLSAgICAgICBzdGFydF90aW1lID0gZmlyc3RfcHRzOwotICAgfQotQEAgLTI3 NSw2ICsyNzUsNyBAQCBGRm1wZWdEZW11eGVyU3RyZWFtOjpGRm1wZWdEZW11eGVyU3RyZWFtCi0g ICAgICAgZml4dXBfbmVnYXRpdmVfdGltZXN0YW1wc18oZmFsc2UpLAotICAgICAgIGZpeHVwX2No YWluZWRfb2dnXyhmYWxzZSksCi0gICAgICAgbnVtX2Rpc2NhcmRlZF9wYWNrZXRfd2FybmluZ3Nf KDApLAotKyAgICAgIGZpcnN0X2R0c18oQVZfTk9QVFNfVkFMVUUpLAotICAgICAgIGxhc3RfcGFj a2V0X3Bvc18oQVZfTk9QVFNfVkFMVUUpLAotICAgICAgIGxhc3RfcGFja2V0X2R0c18oQVZfTk9Q VFNfVkFMVUUpIHsKLSAgIERDSEVDSyhkZW11eGVyXyk7Ci1AQCAtMzQxLDYgKzM0MiwxMSBAQCB2 b2lkIEZGbXBlZ0RlbXV4ZXJTdHJlYW06OkVucXVldWVQYWNrZXQoCi0gICBpbnQ2NF90IHBhY2tl dF9kdHMgPQotICAgICAgIHBhY2tldC0+ZHRzID09IEFWX05PUFRTX1ZBTFVFID8gcGFja2V0LT5w dHMgOiBwYWNrZXQtPmR0czsKLSAKLSsgIGlmIChmaXJzdF9kdHNfID09IEFWX05PUFRTX1ZBTFVF ICYmIHBhY2tldC0+ZHRzICE9IEFWX05PUFRTX1ZBTFVFICYmCi0rICAgICAgbGFzdF9wYWNrZXRf ZHRzXyAhPSBBVl9OT1BUU19WQUxVRSkgewotKyAgICBmaXJzdF9kdHNfID0gcGFja2V0LT5kdHMg LSAobGFzdF9wYWNrZXRfZHRzXyArIGtSZWxhdGl2ZVRzQmFzZSk7Ci0rICB9Ci0rCi0gICAvLyBD aGFpbmVkIG9nZyBmaWxlcyBoYXZlIG5vbi1tb25vdG9uaWNhbGx5IGluY3JlYXNpbmcgcG9zaXRp b24gYW5kIHRpbWUgc3RhbXAKLSAgIC8vIHZhbHVlcywgd2hpY2ggcHJldmVudHMgdXMgZnJvbSB1 c2luZyB0aGVtIHRvIGRldGVybWluZSBpZiBhIHBhY2tldCBzaG91bGQKLSAgIC8vIGJlIGRyb3Bw ZWQuIFNpbmNlIGNoYWluZWQgb2dnIGlzIG9ubHkgYWxsb3dlZCBvbiBzaW5nbGUgdHJhY2sgYXVk aW8gb25seQotQEAgLTY4Myw2ICs2ODksNyBAQCB2b2lkIEZGbXBlZ0RlbXV4ZXJTdHJlYW06OkZs dXNoQnVmZmVycyhiCi0gICBSZXNldEJpdHN0cmVhbUNvbnZlcnRlcigpOwotIAotICAgaWYgKCFw cmVzZXJ2ZV9wYWNrZXRfcG9zaXRpb24pIHsKLSsgICAgZmlyc3RfZHRzXyA9IEFWX05PUFRTX1ZB TFVFOwotICAgICBsYXN0X3BhY2tldF9wb3NfID0gQVZfTk9QVFNfVkFMVUU7Ci0gICAgIGxhc3Rf cGFja2V0X2R0c18gPSBBVl9OT1BUU19WQUxVRTsKLSAgIH0KLUBAIC0xNDM0LDcgKzE0NDEsOCBA QCB2b2lkIEZGbXBlZ0RlbXV4ZXI6Ok9uRmluZFN0cmVhbUluZm9Eb25lCi0gCi0gICAgIG1heF9k dXJhdGlvbiA9IHN0ZDo6bWF4KG1heF9kdXJhdGlvbiwgc3RyZWFtc19baV0tPmR1cmF0aW9uKCkp OwotIAotLSAgICBiYXNlOjpUaW1lRGVsdGEgc3RhcnRfdGltZSA9IEV4dHJhY3RTdGFydFRpbWUo c3RyZWFtKTsKLSsgICAgYmFzZTo6VGltZURlbHRhIHN0YXJ0X3RpbWUgPQotKyAgICAgICAgRXh0 cmFjdFN0YXJ0VGltZShzdHJlYW0sIHN0cmVhbXNfW2ldLT5maXJzdF9kdHMoKSk7Ci0gCi0gICAg IC8vIE5vdGU6IFRoaXMgdmFsdWUgaXMgdXNlZCBmb3Igc2Vla2luZywgc28gd2UgbXVzdCB0YWtl IHRoZSB0cnVlIHZhbHVlIGFuZAotICAgICAvLyBub3QgdGhlIG9uZSBwb3NzaWJseSBjbGFtcGVk IHRvIHplcm8gYmVsb3cuCi1AQCAtMTU5MSw3ICsxNTk5LDcgQEAgRkZtcGVnRGVtdXhlclN0cmVh bSogRkZtcGVnRGVtdXhlcjo6RmluZAotICAgZm9yIChjb25zdCBhdXRvJiBzdHJlYW0gOiBzdHJl YW1zXykgewotICAgICBpZiAoIXN0cmVhbSB8fCBzdHJlYW0tPklzRW5hYmxlZCgpICE9IGVuYWJs ZWQpCi0gICAgICAgY29udGludWU7Ci0tICAgIGlmIChhdl9zdHJlYW1fZ2V0X2ZpcnN0X2R0cyhz dHJlYW0tPmF2X3N0cmVhbSgpKSA9PSBrSW52YWxpZFBUU01hcmtlcikKLSsgICAgaWYgKHN0cmVh bS0+Zmlyc3RfZHRzKCkgPT0gQVZfTk9QVFNfVkFMVUUpCi0gICAgICAgY29udGludWU7Ci0gICAg IGlmICghbG93ZXN0X3N0YXJ0X3RpbWVfc3RyZWFtIHx8Ci0gICAgICAgICBzdHJlYW0tPnN0YXJ0 X3RpbWUoKSA8IGxvd2VzdF9zdGFydF90aW1lX3N0cmVhbS0+c3RhcnRfdGltZSgpKSB7Ci1AQCAt MTYxMiw3ICsxNjIwLDcgQEAgRkZtcGVnRGVtdXhlclN0cmVhbSogRkZtcGVnRGVtdXhlcjo6Rmlu ZAotICAgICBpZiAoc3RyZWFtLT50eXBlKCkgIT0gRGVtdXhlclN0cmVhbTo6VklERU8pCi0gICAg ICAgY29udGludWU7Ci0gCi0tICAgIGlmIChhdl9zdHJlYW1fZ2V0X2ZpcnN0X2R0cyhzdHJlYW0t PmF2X3N0cmVhbSgpKSA9PSBrSW52YWxpZFBUU01hcmtlcikKLSsgICAgaWYgKHN0cmVhbS0+Zmly c3RfZHRzKCkgPT0gQVZfTk9QVFNfVkFMVUUpCi0gICAgICAgY29udGludWU7Ci0gCi0gICAgIGlm ICghc3RyZWFtLT5Jc0VuYWJsZWQoKSkKLUBAIC0xOTI2LDQgKzE5MzQsNCBAQCB2b2lkIEZGbXBl Z0RlbXV4ZXI6OlJ1blBlbmRpbmdTZWVrQ0IoUGlwCi0gICBzdGQ6Om1vdmUocGVuZGluZ19zZWVr X2NiXykuUnVuKHN0YXR1cyk7Ci0gfQotIAotLX0gIC8vIG5hbWVzcGFjZSBtZWRpYQotK30gIC8v IG5hbWVzcGFjZSBtZWRpYQotXCBLZWluIFplaWxlbnVtYnJ1Y2ggYW0gRGF0ZWllbmRlLgotZGlm ZiAtdXAgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhl ci5oLmZpcnN0X2R0cyBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9tZWRpYS9maWx0ZXJzL2ZmbXBl Z19kZW11eGVyLmgKLS0tLSBjaHJvbWl1bS0xMDguMC41MzU5LjEyNC9tZWRpYS9maWx0ZXJzL2Zm bXBlZ19kZW11eGVyLmguZmlyc3RfZHRzCTIwMjItMTItMTQgMDE6Mzk6NTIuMDAwMDAwMDAwICsw MTAwCi0rKysgY2hyb21pdW0tMTA4LjAuNTM1OS4xMjQvbWVkaWEvZmlsdGVycy9mZm1wZWdfZGVt dXhlci5oCTIwMjItMTItMzEgMTU6MzA6NTIuOTI0MDA2NDAzICswMTAwCi1AQCAtMTQ1LDYgKzE0 NSw4IEBAIGNsYXNzIE1FRElBX0VYUE9SVCBGRm1wZWdEZW11eGVyU3RyZWFtIDoKLSAgIGJhc2U6 OlRpbWVEZWx0YSBzdGFydF90aW1lKCkgY29uc3QgeyByZXR1cm4gc3RhcnRfdGltZV87IH0KLSAg IHZvaWQgc2V0X3N0YXJ0X3RpbWUoYmFzZTo6VGltZURlbHRhIHRpbWUpIHsgc3RhcnRfdGltZV8g PSB0aW1lOyB9Ci0gCi0rICBpbnQ2NF90IGZpcnN0X2R0cygpIGNvbnN0IHsgcmV0dXJuIGZpcnN0 X2R0c187IH0KLSsKLSAgcHJpdmF0ZToKLSAgIGZyaWVuZCBjbGFzcyBGRm1wZWdEZW11eGVyVGVz dDsKLSAKLUBAIC0yMDIsNiArMjA0LDcgQEAgY2xhc3MgTUVESUFfRVhQT1JUIEZGbXBlZ0RlbXV4 ZXJTdHJlYW0gOgotICAgYm9vbCBmaXh1cF9jaGFpbmVkX29nZ187Ci0gCi0gICBpbnQgbnVtX2Rp c2NhcmRlZF9wYWNrZXRfd2FybmluZ3NfOwotKyAgaW50NjRfdCBmaXJzdF9kdHNfOwotICAgaW50 NjRfdCBsYXN0X3BhY2tldF9wb3NfOwotICAgaW50NjRfdCBsYXN0X3BhY2tldF9kdHNfOwotIH07 CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTA5LWRpc2FibGUtR2xvYmFsTWVkaWFDb250cm9sc0Nh c3RTdGFydFN0b3AucGF0Y2ggYi9jaHJvbWl1bS0xMDktZGlzYWJsZS1HbG9iYWxNZWRpYUNvbnRy b2xzQ2FzdFN0YXJ0U3RvcC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWU0 OTJhMy4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMDktZGlzYWJsZS1HbG9iYWxNZWRpYUNvbnRy b2xzQ2FzdFN0YXJ0U3RvcC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLWRp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvbWVkaWEvcm91dGVy L21lZGlhX3JvdXRlcl9mZWF0dXJlLmNjLmRpc2FibGUtR2xvYmFsTWVkaWFDb250cm9sc0Nhc3RT dGFydFN0b3AgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nlci9tZWRpYS9yb3V0 ZXIvbWVkaWFfcm91dGVyX2ZlYXR1cmUuY2MKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2No cm9tZS9icm93c2VyL21lZGlhL3JvdXRlci9tZWRpYV9yb3V0ZXJfZmVhdHVyZS5jYy5kaXNhYmxl LUdsb2JhbE1lZGlhQ29udHJvbHNDYXN0U3RhcnRTdG9wCTIwMjMtMDEtMTEgMTU6Mjc6NTAuNTg3 NzM3MDcwICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nlci9t ZWRpYS9yb3V0ZXIvbWVkaWFfcm91dGVyX2ZlYXR1cmUuY2MJMjAyMy0wMS0xMSAxNTozMDozNS4x MzY4Mjk5NTEgKzAxMDAKLUBAIC00OCwxNSArNDgsOSBAQCBCQVNFX0ZFQVRVUkUoa01lZGlhUmVt b3RpbmdXaXRob3V0RnVsbHNjCi0gICAgICAgICAgICAgICJNZWRpYVJlbW90aW5nV2l0aG91dEZ1 bGxzY3JlZW4iLAotICAgICAgICAgICAgICBiYXNlOjpGRUFUVVJFX0RJU0FCTEVEX0JZX0RFRkFV TFQpOwotIAotLSNpZiBCVUlMREZMQUcoSVNfQ0hST01FT1MpCi0gQkFTRV9GRUFUVVJFKGtHbG9i YWxNZWRpYUNvbnRyb2xzQ2FzdFN0YXJ0U3RvcCwKLSAgICAgICAgICAgICAgIkdsb2JhbE1lZGlh Q29udHJvbHNDYXN0U3RhcnRTdG9wIiwKLSAgICAgICAgICAgICAgYmFzZTo6RkVBVFVSRV9ESVNB QkxFRF9CWV9ERUZBVUxUKTsKLS0jZWxzZQotLUJBU0VfRkVBVFVSRShrR2xvYmFsTWVkaWFDb250 cm9sc0Nhc3RTdGFydFN0b3AsCi0tICAgICAgICAgICAgICJHbG9iYWxNZWRpYUNvbnRyb2xzQ2Fz dFN0YXJ0U3RvcCIsCi0tICAgICAgICAgICAgIGJhc2U6OkZFQVRVUkVfRU5BQkxFRF9CWV9ERUZB VUxUKTsKLS0jZW5kaWYgIC8vIEJVSUxERkxBRyhJU19DSFJPTUVPUykKLSAKLSAjZW5kaWYgIC8v IEJVSUxERkxBRyhJU19BTkRST0lEKQotIAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTEwOS1nY2Mx My5wYXRjaCBiL2Nocm9taXVtLTEwOS1nY2MxMy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggOTMzM2I3MC4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMDktZ2NjMTMucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwzODggKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAu NTQxNC43NC9iYXNlL2NoZWNrX29wLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2No ZWNrX29wLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tfb3AuaC5tZQky MDIzLTAxLTE3IDE3OjM5OjI3LjYyMDg3NTg4MyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvYmFzZS9jaGVja19vcC5oCTIwMjMtMDEtMTcgMTc6Mzk6NDIuNTQ2MDYwOTU3ICswMTAw Ci1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIEJBU0VfQ0hFQ0tfT1BfSF8KLSAjZGVmaW5lIEJB U0VfQ0hFQ0tfT1BfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8Y3N0ZGRl Zj4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KLWRpZmYgLXVw IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5oLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5oCi0tLS0gY2hyb21pdW0tMTA5LjAu NTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgubWUJMjAyMy0wMS0xNyAxNjoyOToyNi4zNjgw OTAwNzMgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmls ZXIuaAkyMDIzLTAxLTE3IDE2OjU5OjQxLjE5MDYyODY3OSArMDEwMAotQEAgLTcsNiArNyw3IEBA Ci0gCi0gI2luY2x1ZGUgPHN0ZGRlZi5oPgotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNs dWRlIDxzdHJpbmc+Ci0gCi0gI2luY2x1ZGUgImJhc2UvYmFzZV9leHBvcnQuaCIKLWRpZmYgLXVw IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy92aXovY29tbW9uL3ZpZXdfdHJhbnNp dGlvbl9lbGVtZW50X3Jlc291cmNlX2lkLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21w b25lbnRzL3Zpei9jb21tb24vdmlld190cmFuc2l0aW9uX2VsZW1lbnRfcmVzb3VyY2VfaWQuaAot LS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy92aXovY29tbW9uL3ZpZXdfdHJh bnNpdGlvbl9lbGVtZW50X3Jlc291cmNlX2lkLmgubWUJMjAyMy0wMS0xNyAxOTowMzoxMC45MjAw MTQ4MDYgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvdml6L2Nv bW1vbi92aWV3X3RyYW5zaXRpb25fZWxlbWVudF9yZXNvdXJjZV9pZC5oCTIwMjMtMDEtMTcgMTk6 MDM6NDguNzM2Mzk1Mjc0ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVO VFNfVklaX0NPTU1PTl9WSUVXX1RSQU5TSVRJT05fRUxFTUVOVF9SRVNPVVJDRV9JRF9IXwotICNk ZWZpbmUgQ09NUE9ORU5UU19WSVpfQ09NTU9OX1ZJRVdfVFJBTlNJVElPTl9FTEVNRU5UX1JFU09V UkNFX0lEX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAj aW5jbHVkZSA8dmVjdG9yPgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUv Y29uZmlnL2dwdV9mZWF0dXJlX2luZm8uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2dwdS9j b25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUv Y29uZmlnL2dwdV9mZWF0dXJlX2luZm8uaC5tZQkyMDIzLTAxLTE3IDE5OjA2OjUzLjUzMDY3NTEy OSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVy ZV9pbmZvLmgJMjAyMy0wMS0xNyAxOTowNzowOC44NzQ4NDk4NzkgKzAxMDAKLUBAIC01LDYgKzUs NyBAQAotICNpZm5kZWYgR1BVX0NPTkZJR19HUFVfRkVBVFVSRV9JTkZPX0hfCi0gI2RlZmluZSBH UFVfQ09ORklHX0dQVV9GRUFUVVJFX0lORk9fSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAj aW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx2ZWN0b3I+Ci0gCi1kaWZmIC11cCBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L25ldC9iYXNlL25ldF9leHBvcnQuaC5tZSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L25ldC9iYXNlL25ldF9leHBvcnQuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv bmV0L2Jhc2UvbmV0X2V4cG9ydC5oLm1lCTIwMjMtMDEtMTcgMTg6MTY6MzQuMTMzODU0NjE1ICsw MTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgJMjAy My0wMS0xNyAxODoxNjoxNS45NDU2MjMxNTMgKzAxMDAKLUBAIC01LDYgKzUsOCBAQAotICNpZm5k ZWYgTkVUX0JBU0VfTkVUX0VYUE9SVF9IXwotICNkZWZpbmUgTkVUX0JBU0VfTkVUX0VYUE9SVF9I XwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotKwotIC8vIERlZmluZXMgTkVUX0VYUE9SVCBzbyB0 aGF0IGZ1bmN0aW9uYWxpdHkgaW1wbGVtZW50ZWQgYnkgdGhlIG5ldCBtb2R1bGUgY2FuCi0gLy8g YmUgZXhwb3J0ZWQgdG8gY29uc3VtZXJzLCBhbmQgTkVUX0VYUE9SVF9QUklWQVRFIHRoYXQgYWxs b3dzIHVuaXQgdGVzdHMgdG8KLSAvLyBhY2Nlc3MgZmVhdHVyZXMgbm90IGludGVuZGVkIHRvIGJl IHVzZWQgZGlyZWN0bHkgYnkgcmVhbCBjb25zdW1lcnMuCi1kaWZmIC11cCBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L25ldC90aGlyZF9wYXJ0eS9xdWljaGUvc3JjL3F1aWNoZS9xdWljL2NvcmUvcXVp Y19jb25uZWN0aW9uX2lkLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQvdGhpcmRfcGFy dHkvcXVpY2hlL3NyYy9xdWljaGUvcXVpYy9jb3JlL3F1aWNfY29ubmVjdGlvbl9pZC5oCi0tLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQvdGhpcmRfcGFydHkvcXVpY2hlL3NyYy9xdWljaGUv cXVpYy9jb3JlL3F1aWNfY29ubmVjdGlvbl9pZC5oLm1lCTIwMjMtMDEtMTcgMTc6NDY6MzAuODMw MjgzMjYxICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQvdGhpcmRfcGFydHkv cXVpY2hlL3NyYy9xdWljaGUvcXVpYy9jb3JlL3F1aWNfY29ubmVjdGlvbl9pZC5oCTIwMjMtMDEt MTcgMTc6NDY6NDAuMTU4NDA3Mjc0ICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIFFV SUNIRV9RVUlDX0NPUkVfUVVJQ19DT05ORUNUSU9OX0lEX0hfCi0gI2RlZmluZSBRVUlDSEVfUVVJ Q19DT1JFX1FVSUNfQ09OTkVDVElPTl9JRF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNp bmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLSAKLWRpZmYgLXVwIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9w ZXJtaXNzaW9uLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5kYm94L2xpbnV4L3N5c2Nh bGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAotLS0tIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9u LmgubWUJMjAyMy0wMS0xNyAxNzoxMjozNC4xODQ2ODY1MTUgKzAxMDAKLSsrKyBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVy bWlzc2lvbi5oCTIwMjMtMDEtMTcgMTc6MTM6MTYuNTM3MTYyNDIwICswMTAwCi1AQCAtNSw2ICs1 LDcgQEAKLSAjaWZuZGVmIFNBTkRCT1hfTElOVVhfU1lTQ0FMTF9CUk9LRVJfQlJPS0VSX0ZJTEVf UEVSTUlTU0lPTl9IXwotICNkZWZpbmUgU0FOREJPWF9MSU5VWF9TWVNDQUxMX0JST0tFUl9CUk9L RVJfRklMRV9QRVJNSVNTSU9OX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUg PGJpdHNldD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5o Lm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0 cmluZ3Mvc3RyaW5nX3ZpZXcuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaC5tZQkyMDIzLTAxLTE3IDE3 OjMzOjIwLjg5NTcxNzMwNyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaAkyMDIzLTAxLTE3IDE3 OjM0OjAzLjQ1NjE4NTM2NSArMDEwMAotQEAgLTI3LDYgKzI3LDcgQEAKLSAjaWZuZGVmIEFCU0xf U1RSSU5HU19TVFJJTkdfVklFV19IXwotICNkZWZpbmUgQUJTTF9TVFJJTkdTX1NUUklOR19WSUVX X0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGFsZ29yaXRobT4KLSAjaW5j bHVkZSA8Y2Fzc2VydD4KLSAjaW5jbHVkZSA8Y3N0ZGRlZj4KLWRpZmYgLXVwIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1NoYWRlclZhcnMu aC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xT TEFORy9TaGFkZXJWYXJzLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5 L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWUJMjAyMy0wMS0xNyAxNzozNjox NS4wMTc2MTYyNTAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5 L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgJMjAyMy0wMS0xNyAxNzozNjo0OC45 NjA5ODIxOTUgKzAxMDAKLUBAIC0xMCw2ICsxMCw3IEBACi0gI2lmbmRlZiBHTFNMQU5HX1NIQURF UlZBUlNfSF8KLSAjZGVmaW5lIEdMU0xBTkdfU0hBREVSVkFSU19IXwotIAotKyNpbmNsdWRlIDxj c3RkaW50PgotICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0gI2luY2x1ZGUgPGFycmF5PgotICNpbmNs dWRlIDxzdHJpbmc+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5 L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9vdGhfZGV2aWNlX2lkLmgu bWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9u L2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCi0tLS0gY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1 ZXRvb3RoX2RldmljZV9pZC5oLm1lCTIwMjMtMDEtMTcgMTk6MTc6NDAuNDgwODc2MTcxICswMTAw Ci0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29t bW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oCTIwMjMtMDEtMTcgMTk6MTc6 NDYuODAzOTU4MzIwICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIFRISVJEX1BBUlRZ X0JMSU5LX1BVQkxJQ19DT01NT05fQkxVRVRPT1RIX1dFQl9CTFVFVE9PVEhfREVWSUNFX0lEX0hf Ci0gI2RlZmluZSBUSElSRF9QQVJUWV9CTElOS19QVUJMSUNfQ09NTU9OX0JMVUVUT09USF9XRUJf QkxVRVRPT1RIX0RFVklDRV9JRF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRl IDxhcnJheT4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9kYXduL3NyYy9kYXduL25hdGl2ZS9zdHJlYW0vQnl0ZVZlY3Rv clNpbmsuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Rhd24vc3JjL2Rh d24vbmF0aXZlL3N0cmVhbS9CeXRlVmVjdG9yU2luay5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQx NC43NC90aGlyZF9wYXJ0eS9kYXduL3NyYy9kYXduL25hdGl2ZS9zdHJlYW0vQnl0ZVZlY3RvclNp bmsuaC5tZQkyMDIzLTAxLTE3IDE4OjAwOjM3LjEyMzIxODk1NCArMDEwMAotKysrIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9zcmMvZGF3bi9uYXRpdmUvc3RyZWFtL0J5 dGVWZWN0b3JTaW5rLmgJMjAyMy0wMS0xNyAxODowMDo1MC42MTAzMDAxMzggKzAxMDAKLUBAIC0x NSw2ICsxNSw3IEBACi0gI2lmbmRlZiBTUkNfREFXTl9OQVRJVkVfU1RSRUFNX0JZVEVWRUNUT1JT SU5LX0hfCi0gI2RlZmluZSBTUkNfREFXTl9OQVRJVkVfU1RSRUFNX0JZVEVWRUNUT1JTSU5LX0hf Ci0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPG9zdHJlYW0+Ci0gI2luY2x1ZGUg PHZlY3Rvcj4KLSAKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv ZGF3bi9zcmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvcmVhZGVyL3NwaXJ2L25hbWVyLmgKLS0tLSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvcmVhZGVyL3Nw aXJ2L25hbWVyLmgubWUJMjAyMy0wMS0xNyAxODowMjo0NC42ODE1MzgxMDcgKzAxMDAKLSsrKyBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvcmVhZGVyL3Nw aXJ2L25hbWVyLmgJMjAyMy0wMS0xNyAxODowMjo1Ny4yMDg2NzkxNDAgKzAxMDAKLUBAIC0xNSw2 ICsxNSw3IEBACi0gI2lmbmRlZiBTUkNfVElOVF9SRUFERVJfU1BJUlZfTkFNRVJfSF8KLSAjZGVm aW5lIFNSQ19USU5UX1JFQURFUl9TUElSVl9OQU1FUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50 PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHVub3JkZXJlZF9tYXA+Ci0gI2luY2x1 ZGUgPHZlY3Rvcj4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv b3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5o Lm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlz Y292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oCi0tLS0gY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVi bGljL2Ruc19zZF90eHRfcmVjb3JkLmgubWUJMjAyMy0wMS0xOCAxNToyMjozOC40NzI5NDA2NDgg KzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4v c3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaAkyMDIzLTAxLTE4 IDE1OjIzOjA5LjM4MDI1NTEwMSArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBESVND T1ZFUllfRE5TU0RfUFVCTElDX0ROU19TRF9UWFRfUkVDT1JEX0hfCi0gI2RlZmluZSBESVNDT1ZF UllfRE5TU0RfUFVCTElDX0ROU19TRF9UWFRfUkVDT1JEX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRp bnQ+Ci0gI2luY2x1ZGUgPGZ1bmN0aW9uYWw+Ci0gI2luY2x1ZGUgPG1hcD4KLSAjaW5jbHVkZSA8 c2V0PgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNo YWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwCi0tLS0gY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNh Y2hlLmhwcC5tZQkyMDIzLTAxLTE3IDE1OjM3OjQ4LjUzMDYyNjUxNiArMDEwMAotKysrIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVD YWNoZS5ocHAJMjAyMy0wMS0xNyAxNjo1Nzo0Ni4wMjU1NDgwOTIgKzAxMDAKLUBAIC0xNyw2ICsx Nyw3IEBACi0gCi0gI2luY2x1ZGUgIlN5c3RlbS9EZWJ1Zy5ocHAiCi0gCi0rI2luY2x1ZGUgPGNz dGRpbnQ+Ci0gI2luY2x1ZGUgPGNzdGRkZWY+Ci0gI2luY2x1ZGUgPGZ1bmN0aW9uYWw+Ci0gI2lu Y2x1ZGUgPHVub3JkZXJlZF9zZXQ+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgu bWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9j YXRvci9pbmNsdWRlL3ZrX21lbV9hbGxvYy5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90 aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRlL3ZrX21lbV9hbGxvYy5o Lm1lCTIwMjMtMDEtMTcgMTU6NDA6MjMuODU0Mzg2MjA2ICswMTAwCi0rKysgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRlL3Zr X21lbV9hbGxvYy5oCTIwMjMtMDEtMTcgMTY6NTg6MTkuMzk3ODYyODg1ICswMTAwCi1AQCAtMjM4 OCw2ICsyMzg4LDcgQEAgVk1BX0NBTExfUFJFIHZvaWQgVk1BX0NBTExfUE9TVCB2bWFGcmVlVgot ICNpZmRlZiBWTUFfSU1QTEVNRU5UQVRJT04NCi0gI3VuZGVmIFZNQV9JTVBMRU1FTlRBVElPTg0K LSANCi0rI2luY2x1ZGUgPGNzdGRpbz4NCi0gI2luY2x1ZGUgPGNzdGRpbnQ+DQotICNpbmNsdWRl IDxjc3RkbGliPg0KLSAjaW5jbHVkZSA8Y3N0cmluZz4NCi1kaWZmIC11cCBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaC5tZSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaAotLS0tIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oLm1lCTIw MjMtMDEtMTcgMTg6MDg6MjUuNzQ1NDkxMzUzICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQx NC43NC91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgJMjAyMy0wMS0xNyAxODowODoz NS43Nzc2Njc2MzIgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgVUlfR0ZYX0xJTkVB Ul9HUkFESUVOVF9IXwotICNkZWZpbmUgVUlfR0ZYX0xJTkVBUl9HUkFESUVOVF9IXwotIAotKyNp bmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxhcnJheT4KLSAjaW5jbHVkZSA8c3RyaW5nPgot IAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZXJmZXR0by9p bmNsdWRlL3BlcmZldHRvL2V4dC9iYXNlL3V1aWQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L3BlcmZldHRvL2luY2x1ZGUvcGVyZmV0dG8vZXh0L2Jhc2UvdXVpZC5oCi0t LS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZXJmZXR0by9pbmNsdWRlL3Bl cmZldHRvL2V4dC9iYXNlL3V1aWQuaC5tZQkyMDIzLTAxLTE4IDE2OjAwOjU4LjU2Mzg3NTg4MSAr MDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcGVyZmV0dG8vaW5j bHVkZS9wZXJmZXR0by9leHQvYmFzZS91dWlkLmgJMjAyMy0wMS0xOCAxNjowMjowMS43NzM1MTc0 NTIgKzAxMDAKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2lmbmRlZiBJTkNMVURFX1BFUkZFVFRPX0VY VF9CQVNFX1VVSURfSF8KLSAjZGVmaW5lIElOQ0xVREVfUEVSRkVUVE9fRVhUX0JBU0VfVVVJRF9I XwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxhcnJheT4KLSAjaW5jbHVkZSA8 c3RyaW5nPgotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9y dXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24uaC5tZSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5o Ci0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9m aWxlci9pbnN0cnVtZW50YXRpb24uaC5tZQkyMDIzLTAxLTE5IDEwOjEwOjIxLjI4Nzg3NjczNiAr MDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkv cHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgJMjAyMy0wMS0xOSAxMDoxMToyMS43MTQ3Nzg4OTYg KzAxMDAKLUBAIC0xNyw2ICsxNyw3IEBAIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgot ICNkZWZpbmUgUlVZX1JVWV9QUk9GSUxFUl9JTlNUUlVNRU5UQVRJT05fSF8KLSAKLSAjaWZkZWYg UlVZX1BST0ZJTEVSCi0rI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8Y3N0ZGlvPgotICNp bmNsdWRlIDxtdXRleD4KLSAjaW5jbHVkZSA8dmVjdG9yPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxz L2ludGVybmFsL3NwZWN0cm9ncmFtLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9n cmFtLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMv dGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaC5tZQkyMDIzLTAx LTE5IDEwOjMwOjI3LjUzMzg2MTk4NSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9z cGVjdHJvZ3JhbS5oCTIwMjMtMDEtMTkgMTA6MzE6MTIuNTg1NTU0MTgzICswMTAwCi1AQCAtMzEs NiArMzEsNyBAQCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAjaWZuZGVmIFRFTlNP UkZMT1dfTElURV9LRVJORUxTX0lOVEVSTkFMX1NQRUNUUk9HUkFNX0hfCi0gI2RlZmluZSBURU5T T1JGTE9XX0xJVEVfS0VSTkVMU19JTlRFUk5BTF9TUEVDVFJPR1JBTV9IXwotIAotKyNpbmNsdWRl IDxjc3RkaW50PgotICNpbmNsdWRlIDxjb21wbGV4PgotICNpbmNsdWRlIDxkZXF1ZT4KLSAjaW5j bHVkZSA8dmVjdG9yPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRh aW5lcnMvZmxhdF9tYXAuaC5tZWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5l cnMvZmxhdF9tYXAuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jb250YWluZXJz L2ZsYXRfbWFwLmgubWVlCTIwMjMtMDEtMTkgMTA6NTk6NTIuMjE0OTU3NzczICswMTAwCi0rKysg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaAkyMDIzLTAx LTE5IDExOjAwOjA2LjQxNTIxNTMwOSArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBC QVNFX0NPTlRBSU5FUlNfRkxBVF9NQVBfSF8KLSAjZGVmaW5lIEJBU0VfQ09OVEFJTkVSU19GTEFU X01BUF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxmdW5jdGlvbmFsPgot ICNpbmNsdWRlIDx0dXBsZT4KLSAjaW5jbHVkZSA8dXRpbGl0eT4KLWRpZmYgLXVwIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9j bGllbnQuaC5tZWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUv YXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9j b21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oLm1lZQkyMDIz LTAxLTE5IDEwOjM2OjQwLjU3MTQyMjgyNiArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvY29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaAkyMDIz LTAxLTE5IDEwOjM2OjQ5LjM0MzU2NTI5NCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRl ZiBDT01QT05FTlRTX0NSQVNIX0NPUkVfQVBQX0NSQVNIX1JFUE9SVEVSX0NMSUVOVF9IXwotICNk ZWZpbmUgQ09NUE9ORU5UU19DUkFTSF9DT1JFX0FQUF9DUkFTSF9SRVBPUlRFUl9DTElFTlRfSF8K LSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotICNpbmNsdWRl ICJidWlsZC9idWlsZF9jb25maWcuaCIKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv ZGV2aWNlL2JsdWV0b290aC9wdWJsaWMvY3BwL2JsdWV0b290aF91dWlkLmgubWVlIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvZGV2aWNlL2JsdWV0b290aC9wdWJsaWMvY3BwL2JsdWV0b290aF91dWlk LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2RldmljZS9ibHVldG9vdGgvcHVibGljL2Nw cC9ibHVldG9vdGhfdXVpZC5oLm1lZQkyMDIzLTAxLTE5IDEwOjQ2OjU0LjgyNjUxMzcwNyArMDEw MAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZGV2aWNlL2JsdWV0b290aC9wdWJsaWMvY3Bw L2JsdWV0b290aF91dWlkLmgJMjAyMy0wMS0xOSAxMDo0NzoxMS4yNTU3MTE0NzIgKzAxMDAKLUBA IC01LDYgKzUsNyBAQAotICNpZm5kZWYgREVWSUNFX0JMVUVUT09USF9QVUJMSUNfQ1BQX0JMVUVU T09USF9VVUlEX0hfCi0gI2RlZmluZSBERVZJQ0VfQkxVRVRPT1RIX1BVQkxJQ19DUFBfQkxVRVRP T1RIX1VVSURfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8b3N0cmVhbT4K LSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx2ZWN0b3I+Ci1kaWZmIC11cCBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgubWVlIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaAot LS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0 ZXIuaC5tZWUJMjAyMy0wMS0xOSAxMTo0NToxNS45NTMxNTk3NTUgKzAxMDAKLSsrKyBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgJMjAyMy0w MS0xOSAxMTo0NToyMi4zMjAyNDYyNDEgKzAxMDAKLUBAIC01LDYgKzUsOCBAQAotICNpZm5kZWYg VUlfQkFTRV9QUkVESUNUSU9OX0tBTE1BTl9GSUxURVJfSF8KLSAjZGVmaW5lIFVJX0JBU0VfUFJF RElDVElPTl9LQUxNQU5fRklMVEVSX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gI2lu Y2x1ZGUgImJhc2UvY29tcG9uZW50X2V4cG9ydC5oIgotICNpbmNsdWRlICJ1aS9nZngvZ2VvbWV0 cnkvbWF0cml4M19mLmgiCi0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBv bmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9n ZW5lcmF0b3IuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRf bWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaAotLS0t IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUv YnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oLm1lCTIwMjMtMDEtMTkgMTU6 MjA6MDcuNjIwOTg3OTQ5ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25l bnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2Vu ZXJhdG9yLmgJMjAyMy0wMS0xOSAxNToyMDoxOC4zMjQxNzM3MDIgKzAxMDAKLUBAIC01LDYgKzUs NyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19QQVNTV09SRF9NQU5BR0VSX0NPUkVfQlJPV1NFUl9H RU5FUkFUSU9OX1BBU1NXT1JEX0dFTkVSQVRPUl9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19QQVNT V09SRF9NQU5BR0VSX0NPUkVfQlJPV1NFUl9HRU5FUkFUSU9OX1BBU1NXT1JEX0dFTkVSQVRPUl9I XwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gCi1kaWZm IC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50 L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdl X3ZhbGlkYXRvci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1 cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1lCTIwMjMt MDEtMTkgMTY6MDA6MTQuMzUwMTg2NTE1ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3Zh bGlkYXRvci5oCTIwMjMtMDEtMTkgMTY6MDA6MjEuNjQzMzA3OTkzICswMTAwCi1AQCAtNSw2ICs1 LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX0VW RU5UX1NUT1JBR0VfVkFMSURBVE9SX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX0ZFQVRVUkVfRU5H QUdFTUVOVF9JTlRFUk5BTF9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXwotIAotKyNpbmNsdWRl IDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gbmFtZXNwYWNlIGZlYXR1cmVfZW5n YWdlbWVudCB7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVh dHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgu bWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9p bnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oCi0tLS0gY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9l dmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1lCTIwMjMtMDEtMTkgMTU6NTk6MTguMjEwMjM5NDE2 ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5n YWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oCTIwMjMtMDEt MTkgMTU6NTk6MzQuNTEzNTE1MDMwICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENP TVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX05FVkVSX0VWRU5UX1NUT1JBR0Vf VkFMSURBVE9SX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRF Uk5BTF9ORVZFUl9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXwotIAotKyNpbmNsdWRlIDxjc3Rk aW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gI2luY2x1ZGUgImNvbXBvbmVudHMvZmVhdHVy ZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgiCi1kaWZmIC11 cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3Bh cnR5L2xsdm0tMTAuMC9sbHZtL2luY2x1ZGUvbGx2bS9TdXBwb3J0L1NpZ25hbHMuaC5tZSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xs dm0tMTAuMC9sbHZtL2luY2x1ZGUvbGx2bS9TdXBwb3J0L1NpZ25hbHMuaAotLS0tIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0x MC4wL2xsdm0vaW5jbHVkZS9sbHZtL1N1cHBvcnQvU2lnbmFscy5oLm1lCTIwMjMtMDEtMTkgMTY6 MDY6MTcuNTQ4MjcyODc4ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9pbmNsdWRlL2xsdm0v U3VwcG9ydC9TaWduYWxzLmgJMjAyMy0wMS0xOSAxNjowNjoyNS42ODU0MTA1OTIgKzAxMDAKLUBA IC0xNCw2ICsxNCw3IEBACi0gI2lmbmRlZiBMTFZNX1NVUFBPUlRfU0lHTkFMU19ICi0gI2RlZmlu ZSBMTFZNX1NVUFBPUlRfU0lHTkFMU19ICi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1 ZGUgPHN0cmluZz4KLSAKLSBuYW1lc3BhY2UgbGx2bSB7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9s bHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIv U3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGly ZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9y dC9Vbml4L1NpZ25hbHMuaW5jLm1lCTIwMjMtMDEtMTkgMTY6MDk6MjkuMjE2NDc3MTgyICswMTAw Ci0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGly ZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jCTIwMjMt MDEtMTkgMTY6MTA6MDUuNjU3MDg5MjA4ICswMTAwCi1AQCAtNDUsNiArNDUsNyBAQAotICNpbmNs dWRlICJsbHZtL1N1cHBvcnQvU2F2ZUFuZFJlc3RvcmUuaCIKLSAjaW5jbHVkZSAibGx2bS9TdXBw b3J0L3Jhd19vc3RyZWFtLmgiCi0gI2luY2x1ZGUgPGFsZ29yaXRobT4KLSsjaW5jbHVkZSA8Y3N0 ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDxzeXNleGl0cy5oPgotICNpZmRl ZiBIQVZFX0JBQ0tUUkFDRQotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUv YnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaC5tZSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291 bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJv bWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaC5t ZQkyMDIzLTAxLTE5IDE2OjMyOjA1LjMzODE2MDEzMSArMDEwMAotKysrIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFj ZV90cmFja2VyLmgJMjAyMy0wMS0xOSAxNjozMjoxNi4yMTMzMjY3OTggKzAxMDAKLUBAIC01LDYg KzUsNyBAQAotICNpZm5kZWYgQ0hST01FX0JST1dTRVJfUFJJVkFDWV9CVURHRVRfRU5DT1VOVEVS RURfU1VSRkFDRV9UUkFDS0VSX0hfCi0gI2RlZmluZSBDSFJPTUVfQlJPV1NFUl9QUklWQUNZX0JV REdFVF9FTkNPVU5URVJFRF9TVVJGQUNFX1RSQUNLRVJfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGlu dD4KLSAjaW5jbHVkZSA8bWFwPgotIAotICNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvZmxhdF9z ZXQuaCIKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmls bC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaC5tZSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0 aW9uX3N0dWR5LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2Zp bGwvY29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0dWR5LmgubWUJMjAyMy0wMS0xOSAx Njo0Nzo1NS41NDg1NzExMDIgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBv bmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0dWR5LmgJMjAy My0wMS0xOSAxNjo0ODoyOS4yMTQxNDY1MjkgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5k ZWYgQ09NUE9ORU5UU19BVVRPRklMTF9DT1JFX0JST1dTRVJfQVVUT0ZJTExfQUJMQVRJT05fU1RV RFlfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfQVVUT0ZJTExfQ09SRV9CUk9XU0VSX0FVVE9GSUxM X0FCTEFUSU9OX1NUVURZX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0 cmluZz4KLSAKLSBjbGFzcyBHVVJMOwotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9j b21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oLm1lIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hl YWRfbW9kZWwuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9vbW5pYm94 L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaC5tZQkyMDIzLTAxLTE5IDE2OjU3OjI5LjUy NTM3MjgxNCArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9vbW5p Ym94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaAkyMDIzLTAxLTE5IDE2OjU4OjAyLjY2 Nzk3OTI4OCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRTX09NTklC T1hfQlJPV1NFUl9PTl9ERVZJQ0VfSEVBRF9NT0RFTF9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19P TU5JQk9YX0JST1dTRVJfT05fREVWSUNFX0hFQURfTU9ERUxfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0 ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx1dGlsaXR5PgotICNpbmNsdWRl IDx2ZWN0b3I+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5 bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oLm1lIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2VycHJp bnRfcGFyc2VyLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5bWVu dHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oLm1lCTIwMjMtMDEtMTkgMTc6 MDI6NDUuMjU4NTQ0NjY1ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25l bnRzL3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaAkyMDIzLTAx LTE5IDE3OjAyOjUyLjU3NzYxMTc1NyArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBD T01QT05FTlRTX1BBWU1FTlRTX0NPTlRFTlRfVVRJTElUWV9GSU5HRVJQUklOVF9QQVJTRVJfSF8K LSAjZGVmaW5lIENPTVBPTkVOVFNfUEFZTUVOVFNfQ09OVEVOVF9VVElMSVRZX0ZJTkdFUlBSSU5U X1BBUlNFUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdGRkZWYuaD4K LSAKLSAjaW5jbHVkZSA8c3RyaW5nPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9w ZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9w ZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2luZm8uaC5tZQkyMDIzLTAxLTE5IDE3OjI4OjI4LjU1 MjA2MzUzNCArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0 dGFjaG1lbnRfaW5mby5oCTIwMjMtMDEtMTkgMTc6Mjg6NDguMDcyMzc5OTUzICswMTAwCi1AQCAt NSw2ICs1LDcgQEAKLSAjaWZuZGVmIFBERl9ET0NVTUVOVF9BVFRBQ0hNRU5UX0lORk9fSF8KLSAj ZGVmaW5lIFBERl9ET0NVTUVOVF9BVFRBQ0hNRU5UX0lORk9fSF8KLSAKLSsjaW5jbHVkZSA8Y3N0 ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaC5t ZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5u b3RhdGlvbl9mbGFncy5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9w ZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaC5tZQkyMDIzLTAxLTE5IDE4OjI1OjQ3 LjY0ODE5MzcxMCArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv cGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgJMjAyMy0wMS0xOSAxODoyNjoxMS40 ODg1OTM1NTYgKzAxMDAKLUBAIC01LDYgKzUsOCBAQAotICNpZm5kZWYgQ09OU1RBTlRTX0FOTk9U QVRJT05fRkxBR1NfSF8KLSAjZGVmaW5lIENPTlNUQU5UU19BTk5PVEFUSU9OX0ZMQUdTX0hfCi0g Ci0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gbmFtZXNwYWNlIHBkZml1bSB7Ci0gbmFtZXNwYWNl IGFubm90YXRpb25fZmxhZ3MgewotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9i YXNlL2NwdS5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jcHUuaAotLS0tIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jcHUuaC5tZQkyMDIzLTAxLTE5IDIxOjMxOjAyLjkwNTA2 Mjk4NyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jcHUuaAkyMDIzLTAx LTE5IDIxOjMxOjMyLjI5ODU3MzI2NyArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBC QVNFX0NQVV9IXwotICNkZWZpbmUgQkFTRV9DUFVfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4K LSAjaW5jbHVkZSA8c3RyaW5nPgotIAotICNpbmNsdWRlICJiYXNlL2Jhc2VfZXhwb3J0LmgiCgpk aWZmIC0tZ2l0IGEvY2hyb21pdW0tMTEyLWNoZWNrLXBhc3N0aHJvdWdoLWNvbW1hbmQtZGVjb2Rl ci5wYXRjaCBiL2Nocm9taXVtLTExMi1jaGVjay1wYXNzdGhyb3VnaC1jb21tYW5kLWRlY29kZXIu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1ZmExZTAuLjAwMDAwMDAKLS0t IGEvY2hyb21pdW0tMTEyLWNoZWNrLXBhc3N0aHJvdWdoLWNvbW1hbmQtZGVjb2Rlci5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLUZyb20gMDQxY2IyNDhlODE4ODIzY2FhYWFi YzY3ZGI5MmIxNjQ5OWQwNDE2ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFZhc2ls aXkgVGVsZXpobmlrb3YgPHZhc2lseXRAY2hyb21pdW0ub3JnPgotRGF0ZTogVGh1LCAwMiBGZWIg MjAyMyAxNTo0MjoyOCArMDAwMAotU3ViamVjdDogW1BBVENIXSBDSEVDSyB0aGF0IHBhc3N0aHJv dWdoIGNvbW1hbmQgZGVjb2RlciBpcyB1c2VkIG9uIGxhdW5jaGVkIHBsYXRmb3JtcwotCi1UaGlz IENMIGFkZHMgZW5mb3JjZXMgdGhhdCB2YWxpZGF0aW5nIGNvbW1hbmQgZGVjb2RlciBpcyBub3Qg dXNlZCBvbgotcGxhdGZvcm1zIHdoZXJlIHBhc3N0aHJvdWdoIGlzIGZ1bGx5IGxhdW5jaGVkLiBX ZSBzdGlsbCBhbGxvdyB0byB1c2UgaXQKLWJ5IHRlc3RzIG9uIGxpbnV4Ci0KLUJ1ZzogMTQwNjU4 NQotQ2hhbmdlLUlkOiBJZDZiYzFkNzQ4ZmRmOWM5NTNkZGU3NmM4ZDRiNWY1OWRkZWY2MDg1Nwot UmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9j aHJvbWl1bS9zcmMvKy80MjEyMTM0Ci1SZXZpZXdlZC1ieTogS3lsZSBDaGFyYm9ubmVhdSA8a3ls ZWNoYXJAY2hyb21pdW0ub3JnPgotQ29tbWl0LVF1ZXVlOiBWYXNpbGl5IFRlbGV6aG5pa292IDx2 YXNpbHl0QGNocm9taXVtLm9yZz4KLUNyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWlu QHsjMTEwMDQ0MH0KLS0tLQotCi1kaWZmIC0tZ2l0IGEvZ3B1L2NvbW1hbmRfYnVmZmVyL3NlcnZp Y2UvZ2xlczJfY21kX2RlY29kZXIuY2MgYi9ncHUvY29tbWFuZF9idWZmZXIvc2VydmljZS9nbGVz Ml9jbWRfZGVjb2Rlci5jYwotaW5kZXggZWI3MTA2OTYuLmIyMmRmZmIgMTAwNjQ0Ci0tLS0gYS9n cHUvY29tbWFuZF9idWZmZXIvc2VydmljZS9nbGVzMl9jbWRfZGVjb2Rlci5jYwotKysrIGIvZ3B1 L2NvbW1hbmRfYnVmZmVyL3NlcnZpY2UvZ2xlczJfY21kX2RlY29kZXIuY2MKLUBAIC0zNDQ3LDcg KzM0NDcsMTMgQEAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg b3V0cHV0dGVyLCBncm91cCk7Ci0gICB9Ci0gCi0rLy8gQWxsb3cgbGludXggdG8gcnVuIGZ1enpl cnMuCi0rI2lmIEJVSUxERkxBRyhFTkFCTEVfVkFMSURBVElOR19DT01NQU5EX0RFQ09ERVIpIHx8 IEJVSUxERkxBRyhJU19MSU5VWCkKLSAgIHJldHVybiBuZXcgR0xFUzJEZWNvZGVySW1wbChjbGll bnQsIGNvbW1hbmRfYnVmZmVyX3NlcnZpY2UsIG91dHB1dHRlciwgZ3JvdXApOwotKyNlbHNlCi0r ICBMT0coRkFUQUwpIDw8ICJWYWxpZGF0aW5nIGNvbW1hbmQgZGVjb2RlciBpcyBub3Qgc3VwcG9y dGVkLiI7Ci0rICByZXR1cm4gbnVsbHB0cjsKLSsjZW5kaWYKLSB9Ci0gCi0gR0xFUzJEZWNvZGVy SW1wbDo6R0xFUzJEZWNvZGVySW1wbCgKLWRpZmYgLS1naXQgYS9ncHUvaXBjL3NlcnZpY2UvZ3B1 X2luaXQuY2MgYi9ncHUvaXBjL3NlcnZpY2UvZ3B1X2luaXQuY2MKLWluZGV4IDQwOTc3ZDliLi41 MDE3MWUyMCAxMDA2NDQKLS0tLSBhL2dwdS9pcGMvc2VydmljZS9ncHVfaW5pdC5jYwotKysrIGIv Z3B1L2lwYy9zZXJ2aWNlL2dwdV9pbml0LmNjCi1AQCAtNTEwLDggKzUxMCw5IEBACi0gCi0gICBh dXRvIGltcGwgPSBnbDo6R2V0R0xJbXBsZW1lbnRhdGlvblBhcnRzKCk7Ci0gICBib29sIGdsX2Rp c2FibGVkID0gaW1wbCA9PSBnbDo6a0dMSW1wbGVtZW50YXRpb25EaXNhYmxlZDsKLS0gIGJvb2wg aXNfc3dhbmdsZSA9IGltcGwgPT0gZ2w6OkFOR0xFSW1wbGVtZW50YXRpb246OmtTd2lmdFNoYWRl cjsKLSAKLSsjaWYgQlVJTERGTEFHKEVOQUJMRV9WQUxJREFUSU5HX0NPTU1BTkRfREVDT0RFUikK LSsgIGJvb2wgaXNfc3dhbmdsZSA9IGltcGwgPT0gZ2w6OkFOR0xFSW1wbGVtZW50YXRpb246OmtT d2lmdFNoYWRlcjsKLSAgIC8vIENvbXB1dGUgcGFzc3Rocm91Z2ggZGVjb2RlciBzdGF0dXMgYmVm b3JlIENvbXB1dGVHcHVGZWF0dXJlSW5mbyBiZWxvdy4KLSAgIC8vIERvIHRoaXMgYWZ0ZXIgR0wg aXMgaW5pdGlhbGl6ZWQgc28gZXh0ZW5zaW9ucyBjYW4gYmUgcXVlcmllZC4KLSAgIC8vIFVzaW5n IFN3QU5HTEUgZm9yY2VzIHRoZSBwYXNzdGhyb3VnaCBjb21tYW5kIGRlY29kZXIuCi1AQCAtNTMz LDYgKzUzNCwyMCBAQAotICAgfQotICAgZ3B1X3ByZWZlcmVuY2VzXy51c2VfcGFzc3Rocm91Z2hf Y21kX2RlY29kZXIgPQotICAgICAgIGdwdV9pbmZvXy5wYXNzdGhyb3VnaF9jbWRfZGVjb2RlcjsK LSsjZWxzZQotKyAgLy8gSWYgZ2wgaXMgZGlzYWJsZWQgcGFzc3Rocm91Z2gvdmFsaWRhdGluZyBj b21tYW5kIGRlY29kZXIgZG9lc24ndCBtYXR0ZXIuIElmCi0rICAvLyBpdCdzIG5vdCBlbnN1cmUg dGhhdCBwYXNzdGhyb3VnaCBjb21tYW5kIGRlY29kZXIgaXMgc3VwcG9ydGVkIGFzIGl0J3Mgb3Vy Ci0rICAvLyBvbmx5IG9wdGlvbi4KLSsgIGlmICghZ2xfZGlzYWJsZWQpIHsKLSsgICAgTE9HX0lG KEZBVEFMLCAhZ2xlczI6OlBhc3N0aHJvdWdoQ29tbWFuZERlY29kZXJTdXBwb3J0ZWQoKSkKLSsg ICAgICAgIDw8ICJQYXNzdGhyb3VnaCBpcyBub3Qgc3VwcG9ydGVkLCBHTCBpcyAiCi0rICAgICAg ICA8PCBnbDo6R2V0R0xJbXBsZW1lbnRhdGlvbkdMTmFtZShnbDo6R2V0R0xJbXBsZW1lbnRhdGlv blBhcnRzKCkpCi0rICAgICAgICA8PCAiLCBBTkdMRSBpcyAiCi0rICAgICAgICA8PCBnbDo6R2V0 R0xJbXBsZW1lbnRhdGlvbkFOR0xFTmFtZShnbDo6R2V0R0xJbXBsZW1lbnRhdGlvblBhcnRzKCkp OwotKyAgICBncHVfaW5mb18ucGFzc3Rocm91Z2hfY21kX2RlY29kZXIgPSB0cnVlOwotKyAgICBn cHVfcHJlZmVyZW5jZXNfLnVzZV9wYXNzdGhyb3VnaF9jbWRfZGVjb2RlciA9IHRydWU7Ci0rICB9 Ci0rI2VuZGlmCi0gCi0gICAvLyBXZSBuZWVkIHRvIGNvbGxlY3QgR0wgc3RyaW5ncyAoVkVORE9S LCBSRU5ERVJFUikgZm9yIGJsb2NrbGlzdGluZyBwdXJwb3Nlcy4KLSAgIGlmICghZ2xfZGlzYWJs ZWQpIHsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTItZW5hYmxlLXZhYXBpLW96b25lLXdheWxh bmQucGF0Y2ggYi9jaHJvbWl1bS0xMTItZW5hYmxlLXZhYXBpLW96b25lLXdheWxhbmQucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhNzVjZTMuLjAwMDAwMDAKLS0tIGEvY2hy b21pdW0tMTEyLWVuYWJsZS12YWFwaS1vem9uZS13YXlsYW5kLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMjEgKzAsMCBAQAotYXV0aG9yCVlhb3dlaSBaaG91IDx5YW93ZWkuemhvdUBpbnRlbC5j b20+CVRodSBGZWIgMDIgMDY6MTg6MzQgMjAyMwotY29tbWl0dGVyCVlhb3dlaSBaaG91IDx5YW93 ZWkuemhvdUBpbnRlbC5jb20+CVRodSBGZWIgMDIgMDY6MTg6MzQgMjAyMwotdHJlZQk2MmE3OWM3 ZjE1NWZjMzIxNDBkM2FhNGM0YTZiMDFiOGQ3ZWRkZmNjCi1wYXJlbnQJOThlNDI3Yjg3ZmY4NDQ3 MTgwYTYwZjIwZWUzNzkyZGNiZDY0OTQ4MSBbZGlmZl0KLUVuYWJsZSBWQS1BUEkgZmxhZyBvbiBv em9uZSB3YXlsYW5kCi0KLUJ1ZzogUE9DCi1DaGFuZ2UtSWQ6IEkwOWY2OTZiZmUzYmU4MjkzMDE2 MWNlMDA1MTUyZDEzOTdiOTNmNjM2Ci1kaWZmIC0tZ2l0IGEvdWkvb3pvbmUvcGxhdGZvcm0vd2F5 bGFuZC9vem9uZV9wbGF0Zm9ybV93YXlsYW5kLmNjIGIvdWkvb3pvbmUvcGxhdGZvcm0vd2F5bGFu ZC9vem9uZV9wbGF0Zm9ybV93YXlsYW5kLmNjCi1pbmRleCBiMzE5MGM2Yi4uNGEyYzNiYiAxMDA2 NDQKLS0tLSBhL3VpL296b25lL3BsYXRmb3JtL3dheWxhbmQvb3pvbmVfcGxhdGZvcm1fd2F5bGFu ZC5jYwotKysrIGIvdWkvb3pvbmUvcGxhdGZvcm0vd2F5bGFuZC9vem9uZV9wbGF0Zm9ybV93YXls YW5kLmNjCi1AQCAtMzA5LDYgKzMwOSw4IEBACi0gICAgICAgcHJvcGVydGllcy0+c3VwcG9ydHNf Z2xvYmFsX3NjcmVlbl9jb29yZGluYXRlcyA9Ci0gICAgICAgICAgIGZlYXR1cmVzOjpJc1dheWxh bmRTY3JlZW5Db29yZGluYXRlc0VuYWJsZWQoKTsKLSAKLSsgICAgICBwcm9wZXJ0aWVzLT5zdXBw b3J0c192YWFwaV94MTEgPSB0cnVlOwotKwotICAgICAgIGluaXRpYWxpc2VkID0gdHJ1ZTsKLSAg ICAgfQotIAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExMi1mZm1wZWctZmlyc3RfZHRzLnBhdGNo IGIvY2hyb21pdW0tMTEyLWZmbXBlZy1maXJzdF9kdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNmE4YWIxMwotLS0gL2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTEx Mi1mZm1wZWctZmlyc3RfZHRzLnBhdGNoCkBAIC0wLDAgKzEsMTIwIEBACitGcm9tIDJhZWY5MDAw YTFjOGQ3NmQzMDcyMzY1ZmZjYjQ3MWViZmZhMjBkM2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBBbmRyZWFzIFNjaG5laWRlciA8YXNuQGNyeXB0b21pbGsub3JnPgorRGF0ZTogVHVl LCAxNSBNYXIgMjAyMiAxNDoyNjoxNiArMDEwMAorU3ViamVjdDogW1BBVENIXSBUcmFjayBmaXJz dF9kdHMgaW5zdGVhZCBvZiB1c2luZyBub24tdXBzdHJlYW0gZnVuY3Rpb25zCisKK1RoZSBmdW5j dGlvbiBhdl9zdHJlYW1fZ2V0X2ZpcnN0X2R0cygpIGlzIG5vdCBhbiB1cHN0cmVhbSBmZm1wZWcg ZnVuY3Rpb24gYW5kCitpcyBub3QgYXZhaWxhYmxlIGlmIHlvdSBidWlsZCB3aXRoIHN5c3RlbSBm Zm1wZWcuIFdlIGNhbiBlYXNpbHkgdHJhY2sgdGhlCitmaXJzdF9kdHMgb24gb3VyIG93bi4KKwor U2VlIGFsc28KK2h0dHBzOi8vZmZtcGVnLm9yZy9waXBlcm1haWwvZmZtcGVnLWRldmVsLzIwMjEt U2VwdGVtYmVyLzI4NTQwMS5odG1sCisKK0J1ZzogMTMwNjU2MAorCitTaWduZWQtb2ZmLWJ5OiBB bmRyZWFzIFNjaG5laWRlciA8YXNuQGNyeXB0b21pbGsub3JnPgorQ2hhbmdlLUlkOiBJOTBiYTNj ZjJmMmUxNmY1NmEwYjQwNWYyNmM2N2Y5MTEzNDlmYjcxZAorLS0tCisgbWVkaWEvZmlsdGVycy9m Zm1wZWdfZGVtdXhlci5jYyB8IDE4ICsrKysrKysrKysrKy0tLS0tLQorIG1lZGlhL2ZpbHRlcnMv ZmZtcGVnX2RlbXV4ZXIuaCAgfCAgMyArKysKKyAzIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlv bnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tZWRpYS9maWx0ZXJzL2ZmbXBl Z19kZW11eGVyLmNjIGIvbWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYworaW5kZXggMTEx ODk5YjY2MS4uNzk5ZmM2ZTk0MSAxMDA2NDQKKy0tLSBhL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2Rl bXV4ZXIuY2MKKysrKyBiL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2RlbXV4ZXIuY2MKK0BAIC05Nyw3 ICs5Nyw3IEBAIHN0YXRpYyBiYXNlOjpUaW1lRGVsdGEgRnJhbWVzVG9UaW1lRGVsdGEoaW50IGZy YW1lcywgZG91YmxlIHNhbXBsZV9yYXRlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNhbXBsZV9yYXRlKTsKKyB9CisgCistc3RhdGljIGJhc2U6OlRpbWVEZWx0YSBFeHRyYWN0U3Rh cnRUaW1lKEFWU3RyZWFtKiBzdHJlYW0pIHsKKytzdGF0aWMgYmFzZTo6VGltZURlbHRhIEV4dHJh Y3RTdGFydFRpbWUoQVZTdHJlYW0qIHN0cmVhbSwgaW50NjRfdCBmaXJzdF9kdHMpIHsKKyAgIC8v IFRoZSBkZWZhdWx0IHN0YXJ0IHRpbWUgaXMgemVyby4KKyAgIGJhc2U6OlRpbWVEZWx0YSBzdGFy dF90aW1lOworIAorQEAgLTEwNywxMiArMTA3LDEyIEBAIHN0YXRpYyBiYXNlOjpUaW1lRGVsdGEg RXh0cmFjdFN0YXJ0VGltZShBVlN0cmVhbSogc3RyZWFtKSB7CisgCisgICAvLyBOZXh0IHRyeSB0 byB1c2UgdGhlIGZpcnN0IERUUyB2YWx1ZSwgZm9yIGNvZGVjcyB3aGVyZSB3ZSBrbm93IFBUUyA9 PSBEVFMKKyAgIC8vIChleGNsdWRlcyBhbGwgSDI2eCBjb2RlY3MpLiBUaGUgc3RhcnQgdGltZSBt dXN0IGJlIHJldHVybmVkIGluIFBUUy4KKy0gIGlmIChhdl9zdHJlYW1fZ2V0X2ZpcnN0X2R0cyhz dHJlYW0pICE9IGtOb0ZGbXBlZ1RpbWVzdGFtcCAmJgorKyAgaWYgKGZpcnN0X2R0cyAhPSBBVl9O T1BUU19WQUxVRSAmJgorICAgICAgIHN0cmVhbS0+Y29kZWNwYXItPmNvZGVjX2lkICE9IEFWX0NP REVDX0lEX0hFVkMgJiYKKyAgICAgICBzdHJlYW0tPmNvZGVjcGFyLT5jb2RlY19pZCAhPSBBVl9D T0RFQ19JRF9IMjY0ICYmCisgICAgICAgc3RyZWFtLT5jb2RlY3Bhci0+Y29kZWNfaWQgIT0gQVZf Q09ERUNfSURfTVBFRzQpIHsKKyAgICAgY29uc3QgYmFzZTo6VGltZURlbHRhIGZpcnN0X3B0cyA9 CistICAgICAgICBDb252ZXJ0RnJvbVRpbWVCYXNlKHN0cmVhbS0+dGltZV9iYXNlLCBhdl9zdHJl YW1fZ2V0X2ZpcnN0X2R0cyhzdHJlYW0pKTsKKysgICAgICAgIENvbnZlcnRGcm9tVGltZUJhc2Uo c3RyZWFtLT50aW1lX2Jhc2UsIGZpcnN0X2R0cyk7CisgICAgIGlmIChmaXJzdF9wdHMgPCBzdGFy dF90aW1lKQorICAgICAgIHN0YXJ0X3RpbWUgPSBmaXJzdF9wdHM7CisgICB9CitAQCAtMjgzLDYg KzI4Myw3IEBAIEZGbXBlZ0RlbXV4ZXJTdHJlYW06OkZGbXBlZ0RlbXV4ZXJTdHJlYW0oCisgICAg ICAgZml4dXBfbmVnYXRpdmVfdGltZXN0YW1wc18oZmFsc2UpLAorICAgICAgIGZpeHVwX2NoYWlu ZWRfb2dnXyhmYWxzZSksCisgICAgICAgbnVtX2Rpc2NhcmRlZF9wYWNrZXRfd2FybmluZ3NfKDAp LAorKyAgICAgIGZpcnN0X2R0c18oQVZfTk9QVFNfVkFMVUUpLAorICAgICAgIGxhc3RfcGFja2V0 X3Bvc18oQVZfTk9QVFNfVkFMVUUpLAorICAgICAgIGxhc3RfcGFja2V0X2R0c18oQVZfTk9QVFNf VkFMVUUpIHsKKyAgIERDSEVDSyhkZW11eGVyXyk7CitAQCAtMzQ5LDYgKzM1MCwxMCBAQCB2b2lk IEZGbXBlZ0RlbXV4ZXJTdHJlYW06OkVucXVldWVQYWNrZXQoU2NvcGVkQVZQYWNrZXQgcGFja2V0 KSB7CisgICBpbnQ2NF90IHBhY2tldF9kdHMgPQorICAgICAgIHBhY2tldC0+ZHRzID09IEFWX05P UFRTX1ZBTFVFID8gcGFja2V0LT5wdHMgOiBwYWNrZXQtPmR0czsKKyAKKysgIGlmIChmaXJzdF9k dHNfID09IEFWX05PUFRTX1ZBTFVFKSB7CisrICAgIGZpcnN0X2R0c18gPSBwYWNrZXRfZHRzOwor KyAgfQorKworICAgLy8gQ2hhaW5lZCBvZ2cgZmlsZXMgaGF2ZSBub24tbW9ub3RvbmljYWxseSBp bmNyZWFzaW5nIHBvc2l0aW9uIGFuZCB0aW1lIHN0YW1wCisgICAvLyB2YWx1ZXMsIHdoaWNoIHBy ZXZlbnRzIHVzIGZyb20gdXNpbmcgdGhlbSB0byBkZXRlcm1pbmUgaWYgYSBwYWNrZXQgc2hvdWxk CisgICAvLyBiZSBkcm9wcGVkLiBTaW5jZSBjaGFpbmVkIG9nZyBpcyBvbmx5IGFsbG93ZWQgb24g c2luZ2xlIHRyYWNrIGF1ZGlvIG9ubHkKK0BAIC0xNDQyLDcgKzE0NDcsOCBAQCB2b2lkIEZGbXBl Z0RlbXV4ZXI6Ok9uRmluZFN0cmVhbUluZm9Eb25lKGludCByZXN1bHQpIHsKKyAKKyAgICAgbWF4 X2R1cmF0aW9uID0gc3RkOjptYXgobWF4X2R1cmF0aW9uLCBzdHJlYW1zX1tpXS0+ZHVyYXRpb24o KSk7CisgCistICAgIGJhc2U6OlRpbWVEZWx0YSBzdGFydF90aW1lID0gRXh0cmFjdFN0YXJ0VGlt ZShzdHJlYW0pOworKyAgICBiYXNlOjpUaW1lRGVsdGEgc3RhcnRfdGltZSA9CisrICAgICAgICBF eHRyYWN0U3RhcnRUaW1lKHN0cmVhbSwgc3RyZWFtc19baV0tPmZpcnN0X2R0cygpKTsKKyAKKyAg ICAgLy8gTm90ZTogVGhpcyB2YWx1ZSBpcyB1c2VkIGZvciBzZWVraW5nLCBzbyB3ZSBtdXN0IHRh a2UgdGhlIHRydWUgdmFsdWUgYW5kCisgICAgIC8vIG5vdCB0aGUgb25lIHBvc3NpYmx5IGNsYW1w ZWQgdG8gemVybyBiZWxvdy4KK0BAIC0xNTk5LDcgKzE2MDUsNyBAQCBGRm1wZWdEZW11eGVyU3Ry ZWFtKiBGRm1wZWdEZW11eGVyOjpGaW5kU3RyZWFtV2l0aExvd2VzdFN0YXJ0VGltZXN0YW1wKAor ICAgZm9yIChjb25zdCBhdXRvJiBzdHJlYW0gOiBzdHJlYW1zXykgeworICAgICBpZiAoIXN0cmVh bSB8fCBzdHJlYW0tPklzRW5hYmxlZCgpICE9IGVuYWJsZWQpCisgICAgICAgY29udGludWU7Cist ICAgIGlmIChhdl9zdHJlYW1fZ2V0X2ZpcnN0X2R0cyhzdHJlYW0tPmF2X3N0cmVhbSgpKSA9PSBr SW52YWxpZFBUU01hcmtlcikKKysgICAgaWYgKHN0cmVhbS0+Zmlyc3RfZHRzKCkgPT0gQVZfTk9Q VFNfVkFMVUUpCisgICAgICAgY29udGludWU7CisgICAgIGlmICghbG93ZXN0X3N0YXJ0X3RpbWVf c3RyZWFtIHx8CisgICAgICAgICBzdHJlYW0tPnN0YXJ0X3RpbWUoKSA8IGxvd2VzdF9zdGFydF90 aW1lX3N0cmVhbS0+c3RhcnRfdGltZSgpKSB7CitAQCAtMTYyMCw3ICsxNjI2LDcgQEAgRkZtcGVn RGVtdXhlclN0cmVhbSogRkZtcGVnRGVtdXhlcjo6RmluZFByZWZlcnJlZFN0cmVhbUZvclNlZWtp bmcoCisgICAgIGlmIChzdHJlYW0tPnR5cGUoKSAhPSBEZW11eGVyU3RyZWFtOjpWSURFTykKKyAg ICAgICBjb250aW51ZTsKKyAKKy0gICAgaWYgKGF2X3N0cmVhbV9nZXRfZmlyc3RfZHRzKHN0cmVh bS0+YXZfc3RyZWFtKCkpID09IGtJbnZhbGlkUFRTTWFya2VyKQorKyAgICBpZiAoc3RyZWFtLT5m aXJzdF9kdHMoKSA9PSBBVl9OT1BUU19WQUxVRSkKKyAgICAgICBjb250aW51ZTsKKyAKKyAgICAg aWYgKCFzdHJlYW0tPklzRW5hYmxlZCgpKQorZGlmZiAtLWdpdCBhL21lZGlhL2ZpbHRlcnMvZmZt cGVnX2RlbXV4ZXIuaCBiL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2RlbXV4ZXIuaAoraW5kZXggYzE0 NzMwOWQ2Zi4uNDhhOGY2YWQ4YyAxMDA2NDQKKy0tLSBhL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2Rl bXV4ZXIuaAorKysrIGIvbWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5oCitAQCAtMTUxLDYg KzE1MSw4IEBAIGNsYXNzIE1FRElBX0VYUE9SVCBGRm1wZWdEZW11eGVyU3RyZWFtIDogcHVibGlj IERlbXV4ZXJTdHJlYW0geworICAgYmFzZTo6VGltZURlbHRhIHN0YXJ0X3RpbWUoKSBjb25zdCB7 IHJldHVybiBzdGFydF90aW1lXzsgfQorICAgdm9pZCBzZXRfc3RhcnRfdGltZShiYXNlOjpUaW1l RGVsdGEgdGltZSkgeyBzdGFydF90aW1lXyA9IHRpbWU7IH0KKyAKKysgIGludDY0X3QgZmlyc3Rf ZHRzKCkgY29uc3QgeyByZXR1cm4gZmlyc3RfZHRzXzsgfQorKworICBwcml2YXRlOgorICAgZnJp ZW5kIGNsYXNzIEZGbXBlZ0RlbXV4ZXJUZXN0OworIAorQEAgLTIwOCw2ICsyMTAsNyBAQCBjbGFz cyBNRURJQV9FWFBPUlQgRkZtcGVnRGVtdXhlclN0cmVhbSA6IHB1YmxpYyBEZW11eGVyU3RyZWFt IHsKKyAgIGJvb2wgZml4dXBfY2hhaW5lZF9vZ2dfOworIAorICAgaW50IG51bV9kaXNjYXJkZWRf cGFja2V0X3dhcm5pbmdzXzsKKysgIGludDY0X3QgZmlyc3RfZHRzXzsKKyAgIGludDY0X3QgbGFz dF9wYWNrZXRfcG9zXzsKKyAgIGludDY0X3QgbGFzdF9wYWNrZXRfZHRzXzsKKyB9OworLS0gCisy LjM1LjEKKwoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExMi1pbnZlcnRfb2ZfR0xJbWFnZU5hdGl2 ZVBpeG1hcF9OYXRpdmVQaXhtYXBFR0xCaW5kaW5nLnBhdGNoIGIvY2hyb21pdW0tMTEyLWludmVy dF9vZl9HTEltYWdlTmF0aXZlUGl4bWFwX05hdGl2ZVBpeG1hcEVHTEJpbmRpbmcucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwZmUxNTYuLjAwMDAwMDAKLS0tIGEvY2hyb21p dW0tMTEyLWludmVydF9vZl9HTEltYWdlTmF0aXZlUGl4bWFwX05hdGl2ZVBpeG1hcEVHTEJpbmRp bmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MzAgKzAsMCBAQAotY29tbWl0IDdmMDg1OGMw OGRjZWY3MGNhMjZjZTg1MjdiYmVkZmNjNWM1MjE4ZDMKLUF1dGhvcjogQ29saW4gQmx1bmRlbGwg PGJsdW5kZWxsQGNocm9taXVtLm9yZz4KLURhdGU6ICAgVGh1IEZlYiAyMyAxNDoxOTozMyAyMDIz ICswMDAwCi0KLSAgICBbT3pvbmVdIEludmVydCBsYXllcmluZyBvZiBHTEltYWdlTmF0aXZlUGl4 bWFwICYgTmF0aXZlUGl4bWFwRUdMQmluZGluZwotICAgIAotICAgIE5hdGl2ZVBpeG1hcEVHTEJp bmRpbmcgaXMgY3VycmVudGx5IGEgdGhpbiBsYXllciBvbiB0b3Agb2YKLSAgICBHTEltYWdlTmF0 aXZlUGl4bWFwLiBUaGlzIENMIGludmVydHMgdGhlIGxheWVyaW5nIHNvIHRoYXQKLSAgICBHTElt YWdlTmF0aXZlUGl4bWFwIGluc3RlYWQgc2l0cyBvbiB0b3Agb2YgTmF0aXZlUGl4bWFwRUdMQmlu ZGluZwotICAgICh2aWEgdGhlIHB1YmxpYyBPem9uZSBJbXBvcnROYXRpdmVQaXhtYXAoKSBtZXRo b2QsIGZvciB3aGljaCBhbGwKLSAgICBpbXBsZW1lbnRhdGlvbnMgcmV0dXJuIE5hdGl2ZVBpeG1h cEVHTEJpbmRpbmcpLiBOb3RlIHRoYXQgdGhpcyBlbnRhaWxzCi0gICAgbW92aW5nIEdMSW1hZ2VO YXRpdmVQaXhtYXAgaW50byAvL2dwdSwgYXMgLy91aS9nbCBjYW5ub3QgZGVwZW5kIG9uCi0gICAg Ly9vem9uZS9wdWJsaWMuCi0gICAgCi0gICAgVGhpcyBpbnZlcnNpb24gbWVhbnMgdGhhdAotICAg IChhKSB0aGUgU2hhcmVkSW1hZ2UgT3pvbmUgYmFja2luZy9yZXByZXNlbnRhdGlvbnMgbm8gbG9u Z2VyIHVzZSBHTEltYWdlCi0gICAgKGIpIHdoZW4gd2Ugbm8gbG9uZ2VyIG5lZWQgR0xJbWFnZU5h dGl2ZVBpeG1hcCB3ZSBjYW4gc2ltcGx5IGRpcmVjdGx5Ci0gICAgZWxpbWluYXRlIGl0LgotICAg IAotICAgIEZvbGxvd3VwIENMcyB3aWxsIGZvbGQgTmF0aXZlUGl4bWFwRUdMQmluZGluZ0hlbHBl ciBpbnRvCi0gICAgTmF0aXZlUGl4bWFwRUdMQmluZGluZyBhbmQgbWFrZSBHTEltYWdlTmF0aXZl UGl4bWFwIGNyZWF0aW9uIHByaXZhdGUKLSAgICB3aXRoIGZyaWVuZGluZyB0byBlbnN1cmUgdGhh dCBubyBtb3JlIHVzYWdlIG9mIHRoZSBkZXByZWNhdGVkIGNsYXNzCi0gICAgY3JlZXBzIGluLgot ICAgIAotICAgIEJ1ZzogMTQxMjY5MgotICAgIENoYW5nZS1JZDogSTVmMDFlOWIxZjYxNmRkOTli NjFjZDIwMzY2MmQwZDAyZDNkYTdiM2UKLSAgICBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1 bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQyNjIzOTAKLSAgICBS ZXZpZXdlZC1ieTogVmFzaWxpeSBUZWxlemhuaWtvdiA8dmFzaWx5dEBjaHJvbWl1bS5vcmc+Ci0g ICAgUmV2aWV3ZWQtYnk6IGNjYW1lcm9uIGNocm9taXVtIDxjY2FtZXJvbkBjaHJvbWl1bS5vcmc+ Ci0gICAgUmV2aWV3ZWQtYnk6IEFuZHJlcyBDYWxkZXJvbiBKYXJhbWlsbG8gPGFuZHJlc2NqQGNo cm9taXVtLm9yZz4KLSAgICBDb21taXQtUXVldWU6IENvbGluIEJsdW5kZWxsIDxibHVuZGVsbEBj aHJvbWl1bS5vcmc+Ci0gICAgQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5AeyMx MTA4OTA5fQotCi1kaWZmIC0tZ2l0IGEvZ3B1L2NvbW1hbmRfYnVmZmVyL3NlcnZpY2UvQlVJTEQu Z24gYi9ncHUvY29tbWFuZF9idWZmZXIvc2VydmljZS9CVUlMRC5nbgotaW5kZXggZDA4YmU1OTdl M2U1ZC4uNWFkNzI0ZGQ1N2JiYiAxMDA2NDQKLS0tLSBhL2dwdS9jb21tYW5kX2J1ZmZlci9zZXJ2 aWNlL0JVSUxELmduCi0rKysgYi9ncHUvY29tbWFuZF9idWZmZXIvc2VydmljZS9CVUlMRC5nbgot QEAgLTM5Nyw2ICszOTcsOCBAQCB0YXJnZXQobGlua190YXJnZXRfdHlwZSwgImdsZXMyX3NvdXJj ZXMiKSB7Ci0gCi0gICBpZiAodXNlX296b25lKSB7Ci0gICAgIHNvdXJjZXMgKz0gWwotKyAgICAg ICJzaGFyZWRfaW1hZ2UvZ2xfaW1hZ2VfbmF0aXZlX3BpeG1hcC5jYyIsCi0rICAgICAgInNoYXJl ZF9pbWFnZS9nbF9pbWFnZV9uYXRpdmVfcGl4bWFwLmgiLAotICAgICAgICJzaGFyZWRfaW1hZ2Uv Z2xfb3pvbmVfaW1hZ2VfcmVwcmVzZW50YXRpb24uY2MiLAotICAgICAgICJzaGFyZWRfaW1hZ2Uv Z2xfb3pvbmVfaW1hZ2VfcmVwcmVzZW50YXRpb24uaCIsCi0gICAgICAgInNoYXJlZF9pbWFnZS9v em9uZV9pbWFnZV9iYWNraW5nLmNjIiwKLWRpZmYgLS1naXQgYS9ncHUvY29tbWFuZF9idWZmZXIv c2VydmljZS9nbGVzMl9jbWRfZGVjb2Rlci5jYyBiL2dwdS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNl L2dsZXMyX2NtZF9kZWNvZGVyLmNjCi1pbmRleCBlM2Y1YjNjNTcyMWNmLi5hMjk3MzQ3YzE5Njcw IDEwMDY0NAotLS0tIGEvZ3B1L2NvbW1hbmRfYnVmZmVyL3NlcnZpY2UvZ2xlczJfY21kX2RlY29k ZXIuY2MKLSsrKyBiL2dwdS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNlL2dsZXMyX2NtZF9kZWNvZGVy LmNjCi1AQCAtMTIwLDEwICsxMjAsMTAgQEAKLSAjZW5kaWYKLSAKLSAjaWYgQlVJTERGTEFHKElT X09aT05FKQotKyNpbmNsdWRlICJncHUvY29tbWFuZF9idWZmZXIvc2VydmljZS9zaGFyZWRfaW1h Z2UvZ2xfaW1hZ2VfbmF0aXZlX3BpeG1hcC5oIgotICNpbmNsdWRlICJ1aS9nZngvYnVmZmVyX2Zv cm1hdF91dGlsLmgiCi0gI2luY2x1ZGUgInVpL2dmeC9idWZmZXJfdXNhZ2VfdXRpbC5oIgotICNp bmNsdWRlICJ1aS9nZngvbmF0aXZlX3BpeG1hcC5oIgotLSNpbmNsdWRlICJ1aS9nbC9nbF9pbWFn ZV9uYXRpdmVfcGl4bWFwLmgiCi0gI2luY2x1ZGUgInVpL296b25lL3B1YmxpYy9vem9uZV9wbGF0 Zm9ybS5oIgotICNpbmNsdWRlICJ1aS9vem9uZS9wdWJsaWMvc3VyZmFjZV9mYWN0b3J5X296b25l LmgiCi0gI2VuZGlmCi1AQCAtNDk5LDcgKzQ5OSw3IEBAIGNsYXNzIEJhY2tUZXh0dXJlIHsKLSAj aWYgQlVJTERGTEFHKElTX09aT05FKQotICAgLy8gVGhlIGltYWdlIHRoYXQgYmFja3MgdGhlIHRl eHR1cmUsIGlmIGl0cyBiYWNrZWQgYnkgYSBuYXRpdmUKLSAgIC8vIEdwdU1lbW9yeUJ1ZmZlci4K LS0gIHNjb3BlZF9yZWZwdHI8Z2w6OkdMSW1hZ2VOYXRpdmVQaXhtYXA+IGltYWdlXzsKLSsgIHNj b3BlZF9yZWZwdHI8R0xJbWFnZU5hdGl2ZVBpeG1hcD4gaW1hZ2VfOwotICNlbmRpZgotIH07Ci0g Ci1AQCAtMjUyMiw3ICsyNTIyLDcgQEAgY2xhc3MgR0xFUzJEZWNvZGVySW1wbCA6IHB1YmxpYyBH TEVTMkRlY29kZXIsCi0gICAvLyBOb3RlOiBDcmVhdGlvbiBvZiBhbm9ueW1vdXMgaW1hZ2VzIGlz IHBvc3NpYmxlIG9ubHkgb24gT3pvbmUuCi0gI2lmIEJVSUxERkxBRyhJU19PWk9ORSkKLSAgIGJv b2wgU3VwcG9ydHNDcmVhdGVBbm9ueW1vdXNJbWFnZSgpOwotLSAgc2NvcGVkX3JlZnB0cjxnbDo6 R0xJbWFnZU5hdGl2ZVBpeG1hcD4gQ3JlYXRlQW5vbnltb3VzSW1hZ2UoCi0rICBzY29wZWRfcmVm cHRyPEdMSW1hZ2VOYXRpdmVQaXhtYXA+IENyZWF0ZUFub255bW91c0ltYWdlKAotICAgICAgIGNv bnN0IGdmeDo6U2l6ZSYgc2l6ZSwKLSAgICAgICBnZng6OkJ1ZmZlckZvcm1hdCBmb3JtYXQsCi0g ICAgICAgYm9vbCogaXNfY2xlYXJlZCwKLUBAIC0zMjQyLDcgKzMyNDIsNyBAQCBib29sIEJhY2tU ZXh0dXJlOjpBbGxvY2F0ZU5hdGl2ZUdwdU1lbW9yeUJ1ZmZlcihjb25zdCBnZng6OlNpemUmIHNp emUsCi0gICAgIC8vIGR1cGxpY2F0ZSBCR1JYXzg4ODguCi0gICAgIGJ1ZmZlcl9mb3JtYXQgPSBn Zng6OkJ1ZmZlckZvcm1hdDo6QkdSWF84ODg4OwotICAgfQotLSAgc2NvcGVkX3JlZnB0cjxnbDo6 R0xJbWFnZU5hdGl2ZVBpeG1hcD4gaW1hZ2UgPSBkZWNvZGVyXy0+Q3JlYXRlQW5vbnltb3VzSW1h Z2UoCi0rICBzY29wZWRfcmVmcHRyPEdMSW1hZ2VOYXRpdmVQaXhtYXA+IGltYWdlID0gZGVjb2Rl cl8tPkNyZWF0ZUFub255bW91c0ltYWdlKAotICAgICAgIHNpemUsIGJ1ZmZlcl9mb3JtYXQsICZp c19jbGVhcmVkLCBUYXJnZXQoKSwgaWQoKSk7Ci0gICBpZiAoIWltYWdlKQotICAgICByZXR1cm4g ZmFsc2U7Ci1AQCAtMTk1OTIsNyArMTk1OTIsNyBAQCBib29sIEdMRVMyRGVjb2RlckltcGw6OlN1 cHBvcnRzQ3JlYXRlQW5vbnltb3VzSW1hZ2UoKSB7Ci0gICAgICAgLnN1cHBvcnRzX25hdGl2ZV9w aXhtYXBzOwotIH0KLSAKLS1zY29wZWRfcmVmcHRyPGdsOjpHTEltYWdlTmF0aXZlUGl4bWFwPiBH TEVTMkRlY29kZXJJbXBsOjpDcmVhdGVBbm9ueW1vdXNJbWFnZSgKLStzY29wZWRfcmVmcHRyPEdM SW1hZ2VOYXRpdmVQaXhtYXA+IEdMRVMyRGVjb2RlckltcGw6OkNyZWF0ZUFub255bW91c0ltYWdl KAotICAgICBjb25zdCBnZng6OlNpemUmIHNpemUsCi0gICAgIGdmeDo6QnVmZmVyRm9ybWF0IGZv cm1hdCwKLSAgICAgYm9vbCogaXNfY2xlYXJlZCwKLUBAIC0xOTYxMiw4ICsxOTYxMiw4IEBAIHNj b3BlZF9yZWZwdHI8Z2w6OkdMSW1hZ2VOYXRpdmVQaXhtYXA+IEdMRVMyRGVjb2RlckltcGw6OkNy ZWF0ZUFub255bW91c0ltYWdlKAotICAgICAgICAgICAgICAgIDw8IGdmeDo6QnVmZmVyVXNhZ2VU b1N0cmluZyh1c2FnZSk7Ci0gICAgIHJldHVybiBudWxscHRyOwotICAgfQotLSAgYXV0byBpbWFn ZSA9IGdsOjpHTEltYWdlTmF0aXZlUGl4bWFwOjpDcmVhdGUoc2l6ZSwgZm9ybWF0LCBzdGQ6Om1v dmUocGl4bWFwKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRhcmdldCwgdGV4dHVyZV9pZCk7Ci0rICBhdXRvIGltYWdlID0gR0xJbWFnZU5hdGl2ZVBp eG1hcDo6Q3JlYXRlKHNpemUsIGZvcm1hdCwgc3RkOjptb3ZlKHBpeG1hcCksCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldCwgdGV4dHVyZV9pZCk7Ci0g ICBpZiAoIWltYWdlKSB7Ci0gICAgIExPRyhFUlJPUikgPDwgIkZhaWxlZCB0byBjcmVhdGUgR0xJ bWFnZSAiIDw8IHNpemUuVG9TdHJpbmcoKSA8PCAiLCAiCi0gICAgICAgICAgICAgICAgPDwgZ2Z4 OjpCdWZmZXJGb3JtYXRUb1N0cmluZyhmb3JtYXQpIDw8ICIsIHVzYWdlICIKLWRpZmYgLS1naXQg YS91aS9nbC9nbF9pbWFnZV9uYXRpdmVfcGl4bWFwLmNjIGIvZ3B1L2NvbW1hbmRfYnVmZmVyL3Nl cnZpY2Uvc2hhcmVkX2ltYWdlL2dsX2ltYWdlX25hdGl2ZV9waXhtYXAuY2MKLXNpbWlsYXJpdHkg aW5kZXggNzMlCi1yZW5hbWUgZnJvbSB1aS9nbC9nbF9pbWFnZV9uYXRpdmVfcGl4bWFwLmNjCi1y ZW5hbWUgdG8gZ3B1L2NvbW1hbmRfYnVmZmVyL3NlcnZpY2Uvc2hhcmVkX2ltYWdlL2dsX2ltYWdl X25hdGl2ZV9waXhtYXAuY2MKLWluZGV4IDZjYmU3YmUyODk5ZGUuLmQ5MTAxZmJkYTg5M2IgMTAw NjQ0Ci0tLS0gYS91aS9nbC9nbF9pbWFnZV9uYXRpdmVfcGl4bWFwLmNjCi0rKysgYi9ncHUvY29t bWFuZF9idWZmZXIvc2VydmljZS9zaGFyZWRfaW1hZ2UvZ2xfaW1hZ2VfbmF0aXZlX3BpeG1hcC5j YwotQEAgLTIsOSArMiwxMyBAQAotIC8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSAvLyBmb3VuZCBpbiB0aGUg TElDRU5TRSBmaWxlLgotIAotLSNpbmNsdWRlICJ1aS9nbC9nbF9pbWFnZV9uYXRpdmVfcGl4bWFw LmgiCi0rI2luY2x1ZGUgImdwdS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNlL3NoYXJlZF9pbWFnZS9n bF9pbWFnZV9uYXRpdmVfcGl4bWFwLmgiCi0gCi0tbmFtZXNwYWNlIGdsIHsKLSsjaW5jbHVkZSAi dWkvb3pvbmUvcHVibGljL25hdGl2ZV9waXhtYXBfZ2xfYmluZGluZy5oIgotKyNpbmNsdWRlICJ1 aS9vem9uZS9wdWJsaWMvb3pvbmVfcGxhdGZvcm0uaCIKLSsjaW5jbHVkZSAidWkvb3pvbmUvcHVi bGljL3N1cmZhY2VfZmFjdG9yeV9vem9uZS5oIgotKwotK25hbWVzcGFjZSBncHUgewotIAotIHNj b3BlZF9yZWZwdHI8R0xJbWFnZU5hdGl2ZVBpeG1hcD4gR0xJbWFnZU5hdGl2ZVBpeG1hcDo6Q3Jl YXRlKAotICAgICBjb25zdCBnZng6OlNpemUmIHNpemUsCi1AQCAtNDcsMTggKzUxLDE4IEBAIGJv b2wgR0xJbWFnZU5hdGl2ZVBpeG1hcDo6SW5pdGlhbGl6ZUZyb21OYXRpdmVQaXhtYXAoCi0gICAg IGNvbnN0IGdmeDo6Q29sb3JTcGFjZSYgY29sb3Jfc3BhY2UsCi0gICAgIEdMZW51bSB0YXJnZXQs Ci0gICAgIEdMdWludCB0ZXh0dXJlX2lkKSB7Ci0tICBiaW5kaW5nX2hlbHBlcl8gPSBOYXRpdmVQ aXhtYXBFR0xCaW5kaW5nSGVscGVyOjpDcmVhdGVGb3JQbGFuZSgKLS0gICAgICBzaXplXywgZm9y bWF0LCBwbGFuZSwgc3RkOjptb3ZlKHBpeG1hcCksIGNvbG9yX3NwYWNlLCB0YXJnZXQsIHRleHR1 cmVfaWQpOwotKyAgcGl4bWFwX2dsX2JpbmRpbmdfID0KLSsgICAgICB1aTo6T3pvbmVQbGF0Zm9y bTo6R2V0SW5zdGFuY2UoKQotKyAgICAgICAgICAtPkdldFN1cmZhY2VGYWN0b3J5T3pvbmUoKQot KyAgICAgICAgICAtPkdldEN1cnJlbnRHTE96b25lKCkKLSsgICAgICAgICAgLT5JbXBvcnROYXRp dmVQaXhtYXAoc3RkOjptb3ZlKHBpeG1hcCksIGZvcm1hdCwgcGxhbmUsIHNpemVfLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcl9zcGFjZSwgdGFyZ2V0LCB0ZXh0dXJlX2lk KTsKLSAKLS0gIHJldHVybiAhIWJpbmRpbmdfaGVscGVyXzsKLSsgIHJldHVybiAhIXBpeG1hcF9n bF9iaW5kaW5nXzsKLSB9Ci0gCi0gZ2Z4OjpTaXplIEdMSW1hZ2VOYXRpdmVQaXhtYXA6OkdldFNp emUoKSB7Ci0gICByZXR1cm4gc2l6ZV87Ci0gfQotIAotLXVuc2lnbmVkIEdMSW1hZ2VOYXRpdmVQ aXhtYXA6OkdldEludGVybmFsRm9ybWF0KCkgewotLSAgcmV0dXJuIGJpbmRpbmdfaGVscGVyXy0+ R2V0SW50ZXJuYWxGb3JtYXQoKTsKLS19Ci0tCi0tfSAgLy8gbmFtZXNwYWNlIGdsCi0rfSAgLy8g bmFtZXNwYWNlIGdwdQotZGlmZiAtLWdpdCBhL3VpL2dsL2dsX2ltYWdlX25hdGl2ZV9waXhtYXAu aCBiL2dwdS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNlL3NoYXJlZF9pbWFnZS9nbF9pbWFnZV9uYXRp dmVfcGl4bWFwLmgKLXNpbWlsYXJpdHkgaW5kZXggNzIlCi1yZW5hbWUgZnJvbSB1aS9nbC9nbF9p bWFnZV9uYXRpdmVfcGl4bWFwLmgKLXJlbmFtZSB0byBncHUvY29tbWFuZF9idWZmZXIvc2Vydmlj ZS9zaGFyZWRfaW1hZ2UvZ2xfaW1hZ2VfbmF0aXZlX3BpeG1hcC5oCi1pbmRleCA1ZmY1ZTkxYjNl YzE4Li40MDg3MzYwYjA0YjQ1IDEwMDY0NAotLS0tIGEvdWkvZ2wvZ2xfaW1hZ2VfbmF0aXZlX3Bp eG1hcC5oCi0rKysgYi9ncHUvY29tbWFuZF9idWZmZXIvc2VydmljZS9zaGFyZWRfaW1hZ2UvZ2xf aW1hZ2VfbmF0aXZlX3BpeG1hcC5oCi1AQCAtMiwyMSArMiwyNCBAQAotIC8vIFVzZSBvZiB0aGlz IHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4g YmUKLSAvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotIAotLSNpZm5kZWYgVUlfR0xfR0xf SU1BR0VfTkFUSVZFX1BJWE1BUF9IXwotLSNkZWZpbmUgVUlfR0xfR0xfSU1BR0VfTkFUSVZFX1BJ WE1BUF9IXwotKyNpZm5kZWYgR1BVX0NPTU1BTkRfQlVGRkVSX1NFUlZJQ0VfU0hBUkVEX0lNQUdF X0dMX0lNQUdFX05BVElWRV9QSVhNQVBfSF8KLSsjZGVmaW5lIEdQVV9DT01NQU5EX0JVRkZFUl9T RVJWSUNFX1NIQVJFRF9JTUFHRV9HTF9JTUFHRV9OQVRJVkVfUElYTUFQX0hfCi0gCi0gI2luY2x1 ZGUgPHN0ZGludC5oPgotIAotKyNpbmNsdWRlICJncHUvZ3B1X2dsZXMyX2V4cG9ydC5oIgotICNp bmNsdWRlICJ1aS9nZngvY29sb3Jfc3BhY2UuaCIKLSAjaW5jbHVkZSAidWkvZ2Z4L25hdGl2ZV9w aXhtYXAuaCIKLSAjaW5jbHVkZSAidWkvZ2wvZ2xfYmluZGluZ3MuaCIKLS0jaW5jbHVkZSAidWkv Z2wvZ2xfZXhwb3J0LmgiCi0gI2luY2x1ZGUgInVpL2dsL2dsX2ltYWdlLmgiCi0tI2luY2x1ZGUg InVpL2dsL25hdGl2ZV9waXhtYXBfZWdsX2JpbmRpbmdfaGVscGVyLmgiCi0gCi0tbmFtZXNwYWNl IGdsIHsKLStuYW1lc3BhY2UgdWkgewotK2NsYXNzIE5hdGl2ZVBpeG1hcEdMQmluZGluZzsKLSt9 Ci0gCi0tY2xhc3MgR0xfRVhQT1JUIEdMSW1hZ2VOYXRpdmVQaXhtYXAgOiBwdWJsaWMgR0xJbWFn ZSB7Ci0rbmFtZXNwYWNlIGdwdSB7Ci0rCi0rY2xhc3MgR1BVX0dMRVMyX0VYUE9SVCBHTEltYWdl TmF0aXZlUGl4bWFwIDogcHVibGljIGdsOjpHTEltYWdlIHsKLSAgcHVibGljOgotICAgLy8gQ3Jl YXRlIGFuIEVHTEltYWdlIGZyb20gYSBnaXZlbiBOYXRpdmVQaXhtYXAgYW5kIGJpbmQgfHRleHR1 cmVfaWR8IHRvCi0gICAvLyB8dGFyZ2V0fCBmb2xsb3dpbmcgYnkgYmluZGluZyB0aGUgaW1hZ2Ug dG8gfHRhcmdldHwuCi1AQCAtNDEsMjIgKzQ0LDE1IEBAIGNsYXNzIEdMX0VYUE9SVCBHTEltYWdl TmF0aXZlUGl4bWFwIDogcHVibGljIEdMSW1hZ2UgewotICAgICAgIEdMZW51bSB0YXJnZXQsCi0g ICAgICAgR0x1aW50IHRleHR1cmVfaWQpOwotIAotLSAgLy8gR2V0IHRoZSBHTCBpbnRlcm5hbCBm b3JtYXQgb2YgdGhlIGltYWdlLgotLSAgLy8gSXQgaXMgYWxpZ25lZCB3aXRoIGdsVGV4SW1hZ2V7 MnwzfUQncyBwYXJhbWV0ZXIgfGludGVybmFsZm9ybWF0fC4KLS0gIHVuc2lnbmVkIEdldEludGVy bmFsRm9ybWF0KCk7Ci0tCi0gICAvLyBPdmVycmlkZGVuIGZyb20gR0xJbWFnZToKLSAgIGdmeDo6 U2l6ZSBHZXRTaXplKCkgb3ZlcnJpZGU7Ci0gCi0tIHByb3RlY3RlZDoKLS0gIH5HTEltYWdlTmF0 aXZlUGl4bWFwKCkgb3ZlcnJpZGU7Ci0tCi0gIHByaXZhdGU6Ci0gICBleHBsaWNpdCBHTEltYWdl TmF0aXZlUGl4bWFwKGNvbnN0IGdmeDo6U2l6ZSYgc2l6ZSk7Ci0rICB+R0xJbWFnZU5hdGl2ZVBp eG1hcCgpIG92ZXJyaWRlOwotIAotLSAgLy8gQ3JlYXRlIGFuIEVHTEltYWdlIGZyb20gYSBnaXZl biBOYXRpdmVQaXhtYXAgYW5kIGJpbmQgfHRleHR1cmVfaWR8IHRvCi0tICAvLyB8dGFyZ2V0fCBm b2xsb3dlZCBieSBiaW5kaW5nIHRoZSBpbWFnZSB0byB8dGFyZ2V0fC4gVGhpcyBFR0xJbWFnZSBj YW4gYmUKLS0gIC8vIGNvbnZlcnRlZCB0byBhIEdMIHRleHR1cmUuCi0rICAvLyBDcmVhdGUgYSBO YXRpdmVQaXhtYXBHTEJpbmRpbmcgZnJvbSBhIGdpdmVuIE5hdGl2ZVBpeG1hcC4gUmV0dXJucyB0 cnVlIGlmZgotKyAgLy8gdGhlIGJpbmRpbmcgd2FzIHN1Y2Nlc3NmdWxseSBjcmVhdGVkLgotICAg Ym9vbCBJbml0aWFsaXplRnJvbU5hdGl2ZVBpeG1hcChnZng6OkJ1ZmZlckZvcm1hdCBmb3JtYXQs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6QnVmZmVyUGxhbmUgcGxh bmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlZF9yZWZwdHI8Z2Z4 OjpOYXRpdmVQaXhtYXA+IHBpeG1hcCwKLUBAIC02NCwxMCArNjAsMTAgQEAgY2xhc3MgR0xfRVhQ T1JUIEdMSW1hZ2VOYXRpdmVQaXhtYXAgOiBwdWJsaWMgR0xJbWFnZSB7Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEdMZW51bSB0YXJnZXQsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEdMdWludCB0ZXh0dXJlX2lkKTsKLSAKLS0gIHN0ZDo6dW5pcXVlX3B0 cjxOYXRpdmVQaXhtYXBFR0xCaW5kaW5nSGVscGVyPiBiaW5kaW5nX2hlbHBlcl87Ci0rICBzdGQ6 OnVuaXF1ZV9wdHI8dWk6Ok5hdGl2ZVBpeG1hcEdMQmluZGluZz4gcGl4bWFwX2dsX2JpbmRpbmdf OwotICAgY29uc3QgZ2Z4OjpTaXplIHNpemVfOwotIH07Ci0gCi0tfSAgLy8gbmFtZXNwYWNlIGds Ci0rfSAgLy8gbmFtZXNwYWNlIGdwdQotIAotLSNlbmRpZiAgLy8gVUlfR0xfR0xfSU1BR0VfTkFU SVZFX1BJWE1BUF9IXwotKyNlbmRpZiAgLy8gR1BVX0NPTU1BTkRfQlVGRkVSX1NFUlZJQ0VfU0hB UkVEX0lNQUdFX0dMX0lNQUdFX05BVElWRV9QSVhNQVBfSF8KLWRpZmYgLS1naXQgYS9ncHUvY29t bWFuZF9idWZmZXIvc2VydmljZS9zaGFyZWRfaW1hZ2UvZ2xfb3pvbmVfaW1hZ2VfcmVwcmVzZW50 YXRpb24uaCBiL2dwdS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNlL3NoYXJlZF9pbWFnZS9nbF9vem9u ZV9pbWFnZV9yZXByZXNlbnRhdGlvbi5oCi1pbmRleCAzMTcyMzg5NDA4OGUxLi5hZGUzMzdiZGU5 OTY2IDEwMDY0NAotLS0tIGEvZ3B1L2NvbW1hbmRfYnVmZmVyL3NlcnZpY2Uvc2hhcmVkX2ltYWdl L2dsX296b25lX2ltYWdlX3JlcHJlc2VudGF0aW9uLmgKLSsrKyBiL2dwdS9jb21tYW5kX2J1ZmZl ci9zZXJ2aWNlL3NoYXJlZF9pbWFnZS9nbF9vem9uZV9pbWFnZV9yZXByZXNlbnRhdGlvbi5oCi1A QCAtMTQsNyArMTQsNiBAQAotICNpbmNsdWRlICJncHUvY29tbWFuZF9idWZmZXIvc2VydmljZS9z aGFyZWRfaW1hZ2Uvc2hhcmVkX2ltYWdlX3JlcHJlc2VudGF0aW9uLmgiCi0gI2luY2x1ZGUgImdw dS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNlL3RleHR1cmVfbWFuYWdlci5oIgotICNpbmNsdWRlICJ1 aS9nZngvbmF0aXZlX3BpeG1hcC5oIgotLSNpbmNsdWRlICJ1aS9nbC9nbF9pbWFnZV9uYXRpdmVf cGl4bWFwLmgiCi0gI2luY2x1ZGUgInVpL296b25lL3B1YmxpYy9uYXRpdmVfcGl4bWFwX2dsX2Jp bmRpbmcuaCIKLSAKLSBuYW1lc3BhY2UgZ3B1IHsKLWRpZmYgLS1naXQgYS9ncHUvY29tbWFuZF9i dWZmZXIvc2VydmljZS9zaGFyZWRfaW1hZ2Uvb3pvbmVfaW1hZ2VfYmFja2luZy5jYyBiL2dwdS9j b21tYW5kX2J1ZmZlci9zZXJ2aWNlL3NoYXJlZF9pbWFnZS9vem9uZV9pbWFnZV9iYWNraW5nLmNj Ci1pbmRleCA4ZDRhN2Q5MzA2ZWIxLi43YTY1MmFlNDI1YzBlIDEwMDY0NAotLS0tIGEvZ3B1L2Nv bW1hbmRfYnVmZmVyL3NlcnZpY2Uvc2hhcmVkX2ltYWdlL296b25lX2ltYWdlX2JhY2tpbmcuY2MK LSsrKyBiL2dwdS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNlL3NoYXJlZF9pbWFnZS9vem9uZV9pbWFn ZV9iYWNraW5nLmNjCi1AQCAtMzYsNyArMzYsNiBAQAotICNpbmNsdWRlICJ1aS9nZngvbmF0aXZl X3BpeG1hcC5oIgotICNpbmNsdWRlICJ1aS9nZngvbmF0aXZlX3dpZGdldF90eXBlcy5oIgotICNp bmNsdWRlICJ1aS9nbC9idWlsZGZsYWdzLmgiCi0tI2luY2x1ZGUgInVpL2dsL2dsX2ltYWdlX25h dGl2ZV9waXhtYXAuaCIKLSAKLSAjaWYgQlVJTERGTEFHKEVOQUJMRV9WVUxLQU4pCi0gI2luY2x1 ZGUgImdwdS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNlL3NoYXJlZF9pbWFnZS9za2lhX3ZrX296b25l X2ltYWdlX3JlcHJlc2VudGF0aW9uLmgiCi1kaWZmIC0tZ2l0IGEvbWVkaWEvZ3B1L3Y0bDIvQlVJ TEQuZ24gYi9tZWRpYS9ncHUvdjRsMi9CVUlMRC5nbgotaW5kZXggMTJlNmI2NmNmN2I4OS4uZmY3 YjVhMWE1MGEzOCAxMDA2NDQKLS0tLSBhL21lZGlhL2dwdS92NGwyL0JVSUxELmduCi0rKysgYi9t ZWRpYS9ncHUvdjRsMi9CVUlMRC5nbgotQEAgLTk4LDYgKzk4LDcgQEAgc291cmNlX3NldCgidjRs MiIpIHsKLSAgICAgIjpsaWJ2NGwyX3N0dWJzIiwKLSAgICAgIjp2NGwyX3N0YXR1cyIsCi0gICAg ICIvL2Jhc2UiLAotKyAgICAiLy9ncHUvY29tbWFuZF9idWZmZXIvc2VydmljZTpnbGVzMiIsCi0g ICAgICIvL2dwdS9pcGMvY29tbW9uIiwKLSAgICAgIi8vZ3B1L2lwYy9zZXJ2aWNlIiwKLSAgICAg Ii8vbWVkaWEiLAotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92NGwyL2dlbmVyaWNfdjRsMl9kZXZp Y2UuY2MgYi9tZWRpYS9ncHUvdjRsMi9nZW5lcmljX3Y0bDJfZGV2aWNlLmNjCi1pbmRleCBiZGJi MjU2ZWQ1NzhjLi4zMzdlYzBlN2IzNzJiIDEwMDY0NAotLS0tIGEvbWVkaWEvZ3B1L3Y0bDIvZ2Vu ZXJpY192NGwyX2RldmljZS5jYwotKysrIGIvbWVkaWEvZ3B1L3Y0bDIvZ2VuZXJpY192NGwyX2Rl dmljZS5jYwotQEAgLTIzLDYgKzIzLDcgQEAKLSAjaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3N0cmlu Z3ByaW50Zi5oIgotICNpbmNsdWRlICJiYXNlL3RyYWNlX2V2ZW50L3RyYWNlX2V2ZW50LmgiCi0g I2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgotKyNpbmNsdWRlICJncHUvY29tbWFuZF9i dWZmZXIvc2VydmljZS9zaGFyZWRfaW1hZ2UvZ2xfaW1hZ2VfbmF0aXZlX3BpeG1hcC5oIgotICNp bmNsdWRlICJtZWRpYS9iYXNlL3ZpZGVvX3R5cGVzLmgiCi0gI2luY2x1ZGUgIm1lZGlhL2dwdS9i dWlsZGZsYWdzLmgiCi0gI2luY2x1ZGUgIm1lZGlhL2dwdS9jaHJvbWVvcy9mb3VyY2MuaCIKLUBA IC0zMiw3ICszMyw2IEBACi0gI2luY2x1ZGUgInVpL2dmeC9uYXRpdmVfcGl4bWFwX2hhbmRsZS5o IgotICNpbmNsdWRlICJ1aS9nbC9lZ2xfdXRpbC5oIgotICNpbmNsdWRlICJ1aS9nbC9nbF9iaW5k aW5ncy5oIgotLSNpbmNsdWRlICJ1aS9nbC9nbF9pbWFnZV9uYXRpdmVfcGl4bWFwLmgiCi0gI2lu Y2x1ZGUgInVpL296b25lL3B1YmxpYy9vem9uZV9wbGF0Zm9ybS5oIgotICNpbmNsdWRlICJ1aS9v em9uZS9wdWJsaWMvc3VyZmFjZV9mYWN0b3J5X296b25lLmgiCi0gCi1AQCAtMjgxLDcgKzI4MSw3 IEBAIEVHTEltYWdlS0hSIEdlbmVyaWNWNEwyRGV2aWNlOjpDcmVhdGVFR0xJbWFnZSgKLSAgIHJl dHVybiBlZ2xfaW1hZ2U7Ci0gfQotIAotLXNjb3BlZF9yZWZwdHI8Z2w6OkdMSW1hZ2VOYXRpdmVQ aXhtYXA+IEdlbmVyaWNWNEwyRGV2aWNlOjpDcmVhdGVHTEltYWdlKAotK3Njb3BlZF9yZWZwdHI8 Z3B1OjpHTEltYWdlTmF0aXZlUGl4bWFwPiBHZW5lcmljVjRMMkRldmljZTo6Q3JlYXRlR0xJbWFn ZSgKLSAgICAgY29uc3QgZ2Z4OjpTaXplJiBzaXplLAotICAgICBjb25zdCBGb3VyY2MgZm91cmNj LAotICAgICBnZng6Ok5hdGl2ZVBpeG1hcEhhbmRsZSBoYW5kbGUsCi1AQCAtMzE3LDcgKzMxNyw3 IEBAIHNjb3BlZF9yZWZwdHI8Z2w6OkdMSW1hZ2VOYXRpdmVQaXhtYXA+IEdlbmVyaWNWNEwyRGV2 aWNlOjpDcmVhdGVHTEltYWdlKAotICAgRENIRUNLKHBpeG1hcCk7Ci0gCi0gICAvLyBUT0RPKGIv MjIwMzM2NDYzKTogcGx1bWIgdGhlIHJpZ2h0IGNvbG9yIHNwYWNlLgotLSAgYXV0byBpbWFnZSA9 IGdsOjpHTEltYWdlTmF0aXZlUGl4bWFwOjpDcmVhdGUoCi0rICBhdXRvIGltYWdlID0gZ3B1OjpH TEltYWdlTmF0aXZlUGl4bWFwOjpDcmVhdGUoCi0gICAgICAgc2l6ZSwgYnVmZmVyX2Zvcm1hdCwg c3RkOjptb3ZlKHBpeG1hcCksIHRhcmdldCwgdGV4dHVyZV9pZCk7Ci0gICBEQ0hFQ0soaW1hZ2Up OwotICAgcmV0dXJuIGltYWdlOwotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92NGwyL2dlbmVyaWNf djRsMl9kZXZpY2UuaCBiL21lZGlhL2dwdS92NGwyL2dlbmVyaWNfdjRsMl9kZXZpY2UuaAotaW5k ZXggYmI5Y2UzOTFjMTViZC4uZmQ4NGFlZTI3MDk3ZSAxMDA2NDQKLS0tLSBhL21lZGlhL2dwdS92 NGwyL2dlbmVyaWNfdjRsMl9kZXZpY2UuaAotKysrIGIvbWVkaWEvZ3B1L3Y0bDIvZ2VuZXJpY192 NGwyX2RldmljZS5oCi1AQCAtNTUsNyArNTUsNyBAQCBjbGFzcyBHZW5lcmljVjRMMkRldmljZSA6 IHB1YmxpYyBWNEwyRGV2aWNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IEZvdXJjYyBmb3VyY2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZng6Ok5hdGl2 ZVBpeG1hcEhhbmRsZSBoYW5kbGUpIGNvbnN0IG92ZXJyaWRlOwotIAotLSAgc2NvcGVkX3JlZnB0 cjxnbDo6R0xJbWFnZU5hdGl2ZVBpeG1hcD4gQ3JlYXRlR0xJbWFnZSgKLSsgIHNjb3BlZF9yZWZw dHI8Z3B1OjpHTEltYWdlTmF0aXZlUGl4bWFwPiBDcmVhdGVHTEltYWdlKAotICAgICAgIGNvbnN0 IGdmeDo6U2l6ZSYgc2l6ZSwKLSAgICAgICBjb25zdCBGb3VyY2MgZm91cmNjLAotICAgICAgIGdm eDo6TmF0aXZlUGl4bWFwSGFuZGxlIGhhbmRsZSwKLWRpZmYgLS1naXQgYS9tZWRpYS9ncHUvdjRs Mi92NGwyX2RldmljZS5oIGIvbWVkaWEvZ3B1L3Y0bDIvdjRsMl9kZXZpY2UuaAotaW5kZXggYmRj MzliZjY1YWUzOC4uZWU3NGNiY2QzOTk1NyAxMDA2NDQKLS0tLSBhL21lZGlhL2dwdS92NGwyL3Y0 bDJfZGV2aWNlLmgKLSsrKyBiL21lZGlhL2dwdS92NGwyL3Y0bDJfZGV2aWNlLmgKLUBAIC0yOCw2 ICsyOCw3IEBACi0gI2luY2x1ZGUgImJhc2UvZmlsZXMvc2NvcGVkX2ZpbGUuaCIKLSAjaW5jbHVk ZSAiYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaCIKLSAjaW5jbHVkZSAiYmFzZS9zZXF1ZW5jZV9j aGVja2VyLmgiCi0rI2luY2x1ZGUgImdwdS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNlL3NoYXJlZF9p bWFnZS9nbF9pbWFnZV9uYXRpdmVfcGl4bWFwLmgiCi0gI2luY2x1ZGUgIm1lZGlhL2Jhc2Uvdmlk ZW9fY29kZWNzLmgiCi0gI2luY2x1ZGUgIm1lZGlhL2Jhc2UvdmlkZW9fZGVjb2Rlcl9jb25maWcu aCIKLSAjaW5jbHVkZSAibWVkaWEvYmFzZS92aWRlb19mcmFtZS5oIgotQEAgLTQyLDcgKzQzLDYg QEAKLSAjaW5jbHVkZSAidWkvZ2Z4L2dlb21ldHJ5L3NpemUuaCIKLSAjaW5jbHVkZSAidWkvZ2Z4 L25hdGl2ZV9waXhtYXBfaGFuZGxlLmgiCi0gI2luY2x1ZGUgInVpL2dsL2dsX2JpbmRpbmdzLmgi Ci0tI2luY2x1ZGUgInVpL2dsL2dsX2ltYWdlX25hdGl2ZV9waXhtYXAuaCIKLSAKLSAvLyBUT0RP KG1vamFoc3UpOiByZW1vdmUgdGhpcyBvbmNlIFY0TDIgaGVhZGVycyBhcmUgdXBkYXRlZC4KLSAj aWZuZGVmIFY0TDJfUElYX0ZNVF9KUEVHX1JBVwotQEAgLTc3Nyw3ICs3NzcsNyBAQCBjbGFzcyBN RURJQV9HUFVfRVhQT1JUIFY0TDJEZXZpY2UKLSAKLSAgIC8vIENyZWF0ZSBhIEdMSW1hZ2VOYXRp dmVQaXhtYXAgZnJvbSBwcm92aWRlZCB8aGFuZGxlfCwgdGFraW5nIGZ1bGwgb3duZXJzaGlwCi0g ICAvLyBvZiBpdC4KLS0gIHZpcnR1YWwgc2NvcGVkX3JlZnB0cjxnbDo6R0xJbWFnZU5hdGl2ZVBp eG1hcD4gQ3JlYXRlR0xJbWFnZSgKLSsgIHZpcnR1YWwgc2NvcGVkX3JlZnB0cjxncHU6OkdMSW1h Z2VOYXRpdmVQaXhtYXA+IENyZWF0ZUdMSW1hZ2UoCi0gICAgICAgY29uc3QgZ2Z4OjpTaXplJiBz aXplLAotICAgICAgIGNvbnN0IEZvdXJjYyBmb3VyY2MsCi0gICAgICAgZ2Z4OjpOYXRpdmVQaXht YXBIYW5kbGUgaGFuZGxlLAotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92NGwyL3Y0bDJfc2xpY2Vf dmlkZW9fZGVjb2RlX2FjY2VsZXJhdG9yLmNjIGIvbWVkaWEvZ3B1L3Y0bDIvdjRsMl9zbGljZV92 aWRlb19kZWNvZGVfYWNjZWxlcmF0b3IuY2MKLWluZGV4IGE1MWFjZWRjMTA1YjcuLjc4Y2M2MDVl OTg2ZTYgMTAwNjQ0Ci0tLS0gYS9tZWRpYS9ncHUvdjRsMi92NGwyX3NsaWNlX3ZpZGVvX2RlY29k ZV9hY2NlbGVyYXRvci5jYwotKysrIGIvbWVkaWEvZ3B1L3Y0bDIvdjRsMl9zbGljZV92aWRlb19k ZWNvZGVfYWNjZWxlcmF0b3IuY2MKLUBAIC0zMCw2ICszMCw3IEBACi0gI2luY2x1ZGUgImJhc2Uv dGltZS90aW1lLmgiCi0gI2luY2x1ZGUgImJhc2UvdHJhY2VfZXZlbnQvbWVtb3J5X2R1bXBfbWFu YWdlci5oIgotICNpbmNsdWRlICJiYXNlL3RyYWNlX2V2ZW50L3RyYWNlX2V2ZW50LmgiCi0rI2lu Y2x1ZGUgImdwdS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNlL3NoYXJlZF9pbWFnZS9nbF9pbWFnZV9u YXRpdmVfcGl4bWFwLmgiCi0gI2luY2x1ZGUgIm1lZGlhL2Jhc2UvYmluZF90b19jdXJyZW50X2xv b3AuaCIKLSAjaW5jbHVkZSAibWVkaWEvYmFzZS9tZWRpYV9zd2l0Y2hlcy5oIgotICNpbmNsdWRl ICJtZWRpYS9iYXNlL3Njb3BlZGZkX2hlbHBlci5oIgotQEAgLTQ5LDcgKzUwLDYgQEAKLSAjaW5j bHVkZSAidWkvZ2wvZ2xfYmluZGluZ3MuaCIKLSAjaW5jbHVkZSAidWkvZ2wvZ2xfY29udGV4dC5o IgotICNpbmNsdWRlICJ1aS9nbC9nbF9kaXNwbGF5LmgiCi0tI2luY2x1ZGUgInVpL2dsL2dsX2lt YWdlX25hdGl2ZV9waXhtYXAuaCIKLSAjaW5jbHVkZSAidWkvZ2wvZ2xfc3VyZmFjZV9lZ2wuaCIK LSAjaW5jbHVkZSAidWkvZ2wvc2NvcGVkX2JpbmRlcnMuaCIKLSAKLUBAIC0xNDQ0LDcgKzE0NDQs NyBAQCB2b2lkIFY0TDJTbGljZVZpZGVvRGVjb2RlQWNjZWxlcmF0b3I6OkNyZWF0ZUdMSW1hZ2VG b3IoCi0gICAgIHJldHVybjsKLSAgIH0KLSAKLS0gIHNjb3BlZF9yZWZwdHI8Z2w6OkdMSW1hZ2VO YXRpdmVQaXhtYXA+IGdsX2ltYWdlID0KLSsgIHNjb3BlZF9yZWZwdHI8Z3B1OjpHTEltYWdlTmF0 aXZlUGl4bWFwPiBnbF9pbWFnZSA9Ci0gICAgICAgZ2xfZGV2aWNlLT5DcmVhdGVHTEltYWdlKHZp c2libGVfc2l6ZSwgZm91cmNjLCBzdGQ6Om1vdmUoaGFuZGxlKSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ2xfZGV2aWNlLT5HZXRUZXh0dXJlVGFyZ2V0KCksIHRleHR1cmVfaWQp OwotICAgaWYgKCFnbF9pbWFnZSkgewotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92YWFwaS9CVUlM RC5nbiBiL21lZGlhL2dwdS92YWFwaS9CVUlMRC5nbgotaW5kZXggMWVjZjg4NTRkMDJlNy4uNzY4 NzM4NDU1MzgwNiAxMDA2NDQKLS0tLSBhL21lZGlhL2dwdS92YWFwaS9CVUlMRC5nbgotKysrIGIv bWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduCi1AQCAtOTYsNiArOTYsNyBAQCBzb3VyY2Vfc2V0KCJ2 YWFwaSIpIHsKLSAgICAgIjp2YWFwaV9zdGF0dXMiLAotICAgICAiLy9iYXNlIiwKLSAgICAgIi8v YnVpbGQ6Y2hyb21lb3NfYnVpbGRmbGFncyIsCi0rICAgICIvL2dwdS9jb21tYW5kX2J1ZmZlci9z ZXJ2aWNlOmdsZXMyIiwKLSAgICAgIi8vZ3B1L2NvbmZpZyIsCi0gICAgICIvL2dwdS9pcGMvY29t bW9uIiwKLSAgICAgIi8vZ3B1L2lwYy9zZXJ2aWNlIiwKLWRpZmYgLS1naXQgYS9tZWRpYS9ncHUv dmFhcGkvdmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4bWFwX296b25lLmNjIGIvbWVkaWEvZ3B1L3Zh YXBpL3ZhYXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcF9vem9uZS5jYwotaW5kZXggMDY2MTdmZmVj OGU1YS4uNjI2ZGRhNjMxMjIxMyAxMDA2NDQKLS0tLSBhL21lZGlhL2dwdS92YWFwaS92YWFwaV9w aWN0dXJlX25hdGl2ZV9waXhtYXBfb3pvbmUuY2MKLSsrKyBiL21lZGlhL2dwdS92YWFwaS92YWFw aV9waWN0dXJlX25hdGl2ZV9waXhtYXBfb3pvbmUuY2MKLUBAIC00LDYgKzQsNyBAQAotIAotICNp bmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4bWFwX296b25l LmgiCi0gCi0rI2luY2x1ZGUgImdwdS9jb21tYW5kX2J1ZmZlci9zZXJ2aWNlL3NoYXJlZF9pbWFn ZS9nbF9pbWFnZV9uYXRpdmVfcGl4bWFwLmgiCi0gI2luY2x1ZGUgIm1lZGlhL2Jhc2UvZm9ybWF0 X3V0aWxzLmgiCi0gI2luY2x1ZGUgIm1lZGlhL2dwdS9idWZmZXJfdmFsaWRhdGlvbi5oIgotICNp bmNsdWRlICJtZWRpYS9ncHUvY2hyb21lb3MvcGxhdGZvcm1fdmlkZW9fZnJhbWVfdXRpbHMuaCIK LUBAIC0xNSw3ICsxNiw2IEBACi0gI2luY2x1ZGUgInVpL2dmeC9saW51eC9uYXRpdmVfcGl4bWFw X2RtYWJ1Zi5oIgotICNpbmNsdWRlICJ1aS9nZngvbmF0aXZlX3BpeG1hcC5oIgotICNpbmNsdWRl ICJ1aS9nbC9nbF9iaW5kaW5ncy5oIgotLSNpbmNsdWRlICJ1aS9nbC9nbF9pbWFnZV9uYXRpdmVf cGl4bWFwLmgiCi0gI2luY2x1ZGUgInVpL2dsL3Njb3BlZF9iaW5kZXJzLmgiCi0gI2luY2x1ZGUg InVpL296b25lL3B1YmxpYy9vem9uZV9wbGF0Zm9ybS5oIgotICNpbmNsdWRlICJ1aS9vem9uZS9w dWJsaWMvc3VyZmFjZV9mYWN0b3J5X296b25lLmgiCi1AQCAtODcsNyArODcsNyBAQCBWYWFwaVN0 YXR1cyBWYWFwaVBpY3R1cmVOYXRpdmVQaXhtYXBPem9uZTo6SW5pdGlhbGl6ZSgKLSAgIGNvbnN0 IGdmeDo6QnVmZmVyRm9ybWF0IGZvcm1hdCA9IHBpeG1hcC0+R2V0QnVmZmVyRm9ybWF0KCk7Ci0g Ci0gICAvLyBUT0RPKGIvMjIwMzM2NDYzKTogcGx1bWIgdGhlIHJpZ2h0IGNvbG9yIHNwYWNlLgot LSAgYXV0byBpbWFnZSA9IGdsOjpHTEltYWdlTmF0aXZlUGl4bWFwOjpDcmVhdGUoCi0rICBhdXRv IGltYWdlID0gZ3B1OjpHTEltYWdlTmF0aXZlUGl4bWFwOjpDcmVhdGUoCi0gICAgICAgdmlzaWJs ZV9zaXplXywgZm9ybWF0LCBzdGQ6Om1vdmUocGl4bWFwKSwKLSAgICAgICBiYXNlOjpzdHJpY3Rf Y2FzdDxHTGVudW0+KHRleHR1cmVfdGFyZ2V0XyksCi0gICAgICAgYmFzZTo6c3RyaWN0X2Nhc3Q8 R0x1aW50Pih0ZXh0dXJlX2lkXykpOwotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92YWFwaS92YWFw aV9waWN0dXJlX25hdGl2ZV9waXhtYXBfb3pvbmUuaCBiL21lZGlhL2dwdS92YWFwaS92YWFwaV9w aWN0dXJlX25hdGl2ZV9waXhtYXBfb3pvbmUuaAotaW5kZXggMTAxNzI4ZjM2YzFlMS4uZWFjZWQ5 YThjY2FkZiAxMDA2NDQKLS0tLSBhL21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX25hdGl2 ZV9waXhtYXBfb3pvbmUuaAotKysrIGIvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfbmF0 aXZlX3BpeG1hcF9vem9uZS5oCi1AQCAtMTcsNyArMTcsNyBAQCBuYW1lc3BhY2UgZ2Z4IHsKLSBj bGFzcyBOYXRpdmVQaXhtYXA7Ci0gfSAgLy8gbmFtZXNwYWNlIGdmeAotIAotLW5hbWVzcGFjZSBn bCB7Ci0rbmFtZXNwYWNlIGdwdSB7Ci0gY2xhc3MgR0xJbWFnZU5hdGl2ZVBpeG1hcDsKLSB9Ci0g Ci1AQCAtNTUsNyArNTUsNyBAQCBjbGFzcyBWYWFwaVBpY3R1cmVOYXRpdmVQaXhtYXBPem9uZSA6 IHB1YmxpYyBWYWFwaVBpY3R1cmVOYXRpdmVQaXhtYXAgewotICAgVmFhcGlTdGF0dXMgSW5pdGlh bGl6ZShzY29wZWRfcmVmcHRyPGdmeDo6TmF0aXZlUGl4bWFwPiBwaXhtYXApOwotIAotICAgLy8g R0xJbWFnZSBib3VuZCB0byB0aGUgR0wgdGV4dHVyZXMgdXNlZCBieSB0aGUgVkRBIGNsaWVudC4K LS0gIHNjb3BlZF9yZWZwdHI8Z2w6OkdMSW1hZ2VOYXRpdmVQaXhtYXA+IGdsX2ltYWdlXzsKLSsg IHNjb3BlZF9yZWZwdHI8Z3B1OjpHTEltYWdlTmF0aXZlUGl4bWFwPiBnbF9pbWFnZV87Ci0gfTsK LSAKLSB9ICAvLyBuYW1lc3BhY2UgbWVkaWEKLWRpZmYgLS1naXQgYS91aS9nZngvbGludXgvbmF0 aXZlX3BpeG1hcF9kbWFidWYuaCBiL3VpL2dmeC9saW51eC9uYXRpdmVfcGl4bWFwX2RtYWJ1Zi5o Ci1pbmRleCA3ZjEzNDExMDQxN2VhLi5mMTJkNGY1ZWFjODlkIDEwMDY0NAotLS0tIGEvdWkvZ2Z4 L2xpbnV4L25hdGl2ZV9waXhtYXBfZG1hYnVmLmgKLSsrKyBiL3VpL2dmeC9saW51eC9uYXRpdmVf cGl4bWFwX2RtYWJ1Zi5oCi1AQCAtMTcsNyArMTcsNyBAQAotIG5hbWVzcGFjZSBnZnggewotIAot IC8vIFRoaXMgY2xhc3MgY29udmVydHMgYSBnZng6Ok5hdGl2ZVBpeG1hcEhhbmRsZSB0byBhIGdm eDo6TmF0aXZlUGl4bWFwLgotLS8vIEl0IGlzIHVzZWZ1bCBiZWNhdXNlIGdsOjpHTEltYWdlTmF0 aXZlUGl4bWFwOjpJbml0aWFsaXplIG9ubHkgdGFrZXMKLSsvLyBJdCBpcyB1c2VmdWwgYmVjYXVz ZSBncHU6OkdMSW1hZ2VOYXRpdmVQaXhtYXA6OkluaXRpYWxpemUgb25seSB0YWtlcwotIC8vIGEg Z2Z4OjpOYXRpdmVQaXhtYXAgYXMgaW5wdXQuCi0gY2xhc3MgR0ZYX0VYUE9SVCBOYXRpdmVQaXht YXBEbWFCdWYgOiBwdWJsaWMgZ2Z4OjpOYXRpdmVQaXhtYXAgewotICBwdWJsaWM6Ci1kaWZmIC0t Z2l0IGEvdWkvZ2wvQlVJTEQuZ24gYi91aS9nbC9CVUlMRC5nbgotaW5kZXggY2MyM2MwYThiNGM2 NC4uMmEwNzg1OWM0ZGFkOCAxMDA2NDQKLS0tLSBhL3VpL2dsL0JVSUxELmduCi0rKysgYi91aS9n bC9CVUlMRC5nbgotQEAgLTIyNiw4ICsyMjYsNiBAQCBjb21wb25lbnQoImdsIikgewotIAotICAg ICBpZiAoaXNfbGludXggfHwgaXNfY2hyb21lb3MgfHwgdXNlX296b25lKSB7Ci0gICAgICAgc291 cmNlcyArPSBbCi0tICAgICAgICAiZ2xfaW1hZ2VfbmF0aXZlX3BpeG1hcC5jYyIsCi0tICAgICAg ICAiZ2xfaW1hZ2VfbmF0aXZlX3BpeG1hcC5oIiwKLSAgICAgICAgICJuYXRpdmVfcGl4bWFwX2Vn bF9iaW5kaW5nX2hlbHBlci5jYyIsCi0gICAgICAgICAibmF0aXZlX3BpeG1hcF9lZ2xfYmluZGlu Z19oZWxwZXIuaCIsCi0gICAgICAgXQotZGlmZiAtLWdpdCBhL3VpL296b25lL2NvbW1vbi9uYXRp dmVfcGl4bWFwX2VnbF9iaW5kaW5nLmNjIGIvdWkvb3pvbmUvY29tbW9uL25hdGl2ZV9waXhtYXBf ZWdsX2JpbmRpbmcuY2MKLWluZGV4IDhkY2UwMWE0MTI4MWUuLjJlMThlNzNlYjZjYmIgMTAwNjQ0 Ci0tLS0gYS91aS9vem9uZS9jb21tb24vbmF0aXZlX3BpeG1hcF9lZ2xfYmluZGluZy5jYwotKysr IGIvdWkvb3pvbmUvY29tbW9uL25hdGl2ZV9waXhtYXBfZWdsX2JpbmRpbmcuY2MKLUBAIC04LDcg KzgsNyBAQAotICNpbmNsdWRlICJiYXNlL21lbW9yeS9zY29wZWRfcmVmcHRyLmgiCi0gI2luY2x1 ZGUgImJhc2Uvbm90cmVhY2hlZC5oIgotICNpbmNsdWRlICJ1aS9nbC9nbF9iaW5kaW5ncy5oIgot LSNpbmNsdWRlICJ1aS9nbC9nbF9pbWFnZV9uYXRpdmVfcGl4bWFwLmgiCi0rI2luY2x1ZGUgInVp L2dsL25hdGl2ZV9waXhtYXBfZWdsX2JpbmRpbmdfaGVscGVyLmgiCi0gCi0gbmFtZXNwYWNlIHVp IHsKLSAKLUBAIC01MCw5ICs1MCw5IEBAIHVuc2lnbmVkIEJ1ZmZlckZvcm1hdFRvR0xEYXRhVHlw ZShnZng6OkJ1ZmZlckZvcm1hdCBmb3JtYXQpIHsKLSB9ICAvLyBuYW1lc3BhY2UKLSAKLSBOYXRp dmVQaXhtYXBFR0xCaW5kaW5nOjpOYXRpdmVQaXhtYXBFR0xCaW5kaW5nKAotLSAgICBzY29wZWRf cmVmcHRyPGdsOjpHTEltYWdlTmF0aXZlUGl4bWFwPiBnbF9pbWFnZSwKLSsgICAgc3RkOjp1bmlx dWVfcHRyPGdsOjpOYXRpdmVQaXhtYXBFR0xCaW5kaW5nSGVscGVyPiBiaW5kaW5nX2hlbHBlciwK LSAgICAgZ2Z4OjpCdWZmZXJGb3JtYXQgZm9ybWF0KQotLSAgICA6IGdsX2ltYWdlXyhzdGQ6Om1v dmUoZ2xfaW1hZ2UpKSwgZm9ybWF0Xyhmb3JtYXQpIHt9Ci0rICAgIDogYmluZGluZ19oZWxwZXJf KHN0ZDo6bW92ZShiaW5kaW5nX2hlbHBlcikpLCBmb3JtYXRfKGZvcm1hdCkge30KLSBOYXRpdmVQ aXhtYXBFR0xCaW5kaW5nOjp+TmF0aXZlUGl4bWFwRUdMQmluZGluZygpID0gZGVmYXVsdDsKLSAK LSAvLyBzdGF0aWMKLUBAIC02NCwyMiArNjQsMjIgQEAgc3RkOjp1bmlxdWVfcHRyPE5hdGl2ZVBp eG1hcEdMQmluZGluZz4gTmF0aXZlUGl4bWFwRUdMQmluZGluZzo6Q3JlYXRlKAotICAgICBjb25z dCBnZng6OkNvbG9yU3BhY2UmIGNvbG9yX3NwYWNlLAotICAgICBHTGVudW0gdGFyZ2V0LAotICAg ICBHTHVpbnQgdGV4dHVyZV9pZCkgewotLSAgYXV0byBnbF9pbWFnZSA9IGdsOjpHTEltYWdlTmF0 aXZlUGl4bWFwOjpDcmVhdGVGb3JQbGFuZSgKLSsgIGF1dG8gYmluZGluZ19oZWxwZXIgPSBnbDo6 TmF0aXZlUGl4bWFwRUdMQmluZGluZ0hlbHBlcjo6Q3JlYXRlRm9yUGxhbmUoCi0gICAgICAgcGxh bmVfc2l6ZSwgcGxhbmVfZm9ybWF0LCBwbGFuZSwgc3RkOjptb3ZlKHBpeG1hcCksIGNvbG9yX3Nw YWNlLCB0YXJnZXQsCi0gICAgICAgdGV4dHVyZV9pZCk7Ci0tICBpZiAoIWdsX2ltYWdlKSB7Ci0t ICAgIExPRyhFUlJPUikgPDwgIlVuYWJsZSB0byBpbml0aWFsaXplIEdMIGltYWdlIGZyb20gcGl4 bWFwIjsKLSsgIGlmICghYmluZGluZ19oZWxwZXIpIHsKLSsgICAgTE9HKEVSUk9SKSA8PCAiVW5h YmxlIHRvIGluaXRpYWxpemUgYmluZGluZyBmcm9tIHBpeG1hcCI7Ci0gICAgIHJldHVybiBudWxs cHRyOwotICAgfQotIAotLSAgYXV0byBiaW5kaW5nID0gc3RkOjptYWtlX3VuaXF1ZTxOYXRpdmVQ aXhtYXBFR0xCaW5kaW5nPihzdGQ6Om1vdmUoZ2xfaW1hZ2UpLAotLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFuZV9mb3JtYXQpOwot KyAgYXV0byBiaW5kaW5nID0gc3RkOjptYWtlX3VuaXF1ZTxOYXRpdmVQaXhtYXBFR0xCaW5kaW5n PigKLSsgICAgICBzdGQ6Om1vdmUoYmluZGluZ19oZWxwZXIpLCBwbGFuZV9mb3JtYXQpOwotIAot ICAgcmV0dXJuIGJpbmRpbmc7Ci0gfQotIAotIEdMdWludCBOYXRpdmVQaXhtYXBFR0xCaW5kaW5n OjpHZXRJbnRlcm5hbEZvcm1hdCgpIHsKLS0gIHJldHVybiBnbF9pbWFnZV8tPkdldEludGVybmFs Rm9ybWF0KCk7Ci0rICByZXR1cm4gYmluZGluZ19oZWxwZXJfLT5HZXRJbnRlcm5hbEZvcm1hdCgp OwotIH0KLSAKLSBHTGVudW0gTmF0aXZlUGl4bWFwRUdMQmluZGluZzo6R2V0RGF0YVR5cGUoKSB7 Ci1kaWZmIC0tZ2l0IGEvdWkvb3pvbmUvY29tbW9uL25hdGl2ZV9waXhtYXBfZWdsX2JpbmRpbmcu aCBiL3VpL296b25lL2NvbW1vbi9uYXRpdmVfcGl4bWFwX2VnbF9iaW5kaW5nLmgKLWluZGV4IDQ0 ZDY4YmUzNTI3YTQuLmMwMzgyYjEwNjg0MjYgMTAwNjQ0Ci0tLS0gYS91aS9vem9uZS9jb21tb24v bmF0aXZlX3BpeG1hcF9lZ2xfYmluZGluZy5oCi0rKysgYi91aS9vem9uZS9jb21tb24vbmF0aXZl X3BpeG1hcF9lZ2xfYmluZGluZy5oCi1AQCAtMTUsMTYgKzE1LDE3IEBAIGNsYXNzIENvbG9yU3Bh Y2U7Ci0gfQotIAotIG5hbWVzcGFjZSBnbCB7Ci0tY2xhc3MgR0xJbWFnZU5hdGl2ZVBpeG1hcDsK LStjbGFzcyBOYXRpdmVQaXhtYXBFR0xCaW5kaW5nSGVscGVyOwotIH0KLSAKLSBuYW1lc3BhY2Ug dWkgewotIAotLS8vIEEgYmluZGluZyBtYWludGFpbmVkIGJldHdlZW4gR0xJbWFnZU5hdGl2ZVBp eG1hcCBhbmQgR0wgVGV4dHVyZXMgaW4gT3pvbmUuCi0rLy8gQSBiaW5kaW5nIG1haW50YWluZWQg YmV0d2VlbiBOYXRpdmVQaXhtYXAgYW5kIEdMIFRleHR1cmVzIGluIE96b25lLgotIGNsYXNzIE5h dGl2ZVBpeG1hcEVHTEJpbmRpbmcgOiBwdWJsaWMgTmF0aXZlUGl4bWFwR0xCaW5kaW5nIHsKLSAg cHVibGljOgotLSAgTmF0aXZlUGl4bWFwRUdMQmluZGluZyhzY29wZWRfcmVmcHRyPGdsOjpHTElt YWdlTmF0aXZlUGl4bWFwPiBnbF9pbWFnZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgZ2Z4 OjpCdWZmZXJGb3JtYXQgZm9ybWF0KTsKLSsgIE5hdGl2ZVBpeG1hcEVHTEJpbmRpbmcoCi0rICAg ICAgc3RkOjp1bmlxdWVfcHRyPGdsOjpOYXRpdmVQaXhtYXBFR0xCaW5kaW5nSGVscGVyPiBiaW5k aW5nX2hlbHBlciwKLSsgICAgICBnZng6OkJ1ZmZlckZvcm1hdCBmb3JtYXQpOwotICAgfk5hdGl2 ZVBpeG1hcEVHTEJpbmRpbmcoKSBvdmVycmlkZTsKLSAKLSAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w dHI8TmF0aXZlUGl4bWFwR0xCaW5kaW5nPiBDcmVhdGUoCi1AQCAtNDEsMTAgKzQyLDcgQEAgY2xh c3MgTmF0aXZlUGl4bWFwRUdMQmluZGluZyA6IHB1YmxpYyBOYXRpdmVQaXhtYXBHTEJpbmRpbmcg ewotICAgR0xlbnVtIEdldERhdGFUeXBlKCkgb3ZlcnJpZGU7Ci0gCi0gIHByaXZhdGU6Ci0tICAv LyBUT0RPKGhpdGF3YWxhKTogTWVyZ2UgQmluZFRleEltYWdlLCBJbml0aWFsaXplIGZyb20gR0xJ bWFnZSBhbmQgaXRzCi0tICAvLyBzdWJjbGFzcyBOYXRpdmVQaXhtYXAgdG8gTmF0aXZlUGl4bWFw RUdMQmluZGluZyBvbmNlIHdlIHN0b3AgdXNpbmcgdGhlbQotLSAgLy8gZWxzZXdoZXJlIGVnLiBW REEgZGVjb2RlcnMgaW4gbWVkaWEuCi0tICBzY29wZWRfcmVmcHRyPGdsOjpHTEltYWdlTmF0aXZl UGl4bWFwPiBnbF9pbWFnZV87Ci0rICBzdGQ6OnVuaXF1ZV9wdHI8Z2w6Ok5hdGl2ZVBpeG1hcEVH TEJpbmRpbmdIZWxwZXI+IGJpbmRpbmdfaGVscGVyXzsKLSAKLSAgIGdmeDo6QnVmZmVyRm9ybWF0 IGZvcm1hdF87Ci0gfTsKLWRpZmYgLS1naXQgYS91aS9vem9uZS9nbC9CVUlMRC5nbiBiL3VpL296 b25lL2dsL0JVSUxELmduCi1pbmRleCA0ZmM5MGYwNDcxMzYyLi42MDY0ZWI2ZjgzYThjIDEwMDY0 NAotLS0tIGEvdWkvb3pvbmUvZ2wvQlVJTEQuZ24KLSsrKyBiL3VpL296b25lL2dsL0JVSUxELmdu Ci1AQCAtOSw2ICs5LDE0IEBAIHRlc3QoIm96b25lX2dsX3VuaXR0ZXN0cyIpIHsKLSAKLSAgIGRl cHMgPSBbCi0gICAgICIvL2Jhc2UvdGVzdDp0ZXN0X3N1cHBvcnQiLAotKwotKyAgICAjIE5PVEU6 IFRoZSBhYm92ZSB0ZXN0cyBvZiBncHU6OkdMSW1hZ2VOYXRpdmVQaXhtYXAgY2Fubm90IGVhc2ls eSBiZSBtYWRlCi0rICAgICMgdG8gcnVuIGFzIHBhcnQgb2YgLy9ncHUncyBnbF90ZXN0cyBvciBn cHVfdW5pdHRlc3RzOiB0aGV5IGNyYXNoIHdoZW4gcnVuCi0rICAgICMgd2l0aCB0aGUgZm9ybWVy IGR1ZSB0byBkaWZmZXJlbmNlcyBpbiBHTCBjb25maWd1cmF0aW9uLCBhbmQgdGhleSBhcmUKLSsg ICAgIyBza2lwcGVkIHdoZW4gcnVuIHdpdGggdGhlIGxhdHRlciBkdWUgdG8gZGlmZmVyZW5jZXMg aW4gT3pvbmUKLSsgICAgIyBjb25maWd1cmF0aW9uLiBTaW1wbHkgbGVhdmUgdGhlbSBoZXJlIHdp dGggdGhpcyBkZXBlbmRlbmN5IGZvciB0aGUgc2hvcnQKLSsgICAgIyB0aW1lIHJlbWFpbmluZyB1 bnRpbCBHTEltYWdlTmF0aXZlUGl4bWFwIGlzIGVsaW1pbmF0ZWQgYWx0b2dldGhlci4KLSsgICAg Ii8vZ3B1L2NvbW1hbmRfYnVmZmVyL3NlcnZpY2U6Z2xlczIiLAotICAgICAiLy90ZXN0aW5nL2d0 ZXN0IiwKLSAgICAgIi8vdWkvZ2Z4IiwKLSAgICAgIi8vdWkvZ2w6cnVuX2FsbF91bml0dGVzdHMi LAotZGlmZiAtLWdpdCBhL3VpL296b25lL2dsL0RFUFMgYi91aS9vem9uZS9nbC9ERVBTCi1uZXcg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAwMC4uZTYxNDJlODVkMjE1NAotLS0t IC9kZXYvbnVsbAotKysrIGIvdWkvb3pvbmUvZ2wvREVQUwotQEAgLTAsMCArMSw2IEBACi0rc3Bl Y2lmaWNfaW5jbHVkZV9ydWxlcyA9IHsKLSsgICMgTk9URTogU2VlIGNvbW1lbnQgaW4gLi9CVUlM RC5nbiB3aXRoIHJlc3BlY3QgdG8gdGhpcyBkZXBlbmRlbmN5LgotKyAgImdsX2ltYWdlX296b25l X25hdGl2ZV9waXhtYXBfdW5pdHRlc3RcLmNjIjogWwotKyAgICAiK2dwdS9jb21tYW5kX2J1ZmZl ci9zZXJ2aWNlL3NoYXJlZF9pbWFnZS9nbF9pbWFnZV9uYXRpdmVfcGl4bWFwLmgiLAotKyAgXSwK LSt9Ci1kaWZmIC0tZ2l0IGEvdWkvb3pvbmUvZ2wvZ2xfaW1hZ2Vfb3pvbmVfbmF0aXZlX3BpeG1h cF91bml0dGVzdC5jYyBiL3VpL296b25lL2dsL2dsX2ltYWdlX296b25lX25hdGl2ZV9waXhtYXBf dW5pdHRlc3QuY2MKLWluZGV4IDlhNTM4OTAzYzhmZjAuLjE1MjdkZjkxYTMyMzggMTAwNjQ0Ci0t LS0gYS91aS9vem9uZS9nbC9nbF9pbWFnZV9vem9uZV9uYXRpdmVfcGl4bWFwX3VuaXR0ZXN0LmNj Ci0rKysgYi91aS9vem9uZS9nbC9nbF9pbWFnZV9vem9uZV9uYXRpdmVfcGl4bWFwX3VuaXR0ZXN0 LmNjCi1AQCAtNSwxMCArNSwxMCBAQAotICNpbmNsdWRlIDxzdGRpbnQuaD4KLSAjaW5jbHVkZSA8 bWVtb3J5PgotIAotKyNpbmNsdWRlICJncHUvY29tbWFuZF9idWZmZXIvc2VydmljZS9zaGFyZWRf aW1hZ2UvZ2xfaW1hZ2VfbmF0aXZlX3BpeG1hcC5oIgotICNpbmNsdWRlICJ0ZXN0aW5nL2d0ZXN0 L2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QuaCIKLSAjaW5jbHVkZSAidWkvZ2Z4L2J1ZmZlcl90eXBlcy5o IgotICNpbmNsdWRlICJ1aS9nZngvY2xpZW50X25hdGl2ZV9waXhtYXAuaCIKLS0jaW5jbHVkZSAi dWkvZ2wvZ2xfaW1hZ2VfbmF0aXZlX3BpeG1hcC5oIgotICNpbmNsdWRlICJ1aS9nbC90ZXN0L2ds X2ltYWdlX3Rlc3RfdGVtcGxhdGUuaCIKLSAjaW5jbHVkZSAidWkvb3pvbmUvcHVibGljL2NsaWVu dF9uYXRpdmVfcGl4bWFwX2ZhY3Rvcnlfb3pvbmUuaCIKLSAjaW5jbHVkZSAidWkvb3pvbmUvcHVi bGljL296b25lX3BsYXRmb3JtLmgiCi1AQCAtODMsNyArODMsNyBAQCBjbGFzcyBHTEltYWdlTmF0 aXZlUGl4bWFwVGVzdERlbGVnYXRlIDogcHVibGljIEdMSW1hZ2VUZXN0RGVsZWdhdGVCYXNlIHsK LSAgICAgICBnbEdlblRleHR1cmVzKDEsICZ0ZXh0dXJlX2lkXyk7Ci0gICAgIH0KLSAKLS0gICAg YXV0byBpbWFnZSA9IGdsOjpHTEltYWdlTmF0aXZlUGl4bWFwOjpDcmVhdGUoCi0rICAgIGF1dG8g aW1hZ2UgPSBncHU6OkdMSW1hZ2VOYXRpdmVQaXhtYXA6OkNyZWF0ZSgKLSAgICAgICAgIHNpemUs IGZvcm1hdCwgc3RkOjptb3ZlKHBpeG1hcCksIEdldFRleHR1cmVUYXJnZXQoKSwgdGV4dHVyZV9p ZF8pOwotICAgICBFWFBFQ1RfVFJVRShpbWFnZSk7Ci0gICAgIHJldHVybiBpbWFnZTsKLUBAIC0x MDAsOCArMTAwLDkgQEAgY2xhc3MgR0xJbWFnZU5hdGl2ZVBpeG1hcFRlc3REZWxlZ2F0ZSA6IHB1 YmxpYyBHTEltYWdlVGVzdERlbGVnYXRlQmFzZSB7Ci0gICAgICAgICBmb3JtYXQgPT0gZ2Z4OjpC dWZmZXJGb3JtYXQ6OllVVl80MjBfQklQTEFOQVIpIHsKLSAgICAgICByZXR1cm4gMTsKLSAgICAg fQotLSAgICBpZiAoZm9ybWF0ID09IGdmeDo6QnVmZmVyRm9ybWF0OjpQMDEwKQotKyAgICBpZiAo Zm9ybWF0ID09IGdmeDo6QnVmZmVyRm9ybWF0OjpQMDEwKSB7Ci0gICAgICAgcmV0dXJuIDM7Ci0r ICAgIH0KLSAgICAgcmV0dXJuIDA7Ci0gICB9Ci0gCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTEy LW5vcmFyLnBhdGNoIGIvY2hyb21pdW0tMTEyLW5vcmFyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA0MWU1NGVmLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExMi1ub3Jhci5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTEx Mi4wLjU2MTUuMjAvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0JVSUxELmduLm5vdW5yYXIg Y2hyb21pdW0tMTEyLjAuNTYxNS4yMC9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvQlVJTEQu Z24KLS0tLSBjaHJvbWl1bS0xMTIuMC41NjE1LjIwL2Nocm9tZS9jb21tb24vc2FmZV9icm93c2lu Zy9CVUlMRC5nbi5ub3VucmFyCTIwMjMtMDMtMDggMjM6MDA6MDkuMDAwMDAwMDAwICswMTAwCi0r KysgY2hyb21pdW0tMTEyLjAuNTYxNS4yMC9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvQlVJ TEQuZ24JMjAyMy0wMy0xMCAxNjowMjoxMi45NzA3NTkxNzEgKzAxMDAKLUBAIC01OCwyNSArNTgs NiBAQCBpZiAoc2FmZV9icm93c2luZ19tb2RlID09IDEpIHsKLSAgICAgcHVibGljX2RlcHMgPSBb ICIvL2NvbXBvbmVudHMvc2FmZV9icm93c2luZy9jb3JlL2NvbW1vbi9wcm90bzpjc2RfcHJvdG8i IF0KLSAgIH0KLSAKLS0gIHNvdXJjZV9zZXQoInJhcl9hbmFseXplciIpIHsKLS0gICAgc291cmNl cyA9IFsKLS0gICAgICAicmFyX2FuYWx5emVyLmNjIiwKLS0gICAgICAicmFyX2FuYWx5emVyLmgi LAotLSAgICBdCi0tCi0tICAgIGRlcHMgPSBbCi0tICAgICAgIjphcmNoaXZlX2FuYWx5emVyX3Jl c3VsdHMiLAotLSAgICAgICI6ZG93bmxvYWRfdHlwZV91dGlsIiwKLS0gICAgICAiLy9iYXNlIiwK LS0gICAgICAiLy9iYXNlOmkxOG4iLAotLSAgICAgICIvL2NvbXBvbmVudHMvc2FmZV9icm93c2lu Zy9jb250ZW50L2NvbW1vbjpmaWxlX3R5cGVfcG9saWNpZXMiLAotLSAgICAgICIvL2NvbXBvbmVu dHMvc2FmZV9icm93c2luZy9jb3JlL2NvbW1vbiIsCi0tICAgICAgIi8vdGhpcmRfcGFydHkvdW5y YXI6dW5yYXIiLAotLSAgICBdCi0tCi0tICAgIHB1YmxpY19kZXBzID0gWyAiLy9jb21wb25lbnRz L3NhZmVfYnJvd3NpbmcvY29yZS9jb21tb24vcHJvdG86Y3NkX3Byb3RvIiBdCi0tICB9Ci0tCi0g ICBpZiAoaXNfbGludXggfHwgaXNfd2luKSB7Ci0gICAgIHNvdXJjZV9zZXQoImRvY3VtZW50X2Fu YWx5emVyIikgewotICAgICAgIHNvdXJjZXMgPSBbCi1AQCAtMTcyLDcgKzE1Myw2IEBAIHNvdXJj ZV9zZXQoInNhZmVfYnJvd3NpbmciKSB7Ci0gICAgICAgIjphcmNoaXZlX2FuYWx5emVyX3Jlc3Vs dHMiLAotICAgICAgICI6YmluYXJ5X2ZlYXR1cmVfZXh0cmFjdG9yIiwKLSAgICAgICAiOmRvd25s b2FkX3R5cGVfdXRpbCIsCi0tICAgICAgIjpyYXJfYW5hbHl6ZXIiLAotICAgICAgICIvL2NvbXBv bmVudHMvc2FmZV9icm93c2luZy9jb3JlL2NvbW1vbiIsCi0gICAgICAgIi8vdGhpcmRfcGFydHkv bHptYV9zZGsvZ29vZ2xlOnNldmVuX3ppcF9yZWFkZXIiLAotICAgICBdCi1kaWZmIC11cCBjaHJv bWl1bS0xMTIuMC41NjE1LjIwL2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9ERVBTLm5vdW5y YXIgY2hyb21pdW0tMTEyLjAuNTYxNS4yMC9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvREVQ UwotLS0tIGNocm9taXVtLTExMi4wLjU2MTUuMjAvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5n L0RFUFMubm91bnJhcgkyMDIzLTAzLTA4IDIzOjAwOjA5LjAwMDAwMDAwMCArMDEwMAotKysrIGNo cm9taXVtLTExMi4wLjU2MTUuMjAvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0RFUFMJMjAy My0wMy0xMCAxMzoyMDowNi41NTgxODg0MjMgKzAxMDAKLUBAIC0zLDcgKzMsNiBAQCBpbmNsdWRl X3J1bGVzID0gWwotICAgIitjb21wb25lbnRzL3NhZmVfYnJvd3NpbmcvY29yZS9jb21tb24iLAot ICAgIit0aGlyZF9wYXJ0eS9tYWxkb2NhIiwKLSAgICIrdGhpcmRfcGFydHkvcHJvdG9idWYiLAot LSAgIit0aGlyZF9wYXJ0eS91bnJhciIsCi0gICAiK3RoaXJkX3BhcnR5L3psaWIiLAotICAgIit0 aGlyZF9wYXJ0eS9sem1hX3Nkay9nb29nbGUiLAotIF0KLWRpZmYgLXVwIGNocm9taXVtLTExMi4w LjU2MTUuMjAvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9CVUlMRC5nbi5ub3VucmFyIGNocm9t aXVtLTExMi4wLjU2MTUuMjAvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9CVUlMRC5nbgotLS0t IGNocm9taXVtLTExMi4wLjU2MTUuMjAvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9CVUlMRC5n bi5ub3VucmFyCTIwMjMtMDMtMDggMjM6MDA6MDkuMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21p dW0tMTEyLjAuNTYxNS4yMC9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL0JVSUxELmduCTIwMjMt MDMtMTAgMTM6MjA6MDYuNTU4MTg4NDIzICswMTAwCi1AQCAtNjAsNyArNjAsNiBAQCBzb3VyY2Vf c2V0KCJmaWxlX3V0aWwiKSB7Ci0gICAgIGRlcHMgKz0gWwotICAgICAgICIvL2Nocm9tZS9jb21t b24vc2FmZV9icm93c2luZyIsCi0gICAgICAgIi8vY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5n OmFyY2hpdmVfYW5hbHl6ZXJfcmVzdWx0cyIsCi0tICAgICAgIi8vY2hyb21lL2NvbW1vbi9zYWZl X2Jyb3dzaW5nOnJhcl9hbmFseXplciIsCi0gICAgIF0KLSAKLSAgICAgaWYgKGlzX2xpbnV4IHx8 IGlzX3dpbikgewotZGlmZiAtdXAgY2hyb21pdW0tMTEyLjAuNTYxNS4yMC9jaHJvbWUvc2Vydmlj ZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXplci5jYy5ub3VucmFyIGNocm9taXVtLTEx Mi4wLjU2MTUuMjAvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6 ZXIuY2MKLS0tLSBjaHJvbWl1bS0xMTIuMC41NjE1LjIwL2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0 aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVyLmNjLm5vdW5yYXIJMjAyMy0wMy0wOCAyMzowMDowOS4w MDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTIuMC41NjE1LjIwL2Nocm9tZS9zZXJ2aWNl cy9maWxlX3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVyLmNjCTIwMjMtMDMtMTAgMTM6MjA6MDYu NTU4MTg4NDIzICswMTAwCi1AQCAtNDUsMTIgKzQ1LDE2IEBAIHZvaWQgU2FmZUFyY2hpdmVBbmFs eXplcjo6QW5hbHl6ZURtZ0ZpbGUKLSB2b2lkIFNhZmVBcmNoaXZlQW5hbHl6ZXI6OkFuYWx5emVS YXJGaWxlKGJhc2U6OkZpbGUgcmFyX2ZpbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiYXNlOjpGaWxlIHRlbXBvcmFyeV9maWxlLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5hbHl6ZVJhckZpbGVDYWxsYmFjayBjYWxsYmFj aykgewotKyNpZiAwCi0gICBEQ0hFQ0socmFyX2ZpbGUuSXNWYWxpZCgpKTsKLSAKLSAgIHNhZmVf YnJvd3Npbmc6OkFyY2hpdmVBbmFseXplclJlc3VsdHMgcmVzdWx0czsKLSAgIHNhZmVfYnJvd3Np bmc6OnJhcl9hbmFseXplcjo6QW5hbHl6ZVJhckZpbGUoCi0gICAgICAgc3RkOjptb3ZlKHJhcl9m aWxlKSwgc3RkOjptb3ZlKHRlbXBvcmFyeV9maWxlKSwgJnJlc3VsdHMpOwotICAgc3RkOjptb3Zl KGNhbGxiYWNrKS5SdW4ocmVzdWx0cyk7Ci0rI2Vsc2UKLSsgIE5PVFJFQUNIRUQoKTsKLSsjZW5k aWYKLSB9Ci0gCi0gdm9pZCBTYWZlQXJjaGl2ZUFuYWx5emVyOjpBbmFseXplU2V2ZW5aaXBGaWxl KAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExMi1vem9uZS13YXlsYW5kLXZhYXBpLXN1cHBvcnQu cGF0Y2ggYi9jaHJvbWl1bS0xMTItb3pvbmUtd2F5bGFuZC12YWFwaS1zdXBwb3J0LnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZjRkNGFmLi4wMDAwMDAwCi0tLSBhL2Nocm9t aXVtLTExMi1vem9uZS13YXlsYW5kLXZhYXBpLXN1cHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSw2MjUgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0tMTEyLjAuNTYxNS40OS9tZWRpYS9n cHUvYXJncy5nbmkud2F5bGFuZC12YWFwaSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dw dS9hcmdzLmduaQotLS0tIGNocm9taXVtLTExMi4wLjU2MTUuNDkvbWVkaWEvZ3B1L2FyZ3MuZ25p LndheWxhbmQtdmFhcGkJMjAyMy0wMy0zMCAwMjozMzo1My4wMDAwMDAwMDAgKzAyMDAKLSsrKyBj aHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS9hcmdzLmduaQkyMDIzLTA0LTE0IDIxOjI5 OjQxLjc3NjMyODA0NCArMDIwMAotQEAgLTYsMTAgKzYsMTQgQEAgaW1wb3J0KCIvL2J1aWxkL2Nv bmZpZy9jaHJvbWVvcy91aV9tb2RlLgotIGltcG9ydCgiLy9idWlsZC9jb25maWcvb3pvbmUuZ25p IikKLSAKLSBkZWNsYXJlX2FyZ3MoKSB7Ci0tICAjIEluZGljYXRlcyBpZiBYMTEgVkEtQVBJLWJh c2VkIGhhcmR3YXJlIGFjY2VsZXJhdGlvbiBpcyB0byBiZSB1c2VkLgotLSAgIyBTZWUgYWxzbyB0 aGUgY29tbWVudCBuZWFyIHRoZSB8dXNlX3ZhYXBpfCBhcmcuCi0tICB1c2VfdmFhcGlfeDExID0g aXNfbGludXggJiYgb3pvbmVfcGxhdGZvcm1feDExICYmCi0tICAgICAgICAgICAgICAgICAgKHRh cmdldF9jcHUgPT0gIng4NiIgfHwgdGFyZ2V0X2NwdSA9PSAieDY0IikgJiYgIWlzX2Nhc3Rvcwot KyAgIyBCdWlsZCBDaHJvbWUgc3VwcG9ydCBmb3IgdXNpbmcgVkEtQVBJIG92ZXIgWDExLiBOb3Rl IHRoYXQgc2V0dGluZyB0aGlzIHRvIHRydWUgaXMKLSsgICMgbm90IGEgZ3VhcmFudGVlIHRoYXQg Q2hyb21lIHdpbGwgdXNlIChvciBldmVuIHRyeSB0byB1c2UpIFZBLUFQSSBvdmVyIFgxMS4gSW4K LSsgICMgcGFydGljdWxhciwgaXQgaXMgcG9zc2libGUgdG8gYnVpbGQgQ2hyb21lIHdpdGggc3Vw cG9ydCBmb3IgVkEtQVBJIG92ZXIgWDExIGJ1dAotKyAgIyBwaWNrIFdheWxhbmQgYXMgdGhlIE96 b25lIGJhY2tlbmQgYXQgcnVudGltZS4gSW4gdGhpcyBjYXNlLCBDaHJvbWUgd2lsbCB0cnkgdG8K LSsgICMgdXNlIFZBLUFQSSBvdmVyIERSTS4KLSsgIHN1cHBvcnRfdmFhcGlfb3Zlcl94MTEgPQot KyAgICAgIGlzX2xpbnV4ICYmIG96b25lX3BsYXRmb3JtX3gxMSAmJgotKyAgICAgICh0YXJnZXRf Y3B1ID09ICJ4ODYiIHx8IHRhcmdldF9jcHUgPT0gIng2NCIpICYmICFpc19jYXN0b3MKLSB9Ci0g Ci0gZGVjbGFyZV9hcmdzKCkgewotQEAgLTI5LDggKzMzLDkgQEAgZGVjbGFyZV9hcmdzKCkgewot ICAgIyBpcyB0eXBpY2FsbHkgdGhlIGNhc2Ugb24geDg2LWJhc2VkIENocm9tZU9TIGRldmljZXMu Ci0gICAjIFZBLUFQSSBzaG91bGQgYWxzbyBiZSBjb21waWxlZCBieSBkZWZhdWx0IG9uIHgxMS11 c2luZyBsaW51eCBkZXZpY2VzCi0gICAjIHVzaW5nIHg4Ni94NjQuCi0tICB1c2VfdmFhcGkgPSB1 c2VfdmFhcGlfeDExIHx8IChpc19jaHJvbWVvc19sYWNyb3MgJiYKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh0YXJnZXRfY3B1ID09ICJ4ODYiIHx8IHRhcmdldF9jcHUgPT0gIng2 NCIpKQotKyAgdXNlX3ZhYXBpID0KLSsgICAgICBzdXBwb3J0X3ZhYXBpX292ZXJfeDExIHx8Ci0r ICAgICAgKGlzX2Nocm9tZW9zX2xhY3JvcyAmJiAodGFyZ2V0X2NwdSA9PSAieDg2IiB8fCB0YXJn ZXRfY3B1ID09ICJ4NjQiKSkKLSAKLSAgICMgSW5kaWNhdGVzIGlmIENocm9tZU9TIHByb3RlY3Rl ZCBtZWRpYSBzdXBwb3J0IGV4aXN0cy4gVGhpcyBpcyB1c2VkCi0gICAjIHRvIGVuYWJsZSB0aGUg Q0RNIGRhZW1vbiBpbiBDaHJvbWUgT1MgYXMgd2VsbCBhcyBzdXBwb3J0IGZvcgotZGlmZiAtdXAg Y2hyb21pdW0tMTEyLjAuNTYxNS40OS9tZWRpYS9ncHUvQlVJTEQuZ24ud2F5bGFuZC12YWFwaSBj aHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS9CVUlMRC5nbgotLS0tIGNocm9taXVtLTEx Mi4wLjU2MTUuNDkvbWVkaWEvZ3B1L0JVSUxELmduLndheWxhbmQtdmFhcGkJMjAyMy0wMy0zMCAw MjozMzo1My4wMDAwMDAwMDAgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlh L2dwdS9CVUlMRC5nbgkyMDIzLTA0LTE0IDIxOjI5OjQxLjc3NjMyODA0NCArMDIwMAotQEAgLTIw LDcgKzIwLDcgQEAgYnVpbGRmbGFnX2hlYWRlcigiYnVpbGRmbGFncyIpIHsKLSAgICAgIlVTRV9W QUFQSV9JTUFHRV9DT0RFQ1M9JHVzZV92YWFwaV9pbWFnZV9jb2RlY3MiLAotICAgICAiVVNFX1Y0 TDJfQ09ERUM9JHVzZV92NGwyX2NvZGVjIiwKLSAgICAgIlVTRV9MSUJWNEwyPSR1c2VfdjRscGx1 Z2luIiwKLS0gICAgIlVTRV9WQUFQSV9YMTE9JHVzZV92YWFwaV94MTEiLAotKyAgICAiU1VQUE9S VF9WQUFQSV9PVkVSX1gxMT0kc3VwcG9ydF92YWFwaV9vdmVyX3gxMSIsCi0gICBdCi0gfQotIAot ZGlmZiAtdXAgY2hyb21pdW0tMTEyLjAuNTYxNS40OS9tZWRpYS9ncHUvdmFhcGkvQlVJTEQuZ24u d2F5bGFuZC12YWFwaSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFwaS9CVUlM RC5nbgotLS0tIGNocm9taXVtLTExMi4wLjU2MTUuNDkvbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmdu LndheWxhbmQtdmFhcGkJMjAyMy0wMy0zMCAwMjozMzo1My4wMDAwMDAwMDAgKzAyMDAKLSsrKyBj aHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFwaS9CVUlMRC5nbgkyMDIzLTA0LTE0 IDIxOjI5OjQxLjc3NjMyODA0NCArMDIwMAotQEAgLTE3LDcgKzE3LDcgQEAgYXNzZXJ0KHVzZV92 YWFwaSkKLSBnZW5lcmF0ZV9zdHVicygibGlidmFfc3R1YnMiKSB7Ci0gICBleHRyYV9oZWFkZXIg PSAidmFfc3R1Yl9oZWFkZXIuZnJhZ21lbnQiCi0gICBzaWdzID0gWyAidmEuc2lncyIgXQotLSAg aWYgKHVzZV92YWFwaV94MTEpIHsKLSsgIGlmIChzdXBwb3J0X3ZhYXBpX292ZXJfeDExKSB7Ci0g ICAgIHNpZ3MgKz0gWyAidmFfeDExLnNpZ3MiIF0KLSAgIH0KLSAgIGlmIChpc19jaHJvbWVvc19h c2gpIHsKLUBAIC0xMzksNyArMTM5LDcgQEAgc291cmNlX3NldCgidmFhcGkiKSB7Ci0gICAgIF0K LSAgIH0KLSAKLS0gIGlmICh1c2VfdmFhcGlfeDExKSB7Ci0rICBpZiAoc3VwcG9ydF92YWFwaV9v dmVyX3gxMSkgewotICAgICBkZXBzICs9IFsgIi8vdWkvZ2Z4L3giIF0KLSAgICAgc291cmNlcyAr PSBbCi0gICAgICAgInZhYXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcF9hbmdsZS5jYyIsCi1AQCAt MjEzLDcgKzIxMyw3IEBAIHNvdXJjZV9zZXQoImNvbW1vbiIpIHsKLSAgICAgZGVwcyArPSBbICIv L3VpL296b25lIiBdCi0gICB9Ci0gCi0tICBpZiAodXNlX3ZhYXBpX3gxMSkgewotKyAgaWYgKHN1 cHBvcnRfdmFhcGlfb3Zlcl94MTEpIHsKLSAgICAgZGVwcyArPSBbICIvL3VpL2dmeC94IiBdCi0g ICB9Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFwaS92 YWFwaV9waWN0dXJlX2ZhY3RvcnkuY2Mud2F5bGFuZC12YWFwaSBjaHJvbWl1bS0xMTIuMC41NjE1 LjQ5L21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3RvcnkuY2MKLS0tLSBjaHJvbWl1 bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3RvcnkuY2Mu d2F5bGFuZC12YWFwaQkyMDIzLTAzLTMwIDAyOjMzOjUzLjAwMDAwMDAwMCArMDIwMAotKysrIGNo cm9taXVtLTExMi4wLjU2MTUuNDkvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfZmFjdG9y eS5jYwkyMDIzLTA0LTE1IDA3OjE0OjA1LjU3Mzc5Njc5NCArMDIwMAotQEAgLTEzLDkgKzEzLDkg QEAKLSAjaWYgQlVJTERGTEFHKElTX09aT05FKQotICNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkv dmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4bWFwX296b25lLmgiCi0gI2VuZGlmICAvLyBCVUlMREZM QUcoSVNfT1pPTkUpCi0tI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotKyNpZiBCVUlMREZM QUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSAjaW5jbHVkZSAibWVkaWEvZ3B1L3ZhYXBpL3Zh YXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcF9hbmdsZS5oIgotLSNlbmRpZiAgLy8gQlVJTERGTEFH KFVTRV9WQUFQSV9YMTEpCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVS X1gxMSkKLSAjaWYgZGVmaW5lZChVU0VfRUdMKQotICNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkv dmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4bWFwX2VnbC5oIgotICNlbmRpZgotQEAgLTQxLDE5ICs0 MSwyOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8VmFhcGlQaWN0dXJlPiBDcmVhdGVWYWFwCi0gCi0gfSAg Ly8gbmFtZXNwYWNlCi0gCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQot K1ZhYXBpUGljdHVyZUZhY3Rvcnk6OlZhYXBpUGljdHVyZUZhY3RvcnkoCi0rICAgIGFic2w6Om9w dGlvbmFsPGJvb2w+IG1heV91c2VfdmFhcGlfb3Zlcl94MTEpCi0rICAgIDogbWF5X3VzZV92YWFw aV9vdmVyX3gxMV8obWF5X3VzZV92YWFwaV9vdmVyX3gxMSkgewotKyNlbHNlCi0gVmFhcGlQaWN0 dXJlRmFjdG9yeTo6VmFhcGlQaWN0dXJlRmFjdG9yeSgpIHsKLSsjZW5kaWYgIC8vIEJVSUxERkxB RyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotICAgdmFhcGlfaW1wbF9wYWlyc18uaW5zZXJ0KAot ICAgICAgIHN0ZDo6bWFrZV9wYWlyKGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEdMRVMyLAotICAg ICAgICAgICAgICAgICAgICAgIFZhYXBpUGljdHVyZUZhY3Rvcnk6OmtWYWFwaUltcGxlbWVudGF0 aW9uRHJtKSk7Ci0tI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotLSAgdmFhcGlfaW1wbF9w YWlyc18uaW5zZXJ0KAotLSAgICAgIHN0ZDo6bWFrZV9wYWlyKGdsOjprR0xJbXBsZW1lbnRhdGlv bkVHTEFOR0xFLAotLSAgICAgICAgICAgICAgICAgICAgIFZhYXBpUGljdHVyZUZhY3Rvcnk6OmtW YWFwaUltcGxlbWVudGF0aW9uQW5nbGUpKTsKLS0jZWxpZiBCVUlMREZMQUcoSVNfT1pPTkUpCi0r I2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotKyAgQ0hFQ0sobWF5X3VzZV92 YWFwaV9vdmVyX3gxMV8uaGFzX3ZhbHVlKCkpOwotKyAgaWYgKG1heV91c2VfdmFhcGlfb3Zlcl94 MTFfLnZhbHVlKCkpIHsKLSsgICAgdmFhcGlfaW1wbF9wYWlyc18uaW5zZXJ0KAotKyAgICAgICAg c3RkOjptYWtlX3BhaXIoZ2w6OmtHTEltcGxlbWVudGF0aW9uRUdMQU5HTEUsCi0rICAgICAgICAg ICAgICAgICAgICAgICBWYWFwaVBpY3R1cmVGYWN0b3J5OjprVmFhcGlJbXBsZW1lbnRhdGlvbkFu Z2xlKSk7Ci0rICB9Ci0rI2Vsc2UKLSAgIHZhYXBpX2ltcGxfcGFpcnNfLmluc2VydCgKLSAgICAg ICBzdGQ6Om1ha2VfcGFpcihnbDo6a0dMSW1wbGVtZW50YXRpb25FR0xBTkdMRSwKLSAgICAgICAg ICAgICAgICAgICAgICBWYWFwaVBpY3R1cmVGYWN0b3J5OjprVmFhcGlJbXBsZW1lbnRhdGlvbkRy bSkpOwotLSNlbmRpZgotKyNlbmRpZiAgLy8gQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9Y MTEpCi0gCi0gICBEZXRlcm1pbmVQaWN0dXJlQ3JlYXRpb25BbmREb3dubG9hZGluZ01lY2hhbmlz bSgpOwotIH0KLUBAIC05MywxOSArMTAyLDE5IEBAIFZhYXBpUGljdHVyZUZhY3Rvcnk6OkdldFZh YXBpSW1wbGVtZW50YXQKLSB9Ci0gCi0gdWludDMyX3QgVmFhcGlQaWN0dXJlRmFjdG9yeTo6R2V0 R0xUZXh0dXJlVGFyZ2V0KCkgewotLSNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLS0gIHJl dHVybiBHTF9URVhUVVJFXzJEOwotLSNlbHNlCi0rI2lmIEJVSUxERkxBRyhJU19DSFJPTUVPUykK LSAgIHJldHVybiBHTF9URVhUVVJFX0VYVEVSTkFMX09FUzsKLS0jZW5kaWYKLSsjZWxzZQotKyAg cmV0dXJuIEdMX1RFWFRVUkVfMkQ7Ci0rI2VuZGlmICAvLyBCVUlMREZMQUcoSVNfQ0hST01FT1Mp Ci0gfQotIAotIGdmeDo6QnVmZmVyRm9ybWF0IFZhYXBpUGljdHVyZUZhY3Rvcnk6OkdldEJ1ZmZl ckZvcm1hdCgpIHsKLS0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0tICByZXR1cm4gZ2Z4 OjpCdWZmZXJGb3JtYXQ6OlJHQlhfODg4ODsKLS0jZWxzZQotKyNpZiBCVUlMREZMQUcoSVNfQ0hS T01FT1MpCi0gICByZXR1cm4gZ2Z4OjpCdWZmZXJGb3JtYXQ6OllVVl80MjBfQklQTEFOQVI7Ci0t I2VuZGlmCi0rI2Vsc2UKLSsgIHJldHVybiBnZng6OkJ1ZmZlckZvcm1hdDo6UkdCWF84ODg4Owot KyNlbmRpZiAgLy8gQlVJTERGTEFHKElTX0NIUk9NRU9TKQotIH0KLSAKLSB2b2lkIFZhYXBpUGlj dHVyZUZhY3Rvcnk6OkRldGVybWluZVBpY3R1cmVDcmVhdGlvbkFuZERvd25sb2FkaW5nTWVjaGFu aXNtKCkgewotQEAgLTExMywxOSArMTIyLDIzIEBAIHZvaWQgVmFhcGlQaWN0dXJlRmFjdG9yeTo6 RGV0ZXJtaW5lUGljdHUKLSAjaWYgQlVJTERGTEFHKElTX09aT05FKQotICAgICAvLyBXZSBjYW4g YmUgY2FsbGVkIHdpdGhvdXQgR0wgaW5pdGlhbGl6ZWQsIHdoaWNoIGlzIHZhbGlkIGlmIHdlIHVz ZSBPem9uZS4KLSAgICAgY2FzZSBrVmFhcGlJbXBsZW1lbnRhdGlvbk5vbmU6Ci0rI2lmIEJVSUxE RkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotKyAgICAgIERDSEVDSyhtYXlfdXNlX3ZhYXBp X292ZXJfeDExXy52YWx1ZV9vcihmYWxzZSkpOwotKyNlbmRpZgotICAgICAgIGNyZWF0ZV9waWN0 dXJlX2NiXyA9IGJhc2U6OkJpbmRSZXBlYXRpbmcoCi0gICAgICAgICAgICZDcmVhdGVWYWFwaVBp Y3R1cmVOYXRpdmVJbXBsPFZhYXBpUGljdHVyZU5hdGl2ZVBpeG1hcE96b25lPik7Ci0gICAgICAg bmVlZHNfdnBwX2Zvcl9kb3dubG9hZGluZ18gPSB0cnVlOwotICAgICAgIGJyZWFrOwotICNlbmRp ZiAgLy8gQlVJTERGTEFHKElTX09aT05FKQotLSNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkK LSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0gICAgIGNhc2Uga1ZhYXBp SW1wbGVtZW50YXRpb25BbmdsZToKLSsgICAgICBEQ0hFQ0sobWF5X3VzZV92YWFwaV9vdmVyX3gx MV8udmFsdWVfb3IoZmFsc2UpKTsKLSAgICAgICBjcmVhdGVfcGljdHVyZV9jYl8gPSBiYXNlOjpC aW5kUmVwZWF0aW5nKAotICAgICAgICAgICAmQ3JlYXRlVmFhcGlQaWN0dXJlTmF0aXZlSW1wbDxW YWFwaVBpY3R1cmVOYXRpdmVQaXhtYXBBbmdsZT4pOwotICAgICAgIC8vIE5laXRoZXIgVmFhcGlU RlBQaWN0dXJlIG9yIFZhYXBpUGljdHVyZU5hdGl2ZVBpeG1hcEFuZ2xlIG5lZWRzIHRoZSBWUFAu Ci0gICAgICAgbmVlZHNfdnBwX2Zvcl9kb3dubG9hZGluZ18gPSBmYWxzZTsKLSAgICAgICBicmVh azsKLS0jZW5kaWYgIC8vIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotKyNlbmRpZiAgLy8gQlVJ TERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0gICAgIGNhc2Uga1ZhYXBpSW1wbGVtZW50 YXRpb25Ecm06Ci0gI2lmIEJVSUxERkxBRyhJU19PWk9ORSkKLSAgICAgICBjcmVhdGVfcGljdHVy ZV9jYl8gPSBiYXNlOjpCaW5kUmVwZWF0aW5nKAotZGlmZiAtdXAgY2hyb21pdW0tMTEyLjAuNTYx NS40OS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV9mYWN0b3J5Lmgud2F5bGFuZC12YWFw aSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2Zh Y3RvcnkuaAotLS0tIGNocm9taXVtLTExMi4wLjU2MTUuNDkvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBp X3BpY3R1cmVfZmFjdG9yeS5oLndheWxhbmQtdmFhcGkJMjAyMy0wMy0zMCAwMjozMzo1My4wMDAw MDAwMDAgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFwaS92 YWFwaV9waWN0dXJlX2ZhY3RvcnkuaAkyMDIzLTA0LTE0IDIxOjI5OjQxLjc3NzMyODA2MiArMDIw MAotQEAgLTM1LDcgKzM1LDExIEBAIGNsYXNzIE1FRElBX0dQVV9FWFBPUlQgVmFhcGlQaWN0dXJl RmFjdG8KLSAgICAga1ZhYXBpSW1wbGVtZW50YXRpb25BbmdsZSwKLSAgIH07Ci0gCi0rI2lmIEJV SUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotKyAgZXhwbGljaXQgVmFhcGlQaWN0dXJl RmFjdG9yeShhYnNsOjpvcHRpb25hbDxib29sPiBtYXlfdXNlX3ZhYXBpX292ZXJfeDExKTsKLSsj ZWxzZQotICAgVmFhcGlQaWN0dXJlRmFjdG9yeSgpOwotKyNlbmRpZiAgLy8gQlVJTERGTEFHKFNV UFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0gCi0gICBWYWFwaVBpY3R1cmVGYWN0b3J5KGNvbnN0IFZh YXBpUGljdHVyZUZhY3RvcnkmKSA9IGRlbGV0ZTsKLSAgIFZhYXBpUGljdHVyZUZhY3RvcnkmIG9w ZXJhdG9yPShjb25zdCBWYWFwaVBpY3R1cmVGYWN0b3J5JikgPSBkZWxldGU7Ci1AQCAtODQsNiAr ODgsMTEgQEAgY2xhc3MgTUVESUFfR1BVX0VYUE9SVCBWYWFwaVBpY3R1cmVGYWN0bwotIAotICAg Q3JlYXRlUGljdHVyZUNCIGNyZWF0ZV9waWN0dXJlX2NiXzsKLSAgIGJvb2wgbmVlZHNfdnBwX2Zv cl9kb3dubG9hZGluZ18gPSBmYWxzZTsKLSsKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElf T1ZFUl9YMTEpCi0rICAvLyBTZWUgY29tbWVudCBpbiBgVmFhcGlXcmFwcGVyOjpNYXlVc2VWYWFw aU92ZXJYMTEoKWAuCi0rICBhYnNsOjpvcHRpb25hbDxib29sPiBtYXlfdXNlX3ZhYXBpX292ZXJf eDExXzsKLSsjZW5kaWYgIC8vIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotIH07 Ci0gCi0gfSAgLy8gbmFtZXNwYWNlIG1lZGlhCi1kaWZmIC11cCBjaHJvbWl1bS0xMTIuMC41NjE1 LjQ5L21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX25hdGl2ZV9waXhtYXBfb3pvbmUuY2Mu d2F5bGFuZC12YWFwaSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFwaS92YWFw aV9waWN0dXJlX25hdGl2ZV9waXhtYXBfb3pvbmUuY2MKLS0tLSBjaHJvbWl1bS0xMTIuMC41NjE1 LjQ5L21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX25hdGl2ZV9waXhtYXBfb3pvbmUuY2Mu d2F5bGFuZC12YWFwaQkyMDIzLTAzLTMwIDAyOjMzOjUzLjAwMDAwMDAwMCArMDIwMAotKysrIGNo cm9taXVtLTExMi4wLjU2MTUuNDkvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfbmF0aXZl X3BpeG1hcF9vem9uZS5jYwkyMDIzLTA0LTE0IDIxOjI5OjQxLjc3NzMyODA2MiArMDIwMAotQEAg LTExMyw3ICsxMTMsNyBAQCBWYWFwaVN0YXR1cyBWYWFwaVBpY3R1cmVOYXRpdmVQaXhtYXBPem9u Ci0gICB1aTo6T3pvbmVQbGF0Zm9ybSogcGxhdGZvcm0gPSB1aTo6T3pvbmVQbGF0Zm9ybTo6R2V0 SW5zdGFuY2UoKTsKLSAgIHVpOjpTdXJmYWNlRmFjdG9yeU96b25lKiBmYWN0b3J5ID0gcGxhdGZv cm0tPkdldFN1cmZhY2VGYWN0b3J5T3pvbmUoKTsKLSAgIGdmeDo6QnVmZmVyVXNhZ2UgYnVmZmVy X3VzYWdlID0gZ2Z4OjpCdWZmZXJVc2FnZTo6U0NBTk9VVF9WREFfV1JJVEU7Ci0tI2lmIEJVSUxE RkxBRyhVU0VfVkFBUElfWDExKQotKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gx MSkKLSAgIC8vIFRoZSAnVmFhcGlWaWRlb0RlY29kZUFjY2VsZXJhdG9yJyByZXF1aXJlcyB0aGUg VlBQIHRvIGRvd25sb2FkIHRoZSBkZWNvZGVkCi0gICAvLyBmcmFtZSBmcm9tIHRoZSBpbnRlcm5h bCBzdXJmYWNlIHRvIHRoZSBhbGxvY2F0ZWQgbmF0aXZlIHBpeG1hcC4KLSAgIC8vICdTQ0FOT1VU X1ZEQV9XUklURScgaXMgdXNlZCBmb3IgJ1lVVl80MjBfQklQTEFOQVInIG9uIENocm9tZU9TOyBG b3IgTGludXgsCi1kaWZmIC11cCBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFw aS92YWFwaV92aWRlb19kZWNvZGVfYWNjZWxlcmF0b3IuY2Mud2F5bGFuZC12YWFwaSBjaHJvbWl1 bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFwaS92YWFwaV92aWRlb19kZWNvZGVfYWNjZWxl cmF0b3IuY2MKLS0tLSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFwaS92YWFw aV92aWRlb19kZWNvZGVfYWNjZWxlcmF0b3IuY2Mud2F5bGFuZC12YWFwaQkyMDIzLTA0LTE0IDIx OjI5OjQxLjc3NTMyODAyNCArMDIwMAotKysrIGNocm9taXVtLTExMi4wLjU2MTUuNDkvbWVkaWEv Z3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRvci5jYwkyMDIzLTA0LTE0IDIx OjI5OjQxLjc3NzMyODA2MiArMDIwMAotQEAgLTE4NSw3ICsxODUsMTIgQEAgYm9vbCBWYWFwaVZp ZGVvRGVjb2RlQWNjZWxlcmF0b3I6OkluaXRpYQotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIENsaWVudCogY2xpZW50KSB7Ci0gICBEQ0hFQ0sodGFza19ydW5u ZXJfLT5CZWxvbmdzVG9DdXJyZW50VGhyZWFkKCkpOwotIAotKyNpZiBCVUlMREZMQUcoU1VQUE9S VF9WQUFQSV9PVkVSX1gxMSkKLSsgIHZhYXBpX3BpY3R1cmVfZmFjdG9yeV8gPQotKyAgICAgIHN0 ZDo6bWFrZV91bmlxdWU8VmFhcGlQaWN0dXJlRmFjdG9yeT4oVmFhcGlXcmFwcGVyOjpNYXlVc2VW YWFwaU92ZXJYMTEoKSk7Ci0rI2Vsc2UKLSAgIHZhYXBpX3BpY3R1cmVfZmFjdG9yeV8gPSBzdGQ6 Om1ha2VfdW5pcXVlPFZhYXBpUGljdHVyZUZhY3Rvcnk+KCk7Ci0rI2VuZGlmICAvLyBCVUlMREZM QUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSAKLSAgIGlmIChjb25maWcuaXNfZW5jcnlwdGVk KCkpIHsKLSAgICAgTk9UUkVBQ0hFRCgpIDw8ICJFbmNyeXB0ZWQgc3RyZWFtcyBhcmUgbm90IHN1 cHBvcnRlZCBmb3IgdGhpcyBWREEiOwotQEAgLTEyMTEsNyArMTIxNiw3IEBAIFZhYXBpVmlkZW9E ZWNvZGVBY2NlbGVyYXRvcjo6R2V0U3VwcG9ydGUKLSAKLSBWYWFwaVZpZGVvRGVjb2RlQWNjZWxl cmF0b3I6OkJ1ZmZlckFsbG9jYXRpb25Nb2RlCi0gVmFhcGlWaWRlb0RlY29kZUFjY2VsZXJhdG9y OjpEZWNpZGVCdWZmZXJBbGxvY2F0aW9uTW9kZSgpIHsKLS0jaWYgQlVJTERGTEFHKFVTRV9WQUFQ SV9YMTEpCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotICAgLy8gVGhl IElNUE9SVCBtb2RlIGlzIHVzZWQgZm9yIEFuZHJvaWQgb24gQ2hyb21lIE9TLCBzbyB0aGlzIGRv ZXNuJ3QgYXBwbHkKLSAgIC8vIGhlcmUuCi0gICBEQ0hFQ0tfTkUob3V0cHV0X21vZGVfLCBWaWRl b0RlY29kZUFjY2VsZXJhdG9yOjpDb25maWc6Ok91dHB1dE1vZGU6OklNUE9SVCk7Ci1kaWZmIC11 cCBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFwaS92YWFwaV92aWRlb19kZWNv ZGVfYWNjZWxlcmF0b3JfdW5pdHRlc3QuY2Mud2F5bGFuZC12YWFwaSBjaHJvbWl1bS0xMTIuMC41 NjE1LjQ5L21lZGlhL2dwdS92YWFwaS92YWFwaV92aWRlb19kZWNvZGVfYWNjZWxlcmF0b3JfdW5p dHRlc3QuY2MKLS0tLSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFwaS92YWFw aV92aWRlb19kZWNvZGVfYWNjZWxlcmF0b3JfdW5pdHRlc3QuY2Mud2F5bGFuZC12YWFwaQkyMDIz LTAzLTMwIDAyOjMzOjUzLjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTExMi4wLjU2MTUu NDkvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRvcl91bml0dGVz dC5jYwkyMDIzLTA0LTE1IDA3OjM4OjE5LjA1ODk1NzExMiArMDIwMAotQEAgLTQxLDYgKzQxLDEx IEBAIHN0cnVjdCBUZXN0UGFyYW1zIHsKLSAgIGJvb2wgZGVjb2RlX3VzaW5nX2NsaWVudF9waWN0 dXJlX2J1ZmZlcnM7Ci0gfTsKLSAKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9Y MTEpCi0rLy8gVE9ETzogQWRkIGl0IGluIFRlc3RQYXJhbXMgdG8gY292ZXIgT3pvbmUvV2F5bGFu ZC4KLStib29sIGtNYXlVc2VWYWFwaU92ZXJYMTEgPSB0cnVlOwotKyNlbmRpZiAgLy8gQlVJTERG TEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0rCi0gY29uc3RleHByIGludDMyX3Qga0JpdHN0 cmVhbUlkID0gMTIzOwotIGNvbnN0ZXhwciBzaXplX3Qga0lucHV0U2l6ZSA9IDI1NjsKLSAKLUBA IC0xMzQsNyArMTM5LDEzIEBAIGNsYXNzIE1vY2tWYWFwaVBpY3R1cmUgOiBwdWJsaWMgVmFhcGlQ aWMKLSAKLSBjbGFzcyBNb2NrVmFhcGlQaWN0dXJlRmFjdG9yeSA6IHB1YmxpYyBWYWFwaVBpY3R1 cmVGYWN0b3J5IHsKLSAgcHVibGljOgotKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVS X1gxMSkKLSsgIGV4cGxpY2l0IE1vY2tWYWFwaVBpY3R1cmVGYWN0b3J5KGFic2w6Om9wdGlvbmFs PGJvb2w+IG1heV91c2VfdmFhcGlfb3Zlcl94MTEpCi0rICAgICAgOiBWYWFwaVBpY3R1cmVGYWN0 b3J5KG1heV91c2VfdmFhcGlfb3Zlcl94MTEpIHt9Ci0rI2Vsc2UKLSAgIE1vY2tWYWFwaVBpY3R1 cmVGYWN0b3J5KCkgPSBkZWZhdWx0OwotKyNlbmRpZiAgLy8gQlVJTERGTEFHKFNVUFBPUlRfVkFB UElfT1ZFUl9YMTEpCi0rCi0gICB+TW9ja1ZhYXBpUGljdHVyZUZhY3RvcnkoKSBvdmVycmlkZSA9 IGRlZmF1bHQ7Ci0gCi0gICBNT0NLX01FVEhPRDMoTW9ja0NyZWF0ZVZhYXBpUGljdHVyZSwKLUBA IC0xNjcsNyArMTc4LDEyIEBAIGNsYXNzIFZhYXBpVmlkZW9EZWNvZGVBY2NlbGVyYXRvclRlc3Qg OgotICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2NvcGVkX3JlZnB0cjxnbDo6R0xJbWFnZT4m IGltYWdlKSB7IHJldHVybiB0cnVlOyB9KSksCi0gICAgICAgICBkZWNvZGVyX3RocmVhZF8oIlZh YXBpVmlkZW9EZWNvZGVBY2NlbGVyYXRvclRlc3RUaHJlYWQiKSwKLSAgICAgICAgIG1vY2tfZGVj b2Rlcl8obmV3IDo6dGVzdGluZzo6U3RyaWN0TW9jazxNb2NrQWNjZWxlcmF0ZWRWaWRlb0RlY29k ZXI+KSwKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0rICAgICAgICBt b2NrX3ZhYXBpX3BpY3R1cmVfZmFjdG9yeV8oCi0rICAgICAgICAgICAgbmV3IE1vY2tWYWFwaVBp Y3R1cmVGYWN0b3J5KGtNYXlVc2VWYWFwaU92ZXJYMTEpKSwKLSsjZWxzZQotICAgICAgICAgbW9j a192YWFwaV9waWN0dXJlX2ZhY3RvcnlfKG5ldyBNb2NrVmFhcGlQaWN0dXJlRmFjdG9yeSgpKSwK LSsjZW5kaWYgIC8vIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotICAgICAgICAg bW9ja192YWFwaV93cmFwcGVyXyhuZXcgTW9ja1ZhYXBpV3JhcHBlcihWYWFwaVdyYXBwZXI6OmtE ZWNvZGUpKSwKLSAgICAgICAgIG1vY2tfdnBwX3ZhYXBpX3dyYXBwZXJfKG5ldyBNb2NrVmFhcGlX cmFwcGVyKFZhYXBpV3JhcHBlcjo6a0RlY29kZSkpLAotICAgICAgICAgd2Vha19wdHJfZmFjdG9y eV8odGhpcykgewotQEAgLTQyMiwxMSArNDM4LDEzIEBAIFRFU1RfUChWYWFwaVZpZGVvRGVjb2Rl QWNjZWxlcmF0b3JUZXN0LAotICAgICAgICAgICAgIG1vY2tfdmFhcGlfcGljdHVyZV9mYWN0b3J5 Xy0+R2V0VmFhcGlJbXBsZW1lbnRhdGlvbigKLSAgICAgICAgICAgICAgICAgZ2w6OmtHTEltcGxl bWVudGF0aW9uRUdMR0xFUzIpKTsKLSAKLS0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0t ICBFWFBFQ1RfRVEoVmFhcGlQaWN0dXJlRmFjdG9yeTo6a1ZhYXBpSW1wbGVtZW50YXRpb25Bbmds ZSwKLS0gICAgICAgICAgICBtb2NrX3ZhYXBpX3BpY3R1cmVfZmFjdG9yeV8tPkdldFZhYXBpSW1w bGVtZW50YXRpb24oCi0tICAgICAgICAgICAgICAgIGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEFO R0xFKSk7Ci0tI2VsaWYgQlVJTERGTEFHKElTX09aT05FKQotKyNpZiBCVUlMREZMQUcoU1VQUE9S VF9WQUFQSV9PVkVSX1gxMSkKLSsgIGlmIChrTWF5VXNlVmFhcGlPdmVyWDExKSB7Ci0rICAgIEVY UEVDVF9FUShWYWFwaVBpY3R1cmVGYWN0b3J5OjprVmFhcGlJbXBsZW1lbnRhdGlvbkFuZ2xlLAot KyAgICAgICAgICAgICAgbW9ja192YWFwaV9waWN0dXJlX2ZhY3RvcnlfLT5HZXRWYWFwaUltcGxl bWVudGF0aW9uKAotKyAgICAgICAgICAgICAgICAgIGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEFO R0xFKSk7Ci0rICB9Ci0rI2Vsc2UKLSAgIEVYUEVDVF9FUShWYWFwaVBpY3R1cmVGYWN0b3J5Ojpr VmFhcGlJbXBsZW1lbnRhdGlvbkRybSwKLSAgICAgICAgICAgICBtb2NrX3ZhYXBpX3BpY3R1cmVf ZmFjdG9yeV8tPkdldFZhYXBpSW1wbGVtZW50YXRpb24oCi0gICAgICAgICAgICAgICAgIGdsOjpr R0xJbXBsZW1lbnRhdGlvbkVHTEFOR0xFKSk7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTIuMC41NjE1 LjQ5L21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmNjLndheWxhbmQtdmFhcGkgY2hyb21p dW0tMTEyLjAuNTYxNS40OS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5jYwotLS0tIGNo cm9taXVtLTExMi4wLjU2MTUuNDkvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuY2Mud2F5 bGFuZC12YWFwaQkyMDIzLTAzLTMwIDAyOjMzOjUzLjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9t aXVtLTExMi4wLjU2MTUuNDkvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuY2MJMjAyMy0w NC0xNCAyMToyOTo0MS43NzczMjgwNjIgKzAyMDAKLUBAIC02Miw3ICs2Miw3IEBACi0gI2luY2x1 ZGUgInVpL2dsL2dsX2JpbmRpbmdzLmgiCi0gI2luY2x1ZGUgInVpL2dsL2dsX2ltcGxlbWVudGF0 aW9uLmgiCi0gCi0tI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotKyNpZiBCVUlMREZMQUco U1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSB0eXBlZGVmIFhJRCBEcmF3YWJsZTsKLSAKLSBleHRl cm4gIkMiIHsKLUBAIC03MCw3ICs3MCw3IEBAIGV4dGVybiAiQyIgewotIH0KLSAKLSAjaW5jbHVk ZSAidWkvZ2Z4L3gvY29ubmVjdGlvbi5oIiAgLy8gbm9nbmNoZWNrCi0tI2VuZGlmICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8vIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotKyNlbmRpZiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVS X1gxMSkKLSAKLSAjaWYgQlVJTERGTEFHKElTX09aT05FKQotICNpbmNsdWRlICJ1aS9vem9uZS9w dWJsaWMvb3pvbmVfcGxhdGZvcm0uaCIKLUBAIC04NCwxNCArODQsMTQgQEAgdXNpbmcgbWVkaWFf Z3B1X3ZhYXBpOjprTW9kdWxlVmFfcHJvdDsKLSAKLSB1c2luZyBtZWRpYV9ncHVfdmFhcGk6OmtN b2R1bGVWYTsKLSB1c2luZyBtZWRpYV9ncHVfdmFhcGk6OmtNb2R1bGVWYV9kcm07Ci0tI2lmIEJV SUxERkxBRyhVU0VfVkFBUElfWDExKQotKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVS X1gxMSkKLSB1c2luZyBtZWRpYV9ncHVfdmFhcGk6OmtNb2R1bGVWYV94MTE7Ci0tI2VuZGlmICAv LyBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSsjZW5kaWYgIC8vIEJVSUxERkxBRyhTVVBQT1JU X1ZBQVBJX09WRVJfWDExKQotIHVzaW5nIG1lZGlhX2dwdV92YWFwaTo6SW5pdGlhbGl6ZVN0dWJz OwotIHVzaW5nIG1lZGlhX2dwdV92YWFwaTo6SXNWYUluaXRpYWxpemVkOwotLSNpZiBCVUlMREZM QUcoVVNFX1ZBQVBJX1gxMSkKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEp Ci0gdXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjpJc1ZhX3gxMUluaXRpYWxpemVkOwotLSNlbmRpZiAg Ly8gQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9S VF9WQUFQSV9PVkVSX1gxMSkKLSB1c2luZyBtZWRpYV9ncHVfdmFhcGk6OklzVmFfZHJtSW5pdGlh bGl6ZWQ7Ci0gdXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjpTdHViUGF0aE1hcDsKLSAKLUBAIC02ODAs NiArNjgwLDEyIEBAIGNsYXNzIFZBRGlzcGxheVN0YXRlIHsKLSAKLSAgIHZvaWQgU2V0RHJtRmQo YmFzZTo6UGxhdGZvcm1GaWxlIGZkKSB7IGRybV9mZF8ucmVzZXQoSEFORExFX0VJTlRSKGR1cChm ZCkpKTsgfQotIAotKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSsgIGFi c2w6Om9wdGlvbmFsPGJvb2w+IE1heVVzZVZhYXBpT3ZlclgxMSgpIGNvbnN0IHsKLSsgICAgcmV0 dXJuIG1heV91c2VfdmFhcGlfb3Zlcl94MTFfOwotKyAgfQotKyNlbmRpZgotKwotICBwcml2YXRl OgotICAgZnJpZW5kIGNsYXNzIGJhc2U6Ok5vRGVzdHJ1Y3RvcjxWQURpc3BsYXlTdGF0ZT47Ci0g Ci1AQCAtNzAyLDYgKzcwOCwxMyBAQCBjbGFzcyBWQURpc3BsYXlTdGF0ZSB7Ci0gICAvLyBEcm0g ZmQgdXNlZCB0byBvYnRhaW4gYWNjZXNzIHRvIHRoZSBkcml2ZXIgaW50ZXJmYWNlIGJ5IFZBLgot ICAgYmFzZTo6U2NvcGVkRkQgZHJtX2ZkXzsKLSAKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFB UElfT1ZFUl9YMTEpCi0rICAvLyBXaGV0aGVyIHdlJ2xsIGJlIHBvc3NpYmx5IHVzaW5nIFZBLUFQ SSBvdmVyIE96b25lL1gxMS4gVGhpcyBzaG91bGQgb25seSBiZQotKyAgLy8gc2V0IChpZiBhdCBh bGwpIGR1cmluZyB0aGUgcHJlLXNhbmRib3ggaW5pdGlhbGl6YXRpb24uIElmIGFic2w6Om51bGxv cHQsCi0rICAvLyBhbGwgY2FsbHMgdG8gSW5pdGlhbGl6ZSgpIHdpbGwgcmV0dXJuIGZhbHNlIGlt bWVkaWF0ZWx5LgotKyAgYWJzbDo6b3B0aW9uYWw8Ym9vbD4gbWF5X3VzZV92YWFwaV9vdmVyX3gx MV87Ci0rI2VuZGlmCi0rCi0gICAvLyBUaGUgVkFEaXNwbGF5IGhhbmRsZS4gVmFsaWQgYmV0d2Vl biBJbml0aWFsaXplKCkgYW5kIERlaW5pdGlhbGl6ZSgpLgotICAgVkFEaXNwbGF5IHZhX2Rpc3Bs YXlfOwotIAotQEAgLTcyMyw2ICs3MzYsMTUgQEAgVkFEaXNwbGF5U3RhdGUqIFZBRGlzcGxheVN0 YXRlOjpHZXQoKSB7Ci0gCi0gLy8gc3RhdGljCi0gdm9pZCBWQURpc3BsYXlTdGF0ZTo6UHJlU2Fu ZGJveEluaXRpYWxpemF0aW9uKCkgewotKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVS X1gxMSkKLSsgIGlmICh1aTo6T3pvbmVQbGF0Zm9ybTo6SXNJbml0aWFsaXplZCgpKSB7Ci0rICAg IFZBRGlzcGxheVN0YXRlOjpHZXQoKS0+bWF5X3VzZV92YWFwaV9vdmVyX3gxMV8gPQotKyAgICAg ICAgdWk6Ok96b25lUGxhdGZvcm06OkdldEluc3RhbmNlKCkKLSsgICAgICAgICAgICAtPkdldFBs YXRmb3JtUHJvcGVydGllcygpCi0rICAgICAgICAgICAgLnN1cHBvcnRzX3ZhYXBpX3gxMTsKLSsg IH0KLSsjZW5kaWYKLSsKLSAgIGNvbnN0ZXhwciBjaGFyIGtSZW5kZXJOb2RlRmlsZVBhdHRlcm5b XSA9ICIvZGV2L2RyaS9yZW5kZXJEJWQiOwotICAgLy8gVGhpcyBsb29wIGVuZHMgb24gZWl0aGVy IHRoZSBmaXJzdCBjYXJkIHRoYXQgZG9lcyBub3QgZXhpc3Qgb3IgdGhlIGZpcnN0Ci0gICAvLyBy ZW5kZXIgbm9kZSB0aGF0IGlzIG5vdCB2Z2VtLgotQEAgLTc1NSwyMCArNzc3LDE4IEBAIFZBRGlz cGxheVN0YXRlOjpWQURpc3BsYXlTdGF0ZSgpCi0gYm9vbCBWQURpc3BsYXlTdGF0ZTo6SW5pdGlh bGl6ZSgpIHsKLSAgIGJhc2U6OkF1dG9Mb2NrIGF1dG9fbG9jayh2YV9sb2NrXyk7Ci0gCi0tI2lm IEJVSUxERkxBRyhJU19PWk9ORSkgJiYgQlVJTERGTEFHKElTX0xJTlVYKQotLSAgLy8gVE9ETyhj cmJ1Zy5jb20vMTExNjcwMSk6IGFkZCB2YWFwaSBzdXBwb3J0IGZvciBvdGhlciBPem9uZSBwbGF0 Zm9ybXMgb24KLS0gIC8vIExpbnV4LiBTZWUgY29tbWVudCBpbiBPem9uZVBsYXRmb3JtOjpQbGF0 Zm9ybVByb3BlcnRpZXM6OnN1cHBvcnRzX3ZhYXBpCi0tICAvLyBmb3IgbW9yZSBkZXRhaWxzLiBU aGlzIHdpbGwgYWxzbyByZXF1aXJlIHJldmlzaXRpbmcgZXZlcnl0aGluZyB0aGF0J3MKLS0gIC8v IGd1YXJkZWQgYnkgVVNFX1ZBQVBJX1gxMS4gRm9yIGV4YW1wbGUsIGlmIFVTRV9WQUFQSV9YMTEg aXMgdHJ1ZSwgYnV0IHRoZQotLSAgLy8gdXNlciBjaG9vc2VzIHRoZSBXYXlsYW5kIGJhY2tlbmQg Zm9yIE96b25lIGF0IHJ1bnRpbWUsIHRoZW4gbWFueSB0aGluZ3MgKGlmCi0tICAvLyBub3QgYWxs KSB0aGF0IHdlIGRvIGZvciBYMTEgd29uJ3QgYXBwbHkuCi0tICBpZiAoIXVpOjpPem9uZVBsYXRm b3JtOjpHZXRJbnN0YW5jZSgpLT5HZXRQbGF0Zm9ybVByb3BlcnRpZXMoKS5zdXBwb3J0c192YWFw aSkKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0rICBpZiAoIW1heV91 c2VfdmFhcGlfb3Zlcl94MTFfLmhhc192YWx1ZSgpKQotICAgICByZXR1cm4gZmFsc2U7Ci0gI2Vu ZGlmCi0gCi0gICBib29sIGxpYnJhcmllc19pbml0aWFsaXplZCA9IElzVmFJbml0aWFsaXplZCgp ICYmIElzVmFfZHJtSW5pdGlhbGl6ZWQoKTsKLS0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEp Ci0tICBsaWJyYXJpZXNfaW5pdGlhbGl6ZWQgPSBsaWJyYXJpZXNfaW5pdGlhbGl6ZWQgJiYgSXNW YV94MTFJbml0aWFsaXplZCgpOwotKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gx MSkKLSsgIC8vIEluaXRpYWxpemUgVkEtQVBJIFgxMSBkaXNwbGF5IGJhY2tlbmQgZm9yIExpbnV4 IE96b25lL1gxMS4KLSsgIC8vIFNlZSBjb21tZW50IGluIE96b25lUGxhdGZvcm06OlBsYXRmb3Jt UHJvcGVydGllczo6c3VwcG9ydHNfdmFhcGlfeDExIGZvcgotKyAgLy8gbW9yZSBkZXRhaWxzLgot KyAgaWYgKG1heV91c2VfdmFhcGlfb3Zlcl94MTFfLnZhbHVlKCkpCi0rICAgIGxpYnJhcmllc19p bml0aWFsaXplZCA9IGxpYnJhcmllc19pbml0aWFsaXplZCAmJiBJc1ZhX3gxMUluaXRpYWxpemVk KCk7Ci0gI2VuZGlmCi0gICBpZiAoIWxpYnJhcmllc19pbml0aWFsaXplZCkKLSAgICAgcmV0dXJu IGZhbHNlOwotQEAgLTc4Myw3ICs4MDMsNyBAQCBib29sIFZBRGlzcGxheVN0YXRlOjpJbml0aWFs aXplKCkgewotICAgcmV0dXJuIHN1Y2Nlc3M7Ci0gfQotIAotLSNpZiBCVUlMREZMQUcoVVNFX1ZB QVBJX1gxMSkKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0gCi0gYWJz bDo6b3B0aW9uYWw8VkFEaXNwbGF5PiBHZXRWQURpc3BsYXlTdGF0ZVgxMShjb25zdCBiYXNlOjpT Y29wZWRGRCYgZHJtX2ZkKSB7Ci0gICBzd2l0Y2ggKGdsOjpHZXRHTEltcGxlbWVudGF0aW9uKCkp IHsKLUBAIC04MDksMTMgKzgyOSwxOSBAQCBhYnNsOjpvcHRpb25hbDxWQURpc3BsYXk+IEdldFZB RGlzcGxheVN0Ci0gICB9Ci0gfQotIAotLSNlbHNlCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQ UE9SVF9WQUFQSV9PVkVSX1gxMSkKLSAKLSBhYnNsOjpvcHRpb25hbDxWQURpc3BsYXk+IEdldFZB RGlzcGxheVN0YXRlKGNvbnN0IGJhc2U6OlNjb3BlZEZEJiBkcm1fZmQpIHsKLSAgIHN3aXRjaCAo Z2w6OkdldEdMSW1wbGVtZW50YXRpb24oKSkgewotICAgICBjYXNlIGdsOjprR0xJbXBsZW1lbnRh dGlvbkVHTEdMRVMyOgotKyNpZiBCVUlMREZMQUcoSVNfQ0hST01FT1MpCi0rICAgIC8vIEdldFZB RGlzcGxheVN0YXRlKCkgc2hvdWxkIG5vdCBnZXQgY2FsbGVkIG9uIExpbnV4IHdpdGggT3pvbmUv WDExCi0rICAgIC8vIChHZXRWQURpc3BsYXlTdGF0ZVgxMSgpIHNob3VsZCBnZXQgY2FsbGVkIGlu c3RlYWQpLCBhbmQgd2UgaGF2ZW4ndCB0cmllZAotKyAgICAvLyBWQS1BUEkgZGVjb2Rpbmcgb24g TGludXggd2l0aCBPem9uZS9XYXlsYW5kIGFuZCBhbnl0aGluZyBvdGhlciB0aGFuCi0rICAgIC8v IG5hdGl2ZSBFR0wvR0xFUzIuCi0gICAgIGNhc2UgZ2w6OmtHTEltcGxlbWVudGF0aW9uRUdMQU5H TEU6Ci0gICAgIGNhc2UgZ2w6OmtHTEltcGxlbWVudGF0aW9uTm9uZToKLSsjZW5kaWYKLSAgICAg ICByZXR1cm4gdmFHZXREaXNwbGF5RFJNKGRybV9mZC5nZXQoKSk7Ci0gICAgIGRlZmF1bHQ6Ci0g ICAgICAgTE9HKFdBUk5JTkcpIDw8ICJWQUFQSSB2aWRlbyBhY2NlbGVyYXRpb24gbm90IGF2YWls YWJsZSBmb3IgIgotQEAgLTgyNSwxOCArODUxLDIzIEBAIGFic2w6Om9wdGlvbmFsPFZBRGlzcGxh eT4gR2V0VkFEaXNwbGF5U3QKLSAgIH0KLSB9Ci0gCi0tI2VuZGlmICAvLyBCVUlMREZMQUcoVVNF X1ZBQVBJX1gxMSkKLS0KLSBib29sIFZBRGlzcGxheVN0YXRlOjpJbml0aWFsaXplVmFEaXNwbGF5 X0xvY2tlZCgpIHsKLS0gIGFic2w6Om9wdGlvbmFsPFZBRGlzcGxheT4gZGlzcGxheSA9Ci0tI2lm IEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotLSAgICAgIEdldFZBRGlzcGxheVN0YXRlWDExKGRy bV9mZF8pOwotLSNlbHNlCi0tICAgICAgR2V0VkFEaXNwbGF5U3RhdGUoZHJtX2ZkXyk7Ci0tI2Vu ZGlmCi0rICBhYnNsOjpvcHRpb25hbDxWQURpc3BsYXk+IGRpc3BsYXk7Ci0gCi0tICBpZiAoIWRp c3BsYXkpCi0tICAgIHJldHVybiBmYWxzZTsKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElf T1ZFUl9YMTEpCi0rICBEQ0hFQ0sobWF5X3VzZV92YWFwaV9vdmVyX3gxMV8uaGFzX3ZhbHVlKCkp OwotKyAgaWYgKG1heV91c2VfdmFhcGlfb3Zlcl94MTFfLnZhbHVlKCkpIHsKLSsgICAgZGlzcGxh eSA9IEdldFZBRGlzcGxheVN0YXRlWDExKGRybV9mZF8pOwotKyAgICBpZiAoIWRpc3BsYXkpCi0r ICAgICAgcmV0dXJuIGZhbHNlOwotKyAgfQotKyNlbmRpZiAgLy8gQlVJTERGTEFHKFNVUFBPUlRf VkFBUElfT1ZFUl9YMTEpCi0rCi0rICBpZiAoIWRpc3BsYXkpIHsKLSsgICAgZGlzcGxheSA9IEdl dFZBRGlzcGxheVN0YXRlKGRybV9mZF8pOwotKyAgICBpZiAoIWRpc3BsYXkpCi0rICAgICAgcmV0 dXJuIGZhbHNlOwotKyAgfQotIAotICAgdmFfZGlzcGxheV8gPSAqZGlzcGxheTsKLSAgIGlmICgh dmFEaXNwbGF5SXNWYWxpZCh2YV9kaXNwbGF5XykpIHsKLUBAIC0xNjcxLDYgKzE3MDIsMTMgQEAg c2NvcGVkX3JlZnB0cjxWYWFwaVdyYXBwZXI+IFZhYXBpV3JhcHBlcgotICAgICAgICAgICAgICAg ICBlbmZvcmNlX3NlcXVlbmNlX2FmZmluaXR5KTsKLSB9Ci0gCi0rI2lmIEJVSUxERkxBRyhTVVBQ T1JUX1ZBQVBJX09WRVJfWDExKQotKy8vIHN0YXRpYwotK2Fic2w6Om9wdGlvbmFsPGJvb2w+IFZh YXBpV3JhcHBlcjo6TWF5VXNlVmFhcGlPdmVyWDExKCkgewotKyAgcmV0dXJuIFZBRGlzcGxheVN0 YXRlOjpHZXQoKS0+TWF5VXNlVmFhcGlPdmVyWDExKCk7Ci0rfQotKyNlbmRpZgotKwotIC8vIHN0 YXRpYwotIHN0ZDo6dmVjdG9yPFNWQ1NjYWxhYmlsaXR5TW9kZT4gVmFhcGlXcmFwcGVyOjpHZXRT dXBwb3J0ZWRTY2FsYWJpbGl0eU1vZGVzKAotICAgICBWaWRlb0NvZGVjUHJvZmlsZSBtZWRpYV9w cm9maWxlLAotQEAgLTI2ODQsMTIgKzI3MjIsMTMgQEAgYm9vbCBWYWFwaVdyYXBwZXI6Ok1hcEFu ZENvcHlBbmRFeGVjdXRlKAotICAgcmV0dXJuIEV4ZWN1dGVfTG9ja2VkKHZhX3N1cmZhY2VfaWQs IHZhX2J1ZmZlcl9pZHMpOwotIH0KLSAKLS0jaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0r I2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQotIGJvb2wgVmFhcGlXcmFwcGVy OjpQdXRTdXJmYWNlSW50b1BpeG1hcChWQVN1cmZhY2VJRCB2YV9zdXJmYWNlX2lkLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MTE6OlBpeG1hcCB4X3BpeG1hcCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpTaXplIGRlc3Rf c2l6ZSkgewotICAgQ0hFQ0soIWVuZm9yY2Vfc2VxdWVuY2VfYWZmaW5pdHlfIHx8Ci0gICAgICAg ICBzZXF1ZW5jZV9jaGVja2VyXy5DYWxsZWRPblZhbGlkU2VxdWVuY2UoKSk7Ci0rICBDSEVDSyhN YXlVc2VWYWFwaU92ZXJYMTEoKS52YWx1ZV9vcihmYWxzZSkpOwotICAgYmFzZTo6QXV0b0xvY2tN YXliZSBhdXRvX2xvY2sodmFfbG9ja18uZ2V0KCkpOwotIAotICAgVkFTdGF0dXMgdmFfcmVzID0g dmFTeW5jU3VyZmFjZSh2YV9kaXNwbGF5XywgdmFfc3VyZmFjZV9pZCk7Ci1AQCAtMjcwMyw3ICsy NzQyLDcgQEAgYm9vbCBWYWFwaVdyYXBwZXI6OlB1dFN1cmZhY2VJbnRvUGl4bWFwKAotICAgVkFf U1VDQ0VTU19PUl9SRVRVUk4odmFfcmVzLCBWYWFwaUZ1bmN0aW9uczo6a1ZBUHV0U3VyZmFjZSwg ZmFsc2UpOwotICAgcmV0dXJuIHRydWU7Ci0gfQotLSNlbmRpZiAgLy8gQlVJTERGTEFHKFVTRV9W QUFQSV9YMTEpCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkK LSAKLSBzdGQ6OnVuaXF1ZV9wdHI8U2NvcGVkVkFJbWFnZT4gVmFhcGlXcmFwcGVyOjpDcmVhdGVW YUltYWdlKAotICAgICBWQVN1cmZhY2VJRCB2YV9zdXJmYWNlX2lkLAotQEAgLTMxMDUsNyArMzE0 NCw3IEBAIHZvaWQgVmFhcGlXcmFwcGVyOjpQcmVTYW5kYm94SW5pdGlhbGl6YXQKLSAKLSAgIHBh dGhzW2tNb2R1bGVWYV0ucHVzaF9iYWNrKHN0ZDo6c3RyaW5nKCJsaWJ2YS5zby4iKSArIHZhX3N1 ZmZpeCk7Ci0gICBwYXRoc1trTW9kdWxlVmFfZHJtXS5wdXNoX2JhY2soc3RkOjpzdHJpbmcoImxp YnZhLWRybS5zby4iKSArIHZhX3N1ZmZpeCk7Ci0tI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDEx KQotKyNpZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSAgIHBhdGhzW2tNb2R1 bGVWYV94MTFdLnB1c2hfYmFjayhzdGQ6OnN0cmluZygibGlidmEteDExLnNvLiIpICsgdmFfc3Vm Zml4KTsKLSAjZW5kaWYKLSAjaWYgQlVJTERGTEFHKElTX0NIUk9NRU9TX0FTSCkKLWRpZmYgLXVw IGNocm9taXVtLTExMi4wLjU2MTUuNDkvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuaC53 YXlsYW5kLXZhYXBpIGNocm9taXVtLTExMi4wLjU2MTUuNDkvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBp X3dyYXBwZXIuaAotLS0tIGNocm9taXVtLTExMi4wLjU2MTUuNDkvbWVkaWEvZ3B1L3ZhYXBpL3Zh YXBpX3dyYXBwZXIuaC53YXlsYW5kLXZhYXBpCTIwMjMtMDMtMzAgMDI6MzM6NTMuMDAwMDAwMDAw ICswMjAwCi0rKysgY2hyb21pdW0tMTEyLjAuNTYxNS40OS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlf d3JhcHBlci5oCTIwMjMtMDQtMTQgMjE6Mjk6NDEuNzc3MzI4MDYyICswMjAwCi1AQCAtMzYsOSAr MzYsOSBAQAotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvdHlwZXMvb3B0 aW9uYWwuaCIKLSAjaW5jbHVkZSAidWkvZ2Z4L2dlb21ldHJ5L3NpemUuaCIKLSAKLS0jaWYgQlVJ TERGTEFHKFVTRV9WQUFQSV9YMTEpCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJf WDExKQotICNpbmNsdWRlICJ1aS9nZngveC94cHJvdG8uaCIgIC8vIG5vZ25jaGVjawotLSNlbmRp ZiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotKyNl bmRpZiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09W RVJfWDExKQotIAotIG5hbWVzcGFjZSBnZnggewotIGVudW0gY2xhc3MgQnVmZmVyRm9ybWF0Owot QEAgLTE4Niw2ICsxODYsMTYgQEAgY2xhc3MgTUVESUFfR1BVX0VYUE9SVCBWYWFwaVdyYXBwZXIK LSAgIFZhYXBpV3JhcHBlcihjb25zdCBWYWFwaVdyYXBwZXImKSA9IGRlbGV0ZTsKLSAgIFZhYXBp V3JhcHBlciYgb3BlcmF0b3I9KGNvbnN0IFZhYXBpV3JhcHBlciYpID0gZGVsZXRlOwotIAotKyNp ZiBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSsgIC8vIFJldHVybnMgdHJ1ZSBp ZiBWYWFwaVdyYXBwZXIgaW5zdGFuY2VzIG1heSB1c2UgVkEtQVBJIG92ZXIgWDExIGFuZCBmYWxz ZQotKyAgLy8gb3RoZXJ3aXNlIChWQS1BUEkgb3ZlciBEUk0gd2lsbCBiZSB1c2VkKS4gSWYgdGhp cyByZXR1cm5zIGFic2w6Om51bGxvcHQsCi0rICAvLyBpdCdzIGJlY2F1c2UgaXQgd2FzIG5vdCBw b3NzaWJsZSB0byBkZXRlcm1pbmUgaG93IFZBLUFQSSBtYXkgYmUgdXNlZC4gVGhpcwotKyAgLy8g c2hvdWxkIG9ubHkgYmUgY2FsbGVkIGFmdGVyIFByZVNhbmRib3hJbml0aWFsaXphdGlvbigpICh3 aGljaCBpcyBhc3N1bWVkIHRvCi0rICAvLyBiZSBjYWxsZWQgb25seSBvbmNlIGR1cmluZyB0aGUg R1BVIHByb2Nlc3Mgc3RhcnR1cCkgYW5kIGlzIHNhZmUgdG8gY2FsbAotKyAgLy8gZnJvbSBhbnkg dGhyZWFkLiBBZGRpdGlvbmFsbHksIHRoaXMgc2hvdWxkIGFsd2F5cyByZXR1cm4gdGhlIHNhbWUg dmFsdWUuCi0rICBzdGF0aWMgYWJzbDo6b3B0aW9uYWw8Ym9vbD4gTWF5VXNlVmFhcGlPdmVyWDEx KCk7Ci0rI2VuZGlmCi0rCi0gICAvLyBSZXR1cm5zIHRoZSBzdXBwb3J0ZWQgU1ZDIHNjYWxhYmls aXR5IG1vZGVzIGZvciBzcGVjaWZpZWQgcHJvZmlsZS4KLSAgIHN0YXRpYyBzdGQ6OnZlY3RvcjxT VkNTY2FsYWJpbGl0eU1vZGU+IEdldFN1cHBvcnRlZFNjYWxhYmlsaXR5TW9kZXMoCi0gICAgICAg VmlkZW9Db2RlY1Byb2ZpbGUgbWVkaWFfcHJvZmlsZSwKLUBAIC00MzksMTMgKzQ0OSwxMyBAQCBj bGFzcyBNRURJQV9HUFVfRVhQT1JUIFZhYXBpV3JhcHBlcgotICAgICAgIFZBU3VyZmFjZUlEIHZh X3N1cmZhY2VfaWQsCi0gICAgICAgY29uc3Qgc3RkOjp2ZWN0b3I8c3RkOjpwYWlyPFZBQnVmZmVy SUQsIFZBQnVmZmVyRGVzY3JpcHRvcj4+JiB2YV9idWZmZXJzKTsKLSAKLS0jaWYgQlVJTERGTEFH KFVTRV9WQUFQSV9YMTEpCi0rI2lmIEJVSUxERkxBRyhTVVBQT1JUX1ZBQVBJX09WRVJfWDExKQot ICAgLy8gUHV0IGRhdGEgZnJvbSB8dmFfc3VyZmFjZV9pZHwgaW50byB8eF9waXhtYXB8IG9mIHNp emUKLSAgIC8vIHxkZXN0X3NpemV8LCBjb252ZXJ0aW5nL3NjYWxpbmcgdG8gaXQuCi0gICBbW25v ZGlzY2FyZF1dIGJvb2wgUHV0U3VyZmFjZUludG9QaXhtYXAoVkFTdXJmYWNlSUQgdmFfc3VyZmFj ZV9pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MTE6OlBp eG1hcCB4X3BpeG1hcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBnZng6OlNpemUgZGVzdF9zaXplKTsKLS0jZW5kaWYgIC8vIEJVSUxERkxBRyhVU0VfVkFBUElf WDExKQotKyNlbmRpZiAgLy8gQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0gCi0g ICAvLyBDcmVhdGVzIGEgU2NvcGVkVkFJbWFnZSBmcm9tIGEgVkFTdXJmYWNlIHx2YV9zdXJmYWNl X2lkfCBhbmQgbWFwIGl0IGludG8KLSAgIC8vIG1lbW9yeSB3aXRoIHRoZSBnaXZlbiB8Zm9ybWF0 fCBhbmQgfHNpemV8LiBJZiB8Zm9ybWF0fCBpcyBub3QgZXF1YWwgdG8gdGhlCi1kaWZmIC11cCBj aHJvbWl1bS0xMTIuMC41NjE1LjQ5L21lZGlhL2dwdS92YWFwaS92YV9zdHViX2hlYWRlci5mcmFn bWVudC53YXlsYW5kLXZhYXBpIGNocm9taXVtLTExMi4wLjU2MTUuNDkvbWVkaWEvZ3B1L3ZhYXBp L3ZhX3N0dWJfaGVhZGVyLmZyYWdtZW50Ci0tLS0gY2hyb21pdW0tMTEyLjAuNTYxNS40OS9tZWRp YS9ncHUvdmFhcGkvdmFfc3R1Yl9oZWFkZXIuZnJhZ21lbnQud2F5bGFuZC12YWFwaQkyMDIzLTAz LTMwIDAyOjMzOjUzLjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9taXVtLTExMi4wLjU2MTUuNDkv bWVkaWEvZ3B1L3ZhYXBpL3ZhX3N0dWJfaGVhZGVyLmZyYWdtZW50CTIwMjMtMDQtMTQgMjE6Mjk6 NDEuNzc3MzI4MDYyICswMjAwCi1AQCAtNyw4ICs3LDggQEAgZXh0ZXJuICJDIiB7Ci0gCi0gI2lu Y2x1ZGUgPHZhL3ZhX2RybS5oPgotICNpbmNsdWRlIDx2YS92YS5oPgotLSNpZiBCVUlMREZMQUco VVNFX1ZBQVBJX1gxMSkKLSsjaWYgQlVJTERGTEFHKFNVUFBPUlRfVkFBUElfT1ZFUl9YMTEpCi0g I2luY2x1ZGUgPHZhL3ZhX3gxMS5oPgotLSNlbmRpZiAgLy8gQlVJTERGTEFHKFVTRV9WQUFQSV9Y MTEpCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoU1VQUE9SVF9WQUFQSV9PVkVSX1gxMSkKLSAKLSB9 Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L3VpL296b25lL3BsYXRmb3JtL3gxMS9v em9uZV9wbGF0Zm9ybV94MTEuY2Mud2F5bGFuZC12YWFwaSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5 L3VpL296b25lL3BsYXRmb3JtL3gxMS9vem9uZV9wbGF0Zm9ybV94MTEuY2MKLS0tLSBjaHJvbWl1 bS0xMTIuMC41NjE1LjQ5L3VpL296b25lL3BsYXRmb3JtL3gxMS9vem9uZV9wbGF0Zm9ybV94MTEu Y2Mud2F5bGFuZC12YWFwaQkyMDIzLTAzLTMwIDAyOjM0OjE5LjAwMDAwMDAwMCArMDIwMAotKysr IGNocm9taXVtLTExMi4wLjU2MTUuNDkvdWkvb3pvbmUvcGxhdGZvcm0veDExL296b25lX3BsYXRm b3JtX3gxMS5jYwkyMDIzLTA0LTE0IDIxOjI5OjQxLjc3ODMyODA4MiArMDIwMAotQEAgLTE5Nyw3 ICsxOTcsNyBAQCBjbGFzcyBPem9uZVBsYXRmb3JtWDExIDogcHVibGljIE96b25lUGxhCi0gICAg ICAgcHJvcGVydGllcy0+YXBwX21vZGFsX2RpYWxvZ3NfdXNlX2V2ZW50X2Jsb2NrZXIgPSB0cnVl OwotICAgICAgIHByb3BlcnRpZXMtPmZldGNoX2J1ZmZlcl9mb3JtYXRzX2Zvcl9nbWJfb25fZ3B1 ID0gdHJ1ZTsKLSAjaWYgQlVJTERGTEFHKElTX0xJTlVYKQotLSAgICAgIHByb3BlcnRpZXMtPnN1 cHBvcnRzX3ZhYXBpID0gdHJ1ZTsKLSsgICAgICBwcm9wZXJ0aWVzLT5zdXBwb3J0c192YWFwaV94 MTEgPSB0cnVlOwotICNlbmRpZgotIAotICAgICAgIGluaXRpYWxpc2VkID0gdHJ1ZTsKLWRpZmYg LXVwIGNocm9taXVtLTExMi4wLjU2MTUuNDkvdWkvb3pvbmUvcHVibGljL296b25lX3BsYXRmb3Jt Lmgud2F5bGFuZC12YWFwaSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L3VpL296b25lL3B1YmxpYy9v em9uZV9wbGF0Zm9ybS5oCi0tLS0gY2hyb21pdW0tMTEyLjAuNTYxNS40OS91aS9vem9uZS9wdWJs aWMvb3pvbmVfcGxhdGZvcm0uaC53YXlsYW5kLXZhYXBpCTIwMjMtMDMtMzAgMDI6MzQ6MTkuMDAw MDAwMDAwICswMjAwCi0rKysgY2hyb21pdW0tMTEyLjAuNTYxNS40OS91aS9vem9uZS9wdWJsaWMv b3pvbmVfcGxhdGZvcm0uaAkyMDIzLTA0LTE0IDIxOjI5OjQxLjc3ODMyODA4MiArMDIwMAotQEAg LTE0NSwxMiArMTQ1LDEzIEBAIGNsYXNzIENPTVBPTkVOVF9FWFBPUlQoT1pPTkUpIE96b25lUGxh dGYKLSAgICAgYm9vbCBmZXRjaF9idWZmZXJfZm9ybWF0c19mb3JfZ21iX29uX2dwdSA9IGZhbHNl OwotIAotICNpZiBCVUlMREZMQUcoSVNfTElOVVgpCi0tICAgIC8vIFRPRE8oY3JidWcuY29tLzEx MTY3MDEpOiBhZGQgdmFhcGkgc3VwcG9ydCBmb3Igb3RoZXIgT3pvbmUgcGxhdGZvcm1zIG9uCi0t ICAgIC8vIExpbnV4LiBBdCB0aGUgbW9tZW50LCBWQS1BUEkgTGludXggaW1wbGVtZW50YXRpb24g c3VwcG9ydHMgb25seSBYMTEKLS0gICAgLy8gYmFja2VuZC4gVGhpcyBpbXBsZW1lbnRhdGlvbiBt dXN0IGJlIHJlZmFjdG9yZWQgdG8gc3VwcG9ydCBPem9uZQotLSAgICAvLyBwcm9wZXJseS4gQXMg YSB0ZW1wb3Jhcnkgc29sdXRpb24sIFZBLUFQSSBvbiBMaW51eCBjaGVja3MgaWYgdmFhcGkgaXMK LS0gICAgLy8gc3VwcG9ydGVkICh3aGljaCBpbXBsaWNpdGx5IG1lYW5zIHRoYXQgaXQgaXMgT3pv bmUvWDExKS4KLS0gICAgYm9vbCBzdXBwb3J0c192YWFwaSA9IGZhbHNlOwotKyAgICAvLyBWQS1B UEkgc3VwcG9ydHMgZGlmZmVyZW50IGRpc3BsYXkgYmFja2VuZHMuCi0rICAgIC8vIFNlZSBodHRw czovL2dpdGh1Yi5jb20vaW50ZWwvbGlidmEvYmxvYi9tYXN0ZXIvdmEvdmFfYmFja2VuZC5oCi0r ICAgIC8vCi0rICAgIC8vIFZBL0RSTSBhbmQgVkEvWDExIGFyZSB1c2VkIGJ5IENocm9taXVtIGF0 IHRoZSBtb21lbnQuIEFsbCBPem9uZSBwbGF0Zm9ybXMKLSsgICAgLy8gc3VwcG9ydCBWQS9EUk0g YnkgZGVmYXVsdC4gYHN1cHBvcnRzX3ZhYXBpX3gxMWAgaW5kaWNhdGVzIGlmIFZBL1gxMQotKyAg ICAvLyBzdXBwb3J0ZWQ7IGl0IGlzIHRydWUgb25seSBvbiBPem9uZS9YMTEgcGxhdGZvcm0uCi0r ICAgIGJvb2wgc3VwcG9ydHNfdmFhcGlfeDExID0gZmFsc2U7Ci0gI2VuZGlmCi0gCi0gICAgIC8v IEluZGljYXRlcyB0aGF0IHRoZSBwbGF0Zm9ybSBhbGxvd3MgY2xpZW50IGFwcGxpY2F0aW9ucyB0 byBtYW5pcHVsYXRlCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTEzLWRpc2FibGUtR2xvYmFsTWVk aWFDb250cm9sc0Nhc3RTdGFydFN0b3AucGF0Y2ggYi9jaHJvbWl1bS0xMTMtZGlzYWJsZS1HbG9i YWxNZWRpYUNvbnRyb2xzQ2FzdFN0YXJ0U3RvcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5jZDFjMDcyCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTEzLWRp c2FibGUtR2xvYmFsTWVkaWFDb250cm9sc0Nhc3RTdGFydFN0b3AucGF0Y2gKQEAgLTAsMCArMSwx MiBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC9jaHJvbWUvYnJvd3Nlci9tZWRp YS9yb3V0ZXIvbWVkaWFfcm91dGVyX2ZlYXR1cmUuY2MuZGlzYWJsZS1HbG9iYWxNZWRpYUNvbnRy b2xzQ2FzdFN0YXJ0U3RvcCBjaHJvbWl1bS0xMTMuMC41NjcyLjI0L2Nocm9tZS9icm93c2VyL21l ZGlhL3JvdXRlci9tZWRpYV9yb3V0ZXJfZmVhdHVyZS5jYworLS0tIGNocm9taXVtLTExMy4wLjU2 NzIuMjQvY2hyb21lL2Jyb3dzZXIvbWVkaWEvcm91dGVyL21lZGlhX3JvdXRlcl9mZWF0dXJlLmNj LmRpc2FibGUtR2xvYmFsTWVkaWFDb250cm9sc0Nhc3RTdGFydFN0b3AJMjAyMy0wNC0wNyAxMzo1 NDo1Mi41NjIyOTIwMjYgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTMuMC41NjcyLjI0L2Nocm9tZS9i cm93c2VyL21lZGlhL3JvdXRlci9tZWRpYV9yb3V0ZXJfZmVhdHVyZS5jYwkyMDIzLTA0LTA3IDEz OjU3OjQxLjQ3MDQxNDA4NiArMDIwMAorQEAgLTY4LDcgKzY4LDcgQEAgQkFTRV9GRUFUVVJFKGtH bG9iYWxNZWRpYUNvbnRyb2xzQ2FzdFN0YQorICNlbHNlCisgQkFTRV9GRUFUVVJFKGtHbG9iYWxN ZWRpYUNvbnRyb2xzQ2FzdFN0YXJ0U3RvcCwKKyAgICAgICAgICAgICAgIkdsb2JhbE1lZGlhQ29u dHJvbHNDYXN0U3RhcnRTdG9wIiwKKy0gICAgICAgICAgICAgYmFzZTo6RkVBVFVSRV9FTkFCTEVE X0JZX0RFRkFVTFQpOworKyAgICAgICAgICAgICBiYXNlOjpGRUFUVVJFX0RJU0FCTEVEX0JZX0RF RkFVTFQpOworICNlbmRpZiAgLy8gQlVJTERGTEFHKElTX0NIUk9NRU9TKQorICNlbmRpZiAgLy8g QlVJTERGTEFHKElTX0FORFJPSUQpCisgCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTEzLWdjYzEz LnBhdGNoIGIvY2hyb21pdW0tMTEzLWdjYzEzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLmNlMTBkZmUKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMTMtZ2Nj MTMucGF0Y2gKQEAgLTAsMCArMSw0MjIgQEAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvYmFzZS9jaGVja19vcC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVja19v cC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NoZWNrX29wLmgubWUJMjAyMy0w MS0xNyAxNzozOToyNy42MjA4NzU4ODMgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2Jhc2UvY2hlY2tfb3AuaAkyMDIzLTAxLTE3IDE3OjM5OjQyLjU0NjA2MDk1NyArMDEwMAorQEAg LTUsNiArNSw3IEBACisgI2lmbmRlZiBCQVNFX0NIRUNLX09QX0hfCisgI2RlZmluZSBCQVNFX0NI RUNLX09QX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGNzdGRkZWY+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dHlwZV90cmFpdHM+CitkaWZmIC11cCBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5oLm1lCTIwMjMtMDEtMTcgMTY6Mjk6MjYuMzY4MDkwMDcz ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgJ MjAyMy0wMS0xNyAxNjo1OTo0MS4xOTA2Mjg2NzkgKzAxMDAKK0BAIC03LDYgKzcsNyBAQAorIAor ICNpbmNsdWRlIDxzdGRkZWYuaD4KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8 c3RyaW5nPgorIAorICNpbmNsdWRlICJiYXNlL2Jhc2VfZXhwb3J0LmgiCitkaWZmIC11cCBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvdml6L2NvbW1vbi92aWV3X3RyYW5zaXRpb25f ZWxlbWVudF9yZXNvdXJjZV9pZC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50 cy92aXovY29tbW9uL3ZpZXdfdHJhbnNpdGlvbl9lbGVtZW50X3Jlc291cmNlX2lkLmgKKy0tLSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvdml6L2NvbW1vbi92aWV3X3RyYW5zaXRp b25fZWxlbWVudF9yZXNvdXJjZV9pZC5oLm1lCTIwMjMtMDEtMTcgMTk6MDM6MTAuOTIwMDE0ODA2 ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Zpei9jb21tb24v dmlld190cmFuc2l0aW9uX2VsZW1lbnRfcmVzb3VyY2VfaWQuaAkyMDIzLTAxLTE3IDE5OjAzOjQ4 LjczNjM5NTI3NCArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRTX1ZJ Wl9DT01NT05fVklFV19UUkFOU0lUSU9OX0VMRU1FTlRfUkVTT1VSQ0VfSURfSF8KKyAjZGVmaW5l IENPTVBPTkVOVFNfVklaX0NPTU1PTl9WSUVXX1RSQU5TSVRJT05fRUxFTUVOVF9SRVNPVVJDRV9J RF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1 ZGUgPHZlY3Rvcj4KKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZp Zy9ncHVfZmVhdHVyZV9pbmZvLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmln L2dwdV9mZWF0dXJlX2luZm8uaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZp Zy9ncHVfZmVhdHVyZV9pbmZvLmgubWUJMjAyMy0wMS0xNyAxOTowNjo1My41MzA2NzUxMjkgKzAx MDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5m by5oCTIwMjMtMDEtMTcgMTk6MDc6MDguODc0ODQ5ODc5ICswMTAwCitAQCAtNSw2ICs1LDcgQEAK KyAjaWZuZGVmIEdQVV9DT05GSUdfR1BVX0ZFQVRVUkVfSU5GT19IXworICNkZWZpbmUgR1BVX0NP TkZJR19HUFVfRkVBVFVSRV9JTkZPX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1 ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dmVjdG9yPgorIAorZGlmZiAtdXAgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9i YXNlL25ldF9leHBvcnQuaC5tZQkyMDIzLTAxLTE3IDE4OjE2OjM0LjEzMzg1NDYxNSArMDEwMAor KysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oCTIwMjMtMDEt MTcgMTg6MTY6MTUuOTQ1NjIzMTUzICswMTAwCitAQCAtNSw2ICs1LDggQEAKKyAjaWZuZGVmIE5F VF9CQVNFX05FVF9FWFBPUlRfSF8KKyAjZGVmaW5lIE5FVF9CQVNFX05FVF9FWFBPUlRfSF8KKyAK KysjaW5jbHVkZSA8Y3N0ZGludD4KKysKKyAvLyBEZWZpbmVzIE5FVF9FWFBPUlQgc28gdGhhdCBm dW5jdGlvbmFsaXR5IGltcGxlbWVudGVkIGJ5IHRoZSBuZXQgbW9kdWxlIGNhbgorIC8vIGJlIGV4 cG9ydGVkIHRvIGNvbnN1bWVycywgYW5kIE5FVF9FWFBPUlRfUFJJVkFURSB0aGF0IGFsbG93cyB1 bml0IHRlc3RzIHRvCisgLy8gYWNjZXNzIGZlYXR1cmVzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2Vk IGRpcmVjdGx5IGJ5IHJlYWwgY29uc3VtZXJzLgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24u aC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIv YnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5k Ym94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaC5tZQkyMDIz LTAxLTE3IDE3OjEyOjM0LjE4NDY4NjUxNSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgJ MjAyMy0wMS0xNyAxNzoxMzoxNi41MzcxNjI0MjAgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNp Zm5kZWYgU0FOREJPWF9MSU5VWF9TWVNDQUxMX0JST0tFUl9CUk9LRVJfRklMRV9QRVJNSVNTSU9O X0hfCisgI2RlZmluZSBTQU5EQk9YX0xJTlVYX1NZU0NBTExfQlJPS0VSX0JST0tFUl9GSUxFX1BF Uk1JU1NJT05fSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8Yml0c2V0Pgor ICNpbmNsdWRlIDxzdHJpbmc+CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgubWUgY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5ncy9zdHJp bmdfdmlldy5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hYnNlaWwt Y3BwL2Fic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5oLm1lCTIwMjMtMDEtMTcgMTc6MzM6MjAuODk1 NzE3MzA3ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hYnNl aWwtY3BwL2Fic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5oCTIwMjMtMDEtMTcgMTc6MzQ6MDMuNDU2 MTg1MzY1ICswMTAwCitAQCAtMjcsNiArMjcsNyBAQAorICNpZm5kZWYgQUJTTF9TVFJJTkdTX1NU UklOR19WSUVXX0hfCisgI2RlZmluZSBBQlNMX1NUUklOR1NfU1RSSU5HX1ZJRVdfSF8KKyAKKysj aW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorICNpbmNsdWRlIDxjYXNz ZXJ0PgorICNpbmNsdWRlIDxjc3RkZGVmPgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oLm1lIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1NoYWRl clZhcnMuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5j bHVkZS9HTFNMQU5HL1NoYWRlclZhcnMuaC5tZQkyMDIzLTAxLTE3IDE3OjM2OjE1LjAxNzYxNjI1 MCArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYW5nbGUvaW5j bHVkZS9HTFNMQU5HL1NoYWRlclZhcnMuaAkyMDIzLTAxLTE3IDE3OjM2OjQ4Ljk2MDk4MjE5NSAr MDEwMAorQEAgLTEwLDYgKzEwLDcgQEAKKyAjaWZuZGVmIEdMU0xBTkdfU0hBREVSVkFSU19IXwor ICNkZWZpbmUgR0xTTEFOR19TSEFERVJWQVJTX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+Cisg I2luY2x1ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8YXJyYXk+CisgI2luY2x1ZGUgPHN0cmlu Zz4KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYmxpbmsvcHVi bGljL2NvbW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaC5tZSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3Ro L3dlYl9ibHVldG9vdGhfZGV2aWNlX2lkLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRvb3RoL3dlYl9ibHVldG9vdGhfZGV2 aWNlX2lkLmgubWUJMjAyMy0wMS0xNyAxOToxNzo0MC40ODA4NzYxNzEgKzAxMDAKKysrKyBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRv b3RoL3dlYl9ibHVldG9vdGhfZGV2aWNlX2lkLmgJMjAyMy0wMS0xNyAxOToxNzo0Ni44MDM5NTgz MjAgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgVEhJUkRfUEFSVFlfQkxJTktfUFVC TElDX0NPTU1PTl9CTFVFVE9PVEhfV0VCX0JMVUVUT09USF9ERVZJQ0VfSURfSF8KKyAjZGVmaW5l IFRISVJEX1BBUlRZX0JMSU5LX1BVQkxJQ19DT01NT05fQkxVRVRPT1RIX1dFQl9CTFVFVE9PVEhf REVWSUNFX0lEX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGFycmF5Pgor ICNpbmNsdWRlIDxzdHJpbmc+CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L2Rhd24vc3JjL2Rhd24vbmF0aXZlL3N0cmVhbS9CeXRlVmVjdG9yU2luay5oLm1l IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9zcmMvZGF3bi9uYXRpdmUv c3RyZWFtL0J5dGVWZWN0b3JTaW5rLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJk X3BhcnR5L2Rhd24vc3JjL2Rhd24vbmF0aXZlL3N0cmVhbS9CeXRlVmVjdG9yU2luay5oLm1lCTIw MjMtMDEtMTcgMTg6MDA6MzcuMTIzMjE4OTU0ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQx NC43NC90aGlyZF9wYXJ0eS9kYXduL3NyYy9kYXduL25hdGl2ZS9zdHJlYW0vQnl0ZVZlY3RvclNp bmsuaAkyMDIzLTAxLTE3IDE4OjAwOjUwLjYxMDMwMDEzOCArMDEwMAorQEAgLTE1LDYgKzE1LDcg QEAKKyAjaWZuZGVmIFNSQ19EQVdOX05BVElWRV9TVFJFQU1fQllURVZFQ1RPUlNJTktfSF8KKyAj ZGVmaW5lIFNSQ19EQVdOX05BVElWRV9TVFJFQU1fQllURVZFQ1RPUlNJTktfSF8KKyAKKysjaW5j bHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8b3N0cmVhbT4KKyAjaW5jbHVkZSA8dmVjdG9yPgor IAorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9kYXduL3NyYy90 aW50L3JlYWRlci9zcGlydi9uYW1lci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvZGF3bi9zcmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIuaAorLS0tIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIu aC5tZQkyMDIzLTAxLTE3IDE4OjAyOjQ0LjY4MTUzODEwNyArMDEwMAorKysrIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9yZWFkZXIvc3BpcnYvbmFtZXIu aAkyMDIzLTAxLTE3IDE4OjAyOjU3LjIwODY3OTE0MCArMDEwMAorQEAgLTE1LDYgKzE1LDcgQEAK KyAjaWZuZGVmIFNSQ19USU5UX1JFQURFUl9TUElSVl9OQU1FUl9IXworICNkZWZpbmUgU1JDX1RJ TlRfUkVBREVSX1NQSVJWX05BTUVSX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1 ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KKyAjaW5jbHVkZSA8dmVjdG9y PgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVu L3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgubWUgY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5z c2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3Nk X3R4dF9yZWNvcmQuaC5tZQkyMDIzLTAxLTE4IDE1OjIyOjM4LjQ3Mjk0MDY0OCArMDEwMAorKysr IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292 ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oCTIwMjMtMDEtMTggMTU6MjM6MDku MzgwMjU1MTAxICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIERJU0NPVkVSWV9ETlNT RF9QVUJMSUNfRE5TX1NEX1RYVF9SRUNPUkRfSF8KKyAjZGVmaW5lIERJU0NPVkVSWV9ETlNTRF9Q VUJMSUNfRE5TX1NEX1RYVF9SRUNPUkRfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5j bHVkZSA8ZnVuY3Rpb25hbD4KKyAjaW5jbHVkZSA8bWFwPgorICNpbmNsdWRlIDxzZXQ+CitkaWZm IC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9T eXN0ZW0vTFJVQ2FjaGUuaHBwLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv c3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAKKy0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwLm1l CTIwMjMtMDEtMTcgMTU6Mzc6NDguNTMwNjI2NTE2ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcAky MDIzLTAxLTE3IDE2OjU3OjQ2LjAyNTU0ODA5MiArMDEwMAorQEAgLTE3LDYgKzE3LDcgQEAKKyAK KyAjaW5jbHVkZSAiU3lzdGVtL0RlYnVnLmhwcCIKKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAj aW5jbHVkZSA8Y3N0ZGRlZj4KKyAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyAjaW5jbHVkZSA8dW5v cmRlcmVkX3NldD4KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkv dnVsa2FuX21lbW9yeV9hbGxvY2F0b3IvaW5jbHVkZS92a19tZW1fYWxsb2MuaC5tZSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1 ZGUvdmtfbWVtX2FsbG9jLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5 L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9jLmgubWUJMjAyMy0w MS0xNyAxNTo0MDoyMy44NTQzODYyMDYgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L3Z1bGthbl9tZW1vcnlfYWxsb2NhdG9yL2luY2x1ZGUvdmtfbWVtX2FsbG9j LmgJMjAyMy0wMS0xNyAxNjo1ODoxOS4zOTc4NjI4ODUgKzAxMDAKK0BAIC0yMzg4LDYgKzIzODgs NyBAQCBWTUFfQ0FMTF9QUkUgdm9pZCBWTUFfQ0FMTF9QT1NUIHZtYUZyZWVWCisgI2lmZGVmIFZN QV9JTVBMRU1FTlRBVElPTg0KKyAjdW5kZWYgVk1BX0lNUExFTUVOVEFUSU9ODQorIA0KKysjaW5j bHVkZSA8Y3N0ZGlvPg0KKyAjaW5jbHVkZSA8Y3N0ZGludD4NCisgI2luY2x1ZGUgPGNzdGRsaWI+ DQorICNpbmNsdWRlIDxjc3RyaW5nPg0KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oCistLS0gY2hyb21pdW0tMTA5LjAu NTQxNC43NC91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgubWUJMjAyMy0wMS0xNyAx ODowODoyNS43NDU0OTEzNTMgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dm eC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaAkyMDIzLTAxLTE3IDE4OjA4OjM1Ljc3NzY2NzYz MiArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBVSV9HRlhfTElORUFSX0dSQURJRU5U X0hfCisgI2RlZmluZSBVSV9HRlhfTElORUFSX0dSQURJRU5UX0hfCisgCisrI2luY2x1ZGUgPGNz dGRpbnQ+CisgI2luY2x1ZGUgPGFycmF5PgorICNpbmNsdWRlIDxzdHJpbmc+CisgCitkaWZmIC11 cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BlcmZldHRvL2luY2x1ZGUvcGVy ZmV0dG8vZXh0L2Jhc2UvdXVpZC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvcGVyZmV0dG8vaW5jbHVkZS9wZXJmZXR0by9leHQvYmFzZS91dWlkLmgKKy0tLSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BlcmZldHRvL2luY2x1ZGUvcGVyZmV0dG8vZXh0 L2Jhc2UvdXVpZC5oLm1lCTIwMjMtMDEtMTggMTY6MDA6NTguNTYzODc1ODgxICswMTAwCisrKysg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZXJmZXR0by9pbmNsdWRlL3BlcmZl dHRvL2V4dC9iYXNlL3V1aWQuaAkyMDIzLTAxLTE4IDE2OjAyOjAxLjc3MzUxNzQ1MiArMDEwMAor QEAgLTE3LDYgKzE3LDcgQEAKKyAjaWZuZGVmIElOQ0xVREVfUEVSRkVUVE9fRVhUX0JBU0VfVVVJ RF9IXworICNkZWZpbmUgSU5DTFVERV9QRVJGRVRUT19FWFRfQkFTRV9VVUlEX0hfCisgCisrI2lu Y2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGFycmF5PgorICNpbmNsdWRlIDxzdHJpbmc+Cisg CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5 L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgKKy0tLSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3Ry dW1lbnRhdGlvbi5oLm1lCTIwMjMtMDEtMTkgMTA6MTA6MjEuMjg3ODc2NzM2ICswMTAwCisrKysg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9p bnN0cnVtZW50YXRpb24uaAkyMDIzLTAxLTE5IDEwOjExOjIxLjcxNDc3ODg5NiArMDEwMAorQEAg LTE3LDYgKzE3LDcgQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgI2RlZmluZSBS VVlfUlVZX1BST0ZJTEVSX0lOU1RSVU1FTlRBVElPTl9IXworIAorICNpZmRlZiBSVVlfUFJPRklM RVIKKysjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDxjc3RkaW8+CisgI2luY2x1ZGUgPG11 dGV4PgorICNpbmNsdWRlIDx2ZWN0b3I+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwv c3BlY3Ryb2dyYW0uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0 ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaAorLS0t IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93 L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oLm1lCTIwMjMtMDEtMTkgMTA6MzA6 MjcuNTMzODYxOTg1ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFt LmgJMjAyMy0wMS0xOSAxMDozMToxMi41ODU1NTQxODMgKzAxMDAKK0BAIC0zMSw2ICszMSw3IEBA IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICNpZm5kZWYgVEVOU09SRkxPV19MSVRF X0tFUk5FTFNfSU5URVJOQUxfU1BFQ1RST0dSQU1fSF8KKyAjZGVmaW5lIFRFTlNPUkZMT1dfTElU RV9LRVJORUxTX0lOVEVSTkFMX1NQRUNUUk9HUkFNX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+ CisgI2luY2x1ZGUgPGNvbXBsZXg+CisgI2luY2x1ZGUgPGRlcXVlPgorICNpbmNsdWRlIDx2ZWN0 b3I+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0 X21hcC5oLm1lZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21h cC5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAu aC5tZWUJMjAyMy0wMS0xOSAxMDo1OTo1Mi4yMTQ5NTc3NzMgKzAxMDAKKysrKyBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5oCTIwMjMtMDEtMTkgMTE6MDA6 MDYuNDE1MjE1MzA5ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIEJBU0VfQ09OVEFJ TkVSU19GTEFUX01BUF9IXworICNkZWZpbmUgQkFTRV9DT05UQUlORVJTX0ZMQVRfTUFQX0hfCisg CisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisgI2luY2x1ZGUg PHR1cGxlPgorICNpbmNsdWRlIDx1dGlsaXR5PgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oLm1l ZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hf cmVwb3J0ZXJfY2xpZW50LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMv Y3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgubWVlCTIwMjMtMDEtMTkgMTA6 MzY6NDAuNTcxNDIyODI2ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25l bnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9ydGVyX2NsaWVudC5oCTIwMjMtMDEtMTkgMTA6 MzY6NDkuMzQzNTY1Mjk0ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBPTkVO VFNfQ1JBU0hfQ09SRV9BUFBfQ1JBU0hfUkVQT1JURVJfQ0xJRU5UX0hfCisgI2RlZmluZSBDT01Q T05FTlRTX0NSQVNIX0NPUkVfQVBQX0NSQVNIX1JFUE9SVEVSX0NMSUVOVF9IXworIAorKyNpbmNs dWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgCisgI2luY2x1ZGUgImJ1aWxkL2J1 aWxkX2NvbmZpZy5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9kZXZpY2UvYmx1 ZXRvb3RoL3B1YmxpYy9jcHAvYmx1ZXRvb3RoX3V1aWQuaC5tZWUgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9kZXZpY2UvYmx1ZXRvb3RoL3B1YmxpYy9jcHAvYmx1ZXRvb3RoX3V1aWQuaAorLS0tIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvZGV2aWNlL2JsdWV0b290aC9wdWJsaWMvY3BwL2JsdWV0b290 aF91dWlkLmgubWVlCTIwMjMtMDEtMTkgMTA6NDY6NTQuODI2NTEzNzA3ICswMTAwCisrKysgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9kZXZpY2UvYmx1ZXRvb3RoL3B1YmxpYy9jcHAvYmx1ZXRvb3Ro X3V1aWQuaAkyMDIzLTAxLTE5IDEwOjQ3OjExLjI1NTcxMTQ3MiArMDEwMAorQEAgLTUsNiArNSw3 IEBACisgI2lmbmRlZiBERVZJQ0VfQkxVRVRPT1RIX1BVQkxJQ19DUFBfQkxVRVRPT1RIX1VVSURf SF8KKyAjZGVmaW5lIERFVklDRV9CTFVFVE9PVEhfUFVCTElDX0NQUF9CTFVFVE9PVEhfVVVJRF9I XworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxvc3RyZWFtPgorICNpbmNsdWRl IDxzdHJpbmc+CisgI2luY2x1ZGUgPHZlY3Rvcj4KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaC5tZWUgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oCistLS0gY2hyb21p dW0tMTA5LjAuNTQxNC43NC91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oLm1lZQky MDIzLTAxLTE5IDExOjQ1OjE1Ljk1MzE1OTc1NSArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaAkyMDIzLTAxLTE5IDExOjQ1 OjIyLjMyMDI0NjI0MSArMDEwMAorQEAgLTUsNiArNSw4IEBACisgI2lmbmRlZiBVSV9CQVNFX1BS RURJQ1RJT05fS0FMTUFOX0ZJTFRFUl9IXworICNkZWZpbmUgVUlfQkFTRV9QUkVESUNUSU9OX0tB TE1BTl9GSUxURVJfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKysKKyAjaW5jbHVkZSAiYmFz ZS9jb21wb25lbnRfZXhwb3J0LmgiCisgI2luY2x1ZGUgInVpL2dmeC9nZW9tZXRyeS9tYXRyaXgz X2YuaCIKKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNz d29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5o Lm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2Nv cmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oCistLS0gY2hyb21pdW0t MTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dl bmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgubWUJMjAyMy0wMS0xOSAxNToyMDowNy42MjA5 ODc5NDkgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dv cmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaAky MDIzLTAxLTE5IDE1OjIwOjE4LjMyNDE3MzcwMiArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lm bmRlZiBDT01QT05FTlRTX1BBU1NXT1JEX01BTkFHRVJfQ09SRV9CUk9XU0VSX0dFTkVSQVRJT05f UEFTU1dPUkRfR0VORVJBVE9SX0hfCisgI2RlZmluZSBDT01QT05FTlRTX1BBU1NXT1JEX01BTkFH RVJfQ09SRV9CUk9XU0VSX0dFTkVSQVRJT05fUEFTU1dPUkRfR0VORVJBVE9SX0hfCisgCisrI2lu Y2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyAKK2RpZmYgLXVwIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwv ZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBv bmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9y LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2Vt ZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUJMjAyMy0wMS0xOSAxNjow MDoxNC4zNTAxODY1MTUgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVu dHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgJ MjAyMy0wMS0xOSAxNjowMDoyMS42NDMzMDc5OTMgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNp Zm5kZWYgQ09NUE9ORU5UU19GRUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfRVZFTlRfU1RPUkFH RV9WQUxJREFUT1JfSF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lO VEVSTkFMX0VWRU5UX1NUT1JBR0VfVkFMSURBVE9SX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+ CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyBuYW1lc3BhY2UgZmVhdHVyZV9lbmdhZ2VtZW50IHsK K2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2Fn ZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5tZSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25l dmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3Jh Z2VfdmFsaWRhdG9yLmgubWUJMjAyMy0wMS0xOSAxNTo1OToxOC4yMTAyMzk0MTYgKzAxMDAKKysr KyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2lu dGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgJMjAyMy0wMS0xOSAxNTo1OToz NC41MTM1MTUwMzAgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQ09NUE9ORU5UU19G RUFUVVJFX0VOR0FHRU1FTlRfSU5URVJOQUxfTkVWRVJfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1Jf SF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX05FVkVS X0VWRU5UX1NUT1JBR0VfVkFMSURBVE9SX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2lu Y2x1ZGUgPHN0cmluZz4KKyAKKyAjaW5jbHVkZSAiY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1l bnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaCIKK2RpZmYgLXVwIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0x MC4wL2xsdm0vaW5jbHVkZS9sbHZtL1N1cHBvcnQvU2lnbmFscy5oLm1lIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xs dm0vaW5jbHVkZS9sbHZtL1N1cHBvcnQvU2lnbmFscy5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQx NC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9p bmNsdWRlL2xsdm0vU3VwcG9ydC9TaWduYWxzLmgubWUJMjAyMy0wMS0xOSAxNjowNjoxNy41NDgy NzI4NzggKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0 c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2luY2x1ZGUvbGx2bS9TdXBwb3J0L1Np Z25hbHMuaAkyMDIzLTAxLTE5IDE2OjA2OjI1LjY4NTQxMDU5MiArMDEwMAorQEAgLTE0LDYgKzE0 LDcgQEAKKyAjaWZuZGVmIExMVk1fU1VQUE9SVF9TSUdOQUxTX0gKKyAjZGVmaW5lIExMVk1fU1VQ UE9SVF9TSUdOQUxTX0gKKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5n PgorIAorIG5hbWVzcGFjZSBsbHZtIHsKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1 cHBvcnQvVW5peC9TaWduYWxzLmluYy5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3Bh cnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1Vu aXgvU2lnbmFscy5pbmMKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3 aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2ln bmFscy5pbmMubWUJMjAyMy0wMS0xOSAxNjowOToyOS4yMTY0NzcxODIgKzAxMDAKKysrKyBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xs dm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMJMjAyMy0wMS0xOSAxNjox MDowNS42NTcwODkyMDggKzAxMDAKK0BAIC00NSw2ICs0NSw3IEBACisgI2luY2x1ZGUgImxsdm0v U3VwcG9ydC9TYXZlQW5kUmVzdG9yZS5oIgorICNpbmNsdWRlICJsbHZtL1N1cHBvcnQvcmF3X29z dHJlYW0uaCIKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorKyNpbmNsdWRlIDxjc3RkaW50PgorICNp bmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHN5c2V4aXRzLmg+CisgI2lmZGVmIEhBVkVfQkFD S1RSQUNFCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3By aXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oLm1lIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3Vy ZmFjZV90cmFja2VyLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2Vy L3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oLm1lCTIwMjMtMDEt MTkgMTY6MzI6MDUuMzM4MTYwMTMxICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9j aHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIu aAkyMDIzLTAxLTE5IDE2OjMyOjE2LjIxMzMyNjc5OCArMDEwMAorQEAgLTUsNiArNSw3IEBACisg I2lmbmRlZiBDSFJPTUVfQlJPV1NFUl9QUklWQUNZX0JVREdFVF9FTkNPVU5URVJFRF9TVVJGQUNF X1RSQUNLRVJfSF8KKyAjZGVmaW5lIENIUk9NRV9CUk9XU0VSX1BSSVZBQ1lfQlVER0VUX0VOQ09V TlRFUkVEX1NVUkZBQ0VfVFJBQ0tFUl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNs dWRlIDxtYXA+CisgCisgI2luY2x1ZGUgImJhc2UvY29udGFpbmVycy9mbGF0X3NldC5oIgorZGlm ZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJv d3Nlci9hdXRvZmlsbF9hYmxhdGlvbl9zdHVkeS5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv Y29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHku aAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jy b3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaC5tZQkyMDIzLTAxLTE5IDE2OjQ3OjU1LjU0 ODU3MTEwMiArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRv ZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaAkyMDIzLTAxLTE5IDE2 OjQ4OjI5LjIxNDE0NjUyOSArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05F TlRTX0FVVE9GSUxMX0NPUkVfQlJPV1NFUl9BVVRPRklMTF9BQkxBVElPTl9TVFVEWV9IXworICNk ZWZpbmUgQ09NUE9ORU5UU19BVVRPRklMTF9DT1JFX0JST1dTRVJfQVVUT0ZJTExfQUJMQVRJT05f U1RVRFlfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAor IGNsYXNzIEdVUkw7CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMv b21uaWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21vZGVsLmgubWUgY2hyb21pdW0tMTA5LjAu NTQxNC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5o CistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9v bl9kZXZpY2VfaGVhZF9tb2RlbC5oLm1lCTIwMjMtMDEtMTkgMTY6NTc6MjkuNTI1MzcyODE0ICsw MTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nl ci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oCTIwMjMtMDEtMTkgMTY6NTg6MDIuNjY3OTc5Mjg4ICsw MTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBPTkVOVFNfT01OSUJPWF9CUk9XU0VS X09OX0RFVklDRV9IRUFEX01PREVMX0hfCisgI2RlZmluZSBDT01QT05FTlRTX09NTklCT1hfQlJP V1NFUl9PTl9ERVZJQ0VfSEVBRF9NT0RFTF9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNp bmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHV0aWxpdHk+CisgI2luY2x1ZGUgPHZlY3Rvcj4K K2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250 ZW50L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFyc2VyLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIu aAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50 L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFyc2VyLmgubWUJMjAyMy0wMS0xOSAxNzowMjo0NS4yNTg1 NDQ2NjUgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5bWVu dHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oCTIwMjMtMDEtMTkgMTc6MDI6 NTIuNTc3NjExNzU3ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBPTkVOVFNf UEFZTUVOVFNfQ09OVEVOVF9VVElMSVRZX0ZJTkdFUlBSSU5UX1BBUlNFUl9IXworICNkZWZpbmUg Q09NUE9ORU5UU19QQVlNRU5UU19DT05URU5UX1VUSUxJVFlfRklOR0VSUFJJTlRfUEFSU0VSX0hf CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0ZGRlZi5oPgorIAorICNpbmNs dWRlIDxzdHJpbmc+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVu dF9hdHRhY2htZW50X2luZm8uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVu dF9hdHRhY2htZW50X2luZm8uaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3Vt ZW50X2F0dGFjaG1lbnRfaW5mby5oLm1lCTIwMjMtMDEtMTkgMTc6Mjg6MjguNTUyMDYzNTM0ICsw MTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9p bmZvLmgJMjAyMy0wMS0xOSAxNzoyODo0OC4wNzIzNzk5NTMgKzAxMDAKK0BAIC01LDYgKzUsNyBA QAorICNpZm5kZWYgUERGX0RPQ1VNRU5UX0FUVEFDSE1FTlRfSU5GT19IXworICNkZWZpbmUgUERG X0RPQ1VNRU5UX0FUVEFDSE1FTlRfSU5GT19IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNp bmNsdWRlIDxzdHJpbmc+CisgCisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Ro aXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2Zs YWdzLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25z dGFudHMvYW5ub3RhdGlvbl9mbGFncy5oLm1lCTIwMjMtMDEtMTkgMTg6MjU6NDcuNjQ4MTkzNzEw ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29u c3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaAkyMDIzLTAxLTE5IDE4OjI2OjExLjQ4ODU5MzU1NiAr MDEwMAorQEAgLTUsNiArNSw4IEBACisgI2lmbmRlZiBDT05TVEFOVFNfQU5OT1RBVElPTl9GTEFH U19IXworICNkZWZpbmUgQ09OU1RBTlRTX0FOTk9UQVRJT05fRkxBR1NfSF8KKyAKKysjaW5jbHVk ZSA8Y3N0ZGludD4KKysKKyBuYW1lc3BhY2UgcGRmaXVtIHsKKyBuYW1lc3BhY2UgYW5ub3RhdGlv bl9mbGFncyB7CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY3B1Lmgu bWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NwdS5oCistLS0gY2hyb21pdW0tMTA5LjAu NTQxNC43NC9iYXNlL2NwdS5oLm1lCTIwMjMtMDEtMTkgMjE6MzE6MDIuOTA1MDYyOTg3ICswMTAw CisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NwdS5oCTIwMjMtMDEtMTkgMjE6MzE6 MzIuMjk4NTczMjY3ICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIEJBU0VfQ1BVX0hf CisgI2RlZmluZSBCQVNFX0NQVV9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRl IDxzdHJpbmc+CisgCisgI2luY2x1ZGUgImJhc2UvYmFzZV9leHBvcnQuaCIKK2RpZmYgLXVwIGNo cm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlk YXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oLm1lIGNo cm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlk YXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oCistLS0g Y2hyb21pdW0tMTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFs aWRhdGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgubWUJ MjAyMy0wNC0xNSAxNjo0NDo1NS4zNDQzMDU0MTIgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTMuMC41 NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9z cmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2MuaAkyMDIzLTA0LTE1IDE2OjQ3OjA5 LjAyODY2Njk5NSArMDIwMAorQEAgLTI4NTQsNiArMjg1NCw3IEBAIHN0YXRpYyB2b2lkIHZtYV9h bGlnbmVkX2ZyZWUodm9pZCogVk1BX04KKyAKKyAvLyBEZWZpbmUgdGhpcyBtYWNybyB0byAxIHRv IGVuYWJsZSBmdW5jdGlvbnM6IHZtYUJ1aWxkU3RhdHNTdHJpbmcsIHZtYUZyZWVTdGF0c1N0cmlu Zy4KKyAjaWYgVk1BX1NUQVRTX1NUUklOR19FTkFCTEVECisrI2luY2x1ZGUgPHN0ZGlvLmg+Cisg ICAgIHN0YXRpYyBpbmxpbmUgdm9pZCBWbWFVaW50MzJUb1N0cihjaGFyKiBWTUFfTk9UX05VTEwg b3V0U3RyLCBzaXplX3Qgc3RyTGVuLCB1aW50MzJfdCBudW0pCisgICAgIHsKKyAgICAgICAgIHNu cHJpbnRmKG91dFN0ciwgc3RyTGVuLCAiJXUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KG51 bSkpOworZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUvYnJvd3Nlci93ZWJh dXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgubWUgY2hyb21pdW0tMTEz LjAuNTY3Mi4zNy9jaHJvbWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3Rf ZGlhbG9nX21vZGVsLmgKKy0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2Vy L3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaC5tZQkyMDIzLTA0 LTE4IDE1OjU1OjQ0Ljc3NDkxNjMxOSArMDIwMAorKysrIGNocm9taXVtLTExMy4wLjU2NzIuMzcv Y2hyb21lL2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2Rl bC5oCTIwMjMtMDQtMTggMTU6NTU6NTQuNDQxMDg1ODgyICswMjAwCitAQCAtOCw2ICs4LDcgQEAK KyAjaW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHZlY3Rv cj4KKysjaW5jbHVkZSA8dmFyaWFudD4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jb250YWluZXJzL3Nw YW4uaCIKKyAjaW5jbHVkZSAiYmFzZS9mdW5jdGlvbmFsL2NhbGxiYWNrX2ZvcndhcmQuaCIKK2Rp ZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oLm1lIGNocm9t aXVtLTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oCistLS0gY2hyb21pdW0tMTEzLjAu NTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgubWUJMjAyMy0wNC0xOCAxNjozODo0MS4xODA0Mzc0 NjcgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1wZXIuaAky MDIzLTA0LTE4IDE2OjM5OjQzLjg1NzA0OTQzMiArMDIwMAorQEAgLTQ4LDcgKzQ4LDcgQEAgY2xh c3MgR0lOX0VYUE9SVCBUaW1lQ2xhbXBlciB7CisgICAgIGNvbnN0IGludDY0X3QgbWljcm9zID0g bm93X21pY3JvcyAlIDEwMDA7CisgICAgIC8vIGFicygpIGlzIG5lY2Vzc2FyeSBmb3IgZGV2aWNl cyB3aXRoIHRpbWVzIGJlZm9yZSB1bml4LWVwb2NoIChtb3N0IGxpa2VseQorICAgICAvLyBjb25m aWd1cmVkIGluY29ycmVjdGx5KS4KKy0gICAgaWYgKGFicyhtaWNyb3MpICsga1Jlc29sdXRpb25N aWNyb3MgPCAxMDAwKSB7CisrICAgIGlmIChzdGQ6OmFicyhtaWNyb3MpICsga1Jlc29sdXRpb25N aWNyb3MgPCAxMDAwKSB7CisgICAgICAgcmV0dXJuIG5vd19taWNyb3MgLyAxMDAwOworICAgICB9 CisgICAgIHJldHVybiBDbGFtcFRpbWVSZXNvbHV0aW9uKG5vd19taWNyb3MpIC8gMTAwMDsKK2Rp ZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2No cm9tZS93ZWJfdmlld19pbXBsLmNjLm1lIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3Rl c3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjCistLS0gY2hyb21pdW0tMTEz LjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwu Y2MubWUJMjAyMy0wNC0yMSAwODowNzo1NS4zNjI3MTQ1NDQgKzAyMDAKKysrKyBjaHJvbWl1bS0x MTMuMC41NjcyLjUzL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1w bC5jYwkyMDIzLTA0LTIxIDA4OjE0OjM1LjQyNDE1ODY5MyArMDIwMAorQEAgLTEwLDYgKzEwLDcg QEAKKyAjaW5jbHVkZSA8cXVldWU+CisgI2luY2x1ZGUgPHV0aWxpdHk+CisgI2luY2x1ZGUgPHZl Y3Rvcj4KKysjaW5jbHVkZSA8Y3N0cmluZz4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jaGVjay5oIgor ICNpbmNsdWRlICJiYXNlL2ZpbGVzL2ZpbGVfcGF0aC5oIgoKZGlmZiAtLWdpdCBhL2Nocm9taXVt LTExMy1ub3Jhci5wYXRjaCBiL2Nocm9taXVtLTExMy1ub3Jhci5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGRjNzJmCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21p dW0tMTEzLW5vcmFyLnBhdGNoCkBAIC0wLDAgKzEsMTE1IEBACitkaWZmIC11cCBjaHJvbWl1bS0x MTMuMC41NjcyLjI0L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9CVUlMRC5nbi5ub3VucmFy IGNocm9taXVtLTExMy4wLjU2NzIuMjQvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0JVSUxE LmduCistLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3Np bmcvQlVJTEQuZ24ubm91bnJhcgkyMDIzLTA0LTA3IDEzOjExOjU5LjQ5NTkyNzQ3NiArMDIwMAor KysrIGNocm9taXVtLTExMy4wLjU2NzIuMjQvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0JV SUxELmduCTIwMjMtMDQtMDcgMTM6NDc6NTcuMDA0NzU4MDI5ICswMjAwCitAQCAtMTQzLDggKzE0 Myw2IEBAIHNvdXJjZV9zZXQoInNhZmVfYnJvd3NpbmciKSB7CisgICAgICAgInByb3RvYnVmX21l c3NhZ2VfbG9nX21hY3Jvcy5oIiwKKyAgICAgICAicHJvdG9idWZfbWVzc2FnZV9yZWFkX21hY3Jv cy5oIiwKKyAgICAgICAicHJvdG9idWZfbWVzc2FnZV93cml0ZV9tYWNyb3MuaCIsCistICAgICAg InJhcl9hbmFseXplci5jYyIsCistICAgICAgInJhcl9hbmFseXplci5oIiwKKyAgICAgICAic2V2 ZW5femlwX2FuYWx5emVyLmNjIiwKKyAgICAgICAic2V2ZW5femlwX2FuYWx5emVyLmgiLAorICAg ICAgICJ6aXBfYW5hbHl6ZXIuY2MiLAorQEAgLTE2MCw3ICsxNTgsNiBAQCBzb3VyY2Vfc2V0KCJz YWZlX2Jyb3dzaW5nIikgeworICAgICAgICIvL2NvbXBvbmVudHMvc2FmZV9icm93c2luZy9jb250 ZW50L2NvbW1vbjpmaWxlX3R5cGVfcG9saWNpZXMiLAorICAgICAgICIvL2NvbXBvbmVudHMvc2Fm ZV9icm93c2luZy9jb3JlL2NvbW1vbiIsCisgICAgICAgIi8vdGhpcmRfcGFydHkvbHptYV9zZGsv Z29vZ2xlOnNldmVuX3ppcF9yZWFkZXIiLAorLSAgICAgICIvL3RoaXJkX3BhcnR5L3VucmFyOnVu cmFyIiwKKyAgICAgXQorIAorICAgICBpZiAoaXNfbGludXgpIHsKK2RpZmYgLXVwIGNocm9taXVt LTExMy4wLjU2NzIuMjQvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL0RFUFMubm91bnJhciBj aHJvbWl1bS0xMTMuMC41NjcyLjI0L2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9ERVBTCist LS0gY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvREVQ Uy5ub3VucmFyCTIwMjMtMDQtMDQgMjA6NDE6MjYuMDAwMDAwMDAwICswMjAwCisrKysgY2hyb21p dW0tMTEzLjAuNTY3Mi4yNC9jaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvREVQUwkyMDIzLTA0 LTA3IDEzOjExOjU5LjQ5NTkyNzQ3NiArMDIwMAorQEAgLTMsNyArMyw2IEBAIGluY2x1ZGVfcnVs ZXMgPSBbCisgICAiK2NvbXBvbmVudHMvc2FmZV9icm93c2luZy9jb3JlL2NvbW1vbiIsCisgICAi K3RoaXJkX3BhcnR5L21hbGRvY2EiLAorICAgIit0aGlyZF9wYXJ0eS9wcm90b2J1ZiIsCistICAi K3RoaXJkX3BhcnR5L3VucmFyIiwKKyAgICIrdGhpcmRfcGFydHkvemxpYiIsCisgICAiK3RoaXJk X3BhcnR5L2x6bWFfc2RrL2dvb2dsZSIsCisgXQorZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3 Mi4yNC9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL0JVSUxELmduLm5vdW5yYXIgY2hyb21pdW0t MTEzLjAuNTY3Mi4yNC9jaHJvbWUvc2VydmljZXMvZmlsZV91dGlsL0JVSUxELmduCitkaWZmIC11 cCBjaHJvbWl1bS0xMTMuMC41NjcyLjI0L2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2FmZV9h cmNoaXZlX2FuYWx5emVyLmNjLm5vdW5yYXIgY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC9jaHJvbWUv c2VydmljZXMvZmlsZV91dGlsL3NhZmVfYXJjaGl2ZV9hbmFseXplci5jYworLS0tIGNocm9taXVt LTExMy4wLjU2NzIuMjQvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5h bHl6ZXIuY2Mubm91bnJhcgkyMDIzLTA0LTA3IDEzOjExOjU5LjQ5NTkyNzQ3NiArMDIwMAorKysr IGNocm9taXVtLTExMy4wLjU2NzIuMjQvY2hyb21lL3NlcnZpY2VzL2ZpbGVfdXRpbC9zYWZlX2Fy Y2hpdmVfYW5hbHl6ZXIuY2MJMjAyMy0wNC0wNyAxMzo1Mjo1Mi45OTgxMDkwMDYgKzAyMDAKK0BA IC02MSw2ICs2MSw3IEBAIHZvaWQgU2FmZUFyY2hpdmVBbmFseXplcjo6QW5hbHl6ZVJhckZpbGUK KyAgICAgYmFzZTo6RmlsZSByYXJfZmlsZSwKKyAgICAgbW9qbzo6UGVuZGluZ1JlbW90ZTxjaHJv bWU6Om1vam9tOjpUZW1wb3JhcnlGaWxlR2V0dGVyPiB0ZW1wX2ZpbGVfZ2V0dGVyLAorICAgICBB bmFseXplUmFyRmlsZUNhbGxiYWNrIGNhbGxiYWNrKSB7CisrI2lmIDAKKyAgIERDSEVDSyhyYXJf ZmlsZS5Jc1ZhbGlkKCkpOworICAgdGVtcF9maWxlX2dldHRlcl8uQmluZChzdGQ6Om1vdmUodGVt cF9maWxlX2dldHRlcikpOworICAgY2FsbGJhY2tfID0gc3RkOjptb3ZlKGNhbGxiYWNrKTsKK0BA IC03Niw2ICs3Nyw5IEBAIHZvaWQgU2FmZUFyY2hpdmVBbmFseXplcjo6QW5hbHl6ZVJhckZpbGUK KyAgIHJhcl9hbmFseXplcl8uSW5pdChzdGQ6Om1vdmUocmFyX2ZpbGUpLCBiYXNlOjpGaWxlUGF0 aCgpLAorICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bW92ZShhbmFseXNpc19maW5pc2hlZF9j YWxsYmFjayksCisgICAgICAgICAgICAgICAgICAgICAgc3RkOjptb3ZlKHRlbXBfZmlsZV9nZXR0 ZXJfY2FsbGJhY2spLCAmcmVzdWx0c18pOworKyNlbHNlCisrICBOT1RSRUFDSEVEKCk7CisrI2Vu ZGlmCisgfQorIAorIHZvaWQgU2FmZUFyY2hpdmVBbmFseXplcjo6QW5hbHl6ZVNldmVuWmlwRmls ZSgKK2RpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL2NvbW1vbi9zYWZlX2Jy b3dzaW5nL3ppcF9hbmFseXplci5jYy5tZSBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS9j b21tb24vc2FmZV9icm93c2luZy96aXBfYW5hbHl6ZXIuY2MKKy0tLSBjaHJvbWl1bS0xMTMuMC41 NjcyLjUzL2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy96aXBfYW5hbHl6ZXIuY2MubWUJMjAy My0wNC0yMyAxODoxMDowNi4xMDM4NTgzNjIgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTMuMC41Njcy LjUzL2Nocm9tZS9jb21tb24vc2FmZV9icm93c2luZy96aXBfYW5hbHl6ZXIuY2MJMjAyMy0wNC0y MyAxODoxMjowNS40MjgwOTIzNDcgKzAyMDAKK0BAIC0xOCw3ICsxOCw3IEBACisgI2luY2x1ZGUg ImJhc2UvdGltZS90aW1lLmgiCisgI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorICNp bmNsdWRlICJjaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvYXJjaGl2ZV9hbmFseXplcl9yZXN1 bHRzLmgiCistI2luY2x1ZGUgImNocm9tZS9jb21tb24vc2FmZV9icm93c2luZy9yYXJfYW5hbHl6 ZXIuaCIKKysvLyNpbmNsdWRlICJjaHJvbWUvY29tbW9uL3NhZmVfYnJvd3NpbmcvcmFyX2FuYWx5 emVyLmgiCisgI2luY2x1ZGUgImNvbXBvbmVudHMvc2FmZV9icm93c2luZy9jb250ZW50L2NvbW1v bi9maWxlX3R5cGVfcG9saWNpZXMuaCIKKyAjaW5jbHVkZSAiY29tcG9uZW50cy9zYWZlX2Jyb3dz aW5nL2NvcmUvY29tbW9uL2ZlYXR1cmVzLmgiCisgI2luY2x1ZGUgImNvbXBvbmVudHMvc2FmZV9i cm93c2luZy9jb3JlL2NvbW1vbi9wcm90by9jc2QucGIuaCIKK0BAIC0xMzIsMTQgKzEzMiwxNCBA QCBib29sIFppcEFuYWx5emVyOjpBbmFseXplTmVzdGVkQXJjaGl2ZSgKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RkOjptb3ZlKG5lc3RlZF9hbmFseXNpc19maW5pc2hlZF9jYWxs YmFjayksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldF90ZW1wX2ZpbGVfY2Fs bGJhY2tfLCByZXN1bHRzXyk7CisgICAgIHJldHVybiB0cnVlOworLSAgfSBlbHNlIGlmIChmaWxl X3R5cGUgPT0gRG93bmxvYWRGaWxlVHlwZTo6UkFSKSB7CisrICB9IC8qIGVsc2UgaWYgKGZpbGVf dHlwZSA9PSBEb3dubG9hZEZpbGVUeXBlOjpSQVIpIHsKKyAgICAgbmVzdGVkX3Jhcl9hbmFseXpl cl8gPSBzdGQ6Om1ha2VfdW5pcXVlPHNhZmVfYnJvd3Npbmc6OlJhckFuYWx5emVyPigpOworICAg ICBuZXN0ZWRfcmFyX2FuYWx5emVyXy0+SW5pdCh0ZW1wX2ZpbGVfLkR1cGxpY2F0ZSgpLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb290X3ppcF9wYXRoXy5BcHBlbmQocGF0aCks CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bW92ZShuZXN0ZWRfYW5hbHlz aXNfZmluaXNoZWRfY2FsbGJhY2spLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn ZXRfdGVtcF9maWxlX2NhbGxiYWNrXywgcmVzdWx0c18pOworICAgICByZXR1cm4gdHJ1ZTsKKy0g IH0KKysgIH0qLworICAgcmV0dXJuIGZhbHNlOworIH0KKyAKK2RpZmYgLXVwIGNocm9taXVtLTEx My4wLjU2NzIuNTMvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL3ppcF9hbmFseXplci5oLm1l IGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dzaW5nL3ppcF9h bmFseXplci5oCistLS0gY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvY29tbW9uL3NhZmVf YnJvd3NpbmcvemlwX2FuYWx5emVyLmgubWUJMjAyMy0wNC0yMyAxODoxMjoxMS4zMTYyMDM0OTYg KzAyMDAKKysrKyBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS9jb21tb24vc2FmZV9icm93 c2luZy96aXBfYW5hbHl6ZXIuaAkyMDIzLTA0LTIzIDE4OjEyOjI2LjgyNzQ5ODA4MiArMDIwMAor QEAgLTc4LDcgKzc4LDcgQEAgY2xhc3MgWmlwQW5hbHl6ZXIgeworICAgLy8gREZTLgorICAgLy8g VE9ETyhjcmJ1Zy5jb20vMTQyNjE2NCkgQ3JlYXRlIGEgY29tbW9uIGNsYXNzIHRvIGhvbGQgYWxs IGFuYWx5emVycy4KKyAgIHN0ZDo6dW5pcXVlX3B0cjxzYWZlX2Jyb3dzaW5nOjpaaXBBbmFseXpl cj4gbmVzdGVkX3ppcF9hbmFseXplcl87CistICBzdGQ6OnVuaXF1ZV9wdHI8c2FmZV9icm93c2lu Zzo6UmFyQW5hbHl6ZXI+IG5lc3RlZF9yYXJfYW5hbHl6ZXJfOworKy8vICBzdGQ6OnVuaXF1ZV9w dHI8c2FmZV9icm93c2luZzo6UmFyQW5hbHl6ZXI+IG5lc3RlZF9yYXJfYW5hbHl6ZXJfOworIAor ICAgYmFzZTo6V2Vha1B0ckZhY3Rvcnk8WmlwQW5hbHl6ZXI+IHdlYWtfZmFjdG9yeV97dGhpc307 CisgfTsKK2RpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3NlcnZpY2VzL2Zp bGVfdXRpbC9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIuaC5tZSBjaHJvbWl1bS0xMTMuMC41NjcyLjUz L2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2FmZV9hcmNoaXZlX2FuYWx5emVyLmgKKy0tLSBj aHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2FmZV9hcmNo aXZlX2FuYWx5emVyLmgubWUJMjAyMy0wNC0yMyAxODowNjoyNi40NzY3OTE1MjAgKzAyMDAKKysr KyBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS9zZXJ2aWNlcy9maWxlX3V0aWwvc2FmZV9h cmNoaXZlX2FuYWx5emVyLmgJMjAyMy0wNC0yMyAxODowODo1OC41OTQ2MDYxNzEgKzAyMDAKK0BA IC02LDcgKzYsNyBAQAorICNkZWZpbmUgQ0hST01FX1NFUlZJQ0VTX0ZJTEVfVVRJTF9TQUZFX0FS Q0hJVkVfQU5BTFlaRVJfSF8KKyAKKyAjaW5jbHVkZSAiY2hyb21lL2NvbW1vbi9zYWZlX2Jyb3dz aW5nL2FyY2hpdmVfYW5hbHl6ZXJfcmVzdWx0cy5oIgorLSNpbmNsdWRlICJjaHJvbWUvY29tbW9u L3NhZmVfYnJvd3NpbmcvcmFyX2FuYWx5emVyLmgiCisrLy8jaW5jbHVkZSAiY2hyb21lL2NvbW1v bi9zYWZlX2Jyb3dzaW5nL3Jhcl9hbmFseXplci5oIgorICNpbmNsdWRlICJjaHJvbWUvc2Vydmlj ZXMvZmlsZV91dGlsL3B1YmxpYy9tb2pvbS9zYWZlX2FyY2hpdmVfYW5hbHl6ZXIubW9qb20uaCIK KyAjaW5jbHVkZSAibW9qby9wdWJsaWMvY3BwL2JpbmRpbmdzL3JlbW90ZS5oIgorIAorQEAgLTU5 LDcgKzU5LDcgQEAgY2xhc3MgU2FmZUFyY2hpdmVBbmFseXplciA6IHB1YmxpYyBjaHJvbQorICAg dm9pZCBUaW1lb3V0KCk7CisgCisgICBzYWZlX2Jyb3dzaW5nOjpaaXBBbmFseXplciB6aXBfYW5h bHl6ZXJfOworLSAgc2FmZV9icm93c2luZzo6UmFyQW5hbHl6ZXIgcmFyX2FuYWx5emVyXzsKKysv LyAgc2FmZV9icm93c2luZzo6UmFyQW5hbHl6ZXIgcmFyX2FuYWx5emVyXzsKKyAKKyAgIC8vIEEg dGltZXIgdG8gZW5zdXJlIG5vIGFyY2hpdmUgdGFrZXMgdG9vIGxvbmcgdG8gdW5wYWNrLgorICAg YmFzZTo6T25lU2hvdFRpbWVyIHRpbWVvdXRfdGltZXJfOwoKZGlmZiAtLWdpdCBhL2Nocm9taXVt LTExMy1yaGVsOC1mb3JjZS1kaXNhYmxlLXVzZV9nbm9tZV9rZXlyaW5nLnBhdGNoIGIvY2hyb21p dW0tMTEzLXJoZWw4LWZvcmNlLWRpc2FibGUtdXNlX2dub21lX2tleXJpbmcucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkxZjUyOAotLS0gL2Rldi9udWxsCisrKyBi L2Nocm9taXVtLTExMy1yaGVsOC1mb3JjZS1kaXNhYmxlLXVzZV9nbm9tZV9rZXlyaW5nLnBhdGNo CkBAIC0wLDAgKzEsMTIgQEAKK2RpZmYgLXVwIGNocm9taXVtLTExMy4wLjU2NzIuMjQvY29tcG9u ZW50cy9vc19jcnlwdC9zeW5jL2ZlYXR1cmVzLmduaS5kaXNibGVnbm9tZWtleXJpbmcgY2hyb21p dW0tMTEzLjAuNTY3Mi4yNC9jb21wb25lbnRzL29zX2NyeXB0L3N5bmMvZmVhdHVyZXMuZ25pCist LS0gY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC9jb21wb25lbnRzL29zX2NyeXB0L3N5bmMvZmVhdHVy ZXMuZ25pLmRpc2JsZWdub21la2V5cmluZwkyMDIzLTA0LTA3IDE0OjIzOjExLjA4Mzk4NTQ2MCAr MDIwMAorKysrIGNocm9taXVtLTExMy4wLjU2NzIuMjQvY29tcG9uZW50cy9vc19jcnlwdC9zeW5j L2ZlYXR1cmVzLmduaQkyMDIzLTA0LTA3IDE0OjIzOjQ0LjI3NjU5OTM1MyArMDIwMAorQEAgLTgs NyArOCw3IEBAIGltcG9ydCgiLy9idWlsZC9jb25maWcvdWkuZ25pIikKKyBkZWNsYXJlX2FyZ3Mo KSB7CisgICAjIFdoZXRoZXIgdG8gdXNlIGxpYmdub21lLWtleXJpbmcgKGRlcHJlY2F0ZWQgYnkg bGlic2VjcmV0KS4KKyAgICMgU2VlIGh0dHA6Ly9jcmJ1Zy5jb20vNDY2OTc1IGFuZCBodHRwOi8v Y3JidWcuY29tLzM1NTIyMy4KKy0gIHVzZV9nbm9tZV9rZXlyaW5nID0gaXNfbGludXggJiYgdXNl X2dsaWIKKysgIHVzZV9nbm9tZV9rZXlyaW5nID0gZmFsc2UKKyAKKyAgICMgV2hldGhlciB0byBt YWtlIGFjY291bnQgYW5kIHNlcnZpY2UgbmFtZXMgZm9yIHRoZSBjcnlwdG8ga2V5IHN0b3JhZ2UK KyAgICMgY29uZmlndXJhYmxlIGF0IHJ1bnRpbWUgZm9yIGVtYmVkZGVycy4KCmRpZmYgLS1naXQg YS9jaHJvbWl1bS03MS4wLjM1NzguOTgtd2lkZXZpbmUtcjMucGF0Y2ggYi9jaHJvbWl1bS03MS4w LjM1NzguOTgtd2lkZXZpbmUtcjMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDA2YjVjN2IuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tNzEuMC4zNTc4Ljk4LXdpZGV2aW5lLXIz LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotZGlmZiAtdXByIGNocm9taXVt LTcxLjAuMzU3OC44MC5vcmlnL3RoaXJkX3BhcnR5L3dpZGV2aW5lL2NkbS93aWRldmluZV9jZG1f dmVyc2lvbi5oIGNocm9taXVtLTcxLjAuMzU3OC44MC90aGlyZF9wYXJ0eS93aWRldmluZS9jZG0v d2lkZXZpbmVfY2RtX3ZlcnNpb24uaAotLS0tIGNocm9taXVtLTcxLjAuMzU3OC44MC5vcmlnL3Ro aXJkX3BhcnR5L3dpZGV2aW5lL2NkbS93aWRldmluZV9jZG1fdmVyc2lvbi5oCTIwMTgtMTItMjEg MjA6MTg6MDEuMDAwMDAwMDAwICswMDAwCi0rKysgY2hyb21pdW0tNzEuMC4zNTc4LjgwL3RoaXJk X3BhcnR5L3dpZGV2aW5lL2NkbS93aWRldmluZV9jZG1fdmVyc2lvbi5oCTIwMTgtMTItMjEgMjE6 Mzc6NDUuNjM1Mzc0OTQ5ICswMDAwCi1AQCAtMTIsNCArMTIsNiBAQAotIC8vICAtIFdJREVWSU5F X0NETV9WRVJTSU9OX1NUUklORyAod2l0aCB0aGUgdmVyc2lvbiBvZiB0aGUgQ0RNIHRoYXQncyBh dmFpbGFibGUKLSAvLyAgICBhcyBhIHN0cmluZywgZS5nLiwgIjEuMC4xMjMuNDU2IikuCi0gCi0r I2RlZmluZSBXSURFVklORV9DRE1fVkVSU0lPTl9TVFJJTkcgInVua25vd24iCi0rCi0gI2VuZGlm ICAvLyBXSURFVklORV9DRE1fVkVSU0lPTl9IXwoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTg2LjAu NDI0MC43NS1maXgtdmFhcGktb24taW50ZWwucGF0Y2ggYi9jaHJvbWl1bS04Ni4wLjQyNDAuNzUt Zml4LXZhYXBpLW9uLWludGVsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw NGZhMmE3Li4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTg2LjAuNDI0MC43NS1maXgtdmFhcGktb24t aW50ZWwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1kaWZmIC11cCBjaHJv bWl1bS04Ni4wLjQyNDAuNzUvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2Nl bGVyYXRvci5jYy52YWFwaS1pbnRlbC1maXggY2hyb21pdW0tODYuMC40MjQwLjc1L21lZGlhL2dw dS92YWFwaS92YWFwaV92aWRlb19kZWNvZGVfYWNjZWxlcmF0b3IuY2MKLS0tLSBjaHJvbWl1bS04 Ni4wLjQyNDAuNzUvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRv ci5jYy52YWFwaS1pbnRlbC1maXgJMjAyMC0xMC0wNyAxMjozODo0Ny4wMDAwMDAwMDAgLTA0MDAK LSsrKyBjaHJvbWl1bS04Ni4wLjQyNDAuNzUvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2Rl Y29kZV9hY2NlbGVyYXRvci5jYwkyMDIwLTEwLTE0IDE2OjIwOjQ2LjkzODU1NjA0MiAtMDQwMAot QEAgLTU4LDYgKzU4LDcgQEAgdW5zaWduZWQgaW50IEdldFZhRm9ybWF0Rm9yVmlkZW9Db2RlY1By bwotICAgcmV0dXJuIFZBX1JUX0ZPUk1BVF9ZVVY0MjA7Ci0gfQotIAotKyNpZiBkZWZpbmVkKE9T X0FORFJPSUQpIHx8IGRlZmluZWQoT1NfQ0hST01FT1MpCi0gLy8gUmV0dXJucyB0cnVlIGlmIHRo ZSBDUFUgaXMgYW4gSW50ZWwgR2VtaW5pIExha2Ugb3IgbGF0ZXIgKGluY2x1ZGluZyBLYWJ5Ci0g Ly8gTGFrZSkgQ3B1IHBsYXRmb3JtIGlkJ3MgYXJlIHJlZmVyZW5jZWQgZnJvbSB0aGUgZm9sbG93 aW5nIGZpbGUgaW4ga2VybmVsCi0gLy8gc291cmNlIGFyY2gveDg2L2luY2x1ZGUvYXNtL2ludGVs LWZhbWlseS5oCi1AQCAtNzAsNiArNzEsNyBAQCBib29sIElzR2VtaW5pTGFrZU9yTGF0ZXIoKSB7 Ci0gICAgICAgY3B1aWQubW9kZWwoKSA+PSBrR2VtaW5pTGFrZU1vZGVsSWQ7Ci0gICByZXR1cm4g aXNfZ2VtaW5pbGFrZV9vcl9sYXRlcjsKLSB9Ci0rI2VuZGlmCi0gCi0gfSAgLy8gbmFtZXNwYWNl Ci0gCi1AQCAtMTIxNCw2ICsxMjE2LDggQEAgVmFhcGlWaWRlb0RlY29kZUFjY2VsZXJhdG9yOjpE ZWNpZGVCdWZmZQotICAgaWYgKG91dHB1dF9tb2RlXyA9PSBWaWRlb0RlY29kZUFjY2VsZXJhdG9y OjpDb25maWc6Ok91dHB1dE1vZGU6OklNUE9SVCkKLSAgICAgcmV0dXJuIEJ1ZmZlckFsbG9jYXRp b25Nb2RlOjprTm9ybWFsOwotIAotKyNpZiBkZWZpbmVkKE9TX0FORFJPSUQpIHx8IGRlZmluZWQo T1NfQ0hST01FT1MpCi0rICAvLyBNb3ZlIHRoaXMgdG8gY2hyb21lT3Mgb25seSBhcyBpdCBpcyBj YXVzaW5nIHByb2JsZW0gaW4gc29tZSBpbnRlbCBsaW51eCBkcml2ZXJzCi0gICAvLyBPbiBHZW1p bmkgTGFrZSwgS2FieSBMYWtlIGFuZCBsYXRlciB3ZSBjYW4gcGFzcyB0byBsaWJ2YSB0aGUgY2xp ZW50J3MKLSAgIC8vIFBpY3R1cmVCdWZmZXJzIHRvIGRlY29kZSBvbnRvLCB3aGljaCBza2lwcyB0 aGUgdXNlIG9mIHRoZSBWcHAgdW5pdCBhbmQgaXRzCi0gICAvLyBhc3NvY2lhdGVkIGZvcm1hdCBy ZWNvbmNpbGlhdGlvbiBjb3B5LCBhdm9pZGluZyBhbGwgaW50ZXJuYWwgYnVmZmVyCi1AQCAtMTIy OSw2ICsxMjMzLDcgQEAgVmFhcGlWaWRlb0RlY29kZUFjY2VsZXJhdG9yOjpEZWNpZGVCdWZmZQot ICAgICAgIG51bV9leHRyYV9waWNzXyA9IDM7Ci0gICAgIHJldHVybiBCdWZmZXJBbGxvY2F0aW9u TW9kZTo6a05vbmU7Ci0gICB9Ci0rI2VuZGlmCi0gCi0gICAvLyBGb3IgSC4yNjQgb24gb2xkZXIg ZGV2aWNlcywgYW5vdGhlciArMSBpcyBleHBlcmltZW50YWxseSBuZWVkZWQgZm9yCi0gICAvLyBo aWdoLXRvLWhpZ2ggcmVzb2x1dGlvbiBjaGFuZ2VzLgoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTk5 LjAuNDg0NC41MS1yaGVsOC1mb3JjZS1kaXNhYmxlLXVzZV9nbm9tZV9rZXlyaW5nLnBhdGNoIGIv Y2hyb21pdW0tOTkuMC40ODQ0LjUxLXJoZWw4LWZvcmNlLWRpc2FibGUtdXNlX2dub21lX2tleXJp bmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE2NWYyNDQuLjAwMDAwMDAK LS0tIGEvY2hyb21pdW0tOTkuMC40ODQ0LjUxLXJoZWw4LWZvcmNlLWRpc2FibGUtdXNlX2dub21l X2tleXJpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1kaWZmIC11cCBj aHJvbWl1bS05OS4wLjQ4NDQuNTEvY29tcG9uZW50cy9vc19jcnlwdC9mZWF0dXJlcy5nbmkuZGlz YmxlZ25vbWVrZXlyaW5nIGNocm9taXVtLTk5LjAuNDg0NC41MS9jb21wb25lbnRzL29zX2NyeXB0 L2ZlYXR1cmVzLmduaQotLS0tIGNocm9taXVtLTk5LjAuNDg0NC41MS9jb21wb25lbnRzL29zX2Ny eXB0L2ZlYXR1cmVzLmduaS5kaXNibGVnbm9tZWtleXJpbmcJMjAyMi0wMy0wNSAxNDoyNDoxNS4w NzM4Nzc1OTcgLTA1MDAKLSsrKyBjaHJvbWl1bS05OS4wLjQ4NDQuNTEvY29tcG9uZW50cy9vc19j cnlwdC9mZWF0dXJlcy5nbmkJMjAyMi0wMy0wNSAxNDoyNTowNC4xNzQxODM0ODMgLTA1MDAKLUBA IC04LDcgKzgsNyBAQCBpbXBvcnQoIi8vYnVpbGQvY29uZmlnL3VpLmduaSIpCi0gZGVjbGFyZV9h cmdzKCkgewotICAgIyBXaGV0aGVyIHRvIHVzZSBsaWJnbm9tZS1rZXlyaW5nIChkZXByZWNhdGVk IGJ5IGxpYnNlY3JldCkuCi0gICAjIFNlZSBodHRwOi8vY3JidWcuY29tLzQ2Njk3NSBhbmQgaHR0 cDovL2NyYnVnLmNvbS8zNTUyMjMuCi0tICB1c2VfZ25vbWVfa2V5cmluZyA9IGlzX2xpbnV4ICYm IHVzZV9nbGliCi0rICB1c2VfZ25vbWVfa2V5cmluZyA9IGZhbHNlCi0gCi0gICAjIFdoZXRoZXIg dG8gbWFrZSBhY2NvdW50IGFuZCBzZXJ2aWNlIG5hbWVzIGZvciB0aGUgY3J5cHRvIGtleSBzdG9y YWdlCi0gICAjIGNvbmZpZ3VyYWJsZSBhdCBydW50aW1lIGZvciBlbWJlZGRlcnMuCgpkaWZmIC0t Z2l0IGEvY2hyb21pdW0tOTkuMC40ODQ0LjUxLXdpZGV2aW5lLW5vLWRvd25sb2FkLnBhdGNoIGIv Y2hyb21pdW0tOTkuMC40ODQ0LjUxLXdpZGV2aW5lLW5vLWRvd25sb2FkLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NTE4NDBkLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTk5 LjAuNDg0NC41MS13aWRldmluZS1uby1kb3dubG9hZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDE0ICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTk5LjAuNDg0NC41MS9jaHJvbWUvYnJvd3Nl ci9jb21wb25lbnRfdXBkYXRlci9yZWdpc3RyYXRpb24uY2Mud2lkZXZpbmUtbm8tZG93bmxvYWQg Y2hyb21pdW0tOTkuMC40ODQ0LjUxL2Nocm9tZS9icm93c2VyL2NvbXBvbmVudF91cGRhdGVyL3Jl Z2lzdHJhdGlvbi5jYwotLS0tIGNocm9taXVtLTk5LjAuNDg0NC41MS9jaHJvbWUvYnJvd3Nlci9j b21wb25lbnRfdXBkYXRlci9yZWdpc3RyYXRpb24uY2Mud2lkZXZpbmUtbm8tZG93bmxvYWQJMjAy Mi0wMy0wNCAxNDo1NzoxNi40NTk1OTkxMjMgKzAwMDAKLSsrKyBjaHJvbWl1bS05OS4wLjQ4NDQu NTEvY2hyb21lL2Jyb3dzZXIvY29tcG9uZW50X3VwZGF0ZXIvcmVnaXN0cmF0aW9uLmNjCTIwMjIt MDMtMDQgMTQ6NTg6MzkuNTYwNzYzOTM5ICswMDAwCi1AQCAtMTA1LDEwICsxMDUsNiBAQCB2b2lk IFJlZ2lzdGVyQ29tcG9uZW50c0ZvclVwZGF0ZSgpIHsKLSAgIFJlZ2lzdGVyTWVkaWFGb3VuZGF0 aW9uV2lkZXZpbmVDZG1Db21wb25lbnQoY3VzKTsKLSAjZW5kaWYKLSAKLS0jaWYgQlVJTERGTEFH KEVOQUJMRV9XSURFVklORV9DRE1fQ09NUE9ORU5UKQotLSAgUmVnaXN0ZXJXaWRldmluZUNkbUNv bXBvbmVudChjdXMpOwotLSNlbmRpZiAgLy8gQlVJTERGTEFHKEVOQUJMRV9XSURFVklORV9DRE1f Q09NUE9ORU5UKQotLQotICNpZiBCVUlMREZMQUcoRU5BQkxFX05BQ0wpICYmICFCVUlMREZMQUco SVNfQU5EUk9JRCkKLSAjaWYgQlVJTERGTEFHKElTX0NIUk9NRU9TX0FTSCkKLSAgIC8vIFBOYUNs IG9uIENocm9tZSBPUyBpcyBvbiByb290ZnMgYW5kIHRoZXJlIGlzIG5vIG5lZWQgdG8gZG93bmxv YWQgaXQuIEJ1dAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLmNvbmYgYi9jaHJvbWl1bS5jb25mCmlu ZGV4IGRjYWE3OTguLjAyNzQ0MzQgMTAwNjQ0Ci0tLSBhL2Nocm9taXVtLmNvbmYKKysrIGIvY2hy b21pdW0uY29uZgpAQCAtMSw1ICsxLDQgQEAKICMgc3lzdGVtIHdpZGUgY2hyb21pdW0gZmxhZ3MK IENIUk9NSVVNX0ZMQUdTPSIiCi1DSFJPTUlVTV9GTEFHUys9IiAtLWRpc2FibGUtZmVhdHVyZXM9 QXVkaW9TZXJ2aWNlU2FuZGJveCxVc2VDaHJvbWVPU0RpcmVjdFZpZGVvRGVjb2RlciIKLUNIUk9N SVVNX0ZMQUdTKz0iIC0tZW5hYmxlLWZlYXR1cmVzPVZhYXBpVmlkZW9EZWNvZGVyLFZhYXBpVmlk ZW9FbmNvZGVyIgotQ0hST01JVU1fRkxBR1MrPSIgLS11c2UtZ2w9ZWdsIgorQ0hST01JVU1fRkxB R1MrPSIgLS1kaXNhYmxlLWZlYXR1cmVzPUF1ZGlvU2VydmljZVNhbmRib3gsVnVsa2FuLEFsbG93 UXQiCitDSFJPTUlVTV9GTEFHUys9IiAtLWVuYWJsZS1mZWF0dXJlcz1WYWFwaVZpZGVvRGVjb2Rl cixWYWFwaVZpZGVvRW5jb2RlcixWYWFwaVZpZGVvRGVjb2RlTGludXhHTCIKCmRpZmYgLS1naXQg YS9jaHJvbWl1bS5zcGVjIGIvY2hyb21pdW0uc3BlYwppbmRleCAyYjk1ODQxLi5mOTIxOGVjIDEw MDY0NAotLS0gYS9jaHJvbWl1bS5zcGVjCisrKyBiL2Nocm9taXVtLnNwZWMKQEAgLTI0MSw4ICsy NDEsOCBAQAogJWVuZGlmCiAKIE5hbWU6CWNocm9taXVtJXtjaHJvbWl1bV9jaGFubmVsfQotVmVy c2lvbjogMTEyLjAuNTYxNS4xNjUKLVJlbGVhc2U6IDIlez9kaXN0fQorVmVyc2lvbjogMTEzLjAu NTY3Mi42MworUmVsZWFzZTogMSV7P2Rpc3R9CiBTdW1tYXJ5OiBBIFdlYktpdCAoQmxpbmspIHBv d2VyZWQgd2ViIGJyb3dzZXIgdGhhdCBHb29nbGUgZG9lc24ndCB3YW50IHlvdSB0byB1c2UKIFVy bDogaHR0cDovL3d3dy5jaHJvbWl1bS5vcmcvSG9tZQogTGljZW5zZTogQlNELTMtQ2xhdXNlIEFO RCBMR1BMLTIuMS1vci1sYXRlciBBTkQgQXBhY2hlLTIuMCBBTkQgSUpHIEFORCBNSVQgQU5EIEdQ TC0yLjAtb3ItbGF0ZXIgQU5EIElTQyBBTkQgT3BlblNTTCBBTkQgKE1QTC0xLjEgT1IgR1BMLTIu MC1vbmx5IE9SIExHUEwtMi4wLW9ubHkpCkBAIC0yNjAsMTggKzI2MCwxMSBAQCBQYXRjaDI6IGNo cm9taXVtLTEwNy4wLjUzMDQuMTEwLWduLXN5c3RlbS5wYXRjaAogUGF0Y2g1OiBjaHJvbWl1bS03 Ny4wLjM4NjUuNzUtbm8temxpYi1tYW5nbGUucGF0Y2gKIAogIyBEbyBub3QgdXNlIHVucmFyIGNv ZGUsIGl0IGlzIG5vbi1mcmVlCi1QYXRjaDY6IGNocm9taXVtLTExMi1ub3Jhci5wYXRjaAotCi0j IFVzZSBHZW50b28ncyBXaWRldmluZSBoYWNrCi0jIGh0dHBzOi8vZ2l0d2ViLmdlbnRvby5vcmcv cmVwby9nZW50b28uZ2l0L3RyZWUvd3d3LWNsaWVudC9jaHJvbWl1bS9maWxlcy9jaHJvbWl1bS13 aWRldmluZS1yMy5wYXRjaAotUGF0Y2g3OiBjaHJvbWl1bS03MS4wLjM1NzguOTgtd2lkZXZpbmUt cjMucGF0Y2gKK1BhdGNoNjogY2hyb21pdW0tMTEzLW5vcmFyLnBhdGNoCiAKICMgVHJ5IHRvIGxv YWQgd2lkZXZpbmUgZnJvbSBvdGhlciBwbGFjZXMKIFBhdGNoODogY2hyb21pdW0tMTA4LXdpZGV2 aW5lLW90aGVyLWxvY2F0aW9ucy5wYXRjaAogCi0jIERvIG5vdCBkb3dubG9hZCBwcm9wcmlldGFy eSB3aWRldmluZSBtb2R1bGUgaW4gdGhlIGJhY2tncm91bmQgKHRoYW5rcyBEZWJpYW4pCi1QYXRj aDk6IGNocm9taXVtLTk5LjAuNDg0NC41MS13aWRldmluZS1uby1kb3dubG9hZC5wYXRjaAotCiAj IFRlbGwgYm9vdHN0cmFwLnB5IHRvIGFsd2F5cyB1c2UgdGhlIHZlcnNpb24gb2YgUHl0aG9uIHdl IHNwZWNpZnkKIFBhdGNoMTE6IGNocm9taXVtLTkzLjAuNDU3Ny42My1weTMtYm9vdHN0cmFwLnBh dGNoCiAKQEAgLTMxNCw3ICszMDcsNyBAQCBQYXRjaDg5OiBjaHJvbWl1bS0xMDgtc3lzdGVtLWJy b3RsaS5wYXRjaAogCiAjIGRpc2FibGUgR2xvYmFsTWVkaWFDb250cm9sc0Nhc3RTdGFydFN0b3Ag dG8gYXZvaWQgY3Jhc2gKICMgd2hlbiB1c2luZyB0aGUgYWRkcmVzcyBiYXIgbWVkaWEgcGxheWVy IGJ1dHRvbgotUGF0Y2g5MDogY2hyb21pdW0tMTA5LWRpc2FibGUtR2xvYmFsTWVkaWFDb250cm9s c0Nhc3RTdGFydFN0b3AucGF0Y2gKK1BhdGNoOTA6IGNocm9taXVtLTExMy1kaXNhYmxlLUdsb2Jh bE1lZGlhQ29udHJvbHNDYXN0U3RhcnRTdG9wLnBhdGNoCiAKICMgcGF0Y2ggZm9yIHVzaW5nIHN5 c3RlbSBvcHVzCiBQYXRjaDkxOiBjaHJvbWl1bS0xMDgtc3lzdGVtLW9wdXMucGF0Y2gKQEAgLTM1 MSwxMiArMzQ0LDEyIEBAIFBhdGNoMTA3OiBjaHJvbWl1bS05OS4wLjQ4NDQuNTEtZWw3LWV4dHJh LW9wZXJhdG9yPT0ucGF0Y2gKIFBhdGNoMTE0OiBjaHJvbWl1bS0xMDctZmZtcGVnLWR1cmF0aW9u LnBhdGNoCiBQYXRjaDExNTogY2hyb21pdW0tMTA3LXByb3ByaWV0YXJ5LWNvZGVjcy5wYXRjaAog IyBkcm9wIGF2X3N0cmVhbV9nZXRfZmlyc3RfZHRzIGZyb20gaW50ZXJuYWwgZmZtcGVnCi1QYXRj aDExNjogY2hyb21pdW0tMTA4LWZmbXBlZy1maXJzdF9kdHMucGF0Y2gKK1BhdGNoMTE2OiBjaHJv bWl1bS0xMTItZmZtcGVnLWZpcnN0X2R0cy5wYXRjaAogIyByZXZlcnQgbmV3LWNoYW5uZWwtbGF5 b3V0LWFwaSBvbiBmMzYsIG9sZCBmZm1wZWctZnJlZQogUGF0Y2gxMTc6IGNocm9taXVtLTEwOC1m Zm1wZWctcmV2ZXJ0LW5ldy1jaGFubmVsLWxheW91dC1hcGkucGF0Y2gKIAogIyBnY2MxMwotUGF0 Y2gxMjI6IGNocm9taXVtLTEwOS1nY2MxMy5wYXRjaAorUGF0Y2gxMjI6IGNocm9taXVtLTExMy1n Y2MxMy5wYXRjaAogCiAjIFBhdGNoZXMgYnkgU3RlcGhhbiBIYXJ0bWFubiwgaHR0cHM6Ly9naXRo dWIuY29tL3N0aGEwOS9jaHJvbWl1bS1wYXRjaGVzCiBQYXRjaDEzMDogY2hyb21pdW0tMTAzLVZp cnR1YWxDdXJzb3Itc3RkLWxheW91dC5wYXRjaApAQCAtMzY0LDE3ICszNTcsOCBAQCBQYXRjaDEz MDogY2hyb21pdW0tMTAzLVZpcnR1YWxDdXJzb3Itc3RkLWxheW91dC5wYXRjaAogIyBQYWdlc2l6 ZSA+IDRrYgogUGF0Y2gxNDY6IGNocm9taXVtLTExMC1MYXJnZXJUaGFuNGsucGF0Y2gKIAotIyBW QUFQSQotIyBVcHN0cmVhbSB0dXJuZWQgVkFBUEkgb24gaW4gTGludXggaW4gODYKLVBhdGNoMjAy OiBjaHJvbWl1bS0xMDQuMC41MTEyLjEwMS1lbmFibGUtaGFyZHdhcmUtYWNjZWxlcmF0ZWQtbWpw ZWcucGF0Y2gKLVBhdGNoMjAzOiBjaHJvbWl1bS0xMTItY2hlY2stcGFzc3Rocm91Z2gtY29tbWFu ZC1kZWNvZGVyLnBhdGNoCi1QYXRjaDIwNDogY2hyb21pdW0tMTEyLWludmVydF9vZl9HTEltYWdl TmF0aXZlUGl4bWFwX05hdGl2ZVBpeG1hcEVHTEJpbmRpbmcucGF0Y2gKLVBhdGNoMjA1OiBjaHJv bWl1bS04Ni4wLjQyNDAuNzUtZml4LXZhYXBpLW9uLWludGVsLnBhdGNoCi1QYXRjaDIwNjogY2hy b21pdW0tMTEyLW96b25lLXdheWxhbmQtdmFhcGktc3VwcG9ydC5wYXRjaAotUGF0Y2gyMDc6IGNo cm9taXVtLTExMi1lbmFibGUtdmFhcGktb3pvbmUtd2F5bGFuZC5wYXRjaAotCiAjIEFwcGx5IHRo ZXNlIHBhdGNoZXMgdG8gd29yayBhcm91bmQgRVBFTDggaXNzdWVzCi1QYXRjaDMwMDogY2hyb21p dW0tOTkuMC40ODQ0LjUxLXJoZWw4LWZvcmNlLWRpc2FibGUtdXNlX2dub21lX2tleXJpbmcucGF0 Y2gKK1BhdGNoMzAwOiBjaHJvbWl1bS0xMTMtcmhlbDgtZm9yY2UtZGlzYWJsZS11c2VfZ25vbWVf a2V5cmluZy5wYXRjaAogCiAjIHdvcmthcm91bmQgZm9yIGJ1ZyBpbiBjbGFuZyAxNCB3aXRoIGMr KzIwIG9uIHJoZWw5LCBsaW5rZXIgZXJyb3JzIHN0ZDo6dTE2c3RyaW5nCiBQYXRjaDMwMTogY2hy b21pdW0tMTEyLXdvcmthcm91bmQtbGx2bTE0LWMrKzIwLWVwZWw4LnBhdGNoCkBAIC04OTYsOSAr ODgwLDcgQEAgdWRldi4KICVwYXRjaCAtUDIgLXAxIC1iIC5nbnN5c3RlbQogJXBhdGNoIC1QNSAt cDEgLWIgLm5vemxpYm1hbmdsZQogJXBhdGNoIC1QNiAtcDEgLWIgLm5vdW5yYXIKLSVwYXRjaCAt UDcgLXAxIC1iIC53aWRldmluZS1oYWNrCiAlcGF0Y2ggLVA4IC1wMSAtYiAud2lkZXZpbmUtb3Ro ZXItbG9jYXRpb25zCi0lcGF0Y2ggLVA5IC1wMSAtYiAud2lkZXZpbmUtbm8tZG93bmxvYWQKICVw YXRjaCAtUDExIC1wMSAtYiAucHkzCiAKICVwYXRjaCAtUDIwIC1wMSAtYiAuZGlzYWJsZS1mb250 LXRlc3QKQEAgLTk2MywxNiArOTQ1LDYgQEAgdWRldi4KIAogJXBhdGNoIC1QMTIyIC1wMSAtYiAu Z2NjMTMKIAotIyBGZWF0dXJlIHNwZWNpZmljIHBhdGNoZXMKLSVpZiAle3VzZV92YWFwaX0KLSVw YXRjaCAtUDIwMiAtcDEgLWIgLmFjY2VsLW1qcGVnCi0lcGF0Y2ggLVAyMDMgLXAxIC1SIC1iIC5y ZXZlcnQKLSVwYXRjaCAtUDIwNCAtcDEgLVIgLWIgLnJldmVydAotJXBhdGNoIC1QMjA1IC1wMSAt YiAudmFhcGktaW50ZWwtZml4Ci0lcGF0Y2ggLVAyMDYgLXAxIC1iIC53YXlsYW5kLXZhYXBpCi0l cGF0Y2ggLVAyMDcgLXAxIC1iIC5lbmFibGUtd2F5bGFuZC12YWFwaQotJWVuZGlmCi0KICVpZiAw JXs/cmhlbH0gPj0gOAogJXBhdGNoIC1QMzAwIC1wMSAtYiAuZGlzYmxlZ25vbWVrZXlyaW5nCiAl ZW5kaWYKQEAgLTEwNDAsNyArMTAxMiw3IEBAIGV4cG9ydCBMQU5HPWVuX1VTLlVURi04CiAlaWYg JXtjbGFuZ30KIEZMQUdTPScgLVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyAtV25vLXVua25v d24td2FybmluZy1vcHRpb24gLVduby11bnVzZWQtY29tbWFuZC1saW5lLWFyZ3VtZW50JwogRkxB R1MrPScgLVduby11bnVzZWQtYnV0LXNldC12YXJpYWJsZSAtV25vLXVudXNlZC1yZXN1bHQgLVdu by11bnVzZWQtZnVuY3Rpb24gLVduby11bnVzZWQtdmFyaWFibGUnCi1GTEFHUys9JyAtV25vLXVu dXNlZC1jb25zdC12YXJpYWJsZSAtV25vLXVubmVlZGVkLWludGVybmFsLWRlY2xhcmF0aW9uJwor RkxBR1MrPScgLVduby11bnVzZWQtY29uc3QtdmFyaWFibGUgLVduby11bm5lZWRlZC1pbnRlcm5h bC1kZWNsYXJhdGlvbiAtV25vLXVua25vd24tYXR0cmlidXRlcycKICVlbmRpZgogCiAlaWYgJXtz eXN0ZW1fYnVpbGRfZmxhZ3N9CkBAIC0xMjU4LDcgKzEyMzAsNyBAQCBidWlsZC9saW51eC91bmJ1 bmRsZS9yZXBsYWNlX2duX2ZpbGVzLnB5IC0tc3lzdGVtLWxpYnJhcmllcyBcCiAJZmxhYwogCiAj IENoZWNrIHRoYXQgdGhlcmUgaXMgbm8gc3lzdGVtICdnb29nbGUnIG1vZHVsZSwgc2hhZG93aW5n IGJ1bmRsZWQgb25lczoKLWlmIHB5dGhvbjMgLWMgJ2ltcG9ydCBnb29nbGUgOyBwcmludChnb29n bGUuX19wYXRoX18pJyAyPiAvZGV2L251bGwgOyB0aGVuIFwKK2lmIHB5dGhvbjMgLWMgJ2ltcG9y dCBnb29nbGUgOyBwcmludCBnb29nbGUuX19wYXRoX18nIDI+IC9kZXYvbnVsbCA7IHRoZW4gXAog ICAgIGVjaG8gIlB5dGhvbiAzICdnb29nbGUnIG1vZHVsZSBpcyBkZWZpbmVkLCB0aGlzIHdpbGwg c2hhZG93IG1vZHVsZXMgb2YgdGhpcyBidWlsZCI7IFwKICAgICBleGl0IDEgOyBcCiBmaQpAQCAt MTY1NSw2ICsxNjI3LDkgQEAgZ2V0ZW50IGdyb3VwIGNocm9tZS1yZW1vdGUtZGVza3RvcCA+L2Rl di9udWxsIHx8IGdyb3VwYWRkIC1yIGNocm9tZS1yZW1vdGUtZGVza3QKICV7Y2hyb21pdW1fcGF0 aH0vY2hyb21lZHJpdmVyCiAKICVjaGFuZ2Vsb2cKKyogV2VkIE1heSAwMyAyMDIzIFRoYW4gTmdv IDx0aGFuQHJlZGhhdC5jb20+IC0gMTEzLjAuNTY3Mi42My0xCistIHVwZGF0ZSB0byAxMTMuMC41 NjcyLjYzCisKICogU3VuIEFwciAyMyAyMDIzIFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+IC0g MTEyLjAuNTYxNS4xNjUtMgogLSBtYWtlIC0tdXNlLWdsPWVnbCBkZWZhdWx0IGZvciB4MTEvd2F5 bGFuZAogLSBlbmFibGUgV2ViVUlEYXJrTW9kZQoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3Vy Y2VzCmluZGV4IDI0MjVjYTcuLmQzNDNkZGIgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291 cmNlcwpAQCAtMSwzICsxLDMgQEAKIFNIQTUxMiAobm9kZS12MTkuOC4xLWxpbnV4LWFybTY0LnRh ci54eikgPSA4NmZmMTkwODU2NjllOTJjZTdhZmUyZmQ3ZDRkZjBjNTQ0MWRmMmQ4OGMwMGYyOWQ1 NDYzYjgwNWYzY2Y1NjI1NjI2ZGI4YWViZjk4MzQ5YzlhNDk1Yjc3MmRhMWNlNmQ2ODI2MzczMDAx ODIwN2VhOTg4MTUwNThhMWM4MTM5NwogU0hBNTEyIChub2RlLXYxOS44LjEtbGludXgteDY0LnRh ci54eikgPSA5MjVjMDAzN2M2YjcwNzRkMGIwMjQ1YmNlZDIwZDBhMGQ5YjEzMDBmNTNiODA4MTA2 ZjE2YjUwMThkNzYzZjVmNWIwMGJjMzIxYjMzZmExMDMzZDczNmIxZTEwNzY2MDhkYTliN2ZjYWU2 NmFlZDUzZDI3YjEwMGIxMTg2ZTJjNgotU0hBNTEyIChjaHJvbWl1bS0xMTIuMC41NjE1LjE2NS1j bGVhbi50YXIueHopID0gNjhmOGY0ZjBlOGFkZDA0ZTYwOGMxZDI4NTM1MWIzOGRlMDE5OWFjNTYz NWIyOWRjY2U2NTNiMzA0MzVlNjg0MzFmOTJlYTdiMzgxZDZmZTZjYjRmZmQ1YjE5MTBlNjZlZDZm ODJhYWI2MmE4ZmFiOTUyY2I5NjlhNDBmNzQ1NmEKK1NIQTUxMiAoY2hyb21pdW0tMTEzLjAuNTY3 Mi42My1jbGVhbi50YXIueHopID0gZjE3MjQ5NmU4NTY5ODY0ZGIyNjg3MmE0NzYyNTY0ZjA5NGMz Y2E3MjZmMzQwZDY5YzlkZmFjYTZjMjYwYjBhNGJiYjM3YWQ3MTFmNmFiNmI5ZWZkOWVlNTg1MTBi MWEyYTEzMGY4MjkxODNhZTZhM2JkNzExZTdkMTQ3ODk1NGIK