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: - drop clang workaround for el8 Date: Fri, 07 Aug 2026 16:05:12 GMT Message-ID: <178611871201.1.10275014774705160463.rpms-chromium-5027d01233f0@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: 5027d01233f081548011cbecde4c6bcb479bb38b ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2hyb21pdW0KICAgICAgICAgICAgQnJhbmNoIDogZXBlbDktbmV4dAogICAg ICAgICAgICBDb21taXQgOiA1MDI3ZDAxMjMzZjA4MTU0ODAxMWNiZWNkZTRjNmJjYjQ3OWJiMzhi CiAgICAgICAgICAgIEF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CiAgICAgICAg ICAgIERhdGUgICA6IDIwMjMtMDUtMTdUMDg6NTQ6NDArMDI6MDAKICAgICAgICAgICAgU3RhdHMg IDogKzUyLy0xMTI0IGluIDUgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3Ny Yy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2Nocm9taXVtL2MvNTAyN2QwMTIzM2YwODE1NDgwMTFj YmVjZGU0YzZiY2I0NzliYjM4Yj9icmFuY2g9ZXBlbDktbmV4dAoKICAgICAgICAgICAgTG9nOgog ICAgICAgICAgICAtIGRyb3AgY2xhbmcgd29ya2Fyb3VuZCBmb3IgZWw4Ci0gdXBkYXRlIHRvIDEx My4wLjU2NzIuMTI2CgotLS0KZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExMi13b3JrYXJvdW5kLWxs dm0xNC1jKysyMC1lcGVsOC5wYXRjaCBiL2Nocm9taXVtLTExMi13b3JrYXJvdW5kLWxsdm0xNC1j KysyMC1lcGVsOC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDM1NzUzOC4u MDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTItd29ya2Fyb3VuZC1sbHZtMTQtYysrMjAtZXBlbDgu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMTIgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0t MTEyLjAuNTYxNS40OS9iYXNlL2NsYW5nX3dvcmtfYXJvdW5kLmgubWUgY2hyb21pdW0tMTEyLjAu NTYxNS40OS9iYXNlL2NsYW5nX3dvcmtfYXJvdW5kLmgKLS0tLSBjaHJvbWl1bS0xMTIuMC41NjE1 LjQ5L2Jhc2UvY2xhbmdfd29ya19hcm91bmQuaC5tZQkyMDIzLTA0LTEwIDEyOjEwOjQyLjIyOTQ1 NTk1NiArMDIwMAotKysrIGNocm9taXVtLTExMi4wLjU2MTUuNDkvYmFzZS9jbGFuZ193b3JrX2Fy b3VuZC5oCTIwMjMtMDQtMTAgMTI6MTY6NDEuMTkxNzQ0NzY2ICswMjAwCi1AQCAtMCwwICsxLDEw IEBACi0rLy8KLSsvLyB3b3JrYW91bmQgZm9yIGNsYW5nLTE0IGluIGMrKzIwIG1vZGUKLSsvLwot KwotKyNpZm5kZWYgV09SS0FST1VORF9DTEFORzE0X0lOX0NfUExVU19QTFVTXzIwX0gKLSsjZGVm aW5lIFdPUktBUk9VTkRfQ0xBTkcxNF9JTl9DX1BMVVNfUExVU18yMF9ICi0rCi0rc3RhdGljIHN0 ZDo6dTE2c3RyaW5nIGNsYW5nX3N0cmluZ193b3JrYXJvdW5kKGNvbnN0IGNoYXIxNl90KiBhLCBj b25zdCBjaGFyMTZfdCogYikgeyByZXR1cm4ge2EsIGJ9OyB9Ci0rCi0rI2VuZGlmICAvLyBXT1JL QVJPVU5EX0NMQU5HMTRfSU5fQ19QTFVTX1BMVVNfMjBfSAotZGlmZiAtdXAgY2hyb21pdW0tMTEy LjAuNTYxNS40OS9iYXNlL2kxOG4vbnVtYmVyX2Zvcm1hdHRpbmcuY2MubWUgY2hyb21pdW0tMTEy LjAuNTYxNS40OS9iYXNlL2kxOG4vbnVtYmVyX2Zvcm1hdHRpbmcuY2MKLS0tLSBjaHJvbWl1bS0x MTIuMC41NjE1LjQ5L2Jhc2UvaTE4bi9udW1iZXJfZm9ybWF0dGluZy5jYy5tZQkyMDIzLTA0LTEw IDExOjI2OjU4LjEyNjI3MTQzNCArMDIwMAotKysrIGNocm9taXVtLTExMi4wLjU2MTUuNDkvYmFz ZS9pMThuL251bWJlcl9mb3JtYXR0aW5nLmNjCTIwMjMtMDQtMTAgMTI6MTM6MTcuNTczMjA5NDQ0 ICswMjAwCi1AQCAtMTgsNiArMTgsNyBAQAotICNpbmNsdWRlICJiYXNlL3N0cmluZ3MvdXRmX3N0 cmluZ19jb252ZXJzaW9ucy5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9pY3Uvc291cmNlL2Nv bW1vbi91bmljb2RlL3VzdHJpbmcuaCIKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvaWN1L3NvdXJj ZS9pMThuL3VuaWNvZGUvbnVtZm10LmgiCi0rI2luY2x1ZGUgImJhc2UvY2xhbmdfd29ya19hcm91 bmQuaCIKLSAKLSBuYW1lc3BhY2UgYmFzZSB7Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMTIuMC41 NjE1LjQ5L2Jhc2UvaTE4bi90aW1lX2Zvcm1hdHRpbmcuY2MubWUgY2hyb21pdW0tMTEyLjAuNTYx NS40OS9iYXNlL2kxOG4vdGltZV9mb3JtYXR0aW5nLmNjCi0tLS0gY2hyb21pdW0tMTEyLjAuNTYx NS40OS9iYXNlL2kxOG4vdGltZV9mb3JtYXR0aW5nLmNjLm1lCTIwMjMtMDQtMTAgMTA6MjE6MjUu MzYwMDc5NTI1ICswMjAwCi0rKysgY2hyb21pdW0tMTEyLjAuNTYxNS40OS9iYXNlL2kxOG4vdGlt ZV9mb3JtYXR0aW5nLmNjCTIwMjMtMDQtMTAgMTI6MTM6MzYuMzczNDg1MzcxICswMjAwCi1AQCAt MjIsNiArMjIsNyBAQAotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9pY3Uvc291cmNlL2kxOG4vdW5p Y29kZS9mbXRhYmxlLmgiCi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2ljdS9zb3VyY2UvaTE4bi91 bmljb2RlL21lYXNmbXQuaCIKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvaWN1L3NvdXJjZS9pMThu L3VuaWNvZGUvc21wZHRmbXQuaCIKLSsjaW5jbHVkZSAiYmFzZS9jbGFuZ193b3JrX2Fyb3VuZC5o IgotIAotIG5hbWVzcGFjZSBiYXNlIHsKLSBuYW1lc3BhY2UgewotZGlmZiAtdXAgY2hyb21pdW0t MTEyLjAuNTYxNS40OS9iYXNlL3N0cmluZ3Mvc3RyaW5nX3BpZWNlLmNjLm1lIGNocm9taXVtLTEx Mi4wLjU2MTUuNDkvYmFzZS9zdHJpbmdzL3N0cmluZ19waWVjZS5jYwotLS0tIGNocm9taXVtLTEx Mi4wLjU2MTUuNDkvYmFzZS9zdHJpbmdzL3N0cmluZ19waWVjZS5jYy5tZQkyMDIzLTA0LTEwIDEw OjIwOjQwLjIzMDI3NzgwOCArMDIwMAotKysrIGNocm9taXVtLTExMi4wLjU2MTUuNDkvYmFzZS9z dHJpbmdzL3N0cmluZ19waWVjZS5jYwkyMDIzLTA0LTEwIDEyOjE0OjAwLjI2Mjg2Mzk1NiArMDIw MAotQEAgLTEyLDYgKzEyLDcgQEAKLSAKLSAjaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3V0Zl9zdHJp bmdfY29udmVyc2lvbnMuaCIKLSAjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCi0rI2lu Y2x1ZGUgImJhc2UvY2xhbmdfd29ya19hcm91bmQuaCIKLSAKLSBuYW1lc3BhY2UgYmFzZSB7Ci0g bmFtZXNwYWNlIHsKLWRpZmYgLXVwIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY29tcG9uZW50cy91 cmxfZm9ybWF0dGVyL3Nwb29mX2NoZWNrcy9za2VsZXRvbl9nZW5lcmF0b3IuY2MubWUgY2hyb21p dW0tMTEyLjAuNTYxNS40OS9jb21wb25lbnRzL3VybF9mb3JtYXR0ZXIvc3Bvb2ZfY2hlY2tzL3Nr ZWxldG9uX2dlbmVyYXRvci5jYwotLS0tIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY29tcG9uZW50 cy91cmxfZm9ybWF0dGVyL3Nwb29mX2NoZWNrcy9za2VsZXRvbl9nZW5lcmF0b3IuY2MubWUJMjAy My0wNC0xMCAxMToyNzozNi4yMDc5NDg4MzAgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTIuMC41NjE1 LjQ5L2NvbXBvbmVudHMvdXJsX2Zvcm1hdHRlci9zcG9vZl9jaGVja3Mvc2tlbGV0b25fZ2VuZXJh dG9yLmNjCTIwMjMtMDQtMTAgMTI6MTc6MzYuMzM4NzMwMTQ3ICswMjAwCi1AQCAtMTUsNiArMTUs NyBAQAotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9pY3Uvc291cmNlL2kxOG4vdW5pY29kZS9yZWdl eC5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9pY3Uvc291cmNlL2kxOG4vdW5pY29kZS90cmFu c2xpdC5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9pY3Uvc291cmNlL2kxOG4vdW5pY29kZS91 c3Bvb2YuaCIKLSsjaW5jbHVkZSAiYmFzZS9jbGFuZ193b3JrX2Fyb3VuZC5oIgotIAotIG5hbWVz cGFjZSB7Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2NvbnRlbnQvY2hpbGQv YnJvd3Nlcl9mb250X3Jlc291cmNlX3RydXN0ZWQuY2MubWUgY2hyb21pdW0tMTEyLjAuNTYxNS40 OS9jb250ZW50L2NoaWxkL2Jyb3dzZXJfZm9udF9yZXNvdXJjZV90cnVzdGVkLmNjCi0tLS0gY2hy b21pdW0tMTEyLjAuNTYxNS40OS9jb250ZW50L2NoaWxkL2Jyb3dzZXJfZm9udF9yZXNvdXJjZV90 cnVzdGVkLmNjLm1lCTIwMjMtMDQtMTAgMTE6Mjg6MDkuOTYyNTQ5MjcxICswMjAwCi0rKysgY2hy b21pdW0tMTEyLjAuNTYxNS40OS9jb250ZW50L2NoaWxkL2Jyb3dzZXJfZm9udF9yZXNvdXJjZV90 cnVzdGVkLmNjCTIwMjMtMDQtMTAgMTI6MTI6MTQuMjQyMTQ1OTY4ICswMjAwCi1AQCAtMjYsNiAr MjYsNyBAQAotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvY29yZS9Ta1JlY3Qu aCIKLSAjaW5jbHVkZSAidWkvZ2Z4L2dlb21ldHJ5L3JlY3RfZi5oIgotICNpbmNsdWRlICJ1aS9n ZngvdWJpZGlfZGVsZXRlci5oIgotKyNpbmNsdWRlICJiYXNlL2NsYW5nX3dvcmtfYXJvdW5kLmgi Ci0gCi0gdXNpbmcgcHBhcGk6OlN0cmluZ1ZhcjsKLSB1c2luZyBwcGFwaTo6dGh1bms6OkVudGVy UmVzb3VyY2VOb0xvY2s7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2NvbnRlbnQv Y29tbW9uL3p5Z290ZS96eWdvdGVfY29tbXVuaWNhdGlvbl9saW51eC5jYy5tZSBjaHJvbWl1bS0x MTIuMC41NjE1LjQ5L2NvbnRlbnQvY29tbW9uL3p5Z290ZS96eWdvdGVfY29tbXVuaWNhdGlvbl9s aW51eC5jYwotLS0tIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY29udGVudC9jb21tb24venlnb3Rl L3p5Z290ZV9jb21tdW5pY2F0aW9uX2xpbnV4LmNjLm1lCTIwMjMtMDQtMTAgMTA6MTk6MzIuMjIz MDY5NjcwICswMjAwCi0rKysgY2hyb21pdW0tMTEyLjAuNTYxNS40OS9jb250ZW50L2NvbW1vbi96 eWdvdGUvenlnb3RlX2NvbW11bmljYXRpb25fbGludXguY2MJMjAyMy0wNC0xMCAxMjoxMjozMS4z MTU0Mzg4NjggKzAyMDAKLUBAIC0yMiw2ICsyMiw3IEBACi0gI2luY2x1ZGUgImNvbnRlbnQvcHVi bGljL2NvbW1vbi9yZXN1bHRfY29kZXMuaCIKLSAjaW5jbHVkZSAic2FuZGJveC9wb2xpY3kvc3dp dGNoZXMuaCIKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvaWN1L3NvdXJjZS9pMThuL3VuaWNvZGUv dGltZXpvbmUuaCIKLSsjaW5jbHVkZSAiYmFzZS9jbGFuZ193b3JrX2Fyb3VuZC5oIgotIAotIG5h bWVzcGFjZSBjb250ZW50IHsKLSAKLWRpZmYgLXVwIGNocm9taXVtLTExMi4wLjU2MTUuNDkvbW9q by9wdWJsaWMvY3BwL2Jhc2Uvc3RyaW5nMTZfbW9qb21fdHJhaXRzLmNjLm1lIGNocm9taXVtLTEx Mi4wLjU2MTUuNDkvbW9qby9wdWJsaWMvY3BwL2Jhc2Uvc3RyaW5nMTZfbW9qb21fdHJhaXRzLmNj Ci0tLS0gY2hyb21pdW0tMTEyLjAuNTYxNS40OS9tb2pvL3B1YmxpYy9jcHAvYmFzZS9zdHJpbmcx Nl9tb2pvbV90cmFpdHMuY2MubWUJMjAyMy0wNC0xMCAxMToyNjoyMC4yNzc1OTgxNjggKzAyMDAK LSsrKyBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L21vam8vcHVibGljL2NwcC9iYXNlL3N0cmluZzE2 X21vam9tX3RyYWl0cy5jYwkyMDIzLTA0LTEwIDEyOjEyOjU2LjcwNjg3NDQ3MiArMDIwMAotQEAg LTYsNiArNiw4IEBACi0gCi0gI2luY2x1ZGUgIm1vam8vcHVibGljL2NwcC9iYXNlL2JpZ19idWZm ZXJfbW9qb21fdHJhaXRzLmgiCi0gCi0rI2luY2x1ZGUgImJhc2UvY2xhbmdfd29ya19hcm91bmQu aCIKLSsKLSBuYW1lc3BhY2UgbW9qbyB7Ci0gCi0gLy8gc3RhdGljCi1kaWZmIC11cCBjaHJvbWl1 bS0xMTIuMC41NjE1LjQ5L3RoaXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9wYWdlX3N0YXRlL3BhZ2Vf c3RhdGVfc2VyaWFsaXphdGlvbi5jYy5tZSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L3RoaXJkX3Bh cnR5L2JsaW5rL2NvbW1vbi9wYWdlX3N0YXRlL3BhZ2Vfc3RhdGVfc2VyaWFsaXphdGlvbi5jYwot LS0tIGNocm9taXVtLTExMi4wLjU2MTUuNDkvdGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL3BhZ2Vf c3RhdGUvcGFnZV9zdGF0ZV9zZXJpYWxpemF0aW9uLmNjLm1lCTIwMjMtMDQtMTAgMTE6MjI6Mjcu NTI1NDU3OTA0ICswMjAwCi0rKysgY2hyb21pdW0tMTEyLjAuNTYxNS40OS90aGlyZF9wYXJ0eS9i bGluay9jb21tb24vcGFnZV9zdGF0ZS9wYWdlX3N0YXRlX3NlcmlhbGl6YXRpb24uY2MJMjAyMy0w NC0xMCAxMjoxNDoyMS41ODQyNDg3MTggKzAyMDAKLUBAIC0yNCw2ICsyNCw3IEBACi0gI2luY2x1 ZGUgInVpL2Rpc3BsYXkvc2NyZWVuLmgiCi0gI2luY2x1ZGUgInVpL2dmeC9nZW9tZXRyeS9tb2pv bS9nZW9tZXRyeV9tb2pvbV90cmFpdHMuaCIKLSAjaW5jbHVkZSAidXJsL21vam9tL3VybF9ndXJs X21vam9tX3RyYWl0cy5oIgotKyNpbmNsdWRlICJiYXNlL2NsYW5nX3dvcmtfYXJvdW5kLmgiCi0g Ci0gbmFtZXNwYWNlIGJsaW5rIHsKLSAKLWRpZmYgLXVwIGNocm9taXVtLTExMi4wLjU2MTUuNDkv YmFzZS9zdHJpbmdzL2VzY2FwZS5jYy5tZSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2Jhc2Uvc3Ry aW5ncy9lc2NhcGUuY2MKLS0tLSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2Jhc2Uvc3RyaW5ncy9l c2NhcGUuY2MubWUJMjAyMy0wNC0xMCAxNjoxMDowOC4yOTg5MDY5OTUgKzAyMDAKLSsrKyBjaHJv bWl1bS0xMTIuMC41NjE1LjQ5L2Jhc2Uvc3RyaW5ncy9lc2NhcGUuY2MJMjAyMy0wNC0xMCAxNjox MDoxNy43NTEwNzI1NTIgKzAyMDAKLUBAIC0xNCw2ICsxNCw3IEBACi0gI2luY2x1ZGUgImJhc2Uv c3RyaW5ncy91dGZfc3RyaW5nX2NvbnZlcnNpb25fdXRpbHMuaCIKLSAjaW5jbHVkZSAiYmFzZS9z dHJpbmdzL3V0Zl9zdHJpbmdfY29udmVyc2lvbnMuaCIKLSAjaW5jbHVkZSAiYmFzZS90aGlyZF9w YXJ0eS9pY3UvaWN1X3V0Zi5oIgotKyNpbmNsdWRlICJiYXNlL2NsYW5nX3dvcmtfYXJvdW5kLmgi Ci0gCi0gbmFtZXNwYWNlIGJhc2UgewotIAotZGlmZiAtdXAgY2hyb21pdW0tMTEyLjAuNTYxNS40 OS9iYXNlL3N0cmluZ3Mvc3RyaW5nX3NwbGl0LmNjLm1lIGNocm9taXVtLTExMi4wLjU2MTUuNDkv YmFzZS9zdHJpbmdzL3N0cmluZ19zcGxpdC5jYwotLS0tIGNocm9taXVtLTExMi4wLjU2MTUuNDkv YmFzZS9zdHJpbmdzL3N0cmluZ19zcGxpdC5jYy5tZQkyMDIzLTA0LTEwIDE2OjE3OjQ5LjcwMjI0 NTIwNiArMDIwMAotKysrIGNocm9taXVtLTExMi4wLjU2MTUuNDkvYmFzZS9zdHJpbmdzL3N0cmlu Z19zcGxpdC5jYwkyMDIzLTA0LTEwIDE2OjE3OjU2LjQyMDQ3MTA3OSArMDIwMAotQEAgLTEwLDYg KzEwLDcgQEAKLSAjaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3N0cmluZ19zcGxpdF9pbnRlcm5hbC5o IgotICNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3RyaW5nX3V0aWwuaCIKLSAjaW5jbHVkZSAiYmFz ZS90aGlyZF9wYXJ0eS9pY3UvaWN1X3V0Zi5oIgotKyNpbmNsdWRlICJiYXNlL2NsYW5nX3dvcmtf YXJvdW5kLmgiCi0gCi0gbmFtZXNwYWNlIGJhc2UgewotIAotZGlmZiAtdXAgY2hyb21pdW0tMTEy LjAuNTYxNS40OS9jaHJvbWUvYnJvd3Nlci9zaGFyaW5nL2NsaWNrX3RvX2NhbGwvY2xpY2tfdG9f Y2FsbF91dGlscy5jYy5tZSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2Nocm9tZS9icm93c2VyL3No YXJpbmcvY2xpY2tfdG9fY2FsbC9jbGlja190b19jYWxsX3V0aWxzLmNjCi0tLS0gY2hyb21pdW0t MTEyLjAuNTYxNS40OS9jaHJvbWUvYnJvd3Nlci9zaGFyaW5nL2NsaWNrX3RvX2NhbGwvY2xpY2tf dG9fY2FsbF91dGlscy5jYy5tZQkyMDIzLTA0LTEwIDE2OjA5OjIxLjg2MTA5MzYyMyArMDIwMAot KysrIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY2hyb21lL2Jyb3dzZXIvc2hhcmluZy9jbGlja190 b19jYWxsL2NsaWNrX3RvX2NhbGxfdXRpbHMuY2MJMjAyMy0wNC0xMCAxNjowOTozMS40MjgyNjEx ODYgKzAyMDAKLUBAIC0yMSw2ICsyMSw3IEBACi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L3JlMi9z cmMvcmUyL3JlMi5oIgotICNpbmNsdWRlICJ1cmwvdXJsX2NvbnN0YW50cy5oIgotICNpbmNsdWRl ICJ1cmwvdXJsX3V0aWwuaCIKLSsjaW5jbHVkZSAiYmFzZS9jbGFuZ193b3JrX2Fyb3VuZC5oIgot IAotIG5hbWVzcGFjZSB7Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L3VpL296 b25lL3BsYXRmb3JtL3dheWxhbmQvaG9zdC93YXlsYW5kX2V4Y2hhbmdlX2RhdGFfcHJvdmlkZXIu Y2MubWUgY2hyb21pdW0tMTEyLjAuNTYxNS40OS91aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5kL2hv c3Qvd2F5bGFuZF9leGNoYW5nZV9kYXRhX3Byb3ZpZGVyLmNjCi0tLS0gY2hyb21pdW0tMTEyLjAu NTYxNS40OS91aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5kL2hvc3Qvd2F5bGFuZF9leGNoYW5nZV9k YXRhX3Byb3ZpZGVyLmNjLm1lCTIwMjMtMDQtMTAgMTY6MDU6NTUuMTU1MzU3ODYzICswMjAwCi0r KysgY2hyb21pdW0tMTEyLjAuNTYxNS40OS91aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5kL2hvc3Qv d2F5bGFuZF9leGNoYW5nZV9kYXRhX3Byb3ZpZGVyLmNjCTIwMjMtMDQtMTAgMTY6MDY6MDkuNzI2 NjI5NjE3ICswMjAwCi1AQCAtMjcsNiArMjcsNyBAQAotICNpbmNsdWRlICJ1cmwvZ3VybC5oIgot ICNpbmNsdWRlICJ1cmwvdXJsX2Nhbm9uLmgiCi0gI2luY2x1ZGUgInVybC91cmxfdXRpbC5oIgot KyNpbmNsdWRlICJiYXNlL2NsYW5nX3dvcmtfYXJvdW5kLmgiCi0gCi0gI2lmIEJVSUxERkxBRyhJ U19DSFJPTUVPU19MQUNST1MpCi0gI2luY2x1ZGUgInVpL2Jhc2UvZGF0YV90cmFuc2Zlcl9wb2xp Y3kvZGF0YV90cmFuc2Zlcl9lbmRwb2ludF9zZXJpYWxpemVyLmgiCi1kaWZmIC11cCBjaHJvbWl1 bS0xMTIuMC41NjE1LjQ5L2Jhc2UvaTE4bi9icmVha19pdGVyYXRvci5jYy5tZSBjaHJvbWl1bS0x MTIuMC41NjE1LjQ5L2Jhc2UvaTE4bi9icmVha19pdGVyYXRvci5jYwotLS0tIGNocm9taXVtLTEx Mi4wLjU2MTUuNDkvYmFzZS9pMThuL2JyZWFrX2l0ZXJhdG9yLmNjLm1lCTIwMjMtMDQtMTEgMDk6 MTk6NTQuMTI0OTMzMzYxICswMjAwCi0rKysgY2hyb21pdW0tMTEyLjAuNTYxNS40OS9iYXNlL2kx OG4vYnJlYWtfaXRlcmF0b3IuY2MJMjAyMy0wNC0xMSAwOToyMDoxNC43OTAzMDE4MTkgKzAyMDAK LUBAIC0xNSw2ICsxNSw3IEBACi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2ljdS9zb3VyY2UvY29t bW9uL3VuaWNvZGUvdWJyay5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9pY3Uvc291cmNlL2Nv bW1vbi91bmljb2RlL3VjaGFyLmgiCi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2ljdS9zb3VyY2Uv Y29tbW9uL3VuaWNvZGUvdXN0cmluZy5oIgotKyNpbmNsdWRlICJiYXNlL2NsYW5nX3dvcmtfYXJv dW5kLmgiCi0gCi0gbmFtZXNwYWNlIGJhc2UgewotIG5hbWVzcGFjZSBpMThuIHsKLWRpZmYgLXVw IGNocm9taXVtLTExMi4wLjU2MTUuNDkvYmFzZS9pMThuL21lc3NhZ2VfZm9ybWF0dGVyLmNjLm1l IGNocm9taXVtLTExMi4wLjU2MTUuNDkvYmFzZS9pMThuL21lc3NhZ2VfZm9ybWF0dGVyLmNjCi0t LS0gY2hyb21pdW0tMTEyLjAuNTYxNS40OS9iYXNlL2kxOG4vbWVzc2FnZV9mb3JtYXR0ZXIuY2Mu bWUJMjAyMy0wNC0xMSAwOToyMDozNC42ODc2NTc0NTQgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTIu MC41NjE1LjQ5L2Jhc2UvaTE4bi9tZXNzYWdlX2Zvcm1hdHRlci5jYwkyMDIzLTA0LTExIDA5OjIx OjI4LjYxNzY2Mzk2MyArMDIwMAotQEAgLTEzLDYgKzEzLDcgQEAKLSAjaW5jbHVkZSAidGhpcmRf cGFydHkvaWN1L3NvdXJjZS9jb21tb24vdW5pY29kZS91dHlwZXMuaCIKLSAjaW5jbHVkZSAidGhp cmRfcGFydHkvaWN1L3NvdXJjZS9pMThuL3VuaWNvZGUvZm10YWJsZS5oIgotICNpbmNsdWRlICJ0 aGlyZF9wYXJ0eS9pY3Uvc291cmNlL2kxOG4vdW5pY29kZS9tc2dmbXQuaCIKLSsjaW5jbHVkZSAi YmFzZS9jbGFuZ193b3JrX2Fyb3VuZC5oIgotIAotIHVzaW5nIGljdTo6VW5pY29kZVN0cmluZzsK LSAKLWRpZmYgLXVwIGNocm9taXVtLTExMi4wLjU2MTUuNDkvYmFzZS90aW1lL3RpbWUuY2MubWUg Y2hyb21pdW0tMTEyLjAuNTYxNS40OS9iYXNlL3RpbWUvdGltZS5jYwotLS0tIGNocm9taXVtLTEx Mi4wLjU2MTUuNDkvYmFzZS90aW1lL3RpbWUuY2MubWUJMjAyMy0wNC0xMSAwOToyMzoyMi43MzI3 NTc3NzUgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2Jhc2UvdGltZS90aW1lLmNj CTIwMjMtMDQtMTEgMDk6MjM6MzMuNjU1OTU4MTkzICswMjAwCi1AQCAtMTcsNiArMTcsNyBAQAot ICNpbmNsdWRlICJiYXNlL3RpbWUvdGltZV9vdmVycmlkZS5oIgotICNpbmNsdWRlICJidWlsZC9i dWlsZF9jb25maWcuaCIKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3R5 cGVzL29wdGlvbmFsLmgiCi0rI2luY2x1ZGUgImJhc2UvY2xhbmdfd29ya19hcm91bmQuaCIKLSAK LSBuYW1lc3BhY2UgYmFzZSB7Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2No cm9tZS9icm93c2VyL3VpL3dlYnVpL2Rvd25sb2Fkcy9kb3dubG9hZHNfbGlzdF90cmFja2VyLmNj Lm1lIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY2hyb21lL2Jyb3dzZXIvdWkvd2VidWkvZG93bmxv YWRzL2Rvd25sb2Fkc19saXN0X3RyYWNrZXIuY2MKLS0tLSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5 L2Nocm9tZS9icm93c2VyL3VpL3dlYnVpL2Rvd25sb2Fkcy9kb3dubG9hZHNfbGlzdF90cmFja2Vy LmNjLm1lCTIwMjMtMDQtMTEgMDk6MzY6NTAuNjQ2NDA5NDM0ICswMjAwCi0rKysgY2hyb21pdW0t MTEyLjAuNTYxNS40OS9jaHJvbWUvYnJvd3Nlci91aS93ZWJ1aS9kb3dubG9hZHMvZG93bmxvYWRz X2xpc3RfdHJhY2tlci5jYwkyMDIzLTA0LTExIDA5OjM3OjA3Ljk3NzczMTE1MyArMDIwMAotQEAg LTM2LDYgKzM2LDcgQEAKLSAjaW5jbHVkZSAibmV0L2Jhc2UvZmlsZW5hbWVfdXRpbC5oIgotICNp bmNsdWRlICJ0aGlyZF9wYXJ0eS9pY3Uvc291cmNlL2kxOG4vdW5pY29kZS9kYXRlZm10LmgiCi0g I2luY2x1ZGUgInVpL2Jhc2UvbDEwbi90aW1lX2Zvcm1hdC5oIgotKyNpbmNsdWRlICJiYXNlL2Ns YW5nX3dvcmtfYXJvdW5kLmgiCi0gCi0gdXNpbmcgY29udGVudDo6QnJvd3NlckNvbnRleHQ7Ci0g dXNpbmcgY29udGVudDo6RG93bmxvYWRNYW5hZ2VyOwotZGlmZiAtdXAgY2hyb21pdW0tMTEyLjAu NTYxNS40OS9jaHJvbWUvYnJvd3Nlci91aS93ZWJ1aS9uZXdfdGFiX3BhZ2UvdW50cnVzdGVkX3Nv dXJjZS5jYy5tZSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2Nocm9tZS9icm93c2VyL3VpL3dlYnVp L25ld190YWJfcGFnZS91bnRydXN0ZWRfc291cmNlLmNjCi0tLS0gY2hyb21pdW0tMTEyLjAuNTYx NS40OS9jaHJvbWUvYnJvd3Nlci91aS93ZWJ1aS9uZXdfdGFiX3BhZ2UvdW50cnVzdGVkX3NvdXJj ZS5jYy5tZQkyMDIzLTA0LTExIDA5OjM3OjIxLjI2Mjk3Nzc1OSArMDIwMAotKysrIGNocm9taXVt LTExMi4wLjU2MTUuNDkvY2hyb21lL2Jyb3dzZXIvdWkvd2VidWkvbmV3X3RhYl9wYWdlL3VudHJ1 c3RlZF9zb3VyY2UuY2MJMjAyMy0wNC0xMSAwOTozNzoyNy41OTQwOTUyNzcgKzAyMDAKLUBAIC0z Myw2ICszMyw3IEBACi0gI2luY2x1ZGUgInVpL2Jhc2UvcmVzb3VyY2UvcmVzb3VyY2VfYnVuZGxl LmgiCi0gI2luY2x1ZGUgInVpL2Jhc2UvdGVtcGxhdGVfZXhwcmVzc2lvbnMuaCIKLSAjaW5jbHVk ZSAidXJsL3VybF91dGlsLmgiCi0rI2luY2x1ZGUgImJhc2UvY2xhbmdfd29ya19hcm91bmQuaCIK LSAKLSBuYW1lc3BhY2UgewotIAotZGlmZiAtdXAgY2hyb21pdW0tMTEyLjAuNTYxNS40OS9jb21w b25lbnRzL2F1dG9maWxsL2NvbnRlbnQvcmVuZGVyZXIvaHRtbF9iYXNlZF91c2VybmFtZV9kZXRl Y3Rvci5jYy5tZSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29u dGVudC9yZW5kZXJlci9odG1sX2Jhc2VkX3VzZXJuYW1lX2RldGVjdG9yLmNjCi0tLS0gY2hyb21p dW0tMTEyLjAuNTYxNS40OS9jb21wb25lbnRzL2F1dG9maWxsL2NvbnRlbnQvcmVuZGVyZXIvaHRt bF9iYXNlZF91c2VybmFtZV9kZXRlY3Rvci5jYy5tZQkyMDIzLTA0LTExIDA5OjM4OjAxLjI5Nzc3 NjUwNCArMDIwMAotKysrIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY29tcG9uZW50cy9hdXRvZmls bC9jb250ZW50L3JlbmRlcmVyL2h0bWxfYmFzZWRfdXNlcm5hbWVfZGV0ZWN0b3IuY2MJMjAyMy0w NC0xMSAwOTozODowNy44OTk5MDgzNTcgKzAyMDAKLUBAIC0xOCw2ICsxOCw3IEBACi0gI2luY2x1 ZGUgImNvbXBvbmVudHMvYXV0b2ZpbGwvY29udGVudC9yZW5kZXJlci9odG1sX2Jhc2VkX3VzZXJu YW1lX2RldGVjdG9yX3ZvY2FidWxhcnkuaCIKLSAjaW5jbHVkZSAiY29tcG9uZW50cy9hdXRvZmls bC9jb3JlL2NvbW1vbi9mb3JtX2RhdGEuaCIKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsv cHVibGljL3dlYi93ZWJfZm9ybV9lbGVtZW50LmgiCi0rI2luY2x1ZGUgImJhc2UvY2xhbmdfd29y a19hcm91bmQuaCIKLSAKLSB1c2luZyBibGluazo6V2ViRm9ybUNvbnRyb2xFbGVtZW50OwotIHVz aW5nIGJsaW5rOjpXZWJGb3JtRWxlbWVudDsKLWRpZmYgLXVwIGNocm9taXVtLTExMi4wLjU2MTUu NDkvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfZGF0YV91dGlsLmNj Lm1lIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dz ZXIvYXV0b2ZpbGxfZGF0YV91dGlsLmNjCi0tLS0gY2hyb21pdW0tMTEyLjAuNTYxNS40OS9jb21w b25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9kYXRhX3V0aWwuY2MubWUJMjAy My0wNC0xMSAwOTozMzo1OS42MzcyMzQ4MDEgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTIuMC41NjE1 LjQ5L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2RhdGFfdXRpbC5j YwkyMDIzLTA0LTExIDA5OjM0OjA4LjM1MzQxMjE5OCArMDIwMAotQEAgLTI1LDYgKzI1LDcgQEAK LSAjaW5jbHVkZSAiY29tcG9uZW50cy9zdHJpbmdzL2dyaXQvY29tcG9uZW50c19zdHJpbmdzLmgi Ci0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2ljdS9zb3VyY2UvY29tbW9uL3VuaWNvZGUvdXNjcmlw dC5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9yZTIvc3JjL3JlMi9yZTIuaCIKLSsjaW5jbHVk ZSAiYmFzZS9jbGFuZ193b3JrX2Fyb3VuZC5oIgotIAotIG5hbWVzcGFjZSBhdXRvZmlsbCB7Ci0g bmFtZXNwYWNlIGRhdGFfdXRpbCB7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2Nv bXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2RhdGFfbW9kZWwvYm9ycm93ZWRfdHJhbnNs aXRlcmF0b3IuY2MubWUgY2hyb21pdW0tMTEyLjAuNTYxNS40OS9jb21wb25lbnRzL2F1dG9maWxs L2NvcmUvYnJvd3Nlci9kYXRhX21vZGVsL2JvcnJvd2VkX3RyYW5zbGl0ZXJhdG9yLmNjCi0tLS0g Y2hyb21pdW0tMTEyLjAuNTYxNS40OS9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9k YXRhX21vZGVsL2JvcnJvd2VkX3RyYW5zbGl0ZXJhdG9yLmNjLm1lCTIwMjMtMDQtMTEgMDk6MzM6 MzMuNjgzNzA2NTc3ICswMjAwCi0rKysgY2hyb21pdW0tMTEyLjAuNTYxNS40OS9jb21wb25lbnRz L2F1dG9maWxsL2NvcmUvYnJvd3Nlci9kYXRhX21vZGVsL2JvcnJvd2VkX3RyYW5zbGl0ZXJhdG9y LmNjCTIwMjMtMDQtMTEgMDk6MzM6NDAuMTE1ODM3NDkxICswMjAwCi1AQCAtNiw2ICs2LDcgQEAK LSAKLSAjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCi0gI2luY2x1ZGUgImJhc2Uvbm9fZGVzdHJ1 Y3Rvci5oIgotKyNpbmNsdWRlICJiYXNlL2NsYW5nX3dvcmtfYXJvdW5kLmgiCi0gCi0gbmFtZXNw YWNlIGF1dG9maWxsIHsKLSAKLWRpZmYgLXVwIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY29tcG9u ZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvZm9ybV9wcm9jZXNzaW5nL2xhYmVsX3Byb2Nlc3Np bmdfdXRpbC5jYy5tZSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2NvbXBvbmVudHMvYXV0b2ZpbGwv Y29yZS9icm93c2VyL2Zvcm1fcHJvY2Vzc2luZy9sYWJlbF9wcm9jZXNzaW5nX3V0aWwuY2MKLS0t LSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2Vy L2Zvcm1fcHJvY2Vzc2luZy9sYWJlbF9wcm9jZXNzaW5nX3V0aWwuY2MubWUJMjAyMy0wNC0xMSAw OTozNToxNS41Njk1NTg3MjkgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2NvbXBv bmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2Zvcm1fcHJvY2Vzc2luZy9sYWJlbF9wcm9jZXNz aW5nX3V0aWwuY2MJMjAyMy0wNC0xMSAwOTozNToyMi4xNTY3MDQyMzYgKzAyMDAKLUBAIC03LDYg KzcsNyBAQAotICNpbmNsdWRlICJiYXNlL3Jhbmdlcy9hbGdvcml0aG0uaCIKLSAjaW5jbHVkZSAi YmFzZS9zdHJpbmdzL3N0cmluZ19zcGxpdC5oIgotICNpbmNsdWRlICJiYXNlL3N0cmluZ3MvdXRm X3N0cmluZ19jb252ZXJzaW9ucy5oIgotKyNpbmNsdWRlICJiYXNlL2NsYW5nX3dvcmtfYXJvdW5k LmgiCi0gCi0gbmFtZXNwYWNlIGF1dG9maWxsIHsKLSAKLWRpZmYgLXVwIGNocm9taXVtLTExMi4w LjU2MTUuNDkvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2NvbW1vbi9hdXRvZmlsbF9yZWdleGVz LmNjLm1lIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Nv bW1vbi9hdXRvZmlsbF9yZWdleGVzLmNjCi0tLS0gY2hyb21pdW0tMTEyLjAuNTYxNS40OS9jb21w b25lbnRzL2F1dG9maWxsL2NvcmUvY29tbW9uL2F1dG9maWxsX3JlZ2V4ZXMuY2MubWUJMjAyMy0w NC0xMSAwOToyNDowMy40NDI1MDM0OTggKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5 L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9jb21tb24vYXV0b2ZpbGxfcmVnZXhlcy5jYwkyMDIz LTA0LTExIDA5OjI0OjEwLjYzMzYzNDg2NSArMDIwMAotQEAgLTEyLDYgKzEyLDcgQEAKLSAjaW5j bHVkZSAiYmFzZS9jaGVjay5oIgotICNpbmNsdWRlICJiYXNlL2kxOG4vdW5pY29kZXN0cmluZy5o IgotICNpbmNsdWRlICJiYXNlL21lbW9yeS9wdHJfdXRpbC5oIgotKyNpbmNsdWRlICJiYXNlL2Ns YW5nX3dvcmtfYXJvdW5kLmgiCi0gCi0gbmFtZXNwYWNlIHsKLSAKLWRpZmYgLXVwIGNocm9taXVt LTExMi4wLjU2MTUuNDkvY29tcG9uZW50cy9ib29rbWFya3MvYnJvd3Nlci90aXRsZWRfdXJsX2lu ZGV4LmNjLm1lIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY29tcG9uZW50cy9ib29rbWFya3MvYnJv d3Nlci90aXRsZWRfdXJsX2luZGV4LmNjCi0tLS0gY2hyb21pdW0tMTEyLjAuNTYxNS40OS9jb21w b25lbnRzL2Jvb2ttYXJrcy9icm93c2VyL3RpdGxlZF91cmxfaW5kZXguY2MubWUJMjAyMy0wNC0x MSAwOTozNTo0Ny40MTkyMjQzODggKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2Nv bXBvbmVudHMvYm9va21hcmtzL2Jyb3dzZXIvdGl0bGVkX3VybF9pbmRleC5jYwkyMDIzLTA0LTEx IDA5OjM1OjUzLjkxNzM0MTQ5MCArMDIwMAotQEAgLTI5LDYgKzI5LDcgQEAKLSAjaW5jbHVkZSAi Y29tcG9uZW50cy9xdWVyeV9wYXJzZXIvc25pcHBldC5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0 eS9pY3Uvc291cmNlL2NvbW1vbi91bmljb2RlL25vcm1hbGl6ZXIyLmgiCi0gI2luY2x1ZGUgInRo aXJkX3BhcnR5L2ljdS9zb3VyY2UvY29tbW9uL3VuaWNvZGUvdXR5cGVzLmgiCi0rI2luY2x1ZGUg ImJhc2UvY2xhbmdfd29ya19hcm91bmQuaCIKLSAKLSBuYW1lc3BhY2UgYm9va21hcmtzIHsKLSAK LWRpZmYgLXVwIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dz ZXIvdGFpbG9yZWRfd29yZF9icmVha19pdGVyYXRvci5jYy5tZSBjaHJvbWl1bS0xMTIuMC41NjE1 LjQ5L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL3RhaWxvcmVkX3dvcmRfYnJlYWtfaXRlcmF0 b3IuY2MKLS0tLSBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2NvbXBvbmVudHMvb21uaWJveC9icm93 c2VyL3RhaWxvcmVkX3dvcmRfYnJlYWtfaXRlcmF0b3IuY2MubWUJMjAyMy0wNC0xMSAwOTozNjoy Ni4zMjM5MjU1MDEgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2NvbXBvbmVudHMv b21uaWJveC9icm93c2VyL3RhaWxvcmVkX3dvcmRfYnJlYWtfaXRlcmF0b3IuY2MJMjAyMy0wNC0x MSAwOTozNjozMi40ODAwNDMwNzggKzAyMDAKLUBAIC01LDYgKzUsNyBAQAotICNpbmNsdWRlICJj b21wb25lbnRzL29tbmlib3gvYnJvd3Nlci90YWlsb3JlZF93b3JkX2JyZWFrX2l0ZXJhdG9yLmgi Ci0gCi0gI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJpbmdfcGllY2UuaCIKLSsjaW5jbHVkZSAi YmFzZS9jbGFuZ193b3JrX2Fyb3VuZC5oIgotIAotIG5hbWVzcGFjZSB7Ci0gY29uc3RleHByIGNo YXIxNl90IGtVbmRlcnNjb3JlID0gJ18nOwotZGlmZiAtdXAgY2hyb21pdW0tMTEyLjAuNTYxNS40 OS9jb21wb25lbnRzL3N5bmMvYmFzZS90aW1lLmNjLm1lIGNocm9taXVtLTExMi4wLjU2MTUuNDkv Y29tcG9uZW50cy9zeW5jL2Jhc2UvdGltZS5jYwotLS0tIGNocm9taXVtLTExMi4wLjU2MTUuNDkv Y29tcG9uZW50cy9zeW5jL2Jhc2UvdGltZS5jYy5tZQkyMDIzLTA0LTExIDA5OjMyOjQ4LjcwOTY0 NTMyMCArMDIwMAotKysrIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY29tcG9uZW50cy9zeW5jL2Jh c2UvdGltZS5jYwkyMDIzLTA0LTExIDA5OjMyOjU2LjA0NDgyMDkxOCArMDIwMAotQEAgLTExLDYg KzExLDcgQEAKLSAjaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3V0Zl9zdHJpbmdfY29udmVyc2lvbnMu aCIKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvaWN1L3NvdXJjZS9jb21tb24vdW5pY29kZS91dHlw ZXMuaCIKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvaWN1L3NvdXJjZS9pMThuL3VuaWNvZGUvc21w ZHRmbXQuaCIKLSsjaW5jbHVkZSAiYmFzZS9jbGFuZ193b3JrX2Fyb3VuZC5oIgotIAotIG5hbWVz cGFjZSBzeW5jZXIgewotIAotZGlmZiAtdXAgY2hyb21pdW0tMTEyLjAuNTYxNS40OS91aS9iYXNl L3gvc2VsZWN0aW9uX3V0aWxzLmNjLm1lIGNocm9taXVtLTExMi4wLjU2MTUuNDkvdWkvYmFzZS94 L3NlbGVjdGlvbl91dGlscy5jYwotLS0tIGNocm9taXVtLTExMi4wLjU2MTUuNDkvdWkvYmFzZS94 L3NlbGVjdGlvbl91dGlscy5jYy5tZQkyMDIzLTA0LTExIDA5OjIyOjQyLjczNDAyMzg3NiArMDIw MAotKysrIGNocm9taXVtLTExMi4wLjU2MTUuNDkvdWkvYmFzZS94L3NlbGVjdGlvbl91dGlscy5j YwkyMDIzLTA0LTExIDA5OjIyOjUxLjU2NTE4NTkxNCArMDIwMAotQEAgLTE4LDYgKzE4LDcgQEAK LSAjaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3V0Zl9zdHJpbmdfY29udmVyc2lvbnMuaCIKLSAjaW5j bHVkZSAidWkvYmFzZS9jbGlwYm9hcmQvY2xpcGJvYXJkX2NvbnN0YW50cy5oIgotICNpbmNsdWRl ICJ1aS9nZngveC94MTFfYXRvbV9jYWNoZS5oIgotKyNpbmNsdWRlICJiYXNlL2NsYW5nX3dvcmtf YXJvdW5kLmgiCi0gCi0gbmFtZXNwYWNlIHVpIHsKLSAKLWRpZmYgLXVwIGNocm9taXVtLTExMi4w LjU2MTUuNDkvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL3NlcnZlci9odHRwX2hhbmRsZXIuY2Mu bWUgY2hyb21pdW0tMTEyLjAuNTYxNS40OS9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvc2VydmVy L2h0dHBfaGFuZGxlci5jYwotLS0tIGNocm9taXVtLTExMi4wLjU2MTUuNDkvY2hyb21lL3Rlc3Qv Y2hyb21lZHJpdmVyL3NlcnZlci9odHRwX2hhbmRsZXIuY2MubWUJMjAyMy0wNC0xMSAwOTo0Mzow MS43OTUyOTM0MjAgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTIuMC41NjE1LjQ5L2Nocm9tZS90ZXN0 L2Nocm9tZWRyaXZlci9zZXJ2ZXIvaHR0cF9oYW5kbGVyLmNjCTIwMjMtMDQtMTEgMDk6NDM6MTMu NzYzNTQ1OTkyICswMjAwCi1AQCAtNDYsNiArNDYsNyBAQAotICNpbmNsdWRlICJzZXJ2aWNlcy9u ZXR3b3JrL3B1YmxpYy9tb2pvbS91cmxfbG9hZGVyX2ZhY3RvcnkubW9qb20uaCIKLSAjaW5jbHVk ZSAic2VydmljZXMvbmV0d29yay90cmFuc2l0aW9uYWxfdXJsX2xvYWRlcl9mYWN0b3J5X293bmVy LmgiCi0gI2luY2x1ZGUgInVybC91cmxfdXRpbC5oIgotKyNpbmNsdWRlICJiYXNlL2NsYW5nX3dv cmtfYXJvdW5kLmgiCi0gCi0gI2lmIEJVSUxERkxBRyhJU19NQUMpCi0gI2luY2x1ZGUgImJhc2Uv bWFjL3Njb3BlZF9uc2F1dG9yZWxlYXNlX3Bvb2wuaCIKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0x MTMtY29uc3RleHByLWVsNy5wYXRjaCBiL2Nocm9taXVtLTExMy1jb25zdGV4cHItZWw3LnBhdGNo CmluZGV4IGM0NzRlMTIuLjkyNmJhMjQgMTAwNjQ0Ci0tLSBhL2Nocm9taXVtLTExMy1jb25zdGV4 cHItZWw3LnBhdGNoCisrKyBiL2Nocm9taXVtLTExMy1jb25zdGV4cHItZWw3LnBhdGNoCkBAIC0x LDI3NyArMSw2MiBAQAotZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvdmVyc2lvbl9pbmZvL3ZlcnNp b25faW5mby5jYyBiL2NvbXBvbmVudHMvdmVyc2lvbl9pbmZvL3ZlcnNpb25faW5mby5jYwotaW5k ZXggYzViNmE5ZWExN2JlMS4uOWIxZjVlNDQ3OGY1MyAxMDA2NDQKLS0tLSBhL2NvbXBvbmVudHMv dmVyc2lvbl9pbmZvL3ZlcnNpb25faW5mby5jYwotKysrIGIvY29tcG9uZW50cy92ZXJzaW9uX2lu Zm8vdmVyc2lvbl9pbmZvLmNjCi1AQCAtNCwyNiArNCwxNSBAQAotIAotICNpbmNsdWRlICJjb21w b25lbnRzL3ZlcnNpb25faW5mby92ZXJzaW9uX2luZm8uaCIKLSAKLS0jaW5jbHVkZSAiYmFzZS9j aGVjay5oIgotKyNpbmNsdWRlIDxzdHJpbmc+Ci0rCi0gI2luY2x1ZGUgImJhc2Uvbm9fZGVzdHJ1 Y3Rvci5oIgotLSNpbmNsdWRlICJiYXNlL25vdHJlYWNoZWQuaCIKLS0jaW5jbHVkZSAiYmFzZS9z YW5pdGl6ZXJfYnVpbGRmbGFncy5oIgotICNpbmNsdWRlICJiYXNlL3N0cmluZ3Mvc3RyY2F0Lmgi Ci0gI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJpbmdfbnVtYmVyX2NvbnZlcnNpb25zLmgiCi0g I2luY2x1ZGUgImJhc2UvdmVyc2lvbi5oIgotLSNpbmNsdWRlICJidWlsZC9icmFuZGluZ19idWls ZGZsYWdzLmgiCi0tI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgotLSNpbmNsdWRlICJi dWlsZC9jaHJvbWVvc19idWlsZGZsYWdzLmgiCi0tI2luY2x1ZGUgImNvbXBvbmVudHMvdmVyc2lv bl9pbmZvL3ZlcnNpb25faW5mb192YWx1ZXMuaCIKLSAKLSBuYW1lc3BhY2UgdmVyc2lvbl9pbmZv IHsKLSAKLS1jb25zdCBzdGQ6OnN0cmluZyYgR2V0UHJvZHVjdE5hbWVBbmRWZXJzaW9uRm9yVXNl ckFnZW50KCkgewotLSAgc3RhdGljIGNvbnN0IGJhc2U6Ok5vRGVzdHJ1Y3RvcjxzdGQ6OnN0cmlu Zz4gcHJvZHVjdF9hbmRfdmVyc2lvbigKLS0gICAgICAiQ2hyb21lLyIgKyBHZXRWZXJzaW9uTnVt YmVyKCkpOwotLSAgcmV0dXJuICpwcm9kdWN0X2FuZF92ZXJzaW9uOwotLX0KLS0KLSBjb25zdCBz dGQ6OnN0cmluZyBHZXRQcm9kdWN0TmFtZUFuZFZlcnNpb25Gb3JSZWR1Y2VkVXNlckFnZW50KAot ICAgICBjb25zdCBzdGQ6OnN0cmluZyYgYnVpbGRfdmVyc2lvbikgewotICAgc3RkOjpzdHJpbmcg cHJvZHVjdF9hbmRfdmVyc2lvbjsKLUBAIC0zMiwxNCArMjEsNiBAQCBjb25zdCBzdGQ6OnN0cmlu ZyBHZXRQcm9kdWN0TmFtZUFuZFZlcnNpb25Gb3JSZWR1Y2VkVXNlckFnZW50KAotICAgcmV0dXJu IHByb2R1Y3RfYW5kX3ZlcnNpb247Ci0gfQotIAotLXN0ZDo6c3RyaW5nIEdldFByb2R1Y3ROYW1l KCkgewotLSAgcmV0dXJuIFBST0RVQ1RfTkFNRTsKLS19Ci0tCi0tc3RkOjpzdHJpbmcgR2V0VmVy c2lvbk51bWJlcigpIHsKLS0gIHJldHVybiBQUk9EVUNUX1ZFUlNJT047Ci0tfQotLQotIGludCBH ZXRNYWpvclZlcnNpb25OdW1iZXJBc0ludCgpIHsKLSAgIERDSEVDSyhHZXRWZXJzaW9uKCkuSXNW YWxpZCgpKTsKLSAgIHJldHVybiBHZXRWZXJzaW9uKCkuY29tcG9uZW50cygpWzBdOwotQEAgLTU0 LDgyICszNSw0IEBAIGNvbnN0IGJhc2U6OlZlcnNpb24mIEdldFZlcnNpb24oKSB7Ci0gICByZXR1 cm4gKnZlcnNpb247Ci0gfQotIAotLXN0ZDo6c3RyaW5nIEdldExhc3RDaGFuZ2UoKSB7Ci0tICBy ZXR1cm4gTEFTVF9DSEFOR0U7Ci0tfQotLQotLWJvb2wgSXNPZmZpY2lhbEJ1aWxkKCkgewotLSAg cmV0dXJuIElTX09GRklDSUFMX0JVSUxEOwotLX0KLS0KLS1zdGQ6OnN0cmluZyBHZXRPU1R5cGUo KSB7Ci0tI2lmIEJVSUxERkxBRyhJU19XSU4pCi0tICByZXR1cm4gIldpbmRvd3MiOwotLSNlbGlm IEJVSUxERkxBRyhJU19JT1MpCi0tICByZXR1cm4gImlPUyI7Ci0tI2VsaWYgQlVJTERGTEFHKElT X01BQykKLS0gIHJldHVybiAiTWFjIE9TIFgiOwotLSNlbGlmIEJVSUxERkxBRyhJU19DSFJPTUVP UykKLS0jIGlmIEJVSUxERkxBRyhHT09HTEVfQ0hST01FX0JSQU5ESU5HKQotLSAgcmV0dXJuICJD aHJvbWVPUyI7Ci0tIyBlbHNlCi0tICByZXR1cm4gIkNocm9taXVtT1MiOwotLSMgZW5kaWYKLS0j ZWxpZiBCVUlMREZMQUcoSVNfQU5EUk9JRCkKLS0gIHJldHVybiAiQW5kcm9pZCI7Ci0tI2VsaWYg QlVJTERGTEFHKElTX0xJTlVYKQotLSAgcmV0dXJuICJMaW51eCI7Ci0tI2VsaWYgQlVJTERGTEFH KElTX0ZSRUVCU0QpCi0tICByZXR1cm4gIkZyZWVCU0QiOwotLSNlbGlmIEJVSUxERkxBRyhJU19P UEVOQlNEKQotLSAgcmV0dXJuICJPcGVuQlNEIjsKLS0jZWxpZiBCVUlMREZMQUcoSVNfU09MQVJJ UykKLS0gIHJldHVybiAiU29sYXJpcyI7Ci0tI2VsaWYgQlVJTERGTEFHKElTX0ZVQ0hTSUEpCi0t ICByZXR1cm4gIkZ1Y2hzaWEiOwotLSNlbHNlCi0tICByZXR1cm4gIlVua25vd24iOwotLSNlbmRp ZgotLX0KLS0KLS1zdGQ6OnN0cmluZyBHZXRDaGFubmVsU3RyaW5nKENoYW5uZWwgY2hhbm5lbCkg ewotLSAgc3dpdGNoIChjaGFubmVsKSB7Ci0tICAgIGNhc2UgQ2hhbm5lbDo6U1RBQkxFOgotLSAg ICAgIHJldHVybiAic3RhYmxlIjsKLS0gICAgY2FzZSBDaGFubmVsOjpCRVRBOgotLSAgICAgIHJl dHVybiAiYmV0YSI7Ci0tICAgIGNhc2UgQ2hhbm5lbDo6REVWOgotLSAgICAgIHJldHVybiAiZGV2 IjsKLS0gICAgY2FzZSBDaGFubmVsOjpDQU5BUlk6Ci0tICAgICAgcmV0dXJuICJjYW5hcnkiOwot LSAgICBjYXNlIENoYW5uZWw6OlVOS05PV046Ci0tICAgICAgcmV0dXJuICJ1bmtub3duIjsKLS0g IH0KLS0gIE5PVFJFQUNIRUQoKTsKLS0gIHJldHVybiBzdGQ6OnN0cmluZygpOwotLX0KLS0KLS1z dGQ6OnN0cmluZyBHZXRTYW5pdGl6ZXJMaXN0KCkgewotLSAgc3RkOjpzdHJpbmcgc2FuaXRpemVy czsKLS0jaWYgZGVmaW5lZChBRERSRVNTX1NBTklUSVpFUikKLS0gIHNhbml0aXplcnMgKz0gImFk ZHJlc3MgIjsKLS0jZW5kaWYKLS0jaWYgQlVJTERGTEFHKElTX0hXQVNBTikKLS0gIHNhbml0aXpl cnMgKz0gImh3YWRkcmVzcyAiOwotLSNlbmRpZgotLSNpZiBkZWZpbmVkKExFQUtfU0FOSVRJWkVS KQotLSAgc2FuaXRpemVycyArPSAibGVhayAiOwotLSNlbmRpZgotLSNpZiBkZWZpbmVkKE1FTU9S WV9TQU5JVElaRVIpCi0tICBzYW5pdGl6ZXJzICs9ICJtZW1vcnkgIjsKLS0jZW5kaWYKLS0jaWYg ZGVmaW5lZChUSFJFQURfU0FOSVRJWkVSKQotLSAgc2FuaXRpemVycyArPSAidGhyZWFkICI7Ci0t I2VuZGlmCi0tI2lmIGRlZmluZWQoVU5ERUZJTkVEX1NBTklUSVpFUikKLS0gIHNhbml0aXplcnMg Kz0gInVuZGVmaW5lZCAiOwotLSNlbmRpZgotLSAgcmV0dXJuIHNhbml0aXplcnM7Ci0tfQotLQot IH0gIC8vIG5hbWVzcGFjZSB2ZXJzaW9uX2luZm8KLWRpZmYgLS1naXQgYS9jb21wb25lbnRzL3Zl cnNpb25faW5mby92ZXJzaW9uX2luZm8uaCBiL2NvbXBvbmVudHMvdmVyc2lvbl9pbmZvL3ZlcnNp b25faW5mby5oCi1pbmRleCBjYWI1MTY2NTlhOWU0Li5mZmE1NTRlZWQ3NTk4IDEwMDY0NAotLS0t IGEvY29tcG9uZW50cy92ZXJzaW9uX2luZm8vdmVyc2lvbl9pbmZvLmgKLSsrKyBiL2NvbXBvbmVu dHMvdmVyc2lvbl9pbmZvL3ZlcnNpb25faW5mby5oCi1AQCAtNyw3ICs3LDEyIEBACi0gCi0gI2lu Y2x1ZGUgPHN0cmluZz4KLSAKLSsjaW5jbHVkZSAiYmFzZS9ub3RyZWFjaGVkLmgiCi0rI2luY2x1 ZGUgImJhc2Uvc2FuaXRpemVyX2J1aWxkZmxhZ3MuaCIKLSsjaW5jbHVkZSAiYnVpbGQvYnJhbmRp bmdfYnVpbGRmbGFncy5oIgotKyNpbmNsdWRlICJidWlsZC9idWlsZF9jb25maWcuaCIKLSAjaW5j bHVkZSAiY29tcG9uZW50cy92ZXJzaW9uX2luZm8vY2hhbm5lbC5oIgotKyNpbmNsdWRlICJjb21w b25lbnRzL3ZlcnNpb25faW5mby92ZXJzaW9uX2luZm9fdmFsdWVzLmgiCi0gCi0gbmFtZXNwYWNl IGJhc2UgewotIGNsYXNzIFZlcnNpb247Ci1AQCAtMTUsMTAgKzIwLDYgQEAgY2xhc3MgVmVyc2lv bjsKLSAKLSBuYW1lc3BhY2UgdmVyc2lvbl9pbmZvIHsKLSAKLS0vLyBSZXR1cm5zIHRoZSBwcm9k dWN0IG5hbWUgYW5kIHZlcnNpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBVc2VyLUFnZW50IGhlYWRl ciwKLS0vLyBpbiB0aGUgZm9ybWF0OiBDaHJvbWUvPG1ham9yX3ZlcnNpb24+LjxtaW5vcl92ZXJz aW9uPi48YnVpbGQ+LjxwYXRjaD4uCi0tY29uc3Qgc3RkOjpzdHJpbmcmIEdldFByb2R1Y3ROYW1l QW5kVmVyc2lvbkZvclVzZXJBZ2VudCgpOwotLQotIC8vIFJldHVybnMgdGhlIHByb2R1Y3QgbmFt ZSBhbmQgcmVkdWNlZCB2ZXJzaW9uIGluZm9ybWF0aW9uIGZvciB0aGUgVXNlci1BZ2VudAotIC8v IGhlYWRlciwgaW4gdGhlIGZvcm1hdDogQ2hyb21lLzxtYWpvcl92ZXJzaW9uPi4wLmJ1aWxkX3Zl cnNpb24uMCwgd2hlcmUKLSAvLyBgYnVpbGRfdmVyc2lvbmAgaXMgYSBmcm96ZW4gQlVJTEQgbnVt YmVyLgotQEAgLTI2LDEwICsyNywyMCBAQCBjb25zdCBzdGQ6OnN0cmluZyBHZXRQcm9kdWN0TmFt ZUFuZFZlcnNpb25Gb3JSZWR1Y2VkVXNlckFnZW50KAorZGlmZiAtdXAgY2hyb21pdW0tMTE0LjAu NTczNS4yNi9jb21wb25lbnRzL3ZlcnNpb25faW5mby92ZXJzaW9uX2luZm8uY2MuY29uc3RleHBy LWVsNyBjaHJvbWl1bS0xMTQuMC41NzM1LjI2L2NvbXBvbmVudHMvdmVyc2lvbl9pbmZvL3ZlcnNp b25faW5mby5jYworZGlmZiAtdXAgY2hyb21pdW0tMTE0LjAuNTczNS4yNi9jb21wb25lbnRzL3Zl cnNpb25faW5mby92ZXJzaW9uX2luZm8uaC5jb25zdGV4cHItZWw3IGNocm9taXVtLTExNC4wLjU3 MzUuMjYvY29tcG9uZW50cy92ZXJzaW9uX2luZm8vdmVyc2lvbl9pbmZvLmgKKy0tLSBjaHJvbWl1 bS0xMTQuMC41NzM1LjI2L2NvbXBvbmVudHMvdmVyc2lvbl9pbmZvL3ZlcnNpb25faW5mby5oLmNv bnN0ZXhwci1lbDcJMjAyMy0wNS0xMSAwMzozNjoxOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJv bWl1bS0xMTQuMC41NzM1LjI2L2NvbXBvbmVudHMvdmVyc2lvbl9pbmZvL3ZlcnNpb25faW5mby5o CTIwMjMtMDUtMTQgMTA6NTk6MTkuOTIxNTc4NjQ1ICswMjAwCitAQCAtMjcsMTggKzI3LDE4IEBA IGNvbnN0IHN0ZDo6c3RyaW5nIEdldFByb2R1Y3ROYW1lQW5kVmVyc2kKICAgICAgY29uc3Qgc3Rk OjpzdHJpbmcmIGJ1aWxkX3ZlcnNpb24pOwogIAogIC8vIFJldHVybnMgdGhlIHByb2R1Y3QgbmFt ZSwgZS5nLiAiQ2hyb21pdW0iIG9yICJHb29nbGUgQ2hyb21lIi4KLS1zdGQ6OnN0cmluZyBHZXRQ cm9kdWN0TmFtZSgpOwotK2NvbnN0ZXhwciBzdGQ6OnN0cmluZyBHZXRQcm9kdWN0TmFtZSgpIHsK LSsgIHJldHVybiBQUk9EVUNUX05BTUU7Ci0rfQorLWNvbnN0ZXhwciBzdGQ6OnN0cmluZyBHZXRQ cm9kdWN0TmFtZSgpIHsKKytzdGF0aWMgY29uc3Qgc3RkOjpzdHJpbmcgR2V0UHJvZHVjdE5hbWUo KSB7CisgICByZXR1cm4gUFJPRFVDVF9OQU1FOworIH0KICAKICAvLyBSZXR1cm5zIHRoZSB2ZXJz aW9uIG51bWJlciwgZS5nLiAiNi4wLjQ5MC4xIi4KLS1zdGQ6OnN0cmluZyBHZXRWZXJzaW9uTnVt YmVyKCk7Ci0rY29uc3RleHByIHN0ZDo6c3RyaW5nIEdldFZlcnNpb25OdW1iZXIoKSB7Ci0rICBy ZXR1cm4gUFJPRFVDVF9WRVJTSU9OOwotK30KLSsKLSsvLyBSZXR1cm5zIHRoZSBwcm9kdWN0IG5h bWUgYW5kIHZlcnNpb24gaW5mb3JtYXRpb24gZm9yIHRoZSBVc2VyLUFnZW50IGhlYWRlciwKLSsv LyBpbiB0aGUgZm9ybWF0OiBDaHJvbWUvPG1ham9yX3ZlcnNpb24+LjxtaW5vcl92ZXJzaW9uPi48 YnVpbGQ+LjxwYXRjaD4uCi0rY29uc3RleHByIHN0ZDo6c3RyaW5nIEdldFByb2R1Y3ROYW1lQW5k VmVyc2lvbkZvclVzZXJBZ2VudCgpIHsKLSsgIHJldHVybiAiQ2hyb21lLyIgKyBHZXRWZXJzaW9u TnVtYmVyKCk7Ci0rfQorLWNvbnN0ZXhwciBzdGQ6OnN0cmluZyBHZXRWZXJzaW9uTnVtYmVyKCkg eworK3N0YXRpYyBjb25zdCBzdGQ6OnN0cmluZyBHZXRWZXJzaW9uTnVtYmVyKCkgeworICAgcmV0 dXJuIFBST0RVQ1RfVkVSU0lPTjsKKyB9CisgCisgLy8gUmV0dXJucyB0aGUgcHJvZHVjdCBuYW1l IGFuZCB2ZXJzaW9uIGluZm9ybWF0aW9uIGZvciB0aGUgVXNlci1BZ2VudCBoZWFkZXIsCisgLy8g aW4gdGhlIGZvcm1hdDogQ2hyb21lLzxtYWpvcl92ZXJzaW9uPi48bWlub3JfdmVyc2lvbj4uPGJ1 aWxkPi48cGF0Y2g+LgorLWNvbnN0ZXhwciBzdGQ6OnN0cmluZyBHZXRQcm9kdWN0TmFtZUFuZFZl cnNpb25Gb3JVc2VyQWdlbnQoKSB7Cisrc3RhdGljIGNvbnN0IHN0ZDo6c3RyaW5nIEdldFByb2R1 Y3ROYW1lQW5kVmVyc2lvbkZvclVzZXJBZ2VudCgpIHsKKyAgIHJldHVybiAiQ2hyb21lLyIgKyBH ZXRWZXJzaW9uTnVtYmVyKCk7CisgfQogIAotIC8vIFJldHVybnMgdGhlIG1ham9yIGNvbXBvbmVu dCAoYWthIHRoZSBtaWxlc3RvbmUpIG9mIHRoZSB2ZXJzaW9uIGFzIGFuIGludCwKLSAvLyBlLmcu IDYgd2hlbiB0aGUgdmVyc2lvbiBpcyAiNi4wLjQ5MC4xIi4KLUBAIC00MiwyMiArNTMsODkgQEAg c3RkOjpzdHJpbmcgR2V0TWFqb3JWZXJzaW9uTnVtYmVyKCk7CitAQCAtNTMsNyArNTMsNyBAQCBz dGQ6OnN0cmluZyBHZXRNYWpvclZlcnNpb25OdW1iZXIoKTsKICBjb25zdCBiYXNlOjpWZXJzaW9u JiBHZXRWZXJzaW9uKCk7CiAgCiAgLy8gUmV0dXJucyBhIHZlcnNpb24gY29udHJvbCBzcGVjaWZp YyBpZGVudGlmaWVyIG9mIHRoaXMgcmVsZWFzZS4KLS1zdGQ6OnN0cmluZyBHZXRMYXN0Q2hhbmdl KCk7Ci0rY29uc3RleHByIHN0ZDo6c3RyaW5nIEdldExhc3RDaGFuZ2UoKSB7Ci0rICByZXR1cm4g TEFTVF9DSEFOR0U7Ci0rfQorLWNvbnN0ZXhwciBzdGQ6OnN0cmluZyBHZXRMYXN0Q2hhbmdlKCkg eworK3N0YXRpYyBjb25zdCBzdGQ6OnN0cmluZyBHZXRMYXN0Q2hhbmdlKCkgeworICAgcmV0dXJu IExBU1RfQ0hBTkdFOworIH0KICAKLSAvLyBSZXR1cm5zIHdoZXRoZXIgdGhpcyBpcyBhbiAib2Zm aWNpYWwiIHJlbGVhc2Ugb2YgdGhlIGN1cnJlbnQgdmVyc2lvbiwgaS5lLgotIC8vIHdoZXRoZXIg a25vd2luZyBHZXRWZXJzaW9uTnVtYmVyKCkgaXMgZW5vdWdoIHRvIGNvbXBsZXRlbHkgZGV0ZXJt aW5lIHdoYXQKLSAvLyBHZXRMYXN0Q2hhbmdlKCkgaXMuCi0tYm9vbCBJc09mZmljaWFsQnVpbGQo KTsKLStjb25zdGV4cHIgYm9vbCBJc09mZmljaWFsQnVpbGQoKSB7Ci0rICByZXR1cm4gSVNfT0ZG SUNJQUxfQlVJTEQ7Ci0rfQorQEAgLTY1LDcgKzY1LDcgQEAgY29uc3RleHByIGJvb2wgSXNPZmZp Y2lhbEJ1aWxkKCkgeworIH0KICAKICAvLyBSZXR1cm5zIHRoZSBPUyB0eXBlLCBlLmcuICJXaW5k b3dzIiwgIkxpbnV4IiwgIkZyZWVCU0QiLCAuLi4KLS1zdGQ6OnN0cmluZyBHZXRPU1R5cGUoKTsK LStjb25zdGV4cHIgc3RkOjpzdHJpbmcgR2V0T1NUeXBlKCkgewotKyNpZiBCVUlMREZMQUcoSVNf V0lOKQotKyAgcmV0dXJuICJXaW5kb3dzIjsKLSsjZWxpZiBCVUlMREZMQUcoSVNfSU9TKQotKyAg cmV0dXJuICJpT1MiOwotKyNlbGlmIEJVSUxERkxBRyhJU19NQUMpCi0rICByZXR1cm4gIk1hYyBP UyBYIjsKLSsjZWxpZiBCVUlMREZMQUcoSVNfQ0hST01FT1MpCi0rI2lmIEJVSUxERkxBRyhHT09H TEVfQ0hST01FX0JSQU5ESU5HKQotKyAgcmV0dXJuICJDaHJvbWVPUyI7Ci0rI2Vsc2UKLSsgIHJl dHVybiAiQ2hyb21pdW1PUyI7Ci0rI2VuZGlmCi0rI2VsaWYgQlVJTERGTEFHKElTX0FORFJPSUQp Ci0rICByZXR1cm4gIkFuZHJvaWQiOwotKyNlbGlmIEJVSUxERkxBRyhJU19MSU5VWCkKLSsgIHJl dHVybiAiTGludXgiOwotKyNlbGlmIEJVSUxERkxBRyhJU19GUkVFQlNEKQotKyAgcmV0dXJuICJG cmVlQlNEIjsKLSsjZWxpZiBCVUlMREZMQUcoSVNfT1BFTkJTRCkKLSsgIHJldHVybiAiT3BlbkJT RCI7Ci0rI2VsaWYgQlVJTERGTEFHKElTX1NPTEFSSVMpCi0rICByZXR1cm4gIlNvbGFyaXMiOwot KyNlbGlmIEJVSUxERkxBRyhJU19GVUNIU0lBKQotKyAgcmV0dXJuICJGdWNoc2lhIjsKLSsjZWxz ZQotKyAgcmV0dXJuICJVbmtub3duIjsKLSsjZW5kaWYKLSt9CistY29uc3RleHByIHN0ZDo6c3Ry aW5nIEdldE9TVHlwZSgpIHsKKytzdGF0aWMgY29uc3Qgc3RkOjpzdHJpbmcgR2V0T1NUeXBlKCkg eworICNpZiBCVUlMREZMQUcoSVNfV0lOKQorICAgcmV0dXJuICJXaW5kb3dzIjsKKyAjZWxpZiBC VUlMREZMQUcoSVNfSU9TKQorQEAgLTk3LDcgKzk3LDcgQEAgY29uc3RleHByIHN0ZDo6c3RyaW5n IEdldE9TVHlwZSgpIHsKICAKICAvLyBSZXR1cm5zIGEgc3RyaW5nIGVxdWl2YWxlbnQgb2YgfGNo YW5uZWx8LCBpbmRlcGVuZGVudCBvZiB3aGV0aGVyIHRoZSBidWlsZAogIC8vIGlzIGJyYW5kZWQg b3Igbm90IGFuZCB3aXRob3V0IGFueSBhZGRpdGlvbmFsIG1vZGlmaWVycy4KLS1zdGQ6OnN0cmlu ZyBHZXRDaGFubmVsU3RyaW5nKENoYW5uZWwgY2hhbm5lbCk7Ci0rY29uc3RleHByIHN0ZDo6c3Ry aW5nIEdldENoYW5uZWxTdHJpbmcoQ2hhbm5lbCBjaGFubmVsKSB7Ci0rICBzd2l0Y2ggKGNoYW5u ZWwpIHsKLSsgICAgY2FzZSBDaGFubmVsOjpTVEFCTEU6Ci0rICAgICAgcmV0dXJuICJzdGFibGUi OwotKyAgICBjYXNlIENoYW5uZWw6OkJFVEE6Ci0rICAgICAgcmV0dXJuICJiZXRhIjsKLSsgICAg Y2FzZSBDaGFubmVsOjpERVY6Ci0rICAgICAgcmV0dXJuICJkZXYiOwotKyAgICBjYXNlIENoYW5u ZWw6OkNBTkFSWToKLSsgICAgICByZXR1cm4gImNhbmFyeSI7Ci0rICAgIGNhc2UgQ2hhbm5lbDo6 VU5LTk9XTjoKLSsgICAgICByZXR1cm4gInVua25vd24iOwotKyAgfQotKyAgTk9UUkVBQ0hFRF9O T1JFVFVSTigpOwotK30KKy1jb25zdGV4cHIgc3RkOjpzdHJpbmcgR2V0Q2hhbm5lbFN0cmluZyhD aGFubmVsIGNoYW5uZWwpIHsKKytzdGF0aWMgY29uc3Qgc3RkOjpzdHJpbmcgR2V0Q2hhbm5lbFN0 cmluZyhDaGFubmVsIGNoYW5uZWwpIHsKKyAgIHN3aXRjaCAoY2hhbm5lbCkgeworICAgICBjYXNl IENoYW5uZWw6OlNUQUJMRToKKyAgICAgICByZXR1cm4gInN0YWJsZSI7CitAQCAtMTE0LDcgKzEx NCw3IEBAIGNvbnN0ZXhwciBzdGQ6OnN0cmluZyBHZXRDaGFubmVsU3RyaW5nKEMKKyB9CiAgCiAg Ly8gUmV0dXJucyBhIGxpc3Qgb2Ygc2FuaXRpemVycyBlbmFibGVkIGluIHRoaXMgYnVpbGQuCi0t c3RkOjpzdHJpbmcgR2V0U2FuaXRpemVyTGlzdCgpOwotK2NvbnN0ZXhwciBzdGQ6OnN0cmluZyBH ZXRTYW5pdGl6ZXJMaXN0KCkgewotKyAgcmV0dXJuICIiCi0rI2lmIGRlZmluZWQoQUREUkVTU19T QU5JVElaRVIpCi0rICAgICAgICAgImFkZHJlc3MgIgotKyNlbmRpZgotKyNpZiBCVUlMREZMQUco SVNfSFdBU0FOKQotKyAgICAgICAgICJod2FkZHJlc3MgIgotKyNlbmRpZgotKyNpZiBkZWZpbmVk KExFQUtfU0FOSVRJWkVSKQotKyAgICAgICAgICJsZWFrICIKLSsjZW5kaWYKLSsjaWYgZGVmaW5l ZChNRU1PUllfU0FOSVRJWkVSKQotKyAgICAgICAgICJtZW1vcnkgIgotKyNlbmRpZgotKyNpZiBk ZWZpbmVkKFRIUkVBRF9TQU5JVElaRVIpCi0rICAgICAgICAgInRocmVhZCAiCi0rI2VuZGlmCi0r I2lmIGRlZmluZWQoVU5ERUZJTkVEX1NBTklUSVpFUikKLSsgICAgICAgICAidW5kZWZpbmVkICIK LSsjZW5kaWYKLSsgICAgICA7Ci0rfQotIAotIH0gIC8vIG5hbWVzcGFjZSB2ZXJzaW9uX2luZm8K LSAKKy1jb25zdGV4cHIgc3RkOjpzdHJpbmcgR2V0U2FuaXRpemVyTGlzdCgpIHsKKytzdGF0aWMg Y29uc3Qgc3RkOjpzdHJpbmcgR2V0U2FuaXRpemVyTGlzdCgpIHsKKyAgIHJldHVybiAiIgorICNp ZiBkZWZpbmVkKEFERFJFU1NfU0FOSVRJWkVSKQorICAgICAgICAgICJhZGRyZXNzICIKCmRpZmYg LS1naXQgYS9jaHJvbWl1bS0xMTMtdjRsMi1yZXZlcnQtZWw3LnBhdGNoIGIvY2hyb21pdW0tMTEz LXY0bDItcmV2ZXJ0LWVsNy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzkx YTdjMy4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTMtdjRsMi1yZXZlcnQtZWw3LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsNTQwICswLDAgQEAKLWNvbW1pdCA3NGU0MTQyODUwM2QxNmZmMzY1 YmJmYTkzY2EyMzMzMmNlMDQyMTVhCi1BdXRob3I6IElseWEgTmlrb2xhZXZza2l5IDxpbG5pa0Bj aHJvbWl1bS5vcmc+Ci1EYXRlOiAgIFdlZCBBcHIgNSAxNjoxNjoyMiAyMDIzICswMDAwCi0KLSAg ICBSZXZlcnQgIlY0TDI6IG1lZGlhL2NhcHR1cmU6IFVzZSBWSURJT0NfU19FWFRfQ1RSTFMgQVBJ IGNvcnJlY3RseSIKLSAgICAKLSAgICBUaGlzIHJldmVydHMgY29tbWl0IDQzMDE1NjNiZGVhMTc2 Njc3OWI1ZTAzMmQyZWIyZmYxOTk1OWZjZTMuCi0gICAgCi0gICAgUmVhc29uIGZvciByZXZlcnQ6 IEJyZWFrcyB0ZXN0IGJvdDogY3JidWcuY29tLzE0MzA2OTkKLSAgICAKLSAgICBPcmlnaW5hbCBj aGFuZ2UncyBkZXNjcmlwdGlvbjoKLSAgICA+IFY0TDI6IG1lZGlhL2NhcHR1cmU6IFVzZSBWSURJ T0NfU19FWFRfQ1RSTFMgQVBJIGNvcnJlY3RseQotICAgID4KLSAgICA+IFRoaXMgQ0w6Ci0gICAg PiAgLSBVc2VzIHRoZSBgd2hpY2hgIHN0cnVjdCB2NGwyX2V4dF9jb250cm9scyBmaWVsZCBpbnN0 ZWFkIG9mCi0gICAgPiAgICB0aGUgZGVwcmVjYXRlZCBgY3RybF9jbGFzc2AgYWxpYXMgZmllbGQu Ci0gICAgPiAgLSBQcmVmZXJzIHRoZSBuZXcgc3R5bGUgdmFsdWUgb2YgYFY0TDJfQ1RSTF9XSElD SF9DVVJfVkFMYCBmb3IgdGhhdAotICAgID4gICAgZmllbGQgaW5zdGVhZCBvZiB0aGUgb2xkIHN0 eWxlIHZhbHVlIG9mIHRoZSBjb250cm9sIGNsYXNzIElEIGFzIGxvbmcKLSAgICA+ICAgIGFzIHRo ZSBkZXZpY2Ugc3VwcG9ydHMgdGhlIG5ldyBzdHlsZSAoZGV0ZWN0ZWQgb24gcnVuLXRpbWUpLgot ICAgID4gIC0gU2V0cyBzcGVjaWFsIGNvbnRyb2xzIG9ubHkgaWYgdGhleSBhcmUgc3VwcG9ydGVk LiBUcnlpbmcgdG8gc2V0Ci0gICAgPiAgICBhbiB1bnN1cHBvcnRlZCBzcGVjaWFsIGNvbnRyb2wg YXMgcGFydCBvZiBhIFZJRElPQ19TX0VYVF9DVFJMUyBjYWxsCi0gICAgPiAgICBjYXVzZXMgdGhl IHdob2xlIFZJRElPQ19TX0VYVF9DVFJMUyBjYWxsIHRvIGZhaWwuCi0gICAgPiAgLSBGaXhlcyBj b250cm9sIGl0ZXJhdGlvbiBub3QgdG8gc2tpcCBvdmVyIHRoZSBicmlnaHRuZXNzIGNvbnRyb2wu Ci0gICAgPiAgLSBTa2lwcyBwZXJtYW5lbnRseSBkaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGNvbnRy b2xzLgotICAgID4gIC0gRW5hYmxlcyB0aGUgY29ycmVzcG9uZGluZyB0ZXN0IGNhc2UuCi0gICAg PgotICAgID4gVGhpcyBmaXhlcyBWSURJT0NfU19FWFRfQ1RSTFMgdG8gd29yayBvbiBuZXcgZGV2 aWNlIGRyaXZlcnMsIHRvby4KLSAgICA+Ci0gICAgPiBBUEk6IGh0dHBzOi8vd3d3Lmtlcm5lbC5v cmcvZG9jL2h0bWwvbGF0ZXN0L3VzZXJzcGFjZS1hcGkvbWVkaWEvdjRsL3ZpZGlvYy1nLWV4dC1j dHJscy5odG1sI2MuVjRMLnY0bDJfZXh0X2NvbnRyb2xzCi0gICAgPgotICAgID4gQnVnOiAxNDIx NzM5LCA3MzIzNTUKLSAgICA+IENoYW5nZS1JZDogSTEzNTkzYmI2NDdmZTY2NGQ3MGEzZDhlZDhk Mjc4OWY3NzM5N2FhNDAKLSAgICA+IFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmll dy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNDMyNDAyMQotICAgID4gQ29tbWl0 LVF1ZXVlOiBFZXJvIEhha2tpbmVuIDxlZXJvLmhha2tpbmVuQGludGVsLmNvbT4KLSAgICA+IFJl dmlld2VkLWJ5OiBUb21hcyBHdW5uYXJzc29uIDx0b21taUBjaHJvbWl1bS5vcmc+Ci0gICAgPiBS ZXZpZXdlZC1ieTogSWx5YSBOaWtvbGFldnNraXkgPGlsbmlrQGNocm9taXVtLm9yZz4KLSAgICA+ IENyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsjMTExNjQxNn0KLSAgICAKLSAg ICBCdWc6IDE0MjE3MzksIDczMjM1NQotICAgIENoYW5nZS1JZDogSTI5MWI4MDAwOTU1MGYwYzg5 MGI1MjAzMDYwZDkyODNhNDA3NGFmOTcKLSAgICBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1 bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQ0MDE1OTIKLSAgICBD b21taXQtUXVldWU6IFRvbWFzIEd1bm5hcnNzb24gPHRvbW1pQGNocm9taXVtLm9yZz4KLSAgICBB dXRvLVN1Ym1pdDogSWx5YSBOaWtvbGFldnNraXkgPGlsbmlrQGNocm9taXVtLm9yZz4KLSAgICBS ZXZpZXdlZC1ieTogVG9tYXMgR3VubmFyc3NvbiA8dG9tbWlAY2hyb21pdW0ub3JnPgotICAgIENy LUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsjMTEyNjYxNX0KLQotZGlmZiAtLWdp dCBhL21lZGlhL2NhcHR1cmUvdmlkZW8vbGludXgvdjRsMl9jYXB0dXJlX2RlbGVnYXRlLmNjIGIv bWVkaWEvY2FwdHVyZS92aWRlby9saW51eC92NGwyX2NhcHR1cmVfZGVsZWdhdGUuY2MKLWluZGV4 IDdlZmEyYjFjMjI1MmMuLjg2NDExMWY1YzI1NWUgMTAwNjQ0Ci0tLS0gYS9tZWRpYS9jYXB0dXJl L3ZpZGVvL2xpbnV4L3Y0bDJfY2FwdHVyZV9kZWxlZ2F0ZS5jYwotKysrIGIvbWVkaWEvY2FwdHVy ZS92aWRlby9saW51eC92NGwyX2NhcHR1cmVfZGVsZWdhdGUuY2MKLUBAIC0xMzgsNiArMTM4LDQ3 IEBAIGludCBHZXRDb250cm9sbGluZ1NwZWNpYWxDb250cm9sKGludCBjb250cm9sX2lkKSB7Ci0g ICByZXR1cm4gMDsKLSB9Ci0gCi0rLy8gRGV0ZXJtaW5lcyBpZiB8Y29udHJvbF9pZHwgaXMgc3Bl Y2lhbCwgaS5lLiBjb250cm9scyBhbm90aGVyIG9uZSdzIHN0YXRlLgotK2Jvb2wgSXNTcGVjaWFs Q29udHJvbChpbnQgY29udHJvbF9pZCkgewotKyAgc3dpdGNoIChjb250cm9sX2lkKSB7Ci0rICAg IGNhc2UgVjRMMl9DSURfQVVUT19XSElURV9CQUxBTkNFOgotKyAgICBjYXNlIFY0TDJfQ0lEX0VY UE9TVVJFX0FVVE86Ci0rICAgIGNhc2UgVjRMMl9DSURfRVhQT1NVUkVfQVVUT19QUklPUklUWToK LSsgICAgY2FzZSBWNEwyX0NJRF9GT0NVU19BVVRPOgotKyAgICAgIHJldHVybiB0cnVlOwotKyAg fQotKyAgcmV0dXJuIGZhbHNlOwotK30KLSsKLSsvLyBEZXRlcm1pbmVzIGlmIHxjb250cm9sX2lk fCBzaG91bGQgYmUgc2tpcHBlZCwgaHR0cHM6Ly9jcmJ1Zy5jb20vNjk3ODg1LgotKyNpZiAhZGVm aW5lZChWNEwyX0NJRF9QQU5fU1BFRUQpCi0rI2RlZmluZSBWNEwyX0NJRF9QQU5fU1BFRUQgKFY0 TDJfQ0lEX0NBTUVSQV9DTEFTU19CQVNFICsgMzIpCi0rI2VuZGlmCi0rI2lmICFkZWZpbmVkKFY0 TDJfQ0lEX1RJTFRfU1BFRUQpCi0rI2RlZmluZSBWNEwyX0NJRF9USUxUX1NQRUVEIChWNEwyX0NJ RF9DQU1FUkFfQ0xBU1NfQkFTRSArIDMzKQotKyNlbmRpZgotKyNpZiAhZGVmaW5lZChWNEwyX0NJ RF9QQU5USUxUX0NNRCkKLSsjZGVmaW5lIFY0TDJfQ0lEX1BBTlRJTFRfQ01EIChWNEwyX0NJRF9D QU1FUkFfQ0xBU1NfQkFTRSArIDM0KQotKyNlbmRpZgotK2Jvb2wgSXNCbG9ja2VkQ29udHJvbChp bnQgY29udHJvbF9pZCkgewotKyAgc3dpdGNoIChjb250cm9sX2lkKSB7Ci0rICAgIGNhc2UgVjRM Ml9DSURfUEFOX1JFTEFUSVZFOgotKyAgICBjYXNlIFY0TDJfQ0lEX1RJTFRfUkVMQVRJVkU6Ci0r ICAgIGNhc2UgVjRMMl9DSURfUEFOX1JFU0VUOgotKyAgICBjYXNlIFY0TDJfQ0lEX1RJTFRfUkVT RVQ6Ci0rICAgIGNhc2UgVjRMMl9DSURfUEFOX0FCU09MVVRFOgotKyAgICBjYXNlIFY0TDJfQ0lE X1RJTFRfQUJTT0xVVEU6Ci0rICAgIGNhc2UgVjRMMl9DSURfWk9PTV9BQlNPTFVURToKLSsgICAg Y2FzZSBWNEwyX0NJRF9aT09NX1JFTEFUSVZFOgotKyAgICBjYXNlIFY0TDJfQ0lEX1pPT01fQ09O VElOVU9VUzoKLSsgICAgY2FzZSBWNEwyX0NJRF9QQU5fU1BFRUQ6Ci0rICAgIGNhc2UgVjRMMl9D SURfVElMVF9TUEVFRDoKLSsgICAgY2FzZSBWNEwyX0NJRF9QQU5USUxUX0NNRDoKLSsgICAgICBy ZXR1cm4gdHJ1ZTsKLSsgIH0KLSsgIHJldHVybiBmYWxzZTsKLSt9Ci0rCi0gYm9vbCBJc05vbkVt cHR5UmFuZ2UoY29uc3QgbW9qb206OlJhbmdlUHRyJiByYW5nZSkgewotICAgcmV0dXJuIHJhbmdl LT5taW4gPCByYW5nZS0+bWF4OwotIH0KLUBAIC0yMTEsNDkgKzI1Miw2IEBAIHN0ZDo6dmVjdG9y PHVpbnQzMl90PiBWNEwyQ2FwdHVyZURlbGVnYXRlOjpHZXRMaXN0T2ZVc2FibGVGb3VyQ2NzKAot ICAgcmV0dXJuIHN1cHBvcnRlZF9mb3JtYXRzOwotIH0KLSAKLS0vLyBEZXRlcm1pbmVzIGlmIHxj b250cm9sX2lkfCBpcyBzcGVjaWFsLCBpLmUuIGNvbnRyb2xzIGFub3RoZXIgb25lJ3Mgc3RhdGUu Ci0tLy8gc3RhdGljCi0tYm9vbCBWNEwyQ2FwdHVyZURlbGVnYXRlOjpJc1NwZWNpYWxDb250cm9s KGludCBjb250cm9sX2lkKSB7Ci0tICBzd2l0Y2ggKGNvbnRyb2xfaWQpIHsKLS0gICAgY2FzZSBW NEwyX0NJRF9BVVRPX1dISVRFX0JBTEFOQ0U6Ci0tICAgIGNhc2UgVjRMMl9DSURfRVhQT1NVUkVf QVVUTzoKLS0gICAgY2FzZSBWNEwyX0NJRF9FWFBPU1VSRV9BVVRPX1BSSU9SSVRZOgotLSAgICBj YXNlIFY0TDJfQ0lEX0ZPQ1VTX0FVVE86Ci0tICAgICAgcmV0dXJuIHRydWU7Ci0tICB9Ci0tICBy ZXR1cm4gZmFsc2U7Ci0tfQotLQotLS8vIERldGVybWluZXMgaWYgfGNvbnRyb2xfaWR8IHNob3Vs ZCBiZSBza2lwcGVkLCBodHRwczovL2NyYnVnLmNvbS82OTc4ODUuCi0tI2lmICFkZWZpbmVkKFY0 TDJfQ0lEX1BBTl9TUEVFRCkKLS0jZGVmaW5lIFY0TDJfQ0lEX1BBTl9TUEVFRCAoVjRMMl9DSURf Q0FNRVJBX0NMQVNTX0JBU0UgKyAzMikKLS0jZW5kaWYKLS0jaWYgIWRlZmluZWQoVjRMMl9DSURf VElMVF9TUEVFRCkKLS0jZGVmaW5lIFY0TDJfQ0lEX1RJTFRfU1BFRUQgKFY0TDJfQ0lEX0NBTUVS QV9DTEFTU19CQVNFICsgMzMpCi0tI2VuZGlmCi0tI2lmICFkZWZpbmVkKFY0TDJfQ0lEX1BBTlRJ TFRfQ01EKQotLSNkZWZpbmUgVjRMMl9DSURfUEFOVElMVF9DTUQgKFY0TDJfQ0lEX0NBTUVSQV9D TEFTU19CQVNFICsgMzQpCi0tI2VuZGlmCi0tLy8gc3RhdGljCi0tYm9vbCBWNEwyQ2FwdHVyZURl bGVnYXRlOjpJc0Jsb2NrZWRDb250cm9sKGludCBjb250cm9sX2lkKSB7Ci0tICBzd2l0Y2ggKGNv bnRyb2xfaWQpIHsKLS0gICAgY2FzZSBWNEwyX0NJRF9QQU5fUkVMQVRJVkU6Ci0tICAgIGNhc2Ug VjRMMl9DSURfVElMVF9SRUxBVElWRToKLS0gICAgY2FzZSBWNEwyX0NJRF9QQU5fUkVTRVQ6Ci0t ICAgIGNhc2UgVjRMMl9DSURfVElMVF9SRVNFVDoKLS0gICAgY2FzZSBWNEwyX0NJRF9QQU5fQUJT T0xVVEU6Ci0tICAgIGNhc2UgVjRMMl9DSURfVElMVF9BQlNPTFVURToKLS0gICAgY2FzZSBWNEwy X0NJRF9aT09NX0FCU09MVVRFOgotLSAgICBjYXNlIFY0TDJfQ0lEX1pPT01fUkVMQVRJVkU6Ci0t ICAgIGNhc2UgVjRMMl9DSURfWk9PTV9DT05USU5VT1VTOgotLSAgICBjYXNlIFY0TDJfQ0lEX1BB Tl9TUEVFRDoKLS0gICAgY2FzZSBWNEwyX0NJRF9USUxUX1NQRUVEOgotLSAgICBjYXNlIFY0TDJf Q0lEX1BBTlRJTFRfQ01EOgotLSAgICAgIHJldHVybiB0cnVlOwotLSAgfQotLSAgcmV0dXJuIGZh bHNlOwotLX0KLS0KLSBWNEwyQ2FwdHVyZURlbGVnYXRlOjpWNEwyQ2FwdHVyZURlbGVnYXRlKAot ICAgICBWNEwyQ2FwdHVyZURldmljZSogdjRsMiwKLSAgICAgY29uc3QgVmlkZW9DYXB0dXJlRGV2 aWNlRGVzY3JpcHRvciYgZGV2aWNlX2Rlc2NyaXB0b3IsCi1AQCAtODMwLDg5ICs4MjgsMTAwIEBA IG1vam9tOjpSYW5nZVB0ciBWNEwyQ2FwdHVyZURlbGVnYXRlOjpSZXRyaWV2ZVVzZXJDb250cm9s UmFuZ2UoaW50IGNvbnRyb2xfaWQpIHsKLSB9Ci0gCi0gdm9pZCBWNEwyQ2FwdHVyZURlbGVnYXRl OjpSZXNldFVzZXJBbmRDYW1lcmFDb250cm9sc1RvRGVmYXVsdCgpIHsKLSsgIC8vIFNldCBWNEwy X0NJRF9BVVRPX1dISVRFX0JBTEFOQ0UgdG8gZmFsc2UgZmlyc3QuCi0rICB2NGwyX2NvbnRyb2wg YXV0b193aGl0ZV9iYWxhbmNlID0ge307Ci0rICBhdXRvX3doaXRlX2JhbGFuY2UuaWQgPSBWNEwy X0NJRF9BVVRPX1dISVRFX0JBTEFOQ0U7Ci0rICBhdXRvX3doaXRlX2JhbGFuY2UudmFsdWUgPSBm YWxzZTsKLSsgIGlmICghUnVuSW9jdGwoVklESU9DX1NfQ1RSTCwgJmF1dG9fd2hpdGVfYmFsYW5j ZSkpCi0rICAgIHJldHVybjsKLSsKLSsgIHN0ZDo6dmVjdG9yPHN0cnVjdCB2NGwyX2V4dF9jb250 cm9sPiBzcGVjaWFsX2NhbWVyYV9jb250cm9sczsKLSsgIC8vIFNldCBWNEwyX0NJRF9FWFBPU1VS RV9BVVRPIHRvIFY0TDJfRVhQT1NVUkVfTUFOVUFMLgotKyAgdjRsMl9leHRfY29udHJvbCBhdXRv X2V4cG9zdXJlID0ge307Ci0rICBhdXRvX2V4cG9zdXJlLmlkID0gVjRMMl9DSURfRVhQT1NVUkVf QVVUTzsKLSsgIGF1dG9fZXhwb3N1cmUudmFsdWUgPSBWNEwyX0VYUE9TVVJFX01BTlVBTDsKLSsg IHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLnB1c2hfYmFjayhhdXRvX2V4cG9zdXJlKTsKLSsgIC8v IFNldCBWNEwyX0NJRF9FWFBPU1VSRV9BVVRPX1BSSU9SSVRZIHRvIGZhbHNlLgotKyAgdjRsMl9l eHRfY29udHJvbCBwcmlvcml0eV9hdXRvX2V4cG9zdXJlID0ge307Ci0rICBwcmlvcml0eV9hdXRv X2V4cG9zdXJlLmlkID0gVjRMMl9DSURfRVhQT1NVUkVfQVVUT19QUklPUklUWTsKLSsgIHByaW9y aXR5X2F1dG9fZXhwb3N1cmUudmFsdWUgPSBmYWxzZTsKLSsgIHNwZWNpYWxfY2FtZXJhX2NvbnRy b2xzLnB1c2hfYmFjayhwcmlvcml0eV9hdXRvX2V4cG9zdXJlKTsKLSsgIC8vIFNldCBWNEwyX0NJ RF9GT0NVU19BVVRPIHRvIGZhbHNlLgotKyAgdjRsMl9leHRfY29udHJvbCBhdXRvX2ZvY3VzID0g e307Ci0rICBhdXRvX2ZvY3VzLmlkID0gVjRMMl9DSURfRk9DVVNfQVVUTzsKLSsgIGF1dG9fZm9j dXMudmFsdWUgPSBmYWxzZTsKLSsgIHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLnB1c2hfYmFjayhh dXRvX2ZvY3VzKTsKLSsKLSAgIHN0cnVjdCB2NGwyX2V4dF9jb250cm9scyBleHRfY29udHJvbHMg PSB7fTsKLS0gIGV4dF9jb250cm9scy53aGljaCA9IFY0TDJfQ1RSTF9XSElDSF9DVVJfVkFMOwot LSAgZXh0X2NvbnRyb2xzLmNvdW50ID0gMDsKLS0gIGNvbnN0IGJvb2wgdXNlX21vZGVybl9zX2V4 dF9jdHJscyA9Ci0tICAgICAgRG9Jb2N0bChWSURJT0NfU19FWFRfQ1RSTFMsICZleHRfY29udHJv bHMpID09IDA7Ci0rICBleHRfY29udHJvbHMuY3RybF9jbGFzcyA9IFY0TDJfQ0lEX0NBTUVSQV9D TEFTUzsKLSsgIGV4dF9jb250cm9scy5jb3VudCA9IHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLnNp emUoKTsKLSsgIGV4dF9jb250cm9scy5jb250cm9scyA9IHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xz LmRhdGEoKTsKLSsgIGlmIChEb0lvY3RsKFZJRElPQ19TX0VYVF9DVFJMUywgJmV4dF9jb250cm9s cykgPCAwKQotKyAgICBEUExPRyhJTkZPKSA8PCAiVklESU9DX1NfRVhUX0NUUkxTIjsKLSAKLSAg IGZvciAoY29uc3QgYXV0byYgY29udHJvbCA6IGtDb250cm9scykgewotICAgICBzdGQ6OnZlY3Rv cjxzdHJ1Y3QgdjRsMl9leHRfY29udHJvbD4gY2FtZXJhX2NvbnRyb2xzOwotLSAgICBzdGQ6OnZl Y3RvcjxzdHJ1Y3QgdjRsMl9leHRfY29udHJvbD4gbWFudWFsX3NwZWNpYWxfY2FtZXJhX2NvbnRy b2xzOwotLSAgICBzdGQ6OnZlY3RvcjxzdHJ1Y3QgdjRsMl9leHRfY29udHJvbD4gc3BlY2lhbF9j YW1lcmFfY29udHJvbHM7Ci0gCi0gICAgIHY0bDJfcXVlcnljdHJsIHJhbmdlID0ge307Ci0tICAg IC8vIFN0YXJ0IHJpZ2h0IGJlbG93IHRoZSBiYXNlIHNvIHRoYXQgdGhlIGZpcnN0IG5leHQgcmV0 cmlldmVkIGNvbnRyb2wgSUQKLS0gICAgLy8gaXMgYWx3YXlzIHRoZSBmaXJzdCBhdmFpbGFibGUg Y29udHJvbCBJRCB3aXRoaW4gdGhlIGNsYXNzIGV2ZW4gaWYgdGhhdAotLSAgICAvLyBjb250cm9s IElEIGlzIGVxdWFsIHRvIHRoZSBiYXNlIChWNEwyX0NJRF9CUklHSFRORVNTIGVxdWFscyB0bwot LSAgICAvLyBWNEwyX0NJRF9VU0VSX0JBU0UpLgotLSAgICByYW5nZS5pZCA9IChjb250cm9sLmNv bnRyb2xfYmFzZSAtIDEpIHwgVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMOwotKyAgICByYW5nZS5p ZCA9IGNvbnRyb2wuY29udHJvbF9iYXNlIHwgVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMOwotICAg ICB3aGlsZSAoMCA9PSBEb0lvY3RsKFZJRElPQ19RVUVSWUNUUkwsICZyYW5nZSkpIHsKLSAgICAg ICBpZiAoVjRMMl9DVFJMX0lEMkNMQVNTKHJhbmdlLmlkKSAhPSBWNEwyX0NUUkxfSUQyQ0xBU1Mo Y29udHJvbC5jbGFzc19pZCkpCi0gICAgICAgICBicmVhazsKLS0KLS0gICAgICB2NGwyX2V4dF9j b250cm9sIGV4dF9jb250cm9sID0ge307Ci0tICAgICAgZXh0X2NvbnRyb2wuaWQgPSByYW5nZS5p ZDsKLS0gICAgICBleHRfY29udHJvbC52YWx1ZSA9IHJhbmdlLmRlZmF1bHRfdmFsdWU7Ci0tCi0t ICAgICAgLy8gUHJlcGFyZSB0byBxdWVyeSBmb3IgdGhlIG5leHQgY29udHJvbCBhcyBgcmFuZ2Vg IGlzIGFuIGluLW91dAotLSAgICAgIC8vIHBhcmFtZXRlci4KLSAgICAgICByYW5nZS5pZCB8PSBW NEwyX0NUUkxfRkxBR19ORVhUX0NUUkw7Ci0gCi0tICAgICAgaWYgKHJhbmdlLmZsYWdzICYgKFY0 TDJfQ1RSTF9GTEFHX0RJU0FCTEVEIHwgVjRMMl9DVFJMX0ZMQUdfUkVBRF9PTkxZKSkgewotLSAg ICAgICAgLy8gUGVybWFuZW50bHkgZGlzYWJsZWQgb3IgcGVybWFuZW50bHkgcmVhZC1vbmx5Lgot KyAgICAgIGlmIChJc1NwZWNpYWxDb250cm9sKHJhbmdlLmlkICYgflY0TDJfQ1RSTF9GTEFHX05F WFRfQ1RSTCkpCi0gICAgICAgICBjb250aW51ZTsKLS0gICAgICB9Ci0tICAgICAgaWYgKElzQmxv Y2tlZENvbnRyb2woZXh0X2NvbnRyb2wuaWQpKSB7Ci0rICAgICAgaWYgKElzQmxvY2tlZENvbnRy b2wocmFuZ2UuaWQgJiB+VjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMKSkKLSAgICAgICAgIGNvbnRp bnVlOwotLSAgICAgIH0KLSAKLS0gICAgICBpZiAoSXNTcGVjaWFsQ29udHJvbChleHRfY29udHJv bC5pZCkpIHsKLS0gICAgICAgIHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLnB1c2hfYmFjayhleHRf Y29udHJvbCk7Ci0tICAgICAgICBpZiAoZXh0X2NvbnRyb2wuaWQgPT0gVjRMMl9DSURfRVhQT1NV UkVfQVVUTykgewotLSAgICAgICAgICBleHRfY29udHJvbC52YWx1ZSA9IFY0TDJfRVhQT1NVUkVf TUFOVUFMOwotLSAgICAgICAgfSBlbHNlIHsKLS0gICAgICAgICAgZXh0X2NvbnRyb2wudmFsdWUg PSBmYWxzZTsgIC8vIE5vdCBhdXRvbWF0aWMgYnV0IG1hbnVhbC4KLS0gICAgICAgIH0KLS0gICAg ICAgIG1hbnVhbF9zcGVjaWFsX2NhbWVyYV9jb250cm9scy5wdXNoX2JhY2soZXh0X2NvbnRyb2wp OwotLSAgICAgIH0gZWxzZSB7Ci0tICAgICAgICBjYW1lcmFfY29udHJvbHMucHVzaF9iYWNrKGV4 dF9jb250cm9sKTsKLS0gICAgICB9Ci0rICAgICAgc3RydWN0IHY0bDJfZXh0X2NvbnRyb2wgZXh0 X2NvbnRyb2wgPSB7fTsKLSsgICAgICBleHRfY29udHJvbC5pZCA9IHJhbmdlLmlkICYgflY0TDJf Q1RSTF9GTEFHX05FWFRfQ1RSTDsKLSsgICAgICBleHRfY29udHJvbC52YWx1ZSA9IHJhbmdlLmRl ZmF1bHRfdmFsdWU7Ci0rICAgICAgY2FtZXJhX2NvbnRyb2xzLnB1c2hfYmFjayhleHRfY29udHJv bCk7Ci0gICAgIH0KLSAKLSAgICAgaWYgKCFjYW1lcmFfY29udHJvbHMuZW1wdHkoKSkgewotLSAg ICAgIC8vIFNldCBzcGVjaWFsIGNvbnRyb2xzIHRvIG1hbnVhbCBtb2RlcyBmaXJzdC4KLS0gICAg ICBpZiAoIW1hbnVhbF9zcGVjaWFsX2NhbWVyYV9jb250cm9scy5lbXB0eSgpKSB7Ci0tICAgICAg ICBleHRfY29udHJvbHMud2hpY2ggPQotLSAgICAgICAgICAgIHVzZV9tb2Rlcm5fc19leHRfY3Ry bHMgPyBWNEwyX0NUUkxfV0hJQ0hfQ1VSX1ZBTCA6IGNvbnRyb2wuY2xhc3NfaWQ7Ci0tICAgICAg ICBleHRfY29udHJvbHMuY291bnQgPSBtYW51YWxfc3BlY2lhbF9jYW1lcmFfY29udHJvbHMuc2l6 ZSgpOwotLSAgICAgICAgZXh0X2NvbnRyb2xzLmNvbnRyb2xzID0gbWFudWFsX3NwZWNpYWxfY2Ft ZXJhX2NvbnRyb2xzLmRhdGEoKTsKLS0gICAgICAgIGlmIChEb0lvY3RsKFZJRElPQ19TX0VYVF9D VFJMUywgJmV4dF9jb250cm9scykgPCAwKSB7Ci0tICAgICAgICAgIERQTE9HKElORk8pIDw8ICJW SURJT0NfU19FWFRfQ1RSTFMiOwotLSAgICAgICAgfQotLSAgICAgIH0KLS0KLS0gICAgICAvLyBT ZXQgbm9uLXNwZWNpYWwgY29udHJvbHMgdG8gdGhlIGRlZmF1bHQgdmFsdWVzLgotLSAgICAgIGV4 dF9jb250cm9scy53aGljaCA9Ci0tICAgICAgICAgIHVzZV9tb2Rlcm5fc19leHRfY3RybHMgPyBW NEwyX0NUUkxfV0hJQ0hfQ1VSX1ZBTCA6IGNvbnRyb2wuY2xhc3NfaWQ7Ci0tICAgICAgZXh0X2Nv bnRyb2xzLmNvdW50ID0gY2FtZXJhX2NvbnRyb2xzLnNpemUoKTsKLS0gICAgICBleHRfY29udHJv bHMuY29udHJvbHMgPSBjYW1lcmFfY29udHJvbHMuZGF0YSgpOwotLSAgICAgIGlmIChEb0lvY3Rs KFZJRElPQ19TX0VYVF9DVFJMUywgJmV4dF9jb250cm9scykgPCAwKSB7Ci0tICAgICAgICBEUExP RyhJTkZPKSA8PCAiVklESU9DX1NfRVhUX0NUUkxTIjsKLS0gICAgICB9Ci0tICAgIH0KLS0KLS0g ICAgLy8gU2V0IHNwZWNpYWwgY29udHJvbHMgdG8gdGhlIGRlZmF1bHQgdmFsdWVzLgotLSAgICBp ZiAoIXNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLmVtcHR5KCkpIHsKLS0gICAgICBleHRfY29udHJv bHMud2hpY2ggPQotLSAgICAgICAgICB1c2VfbW9kZXJuX3NfZXh0X2N0cmxzID8gVjRMMl9DVFJM X1dISUNIX0NVUl9WQUwgOiBjb250cm9sLmNsYXNzX2lkOwotLSAgICAgIGV4dF9jb250cm9scy5j b3VudCA9IHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLnNpemUoKTsKLS0gICAgICBleHRfY29udHJv bHMuY29udHJvbHMgPSBzcGVjaWFsX2NhbWVyYV9jb250cm9scy5kYXRhKCk7Ci0tICAgICAgaWYg KERvSW9jdGwoVklESU9DX1NfRVhUX0NUUkxTLCAmZXh0X2NvbnRyb2xzKSA8IDApIHsKLSsgICAg ICBzdHJ1Y3QgdjRsMl9leHRfY29udHJvbHMgZXh0X2NvbnRyb2xzMiA9IHt9OwotKyAgICAgIGV4 dF9jb250cm9sczIuY3RybF9jbGFzcyA9IGNvbnRyb2wuY2xhc3NfaWQ7Ci0rICAgICAgZXh0X2Nv bnRyb2xzMi5jb3VudCA9IGNhbWVyYV9jb250cm9scy5zaXplKCk7Ci0rICAgICAgZXh0X2NvbnRy b2xzMi5jb250cm9scyA9IGNhbWVyYV9jb250cm9scy5kYXRhKCk7Ci0rICAgICAgaWYgKERvSW9j dGwoVklESU9DX1NfRVhUX0NUUkxTLCAmZXh0X2NvbnRyb2xzMikgPCAwKQotICAgICAgICAgRFBM T0coSU5GTykgPDwgIlZJRElPQ19TX0VYVF9DVFJMUyI7Ci0tICAgICAgfQotICAgICB9Ci0gICB9 Ci0rCi0rICAvLyBOb3cgc2V0IHRoZSBzcGVjaWFsIGZsYWdzIHRvIHRoZSBkZWZhdWx0IHZhbHVl cwotKyAgdjRsMl9xdWVyeWN0cmwgcmFuZ2UgPSB7fTsKLSsgIHJhbmdlLmlkID0gVjRMMl9DSURf QVVUT19XSElURV9CQUxBTkNFOwotKyAgRG9Jb2N0bChWSURJT0NfUVVFUllDVFJMLCAmcmFuZ2Up OwotKyAgYXV0b193aGl0ZV9iYWxhbmNlLnZhbHVlID0gcmFuZ2UuZGVmYXVsdF92YWx1ZTsKLSsg IERvSW9jdGwoVklESU9DX1NfQ1RSTCwgJmF1dG9fd2hpdGVfYmFsYW5jZSk7Ci0rCi0rICBzcGVj aWFsX2NhbWVyYV9jb250cm9scy5jbGVhcigpOwotKyAgbWVtc2V0KCZyYW5nZSwgMCwgc2l6ZW9m KHJhbmdlKSk7Ci0rICByYW5nZS5pZCA9IFY0TDJfQ0lEX0VYUE9TVVJFX0FVVE87Ci0rICBEb0lv Y3RsKFZJRElPQ19RVUVSWUNUUkwsICZyYW5nZSk7Ci0rICBhdXRvX2V4cG9zdXJlLnZhbHVlID0g cmFuZ2UuZGVmYXVsdF92YWx1ZTsKLSsgIHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLnB1c2hfYmFj ayhhdXRvX2V4cG9zdXJlKTsKLSsKLSsgIG1lbXNldCgmcmFuZ2UsIDAsIHNpemVvZihyYW5nZSkp OwotKyAgcmFuZ2UuaWQgPSBWNEwyX0NJRF9FWFBPU1VSRV9BVVRPX1BSSU9SSVRZOwotKyAgRG9J b2N0bChWSURJT0NfUVVFUllDVFJMLCAmcmFuZ2UpOwotKyAgcHJpb3JpdHlfYXV0b19leHBvc3Vy ZS52YWx1ZSA9IHJhbmdlLmRlZmF1bHRfdmFsdWU7Ci0rICBzcGVjaWFsX2NhbWVyYV9jb250cm9s cy5wdXNoX2JhY2socHJpb3JpdHlfYXV0b19leHBvc3VyZSk7Ci0rCi0rICBtZW1zZXQoJnJhbmdl LCAwLCBzaXplb2YocmFuZ2UpKTsKLSsgIHJhbmdlLmlkID0gVjRMMl9DSURfRk9DVVNfQVVUTzsK LSsgIERvSW9jdGwoVklESU9DX1FVRVJZQ1RSTCwgJnJhbmdlKTsKLSsgIGF1dG9fZm9jdXMudmFs dWUgPSByYW5nZS5kZWZhdWx0X3ZhbHVlOwotKyAgc3BlY2lhbF9jYW1lcmFfY29udHJvbHMucHVz aF9iYWNrKGF1dG9fZm9jdXMpOwotKwotKyAgbWVtc2V0KCZleHRfY29udHJvbHMsIDAsIHNpemVv ZihleHRfY29udHJvbHMpKTsKLSsgIGV4dF9jb250cm9scy5jdHJsX2NsYXNzID0gVjRMMl9DSURf Q0FNRVJBX0NMQVNTOwotKyAgZXh0X2NvbnRyb2xzLmNvdW50ID0gc3BlY2lhbF9jYW1lcmFfY29u dHJvbHMuc2l6ZSgpOwotKyAgZXh0X2NvbnRyb2xzLmNvbnRyb2xzID0gc3BlY2lhbF9jYW1lcmFf Y29udHJvbHMuZGF0YSgpOwotKyAgaWYgKERvSW9jdGwoVklESU9DX1NfRVhUX0NUUkxTLCAmZXh0 X2NvbnRyb2xzKSA8IDApCi0rICAgIERQTE9HKElORk8pIDw8ICJWSURJT0NfU19FWFRfQ1RSTFMi OwotIH0KLSAKLSBib29sIFY0TDJDYXB0dXJlRGVsZWdhdGU6Ok1hcEFuZFF1ZXVlQnVmZmVyKGlu dCBpbmRleCkgewotZGlmZiAtLWdpdCBhL21lZGlhL2NhcHR1cmUvdmlkZW8vbGludXgvdjRsMl9j YXB0dXJlX2RlbGVnYXRlLmggYi9tZWRpYS9jYXB0dXJlL3ZpZGVvL2xpbnV4L3Y0bDJfY2FwdHVy ZV9kZWxlZ2F0ZS5oCi1pbmRleCA1ZWFhMGNkMDA0YjgxLi5jOWJlM2QwMmY5MzQ0IDEwMDY0NAot LS0tIGEvbWVkaWEvY2FwdHVyZS92aWRlby9saW51eC92NGwyX2NhcHR1cmVfZGVsZWdhdGUuaAot KysrIGIvbWVkaWEvY2FwdHVyZS92aWRlby9saW51eC92NGwyX2NhcHR1cmVfZGVsZWdhdGUuaAot QEAgLTc4LDkgKzc4LDYgQEAgY2xhc3MgQ0FQVFVSRV9FWFBPUlQgVjRMMkNhcHR1cmVEZWxlZ2F0 ZSBmaW5hbCB7Ci0gCi0gICBiYXNlOjpXZWFrUHRyPFY0TDJDYXB0dXJlRGVsZWdhdGU+IEdldFdl YWtQdHIoKTsKLSAKLS0gIHN0YXRpYyBib29sIElzQmxvY2tlZENvbnRyb2woaW50IGNvbnRyb2xf aWQpOwotLSAgc3RhdGljIGJvb2wgSXNTcGVjaWFsQ29udHJvbChpbnQgY29udHJvbF9pZCk7Ci0t Ci0gIHByaXZhdGU6Ci0gICBmcmllbmQgY2xhc3MgVjRMMkNhcHR1cmVEZWxlZ2F0ZVRlc3Q7Ci0g Ci1kaWZmIC0tZ2l0IGEvbWVkaWEvY2FwdHVyZS92aWRlby9saW51eC92NGwyX2NhcHR1cmVfZGVs ZWdhdGVfdW5pdHRlc3QuY2MgYi9tZWRpYS9jYXB0dXJlL3ZpZGVvL2xpbnV4L3Y0bDJfY2FwdHVy ZV9kZWxlZ2F0ZV91bml0dGVzdC5jYwotaW5kZXggMDYwNDZjYTQ1ZDYzNC4uNGU2ZTM4YmJkNWM3 MiAxMDA2NDQKLS0tLSBhL21lZGlhL2NhcHR1cmUvdmlkZW8vbGludXgvdjRsMl9jYXB0dXJlX2Rl bGVnYXRlX3VuaXR0ZXN0LmNjCi0rKysgYi9tZWRpYS9jYXB0dXJlL3ZpZGVvL2xpbnV4L3Y0bDJf Y2FwdHVyZV9kZWxlZ2F0ZV91bml0dGVzdC5jYwotQEAgLTM1LDExMCArMzUsMTE5IEBAIHN0YXRp YyBzdHJ1Y3QgewotIH0gY29uc3Qga0NvbnRyb2xzW10gPSB7e1Y0TDJfQ0lEX1VTRVJfQkFTRSwg VjRMMl9DSURfVVNFUl9DTEFTU30sCi0gICAgICAgICAgICAgICAgICAgICAgICB7VjRMMl9DSURf Q0FNRVJBX0NMQVNTX0JBU0UsIFY0TDJfQ0lEX0NBTUVSQV9DTEFTU319OwotIAotKy8vIERldGVy bWluZXMgaWYgfGNvbnRyb2xfaWR8IGlzIHNwZWNpYWwsIGkuZS4gY29udHJvbHMgYW5vdGhlciBv bmUncyBzdGF0ZSwgb3IKLSsvLyBpZiBpdCBzaG91bGQgYmUgZGVuaWVkIChzZWUgaHR0cHM6Ly9j cmJ1Zy5jb20vNjk3ODg1KS4KLSsjaWYgIWRlZmluZWQoVjRMMl9DSURfUEFOX1NQRUVEKQotKyNk ZWZpbmUgVjRMMl9DSURfUEFOX1NQRUVEIChWNEwyX0NJRF9DQU1FUkFfQ0xBU1NfQkFTRSArIDMy KQotKyNlbmRpZgotKyNpZiAhZGVmaW5lZChWNEwyX0NJRF9USUxUX1NQRUVEKQotKyNkZWZpbmUg VjRMMl9DSURfVElMVF9TUEVFRCAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAzMykKLSsj ZW5kaWYKLSsjaWYgIWRlZmluZWQoVjRMMl9DSURfUEFOVElMVF9DTUQpCi0rI2RlZmluZSBWNEwy X0NJRF9QQU5USUxUX0NNRCAoVjRMMl9DSURfQ0FNRVJBX0NMQVNTX0JBU0UgKyAzNCkKLSsjZW5k aWYKLStzdGF0aWMgYm9vbCBJc1NwZWNpYWxPckJsb2NrZWRDb250cm9sKGludCBjb250cm9sX2lk KSB7Ci0rICBzd2l0Y2ggKGNvbnRyb2xfaWQpIHsKLSsgICAgY2FzZSBWNEwyX0NJRF9BVVRPX1dI SVRFX0JBTEFOQ0U6Ci0rICAgIGNhc2UgVjRMMl9DSURfRVhQT1NVUkVfQVVUTzoKLSsgICAgY2Fz ZSBWNEwyX0NJRF9FWFBPU1VSRV9BVVRPX1BSSU9SSVRZOgotKyAgICBjYXNlIFY0TDJfQ0lEX0ZP Q1VTX0FVVE86Ci0rICAgIGNhc2UgVjRMMl9DSURfUEFOX1JFTEFUSVZFOgotKyAgICBjYXNlIFY0 TDJfQ0lEX1RJTFRfUkVMQVRJVkU6Ci0rICAgIGNhc2UgVjRMMl9DSURfUEFOX1JFU0VUOgotKyAg ICBjYXNlIFY0TDJfQ0lEX1RJTFRfUkVTRVQ6Ci0rICAgIGNhc2UgVjRMMl9DSURfUEFOX0FCU09M VVRFOgotKyAgICBjYXNlIFY0TDJfQ0lEX1RJTFRfQUJTT0xVVEU6Ci0rICAgIGNhc2UgVjRMMl9D SURfWk9PTV9BQlNPTFVURToKLSsgICAgY2FzZSBWNEwyX0NJRF9aT09NX1JFTEFUSVZFOgotKyAg ICBjYXNlIFY0TDJfQ0lEX1pPT01fQ09OVElOVU9VUzoKLSsgICAgY2FzZSBWNEwyX0NJRF9QQU5f U1BFRUQ6Ci0rICAgIGNhc2UgVjRMMl9DSURfVElMVF9TUEVFRDoKLSsgICAgY2FzZSBWNEwyX0NJ RF9QQU5USUxUX0NNRDoKLSsgICAgICByZXR1cm4gdHJ1ZTsKLSsgIH0KLSsgIHJldHVybiBmYWxz ZTsKLSt9Ci0rCi0gc3RhdGljIHZvaWQgU2V0Q29udHJvbHNUb01heFZhbHVlcyhpbnQgZGV2aWNl X2ZkKSB7Ci0tICB2NGwyX2V4dF9jb250cm9scyBleHRfY29udHJvbHM7Ci0tICBtZW1zZXQoJmV4 dF9jb250cm9scywgMCwgc2l6ZW9mKGV4dF9jb250cm9scykpOwotLSAgZXh0X2NvbnRyb2xzLndo aWNoID0gVjRMMl9DVFJMX1dISUNIX0NVUl9WQUw7Ci0tICBleHRfY29udHJvbHMuY291bnQgPSAw OwotLSAgY29uc3QgYm9vbCB1c2VfbW9kZXJuX3NfZXh0X2N0cmxzID0KLS0gICAgICBIQU5ETEVf RUlOVFIoaW9jdGwoZGV2aWNlX2ZkLCBWSURJT0NfU19FWFRfQ1RSTFMsICZleHRfY29udHJvbHMp KSA9PSAwOwotKyAgLy8gU2V0IFY0TDJfQ0lEX0FVVE9fV0hJVEVfQkFMQU5DRSB0byBmYWxzZSBm aXJzdC4KLSsgIHY0bDJfY29udHJvbCBhdXRvX3doaXRlX2JhbGFuY2UgPSB7fTsKLSsgIGF1dG9f d2hpdGVfYmFsYW5jZS5pZCA9IFY0TDJfQ0lEX0FVVE9fV0hJVEVfQkFMQU5DRTsKLSsgIGF1dG9f d2hpdGVfYmFsYW5jZS52YWx1ZSA9IGZhbHNlOwotKyAgaWYgKEhBTkRMRV9FSU5UUihpb2N0bChk ZXZpY2VfZmQsIFZJRElPQ19TX0NUUkwsICZhdXRvX3doaXRlX2JhbGFuY2UpKSA8IDApCi0rICAg IERQTE9HKEVSUk9SKSA8PCAiVklESU9DX1NfQ1RSTCI7Ci0rCi0rICBzdGQ6OnZlY3RvcjxzdHJ1 Y3QgdjRsMl9leHRfY29udHJvbD4gc3BlY2lhbF9jYW1lcmFfY29udHJvbHM7Ci0rICAvLyBTZXQg VjRMMl9DSURfRVhQT1NVUkVfQVVUTyB0byBWNEwyX0VYUE9TVVJFX01BTlVBTC4KLSsgIHY0bDJf ZXh0X2NvbnRyb2wgYXV0b19leHBvc3VyZSA9IHt9OwotKyAgYXV0b19leHBvc3VyZS5pZCA9IFY0 TDJfQ0lEX0VYUE9TVVJFX0FVVE87Ci0rICBhdXRvX2V4cG9zdXJlLnZhbHVlID0gVjRMMl9FWFBP U1VSRV9NQU5VQUw7Ci0rICBzcGVjaWFsX2NhbWVyYV9jb250cm9scy5wdXNoX2JhY2soYXV0b19l eHBvc3VyZSk7Ci0rICAvLyBTZXQgVjRMMl9DSURfRVhQT1NVUkVfQVVUT19QUklPUklUWSB0byBm YWxzZS4KLSsgIHY0bDJfZXh0X2NvbnRyb2wgcHJpb3JpdHlfYXV0b19leHBvc3VyZSA9IHt9Owot KyAgcHJpb3JpdHlfYXV0b19leHBvc3VyZS5pZCA9IFY0TDJfQ0lEX0VYUE9TVVJFX0FVVE9fUFJJ T1JJVFk7Ci0rICBwcmlvcml0eV9hdXRvX2V4cG9zdXJlLnZhbHVlID0gZmFsc2U7Ci0rICBzcGVj aWFsX2NhbWVyYV9jb250cm9scy5wdXNoX2JhY2socHJpb3JpdHlfYXV0b19leHBvc3VyZSk7Ci0r ICAvLyBTZXQgVjRMMl9DSURfRk9DVVNfQVVUTyB0byBmYWxzZS4KLSsgIHY0bDJfZXh0X2NvbnRy b2wgYXV0b19mb2N1cyA9IHt9OwotKyAgYXV0b19mb2N1cy5pZCA9IFY0TDJfQ0lEX0ZPQ1VTX0FV VE87Ci0rICBhdXRvX2ZvY3VzLnZhbHVlID0gZmFsc2U7Ci0rICBzcGVjaWFsX2NhbWVyYV9jb250 cm9scy5wdXNoX2JhY2soYXV0b19mb2N1cyk7Ci0rCi0rICBzdHJ1Y3QgdjRsMl9leHRfY29udHJv bHMgY2FtZXJhX2V4dF9jb250cm9scyA9IHt9OwotKyAgY2FtZXJhX2V4dF9jb250cm9scy5jdHJs X2NsYXNzID0gVjRMMl9DSURfQ0FNRVJBX0NMQVNTOwotKyAgY2FtZXJhX2V4dF9jb250cm9scy5j b3VudCA9IHNwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLnNpemUoKTsKLSsgIGNhbWVyYV9leHRfY29u dHJvbHMuY29udHJvbHMgPSBzcGVjaWFsX2NhbWVyYV9jb250cm9scy5kYXRhKCk7Ci0rICBpZiAo SEFORExFX0VJTlRSKGlvY3RsKGRldmljZV9mZCwgVklESU9DX1NfRVhUX0NUUkxTLCAmY2FtZXJh X2V4dF9jb250cm9scykpIDwKLSsgICAgICAwKSB7Ci0rICAgIERQTE9HKEVSUk9SKSA8PCAiVklE SU9DX1NfRVhUX0NUUkxTIjsKLSsgIH0KLSAKLSAgIGZvciAoY29uc3QgYXV0byYgY29udHJvbCA6 IGtDb250cm9scykgewotICAgICBzdGQ6OnZlY3RvcjxzdHJ1Y3QgdjRsMl9leHRfY29udHJvbD4g Y2FtZXJhX2NvbnRyb2xzOwotLSAgICBzdGQ6OnZlY3RvcjxzdHJ1Y3QgdjRsMl9leHRfY29udHJv bD4gbWFudWFsX3NwZWNpYWxfY2FtZXJhX2NvbnRyb2xzOwotIAotICAgICB2NGwyX3F1ZXJ5Y3Ry bCByYW5nZSA9IHt9OwotLSAgICAvLyBTdGFydCByaWdodCBiZWxvdyB0aGUgYmFzZSBzbyB0aGF0 IHRoZSBmaXJzdCBuZXh0IHJldHJpZXZlZCBjb250cm9sIElECi0tICAgIC8vIGlzIGFsd2F5cyB0 aGUgZmlyc3QgYXZhaWxhYmxlIGNvbnRyb2wgSUQgd2l0aGluIHRoZSBjbGFzcyBldmVuIGlmIHRo YXQKLS0gICAgLy8gY29udHJvbCBJRCBpcyBlcXVhbCB0byB0aGUgYmFzZSAoVjRMMl9DSURfQlJJ R0hUTkVTUyBlcXVhbHMgdG8KLS0gICAgLy8gVjRMMl9DSURfVVNFUl9CQVNFKS4KLS0gICAgcmFu Z2UuaWQgPSAoY29udHJvbC5jb250cm9sX2Jhc2UgLSAxKSB8IFY0TDJfQ1RSTF9GTEFHX05FWFRf Q1RSTDsKLSsgICAgcmFuZ2UuaWQgPSBjb250cm9sLmNvbnRyb2xfYmFzZSB8IFY0TDJfQ1RSTF9G TEFHX05FWFRfQ1RSTDsKLSAgICAgd2hpbGUgKDAgPT0gSEFORExFX0VJTlRSKGlvY3RsKGRldmlj ZV9mZCwgVklESU9DX1FVRVJZQ1RSTCwgJnJhbmdlKSkpIHsKLSAgICAgICBpZiAoVjRMMl9DVFJM X0lEMkNMQVNTKHJhbmdlLmlkKSAhPSBWNEwyX0NUUkxfSUQyQ0xBU1MoY29udHJvbC5jbGFzc19p ZCkpCi0gICAgICAgICBicmVhazsKLS0KLS0gICAgICB2NGwyX2V4dF9jb250cm9sIGV4dF9jb250 cm9sID0ge307Ci0tICAgICAgZXh0X2NvbnRyb2wuaWQgPSByYW5nZS5pZDsKLS0KLS0gICAgICAv LyBQcmVwYXJlIHRvIHF1ZXJ5IGZvciB0aGUgbmV4dCBjb250cm9sIGFzIGByYW5nZWAgaXMgYW4g aW4tb3V0Ci0tICAgICAgLy8gcGFyYW1ldGVyLgotICAgICAgIHJhbmdlLmlkIHw9IFY0TDJfQ1RS TF9GTEFHX05FWFRfQ1RSTDsKLSAKLS0gICAgICBpZiAocmFuZ2UuZmxhZ3MgJiAoVjRMMl9DVFJM X0ZMQUdfRElTQUJMRUQgfCBWNEwyX0NUUkxfRkxBR19SRUFEX09OTFkpKSB7Ci0tICAgICAgICAv LyBQZXJtYW5lbnRseSBkaXNhYmxlZCBvciBwZXJtYW5lbnRseSByZWFkLW9ubHkuCi0tICAgICAg ICBjb250aW51ZTsKLS0gICAgICB9Ci0tICAgICAgaWYgKFY0TDJDYXB0dXJlRGVsZWdhdGU6Oklz QmxvY2tlZENvbnRyb2woZXh0X2NvbnRyb2wuaWQpKSB7Ci0rICAgICAgaWYgKElzU3BlY2lhbE9y QmxvY2tlZENvbnRyb2wocmFuZ2UuaWQgJiB+VjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMKSkKLSAg ICAgICAgIGNvbnRpbnVlOwotLSAgICAgIH0KLS0KLS0gICAgICBpZiAoVjRMMkNhcHR1cmVEZWxl Z2F0ZTo6SXNTcGVjaWFsQ29udHJvbChleHRfY29udHJvbC5pZCkpIHsKLS0gICAgICAgIGlmIChl eHRfY29udHJvbC5pZCA9PSBWNEwyX0NJRF9FWFBPU1VSRV9BVVRPKSB7Ci0tICAgICAgICAgIGV4 dF9jb250cm9sLnZhbHVlID0gVjRMMl9FWFBPU1VSRV9NQU5VQUw7Ci0tICAgICAgICB9IGVsc2Ug ewotLSAgICAgICAgICBleHRfY29udHJvbC52YWx1ZSA9IGZhbHNlOyAgLy8gTm90IGF1dG9tYXRp YyBidXQgbWFudWFsLgotLSAgICAgICAgfQotLSAgICAgICAgbWFudWFsX3NwZWNpYWxfY2FtZXJh X2NvbnRyb2xzLnB1c2hfYmFjayhleHRfY29udHJvbCk7Ci0tICAgICAgICBEVkxPRygxKSA8PCBf X2Z1bmNfXyA8PCAiICIgPDwgcmFuZ2UubmFtZSA8PCAiIHNldCB0byBtYW51YWwiOwotLSAgICAg IH0gZWxzZSB7Ci0tICAgICAgICBleHRfY29udHJvbC52YWx1ZSA9IHJhbmdlLm1heGltdW07Ci0t ICAgICAgICBjYW1lcmFfY29udHJvbHMucHVzaF9iYWNrKGV4dF9jb250cm9sKTsKLS0gICAgICAg IERWTE9HKDEpIDw8IF9fZnVuY19fIDw8ICIgIiA8PCByYW5nZS5uYW1lIDw8ICIgc2V0IHRvICIK LS0gICAgICAgICAgICAgICAgIDw8IHJhbmdlLm1heGltdW07Ci0tICAgICAgfQotLSAgICB9Ci0r ICAgICAgRFZMT0coMSkgPDwgX19mdW5jX18gPDwgIiAiIDw8IHJhbmdlLm5hbWUgPDwgIiBzZXQg dG8gIiA8PCByYW5nZS5tYXhpbXVtOwotIAotLSAgICAvLyBTZXQgc3BlY2lhbCBjb250cm9scyB0 byBtYW51YWwgbW9kZXMuCi0tICAgIGlmICghbWFudWFsX3NwZWNpYWxfY2FtZXJhX2NvbnRyb2xz LmVtcHR5KCkpIHsKLS0gICAgICBleHRfY29udHJvbHMud2hpY2ggPQotLSAgICAgICAgICB1c2Vf bW9kZXJuX3NfZXh0X2N0cmxzID8gVjRMMl9DVFJMX1dISUNIX0NVUl9WQUwgOiBjb250cm9sLmNs YXNzX2lkOwotLSAgICAgIGV4dF9jb250cm9scy5jb3VudCA9IG1hbnVhbF9zcGVjaWFsX2NhbWVy YV9jb250cm9scy5zaXplKCk7Ci0tICAgICAgZXh0X2NvbnRyb2xzLmNvbnRyb2xzID0gbWFudWFs X3NwZWNpYWxfY2FtZXJhX2NvbnRyb2xzLmRhdGEoKTsKLS0gICAgICBpZiAoSEFORExFX0VJTlRS KGlvY3RsKGRldmljZV9mZCwgVklESU9DX1NfRVhUX0NUUkxTLCAmZXh0X2NvbnRyb2xzKSkgPAot LSAgICAgICAgICAwKSB7Ci0tICAgICAgICBEUExPRyhFUlJPUikgPDwgIlZJRElPQ19TX0VYVF9D VFJMUyI7Ci0tICAgICAgfQotKyAgICAgIHN0cnVjdCB2NGwyX2V4dF9jb250cm9sIGV4dF9jb250 cm9sID0ge307Ci0rICAgICAgZXh0X2NvbnRyb2wuaWQgPSByYW5nZS5pZCAmIH5WNEwyX0NUUkxf RkxBR19ORVhUX0NUUkw7Ci0rICAgICAgZXh0X2NvbnRyb2wudmFsdWUgPSByYW5nZS5tYXhpbXVt OwotKyAgICAgIGNhbWVyYV9jb250cm9scy5wdXNoX2JhY2soZXh0X2NvbnRyb2wpOwotICAgICB9 Ci0gCi0tICAgIC8vIFNldCBub24tc3BlY2lhbCBjb250cm9scyB0byBtYXhpbXVtIHZhbHVlcy4K LSAgICAgaWYgKCFjYW1lcmFfY29udHJvbHMuZW1wdHkoKSkgewotLSAgICAgIGV4dF9jb250cm9s cy53aGljaCA9Ci0tICAgICAgICAgIHVzZV9tb2Rlcm5fc19leHRfY3RybHMgPyBWNEwyX0NUUkxf V0hJQ0hfQ1VSX1ZBTCA6IGNvbnRyb2wuY2xhc3NfaWQ7Ci0rICAgICAgc3RydWN0IHY0bDJfZXh0 X2NvbnRyb2xzIGV4dF9jb250cm9scyA9IHt9OwotKyAgICAgIGV4dF9jb250cm9scy5jdHJsX2Ns YXNzID0gY29udHJvbC5jbGFzc19pZDsKLSAgICAgICBleHRfY29udHJvbHMuY291bnQgPSBjYW1l cmFfY29udHJvbHMuc2l6ZSgpOwotICAgICAgIGV4dF9jb250cm9scy5jb250cm9scyA9IGNhbWVy YV9jb250cm9scy5kYXRhKCk7Ci0gICAgICAgaWYgKEhBTkRMRV9FSU5UUihpb2N0bChkZXZpY2Vf ZmQsIFZJRElPQ19TX0VYVF9DVFJMUywgJmV4dF9jb250cm9scykpIDwgMCkKLSAgICAgICAgIERQ TE9HKEVSUk9SKSA8PCAiVklESU9DX1NfRVhUX0NUUkxTIjsKLSAgICAgfQotIAotLSAgICAvLyBT dGFydCByaWdodCBiZWxvdyB0aGUgYmFzZSBzbyB0aGF0IHRoZSBmaXJzdCBuZXh0IHJldHJpZXZl ZCBjb250cm9sIElECi0tICAgIC8vIGlzIGFsd2F5cyB0aGUgZmlyc3QgYXZhaWxhYmxlIGNvbnRy b2wgSUQgd2l0aGluIHRoZSBjbGFzcyBldmVuIGlmIHRoYXQKLS0gICAgLy8gY29udHJvbCBJRCBp cyBlcXVhbCB0byB0aGUgYmFzZSAoVjRMMl9DSURfQlJJR0hUTkVTUyBlcXVhbHMgdG8KLS0gICAg Ly8gVjRMMl9DSURfVVNFUl9CQVNFKS4KLS0gICAgcmFuZ2UuaWQgPSAoY29udHJvbC5jb250cm9s X2Jhc2UgLSAxKSB8IFY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTDsKLSsgICAgcmFuZ2UuaWQgPSBj b250cm9sLmNvbnRyb2xfYmFzZSB8IFY0TDJfQ1RSTF9GTEFHX05FWFRfQ1RSTDsKLSAgICAgd2hp bGUgKDAgPT0gSEFORExFX0VJTlRSKGlvY3RsKGRldmljZV9mZCwgVklESU9DX1FVRVJZQ1RSTCwg JnJhbmdlKSkpIHsKLSAgICAgICBpZiAoVjRMMl9DVFJMX0lEMkNMQVNTKHJhbmdlLmlkKSAhPSBW NEwyX0NUUkxfSUQyQ0xBU1MoY29udHJvbC5jbGFzc19pZCkpCi0gICAgICAgICBicmVhazsKLS0K LS0gICAgICB2NGwyX2NvbnRyb2wgcmVhZGJhY2sgPSB7fTsKLS0gICAgICByZWFkYmFjay5pZCA9 IHJhbmdlLmlkOwotLQotLSAgICAgIC8vIFByZXBhcmUgdG8gcXVlcnkgZm9yIHRoZSBuZXh0IGNv bnRyb2wgYXMgYHJhbmdlYCBpcyBhbiBpbi1vdXQKLS0gICAgICAvLyBwYXJhbWV0ZXIuCi0gICAg ICAgcmFuZ2UuaWQgfD0gVjRMMl9DVFJMX0ZMQUdfTkVYVF9DVFJMOwotIAotLSAgICAgIGlmIChy YW5nZS5mbGFncyAmIChWNEwyX0NUUkxfRkxBR19ESVNBQkxFRCB8IFY0TDJfQ1RSTF9GTEFHX1JF QURfT05MWSkpIHsKLS0gICAgICAgIC8vIFBlcm1hbmVudGx5IGRpc2FibGVkIG9yIHBlcm1hbmVu dGx5IHJlYWQtb25seS4KLSsgICAgICBpZiAoSXNTcGVjaWFsT3JCbG9ja2VkQ29udHJvbChyYW5n ZS5pZCAmIH5WNEwyX0NUUkxfRkxBR19ORVhUX0NUUkwpKQotICAgICAgICAgY29udGludWU7Ci0t ICAgICAgfQotLSAgICAgIGlmIChWNEwyQ2FwdHVyZURlbGVnYXRlOjpJc0Jsb2NrZWRDb250cm9s KHJlYWRiYWNrLmlkKSB8fAotLSAgICAgICAgICBWNEwyQ2FwdHVyZURlbGVnYXRlOjpJc1NwZWNp YWxDb250cm9sKHJlYWRiYWNrLmlkKSkgewotLSAgICAgICAgY29udGludWU7Ci0tICAgICAgfQot KyAgICAgIERWTE9HKDEpIDw8IF9fZnVuY19fIDw8ICIgIiA8PCByYW5nZS5uYW1lIDw8ICIgc2V0 IHRvICIgPDwgcmFuZ2UubWF4aW11bTsKLSAKLSsgICAgICB2NGwyX2NvbnRyb2wgcmVhZGJhY2sg PSB7fTsKLSsgICAgICByZWFkYmFjay5pZCA9IHJhbmdlLmlkICYgflY0TDJfQ1RSTF9GTEFHX05F WFRfQ1RSTDsKLSAgICAgICBpZiAoSEFORExFX0VJTlRSKGlvY3RsKGRldmljZV9mZCwgVklESU9D X0dfQ1RSTCwgJnJlYWRiYWNrKSkgPCAwKQotICAgICAgICAgRFBMT0coRVJST1IpIDw8IHJhbmdl Lm5hbWUgPDwgIiwgZmFpbGVkIHRvIGJlIHJlYWQuIjsKLS0gICAgICBFWFBFQ1RfRVEocmFuZ2Uu bWF4aW11bSwgcmVhZGJhY2sudmFsdWUpCi0tICAgICAgICAgIDw8ICIgY29udHJvbCAiIDw8IHJh bmdlLm5hbWUgPDwgIiBkaWRuJ3Qgc2V0IGNvcnJlY3RseSI7Ci0rICAgICAgRVhQRUNUX0VRKHJh bmdlLm1heGltdW0sIHJlYWRiYWNrLnZhbHVlKSA8PCAiIGNvbnRyb2wgIiA8PCByYW5nZS5uYW1l Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PCAiIGRp ZG50IHNldCBjb3JyZWN0bHkiOwotICAgICB9Ci0gICB9Ci0gfQotQEAgLTE4Niw3ICsxOTUsMTUg QEAgY2xhc3MgVjRMMkNhcHR1cmVEZWxlZ2F0ZVRlc3QgOiBwdWJsaWMgOjp0ZXN0aW5nOjpUZXN0 IHsKLSAKLSB9ICAvLyBhbm9ueW1vdXMgbmFtZXNwYWNlCi0gCi0tVEVTVF9GKFY0TDJDYXB0dXJl RGVsZWdhdGVUZXN0LCBDcmVhdGVBbmREZXN0cm95QW5kVmVyaWZ5Q29udHJvbHMpIHsKLSsvLyBG YWlscyBvbiBMaW51eCwgc2VlIGNyYnVnLzczMjM1NQotKyNpZiBCVUlMREZMQUcoSVNfTElOVVgp Ci0rI2RlZmluZSBNQVlCRV9DcmVhdGVBbmREZXN0cm95QW5kVmVyaWZ5Q29udHJvbHMgXAotKyAg RElTQUJMRURfQ3JlYXRlQW5kRGVzdHJveUFuZFZlcmlmeUNvbnRyb2xzCi0rI2Vsc2UKLSsjZGVm aW5lIE1BWUJFX0NyZWF0ZUFuZERlc3Ryb3lBbmRWZXJpZnlDb250cm9scyBcCi0rICBDcmVhdGVB bmREZXN0cm95QW5kVmVyaWZ5Q29udHJvbHMKLSsjZW5kaWYKLStURVNUX0YoVjRMMkNhcHR1cmVE ZWxlZ2F0ZVRlc3QsIE1BWUJFX0NyZWF0ZUFuZERlc3Ryb3lBbmRWZXJpZnlDb250cm9scykgewot ICAgLy8gQ2hlY2sgdGhhdCB0aGVyZSBpcyBhdCBsZWFzdCBhIHZpZGVvIGRldmljZSwgb3RoZXJ3 aXNlIGJhaWwuCi0gICBjb25zdCBiYXNlOjpGaWxlUGF0aCBwYXRoKCIvZGV2LyIpOwotICAgYmFz ZTo6RmlsZUVudW1lcmF0b3IgZW51bWVyYXRvcihwYXRoLCBmYWxzZSwgYmFzZTo6RmlsZUVudW1l cmF0b3I6OkZJTEVTLAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLnNwZWMgYi9jaHJvbWl1bS5zcGVj CmluZGV4IDE4NDVhYWUuLmYyYWJiMzEgMTAwNjQ0Ci0tLSBhL2Nocm9taXVtLnNwZWMKKysrIGIv Y2hyb21pdW0uc3BlYwpAQCAtMjQxLDcgKzI0MSw3IEBACiAlZW5kaWYKIAogTmFtZToJY2hyb21p dW0le2Nocm9taXVtX2NoYW5uZWx9Ci1WZXJzaW9uOiAxMTMuMC41NjcyLjkyCitWZXJzaW9uOiAx MTMuMC41NjcyLjEyNgogUmVsZWFzZTogMSV7P2Rpc3R9CiBTdW1tYXJ5OiBBIFdlYktpdCAoQmxp bmspIHBvd2VyZWQgd2ViIGJyb3dzZXIgdGhhdCBHb29nbGUgZG9lc24ndCB3YW50IHlvdSB0byB1 c2UKIFVybDogaHR0cDovL3d3dy5jaHJvbWl1bS5vcmcvSG9tZQpAQCAtMzQxLDggKzM0MSw2IEBA IFBhdGNoMTA2OiBjaHJvbWl1bS05OC4wLjQ3NTguODAtZXBlbDctZXJhc2UtZml4LnBhdGNoCiBQ YXRjaDEwNzogY2hyb21pdW0tOTkuMC40ODQ0LjUxLWVsNy1leHRyYS1vcGVyYXRvcj09LnBhdGNo CiAjIHdvcmthcm91bmQgZm9yIGNsYW5nIGJ1ZyBvbiBlbDcKIFBhdGNoMTA4OiBjaHJvbWl1bS0x MTMtY29uc3RleHByLWVsNy5wYXRjaAotIyBmaXggRlRCRlMgb24gZWw3LCBvbGQga2VybmVsCi1Q YXRjaDEwOTogY2hyb21pdW0tMTEzLXY0bDItcmV2ZXJ0LWVsNy5wYXRjaAogCiAjIHN5c3RlbSBm Zm1wZWcKIFBhdGNoMTE0OiBjaHJvbWl1bS0xMDctZmZtcGVnLWR1cmF0aW9uLnBhdGNoCkBAIC0z NjMsOSArMzYxLDYgQEAgUGF0Y2gxNDY6IGNocm9taXVtLTExMC1MYXJnZXJUaGFuNGsucGF0Y2gK IAogIyBBcHBseSB0aGVzZSBwYXRjaGVzIHRvIHdvcmsgYXJvdW5kIEVQRUw4IGlzc3VlcwogUGF0 Y2gzMDA6IGNocm9taXVtLTExMy1yaGVsOC1mb3JjZS1kaXNhYmxlLXVzZV9nbm9tZV9rZXlyaW5n LnBhdGNoCi0KLSMgd29ya2Fyb3VuZCBmb3IgYnVnIGluIGNsYW5nIDE0IHdpdGggYysrMjAgb24g cmhlbDksIGxpbmtlciBlcnJvcnMgc3RkOjp1MTZzdHJpbmcKLVBhdGNoMzAxOiBjaHJvbWl1bS0x MTItd29ya2Fyb3VuZC1sbHZtMTQtYysrMjAtZXBlbDgucGF0Y2gKICMgd29ya2Fyb3VuZCBmb3Ig Y2xhbmcgYnVnLCBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvaXNzdWVzLzU3 ODI2CiBQYXRjaDMwMjogY2hyb21pdW0tMTEzLXdvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVy ZWRfYmluZGluZy5wYXRjaAogIyBkZWNsYXJlIGl0ZXJhdG9ycyBhcyBzdWJ0eXBlcwpAQCAtOTQ1 LDggKzk0MCw3IEBAIHVkZXYuCiAlcGF0Y2ggLVAxMDUgLXAxIC1iIC5lbDctb2xkLWxpYmRybQog JXBhdGNoIC1QMTA2IC1wMSAtYiAuZWw3LWVyYXNlLWZpeAogJXBhdGNoIC1QMTA3IC1wMSAtYiAu ZWw3LWV4dHJhLW9wZXJhdG9yLWVxdWFsZXF1YWwKLSVwYXRjaCAtUDEwOCAtcDEgLVIgLWIgLmNv bnN0ZXhwci1lbDcKLSVwYXRjaCAtUDEwOSAtcDEgLWIgLnY0bDItcmV2ZXJ0LWVsNworJXBhdGNo IC1QMTA4IC1wMSAtYiAuY29uc3RleHByLWVsNwogJWVuZGlmCiAKICVwYXRjaCAtUDEzMCAtcDEg LWIgLlZpcnR1YWxDdXJzb3Itc3RkLWxheW91dApAQCAtOTYwLDkgKzk1NCw2IEBAIHVkZXYuCiAl ZW5kaWYKIAogJWlmICV7Y2xhbmd9Ci0laWYgMCV7P3JoZWx9ID09IDgKLSVwYXRjaCAtUDMwMSAt cDEgLWIgLmNsYW5nMTRfYysrMjAKLSVlbmRpZgogJWlmIDAlez9yaGVsfSB8fCAwJXs/ZmVkb3Jh fSA8IDM4CiAlcGF0Y2ggLVAzMDIgLXAxIC1iIC53b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1 cmVkX2JpbmRpbmcKICVlbmRpZgpAQCAtMTY0NCw2ICsxNjM1LDEwIEBAIGdldGVudCBncm91cCBj aHJvbWUtcmVtb3RlLWRlc2t0b3AgPi9kZXYvbnVsbCB8fCBncm91cGFkZCAtciBjaHJvbWUtcmVt b3RlLWRlc2t0CiAle2Nocm9taXVtX3BhdGh9L2Nocm9tZWRyaXZlcgogCiAlY2hhbmdlbG9nCisq IFdlZCBNYXkgMTcgMjAyMyBUaGFuIE5nbyA8dGhhbkByZWRoYXQuY29tPiAtIDExMy4wLjU2NzIu MTI2LTEKKy0gZHJvcCBjbGFuZyB3b3JrYXJvdW5kIGZvciBlbDgKKy0gdXBkYXRlIHRvIDExMy4w LjU2NzIuMTI2CisKICogVHVlIE1heSAwOSAyMDIzIFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+ IC0gMTEzLjAuNTY3Mi45Mi0xCiAtIHVwZGF0ZSB0byAxMTMuMC41NjcyLjkyCiAKCmRpZmYgLS1n aXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCBkMzM1ZjlmLi5jOGQ2ODQ5IDEwMDY0NAotLS0g YS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEsMyArMSwzIEBACiBTSEE1MTIgKG5vZGUtdjE5 LjguMS1saW51eC1hcm02NC50YXIueHopID0gODZmZjE5MDg1NjY5ZTkyY2U3YWZlMmZkN2Q0ZGYw YzU0NDFkZjJkODhjMDBmMjlkNTQ2M2I4MDVmM2NmNTYyNTYyNmRiOGFlYmY5ODM0OWM5YTQ5NWI3 NzJkYTFjZTZkNjgyNjM3MzAwMTgyMDdlYTk4ODE1MDU4YTFjODEzOTcKIFNIQTUxMiAobm9kZS12 MTkuOC4xLWxpbnV4LXg2NC50YXIueHopID0gOTI1YzAwMzdjNmI3MDc0ZDBiMDI0NWJjZWQyMGQw YTBkOWIxMzAwZjUzYjgwODEwNmYxNmI1MDE4ZDc2M2Y1ZjViMDBiYzMyMWIzM2ZhMTAzM2Q3MzZi MWUxMDc2NjA4ZGE5YjdmY2FlNjZhZWQ1M2QyN2IxMDBiMTE4NmUyYzYKLVNIQTUxMiAoY2hyb21p dW0tMTEzLjAuNTY3Mi45Mi1jbGVhbi50YXIueHopID0gZDFhNDgwN2JhMmYzNjUyNzdkYWExMTFh NzViY2IwODgwNTg2MTFkY2ViZThjZGQxZWI0NjRhNDkwNDhiNDFmM2U1MWZkOTNmMTU4NmQyMzky Y2E3MzFiOWY1NmEwNmE2YTJlZTU4MTk4NTY2YWM4MGUzMGUxYTU3ZTg4MWRiYWYKK1NIQTUxMiAo Y2hyb21pdW0tMTEzLjAuNTY3Mi4xMjYtY2xlYW4udGFyLnh6KSA9IDFjN2M0OGYyZWE3OGYwOWY1 MzNkZDQyZWVlMjI4NzZiMDcxNjUxN2M4ZDZiZWI3NmIyYzhhZTFjNjE2YmZjMDUwZTE3OWM4YmRh NGZlMWY5ZTZhYjdmYTlkYzI5MDc3YjBjZGYxNDlhNmUyN2QxMGUyZmFjMzVkNmVmOGU2Yzk5Cg==