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: Alexander Bokovoy To: git-commits@fedoraproject.org Subject: [rpms/softhsm] rawhide: Skip tests using crypto unsupported in Fedora Date: Wed, 24 Jun 2026 20:19:40 GMT Message-ID: <178233238091.1.2266908336506420069.rpms-softhsm-cb46f88bfed0@fedoraproject.org> List-ID: X-Git-Repo: rpms/softhsm X-Git-Branch: rawhide X-Git-Rev: cb46f88bfed0051a9e85352a25f24350c730f527 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvc29mdGhzbQogICAgICAgICAgICBCcmFuY2ggOiByYXdoaWRlCiAgICAgICAg ICAgIENvbW1pdCA6IGNiNDZmODhiZmVkMDA1MWE5ZTg1MzUyYTI1ZjI0MzUwYzczMGY1MjcKICAg ICAgICAgICAgQXV0aG9yIDogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+ CiAgICAgICAgICAgIERhdGUgICA6IDIwMjYtMDYtMjRUMjM6MTk6MjgrMDM6MDAKICAgICAgICAg ICAgU3RhdHMgIDogKzEwNDUvLTAgaW4gMSBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0 dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvc29mdGhzbS9jL2NiNDZmODhiZmVkMDA1 MWE5ZTg1MzUyYTI1ZjI0MzUwYzczMGY1Mjc/YnJhbmNoPXJhd2hpZGUKCiAgICAgICAgICAgIExv ZzoKICAgICAgICAgICAgU2tpcCB0ZXN0cyB1c2luZyBjcnlwdG8gdW5zdXBwb3J0ZWQgaW4gRmVk b3JhCgpTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNv bT4KCi0tLQpkaWZmIC0tZ2l0IGEvc29mdGhzbS1za2lwLXVuc3VwcG9ydGVkLWNyeXB0by10ZXN0 cy5wYXRjaCBiL3NvZnRoc20tc2tpcC11bnN1cHBvcnRlZC1jcnlwdG8tdGVzdHMucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE5NzI0YgotLS0gL2Rldi9udWxsCisr KyBiL3NvZnRoc20tc2tpcC11bnN1cHBvcnRlZC1jcnlwdG8tdGVzdHMucGF0Y2gKQEAgLTAsMCAr MSwxMDQ1IEBACitkaWZmIC0tZ2l0IGEvbTQvYWN4X2NyeXB0b19iYWNrZW5kLm00IGIvbTQvYWN4 X2NyeXB0b19iYWNrZW5kLm00CitpbmRleCBmZTU5Y2E5Li5iNGU3NWI3IDEwMDY0NAorLS0tIGEv bTQvYWN4X2NyeXB0b19iYWNrZW5kLm00CisrKysgYi9tNC9hY3hfY3J5cHRvX2JhY2tlbmQubTQK K0BAIC0xMzEsNiArMTMxLDEwIEBAIEFDX0RFRlVOKFtBQ1hfQ1JZUFRPX0JBQ0tFTkRdLFsKKyAJ CQkJW0NvbXBpbGUgd2l0aG91dCBPcGVuU1NMIGVuZ2luZXMgc3VwcG9ydCBhcyBpdCBpcyBkaXNh YmxlZF0pCisgCQlmaQorIAorKwkJQUNYX09QRU5TU0xfU0hBMV9TSUdOCisrCQlBQ1hfT1BFTlNT TF9EU0EKKysJCUFDWF9PUEVOU1NMX0RFUworKworIAkJQUNfREVGSU5FX1VOUVVPVEVEKAorIAkJ CVtXSVRIX1JBV19QU1NdLAorIAkJCVsxXSwKK2RpZmYgLS1naXQgYS9tNC9hY3hfb3BlbnNzbF9k ZXMubTQgYi9tNC9hY3hfb3BlbnNzbF9kZXMubTQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwLi4yNzMyYmZmCistLS0gL2Rldi9udWxsCisrKysgYi9tNC9hY3hfb3BlbnNzbF9k ZXMubTQKK0BAIC0wLDAgKzEsNTcgQEAKKytBQ19ERUZVTihbQUNYX09QRU5TU0xfREVTXSxbCisr CUFDX01TR19DSEVDS0lORyhmb3IgT3BlblNTTCBzaW5nbGUgREVTIHN1cHBvcnQpCisrCisrCXRt cF9DUFBGTEFHUz0kQ1BQRkxBR1MKKysJdG1wX0xJQlM9JExJQlMKKysKKysJQ1BQRkxBR1M9IiRD UFBGTEFHUyAkQ1JZUFRPX0lOQ0xVREVTIgorKwlMSUJTPSIkQ1JZUFRPX0xJQlMgJExJQlMiCisr CisrCUFDX0xBTkdfUFVTSChbQ10pCisrCUFDX0NBQ0hFX1ZBTChbYWN4X2N2X2xpYl9vcGVuc3Ns X2Rlc10sWworKwkJYWN4X2N2X2xpYl9vcGVuc3NsX2Rlcz1ubworKwkJQUNfUlVOX0lGRUxTRShb CisrCQkJQUNfTEFOR19TT1VSQ0UoW1sKKysJCQkJI2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+Cisr CQkJCWludCBtYWluKCkKKysJCQkJeworKwkJCQkJRVZQX0NJUEhFUl9DVFggKmN0eDsKKysJCQkJ CWNvbnN0IEVWUF9DSVBIRVIgKmNpcGhlcjsKKysJCQkJCXVuc2lnbmVkIGNoYXIga2V5WzhdID0g ezEsMiwzLDQsNSw2LDcsOH07CisrCQkJCQl1bnNpZ25lZCBjaGFyIGl2WzhdID0gezB9OworKwor KwkJCQkJY2lwaGVyID0gRVZQX2Rlc19jYmMoKTsKKysJCQkJCWlmIChjaXBoZXIgPT0gTlVMTCkg cmV0dXJuIDE7CisrCisrCQkJCQljdHggPSBFVlBfQ0lQSEVSX0NUWF9uZXcoKTsKKysJCQkJCWlm IChjdHggPT0gTlVMTCkgcmV0dXJuIDE7CisrCQkJCQlpZiAoRVZQX0VuY3J5cHRJbml0X2V4KGN0 eCwgY2lwaGVyLAorKwkJCQkJCU5VTEwsIGtleSwgaXYpICE9IDEpIHsKKysJCQkJCQlFVlBfQ0lQ SEVSX0NUWF9mcmVlKGN0eCk7CisrCQkJCQkJcmV0dXJuIDE7CisrCQkJCQl9CisrCQkJCQlFVlBf Q0lQSEVSX0NUWF9mcmVlKGN0eCk7CisrCQkJCQlyZXR1cm4gMDsKKysJCQkJfQorKwkJCV1dKQor KwkJXSxbCisrCQkJQUNfTVNHX1JFU1VMVChbRm91bmQgc2luZ2xlIERFUyBzdXBwb3J0XSkKKysJ CQlhY3hfY3ZfbGliX29wZW5zc2xfZGVzPXllcworKwkJXSxbCisrCQkJQUNfTVNHX1JFU1VMVChb c2luZ2xlIERFUyBkaXNhYmxlZF0pCisrCQkJYWN4X2N2X2xpYl9vcGVuc3NsX2Rlcz1ubworKwkJ XSxbCisrCQkJQUNfTVNHX1dBUk4oW0Nhbm5vdCB0ZXN0IHNpbmdsZSBERVMgc3VwcG9ydCwgYXNz dW1pbmcgc3VwcG9ydGVkXSkKKysJCQlhY3hfY3ZfbGliX29wZW5zc2xfZGVzPXllcworKwkJXSkK KysJXSkKKysJQUNfTEFOR19QT1AoW0NdKQorKworKwlpZiB0ZXN0ICJ4JGFjeF9jdl9saWJfb3Bl bnNzbF9kZXMiID0geHllczsgdGhlbgorKwkJQUNfREVGSU5FKFtXSVRIX0RFU10sIFsxXSwKKysJ CQlbU2luZ2xlIERFUyBpcyBzdXBwb3J0ZWQgYnkgdGhlIGNyeXB0byBsaWJyYXJ5XSkKKysJZmkK KysKKysJQ1BQRkxBR1M9JHRtcF9DUFBGTEFHUworKwlMSUJTPSR0bXBfTElCUworK10pCitkaWZm IC0tZ2l0IGEvbTQvYWN4X29wZW5zc2xfZHNhLm00IGIvbTQvYWN4X29wZW5zc2xfZHNhLm00Citu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMTMzMjhjZQorLS0tIC9kZXYvbnVs bAorKysrIGIvbTQvYWN4X29wZW5zc2xfZHNhLm00CitAQCAtMCwwICsxLDcyIEBACisrQUNfREVG VU4oW0FDWF9PUEVOU1NMX0RTQV0sWworKwlBQ19NU0dfQ0hFQ0tJTkcoZm9yIE9wZW5TU0wgRFNB IHN1cHBvcnQpCisrCisrCXRtcF9DUFBGTEFHUz0kQ1BQRkxBR1MKKysJdG1wX0xJQlM9JExJQlMK KysKKysJQ1BQRkxBR1M9IiRDUFBGTEFHUyAkQ1JZUFRPX0lOQ0xVREVTIgorKwlMSUJTPSIkQ1JZ UFRPX0xJQlMgJExJQlMiCisrCisrCUFDX0xBTkdfUFVTSChbQ10pCisrCUFDX0NBQ0hFX1ZBTChb YWN4X2N2X2xpYl9vcGVuc3NsX2RzYV0sWworKwkJYWN4X2N2X2xpYl9vcGVuc3NsX2RzYT1ubwor KwkJQUNfUlVOX0lGRUxTRShbCisrCQkJQUNfTEFOR19TT1VSQ0UoW1sKKysJCQkJI2luY2x1ZGUg PG9wZW5zc2wvZXZwLmg+CisrCQkJCSNpbmNsdWRlIDxvcGVuc3NsL2RzYS5oPgorKwkJCQlpbnQg bWFpbigpCisrCQkJCXsKKysJCQkJCUVWUF9QS0VZX0NUWCAqcGN0eDsKKysJCQkJCUVWUF9QS0VZ ICpwYXJhbXMgPSBOVUxMOworKwkJCQkJRVZQX1BLRVlfQ1RYICpnY3R4OworKwkJCQkJRVZQX1BL RVkgKmtleSA9IE5VTEw7CisrCisrCQkJCQlwY3R4ID0gRVZQX1BLRVlfQ1RYX25ld19pZChFVlBf UEtFWV9EU0EsIE5VTEwpOworKwkJCQkJaWYgKHBjdHggPT0gTlVMTCkgcmV0dXJuIDE7CisrCQkJ CQlpZiAoRVZQX1BLRVlfcGFyYW1nZW5faW5pdChwY3R4KSA8PSAwKQorKwkJCQkJCXJldHVybiAx OworKwkJCQkJaWYgKEVWUF9QS0VZX0NUWF9zZXRfZHNhX3BhcmFtZ2VuX2JpdHMocGN0eCwKKysJ CQkJCQkxMDI0KSA8PSAwKQorKwkJCQkJCXJldHVybiAxOworKwkJCQkJaWYgKEVWUF9QS0VZX3Bh cmFtZ2VuKHBjdHgsICZwYXJhbXMpIDw9IDApCisrCQkJCQkJcmV0dXJuIDE7CisrCQkJCQlFVlBf UEtFWV9DVFhfZnJlZShwY3R4KTsKKysKKysJCQkJCWdjdHggPSBFVlBfUEtFWV9DVFhfbmV3KHBh cmFtcywgTlVMTCk7CisrCQkJCQlpZiAoZ2N0eCA9PSBOVUxMKSB7CisrCQkJCQkJRVZQX1BLRVlf ZnJlZShwYXJhbXMpOworKwkJCQkJCXJldHVybiAxOworKwkJCQkJfQorKwkJCQkJaWYgKEVWUF9Q S0VZX2tleWdlbl9pbml0KGdjdHgpIDw9IDAgfHwKKysJCQkJCSAgICBFVlBfUEtFWV9rZXlnZW4o Z2N0eCwgJmtleSkgPD0gMCkgeworKwkJCQkJCUVWUF9QS0VZX0NUWF9mcmVlKGdjdHgpOworKwkJ CQkJCUVWUF9QS0VZX2ZyZWUocGFyYW1zKTsKKysJCQkJCQlyZXR1cm4gMTsKKysJCQkJCX0KKysJ CQkJCUVWUF9QS0VZX0NUWF9mcmVlKGdjdHgpOworKwkJCQkJRVZQX1BLRVlfZnJlZShrZXkpOwor KwkJCQkJRVZQX1BLRVlfZnJlZShwYXJhbXMpOworKwkJCQkJcmV0dXJuIDA7CisrCQkJCX0KKysJ CQldXSkKKysJCV0sWworKwkJCUFDX01TR19SRVNVTFQoW0ZvdW5kIERTQSBzdXBwb3J0XSkKKysJ CQlhY3hfY3ZfbGliX29wZW5zc2xfZHNhPXllcworKwkJXSxbCisrCQkJQUNfTVNHX1JFU1VMVChb RFNBIGRpc2FibGVkXSkKKysJCQlhY3hfY3ZfbGliX29wZW5zc2xfZHNhPW5vCisrCQldLFsKKysJ CQlBQ19NU0dfV0FSTihbQ2Fubm90IHRlc3QgRFNBIHN1cHBvcnQsIGFzc3VtaW5nIHN1cHBvcnRl ZF0pCisrCQkJYWN4X2N2X2xpYl9vcGVuc3NsX2RzYT15ZXMKKysJCV0pCisrCV0pCisrCUFDX0xB TkdfUE9QKFtDXSkKKysKKysJaWYgdGVzdCAieCRhY3hfY3ZfbGliX29wZW5zc2xfZHNhIiA9IHh5 ZXM7IHRoZW4KKysJCUFDX0RFRklORShbV0lUSF9EU0FdLCBbMV0sCisrCQkJW0RTQSBpcyBzdXBw b3J0ZWQgYnkgdGhlIGNyeXB0byBsaWJyYXJ5XSkKKysJZmkKKysKKysJQ1BQRkxBR1M9JHRtcF9D UFBGTEFHUworKwlMSUJTPSR0bXBfTElCUworK10pCitkaWZmIC0tZ2l0IGEvbTQvYWN4X29wZW5z c2xfc2hhMV9zaWduLm00IGIvbTQvYWN4X29wZW5zc2xfc2hhMV9zaWduLm00CituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMDllYjY0MworLS0tIC9kZXYvbnVsbAorKysrIGIv bTQvYWN4X29wZW5zc2xfc2hhMV9zaWduLm00CitAQCAtMCwwICsxLDcwIEBACisrQUNfREVGVU4o W0FDWF9PUEVOU1NMX1NIQTFfU0lHTl0sWworKwlBQ19NU0dfQ0hFQ0tJTkcoZm9yIE9wZW5TU0wg U0hBLTEgc2lnbmluZyBzdXBwb3J0KQorKworKwl0bXBfQ1BQRkxBR1M9JENQUEZMQUdTCisrCXRt cF9MSUJTPSRMSUJTCisrCisrCUNQUEZMQUdTPSIkQ1BQRkxBR1MgJENSWVBUT19JTkNMVURFUyIK KysJTElCUz0iJENSWVBUT19MSUJTICRMSUJTIgorKworKwlBQ19MQU5HX1BVU0goW0NdKQorKwlB Q19DQUNIRV9WQUwoW2FjeF9jdl9saWJfb3BlbnNzbF9zaGExX3NpZ25dLFsKKysJCWFjeF9jdl9s aWJfb3BlbnNzbF9zaGExX3NpZ249bm8KKysJCUFDX1JVTl9JRkVMU0UoWworKwkJCUFDX0xBTkdf U09VUkNFKFtbCisrCQkJCSNpbmNsdWRlIDxvcGVuc3NsL2V2cC5oPgorKwkJCQkjaW5jbHVkZSA8 b3BlbnNzbC9yc2EuaD4KKysJCQkJaW50IG1haW4oKQorKwkJCQl7CisrCQkJCQlFVlBfUEtFWV9D VFggKmdjdHg7CisrCQkJCQlFVlBfUEtFWSAqa2V5ID0gTlVMTDsKKysJCQkJCUVWUF9QS0VZX0NU WCAqY3R4OworKworKwkJCQkJZ2N0eCA9IEVWUF9QS0VZX0NUWF9uZXdfaWQoRVZQX1BLRVlfUlNB LCBOVUxMKTsKKysJCQkJCWlmIChnY3R4ID09IE5VTEwpIHJldHVybiAxOworKwkJCQkJaWYgKEVW UF9QS0VZX2tleWdlbl9pbml0KGdjdHgpIDw9IDApIHJldHVybiAxOworKwkJCQkJaWYgKEVWUF9Q S0VZX0NUWF9zZXRfcnNhX2tleWdlbl9iaXRzKGdjdHgsIDIwNDgpIDw9IDApCisrCQkJCQkJcmV0 dXJuIDE7CisrCQkJCQlpZiAoRVZQX1BLRVlfa2V5Z2VuKGdjdHgsICZrZXkpIDw9IDApIHJldHVy biAxOworKwkJCQkJRVZQX1BLRVlfQ1RYX2ZyZWUoZ2N0eCk7CisrCisrCQkJCQljdHggPSBFVlBf UEtFWV9DVFhfbmV3KGtleSwgTlVMTCk7CisrCQkJCQlpZiAoY3R4ID09IE5VTEwpIHsKKysJCQkJ CQlFVlBfUEtFWV9mcmVlKGtleSk7CisrCQkJCQkJcmV0dXJuIDE7CisrCQkJCQl9CisrCQkJCQlp ZiAoRVZQX1BLRVlfc2lnbl9pbml0KGN0eCkgPD0gMCB8fAorKwkJCQkJICAgIEVWUF9QS0VZX0NU WF9zZXRfcnNhX3BhZGRpbmcoY3R4LAorKwkJCQkJCVJTQV9QS0NTMV9QQURESU5HKSA8PSAwIHx8 CisrCQkJCQkgICAgRVZQX1BLRVlfQ1RYX3NldF9zaWduYXR1cmVfbWQoY3R4LAorKwkJCQkJCUVW UF9zaGExKCkpIDw9IDApIHsKKysJCQkJCQlFVlBfUEtFWV9DVFhfZnJlZShjdHgpOworKwkJCQkJ CUVWUF9QS0VZX2ZyZWUoa2V5KTsKKysJCQkJCQlyZXR1cm4gMTsKKysJCQkJCX0KKysJCQkJCUVW UF9QS0VZX0NUWF9mcmVlKGN0eCk7CisrCQkJCQlFVlBfUEtFWV9mcmVlKGtleSk7CisrCQkJCQly ZXR1cm4gMDsKKysJCQkJfQorKwkJCV1dKQorKwkJXSxbCisrCQkJQUNfTVNHX1JFU1VMVChbRm91 bmQgU0hBLTEgc2lnbmluZyBzdXBwb3J0XSkKKysJCQlhY3hfY3ZfbGliX29wZW5zc2xfc2hhMV9z aWduPXllcworKwkJXSxbCisrCQkJQUNfTVNHX1JFU1VMVChbU0hBLTEgc2lnbmluZyBkaXNhYmxl ZF0pCisrCQkJYWN4X2N2X2xpYl9vcGVuc3NsX3NoYTFfc2lnbj1ubworKwkJXSxbCisrCQkJQUNf TVNHX1dBUk4oW0Nhbm5vdCB0ZXN0IFNIQS0xIHNpZ25pbmcsIGFzc3VtaW5nIHN1cHBvcnRlZF0p CisrCQkJYWN4X2N2X2xpYl9vcGVuc3NsX3NoYTFfc2lnbj15ZXMKKysJCV0pCisrCV0pCisrCUFD X0xBTkdfUE9QKFtDXSkKKysKKysJaWYgdGVzdCAieCRhY3hfY3ZfbGliX29wZW5zc2xfc2hhMV9z aWduIiA9IHh5ZXM7IHRoZW4KKysJCUFDX0RFRklORShbV0lUSF9TSEExX1NJR05dLCBbMV0sCisr CQkJW1NIQS0xIHNpZ25pbmcgaXMgc3VwcG9ydGVkIGJ5IHRoZSBjcnlwdG8gbGlicmFyeV0pCisr CWZpCisrCisrCUNQUEZMQUdTPSR0bXBfQ1BQRkxBR1MKKysJTElCUz0kdG1wX0xJQlMKKytdKQor ZGlmZiAtLWdpdCBhL3NyYy9saWIvY3J5cHRvL3Rlc3QvREVTVGVzdHMuY3BwIGIvc3JjL2xpYi9j cnlwdG8vdGVzdC9ERVNUZXN0cy5jcHAKK2luZGV4IGJjYjFjNmIuLjBkZTU0YTIgMTAwNjQ0Cist LS0gYS9zcmMvbGliL2NyeXB0by90ZXN0L0RFU1Rlc3RzLmNwcAorKysrIGIvc3JjL2xpYi9jcnlw dG8vdGVzdC9ERVNUZXN0cy5jcHAKK0BAIC0zNSw2ICszNSw3IEBACisgI2luY2x1ZGUgIkRFU1Rl c3RzLmgiCisgI2luY2x1ZGUgIkNyeXB0b0ZhY3RvcnkuaCIKKyAjaW5jbHVkZSAiREVTS2V5Lmgi CisrI2luY2x1ZGUgImNvbmZpZy5oIgorICNpbmNsdWRlIDxzdGRpby5oPgorIAorIENQUFVOSVRf VEVTVF9TVUlURV9SRUdJU1RSQVRJT04oREVTVGVzdHMpOworQEAgLTY2LDcgKzY3LDcgQEAgdm9p ZCBERVNUZXN0czo6dGVzdEJsb2NrU2l6ZSgpCisgCisgdm9pZCBERVNUZXN0czo6dGVzdENCQygp CisgeworLSNpZm5kZWYgV0lUSF9GSVBTCisrI2lmICFkZWZpbmVkKFdJVEhfRklQUykgJiYgZGVm aW5lZChXSVRIX0RFUykKKyAJY2hhciB0ZXN0S2V5czU2W11bMTddID0KKyAJeworIAkJIjAwMDAw MDAwMDAwMDAwMDAiLAorQEAgLTc1LDcgKzc2LDkgQEAgdm9pZCBERVNUZXN0czo6dGVzdENCQygp CisgCQkiNDY5ODQzNjc5NDIzNjg3MSIsCisgCQkiMDk0MDI3ODk0NzIzOTU3MiIKKyAJfTsKKysj ZW5kaWYKKyAKKysjaWZuZGVmIFdJVEhfRklQUworIAljaGFyIHRlc3RLZXlzMTEyW11bMzNdID0K KyAJeworIAkJIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwKK0BAIC0yMjcsMTgg KzIzMCwyMiBAQCB2b2lkIERFU1Rlc3RzOjp0ZXN0Q0JDKCkKKyAKKyAJZm9yIChpbnQgaSA9IDA7 IGkgPCA1OyBpKyspCisgCXsKKy0jaWZuZGVmIFdJVEhfRklQUworKyNpZiAhZGVmaW5lZChXSVRI X0ZJUFMpICYmIGRlZmluZWQoV0lUSF9ERVMpCisgCQlCeXRlU3RyaW5nIGtleURhdGE1Nih0ZXN0 S2V5czU2W2ldKTsKKyAJCUNQUFVOSVRfQVNTRVJUKGtleURhdGE1Ni5zaXplKCkgPT0gOCk7Cisr I2VuZGlmCisrI2lmbmRlZiBXSVRIX0ZJUFMKKyAJCUJ5dGVTdHJpbmcga2V5RGF0YTExMih0ZXN0 S2V5czExMltpXSk7CisgCQlDUFBVTklUX0FTU0VSVChrZXlEYXRhMTEyLnNpemUoKSA9PSAxNik7 CisgI2VuZGlmCisgCQlCeXRlU3RyaW5nIGtleURhdGExNjgodGVzdEtleXMxNjhbaV0pOworIAkJ Q1BQVU5JVF9BU1NFUlQoa2V5RGF0YTE2OC5zaXplKCkgPT0gMjQpOworIAorLSNpZm5kZWYgV0lU SF9GSVBTCisrI2lmICFkZWZpbmVkKFdJVEhfRklQUykgJiYgZGVmaW5lZChXSVRIX0RFUykKKyAJ CURFU0tleSBkZXNLZXk1Nig1Nik7CisgCQlDUFBVTklUX0FTU0VSVChkZXNLZXk1Ni5zZXRLZXlC aXRzKGtleURhdGE1NikpOworKyNlbmRpZgorKyNpZm5kZWYgV0lUSF9GSVBTCisgCQlERVNLZXkg ZGVzS2V5MTEyKDExMik7CisgCQlDUFBVTklUX0FTU0VSVChkZXNLZXkxMTIuc2V0S2V5Qml0cyhr ZXlEYXRhMTEyKSk7CisgI2VuZGlmCitAQCAtMjUzLDcgKzI2MCw3IEBAIHZvaWQgREVTVGVzdHM6 OnRlc3RDQkMoKQorIAkJCUJ5dGVTdHJpbmcgY2lwaGVyVGV4dDsKKyAJCQlCeXRlU3RyaW5nIHNo c21DaXBoZXJUZXh0LCBPQjsKKyAKKy0jaWZuZGVmIFdJVEhfRklQUworKyNpZiAhZGVmaW5lZChX SVRIX0ZJUFMpICYmIGRlZmluZWQoV0lUSF9ERVMpCisgCQkJLy8gVGVzdCA1Ni1iaXQga2V5Cisg CQkJY2lwaGVyVGV4dCA9IEJ5dGVTdHJpbmcodGVzdFJlc3VsdFtpXVtqXVswXSk7CisgCitAQCAt MjgwLDcgKzI4Nyw5IEBAIHZvaWQgREVTVGVzdHM6OnRlc3RDQkMoKQorIAkJCXNoc21QbGFpblRl eHQgKz0gT0I7CisgCisgCQkJQ1BQVU5JVF9BU1NFUlQoc2hzbVBsYWluVGV4dCA9PSBwbGFpblRl eHQpOworKyNlbmRpZgorIAorKyNpZm5kZWYgV0lUSF9GSVBTCisgCQkJLy8gVGVzdCAxMTItYml0 IGtleQorIAkJCWNpcGhlclRleHQgPSBCeXRlU3RyaW5nKHRlc3RSZXN1bHRbaV1bal1bMV0pOwor IAorQEAgLTM0MSw3ICszNTAsNyBAQCB2b2lkIERFU1Rlc3RzOjp0ZXN0Q0JDKCkKKyAKKyB2b2lk IERFU1Rlc3RzOjp0ZXN0RUNCKCkKKyB7CistI2lmbmRlZiBXSVRIX0ZJUFMKKysjaWYgIWRlZmlu ZWQoV0lUSF9GSVBTKSAmJiBkZWZpbmVkKFdJVEhfREVTKQorIAljaGFyIHRlc3RLZXlzNTZbXVsx N10gPQorIAl7CisgCQkiMDAwMDAwMDAwMDAwMDAwMCIsCitAQCAtMzUwLDcgKzM1OSw5IEBAIHZv aWQgREVTVGVzdHM6OnRlc3RFQ0IoKQorIAkJIjQ2OTg0MzY3OTQyMzY4NzEiLAorIAkJIjA5NDAy Nzg5NDcyMzk1NzIiCisgCX07CisrI2VuZGlmCisgCisrI2lmbmRlZiBXSVRIX0ZJUFMKKyAJY2hh ciB0ZXN0S2V5czExMltdWzMzXSA9CisgCXsKKyAJCSIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMCIsCitAQCAtNTAyLDE4ICs1MTMsMjIgQEAgdm9pZCBERVNUZXN0czo6dGVzdEVDQigp CisgCisgCWZvciAoaW50IGkgPSAwOyBpIDwgNTsgaSsrKQorIAl7CistI2lmbmRlZiBXSVRIX0ZJ UFMKKysjaWYgIWRlZmluZWQoV0lUSF9GSVBTKSAmJiBkZWZpbmVkKFdJVEhfREVTKQorIAkJQnl0 ZVN0cmluZyBrZXlEYXRhNTYodGVzdEtleXM1NltpXSk7CisgCQlDUFBVTklUX0FTU0VSVChrZXlE YXRhNTYuc2l6ZSgpID09IDgpOworKyNlbmRpZgorKyNpZm5kZWYgV0lUSF9GSVBTCisgCQlCeXRl U3RyaW5nIGtleURhdGExMTIodGVzdEtleXMxMTJbaV0pOworIAkJQ1BQVU5JVF9BU1NFUlQoa2V5 RGF0YTExMi5zaXplKCkgPT0gMTYpOworICNlbmRpZgorIAkJQnl0ZVN0cmluZyBrZXlEYXRhMTY4 KHRlc3RLZXlzMTY4W2ldKTsKKyAJCUNQUFVOSVRfQVNTRVJUKGtleURhdGExNjguc2l6ZSgpID09 IDI0KTsKKyAKKy0jaWZuZGVmIFdJVEhfRklQUworKyNpZiAhZGVmaW5lZChXSVRIX0ZJUFMpICYm IGRlZmluZWQoV0lUSF9ERVMpCisgCQlERVNLZXkgZGVzS2V5NTYoNTYpOworIAkJQ1BQVU5JVF9B U1NFUlQoZGVzS2V5NTYuc2V0S2V5Qml0cyhrZXlEYXRhNTYpKTsKKysjZW5kaWYKKysjaWZuZGVm IFdJVEhfRklQUworIAkJREVTS2V5IGRlc0tleTExMigxMTIpOworIAkJQ1BQVU5JVF9BU1NFUlQo ZGVzS2V5MTEyLnNldEtleUJpdHMoa2V5RGF0YTExMikpOworICNlbmRpZgorQEAgLTUyOCw3ICs1 NDMsNyBAQCB2b2lkIERFU1Rlc3RzOjp0ZXN0RUNCKCkKKyAJCQlCeXRlU3RyaW5nIGNpcGhlclRl eHQ7CisgCQkJQnl0ZVN0cmluZyBzaHNtQ2lwaGVyVGV4dCwgT0I7CisgCistI2lmbmRlZiBXSVRI X0ZJUFMKKysjaWYgIWRlZmluZWQoV0lUSF9GSVBTKSAmJiBkZWZpbmVkKFdJVEhfREVTKQorIAkJ CS8vIFRlc3QgNTYtYml0IGtleQorIAkJCWNpcGhlclRleHQgPSBCeXRlU3RyaW5nKHRlc3RSZXN1 bHRbaV1bal1bMF0pOworIAorQEAgLTU1NSw3ICs1NzAsOSBAQCB2b2lkIERFU1Rlc3RzOjp0ZXN0 RUNCKCkKKyAJCQlzaHNtUGxhaW5UZXh0ICs9IE9COworIAorIAkJCUNQUFVOSVRfQVNTRVJUKHNo c21QbGFpblRleHQgPT0gcGxhaW5UZXh0KTsKKysjZW5kaWYKKyAKKysjaWZuZGVmIFdJVEhfRklQ UworIAkJCS8vIFRlc3QgMTEyLWJpdCBrZXkKKyAJCQljaXBoZXJUZXh0ID0gQnl0ZVN0cmluZyh0 ZXN0UmVzdWx0W2ldW2pdWzFdKTsKKyAKK0BAIC02MTYsNyArNjMzLDcgQEAgdm9pZCBERVNUZXN0 czo6dGVzdEVDQigpCisgCisgdm9pZCBERVNUZXN0czo6dGVzdE9GQigpCisgeworLSNpZm5kZWYg V0lUSF9GSVBTCisrI2lmICFkZWZpbmVkKFdJVEhfRklQUykgJiYgZGVmaW5lZChXSVRIX0RFUykK KyAJY2hhciB0ZXN0S2V5czU2W11bMTddID0KKyAJeworIAkJIjAwMDAwMDAwMDAwMDAwMDAiLAor QEAgLTYyNSw3ICs2NDIsOSBAQCB2b2lkIERFU1Rlc3RzOjp0ZXN0T0ZCKCkKKyAJCSI0Njk4NDM2 Nzk0MjM2ODcxIiwKKyAJCSIwOTQwMjc4OTQ3MjM5NTcyIgorIAl9OworKyNlbmRpZgorIAorKyNp Zm5kZWYgV0lUSF9GSVBTCisgCWNoYXIgdGVzdEtleXMxMTJbXVszM10gPQorIAl7CisgCQkiMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLAorQEAgLTc3NywxOCArNzk2LDIyIEBAIHZv aWQgREVTVGVzdHM6OnRlc3RPRkIoKQorIAorIAlmb3IgKGludCBpID0gMDsgaSA8IDU7IGkrKykK KyAJeworLSNpZm5kZWYgV0lUSF9GSVBTCisrI2lmICFkZWZpbmVkKFdJVEhfRklQUykgJiYgZGVm aW5lZChXSVRIX0RFUykKKyAJCUJ5dGVTdHJpbmcga2V5RGF0YTU2KHRlc3RLZXlzNTZbaV0pOwor IAkJQ1BQVU5JVF9BU1NFUlQoa2V5RGF0YTU2LnNpemUoKSA9PSA4KTsKKysjZW5kaWYKKysjaWZu ZGVmIFdJVEhfRklQUworIAkJQnl0ZVN0cmluZyBrZXlEYXRhMTEyKHRlc3RLZXlzMTEyW2ldKTsK KyAJCUNQUFVOSVRfQVNTRVJUKGtleURhdGExMTIuc2l6ZSgpID09IDE2KTsKKyAjZW5kaWYKKyAJ CUJ5dGVTdHJpbmcga2V5RGF0YTE2OCh0ZXN0S2V5czE2OFtpXSk7CisgCQlDUFBVTklUX0FTU0VS VChrZXlEYXRhMTY4LnNpemUoKSA9PSAyNCk7CisgCistI2lmbmRlZiBXSVRIX0ZJUFMKKysjaWYg IWRlZmluZWQoV0lUSF9GSVBTKSAmJiBkZWZpbmVkKFdJVEhfREVTKQorIAkJREVTS2V5IGRlc0tl eTU2KDU2KTsKKyAJCUNQUFVOSVRfQVNTRVJUKGRlc0tleTU2LnNldEtleUJpdHMoa2V5RGF0YTU2 KSk7CisrI2VuZGlmCisrI2lmbmRlZiBXSVRIX0ZJUFMKKyAJCURFU0tleSBkZXNLZXkxMTIoMTEy KTsKKyAJCUNQUFVOSVRfQVNTRVJUKGRlc0tleTExMi5zZXRLZXlCaXRzKGtleURhdGExMTIpKTsK KyAjZW5kaWYKK0BAIC04MDMsNyArODI2LDcgQEAgdm9pZCBERVNUZXN0czo6dGVzdE9GQigpCisg CQkJQnl0ZVN0cmluZyBjaXBoZXJUZXh0OworIAkJCUJ5dGVTdHJpbmcgc2hzbUNpcGhlclRleHQs IE9COworIAorLSNpZm5kZWYgV0lUSF9GSVBTCisrI2lmICFkZWZpbmVkKFdJVEhfRklQUykgJiYg ZGVmaW5lZChXSVRIX0RFUykKKyAJCQkvLyBUZXN0IDU2LWJpdCBrZXkKKyAJCQljaXBoZXJUZXh0 ID0gQnl0ZVN0cmluZyh0ZXN0UmVzdWx0W2ldW2pdWzBdKTsKKyAKK0BAIC04MzAsNyArODUzLDkg QEAgdm9pZCBERVNUZXN0czo6dGVzdE9GQigpCisgCQkJc2hzbVBsYWluVGV4dCArPSBPQjsKKyAK KyAJCQlDUFBVTklUX0FTU0VSVChzaHNtUGxhaW5UZXh0ID09IHBsYWluVGV4dCk7CisrI2VuZGlm CisgCisrI2lmbmRlZiBXSVRIX0ZJUFMKKyAJCQkvLyBUZXN0IDExMi1iaXQga2V5CisgCQkJY2lw aGVyVGV4dCA9IEJ5dGVTdHJpbmcodGVzdFJlc3VsdFtpXVtqXVsxXSk7CisgCitAQCAtODkxLDcg KzkxNiw3IEBAIHZvaWQgREVTVGVzdHM6OnRlc3RPRkIoKQorIAorIHZvaWQgREVTVGVzdHM6OnRl c3RDRkIoKQorIHsKKy0jaWZuZGVmIFdJVEhfRklQUworKyNpZiAhZGVmaW5lZChXSVRIX0ZJUFMp ICYmIGRlZmluZWQoV0lUSF9ERVMpCisgCWNoYXIgdGVzdEtleXM1NltdWzE3XSA9CisgCXsKKyAJ CSIwMDAwMDAwMDAwMDAwMDAwIiwKK0BAIC05MDAsNyArOTI1LDkgQEAgdm9pZCBERVNUZXN0czo6 dGVzdENGQigpCisgCQkiNDY5ODQzNjc5NDIzNjg3MSIsCisgCQkiMDk0MDI3ODk0NzIzOTU3MiIK KyAJfTsKKysjZW5kaWYKKyAKKysjaWZuZGVmIFdJVEhfRklQUworIAljaGFyIHRlc3RLZXlzMTEy W11bMzNdID0KKyAJeworIAkJIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwKK0BA IC0xMDUxLDE4ICsxMDc4LDIyIEBAIHZvaWQgREVTVGVzdHM6OnRlc3RDRkIoKQorIAorIAlmb3Ig KGludCBpID0gMDsgaSA8IDU7IGkrKykKKyAJeworLSNpZm5kZWYgV0lUSF9GSVBTCisrI2lmICFk ZWZpbmVkKFdJVEhfRklQUykgJiYgZGVmaW5lZChXSVRIX0RFUykKKyAJCUJ5dGVTdHJpbmcga2V5 RGF0YTU2KHRlc3RLZXlzNTZbaV0pOworIAkJQ1BQVU5JVF9BU1NFUlQoa2V5RGF0YTU2LnNpemUo KSA9PSA4KTsKKysjZW5kaWYKKysjaWZuZGVmIFdJVEhfRklQUworIAkJQnl0ZVN0cmluZyBrZXlE YXRhMTEyKHRlc3RLZXlzMTEyW2ldKTsKKyAJCUNQUFVOSVRfQVNTRVJUKGtleURhdGExMTIuc2l6 ZSgpID09IDE2KTsKKyAjZW5kaWYKKyAJCUJ5dGVTdHJpbmcga2V5RGF0YTE2OCh0ZXN0S2V5czE2 OFtpXSk7CisgCQlDUFBVTklUX0FTU0VSVChrZXlEYXRhMTY4LnNpemUoKSA9PSAyNCk7CisgCist I2lmbmRlZiBXSVRIX0ZJUFMKKysjaWYgIWRlZmluZWQoV0lUSF9GSVBTKSAmJiBkZWZpbmVkKFdJ VEhfREVTKQorIAkJREVTS2V5IGRlc0tleTU2KDU2KTsKKyAJCUNQUFVOSVRfQVNTRVJUKGRlc0tl eTU2LnNldEtleUJpdHMoa2V5RGF0YTU2KSk7CisrI2VuZGlmCisrI2lmbmRlZiBXSVRIX0ZJUFMK KyAJCURFU0tleSBkZXNLZXkxMTIoMTEyKTsKKyAJCUNQUFVOSVRfQVNTRVJUKGRlc0tleTExMi5z ZXRLZXlCaXRzKGtleURhdGExMTIpKTsKKyAjZW5kaWYKK0BAIC0xMDc3LDcgKzExMDgsNyBAQCB2 b2lkIERFU1Rlc3RzOjp0ZXN0Q0ZCKCkKKyAJCQlCeXRlU3RyaW5nIGNpcGhlclRleHQ7CisgCQkJ Qnl0ZVN0cmluZyBzaHNtQ2lwaGVyVGV4dCwgT0I7CisgCistI2lmbmRlZiBXSVRIX0ZJUFMKKysj aWYgIWRlZmluZWQoV0lUSF9GSVBTKSAmJiBkZWZpbmVkKFdJVEhfREVTKQorIAkJCS8vIFRlc3Qg NTYtYml0IGtleQorIAkJCWNpcGhlclRleHQgPSBCeXRlU3RyaW5nKHRlc3RSZXN1bHRbaV1bal1b MF0pOworIAorQEAgLTExMDQsNyArMTEzNSw5IEBAIHZvaWQgREVTVGVzdHM6OnRlc3RDRkIoKQor IAkJCXNoc21QbGFpblRleHQgKz0gT0I7CisgCisgCQkJQ1BQVU5JVF9BU1NFUlQoc2hzbVBsYWlu VGV4dCA9PSBwbGFpblRleHQpOworKyNlbmRpZgorIAorKyNpZm5kZWYgV0lUSF9GSVBTCisgCQkJ Ly8gVGVzdCAxMTItYml0IGtleQorIAkJCWNpcGhlclRleHQgPSBCeXRlU3RyaW5nKHRlc3RSZXN1 bHRbaV1bal1bMV0pOworIAorZGlmZiAtLWdpdCBhL3NyYy9saWIvY3J5cHRvL3Rlc3QvRFNBVGVz dHMuY3BwIGIvc3JjL2xpYi9jcnlwdG8vdGVzdC9EU0FUZXN0cy5jcHAKK2luZGV4IDgwZjI1MTQu LjM1YjI0NjYgMTAwNjQ0CistLS0gYS9zcmMvbGliL2NyeXB0by90ZXN0L0RTQVRlc3RzLmNwcAor KysrIGIvc3JjL2xpYi9jcnlwdG8vdGVzdC9EU0FUZXN0cy5jcHAKK0BAIC0zOCw2ICszOCw4IEBA CisgI2luY2x1ZGUgIlJORy5oIgorICNpbmNsdWRlICJBc3ltbWV0cmljS2V5UGFpci5oIgorICNp bmNsdWRlICJBc3ltbWV0cmljQWxnb3JpdGhtLmgiCisrI2luY2x1ZGUgImNvbmZpZy5oIgorKyNp ZmRlZiBXSVRIX0RTQQorICNpbmNsdWRlICJEU0FQYXJhbWV0ZXJzLmgiCisgI2luY2x1ZGUgIkRT QVB1YmxpY0tleS5oIgorICNpbmNsdWRlICJEU0FQcml2YXRlS2V5LmgiCitAQCAtMjE1LDcgKzIx Nyw5IEBAIHZvaWQgRFNBVGVzdHM6OnRlc3RTaWduaW5nVmVyaWZ5aW5nKCkKKyAKKyAJLy8gTWVj aGFuaXNtcyB0byB0ZXN0CisgCXN0ZDo6dmVjdG9yPEFzeW1NZWNoOjpUeXBlPiBtZWNoYW5pc21z OworKyNpZmRlZiBXSVRIX1NIQTFfU0lHTgorIAltZWNoYW5pc21zLnB1c2hfYmFjayhBc3ltTWVj aDo6RFNBX1NIQTEpOworKyNlbmRpZgorIAltZWNoYW5pc21zLnB1c2hfYmFjayhBc3ltTWVjaDo6 RFNBX1NIQTIyNCk7CisgCW1lY2hhbmlzbXMucHVzaF9iYWNrKEFzeW1NZWNoOjpEU0FfU0hBMjU2 KTsKKyAKK0BAIC0zMjYsOCArMzMwLDEwIEBAIHZvaWQgRFNBVGVzdHM6OnRlc3RTaWduVmVyaWZ5 S25vd25WZWN0b3IoKQorIAlCeXRlU3RyaW5nIGdvb2RTaWduYXR1cmUyID0gIjMxNWM4NzVkY2Q0 ODUwZTk0OGI4YWM0MjgyNGU5NDgzYTMyZDViYTVhYmUwNjgxYjliOTQ0OGQ0NDRmMmJlM2M4OTcx OGQxMmU1NGE4ZDllZDA2NmU0YTU1ZjdlZDVhMjIyOWNkMjNiOWEzY2VlNzhmODNlZDZhYTYxZjZi Y2I5IjsKKyAJQnl0ZVN0cmluZyBiYWRTaWduYXR1cmUyID0gIjMxNWM4NzVkY2Q0ODUwZTk0OGI4 YWM0MjgyNGU5NDgzYTMyZDViYTVhYmUwNjgxYjliOTQ0OGQ0NDRmMmJlM2M4OTcxOGQxMmU1NGE4 ZDllZDA2NmU0YTU1ZjdlZDVhMjIyOWNkMjNiOWEzY2VlNzhmODNlZDZhYTYxZjZiY2I4IjsKKyAK KysjaWZkZWYgV0lUSF9TSEExX1NJR04KKyAJQ1BQVU5JVF9BU1NFUlQoZHNhLT52ZXJpZnkocHVi S2V5MSwgZGF0YTEsIGdvb2RTaWduYXR1cmUxLCBBc3ltTWVjaDo6RFNBX1NIQTEpKTsKKyAJQ1BQ VU5JVF9BU1NFUlQoIWRzYS0+dmVyaWZ5KHB1YktleTEsIGRhdGExLCBiYWRTaWduYXR1cmUxLCBB c3ltTWVjaDo6RFNBX1NIQTEpKTsKKysjZW5kaWYKKyAJQ1BQVU5JVF9BU1NFUlQoZHNhLT52ZXJp ZnkocHViS2V5MiwgZGF0YTIsIGdvb2RTaWduYXR1cmUyLCBBc3ltTWVjaDo6RFNBX1NIQTI1Nikp OworIAlDUFBVTklUX0FTU0VSVCghZHNhLT52ZXJpZnkocHViS2V5MiwgZGF0YTIsIGJhZFNpZ25h dHVyZTIsIEFzeW1NZWNoOjpEU0FfU0hBMjU2KSk7CisgCitAQCAtMzM2LDMgKzM0Miw0IEBAIHZv aWQgRFNBVGVzdHM6OnRlc3RTaWduVmVyaWZ5S25vd25WZWN0b3IoKQorIAlkc2EtPnJlY3ljbGVQ cml2YXRlS2V5KHByaXZLZXkxKTsKKyAJZHNhLT5yZWN5Y2xlUHJpdmF0ZUtleShwcml2S2V5Mik7 CisgfQorKyNlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy9saWIvY3J5cHRvL3Rlc3QvUlNBVGVzdHMu Y3BwIGIvc3JjL2xpYi9jcnlwdG8vdGVzdC9SU0FUZXN0cy5jcHAKK2luZGV4IDZhZjFlMTkuLmZh MDIzMTkgMTAwNjQ0CistLS0gYS9zcmMvbGliL2NyeXB0by90ZXN0L1JTQVRlc3RzLmNwcAorKysr IGIvc3JjL2xpYi9jcnlwdG8vdGVzdC9SU0FUZXN0cy5jcHAKK0BAIC0zMyw2ICszMyw3IEBACisg I2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgI2luY2x1ZGUgPGNwcHVu aXQvZXh0ZW5zaW9ucy9IZWxwZXJNYWNyb3MuaD4KKysjaW5jbHVkZSAiY29uZmlnLmgiCisgI2lu Y2x1ZGUgIlJTQVRlc3RzLmgiCisgI2luY2x1ZGUgIkNyeXB0b0ZhY3RvcnkuaCIKKyAjaW5jbHVk ZSAiUk5HLmgiCitAQCAtMjYzLDE3ICsyNjQsMjEgQEAgdm9pZCBSU0FUZXN0czo6dGVzdFNpZ25p bmdWZXJpZnlpbmcoKQorICNpZm5kZWYgV0lUSF9GSVBTCisgCW1lY2hhbmlzbXMucHVzaF9iYWNr KEFzeW1NZWNoOjpSU0FfTUQ1X1BLQ1MpOworICNlbmRpZgorKyNpZmRlZiBXSVRIX1NIQTFfU0lH TgorIAltZWNoYW5pc21zLnB1c2hfYmFjayhBc3ltTWVjaDo6UlNBX1NIQTFfUEtDUyk7CisrI2Vu ZGlmCisgCW1lY2hhbmlzbXMucHVzaF9iYWNrKEFzeW1NZWNoOjpSU0FfU0hBMjI0X1BLQ1MpOwor IAltZWNoYW5pc21zLnB1c2hfYmFjayhBc3ltTWVjaDo6UlNBX1NIQTI1Nl9QS0NTKTsKKyAJbWVj aGFuaXNtcy5wdXNoX2JhY2soQXN5bU1lY2g6OlJTQV9TSEEzODRfUEtDUyk7CisgCW1lY2hhbmlz bXMucHVzaF9iYWNrKEFzeW1NZWNoOjpSU0FfU0hBNTEyX1BLQ1MpOworKyNpZmRlZiBXSVRIX1NI QTFfU0lHTgorIAltZWNoYW5pc21zLnB1c2hfYmFjayhBc3ltTWVjaDo6UlNBX1NIQTFfUEtDU19Q U1MpOworKyNlbmRpZgorIAltZWNoYW5pc21zLnB1c2hfYmFjayhBc3ltTWVjaDo6UlNBX1NIQTIy NF9QS0NTX1BTUyk7CisgCW1lY2hhbmlzbXMucHVzaF9iYWNrKEFzeW1NZWNoOjpSU0FfU0hBMjU2 X1BLQ1NfUFNTKTsKKyAJbWVjaGFuaXNtcy5wdXNoX2JhY2soQXN5bU1lY2g6OlJTQV9TSEEzODRf UEtDU19QU1MpOworIAltZWNoYW5pc21zLnB1c2hfYmFjayhBc3ltTWVjaDo6UlNBX1NIQTUxMl9Q S0NTX1BTUyk7CistI2lmbmRlZiBXSVRIX0ZJUFMKKysjaWYgIWRlZmluZWQoV0lUSF9GSVBTKSAm JiBkZWZpbmVkKFdJVEhfU0hBMV9TSUdOKQorIAltZWNoYW5pc21zLnB1c2hfYmFjayhBc3ltTWVj aDo6UlNBX1NTTCk7CisgI2VuZGlmCisgCitAQCAtMzk3LDEwICs0MDIsMTIgQEAgdm9pZCBSU0FU ZXN0czo6dGVzdFNpZ25pbmdWZXJpZnlpbmcoKQorIAkJCUNQUFVOSVRfQVNTRVJUKHJzYS0+dmVy aWZ5KGtwLT5nZXRQdWJsaWNLZXkoKSwgZGF0YVRvU2lnbiwgc2lnbmF0dXJlLCBBc3ltTWVjaDo6 UlNBKSk7CisgCisgI2lmZGVmIFdJVEhfUkFXX1BTUworKyNpZmRlZiBXSVRIX1NIQTFfU0lHTgor IAkJCS8vIFRlc3QgcmF3IChTSEExKSBQS0NTIFBTUyBzaWduaW5nCisgCQkJQ1BQVU5JVF9BU1NF UlQocm5nLT5nZW5lcmF0ZVJhbmRvbShkYXRhVG9TaWduLCAyMCkpOworIAkJCUNQUFVOSVRfQVNT RVJUKHJzYS0+c2lnbihrcC0+Z2V0UHJpdmF0ZUtleSgpLCBkYXRhVG9TaWduLCBzaWduYXR1cmUs IEFzeW1NZWNoOjpSU0FfUEtDU19QU1MsICZwc3NQYXJhbXNbMF0sIHNpemVvZihwc3NQYXJhbXNb MF0pKSk7CisgCQkJQ1BQVU5JVF9BU1NFUlQocnNhLT52ZXJpZnkoa3AtPmdldFB1YmxpY0tleSgp LCBkYXRhVG9TaWduLCBzaWduYXR1cmUsIEFzeW1NZWNoOjpSU0FfUEtDU19QU1MsICZwc3NQYXJh bXNbMF0sIHNpemVvZihwc3NQYXJhbXNbMF0pKSk7CisrI2VuZGlmCisgCisgCQkJLy8gVGVzdCBy YXcgKFNIQTIyNCkgUEtDUyBQU1Mgc2lnbmluZworIAkJCUNQUFVOSVRfQVNTRVJUKHJuZy0+Z2Vu ZXJhdGVSYW5kb20oZGF0YVRvU2lnbiwgMjgpKTsKK0BAIC01MTQsNyArNTIxLDcgQEAgdm9pZCBS U0FUZXN0czo6dGVzdFNpZ25WZXJpZnlLbm93blZlY3RvcigpCisgCXByaXZLZXkzLT5zZXRQKHAz KTsKKyAJcHJpdktleTMtPnNldFEocTMpOworIAorLSNpZm5kZWYgV0lUSF9GSVBTCisrI2lmICFk ZWZpbmVkKFdJVEhfRklQUykgJiYgZGVmaW5lZChXSVRIX1NIQTFfU0lHTikKKyAJLy8gVGVzdCB3 aXRoIGtleSAjMQorIAljb25zdCBjaGFyKiB0ZXN0VmFsdWUxID0gIkV2ZXJ5b25lIGdldHMgRnJp ZGF5IG9mZi4iOworIAorQEAgLTU2OCw2ICs1NzUsNyBAQCB2b2lkIFJTQVRlc3RzOjp0ZXN0U2ln blZlcmlmeUtub3duVmVjdG9yKCkKKyAJQ1BQVU5JVF9BU1NFUlQocnNhLT52ZXJpZnlGaW5hbChl eHBlY3RlZFNpZ25hdHVyZTIpKTsKKyAjZW5kaWYKKyAKKysjaWZkZWYgV0lUSF9TSEExX1NJR04K KyAJLy8gVGVzdCB3aXRoIGtleSAjMworIAlCeXRlU3RyaW5nIGRhdGFUb1NpZ24zID0gIkQ3Mzgy OTQ5N0NEREJFNDFCNzA1RkFBQzUwRTc4OTlGREI1QTM4QkYzQTQ1OUU1MzYzNTcwMjlFNjRGODc5 NkJBNDdGNEZFOTZCQTVBOEI5QTQzOTY3NDZFMjE2NEY1NUEyNTM2OERERDBCOUE1MTg4QzdBQzNE QTJEMUY3NDIyODZDM0JERUU2OTdGOUQ1NDZBMjVFRkNGRTUzMTkxRDc0M0ZDQzZCNDc4MzNEOTkz RDA4ODA0REFFQ0E3OEZCOTA3NkMzQzAxN0Y1M0UzM0E5MDMwNUFGMDYyMjA5NzRENDZCRjE5RUQz QzlCODRFREJBRTk4QjQ1QTg3NzEyNTgiOworIAlCeXRlU3RyaW5nIGV4cGVjdGVkU2lnbmF0dXJl MyA9ICIxNzUwMTVCREE1MEFCRTBGQTdEMzlBODM1Mzg4NUNBMDFCRTNBN0U3RkNDNTUwNDU3NDQx MTEzNjJFRTE5MTQ0NzNBNDhEQzUzN0Q5NTYyOTRCOUUyMEExRUY2NjFENTg1MzdBQ0RDOERFOTA4 RkEwNTA2MzBGQ0MyNzJFNkQwMDEwNDVFNkZERUVEMkQxMDUzMUM4NjAzMzM0QzJFOERCMzlFNzNF NkQ5NjY1RUUxMzQzRjlFNDE5ODMwMkQyMjAxQjQ0RThFOEQwNkIzRUY0OUNFRTYxOTc1ODIxNjNB ODQ5MDA4OUNBNjU0QzAwMTJGQ0UxQkE2NTExMDg5NzUwIjsKK0BAIC01ODIsNiArNTkwLDcgQEAg dm9pZCBSU0FUZXN0czo6dGVzdFNpZ25WZXJpZnlLbm93blZlY3RvcigpCisgCUNQUFVOSVRfQVNT RVJUKHJzYS0+dmVyaWZ5SW5pdChwdWJLZXkzLCBBc3ltTWVjaDo6UlNBX1NIQTFfUEtDUykpOwor IAlDUFBVTklUX0FTU0VSVChyc2EtPnZlcmlmeVVwZGF0ZShkYXRhVG9TaWduMykpOworIAlDUFBV TklUX0FTU0VSVChyc2EtPnZlcmlmeUZpbmFsKGV4cGVjdGVkU2lnbmF0dXJlMykpOworKyNlbmRp ZgorIAorICNpZm5kZWYgV0lUSF9GSVBTCisgCXJzYS0+cmVjeWNsZVB1YmxpY0tleShwdWJLZXkx KTsKK2RpZmYgLS1naXQgYS9zcmMvbGliL3Rlc3QvRGVyaXZlVGVzdHMuY3BwIGIvc3JjL2xpYi90 ZXN0L0Rlcml2ZVRlc3RzLmNwcAoraW5kZXggOTQzOGFjMi4uMDlmZjQ2YyAxMDA2NDQKKy0tLSBh L3NyYy9saWIvdGVzdC9EZXJpdmVUZXN0cy5jcHAKKysrKyBiL3NyYy9saWIvdGVzdC9EZXJpdmVU ZXN0cy5jcHAKK0BAIC0yMzgsNyArMjM4LDcgQEAgQ0tfUlYgRGVyaXZlVGVzdHM6OmNyZWF0ZUFl c0tleShDS19TRVNTSU9OX0hBTkRMRSBoU2Vzc2lvbiwgQ0tfQkJPT0wgYlRva2VuLCBDS18KKyAJ cmV0dXJuIENSWVBUT0tJX0ZfUFRSKENfQ3JlYXRlT2JqZWN0KGhTZXNzaW9uLCBrZXlBdHRyaWJz LCBzaXplb2Yoa2V5QXR0cmlicykgLyBzaXplb2YoQ0tfQVRUUklCVVRFKSwgJmhLZXkpKTsKKyB9 CisgCistI2lmbmRlZiBXSVRIX0ZJUFMKKysjaWYgIWRlZmluZWQoV0lUSF9GSVBTKSAmJiBkZWZp bmVkKFdJVEhfREVTKQorIENLX1JWIERlcml2ZVRlc3RzOjpnZW5lcmF0ZURlc0tleShDS19TRVNT SU9OX0hBTkRMRSBoU2Vzc2lvbiwgQ0tfQkJPT0wgYlRva2VuLCBDS19CQk9PTCBiUHJpdmF0ZSwg Q0tfT0JKRUNUX0hBTkRMRSAmaEtleSkKKyB7CisgCUNLX01FQ0hBTklTTSBtZWNoYW5pc20gPSB7 IENLTV9ERVNfS0VZX0dFTiwgTlVMTF9QVFIsIDAgfTsKK0BAIC04MTEsMTMgKzgxMSwxMyBAQCB2 b2lkIERlcml2ZVRlc3RzOjp0ZXN0U3ltRGVyaXZlKCkKKyAJQ1BQVU5JVF9BU1NFUlQocnYgPT0g Q0tSX09LKTsKKyAKKyAJLy8gR2VuZXJhdGUgYmFzZSBrZXkKKy0jaWZuZGVmIFdJVEhfRklQUwor KyNpZiAhZGVmaW5lZChXSVRIX0ZJUFMpICYmIGRlZmluZWQoV0lUSF9ERVMpCisgICAgICAgICBD S19PQkpFQ1RfSEFORExFIGhLZXlEZXMgPSBDS19JTlZBTElEX0hBTkRMRTsKKyAjZW5kaWYKKyAg ICAgICAgIENLX09CSkVDVF9IQU5ETEUgaEtleURlczIgPSBDS19JTlZBTElEX0hBTkRMRTsKKyAg ICAgICAgIENLX09CSkVDVF9IQU5ETEUgaEtleURlczMgPSBDS19JTlZBTElEX0hBTkRMRTsKKyAg ICAgICAgIENLX09CSkVDVF9IQU5ETEUgaEtleUFlcyA9IENLX0lOVkFMSURfSEFORExFOworLSNp Zm5kZWYgV0lUSF9GSVBTCisrI2lmICFkZWZpbmVkKFdJVEhfRklQUykgJiYgZGVmaW5lZChXSVRI X0RFUykKKyAgICAgICAgIHJ2ID0gZ2VuZXJhdGVEZXNLZXkoaFNlc3Npb25SVyxJTl9TRVNTSU9O LElTX1BVQkxJQyxoS2V5RGVzKTsKKyAgICAgICAgIENQUFVOSVRfQVNTRVJUKHJ2ID09IENLUl9P Syk7CisgI2VuZGlmCitAQCAtODMwLDcgKzgzMCw3IEBAIHZvaWQgRGVyaXZlVGVzdHM6OnRlc3RT eW1EZXJpdmUoKQorIAorIAkvLyBEZXJpdmUga2V5cworIAlDS19PQkpFQ1RfSEFORExFIGhEZXJp dmUgPSBDS19JTlZBTElEX0hBTkRMRTsKKy0jaWZuZGVmIFdJVEhfRklQUworKyNpZiAhZGVmaW5l ZChXSVRIX0ZJUFMpICYmIGRlZmluZWQoV0lUSF9ERVMpCisgCXN5bURlcml2ZShoU2Vzc2lvblJX LGhLZXlEZXMsaERlcml2ZSxDS01fREVTX0VDQl9FTkNSWVBUX0RBVEEsQ0tLX0dFTkVSSUNfU0VD UkVUKTsKKyAJc3ltRGVyaXZlKGhTZXNzaW9uUlcsaEtleURlcyxoRGVyaXZlLENLTV9ERVNfRUNC X0VOQ1JZUFRfREFUQSxDS0tfREVTKTsKKyAJc3ltRGVyaXZlKGhTZXNzaW9uUlcsaEtleURlcyxo RGVyaXZlLENLTV9ERVNfRUNCX0VOQ1JZUFRfREFUQSxDS0tfREVTMik7CitAQCAtODM4LDI3ICs4 MzgsMjcgQEAgdm9pZCBEZXJpdmVUZXN0czo6dGVzdFN5bURlcml2ZSgpCisgCXN5bURlcml2ZSho U2Vzc2lvblJXLGhLZXlEZXMsaERlcml2ZSxDS01fREVTX0VDQl9FTkNSWVBUX0RBVEEsQ0tLX0FF Uyk7CisgI2VuZGlmCisgCXN5bURlcml2ZShoU2Vzc2lvblJXLGhLZXlEZXMyLGhEZXJpdmUsQ0tN X0RFUzNfRUNCX0VOQ1JZUFRfREFUQSxDS0tfR0VORVJJQ19TRUNSRVQpOworLSNpZm5kZWYgV0lU SF9GSVBTCisrI2lmICFkZWZpbmVkKFdJVEhfRklQUykgJiYgZGVmaW5lZChXSVRIX0RFUykKKyAJ c3ltRGVyaXZlKGhTZXNzaW9uUlcsaEtleURlczIsaERlcml2ZSxDS01fREVTM19FQ0JfRU5DUllQ VF9EQVRBLENLS19ERVMpOworICNlbmRpZgorIAlzeW1EZXJpdmUoaFNlc3Npb25SVyxoS2V5RGVz MixoRGVyaXZlLENLTV9ERVMzX0VDQl9FTkNSWVBUX0RBVEEsQ0tLX0RFUzIpOworIAlzeW1EZXJp dmUoaFNlc3Npb25SVyxoS2V5RGVzMixoRGVyaXZlLENLTV9ERVMzX0VDQl9FTkNSWVBUX0RBVEEs Q0tLX0RFUzMpOworIAlzeW1EZXJpdmUoaFNlc3Npb25SVyxoS2V5RGVzMixoRGVyaXZlLENLTV9E RVMzX0VDQl9FTkNSWVBUX0RBVEEsQ0tLX0FFUyk7CisgCXN5bURlcml2ZShoU2Vzc2lvblJXLGhL ZXlEZXMzLGhEZXJpdmUsQ0tNX0RFUzNfRUNCX0VOQ1JZUFRfREFUQSxDS0tfR0VORVJJQ19TRUNS RVQpOworLSNpZm5kZWYgV0lUSF9GSVBTCisrI2lmICFkZWZpbmVkKFdJVEhfRklQUykgJiYgZGVm aW5lZChXSVRIX0RFUykKKyAJc3ltRGVyaXZlKGhTZXNzaW9uUlcsaEtleURlczMsaERlcml2ZSxD S01fREVTM19FQ0JfRU5DUllQVF9EQVRBLENLS19ERVMpOworICNlbmRpZgorIAlzeW1EZXJpdmUo aFNlc3Npb25SVyxoS2V5RGVzMyxoRGVyaXZlLENLTV9ERVMzX0VDQl9FTkNSWVBUX0RBVEEsQ0tL X0RFUzIpOworIAlzeW1EZXJpdmUoaFNlc3Npb25SVyxoS2V5RGVzMyxoRGVyaXZlLENLTV9ERVMz X0VDQl9FTkNSWVBUX0RBVEEsQ0tLX0RFUzMpOworIAlzeW1EZXJpdmUoaFNlc3Npb25SVyxoS2V5 RGVzMyxoRGVyaXZlLENLTV9ERVMzX0VDQl9FTkNSWVBUX0RBVEEsQ0tLX0FFUyk7CisgCXN5bURl cml2ZShoU2Vzc2lvblJXLGhLZXlBZXMsaERlcml2ZSxDS01fQUVTX0VDQl9FTkNSWVBUX0RBVEEs Q0tLX0dFTkVSSUNfU0VDUkVUKTsKKy0jaWZuZGVmIFdJVEhfRklQUworKyNpZiAhZGVmaW5lZChX SVRIX0ZJUFMpICYmIGRlZmluZWQoV0lUSF9ERVMpCisgCXN5bURlcml2ZShoU2Vzc2lvblJXLGhL ZXlBZXMsaERlcml2ZSxDS01fQUVTX0VDQl9FTkNSWVBUX0RBVEEsQ0tLX0RFUyk7CisgI2VuZGlm CisgCXN5bURlcml2ZShoU2Vzc2lvblJXLGhLZXlBZXMsaERlcml2ZSxDS01fQUVTX0VDQl9FTkNS WVBUX0RBVEEsQ0tLX0RFUzIpOworIAlzeW1EZXJpdmUoaFNlc3Npb25SVyxoS2V5QWVzLGhEZXJp dmUsQ0tNX0FFU19FQ0JfRU5DUllQVF9EQVRBLENLS19ERVMzKTsKKyAJc3ltRGVyaXZlKGhTZXNz aW9uUlcsaEtleUFlcyxoRGVyaXZlLENLTV9BRVNfRUNCX0VOQ1JZUFRfREFUQSxDS0tfQUVTKTsK Ky0jaWZuZGVmIFdJVEhfRklQUworKyNpZiAhZGVmaW5lZChXSVRIX0ZJUFMpICYmIGRlZmluZWQo V0lUSF9ERVMpCisgCXN5bURlcml2ZShoU2Vzc2lvblJXLGhLZXlEZXMsaERlcml2ZSxDS01fREVT X0NCQ19FTkNSWVBUX0RBVEEsQ0tLX0dFTkVSSUNfU0VDUkVUKTsKKyAJc3ltRGVyaXZlKGhTZXNz aW9uUlcsaEtleURlcyxoRGVyaXZlLENLTV9ERVNfQ0JDX0VOQ1JZUFRfREFUQSxDS0tfREVTKTsK KyAJc3ltRGVyaXZlKGhTZXNzaW9uUlcsaEtleURlcyxoRGVyaXZlLENLTV9ERVNfQ0JDX0VOQ1JZ UFRfREFUQSxDS0tfREVTMik7CitAQCAtODY2LDIxICs4NjYsMjEgQEAgdm9pZCBEZXJpdmVUZXN0 czo6dGVzdFN5bURlcml2ZSgpCisgCXN5bURlcml2ZShoU2Vzc2lvblJXLGhLZXlEZXMsaERlcml2 ZSxDS01fREVTX0NCQ19FTkNSWVBUX0RBVEEsQ0tLX0FFUyk7CisgI2VuZGlmCisgCXN5bURlcml2 ZShoU2Vzc2lvblJXLGhLZXlEZXMyLGhEZXJpdmUsQ0tNX0RFUzNfQ0JDX0VOQ1JZUFRfREFUQSxD S0tfR0VORVJJQ19TRUNSRVQpOworLSNpZm5kZWYgV0lUSF9GSVBTCisrI2lmICFkZWZpbmVkKFdJ VEhfRklQUykgJiYgZGVmaW5lZChXSVRIX0RFUykKKyAJc3ltRGVyaXZlKGhTZXNzaW9uUlcsaEtl eURlczIsaERlcml2ZSxDS01fREVTM19DQkNfRU5DUllQVF9EQVRBLENLS19ERVMpOworICNlbmRp ZgorIAlzeW1EZXJpdmUoaFNlc3Npb25SVyxoS2V5RGVzMixoRGVyaXZlLENLTV9ERVMzX0NCQ19F TkNSWVBUX0RBVEEsQ0tLX0RFUzIpOworIAlzeW1EZXJpdmUoaFNlc3Npb25SVyxoS2V5RGVzMixo RGVyaXZlLENLTV9ERVMzX0NCQ19FTkNSWVBUX0RBVEEsQ0tLX0RFUzMpOworIAlzeW1EZXJpdmUo aFNlc3Npb25SVyxoS2V5RGVzMixoRGVyaXZlLENLTV9ERVMzX0NCQ19FTkNSWVBUX0RBVEEsQ0tL X0FFUyk7CisgCXN5bURlcml2ZShoU2Vzc2lvblJXLGhLZXlEZXMzLGhEZXJpdmUsQ0tNX0RFUzNf Q0JDX0VOQ1JZUFRfREFUQSxDS0tfR0VORVJJQ19TRUNSRVQpOworLSNpZm5kZWYgV0lUSF9GSVBT CisrI2lmICFkZWZpbmVkKFdJVEhfRklQUykgJiYgZGVmaW5lZChXSVRIX0RFUykKKyAJc3ltRGVy aXZlKGhTZXNzaW9uUlcsaEtleURlczMsaERlcml2ZSxDS01fREVTM19DQkNfRU5DUllQVF9EQVRB LENLS19ERVMpOworICNlbmRpZgorIAlzeW1EZXJpdmUoaFNlc3Npb25SVyxoS2V5RGVzMyxoRGVy aXZlLENLTV9ERVMzX0NCQ19FTkNSWVBUX0RBVEEsQ0tLX0RFUzIpOworIAlzeW1EZXJpdmUoaFNl c3Npb25SVyxoS2V5RGVzMyxoRGVyaXZlLENLTV9ERVMzX0NCQ19FTkNSWVBUX0RBVEEsQ0tLX0RF UzMpOworIAlzeW1EZXJpdmUoaFNlc3Npb25SVyxoS2V5RGVzMyxoRGVyaXZlLENLTV9ERVMzX0NC Q19FTkNSWVBUX0RBVEEsQ0tLX0FFUyk7CisgCXN5bURlcml2ZShoU2Vzc2lvblJXLGhLZXlBZXMs aERlcml2ZSxDS01fQUVTX0NCQ19FTkNSWVBUX0RBVEEsQ0tLX0dFTkVSSUNfU0VDUkVUKTsKKy0j aWZuZGVmIFdJVEhfRklQUworKyNpZiAhZGVmaW5lZChXSVRIX0ZJUFMpICYmIGRlZmluZWQoV0lU SF9ERVMpCisgCXN5bURlcml2ZShoU2Vzc2lvblJXLGhLZXlBZXMsaERlcml2ZSxDS01fQUVTX0NC Q19FTkNSWVBUX0RBVEEsQ0tLX0RFUyk7CisgI2VuZGlmCisgCXN5bURlcml2ZShoU2Vzc2lvblJX LGhLZXlBZXMsaERlcml2ZSxDS01fQUVTX0NCQ19FTkNSWVBUX0RBVEEsQ0tLX0RFUzIpOworZGlm ZiAtLWdpdCBhL3NyYy9saWIvdGVzdC9EZXJpdmVUZXN0cy5oIGIvc3JjL2xpYi90ZXN0L0Rlcml2 ZVRlc3RzLmgKK2luZGV4IDI1MTRkMzAuLjcyNDQ3YWMgMTAwNjQ0CistLS0gYS9zcmMvbGliL3Rl c3QvRGVyaXZlVGVzdHMuaAorKysrIGIvc3JjL2xpYi90ZXN0L0Rlcml2ZVRlc3RzLmgKK0BAIC02 NSw3ICs2NSw3IEBAIHByb3RlY3RlZDoKKyAJQ0tfUlYgZ2VuZXJhdGVEaEtleVBhaXIoQ0tfU0VT U0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX0JCT09MIGJUb2tlblB1aywgQ0tfQkJPT0wgYlByaXZh dGVQdWssIENLX0JCT09MIGJUb2tlblByaywgQ0tfQkJPT0wgYlByaXZhdGVQcmssIENLX09CSkVD VF9IQU5ETEUgJmhQdWssIENLX09CSkVDVF9IQU5ETEUgJmhQcmspOworIAlDS19SViBjcmVhdGVB ZXNLZXkoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX0JCT09MIGJUb2tlbiwgQ0tfQkJP T0wgYlByaXZhdGUsIENLX0JCT09MIGJTZW5zaXRpdmUsIENLX0JCT09MIGJFeHRyYWN0YWJsZSwg Q0tfQkJPT0wgYkRlcml2ZSwgQ0tfT0JKRUNUX0hBTkRMRSAmaEtleSk7CisgCUNLX1JWIGdlbmVy YXRlQWVzS2V5KENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBDS19CQk9PTCBiVG9rZW4sIENL X0JCT09MIGJQcml2YXRlLCBDS19PQkpFQ1RfSEFORExFICZoS2V5KTsKKy0jaWZuZGVmIFdJVEhf RklQUworKyNpZiAhZGVmaW5lZChXSVRIX0ZJUFMpICYmIGRlZmluZWQoV0lUSF9ERVMpCisgCUNL X1JWIGdlbmVyYXRlRGVzS2V5KENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBDS19CQk9PTCBi VG9rZW4sIENLX0JCT09MIGJQcml2YXRlLCBDS19PQkpFQ1RfSEFORExFICZoS2V5KTsKKyAjZW5k aWYKKyAJQ0tfUlYgZ2VuZXJhdGVEZXMyS2V5KENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBD S19CQk9PTCBiVG9rZW4sIENLX0JCT09MIGJQcml2YXRlLCBDS19PQkpFQ1RfSEFORExFICZoS2V5 KTsKK2RpZmYgLS1naXQgYS9zcmMvbGliL3Rlc3QvRm9ya1Rlc3RzLmNwcCBiL3NyYy9saWIvdGVz dC9Gb3JrVGVzdHMuY3BwCitpbmRleCAwYzg1Yzg0Li4xNzE5M2RhIDEwMDY0NAorLS0tIGEvc3Jj L2xpYi90ZXN0L0ZvcmtUZXN0cy5jcHAKKysrKyBiL3NyYy9saWIvdGVzdC9Gb3JrVGVzdHMuY3Bw CitAQCAtNjUsNyArNjUsNiBAQCB2b2lkIEZvcmtUZXN0czo6dGVzdEZvcmsoKQorIHsKKyAJQ0tf UlYgcnY7CisgCXBpZF90IHBpZDsKKy0JaW50IHN0YXR1czsKKyAKKyAJLy8gSnVzdCBtYWtlIHN1 cmUgdGhhdCB3ZSBmaW5hbGl6ZSBhbnkgcHJldmlvdXMgZmFpbGVkIHRlc3RzCisgCUNSWVBUT0tJ X0ZfUFRSKCBDX0ZpbmFsaXplKE5VTExfUFRSKSApOworQEAgLTgyLDE5ICs4MSwxOSBAQCB2b2lk IEZvcmtUZXN0czo6dGVzdEZvcmsoKQorIAkJY2FzZSAwOgorIAkJCS8qIEZvciB0aGUgY2hpbGQs IHRoZSB0b2tlbiBpcyBleHBlY3RlZCB0byBzdGlsbCBiZSBpbml0aWFsaXplZC4gKi8KKyAJCQly diA9IENSWVBUT0tJX0ZfUFRSKCBDX0luaXRpYWxpemUoTlVMTF9QVFIpICk7CistCQkJQ1BQVU5J VF9BU1NFUlQocnYgPT0gQ0tSX0NSWVBUT0tJX0FMUkVBRFlfSU5JVElBTElaRUQpOworLQkJCXJ2 ID0gQ1JZUFRPS0lfRl9QVFIoIENfRmluYWxpemUoTlVMTF9QVFIpICk7CistCQkJQ1BQVU5JVF9B U1NFUlQocnYgPT0gQ0tSX09LKTsKKy0JCQlfZXhpdChFWElUX1NVQ0NFU1MpOworKwkJCUNSWVBU T0tJX0ZfUFRSKCBDX0ZpbmFsaXplKE5VTExfUFRSKSApOworKwkJCV9leGl0KHJ2ID09IENLUl9D UllQVE9LSV9BTFJFQURZX0lOSVRJQUxJWkVEID8gMCA6IDEpOworIAkJCWJyZWFrOworIAkJZGVm YXVsdDoKKy0JCQkvKiBGb3IgdGhlIHBhcmVudCwgdGhlIHRva2VuIGlzIGV4cGVjdGVkIHRvIHN0 aWxsIGJlIGluaXRpYWxpemVkLiAqLworKwkJeworIAkJCXJ2ID0gQ1JZUFRPS0lfRl9QVFIoIENf SW5pdGlhbGl6ZShOVUxMX1BUUikgKTsKKyAJCQlDUFBVTklUX0FTU0VSVChydiA9PSBDS1JfQ1JZ UFRPS0lfQUxSRUFEWV9JTklUSUFMSVpFRCk7CistCQkJLyogV2FpdCBmb3IgdGhlIGNoaWxkIHBy b2Nlc3MgdG8gZmluaXNoIGFuZCBjaGVjayBpdHMgc3RhdHVzLiAqLworLQkJCUNQUFVOSVRfQVNT RVJUKHdhaXRwaWQocGlkLCAmc3RhdHVzLCAwKSA9PSBwaWQpOworLQkJCUNQUFVOSVRfQVNTRVJU KFdJRkVYSVRFRChzdGF0dXMpICYmIFdFWElUU1RBVFVTKHN0YXR1cykgPT0gRVhJVF9TVUNDRVNT KTsKKysJCQlpbnQgc3RhdHVzOworKwkJCXdhaXRwaWQocGlkLCAmc3RhdHVzLCAwKTsKKysJCQlD UFBVTklUX0FTU0VSVChXSUZFWElURUQoc3RhdHVzKSk7CisrCQkJQ1BQVU5JVF9BU1NFUlQoV0VY SVRTVEFUVVMoc3RhdHVzKSA9PSAwKTsKKyAJCQlicmVhazsKKysJCX0KKyAJfQorIAorIAlydiA9 IENSWVBUT0tJX0ZfUFRSKCBDX0ZpbmFsaXplKE5VTExfUFRSKSApOworQEAgLTEwNSw3ICsxMDQs NiBAQCB2b2lkIEZvcmtUZXN0czo6dGVzdFJlc2V0T25Gb3JrKCkKKyB7CisgCUNLX1JWIHJ2Owor IAlwaWRfdCBwaWQ7CistCWludCBzdGF0dXM7CisgCisgCS8vIEp1c3QgbWFrZSBzdXJlIHRoYXQg d2UgZmluYWxpemUgYW55IHByZXZpb3VzIGZhaWxlZCB0ZXN0cworIAlDUllQVE9LSV9GX1BUUigg Q19GaW5hbGl6ZShOVUxMX1BUUikgKTsKK0BAIC0xMjgsMTkgKzEyNiwyMCBAQCB2b2lkIEZvcmtU ZXN0czo6dGVzdFJlc2V0T25Gb3JrKCkKKyAJCWNhc2UgMDoKKyAJCQkvKiBGb3IgdGhlIGNoaWxk LCB0aGUgdG9rZW4gaXMgZXhwZWN0ZWQgdG8gYmUgcmVzZXQgb24gZm9yayAqLworIAkJCXJ2ID0g Q1JZUFRPS0lfRl9QVFIoIENfSW5pdGlhbGl6ZShOVUxMX1BUUikgKTsKKy0JCQlDUFBVTklUX0FT U0VSVChydiA9PSBDS1JfT0spOworLQkJCXJ2ID0gQ1JZUFRPS0lfRl9QVFIoIENfRmluYWxpemUo TlVMTF9QVFIpICk7CistCQkJQ1BQVU5JVF9BU1NFUlQocnYgPT0gQ0tSX09LKTsKKy0JCQlfZXhp dChFWElUX1NVQ0NFU1MpOworKwkJCUNSWVBUT0tJX0ZfUFRSKCBDX0ZpbmFsaXplKE5VTExfUFRS KSApOworKwkJCV9leGl0KHJ2ID09IENLUl9PSyA/IDAgOiAxKTsKKyAJCQlicmVhazsKKyAJCWRl ZmF1bHQ6CisrCQl7CisgCQkJLyogRm9yIHRoZSBwYXJlbnQsIHRoZSB0b2tlbiBpcyBleHBlY3Rl ZCB0byBiZSBzdGlsbCBpbml0aWFsaXplZCAqLworIAkJCXJ2ID0gQ1JZUFRPS0lfRl9QVFIoIENf SW5pdGlhbGl6ZShOVUxMX1BUUikgKTsKKyAJCQlDUFBVTklUX0FTU0VSVChydiA9PSBDS1JfQ1JZ UFRPS0lfQUxSRUFEWV9JTklUSUFMSVpFRCk7CistCQkJLyogV2FpdCBmb3IgdGhlIGNoaWxkIHBy b2Nlc3MgdG8gZmluaXNoIGFuZCBjaGVjayBpdHMgc3RhdHVzLiAqLworLQkJCUNQUFVOSVRfQVNT RVJUKHdhaXRwaWQocGlkLCAmc3RhdHVzLCAwKSA9PSBwaWQpOworLQkJCUNQUFVOSVRfQVNTRVJU KFdJRkVYSVRFRChzdGF0dXMpICYmIFdFWElUU1RBVFVTKHN0YXR1cykgPT0gRVhJVF9TVUNDRVNT KTsKKysJCQlpbnQgc3RhdHVzOworKwkJCXdhaXRwaWQocGlkLCAmc3RhdHVzLCAwKTsKKysJCQlD UFBVTklUX0FTU0VSVChXSUZFWElURUQoc3RhdHVzKSk7CisrCQkJQ1BQVU5JVF9BU1NFUlQoV0VY SVRTVEFUVVMoc3RhdHVzKSA9PSAwKTsKKyAJCQlicmVhazsKKysJCX0KKyAJfQorIAorIAlydiA9 IENSWVBUT0tJX0ZfUFRSKCBDX0ZpbmFsaXplKE5VTExfUFRSKSApOworZGlmZiAtLWdpdCBhL3Ny Yy9saWIvdGVzdC9PYmplY3RUZXN0cy5jcHAgYi9zcmMvbGliL3Rlc3QvT2JqZWN0VGVzdHMuY3Bw CitpbmRleCBjNDI0OGIyLi42ZWQwNDA2IDEwMDY0NAorLS0tIGEvc3JjL2xpYi90ZXN0L09iamVj dFRlc3RzLmNwcAorKysrIGIvc3JjL2xpYi90ZXN0L09iamVjdFRlc3RzLmNwcAorQEAgLTIzOTcs NiArMjM5Nyw3IEBAIHZvaWQgT2JqZWN0VGVzdHM6OnRlc3RDcmVhdGVTZWNyZXRLZXkoKQorIAly diA9IENSWVBUT0tJX0ZfUFRSKCBDX0Rlc3Ryb3lPYmplY3QoaFNlc3Npb24saE9iamVjdCkgKTsK KyAJQ1BQVU5JVF9BU1NFUlRfRVFVQUwoQ0tSX09LLCBydik7CisgCisrI2lmICFkZWZpbmVkKFdJ VEhfRklQUykgJiYgZGVmaW5lZChXSVRIX0RFUykKKyAJa2V5VHlwZSA9IENLS19ERVM7CisgCWF0 dHJpYnNbMF0ucFZhbHVlID0gZGVzS2V5OworIAlhdHRyaWJzWzBdLnVsVmFsdWVMZW4gPSBzaXpl b2YoZGVzS2V5KTsKK0BAIC0yNDA4LDYgKzI0MDksNyBAQCB2b2lkIE9iamVjdFRlc3RzOjp0ZXN0 Q3JlYXRlU2VjcmV0S2V5KCkKKyAJQ1BQVU5JVF9BU1NFUlQobWVtY21wKHBDaGVja1ZhbHVlLCBk ZXNLQ1YsIDMpID09IDApOworIAlydiA9IENSWVBUT0tJX0ZfUFRSKCBDX0Rlc3Ryb3lPYmplY3Qo aFNlc3Npb24saE9iamVjdCkgKTsKKyAJQ1BQVU5JVF9BU1NFUlRfRVFVQUwoQ0tSX09LLCBydik7 CisrI2VuZGlmCisgCisgCWtleVR5cGUgPSBDS0tfREVTMjsKKyAJYXR0cmlic1swXS5wVmFsdWUg PSBkZXMyS2V5OworZGlmZiAtLWdpdCBhL3NyYy9saWIvdGVzdC9TaWduVmVyaWZ5VGVzdHMuY3Bw IGIvc3JjL2xpYi90ZXN0L1NpZ25WZXJpZnlUZXN0cy5jcHAKK2luZGV4IGFjOWQ0NjUuLjYzYmI3 ZmQgMTAwNjQ0CistLS0gYS9zcmMvbGliL3Rlc3QvU2lnblZlcmlmeVRlc3RzLmNwcAorKysrIGIv c3JjL2xpYi90ZXN0L1NpZ25WZXJpZnlUZXN0cy5jcHAKK0BAIC0zODMsMjEgKzM4MywyNyBAQCB2 b2lkIFNpZ25WZXJpZnlUZXN0czo6dGVzdFJzYVNpZ25WZXJpZnkoKQorICNpZm5kZWYgV0lUSF9G SVBTCisgCXNpZ25WZXJpZnlNdWx0aShDS01fTUQ1X1JTQV9QS0NTLCBoU2Vzc2lvblJPLCBoUHVr LGhQcmspOworICNlbmRpZgorKyNpZmRlZiBXSVRIX1NIQTFfU0lHTgorIAlzaWduVmVyaWZ5TXVs dGkoQ0tNX1NIQTFfUlNBX1BLQ1MsIGhTZXNzaW9uUk8sIGhQdWssaFByayk7CisrI2VuZGlmCisg CXNpZ25WZXJpZnlNdWx0aShDS01fU0hBMjI0X1JTQV9QS0NTLCBoU2Vzc2lvblJPLCBoUHVrLGhQ cmspOworIAlzaWduVmVyaWZ5TXVsdGkoQ0tNX1NIQTI1Nl9SU0FfUEtDUywgaFNlc3Npb25STywg aFB1ayxoUHJrKTsKKyAJc2lnblZlcmlmeU11bHRpKENLTV9TSEEzODRfUlNBX1BLQ1MsIGhTZXNz aW9uUk8sIGhQdWssaFByayk7CisgCXNpZ25WZXJpZnlNdWx0aShDS01fU0hBNTEyX1JTQV9QS0NT LCBoU2Vzc2lvblJPLCBoUHVrLGhQcmspOworIAorICNpZmRlZiBXSVRIX1JBV19QU1MKKysjaWZk ZWYgV0lUSF9TSEExX1NJR04KKyAJc2lnblZlcmlmeVNpbmdsZURhdGEoMjAsIENLTV9SU0FfUEtD U19QU1MsIGhTZXNzaW9uUk8sIGhQdWssaFByaywgJnBhcmFtc1swXSwgc2l6ZW9mKHBhcmFtc1sw XSkpOworKyNlbmRpZgorIAlzaWduVmVyaWZ5U2luZ2xlRGF0YSgyOCwgQ0tNX1JTQV9QS0NTX1BT UywgaFNlc3Npb25STywgaFB1ayxoUHJrLCAmcGFyYW1zWzFdLCBzaXplb2YocGFyYW1zWzFdKSk7 CisgCXNpZ25WZXJpZnlTaW5nbGVEYXRhKDMyLCBDS01fUlNBX1BLQ1NfUFNTLCBoU2Vzc2lvblJP LCBoUHVrLGhQcmssICZwYXJhbXNbMl0sIHNpemVvZihwYXJhbXNbMl0pKTsKKyAJc2lnblZlcmlm eVNpbmdsZURhdGEoNDgsIENLTV9SU0FfUEtDU19QU1MsIGhTZXNzaW9uUk8sIGhQdWssaFByaywg JnBhcmFtc1szXSwgc2l6ZW9mKHBhcmFtc1szXSkpOworIAlzaWduVmVyaWZ5U2luZ2xlRGF0YSg2 NCwgQ0tNX1JTQV9QS0NTX1BTUywgaFNlc3Npb25STywgaFB1ayxoUHJrLCAmcGFyYW1zWzRdLCBz aXplb2YocGFyYW1zWzRdKSk7CisgI2VuZGlmCisgCisrI2lmZGVmIFdJVEhfU0hBMV9TSUdOCisg CXNpZ25WZXJpZnlNdWx0aShDS01fU0hBMV9SU0FfUEtDU19QU1MsIGhTZXNzaW9uUk8sIGhQdWss aFByaywgJnBhcmFtc1swXSwgc2l6ZW9mKHBhcmFtc1swXSkpOworKyNlbmRpZgorIAlzaWduVmVy aWZ5TXVsdGkoQ0tNX1NIQTIyNF9SU0FfUEtDU19QU1MsIGhTZXNzaW9uUk8sIGhQdWssaFByaywg JnBhcmFtc1sxXSwgc2l6ZW9mKHBhcmFtc1sxXSkpOworIAlzaWduVmVyaWZ5TXVsdGkoQ0tNX1NI QTI1Nl9SU0FfUEtDU19QU1MsIGhTZXNzaW9uUk8sIGhQdWssaFByaywgJnBhcmFtc1syXSwgc2l6 ZW9mKHBhcmFtc1syXSkpOworIAlzaWduVmVyaWZ5TXVsdGkoQ0tNX1NIQTM4NF9SU0FfUEtDU19Q U1MsIGhTZXNzaW9uUk8sIGhQdWssaFByaywgJnBhcmFtc1szXSwgc2l6ZW9mKHBhcmFtc1szXSkp OworQEAgLTQxMiwxMiArNDE4LDE2IEBAIHZvaWQgU2lnblZlcmlmeVRlc3RzOjp0ZXN0UnNhU2ln blZlcmlmeSgpCisgI2lmbmRlZiBXSVRIX0ZJUFMKKyAJc2lnblZlcmlmeU11bHRpKENLTV9NRDVf UlNBX1BLQ1MsIGhTZXNzaW9uUlcsIGhQdWssaFByayk7CisgI2VuZGlmCisrI2lmZGVmIFdJVEhf U0hBMV9TSUdOCisgCXNpZ25WZXJpZnlNdWx0aShDS01fU0hBMV9SU0FfUEtDUywgaFNlc3Npb25S VywgaFB1ayxoUHJrKTsKKysjZW5kaWYKKyAJc2lnblZlcmlmeU11bHRpKENLTV9TSEEyMjRfUlNB X1BLQ1MsIGhTZXNzaW9uUlcsIGhQdWssaFByayk7CisgCXNpZ25WZXJpZnlNdWx0aShDS01fU0hB MjU2X1JTQV9QS0NTLCBoU2Vzc2lvblJXLCBoUHVrLGhQcmspOworIAlzaWduVmVyaWZ5TXVsdGko Q0tNX1NIQTM4NF9SU0FfUEtDUywgaFNlc3Npb25SVywgaFB1ayxoUHJrKTsKKyAJc2lnblZlcmlm eU11bHRpKENLTV9TSEE1MTJfUlNBX1BLQ1MsIGhTZXNzaW9uUlcsIGhQdWssaFByayk7CisrI2lm ZGVmIFdJVEhfU0hBMV9TSUdOCisgCXNpZ25WZXJpZnlNdWx0aShDS01fU0hBMV9SU0FfUEtDU19Q U1MsIGhTZXNzaW9uUlcsIGhQdWssaFByaywgJnBhcmFtc1swXSwgc2l6ZW9mKHBhcmFtc1swXSkp OworKyNlbmRpZgorIAlzaWduVmVyaWZ5TXVsdGkoQ0tNX1NIQTIyNF9SU0FfUEtDU19QU1MsIGhT ZXNzaW9uUlcsIGhQdWssaFByaywgJnBhcmFtc1sxXSwgc2l6ZW9mKHBhcmFtc1sxXSkpOworIAlz aWduVmVyaWZ5TXVsdGkoQ0tNX1NIQTI1Nl9SU0FfUEtDU19QU1MsIGhTZXNzaW9uUlcsIGhQdWss aFByaywgJnBhcmFtc1syXSwgc2l6ZW9mKHBhcmFtc1syXSkpOworIAlzaWduVmVyaWZ5TXVsdGko Q0tNX1NIQTM4NF9SU0FfUEtDU19QU1MsIGhTZXNzaW9uUlcsIGhQdWssaFByaywgJnBhcmFtc1sz XSwgc2l6ZW9mKHBhcmFtc1szXSkpOworQEAgLTQzMiwxMiArNDQyLDE2IEBAIHZvaWQgU2lnblZl cmlmeVRlc3RzOjp0ZXN0UnNhU2lnblZlcmlmeSgpCisgI2lmbmRlZiBXSVRIX0ZJUFMKKyAJc2ln blZlcmlmeU11bHRpKENLTV9NRDVfUlNBX1BLQ1MsIGhTZXNzaW9uUlcsIGhQdWssaFByayk7Cisg I2VuZGlmCisrI2lmZGVmIFdJVEhfU0hBMV9TSUdOCisgCXNpZ25WZXJpZnlNdWx0aShDS01fU0hB MV9SU0FfUEtDUywgaFNlc3Npb25SVywgaFB1ayxoUHJrKTsKKysjZW5kaWYKKyAJc2lnblZlcmlm eU11bHRpKENLTV9TSEEyMjRfUlNBX1BLQ1MsIGhTZXNzaW9uUlcsIGhQdWssaFByayk7CisgCXNp Z25WZXJpZnlNdWx0aShDS01fU0hBMjU2X1JTQV9QS0NTLCBoU2Vzc2lvblJXLCBoUHVrLGhQcmsp OworIAlzaWduVmVyaWZ5TXVsdGkoQ0tNX1NIQTM4NF9SU0FfUEtDUywgaFNlc3Npb25SVywgaFB1 ayxoUHJrKTsKKyAJc2lnblZlcmlmeU11bHRpKENLTV9TSEE1MTJfUlNBX1BLQ1MsIGhTZXNzaW9u UlcsIGhQdWssaFByayk7CisrI2lmZGVmIFdJVEhfU0hBMV9TSUdOCisgCXNpZ25WZXJpZnlNdWx0 aShDS01fU0hBMV9SU0FfUEtDU19QU1MsIGhTZXNzaW9uUlcsIGhQdWssaFByaywgJnBhcmFtc1sw XSwgc2l6ZW9mKHBhcmFtc1swXSkpOworKyNlbmRpZgorIAlzaWduVmVyaWZ5TXVsdGkoQ0tNX1NI QTIyNF9SU0FfUEtDU19QU1MsIGhTZXNzaW9uUlcsIGhQdWssaFByaywgJnBhcmFtc1sxXSwgc2l6 ZW9mKHBhcmFtc1sxXSkpOworIAlzaWduVmVyaWZ5TXVsdGkoQ0tNX1NIQTI1Nl9SU0FfUEtDU19Q U1MsIGhTZXNzaW9uUlcsIGhQdWssaFByaywgJnBhcmFtc1syXSwgc2l6ZW9mKHBhcmFtc1syXSkp OworIAlzaWduVmVyaWZ5TXVsdGkoQ0tNX1NIQTM4NF9SU0FfUEtDU19QU1MsIGhTZXNzaW9uUlcs IGhQdWssaFByaywgJnBhcmFtc1szXSwgc2l6ZW9mKHBhcmFtc1szXSkpOworQEAgLTQ1MiwxMiAr NDY2LDE2IEBAIHZvaWQgU2lnblZlcmlmeVRlc3RzOjp0ZXN0UnNhU2lnblZlcmlmeSgpCisgI2lm bmRlZiBXSVRIX0ZJUFMKKyAJc2lnblZlcmlmeU11bHRpKENLTV9NRDVfUlNBX1BLQ1MsIGhTZXNz aW9uUlcsIGhQdWssaFByayk7CisgI2VuZGlmCisrI2lmZGVmIFdJVEhfU0hBMV9TSUdOCisgCXNp Z25WZXJpZnlNdWx0aShDS01fU0hBMV9SU0FfUEtDUywgaFNlc3Npb25SVywgaFB1ayxoUHJrKTsK KysjZW5kaWYKKyAJc2lnblZlcmlmeU11bHRpKENLTV9TSEEyMjRfUlNBX1BLQ1MsIGhTZXNzaW9u UlcsIGhQdWssaFByayk7CisgCXNpZ25WZXJpZnlNdWx0aShDS01fU0hBMjU2X1JTQV9QS0NTLCBo U2Vzc2lvblJXLCBoUHVrLGhQcmspOworIAlzaWduVmVyaWZ5TXVsdGkoQ0tNX1NIQTM4NF9SU0Ff UEtDUywgaFNlc3Npb25SVywgaFB1ayxoUHJrKTsKKyAJc2lnblZlcmlmeU11bHRpKENLTV9TSEE1 MTJfUlNBX1BLQ1MsIGhTZXNzaW9uUlcsIGhQdWssaFByayk7CisrI2lmZGVmIFdJVEhfU0hBMV9T SUdOCisgCXNpZ25WZXJpZnlNdWx0aShDS01fU0hBMV9SU0FfUEtDU19QU1MsIGhTZXNzaW9uUlcs IGhQdWssaFByaywgJnBhcmFtc1swXSwgc2l6ZW9mKHBhcmFtc1swXSkpOworKyNlbmRpZgorIAlz aWduVmVyaWZ5TXVsdGkoQ0tNX1NIQTIyNF9SU0FfUEtDU19QU1MsIGhTZXNzaW9uUlcsIGhQdWss aFByaywgJnBhcmFtc1sxXSwgc2l6ZW9mKHBhcmFtc1sxXSkpOworIAlzaWduVmVyaWZ5TXVsdGko Q0tNX1NIQTI1Nl9SU0FfUEtDU19QU1MsIGhTZXNzaW9uUlcsIGhQdWssaFByaywgJnBhcmFtc1sy XSwgc2l6ZW9mKHBhcmFtc1syXSkpOworIAlzaWduVmVyaWZ5TXVsdGkoQ0tNX1NIQTM4NF9SU0Ff UEtDU19QU1MsIGhTZXNzaW9uUlcsIGhQdWssaFByaywgJnBhcmFtc1szXSwgc2l6ZW9mKHBhcmFt c1szXSkpOworZGlmZiAtLWdpdCBhL3NyYy9saWIvdGVzdC9TeW1tZXRyaWNBbGdvcml0aG1UZXN0 cy5jcHAgYi9zcmMvbGliL3Rlc3QvU3ltbWV0cmljQWxnb3JpdGhtVGVzdHMuY3BwCitpbmRleCA0 ZTk1NzE3Li5hYTU3NTNmIDEwMDY0NAorLS0tIGEvc3JjL2xpYi90ZXN0L1N5bW1ldHJpY0FsZ29y aXRobVRlc3RzLmNwcAorKysrIGIvc3JjL2xpYi90ZXN0L1N5bW1ldHJpY0FsZ29yaXRobVRlc3Rz LmNwcAorQEAgLTU1LDYgKzU1LDcgQEAgQ1BQVU5JVF9URVNUX1NVSVRFX1JFR0lTVFJBVElPTihT eW1tZXRyaWNBbGdvcml0aG1UZXN0cyk7CisgCisgI2lmbmRlZiBXSVRIX0ZJUFMKKyAKKysjaWZk ZWYgV0lUSF9ERVMKKyBXcmFwcGVkTWF0ZXJpYWwgcnNhMjA0OHVuZGVyZGVzNTYKKyB7CisgCSJS U0EyMDQ4IHdyYXBwZWQgdW5kZXIgREVTNTYgdXNpbmcgQ0tNX0RFU19DQkNfUEFEIiwKK0BAIC0x NTAsNiArMTUxLDcgQEAgV3JhcHBlZE1hdGVyaWFsIHJzYTIwNDh1bmRlcmRlczU2CisgCQl9LAor IAl9LAorIH07CisrI2VuZGlmIC8vIFdJVEhfREVTCisgCisgCisgV3JhcHBlZE1hdGVyaWFsIHJz YTIwNDh1bmRlcmRlczExMgorQEAgLTY0Nyw4ICs2NDksMTAgQEAgc3RkOjp2ZWN0b3I8V3JhcHBl ZE1hdGVyaWFsPiBhZXNDQkNXcmFwcGVkS2V5cyB7CisgfTsKKyAKKyBzdGQ6OnZlY3RvcjxXcmFw cGVkTWF0ZXJpYWw+IGRlc0NCQ1dyYXBwZWRLZXlzIHsKKy0jaWZuZGVmIFdJVEhfRklQUworKyNp ZiAhZGVmaW5lZChXSVRIX0ZJUFMpICYmIGRlZmluZWQoV0lUSF9ERVMpCisgCXJzYTIwNDh1bmRl cmRlczU2LAorKyNlbmRpZgorKyNpZm5kZWYgV0lUSF9GSVBTCisgCXJzYTIwNDh1bmRlcmRlczEx MiwKKyAjZW5kaWYKKyAJcnNhMjA0OHVuZGVyZGVzMTY4LAorQEAgLTc0Myw3ICs3NDcsNyBAQCBD S19SViBTeW1tZXRyaWNBbGdvcml0aG1UZXN0czo6aW1wb3J0S2V5KENLX1NFU1NJT05fSEFORExF IGhTZXNzaW9uLCBDS19CQk9PTCBiVAorIH0KKyAKKyAKKy0jaWZuZGVmIFdJVEhfRklQUworKyNp ZiAhZGVmaW5lZChXSVRIX0ZJUFMpICYmIGRlZmluZWQoV0lUSF9ERVMpCisgQ0tfUlYgU3ltbWV0 cmljQWxnb3JpdGhtVGVzdHM6OmdlbmVyYXRlRGVzS2V5KENLX1NFU1NJT05fSEFORExFIGhTZXNz aW9uLCBDS19CQk9PTCBiVG9rZW4sIENLX0JCT09MIGJQcml2YXRlLCBDS19PQkpFQ1RfSEFORExF ICZoS2V5KQorIHsKKyAJQ0tfTUVDSEFOSVNNIG1lY2hhbmlzbSA9IHsgQ0tNX0RFU19LRVlfR0VO LCBOVUxMX1BUUiwgMCB9OworQEAgLTc2MSw3ICs3NjUsOSBAQCBDS19SViBTeW1tZXRyaWNBbGdv cml0aG1UZXN0czo6Z2VuZXJhdGVEZXNLZXkoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENL X0JCTworIAkJCSAgICAga2V5QXR0cmlicywgc2l6ZW9mKGtleUF0dHJpYnMpL3NpemVvZihDS19B VFRSSUJVVEUpLAorIAkJCSAgICAgJmhLZXkpICk7CisgfQorKyNlbmRpZgorIAorKyNpZm5kZWYg V0lUSF9GSVBTCisgQ0tfUlYgU3ltbWV0cmljQWxnb3JpdGhtVGVzdHM6OmdlbmVyYXRlRGVzMktl eShDS19TRVNTSU9OX0hBTkRMRSBoU2Vzc2lvbiwgQ0tfQkJPT0wgYlRva2VuLCBDS19CQk9PTCBi UHJpdmF0ZSwgQ0tfT0JKRUNUX0hBTkRMRSAmaEtleSkKKyB7CisgCUNLX01FQ0hBTklTTSBtZWNo YW5pc20gPSB7IENLTV9ERVMyX0tFWV9HRU4sIE5VTExfUFRSLCAwIH07CitAQCAtMTgxNyw3ICsx ODIzLDcgQEAgdm9pZCBTeW1tZXRyaWNBbGdvcml0aG1UZXN0czo6dGVzdERlc0VuY3J5cHREZWNy eXB0KCkKKyAJLy8gd2l0aG91dCBwYWRkaW5nIHRoZSBtZXNzYWdlIHNpemUgbXVzdCBiZSBhIG11 bHRpcGxlIG9mIHRoZSBibG9jayBzaXplLgorIAljb25zdCBpbnQgYmxvY2tTaXplKDB4OCk7Cisg CistI2lmbmRlZiBXSVRIX0ZJUFMKKysjaWYgIWRlZmluZWQoV0lUSF9GSVBTKSAmJiBkZWZpbmVk KFdJVEhfREVTKQorIAlDS19PQkpFQ1RfSEFORExFIGhLZXkgPSBDS19JTlZBTElEX0hBTkRMRTsK KyAKKyAJLy8gR2VuZXJhdGUgYWxsIGNvbWJpbmF0aW9ucyBvZiBzZXNzaW9uL3Rva2VuIGtleXMu CitAQCAtMTgzMSw3ICsxODM3LDkgQEAgdm9pZCBTeW1tZXRyaWNBbGdvcml0aG1UZXN0czo6dGVz dERlc0VuY3J5cHREZWNyeXB0KCkKKyAJZW5jcnlwdERlY3J5cHQoe0NLTV9ERVNfQ0JDLE5VTExf UFRSLDB9LGJsb2NrU2l6ZSxoU2Vzc2lvblJPLGhLZXksYmxvY2tTaXplKk5SX09GX0JMT0NLU19J Tl9URVNUKzEsIGZhbHNlKTsKKyAJZW5jcnlwdERlY3J5cHQoe0NLTV9ERVNfRUNCLE5VTExfUFRS LDB9LGJsb2NrU2l6ZSxoU2Vzc2lvblJPLGhLZXksYmxvY2tTaXplKk5SX09GX0JMT0NLU19JTl9U RVNUKTsKKyAJZW5jcnlwdERlY3J5cHQoe0NLTV9ERVNfRUNCLE5VTExfUFRSLDB9LGJsb2NrU2l6 ZSxoU2Vzc2lvblJPLGhLZXksYmxvY2tTaXplKk5SX09GX0JMT0NLU19JTl9URVNUKzEsIGZhbHNl KTsKKysjZW5kaWYKKyAKKysjaWZuZGVmIFdJVEhfRklQUworIAlDS19PQkpFQ1RfSEFORExFIGhL ZXkyID0gQ0tfSU5WQUxJRF9IQU5ETEU7CisgCisgCS8vIEdlbmVyYXRlIGFsbCBjb21iaW5hdGlv bnMgb2Ygc2Vzc2lvbi90b2tlbiBrZXlzLgorQEAgLTE4ODYsMTcgKzE4OTQsMjEgQEAgdm9pZCBT eW1tZXRyaWNBbGdvcml0aG1UZXN0czo6dGVzdERlc1dyYXBVbndyYXAoKQorIAorIAlzdGQ6OmFy cmF5PENLX09CSkVDVF9IQU5ETEUsMz4gaEtleSB7IENLX0lOVkFMSURfSEFORExFLCBDS19JTlZB TElEX0hBTkRMRSwgQ0tfSU5WQUxJRF9IQU5ETEUgfTsKKyAKKy0jaWZuZGVmIFdJVEhfRklQUwor KyNpZiAhZGVmaW5lZChXSVRIX0ZJUFMpICYmIGRlZmluZWQoV0lUSF9ERVMpCisgCXJ2ID0gZ2Vu ZXJhdGVEZXNLZXkoaFNlc3Npb24sSU5fU0VTU0lPTixJU19QVUJMSUMsaEtleVswXSk7CisgCUNQ UFVOSVRfQVNTRVJUKHJ2ID09IENLUl9PSyk7CisrI2VuZGlmCisrI2lmbmRlZiBXSVRIX0ZJUFMK KyAJcnYgPSBnZW5lcmF0ZURlczJLZXkoaFNlc3Npb24sSU5fU0VTU0lPTixJU19QVUJMSUMsaEtl eVsxXSk7CisgCUNQUFVOSVRfQVNTRVJUKHJ2ID09IENLUl9PSyk7CisgI2VuZGlmCisgCXJ2ID0g Z2VuZXJhdGVEZXMzS2V5KGhTZXNzaW9uLElOX1NFU1NJT04sSVNfUFVCTElDLGhLZXlbMl0pOwor IAlDUFBVTklUX0FTU0VSVChydiA9PSBDS1JfT0spOworIAorLSNpZm5kZWYgV0lUSF9GSVBTCisr I2lmICFkZWZpbmVkKFdJVEhfRklQUykgJiYgZGVmaW5lZChXSVRIX0RFUykKKyAJZGVzV3JhcFVu d3JhcFJzYShDS01fREVTX0NCQ19QQUQsIGhTZXNzaW9uLCBoS2V5WzBdKTsKKysjZW5kaWYKKysj aWZuZGVmIFdJVEhfRklQUworIAlkZXNXcmFwVW53cmFwUnNhKENLTV9ERVMzX0NCQ19QQUQsIGhT ZXNzaW9uLCBoS2V5WzFdKTsKKyAjZW5kaWYKKyAJZGVzV3JhcFVud3JhcFJzYShDS01fREVTM19D QkNfUEFELCBoU2Vzc2lvbiwgaEtleVsyXSk7CitkaWZmIC0tZ2l0IGEvc3JjL2xpYi90ZXN0L1N5 bW1ldHJpY0FsZ29yaXRobVRlc3RzLmggYi9zcmMvbGliL3Rlc3QvU3ltbWV0cmljQWxnb3JpdGht VGVzdHMuaAoraW5kZXggN2Q2MGZiNS4uODc3Nzg1YiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvdGVz dC9TeW1tZXRyaWNBbGdvcml0aG1UZXN0cy5oCisrKysgYi9zcmMvbGliL3Rlc3QvU3ltbWV0cmlj QWxnb3JpdGhtVGVzdHMuaAorQEAgLTc1LDggKzc1LDEwIEBAIHB1YmxpYzoKKyBwcm90ZWN0ZWQ6 CisgCUNLX1JWIGdlbmVyYXRlR2VuZXJpY0tleShDS19TRVNTSU9OX0hBTkRMRSBoU2Vzc2lvbiwg Q0tfQkJPT0wgYlRva2VuLCBDS19CQk9PTCBiUHJpdmF0ZSwgQ0tfT0JKRUNUX0hBTkRMRSAmaEtl eSk7CisgCUNLX1JWIGdlbmVyYXRlQWVzS2V5KENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBD S19CQk9PTCBiVG9rZW4sIENLX0JCT09MIGJQcml2YXRlLCBDS19PQkpFQ1RfSEFORExFICZoS2V5 KTsKKy0jaWZuZGVmIFdJVEhfRklQUworKyNpZiAhZGVmaW5lZChXSVRIX0ZJUFMpICYmIGRlZmlu ZWQoV0lUSF9ERVMpCisgCUNLX1JWIGdlbmVyYXRlRGVzS2V5KENLX1NFU1NJT05fSEFORExFIGhT ZXNzaW9uLCBDS19CQk9PTCBiVG9rZW4sIENLX0JCT09MIGJQcml2YXRlLCBDS19PQkpFQ1RfSEFO RExFICZoS2V5KTsKKysjZW5kaWYKKysjaWZuZGVmIFdJVEhfRklQUworIAlDS19SViBnZW5lcmF0 ZURlczJLZXkoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX0JCT09MIGJUb2tlbiwgQ0tf QkJPT0wgYlByaXZhdGUsIENLX09CSkVDVF9IQU5ETEUgJmhLZXkpOworICNlbmRpZgorIAlDS19S ViBnZW5lcmF0ZURlczNLZXkoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX0JCT09MIGJU b2tlbiwgQ0tfQkJPT0wgYlByaXZhdGUsIENLX09CSkVDVF9IQU5ETEUgJmhLZXkpOworZGlmZiAt LWdpdCBhL3NyYy9saWIvdGVzdC9wMTF0ZXN0LmNwcCBiL3NyYy9saWIvdGVzdC9wMTF0ZXN0LmNw cAoraW5kZXggYmNlY2Q1OS4uYjAwZWI1NiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvdGVzdC9wMTF0 ZXN0LmNwcAorKysrIGIvc3JjL2xpYi90ZXN0L3AxMXRlc3QuY3BwCitAQCAtNjgsNyArNjgsNyBA QCBjbGFzcyBNeUxpc3RlbmVyIDogcHVibGljIENQUFVOSVRfTlM6OlRlc3RMaXN0ZW5lciB7Cisg CX0KKyB9OworIAorLWludCBtYWluKGludCAvKmFyZ2MqLywgY2hhcioqY29uc3QgLyphcmd2Ki8p CisraW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQorIHsKKyAjaWZuZGVmIFAxMV9TSEFS RURfTElCUkFSWQorICNpZm5kZWYgX1dJTjMyCitAQCAtODcsMTQgKzg3LDYgQEAgaW50IG1haW4o aW50IC8qYXJnYyovLCBjaGFyKipjb25zdCAvKmFyZ3YqLykKKyAKKyAJQ1BQVU5JVF9OUzo6VGV4 dFRlc3RSdW5uZXIgcnVubmVyOworIAlydW5uZXIuYWRkVGVzdChyZWdpc3RyeS5tYWtlVGVzdCgp KTsKKy0vKgorLWlmICggYXJnYzwyICkgeworLQkJcmV0dXJuIHJ1bm5lci5ydW4oKSA/IDAgOiAx OworLQl9CistCWlmICggc3RkOjpzdHJpbmcoImRpcmVjdCIpLmZpbmQoKihhcmd2KzEpKT09c3Rk OjpzdHJpbmc6Om5wb3MgKSB7CistCQlyZXR1cm4gcnVubmVyLnJ1bigqKGFyZ3YrMSkpID8gMCA6 IDE7CistCX0KKy0qLworIAorIAlDUFBVTklUX05TOjpUZXN0UmVzdWx0IGNvbnRyb2xsZXI7Cisg CUNQUFVOSVRfTlM6OlRlc3RSZXN1bHRDb2xsZWN0b3IgcmVzdWx0OworQEAgLTEwMyw3ICs5NSwx MCBAQCBpZiAoIGFyZ2M8MiApIHsKKyAJQ1BQVU5JVF9OUzo6QnJpZWZUZXN0UHJvZ3Jlc3NMaXN0 ZW5lciBwcm9ncmVzc0xpc3RlbmVyOworIAljb250cm9sbGVyLmFkZExpc3RlbmVyKCZwcm9ncmVz c0xpc3RlbmVyKTsKKyAKKy0JcnVubmVyLnJ1bihjb250cm9sbGVyKTsKKysJaWYgKGFyZ2MgPiAx KQorKwkJcnVubmVyLnJ1bihjb250cm9sbGVyLCBhcmd2WzFdKTsKKysJZWxzZQorKwkJcnVubmVy LnJ1bihjb250cm9sbGVyKTsKKyAKKyAJc3RkOjpvZnN0cmVhbSB4bWxGaWxlT3V0KCJ0ZXN0LXJl c3VsdHMueG1sIik7CisgCUNwcFVuaXQ6OlhtbE91dHB1dHRlciB4bWxPdXQoJnJlc3VsdCwgeG1s RmlsZU91dCk7Cg==