From: marko.makela Date: April 18 2012 1:36pm Subject: bzr push into mysql-trunk-wl5522 branch (marko.makela:4079 to 4082) List-Archive: http://lists.mysql.com/commits/143523 Message-Id: <201204181336.q3IDafQH001908@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDQwODIgTWFya28gTcOka2Vsw6QJMjAxMi0wNC0xOCBbbWVyZ2VdCiAgICAgIE1lcmdlIG15c3Fs LXRydW5rIHRvIG15c3FsLXRydW5rLXdsNTUyMi4KCiAgICBtb2RpZmllZDoKICAgICAgUkVBRE1F CiAgICAgIGNsaWVudC9teXNxbC5jYwogICAgICBjbGllbnQvbXlzcWxfdXBncmFkZS5jCiAgICAg IGNsaWVudC9teXNxbGFkbWluLmNjCiAgICAgIGNsaWVudC9teXNxbGJpbmxvZy5jYwogICAgICBj bGllbnQvbXlzcWxjaGVjay5jCiAgICAgIGNsaWVudC9teXNxbGR1bXAuYwogICAgICBjbGllbnQv bXlzcWxpbXBvcnQuYwogICAgICBjbGllbnQvbXlzcWxzaG93LmMKICAgICAgY2xpZW50L215c3Fs c2xhcC5jCiAgICAgIGNsaWVudC9teXNxbHRlc3QuY2MKICAgICAgZXh0cmEvaW5ub2NoZWNrc3Vt LmNjCiAgICAgIGV4dHJhL3BlcnJvci5jCiAgICAgIGluY2x1ZGUvbXlzcWxfY29tLmgKICAgICAg aW5jbHVkZS93ZWxjb21lX2NvcHlyaWdodF9ub3RpY2UuaAogICAgICBteXNxbC10ZXN0L2luY2x1 ZGUvYXNzZXJ0X2NvbW1hbmRfb3V0cHV0LmluYwogICAgICBteXNxbC10ZXN0L3IvZGVyaXZlZC5y ZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL3RhYmxlc3BhY2UucmVzdWx0CiAgICAgIG15c3FsLXRl c3Qvc3VpdGUvYmlubG9nL3IvYmlubG9nX2dyYW50LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1 aXRlL2JpbmxvZy90L2JpbmxvZ19ncmFudC50ZXN0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvaW5u b2RiL3IvaW5ub2RiLWluZGV4LW9ubGluZS5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9p bm5vZGIvdC9pbm5vZGItYWx0ZXItZGlzY2FyZC50ZXN0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUv aW5ub2RiL3QvaW5ub2RiLWluZGV4LW9ubGluZS50ZXN0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUv cGVyZnNjaGVtYS9yL2RpZ2VzdF90YWJsZV9mdWxsLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1 aXRlL3BlcmZzY2hlbWEvci9zdGF0ZW1lbnRfZGlnZXN0LnJlc3VsdAogICAgICBteXNxbC10ZXN0 L3N1aXRlL3BlcmZzY2hlbWEvci9zdGF0ZW1lbnRfZGlnZXN0X2NvbnN1bWVycy5yZXN1bHQKICAg ICAgbXlzcWwtdGVzdC9zdWl0ZS9wZXJmc2NoZW1hL3Ivc3RhdGVtZW50X2RpZ2VzdF9sb25nX3F1 ZXJ5LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9ndGlkX21vZGUucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3QvcnBsX2d0aWRfbW9kZS50ZXN0CiAgICAg IG15c3FsLXRlc3QvdC9kZXJpdmVkLnRlc3QKICAgICAgbXlzcWwtdGVzdC90L3RhYmxlc3BhY2Uu dGVzdAogICAgICBwYWNrYWdpbmcvV2lYL2N1c3RvbV91aS53eHMKICAgICAgc3FsL2ZpZWxkLmgK ICAgICAgc3FsL2dlbl9sZXhfaGFzaC5jYwogICAgICBzcWwvaGFuZGxlci5oCiAgICAgIHNxbC9s ZXguaAogICAgICBzcWwvbG9nX2V2ZW50LmNjCiAgICAgIHNxbC9sb2dfZXZlbnQuaAogICAgICBz cWwvbXlzcWxkLmNjCiAgICAgIHNxbC9ycGxfbWkuY2MKICAgICAgc3FsL3NxbF9kZXJpdmVkLmNj CiAgICAgIHNxbC9zcWxfZXhlY3V0b3IuY2MKICAgICAgc3FsL3NxbF9vcHRpbWl6ZXIuY2MKICAg ICAgc3FsL3NxbF9vcHRpbWl6ZXIuaAogICAgICBzcWwvc3FsX3BhcnNlLmNjCiAgICAgIHNxbC9z cWxfc2VsZWN0LmNjCiAgICAgIHNxbC9zcWxfc2hvdy5jYwogICAgICBzcWwvc3FsX3RhYmxlLmNj CiAgICAgIHNxbC9zcWxfeWFjYy55eQogICAgICBzcWwvdGFibGUuY2MKICAgICAgc3FsL3VuaXJl Zy5jYwogICAgICBzdG9yYWdlL3BlcmZzY2hlbWEvZ2VuX3Bmc19sZXhfdG9rZW4uY2MKIDQwODEg TWFya28gTcOka2Vsw6QJMjAxMi0wNC0xOAogICAgICBXTCM1NTIyOiBTaW1wbGlmeSByb3dfZGlz Y2FyZF90YWJsZXNwYWNlX2Zvcl9teXNxbCgpLgoKICAgIG1vZGlmaWVkOgogICAgICBzdG9yYWdl L2lubm9iYXNlL3Jvdy9yb3cwbXlzcWwuY2MKIDQwODAgTWFya28gTcOka2Vsw6QJMjAxMi0wNC0x OAogICAgICBSZW1vdmUgYW4gdW51c2VkICNkZWZpbmUuCgogICAgbW9kaWZpZWQ6CiAgICAgIHN0 b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS91bml2LmkKIDQwNzkgTWFya28gTcOka2Vsw6QJMjAxMi0w NC0xOAogICAgICBVc2UgdGFibGVfaWRfdCBpbnN0ZWFkIG9mIGliX2lkX3QgZm9yIHRhYmxlX2lk LgoKICAgIG1vZGlmaWVkOgogICAgICBzdG9yYWdlL2lubm9iYXNlL2lidWYvaWJ1ZjBpYnVmLmNj Cj09PSBtb2RpZmllZCBmaWxlICdSRUFETUUnCi0tLSBhL1JFQURNRQlyZXZpZDptYXJrby5tYWtl bGFAb3JhY2xlLmNvbS0yMDEyMDQxODEwNDkxMi0yYjFkZGR0NW4wbmV6enAxCisrKyBiL1JFQURN RQlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0 ZTJwaTRsCkBAIC01LDcgKzUsNyBAQCBGb3IgdGhlIGF2b2lkYW5jZSBvZiBkb3VidCwgdGhpcyBw YXJ0aWN1CiBpcyByZWxlYXNlZCB1bmRlciB0aGUgdmVyc2lvbiAyIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZS4gDQogTXlTUUwgaXMgYnJvdWdodCB0byB5b3UgYnkgT3JhY2xlLg0K IA0KLUNvcHlyaWdodCAoYykgMjAwMCwgMjAxMSwgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRl cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCitDb3B5cmlnaHQgKGMpIDIwMDAsIDIwMTIsIE9yYWNs ZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQogDQogTGljZW5z ZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gdGhlIENPUFlJTkcgZmlsZS4NCiANCgo9PT0g bW9kaWZpZWQgZmlsZSAnY2xpZW50L215c3FsLmNjJwotLS0gYS9jbGllbnQvbXlzcWwuY2MJcmV2 aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTItMmIxZGRkdDVuMG5lenpw MQorKysgYi9jbGllbnQvbXlzcWwuY2MJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAx MjA0MTgxMzMyMzctYTl2NDVqMm9oNGUycGk0bApAQCAtMTI5Nyw3ICsxMjk3LDcgQEAgaW50IG1h aW4oaW50IGFyZ2MsY2hhciAqYXJndltdKQogCSAgbXlzcWxfdGhyZWFkX2lkKCZteXNxbCksIHNl cnZlcl92ZXJzaW9uX3N0cmluZygmbXlzcWwpKTsKICAgcHV0X2luZm8oKGNoYXIqKSBnbG9iX2J1 ZmZlci5wdHIoKSxJTkZPX0lORk8pOwogCi0gIHB1dF9pbmZvKE9SQUNMRV9XRUxDT01FX0NPUFlS SUdIVF9OT1RJQ0UoIjIwMDAsIDIwMTEiKSwgSU5GT19JTkZPKTsKKyAgcHV0X2luZm8oT1JBQ0xF X1dFTENPTUVfQ09QWVJJR0hUX05PVElDRSgiMjAwMCwgMjAxMiIpLCBJTkZPX0lORk8pOwogCiAj aWZkZWYgSEFWRV9SRUFETElORQogICBpbml0aWFsaXplX3JlYWRsaW5lKChjaGFyKikgbXlfcHJv Z25hbWUpOwpAQCAtMTcyNyw3ICsxNzI3LDcgQEAgc3RhdGljIHZvaWQgdXNhZ2UoaW50IHZlcnNp b24pCiAKICAgaWYgKHZlcnNpb24pCiAgICAgcmV0dXJuOwotICBwdXRzKE9SQUNMRV9XRUxDT01F X0NPUFlSSUdIVF9OT1RJQ0UoIjIwMDAsIDIwMTEiKSk7CisgIHB1dHMoT1JBQ0xFX1dFTENPTUVf Q09QWVJJR0hUX05PVElDRSgiMjAwMCwgMjAxMiIpKTsKICAgcHJpbnRmKCJVc2FnZTogJXMgW09Q VElPTlNdIFtkYXRhYmFzZV1cbiIsIG15X3Byb2duYW1lKTsKICAgbXlfcHJpbnRfaGVscChteV9s b25nX29wdGlvbnMpOwogICBwcmludF9kZWZhdWx0cygibXkiLCBsb2FkX2RlZmF1bHRfZ3JvdXBz KTsKCj09PSBtb2RpZmllZCBmaWxlICdjbGllbnQvbXlzcWxfdXBncmFkZS5jJwotLS0gYS9jbGll bnQvbXlzcWxfdXBncmFkZS5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4 MTA0OTEyLTJiMWRkZHQ1bjBuZXp6cDEKKysrIGIvY2xpZW50L215c3FsX3VwZ3JhZGUuYwlyZXZp ZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJwaTRs CkBAIC0yNDYsNyArMjQ2LDcgQEAgZ2V0X29uZV9vcHRpb24oaW50IG9wdGlkLCBjb25zdCBzdHJ1 Y3QgbQogICBjYXNlICc/JzoKICAgICBwcmludGYoIiVzICBWZXIgJXMgRGlzdHJpYiAlcywgZm9y ICVzICglcylcbiIsCiAgICAgICAgICAgIG15X3Byb2duYW1lLCBWRVIsIE1ZU1FMX1NFUlZFUl9W RVJTSU9OLCBTWVNURU1fVFlQRSwgTUFDSElORV9UWVBFKTsKLSAgICBwdXRzKE9SQUNMRV9XRUxD T01FX0NPUFlSSUdIVF9OT1RJQ0UoIjIwMDAsIDIwMTAiKSk7CisgICAgcHV0cyhPUkFDTEVfV0VM Q09NRV9DT1BZUklHSFRfTk9USUNFKCIyMDAwLCAyMDEyIikpOwogICAgIHB1dHMoIk15U1FMIHV0 aWxpdHkgZm9yIHVwZ3JhZGluZyBkYXRhYmFzZXMgdG8gbmV3IE15U1FMIHZlcnNpb25zLlxuIik7 CiAgICAgbXlfcHJpbnRfaGVscChteV9sb25nX29wdGlvbnMpOwogICAgIGV4aXQoMCk7Cgo9PT0g bW9kaWZpZWQgZmlsZSAnY2xpZW50L215c3FsYWRtaW4uY2MnCi0tLSBhL2NsaWVudC9teXNxbGFk bWluLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTA0OTEyLTJiMWRk ZHQ1bjBuZXp6cDEKKysrIGIvY2xpZW50L215c3FsYWRtaW4uY2MJcmV2aWQ6bWFya28ubWFrZWxh QG9yYWNsZS5jb20tMjAxMjA0MTgxMzMyMzctYTl2NDVqMm9oNGUycGk0bApAQCAtNzAzLDcgKzcw Myw3IEBAIHN0YXRpYyBpbnQgZXhlY3V0ZV9jb21tYW5kcyhNWVNRTCAqbXlzcWwKICAgICBjYXNl IEFETUlOX1ZFUjoKICAgICAgIG5ld19saW5lPTE7CiAgICAgICBwcmludF92ZXJzaW9uKCk7Ci0g ICAgICBwdXRzKE9SQUNMRV9XRUxDT01FX0NPUFlSSUdIVF9OT1RJQ0UoIjIwMDAsIDIwMTEiKSk7 CisgICAgICBwdXRzKE9SQUNMRV9XRUxDT01FX0NPUFlSSUdIVF9OT1RJQ0UoIjIwMDAsIDIwMTIi KSk7CiAgICAgICBwcmludGYoIlNlcnZlciB2ZXJzaW9uXHRcdCVzXG4iLCBteXNxbF9nZXRfc2Vy dmVyX2luZm8obXlzcWwpKTsKICAgICAgIHByaW50ZigiUHJvdG9jb2wgdmVyc2lvblx0JWRcbiIs IG15c3FsX2dldF9wcm90b19pbmZvKG15c3FsKSk7CiAgICAgICBwcmludGYoIkNvbm5lY3Rpb25c dFx0JXNcbiIsbXlzcWxfZ2V0X2hvc3RfaW5mbyhteXNxbCkpOwpAQCAtMTEwMSw3ICsxMTAxLDcg QEAgc3RhdGljIHZvaWQgcHJpbnRfdmVyc2lvbih2b2lkKQogc3RhdGljIHZvaWQgdXNhZ2Uodm9p ZCkKIHsKICAgcHJpbnRfdmVyc2lvbigpOwotICBwdXRzKE9SQUNMRV9XRUxDT01FX0NPUFlSSUdI VF9OT1RJQ0UoIjIwMDAsIDIwMTEiKSk7CisgIHB1dHMoT1JBQ0xFX1dFTENPTUVfQ09QWVJJR0hU X05PVElDRSgiMjAwMCwgMjAxMiIpKTsKICAgcHV0cygiQWRtaW5pc3RyYXRpb24gcHJvZ3JhbSBm b3IgdGhlIG15c3FsZCBkYWVtb24uIik7CiAgIHByaW50ZigiVXNhZ2U6ICVzIFtPUFRJT05TXSBj b21tYW5kIGNvbW1hbmQuLi4uXG4iLCBteV9wcm9nbmFtZSk7CiAgIG15X3ByaW50X2hlbHAobXlf bG9uZ19vcHRpb25zKTsKCj09PSBtb2RpZmllZCBmaWxlICdjbGllbnQvbXlzcWxiaW5sb2cuY2Mn Ci0tLSBhL2NsaWVudC9teXNxbGJpbmxvZy5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNv bS0yMDEyMDQxODEwNDkxMi0yYjFkZGR0NW4wbmV6enAxCisrKyBiL2NsaWVudC9teXNxbGJpbmxv Zy5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoy b2g0ZTJwaTRsCkBAIC0xNDc1LDcgKzE0NzUsNyBAQCBzdGF0aWMgdm9pZCBwcmludF92ZXJzaW9u KCkKIHN0YXRpYyB2b2lkIHVzYWdlKCkKIHsKICAgcHJpbnRfdmVyc2lvbigpOwotICBwdXRzKE9S QUNMRV9XRUxDT01FX0NPUFlSSUdIVF9OT1RJQ0UoIjIwMDAsIDIwMTEiKSk7CisgIHB1dHMoT1JB Q0xFX1dFTENPTUVfQ09QWVJJR0hUX05PVElDRSgiMjAwMCwgMjAxMiIpKTsKICAgcHJpbnRmKCJc CiBEdW1wcyBhIE15U1FMIGJpbmFyeSBsb2cgaW4gYSBmb3JtYXQgdXNhYmxlIGZvciB2aWV3aW5n IG9yIGZvciBwaXBpbmcgdG9cblwKIHRoZSBteXNxbCBjb21tYW5kIGxpbmUgY2xpZW50LlxuXG4i KTsKCj09PSBtb2RpZmllZCBmaWxlICdjbGllbnQvbXlzcWxjaGVjay5jJwotLS0gYS9jbGllbnQv bXlzcWxjaGVjay5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTA0OTEy LTJiMWRkZHQ1bjBuZXp6cDEKKysrIGIvY2xpZW50L215c3FsY2hlY2suYwlyZXZpZDptYXJrby5t YWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJwaTRsCkBAIC0yMjgs NyArMjI4LDcgQEAgc3RhdGljIHZvaWQgcHJpbnRfdmVyc2lvbih2b2lkKQogc3RhdGljIHZvaWQg dXNhZ2Uodm9pZCkKIHsKICAgcHJpbnRfdmVyc2lvbigpOwotICBwdXRzKE9SQUNMRV9XRUxDT01F X0NPUFlSSUdIVF9OT1RJQ0UoIjIwMDAsIDIwMTEiKSk7CisgIHB1dHMoT1JBQ0xFX1dFTENPTUVf Q09QWVJJR0hUX05PVElDRSgiMjAwMCwgMjAxMiIpKTsKICAgcHV0cygiVGhpcyBwcm9ncmFtIGNh biBiZSB1c2VkIHRvIENIRUNLICgtYywgLW0sIC1DKSwgUkVQQUlSICgtciksIEFOQUxZWkUgKC1h KSwiKTsKICAgcHV0cygib3IgT1BUSU1JWkUgKC1vKSB0YWJsZXMuIFNvbWUgb2YgdGhlIG9wdGlv bnMgKGxpa2UgLWUgb3IgLXEpIGNhbiBiZSIpOwogICBwdXRzKCJ1c2VkIGF0IHRoZSBzYW1lIHRp bWUuIE5vdCBhbGwgb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGJ5IGFsbCBzdG9yYWdlIGVuZ2luZXMu Iik7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnY2xpZW50L215c3FsZHVtcC5jJwotLS0gYS9jbGllbnQv bXlzcWxkdW1wLmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTIt MmIxZGRkdDVuMG5lenpwMQorKysgYi9jbGllbnQvbXlzcWxkdW1wLmMJcmV2aWQ6bWFya28ubWFr ZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMzMyMzctYTl2NDVqMm9oNGUycGk0bApAQCAtNjEyLDcg KzYxMiw3IEBAIHN0YXRpYyB2b2lkIHNob3J0X3VzYWdlX3N1Yih2b2lkKQogc3RhdGljIHZvaWQg dXNhZ2Uodm9pZCkKIHsKICAgcHJpbnRfdmVyc2lvbigpOwotICBwdXRzKE9SQUNMRV9XRUxDT01F X0NPUFlSSUdIVF9OT1RJQ0UoIjIwMDAsIDIwMTEiKSk7CisgIHB1dHMoT1JBQ0xFX1dFTENPTUVf Q09QWVJJR0hUX05PVElDRSgiMjAwMCwgMjAxMiIpKTsKICAgcHV0cygiRHVtcGluZyBzdHJ1Y3R1 cmUgYW5kIGNvbnRlbnRzIG9mIE15U1FMIGRhdGFiYXNlcyBhbmQgdGFibGVzLiIpOwogICBzaG9y dF91c2FnZV9zdWIoKTsKICAgcHJpbnRfZGVmYXVsdHMoIm15Iixsb2FkX2RlZmF1bHRfZ3JvdXBz KTsKCj09PSBtb2RpZmllZCBmaWxlICdjbGllbnQvbXlzcWxpbXBvcnQuYycKLS0tIGEvY2xpZW50 L215c3FsaW1wb3J0LmMJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5 MTItMmIxZGRkdDVuMG5lenpwMQorKysgYi9jbGllbnQvbXlzcWxpbXBvcnQuYwlyZXZpZDptYXJr by5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJwaTRsCkBAIC0y MDMsNyArMjAzLDcgQEAgc3RhdGljIHZvaWQgcHJpbnRfdmVyc2lvbih2b2lkKQogc3RhdGljIHZv aWQgdXNhZ2Uodm9pZCkKIHsKICAgcHJpbnRfdmVyc2lvbigpOwotICBwdXRzKE9SQUNMRV9XRUxD T01FX0NPUFlSSUdIVF9OT1RJQ0UoIjIwMDAsIDIwMTEiKSk7CisgIHB1dHMoT1JBQ0xFX1dFTENP TUVfQ09QWVJJR0hUX05PVElDRSgiMjAwMCwgMjAxMiIpKTsKICAgcHJpbnRmKCJcCiBMb2FkcyB0 YWJsZXMgZnJvbSB0ZXh0IGZpbGVzIGluIHZhcmlvdXMgZm9ybWF0cy4gIFRoZSBiYXNlIG5hbWUg b2YgdGhlXG5cCiB0ZXh0IGZpbGUgbXVzdCBiZSB0aGUgbmFtZSBvZiB0aGUgdGFibGUgdGhhdCBz aG91bGQgYmUgdXNlZC5cblwKCj09PSBtb2RpZmllZCBmaWxlICdjbGllbnQvbXlzcWxzaG93LmMn Ci0tLSBhL2NsaWVudC9teXNxbHNob3cuYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0y MDEyMDQxODEwNDkxMi0yYjFkZGR0NW4wbmV6enAxCisrKyBiL2NsaWVudC9teXNxbHNob3cuYwly ZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJw aTRsCkBAIC0yNzcsNyArMjc3LDcgQEAgc3RhdGljIHZvaWQgcHJpbnRfdmVyc2lvbih2b2lkKQog c3RhdGljIHZvaWQgdXNhZ2Uodm9pZCkKIHsKICAgcHJpbnRfdmVyc2lvbigpOwotICBwdXRzKE9S QUNMRV9XRUxDT01FX0NPUFlSSUdIVF9OT1RJQ0UoIjIwMDAsIDIwMTEpIikpOworICBwdXRzKE9S QUNMRV9XRUxDT01FX0NPUFlSSUdIVF9OT1RJQ0UoIjIwMDAsIDIwMTIpIikpOwogICBwdXRzKCJT aG93cyB0aGUgc3RydWN0dXJlIG9mIGEgTXlTUUwgZGF0YWJhc2UgKGRhdGFiYXNlcywgdGFibGVz LCBhbmQgY29sdW1ucykuXG4iKTsKICAgcHJpbnRmKCJVc2FnZTogJXMgW09QVElPTlNdIFtkYXRh YmFzZSBbdGFibGUgW2NvbHVtbl1dXVxuIixteV9wcm9nbmFtZSk7CiAgIHB1dHMoIlxuXAoKPT09 IG1vZGlmaWVkIGZpbGUgJ2NsaWVudC9teXNxbHNsYXAuYycKLS0tIGEvY2xpZW50L215c3Fsc2xh cC5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTA0OTEyLTJiMWRkZHQ1 bjBuZXp6cDEKKysrIGIvY2xpZW50L215c3Fsc2xhcC5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFj bGUuY29tLTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTcwOCw3ICs3MDgsNyBA QCBzdGF0aWMgdm9pZCBwcmludF92ZXJzaW9uKHZvaWQpCiBzdGF0aWMgdm9pZCB1c2FnZSh2b2lk KQogewogICBwcmludF92ZXJzaW9uKCk7Ci0gIHB1dHMoT1JBQ0xFX1dFTENPTUVfQ09QWVJJR0hU X05PVElDRSgiMjAwNSwgMjAxMCIpKTsKKyAgcHV0cyhPUkFDTEVfV0VMQ09NRV9DT1BZUklHSFRf Tk9USUNFKCIyMDA1LCAyMDEyIikpOwogICBwdXRzKCJSdW4gYSBxdWVyeSBtdWx0aXBsZSB0aW1l cyBhZ2FpbnN0IHRoZSBzZXJ2ZXIuXG4iKTsKICAgcHJpbnRmKCJVc2FnZTogJXMgW09QVElPTlNd XG4iLG15X3Byb2duYW1lKTsKICAgcHJpbnRfZGVmYXVsdHMoIm15Iixsb2FkX2RlZmF1bHRfZ3Jv dXBzKTsKCj09PSBtb2RpZmllZCBmaWxlICdjbGllbnQvbXlzcWx0ZXN0LmNjJwotLS0gYS9jbGll bnQvbXlzcWx0ZXN0LmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTA0 OTEyLTJiMWRkZHQ1bjBuZXp6cDEKKysrIGIvY2xpZW50L215c3FsdGVzdC5jYwlyZXZpZDptYXJr by5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJwaTRsCkBAIC02 NTY0LDcgKzY1NjQsNyBAQCB2b2lkIHByaW50X3ZlcnNpb24odm9pZCkKIHZvaWQgdXNhZ2UoKQog ewogICBwcmludF92ZXJzaW9uKCk7Ci0gIHB1dHMoT1JBQ0xFX1dFTENPTUVfQ09QWVJJR0hUX05P VElDRSgiMjAwMCwgMjAxMSIpKTsKKyAgcHV0cyhPUkFDTEVfV0VMQ09NRV9DT1BZUklHSFRfTk9U SUNFKCIyMDAwLCAyMDEyIikpOwogICBwcmludGYoIlJ1bnMgYSB0ZXN0IGFnYWluc3QgdGhlIG15 c3FsIHNlcnZlciBhbmQgY29tcGFyZXMgb3V0cHV0IHdpdGggYSByZXN1bHRzIGZpbGUuXG5cbiIp OwogICBwcmludGYoIlVzYWdlOiAlcyBbT1BUSU9OU10gW2RhdGFiYXNlXSA8IHRlc3RfZmlsZVxu IiwgbXlfcHJvZ25hbWUpOwogICBteV9wcmludF9oZWxwKG15X2xvbmdfb3B0aW9ucyk7Cgo9PT0g bW9kaWZpZWQgZmlsZSAnZXh0cmEvaW5ub2NoZWNrc3VtLmNjJwotLS0gYS9leHRyYS9pbm5vY2hl Y2tzdW0uY2MJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTItMmIx ZGRkdDVuMG5lenpwMQorKysgYi9leHRyYS9pbm5vY2hlY2tzdW0uY2MJcmV2aWQ6bWFya28ubWFr ZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMzMyMzctYTl2NDVqMm9oNGUycGk0bApAQCAtMTUyLDcg KzE1Miw3IEBAIHN0YXRpYyB2b2lkIHByaW50X3ZlcnNpb24odm9pZCkKIHN0YXRpYyB2b2lkIHVz YWdlKHZvaWQpCiB7CiAgIHByaW50X3ZlcnNpb24oKTsKLSAgcHV0cyhPUkFDTEVfV0VMQ09NRV9D T1BZUklHSFRfTk9USUNFKCIyMDAwLCAyMDExIikpOworICBwdXRzKE9SQUNMRV9XRUxDT01FX0NP UFlSSUdIVF9OT1RJQ0UoIjIwMDAsIDIwMTIiKSk7CiAgIHByaW50ZigiSW5ub0RCIG9mZmxpbmUg ZmlsZSBjaGVja3N1bSB1dGlsaXR5LlxuIik7CiAgIHByaW50ZigiVXNhZ2U6ICVzIFstY10gWy1z IDxzdGFydCBwYWdlPl0gWy1lIDxlbmQgcGFnZT5dIFstcCA8cGFnZT5dIFstdl0gWy1kXSA8Zmls ZW5hbWU+XG4iLCBteV9wcm9nbmFtZSk7CiAgIG15X3ByaW50X2hlbHAoaW5ub2NoZWNrc3VtX29w dGlvbnMpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ2V4dHJhL3BlcnJvci5jJwotLS0gYS9leHRyYS9w ZXJyb3IuYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEwNDkxMi0yYjFk ZGR0NW4wbmV6enAxCisrKyBiL2V4dHJhL3BlcnJvci5jCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFj bGUuY29tLTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTg0LDcgKzg0LDcgQEAg c3RhdGljIHZvaWQgcHJpbnRfdmVyc2lvbih2b2lkKQogc3RhdGljIHZvaWQgdXNhZ2Uodm9pZCkK IHsKICAgcHJpbnRfdmVyc2lvbigpOwotICBwdXRzKE9SQUNMRV9XRUxDT01FX0NPUFlSSUdIVF9O T1RJQ0UoIjIwMDAsIDIwMTEiKSk7CisgIHB1dHMoT1JBQ0xFX1dFTENPTUVfQ09QWVJJR0hUX05P VElDRSgiMjAwMCwgMjAxMiIpKTsKICAgcHJpbnRmKCJQcmludCBhIGRlc2NyaXB0aW9uIGZvciBh IHN5c3RlbSBlcnJvciBjb2RlIG9yIGEgTXlTUUwgZXJyb3IgY29kZS5cbiIpOwogICBwcmludGYo IklmIHlvdSB3YW50IHRvIGdldCB0aGUgZXJyb3IgZm9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSwg eW91IHNob3VsZCB1c2Vcbi0tIGJlZm9yZSB0aGUgZmlyc3QgZXJyb3IgY29kZSB0byB0ZWxsIHBl cnJvciB0aGF0IHRoZXJlIHdhcyBubyBtb3JlIG9wdGlvbnMuXG5cbiIpOwogICBwcmludGYoIlVz YWdlOiAlcyBbT1BUSU9OU10gW0VSUk9SQ09ERSBbRVJST1JDT0RFLi4uXV1cbiIsbXlfcHJvZ25h bWUpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ2luY2x1ZGUvbXlzcWxfY29tLmgnCi0tLSBhL2luY2x1 ZGUvbXlzcWxfY29tLmgJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5 MTItMmIxZGRkdDVuMG5lenpwMQorKysgYi9pbmNsdWRlL215c3FsX2NvbS5oCXJldmlkOm1hcmtv Lm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTEx OSwxMCArMTE5LDEwIEBAIGVudW0gZW51bV9zZXJ2ZXJfY29tbWFuZAogICBXYXMgcGFydCBvZiBv bGQgb25saW5lIEFMVEVSIEFQSSwgZmxhZyBpcyBub3cgdW51c2VkLgogKi8KICNkZWZpbmUgRklF TERfSVNfUkVOQU1FRCAoMTw8IDIxKSAgICAgICAvKiBJbnRlcm46IEZpZWxkIGlzIGJlaW5nIHJl bmFtZWQgKi8KLSNkZWZpbmUgRklFTERfRkxBR1NfU1RPUkFHRV9NRURJQSAyMiAgICAvKiBGaWVs ZCBzdG9yYWdlIG1lZGlhLCBiaXQgMjItMjMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVzZXJ2ZWQgYnkgTXlTUUwgQ2x1c3RlciAqLwotI2RlZmluZSBGSUVM RF9GTEFHU19DT0xVTU5fRk9STUFUIDI0ICAgIC8qIEZpZWxkIGNvbHVtbiBmb3JtYXQsIGJpdCAy NC0yNSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZl ZCBieSBNeVNRTCBDbHVzdGVyICovCisjZGVmaW5lIEZJRUxEX0ZMQUdTX1NUT1JBR0VfTUVESUEg MjIgICAgLyogRmllbGQgc3RvcmFnZSBtZWRpYSwgYml0IDIyLTIzICovCisjZGVmaW5lIEZJRUxE X0ZMQUdTX1NUT1JBR0VfTUVESUFfTUFTSyAoMyA8PCBGSUVMRF9GTEFHU19TVE9SQUdFX01FRElB KQorI2RlZmluZSBGSUVMRF9GTEFHU19DT0xVTU5fRk9STUFUIDI0ICAgIC8qIEZpZWxkIGNvbHVt biBmb3JtYXQsIGJpdCAyNC0yNSAqLworI2RlZmluZSBGSUVMRF9GTEFHU19DT0xVTU5fRk9STUFU X01BU0sgKDMgPDwgRklFTERfRkxBR1NfQ09MVU1OX0ZPUk1BVCkKIAogI2RlZmluZSBSRUZSRVNI X0dSQU5UCQkxCS8qIFJlZnJlc2ggZ3JhbnQgdGFibGVzICovCiAjZGVmaW5lIFJFRlJFU0hfTE9H CQkyCS8qIFN0YXJ0IG9uIG5ldyBsb2cgZmlsZSAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ2luY2x1 ZGUvd2VsY29tZV9jb3B5cmlnaHRfbm90aWNlLmgnCi0tLSBhL2luY2x1ZGUvd2VsY29tZV9jb3B5 cmlnaHRfbm90aWNlLmgJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5 MTItMmIxZGRkdDVuMG5lenpwMQorKysgYi9pbmNsdWRlL3dlbGNvbWVfY29weXJpZ2h0X25vdGlj ZS5oCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJv aDRlMnBpNGwKQEAgLTEsNCArMSw0IEBACi0vKiBDb3B5cmlnaHQgKGMpIDIwMTAsIDIwMTEsIE9y YWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvKiBDb3B5 cmlnaHQgKGMpIDIwMTAsIDIwMTIsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBy aWdodHMgcmVzZXJ2ZWQuCiAKICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAgICBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQoKPT09IG1v ZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvaW5jbHVkZS9hc3NlcnRfY29tbWFuZF9vdXRwdXQuaW5j JwotLS0gYS9teXNxbC10ZXN0L2luY2x1ZGUvYXNzZXJ0X2NvbW1hbmRfb3V0cHV0LmluYwlyZXZp ZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEwNDkxMi0yYjFkZGR0NW4wbmV6enAx CisrKyBiL215c3FsLXRlc3QvaW5jbHVkZS9hc3NlcnRfY29tbWFuZF9vdXRwdXQuaW5jCXJldmlk Om1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJvaDRlMnBpNGwK QEAgLTIwLDYgKzIwLDcgQEAgaWYgKCRycGxfZGVidWcpCiAtLWxldCBfQVNTRVJUX1NUQVRVUz0g JGFzc2VydF9zdGF0dXMKIC0tbGV0ICRfYXNzZXJ0X3N1ZmZpeD0gYFNFTEVDVCBVVUlEKClgCiAt LWxldCBfQVNTRVJUX0VSUk9SX0ZJTEU9ICRNWVNRTFRFU1RfVkFSRElSL3RtcC9fYXNzZXJ0XyRf YXNzZXJ0X3N1ZmZpeC5pbmMKKy0tbGV0IF9BU1NFUlRfREVCVUc9ICRycGxfZGVidWcKIAogaWYg KCRycGxfZGVidWcpCiB7CkBAIC0zMSw2ICszMiw3IEBAIHBlcmw7CiAgIG15ICRwb3NpdGl2ZT0g JEVOVnsnX0FTU0VSVF9ORUdBVEVEJ30gPyAwIDogMTsKICAgbXkgJHJlZ2V4PSAkRU5WeydfQVNT RVJUX1JFR0VYJ307CiAgIG15ICRzdGF0dXM9ICRFTlZ7J19BU1NFUlRfU1RBVFVTJ307CisgIG15 ICRkZWJ1Zz0gJEVOVnsnX0FTU0VSVF9ERUJVRyd9OwogICBteSAkb3V0cHV0PSBgJGNtZGA7CiAg IG15ICRlcnJvcj0gMDsKICAgJHN0YXR1cz0gMCBpZiAkc3RhdHVzIGVxICcnOwpAQCAtNDYsOCAr NDgsNiBAQCBwZXJsOwogICAgIHByaW50ICJFUlJPUjogQ29tbWFuZDogJyRjbWQnXG4iOwogICAg IHByaW50ICJFUlJPUjogT3V0cHV0IGV4cGVjdGVkIHRvICIgLiAoJHBvc2l0aXZlPycnOidub3Qg JykuICJtYXRjaCAiIC4KICAgICAgICJwZXJsIHJlZ2V4OiAnJHJlZ2V4J1xuIjsKLSAgICBwcmlu dCAiPT09PT09PT0gQkVHSU4gb3V0cHV0ID09PT09PT09XG4kb3V0cHV0XG4iIC4KLSAgICAgICI9 PT09PT09PSBFTkQgT1VUUFVUID09PT09PT09XG4iOwogICAgICRlcnJvcj0gMTsKICAgfQogICBp ZiAoISRlcnJvcikKQEAgLTU3LDYgKzU3LDExIEBAIHBlcmw7CiAgICAgcHJpbnQgRklMRSAiWCIg b3IgZGllICJFcnJvciB3cml0aW5nIHRvICRmaWxlOiAkISI7CiAgICAgY2xvc2UgRklMRSBvciBk aWUgIkVycm9yIGNsb3NpbmcgJGZpbGU6ICQhIjsKICAgfQorICBpZiAoJGVycm9yIHx8ICRkZWJ1 ZykKKyAgeworICAgIHByaW50ICI9PT09PT09PSBCRUdJTiBvdXRwdXQgPT09PT09PT1cbiRvdXRw dXRcbiIgLgorICAgICAgIj09PT09PT09IEVORCBPVVRQVVQgPT09PT09PT1cbiI7CisgIH0KIEVP RgogCiAtLWZpbGVfZXhpc3RzICRfQVNTRVJUX0VSUk9SX0ZJTEUKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3IvZGVyaXZlZC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9kZXJpdmVk LnJlc3VsdAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEwNDkxMi0yYjFk ZGR0NW4wbmV6enAxCisrKyBiL215c3FsLXRlc3Qvci9kZXJpdmVkLnJlc3VsdAlyZXZpZDptYXJr by5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJwaTRsCkBAIC0x OTYyLDMgKzE5NjIsMTQgQEAgaWQJc2VsZWN0X3R5cGUJdGFibGUJdHlwZQlwb3NzaWJsZV9rZXlz CiAxCVBSSU1BUlkJTlVMTAlOVUxMCU5VTEwJTlVMTAlOVUxMCU5VTEwJTlVMTAlJbXBvc3NpYmxl IFdIRVJFIG5vdGljZWQgYWZ0ZXIgcmVhZGluZyBjb25zdCB0YWJsZXMKIDIJREVSSVZFRAl0MglB TEwJTlVMTAlOVUxMCU5VTEwJTlVMTAkxCU5VTEwKIERST1AgVEFCTEUgdDEsdDI7CisjCisjIEJ1 ZyAjMTM4MDEwMTkgQVNTRVJUSU9OIGAwJyBGQUlMRUQgSU4gQ1JFQVRFX01ZSVNBTV9UTVBfVEFC TEUKKyMKK0NSRUFURSBUQUJMRSB0MSAoYSBJTlQsIGIgQkxPQikgRU5HSU5FPUlubm9EQjsKK0NS RUFURSBUQUJMRSB0MiAoYyBJTlQpOworQ1JFQVRFIFRBQkxFIHQzIChkIElOVCk7CitJTlNFUlQg SU5UTyB0MyBWQUxVRVMgKDApOworU0VMRUNUICogRlJPTSAoU0VMRUNUICogRlJPTSB0MSkgQVMg YTEgUklHSFQgSk9JTiB0MyBMRUZUIEpPSU4gdDIgT04gZD1jIE9OIGE9YzsKK2EJYglkCWMKK05V TEwJTlVMTAkwCU5VTEwKK0RST1AgVEFCTEUgdDEsIHQyLCB0MzsKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3IvdGFibGVzcGFjZS5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci90YWJs ZXNwYWNlLnJlc3VsdAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEwNDkx Mi0yYjFkZGR0NW4wbmV6enAxCisrKyBiL215c3FsLXRlc3Qvci90YWJsZXNwYWNlLnJlc3VsdAly ZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJw aTRsCkBAIC05OCwxNSArOTgsMTQ0IEBAIFRhYmxlCUNyZWF0ZSBUYWJsZQogdDEJQ1JFQVRFIFRB QkxFIGB0MWAgKAogICBgYWAgaW50KDExKSBOT1QgTlVMTCwKICAgYGJgIGludCgxMSkgREVGQVVM VCBOVUxMLAotICBgY2AgaW50KDExKSBERUZBVUxUIE5VTEwsCi0gIGBkYCBpbnQoMTEpIE5PVCBO VUxMLAotICBgZWAgaW50KDExKSBERUZBVUxUIE5VTEwsCi0gIGBmYCBpbnQoMTEpIERFRkFVTFQg TlVMTCwKKyAgYGNgIGludCgxMSkgLyohNTA2MDYgU1RPUkFHRSBESVNLICovIERFRkFVTFQgTlVM TCwKKyAgYGRgIGludCgxMSkgTk9UIE5VTEwgLyohNTA2MDYgU1RPUkFHRSBNRU1PUlkgKi8sCisg IGBlYCBpbnQoMTEpIC8qITUwNjA2IENPTFVNTl9GT1JNQVQgRFlOQU1JQyAqLyBERUZBVUxUIE5V TEwsCisgIGBmYCBpbnQoMTEpIC8qITUwNjA2IENPTFVNTl9GT1JNQVQgRklYRUQgKi8gREVGQVVM VCBOVUxMLAogICBgZ2AgaW50KDExKSBERUZBVUxUIE5VTEwsCi0gIGBoYCBpbnQoMTEpIE5PVCBO VUxMLAotICBgaWAgaW50KDExKSBERUZBVUxUIE5VTEwsCi0gIGBqYCBpbnQoMTEpIERFRkFVTFQg TlVMTCwKLSAgYGtgIGludCgxMSkgREVGQVVMVCBOVUxMLAorICBgaGAgaW50KDExKSBOT1QgTlVM TCAvKiE1MDYwNiBTVE9SQUdFIERJU0sgKi8gLyohNTA2MDYgQ09MVU1OX0ZPUk1BVCBEWU5BTUlD ICovLAorICBgaWAgaW50KDExKSAvKiE1MDYwNiBTVE9SQUdFIE1FTU9SWSAqLyAvKiE1MDYwNiBD T0xVTU5fRk9STUFUIERZTkFNSUMgKi8gREVGQVVMVCBOVUxMLAorICBgamAgaW50KDExKSAvKiE1 MDYwNiBTVE9SQUdFIERJU0sgKi8gLyohNTA2MDYgQ09MVU1OX0ZPUk1BVCBGSVhFRCAqLyBERUZB VUxUIE5VTEwsCisgIGBrYCBpbnQoMTEpIC8qITUwNjA2IFNUT1JBR0UgTUVNT1JZICovIC8qITUw NjA2IENPTFVNTl9GT1JNQVQgRklYRUQgKi8gREVGQVVMVCBOVUxMLAogICBQUklNQVJZIEtFWSAo YGFgKQogKSAvKiE1MDEwMCBUQUJMRVNQQUNFIHRoZV90YWJsZXNwYWNlbmFtZSBTVE9SQUdFIERJ U0sgKi8gRU5HSU5FPU15SVNBTSBERUZBVUxUIENIQVJTRVQ9bGF0aW4xCiBEUk9QIFRBQkxFIHQx OworIworIyBXTCMzNjI3IEFkZCBDT0xVTU5fRk9STUFUIGFuZCBTVE9SQUdFIGZvciBmaWVsZHMK KyMKK0NSRUFURSBUQUJMRSB0MSAoCithIGludCBTVE9SQUdFIERJU0ssCitiIGludCBTVE9SQUdF IE1FTU9SWSBOT1QgTlVMTCwKK2MgaW50IENPTFVNTl9GT1JNQVQgRFlOQU1JQywKK2QgaW50IENP TFVNTl9GT1JNQVQgRklYRUQsCitlIGludCBDT0xVTU5fRk9STUFUIERFRkFVTFQsCitmIGludCBT VE9SQUdFIERJU0sgQ09MVU1OX0ZPUk1BVCBEWU5BTUlDIE5PVCBOVUxMLAorZyBpbnQgU1RPUkFH RSBNRU1PUlkgQ09MVU1OX0ZPUk1BVCBEWU5BTUlDLAoraCBpbnQgU1RPUkFHRSBESVNLIENPTFVN Tl9GT1JNQVQgRklYRUQsCitpIGludCBTVE9SQUdFIE1FTU9SWSBDT0xVTU5fRk9STUFUIEZJWEVE CispOworU0hPVyBDUkVBVEUgVEFCTEUgdDE7CitUYWJsZQlDcmVhdGUgVGFibGUKK3QxCUNSRUFU RSBUQUJMRSBgdDFgICgKKyAgYGFgIGludCgxMSkgLyohNTA2MDYgU1RPUkFHRSBESVNLICovIERF RkFVTFQgTlVMTCwKKyAgYGJgIGludCgxMSkgTk9UIE5VTEwgLyohNTA2MDYgU1RPUkFHRSBNRU1P UlkgKi8sCisgIGBjYCBpbnQoMTEpIC8qITUwNjA2IENPTFVNTl9GT1JNQVQgRFlOQU1JQyAqLyBE RUZBVUxUIE5VTEwsCisgIGBkYCBpbnQoMTEpIC8qITUwNjA2IENPTFVNTl9GT1JNQVQgRklYRUQg Ki8gREVGQVVMVCBOVUxMLAorICBgZWAgaW50KDExKSBERUZBVUxUIE5VTEwsCisgIGBmYCBpbnQo MTEpIE5PVCBOVUxMIC8qITUwNjA2IFNUT1JBR0UgRElTSyAqLyAvKiE1MDYwNiBDT0xVTU5fRk9S TUFUIERZTkFNSUMgKi8sCisgIGBnYCBpbnQoMTEpIC8qITUwNjA2IFNUT1JBR0UgTUVNT1JZICov IC8qITUwNjA2IENPTFVNTl9GT1JNQVQgRFlOQU1JQyAqLyBERUZBVUxUIE5VTEwsCisgIGBoYCBp bnQoMTEpIC8qITUwNjA2IFNUT1JBR0UgRElTSyAqLyAvKiE1MDYwNiBDT0xVTU5fRk9STUFUIEZJ WEVEICovIERFRkFVTFQgTlVMTCwKKyAgYGlgIGludCgxMSkgLyohNTA2MDYgU1RPUkFHRSBNRU1P UlkgKi8gLyohNTA2MDYgQ09MVU1OX0ZPUk1BVCBGSVhFRCAqLyBERUZBVUxUIE5VTEwKKykgRU5H SU5FPU15SVNBTSBERUZBVUxUIENIQVJTRVQ9bGF0aW4xCitBTFRFUiBUQUJMRSB0MQorQUREIENP TFVNTiBqIGludCBTVE9SQUdFIERJU0ssCitBREQgQ09MVU1OIGsgaW50IFNUT1JBR0UgTUVNT1JZ IE5PVCBOVUxMLAorQUREIENPTFVNTiBsIGludCBDT0xVTU5fRk9STUFUIERZTkFNSUMsCitBREQg Q09MVU1OIG0gaW50IENPTFVNTl9GT1JNQVQgRklYRUQsCitBREQgQ09MVU1OIG4gaW50IENPTFVN Tl9GT1JNQVQgREVGQVVMVCwKK0FERCBDT0xVTU4gbyBpbnQgU1RPUkFHRSBESVNLIENPTFVNTl9G T1JNQVQgRFlOQU1JQyBOT1QgTlVMTCwKK0FERCBDT0xVTU4gcCBpbnQgU1RPUkFHRSBNRU1PUlkg Q09MVU1OX0ZPUk1BVCBEWU5BTUlDLAorQUREIENPTFVNTiBxIGludCBTVE9SQUdFIERJU0sgQ09M VU1OX0ZPUk1BVCBGSVhFRCwKK0FERCBDT0xVTU4gciBpbnQgU1RPUkFHRSBNRU1PUlkgQ09MVU1O X0ZPUk1BVCBGSVhFRDsKK1NIT1cgQ1JFQVRFIFRBQkxFIHQxOworVGFibGUJQ3JlYXRlIFRhYmxl Cit0MQlDUkVBVEUgVEFCTEUgYHQxYCAoCisgIGBhYCBpbnQoMTEpIC8qITUwNjA2IFNUT1JBR0Ug RElTSyAqLyBERUZBVUxUIE5VTEwsCisgIGBiYCBpbnQoMTEpIE5PVCBOVUxMIC8qITUwNjA2IFNU T1JBR0UgTUVNT1JZICovLAorICBgY2AgaW50KDExKSAvKiE1MDYwNiBDT0xVTU5fRk9STUFUIERZ TkFNSUMgKi8gREVGQVVMVCBOVUxMLAorICBgZGAgaW50KDExKSAvKiE1MDYwNiBDT0xVTU5fRk9S TUFUIEZJWEVEICovIERFRkFVTFQgTlVMTCwKKyAgYGVgIGludCgxMSkgREVGQVVMVCBOVUxMLAor ICBgZmAgaW50KDExKSBOT1QgTlVMTCAvKiE1MDYwNiBTVE9SQUdFIERJU0sgKi8gLyohNTA2MDYg Q09MVU1OX0ZPUk1BVCBEWU5BTUlDICovLAorICBgZ2AgaW50KDExKSAvKiE1MDYwNiBTVE9SQUdF IE1FTU9SWSAqLyAvKiE1MDYwNiBDT0xVTU5fRk9STUFUIERZTkFNSUMgKi8gREVGQVVMVCBOVUxM LAorICBgaGAgaW50KDExKSAvKiE1MDYwNiBTVE9SQUdFIERJU0sgKi8gLyohNTA2MDYgQ09MVU1O X0ZPUk1BVCBGSVhFRCAqLyBERUZBVUxUIE5VTEwsCisgIGBpYCBpbnQoMTEpIC8qITUwNjA2IFNU T1JBR0UgTUVNT1JZICovIC8qITUwNjA2IENPTFVNTl9GT1JNQVQgRklYRUQgKi8gREVGQVVMVCBO VUxMLAorICBgamAgaW50KDExKSAvKiE1MDYwNiBTVE9SQUdFIERJU0sgKi8gREVGQVVMVCBOVUxM LAorICBga2AgaW50KDExKSBOT1QgTlVMTCAvKiE1MDYwNiBTVE9SQUdFIE1FTU9SWSAqLywKKyAg YGxgIGludCgxMSkgLyohNTA2MDYgQ09MVU1OX0ZPUk1BVCBEWU5BTUlDICovIERFRkFVTFQgTlVM TCwKKyAgYG1gIGludCgxMSkgLyohNTA2MDYgQ09MVU1OX0ZPUk1BVCBGSVhFRCAqLyBERUZBVUxU IE5VTEwsCisgIGBuYCBpbnQoMTEpIERFRkFVTFQgTlVMTCwKKyAgYG9gIGludCgxMSkgTk9UIE5V TEwgLyohNTA2MDYgU1RPUkFHRSBESVNLICovIC8qITUwNjA2IENPTFVNTl9GT1JNQVQgRFlOQU1J QyAqLywKKyAgYHBgIGludCgxMSkgLyohNTA2MDYgU1RPUkFHRSBNRU1PUlkgKi8gLyohNTA2MDYg Q09MVU1OX0ZPUk1BVCBEWU5BTUlDICovIERFRkFVTFQgTlVMTCwKKyAgYHFgIGludCgxMSkgLyoh NTA2MDYgU1RPUkFHRSBESVNLICovIC8qITUwNjA2IENPTFVNTl9GT1JNQVQgRklYRUQgKi8gREVG QVVMVCBOVUxMLAorICBgcmAgaW50KDExKSAvKiE1MDYwNiBTVE9SQUdFIE1FTU9SWSAqLyAvKiE1 MDYwNiBDT0xVTU5fRk9STUFUIEZJWEVEICovIERFRkFVTFQgTlVMTAorKSBFTkdJTkU9TXlJU0FN IERFRkFVTFQgQ0hBUlNFVD1sYXRpbjEKK0FMVEVSIFRBQkxFIHQxCitNT0RJRlkgQ09MVU1OIGog aW50IFNUT1JBR0UgTUVNT1JZIE5PVCBOVUxMLAorTU9ESUZZIENPTFVNTiBrIGludCBDT0xVTU5f Rk9STUFUIERZTkFNSUMsCitNT0RJRlkgQ09MVU1OIGwgaW50IENPTFVNTl9GT1JNQVQgRklYRUQs CitNT0RJRlkgQ09MVU1OIG0gaW50IENPTFVNTl9GT1JNQVQgREVGQVVMVCwKK01PRElGWSBDT0xV TU4gbiBpbnQgU1RPUkFHRSBESVNLIENPTFVNTl9GT1JNQVQgRFlOQU1JQyBOT1QgTlVMTCwKK01P RElGWSBDT0xVTU4gbyBpbnQgU1RPUkFHRSBNRU1PUlkgQ09MVU1OX0ZPUk1BVCBEWU5BTUlDLAor TU9ESUZZIENPTFVNTiBwIGludCBTVE9SQUdFIERJU0sgQ09MVU1OX0ZPUk1BVCBGSVhFRCwKK01P RElGWSBDT0xVTU4gcSBpbnQgU1RPUkFHRSBNRU1PUlkgQ09MVU1OX0ZPUk1BVCBGSVhFRCwKK01P RElGWSBDT0xVTU4gciBpbnQgU1RPUkFHRSBESVNLOworU0hPVyBDUkVBVEUgVEFCTEUgdDE7CitU YWJsZQlDcmVhdGUgVGFibGUKK3QxCUNSRUFURSBUQUJMRSBgdDFgICgKKyAgYGFgIGludCgxMSkg LyohNTA2MDYgU1RPUkFHRSBESVNLICovIERFRkFVTFQgTlVMTCwKKyAgYGJgIGludCgxMSkgTk9U IE5VTEwgLyohNTA2MDYgU1RPUkFHRSBNRU1PUlkgKi8sCisgIGBjYCBpbnQoMTEpIC8qITUwNjA2 IENPTFVNTl9GT1JNQVQgRFlOQU1JQyAqLyBERUZBVUxUIE5VTEwsCisgIGBkYCBpbnQoMTEpIC8q ITUwNjA2IENPTFVNTl9GT1JNQVQgRklYRUQgKi8gREVGQVVMVCBOVUxMLAorICBgZWAgaW50KDEx KSBERUZBVUxUIE5VTEwsCisgIGBmYCBpbnQoMTEpIE5PVCBOVUxMIC8qITUwNjA2IFNUT1JBR0Ug RElTSyAqLyAvKiE1MDYwNiBDT0xVTU5fRk9STUFUIERZTkFNSUMgKi8sCisgIGBnYCBpbnQoMTEp IC8qITUwNjA2IFNUT1JBR0UgTUVNT1JZICovIC8qITUwNjA2IENPTFVNTl9GT1JNQVQgRFlOQU1J QyAqLyBERUZBVUxUIE5VTEwsCisgIGBoYCBpbnQoMTEpIC8qITUwNjA2IFNUT1JBR0UgRElTSyAq LyAvKiE1MDYwNiBDT0xVTU5fRk9STUFUIEZJWEVEICovIERFRkFVTFQgTlVMTCwKKyAgYGlgIGlu dCgxMSkgLyohNTA2MDYgU1RPUkFHRSBNRU1PUlkgKi8gLyohNTA2MDYgQ09MVU1OX0ZPUk1BVCBG SVhFRCAqLyBERUZBVUxUIE5VTEwsCisgIGBqYCBpbnQoMTEpIE5PVCBOVUxMIC8qITUwNjA2IFNU T1JBR0UgTUVNT1JZICovLAorICBga2AgaW50KDExKSAvKiE1MDYwNiBDT0xVTU5fRk9STUFUIERZ TkFNSUMgKi8gREVGQVVMVCBOVUxMLAorICBgbGAgaW50KDExKSAvKiE1MDYwNiBDT0xVTU5fRk9S TUFUIEZJWEVEICovIERFRkFVTFQgTlVMTCwKKyAgYG1gIGludCgxMSkgREVGQVVMVCBOVUxMLAor ICBgbmAgaW50KDExKSBOT1QgTlVMTCAvKiE1MDYwNiBTVE9SQUdFIERJU0sgKi8gLyohNTA2MDYg Q09MVU1OX0ZPUk1BVCBEWU5BTUlDICovLAorICBgb2AgaW50KDExKSAvKiE1MDYwNiBTVE9SQUdF IE1FTU9SWSAqLyAvKiE1MDYwNiBDT0xVTU5fRk9STUFUIERZTkFNSUMgKi8gREVGQVVMVCBOVUxM LAorICBgcGAgaW50KDExKSAvKiE1MDYwNiBTVE9SQUdFIERJU0sgKi8gLyohNTA2MDYgQ09MVU1O X0ZPUk1BVCBGSVhFRCAqLyBERUZBVUxUIE5VTEwsCisgIGBxYCBpbnQoMTEpIC8qITUwNjA2IFNU T1JBR0UgTUVNT1JZICovIC8qITUwNjA2IENPTFVNTl9GT1JNQVQgRklYRUQgKi8gREVGQVVMVCBO VUxMLAorICBgcmAgaW50KDExKSAvKiE1MDYwNiBTVE9SQUdFIERJU0sgKi8gREVGQVVMVCBOVUxM CispIEVOR0lORT1NeUlTQU0gREVGQVVMVCBDSEFSU0VUPWxhdGluMQorQUxURVIgVEFCTEUgdDEK K01PRElGWSBDT0xVTU4gaCBpbnQgQ09MVU1OX0ZPUk1BVCBEWU5BTUlDIENPTFVNTl9GT1JNQVQg RklYRUQsCitNT0RJRlkgQ09MVU1OIGkgaW50IENPTFVNTl9GT1JNQVQgRFlOQU1JQyBDT0xVTU5f Rk9STUFUIERFRkFVTFQsCitNT0RJRlkgQ09MVU1OIGogaW50IENPTFVNTl9GT1JNQVQgRklYRUQg Q09MVU1OX0ZPUk1BVCBEWU5BTUlDLAorTU9ESUZZIENPTFVNTiBrIGludCBDT0xVTU5fRk9STUFU IEZJWEVEIENPTFVNTl9GT1JNQVQgREVGQVVMVCwKK01PRElGWSBDT0xVTU4gbCBpbnQgU1RPUkFH RSBESVNLIFNUT1JBR0UgTUVNT1JZLAorTU9ESUZZIENPTFVNTiBtIGludCBTVE9SQUdFIERJU0sg U1RPUkFHRSBERUZBVUxULAorTU9ESUZZIENPTFVNTiBuIGludCBTVE9SQUdFIE1FTU9SWSBTVE9S QUdFIERJU0ssCitNT0RJRlkgQ09MVU1OIG8gaW50IFNUT1JBR0UgTUVNT1JZIFNUT1JBR0UgREVG QVVMVCwKK01PRElGWSBDT0xVTU4gcCBpbnQgU1RPUkFHRSBESVNLIFNUT1JBR0UgTUVNT1JZCitD T0xVTU5fRk9STUFUIEZJWEVEIENPTFVNTl9GT1JNQVQgRFlOQU1JQywKK01PRElGWSBDT0xVTU4g cSBpbnQgU1RPUkFHRSBESVNLIFNUT1JBR0UgTUVNT1JZIFNUT1JBR0UgREVGQVVMVAorQ09MVU1O X0ZPUk1BVCBGSVhFRCBDT0xVTU5fRk9STUFUIERZTkFNSUMgQ09MVU1OX0ZPUk1BVCBERUZBVUxU LAorTU9ESUZZIENPTFVNTiByIGludCBTVE9SQUdFIERFRkFVTFQgU1RPUkFHRSBERUZBVUxUIFNU T1JBR0UgTUVNT1JZCitTVE9SQUdFIERJU0sgU1RPUkFHRSBNRU1PUlkgU1RPUkFHRSBESVNLIFNU T1JBR0UgRElTSzsKK1NIT1cgQ1JFQVRFIFRBQkxFIHQxOworVGFibGUJQ3JlYXRlIFRhYmxlCit0 MQlDUkVBVEUgVEFCTEUgYHQxYCAoCisgIGBhYCBpbnQoMTEpIC8qITUwNjA2IFNUT1JBR0UgRElT SyAqLyBERUZBVUxUIE5VTEwsCisgIGBiYCBpbnQoMTEpIE5PVCBOVUxMIC8qITUwNjA2IFNUT1JB R0UgTUVNT1JZICovLAorICBgY2AgaW50KDExKSAvKiE1MDYwNiBDT0xVTU5fRk9STUFUIERZTkFN SUMgKi8gREVGQVVMVCBOVUxMLAorICBgZGAgaW50KDExKSAvKiE1MDYwNiBDT0xVTU5fRk9STUFU IEZJWEVEICovIERFRkFVTFQgTlVMTCwKKyAgYGVgIGludCgxMSkgREVGQVVMVCBOVUxMLAorICBg ZmAgaW50KDExKSBOT1QgTlVMTCAvKiE1MDYwNiBTVE9SQUdFIERJU0sgKi8gLyohNTA2MDYgQ09M VU1OX0ZPUk1BVCBEWU5BTUlDICovLAorICBgZ2AgaW50KDExKSAvKiE1MDYwNiBTVE9SQUdFIE1F TU9SWSAqLyAvKiE1MDYwNiBDT0xVTU5fRk9STUFUIERZTkFNSUMgKi8gREVGQVVMVCBOVUxMLAor ICBgaGAgaW50KDExKSAvKiE1MDYwNiBDT0xVTU5fRk9STUFUIEZJWEVEICovIERFRkFVTFQgTlVM TCwKKyAgYGlgIGludCgxMSkgREVGQVVMVCBOVUxMLAorICBgamAgaW50KDExKSAvKiE1MDYwNiBD T0xVTU5fRk9STUFUIERZTkFNSUMgKi8gREVGQVVMVCBOVUxMLAorICBga2AgaW50KDExKSBERUZB VUxUIE5VTEwsCisgIGBsYCBpbnQoMTEpIC8qITUwNjA2IFNUT1JBR0UgTUVNT1JZICovIERFRkFV TFQgTlVMTCwKKyAgYG1gIGludCgxMSkgREVGQVVMVCBOVUxMLAorICBgbmAgaW50KDExKSAvKiE1 MDYwNiBTVE9SQUdFIERJU0sgKi8gREVGQVVMVCBOVUxMLAorICBgb2AgaW50KDExKSBERUZBVUxU IE5VTEwsCisgIGBwYCBpbnQoMTEpIC8qITUwNjA2IFNUT1JBR0UgTUVNT1JZICovIC8qITUwNjA2 IENPTFVNTl9GT1JNQVQgRFlOQU1JQyAqLyBERUZBVUxUIE5VTEwsCisgIGBxYCBpbnQoMTEpIERF RkFVTFQgTlVMTCwKKyAgYHJgIGludCgxMSkgLyohNTA2MDYgU1RPUkFHRSBESVNLICovIERFRkFV TFQgTlVMTAorKSBFTkdJTkU9TXlJU0FNIERFRkFVTFQgQ0hBUlNFVD1sYXRpbjEKK0RST1AgVEFC TEUgdDE7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9iaW5sb2cvci9iaW5s b2dfZ3JhbnQucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2JpbmxvZy9yL2JpbmxvZ19n cmFudC5yZXN1bHQJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTIt MmIxZGRkdDVuMG5lenpwMQorKysgYi9teXNxbC10ZXN0L3N1aXRlL2JpbmxvZy9yL2JpbmxvZ19n cmFudC5yZXN1bHQJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMzMyMzct YTl2NDVqMm9oNGUycGk0bApAQCAtMjIsMyArMjIsNyBAQCBFUlJPUiA0MjAwMDogQWNjZXNzIGRl bmllZDsgeW91IG5lZWQgKGF0CiAqKioqIENsZWFuIHVwICoqKioKIHNldCBnbG9iYWwgYmlubG9n X2Zvcm1hdCA9IEBzYXZlZF9iaW5sb2dfZm9ybWF0OwogZHJvcCB1c2VyIG15c3FsdGVzdF8xQGxv Y2FsaG9zdDsKK0dSQU5UIFJFUExJQ0FUSU9OIENMSUVOVCBPTiAqLiogVE8gJ215c3FsdGVzdF8x J0AnbG9jYWxob3N0JzsKK1NIT1cgTUFTVEVSIExPR1M7CitTSE9XIEJJTkFSWSBMT0dTOworRFJP UCBVU0VSICdteXNxbHRlc3RfMSdAJ2xvY2FsaG9zdCc7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlz cWwtdGVzdC9zdWl0ZS9iaW5sb2cvdC9iaW5sb2dfZ3JhbnQudGVzdCcKLS0tIGEvbXlzcWwtdGVz dC9zdWl0ZS9iaW5sb2cvdC9iaW5sb2dfZ3JhbnQudGVzdAlyZXZpZDptYXJrby5tYWtlbGFAb3Jh Y2xlLmNvbS0yMDEyMDQxODEwNDkxMi0yYjFkZGR0NW4wbmV6enAxCisrKyBiL215c3FsLXRlc3Qv c3VpdGUvYmlubG9nL3QvYmlubG9nX2dyYW50LnRlc3QJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNs ZS5jb20tMjAxMjA0MTgxMzMyMzctYTl2NDVqMm9oNGUycGk0bApAQCAtNTQsMyArNTQsMjIgQEAg ZGlzY29ubmVjdCByb290OwogY29ubmVjdGlvbiBkZWZhdWx0Owogc2V0IGdsb2JhbCBiaW5sb2df Zm9ybWF0ID0gQHNhdmVkX2JpbmxvZ19mb3JtYXQ7CiBkcm9wIHVzZXIgbXlzcWx0ZXN0XzFAbG9j YWxob3N0OworCisKKyMgVGVzdGluZyBpZiBSRVBMSUNBVElPTiBDTElFTlQgcHJpdmlsZWdlIGlz IGVub3VnaCB0byBleGVjdXRlCisjIFNIT1cgTUFTVEVSIExPR1MgYW5kIFNIT1cgQklOQVJZLgor R1JBTlQgUkVQTElDQVRJT04gQ0xJRU5UIE9OICouKiBUTyAnbXlzcWx0ZXN0XzEnQCdsb2NhbGhv c3QnOworLS1jb25uZWN0KHJwbCxsb2NhbGhvc3QsbXlzcWx0ZXN0XzEsLCkKKworLS1jb25uZWN0 aW9uIHJwbAorIyBXZSBhcmUgb25seSBpbnRlcmVzdGVkIGlmIHRoZSBmb2xsb3dpbmcgY29tbWFu ZHMgc3VjY2VlZCBhbmQgbm90IG9uCisjIHRoZWlyIG91dHB1dC4KKy0tZGlzYWJsZV9yZXN1bHRf bG9nCitTSE9XIE1BU1RFUiBMT0dTOworU0hPVyBCSU5BUlkgTE9HUzsKKy0tZW5hYmxlX3Jlc3Vs dF9sb2cKKworIyBjbGVhbiB1cAorLS1kaXNjb25uZWN0IHJwbAorY29ubmVjdGlvbiBkZWZhdWx0 OworRFJPUCBVU0VSICdteXNxbHRlc3RfMSdAJ2xvY2FsaG9zdCc7Cgo9PT0gbW9kaWZpZWQgZmls ZSAnbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvci9pbm5vZGItaW5kZXgtb25saW5lLnJlc3VsdCcK LS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvci9pbm5vZGItaW5kZXgtb25saW5lLnJlc3Vs dAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEwNDkxMi0yYjFkZGR0NW4w bmV6enAxCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3IvaW5ub2RiLWluZGV4LW9ubGlu ZS5yZXN1bHQJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMzMyMzctYTl2 NDVqMm9oNGUycGk0bApAQCAtMjY2LDEwICsyNjYsNiBAQCBBTFRFUiBUQUJMRSB0MSBEUk9QIElO REVYIGMyZiwgQUREIElOREVYCiBTRVQgREVCVUdfU1lOQz0nbm93IFdBSVRfRk9SIGMyZ19jcmVh dGVkJzsKIFNFVCBsb2NrX3dhaXRfdGltZW91dD0xMDsKIEFMVEVSIFRBQkxFIHQxIERJU0NBUkQg VEFCTEVTUEFDRTsKLVNFTEVDVCBzdGF0ZSBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS5wcm9jZXNz bGlzdAotV0hFUkUgaW5mbz0nQUxURVIgVEFCTEUgdDEgRElTQ0FSRCBUQUJMRVNQQUNFJzsKLXN0 YXRlCi1XYWl0aW5nIGZvciB0YWJsZSBsZXZlbCBsb2NrCiBTRVQgREVCVUdfU1lOQz0nbm93IFNJ R05BTCBkbWw0X2RvbmUnOwogRVJST1IgSFkwMDA6IExvY2sgd2FpdCB0aW1lb3V0IGV4Y2VlZGVk OyB0cnkgcmVzdGFydGluZyB0cmFuc2FjdGlvbgogU0hPVyBDUkVBVEUgVEFCTEUgdDE7Cgo9PT0g bW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvdC9pbm5vZGItYWx0ZXItZGlz Y2FyZC50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYi1hbHRlci1k aXNjYXJkLnRlc3QJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTIt MmIxZGRkdDVuMG5lenpwMQorKysgYi9teXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9kYi1h bHRlci1kaXNjYXJkLnRlc3QJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgx MzMyMzctYTl2NDVqMm9oNGUycGk0bApAQCAtMSw1ICsxLDYgQEAKICNCdWcjMTM5NTUwODMgQUxM T1cgSU4tUExBQ0UgRERMIE9QRVJBVElPTlMgT04gTUlTU0lORyBPUiBESVNDQVJERUQgVEFCTEVT UEFDRVMKIAorLS1zb3VyY2UgaW5jbHVkZS9ub3RfZW1iZWRkZWQuaW5jCiAtLXNvdXJjZSBpbmNs dWRlL2hhdmVfaW5ub2RiLmluYwogCiBsZXQgJE1ZU1FMRF9EQVRBRElSPWBzZWxlY3QgQEBkYXRh ZGlyYDsKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL2lubm9kYi90L2lubm9k Yi1pbmRleC1vbmxpbmUudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvdC9pbm5v ZGItaW5kZXgtb25saW5lLnRlc3QJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0 MTgxMDQ5MTItMmIxZGRkdDVuMG5lenpwMQorKysgYi9teXNxbC10ZXN0L3N1aXRlL2lubm9kYi90 L2lubm9kYi1pbmRleC1vbmxpbmUudGVzdAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0y MDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJwaTRsCkBAIC0yODIsMTggKzI4MiwyMCBAQCBTRVQg bG9ja193YWl0X3RpbWVvdXQ9MTA7CiBBTFRFUiBUQUJMRSB0MSBESVNDQVJEIFRBQkxFU1BBQ0U7 CiAKIGNvbm5lY3Rpb24gY29uMTsKLVNFTEVDVCBzdGF0ZSBGUk9NIGluZm9ybWF0aW9uX3NjaGVt YS5wcm9jZXNzbGlzdAotV0hFUkUgaW5mbz0nQUxURVIgVEFCTEUgdDEgRElTQ0FSRCBUQUJMRVNQ QUNFJzsKK2xldCAkd2FpdF9jb25kaXRpb249CisgIFNFTEVDVCBDT1VOVCgqKSA9IDEgRlJPTSBp bmZvcm1hdGlvbl9zY2hlbWEucHJvY2Vzc2xpc3QKKyAgV0hFUkUgc3RhdGUgPSAnV2FpdGluZyBm b3IgdGFibGUgbGV2ZWwgbG9jaycgYW5kCisgICAgICAgIGluZm8gPSAnQUxURVIgVEFCTEUgdDEg RElTQ0FSRCBUQUJMRVNQQUNFJzsKKy0tc291cmNlIGluY2x1ZGUvd2FpdF9jb25kaXRpb24uaW5j CiAKIFNFVCBERUJVR19TWU5DPSdub3cgU0lHTkFMIGRtbDRfZG9uZSc7CiBkaXNjb25uZWN0IGNv bjE7Ci1jb25uZWN0aW9uIGRlZmF1bHQ7Ci0tLWVycm9yIEVSX0xPQ0tfV0FJVF9USU1FT1VUCi1y ZWFwOwogY29ubmVjdGlvbiBjb24yOwogcmVhcDsKIGRpc2Nvbm5lY3QgY29uMjsKIGNvbm5lY3Rp b24gZGVmYXVsdDsKKy0tZXJyb3IgRVJfTE9DS19XQUlUX1RJTUVPVVQKK3JlYXA7CiAKIFNIT1cg Q1JFQVRFIFRBQkxFIHQxOwogQUxURVIgVEFCTEUgdDEgRFJPUCBJTkRFWCBjMmQsIERST1AgSU5E RVggYzJmOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS9y L2RpZ2VzdF90YWJsZV9mdWxsLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9wZXJmc2No ZW1hL3IvZGlnZXN0X3RhYmxlX2Z1bGwucmVzdWx0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUu Y29tLTIwMTIwNDE4MTA0OTEyLTJiMWRkZHQ1bjBuZXp6cDEKKysrIGIvbXlzcWwtdGVzdC9zdWl0 ZS9wZXJmc2NoZW1hL3IvZGlnZXN0X3RhYmxlX2Z1bGwucmVzdWx0CXJldmlkOm1hcmtvLm1ha2Vs YUBvcmFjbGUuY29tLTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTg2LDcgKzg2 LDcgQEAgU0VMRUNUIERJR0VTVCwgRElHRVNUX1RFWFQsIENPVU5UX1NUQVIsCiBTVU1fRVJST1JT IEZST00gcGVyZm9ybWFuY2Vfc2NoZW1hLmV2ZW50c19zdGF0ZW1lbnRzX3N1bW1hcnlfYnlfZGln ZXN0OwogRElHRVNUCURJR0VTVF9URVhUCUNPVU5UX1NUQVIJU1VNX1JPV1NfQUZGRUNURUQJU1VN X1dBUk5JTkdTCVNVTV9FUlJPUlMKIE5VTEwJTlVMTAkzOAkzMAkxCTIKLWE5MzhhMWYzMTI1NmZk MmVjMWJjM2NkYTliN2E4NTE5CVRSVU5DQVRFIFRBQkxFIHBlcmZvcm1hbmNlX3NjaGVtYSAuIGV2 ZW50c19zdGF0ZW1lbnRzX3N1bW1hcnlfYnlfZGlnZXN0ICAJMQkwCTAJMAorNzBlY2Q5YzllNDQ3 ZmUzNDMzMjJmMjlkNTNmZTQ1NGYJVFJVTkNBVEUgVEFCTEUgcGVyZm9ybWFuY2Vfc2NoZW1hIC4g ZXZlbnRzX3N0YXRlbWVudHNfc3VtbWFyeV9ieV9kaWdlc3QgIAkxCTAJMAkwCiBTSE9XIFZBUklB QkxFUyBMSUtFICJwZXJmb3JtYW5jZV9zY2hlbWFfZGlnZXN0c19zaXplIjsKIFZhcmlhYmxlX25h bWUJVmFsdWUKIHBlcmZvcm1hbmNlX3NjaGVtYV9kaWdlc3RzX3NpemUJMgoKPT09IG1vZGlmaWVk IGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS9yL3N0YXRlbWVudF9kaWdlc3QucmVz dWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL3BlcmZzY2hlbWEvci9zdGF0ZW1lbnRfZGlnZXN0 LnJlc3VsdAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEwNDkxMi0yYjFk ZGR0NW4wbmV6enAxCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS9yL3N0YXRlbWVu dF9kaWdlc3QucmVzdWx0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTMz MjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTg1LDMwICs4NSwzMCBAQCBXYXJuaW5nCTEyNjUJRGF0 YSB0cnVuY2F0ZWQgZm9yIGNvbHVtbiAnCiBTRUxFQ1QgRElHRVNULCBESUdFU1RfVEVYVCwgQ09V TlRfU1RBUiwgU1VNX1JPV1NfQUZGRUNURUQsIFNVTV9XQVJOSU5HUywKIFNVTV9FUlJPUlMgRlJP TSBwZXJmb3JtYW5jZV9zY2hlbWEuZXZlbnRzX3N0YXRlbWVudHNfc3VtbWFyeV9ieV9kaWdlc3Q7 CiBESUdFU1QJRElHRVNUX1RFWFQJQ09VTlRfU1RBUglTVU1fUk9XU19BRkZFQ1RFRAlTVU1fV0FS TklOR1MJU1VNX0VSUk9SUwotYTkzOGExZjMxMjU2ZmQyZWMxYmMzY2RhOWI3YTg1MTkJVFJVTkNB VEUgVEFCTEUgcGVyZm9ybWFuY2Vfc2NoZW1hIC4gZXZlbnRzX3N0YXRlbWVudHNfc3VtbWFyeV9i eV9kaWdlc3QgIAkxCTAJMAkwCi1lN2Y4ZGMxNWYxMTU2ZjU3OTc4MTE2ZTQ1N2NjNzQ4OAlTRUxF Q1QgPyBGUk9NIHQxICAJMQkwCTAJMAotMjljM2Y4YWJhYjc5NjJmZTFmNjY0YTUxZmNhOWVmZmMJ U0VMRUNUID8gRlJPTSBgdDFgICAJMQkwCTAJMAotY2E1MGVlOWZjY2MwMGEyYzk1ZTQ0ZWYzZmVl YTg2NmEJU0VMRUNUID8sIC4uLiBGUk9NIHQxICAJMgkwCTAJMAotM2I4ZDU0NzdhYTc5NWExOWM5 ZTkxODNlNGFkMDRlNmIJU0VMRUNUID8gRlJPTSB0MiAgCTEJMAkwCTAKLTgwNjdiYjUxMWMzNjIw YWFjNTM4OGM1Njc0YjMyOGEwCVNFTEVDVCA/LCAuLi4gRlJPTSB0MiAgCTIJMAkwCTAKLWE1OGNj OTU3ZmZkZDMyYzJjZmZlZmZhNjViNmM5MzI0CUlOU0VSVCBJTlRPIHQxIFZBTFVFUyAoPykgIAkx CTEJMAkwCi00Mzk4Njk1Mjk1MDhmZTYyMDA3YzZmOTc4OTBhNDNhZQlJTlNFUlQgSU5UTyB0MiBW QUxVRVMgKD8pICAJMQkxCTAJMAotYTlmMzJlNGM1MTE3NTNkNzMxN2EwMTQ2MzAwNTAyNzQJSU5T RVJUIElOVE8gdDMgVkFMVUVTICguLi4pICAJNAk0CTAJMAotNTUzNTE4NjJiNGNjMjk5YmZkOTk1 ODkyMDkzNmRjMzQJSU5TRVJUIElOVE8gdDQgVkFMVUVTICguLi4pICAJMQkxCTAJMAotOTc2YmEx OTEyZTNiZjJkMjlmYjBlZWZlZDc1YzlmODkJSU5TRVJUIElOVE8gdDUgVkFMVUVTICguLi4pICAJ MQkxCTAJMAotZGU3MWFlYTNhYWFiNjgyNmU1MmM2OTAxOTdjMjhhNDIJSU5TRVJUIElOVE8gdDEg VkFMVUVTICg/KSAvKiAsIC4uLiAqLyAgCTIJNwkwCTAKLTUxYTM1MWY5MmU2ZmQzNGNlZjQzYWRk NTFlZWY2NWZlCUlOU0VSVCBJTlRPIHQzIFZBTFVFUyAoLi4uKSAvKiAsIC4uLiAqLyAgCTEJMwkw CTAKLTg1ZWMwNTE5NWZkODcxMDNiOGU3NTFjNTU5YWJlOWQ0CUlOU0VSVCBJTlRPIHQ1IFZBTFVF UyAoLi4uKSAvKiAsIC4uLiAqLyAgCTEJMwkwCTAKLWM3MmE5OWRhYjUzN2IwMGYxMjNmY2IxYzg3 Yzc0MTE1CUlOU0VSVCBJTlRPIHQxIFZBTFVFUyAoIE5VTEwgKSAgCTEJMQkwCTAKLTc5OWM4N2Vl ZGJkMjZiMjcxNDZjN2YwMWNmMjc1YTlhCUlOU0VSVCBJTlRPIHQ2IFZBTFVFUyAoLi4uKSAgCTUJ NQkwCTAKLWU1MGEzNzdmZTk2YTM0NGJlODQ5NjE0OGJjZDYwNDA3CVNFTEVDVCA/ICsgPyAgCTMJ MAkwCTAKLTA4YmNiMDYzZDljM2M2YWM5ZTE1MGVjN2M3MjdlZWE3CVNFTEVDVCA/ICAJMQkwCTAJ MAotMzAwNDZkOTdjZmRjNDRjOTViZGFhN2YzOTg3ZDBhMjAJQ1JFQVRFIFNDSEVNQSBzdGF0ZW1l bnRzX2RpZ2VzdF90ZW1wICAJMgkyCTAJMAotOGU0MGU2NDYxZjNhYjQ0NTRkZGI4ZjIxYjVjZGEz YmEJRFJPUCBTQ0hFTUEgc3RhdGVtZW50c19kaWdlc3RfdGVtcCAgCTIJMAkwCTAKLTJmYjdhNzBj YmNmYmMyZTE5MDAzNzU0MDZiOWU0ZmNhCVNFTEVDVCA/IEZST00gdDExICAJMQkwCTAJMQotMWNm YWRkNzRkM2U1Zjk5MmFlOGFlNjk0Yzg2ZmM5ZWMJQ1JFQVRFIFRBQkxFIHQxMSAoIGMgQ0hBUkFD VEVSICg/KSApICAJMgkwCTAJMQotMzY3YzZkMGViMDBjMWE2ZTU1M2RlZGRjMTk1YTYwNjEJSU5T RVJUIElOVE8gdDExIFZBTFVFUyAoPykgIAkxCTEJMQkwCi03NTZmMjVkNTRiYjNkYWY5MmM1NDkw M2I2NTg0NTg2YwlTSE9XIFdBUk5JTkdTICAJMQkwCTAJMAorNzBlY2Q5YzllNDQ3ZmUzNDMzMjJm MjlkNTNmZTQ1NGYJVFJVTkNBVEUgVEFCTEUgcGVyZm9ybWFuY2Vfc2NoZW1hIC4gZXZlbnRzX3N0 YXRlbWVudHNfc3VtbWFyeV9ieV9kaWdlc3QgIAkxCTAJMAkwCis1ZDQ5NTg1MjQ5MGYzMDQ3MmE1 ZTQ1MTk3M2YzNzNjMQlTRUxFQ1QgPyBGUk9NIHQxICAJMQkwCTAJMAorY2IwODI2YTM4Y2YxZDll OGM3N2ViYTVkN2Q2ZmI4NzUJU0VMRUNUID8gRlJPTSBgdDFgICAJMQkwCTAJMAorZTQ0NzMzODFi NTM3NjJhZjFlYjVjMTI2MTQzNzRmN2MJU0VMRUNUID8sIC4uLiBGUk9NIHQxICAJMgkwCTAJMAor Y2VlZTg5MzZhODdhMGY1MTc1NzM0ZjVmMTBlNzA1N2MJU0VMRUNUID8gRlJPTSB0MiAgCTEJMAkw CTAKK2E3ODMwNzkwZDQ5ZWYyODFmODdlMjRkNzE1MTVhYWI0CVNFTEVDVCA/LCAuLi4gRlJPTSB0 MiAgCTIJMAkwCTAKKzgwYWVjZmIyNzA3MTAxZmM0N2Q2ZTdmYjJkZTY4MzJmCUlOU0VSVCBJTlRP IHQxIFZBTFVFUyAoPykgIAkxCTEJMAkwCiszZGQzZTdiZWY4NzZmZWM0NGZiMmE4OTY5NzhlY2Rl OQlJTlNFUlQgSU5UTyB0MiBWQUxVRVMgKD8pICAJMQkxCTAJMAorOWZlZDU4OTNmMWUyYzI3MmI0 N2YxNzkwYWNmNmQzYTEJSU5TRVJUIElOVE8gdDMgVkFMVUVTICguLi4pICAJNAk0CTAJMAorM2Q0 ZmY4MzcwNmMwMDFjYmM1ODc0MWU0NTgzZDdiMGYJSU5TRVJUIElOVE8gdDQgVkFMVUVTICguLi4p ICAJMQkxCTAJMAorZDVjNGQ4YmU4Zjk0MGQzZWJhMWMwYzVhZTFkYzUxMmQJSU5TRVJUIElOVE8g dDUgVkFMVUVTICguLi4pICAJMQkxCTAJMAorNjcyMjE1YmVlNzM0NmViYTMzM2JmNjQzY2ZkODU1 NjMJSU5TRVJUIElOVE8gdDEgVkFMVUVTICg/KSAvKiAsIC4uLiAqLyAgCTIJNwkwCTAKK2FmNGYy ZWYxOTcwNDc1NDM3NDAwZTU3NDJlNWVjNGVkCUlOU0VSVCBJTlRPIHQzIFZBTFVFUyAoLi4uKSAv KiAsIC4uLiAqLyAgCTEJMwkwCTAKK2M4YzZjZWEzNzlhNTliZDU0ODY4YWE2YTAyOTg4ZGU1CUlO U0VSVCBJTlRPIHQ1IFZBTFVFUyAoLi4uKSAvKiAsIC4uLiAqLyAgCTEJMwkwCTAKK2FlMjgwZDk3 MDk3YmFlNGQyOTNjMWE5ODZlZDI4NDE4CUlOU0VSVCBJTlRPIHQxIFZBTFVFUyAoIE5VTEwgKSAg CTEJMQkwCTAKK2ViYmUzY2I4NTE5Njk1OTJlNmZjMjU5MjFmYTdiNTNiCUlOU0VSVCBJTlRPIHQ2 IFZBTFVFUyAoLi4uKSAgCTUJNQkwCTAKKzdmMDdjMmY1ZDUyNTRmNDVhMzM2NWQwYTk4MDE1ODYy CVNFTEVDVCA/ICsgPyAgCTMJMAkwCTAKKzcwZDNlNGQwZjEzMWZjNTMyNGVkYzk5MGZiZWQzYmQ4 CVNFTEVDVCA/ICAJMQkwCTAJMAorZmI0MGFlY2UxZjY4YjVjM2ZiYWYyMjBiYzIxYWQzNTMJQ1JF QVRFIFNDSEVNQSBzdGF0ZW1lbnRzX2RpZ2VzdF90ZW1wICAJMgkyCTAJMAorNjIyZWY5MzIzZWQ5 OWVlMTY1ZDc5NDc3MjE5YTY5M2IJRFJPUCBTQ0hFTUEgc3RhdGVtZW50c19kaWdlc3RfdGVtcCAg CTIJMAkwCTAKK2NjMGVmOGViMmY5MmE2ZGRmMmU5M2ZlZjk5MDQ0YzkyCVNFTEVDVCA/IEZST00g dDExICAJMQkwCTAJMQorNDg3MzAyMjdjNWU1M2RmYjZlZTc2NWMyNTE5MzBiYzYJQ1JFQVRFIFRB QkxFIHQxMSAoIGMgQ0hBUkFDVEVSICg/KSApICAJMgkwCTAJMQorNTQyNjExNWJiMzI2NTUzZGIx NWRhMzVkMGM1MjBiMmIJSU5TRVJUIElOVE8gdDExIFZBTFVFUyAoPykgIAkxCTEJMQkwCis5ZTIz OTczZWE2YmVlZjE3MzdkYTI4ZDYzNzJlZWJkYwlTSE9XIFdBUk5JTkdTICAJMQkwCTAJMAogIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIENMRUFOVVAKICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qv c3VpdGUvcGVyZnNjaGVtYS9yL3N0YXRlbWVudF9kaWdlc3RfY29uc3VtZXJzLnJlc3VsdCcKLS0t IGEvbXlzcWwtdGVzdC9zdWl0ZS9wZXJmc2NoZW1hL3Ivc3RhdGVtZW50X2RpZ2VzdF9jb25zdW1l cnMucmVzdWx0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTA0OTEyLTJi MWRkZHQ1bjBuZXp6cDEKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9wZXJmc2NoZW1hL3Ivc3RhdGVt ZW50X2RpZ2VzdF9jb25zdW1lcnMucmVzdWx0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29t LTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTk4LDMwICs5OCwzMCBAQCBXYXJu aW5nCTEyNjUJRGF0YSB0cnVuY2F0ZWQgZm9yIGNvbHVtbiAnCiAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKIFNFTEVDVCBkaWdlc3QsIGRpZ2VzdF90ZXh0LCBjb3VudF9zdGFy IEZST00gcGVyZm9ybWFuY2Vfc2NoZW1hLmV2ZW50c19zdGF0ZW1lbnRzX3N1bW1hcnlfYnlfZGln ZXN0OwogZGlnZXN0CWRpZ2VzdF90ZXh0CWNvdW50X3N0YXIKLWE5MzhhMWYzMTI1NmZkMmVjMWJj M2NkYTliN2E4NTE5CVRSVU5DQVRFIFRBQkxFIHBlcmZvcm1hbmNlX3NjaGVtYSAuIGV2ZW50c19z dGF0ZW1lbnRzX3N1bW1hcnlfYnlfZGlnZXN0ICAJMQotZTdmOGRjMTVmMTE1NmY1Nzk3ODExNmU0 NTdjYzc0ODgJU0VMRUNUID8gRlJPTSB0MSAgCTEKLTI5YzNmOGFiYWI3OTYyZmUxZjY2NGE1MWZj YTllZmZjCVNFTEVDVCA/IEZST00gYHQxYCAgCTEKLWNhNTBlZTlmY2NjMDBhMmM5NWU0NGVmM2Zl ZWE4NjZhCVNFTEVDVCA/LCAuLi4gRlJPTSB0MSAgCTIKLTNiOGQ1NDc3YWE3OTVhMTljOWU5MTgz ZTRhZDA0ZTZiCVNFTEVDVCA/IEZST00gdDIgIAkxCi04MDY3YmI1MTFjMzYyMGFhYzUzODhjNTY3 NGIzMjhhMAlTRUxFQ1QgPywgLi4uIEZST00gdDIgIAkyCi1hNThjYzk1N2ZmZGQzMmMyY2ZmZWZm YTY1YjZjOTMyNAlJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKD8pICAJMQotNDM5ODY5NTI5NTA4ZmU2 MjAwN2M2Zjk3ODkwYTQzYWUJSU5TRVJUIElOVE8gdDIgVkFMVUVTICg/KSAgCTEKLWE5ZjMyZTRj NTExNzUzZDczMTdhMDE0NjMwMDUwMjc0CUlOU0VSVCBJTlRPIHQzIFZBTFVFUyAoLi4uKSAgCTQK LTU1MzUxODYyYjRjYzI5OWJmZDk5NTg5MjA5MzZkYzM0CUlOU0VSVCBJTlRPIHQ0IFZBTFVFUyAo Li4uKSAgCTEKLTk3NmJhMTkxMmUzYmYyZDI5ZmIwZWVmZWQ3NWM5Zjg5CUlOU0VSVCBJTlRPIHQ1 IFZBTFVFUyAoLi4uKSAgCTEKLWRlNzFhZWEzYWFhYjY4MjZlNTJjNjkwMTk3YzI4YTQyCUlOU0VS VCBJTlRPIHQxIFZBTFVFUyAoPykgLyogLCAuLi4gKi8gIAkyCi01MWEzNTFmOTJlNmZkMzRjZWY0 M2FkZDUxZWVmNjVmZQlJTlNFUlQgSU5UTyB0MyBWQUxVRVMgKC4uLikgLyogLCAuLi4gKi8gIAkx Ci04NWVjMDUxOTVmZDg3MTAzYjhlNzUxYzU1OWFiZTlkNAlJTlNFUlQgSU5UTyB0NSBWQUxVRVMg KC4uLikgLyogLCAuLi4gKi8gIAkxCi1jNzJhOTlkYWI1MzdiMDBmMTIzZmNiMWM4N2M3NDExNQlJ TlNFUlQgSU5UTyB0MSBWQUxVRVMgKCBOVUxMICkgIAkxCi03OTljODdlZWRiZDI2YjI3MTQ2Yzdm MDFjZjI3NWE5YQlJTlNFUlQgSU5UTyB0NiBWQUxVRVMgKC4uLikgIAk1Ci1lNTBhMzc3ZmU5NmEz NDRiZTg0OTYxNDhiY2Q2MDQwNwlTRUxFQ1QgPyArID8gIAkzCi0wOGJjYjA2M2Q5YzNjNmFjOWUx NTBlYzdjNzI3ZWVhNwlTRUxFQ1QgPyAgCTEKLTMwMDQ2ZDk3Y2ZkYzQ0Yzk1YmRhYTdmMzk4N2Qw YTIwCUNSRUFURSBTQ0hFTUEgc3RhdGVtZW50c19kaWdlc3RfdGVtcCAgCTIKLThlNDBlNjQ2MWYz YWI0NDU0ZGRiOGYyMWI1Y2RhM2JhCURST1AgU0NIRU1BIHN0YXRlbWVudHNfZGlnZXN0X3RlbXAg IAkyCi0yZmI3YTcwY2JjZmJjMmUxOTAwMzc1NDA2YjllNGZjYQlTRUxFQ1QgPyBGUk9NIHQxMSAg CTEKLTFjZmFkZDc0ZDNlNWY5OTJhZThhZTY5NGM4NmZjOWVjCUNSRUFURSBUQUJMRSB0MTEgKCBj IENIQVJBQ1RFUiAoPykgKSAgCTIKLTM2N2M2ZDBlYjAwYzFhNmU1NTNkZWRkYzE5NWE2MDYxCUlO U0VSVCBJTlRPIHQxMSBWQUxVRVMgKD8pICAJMQotNzU2ZjI1ZDU0YmIzZGFmOTJjNTQ5MDNiNjU4 NDU4NmMJU0hPVyBXQVJOSU5HUyAgCTEKKzcwZWNkOWM5ZTQ0N2ZlMzQzMzIyZjI5ZDUzZmU0NTRm CVRSVU5DQVRFIFRBQkxFIHBlcmZvcm1hbmNlX3NjaGVtYSAuIGV2ZW50c19zdGF0ZW1lbnRzX3N1 bW1hcnlfYnlfZGlnZXN0ICAJMQorNWQ0OTU4NTI0OTBmMzA0NzJhNWU0NTE5NzNmMzczYzEJU0VM RUNUID8gRlJPTSB0MSAgCTEKK2NiMDgyNmEzOGNmMWQ5ZThjNzdlYmE1ZDdkNmZiODc1CVNFTEVD VCA/IEZST00gYHQxYCAgCTEKK2U0NDczMzgxYjUzNzYyYWYxZWI1YzEyNjE0Mzc0ZjdjCVNFTEVD VCA/LCAuLi4gRlJPTSB0MSAgCTIKK2NlZWU4OTM2YTg3YTBmNTE3NTczNGY1ZjEwZTcwNTdjCVNF TEVDVCA/IEZST00gdDIgIAkxCithNzgzMDc5MGQ0OWVmMjgxZjg3ZTI0ZDcxNTE1YWFiNAlTRUxF Q1QgPywgLi4uIEZST00gdDIgIAkyCis4MGFlY2ZiMjcwNzEwMWZjNDdkNmU3ZmIyZGU2ODMyZglJ TlNFUlQgSU5UTyB0MSBWQUxVRVMgKD8pICAJMQorM2RkM2U3YmVmODc2ZmVjNDRmYjJhODk2OTc4 ZWNkZTkJSU5TRVJUIElOVE8gdDIgVkFMVUVTICg/KSAgCTEKKzlmZWQ1ODkzZjFlMmMyNzJiNDdm MTc5MGFjZjZkM2ExCUlOU0VSVCBJTlRPIHQzIFZBTFVFUyAoLi4uKSAgCTQKKzNkNGZmODM3MDZj MDAxY2JjNTg3NDFlNDU4M2Q3YjBmCUlOU0VSVCBJTlRPIHQ0IFZBTFVFUyAoLi4uKSAgCTEKK2Q1 YzRkOGJlOGY5NDBkM2ViYTFjMGM1YWUxZGM1MTJkCUlOU0VSVCBJTlRPIHQ1IFZBTFVFUyAoLi4u KSAgCTEKKzY3MjIxNWJlZTczNDZlYmEzMzNiZjY0M2NmZDg1NTYzCUlOU0VSVCBJTlRPIHQxIFZB TFVFUyAoPykgLyogLCAuLi4gKi8gIAkyCithZjRmMmVmMTk3MDQ3NTQzNzQwMGU1NzQyZTVlYzRl ZAlJTlNFUlQgSU5UTyB0MyBWQUxVRVMgKC4uLikgLyogLCAuLi4gKi8gIAkxCitjOGM2Y2VhMzc5 YTU5YmQ1NDg2OGFhNmEwMjk4OGRlNQlJTlNFUlQgSU5UTyB0NSBWQUxVRVMgKC4uLikgLyogLCAu Li4gKi8gIAkxCithZTI4MGQ5NzA5N2JhZTRkMjkzYzFhOTg2ZWQyODQxOAlJTlNFUlQgSU5UTyB0 MSBWQUxVRVMgKCBOVUxMICkgIAkxCitlYmJlM2NiODUxOTY5NTkyZTZmYzI1OTIxZmE3YjUzYglJ TlNFUlQgSU5UTyB0NiBWQUxVRVMgKC4uLikgIAk1Cis3ZjA3YzJmNWQ1MjU0ZjQ1YTMzNjVkMGE5 ODAxNTg2MglTRUxFQ1QgPyArID8gIAkzCis3MGQzZTRkMGYxMzFmYzUzMjRlZGM5OTBmYmVkM2Jk OAlTRUxFQ1QgPyAgCTEKK2ZiNDBhZWNlMWY2OGI1YzNmYmFmMjIwYmMyMWFkMzUzCUNSRUFURSBT Q0hFTUEgc3RhdGVtZW50c19kaWdlc3RfdGVtcCAgCTIKKzYyMmVmOTMyM2VkOTllZTE2NWQ3OTQ3 NzIxOWE2OTNiCURST1AgU0NIRU1BIHN0YXRlbWVudHNfZGlnZXN0X3RlbXAgIAkyCitjYzBlZjhl YjJmOTJhNmRkZjJlOTNmZWY5OTA0NGM5MglTRUxFQ1QgPyBGUk9NIHQxMSAgCTEKKzQ4NzMwMjI3 YzVlNTNkZmI2ZWU3NjVjMjUxOTMwYmM2CUNSRUFURSBUQUJMRSB0MTEgKCBjIENIQVJBQ1RFUiAo PykgKSAgCTIKKzU0MjYxMTViYjMyNjU1M2RiMTVkYTM1ZDBjNTIwYjJiCUlOU0VSVCBJTlRPIHQx MSBWQUxVRVMgKD8pICAJMQorOWUyMzk3M2VhNmJlZWYxNzM3ZGEyOGQ2MzcyZWViZGMJU0hPVyBX QVJOSU5HUyAgCTEKIFNFTEVDVCBkaWdlc3QsIGRpZ2VzdF90ZXh0IEZST00gcGVyZm9ybWFuY2Vf c2NoZW1hLmV2ZW50c19zdGF0ZW1lbnRzX2N1cnJlbnQ7CiBkaWdlc3QJZGlnZXN0X3RleHQKICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKPT09IG1vZGlmaWVkIGZpbGUgJ215 c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS9yL3N0YXRlbWVudF9kaWdlc3RfbG9uZ19xdWVyeS5y ZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS9yL3N0YXRlbWVudF9kaWdl c3RfbG9uZ19xdWVyeS5yZXN1bHQJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0 MTgxMDQ5MTItMmIxZGRkdDVuMG5lenpwMQorKysgYi9teXNxbC10ZXN0L3N1aXRlL3BlcmZzY2hl bWEvci9zdGF0ZW1lbnRfZGlnZXN0X2xvbmdfcXVlcnkucmVzdWx0CXJldmlkOm1hcmtvLm1ha2Vs YUBvcmFjbGUuY29tLTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTgsNSArOCw1 IEBAIFNFTEVDVCAxKzErMSsxKzErMSsxKzErMSsxKzErMSsxKzErMSsxKzEKICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogU0VMRUNUIGRpZ2VzdCwgZGlnZXN0X3RleHQsIGNv dW50X3N0YXIgRlJPTSBldmVudHNfc3RhdGVtZW50c19zdW1tYXJ5X2J5X2RpZ2VzdDsKIGRpZ2Vz dAlkaWdlc3RfdGV4dAljb3VudF9zdGFyCi0wNDkyNmI5ZjQ0ZGFlYWYwMjJhOGMzNTkzMmNiNmU3 NwlUUlVOQ0FURSBUQUJMRSBldmVudHNfc3RhdGVtZW50c19zdW1tYXJ5X2J5X2RpZ2VzdCAgCTEK LTQzMWVhYWMxNGQ3NTJiNTA0ZThmNmMwYmI1YWQzYWZlCVNFTEVDVCA/ICsgPyArID8gKyA/ICsg PyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8g KyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyAr ID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsg PyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8g KyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyAr ID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsg PyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8g KyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyAr ID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsg PyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8g KyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyAr ID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsg PyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgLi4uCTEKKzY4NzUzYTI5OTg5YjY2YjY1ZmY1OWI4 YzYwMWRjNmE3CVRSVU5DQVRFIFRBQkxFIGV2ZW50c19zdGF0ZW1lbnRzX3N1bW1hcnlfYnlfZGln ZXN0ICAJMQorZTc3MDUyNTlkYWUzM2RmNDgzOTkxMDRlMDIyMmFkOTEJU0VMRUNUID8gKyA/ICsg PyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8g KyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyAr ID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsg PyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8g KyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyAr ID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsg PyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8g KyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyAr ID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsg PyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8g KyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyAr ID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsg PyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyA/ ICsgPyArID8gKyA/ICsgPyArID8gKyA/ICsgPyArID8gKyAuLi4JMQoKPT09IG1vZGlmaWVkIGZp bGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX2d0aWRfbW9kZS5yZXN1bHQnCi0tLSBhL215 c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX2d0aWRfbW9kZS5yZXN1bHQJcmV2aWQ6bWFya28ubWFr ZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTItMmIxZGRkdDVuMG5lenpwMQorKysgYi9teXNx bC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9ndGlkX21vZGUucmVzdWx0CXJldmlkOm1hcmtvLm1ha2Vs YUBvcmFjbGUuY29tLTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTMsNiArMyw5 IEBAIGluY2x1ZGUvbWFzdGVyLXNsYXZlLmluYwogY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJT bGF2ZSBJL086IFRoZSBzbGF2ZSBJTyB0aHJlYWQgc3RvcHMgYmVjYXVzZSB0aGUgbWFzdGVyIGhh cyBHVElEX01PREUiKTsKIGNhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiRXJyb3IgcmVhZGluZyBw YWNrZXQgZnJvbSBzZXJ2ZXI6IExvc3QgY29ubmVjdGlvbiB0byBNeVNRTCIpOwogY2FsbCBtdHIu YWRkX3N1cHByZXNzaW9uKCJBYm9ydGluZyIpOworY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCIu KiBDSEFOR0UgTUFTVEVSIFRPIE1BU1RFUl9BVVRPX1BPU0lUSU9OID0gMSBjYW4gb25seSBiZSBl eGVjdXRlZCB3aGVuIEdUSURfTU9ERSA9IE9OLiIpOworY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9u KCIuKiBGb3VuZCBhIEd0aWRfbG9nX2V2ZW50IG9yIFByZXZpb3VzX2d0aWRzX2xvZ19ldmVudCB3 aGVuIEdUSURfTU9ERSA9IE9GRi4iKTsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiLiogRmFp bGVkIHRvIGluaXRpYWxpemUgdGhlIG1hc3RlciBpbmZvIHN0cnVjdHVyZSIpOwogaW5jbHVkZS9z dG9wX3NsYXZlLmluYwogPT09PSBNYXN0ZXIgYW5kIHNsYXZlIGhhdmUgR1RJRF9NT0RFID0gT0ZG ID09PT0KIC0tLS0gRGVmYXVsdCB2YWx1ZSBmb3IgR1RJRF9NT0RFIC0tLS0KQEAgLTkzLDkgKzk2 LDExIEBAIElOU0VSVCBJTlRPIHQxIFZBTFVFUyAoMyk7CiBpbmNsdWRlL3N0b3Bfc2xhdmUuaW5j CiA9PT09IENoZWNrcyBwZXJmb3JtZWQgYXQgc2VydmVyIHN0YXJ0IHdoZW4gR1RJRF9NT0RFID0g T0ZGID09PT0KIGluY2x1ZGUvcnBsX3N0b3Bfc2VydmVyLmluYyBbc2VydmVyX251bWJlcj0yXQot LS0tLSBGYWlsIHRvIHN0YXJ0IHdpdGggR1RJRF9NT0RFID0gT0ZGIGFuZCBHVElEcyBpbiBiaW5s b2cvcmVsYXkgbG9nIC0tLS0KLWluY2x1ZGUvYXNzZXJ0X2NvbW1hbmRfb3V0cHV0LmluYwotaW5j bHVkZS9ycGxfc3RhcnRfc2VydmVyLmluYyBbc2VydmVyX251bWJlcj0yIGd0aWRzPW9uXQorLS0t LSBGYWlsIHRvIHN0YXJ0IHJlcGxpY2F0aW9uIHdpdGggR1RJRF9NT0RFID0gT0ZGIGFuZCBHVElE cyBpbiBiaW5sb2cvcmVsYXkgbG9nIC0tLS0KK2luY2x1ZGUvcnBsX3N0YXJ0X3NlcnZlci5pbmMg W3NlcnZlcl9udW1iZXI9Ml0KK1NUQVJUIFNMQVZFOworRVJST1IgSFkwMDA6IENIQU5HRSBNQVNU RVIgVE8gTUFTVEVSX0FVVE9fUE9TSVRJT04gPSAxIGNhbiBvbmx5IGJlIGV4ZWN1dGVkIHdoZW4g R1RJRF9NT0RFID0gT04uCitpbmNsdWRlL3JwbF9yZXN0YXJ0X3NlcnZlci5pbmMgW3NlcnZlcl9u dW1iZXI9MiBndGlkcz1vbl0KIFJFU0VUIFNMQVZFOwogUkVTRVQgTUFTVEVSOwogPT09PSBNYXN0 ZXIgaGFzIEdUSURfTU9ERSA9IE9OLCBzbGF2ZSBoYXMgR1RJRF9NT0RFID0gT0ZGID09PT0KCj09 PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3JwbC90L3JwbF9ndGlkX21vZGUudGVz dCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvdC9ycGxfZ3RpZF9tb2RlLnRlc3QJcmV2aWQ6 bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTItMmIxZGRkdDVuMG5lenpwMQor KysgYi9teXNxbC10ZXN0L3N1aXRlL3JwbC90L3JwbF9ndGlkX21vZGUudGVzdAlyZXZpZDptYXJr by5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJwaTRsCkBAIC01 NSw2ICs1NSw5IEBACiBjYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIlNsYXZlIEkvTzogVGhlIHNs YXZlIElPIHRocmVhZCBzdG9wcyBiZWNhdXNlIHRoZSBtYXN0ZXIgaGFzIEdUSURfTU9ERSIpOwog Y2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJFcnJvciByZWFkaW5nIHBhY2tldCBmcm9tIHNlcnZl cjogTG9zdCBjb25uZWN0aW9uIHRvIE15U1FMIik7CiBjYWxsIG10ci5hZGRfc3VwcHJlc3Npb24o IkFib3J0aW5nIik7CitjYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIi4qIENIQU5HRSBNQVNURVIg VE8gTUFTVEVSX0FVVE9fUE9TSVRJT04gPSAxIGNhbiBvbmx5IGJlIGV4ZWN1dGVkIHdoZW4gR1RJ RF9NT0RFID0gT04uIik7CitjYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIi4qIEZvdW5kIGEgR3Rp ZF9sb2dfZXZlbnQgb3IgUHJldmlvdXNfZ3RpZHNfbG9nX2V2ZW50IHdoZW4gR1RJRF9NT0RFID0g T0ZGLiIpOworY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCIuKiBGYWlsZWQgdG8gaW5pdGlhbGl6 ZSB0aGUgbWFzdGVyIGluZm8gc3RydWN0dXJlIik7CiAKIC0tc3luY19zbGF2ZV93aXRoX21hc3Rl cgogLS1zb3VyY2UgaW5jbHVkZS9zdG9wX3NsYXZlLmluYwpAQCAtMjY4LDIzICsyNzEsMTggQEAg SU5TRVJUIElOVE8gdDEgVkFMVUVTICgzKTsKIAogLS1lY2hvID09PT0gQ2hlY2tzIHBlcmZvcm1l ZCBhdCBzZXJ2ZXIgc3RhcnQgd2hlbiBHVElEX01PREUgPSBPRkYgPT09PQogCi0tLWNvbm5lY3Rp b24gbWFzdGVyCiAtLWxldCAkcnBsX3NlcnZlcl9udW1iZXI9IDIKIC0tc291cmNlIGluY2x1ZGUv cnBsX3N0b3Bfc2VydmVyLmluYwotCi0tLWVjaG8gLS0tLSBGYWlsIHRvIHN0YXJ0IHdpdGggR1RJ RF9NT0RFID0gT0ZGIGFuZCBHVElEcyBpbiBiaW5sb2cvcmVsYXkgbG9nIC0tLS0KLQotLS1sZXQg JGFzc2VydF9yZWdleD0gRm91bmQgYSBHdGlkX2xvZ19ldmVudCBvciBQcmV2aW91c19ndGlkc19s b2dfZXZlbnQgd2hlbiBHVElEX01PREUgPSBPRkYuCi0tLWxldCAkYXNzZXJ0X2NvbW1hbmQ9ICRz ZXJ2ZXIyX2NtZCAyPiYxCi0tLXNvdXJjZSBpbmNsdWRlL2Fzc2VydF9jb21tYW5kX291dHB1dC5p bmMKLS0tZXJyb3IgMCwxCi0tLXJlbW92ZV9maWxlICRkYXRhZGlyL21hc3Rlci5pbmZvCi0tLWVy cm9yIDAsMQotLS1yZW1vdmVfZmlsZSAkZGF0YWRpci9yZWxheS5pbmZvCi0KKy0tZWNobyAtLS0t IEZhaWwgdG8gc3RhcnQgcmVwbGljYXRpb24gd2l0aCBHVElEX01PREUgPSBPRkYgYW5kIEdUSURz IGluIGJpbmxvZy9yZWxheSBsb2cgLS0tLQogLS1sZXQgJHJwbF9zZXJ2ZXJfbnVtYmVyPSAyCi0t LWxldCAkcnBsX3NraXBfc3RhcnRfc2xhdmU9IDEKKy0tbGV0ICRycGxfc3RhcnRfd2l0aF9ndGlk cz0gMAogLS1zb3VyY2UgaW5jbHVkZS9ycGxfc3RhcnRfc2VydmVyLmluYworLS1lcnJvciBFUl9B VVRPX1BPU0lUSU9OX1JFUVVJUkVTX0dUSURfTU9ERV9PTgorU1RBUlQgU0xBVkU7CistLWxldCAk cnBsX3NlcnZlcl9udW1iZXI9IDIKKy0tbGV0ICRycGxfc2tpcF9zdGFydF9zbGF2ZT0gMQorLS1s ZXQgJHJwbF9zdGFydF93aXRoX2d0aWRzPSAxCistLXNvdXJjZSBpbmNsdWRlL3JwbF9yZXN0YXJ0 X3NlcnZlci5pbmMKIC0tY29ubmVjdGlvbiBzbGF2ZQogUkVTRVQgU0xBVkU7CiBSRVNFVCBNQVNU RVI7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L2Rlcml2ZWQudGVzdCcKLS0tIGEv bXlzcWwtdGVzdC90L2Rlcml2ZWQudGVzdAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0y MDEyMDQxODEwNDkxMi0yYjFkZGR0NW4wbmV6enAxCisrKyBiL215c3FsLXRlc3QvdC9kZXJpdmVk LnRlc3QJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMzMyMzctYTl2NDVq Mm9oNGUycGk0bApAQCAtMTMxNyw0ICsxMzE3LDE1IEBAIFNFTEVDVCBwayBGUk9NICggU0VMRUNU IGNvbF9ibG9iLCBwayBGUk8KIEVYUExBSU4gU0VMRUNUIHBrIEZST00gKCBTRUxFQ1QgY29sX2Js b2IsIHBrIEZST00gdDIgKSBBUyBBIE5BVFVSQUwgSk9JTiB0MTsKIERST1AgVEFCTEUgdDEsdDI7 CiAKKy0tZWNobyAjCistLWVjaG8gIyBCdWcgIzEzODAxMDE5IEFTU0VSVElPTiBgMCcgRkFJTEVE IElOIENSRUFURV9NWUlTQU1fVE1QX1RBQkxFCistLWVjaG8gIwogCitDUkVBVEUgVEFCTEUgdDEg KGEgSU5ULCBiIEJMT0IpIEVOR0lORT1Jbm5vREI7CitDUkVBVEUgVEFCTEUgdDIgKGMgSU5UKTsK K0NSRUFURSBUQUJMRSB0MyAoZCBJTlQpOworSU5TRVJUIElOVE8gdDMgVkFMVUVTICgwKTsKKwor U0VMRUNUICogRlJPTSAoU0VMRUNUICogRlJPTSB0MSkgQVMgYTEgUklHSFQgSk9JTiB0MyBMRUZU IEpPSU4gdDIgT04gZD1jIE9OIGE9YzsKKworRFJPUCBUQUJMRSB0MSwgdDIsIHQzOwoKPT09IG1v ZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC90YWJsZXNwYWNlLnRlc3QnCi0tLSBhL215c3FsLXRl c3QvdC90YWJsZXNwYWNlLnRlc3QJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0 MTgxMDQ5MTItMmIxZGRkdDVuMG5lenpwMQorKysgYi9teXNxbC10ZXN0L3QvdGFibGVzcGFjZS50 ZXN0CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJv aDRlMnBpNGwKQEAgLTEwNywxMCArMTA3LDYgQEAgRFJPUCBUQUJMRSB0MTsKICMgICBrIGludCBT VE9SQUdFIE1FTU9SWSBDT0xVTU5fRk9STUFUIEZJWEVECiAjICkgU1RPUkFHRSBESVNLIFRBQkxF U1BBQ0UgdGhlX3RhYmxlc3BhY2VuYW1lIEVOR0lORT1NeUlTQU07CiAjCi0jIE5PVEUhIFRoZSBj b2x1bW4gbGV2ZWwgcHJvcGVydGllcyB3aWxsIG5vdCB5ZXQgc2hvdyB1cAotIyBpbiBTSE9XIENS RUFURSBUQUJMRSBvZiBNeVNRTCBTZXJ2ZXIoYWx0aG91Z2ggdGhleSBhcmUKLSMgdmlzaWJsZSBp biAudHJhY2UgZmlsZSkKLSMKIAogbGV0ICRNWVNRTERfREFUQURJUj0gYFNFTEVDVCBAQGRhdGFk aXJgOwogY29weV9maWxlIHN0ZF9kYXRhL2NsdXN0ZXJfNzAyMl90YWJsZS5mcm0gJE1ZU1FMRF9E QVRBRElSL3Rlc3QvdDEuZnJtOwpAQCAtMTIxLDMgKzExNyw2OSBAQCBTSE9XIENSRUFURSBUQUJM RSB0MTsKIAogRFJPUCBUQUJMRSB0MTsKIAorLS1lY2hvICMKKy0tZWNobyAjIFdMIzM2MjcgQWRk IENPTFVNTl9GT1JNQVQgYW5kIFNUT1JBR0UgZm9yIGZpZWxkcworLS1lY2hvICMKKworQ1JFQVRF IFRBQkxFIHQxICgKKyBhIGludCBTVE9SQUdFIERJU0ssCisgYiBpbnQgU1RPUkFHRSBNRU1PUlkg Tk9UIE5VTEwsCisgYyBpbnQgQ09MVU1OX0ZPUk1BVCBEWU5BTUlDLAorIGQgaW50IENPTFVNTl9G T1JNQVQgRklYRUQsCisgZSBpbnQgQ09MVU1OX0ZPUk1BVCBERUZBVUxULAorIGYgaW50IFNUT1JB R0UgRElTSyBDT0xVTU5fRk9STUFUIERZTkFNSUMgTk9UIE5VTEwsCisgZyBpbnQgU1RPUkFHRSBN RU1PUlkgQ09MVU1OX0ZPUk1BVCBEWU5BTUlDLAorIGggaW50IFNUT1JBR0UgRElTSyBDT0xVTU5f Rk9STUFUIEZJWEVELAorIGkgaW50IFNUT1JBR0UgTUVNT1JZIENPTFVNTl9GT1JNQVQgRklYRUQK Kyk7CitTSE9XIENSRUFURSBUQUJMRSB0MTsKKworIyBBZGQgbmV3IGNvbHVtbnMgd2l0aCBhbGwg dmFyaWF0aW9ucyBvZiB0aGUgbmV3IGNvbHVtbgorIyBsZXZlbCBhdHRyaWJ1dGVzCitBTFRFUiBU QUJMRSB0MQorICBBREQgQ09MVU1OIGogaW50IFNUT1JBR0UgRElTSywKKyAgQUREIENPTFVNTiBr IGludCBTVE9SQUdFIE1FTU9SWSBOT1QgTlVMTCwKKyAgQUREIENPTFVNTiBsIGludCBDT0xVTU5f Rk9STUFUIERZTkFNSUMsCisgIEFERCBDT0xVTU4gbSBpbnQgQ09MVU1OX0ZPUk1BVCBGSVhFRCwK KyAgQUREIENPTFVNTiBuIGludCBDT0xVTU5fRk9STUFUIERFRkFVTFQsCisgIEFERCBDT0xVTU4g byBpbnQgU1RPUkFHRSBESVNLIENPTFVNTl9GT1JNQVQgRFlOQU1JQyBOT1QgTlVMTCwKKyAgQURE IENPTFVNTiBwIGludCBTVE9SQUdFIE1FTU9SWSBDT0xVTU5fRk9STUFUIERZTkFNSUMsCisgIEFE RCBDT0xVTU4gcSBpbnQgU1RPUkFHRSBESVNLIENPTFVNTl9GT1JNQVQgRklYRUQsCisgIEFERCBD T0xVTU4gciBpbnQgU1RPUkFHRSBNRU1PUlkgQ09MVU1OX0ZPUk1BVCBGSVhFRDsKK1NIT1cgQ1JF QVRFIFRBQkxFIHQxOworCisjIFVzZSBNT0RJRlkgQ09MVU1OIHRvICJzaGlmdCIgYWxsIG5ldyBh dHRyaWJ1dGVzIHRvIHRoZSBuZXh0IGNvbHVtbgorQUxURVIgVEFCTEUgdDEKKyAgTU9ESUZZIENP TFVNTiBqIGludCBTVE9SQUdFIE1FTU9SWSBOT1QgTlVMTCwKKyAgTU9ESUZZIENPTFVNTiBrIGlu dCBDT0xVTU5fRk9STUFUIERZTkFNSUMsCisgIE1PRElGWSBDT0xVTU4gbCBpbnQgQ09MVU1OX0ZP Uk1BVCBGSVhFRCwKKyAgTU9ESUZZIENPTFVNTiBtIGludCBDT0xVTU5fRk9STUFUIERFRkFVTFQs CisgIE1PRElGWSBDT0xVTU4gbiBpbnQgU1RPUkFHRSBESVNLIENPTFVNTl9GT1JNQVQgRFlOQU1J QyBOT1QgTlVMTCwKKyAgTU9ESUZZIENPTFVNTiBvIGludCBTVE9SQUdFIE1FTU9SWSBDT0xVTU5f Rk9STUFUIERZTkFNSUMsCisgIE1PRElGWSBDT0xVTU4gcCBpbnQgU1RPUkFHRSBESVNLIENPTFVN Tl9GT1JNQVQgRklYRUQsCisgIE1PRElGWSBDT0xVTU4gcSBpbnQgU1RPUkFHRSBNRU1PUlkgQ09M VU1OX0ZPUk1BVCBGSVhFRCwKKyAgTU9ESUZZIENPTFVNTiByIGludCBTVE9SQUdFIERJU0s7CitT SE9XIENSRUFURSBUQUJMRSB0MTsKKworIyBDaGVjayBiZWhhdmlvdXIgb2YgbXVsdGlwbGUgQ09M VU1OX0ZPUk1BVCBhbmQvb3IgU1RPUkFHRSBkZWZpbml0aW9ucworQUxURVIgVEFCTEUgdDEKKyAg TU9ESUZZIENPTFVNTiBoIGludCBDT0xVTU5fRk9STUFUIERZTkFNSUMgQ09MVU1OX0ZPUk1BVCBG SVhFRCwKKyAgTU9ESUZZIENPTFVNTiBpIGludCBDT0xVTU5fRk9STUFUIERZTkFNSUMgQ09MVU1O X0ZPUk1BVCBERUZBVUxULAorICBNT0RJRlkgQ09MVU1OIGogaW50IENPTFVNTl9GT1JNQVQgRklY RUQgQ09MVU1OX0ZPUk1BVCBEWU5BTUlDLAorICBNT0RJRlkgQ09MVU1OIGsgaW50IENPTFVNTl9G T1JNQVQgRklYRUQgQ09MVU1OX0ZPUk1BVCBERUZBVUxULAorICBNT0RJRlkgQ09MVU1OIGwgaW50 IFNUT1JBR0UgRElTSyBTVE9SQUdFIE1FTU9SWSwKKyAgTU9ESUZZIENPTFVNTiBtIGludCBTVE9S QUdFIERJU0sgU1RPUkFHRSBERUZBVUxULAorICBNT0RJRlkgQ09MVU1OIG4gaW50IFNUT1JBR0Ug TUVNT1JZIFNUT1JBR0UgRElTSywKKyAgTU9ESUZZIENPTFVNTiBvIGludCBTVE9SQUdFIE1FTU9S WSBTVE9SQUdFIERFRkFVTFQsCisgIE1PRElGWSBDT0xVTU4gcCBpbnQgU1RPUkFHRSBESVNLIFNU T1JBR0UgTUVNT1JZCisgICAgICAgICAgICAgICAgICAgICAgQ09MVU1OX0ZPUk1BVCBGSVhFRCBD T0xVTU5fRk9STUFUIERZTkFNSUMsCisgIE1PRElGWSBDT0xVTU4gcSBpbnQgU1RPUkFHRSBESVNL IFNUT1JBR0UgTUVNT1JZIFNUT1JBR0UgREVGQVVMVAorICAgICAgICAgICAgICAgICAgICAgIENP TFVNTl9GT1JNQVQgRklYRUQgQ09MVU1OX0ZPUk1BVCBEWU5BTUlDIENPTFVNTl9GT1JNQVQgREVG QVVMVCwKKyAgTU9ESUZZIENPTFVNTiByIGludCBTVE9SQUdFIERFRkFVTFQgU1RPUkFHRSBERUZB VUxUIFNUT1JBR0UgTUVNT1JZCisgICAgICAgICAgICAgICAgICAgICAgU1RPUkFHRSBESVNLIFNU T1JBR0UgTUVNT1JZIFNUT1JBR0UgRElTSyBTVE9SQUdFIERJU0s7CitTSE9XIENSRUFURSBUQUJM RSB0MTsKKworCisKK0RST1AgVEFCTEUgdDE7CisKCj09PSBtb2RpZmllZCBmaWxlICdwYWNrYWdp bmcvV2lYL2N1c3RvbV91aS53eHMnCi0tLSBhL3BhY2thZ2luZy9XaVgvY3VzdG9tX3VpLnd4cwly ZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEwNDkxMi0yYjFkZGR0NW4wbmV6 enAxCisrKyBiL3BhY2thZ2luZy9XaVgvY3VzdG9tX3VpLnd4cwlyZXZpZDptYXJrby5tYWtlbGFA b3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJwaTRsCkBAIC0yLDcgKzIsNyBA QAogICAgICAgICAgeG1sbnM6dXRpbD0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93aXgv VXRpbEV4dGVuc2lvbiI+DQogDQogPCEtLQ0KLSAgIENvcHlyaWdodCAoYykgMjAxMCwgMjAxMSwg T3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisgICBD b3B5cmlnaHQgKGMpIDIwMTAsIDIwMTIsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFs bCByaWdodHMgcmVzZXJ2ZWQuDQogICAgDQogICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiAgICBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQ0KQEAgLTMwLDcgKzMwLDcgQEAKICAgICAgIDxDb250cm9sIElkPSJCYWNrIiBUeXBlPSJQdXNo QnV0dG9uIiBYPSIxNTYiIFk9IjI0MyIgV2lkdGg9IjU2IiBIZWlnaHQ9IjE3IiBUZXh0PSIhKGxv Yy5XaXhVSUJhY2spIiBEaXNhYmxlZD0ieWVzIiAvPg0KICAgICAgIDxDb250cm9sIElkPSJEZXNj cmlwdGlvbiIgVHlwZT0iVGV4dCIgWD0iMTM1IiBZPSI4MCIgV2lkdGg9IjIyMCIgSGVpZ2h0PSI2 MCIgVHJhbnNwYXJlbnQ9InllcyIgTm9QcmVmaXg9InllcyIgVGV4dD0iIShsb2MuV2VsY29tZURs Z0Rlc2NyaXB0aW9uKSIgLz4NCiAgICAgICA8Q29udHJvbCBJZD0iVGl0bGUiIFR5cGU9IlRleHQi IFg9IjEzNSIgWT0iMjAiIFdpZHRoPSIyMjAiIEhlaWdodD0iNjAiIFRyYW5zcGFyZW50PSJ5ZXMi IE5vUHJlZml4PSJ5ZXMiIFRleHQ9IiEobG9jLldlbGNvbWVEbGdUaXRsZSkiIC8+DQotICAgICAg PENvbnRyb2wgSWQ9IkNvcHlyaWdodFRleHQiIFR5cGU9IlRleHQiIFg9IjEzNSIgWT0iMjAwIiBX aWR0aD0iMjIwIiBIZWlnaHQ9IjQwIiBUcmFuc3BhcmVudD0ieWVzIiBUZXh0PSJDb3B5cmlnaHQg KGMpIDIwMDAsIDIwMTEsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMg cmVzZXJ2ZWQuIiAvPg0KKyAgICAgIDxDb250cm9sIElkPSJDb3B5cmlnaHRUZXh0IiBUeXBlPSJU ZXh0IiBYPSIxMzUiIFk9IjIwMCIgV2lkdGg9IjIyMCIgSGVpZ2h0PSI0MCIgVHJhbnNwYXJlbnQ9 InllcyIgVGV4dD0iQ29weXJpZ2h0IChjKSAyMDAwLCAyMDEyLCBPcmFjbGUgYW5kL29yIGl0cyBh ZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLiIgLz4NCiAgICAgICA8Q29udHJvbCBJZD0i Qml0bWFwIiBUeXBlPSJCaXRtYXAiIFg9IjAiIFk9IjAiIFdpZHRoPSIzNzAiIEhlaWdodD0iMjM0 IiBUYWJTa2lwPSJubyIgVGV4dD0iIShsb2MuV2VsY29tZURsZ0JpdG1hcCkiIC8+DQogICAgICAg PENvbnRyb2wgSWQ9IkJvdHRvbUxpbmUiIFR5cGU9IkxpbmUiIFg9IjAiIFk9IjIzNCIgV2lkdGg9 IjM3MCIgSGVpZ2h0PSIwIiAvPg0KICAgICA8L0RpYWxvZz4NCgo9PT0gbW9kaWZpZWQgZmlsZSAn c3FsL2ZpZWxkLmgnCi0tLSBhL3NxbC9maWVsZC5oCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUu Y29tLTIwMTIwNDE4MTA0OTEyLTJiMWRkZHQ1bjBuZXp6cDEKKysrIGIvc3FsL2ZpZWxkLmgJcmV2 aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMzMyMzctYTl2NDVqMm9oNGUycGk0 bApAQCAtMTAxOCw2ICsxMDE4LDMwIEBAIHB1YmxpYzoKICAgfQogI2VuZGlmCiAKKyAgaGFfc3Rv cmFnZV9tZWRpYSBmaWVsZF9zdG9yYWdlX3R5cGUoKSBjb25zdAorICB7CisgICAgcmV0dXJuICho YV9zdG9yYWdlX21lZGlhKQorICAgICAgKChmbGFncyA+PiBGSUVMRF9GTEFHU19TVE9SQUdFX01F RElBKSAmIDMpOworICB9CisKKyAgdm9pZCBzZXRfc3RvcmFnZV90eXBlKGhhX3N0b3JhZ2VfbWVk aWEgc3RvcmFnZV90eXBlX2FyZykKKyAgeworICAgIERCVUdfQVNTRVJUKGZpZWxkX3N0b3JhZ2Vf dHlwZSgpID09IEhBX1NNX0RFRkFVTFQpOworICAgIGZsYWdzIHw9IChzdG9yYWdlX3R5cGVfYXJn IDw8IEZJRUxEX0ZMQUdTX1NUT1JBR0VfTUVESUEpOworICB9CisKKyAgY29sdW1uX2Zvcm1hdF90 eXBlIGNvbHVtbl9mb3JtYXQoKSBjb25zdAorICB7CisgICAgcmV0dXJuIChjb2x1bW5fZm9ybWF0 X3R5cGUpCisgICAgICAoKGZsYWdzID4+IEZJRUxEX0ZMQUdTX0NPTFVNTl9GT1JNQVQpICYgMyk7 CisgIH0KKworICB2b2lkIHNldF9jb2x1bW5fZm9ybWF0KGNvbHVtbl9mb3JtYXRfdHlwZSBjb2x1 bW5fZm9ybWF0X2FyZykKKyAgeworICAgIERCVUdfQVNTRVJUKGNvbHVtbl9mb3JtYXQoKSA9PSBD T0xVTU5fRk9STUFUX1RZUEVfREVGQVVMVCk7CisgICAgZmxhZ3MgfD0gKGNvbHVtbl9mb3JtYXRf YXJnIDw8IEZJRUxEX0ZMQUdTX0NPTFVNTl9GT1JNQVQpOworICB9CisKICAgLyogSGFzaCB2YWx1 ZSAqLwogICB2aXJ0dWFsIHZvaWQgaGFzaCh1bG9uZyAqbnIsIHVsb25nICpucjIpOwogICBmcmll bmQgaW50IGNyZV9teWlzYW0oY2hhciAqIG5hbWUsIHJlZ2lzdGVyIFRBQkxFICpmb3JtLCB1aW50 IG9wdGlvbnMsCkBAIC0zNDg1LDYgKzM1MDksMTggQEAgcHVibGljOgogICB7CiAgICAgcmV0dXJu IChmbGFncyAmIChCSU5DTVBfRkxBRyB8IEJJTkFSWV9GTEFHKSkgIT0gMDsKICAgfQorCisgIGhh X3N0b3JhZ2VfbWVkaWEgZmllbGRfc3RvcmFnZV90eXBlKCkgY29uc3QKKyAgeworICAgIHJldHVy biAoaGFfc3RvcmFnZV9tZWRpYSkKKyAgICAgICgoZmxhZ3MgPj4gRklFTERfRkxBR1NfU1RPUkFH RV9NRURJQSkgJiAzKTsKKyAgfQorCisgIGNvbHVtbl9mb3JtYXRfdHlwZSBjb2x1bW5fZm9ybWF0 KCkgY29uc3QKKyAgeworICAgIHJldHVybiAoY29sdW1uX2Zvcm1hdF90eXBlKQorICAgICAgKChm bGFncyA+PiBGSUVMRF9GTEFHU19DT0xVTU5fRk9STUFUKSAmIDMpOworICB9CiB9OwogCiAKCj09 PSBtb2RpZmllZCBmaWxlICdzcWwvZ2VuX2xleF9oYXNoLmNjJwotLS0gYS9zcWwvZ2VuX2xleF9o YXNoLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTA0OTEyLTJiMWRk ZHQ1bjBuZXp6cDEKKysrIGIvc3FsL2dlbl9sZXhfaGFzaC5jYwlyZXZpZDptYXJrby5tYWtlbGFA b3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJwaTRsCkBAIC0zNzcsNyArMzc3 LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsY2hhciAqKmFyZ3YpCiAgIHByaW50ZigiLypcblxuICBE byAiICJub3QgIiAiZWRpdCAiICJ0aGlzICIgImZpbGUgIiAiZGlyZWN0bHkhXG5cbiovXG4iKTsK IAogICBwdXRzKCIvKiIpOwotICBwdXRzKE9SQUNMRV9XRUxDT01FX0NPUFlSSUdIVF9OT1RJQ0Uo IjIwMDAsIDIwMTEiKSk7CisgIHB1dHMoT1JBQ0xFX1dFTENPTUVfQ09QWVJJR0hUX05PVElDRSgi MjAwMCwgMjAxMiIpKTsKICAgcHV0cygiKi8iKTsKIAogICAvKiBCcm9rZW4gdXAgdG8gaW5kaWNh dGUgdGhhdCBpdCdzIG5vdCBhZHZpY2UgdG8geW91LCBnZW50bGUgcmVhZGVyLiAqLwoKPT09IG1v ZGlmaWVkIGZpbGUgJ3NxbC9oYW5kbGVyLmgnCi0tLSBhL3NxbC9oYW5kbGVyLmgJcmV2aWQ6bWFy a28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTItMmIxZGRkdDVuMG5lenpwMQorKysg Yi9zcWwvaGFuZGxlci5oCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTMz MjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTM0Nyw2ICszNDcsMTMgQEAgZW51bSByb3dfdHlwZSB7 IFJPV19UWVBFX05PVF9VU0VEPS0xLCBSTwogICAgICAgICAgICAgICAgIC8qKiBVbnVzZWQuIFJl c2VydmVkIGZvciBmdXR1cmUgdmVyc2lvbnMuICovCiAgICAgICAgICAgICAgICAgUk9XX1RZUEVf UEFHRSB9OwogCisvKiBTcGVjaWZpZXMgZGF0YSBzdG9yYWdlIGZvcm1hdCBmb3IgaW5kaXZpZHVh bCBjb2x1bW5zICovCitlbnVtIGNvbHVtbl9mb3JtYXRfdHlwZSB7CisgIENPTFVNTl9GT1JNQVRf VFlQRV9ERUZBVUxUPSAgIDAsIC8qIE5vdCBzcGVjaWZpZWQgKHVzZSBlbmdpbmUgZGVmYXVsdCkg Ki8KKyAgQ09MVU1OX0ZPUk1BVF9UWVBFX0ZJWEVEPSAgICAgMSwgLyogRklYRUQgZm9ybWF0ICov CisgIENPTFVNTl9GT1JNQVRfVFlQRV9EWU5BTUlDPSAgIDIgIC8qIERZTkFNSUMgZm9ybWF0ICov Cit9OworCiBlbnVtIGVudW1fYmlubG9nX2Z1bmMgewogICBCRk5fUkVTRVRfTE9HUz0gICAgICAg IDEsCiAgIEJGTl9SRVNFVF9TTEFWRT0gICAgICAgMiwKQEAgLTEwNjksNiArMTA3NiwxMiBAQCBw dWJsaWM6CiAgIC8vIFRhYmxlIGlzIHJlbmFtZWQKICAgc3RhdGljIGNvbnN0IEhBX0FMVEVSX0ZM QUdTIEFMVEVSX1JFTkFNRSAgICAgICAgICAgICAgID0gMUwgPDwgMTg7CiAKKyAgLy8gQ2hhbmdl IHRoZSBzdG9yYWdlIHR5cGUgb2YgY29sdW1uIAorICBzdGF0aWMgY29uc3QgSEFfQUxURVJfRkxB R1MgQUxURVJfQ09MVU1OX1NUT1JBR0VfVFlQRSA9IDFMIDw8IDE5OworCisgIC8vIENoYW5nZSB0 aGUgY29sdW1uIGZvcm1hdCBvZiBjb2x1bW4KKyAgc3RhdGljIGNvbnN0IEhBX0FMVEVSX0ZMQUdT IEFMVEVSX0NPTFVNTl9DT0xVTU5fRk9STUFUID0gMUwgPDwgMjA7CisKICAgLyoqCiAgICAgQ3Jl YXRlIG9wdGlvbnMgKGxpa2UgTUFYX1JPV1MpIGZvciB0aGUgbmV3IHZlcnNpb24gb2YgdGFibGUu CiAKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvbGV4LmgnCi0tLSBhL3NxbC9sZXguaAlyZXZpZDpt YXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEwNDkxMi0yYjFkZGR0NW4wbmV6enAxCisr KyBiL3NxbC9sZXguaAlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIz Ny1hOXY0NWoyb2g0ZTJwaTRsCkBAIC0xMTcsNiArMTE3LDcgQEAgc3RhdGljIFNZTUJPTCBzeW1i b2xzW10gPSB7CiAgIHsgIkNPTExBVEUiLAkJU1lNKENPTExBVEVfU1lNKX0sCiAgIHsgIkNPTExB VElPTiIsCVNZTShDT0xMQVRJT05fU1lNKX0sCiAgIHsgIkNPTFVNTiIsCQlTWU0oQ09MVU1OX1NZ TSl9LAorICB7ICJDT0xVTU5fRk9STUFUIiwJU1lNKENPTFVNTl9GT1JNQVRfU1lNKX0sCiAgIHsg IkNPTFVNTl9OQU1FIiwgICAgICBTWU0oQ09MVU1OX05BTUVfU1lNKX0sCiAgIHsgIkNPTFVNTlMi LAkJU1lNKENPTFVNTlMpfSwKICAgeyAiQ09NTUVOVCIsCQlTWU0oQ09NTUVOVF9TWU0pfSwKCj09 PSBtb2RpZmllZCBmaWxlICdzcWwvbG9nX2V2ZW50LmNjJwotLS0gYS9zcWwvbG9nX2V2ZW50LmNj CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTA0OTEyLTJiMWRkZHQ1bjBu ZXp6cDEKKysrIGIvc3FsL2xvZ19ldmVudC5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNv bS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJwaTRsCkBAIC01MDY3LDYgKzUwNjcsOSBAQCBG b3JtYXRfZGVzY3JpcHRpb25fbG9nX2V2ZW50KHVpbnQ4IGJpbmxvCiAgICAgICBwb3N0X2hlYWRl cl9sZW5bSEVBUlRCRUFUX0xPR19FVkVOVC0xXT0gMDsKICAgICAgIHBvc3RfaGVhZGVyX2xlbltJ R05PUkFCTEVfTE9HX0VWRU5ULTFdPSBJR05PUkFCTEVfSEVBREVSX0xFTjsKICAgICAgIHBvc3Rf aGVhZGVyX2xlbltST1dTX1FVRVJZX0xPR19FVkVOVC0xXT0gSUdOT1JBQkxFX0hFQURFUl9MRU47 CisgICAgICBwb3N0X2hlYWRlcl9sZW5bUkVTRVJWRURfRVZFTlRfTlVNXzEtMV09IFJFU0VSVkVE X0hFQURFUl9MRU47CisgICAgICBwb3N0X2hlYWRlcl9sZW5bUkVTRVJWRURfRVZFTlRfTlVNXzIt MV09IFJFU0VSVkVEX0hFQURFUl9MRU47CisgICAgICBwb3N0X2hlYWRlcl9sZW5bUkVTRVJWRURf RVZFTlRfTlVNXzMtMV09IFJFU0VSVkVEX0hFQURFUl9MRU47CiAgICAgICBwb3N0X2hlYWRlcl9s ZW5bR1RJRF9MT0dfRVZFTlQtMV09CiAgICAgICAgIHBvc3RfaGVhZGVyX2xlbltBTk9OWU1PVVNf R1RJRF9MT0dfRVZFTlQtMV09CiAgICAgICAgIEd0aWRfbG9nX2V2ZW50OjpQT1NUX0hFQURFUl9M RU5HVEg7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL2xvZ19ldmVudC5oJwotLS0gYS9zcWwvbG9n X2V2ZW50LmgJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTItMmIx ZGRkdDVuMG5lenpwMQorKysgYi9zcWwvbG9nX2V2ZW50LmgJcmV2aWQ6bWFya28ubWFrZWxhQG9y YWNsZS5jb20tMjAxMjA0MTgxMzMyMzctYTl2NDVqMm9oNGUycGk0bApAQCAtMjY5LDYgKzI2OSw3 IEBAIHN0cnVjdCBzcWxfZXhfaW5mbwogI2RlZmluZSBJTkNJREVOVF9IRUFERVJfTEVOICAgIDIK ICNkZWZpbmUgSEVBUlRCRUFUX0hFQURFUl9MRU4gICAwCiAjZGVmaW5lIElHTk9SQUJMRV9IRUFE RVJfTEVOICAgMAorI2RlZmluZSBSRVNFUlZFRF9IRUFERVJfTEVOICAgIDAKIAogLyoKICAgIFRo ZSBtYXhpbXVtIG51bWJlciBvZiB1cGRhdGVkIGRhdGFiYXNlcyB0aGF0IGEgc3RhdHVzIG9mCkBA IC02OTEsMTAgKzY5MiwxNSBAQCBlbnVtIExvZ19ldmVudF90eXBlCiAgIElHTk9SQUJMRV9MT0df RVZFTlQ9IDI4LAogICBST1dTX1FVRVJZX0xPR19FVkVOVD0gMjksCiAKLSAgR1RJRF9MT0dfRVZF TlQ9IDMwLAotICBBTk9OWU1PVVNfR1RJRF9MT0dfRVZFTlQ9IDMxLAorICAvKiBGb2xsb3dpbmcg ZXZlbnQgbnVtYmVycyByZXNlcnZlZCBmb3IgV0wjNTkxNyAqLworICBSRVNFUlZFRF9FVkVOVF9O VU1fMSA9IDMwLAorICBSRVNFUlZFRF9FVkVOVF9OVU1fMiA9IDMxLAorICBSRVNFUlZFRF9FVkVO VF9OVU1fMyA9IDMyLAogCi0gIFBSRVZJT1VTX0dUSURTX0xPR19FVkVOVD0gMzIsCisgIEdUSURf TE9HX0VWRU5UPSAzMywKKyAgQU5PTllNT1VTX0dUSURfTE9HX0VWRU5UPSAzNCwKKworICBQUkVW SU9VU19HVElEU19MT0dfRVZFTlQ9IDM1LAogICAvKgogICAgIEFkZCBuZXcgZXZlbnRzIGhlcmUg LSByaWdodCBhYm92ZSB0aGlzIGNvbW1lbnQhCiAgICAgRXhpc3RpbmcgZXZlbnRzIChleGNlcHQg RU5VTV9FTkRfRVZFTlQpIHNob3VsZCBuZXZlciBjaGFuZ2UgdGhlaXIgbnVtYmVycwoKPT09IG1v ZGlmaWVkIGZpbGUgJ3NxbC9teXNxbGQuY2MnCi0tLSBhL3NxbC9teXNxbGQuY2MJcmV2aWQ6bWFy a28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTItMmIxZGRkdDVuMG5lenpwMQorKysg Yi9zcWwvbXlzcWxkLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTMz MjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTUyMTAsOSArNTIxMCw3IEBAIGludCBteXNxbGRfbWFp bihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgaW5pdF9zbGF2ZSgpIG11c3QgYmUgY2FsbGVk IGFmdGVyIHRoZSB0aHJlYWQga2V5cyBhcmUgY3JlYXRlZC4KICAgKi8KICAgaWYgKHNlcnZlcl9p ZCAhPSAwICYmIGluaXRfc2xhdmUoKSAmJiBhY3RpdmVfbWkgPT0gTlVMTCkKLSAgewogICAgIHVu aXJlZ19hYm9ydCgxKTsKLSAgfQogCiAjaWZkZWYgV0lUSF9QRVJGU0NIRU1BX1NUT1JBR0VfRU5H SU5FCiAgIGluaXRpYWxpemVfcGVyZm9ybWFuY2Vfc2NoZW1hX2FjbChvcHRfYm9vdHN0cmFwKTsK QEAgLTc1MjQsNyArNzUyMiw3IEBAIHN0YXRpYyB2b2lkIHVzYWdlKHZvaWQpCiAgIGlmICghZGVm YXVsdF9jb2xsYXRpb25fbmFtZSkKICAgICBkZWZhdWx0X2NvbGxhdGlvbl9uYW1lPSAoY2hhciop IGRlZmF1bHRfY2hhcnNldF9pbmZvLT5uYW1lOwogICBwcmludF92ZXJzaW9uKCk7Ci0gIHB1dHMo T1JBQ0xFX1dFTENPTUVfQ09QWVJJR0hUX05PVElDRSgiMjAwMCwgMjAxMSIpKTsKKyAgcHV0cyhP UkFDTEVfV0VMQ09NRV9DT1BZUklHSFRfTk9USUNFKCIyMDAwLCAyMDEyIikpOwogICBwdXRzKCJT dGFydHMgdGhlIE15U1FMIGRhdGFiYXNlIHNlcnZlci5cbiIpOwogICBwcmludGYoIlVzYWdlOiAl cyBbT1BUSU9OU11cbiIsIG15X3Byb2duYW1lKTsKICAgaWYgKCFvcHRfdmVyYm9zZSkKCj09PSBt b2RpZmllZCBmaWxlICdzcWwvcnBsX21pLmNjJwotLS0gYS9zcWwvcnBsX21pLmNjCXJldmlkOm1h cmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTA0OTEyLTJiMWRkZHQ1bjBuZXp6cDEKKysr IGIvc3FsL3JwbF9taS5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEz MzIzNy1hOXY0NWoyb2g0ZTJwaTRsCkBAIC00NzgsNyArNDc4LDcgQEAgYm9vbCBNYXN0ZXJfaW5m bzo6cmVhZF9pbmZvKFJwbF9pbmZvX2hhbgogCiAgIGlmIChhdXRvX3Bvc2l0aW9uICE9IDAgJiYg Z3RpZF9tb2RlICE9IDMpCiAgIHsKLSAgICBzcWxfcHJpbnRfZXJyb3IoIiVzIiwgRVIoRVJfQVVU T19QT1NJVElPTl9SRVFVSVJFU19HVElEX01PREVfT04pKTsKKyAgICBteV9lcnJvcihFUl9BVVRP X1BPU0lUSU9OX1JFUVVJUkVTX0dUSURfTU9ERV9PTiwgTVlGKDApKTsKICAgICBEQlVHX1JFVFVS Tih0cnVlKTsKICAgfQogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9kZXJpdmVkLmNjJwot LS0gYS9zcWwvc3FsX2Rlcml2ZWQuY2MJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAx MjA0MTgxMDQ5MTItMmIxZGRkdDVuMG5lenpwMQorKysgYi9zcWwvc3FsX2Rlcml2ZWQuY2MJcmV2 aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMzMyMzctYTl2NDVqMm9oNGUycGk0 bApAQCAtMzM4LDkgKzMzOCwyMSBAQCBib29sIG15c3FsX2Rlcml2ZWRfY3JlYXRlKFRIRCAqdGhk LCBMRVgKICAgICopIFNvbWUgY29tbWFuZHMsIGxpa2Ugc2hvdyB0YWJsZSBzdGF0dXMsIGRvZXNu J3QgcHJlcGFyZSB2aWV3cy9kZXJpdmVkCiAgICAgICB0YWJsZXMgPT4gbm8gbmVlZCB0byBjcmVh dGUgcmVzdWx0IHRhYmxlIGFsc28uCiAgICAqKSBUYWJsZSBpcyBhbHJlYWR5IGNyZWF0ZWQuCisg ICAqKSBUYWJsZSBpcyBhIGNvbnN0YW50IG9uZSB3aXRoIGFsbCBOVUxMIHZhbHVlcy4KICAgKi8K LSAgaWYgKCFkZXJpdmVkLT51c2VzX21hdGVyaWFsaXphdGlvbigpIHx8ICF0YWJsZSB8fCB0YWJs ZS0+Y3JlYXRlZCkKKyAgaWYgKCFkZXJpdmVkLT51c2VzX21hdGVyaWFsaXphdGlvbigpIHx8ICF0 YWJsZSB8fCB0YWJsZS0+Y3JlYXRlZCB8fAorICAgICAgKGRlcml2ZWQtPnNlbGVjdF9sZXgtPmpv aW4gIT0gTlVMTCAmJgorICAgICAgIChkZXJpdmVkLT5zZWxlY3RfbGV4LT5qb2luLT5jb25zdF90 YWJsZV9tYXAgJiB0YWJsZS0+bWFwKSkpCisgIHsKKyAgICAvKgorICAgICAgQXQgdGhpcyBwb2lu dCwgSlRfQ09OU1QgZGVyaXZlZCB0YWJsZXMgc2hvdWxkIGJlIG51bGwgcm93cy4gT3RoZXJ3aXNl IHRoZXkKKyAgICAgIHdvdWxkIGhhdmUgYmVlbiBtYXRlcmlhbGl6ZWQgYWxyZWFkeS4KKyAgICAq LworICAgIERCVUdfQVNTRVJUKHRhYmxlID09IE5VTEwgfHwgdGFibGUtPnJlZ2luZm8uam9pbl90 YWIgPT0gTlVMTCB8fAorICAgICAgICAgICAgICAgIHRhYmxlLT5yZWdpbmZvLmpvaW5fdGFiLT50 eXBlICE9IEpUX0NPTlNUIHx8CisgICAgICAgICAgICAgICAgdGFibGUtPm51bGxfcm93ID09IDEp OwogICAgIERCVUdfUkVUVVJOKEZBTFNFKTsKKyAgfQogICAvKiBjcmVhdGUgdG1wIHRhYmxlICov CiAgIHNlbGVjdF91bmlvbiAqcmVzdWx0PSAoc2VsZWN0X3VuaW9uKil1bml0LT5nZXRfcmVzdWx0 KCk7CiAKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX2V4ZWN1dG9yLmNjJwotLS0gYS9zcWwv c3FsX2V4ZWN1dG9yLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTA0 OTEyLTJiMWRkZHQ1bjBuZXp6cDEKKysrIGIvc3FsL3NxbF9leGVjdXRvci5jYwlyZXZpZDptYXJr by5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJwaTRsCkBAIC0z MTQ1LDYgKzMxNDUsMTggQEAgaW50IGpvaW5faW5pdF9yZWFkX3JlY29yZChKT0lOX1RBQiAqdGFi KQogICBpZiAoaW5pdF9yZWFkX3JlY29yZCgmdGFiLT5yZWFkX3JlY29yZCwgdGFiLT5qb2luLT50 aGQsIHRhYi0+dGFibGUsCiAgICAgICAgICAgICAgICAgICAgICAgIHRhYi0+c2VsZWN0LCAxLCAx LCBGQUxTRSkpCiAgICAgcmV0dXJuIDE7CisgIC8qCisgICAgc2V0IGtleXJlYWQgdG8gVFJVRSBp ZiBxdWljayBpbmRleCBpcyBjb3ZlcmluZy4KKyAgICBAdG9kbzogQ2FsbCBzZXRfa2V5cmVhZCBv bmx5IGZyb20gYWNjZXNzIGZ1bmN0aW9ucy4gQ3VycmVudGx5IHRoaXMgaXMKKyAgICBhbHNvIGRv bmUgaW4gbWFrZV9qb2luX3JlYWRpbmZvLgorICAqLworICBpZiAodGFiLT5zZWxlY3QgJiYgdGFi LT5zZWxlY3QtPnF1aWNrKQorICB7CisgICAgVEFCTEUgKnRhYmxlPSB0YWItPnRhYmxlOworICAg IGlmKCF0YWJsZS0+bm9fa2V5cmVhZCAmJiB0YWItPnNlbGVjdC0+cXVpY2stPmluZGV4ICE9IE1B WF9LRVkgLy9ub3QgaW5kZXggbWVyZ2UKKyAgICAgICAmJiB0YWJsZS0+Y292ZXJpbmdfa2V5cy5p c19zZXQodGFiLT5zZWxlY3QtPnF1aWNrLT5pbmRleCkpCisgICAgICB0YWJsZS0+c2V0X2tleXJl YWQodHJ1ZSk7CisgIH0KICAgcmV0dXJuICgqdGFiLT5yZWFkX3JlY29yZC5yZWFkX3JlY29yZCko JnRhYi0+cmVhZF9yZWNvcmQpOwogfQogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9vcHRp bWl6ZXIuY2MnCi0tLSBhL3NxbC9zcWxfb3B0aW1pemVyLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBv cmFjbGUuY29tLTIwMTIwNDE4MTA0OTEyLTJiMWRkZHQ1bjBuZXp6cDEKKysrIGIvc3FsL3NxbF9v cHRpbWl6ZXIuY2MJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMzMyMzct YTl2NDVqMm9oNGUycGk0bApAQCAtNjgwMSw3ICs2ODAxLDcgQEAgYm9vbCBKT0lOOjpnZW5lcmF0 ZV9kZXJpdmVkX2tleXMoKQogCiB2b2lkIEpPSU46OmRyb3BfdW51c2VkX2Rlcml2ZWRfa2V5cygp CiB7Ci0gIGZvciAodWludCBpPSBjb25zdF90YWJsZXMgOyBpIDwgdGFibGVzIDsgaSsrKQorICBm b3IgKHVpbnQgaT0gMCA7IGkgPCB0YWJsZXMgOyBpKyspCiAgIHsKICAgICBKT0lOX1RBQiAqdGFi PSBqb2luX3RhYiArIGk7CiAgICAgVEFCTEUgKnRhYmxlPSB0YWItPnRhYmxlOwoKPT09IG1vZGlm aWVkIGZpbGUgJ3NxbC9zcWxfb3B0aW1pemVyLmgnCi0tLSBhL3NxbC9zcWxfb3B0aW1pemVyLmgJ cmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTItMmIxZGRkdDVuMG5l enpwMQorKysgYi9zcWwvc3FsX29wdGltaXplci5oCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUu Y29tLTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTQwOSw2ICs0MDksNyBAQCBw dWJsaWM6CiAgICAgYWxsX3RhYmxlcz0gMDsKICAgICB0YWJsZXM9IDA7CiAgICAgY29uc3RfdGFi bGVzPSAwOworICAgIGNvbnN0X3RhYmxlX21hcD0gMDsKICAgICBqb2luX2xpc3Q9IDA7CiAgICAg aW1wbGljaXRfZ3JvdXBpbmc9IEZBTFNFOwogICAgIHNvcnRfYW5kX2dyb3VwPSAwOwoKPT09IG1v ZGlmaWVkIGZpbGUgJ3NxbC9zcWxfcGFyc2UuY2MnCi0tLSBhL3NxbC9zcWxfcGFyc2UuY2MJcmV2 aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTItMmIxZGRkdDVuMG5lenpw MQorKysgYi9zcWwvc3FsX3BhcnNlLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIw MTIwNDE4MTMzMjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTMwNDIsNyArMzA0Miw3IEBAIGVuZF93 aXRoX3Jlc3RvcmVfbGlzdDoKICAgICBnb3RvIGVycm9yOwogI2Vsc2UKICAgICB7Ci0gICAgICBp ZiAoY2hlY2tfZ2xvYmFsX2FjY2Vzcyh0aGQsIFNVUEVSX0FDTCkpCisgICAgICBpZiAoY2hlY2tf Z2xvYmFsX2FjY2Vzcyh0aGQsIFNVUEVSX0FDTCB8IFJFUExfQ0xJRU5UX0FDTCkpCiAJZ290byBl cnJvcjsKICAgICAgIHJlcyA9IHNob3dfYmlubG9ncyh0aGQpOwogICAgICAgYnJlYWs7Cgo9PT0g bW9kaWZpZWQgZmlsZSAnc3FsL3NxbF9zZWxlY3QuY2MnCi0tLSBhL3NxbC9zcWxfc2VsZWN0LmNj CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTA0OTEyLTJiMWRkZHQ1bjBu ZXp6cDEKKysrIGIvc3FsL3NxbF9zZWxlY3QuY2MJcmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5j b20tMjAxMjA0MTgxMzMyMzctYTl2NDVqMm9oNGUycGk0bApAQCAtMzk3NCwxNyArMzk3NCwxMiBA QCBjaGVja19yZXZlcnNlX29yZGVyOgogICAgICAgYm9vbCBxdWlja19jcmVhdGVkPSAKICAgICAg ICAgKHNlbGVjdCAmJiBzZWxlY3QtPnF1aWNrICYmIHNlbGVjdC0+cXVpY2shPXNhdmVfcXVpY2sp OwogCi0gICAgICAvKiAKLSAgICAgICAgIElmICdiZXN0X2tleScgaGFzIGNoYW5nZWQgZnJvbSAg cHJldi4gJ3JlZl9rZXknOgotICAgICAgICAgVXBkYXRlIHN0cmF0ZWd5IGZvciB1c2luZyBpbmRl eCB0cmVlIHJlYWRpbmcgb25seQotICAgICAgICAgKCdVc2luZyBpbmRleCcgaW4gRVhQTEFJTikK KyAgICAgIC8qCisgICAgICAgIElmIHJlZl9rZXkgdXNlZCBpbmRleCB0cmVlIHJlYWRpbmcgb25s eSAoJ1VzaW5nIGluZGV4JyBpbiBFWFBMQUlOKSwKKyAgICAgICAgYW5kIGJlc3Rfa2V5IGRvZXNu J3QsIHRoZW4gcmV2ZXJ0IHRoZSBkZWNpc2lvbi4KICAgICAgICovCi0gICAgICBpZiAoYmVzdF9r ZXkgIT0gcmVmX2tleSkKLSAgICAgIHsKLSAgICAgICAgY29uc3QgYm9vbCB1c2luZ19pbmRleD0g Ci0gICAgICAgICAgKHRhYmxlLT5jb3ZlcmluZ19rZXlzLmlzX3NldChiZXN0X2tleSkgJiYgIXRh YmxlLT5ub19rZXlyZWFkKTsKLSAgICAgICAgdGFibGUtPnNldF9rZXlyZWFkKHVzaW5nX2luZGV4 KTsKLSAgICAgIH0KKyAgICAgIGlmKCF0YWJsZS0+Y292ZXJpbmdfa2V5cy5pc19zZXQoYmVzdF9r ZXkpKQorICAgICAgICB0YWJsZS0+c2V0X2tleXJlYWQoZmFsc2UpOwogICAgICAgaWYgKCFxdWlj a19jcmVhdGVkKQogICAgICAgewogICAgICAgICBpZiAoc2VsZWN0KSAgICAgICAgICAgICAgICAg IC8vIFRocm93IGFueSBleGlzdGluZyBxdWljayBzZWxlY3QKCj09PSBtb2RpZmllZCBmaWxlICdz cWwvc3FsX3Nob3cuY2MnCi0tLSBhL3NxbC9zcWxfc2hvdy5jYwlyZXZpZDptYXJrby5tYWtlbGFA b3JhY2xlLmNvbS0yMDEyMDQxODEwNDkxMi0yYjFkZGR0NW4wbmV6enAxCisrKyBiL3NxbC9zcWxf c2hvdy5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0 NWoyb2g0ZTJwaTRsCkBAIC0xNTQzLDYgKzE1NDMsMzQgQEAgaW50IHN0b3JlX2NyZWF0ZV9pbmZv KFRIRCAqdGhkLCBUQUJMRV9MSQogICAgICAgcGFja2V0LT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVO KCIgTlVMTCIpKTsKICAgICB9CiAKKyAgICBzd2l0Y2goZmllbGQtPmZpZWxkX3N0b3JhZ2VfdHlw ZSgpKXsKKyAgICBjYXNlIEhBX1NNX0RFRkFVTFQ6CisgICAgICBicmVhazsKKyAgICBjYXNlIEhB X1NNX0RJU0s6CisgICAgICBwYWNrZXQtPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiAvKiE1MDYw NiBTVE9SQUdFIERJU0sgKi8iKSk7CisgICAgICBicmVhazsKKyAgICBjYXNlIEhBX1NNX01FTU9S WToKKyAgICAgIHBhY2tldC0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIC8qITUwNjA2IFNUT1JB R0UgTUVNT1JZICovIikpOworICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgIERCVUdf QVNTRVJUKDApOworICAgICAgYnJlYWs7CisgICAgfQorCisgICAgc3dpdGNoKGZpZWxkLT5jb2x1 bW5fZm9ybWF0KCkpeworICAgIGNhc2UgQ09MVU1OX0ZPUk1BVF9UWVBFX0RFRkFVTFQ6CisgICAg ICBicmVhazsKKyAgICBjYXNlIENPTFVNTl9GT1JNQVRfVFlQRV9GSVhFRDoKKyAgICAgIHBhY2tl dC0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIC8qITUwNjA2IENPTFVNTl9GT1JNQVQgRklYRUQg Ki8iKSk7CisgICAgICBicmVhazsKKyAgICBjYXNlIENPTFVNTl9GT1JNQVRfVFlQRV9EWU5BTUlD OgorICAgICAgcGFja2V0LT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIgLyohNTA2MDYgQ09MVU1O X0ZPUk1BVCBEWU5BTUlDICovIikpOworICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAg IERCVUdfQVNTRVJUKDApOworICAgICAgYnJlYWs7CisgICAgfQorCiAgICAgaWYgKHByaW50X2Rl ZmF1bHRfY2xhdXNlKHRoZCwgZmllbGQsICZkZWZfdmFsdWUsIHRydWUpKQogICAgIHsKICAgICAg IHBhY2tldC0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIERFRkFVTFQgIikpOwoKPT09IG1vZGlm aWVkIGZpbGUgJ3NxbC9zcWxfdGFibGUuY2MnCi0tLSBhL3NxbC9zcWxfdGFibGUuY2MJcmV2aWQ6 bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTItMmIxZGRkdDVuMG5lenpwMQor KysgYi9zcWwvc3FsX3RhYmxlLmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIw NDE4MTMzMjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAgLTUzNjIsNiArNTM2MiwxNiBAQCBzdGF0aWMg Ym9vbCBmaWxsX2FsdGVyX2lucGxhY2VfaW5mbyhUSEQKICAgICAgICovCiAgICAgICBpZiAoZmll bGQtPmZpZWxkX2luZGV4ICE9IG5ld19maWVsZF9pbmRleCkKICAgICAgICAgaGFfYWx0ZXJfaW5m by0+aGFuZGxlcl9mbGFnc3w9IEFsdGVyX2lucGxhY2VfaW5mbzo6QUxURVJfQ09MVU1OX09SREVS OworCisgICAgICAvKiBEZXRlY3QgY2hhbmdlcyBpbiBzdG9yYWdlIHR5cGUgb2YgY29sdW1uICov CisgICAgICBpZiAobmV3X2ZpZWxkLT5maWVsZF9zdG9yYWdlX3R5cGUoKSAhPSBmaWVsZC0+Zmll bGRfc3RvcmFnZV90eXBlKCkpCisgICAgICAgIGhhX2FsdGVyX2luZm8tPmhhbmRsZXJfZmxhZ3N8 PQorICAgICAgICAgIEFsdGVyX2lucGxhY2VfaW5mbzo6QUxURVJfQ09MVU1OX1NUT1JBR0VfVFlQ RTsKKworICAgICAgLyogRGV0ZWN0IGNoYW5nZXMgaW4gY29sdW1uIGZvcm1hdCBvZiBjb2x1bW4g Ki8KKyAgICAgIGlmIChuZXdfZmllbGQtPmNvbHVtbl9mb3JtYXQoKSAhPSBmaWVsZC0+Y29sdW1u X2Zvcm1hdCgpKQorICAgICAgICBoYV9hbHRlcl9pbmZvLT5oYW5kbGVyX2ZsYWdzfD0KKyAgICAg ICAgICBBbHRlcl9pbnBsYWNlX2luZm86OkFMVEVSX0NPTFVNTl9DT0xVTU5fRk9STUFUOwogICAg IH0KICAgICBlbHNlCiAgICAgewoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfeWFjYy55eScK LS0tIGEvc3FsL3NxbF95YWNjLnl5CXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIw NDE4MTA0OTEyLTJiMWRkZHQ1bjBuZXp6cDEKKysrIGIvc3FsL3NxbF95YWNjLnl5CXJldmlkOm1h cmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJvaDRlMnBpNGwKQEAg LTEwODUsNiArMTA4NSw3IEBAIGJvb2wgbXlfeXlvdmVyZmxvdyhzaG9ydCAqKmEsIFlZU1RZUEUg KioKICV0b2tlbiAgQ09MTEFUSU9OX1NZTSAgICAgICAgICAgICAgICAgLyogU1FMLTIwMDMtTiAq LwogJXRva2VuICBDT0xVTU5TCiAldG9rZW4gIENPTFVNTl9TWU0gICAgICAgICAgICAgICAgICAg IC8qIFNRTC0yMDAzLVIgKi8KKyV0b2tlbiAgQ09MVU1OX0ZPUk1BVF9TWU0KICV0b2tlbiAgQ09M VU1OX05BTUVfU1lNICAgICAgICAgICAgICAgLyogU1FMLTIwMDMtTiAqLwogJXRva2VuICBDT01N RU5UX1NZTQogJXRva2VuICBDT01NSVRURURfU1lNICAgICAgICAgICAgICAgICAvKiBTUUwtMjAw My1OICovCkBAIC02MjkzLDYgKzYyOTQsMzkgQEAgYXR0cmlidXRlOgogICAgICAgICAgICAgICBM ZXgtPmNoYXJzZXQ9JDI7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgfQorICAgICAgICB8IENP TFVNTl9GT1JNQVRfU1lNIERFRkFVTFQKKyAgICAgICAgICB7CisgICAgICAgICAgICBMZXgtPnR5 cGUmPSB+KEZJRUxEX0ZMQUdTX0NPTFVNTl9GT1JNQVRfTUFTSyk7CisgICAgICAgICAgICBMZXgt PnR5cGV8PQorICAgICAgICAgICAgICAoQ09MVU1OX0ZPUk1BVF9UWVBFX0RFRkFVTFQgPDwgRklF TERfRkxBR1NfQ09MVU1OX0ZPUk1BVCk7CisgICAgICAgICAgfQorICAgICAgICB8IENPTFVNTl9G T1JNQVRfU1lNIEZJWEVEX1NZTQorICAgICAgICAgIHsKKyAgICAgICAgICAgIExleC0+dHlwZSY9 IH4oRklFTERfRkxBR1NfQ09MVU1OX0ZPUk1BVF9NQVNLKTsKKyAgICAgICAgICAgIExleC0+dHlw ZXw9CisgICAgICAgICAgICAgIChDT0xVTU5fRk9STUFUX1RZUEVfRklYRUQgPDwgRklFTERfRkxB R1NfQ09MVU1OX0ZPUk1BVCk7CisgICAgICAgICAgfQorICAgICAgICB8IENPTFVNTl9GT1JNQVRf U1lNIERZTkFNSUNfU1lNCisgICAgICAgICAgeworICAgICAgICAgICAgTGV4LT50eXBlJj0gfihG SUVMRF9GTEFHU19DT0xVTU5fRk9STUFUX01BU0spOworICAgICAgICAgICAgTGV4LT50eXBlfD0K KyAgICAgICAgICAgICAgKENPTFVNTl9GT1JNQVRfVFlQRV9EWU5BTUlDIDw8IEZJRUxEX0ZMQUdT X0NPTFVNTl9GT1JNQVQpOworICAgICAgICAgIH0KKyAgICAgICAgfCBTVE9SQUdFX1NZTSBERUZB VUxUCisgICAgICAgICAgeworICAgICAgICAgICAgTGV4LT50eXBlJj0gfihGSUVMRF9GTEFHU19T VE9SQUdFX01FRElBX01BU0spOworICAgICAgICAgICAgTGV4LT50eXBlfD0gKEhBX1NNX0RFRkFV TFQgPDwgRklFTERfRkxBR1NfU1RPUkFHRV9NRURJQSk7CisgICAgICAgICAgfQorICAgICAgICB8 IFNUT1JBR0VfU1lNIERJU0tfU1lNCisgICAgICAgICAgeworICAgICAgICAgICAgTGV4LT50eXBl Jj0gfihGSUVMRF9GTEFHU19TVE9SQUdFX01FRElBX01BU0spOworICAgICAgICAgICAgTGV4LT50 eXBlfD0gKEhBX1NNX0RJU0sgPDwgRklFTERfRkxBR1NfU1RPUkFHRV9NRURJQSk7CisgICAgICAg ICAgfQorICAgICAgICB8IFNUT1JBR0VfU1lNIE1FTU9SWV9TWU0KKyAgICAgICAgICB7CisgICAg ICAgICAgICBMZXgtPnR5cGUmPSB+KEZJRUxEX0ZMQUdTX1NUT1JBR0VfTUVESUFfTUFTSyk7Cisg ICAgICAgICAgICBMZXgtPnR5cGV8PSAoSEFfU01fTUVNT1JZIDw8IEZJRUxEX0ZMQUdTX1NUT1JB R0VfTUVESUEpOworICAgICAgICAgIH0KICAgICAgICAgOwogCiAKQEAgLTEzNDg0LDYgKzEzNTE4 LDcgQEAga2V5d29yZF9zcDoKICAgICAgICAgfCBDT0RFX1NZTSAgICAgICAgICAgICAgICAge30K ICAgICAgICAgfCBDT0xMQVRJT05fU1lNICAgICAgICAgICAge30KICAgICAgICAgfCBDT0xVTU5f TkFNRV9TWU0gICAgICAgICAge30KKyAgICAgICAgfCBDT0xVTU5fRk9STUFUX1NZTSAgICAgICAg e30KICAgICAgICAgfCBDT0xVTU5TICAgICAgICAgICAgICAgICAge30KICAgICAgICAgfCBDT01N SVRURURfU1lNICAgICAgICAgICAge30KICAgICAgICAgfCBDT01QQUNUX1NZTSAgICAgICAgICAg ICAge30KCj09PSBtb2RpZmllZCBmaWxlICdzcWwvdGFibGUuY2MnCi0tLSBhL3NxbC90YWJsZS5j YwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEwNDkxMi0yYjFkZGR0NW4w bmV6enAxCisrKyBiL3NxbC90YWJsZS5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0y MDEyMDQxODEzMzIzNy1hOXY0NWoyb2g0ZTJwaTRsCkBAIC0xNTgyLDggKzE1ODIsOCBAQCBzdGF0 aWMgaW50IG9wZW5fYmluYXJ5X2ZybShUSEQgKnRoZCwgVEFCCiAgICAgICAgICgoZmllbGRfZmxh Z3MgPj4gQ09MVU1OX0ZPUk1BVF9TSElGVCkmIENPTFVNTl9GT1JNQVRfTUFTSyk7CiAgICAgICBE QlVHX1BSSU5UKCJkZWJ1ZyIsICgiZmllbGQgZmxhZ3M6ICV1LCBzdG9yYWdlOiAldSwgY29sdW1u X2Zvcm1hdDogJXUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRfZmxhZ3MsIGZp ZWxkX3N0b3JhZ2UsIGZpZWxkX2NvbHVtbl9mb3JtYXQpKTsKLSAgICAgICh2b2lkKWZpZWxkX3N0 b3JhZ2U7IC8qIFJlc2VydmVkIGJ5IGFuZCB1c2VkIGluIE15U1FMIENsdXN0ZXIgKi8KLSAgICAg ICh2b2lkKWZpZWxkX2NvbHVtbl9mb3JtYXQ7IC8qIFJlc2VydmVkIGJ5IGFuZCB1c2VkIGluIE15 U1FMIENsdXN0ZXIgKi8KKyAgICAgIHJlZ19maWVsZC0+c2V0X3N0b3JhZ2VfdHlwZSgoaGFfc3Rv cmFnZV9tZWRpYSlmaWVsZF9zdG9yYWdlKTsKKyAgICAgIHJlZ19maWVsZC0+c2V0X2NvbHVtbl9m b3JtYXQoKGNvbHVtbl9mb3JtYXRfdHlwZSlmaWVsZF9jb2x1bW5fZm9ybWF0KTsKICAgICB9CiAg IH0KICAgKmZpZWxkX3B0cj0wOwkJCQkJLy8gRW5kIG1hcmtlcgoKPT09IG1vZGlmaWVkIGZpbGUg J3NxbC91bmlyZWcuY2MnCi0tLSBhL3NxbC91bmlyZWcuY2MJcmV2aWQ6bWFya28ubWFrZWxhQG9y YWNsZS5jb20tMjAxMjA0MTgxMDQ5MTItMmIxZGRkdDVuMG5lenpwMQorKysgYi9zcWwvdW5pcmVn LmNjCXJldmlkOm1hcmtvLm1ha2VsYUBvcmFjbGUuY29tLTIwMTIwNDE4MTMzMjM3LWE5djQ1ajJv aDRlMnBpNGwKQEAgLTM5MCw4ICszOTAsOCBAQCBib29sIG15c3FsX2NyZWF0ZV9mcm0oVEhEICp0 aGQsIGNvbnN0IGNoCiAgICAgTGlzdF9pdGVyYXRvcjxDcmVhdGVfZmllbGQ+IGl0KGNyZWF0ZV9m aWVsZHMpOwogICAgIHdoaWxlICgoZmllbGQ9aXQrKykpCiAgICAgewotICAgICAgY29uc3QgdWNo YXIgZmllbGRfc3RvcmFnZT0gMDsgLyogVXNlZCBpbiBNeVNRTCBDbHVzdGVyICovCi0gICAgICBj b25zdCB1Y2hhciBmaWVsZF9jb2x1bW5fZm9ybWF0PSAwOyAvKiBVc2VkIGluIE15U1FMIENsdXN0 ZXIgKi8KKyAgICAgIGNvbnN0IHVjaGFyIGZpZWxkX3N0b3JhZ2U9IGZpZWxkLT5maWVsZF9zdG9y YWdlX3R5cGUoKTsKKyAgICAgIGNvbnN0IHVjaGFyIGZpZWxkX2NvbHVtbl9mb3JtYXQ9IGZpZWxk LT5jb2x1bW5fZm9ybWF0KCk7CiAgICAgICBjb25zdCB1Y2hhciBmaWVsZF9mbGFncz0KICAgICAg ICAgZmllbGRfc3RvcmFnZSArIChmaWVsZF9jb2x1bW5fZm9ybWF0IDw8IENPTFVNTl9GT1JNQVRf U0hJRlQpOwogICAgICAgKnB0cj0gZmllbGRfZmxhZ3M7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3Rv cmFnZS9pbm5vYmFzZS9pbmNsdWRlL3VuaXYuaScKLS0tIGEvc3RvcmFnZS9pbm5vYmFzZS9pbmNs dWRlL3VuaXYuaQlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEwNDkxMi0y YjFkZGR0NW4wbmV6enAxCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS91bml2LmkJcmV2 aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMzMyMzctYTl2NDVqMm9oNGUycGk0 bApAQCAtNDc4LDggKzQ3OCw2IEBAIHR5cGVkZWYgaWJfdWludDY0X3QJaWJfaWRfdDsKIC8qKiBU aGUgJ3VuZGVmaW5lZCcgdmFsdWUgZm9yIGEgdWxsaW50ICovCiAjZGVmaW5lIFVMTElOVF9VTkRF RklORUQgICAgICAgICgodWxsaW50KSgtMSkpCiAKLSNkZWZpbmUgSUJfSURfVU5ERUZJTkVEICAg ICAgICAgSUJfVUlOVDY0X01BWAotCiAvKiogVGhpcyAnaWJvb2wnIHR5cGUgaXMgdXNlZCB3aXRo aW4gSW5ub2Jhc2UuIFJlbWVtYmVyIHRoYXQgZGlmZmVyZW50IGluY2x1ZGVkCiBoZWFkZXJzIG1h eSBkZWZpbmUgJ2Jvb2wnIGRpZmZlcmVudGx5LiBEbyBub3QgYXNzdW1lIHRoYXQgJ2Jvb2wnIGlz IGEgdWxpbnQhICovCiAjZGVmaW5lIGlib29sCQkJdWxpbnQKCj09PSBtb2RpZmllZCBmaWxlICdz dG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwbXlzcWwuY2MnCi0tLSBhL3N0b3JhZ2UvaW5ub2Jhc2Uv cm93L3JvdzBteXNxbC5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEw NDkxMi0yYjFkZGR0NW4wbmV6enAxCisrKyBiL3N0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBteXNx bC5jYwlyZXZpZDptYXJrby5tYWtlbGFAb3JhY2xlLmNvbS0yMDEyMDQxODEzMzIzNy1hOXY0NWoy b2g0ZTJwaTRsCkBAIC0yOTEyLDE5ICsyOTEyLDE3IEBAIHJvd19kaXNjYXJkX3RhYmxlc3BhY2Vf Zm9yX215c3FsKAogCXRhYmxlID0gcm93X2Rpc2NhcmRfdGFibGVzcGFjZV9iZWdpbihuYW1lLCB0 cngpOwogCiAJaWYgKHRhYmxlID09IDApIHsKLQkJcmV0dXJuKHJvd19kaXNjYXJkX3RhYmxlc3Bh Y2VfZW5kKHRyeCwgMCwgREJfVEFCTEVfTk9UX0ZPVU5EKSk7CisJCWVyciA9IERCX1RBQkxFX05P VF9GT1VORDsKKwl9IGVsc2UgeworCQkvKiBEbyBmb3JlaWduIGtleSBjb25zdHJhaW50IGNoZWNr cy4gKi8KKworCQllcnIgPSByb3dfZGlzY2FyZF90YWJsZXNwYWNlX2ZvcmVpZ25fa2V5X2NoZWNr cyh0cngsIHRhYmxlKTsKKworCQlpZiAoZXJyID09IERCX1NVQ0NFU1MpIHsKKwkJCWVyciA9IHJv d19kaXNjYXJkX3RhYmxlc3BhY2UodHJ4LCB0YWJsZSk7CisJCX0KIAl9CiAKLQkvKiBEbyBmb3Jl aWduIGtleSBjb25zdHJhaW50IGNoZWNrcy4gKi8KLQotCWVyciA9IHJvd19kaXNjYXJkX3RhYmxl c3BhY2VfZm9yZWlnbl9rZXlfY2hlY2tzKHRyeCwgdGFibGUpOwotCi0JaWYgKGVyciAhPSBEQl9T VUNDRVNTKSB7Ci0JCXJldHVybihyb3dfZGlzY2FyZF90YWJsZXNwYWNlX2VuZCh0cngsIHRhYmxl LCBlcnIpKTsKLQl9Ci0KLQllcnIgPSByb3dfZGlzY2FyZF90YWJsZXNwYWNlKHRyeCwgdGFibGUp OwotCiAJcmV0dXJuKHJvd19kaXNjYXJkX3RhYmxlc3BhY2VfZW5kKHRyeCwgdGFibGUsIGVycikp OwogfQogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3RvcmFnZS9wZXJmc2NoZW1hL2dlbl9wZnNfbGV4 X3Rva2VuLmNjJwotLS0gYS9zdG9yYWdlL3BlcmZzY2hlbWEvZ2VuX3Bmc19sZXhfdG9rZW4uY2MJ cmV2aWQ6bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMDQ5MTItMmIxZGRkdDVuMG5l enpwMQorKysgYi9zdG9yYWdlL3BlcmZzY2hlbWEvZ2VuX3Bmc19sZXhfdG9rZW4uY2MJcmV2aWQ6 bWFya28ubWFrZWxhQG9yYWNsZS5jb20tMjAxMjA0MTgxMzMyMzctYTl2NDVqMm9oNGUycGk0bApA QCAtMjQzLDcgKzI0Myw3IEBAIHZvaWQgcHJpbnRfdG9rZW5zKCkKIGludCBtYWluKGludCBhcmdj LGNoYXIgKiphcmd2KQogewogICBwdXRzKCIvKiIpOwotICBwdXRzKE9SQUNMRV9XRUxDT01FX0NP UFlSSUdIVF9OT1RJQ0UoIjIwMTEiKSk7CisgIHB1dHMoT1JBQ0xFX1dFTENPTUVfQ09QWVJJR0hU X05PVElDRSgiMjAxMSwgMjAxMiIpKTsKICAgcHV0cygiKi8iKTsKIAogICBwcmludGYoIi8qXG4i KTsKCk5vIGJ1bmRsZSAocmVhc29uOiB1c2VsZXNzIGZvciBwdXNoIGVtYWlscyku