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: Tomas Mraz To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: new upstream release fixing multiple moderate security issues Date: Tue, 09 Jun 2026 12:43:23 GMT Message-ID: <178100900395.1.17840210494157971801.rpms-openssl-a78828f786d4@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: a78828f786d4146ceb375a675f9fd6ec4975b5a4 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnNzbAogICAgICAgICAgICBCcmFuY2ggOiByZWJhc2VfNDBiZXRhCiAg ICAgICAgICAgIENvbW1pdCA6IGE3ODgyOGY3ODZkNDE0NmNlYjM3NWE2NzVmOWZkNmVjNDk3NWI1 YTQKICAgICAgICAgICAgQXV0aG9yIDogVG9tYXMgTXJheiA8dG1yYXpAZmVkb3JhcHJvamVjdC5v cmc+CiAgICAgICAgICAgIERhdGUgICA6IDIwMTQtMDgtMDdUMTY6MDA6NDcrMDI6MDAKICAgICAg ICAgICAgU3RhdHMgIDogKzE5NTQvLTI1NjIgaW4gMTcgZmlsZShzKQogICAgICAgICAgICBVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL29wZW5zc2wvYy9hNzg4Mjhm Nzg2ZDQxNDZjZWIzNzVhNjc1ZjlmZDZlYzQ5NzViNWE0P2JyYW5jaD1yZWJhc2VfNDBiZXRhCgog ICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIG5ldyB1cHN0cmVhbSByZWxlYXNlIGZpeGluZyBt dWx0aXBsZSBtb2RlcmF0ZSBzZWN1cml0eSBpc3N1ZXMKCi0gZm9yIG5vdyBkaXNhYmxlIG9ubHkg U1NMdjIgYnkgZGVmYXVsdAoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9y ZQppbmRleCBkZWQ0MjMwLi44MGNhOTlhIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5n aXRpZ25vcmUKQEAgLTE1LDMgKzE1LDQgQEAgb3BlbnNzbC0xLjAuMGEtdXNhLnRhci5iejIKIC9v cGVuc3NsLTEuMC4xZS1ob2JibGVkLnRhci54egogL29wZW5zc2wtMS4wLjFnLWhvYmJsZWQudGFy Lnh6CiAvb3BlbnNzbC0xLjAuMWgtaG9iYmxlZC50YXIueHoKKy9vcGVuc3NsLTEuMC4xaS1ob2Ji bGVkLnRhci54egoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4wLjBjLWZpcHMtbWQ1LWFsbG93LnBh dGNoIGIvb3BlbnNzbC0xLjAuMGMtZmlwcy1tZDUtYWxsb3cucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IGY5ZjVlNWQuLjAwMDAwMDAKLS0tIGEvb3BlbnNzbC0xLjAuMGMtZmlw cy1tZDUtYWxsb3cucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1kaWZmIC11 cCBvcGVuc3NsLTEuMC4wYy9jcnlwdG8vbWQ1L21kNV9kZ3N0LmMubWQ1LWFsbG93IG9wZW5zc2wt MS4wLjBjL2NyeXB0by9tZDUvbWQ1X2Rnc3QuYwotLS0tIG9wZW5zc2wtMS4wLjBjL2NyeXB0by9t ZDUvbWQ1X2Rnc3QuYy5tZDUtYWxsb3cJMjAxMS0wMi0wMyAxOTo1MzoyOC4wMDAwMDAwMDAgKzAx MDAKLSsrKyBvcGVuc3NsLTEuMC4wYy9jcnlwdG8vbWQ1L21kNV9kZ3N0LmMJMjAxMS0wMi0wMyAy MDozMzoxNC4wMDAwMDAwMDAgKzAxMDAKLUBAIC03NSw3ICs3NSwxNSBAQCBjb25zdCBjaGFyIE1E NV92ZXJzaW9uW109Ik1ENSIgT1BFTlNTTF9WCi0gI2RlZmluZSBJTklUX0RBVEFfQyAodW5zaWdu ZWQgbG9uZykweDk4YmFkY2ZlTAotICNkZWZpbmUgSU5JVF9EQVRBX0QgKHVuc2lnbmVkIGxvbmcp MHgxMDMyNTQ3NkwKLSAKLS1GSVBTX05PTl9GSVBTX01EX0luaXQoTUQ1KQotK2ludCBNRDVfSW5p dChNRDVfQ1RYICpjKQotKyNpZmRlZiBPUEVOU1NMX0ZJUFMKLSsJewotKwlpZiAoRklQU19tb2Rl KCkgJiYgZ2V0ZW52KCJPUEVOU1NMX0ZJUFNfTk9OX0FQUFJPVkVEX01ENV9BTExPVyIpID09IE5V TEwpCi0rCQlGSVBTX0JBRF9BTEdPUklUSE0oYWxnKQotKwlyZXR1cm4gcHJpdmF0ZV9NRDVfSW5p dChjKTsKLSsJfQotK2ludCBwcml2YXRlX01ENV9Jbml0KE1ENV9DVFggKmMpCi0rI2VuZGlmCi0g CXsKLSAJbWVtc2V0IChjLDAsc2l6ZW9mKCpjKSk7Ci0gCWMtPkE9SU5JVF9EQVRBX0E7CgpkaWZm IC0tZ2l0IGEvb3BlbnNzbC0xLjAuMGUtZG9jLW5vZW9mLnBhdGNoIGIvb3BlbnNzbC0xLjAuMGUt ZG9jLW5vZW9mLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Njg2NTc1Li4w MDAwMDAwCi0tLSBhL29wZW5zc2wtMS4wLjBlLWRvYy1ub2VvZi5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDIzICswLDAgQEAKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjBlL2RvYy9hcHBzL3NfY2xp ZW50LnBvZC5kb2Mtbm9lb2Ygb3BlbnNzbC0xLjAuMGUvZG9jL2FwcHMvc19jbGllbnQucG9kCi0t LS0gb3BlbnNzbC0xLjAuMGUvZG9jL2FwcHMvc19jbGllbnQucG9kLmRvYy1ub2VvZgkyMDA5LTA2 LTI2IDEzOjI4OjUxLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjBlL2RvYy9hcHBz L3NfY2xpZW50LnBvZAkyMDExLTExLTAzIDA4OjMwOjM1LjAwMDAwMDAwMCArMDEwMAotQEAgLTI3 LDYgKzI3LDcgQEAgQjxvcGVuc3NsPiBCPHNfY2xpZW50PgotIFtCPC1uYmlvPl0KLSBbQjwtY3Js Zj5dCi0gW0I8LWlnbl9lb2Y+XQotK1tCPC1ub19pZ25fZW9mPl0KLSBbQjwtcXVpZXQ+XQotIFtC PC1zc2wyPl0KLSBbQjwtc3NsMz5dCi1AQCAtMTYxLDYgKzE2MiwxMSBAQCBieSBzb21lIHNlcnZl cnMuCi0gaW5oaWJpdCBzaHV0dGluZyBkb3duIHRoZSBjb25uZWN0aW9uIHdoZW4gZW5kIG9mIGZp bGUgaXMgcmVhY2hlZCBpbiB0aGUKLSBpbnB1dC4KLSAKLSs9aXRlbSBCPC1ub19pZ25fZW9mPgot KwotK3NodXQgZG93biB0aGUgY29ubmVjdGlvbiB3aGVuIGVuZCBvZiBmaWxlIGlzIHJlYWNoZWQg aW4gdGhlCi0raW5wdXQuIENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBpbXBsaWNpdCBCPC1p Z25fZW9mPiBhZnRlciBCPC1xdWlldD4uCi0rCi0gPWl0ZW0gQjwtcXVpZXQ+Ci0gCi0gaW5oaWJp dCBwcmludGluZyBvZiBzZXNzaW9uIGFuZCBjZXJ0aWZpY2F0ZSBpbmZvcm1hdGlvbi4gIFRoaXMg aW1wbGljaXRseQoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4wLjFhLWFsZ28tZG9jLnBhdGNoIGIv b3BlbnNzbC0xLjAuMWEtYWxnby1kb2MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IGM0YWFhODkuLjAwMDAwMDAKLS0tIGEvb3BlbnNzbC0xLjAuMWEtYWxnby1kb2MucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xYS9k b2MvY3J5cHRvL0VWUF9EaWdlc3RJbml0LnBvZC5hbGdvLWRvYyBvcGVuc3NsLTEuMC4xYS9kb2Mv Y3J5cHRvL0VWUF9EaWdlc3RJbml0LnBvZAotLS0tIG9wZW5zc2wtMS4wLjFhL2RvYy9jcnlwdG8v RVZQX0RpZ2VzdEluaXQucG9kLmFsZ28tZG9jCTIwMTItMDQtMTEgMDA6Mjg6MjIuMDAwMDAwMDAw ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWEvZG9jL2NyeXB0by9FVlBfRGlnZXN0SW5pdC5wb2QJ MjAxMi0wNC0yMCAwOToxNDowMS44NjUxNjcwMTEgKzAyMDAKLUBAIC03NSw3ICs3NSw3IEBAIEVW UF9NRF9DVFhfY3JlYXRlKCkgYWxsb2NhdGVzLCBpbml0aWFsaXoKLSAKLSBFVlBfRGlnZXN0SW5p dF9leCgpIHNldHMgdXAgZGlnZXN0IGNvbnRleHQgQjxjdHg+IHRvIHVzZSBhIGRpZ2VzdAotIEI8 dHlwZT4gZnJvbSBFTkdJTkUgQjxpbXBsPi4gQjxjdHg+IG11c3QgYmUgaW5pdGlhbGl6ZWQgYmVm b3JlIGNhbGxpbmcgdGhpcwotLWZ1bmN0aW9uLiBCPHR5cGU+IHdpbGwgdHlwaWNhbGx5IGJlIHN1 cHBsaWVkIGJ5IGEgZnVuY3Rpb25zdWNoIGFzIEVWUF9zaGExKCkuCi0rZnVuY3Rpb24uIEI8dHlw ZT4gd2lsbCB0eXBpY2FsbHkgYmUgc3VwcGxpZWQgYnkgYSBmdW5jdGlvbiBzdWNoIGFzIEVWUF9z aGExKCkuCi0gSWYgQjxpbXBsPiBpcyBOVUxMIHRoZW4gdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRp b24gb2YgZGlnZXN0IEI8dHlwZT4gaXMgdXNlZC4KLSAKLSBFVlBfRGlnZXN0VXBkYXRlKCkgaGFz aGVzIEI8Y250PiBieXRlcyBvZiBkYXRhIGF0IEI8ZD4gaW50byB0aGUKLUBAIC0xNjUsNyArMTY1 LDggQEAgRVZQX01EX3NpemUoKSwgRVZQX01EX2Jsb2NrX3NpemUoKSwgRVZQXwotIEVWUF9NRF9D VFhfYmxvY2tfc2l6ZSgpCWFuZCBFVlBfTURfYmxvY2tfc2l6ZSgpIHJldHVybiB0aGUgZGlnZXN0 IG9yIGJsb2NrCi0gc2l6ZSBpbiBieXRlcy4KLSAKLS1FVlBfbWRfbnVsbCgpLCBFVlBfbWQyKCks IEVWUF9tZDUoKSwgRVZQX3NoYSgpLCBFVlBfc2hhMSgpLCBFVlBfZHNzKCksCi0rRVZQX21kX251 bGwoKSwgRVZQX21kMigpLCBFVlBfbWQ1KCksIEVWUF9zaGEoKSwgRVZQX3NoYTEoKSwKLStFVlBf c2hhMjI0KCksIEVWUF9zaGEyNTYoKSwgRVZQX3NoYTM4NCgpLCBFVlBfc2hhNTEyKCksIEVWUF9k c3MoKSwKLSBFVlBfZHNzMSgpLCBFVlBfbWRjMigpIGFuZCBFVlBfcmlwZW1kMTYwKCkgcmV0dXJu IHBvaW50ZXJzIHRvIHRoZQotIGNvcnJlc3BvbmRpbmcgRVZQX01EIHN0cnVjdHVyZXMuCi0gCi1k aWZmIC11cCBvcGVuc3NsLTEuMC4xYS9kb2MvY3J5cHRvL0VWUF9FbmNyeXB0SW5pdC5wb2QuYWxn by1kb2Mgb3BlbnNzbC0xLjAuMWEvZG9jL2NyeXB0by9FVlBfRW5jcnlwdEluaXQucG9kCi0tLS0g b3BlbnNzbC0xLjAuMWEvZG9jL2NyeXB0by9FVlBfRW5jcnlwdEluaXQucG9kLmFsZ28tZG9jCTIw MDUtMDQtMTUgMTg6MDE6MzUuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWEvZG9j L2NyeXB0by9FVlBfRW5jcnlwdEluaXQucG9kCTIwMTItMDQtMjAgMDk6MTA6NTkuMTE0NzM2NDY1 ICswMjAwCi1AQCAtOTEsNiArOTEsMzIgQEAgRVZQX0NJUEhFUl9DVFhfc2V0X3BhZGRpbmcgLSBF VlAgY2lwaGVyCi0gIGludCBFVlBfQ0lQSEVSX3BhcmFtX3RvX2FzbjEoRVZQX0NJUEhFUl9DVFgg KmMsIEFTTjFfVFlQRSAqdHlwZSk7Ci0gIGludCBFVlBfQ0lQSEVSX2FzbjFfdG9fcGFyYW0oRVZQ X0NJUEhFUl9DVFggKmMsIEFTTjFfVFlQRSAqdHlwZSk7Ci0gCi0rIGNvbnN0IEVWUF9DSVBIRVIg KkVWUF9kZXNfZWRlMyh2b2lkKTsKLSsgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Rlc19lZGUzX2Vj Yih2b2lkKTsKLSsgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Rlc19lZGUzX2NmYjY0KHZvaWQpOwot KyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfZGVzX2VkZTNfY2ZiMSh2b2lkKTsKLSsgY29uc3QgRVZQ X0NJUEhFUiAqRVZQX2Rlc19lZGUzX2NmYjgodm9pZCk7Ci0rIGNvbnN0IEVWUF9DSVBIRVIgKkVW UF9kZXNfZWRlM19vZmIodm9pZCk7Ci0rIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9kZXNfZWRlM19j YmModm9pZCk7Ci0rIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMTI4X2VjYih2b2lkKTsKLSsg Y29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xMjhfY2JjKHZvaWQpOwotKyBjb25zdCBFVlBfQ0lQ SEVSICpFVlBfYWVzXzEyOF9jZmIxKHZvaWQpOwotKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVz XzEyOF9jZmI4KHZvaWQpOwotKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzEyOF9jZmIxMjgo dm9pZCk7Ci0rIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMTI4X29mYih2b2lkKTsKLSsgY29u c3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xOTJfZWNiKHZvaWQpOwotKyBjb25zdCBFVlBfQ0lQSEVS ICpFVlBfYWVzXzE5Ml9jYmModm9pZCk7Ci0rIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMTky X2NmYjEodm9pZCk7Ci0rIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMTkyX2NmYjgodm9pZCk7 Ci0rIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMTkyX2NmYjEyOCh2b2lkKTsKLSsgY29uc3Qg RVZQX0NJUEhFUiAqRVZQX2Flc18xOTJfb2ZiKHZvaWQpOwotKyBjb25zdCBFVlBfQ0lQSEVSICpF VlBfYWVzXzI1Nl9lY2Iodm9pZCk7Ci0rIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMjU2X2Ni Yyh2b2lkKTsKLSsgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18yNTZfY2ZiMSh2b2lkKTsKLSsg Y29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18yNTZfY2ZiOCh2b2lkKTsKLSsgY29uc3QgRVZQX0NJ UEhFUiAqRVZQX2Flc18yNTZfY2ZiMTI4KHZvaWQpOwotKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBf YWVzXzI1Nl9vZmIodm9pZCk7Ci0rCi0gPWhlYWQxIERFU0NSSVBUSU9OCi0gCi0gVGhlIEVWUCBj aXBoZXIgcm91dGluZXMgYXJlIGEgaGlnaCBsZXZlbCBpbnRlcmZhY2UgdG8gY2VydGFpbgotQEAg LTI5Nyw2ICszMjMsMTggQEAgVGhyZWUga2V5IHRyaXBsZSBERVMgaW4gQ0JDLCBFQ0IsIENGQiBh bgotIAotIERFU1ggYWxnb3JpdGhtIGluIENCQyBtb2RlLgotIAotKz1pdGVtIEVWUF9hZXNfMTI4 X2NiYyh2b2lkKSwgRVZQX2Flc18xMjhfZWNiKCksIEVWUF9hZXNfMTI4X29mYih2b2lkKSwgRVZQ X2Flc18xMjhfY2ZiMSh2b2lkKSwgRVZQX2Flc18xMjhfY2ZiOCh2b2lkKSwgRVZQX2Flc18xMjhf Y2ZiMTI4KHZvaWQpCi0rCi0rQUVTIHdpdGggMTI4IGJpdCBrZXkgbGVuZ3RoIGluIENCQywgRUNC LCBPRkIgYW5kIENGQiBtb2RlcyByZXNwZWN0aXZlbHkuCi0rCi0rPWl0ZW0gRVZQX2Flc18xOTJf Y2JjKHZvaWQpLCBFVlBfYWVzXzE5Ml9lY2IoKSwgRVZQX2Flc18xOTJfb2ZiKHZvaWQpLCBFVlBf YWVzXzE5Ml9jZmIxKHZvaWQpLCBFVlBfYWVzXzE5Ml9jZmI4KHZvaWQpLCBFVlBfYWVzXzE5Ml9j ZmIxMjgodm9pZCkKLSsKLStBRVMgd2l0aCAxOTIgYml0IGtleSBsZW5ndGggaW4gQ0JDLCBFQ0Is IE9GQiBhbmQgQ0ZCIG1vZGVzIHJlc3BlY3RpdmVseS4KLSsKLSs9aXRlbSBFVlBfYWVzXzI1Nl9j YmModm9pZCksIEVWUF9hZXNfMjU2X2VjYigpLCBFVlBfYWVzXzI1Nl9vZmIodm9pZCksIEVWUF9h ZXNfMjU2X2NmYjEodm9pZCksIEVWUF9hZXNfMjU2X2NmYjgodm9pZCksIEVWUF9hZXNfMjU2X2Nm YjEyOCh2b2lkKQotKwotK0FFUyB3aXRoIDI1NiBiaXQga2V5IGxlbmd0aCBpbiBDQkMsIEVDQiwg T0ZCIGFuZCBDRkIgbW9kZXMgcmVzcGVjdGl2ZWx5LgotKwotID1pdGVtIEVWUF9yYzQodm9pZCkK LSAKLSBSQzQgc3RyZWFtIGNpcGhlci4gVGhpcyBpcyBhIHZhcmlhYmxlIGtleSBsZW5ndGggY2lw aGVyIHdpdGggZGVmYXVsdCBrZXkgbGVuZ3RoIDEyOCBiaXRzLgoKZGlmZiAtLWdpdCBhL29wZW5z c2wtMS4wLjFlLXNzbDItbm8tZWMucGF0Y2ggYi9vcGVuc3NsLTEuMC4xZS1zc2wyLW5vLWVjLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MWFkNDcyLi4wMDAwMDAwCi0tLSBh L29wZW5zc2wtMS4wLjFlLXNzbDItbm8tZWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNyAr MCwwIEBACi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9zc2wvczIzX2xpYi5jLnNzbDJub2VjIG9w ZW5zc2wtMS4wLjFlL3NzbC9zMjNfbGliLmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9zc2wvczIzX2xp Yi5jLnNzbDJub2VjCTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvc3NsL3MyM19saWIuYwkyMDE0LTA1LTA2IDE1OjUxOjU0LjA1MzI5MzY3NCAr MDIwMAotQEAgLTEwNyw2ICsxMDcsMTMgQEAgaW50IHNzbDIzX3B1dF9jaXBoZXJfYnlfY2hhcihj b25zdCBTU0xfQwotIAlsb25nIGw7Ci0gCi0gCS8qIFdlIGNhbiB3cml0ZSBTU0x2MiBhbmQgU1NM djMgY2lwaGVycyAqLwotKwkvKiBidXQgbm8gRUNDIGNpcGhlcnMgKi8KLSsJaWYgKGMtPmFsZ29y aXRobV9ta2V5ID09IFNTTF9rRUNESHIgfHwKLSsJCWMtPmFsZ29yaXRobV9ta2V5ID09IFNTTF9r RUNESGUgfHwKLSsJCWMtPmFsZ29yaXRobV9ta2V5ID09IFNTTF9rRUVDREggfHwKLSsJCWMtPmFs Z29yaXRobV9hdXRoID09IFNTTF9hRUNESCB8fAotKwkJYy0+YWxnb3JpdGhtX2F1dGggPT0gU1NM X2FFQ0RTQSkKLSsJCXJldHVybiAwOwotIAlpZiAocCAhPSBOVUxMKQotIAkJewotIAkJbD1jLT5p ZDsKCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4xZS10cnVzdGVkLWZpcnN0LnBhdGNoIGIvb3Bl bnNzbC0xLjAuMWUtdHJ1c3RlZC1maXJzdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDhhYjYzOS4uMDAwMDAwMAotLS0gYS9vcGVuc3NsLTEuMC4xZS10cnVzdGVkLWZpcnN0 LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMwICswLDAgQEAKLWRpZmYgLXVwIG9wZW5zc2wt MS4wLjFlL2FwcHMvYXBwcy5jLnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWUvYXBwcy9hcHBz LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9hcHBzL2FwcHMuYy50cnVzdGVkLWZpcnN0CTIwMTMtMDIt MTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvYXBwcy9hcHBz LmMJMjAxMy0wOC0xNiAxNTo0MjozOS45MjA1MzQ3NjkgKzAyMDAKLUBAIC0yMzYxLDYgKzIzNjEs OCBAQCBpbnQgYXJnc192ZXJpZnkoY2hhciAqKipwYXJncywgaW50ICpwYXJnCi0gCQlmbGFncyB8 PSBYNTA5X1ZfRkxBR19OT1RJRllfUE9MSUNZOwotIAllbHNlIGlmICghc3RyY21wKGFyZywgIi1j aGVja19zc19zaWciKSkKLSAJCWZsYWdzIHw9IFg1MDlfVl9GTEFHX0NIRUNLX1NTX1NJR05BVFVS RTsKLSsJZWxzZSBpZiAoIXN0cmNtcChhcmcsICItdHJ1c3RlZF9maXJzdCIpKQotKwkJZmxhZ3Mg fD0gWDUwOV9WX0ZMQUdfVFJVU1RFRF9GSVJTVDsKLSAJZWxzZQotIAkJcmV0dXJuIDA7Ci0gCi1k aWZmIC11cCBvcGVuc3NsLTEuMC4xZS9hcHBzL2Ntcy5jLnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0x LjAuMWUvYXBwcy9jbXMuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2FwcHMvY21zLmMudHJ1c3RlZC1m aXJzdAkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4w LjFlL2FwcHMvY21zLmMJMjAxMy0wOC0xNiAxNTo0Mzo1Ni42NzEyMTM4NzkgKzAyMDAKLUBAIC02 NDIsNiArNjQyLDcgQEAgaW50IE1BSU4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotIAkJQklPX3By aW50ZiAoYmlvX2VyciwgIi10ZXh0ICAgICAgICAgIGluY2x1ZGUgb3IgZGVsZXRlIHRleHQgTUlN RSBoZWFkZXJzXG4iKTsKLSAJCUJJT19wcmludGYgKGJpb19lcnIsICItQ0FwYXRoIGRpciAgICB0 cnVzdGVkIGNlcnRpZmljYXRlcyBkaXJlY3RvcnlcbiIpOwotIAkJQklPX3ByaW50ZiAoYmlvX2Vy ciwgIi1DQWZpbGUgZmlsZSAgIHRydXN0ZWQgY2VydGlmaWNhdGVzIGZpbGVcbiIpOwotKwkJQklP X3ByaW50ZiAoYmlvX2VyciwgIi10cnVzdGVkX2ZpcnN0IHVzZSB0cnVzdGVkIGNlcnRpZmljYXRl cyBmaXJzdCB3aGVuIGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFpblxuIik7Ci0gCQlCSU9fcHJpbnRm IChiaW9fZXJyLCAiLWNybF9jaGVjayAgICAgY2hlY2sgcmV2b2NhdGlvbiBzdGF0dXMgb2Ygc2ln bmVyJ3MgY2VydGlmaWNhdGUgdXNpbmcgQ1JMc1xuIik7Ci0gCQlCSU9fcHJpbnRmIChiaW9fZXJy LCAiLWNybF9jaGVja19hbGwgY2hlY2sgcmV2b2NhdGlvbiBzdGF0dXMgb2Ygc2lnbmVyJ3MgY2Vy dGlmaWNhdGUgY2hhaW4gdXNpbmcgQ1JMc1xuIik7Ci0gI2lmbmRlZiBPUEVOU1NMX05PX0VOR0lO RQotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvYXBwcy9vY3NwLmMudHJ1c3RlZC1maXJzdCBvcGVu c3NsLTEuMC4xZS9hcHBzL29jc3AuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2FwcHMvb2NzcC5jLnRy dXN0ZWQtZmlyc3QJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVu c3NsLTEuMC4xZS9hcHBzL29jc3AuYwkyMDEzLTA4LTE2IDE1OjQ5OjQ3LjQ3NzU3MjQxNCArMDIw MAotQEAgLTU5NSw2ICs1OTUsNyBAQCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0g CQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXBhdGggICAgICAgICAgICAgIHBhdGggdG8gdXNlIGlu IE9DU1AgcmVxdWVzdFxuIik7Ci0gCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLUNBcGF0aCBkaXIg ICAgICAgIHRydXN0ZWQgY2VydGlmaWNhdGVzIGRpcmVjdG9yeVxuIik7Ci0gCQlCSU9fcHJpbnRm IChiaW9fZXJyLCAiLUNBZmlsZSBmaWxlICAgICAgIHRydXN0ZWQgY2VydGlmaWNhdGVzIGZpbGVc biIpOwotKwkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi10cnVzdGVkX2ZpcnN0ICAgICB1c2UgdHJ1 c3RlZCBjZXJ0aWZpY2F0ZXMgZmlyc3Qgd2hlbiBidWlsZGluZyB0aGUgdHJ1c3QgY2hhaW5cbiIp OwotIAkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi1WQWZpbGUgZmlsZSAgICAgICB2YWxpZGF0b3Ig Y2VydGlmaWNhdGVzIGZpbGVcbiIpOwotIAkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi12YWxpZGl0 eV9wZXJpb2QgbiBtYXhpbXVtIHZhbGlkaXR5IGRpc2NyZXBhbmN5IGluIHNlY29uZHNcbiIpOwot IAkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi1zdGF0dXNfYWdlIG4gICAgICBtYXhpbXVtIHN0YXR1 cyBhZ2UgaW4gc2Vjb25kc1xuIik7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9hcHBzL3NfY2xp ZW50LmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9hcHBzL3NfY2xpZW50LmMKLS0tLSBv cGVuc3NsLTEuMC4xZS9hcHBzL3NfY2xpZW50LmMudHJ1c3RlZC1maXJzdAkyMDEzLTA4LTE2IDE1 OjQyOjM5LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2FwcHMvc19jbGllbnQu YwkyMDEzLTA4LTE2IDE1OjQ5OjAwLjcyNzU0Mjk5NCArMDIwMAotQEAgLTI5OCw2ICsyOTgsNyBA QCBzdGF0aWMgdm9pZCBzY191c2FnZSh2b2lkKQotIAlCSU9fcHJpbnRmKGJpb19lcnIsIiAtcGFz cyBhcmcgICAgIC0gcHJpdmF0ZSBrZXkgZmlsZSBwYXNzIHBocmFzZSBzb3VyY2VcbiIpOwotIAlC SU9fcHJpbnRmKGJpb19lcnIsIiAtQ0FwYXRoIGFyZyAgIC0gUEVNIGZvcm1hdCBkaXJlY3Rvcnkg b2YgQ0Enc1xuIik7Ci0gCUJJT19wcmludGYoYmlvX2VyciwiIC1DQWZpbGUgYXJnICAgLSBQRU0g Zm9ybWF0IGZpbGUgb2YgQ0Enc1xuIik7Ci0rCUJJT19wcmludGYoYmlvX2VyciwiIC10cnVzdGVk X2ZpcnN0IC0gVXNlIHRydXN0ZWQgQ0EncyBmaXJzdCB3aGVuIGJ1aWxkaW5nIHRoZSB0cnVzdCBj aGFpblxuIik7Ci0gCUJJT19wcmludGYoYmlvX2VyciwiIC1yZWNvbm5lY3QgICAgLSBEcm9wIGFu ZCByZS1tYWtlIHRoZSBjb25uZWN0aW9uIHdpdGggdGhlIHNhbWUgU2Vzc2lvbi1JRFxuIik7Ci0g CUJJT19wcmludGYoYmlvX2VyciwiIC1wYXVzZSAgICAgICAgLSBzbGVlcCgxKSBhZnRlciBlYWNo IHJlYWQoMikgYW5kIHdyaXRlKDIpIHN5c3RlbSBjYWxsXG4iKTsKLSAJQklPX3ByaW50ZihiaW9f ZXJyLCIgLXNob3djZXJ0cyAgICAtIHNob3cgYWxsIGNlcnRpZmljYXRlcyBpbiB0aGUgY2hhaW5c biIpOwotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvYXBwcy9zbWltZS5jLnRydXN0ZWQtZmlyc3Qg b3BlbnNzbC0xLjAuMWUvYXBwcy9zbWltZS5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvYXBwcy9zbWlt ZS5jLnRydXN0ZWQtZmlyc3QJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsr KyBvcGVuc3NsLTEuMC4xZS9hcHBzL3NtaW1lLmMJMjAxMy0wOC0xNiAxNTo0Njo0NC4wMjQ4NzUx NTAgKzAyMDAKLUBAIC00NzksNiArNDc5LDcgQEAgaW50IE1BSU4oaW50IGFyZ2MsIGNoYXIgKiph cmd2KQotIAkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi10ZXh0ICAgICAgICAgIGluY2x1ZGUgb3Ig ZGVsZXRlIHRleHQgTUlNRSBoZWFkZXJzXG4iKTsKLSAJCUJJT19wcmludGYgKGJpb19lcnIsICIt Q0FwYXRoIGRpciAgICB0cnVzdGVkIGNlcnRpZmljYXRlcyBkaXJlY3RvcnlcbiIpOwotIAkJQklP X3ByaW50ZiAoYmlvX2VyciwgIi1DQWZpbGUgZmlsZSAgIHRydXN0ZWQgY2VydGlmaWNhdGVzIGZp bGVcbiIpOwotKwkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi10cnVzdGVkX2ZpcnN0IHVzZSB0cnVz dGVkIGNlcnRpZmljYXRlcyBmaXJzdCB3aGVuIGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFpblxuIik7 Ci0gCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLWNybF9jaGVjayAgICAgY2hlY2sgcmV2b2NhdGlv biBzdGF0dXMgb2Ygc2lnbmVyJ3MgY2VydGlmaWNhdGUgdXNpbmcgQ1JMc1xuIik7Ci0gCQlCSU9f cHJpbnRmIChiaW9fZXJyLCAiLWNybF9jaGVja19hbGwgY2hlY2sgcmV2b2NhdGlvbiBzdGF0dXMg b2Ygc2lnbmVyJ3MgY2VydGlmaWNhdGUgY2hhaW4gdXNpbmcgQ1JMc1xuIik7Ci0gI2lmbmRlZiBP UEVOU1NMX05PX0VOR0lORQotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvYXBwcy9zX3NlcnZlci5j LnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWUvYXBwcy9zX3NlcnZlci5jCi0tLS0gb3BlbnNz bC0xLjAuMWUvYXBwcy9zX3NlcnZlci5jLnRydXN0ZWQtZmlyc3QJMjAxMy0wOC0xNiAxNTo0Mjoz OS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9hcHBzL3Nfc2VydmVyLmMJMjAx My0wOC0xNiAxNTo0ODoxOS40Njk2MzQ0MzAgKzAyMDAKLUBAIC01MDEsNiArNTAxLDcgQEAgc3Rh dGljIHZvaWQgc3ZfdXNhZ2Uodm9pZCkKLSAJQklPX3ByaW50ZihiaW9fZXJyLCIgLXN0YXRlICAg ICAgICAtIFByaW50IHRoZSBTU0wgc3RhdGVzXG4iKTsKLSAJQklPX3ByaW50ZihiaW9fZXJyLCIg LUNBcGF0aCBhcmcgICAtIFBFTSBmb3JtYXQgZGlyZWN0b3J5IG9mIENBJ3NcbiIpOwotIAlCSU9f cHJpbnRmKGJpb19lcnIsIiAtQ0FmaWxlIGFyZyAgIC0gUEVNIGZvcm1hdCBmaWxlIG9mIENBJ3Nc biIpOwotKwlCSU9fcHJpbnRmKGJpb19lcnIsIiAtdHJ1c3RlZF9maXJzdCAtIFVzZSB0cnVzdGVk IENBJ3MgZmlyc3Qgd2hlbiBidWlsZGluZyB0aGUgdHJ1c3QgY2hhaW5cbiIpOwotIAlCSU9fcHJp bnRmKGJpb19lcnIsIiAtbm9jZXJ0ICAgICAgIC0gRG9uJ3QgdXNlIGFueSBjZXJ0aWZpY2F0ZXMg KEFub24tREgpXG4iKTsKLSAJQklPX3ByaW50ZihiaW9fZXJyLCIgLWNpcGhlciBhcmcgICAtIHBs YXkgd2l0aCAnb3BlbnNzbCBjaXBoZXJzJyB0byBzZWUgd2hhdCBnb2VzIGhlcmVcbiIpOwotIAlC SU9fcHJpbnRmKGJpb19lcnIsIiAtc2VydmVycHJlZiAgIC0gVXNlIHNlcnZlcidzIGNpcGhlciBw cmVmZXJlbmNlc1xuIik7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9hcHBzL3NfdGltZS5jLnRy dXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWUvYXBwcy9zX3RpbWUuYwotLS0tIG9wZW5zc2wtMS4w LjFlL2FwcHMvc190aW1lLmMudHJ1c3RlZC1maXJzdAkyMDEzLTA4LTE2IDE1OjQyOjM5LjAwMDAw MDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2FwcHMvc190aW1lLmMJMjAxMy0wOC0xNiAx NTo0NzozNS44NjI2NzQxODggKzAyMDAKLUBAIC0xNzksNiArMTc5LDcgQEAgc3RhdGljIHZvaWQg c190aW1lX3VzYWdlKHZvaWQpCi0gICAgICAgICAgICAgICAgIGZpbGUgaWYgbm90IHNwZWNpZmll ZCBieSB0aGlzIG9wdGlvblxuXAotIC1DQXBhdGggYXJnICAgLSBQRU0gZm9ybWF0IGRpcmVjdG9y eSBvZiBDQSdzXG5cCi0gLUNBZmlsZSBhcmcgICAtIFBFTSBmb3JtYXQgZmlsZSBvZiBDQSdzXG5c Ci0rLXRydXN0ZWRfZmlyc3QgLSBVc2UgdHJ1c3RlZCBDQSdzIGZpcnN0IHdoZW4gYnVpbGRpbmcg dGhlIHRydXN0IGNoYWluXG5cCi0gLWNpcGhlciAgICAgICAtIHByZWZlcnJlZCBjaXBoZXIgdG8g dXNlLCBwbGF5IHdpdGggJ29wZW5zc2wgY2lwaGVycydcblxuIjsKLSAKLSAJcHJpbnRmKCAidXNh Z2U6IHNfdGltZSA8YXJncz5cblxuIiApOwotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvYXBwcy90 cy5jLnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWUvYXBwcy90cy5jCi0tLS0gb3BlbnNzbC0x LjAuMWUvYXBwcy90cy5jLnRydXN0ZWQtZmlyc3QJMjAxMy0wOC0xNiAxNTo0MjozOS4wMDAwMDAw MDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9hcHBzL3RzLmMJMjAxMy0wOC0xNiAxNTo0NToy Ny43NjYyMDY4MTIgKzAyMDAKLUBAIC0zODMsNyArMzgzLDcgQEAgaW50IE1BSU4oaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQotIAkJICAgInRzIC12ZXJpZnkgWy1kYXRhIGZpbGVfdG9faGFzaF0gWy1k aWdlc3QgZGlnZXN0X2J5dGVzXSAiCi0gCQkgICAiWy1xdWVyeWZpbGUgcmVxdWVzdC50c3FdICIK LSAJCSAgICItaW4gcmVzcG9uc2UudHNyIFstdG9rZW5faW5dICIKLS0JCSAgICItQ0FwYXRoIGNh X3BhdGggLUNBZmlsZSBjYV9maWxlLnBlbSAiCi0rCQkgICAiLUNBcGF0aCBjYV9wYXRoIC1DQWZp bGUgY2FfZmlsZS5wZW0gLXRydXN0ZWRfZmlyc3QiCi0gCQkgICAiLXVudHJ1c3RlZCBjZXJ0X2Zp bGUucGVtXG4iKTsKLSAgY2xlYW51cDoKLSAJLyogQ2xlYW4gdXAuICovCi1kaWZmIC11cCBvcGVu c3NsLTEuMC4xZS9hcHBzL3ZlcmlmeS5jLnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWUvYXBw cy92ZXJpZnkuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2FwcHMvdmVyaWZ5LmMudHJ1c3RlZC1maXJz dAkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFl L2FwcHMvdmVyaWZ5LmMJMjAxMy0wOC0xNiAxNTo0NjowOS43MjAxMjQ2NTQgKzAyMDAKLUBAIC0y MzcsNyArMjM3LDcgQEAgaW50IE1BSU4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotIAotIGVuZDoK LSAJaWYgKHJldCA9PSAxKSB7Ci0tCQlCSU9fcHJpbnRmKGJpb19lcnIsInVzYWdlOiB2ZXJpZnkg Wy12ZXJib3NlXSBbLUNBcGF0aCBwYXRoXSBbLUNBZmlsZSBmaWxlXSBbLXB1cnBvc2UgcHVycG9z ZV0gWy1jcmxfY2hlY2tdIik7Ci0rCQlCSU9fcHJpbnRmKGJpb19lcnIsInVzYWdlOiB2ZXJpZnkg Wy12ZXJib3NlXSBbLUNBcGF0aCBwYXRoXSBbLUNBZmlsZSBmaWxlXSBbLXRydXN0ZWRfZmlyc3Rd IFstcHVycG9zZSBwdXJwb3NlXSBbLWNybF9jaGVja10iKTsKLSAJCUJJT19wcmludGYoYmlvX2Vy ciwiIFstYXR0aW1lIHRpbWVzdGFtcF0iKTsKLSAjaWZuZGVmIE9QRU5TU0xfTk9fRU5HSU5FCi0g CQlCSU9fcHJpbnRmKGJpb19lcnIsIiBbLWVuZ2luZSBlXSIpOwotZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWUvY3J5cHRvL3g1MDkveDUwOV92ZnkuYy50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFl L2NyeXB0by94NTA5L3g1MDlfdmZ5LmMKLS0tLSBvcGVuc3NsLTEuMC4xZS9jcnlwdG8veDUwOS94 NTA5X3ZmeS5jLnRydXN0ZWQtZmlyc3QJMjAxMy0wOC0xNiAxNTo0MjozOS44NjQ1MzM1NDUgKzAy MDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9jcnlwdG8veDUwOS94NTA5X3ZmeS5jCTIwMTMtMDgtMTYg MTU6NDI6MzkuOTIxNTM0NzkxICswMjAwCi1AQCAtMjA3LDYgKzIwNywyMSBAQCBpbnQgWDUwOV92 ZXJpZnlfY2VydChYNTA5X1NUT1JFX0NUWCAqY3R4Ci0gCi0gCQkvKiBJZiB3ZSBhcmUgc2VsZiBz aWduZWQsIHdlIGJyZWFrICovCi0gCQlpZiAoY3R4LT5jaGVja19pc3N1ZWQoY3R4LCB4LHgpKSBi cmVhazsKLSsJCS8qIElmIGFza2VkIHNlZSBpZiB3ZSBjYW4gZmluZCBpc3N1ZXIgaW4gdHJ1c3Rl ZCBzdG9yZSBmaXJzdCAqLwotKwkJaWYgKGN0eC0+cGFyYW0tPmZsYWdzICYgWDUwOV9WX0ZMQUdf VFJVU1RFRF9GSVJTVCkKLSsJCQl7Ci0rCQkJb2sgPSBjdHgtPmdldF9pc3N1ZXIoJnh0bXAsIGN0 eCwgeCk7Ci0rCQkJaWYgKG9rIDwgMCkKLSsJCQkJcmV0dXJuIG9rOwotKwkJCS8qIElmIHN1Y2Nl c3NmdWwgZm9yIG5vdyBmcmVlIHVwIGNlcnQgc28gaXQKLSsJCQkgKiB3aWxsIGJlIHBpY2tlZCB1 cCBhZ2FpbiBsYXRlci4KLSsJCQkgKi8KLSsJCQlpZiAob2sgPiAwKQotKwkJCQl7Ci0rCQkJCVg1 MDlfZnJlZSh4dG1wKTsKLSsJCQkJYnJlYWs7Ci0rCQkJCX0KLSsJCQl9Ci0gCi0gCQkvKiBJZiB3 ZSB3ZXJlIHBhc3NlZCBhIGNlcnQgY2hhaW4sIHVzZSBpdCBmaXJzdCAqLwotIAkJaWYgKGN0eC0+ dW50cnVzdGVkICE9IE5VTEwpCi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8veDUwOS94 NTA5X3ZmeS5oLnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3g1MDkveDUwOV92 ZnkuaAotLS0tIG9wZW5zc2wtMS4wLjFlL2NyeXB0by94NTA5L3g1MDlfdmZ5LmgudHJ1c3RlZC1m aXJzdAkyMDEzLTA4LTE2IDE1OjQyOjM5LjM1NjUyMjQzMiArMDIwMAotKysrIG9wZW5zc2wtMS4w LjFlL2NyeXB0by94NTA5L3g1MDlfdmZ5LmgJMjAxMy0wOC0xNiAxNTo0MjozOS45MjI1MzQ4MTMg KzAyMDAKLUBAIC0zODksNiArMzg5LDggQEAgdm9pZCBYNTA5X1NUT1JFX0NUWF9zZXRfZGVwdGgo WDUwOV9TVE9SRQotICNkZWZpbmUgWDUwOV9WX0ZMQUdfVVNFX0RFTFRBUwkJCTB4MjAwMAotIC8q IENoZWNrIHNlbGZzaWduZWQgQ0Egc2lnbmF0dXJlICovCi0gI2RlZmluZSBYNTA5X1ZfRkxBR19D SEVDS19TU19TSUdOQVRVUkUJCTB4NDAwMAotKy8qIFVzZSB0cnVzdGVkIHN0b3JlIGZpcnN0ICov Ci0rI2RlZmluZSBYNTA5X1ZfRkxBR19UUlVTVEVEX0ZJUlNUCQkweDgwMDAKLSAKLSAKLSAjZGVm aW5lIFg1MDlfVlBfRkxBR19ERUZBVUxUCQkJMHgxCi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9k b2MvYXBwcy9jbXMucG9kLnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvY21z LnBvZAotLS0tIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL2Ntcy5wb2QudHJ1c3RlZC1maXJzdAky MDEzLTA4LTE2IDE1OjQyOjM5LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2Rv Yy9hcHBzL2Ntcy5wb2QJMjAxMy0wOC0xNiAxNTo1MDo0OC43MjM5MjExMTcgKzAyMDAKLUBAIC0z NSw2ICszNSw3IEBAIEI8b3BlbnNzbD4gQjxjbXM+Ci0gW0I8LXByaW50Pl0KLSBbQjwtQ0FmaWxl IGZpbGU+XQotIFtCPC1DQXBhdGggZGlyPl0KLStbQjwtdHJ1c3RlZF9maXJzdD5dCi0gW0I8LW1k IGRpZ2VzdD5dCi0gW0I8LVtjaXBoZXJdPl0KLSBbQjwtbm9pbnRlcm4+XQotQEAgLTIzOCw2ICsy MzksMTIgQEAgQjwtdmVyaWZ5Pi4gVGhpcyBkaXJlY3RvcnkgbXVzdCBiZSBhIHN0YQotIGlzIGEg aGFzaCBvZiBlYWNoIHN1YmplY3QgbmFtZSAodXNpbmcgQjx4NTA5IC1oYXNoPikgc2hvdWxkIGJl IGxpbmtlZAotIHRvIGVhY2ggY2VydGlmaWNhdGUuCi0gCi0rPWl0ZW0gQjwtdHJ1c3RlZF9maXJz dD4KLSsKLStVc2UgY2VydGlmaWNhdGVzIGluIENBIGZpbGUgb3IgQ0EgZGlyZWN0b3J5IGJlZm9y ZSB1bnRydXN0ZWQgY2VydGlmaWNhdGVzCi0rZnJvbSB0aGUgbWVzc2FnZSB3aGVuIGJ1aWxkaW5n IHRoZSB0cnVzdCBjaGFpbiB0byB2ZXJpZnkgY2VydGlmaWNhdGVzLgotK1RoaXMgaXMgbWFpbmx5 IHVzZWZ1bCBpbiBlbnZpcm9ubWVudHMgd2l0aCBCcmlkZ2UgQ0Egb3IgQ3Jvc3MtQ2VydGlmaWVk IENBcy4KLSsKLSA9aXRlbSBCPC1tZCBkaWdlc3Q+Ci0gCi0gZGlnZXN0IGFsZ29yaXRobSB0byB1 c2Ugd2hlbiBzaWduaW5nIG9yIHJlc2lnbmluZy4gSWYgbm90IHByZXNlbnQgdGhlbiB0aGUKLWRp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL29jc3AucG9kLnRydXN0ZWQtZmlyc3Qgb3Bl bnNzbC0xLjAuMWUvZG9jL2FwcHMvb2NzcC5wb2QKLS0tLSBvcGVuc3NsLTEuMC4xZS9kb2MvYXBw cy9vY3NwLnBvZC50cnVzdGVkLWZpcnN0CTIwMTMtMDgtMTYgMTU6NDI6MzkuMDAwMDAwMDAwICsw MjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvb2NzcC5wb2QJMjAxMy0wOC0xNiAxNTo1 MjoyMC4xMDY5MzM0MDMgKzAyMDAKLUBAIC0yOSw2ICsyOSw3IEBAIEI8b3BlbnNzbD4gQjxvY3Nw PgotIFtCPC1wYXRoPl0KLSBbQjwtQ0FwYXRoIGRpcj5dCi0gW0I8LUNBZmlsZSBmaWxlPl0KLStb QjwtdHJ1c3RlZF9maXJzdD5dCi0gW0I8LVZBZmlsZSBmaWxlPl0KLSBbQjwtdmFsaWRpdHlfcGVy aW9kIG4+XQotIFtCPC1zdGF0dXNfYWdlIG4+XQotQEAgLTEzOCw2ICsxMzksMTMgQEAgb3IgIi8i IGJ5IGRlZmF1bHQuCi0gZmlsZSBvciBwYXRobmFtZSBjb250YWluaW5nIHRydXN0ZWQgQ0EgY2Vy dGlmaWNhdGVzLiBUaGVzZSBhcmUgdXNlZCB0byB2ZXJpZnkKLSB0aGUgc2lnbmF0dXJlIG9uIHRo ZSBPQ1NQIHJlc3BvbnNlLgotIAotKz1pdGVtIEI8LXRydXN0ZWRfZmlyc3Q+Ci0rCi0rVXNlIGNl cnRpZmljYXRlcyBpbiBDQSBmaWxlIG9yIENBIGRpcmVjdG9yeSBvdmVyIGNlcnRpZmljYXRlcyBw cm92aWRlZAotK2luIHRoZSByZXNwb25zZSBvciByZXNpZGluZyBpbiBvdGhlciBjZXJ0aWZpY2F0 ZXMgZmlsZSB3aGVuIGJ1aWxkaW5nIHRoZSB0cnVzdAotK2NoYWluIHRvIHZlcmlmeSByZXNwb25k ZXIgY2VydGlmaWNhdGUuCi0rVGhpcyBpcyBtYWlubHkgdXNlZnVsIGluIGVudmlyb25tZW50cyB3 aXRoIEJyaWRnZSBDQSBvciBDcm9zcy1DZXJ0aWZpZWQgQ0FzLgotKwotID1pdGVtIEI8LXZlcmlm eV9vdGhlciBmaWxlPgotIAotIGZpbGUgY29udGFpbmluZyBhZGRpdGlvbmFsIGNlcnRpZmljYXRl cyB0byBzZWFyY2ggd2hlbiBhdHRlbXB0aW5nIHRvIGxvY2F0ZQotZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWUvZG9jL2FwcHMvc19jbGllbnQucG9kLnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWUv ZG9jL2FwcHMvc19jbGllbnQucG9kCi0tLS0gb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvc19jbGll bnQucG9kLnRydXN0ZWQtZmlyc3QJMjAxMy0wOC0xNiAxNTo0MjozOS4wMDAwMDAwMDAgKzAyMDAK LSsrKyBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX2NsaWVudC5wb2QJMjAxMy0wOC0xNiAxNTo1 MzoxNy4zNjQxOTQxNTkgKzAyMDAKLUBAIC0xNyw2ICsxNyw3IEBAIEI8b3BlbnNzbD4gQjxzX2Ns aWVudD4KLSBbQjwtcGFzcyBhcmc+XQotIFtCPC1DQXBhdGggZGlyZWN0b3J5Pl0KLSBbQjwtQ0Fm aWxlIGZpbGVuYW1lPl0KLStbQjwtdHJ1c3RlZF9maXJzdD5dCi0gW0I8LXJlY29ubmVjdD5dCi0g W0I8LXBhdXNlPl0KLSBbQjwtc2hvd2NlcnRzPl0KLUBAIC0xMDcsNyArMTA4LDcgQEAgYWxzbyB1 c2VkIHdoZW4gYnVpbGRpbmcgdGhlIGNsaWVudCBjZXJ0aQotIEEgZmlsZSBjb250YWluaW5nIHRy dXN0ZWQgY2VydGlmaWNhdGVzIHRvIHVzZSBkdXJpbmcgc2VydmVyIGF1dGhlbnRpY2F0aW9uCi0g YW5kIHRvIHVzZSB3aGVuIGF0dGVtcHRpbmcgdG8gYnVpbGQgdGhlIGNsaWVudCBjZXJ0aWZpY2F0 ZSBjaGFpbi4KLSAKLS09aXRlbSBCPC1wdXJwb3NlLCAtaWdub3JlX2NyaXRpY2FsLCAtaXNzdWVy X2NoZWNrcywgLWNybF9jaGVjaywgLWNybF9jaGVja19hbGwsIC1wb2xpY3lfY2hlY2ssIC1leHRl bmRlZF9jcmwsIC14NTA5X3N0cmljdCwgLXBvbGljeSAtY2hlY2tfc3Nfc2lnPgotKz1pdGVtIEI8 LXB1cnBvc2UsIC1pZ25vcmVfY3JpdGljYWwsIC1pc3N1ZXJfY2hlY2tzLCAtY3JsX2NoZWNrLCAt Y3JsX2NoZWNrX2FsbCwgLXBvbGljeV9jaGVjaywgLWV4dGVuZGVkX2NybCwgLXg1MDlfc3RyaWN0 LCAtcG9saWN5IC1jaGVja19zc19zaWcsIC10cnVzdGVkX2ZpcnN0PgotIAotIFNldCB2YXJpb3Vz IGNlcnRpZmljYXRlIGNoYWluIHZhbGlhZGl0aW9uIG9wdGlvbi4gU2VlIHRoZQotIEw8Qjx2ZXJp Znk+fHZlcmlmeSgxKT4gbWFudWFsIHBhZ2UgZm9yIGRldGFpbHMuCi1kaWZmIC11cCBvcGVuc3Ns LTEuMC4xZS9kb2MvYXBwcy9zbWltZS5wb2QudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9k b2MvYXBwcy9zbWltZS5wb2QKLS0tLSBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zbWltZS5wb2Qu dHJ1c3RlZC1maXJzdAkyMDEzLTA4LTE2IDE1OjQyOjM5LjAwMDAwMDAwMCArMDIwMAotKysrIG9w ZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3NtaW1lLnBvZAkyMDEzLTA4LTE2IDE1OjU2OjEyLjQ5NzA1 MDc2NyArMDIwMAotQEAgLTE1LDYgKzE1LDkgQEAgQjxvcGVuc3NsPiBCPHNtaW1lPgotIFtCPC1w azdvdXQ+XQotIFtCPC1bY2lwaGVyXT5dCi0gW0I8LWluIGZpbGU+XQotK1tCPC1DQWZpbGUgZmls ZT5dCi0rW0I8LUNBcGF0aCBkaXI+XQotK1tCPC10cnVzdGVkX2ZpcnN0Pl0KLSBbQjwtY2VydGZp bGUgZmlsZT5dCi0gW0I8LXNpZ25lciBmaWxlPl0KLSBbQjwtcmVjaXAgIGZpbGU+XQotQEAgLTE0 Niw2ICsxNDksMTIgQEAgQjwtdmVyaWZ5Pi4gVGhpcyBkaXJlY3RvcnkgbXVzdCBiZSBhIHN0YQot IGlzIGEgaGFzaCBvZiBlYWNoIHN1YmplY3QgbmFtZSAodXNpbmcgQjx4NTA5IC1oYXNoPikgc2hv dWxkIGJlIGxpbmtlZAotIHRvIGVhY2ggY2VydGlmaWNhdGUuCi0gCi0rPWl0ZW0gQjwtdHJ1c3Rl ZF9maXJzdD4KLSsKLStVc2UgY2VydGlmaWNhdGVzIGluIENBIGZpbGUgb3IgQ0EgZGlyZWN0b3J5 IG92ZXIgY2VydGlmaWNhdGVzIHByb3ZpZGVkCi0raW4gdGhlIG1lc3NhZ2Ugd2hlbiBidWlsZGlu ZyB0aGUgdHJ1c3QgY2hhaW4gdG8gdmVyaWZ5IGEgY2VydGlmaWNhdGUuCi0rVGhpcyBpcyBtYWlu bHkgdXNlZnVsIGluIGVudmlyb25tZW50cyB3aXRoIEJyaWRnZSBDQSBvciBDcm9zcy1DZXJ0aWZp ZWQgQ0FzLgotKwotID1pdGVtIEI8LW1kIGRpZ2VzdD4KLSAKLSBkaWdlc3QgYWxnb3JpdGhtIHRv IHVzZSB3aGVuIHNpZ25pbmcgb3IgcmVzaWduaW5nLiBJZiBub3QgcHJlc2VudCB0aGVuIHRoZQot ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvc19zZXJ2ZXIucG9kLnRydXN0ZWQtZmly c3Qgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvc19zZXJ2ZXIucG9kCi0tLS0gb3BlbnNzbC0xLjAu MWUvZG9jL2FwcHMvc19zZXJ2ZXIucG9kLnRydXN0ZWQtZmlyc3QJMjAxMy0wOC0xNiAxNTo0Mjoz OS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX3NlcnZlci5w b2QJMjAxMy0wOC0xNiAxNTo1NDozMy42MDk4NzMyMTQgKzAyMDAKLUBAIC0zMyw2ICszMyw3IEBA IEI8b3BlbnNzbD4gQjxzX3NlcnZlcj4KLSBbQjwtc3RhdGU+XQotIFtCPC1DQXBhdGggZGlyZWN0 b3J5Pl0KLSBbQjwtQ0FmaWxlIGZpbGVuYW1lPl0KLStbQjwtdHJ1c3RlZF9maXJzdD5dCi0gW0I8 LW5vY2VydD5dCi0gW0I8LWNpcGhlciBjaXBoZXJsaXN0Pl0KLSBbQjwtcXVpZXQ+XQotQEAgLTE2 OCw2ICsxNjksMTIgQEAgYW5kIHRvIHVzZSB3aGVuIGF0dGVtcHRpbmcgdG8gYnVpbGQgdGhlCi0g aXMgYWxzbyB1c2VkIGluIHRoZSBsaXN0IG9mIGFjY2VwdGFibGUgY2xpZW50IENBcyBwYXNzZWQg dG8gdGhlIGNsaWVudCB3aGVuCi0gYSBjZXJ0aWZpY2F0ZSBpcyByZXF1ZXN0ZWQuCi0gCi0rPWl0 ZW0gQjwtdHJ1c3RlZF9maXJzdD4KLSsKLStVc2UgY2VydGlmaWNhdGVzIGluIENBIGZpbGUgb3Ig Q0EgZGlyZWN0b3J5IGJlZm9yZSBvdGhlciBjZXJ0aWZpY2F0ZXMgCi0rd2hlbiBidWlsZGluZyB0 aGUgdHJ1c3QgY2hhaW4gdG8gdmVyaWZ5IGNsaWVudCBjZXJ0aWZpY2F0ZXMuCi0rVGhpcyBpcyBt YWlubHkgdXNlZnVsIGluIGVudmlyb25tZW50cyB3aXRoIEJyaWRnZSBDQSBvciBDcm9zcy1DZXJ0 aWZpZWQgQ0FzLgotKwotID1pdGVtIEI8LXN0YXRlPgotIAotIHByaW50cyBvdXQgdGhlIFNTTCBz ZXNzaW9uIHN0YXRlcy4KLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3NfdGltZS5w b2QudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX3RpbWUucG9kCi0tLS0g b3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvc190aW1lLnBvZC50cnVzdGVkLWZpcnN0CTIwMTMtMDIt MTEgMTY6MDI6NDguMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMv c190aW1lLnBvZAkyMDEzLTA4LTE2IDE1OjU1OjEyLjY1MTczMjkzOCArMDIwMAotQEAgLTE0LDYg KzE0LDcgQEAgQjxvcGVuc3NsPiBCPHNfdGltZT4KLSBbQjwta2V5IGZpbGVuYW1lPl0KLSBbQjwt Q0FwYXRoIGRpcmVjdG9yeT5dCi0gW0I8LUNBZmlsZSBmaWxlbmFtZT5dCi0rW0I8LXRydXN0ZWRf Zmlyc3Q+XQotIFtCPC1yZXVzZT5dCi0gW0I8LW5ldz5dCi0gW0I8LXZlcmlmeSBkZXB0aD5dCi1A QCAtNzYsNiArNzcsMTIgQEAgYWxzbyB1c2VkIHdoZW4gYnVpbGRpbmcgdGhlIGNsaWVudCBjZXJ0 aQotIEEgZmlsZSBjb250YWluaW5nIHRydXN0ZWQgY2VydGlmaWNhdGVzIHRvIHVzZSBkdXJpbmcg c2VydmVyIGF1dGhlbnRpY2F0aW9uCi0gYW5kIHRvIHVzZSB3aGVuIGF0dGVtcHRpbmcgdG8gYnVp bGQgdGhlIGNsaWVudCBjZXJ0aWZpY2F0ZSBjaGFpbi4KLSAKLSs9aXRlbSBCPC10cnVzdGVkX2Zp cnN0PgotKwotK1VzZSBjZXJ0aWZpY2F0ZXMgaW4gQ0EgZmlsZSBvciBDQSBkaXJlY3Rvcnkgb3Zl ciB0aGUgY2VydGlmaWNhdGVzIHByb3ZpZGVkCi0rYnkgdGhlIHNlcnZlciB3aGVuIGJ1aWxkaW5n IHRoZSB0cnVzdCBjaGFpbiB0byB2ZXJpZnkgc2VydmVyIGNlcnRpZmljYXRlLgotK1RoaXMgaXMg bWFpbmx5IHVzZWZ1bCBpbiBlbnZpcm9ubWVudHMgd2l0aCBCcmlkZ2UgQ0Egb3IgQ3Jvc3MtQ2Vy dGlmaWVkIENBcy4KLSsKLSA9aXRlbSBCPC1uZXc+Ci0gCi0gcGVyZm9ybXMgdGhlIHRpbWluZyB0 ZXN0IHVzaW5nIGEgbmV3IHNlc3Npb24gSUQgZm9yIGVhY2ggY29ubmVjdGlvbi4KLWRpZmYgLXVw IG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3RzLnBvZC50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4w LjFlL2RvYy9hcHBzL3RzLnBvZAotLS0tIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3RzLnBvZC50 cnVzdGVkLWZpcnN0CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvZG9jL2FwcHMvdHMucG9kCTIwMTMtMDgtMTYgMTU6NTc6MTcuMzk5NDc5OTU3 ICswMjAwCi1AQCAtNDYsNiArNDYsNyBAQCBCPC12ZXJpZnk+Ci0gW0I8LXRva2VuX2luPl0KLSBb QjwtQ0FwYXRoPiB0cnVzdGVkX2NlcnRfcGF0aF0KLSBbQjwtQ0FmaWxlPiB0cnVzdGVkX2NlcnRz LnBlbV0KLStbQjwtdHJ1c3RlZF9maXJzdD5dCi0gW0I8LXVudHJ1c3RlZD4gY2VydF9maWxlLnBl bV0KLSAKLSA9aGVhZDEgREVTQ1JJUFRJT04KLUBAIC0zMjQsNiArMzI1LDEyIEBAIEw8dmVyaWZ5 KDEpfHZlcmlmeSgxKT4gZm9yIGFkZGl0aW9uYWwgZGUKLSBvciBCPC1DQXBhdGg+IG11c3QgYmUg c3BlY2lmaWVkLgotIChPcHRpb25hbCkKLSAKLSs9aXRlbSBCPC10cnVzdGVkX2ZpcnN0PgotKwot K1VzZSBjZXJ0aWZpY2F0ZXMgaW4gQ0EgZmlsZSBvciBDQSBkaXJlY3RvcnkgYmVmb3JlIG90aGVy IGNlcnRpZmljYXRlcwotK3doZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluIHRvIHZlcmlmeSBj ZXJ0aWZpY2F0ZXMuCi0rVGhpcyBpcyBtYWlubHkgdXNlZnVsIGluIGVudmlyb25tZW50cyB3aXRo IEJyaWRnZSBDQSBvciBDcm9zcy1DZXJ0aWZpZWQgQ0FzLgotKwotID1pdGVtIEI8LXVudHJ1c3Rl ZD4gY2VydF9maWxlLnBlbQotIAotIFNldCBvZiBhZGRpdGlvbmFsIHVudHJ1c3RlZCBjZXJ0aWZp Y2F0ZXMgaW4gUEVNIGZvcm1hdCB3aGljaCBtYXkgYmUKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2RvYy9hcHBzL3ZlcmlmeS5wb2QudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9kb2MvYXBw cy92ZXJpZnkucG9kCi0tLS0gb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvdmVyaWZ5LnBvZC50cnVz dGVkLWZpcnN0CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNz bC0xLjAuMWUvZG9jL2FwcHMvdmVyaWZ5LnBvZAkyMDEzLTA4LTE2IDE1OjU4OjAwLjI2NzQyMzky NSArMDIwMAotQEAgLTksNiArOSw3IEBAIHZlcmlmeSAtIFV0aWxpdHkgdG8gdmVyaWZ5IGNlcnRp ZmljYXRlcy4KLSBCPG9wZW5zc2w+IEI8dmVyaWZ5PgotIFtCPC1DQXBhdGggZGlyZWN0b3J5Pl0K LSBbQjwtQ0FmaWxlIGZpbGU+XQotK1tCPC10cnVzdGVkX2ZpcnN0Pl0KLSBbQjwtcHVycG9zZSBw dXJwb3NlPl0KLSBbQjwtcG9saWN5IGFyZz5dCi0gW0I8LWlnbm9yZV9jcml0aWNhbD5dCi1AQCAt NTYsNiArNTcsMTIgQEAgaW4gUEVNIGZvcm1hdCBjb25jYXRlbmF0ZWQgdG9nZXRoZXIuCi0gQSBm aWxlIG9mIHVudHJ1c3RlZCBjZXJ0aWZpY2F0ZXMuIFRoZSBmaWxlIHNob3VsZCBjb250YWluIG11 bHRpcGxlIGNlcnRpZmljYXRlcwotIGluIFBFTSBmb3JtYXQgY29uY2F0ZW5hdGVkIHRvZ2V0aGVy LgotIAotKz1pdGVtIEI8LXRydXN0ZWRfZmlyc3Q+Ci0rCi0rVXNlIGNlcnRpZmljYXRlcyBpbiBD QSBmaWxlIG9yIENBIGRpcmVjdG9yeSBiZWZvcmUgdGhlIGNlcnRpZmljYXRlcyBpbiB0aGUgdW50 cnVzdGVkCi0rZmlsZSB3aGVuIGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFpbiB0byB2ZXJpZnkgY2Vy dGlmaWNhdGVzLgotK1RoaXMgaXMgbWFpbmx5IHVzZWZ1bCBpbiBlbnZpcm9ubWVudHMgd2l0aCBC cmlkZ2UgQ0Egb3IgQ3Jvc3MtQ2VydGlmaWVkIENBcy4KLSsKLSA9aXRlbSBCPC1wdXJwb3NlIHB1 cnBvc2U+Ci0gCi0gVGhlIGludGVuZGVkIHVzZSBmb3IgdGhlIGNlcnRpZmljYXRlLiBJZiB0aGlz IG9wdGlvbiBpcyBub3Qgc3BlY2lmaWVkLAoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4wLjFnLTNk ZXMtc3RyZW5ndGgucGF0Y2ggYi9vcGVuc3NsLTEuMC4xZy0zZGVzLXN0cmVuZ3RoLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZWMwNTRkLi4wMDAwMDAwCi0tLSBhL29wZW5z c2wtMS4wLjFnLTNkZXMtc3RyZW5ndGgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNjggKzAs MCBAQAotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWcvc3NsL3MyX2xpYi5jLjNkZXMtc3RyZW5ndGgg b3BlbnNzbC0xLjAuMWcvc3NsL3MyX2xpYi5jCi0tLS0gb3BlbnNzbC0xLjAuMWcvc3NsL3MyX2xp Yi5jLjNkZXMtc3RyZW5ndGgJMjAxNC0wMy0xNyAxNzoxNDoyMC4wMDAwMDAwMDAgKzAxMDAKLSsr KyBvcGVuc3NsLTEuMC4xZy9zc2wvczJfbGliLmMJMjAxNC0wNS0wNiAxNjozMzo0NS42NDYzNTg0 MTggKzAyMDAKLUBAIC0yNTAsNyArMjUwLDcgQEAgT1BFTlNTTF9HTE9CQUwgY29uc3QgU1NMX0NJ UEhFUiBzc2wyX2NpcAotIAlTU0xfU1NMVjIsCi0gCVNTTF9OT1RfRVhQfFNTTF9ISUdILAotIAkw LAotLQkxNjgsCi0rCTEyOCwKLSAJMTY4LAotIAl9LAotIAotZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWcvc3NsL3MzX2xpYi5jLjNkZXMtc3RyZW5ndGggb3BlbnNzbC0xLjAuMWcvc3NsL3MzX2xpYi5j Ci0tLS0gb3BlbnNzbC0xLjAuMWcvc3NsL3MzX2xpYi5jLjNkZXMtc3RyZW5ndGgJMjAxNC0wMy0x NyAxNzoxNDoyMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZy9zc2wvczNfbGli LmMJMjAxNC0wNS0wNiAxNjozODowNS44ODczNzQ4NzIgKzAyMDAKLUBAIC0zMjgsNyArMzI4LDcg QEAgT1BFTlNTTF9HTE9CQUwgU1NMX0NJUEhFUiBzc2wzX2NpcGhlcnNbXQotIAlTU0xfU1NMVjMs Ci0gCVNTTF9OT1RfRVhQfFNTTF9ISUdIfFNTTF9GSVBTLAotIAlTU0xfSEFORFNIQUtFX01BQ19E RUZBVUxUfFRMUzFfUFJGLAotLQkxNjgsCi0rCTEyOCwKLSAJMTY4LAotIAl9LAotIAotQEAgLTM3 Nyw3ICszNzcsNyBAQCBPUEVOU1NMX0dMT0JBTCBTU0xfQ0lQSEVSIHNzbDNfY2lwaGVyc1tdCi0g CVNTTF9TU0xWMywKLSAJU1NMX05PVF9FWFB8U1NMX0hJR0h8U1NMX0ZJUFMsCi0gCVNTTF9IQU5E U0hBS0VfTUFDX0RFRkFVTFR8VExTMV9QUkYsCi0tCTE2OCwKLSsJMTI4LAotIAkxNjgsCi0gCX0s Ci0gCi1AQCAtNDI1LDcgKzQyNSw3IEBAIE9QRU5TU0xfR0xPQkFMIFNTTF9DSVBIRVIgc3NsM19j aXBoZXJzW10KLSAJU1NMX1NTTFYzLAotIAlTU0xfTk9UX0VYUHxTU0xfSElHSHxTU0xfRklQUywK LSAJU1NMX0hBTkRTSEFLRV9NQUNfREVGQVVMVHxUTFMxX1BSRiwKLS0JMTY4LAotKwkxMjgsCi0g CTE2OCwKLSAJfSwKLSAKLUBAIC00NzQsNyArNDc0LDcgQEAgT1BFTlNTTF9HTE9CQUwgU1NMX0NJ UEhFUiBzc2wzX2NpcGhlcnNbXQotIAlTU0xfU1NMVjMsCi0gCVNTTF9OT1RfRVhQfFNTTF9ISUdI fFNTTF9GSVBTLAotIAlTU0xfSEFORFNIQUtFX01BQ19ERUZBVUxUfFRMUzFfUFJGLAotLQkxNjgs Ci0rCTEyOCwKLSAJMTY4LAotIAl9LAotIAotQEAgLTUyMiw3ICs1MjIsNyBAQCBPUEVOU1NMX0dM T0JBTCBTU0xfQ0lQSEVSIHNzbDNfY2lwaGVyc1tdCi0gCVNTTF9TU0xWMywKLSAJU1NMX05PVF9F WFB8U1NMX0hJR0h8U1NMX0ZJUFMsCi0gCVNTTF9IQU5EU0hBS0VfTUFDX0RFRkFVTFR8VExTMV9Q UkYsCi0tCTE2OCwKLSsJMTI4LAotIAkxNjgsCi0gCX0sCi0gCi1AQCAtNjAyLDcgKzYwMiw3IEBA IE9QRU5TU0xfR0xPQkFMIFNTTF9DSVBIRVIgc3NsM19jaXBoZXJzW10KLSAJU1NMX1NTTFYzLAot IAlTU0xfTk9UX0VYUHxTU0xfSElHSHxTU0xfRklQUywKLSAJU1NMX0hBTkRTSEFLRV9NQUNfREVG QVVMVHxUTFMxX1BSRiwKLS0JMTY4LAotKwkxMjgsCi0gCTE2OCwKLSAJfSwKLSAKLUBAIC02ODcs NyArNjg3LDcgQEAgT1BFTlNTTF9HTE9CQUwgU1NMX0NJUEhFUiBzc2wzX2NpcGhlcnNbXQotIAlT U0xfU1NMVjMsCi0gCVNTTF9OT1RfRVhQfFNTTF9ISUdIfFNTTF9GSVBTLAotIAlTU0xfSEFORFNI QUtFX01BQ19ERUZBVUxUfFRMUzFfUFJGLAotLQkxNjgsCi0rCTEyOCwKLSAJMTY4LAotIAl9LAot IAotQEAgLTc1MSw3ICs3NTEsNyBAQCBPUEVOU1NMX0dMT0JBTCBTU0xfQ0lQSEVSIHNzbDNfY2lw aGVyc1tdCi0gCVNTTF9TU0xWMywKLSAJU1NMX05PVF9FWFB8U1NMX0hJR0gsCi0gCVNTTF9IQU5E U0hBS0VfTUFDX0RFRkFVTFR8VExTMV9QUkYsCi0tCTE2OCwKLSsJMTI4LAotIAkxNjgsCi0gCX0s Ci0gCi1AQCAtMTY4NSw3ICsxNjg1LDcgQEAgT1BFTlNTTF9HTE9CQUwgU1NMX0NJUEhFUiBzc2wz X2NpcGhlcnNbXQotIAlTU0xfVExTVjEsCi0gCVNTTF9OT1RfRVhQfFNTTF9ISUdIfFNTTF9GSVBT LAotIAlTU0xfSEFORFNIQUtFX01BQ19ERUZBVUxUfFRMUzFfUFJGLAotLQkxNjgsCi0rCTEyOCwK LSAJMTY4LAotIAl9LAotIAotQEAgLTIwNjIsNyArMjA2Miw3IEBAIE9QRU5TU0xfR0xPQkFMIFNT TF9DSVBIRVIgc3NsM19jaXBoZXJzW10KLSAJU1NMX1RMU1YxLAotIAlTU0xfTk9UX0VYUHxTU0xf SElHSHxTU0xfRklQUywKLSAJU1NMX0hBTkRTSEFLRV9NQUNfREVGQVVMVHxUTFMxX1BSRiwKLS0J MTY4LAotKwkxMjgsCi0gCTE2OCwKLSAJfSwKLSAKLUBAIC0yMTQyLDcgKzIxNDIsNyBAQCBPUEVO U1NMX0dMT0JBTCBTU0xfQ0lQSEVSIHNzbDNfY2lwaGVyc1tdCi0gCVNTTF9UTFNWMSwKLSAJU1NM X05PVF9FWFB8U1NMX0hJR0h8U1NMX0ZJUFMsCi0gCVNTTF9IQU5EU0hBS0VfTUFDX0RFRkFVTFR8 VExTMV9QUkYsCi0tCTE2OCwKLSsJMTI4LAotIAkxNjgsCi0gCX0sCi0gCi1AQCAtMjIyMiw3ICsy MjIyLDcgQEAgT1BFTlNTTF9HTE9CQUwgU1NMX0NJUEhFUiBzc2wzX2NpcGhlcnNbXQotIAlTU0xf VExTVjEsCi0gCVNTTF9OT1RfRVhQfFNTTF9ISUdIfFNTTF9GSVBTLAotIAlTU0xfSEFORFNIQUtF X01BQ19ERUZBVUxUfFRMUzFfUFJGLAotLQkxNjgsCi0rCTEyOCwKLSAJMTY4LAotIAl9LAotIAot QEAgLTIzMDIsNyArMjMwMiw3IEBAIE9QRU5TU0xfR0xPQkFMIFNTTF9DSVBIRVIgc3NsM19jaXBo ZXJzW10KLSAJU1NMX1RMU1YxLAotIAlTU0xfTk9UX0VYUHxTU0xfSElHSHxTU0xfRklQUywKLSAJ U1NMX0hBTkRTSEFLRV9NQUNfREVGQVVMVHxUTFMxX1BSRiwKLS0JMTY4LAotKwkxMjgsCi0gCTE2 OCwKLSAJfSwKLSAKLUBAIC0yMzgyLDcgKzIzODIsNyBAQCBPUEVOU1NMX0dMT0JBTCBTU0xfQ0lQ SEVSIHNzbDNfY2lwaGVyc1tdCi0gCVNTTF9UTFNWMSwKLSAJU1NMX05PVF9FWFB8U1NMX0hJR0h8 U1NMX0ZJUFMsCi0gCVNTTF9IQU5EU0hBS0VfTUFDX0RFRkFVTFR8VExTMV9QUkYsCi0tCTE2OCwK LSsJMTI4LAotIAkxNjgsCi0gCX0sCi0gCi1AQCAtMjQzMiw3ICsyNDMyLDcgQEAgT1BFTlNTTF9H TE9CQUwgU1NMX0NJUEhFUiBzc2wzX2NpcGhlcnNbXQotIAlTU0xfVExTVjEsCi0gCVNTTF9OT1Rf RVhQfFNTTF9ISUdILAotIAlTU0xfSEFORFNIQUtFX01BQ19ERUZBVUxUfFRMUzFfUFJGLAotLQkx NjgsCi0rCTEyOCwKLSAJMTY4LAotIAl9LAotIAotQEAgLTI0NDgsNyArMjQ0OCw3IEBAIE9QRU5T U0xfR0xPQkFMIFNTTF9DSVBIRVIgc3NsM19jaXBoZXJzW10KLSAJU1NMX1RMU1YxLAotIAlTU0xf Tk9UX0VYUHxTU0xfSElHSCwKLSAJU1NMX0hBTkRTSEFLRV9NQUNfREVGQVVMVHxUTFMxX1BSRiwK LS0JMTY4LAotKwkxMjgsCi0gCTE2OCwKLSAJfSwKLSAKLUBAIC0yNDY0LDcgKzI0NjQsNyBAQCBP UEVOU1NMX0dMT0JBTCBTU0xfQ0lQSEVSIHNzbDNfY2lwaGVyc1tdCi0gCVNTTF9UTFNWMSwKLSAJ U1NMX05PVF9FWFB8U1NMX0hJR0gsCi0gCVNTTF9IQU5EU0hBS0VfTUFDX0RFRkFVTFR8VExTMV9Q UkYsCi0tCTE2OCwKLSsJMTI4LAotIAkxNjgsCi0gCX0sCi0gCgpkaWZmIC0tZ2l0IGEvb3BlbnNz bC0xLjAuMWctbmV3LWZpcHMtcmVxcy5wYXRjaCBiL29wZW5zc2wtMS4wLjFnLW5ldy1maXBzLXJl cXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzNWNmNDMuLjAwMDAwMDAK LS0tIGEvb3BlbnNzbC0xLjAuMWctbmV3LWZpcHMtcmVxcy5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDE3NjQgKzAsMCBAQAotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2JuL2JuX3Jh bmQuYy5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2JuL2JuX3JhbmQuYwotLS0tIG9w ZW5zc2wtMS4wLjFnL2NyeXB0by9ibi9ibl9yYW5kLmMuZmlwcy1yZXFzCTIwMTQtMDMtMTcgMTc6 MTQ6MjAuMDAwMDAwMDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2JuL2JuX3Jh bmQuYwkyMDE0LTA1LTA2IDE2OjIyOjIxLjQzMjU0MDI4MyArMDIwMAotQEAgLTEzOCw5ICsxMzgs MTIgQEAgc3RhdGljIGludCBibnJhbmQoaW50IHBzZXVkb3JhbmQsIEJJR05VTQotIAkJZ290byBl cnI7Ci0gCQl9Ci0gCi0tCS8qIG1ha2UgYSByYW5kb20gbnVtYmVyIGFuZCBzZXQgdGhlIHRvcCBh bmQgYm90dG9tIGJpdHMgKi8KLS0JdGltZSgmdGltKTsKLS0JUkFORF9hZGQoJnRpbSxzaXplb2Yo dGltKSwwLjApOwotKwlpZiAoIUZJUFNfbW9kZSgpKSAvKiBpbiBGSVBTIG1vZGUgdGhlIFJORyBp cyBhbHdheXMgcHJvcGVybHkgc2VlZGVkIG9yIHRoZSBtb2R1bGUgZmFpbHMgKi8KLSsJCXsKLSsJ CS8qIG1ha2UgYSByYW5kb20gbnVtYmVyIGFuZCBzZXQgdGhlIHRvcCBhbmQgYm90dG9tIGJpdHMg Ki8KLSsJCXRpbWUoJnRpbSk7Ci0rCQlSQU5EX2FkZCgmdGltLHNpemVvZih0aW0pLDAuMCk7Ci0r CQl9Ci0gCi0gCWlmIChwc2V1ZG9yYW5kKQotIAkJewotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWcv Y3J5cHRvL2RoL2RoX2dlbi5jLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZGgvZGhf Z2VuLmMKLS0tLSBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZGgvZGhfZ2VuLmMuZmlwcy1yZXFzCTIw MTQtMDUtMDYgMTY6MjI6MjEuMjUzNTM2MTQ1ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWcvY3J5 cHRvL2RoL2RoX2dlbi5jCTIwMTQtMDUtMDYgMTY6MjI6MjEuNDMyNTQwMjgzICswMjAwCi1AQCAt MTI1LDcgKzEyNSw3IEBAIHN0YXRpYyBpbnQgZGhfYnVpbHRpbl9nZW5wYXJhbXMoREggKnJldCwK LSAJCXJldHVybiAwOwotIAkJfQotIAotLQlpZiAoRklQU19tb2RlKCkgJiYgKHByaW1lX2xlbiA8 IE9QRU5TU0xfREhfRklQU19NSU5fTU9EVUxVU19CSVRTKSkKLSsJaWYgKEZJUFNfbW9kZSgpICYm IChwcmltZV9sZW4gPCBPUEVOU1NMX0RIX0ZJUFNfTUlOX01PRFVMVVNfQklUU19HRU4pKQotIAkJ ewotIAkJREhlcnIoREhfRl9ESF9CVUlMVElOX0dFTlBBUkFNUywgREhfUl9LRVlfU0laRV9UT09f U01BTEwpOwotIAkJZ290byBlcnI7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZGgv ZGguaC5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2RoL2RoLmgKLS0tLSBvcGVuc3Ns LTEuMC4xZy9jcnlwdG8vZGgvZGguaC5maXBzLXJlcXMJMjAxNC0wNS0wNiAxNjoyMjoyMS4yNTM1 MzYxNDUgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZGgvZGguaAkyMDE0LTA1LTA2 IDE2OjIyOjIxLjQzMjU0MDI4MyArMDIwMAotQEAgLTc4LDYgKzc4LDcgQEAKLSAjZW5kaWYKLSAK LSAjZGVmaW5lIE9QRU5TU0xfREhfRklQU19NSU5fTU9EVUxVU19CSVRTIDEwMjQKLSsjZGVmaW5l IE9QRU5TU0xfREhfRklQU19NSU5fTU9EVUxVU19CSVRTX0dFTiAyMDQ4Ci0gCi0gI2RlZmluZSBE SF9GTEFHX0NBQ0hFX01PTlRfUCAgICAgMHgwMQotICNkZWZpbmUgREhfRkxBR19OT19FWFBfQ09O U1RUSU1FIDB4MDIgLyogbmV3IHdpdGggMC45LjdoOyB0aGUgYnVpbHQtaW4gREgKLWRpZmYgLXVw IG9wZW5zc2wtMS4wLjFnL2NyeXB0by9kaC9kaF9jaGVjay5jLmZpcHMtcmVxcyBvcGVuc3NsLTEu MC4xZy9jcnlwdG8vZGgvZGhfY2hlY2suYwotLS0tIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9kaC9k aF9jaGVjay5jLmZpcHMtcmVxcwkyMDE0LTAzLTE3IDE3OjE0OjIwLjAwMDAwMDAwMCArMDEwMAot KysrIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9kaC9kaF9jaGVjay5jCTIwMTQtMDUtMDYgMTY6MjI6 MjEuNDMyNTQwMjgzICswMjAwCi1AQCAtMTM0LDcgKzEzNCwzMyBAQCBpbnQgREhfY2hlY2tfcHVi X2tleShjb25zdCBESCAqZGgsIGNvbnN0Ci0gCUJOX3N1Yl93b3JkKHEsMSk7Ci0gCWlmIChCTl9j bXAocHViX2tleSxxKT49MCkKLSAJCSpyZXR8PURIX0NIRUNLX1BVQktFWV9UT09fTEFSR0U7Ci0r I2lmZGVmIE9QRU5TU0xfRklQUwotKwlpZiAoRklQU19tb2RlKCkgJiYgZGgtPnEgIT0gTlVMTCkK LSsJCXsKLSsJCUJOX0NUWCAqY3R4ID0gTlVMTDsKLSAKLSsJCWN0eCA9IEJOX0NUWF9uZXcoKTsK LSsJCWlmIChjdHggPT0gTlVMTCkKLSsJCQlnb3RvIGVycjsKLSsKLSsJCWlmIChCTl9tb2RfZXhw X21vbnQocSwgcHViX2tleSwgZGgtPnEsIGRoLT5wLCBjdHgsIE5VTEwpIDw9IDApCi0rCQkJewot KwkJCUJOX0NUWF9mcmVlKGN0eCk7Ci0rCQkJZ290byBlcnI7Ci0rCQkJfQotKwkJaWYgKCFCTl9p c19vbmUocSkpCi0rCQkJewotKwkJCS8qIGl0IHdvdWxkIGJlIG1vcmUgY29ycmVjdCB0byBhZGQg bmV3IHJldHVybiBmbGFnIAotKwkJCSAqIGZvciB0aGlzIHRlc3QsIGJ1dCB3ZSBkbyBub3Qgd2Fu dCB0byBkbyBpdAotKwkJCSAqIHNvIGp1c3QgZXJyb3Igb3V0Ci0rCQkJICovCi0rCQkJQk5fQ1RY X2ZyZWUoY3R4KTsKLSsJCQlnb3RvIGVycjsKLSsJCQl9Ci0rCQkKLSsJCUJOX0NUWF9mcmVlKGN0 eCk7Ci0rCQl9Ci0rI2VuZGlmCi0gCW9rID0gMTsKLSBlcnI6Ci0gCWlmIChxICE9IE5VTEwpIEJO X2ZyZWUocSk7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZHNhL2RzYV9nZW4uYy5m aXBzLXJlcXMgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2RzYS9kc2FfZ2VuLmMKLS0tLSBvcGVuc3Ns LTEuMC4xZy9jcnlwdG8vZHNhL2RzYV9nZW4uYy5maXBzLXJlcXMJMjAxNC0wNS0wNiAxNjoyMjoy MS4yNTQ1MzYxNjggKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZHNhL2RzYV9nZW4u YwkyMDE0LTA1LTA2IDE2OjIyOjIxLjQzMjU0MDI4MyArMDIwMAotQEAgLTE1OSw3ICsxNTksNyBA QCBpbnQgZHNhX2J1aWx0aW5fcGFyYW1nZW4oRFNBICpyZXQsIHNpemVfCi0gCSAgICB9Ci0gCi0g CWlmIChGSVBTX21vZHVsZV9tb2RlKCkgJiYKLS0JICAgIChiaXRzICE9IDEwMjQgfHwgcWJpdHMg IT0gMTYwKSAmJgotKwkgICAgKGdldGVudigiT1BFTlNTTF9FTkZPUkNFX01PRFVMVVNfQklUUyIp IHx8IGJpdHMgIT0gMTAyNCB8fCBxYml0cyAhPSAxNjApICYmCi0gCSAgICAoYml0cyAhPSAyMDQ4 IHx8IHFiaXRzICE9IDIyNCkgJiYKLSAJICAgIChiaXRzICE9IDIwNDggfHwgcWJpdHMgIT0gMjU2 KSAmJgotIAkgICAgKGJpdHMgIT0gMzA3MiB8fCBxYml0cyAhPSAyNTYpKQotZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWcvY3J5cHRvL2RzYS9kc2EuaC5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWcvY3J5 cHRvL2RzYS9kc2EuaAotLS0tIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9kc2EvZHNhLmguZmlwcy1y ZXFzCTIwMTQtMDUtMDYgMTY6MjI6MjEuMjU0NTM2MTY4ICswMjAwCi0rKysgb3BlbnNzbC0xLjAu MWcvY3J5cHRvL2RzYS9kc2EuaAkyMDE0LTA1LTA2IDE2OjIyOjIxLjQzMjU0MDI4MyArMDIwMAot QEAgLTg5LDYgKzg5LDcgQEAKLSAjZW5kaWYKLSAKLSAjZGVmaW5lIE9QRU5TU0xfRFNBX0ZJUFNf TUlOX01PRFVMVVNfQklUUyAxMDI0Ci0rI2RlZmluZSBPUEVOU1NMX0RTQV9GSVBTX01JTl9NT0RV TFVTX0JJVFNfR0VOIChnZXRlbnYoIk9QRU5TU0xfRU5GT1JDRV9NT0RVTFVTX0JJVFMiKT8yMDQ4 OjEwMjQpCi0gCi0gI2RlZmluZSBEU0FfRkxBR19DQUNIRV9NT05UX1AJMHgwMQotICNkZWZpbmUg RFNBX0ZMQUdfTk9fRVhQX0NPTlNUVElNRSAgICAgICAweDAyIC8qIG5ldyB3aXRoIDAuOS43aDsg dGhlIGJ1aWx0LWluIERTQQotQEAgLTI1NCw5ICsyNTUsOSBAQCBpbnQJRFNBcGFyYW1zX3ByaW50 X2ZwKEZJTEUgKmZwLCBjb25zdCBECi0gaW50CURTQV9wcmludF9mcChGSUxFICpicCwgY29uc3Qg RFNBICp4LCBpbnQgb2ZmKTsKLSAjZW5kaWYKLSAKLS0jZGVmaW5lIERTU19wcmltZV9jaGVja3Mg NTAKLS0vKiBQcmltYWxpdHkgdGVzdCBhY2NvcmRpbmcgdG8gRklQUyBQVUIgMTg2Wy0xXSwgQXBw ZW5kaXggMi4xOgotLSAqIDUwIHJvdW5kcyBvZiBSYWJpbi1NaWxsZXIgKi8KLSsjZGVmaW5lIERT U19wcmltZV9jaGVja3MgNjQKLSsvKiBQcmltYWxpdHkgdGVzdCBhY2NvcmRpbmcgdG8gRklQUyBQ VUIgMTg2Wy00XSwgQXBwZW5kaXggMi4xOgotKyAqIDY0IHJvdW5kcyBvZiBSYWJpbi1NaWxsZXIg Ki8KLSAjZGVmaW5lIERTQV9pc19wcmltZShuLCBjYWxsYmFjaywgY2JfYXJnKSBcCi0gCUJOX2lz X3ByaW1lKG4sIERTU19wcmltZV9jaGVja3MsIGNhbGxiYWNrLCBOVUxMLCBjYl9hcmcpCi0gCi1k aWZmIC11cCBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZHNhL2RzYV9rZXkuYy5maXBzLXJlcXMgb3Bl bnNzbC0xLjAuMWcvY3J5cHRvL2RzYS9kc2Ffa2V5LmMKLS0tLSBvcGVuc3NsLTEuMC4xZy9jcnlw dG8vZHNhL2RzYV9rZXkuYy5maXBzLXJlcXMJMjAxNC0wNS0wNiAxNjoyMjoyMS40Mjc1NDAxNjkg KzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZHNhL2RzYV9rZXkuYwkyMDE0LTA1LTA2 IDE2OjIyOjIxLjQzMzU0MDMwNyArMDIwMAotQEAgLTEyNyw3ICsxMjcsNyBAQCBzdGF0aWMgaW50 IGRzYV9idWlsdGluX2tleWdlbihEU0EgKmRzYSkKLSAKLSAjaWZkZWYgT1BFTlNTTF9GSVBTCi0g CWlmIChGSVBTX21vZGUoKSAmJiAhKGRzYS0+ZmxhZ3MgJiBEU0FfRkxBR19OT05fRklQU19BTExP VykKLS0JCSYmIChCTl9udW1fYml0cyhkc2EtPnApIDwgT1BFTlNTTF9EU0FfRklQU19NSU5fTU9E VUxVU19CSVRTKSkKLSsJCSYmIChCTl9udW1fYml0cyhkc2EtPnApIDwgT1BFTlNTTF9EU0FfRklQ U19NSU5fTU9EVUxVU19CSVRTX0dFTikpCi0gCQl7Ci0gCQlEU0FlcnIoRFNBX0ZfRFNBX0JVSUxU SU5fS0VZR0VOLCBEU0FfUl9LRVlfU0laRV9UT09fU01BTEwpOwotIAkJZ290byBlcnI7Ci1kaWZm IC11cCBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZmlwcy9maXBzX2RoX3NlbGZ0ZXN0LmMuZmlwcy1y ZXFzIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9maXBzL2ZpcHNfZGhfc2VsZnRlc3QuYwotLS0tIG9w ZW5zc2wtMS4wLjFnL2NyeXB0by9maXBzL2ZpcHNfZGhfc2VsZnRlc3QuYy5maXBzLXJlcXMJMjAx NC0wNS0wNiAxNjoyMjoyMS40MzM1NDAzMDcgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZy9jcnlw dG8vZmlwcy9maXBzX2RoX3NlbGZ0ZXN0LmMJMjAxNC0wNS0wNiAxNjoyMjoyMS40MzM1NDAzMDcg KzAyMDAKLUBAIC0wLDAgKzEsMTYyIEBACi0rLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSsgKiBDb3B5cmlnaHQg KGMpIDIwMTEgVGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0rICog Q29weXJpZ2h0IChjKSAyMDEzIFJlZCBIYXQsIEluYy4KLSsgKgotKyAqIFJlZGlzdHJpYnV0aW9u IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKyAq IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9ucwotKyAqIGFyZSBtZXQ6Ci0rICoKLSsgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotKyAqICAgIG5vdGlj ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4g Ci0rICoKLSsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1 Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgotKyAqICAgIHRoZSBkb2N1bWVu dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSsgKiAgICBk aXN0cmlidXRpb24uCi0rICoKLSsgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRp b25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMKLSsgKiAgICBzb2Z0d2FyZSBtdXN0IGRpc3Bs YXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnbWVudDoKLSsgKiAgICAiVGhpcyBwcm9kdWN0IGlu Y2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgT3BlblNTTCBQcm9qZWN0Ci0rICogICAg Zm9yIHVzZSBpbiB0aGUgT3BlblNTTCBUb29sa2l0LiAoaHR0cDovL3d3dy5vcGVuc3NsLm9yZy8p IgotKyAqCi0rICogNC4gVGhlIG5hbWVzICJPcGVuU1NMIFRvb2xraXQiIGFuZCAiT3BlblNTTCBQ cm9qZWN0IiBtdXN0IG5vdCBiZSB1c2VkIHRvCi0rICogICAgZW5kb3JzZSBvciBwcm9tb3RlIHBy b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQKLSsgKiAgICBwcmlvciB3 cml0dGVuIHBlcm1pc3Npb24uIEZvciB3cml0dGVuIHBlcm1pc3Npb24sIHBsZWFzZSBjb250YWN0 Ci0rICogICAgb3BlbnNzbC1jb3JlQG9wZW5zc2wub3JnLgotKyAqCi0rICogNS4gUHJvZHVjdHMg ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgbWF5IG5vdCBiZSBjYWxsZWQgIk9wZW5TU0wiCi0r ICogICAgbm9yIG1heSAiT3BlblNTTCIgYXBwZWFyIGluIHRoZWlyIG5hbWVzIHdpdGhvdXQgcHJp b3Igd3JpdHRlbgotKyAqICAgIHBlcm1pc3Npb24gb2YgdGhlIE9wZW5TU0wgUHJvamVjdC4KLSsg KgotKyAqIDYuIFJlZGlzdHJpYnV0aW9ucyBvZiBhbnkgZm9ybSB3aGF0c29ldmVyIG11c3QgcmV0 YWluIHRoZSBmb2xsb3dpbmcKLSsgKiAgICBhY2tub3dsZWRnbWVudDoKLSsgKiAgICAiVGhpcyBw cm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgT3BlblNTTCBQcm9qZWN0 Ci0rICogICAgZm9yIHVzZSBpbiB0aGUgT3BlblNTTCBUb29sa2l0IChodHRwOi8vd3d3Lm9wZW5z c2wub3JnLykiCi0rICoKLSsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBPcGVu U1NMIFBST0pFQ1QgYGBBUyBJUycnIEFORCBBTlkKLSsgKiBFWFBSRVNTRUQgT1IgSU1QTElFRCBX QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0rICogSU1QTElF RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSCi0rICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBP cGVuU1NMIFBST0pFQ1QgT1IKLSsgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0rICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCi0rICogTk9UIExJTUlURUQg VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0rICogTE9T UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSsg KiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg SU4gQ09OVFJBQ1QsCi0rICogU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQKLSsgKiBPRiBUSEUgUE9TU0lC SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0rICoKLSsgKi8KLSsKLSsjaW5jbHVkZSA8c3RyaW5nLmg+ Ci0rI2luY2x1ZGUgPG9wZW5zc2wvY3J5cHRvLmg+Ci0rI2luY2x1ZGUgPG9wZW5zc2wvZGguaD4K LSsjaW5jbHVkZSA8b3BlbnNzbC9maXBzLmg+Ci0rI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+Ci0r I2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+Ci0rI2luY2x1ZGUgPG9wZW5zc2wvYm4uaD4KLSsjaW5j bHVkZSAiZmlwc19sb2NsLmgiCi0rCi0rI2lmZGVmIE9QRU5TU0xfRklQUwotKwotK3N0YXRpYyBj b25zdCB1bnNpZ25lZCBjaGFyIGRoX3Rlc3RfMjA0OF9wW10gPSB7Ci0rCTB4QUUsMHhFQywweEVF LDB4MjIsMHhGQSwweDNBLDB4QTUsMHgyMiwweEMwLDB4REUsMHgwRiwweDA5LAotKwkweDdFLDB4 MTcsMHhDMCwweDA1LDB4RjksMHhGMSwweEU3LDB4QzYsMHg4NywweDE0LDB4NkQsMHgxMSwKLSsJ MHhFNywweEFFLDB4RUQsMHgyRiwweDcyLDB4NTksMHhDNSwweEE5LDB4OUIsMHhCOCwweDAyLDB4 QTUsCi0rCTB4RjMsMHg2OSwweDcwLDB4RDYsMHhERCwweDkwLDB4RjksMHgxOSwweDc5LDB4QkUs MHg2MCwweDhGLAotKwkweDI1LDB4OTIsMHgzMCwweDFDLDB4NTEsMHg1MSwweDM4LDB4MjYsMHg4 MiwweDI1LDB4RTYsMHhGQywKLSsJMHhFRCwweDY1LDB4OTYsMHg4RiwweDU3LDB4RTUsMHg1Myww eDhCLDB4MzgsMHg2MywweEM3LDB4Q0UsCi0rCTB4QkMsMHgxQiwweDRELDB4MTgsMHgyQSwweDVC LDB4MDQsMHgzRiwweDZBLDB4M0MsMHg5NCwweDM5LAotKwkweEFFLDB4MzYsMHhENiwweDVFLDB4 MEYsMHhBMiwweENDLDB4RDAsMHhENCwweEQ1LDB4QzYsMHgxRSwKLSsJMHhGNiwweEEwLDB4RjUs MHg4OSwweDRFLDB4QjQsMHgwQiwweEE0LDB4QjMsMHgyQiwweDNELDB4RTIsCi0rCTB4NEUsMHhF MSwweDQ5LDB4MjUsMHg5OSwweDVGLDB4MzIsMHgxNiwweDMzLDB4MzIsMHgxQiwweDdBLAotKwkw eEE1LDB4NUMsMHg2QiwweDM0LDB4MEQsMHgzOSwweDk5LDB4REMsMHhGMCwweDc2LDB4RTUsMHg1 QSwKLSsJMHhENCwweDcxLDB4MDAsMHhFRCwweDVBLDB4NzMsMHhGQiwweEM4LDB4MDEsMHhBRCww eDk5LDB4Q0YsCi0rCTB4OTksMHg1MiwweDdDLDB4OUMsMHg2NCwweEM2LDB4NzYsMHg0MCwweDU3 LDB4QUYsMHg1OSwweEQ3LAotKwkweDM4LDB4MEIsMHg0MCwweERFLDB4MzMsMHgwRCwweEI4LDB4 NzYsMHhFQywweEE5LDB4RDgsMHg3MywKLSsJMHhGOCwweEVGLDB4MjYsMHg2NiwweDA2LDB4Mjcs MHhERCwweDdDLDB4QTQsMHgxMCwweDlDLDB4QTYsCi0rCTB4QUEsMHhGOSwweDUzLDB4NjIsMHg3 MywweDFELDB4QkEsMHgxQywweEYxLDB4NjcsMHhGNCwweDM1LAotKwkweEVELDB4NkYsMHgzNyww eDkyLDB4RTgsMHg0RiwweDZDLDB4QkEsMHg1MiwweDZFLDB4QTEsMHhFRCwKLSsJMHhEQSwweDlG LDB4ODUsMHgxMSwweDgyLDB4NTIsMHg2MiwweDA4LDB4NDQsMHhGMSwweDMwLDB4MDMsCi0rCTB4 QzMsMHgzOCwweDJDLDB4NzksMHhCRCwweEQ0LDB4NDMsMHg0NSwweEVFLDB4OEUsMHg1MCwweEZD LAotKwkweDI5LDB4NDYsMHg5QSwweEZFLDB4NTQsMHgxQSwweDE5LDB4OEYsMHg0QiwweDg0LDB4 MDgsMHhERSwKLSsJMHgyMCwweDYyLDB4NzMsMHhDQywweERELDB4N0UsMHhGMCwweEVGLDB4QTIs MHhGRCwweDg2LDB4NTgsCi0rCTB4NEIsMHhEOCwweDM3LDB4RUIKLSt9OwotKwotK3N0YXRpYyBj b25zdCB1bnNpZ25lZCBjaGFyIGRoX3Rlc3RfMjA0OF9nW10gPSB7Ci0rCTB4MDIKLSt9OwotKwot K3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGRoX3Rlc3RfMjA0OF9wdWJfa2V5W10gPSB7Ci0r CTB4QTAsMHgzOSwweDExLDB4NzcsMHg5QSwweEMxLDB4MzAsMHgxRiwweEJFLDB4NDgsMHhBNyww eEFBLAotKwkweEEwLDB4ODQsMHg1NCwweDY0LDB4QUQsMHgxQiwweDcwLDB4RkEsMHgxMywweDU1 LDB4NjMsMHhEMiwKLSsJMHgxRiwweDYyLDB4MzIsMHg5MywweDhFLDB4QzksMHgzRSwweDA5LDB4 QTcsMHg2NCwweEU0LDB4MTIsCi0rCTB4NkUsMHgxQiwweEYyLDB4OTIsMHgzQiwweEI5LDB4Q0Is MHg1NiwweEVBLDB4MDcsMHg4OCwweEI1LAotKwkweEE2LDB4QkMsMHgxNiwweDFGLDB4MjcsMHhG RSwweEQ4LDB4QUEsMHg0MCwweEIyLDB4QjAsMHgyRCwKLSsJMHgzNywweDc2LDB4QTYsMHhBNCww eDgyLDB4MkMsMHgwRSwweDIyLDB4NjQsMHg5RCwweENCLDB4RDEsCi0rCTB4MDAsMHhCNywweDg5 LDB4MTQsMHg3MiwweDRFLDB4QkUsMHg0OCwweDQxLDB4RjgsMHhCMiwweDUxLAotKwkweDExLDB4 MDksMHg0QiwweDIyLDB4MDEsMHgyMywweDM5LDB4OTYsMHhFMCwweDE1LDB4RDcsMHg5RiwKLSsJ MHg2MCwweEQxLDB4QjcsMHhBRSwweEZFLDB4NUYsMHhEQiwweEU3LDB4MDMsMHgxNywweDk3LDB4 QTYsCi0rCTB4MTYsMHg3NCwweEJELDB4NTMsMHg4MSwweDE5LDB4QzUsMHg0NywweDVFLDB4Q0Us MHg4RCwweEVELAotKwkweDQ1LDB4NUQsMHgzQywweDAwLDB4QTAsMHgwQSwweDY4LDB4NkEsMHhF MCwweDhFLDB4MDYsMHg0NiwKLSsJMHg2RiwweEQ3LDB4RjksMHhERiwweDMxLDB4N0UsMHg3Nyww eDQ0LDB4MEQsMHg5OCwweEUwLDB4Q0EsCi0rCTB4OTgsMHgwOSwweDUyLDB4MDQsMHg5MCwweEVB LDB4NkQsMHhGNCwweDMwLDB4NjksMHg4RiwweEIxLAotKwkweDlCLDB4QzEsMHg0MywweERCLDB4 RDUsMHg4RCwweEM4LDB4OEUsMHhCNiwweDBCLDB4MDUsMHhCRSwKLSsJMHgwRSwweEM1LDB4OTks MHhDOCwweDZFLDB4NEUsMHhGMywweENCLDB4QzMsMHg1RSwweDlCLDB4NTMsCi0rCTB4RjcsMHgw NiwweDFDLDB4NEYsMHhDNywweEI4LDB4NkUsMHgzMCwweDE4LDB4Q0EsMHg5QiwweEI5LAotKwkw eEJDLDB4NUYsMHgxNywweDcyLDB4MjksMHg1QSwweEU1LDB4RDksMHg5NiwweEI3LDB4MEIsMHhG MywKLSsJMHgyRCwweDhDLDB4RjEsMHhFMSwweDBFLDB4MEQsMHg3NCwweEQ1LDB4OUQsMHhGMCww eDA2LDB4QTksCi0rCTB4QjQsMHg5NSwweDYzLDB4NzYsMHg0NiwweDU1LDB4NDgsMHg4MiwweDM5 LDB4OTAsMHhFRiwweDU2LAotKwkweDc1LDB4MzQsMHhCOCwweDM0LDB4QzMsMHgxOCwweDZFLDB4 MUUsMHhBRCwweEUzLDB4NDgsMHg3RSwKLSsJMHg5MywweDJDLDB4MjMsMHhFNywweEY4LDB4OTAs MHg3MywweEIxLDB4NzcsMHg4MCwweDY3LDB4QTksCi0rCTB4MzYsMHg5RSwweERBLDB4RDIKLSt9 OwotKwotK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGRoX3Rlc3RfMjA0OF9wcml2X2tleVtd ID0gewotKwkweDBDLDB4NEIsMHgzMCwweDg5LDB4RDEsMHhCOCwweDYyLDB4Q0IsMHgzQywweDQz LDB4NjQsMHg5MSwKLSsJMHhGMCwweDkxLDB4NTQsMHg3MCwweEM1LDB4MjcsMHg5NiwweEUzLDB4 QUMsMHhCRSwweEU4LDB4MDAsCi0rCTB4RUMsMHg1NSwweEY2LDB4Q0MKLSt9OwotKwotK2ludCBG SVBTX3NlbGZ0ZXN0X2RoKCkKLSsJewotKwlESCAqZGggPSBOVUxMOwotKwlpbnQgcmV0ID0gMDsK LSsJdm9pZCAqcHViX2tleSA9IE5VTEw7Ci0rCWludCBsZW47Ci0rCi0rCWRoID0gREhfbmV3KCk7 Ci0rCi0rCWlmKGRoID09IE5VTEwpCi0rCQlnb3RvIGVycjsKLSsKLSsJZmlwc19sb2FkX2tleV9j b21wb25lbnQoZGgsIHAsIGRoX3Rlc3RfMjA0OCk7Ci0rCWZpcHNfbG9hZF9rZXlfY29tcG9uZW50 KGRoLCBnLCBkaF90ZXN0XzIwNDgpOwotKwkvKiBub3RlIHRoYXQgdGhlIHByaXZhdGUga2V5IGlz IG11Y2ggc2hvcnRlciB0aGFuIG5vcm1hbGx5IHVzZWQKLSsJICogYnV0IHN0aWxsIGcgKiogcHJp dl9rZXkgPiBwCi0rCSAqLwotKwlmaXBzX2xvYWRfa2V5X2NvbXBvbmVudChkaCwgcHJpdl9rZXks IGRoX3Rlc3RfMjA0OCk7Ci0rCi0rCWlmIChESF9nZW5lcmF0ZV9rZXkoZGgpIDw9IDApCi0rCQln b3RvIGVycjsKLSsKLSsJbGVuID0gQk5fbnVtX2J5dGVzKGRoLT5wdWJfa2V5KTsKLSsJaWYgKChw dWJfa2V5ID0gT1BFTlNTTF9tYWxsb2MobGVuKSkgPT0gTlVMTCkKLSsJCWdvdG8gZXJyOwotKwlC Tl9ibjJiaW4oZGgtPnB1Yl9rZXksIHB1Yl9rZXkpOwotKwotKwlpZiAobGVuICE9IHNpemVvZihk aF90ZXN0XzIwNDhfcHViX2tleSkgfHwKLSsJCW1lbWNtcChwdWJfa2V5LCBkaF90ZXN0XzIwNDhf cHViX2tleSwgbGVuKSAhPSAwKQotKwkJZ290byBlcnI7Ci0rCi0rCXJldCA9IDE7Ci0rCi0rCWVy cjoKLSsJaWYgKGRoKQotKwkJREhfZnJlZShkaCk7Ci0rCi0rCU9QRU5TU0xfZnJlZShwdWJfa2V5 KTsKLSsJcmV0dXJuIHJldDsKLSsJfQotKyNlbmRpZgotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWcv Y3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYy5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWcvY3J5 cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYwotLS0tIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9maXBz L2ZpcHNfZHJiZ19yYW5kLmMuZmlwcy1yZXFzCTIwMTQtMDUtMDYgMTY6MjI6MjEuMjYzNTM2Mzc2 ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYwky MDE0LTA1LTA2IDE2OjIyOjIxLjQzMzU0MDMwNyArMDIwMAotQEAgLTc3LDcgKzc3LDggQEAgc3Rh dGljIGludCBmaXBzX2RyYmdfYnl0ZXModW5zaWduZWQgY2hhcgotIAlpbnQgcnYgPSAwOwotIAl1 bnNpZ25lZCBjaGFyICphZGluID0gTlVMTDsKLSAJc2l6ZV90IGFkaW5sZW4gPSAwOwotLQlDUllQ VE9fd19sb2NrKENSWVBUT19MT0NLX1JBTkQpOwotKwlpbnQgbG9ja2VkOwotKwlsb2NrZWQgPSBw cml2YXRlX1JBTkRfbG9jaygxKTsKLSAJZG8gCi0gCQl7Ci0gCQlzaXplX3QgcmNudDsKLUBAIC0x MDksNyArMTEwLDggQEAgc3RhdGljIGludCBmaXBzX2RyYmdfYnl0ZXModW5zaWduZWQgY2hhcgot IAl3aGlsZSAoY291bnQpOwotIAlydiA9IDE7Ci0gCWVycjoKLS0JQ1JZUFRPX3dfdW5sb2NrKENS WVBUT19MT0NLX1JBTkQpOwotKwlpZiAobG9ja2VkKQotKwkJcHJpdmF0ZV9SQU5EX2xvY2soMCk7 Ci0gCXJldHVybiBydjsKLSAJfQotIAotQEAgLTEyNCwzNSArMTI2LDUxIEBAIHN0YXRpYyBpbnQg Zmlwc19kcmJnX3N0YXR1cyh2b2lkKQotIAl7Ci0gCURSQkdfQ1RYICpkY3R4ID0gJm9zc2xfZGN0 eDsKLSAJaW50IHJ2OwotLQlDUllQVE9fcl9sb2NrKENSWVBUT19MT0NLX1JBTkQpOwotKwlpbnQg bG9ja2VkOwotKwlsb2NrZWQgPSBwcml2YXRlX1JBTkRfbG9jaygxKTsKLSAJcnYgPSBkY3R4LT5z dGF0dXMgPT0gRFJCR19TVEFUVVNfUkVBRFkgPyAxIDogMDsKLS0JQ1JZUFRPX3JfdW5sb2NrKENS WVBUT19MT0NLX1JBTkQpOwotKwlpZiAobG9ja2VkKQotKwkJcHJpdmF0ZV9SQU5EX2xvY2soMCk7 Ci0gCXJldHVybiBydjsKLSAJfQotIAotIHN0YXRpYyB2b2lkIGZpcHNfZHJiZ19jbGVhbnVwKHZv aWQpCi0gCXsKLSAJRFJCR19DVFggKmRjdHggPSAmb3NzbF9kY3R4OwotLQlDUllQVE9fd19sb2Nr KENSWVBUT19MT0NLX1JBTkQpOwotKwlpbnQgbG9ja2VkOwotKwlsb2NrZWQgPSBwcml2YXRlX1JB TkRfbG9jaygxKTsKLSAJRklQU19kcmJnX3VuaW5zdGFudGlhdGUoZGN0eCk7Ci0tCUNSWVBUT193 X3VubG9jayhDUllQVE9fTE9DS19SQU5EKTsKLSsJaWYgKGxvY2tlZCkKLSsJCXByaXZhdGVfUkFO RF9sb2NrKDApOwotIAl9Ci0gCi0gc3RhdGljIGludCBmaXBzX2RyYmdfc2VlZChjb25zdCB2b2lk ICpzZWVkLCBpbnQgc2VlZGxlbikKLSAJewotIAlEUkJHX0NUWCAqZGN0eCA9ICZvc3NsX2RjdHg7 Ci0rCWludCBsb2NrZWQ7Ci0rCWludCByZXQgPSAxOwotKwotKwlsb2NrZWQgPSBwcml2YXRlX1JB TkRfbG9jaygxKTsKLSAJaWYgKGRjdHgtPnJhbmRfc2VlZF9jYikKLS0JCXJldHVybiBkY3R4LT5y YW5kX3NlZWRfY2IoZGN0eCwgc2VlZCwgc2VlZGxlbik7Ci0tCXJldHVybiAxOwotKwkJcmV0ID0g ZGN0eC0+cmFuZF9zZWVkX2NiKGRjdHgsIHNlZWQsIHNlZWRsZW4pOwotKwlpZiAobG9ja2VkKQot KwkJcHJpdmF0ZV9SQU5EX2xvY2soMCk7Ci0rCXJldHVybiByZXQ7Ci0gCX0KLSAKLSBzdGF0aWMg aW50IGZpcHNfZHJiZ19hZGQoY29uc3Qgdm9pZCAqc2VlZCwgaW50IHNlZWRsZW4sCi0gCQkJCQlk b3VibGUgYWRkX2VudHJvcHkpCi0gCXsKLSAJRFJCR19DVFggKmRjdHggPSAmb3NzbF9kY3R4Owot KwlpbnQgbG9ja2VkOwotKwlpbnQgcmV0ID0gMTsKLSsKLSsJbG9ja2VkID0gcHJpdmF0ZV9SQU5E X2xvY2soMSk7Ci0gCWlmIChkY3R4LT5yYW5kX2FkZF9jYikKLS0JCXJldHVybiBkY3R4LT5yYW5k X2FkZF9jYihkY3R4LCBzZWVkLCBzZWVkbGVuLCBhZGRfZW50cm9weSk7Ci0tCXJldHVybiAxOwot KwkJcmV0ID0gZGN0eC0+cmFuZF9hZGRfY2IoZGN0eCwgc2VlZCwgc2VlZGxlbiwgYWRkX2VudHJv cHkpOwotKwlpZiAobG9ja2VkKQotKwkJcHJpdmF0ZV9SQU5EX2xvY2soMCk7Ci0rCXJldHVybiBy ZXQ7Ci0gCX0KLSAKLSBzdGF0aWMgY29uc3QgUkFORF9NRVRIT0QgcmFuZF9kcmJnX21ldGggPQot ZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2ZpcHMvZmlwcy5oLmZpcHMtcmVxcyBvcGVu c3NsLTEuMC4xZy9jcnlwdG8vZmlwcy9maXBzLmgKLS0tLSBvcGVuc3NsLTEuMC4xZy9jcnlwdG8v Zmlwcy9maXBzLmguZmlwcy1yZXFzCTIwMTQtMDUtMDYgMTY6MjI6MjEuNDIxNTQwMDMxICswMjAw Ci0rKysgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2ZpcHMvZmlwcy5oCTIwMTQtMDUtMDYgMTY6MjI6 MjEuNDMzNTQwMzA3ICswMjAwCi1AQCAtOTYsNiArOTYsNyBAQCB2b2lkIEZJUFNfY29ycnVwdF9k c2Ffa2V5Z2VuKHZvaWQpOwotIGludCBGSVBTX3NlbGZ0ZXN0X2RzYSh2b2lkKTsKLSBpbnQgRklQ U19zZWxmdGVzdF9lY2RzYSh2b2lkKTsKLSBpbnQgRklQU19zZWxmdGVzdF9lY2RoKHZvaWQpOwot K2ludCBGSVBTX3NlbGZ0ZXN0X2RoKHZvaWQpOwotIHZvaWQgRklQU19jb3JydXB0X3JuZyh2b2lk KTsKLSB2b2lkIEZJUFNfcm5nX3N0aWNrKHZvaWQpOwotIHZvaWQgRklQU194OTMxX3N0aWNrKGlu dCBvbm9mZik7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZmlwcy9maXBzX3Bvc3Qu Yy5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2ZpcHMvZmlwc19wb3N0LmMKLS0tLSBv cGVuc3NsLTEuMC4xZy9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYy5maXBzLXJlcXMJMjAxNC0wNS0w NiAxNjoyMjoyMS40MjA1NDAwMDggKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZmlw cy9maXBzX3Bvc3QuYwkyMDE0LTA1LTA2IDE2OjIyOjIxLjQzMzU0MDMwNyArMDIwMAotQEAgLTk5 LDYgKzk5LDggQEAgaW50IEZJUFNfc2VsZnRlc3Qodm9pZCkKLSAJCXJ2ID0gMDsKLSAJaWYgKCFG SVBTX3NlbGZ0ZXN0X2RzYSgpKQotIAkJcnYgPSAwOwotKwlpZiAoIUZJUFNfc2VsZnRlc3RfZGgo KSkKLSsJCXJ2ID0gMDsKLSAJaWYgKCFGSVBTX3NlbGZ0ZXN0X2VjZGgoKSkKLSAJCXJ2ID0gMDsK LSAJcmV0dXJuIHJ2OwotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2ZpcHMvZmlwc19y c2Ffc2VsZnRlc3QuYy5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2ZpcHMvZmlwc19y c2Ffc2VsZnRlc3QuYwotLS0tIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9maXBzL2ZpcHNfcnNhX3Nl bGZ0ZXN0LmMuZmlwcy1yZXFzCTIwMTQtMDUtMDYgMTY6MjI6MjEuMjY3NTM2NDY5ICswMjAwCi0r Kysgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYwkyMDE0LTA1 LTA2IDE2OjIyOjIxLjQzNDU0MDMzMCArMDIwMAotQEAgLTYwLDY5ICs2MCwxMTMgQEAKLSAjaWZk ZWYgT1BFTlNTTF9GSVBTCi0gCi0gc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgbltdID0KLS0i XHgwMFx4QkJceEY4XHgyRlx4MDlceDA2XHg4Mlx4Q0VceDlDXHgyM1x4MzhceEFDXHgyQlx4OURc eEE4XHg3MSIKLS0iXHhGN1x4MzZceDhEXHgwN1x4RUVceEQ0XHgxMFx4NDNceEE0XHg0MFx4RDZc eEI2XHhGMFx4NzRceDU0XHhGNSIKLS0iXHgxRlx4QjhceERGXHhCQVx4QUZceDAzXHg1Q1x4MDJc eEFCXHg2MVx4RUFceDQ4XHhDRVx4RUJceDZGXHhDRCIKLS0iXHg0OFx4NzZceEVEXHg1Mlx4MERc eDYwXHhFMVx4RUNceDQ2XHgxOVx4NzFceDlEXHg4QVx4NUJceDhCXHg4MCIKLS0iXHg3Rlx4QUZc eEI4XHhFMFx4QTNceERGXHhDN1x4MzdceDcyXHgzRVx4RTZceEI0XHhCN1x4RDlceDNBXHgyNSIK LS0iXHg4NFx4RUVceDZBXHg2NFx4OURceDA2XHgwOVx4NTNceDc0XHg4OFx4MzRceEIyXHg0NVx4 NDVceDk4XHgzOSIKLS0iXHg0RVx4RTBceEFBXHhCMVx4MkRceDdCXHg2MVx4QTVceDFGXHg1Mlx4 N0FceDlBXHg0MVx4RjZceEMxXHg2OCIKLS0iXHg3Rlx4RTJceDUzXHg3Mlx4OThceENBXHgyQVx4 OEZceDU5XHg0Nlx4RjhceEU1XHhGRFx4MDlceDFEXHhCRCIKLS0iXHhDQiI7Ci0rIlx4MDBceGM5 XHhkNVx4NmRceDlkXHg5MFx4ZGJceDQzXHhkNlx4MDJceGVkXHg5Nlx4ODhceDEzXHg4YSIKLSsi XHhiMlx4YmZceDZlXHhhMVx4MDZceDEwXHhiMlx4NzhceDM3XHhhN1x4MTRceGE4XHhmZlx4ZGRc eDAwIgotKyJceGRkXHhiNFx4OTNceGEwXHg0NVx4Y2NceDk2XHg5MFx4ZWRceGFkXHhhOVx4ZGRc eGM0XHhkNlx4Y2EiCi0rIlx4MGNceGYwXHhlZFx4NGZceDcyXHg1ZVx4MjFceDQ5XHg5YVx4MThc eDEyXHgxNVx4OGZceDkwXHg1YSIKLSsiXHhkYlx4YjZceDMzXHg5OVx4YTNceGU2XHhiNFx4ZjBc eGM0XHg5N1x4MjFceDI2XHhiYlx4ZTNceGJhIgotKyJceGYyXHhmZlx4YTBceDcyXHhkYVx4ODlc eDYzXHg4ZVx4OGJceDNlXHgwOFx4OWRceDkyXHgyYVx4YmUiCi0rIlx4MTZceGUxXHg0M1x4MTVc eGZjXHg1N1x4YzdceDFmXHgwOVx4MTFceDY3XHgxY1x4YTlceDk2XHhkMSIKLSsiXHg4Ylx4M2Vc eDgwXHg5M1x4YzFceDU5XHhkMFx4NmRceDM5XHhmMlx4YWNceDk1XHhjY1x4MTBceDc1IgotKyJc eGU5XHgzMVx4MjRceGQxXHg0M1x4YWZceDY4XHg1Mlx4NGJceGU3XHgxNlx4ZDdceDQ5XHg2NVx4 NmYiCi0rIlx4MjZceGMwXHg4Nlx4YWRceGMwXHgwN1x4MGFceGMxXHhlMVx4MmZceDg3XHg4NVx4 ODZceDNiXHhkYyIKLSsiXHg1YVx4OTlceGJlXHhlOVx4ZjlceGI5XHhlOVx4ODJceDI3XHg1MVx4 MDRceDE1XHhhYlx4MDZceDBlIgotKyJceDc2XHg1YVx4MjhceDhkXHg5Mlx4YmRceGM1XHhiNVx4 N2JceGE4XHhkZlx4NGVceDQ3XHhhMlx4YzEiCi0rIlx4ZTdceDUyXHhiZlx4NDdceGY3XHg2Mlx4 ZTBceDNhXHg2Zlx4NGRceDZhXHg0ZFx4NGVceGQ0XHhiOSIKLSsiXHg1OVx4NjlceGZhXHhiMlx4 MTRceGMxXHhlZVx4ZTZceDJmXHg5NVx4Y2RceDk0XHg3Mlx4YWVceGU0IgotKyJceGRiXHgxOFx4 OWFceGM0XHhjZFx4NzBceGJkXHhlZVx4MzFceDE2XHhiN1x4NDlceDY1XHhhY1x4NDAiCi0rIlx4 MTlceDBlXHhiNVx4NmRceDgzXHhmMVx4MzZceGJiXHgwOFx4MmZceDJlXHg0ZVx4OTJceDYyXHhh NCIKLSsiXHhmZlx4NTBceGRiXHgyMFx4NDVceGEyXHhlYlx4MTZceDdhXHhmMlx4ZDVceDI4XHhj MVx4ZmRceDRlIgotKyJceDAzXHg3MSI7Ci0rCi0gCi0gc3RhdGljIGludCBjb3JydXB0X3JzYTsK LSAKLSBzdGF0aWMgaW50IHNldHJzYWtleShSU0EgKmtleSkKLSAgICAgewotLSAgICBzdGF0aWMg Y29uc3QgdW5zaWduZWQgY2hhciBlW10gPSAiXHgxMSI7Ci0rICAgIHN0YXRpYyBjb25zdCB1bnNp Z25lZCBjaGFyIGVbXSA9ICJceDAxXHgwMFx4MDEiOwotIAotICAgICBzdGF0aWMgY29uc3QgdW5z aWduZWQgY2hhciBkW10gPQotLSJceDAwXHhBNVx4REFceEZDXHg1M1x4NDFceEZBXHhGMlx4ODlc eEM0XHhCOVx4ODhceERCXHgzMFx4QzFceENEIgotLSJceEY4XHgzRlx4MzFceDI1XHgxRVx4MDZc eDY4XHhCNFx4MjdceDg0XHg4MVx4MzhceDAxXHg1N1x4OTZceDQxIgotLSJceEIyXHg5NFx4MTBc eEIzXHhDN1x4OTlceDhEXHg2Qlx4QzRceDY1XHg3NFx4NUVceDVDXHgzOVx4MjZceDY5IgotLSJc eEQ2XHg4N1x4MERceEEyXHhDMFx4ODJceEE5XHgzOVx4RTNceDdGXHhEQ1x4QjhceDJFXHhDOVx4 M0VceERBIgotLSJceEM5XHg3Rlx4RjNceEFEXHg1OVx4NTBceEFDXHhDRlx4QkNceDExXHgxQ1x4 NzZceEYxXHhBOVx4NTJceDk0IgotLSJceDQ0XHhFNVx4NkFceEFGXHg2OFx4QzVceDZDXHgwOVx4 MkNceEQzXHg4RFx4QzNceEJFXHhGNVx4RDJceDBBIgotLSJceDkzXHg5OVx4MjZceEVEXHg0Rlx4 NzRceEExXHgzRVx4RERceEZCXHhFMVx4QTFceENFXHhDQ1x4NDhceDk0IgotLSJceEFGXHg5NFx4 MjhceEMyXHhCN1x4QjhceDg4XHgzRlx4RTRceDQ2XHgzQVx4NEJceEM4XHg1Qlx4MUNceEIzIgot LSJceEMxIjsKLSsiXHgzNlx4MjdceDNkXHhiMVx4ZjlceDFiXHhkYlx4YTdceGEwXHg0MVx4N2Zc eDEyXHgyM1x4YWNceDIzIgotKyJceDI5XHg5OVx4ZDVceDNhXHg3Ylx4NjBceDY3XHg0MVx4MDdc eDYzXHg1M1x4YjRceGQyXHhlN1x4NTgiCi0rIlx4OTVceDBhXHhjN1x4MDVceGYzXHg0ZVx4YjJc eGI0XHgxMlx4ZDRceDcwXHhkY1x4NGZceDg1XHgwNiIKLSsiXHhkM1x4ZGRceGQ4XHg2M1x4Mjdc eDNlXHg2N1x4MzFceDIxXHgyNFx4MzlceDA0XHhiY1x4MDZceGE0IgotKyJceGNjXHhjZVx4MmJc eDdhXHhmZVx4N2JceGFkXHhkZVx4MTFceDZlXHhhM1x4YTVceGU2XHgwNFx4NTMiCi0rIlx4MGVc eGEzXHg0ZVx4MmRceGI0XHg4Zlx4MzFceGJmXHhjYVx4NzVceDI1XHg1Mlx4MDJceDg1XHhkZSIK LSsiXHgzZFx4YjJceDcyXHg0M1x4YjJceDg5XHg4YVx4OWFceDM0XHg0MVx4MjZceDNmXHg5YVx4 NjdceGJlIgotKyJceGE0XHg5Nlx4N2JceDBlXHg3NVx4YmFceGE2XHg5M1x4ZDVceGI4XHhkOFx4 YjhceDU3XHhmMlx4NGIiCi0rIlx4MGZceDE0XHg4MVx4ZDFceDU3XHg0ZVx4ZjZceDQ1XHg0Y1x4 YTZceDNiXHhkMFx4NzBceGNhXHhkMyIKLSsiXHg5ZFx4NTVceGRlXHgyMlx4MDVceGU3XHg4ZVx4 MjhceDRkXHhlZVx4MTFceGNmXHhiNlx4NjdceDc2IgotKyJceDA5XHhkM1x4ZTNceDNjXHgxM1x4 ZjlceDk5XHgzNFx4MTBceDdiXHhlY1x4ODFceDM4XHhmMFx4YjYiCi0rIlx4MzRceDljXHg5Ylx4 NTBceDZmXHgwYlx4OTFceDgxXHg0ZFx4ODlceDk0XHgwNFx4N2JceGYwXHgzYyIKLSsiXHhmNFx4 YjFceGIyXHgwMFx4NDhceDhkXHg1YVx4OGZceDg4XHg5ZVx4YzVceGFiXHgzYVx4OWVceDQ0Igot KyJceDNmXHg1NFx4ZTdceGQ5XHg2ZVx4NDdceGFhXHhhMVx4YmRceDQwXHg0Nlx4MzFceGY5XHhm MFx4MzQiCi0rIlx4YjZceDA0XHhlMVx4MmJceDViXHg3M1x4ODZceGRkXHgzYVx4OTJceDFiXHg3 MVx4YzdceDNmXHgzMiIKLSsiXHhlNVx4YzNceGMyXHhhYlx4YTFceDdlXHhiZlx4YTRceDUyXHhh MFx4YjBceDY4XHg5MFx4ZDFceDIwIgotKyJceDEyXHg3OVx4ZTlceGQ3XHhjOVx4NDBceGJhXHhm Mlx4MTlceGM3XHhhNVx4MDBceDkyXHg4Nlx4MGQiCi0rIlx4MDEiOwotIAotICAgICBzdGF0aWMg Y29uc3QgdW5zaWduZWQgY2hhciBwW10gPQotLSJceDAwXHhFRVx4Q0ZceEFFXHg4MVx4QjFceEI5 XHhCM1x4QzlceDA4XHg4MVx4MEJceDEwXHhBMVx4QjVceDYwIgotLSJceDAxXHg5OVx4RUJceDlG XHg0NFx4QUVceEY0XHhGRFx4QTRceDkzXHhCOFx4MUFceDlFXHgzRFx4ODRceEY2IgotLSJceDMy XHgxMlx4NEVceEYwXHgyM1x4NkVceDVEXHgxRVx4M0JceDdFXHgyOFx4RkFceEU3XHhBQVx4MDRc eDBBIgotLSJceDJEXHg1Qlx4MjVceDIxXHg3Nlx4NDVceDlEXHgxRlx4MzlceDc1XHg0MVx4QkFc eDJBXHg1OFx4RkJceDY1IgotLSJceDk5IjsKLSsiXHgwMFx4ZmNceDVjXHg2ZVx4MTZceGNlXHgx Zlx4MDNceDdiXHhjZFx4ZjdceGIzXHg3Mlx4YjJceDhmIgotKyJceDE2XHg3Mlx4YjhceDU2XHhh ZVx4ZjdceGNkXHg2N1x4ZDhceDRlXHg3ZFx4MDdceGFmXHhkNVx4NDMiCi0rIlx4MjZceGMzXHgz NVx4YmVceDQzXHg4Zlx4NGVceDJmXHgxY1x4NDNceDRlXHg2Ylx4ZDJceGIyXHhlYyIKLSsiXHg1 Mlx4NmRceDk3XHg1Mlx4MmJceGNjXHg1Y1x4M2FceDZiXHhmNFx4MTRceGM2XHg3NFx4ZGFceDY2 IgotKyJceDM4XHgxY1x4N2FceDNmXHg4NFx4MmZceGUzXHhmOVx4NWFceGI4XHg2NVx4NjlceDQ2 XHgwNlx4YTMiCi0rIlx4MzdceDc5XHhiMlx4YTFceDViXHg1OFx4ZWRceDVlXHhhN1x4NWZceDhj XHg2NVx4NjZceGJiXHhkMSIKLSsiXHgyNFx4MzZceGU2XHgzN1x4YTdceDNkXHg0OVx4NzdceDhh XHg4Y1x4MzRceGQ4XHg2OVx4MjlceGYzIgotKyJceDRkXHg1OFx4MjJceGIwXHg1MVx4MjRceGI2 XHg0MFx4YThceDg2XHg1OVx4MGFceGI3XHhiYVx4NWMiCi0rIlx4OTdceGRhXHg1N1x4ZThceDM2 XHhkYVx4N2FceDljXHhhZCI7Ci0gCi0gICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHFb XSA9Ci0tIlx4MDBceEM5XHg3Rlx4QjFceEYwXHgyN1x4RjRceDUzXHhGNlx4MzRceDEyXHgzM1x4 RUFceEFBXHhEMVx4RDkiCi0tIlx4MzVceDNGXHg2Q1x4NDJceEQwXHg4OFx4NjZceEIxXHhEMFx4 NUFceDBGXHgyMFx4MzVceDAyXHg4Qlx4OUQiCi0tIlx4ODZceDk4XHg0MFx4QjRceDE2XHg2Nlx4 QjRceDJFXHg5Mlx4RUFceDBEXHhBM1x4QjRceDMyXHgwNFx4QjUiCi0tIlx4Q0ZceENFXHgzM1x4 NTJceDUyXHg0RFx4MDRceDE2XHhBNVx4QTRceDQxXHhFN1x4MDBceEFGXHg0Nlx4MTUiCi0tIlx4 MDMiOwotKyJceDAwXHhjY1x4YmVceDdiXHgwOVx4NjlceDA2XHhlZVx4NDVceGJmXHg4OFx4NDdc eDM4XHhhOFx4ZjgiCi0rIlx4MTdceGU1XHhiNlx4YmFceDY3XHg1NVx4ZTNceGU4XHgwNVx4OGJc eGI4XHhlMlx4NTNceGQ2XHg4ZSIKLSsiXHhlZlx4MmNceGU3XHg0Zlx4NGFceGY3XHg0ZVx4MjZc eDhkXHg4NVx4MGJceDNmXHhlY1x4YzNceDFjIgotKyJceGQ0XHhlYlx4ZWNceDZhXHhjOFx4NzJc eDJhXHgyNVx4N2RceGZkXHhhNlx4NzdceDk2XHhmMFx4MWUiCi0rIlx4Y2RceDI4XHg1N1x4Zjhc eDM3XHgzMFx4NzVceDZiXHhiZFx4ZDRceDdiXHgwY1x4ODdceGM1XHg2YyIKLSsiXHg4N1x4NDBc eGE1XHhiYlx4MjdceDJjXHg3OFx4YzlceDc0XHg1YVx4NTRceDViXHgwYlx4MzBceDZmIgotKyJc eDQ0XHg0YVx4ZmFceDcxXHhlNFx4MjFceDYxXHg2Nlx4ZjlceGVlXHg2NVx4ZGVceDdjXHgwNFx4 ZDciCi0rIlx4ZmRceGE5XHgxNVx4NWJceDdmXHhlMlx4N2FceGJhXHg2OVx4ODZceDcyXHhhNlx4 MDZceDhkXHg5YiIKLSsiXHg5MFx4NTVceDYwXHg5ZVx4NGNceDVkXHhhOVx4YjZceDU1IjsKLSsK LSAKLSAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZG1wMVtdID0KLS0iXHg1NFx4NDlc eDRDXHhBNlx4M0VceEJBXHgwM1x4MzdceEU0XHhFMlx4NDBceDIzXHhGQ1x4RDZceDlBXHg1QSIK LS0iXHhFQlx4MDdceEREXHhEQ1x4MDFceDgzXHhBNFx4RDBceEFDXHg5Qlx4NTRceEIwXHg1MVx4 RjJceEIxXHgzRSIKLS0iXHhEOVx4NDlceDA5XHg3NVx4RUFceEI3XHg3NFx4MTRceEZGXHg1OVx4 QzFceEY3XHg2OVx4MkVceDlBXHgyRSIKLS0iXHgyMFx4MkJceDM4XHhGQ1x4OTFceDBBXHg0N1x4 NDFceDc0XHhBRFx4QzlceDNDXHgxRlx4NjdceEM5XHg4MSI7Ci0rIlx4N2FceGQ2XHgxMlx4ZDBc eDBlXHhlY1x4OTFceGE5XHg4NVx4OGJceGY4XHg1MFx4ZjBceDExXHgyZSIKLSsiXHgwMFx4MTFc eDMyXHg0MFx4NjBceDY2XHgxZlx4MTFceGVlXHhjMlx4NzVceDI3XHg2NVx4NGJceDE2IgotKyJc eDY3XHgxNlx4OTVceGQyXHgxNFx4YzNceDFkXHhiM1x4NDhceDFmXHhiN1x4ZTRceDBiXHgyYlx4 NzQiCi0rIlx4YzNceGRiXHg1MFx4MjdceGY5XHg4NVx4M2FceGZhXHhhOVx4MDhceDIzXHhjMVx4 NjVceDNkXHgzNCIKLSsiXHgzYVx4YzhceDU2XHg3YVx4NjVceDQ1XHgzNlx4NmVceGFlXHgyYVx4 Y2VceDlmXHg0M1x4NDNceGQ3IgotKyJceDEwXHhlOVx4OWVceDE4XHhmNFx4YTRceDM1XHhkYVx4 OGFceDZiXHhiMFx4M2ZceGRkXHg1M1x4ZTMiCi0rIlx4YThceGM1XHg0ZVx4NzlceDlkXHgxZlx4 NTFceDhjXHhhMlx4Y2FceDY2XHgzY1x4NmFceDJhXHhmZiIKLSsiXHg4ZVx4ZDJceGYzXHhiN1x4 Y2JceDgyXHhkYVx4ZGVceDJjXHhlNlx4ZDJceDhjXHhiM1x4YWRceGI2IgotKyJceDRjXHg5NVx4 NTVceDc2XHhiZFx4YzlceGM4XHhkMSI7Ci0rCi0gCi0gICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l ZCBjaGFyIGRtcTFbXSA9Ci0tIlx4NDdceDFFXHgwMlx4OTBceEZGXHgwQVx4RjBceDc1XHgwM1x4 NTFceEI3XHhGOFx4NzhceDg2XHg0Q1x4QTkiCi0tIlx4NjFceEFEXHhCRFx4M0FceDhBXHg3RVx4 OTlceDFDXHg1Q1x4MDVceDU2XHhBOVx4NENceDMxXHg0Nlx4QTciCi0tIlx4RjlceDgwXHgzRlx4 OEZceDZGXHg4QVx4RTNceDQyXHhFOVx4MzFceEZEXHg4QVx4RTRceDdBXHgyMlx4MEQiCi0tIlx4 MUJceDk5XHhBNFx4OTVceDg0XHg5OFx4MDdceEZFXHgzOVx4RjlceDI0XHg1QVx4OThceDM2XHhE QVx4M0QiOwotLSAgICAKLSsiXHgwMFx4ODNceDIzXHgxZFx4YmJceDExXHg0Mlx4MTdceDJiXHgy NVx4NWFceDJjXHgwM1x4ZTZceDc1IgotKyJceGMxXHgxOFx4YThceGM5XHgwYlx4OTZceGJmXHhi YVx4YzRceDkyXHg5MVx4ODBceGE1XHgyMlx4MmYiCi0rIlx4YmFceDkxXHg5MFx4MzZceDAxXHg1 Nlx4MTVceDAwXHgyY1x4NzRceGEyXHg5N1x4ZjdceDE1XHhhMSIKLSsiXHg0OVx4ZGZceDMyXHgz NVx4ZDJceGRkXHgwY1x4OTFceGE2XHhmOFx4ZTdceGJlXHg4MVx4MzZceDliIgotKyJceDAzXHhk Y1x4NmJceDNiXHhkOFx4NWRceDc5XHg1N1x4ZTBceGU2XHg0Zlx4NDlceGRmXHg0Y1x4NWMiCi0r Ilx4MGVceGU1XHgyMVx4NDFceDk1XHhmZFx4YWRceGZmXHg5YVx4M2VceGEwXHhmOVx4MGZceDU5 XHg5ZSIKLSsiXHg2YVx4YTdceDdiXHg3MVx4YTdceDI0XHg5YVx4MzZceDUyXHhhZVx4OTdceDIw XHhjMVx4NWVceDc4IgotKyJceGQ5XHg0N1x4OGJceDFlXHg2N1x4ZjJceGFmXHg5OFx4ZTZceDJk XHhlZlx4MTBceGQ3XHhmMVx4YWIiCi0rIlx4NDlceGVlXHhlNVx4NGJceDdlXHhhZVx4MWZceDFk XHg2MSI7Ci0rCi0rCi0gICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGlxbXBbXSA9Ci0t Ilx4MDBceEIwXHg2Q1x4NEZceERBXHhCQlx4NjNceDAxXHgxOVx4OERceDI2XHg1Qlx4REJceEFF XHg5NFx4MjMiCi0tIlx4QjNceDgwXHhGMlx4NzFceEY3XHgzNFx4NTNceDg4XHg1MFx4OTNceDA3 XHg3Rlx4Q0RceDM5XHhFMlx4MTEiCi0tIlx4OUZceEM5XHg4Nlx4MzJceDE1XHg0Rlx4NThceDgz XHhCMVx4NjdceEE5XHg2N1x4QkZceDQwXHgyQlx4NEUiCi0tIlx4OUVceDJFXHgwRlx4OTZceDU2 XHhFNlx4OThceEVBXHgzNlx4NjZceEVEXHhGQlx4MjVceDc5XHg4MFx4MzkiCi0tIlx4RjciOwot KyJceDIzXHg5Nlx4YzFceDkxXHgxN1x4NWVceDBhXHg4M1x4ZDJceGRjXHg3Ylx4NjlceGIyXHg1 OVx4MWQiCi0rIlx4MzNceDU4XHg1Mlx4M2ZceDE4XHhjN1x4MDlceDUwXHgxY1x4YjlceGExXHhi Ylx4NGNceGEyXHgzOCIKLSsiXHg0MFx4NGNceDlhXHg4ZVx4ZmVceDljXHg5MFx4OTJceGQwXHg3 MVx4OWZceDg5XHg5OVx4NTBceDkxIgotKyJceDFmXHgzNFx4OGJceDc0XHg1M1x4MTFceDExXHg0 YVx4NzBceGUyXHhmN1x4MzBceGQ4XHg4Y1x4ODAiCi0rIlx4ZTFceGNjXHg5Zlx4ZjFceDYzXHgx N1x4MWFceDdkXHg2N1x4MjlceDRjXHhjYlx4NGVceDc0XHg3YiIKLSsiXHhlMFx4M2VceDllXHgy Zlx4ZjRceDY3XHg4Zlx4ZWNceGI5XHg1Y1x4MDBceDFlXHg3ZVx4YTJceDdiIgotKyJceDkyXHhj OVx4NmZceDRjXHhlNFx4MGVceGY5XHg0OFx4NjNceGNkXHg1MFx4MjJceDVkXHhiZlx4YjYiCi0r Ilx4OWRceDAxXHgzM1x4NmFceGY0XHg1MFx4YmVceDg2XHg5OFx4NGZceGNhXHgzZlx4M2FceGZh XHhjZiIKLSsiXHgwN1x4NDBceGM0XHhhYVx4YWRceGFlXHhiZVx4YmYiOwotIAotICAgICBrZXkt Pm4gPSBCTl9iaW4yYm4obiwgc2l6ZW9mKG4pLTEsIGtleS0+bik7Ci0gICAgIGlmIChjb3JydXB0 X3JzYSkKLS0JQk5fc2V0X2JpdChrZXktPm4sIDEwMjQpOwotKwlCTl9zZXRfYml0KGtleS0+biwg MjA0OCk7Ci0gICAgIGtleS0+ZSA9IEJOX2JpbjJibihlLCBzaXplb2YoZSktMSwga2V5LT5lKTsK LSAgICAga2V5LT5kID0gQk5fYmluMmJuKGQsIHNpemVvZihkKS0xLCBrZXktPmQpOwotICAgICBr ZXktPnAgPSBCTl9iaW4yYm4ocCwgc2l6ZW9mKHApLTEsIGtleS0+cCk7Ci1AQCAtMTQ1LDIwMSAr MTg5LDM5MSBAQCB2b2lkIEZJUFNfY29ycnVwdF9yc2EoKQotIHN0YXRpYyBjb25zdCB1bnNpZ25l ZCBjaGFyIGthdF90YnNbXSA9ICJPcGVuU1NMIEZJUFMgMTQwLTIgUHVibGljIEtleSBSU0EgS0FU IjsKLSAKLSBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1BTU19TSEExW10gPSB7 Ci0tICAweDJELCAweEFGLCAweDZFLCAweEMyLCAweDk4LCAweEZCLCAweDhBLCAweEExLCAweEI5 LCAweDQ2LCAweERBLCAweDBGLAotLSAgMHgwMSwgMHgxRSwgMHgzNywgMHg5MywgMHhDMiwgMHg1 NSwgMHgyNywgMHhFNCwgMHgxRCwgMHhEMiwgMHg5MCwgMHhCQiwKLS0gIDB4RjQsIDB4QkYsIDB4 NEEsIDB4NzQsIDB4MzksIDB4NTEsIDB4QkIsIDB4RTgsIDB4MEMsIDB4QjcsIDB4RjgsIDB4RDMs Ci0tICAweEQxLCAweERGLCAweEU3LCAweEJFLCAweDgwLCAweDA1LCAweEMzLCAweEI1LCAweEM3 LCAweDgzLCAweEQ1LCAweDRDLAotLSAgMHg3RiwgMHg0OSwgMHhGQiwgMHgzRiwgMHgyOSwgMHg5 QiwgMHhFMSwgMHgxMiwgMHg1MSwgMHg2MCwgMHhEMCwgMHhBNywKLS0gIDB4MEQsIDB4QTksIDB4 MjgsIDB4NTYsIDB4NzMsIDB4RDksIDB4MDcsIDB4RTMsIDB4NUUsIDB4M0YsIDB4OUIsIDB4RjUs Ci0tICAweEI2LCAweEYzLCAweEYyLCAweDVFLCAweDc0LCAweEM5LCAweDgzLCAweDgxLCAweDQ3 LCAweEYwLCAweEM1LCAweDQ1LAotLSAgMHgwQSwgMHhFOSwgMHg4RSwgMHgzOCwgMHhENywgMHgx OCwgMHhDNiwgMHgyQSwgMHgwRiwgMHhGOCwgMHhCNywgMHgzMSwKLS0gIDB4RDYsIDB4NTUsIDB4 RTQsIDB4NjYsIDB4NzgsIDB4ODEsIDB4RDQsIDB4RTYsIDB4REIsIDB4OUYsIDB4QkEsIDB4RTgs Ci0tICAweDIzLCAweEI1LCAweDdGLCAweERDLCAweDA4LCAweEVBLCAweEQ1LCAweDI2LCAweDFF LCAweDIwLCAweDI1LCAweDg0LAotLSAgMHgyNiwgMHhDNiwgMHg3OSwgMHhDOSwgMHg5QiwgMHgz RCwgMHg3RSwgMHhBOQotKyAweEMyLCAweDgwLCAweDgyLCAweDU2LCAweEQ4LCAweEE3LCAweEIy LCAweDlDLCAweEY1LCAweEQ2LCAweDNDLCAweEUzLAotKyAweEJGLCAweEU5LCAweDNBLCAweDUz LCAweDQwLCAweEFFLCAweEYyLCAweEE5LCAweDZBLCAweDM5LCAweDQ5LCAweDVCLAotKyAweDA1 LCAweDdGLCAweDY3LCAweDM4LCAweDJFLCAweDFELCAweEUxLCAweDkzLCAweDIyLCAweDY1LCAw eDc5LCAweDg0LAotKyAweDY4LCAweEZBLCAweEQ4LCAweEFGLCAweEExLCAweDk4LCAweDYxLCAw eDZGLCAweDQ0LCAweDI3LCAweEE2LCAweDhCLAotKyAweENGLCAweDBFLCAweDEzLCAweEE5LCAw eENFLCAweEQ3LCAweDZDLCAweEQyLCAweDM4LCAweEI1LCAweDE2LCAweEI5LAotKyAweDY2LCAw eDk0LCAweDQ4LCAweERFLCAweDlFLCAweDE5LCAweDNELCAweDZGLCAweEIzLCAweEExLCAweDlB LCAweDE5LAotKyAweERGLCAweEZCLCAweEFCLCAweEE1LCAweDlGLCAweDM4LCAweERBLCAweEM5 LCAweDIxLCAweDhGLCAweENFLCAweDk4LAotKyAweDAxLCAweDNBLCAweEM4LCAweEUwLCAweERG LCAweERBLCAweEZDLCAweEYwLCAweEE2LCAweDg2LCAweDI5LCAweEI1LAotKyAweDdGLCAweDYx LCAweEZCLCAweEJBLCAweEM1LCAweDQ5LCAweEIyLCAweDdDLCAweDZBLCAweDI2LCAweDgyLCAw eEM0LAotKyAweDhGLCAweEFBLCAweDVCLCAweDEwLCAweEQ1LCAweEVFLCAweEEwLCAweDU1LCAw eDQyLCAweEVGLCAweDMyLCAweDVBLAotKyAweDNGLCAweDU1LCAweEIzLCAweDJDLCAweDIyLCAw eEU5LCAweDY1LCAweERBLCAweDhELCAweDBBLCAweEI5LCAweDcwLAotKyAweDQzLCAweENDLCAw eDNGLCAweDY0LCAweDlDLCAweEI1LCAweDY1LCAweDQ5LCAweEJELCAweDdGLCAweDM1LCAweEMx LAotKyAweDIwLCAweDg1LCAweDI0LCAweEZFLCAweEFBLCAweDZCLCAweDM3LCAweDA0LCAweEEx LCAweDBFLCAweDlELCAweDVDLAotKyAweEJBLCAweDdGLCAweDE0LCAweDY5LCAweEM1LCAweDkz LCAweEIyLCAweDMzLCAweEMyLCAweEMwLCAweEM3LCAweERGLAotKyAweDdFLCAweDlFLCAweEE0 LCAweEIwLCAweEEwLCAweDY0LCAweEQyLCAweEFDLCAweEZDLCAweEZELCAweEZELCAweDk5LAot KyAweDhGLCAweDZBLCAweDQwLCAweDI2LCAweEMxLCAweDJFLCAweDRFLCAweDhCLCAweDMzLCAw eEJFLCAweEYxLCAweDQ1LAotKyAweDU5LCAweDhGLCAweDMzLCAweDQwLCAweDFELCAweDJBLCAw eEQyLCAweEY3LCAweDUwLCAweDgzLCAweDg5LCAweENGLAotKyAweDk0LCAweEM2LCAweEY4LCAw eDM2LCAweEYwLCAweDg0LCAweDBCLCAweDg1LCAweEE1LCAweDAyLCAweEE5LCAweDBGLAotKyAw eDQxLCAweDdBLCAweDc3LCAweEEzLCAweDJGLCAweDQ3LCAweDFFLCAweDFELCAweEVDLCAweEU2 LCAweEQzLCAweDAxLAotKyAweDFFLCAweDZGLCAweDdBLCAweDk2LCAweDUwLCAweDM3LCAweDM3 LCAweDRCLCAweDI3LCAweDUyLCAweDBCLCAweERDLAotKyAweERCLCAweEM3LCAweEE5LCAweDMx LCAweEIyLCAweDQwLCAweEVFLCAweDYwLCAweDQxLCAweDI2LCAweDZBLCAweDA1LAotKyAweENF LCAweDA4LCAweDFELCAweDg5Ci0gfTsKLSAKLSBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBr YXRfUlNBX1BTU19TSEEyMjRbXSA9IHsKLS0gIDB4MzksIDB4NEEsIDB4NkEsIDB4MjAsIDB4QkMs IDB4RTksIDB4MzMsIDB4RUQsIDB4RUYsIDB4QzUsIDB4NTgsIDB4QTcsCi0tICAweEZFLCAweDgx LCAweEM0LCAweDM2LCAweDUwLCAweDlBLCAweDJDLCAweDgyLCAweDk4LCAweDA4LCAweDk1LCAw eEZBLAotLSAgMHhCMSwgMHg5RSwgMHhEMiwgMHg1NSwgMHg2MSwgMHg4NywgMHgyMSwgMHg1OSwg MHg4NywgMHg3QiwgMHgxRiwgMHg1NywKLS0gIDB4MzAsIDB4OUQsIDB4MEQsIDB4NEEsIDB4MDYs IDB4RUIsIDB4NTIsIDB4MzcsIDB4NTUsIDB4NTQsIDB4MUMsIDB4ODksCi0tICAweDgzLCAweDc1 LCAweDU5LCAweDY1LCAweDY0LCAweDkwLCAweDJFLCAweDE2LCAweENDLCAweDg2LCAweDA1LCAw eEVFLAotLSAgMHhCMSwgMHhFNiwgMHg3QiwgMHhCQSwgMHgxNiwgMHg3NSwgMHgwRCwgMHgwQywg MHg2NCwgMHgwQiwgMHhBQiwgMHgyMiwKLS0gIDB4MTUsIDB4NzgsIDB4NkIsIDB4NkYsIDB4QTQs IDB4RkIsIDB4NzcsIDB4NDAsIDB4NjQsIDB4NjIsIDB4RDEsIDB4QjUsCi0tICAweDM3LCAweDFF LCAweEUwLCAweDNELCAweEE4LCAweEY5LCAweEQyLCAweEJELCAweEFBLCAweDM4LCAweDI0LCAw eDQ5LAotLSAgMHg1OCwgMHhEMiwgMHg3NCwgMHg4NSwgMHhGNCwgMHhCNSwgMHg5MywgMHg4RSwg MHhGNSwgMHgwMywgMHhFQSwgMHgyRCwKLS0gIDB4QzgsIDB4NTIsIDB4RkEsIDB4Q0YsIDB4N0Us IDB4MzUsIDB4QjAsIDB4NkEsIDB4QUYsIDB4OTUsIDB4QzAsIDB4MDAsCi0tICAweDU0LCAweDc2 LCAweDNELCAweDBDLCAweDlDLCAweEIyLCAweEVFLCAweEMwCi0rIDB4QjQsIDB4MDEsIDB4OTMs IDB4MTYsIDB4MDUsIDB4RjYsIDB4RUIsIDB4RTIsIDB4QTQsIDB4RUIsIDB4NDgsIDB4QUEsCi0r IDB4MDAsIDB4RjQsIDB4QTEsIDB4OTksIDB4MEEsIDB4QjQsIDB4QjYsIDB4NjMsIDB4RTksIDB4 NjgsIDB4Q0EsIDB4QjMsCi0rIDB4MTMsIDB4RDcsIDB4NjYsIDB4NkEsIDB4Q0QsIDB4Q0IsIDB4 MzMsIDB4OUYsIDB4RTUsIDB4ODQsIDB4RTIsIDB4QzMsCi0rIDB4MEIsIDB4NTMsIDB4RTUsIDB4 OEIsIDB4OTYsIDB4NEIsIDB4REIsIDB4MkQsIDB4ODAsIDB4QTQsIDB4MUQsIDB4RTMsCi0rIDB4 ODEsIDB4REMsIDB4NTIsIDB4OTksIDB4QkEsIDB4OUIsIDB4NkEsIDB4OUQsIDB4NDgsIDB4MUYs IDB4NzMsIDB4RjcsCi0rIDB4QUMsIDB4MDksIDB4MTMsIDB4QTEsIDB4MTYsIDB4MkMsIDB4NjAs IDB4RkIsIDB4QkMsIDB4MjUsIDB4RjcsIDB4NTMsCi0rIDB4RDEsIDB4MDQsIDB4NUEsIDB4M0Ys IDB4OTUsIDB4MDksIDB4NUUsIDB4RTUsIDB4QTIsIDB4N0QsIDB4RkMsIDB4MkEsCi0rIDB4NTEs IDB4MUQsIDB4MjEsIDB4Q0UsIDB4MkIsIDB4NEUsIDB4MUIsIDB4QjgsIDB4Q0IsIDB4REQsIDB4 MjQsIDB4RUUsCi0rIDB4OTksIDB4MUQsIDB4MzcsIDB4REMsIDB4RUQsIDB4NUYsIDB4MkYsIDB4 NDgsIDB4NUUsIDB4MzMsIDB4OTQsIDB4MDYsCi0rIDB4MTksIDB4Q0QsIDB4NUEsIDB4MjYsIDB4 ODUsIDB4NzcsIDB4OUQsIDB4QUYsIDB4ODYsIDB4OTcsIDB4QzksIDB4MDgsCi0rIDB4RDUsIDB4 ODEsIDB4MEUsIDB4QjgsIDB4OUYsIDB4QjYsIDB4QUYsIDB4MjAsIDB4NzIsIDB4REMsIDB4MTMs IDB4NEQsCi0rIDB4N0EsIDB4RTQsIDB4NUMsIDB4ODEsIDB4REUsIDB4QzAsIDB4M0QsIDB4MTks IDB4OUMsIDB4MzMsIDB4MTEsIDB4MDcsCi0rIDB4RDUsIDB4QTksIDB4NTEsIDB4NjcsIDB4Q0Qs IDB4RkQsIDB4MzcsIDB4NjEsIDB4MTQsIDB4OUYsIDB4RTcsIDB4NzAsCi0rIDB4MTgsIDB4MzIs IDB4QzMsIDB4MzQsIDB4NTQsIDB4MEQsIDB4NEYsIDB4QjQsIDB4QUUsIDB4OUYsIDB4RUMsIDB4 NjQsCi0rIDB4RDgsIDB4QjIsIDB4MTYsIDB4QTQsIDB4QjIsIDB4OTksIDB4OTIsIDB4Q0IsIDB4 N0YsIDB4MUYsIDB4MDYsIDB4MTcsCi0rIDB4NUYsIDB4QTEsIDB4MDcsIDB4NjgsIDB4QUUsIDB4 QTcsIDB4MkQsIDB4MDMsIDB4OTEsIDB4MkEsIDB4OUQsIDB4NjksCi0rIDB4QzIsIDB4OUQsIDB4 OTAsIDB4RjcsIDB4RjksIDB4NjYsIDB4NUQsIDB4MTMsIDB4QjcsIDB4N0YsIDB4RDMsIDB4OTcs Ci0rIDB4NDUsIDB4OTcsIDB4NDMsIDB4RDgsIDB4Q0UsIDB4M0MsIDB4RjIsIDB4OTgsIDB4OTgs IDB4REQsIDB4RTIsIDB4MkQsCi0rIDB4Q0YsIDB4QTEsIDB4QzQsIDB4MjUsIDB4NDYsIDB4MkUs IDB4RDIsIDB4RTUsIDB4NUYsIDB4QzYsIDB4MDEsIDB4QzUsCi0rIDB4NEYsIDB4NDIsIDB4MkIs IDB4REUsIDB4MEYsIDB4RUEsIDB4NEEsIDB4NEYsIDB4QzMsIDB4NUIsIDB4REYsIDB4OUIsCi0r IDB4NUQsIDB4MzAsIDB4MTgsIDB4OTMsIDB4RDAsIDB4REUsIDB4QzUsIDB4MDksIDB4QUEsIDB4 NTcsIDB4NTcsIDB4QkQsCi0rIDB4MkQsIDB4ODQsIDB4MDMsIDB4QjcKLSB9OwotIAotIHN0YXRp YyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfUFNTX1NIQTI1NltdID0gewotLSAgMHg2RCwg MHgzRCwgMHhCRSwgMHg4RiwgMHg2MCwgMHg2RCwgMHgyNSwgMHgxNCwgMHhGMCwgMHgzMSwgMHhF MywgMHg4OSwKLS0gIDB4MDAsIDB4OTcsIDB4RkEsIDB4OTksIDB4NzEsIDB4MjgsIDB4RTUsIDB4 MTAsIDB4MjUsIDB4OUEsIDB4RjMsIDB4OEYsCi0tICAweDdCLCAweEM1LCAweEE4LCAweDRBLCAw eDc0LCAweDUxLCAweDM2LCAweEUyLCAweDhELCAweDdELCAweDczLCAweDI4LAotLSAgMHhDMSwg MHg3NywgMHhDNiwgMHgyNywgMHg5NywgMHgwMCwgMHg4QiwgMHgwMCwgMHhBMywgMHg5NiwgMHg3 MywgMHg0RSwKLS0gIDB4N0QsIDB4MkUsIDB4MkMsIDB4MzQsIDB4NjgsIDB4OEMsIDB4OEUsIDB4 REYsIDB4OUQsIDB4NDksIDB4NDcsIDB4MDUsCi0tICAweEFCLCAweEY1LCAweDAxLCAweEQ2LCAw eDgxLCAweDQ3LCAweDcwLCAweEY1LCAweDFELCAweDZELCAweDI2LCAweEJBLAotLSAgMHgyRiwg MHg3QSwgMHg1NCwgMHg1MywgMHg0RSwgMHhFRCwgMHg3MSwgMHhEOSwgMHg1QSwgMHhGMywgMHhE QSwgMHhCNiwKLS0gIDB4MEIsIDB4NDcsIDB4MzQsIDB4QUYsIDB4OTAsIDB4REMsIDB4QzgsIDB4 RDksIDB4NkYsIDB4NTYsIDB4Q0QsIDB4OUYsCi0tICAweDIxLCAweEI3LCAweDdFLCAweEFELCAw eDdDLCAweDJGLCAweDc1LCAweDUwLCAweDQ3LCAweDEyLCAweEU0LCAweDZELAotLSAgMHg1Riwg MHhCNywgMHgwMSwgMHhERiwgMHhDMywgMHgxMSwgMHg2QywgMHhBOSwgMHg5RSwgMHg0OSwgMHhC OSwgMHhGNiwKLS0gIDB4NzIsIDB4RjQsIDB4RjYsIDB4RUYsIDB4ODgsIDB4MUUsIDB4MkQsIDB4 MUMKLSsgMHgzOCwgMHhEQSwgMHg5OSwgMHg1MSwgMHgyNiwgMHgzOCwgMHhDNiwgMHg3RiwgMHhD NCwgMHg4MSwgMHg1NywgMHgxOSwKLSsgMHgzNSwgMHhDNiwgMHhGNiwgMHgxRSwgMHg5MCwgMHg0 NywgMHgyMCwgMHg1NSwgMHg0NywgMHg1NiwgMHgyNiwgMHhFOSwKLSsgMHhGMiwgMHhBOCwgMHgz OSwgMHg2QywgMHhENSwgMHhDRCwgMHhDQiwgMHg1NSwgMHhGQywgMHgwQywgMHhDNSwgMHhDQiwK LSsgMHhGNywgMHg0MCwgMHgxNywgMHgzQiwgMHhDRiwgMHhFNCwgMHgwNSwgMHgwMywgMHgzQiwg MHhBMCwgMHhCMiwgMHhDOSwKLSsgMHgwRCwgMHg1RSwgMHg0OCwgMHgzQSwgMHhFOSwgMHhBRCwg MHgyOCwgMHg3MSwgMHg3RCwgMHg4RiwgMHg4OSwgMHgxNiwKLSsgMHg1OSwgMHg5MywgMHgzNSwg MHhEQywgMHg0RCwgMHg3QiwgMHhERiwgMHg4NCwgMHhFNCwgMHg2OCwgMHhBQSwgMHgzMywKLSsg MHhBQSwgMHhEQywgMHg2NiwgMHg1MCwgMHhDOCwgMHhBOSwgMHgzMiwgMHgxMiwgMHhEQywgMHhD NiwgMHg5MCwgMHg0OSwKLSsgMHgwQiwgMHg3NSwgMHhGRiwgMHg5QiwgMHg5NSwgMHgwMCwgMHg5 QSwgMHg5MCwgMHhFMCwgMHhENCwgMHgwRSwgMHg2NywKLSsgMHhBQiwgMHgzQywgMHg0NywgMHgz NiwgMHhDNSwgMHgyRSwgMHgxQywgMHg0NiwgMHhGMCwgMHgyRCwgMHhEMywgMHg4QiwKLSsgMHg0 MiwgMHgwOCwgMHhERSwgMHgwRCwgMHhCNiwgMHgyQywgMHg4NiwgMHhCMCwgMHgzNSwgMHg3MSwg MHgxOCwgMHg2QiwKLSsgMHg4OSwgMHg2NywgMHhDMCwgMHgwNSwgMHhBRCwgMHhGNCwgMHgxRCwg MHg2MiwgMHg0RSwgMHg3NSwgMHhFQywgMHhENiwKLSsgMHhDMiwgMHhEQiwgMHgwNywgMHhCMCwg MHhCNiwgMHg4RCwgMHgxNSwgMHhBRCwgMHhDRCwgMHhCRiwgMHhGNSwgMHg2MCwKLSsgMHg3Niwg MHhBRSwgMHg0OCwgMHhCOCwgMHg3NywgMHg3RiwgMHhDNSwgMHgwMSwgMHhEOSwgMHgyOSwgMHhC QiwgMHhENiwKLSsgMHgxNywgMHhBMiwgMHgyMCwgMHg1QSwgMHhDMCwgMHg0QSwgMHgzQiwgMHgz NCwgMHhDOCwgMHhCOSwgMHgzOSwgMHhDRiwKLSsgMHgwNiwgMHg4OSwgMHg5NSwgMHg2RiwgMHhD NywgMHhDQSwgMHhDNCwgMHhFNCwgMHg0MywgMHhERiwgMHg1QSwgMHgyMywKLSsgMHhFMiwgMHg4 OSwgMHhBMywgMHgzOCwgMHg3OCwgMHgzMSwgMHgzOCwgMHhDNiwgMHhBNCwgMHg2RiwgMHg1Riwg MHg3MywKLSsgMHg1QSwgMHhFNSwgMHg5RSwgMHgwOSwgMHhFNywgMHg2RiwgMHhENCwgMHhGOCwg MHgzRSwgMHhCNywgMHhCMCwgMHg1NiwKLSsgMHg5QSwgMHhGMywgMHg2NSwgMHhGMCwgMHhDMiwg MHhBNiwgMHg4QSwgMHgwOCwgMHhCQSwgMHg0NCwgMHhBQywgMHg5NywKLSsgMHhERSwgMHhCNCwg MHgxNiwgMHg4MywgMHhERiwgMHhFMywgMHhFRSwgMHg3MSwgMHhGQSwgMHhGOSwgMHg1MSwgMHg1 MCwKLSsgMHgxNCwgMHhEQywgMHhGRCwgMHg2QSwgMHg4MiwgMHgyMCwgMHg2OCwgMHg2NCwgMHg3 RCwgMHg0RSwgMHg4MiwgMHg2OCwKLSsgMHhENywgMHg0NSwgMHhGQSwgMHg2QSwgMHhFNCwgMHhF NSwgMHgyOSwgMHgzQSwgMHg3MCwgMHhGQiwgMHhFNCwgMHg2MiwKLSsgMHgyQiwgMHgzMSwgMHhC OSwgMHg3RAotIH07Ci0gCi0gc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0X1JTQV9QU1Nf U0hBMzg0W10gPSB7Ci0tICAweDQwLCAweEZCLCAweEExLCAweDIxLCAweEY0LCAweEIyLCAweDQw LCAweDlBLCAweEI0LCAweDMxLCAweEE4LCAweEYyLAotLSAgMHhFQywgMHgxQywgMHhDNCwgMHhD OCwgMHg3QywgMHgyMiwgMHg2NSwgMHg5QywgMHg1NywgMHg0NSwgMHhDRCwgMHg1RSwKLS0gIDB4 ODYsIDB4MDAsIDB4RjcsIDB4MjUsIDB4NzgsIDB4REUsIDB4REMsIDB4N0EsIDB4NzEsIDB4NDQs IDB4OUEsIDB4Q0QsCi0tICAweEFBLCAweDI1LCAweEY0LCAweEIyLCAweEZDLCAweEYwLCAweDc1 LCAweEQ5LCAweDJGLCAweDc4LCAweDIzLCAweDdGLAotLSAgMHg2RiwgMHgwMiwgMHhFRiwgMHhD MSwgMHhBRiwgMHhBNiwgMHgyOCwgMHgxNiwgMHgzMSwgMHhEQywgMHg0MiwgMHg2QywKLS0gIDB4 QjIsIDB4NDQsIDB4RTUsIDB4NEQsIDB4NjYsIDB4QTIsIDB4RTYsIDB4NzEsIDB4RjMsIDB4QUMs IDB4NEYsIDB4RkIsCi0tICAweDkxLCAweENBLCAweEY1LCAweDcwLCAweEVGLCAweDZCLCAweDlE LCAweEE0LCAweEVGLCAweEQ5LCAweDNELCAweDJGLAotLSAgMHgzQSwgMHhCRSwgMHg4OSwgMHgz OCwgMHg1OSwgMHgwMSwgMHhCQSwgMHhEQSwgMHgzMiwgMHhBRCwgMHg0MiwgMHg4OSwKLS0gIDB4 OTgsIDB4OEIsIDB4MzksIDB4NDQsIDB4RjAsIDB4RkMsIDB4MzgsIDB4QUMsIDB4ODcsIDB4MUYs IDB4Q0EsIDB4NkYsCi0tICAweDQ4LCAweEY2LCAweEFFLCAweEQ3LCAweDQ1LCAweEVFLCAweEFF LCAweDg4LCAweDBFLCAweDYwLCAweEY0LCAweDU1LAotLSAgMHg0OCwgMHg0NCwgMHhFRSwgMHgx RiwgMHg5MCwgMHgxOCwgMHg0QiwgMHhGMQotKyAweDk5LCAweDAyLCAweEM5LCAweDFFLCAweDMx LCAweDgyLCAweEI0LCAweEU2LCAweDFCLCAweDMyLCAweENFLCAweDVELAotKyAweDQxLCAweDFE LCAweDAwLCAweDJGLCAweDA0LCAweDhCLCAweEJELCAweDM3LCAweDc5LCAweENGLCAweDc3LCAw eDAzLAotKyAweDA1LCAweDZBLCAweDIxLCAweEM3LCAweDhELCAweDI0LCAweDYwLCAweDQ5LCAw eDM5LCAweDU4LCAweEM1LCAweDI3LAotKyAweDhGLCAweEM1LCAweDk3LCAweDRBLCAweEIyLCAw eEUxLCAweEQ0LCAweDM2LCAweDU3LCAweEJELCAweDQzLCAweENDLAotKyAweDdCLCAweENFLCAw eEYyLCAweEE1LCAweDMwLCAweEY4LCAweDcyLCAweDE0LCAweEJCLCAweEQwLCAweDlGLCAweEMx LAotKyAweDQ5LCAweEM4LCAweDFDLCAweEFGLCAweENELCAweDk1LCAweDc4LCAweDcyLCAweDI1 LCAweEY5LCAweDQ1LCAweEM2LAotKyAweDVCLCAweDYyLCAweDVFLCAweDAxLCAweEQ3LCAweDQw LCAweDVFLCAweEM4LCAweENBLCAweDBBLCAweEYzLCAweEJBLAotKyAweDA4LCAweDA3LCAweDg4 LCAweENBLCAweDQ5LCAweDM2LCAweDg0LCAweDdELCAweEY2LCAweEZDLCAweDVBLCAweERCLAot KyAweEZDLCAweDUwLCAweEQzLCAweEVCLCAweDNELCAweDgzLCAweEIwLCAweEY1LCAweDk0LCAw eDVFLCAweDg4LCAweEMzLAotKyAweDgyLCAweENELCAweDUzLCAweDQwLCAweDk2LCAweDE4LCAw eDZCLCAweDRBLCAweDZDLCAweDlDLCAweEZFLCAweEU1LAotKyAweDNCLCAweDc1LCAweEY5LCAw eEVCLCAweEE1LCAweDc3LCAweDExLCAweEVGLCAweDg4LCAweDFDLCAweDI1LCAweDcwLAotKyAw eDdELCAweDg4LCAweDVELCAweEMzLCAweENBLCAweEUxLCAweDQ5LCAweDE0LCAweDkwLCAweEFE LCAweEYyLCAweDVFLAotKyAweDQ5LCAweEQ3LCAweDk5LCAweEE1LCAweDdCLCAweDc3LCAweDNC LCAweDhFLCAweEI4LCAweERCLCAweEYxLCAweDRDLAotKyAweEQ2LCAweDlBLCAweERDLCAweEU1 LCAweDdBLCAweDFDLCAweEUxLCAweENFLCAweDlELCAweEYxLCAweEYzLCAweEEwLAotKyAweDBB LCAweDM1LCAweDUyLCAweDlELCAweEI5LCAweDQ2LCAweDk0LCAweDgyLCAweDBGLCAweEY3LCAw eEIyLCAweDYyLAotKyAweDUxLCAweDcwLCAweDc1LCAweEQyLCAweDM3LCAweDk2LCAweDY3LCAw eDJGLCAweEQwLCAweDIyLCAweEQ4LCAweDA3LAotKyAweDhELCAweDY5LCAweDlFLCAweDZELCAw eDBCLCAweDQwLCAweDRGLCAweDcwLCAweEVDLCAweDBCLCAweENBLCAweDg4LAotKyAweDgwLCAw eDhELCAweDlBLCAweEY0LCAweEY5LCAweDE4LCAweDUwLCAweDI3LCAweDA4LCAweEZBLCAweEND LCAweEM3LAotKyAweDNGLCAweEU0LCAweDg0LCAweDgzLCAweEExLCAweEI2LCAweDFELCAweDIz LCAweDM0LCAweEZFLCAweDQ4LCAweEU1LAotKyAweEUzLCAweEFFLCAweDRELCAweDk4LCAweEJD LCAweEE2LCAweDhBLCAweDlGLCAweEZELCAweDRELCAweERCLCAweDlELAotKyAweEY3LCAweEVC LCAweDRFLCAweEI2LCAweDZGLCAweDI1LCAweEVBLCAweDdBLCAweEU5LCAweDg1LCAweEIyLCAw eEVGLAotKyAweDkwLCAweEQyLCAweEE2LCAweDJCCi0gfTsKLSAKLSBzdGF0aWMgY29uc3QgdW5z aWduZWQgY2hhciBrYXRfUlNBX1BTU19TSEE1MTJbXSA9IHsKLS0gIDB4MDcsIDB4MUUsIDB4RDgs IDB4RDUsIDB4MDUsIDB4RTgsIDB4RTYsIDB4RTYsIDB4NTcsIDB4QUUsIDB4NjMsIDB4OEMsCi0t ICAweEM2LCAweDgzLCAweEI3LCAweEEwLCAweDU5LCAweEJCLCAweEYyLCAweEM2LCAweDhGLCAw eDEyLCAweDUzLCAweDlBLAotLSAgMHg5QiwgMHg1NCwgMHg5RSwgMHhCMywgMHhDMSwgMHgxRCwg MHgyMywgMHg0RCwgMHg1MSwgMHhFRCwgMHg5RSwgMHhERCwKLS0gIDB4NEIsIDB4RjMsIDB4NDYs IDB4OUIsIDB4NkIsIDB4RjYsIDB4N0MsIDB4MjQsIDB4NjAsIDB4NzksIDB4MjMsIDB4MzksCi0t ICAweDAxLCAweDFDLCAweDUxLCAweENCLCAweEQ4LCAweEU5LCAweDlBLCAweDAxLCAweDY3LCAw eDVGLCAweEZFLCAweEQ3LAotLSAgMHg3QywgMHhFMywgMHg3RiwgMHhFRCwgMHhEQiwgMHg4Nywg MHhCQiwgMHhGMCwgMHgzRCwgMHg3OCwgMHg1NSwgMHg2MSwKLS0gIDB4NTcsIDB4RTMsIDB4MEYs IDB4RTMsIDB4RDIsIDB4OUQsIDB4MEMsIDB4MkEsIDB4MjAsIDB4QjAsIDB4ODUsIDB4MTMsCi0t ICAweEM1LCAweDQ3LCAweDM0LCAweDBELCAweDMyLCAweDE1LCAweEM4LCAweEFFLCAweDlBLCAw eDZBLCAweDM5LCAweDYzLAotLSAgMHgyRCwgMHg2MCwgMHhGNSwgMHg0QywgMHhERiwgMHg4QSwg MHg0OCwgMHg0QiwgMHhCRiwgMHhGNCwgMHhBOCwgMHhGRSwKLS0gIDB4NzYsIDB4RjIsIDB4MzIs IDB4MUIsIDB4OUMsIDB4N0MsIDB4Q0EsIDB4RkUsIDB4N0YsIDB4ODAsIDB4QzIsIDB4ODgsCi0t ICAweDVDLCAweDk3LCAweDcwLCAweEI0LCAweDI2LCAweEM5LCAweDE0LCAweDhCCi0rIDB4M0Ys IDB4ODMsIDB4NDMsIDB4NzgsIDB4MjUsIDB4QkUsIDB4ODEsIDB4QjIsIDB4NkUsIDB4NzgsIDB4 MTEsIDB4MzIsCi0rIDB4RDAsIDB4ODgsIDB4MDUsIDB4NTMsIDB4OTUsIDB4RUQsIDB4ODEsIDB4 MTIsIDB4Q0UsIDB4NTAsIDB4RDksIDB4MDYsCi0rIDB4NDIsIDB4ODksIDB4QTAsIDB4NTUsIDB4 N0EsIDB4MDUsIDB4MTMsIDB4OTQsIDB4MzUsIDB4OUIsIDB4Q0EsIDB4NUQsCi0rIDB4Q0IsIDB4 QjIsIDB4MzIsIDB4RTEsIDB4MDQsIDB4OTksIDB4RUMsIDB4RTcsIDB4QTYsIDB4NjksIDB4NEQs IDB4MkIsCi0rIDB4QzEsIDB4NTcsIDB4MTMsIDB4NDgsIDB4MEQsIDB4NkIsIDB4NEQsIDB4ODMs IDB4MjgsIDB4MDYsIDB4NzksIDB4OUQsCi0rIDB4QjQsIDB4NzAsIDB4Q0UsIDB4QzAsIDB4RkMs IDB4M0IsIDB4NjksIDB4QjMsIDB4OTEsIDB4NTQsIDB4QTksIDB4NDQsCi0rIDB4MkUsIDB4REEs IDB4NEEsIDB4QzUsIDB4QzIsIDB4OTksIDB4RjAsIDB4REUsIDB4Q0EsIDB4NzcsIDB4OTksIDB4 NkIsCi0rIDB4MEMsIDB4NzksIDB4RTUsIDB4MjksIDB4NzQsIDB4ODMsIDB4NjksIDB4RUEsIDB4 QjgsIDB4NzIsIDB4MzAsIDB4M0QsCi0rIDB4N0EsIDB4MzAsIDB4RTEsIDB4MDMsIDB4N0IsIDB4 MDksIDB4RTYsIDB4MTEsIDB4QzAsIDB4REMsIDB4RkYsIDB4RkQsCi0rIDB4QkQsIDB4RUMsIDB4 OUMsIDB4Q0MsIDB4NDYsIDB4N0IsIDB4NEMsIDB4NEMsIDB4NTksIDB4QkUsIDB4ODIsIDB4N0Ms Ci0rIDB4RjUsIDB4NjAsIDB4NUEsIDB4QzMsIDB4RTgsIDB4QTgsIDB4OEEsIDB4MzgsIDB4OUUs IDB4MDEsIDB4NTcsIDB4RjEsCi0rIDB4NzksIDB4M0EsIDB4N0MsIDB4QTMsIDB4OUYsIDB4MTIs IDB4MUEsIDB4NEYsIDB4MkUsIDB4QTIsIDB4RTUsIDB4MEEsCi0rIDB4QUIsIDB4QzAsIDB4RjQs IDB4QTUsIDB4RTMsIDB4NUYsIDB4ODksIDB4MUMsIDB4OEYsIDB4QTQsIDB4NUUsIDB4Q0UsCi0r IDB4MEQsIDB4OTEsIDB4MDUsIDB4MUIsIDB4MTcsIDB4NjIsIDB4NDgsIDB4RkUsIDB4QTUsIDB4 NEMsIDB4RUYsIDB4MkQsCi0rIDB4MjgsIDB4RjEsIDB4NUUsIDB4RTYsIDB4RDEsIDB4MzAsIDB4 ODksIDB4MEEsIDB4QUQsIDB4MTgsIDB4QUYsIDB4NkYsCi0rIDB4MDQsIDB4MDksIDB4MzYsIDB4 OUEsIDB4RkYsIDB4Q0EsIDB4QTEsIDB4QTcsIDB4MDUsIDB4N0YsIDB4RDQsIDB4QkYsCi0rIDB4 M0EsIDB4QjUsIDB4NDIsIDB4NkQsIDB4RTksIDB4MDcsIDB4MjksIDB4NjUsIDB4OEIsIDB4QUQs IDB4NEQsIDB4MEYsCi0rIDB4MjIsIDB4RTEsIDB4NTksIDB4NDMsIDB4NjgsIDB4ODcsIDB4QTgs IDB4OEIsIDB4QkMsIDB4NjksIDB4QTEsIDB4OTQsCi0rIDB4MjIsIDB4M0UsIDB4OEEsIDB4NDks IDB4RTgsIDB4QTMsIDB4NkYsIDB4QzIsIDB4OTMsIDB4NTgsIDB4RTcsIDB4QUUsCi0rIDB4Qzks IDB4MUYsIDB4Q0YsIDB4NjEsIDB4OTMsIDB4RkMsIDB4QzEsIDB4RjYsIDB4RjMsIDB4MjcsIDB4 N0YsIDB4MEEsCi0rIDB4OTAsIDB4RTAsIDB4NjUsIDB4MzIsIDB4NTcsIDB4NDcsIDB4RTIsIDB4 RUQsIDB4MDgsIDB4NTksIDB4QTYsIDB4RjAsCi0rIDB4MTcsIDB4MkMsIDB4MTMsIDB4RTAKLSB9 OwotIAotIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfU0hBMVtdID0gewotLSAg MHg3MSwgMHhFRSwgMHgxQSwgMHhDMCwgMHhGRSwgMHgwMSwgMHg5MywgMHg1NCwgMHg3OSwgMHg1 QywgMHhGMiwgMHg0QywKLS0gIDB4NEEsIDB4RkQsIDB4MUEsIDB4MDUsIDB4OEYsIDB4NjQsIDB4 QjEsIDB4NkQsIDB4NjEsIDB4MzMsIDB4OEQsIDB4OUIsCi0tICAweEU3LCAweEZELCAweDYwLCAw eEEzLCAweDgzLCAweEI1LCAweEEzLCAweDUxLCAweDU1LCAweDc3LCAweDkwLCAweENGLAotLSAg MHhEQywgMHgyMiwgMHgzNywgMHg4RSwgMHhEMCwgMHhFMSwgMHhBRSwgMHgwOSwgMHhFMywgMHgz RCwgMHgxRSwgMHhGOCwKLS0gIDB4ODAsIDB4RDEsIDB4OEIsIDB4QzIsIDB4RUMsIDB4MEEsIDB4 RDcsIDB4NkIsIDB4ODgsIDB4OEIsIDB4OEIsIDB4QTEsCi0tICAweDIwLCAweDIyLCAweEJFLCAw eDU5LCAweDVCLCAweEUwLCAweDIzLCAweDI0LCAweEExLCAweDQ5LCAweDMwLCAweEJBLAotLSAg MHhBOSwgMHg5RSwgMHhFOCwgMHhCMSwgMHg4QSwgMHg2MiwgMHgxNiwgMHhCRiwgMHg0RSwgMHhD QSwgMHgyRSwgMHg0RSwKLS0gIDB4QkMsIDB4MjksIDB4QTgsIDB4NjcsIDB4MTMsIDB4QjcsIDB4 OUYsIDB4MUQsIDB4MDQsIDB4NDQsIDB4RTUsIDB4NUYsCi0tICAweDM1LCAweDA3LCAweDExLCAw eEJDLCAweEVELCAweDE5LCAweDM3LCAweDIxLCAweENGLCAweDIzLCAweDQ4LCAweDFGLAotLSAg MHg3MiwgMHgwNSwgMHhERSwgMHhFNiwgMHhFOCwgMHg3RiwgMHgzMywgMHg4QSwgMHg3NiwgMHg0 QiwgMHgyRiwgMHg5NSwKLS0gIDB4REYsIDB4RjEsIDB4NUYsIDB4ODQsIDB4ODAsIDB4RDksIDB4 NDYsIDB4QjQKLSsgMHgzQiwgMHg2MCwgMHg0QiwgMHhGQywgMHg1NCwgMHgyOCwgMHgyMywgMHhF NiwgMHgyRiwgMHgwNSwgMHgwNCwgMHhCQSwKLSsgMHg5RCwgMHhFNCwgMHgzQywgMHhCOCwgMHg1 QiwgMHg2MCwgMHg1QywgMHhDRCwgMHg5RCwgMHhFQSwgMHhDMywgMHg0QywKLSsgMHhDMiwgMHgz MywgMHhFNiwgMHhDNiwgMHgyMSwgMHg0OCwgMHg3NiwgMHhFQywgMHhCMiwgMHhGNSwgMHgxMSwg MHhERSwKLSsgMHg0NCwgMHhCNCwgMHhBRiwgMHgxNiwgMHgxMSwgMHhDMywgMHgxOCwgMHgxNiwg MHhCMywgMHg2OSwgMHhCQiwgMHg5NCwKLSsgMHhFRCwgMHhFOCwgMHhCMywgMHg5RSwgMHhCMSwg MHg0MywgMHg4RSwgMHhDRSwgMHhCNCwgMHgzNCwgMHg5QiwgMHgwOCwKLSsgMHgyMiwgMHhBRiwg MHgzMSwgMHg3MywgMHhCNSwgMHhGQSwgMHgxMSwgMHg3RSwgMHg4RiwgMHgxMywgMHg1MiwgMHhF QywKLSsgMHhDOSwgMHgwMywgMHhFRSwgMHgwRCwgMHgyQiwgMHg5MSwgMHgzMiwgMHhGMiwgMHg4 RSwgMHhERiwgMHgwMiwgMHhFMCwKLSsgMHgwQSwgMHg0NywgMHhEMiwgMHgwQSwgMHg1MSwgMHgw MCwgMHgxQSwgMHgzMCwgMHg2RiwgMHgwQywgMHhCMywgMHg1NCwKLSsgMHg2NCwgMHgyMCwgMHg5 MCwgMHgwQywgMHgwMSwgMHhCRSwgMHhDMCwgMHg0MiwgMHg4QywgMHg1RCwgMHgxOCwgMHg2RiwK LSsgMHgzMiwgMHg3NSwgMHg0NSwgMHg3QiwgMHgxQywgMHgwNCwgMHhBMiwgMHg5RiwgMHg4NCwg MHhENywgMHhGNSwgMHgzQSwKLSsgMHg5NSwgMHhENCwgMHhFOCwgMHg4RCwgMHhFQywgMHg5OSwg MHhFRiwgMHgxOCwgMHg1RSwgMHg2NCwgMHhEMywgMHhBRiwKLSsgMHhGOCwgMHhENCwgMHhGRiwg MHgzQywgMHg4NywgMHhBMCwgMHgzRiwgMHhDNywgMHgyMiwgMHgwNSwgMHhGRCwgMHhGRCwKLSsg MHgyOSwgMHg4QSwgMHgyOCwgMHhEQSwgMHhBOSwgMHg4QSwgMHg4QiwgMHgyMywgMHg2MiwgMHg5 RCwgMHg0MiwgMHhCOCwKLSsgMHg0QSwgMHg3NiwgMHgwRCwgMHg5RiwgMHg5QSwgMHhFMCwgMHhF NiwgMHhERCwgMHhBRCwgMHg1RSwgMHg1RiwgMHhENSwKLSsgMHgzMiwgMHhFOSwgMHg0QiwgMHg5 NywgMHg3RCwgMHg2MiwgMHgwQSwgMHhCMywgMHhCRSwgMHhGMiwgMHg4QywgMHgxRiwKLSsgMHgy QiwgMHgyMiwgMHgwNiwgMHgxNSwgMHgzMywgMHg3MSwgMHhFRCwgMHg5QiwgMHhBMCwgMHg4Miwg MHhDRSwgMHhCRiwKLSsgMHgzQiwgMHgwOCwgMHg1RiwgMHhBNywgMHgyMCwgMHg5NCwgMHgwOSwg MHhFQiwgMHg4MiwgMHhBNSwgMHg0MSwgMHg2MCwKLSsgMHhGMSwgMHgwOCwgMHhFQiwgMHg4RCwg MHhDQywgMHg4RCwgMHhDOSwgMHg1MiwgMHgwQSwgMHhBRiwgMHhGNCwgMHhGOSwKLSsgMHg5Riwg MHg4MiwgMHhEOCwgMHgwQiwgMHg3NSwgMHg1RSwgMHhFNCwgMHhBRiwgMHg2NSwgMHg5NiwgMHhB RiwgMHhGQywKLSsgMHgzMywgMHhCRiwgMHg5RiwgMHgzRSwgMHhBNCwgMHg3QiwgMHg4NiwgMHhD NywgMHhGNywgMHg0NywgMHhBQiwgMHgzNywKLSsgMHgwNSwgMHhENiwgMHgwRCwgMHgzMSwgMHg3 MiwgMHg4QywgMHg4MCwgMHgxRSwgMHhBOSwgMHg1NCwgMHhGQywgMHhERiwKLSsgMHgyNywgMHg5 MCwgMHhFMiwgMHgwMQotIH07Ci0gCi0gc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0X1JT QV9TSEEyMjRbXSA9IHsKLS0gIDB4NjIsIDB4QUEsIDB4NzksIDB4QTksIDB4MTgsIDB4MEUsIDB4 NUYsIDB4OEMsIDB4QkIsIDB4QjcsIDB4MTUsIDB4RjksCi0tICAweDI1LCAweEJCLCAweEZBLCAw eEQ0LCAweDNBLCAweDM0LCAweEVELCAweDlFLCAweEEwLCAweEE5LCAweDE4LCAweDhELAotLSAg MHg1QiwgMHg1NSwgMHg5QSwgMHg3RSwgMHgxRSwgMHgwOCwgMHgwOCwgMHg2MCwgMHhDNSwgMHgx QSwgMHhDNSwgMHg4OSwKLS0gIDB4MDgsIDB4RTIsIDB4MUIsIDB4QkQsIDB4NjIsIDB4NTAsIDB4 MTcsIDB4NzYsIDB4MzAsIDB4MkMsIDB4OUUsIDB4Q0QsCi0tICAweEE0LCAweDAyLCAweEFELCAw eEIxLCAweDZELCAweDQ0LCAweDZELCAweEQ1LCAweEM2LCAweDQ1LCAweDQxLCAweEU1LAotLSAg MHhFRSwgMHgxRiwgMHg4RCwgMHg3RSwgMHgwOCwgMHgxNiwgMHhBNiwgMHhFMSwgMHg1RSwgMHgw QiwgMHhBOSwgMHhDQywKLS0gIDB4REIsIDB4NTksIDB4NTUsIDB4ODcsIDB4MDksIDB4MjUsIDB4 NzAsIDB4ODYsIDB4ODQsIDB4MDIsIDB4QzYsIDB4M0IsCi0tICAweDBCLCAweDQ0LCAweDRDLCAw eDQ2LCAweDk1LCAweEY0LCAweEY4LCAweDVBLCAweDkxLCAweDI4LCAweDNFLCAweEIyLAotLSAg MHg1OCwgMHgyRSwgMHgwNiwgMHg0NSwgMHg0OSwgMHhFMCwgMHg5MiwgMHhFMiwgMHhDMCwgMHg2 NiwgMHhFNiwgMHgzNSwKLS0gIDB4RDksIDB4NzksIDB4N0YsIDB4MTcsIDB4NUUsIDB4MDIsIDB4 NzMsIDB4MDQsIDB4NzcsIDB4ODIsIDB4RTYsIDB4REMsCi0tICAweDQwLCAweDIxLCAweDg5LCAw eDhCLCAweDM3LCAweDNFLCAweDFFLCAweDhECi0rIDB4QTIsIDB4RDgsIDB4NDIsIDB4NTMsIDB4 REQsIDB4QkYsIDB4MUYsIDB4NkIsIDB4MDcsIDB4RTAsIDB4NjAsIDB4ODYsCi0rIDB4NUEsIDB4 NjAsIDB4MDYsIDB4OEYsIDB4NDQsIDB4RDksIDB4QjAsIDB4NEEsIDB4QUEsIDB4OTAsIDB4NzEs IDB4QjgsCi0rIDB4QjIsIDB4QkMsIDB4MzAsIDB4NDEsIDB4NTAsIDB4QkIsIDB4RkQsIDB4NDYs IDB4OTgsIDB4NEQsIDB4QzAsIDB4ODksCi0rIDB4NTcsIDB4ODUsIDB4OEEsIDB4OTcsIDB4NDks IDB4MjUsIDB4QTgsIDB4MEMsIDB4NjksIDB4NzAsIDB4MTksIDB4MzksCi0rIDB4NjYsIDB4MjQs IDB4QjQsIDB4NjksIDB4NDcsIDB4RDIsIDB4N0MsIDB4REUsIDB4MkQsIDB4MzcsIDB4NTksIDB4 QjMsCi0rIDB4RTMsIDB4QzcsIDB4NkIsIDB4REQsIDB4QkUsIDB4RTEsIDB4RTYsIDB4MjgsIDB4 OUEsIDB4OEQsIDB4NDIsIDB4M0UsCi0rIDB4MjgsIDB4MDEsIDB4RDcsIDB4MDMsIDB4QzksIDB4 NzMsIDB4QzMsIDB4NkIsIDB4MDMsIDB4RUMsIDB4MUUsIDB4RjgsCi0rIDB4NTMsIDB4OEIsIDB4 NTIsIDB4NDIsIDB4ODksIDB4NTUsIDB4QjcsIDB4ODcsIDB4QTksIDB4OTQsIDB4QzIsIDB4QjQs Ci0rIDB4NEIsIDB4NzYsIDB4RjUsIDB4NjEsIDB4NDcsIDB4RTEsIDB4NDQsIDB4N0IsIDB4RUMs IDB4QjQsIDB4MjUsIDB4NjYsCi0rIDB4QzAsIDB4RkYsIDB4RUIsIDB4ODYsIDB4MjQsIDB4QUEs IDB4QTgsIDB4NzIsIDB4QzcsIDB4RkIsIDB4RkIsIDB4RjYsCi0rIDB4ODQsIDB4QTcsIDB4NUIs IDB4RDQsIDB4ODcsIDB4RTUsIDB4ODQsIDB4NTYsIDB4MUUsIDB4NEMsIDB4RTUsIDB4QkMsCi0r IDB4ODcsIDB4OTQsIDB4QUMsIDB4OUMsIDB4MUIsIDB4M0QsIDB4RjcsIDB4RDQsIDB4MzYsIDB4 ODUsIDB4OUYsIDB4QzksCi0rIDB4RjYsIDB4NDMsIDB4M0YsIDB4QjYsIDB4MjUsIDB4MzMsIDB4 NDgsIDB4MEYsIDB4RTUsIDB4N0MsIDB4Q0QsIDB4NTMsCi0rIDB4NDgsIDB4RUIsIDB4MDIsIDB4 MTEsIDB4QjksIDB4OUUsIDB4QzMsIDB4QjQsIDB4RTEsIDB4NTQsIDB4RDYsIDB4QUEsCi0rIDB4 MUEsIDB4OUUsIDB4MTAsIDB4RTEsIDB4MjcsIDB4MjUsIDB4RjIsIDB4RTEsIDB4QUIsIDB4QUIs IDB4NkMsIDB4NDUsCi0rIDB4NjEsIDB4RDUsIDB4QTMsIDB4NkMsIDB4QjYsIDB4MzMsIDB4NTIs IDB4QUUsIDB4M0QsIDB4RkQsIDB4MjIsIDB4RkMsCi0rIDB4M0EsIDB4QUIsIDB4NjMsIDB4OTQs IDB4QjUsIDB4M0EsIDB4NjksIDB4MTEsIDB4QUMsIDB4OTksIDB4NEYsIDB4MzMsCi0rIDB4Njcs IDB4MEEsIDB4MUEsIDB4NzAsIDB4MUUsIDB4QjksIDB4RTIsIDB4MjYsIDB4MjcsIDB4NjgsIDB4 RUEsIDB4RjUsCi0rIDB4OTcsIDB4NTUsIDB4QUMsIDB4ODMsIDB4NkEsIDB4NDAsIDB4M0IsIDB4 NTYsIDB4QUUsIDB4MTMsIDB4ODgsIDB4RTgsCi0rIDB4OTgsIDB4NzIsIDB4NTIsIDB4OTEsIDB4 N0YsIDB4NzgsIDB4MEEsIDB4MTgsIDB4RDQsIDB4NDQsIDB4NzgsIDB4ODMsCi0rIDB4MEQsIDB4 NDQsIDB4NzcsIDB4QTYsIDB4RjMsIDB4MDQsIDB4RjEsIDB4OEMsIDB4QkMsIDB4MkYsIDB4Rjks IDB4NUIsCi0rIDB4REIsIDB4NzAsIDB4MDAsIDB4RjYKLSB9OwotIAotIHN0YXRpYyBjb25zdCB1 bnNpZ25lZCBjaGFyIGthdF9SU0FfU0hBMjU2W10gPSB7Ci0tICAweDBELCAweDU1LCAweEUyLCAw eEFBLCAweDgxLCAweERCLCAweDhFLCAweDgyLCAweDA1LCAweDE3LCAweEE1LCAweDIzLAotLSAg MHhFNywgMHgzQiwgMHgxRCwgMHhBRiwgMHhGQiwgMHg4QywgMHhEMCwgMHg4MSwgMHgyMCwgMHg3 QiwgMHhBQSwgMHgyMywKLS0gIDB4OTIsIDB4ODcsIDB4OEMsIDB4RDEsIDB4NTMsIDB4ODUsIDB4 MTYsIDB4REMsIDB4QkUsIDB4QUQsIDB4NkYsIDB4MzUsCi0tICAweDk4LCAweDJELCAweDY5LCAw eDg0LCAweEJGLCAweEQ5LCAweDhBLCAweDAxLCAweDE3LCAweDU4LCAweEIyLCAweDZFLAotLSAg MHgyQywgMHg0NCwgMHg5QiwgMHg5MCwgMHhGMSwgMHhGQiwgMHg1MSwgMHhFOCwgMHg2QSwgMHg5 MCwgMHgyRCwgMHgxOCwKLS0gIDB4MEUsIDB4QzAsIDB4OTAsIDB4MTAsIDB4MjQsIDB4QTksIDB4 MUQsIDB4QjMsIDB4NTgsIDB4N0EsIDB4OTEsIDB4MzAsCi0tICAweEJFLCAweDIyLCAweEM3LCAw eEQzLCAweEVDLCAweEMzLCAweDA5LCAweDVELCAweEJGLCAweEUyLCAweDgwLCAweDNBLAotLSAg MHg3QywgMHg4NSwgMHhCNCwgMHhCQywgMHhEMSwgMHhFOSwgMHhGMCwgMHg1QywgMHhERSwgMHg4 MSwgMHhBNiwgMHgzOCwKLS0gIDB4QjgsIDB4NDIsIDB4QkIsIDB4ODYsIDB4QzUsIDB4OUQsIDB4 Q0UsIDB4N0MsIDB4MkMsIDB4RUUsIDB4RDEsIDB4REEsCi0tICAweDI3LCAweDQ4LCAweDJCLCAw eEY1LCAweEFCLCAweEI5LCAweEY3LCAweDgwLCAweEQxLCAweDkwLCAweDI3LCAweDkwLAotLSAg MHhCRCwgMHg0NCwgMHg5NywgMHg2MCwgMHhDRCwgMHg1NywgMHhDMCwgMHg3QQotKyAweEMyLCAw eEIxLCAweDk3LCAweDAwLCAweDlBLCAweEU1LCAweDgwLCAweDZBLCAweEUyLCAweDUxLCAweDY4 LCAweEI5LAotKyAweDdBLCAweDBDLCAweEYyLCAweEI0LCAweDc3LCAweEVELCAweDE1LCAweDBD LCAweDRFLCAweEUxLCAweERDLCAweEZGLAotKyAweDhFLCAweEJDLCAweERFLCAweEM3LCAweDlB LCAweDk2LCAweEYxLCAweDQ3LCAweDQ1LCAweDI0LCAweDlELCAweDZGLAotKyAweEE2LCAweEYz LCAweDFELCAweDBELCAweDM1LCAweDRDLCAweDFBLCAweEYzLCAweDU4LCAweDJDLCAweDZDLCAw eDA2LAotKyAweEQ2LCAweDIyLCAweDM3LCAweDc3LCAweDhDLCAweDMzLCAweEU1LCAweDA3LCAw eDUzLCAweDkzLCAweDI4LCAweENGLAotKyAweDY3LCAweEZBLCAweEM0LCAweDFGLCAweDFCLCAw eDI0LCAweERCLCAweDRDLCAweEM1LCAweDJBLCAweDUxLCAweEEyLAotKyAweDYwLCAweDE1LCAw eDhDLCAweDU0LCAweEI0LCAweDMwLCAweEUyLCAweDI0LCAweDQ3LCAweDg2LCAweEYyLCAweEY4 LAotKyAweDZDLCAweEQ2LCAweDEyLCAweDU5LCAweDJDLCAweDc0LCAweDlBLCAweDM3LCAweEYz LCAweEM0LCAweEEyLCAweEQ1LAotKyAweDRFLCAweDFGLCAweDc3LCAweEYwLCAweDI3LCAweENF LCAweDc3LCAweEY4LCAweDRBLCAweDc5LCAweDAzLCAweEJFLAotKyAweEM4LCAweDA2LCAweDJE LCAweEE3LCAweEE2LCAweDQ2LCAweEY1LCAweDU1LCAweDc5LCAweEQ3LCAweDVDLCAweEM2LAot KyAweDVCLCAweEIxLCAweDAwLCAweDRFLCAweDdDLCAweEQ5LCAweDExLCAweDg1LCAweEUwLCAw eEIxLCAweDRELCAweDJELAotKyAweDEzLCAweEQ3LCAweEFDLCAweEVBLCAweDY0LCAweEQxLCAw eEFDLCAweDhGLCAweDhELCAweDhGLCAweEVBLCAweDQyLAotKyAweDdGLCAweEY5LCAweEI3LCAw eDdELCAweDJDLCAweDY4LCAweDQ5LCAweDA3LCAweDdBLCAweDc0LCAweEVGLCAweEI0LAotKyAw eEM5LCAweDk3LCAweDE2LCAweDVDLCAweDZDLCAweDZFLCAweDVDLCAweDA5LCAweDJFLCAweDhF LCAweDEzLCAweDJFLAotKyAweDFBLCAweDhELCAweEE2LCAweDBDLCAweDZFLCAweDBDLCAweDFD LCAweDBGLCAweENDLCAweEIyLCAweDc4LCAweDhBLAotKyAweDA3LCAweEZDLCAweDVDLCAweEMy LCAweEY1LCAweDY1LCAweEVDLCAweEFCLCAweDhCLCAweDNDLCAweENBLCAweDkxLAotKyAweDZG LCAweDg0LCAweDdDLCAweDIxLCAweDBFLCAweEI4LCAweERBLCAweDdCLCAweDZDLCAweEY3LCAw eERGLCAweEFCLAotKyAweDdFLCAweDE1LCAweEZELCAweDg1LCAweDBCLCAweDMzLCAweDlCLCAw eDZBLCAweDNBLCAweEMzLCAweEVGLCAweDY1LAotKyAweDA0LCAweDZFLCAweEIyLCAweEFDLCAw eDk4LCAweEZELCAweEVCLCAweDAyLCAweEY1LCAweEMwLCAweDBCLCAweDVFLAotKyAweENCLCAw eEQ0LCAweDgzLCAweDgyLCAweDE4LCAweDFCLCAweERBLCAweEI0LCAweENELCAweEU4LCAweDcx LCAweDZCLAotKyAweDFELCAweEI1LCAweDRGLCAweEU5LCAweEQ2LCAweDQzLCAweEEwLCAweDBB LCAweDE0LCAweEEwLCAweEU3LCAweDVELAotKyAweDQ3LCAweDlELCAweDE4LCAweEQ3Ci0gfTsK LSAKLSBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1NIQTM4NFtdID0gewotLSAg MHgxRCwgMHhFMywgMHg2QSwgMHhERCwgMHgyNywgMHg0QywgMHhDMCwgMHhBNSwgMHgyNywgMHhF RiwgMHhFNiwgMHgxRiwKLS0gIDB4RDIsIDB4OTEsIDB4NjgsIDB4NTksIDB4MDQsIDB4QUUsIDB4 QkQsIDB4OTksIDB4NjMsIDB4NTYsIDB4NDcsIDB4QzcsCi0tICAweDZGLCAweDIyLCAweDE2LCAw eDQ4LCAweEQwLCAweEY5LCAweDE4LCAweEE5LCAweENBLCAweEZBLCAweDVELCAweDVDLAotLSAg MHhBNywgMHg2NSwgMHg1MiwgMHg4QSwgMHhDOCwgMHg0NCwgMHg3RSwgMHg4NiwgMHg1RCwgMHhB OSwgMHhBNiwgMHg1NSwKLS0gIDB4NjUsIDB4M0UsIDB4RDksIDB4MkQsIDB4MDIsIDB4MzgsIDB4 QTgsIDB4NzksIDB4MjgsIDB4N0YsIDB4QjYsIDB4Q0YsCi0tICAweDgyLCAweERELCAweDdFLCAw eDU1LCAweEUxLCAweEIxLCAweEJDLCAweEUyLCAweDE5LCAweDJCLCAweDMwLCAweEMyLAotLSAg MHgxQiwgMHgyQiwgMHhCMCwgMHg4MiwgMHg0NiwgMHhBQywgMHg0QiwgMHhEMSwgMHhFMiwgMHg3 RCwgMHhFQiwgMHg4QywKLS0gIDB4RkYsIDB4OTUsIDB4RTksIDB4NkEsIDB4MUMsIDB4M0QsIDB4 NEQsIDB4QkYsIDB4OEYsIDB4OEIsIDB4OUMsIDB4Q0QsCi0tICAweEVBLCAweDg1LCAweEVFLCAw eDAwLCAweERDLCAweDFDLCAweEE3LCAweEVCLCAweEQwLCAweDhGLCAweDk5LCAweEYxLAotLSAg MHgxNiwgMHgyOCwgMHgyNCwgMHg2NCwgMHgwNCwgMHgzOSwgMHgyRCwgMHg1OCwgMHgxRSwgMHgz NywgMHhEQywgMHgwNCwKLS0gIDB4QkQsIDB4MzEsIDB4QTIsIDB4MkYsIDB4QjMsIDB4MzUsIDB4 NTYsIDB4QkYKLSsgMHgxMSwgMHg1RSwgMHg2MywgMHhGRSwgMHg0NywgMHhBQSwgMHg2QSwgMHg4 NCwgMHhFQiwgMHg0NCwgMHg5QSwgMHgwMCwKLSsgMHg5NiwgMHg0QSwgMHhFRCwgMHhEMiwgMHhB NywgMHg2NywgMHgzQSwgMHg2NCwgMHg4MiwgMHgzMCwgMHg2MSwgMHgyRCwKLSsgMHhFMywgMHhG NSwgMHg0OSwgMHg2OCwgMHg1RSwgMHg2MCwgMHhEMiwgMHg0RCwgMHhFRiwgMHhGMiwgMHhBNCwg MHhCMiwKLSsgMHg5QSwgMHg4MSwgMHgxRCwgMHg0MSwgMHhBNSwgMHg3MywgMHg1OSwgMHhFQiwg MHhCQiwgMHhDNCwgMHg5RSwgMHgyQiwKLSsgMHhFQiwgMHhDMywgMHhERSwgMHgzQSwgMHhFQSwg MHhGNSwgMHhBRCwgMHhEQSwgMHg4NywgMHgwOCwgMHg2OCwgMHhDRiwKLSsgMHgxMiwgMHg5Qiwg MHhDMSwgMHhFNCwgMHhBNywgMHg3MSwgMHhGOCwgMHhCRCwgMHg2QiwgMHg2RiwgMHg1MCwgMHhG MSwKLSsgMHhEMSwgMHhGRiwgMHhDRSwgMHg2QywgMHhEOSwgMHhCRSwgMHhEQSwgMHg3NiwgMHhG MywgMHhFQiwgMHhBQiwgMHg5QywKLSsgMHg0MSwgMHg2RSwgMHg0RiwgMHgzNSwgMHg3QSwgMHg2 MSwgMHgyNywgMHhCQywgMHgwMywgMHgzRSwgMHhBRSwgMHgzRSwKLSsgMHgxQiwgMHhERCwgMHhB QywgMHhEOSwgMHgxQSwgMHhGRiwgMHhEMywgMHhGNSwgMHg2NiwgMHg0MywgMHgwNywgMHg3NiwK LSsgMHg4QSwgMHg2OSwgMHgyRCwgMHgxNCwgMHhCMSwgMHhCRSwgMHg1NSwgMHg0OSwgMHg5MCwg MHg4OSwgMHg0QiwgMHhDNCwKLSsgMHgxMSwgMHg2NywgMHhENSwgMHg5RCwgMHhCMCwgMHhCMiwg MHhFRSwgMHg4RCwgMHgwQSwgMHg0NywgMHg0QSwgMHhEOSwKLSsgMHgwRSwgMHhEMSwgMHgyNCwg MHhGMCwgMHgzMCwgMHgyQiwgMHhGMiwgMHg3OSwgMHg0NywgMHhEQiwgMHg3MCwgMHhCNCwKLSsg MHg0NiwgMHhGMiwgMHhGOCwgMHhCNywgMHhCNCwgMHhGNiwgMHgzNCwgMHg3OSwgMHhBOCwgMHgy RCwgMHgzRCwgMHg1NiwKLSsgMHhENSwgMHg5QSwgMHg2MCwgMHg3QSwgMHgwNCwgMHhDNywgMHg2 NiwgMHgxRCwgMHhDRCwgMHgzQywgMHhENSwgMHgzOSwKLSsgMHgzNywgMHgxMiwgMHg1MSwgMHg1 RSwgMHg5RiwgMHhGOCwgMHgxQSwgMHhBRiwgMHgxMywgMHhDMSwgMHgxMywgMHgwMCwKLSsgMHgz NSwgMHhENSwgMHg4RCwgMHgxNywgMHhFMywgMHgwMiwgMHgyOCwgMHhEOSwgMHhFQywgMHhERSwg MHhEMSwgMHgyRiwKLSsgMHg5MywgMHg0OSwgMHgwMywgMHgxMSwgMHgzRSwgMHg1NiwgMHg5RCwg MHhDMiwgMHgzMSwgMHhGOCwgMHhBRiwgMHgyRCwKLSsgMHhEOSwgMHg5OSwgMHhCNywgMHg4QSwg MHhBQywgMHg1QSwgMHg4NiwgMHgyMCwgMHgzQSwgMHg4MywgMHgyOSwgMHgyNiwKLSsgMHg5RCwg MHgwMywgMHg1MiwgMHgyQiwgMHgzNCwgMHg1NiwgMHg0MCwgMHgxNiwgMHg1MywgMHg1MCwgMHg4 MiwgMHhDOSwKLSsgMHhDNywgMHhENSwgMHg1MSwgMHg0QywgMHhFRCwgMHhCMywgMHhFMiwgMHhF MSwgMHhDRiwgMHhBOCwgMHhDRSwgMHhCRCwKLSsgMHhCMSwgMHg0OCwgMHhBNiwgMHg4QSwgMHg3 OSwgMHgxNywgMHg1NSwgMHgxMSwgMHhFRiwgMHhFOCwgMHgxNCwgMHhGNCwKLSsgMHg3RSwgMHgz NywgMHgxRCwgMHg5NgotIH07Ci0gCi0gc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0X1JT QV9TSEE1MTJbXSA9IHsKLS0gIDB4NjksIDB4NTIsIDB4MUIsIDB4NTEsIDB4NUUsIDB4MDYsIDB4 Q0EsIDB4OUIsIDB4MTYsIDB4NTEsIDB4NUQsIDB4Q0YsCi0tICAweDQ5LCAweDI1LCAweDRBLCAw eEExLCAweDZBLCAweDc3LCAweDRDLCAweDM2LCAweDQwLCAweEY4LCAweEIyLCAweDlBLAotLSAg MHgxNSwgMHhFQSwgMHg1QywgMHhFNSwgMHhFNiwgMHg4MiwgMHhFMCwgMHg4NiwgMHg4MiwgMHg2 QiwgMHgzMiwgMHhGMSwKLS0gIDB4MDQsIDB4QzEsIDB4NUEsIDB4MUEsIDB4RUQsIDB4MUUsIDB4 OUEsIDB4QjYsIDB4NEMsIDB4NTQsIDB4OUYsIDB4RDgsCi0tICAweDhELCAweENDLCAweEFDLCAw eDhBLCAweEJCLCAweDlDLCAweDgyLCAweDNGLCAweEE2LCAweDUzLCAweDYyLCAweEI1LAotLSAg MHg4MCwgMHhFMiwgMHhCQywgMHhERCwgMHg2NywgMHgyQiwgMHhEOSwgMHgzRiwgMHhFNCwgMHg3 NSwgMHg5MiwgMHg2QiwKLS0gIDB4QUYsIDB4NjIsIDB4N0MsIDB4NTIsIDB4RjAsIDB4RUUsIDB4 MzMsIDB4REYsIDB4MUIsIDB4MUQsIDB4NDcsIDB4RTYsCi0tICAweDU5LCAweDU2LCAweEE1LCAw eEI5LCAweDVDLCAweEU2LCAweDc3LCAweDc4LCAweDE2LCAweDYzLCAweDg0LCAweDA1LAotLSAg MHg2RiwgMHgwRSwgMHgyQiwgMHgzMSwgMHg5RCwgMHhGNywgMHg3RiwgMHhCMiwgMHg2NCwgMHg3 MSwgMHhFMCwgMHgyRCwKLS0gIDB4M0UsIDB4NjIsIDB4Q0UsIDB4QjUsIDB4M0YsIDB4ODgsIDB4 REYsIDB4MkQsIDB4QUIsIDB4OTgsIDB4NjUsIDB4OTEsCi0tICAweERGLCAweDcwLCAweDE0LCAw eEE1LCAweDNGLCAweDM2LCAweEFCLCAweDg0Ci0rIDB4MzUsIDB4NkQsIDB4RjEsIDB4OUUsIDB4 Q0YsIDB4QjEsIDB4RjYsIDB4MEMsIDB4MDQsIDB4MjEsIDB4MTcsIDB4QjMsCi0rIDB4QzQsIDB4 OUQsIDB4RkUsIDB4NjIsIDB4MUMsIDB4MUEsIDB4NDUsIDB4MDAsIDB4MkUsIDB4NkIsIDB4QjYs IDB4OUYsCi0rIDB4NUMsIDB4QjEsIDB4Q0IsIDB4Q0YsIDB4RjksIDB4NjcsIDB4RUEsIDB4NjIs IDB4OEEsIDB4RUIsIDB4NzcsIDB4MDIsCi0rIDB4NDIsIDB4MzAsIDB4ODgsIDB4QjEsIDB4NDgs IDB4REYsIDB4MTIsIDB4NjAsIDB4NkUsIDB4OTIsIDB4QkIsIDB4NEIsCi0rIDB4MDksIDB4Njgs IDB4RDEsIDB4NzAsIDB4MkIsIDB4NTksIDB4RUUsIDB4NTcsIDB4OTYsIDB4RjksIDB4RUEsIDB4 QTMsCi0rIDB4NEMsIDB4RTksIDB4QzksIDB4QkQsIDB4MjUsIDB4MzQsIDB4NjYsIDB4MTUsIDB4 NkMsIDB4QzksIDB4ODEsIDB4RDEsCi0rIDB4NDgsIDB4MEYsIDB4MzMsIDB4NUYsIDB4MDUsIDB4 NEYsIDB4QzIsIDB4QzQsIDB4REQsIDB4MDksIDB4NTQsIDB4NzksCi0rIDB4QTEsIDB4NTcsIDB4 MDcsIDB4NzAsIDB4QTAsIDB4MzMsIDB4MDIsIDB4NEQsIDB4NUQsIDB4RTksIDB4MjQsIDB4RDEs Ci0rIDB4RUYsIDB4RjAsIDB4NjEsIDB4RDAsIDB4MUQsIDB4NDEsIDB4RTIsIDB4OUIsIDB4MkIs IDB4N0MsIDB4RDAsIDB4NEUsCi0rIDB4NTUsIDB4RDksIDB4NkQsIDB4QTEsIDB4MTYsIDB4OUYs IDB4REEsIDB4QzMsIDB4M0IsIDB4RjEsIDB4NzQsIDB4RDEsCi0rIDB4OTksIDB4RjEsIDB4NjMs IDB4NTcsIDB4QUQsIDB4QzcsIDB4NTUsIDB4RjQsIDB4OTcsIDB4NDMsIDB4MUMsIDB4RUQsCi0r IDB4MUIsIDB4N0EsIDB4MzIsIDB4Q0IsIDB4MjQsIDB4QTYsIDB4M0QsIDB4OTMsIDB4MzcsIDB4 OTAsIDB4NzQsIDB4RUUsCi0rIDB4RDIsIDB4OEQsIDB4NEIsIDB4QkMsIDB4NzIsIDB4REEsIDB4 MjUsIDB4MkIsIDB4NjQsIDB4RTksIDB4Q0EsIDB4NjksCi0rIDB4MzYsIDB4QjYsIDB4RUMsIDB4 NkUsIDB4OEYsIDB4MzMsIDB4MEUsIDB4NzQsIDB4NDAsIDB4NDgsIDB4NTEsIDB4RTIsCi0rIDB4 NTQsIDB4NkYsIDB4QUYsIDB4NkUsIDB4MzYsIDB4NTQsIDB4M0EsIDB4RUMsIDB4NzgsIDB4Mzcs IDB4RTYsIDB4MUYsCi0rIDB4NzYsIDB4QTUsIDB4NEQsIDB4QTYsIDB4RDksIDB4QjMsIDB4NkIs IDB4MTcsIDB4NkQsIDB4NjEsIDB4RkMsIDB4QTMsCi0rIDB4ODUsIDB4NEEsIDB4Q0MsIDB4REEs IDB4NTIsIDB4QUMsIDB4NUIsIDB4REEsIDB4NTEsIDB4RTUsIDB4N0YsIDB4NUIsCi0rIDB4NTIs IDB4OEIsIDB4NzQsIDB4NzUsIDB4OTksIDB4NUMsIDB4MDEsIDB4RkQsIDB4MjUsIDB4M0UsIDB4 Q0QsIDB4ODYsCi0rIDB4NkYsIDB4N0EsIDB4QzAsIDB4RDgsIDB4MTcsIDB4NkYsIDB4RDEsIDB4 RDIsIDB4NkIsIDB4QUIsIDB4MTQsIDB4MUYsCi0rIDB4M0IsIDB4QjgsIDB4MTUsIDB4MDUsIDB4 ODYsIDB4NDAsIDB4MzYsIDB4Q0YsIDB4REEsIDB4NTksIDB4MkIsIDB4OUEsCi0rIDB4RTksIDB4 MUUsIDB4NkUsIDB4RDMsIDB4NkIsIDB4QTEsIDB4MTksIDB4QzUsIDB4RTYsIDB4M0YsIDB4RTks IDB4MkUsCi0rIDB4NDMsIDB4QTgsIDB4MzQsIDB4MEEKLSB9OwotIAotIHN0YXRpYyBjb25zdCB1 bnNpZ25lZCBjaGFyIGthdF9SU0FfWDkzMV9TSEExW10gPSB7Ci0tICAweDg2LCAweEI0LCAweDE4 LCAweEJBLCAweEQxLCAweDgwLCAweEI2LCAweDdDLCAweDQyLCAweDQ1LCAweDRELCAweERGLAot LSAgMHhFOSwgMHgyRCwgMHhFMSwgMHg4MywgMHg1RiwgMHhCNSwgMHgyRiwgMHhDOSwgMHhDRCwg MHhDNCwgMHhCMiwgMHg3NSwKLS0gIDB4ODAsIDB4QTQsIDB4RjEsIDB4NEEsIDB4RTcsIDB4ODMs IDB4MTIsIDB4MUUsIDB4MUUsIDB4MTQsIDB4QjgsIDB4QUMsCi0tICAweDM1LCAweEUyLCAweEFB LCAweDBCLCAweDVDLCAweEY4LCAweDM4LCAweDRELCAweDA0LCAweEVFLCAweEE5LCAweDk3LAot LSAgMHg3MCwgMHhGQiwgMHg1RSwgMHhFNywgMHhCNywgMHhFMywgMHg2MiwgMHgyMywgMHg0Qiwg MHgzOCwgMHhCRSwgMHhENiwKLS0gIDB4NTMsIDB4MTUsIDB4RjcsIDB4REYsIDB4ODcsIDB4QjQs IDB4MEUsIDB4Q0MsIDB4QjEsIDB4MUEsIDB4MTEsIDB4MTksCi0tICAweEVFLCAweDUxLCAweEND LCAweDkyLCAweERELCAweEJDLCAweDYzLCAweDI5LCAweDYzLCAweDBDLCAweDU5LCAweEQ3LAot LSAgMHg2RiwgMHg0QywgMHgzQywgMHgzNywgMHg1QiwgMHgzNywgMHgwMywgMHg2MSwgMHg3RCwg MHgyNCwgMHgxQywgMHg5OSwKLS0gIDB4NDgsIDB4QUYsIDB4ODIsIDB4RkUsIDB4MzIsIDB4NDEs IDB4OUIsIDB4QjIsIDB4REIsIDB4RUEsIDB4RUQsIDB4NzYsCi0tICAweDhFLCAweDZFLCAweENB LCAweDdFLCAweDRFLCAweDE0LCAweEJBLCAweDMwLCAweDg0LCAweDFDLCAweEIzLCAweDY3LAot LSAgMHhBMywgMHgyOSwgMHg4MCwgMHg3MCwgMHg1NCwgMHg2OCwgMHg3RCwgMHg0OQotKyAweEIx LCAweDBFLCAweDRGLCAweEM2LCAweEUwLCAweDk1LCAweDg1LCAweDdCLCAweEJFLCAweERFLCAw eEM0LCAweEU2LAotKyAweDFGLCAweDEyLCAweDJFLCAweDlCLCAweDNFLCAweDExLCAweEEzLCAw eEYwLCAweEYwLCAweEE4LCAweDIzLCAweDFBLAotKyAweDk2LCAweDZFLCAweDk5LCAweEI1LCAw eDVGLCAweDgyLCAweEM1LCAweDg3LCAweDc1LCAweEU5LCAweEQ0LCAweEJGLAotKyAweDlGLCAw eEUwLCAweEE0LCAweEVELCAweEM3LCAweDAxLCAweDJBLCAweDNGLCAweDZGLCAweDQzLCAweDFE LCAweDRGLAotKyAweEU4LCAweDA1LCAweDM0LCAweDMyLCAweDIwLCAweDM2LCAweDk0LCAweEEw LCAweDZELCAweENDLCAweEY2LCAweDQxLAotKyAweDQ5LCAweDU2LCAweDk2LCAweEVDLCAweDlD LCAweDdDLCAweEQxLCAweDBFLCAweDlFLCAweEQ4LCAweDFCLCAweDQ4LAotKyAweEQ5LCAweERG LCAweDk5LCAweDlGLCAweDkyLCAweDE3LCAweDk2LCAweEE0LCAweEYxLCAweDg3LCAweDY0LCAw eDYxLAotKyAweDNDLCAweEFGLCAweDAwLCAweDI0LCAweEIzLCAweDY0LCAweDg4LCAweDhFLCAw eDQxLCAweEJGLCAweDI5LCAweDFGLAotKyAweEEzLCAweDI4LCAweEFELCAweDIxLCAweDFFLCAw eEEzLCAweDk2LCAweDQwLCAweDBBLCAweDBCLCAweDgyLCAweENELAotKyAweDk3LCAweDU4LCAw eDMzLCAweEI2LCAweDUyLCAweEFDLCAweEM1LCAweDNCLCAweDE0LCAweEU3LCAweDFFLCAweDVE LAotKyAweDA5LCAweEM5LCAweDc2LCAweEI1LCAweDg5LCAweEM2LCAweDlCLCAweDRDLCAweEMy LCAweEMyLCAweDMxLCAweDBFLAotKyAweEJBLCAweDFFLCAweEI1LCAweDExLCAweEQwLCAweEZE LCAweEMxLCAweERBLCAweDY0LCAweDE3LCAweEE4LCAweENCLAotKyAweEYwLCAweDk0LCAweEY0 LCAweERELCAweDg0LCAweEI3LCAweEVGLCAweDlDLCAweDEzLCAweDRGLCAweERELCAweDA2LAot KyAweDBDLCAweEU0LCAweEM3LCAweEZELCAweDY5LCAweDEwLCAweDIwLCAweEQzLCAweDkzLCAw eDVFLCAweEY4LCAweEJBLAotKyAweDIxLCAweEZCLCAweDYyLCAweEM0LCAweDYzLCAweDc2LCAw eDQzLCAweEFBLCAweDdFLCAweDNDLCAweDU2LCAweDVFLAotKyAweEI0LCAweDQ3LCAweDNBLCAw eDA1LCAweDBELCAweEJCLCAweDEzLCAweEM0LCAweDkzLCAweEZCLCAweDI5LCAweEE4LAotKyAw eDNFLCAweDc2LCAweDQxLCAweDU0LCAweDlFLCAweDdCLCAweEUyLCAweEUwLCAweDA3LCAweDFE LCAweEE3LCAweDlDLAotKyAweDg1LCAweDExLCAweEI1LCAweEE1LCAweDg4LCAweDU4LCAweDAy LCAweEQ4LCAweEMwLCAweDRCLCAweDgxLCAweEJGLAotKyAweDJCLCAweDM4LCAweEUyLCAweDJG LCAweDQyLCAweENBLCAweDYzLCAweDhBLCAweDBBLCAweDc4LCAweEJBLCAweDUwLAotKyAweEU1 LCAweDg0LCAweDM1LCAweEQzLCAweDZBLCAweDFFLCAweDk2LCAweDBCLCAweDkxLCAweEIxLCAw eDBFLCAweDg1LAotKyAweEE4LCAweDVDLCAweDZFLCAweDQ2LCAweDVDLCAweDYxLCAweDhDLCAw eDRGLCAweDVCLCAweDYxLCAweEI2LCAweDNDLAotKyAweEI3LCAweDJDLCAweEE1LCAweDFBCi0g fTsKLSAKLSBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1g5MzFfU0hBMjU2W10g PSB7Ci0tICAweDdFLCAweEEyLCAweDc3LCAweEZFLCAweEI4LCAweDU0LCAweDhBLCAweEM3LCAw eDdGLCAweDY0LCAweDU0LCAweDg5LAotLSAgMHhFNSwgMHg1MiwgMHgxNSwgMHg4RSwgMHg1Miwg MHg5NiwgMHg0RSwgMHhBNiwgMHg1OCwgMHg5MiwgMHgxQywgMHhERCwKLS0gIDB4RUEsIDB4QTIs IDB4MkQsIDB4NUMsIDB4RDEsIDB4NjIsIDB4MDAsIDB4NDksIDB4MDUsIDB4OTUsIDB4NzMsIDB4 Q0YsCi0tICAweDE2LCAweDc2LCAweDY4LCAweEY2LCAweEM2LCAweDVFLCAweDgwLCAweEI4LCAw eEI4LCAweDdCLCAweEM4LCAweDlCLAotLSAgMHhDNiwgMHg1MywgMHg4OCwgMHgyNiwgMHgyMCwg MHg4OCwgMHg3MywgMHhCNiwgMHgxMywgMHhCOCwgMHhGMCwgMHg0QiwKLS0gIDB4MDAsIDB4ODUs IDB4RjMsIDB4REQsIDB4MDcsIDB4NTAsIDB4RUIsIDB4MjAsIDB4QzQsIDB4MzgsIDB4MEUsIDB4 OTgsCi0tICAweEFELCAweDRFLCAweDQ5LCAweDJDLCAweEQ3LCAweDY1LCAweEE1LCAweDE5LCAw eDBFLCAweDU5LCAweDAxLCAweEVDLAotLSAgMHg3RSwgMHg3NSwgMHg4OSwgMHg2OSwgMHgyRSwg MHg2MywgMHg3NiwgMHg4NSwgMHg0NiwgMHg4RCwgMHhBMCwgMHg4QywKLS0gIDB4MzMsIDB4MUQs IDB4ODIsIDB4OEMsIDB4MDMsIDB4RUEsIDB4NjksIDB4ODgsIDB4MzUsIDB4QTEsIDB4NDIsIDB4 QkQsCi0tICAweDIxLCAweEVELCAweDhELCAweEJDLCAweEJDLCAweERCLCAweDMwLCAweEZGLCAw eDg2LCAweEYwLCAweDVCLCAweERDLAotLSAgMHhFMywgMHhFMiwgMHhFOCwgMHgwQSwgMHgwQSwg MHgyOSwgMHg5NCwgMHg4MAotKyAweEM2LCAweDZDLCAweDAxLCAweDdGLCAweEI2LCAweDhDLCAw eEQ0LCAweDYxLCAweDgzLCAweEM1LCAweEJDLCAweDc1LAotKyAweDM5LCAweDIyLCAweERELCAw eDE3LCAweDVCLCAweDk1LCAweDRCLCAweDRDLCAweDQ2LCAweDM5LCAweDM3LCAweEE3LAotKyAw eDU0LCAweDZDLCAweDQ5LCAweDVBLCAweDY3LCAweDkwLCAweDQ3LCAweEY2LCAweDU5LCAweEFF LCAweEZDLCAweERELAotKyAweERGLCAweERCLCAweEM3LCAweDkxLCAweEI5LCAweEI2LCAweENF LCAweEQ4LCAweEZBLCAweDMwLCAweDAxLCAweDlGLAotKyAweENBLCAweEU1LCAweDRBLCAweDUx LCAweEI3LCAweEJFLCAweEJELCAweDRFLCAweDU2LCAweDI1LCAweDBCLCAweDQ5LAotKyAweEUw LCAweDQ2LCAweEJCLCAweDgxLCAweDBFLCAweDE0LCAweDQ3LCAweEZGLCAweENCLCAweEJCLCAw eEExLCAweDZELAotKyAweDQ0LCAweDlCLCAweEY3LCAweEVFLCAweDgxLCAweEVCLCAweEY2LCAw eDYyLCAweEVBLCAweDBELCAweDc2LCAweDc2LAotKyAweDRFLCAweDI1LCAweEQ3LCAweDlBLCAw eDJCLCAweEIxLCAweDkyLCAweEVELCAweDVDLCAweDdGLCAweDlELCAweDk5LAotKyAweDA3LCAw eDlFLCAweEJGLCAweDYyLCAweDgzLCAweDEyLCAweDYxLCAweDk5LCAweDNFLCAweEY1LCAweDZB LCAweDRDLAotKyAweDU4LCAweEIwLCAweDJBLCAweDE1LCAweDFDLCAweEEwLCAweEQyLCAweDkx LCAweDg3LCAweDlDLCAweDdELCAweDRGLAotKyAweEVGLCAweDNCLCAweDBGLCAweDYwLCAweEQ3 LCAweDFFLCAweEVGLCAweDdDLCAweEJFLCAweDY4LCAweDk1LCAweEU2LAotKyAweEJBLCAweEZB LCAweEY2LCAweEQxLCAweDY3LCAweDNELCAweDlELCAweDM5LCAweEFFLCAweEMyLCAweDg1LCAw eEQyLAotKyAweERFLCAweEE1LCAweDg1LCAweDFFLCAweDRELCAweDJCLCAweDJDLCAweDA2LCAw eDQ0LCAweDk4LCAweDE3LCAweDQ2LAotKyAweDg5LCAweDQxLCAweDEzLCAweEZDLCAweDk5LCAw eEQ2LCAweDZDLCAweENGLCAweDI2LCAweEEyLCAweDc3LCAweDhBLAotKyAweDNGLCAweDEwLCAw eEY4LCAweEM1LCAweEM5LCAweDRBLCAweEI2LCAweDkzLCAweEY1LCAweDM4LCAweDg5LCAweEJE LAotKyAweEZGLCAweEFFLCAweDQyLCAweDA2LCAweDJELCAweENELCAweDFCLCAweDNELCAweDVB LCAweENELCAweEYyLCAweDhBLAotKyAweDY1LCAweEE0LCAweEI3LCAweEI2LCAweEY2LCAweDVC LCAweEU4LCAweEE0LCAweDY4LCAweEI0LCAweDI3LCAweERBLAotKyAweEYxLCAweDU5LCAweDM3 LCAweDI0LCAweDE4LCAweEI1LCAweDVCLCAweDE1LCAweDYyLCAweDY0LCAweDZGLCAweDc4LAot KyAweEJCLCAweDE3LCAweDk0LCAweDQyLCAweEFELCAweEIzLCAweDBELCAweDE4LCAweEIwLCAw eDFCLCAweDI4LCAweDI5LAotKyAweDNCLCAweDE1LCAweEJGLCAweEQxLCAweEM4LCAweDI4LCAw eDRGLCAweERGLCAweDdGLCAweDM0LCAweDQ5LCAweDJBLAotKyAweDQ0LCAweEQ1LCAweDRDLCAw eDU5LCAweDkwLCAweDgzLCAweDhELCAweEZDLCAweDU4LCAweDdFLCAweEVDLCAweDRCLAotKyAw eDU0LCAweEYwLCAweEI1LCAweEJECi0gfTsKLSAKLSBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh ciBrYXRfUlNBX1g5MzFfU0hBMzg0W10gPSB7Ci0tICAweDVDLCAweDdELCAweDk2LCAweDM1LCAw eEVDLCAweDdFLCAweDExLCAweDM4LCAweEJCLCAweDdCLCAweEVDLCAweDdCLAotLSAgMHhGMiwg MHg4MiwgMHg4RSwgMHg5OSwgMHhCRCwgMHhFRiwgMHhEOCwgMHhBRSwgMHhENywgMHgzOSwgMHgz NywgMHhDQiwKLS0gIDB4RTYsIDB4NEYsIDB4NUUsIDB4MEEsIDB4MTMsIDB4RTQsIDB4MkUsIDB4 NDAsIDB4QjksIDB4QkUsIDB4MkUsIDB4RTMsCi0tICAweEVGLCAweDc4LCAweDgzLCAweDE4LCAw eDQ0LCAweDM1LCAweDlDLCAweDhFLCAweEQ3LCAweDRBLCAweDYzLCAweEY2LAotLSAgMHg1Nywg MHhDMiwgMHhCMCwgMHgwOCwgMHg1MSwgMHg3MywgMHhDRiwgMHhDQSwgMHg5OSwgMHg2NiwgMHhF RSwgMHgzMSwKLS0gIDB4RDgsIDB4NjksIDB4RTksIDB4QUIsIDB4MTMsIDB4MjcsIDB4N0IsIDB4 NDEsIDB4MUUsIDB4NkQsIDB4OEQsIDB4RjEsCi0tICAweDNFLCAweDlDLCAweDM1LCAweDk1LCAw eDU4LCAweERELCAweDJCLCAweEQ1LCAweEEwLCAweDYwLCAweDQxLCAweDc5LAotLSAgMHgyNCwg MHgyMiwgMHhFNCwgMHhCNywgMHhCRiwgMHg0NywgMHg1MywgMHhGNiwgMHgzNCwgMHhENSwgMHg3 QywgMHhGRiwKLS0gIDB4MEUsIDB4MDksIDB4RUUsIDB4MkUsIDB4RTIsIDB4MzcsIDB4QjksIDB4 REUsIDB4QzUsIDB4MTIsIDB4NDQsIDB4MzUsCi0tICAweEVGLCAweDAxLCAweEU2LCAweDVFLCAw eDM5LCAweDMxLCAweDJELCAweDcxLCAweEE1LCAweERDLCAweEM2LCAweDZELAotLSAgMHhFMiwg MHhDRCwgMHg4NSwgMHhEQiwgMHg3MywgMHg4MiwgMHg2NSwgMHgyOAotKyAweDg4LCAweDg1LCAw eEUxLCAweEMxLCAweEUyLCAweEU1LCAweDBCLCAweDZDLCAweDAzLCAweDI3LCAweEFDLCAweEM4 LAotKyAweDNBLCAweDcyLCAweEI0LCAweDlBLCAweEYzLCAweEFFLCAweDlDLCAweDg4LCAweDhD LCAweEJFLCAweDI4LCAweDBELAotKyAweDg5LCAweDVGLCAweDA2LCAweDBGLCAweDVGLCAweDA4 LCAweEUzLCAweDlDLCAweEY5LCAweDI4LCAweDRGLCAweEJCLAotKyAweDI0LCAweERELCAweDIx LCAweDRDLCAweDQ0LCAweDk2LCAweDUwLCAweEI1LCAweEQ0LCAweDhFLCAweDEzLCAweDYwLAot KyAweDdDLCAweENCLCAweEQ5LCAweDVFLCAweDdDLCAweEI2LCAweEFELCAweEE1LCAweDZBLCAw eDQxLCAweDA0LCAweEE3LAotKyAweDhFLCAweEYwLCAweDM5LCAweDA4LCAweDdFLCAweDE4LCAw eDkxLCAweEY5LCAweDQ2LCAweDk3LCAweEVGLCAweEYyLAotKyAweDE0LCAweEIyLCAweDAxLCAw eEZELCAweEIyLCAweDJCLCAweDNBLCAweEY4LCAweDRBLCAweDU5LCAweEQxLCAweDM2LAotKyAw eDFBLCAweDdELCAweDJELCAweEI5LCAweEM2LCAweDdGLCAweERFLCAweDYyLCAweEI2LCAweDU2 LCAweEJBLCAweEZBLAotKyAweDVBLCAweEExLCAweDVCLCAweDhDLCAweDVGLCAweDk4LCAweEVD LCAweEY4LCAweDkzLCAweDEzLCAweDExLCAweDQyLAotKyAweEVFLCAweEM0LCAweDZDLCAweDRB LCAweDg3LCAweDRFLCAweDk4LCAweDIyLCAweEI2LCAweEJCLCAweEIwLCAweDNBLAotKyAweDcw LCAweEE5LCAweENDLCAweEJDLCAweDMxLCAweDI3LCAweEU3LCAweEJDLCAweENBLCAweEVDLCAw eDUyLCAweDgxLAotKyAweDc2LCAweDlBLCAweDNGLCAweDE4LCAweEMxLCAweDFDLCAweDRBLCAw eEM3LCAweDU2LCAweEUzLCAweEYwLCAweDZGLAotKyAweDM2LCAweEJCLCAweDlCLCAweEY5LCAw eDQzLCAweDkwLCAweEJFLCAweDc5LCAweDU5LCAweDYzLCAweDFDLCAweEZFLAotKyAweEI2LCAw eDQ2LCAweDhCLCAweEJBLCAweEJELCAweEFBLCAweDI4LCAweDcxLCAweDlCLCAweEQ2LCAweERE LCAweDA1LAotKyAweDAwLCAweDNCLCAweEJDLCAweDJELCAweDQ4LCAweEU3LCAweDZFLCAweDZF LCAweDQyLCAweDk1LCAweDI3LCAweEFFLAotKyAweDkzLCAweDkyLCAweDZELCAweDU5LCAweDQ3 LCAweDEwLCAweDU5LCAweEFDLCAweERELCAweDk1LCAweDI5LCAweEMzLAotKyAweDFCLCAweDg2 LCAweDY3LCAweDEyLCAweDk4LCAweDQ4LCAweDEwLCAweEE2LCAweDkwLCAweEEzLCAweDU5LCAw eDlELAotKyAweDEwLCAweDRFLCAweEVBLCAweEQ4LCAweENCLCAweEUzLCAweDgxLCAweEJBLCAw eEExLCAweDUyLCAweDU1LCAweDc4LAotKyAweEZGLCAweDk1LCAweDQwLCAweEUwLCAweEFFLCAw eDkzLCAweDM4LCAweDVELCAweDIxLCAweDEzLCAweDhBLCAweEZDLAotKyAweDcyLCAweEM3LCAw eEZCLCAweDcwLCAweDFDLCAweEVFLCAweDVELCAweEIwLCAweEU1LCAweEZBLCAweDQ0LCAweDg2 LAotKyAweDY3LCAweDk3LCAweDY2LCAweDY0LCAweEE0LCAweDFFLCAweEY4LCAweDNBLCAweDE2 LCAweEY4LCAweEM5LCAweEUwLAotKyAweDA5LCAweEYzLCAweDYxLCAweDRGCi0gfTsKLSAKLSBz dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1g5MzFfU0hBNTEyW10gPSB7Ci0tICAw eEE2LCAweDY1LCAweEEyLCAweDc3LCAweDRGLCAweEIzLCAweDg2LCAweENCLCAweDY0LCAweDNB LCAweEMxLCAweDYzLAotLSAgMHhGQywgMHhBMSwgMHhBQSwgMHhDQiwgMHg5QiwgMHg3OSwgMHhE RCwgMHg0QiwgMHhFMSwgMHhEOSwgMHhEQSwgMHhBQywKLS0gIDB4RTcsIDB4NDcsIDB4MDksIDB4 QjIsIDB4MTEsIDB4NEIsIDB4OEEsIDB4QUEsIDB4MDUsIDB4OUUsIDB4NzcsIDB4RDcsCi0tICAw eDNBLCAweEJELCAweDVFLCAweDUzLCAweDA5LCAweDRBLCAweEU2LCAweDBGLCAweDVFLCAweEY5 LCAweDE0LCAweDI4LAotLSAgMHhBMCwgMHg5OSwgMHg3NCwgMHg2NCwgMHg3MCwgMHg0RSwgMHhG MiwgMHhFMywgMHhGQSwgMHhDNywgMHhGOCwgMHhDNSwKLS0gIDB4NkUsIDB4MkIsIDB4NzksIDB4 OTYsIDB4MEQsIDB4MEMsIDB4QzgsIDB4MTAsIDB4MzQsIDB4NTMsIDB4RDIsIDB4QUYsCi0tICAw eDE3LCAweDBFLCAweEUwLCAweEJGLCAweDc5LCAweEY2LCAweDA0LCAweDcyLCAweDEwLCAweEUw LCAweEY2LCAweEQwLAotLSAgMHhDRSwgMHg4QSwgMHg2RiwgMHhBMSwgMHg5NSwgMHg4OSwgMHhC RiwgMHg1OCwgMHg4RiwgMHg0NiwgMHg1RiwgMHgwOSwKLS0gIDB4OUYsIDB4MDksIDB4Q0EsIDB4 ODQsIDB4MTUsIDB4ODUsIDB4RTAsIDB4RUQsIDB4MDQsIDB4MkQsIDB4RkIsIDB4N0MsCi0tICAw eDM2LCAweDM1LCAweDIxLCAweDMxLCAweEMzLCAweEZELCAweDkyLCAweDQyLCAweDExLCAweDMw LCAweDcxLCAweDFCLAotLSAgMHg2MCwgMHg4MywgMHgxOCwgMHg4OCwgMHhBMywgMHhGNSwgMHg1 OSwgMHhDMwotKyAweEM5LCAweDJCLCAweDZELCAweDUwLCAweEJCLCAweEQ4LCAweDBCLCAweDM1 LCAweEU4LCAweDc4LCAweEY1LCAweEZDLAotKyAweEJCLCAweDZBLCAweEI0LCAweDMyLCAweDYz LCAweDlDLCAweDc1LCAweDE5LCAweDFELCAweEZCLCAweDY4LCAweEMwLAotKyAweEZDLCAweDM0 LCAweENFLCAweDA5LCAweEZELCAweEY0LCAweDMzLCAweDQyLCAweDcwLCAweDI0LCAweDU3LCAw eEJDLAotKyAweEIzLCAweEJELCAweDI0LCAweDMzLCAweDlFLCAweDRCLCAweDAwLCAweENFLCAw eDE1LCAweEIzLCAweDI3LCAweEM2LAotKyAweDM5LCAweDdDLCAweEMxLCAweDI4LCAweDc1LCAw eEZFLCAweDdCLCAweDc2LCAweDRGLCAweEZCLCAweDYwLCAweEEwLAotKyAweDMwLCAweEJGLCAw eDc0LCAweDJDLCAweDlELCAweEU0LCAweEM4LCAweDAzLCAweEE4LCAweERFLCAweEI5LCAweDJB LAotKyAweEQ5LCAweDIzLCAweDI0LCAweERDLCAweEVFLCAweEYwLCAweEMxLCAweDhCLCAweDRE LCAweDEyLCAweDRBLCAweDQxLAotKyAweDMzLCAweDNCLCAweDIzLCAweEZFLCAweERELCAweEU5 LCAweEU4LCAweDU1LCAweDJCLCAweDNFLCAweEE0LCAweDFCLAotKyAweDk1LCAweDIxLCAweDJB LCAweEVGLCAweDg0LCAweDJFLCAweDEzLCAweDNELCAweDk3LCAweDdDLCAweDA4LCAweDg2LAot KyAweEIxLCAweDYwLCAweEE0LCAweEI5LCAweEM0LCAweDVBLCAweDVCLCAweDJELCAweDNGLCAw eEQ3LCAweDBELCAweEIyLAotKyAweDQxLCAweDcyLCAweDdBLCAweDdGLCAweEEzLCAweDEyLCAw eEIwLCAweEFELCAweDgwLCAweDJFLCAweEQ2LCAweEQzLAotKyAweDhBLCAweDcxLCAweDcyLCAw eDY3LCAweDk0LCAweDZGLCAweDUxLCAweDA1LCAweDM5LCAweEZELCAweEJFLCAweDkxLAotKyAw eERFLCAweDFELCAweDY1LCAweEU0LCAweEE3LCAweEE2LCAweDBGLCAweEE1LCAweDA4LCAweDFG LCAweEZDLCAweDUzLAotKyAweDQ4LCAweDdCLCAweEI4LCAweENFLCAweDc5LCAweERBLCAweERD LCAweDE4LCAweEQxLCAweEQzLCAweDhBLCAweDczLAotKyAweENFLCAweDVBLCAweDYyLCAweDFF LCAweDMzLCAweEQwLCAweDIxLCAweDlDLCAweEY5LCAweERFLCAweDlFLCAweDdFLAotKyAweDRE LCAweDBFLCAweDI0LCAweDMwLCAweDk0LCAweEI4LCAweERDLCAweDhCLCAweDU3LCAweDdFLCAw eDNCLCAweEM2LAotKyAweEQ3LCAweDBGLCAweEZDLCAweEE2LCAweDFGLCAweEVCLCAweEFGLCAw eDE5LCAweEQwLCAweEZGLCAweDNELCAweDYzLAotKyAweDAzLCAweDFELCAweEFCLCAweDExLCAw eDBDLCAweEFELCAweDQ1LCAweDQ2LCAweDY3LCAweDc2LCAweEM4LCAweDI2LAotKyAweEQ0LCAw eEQ0LCAweDcwLCAweDFGLCAweERGLCAweEVCLCAweEU1LCAweDdELCAweDc1LCAweEQ4LCAweDNC LCAweDUyLAotKyAweDZDLCAweEU3LCAweDIzLCAweENCLCAweEI5LCAweDFCLCAweEE0LCAweDJF LCAweDVCLCAweEVDLCAweEI0LCAweEI2LAotKyAweEI2LCAweDJELCAweDBCLCAweDYwLCAweEUz LCAweDdCLCAweDA1LCAweEU4LCAweDFFLCAweEFELCAweEM3LCAweEU3LAotKyAweEJFLCAweEY0 LCAweDcxLCAweEFFCi0gfTsKLSAKLStzdGF0aWMgaW50IGZpcHNfcnNhX2VuY3J5cHRfdGVzdChS U0EgKnJzYSwgY29uc3QgdW5zaWduZWQgY2hhciAqcGxhaW50ZXh0LCBpbnQgcHRsZW4pCi0rCXsK LSsJdW5zaWduZWQgY2hhciAqY3RidWYgPSBOVUxMLCAqcHRidWYgPSBOVUxMOwotKwlpbnQgcmV0 ID0gMDsKLSsJaW50IGxlbjsKLSsKLSsJY3RidWYgPSBPUEVOU1NMX21hbGxvYyhSU0Ffc2l6ZShy c2EpKTsKLSsJaWYgKCFjdGJ1ZikKLSsJCWdvdG8gZXJyOwotKwotKwlsZW4gPSBSU0FfcHVibGlj X2VuY3J5cHQocHRsZW4sIHBsYWludGV4dCwgY3RidWYsIHJzYSwgUlNBX1BLQ1MxX1BBRERJTkcp OwotKwlpZiAobGVuIDw9IDApCi0rCQlnb3RvIGVycjsKLSsJLyogQ2hlY2sgY2lwaGVydGV4dCBk b2Vzbid0IG1hdGNoIHBsYWludGV4dCAqLwotKwlpZiAobGVuID49IHB0bGVuICYmICFtZW1jbXAo cGxhaW50ZXh0LCBjdGJ1ZiwgcHRsZW4pKQotKwkJZ290byBlcnI7Ci0rCi0rCXB0YnVmID0gT1BF TlNTTF9tYWxsb2MoUlNBX3NpemUocnNhKSk7Ci0rCWlmICghcHRidWYpCi0rCQlnb3RvIGVycjsK LSsKLSsJbGVuID0gUlNBX3ByaXZhdGVfZGVjcnlwdChsZW4sIGN0YnVmLCBwdGJ1ZiwgcnNhLCBS U0FfUEtDUzFfUEFERElORyk7Ci0rCWlmIChsZW4gIT0gcHRsZW4pCi0rCQlnb3RvIGVycjsKLSsJ aWYgKG1lbWNtcChwdGJ1ZiwgcGxhaW50ZXh0LCBsZW4pKQotKwkJZ290byBlcnI7Ci0rCi0rCXJl dCA9IDE7Ci0rCi0rCWVycjoKLSsJaWYgKGN0YnVmKQotKwkJT1BFTlNTTF9mcmVlKGN0YnVmKTsK LSsJaWYgKHB0YnVmKQotKwkJT1BFTlNTTF9mcmVlKHB0YnVmKTsKLSsJcmV0dXJuIHJldDsKLSsJ fQotIAotIGludCBGSVBTX3NlbGZ0ZXN0X3JzYSgpCi0gCXsKLUBAIC0zNTMsNyArNTg3LDcgQEAg aW50IEZJUFNfc2VsZnRlc3RfcnNhKCkKLSAJaWYgKChwaz1FVlBfUEtFWV9uZXcoKSkgPT0gTlVM TCkKLSAJCWdvdG8gZXJyOwotIAotLQlFVlBfUEtFWV9hc3NpZ25fUlNBKHBrLCBrZXkpOwotKwlF VlBfUEtFWV9zZXQxX1JTQShwaywga2V5KTsKLSAKLSAJaWYgKCFmaXBzX3BrZXlfc2lnbmF0dXJl X3Rlc3QocGssIGthdF90YnMsIHNpemVvZihrYXRfdGJzKSAtIDEsCi0gCQkJCWthdF9SU0FfU0hB MSwgc2l6ZW9mKGthdF9SU0FfU0hBMSksCi1AQCAtNDMwLDEzICs2NjQsMTUgQEAgaW50IEZJUFNf c2VsZnRlc3RfcnNhKCkKLSAJCQkiUlNBIFNIQTUxMiBYOTMxIikpCi0gCQlnb3RvIGVycjsKLSAK LSsJaWYgKCFmaXBzX3JzYV9lbmNyeXB0X3Rlc3Qoa2V5LCBrYXRfdGJzLCBzaXplb2Yoa2F0X3Ri cykgLSAxKSkKLSsJCWdvdG8gZXJyOwotIAotIAlyZXQgPSAxOwotIAotIAllcnI6Ci0gCWlmIChw aykKLSAJCUVWUF9QS0VZX2ZyZWUocGspOwotLQllbHNlIGlmIChrZXkpCi0rCWlmIChrZXkpCi0g CQlSU0FfZnJlZShrZXkpOwotIAlyZXR1cm4gcmV0OwotIAl9Ci1kaWZmIC11cCBvcGVuc3NsLTEu MC4xZy9jcnlwdG8vZmlwcy9NYWtlZmlsZS5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWcvY3J5cHRv L2ZpcHMvTWFrZWZpbGUKLS0tLSBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZmlwcy9NYWtlZmlsZS5m aXBzLXJlcXMJMjAxNC0wNS0wNiAxNjoyMjoyMS40MjA1NDAwMDggKzAyMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZy9jcnlwdG8vZmlwcy9NYWtlZmlsZQkyMDE0LTA1LTA2IDE2OjIyOjIxLjQzNDU0MDMz MCArMDIwMAotQEAgLTI0LDEzICsyNCwxNSBAQCBMSUJTUkM9Zmlwc19hZXNfc2VsZnRlc3QuYyBm aXBzX2Rlc19zZWxmCi0gICAgIGZpcHNfcnNhX3NlbGZ0ZXN0LmMgZmlwc19zaGFfc2VsZnRlc3Qu YyBmaXBzLmMgZmlwc19kc2Ffc2VsZnRlc3QuYyAgZmlwc19yYW5kLmMgXAotICAgICBmaXBzX3Jz YV94OTMxZy5jIGZpcHNfcG9zdC5jIGZpcHNfZHJiZ19jdHIuYyBmaXBzX2RyYmdfaGFzaC5jIGZp cHNfZHJiZ19obWFjLmMgXAotICAgICBmaXBzX2RyYmdfbGliLmMgZmlwc19kcmJnX3JhbmQuYyBm aXBzX2RyYmdfc2VsZnRlc3QuYyBmaXBzX3JhbmRfbGliLmMgXAotLSAgICBmaXBzX2NtYWNfc2Vs ZnRlc3QuYyBmaXBzX2VjZGhfc2VsZnRlc3QuYyBmaXBzX2VjZHNhX3NlbGZ0ZXN0LmMgZmlwc19l bmMuYyBmaXBzX21kLmMKLSsgICAgZmlwc19jbWFjX3NlbGZ0ZXN0LmMgZmlwc19lY2RoX3NlbGZ0 ZXN0LmMgZmlwc19lY2RzYV9zZWxmdGVzdC5jIGZpcHNfZW5jLmMgZmlwc19tZC5jIFwKLSsgICAg Zmlwc19kaF9zZWxmdGVzdC5jCi0gCi0gTElCT0JKPWZpcHNfYWVzX3NlbGZ0ZXN0Lm8gZmlwc19k ZXNfc2VsZnRlc3QubyBmaXBzX2htYWNfc2VsZnRlc3QubyBmaXBzX3JhbmRfc2VsZnRlc3QubyBc Ci0gICAgIGZpcHNfcnNhX3NlbGZ0ZXN0Lm8gZmlwc19zaGFfc2VsZnRlc3QubyBmaXBzLm8gZmlw c19kc2Ffc2VsZnRlc3QubyAgZmlwc19yYW5kLm8gXAotICAgICBmaXBzX3JzYV94OTMxZy5vIGZp cHNfcG9zdC5vIGZpcHNfZHJiZ19jdHIubyBmaXBzX2RyYmdfaGFzaC5vIGZpcHNfZHJiZ19obWFj Lm8gXAotICAgICBmaXBzX2RyYmdfbGliLm8gZmlwc19kcmJnX3JhbmQubyBmaXBzX2RyYmdfc2Vs ZnRlc3QubyBmaXBzX3JhbmRfbGliLm8gXAotLSAgICBmaXBzX2NtYWNfc2VsZnRlc3QubyBmaXBz X2VjZGhfc2VsZnRlc3QubyBmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm8gZmlwc19lbmMubyBmaXBzX21k Lm8KLSsgICAgZmlwc19jbWFjX3NlbGZ0ZXN0Lm8gZmlwc19lY2RoX3NlbGZ0ZXN0Lm8gZmlwc19l Y2RzYV9zZWxmdGVzdC5vIGZpcHNfZW5jLm8gZmlwc19tZC5vIFwKLSsgICAgZmlwc19kaF9zZWxm dGVzdC5vCi0gCi0gTElCQ1JZUFRPPS1MLi4gLWxjcnlwdG8KLSAKLWRpZmYgLXVwIG9wZW5zc2wt MS4wLjFnL2NyeXB0by9tb2Rlcy9nY20xMjguYy5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWcvY3J5 cHRvL21vZGVzL2djbTEyOC5jCi0tLS0gb3BlbnNzbC0xLjAuMWcvY3J5cHRvL21vZGVzL2djbTEy OC5jLmZpcHMtcmVxcwkyMDE0LTA0LTA2IDE3OjU1OjAxLjAwMDAwMDAwMCArMDIwMAotKysrIG9w ZW5zc2wtMS4wLjFnL2NyeXB0by9tb2Rlcy9nY20xMjguYwkyMDE0LTA1LTA2IDE2OjIyOjIxLjQz NDU0MDMzMCArMDIwMAotQEAgLTkwNiw2ICs5MDYsMTAgQEAgaW50IENSWVBUT19nY20xMjhfZW5j cnlwdChHQ00xMjhfQ09OVEVYVAotICMgZW5kaWYKLSAjZW5kaWYKLSAKLSsJY3R4LT50b3RsZW4g Kz0gbGVuOwotKwlpZiAoY3R4LT50b3RsZW4+KFU2NCgxKTw8MzYpIHx8IChzaXplb2YobGVuKT09 OCAmJiBjdHgtPnRvdGxlbjxsZW4pKQotKwkJcmV0dXJuIC0xOwotKwotICNpZiAwCi0gCW4gPSAo dW5zaWduZWQgaW50KW1sZW4lMTY7IC8qIGFsdGVybmF0aXZlIHRvIGN0eC0+bXJlcyAqLwotICNl bmRpZgotQEAgLTEyNjksNiArMTI3MywxMCBAQCBpbnQgQ1JZUFRPX2djbTEyOF9lbmNyeXB0X2N0 cjMyKEdDTTEyOF9DCi0gIyBlbmRpZgotICNlbmRpZgotIAotKwljdHgtPnRvdGxlbiArPSBsZW47 Ci0rCWlmIChjdHgtPnRvdGxlbj4oVTY0KDEpPDwzNikgfHwgKHNpemVvZihsZW4pPT04ICYmIGN0 eC0+dG90bGVuPGxlbikpCi0rCQlyZXR1cm4gLTE7Ci0rCi0gCW1sZW4gKz0gbGVuOwotIAlpZiAo bWxlbj4oKFU2NCgxKTw8MzYpLTMyKSB8fCAoc2l6ZW9mKGxlbik9PTggJiYgbWxlbjxsZW4pKQot IAkJcmV0dXJuIC0xOwotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL21vZGVzL21vZGVz X2xjbC5oLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vbW9kZXMvbW9kZXNfbGNsLmgK LS0tLSBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vbW9kZXMvbW9kZXNfbGNsLmguZmlwcy1yZXFzCTIw MTQtMDUtMDYgMTY6MjI6MjAuOTAzNTI4MDU0ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWcvY3J5 cHRvL21vZGVzL21vZGVzX2xjbC5oCTIwMTQtMDUtMDYgMTY6MjI6MjEuNDM1NTQwMzUzICswMjAw Ci1AQCAtMTEyLDYgKzExMiw3IEBAIHN0cnVjdCBnY20xMjhfY29udGV4dCB7Ci0gCXVuc2lnbmVk IGludCBtcmVzLCBhcmVzOwotIAlibG9jazEyOF9mIGJsb2NrOwotIAl2b2lkICprZXk7Ci0rCXU2 NCB0b3RsZW47Ci0gfTsKLSAKLSBzdHJ1Y3QgeHRzMTI4X2NvbnRleHQgewotZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWcvY3J5cHRvL3JhbmQvbWRfcmFuZC5jLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4x Zy9jcnlwdG8vcmFuZC9tZF9yYW5kLmMKLS0tLSBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vcmFuZC9t ZF9yYW5kLmMuZmlwcy1yZXFzCTIwMTQtMDUtMDYgMTY6MjI6MjEuMjY5NTM2NTE1ICswMjAwCi0r Kysgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL3JhbmQvbWRfcmFuZC5jCTIwMTQtMDUtMDYgMTY6MjY6 NTMuNzc2ODM2NTM1ICswMjAwCi1AQCAtMTQzLDEyICsxNDMsNiBAQCBzdGF0aWMgbG9uZyBtZF9j b3VudFsyXT17MCwwfTsKLSBzdGF0aWMgZG91YmxlIGVudHJvcHk9MDsKLSBzdGF0aWMgaW50IGlu aXRpYWxpemVkPTA7Ci0gCi0tc3RhdGljIHVuc2lnbmVkIGludCBjcnlwdG9fbG9ja19yYW5kID0g MDsgLyogbWF5IGJlIHNldCBvbmx5IHdoZW4gYSB0aHJlYWQKLS0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKiBob2xkcyBDUllQVE9fTE9DS19SQU5ECi0tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogKHRvIHByZXZlbnQgZG91Ymxl IGxvY2tpbmcpICovCi0tLyogYWNjZXNzIHRvIGxvY2tpbl90aHJlYWQgaXMgc3luY2hyb25pemVk IGJ5IENSWVBUT19MT0NLX1JBTkQyICovCi0tc3RhdGljIENSWVBUT19USFJFQURJRCBsb2NraW5n X3RocmVhZGlkOyAvKiB2YWxpZCBpZmYgY3J5cHRvX2xvY2tfcmFuZCBpcyBzZXQgKi8KLS0KLSAK LSAjaWZkZWYgUFJFRElDVAotIGludCByYW5kX3ByZWRpY3RhYmxlPTA7Ci1AQCAtMTk2LDcgKzE5 MCw3IEBAIHN0YXRpYyB2b2lkIHNzbGVheV9yYW5kX2FkZChjb25zdCB2b2lkICoKLSAJbG9uZyBt ZF9jWzJdOwotIAl1bnNpZ25lZCBjaGFyIGxvY2FsX21kW01EX0RJR0VTVF9MRU5HVEhdOwotIAlF VlBfTURfQ1RYIG07Ci0tCWludCBkb19ub3RfbG9jazsKLSsJaW50IGxvY2tlZDsKLSAKLSAJaWYg KCFudW0pCi0gCQlyZXR1cm47Ci1AQCAtMjE2LDE5ICsyMTAsOCBAQCBzdGF0aWMgdm9pZCBzc2xl YXlfcmFuZF9hZGQoY29uc3Qgdm9pZCAqCi0gICAgICAgICAgKiBoYXNoIGZ1bmN0aW9uLgotIAkg Ki8KLSAKLS0JLyogY2hlY2sgaWYgd2UgYWxyZWFkeSBoYXZlIHRoZSBsb2NrICovCi0tCWlmIChj cnlwdG9fbG9ja19yYW5kKQotLQkJewotLQkJQ1JZUFRPX1RIUkVBRElEIGN1cjsKLS0JCUNSWVBU T19USFJFQURJRF9jdXJyZW50KCZjdXIpOwotLQkJQ1JZUFRPX3JfbG9jayhDUllQVE9fTE9DS19S QU5EMik7Ci0tCQlkb19ub3RfbG9jayA9ICFDUllQVE9fVEhSRUFESURfY21wKCZsb2NraW5nX3Ro cmVhZGlkLCAmY3VyKTsKLS0JCUNSWVBUT19yX3VubG9jayhDUllQVE9fTE9DS19SQU5EMik7Ci0t CQl9Ci0tCWVsc2UKLS0JCWRvX25vdF9sb2NrID0gMDsKLSsJbG9ja2VkID0gcHJpdmF0ZV9SQU5E X2xvY2soMSk7Ci0gCi0tCWlmICghZG9fbm90X2xvY2spIENSWVBUT193X2xvY2soQ1JZUFRPX0xP Q0tfUkFORCk7Ci0gCXN0X2lkeD1zdGF0ZV9pbmRleDsKLSAKLSAJLyogdXNlIG91ciBvd24gY29w aWVzIG9mIHRoZSBjb3VudGVycyBzbyB0aGF0IGV2ZW4KLUBAIC0yNjAsNyArMjQzLDggQEAgc3Rh dGljIHZvaWQgc3NsZWF5X3JhbmRfYWRkKGNvbnN0IHZvaWQgKgotIAotIAltZF9jb3VudFsxXSAr PSAobnVtIC8gTURfRElHRVNUX0xFTkdUSCkgKyAobnVtICUgTURfRElHRVNUX0xFTkdUSCA+IDAp OwotIAotLQlpZiAoIWRvX25vdF9sb2NrKSBDUllQVE9fd191bmxvY2soQ1JZUFRPX0xPQ0tfUkFO RCk7Ci0rCWlmIChsb2NrZWQpCi0rCQlwcml2YXRlX1JBTkRfbG9jaygwKTsKLSAKLSAJRVZQX01E X0NUWF9pbml0KCZtKTsKLSAJZm9yIChpPTA7IGk8bnVtOyBpKz1NRF9ESUdFU1RfTEVOR1RIKQot QEAgLTMxMSw3ICsyOTUsNyBAQCBzdGF0aWMgdm9pZCBzc2xlYXlfcmFuZF9hZGQoY29uc3Qgdm9p ZCAqCi0gCQl9Ci0gCUVWUF9NRF9DVFhfY2xlYW51cCgmbSk7Ci0gCi0tCWlmICghZG9fbm90X2xv Y2spIENSWVBUT193X2xvY2soQ1JZUFRPX0xPQ0tfUkFORCk7Ci0rCWxvY2tlZCA9IHByaXZhdGVf UkFORF9sb2NrKDEpOwotIAkvKiBEb24ndCBqdXN0IGNvcHkgYmFjayBsb2NhbF9tZCBpbnRvIG1k IC0tIHRoaXMgY291bGQgbWVhbiB0aGF0Ci0gCSAqIG90aGVyIHRocmVhZCdzIHNlZWRpbmcgcmVt YWlucyB3aXRob3V0IGVmZmVjdCAoZXhjZXB0IGZvcgotIAkgKiB0aGUgaW5jcmVtZW50ZWQgY291 bnRlcikuICBCeSBYT1JpbmcgaXQgd2Uga2VlcCBhdCBsZWFzdCBhcwotQEAgLTMyMiw3ICszMDYs OCBAQCBzdGF0aWMgdm9pZCBzc2xlYXlfcmFuZF9hZGQoY29uc3Qgdm9pZCAqCi0gCQl9Ci0gCWlm IChlbnRyb3B5IDwgRU5UUk9QWV9ORUVERUQpIC8qIHN0b3AgY291bnRpbmcgd2hlbiB3ZSBoYXZl IGVub3VnaCAqLwotIAkgICAgZW50cm9weSArPSBhZGQ7Ci0tCWlmICghZG9fbm90X2xvY2spIENS WVBUT193X3VubG9jayhDUllQVE9fTE9DS19SQU5EKTsKLSsJaWYgKGxvY2tlZCkKLSsJCXByaXZh dGVfUkFORF9sb2NrKDApOwotIAkKLSAjaWYgIWRlZmluZWQoT1BFTlNTTF9USFJFQURTKSAmJiAh ZGVmaW5lZChPUEVOU1NMX1NZU19XSU4zMikKLSAJYXNzZXJ0KG1kX2NbMV0gPT0gbWRfY291bnRb MV0pOwotQEAgLTM0Nyw2ICszMzIsNyBAQCBzdGF0aWMgaW50IHNzbGVheV9yYW5kX2J5dGVzKHVu c2lnbmVkIGNoCi0gCXBpZF90IGN1cnJfcGlkID0gZ2V0cGlkKCk7Ci0gI2VuZGlmCi0gCWludCBk b19zdGlyX3Bvb2wgPSAwOwotKwlpbnQgbG9ja2VkOwotIAotICNpZmRlZiBQUkVESUNUCi0gCWlm IChyYW5kX3ByZWRpY3RhYmxlKQotQEAgLTM4MywxNyArMzY5LDggQEAgc3RhdGljIGludCBzc2xl YXlfcmFuZF9ieXRlcyh1bnNpZ25lZCBjaAotIAkgKiBhcmUgZmVkIGludG8gdGhlIGhhc2ggZnVu Y3Rpb24gYW5kIHRoZSByZXN1bHRzIGFyZSBrZXB0IGluIHRoZQotIAkgKiBnbG9iYWwgJ21kJy4K LSAJICovCi0tI2lmZGVmIE9QRU5TU0xfRklQUwotLQkvKiBOQjogaW4gRklQUyBtb2RlIHdlIGFy ZSBhbHJlYWR5IHVuZGVyIGEgbG9jayAqLwotLQlpZiAoIUZJUFNfbW9kZSgpKQotLSNlbmRpZgot LQkJQ1JZUFRPX3dfbG9jayhDUllQVE9fTE9DS19SQU5EKTsKLSAKLS0JLyogcHJldmVudCBzc2xl YXlfcmFuZF9ieXRlcygpIGZyb20gdHJ5aW5nIHRvIG9idGFpbiB0aGUgbG9jayBhZ2FpbiAqLwot LQlDUllQVE9fd19sb2NrKENSWVBUT19MT0NLX1JBTkQyKTsKLS0JQ1JZUFRPX1RIUkVBRElEX2N1 cnJlbnQoJmxvY2tpbmdfdGhyZWFkaWQpOwotLQlDUllQVE9fd191bmxvY2soQ1JZUFRPX0xPQ0tf UkFORDIpOwotLQljcnlwdG9fbG9ja19yYW5kID0gMTsKLSsJbG9ja2VkID0gcHJpdmF0ZV9SQU5E X2xvY2soMSk7Ci0gCi0gCS8qIGFsd2F5cyBwb2xsIGZvciBleHRlcm5hbCBlbnRyb3B5IGluIEZJ UFMgbW9kZSwgZHJiZyBwcm92aWRlcyB0aGUgCi0gCSAqIGV4cGFuc2lvbgotQEAgLTQ2NywxMiAr NDQ0LDggQEAgc3RhdGljIGludCBzc2xlYXlfcmFuZF9ieXRlcyh1bnNpZ25lZCBjaAotIAotIAlt ZF9jb3VudFswXSArPSAxOwotIAotLQkvKiBiZWZvcmUgdW5sb2NraW5nLCB3ZSBtdXN0IGNsZWFy ICdjcnlwdG9fbG9ja19yYW5kJyAqLwotLQljcnlwdG9fbG9ja19yYW5kID0gMDsKLS0jaWZkZWYg T1BFTlNTTF9GSVBTCi0tCWlmICghRklQU19tb2RlKCkpCi0tI2VuZGlmCi0tCQlDUllQVE9fd191 bmxvY2soQ1JZUFRPX0xPQ0tfUkFORCk7Ci0rCWlmIChsb2NrZWQpCi0rCQlwcml2YXRlX1JBTkRf bG9jaygwKTsKLSAKLSAJd2hpbGUgKG51bSA+IDApCi0gCQl7Ci1AQCAtNTI0LDE2ICs0OTcsMTEg QEAgc3RhdGljIGludCBzc2xlYXlfcmFuZF9ieXRlcyh1bnNpZ25lZCBjaAotIAlNRF9Jbml0KCZt KTsKLSAJTURfVXBkYXRlKCZtLCh1bnNpZ25lZCBjaGFyICopJihtZF9jWzBdKSxzaXplb2YobWRf YykpOwotIAlNRF9VcGRhdGUoJm0sbG9jYWxfbWQsTURfRElHRVNUX0xFTkdUSCk7Ci0tI2lmZGVm IE9QRU5TU0xfRklQUwotLQlpZiAoIUZJUFNfbW9kZSgpKQotLSNlbmRpZgotLQkJQ1JZUFRPX3df bG9jayhDUllQVE9fTE9DS19SQU5EKTsKLSsJbG9ja2VkID0gcHJpdmF0ZV9SQU5EX2xvY2soMSk7 Ci0gCU1EX1VwZGF0ZSgmbSxtZCxNRF9ESUdFU1RfTEVOR1RIKTsKLSAJTURfRmluYWwoJm0sbWQp OwotLSNpZmRlZiBPUEVOU1NMX0ZJUFMKLS0JaWYgKCFGSVBTX21vZGUoKSkKLS0jZW5kaWYKLS0J CUNSWVBUT193X3VubG9jayhDUllQVE9fTE9DS19SQU5EKTsKLSsJaWYgKGxvY2tlZCkKLSsJCXBy aXZhdGVfUkFORF9sb2NrKDApOwotIAotIAlFVlBfTURfQ1RYX2NsZWFudXAoJm0pOwotIAlpZiAo b2spCi1AQCAtNTYzLDMyICs1MzEsMTAgQEAgc3RhdGljIGludCBzc2xlYXlfcmFuZF9wc2V1ZG9f Ynl0ZXModW5zaQotIAotIHN0YXRpYyBpbnQgc3NsZWF5X3JhbmRfc3RhdHVzKHZvaWQpCi0gCXsK LS0JQ1JZUFRPX1RIUkVBRElEIGN1cjsKLSAJaW50IHJldDsKLS0JaW50IGRvX25vdF9sb2NrOwot KwlpbnQgbG9ja2VkOwotIAotLQlDUllQVE9fVEhSRUFESURfY3VycmVudCgmY3VyKTsKLS0JLyog Y2hlY2sgaWYgd2UgYWxyZWFkeSBoYXZlIHRoZSBsb2NrCi0tCSAqIChjb3VsZCBoYXBwZW4gaWYg YSBSQU5EX3BvbGwoKSBpbXBsZW1lbnRhdGlvbiBjYWxscyBSQU5EX3N0YXR1cygpKSAqLwotLQlp ZiAoY3J5cHRvX2xvY2tfcmFuZCkKLS0JCXsKLS0JCUNSWVBUT19yX2xvY2soQ1JZUFRPX0xPQ0tf UkFORDIpOwotLQkJZG9fbm90X2xvY2sgPSAhQ1JZUFRPX1RIUkVBRElEX2NtcCgmbG9ja2luZ190 aHJlYWRpZCwgJmN1cik7Ci0tCQlDUllQVE9fcl91bmxvY2soQ1JZUFRPX0xPQ0tfUkFORDIpOwot LQkJfQotLQllbHNlCi0tCQlkb19ub3RfbG9jayA9IDA7Ci0tCQotLQlpZiAoIWRvX25vdF9sb2Nr KQotLQkJewotLQkJQ1JZUFRPX3dfbG9jayhDUllQVE9fTE9DS19SQU5EKTsKLS0JCQotLQkJLyog cHJldmVudCBzc2xlYXlfcmFuZF9ieXRlcygpIGZyb20gdHJ5aW5nIHRvIG9idGFpbiB0aGUgbG9j ayBhZ2FpbiAqLwotLQkJQ1JZUFRPX3dfbG9jayhDUllQVE9fTE9DS19SQU5EMik7Ci0tCQlDUllQ VE9fVEhSRUFESURfY3B5KCZsb2NraW5nX3RocmVhZGlkLCAmY3VyKTsKLS0JCUNSWVBUT193X3Vu bG9jayhDUllQVE9fTE9DS19SQU5EMik7Ci0tCQljcnlwdG9fbG9ja19yYW5kID0gMTsKLS0JCX0K LSsJbG9ja2VkID0gcHJpdmF0ZV9SQU5EX2xvY2soMSk7Ci0gCQotIAlpZiAoIWluaXRpYWxpemVk KQotIAkJewotQEAgLTU5OCwxMyArNTQ0LDggQEAgc3RhdGljIGludCBzc2xlYXlfcmFuZF9zdGF0 dXModm9pZCkKLSAKLSAJcmV0ID0gZW50cm9weSA+PSBFTlRST1BZX05FRURFRDsKLSAKLS0JaWYg KCFkb19ub3RfbG9jaykKLS0JCXsKLS0JCS8qIGJlZm9yZSB1bmxvY2tpbmcsIHdlIG11c3QgY2xl YXIgJ2NyeXB0b19sb2NrX3JhbmQnICovCi0tCQljcnlwdG9fbG9ja19yYW5kID0gMDsKLS0JCQot LQkJQ1JZUFRPX3dfdW5sb2NrKENSWVBUT19MT0NLX1JBTkQpOwotLQkJfQotKwlpZiAobG9ja2Vk KQotKwkJcHJpdmF0ZV9SQU5EX2xvY2soMCk7Ci0gCQotIAlyZXR1cm4gcmV0OwotIAl9Ci1kaWZm IC11cCBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vcmFuZC9yYW5kLmguZmlwcy1yZXFzIG9wZW5zc2wt MS4wLjFnL2NyeXB0by9yYW5kL3JhbmQuaAotLS0tIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9yYW5k L3JhbmQuaC5maXBzLXJlcXMJMjAxNC0wNS0wNiAxNjoyMjoyMS4yNjk1MzY1MTUgKzAyMDAKLSsr KyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vcmFuZC9yYW5kLmgJMjAxNC0wNS0wNiAxNjoyMjoyMS40 MzU1NDAzNTMgKzAyMDAKLUBAIC0xMjQsNiArMTI0LDggQEAgdm9pZCBSQU5EX3NldF9maXBzX2Ry YmdfdHlwZShpbnQgdHlwZSwgaQotIGludCBSQU5EX2luaXRfZmlwcyh2b2lkKTsKLSAjZW5kaWYK LSAKLStpbnQgcHJpdmF0ZV9SQU5EX2xvY2soaW50IGxvY2spOwotKwotIC8qIEJFR0lOIEVSUk9S IENPREVTICovCi0gLyogVGhlIGZvbGxvd2luZyBsaW5lcyBhcmUgYXV0byBnZW5lcmF0ZWQgYnkg dGhlIHNjcmlwdCBta2Vyci5wbC4gQW55IGNoYW5nZXMKLSAgKiBtYWRlIGFmdGVyIHRoaXMgcG9p bnQgbWF5IGJlIG92ZXJ3cml0dGVuIHdoZW4gdGhlIHNjcmlwdCBpcyBuZXh0IHJ1bi4KLWRpZmYg LXVwIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9yYW5kL3JhbmRfbGNsLmguZmlwcy1yZXFzIG9wZW5z c2wtMS4wLjFnL2NyeXB0by9yYW5kL3JhbmRfbGNsLmgKLS0tLSBvcGVuc3NsLTEuMC4xZy9jcnlw dG8vcmFuZC9yYW5kX2xjbC5oLmZpcHMtcmVxcwkyMDE0LTA1LTA2IDE2OjIyOjIxLjAyMTUzMDc4 MiArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9yYW5kL3JhbmRfbGNsLmgJMjAxNC0w NS0wNiAxNjoyMjoyMS40MzU1NDAzNTMgKzAyMDAKLUBAIC0xMTIsNyArMTEyLDcgQEAKLSAjaWZu ZGVmIEhFQURFUl9SQU5EX0xDTF9ICi0gI2RlZmluZSBIRUFERVJfUkFORF9MQ0xfSAotIAotLSNk ZWZpbmUgRU5UUk9QWV9ORUVERUQgMzIgIC8qIHJlcXVpcmUgMjU2IGJpdHMgPSAzMiBieXRlcyBv ZiByYW5kb21uZXNzICovCi0rI2RlZmluZSBFTlRST1BZX05FRURFRCA0OCAgLyogcmVxdWlyZSAz ODQgYml0cyA9IDQ4IGJ5dGVzIG9mIHJhbmRvbW5lc3MgKi8KLSAKLSAKLSAjaWYgIWRlZmluZWQo VVNFX01ENV9SQU5EKSAmJiAhZGVmaW5lZChVU0VfU0hBMV9SQU5EKSAmJiAhZGVmaW5lZChVU0Vf TURDMl9SQU5EKSAmJiAhZGVmaW5lZChVU0VfTUQyX1JBTkQpCi1kaWZmIC11cCBvcGVuc3NsLTEu MC4xZy9jcnlwdG8vcmFuZC9yYW5kX2xpYi5jLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xZy9jcnlw dG8vcmFuZC9yYW5kX2xpYi5jCi0tLS0gb3BlbnNzbC0xLjAuMWcvY3J5cHRvL3JhbmQvcmFuZF9s aWIuYy5maXBzLXJlcXMJMjAxNC0wMy0xNyAxNzoxNDoyMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBv cGVuc3NsLTEuMC4xZy9jcnlwdG8vcmFuZC9yYW5kX2xpYi5jCTIwMTQtMDUtMDYgMTY6MjI6MjEu NDM1NTQwMzUzICswMjAwCi1AQCAtMTgxLDYgKzE4MSw0MSBAQCBpbnQgUkFORF9zdGF0dXModm9p ZCkKLSAJcmV0dXJuIDA7Ci0gCX0KLSAKLStpbnQgcHJpdmF0ZV9SQU5EX2xvY2soaW50IGxvY2sp Ci0rCXsKLSsJc3RhdGljIGludCBjcnlwdG9fbG9ja19yYW5kOwotKwlzdGF0aWMgQ1JZUFRPX1RI UkVBRElEIGxvY2tpbmdfdGhyZWFkaWQ7Ci0rCWludCBkb19sb2NrOwotKwotKwlpZiAoIWxvY2sp Ci0rCQl7Ci0rCQljcnlwdG9fbG9ja19yYW5kID0gMDsKLSsJCUNSWVBUT193X3VubG9jayhDUllQ VE9fTE9DS19SQU5EKTsKLSsJCXJldHVybiAwOwotKwkJfQotKwotKwkvKiBjaGVjayBpZiB3ZSBh bHJlYWR5IGhhdmUgdGhlIGxvY2sgKi8KLSsJaWYgKGNyeXB0b19sb2NrX3JhbmQpCi0rCQl7Ci0r CQlDUllQVE9fVEhSRUFESUQgY3VyOwotKwkJQ1JZUFRPX1RIUkVBRElEX2N1cnJlbnQoJmN1cik7 Ci0rCQlDUllQVE9fcl9sb2NrKENSWVBUT19MT0NLX1JBTkQyKTsKLSsJCWRvX2xvY2sgPSAhIUNS WVBUT19USFJFQURJRF9jbXAoJmxvY2tpbmdfdGhyZWFkaWQsICZjdXIpOwotKwkJQ1JZUFRPX3Jf dW5sb2NrKENSWVBUT19MT0NLX1JBTkQyKTsKLSsJCX0KLSsgICAgICAgIGVsc2UKLSsJCWRvX2xv Y2sgPSAxOwotKwlpZiAoZG9fbG9jaykKLSsJCXsKLSsJCUNSWVBUT193X2xvY2soQ1JZUFRPX0xP Q0tfUkFORCk7Ci0rCQljcnlwdG9fbG9ja19yYW5kID0gMTsKLSsJCUNSWVBUT193X2xvY2soQ1JZ UFRPX0xPQ0tfUkFORDIpOwotKwkJQ1JZUFRPX1RIUkVBRElEX2N1cnJlbnQoJmxvY2tpbmdfdGhy ZWFkaWQpOwotKwkJQ1JZUFRPX3dfdW5sb2NrKENSWVBUT19MT0NLX1JBTkQyKTsKLSsJCX0KLSsJ cmV0dXJuIGRvX2xvY2s7Ci0rCX0KLSsKLSAjaWZkZWYgT1BFTlNTTF9GSVBTCi0gCi0gLyogRklQ UyBEUkJHIGluaXRpYWxpc2F0aW9uIGNvZGUuIFRoaXMgc2V0cyB1cCB0aGUgRFJCRyBmb3IgdXNl IGJ5IHRoZQotQEAgLTIzOSwxMiArMjc0LDE2IEBAIHN0YXRpYyBpbnQgZHJiZ19yYW5kX2FkZChE UkJHX0NUWCAqY3R4LAotIAkJCQlkb3VibGUgZW50cm9weSkKLSAJewotIAlSQU5EX1NTTGVheSgp LT5hZGQoaW4sIGlubGVuLCBlbnRyb3B5KTsKLSsJaWYgKEZJUFNfcmFuZF9zdGF0dXMoKSkKLSsJ CUZJUFNfZHJiZ19yZXNlZWQoY3R4LCBOVUxMLCAwKTsKLSAJcmV0dXJuIDE7Ci0gCX0KLSAKLSBz dGF0aWMgaW50IGRyYmdfcmFuZF9zZWVkKERSQkdfQ1RYICpjdHgsIGNvbnN0IHZvaWQgKmluLCBp bnQgaW5sZW4pCi0gCXsKLSAJUkFORF9TU0xlYXkoKS0+c2VlZChpbiwgaW5sZW4pOwotKwlpZiAo RklQU19yYW5kX3N0YXR1cygpKQotKwkJRklQU19kcmJnX3Jlc2VlZChjdHgsIE5VTEwsIDApOwot IAlyZXR1cm4gMTsKLSAJfQotIAotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL3JzYS9y c2FfZ2VuLmMuZmlwcy1yZXFzIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9yc2EvcnNhX2dlbi5jCi0t LS0gb3BlbnNzbC0xLjAuMWcvY3J5cHRvL3JzYS9yc2FfZ2VuLmMuZmlwcy1yZXFzCTIwMTQtMDUt MDYgMTY6MjI6MjEuMjcwNTM2NTM4ICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL3Jz YS9yc2FfZ2VuLmMJMjAxNC0wNS0wNiAxNjoyMjoyMS40MzY1NDAzNzYgKzAyMDAKLUBAIC0xLDUg KzEsNiBAQAotIC8qIGNyeXB0by9yc2EvcnNhX2dlbi5jICovCi0gLyogQ29weXJpZ2h0IChDKSAx OTk1LTE5OTggRXJpYyBZb3VuZyAoZWF5QGNyeXB0c29mdC5jb20pCi0rICogQ29weXJpZ2h0IChD KSAyMDEzIFJlZCBIYXQsIEluYy4KLSAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICAqCi0gICog VGhpcyBwYWNrYWdlIGlzIGFuIFNTTCBpbXBsZW1lbnRhdGlvbiB3cml0dGVuCi1AQCAtMTY1LDYg KzE2NiwyMjIgQEAgaW50IFJTQV9nZW5lcmF0ZV9rZXlfZXgoUlNBICpyc2EsIGludCBiaQotIAly ZXR1cm4gcnNhX2J1aWx0aW5fa2V5Z2VuKHJzYSwgYml0cywgZV92YWx1ZSwgY2IpOwotIAl9Ci0g Ci0rI2lmZGVmIE9QRU5TU0xfRklQUwotK3N0YXRpYyBpbnQgRklQU19yc2FfYnVpbHRpbl9rZXln ZW4oUlNBICpyc2EsIGludCBiaXRzLCBCSUdOVU0gKmVfdmFsdWUsIEJOX0dFTkNCICpjYikKLSsJ ewotKwlCSUdOVU0gKnIwID0gTlVMTCwgKnIxID0gTlVMTCwgKnIyID0gTlVMTCwgKnIzID0gTlVM TCwgKnRtcDsKLSsJQklHTlVNIGxvY2FsX3IwLCBsb2NhbF9kLCBsb2NhbF9wOwotKwlCSUdOVU0g KnByMCwgKmQsICpwOwotKwlCTl9DVFggKmN0eCA9IE5VTEw7Ci0rCWludCBvayA9IC0xOwotKwlp bnQgaTsKLSsgICAgICAgIGludCBuID0gMDsKLSsJaW50IHRlc3QgPSAwOwotKyAgICAgICAgaW50 IHBiaXRzID0gYml0cy8yOwotKwotKwlpZihGSVBTX3NlbGZ0ZXN0X2ZhaWxlZCgpKQotKwkJewot KwkJRklQU2VycihGSVBTX0ZfUlNBX0JVSUxUSU5fS0VZR0VOLCBGSVBTX1JfRklQU19TRUxGVEVT VF9GQUlMRUQpOwotKwkgICAgCXJldHVybiAwOwotKwkgICAgCX0KLSsKLSsJaWYgKChwYml0cyAm IDB4RkYpIHx8IChnZXRlbnYoIk9QRU5TU0xfRU5GT1JDRV9NT0RVTFVTX0JJVFMiKSAmJiBiaXRz ICE9IDIwNDggJiYgYml0cyAhPSAzMDcyKSkKLSsJCXsKLSsJCUZJUFNlcnIoRklQU19GX1JTQV9C VUlMVElOX0tFWUdFTiwgRklQU19SX0lOVkFMSURfS0VZX0xFTkdUSCk7Ci0rCQlyZXR1cm4gMDsK LSsJCX0KLSsKLSsJY3R4ID0gQk5fQ1RYX25ldygpOwotKwlpZiAoY3R4ID09IE5VTEwpIGdvdG8g ZXJyOwotKwlCTl9DVFhfc3RhcnQoY3R4KTsKLSsJcjAgPSBCTl9DVFhfZ2V0KGN0eCk7Ci0rCXIx ID0gQk5fQ1RYX2dldChjdHgpOwotKwlyMiA9IEJOX0NUWF9nZXQoY3R4KTsKLSsJcjMgPSBCTl9D VFhfZ2V0KGN0eCk7Ci0rCi0rCWlmIChyMyA9PSBOVUxMKSBnb3RvIGVycjsKLSsKLSsJLyogV2Ug bmVlZCB0aGUgUlNBIGNvbXBvbmVudHMgbm9uLU5VTEwgKi8KLSsJaWYgKCFyc2EtPm4gJiYgKChy c2EtPm49Qk5fbmV3KCkpID09IE5VTEwpKSBnb3RvIGVycjsKLSsJaWYgKCFyc2EtPmQgJiYgKChy c2EtPmQ9Qk5fbmV3KCkpID09IE5VTEwpKSBnb3RvIGVycjsKLSsJaWYgKCFyc2EtPmUgJiYgKChy c2EtPmU9Qk5fbmV3KCkpID09IE5VTEwpKSBnb3RvIGVycjsKLSsJaWYgKCFyc2EtPnAgJiYgKChy c2EtPnA9Qk5fbmV3KCkpID09IE5VTEwpKSBnb3RvIGVycjsKLSsJaWYgKCFyc2EtPnEgJiYgKChy c2EtPnE9Qk5fbmV3KCkpID09IE5VTEwpKSBnb3RvIGVycjsKLSsJaWYgKCFyc2EtPmRtcDEgJiYg KChyc2EtPmRtcDE9Qk5fbmV3KCkpID09IE5VTEwpKSBnb3RvIGVycjsKLSsJaWYgKCFyc2EtPmRt cTEgJiYgKChyc2EtPmRtcTE9Qk5fbmV3KCkpID09IE5VTEwpKSBnb3RvIGVycjsKLSsJaWYgKCFy c2EtPmlxbXAgJiYgKChyc2EtPmlxbXA9Qk5fbmV3KCkpID09IE5VTEwpKSBnb3RvIGVycjsKLSsK LSsJaWYgKCFCTl9zZXRfd29yZChyMCwgUlNBX0Y0KSkgZ290byBlcnI7Ci0rCWlmIChCTl9jbXAo ZV92YWx1ZSwgcjApIDwgMCB8fCBCTl9udW1fYml0cyhlX3ZhbHVlKSA+IDI1NikKLSsJCXsKLSsJ CW9rID0gMDsgLyogd2Ugc2V0IG91ciBvd24gZXJyICovCi0rCQlSU0FlcnIoUlNBX0ZfUlNBX0JV SUxUSU5fS0VZR0VOLFJTQV9SX0JBRF9FX1ZBTFVFKTsKLSsJCWdvdG8gZXJyOwotKwkJfQotKwot KwkvKiBwcmVwYXJlIGFwcHJveGltYXRlIG1pbmltdW0gcCBhbmQgcSAqLwotKwlpZiAoIUJOX3Nl dF93b3JkKHIwLCAweEI1MDRGMzM0KSkgZ290byBlcnI7Ci0rCWlmICghQk5fbHNoaWZ0KHIwLCBy MCwgcGJpdHMgLSAzMikpIGdvdG8gZXJyOwotKwotKwkvKiBwcmVwYXJlIG1pbmltdW0gcCBhbmQg cSBkaWZmZXJlbmNlICovCi0rCWlmICghQk5fb25lKHIzKSkgZ290byBlcnI7Ci0rCWlmICghQk5f bHNoaWZ0KHIzLCByMywgcGJpdHMgLSAxMDApKSBnb3RvIGVycjsKLSsKLSsJQk5fY29weShyc2Et PmUsIGVfdmFsdWUpOwotKwotKwlpZiAoIUJOX2lzX3plcm8ocnNhLT5wKSAmJiAhQk5faXNfemVy byhyc2EtPnEpKQotKwkJdGVzdCA9IDE7Ci0rCi0rCS8qIGdlbmVyYXRlIHAgYW5kIHEgKi8KLSsJ Zm9yIChpID0gMDsgaSA8IDUgKiBwYml0czsgaSsrKQotKwkJewotKyAgICAgICAgcGxvb3A6Ci0r ICAgICAgICAgICAgICAgIGlmICghdGVzdCkKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAo IUJOX3JhbmQocnNhLT5wLCBwYml0cywgMCwgMSkpIGdvdG8gZXJyOwotKyAgICAgICAgICAgICAg ICBpZiAoQk5fY21wKHJzYS0+cCwgcjApIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICB7 Ci0rICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3QpIGdvdG8gZXJyOwotKyAgICAgICAg ICAgICAgICAgICAgICAgIGdvdG8gcGxvb3A7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgfQot KwotKwkJaWYgKCFCTl9zdWIocjIsIHJzYS0+cCwgQk5fdmFsdWVfb25lKCkpKSBnb3RvIGVycjsK LSsJCWlmICghQk5fZ2NkKHIxLCByMiwgcnNhLT5lLCBjdHgpKSBnb3RvIGVycjsKLSsJCWlmIChC Tl9pc19vbmUocjEpKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAg ICAgICAgICAgICBpbnQgcjsKLSsgICAgICAgICAgICAgICAgICAgICAgICByID0gQk5faXNfcHJp bWVfZmFzdHRlc3RfZXgocnNhLT5wLCBwYml0cz4xMDI0PzQ6NSwgY3R4LCAwLCBjYik7Ci0rICAg ICAgICAJCWlmIChyID09IC0xIHx8ICh0ZXN0ICYmIHIgPD0gMCkpIGdvdG8gZXJyOwotKyAgICAg ICAgCQlpZiAociA+IDApIGJyZWFrOwotKyAgICAgICAgICAgICAgICAgICAgICAgIH0gCi0rCi0r CQlpZighQk5fR0VOQ0JfY2FsbChjYiwgMiwgbisrKSkKLSsJCQlnb3RvIGVycjsKLSsJCX0KLSsK LSsJaWYoIUJOX0dFTkNCX2NhbGwoY2IsIDMsIDApKQotKwkJZ290byBlcnI7Ci0rCi0rICAgICAg ICBpZihpID49IDUqcGJpdHMpCi0rICAgICAgICAgICAgICAgIC8qIHByaW1lIG5vdCBmb3VuZCAq LwotKyAgICAgICAgICAgICAgICBnb3RvIGVycjsKLSsKLSsJZm9yIChpID0gMDsgaSA8IDUgKiBw Yml0czsgaSsrKQotKwkJewotKyAgICAgICAgcWxvb3A6Ci0rICAgICAgICAgICAgICAgIGlmICgh dGVzdCkKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIUJOX3JhbmQocnNhLT5xLCBwYml0 cywgMCwgMSkpIGdvdG8gZXJyOwotKyAgICAgICAgICAgICAgICBpZiAoQk5fY21wKHJzYS0+cSwg cjApIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKHRlc3QpIGdvdG8gZXJyOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8g cWxvb3A7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgfQotKyAgICAgICAJCWlmICghQk5fc3Vi KHIyLCByc2EtPnEsIHJzYS0+cCkpIGdvdG8gZXJyOwotKyAgICAgICAgICAgICAgICBpZiAoQk5f dWNtcChyMiwgcjMpIDw9IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgewotKyAgICAgICAg ICAgICAgICAgICAgICAgIGlmICh0ZXN0KSBnb3RvIGVycjsKLSsgICAgICAgICAgICAgICAgICAg ICAgICBnb3RvIHFsb29wOwotKyAgICAgICAgICAgICAgICAgICAgICAgIH0KLSsKLSsJCWlmICgh Qk5fc3ViKHIyLCByc2EtPnEsIEJOX3ZhbHVlX29uZSgpKSkgZ290byBlcnI7Ci0rCQlpZiAoIUJO X2djZChyMSwgcjIsIHJzYS0+ZSwgY3R4KSkgZ290byBlcnI7Ci0rCQlpZiAoQk5faXNfb25lKHIx KSkKLSsgICAgICAgICAgICAgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAg aW50IHI7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgciA9IEJOX2lzX3ByaW1lX2Zhc3R0ZXN0 X2V4KHJzYS0+cSwgcGJpdHM+MTAyND80OjUsIGN0eCwgMCwgY2IpOwotKyAgICAgICAgCQlpZiAo ciA9PSAtMSB8fCAodGVzdCAmJiByIDw9IDApKSBnb3RvIGVycjsKLSsgICAgICAgIAkJaWYgKHIg PiAwKSBicmVhazsKLSsgICAgICAgICAgICAgICAgICAgICAgICB9IAotKwotKwkJaWYoIUJOX0dF TkNCX2NhbGwoY2IsIDIsIG4rKykpCi0rCQkJZ290byBlcnI7Ci0rCQl9Ci0rCi0rCWlmKCFCTl9H RU5DQl9jYWxsKGNiLCAzLCAxKSkKLSsJCWdvdG8gZXJyOwotKwotKyAgICAgICAgaWYoaSA+PSA1 KnBiaXRzKQotKyAgICAgICAgICAgICAgICAvKiBwcmltZSBub3QgZm91bmQgKi8KLSsgICAgICAg ICAgICAgICAgZ290byBlcnI7Ci0rCi0rICAgICAgICBpZiAodGVzdCkKLSsgICAgICAgICAgICAg ICAgewotKyAgICAgICAgICAgICAgICAvKiBkbyBub3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgcmVt YWluaW5nIGtleSB2YWx1ZXMgKi8KLSsgICAgICAgICAgICAgICAgQk5fY2xlYXIocnNhLT5uKTsK LSsgICAgICAgICAgICAgICAgb2sgPSAxOwotKyAgICAgICAgICAgICAgICBnb3RvIGVycjsKLSsg ICAgICAgICAgICAgICAgfQotKwotKwlpZiAoQk5fY21wKHJzYS0+cCxyc2EtPnEpIDwgMCkKLSsJ CXsKLSsJCXRtcD1yc2EtPnA7Ci0rCQlyc2EtPnA9cnNhLT5xOwotKwkJcnNhLT5xPXRtcDsKLSsJ CX0KLSsKLSsJLyogY2FsY3VsYXRlIG4gKi8KLSsJaWYgKCFCTl9tdWwocnNhLT5uLHJzYS0+cCxy c2EtPnEsY3R4KSkgZ290byBlcnI7Ci0rCi0rCS8qIGNhbGN1bGF0ZSBkICovCi0rCWlmICghQk5f c3ViKHIxLHJzYS0+cCxCTl92YWx1ZV9vbmUoKSkpIGdvdG8gZXJyOwkvKiBwLTEgKi8KLSsJaWYg KCFCTl9zdWIocjIscnNhLT5xLEJOX3ZhbHVlX29uZSgpKSkgZ290byBlcnI7CS8qIHEtMSAqLwot KwlpZiAoIUJOX211bChyMCxyMSxyMixjdHgpKSBnb3RvIGVycjsJLyogKHAtMSkocS0xKSAqLwot KwlpZiAoIShyc2EtPmZsYWdzICYgUlNBX0ZMQUdfTk9fQ09OU1RUSU1FKSkKLSsJCXsKLSsJCSAg cHIwID0gJmxvY2FsX3IwOwotKwkJICBCTl93aXRoX2ZsYWdzKHByMCwgcjAsIEJOX0ZMR19DT05T VFRJTUUpOwotKwkJfQotKwllbHNlCi0rCSAgcHIwID0gcjA7Ci0rCWlmICghQk5fbW9kX2ludmVy c2UocnNhLT5kLHJzYS0+ZSxwcjAsY3R4KSkgZ290byBlcnI7CS8qIGQgKi8KLSsKLSsJLyogc2V0 IHVwIGQgZm9yIGNvcnJlY3QgQk5fRkxHX0NPTlNUVElNRSBmbGFnICovCi0rCWlmICghKHJzYS0+ ZmxhZ3MgJiBSU0FfRkxBR19OT19DT05TVFRJTUUpKQotKwkJewotKwkJZCA9ICZsb2NhbF9kOwot KwkJQk5fd2l0aF9mbGFncyhkLCByc2EtPmQsIEJOX0ZMR19DT05TVFRJTUUpOwotKwkJfQotKwll bHNlCi0rCQlkID0gcnNhLT5kOwotKwotKwkvKiBjYWxjdWxhdGUgZCBtb2QgKHAtMSkgKi8KLSsJ aWYgKCFCTl9tb2QocnNhLT5kbXAxLGQscjEsY3R4KSkgZ290byBlcnI7Ci0rCi0rCS8qIGNhbGN1 bGF0ZSBkIG1vZCAocS0xKSAqLwotKwlpZiAoIUJOX21vZChyc2EtPmRtcTEsZCxyMixjdHgpKSBn b3RvIGVycjsKLSsKLSsJLyogY2FsY3VsYXRlIGludmVyc2Ugb2YgcSBtb2QgcCAqLwotKwlpZiAo IShyc2EtPmZsYWdzICYgUlNBX0ZMQUdfTk9fQ09OU1RUSU1FKSkKLSsJCXsKLSsJCXAgPSAmbG9j YWxfcDsKLSsJCUJOX3dpdGhfZmxhZ3MocCwgcnNhLT5wLCBCTl9GTEdfQ09OU1RUSU1FKTsKLSsJ CX0KLSsJZWxzZQotKwkJcCA9IHJzYS0+cDsKLSsJaWYgKCFCTl9tb2RfaW52ZXJzZShyc2EtPmlx bXAscnNhLT5xLHAsY3R4KSkgZ290byBlcnI7Ci0rCi0rCWlmIChmaXBzX3JzYV9wYWlyd2lzZV9m YWlsKQotKwkJQk5fYWRkX3dvcmQocnNhLT5uLCAxKTsKLSsKLSsJaWYoIWZpcHNfY2hlY2tfcnNh KHJzYSkpCi0rCSAgICBnb3RvIGVycjsKLSsKLSsJb2s9MTsKLStlcnI6Ci0rCWlmIChvayA9PSAt MSkKLSsJCXsKLSsJCVJTQWVycihSU0FfRl9SU0FfQlVJTFRJTl9LRVlHRU4sRVJSX0xJQl9CTik7 Ci0rCQlvayA9IDA7Ci0rCQl9Ci0rCWlmIChjdHggIT0gTlVMTCkKLSsJCXsKLSsJCUJOX0NUWF9l bmQoY3R4KTsKLSsJCUJOX0NUWF9mcmVlKGN0eCk7Ci0rCQl9Ci0rCi0rCXJldHVybiBvazsKLSsJ fQotKyNlbmRpZgotKwotIHN0YXRpYyBpbnQgcnNhX2J1aWx0aW5fa2V5Z2VuKFJTQSAqcnNhLCBp bnQgYml0cywgQklHTlVNICplX3ZhbHVlLCBCTl9HRU5DQiAqY2IpCi0gCXsKLSAJQklHTlVNICpy MD1OVUxMLCpyMT1OVUxMLCpyMj1OVUxMLCpyMz1OVUxMLCp0bXA7Ci1AQCAtMTc2LDE3ICszOTMs MTIgQEAgc3RhdGljIGludCByc2FfYnVpbHRpbl9rZXlnZW4oUlNBICpyc2EsCi0gI2lmZGVmIE9Q RU5TU0xfRklQUwotIAlpZiAoRklQU19tb2R1bGVfbW9kZSgpKQotIAkJewotLQkJaWYoRklQU19z ZWxmdGVzdF9mYWlsZWQoKSkKLS0JICAgIAl7Ci0tCQkgICAgRklQU2VycihGSVBTX0ZfUlNBX0JV SUxUSU5fS0VZR0VOLEZJUFNfUl9GSVBTX1NFTEZURVNUX0ZBSUxFRCk7Ci0tCSAgICAJcmV0dXJu IDA7Ci0tCSAgICAJfQotLQotIAkJaWYgKGJpdHMgPCBPUEVOU1NMX1JTQV9GSVBTX01JTl9NT0RV TFVTX0JJVFMpCi0gCQkgICAgewotIAkJICAgIEZJUFNlcnIoRklQU19GX1JTQV9CVUlMVElOX0tF WUdFTixGSVBTX1JfS0VZX1RPT19TSE9SVCk7Ci0gCQkgICAgcmV0dXJuIDA7Ci0gCQkgICAgfQot KwkJcmV0dXJuIEZJUFNfcnNhX2J1aWx0aW5fa2V5Z2VuKHJzYSwgYml0cywgZV92YWx1ZSwgY2Ip OwotIAkJfQotICNlbmRpZgotIAotQEAgLTMwMSwxNyArNTIwLDYgQEAgc3RhdGljIGludCByc2Ff YnVpbHRpbl9rZXlnZW4oUlNBICpyc2EsCi0gCQlwID0gcnNhLT5wOwotIAlpZiAoIUJOX21vZF9p bnZlcnNlKHJzYS0+aXFtcCxyc2EtPnEscCxjdHgpKSBnb3RvIGVycjsKLSAKLS0jaWZkZWYgT1BF TlNTTF9GSVBTCi0tCWlmIChGSVBTX21vZHVsZV9tb2RlKCkpCi0tCQl7Ci0tCQlpZiAoZmlwc19y c2FfcGFpcndpc2VfZmFpbCkKLS0JCQlCTl9hZGRfd29yZChyc2EtPm4sIDEpOwotLQotLQkJaWYo IWZpcHNfY2hlY2tfcnNhKHJzYSkpCi0tCQkgICAgZ290byBlcnI7Ci0tCQl9Ci0tI2VuZGlmCi0t Ci0gCW9rPTE7Ci0gZXJyOgotIAlpZiAob2sgPT0gLTEpCi1kaWZmIC11cCBvcGVuc3NsLTEuMC4x Zy9zc2wvdDFfZW5jLmMuZmlwcy1yZXFzIG9wZW5zc2wtMS4wLjFnL3NzbC90MV9lbmMuYwotLS0t IG9wZW5zc2wtMS4wLjFnL3NzbC90MV9lbmMuYy5maXBzLXJlcXMJMjAxNC0wMy0xNyAxNzoxNDoy MC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZy9zc2wvdDFfZW5jLmMJMjAxNC0w NS0wNiAxNjoyMjoyMS40MzY1NDAzNzYgKzAyMDAKLUBAIC0yOTEsNiArMjkxLDI3IEBAIHN0YXRp YyBpbnQgdGxzMV9QUkYobG9uZyBkaWdlc3RfbWFzaywKLSBlcnI6Ci0gCXJldHVybiByZXQ7Ci0g fQotKwotK2ludCBwcml2YXRlX3RsczFfUFJGKGxvbmcgZGlnZXN0X21hc2ssCi0rCQkgICAgIGNv bnN0IHZvaWQgKnNlZWQxLCBpbnQgc2VlZDFfbGVuLAotKwkJICAgICBjb25zdCB2b2lkICpzZWVk MiwgaW50IHNlZWQyX2xlbiwKLSsJCSAgICAgY29uc3Qgdm9pZCAqc2VlZDMsIGludCBzZWVkM19s ZW4sCi0rCQkgICAgIGNvbnN0IHZvaWQgKnNlZWQ0LCBpbnQgc2VlZDRfbGVuLAotKwkJICAgICBj b25zdCB2b2lkICpzZWVkNSwgaW50IHNlZWQ1X2xlbiwKLSsJCSAgICAgY29uc3QgdW5zaWduZWQg Y2hhciAqc2VjLCBpbnQgc2xlbiwKLSsJCSAgICAgdW5zaWduZWQgY2hhciAqb3V0MSwKLSsJCSAg ICAgdW5zaWduZWQgY2hhciAqb3V0MiwgaW50IG9sZW4pCi0rCXsKLSsJcmV0dXJuIHRsczFfUFJG KGRpZ2VzdF9tYXNrLAotKwkJc2VlZDEsIHNlZWQxX2xlbiwKLSsJCXNlZWQyLCBzZWVkMl9sZW4s Ci0rCQlzZWVkMywgc2VlZDNfbGVuLAotKwkJc2VlZDQsIHNlZWQ0X2xlbiwKLSsJCXNlZWQ1LCBz ZWVkNV9sZW4sCi0rCQlzZWMsIHNsZW4sCi0rCQlvdXQxLCBvdXQyLCBvbGVuKTsKLSsJfQotKwot IHN0YXRpYyBpbnQgdGxzMV9nZW5lcmF0ZV9rZXlfYmxvY2soU1NMICpzLCB1bnNpZ25lZCBjaGFy ICprbSwKLSAJICAgICB1bnNpZ25lZCBjaGFyICp0bXAsIGludCBudW0pCi0gCXsKCmRpZmYgLS1n aXQgYS9vcGVuc3NsLTEuMC4xaC1kaXNhYmxlLXNzbHYydjMucGF0Y2ggYi9vcGVuc3NsLTEuMC4x aC1kaXNhYmxlLXNzbHYydjMucGF0Y2gKaW5kZXggODNhZmRhMC4uN2EwMjhhYSAxMDA2NDQKLS0t IGEvb3BlbnNzbC0xLjAuMWgtZGlzYWJsZS1zc2x2MnYzLnBhdGNoCisrKyBiL29wZW5zc2wtMS4w LjFoLWRpc2FibGUtc3NsdjJ2My5wYXRjaApAQCAtNSw4ICs1LDggQEAgZGlmZiAtdXAgb3BlbnNz bC0xLjAuMWgvc3NsL3NzbF9saWIuYy52MnYzIG9wZW5zc2wtMS4wLjFoL3NzbC9zc2xfbGliLmMK ICAJICovCiAgCXJldC0+b3B0aW9ucyB8PSBTU0xfT1BfTEVHQUNZX1NFUlZFUl9DT05ORUNUOwog IAotKwkvKiBEaXNhYmxlIFNTTHYyIGFuZCBTU0x2MyBieSBkZWZhdWx0IChhZmZlY3RzIHRoZSBT U0x2MjNfbWV0aG9kKCkgb25seSkgKi8KLSsJcmV0LT5vcHRpb25zIHw9IFNTTF9PUF9OT19TU0x2 MiB8IFNTTF9PUF9OT19TU0x2MzsKKysJLyogRGlzYWJsZSBTU0x2MiBieSBkZWZhdWx0IChhZmZl Y3RzIHRoZSBTU0x2MjNfbWV0aG9kKCkgb25seSkgKi8KKysJcmV0LT5vcHRpb25zIHw9IFNTTF9P UF9OT19TU0x2MjsKICsKICAJcmV0dXJuKHJldCk7CiAgZXJyOgoKZGlmZiAtLWdpdCBhL29wZW5z c2wtMS4wLjFoLW1hbmZpeC5wYXRjaCBiL29wZW5zc2wtMS4wLjFoLW1hbmZpeC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODM2ZjU4Zi4uMDAwMDAwMAotLS0gYS9vcGVuc3Ns LTEuMC4xaC1tYW5maXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMzUgKzAsMCBAQAotZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWgvZG9jL2FwcHMvZWMucG9kLm1hbmZpeCBvcGVuc3NsLTEuMC4x aC9kb2MvYXBwcy9lYy5wb2QKLS0tLSBvcGVuc3NsLTEuMC4xaC9kb2MvYXBwcy9lYy5wb2QubWFu Zml4CTIwMTQtMDYtMDUgMTE6NDE6MzEuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAu MWgvZG9jL2FwcHMvZWMucG9kCTIwMTQtMDYtMDUgMTQ6NDE6MTEuNTAxMjc0OTE1ICswMjAwCi1A QCAtOTMsMTAgKzkzLDYgQEAgcHJpbnRzIG91dCB0aGUgcHVibGljLCBwcml2YXRlIGtleSBjb21w bwotIAotIHRoaXMgb3B0aW9uIHByZXZlbnRzIG91dHB1dCBvZiB0aGUgZW5jb2RlZCB2ZXJzaW9u IG9mIHRoZSBrZXkuCi0gCi0tPWl0ZW0gQjwtbW9kdWx1cz4KLS0KLS10aGlzIG9wdGlvbiBwcmlu dHMgb3V0IHRoZSB2YWx1ZSBvZiB0aGUgcHVibGljIGtleSBjb21wb25lbnQgb2YgdGhlIGtleS4K LS0KLSA9aXRlbSBCPC1wdWJpbj4KLSAKLSBieSBkZWZhdWx0IGEgcHJpdmF0ZSBrZXkgaXMgcmVh ZCBmcm9tIHRoZSBpbnB1dCBmaWxlOiB3aXRoIHRoaXMgb3B0aW9uIGEKLWRpZmYgLXVwIG9wZW5z c2wtMS4wLjFoL2RvYy9hcHBzL29wZW5zc2wucG9kLm1hbmZpeCBvcGVuc3NsLTEuMC4xaC9kb2Mv YXBwcy9vcGVuc3NsLnBvZAotLS0tIG9wZW5zc2wtMS4wLjFoL2RvYy9hcHBzL29wZW5zc2wucG9k Lm1hbmZpeAkyMDE0LTA2LTA1IDExOjQxOjMxLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wt MS4wLjFoL2RvYy9hcHBzL29wZW5zc2wucG9kCTIwMTQtMDYtMDUgMTQ6NDE6MTEuNTAxMjc0OTE1 ICswMjAwCi1AQCAtMTYzLDcgKzE2Myw3IEBAIENyZWF0ZSBvciBleGFtaW5lIGEgbmV0c2NhcGUg Y2VydGlmaWNhdGUKLSAKLSBPbmxpbmUgQ2VydGlmaWNhdGUgU3RhdHVzIFByb3RvY29sIHV0aWxp dHkuCi0gCi0tPWl0ZW0gTDxCPHBhc3N3ZD58cGFzc3dkKDEpPgotKz1pdGVtIEw8QjxwYXNzd2Q+ fHNzbHBhc3N3ZCgxKT4KLSAKLSBHZW5lcmF0aW9uIG9mIGhhc2hlZCBwYXNzd29yZHMuCi0gCi1A QCAtMTg3LDcgKzE4Nyw3IEBAIFB1YmxpYyBrZXkgYWxnb3JpdGhtIHBhcmFtZXRlciBtYW5hZ2Vt ZW4KLSAKLSBQdWJsaWMga2V5IGFsZ29yaXRobSBjcnlwdG9ncmFwaGljIG9wZXJhdGlvbiB1dGls aXR5LgotIAotLT1pdGVtIEw8QjxyYW5kPnxyYW5kKDEpPgotKz1pdGVtIEw8QjxyYW5kPnxzc2xy YW5kKDEpPgotIAotIEdlbmVyYXRlIHBzZXVkby1yYW5kb20gYnl0ZXMuCi0gCi1AQCAtNDAxLDkg KzQwMSw5IEBAIEw8Y3JsKDEpfGNybCgxKT4sIEw8Y3JsMnBrY3M3KDEpfGNybDJwa2MKLSBMPGRo cGFyYW0oMSl8ZGhwYXJhbSgxKT4sIEw8ZHNhKDEpfGRzYSgxKT4sIEw8ZHNhcGFyYW0oMSl8ZHNh cGFyYW0oMSk+LAotIEw8ZW5jKDEpfGVuYygxKT4sIEw8Z2VuZHNhKDEpfGdlbmRzYSgxKT4sIEw8 Z2VucGtleSgxKXxnZW5wa2V5KDEpPiwKLSBMPGdlbnJzYSgxKXxnZW5yc2EoMSk+LCBMPG5zZXEo MSl8bnNlcSgxKT4sIEw8b3BlbnNzbCgxKXxvcGVuc3NsKDEpPiwKLS1MPHBhc3N3ZCgxKXxwYXNz d2QoMSk+LAotK0w8c3NscGFzc3dkKDEpfHNzbHBhc3N3ZCgxKT4sCi0gTDxwa2NzMTIoMSl8cGtj czEyKDEpPiwgTDxwa2NzNygxKXxwa2NzNygxKT4sIEw8cGtjczgoMSl8cGtjczgoMSk+LAotLUw8 cmFuZCgxKXxyYW5kKDEpPiwgTDxyZXEoMSl8cmVxKDEpPiwgTDxyc2EoMSl8cnNhKDEpPiwKLStM PHNzbHJhbmQoMSl8c3NscmFuZCgxKT4sIEw8cmVxKDEpfHJlcSgxKT4sIEw8cnNhKDEpfHJzYSgx KT4sCi0gTDxyc2F1dGwoMSl8cnNhdXRsKDEpPiwgTDxzX2NsaWVudCgxKXxzX2NsaWVudCgxKT4s Ci0gTDxzX3NlcnZlcigxKXxzX3NlcnZlcigxKT4sIEw8c190aW1lKDEpfHNfdGltZSgxKT4sCi0g TDxzbWltZSgxKXxzbWltZSgxKT4sIEw8c3BrYWMoMSl8c3BrYWMoMSk+LAotZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWgvZG9jL2FwcHMvc19jbGllbnQucG9kLm1hbmZpeCBvcGVuc3NsLTEuMC4xaC9k b2MvYXBwcy9zX2NsaWVudC5wb2QKLS0tLSBvcGVuc3NsLTEuMC4xaC9kb2MvYXBwcy9zX2NsaWVu dC5wb2QubWFuZml4CTIwMTQtMDYtMDUgMTQ6NDE6MTEuNDQ1MjczNjA1ICswMjAwCi0rKysgb3Bl bnNzbC0xLjAuMWgvZG9jL2FwcHMvc19jbGllbnQucG9kCTIwMTQtMDYtMDUgMTQ6NDE6MTEuNTAx Mjc0OTE1ICswMjAwCi1AQCAtMzMsOSArMzMsMTQgQEAgQjxvcGVuc3NsPiBCPHNfY2xpZW50Pgot IFtCPC1zc2wyPl0KLSBbQjwtc3NsMz5dCi0gW0I8LXRsczE+XQotK1tCPC10bHMxXzE+XQotK1tC PC10bHMxXzI+XQotK1tCPC1kdGxzMT5dCi0gW0I8LW5vX3NzbDI+XQotIFtCPC1ub19zc2wzPl0K LSBbQjwtbm9fdGxzMT5dCi0rW0I8LW5vX3RsczFfMT5dCi0rW0I8LW5vX3RsczFfMj5dCi0gW0I8 LWJ1Z3M+XQotIFtCPC1jaXBoZXIgY2lwaGVybGlzdD5dCi0gW0I8LXN0YXJ0dGxzIHByb3RvY29s Pl0KLUBAIC00NSw2ICs1MCw3IEBAIEI8b3BlbnNzbD4gQjxzX2NsaWVudD4KLSBbQjwtc2Vzc19v dXQgZmlsZW5hbWU+XQotIFtCPC1zZXNzX2luIGZpbGVuYW1lPl0KLSBbQjwtcmFuZCBmaWxlKHMp Pl0KLStbQjwtbmV4dHByb3RvbmVnIHByb3RvY29scz5dCi0gCi0gPWhlYWQxIERFU0NSSVBUSU9O Ci0gCi1AQCAtMTg4LDcgKzE5NCw3IEBAIFVzZSB0aGUgUFNLIGtleSBCPGtleT4gd2hlbiB1c2lu ZyBhIFBTSwotIGdpdmVuIGFzIGEgaGV4YWRlY2ltYWwgbnVtYmVyIHdpdGhvdXQgbGVhZGluZyAw eCwgZm9yIGV4YW1wbGUgLXBzawotIDFhMmIzYzRkLgotIAotLT1pdGVtIEI8LXNzbDI+LCBCPC1z c2wzPiwgQjwtdGxzMT4sIEI8LW5vX3NzbDI+LCBCPC1ub19zc2wzPiwgQjwtbm9fdGxzMT4KLSs9 aXRlbSBCPC1zc2wyPiwgQjwtc3NsMz4sIEI8LXRsczE+LCBCPC10bHMxXzE+LCBCPC10bHMxXzI+ LCBCPC1kdGxzMT4sIEI8LW5vX3NzbDI+LCBCPC1ub19zc2wzPiwgQjwtbm9fdGxzMT4sIEI8LW5v X3RsczFfMT4sIEI8LW5vX3RsczFfMj4KLSAKLSB0aGVzZSBvcHRpb25zIGRpc2FibGUgdGhlIHVz ZSBvZiBjZXJ0YWluIFNTTCBvciBUTFMgcHJvdG9jb2xzLiBCeSBkZWZhdWx0Ci0gdGhlIGluaXRp YWwgaGFuZHNoYWtlIHVzZXMgYSBtZXRob2Qgd2hpY2ggc2hvdWxkIGJlIGNvbXBhdGlibGUgd2l0 aCBhbGwKLUBAIC0yNDksNiArMjU1LDE3IEBAIE11bHRpcGxlIGZpbGVzIGNhbiBiZSBzcGVjaWZp ZWQgc2VwYXJhdGUKLSBUaGUgc2VwYXJhdG9yIGlzIEI8Oz4gZm9yIE1TLVdpbmRvd3MsIEI8LD4g Zm9yIE9wZW5WTVMsIGFuZCBCPDo+IGZvcgotIGFsbCBvdGhlcnMuCi0gCi0rPWl0ZW0gQjwtbmV4 dHByb3RvbmVnIHByb3RvY29scz4KLSsKLStlbmFibGUgTmV4dCBQcm90b2NvbCBOZWdvdGlhdGlv biBUTFMgZXh0ZW5zaW9uIGFuZCBwcm92aWRlIGEgbGlzdCBvZgotK2NvbW1hLXNlcGFyYXRlZCBw cm90b2NvbCBuYW1lcyB0aGF0IHRoZSBjbGllbnQgc2hvdWxkIGFkdmVydGlzZQotK3N1cHBvcnQg Zm9yLiBUaGUgbGlzdCBzaG91bGQgY29udGFpbiBtb3N0IHdhbnRlZCBwcm90b2NvbHMgZmlyc3Qu Ci0rUHJvdG9jb2wgbmFtZXMgYXJlIHByaW50YWJsZSBBU0NJSSBzdHJpbmdzLCBmb3IgZXhhbXBs ZSAiaHR0cC8xLjEiIG9yCi0rInNwZHkvMyIuCi0rRW1wdHkgbGlzdCBvZiBwcm90b2NvbHMgaXMg dHJlYXRlZCBzcGVjaWFsbHkgYW5kIHdpbGwgY2F1c2UgdGhlIGNsaWVudCB0bwotK2FkdmVydGlz ZSBzdXBwb3J0IGZvciB0aGUgVExTIGV4dGVuc2lvbiBidXQgZGlzY29ubmVjdCBqdXN0IGFmdGVy Ci0rcmVjaXZpbmcgU2VydmVySGVsbG8gd2l0aCBhIGxpc3Qgb2Ygc2VydmVyIHN1cHBvcnRlZCBw cm90b2NvbHMuCi0rCi0gPWJhY2sKLSAKLSA9aGVhZDEgQ09OTkVDVEVEIENPTU1BTkRTCi1kaWZm IC11cCBvcGVuc3NsLTEuMC4xaC9kb2MvYXBwcy9zX3NlcnZlci5wb2QubWFuZml4IG9wZW5zc2wt MS4wLjFoL2RvYy9hcHBzL3Nfc2VydmVyLnBvZAotLS0tIG9wZW5zc2wtMS4wLjFoL2RvYy9hcHBz L3Nfc2VydmVyLnBvZC5tYW5maXgJMjAxNC0wNi0wNSAxMTo0MTozMS4wMDAwMDAwMDAgKzAyMDAK LSsrKyBvcGVuc3NsLTEuMC4xaC9kb2MvYXBwcy9zX3NlcnZlci5wb2QJMjAxNC0wNi0wNSAxNDo0 MToxMS41MDIyNzQ5MzkgKzAyMDAKLUBAIC01NSw2ICs1NSw3IEBAIEI8b3BlbnNzbD4gQjxzX3Nl cnZlcj4KLSBbQjwtbm9fdGlja2V0Pl0KLSBbQjwtaWRfcHJlZml4IGFyZz5dCi0gW0I8LXJhbmQg ZmlsZShzKT5dCi0rW0I8LW5leHRwcm90b25lZyBwcm90b2NvbHM+XQotIAotID1oZWFkMSBERVND UklQVElPTgotIAotQEAgLTIwNyw3ICsyMDgsNyBAQCBVc2UgdGhlIFBTSyBrZXkgQjxrZXk+IHdo ZW4gdXNpbmcgYSBQU0sKLSBnaXZlbiBhcyBhIGhleGFkZWNpbWFsIG51bWJlciB3aXRob3V0IGxl YWRpbmcgMHgsIGZvciBleGFtcGxlIC1wc2sKLSAxYTJiM2M0ZC4KLSAKLS09aXRlbSBCPC1zc2wy PiwgQjwtc3NsMz4sIEI8LXRsczE+LCBCPC1ub19zc2wyPiwgQjwtbm9fc3NsMz4sIEI8LW5vX3Rs czE+Ci0rPWl0ZW0gQjwtc3NsMj4sIEI8LXNzbDM+LCBCPC10bHMxPiwgQjwtdGxzMV8xPiwgQjwt dGxzMV8yPiwgQjwtZHRsczE+LCBCPC1ub19zc2wyPiwgQjwtbm9fc3NsMz4sIEI8LW5vX3RsczE+ LCBCPC1ub190bHMxXzE+LCBCPC1ub190bHMxXzI+Ci0gCi0gdGhlc2Ugb3B0aW9ucyBkaXNhYmxl IHRoZSB1c2Ugb2YgY2VydGFpbiBTU0wgb3IgVExTIHByb3RvY29scy4gQnkgZGVmYXVsdAotIHRo ZSBpbml0aWFsIGhhbmRzaGFrZSB1c2VzIGEgbWV0aG9kIHdoaWNoIHNob3VsZCBiZSBjb21wYXRp YmxlIHdpdGggYWxsCi1AQCAtMjgyLDYgKzI4MywxNCBAQCBNdWx0aXBsZSBmaWxlcyBjYW4gYmUg c3BlY2lmaWVkIHNlcGFyYXRlCi0gVGhlIHNlcGFyYXRvciBpcyBCPDs+IGZvciBNUy1XaW5kb3dz LCBCPCw+IGZvciBPcGVuVk1TLCBhbmQgQjw6PiBmb3IKLSBhbGwgb3RoZXJzLgotIAotKz1pdGVt IEI8LW5leHRwcm90b25lZyBwcm90b2NvbHM+Ci0rCi0rZW5hYmxlIE5leHQgUHJvdG9jb2wgTmVn b3RpYXRpb24gVExTIGV4dGVuc2lvbiBhbmQgcHJvdmlkZSBhCi0rY29tbWEtc2VwYXJhdGVkIGxp c3Qgb2Ygc3VwcG9ydGVkIHByb3RvY29sIG5hbWVzLgotK1RoZSBsaXN0IHNob3VsZCBjb250YWlu IG1vc3Qgd2FudGVkIHByb3RvY29scyBmaXJzdC4KLStQcm90b2NvbCBuYW1lcyBhcmUgcHJpbnRh YmxlIEFTQ0lJIHN0cmluZ3MsIGZvciBleGFtcGxlICJodHRwLzEuMSIgb3IKLSsic3BkeS8zIi4K LSsKLSA9YmFjawotIAotID1oZWFkMSBDT05ORUNURUQgQ09NTUFORFMKCmRpZmYgLS1naXQgYS9v cGVuc3NsLTEuMC4xaC1zZXNzaW9uLXJlc3VtcHRpb24ucGF0Y2ggYi9vcGVuc3NsLTEuMC4xaC1z ZXNzaW9uLXJlc3VtcHRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFk MDYyNmYuLjAwMDAwMDAKLS0tIGEvb3BlbnNzbC0xLjAuMWgtc2Vzc2lvbi1yZXN1bXB0aW9uLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWgvc3NsL3MzX2NsbnQuYy5yZXN1bXB0aW9uIG9wZW5zc2wtMS4wLjFoL3NzbC9zM19jbG50LmMK LS0tLSBvcGVuc3NsLTEuMC4xaC9zc2wvczNfY2xudC5jLnJlc3VtcHRpb24JMjAxNC0wNi0wNSAx MTo0NDozMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xaC9zc2wvczNfY2xudC5j CTIwMTQtMDYtMTAgMTY6MzU6MTIuODk1MDk2NjcwICswMjAwCi1AQCAtOTAxLDYgKzkwMSw3IEBA IGludCBzc2wzX2dldF9zZXJ2ZXJfaGVsbG8oU1NMICpzKQotIAkJCXsKLSAJCQlzLT5zZXNzaW9u LT5jaXBoZXIgPSBwcmVmX2NpcGhlciA/Ci0gCQkJCXByZWZfY2lwaGVyIDogc3NsX2dldF9jaXBo ZXJfYnlfY2hhcihzLCBwK2opOwotKwkJCXMtPnMzLT5mbGFncyB8PSBTU0wzX0ZMQUdTX0NDU19P SzsKLSAJCQl9Ci0gCQl9Ci0gI2VuZGlmIC8qIE9QRU5TU0xfTk9fVExTRVhUICovCgpkaWZmIC0t Z2l0IGEvb3BlbnNzbC0xLjAuMWktYWxnby1kb2MucGF0Y2ggYi9vcGVuc3NsLTEuMC4xaS1hbGdv LWRvYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTk4NzdkCi0t LSAvZGV2L251bGwKKysrIGIvb3BlbnNzbC0xLjAuMWktYWxnby1kb2MucGF0Y2gKQEAgLTAsMCAr MSw3NyBAQAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvZG9jL2NyeXB0by9FVlBfRGlnZXN0SW5p dC5wb2QuYWxnby1kb2Mgb3BlbnNzbC0xLjAuMWkvZG9jL2NyeXB0by9FVlBfRGlnZXN0SW5pdC5w b2QKKy0tLSBvcGVuc3NsLTEuMC4xaS9kb2MvY3J5cHRvL0VWUF9EaWdlc3RJbml0LnBvZC5hbGdv LWRvYwkyMDE0LTA4LTA2IDIzOjEwOjU2LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4w LjFpL2RvYy9jcnlwdG8vRVZQX0RpZ2VzdEluaXQucG9kCTIwMTQtMDgtMDcgMTE6MTg6MDEuMjkw NzczOTcwICswMjAwCitAQCAtNzUsNyArNzUsNyBAQCBFVlBfTURfQ1RYX2NyZWF0ZSgpIGFsbG9j YXRlcywgaW5pdGlhbGl6CisgCisgRVZQX0RpZ2VzdEluaXRfZXgoKSBzZXRzIHVwIGRpZ2VzdCBj b250ZXh0IEI8Y3R4PiB0byB1c2UgYSBkaWdlc3QKKyBCPHR5cGU+IGZyb20gRU5HSU5FIEI8aW1w bD4uIEI8Y3R4PiBtdXN0IGJlIGluaXRpYWxpemVkIGJlZm9yZSBjYWxsaW5nIHRoaXMKKy1mdW5j dGlvbi4gQjx0eXBlPiB3aWxsIHR5cGljYWxseSBiZSBzdXBwbGllZCBieSBhIGZ1bmN0aW9uc3Vj aCBhcyBFVlBfc2hhMSgpLgorK2Z1bmN0aW9uLiBCPHR5cGU+IHdpbGwgdHlwaWNhbGx5IGJlIHN1 cHBsaWVkIGJ5IGEgZnVuY3Rpb24gc3VjaCBhcyBFVlBfc2hhMSgpLgorIElmIEI8aW1wbD4gaXMg TlVMTCB0aGVuIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIGRpZ2VzdCBCPHR5cGU+IGlz IHVzZWQuCisgCisgRVZQX0RpZ2VzdFVwZGF0ZSgpIGhhc2hlcyBCPGNudD4gYnl0ZXMgb2YgZGF0 YSBhdCBCPGQ+IGludG8gdGhlCitAQCAtMTY0LDcgKzE2NCw4IEBAIGNvcnJlc3BvbmRpbmcgT0JK RUNUIElERU5USUZJRVIgb3IgTklEX3UKKyBFVlBfTURfc2l6ZSgpLCBFVlBfTURfYmxvY2tfc2l6 ZSgpLCBFVlBfTURfQ1RYX3NpemUoKSBhbmQKKyBFVlBfTURfQ1RYX2Jsb2NrX3NpemUoKSByZXR1 cm4gdGhlIGRpZ2VzdCBvciBibG9jayBzaXplIGluIGJ5dGVzLgorIAorLUVWUF9tZF9udWxsKCks IEVWUF9tZDIoKSwgRVZQX21kNSgpLCBFVlBfc2hhKCksIEVWUF9zaGExKCksIEVWUF9kc3MoKSwK KytFVlBfbWRfbnVsbCgpLCBFVlBfbWQyKCksIEVWUF9tZDUoKSwgRVZQX3NoYSgpLCBFVlBfc2hh MSgpLAorK0VWUF9zaGEyMjQoKSwgRVZQX3NoYTI1NigpLCBFVlBfc2hhMzg0KCksIEVWUF9zaGE1 MTIoKSwgRVZQX2RzcygpLAorIEVWUF9kc3MxKCksIEVWUF9tZGMyKCkgYW5kIEVWUF9yaXBlbWQx NjAoKSByZXR1cm4gcG9pbnRlcnMgdG8gdGhlCisgY29ycmVzcG9uZGluZyBFVlBfTUQgc3RydWN0 dXJlcy4KKyAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2RvYy9jcnlwdG8vRVZQX0VuY3J5cHRJ bml0LnBvZC5hbGdvLWRvYyBvcGVuc3NsLTEuMC4xaS9kb2MvY3J5cHRvL0VWUF9FbmNyeXB0SW5p dC5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xaS9kb2MvY3J5cHRvL0VWUF9FbmNyeXB0SW5pdC5wb2Qu YWxnby1kb2MJMjAxNC0wOC0wNiAyMzoxMDo1Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3Ns LTEuMC4xaS9kb2MvY3J5cHRvL0VWUF9FbmNyeXB0SW5pdC5wb2QJMjAxNC0wOC0wNyAxMDo1NToy NS4xMDA2MzgyNTIgKzAyMDAKK0BAIC05MSw2ICs5MSwzMiBAQCBFVlBfQ0lQSEVSX0NUWF9zZXRf cGFkZGluZyAtIEVWUCBjaXBoZXIKKyAgaW50IEVWUF9DSVBIRVJfcGFyYW1fdG9fYXNuMShFVlBf Q0lQSEVSX0NUWCAqYywgQVNOMV9UWVBFICp0eXBlKTsKKyAgaW50IEVWUF9DSVBIRVJfYXNuMV90 b19wYXJhbShFVlBfQ0lQSEVSX0NUWCAqYywgQVNOMV9UWVBFICp0eXBlKTsKKyAKKysgY29uc3Qg RVZQX0NJUEhFUiAqRVZQX2Rlc19lZGUzKHZvaWQpOworKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBf ZGVzX2VkZTNfZWNiKHZvaWQpOworKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfZGVzX2VkZTNfY2Zi NjQodm9pZCk7CisrIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9kZXNfZWRlM19jZmIxKHZvaWQpOwor KyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfZGVzX2VkZTNfY2ZiOCh2b2lkKTsKKysgY29uc3QgRVZQ X0NJUEhFUiAqRVZQX2Rlc19lZGUzX29mYih2b2lkKTsKKysgY29uc3QgRVZQX0NJUEhFUiAqRVZQ X2Rlc19lZGUzX2NiYyh2b2lkKTsKKysgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xMjhfZWNi KHZvaWQpOworKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzEyOF9jYmModm9pZCk7CisrIGNv bnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMTI4X2NmYjEodm9pZCk7CisrIGNvbnN0IEVWUF9DSVBI RVIgKkVWUF9hZXNfMTI4X2NmYjgodm9pZCk7CisrIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNf MTI4X2NmYjEyOCh2b2lkKTsKKysgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xMjhfb2ZiKHZv aWQpOworKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzE5Ml9lY2Iodm9pZCk7CisrIGNvbnN0 IEVWUF9DSVBIRVIgKkVWUF9hZXNfMTkyX2NiYyh2b2lkKTsKKysgY29uc3QgRVZQX0NJUEhFUiAq RVZQX2Flc18xOTJfY2ZiMSh2b2lkKTsKKysgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xOTJf Y2ZiOCh2b2lkKTsKKysgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xOTJfY2ZiMTI4KHZvaWQp OworKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzE5Ml9vZmIodm9pZCk7CisrIGNvbnN0IEVW UF9DSVBIRVIgKkVWUF9hZXNfMjU2X2VjYih2b2lkKTsKKysgY29uc3QgRVZQX0NJUEhFUiAqRVZQ X2Flc18yNTZfY2JjKHZvaWQpOworKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzI1Nl9jZmIx KHZvaWQpOworKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzI1Nl9jZmI4KHZvaWQpOworKyBj b25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzI1Nl9jZmIxMjgodm9pZCk7CisrIGNvbnN0IEVWUF9D SVBIRVIgKkVWUF9hZXNfMjU2X29mYih2b2lkKTsKKysKKyA9aGVhZDEgREVTQ1JJUFRJT04KKyAK KyBUaGUgRVZQIGNpcGhlciByb3V0aW5lcyBhcmUgYSBoaWdoIGxldmVsIGludGVyZmFjZSB0byBj ZXJ0YWluCitAQCAtMjk3LDYgKzMyMywxOCBAQCBUaHJlZSBrZXkgdHJpcGxlIERFUyBpbiBDQkMs IEVDQiwgQ0ZCIGFuCisgCisgREVTWCBhbGdvcml0aG0gaW4gQ0JDIG1vZGUuCisgCisrPWl0ZW0g RVZQX2Flc18xMjhfY2JjKHZvaWQpLCBFVlBfYWVzXzEyOF9lY2IoKSwgRVZQX2Flc18xMjhfb2Zi KHZvaWQpLCBFVlBfYWVzXzEyOF9jZmIxKHZvaWQpLCBFVlBfYWVzXzEyOF9jZmI4KHZvaWQpLCBF VlBfYWVzXzEyOF9jZmIxMjgodm9pZCkKKysKKytBRVMgd2l0aCAxMjggYml0IGtleSBsZW5ndGgg aW4gQ0JDLCBFQ0IsIE9GQiBhbmQgQ0ZCIG1vZGVzIHJlc3BlY3RpdmVseS4KKysKKys9aXRlbSBF VlBfYWVzXzE5Ml9jYmModm9pZCksIEVWUF9hZXNfMTkyX2VjYigpLCBFVlBfYWVzXzE5Ml9vZmIo dm9pZCksIEVWUF9hZXNfMTkyX2NmYjEodm9pZCksIEVWUF9hZXNfMTkyX2NmYjgodm9pZCksIEVW UF9hZXNfMTkyX2NmYjEyOCh2b2lkKQorKworK0FFUyB3aXRoIDE5MiBiaXQga2V5IGxlbmd0aCBp biBDQkMsIEVDQiwgT0ZCIGFuZCBDRkIgbW9kZXMgcmVzcGVjdGl2ZWx5LgorKworKz1pdGVtIEVW UF9hZXNfMjU2X2NiYyh2b2lkKSwgRVZQX2Flc18yNTZfZWNiKCksIEVWUF9hZXNfMjU2X29mYih2 b2lkKSwgRVZQX2Flc18yNTZfY2ZiMSh2b2lkKSwgRVZQX2Flc18yNTZfY2ZiOCh2b2lkKSwgRVZQ X2Flc18yNTZfY2ZiMTI4KHZvaWQpCisrCisrQUVTIHdpdGggMjU2IGJpdCBrZXkgbGVuZ3RoIGlu IENCQywgRUNCLCBPRkIgYW5kIENGQiBtb2RlcyByZXNwZWN0aXZlbHkuCisrCisgPWl0ZW0gRVZQ X3JjNCh2b2lkKQorIAorIFJDNCBzdHJlYW0gY2lwaGVyLiBUaGlzIGlzIGEgdmFyaWFibGUga2V5 IGxlbmd0aCBjaXBoZXIgd2l0aCBkZWZhdWx0IGtleSBsZW5ndGggMTI4IGJpdHMuCgpkaWZmIC0t Z2l0IGEvb3BlbnNzbC0xLjAuMWktbWFuZml4LnBhdGNoIGIvb3BlbnNzbC0xLjAuMWktbWFuZml4 LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyZjhiZTcKLS0tIC9k ZXYvbnVsbAorKysgYi9vcGVuc3NsLTEuMC4xaS1tYW5maXgucGF0Y2gKQEAgLTAsMCArMSw4NiBA QAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvZWMucG9kLm1hbmZpeCBvcGVuc3Ns LTEuMC4xaS9kb2MvYXBwcy9lYy5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9lYy5w b2QubWFuZml4CTIwMTQtMDctMjIgMjE6NDE6MjMuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNz bC0xLjAuMWkvZG9jL2FwcHMvZWMucG9kCTIwMTQtMDgtMDcgMTE6MjE6NTcuMjU4ODg3NzQxICsw MjAwCitAQCAtOTMsMTAgKzkzLDYgQEAgcHJpbnRzIG91dCB0aGUgcHVibGljLCBwcml2YXRlIGtl eSBjb21wbworIAorIHRoaXMgb3B0aW9uIHByZXZlbnRzIG91dHB1dCBvZiB0aGUgZW5jb2RlZCB2 ZXJzaW9uIG9mIHRoZSBrZXkuCisgCistPWl0ZW0gQjwtbW9kdWx1cz4KKy0KKy10aGlzIG9wdGlv biBwcmludHMgb3V0IHRoZSB2YWx1ZSBvZiB0aGUgcHVibGljIGtleSBjb21wb25lbnQgb2YgdGhl IGtleS4KKy0KKyA9aXRlbSBCPC1wdWJpbj4KKyAKKyBieSBkZWZhdWx0IGEgcHJpdmF0ZSBrZXkg aXMgcmVhZCBmcm9tIHRoZSBpbnB1dCBmaWxlOiB3aXRoIHRoaXMgb3B0aW9uIGEKK2RpZmYgLXVw IG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL29wZW5zc2wucG9kLm1hbmZpeCBvcGVuc3NsLTEuMC4x aS9kb2MvYXBwcy9vcGVuc3NsLnBvZAorLS0tIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL29wZW5z c2wucG9kLm1hbmZpeAkyMDE0LTA3LTIyIDIxOjQzOjExLjAwMDAwMDAwMCArMDIwMAorKysrIG9w ZW5zc2wtMS4wLjFpL2RvYy9hcHBzL29wZW5zc2wucG9kCTIwMTQtMDgtMDcgMTE6MjE6NTcuMjU5 ODg3NzQ2ICswMjAwCitAQCAtMTYzLDcgKzE2Myw3IEBAIENyZWF0ZSBvciBleGFtaW5lIGEgbmV0 c2NhcGUgY2VydGlmaWNhdGUKKyAKKyBPbmxpbmUgQ2VydGlmaWNhdGUgU3RhdHVzIFByb3RvY29s IHV0aWxpdHkuCisgCistPWl0ZW0gTDxCPHBhc3N3ZD58cGFzc3dkKDEpPgorKz1pdGVtIEw8Qjxw YXNzd2Q+fHNzbHBhc3N3ZCgxKT4KKyAKKyBHZW5lcmF0aW9uIG9mIGhhc2hlZCBwYXNzd29yZHMu CisgCitAQCAtMTg3LDcgKzE4Nyw3IEBAIFB1YmxpYyBrZXkgYWxnb3JpdGhtIHBhcmFtZXRlciBt YW5hZ2VtZW4KKyAKKyBQdWJsaWMga2V5IGFsZ29yaXRobSBjcnlwdG9ncmFwaGljIG9wZXJhdGlv biB1dGlsaXR5LgorIAorLT1pdGVtIEw8QjxyYW5kPnxyYW5kKDEpPgorKz1pdGVtIEw8QjxyYW5k Pnxzc2xyYW5kKDEpPgorIAorIEdlbmVyYXRlIHBzZXVkby1yYW5kb20gYnl0ZXMuCisgCitAQCAt NDAxLDkgKzQwMSw5IEBAIEw8Y3JsKDEpfGNybCgxKT4sIEw8Y3JsMnBrY3M3KDEpfGNybDJwa2MK KyBMPGRocGFyYW0oMSl8ZGhwYXJhbSgxKT4sIEw8ZHNhKDEpfGRzYSgxKT4sIEw8ZHNhcGFyYW0o MSl8ZHNhcGFyYW0oMSk+LAorIEw8ZW5jKDEpfGVuYygxKT4sIEw8Z2VuZHNhKDEpfGdlbmRzYSgx KT4sIEw8Z2VucGtleSgxKXxnZW5wa2V5KDEpPiwKKyBMPGdlbnJzYSgxKXxnZW5yc2EoMSk+LCBM PG5zZXEoMSl8bnNlcSgxKT4sIEw8b3BlbnNzbCgxKXxvcGVuc3NsKDEpPiwKKy1MPHBhc3N3ZCgx KXxwYXNzd2QoMSk+LAorK0w8c3NscGFzc3dkKDEpfHNzbHBhc3N3ZCgxKT4sCisgTDxwa2NzMTIo MSl8cGtjczEyKDEpPiwgTDxwa2NzNygxKXxwa2NzNygxKT4sIEw8cGtjczgoMSl8cGtjczgoMSk+ LAorLUw8cmFuZCgxKXxyYW5kKDEpPiwgTDxyZXEoMSl8cmVxKDEpPiwgTDxyc2EoMSl8cnNhKDEp PiwKKytMPHNzbHJhbmQoMSl8c3NscmFuZCgxKT4sIEw8cmVxKDEpfHJlcSgxKT4sIEw8cnNhKDEp fHJzYSgxKT4sCisgTDxyc2F1dGwoMSl8cnNhdXRsKDEpPiwgTDxzX2NsaWVudCgxKXxzX2NsaWVu dCgxKT4sCisgTDxzX3NlcnZlcigxKXxzX3NlcnZlcigxKT4sIEw8c190aW1lKDEpfHNfdGltZSgx KT4sCisgTDxzbWltZSgxKXxzbWltZSgxKT4sIEw8c3BrYWMoMSl8c3BrYWMoMSk+LAorZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvc19jbGllbnQucG9kLm1hbmZpeCBvcGVuc3NsLTEu MC4xaS9kb2MvYXBwcy9zX2NsaWVudC5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9z X2NsaWVudC5wb2QubWFuZml4CTIwMTQtMDgtMDYgMjM6MTA6NTYuMDAwMDAwMDAwICswMjAwCisr Kysgb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvc19jbGllbnQucG9kCTIwMTQtMDgtMDcgMTE6MjQ6 MjguNzM2NjA0NDQzICswMjAwCitAQCAtMzQsOSArMzQsMTQgQEAgQjxvcGVuc3NsPiBCPHNfY2xp ZW50PgorIFtCPC1zc2wyPl0KKyBbQjwtc3NsMz5dCisgW0I8LXRsczE+XQorK1tCPC10bHMxXzE+ XQorK1tCPC10bHMxXzI+XQorK1tCPC1kdGxzMT5dCisgW0I8LW5vX3NzbDI+XQorIFtCPC1ub19z c2wzPl0KKyBbQjwtbm9fdGxzMT5dCisrW0I8LW5vX3RsczFfMT5dCisrW0I8LW5vX3RsczFfMj5d CisgW0I8LWJ1Z3M+XQorIFtCPC1jaXBoZXIgY2lwaGVybGlzdD5dCisgW0I8LXNlcnZlcnByZWY+ XQorQEAgLTE5Niw3ICsyMDEsNyBAQCBVc2UgdGhlIFBTSyBrZXkgQjxrZXk+IHdoZW4gdXNpbmcg YSBQU0sKKyBnaXZlbiBhcyBhIGhleGFkZWNpbWFsIG51bWJlciB3aXRob3V0IGxlYWRpbmcgMHgs IGZvciBleGFtcGxlIC1wc2sKKyAxYTJiM2M0ZC4KKyAKKy09aXRlbSBCPC1zc2wyPiwgQjwtc3Ns Mz4sIEI8LXRsczE+LCBCPC1ub19zc2wyPiwgQjwtbm9fc3NsMz4sIEI8LW5vX3RsczE+CisrPWl0 ZW0gQjwtc3NsMj4sIEI8LXNzbDM+LCBCPC10bHMxPiwgQjwtdGxzMV8xPiwgQjwtdGxzMV8yPiwg QjwtZHRsczE+LCBCPC1ub19zc2wyPiwgQjwtbm9fc3NsMz4sIEI8LW5vX3RsczE+LCBCPC1ub190 bHMxXzE+LCBCPC1ub190bHMxXzI+CisgCisgdGhlc2Ugb3B0aW9ucyBkaXNhYmxlIHRoZSB1c2Ug b2YgY2VydGFpbiBTU0wgb3IgVExTIHByb3RvY29scy4gQnkgZGVmYXVsdAorIHRoZSBpbml0aWFs IGhhbmRzaGFrZSB1c2VzIGEgbWV0aG9kIHdoaWNoIHNob3VsZCBiZSBjb21wYXRpYmxlIHdpdGgg YWxsCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9zX3NlcnZlci5wb2QubWFuZml4 IG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3Nfc2VydmVyLnBvZAorLS0tIG9wZW5zc2wtMS4wLjFp L2RvYy9hcHBzL3Nfc2VydmVyLnBvZC5tYW5maXgJMjAxNC0wOC0wNiAyMzoxMDo1Ni4wMDAwMDAw MDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9zX3NlcnZlci5wb2QJMjAxNC0w OC0wNyAxMToyMTo1Ny4yNTk4ODc3NDYgKzAyMDAKK0BAIC0yMTYsNyArMjE2LDcgQEAgVXNlIHRo ZSBQU0sga2V5IEI8a2V5PiB3aGVuIHVzaW5nIGEgUFNLCisgZ2l2ZW4gYXMgYSBoZXhhZGVjaW1h bCBudW1iZXIgd2l0aG91dCBsZWFkaW5nIDB4LCBmb3IgZXhhbXBsZSAtcHNrCisgMWEyYjNjNGQu CisgCistPWl0ZW0gQjwtc3NsMj4sIEI8LXNzbDM+LCBCPC10bHMxPiwgQjwtbm9fc3NsMj4sIEI8 LW5vX3NzbDM+LCBCPC1ub190bHMxPgorKz1pdGVtIEI8LXNzbDI+LCBCPC1zc2wzPiwgQjwtdGxz MT4sIEI8LXRsczFfMT4sIEI8LXRsczFfMj4sIEI8LWR0bHMxPiwgQjwtbm9fc3NsMj4sIEI8LW5v X3NzbDM+LCBCPC1ub190bHMxPiwgQjwtbm9fdGxzMV8xPiwgQjwtbm9fdGxzMV8yPgorIAorIHRo ZXNlIG9wdGlvbnMgZGlzYWJsZSB0aGUgdXNlIG9mIGNlcnRhaW4gU1NMIG9yIFRMUyBwcm90b2Nv bHMuIEJ5IGRlZmF1bHQKKyB0aGUgaW5pdGlhbCBoYW5kc2hha2UgdXNlcyBhIG1ldGhvZCB3aGlj aCBzaG91bGQgYmUgY29tcGF0aWJsZSB3aXRoIGFsbAoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4w LjFpLW5ldy1maXBzLXJlcXMucGF0Y2ggYi9vcGVuc3NsLTEuMC4xaS1uZXctZmlwcy1yZXFzLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1NzcxNzcKLS0tIC9kZXYv bnVsbAorKysgYi9vcGVuc3NsLTEuMC4xaS1uZXctZmlwcy1yZXFzLnBhdGNoCkBAIC0wLDAgKzEs MTQ0NyBAQAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2JuL2JuX3JhbmQuYy5maXBz LXJlcXMgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2JuL2JuX3JhbmQuYworLS0tIG9wZW5zc2wtMS4w LjFpL2NyeXB0by9ibi9ibl9yYW5kLmMuZmlwcy1yZXFzCTIwMTQtMDctMjIgMjE6NDM6MTEuMDAw MDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2JuL2JuX3JhbmQuYwkyMDE0 LTA4LTA3IDExOjI1OjI4LjgzNTg4OTE0NSArMDIwMAorQEAgLTEzOCw5ICsxMzgsMTIgQEAgc3Rh dGljIGludCBibnJhbmQoaW50IHBzZXVkb3JhbmQsIEJJR05VTQorIAkJZ290byBlcnI7CisgCQl9 CisgCistCS8qIG1ha2UgYSByYW5kb20gbnVtYmVyIGFuZCBzZXQgdGhlIHRvcCBhbmQgYm90dG9t IGJpdHMgKi8KKy0JdGltZSgmdGltKTsKKy0JUkFORF9hZGQoJnRpbSxzaXplb2YodGltKSwwLjAp OworKwlpZiAoIUZJUFNfbW9kZSgpKSAvKiBpbiBGSVBTIG1vZGUgdGhlIFJORyBpcyBhbHdheXMg cHJvcGVybHkgc2VlZGVkIG9yIHRoZSBtb2R1bGUgZmFpbHMgKi8KKysJCXsKKysJCS8qIG1ha2Ug YSByYW5kb20gbnVtYmVyIGFuZCBzZXQgdGhlIHRvcCBhbmQgYm90dG9tIGJpdHMgKi8KKysJCXRp bWUoJnRpbSk7CisrCQlSQU5EX2FkZCgmdGltLHNpemVvZih0aW0pLDAuMCk7CisrCQl9CisgCisg CWlmIChwc2V1ZG9yYW5kKQorIAkJeworZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2Ro L2RoX2dlbi5jLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZGgvZGhfZ2VuLmMKKy0t LSBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZGgvZGhfZ2VuLmMuZmlwcy1yZXFzCTIwMTQtMDgtMDcg MTE6MjU6MjguNTg2ODg3OTY1ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2RoL2Ro X2dlbi5jCTIwMTQtMDgtMDcgMTE6MjU6MjguODM1ODg5MTQ1ICswMjAwCitAQCAtMTI1LDcgKzEy NSw3IEBAIHN0YXRpYyBpbnQgZGhfYnVpbHRpbl9nZW5wYXJhbXMoREggKnJldCwKKyAJCXJldHVy biAwOworIAkJfQorIAorLQlpZiAoRklQU19tb2RlKCkgJiYgKHByaW1lX2xlbiA8IE9QRU5TU0xf REhfRklQU19NSU5fTU9EVUxVU19CSVRTKSkKKysJaWYgKEZJUFNfbW9kZSgpICYmIChwcmltZV9s ZW4gPCBPUEVOU1NMX0RIX0ZJUFNfTUlOX01PRFVMVVNfQklUU19HRU4pKQorIAkJeworIAkJREhl cnIoREhfRl9ESF9CVUlMVElOX0dFTlBBUkFNUywgREhfUl9LRVlfU0laRV9UT09fU01BTEwpOwor IAkJZ290byBlcnI7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZGgvZGguaC5maXBz LXJlcXMgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2RoL2RoLmgKKy0tLSBvcGVuc3NsLTEuMC4xaS9j cnlwdG8vZGgvZGguaC5maXBzLXJlcXMJMjAxNC0wOC0wNyAxMToyNToyOC41ODY4ODc5NjUgKzAy MDAKKysrKyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZGgvZGguaAkyMDE0LTA4LTA3IDExOjI1OjI4 LjgzNjg4OTE1MCArMDIwMAorQEAgLTc4LDYgKzc4LDcgQEAKKyAjZW5kaWYKKyAKKyAjZGVmaW5l IE9QRU5TU0xfREhfRklQU19NSU5fTU9EVUxVU19CSVRTIDEwMjQKKysjZGVmaW5lIE9QRU5TU0xf REhfRklQU19NSU5fTU9EVUxVU19CSVRTX0dFTiAyMDQ4CisgCisgI2RlZmluZSBESF9GTEFHX0NB Q0hFX01PTlRfUCAgICAgMHgwMQorICNkZWZpbmUgREhfRkxBR19OT19FWFBfQ09OU1RUSU1FIDB4 MDIgLyogbmV3IHdpdGggMC45LjdoOyB0aGUgYnVpbHQtaW4gREgKK2RpZmYgLXVwIG9wZW5zc2wt MS4wLjFpL2NyeXB0by9kaC9kaF9jaGVjay5jLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xaS9jcnlw dG8vZGgvZGhfY2hlY2suYworLS0tIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9kaC9kaF9jaGVjay5j LmZpcHMtcmVxcwkyMDE0LTA4LTA2IDIzOjEwOjU2LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5z c2wtMS4wLjFpL2NyeXB0by9kaC9kaF9jaGVjay5jCTIwMTQtMDgtMDcgMTE6MjU6MjguODM2ODg5 MTUwICswMjAwCitAQCAtMTM0LDcgKzEzNCwzMyBAQCBpbnQgREhfY2hlY2tfcHViX2tleShjb25z dCBESCAqZGgsIGNvbnN0CisgCUJOX3N1Yl93b3JkKHEsMSk7CisgCWlmIChCTl9jbXAocHViX2tl eSxxKT49MCkKKyAJCSpyZXR8PURIX0NIRUNLX1BVQktFWV9UT09fTEFSR0U7CisrI2lmZGVmIE9Q RU5TU0xfRklQUworKwlpZiAoRklQU19tb2RlKCkgJiYgZGgtPnEgIT0gTlVMTCkKKysJCXsKKysJ CUJOX0NUWCAqY3R4ID0gTlVMTDsKKyAKKysJCWN0eCA9IEJOX0NUWF9uZXcoKTsKKysJCWlmIChj dHggPT0gTlVMTCkKKysJCQlnb3RvIGVycjsKKysKKysJCWlmIChCTl9tb2RfZXhwX21vbnQocSwg cHViX2tleSwgZGgtPnEsIGRoLT5wLCBjdHgsIE5VTEwpIDw9IDApCisrCQkJeworKwkJCUJOX0NU WF9mcmVlKGN0eCk7CisrCQkJZ290byBlcnI7CisrCQkJfQorKwkJaWYgKCFCTl9pc19vbmUocSkp CisrCQkJeworKwkJCS8qIGl0IHdvdWxkIGJlIG1vcmUgY29ycmVjdCB0byBhZGQgbmV3IHJldHVy biBmbGFnIAorKwkJCSAqIGZvciB0aGlzIHRlc3QsIGJ1dCB3ZSBkbyBub3Qgd2FudCB0byBkbyBp dAorKwkJCSAqIHNvIGp1c3QgZXJyb3Igb3V0CisrCQkJICovCisrCQkJQk5fQ1RYX2ZyZWUoY3R4 KTsKKysJCQlnb3RvIGVycjsKKysJCQl9CisrCQkKKysJCUJOX0NUWF9mcmVlKGN0eCk7CisrCQl9 CisrI2VuZGlmCisgCW9rID0gMTsKKyBlcnI6CisgCWlmIChxICE9IE5VTEwpIEJOX2ZyZWUocSk7 CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZHNhL2RzYV9nZW4uYy5maXBzLXJlcXMg b3BlbnNzbC0xLjAuMWkvY3J5cHRvL2RzYS9kc2FfZ2VuLmMKKy0tLSBvcGVuc3NsLTEuMC4xaS9j cnlwdG8vZHNhL2RzYV9nZW4uYy5maXBzLXJlcXMJMjAxNC0wOC0wNyAxMToyNToyOC41ODc4ODc5 NjkgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZHNhL2RzYV9nZW4uYwkyMDE0LTA4 LTA3IDExOjI1OjI4LjgzNjg4OTE1MCArMDIwMAorQEAgLTE1OSw3ICsxNTksNyBAQCBpbnQgZHNh X2J1aWx0aW5fcGFyYW1nZW4oRFNBICpyZXQsIHNpemVfCisgCSAgICB9CisgCisgCWlmIChGSVBT X21vZHVsZV9tb2RlKCkgJiYKKy0JICAgIChiaXRzICE9IDEwMjQgfHwgcWJpdHMgIT0gMTYwKSAm JgorKwkgICAgKGdldGVudigiT1BFTlNTTF9FTkZPUkNFX01PRFVMVVNfQklUUyIpIHx8IGJpdHMg IT0gMTAyNCB8fCBxYml0cyAhPSAxNjApICYmCisgCSAgICAoYml0cyAhPSAyMDQ4IHx8IHFiaXRz ICE9IDIyNCkgJiYKKyAJICAgIChiaXRzICE9IDIwNDggfHwgcWJpdHMgIT0gMjU2KSAmJgorIAkg ICAgKGJpdHMgIT0gMzA3MiB8fCBxYml0cyAhPSAyNTYpKQorZGlmZiAtdXAgb3BlbnNzbC0xLjAu MWkvY3J5cHRvL2RzYS9kc2EuaC5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2RzYS9k c2EuaAorLS0tIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9kc2EvZHNhLmguZmlwcy1yZXFzCTIwMTQt MDgtMDcgMTE6MjU6MjguNTg4ODg3OTc0ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvY3J5cHRv L2RzYS9kc2EuaAkyMDE0LTA4LTA3IDExOjI1OjI4LjgzNzg4OTE1NCArMDIwMAorQEAgLTg5LDYg Kzg5LDcgQEAKKyAjZW5kaWYKKyAKKyAjZGVmaW5lIE9QRU5TU0xfRFNBX0ZJUFNfTUlOX01PRFVM VVNfQklUUyAxMDI0CisrI2RlZmluZSBPUEVOU1NMX0RTQV9GSVBTX01JTl9NT0RVTFVTX0JJVFNf R0VOIChnZXRlbnYoIk9QRU5TU0xfRU5GT1JDRV9NT0RVTFVTX0JJVFMiKT8yMDQ4OjEwMjQpCisg CisgI2RlZmluZSBEU0FfRkxBR19DQUNIRV9NT05UX1AJMHgwMQorICNkZWZpbmUgRFNBX0ZMQUdf Tk9fRVhQX0NPTlNUVElNRSAgICAgICAweDAyIC8qIG5ldyB3aXRoIDAuOS43aDsgdGhlIGJ1aWx0 LWluIERTQQorQEAgLTI1NCw5ICsyNTUsOSBAQCBpbnQJRFNBcGFyYW1zX3ByaW50X2ZwKEZJTEUg KmZwLCBjb25zdCBECisgaW50CURTQV9wcmludF9mcChGSUxFICpicCwgY29uc3QgRFNBICp4LCBp bnQgb2ZmKTsKKyAjZW5kaWYKKyAKKy0jZGVmaW5lIERTU19wcmltZV9jaGVja3MgNTAKKy0vKiBQ cmltYWxpdHkgdGVzdCBhY2NvcmRpbmcgdG8gRklQUyBQVUIgMTg2Wy0xXSwgQXBwZW5kaXggMi4x OgorLSAqIDUwIHJvdW5kcyBvZiBSYWJpbi1NaWxsZXIgKi8KKysjZGVmaW5lIERTU19wcmltZV9j aGVja3MgNjQKKysvKiBQcmltYWxpdHkgdGVzdCBhY2NvcmRpbmcgdG8gRklQUyBQVUIgMTg2Wy00 XSwgQXBwZW5kaXggMi4xOgorKyAqIDY0IHJvdW5kcyBvZiBSYWJpbi1NaWxsZXIgKi8KKyAjZGVm aW5lIERTQV9pc19wcmltZShuLCBjYWxsYmFjaywgY2JfYXJnKSBcCisgCUJOX2lzX3ByaW1lKG4s IERTU19wcmltZV9jaGVja3MsIGNhbGxiYWNrLCBOVUxMLCBjYl9hcmcpCisgCitkaWZmIC11cCBv cGVuc3NsLTEuMC4xaS9jcnlwdG8vZHNhL2RzYV9rZXkuYy5maXBzLXJlcXMgb3BlbnNzbC0xLjAu MWkvY3J5cHRvL2RzYS9kc2Ffa2V5LmMKKy0tLSBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZHNhL2Rz YV9rZXkuYy5maXBzLXJlcXMJMjAxNC0wOC0wNyAxMToyNToyOC44MzM4ODkxMzUgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZHNhL2RzYV9rZXkuYwkyMDE0LTA4LTA3IDExOjI1OjI4 LjgzNzg4OTE1NCArMDIwMAorQEAgLTEyNyw3ICsxMjcsNyBAQCBzdGF0aWMgaW50IGRzYV9idWls dGluX2tleWdlbihEU0EgKmRzYSkKKyAKKyAjaWZkZWYgT1BFTlNTTF9GSVBTCisgCWlmIChGSVBT X21vZGUoKSAmJiAhKGRzYS0+ZmxhZ3MgJiBEU0FfRkxBR19OT05fRklQU19BTExPVykKKy0JCSYm IChCTl9udW1fYml0cyhkc2EtPnApIDwgT1BFTlNTTF9EU0FfRklQU19NSU5fTU9EVUxVU19CSVRT KSkKKysJCSYmIChCTl9udW1fYml0cyhkc2EtPnApIDwgT1BFTlNTTF9EU0FfRklQU19NSU5fTU9E VUxVU19CSVRTX0dFTikpCisgCQl7CisgCQlEU0FlcnIoRFNBX0ZfRFNBX0JVSUxUSU5fS0VZR0VO LCBEU0FfUl9LRVlfU0laRV9UT09fU01BTEwpOworIAkJZ290byBlcnI7CitkaWZmIC11cCBvcGVu c3NsLTEuMC4xaS9jcnlwdG8vZmlwcy9maXBzX2RoX3NlbGZ0ZXN0LmMuZmlwcy1yZXFzIG9wZW5z c2wtMS4wLjFpL2NyeXB0by9maXBzL2ZpcHNfZGhfc2VsZnRlc3QuYworLS0tIG9wZW5zc2wtMS4w LjFpL2NyeXB0by9maXBzL2ZpcHNfZGhfc2VsZnRlc3QuYy5maXBzLXJlcXMJMjAxNC0wOC0wNyAx MToyNToyOC44Mzc4ODkxNTQgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZmlwcy9m aXBzX2RoX3NlbGZ0ZXN0LmMJMjAxNC0wOC0wNyAxMToyNToyOC44Mzc4ODkxNTQgKzAyMDAKK0BA IC0wLDAgKzEsMTYyIEBACisrLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysgKiBDb3B5cmlnaHQgKGMpIDIwMTEg VGhlIE9wZW5TU0wgUHJvamVjdC4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICogQ29weXJpZ2h0 IChjKSAyMDEzIFJlZCBIYXQsIEluYy4KKysgKgorKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKyAqIG1vZGlmaWNh dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u cworKyAqIGFyZSBtZXQ6CisrICoKKysgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKyAqICAgIG5vdGljZSwgdGhpcyBs aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisrICoKKysg KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi b3ZlIGNvcHlyaWdodAorKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFu ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKysgKiAgICBkaXN0cmlidXRp b24uCisrICoKKysgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVh dHVyZXMgb3IgdXNlIG9mIHRoaXMKKysgKiAgICBzb2Z0d2FyZSBtdXN0IGRpc3BsYXkgdGhlIGZv bGxvd2luZyBhY2tub3dsZWRnbWVudDoKKysgKiAgICAiVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNv ZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgT3BlblNTTCBQcm9qZWN0CisrICogICAgZm9yIHVzZSBp biB0aGUgT3BlblNTTCBUb29sa2l0LiAoaHR0cDovL3d3dy5vcGVuc3NsLm9yZy8pIgorKyAqCisr ICogNC4gVGhlIG5hbWVzICJPcGVuU1NMIFRvb2xraXQiIGFuZCAiT3BlblNTTCBQcm9qZWN0IiBt dXN0IG5vdCBiZSB1c2VkIHRvCisrICogICAgZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl cml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQKKysgKiAgICBwcmlvciB3cml0dGVuIHBl cm1pc3Npb24uIEZvciB3cml0dGVuIHBlcm1pc3Npb24sIHBsZWFzZSBjb250YWN0CisrICogICAg b3BlbnNzbC1jb3JlQG9wZW5zc2wub3JnLgorKyAqCisrICogNS4gUHJvZHVjdHMgZGVyaXZlZCBm cm9tIHRoaXMgc29mdHdhcmUgbWF5IG5vdCBiZSBjYWxsZWQgIk9wZW5TU0wiCisrICogICAgbm9y IG1heSAiT3BlblNTTCIgYXBwZWFyIGluIHRoZWlyIG5hbWVzIHdpdGhvdXQgcHJpb3Igd3JpdHRl bgorKyAqICAgIHBlcm1pc3Npb24gb2YgdGhlIE9wZW5TU0wgUHJvamVjdC4KKysgKgorKyAqIDYu IFJlZGlzdHJpYnV0aW9ucyBvZiBhbnkgZm9ybSB3aGF0c29ldmVyIG11c3QgcmV0YWluIHRoZSBm b2xsb3dpbmcKKysgKiAgICBhY2tub3dsZWRnbWVudDoKKysgKiAgICAiVGhpcyBwcm9kdWN0IGlu Y2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgT3BlblNTTCBQcm9qZWN0CisrICogICAg Zm9yIHVzZSBpbiB0aGUgT3BlblNTTCBUb29sa2l0IChodHRwOi8vd3d3Lm9wZW5zc2wub3JnLyki CisrICoKKysgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBPcGVuU1NMIFBST0pF Q1QgYGBBUyBJUycnIEFORCBBTlkKKysgKiBFWFBSRVNTRUQgT1IgSU1QTElFRCBXQVJSQU5USUVT LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisrICogSU1QTElFRCBXQVJSQU5U SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisrICog UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBPcGVuU1NMIFBS T0pFQ1QgT1IKKysgKiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisrICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUCisrICogTk9UIExJTUlURUQgVE8sIFBST0NV UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisrICogTE9TUyBPRiBVU0Us IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKysgKiBIT1dFVkVS IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB Q1QsCisrICogU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug T1IgT1RIRVJXSVNFKQorKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQKKysgKiBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg U1VDSCBEQU1BR0UuCisrICoKKysgKi8KKysKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrI2luY2x1 ZGUgPG9wZW5zc2wvY3J5cHRvLmg+CisrI2luY2x1ZGUgPG9wZW5zc2wvZGguaD4KKysjaW5jbHVk ZSA8b3BlbnNzbC9maXBzLmg+CisrI2luY2x1ZGUgPG9wZW5zc2wvZXJyLmg+CisrI2luY2x1ZGUg PG9wZW5zc2wvZXZwLmg+CisrI2luY2x1ZGUgPG9wZW5zc2wvYm4uaD4KKysjaW5jbHVkZSAiZmlw c19sb2NsLmgiCisrCisrI2lmZGVmIE9QRU5TU0xfRklQUworKworK3N0YXRpYyBjb25zdCB1bnNp Z25lZCBjaGFyIGRoX3Rlc3RfMjA0OF9wW10gPSB7CisrCTB4QUUsMHhFQywweEVFLDB4MjIsMHhG QSwweDNBLDB4QTUsMHgyMiwweEMwLDB4REUsMHgwRiwweDA5LAorKwkweDdFLDB4MTcsMHhDMCww eDA1LDB4RjksMHhGMSwweEU3LDB4QzYsMHg4NywweDE0LDB4NkQsMHgxMSwKKysJMHhFNywweEFF LDB4RUQsMHgyRiwweDcyLDB4NTksMHhDNSwweEE5LDB4OUIsMHhCOCwweDAyLDB4QTUsCisrCTB4 RjMsMHg2OSwweDcwLDB4RDYsMHhERCwweDkwLDB4RjksMHgxOSwweDc5LDB4QkUsMHg2MCwweDhG LAorKwkweDI1LDB4OTIsMHgzMCwweDFDLDB4NTEsMHg1MSwweDM4LDB4MjYsMHg4MiwweDI1LDB4 RTYsMHhGQywKKysJMHhFRCwweDY1LDB4OTYsMHg4RiwweDU3LDB4RTUsMHg1MywweDhCLDB4Mzgs MHg2MywweEM3LDB4Q0UsCisrCTB4QkMsMHgxQiwweDRELDB4MTgsMHgyQSwweDVCLDB4MDQsMHgz RiwweDZBLDB4M0MsMHg5NCwweDM5LAorKwkweEFFLDB4MzYsMHhENiwweDVFLDB4MEYsMHhBMiww eENDLDB4RDAsMHhENCwweEQ1LDB4QzYsMHgxRSwKKysJMHhGNiwweEEwLDB4RjUsMHg4OSwweDRF LDB4QjQsMHgwQiwweEE0LDB4QjMsMHgyQiwweDNELDB4RTIsCisrCTB4NEUsMHhFMSwweDQ5LDB4 MjUsMHg5OSwweDVGLDB4MzIsMHgxNiwweDMzLDB4MzIsMHgxQiwweDdBLAorKwkweEE1LDB4NUMs MHg2QiwweDM0LDB4MEQsMHgzOSwweDk5LDB4REMsMHhGMCwweDc2LDB4RTUsMHg1QSwKKysJMHhE NCwweDcxLDB4MDAsMHhFRCwweDVBLDB4NzMsMHhGQiwweEM4LDB4MDEsMHhBRCwweDk5LDB4Q0Ys CisrCTB4OTksMHg1MiwweDdDLDB4OUMsMHg2NCwweEM2LDB4NzYsMHg0MCwweDU3LDB4QUYsMHg1 OSwweEQ3LAorKwkweDM4LDB4MEIsMHg0MCwweERFLDB4MzMsMHgwRCwweEI4LDB4NzYsMHhFQyww eEE5LDB4RDgsMHg3MywKKysJMHhGOCwweEVGLDB4MjYsMHg2NiwweDA2LDB4MjcsMHhERCwweDdD LDB4QTQsMHgxMCwweDlDLDB4QTYsCisrCTB4QUEsMHhGOSwweDUzLDB4NjIsMHg3MywweDFELDB4 QkEsMHgxQywweEYxLDB4NjcsMHhGNCwweDM1LAorKwkweEVELDB4NkYsMHgzNywweDkyLDB4RTgs MHg0RiwweDZDLDB4QkEsMHg1MiwweDZFLDB4QTEsMHhFRCwKKysJMHhEQSwweDlGLDB4ODUsMHgx MSwweDgyLDB4NTIsMHg2MiwweDA4LDB4NDQsMHhGMSwweDMwLDB4MDMsCisrCTB4QzMsMHgzOCww eDJDLDB4NzksMHhCRCwweEQ0LDB4NDMsMHg0NSwweEVFLDB4OEUsMHg1MCwweEZDLAorKwkweDI5 LDB4NDYsMHg5QSwweEZFLDB4NTQsMHgxQSwweDE5LDB4OEYsMHg0QiwweDg0LDB4MDgsMHhERSwK KysJMHgyMCwweDYyLDB4NzMsMHhDQywweERELDB4N0UsMHhGMCwweEVGLDB4QTIsMHhGRCwweDg2 LDB4NTgsCisrCTB4NEIsMHhEOCwweDM3LDB4RUIKKyt9OworKworK3N0YXRpYyBjb25zdCB1bnNp Z25lZCBjaGFyIGRoX3Rlc3RfMjA0OF9nW10gPSB7CisrCTB4MDIKKyt9OworKworK3N0YXRpYyBj b25zdCB1bnNpZ25lZCBjaGFyIGRoX3Rlc3RfMjA0OF9wdWJfa2V5W10gPSB7CisrCTB4QTAsMHgz OSwweDExLDB4NzcsMHg5QSwweEMxLDB4MzAsMHgxRiwweEJFLDB4NDgsMHhBNywweEFBLAorKwkw eEEwLDB4ODQsMHg1NCwweDY0LDB4QUQsMHgxQiwweDcwLDB4RkEsMHgxMywweDU1LDB4NjMsMHhE MiwKKysJMHgxRiwweDYyLDB4MzIsMHg5MywweDhFLDB4QzksMHgzRSwweDA5LDB4QTcsMHg2NCww eEU0LDB4MTIsCisrCTB4NkUsMHgxQiwweEYyLDB4OTIsMHgzQiwweEI5LDB4Q0IsMHg1NiwweEVB LDB4MDcsMHg4OCwweEI1LAorKwkweEE2LDB4QkMsMHgxNiwweDFGLDB4MjcsMHhGRSwweEQ4LDB4 QUEsMHg0MCwweEIyLDB4QjAsMHgyRCwKKysJMHgzNywweDc2LDB4QTYsMHhBNCwweDgyLDB4MkMs MHgwRSwweDIyLDB4NjQsMHg5RCwweENCLDB4RDEsCisrCTB4MDAsMHhCNywweDg5LDB4MTQsMHg3 MiwweDRFLDB4QkUsMHg0OCwweDQxLDB4RjgsMHhCMiwweDUxLAorKwkweDExLDB4MDksMHg0Qiww eDIyLDB4MDEsMHgyMywweDM5LDB4OTYsMHhFMCwweDE1LDB4RDcsMHg5RiwKKysJMHg2MCwweEQx LDB4QjcsMHhBRSwweEZFLDB4NUYsMHhEQiwweEU3LDB4MDMsMHgxNywweDk3LDB4QTYsCisrCTB4 MTYsMHg3NCwweEJELDB4NTMsMHg4MSwweDE5LDB4QzUsMHg0NywweDVFLDB4Q0UsMHg4RCwweEVE LAorKwkweDQ1LDB4NUQsMHgzQywweDAwLDB4QTAsMHgwQSwweDY4LDB4NkEsMHhFMCwweDhFLDB4 MDYsMHg0NiwKKysJMHg2RiwweEQ3LDB4RjksMHhERiwweDMxLDB4N0UsMHg3NywweDQ0LDB4MEQs MHg5OCwweEUwLDB4Q0EsCisrCTB4OTgsMHgwOSwweDUyLDB4MDQsMHg5MCwweEVBLDB4NkQsMHhG NCwweDMwLDB4NjksMHg4RiwweEIxLAorKwkweDlCLDB4QzEsMHg0MywweERCLDB4RDUsMHg4RCww eEM4LDB4OEUsMHhCNiwweDBCLDB4MDUsMHhCRSwKKysJMHgwRSwweEM1LDB4OTksMHhDOCwweDZF LDB4NEUsMHhGMywweENCLDB4QzMsMHg1RSwweDlCLDB4NTMsCisrCTB4RjcsMHgwNiwweDFDLDB4 NEYsMHhDNywweEI4LDB4NkUsMHgzMCwweDE4LDB4Q0EsMHg5QiwweEI5LAorKwkweEJDLDB4NUYs MHgxNywweDcyLDB4MjksMHg1QSwweEU1LDB4RDksMHg5NiwweEI3LDB4MEIsMHhGMywKKysJMHgy RCwweDhDLDB4RjEsMHhFMSwweDBFLDB4MEQsMHg3NCwweEQ1LDB4OUQsMHhGMCwweDA2LDB4QTks CisrCTB4QjQsMHg5NSwweDYzLDB4NzYsMHg0NiwweDU1LDB4NDgsMHg4MiwweDM5LDB4OTAsMHhF RiwweDU2LAorKwkweDc1LDB4MzQsMHhCOCwweDM0LDB4QzMsMHgxOCwweDZFLDB4MUUsMHhBRCww eEUzLDB4NDgsMHg3RSwKKysJMHg5MywweDJDLDB4MjMsMHhFNywweEY4LDB4OTAsMHg3MywweEIx LDB4NzcsMHg4MCwweDY3LDB4QTksCisrCTB4MzYsMHg5RSwweERBLDB4RDIKKyt9OworKworK3N0 YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGRoX3Rlc3RfMjA0OF9wcml2X2tleVtdID0geworKwkw eDBDLDB4NEIsMHgzMCwweDg5LDB4RDEsMHhCOCwweDYyLDB4Q0IsMHgzQywweDQzLDB4NjQsMHg5 MSwKKysJMHhGMCwweDkxLDB4NTQsMHg3MCwweEM1LDB4MjcsMHg5NiwweEUzLDB4QUMsMHhCRSww eEU4LDB4MDAsCisrCTB4RUMsMHg1NSwweEY2LDB4Q0MKKyt9OworKworK2ludCBGSVBTX3NlbGZ0 ZXN0X2RoKCkKKysJeworKwlESCAqZGggPSBOVUxMOworKwlpbnQgcmV0ID0gMDsKKysJdm9pZCAq cHViX2tleSA9IE5VTEw7CisrCWludCBsZW47CisrCisrCWRoID0gREhfbmV3KCk7CisrCisrCWlm KGRoID09IE5VTEwpCisrCQlnb3RvIGVycjsKKysKKysJZmlwc19sb2FkX2tleV9jb21wb25lbnQo ZGgsIHAsIGRoX3Rlc3RfMjA0OCk7CisrCWZpcHNfbG9hZF9rZXlfY29tcG9uZW50KGRoLCBnLCBk aF90ZXN0XzIwNDgpOworKwkvKiBub3RlIHRoYXQgdGhlIHByaXZhdGUga2V5IGlzIG11Y2ggc2hv cnRlciB0aGFuIG5vcm1hbGx5IHVzZWQKKysJICogYnV0IHN0aWxsIGcgKiogcHJpdl9rZXkgPiBw CisrCSAqLworKwlmaXBzX2xvYWRfa2V5X2NvbXBvbmVudChkaCwgcHJpdl9rZXksIGRoX3Rlc3Rf MjA0OCk7CisrCisrCWlmIChESF9nZW5lcmF0ZV9rZXkoZGgpIDw9IDApCisrCQlnb3RvIGVycjsK KysKKysJbGVuID0gQk5fbnVtX2J5dGVzKGRoLT5wdWJfa2V5KTsKKysJaWYgKChwdWJfa2V5ID0g T1BFTlNTTF9tYWxsb2MobGVuKSkgPT0gTlVMTCkKKysJCWdvdG8gZXJyOworKwlCTl9ibjJiaW4o ZGgtPnB1Yl9rZXksIHB1Yl9rZXkpOworKworKwlpZiAobGVuICE9IHNpemVvZihkaF90ZXN0XzIw NDhfcHViX2tleSkgfHwKKysJCW1lbWNtcChwdWJfa2V5LCBkaF90ZXN0XzIwNDhfcHViX2tleSwg bGVuKSAhPSAwKQorKwkJZ290byBlcnI7CisrCisrCXJldCA9IDE7CisrCisrCWVycjoKKysJaWYg KGRoKQorKwkJREhfZnJlZShkaCk7CisrCisrCU9QRU5TU0xfZnJlZShwdWJfa2V5KTsKKysJcmV0 dXJuIHJldDsKKysJfQorKyNlbmRpZgorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2Zp cHMvZmlwcy5oLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZmlwcy9maXBzLmgKKy0t LSBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZmlwcy9maXBzLmguZmlwcy1yZXFzCTIwMTQtMDgtMDcg MTE6MjU6MjguODI4ODg5MTExICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2ZpcHMv Zmlwcy5oCTIwMTQtMDgtMDcgMTE6MjU6MjguODM4ODg5MTU5ICswMjAwCitAQCAtOTYsNiArOTYs NyBAQCB2b2lkIEZJUFNfY29ycnVwdF9kc2Ffa2V5Z2VuKHZvaWQpOworIGludCBGSVBTX3NlbGZ0 ZXN0X2RzYSh2b2lkKTsKKyBpbnQgRklQU19zZWxmdGVzdF9lY2RzYSh2b2lkKTsKKyBpbnQgRklQ U19zZWxmdGVzdF9lY2RoKHZvaWQpOworK2ludCBGSVBTX3NlbGZ0ZXN0X2RoKHZvaWQpOworIHZv aWQgRklQU19jb3JydXB0X3JuZyh2b2lkKTsKKyB2b2lkIEZJUFNfcm5nX3N0aWNrKHZvaWQpOwor IHZvaWQgRklQU194OTMxX3N0aWNrKGludCBvbm9mZik7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4x aS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYy5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWkvY3J5cHRv L2ZpcHMvZmlwc19wb3N0LmMKKy0tLSBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZmlwcy9maXBzX3Bv c3QuYy5maXBzLXJlcXMJMjAxNC0wOC0wNyAxMToyNToyOC44MjI4ODkwODMgKzAyMDAKKysrKyBv cGVuc3NsLTEuMC4xaS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYwkyMDE0LTA4LTA3IDExOjI1OjI4 LjgzODg4OTE1OSArMDIwMAorQEAgLTk5LDYgKzk5LDggQEAgaW50IEZJUFNfc2VsZnRlc3Qodm9p ZCkKKyAJCXJ2ID0gMDsKKyAJaWYgKCFGSVBTX3NlbGZ0ZXN0X2RzYSgpKQorIAkJcnYgPSAwOwor KwlpZiAoIUZJUFNfc2VsZnRlc3RfZGgoKSkKKysJCXJ2ID0gMDsKKyAJaWYgKCFGSVBTX3NlbGZ0 ZXN0X2VjZGgoKSkKKyAJCXJ2ID0gMDsKKyAJcmV0dXJuIHJ2OworZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWkvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYy5maXBzLXJlcXMgb3BlbnNzbC0x LjAuMWkvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYworLS0tIG9wZW5zc2wtMS4wLjFp L2NyeXB0by9maXBzL2ZpcHNfcnNhX3NlbGZ0ZXN0LmMuZmlwcy1yZXFzCTIwMTQtMDgtMDcgMTE6 MjU6MjguNzgzODg4ODk4ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2ZpcHMvZmlw c19yc2Ffc2VsZnRlc3QuYwkyMDE0LTA4LTA3IDExOjI1OjI4LjgzODg4OTE1OSArMDIwMAorQEAg LTYwLDY5ICs2MCwxMTMgQEAKKyAjaWZkZWYgT1BFTlNTTF9GSVBTCisgCisgc3RhdGljIGNvbnN0 IHVuc2lnbmVkIGNoYXIgbltdID0KKy0iXHgwMFx4QkJceEY4XHgyRlx4MDlceDA2XHg4Mlx4Q0Vc eDlDXHgyM1x4MzhceEFDXHgyQlx4OURceEE4XHg3MSIKKy0iXHhGN1x4MzZceDhEXHgwN1x4RUVc eEQ0XHgxMFx4NDNceEE0XHg0MFx4RDZceEI2XHhGMFx4NzRceDU0XHhGNSIKKy0iXHgxRlx4Qjhc eERGXHhCQVx4QUZceDAzXHg1Q1x4MDJceEFCXHg2MVx4RUFceDQ4XHhDRVx4RUJceDZGXHhDRCIK Ky0iXHg0OFx4NzZceEVEXHg1Mlx4MERceDYwXHhFMVx4RUNceDQ2XHgxOVx4NzFceDlEXHg4QVx4 NUJceDhCXHg4MCIKKy0iXHg3Rlx4QUZceEI4XHhFMFx4QTNceERGXHhDN1x4MzdceDcyXHgzRVx4 RTZceEI0XHhCN1x4RDlceDNBXHgyNSIKKy0iXHg4NFx4RUVceDZBXHg2NFx4OURceDA2XHgwOVx4 NTNceDc0XHg4OFx4MzRceEIyXHg0NVx4NDVceDk4XHgzOSIKKy0iXHg0RVx4RTBceEFBXHhCMVx4 MkRceDdCXHg2MVx4QTVceDFGXHg1Mlx4N0FceDlBXHg0MVx4RjZceEMxXHg2OCIKKy0iXHg3Rlx4 RTJceDUzXHg3Mlx4OThceENBXHgyQVx4OEZceDU5XHg0Nlx4RjhceEU1XHhGRFx4MDlceDFEXHhC RCIKKy0iXHhDQiI7CisrIlx4MDBceGM5XHhkNVx4NmRceDlkXHg5MFx4ZGJceDQzXHhkNlx4MDJc eGVkXHg5Nlx4ODhceDEzXHg4YSIKKysiXHhiMlx4YmZceDZlXHhhMVx4MDZceDEwXHhiMlx4Nzhc eDM3XHhhN1x4MTRceGE4XHhmZlx4ZGRceDAwIgorKyJceGRkXHhiNFx4OTNceGEwXHg0NVx4Y2Nc eDk2XHg5MFx4ZWRceGFkXHhhOVx4ZGRceGM0XHhkNlx4Y2EiCisrIlx4MGNceGYwXHhlZFx4NGZc eDcyXHg1ZVx4MjFceDQ5XHg5YVx4MThceDEyXHgxNVx4OGZceDkwXHg1YSIKKysiXHhkYlx4YjZc eDMzXHg5OVx4YTNceGU2XHhiNFx4ZjBceGM0XHg5N1x4MjFceDI2XHhiYlx4ZTNceGJhIgorKyJc eGYyXHhmZlx4YTBceDcyXHhkYVx4ODlceDYzXHg4ZVx4OGJceDNlXHgwOFx4OWRceDkyXHgyYVx4 YmUiCisrIlx4MTZceGUxXHg0M1x4MTVceGZjXHg1N1x4YzdceDFmXHgwOVx4MTFceDY3XHgxY1x4 YTlceDk2XHhkMSIKKysiXHg4Ylx4M2VceDgwXHg5M1x4YzFceDU5XHhkMFx4NmRceDM5XHhmMlx4 YWNceDk1XHhjY1x4MTBceDc1IgorKyJceGU5XHgzMVx4MjRceGQxXHg0M1x4YWZceDY4XHg1Mlx4 NGJceGU3XHgxNlx4ZDdceDQ5XHg2NVx4NmYiCisrIlx4MjZceGMwXHg4Nlx4YWRceGMwXHgwN1x4 MGFceGMxXHhlMVx4MmZceDg3XHg4NVx4ODZceDNiXHhkYyIKKysiXHg1YVx4OTlceGJlXHhlOVx4 ZjlceGI5XHhlOVx4ODJceDI3XHg1MVx4MDRceDE1XHhhYlx4MDZceDBlIgorKyJceDc2XHg1YVx4 MjhceDhkXHg5Mlx4YmRceGM1XHhiNVx4N2JceGE4XHhkZlx4NGVceDQ3XHhhMlx4YzEiCisrIlx4 ZTdceDUyXHhiZlx4NDdceGY3XHg2Mlx4ZTBceDNhXHg2Zlx4NGRceDZhXHg0ZFx4NGVceGQ0XHhi OSIKKysiXHg1OVx4NjlceGZhXHhiMlx4MTRceGMxXHhlZVx4ZTZceDJmXHg5NVx4Y2RceDk0XHg3 Mlx4YWVceGU0IgorKyJceGRiXHgxOFx4OWFceGM0XHhjZFx4NzBceGJkXHhlZVx4MzFceDE2XHhi N1x4NDlceDY1XHhhY1x4NDAiCisrIlx4MTlceDBlXHhiNVx4NmRceDgzXHhmMVx4MzZceGJiXHgw OFx4MmZceDJlXHg0ZVx4OTJceDYyXHhhNCIKKysiXHhmZlx4NTBceGRiXHgyMFx4NDVceGEyXHhl Ylx4MTZceDdhXHhmMlx4ZDVceDI4XHhjMVx4ZmRceDRlIgorKyJceDAzXHg3MSI7CisrCisgCisg c3RhdGljIGludCBjb3JydXB0X3JzYTsKKyAKKyBzdGF0aWMgaW50IHNldHJzYWtleShSU0EgKmtl eSkKKyAgICAgeworLSAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBlW10gPSAiXHgxMSI7 CisrICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGVbXSA9ICJceDAxXHgwMFx4MDEiOwor IAorICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBkW10gPQorLSJceDAwXHhBNVx4REFc eEZDXHg1M1x4NDFceEZBXHhGMlx4ODlceEM0XHhCOVx4ODhceERCXHgzMFx4QzFceENEIgorLSJc eEY4XHgzRlx4MzFceDI1XHgxRVx4MDZceDY4XHhCNFx4MjdceDg0XHg4MVx4MzhceDAxXHg1N1x4 OTZceDQxIgorLSJceEIyXHg5NFx4MTBceEIzXHhDN1x4OTlceDhEXHg2Qlx4QzRceDY1XHg3NFx4 NUVceDVDXHgzOVx4MjZceDY5IgorLSJceEQ2XHg4N1x4MERceEEyXHhDMFx4ODJceEE5XHgzOVx4 RTNceDdGXHhEQ1x4QjhceDJFXHhDOVx4M0VceERBIgorLSJceEM5XHg3Rlx4RjNceEFEXHg1OVx4 NTBceEFDXHhDRlx4QkNceDExXHgxQ1x4NzZceEYxXHhBOVx4NTJceDk0IgorLSJceDQ0XHhFNVx4 NkFceEFGXHg2OFx4QzVceDZDXHgwOVx4MkNceEQzXHg4RFx4QzNceEJFXHhGNVx4RDJceDBBIgor LSJceDkzXHg5OVx4MjZceEVEXHg0Rlx4NzRceEExXHgzRVx4RERceEZCXHhFMVx4QTFceENFXHhD Q1x4NDhceDk0IgorLSJceEFGXHg5NFx4MjhceEMyXHhCN1x4QjhceDg4XHgzRlx4RTRceDQ2XHgz QVx4NEJceEM4XHg1Qlx4MUNceEIzIgorLSJceEMxIjsKKysiXHgzNlx4MjdceDNkXHhiMVx4Zjlc eDFiXHhkYlx4YTdceGEwXHg0MVx4N2ZceDEyXHgyM1x4YWNceDIzIgorKyJceDI5XHg5OVx4ZDVc eDNhXHg3Ylx4NjBceDY3XHg0MVx4MDdceDYzXHg1M1x4YjRceGQyXHhlN1x4NTgiCisrIlx4OTVc eDBhXHhjN1x4MDVceGYzXHg0ZVx4YjJceGI0XHgxMlx4ZDRceDcwXHhkY1x4NGZceDg1XHgwNiIK KysiXHhkM1x4ZGRceGQ4XHg2M1x4MjdceDNlXHg2N1x4MzFceDIxXHgyNFx4MzlceDA0XHhiY1x4 MDZceGE0IgorKyJceGNjXHhjZVx4MmJceDdhXHhmZVx4N2JceGFkXHhkZVx4MTFceDZlXHhhM1x4 YTVceGU2XHgwNFx4NTMiCisrIlx4MGVceGEzXHg0ZVx4MmRceGI0XHg4Zlx4MzFceGJmXHhjYVx4 NzVceDI1XHg1Mlx4MDJceDg1XHhkZSIKKysiXHgzZFx4YjJceDcyXHg0M1x4YjJceDg5XHg4YVx4 OWFceDM0XHg0MVx4MjZceDNmXHg5YVx4NjdceGJlIgorKyJceGE0XHg5Nlx4N2JceDBlXHg3NVx4 YmFceGE2XHg5M1x4ZDVceGI4XHhkOFx4YjhceDU3XHhmMlx4NGIiCisrIlx4MGZceDE0XHg4MVx4 ZDFceDU3XHg0ZVx4ZjZceDQ1XHg0Y1x4YTZceDNiXHhkMFx4NzBceGNhXHhkMyIKKysiXHg5ZFx4 NTVceGRlXHgyMlx4MDVceGU3XHg4ZVx4MjhceDRkXHhlZVx4MTFceGNmXHhiNlx4NjdceDc2Igor KyJceDA5XHhkM1x4ZTNceDNjXHgxM1x4ZjlceDk5XHgzNFx4MTBceDdiXHhlY1x4ODFceDM4XHhm MFx4YjYiCisrIlx4MzRceDljXHg5Ylx4NTBceDZmXHgwYlx4OTFceDgxXHg0ZFx4ODlceDk0XHgw NFx4N2JceGYwXHgzYyIKKysiXHhmNFx4YjFceGIyXHgwMFx4NDhceDhkXHg1YVx4OGZceDg4XHg5 ZVx4YzVceGFiXHgzYVx4OWVceDQ0IgorKyJceDNmXHg1NFx4ZTdceGQ5XHg2ZVx4NDdceGFhXHhh MVx4YmRceDQwXHg0Nlx4MzFceGY5XHhmMFx4MzQiCisrIlx4YjZceDA0XHhlMVx4MmJceDViXHg3 M1x4ODZceGRkXHgzYVx4OTJceDFiXHg3MVx4YzdceDNmXHgzMiIKKysiXHhlNVx4YzNceGMyXHhh Ylx4YTFceDdlXHhiZlx4YTRceDUyXHhhMFx4YjBceDY4XHg5MFx4ZDFceDIwIgorKyJceDEyXHg3 OVx4ZTlceGQ3XHhjOVx4NDBceGJhXHhmMlx4MTlceGM3XHhhNVx4MDBceDkyXHg4Nlx4MGQiCisr Ilx4MDEiOworIAorICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBwW10gPQorLSJceDAw XHhFRVx4Q0ZceEFFXHg4MVx4QjFceEI5XHhCM1x4QzlceDA4XHg4MVx4MEJceDEwXHhBMVx4QjVc eDYwIgorLSJceDAxXHg5OVx4RUJceDlGXHg0NFx4QUVceEY0XHhGRFx4QTRceDkzXHhCOFx4MUFc eDlFXHgzRFx4ODRceEY2IgorLSJceDMyXHgxMlx4NEVceEYwXHgyM1x4NkVceDVEXHgxRVx4M0Jc eDdFXHgyOFx4RkFceEU3XHhBQVx4MDRceDBBIgorLSJceDJEXHg1Qlx4MjVceDIxXHg3Nlx4NDVc eDlEXHgxRlx4MzlceDc1XHg0MVx4QkFceDJBXHg1OFx4RkJceDY1IgorLSJceDk5IjsKKysiXHgw MFx4ZmNceDVjXHg2ZVx4MTZceGNlXHgxZlx4MDNceDdiXHhjZFx4ZjdceGIzXHg3Mlx4YjJceDhm IgorKyJceDE2XHg3Mlx4YjhceDU2XHhhZVx4ZjdceGNkXHg2N1x4ZDhceDRlXHg3ZFx4MDdceGFm XHhkNVx4NDMiCisrIlx4MjZceGMzXHgzNVx4YmVceDQzXHg4Zlx4NGVceDJmXHgxY1x4NDNceDRl XHg2Ylx4ZDJceGIyXHhlYyIKKysiXHg1Mlx4NmRceDk3XHg1Mlx4MmJceGNjXHg1Y1x4M2FceDZi XHhmNFx4MTRceGM2XHg3NFx4ZGFceDY2IgorKyJceDM4XHgxY1x4N2FceDNmXHg4NFx4MmZceGUz XHhmOVx4NWFceGI4XHg2NVx4NjlceDQ2XHgwNlx4YTMiCisrIlx4MzdceDc5XHhiMlx4YTFceDVi XHg1OFx4ZWRceDVlXHhhN1x4NWZceDhjXHg2NVx4NjZceGJiXHhkMSIKKysiXHgyNFx4MzZceGU2 XHgzN1x4YTdceDNkXHg0OVx4NzdceDhhXHg4Y1x4MzRceGQ4XHg2OVx4MjlceGYzIgorKyJceDRk XHg1OFx4MjJceGIwXHg1MVx4MjRceGI2XHg0MFx4YThceDg2XHg1OVx4MGFceGI3XHhiYVx4NWMi CisrIlx4OTdceGRhXHg1N1x4ZThceDM2XHhkYVx4N2FceDljXHhhZCI7CisgCisgICAgIHN0YXRp YyBjb25zdCB1bnNpZ25lZCBjaGFyIHFbXSA9CistIlx4MDBceEM5XHg3Rlx4QjFceEYwXHgyN1x4 RjRceDUzXHhGNlx4MzRceDEyXHgzM1x4RUFceEFBXHhEMVx4RDkiCistIlx4MzVceDNGXHg2Q1x4 NDJceEQwXHg4OFx4NjZceEIxXHhEMFx4NUFceDBGXHgyMFx4MzVceDAyXHg4Qlx4OUQiCistIlx4 ODZceDk4XHg0MFx4QjRceDE2XHg2Nlx4QjRceDJFXHg5Mlx4RUFceDBEXHhBM1x4QjRceDMyXHgw NFx4QjUiCistIlx4Q0ZceENFXHgzM1x4NTJceDUyXHg0RFx4MDRceDE2XHhBNVx4QTRceDQxXHhF N1x4MDBceEFGXHg0Nlx4MTUiCistIlx4MDMiOworKyJceDAwXHhjY1x4YmVceDdiXHgwOVx4Njlc eDA2XHhlZVx4NDVceGJmXHg4OFx4NDdceDM4XHhhOFx4ZjgiCisrIlx4MTdceGU1XHhiNlx4YmFc eDY3XHg1NVx4ZTNceGU4XHgwNVx4OGJceGI4XHhlMlx4NTNceGQ2XHg4ZSIKKysiXHhlZlx4MmNc eGU3XHg0Zlx4NGFceGY3XHg0ZVx4MjZceDhkXHg4NVx4MGJceDNmXHhlY1x4YzNceDFjIgorKyJc eGQ0XHhlYlx4ZWNceDZhXHhjOFx4NzJceDJhXHgyNVx4N2RceGZkXHhhNlx4NzdceDk2XHhmMFx4 MWUiCisrIlx4Y2RceDI4XHg1N1x4ZjhceDM3XHgzMFx4NzVceDZiXHhiZFx4ZDRceDdiXHgwY1x4 ODdceGM1XHg2YyIKKysiXHg4N1x4NDBceGE1XHhiYlx4MjdceDJjXHg3OFx4YzlceDc0XHg1YVx4 NTRceDViXHgwYlx4MzBceDZmIgorKyJceDQ0XHg0YVx4ZmFceDcxXHhlNFx4MjFceDYxXHg2Nlx4 ZjlceGVlXHg2NVx4ZGVceDdjXHgwNFx4ZDciCisrIlx4ZmRceGE5XHgxNVx4NWJceDdmXHhlMlx4 N2FceGJhXHg2OVx4ODZceDcyXHhhNlx4MDZceDhkXHg5YiIKKysiXHg5MFx4NTVceDYwXHg5ZVx4 NGNceDVkXHhhOVx4YjZceDU1IjsKKysKKyAKKyAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNo YXIgZG1wMVtdID0KKy0iXHg1NFx4NDlceDRDXHhBNlx4M0VceEJBXHgwM1x4MzdceEU0XHhFMlx4 NDBceDIzXHhGQ1x4RDZceDlBXHg1QSIKKy0iXHhFQlx4MDdceEREXHhEQ1x4MDFceDgzXHhBNFx4 RDBceEFDXHg5Qlx4NTRceEIwXHg1MVx4RjJceEIxXHgzRSIKKy0iXHhEOVx4NDlceDA5XHg3NVx4 RUFceEI3XHg3NFx4MTRceEZGXHg1OVx4QzFceEY3XHg2OVx4MkVceDlBXHgyRSIKKy0iXHgyMFx4 MkJceDM4XHhGQ1x4OTFceDBBXHg0N1x4NDFceDc0XHhBRFx4QzlceDNDXHgxRlx4NjdceEM5XHg4 MSI7CisrIlx4N2FceGQ2XHgxMlx4ZDBceDBlXHhlY1x4OTFceGE5XHg4NVx4OGJceGY4XHg1MFx4 ZjBceDExXHgyZSIKKysiXHgwMFx4MTFceDMyXHg0MFx4NjBceDY2XHgxZlx4MTFceGVlXHhjMlx4 NzVceDI3XHg2NVx4NGJceDE2IgorKyJceDY3XHgxNlx4OTVceGQyXHgxNFx4YzNceDFkXHhiM1x4 NDhceDFmXHhiN1x4ZTRceDBiXHgyYlx4NzQiCisrIlx4YzNceGRiXHg1MFx4MjdceGY5XHg4NVx4 M2FceGZhXHhhOVx4MDhceDIzXHhjMVx4NjVceDNkXHgzNCIKKysiXHgzYVx4YzhceDU2XHg3YVx4 NjVceDQ1XHgzNlx4NmVceGFlXHgyYVx4Y2VceDlmXHg0M1x4NDNceGQ3IgorKyJceDEwXHhlOVx4 OWVceDE4XHhmNFx4YTRceDM1XHhkYVx4OGFceDZiXHhiMFx4M2ZceGRkXHg1M1x4ZTMiCisrIlx4 YThceGM1XHg0ZVx4NzlceDlkXHgxZlx4NTFceDhjXHhhMlx4Y2FceDY2XHgzY1x4NmFceDJhXHhm ZiIKKysiXHg4ZVx4ZDJceGYzXHhiN1x4Y2JceDgyXHhkYVx4ZGVceDJjXHhlNlx4ZDJceDhjXHhi M1x4YWRceGI2IgorKyJceDRjXHg5NVx4NTVceDc2XHhiZFx4YzlceGM4XHhkMSI7CisrCisgCisg ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGRtcTFbXSA9CistIlx4NDdceDFFXHgwMlx4 OTBceEZGXHgwQVx4RjBceDc1XHgwM1x4NTFceEI3XHhGOFx4NzhceDg2XHg0Q1x4QTkiCistIlx4 NjFceEFEXHhCRFx4M0FceDhBXHg3RVx4OTlceDFDXHg1Q1x4MDVceDU2XHhBOVx4NENceDMxXHg0 Nlx4QTciCistIlx4RjlceDgwXHgzRlx4OEZceDZGXHg4QVx4RTNceDQyXHhFOVx4MzFceEZEXHg4 QVx4RTRceDdBXHgyMlx4MEQiCistIlx4MUJceDk5XHhBNFx4OTVceDg0XHg5OFx4MDdceEZFXHgz OVx4RjlceDI0XHg1QVx4OThceDM2XHhEQVx4M0QiOworLSAgICAKKysiXHgwMFx4ODNceDIzXHgx ZFx4YmJceDExXHg0Mlx4MTdceDJiXHgyNVx4NWFceDJjXHgwM1x4ZTZceDc1IgorKyJceGMxXHgx OFx4YThceGM5XHgwYlx4OTZceGJmXHhiYVx4YzRceDkyXHg5MVx4ODBceGE1XHgyMlx4MmYiCisr Ilx4YmFceDkxXHg5MFx4MzZceDAxXHg1Nlx4MTVceDAwXHgyY1x4NzRceGEyXHg5N1x4ZjdceDE1 XHhhMSIKKysiXHg0OVx4ZGZceDMyXHgzNVx4ZDJceGRkXHgwY1x4OTFceGE2XHhmOFx4ZTdceGJl XHg4MVx4MzZceDliIgorKyJceDAzXHhkY1x4NmJceDNiXHhkOFx4NWRceDc5XHg1N1x4ZTBceGU2 XHg0Zlx4NDlceGRmXHg0Y1x4NWMiCisrIlx4MGVceGU1XHgyMVx4NDFceDk1XHhmZFx4YWRceGZm XHg5YVx4M2VceGEwXHhmOVx4MGZceDU5XHg5ZSIKKysiXHg2YVx4YTdceDdiXHg3MVx4YTdceDI0 XHg5YVx4MzZceDUyXHhhZVx4OTdceDIwXHhjMVx4NWVceDc4IgorKyJceGQ5XHg0N1x4OGJceDFl XHg2N1x4ZjJceGFmXHg5OFx4ZTZceDJkXHhlZlx4MTBceGQ3XHhmMVx4YWIiCisrIlx4NDlceGVl XHhlNVx4NGJceDdlXHhhZVx4MWZceDFkXHg2MSI7CisrCisrCisgICAgIHN0YXRpYyBjb25zdCB1 bnNpZ25lZCBjaGFyIGlxbXBbXSA9CistIlx4MDBceEIwXHg2Q1x4NEZceERBXHhCQlx4NjNceDAx XHgxOVx4OERceDI2XHg1Qlx4REJceEFFXHg5NFx4MjMiCistIlx4QjNceDgwXHhGMlx4NzFceEY3 XHgzNFx4NTNceDg4XHg1MFx4OTNceDA3XHg3Rlx4Q0RceDM5XHhFMlx4MTEiCistIlx4OUZceEM5 XHg4Nlx4MzJceDE1XHg0Rlx4NThceDgzXHhCMVx4NjdceEE5XHg2N1x4QkZceDQwXHgyQlx4NEUi CistIlx4OUVceDJFXHgwRlx4OTZceDU2XHhFNlx4OThceEVBXHgzNlx4NjZceEVEXHhGQlx4MjVc eDc5XHg4MFx4MzkiCistIlx4RjciOworKyJceDIzXHg5Nlx4YzFceDkxXHgxN1x4NWVceDBhXHg4 M1x4ZDJceGRjXHg3Ylx4NjlceGIyXHg1OVx4MWQiCisrIlx4MzNceDU4XHg1Mlx4M2ZceDE4XHhj N1x4MDlceDUwXHgxY1x4YjlceGExXHhiYlx4NGNceGEyXHgzOCIKKysiXHg0MFx4NGNceDlhXHg4 ZVx4ZmVceDljXHg5MFx4OTJceGQwXHg3MVx4OWZceDg5XHg5OVx4NTBceDkxIgorKyJceDFmXHgz NFx4OGJceDc0XHg1M1x4MTFceDExXHg0YVx4NzBceGUyXHhmN1x4MzBceGQ4XHg4Y1x4ODAiCisr Ilx4ZTFceGNjXHg5Zlx4ZjFceDYzXHgxN1x4MWFceDdkXHg2N1x4MjlceDRjXHhjYlx4NGVceDc0 XHg3YiIKKysiXHhlMFx4M2VceDllXHgyZlx4ZjRceDY3XHg4Zlx4ZWNceGI5XHg1Y1x4MDBceDFl XHg3ZVx4YTJceDdiIgorKyJceDkyXHhjOVx4NmZceDRjXHhlNFx4MGVceGY5XHg0OFx4NjNceGNk XHg1MFx4MjJceDVkXHhiZlx4YjYiCisrIlx4OWRceDAxXHgzM1x4NmFceGY0XHg1MFx4YmVceDg2 XHg5OFx4NGZceGNhXHgzZlx4M2FceGZhXHhjZiIKKysiXHgwN1x4NDBceGM0XHhhYVx4YWRceGFl XHhiZVx4YmYiOworIAorICAgICBrZXktPm4gPSBCTl9iaW4yYm4obiwgc2l6ZW9mKG4pLTEsIGtl eS0+bik7CisgICAgIGlmIChjb3JydXB0X3JzYSkKKy0JQk5fc2V0X2JpdChrZXktPm4sIDEwMjQp OworKwlCTl9zZXRfYml0KGtleS0+biwgMjA0OCk7CisgICAgIGtleS0+ZSA9IEJOX2JpbjJibihl LCBzaXplb2YoZSktMSwga2V5LT5lKTsKKyAgICAga2V5LT5kID0gQk5fYmluMmJuKGQsIHNpemVv ZihkKS0xLCBrZXktPmQpOworICAgICBrZXktPnAgPSBCTl9iaW4yYm4ocCwgc2l6ZW9mKHApLTEs IGtleS0+cCk7CitAQCAtMTQ1LDIwMSArMTg5LDM5MSBAQCB2b2lkIEZJUFNfY29ycnVwdF9yc2Eo KQorIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF90YnNbXSA9ICJPcGVuU1NMIEZJUFMg MTQwLTIgUHVibGljIEtleSBSU0EgS0FUIjsKKyAKKyBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh ciBrYXRfUlNBX1BTU19TSEExW10gPSB7CistICAweDJELCAweEFGLCAweDZFLCAweEMyLCAweDk4 LCAweEZCLCAweDhBLCAweEExLCAweEI5LCAweDQ2LCAweERBLCAweDBGLAorLSAgMHgwMSwgMHgx RSwgMHgzNywgMHg5MywgMHhDMiwgMHg1NSwgMHgyNywgMHhFNCwgMHgxRCwgMHhEMiwgMHg5MCwg MHhCQiwKKy0gIDB4RjQsIDB4QkYsIDB4NEEsIDB4NzQsIDB4MzksIDB4NTEsIDB4QkIsIDB4RTgs IDB4MEMsIDB4QjcsIDB4RjgsIDB4RDMsCistICAweEQxLCAweERGLCAweEU3LCAweEJFLCAweDgw LCAweDA1LCAweEMzLCAweEI1LCAweEM3LCAweDgzLCAweEQ1LCAweDRDLAorLSAgMHg3RiwgMHg0 OSwgMHhGQiwgMHgzRiwgMHgyOSwgMHg5QiwgMHhFMSwgMHgxMiwgMHg1MSwgMHg2MCwgMHhEMCwg MHhBNywKKy0gIDB4MEQsIDB4QTksIDB4MjgsIDB4NTYsIDB4NzMsIDB4RDksIDB4MDcsIDB4RTMs IDB4NUUsIDB4M0YsIDB4OUIsIDB4RjUsCistICAweEI2LCAweEYzLCAweEYyLCAweDVFLCAweDc0 LCAweEM5LCAweDgzLCAweDgxLCAweDQ3LCAweEYwLCAweEM1LCAweDQ1LAorLSAgMHgwQSwgMHhF OSwgMHg4RSwgMHgzOCwgMHhENywgMHgxOCwgMHhDNiwgMHgyQSwgMHgwRiwgMHhGOCwgMHhCNywg MHgzMSwKKy0gIDB4RDYsIDB4NTUsIDB4RTQsIDB4NjYsIDB4NzgsIDB4ODEsIDB4RDQsIDB4RTYs IDB4REIsIDB4OUYsIDB4QkEsIDB4RTgsCistICAweDIzLCAweEI1LCAweDdGLCAweERDLCAweDA4 LCAweEVBLCAweEQ1LCAweDI2LCAweDFFLCAweDIwLCAweDI1LCAweDg0LAorLSAgMHgyNiwgMHhD NiwgMHg3OSwgMHhDOSwgMHg5QiwgMHgzRCwgMHg3RSwgMHhBOQorKyAweEMyLCAweDgwLCAweDgy LCAweDU2LCAweEQ4LCAweEE3LCAweEIyLCAweDlDLCAweEY1LCAweEQ2LCAweDNDLCAweEUzLAor KyAweEJGLCAweEU5LCAweDNBLCAweDUzLCAweDQwLCAweEFFLCAweEYyLCAweEE5LCAweDZBLCAw eDM5LCAweDQ5LCAweDVCLAorKyAweDA1LCAweDdGLCAweDY3LCAweDM4LCAweDJFLCAweDFELCAw eEUxLCAweDkzLCAweDIyLCAweDY1LCAweDc5LCAweDg0LAorKyAweDY4LCAweEZBLCAweEQ4LCAw eEFGLCAweEExLCAweDk4LCAweDYxLCAweDZGLCAweDQ0LCAweDI3LCAweEE2LCAweDhCLAorKyAw eENGLCAweDBFLCAweDEzLCAweEE5LCAweENFLCAweEQ3LCAweDZDLCAweEQyLCAweDM4LCAweEI1 LCAweDE2LCAweEI5LAorKyAweDY2LCAweDk0LCAweDQ4LCAweERFLCAweDlFLCAweDE5LCAweDNE LCAweDZGLCAweEIzLCAweEExLCAweDlBLCAweDE5LAorKyAweERGLCAweEZCLCAweEFCLCAweEE1 LCAweDlGLCAweDM4LCAweERBLCAweEM5LCAweDIxLCAweDhGLCAweENFLCAweDk4LAorKyAweDAx LCAweDNBLCAweEM4LCAweEUwLCAweERGLCAweERBLCAweEZDLCAweEYwLCAweEE2LCAweDg2LCAw eDI5LCAweEI1LAorKyAweDdGLCAweDYxLCAweEZCLCAweEJBLCAweEM1LCAweDQ5LCAweEIyLCAw eDdDLCAweDZBLCAweDI2LCAweDgyLCAweEM0LAorKyAweDhGLCAweEFBLCAweDVCLCAweDEwLCAw eEQ1LCAweEVFLCAweEEwLCAweDU1LCAweDQyLCAweEVGLCAweDMyLCAweDVBLAorKyAweDNGLCAw eDU1LCAweEIzLCAweDJDLCAweDIyLCAweEU5LCAweDY1LCAweERBLCAweDhELCAweDBBLCAweEI5 LCAweDcwLAorKyAweDQzLCAweENDLCAweDNGLCAweDY0LCAweDlDLCAweEI1LCAweDY1LCAweDQ5 LCAweEJELCAweDdGLCAweDM1LCAweEMxLAorKyAweDIwLCAweDg1LCAweDI0LCAweEZFLCAweEFB LCAweDZCLCAweDM3LCAweDA0LCAweEExLCAweDBFLCAweDlELCAweDVDLAorKyAweEJBLCAweDdG LCAweDE0LCAweDY5LCAweEM1LCAweDkzLCAweEIyLCAweDMzLCAweEMyLCAweEMwLCAweEM3LCAw eERGLAorKyAweDdFLCAweDlFLCAweEE0LCAweEIwLCAweEEwLCAweDY0LCAweEQyLCAweEFDLCAw eEZDLCAweEZELCAweEZELCAweDk5LAorKyAweDhGLCAweDZBLCAweDQwLCAweDI2LCAweEMxLCAw eDJFLCAweDRFLCAweDhCLCAweDMzLCAweEJFLCAweEYxLCAweDQ1LAorKyAweDU5LCAweDhGLCAw eDMzLCAweDQwLCAweDFELCAweDJBLCAweEQyLCAweEY3LCAweDUwLCAweDgzLCAweDg5LCAweENG LAorKyAweDk0LCAweEM2LCAweEY4LCAweDM2LCAweEYwLCAweDg0LCAweDBCLCAweDg1LCAweEE1 LCAweDAyLCAweEE5LCAweDBGLAorKyAweDQxLCAweDdBLCAweDc3LCAweEEzLCAweDJGLCAweDQ3 LCAweDFFLCAweDFELCAweEVDLCAweEU2LCAweEQzLCAweDAxLAorKyAweDFFLCAweDZGLCAweDdB LCAweDk2LCAweDUwLCAweDM3LCAweDM3LCAweDRCLCAweDI3LCAweDUyLCAweDBCLCAweERDLAor KyAweERCLCAweEM3LCAweEE5LCAweDMxLCAweEIyLCAweDQwLCAweEVFLCAweDYwLCAweDQxLCAw eDI2LCAweDZBLCAweDA1LAorKyAweENFLCAweDA4LCAweDFELCAweDg5CisgfTsKKyAKKyBzdGF0 aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1BTU19TSEEyMjRbXSA9IHsKKy0gIDB4Mzks IDB4NEEsIDB4NkEsIDB4MjAsIDB4QkMsIDB4RTksIDB4MzMsIDB4RUQsIDB4RUYsIDB4QzUsIDB4 NTgsIDB4QTcsCistICAweEZFLCAweDgxLCAweEM0LCAweDM2LCAweDUwLCAweDlBLCAweDJDLCAw eDgyLCAweDk4LCAweDA4LCAweDk1LCAweEZBLAorLSAgMHhCMSwgMHg5RSwgMHhEMiwgMHg1NSwg MHg2MSwgMHg4NywgMHgyMSwgMHg1OSwgMHg4NywgMHg3QiwgMHgxRiwgMHg1NywKKy0gIDB4MzAs IDB4OUQsIDB4MEQsIDB4NEEsIDB4MDYsIDB4RUIsIDB4NTIsIDB4MzcsIDB4NTUsIDB4NTQsIDB4 MUMsIDB4ODksCistICAweDgzLCAweDc1LCAweDU5LCAweDY1LCAweDY0LCAweDkwLCAweDJFLCAw eDE2LCAweENDLCAweDg2LCAweDA1LCAweEVFLAorLSAgMHhCMSwgMHhFNiwgMHg3QiwgMHhCQSwg MHgxNiwgMHg3NSwgMHgwRCwgMHgwQywgMHg2NCwgMHgwQiwgMHhBQiwgMHgyMiwKKy0gIDB4MTUs IDB4NzgsIDB4NkIsIDB4NkYsIDB4QTQsIDB4RkIsIDB4NzcsIDB4NDAsIDB4NjQsIDB4NjIsIDB4 RDEsIDB4QjUsCistICAweDM3LCAweDFFLCAweEUwLCAweDNELCAweEE4LCAweEY5LCAweEQyLCAw eEJELCAweEFBLCAweDM4LCAweDI0LCAweDQ5LAorLSAgMHg1OCwgMHhEMiwgMHg3NCwgMHg4NSwg MHhGNCwgMHhCNSwgMHg5MywgMHg4RSwgMHhGNSwgMHgwMywgMHhFQSwgMHgyRCwKKy0gIDB4Qzgs IDB4NTIsIDB4RkEsIDB4Q0YsIDB4N0UsIDB4MzUsIDB4QjAsIDB4NkEsIDB4QUYsIDB4OTUsIDB4 QzAsIDB4MDAsCistICAweDU0LCAweDc2LCAweDNELCAweDBDLCAweDlDLCAweEIyLCAweEVFLCAw eEMwCisrIDB4QjQsIDB4MDEsIDB4OTMsIDB4MTYsIDB4MDUsIDB4RjYsIDB4RUIsIDB4RTIsIDB4 QTQsIDB4RUIsIDB4NDgsIDB4QUEsCisrIDB4MDAsIDB4RjQsIDB4QTEsIDB4OTksIDB4MEEsIDB4 QjQsIDB4QjYsIDB4NjMsIDB4RTksIDB4NjgsIDB4Q0EsIDB4QjMsCisrIDB4MTMsIDB4RDcsIDB4 NjYsIDB4NkEsIDB4Q0QsIDB4Q0IsIDB4MzMsIDB4OUYsIDB4RTUsIDB4ODQsIDB4RTIsIDB4QzMs CisrIDB4MEIsIDB4NTMsIDB4RTUsIDB4OEIsIDB4OTYsIDB4NEIsIDB4REIsIDB4MkQsIDB4ODAs IDB4QTQsIDB4MUQsIDB4RTMsCisrIDB4ODEsIDB4REMsIDB4NTIsIDB4OTksIDB4QkEsIDB4OUIs IDB4NkEsIDB4OUQsIDB4NDgsIDB4MUYsIDB4NzMsIDB4RjcsCisrIDB4QUMsIDB4MDksIDB4MTMs IDB4QTEsIDB4MTYsIDB4MkMsIDB4NjAsIDB4RkIsIDB4QkMsIDB4MjUsIDB4RjcsIDB4NTMsCisr IDB4RDEsIDB4MDQsIDB4NUEsIDB4M0YsIDB4OTUsIDB4MDksIDB4NUUsIDB4RTUsIDB4QTIsIDB4 N0QsIDB4RkMsIDB4MkEsCisrIDB4NTEsIDB4MUQsIDB4MjEsIDB4Q0UsIDB4MkIsIDB4NEUsIDB4 MUIsIDB4QjgsIDB4Q0IsIDB4REQsIDB4MjQsIDB4RUUsCisrIDB4OTksIDB4MUQsIDB4MzcsIDB4 REMsIDB4RUQsIDB4NUYsIDB4MkYsIDB4NDgsIDB4NUUsIDB4MzMsIDB4OTQsIDB4MDYsCisrIDB4 MTksIDB4Q0QsIDB4NUEsIDB4MjYsIDB4ODUsIDB4NzcsIDB4OUQsIDB4QUYsIDB4ODYsIDB4OTcs IDB4QzksIDB4MDgsCisrIDB4RDUsIDB4ODEsIDB4MEUsIDB4QjgsIDB4OUYsIDB4QjYsIDB4QUYs IDB4MjAsIDB4NzIsIDB4REMsIDB4MTMsIDB4NEQsCisrIDB4N0EsIDB4RTQsIDB4NUMsIDB4ODEs IDB4REUsIDB4QzAsIDB4M0QsIDB4MTksIDB4OUMsIDB4MzMsIDB4MTEsIDB4MDcsCisrIDB4RDUs IDB4QTksIDB4NTEsIDB4NjcsIDB4Q0QsIDB4RkQsIDB4MzcsIDB4NjEsIDB4MTQsIDB4OUYsIDB4 RTcsIDB4NzAsCisrIDB4MTgsIDB4MzIsIDB4QzMsIDB4MzQsIDB4NTQsIDB4MEQsIDB4NEYsIDB4 QjQsIDB4QUUsIDB4OUYsIDB4RUMsIDB4NjQsCisrIDB4RDgsIDB4QjIsIDB4MTYsIDB4QTQsIDB4 QjIsIDB4OTksIDB4OTIsIDB4Q0IsIDB4N0YsIDB4MUYsIDB4MDYsIDB4MTcsCisrIDB4NUYsIDB4 QTEsIDB4MDcsIDB4NjgsIDB4QUUsIDB4QTcsIDB4MkQsIDB4MDMsIDB4OTEsIDB4MkEsIDB4OUQs IDB4NjksCisrIDB4QzIsIDB4OUQsIDB4OTAsIDB4RjcsIDB4RjksIDB4NjYsIDB4NUQsIDB4MTMs IDB4QjcsIDB4N0YsIDB4RDMsIDB4OTcsCisrIDB4NDUsIDB4OTcsIDB4NDMsIDB4RDgsIDB4Q0Us IDB4M0MsIDB4RjIsIDB4OTgsIDB4OTgsIDB4REQsIDB4RTIsIDB4MkQsCisrIDB4Q0YsIDB4QTEs IDB4QzQsIDB4MjUsIDB4NDYsIDB4MkUsIDB4RDIsIDB4RTUsIDB4NUYsIDB4QzYsIDB4MDEsIDB4 QzUsCisrIDB4NEYsIDB4NDIsIDB4MkIsIDB4REUsIDB4MEYsIDB4RUEsIDB4NEEsIDB4NEYsIDB4 QzMsIDB4NUIsIDB4REYsIDB4OUIsCisrIDB4NUQsIDB4MzAsIDB4MTgsIDB4OTMsIDB4RDAsIDB4 REUsIDB4QzUsIDB4MDksIDB4QUEsIDB4NTcsIDB4NTcsIDB4QkQsCisrIDB4MkQsIDB4ODQsIDB4 MDMsIDB4QjcKKyB9OworIAorIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfUFNT X1NIQTI1NltdID0geworLSAgMHg2RCwgMHgzRCwgMHhCRSwgMHg4RiwgMHg2MCwgMHg2RCwgMHgy NSwgMHgxNCwgMHhGMCwgMHgzMSwgMHhFMywgMHg4OSwKKy0gIDB4MDAsIDB4OTcsIDB4RkEsIDB4 OTksIDB4NzEsIDB4MjgsIDB4RTUsIDB4MTAsIDB4MjUsIDB4OUEsIDB4RjMsIDB4OEYsCistICAw eDdCLCAweEM1LCAweEE4LCAweDRBLCAweDc0LCAweDUxLCAweDM2LCAweEUyLCAweDhELCAweDdE LCAweDczLCAweDI4LAorLSAgMHhDMSwgMHg3NywgMHhDNiwgMHgyNywgMHg5NywgMHgwMCwgMHg4 QiwgMHgwMCwgMHhBMywgMHg5NiwgMHg3MywgMHg0RSwKKy0gIDB4N0QsIDB4MkUsIDB4MkMsIDB4 MzQsIDB4NjgsIDB4OEMsIDB4OEUsIDB4REYsIDB4OUQsIDB4NDksIDB4NDcsIDB4MDUsCistICAw eEFCLCAweEY1LCAweDAxLCAweEQ2LCAweDgxLCAweDQ3LCAweDcwLCAweEY1LCAweDFELCAweDZE LCAweDI2LCAweEJBLAorLSAgMHgyRiwgMHg3QSwgMHg1NCwgMHg1MywgMHg0RSwgMHhFRCwgMHg3 MSwgMHhEOSwgMHg1QSwgMHhGMywgMHhEQSwgMHhCNiwKKy0gIDB4MEIsIDB4NDcsIDB4MzQsIDB4 QUYsIDB4OTAsIDB4REMsIDB4QzgsIDB4RDksIDB4NkYsIDB4NTYsIDB4Q0QsIDB4OUYsCistICAw eDIxLCAweEI3LCAweDdFLCAweEFELCAweDdDLCAweDJGLCAweDc1LCAweDUwLCAweDQ3LCAweDEy LCAweEU0LCAweDZELAorLSAgMHg1RiwgMHhCNywgMHgwMSwgMHhERiwgMHhDMywgMHgxMSwgMHg2 QywgMHhBOSwgMHg5RSwgMHg0OSwgMHhCOSwgMHhGNiwKKy0gIDB4NzIsIDB4RjQsIDB4RjYsIDB4 RUYsIDB4ODgsIDB4MUUsIDB4MkQsIDB4MUMKKysgMHgzOCwgMHhEQSwgMHg5OSwgMHg1MSwgMHgy NiwgMHgzOCwgMHhDNiwgMHg3RiwgMHhDNCwgMHg4MSwgMHg1NywgMHgxOSwKKysgMHgzNSwgMHhD NiwgMHhGNiwgMHgxRSwgMHg5MCwgMHg0NywgMHgyMCwgMHg1NSwgMHg0NywgMHg1NiwgMHgyNiwg MHhFOSwKKysgMHhGMiwgMHhBOCwgMHgzOSwgMHg2QywgMHhENSwgMHhDRCwgMHhDQiwgMHg1NSwg MHhGQywgMHgwQywgMHhDNSwgMHhDQiwKKysgMHhGNywgMHg0MCwgMHgxNywgMHgzQiwgMHhDRiwg MHhFNCwgMHgwNSwgMHgwMywgMHgzQiwgMHhBMCwgMHhCMiwgMHhDOSwKKysgMHgwRCwgMHg1RSwg MHg0OCwgMHgzQSwgMHhFOSwgMHhBRCwgMHgyOCwgMHg3MSwgMHg3RCwgMHg4RiwgMHg4OSwgMHgx NiwKKysgMHg1OSwgMHg5MywgMHgzNSwgMHhEQywgMHg0RCwgMHg3QiwgMHhERiwgMHg4NCwgMHhF NCwgMHg2OCwgMHhBQSwgMHgzMywKKysgMHhBQSwgMHhEQywgMHg2NiwgMHg1MCwgMHhDOCwgMHhB OSwgMHgzMiwgMHgxMiwgMHhEQywgMHhDNiwgMHg5MCwgMHg0OSwKKysgMHgwQiwgMHg3NSwgMHhG RiwgMHg5QiwgMHg5NSwgMHgwMCwgMHg5QSwgMHg5MCwgMHhFMCwgMHhENCwgMHgwRSwgMHg2NywK KysgMHhBQiwgMHgzQywgMHg0NywgMHgzNiwgMHhDNSwgMHgyRSwgMHgxQywgMHg0NiwgMHhGMCwg MHgyRCwgMHhEMywgMHg4QiwKKysgMHg0MiwgMHgwOCwgMHhERSwgMHgwRCwgMHhCNiwgMHgyQywg MHg4NiwgMHhCMCwgMHgzNSwgMHg3MSwgMHgxOCwgMHg2QiwKKysgMHg4OSwgMHg2NywgMHhDMCwg MHgwNSwgMHhBRCwgMHhGNCwgMHgxRCwgMHg2MiwgMHg0RSwgMHg3NSwgMHhFQywgMHhENiwKKysg MHhDMiwgMHhEQiwgMHgwNywgMHhCMCwgMHhCNiwgMHg4RCwgMHgxNSwgMHhBRCwgMHhDRCwgMHhC RiwgMHhGNSwgMHg2MCwKKysgMHg3NiwgMHhBRSwgMHg0OCwgMHhCOCwgMHg3NywgMHg3RiwgMHhD NSwgMHgwMSwgMHhEOSwgMHgyOSwgMHhCQiwgMHhENiwKKysgMHgxNywgMHhBMiwgMHgyMCwgMHg1 QSwgMHhDMCwgMHg0QSwgMHgzQiwgMHgzNCwgMHhDOCwgMHhCOSwgMHgzOSwgMHhDRiwKKysgMHgw NiwgMHg4OSwgMHg5NSwgMHg2RiwgMHhDNywgMHhDQSwgMHhDNCwgMHhFNCwgMHg0MywgMHhERiwg MHg1QSwgMHgyMywKKysgMHhFMiwgMHg4OSwgMHhBMywgMHgzOCwgMHg3OCwgMHgzMSwgMHgzOCwg MHhDNiwgMHhBNCwgMHg2RiwgMHg1RiwgMHg3MywKKysgMHg1QSwgMHhFNSwgMHg5RSwgMHgwOSwg MHhFNywgMHg2RiwgMHhENCwgMHhGOCwgMHgzRSwgMHhCNywgMHhCMCwgMHg1NiwKKysgMHg5QSwg MHhGMywgMHg2NSwgMHhGMCwgMHhDMiwgMHhBNiwgMHg4QSwgMHgwOCwgMHhCQSwgMHg0NCwgMHhB QywgMHg5NywKKysgMHhERSwgMHhCNCwgMHgxNiwgMHg4MywgMHhERiwgMHhFMywgMHhFRSwgMHg3 MSwgMHhGQSwgMHhGOSwgMHg1MSwgMHg1MCwKKysgMHgxNCwgMHhEQywgMHhGRCwgMHg2QSwgMHg4 MiwgMHgyMCwgMHg2OCwgMHg2NCwgMHg3RCwgMHg0RSwgMHg4MiwgMHg2OCwKKysgMHhENywgMHg0 NSwgMHhGQSwgMHg2QSwgMHhFNCwgMHhFNSwgMHgyOSwgMHgzQSwgMHg3MCwgMHhGQiwgMHhFNCwg MHg2MiwKKysgMHgyQiwgMHgzMSwgMHhCOSwgMHg3RAorIH07CisgCisgc3RhdGljIGNvbnN0IHVu c2lnbmVkIGNoYXIga2F0X1JTQV9QU1NfU0hBMzg0W10gPSB7CistICAweDQwLCAweEZCLCAweEEx LCAweDIxLCAweEY0LCAweEIyLCAweDQwLCAweDlBLCAweEI0LCAweDMxLCAweEE4LCAweEYyLAor LSAgMHhFQywgMHgxQywgMHhDNCwgMHhDOCwgMHg3QywgMHgyMiwgMHg2NSwgMHg5QywgMHg1Nywg MHg0NSwgMHhDRCwgMHg1RSwKKy0gIDB4ODYsIDB4MDAsIDB4RjcsIDB4MjUsIDB4NzgsIDB4REUs IDB4REMsIDB4N0EsIDB4NzEsIDB4NDQsIDB4OUEsIDB4Q0QsCistICAweEFBLCAweDI1LCAweEY0 LCAweEIyLCAweEZDLCAweEYwLCAweDc1LCAweEQ5LCAweDJGLCAweDc4LCAweDIzLCAweDdGLAor LSAgMHg2RiwgMHgwMiwgMHhFRiwgMHhDMSwgMHhBRiwgMHhBNiwgMHgyOCwgMHgxNiwgMHgzMSwg MHhEQywgMHg0MiwgMHg2QywKKy0gIDB4QjIsIDB4NDQsIDB4RTUsIDB4NEQsIDB4NjYsIDB4QTIs IDB4RTYsIDB4NzEsIDB4RjMsIDB4QUMsIDB4NEYsIDB4RkIsCistICAweDkxLCAweENBLCAweEY1 LCAweDcwLCAweEVGLCAweDZCLCAweDlELCAweEE0LCAweEVGLCAweEQ5LCAweDNELCAweDJGLAor LSAgMHgzQSwgMHhCRSwgMHg4OSwgMHgzOCwgMHg1OSwgMHgwMSwgMHhCQSwgMHhEQSwgMHgzMiwg MHhBRCwgMHg0MiwgMHg4OSwKKy0gIDB4OTgsIDB4OEIsIDB4MzksIDB4NDQsIDB4RjAsIDB4RkMs IDB4MzgsIDB4QUMsIDB4ODcsIDB4MUYsIDB4Q0EsIDB4NkYsCistICAweDQ4LCAweEY2LCAweEFF LCAweEQ3LCAweDQ1LCAweEVFLCAweEFFLCAweDg4LCAweDBFLCAweDYwLCAweEY0LCAweDU1LAor LSAgMHg0OCwgMHg0NCwgMHhFRSwgMHgxRiwgMHg5MCwgMHgxOCwgMHg0QiwgMHhGMQorKyAweDk5 LCAweDAyLCAweEM5LCAweDFFLCAweDMxLCAweDgyLCAweEI0LCAweEU2LCAweDFCLCAweDMyLCAw eENFLCAweDVELAorKyAweDQxLCAweDFELCAweDAwLCAweDJGLCAweDA0LCAweDhCLCAweEJELCAw eDM3LCAweDc5LCAweENGLCAweDc3LCAweDAzLAorKyAweDA1LCAweDZBLCAweDIxLCAweEM3LCAw eDhELCAweDI0LCAweDYwLCAweDQ5LCAweDM5LCAweDU4LCAweEM1LCAweDI3LAorKyAweDhGLCAw eEM1LCAweDk3LCAweDRBLCAweEIyLCAweEUxLCAweEQ0LCAweDM2LCAweDU3LCAweEJELCAweDQz LCAweENDLAorKyAweDdCLCAweENFLCAweEYyLCAweEE1LCAweDMwLCAweEY4LCAweDcyLCAweDE0 LCAweEJCLCAweEQwLCAweDlGLCAweEMxLAorKyAweDQ5LCAweEM4LCAweDFDLCAweEFGLCAweENE LCAweDk1LCAweDc4LCAweDcyLCAweDI1LCAweEY5LCAweDQ1LCAweEM2LAorKyAweDVCLCAweDYy LCAweDVFLCAweDAxLCAweEQ3LCAweDQwLCAweDVFLCAweEM4LCAweENBLCAweDBBLCAweEYzLCAw eEJBLAorKyAweDA4LCAweDA3LCAweDg4LCAweENBLCAweDQ5LCAweDM2LCAweDg0LCAweDdELCAw eEY2LCAweEZDLCAweDVBLCAweERCLAorKyAweEZDLCAweDUwLCAweEQzLCAweEVCLCAweDNELCAw eDgzLCAweEIwLCAweEY1LCAweDk0LCAweDVFLCAweDg4LCAweEMzLAorKyAweDgyLCAweENELCAw eDUzLCAweDQwLCAweDk2LCAweDE4LCAweDZCLCAweDRBLCAweDZDLCAweDlDLCAweEZFLCAweEU1 LAorKyAweDNCLCAweDc1LCAweEY5LCAweEVCLCAweEE1LCAweDc3LCAweDExLCAweEVGLCAweDg4 LCAweDFDLCAweDI1LCAweDcwLAorKyAweDdELCAweDg4LCAweDVELCAweEMzLCAweENBLCAweEUx LCAweDQ5LCAweDE0LCAweDkwLCAweEFELCAweEYyLCAweDVFLAorKyAweDQ5LCAweEQ3LCAweDk5 LCAweEE1LCAweDdCLCAweDc3LCAweDNCLCAweDhFLCAweEI4LCAweERCLCAweEYxLCAweDRDLAor KyAweEQ2LCAweDlBLCAweERDLCAweEU1LCAweDdBLCAweDFDLCAweEUxLCAweENFLCAweDlELCAw eEYxLCAweEYzLCAweEEwLAorKyAweDBBLCAweDM1LCAweDUyLCAweDlELCAweEI5LCAweDQ2LCAw eDk0LCAweDgyLCAweDBGLCAweEY3LCAweEIyLCAweDYyLAorKyAweDUxLCAweDcwLCAweDc1LCAw eEQyLCAweDM3LCAweDk2LCAweDY3LCAweDJGLCAweEQwLCAweDIyLCAweEQ4LCAweDA3LAorKyAw eDhELCAweDY5LCAweDlFLCAweDZELCAweDBCLCAweDQwLCAweDRGLCAweDcwLCAweEVDLCAweDBC LCAweENBLCAweDg4LAorKyAweDgwLCAweDhELCAweDlBLCAweEY0LCAweEY5LCAweDE4LCAweDUw LCAweDI3LCAweDA4LCAweEZBLCAweENDLCAweEM3LAorKyAweDNGLCAweEU0LCAweDg0LCAweDgz LCAweEExLCAweEI2LCAweDFELCAweDIzLCAweDM0LCAweEZFLCAweDQ4LCAweEU1LAorKyAweEUz LCAweEFFLCAweDRELCAweDk4LCAweEJDLCAweEE2LCAweDhBLCAweDlGLCAweEZELCAweDRELCAw eERCLCAweDlELAorKyAweEY3LCAweEVCLCAweDRFLCAweEI2LCAweDZGLCAweDI1LCAweEVBLCAw eDdBLCAweEU5LCAweDg1LCAweEIyLCAweEVGLAorKyAweDkwLCAweEQyLCAweEE2LCAweDJCCisg fTsKKyAKKyBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1BTU19TSEE1MTJbXSA9 IHsKKy0gIDB4MDcsIDB4MUUsIDB4RDgsIDB4RDUsIDB4MDUsIDB4RTgsIDB4RTYsIDB4RTYsIDB4 NTcsIDB4QUUsIDB4NjMsIDB4OEMsCistICAweEM2LCAweDgzLCAweEI3LCAweEEwLCAweDU5LCAw eEJCLCAweEYyLCAweEM2LCAweDhGLCAweDEyLCAweDUzLCAweDlBLAorLSAgMHg5QiwgMHg1NCwg MHg5RSwgMHhCMywgMHhDMSwgMHgxRCwgMHgyMywgMHg0RCwgMHg1MSwgMHhFRCwgMHg5RSwgMHhE RCwKKy0gIDB4NEIsIDB4RjMsIDB4NDYsIDB4OUIsIDB4NkIsIDB4RjYsIDB4N0MsIDB4MjQsIDB4 NjAsIDB4NzksIDB4MjMsIDB4MzksCistICAweDAxLCAweDFDLCAweDUxLCAweENCLCAweEQ4LCAw eEU5LCAweDlBLCAweDAxLCAweDY3LCAweDVGLCAweEZFLCAweEQ3LAorLSAgMHg3QywgMHhFMywg MHg3RiwgMHhFRCwgMHhEQiwgMHg4NywgMHhCQiwgMHhGMCwgMHgzRCwgMHg3OCwgMHg1NSwgMHg2 MSwKKy0gIDB4NTcsIDB4RTMsIDB4MEYsIDB4RTMsIDB4RDIsIDB4OUQsIDB4MEMsIDB4MkEsIDB4 MjAsIDB4QjAsIDB4ODUsIDB4MTMsCistICAweEM1LCAweDQ3LCAweDM0LCAweDBELCAweDMyLCAw eDE1LCAweEM4LCAweEFFLCAweDlBLCAweDZBLCAweDM5LCAweDYzLAorLSAgMHgyRCwgMHg2MCwg MHhGNSwgMHg0QywgMHhERiwgMHg4QSwgMHg0OCwgMHg0QiwgMHhCRiwgMHhGNCwgMHhBOCwgMHhG RSwKKy0gIDB4NzYsIDB4RjIsIDB4MzIsIDB4MUIsIDB4OUMsIDB4N0MsIDB4Q0EsIDB4RkUsIDB4 N0YsIDB4ODAsIDB4QzIsIDB4ODgsCistICAweDVDLCAweDk3LCAweDcwLCAweEI0LCAweDI2LCAw eEM5LCAweDE0LCAweDhCCisrIDB4M0YsIDB4ODMsIDB4NDMsIDB4NzgsIDB4MjUsIDB4QkUsIDB4 ODEsIDB4QjIsIDB4NkUsIDB4NzgsIDB4MTEsIDB4MzIsCisrIDB4RDAsIDB4ODgsIDB4MDUsIDB4 NTMsIDB4OTUsIDB4RUQsIDB4ODEsIDB4MTIsIDB4Q0UsIDB4NTAsIDB4RDksIDB4MDYsCisrIDB4 NDIsIDB4ODksIDB4QTAsIDB4NTUsIDB4N0EsIDB4MDUsIDB4MTMsIDB4OTQsIDB4MzUsIDB4OUIs IDB4Q0EsIDB4NUQsCisrIDB4Q0IsIDB4QjIsIDB4MzIsIDB4RTEsIDB4MDQsIDB4OTksIDB4RUMs IDB4RTcsIDB4QTYsIDB4NjksIDB4NEQsIDB4MkIsCisrIDB4QzEsIDB4NTcsIDB4MTMsIDB4NDgs IDB4MEQsIDB4NkIsIDB4NEQsIDB4ODMsIDB4MjgsIDB4MDYsIDB4NzksIDB4OUQsCisrIDB4QjQs IDB4NzAsIDB4Q0UsIDB4QzAsIDB4RkMsIDB4M0IsIDB4NjksIDB4QjMsIDB4OTEsIDB4NTQsIDB4 QTksIDB4NDQsCisrIDB4MkUsIDB4REEsIDB4NEEsIDB4QzUsIDB4QzIsIDB4OTksIDB4RjAsIDB4 REUsIDB4Q0EsIDB4NzcsIDB4OTksIDB4NkIsCisrIDB4MEMsIDB4NzksIDB4RTUsIDB4MjksIDB4 NzQsIDB4ODMsIDB4NjksIDB4RUEsIDB4QjgsIDB4NzIsIDB4MzAsIDB4M0QsCisrIDB4N0EsIDB4 MzAsIDB4RTEsIDB4MDMsIDB4N0IsIDB4MDksIDB4RTYsIDB4MTEsIDB4QzAsIDB4REMsIDB4RkYs IDB4RkQsCisrIDB4QkQsIDB4RUMsIDB4OUMsIDB4Q0MsIDB4NDYsIDB4N0IsIDB4NEMsIDB4NEMs IDB4NTksIDB4QkUsIDB4ODIsIDB4N0MsCisrIDB4RjUsIDB4NjAsIDB4NUEsIDB4QzMsIDB4RTgs IDB4QTgsIDB4OEEsIDB4MzgsIDB4OUUsIDB4MDEsIDB4NTcsIDB4RjEsCisrIDB4NzksIDB4M0Es IDB4N0MsIDB4QTMsIDB4OUYsIDB4MTIsIDB4MUEsIDB4NEYsIDB4MkUsIDB4QTIsIDB4RTUsIDB4 MEEsCisrIDB4QUIsIDB4QzAsIDB4RjQsIDB4QTUsIDB4RTMsIDB4NUYsIDB4ODksIDB4MUMsIDB4 OEYsIDB4QTQsIDB4NUUsIDB4Q0UsCisrIDB4MEQsIDB4OTEsIDB4MDUsIDB4MUIsIDB4MTcsIDB4 NjIsIDB4NDgsIDB4RkUsIDB4QTUsIDB4NEMsIDB4RUYsIDB4MkQsCisrIDB4MjgsIDB4RjEsIDB4 NUUsIDB4RTYsIDB4RDEsIDB4MzAsIDB4ODksIDB4MEEsIDB4QUQsIDB4MTgsIDB4QUYsIDB4NkYs CisrIDB4MDQsIDB4MDksIDB4MzYsIDB4OUEsIDB4RkYsIDB4Q0EsIDB4QTEsIDB4QTcsIDB4MDUs IDB4N0YsIDB4RDQsIDB4QkYsCisrIDB4M0EsIDB4QjUsIDB4NDIsIDB4NkQsIDB4RTksIDB4MDcs IDB4MjksIDB4NjUsIDB4OEIsIDB4QUQsIDB4NEQsIDB4MEYsCisrIDB4MjIsIDB4RTEsIDB4NTks IDB4NDMsIDB4NjgsIDB4ODcsIDB4QTgsIDB4OEIsIDB4QkMsIDB4NjksIDB4QTEsIDB4OTQsCisr IDB4MjIsIDB4M0UsIDB4OEEsIDB4NDksIDB4RTgsIDB4QTMsIDB4NkYsIDB4QzIsIDB4OTMsIDB4 NTgsIDB4RTcsIDB4QUUsCisrIDB4QzksIDB4MUYsIDB4Q0YsIDB4NjEsIDB4OTMsIDB4RkMsIDB4 QzEsIDB4RjYsIDB4RjMsIDB4MjcsIDB4N0YsIDB4MEEsCisrIDB4OTAsIDB4RTAsIDB4NjUsIDB4 MzIsIDB4NTcsIDB4NDcsIDB4RTIsIDB4RUQsIDB4MDgsIDB4NTksIDB4QTYsIDB4RjAsCisrIDB4 MTcsIDB4MkMsIDB4MTMsIDB4RTAKKyB9OworIAorIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy IGthdF9SU0FfU0hBMVtdID0geworLSAgMHg3MSwgMHhFRSwgMHgxQSwgMHhDMCwgMHhGRSwgMHgw MSwgMHg5MywgMHg1NCwgMHg3OSwgMHg1QywgMHhGMiwgMHg0QywKKy0gIDB4NEEsIDB4RkQsIDB4 MUEsIDB4MDUsIDB4OEYsIDB4NjQsIDB4QjEsIDB4NkQsIDB4NjEsIDB4MzMsIDB4OEQsIDB4OUIs CistICAweEU3LCAweEZELCAweDYwLCAweEEzLCAweDgzLCAweEI1LCAweEEzLCAweDUxLCAweDU1 LCAweDc3LCAweDkwLCAweENGLAorLSAgMHhEQywgMHgyMiwgMHgzNywgMHg4RSwgMHhEMCwgMHhF MSwgMHhBRSwgMHgwOSwgMHhFMywgMHgzRCwgMHgxRSwgMHhGOCwKKy0gIDB4ODAsIDB4RDEsIDB4 OEIsIDB4QzIsIDB4RUMsIDB4MEEsIDB4RDcsIDB4NkIsIDB4ODgsIDB4OEIsIDB4OEIsIDB4QTEs CistICAweDIwLCAweDIyLCAweEJFLCAweDU5LCAweDVCLCAweEUwLCAweDIzLCAweDI0LCAweEEx LCAweDQ5LCAweDMwLCAweEJBLAorLSAgMHhBOSwgMHg5RSwgMHhFOCwgMHhCMSwgMHg4QSwgMHg2 MiwgMHgxNiwgMHhCRiwgMHg0RSwgMHhDQSwgMHgyRSwgMHg0RSwKKy0gIDB4QkMsIDB4MjksIDB4 QTgsIDB4NjcsIDB4MTMsIDB4QjcsIDB4OUYsIDB4MUQsIDB4MDQsIDB4NDQsIDB4RTUsIDB4NUYs CistICAweDM1LCAweDA3LCAweDExLCAweEJDLCAweEVELCAweDE5LCAweDM3LCAweDIxLCAweENG LCAweDIzLCAweDQ4LCAweDFGLAorLSAgMHg3MiwgMHgwNSwgMHhERSwgMHhFNiwgMHhFOCwgMHg3 RiwgMHgzMywgMHg4QSwgMHg3NiwgMHg0QiwgMHgyRiwgMHg5NSwKKy0gIDB4REYsIDB4RjEsIDB4 NUYsIDB4ODQsIDB4ODAsIDB4RDksIDB4NDYsIDB4QjQKKysgMHgzQiwgMHg2MCwgMHg0QiwgMHhG QywgMHg1NCwgMHgyOCwgMHgyMywgMHhFNiwgMHgyRiwgMHgwNSwgMHgwNCwgMHhCQSwKKysgMHg5 RCwgMHhFNCwgMHgzQywgMHhCOCwgMHg1QiwgMHg2MCwgMHg1QywgMHhDRCwgMHg5RCwgMHhFQSwg MHhDMywgMHg0QywKKysgMHhDMiwgMHgzMywgMHhFNiwgMHhDNiwgMHgyMSwgMHg0OCwgMHg3Niwg MHhFQywgMHhCMiwgMHhGNSwgMHgxMSwgMHhERSwKKysgMHg0NCwgMHhCNCwgMHhBRiwgMHgxNiwg MHgxMSwgMHhDMywgMHgxOCwgMHgxNiwgMHhCMywgMHg2OSwgMHhCQiwgMHg5NCwKKysgMHhFRCwg MHhFOCwgMHhCMywgMHg5RSwgMHhCMSwgMHg0MywgMHg4RSwgMHhDRSwgMHhCNCwgMHgzNCwgMHg5 QiwgMHgwOCwKKysgMHgyMiwgMHhBRiwgMHgzMSwgMHg3MywgMHhCNSwgMHhGQSwgMHgxMSwgMHg3 RSwgMHg4RiwgMHgxMywgMHg1MiwgMHhFQywKKysgMHhDOSwgMHgwMywgMHhFRSwgMHgwRCwgMHgy QiwgMHg5MSwgMHgzMiwgMHhGMiwgMHg4RSwgMHhERiwgMHgwMiwgMHhFMCwKKysgMHgwQSwgMHg0 NywgMHhEMiwgMHgwQSwgMHg1MSwgMHgwMCwgMHgxQSwgMHgzMCwgMHg2RiwgMHgwQywgMHhCMywg MHg1NCwKKysgMHg2NCwgMHgyMCwgMHg5MCwgMHgwQywgMHgwMSwgMHhCRSwgMHhDMCwgMHg0Miwg MHg4QywgMHg1RCwgMHgxOCwgMHg2RiwKKysgMHgzMiwgMHg3NSwgMHg0NSwgMHg3QiwgMHgxQywg MHgwNCwgMHhBMiwgMHg5RiwgMHg4NCwgMHhENywgMHhGNSwgMHgzQSwKKysgMHg5NSwgMHhENCwg MHhFOCwgMHg4RCwgMHhFQywgMHg5OSwgMHhFRiwgMHgxOCwgMHg1RSwgMHg2NCwgMHhEMywgMHhB RiwKKysgMHhGOCwgMHhENCwgMHhGRiwgMHgzQywgMHg4NywgMHhBMCwgMHgzRiwgMHhDNywgMHgy MiwgMHgwNSwgMHhGRCwgMHhGRCwKKysgMHgyOSwgMHg4QSwgMHgyOCwgMHhEQSwgMHhBOSwgMHg4 QSwgMHg4QiwgMHgyMywgMHg2MiwgMHg5RCwgMHg0MiwgMHhCOCwKKysgMHg0QSwgMHg3NiwgMHgw RCwgMHg5RiwgMHg5QSwgMHhFMCwgMHhFNiwgMHhERCwgMHhBRCwgMHg1RSwgMHg1RiwgMHhENSwK KysgMHgzMiwgMHhFOSwgMHg0QiwgMHg5NywgMHg3RCwgMHg2MiwgMHgwQSwgMHhCMywgMHhCRSwg MHhGMiwgMHg4QywgMHgxRiwKKysgMHgyQiwgMHgyMiwgMHgwNiwgMHgxNSwgMHgzMywgMHg3MSwg MHhFRCwgMHg5QiwgMHhBMCwgMHg4MiwgMHhDRSwgMHhCRiwKKysgMHgzQiwgMHgwOCwgMHg1Riwg MHhBNywgMHgyMCwgMHg5NCwgMHgwOSwgMHhFQiwgMHg4MiwgMHhBNSwgMHg0MSwgMHg2MCwKKysg MHhGMSwgMHgwOCwgMHhFQiwgMHg4RCwgMHhDQywgMHg4RCwgMHhDOSwgMHg1MiwgMHgwQSwgMHhB RiwgMHhGNCwgMHhGOSwKKysgMHg5RiwgMHg4MiwgMHhEOCwgMHgwQiwgMHg3NSwgMHg1RSwgMHhF NCwgMHhBRiwgMHg2NSwgMHg5NiwgMHhBRiwgMHhGQywKKysgMHgzMywgMHhCRiwgMHg5RiwgMHgz RSwgMHhBNCwgMHg3QiwgMHg4NiwgMHhDNywgMHhGNywgMHg0NywgMHhBQiwgMHgzNywKKysgMHgw NSwgMHhENiwgMHgwRCwgMHgzMSwgMHg3MiwgMHg4QywgMHg4MCwgMHgxRSwgMHhBOSwgMHg1NCwg MHhGQywgMHhERiwKKysgMHgyNywgMHg5MCwgMHhFMiwgMHgwMQorIH07CisgCisgc3RhdGljIGNv bnN0IHVuc2lnbmVkIGNoYXIga2F0X1JTQV9TSEEyMjRbXSA9IHsKKy0gIDB4NjIsIDB4QUEsIDB4 NzksIDB4QTksIDB4MTgsIDB4MEUsIDB4NUYsIDB4OEMsIDB4QkIsIDB4QjcsIDB4MTUsIDB4Rjks CistICAweDI1LCAweEJCLCAweEZBLCAweEQ0LCAweDNBLCAweDM0LCAweEVELCAweDlFLCAweEEw LCAweEE5LCAweDE4LCAweDhELAorLSAgMHg1QiwgMHg1NSwgMHg5QSwgMHg3RSwgMHgxRSwgMHgw OCwgMHgwOCwgMHg2MCwgMHhDNSwgMHgxQSwgMHhDNSwgMHg4OSwKKy0gIDB4MDgsIDB4RTIsIDB4 MUIsIDB4QkQsIDB4NjIsIDB4NTAsIDB4MTcsIDB4NzYsIDB4MzAsIDB4MkMsIDB4OUUsIDB4Q0Qs CistICAweEE0LCAweDAyLCAweEFELCAweEIxLCAweDZELCAweDQ0LCAweDZELCAweEQ1LCAweEM2 LCAweDQ1LCAweDQxLCAweEU1LAorLSAgMHhFRSwgMHgxRiwgMHg4RCwgMHg3RSwgMHgwOCwgMHgx NiwgMHhBNiwgMHhFMSwgMHg1RSwgMHgwQiwgMHhBOSwgMHhDQywKKy0gIDB4REIsIDB4NTksIDB4 NTUsIDB4ODcsIDB4MDksIDB4MjUsIDB4NzAsIDB4ODYsIDB4ODQsIDB4MDIsIDB4QzYsIDB4M0Is CistICAweDBCLCAweDQ0LCAweDRDLCAweDQ2LCAweDk1LCAweEY0LCAweEY4LCAweDVBLCAweDkx LCAweDI4LCAweDNFLCAweEIyLAorLSAgMHg1OCwgMHgyRSwgMHgwNiwgMHg0NSwgMHg0OSwgMHhF MCwgMHg5MiwgMHhFMiwgMHhDMCwgMHg2NiwgMHhFNiwgMHgzNSwKKy0gIDB4RDksIDB4NzksIDB4 N0YsIDB4MTcsIDB4NUUsIDB4MDIsIDB4NzMsIDB4MDQsIDB4NzcsIDB4ODIsIDB4RTYsIDB4REMs CistICAweDQwLCAweDIxLCAweDg5LCAweDhCLCAweDM3LCAweDNFLCAweDFFLCAweDhECisrIDB4 QTIsIDB4RDgsIDB4NDIsIDB4NTMsIDB4REQsIDB4QkYsIDB4MUYsIDB4NkIsIDB4MDcsIDB4RTAs IDB4NjAsIDB4ODYsCisrIDB4NUEsIDB4NjAsIDB4MDYsIDB4OEYsIDB4NDQsIDB4RDksIDB4QjAs IDB4NEEsIDB4QUEsIDB4OTAsIDB4NzEsIDB4QjgsCisrIDB4QjIsIDB4QkMsIDB4MzAsIDB4NDEs IDB4NTAsIDB4QkIsIDB4RkQsIDB4NDYsIDB4OTgsIDB4NEQsIDB4QzAsIDB4ODksCisrIDB4NTcs IDB4ODUsIDB4OEEsIDB4OTcsIDB4NDksIDB4MjUsIDB4QTgsIDB4MEMsIDB4NjksIDB4NzAsIDB4 MTksIDB4MzksCisrIDB4NjYsIDB4MjQsIDB4QjQsIDB4NjksIDB4NDcsIDB4RDIsIDB4N0MsIDB4 REUsIDB4MkQsIDB4MzcsIDB4NTksIDB4QjMsCisrIDB4RTMsIDB4QzcsIDB4NkIsIDB4REQsIDB4 QkUsIDB4RTEsIDB4RTYsIDB4MjgsIDB4OUEsIDB4OEQsIDB4NDIsIDB4M0UsCisrIDB4MjgsIDB4 MDEsIDB4RDcsIDB4MDMsIDB4QzksIDB4NzMsIDB4QzMsIDB4NkIsIDB4MDMsIDB4RUMsIDB4MUUs IDB4RjgsCisrIDB4NTMsIDB4OEIsIDB4NTIsIDB4NDIsIDB4ODksIDB4NTUsIDB4QjcsIDB4ODcs IDB4QTksIDB4OTQsIDB4QzIsIDB4QjQsCisrIDB4NEIsIDB4NzYsIDB4RjUsIDB4NjEsIDB4NDcs IDB4RTEsIDB4NDQsIDB4N0IsIDB4RUMsIDB4QjQsIDB4MjUsIDB4NjYsCisrIDB4QzAsIDB4RkYs IDB4RUIsIDB4ODYsIDB4MjQsIDB4QUEsIDB4QTgsIDB4NzIsIDB4QzcsIDB4RkIsIDB4RkIsIDB4 RjYsCisrIDB4ODQsIDB4QTcsIDB4NUIsIDB4RDQsIDB4ODcsIDB4RTUsIDB4ODQsIDB4NTYsIDB4 MUUsIDB4NEMsIDB4RTUsIDB4QkMsCisrIDB4ODcsIDB4OTQsIDB4QUMsIDB4OUMsIDB4MUIsIDB4 M0QsIDB4RjcsIDB4RDQsIDB4MzYsIDB4ODUsIDB4OUYsIDB4QzksCisrIDB4RjYsIDB4NDMsIDB4 M0YsIDB4QjYsIDB4MjUsIDB4MzMsIDB4NDgsIDB4MEYsIDB4RTUsIDB4N0MsIDB4Q0QsIDB4NTMs CisrIDB4NDgsIDB4RUIsIDB4MDIsIDB4MTEsIDB4QjksIDB4OUUsIDB4QzMsIDB4QjQsIDB4RTEs IDB4NTQsIDB4RDYsIDB4QUEsCisrIDB4MUEsIDB4OUUsIDB4MTAsIDB4RTEsIDB4MjcsIDB4MjUs IDB4RjIsIDB4RTEsIDB4QUIsIDB4QUIsIDB4NkMsIDB4NDUsCisrIDB4NjEsIDB4RDUsIDB4QTMs IDB4NkMsIDB4QjYsIDB4MzMsIDB4NTIsIDB4QUUsIDB4M0QsIDB4RkQsIDB4MjIsIDB4RkMsCisr IDB4M0EsIDB4QUIsIDB4NjMsIDB4OTQsIDB4QjUsIDB4M0EsIDB4NjksIDB4MTEsIDB4QUMsIDB4 OTksIDB4NEYsIDB4MzMsCisrIDB4NjcsIDB4MEEsIDB4MUEsIDB4NzAsIDB4MUUsIDB4QjksIDB4 RTIsIDB4MjYsIDB4MjcsIDB4NjgsIDB4RUEsIDB4RjUsCisrIDB4OTcsIDB4NTUsIDB4QUMsIDB4 ODMsIDB4NkEsIDB4NDAsIDB4M0IsIDB4NTYsIDB4QUUsIDB4MTMsIDB4ODgsIDB4RTgsCisrIDB4 OTgsIDB4NzIsIDB4NTIsIDB4OTEsIDB4N0YsIDB4NzgsIDB4MEEsIDB4MTgsIDB4RDQsIDB4NDQs IDB4NzgsIDB4ODMsCisrIDB4MEQsIDB4NDQsIDB4NzcsIDB4QTYsIDB4RjMsIDB4MDQsIDB4RjEs IDB4OEMsIDB4QkMsIDB4MkYsIDB4RjksIDB4NUIsCisrIDB4REIsIDB4NzAsIDB4MDAsIDB4RjYK KyB9OworIAorIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfU0hBMjU2W10gPSB7 CistICAweDBELCAweDU1LCAweEUyLCAweEFBLCAweDgxLCAweERCLCAweDhFLCAweDgyLCAweDA1 LCAweDE3LCAweEE1LCAweDIzLAorLSAgMHhFNywgMHgzQiwgMHgxRCwgMHhBRiwgMHhGQiwgMHg4 QywgMHhEMCwgMHg4MSwgMHgyMCwgMHg3QiwgMHhBQSwgMHgyMywKKy0gIDB4OTIsIDB4ODcsIDB4 OEMsIDB4RDEsIDB4NTMsIDB4ODUsIDB4MTYsIDB4REMsIDB4QkUsIDB4QUQsIDB4NkYsIDB4MzUs CistICAweDk4LCAweDJELCAweDY5LCAweDg0LCAweEJGLCAweEQ5LCAweDhBLCAweDAxLCAweDE3 LCAweDU4LCAweEIyLCAweDZFLAorLSAgMHgyQywgMHg0NCwgMHg5QiwgMHg5MCwgMHhGMSwgMHhG QiwgMHg1MSwgMHhFOCwgMHg2QSwgMHg5MCwgMHgyRCwgMHgxOCwKKy0gIDB4MEUsIDB4QzAsIDB4 OTAsIDB4MTAsIDB4MjQsIDB4QTksIDB4MUQsIDB4QjMsIDB4NTgsIDB4N0EsIDB4OTEsIDB4MzAs CistICAweEJFLCAweDIyLCAweEM3LCAweEQzLCAweEVDLCAweEMzLCAweDA5LCAweDVELCAweEJG LCAweEUyLCAweDgwLCAweDNBLAorLSAgMHg3QywgMHg4NSwgMHhCNCwgMHhCQywgMHhEMSwgMHhF OSwgMHhGMCwgMHg1QywgMHhERSwgMHg4MSwgMHhBNiwgMHgzOCwKKy0gIDB4QjgsIDB4NDIsIDB4 QkIsIDB4ODYsIDB4QzUsIDB4OUQsIDB4Q0UsIDB4N0MsIDB4MkMsIDB4RUUsIDB4RDEsIDB4REEs CistICAweDI3LCAweDQ4LCAweDJCLCAweEY1LCAweEFCLCAweEI5LCAweEY3LCAweDgwLCAweEQx LCAweDkwLCAweDI3LCAweDkwLAorLSAgMHhCRCwgMHg0NCwgMHg5NywgMHg2MCwgMHhDRCwgMHg1 NywgMHhDMCwgMHg3QQorKyAweEMyLCAweEIxLCAweDk3LCAweDAwLCAweDlBLCAweEU1LCAweDgw LCAweDZBLCAweEUyLCAweDUxLCAweDY4LCAweEI5LAorKyAweDdBLCAweDBDLCAweEYyLCAweEI0 LCAweDc3LCAweEVELCAweDE1LCAweDBDLCAweDRFLCAweEUxLCAweERDLCAweEZGLAorKyAweDhF LCAweEJDLCAweERFLCAweEM3LCAweDlBLCAweDk2LCAweEYxLCAweDQ3LCAweDQ1LCAweDI0LCAw eDlELCAweDZGLAorKyAweEE2LCAweEYzLCAweDFELCAweDBELCAweDM1LCAweDRDLCAweDFBLCAw eEYzLCAweDU4LCAweDJDLCAweDZDLCAweDA2LAorKyAweEQ2LCAweDIyLCAweDM3LCAweDc3LCAw eDhDLCAweDMzLCAweEU1LCAweDA3LCAweDUzLCAweDkzLCAweDI4LCAweENGLAorKyAweDY3LCAw eEZBLCAweEM0LCAweDFGLCAweDFCLCAweDI0LCAweERCLCAweDRDLCAweEM1LCAweDJBLCAweDUx LCAweEEyLAorKyAweDYwLCAweDE1LCAweDhDLCAweDU0LCAweEI0LCAweDMwLCAweEUyLCAweDI0 LCAweDQ3LCAweDg2LCAweEYyLCAweEY4LAorKyAweDZDLCAweEQ2LCAweDEyLCAweDU5LCAweDJD LCAweDc0LCAweDlBLCAweDM3LCAweEYzLCAweEM0LCAweEEyLCAweEQ1LAorKyAweDRFLCAweDFG LCAweDc3LCAweEYwLCAweDI3LCAweENFLCAweDc3LCAweEY4LCAweDRBLCAweDc5LCAweDAzLCAw eEJFLAorKyAweEM4LCAweDA2LCAweDJELCAweEE3LCAweEE2LCAweDQ2LCAweEY1LCAweDU1LCAw eDc5LCAweEQ3LCAweDVDLCAweEM2LAorKyAweDVCLCAweEIxLCAweDAwLCAweDRFLCAweDdDLCAw eEQ5LCAweDExLCAweDg1LCAweEUwLCAweEIxLCAweDRELCAweDJELAorKyAweDEzLCAweEQ3LCAw eEFDLCAweEVBLCAweDY0LCAweEQxLCAweEFDLCAweDhGLCAweDhELCAweDhGLCAweEVBLCAweDQy LAorKyAweDdGLCAweEY5LCAweEI3LCAweDdELCAweDJDLCAweDY4LCAweDQ5LCAweDA3LCAweDdB LCAweDc0LCAweEVGLCAweEI0LAorKyAweEM5LCAweDk3LCAweDE2LCAweDVDLCAweDZDLCAweDZF LCAweDVDLCAweDA5LCAweDJFLCAweDhFLCAweDEzLCAweDJFLAorKyAweDFBLCAweDhELCAweEE2 LCAweDBDLCAweDZFLCAweDBDLCAweDFDLCAweDBGLCAweENDLCAweEIyLCAweDc4LCAweDhBLAor KyAweDA3LCAweEZDLCAweDVDLCAweEMyLCAweEY1LCAweDY1LCAweEVDLCAweEFCLCAweDhCLCAw eDNDLCAweENBLCAweDkxLAorKyAweDZGLCAweDg0LCAweDdDLCAweDIxLCAweDBFLCAweEI4LCAw eERBLCAweDdCLCAweDZDLCAweEY3LCAweERGLCAweEFCLAorKyAweDdFLCAweDE1LCAweEZELCAw eDg1LCAweDBCLCAweDMzLCAweDlCLCAweDZBLCAweDNBLCAweEMzLCAweEVGLCAweDY1LAorKyAw eDA0LCAweDZFLCAweEIyLCAweEFDLCAweDk4LCAweEZELCAweEVCLCAweDAyLCAweEY1LCAweEMw LCAweDBCLCAweDVFLAorKyAweENCLCAweEQ0LCAweDgzLCAweDgyLCAweDE4LCAweDFCLCAweERB LCAweEI0LCAweENELCAweEU4LCAweDcxLCAweDZCLAorKyAweDFELCAweEI1LCAweDRGLCAweEU5 LCAweEQ2LCAweDQzLCAweEEwLCAweDBBLCAweDE0LCAweEEwLCAweEU3LCAweDVELAorKyAweDQ3 LCAweDlELCAweDE4LCAweEQ3CisgfTsKKyAKKyBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBr YXRfUlNBX1NIQTM4NFtdID0geworLSAgMHgxRCwgMHhFMywgMHg2QSwgMHhERCwgMHgyNywgMHg0 QywgMHhDMCwgMHhBNSwgMHgyNywgMHhFRiwgMHhFNiwgMHgxRiwKKy0gIDB4RDIsIDB4OTEsIDB4 NjgsIDB4NTksIDB4MDQsIDB4QUUsIDB4QkQsIDB4OTksIDB4NjMsIDB4NTYsIDB4NDcsIDB4Qzcs CistICAweDZGLCAweDIyLCAweDE2LCAweDQ4LCAweEQwLCAweEY5LCAweDE4LCAweEE5LCAweENB LCAweEZBLCAweDVELCAweDVDLAorLSAgMHhBNywgMHg2NSwgMHg1MiwgMHg4QSwgMHhDOCwgMHg0 NCwgMHg3RSwgMHg4NiwgMHg1RCwgMHhBOSwgMHhBNiwgMHg1NSwKKy0gIDB4NjUsIDB4M0UsIDB4 RDksIDB4MkQsIDB4MDIsIDB4MzgsIDB4QTgsIDB4NzksIDB4MjgsIDB4N0YsIDB4QjYsIDB4Q0Ys CistICAweDgyLCAweERELCAweDdFLCAweDU1LCAweEUxLCAweEIxLCAweEJDLCAweEUyLCAweDE5 LCAweDJCLCAweDMwLCAweEMyLAorLSAgMHgxQiwgMHgyQiwgMHhCMCwgMHg4MiwgMHg0NiwgMHhB QywgMHg0QiwgMHhEMSwgMHhFMiwgMHg3RCwgMHhFQiwgMHg4QywKKy0gIDB4RkYsIDB4OTUsIDB4 RTksIDB4NkEsIDB4MUMsIDB4M0QsIDB4NEQsIDB4QkYsIDB4OEYsIDB4OEIsIDB4OUMsIDB4Q0Qs CistICAweEVBLCAweDg1LCAweEVFLCAweDAwLCAweERDLCAweDFDLCAweEE3LCAweEVCLCAweEQw LCAweDhGLCAweDk5LCAweEYxLAorLSAgMHgxNiwgMHgyOCwgMHgyNCwgMHg2NCwgMHgwNCwgMHgz OSwgMHgyRCwgMHg1OCwgMHgxRSwgMHgzNywgMHhEQywgMHgwNCwKKy0gIDB4QkQsIDB4MzEsIDB4 QTIsIDB4MkYsIDB4QjMsIDB4MzUsIDB4NTYsIDB4QkYKKysgMHgxMSwgMHg1RSwgMHg2MywgMHhG RSwgMHg0NywgMHhBQSwgMHg2QSwgMHg4NCwgMHhFQiwgMHg0NCwgMHg5QSwgMHgwMCwKKysgMHg5 NiwgMHg0QSwgMHhFRCwgMHhEMiwgMHhBNywgMHg2NywgMHgzQSwgMHg2NCwgMHg4MiwgMHgzMCwg MHg2MSwgMHgyRCwKKysgMHhFMywgMHhGNSwgMHg0OSwgMHg2OCwgMHg1RSwgMHg2MCwgMHhEMiwg MHg0RCwgMHhFRiwgMHhGMiwgMHhBNCwgMHhCMiwKKysgMHg5QSwgMHg4MSwgMHgxRCwgMHg0MSwg MHhBNSwgMHg3MywgMHg1OSwgMHhFQiwgMHhCQiwgMHhDNCwgMHg5RSwgMHgyQiwKKysgMHhFQiwg MHhDMywgMHhERSwgMHgzQSwgMHhFQSwgMHhGNSwgMHhBRCwgMHhEQSwgMHg4NywgMHgwOCwgMHg2 OCwgMHhDRiwKKysgMHgxMiwgMHg5QiwgMHhDMSwgMHhFNCwgMHhBNywgMHg3MSwgMHhGOCwgMHhC RCwgMHg2QiwgMHg2RiwgMHg1MCwgMHhGMSwKKysgMHhEMSwgMHhGRiwgMHhDRSwgMHg2QywgMHhE OSwgMHhCRSwgMHhEQSwgMHg3NiwgMHhGMywgMHhFQiwgMHhBQiwgMHg5QywKKysgMHg0MSwgMHg2 RSwgMHg0RiwgMHgzNSwgMHg3QSwgMHg2MSwgMHgyNywgMHhCQywgMHgwMywgMHgzRSwgMHhBRSwg MHgzRSwKKysgMHgxQiwgMHhERCwgMHhBQywgMHhEOSwgMHgxQSwgMHhGRiwgMHhEMywgMHhGNSwg MHg2NiwgMHg0MywgMHgwNywgMHg3NiwKKysgMHg4QSwgMHg2OSwgMHgyRCwgMHgxNCwgMHhCMSwg MHhCRSwgMHg1NSwgMHg0OSwgMHg5MCwgMHg4OSwgMHg0QiwgMHhDNCwKKysgMHgxMSwgMHg2Nywg MHhENSwgMHg5RCwgMHhCMCwgMHhCMiwgMHhFRSwgMHg4RCwgMHgwQSwgMHg0NywgMHg0QSwgMHhE OSwKKysgMHgwRSwgMHhEMSwgMHgyNCwgMHhGMCwgMHgzMCwgMHgyQiwgMHhGMiwgMHg3OSwgMHg0 NywgMHhEQiwgMHg3MCwgMHhCNCwKKysgMHg0NiwgMHhGMiwgMHhGOCwgMHhCNywgMHhCNCwgMHhG NiwgMHgzNCwgMHg3OSwgMHhBOCwgMHgyRCwgMHgzRCwgMHg1NiwKKysgMHhENSwgMHg5QSwgMHg2 MCwgMHg3QSwgMHgwNCwgMHhDNywgMHg2NiwgMHgxRCwgMHhDRCwgMHgzQywgMHhENSwgMHgzOSwK KysgMHgzNywgMHgxMiwgMHg1MSwgMHg1RSwgMHg5RiwgMHhGOCwgMHgxQSwgMHhBRiwgMHgxMywg MHhDMSwgMHgxMywgMHgwMCwKKysgMHgzNSwgMHhENSwgMHg4RCwgMHgxNywgMHhFMywgMHgwMiwg MHgyOCwgMHhEOSwgMHhFQywgMHhERSwgMHhEMSwgMHgyRiwKKysgMHg5MywgMHg0OSwgMHgwMywg MHgxMSwgMHgzRSwgMHg1NiwgMHg5RCwgMHhDMiwgMHgzMSwgMHhGOCwgMHhBRiwgMHgyRCwKKysg MHhEOSwgMHg5OSwgMHhCNywgMHg4QSwgMHhBQywgMHg1QSwgMHg4NiwgMHgyMCwgMHgzQSwgMHg4 MywgMHgyOSwgMHgyNiwKKysgMHg5RCwgMHgwMywgMHg1MiwgMHgyQiwgMHgzNCwgMHg1NiwgMHg0 MCwgMHgxNiwgMHg1MywgMHg1MCwgMHg4MiwgMHhDOSwKKysgMHhDNywgMHhENSwgMHg1MSwgMHg0 QywgMHhFRCwgMHhCMywgMHhFMiwgMHhFMSwgMHhDRiwgMHhBOCwgMHhDRSwgMHhCRCwKKysgMHhC MSwgMHg0OCwgMHhBNiwgMHg4QSwgMHg3OSwgMHgxNywgMHg1NSwgMHgxMSwgMHhFRiwgMHhFOCwg MHgxNCwgMHhGNCwKKysgMHg3RSwgMHgzNywgMHgxRCwgMHg5NgorIH07CisgCisgc3RhdGljIGNv bnN0IHVuc2lnbmVkIGNoYXIga2F0X1JTQV9TSEE1MTJbXSA9IHsKKy0gIDB4NjksIDB4NTIsIDB4 MUIsIDB4NTEsIDB4NUUsIDB4MDYsIDB4Q0EsIDB4OUIsIDB4MTYsIDB4NTEsIDB4NUQsIDB4Q0Ys CistICAweDQ5LCAweDI1LCAweDRBLCAweEExLCAweDZBLCAweDc3LCAweDRDLCAweDM2LCAweDQw LCAweEY4LCAweEIyLCAweDlBLAorLSAgMHgxNSwgMHhFQSwgMHg1QywgMHhFNSwgMHhFNiwgMHg4 MiwgMHhFMCwgMHg4NiwgMHg4MiwgMHg2QiwgMHgzMiwgMHhGMSwKKy0gIDB4MDQsIDB4QzEsIDB4 NUEsIDB4MUEsIDB4RUQsIDB4MUUsIDB4OUEsIDB4QjYsIDB4NEMsIDB4NTQsIDB4OUYsIDB4RDgs CistICAweDhELCAweENDLCAweEFDLCAweDhBLCAweEJCLCAweDlDLCAweDgyLCAweDNGLCAweEE2 LCAweDUzLCAweDYyLCAweEI1LAorLSAgMHg4MCwgMHhFMiwgMHhCQywgMHhERCwgMHg2NywgMHgy QiwgMHhEOSwgMHgzRiwgMHhFNCwgMHg3NSwgMHg5MiwgMHg2QiwKKy0gIDB4QUYsIDB4NjIsIDB4 N0MsIDB4NTIsIDB4RjAsIDB4RUUsIDB4MzMsIDB4REYsIDB4MUIsIDB4MUQsIDB4NDcsIDB4RTYs CistICAweDU5LCAweDU2LCAweEE1LCAweEI5LCAweDVDLCAweEU2LCAweDc3LCAweDc4LCAweDE2 LCAweDYzLCAweDg0LCAweDA1LAorLSAgMHg2RiwgMHgwRSwgMHgyQiwgMHgzMSwgMHg5RCwgMHhG NywgMHg3RiwgMHhCMiwgMHg2NCwgMHg3MSwgMHhFMCwgMHgyRCwKKy0gIDB4M0UsIDB4NjIsIDB4 Q0UsIDB4QjUsIDB4M0YsIDB4ODgsIDB4REYsIDB4MkQsIDB4QUIsIDB4OTgsIDB4NjUsIDB4OTEs CistICAweERGLCAweDcwLCAweDE0LCAweEE1LCAweDNGLCAweDM2LCAweEFCLCAweDg0CisrIDB4 MzUsIDB4NkQsIDB4RjEsIDB4OUUsIDB4Q0YsIDB4QjEsIDB4RjYsIDB4MEMsIDB4MDQsIDB4MjEs IDB4MTcsIDB4QjMsCisrIDB4QzQsIDB4OUQsIDB4RkUsIDB4NjIsIDB4MUMsIDB4MUEsIDB4NDUs IDB4MDAsIDB4MkUsIDB4NkIsIDB4QjYsIDB4OUYsCisrIDB4NUMsIDB4QjEsIDB4Q0IsIDB4Q0Ys IDB4RjksIDB4NjcsIDB4RUEsIDB4NjIsIDB4OEEsIDB4RUIsIDB4NzcsIDB4MDIsCisrIDB4NDIs IDB4MzAsIDB4ODgsIDB4QjEsIDB4NDgsIDB4REYsIDB4MTIsIDB4NjAsIDB4NkUsIDB4OTIsIDB4 QkIsIDB4NEIsCisrIDB4MDksIDB4NjgsIDB4RDEsIDB4NzAsIDB4MkIsIDB4NTksIDB4RUUsIDB4 NTcsIDB4OTYsIDB4RjksIDB4RUEsIDB4QTMsCisrIDB4NEMsIDB4RTksIDB4QzksIDB4QkQsIDB4 MjUsIDB4MzQsIDB4NjYsIDB4MTUsIDB4NkMsIDB4QzksIDB4ODEsIDB4RDEsCisrIDB4NDgsIDB4 MEYsIDB4MzMsIDB4NUYsIDB4MDUsIDB4NEYsIDB4QzIsIDB4QzQsIDB4REQsIDB4MDksIDB4NTQs IDB4NzksCisrIDB4QTEsIDB4NTcsIDB4MDcsIDB4NzAsIDB4QTAsIDB4MzMsIDB4MDIsIDB4NEQs IDB4NUQsIDB4RTksIDB4MjQsIDB4RDEsCisrIDB4RUYsIDB4RjAsIDB4NjEsIDB4RDAsIDB4MUQs IDB4NDEsIDB4RTIsIDB4OUIsIDB4MkIsIDB4N0MsIDB4RDAsIDB4NEUsCisrIDB4NTUsIDB4RDks IDB4NkQsIDB4QTEsIDB4MTYsIDB4OUYsIDB4REEsIDB4QzMsIDB4M0IsIDB4RjEsIDB4NzQsIDB4 RDEsCisrIDB4OTksIDB4RjEsIDB4NjMsIDB4NTcsIDB4QUQsIDB4QzcsIDB4NTUsIDB4RjQsIDB4 OTcsIDB4NDMsIDB4MUMsIDB4RUQsCisrIDB4MUIsIDB4N0EsIDB4MzIsIDB4Q0IsIDB4MjQsIDB4 QTYsIDB4M0QsIDB4OTMsIDB4MzcsIDB4OTAsIDB4NzQsIDB4RUUsCisrIDB4RDIsIDB4OEQsIDB4 NEIsIDB4QkMsIDB4NzIsIDB4REEsIDB4MjUsIDB4MkIsIDB4NjQsIDB4RTksIDB4Q0EsIDB4Njks CisrIDB4MzYsIDB4QjYsIDB4RUMsIDB4NkUsIDB4OEYsIDB4MzMsIDB4MEUsIDB4NzQsIDB4NDAs IDB4NDgsIDB4NTEsIDB4RTIsCisrIDB4NTQsIDB4NkYsIDB4QUYsIDB4NkUsIDB4MzYsIDB4NTQs IDB4M0EsIDB4RUMsIDB4NzgsIDB4MzcsIDB4RTYsIDB4MUYsCisrIDB4NzYsIDB4QTUsIDB4NEQs IDB4QTYsIDB4RDksIDB4QjMsIDB4NkIsIDB4MTcsIDB4NkQsIDB4NjEsIDB4RkMsIDB4QTMsCisr IDB4ODUsIDB4NEEsIDB4Q0MsIDB4REEsIDB4NTIsIDB4QUMsIDB4NUIsIDB4REEsIDB4NTEsIDB4 RTUsIDB4N0YsIDB4NUIsCisrIDB4NTIsIDB4OEIsIDB4NzQsIDB4NzUsIDB4OTksIDB4NUMsIDB4 MDEsIDB4RkQsIDB4MjUsIDB4M0UsIDB4Q0QsIDB4ODYsCisrIDB4NkYsIDB4N0EsIDB4QzAsIDB4 RDgsIDB4MTcsIDB4NkYsIDB4RDEsIDB4RDIsIDB4NkIsIDB4QUIsIDB4MTQsIDB4MUYsCisrIDB4 M0IsIDB4QjgsIDB4MTUsIDB4MDUsIDB4ODYsIDB4NDAsIDB4MzYsIDB4Q0YsIDB4REEsIDB4NTks IDB4MkIsIDB4OUEsCisrIDB4RTksIDB4MUUsIDB4NkUsIDB4RDMsIDB4NkIsIDB4QTEsIDB4MTks IDB4QzUsIDB4RTYsIDB4M0YsIDB4RTksIDB4MkUsCisrIDB4NDMsIDB4QTgsIDB4MzQsIDB4MEEK KyB9OworIAorIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfWDkzMV9TSEExW10g PSB7CistICAweDg2LCAweEI0LCAweDE4LCAweEJBLCAweEQxLCAweDgwLCAweEI2LCAweDdDLCAw eDQyLCAweDQ1LCAweDRELCAweERGLAorLSAgMHhFOSwgMHgyRCwgMHhFMSwgMHg4MywgMHg1Riwg MHhCNSwgMHgyRiwgMHhDOSwgMHhDRCwgMHhDNCwgMHhCMiwgMHg3NSwKKy0gIDB4ODAsIDB4QTQs IDB4RjEsIDB4NEEsIDB4RTcsIDB4ODMsIDB4MTIsIDB4MUUsIDB4MUUsIDB4MTQsIDB4QjgsIDB4 QUMsCistICAweDM1LCAweEUyLCAweEFBLCAweDBCLCAweDVDLCAweEY4LCAweDM4LCAweDRELCAw eDA0LCAweEVFLCAweEE5LCAweDk3LAorLSAgMHg3MCwgMHhGQiwgMHg1RSwgMHhFNywgMHhCNywg MHhFMywgMHg2MiwgMHgyMywgMHg0QiwgMHgzOCwgMHhCRSwgMHhENiwKKy0gIDB4NTMsIDB4MTUs IDB4RjcsIDB4REYsIDB4ODcsIDB4QjQsIDB4MEUsIDB4Q0MsIDB4QjEsIDB4MUEsIDB4MTEsIDB4 MTksCistICAweEVFLCAweDUxLCAweENDLCAweDkyLCAweERELCAweEJDLCAweDYzLCAweDI5LCAw eDYzLCAweDBDLCAweDU5LCAweEQ3LAorLSAgMHg2RiwgMHg0QywgMHgzQywgMHgzNywgMHg1Qiwg MHgzNywgMHgwMywgMHg2MSwgMHg3RCwgMHgyNCwgMHgxQywgMHg5OSwKKy0gIDB4NDgsIDB4QUYs IDB4ODIsIDB4RkUsIDB4MzIsIDB4NDEsIDB4OUIsIDB4QjIsIDB4REIsIDB4RUEsIDB4RUQsIDB4 NzYsCistICAweDhFLCAweDZFLCAweENBLCAweDdFLCAweDRFLCAweDE0LCAweEJBLCAweDMwLCAw eDg0LCAweDFDLCAweEIzLCAweDY3LAorLSAgMHhBMywgMHgyOSwgMHg4MCwgMHg3MCwgMHg1NCwg MHg2OCwgMHg3RCwgMHg0OQorKyAweEIxLCAweDBFLCAweDRGLCAweEM2LCAweEUwLCAweDk1LCAw eDg1LCAweDdCLCAweEJFLCAweERFLCAweEM0LCAweEU2LAorKyAweDFGLCAweDEyLCAweDJFLCAw eDlCLCAweDNFLCAweDExLCAweEEzLCAweEYwLCAweEYwLCAweEE4LCAweDIzLCAweDFBLAorKyAw eDk2LCAweDZFLCAweDk5LCAweEI1LCAweDVGLCAweDgyLCAweEM1LCAweDg3LCAweDc1LCAweEU5 LCAweEQ0LCAweEJGLAorKyAweDlGLCAweEUwLCAweEE0LCAweEVELCAweEM3LCAweDAxLCAweDJB LCAweDNGLCAweDZGLCAweDQzLCAweDFELCAweDRGLAorKyAweEU4LCAweDA1LCAweDM0LCAweDMy LCAweDIwLCAweDM2LCAweDk0LCAweEEwLCAweDZELCAweENDLCAweEY2LCAweDQxLAorKyAweDQ5 LCAweDU2LCAweDk2LCAweEVDLCAweDlDLCAweDdDLCAweEQxLCAweDBFLCAweDlFLCAweEQ4LCAw eDFCLCAweDQ4LAorKyAweEQ5LCAweERGLCAweDk5LCAweDlGLCAweDkyLCAweDE3LCAweDk2LCAw eEE0LCAweEYxLCAweDg3LCAweDY0LCAweDYxLAorKyAweDNDLCAweEFGLCAweDAwLCAweDI0LCAw eEIzLCAweDY0LCAweDg4LCAweDhFLCAweDQxLCAweEJGLCAweDI5LCAweDFGLAorKyAweEEzLCAw eDI4LCAweEFELCAweDIxLCAweDFFLCAweEEzLCAweDk2LCAweDQwLCAweDBBLCAweDBCLCAweDgy LCAweENELAorKyAweDk3LCAweDU4LCAweDMzLCAweEI2LCAweDUyLCAweEFDLCAweEM1LCAweDNC LCAweDE0LCAweEU3LCAweDFFLCAweDVELAorKyAweDA5LCAweEM5LCAweDc2LCAweEI1LCAweDg5 LCAweEM2LCAweDlCLCAweDRDLCAweEMyLCAweEMyLCAweDMxLCAweDBFLAorKyAweEJBLCAweDFF LCAweEI1LCAweDExLCAweEQwLCAweEZELCAweEMxLCAweERBLCAweDY0LCAweDE3LCAweEE4LCAw eENCLAorKyAweEYwLCAweDk0LCAweEY0LCAweERELCAweDg0LCAweEI3LCAweEVGLCAweDlDLCAw eDEzLCAweDRGLCAweERELCAweDA2LAorKyAweDBDLCAweEU0LCAweEM3LCAweEZELCAweDY5LCAw eDEwLCAweDIwLCAweEQzLCAweDkzLCAweDVFLCAweEY4LCAweEJBLAorKyAweDIxLCAweEZCLCAw eDYyLCAweEM0LCAweDYzLCAweDc2LCAweDQzLCAweEFBLCAweDdFLCAweDNDLCAweDU2LCAweDVF LAorKyAweEI0LCAweDQ3LCAweDNBLCAweDA1LCAweDBELCAweEJCLCAweDEzLCAweEM0LCAweDkz LCAweEZCLCAweDI5LCAweEE4LAorKyAweDNFLCAweDc2LCAweDQxLCAweDU0LCAweDlFLCAweDdC LCAweEUyLCAweEUwLCAweDA3LCAweDFELCAweEE3LCAweDlDLAorKyAweDg1LCAweDExLCAweEI1 LCAweEE1LCAweDg4LCAweDU4LCAweDAyLCAweEQ4LCAweEMwLCAweDRCLCAweDgxLCAweEJGLAor KyAweDJCLCAweDM4LCAweEUyLCAweDJGLCAweDQyLCAweENBLCAweDYzLCAweDhBLCAweDBBLCAw eDc4LCAweEJBLCAweDUwLAorKyAweEU1LCAweDg0LCAweDM1LCAweEQzLCAweDZBLCAweDFFLCAw eDk2LCAweDBCLCAweDkxLCAweEIxLCAweDBFLCAweDg1LAorKyAweEE4LCAweDVDLCAweDZFLCAw eDQ2LCAweDVDLCAweDYxLCAweDhDLCAweDRGLCAweDVCLCAweDYxLCAweEI2LCAweDNDLAorKyAw eEI3LCAweDJDLCAweEE1LCAweDFBCisgfTsKKyAKKyBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh ciBrYXRfUlNBX1g5MzFfU0hBMjU2W10gPSB7CistICAweDdFLCAweEEyLCAweDc3LCAweEZFLCAw eEI4LCAweDU0LCAweDhBLCAweEM3LCAweDdGLCAweDY0LCAweDU0LCAweDg5LAorLSAgMHhFNSwg MHg1MiwgMHgxNSwgMHg4RSwgMHg1MiwgMHg5NiwgMHg0RSwgMHhBNiwgMHg1OCwgMHg5MiwgMHgx QywgMHhERCwKKy0gIDB4RUEsIDB4QTIsIDB4MkQsIDB4NUMsIDB4RDEsIDB4NjIsIDB4MDAsIDB4 NDksIDB4MDUsIDB4OTUsIDB4NzMsIDB4Q0YsCistICAweDE2LCAweDc2LCAweDY4LCAweEY2LCAw eEM2LCAweDVFLCAweDgwLCAweEI4LCAweEI4LCAweDdCLCAweEM4LCAweDlCLAorLSAgMHhDNiwg MHg1MywgMHg4OCwgMHgyNiwgMHgyMCwgMHg4OCwgMHg3MywgMHhCNiwgMHgxMywgMHhCOCwgMHhG MCwgMHg0QiwKKy0gIDB4MDAsIDB4ODUsIDB4RjMsIDB4REQsIDB4MDcsIDB4NTAsIDB4RUIsIDB4 MjAsIDB4QzQsIDB4MzgsIDB4MEUsIDB4OTgsCistICAweEFELCAweDRFLCAweDQ5LCAweDJDLCAw eEQ3LCAweDY1LCAweEE1LCAweDE5LCAweDBFLCAweDU5LCAweDAxLCAweEVDLAorLSAgMHg3RSwg MHg3NSwgMHg4OSwgMHg2OSwgMHgyRSwgMHg2MywgMHg3NiwgMHg4NSwgMHg0NiwgMHg4RCwgMHhB MCwgMHg4QywKKy0gIDB4MzMsIDB4MUQsIDB4ODIsIDB4OEMsIDB4MDMsIDB4RUEsIDB4NjksIDB4 ODgsIDB4MzUsIDB4QTEsIDB4NDIsIDB4QkQsCistICAweDIxLCAweEVELCAweDhELCAweEJDLCAw eEJDLCAweERCLCAweDMwLCAweEZGLCAweDg2LCAweEYwLCAweDVCLCAweERDLAorLSAgMHhFMywg MHhFMiwgMHhFOCwgMHgwQSwgMHgwQSwgMHgyOSwgMHg5NCwgMHg4MAorKyAweEM2LCAweDZDLCAw eDAxLCAweDdGLCAweEI2LCAweDhDLCAweEQ0LCAweDYxLCAweDgzLCAweEM1LCAweEJDLCAweDc1 LAorKyAweDM5LCAweDIyLCAweERELCAweDE3LCAweDVCLCAweDk1LCAweDRCLCAweDRDLCAweDQ2 LCAweDM5LCAweDM3LCAweEE3LAorKyAweDU0LCAweDZDLCAweDQ5LCAweDVBLCAweDY3LCAweDkw LCAweDQ3LCAweEY2LCAweDU5LCAweEFFLCAweEZDLCAweERELAorKyAweERGLCAweERCLCAweEM3 LCAweDkxLCAweEI5LCAweEI2LCAweENFLCAweEQ4LCAweEZBLCAweDMwLCAweDAxLCAweDlGLAor KyAweENBLCAweEU1LCAweDRBLCAweDUxLCAweEI3LCAweEJFLCAweEJELCAweDRFLCAweDU2LCAw eDI1LCAweDBCLCAweDQ5LAorKyAweEUwLCAweDQ2LCAweEJCLCAweDgxLCAweDBFLCAweDE0LCAw eDQ3LCAweEZGLCAweENCLCAweEJCLCAweEExLCAweDZELAorKyAweDQ0LCAweDlCLCAweEY3LCAw eEVFLCAweDgxLCAweEVCLCAweEY2LCAweDYyLCAweEVBLCAweDBELCAweDc2LCAweDc2LAorKyAw eDRFLCAweDI1LCAweEQ3LCAweDlBLCAweDJCLCAweEIxLCAweDkyLCAweEVELCAweDVDLCAweDdG LCAweDlELCAweDk5LAorKyAweDA3LCAweDlFLCAweEJGLCAweDYyLCAweDgzLCAweDEyLCAweDYx LCAweDk5LCAweDNFLCAweEY1LCAweDZBLCAweDRDLAorKyAweDU4LCAweEIwLCAweDJBLCAweDE1 LCAweDFDLCAweEEwLCAweEQyLCAweDkxLCAweDg3LCAweDlDLCAweDdELCAweDRGLAorKyAweEVG LCAweDNCLCAweDBGLCAweDYwLCAweEQ3LCAweDFFLCAweEVGLCAweDdDLCAweEJFLCAweDY4LCAw eDk1LCAweEU2LAorKyAweEJBLCAweEZBLCAweEY2LCAweEQxLCAweDY3LCAweDNELCAweDlELCAw eDM5LCAweEFFLCAweEMyLCAweDg1LCAweEQyLAorKyAweERFLCAweEE1LCAweDg1LCAweDFFLCAw eDRELCAweDJCLCAweDJDLCAweDA2LCAweDQ0LCAweDk4LCAweDE3LCAweDQ2LAorKyAweDg5LCAw eDQxLCAweDEzLCAweEZDLCAweDk5LCAweEQ2LCAweDZDLCAweENGLCAweDI2LCAweEEyLCAweDc3 LCAweDhBLAorKyAweDNGLCAweDEwLCAweEY4LCAweEM1LCAweEM5LCAweDRBLCAweEI2LCAweDkz LCAweEY1LCAweDM4LCAweDg5LCAweEJELAorKyAweEZGLCAweEFFLCAweDQyLCAweDA2LCAweDJE LCAweENELCAweDFCLCAweDNELCAweDVBLCAweENELCAweEYyLCAweDhBLAorKyAweDY1LCAweEE0 LCAweEI3LCAweEI2LCAweEY2LCAweDVCLCAweEU4LCAweEE0LCAweDY4LCAweEI0LCAweDI3LCAw eERBLAorKyAweEYxLCAweDU5LCAweDM3LCAweDI0LCAweDE4LCAweEI1LCAweDVCLCAweDE1LCAw eDYyLCAweDY0LCAweDZGLCAweDc4LAorKyAweEJCLCAweDE3LCAweDk0LCAweDQyLCAweEFELCAw eEIzLCAweDBELCAweDE4LCAweEIwLCAweDFCLCAweDI4LCAweDI5LAorKyAweDNCLCAweDE1LCAw eEJGLCAweEQxLCAweEM4LCAweDI4LCAweDRGLCAweERGLCAweDdGLCAweDM0LCAweDQ5LCAweDJB LAorKyAweDQ0LCAweEQ1LCAweDRDLCAweDU5LCAweDkwLCAweDgzLCAweDhELCAweEZDLCAweDU4 LCAweDdFLCAweEVDLCAweDRCLAorKyAweDU0LCAweEYwLCAweEI1LCAweEJECisgfTsKKyAKKyBz dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1g5MzFfU0hBMzg0W10gPSB7CistICAw eDVDLCAweDdELCAweDk2LCAweDM1LCAweEVDLCAweDdFLCAweDExLCAweDM4LCAweEJCLCAweDdC LCAweEVDLCAweDdCLAorLSAgMHhGMiwgMHg4MiwgMHg4RSwgMHg5OSwgMHhCRCwgMHhFRiwgMHhE OCwgMHhBRSwgMHhENywgMHgzOSwgMHgzNywgMHhDQiwKKy0gIDB4RTYsIDB4NEYsIDB4NUUsIDB4 MEEsIDB4MTMsIDB4RTQsIDB4MkUsIDB4NDAsIDB4QjksIDB4QkUsIDB4MkUsIDB4RTMsCistICAw eEVGLCAweDc4LCAweDgzLCAweDE4LCAweDQ0LCAweDM1LCAweDlDLCAweDhFLCAweEQ3LCAweDRB LCAweDYzLCAweEY2LAorLSAgMHg1NywgMHhDMiwgMHhCMCwgMHgwOCwgMHg1MSwgMHg3MywgMHhD RiwgMHhDQSwgMHg5OSwgMHg2NiwgMHhFRSwgMHgzMSwKKy0gIDB4RDgsIDB4NjksIDB4RTksIDB4 QUIsIDB4MTMsIDB4MjcsIDB4N0IsIDB4NDEsIDB4MUUsIDB4NkQsIDB4OEQsIDB4RjEsCistICAw eDNFLCAweDlDLCAweDM1LCAweDk1LCAweDU4LCAweERELCAweDJCLCAweEQ1LCAweEEwLCAweDYw LCAweDQxLCAweDc5LAorLSAgMHgyNCwgMHgyMiwgMHhFNCwgMHhCNywgMHhCRiwgMHg0NywgMHg1 MywgMHhGNiwgMHgzNCwgMHhENSwgMHg3QywgMHhGRiwKKy0gIDB4MEUsIDB4MDksIDB4RUUsIDB4 MkUsIDB4RTIsIDB4MzcsIDB4QjksIDB4REUsIDB4QzUsIDB4MTIsIDB4NDQsIDB4MzUsCistICAw eEVGLCAweDAxLCAweEU2LCAweDVFLCAweDM5LCAweDMxLCAweDJELCAweDcxLCAweEE1LCAweERD LCAweEM2LCAweDZELAorLSAgMHhFMiwgMHhDRCwgMHg4NSwgMHhEQiwgMHg3MywgMHg4MiwgMHg2 NSwgMHgyOAorKyAweDg4LCAweDg1LCAweEUxLCAweEMxLCAweEUyLCAweEU1LCAweDBCLCAweDZD LCAweDAzLCAweDI3LCAweEFDLCAweEM4LAorKyAweDNBLCAweDcyLCAweEI0LCAweDlBLCAweEYz LCAweEFFLCAweDlDLCAweDg4LCAweDhDLCAweEJFLCAweDI4LCAweDBELAorKyAweDg5LCAweDVG LCAweDA2LCAweDBGLCAweDVGLCAweDA4LCAweEUzLCAweDlDLCAweEY5LCAweDI4LCAweDRGLCAw eEJCLAorKyAweDI0LCAweERELCAweDIxLCAweDRDLCAweDQ0LCAweDk2LCAweDUwLCAweEI1LCAw eEQ0LCAweDhFLCAweDEzLCAweDYwLAorKyAweDdDLCAweENCLCAweEQ5LCAweDVFLCAweDdDLCAw eEI2LCAweEFELCAweEE1LCAweDZBLCAweDQxLCAweDA0LCAweEE3LAorKyAweDhFLCAweEYwLCAw eDM5LCAweDA4LCAweDdFLCAweDE4LCAweDkxLCAweEY5LCAweDQ2LCAweDk3LCAweEVGLCAweEYy LAorKyAweDE0LCAweEIyLCAweDAxLCAweEZELCAweEIyLCAweDJCLCAweDNBLCAweEY4LCAweDRB LCAweDU5LCAweEQxLCAweDM2LAorKyAweDFBLCAweDdELCAweDJELCAweEI5LCAweEM2LCAweDdG LCAweERFLCAweDYyLCAweEI2LCAweDU2LCAweEJBLCAweEZBLAorKyAweDVBLCAweEExLCAweDVC LCAweDhDLCAweDVGLCAweDk4LCAweEVDLCAweEY4LCAweDkzLCAweDEzLCAweDExLCAweDQyLAor KyAweEVFLCAweEM0LCAweDZDLCAweDRBLCAweDg3LCAweDRFLCAweDk4LCAweDIyLCAweEI2LCAw eEJCLCAweEIwLCAweDNBLAorKyAweDcwLCAweEE5LCAweENDLCAweEJDLCAweDMxLCAweDI3LCAw eEU3LCAweEJDLCAweENBLCAweEVDLCAweDUyLCAweDgxLAorKyAweDc2LCAweDlBLCAweDNGLCAw eDE4LCAweEMxLCAweDFDLCAweDRBLCAweEM3LCAweDU2LCAweEUzLCAweEYwLCAweDZGLAorKyAw eDM2LCAweEJCLCAweDlCLCAweEY5LCAweDQzLCAweDkwLCAweEJFLCAweDc5LCAweDU5LCAweDYz LCAweDFDLCAweEZFLAorKyAweEI2LCAweDQ2LCAweDhCLCAweEJBLCAweEJELCAweEFBLCAweDI4 LCAweDcxLCAweDlCLCAweEQ2LCAweERELCAweDA1LAorKyAweDAwLCAweDNCLCAweEJDLCAweDJE LCAweDQ4LCAweEU3LCAweDZFLCAweDZFLCAweDQyLCAweDk1LCAweDI3LCAweEFFLAorKyAweDkz LCAweDkyLCAweDZELCAweDU5LCAweDQ3LCAweDEwLCAweDU5LCAweEFDLCAweERELCAweDk1LCAw eDI5LCAweEMzLAorKyAweDFCLCAweDg2LCAweDY3LCAweDEyLCAweDk4LCAweDQ4LCAweDEwLCAw eEE2LCAweDkwLCAweEEzLCAweDU5LCAweDlELAorKyAweDEwLCAweDRFLCAweEVBLCAweEQ4LCAw eENCLCAweEUzLCAweDgxLCAweEJBLCAweEExLCAweDUyLCAweDU1LCAweDc4LAorKyAweEZGLCAw eDk1LCAweDQwLCAweEUwLCAweEFFLCAweDkzLCAweDM4LCAweDVELCAweDIxLCAweDEzLCAweDhB LCAweEZDLAorKyAweDcyLCAweEM3LCAweEZCLCAweDcwLCAweDFDLCAweEVFLCAweDVELCAweEIw LCAweEU1LCAweEZBLCAweDQ0LCAweDg2LAorKyAweDY3LCAweDk3LCAweDY2LCAweDY0LCAweEE0 LCAweDFFLCAweEY4LCAweDNBLCAweDE2LCAweEY4LCAweEM5LCAweEUwLAorKyAweDA5LCAweEYz LCAweDYxLCAweDRGCisgfTsKKyAKKyBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNB X1g5MzFfU0hBNTEyW10gPSB7CistICAweEE2LCAweDY1LCAweEEyLCAweDc3LCAweDRGLCAweEIz LCAweDg2LCAweENCLCAweDY0LCAweDNBLCAweEMxLCAweDYzLAorLSAgMHhGQywgMHhBMSwgMHhB QSwgMHhDQiwgMHg5QiwgMHg3OSwgMHhERCwgMHg0QiwgMHhFMSwgMHhEOSwgMHhEQSwgMHhBQywK Ky0gIDB4RTcsIDB4NDcsIDB4MDksIDB4QjIsIDB4MTEsIDB4NEIsIDB4OEEsIDB4QUEsIDB4MDUs IDB4OUUsIDB4NzcsIDB4RDcsCistICAweDNBLCAweEJELCAweDVFLCAweDUzLCAweDA5LCAweDRB LCAweEU2LCAweDBGLCAweDVFLCAweEY5LCAweDE0LCAweDI4LAorLSAgMHhBMCwgMHg5OSwgMHg3 NCwgMHg2NCwgMHg3MCwgMHg0RSwgMHhGMiwgMHhFMywgMHhGQSwgMHhDNywgMHhGOCwgMHhDNSwK Ky0gIDB4NkUsIDB4MkIsIDB4NzksIDB4OTYsIDB4MEQsIDB4MEMsIDB4QzgsIDB4MTAsIDB4MzQs IDB4NTMsIDB4RDIsIDB4QUYsCistICAweDE3LCAweDBFLCAweEUwLCAweEJGLCAweDc5LCAweEY2 LCAweDA0LCAweDcyLCAweDEwLCAweEUwLCAweEY2LCAweEQwLAorLSAgMHhDRSwgMHg4QSwgMHg2 RiwgMHhBMSwgMHg5NSwgMHg4OSwgMHhCRiwgMHg1OCwgMHg4RiwgMHg0NiwgMHg1RiwgMHgwOSwK Ky0gIDB4OUYsIDB4MDksIDB4Q0EsIDB4ODQsIDB4MTUsIDB4ODUsIDB4RTAsIDB4RUQsIDB4MDQs IDB4MkQsIDB4RkIsIDB4N0MsCistICAweDM2LCAweDM1LCAweDIxLCAweDMxLCAweEMzLCAweEZE LCAweDkyLCAweDQyLCAweDExLCAweDMwLCAweDcxLCAweDFCLAorLSAgMHg2MCwgMHg4MywgMHgx OCwgMHg4OCwgMHhBMywgMHhGNSwgMHg1OSwgMHhDMworKyAweEM5LCAweDJCLCAweDZELCAweDUw LCAweEJCLCAweEQ4LCAweDBCLCAweDM1LCAweEU4LCAweDc4LCAweEY1LCAweEZDLAorKyAweEJC LCAweDZBLCAweEI0LCAweDMyLCAweDYzLCAweDlDLCAweDc1LCAweDE5LCAweDFELCAweEZCLCAw eDY4LCAweEMwLAorKyAweEZDLCAweDM0LCAweENFLCAweDA5LCAweEZELCAweEY0LCAweDMzLCAw eDQyLCAweDcwLCAweDI0LCAweDU3LCAweEJDLAorKyAweEIzLCAweEJELCAweDI0LCAweDMzLCAw eDlFLCAweDRCLCAweDAwLCAweENFLCAweDE1LCAweEIzLCAweDI3LCAweEM2LAorKyAweDM5LCAw eDdDLCAweEMxLCAweDI4LCAweDc1LCAweEZFLCAweDdCLCAweDc2LCAweDRGLCAweEZCLCAweDYw LCAweEEwLAorKyAweDMwLCAweEJGLCAweDc0LCAweDJDLCAweDlELCAweEU0LCAweEM4LCAweDAz LCAweEE4LCAweERFLCAweEI5LCAweDJBLAorKyAweEQ5LCAweDIzLCAweDI0LCAweERDLCAweEVF LCAweEYwLCAweEMxLCAweDhCLCAweDRELCAweDEyLCAweDRBLCAweDQxLAorKyAweDMzLCAweDNC LCAweDIzLCAweEZFLCAweERELCAweEU5LCAweEU4LCAweDU1LCAweDJCLCAweDNFLCAweEE0LCAw eDFCLAorKyAweDk1LCAweDIxLCAweDJBLCAweEVGLCAweDg0LCAweDJFLCAweDEzLCAweDNELCAw eDk3LCAweDdDLCAweDA4LCAweDg2LAorKyAweEIxLCAweDYwLCAweEE0LCAweEI5LCAweEM0LCAw eDVBLCAweDVCLCAweDJELCAweDNGLCAweEQ3LCAweDBELCAweEIyLAorKyAweDQxLCAweDcyLCAw eDdBLCAweDdGLCAweEEzLCAweDEyLCAweEIwLCAweEFELCAweDgwLCAweDJFLCAweEQ2LCAweEQz LAorKyAweDhBLCAweDcxLCAweDcyLCAweDY3LCAweDk0LCAweDZGLCAweDUxLCAweDA1LCAweDM5 LCAweEZELCAweEJFLCAweDkxLAorKyAweERFLCAweDFELCAweDY1LCAweEU0LCAweEE3LCAweEE2 LCAweDBGLCAweEE1LCAweDA4LCAweDFGLCAweEZDLCAweDUzLAorKyAweDQ4LCAweDdCLCAweEI4 LCAweENFLCAweDc5LCAweERBLCAweERDLCAweDE4LCAweEQxLCAweEQzLCAweDhBLCAweDczLAor KyAweENFLCAweDVBLCAweDYyLCAweDFFLCAweDMzLCAweEQwLCAweDIxLCAweDlDLCAweEY5LCAw eERFLCAweDlFLCAweDdFLAorKyAweDRELCAweDBFLCAweDI0LCAweDMwLCAweDk0LCAweEI4LCAw eERDLCAweDhCLCAweDU3LCAweDdFLCAweDNCLCAweEM2LAorKyAweEQ3LCAweDBGLCAweEZDLCAw eEE2LCAweDFGLCAweEVCLCAweEFGLCAweDE5LCAweEQwLCAweEZGLCAweDNELCAweDYzLAorKyAw eDAzLCAweDFELCAweEFCLCAweDExLCAweDBDLCAweEFELCAweDQ1LCAweDQ2LCAweDY3LCAweDc2 LCAweEM4LCAweDI2LAorKyAweEQ0LCAweEQ0LCAweDcwLCAweDFGLCAweERGLCAweEVCLCAweEU1 LCAweDdELCAweDc1LCAweEQ4LCAweDNCLCAweDUyLAorKyAweDZDLCAweEU3LCAweDIzLCAweENC LCAweEI5LCAweDFCLCAweEE0LCAweDJFLCAweDVCLCAweEVDLCAweEI0LCAweEI2LAorKyAweEI2 LCAweDJELCAweDBCLCAweDYwLCAweEUzLCAweDdCLCAweDA1LCAweEU4LCAweDFFLCAweEFELCAw eEM3LCAweEU3LAorKyAweEJFLCAweEY0LCAweDcxLCAweEFFCisgfTsKKyAKKytzdGF0aWMgaW50 IGZpcHNfcnNhX2VuY3J5cHRfdGVzdChSU0EgKnJzYSwgY29uc3QgdW5zaWduZWQgY2hhciAqcGxh aW50ZXh0LCBpbnQgcHRsZW4pCisrCXsKKysJdW5zaWduZWQgY2hhciAqY3RidWYgPSBOVUxMLCAq cHRidWYgPSBOVUxMOworKwlpbnQgcmV0ID0gMDsKKysJaW50IGxlbjsKKysKKysJY3RidWYgPSBP UEVOU1NMX21hbGxvYyhSU0Ffc2l6ZShyc2EpKTsKKysJaWYgKCFjdGJ1ZikKKysJCWdvdG8gZXJy OworKworKwlsZW4gPSBSU0FfcHVibGljX2VuY3J5cHQocHRsZW4sIHBsYWludGV4dCwgY3RidWYs IHJzYSwgUlNBX1BLQ1MxX1BBRERJTkcpOworKwlpZiAobGVuIDw9IDApCisrCQlnb3RvIGVycjsK KysJLyogQ2hlY2sgY2lwaGVydGV4dCBkb2Vzbid0IG1hdGNoIHBsYWludGV4dCAqLworKwlpZiAo bGVuID49IHB0bGVuICYmICFtZW1jbXAocGxhaW50ZXh0LCBjdGJ1ZiwgcHRsZW4pKQorKwkJZ290 byBlcnI7CisrCisrCXB0YnVmID0gT1BFTlNTTF9tYWxsb2MoUlNBX3NpemUocnNhKSk7CisrCWlm ICghcHRidWYpCisrCQlnb3RvIGVycjsKKysKKysJbGVuID0gUlNBX3ByaXZhdGVfZGVjcnlwdChs ZW4sIGN0YnVmLCBwdGJ1ZiwgcnNhLCBSU0FfUEtDUzFfUEFERElORyk7CisrCWlmIChsZW4gIT0g cHRsZW4pCisrCQlnb3RvIGVycjsKKysJaWYgKG1lbWNtcChwdGJ1ZiwgcGxhaW50ZXh0LCBsZW4p KQorKwkJZ290byBlcnI7CisrCisrCXJldCA9IDE7CisrCisrCWVycjoKKysJaWYgKGN0YnVmKQor KwkJT1BFTlNTTF9mcmVlKGN0YnVmKTsKKysJaWYgKHB0YnVmKQorKwkJT1BFTlNTTF9mcmVlKHB0 YnVmKTsKKysJcmV0dXJuIHJldDsKKysJfQorIAorIGludCBGSVBTX3NlbGZ0ZXN0X3JzYSgpCisg CXsKK0BAIC0zNTMsNyArNTg3LDcgQEAgaW50IEZJUFNfc2VsZnRlc3RfcnNhKCkKKyAJaWYgKChw az1FVlBfUEtFWV9uZXcoKSkgPT0gTlVMTCkKKyAJCWdvdG8gZXJyOworIAorLQlFVlBfUEtFWV9h c3NpZ25fUlNBKHBrLCBrZXkpOworKwlFVlBfUEtFWV9zZXQxX1JTQShwaywga2V5KTsKKyAKKyAJ aWYgKCFmaXBzX3BrZXlfc2lnbmF0dXJlX3Rlc3QocGssIGthdF90YnMsIHNpemVvZihrYXRfdGJz KSAtIDEsCisgCQkJCWthdF9SU0FfU0hBMSwgc2l6ZW9mKGthdF9SU0FfU0hBMSksCitAQCAtNDMw LDEzICs2NjQsMTUgQEAgaW50IEZJUFNfc2VsZnRlc3RfcnNhKCkKKyAJCQkiUlNBIFNIQTUxMiBY OTMxIikpCisgCQlnb3RvIGVycjsKKyAKKysJaWYgKCFmaXBzX3JzYV9lbmNyeXB0X3Rlc3Qoa2V5 LCBrYXRfdGJzLCBzaXplb2Yoa2F0X3RicykgLSAxKSkKKysJCWdvdG8gZXJyOworIAorIAlyZXQg PSAxOworIAorIAllcnI6CisgCWlmIChwaykKKyAJCUVWUF9QS0VZX2ZyZWUocGspOworLQllbHNl IGlmIChrZXkpCisrCWlmIChrZXkpCisgCQlSU0FfZnJlZShrZXkpOworIAlyZXR1cm4gcmV0Owor IAl9CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZmlwcy9NYWtlZmlsZS5maXBzLXJl cXMgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2ZpcHMvTWFrZWZpbGUKKy0tLSBvcGVuc3NsLTEuMC4x aS9jcnlwdG8vZmlwcy9NYWtlZmlsZS5maXBzLXJlcXMJMjAxNC0wOC0wNyAxMToyNToyOC44MjM4 ODkwODggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZmlwcy9NYWtlZmlsZQkyMDE0 LTA4LTA3IDExOjI1OjI4LjgzODg4OTE1OSArMDIwMAorQEAgLTI0LDEzICsyNCwxNSBAQCBMSUJT UkM9Zmlwc19hZXNfc2VsZnRlc3QuYyBmaXBzX2Rlc19zZWxmCisgICAgIGZpcHNfcnNhX3NlbGZ0 ZXN0LmMgZmlwc19zaGFfc2VsZnRlc3QuYyBmaXBzLmMgZmlwc19kc2Ffc2VsZnRlc3QuYyAgZmlw c19yYW5kLmMgXAorICAgICBmaXBzX3JzYV94OTMxZy5jIGZpcHNfcG9zdC5jIGZpcHNfZHJiZ19j dHIuYyBmaXBzX2RyYmdfaGFzaC5jIGZpcHNfZHJiZ19obWFjLmMgXAorICAgICBmaXBzX2RyYmdf bGliLmMgZmlwc19kcmJnX3JhbmQuYyBmaXBzX2RyYmdfc2VsZnRlc3QuYyBmaXBzX3JhbmRfbGli LmMgXAorLSAgICBmaXBzX2NtYWNfc2VsZnRlc3QuYyBmaXBzX2VjZGhfc2VsZnRlc3QuYyBmaXBz X2VjZHNhX3NlbGZ0ZXN0LmMgZmlwc19lbmMuYyBmaXBzX21kLmMKKysgICAgZmlwc19jbWFjX3Nl bGZ0ZXN0LmMgZmlwc19lY2RoX3NlbGZ0ZXN0LmMgZmlwc19lY2RzYV9zZWxmdGVzdC5jIGZpcHNf ZW5jLmMgZmlwc19tZC5jIFwKKysgICAgZmlwc19kaF9zZWxmdGVzdC5jCisgCisgTElCT0JKPWZp cHNfYWVzX3NlbGZ0ZXN0Lm8gZmlwc19kZXNfc2VsZnRlc3QubyBmaXBzX2htYWNfc2VsZnRlc3Qu byBmaXBzX3JhbmRfc2VsZnRlc3QubyBcCisgICAgIGZpcHNfcnNhX3NlbGZ0ZXN0Lm8gZmlwc19z aGFfc2VsZnRlc3QubyBmaXBzLm8gZmlwc19kc2Ffc2VsZnRlc3QubyAgZmlwc19yYW5kLm8gXAor ICAgICBmaXBzX3JzYV94OTMxZy5vIGZpcHNfcG9zdC5vIGZpcHNfZHJiZ19jdHIubyBmaXBzX2Ry YmdfaGFzaC5vIGZpcHNfZHJiZ19obWFjLm8gXAorICAgICBmaXBzX2RyYmdfbGliLm8gZmlwc19k cmJnX3JhbmQubyBmaXBzX2RyYmdfc2VsZnRlc3QubyBmaXBzX3JhbmRfbGliLm8gXAorLSAgICBm aXBzX2NtYWNfc2VsZnRlc3QubyBmaXBzX2VjZGhfc2VsZnRlc3QubyBmaXBzX2VjZHNhX3NlbGZ0 ZXN0Lm8gZmlwc19lbmMubyBmaXBzX21kLm8KKysgICAgZmlwc19jbWFjX3NlbGZ0ZXN0Lm8gZmlw c19lY2RoX3NlbGZ0ZXN0Lm8gZmlwc19lY2RzYV9zZWxmdGVzdC5vIGZpcHNfZW5jLm8gZmlwc19t ZC5vIFwKKysgICAgZmlwc19kaF9zZWxmdGVzdC5vCisgCisgTElCQ1JZUFRPPS1MLi4gLWxjcnlw dG8KKyAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9tb2Rlcy9nY20xMjguYy5maXBz LXJlcXMgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL21vZGVzL2djbTEyOC5jCistLS0gb3BlbnNzbC0x LjAuMWkvY3J5cHRvL21vZGVzL2djbTEyOC5jLmZpcHMtcmVxcwkyMDE0LTA4LTA2IDIzOjEwOjU2 LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9tb2Rlcy9nY20xMjgu YwkyMDE0LTA4LTA3IDExOjI1OjI4LjgzOTg4OTE2NCArMDIwMAorQEAgLTkwNiw2ICs5MDYsMTAg QEAgaW50IENSWVBUT19nY20xMjhfZW5jcnlwdChHQ00xMjhfQ09OVEVYVAorICMgZW5kaWYKKyAj ZW5kaWYKKyAKKysJY3R4LT50b3RsZW4gKz0gbGVuOworKwlpZiAoY3R4LT50b3RsZW4+KFU2NCgx KTw8MzYpIHx8IChzaXplb2YobGVuKT09OCAmJiBjdHgtPnRvdGxlbjxsZW4pKQorKwkJcmV0dXJu IC0xOworKworICNpZiAwCisgCW4gPSAodW5zaWduZWQgaW50KW1sZW4lMTY7IC8qIGFsdGVybmF0 aXZlIHRvIGN0eC0+bXJlcyAqLworICNlbmRpZgorQEAgLTEyNjksNiArMTI3MywxMCBAQCBpbnQg Q1JZUFRPX2djbTEyOF9lbmNyeXB0X2N0cjMyKEdDTTEyOF9DCisgIyBlbmRpZgorICNlbmRpZgor IAorKwljdHgtPnRvdGxlbiArPSBsZW47CisrCWlmIChjdHgtPnRvdGxlbj4oVTY0KDEpPDwzNikg fHwgKHNpemVvZihsZW4pPT04ICYmIGN0eC0+dG90bGVuPGxlbikpCisrCQlyZXR1cm4gLTE7Cisr CisgCW1sZW4gKz0gbGVuOworIAlpZiAobWxlbj4oKFU2NCgxKTw8MzYpLTMyKSB8fCAoc2l6ZW9m KGxlbik9PTggJiYgbWxlbjxsZW4pKQorIAkJcmV0dXJuIC0xOworZGlmZiAtdXAgb3BlbnNzbC0x LjAuMWkvY3J5cHRvL21vZGVzL21vZGVzX2xjbC5oLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xaS9j cnlwdG8vbW9kZXMvbW9kZXNfbGNsLmgKKy0tLSBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vbW9kZXMv bW9kZXNfbGNsLmguZmlwcy1yZXFzCTIwMTQtMDgtMDcgMTE6MjU6MjguMzY1ODg2OTE4ICswMjAw CisrKysgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL21vZGVzL21vZGVzX2xjbC5oCTIwMTQtMDgtMDcg MTE6MjU6MjguODM5ODg5MTY0ICswMjAwCitAQCAtMTEyLDYgKzExMiw3IEBAIHN0cnVjdCBnY20x MjhfY29udGV4dCB7CisgCXVuc2lnbmVkIGludCBtcmVzLCBhcmVzOworIAlibG9jazEyOF9mIGJs b2NrOworIAl2b2lkICprZXk7CisrCXU2NCB0b3RsZW47CisgfTsKKyAKKyBzdHJ1Y3QgeHRzMTI4 X2NvbnRleHQgeworZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3JhbmQvcmFuZF9sY2wu aC5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3JhbmQvcmFuZF9sY2wuaAorLS0tIG9w ZW5zc2wtMS4wLjFpL2NyeXB0by9yYW5kL3JhbmRfbGNsLmguZmlwcy1yZXFzCTIwMTQtMDgtMDcg MTE6MjU6MjguNDE4ODg3MTY5ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3JhbmQv cmFuZF9sY2wuaAkyMDE0LTA4LTA3IDExOjI1OjI4Ljg0MDg4OTE2OCArMDIwMAorQEAgLTExMiw3 ICsxMTIsNyBAQAorICNpZm5kZWYgSEVBREVSX1JBTkRfTENMX0gKKyAjZGVmaW5lIEhFQURFUl9S QU5EX0xDTF9ICisgCistI2RlZmluZSBFTlRST1BZX05FRURFRCAzMiAgLyogcmVxdWlyZSAyNTYg Yml0cyA9IDMyIGJ5dGVzIG9mIHJhbmRvbW5lc3MgKi8KKysjZGVmaW5lIEVOVFJPUFlfTkVFREVE IDQ4ICAvKiByZXF1aXJlIDM4NCBiaXRzID0gNDggYnl0ZXMgb2YgcmFuZG9tbmVzcyAqLworIAor IAorICNpZiAhZGVmaW5lZChVU0VfTUQ1X1JBTkQpICYmICFkZWZpbmVkKFVTRV9TSEExX1JBTkQp ICYmICFkZWZpbmVkKFVTRV9NREMyX1JBTkQpICYmICFkZWZpbmVkKFVTRV9NRDJfUkFORCkKK2Rp ZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9yYW5kL3JhbmRfbGliLmMuZmlwcy1yZXFzIG9w ZW5zc2wtMS4wLjFpL2NyeXB0by9yYW5kL3JhbmRfbGliLmMKKy0tLSBvcGVuc3NsLTEuMC4xaS9j cnlwdG8vcmFuZC9yYW5kX2xpYi5jLmZpcHMtcmVxcwkyMDE0LTA4LTA2IDIzOjEwOjU2LjAwMDAw MDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9yYW5kL3JhbmRfbGliLmMJMjAx NC0wOC0wNyAxMzo0NTo1MS4yNDA1MzU0NDYgKzAyMDAKK0BAIC0yNDAsMTIgKzI0MCwyNCBAQCBz dGF0aWMgaW50IGRyYmdfcmFuZF9hZGQoRFJCR19DVFggKmN0eCwKKyAJCQkJZG91YmxlIGVudHJv cHkpCisgCXsKKyAJUkFORF9TU0xlYXkoKS0+YWRkKGluLCBpbmxlbiwgZW50cm9weSk7CisrCWlm IChGSVBTX3JhbmRfc3RhdHVzKCkpCisrCQl7CisrCQlDUllQVE9fd19sb2NrKENSWVBUT19MT0NL X1JBTkQpOworKwkJRklQU19kcmJnX3Jlc2VlZChjdHgsIE5VTEwsIDApOworKwkJQ1JZUFRPX3df dW5sb2NrKENSWVBUT19MT0NLX1JBTkQpOworKwkJfQorIAlyZXR1cm4gMTsKKyAJfQorIAorIHN0 YXRpYyBpbnQgZHJiZ19yYW5kX3NlZWQoRFJCR19DVFggKmN0eCwgY29uc3Qgdm9pZCAqaW4sIGlu dCBpbmxlbikKKyAJeworIAlSQU5EX1NTTGVheSgpLT5zZWVkKGluLCBpbmxlbik7CisrCWlmIChG SVBTX3JhbmRfc3RhdHVzKCkpCisrCQl7CisrCQlDUllQVE9fd19sb2NrKENSWVBUT19MT0NLX1JB TkQpOworKwkJRklQU19kcmJnX3Jlc2VlZChjdHgsIE5VTEwsIDApOworKwkJQ1JZUFRPX3dfdW5s b2NrKENSWVBUT19MT0NLX1JBTkQpOworKwkJfQorIAlyZXR1cm4gMTsKKyAJfQorIAorZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3JzYS9yc2FfZ2VuLmMuZmlwcy1yZXFzIG9wZW5zc2wt MS4wLjFpL2NyeXB0by9yc2EvcnNhX2dlbi5jCistLS0gb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3Jz YS9yc2FfZ2VuLmMuZmlwcy1yZXFzCTIwMTQtMDgtMDcgMTE6MjU6MjguNzg4ODg4OTIyICswMjAw CisrKysgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3JzYS9yc2FfZ2VuLmMJMjAxNC0wOC0wNyAxMToy NToyOC44NDA4ODkxNjggKzAyMDAKK0BAIC0xLDUgKzEsNiBAQAorIC8qIGNyeXB0by9yc2EvcnNh X2dlbi5jICovCisgLyogQ29weXJpZ2h0IChDKSAxOTk1LTE5OTggRXJpYyBZb3VuZyAoZWF5QGNy eXB0c29mdC5jb20pCisrICogQ29weXJpZ2h0IChDKSAyMDEzIFJlZCBIYXQsIEluYy4KKyAgKiBB bGwgcmlnaHRzIHJlc2VydmVkLgorICAqCisgICogVGhpcyBwYWNrYWdlIGlzIGFuIFNTTCBpbXBs ZW1lbnRhdGlvbiB3cml0dGVuCitAQCAtMTY1LDYgKzE2NiwyMjIgQEAgaW50IFJTQV9nZW5lcmF0 ZV9rZXlfZXgoUlNBICpyc2EsIGludCBiaQorIAlyZXR1cm4gcnNhX2J1aWx0aW5fa2V5Z2VuKHJz YSwgYml0cywgZV92YWx1ZSwgY2IpOworIAl9CisgCisrI2lmZGVmIE9QRU5TU0xfRklQUworK3N0 YXRpYyBpbnQgRklQU19yc2FfYnVpbHRpbl9rZXlnZW4oUlNBICpyc2EsIGludCBiaXRzLCBCSUdO VU0gKmVfdmFsdWUsIEJOX0dFTkNCICpjYikKKysJeworKwlCSUdOVU0gKnIwID0gTlVMTCwgKnIx ID0gTlVMTCwgKnIyID0gTlVMTCwgKnIzID0gTlVMTCwgKnRtcDsKKysJQklHTlVNIGxvY2FsX3Iw LCBsb2NhbF9kLCBsb2NhbF9wOworKwlCSUdOVU0gKnByMCwgKmQsICpwOworKwlCTl9DVFggKmN0 eCA9IE5VTEw7CisrCWludCBvayA9IC0xOworKwlpbnQgaTsKKysgICAgICAgIGludCBuID0gMDsK KysJaW50IHRlc3QgPSAwOworKyAgICAgICAgaW50IHBiaXRzID0gYml0cy8yOworKworKwlpZihG SVBTX3NlbGZ0ZXN0X2ZhaWxlZCgpKQorKwkJeworKwkJRklQU2VycihGSVBTX0ZfUlNBX0JVSUxU SU5fS0VZR0VOLCBGSVBTX1JfRklQU19TRUxGVEVTVF9GQUlMRUQpOworKwkgICAgCXJldHVybiAw OworKwkgICAgCX0KKysKKysJaWYgKChwYml0cyAmIDB4RkYpIHx8IChnZXRlbnYoIk9QRU5TU0xf RU5GT1JDRV9NT0RVTFVTX0JJVFMiKSAmJiBiaXRzICE9IDIwNDggJiYgYml0cyAhPSAzMDcyKSkK KysJCXsKKysJCUZJUFNlcnIoRklQU19GX1JTQV9CVUlMVElOX0tFWUdFTiwgRklQU19SX0lOVkFM SURfS0VZX0xFTkdUSCk7CisrCQlyZXR1cm4gMDsKKysJCX0KKysKKysJY3R4ID0gQk5fQ1RYX25l dygpOworKwlpZiAoY3R4ID09IE5VTEwpIGdvdG8gZXJyOworKwlCTl9DVFhfc3RhcnQoY3R4KTsK KysJcjAgPSBCTl9DVFhfZ2V0KGN0eCk7CisrCXIxID0gQk5fQ1RYX2dldChjdHgpOworKwlyMiA9 IEJOX0NUWF9nZXQoY3R4KTsKKysJcjMgPSBCTl9DVFhfZ2V0KGN0eCk7CisrCisrCWlmIChyMyA9 PSBOVUxMKSBnb3RvIGVycjsKKysKKysJLyogV2UgbmVlZCB0aGUgUlNBIGNvbXBvbmVudHMgbm9u LU5VTEwgKi8KKysJaWYgKCFyc2EtPm4gJiYgKChyc2EtPm49Qk5fbmV3KCkpID09IE5VTEwpKSBn b3RvIGVycjsKKysJaWYgKCFyc2EtPmQgJiYgKChyc2EtPmQ9Qk5fbmV3KCkpID09IE5VTEwpKSBn b3RvIGVycjsKKysJaWYgKCFyc2EtPmUgJiYgKChyc2EtPmU9Qk5fbmV3KCkpID09IE5VTEwpKSBn b3RvIGVycjsKKysJaWYgKCFyc2EtPnAgJiYgKChyc2EtPnA9Qk5fbmV3KCkpID09IE5VTEwpKSBn b3RvIGVycjsKKysJaWYgKCFyc2EtPnEgJiYgKChyc2EtPnE9Qk5fbmV3KCkpID09IE5VTEwpKSBn b3RvIGVycjsKKysJaWYgKCFyc2EtPmRtcDEgJiYgKChyc2EtPmRtcDE9Qk5fbmV3KCkpID09IE5V TEwpKSBnb3RvIGVycjsKKysJaWYgKCFyc2EtPmRtcTEgJiYgKChyc2EtPmRtcTE9Qk5fbmV3KCkp ID09IE5VTEwpKSBnb3RvIGVycjsKKysJaWYgKCFyc2EtPmlxbXAgJiYgKChyc2EtPmlxbXA9Qk5f bmV3KCkpID09IE5VTEwpKSBnb3RvIGVycjsKKysKKysJaWYgKCFCTl9zZXRfd29yZChyMCwgUlNB X0Y0KSkgZ290byBlcnI7CisrCWlmIChCTl9jbXAoZV92YWx1ZSwgcjApIDwgMCB8fCBCTl9udW1f Yml0cyhlX3ZhbHVlKSA+IDI1NikKKysJCXsKKysJCW9rID0gMDsgLyogd2Ugc2V0IG91ciBvd24g ZXJyICovCisrCQlSU0FlcnIoUlNBX0ZfUlNBX0JVSUxUSU5fS0VZR0VOLFJTQV9SX0JBRF9FX1ZB TFVFKTsKKysJCWdvdG8gZXJyOworKwkJfQorKworKwkvKiBwcmVwYXJlIGFwcHJveGltYXRlIG1p bmltdW0gcCBhbmQgcSAqLworKwlpZiAoIUJOX3NldF93b3JkKHIwLCAweEI1MDRGMzM0KSkgZ290 byBlcnI7CisrCWlmICghQk5fbHNoaWZ0KHIwLCByMCwgcGJpdHMgLSAzMikpIGdvdG8gZXJyOwor KworKwkvKiBwcmVwYXJlIG1pbmltdW0gcCBhbmQgcSBkaWZmZXJlbmNlICovCisrCWlmICghQk5f b25lKHIzKSkgZ290byBlcnI7CisrCWlmICghQk5fbHNoaWZ0KHIzLCByMywgcGJpdHMgLSAxMDAp KSBnb3RvIGVycjsKKysKKysJQk5fY29weShyc2EtPmUsIGVfdmFsdWUpOworKworKwlpZiAoIUJO X2lzX3plcm8ocnNhLT5wKSAmJiAhQk5faXNfemVybyhyc2EtPnEpKQorKwkJdGVzdCA9IDE7Cisr CisrCS8qIGdlbmVyYXRlIHAgYW5kIHEgKi8KKysJZm9yIChpID0gMDsgaSA8IDUgKiBwYml0czsg aSsrKQorKwkJeworKyAgICAgICAgcGxvb3A6CisrICAgICAgICAgICAgICAgIGlmICghdGVzdCkK KysgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIUJOX3JhbmQocnNhLT5wLCBwYml0cywgMCwg MSkpIGdvdG8gZXJyOworKyAgICAgICAgICAgICAgICBpZiAoQk5fY21wKHJzYS0+cCwgcjApIDwg MCkKKysgICAgICAgICAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICAgICAg aWYgKHRlc3QpIGdvdG8gZXJyOworKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcGxvb3A7 CisrICAgICAgICAgICAgICAgICAgICAgICAgfQorKworKwkJaWYgKCFCTl9zdWIocjIsIHJzYS0+ cCwgQk5fdmFsdWVfb25lKCkpKSBnb3RvIGVycjsKKysJCWlmICghQk5fZ2NkKHIxLCByMiwgcnNh LT5lLCBjdHgpKSBnb3RvIGVycjsKKysJCWlmIChCTl9pc19vbmUocjEpKQorKyAgICAgICAgICAg ICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcjsKKysgICAgICAg ICAgICAgICAgICAgICAgICByID0gQk5faXNfcHJpbWVfZmFzdHRlc3RfZXgocnNhLT5wLCBwYml0 cz4xMDI0PzQ6NSwgY3R4LCAwLCBjYik7CisrICAgICAgICAJCWlmIChyID09IC0xIHx8ICh0ZXN0 ICYmIHIgPD0gMCkpIGdvdG8gZXJyOworKyAgICAgICAgCQlpZiAociA+IDApIGJyZWFrOworKyAg ICAgICAgICAgICAgICAgICAgICAgIH0gCisrCisrCQlpZighQk5fR0VOQ0JfY2FsbChjYiwgMiwg bisrKSkKKysJCQlnb3RvIGVycjsKKysJCX0KKysKKysJaWYoIUJOX0dFTkNCX2NhbGwoY2IsIDMs IDApKQorKwkJZ290byBlcnI7CisrCisrICAgICAgICBpZihpID49IDUqcGJpdHMpCisrICAgICAg ICAgICAgICAgIC8qIHByaW1lIG5vdCBmb3VuZCAqLworKyAgICAgICAgICAgICAgICBnb3RvIGVy cjsKKysKKysJZm9yIChpID0gMDsgaSA8IDUgKiBwYml0czsgaSsrKQorKwkJeworKyAgICAgICAg cWxvb3A6CisrICAgICAgICAgICAgICAgIGlmICghdGVzdCkKKysgICAgICAgICAgICAgICAgICAg ICAgICBpZiAoIUJOX3JhbmQocnNhLT5xLCBwYml0cywgMCwgMSkpIGdvdG8gZXJyOworKyAgICAg ICAgICAgICAgICBpZiAoQk5fY21wKHJzYS0+cSwgcjApIDwgMCkKKysgICAgICAgICAgICAgICAg ICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3QpIGdvdG8gZXJyOwor KyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcWxvb3A7CisrICAgICAgICAgICAgICAgICAg ICAgICAgfQorKyAgICAgICAJCWlmICghQk5fc3ViKHIyLCByc2EtPnEsIHJzYS0+cCkpIGdvdG8g ZXJyOworKyAgICAgICAgICAgICAgICBpZiAoQk5fdWNtcChyMiwgcjMpIDw9IDApCisrICAgICAg ICAgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0ZXN0KSBn b3RvIGVycjsKKysgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHFsb29wOworKyAgICAgICAg ICAgICAgICAgICAgICAgIH0KKysKKysJCWlmICghQk5fc3ViKHIyLCByc2EtPnEsIEJOX3ZhbHVl X29uZSgpKSkgZ290byBlcnI7CisrCQlpZiAoIUJOX2djZChyMSwgcjIsIHJzYS0+ZSwgY3R4KSkg Z290byBlcnI7CisrCQlpZiAoQk5faXNfb25lKHIxKSkKKysgICAgICAgICAgICAgICAgICAgICAg ICB7CisrICAgICAgICAgICAgICAgICAgICAgICAgaW50IHI7CisrICAgICAgICAgICAgICAgICAg ICAgICAgciA9IEJOX2lzX3ByaW1lX2Zhc3R0ZXN0X2V4KHJzYS0+cSwgcGJpdHM+MTAyND80OjUs IGN0eCwgMCwgY2IpOworKyAgICAgICAgCQlpZiAociA9PSAtMSB8fCAodGVzdCAmJiByIDw9IDAp KSBnb3RvIGVycjsKKysgICAgICAgIAkJaWYgKHIgPiAwKSBicmVhazsKKysgICAgICAgICAgICAg ICAgICAgICAgICB9IAorKworKwkJaWYoIUJOX0dFTkNCX2NhbGwoY2IsIDIsIG4rKykpCisrCQkJ Z290byBlcnI7CisrCQl9CisrCisrCWlmKCFCTl9HRU5DQl9jYWxsKGNiLCAzLCAxKSkKKysJCWdv dG8gZXJyOworKworKyAgICAgICAgaWYoaSA+PSA1KnBiaXRzKQorKyAgICAgICAgICAgICAgICAv KiBwcmltZSBub3QgZm91bmQgKi8KKysgICAgICAgICAgICAgICAgZ290byBlcnI7CisrCisrICAg ICAgICBpZiAodGVzdCkKKysgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAvKiBk byBub3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgcmVtYWluaW5nIGtleSB2YWx1ZXMgKi8KKysgICAg ICAgICAgICAgICAgQk5fY2xlYXIocnNhLT5uKTsKKysgICAgICAgICAgICAgICAgb2sgPSAxOwor KyAgICAgICAgICAgICAgICBnb3RvIGVycjsKKysgICAgICAgICAgICAgICAgfQorKworKwlpZiAo Qk5fY21wKHJzYS0+cCxyc2EtPnEpIDwgMCkKKysJCXsKKysJCXRtcD1yc2EtPnA7CisrCQlyc2Et PnA9cnNhLT5xOworKwkJcnNhLT5xPXRtcDsKKysJCX0KKysKKysJLyogY2FsY3VsYXRlIG4gKi8K KysJaWYgKCFCTl9tdWwocnNhLT5uLHJzYS0+cCxyc2EtPnEsY3R4KSkgZ290byBlcnI7CisrCisr CS8qIGNhbGN1bGF0ZSBkICovCisrCWlmICghQk5fc3ViKHIxLHJzYS0+cCxCTl92YWx1ZV9vbmUo KSkpIGdvdG8gZXJyOwkvKiBwLTEgKi8KKysJaWYgKCFCTl9zdWIocjIscnNhLT5xLEJOX3ZhbHVl X29uZSgpKSkgZ290byBlcnI7CS8qIHEtMSAqLworKwlpZiAoIUJOX211bChyMCxyMSxyMixjdHgp KSBnb3RvIGVycjsJLyogKHAtMSkocS0xKSAqLworKwlpZiAoIShyc2EtPmZsYWdzICYgUlNBX0ZM QUdfTk9fQ09OU1RUSU1FKSkKKysJCXsKKysJCSAgcHIwID0gJmxvY2FsX3IwOworKwkJICBCTl93 aXRoX2ZsYWdzKHByMCwgcjAsIEJOX0ZMR19DT05TVFRJTUUpOworKwkJfQorKwllbHNlCisrCSAg cHIwID0gcjA7CisrCWlmICghQk5fbW9kX2ludmVyc2UocnNhLT5kLHJzYS0+ZSxwcjAsY3R4KSkg Z290byBlcnI7CS8qIGQgKi8KKysKKysJLyogc2V0IHVwIGQgZm9yIGNvcnJlY3QgQk5fRkxHX0NP TlNUVElNRSBmbGFnICovCisrCWlmICghKHJzYS0+ZmxhZ3MgJiBSU0FfRkxBR19OT19DT05TVFRJ TUUpKQorKwkJeworKwkJZCA9ICZsb2NhbF9kOworKwkJQk5fd2l0aF9mbGFncyhkLCByc2EtPmQs IEJOX0ZMR19DT05TVFRJTUUpOworKwkJfQorKwllbHNlCisrCQlkID0gcnNhLT5kOworKworKwkv KiBjYWxjdWxhdGUgZCBtb2QgKHAtMSkgKi8KKysJaWYgKCFCTl9tb2QocnNhLT5kbXAxLGQscjEs Y3R4KSkgZ290byBlcnI7CisrCisrCS8qIGNhbGN1bGF0ZSBkIG1vZCAocS0xKSAqLworKwlpZiAo IUJOX21vZChyc2EtPmRtcTEsZCxyMixjdHgpKSBnb3RvIGVycjsKKysKKysJLyogY2FsY3VsYXRl IGludmVyc2Ugb2YgcSBtb2QgcCAqLworKwlpZiAoIShyc2EtPmZsYWdzICYgUlNBX0ZMQUdfTk9f Q09OU1RUSU1FKSkKKysJCXsKKysJCXAgPSAmbG9jYWxfcDsKKysJCUJOX3dpdGhfZmxhZ3MocCwg cnNhLT5wLCBCTl9GTEdfQ09OU1RUSU1FKTsKKysJCX0KKysJZWxzZQorKwkJcCA9IHJzYS0+cDsK KysJaWYgKCFCTl9tb2RfaW52ZXJzZShyc2EtPmlxbXAscnNhLT5xLHAsY3R4KSkgZ290byBlcnI7 CisrCisrCWlmIChmaXBzX3JzYV9wYWlyd2lzZV9mYWlsKQorKwkJQk5fYWRkX3dvcmQocnNhLT5u LCAxKTsKKysKKysJaWYoIWZpcHNfY2hlY2tfcnNhKHJzYSkpCisrCSAgICBnb3RvIGVycjsKKysK KysJb2s9MTsKKytlcnI6CisrCWlmIChvayA9PSAtMSkKKysJCXsKKysJCVJTQWVycihSU0FfRl9S U0FfQlVJTFRJTl9LRVlHRU4sRVJSX0xJQl9CTik7CisrCQlvayA9IDA7CisrCQl9CisrCWlmIChj dHggIT0gTlVMTCkKKysJCXsKKysJCUJOX0NUWF9lbmQoY3R4KTsKKysJCUJOX0NUWF9mcmVlKGN0 eCk7CisrCQl9CisrCisrCXJldHVybiBvazsKKysJfQorKyNlbmRpZgorKworIHN0YXRpYyBpbnQg cnNhX2J1aWx0aW5fa2V5Z2VuKFJTQSAqcnNhLCBpbnQgYml0cywgQklHTlVNICplX3ZhbHVlLCBC Tl9HRU5DQiAqY2IpCisgCXsKKyAJQklHTlVNICpyMD1OVUxMLCpyMT1OVUxMLCpyMj1OVUxMLCpy Mz1OVUxMLCp0bXA7CitAQCAtMTc2LDE3ICszOTMsMTIgQEAgc3RhdGljIGludCByc2FfYnVpbHRp bl9rZXlnZW4oUlNBICpyc2EsCisgI2lmZGVmIE9QRU5TU0xfRklQUworIAlpZiAoRklQU19tb2R1 bGVfbW9kZSgpKQorIAkJeworLQkJaWYoRklQU19zZWxmdGVzdF9mYWlsZWQoKSkKKy0JICAgIAl7 CistCQkgICAgRklQU2VycihGSVBTX0ZfUlNBX0JVSUxUSU5fS0VZR0VOLEZJUFNfUl9GSVBTX1NF TEZURVNUX0ZBSUxFRCk7CistCSAgICAJcmV0dXJuIDA7CistCSAgICAJfQorLQorIAkJaWYgKGJp dHMgPCBPUEVOU1NMX1JTQV9GSVBTX01JTl9NT0RVTFVTX0JJVFMpCisgCQkgICAgeworIAkJICAg IEZJUFNlcnIoRklQU19GX1JTQV9CVUlMVElOX0tFWUdFTixGSVBTX1JfS0VZX1RPT19TSE9SVCk7 CisgCQkgICAgcmV0dXJuIDA7CisgCQkgICAgfQorKwkJcmV0dXJuIEZJUFNfcnNhX2J1aWx0aW5f a2V5Z2VuKHJzYSwgYml0cywgZV92YWx1ZSwgY2IpOworIAkJfQorICNlbmRpZgorIAorQEAgLTMw MSwxNyArNTEzLDYgQEAgc3RhdGljIGludCByc2FfYnVpbHRpbl9rZXlnZW4oUlNBICpyc2EsCisg CQlwID0gcnNhLT5wOworIAlpZiAoIUJOX21vZF9pbnZlcnNlKHJzYS0+aXFtcCxyc2EtPnEscCxj dHgpKSBnb3RvIGVycjsKKyAKKy0jaWZkZWYgT1BFTlNTTF9GSVBTCistCWlmIChGSVBTX21vZHVs ZV9tb2RlKCkpCistCQl7CistCQlpZiAoZmlwc19yc2FfcGFpcndpc2VfZmFpbCkKKy0JCQlCTl9h ZGRfd29yZChyc2EtPm4sIDEpOworLQorLQkJaWYoIWZpcHNfY2hlY2tfcnNhKHJzYSkpCistCQkg ICAgZ290byBlcnI7CistCQl9CistI2VuZGlmCistCisgCW9rPTE7CisgZXJyOgorIAlpZiAob2sg PT0gLTEpCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9zc2wvdDFfZW5jLmMuZmlwcy1yZXFzIG9w ZW5zc2wtMS4wLjFpL3NzbC90MV9lbmMuYworLS0tIG9wZW5zc2wtMS4wLjFpL3NzbC90MV9lbmMu Yy5maXBzLXJlcXMJMjAxNC0wOC0wNiAyMzoxMDo1Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVu c3NsLTEuMC4xaS9zc2wvdDFfZW5jLmMJMjAxNC0wOC0wNyAxMToyNToyOC44NDE4ODkxNzMgKzAy MDAKK0BAIC0yOTEsNiArMjkxLDI3IEBAIHN0YXRpYyBpbnQgdGxzMV9QUkYobG9uZyBkaWdlc3Rf bWFzaywKKyBlcnI6CisgCXJldHVybiByZXQ7CisgfQorKworK2ludCBwcml2YXRlX3RsczFfUFJG KGxvbmcgZGlnZXN0X21hc2ssCisrCQkgICAgIGNvbnN0IHZvaWQgKnNlZWQxLCBpbnQgc2VlZDFf bGVuLAorKwkJICAgICBjb25zdCB2b2lkICpzZWVkMiwgaW50IHNlZWQyX2xlbiwKKysJCSAgICAg Y29uc3Qgdm9pZCAqc2VlZDMsIGludCBzZWVkM19sZW4sCisrCQkgICAgIGNvbnN0IHZvaWQgKnNl ZWQ0LCBpbnQgc2VlZDRfbGVuLAorKwkJICAgICBjb25zdCB2b2lkICpzZWVkNSwgaW50IHNlZWQ1 X2xlbiwKKysJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqc2VjLCBpbnQgc2xlbiwKKysJCSAg ICAgdW5zaWduZWQgY2hhciAqb3V0MSwKKysJCSAgICAgdW5zaWduZWQgY2hhciAqb3V0MiwgaW50 IG9sZW4pCisrCXsKKysJcmV0dXJuIHRsczFfUFJGKGRpZ2VzdF9tYXNrLAorKwkJc2VlZDEsIHNl ZWQxX2xlbiwKKysJCXNlZWQyLCBzZWVkMl9sZW4sCisrCQlzZWVkMywgc2VlZDNfbGVuLAorKwkJ c2VlZDQsIHNlZWQ0X2xlbiwKKysJCXNlZWQ1LCBzZWVkNV9sZW4sCisrCQlzZWMsIHNsZW4sCisr CQlvdXQxLCBvdXQyLCBvbGVuKTsKKysJfQorKworIHN0YXRpYyBpbnQgdGxzMV9nZW5lcmF0ZV9r ZXlfYmxvY2soU1NMICpzLCB1bnNpZ25lZCBjaGFyICprbSwKKyAJICAgICB1bnNpZ25lZCBjaGFy ICp0bXAsIGludCBudW0pCisgCXsKCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4xaS10cnVzdGVk LWZpcnN0LnBhdGNoIGIvb3BlbnNzbC0xLjAuMWktdHJ1c3RlZC1maXJzdC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTFmMzZkCi0tLSAvZGV2L251bGwKKysrIGIv b3BlbnNzbC0xLjAuMWktdHJ1c3RlZC1maXJzdC5wYXRjaApAQCAtMCwwICsxLDMzMCBAQAorZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWkvYXBwcy9hcHBzLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEu MC4xaS9hcHBzL2FwcHMuYworLS0tIG9wZW5zc2wtMS4wLjFpL2FwcHMvYXBwcy5jLnRydXN0ZWQt Zmlyc3QJMjAxNC0wOC0wNiAyMzoxMDo1Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEu MC4xaS9hcHBzL2FwcHMuYwkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1MTEwMzQwNSArMDIwMAorQEAg LTIzNjUsNiArMjM2NSw4IEBAIGludCBhcmdzX3ZlcmlmeShjaGFyICoqKnBhcmdzLCBpbnQgKnBh cmcKKyAJCWZsYWdzIHw9IFg1MDlfVl9GTEFHX05PVElGWV9QT0xJQ1k7CisgCWVsc2UgaWYgKCFz dHJjbXAoYXJnLCAiLWNoZWNrX3NzX3NpZyIpKQorIAkJZmxhZ3MgfD0gWDUwOV9WX0ZMQUdfQ0hF Q0tfU1NfU0lHTkFUVVJFOworKwllbHNlIGlmICghc3RyY21wKGFyZywgIi10cnVzdGVkX2ZpcnN0 IikpCisrCQlmbGFncyB8PSBYNTA5X1ZfRkxBR19UUlVTVEVEX0ZJUlNUOworIAllbHNlCisgCQly ZXR1cm4gMDsKKyAKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2FwcHMvY21zLmMudHJ1c3RlZC1m aXJzdCBvcGVuc3NsLTEuMC4xaS9hcHBzL2Ntcy5jCistLS0gb3BlbnNzbC0xLjAuMWkvYXBwcy9j bXMuYy50cnVzdGVkLWZpcnN0CTIwMTQtMDgtMDYgMjM6MTA6NTYuMDAwMDAwMDAwICswMjAwCisr Kysgb3BlbnNzbC0xLjAuMWkvYXBwcy9jbXMuYwkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1MTEwMzQw NSArMDIwMAorQEAgLTY0Miw2ICs2NDIsNyBAQCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAqKmFy Z3YpCisgCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXRleHQgICAgICAgICAgaW5jbHVkZSBvciBk ZWxldGUgdGV4dCBNSU1FIGhlYWRlcnNcbiIpOworIAkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi1D QXBhdGggZGlyICAgIHRydXN0ZWQgY2VydGlmaWNhdGVzIGRpcmVjdG9yeVxuIik7CisgCQlCSU9f cHJpbnRmIChiaW9fZXJyLCAiLUNBZmlsZSBmaWxlICAgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgZmls ZVxuIik7CisrCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXRydXN0ZWRfZmlyc3QgdXNlIHRydXN0 ZWQgY2VydGlmaWNhdGVzIGZpcnN0IHdoZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluXG4iKTsK KyAJCUJJT19wcmludGYgKGJpb19lcnIsICItY3JsX2NoZWNrICAgICBjaGVjayByZXZvY2F0aW9u IHN0YXR1cyBvZiBzaWduZXIncyBjZXJ0aWZpY2F0ZSB1c2luZyBDUkxzXG4iKTsKKyAJCUJJT19w cmludGYgKGJpb19lcnIsICItY3JsX2NoZWNrX2FsbCBjaGVjayByZXZvY2F0aW9uIHN0YXR1cyBv ZiBzaWduZXIncyBjZXJ0aWZpY2F0ZSBjaGFpbiB1c2luZyBDUkxzXG4iKTsKKyAjaWZuZGVmIE9Q RU5TU0xfTk9fRU5HSU5FCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9hcHBzL29jc3AuYy50cnVz dGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFpL2FwcHMvb2NzcC5jCistLS0gb3BlbnNzbC0xLjAuMWkv YXBwcy9vY3NwLmMudHJ1c3RlZC1maXJzdAkyMDE0LTA4LTA2IDIzOjEwOjU2LjAwMDAwMDAwMCAr MDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2FwcHMvb2NzcC5jCTIwMTQtMDgtMDcgMTM6NTQ6Mjcu NzUyMTAzNDA5ICswMjAwCitAQCAtNjA1LDYgKzYwNSw3IEBAIGludCBNQUlOKGludCBhcmdjLCBj aGFyICoqYXJndikKKyAJCUJJT19wcmludGYgKGJpb19lcnIsICItcGF0aCAgICAgICAgICAgICAg cGF0aCB0byB1c2UgaW4gT0NTUCByZXF1ZXN0XG4iKTsKKyAJCUJJT19wcmludGYgKGJpb19lcnIs ICItQ0FwYXRoIGRpciAgICAgICAgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgZGlyZWN0b3J5XG4iKTsK KyAJCUJJT19wcmludGYgKGJpb19lcnIsICItQ0FmaWxlIGZpbGUgICAgICAgdHJ1c3RlZCBjZXJ0 aWZpY2F0ZXMgZmlsZVxuIik7CisrCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXRydXN0ZWRfZmly c3QgICAgIHVzZSB0cnVzdGVkIGNlcnRpZmljYXRlcyBmaXJzdCB3aGVuIGJ1aWxkaW5nIHRoZSB0 cnVzdCBjaGFpblxuIik7CisgCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLVZBZmlsZSBmaWxlICAg ICAgIHZhbGlkYXRvciBjZXJ0aWZpY2F0ZXMgZmlsZVxuIik7CisgCQlCSU9fcHJpbnRmIChiaW9f ZXJyLCAiLXZhbGlkaXR5X3BlcmlvZCBuIG1heGltdW0gdmFsaWRpdHkgZGlzY3JlcGFuY3kgaW4g c2Vjb25kc1xuIik7CisgCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXN0YXR1c19hZ2UgbiAgICAg IG1heGltdW0gc3RhdHVzIGFnZSBpbiBzZWNvbmRzXG4iKTsKK2RpZmYgLXVwIG9wZW5zc2wtMS4w LjFpL2FwcHMvc19jbGllbnQuYy50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFpL2FwcHMvc19j bGllbnQuYworLS0tIG9wZW5zc2wtMS4wLjFpL2FwcHMvc19jbGllbnQuYy50cnVzdGVkLWZpcnN0 CTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzUyMTAzNDA5ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkv YXBwcy9zX2NsaWVudC5jCTIwMTQtMDgtMDcgMTU6MDY6MjguNDQzOTE4MDU1ICswMjAwCitAQCAt Mjk5LDYgKzI5OSw3IEBAIHN0YXRpYyB2b2lkIHNjX3VzYWdlKHZvaWQpCisgCUJJT19wcmludGYo YmlvX2VyciwiIC1wYXNzIGFyZyAgICAgLSBwcml2YXRlIGtleSBmaWxlIHBhc3MgcGhyYXNlIHNv dXJjZVxuIik7CisgCUJJT19wcmludGYoYmlvX2VyciwiIC1DQXBhdGggYXJnICAgLSBQRU0gZm9y bWF0IGRpcmVjdG9yeSBvZiBDQSdzXG4iKTsKKyAJQklPX3ByaW50ZihiaW9fZXJyLCIgLUNBZmls ZSBhcmcgICAtIFBFTSBmb3JtYXQgZmlsZSBvZiBDQSdzXG4iKTsKKysJQklPX3ByaW50ZihiaW9f ZXJyLCIgLXRydXN0ZWRfZmlyc3QgLSBVc2UgdHJ1c3RlZCBDQSdzIGZpcnN0IHdoZW4gYnVpbGRp bmcgdGhlIHRydXN0IGNoYWluXG4iKTsKKyAJQklPX3ByaW50ZihiaW9fZXJyLCIgLXJlY29ubmVj dCAgICAtIERyb3AgYW5kIHJlLW1ha2UgdGhlIGNvbm5lY3Rpb24gd2l0aCB0aGUgc2FtZSBTZXNz aW9uLUlEXG4iKTsKKyAJQklPX3ByaW50ZihiaW9fZXJyLCIgLXBhdXNlICAgICAgICAtIHNsZWVw KDEpIGFmdGVyIGVhY2ggcmVhZCgyKSBhbmQgd3JpdGUoMikgc3lzdGVtIGNhbGxcbiIpOworIAlC SU9fcHJpbnRmKGJpb19lcnIsIiAtcHJleGl0ICAgICAgIC0gcHJpbnQgc2Vzc2lvbiBpbmZvcm1h dGlvbiBldmVuIG9uIGNvbm5lY3Rpb24gZmFpbHVyZVxuIik7CitkaWZmIC11cCBvcGVuc3NsLTEu MC4xaS9hcHBzL3NtaW1lLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xaS9hcHBzL3NtaW1l LmMKKy0tLSBvcGVuc3NsLTEuMC4xaS9hcHBzL3NtaW1lLmMudHJ1c3RlZC1maXJzdAkyMDE0LTA4 LTA2IDIzOjEwOjU2LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2FwcHMvc21p bWUuYwkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1MzEwMzQxNCArMDIwMAorQEAgLTQ3OSw2ICs0Nzks NyBAQCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCQlCSU9fcHJpbnRmIChiaW9f ZXJyLCAiLXRleHQgICAgICAgICAgaW5jbHVkZSBvciBkZWxldGUgdGV4dCBNSU1FIGhlYWRlcnNc biIpOworIAkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi1DQXBhdGggZGlyICAgIHRydXN0ZWQgY2Vy dGlmaWNhdGVzIGRpcmVjdG9yeVxuIik7CisgCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLUNBZmls ZSBmaWxlICAgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgZmlsZVxuIik7CisrCQlCSU9fcHJpbnRmIChi aW9fZXJyLCAiLXRydXN0ZWRfZmlyc3QgdXNlIHRydXN0ZWQgY2VydGlmaWNhdGVzIGZpcnN0IHdo ZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluXG4iKTsKKyAJCUJJT19wcmludGYgKGJpb19lcnIs ICItY3JsX2NoZWNrICAgICBjaGVjayByZXZvY2F0aW9uIHN0YXR1cyBvZiBzaWduZXIncyBjZXJ0 aWZpY2F0ZSB1c2luZyBDUkxzXG4iKTsKKyAJCUJJT19wcmludGYgKGJpb19lcnIsICItY3JsX2No ZWNrX2FsbCBjaGVjayByZXZvY2F0aW9uIHN0YXR1cyBvZiBzaWduZXIncyBjZXJ0aWZpY2F0ZSBj aGFpbiB1c2luZyBDUkxzXG4iKTsKKyAjaWZuZGVmIE9QRU5TU0xfTk9fRU5HSU5FCitkaWZmIC11 cCBvcGVuc3NsLTEuMC4xaS9hcHBzL3Nfc2VydmVyLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEu MC4xaS9hcHBzL3Nfc2VydmVyLmMKKy0tLSBvcGVuc3NsLTEuMC4xaS9hcHBzL3Nfc2VydmVyLmMu dHJ1c3RlZC1maXJzdAkyMDE0LTA4LTA3IDEzOjU0OjI3LjcxODEwMzI0MSArMDIwMAorKysrIG9w ZW5zc2wtMS4wLjFpL2FwcHMvc19zZXJ2ZXIuYwkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1MzEwMzQx NCArMDIwMAorQEAgLTUwMiw2ICs1MDIsNyBAQCBzdGF0aWMgdm9pZCBzdl91c2FnZSh2b2lkKQor IAlCSU9fcHJpbnRmKGJpb19lcnIsIiAtc3RhdGUgICAgICAgIC0gUHJpbnQgdGhlIFNTTCBzdGF0 ZXNcbiIpOworIAlCSU9fcHJpbnRmKGJpb19lcnIsIiAtQ0FwYXRoIGFyZyAgIC0gUEVNIGZvcm1h dCBkaXJlY3Rvcnkgb2YgQ0Enc1xuIik7CisgCUJJT19wcmludGYoYmlvX2VyciwiIC1DQWZpbGUg YXJnICAgLSBQRU0gZm9ybWF0IGZpbGUgb2YgQ0Enc1xuIik7CisrCUJJT19wcmludGYoYmlvX2Vy ciwiIC10cnVzdGVkX2ZpcnN0IC0gVXNlIHRydXN0ZWQgQ0EncyBmaXJzdCB3aGVuIGJ1aWxkaW5n IHRoZSB0cnVzdCBjaGFpblxuIik7CisgCUJJT19wcmludGYoYmlvX2VyciwiIC1ub2NlcnQgICAg ICAgLSBEb24ndCB1c2UgYW55IGNlcnRpZmljYXRlcyAoQW5vbi1ESClcbiIpOworIAlCSU9fcHJp bnRmKGJpb19lcnIsIiAtY2lwaGVyIGFyZyAgIC0gcGxheSB3aXRoICdvcGVuc3NsIGNpcGhlcnMn IHRvIHNlZSB3aGF0IGdvZXMgaGVyZVxuIik7CisgCUJJT19wcmludGYoYmlvX2VyciwiIC1zZXJ2 ZXJwcmVmICAgLSBVc2Ugc2VydmVyJ3MgY2lwaGVyIHByZWZlcmVuY2VzXG4iKTsKK2RpZmYgLXVw IG9wZW5zc2wtMS4wLjFpL2FwcHMvc190aW1lLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4x aS9hcHBzL3NfdGltZS5jCistLS0gb3BlbnNzbC0xLjAuMWkvYXBwcy9zX3RpbWUuYy50cnVzdGVk LWZpcnN0CTIwMTQtMDgtMDcgMTM6NTQ6MjcuNDMyMTAxODIzICswMjAwCisrKysgb3BlbnNzbC0x LjAuMWkvYXBwcy9zX3RpbWUuYwkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1MzEwMzQxNCArMDIwMAor QEAgLTE3OSw2ICsxNzksNyBAQCBzdGF0aWMgdm9pZCBzX3RpbWVfdXNhZ2Uodm9pZCkKKyAgICAg ICAgICAgICAgICAgZmlsZSBpZiBub3Qgc3BlY2lmaWVkIGJ5IHRoaXMgb3B0aW9uXG5cCisgLUNB cGF0aCBhcmcgICAtIFBFTSBmb3JtYXQgZGlyZWN0b3J5IG9mIENBJ3NcblwKKyAtQ0FmaWxlIGFy ZyAgIC0gUEVNIGZvcm1hdCBmaWxlIG9mIENBJ3NcblwKKystdHJ1c3RlZF9maXJzdCAtIFVzZSB0 cnVzdGVkIENBJ3MgZmlyc3Qgd2hlbiBidWlsZGluZyB0aGUgdHJ1c3QgY2hhaW5cblwKKyAtY2lw aGVyICAgICAgIC0gcHJlZmVycmVkIGNpcGhlciB0byB1c2UsIHBsYXkgd2l0aCAnb3BlbnNzbCBj aXBoZXJzJ1xuXG4iOworIAorIAlwcmludGYoICJ1c2FnZTogc190aW1lIDxhcmdzPlxuXG4iICk7 CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9hcHBzL3RzLmMudHJ1c3RlZC1maXJzdCBvcGVuc3Ns LTEuMC4xaS9hcHBzL3RzLmMKKy0tLSBvcGVuc3NsLTEuMC4xaS9hcHBzL3RzLmMudHJ1c3RlZC1m aXJzdAkyMDE0LTA4LTA3IDEzOjU0OjI3LjcwNzEwMzE4NiArMDIwMAorKysrIG9wZW5zc2wtMS4w LjFpL2FwcHMvdHMuYwkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1MzEwMzQxNCArMDIwMAorQEAgLTM4 Myw3ICszODMsNyBAQCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCQkgICAidHMg LXZlcmlmeSBbLWRhdGEgZmlsZV90b19oYXNoXSBbLWRpZ2VzdCBkaWdlc3RfYnl0ZXNdICIKKyAJ CSAgICJbLXF1ZXJ5ZmlsZSByZXF1ZXN0LnRzcV0gIgorIAkJICAgIi1pbiByZXNwb25zZS50c3Ig Wy10b2tlbl9pbl0gIgorLQkJICAgIi1DQXBhdGggY2FfcGF0aCAtQ0FmaWxlIGNhX2ZpbGUucGVt ICIKKysJCSAgICItQ0FwYXRoIGNhX3BhdGggLUNBZmlsZSBjYV9maWxlLnBlbSAtdHJ1c3RlZF9m aXJzdCIKKyAJCSAgICItdW50cnVzdGVkIGNlcnRfZmlsZS5wZW1cbiIpOworICBjbGVhbnVwOgor IAkvKiBDbGVhbiB1cC4gKi8KK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2FwcHMvdmVyaWZ5LmMu dHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xaS9hcHBzL3ZlcmlmeS5jCistLS0gb3BlbnNzbC0x LjAuMWkvYXBwcy92ZXJpZnkuYy50cnVzdGVkLWZpcnN0CTIwMTQtMDgtMDYgMjM6MTA6NTYuMDAw MDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvYXBwcy92ZXJpZnkuYwkyMDE0LTA4LTA3 IDEzOjU0OjI3Ljc1NDEwMzQxOSArMDIwMAorQEAgLTIzNyw3ICsyMzcsNyBAQCBpbnQgTUFJTihp bnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCisgZW5kOgorIAlpZiAocmV0ID09IDEpIHsKKy0JCUJJ T19wcmludGYoYmlvX2VyciwidXNhZ2U6IHZlcmlmeSBbLXZlcmJvc2VdIFstQ0FwYXRoIHBhdGhd IFstQ0FmaWxlIGZpbGVdIFstcHVycG9zZSBwdXJwb3NlXSBbLWNybF9jaGVja10iKTsKKysJCUJJ T19wcmludGYoYmlvX2VyciwidXNhZ2U6IHZlcmlmeSBbLXZlcmJvc2VdIFstQ0FwYXRoIHBhdGhd IFstQ0FmaWxlIGZpbGVdIFstdHJ1c3RlZF9maXJzdF0gWy1wdXJwb3NlIHB1cnBvc2VdIFstY3Js X2NoZWNrXSIpOworIAkJQklPX3ByaW50ZihiaW9fZXJyLCIgWy1hdHRpbWUgdGltZXN0YW1wXSIp OworICNpZm5kZWYgT1BFTlNTTF9OT19FTkdJTkUKKyAJCUJJT19wcmludGYoYmlvX2VyciwiIFst ZW5naW5lIGVdIik7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9jcnlwdG8veDUwOS94NTA5X3Zm eS5jLnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3g1MDkveDUwOV92ZnkuYwor LS0tIG9wZW5zc2wtMS4wLjFpL2NyeXB0by94NTA5L3g1MDlfdmZ5LmMudHJ1c3RlZC1maXJzdAky MDE0LTA4LTA3IDEzOjU0OjI3LjcxNjEwMzIzMSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2Ny eXB0by94NTA5L3g1MDlfdmZ5LmMJMjAxNC0wOC0wNyAxMzo1NDoyNy43NTQxMDM0MTkgKzAyMDAK K0BAIC0yMDcsNiArMjA3LDIxIEBAIGludCBYNTA5X3ZlcmlmeV9jZXJ0KFg1MDlfU1RPUkVfQ1RY ICpjdHgKKyAKKyAJCS8qIElmIHdlIGFyZSBzZWxmIHNpZ25lZCwgd2UgYnJlYWsgKi8KKyAJCWlm IChjdHgtPmNoZWNrX2lzc3VlZChjdHgsIHgseCkpIGJyZWFrOworKwkJLyogSWYgYXNrZWQgc2Vl IGlmIHdlIGNhbiBmaW5kIGlzc3VlciBpbiB0cnVzdGVkIHN0b3JlIGZpcnN0ICovCisrCQlpZiAo Y3R4LT5wYXJhbS0+ZmxhZ3MgJiBYNTA5X1ZfRkxBR19UUlVTVEVEX0ZJUlNUKQorKwkJCXsKKysJ CQlvayA9IGN0eC0+Z2V0X2lzc3VlcigmeHRtcCwgY3R4LCB4KTsKKysJCQlpZiAob2sgPCAwKQor KwkJCQlyZXR1cm4gb2s7CisrCQkJLyogSWYgc3VjY2Vzc2Z1bCBmb3Igbm93IGZyZWUgdXAgY2Vy dCBzbyBpdAorKwkJCSAqIHdpbGwgYmUgcGlja2VkIHVwIGFnYWluIGxhdGVyLgorKwkJCSAqLwor KwkJCWlmIChvayA+IDApCisrCQkJCXsKKysJCQkJWDUwOV9mcmVlKHh0bXApOworKwkJCQlicmVh azsKKysJCQkJfQorKwkJCX0KKyAKKyAJCS8qIElmIHdlIHdlcmUgcGFzc2VkIGEgY2VydCBjaGFp biwgdXNlIGl0IGZpcnN0ICovCisgCQlpZiAoY3R4LT51bnRydXN0ZWQgIT0gTlVMTCkKK2RpZmYg LXVwIG9wZW5zc2wtMS4wLjFpL2NyeXB0by94NTA5L3g1MDlfdmZ5LmgudHJ1c3RlZC1maXJzdCBv cGVuc3NsLTEuMC4xaS9jcnlwdG8veDUwOS94NTA5X3ZmeS5oCistLS0gb3BlbnNzbC0xLjAuMWkv Y3J5cHRvL3g1MDkveDUwOV92ZnkuaC50cnVzdGVkLWZpcnN0CTIwMTQtMDgtMDcgMTM6NTQ6Mjcu MzYwMTAxNDY2ICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3g1MDkveDUwOV92Znku aAkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1NDEwMzQxOSArMDIwMAorQEAgLTM4OSw2ICszODksOCBA QCB2b2lkIFg1MDlfU1RPUkVfQ1RYX3NldF9kZXB0aChYNTA5X1NUT1JFCisgI2RlZmluZSBYNTA5 X1ZfRkxBR19VU0VfREVMVEFTCQkJMHgyMDAwCisgLyogQ2hlY2sgc2VsZnNpZ25lZCBDQSBzaWdu YXR1cmUgKi8KKyAjZGVmaW5lIFg1MDlfVl9GTEFHX0NIRUNLX1NTX1NJR05BVFVSRQkJMHg0MDAw CisrLyogVXNlIHRydXN0ZWQgc3RvcmUgZmlyc3QgKi8KKysjZGVmaW5lIFg1MDlfVl9GTEFHX1RS VVNURURfRklSU1QJCTB4ODAwMAorIAorIAorICNkZWZpbmUgWDUwOV9WUF9GTEFHX0RFRkFVTFQJ CQkweDEKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL2Ntcy5wb2QudHJ1c3RlZC1m aXJzdCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9jbXMucG9kCistLS0gb3BlbnNzbC0xLjAuMWkv ZG9jL2FwcHMvY21zLnBvZC50cnVzdGVkLWZpcnN0CTIwMTQtMDgtMDYgMjM6MTA6NTYuMDAwMDAw MDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvY21zLnBvZAkyMDE0LTA4LTA3 IDEzOjU0OjI3Ljc1NDEwMzQxOSArMDIwMAorQEAgLTM1LDYgKzM1LDcgQEAgQjxvcGVuc3NsPiBC PGNtcz4KKyBbQjwtcHJpbnQ+XQorIFtCPC1DQWZpbGUgZmlsZT5dCisgW0I8LUNBcGF0aCBkaXI+ XQorK1tCPC10cnVzdGVkX2ZpcnN0Pl0KKyBbQjwtbWQgZGlnZXN0Pl0KKyBbQjwtW2NpcGhlcl0+ XQorIFtCPC1ub2ludGVybj5dCitAQCAtMjQzLDYgKzI0NCwxMiBAQCBCPC12ZXJpZnk+LiBUaGlz IGRpcmVjdG9yeSBtdXN0IGJlIGEgc3RhCisgaXMgYSBoYXNoIG9mIGVhY2ggc3ViamVjdCBuYW1l ICh1c2luZyBCPHg1MDkgLWhhc2g+KSBzaG91bGQgYmUgbGlua2VkCisgdG8gZWFjaCBjZXJ0aWZp Y2F0ZS4KKyAKKys9aXRlbSBCPC10cnVzdGVkX2ZpcnN0PgorKworK1VzZSBjZXJ0aWZpY2F0ZXMg aW4gQ0EgZmlsZSBvciBDQSBkaXJlY3RvcnkgYmVmb3JlIHVudHJ1c3RlZCBjZXJ0aWZpY2F0ZXMK Kytmcm9tIHRoZSBtZXNzYWdlIHdoZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluIHRvIHZlcmlm eSBjZXJ0aWZpY2F0ZXMuCisrVGhpcyBpcyBtYWlubHkgdXNlZnVsIGluIGVudmlyb25tZW50cyB3 aXRoIEJyaWRnZSBDQSBvciBDcm9zcy1DZXJ0aWZpZWQgQ0FzLgorKworID1pdGVtIEI8LW1kIGRp Z2VzdD4KKyAKKyBkaWdlc3QgYWxnb3JpdGhtIHRvIHVzZSB3aGVuIHNpZ25pbmcgb3IgcmVzaWdu aW5nLiBJZiBub3QgcHJlc2VudCB0aGVuIHRoZQorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvZG9j L2FwcHMvb2NzcC5wb2QudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9vY3Nw LnBvZAorLS0tIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL29jc3AucG9kLnRydXN0ZWQtZmlyc3QJ MjAxNC0wOC0wNyAxMzo1NDoyNy43MDgxMDMxOTEgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9k b2MvYXBwcy9vY3NwLnBvZAkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1NTEwMzQyNCArMDIwMAorQEAg LTI5LDYgKzI5LDcgQEAgQjxvcGVuc3NsPiBCPG9jc3A+CisgW0I8LXBhdGg+XQorIFtCPC1DQXBh dGggZGlyPl0KKyBbQjwtQ0FmaWxlIGZpbGU+XQorK1tCPC10cnVzdGVkX2ZpcnN0Pl0KKyBbQjwt VkFmaWxlIGZpbGU+XQorIFtCPC12YWxpZGl0eV9wZXJpb2Qgbj5dCisgW0I8LXN0YXR1c19hZ2Ug bj5dCitAQCAtMTM4LDYgKzEzOSwxMyBAQCBvciAiLyIgYnkgZGVmYXVsdC4KKyBmaWxlIG9yIHBh dGhuYW1lIGNvbnRhaW5pbmcgdHJ1c3RlZCBDQSBjZXJ0aWZpY2F0ZXMuIFRoZXNlIGFyZSB1c2Vk IHRvIHZlcmlmeQorIHRoZSBzaWduYXR1cmUgb24gdGhlIE9DU1AgcmVzcG9uc2UuCisgCisrPWl0 ZW0gQjwtdHJ1c3RlZF9maXJzdD4KKysKKytVc2UgY2VydGlmaWNhdGVzIGluIENBIGZpbGUgb3Ig Q0EgZGlyZWN0b3J5IG92ZXIgY2VydGlmaWNhdGVzIHByb3ZpZGVkCisraW4gdGhlIHJlc3BvbnNl IG9yIHJlc2lkaW5nIGluIG90aGVyIGNlcnRpZmljYXRlcyBmaWxlIHdoZW4gYnVpbGRpbmcgdGhl IHRydXN0CisrY2hhaW4gdG8gdmVyaWZ5IHJlc3BvbmRlciBjZXJ0aWZpY2F0ZS4KKytUaGlzIGlz IG1haW5seSB1c2VmdWwgaW4gZW52aXJvbm1lbnRzIHdpdGggQnJpZGdlIENBIG9yIENyb3NzLUNl cnRpZmllZCBDQXMuCisrCisgPWl0ZW0gQjwtdmVyaWZ5X290aGVyIGZpbGU+CisgCisgZmlsZSBj b250YWluaW5nIGFkZGl0aW9uYWwgY2VydGlmaWNhdGVzIHRvIHNlYXJjaCB3aGVuIGF0dGVtcHRp bmcgdG8gbG9jYXRlCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9zX2NsaWVudC5w b2QudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9zX2NsaWVudC5wb2QKKy0t LSBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9zX2NsaWVudC5wb2QudHJ1c3RlZC1maXJzdAkyMDE0 LTA4LTA3IDEzOjU0OjI3LjcyNjEwMzI4MSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2RvYy9h cHBzL3NfY2xpZW50LnBvZAkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1NTEwMzQyNCArMDIwMAorQEAg LTE5LDYgKzE5LDcgQEAgQjxvcGVuc3NsPiBCPHNfY2xpZW50PgorIFtCPC1wYXNzIGFyZz5dCisg W0I8LUNBcGF0aCBkaXJlY3Rvcnk+XQorIFtCPC1DQWZpbGUgZmlsZW5hbWU+XQorK1tCPC10cnVz dGVkX2ZpcnN0Pl0KKyBbQjwtcmVjb25uZWN0Pl0KKyBbQjwtcGF1c2U+XQorIFtCPC1zaG93Y2Vy dHM+XQorQEAgLTEyMSw3ICsxMjIsNyBAQCBhbHNvIHVzZWQgd2hlbiBidWlsZGluZyB0aGUgY2xp ZW50IGNlcnRpCisgQSBmaWxlIGNvbnRhaW5pbmcgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgdG8gdXNl IGR1cmluZyBzZXJ2ZXIgYXV0aGVudGljYXRpb24KKyBhbmQgdG8gdXNlIHdoZW4gYXR0ZW1wdGlu ZyB0byBidWlsZCB0aGUgY2xpZW50IGNlcnRpZmljYXRlIGNoYWluLgorIAorLT1pdGVtIEI8LXB1 cnBvc2UsIC1pZ25vcmVfY3JpdGljYWwsIC1pc3N1ZXJfY2hlY2tzLCAtY3JsX2NoZWNrLCAtY3Js X2NoZWNrX2FsbCwgLXBvbGljeV9jaGVjaywgLWV4dGVuZGVkX2NybCwgLXg1MDlfc3RyaWN0LCAt cG9saWN5IC1jaGVja19zc19zaWc+CisrPWl0ZW0gQjwtcHVycG9zZSwgLWlnbm9yZV9jcml0aWNh bCwgLWlzc3Vlcl9jaGVja3MsIC1jcmxfY2hlY2ssIC1jcmxfY2hlY2tfYWxsLCAtcG9saWN5X2No ZWNrLCAtZXh0ZW5kZWRfY3JsLCAteDUwOV9zdHJpY3QsIC1wb2xpY3kgLWNoZWNrX3NzX3NpZywg LXRydXN0ZWRfZmlyc3Q+CisgCisgU2V0IHZhcmlvdXMgY2VydGlmaWNhdGUgY2hhaW4gdmFsaWFk aXRpb24gb3B0aW9uLiBTZWUgdGhlCisgTDxCPHZlcmlmeT58dmVyaWZ5KDEpPiBtYW51YWwgcGFn ZSBmb3IgZGV0YWlscy4KK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3NtaW1lLnBv ZC50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3NtaW1lLnBvZAorLS0tIG9w ZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3NtaW1lLnBvZC50cnVzdGVkLWZpcnN0CTIwMTQtMDctMjIg MjE6NDM6MTEuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvc21p bWUucG9kCTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzU1MTAzNDI0ICswMjAwCitAQCAtMTUsNiArMTUs OSBAQCBCPG9wZW5zc2w+IEI8c21pbWU+CisgW0I8LXBrN291dD5dCisgW0I8LVtjaXBoZXJdPl0K KyBbQjwtaW4gZmlsZT5dCisrW0I8LUNBZmlsZSBmaWxlPl0KKytbQjwtQ0FwYXRoIGRpcj5dCisr W0I8LXRydXN0ZWRfZmlyc3Q+XQorIFtCPC1jZXJ0ZmlsZSBmaWxlPl0KKyBbQjwtc2lnbmVyIGZp bGU+XQorIFtCPC1yZWNpcCAgZmlsZT5dCitAQCAtMTQ2LDYgKzE0OSwxMiBAQCBCPC12ZXJpZnk+ LiBUaGlzIGRpcmVjdG9yeSBtdXN0IGJlIGEgc3RhCisgaXMgYSBoYXNoIG9mIGVhY2ggc3ViamVj dCBuYW1lICh1c2luZyBCPHg1MDkgLWhhc2g+KSBzaG91bGQgYmUgbGlua2VkCisgdG8gZWFjaCBj ZXJ0aWZpY2F0ZS4KKyAKKys9aXRlbSBCPC10cnVzdGVkX2ZpcnN0PgorKworK1VzZSBjZXJ0aWZp Y2F0ZXMgaW4gQ0EgZmlsZSBvciBDQSBkaXJlY3Rvcnkgb3ZlciBjZXJ0aWZpY2F0ZXMgcHJvdmlk ZWQKKytpbiB0aGUgbWVzc2FnZSB3aGVuIGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFpbiB0byB2ZXJp ZnkgYSBjZXJ0aWZpY2F0ZS4KKytUaGlzIGlzIG1haW5seSB1c2VmdWwgaW4gZW52aXJvbm1lbnRz IHdpdGggQnJpZGdlIENBIG9yIENyb3NzLUNlcnRpZmllZCBDQXMuCisrCisgPWl0ZW0gQjwtbWQg ZGlnZXN0PgorIAorIGRpZ2VzdCBhbGdvcml0aG0gdG8gdXNlIHdoZW4gc2lnbmluZyBvciByZXNp Z25pbmcuIElmIG5vdCBwcmVzZW50IHRoZW4gdGhlCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9k b2MvYXBwcy9zX3NlcnZlci5wb2QudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBw cy9zX3NlcnZlci5wb2QKKy0tLSBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9zX3NlcnZlci5wb2Qu dHJ1c3RlZC1maXJzdAkyMDE0LTA4LTA3IDEzOjU0OjI3LjcyNjEwMzI4MSArMDIwMAorKysrIG9w ZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3Nfc2VydmVyLnBvZAkyMDE0LTA4LTA3IDE1OjA3OjEyLjMx NTA5OTU3NyArMDIwMAorQEAgLTMzLDYgKzMzLDcgQEAgQjxvcGVuc3NsPiBCPHNfc2VydmVyPgor IFtCPC1zdGF0ZT5dCisgW0I8LUNBcGF0aCBkaXJlY3Rvcnk+XQorIFtCPC1DQWZpbGUgZmlsZW5h bWU+XQorK1tCPC10cnVzdGVkX2ZpcnN0Pl0KKyBbQjwtbm9jZXJ0Pl0KKyBbQjwtY2lwaGVyIGNp cGhlcmxpc3Q+XQorIFtCPC1zZXJ2ZXJwcmVmPl0KK0BAIC0xNzgsNiArMTc5LDEyIEBAIGFuZCB0 byB1c2Ugd2hlbiBhdHRlbXB0aW5nIHRvIGJ1aWxkIHRoZQorIGlzIGFsc28gdXNlZCBpbiB0aGUg bGlzdCBvZiBhY2NlcHRhYmxlIGNsaWVudCBDQXMgcGFzc2VkIHRvIHRoZSBjbGllbnQgd2hlbgor IGEgY2VydGlmaWNhdGUgaXMgcmVxdWVzdGVkLgorIAorKz1pdGVtIEI8LXRydXN0ZWRfZmlyc3Q+ CisrCisrVXNlIGNlcnRpZmljYXRlcyBpbiBDQSBmaWxlIG9yIENBIGRpcmVjdG9yeSBiZWZvcmUg b3RoZXIgY2VydGlmaWNhdGVzIAorK3doZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluIHRvIHZl cmlmeSBjbGllbnQgY2VydGlmaWNhdGVzLgorK1RoaXMgaXMgbWFpbmx5IHVzZWZ1bCBpbiBlbnZp cm9ubWVudHMgd2l0aCBCcmlkZ2UgQ0Egb3IgQ3Jvc3MtQ2VydGlmaWVkIENBcy4KKysKKyA9aXRl bSBCPC1zdGF0ZT4KKyAKKyBwcmludHMgb3V0IHRoZSBTU0wgc2Vzc2lvbiBzdGF0ZXMuCitkaWZm IC11cCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9zX3RpbWUucG9kLnRydXN0ZWQtZmlyc3Qgb3Bl bnNzbC0xLjAuMWkvZG9jL2FwcHMvc190aW1lLnBvZAorLS0tIG9wZW5zc2wtMS4wLjFpL2RvYy9h cHBzL3NfdGltZS5wb2QudHJ1c3RlZC1maXJzdAkyMDE0LTA3LTIyIDIxOjQxOjIzLjAwMDAwMDAw MCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3NfdGltZS5wb2QJMjAxNC0wOC0w NyAxMzo1NDoyNy43NTUxMDM0MjQgKzAyMDAKK0BAIC0xNCw2ICsxNCw3IEBAIEI8b3BlbnNzbD4g QjxzX3RpbWU+CisgW0I8LWtleSBmaWxlbmFtZT5dCisgW0I8LUNBcGF0aCBkaXJlY3Rvcnk+XQor IFtCPC1DQWZpbGUgZmlsZW5hbWU+XQorK1tCPC10cnVzdGVkX2ZpcnN0Pl0KKyBbQjwtcmV1c2U+ XQorIFtCPC1uZXc+XQorIFtCPC12ZXJpZnkgZGVwdGg+XQorQEAgLTc2LDYgKzc3LDEyIEBAIGFs c28gdXNlZCB3aGVuIGJ1aWxkaW5nIHRoZSBjbGllbnQgY2VydGkKKyBBIGZpbGUgY29udGFpbmlu ZyB0cnVzdGVkIGNlcnRpZmljYXRlcyB0byB1c2UgZHVyaW5nIHNlcnZlciBhdXRoZW50aWNhdGlv bgorIGFuZCB0byB1c2Ugd2hlbiBhdHRlbXB0aW5nIHRvIGJ1aWxkIHRoZSBjbGllbnQgY2VydGlm aWNhdGUgY2hhaW4uCisgCisrPWl0ZW0gQjwtdHJ1c3RlZF9maXJzdD4KKysKKytVc2UgY2VydGlm aWNhdGVzIGluIENBIGZpbGUgb3IgQ0EgZGlyZWN0b3J5IG92ZXIgdGhlIGNlcnRpZmljYXRlcyBw cm92aWRlZAorK2J5IHRoZSBzZXJ2ZXIgd2hlbiBidWlsZGluZyB0aGUgdHJ1c3QgY2hhaW4gdG8g dmVyaWZ5IHNlcnZlciBjZXJ0aWZpY2F0ZS4KKytUaGlzIGlzIG1haW5seSB1c2VmdWwgaW4gZW52 aXJvbm1lbnRzIHdpdGggQnJpZGdlIENBIG9yIENyb3NzLUNlcnRpZmllZCBDQXMuCisrCisgPWl0 ZW0gQjwtbmV3PgorIAorIHBlcmZvcm1zIHRoZSB0aW1pbmcgdGVzdCB1c2luZyBhIG5ldyBzZXNz aW9uIElEIGZvciBlYWNoIGNvbm5lY3Rpb24uCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9kb2Mv YXBwcy90cy5wb2QudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy90cy5wb2QK Ky0tLSBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy90cy5wb2QudHJ1c3RlZC1maXJzdAkyMDE0LTA3 LTIyIDIxOjQxOjIzLjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBz L3RzLnBvZAkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1NjEwMzQyOSArMDIwMAorQEAgLTQ2LDYgKzQ2 LDcgQEAgQjwtdmVyaWZ5PgorIFtCPC10b2tlbl9pbj5dCisgW0I8LUNBcGF0aD4gdHJ1c3RlZF9j ZXJ0X3BhdGhdCisgW0I8LUNBZmlsZT4gdHJ1c3RlZF9jZXJ0cy5wZW1dCisrW0I8LXRydXN0ZWRf Zmlyc3Q+XQorIFtCPC11bnRydXN0ZWQ+IGNlcnRfZmlsZS5wZW1dCisgCisgPWhlYWQxIERFU0NS SVBUSU9OCitAQCAtMzI0LDYgKzMyNSwxMiBAQCBMPHZlcmlmeSgxKXx2ZXJpZnkoMSk+IGZvciBh ZGRpdGlvbmFsIGRlCisgb3IgQjwtQ0FwYXRoPiBtdXN0IGJlIHNwZWNpZmllZC4KKyAoT3B0aW9u YWwpCisgCisrPWl0ZW0gQjwtdHJ1c3RlZF9maXJzdD4KKysKKytVc2UgY2VydGlmaWNhdGVzIGlu IENBIGZpbGUgb3IgQ0EgZGlyZWN0b3J5IGJlZm9yZSBvdGhlciBjZXJ0aWZpY2F0ZXMKKyt3aGVu IGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFpbiB0byB2ZXJpZnkgY2VydGlmaWNhdGVzLgorK1RoaXMg aXMgbWFpbmx5IHVzZWZ1bCBpbiBlbnZpcm9ubWVudHMgd2l0aCBCcmlkZ2UgQ0Egb3IgQ3Jvc3Mt Q2VydGlmaWVkIENBcy4KKysKKyA9aXRlbSBCPC11bnRydXN0ZWQ+IGNlcnRfZmlsZS5wZW0KKyAK KyBTZXQgb2YgYWRkaXRpb25hbCB1bnRydXN0ZWQgY2VydGlmaWNhdGVzIGluIFBFTSBmb3JtYXQg d2hpY2ggbWF5IGJlCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy92ZXJpZnkucG9k LnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvdmVyaWZ5LnBvZAorLS0tIG9w ZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3ZlcmlmeS5wb2QudHJ1c3RlZC1maXJzdAkyMDE0LTA4LTA2 IDIzOjEwOjU2LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3Zl cmlmeS5wb2QJMjAxNC0wOC0wNyAxMzo1NDoyNy43NTYxMDM0MjkgKzAyMDAKK0BAIC05LDYgKzks NyBAQCB2ZXJpZnkgLSBVdGlsaXR5IHRvIHZlcmlmeSBjZXJ0aWZpY2F0ZXMuCisgQjxvcGVuc3Ns PiBCPHZlcmlmeT4KKyBbQjwtQ0FwYXRoIGRpcmVjdG9yeT5dCisgW0I8LUNBZmlsZSBmaWxlPl0K KytbQjwtdHJ1c3RlZF9maXJzdD5dCisgW0I8LXB1cnBvc2UgcHVycG9zZT5dCisgW0I8LXBvbGlj eSBhcmc+XQorIFtCPC1pZ25vcmVfY3JpdGljYWw+XQorQEAgLTU2LDYgKzU3LDEyIEBAIGluIFBF TSBmb3JtYXQgY29uY2F0ZW5hdGVkIHRvZ2V0aGVyLgorIEEgZmlsZSBvZiB1bnRydXN0ZWQgY2Vy dGlmaWNhdGVzLiBUaGUgZmlsZSBzaG91bGQgY29udGFpbiBtdWx0aXBsZSBjZXJ0aWZpY2F0ZXMK KyBpbiBQRU0gZm9ybWF0IGNvbmNhdGVuYXRlZCB0b2dldGhlci4KKyAKKys9aXRlbSBCPC10cnVz dGVkX2ZpcnN0PgorKworK1VzZSBjZXJ0aWZpY2F0ZXMgaW4gQ0EgZmlsZSBvciBDQSBkaXJlY3Rv cnkgYmVmb3JlIHRoZSBjZXJ0aWZpY2F0ZXMgaW4gdGhlIHVudHJ1c3RlZAorK2ZpbGUgd2hlbiBi dWlsZGluZyB0aGUgdHJ1c3QgY2hhaW4gdG8gdmVyaWZ5IGNlcnRpZmljYXRlcy4KKytUaGlzIGlz IG1haW5seSB1c2VmdWwgaW4gZW52aXJvbm1lbnRzIHdpdGggQnJpZGdlIENBIG9yIENyb3NzLUNl cnRpZmllZCBDQXMuCisrCisgPWl0ZW0gQjwtcHVycG9zZSBwdXJwb3NlPgorIAorIFRoZSBpbnRl bmRlZCB1c2UgZm9yIHRoZSBjZXJ0aWZpY2F0ZS4gSWYgdGhpcyBvcHRpb24gaXMgbm90IHNwZWNp ZmllZCwKCmRpZmYgLS1naXQgYS9vcGVuc3NsLnNwZWMgYi9vcGVuc3NsLnNwZWMKaW5kZXggODhm Y2EzMS4uZTU4YjlhNyAxMDA2NDQKLS0tIGEvb3BlbnNzbC5zcGVjCisrKyBiL29wZW5zc2wuc3Bl YwpAQCAtMjIsOCArMjIsOCBAQAogCiBTdW1tYXJ5OiBVdGlsaXRpZXMgZnJvbSB0aGUgZ2VuZXJh bCBwdXJwb3NlIGNyeXB0b2dyYXBoeSBsaWJyYXJ5IHdpdGggVExTIGltcGxlbWVudGF0aW9uCiBO YW1lOiBvcGVuc3NsCi1WZXJzaW9uOiAxLjAuMWgKLVJlbGVhc2U6IDYlez9kaXN0fQorVmVyc2lv bjogMS4wLjFpCitSZWxlYXNlOiAxJXs/ZGlzdH0KIEVwb2NoOiAxCiAjIFdlIGhhdmUgdG8gcmVt b3ZlIGNlcnRhaW4gcGF0ZW50ZWQgYWxnb3JpdGhtcyBmcm9tIHRoZSBvcGVuc3NsIHNvdXJjZQog IyB0YXJiYWxsIHdpdGggdGhlIGhvYmJsZS1vcGVuc3NsIHNjcmlwdCB3aGljaCBpcyBpbmNsdWRl ZCBiZWxvdy4KQEAgLTU2LDEyICs1NiwxMSBAQCBQYXRjaDI0OiBvcGVuc3NsLTEuMC4xZS1pc3N1 ZXItaGFzaC5wYXRjaAogUGF0Y2gzMzogb3BlbnNzbC0xLjAuMC1iZXRhNC1jYS1kaXIucGF0Y2gK IFBhdGNoMzQ6IG9wZW5zc2wtMC45LjYteDUwOS5wYXRjaAogUGF0Y2gzNTogb3BlbnNzbC0wLjku OGotdmVyc2lvbi1hZGQtZW5naW5lcy5wYXRjaAotUGF0Y2gzNjogb3BlbnNzbC0xLjAuMGUtZG9j LW5vZW9mLnBhdGNoCiBQYXRjaDM5OiBvcGVuc3NsLTEuMC4xaC1pcHY2LWFwcHMucGF0Y2gKIFBh dGNoNDA6IG9wZW5zc2wtMS4wLjFnLWZpcHMucGF0Y2gKIFBhdGNoNDU6IG9wZW5zc2wtMS4wLjFl LWVudi16bGliLnBhdGNoCiBQYXRjaDQ3OiBvcGVuc3NsLTEuMC4wLWJldGE1LXJlYWRtZS13YXJu aW5nLnBhdGNoCi1QYXRjaDQ5OiBvcGVuc3NsLTEuMC4xYS1hbGdvLWRvYy5wYXRjaAorUGF0Y2g0 OTogb3BlbnNzbC0xLjAuMWktYWxnby1kb2MucGF0Y2gKIFBhdGNoNTA6IG9wZW5zc2wtMS4wLjEt YmV0YTItZHRsczEtYWJpLnBhdGNoCiBQYXRjaDUxOiBvcGVuc3NsLTEuMC4xZS12ZXJzaW9uLnBh dGNoCiBQYXRjaDU2OiBvcGVuc3NsLTEuMC4wYy1yc2EteDkzMS5wYXRjaApAQCAtNzMsMjIgKzcy LDE5IEBAIFBhdGNoNjY6IG9wZW5zc2wtMS4wLjEtcGtnY29uZmlnLWtyYjUucGF0Y2gKIFBhdGNo Njg6IG9wZW5zc2wtMS4wLjFlLXNlY3VyZS1nZXRlbnYucGF0Y2gKIFBhdGNoNjk6IG9wZW5zc2wt MS4wLjFjLWRoLTEwMjQucGF0Y2gKIFBhdGNoNzA6IG9wZW5zc2wtMS4wLjFlLWZpcHMtZWMucGF0 Y2gKLVBhdGNoNzE6IG9wZW5zc2wtMS4wLjFoLW1hbmZpeC5wYXRjaAorUGF0Y2g3MTogb3BlbnNz bC0xLjAuMWktbWFuZml4LnBhdGNoCiBQYXRjaDcyOiBvcGVuc3NsLTEuMC4xZS1maXBzLWN0b3Iu cGF0Y2gKIFBhdGNoNzM6IG9wZW5zc2wtMS4wLjFlLWVjYy1zdWl0ZWIucGF0Y2gKIFBhdGNoNzQ6 IG9wZW5zc2wtMS4wLjFlLW5vLW1kNS12ZXJpZnkucGF0Y2gKIFBhdGNoNzU6IG9wZW5zc2wtMS4w LjFlLWNvbXBhdC1zeW1ib2xzLnBhdGNoCi1QYXRjaDc2OiBvcGVuc3NsLTEuMC4xZy1uZXctZmlw cy1yZXFzLnBhdGNoCitQYXRjaDc2OiBvcGVuc3NsLTEuMC4xaS1uZXctZmlwcy1yZXFzLnBhdGNo CiBQYXRjaDc3OiBvcGVuc3NsLTEuMC4xZS13ZWFrLWNpcGhlcnMucGF0Y2gKLVBhdGNoNzg6IG9w ZW5zc2wtMS4wLjFnLTNkZXMtc3RyZW5ndGgucGF0Y2gKIFBhdGNoOTA6IG9wZW5zc2wtMS4wLjFl LWVuYy1mYWlsLnBhdGNoCi1QYXRjaDkxOiBvcGVuc3NsLTEuMC4xZS1zc2wyLW5vLWVjLnBhdGNo CiBQYXRjaDkyOiBvcGVuc3NsLTEuMC4xaC1zeXN0ZW0tY2lwaGVybGlzdC5wYXRjaAogUGF0Y2g5 Mzogb3BlbnNzbC0xLjAuMWgtZGlzYWJsZS1zc2x2MnYzLnBhdGNoCiAjIEJhY2twb3J0ZWQgZml4 ZXMgaW5jbHVkaW5nIHNlY3VyaXR5IGZpeGVzCiBQYXRjaDgxOiBvcGVuc3NsLTEuMC4xLWJldGEy LXBhZGxvY2s2NC5wYXRjaAotUGF0Y2g4Mjogb3BlbnNzbC0xLjAuMWgtc2Vzc2lvbi1yZXN1bXB0 aW9uLnBhdGNoCi1QYXRjaDg0OiBvcGVuc3NsLTEuMC4xZS10cnVzdGVkLWZpcnN0LnBhdGNoCitQ YXRjaDg0OiBvcGVuc3NsLTEuMC4xaS10cnVzdGVkLWZpcnN0LnBhdGNoCiBQYXRjaDg1OiBvcGVu c3NsLTEuMC4xZS1hcm0tdXNlLWVsZi1hdXh2LWNhcHMucGF0Y2gKIFBhdGNoODk6IG9wZW5zc2wt MS4wLjFlLWVwaGVtZXJhbC1rZXktc2l6ZS5wYXRjaAogCkBAIC0xODEsNyArMTc3LDYgQEAgY3Ag JXtTT1VSQ0UxMn0gJXtTT1VSQ0UxM30gY3J5cHRvL2VjLwogJXBhdGNoMzMgLXAxIC1iIC5jYS1k aXIKICVwYXRjaDM0IC1wMSAtYiAueDUwOQogJXBhdGNoMzUgLXAxIC1iIC52ZXJzaW9uLWFkZC1l bmdpbmVzCi0lcGF0Y2gzNiAtcDEgLWIgLmRvYy1ub2VvZgogJXBhdGNoMzkgLXAxIC1iIC5pcHY2 LWFwcHMKICVwYXRjaDQwIC1wMSAtYiAuZmlwcwogJXBhdGNoNDUgLXAxIC1iIC5lbnYtemxpYgpA QCAtMjA1LDE0ICsyMDAsMTEgQEAgY3AgJXtTT1VSQ0UxMn0gJXtTT1VSQ0UxM30gY3J5cHRvL2Vj LwogJXBhdGNoNzUgLXAxIC1iIC5jb21wYXQKICVwYXRjaDc2IC1wMSAtYiAuZmlwcy1yZXFzCiAl cGF0Y2g3NyAtcDEgLWIgLndlYWstY2lwaGVycwotJXBhdGNoNzggLXAxIC1iIC4zZGVzLXN0cmVu Z3RoCiAlcGF0Y2g5MCAtcDEgLWIgLmVuYy1mYWlsCi0lcGF0Y2g5MSAtcDEgLWIgLnNzbDJub2Vj CiAlcGF0Y2g5MiAtcDEgLWIgLnN5c3RlbQogJXBhdGNoOTMgLXAxIC1iIC52MnYzCiAKICVwYXRj aDgxIC1wMSAtYiAucGFkbG9jazY0Ci0lcGF0Y2g4MiAtcDEgLWIgLnJlc3VtcHRpb24KICVwYXRj aDg0IC1wMSAtYiAudHJ1c3RlZC1maXJzdAogJXBhdGNoODUgLXAxIC1iIC5hcm1jYXAKICVwYXRj aDg5IC1wMSAtYiAuZXBoZW1lcmFsCkBAIC00ODMsNiArNDc1LDEwIEBAIHJtIC1yZiAkUlBNX0JV SUxEX1JPT1QvJXtfbGliZGlyfS9maXBzY2FuaXN0ZXIuKgogJXBvc3R1biBsaWJzIC1wIC9zYmlu L2xkY29uZmlnCiAKICVjaGFuZ2Vsb2cKKyogVGh1IEF1ZyAgNyAyMDE0IFRvbcOhxaEgTXLDoXog PHRtcmF6QHJlZGhhdC5jb20+IDEuMC4xaS0xCistIG5ldyB1cHN0cmVhbSByZWxlYXNlIGZpeGlu ZyBtdWx0aXBsZSBtb2RlcmF0ZSBzZWN1cml0eSBpc3N1ZXMKKy0gZm9yIG5vdyBkaXNhYmxlIG9u bHkgU1NMdjIgYnkgZGVmYXVsdAorCiAqIEZyaSBKdWwgMTggMjAxNCBUb20gQ2FsbGF3YXkgPHNw b3RAZmVkb3JhcHJvamVjdC5vcmc+IDEuMC4xaC02CiAtIGZpeCBsaWNlbnNlIGhhbmRsaW5nCiAK CmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCA1YzM3N2ZhLi5iOTdhMjg4IDEw MDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEgKzEgQEAKLTRlYTBmMjMxYzYx YjljNjY2NDIxNzZjZGMwMzNiMzg2ICBvcGVuc3NsLTEuMC4xaC1ob2JibGVkLnRhci54egorYzE1 MmU1Mjg0NzY1YzMzMjUzMDFhNjJiMDFhNDhmYzAgIG9wZW5zc2wtMS4wLjFpLWhvYmJsZWQudGFy Lnh6Cg==