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: Dmitry Belyavskiy To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: Refactor embedded mac verification in FIPS module Date: Tue, 09 Jun 2026 12:45:06 GMT Message-ID: <178100910690.1.23737405291868163.rpms-openssl-500ad3d30083@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: 500ad3d30083818715ca42b77f4722594cc2edab ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnNzbAogICAgICAgICAgICBCcmFuY2ggOiByZWJhc2VfNDBiZXRhCiAg ICAgICAgICAgIENvbW1pdCA6IDUwMGFkM2QzMDA4MzgxODcxNWNhNDJiNzdmNDcyMjU5NGNjMmVk YWIKICAgICAgICAgICAgQXV0aG9yIDogRG1pdHJ5IEJlbHlhdnNraXkgPGRiZWx5YXZzQHJlZGhh dC5jb20+CiAgICAgICAgICAgIERhdGUgICA6IDIwMjMtMDEtMDVUMTE6MzA6MDArMDE6MDAKICAg ICAgICAgICAgU3RhdHMgIDogKzQ5Ly02NCBpbiAyIGZpbGUocykKICAgICAgICAgICAgVVJMICAg IDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9vcGVuc3NsL2MvNTAwYWQzZDMw MDgzODE4NzE1Y2E0MmI3N2Y0NzIyNTk0Y2MyZWRhYj9icmFuY2g9cmViYXNlXzQwYmV0YQoKICAg ICAgICAgICAgTG9nOgogICAgICAgICAgICBSZWZhY3RvciBlbWJlZGRlZCBtYWMgdmVyaWZpY2F0 aW9uIGluIEZJUFMgbW9kdWxlCgpSZXNvbHZlczogcmhieiMyMTU2MDQ1CgotLS0KZGlmZiAtLWdp dCBhLzAwMzMtRklQUy1lbWJlZC1obWFjLnBhdGNoIGIvMDAzMy1GSVBTLWVtYmVkLWhtYWMucGF0 Y2gKaW5kZXggYzc4ODA3Mi4uNDg0YTc1ZSAxMDA2NDQKLS0tIGEvMDAzMy1GSVBTLWVtYmVkLWht YWMucGF0Y2gKKysrIGIvMDAzMy1GSVBTLWVtYmVkLWhtYWMucGF0Y2gKQEAgLTEsNyArMSw3IEBA Ci1kaWZmIC11cCBvcGVuc3NsLTMuMC4wL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdC5jLmVtYmVk LWhtYWMgb3BlbnNzbC0zLjAuMC9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3QuYwotLS0tIG9wZW5z c2wtMy4wLjAvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMuZW1iZWQtaG1hYwkyMDIxLTExLTE2 IDEzOjU3OjA1LjEyNzE3MTA1NiArMDEwMAotKysrIG9wZW5zc2wtMy4wLjAvcHJvdmlkZXJzL2Zp cHMvc2VsZl90ZXN0LmMJMjAyMS0xMS0xNiAxNDowNzoyMS45NjM0MTI0NTUgKzAxMDAKLUBAIC0x NzEsMTEgKzE3MSwyNyBAQCBERVBfRklOSV9BVFRSSUJVVEUgdm9pZCBjbGVhbnVwKHZvaWQpCitk aWZmIC11cCBvcGVuc3NsLTMuMC43L3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdC5jLmVtYmVkLWht YWMgb3BlbnNzbC0zLjAuNy9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3QuYworLS0tIG9wZW5zc2wt My4wLjcvcHJvdmlkZXJzL2ZpcHMvc2VsZl90ZXN0LmMuZW1iZWQtaG1hYwkyMDIzLTAxLTA1IDEw OjAzOjQ0Ljg2NDg2OTcxMCArMDEwMAorKysrIG9wZW5zc2wtMy4wLjcvcHJvdmlkZXJzL2ZpcHMv c2VsZl90ZXN0LmMJMjAyMy0wMS0wNSAxMDoxNToxNy4wNDE2MDY0NzIgKzAxMDAKK0BAIC0xNzIs MTEgKzE3MiwyNyBAQCBERVBfRklOSV9BVFRSSUJVVEUgdm9pZCBjbGVhbnVwKHZvaWQpCiAgfQog ICNlbmRpZgogIApAQCAtMjksMTMgKzI5LDcgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMC9wcm92 aWRlcnMvZmlwcy9zZWxmX3Rlc3QuYy5lbWJlZC1obWFjIG9wZW5zc2wtMy4wLjAvcHJvdmkKICBz dGF0aWMgaW50IHZlcmlmeV9pbnRlZ3JpdHkoT1NTTF9DT1JFX0JJTyAqYmlvLCBPU1NMX0ZVTkNf QklPX3JlYWRfZXhfZm4gcmVhZF9leF9jYiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgY2hhciAqZXhwZWN0ZWQsIHNpemVfdCBleHBlY3RlZF9sZW4sCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE9TU0xfTElCX0NUWCAqbGliY3R4LCBPU1NMX1NFTEZfVEVTVCAq ZXYsCi1AQCAtMTgzLDE0ICsxOTksMjYgQEAgc3RhdGljIGludCB2ZXJpZnlfaW50ZWdyaXR5KE9T U0xfQ09SRV9CSQotIHsKLSAgICAgaW50IHJldCA9IDAsIHN0YXR1czsKLSAgICAgdW5zaWduZWQg Y2hhciBvdXRbTUFYX01EX1NJWkVdOwotLSAgICB1bnNpZ25lZCBjaGFyIGJ1ZltJTlRFR1JJVFlf QlVGX1NJWkVdOwotKyAgICB1bnNpZ25lZCBjaGFyIGJ1ZltJTlRFR1JJVFlfQlVGX1NJWkUrSE1B Q19MRU5dOwotICAgICBzaXplX3QgYnl0ZXNfcmVhZCA9IDAsIG91dF9sZW4gPSAwOworQEAgLTE4 OSw5ICsyMDUsMjAgQEAgc3RhdGljIGludCB2ZXJpZnlfaW50ZWdyaXR5KE9TU0xfQ09SRV9CSQog ICAgICBFVlBfTUFDICptYWMgPSBOVUxMOwogICAgICBFVlBfTUFDX0NUWCAqY3R4ID0gTlVMTDsK ICAgICAgT1NTTF9QQVJBTSBwYXJhbXNbMl0sICpwID0gcGFyYW1zOwpAQCAtNDQsNyArMzgsNiBA QCBkaWZmIC11cCBvcGVuc3NsLTMuMC4wL3Byb3ZpZGVycy9maXBzL3NlbGZfdGVzdC5jLmVtYmVk LWhtYWMgb3BlbnNzbC0zLjAuMC9wcm92aQogKyAgICBzdHJ1Y3QgbGlua19tYXAgKmxtID0gTlVM TDsKICsgICAgdW5zaWduZWQgbG9uZyBwYWRkcjsKICsgICAgdW5zaWduZWQgbG9uZyBvZmYgPSAw OwotKyAgICBpbnQgaGF2ZV9yZXN0ID0gMDsKICAKICAgICAgT1NTTF9TRUxGX1RFU1Rfb25iZWdp bihldiwgZXZlbnRfdHlwZSwgT1NTTF9TRUxGX1RFU1RfREVTQ19JTlRFR1JJVFlfSE1BQyk7CiAg CkBAIC01Nyw2NCArNTAsNTIgQEAgZGlmZiAtdXAgb3BlbnNzbC0zLjAuMC9wcm92aWRlcnMvZmlw cy9zZWxmX3Rlc3QuYy5lbWJlZC1obWFjIG9wZW5zc2wtMy4wLjAvcHJvdmkKICAgICAgbWFjID0g RVZQX01BQ19mZXRjaChsaWJjdHgsIE1BQ19OQU1FLCBOVUxMKTsKICAgICAgaWYgKG1hYyA9PSBO VUxMKQogICAgICAgICAgZ290byBlcnI7Ci1AQCAtMjA0LDEyICsyMzMsNTMgQEAgc3RhdGljIGlu dCB2ZXJpZnlfaW50ZWdyaXR5KE9TU0xfQ09SRV9CSQorQEAgLTIwNSwxMyArMjMzLDQyIEBAIHN0 YXRpYyBpbnQgdmVyaWZ5X2ludGVncml0eShPU1NMX0NPUkVfQkkKICAgICAgaWYgKCFFVlBfTUFD X2luaXQoY3R4LCBmaXhlZF9rZXksIHNpemVvZihmaXhlZF9rZXkpLCBwYXJhbXMpKQogICAgICAg ICAgZ290byBlcnI7CiAgCi0rICAgIHN0YXR1cyA9IHJlYWRfZXhfY2IoYmlvLCBidWYsIEhNQUNf TEVOLCAmYnl0ZXNfcmVhZCk7Ci0rICAgIGlmIChzdGF0dXMgIT0gMSB8fCBieXRlc19yZWFkICE9 IEhNQUNfTEVOKQotKyAgICAgICAgZ290byBlcnI7Ci0rICAgIG9mZiArPSBITUFDX0xFTjsKLSsK LSAgICAgd2hpbGUgKDEpIHsKKy0gICAgd2hpbGUgKDEpIHsKIC0gICAgICAgIHN0YXR1cyA9IHJl YWRfZXhfY2IoYmlvLCBidWYsIHNpemVvZihidWYpLCAmYnl0ZXNfcmVhZCk7Ci0tICAgICAgICBp ZiAoc3RhdHVzICE9IDEpCi0rICAgICAgICBzdGF0dXMgPSByZWFkX2V4X2NiKGJpbywgYnVmK0hN QUNfTEVOLCBJTlRFR1JJVFlfQlVGX1NJWkUsICZieXRlc19yZWFkKTsKLSsgICAgICAgIGlmIChz dGF0dXMgIT0gMSkgewotKyAgICAgICAgICAgIGhhdmVfcmVzdCA9IDE7Ci0rICAgICAgICAgICAg YnJlYWs7Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBpZiAoYnl0ZXNfcmVhZCA9PSBJTlRFR1JJ VFlfQlVGX1NJWkUpIHsgLyogRnVsbCBibG9jayAqLwotKyAgICAgICAgICAgIC8qIExvZ2ljOgot KyAgICAgICAgICAgICAqIFdlIGhhdmUgSE1BQ19MRU4gKHJlYWQgYmVmb3JlKSArIElOVEVHUklU WV9CVUZfU0laRSAocmVhZCBub3cpIGluIGJ1ZmZlcgotKyAgICAgICAgICAgICAqIFdlIGNhbGN1 bGF0ZSBITUFDIGZyb20gZmlyc3QgSU5URUdSSVRZX0JVRl9TSVpFIGJ5dGVzCi0rICAgICAgICAg ICAgICogYW5kIG1vdmUgbGFzdCBITUFDX0xFTiBieXRlcyB0byB0aGUgYmVnaW5uaW5nIG9mIHRo ZSBidWZmZXIKLSsgICAgICAgICAgICAgKgotKyAgICAgICAgICAgICAqIElmIHdlIGhhdmUgcmVh ZCAoYSBwYXJ0IG9mKSBidWZmZXIgZmlwc19obWFjX2NvbnRhaW5lcgotKyAgICAgICAgICAgICAq IHdlIHNob3VsZCByZXBsYWNlIGl0IHdpdGggemVyb3MuCi0rICAgICAgICAgICAgICogSWYgaXQg aXMgaW5zaWRlIG91ciBjdXJyZW50IGJ1ZmZlciwgd2Ugd2lsbCB1cGRhdGUgbm93LgotKyAgICAg ICAgICAgICAqIElmIGl0IGludGVyc2VjdHMgdGhlIHVwcGVyIGJvdW5kLCB3ZSB3aWxsIGNsZWFu IHVwIG9uIHRoZSBuZXh0IHN0ZXAuCi0rICAgICAgICAgICAgICovCi0rICAgICAgICAgICAgaWYg KG9mZiAtIEhNQUNfTEVOIDw9IHBhZGRyICYmIHBhZGRyIDw9IG9mZiArIGJ5dGVzX3JlYWQpCi0r ICAgICAgICAgICAgICAgIG1lbXNldCAoYnVmICsgSE1BQ19MRU4gKyBwYWRkciAtIG9mZiwgMCwg SE1BQ19MRU4pOwotKyAgICAgICAgICAgIG9mZiArPSBieXRlc19yZWFkOwotKwotKyAgICAgICAg ICAgIGlmICghRVZQX01BQ191cGRhdGUoY3R4LCBidWYsIGJ5dGVzX3JlYWQpKQotKyAgICAgICAg ICAgICAgICBnb3RvIGVycjsKLSsgICAgICAgICAgICBtZW1jcHkgKGJ1ZiwgYnVmK0lOVEVHUklU WV9CVUZfU0laRSwgSE1BQ19MRU4pOwotKyAgICAgICAgfSBlbHNlIHsgLyogRmluYWwgYmxvY2sg Ki8KLSsgICAgICAgICAgICAvKiBMb2dpYyBpcyBiYXNpY2FsbHkgdGhlIHNhbWUgYXMgaW4gcHJl dmlvdXMgYnJhbmNoCi0rICAgICAgICAgICAgICogYnV0IHdlIGNhbGN1bGF0ZSBITUFDIGZyb20g SE1BQ19MRU4gKHJlc3Qgb2YgcHJldmlvdXMgc3RlcCkKLSsgICAgICAgICAgICAgKiBhbmQgYnl0 ZXNfcmVhZCByZWFkIG9uIHRoaXMgc3RlcAotKyAgICAgICAgICAgICAqICovCi0rICAgICAgICAg ICAgaWYgKG9mZiAtIEhNQUNfTEVOIDw9IHBhZGRyICYmIHBhZGRyIDw9IG9mZiArIGJ5dGVzX3Jl YWQpCi0rICAgICAgICAgICAgICAgIG1lbXNldCAoYnVmICsgSE1BQ19MRU4gKyBwYWRkciAtIG9m ZiwgMCwgSE1BQ19MRU4pOwotKyAgICAgICAgICAgIGlmICghRVZQX01BQ191cGRhdGUoY3R4LCBi dWYsIGJ5dGVzX3JlYWQrSE1BQ19MRU4pKQotKyAgICAgICAgICAgICAgICBnb3RvIGVycjsKLSsg ICAgICAgICAgICBvZmYgKz0gYnl0ZXNfcmVhZDsKKysgICAgd2hpbGUgKChvZmYgKyBJTlRFR1JJ VFlfQlVGX1NJWkUpIDw9IHBhZGRyKSB7CisrICAgICAgICBzdGF0dXMgPSByZWFkX2V4X2NiKGJp bywgYnVmLCBJTlRFR1JJVFlfQlVGX1NJWkUsICZieXRlc19yZWFkKTsKKyAgICAgICAgIGlmIChz dGF0dXMgIT0gMSkKICAgICAgICAgICAgICBicmVhazsKLS0gICAgICAgIGlmICghRVZQX01BQ191 cGRhdGUoY3R4LCBidWYsIGJ5dGVzX3JlYWQpKQotKyAgICAgICAgfQotKyAgICB9Ci0rICAgIGlm IChoYXZlX3Jlc3QpIHsKLSsgICAgICAgIGlmICghRVZQX01BQ191cGRhdGUoY3R4LCBidWYsIEhN QUNfTEVOKSkKKyAgICAgICAgIGlmICghRVZQX01BQ191cGRhdGUoY3R4LCBidWYsIGJ5dGVzX3Jl YWQpKQogICAgICAgICAgICAgIGdvdG8gZXJyOwotKyAgICAgICAgb2ZmICs9IEhNQUNfTEVOOwor KwlvZmYgKz0gYnl0ZXNfcmVhZDsKICAgICAgfQorKworKyAgICBpZiAob2ZmICsgSU5URUdSSVRZ X0JVRl9TSVpFID4gcGFkZHIpIHsKKysgICAgICAgIGludCBkZWx0YSA9IHBhZGRyIC0gb2ZmOwor KyAgICAgICAgc3RhdHVzID0gcmVhZF9leF9jYihiaW8sIGJ1ZiwgZGVsdGEsICZieXRlc19yZWFk KTsKKysgICAgICAgIGlmIChzdGF0dXMgIT0gMSkKKysgICAgICAgICAgICBnb3RvIGVycjsKKysg ICAgICAgIGlmICghRVZQX01BQ191cGRhdGUoY3R4LCBidWYsIGJ5dGVzX3JlYWQpKQorKyAgICAg ICAgICAgIGdvdG8gZXJyOworKwlvZmYgKz0gYnl0ZXNfcmVhZDsKKysKKysgICAgICAgIHN0YXR1 cyA9IHJlYWRfZXhfY2IoYmlvLCBidWYsIEhNQUNfTEVOLCAmYnl0ZXNfcmVhZCk7CisrICAgICAg ICBtZW1zZXQoYnVmLCAwLCBITUFDX0xFTik7CisrICAgICAgICBpZiAoc3RhdHVzICE9IDEpCisr ICAgICAgICAgICAgZ290byBlcnI7CisrICAgICAgICBpZiAoIUVWUF9NQUNfdXBkYXRlKGN0eCwg YnVmLCBieXRlc19yZWFkKSkKKysgICAgICAgICAgICBnb3RvIGVycjsKKysJb2ZmICs9IGJ5dGVz X3JlYWQ7CisrICAgIH0KKysKKysgICAgd2hpbGUgKGJ5dGVzX3JlYWQgPiAwKSB7CisrICAgICAg ICBzdGF0dXMgPSByZWFkX2V4X2NiKGJpbywgYnVmLCBJTlRFR1JJVFlfQlVGX1NJWkUsICZieXRl c19yZWFkKTsKKysgICAgICAgIGlmIChzdGF0dXMgIT0gMSkKKysgICAgICAgICAgICBicmVhazsK KysgICAgICAgIGlmICghRVZQX01BQ191cGRhdGUoY3R4LCBidWYsIGJ5dGVzX3JlYWQpKQorKyAg ICAgICAgICAgIGdvdG8gZXJyOworKwlvZmYgKz0gYnl0ZXNfcmVhZDsKKysgICAgfQorKwogICAg ICBpZiAoIUVWUF9NQUNfZmluYWwoY3R4LCBvdXQsICZvdXRfbGVuLCBzaXplb2Yob3V0KSkpCiAg ICAgICAgICBnb3RvIGVycjsKLUBAIC0yODQsOCArMzU4LDcgQEAgaW50IFNFTEZfVEVTVF9wb3N0 KFNFTEZfVEVTVF9QT1NUX1BBUkFNUworIAorQEAgLTI4NSw4ICszNDIsNyBAQCBpbnQgU0VMRl9U RVNUX3Bvc3QoU0VMRl9URVNUX1BPU1RfUEFSQU1TCiAgICAgICAgICBDUllQVE9fVEhSRUFEX3Vu bG9jayhmaXBzX3N0YXRlX2xvY2spOwogICAgICB9CiAgCkBAIC0xMjQsNyArMTA1LDcgQEAgZGlm ZiAtdXAgb3BlbnNzbC0zLjAuMC9wcm92aWRlcnMvZmlwcy9zZWxmX3Rlc3QuYy5lbWJlZC1obWFj IG9wZW5zc2wtMy4wLjAvcHJvdmkKICAgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX1BST1YsIFBS T1ZfUl9NSVNTSU5HX0NPTkZJR19EQVRBKTsKICAgICAgICAgIGdvdG8gZW5kOwogICAgICB9Ci1A QCAtMjk0LDggKzM2Nyw5IEBAIGludCBTRUxGX1RFU1RfcG9zdChTRUxGX1RFU1RfUE9TVF9QQVJB TVMKK0BAIC0zMDUsOCArMzYxLDkgQEAgaW50IFNFTEZfVEVTVF9wb3N0KFNFTEZfVEVTVF9QT1NU X1BBUkFNUwogICAgICBpZiAoZXYgPT0gTlVMTCkKICAgICAgICAgIGdvdG8gZW5kOwogIApAQCAt MTM2LDcgKzExNyw3IEBAIGRpZmYgLXVwIG9wZW5zc2wtMy4wLjAvcHJvdmlkZXJzL2ZpcHMvc2Vs Zl90ZXN0LmMuZW1iZWQtaG1hYyBvcGVuc3NsLTMuMC4wL3Byb3ZpCiAgICAgIGlmIChtb2R1bGVf Y2hlY2tzdW0gPT0gTlVMTCkgewogICAgICAgICAgRVJSX3JhaXNlKEVSUl9MSUJfUFJPViwgUFJP Vl9SX0lOVkFMSURfQ09ORklHX0RBVEEpOwogICAgICAgICAgZ290byBlbmQ7Ci1AQCAtMzU3LDcg KzQzMSw2IEBAIGludCBTRUxGX1RFU1RfcG9zdChTRUxGX1RFU1RfUE9TVF9QQVJBTVMKK0BAIC0z NTYsNyArNDEzLDYgQEAgaW50IFNFTEZfVEVTVF9wb3N0KFNFTEZfVEVTVF9QT1NUX1BBUkFNUwog ICAgICBvayA9IDE7CiAgZW5kOgogICAgICBPU1NMX1NFTEZfVEVTVF9mcmVlKGV2KTsKCmRpZmYg LS1naXQgYS9vcGVuc3NsLnNwZWMgYi9vcGVuc3NsLnNwZWMKaW5kZXggYmMxMWYyMS4uMGVlYTli ZiAxMDA2NDQKLS0tIGEvb3BlbnNzbC5zcGVjCisrKyBiL29wZW5zc2wuc3BlYwpAQCAtMjksNyAr MjksNyBAQCBwcmludChzdHJpbmcuc3ViKGhhc2gsIDAsIDE2KSkKIFN1bW1hcnk6IFV0aWxpdGll cyBmcm9tIHRoZSBnZW5lcmFsIHB1cnBvc2UgY3J5cHRvZ3JhcGh5IGxpYnJhcnkgd2l0aCBUTFMg aW1wbGVtZW50YXRpb24KIE5hbWU6IG9wZW5zc2wKIFZlcnNpb246IDMuMC43Ci1SZWxlYXNlOiAx JXs/ZGlzdH0KK1JlbGVhc2U6IDIlez9kaXN0fQogRXBvY2g6IDEKICMgV2UgaGF2ZSB0byByZW1v dmUgY2VydGFpbiBwYXRlbnRlZCBhbGdvcml0aG1zIGZyb20gdGhlIG9wZW5zc2wgc291cmNlCiAj IHRhcmJhbGwgd2l0aCB0aGUgaG9iYmxlLW9wZW5zc2wgc2NyaXB0IHdoaWNoIGlzIGluY2x1ZGVk IGJlbG93LgpAQCAtNTMwLDYgKzUzMCwxMCBAQCBpbnN0YWxsIC1tNjQ0ICV7U09VUkNFOX0gXAog JWxkY29uZmlnX3NjcmlwdGxldHMgbGlicwogCiAlY2hhbmdlbG9nCisqIFRodSBKYW4gMDUgMjAy MyBEbWl0cnkgQmVseWF2c2tpeSA8ZGJlbHlhdnNAcmVkaGF0LmNvbT4gLSAxOjMuMC43LTIKKy0g UmVmYWN0b3IgZW1iZWRkZWQgbWFjIHZlcmlmaWNhdGlvbiBpbiBGSVBTIG1vZHVsZQorICBSZXNv bHZlczogcmhieiMyMTU2MDQ1CisKICogRnJpIERlYyAyMyAyMDIyIERtaXRyeSBCZWx5YXZza2l5 IDxkYmVseWF2c0ByZWRoYXQuY29tPiAtIDE6My4wLjctMQogLSBSZWJhc2UgdG8gdXBzdHJlYW0g dmVyc2lvbiAzLjAuNwogLSBDOTkgY29tcGF0aWJpbGl0eSBpbiBkb3duc3RyZWFtLW9ubHkgMDAz Mi1Gb3JjZS1maXBzLnBhdGNoCg==