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] epel10: - Update to 150.0.7871.124 Date: Thu, 16 Jul 2026 07:32:35 GMT Message-ID: <178418715548.1.12602482317251061696.rpms-chromium-6a33b22870b5@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel10 X-Git-Rev: 6a33b22870b5602a6538a2631f730138a4418fb1 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2hyb21pdW0KICAgICAgICAgICAgQnJhbmNoIDogZXBlbDEwCiAgICAgICAg ICAgIENvbW1pdCA6IDZhMzNiMjI4NzBiNTYwMmE2NTM4YTI2MzFmNzMwMTM4YTQ0MThmYjEKICAg ICAgICAgICAgQXV0aG9yIDogVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNvbT4KICAgICAgICAgICAg RGF0ZSAgIDogMjAyNi0wNy0xNVQxNDo1Njo1MiswMjowMAogICAgICAgICAgICBTdGF0cyAgOiAr ODg1Ly0zIGluIDYgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3NyYy5mZWRv cmFwcm9qZWN0Lm9yZy9ycG1zL2Nocm9taXVtL2MvNmEzM2IyMjg3MGI1NjAyYTY1MzhhMjYzMWY3 MzAxMzhhNDQxOGZiMT9icmFuY2g9ZXBlbDEwCgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAg IC0gVXBkYXRlIHRvIDE1MC4wLjc4NzEuMTI0CiAgKiBDVkUtMjAyNi0xNTc2NDogVXNlIGFmdGVy IGZyZWUgaW4gT3pvbmUKICAqIENWRS0yMDI2LTE1NzY1OiBVc2UgYWZ0ZXIgZnJlZSBpbiBPem9u ZQogICogQ1ZFLTIwMjYtMTU3NjY6IFVuaW5pdGlhbGl6ZWQgVXNlIGluIFNraWEKICAqIENWRS0y MDI2LTE1NzY3OiBIZWFwIGJ1ZmZlciBvdmVyZmxvdyBpbiBsaWJ5dXYKICAqIENWRS0yMDI2LTE1 NzY4OiBJbnN1ZmZpY2llbnQgcG9saWN5IGVuZm9yY2VtZW50IGluIEhUTUwtaW4tQ2FudmFzCiAg KiBDVkUtMjAyNi0xNTc2OTogSW5zdWZmaWNpZW50IHZhbGlkYXRpb24gb2YgdW50cnVzdGVkIGlu cHV0IGluIExpbnV4IFRvb2xraXQgVGhlbWluZwogICogQ1ZFLTIwMjYtMTU3NzA6IFVuaW5pdGlh bGl6ZWQgVXNlIGluIFY4CiAgKiBDVkUtMjAyNi0xNTc3MTogSW5zdWZmaWNpZW50IHZhbGlkYXRp b24gb2YgdW50cnVzdGVkIGlucHV0IGluIE1lZGlhCiAgKiBDVkUtMjAyNi0xNTc3MjogVXNlIGFm dGVyIGZyZWUgaW4gR1BVCiAgKiBDVkUtMjAyNi0xNTc3MzogVXNlIGFmdGVyIGZyZWUgaW4gQ29y ZQogICogQ1ZFLTIwMjYtMTU3NzQ6IFVzZSBhZnRlciBmcmVlIGluIFNraWEKICAqIENWRS0yMDI2 LTE1Nzc1OiBJbnN1ZmZpY2llbnQgcG9saWN5IGVuZm9yY2VtZW50IGluIFY4CiAgKiBDVkUtMjAy Ni0xNTc3NjogVHlwZSBDb25mdXNpb24gaW4gVjgKICAqIENWRS0yMDI2LTE1Nzc3OiBVc2UgYWZ0 ZXIgZnJlZSBpbiBVSQogICogQ1ZFLTIwMjYtMTU3Nzg6IEluc3VmZmljaWVudCB2YWxpZGF0aW9u IG9mIHVudHJ1c3RlZCBpbnB1dCBpbiBOYXZpZ2F0aW9uCgotIEJhY2twb3J0IHBhdGNoZXMgdG8g aW1wcm92ZSBhdXRvIGRhcmttb2RlCgotLS0KZGlmZiAtLWdpdCBhL2Nocm9taXVtLTE1MC1BZGQt c2l6ZS10aHJlc2hvbGQtZm9yLWNsYXNzaWZ5aW5nLVNWRy1kb2N1bWVudHMtZm9yLWF1dG8tZGFy ay1tb2RlLnBhdGNoIGIvY2hyb21pdW0tMTUwLUFkZC1zaXplLXRocmVzaG9sZC1mb3ItY2xhc3Np ZnlpbmctU1ZHLWRvY3VtZW50cy1mb3ItYXV0by1kYXJrLW1vZGUucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFkYWRiYgotLS0gL2Rldi9udWxsCisrKyBiL2Nocm9t aXVtLTE1MC1BZGQtc2l6ZS10aHJlc2hvbGQtZm9yLWNsYXNzaWZ5aW5nLVNWRy1kb2N1bWVudHMt Zm9yLWF1dG8tZGFyay1tb2RlLnBhdGNoCkBAIC0wLDAgKzEsMzcyIEBACitjb21taXQgYjU5MzRi MTFjZmMyOTQ4ZjhiOTdlYmIwOTk3YWFiNWY3N2UyZmUyYworQXV0aG9yOiBQcmFzaGFudCBOZXZh c2UgPHBuZXZhc2VAbWljcm9zb2Z0LmNvbT4KK0RhdGU6ICAgTW9uIEp1bCAxMyAwNDoxMDowMCAy MDI2IC0wNzAwCisKKyAgICBBZGQgc2l6ZSB0aHJlc2hvbGQgZm9yIGNsYXNzaWZ5aW5nIFNWRyBk b2N1bWVudHMgZm9yIGF1dG8gZGFyayBtb2RlLgorICAgIAorICAgIExhcmdlIHN0YW5kYWxvbmUg U1ZHIGRvY3VtZW50cyBhcmUgdHJlYXRlZCBhcyBjb250ZW50IChpbGx1c3RyYXRpb25zLworICAg IHBob3RvcykgYW5kIGxlZnQgdW50b3VjaGVkIGJ5IGF1dG8gZGFyayBtb2RlLCB3aGlsZSBzbWFs bCBvbmVzIGxpa2UKKyAgICBpY29ucyBhcmUgY29uc2lkZXJlZCBmb3IgYXV0byBkYXJrIG1vZGUu CisgICAgCisgICAgTmVzdGVkIFNWR3MgYXJlIGhhbmRsZWQgdmlhIGEgc3RhY2sgb2YgYXV0byBk YXJrIG1vZGUgcGF1c2VkIHN0YXRlcyBvbgorICAgIEdyYXBoaWNzQ29udGV4dCwgbWFuYWdlZCBi eSBTY29wZWRBdXRvRGFya01vZGVTdGF0ZS4gQW4gaWNvbi1zaXplZAorICAgIGlubmVyIFNWRyBy ZS1lbmFibGVzIGludmVyc2lvbiBldmVuIGluc2lkZSBhIHBhdXNlZCAobGFyZ2UpIGNvbnRhaW5l ciwKKyAgICBhbmQgdGhlIG91dGVyIHN0YXRlIGlzIHJlc3RvcmVkIG9uIHNjb3BlIGV4aXQuIElt YWdlcyByZW1haW4gZ2F0ZWQgYnkKKyAgICB0aGVpciBvd24gc2l6ZSBjbGFzc2lmaWNhdGlvbiBy YXRoZXIgdGhhbiB0aGUgcGF1c2VkIHN0YXRlLgorICAgIAorICAgIEJ1ZzogNDQ5OTA5NTI0Cisg ICAgQ2hhbmdlLUlkOiBJZmQ4YjY4ZWM5YTMwYWQ2NmMxMTZjZjQxZDUxMGVlYWQ0OTlkM2JkNgor ICAgIFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29t L2MvY2hyb21pdW0vc3JjLysvODAzNjEyMAorICAgIFJldmlld2VkLWJ5OiBTdGVwaGVuIENoZW5u ZXkgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KKyAgICBDb21taXQtUXVldWU6IFByYXNoYW50IE5l dmFzZSA8cG5ldmFzZUBtaWNyb3NvZnQuY29tPgorICAgIENyLUNvbW1pdC1Qb3NpdGlvbjogcmVm cy9oZWFkcy9tYWluQHsjMTY2MTA0NH0KKworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUuY2MgYi90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmNjCitpbmRl eCA2NThmNmE0ZTRmNmYuLmU0YjVhODE1NTE0OCAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUuY2MKKysrKyBiL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGUu Y2MKK0BAIC02OSw2ICs2OSwyNSBAQCBJbWFnZUF1dG9EYXJrTW9kZSBJbWFnZUNsYXNzaWZpZXJI ZWxwZXI6OkdldEltYWdlQXV0b0RhcmtNb2RlKAorICAgICAgIEdldEltYWdlVHlwZVdpdGhab29t KGxheW91dF96b29tLCBkZXN0X3JlY3QsIHNyY19yZWN0KSk7CisgfQorIAorKy8vIHN0YXRpYwor K0RhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRTVkdE b2N1bWVudFR5cGUoCisrICAgIExvY2FsRnJhbWUmIGxvY2FsX2ZyYW1lLAorKyAgICBjb25zdCBn Zng6OlJlY3QmIHNpemUpIHsKKysgIC8vIHxzaXplfCBpbmNsdWRlcyB0aGUgbGF5b3V0IHpvb20g ZmFjdG9yIChwYWdlIHpvb20gYW5kIERTRikuIFVuZG8gaXQgc28gdGhlCisrICAvLyBzaXplIHRo cmVzaG9sZCBtYXRjaGVzIGJpdG1hcCBpbWFnZXMsIHdob3NlIGNsYXNzaWZpY2F0aW9uIGlzIHVu YWZmZWN0ZWQgYnkKKysgIC8vIHBhZ2Ugem9vbSBhbmQgRFNGLgorKyAgY29uc3QgZmxvYXQgbGF5 b3V0X3pvb20gPSBsb2NhbF9mcmFtZS5MYXlvdXRab29tRmFjdG9yKCk7CisrICBjb25zdCBmbG9h dCB1bnpvb21lZF93aWR0aCA9CisrICAgICAgbGF5b3V0X3pvb20gPiAwLmYgPyBzaXplLndpZHRo KCkgLyBsYXlvdXRfem9vbSA6IHNpemUud2lkdGgoKTsKKysgIGNvbnN0IGZsb2F0IHVuem9vbWVk X2hlaWdodCA9CisrICAgICAgbGF5b3V0X3pvb20gPiAwLmYgPyBzaXplLmhlaWdodCgpIC8gbGF5 b3V0X3pvb20gOiBzaXplLmhlaWdodCgpOworKyAgaWYgKHVuem9vbWVkX3dpZHRoIDw9IGtNYXhJ bWFnZUxlbmd0aCAmJiB1bnpvb21lZF9oZWlnaHQgPD0ga01heEltYWdlTGVuZ3RoKSB7CisrICAg IHJldHVybiBEYXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBlOjprSWNvbjsKKysgIH0KKysKKysgIHJl dHVybiBEYXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBlOjprUGhvdG87CisrfQorKworIC8vIHN0YXRp YworIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJ bWFnZVR5cGVGb3JUZXN0aW5nKAorICAgICBjb25zdCBnZng6OlJlY3RGJiBkZXN0X3JlY3QsCitk aWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9h dXRvX2RhcmtfbW9kZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9w YWludF9hdXRvX2RhcmtfbW9kZS5oCitpbmRleCBhZmQ1N2VlZTJiNDUuLmEyMWQxNDcyY2RlNiAx MDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRf YXV0b19kYXJrX21vZGUuaAorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9w YWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5oCitAQCAtMzksNiArMzksMTAgQEAgY2xhc3MgSW1h Z2VDbGFzc2lmaWVySGVscGVyIHsKKyAgICAgICBEYXJrTW9kZUZpbHRlcjo6RWxlbWVudFJvbGUg cm9sZSA9CisgICAgICAgICAgIERhcmtNb2RlRmlsdGVyOjpFbGVtZW50Um9sZTo6a0JhY2tncm91 bmQpOworIAorKyAgQ09SRV9FWFBPUlQgc3RhdGljIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUg R2V0U1ZHRG9jdW1lbnRUeXBlKAorKyAgICAgIExvY2FsRnJhbWUmIGxvY2FsX2ZyYW1lLAorKyAg ICAgIGNvbnN0IGdmeDo6UmVjdCYgc2l6ZSk7CisrCisgICBDT1JFX0VYUE9SVCBzdGF0aWMgRGFy a01vZGVGaWx0ZXI6OkltYWdlVHlwZSBHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorICAgICAgIGNv bnN0IGdmeDo6UmVjdEYmIGRlc3RfcmVjdCwKKyAgICAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNf cmVjdCwKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50 L3BhaW50X2F1dG9fZGFya19tb2RlX3Rlc3QuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlX3Rlc3QuY2MKK2luZGV4IGNmMDVlYTFh OWU4YS4uMzM3YWZmOGZlOTk2IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVy ZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90ZXN0LmNjCisrKysgYi90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlX3Rlc3Qu Y2MKK0BAIC00LDggKzQsMTMgQEAKKyAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5oIgorIAorKyNpbmNsdWRlIDxt ZW1vcnk+CisrCisgI2luY2x1ZGUgInRlc3RpbmcvZ3Rlc3QvaW5jbHVkZS9ndGVzdC9ndGVzdC5o IgorKyNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2ZyYW1lL2xvY2Fs X2ZyYW1lLmgiCisrI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvdGVz dGluZy9kdW1teV9wYWdlX2hvbGRlci5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9kYXJrX21vZGVfc2V0dGluZ3MuaCIKKysjaW5jbHVk ZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vdGVzdGluZy90YXNrX2Vudmly b25tZW50LmgiCisgI2luY2x1ZGUgInVpL2dmeC9nZW9tZXRyeS9yZWN0LmgiCisgCisgbmFtZXNw YWNlIGJsaW5rIHsKK0BAIC03Miw2ICs3NywxOCBAQCBjbGFzcyBQYWludEF1dG9EYXJrTW9kZVRl c3QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7CisgICAgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxw ZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoZGVzdF9yZWN0LCBzcmNfcmVjdCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXRfem9v bSkpKTsKKyAgIH0KKysKKysgIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgR2V0U1ZHRG9jdW1l bnRUeXBlKGZsb2F0IGxheW91dF96b29tLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgZ2Z4OjpSZWN0JiBzaXplKSB7CisrICAgIExvY2FsRnJh bWUmIGZyYW1lID0gcGFnZV9ob2xkZXJfLT5HZXRGcmFtZSgpOworKyAgICBmcmFtZS5TZXRMYXlv dXRab29tRmFjdG9yKGxheW91dF96b29tKTsKKysgICAgcmV0dXJuIEltYWdlQ2xhc3NpZmllckhl bHBlcjo6R2V0U1ZHRG9jdW1lbnRUeXBlKGZyYW1lLCBzaXplKTsKKysgIH0KKysKKysgcHJpdmF0 ZToKKysgIHRlc3Q6OlRhc2tFbnZpcm9ubWVudCB0YXNrX2Vudmlyb25tZW50XzsKKysgIHN0ZDo6 dW5pcXVlX3B0cjxEdW1teVBhZ2VIb2xkZXI+IHBhZ2VfaG9sZGVyXyA9CisrICAgICAgc3RkOjpt YWtlX3VuaXF1ZTxEdW1teVBhZ2VIb2xkZXI+KGdmeDo6U2l6ZSg4MDAsIDYwMCkpOworIH07Cisg CisgVEVTVF9GKFBhaW50QXV0b0RhcmtNb2RlVGVzdCwgU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdl KSB7CitAQCAtMTU0LDQgKzE3MSwzMCBAQCBURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LAor ICAgVGVzdEFwcGx5RmlsdGVyVG9JbWFnZUlycmVzcGVjdGl2ZU9mUGFnZVpvb20oc2NyZWVuX2lu Zm8pOworIH0KKyAKKytURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LCBTVkdEb2N1bWVudElt YWdlKSB7CisrICAvLyBCb3RoIGRpbWVuc2lvbnMgYXJlIGF0IG9yIGJlbG93IHRoZSBpY29uIHRo cmVzaG9sZCAoa01heEltYWdlTGVuZ3RoID09IDY0KS4KKysgIEVYUEVDVF9FUShEYXJrTW9kZUZp bHRlcjo6SW1hZ2VUeXBlOjprSWNvbiwKKysgICAgICAgICAgICBHZXRTVkdEb2N1bWVudFR5cGUo MS4wZiwgZ2Z4OjpSZWN0KDUwLCA1MCkpKTsKKysKKysgIC8vIEVpdGhlciBkaW1lbnNpb24gYWJv dmUgdGhlIHRocmVzaG9sZCBjbGFzc2lmaWVzIHRoZSBkb2N1bWVudCBhcyBhIHBob3RvLgorKyAg RVhQRUNUX0VRKERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtQaG90bywKKysgICAgICAgICAg ICBHZXRTVkdEb2N1bWVudFR5cGUoMS4wZiwgZ2Z4OjpSZWN0KDIwMCwgMjAwKSkpOworKyAgLy8g T25seSB0aGUgd2lkdGggZXhjZWVkcyB0aGUgdGhyZXNob2xkLgorKyAgRVhQRUNUX0VRKERhcmtN b2RlRmlsdGVyOjpJbWFnZVR5cGU6OmtQaG90bywKKysgICAgICAgICAgICBHZXRTVkdEb2N1bWVu dFR5cGUoMS4wZiwgZ2Z4OjpSZWN0KDEwMCwgNTApKSk7CisrICAvLyBPbmx5IHRoZSBoZWlnaHQg ZXhjZWVkcyB0aGUgdGhyZXNob2xkLgorKyAgRVhQRUNUX0VRKERhcmtNb2RlRmlsdGVyOjpJbWFn ZVR5cGU6OmtQaG90bywKKysgICAgICAgICAgICBHZXRTVkdEb2N1bWVudFR5cGUoMS4wZiwgZ2Z4 OjpSZWN0KDUwLCAxMDApKSk7CisrCisrICAvLyBBIDQweDQwIENTUy1zaXplZCBTVkcgc2NhbGVk IHVwIGJ5IGEgNXggbGF5b3V0IHpvb20gaXMgc3RpbGwgYW4gaWNvbiBhZnRlcgorKyAgLy8gdGhl IHpvb20gaXMgdW5kb25lLgorKyAgRVhQRUNUX0VRKERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6 OmtJY29uLAorKyAgICAgICAgICAgIEdldFNWR0RvY3VtZW50VHlwZSg1LjBmLCBnZng6OlJlY3Qo MjAwLCAyMDApKSk7CisrCisrICAvLyBBIDQwMHg0MDAgQ1NTLXNpemVkIFNWRyBzY2FsZWQgZG93 biBieSBhIDAuMjV4IGxheW91dCB6b29tIGlzIHN0aWxsIGEgcGhvdG8KKysgIC8vIGFmdGVyIHRo ZSB6b29tIGlzIHVuZG9uZS4KKysgIEVYUEVDVF9FUShEYXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBl OjprUGhvdG8sCisrICAgICAgICAgICAgR2V0U1ZHRG9jdW1lbnRUeXBlKDAuMjVmLCBnZng6OlJl Y3QoMTAwLCAxMDApKSk7CisrfQorKworIH0gIC8vIG5hbWVzcGFjZSBibGluaworZGlmZiAtLWdp dCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvc3ZnX3Jvb3RfcGFpbnRl ci5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvc3ZnX3Jvb3RfcGFp bnRlci5jYworaW5kZXggMTQ2NDAwZTk2YTY5Li5hOTNlOWU4YTk2YWIgMTAwNjQ0CistLS0gYS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3N2Z19yb290X3BhaW50ZXIuY2MK KysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvc3ZnX3Jvb3RfcGFp bnRlci5jYworQEAgLTQsMTIgKzQsMTcgQEAKKyAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS9wYWludC9zdmdfcm9vdF9wYWludGVyLmgiCisgCisrI2luY2x1ZGUg PG9wdGlvbmFsPgorKworKyNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3Jl L2ZyYW1lL2xvY2FsX2ZyYW1lLmgiCisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2NvcmUvbGF5b3V0L3N2Zy9sYXlvdXRfc3ZnX2ZvcmVpZ25fb2JqZWN0LmgiCisgI2luY2x1 ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L3N2Zy9sYXlvdXRfc3Zn X3Jvb3QuaCIKKysjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWlu dC9wYWludF9hdXRvX2RhcmtfbW9kZS5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2luZm8uaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9sYXllci5oIgorICNpbmNsdWRlICJ0aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2xheWVyX3BhaW50ZXIuaCIK KyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9zdmcvc3ZnX3N2Z19l bGVtZW50LmgiCisrI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3Jt L2dyYXBoaWNzL2dyYXBoaWNzX2NvbnRleHQuaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvcGxhdGZvcm0vcnVudGltZV9lbmFibGVkX2ZlYXR1cmVzLmgiCisgCisgbmFt ZXNwYWNlIGJsaW5rIHsKK0BAIC02NCw4ICs2OSwxMCBAQCBBZmZpbmVUcmFuc2Zvcm0gU1ZHUm9v dFBhaW50ZXI6OlRyYW5zZm9ybVRvUGl4ZWxTbmFwcGVkQm9yZGVyQm94KAorIHZvaWQgU1ZHUm9v dFBhaW50ZXI6OlBhaW50UmVwbGFjZWQoY29uc3QgUGFpbnRJbmZvJiBwYWludF9pbmZvLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUGh5c2ljYWxPZmZzZXQmIHBh aW50X29mZnNldCkgeworICAgLy8gQW4gZW1wdHkgdmlld3BvcnQgZGlzYWJsZXMgcmVuZGVyaW5n LgorLSAgaWYgKFBpeGVsU25hcHBlZFNpemUocGFpbnRfb2Zmc2V0KS5Jc0VtcHR5KCkpCisrICBj b25zdCBnZng6OlJlY3Qgc25hcHBlZF9zaXplID0gUGl4ZWxTbmFwcGVkU2l6ZShwYWludF9vZmZz ZXQpOworKyAgaWYgKHNuYXBwZWRfc2l6ZS5Jc0VtcHR5KCkpIHsKKyAgICAgcmV0dXJuOworKyAg fQorIAorICAgLy8gQW4gZW1wdHkgdmlld0JveCBhbHNvIGRpc2FibGVzIHJlbmRlcmluZy4KKyAg IC8vIChodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvY29vcmRzLmh0bWwjVmlld0JveEF0dHJpYnV0 ZSkKK0BAIC03OCw2ICs4NSwyMyBAQCB2b2lkIFNWR1Jvb3RQYWludGVyOjpQYWludFJlcGxhY2Vk KGNvbnN0IFBhaW50SW5mbyYgcGFpbnRfaW5mbywKKyAgICAgcmV0dXJuOworICAgfQorIAorKyAg c3RkOjpvcHRpb25hbDxHcmFwaGljc0NvbnRleHQ6OlNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlPiBk YXJrX21vZGVfc3RhdGU7CisrICBpZiAobGF5b3V0X3N2Z19yb290Xy5TdHlsZVJlZigpLkZvcmNl RGFyaygpKSB7CisrICAgIC8vIE9ubHkgdHJlYXQgaWNvbi9zZXBhcmF0b3Itc2l6ZWQgU1ZHIGRv Y3VtZW50cyBhcyBjYW5kaWRhdGVzIGZvciBkYXJrCisrICAgIC8vIG1vZGUgaW52ZXJzaW9uLiBM YXJnZXIgU1ZHcyBhcmUgbGlrZWx5IGNvbnRlbnQgKGlsbHVzdHJhdGlvbnMvcGhvdG9zKQorKyAg ICAvLyBhbmQgc2hvdWxkIG5vdCBiZSBmb3JjZS1kYXJrZW5lZC4gVGhpcyBtaXJyb3JzIHRoZSBz aXplLWJhc2VkIGltYWdlCisrICAgIC8vIGNsYXNzaWZpY2F0aW9uIHVzZWQgZm9yIGJpdG1hcHMg KGtNYXhJbWFnZUxlbmd0aCkuIFNWR3MgY2FuIGJlIG5lc3RlZCwKKysgICAgLy8gc28gcGF1c2Ug dGhpcyBTVkcncyBkYXJrIG1vZGUgc3RhdGUgd2hpbGUgcGFpbnRpbmcgaXRzIGNoaWxkcmVuOyB0 aGUKKysgICAgLy8gc2NvcGVyIHJlc3RvcmVzIHRoZSBvdXRlciBzdGF0ZSB3aGVuIGl0IGdvZXMg b3V0IG9mIHNjb3BlLiBUaGlzIGxldHMgYW4KKysgICAgLy8gaWNvbi1zaXplZCBTVkcgZW1iZWRk ZWQgaW5zaWRlIGEgbGFyZ2VyIChwYXVzZWQpIFNWRyByZS1lbmFibGUgaW52ZXJzaW9uCisrICAg IC8vIGZvciBpdHNlbGYuCisrICAgIGNvbnN0IGJvb2wgcGF1c2VfZGFya19tb2RlID0KKysgICAg ICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0U1ZHRG9jdW1lbnRUeXBlKCpsYXlvdXRfc3Zn X3Jvb3RfLkdldEZyYW1lKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzbmFwcGVkX3NpemUpICE9CisrICAgICAgICBEYXJrTW9kZUZpbHRlcjo6 SW1hZ2VUeXBlOjprSWNvbjsKKysgICAgZGFya19tb2RlX3N0YXRlLmVtcGxhY2UocGFpbnRfaW5m by5jb250ZXh0LCBwYXVzZV9kYXJrX21vZGUpOworKyAgfQorKworICAgZm9yIChMYXlvdXRPYmpl Y3QqIGNoaWxkID0gbGF5b3V0X3N2Z19yb290Xy5GaXJzdENoaWxkKCk7IGNoaWxkOworICAgICAg ICBjaGlsZCA9IGNoaWxkLT5OZXh0U2libGluZygpKSB7CisgICAgIGlmIChhdXRvKiBmb3JlaWdu X29iamVjdCA9IER5bmFtaWNUbzxMYXlvdXRTVkdGb3JlaWduT2JqZWN0PihjaGlsZCkpIHsKK2Rp ZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9n cmFwaGljc19jb250ZXh0LmNjIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0v Z3JhcGhpY3MvZ3JhcGhpY3NfY29udGV4dC5jYworaW5kZXggOTJkNTlhZjA4MWVkLi5kZjM5NWZj MjQzZmUgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9n cmFwaGljcy9ncmFwaGljc19jb250ZXh0LmNjCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncmFwaGljc19jb250ZXh0LmNjCitAQCAtNzcsNyArNzcs NyBAQCBuYW1lc3BhY2UgeworIFNrQ29sb3I0ZiBEYXJrTW9kZUNvbG9yKEdyYXBoaWNzQ29udGV4 dCYgY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTa0NvbG9yNGYmIGNv bG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEF1dG9EYXJrTW9kZSYgYXV0b19k YXJrX21vZGUpIHsKKy0gIGlmIChhdXRvX2RhcmtfbW9kZS5lbmFibGVkKSB7CisrICBpZiAoYXV0 b19kYXJrX21vZGUuZW5hYmxlZCAmJiAhY29udGV4dC5Jc0F1dG9EYXJrTW9kZVBhdXNlZCgpKSB7 CisgICAgIHJldHVybiBjb250ZXh0LkdldERhcmtNb2RlRmlsdGVyKCktPkludmVydENvbG9ySWZO ZWVkZWQoCisgICAgICAgICBjb2xvciwgYXV0b19kYXJrX21vZGUucm9sZSwKKyAgICAgICAgIFNr Q29sb3I0Zjo6RnJvbUNvbG9yKGF1dG9fZGFya19tb2RlLmNvbnRyYXN0X2NvbG9yKSk7CitAQCAt MTg5LDcgKzE4OSw3IEBAIGNsYXNzIEdyYXBoaWNzQ29udGV4dDo6RGFya01vZGVGbGFncyBmaW5h bCB7CisgICBEYXJrTW9kZUZsYWdzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwKKyAgICAgICAg ICAgICAgICAgY29uc3QgQXV0b0RhcmtNb2RlJiBhdXRvX2RhcmtfbW9kZSwKKyAgICAgICAgICAg ICAgICAgY29uc3QgY2M6OlBhaW50RmxhZ3MmIGZsYWdzKSB7CistICAgIGlmIChhdXRvX2Rhcmtf bW9kZS5lbmFibGVkKSB7CisrICAgIGlmIChhdXRvX2RhcmtfbW9kZS5lbmFibGVkICYmICFjb250 ZXh0LT5Jc0F1dG9EYXJrTW9kZVBhdXNlZCgpKSB7CisgICAgICAgZGFya19tb2RlX2ZsYWdzXyA9 IGNvbnRleHQtPkdldERhcmtNb2RlRmlsdGVyKCktPkFwcGx5VG9GbGFnc0lmTmVlZGVkKAorICAg ICAgICAgICBmbGFncywgYXV0b19kYXJrX21vZGUucm9sZSwKKyAgICAgICAgICAgU2tDb2xvcjRm OjpGcm9tQ29sb3IoYXV0b19kYXJrX21vZGUuY29udHJhc3RfY29sb3IpKTsKK0BAIC0yNDgsNiAr MjQ4LDkgQEAgRGFya01vZGVGaWx0ZXIqIEdyYXBoaWNzQ29udGV4dDo6R2V0RGFya01vZGVGaWx0 ZXJGb3JJbWFnZSgKKyAgICAgY29uc3QgSW1hZ2VBdXRvRGFya01vZGUmIGF1dG9fZGFya19tb2Rl KSB7CisgICBpZiAoIWF1dG9fZGFya19tb2RlLmVuYWJsZWQpCisgICAgIHJldHVybiBudWxscHRy OworKyAgLy8gSW1hZ2VzIGFyZSBnYXRlZCBieSB0aGVpciBvd24gc2l6ZSBjbGFzc2lmaWNhdGlv biwgbm90IGJ5IHRoZSBjb250ZXh0J3MKKysgIC8vIGF1dG8gZGFyayBtb2RlIHBhdXNlZCBzdGF0 ZSwgc28gYW4gaWNvbi1zaXplZCBpbWFnZSBpcyBzdGlsbCBpbnZlcnRlZCBldmVuCisrICAvLyB3 aGlsZSBkYXJrIG1vZGUgaXMgcGF1c2VkIGZvciBpdHMgY29udGFpbmVyLgorICAgRGFya01vZGVG aWx0ZXIqIGRhcmtfbW9kZV9maWx0ZXIgPSBHZXREYXJrTW9kZUZpbHRlcigpOworICAgaWYgKCFk YXJrX21vZGVfZmlsdGVyLT5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoYXV0b19kYXJrX21vZGUu aW1hZ2VfdHlwZSkpCisgICAgIHJldHVybiBudWxscHRyOworZGlmZiAtLWdpdCBhL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dyYXBoaWNzX2NvbnRleHQuaCBi L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2dyYXBoaWNzX2Nv bnRleHQuaAoraW5kZXggMDQ2MDk4ZTc5NTc4Li5mMDcyZTI0YjFlMjIgMTAwNjQ0CistLS0gYS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncmFwaGljc19jb250 ZXh0LmgKKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNz L2dyYXBoaWNzX2NvbnRleHQuaAorQEAgLTIxMyw2ICsyMTMsMzQgQEAgY2xhc3MgUExBVEZPUk1f RVhQT1JUIEdyYXBoaWNzQ29udGV4dCB7CisgICBEYXJrTW9kZUZpbHRlciogR2V0RGFya01vZGVG aWx0ZXJGb3JJbWFnZSgKKyAgICAgICBjb25zdCBJbWFnZUF1dG9EYXJrTW9kZSYgYXV0b19kYXJr X21vZGUpOworIAorKyAgLy8gUHVzaGVzIGEgZGFyayBtb2RlIGludmVyc2lvbiBwYXVzZSBzdGF0 ZSBvbiBjb25zdHJ1Y3Rpb24gYW5kIHBvcHMgaXQgb24KKysgIC8vIGRlc3RydWN0aW9uLCBndWFy YW50ZWVpbmcgcHVzaGVzIGFuZCBwb3BzIGFyZSBhbHdheXMgYmFsYW5jZWQuIFNlZSB0aGUKKysg IC8vIGNvbW1lbnQgb24gSXNBdXRvRGFya01vZGVQYXVzZWQoKSBmb3IgdGhlIHNlbWFudGljcyBv ZiB0aGUgcGF1c2Ugc3RhdGVzLgorKyAgY2xhc3MgU2NvcGVkQXV0b0RhcmtNb2RlU3RhdGUgewor KyAgICBTVEFDS19BTExPQ0FURUQoKTsKKysKKysgICBwdWJsaWM6CisrICAgIFNjb3BlZEF1dG9E YXJrTW9kZVN0YXRlKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgYm9vbCBwYXVzZWQpCisrICAg ICAgICA6IGNvbnRleHRfKGNvbnRleHQpIHsKKysgICAgICBjb250ZXh0Xy5QdXNoQXV0b0RhcmtN b2RlU3RhdGUocGF1c2VkKTsKKysgICAgfQorKyAgICBTY29wZWRBdXRvRGFya01vZGVTdGF0ZShj b25zdCBTY29wZWRBdXRvRGFya01vZGVTdGF0ZSYpID0gZGVsZXRlOworKyAgICBTY29wZWRBdXRv RGFya01vZGVTdGF0ZSYgb3BlcmF0b3I9KGNvbnN0IFNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlJikg PSBkZWxldGU7CisrICAgIH5TY29wZWRBdXRvRGFya01vZGVTdGF0ZSgpIHsgY29udGV4dF8uUG9w QXV0b0RhcmtNb2RlU3RhdGUoKTsgfQorKworKyAgIHByaXZhdGU6CisrICAgIEdyYXBoaWNzQ29u dGV4dCYgY29udGV4dF87CisrICB9OworKworKyAgLy8gRGFyayBtb2RlIGNvbG9yL2ZsYWdzIGlu dmVyc2lvbiBwYXVzZSBzdGF0ZS4gV2hpbGUgdGhlIGxhdGVzdCBwdXNoZWQgc3RhdGUKKysgIC8v IGlzIHRydWUsIGludmVyc2lvbiBpcyBwYXVzZWQgcmVnYXJkbGVzcyBvZiB0aGUgcGVyLWRyYXcg fGVuYWJsZWR8IGZsYWcuCisrICAvLyBOZXN0ZWQgc2NvcGVzIGNhbiBvdmVycmlkZSB0aGUgcGF1 c2Ugc3RhdGUgb2YgdGhlaXIgYW5jZXN0b3JzOiB0aGUgcHVzaGVkCisrICAvLyBzdGF0ZSBhcHBs aWVzIHVudGlsIGl0IGlzIHBvcHBlZCwgYWZ0ZXIgd2hpY2ggdGhlIHByZXZpb3VzIHN0YXRlIHRh a2VzCisrICAvLyBlZmZlY3QgYWdhaW4uIFVzZSBTY29wZWRBdXRvRGFya01vZGVTdGF0ZSB0byBt YW5hZ2UgdGhlIHN0YXRlcy4KKysgIGJvb2wgSXNBdXRvRGFya01vZGVQYXVzZWQoKSBjb25zdCB7 CisrICAgIHJldHVybiAhYXV0b19kYXJrX21vZGVfc3RhdGVzXy5lbXB0eSgpICYmIGF1dG9fZGFy a19tb2RlX3N0YXRlc18uYmFjaygpOworKyAgfQorKworICAgdm9pZCBTZXREYXJrTW9kZUZpbHRl ckZvclRlc3Qoc3RkOjp1bmlxdWVfcHRyPERhcmtNb2RlRmlsdGVyPik7CisgCisgICAvLyAtLS0t LS0tLS0tIFN0YXRlIG1hbmFnZW1lbnQgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLQorQEAgLTUx MSw2ICs1MzksMTYgQEAgY2xhc3MgUExBVEZPUk1fRVhQT1JUIEdyYXBoaWNzQ29udGV4dCB7Cisg ICAgIHJldHVybiBwYWludF9zdGF0ZV87CisgICB9CisgCisrICAvLyBNYW5hZ2VkIGV4Y2x1c2l2 ZWx5IHRocm91Z2ggU2NvcGVkQXV0b0RhcmtNb2RlU3RhdGUgdG8ga2VlcCBwdXNoZXMgYW5kIHBv cHMKKysgIC8vIGJhbGFuY2VkLgorKyAgdm9pZCBQdXNoQXV0b0RhcmtNb2RlU3RhdGUoYm9vbCBw YXVzZWQpIHsKKysgICAgYXV0b19kYXJrX21vZGVfc3RhdGVzXy5wdXNoX2JhY2socGF1c2VkKTsK KysgIH0KKysgIHZvaWQgUG9wQXV0b0RhcmtNb2RlU3RhdGUoKSB7CisrICAgIERDSEVDSyghYXV0 b19kYXJrX21vZGVfc3RhdGVzXy5lbXB0eSgpKTsKKysgICAgYXV0b19kYXJrX21vZGVfc3RhdGVz Xy5wb3BfYmFjaygpOworKyAgfQorKworICAgdGVtcGxhdGUgPHR5cGVuYW1lIERyYXdUZXh0RnVu Yz4KKyAgIHZvaWQgRHJhd1RleHRQYXNzZXMoY29uc3QgRHJhd1RleHRGdW5jJik7CisgCitAQCAt NTcxLDYgKzYwOSw3IEBAIGNsYXNzIFBMQVRGT1JNX0VYUE9SVCBHcmFwaGljc0NvbnRleHQgewor IAorICAgc3RkOjp1bmlxdWVfcHRyPERhcmtNb2RlRmlsdGVyPiBkYXJrX21vZGVfZmlsdGVyXzsK KyAKKysgIFZlY3Rvcjxib29sPiBhdXRvX2RhcmtfbW9kZV9zdGF0ZXNfOworICAgYm9vbCBwcmlu dGluZ18gPSBmYWxzZTsKKyAgIGJvb2wgcHJpbnRpbmdfaW50ZXJuYWxfaGVhZGVyc19hbmRfZm9v dGVyc18gPSBmYWxzZTsKKyAgIGJvb2wgaW5fZHJhd2luZ19yZWNvcmRlcl8gPSBmYWxzZTsKK2Rp ZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9n cmFwaGljc19jb250ZXh0X3Rlc3QuY2MgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9ncmFwaGljcy9ncmFwaGljc19jb250ZXh0X3Rlc3QuY2MKK2luZGV4IGQwOTY3NmJiOTJh ZC4uZTg1MDRjYjU0MTA2IDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv cGxhdGZvcm0vZ3JhcGhpY3MvZ3JhcGhpY3NfY29udGV4dF90ZXN0LmNjCisrKysgYi90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9ncmFwaGljc19jb250ZXh0X3Rl c3QuY2MKK0BAIC0xOTgsNSArMTk4LDc3IEBAIFRFU1RfRihHcmFwaGljc0NvbnRleHREYXJrTW9k ZVRlc3QsIEludmVydExpZ2h0bmVzc0xBQikgeworICAgRVhQRUNUX0VRKDB4ZmY3ZjdmN2YsIGJp dG1hcF8uZ2V0Q29sb3IoMywgMCkpOworIH0KKyAKKytURVNUX0YoR3JhcGhpY3NDb250ZXh0RGFy a01vZGVUZXN0LCBTY29wZWRBdXRvRGFya01vZGVTdGF0ZVBhdXNlZCkgeworKyAgUGFpbnRDb250 cm9sbGVyIHBhaW50X2NvbnRyb2xsZXI7CisrICBHcmFwaGljc0NvbnRleHQgY29udGV4dChwYWlu dF9jb250cm9sbGVyKTsKKysgIERhcmtNb2RlU2V0dGluZ3Mgc2V0dGluZ3M7CisrICBjb250ZXh0 LlNldERhcmtNb2RlRmlsdGVyRm9yVGVzdChzdGQ6Om1ha2VfdW5pcXVlPERhcmtNb2RlRmlsdGVy PihzZXR0aW5ncykpOworKyAgQXV0b0RhcmtNb2RlIGF1dG9fZGFya19tb2RlKERhcmtNb2RlRmls dGVyOjpFbGVtZW50Um9sZTo6a0JhY2tncm91bmQsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLyplbmFibGVkPSovdHJ1ZSk7CisrCisrICBFWFBFQ1RfRkFMU0UoY29udGV4dC5Jc0F1 dG9EYXJrTW9kZVBhdXNlZCgpKTsKKysKKysgIGNvbnRleHQuQmVnaW5SZWNvcmRpbmcoKTsKKysg IHsKKysgICAgLy8gUGF1c2luZyBzdXBwcmVzc2VzIGludmVyc2lvbiwgc28gYmxhY2sgc3RheXMg YmxhY2suCisrICAgIEdyYXBoaWNzQ29udGV4dDo6U2NvcGVkQXV0b0RhcmtNb2RlU3RhdGUgcGF1 c2VkKGNvbnRleHQsIC8qcGF1c2VkPSovdHJ1ZSk7CisrICAgIEVYUEVDVF9UUlVFKGNvbnRleHQu SXNBdXRvRGFya01vZGVQYXVzZWQoKSk7CisrICAgIGNvbnRleHQuRmlsbFJlY3QoZ2Z4OjpSZWN0 RigwLCAwLCAxLCAxKSwgQ29sb3I6OmtCbGFjaywgYXV0b19kYXJrX21vZGUpOworKworKyAgICB7 CisrICAgICAgLy8gQSBuZXN0ZWQgc2NvcGUgb3ZlcnJpZGVzIHRoZSBhbmNlc3RvciwgcmUtZW5h YmxpbmcgaW52ZXJzaW9uIHNvIGJsYWNrCisrICAgICAgLy8gYmVjb21lcyB3aGl0ZS4KKysgICAg ICBHcmFwaGljc0NvbnRleHQ6OlNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlIHJlc3VtZWQoY29udGV4 dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLypwYXVzZWQ9Ki9mYWxzZSk7CisrICAgICAgRVhQRUNUX0ZBTFNFKGNvbnRleHQuSXNBdXRv RGFya01vZGVQYXVzZWQoKSk7CisrICAgICAgY29udGV4dC5GaWxsUmVjdChnZng6OlJlY3RGKDEs IDAsIDEsIDEpLCBDb2xvcjo6a0JsYWNrLCBhdXRvX2RhcmtfbW9kZSk7CisrICAgIH0KKysKKysg ICAgLy8gVGhlIG91dGVyIHBhdXNlZCBzdGF0ZSBpcyByZXN0b3JlZCB3aGVuIHRoZSBuZXN0ZWQg c2NvcGUgZXhpdHMuCisrICAgIEVYUEVDVF9UUlVFKGNvbnRleHQuSXNBdXRvRGFya01vZGVQYXVz ZWQoKSk7CisrICB9CisrCisrICAvLyBCYWNrIHRvIHRoZSBkZWZhdWx0IChub3QgcGF1c2VkKSBz dGF0ZSBhZnRlciBhbGwgc2NvcGVzIGV4aXQ7IGludmVyc2lvbgorKyAgLy8gYXBwbGllcyBhZ2Fp biwgc28gYmxhY2sgYmVjb21lcyB3aGl0ZS4KKysgIEVYUEVDVF9GQUxTRShjb250ZXh0LklzQXV0 b0RhcmtNb2RlUGF1c2VkKCkpOworKyAgY29udGV4dC5GaWxsUmVjdChnZng6OlJlY3RGKDIsIDAs IDEsIDEpLCBDb2xvcjo6a0JsYWNrLCBhdXRvX2RhcmtfbW9kZSk7CisrCisrICBjYW52YXNfLT5k cmF3UGljdHVyZShjb250ZXh0LkVuZFJlY29yZGluZygpKTsKKysKKysgIEVYUEVDVF9FUShTS19D b2xvckJMQUNLLCBiaXRtYXBfLmdldENvbG9yKDAsIDApKTsKKysgIEVYUEVDVF9FUShTS19Db2xv cldISVRFLCBiaXRtYXBfLmdldENvbG9yKDEsIDApKTsKKysgIEVYUEVDVF9FUShTS19Db2xvcldI SVRFLCBiaXRtYXBfLmdldENvbG9yKDIsIDApKTsKKyt9CisrCisrVEVTVF9GKEdyYXBoaWNzQ29u dGV4dERhcmtNb2RlVGVzdCwKKysgICAgICAgQml0bWFwSW1hZ2VJZ25vcmVzQXV0b0RhcmtNb2Rl UGF1c2VkU3RhdGVzKSB7CisrICBQYWludENvbnRyb2xsZXIgcGFpbnRfY29udHJvbGxlcjsKKysg IEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KHBhaW50X2NvbnRyb2xsZXIpOworKyAgRGFya01vZGVT ZXR0aW5ncyBzZXR0aW5nczsKKysgIGNvbnRleHQuU2V0RGFya01vZGVGaWx0ZXJGb3JUZXN0KHN0 ZDo6bWFrZV91bmlxdWU8RGFya01vZGVGaWx0ZXI+KHNldHRpbmdzKSk7CisrCisrICBJbWFnZUF1 dG9EYXJrTW9kZSBpY29uKERhcmtNb2RlRmlsdGVyOjpFbGVtZW50Um9sZTo6a0JhY2tncm91bmQs CisrICAgICAgICAgICAgICAgICAgICAgICAgIC8qZW5hYmxlZD0qL3RydWUsIERhcmtNb2RlRmls dGVyOjpJbWFnZVR5cGU6OmtJY29uKTsKKysgIEltYWdlQXV0b0RhcmtNb2RlIHBob3RvKERhcmtN b2RlRmlsdGVyOjpFbGVtZW50Um9sZTo6a0JhY2tncm91bmQsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAvKmVuYWJsZWQ9Ki90cnVlLCBEYXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBlOjprUGhv dG8pOworKworKyAgLy8gTm90IHBhdXNlZDogaWNvbnMgYXJlIGludmVydGVkLCBwaG90b3MgYXJl IG5vdC4KKysgIEVYUEVDVF9GQUxTRShjb250ZXh0LklzQXV0b0RhcmtNb2RlUGF1c2VkKCkpOwor KyAgRVhQRUNUX05FKG51bGxwdHIsIGNvbnRleHQuR2V0RGFya01vZGVGaWx0ZXJGb3JJbWFnZShp Y29uKSk7CisrICBFWFBFQ1RfRVEobnVsbHB0ciwgY29udGV4dC5HZXREYXJrTW9kZUZpbHRlckZv ckltYWdlKHBob3RvKSk7CisrCisrICB7CisrICAgIC8vIFBhdXNlZDogdGhlIGljb24gaXMgc3Rp bGwgaW52ZXJ0ZWQsIGFuZCB0aGUgcGhvdG8gaXMgc3RpbGwgdW50b3VjaGVkLgorKyAgICBHcmFw aGljc0NvbnRleHQ6OlNjb3BlZEF1dG9EYXJrTW9kZVN0YXRlIHBhdXNlZChjb250ZXh0LCAvKnBh dXNlZD0qL3RydWUpOworKyAgICBFWFBFQ1RfVFJVRShjb250ZXh0LklzQXV0b0RhcmtNb2RlUGF1 c2VkKCkpOworKyAgICBFWFBFQ1RfTkUobnVsbHB0ciwgY29udGV4dC5HZXREYXJrTW9kZUZpbHRl ckZvckltYWdlKGljb24pKTsKKysgICAgRVhQRUNUX0VRKG51bGxwdHIsIGNvbnRleHQuR2V0RGFy a01vZGVGaWx0ZXJGb3JJbWFnZShwaG90bykpOworKyAgfQorKworKyAgLy8gQSBkaXNhYmxlZCBp bWFnZSBhdXRvIGRhcmsgbW9kZSBuZXZlciByZXR1cm5zIGEgZmlsdGVyLgorKyAgRVhQRUNUX0VR KG51bGxwdHIsCisrICAgICAgICAgICAgY29udGV4dC5HZXREYXJrTW9kZUZpbHRlckZvckltYWdl KEltYWdlQXV0b0RhcmtNb2RlOjpEaXNhYmxlZCgpKSk7CisrfQorKworIH0gIC8vIG5hbWVzcGFj ZQorIH0gIC8vIG5hbWVzcGFjZSBibGluawoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTE1MC1NYWtl LWRhcmstbW9kZS1hcHBseS1maWx0ZXItdG8taW1hZ2VzLWlycmVzcGVjdGl2ZS1vZi1sYXlvdXQt em9vbS5wYXRjaCBiL2Nocm9taXVtLTE1MC1NYWtlLWRhcmstbW9kZS1hcHBseS1maWx0ZXItdG8t aW1hZ2VzLWlycmVzcGVjdGl2ZS1vZi1sYXlvdXQtem9vbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi44ZWNhZWQwCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0t MTUwLU1ha2UtZGFyay1tb2RlLWFwcGx5LWZpbHRlci10by1pbWFnZXMtaXJyZXNwZWN0aXZlLW9m LWxheW91dC16b29tLnBhdGNoCkBAIC0wLDAgKzEsMjA0IEBACitjb21taXQgY2Y5NTg4ZTA2NTU2 NjNlMzAxOTE1ZTUzZWM1YThkZjhhZTg3NGNlNAorQXV0aG9yOiBQcmFzaGFudCBOZXZhc2UgPHBu ZXZhc2VAbWljcm9zb2Z0LmNvbT4KK0RhdGU6ICAgRnJpIEp1biAxOSAwNjoxOTo0NyAyMDI2IC0w NzAwCisKKyAgICBNYWtlIGRhcmsgbW9kZSBhcHBseSBmaWx0ZXIgdG8gaW1hZ2VzIGlycmVzcGVj dGl2ZSBvZiBsYXlvdXQgem9vbQorICAgIAorICAgIFRoZSBsYXlvdXQgem9vbSBmYWN0b3IgY29t YmluZXMgcGFnZSB6b29tIHdpdGggdGhlIGRldmljZSBzY2FsZSBmYWN0b3IuCisgICAgV2hlbiB6 b29tIGlzIGFwcGxpZWQsIHRoZSBwYWdlIHNpemUgc2NhbGVzIGFjY29yZGluZ2x5LCBhbmQgaW1h Z2VzIGFyZQorICAgIGRyYXduIHJlbGF0aXZlIHRvIHRoZSBuZXcgcGFnZSBzaXplLiBUaGlzIHNo b3VsZCBhY2NvdW50IGZvciB0aGUgaGlnaGVyCisgICAgaWNvbiB0aHJlc2hvbGQgcmF0aW8gY29t cGFyZWQgd2l0aCB0aGUgMXggc2NhbGUuIE90aGVyd2lzZSwgdGhlIHNhbWUKKyAgICBpbWFnZSBt YXkgcmVjZWl2ZSBkaWZmZXJlbnQgZGFyayBtb2RlIGZpbHRlcnMgYXQgZGlmZmVyZW50IHNjYWxl cywKKyAgICBjcmVhdGluZyBhIHBvb3IgdXNlciBleHBlcmllbmNlLiBUbyBhdm9pZCB0aGlzLCBk YXJrIG1vZGUgaW1hZ2UKKyAgICBjbGFzc2lmaWNhdGlvbiBzaG91bGQgcmVtYWluIGNvbnNpc3Rl bnQgYWNyb3NzIGxheW91dCB6b29tIGZhY3RvcnMuCisgICAgCisgICAgQ1NTIHpvb20gaXMgc3Rp bGwgY29uc2lkZXJlZCwgYmVjYXVzZSBpdCBjaGFuZ2VzIHRoZSByYXRpbyBvZiBkcmF3bgorICAg IGltYWdlIHNpemUgdG8gZGlzcGxheSBzaXplIGluIDF4IHNjYWxlLgorICAgIAorICAgIEJ1Zzog NDQ5OTA5NTI0CisgICAgQ2hhbmdlLUlkOiBJYTQyMDAwN2IyNzhhMWY1OTJjMzUzNTU3ZDRjYmY2 NmE3YzU3NWM0MgorICAgIFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29n bGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNzk2MTY2MAorICAgIFJldmlld2VkLWJ5OiBT dGVwaGVuIENoZW5uZXkgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KKyAgICBDb21taXQtUXVldWU6 IFByYXNoYW50IE5ldmFzZSA8cG5ldmFzZUBtaWNyb3NvZnQuY29tPgorICAgIEF1dG8tU3VibWl0 OiBQcmFzaGFudCBOZXZhc2UgPHBuZXZhc2VAbWljcm9zb2Z0LmNvbT4KKyAgICBDci1Db21taXQt UG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzE2NDk2Mzh9CisKK2RpZmYgLS1naXQgYS90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmNj IGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2Rhcmtf bW9kZS5jYworaW5kZXggMTI0NmYxNzlmOWIxOS4uNWIzNDI4M2Q3YTU1NiAxMDA2NDQKKy0tLSBh L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21v ZGUuY2MKKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRf YXV0b19kYXJrX21vZGUuY2MKK0BAIC00MSw2ICs0MSw3IEBAIERhcmtNb2RlRmlsdGVyOjpJbWFn ZVR5cGUgR2V0SW1hZ2VUeXBlKGZsb2F0IGRlc3RfdG9fZGV2aWNlX3JhdGlvLAorIAorIGZsb2F0 IEdldFJhdGlvKGNvbnN0IGRpc3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvLAorICAgICAg ICAgICAgICAgIGNvbnN0IGdmeDo6UmVjdEYmIGRlc3RfcmVjdCkgeworKyAgLy8gQ29tcHV0ZSBk ZXZpY2UgcmVjdCBpbiBkZXZpY2UgcGl4ZWxzLgorICAgY29uc3QgZ2Z4OjpTaXplRiYgZGV2aWNl X3JlY3QgPSBnZng6OlNjYWxlU2l6ZSgKKyAgICAgICBnZng6OlNpemVGKHNjcmVlbl9pbmZvLnJl Y3Quc2l6ZSgpKSwgc2NyZWVuX2luZm8uZGV2aWNlX3NjYWxlX2ZhY3Rvcik7CisgCitAQCAtNDgs NiArNDksMjcgQEAgZmxvYXQgR2V0UmF0aW8oY29uc3QgZGlzcGxheTo6U2NyZWVuSW5mbyYgc2Ny ZWVuX2luZm8sCisgICAgICAgICAgICAgICAgICAgZGVzdF9yZWN0LmhlaWdodCgpIC8gZGV2aWNl X3JlY3QuaGVpZ2h0KCkpOworIH0KKyAKKysvLyBDbGFzc2lmaWVzIGFuIGltYWdlIGFmdGVyIHVu ZG9pbmcgdGhlIGZyYW1lJ3MgbGF5b3V0IHpvb20gZmFjdG9yLgorKy8vIHxkZXN0X3JlY3R8IGNv bWVzIGZyb20gbGF5b3V0IGdlb21ldHJ5IGFuZCBpbmNsdWRlcyBsYXlvdXQgem9vbSAocGFnZSB6 b29tCisrLy8gYW5kIHBvdGVudGlhbGx5IERTRikgYW5kIENTUyB6b29tLiBVbmRvIG9ubHkgbGF5 b3V0IHpvb20gc28gcGFnZSB6b29tIGFuZAorKy8vIERTRiBkbyBub3QgYWZmZWN0IGNsYXNzaWZp Y2F0aW9uLCB3aGlsZSBDU1Mgem9vbSBzdGlsbCBkb2VzLiB8c3JjX3JlY3R8IGlzCisrLy8gZGVy aXZlZCBmcm9tIHRoZSBpbWFnZSdzIGludHJpbnNpYyBwaXhlbCBzaXplIGFuZCBpcyBhbHJlYWR5 CisrLy8gem9vbS1pbmRlcGVuZGVudCwgc28gaXQgbXVzdCBiZSBsZWZ0IHVudG91Y2hlZC4KKytE YXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBlIEdldEltYWdlVHlwZVdpdGhab29tKAorKyAgICBjb25z dCBkaXNwbGF5OjpTY3JlZW5JbmZvJiBzY3JlZW5faW5mbywKKysgICAgZmxvYXQgem9vbSwKKysg ICAgY29uc3QgZ2Z4OjpSZWN0RiYgZGVzdF9yZWN0LAorKyAgICBjb25zdCBnZng6OlJlY3RGJiBz cmNfcmVjdCkgeworKyAgZ2Z4OjpSZWN0RiB1bnpvb21lZF9kZXN0X3JlY3QgPSBkZXN0X3JlY3Q7 CisrICBpZiAoem9vbSA+IDAuZiAmJiB6b29tICE9IDEuZikgeworKyAgICB1bnpvb21lZF9kZXN0 X3JlY3QuU2NhbGUoMS5mIC8gem9vbSk7CisrICB9CisrCisrICByZXR1cm4gR2V0SW1hZ2VUeXBl KEdldFJhdGlvKHNjcmVlbl9pbmZvLCB1bnpvb21lZF9kZXN0X3JlY3QpLAorKyAgICAgICAgICAg ICAgICAgICAgICBnZng6OlRvRW5jbG9zaW5nUmVjdCh1bnpvb21lZF9kZXN0X3JlY3QpLAorKyAg ICAgICAgICAgICAgICAgICAgICBnZng6OlRvRW5jbG9zaW5nUmVjdChzcmNfcmVjdCkpOworK30K KysKKyB9ICAvLyBuYW1lc3BhY2UKKyAKKyAvLyBzdGF0aWMKK0BAIC02MywyMCArODUsMTkgQEAg SW1hZ2VBdXRvRGFya01vZGUgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZUF1dG9EYXJr TW9kZSgKKyAgIGNvbnN0IGRpc3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvID0KKyAgICAg ICBsb2NhbF9mcmFtZS5HZXRDaHJvbWVDbGllbnQoKS5HZXRTY3JlZW5JbmZvKGxvY2FsX2ZyYW1l KTsKKyAKKy0gIHJldHVybiBJbWFnZUF1dG9EYXJrTW9kZShyb2xlLCBzdHlsZS5Gb3JjZURhcmso KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICBHZXRJbWFnZVR5cGUoR2V0UmF0aW8oc2Ny ZWVuX2luZm8sIGRlc3RfcmVjdCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGdmeDo6VG9FbmNsb3NpbmdSZWN0KGRlc3RfcmVjdCksCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6VG9FbmNsb3NpbmdSZWN0KHNyY19yZWN0KSkp OworKyAgY29uc3QgZmxvYXQgbGF5b3V0X3pvb20gPSBsb2NhbF9mcmFtZS5MYXlvdXRab29tRmFj dG9yKCk7CisrICByZXR1cm4gSW1hZ2VBdXRvRGFya01vZGUoCisrICAgICAgcm9sZSwgc3R5bGUu Rm9yY2VEYXJrKCksCisrICAgICAgR2V0SW1hZ2VUeXBlV2l0aFpvb20oc2NyZWVuX2luZm8sIGxh eW91dF96b29tLCBkZXN0X3JlY3QsIHNyY19yZWN0KSk7CisgfQorIAorIC8vIHN0YXRpYworIERh cmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5 cGVGb3JUZXN0aW5nKAorICAgICBkaXNwbGF5OjpTY3JlZW5JbmZvJiBzY3JlZW5faW5mbywKKyAg ICAgY29uc3QgZ2Z4OjpSZWN0RiYgZGVzdF9yZWN0LAorLSAgICBjb25zdCBnZng6OlJlY3RGJiBz cmNfcmVjdCkgeworLSAgcmV0dXJuIEdldEltYWdlVHlwZShHZXRSYXRpbyhzY3JlZW5faW5mbywg ZGVzdF9yZWN0KSwKKy0gICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpUb0VuY2xvc2luZ1JlY3Qo ZGVzdF9yZWN0KSwKKy0gICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpUb0VuY2xvc2luZ1JlY3Qo c3JjX3JlY3QpKTsKKysgICAgY29uc3QgZ2Z4OjpSZWN0RiYgc3JjX3JlY3QsCisrICAgIGZsb2F0 IHpvb20pIHsKKysgIHJldHVybiBHZXRJbWFnZVR5cGVXaXRoWm9vbShzY3JlZW5faW5mbywgem9v bSwgZGVzdF9yZWN0LCBzcmNfcmVjdCk7CisgfQorIAorIH0gIC8vIG5hbWVzcGFjZSBibGluawor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRf YXV0b19kYXJrX21vZGUuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQv cGFpbnRfYXV0b19kYXJrX21vZGUuaAoraW5kZXggZjNlZGEwMTEzMzkxYS4uOWJmOGRmMWMzM2E4 NCAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFp bnRfYXV0b19kYXJrX21vZGUuaAorKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29y ZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5oCitAQCAtNDIsNyArNDIsOCBAQCBjbGFzcyBJ bWFnZUNsYXNzaWZpZXJIZWxwZXIgeworICAgQ09SRV9FWFBPUlQgc3RhdGljIERhcmtNb2RlRmls dGVyOjpJbWFnZVR5cGUgR2V0SW1hZ2VUeXBlRm9yVGVzdGluZygKKyAgICAgICBkaXNwbGF5OjpT Y3JlZW5JbmZvJiBzY3JlZW5faW5mbywKKyAgICAgICBjb25zdCBnZng6OlJlY3RGJiBkZXN0X3Jl Y3QsCistICAgICAgY29uc3QgZ2Z4OjpSZWN0RiYgc3JjX3JlY3QpOworKyAgICAgIGNvbnN0IGdm eDo6UmVjdEYmIHNyY19yZWN0LAorKyAgICAgIGZsb2F0IHpvb20gPSAxLjBmKTsKKyB9OworIAor IH0gIC8vIG5hbWVzcGFjZSBibGluaworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYyBiL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5j YworaW5kZXggNzA1YTMwNGRlMWNlNy4uNzdmZjBmMDY5MTg4ZSAxMDA2NDQKKy0tLSBhL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVz dC5jYworKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9h dXRvX2RhcmtfbW9kZV90ZXN0LmNjCitAQCAtMTAsNyArMTAsNjkgQEAKKyAKKyBuYW1lc3BhY2Ug YmxpbmsgeworIAorLWNsYXNzIFBhaW50QXV0b0RhcmtNb2RlVGVzdCA6IHB1YmxpYyB0ZXN0aW5n OjpUZXN0IHt9OworK2NsYXNzIFBhaW50QXV0b0RhcmtNb2RlVGVzdCA6IHB1YmxpYyB0ZXN0aW5n OjpUZXN0IHsKKysgcHVibGljOgorKyAgdm9pZCBUZXN0QXBwbHlGaWx0ZXJUb0ltYWdlSXJyZXNw ZWN0aXZlT2ZQYWdlWm9vbSgKKysgICAgICBkaXNwbGF5OjpTY3JlZW5JbmZvIHNjcmVlbl9pbmZv KSB7CisrICAgIERhcmtNb2RlU2V0dGluZ3Mgc2V0dGluZ3M7CisrICAgIERhcmtNb2RlRmlsdGVy IGZpbHRlcihzZXR0aW5ncyk7CisrCisrICAgIGZsb2F0IHBhZ2Vfem9vbSA9IDEuMGY7CisrICAg IGZsb2F0IGxheW91dF96b29tID0gMS4wZjsKKysgICAgZmxvYXQgY3NzX3pvb20gPSAxLjBmOwor KyAgICBnZng6OlJlY3RGIHNyY19yZWN0OworKyAgICBnZng6OlJlY3RGIGRlc3RfcmVjdDsKKysK KysgICAgLy8gQSA1MHg1MCBDU1MgaWNvbiBnZXRzIGZpbHRlcmVkIGV2ZW4gaWYgfGRlc3RfcmVj dHwgYmVjb21lcyBsYXJnZXIgMjUweDI1MAorKyAgICAvLyB0aGFuIHRocmVzaG9sZCBzaXplIGlu IGxhcmdlciB6b29tIGxldmVscy4KKysgICAgc3JjX3JlY3QgPSBnZng6OlJlY3RGKDUwLCA1MCk7 CisrICAgIHBhZ2Vfem9vbSA9IDUuMGY7CisrICAgIGNzc196b29tID0gMS4wZjsKKysgICAgbGF5 b3V0X3pvb20gPSBwYWdlX3pvb20gKiBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yOwor KyAgICBkZXN0X3JlY3QgPQorKyAgICAgICAgZ2Z4OjpSZWN0Rig1MCAqIGxheW91dF96b29tICog Y3NzX3pvb20sIDUwICogbGF5b3V0X3pvb20gKiBjc3Nfem9vbSk7CisrICAgIEVYUEVDVF9UUlVF KGZpbHRlci5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoCisrICAgICAgICBJbWFnZUNsYXNzaWZp ZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3Rpbmcoc2NyZWVuX2luZm8sIGRlc3RfcmVjdCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz cmNfcmVjdCwgbGF5b3V0X3pvb20pKSk7CisrCisrICAgIC8vIEEgNTB4NTAgQ1NTIGljb24gd2l0 aCBjc3Mgem9vbSA1LjBmIGJlY29tZXMgMjUweDI1MCBhbmQgZG9lcyBub3QgZ2V0CisrICAgIC8v IGZpbHRlcnJlZCBhcyB8ZGVzdF9yZWN0fCBpcyBsYXJnZXIgdGhhbiB0aHJlc2hvbGQgc2l6ZS4K KysgICAgc3JjX3JlY3QgPSBnZng6OlJlY3RGKDUwLCA1MCk7CisrICAgIHBhZ2Vfem9vbSA9IDUu MGY7CisrICAgIGNzc196b29tID0gNS4wZjsKKysgICAgbGF5b3V0X3pvb20gPSBwYWdlX3pvb20g KiBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yOworKyAgICBkZXN0X3JlY3QgPQorKyAg ICAgICAgZ2Z4OjpSZWN0Rig1MCAqIGxheW91dF96b29tICogY3NzX3pvb20sIDUwICogbGF5b3V0 X3pvb20gKiBjc3Nfem9vbSk7CisrICAgIEVYUEVDVF9GQUxTRShmaWx0ZXIuU2hvdWxkQXBwbHlG aWx0ZXJUb0ltYWdlKAorKyAgICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5 cGVGb3JUZXN0aW5nKHNjcmVlbl9pbmZvLCBkZXN0X3JlY3QsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3JlY3QsIGxheW91dF96b29t KSkpOworKworKyAgICAvLyBBbiBpbWFnZSB3aXRoIDIwMHgyMDAgQ1NTIHNpemUgZ2V0cyBjbGFz c2lmaWVkIGFzIHBob3RvIGFuZCBkb2VzIG5vdCBnZXQKKysgICAgLy8gZmlsdGVyZWQsIGV2ZW4g aWYgfGRlc3RfcmVjdHwgYmVjb21lcyBzbWFsbGVyIDUweDUwIHRoYW4gdGhyZXNob2xkIHNpemUK KysgICAgLy8gaW4gc21hbGxlciB6b29tIGxldmVscy4KKysgICAgc3JjX3JlY3QgPSBnZng6OlJl Y3RGKDIwMCwgMjAwKTsKKysgICAgcGFnZV96b29tID0gMC4yNWY7CisrICAgIGNzc196b29tID0g MS4wZjsKKysgICAgbGF5b3V0X3pvb20gPSBwYWdlX3pvb20gKiBzY3JlZW5faW5mby5kZXZpY2Vf c2NhbGVfZmFjdG9yOworKyAgICBkZXN0X3JlY3QgPQorKyAgICAgICAgZ2Z4OjpSZWN0RigyMDAg KiBsYXlvdXRfem9vbSAqIGNzc196b29tLCAyMDAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tKTsK KysgICAgRVhQRUNUX0ZBTFNFKGZpbHRlci5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoCisrICAg ICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3Rpbmcoc2NyZWVu X2luZm8sIGRlc3RfcmVjdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzcmNfcmVjdCwgbGF5b3V0X3pvb20pKSk7CisrCisrICAgIC8vIEFu IGltYWdlIHdpdGggMjAweDIwMCBDU1Mgc2l6ZSBiZWNvbWVzIDIweDIwIENTUyBzaXplIGFuZCBn ZXRzIGNsYXNzaWZpZWQKKysgICAgLy8gYXMgaWNvbiBhcyB0aGUgQ1NTIHNpemUgaXMgYmVsb3cg dGhlIHRocmVzaG9sZC4KKysgICAgc3JjX3JlY3QgPSBnZng6OlJlY3RGKDIwMCwgMjAwKTsKKysg ICAgcGFnZV96b29tID0gMC4yNWY7CisrICAgIGNzc196b29tID0gMC4xZjsKKysgICAgbGF5b3V0 X3pvb20gPSBwYWdlX3pvb20gKiBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yOworKyAg ICBkZXN0X3JlY3QgPQorKyAgICAgICAgZ2Z4OjpSZWN0RigyMDAgKiBsYXlvdXRfem9vbSAqIGNz c196b29tLCAyMDAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tKTsKKysgICAgRVhQRUNUX1RSVUUo ZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSgKKysgICAgICAgIEltYWdlQ2xhc3NpZmll ckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhzY3JlZW5faW5mbywgZGVzdF9yZWN0LAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNy Y19yZWN0LCBsYXlvdXRfem9vbSkpKTsKKysgIH0KKyt9OworIAorIFRFU1RfRihQYWludEF1dG9E YXJrTW9kZVRlc3QsIFNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSkgeworICAgRGFya01vZGVTZXR0 aW5ncyBzZXR0aW5nczsKK0BAIC03Nyw0ICsxMzksMjEgQEAgVEVTVF9GKFBhaW50QXV0b0RhcmtN b2RlVGVzdCwgU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlT25Nb2JpbGUpIHsKKyAgICAgICAgICAg c2NyZWVuX2luZm8sIGdmeDo6UmVjdEYoMTgwLCAxODApLCBnZng6OlJlY3RGKDE4MCwgMTgwKSkp KTsKKyB9CisgCisrVEVTVF9GKFBhaW50QXV0b0RhcmtNb2RlVGVzdCwgU2hvdWxkQXBwbHlGaWx0 ZXJUb0ltYWdlSXJyZXNwZWN0aXZlT2ZQYWdlWm9vbSkgeworKyAgZGlzcGxheTo6U2NyZWVuSW5m byBzY3JlZW5faW5mbzsKKysgIHNjcmVlbl9pbmZvLnJlY3QgPSBnZng6OlJlY3QoMTkyMCwgMTA4 MCk7CisrICBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yID0gMS4wZjsKKysKKysgIFRl c3RBcHBseUZpbHRlclRvSW1hZ2VJcnJlc3BlY3RpdmVPZlBhZ2Vab29tKHNjcmVlbl9pbmZvKTsK Kyt9CisrCisrVEVTVF9GKFBhaW50QXV0b0RhcmtNb2RlVGVzdCwKKysgICAgICAgU2hvdWxkQXBw bHlGaWx0ZXJUb0ltYWdlSXJyZXNwZWN0aXZlT2ZQYWdlWm9vbU9uTW9iaWxlKSB7CisrICBkaXNw bGF5OjpTY3JlZW5JbmZvIHNjcmVlbl9pbmZvOworKyAgc2NyZWVuX2luZm8ucmVjdCA9IGdmeDo6 UmVjdCgzNjAsIDc4MCk7CisrICBzY3JlZW5faW5mby5kZXZpY2Vfc2NhbGVfZmFjdG9yID0gMy4w ZjsKKysKKysgIFRlc3RBcHBseUZpbHRlclRvSW1hZ2VJcnJlc3BlY3RpdmVPZlBhZ2Vab29tKHNj cmVlbl9pbmZvKTsKKyt9CisrCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5rCgpkaWZmIC0tZ2l0IGEv Y2hyb21pdW0tMTUwLVVzZS02NHB4LWNzcy1waXhlbHMtYWJzb2x1dGUtdGhyZXNob2xkLWZvci1k YXJrLWltYWdlLWNsYXNzaWZpY2F0aW9uLnBhdGNoIGIvY2hyb21pdW0tMTUwLVVzZS02NHB4LWNz cy1waXhlbHMtYWJzb2x1dGUtdGhyZXNob2xkLWZvci1kYXJrLWltYWdlLWNsYXNzaWZpY2F0aW9u LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkYzliMTcKLS0tIC9k ZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xNTAtVXNlLTY0cHgtY3NzLXBpeGVscy1hYnNvbHV0ZS10 aHJlc2hvbGQtZm9yLWRhcmstaW1hZ2UtY2xhc3NpZmljYXRpb24ucGF0Y2gKQEAgLTAsMCArMSwy ODEgQEAKK2NvbW1pdCAyYzBiNzljNTdjMTcyNmYzNTliY2Q4NzEzNzQ3NGU4NTRiMWFlYjM4CitB dXRob3I6IFByYXNoYW50IE5ldmFzZSA8cG5ldmFzZUBtaWNyb3NvZnQuY29tPgorRGF0ZTogICBU aHUgSnVuIDI1IDA4OjExOjM0IDIwMjYgLTA3MDAKKworICAgIFVzZSA2NHB4IGNzcyBwaXhlbHMg YWJzb2x1dGUgdGhyZXNob2xkIGZvciBkYXJrIGltYWdlIGNsYXNzaWZpY2F0aW9uLgorICAgIAor ICAgIFRoZSBwcmV2aW91cyByYXRpby1iYXNlZCB0aHJlc2hvbGQgc2NhbGVkIHdpdGggdGhlIHNj cmVlbiBzaXplIGFuZAorICAgIGRldmljZSBzY2FsZSBmYWN0b3IsIHNvIHRoZSBzYW1lIGltYWdl IGNvdWxkIGJlIGNsYXNzaWZpZWQgZGlmZmVyZW50bHkKKyAgICBkZXBlbmRpbmcgb24gdGhlIGRp c3BsYXkgaXQgd2FzIHNob3duIG9uLiBUaGlzIHByb2R1Y2VkIGluY29uc2lzdGVudAorICAgIGRh cmsgbW9kZSByZXN1bHRzIGFjcm9zcyBkaXNwbGF5cyBvZiBkaWZmZXJlbnQgc2l6ZXMgYW5kIGRl dmljZSBzY2FsZQorICAgIGZhY3RvcnMuCisgICAgCisgICAgUmVwbGFjZSB0aGUgc2NyZWVuLXNp emUgcmF0aW8gaGV1cmlzdGljIChrTWF4SWNvblJhdGlvKSB3aXRoIGEgc2luZ2xlCisgICAgYWJz b2x1dGUgc2l6ZSB0aHJlc2hvbGQgb2YgNjQgQ1NTIHBpeGVscyBmb3IgY2xhc3NpZnlpbmcgaW1h Z2VzIGFzIGljb25zCisgICAgaW4gYXV0byBkYXJrIG1vZGUuIFRoZSB0aHJlc2hvbGQgaXMgY29t cGFyZWQgYWZ0ZXIgdW5kb2luZyB0aGUgZnJhbWUncworICAgIGxheW91dCB6b29tIGZhY3RvciAo cGFnZSB6b29tIGFuZCBkZXZpY2Ugc2NhbGUgZmFjdG9yKSwgc28KKyAgICBjbGFzc2lmaWNhdGlv biBpcyBzdGFibGUgYWNyb3NzIGRldmljZXMgYW5kIHBhZ2Ugem9vbSBsZXZlbHMgd2hpbGUgQ1NT CisgICAgem9vbSBzdGlsbCBhZmZlY3RzIHRoZSBkcmF3biBzaXplIGFuZCB0aGVyZWZvcmUgdGhl IHJlc3VsdC4KKyAgICAKKyAgICBUaGlzIHJlbW92ZXMgdGhlIGRlcGVuZGVuY3kgb24gZGlzcGxh eTo6U2NyZWVuSW5mbyBmcm9tIHRoZQorICAgIGNsYXNzaWZpY2F0aW9uIHBhdGggYW5kIHNpbXBs aWZpZXMgR2V0SW1hZ2VUeXBlKCkgdG8gYSBwdXJlIHNpemUgY2hlY2suCisgICAgCisgICAgQnVn OiA0NDk5MDk1MjQKKyAgICBDaGFuZ2UtSWQ6IEk0NDdlYzdhMWY5NGZlZDMwMDQ4ODlkZmUyYmQ3 OGJmODM5MmRkZDYxCisgICAgUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdv b2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy84MDA1MTc2CisgICAgUmV2aWV3ZWQtYnk6 IFN0ZXBoZW4gQ2hlbm5leSA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgorICAgIENvbW1pdC1RdWV1 ZTogUHJhc2hhbnQgTmV2YXNlIDxwbmV2YXNlQG1pY3Jvc29mdC5jb20+CisgICAgQ3ItQ29tbWl0 LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5AeyMxNjUyNDM0fQorCitkaWZmIC0tZ2l0IGEvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZS5j YyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJr X21vZGUuY2MKK2luZGV4IDViMzQyODNkN2E1NTYuLjY1OGY2YTRlNGY2ZmQgMTAwNjQ0CistLS0g YS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19t b2RlLmNjCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50 X2F1dG9fZGFya19tb2RlLmNjCitAQCAtNSwzMiArNSwyNiBAQAorICNpbmNsdWRlICJ0aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgiCisg CisgI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZnJhbWUvbG9jYWxf ZnJhbWUuaCIKKy0jaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWdl L2Nocm9tZV9jbGllbnQuaCIKKy0jaW5jbHVkZSAidWkvZGlzcGxheS9zY3JlZW5faW5mby5oIgor ICNpbmNsdWRlICJ1aS9nZngvZ2VvbWV0cnkvcmVjdC5oIgorICNpbmNsdWRlICJ1aS9nZngvZ2Vv bWV0cnkvcmVjdF9jb252ZXJzaW9ucy5oIgorIAorIG5hbWVzcGFjZSBibGluayB7CisgCisgbmFt ZXNwYWNlIHsKKy0KKy0vLyBUaGUgbWF4aW11bSByYXRpbyBvZiBpbWFnZSBzaXplIHRvIHNjcmVl biBzaXplIHRoYXQgaXMgY29uc2lkZXJlZCBhbiBpY29uLgorLWNvbnN0ZXhwciBmbG9hdCBrTWF4 SWNvblJhdGlvID0gMC4xM2Y7CistY29uc3RleHByIGludCBrTWF4SW1hZ2VMZW5ndGggPSA1MDsK KysvLyBJbWFnZXMgd2l0aCBib3RoIHdpZHRoIGFuZCBoZWlnaHQgc21hbGxlciB0aGFuIHRoaXMg dmFsdWUgYXJlIGNvbnNpZGVyZWQKKysvLyBpY29ucy4KKytjb25zdGV4cHIgaW50IGtNYXhJbWFn ZUxlbmd0aCA9IDY0OworIC8vIEltYWdlcyB3aXRoIGVpdGhlciBkaW1lbnNpb24gbGVzcyB0aGFu IHRoaXMgdmFsdWUgYXJlIGNvbnNpZGVyZWQgc2VwYXJhdG9ycy4KKyBjb25zdGV4cHIgaW50IGtN YXhJbWFnZVNlcGFyYXRvckxlbmd0aCA9IDg7CisgCisgLy8gV2UgbmVlZCB0byBkbyBpbWFnZSBj bGFzc2lmaWNhdGlvbiBmaXJzdCBiZWZvcmUgY2FsbGluZworIC8vIERhcmtNb2RlRmlsdGVyOjpH ZW5lcmF0ZUltYWdlRmlsdGVyLgorLURhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgR2V0SW1hZ2VU eXBlKGZsb2F0IGRlc3RfdG9fZGV2aWNlX3JhdGlvLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGdmeDo6UmVjdCYgZGVzdF9yZWN0LAorK0RhcmtNb2RlRmls dGVyOjpJbWFnZVR5cGUgR2V0SW1hZ2VUeXBlKGNvbnN0IGdmeDo6UmVjdCYgZGVzdF9yZWN0LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdmeDo6UmVjdCYg c3JjX3JlY3QpIHsKKy0gIC8vIFRPRE86IFVzZSBhIHZpZXdwb3J0IHJlbGF0aXZlIHRocmVzaG9s ZCBmb3IgdGhlIHNpemUgY2hlY2sgaW5zdGVhZCBvZgorLSAgLy8gYWJzb2x1dGUgdGhyZXNob2xk LgorLSAgaWYgKGRlc3RfdG9fZGV2aWNlX3JhdGlvIDw9IGtNYXhJY29uUmF0aW8gfHwKKy0gICAg ICAoZGVzdF9yZWN0LndpZHRoKCkgPD0ga01heEltYWdlTGVuZ3RoICYmCistICAgICAgIGRlc3Rf cmVjdC5oZWlnaHQoKSA8PSBrTWF4SW1hZ2VMZW5ndGgpKQorKyAgaWYgKGRlc3RfcmVjdC53aWR0 aCgpIDw9IGtNYXhJbWFnZUxlbmd0aCAmJgorKyAgICAgIGRlc3RfcmVjdC5oZWlnaHQoKSA8PSBr TWF4SW1hZ2VMZW5ndGgpIHsKKyAgICAgcmV0dXJuIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGU6 OmtJY29uOworKyAgfQorIAorICAgaWYgKHNyY19yZWN0LndpZHRoKCkgPD0ga01heEltYWdlU2Vw YXJhdG9yTGVuZ3RoIHx8CisgICAgICAgc3JjX3JlY3QuaGVpZ2h0KCkgPD0ga01heEltYWdlU2Vw YXJhdG9yTGVuZ3RoKQorQEAgLTM5LDM0ICszMywyMSBAQCBEYXJrTW9kZUZpbHRlcjo6SW1hZ2VU eXBlIEdldEltYWdlVHlwZShmbG9hdCBkZXN0X3RvX2RldmljZV9yYXRpbywKKyAgIHJldHVybiBE YXJrTW9kZUZpbHRlcjo6SW1hZ2VUeXBlOjprUGhvdG87CisgfQorIAorLWZsb2F0IEdldFJhdGlv KGNvbnN0IGRpc3BsYXk6OlNjcmVlbkluZm8mIHNjcmVlbl9pbmZvLAorLSAgICAgICAgICAgICAg IGNvbnN0IGdmeDo6UmVjdEYmIGRlc3RfcmVjdCkgeworLSAgLy8gQ29tcHV0ZSBkZXZpY2UgcmVj dCBpbiBkZXZpY2UgcGl4ZWxzLgorLSAgY29uc3QgZ2Z4OjpTaXplRiYgZGV2aWNlX3JlY3QgPSBn Zng6OlNjYWxlU2l6ZSgKKy0gICAgICBnZng6OlNpemVGKHNjcmVlbl9pbmZvLnJlY3Quc2l6ZSgp KSwgc2NyZWVuX2luZm8uZGV2aWNlX3NjYWxlX2ZhY3Rvcik7CistCistICByZXR1cm4gc3RkOjpt YXgoZGVzdF9yZWN0LndpZHRoKCkgLyBkZXZpY2VfcmVjdC53aWR0aCgpLAorLSAgICAgICAgICAg ICAgICAgIGRlc3RfcmVjdC5oZWlnaHQoKSAvIGRldmljZV9yZWN0LmhlaWdodCgpKTsKKy19Cist CisgLy8gQ2xhc3NpZmllcyBhbiBpbWFnZSBhZnRlciB1bmRvaW5nIHRoZSBmcmFtZSdzIGxheW91 dCB6b29tIGZhY3Rvci4KKyAvLyB8ZGVzdF9yZWN0fCBjb21lcyBmcm9tIGxheW91dCBnZW9tZXRy eSBhbmQgaW5jbHVkZXMgbGF5b3V0IHpvb20gKHBhZ2Ugem9vbQorIC8vIGFuZCBwb3RlbnRpYWxs eSBEU0YpIGFuZCBDU1Mgem9vbS4gVW5kbyBvbmx5IGxheW91dCB6b29tIHNvIHBhZ2Ugem9vbSBh bmQKKyAvLyBEU0YgZG8gbm90IGFmZmVjdCBjbGFzc2lmaWNhdGlvbiwgd2hpbGUgQ1NTIHpvb20g c3RpbGwgZG9lcy4gfHNyY19yZWN0fCBpcworIC8vIGRlcml2ZWQgZnJvbSB0aGUgaW1hZ2UncyBp bnRyaW5zaWMgcGl4ZWwgc2l6ZSBhbmQgaXMgYWxyZWFkeQorIC8vIHpvb20taW5kZXBlbmRlbnQs IHNvIGl0IG11c3QgYmUgbGVmdCB1bnRvdWNoZWQuCistRGFya01vZGVGaWx0ZXI6OkltYWdlVHlw ZSBHZXRJbWFnZVR5cGVXaXRoWm9vbSgKKy0gICAgY29uc3QgZGlzcGxheTo6U2NyZWVuSW5mbyYg c2NyZWVuX2luZm8sCistICAgIGZsb2F0IHpvb20sCistICAgIGNvbnN0IGdmeDo6UmVjdEYmIGRl c3RfcmVjdCwKKy0gICAgY29uc3QgZ2Z4OjpSZWN0RiYgc3JjX3JlY3QpIHsKKytEYXJrTW9kZUZp bHRlcjo6SW1hZ2VUeXBlIEdldEltYWdlVHlwZVdpdGhab29tKGZsb2F0IHpvb20sCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnZng6OlJlY3RG JiBkZXN0X3JlY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCkgeworICAgZ2Z4OjpSZWN0RiB1bnpvb21l ZF9kZXN0X3JlY3QgPSBkZXN0X3JlY3Q7CisgICBpZiAoem9vbSA+IDAuZiAmJiB6b29tICE9IDEu ZikgeworICAgICB1bnpvb21lZF9kZXN0X3JlY3QuU2NhbGUoMS5mIC8gem9vbSk7CisgICB9Cisg CistICByZXR1cm4gR2V0SW1hZ2VUeXBlKEdldFJhdGlvKHNjcmVlbl9pbmZvLCB1bnpvb21lZF9k ZXN0X3JlY3QpLAorLSAgICAgICAgICAgICAgICAgICAgICBnZng6OlRvRW5jbG9zaW5nUmVjdCh1 bnpvb21lZF9kZXN0X3JlY3QpLAorKyAgcmV0dXJuIEdldEltYWdlVHlwZShnZng6OlRvRW5jbG9z aW5nUmVjdCh1bnpvb21lZF9kZXN0X3JlY3QpLAorICAgICAgICAgICAgICAgICAgICAgICBnZng6 OlRvRW5jbG9zaW5nUmVjdChzcmNfcmVjdCkpOworIH0KKyAKK0BAIC04MiwyMiArNjMsMTggQEAg SW1hZ2VBdXRvRGFya01vZGUgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZUF1dG9EYXJr TW9kZSgKKyAgIGlmICghc3R5bGUuRm9yY2VEYXJrKCkpCisgICAgIHJldHVybiBJbWFnZUF1dG9E YXJrTW9kZTo6RGlzYWJsZWQoKTsKKyAKKy0gIGNvbnN0IGRpc3BsYXk6OlNjcmVlbkluZm8mIHNj cmVlbl9pbmZvID0KKy0gICAgICBsb2NhbF9mcmFtZS5HZXRDaHJvbWVDbGllbnQoKS5HZXRTY3Jl ZW5JbmZvKGxvY2FsX2ZyYW1lKTsKKy0KKyAgIGNvbnN0IGZsb2F0IGxheW91dF96b29tID0gbG9j YWxfZnJhbWUuTGF5b3V0Wm9vbUZhY3RvcigpOworICAgcmV0dXJuIEltYWdlQXV0b0RhcmtNb2Rl KAorICAgICAgIHJvbGUsIHN0eWxlLkZvcmNlRGFyaygpLAorLSAgICAgIEdldEltYWdlVHlwZVdp dGhab29tKHNjcmVlbl9pbmZvLCBsYXlvdXRfem9vbSwgZGVzdF9yZWN0LCBzcmNfcmVjdCkpOwor KyAgICAgIEdldEltYWdlVHlwZVdpdGhab29tKGxheW91dF96b29tLCBkZXN0X3JlY3QsIHNyY19y ZWN0KSk7CisgfQorIAorIC8vIHN0YXRpYworIERhcmtNb2RlRmlsdGVyOjpJbWFnZVR5cGUgSW1h Z2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorLSAgICBkaXNwbGF5 OjpTY3JlZW5JbmZvJiBzY3JlZW5faW5mbywKKyAgICAgY29uc3QgZ2Z4OjpSZWN0RiYgZGVzdF9y ZWN0LAorICAgICBjb25zdCBnZng6OlJlY3RGJiBzcmNfcmVjdCwKKyAgICAgZmxvYXQgem9vbSkg eworLSAgcmV0dXJuIEdldEltYWdlVHlwZVdpdGhab29tKHNjcmVlbl9pbmZvLCB6b29tLCBkZXN0 X3JlY3QsIHNyY19yZWN0KTsKKysgIHJldHVybiBHZXRJbWFnZVR5cGVXaXRoWm9vbSh6b29tLCBk ZXN0X3JlY3QsIHNyY19yZWN0KTsKKyB9CisgCisgfSAgLy8gbmFtZXNwYWNlIGJsaW5rCitkaWZm IC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRv X2RhcmtfbW9kZS5oIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWlu dF9hdXRvX2RhcmtfbW9kZS5oCitpbmRleCA5YmY4ZGYxYzMzYTg0Li5hZmQ1N2VlZTJiNDU2IDEw MDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9h dXRvX2RhcmtfbW9kZS5oCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3Bh aW50L3BhaW50X2F1dG9fZGFya19tb2RlLmgKK0BAIC00MCw3ICs0MCw2IEBAIGNsYXNzIEltYWdl Q2xhc3NpZmllckhlbHBlciB7CisgICAgICAgICAgIERhcmtNb2RlRmlsdGVyOjpFbGVtZW50Um9s ZTo6a0JhY2tncm91bmQpOworIAorICAgQ09SRV9FWFBPUlQgc3RhdGljIERhcmtNb2RlRmlsdGVy OjpJbWFnZVR5cGUgR2V0SW1hZ2VUeXBlRm9yVGVzdGluZygKKy0gICAgICBkaXNwbGF5OjpTY3Jl ZW5JbmZvJiBzY3JlZW5faW5mbywKKyAgICAgICBjb25zdCBnZng6OlJlY3RGJiBkZXN0X3JlY3Qs CisgICAgICAgY29uc3QgZ2Z4OjpSZWN0RiYgc3JjX3JlY3QsCisgICAgICAgZmxvYXQgem9vbSA9 IDEuMGYpOworZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFp bnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYworaW5kZXggNzdmZjBm MDY5MTg4ZS4uY2YwNWVhMWE5ZThhZiAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL2NvcmUvcGFpbnQvcGFpbnRfYXV0b19kYXJrX21vZGVfdGVzdC5jYworKysrIGIvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9wYWludF9hdXRvX2RhcmtfbW9kZV90 ZXN0LmNjCitAQCAtMzIsOCArMzIsOCBAQCBjbGFzcyBQYWludEF1dG9EYXJrTW9kZVRlc3QgOiBw dWJsaWMgdGVzdGluZzo6VGVzdCB7CisgICAgIGRlc3RfcmVjdCA9CisgICAgICAgICBnZng6OlJl Y3RGKDUwICogbGF5b3V0X3pvb20gKiBjc3Nfem9vbSwgNTAgKiBsYXlvdXRfem9vbSAqIGNzc196 b29tKTsKKyAgICAgRVhQRUNUX1RSVUUoZmlsdGVyLlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSgK Ky0gICAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhz Y3JlZW5faW5mbywgZGVzdF9yZWN0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNyY19yZWN0LCBsYXlvdXRfem9vbSkpKTsKKysgICAgICAg IEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhkZXN0X3JlY3Qs IHNyY19yZWN0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxheW91dF96b29tKSkpOworIAorICAgICAvLyBBIDUweDUwIENTUyBpY29uIHdp dGggY3NzIHpvb20gNS4wZiBiZWNvbWVzIDI1MHgyNTAgYW5kIGRvZXMgbm90IGdldAorICAgICAv LyBmaWx0ZXJyZWQgYXMgfGRlc3RfcmVjdHwgaXMgbGFyZ2VyIHRoYW4gdGhyZXNob2xkIHNpemUu CitAQCAtNDQsOCArNDQsOCBAQCBjbGFzcyBQYWludEF1dG9EYXJrTW9kZVRlc3QgOiBwdWJsaWMg dGVzdGluZzo6VGVzdCB7CisgICAgIGRlc3RfcmVjdCA9CisgICAgICAgICBnZng6OlJlY3RGKDUw ICogbGF5b3V0X3pvb20gKiBjc3Nfem9vbSwgNTAgKiBsYXlvdXRfem9vbSAqIGNzc196b29tKTsK KyAgICAgRVhQRUNUX0ZBTFNFKGZpbHRlci5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoCistICAg ICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3Rpbmcoc2NyZWVu X2luZm8sIGRlc3RfcmVjdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzcmNfcmVjdCwgbGF5b3V0X3pvb20pKSk7CisrICAgICAgICBJbWFn ZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoZGVzdF9yZWN0LCBzcmNf cmVjdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsYXlvdXRfem9vbSkpKTsKKyAKKyAgICAgLy8gQW4gaW1hZ2Ugd2l0aCAyMDB4MjAwIENT UyBzaXplIGdldHMgY2xhc3NpZmllZCBhcyBwaG90byBhbmQgZG9lcyBub3QgZ2V0CisgICAgIC8v IGZpbHRlcmVkLCBldmVuIGlmIHxkZXN0X3JlY3R8IGJlY29tZXMgc21hbGxlciA1MHg1MCB0aGFu IHRocmVzaG9sZCBzaXplCitAQCAtNTcsOCArNTcsOCBAQCBjbGFzcyBQYWludEF1dG9EYXJrTW9k ZVRlc3QgOiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7CisgICAgIGRlc3RfcmVjdCA9CisgICAgICAg ICBnZng6OlJlY3RGKDIwMCAqIGxheW91dF96b29tICogY3NzX3pvb20sIDIwMCAqIGxheW91dF96 b29tICogY3NzX3pvb20pOworICAgICBFWFBFQ1RfRkFMU0UoZmlsdGVyLlNob3VsZEFwcGx5Rmls dGVyVG9JbWFnZSgKKy0gICAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBl Rm9yVGVzdGluZyhzY3JlZW5faW5mbywgZGVzdF9yZWN0LAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyY19yZWN0LCBsYXlvdXRfem9vbSkp KTsKKysgICAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGlu ZyhkZXN0X3JlY3QsIHNyY19yZWN0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxheW91dF96b29tKSkpOworIAorICAgICAvLyBBbiBpbWFn ZSB3aXRoIDIwMHgyMDAgQ1NTIHNpemUgYmVjb21lcyAyMHgyMCBDU1Mgc2l6ZSBhbmQgZ2V0cyBj bGFzc2lmaWVkCisgICAgIC8vIGFzIGljb24gYXMgdGhlIENTUyBzaXplIGlzIGJlbG93IHRoZSB0 aHJlc2hvbGQuCitAQCAtNjksOCArNjksOCBAQCBjbGFzcyBQYWludEF1dG9EYXJrTW9kZVRlc3Qg OiBwdWJsaWMgdGVzdGluZzo6VGVzdCB7CisgICAgIGRlc3RfcmVjdCA9CisgICAgICAgICBnZng6 OlJlY3RGKDIwMCAqIGxheW91dF96b29tICogY3NzX3pvb20sIDIwMCAqIGxheW91dF96b29tICog Y3NzX3pvb20pOworICAgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJUb0lt YWdlKAorLSAgICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0 aW5nKHNjcmVlbl9pbmZvLCBkZXN0X3JlY3QsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjX3JlY3QsIGxheW91dF96b29tKSkpOworKyAg ICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKGRlc3Rf cmVjdCwgc3JjX3JlY3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGF5b3V0X3pvb20pKSk7CisgICB9CisgfTsKKyAKK0BAIC03OCw0NCAr NzgsNDAgQEAgVEVTVF9GKFBhaW50QXV0b0RhcmtNb2RlVGVzdCwgU2hvdWxkQXBwbHlGaWx0ZXJU b0ltYWdlKSB7CisgICBEYXJrTW9kZVNldHRpbmdzIHNldHRpbmdzOworICAgRGFya01vZGVGaWx0 ZXIgZmlsdGVyKHNldHRpbmdzKTsKKyAKKy0gIGRpc3BsYXk6OlNjcmVlbkluZm8gc2NyZWVuX2lu Zm87CistICBzY3JlZW5faW5mby5yZWN0ID0gZ2Z4OjpSZWN0KDE5MjAsIDEwODApOworLSAgc2Ny ZWVuX2luZm8uZGV2aWNlX3NjYWxlX2ZhY3RvciA9IDEuMGY7CistCisgICAvLyB8ZHN0fCBpcyBz bWFsbGVyIHRoYW4gdGhyZXNob2xkIHNpemUuCisgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxk QXBwbHlGaWx0ZXJUb0ltYWdlKAorLSAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1h Z2VUeXBlRm9yVGVzdGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6UmVjdEYoNTAs IDUwKSwgZ2Z4OjpSZWN0Rig1MCwgNTApKSkpOworKyAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBl cjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhnZng6OlJlY3RGKDUwLCA1MCksCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6UmVjdEYoNTAs IDUwKSkpKTsKKyAKKyAgIC8vIHxkc3R8IGlzIHNtYWxsZXIgdGhhbiB0aHJlc2hvbGQgc2l6ZSwg ZXZlbiB8c3JjfCBpcyBsYXJnZXIuCisgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBwbHlG aWx0ZXJUb0ltYWdlKAorLSAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBl Rm9yVGVzdGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6UmVjdEYoNTAsIDUwKSwg Z2Z4OjpSZWN0RigyMDAsIDIwMCkpKSk7CisrICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpH ZXRJbWFnZVR5cGVGb3JUZXN0aW5nKGdmeDo6UmVjdEYoNTAsIDUwKSwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Z4OjpSZWN0RigyMDAsIDIw MCkpKSk7CisgCisgICAvLyB8ZHN0fCBpcyBzbWFsbGVyIHRoYW4gdGhyZXNob2xkIHNpemUsIHxz cmN8IGlzIHNtYWxsZXIuCisgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJU b0ltYWdlKAorLSAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVz dGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6UmVjdEYoNTAsIDUwKSwgZ2Z4OjpS ZWN0RigyMCwgMjApKSkpOworKyAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VU eXBlRm9yVGVzdGluZyhnZng6OlJlY3RGKDUwLCA1MCksCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6UmVjdEYoMjAsIDIwKSkpKTsKKyAK KyAgIC8vIHxzcmN8IGhhdmluZyB2ZXJ5IHNtYWxsZXIgd2lkdGgsIGV2ZW4gfGRzdHwgaXMgbGFy Z2VyIHRoYW4gdGhyZXNob2xkIHNpemUuCisgICBFWFBFQ1RfVFJVRShmaWx0ZXIuU2hvdWxkQXBw bHlGaWx0ZXJUb0ltYWdlKAorLSAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VU eXBlRm9yVGVzdGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6UmVjdEYoMjAwLCA1 KSwgZ2Z4OjpSZWN0RigyMDAsIDUpKSkpOworKyAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6 R2V0SW1hZ2VUeXBlRm9yVGVzdGluZyhnZng6OlJlY3RGKDIwMCwgNSksCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmeDo6UmVjdEYoMjAwLCA1 KSkpKTsKKyAKKyAgIC8vIHxzcmN8IGhhdmluZyB2ZXJ5IHNtYWxsZXIgaGVpZ2h0LCBldmVuIHxk c3R8IGlzIGxhcmdlciB0aGFuIHRocmVzaG9sZCBzaXplLgorICAgRVhQRUNUX1RSVUUoZmlsdGVy LlNob3VsZEFwcGx5RmlsdGVyVG9JbWFnZSgKKy0gICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6 OkdldEltYWdlVHlwZUZvclRlc3RpbmcoCistICAgICAgICAgIHNjcmVlbl9pbmZvLCBnZng6OlJl Y3RGKDUsIDIwMCksIGdmeDo6UmVjdEYoNSwgMjAwKSkpKTsKKysgICAgICBJbWFnZUNsYXNzaWZp ZXJIZWxwZXI6OkdldEltYWdlVHlwZUZvclRlc3RpbmcoZ2Z4OjpSZWN0Rig1LCAyMDApLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZng6OlJl Y3RGKDUsIDIwMCkpKSk7CisgCisgICAvLyB8ZHN0fCBpcyBsYXJnZXIgdGhhbiB0aHJlc2hvbGQg c2l6ZS4KKyAgIEVYUEVDVF9GQUxTRShmaWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlKAor LSAgICAgIEltYWdlQ2xhc3NpZmllckhlbHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZygKKy0g ICAgICAgICAgc2NyZWVuX2luZm8sIGdmeDo6UmVjdEYoMjAwLCAyMDApLCBnZng6OlJlY3RGKDIw LCAyMCkpKSk7CisrICAgICAgSW1hZ2VDbGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JU ZXN0aW5nKGdmeDo6UmVjdEYoMjAwLCAyMDApLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBnZng6OlJlY3RGKDIwLCAyMCkpKSk7CisgCisgICAv LyB8ZHN0fCBpcyBsYXJnZXIgdGhhbiB0aHJlc2hvbGQgc2l6ZS4KKyAgIEVYUEVDVF9GQUxTRShm aWx0ZXIuU2hvdWxkQXBwbHlGaWx0ZXJUb0ltYWdlKAorLSAgICAgIEltYWdlQ2xhc3NpZmllckhl bHBlcjo6R2V0SW1hZ2VUeXBlRm9yVGVzdGluZygKKy0gICAgICAgICAgc2NyZWVuX2luZm8sIGdm eDo6UmVjdEYoMjAsIDIwMCksIGdmeDo6UmVjdEYoMjAsIDIwMCkpKSk7CisrICAgICAgSW1hZ2VD bGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKGdmeDo6UmVjdEYoMjAsIDIw MCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdmeDo6UmVjdEYoMjAsIDIwMCkpKSk7CisgfQorIAorIC8vIFRlc3QgZm9yIG1vYmlsZSBkaXNw bGF5IGNvbmZpZ3VyYXRpb24KK0BAIC0xMjYsMTcgKzEyMiwxOSBAQCBURVNUX0YoUGFpbnRBdXRv RGFya01vZGVUZXN0LCBTaG91bGRBcHBseUZpbHRlclRvSW1hZ2VPbk1vYmlsZSkgeworICAgZGlz cGxheTo6U2NyZWVuSW5mbyBzY3JlZW5faW5mbzsKKyAgIHNjcmVlbl9pbmZvLnJlY3QgPSBnZng6 OlJlY3QoMzYwLCA3ODApOworICAgc2NyZWVuX2luZm8uZGV2aWNlX3NjYWxlX2ZhY3RvciA9IDMu MGY7CisrICBjb25zdCBmbG9hdCBsYXlvdXRfem9vbSA9IHNjcmVlbl9pbmZvLmRldmljZV9zY2Fs ZV9mYWN0b3I7CisgCistICAvLyA0NHg0NCBjc3MgaW1hZ2Ugd2hpY2ggaXMgYWJvdmUgdGhlIHBo eXNpY2FsIHNpemUgdGhyZXNob2xkCistICAvLyBidXQgd2l0aCBpbiB0aGUgZGV2aWNlIHJhdGlv IHRocmVzaG9sZAorKyAgLy8gNDR4NDQgQ1NTIGljb24gKDEzMngxMzIgZGV2aWNlIHBpeGVscykg aXMgYmVsb3cgdGhlIHRocmVzaG9sZCBhbmQgZmlsdGVyZWQKKysgIC8vIGFmdGVyIHVuZG9pbmcg dGhlIGxheW91dCB6b29tIChEU0YpLgorICAgRVhQRUNUX1RSVUUoZmlsdGVyLlNob3VsZEFwcGx5 RmlsdGVyVG9JbWFnZSgKKyAgICAgICBJbWFnZUNsYXNzaWZpZXJIZWxwZXI6OkdldEltYWdlVHlw ZUZvclRlc3RpbmcoCistICAgICAgICAgIHNjcmVlbl9pbmZvLCBnZng6OlJlY3RGKDEzMiwgMTMy KSwgZ2Z4OjpSZWN0RigxMzIsIDEzMikpKSk7CisrICAgICAgICAgIGdmeDo6UmVjdEYoMTMyLCAx MzIpLCBnZng6OlJlY3RGKDEzMiwgMTMyKSwgbGF5b3V0X3pvb20pKSk7CisgCistICAvLyA2MHg2 MCBjc3MgaW1hZ2UKKysgIC8vIDcweDcwIENTUyBpbWFnZSAoMjEweDIxMCBkZXZpY2UgcGl4ZWxz KSBpcyBhYm92ZSB0aGUgdGhyZXNob2xkIGFuZCBub3QKKysgIC8vIGZpbHRlcmVkLgorICAgRVhQ RUNUX0ZBTFNFKGZpbHRlci5TaG91bGRBcHBseUZpbHRlclRvSW1hZ2UoCisgICAgICAgSW1hZ2VD bGFzc2lmaWVySGVscGVyOjpHZXRJbWFnZVR5cGVGb3JUZXN0aW5nKAorLSAgICAgICAgICBzY3Jl ZW5faW5mbywgZ2Z4OjpSZWN0RigxODAsIDE4MCksIGdmeDo6UmVjdEYoMTgwLCAxODApKSkpOwor KyAgICAgICAgICBnZng6OlJlY3RGKDIxMCwgMjEwKSwgZ2Z4OjpSZWN0RigyMTAsIDIxMCksIGxh eW91dF96b29tKSkpOworIH0KKyAKKyBURVNUX0YoUGFpbnRBdXRvRGFya01vZGVUZXN0LCBTaG91 bGRBcHBseUZpbHRlclRvSW1hZ2VJcnJlc3BlY3RpdmVPZlBhZ2Vab29tKSB7CgpkaWZmIC0tZ2l0 IGEvY2hyb21pdW0uY29uZiBiL2Nocm9taXVtLmNvbmYKaW5kZXggZjc3OTc1ZS4uNDZlMDAyZCAx MDA2NDQKLS0tIGEvY2hyb21pdW0uY29uZgorKysgYi9jaHJvbWl1bS5jb25mCkBAIC02MCw3ICs2 MCw3IEBAIGZpCiAKICMgV2ViIERhcmsgbW9kZQogaWYgWyAiJFdFQl9BVVRPX0RBUktNT0RFX1dF QkNPTlRFTlQiID09ICJvbiIgXSA7IHRoZW4KLSAgIGRhcmt0eXBlPSJXZWJDb250ZW50c0ZvcmNl RGFyayxBdXRvRGFya01vZGVTa2lwSW1hZ2VzIgorICAgZGFya3R5cGU9IldlYkNvbnRlbnRzRm9y Y2VEYXJrIgogICAgaWYgWyAteiAiJEVOQUJMRV9GRUFUVVJFUyIgXSA7IHRoZW4KICAgICAgICBF TkFCTEVfRkVBVFVSRVMrPSIkZGFya3R5cGUiCiAgICBlbHNlCgpkaWZmIC0tZ2l0IGEvY2hyb21p dW0uc3BlYyBiL2Nocm9taXVtLnNwZWMKaW5kZXggODdhYzU2OS4uZmEzMTgyYSAxMDA2NDQKLS0t IGEvY2hyb21pdW0uc3BlYworKysgYi9jaHJvbWl1bS5zcGVjCkBAIC0yNzEsNyArMjcxLDcgQEAK ICVlbmRpZgogCiBOYW1lOgljaHJvbWl1bQotVmVyc2lvbjogMTUwLjAuNzg3MS4xMTQKK1ZlcnNp b246IDE1MC4wLjc4NzEuMTI0CiBSZWxlYXNlOiAxJXs/ZGlzdH0KIFN1bW1hcnk6IEEgV2ViS2l0 IChCbGluaykgcG93ZXJlZCB3ZWIgYnJvd3NlciB0aGF0IEdvb2dsZSBkb2Vzbid0IHdhbnQgeW91 IHRvIHVzZQogVXJsOiBodHRwOi8vd3d3LmNocm9taXVtLm9yZy9Ib21lCkBAIC01MjcsNiArNTI3 LDkgQEAgUGF0Y2g2MDE6IGNocm9taXVtLTE1MC1PbWl0LWFyLWZyb20taW5wdXRzLXdoZW4tcmVz b2x2ZWQtdmlhLVBBVEgucGF0Y2gKIFBhdGNoNjAyOiBjaHJvbWl1bS0xNTAtRml4LWdldF9wYXRo X2luZm8tb24tZW1wdHktYXItaW4tdW5idW5kbGUtdG9vbGNoYWluLnBhdGNoCiAjIERhcmttb2Rl CiBQYXRjaDYwMzogY2hyb21pdW0tMTUwLUFkZC1BdXRvRGFya01vZGVTa2lwSW1hZ2VzLWZsYWct dG8tYnlwYXNzLWltYWdlLWRhcmstbW9kZS5wYXRjaAorUGF0Y2g2MDQ6IGNocm9taXVtLTE1MC1N YWtlLWRhcmstbW9kZS1hcHBseS1maWx0ZXItdG8taW1hZ2VzLWlycmVzcGVjdGl2ZS1vZi1sYXlv dXQtem9vbS5wYXRjaAorUGF0Y2g2MDU6IGNocm9taXVtLTE1MC1Vc2UtNjRweC1jc3MtcGl4ZWxz LWFic29sdXRlLXRocmVzaG9sZC1mb3ItZGFyay1pbWFnZS1jbGFzc2lmaWNhdGlvbi5wYXRjaAor UGF0Y2g2MDY6IGNocm9taXVtLTE1MC1BZGQtc2l6ZS10aHJlc2hvbGQtZm9yLWNsYXNzaWZ5aW5n LVNWRy1kb2N1bWVudHMtZm9yLWF1dG8tZGFyay1tb2RlLnBhdGNoCiAKICMgVXNlIGNocm9taXVt LWxhdGVzdC5weSB0byBnZW5lcmF0ZSBjbGVhbiB0YXJiYWxsIGZyb20gcmVsZWFzZWQgYnVpbGQg dGFyYmFsbHMsIGZvdW5kIGhlcmU6CiAjIGh0dHA6Ly9idWlsZC5jaHJvbWl1bS5vcmcvYnVpbGRi b3Qvb2ZmaWNpYWwvCkBAIC0xMjQ4LDYgKzEyNTEsOSBAQCBRdDYgVUkgZm9yIGNocm9taXVtLgog JXBhdGNoIC1QNjAyIC1wMSAtYiAuRml4LWdldF9wYXRoX2luZm8tb24tZW1wdHktYXItaW4tdW5i dW5kbGUtdG9vbGNoYWluCiAjIERhcmttb2RlCiAlcGF0Y2ggLVA2MDMgLXAxIC1iIC5BZGQtQXV0 b0RhcmtNb2RlU2tpcEltYWdlcy1mbGFnLXRvLWJ5cGFzcy1pbWFnZS1kYXJrLW1vZGUKKyVwYXRj aCAtUDYwNCAtcDEgLWIgLk1ha2UtZGFyay1tb2RlLWFwcGx5LWZpbHRlci10by1pbWFnZXMtaXJy ZXNwZWN0aXZlLW9mLWxheW91dC16b29tCislcGF0Y2ggLVA2MDUgLXAxIC1iIC5Vc2UtNjRweC1j c3MtcGl4ZWxzLWFic29sdXRlLXRocmVzaG9sZC1mb3ItZGFyay1pbWFnZS1jbGFzc2lmaWNhdGlv bgorJXBhdGNoIC1QNjA2IC1wMSAtYiAuQWRkLXNpemUtdGhyZXNob2xkLWZvci1jbGFzc2lmeWlu Zy1TVkctZG9jdW1lbnRzLWZvci1hdXRvLWRhcmstbW9kZQogCiAjIENoYW5nZSBzaGViYW5nIGlu IGFsbCByZWxldmFudCBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSBhbmQgYWxsIHN1YmRpcmVjdG9y aWVzCiAjIFNlZSBgbWFuIGZpbmRgIGZvciBob3cgdGhlIGAtZXhlYyBjb21tYW5kIHt9ICtgIHN5 bnRheCB3b3JrcwpAQCAtMTkyMiw2ICsxOTI4LDI1IEBAIGZpCiAlZW5kaWYKIAogJWNoYW5nZWxv ZworKiBXZWQgSnVsIDE1IDIwMjYgVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNvbT4gLSAxNTAuMC43 ODcxLjEyNC0xCistIFVwZGF0ZSB0byAxNTAuMC43ODcxLjEyNAorICAqIENWRS0yMDI2LTE1NzY0 OiBVc2UgYWZ0ZXIgZnJlZSBpbiBPem9uZQorICAqIENWRS0yMDI2LTE1NzY1OiBVc2UgYWZ0ZXIg ZnJlZSBpbiBPem9uZQorICAqIENWRS0yMDI2LTE1NzY2OiBVbmluaXRpYWxpemVkIFVzZSBpbiBT a2lhCisgICogQ1ZFLTIwMjYtMTU3Njc6IEhlYXAgYnVmZmVyIG92ZXJmbG93IGluIGxpYnl1dgor ICAqIENWRS0yMDI2LTE1NzY4OiBJbnN1ZmZpY2llbnQgcG9saWN5IGVuZm9yY2VtZW50IGluIEhU TUwtaW4tQ2FudmFzCisgICogQ1ZFLTIwMjYtMTU3Njk6IEluc3VmZmljaWVudCB2YWxpZGF0aW9u IG9mIHVudHJ1c3RlZCBpbnB1dCBpbiBMaW51eCBUb29sa2l0IFRoZW1pbmcKKyAgKiBDVkUtMjAy Ni0xNTc3MDogVW5pbml0aWFsaXplZCBVc2UgaW4gVjgKKyAgKiBDVkUtMjAyNi0xNTc3MTogSW5z dWZmaWNpZW50IHZhbGlkYXRpb24gb2YgdW50cnVzdGVkIGlucHV0IGluIE1lZGlhCisgICogQ1ZF LTIwMjYtMTU3NzI6IFVzZSBhZnRlciBmcmVlIGluIEdQVQorICAqIENWRS0yMDI2LTE1NzczOiBV c2UgYWZ0ZXIgZnJlZSBpbiBDb3JlCisgICogQ1ZFLTIwMjYtMTU3NzQ6IFVzZSBhZnRlciBmcmVl IGluIFNraWEKKyAgKiBDVkUtMjAyNi0xNTc3NTogSW5zdWZmaWNpZW50IHBvbGljeSBlbmZvcmNl bWVudCBpbiBWOAorICAqIENWRS0yMDI2LTE1Nzc2OiBUeXBlIENvbmZ1c2lvbiBpbiBWOAorICAq IENWRS0yMDI2LTE1Nzc3OiBVc2UgYWZ0ZXIgZnJlZSBpbiBVSQorICAqIENWRS0yMDI2LTE1Nzc4 OiBJbnN1ZmZpY2llbnQgdmFsaWRhdGlvbiBvZiB1bnRydXN0ZWQgaW5wdXQgaW4gTmF2aWdhdGlv bgorLSBCYWNrcG9ydCBwYXRjaGVzIHRvIGltcHJvdmUgYXV0byBkYXJrbW9kZQorCiAqIFRodSBK dWwgMDkgMjAyNiBUaGFuIE5nbyA8dGhhbkByZWRoYXQuY29tPiAtIDE1MC4wLjc4NzEuMTE0LTEK IC0gVXBkYXRlIHRvIDE1MC4wLjc4NzEuMTE0CiAgICogQ1ZFLTIwMjYtMTUxMTI6IFVzZSBhZnRl ciBmcmVlIGluIE96b25lCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggNTdh NjUxZi4uNmE5NmVmNCAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDIg KzEsMiBAQAogU0hBNTEyIChub2RlLXYyMi4yMi4wLXN0cmlwcGVkLnRhci5neikgPSBmMzJhOGE3 MzA2M2IzYzc4Y2JhY2Y5NDFlMTFkZDUyOWViY2YyNjE4YjNiYTY2MTk2NjMxMmU0OWVlOTg3MGM0 M2EzYWNmMjU2ZThkMzMxYTRiMGI2MjFiMTZhNTAxODEwYzAyYTNhZDc2M2M3NTg4NGNjMjUwYWRk Y2E4ZTEwNgotU0hBNTEyIChjaHJvbWl1bS0xNTAuMC43ODcxLjExNC1jbGVhbi50YXIueHopID0g Njk1OTI4NGExOThmNDY5MGU3OWMwNDdkMzYyMDlmMDgwOWEwYTFlY2VhM2ViMGZhMGQ5ZmI4YzU0 YjNiZDc3NTZlNTU2M2RlM2QwMTFjMjk4YzQ1YzM2MTlkZGYzNmQ0ZTE0MWY4MWNlYjdmNmZmMWEw ODRkMmFmZTgzYzViYjEKK1NIQTUxMiAoY2hyb21pdW0tMTUwLjAuNzg3MS4xMjQtY2xlYW4udGFy Lnh6KSA9IGY3ZDBjNTI5N2Y2NGJjMTMwOThmNmY3OTEwNTA1MGJmMzhiYjg0Yzc2NDE0M2Y1ZDNj NDI1Y2U3MzIzNDE4OWNmZTNjMjAxYjJiOTMzY2QxYjc0MjNlYThjMTZjY2Q3YzBiNGMzMjk3OGYw M2Q4ZmUyNjEzMjY0NTNkNzdkZTVkCg==