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: Mattias Ellert To: git-commits@fedoraproject.org Subject: [rpms/xrootd] epel10: Update to version 6.0.2 Date: Mon, 01 Jun 2026 04:19:23 GMT Message-ID: <178028756334.1.2021239713509241656.rpms-xrootd-8acacae375b0@fedoraproject.org> List-ID: X-Git-Repo: rpms/xrootd X-Git-Branch: epel10 X-Git-Rev: 8acacae375b0e25f539031b7d654e99d0f717145 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMveHJvb3RkCiAgICAgICAgICAgIEJyYW5jaCA6IGVwZWwxMAogICAgICAgICAg ICBDb21taXQgOiA4YWNhY2FlMzc1YjBlMjVmNTM5MDMxYjdkNjU0ZTk5ZDBmNzE3MTQ1CiAgICAg ICAgICAgIEF1dGhvciA6IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1 LnNlPgogICAgICAgICAgICBEYXRlICAgOiAyMDI2LTA2LTAxVDA0OjIyOjM2KzAyOjAwCiAgICAg ICAgICAgIFN0YXRzICA6ICs2NDcvLTMxOCBpbiAxMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAg ICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMveHJvb3RkL2MvOGFjYWNhZTM3 NWIwZTI1ZjUzOTAzMWI3ZDY1NGU5OWQwZjcxNzE0NT9icmFuY2g9ZXBlbDEwCgogICAgICAgICAg ICBMb2c6CiAgICAgICAgICAgIFVwZGF0ZSB0byB2ZXJzaW9uIDYuMC4yCgpBZGFwdCB0byBPcGVu U1NMIDQuMApEcm9wIHBhdGNoZXMgYWNjZXB0ZWQgdXBzdHJlYW0KCi0tLQpkaWZmIC0tZ2l0IGEv MDAwMS1BZGQtaW5jbHVkZS1YcmRTeXMtWHJkU3lzUGxhdGZvcm0uaGgtZm9yLU1BWFBBVEhMRU4u cGF0Y2ggYi8wMDAxLUFkZC1pbmNsdWRlLVhyZFN5cy1YcmRTeXNQbGF0Zm9ybS5oaC1mb3ItTUFY UEFUSExFTi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQ5YzM4MC4uMDAw MDAwMAotLS0gYS8wMDAxLUFkZC1pbmNsdWRlLVhyZFN5cy1YcmRTeXNQbGF0Zm9ybS5oaC1mb3It TUFYUEFUSExFTi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb20gZjBj YjNjZTc4ZDllMWJkMmJjYWM3YzQzZThiMjcyYjkzNTBlYzNmNiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNl PgotRGF0ZTogTW9uLCAyMCBBcHIgMjAyNiAyMToxNjoxMSArMDIwMAotU3ViamVjdDogW1BBVENI IDEvNl0gQWRkICNpbmNsdWRlICJYcmRTeXMvWHJkU3lzUGxhdGZvcm0uaGgiIGZvciBNQVhQQVRI TEVOCi0KLS0tLQotIHNyYy9YcmRPc3NBcmMvWHJkT3NzQXJjQmFja3VwLmNjIHwgMSArCi0gc3Jj L1hyZE9zc0FyYy9YcmRPc3NBcmNDb25maWcuY2MgfCAxICsKLSAyIGZpbGVzIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL1hyZE9zc0FyYy9YcmRPc3NBcmNCYWNr dXAuY2MgYi9zcmMvWHJkT3NzQXJjL1hyZE9zc0FyY0JhY2t1cC5jYwotaW5kZXggZjI0OTEyY2I5 Li5mNDllN2JkYWIgMTAwNjQ0Ci0tLS0gYS9zcmMvWHJkT3NzQXJjL1hyZE9zc0FyY0JhY2t1cC5j YwotKysrIGIvc3JjL1hyZE9zc0FyYy9YcmRPc3NBcmNCYWNrdXAuY2MKLUBAIC00Nyw2ICs0Nyw3 IEBACi0gI2luY2x1ZGUgIlhyZE91Yy9YcmRPdWNTdHJlYW0uaGgiCi0gCi0gI2luY2x1ZGUgIlhy ZFN5cy9YcmRTeXNFcnJvci5oaCIKLSsjaW5jbHVkZSAiWHJkU3lzL1hyZFN5c1BsYXRmb3JtLmho IgotICNpbmNsdWRlICJYcmRTeXMvWHJkU3lzUHRocmVhZC5oaCIKLSAKLSAvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLwotZGlmZiAtLWdpdCBhL3NyYy9YcmRPc3NBcmMvWHJkT3NzQXJjQ29uZmlnLmNj IGIvc3JjL1hyZE9zc0FyYy9YcmRPc3NBcmNDb25maWcuY2MKLWluZGV4IDdmNmVlMGFjOC4uNjIw YzBiZWQxIDEwMDY0NAotLS0tIGEvc3JjL1hyZE9zc0FyYy9YcmRPc3NBcmNDb25maWcuY2MKLSsr KyBiL3NyYy9YcmRPc3NBcmMvWHJkT3NzQXJjQ29uZmlnLmNjCi1AQCAtNjEsNiArNjEsNyBAQAot ICNpbmNsdWRlICJYcmRPdWMvWHJkT3VjVXRpbHMuaGgiCi0gCi0gI2luY2x1ZGUgIlhyZFN5cy9Y cmRTeXNFcnJvci5oaCIKLSsjaW5jbHVkZSAiWHJkU3lzL1hyZFN5c1BsYXRmb3JtLmhoIgotIAot IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKiovCi0gLyogICAgICAgICAgICAgICAgICAgICAgICBHIGwg byBiIGEgbCAgIE8gYiBqIGUgYyB0IHMgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS0tIAot Mi41My4wCi0KCmRpZmYgLS1naXQgYS8wMDAxLUluY3JlYXNlLXRpbWVvdXRzLWZvci1zbG93LWRl Ymlhbi1idWlsZGVycy5wYXRjaCBiLzAwMDEtSW5jcmVhc2UtdGltZW91dHMtZm9yLXNsb3ctZGVi aWFuLWJ1aWxkZXJzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZDBlYzg1 Li4wMDAwMDAwCi0tLSBhLzAwMDEtSW5jcmVhc2UtdGltZW91dHMtZm9yLXNsb3ctZGViaWFuLWJ1 aWxkZXJzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotRnJvbSA0NjEwMTBi MDgxMWFlNTAxM2RlNTM0YmVmZDg5YzRjNmRiZDU4MDM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogTWF0dGlhcyBFbGxlcnQgPG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+Ci1E YXRlOiBNb24sIDIwIEFwciAyMDI2IDIzOjE0OjExICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIElu Y3JlYXNlIHRpbWVvdXRzIGZvciBzbG93IGRlYmlhbiBidWlsZGVycwotCi0tLS0KLSB0ZXN0cy9Y Um9vdEQvdGVzdC5zaCAgICAgIHwgMiArLQotIHRlc3RzL1hyZENsSHR0cC9zZXR1cC5zaCAgfCA0 ICsrLS0KLSB0ZXN0cy9YcmRDbFMzL3MzLXNldHVwLnNoIHwgNCArKy0tCi0gMyBmaWxlcyBjaGFu Z2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0 cy9YUm9vdEQvdGVzdC5zaCBiL3Rlc3RzL1hSb290RC90ZXN0LnNoCi1pbmRleCBiZTE2MGEyY2Yu LmU4NWMwOTA1MyAxMDA3NTUKLS0tLSBhL3Rlc3RzL1hSb290RC90ZXN0LnNoCi0rKysgYi90ZXN0 cy9YUm9vdEQvdGVzdC5zaAotQEAgLTU4LDcgKzU4LDcgQEAgZXhwb3J0IFhSRF9MT0dMRVZFTCBY UkRfTE9HRklMRQotICMgUmVkdWNlIGRlZmF1bHQgdGltZW91dHMgdG8gY2F0Y2ggZXJyb3JzIHF1 aWNrbHkgYW5kIHByZXZlbnQgdGhlIHRlc3QKLSAjIHN1aXRlIGZyb20gZ2V0dGluZyBzdHVjayB3 YWl0aW5nIGZvciB0aW1lb3V0cyB3aGlsZSBydW5uaW5nLgotIAotLTogIiR7WFJEX1JFUVVFU1RU SU1FT1VUOj0xNX0iCi0rOiAiJHtYUkRfUkVRVUVTVFRJTUVPVVQ6PTYwfSIKLSA6ICIke1hSRF9T VFJFQU1USU1FT1VUOj0xMH0iCi0gOiAiJHtYUkRfVElNRU9VVFJFU09MVVRJT046PTF9IgotIAot ZGlmZiAtLWdpdCBhL3Rlc3RzL1hyZENsSHR0cC9zZXR1cC5zaCBiL3Rlc3RzL1hyZENsSHR0cC9z ZXR1cC5zaAotaW5kZXggZDNmNGNhOTAxLi5kZjQ5MzA4ZjkgMTAwNzU1Ci0tLS0gYS90ZXN0cy9Y cmRDbEh0dHAvc2V0dXAuc2gKLSsrKyBiL3Rlc3RzL1hyZENsSHR0cC9zZXR1cC5zaAotQEAgLTQ0 NSw3ICs0NDUsNyBAQCBlY2hvICJDYWNoZSBzdGFydGVkIGF0IHBvcnQgJENBQ0hFX1BPUlQiCi0g Ci0gaWYgISAiJEJJTkFSWV9ESVIvYmluL3hyZHNjaXRva2Vucy1jcmVhdGUtdG9rZW4iIFwKLSAg ICAgaXNzdWVyX3B1YmxpYy5wZW0gaXNzdWVyX3ByaXZhdGUucGVtIHRlc3Rfa2V5IFwKLS0gICAg aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBzdG9yYWdlLnJlYWQ6LyA2MDAgPiAiJFJVTkRJUi90b2tl biI7IHRoZW4KLSsgICAgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBzdG9yYWdlLnJlYWQ6LyAzNjAw ID4gIiRSVU5ESVIvdG9rZW4iOyB0aGVuCi0gICBlY2hvICJGYWlsZWQgdG8gZ2VuZXJhdGUgcmVh ZCB0b2tlbiIKLSAgIGV4aXQgMQotIGZpCi1AQCAtNDUzLDcgKzQ1Myw3IEBAIGVjaG8gIlNhbXBs ZSByZWFkIHRva2VuIGF2YWlsYWJsZSBhdCAkUlVORElSL3Rva2VuIgotIAotIGlmICEgIiRCSU5B UllfRElSL2Jpbi94cmRzY2l0b2tlbnMtY3JlYXRlLXRva2VuIiBcCi0gICAgIGlzc3Vlcl9wdWJs aWMucGVtIGlzc3Vlcl9wcml2YXRlLnBlbSB0ZXN0X2tleSBcCi0tICAgIGh0dHBzOi8vbG9jYWxo b3N0Ojk0NDMgc3RvcmFnZS5tb2RpZnk6LyA2MDAgPiAiJFJVTkRJUi93cml0ZS50b2tlbiI7IHRo ZW4KLSsgICAgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBzdG9yYWdlLm1vZGlmeTovIDM2MDAgPiAi JFJVTkRJUi93cml0ZS50b2tlbiI7IHRoZW4KLSAgIGVjaG8gIkZhaWxlZCB0byBnZW5lcmF0ZSB3 cml0ZSB0b2tlbiIKLSAgIGV4aXQgMQotIGZpCi1kaWZmIC0tZ2l0IGEvdGVzdHMvWHJkQ2xTMy9z My1zZXR1cC5zaCBiL3Rlc3RzL1hyZENsUzMvczMtc2V0dXAuc2gKLWluZGV4IDk2MjgyNDkzNi4u NGMxZDM1NmEyIDEwMDc1NQotLS0tIGEvdGVzdHMvWHJkQ2xTMy9zMy1zZXR1cC5zaAotKysrIGIv dGVzdHMvWHJkQ2xTMy9zMy1zZXR1cC5zaAotQEAgLTI2Nyw3ICsyNjcsNyBAQCBmaQotIAotIGlm ICEgIiRCSU5BUllfRElSL2Jpbi94cmRzY2l0b2tlbnMtY3JlYXRlLXRva2VuIiBcCi0gICAgICIk UlVORElSL2lzc3Vlci9pc3N1ZXJfcHVibGljLnBlbSIgIiRSVU5ESVIvaXNzdWVyL2lzc3Vlcl9w cml2YXRlLnBlbSIgdGVzdF9rZXkgXAotLSAgICBodHRwczovL2xvY2FsaG9zdDo5NDQzIHN0b3Jh Z2UucmVhZDovIDYwMCA+ICIkUlVORElSL3Rva2VuIjsgdGhlbgotKyAgICBodHRwczovL2xvY2Fs aG9zdDo5NDQzIHN0b3JhZ2UucmVhZDovIDM2MDAgPiAiJFJVTkRJUi90b2tlbiI7IHRoZW4KLSAg IGVjaG8gIkZhaWxlZCB0byBnZW5lcmF0ZSByZWFkIHRva2VuIgotICAgZXhpdCAxCi0gZmkKLUBA IC0yNzUsNyArMjc1LDcgQEAgZWNobyAiU2FtcGxlIHJlYWQgdG9rZW4gYXZhaWxhYmxlIGF0ICRS VU5ESVIvdG9rZW4iCi0gICAKLSBpZiAhICIkQklOQVJZX0RJUi9iaW4veHJkc2NpdG9rZW5zLWNy ZWF0ZS10b2tlbiIgXAotICAgICAiJFJVTkRJUi9pc3N1ZXIvaXNzdWVyX3B1YmxpYy5wZW0iICIk UlVORElSL2lzc3Vlci9pc3N1ZXJfcHJpdmF0ZS5wZW0iIHRlc3Rfa2V5IFwKLS0gICAgaHR0cHM6 Ly9sb2NhbGhvc3Q6OTQ0MyBzdG9yYWdlLm1vZGlmeTovIDYwMCA+ICIkUlVORElSL3dyaXRlLnRv a2VuIjsgdGhlbgotKyAgICBodHRwczovL2xvY2FsaG9zdDo5NDQzIHN0b3JhZ2UubW9kaWZ5Oi8g MzYwMCA+ICIkUlVORElSL3dyaXRlLnRva2VuIjsgdGhlbgotICAgZWNobyAiRmFpbGVkIHRvIGdl bmVyYXRlIHdyaXRlIHRva2VuIgotICAgZXhpdCAxIAotIGZpCi0tLSAKLTIuNTMuMAotCgpkaWZm IC0tZ2l0IGEvMDAwMS1YcmRDbEh0dHAtRml4LWJ1Zy1wcmV2ZW50aW5nLXRoZS1jb25maWd1cmF0 aW9uLW9mLXRoLnBhdGNoIGIvMDAwMS1YcmRDbEh0dHAtRml4LWJ1Zy1wcmV2ZW50aW5nLXRoZS1j b25maWd1cmF0aW9uLW9mLXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjk1MjZjMzIKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAxLVhyZENsSHR0cC1GaXgtYnVnLXBy ZXZlbnRpbmctdGhlLWNvbmZpZ3VyYXRpb24tb2YtdGgucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAor RnJvbSA3MWVhNGI1YjJjNjg5Mzc1MDBmNGM3YjcwYTlkNzc1NzgxNzc2ZWI1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogQnJpYW4gQm9ja2VsbWFuIDxiYm9ja2VsbWFuQG1vcmdyaWRn ZS5vcmc+CitEYXRlOiBUaHUsIDIxIE1heSAyMDI2IDA4OjQ0OjAzIC0wNTAwCitTdWJqZWN0OiBb UEFUQ0hdIFtYcmRDbEh0dHBdIEZpeCBidWcgcHJldmVudGluZyB0aGUgY29uZmlndXJhdGlvbiBv ZiB0aHJlYWRzCisKK0FwcGVhcnMgYSBwcmlvciByZWZhY3RvcmluZyBjYXVzZWQgdGhlIHRocmVh ZCBjb25maWd1cmF0aW9uIHRvIHVzZQordGhlIHdyb25nIHZhcmlhYmxlLCBjYXVzaW5nIDggd29y a2VyIHRocmVhZHMgdG8gYmUgdXNlZCByZWdhcmRsZXNzCitvZiB0aGUgY3VycmVudCBjb25maWd1 cmF0aW9uLgorLS0tCisgc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBGYWN0b3J5LmNjIHwgMiArLQor IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0t Z2l0IGEvc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBGYWN0b3J5LmNjIGIvc3JjL1hyZENsSHR0cC9Y cmRDbEh0dHBGYWN0b3J5LmNjCitpbmRleCA4MTQxM2VmZjQuLjA4ZDhlZjhiZCAxMDA2NDQKKy0t LSBhL3NyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwRmFjdG9yeS5jYworKysrIGIvc3JjL1hyZENsSHR0 cC9YcmRDbEh0dHBGYWN0b3J5LmNjCitAQCAtMTk0LDcgKzE5NCw3IEBAIEZhY3Rvcnk6OkluaXRp YWxpemUoKQorICAgICAgICAgYXV0byAmY2FjaGUgPSBYcmRDbEh0dHA6OlZlcmJzQ2FjaGU6Oklu c3RhbmNlKCk7CisgCisgICAgICAgICAvLyBTdGFydHVwIGN1cmwgd29ya2VycyBhZnRlciB3ZSd2 ZSBzZXQgdGhlIGNvbmZpZ3MgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zCistICAgICAgICBmb3Ig KHVuc2lnbmVkIGlkeD0wOyBpZHg8bV9wb2xsX3RocmVhZHM7IGlkeCsrKSB7CisrICAgICAgICBm b3IgKGludCBpZHg9MDsgaWR4PG51bV90aHJlYWRzOyBpZHgrKykgeworICAgICAgICAgICAgIGF1 dG8gd2sgPSBzdGQ6Om1ha2VfdW5pcXVlPFhyZENsSHR0cDo6Q3VybFdvcmtlcj4obV9xdWV1ZSwg Y2FjaGUsIG1fbG9nKTsKKyAgICAgICAgICAgICBhdXRvIHdrcCA9IHdrLmdldCgpOworICAgICAg ICAgICAgIHN0ZDo6dGhyZWFkIHQoWHJkQ2xIdHRwOjpDdXJsV29ya2VyOjpSdW5TdGF0aWMsIHdr cCk7CistLSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvMDAwMS1YcmRDcnlwdG8tWHJkVGxzLVhy ZFZvbXMtQWRhcHQtdG8tT3BlblNTTC00LjAucGF0Y2ggYi8wMDAxLVhyZENyeXB0by1YcmRUbHMt WHJkVm9tcy1BZGFwdC10by1PcGVuU1NMLTQuMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5lNDZhZDllCi0tLSAvZGV2L251bGwKKysrIGIvMDAwMS1YcmRDcnlwdG8t WHJkVGxzLVhyZFZvbXMtQWRhcHQtdG8tT3BlblNTTC00LjAucGF0Y2gKQEAgLTAsMCArMSw1NjYg QEAKK0Zyb20gNTM0ZTFhYTJlZmQ4ZTU5MjcxZDI0MTBkYzRhNGQzM2FiN2JjOGVkOSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFzLmVsbGVydEBw aHlzaWNzLnV1LnNlPgorRGF0ZTogU2F0LCAyMyBNYXkgMjAyNiAxODo1Nzo1NCArMDIwMAorU3Vi amVjdDogW1BBVENIIDEvMl0gW1hyZENyeXB0by9YcmRUbHMvWHJkVm9tc10gQWRhcHQgdG8gT3Bl blNTTCA0LjAKKworLS0tCisgc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xBdXguY2MgICAgIHwg ICA2ICstCisgc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xBdXguaGggICAgIHwgICAyICstCisg c3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xYNTA5LmNjICAgIHwgIDQ4ICsrKysrLS0tLQorIHNy Yy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsWDUwOUNybC5jYyB8ICAgMiArLQorIHNyYy9YcmRDcnlw dG8vWHJkQ3J5cHRvc3NsZ3NpQXV4LmNjICB8IDE0MCArKysrKysrKysrKysrKysrKysrKy0tLS0t LS0KKyBzcmMvWHJkVGxzL1hyZFRsc05vdGFyeVV0aWxzLmljYyAgICAgfCAgIDQgKy0KKyBzcmMv WHJkVm9tcy9YcmRWb21zRnVuLmNjICAgICAgICAgICAgfCAgIDIgKy0KKyBzcmMvWHJkVm9tcy9Y cmRWb21zRnVuLmhoICAgICAgICAgICAgfCAgIDIgKy0KKyA4IGZpbGVzIGNoYW5nZWQsIDE0NSBp bnNlcnRpb25zKCspLCA2MSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9YcmRDcnlw dG8vWHJkQ3J5cHRvc3NsQXV4LmNjIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xBdXguY2MK K2luZGV4IDM4OTNiYzJiNC4uYTQ0MjgzOTg1IDEwMDY0NAorLS0tIGEvc3JjL1hyZENyeXB0by9Y cmRDcnlwdG9zc2xBdXguY2MKKysrKyBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsQXV4LmNj CitAQCAtNjkxLDEzICs2OTEsMTMgQEAgdGltZV90IFhyZENyeXB0b3NzbEFTTjF0b1VUQyhjb25z dCBBU04xX1RJTUUgKnRzbjEpCisgICAgLy8gT3VyIHJlc3VsdCBpcyBpbiBhZ3JlZW1lbnQgd2l0 aCAnZGF0ZSArJXNgLiAKKyAgICBzdHJ1Y3QgdG0gbHRtOworICAgIGNoYXIgeno7CistICAgaWYg KChzc2NhbmYoKGNvbnN0IGNoYXIgKikodHNuMS0+ZGF0YSksCisrICAgaWYgKChzc2NhbmYoKGNv bnN0IGNoYXIgKikgQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKHRzbjEpLAorICAgICAgICAiJTAyZCUw MmQlMDJkJTAyZCUwMmQlMDJkJWMiLCAKKyAgICAgICAgJihsdG0udG1feWVhciksICYobHRtLnRt X21vbiksICYobHRtLnRtX21kYXkpLAorICAgICAgICAmKGx0bS50bV9ob3VyKSwgJihsdG0udG1f bWluKSwgJihsdG0udG1fc2VjKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZ6eikgIT0gNykgfHwgKHp6ICE9ICdaJykpIHsKKyAgICAgICAgLy8gVHJ5IEdlbmVyYWxp emVkVGltZQorLSAgICAgICBpZiAoKHNzY2FuZigoY29uc3QgY2hhciAqKSh0c24xLT5kYXRhKSwK KysgICAgICAgaWYgKChzc2NhbmYoKGNvbnN0IGNoYXIgKikgQVNOMV9TVFJJTkdfZ2V0MF9kYXRh KHRzbjEpLAorICAgICAgICAgICAgIiUwNGQlMDJkJTAyZCUwMmQlMDJkJTAyZCVjIiwgCisgICAg ICAgICAgICAmKGx0bS50bV95ZWFyKSwgJihsdG0udG1fbW9uKSwgJihsdG0udG1fbWRheSksCisg ICAgICAgICAgICAmKGx0bS50bV9ob3VyKSwgJihsdG0udG1fbWluKSwgJihsdG0udG1fc2VjKSwK K0BAIC03MzMsNyArNzMzLDcgQEAgdGltZV90IFhyZENyeXB0b3NzbEFTTjF0b1VUQyhjb25zdCBB U04xX1RJTUUgKnRzbjEpCisgfSAKKyAKKyAvL19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KKy12b2lkIFhy ZENyeXB0b3NzbE5hbWVPbmVMaW5lKFg1MDlfTkFNRSAqbm0sIFhyZE91Y1N0cmluZyAmcykKKyt2 b2lkIFhyZENyeXB0b3NzbE5hbWVPbmVMaW5lKGNvbnN0IFg1MDlfTkFNRSAqbm0sIFhyZE91Y1N0 cmluZyAmcykKKyB7CisgICAgLy8gRnVuY3Rpb24gdG8gY29udmVydCBYNTA5X05BTUUgaW50byBh IG9uZS1saW5lIGh1bWFuIHJlYWRhYmxlIHN0cmluZworIAorZGlmZiAtLWdpdCBhL3NyYy9YcmRD cnlwdG8vWHJkQ3J5cHRvc3NsQXV4LmhoIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xBdXgu aGgKK2luZGV4IDM2ZjNhYWQxYi4uZGU4NTJiZTNmIDEwMDY0NAorLS0tIGEvc3JjL1hyZENyeXB0 by9YcmRDcnlwdG9zc2xBdXguaGgKKysrKyBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsQXV4 LmhoCitAQCAtNzQsNyArNzQsNyBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOVBhcnNlU3RhY2soWHJk VGxzUGVlckNlcnRzKiBwYywgWHJkQ3J5cHRvWDUwOUNoYWluICpjaGFpbik7CisgdGltZV90IFhy ZENyeXB0b3NzbEFTTjF0b1VUQyhjb25zdCBBU04xX1RJTUUgKnRzbjEpOworIAorIC8vIEZ1bmN0 aW9uIHRvIGNvbnZlcnQgWDUwOV9OQU1FIGludG8gYSBvbmUtbGluZSBodW1hbiByZWFkYWJsZSBz dHJpbmcKKy12b2lkIFhyZENyeXB0b3NzbE5hbWVPbmVMaW5lKFg1MDlfTkFNRSAqbm0sIFhyZE91 Y1N0cmluZyAmcyk7Cisrdm9pZCBYcmRDcnlwdG9zc2xOYW1lT25lTGluZShjb25zdCBYNTA5X05B TUUgKm5tLCBYcmRPdWNTdHJpbmcgJnMpOworIAorIC8vCisgLy8gWDUwOSBwcm94eSBhdXhpbGxp YXJ5IGZ1bmN0aW9ucworZGlmZiAtLWdpdCBhL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsWDUw OS5jYyBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsWDUwOS5jYworaW5kZXggYmNjNzljODlj Li5kOWQyYjE4MmYgMTAwNjQ0CistLS0gYS9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbFg1MDku Y2MKKysrKyBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsWDUwOS5jYworQEAgLTM0MCw3ICsz NDAsMTEgQEAgdm9pZCBYcmRDcnlwdG9zc2xYNTA5OjpDZXJ0VHlwZSgpCisgICAKKyAgICBib29s IGRvbmUgPSAwOworICAgIC8vIENoZWNrIHRoZSBleHRlbnNpb25zCisrI2lmIE9QRU5TU0xfVkVS U0lPTl9OVU1CRVIgPCAweDQwMDAwMDAwTAorICAgIFg1MDlfRVhURU5TSU9OICpleHQgPSAwOwor KyNlbHNlCisrICAgY29uc3QgWDUwOV9FWFRFTlNJT04gKmV4dCA9IDA7CisrI2VuZGlmCisgICAg aW50IGlkeCA9IC0xOworIAorICAgIC8vIEZvciBDQXMgd2UgYXJlIGxvb2tpbmcgZm9yIGEgImJh c2ljQ29uc3RyYWludHMiCitAQCAtNjg0LDcgKzY4OCwxMSBAQCBYcmRDcnlwdG9YNTA5ZGF0YSBY cmRDcnlwdG9zc2xYNTA5OjpHZXRFeHRlbnNpb24oY29uc3QgY2hhciAqb2lkKQorIAorICAgIC8v IExvb3AgdG8gaWRlbnRpZnkgdGhlIG9uZSB3ZSB3b3VsZCBsaWtlCisgICAgaW50IGkgPSAwOwor KyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHg0MDAwMDAwMEwKKyAgICBYNTA5X0VYVEVO U0lPTiAqd2V4dCA9IDA7CisrI2Vsc2UKKysgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqd2V4dCA9 IDA7CisrI2VuZGlmCisgICAgZm9yIChpID0gMDsgaTwgbnVtZXh0OyBpKyspIHsKKyAgICAgICB3 ZXh0ID0gWDUwOV9nZXRfZXh0KGNlcnQsIGkpOworICAgICAgIGlmICh1c2VuaWQpIHsKK0BAIC04 MjEsNyArODI5LDExIEBAIGludCBYcmRDcnlwdG9zc2xYNTA5OjpEdW1wRXh0ZW5zaW9ucyhib29s IGR1bXB1bmtub3duKQorIAorICAgIHJjID0gMTsKKyAgICAvLyBHbyB0aHJvdWdoIHRoZSBleHRl bnNpb25zCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDQwMDAwMDAwTAorICAgIFg1 MDlfRVhURU5TSU9OICp4cGlleHQgPSAwOworKyNlbHNlCisrICAgY29uc3QgWDUwOV9FWFRFTlNJ T04gKnhwaWV4dCA9IDA7CisrI2VuZGlmCisgICAgaW50IG5waWV4dCA9IFg1MDlfZ2V0X2V4dF9j b3VudCh4cGkpOworICAgIFBSSU5UKCJmb3VuZCAiPDxucGlleHQ8PCIgZXh0ZW5zaW9ucyAiKTsK KyAgICBpbnQgaSA9IDA7CitAQCAtODM0LDggKzg0Niw4IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5 OjpEdW1wRXh0ZW5zaW9ucyhib29sIGR1bXB1bmtub3duKQorICAgICAgIFBSSU5UKGkgPDwgIjog Zm91bmQgZXh0ZW5zaW9uICciPDxzPDwiJywgY3JpdGljYWw6ICIgPDwgY3JpdCk7CisgICAgICAg Ly8gRHVtcCBpdHMgY29udGVudAorICAgICAgIHJjID0gMDsKKy0gICAgICBjb25zdCB1bnNpZ25l ZCBjaGFyICpwcCA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopIFg1MDlfRVhURU5TSU9OX2dldF9k YXRhKHhwaWV4dCktPmRhdGE7CistICAgICAgbG9uZyBsZW5ndGggPSBYNTA5X0VYVEVOU0lPTl9n ZXRfZGF0YSh4cGlleHQpLT5sZW5ndGg7CisrICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcHAg PSBBU04xX1NUUklOR19nZXQwX2RhdGEoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHBpZXh0KSk7 CisrICAgICAgbG9uZyBsZW5ndGggPSBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRFTlNJT05f Z2V0X2RhdGEoeHBpZXh0KSk7CisgICAgICAgaW50IHJldCA9IEZpbGxVbmtub3duRXh0KCZwcCwg bGVuZ3RoLCBkdW1wdW5rbm93bik7CisgICAgICAgUFJJTlQoInJldDogIiA8PCByZXQpOworICAg IH0KK0BAIC05NTcsMTAgKzk2OSwxMCBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOTo6RmlsbFVua25v d25FeHQoY29uc3QgdW5zaWduZWQgY2hhciAqKnBwLCBsb25nIGxlbmd0aCwgYm9vbAorICAgICAg ICAgICAgIGludCBpLCBwcmludGFibGUgPSAxOworICAgICAgICAgICAgIG9wcCA9IG9wOworICAg ICAgICAgICAgIG9zID0gZDJpX0FTTjFfT0NURVRfU1RSSU5HKDAsICZvcHAsIGxlbiArIGhsKTsK Ky0gICAgICAgICAgICBpZiAob3MgJiYgb3MtPmxlbmd0aCA+IDApIHsKKy0gICAgICAgICAgICAg ICBvcHAgPSBvcy0+ZGF0YTsKKysgICAgICAgICAgICBpZiAob3MgJiYgQVNOMV9TVFJJTkdfbGVu Z3RoKG9zKSA+IDApIHsKKysgICAgICAgICAgICAgICBvcHAgPSBBU04xX1NUUklOR19nZXQwX2Rh dGEob3MpOworICAgICAgICAgICAgICAgIC8qIHRlc3Rpbmcgd2hldGhlciB0aGUgb2N0ZXQgc3Ry aW5nIGlzICogcHJpbnRhYmxlICovCistICAgICAgICAgICAgICAgZm9yIChpPTA7IGk8b3MtPmxl bmd0aDsgaSsrKSB7CisrICAgICAgICAgICAgICAgZm9yIChpPTA7IGkgPCBBU04xX1NUUklOR19s ZW5ndGgob3MpOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICBpZiAoKCAob3BwW2ldIDwgJyAn KSAmJiAob3BwW2ldICE9ICdcbicpICYmCisgICAgICAgICAgICAgICAgICAgICAgICAgKG9wcFtp XSAhPSAnXHInKSAmJiAob3BwW2ldICE9ICdcdCcpKSB8fCAob3BwW2ldID4gJ34nKSkgeworICAg ICAgICAgICAgICAgICAgICAgIHByaW50YWJsZSA9IDA7CitAQCAtOTY5LDE2ICs5ODEsMTYgQEAg aW50IFhyZENyeXB0b3NzbFg1MDk6OkZpbGxVbmtub3duRXh0KGNvbnN0IHVuc2lnbmVkIGNoYXIg KipwcCwgbG9uZyBsZW5ndGgsIGJvb2wKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg ICAgaWYgKHByaW50YWJsZSkgeworICAgICAgICAgICAgICAgICAgIC8qIHByaW50YWJsZSBzdHJp bmcgKi8KKy0gICAgICAgICAgICAgICAgICBjaGFyICpzID0gbmV3IGNoYXJbb3MtPmxlbmd0aCAr IDFdOworLSAgICAgICAgICAgICAgICAgIG1lbWNweShzLCBvcHAsIG9zLT5sZW5ndGgpOworLSAg ICAgICAgICAgICAgICAgIHNbb3MtPmxlbmd0aF0gPSAwOworLSAgICAgICAgICAgICAgICAgIGlm IChkdW1wKSBQUklOVCgiT0JKUzoiIDw8IHMgPDwgIiAobGVuOiAiPDxvcy0+bGVuZ3RoPDwiKSIp OworKyAgICAgICAgICAgICAgICAgIGNoYXIgKnMgPSBuZXcgY2hhcltBU04xX1NUUklOR19sZW5n dGgob3MpICsgMV07CisrICAgICAgICAgICAgICAgICAgbWVtY3B5KHMsIG9wcCwgQVNOMV9TVFJJ TkdfbGVuZ3RoKG9zKSk7CisrICAgICAgICAgICAgICAgICAgc1tBU04xX1NUUklOR19sZW5ndGgo b3MpXSA9IDA7CisrICAgICAgICAgICAgICAgICAgaWYgKGR1bXApIFBSSU5UKCJPQkpTOiIgPDwg cyA8PCAiIChsZW46ICIgPDwgQVNOMV9TVFJJTkdfbGVuZ3RoKG9zKSA8PCAiKSIpOworICAgICAg ICAgICAgICAgICAgIGRlbGV0ZSBbXSBzOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg ICAgICAgICAgICAgICAgLyogcHJpbnQgdGhlIG5vcm1hbCBkdW1wICovCisgICAgICAgICAgICAg ICAgICAgaWYgKCFubCkgUFJJTlQoIk9CSlM6Iik7CisgICAgICAgICAgICAgICAgICAgQklPICpt ZW0gPSBCSU9fbmV3KEJJT19zX21lbSgpKTsKKy0gICAgICAgICAgICAgICAgICBpZiAoQklPX2R1 bXBfaW5kZW50KG1lbSwgKGNvbnN0IGNoYXIgKilvcHAsIG9zLT5sZW5ndGgsIGR1bXBfaW5kZW50 KSA8PSAwKSB7CisrICAgICAgICAgICAgICAgICAgaWYgKEJJT19kdW1wX2luZGVudChtZW0sIChj b25zdCBjaGFyICopb3BwLCBBU04xX1NUUklOR19sZW5ndGgob3MpLCBkdW1wX2luZGVudCkgPD0g MCkgeworICAgICAgICAgICAgICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiRVJST1I6T0JKUzog cHJvYmxlbXMgZHVtcGluZyB0byBCSU8iKTsKKyAgICAgICAgICAgICAgICAgICAgICBCSU9fZnJl ZShtZW0pOyAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZW5k OworQEAgLTk5OSwxOCArMTAxMSwxOCBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOTo6RmlsbFVua25v d25FeHQoY29uc3QgdW5zaWduZWQgY2hhciAqKnBwLCBsb25nIGxlbmd0aCwgYm9vbAorICAgICAg ICAgICAgIGJzID0gZDJpX0FTTjFfSU5URUdFUigwLCAmb3BwLCBsZW4raGwpOworICAgICAgICAg ICAgIGlmIChicykgeworICAgICAgICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiQUlOVDoiKTsK Ky0gICAgICAgICAgICAgICBpZiAoYnMtPnR5cGUgPT0gVl9BU04xX05FR19JTlRFR0VSKQorKyAg ICAgICAgICAgICAgIGlmIChBU04xX1NUUklOR190eXBlKGJzKSA9PSBWX0FTTjFfTkVHX0lOVEVH RVIpCisgICAgICAgICAgICAgICAgICAgaWYgKGR1bXApIFBSSU5UKCItIik7CisgICAgICAgICAg ICAgICAgQklPICptZW0gPSBCSU9fbmV3KEJJT19zX21lbSgpKTsKKy0gICAgICAgICAgICAgICBm b3IgKGkgPSAwOyBpIDwgYnMtPmxlbmd0aDsgaSsrKSB7CistICAgICAgICAgICAgICAgICAgaWYg KEJJT19wcmludGYobWVtLCAiJTAyWCIsIGJzLT5kYXRhW2ldKSA8PSAwKSB7CisrICAgICAgICAg ICAgICAgZm9yIChpID0gMDsgaSA8IEFTTjFfU1RSSU5HX2xlbmd0aChicyk7IGkrKykgeworKyAg ICAgICAgICAgICAgICAgIGlmIChCSU9fcHJpbnRmKG1lbSwgIiUwMlgiLCBBU04xX1NUUklOR19n ZXQwX2RhdGEoYnMpW2ldKSA8PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgaWYgKGR1bXAp IFBSSU5UKCJFUlJPUjpBSU5UOiBwcm9ibGVtcyBwcmludGYtaW5nIHRvIEJJTyIpOworICAgICAg ICAgICAgICAgICAgICAgIEJJT19mcmVlKG1lbSk7IAorICAgICAgICAgICAgICAgICAgICAgIGdv dG8gZW5kOworICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAg ICAgICAgICAgaWYgKGR1bXApIHsgQklPX1BSSU5UKG1lbSwgIkFJTlQ6Iik7IH0KKy0gICAgICAg ICAgICAgICBpZiAoYnMtPmxlbmd0aCA9PSAwKSBQUklOVCgiMDAiKTsKKysgICAgICAgICAgICAg ICBpZiAoQVNOMV9TVFJJTkdfbGVuZ3RoKGJzKSA9PSAwKSBQUklOVCgiMDAiKTsKKyAgICAgICAg ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiRVJST1I6QUlO VDogQkFEIElOVEVHRVIiKTsKKyAgICAgICAgICAgICB9CitAQCAtMTAyMywxOCArMTAzNSwxOCBA QCBpbnQgWHJkQ3J5cHRvc3NsWDUwOTo6RmlsbFVua25vd25FeHQoY29uc3QgdW5zaWduZWQgY2hh ciAqKnBwLCBsb25nIGxlbmd0aCwgYm9vbAorICAgICAgICAgICAgIGJzID0gZDJpX0FTTjFfRU5V TUVSQVRFRCgwLCAmb3BwLCBsZW4raGwpOworICAgICAgICAgICAgIGlmIChicykgeworICAgICAg ICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiQUVOVToiKTsKKy0gICAgICAgICAgICAgICBpZiAo YnMtPnR5cGUgPT0gVl9BU04xX05FR19FTlVNRVJBVEVEKQorKyAgICAgICAgICAgICAgIGlmIChB U04xX1NUUklOR190eXBlKGJzKSA9PSBWX0FTTjFfTkVHX0VOVU1FUkFURUQpCisgICAgICAgICAg ICAgICAgICAgaWYgKGR1bXApIFBSSU5UKCItIik7CisgICAgICAgICAgICAgICAgQklPICptZW0g PSBCSU9fbmV3KEJJT19zX21lbSgpKTsKKy0gICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwg YnMtPmxlbmd0aDsgaSsrKSB7CistICAgICAgICAgICAgICAgICAgaWYgKEJJT19wcmludGYobWVt LCAiJTAyWCIsIGJzLT5kYXRhW2ldKSA8PSAwKSB7CisrICAgICAgICAgICAgICAgZm9yIChpID0g MDsgaSA8IEFTTjFfU1RSSU5HX2xlbmd0aChicyk7IGkrKykgeworKyAgICAgICAgICAgICAgICAg IGlmIChCSU9fcHJpbnRmKG1lbSwgIiUwMlgiLCBBU04xX1NUUklOR19nZXQwX2RhdGEoYnMpW2ld KSA8PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgaWYgKGR1bXApIFBSSU5UKCJFUlJPUjpB RU5VOiBwcm9ibGVtcyBwcmludGYtaW5nIHRvIEJJTyIpOworICAgICAgICAgICAgICAgICAgICAg IEJJT19mcmVlKG1lbSk7IAorICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZW5kOworICAgICAg ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGR1 bXApIHsgQklPX1BSSU5UKG1lbSwgIkFFTlU6Iik7IH0KKy0gICAgICAgICAgICAgICBpZiAoYnMt Pmxlbmd0aCA9PSAwKSBQUklOVCgiMDAiKTsKKysgICAgICAgICAgICAgICBpZiAoQVNOMV9TVFJJ TkdfbGVuZ3RoKGJzKSA9PSAwKSBQUklOVCgiMDAiKTsKKyAgICAgICAgICAgICB9IGVsc2Ugewor ICAgICAgICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiRVJST1I6QUVOVTogQkFEIEVOVU1FUkFU RUQiKTsKKyAgICAgICAgICAgICB9CitkaWZmIC0tZ2l0IGEvc3JjL1hyZENyeXB0by9YcmRDcnlw dG9zc2xYNTA5Q3JsLmNjIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xYNTA5Q3JsLmNjCitp bmRleCA2MWRkYWY4M2MuLmNjOWYzMjRiYiAxMDA2NDQKKy0tLSBhL3NyYy9YcmRDcnlwdG8vWHJk Q3J5cHRvc3NsWDUwOUNybC5jYworKysrIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xYNTA5 Q3JsLmNjCitAQCAtMTA1LDcgKzEwNSw3IEBAIFhyZENyeXB0b3NzbFg1MDlDcmw6OlhyZENyeXB0 b3NzbFg1MDlDcmwoWHJkQ3J5cHRvWDUwOSAqY2FjZXJ0KQorIAorICAgIC8vIEJpbyBmb3IgZXhw b3J0aW5nIHRoZSBleHRlbnNpb24KKyAgICBCSU8gKmJleHQgPSBCSU9fbmV3KEJJT19zX21lbSgp KTsKKy0gICBBU04xX09CSkVDVCAqb2JqID0gWDUwOV9FWFRFTlNJT05fZ2V0X29iamVjdChjcmxl eHQpOworKyAgIGNvbnN0IEFTTjFfT0JKRUNUICpvYmogPSBYNTA5X0VYVEVOU0lPTl9nZXRfb2Jq ZWN0KGNybGV4dCk7CisgICAgaTJhX0FTTjFfT0JKRUNUKGJleHQsIG9iaik7CisgICAgWDUwOVYz X0VYVF9wcmludChiZXh0LCBjcmxleHQsIDAsIDQpOworICAgIC8vIGRhdGEgbGVuZ3RoCitkaWZm IC0tZ2l0IGEvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xnc2lBdXguY2MgYi9zcmMvWHJkQ3J5 cHRvL1hyZENyeXB0b3NzbGdzaUF1eC5jYworaW5kZXggOGY0YjkyOWMxLi5hNWQyMGUxYWYgMTAw NjQ0CistLS0gYS9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbGdzaUF1eC5jYworKysrIGIvc3Jj L1hyZENyeXB0by9YcmRDcnlwdG9zc2xnc2lBdXguY2MKK0BAIC0xNjUsMTIgKzE2NSwxMiBAQCBi b29sIFhyZENyeXB0b3NzbFByb3h5Q2VydEluZm8oY29uc3Qgdm9pZCAqZXh0ZGF0YSwgaW50ICZw YXRobGVuLCBib29sICpoYXNwb2xpYworICAgIE9CSl9vYmoydHh0KHMsIHNpemVvZihzKSwgWDUw OV9FWFRFTlNJT05fZ2V0X29iamVjdChleHQpLCAxKTsKKyAKKyAgICAvLyBOb3cgZXh0cmFjdCB0 aGUgcGF0aCBsZW5ndGggY29uc3RyYWludCwgaWYgYW55CistICAgdW5zaWduZWQgY2hhciAqcCA9 IFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCktPmRhdGE7CisrICAgY29uc3QgdW5zaWduZWQg Y2hhciAqcCA9IEFTTjFfU1RSSU5HX2dldDBfZGF0YShYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShl eHQpKTsKKyAgICBQUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OICpwY2kgPSAwOworICAgIGlmICgh c3RyY21wKHMsIGdzaVByb3h5Q2VydEluZm9fT0lEKSkKKy0gICAgICBwY2kgPSBkMmlfUFJPWFlf Q0VSVF9JTkZPX0VYVEVOU0lPTigwLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKikoJnApLCBYNTA5 X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpLT5sZW5ndGgpOworKyAgICAgIHBjaSA9IGQyaV9QUk9Y WV9DRVJUX0lORk9fRVhURU5TSU9OKDAsICZwLCBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRF TlNJT05fZ2V0X2RhdGEoZXh0KSkpOworICAgIGVsc2UgaWYgKCFzdHJjbXAocywgZ3NpUHJveHlD ZXJ0SW5mb19PTERfT0lEKSkKKy0gICAgICBwY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVO U0lPTl9PTEQoMCwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiopKCZwKSwgWDUwOV9FWFRFTlNJT05f Z2V0X2RhdGEoZXh0KS0+bGVuZ3RoKTsKKysgICAgICBwY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZP X0VYVEVOU0lPTl9PTEQoMCwgJnAsIEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VYVEVOU0lPTl9n ZXRfZGF0YShleHQpKSk7CisgICAgaWYgKCFwY2kpIHsKKyAgICAgICByZXR1cm4gMDsKKyAgICB9 CitAQCAtMjA4LDEyICsyMDgsMTIgQEAgdm9pZCBYcmRDcnlwdG9zc2xTZXRQYXRoTGVuQ29uc3Ry YWludCh2b2lkICpleHRkYXRhLCBpbnQgcGF0aGxlbikKKyAgICBPQkpfb2JqMnR4dChzLCBzaXpl b2YocyksIFg1MDlfRVhURU5TSU9OX2dldF9vYmplY3QoZXh0KSwgMSk7CisgCisgICAgLy8gTm93 IGV4dHJhY3QgdGhlIHBhdGggbGVuZ3RoIGNvbnN0cmFpbnQsIGlmIGFueQorLSAgIHVuc2lnbmVk IGNoYXIgKnAgPSBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpLT5kYXRhOworKyAgIGNvbnN0 IHVuc2lnbmVkIGNoYXIgKnAgPSBBU04xX1NUUklOR19nZXQwX2RhdGEoWDUwOV9FWFRFTlNJT05f Z2V0X2RhdGEoZXh0KSk7CisgICAgUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTiAqcGNpID0gMDsK KyAgICBpZiAoIXN0cmNtcChzLCBnc2lQcm94eUNlcnRJbmZvX09JRCkpCistICAgICAgcGNpID0g ZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04oMCwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiop KCZwKSwgWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+bGVuZ3RoKTsKKysgICAgICBwY2kg PSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTigwLCAmcCwgQVNOMV9TVFJJTkdfbGVuZ3Ro KFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCkpKTsKKyAgICBlbHNlIGlmICghc3RyY21wKHMs IGdzaVByb3h5Q2VydEluZm9fT0xEX09JRCkpCistICAgICAgcGNpID0gZDJpX1BST1hZX0NFUlRf SU5GT19FWFRFTlNJT05fT0xEKDAsIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSgmcCksIFg1MDlf RVhURU5TSU9OX2dldF9kYXRhKGV4dCktPmxlbmd0aCk7CisrICAgICAgcGNpID0gZDJpX1BST1hZ X0NFUlRfSU5GT19FWFRFTlNJT05fT0xEKDAsICZwLCBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9F WFRFTlNJT05fZ2V0X2RhdGEoZXh0KSkpOworICAgIGlmICghcGNpKQorICAgICAgIHJldHVybjsK KyAKK0BAIC00MTksMTYgKzQxOSwzMiBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOUNyZWF0ZVByb3h5 KGNvbnN0IGNoYXIgKmZuYywgY29uc3QgY2hhciAqZm5rLAorICAgICAgIHJldHVybiAta0VyclBY X1NldEF0dHJpYnV0ZTsKKyAgICB9CisgICAgLy8gRXh0cmFjdCBkYXRhIGluIGZvcm1hdCBmb3Ig ZXh0ZW5zaW9uCistICAgWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+bGVuZ3RoID0gaTJk X1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04ocGNpLCAwKTsKKy0gICBpZiAoIShYNTA5X0VYVEVO U0lPTl9nZXRfZGF0YShleHQpLT5kYXRhID0gKHVuc2lnbmVkIGNoYXIgKiltYWxsb2MoWDUwOV9F WFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+bGVuZ3RoKzEpKSkgeworKyAgIGludCBsZW4gPSBpMmRf UFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTihwY2ksIDApOworKyAgIHVuc2lnbmVkIGNoYXIgKmRh dGEgPSAodW5zaWduZWQgY2hhciAqKSBtYWxsb2MobGVuKTsKKysgICBpZiAoIWRhdGEpIHsKKyAg ICAgICBQUklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9yIGV4dGVuc2lvbiIp OworICAgICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworICAgIH0KKy0gICB1bnNpZ25l ZCBjaGFyICpwcCA9IFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCktPmRhdGE7CisrICAgdW5z aWduZWQgY2hhciAqcHAgPSBkYXRhOworICAgIGlmICgoaTJkX1BST1hZX0NFUlRfSU5GT19FWFRF TlNJT04ocGNpLCAmcHApKSA8PSAwKSB7CisgICAgICAgUFJJTlQoInByb2JsZW0gY29udmVydGlu ZyBkYXRhIGZvciBleHRlbnNpb24iKTsKKyAgICAgICByZXR1cm4gLWtFcnJQWF9FcnJvcjsKKyAg ICB9CisrICAgQVNOMV9PQ1RFVF9TVFJJTkcgKm9zID0gQVNOMV9PQ1RFVF9TVFJJTkdfbmV3KCk7 CisrICAgaWYgKCFvcykgeworKyAgICAgIFBSSU5UKCJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBm aWVsZCBmb3IgZXh0ZW5zaW9uIik7CisrICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7 CisrICAgfQorKyAgIGlmIChBU04xX09DVEVUX1NUUklOR19zZXQob3MsIGRhdGEsIGxlbikgPT0g MCkgeworKyAgICAgIFBSSU5UKCJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBmb3IgZXh0 ZW5zaW9uIik7CisrICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7CisrICAgfQorKyAg IGZyZWUoZGF0YSk7CisrICAgaWYgKFg1MDlfRVhURU5TSU9OX3NldF9kYXRhKGV4dCwgb3MpID09 IDApIHsKKysgICAgICBQUklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9yIGV4 dGVuc2lvbiIpOworKyAgICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworKyAgIH0KKysg ICBBU04xX1NUUklOR19mcmVlKG9zKTsKKyAgICAvLyBDcmVhdGUgYSBzdGFjaworICAgIFNUQUNL X09GKFg1MDlfRVhURU5TSU9OKSAqZXNrID0gc2tfWDUwOV9FWFRFTlNJT05fbmV3X251bGwoKTsK KyAgICBpZiAoIWVzaykgeworQEAgLTUwNCw3ICs1MjAsMTEgQEAgaW50IFhyZENyeXB0b3NzbFg1 MDlDcmVhdGVQcm94eShjb25zdCBjaGFyICpmbmMsIGNvbnN0IGNoYXIgKmZuaywKKyAgICB9Cisg CisgICAgLy8gRmlyc3QgZHVwbGljYXRlIHRoZSBleHRlbnNpb25zIG9mIHRoZSBFRSBjZXJ0aWZp Y2F0ZQorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHg0MDAwMDAwMEwKKyAgICBYNTA5 X0VYVEVOU0lPTiAqeEVFQ2V4dCA9IDA7CisrI2Vsc2UKKysgICBjb25zdCBYNTA5X0VYVEVOU0lP TiAqeEVFQ2V4dCA9IDA7CisrI2VuZGlmCisgICAgaW50IG5FRUNleHQgPSBYNTA5X2dldF9leHRf Y291bnQoeEVFQyk7CisgICAgREVCVUcoIm51bWJlciBvZiBleHRlbnNpb25zIGZvdW5kIGluIHRo ZSBvcmlnaW5hbCBjZXJ0aWZpY2F0ZTogIjw8IG5FRUNleHQpOworICAgIGludCBpID0gMDsKK0BA IC03NTYsNyArNzc2LDExIEBAIGludCBYcmRDcnlwdG9zc2xYNTA5Q3JlYXRlUHJveHlSZXEoWHJk Q3J5cHRvWDUwOSAqeGNwaSwKKyAgICB9CisgICAgLy8KKyAgICAvLyBHZXQgc2lnbmF0dXJlIHBh dGggZGVwdGggZnJvbSBwcmVzZW50IHByb3h5CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIg PCAweDQwMDAwMDAwTAorICAgIFg1MDlfRVhURU5TSU9OICp4cGlleHQgPSAwOworKyNlbHNlCisr ICAgY29uc3QgWDUwOV9FWFRFTlNJT04gKnhwaWV4dCA9IDA7CisrI2VuZGlmCisgICAgaW50IG5w aWV4dCA9IFg1MDlfZ2V0X2V4dF9jb3VudCh4cGkpOworICAgIGludCBpID0gMDsKKyAgICBib29s IGhhc2tleXVzYWdlID0gMDsKK0BAIC03NzIsMTIgKzc5NiwxMiBAQCBpbnQgWHJkQ3J5cHRvc3Ns WDUwOUNyZWF0ZVByb3h5UmVxKFhyZENyeXB0b1g1MDkgKnhjcGksCisgICAgICAgLy8gR2V0IHNp Z25hdHVyZSBwYXRoIGRlcHRoIGZyb20gcHJlc2VudCBwcm94eQorICAgICAgIGlmICghc3RyY21w KHMsIGdzaVByb3h5Q2VydEluZm9fT0lEKSB8fAorICAgICAgICAgICAhc3RyY21wKHMsIGdzaVBy b3h5Q2VydEluZm9fT0xEX09JRCkpIHsKKy0gICAgICAgICB1bnNpZ25lZCBjaGFyICpwID0gWDUw OV9FWFRFTlNJT05fZ2V0X2RhdGEoeHBpZXh0KS0+ZGF0YTsKKysgICAgICAgICBjb25zdCB1bnNp Z25lZCBjaGFyICpwID0gQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKFg1MDlfRVhURU5TSU9OX2dldF9k YXRhKHhwaWV4dCkpOworICAgICAgICAgIFBST1hZX0NFUlRfSU5GT19FWFRFTlNJT04gKmlucGNp ID0gMDsKKyAgICAgICAgICBpZiAoIXN0cmNtcChzLCBnc2lQcm94eUNlcnRJbmZvX09JRCkpCist ICAgICAgICAgICAgaW5wY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTigwLCAoY29u c3QgdW5zaWduZWQgY2hhciAqKikoJnApLCBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQp LT5sZW5ndGgpOworKyAgICAgICAgICAgIGlucGNpID0gZDJpX1BST1hZX0NFUlRfSU5GT19FWFRF TlNJT04oMCwgJnAsIEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4 cGlleHQpKSk7CisgICAgICAgICAgZWxzZQorLSAgICAgICAgICAgIGlucGNpID0gZDJpX1BST1hZ X0NFUlRfSU5GT19FWFRFTlNJT05fT0xEKDAsIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSgmcCks IFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhwaWV4dCktPmxlbmd0aCk7CisrICAgICAgICAgICAg aW5wY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTl9PTEQoMCwgJnAsIEFTTjFfU1RS SU5HX2xlbmd0aChYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQpKSk7CisgICAgICAgICAg aWYgKGlucGNpICYmCisgICAgICAgICAgICAgIGlucGNpLT5wY1BhdGhMZW5ndGhDb25zdHJhaW50 KQorICAgICAgICAgICAgIGluZGVwdGhsZW4gPSBBU04xX0lOVEVHRVJfZ2V0KGlucGNpLT5wY1Bh dGhMZW5ndGhDb25zdHJhaW50KTsKK0BAIC04MjMsMTYgKzg0NywzMiBAQCBpbnQgWHJkQ3J5cHRv c3NsWDUwOUNyZWF0ZVByb3h5UmVxKFhyZENyeXB0b1g1MDkgKnhjcGksCisgICAgICAgcmV0dXJu IC1rRXJyUFhfTm9SZXNvdXJjZXM7CisgICAgfQorICAgIC8vIEV4dHJhY3QgZGF0YSBpbiBmb3Jt YXQgZm9yIGV4dGVuc2lvbgorLSAgIFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dC5nZXQoKSkt Pmxlbmd0aCA9IGkyZF9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKHBjaS5nZXQoKSwgMCk7Cist ICAgaWYgKCEoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0LmdldCgpKS0+ZGF0YSA9ICh1bnNp Z25lZCBjaGFyICopbWFsbG9jKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dC5nZXQoKSktPmxl bmd0aCsxKSkpIHsKKysgICBpbnQgbGVuID0gaTJkX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04o cGNpLmdldCgpLCAwKTsKKysgICB1bnNpZ25lZCBjaGFyICpkYXRhID0gKHVuc2lnbmVkIGNoYXIg KikgbWFsbG9jKGxlbik7CisrICAgaWYgKCFkYXRhKSB7CisgICAgICAgUFJJTlQoImNvdWxkIG5v dCBhbGxvY2F0ZSBkYXRhIGZpZWxkIGZvciBleHRlbnNpb24iKTsKKyAgICAgICByZXR1cm4gLWtF cnJQWF9Ob1Jlc291cmNlczsKKyAgICB9CistICAgdW5zaWduZWQgY2hhciAqcHAgPSBYNTA5X0VY VEVOU0lPTl9nZXRfZGF0YShleHQuZ2V0KCkpLT5kYXRhOworKyAgIHVuc2lnbmVkIGNoYXIgKnBw ID0gZGF0YTsKKyAgICBpZiAoKGkyZF9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKHBjaS5nZXQo KSwgJnBwKSkgPD0gMCkgeworICAgICAgIFBSSU5UKCJwcm9ibGVtIGNvbnZlcnRpbmcgZGF0YSBm b3IgZXh0ZW5zaW9uIik7CisgICAgICAgcmV0dXJuIC1rRXJyUFhfRXJyb3I7CisgICAgfQorKyAg IEFTTjFfT0NURVRfU1RSSU5HICpvcyA9IEFTTjFfT0NURVRfU1RSSU5HX25ldygpOworKyAgIGlm ICghb3MpIHsKKysgICAgICBQUklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9y IGV4dGVuc2lvbiIpOworKyAgICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworKyAgIH0K KysgICBpZiAoQVNOMV9PQ1RFVF9TVFJJTkdfc2V0KG9zLCBkYXRhLCBsZW4pID09IDApIHsKKysg ICAgICBQUklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9yIGV4dGVuc2lvbiIp OworKyAgICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworKyAgIH0KKysgICBmcmVlKGRh dGEpOworKyAgIGlmIChYNTA5X0VYVEVOU0lPTl9zZXRfZGF0YShleHQuZ2V0KCksIG9zKSA9PSAw KSB7CisrICAgICAgUFJJTlQoImNvdWxkIG5vdCBhbGxvY2F0ZSBkYXRhIGZpZWxkIGZvciBleHRl bnNpb24iKTsKKysgICAgICByZXR1cm4gLWtFcnJQWF9Ob1Jlc291cmNlczsKKysgICB9CisrICAg QVNOMV9TVFJJTkdfZnJlZShvcyk7CisgICAgcGNpID0gbnVsbHB0cjsKKyAKKyAgICAvLyBTZXQg ZXh0ZW5zaW9uIG5hbWUuCitAQCAtMTAzMCw3ICsxMDcwLDExIEBAIGludCBYcmRDcnlwdG9zc2xY NTA5U2lnblByb3h5UmVxKFhyZENyeXB0b1g1MDkgKnhjcGksIFhyZENyeXB0b1JTQSAqa2NwaSwK KyAKKyAgICAvLworICAgIC8vIEdldCBzaWduYXR1cmUgcGF0aCBkZXB0aCBmcm9tIGlucHV0IHBy b3h5CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDQwMDAwMDAwTAorICAgIFg1MDlf RVhURU5TSU9OICp4cGlleHQgPSAwLCAqeHJpZXh0ID0gMDsKKysjZWxzZQorKyAgIGNvbnN0IFg1 MDlfRVhURU5TSU9OICp4cGlleHQgPSAwLCAqeHJpZXh0ID0gMDsKKysjZW5kaWYKKyAgICBpbnQg bnBpZXh0ID0gWDUwOV9nZXRfZXh0X2NvdW50KHhwaSk7CisgICAgaW50IGkgPSAwOworICAgIGJv b2wgaGFza2V5dXNhZ2UgPSAwOworQEAgLTEwMzgsMTcgKzEwODIsMTcgQEAgaW50IFhyZENyeXB0 b3NzbFg1MDlTaWduUHJveHlSZXEoWHJkQ3J5cHRvWDUwOSAqeGNwaSwgWHJkQ3J5cHRvUlNBICpr Y3BpLAorICAgIGZvciAoaSA9IDA7IGk8IG5waWV4dDsgaSsrKSB7CisgICAgICAgeHBpZXh0ID0g WDUwOV9nZXRfZXh0KHhwaSwgaSk7CisgICAgICAgY2hhciBzWzI1Nl0gPSB7MH07CistICAgICAg QVNOMV9PQkpFQ1QgKm9iaiA9IFg1MDlfRVhURU5TSU9OX2dldF9vYmplY3QoeHBpZXh0KTsKKysg ICAgICBjb25zdCBBU04xX09CSkVDVCAqb2JqID0gWDUwOV9FWFRFTlNJT05fZ2V0X29iamVjdCh4 cGlleHQpOworICAgICAgIGlmIChvYmopCisgICAgICAgICAgT0JKX29iajJ0eHQocywgc2l6ZW9m KHMpLCBvYmosIDEpOworICAgICAgIGlmICghc3RyY21wKHMsIGdzaVByb3h5Q2VydEluZm9fT0lE KSB8fAorICAgICAgICAgICAhc3RyY21wKHMsIGdzaVByb3h5Q2VydEluZm9fT0xEX09JRCkpIHsK Ky0gICAgICAgICB1bnNpZ25lZCBjaGFyICpwID0gWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHBp ZXh0KS0+ZGF0YTsKKysgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpwID0gQVNOMV9TVFJJ TkdfZ2V0MF9kYXRhKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhwaWV4dCkpOworICAgICAgICAg IFBST1hZX0NFUlRfSU5GT19FWFRFTlNJT04gKmlucGNpID0gMDsKKyAgICAgICAgICBpZiAoIXN0 cmNtcChzLCBnc2lQcm94eUNlcnRJbmZvX09JRCkpCistICAgICAgICAgICAgaW5wY2kgPSBkMmlf UFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTigwLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKikoJnAp LCBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQpLT5sZW5ndGgpOworKyAgICAgICAgICAg IGlucGNpID0gZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04oMCwgJnAsIEFTTjFfU1RSSU5H X2xlbmd0aChYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQpKSk7CisgICAgICAgICAgZWxz ZQorLSAgICAgICAgICAgIGlucGNpID0gZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT05fT0xE KDAsIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSgmcCksIFg1MDlfRVhURU5TSU9OX2dldF9kYXRh KHhwaWV4dCktPmxlbmd0aCk7CisrICAgICAgICAgICAgaW5wY2kgPSBkMmlfUFJPWFlfQ0VSVF9J TkZPX0VYVEVOU0lPTl9PTEQoMCwgJnAsIEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VYVEVOU0lP Tl9nZXRfZGF0YSh4cGlleHQpKSk7CisgICAgICAgICAgaWYgKGlucGNpICYmCisgICAgICAgICAg ICAgIGlucGNpLT5wY1BhdGhMZW5ndGhDb25zdHJhaW50KQorICAgICAgICAgICAgIGluZGVwdGhs ZW4gPSBBU04xX0lOVEVHRVJfZ2V0KGlucGNpLT5wY1BhdGhMZW5ndGhDb25zdHJhaW50KTsKK0BA IC0xMTAxLDkgKzExNDUsOSBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOVNpZ25Qcm94eVJlcShYcmRD cnlwdG9YNTA5ICp4Y3BpLCBYcmRDcnlwdG9SU0EgKmtjcGksCisgICAgLy8gR2V0IHRoZSBjb250 ZW50CisgICAgaW50IHJlcWRlcHRobGVuID0gLTE7CisgICAgaWYgKHhyaWV4dCkgeworLSAgICAg IHVuc2lnbmVkIGNoYXIgKnAgPSBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cmlleHQpLT5kYXRh OworKyAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnAgPSBBU04xX1NUUklOR19nZXQwX2RhdGEo WDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHJpZXh0KSk7CisgICAgICAgUFJPWFlfQ0VSVF9JTkZP X0VYVEVOU0lPTiAqcmVxcGNpID0KKy0gICAgICAgICBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVO U0lPTigwLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKikoJnApLCBYNTA5X0VYVEVOU0lPTl9nZXRf ZGF0YSh4cmlleHQpLT5sZW5ndGgpOworKyAgICAgICAgIGQyaV9QUk9YWV9DRVJUX0lORk9fRVhU RU5TSU9OKDAsICZwLCBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEo eHJpZXh0KSkpOworICAgICAgIGlmIChyZXFwY2kgJiYKKyAgICAgICAgICAgcmVxcGNpLT5wY1Bh dGhMZW5ndGhDb25zdHJhaW50KQorICAgICAgICAgIHJlcWRlcHRobGVuID0gQVNOMV9JTlRFR0VS X2dldChyZXFwY2ktPnBjUGF0aExlbmd0aENvbnN0cmFpbnQpOworQEAgLTExNDAsMTYgKzExODQs MzIgQEAgaW50IFhyZENyeXB0b3NzbFg1MDlTaWduUHJveHlSZXEoWHJkQ3J5cHRvWDUwOSAqeGNw aSwgWHJkQ3J5cHRvUlNBICprY3BpLAorICAgICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2Vz OworICAgIH0KKyAgICAvLyBFeHRyYWN0IGRhdGEgaW4gZm9ybWF0IGZvciBleHRlbnNpb24KKy0g ICBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQuZ2V0KCkpLT5sZW5ndGggPSBpMmRfUFJPWFlf Q0VSVF9JTkZPX0VYVEVOU0lPTihwY2kuZ2V0KCksIDApOworLSAgIGlmICghKFg1MDlfRVhURU5T SU9OX2dldF9kYXRhKGV4dC5nZXQoKSktPmRhdGEgPSAodW5zaWduZWQgY2hhciAqKW1hbGxvYyhY NTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQuZ2V0KCkpLT5sZW5ndGgrMSkpKSB7CisrICAgaW50 IGxlbiA9IGkyZF9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKHBjaS5nZXQoKSwgMCk7CisrICAg dW5zaWduZWQgY2hhciAqZGF0YSA9ICh1bnNpZ25lZCBjaGFyICopIG1hbGxvYyhsZW4pOworKyAg IGlmICghZGF0YSkgeworICAgICAgIFBSSU5UKCJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVs ZCBmb3IgZXh0ZW5zaW9uIik7CisgICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7Cisg ICAgfQorLSAgIHVuc2lnbmVkIGNoYXIgKnBwID0gWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0 LmdldCgpKS0+ZGF0YTsKKysgICB1bnNpZ25lZCBjaGFyICpwcCA9IGRhdGE7CisgICAgaWYgKChp MmRfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTihwY2kuZ2V0KCksICZwcCkpIDw9IDApIHsKKyAg ICAgICBQUklOVCgicHJvYmxlbSBjb252ZXJ0aW5nIGRhdGEgZm9yIGV4dGVuc2lvbiIpOworICAg ICAgIHJldHVybiAta0VyclBYX0Vycm9yOworICAgIH0KKysgICBBU04xX09DVEVUX1NUUklORyAq b3MgPSBBU04xX09DVEVUX1NUUklOR19uZXcoKTsKKysgICBpZiAoIW9zKSB7CisrICAgICAgUFJJ TlQoImNvdWxkIG5vdCBhbGxvY2F0ZSBkYXRhIGZpZWxkIGZvciBleHRlbnNpb24iKTsKKysgICAg ICByZXR1cm4gLWtFcnJQWF9Ob1Jlc291cmNlczsKKysgICB9CisrICAgaWYgKEFTTjFfT0NURVRf U1RSSU5HX3NldChvcywgZGF0YSwgbGVuKSA9PSAwKSB7CisrICAgICAgUFJJTlQoImNvdWxkIG5v dCBhbGxvY2F0ZSBkYXRhIGZpZWxkIGZvciBleHRlbnNpb24iKTsKKysgICAgICByZXR1cm4gLWtF cnJQWF9Ob1Jlc291cmNlczsKKysgICB9CisrICAgZnJlZShkYXRhKTsKKysgICBpZiAoWDUwOV9F WFRFTlNJT05fc2V0X2RhdGEoZXh0LmdldCgpLCBvcykgPT0gMCkgeworKyAgICAgIFBSSU5UKCJj b3VsZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBmb3IgZXh0ZW5zaW9uIik7CisrICAgICAgcmV0 dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7CisrICAgfQorKyAgIEFTTjFfU1RSSU5HX2ZyZWUob3Mp OworICAgIHBjaSA9IG51bGxwdHI7CisgCisgICAgLy8gU2V0IGV4dGVuc2lvbiBuYW1lLgorQEAg LTEyMTUsNyArMTI3NSwxMSBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOUdldFZPTVNBdHRyKFhyZENy eXB0b1g1MDkgKnhjcGksIFhyZE91Y1N0cmluZyAmdmF0KQorICAgIHJjID0gMTsKKyAgICBib29s IGdldHZhdCA9IDA7CisgICAgLy8gR28gdGhyb3VnaCB0aGUgZXh0ZW5zaW9ucworKyNpZiBPUEVO U1NMX1ZFUlNJT05fTlVNQkVSIDwgMHg0MDAwMDAwMEwKKyAgICBYNTA5X0VYVEVOU0lPTiAqeHBp ZXh0ID0gMDsKKysjZWxzZQorKyAgIGNvbnN0IFg1MDlfRVhURU5TSU9OICp4cGlleHQgPSAwOwor KyNlbmRpZgorICAgIGludCBucGlleHQgPSBYNTA5X2dldF9leHRfY291bnQoeHBpKTsKKyAgICBp bnQgaSA9IDA7CisgICAgZm9yIChpID0gMDsgaTwgbnBpZXh0OyBpKyspIHsKK0BAIC0xMjI3LDgg KzEyOTEsOCBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOUdldFZPTVNBdHRyKFhyZENyeXB0b1g1MDkg KnhjcGksIFhyZE91Y1N0cmluZyAmdmF0KQorICAgICAgIGlmIChzdHJjbXAocywgWFJER1NJX1ZP TVNfQUNTRVFfT0lEKSkgY29udGludWU7CisgICAgICAgLy8gVGhpcyBpcyB0aGUgVk9NUyBleHRl bnNpb24gd2UgYXJlIGludGVyZXN0ZWQgZm9yCisgICAgICAgcmMgPSAwOworLSAgICAgIGNvbnN0 IHVuc2lnbmVkIGNoYXIgKnBwID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgWDUwOV9FWFRFTlNJ T05fZ2V0X2RhdGEoeHBpZXh0KS0+ZGF0YTsKKy0gICAgICBsb25nIGxlbmd0aCA9IFg1MDlfRVhU RU5TSU9OX2dldF9kYXRhKHhwaWV4dCktPmxlbmd0aDsKKysgICAgICBjb25zdCB1bnNpZ25lZCBj aGFyICpwcCA9IEFTTjFfU1RSSU5HX2dldDBfZGF0YShYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4 cGlleHQpKTsKKysgICAgICBsb25nIGxlbmd0aCA9IEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VY VEVOU0lPTl9nZXRfZGF0YSh4cGlleHQpKTsKKyAgICAgICBpbnQgcmV0ID0gWHJkQ3J5cHRvc3Ns WDUwOUZpbGxWT01TKCZwcCwgbGVuZ3RoLCBnZXR2YXQsIHZhdCk7CisgICAgICAgREVCVUcoInJl dDogIiA8PCByZXQgPDwgIiAtIHZhdDogIiA8PCB2YXQpOworICAgIH0KK0BAIC0xMzE2LDEwICsx MzgwLDEwIEBAIGludCBYcmRDcnlwdG9zc2xYNTA5RmlsbFZPTVMoY29uc3QgdW5zaWduZWQgY2hh ciAqKnBwLAorICAgICAgICAgICAgIGludCBpLCBwcmludGFibGUgPSAxOworICAgICAgICAgICAg IG9wcCA9IG9wOworICAgICAgICAgICAgIG9zID0gZDJpX0FTTjFfT0NURVRfU1RSSU5HKDAsICZv cHAsIGxlbiArIGhsKTsKKy0gICAgICAgICAgICBpZiAob3MgJiYgb3MtPmxlbmd0aCA+IDApIHsK Ky0gICAgICAgICAgICAgICBvcHAgPSBvcy0+ZGF0YTsKKysgICAgICAgICAgICBpZiAob3MgJiYg QVNOMV9TVFJJTkdfbGVuZ3RoKG9zKSA+IDApIHsKKysgICAgICAgICAgICAgICBvcHAgPSBBU04x X1NUUklOR19nZXQwX2RhdGEob3MpOworICAgICAgICAgICAgICAgIC8vIFRlc3Rpbmcgd2hldGhl ciB0aGUgb2N0ZXQgc3RyaW5nIGlzIHByaW50YWJsZQorLSAgICAgICAgICAgICAgIGZvciAoaT0w OyBpPG9zLT5sZW5ndGg7IGkrKykgeworKyAgICAgICAgICAgICAgIGZvciAoaT0wOyBpIDwgQVNO MV9TVFJJTkdfbGVuZ3RoKG9zKTsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgaWYgKCggKG9w cFtpXSA8ICcgJykgJiYgKG9wcFtpXSAhPSAnXG4nKSAmJgorICAgICAgICAgICAgICAgICAgICAg ICAgIChvcHBbaV0gIT0gJ1xyJykgJiYgKG9wcFtpXSAhPSAnXHQnKSkgfHwgKG9wcFtpXSA+ICd+ JykpIHsKKyAgICAgICAgICAgICAgICAgICAgICBwcmludGFibGUgPSAwOworQEAgLTEzMzMsNyAr MTM5Nyw3IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5RmlsbFZPTVMoY29uc3QgdW5zaWduZWQgY2hh ciAqKnBwLAorICAgICAgICAgICAgICAgICAgICAgIHZhdCArPSAoY29uc3QgY2hhciAqKW9wcDsK KyAgICAgICAgICAgICAgICAgICAgICBnb3R2YXQgPSAxOworICAgICAgICAgICAgICAgICAgIH0K Ky0gICAgICAgICAgICAgICAgICBERUJVRygiT0JKUzoiIDw8IChjb25zdCBjaGFyICopb3BwIDw8 ICIgKGxlbjogIjw8b3MtPmxlbmd0aDw8IikiKTsKKysgICAgICAgICAgICAgICAgICBERUJVRygi T0JKUzoiIDw8IChjb25zdCBjaGFyICopb3BwIDw8ICIgKGxlbjogIiA8PCBBU04xX1NUUklOR19s ZW5ndGgob3MpIDw8ICIpIik7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKyAg ICAgICAgICAgICBpZiAob3MpIHsKK0BAIC0xMzg1LDExICsxNDQ5LDE5IEBAIGludCBYcmRDcnlw dG9zc2xYNTA5Q2hlY2tQcm94eTMoWHJkQ3J5cHRvWDUwOSAqeGNwaSwgWHJkT3VjU3RyaW5nICZl bXNnKSB7CisgICAgfQorICAgIFRSQUNFKEFMTCwiY2VydGlmaWNhdGUgaGFzICI8PG51bWV4dDw8 IiBleHRlbnNpb25zIik7CisgCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDQwMDAw MDAwTAorICAgIFg1MDlfRVhURU5TSU9OICpleHQgPSAwOworKyNlbHNlCisrICAgY29uc3QgWDUw OV9FWFRFTlNJT04gKmV4dCA9IDA7CisrI2VuZGlmCisgICAgUFJPWFlfQ0VSVF9JTkZPX0VYVEVO U0lPTiAqcGNpID0gMDsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bWV4dDsgaSsrKSB7Cisg ICAgICAgLy8gR2V0IHRoZSBleHRlbnNpb24KKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8 IDB4NDAwMDAwMDBMCisgICAgICAgWDUwOV9FWFRFTlNJT04gKnhleHQgPSBYNTA5X2dldF9leHQo Y2VydCwgaSk7CisrI2Vsc2UKKysgICAgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqeGV4dCA9IFg1 MDlfZ2V0X2V4dChjZXJ0LCBpKTsKKysjZW5kaWYKKyAgICAgICAvLyBXZSBhcmUgbG9va2luZyBm b3IgZ3NpUHJveHlDZXJ0SW5mb19PSUQgICAgICgiMS4zLjYuMS41LjUuNy4xLjE0IikKKyAgICAg ICAvLyAgICAgICAgICAgICAgICAgb3IgZ3NpUHJveHlDZXJ0SW5mb19PTERfT0lEICgiMS4zLjYu MS40LjEuMzUzNi4xLjIyMiIpCisgICAgICAgY2hhciBzWzI1Nl07CitAQCAtMTM5OSw4ICsxNDcx LDggQEAgaW50IFhyZENyeXB0b3NzbFg1MDlDaGVja1Byb3h5MyhYcmRDcnlwdG9YNTA5ICp4Y3Bp LCBYcmRPdWNTdHJpbmcgJmVtc2cpIHsKKyAgICAgICAgICBpZiAoZXh0ID09IDApIHsKKyAgICAg ICAgICAgICBleHQgPSB4ZXh0OworICAgICAgICAgICAgIC8vIE5vdyBnZXQgdGhlIGV4dGVuc2lv bgorLSAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKnAgPSBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0 YShleHQpLT5kYXRhOworLSAgICAgICAgICAgIHBjaSA9IGQyaV9QUk9YWV9DRVJUX0lORk9fRVhU RU5TSU9OKDAsIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSgmcCksIFg1MDlfRVhURU5TSU9OX2dl dF9kYXRhKGV4dCktPmxlbmd0aCk7CisrICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAq cCA9IEFTTjFfU1RSSU5HX2dldDBfZGF0YShYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpKTsK KysgICAgICAgICAgICBwY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTigwLCAmcCwg QVNOMV9TVFJJTkdfbGVuZ3RoKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCkpKTsKKyAgICAg ICAgICB9IGVsc2UgeworICAgICAgICAgICAgIFBSSU5UKCJXQVJOSU5HOiBtdWx0aXBsZSBwcm94 eUNlcnRJbmZvIGV4dGVuc2lvbnMgZm91bmQ6IHRha2luZyB0aGUgZmlyc3QiKTsKKyAgICAgICAg ICB9CitAQCAtMTQwOCw4ICsxNDgwLDggQEAgaW50IFhyZENyeXB0b3NzbFg1MDlDaGVja1Byb3h5 MyhYcmRDcnlwdG9YNTA5ICp4Y3BpLCBYcmRPdWNTdHJpbmcgJmVtc2cpIHsKKyAgICAgICAgICBp ZiAoZXh0ID09IDApIHsKKyAgICAgICAgICAgICBleHQgPSB4ZXh0OworICAgICAgICAgICAgIC8v IE5vdyBnZXQgdGhlIGV4dGVuc2lvbgorLSAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKnAgPSBY NTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpLT5kYXRhOworLSAgICAgICAgICAgIHBjaSA9IGQy aV9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OX09MRCgwLCAoY29uc3QgdW5zaWduZWQgY2hhciAq KikoJnApLCBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpLT5sZW5ndGgpOworKyAgICAgICAg ICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnAgPSBBU04xX1NUUklOR19nZXQwX2RhdGEoWDUwOV9F WFRFTlNJT05fZ2V0X2RhdGEoZXh0KSk7CisrICAgICAgICAgICAgcGNpID0gZDJpX1BST1hZX0NF UlRfSU5GT19FWFRFTlNJT05fT0xEKDAsICZwLCBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRF TlNJT05fZ2V0X2RhdGEoZXh0KSkpOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg UFJJTlQoIldBUk5JTkc6IG11bHRpcGxlIHByb3h5Q2VydEluZm8gZXh0ZW5zaW9ucyBmb3VuZDog dGFraW5nIHRoZSBmaXJzdCIpOworICAgICAgICAgIH0KK2RpZmYgLS1naXQgYS9zcmMvWHJkVGxz L1hyZFRsc05vdGFyeVV0aWxzLmljYyBiL3NyYy9YcmRUbHMvWHJkVGxzTm90YXJ5VXRpbHMuaWNj CitpbmRleCA0NDEyNWQ5ODguLjNkZWQ0Zjk5MyAxMDA2NDQKKy0tLSBhL3NyYy9YcmRUbHMvWHJk VGxzTm90YXJ5VXRpbHMuaWNjCisrKysgYi9zcmMvWHJkVGxzL1hyZFRsc05vdGFyeVV0aWxzLmlj YworQEAgLTU2LDggKzU2LDggQEAgU09GVFdBUkUuCisgKi8KKyBzdGF0aWMgSG9zdG5hbWVWYWxp ZGF0aW9uUmVzdWx0IG1hdGNoZXNfY29tbW9uX25hbWUoY29uc3QgY2hhciAqaG9zdG5hbWUsIGNv bnN0IFg1MDkgKnNlcnZlcl9jZXJ0KSB7CisgICAgICAgICBpbnQgY29tbW9uX25hbWVfbG9jID0g LTE7CistICAgICAgICBYNTA5X05BTUVfRU5UUlkgKmNvbW1vbl9uYW1lX2VudHJ5ID0gTlVMTDsK Ky0gICAgICAgIEFTTjFfU1RSSU5HICpjb21tb25fbmFtZV9hc24xID0gTlVMTDsKKysgICAgICAg IGNvbnN0IFg1MDlfTkFNRV9FTlRSWSAqY29tbW9uX25hbWVfZW50cnkgPSBOVUxMOworKyAgICAg ICAgY29uc3QgQVNOMV9TVFJJTkcgKmNvbW1vbl9uYW1lX2FzbjEgPSBOVUxMOworICAgICAgICAg Y2hhciAqY29tbW9uX25hbWVfc3RyID0gTlVMTDsKKyAKKyAgICAgICAgIC8vIEZpbmQgdGhlIHBv c2l0aW9uIG9mIHRoZSBDTiBmaWVsZCBpbiB0aGUgU3ViamVjdCBmaWVsZCBvZiB0aGUgY2VydGlm aWNhdGUKK2RpZmYgLS1naXQgYS9zcmMvWHJkVm9tcy9YcmRWb21zRnVuLmNjIGIvc3JjL1hyZFZv bXMvWHJkVm9tc0Z1bi5jYworaW5kZXggYTRiYzliOGI3Li5mZTZlOGViYjcgMTAwNjQ0CistLS0g YS9zcmMvWHJkVm9tcy9YcmRWb21zRnVuLmNjCisrKysgYi9zcmMvWHJkVm9tcy9YcmRWb21zRnVu LmNjCitAQCAtMTEwLDcgKzExMCw3IEBAIFhyZFZvbXNGdW46OlhyZFZvbXNGdW4oWHJkU3lzRXJy b3IgJmVycCkKKyAgIAorIC8vIEZ1bmN0aW9uIHRvIGNvbnZlcnQgWDUwOV9OQU1FIGludG8gYSBv bmUtbGluZSBodW1hbiByZWFkYWJsZSBzdHJpbmcKKyAvLworLXZvaWQgWHJkVm9tc0Z1bjo6TmFt ZU9uZUxpbmUoWDUwOV9OQU1FICpubSwgWHJkT3VjU3RyaW5nICZzKQorK3ZvaWQgWHJkVm9tc0Z1 bjo6TmFtZU9uZUxpbmUoY29uc3QgWDUwOV9OQU1FICpubSwgWHJkT3VjU3RyaW5nICZzKQorIHsK KyAgICBCSU8gKm1iaW8gPSBCSU9fbmV3KEJJT19zX21lbSgpKTsKKyAgICBYNTA5X05BTUVfcHJp bnRfZXgobWJpbywgbm0sIDAsIFhOX0ZMQUdfQ09NUEFUKTsKK2RpZmYgLS1naXQgYS9zcmMvWHJk Vm9tcy9YcmRWb21zRnVuLmhoIGIvc3JjL1hyZFZvbXMvWHJkVm9tc0Z1bi5oaAoraW5kZXggZmY1 ZGY1OGVmLi41YzExMjlhYjggMTAwNjQ0CistLS0gYS9zcmMvWHJkVm9tcy9YcmRWb21zRnVuLmho CisrKysgYi9zcmMvWHJkVm9tcy9YcmRWb21zRnVuLmhoCitAQCAtNjUsNyArNjUsNyBAQCBpbnQg IFZPTVNJbml0KGNvbnN0IGNoYXIgKmNmZyk7CisgcHJpdmF0ZToKKyAKKyB2b2lkIEZtdEV4dHJh Y3QoWHJkT3VjU3RyaW5nICZvdXQsIFhyZE91Y1N0cmluZyBpbiwgY29uc3QgY2hhciAqdGFnKTsK Ky12b2lkIE5hbWVPbmVMaW5lKFg1MDlfTkFNRSAqbm0sIFhyZE91Y1N0cmluZyAmcyk7Cisrdm9p ZCBOYW1lT25lTGluZShjb25zdCBYNTA5X05BTUUgKm5tLCBYcmRPdWNTdHJpbmcgJnMpOworIHZv aWQgRm10UmVwbGFjZShYcmRTZWNFbnRpdHkgJmVudCk7CisgCisgLy8gVGhlc2Ugc2V0dGluZ3Mg YXJlIGNvbmZpZ3VyYWJsZQorLS0gCisyLjU0LjAKKwoKZGlmZiAtLWdpdCBhLzAwMDItQWRkLWNh dGNoLWFsbC13b3JrLWFyb3VuZC1mb3ItbWlzc2luZy1nZXR0aWQucGF0Y2ggYi8wMDAyLUFkZC1j YXRjaC1hbGwtd29yay1hcm91bmQtZm9yLW1pc3NpbmctZ2V0dGlkLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwYTIwOGY3Li4wMDAwMDAwCi0tLSBhLzAwMDItQWRkLWNhdGNo LWFsbC13b3JrLWFyb3VuZC1mb3ItbWlzc2luZy1nZXR0aWQucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwzOSArMCwwIEBACi1Gcm9tIDBlZjViMWE5N2QxY2EwZDgyNTgzODQzNTMxNjViODU0NTQ2 Mzg3NmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0aWFzIEVsbGVydCA8bWF0 dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4KLURhdGU6IE1vbiwgMjAgQXByIDIwMjYgMjE6MjA6 NDggKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzZdIEFkZCBjYXRjaC1hbGwgd29yay1hcm91bmQg Zm9yIG1pc3NpbmcgZ2V0dGlkCi0KLVBvc3NpYmx5IHRoZXJlIGFyZSBiZXR0ZXIgc29sdXRpb25z LCBidXQgdGhpcyBpcyBjb25zaXN0ZW50IHdpdGggdGhlCi1pbXBsZW1lbnRhdGlvbiBpbiBzcmMv WHJkU3lzL1hyZFN5c1B0aHJlYWQuY2MKLS0tLQotIHNyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwVXRp bC5jYyB8IDYgKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwVXRpbC5jYyBi L3NyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwVXRpbC5jYwotaW5kZXggYTE1OTdiMjAwLi43YmVkYjQz NzMgMTAwNjQ0Ci0tLS0gYS9zcmMvWHJkQ2xIdHRwL1hyZENsSHR0cFV0aWwuY2MKLSsrKyBiL3Ny Yy9YcmRDbEh0dHAvWHJkQ2xIdHRwVXRpbC5jYwotQEAgLTg2LDE2ICs4NiwxOCBAQCBzdHJ1Y3Qg V2FpdGluZ0ZvckJyb2tlciB7Ci0gbmFtZXNwYWNlIHsKLSAKLSBwaWRfdCBnZXR0aHJlYWRpZCgp IHsKLS0jaWZkZWYgX19BUFBMRV9fCi0rI2lmICAgZGVmaW5lZChfX0FQUExFX18pCi0gICAgIHVp bnQ2NF90IHB0aF90aHJlYWRpZDsKLSAgICAgcHRocmVhZF90aHJlYWRpZF9ucChwdGhyZWFkX3Nl bGYoKSwgJnB0aF90aHJlYWRpZCk7Ci0gICAgIHJldHVybiBwdGhfdGhyZWFkaWQ7Ci0tI2Vsc2UK LSsjZWxpZiBkZWZpbmVkKF9fbGludXhfXykKLSAgICAgLy8gTk9URTogZ2xpYmMgMi4zMCBmaW5h bGx5IHByb3ZpZGVzIGEgZ2V0dGlkKCkgd3JhcHBlcjsgaG93ZXZlciwKLSAgICAgLy8gd2UgY3Vy cmVudGx5IHN1cHBvcnQgUkhFTCA4LCB3aGljaCBpcyBiYXNlZCBvbiBnbGliYyAyLjI4LiAgVW50 aWwKLSAgICAgLy8gd2UgZHJvcCB0aGF0IHBsYXRmb3JtLCBpdCdzIGVhc2llciB0byBkbyB0aGUg c3lzY2FsbCBkaXJlY3RseSBvbiBMaW51eAotICAgICAvLyBpbnN0ZWFkIG9mIGFkZGl0aW9uYWwg aWZkZWYgY2FsbHMuCi0gICAgIHJldHVybiBzeXNjYWxsKFNZU19nZXR0aWQpOwotKyNlbHNlCi0r ICAgcmV0dXJuIGdldHBpZCgpOwotICNlbmRpZgotIH0KLSAKLS0tIAotMi41My4wCi0KCmRpZmYg LS1naXQgYS8wMDAyLVhyZENyeXB0by1QcmVzZXJ2ZS1BQkkucGF0Y2ggYi8wMDAyLVhyZENyeXB0 by1QcmVzZXJ2ZS1BQkkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u MDJhYTdhNQotLS0gL2Rldi9udWxsCisrKyBiLzAwMDItWHJkQ3J5cHRvLVByZXNlcnZlLUFCSS5w YXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIDA5YTk4MzczYmM0NDJkNTE1ZjM0NzU5M2MxMTM4 NDI3MzNlYTYwYjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0aWFzIEVsbGVy dCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4KK0RhdGU6IFNhdCwgMjMgTWF5IDIwMjYg MjA6NTk6MDQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIFtYcmRDcnlwdG9dIFByZXNlcnZl IEFCSQorCitBZGQgYmFjayBub3cgdW51c2VkIG5vbi1jb25zdCB2ZXJzaW9uIG9mIGZ1bmN0aW9u CistLS0KKyBzcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbEF1eC5jYyB8IDkgKysrKysrKysrCisg MSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL1hyZENy eXB0by9YcmRDcnlwdG9zc2xBdXguY2MgYi9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbEF1eC5j YworaW5kZXggYTQ0MjgzOTg1Li5lMGNlMzUyODUgMTAwNjQ0CistLS0gYS9zcmMvWHJkQ3J5cHRv L1hyZENyeXB0b3NzbEF1eC5jYworKysrIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xBdXgu Y2MKK0BAIC03NTUsMyArNzU1LDEyIEBAIHZvaWQgWHJkQ3J5cHRvc3NsTmFtZU9uZUxpbmUoY29u c3QgWDUwOV9OQU1FICpubSwgWHJkT3VjU3RyaW5nICZzKQorICAgIC8vIERvbmUKKyAgICByZXR1 cm47CisgfQorKworKy8vX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXworK3ZvaWQgWHJkQ3J5cHRvc3NsTmFt ZU9uZUxpbmUoWDUwOV9OQU1FICpubSwgWHJkT3VjU3RyaW5nICZzKQorK3sKKysgICAvLyBDb3B5 IG9mIGFib3ZlIGZ1bmN0aW9uIHdpdGggbm9uLWNvbnN0IGZpcnN0IGFyZ3VtZW50CisrICAgLy8g VGhpcyBmdW5jdGlvbiBpcyB1bnVzZWQgLS0gb25seSBhZGRlZCB0byBwcmVzZXJ2ZSBvbGQgQUJJ CisrICAgLy8gQ2FuIGJlIHJlbW92ZWQgaWYgc29uYW1lIGNoYW5nZXMKKysgICBYcmRDcnlwdG9z c2xOYW1lT25lTGluZShjb25zdF9jYXN0PGNvbnN0IFg1MDlfTkFNRSAqPihubSksIHMpOworK30K Ky0tIAorMi41NC4wCisKCmRpZmYgLS1naXQgYS8wMDAzLUFsc28tY2hlY2stZm9yLUdOVS1pbi1z dGF0eC5wYXRjaCBiLzAwMDMtQWxzby1jaGVjay1mb3ItR05VLWluLXN0YXR4LnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ODdlYzE0Li4wMDAwMDAwCi0tLSBhLzAwMDMtQWxz by1jaGVjay1mb3ItR05VLWluLXN0YXR4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAs MCBAQAotRnJvbSAwNDkyMDc4YjYwZTdmZmM1MGVlOGZkMjI4MmI1OTYwZTI2NGExN2I0IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dGlhcyBFbGxlcnQgPG1hdHRpYXMuZWxsZXJ0 QHBoeXNpY3MudXUuc2U+Ci1EYXRlOiBNb24sIDIwIEFwciAyMDI2IDIxOjUzOjM4ICswMjAwCi1T dWJqZWN0OiBbUEFUQ0ggMy82XSBBbHNvIGNoZWNrIGZvciBHTlUgaW4gc3RhdHgKLQotLS0tCi0g c3JjL1hyZFN5cy9YcmRTeXNTdGF0eC5oaCAgICAgICAgICAgICB8IDIgKy0KLSB0ZXN0cy9YcmRT eXNUZXN0cy9YcmRTeXNTdGF0eFRlc3RzLmNjIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMiBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL1hyZFN5cy9Y cmRTeXNTdGF0eC5oaCBiL3NyYy9YcmRTeXMvWHJkU3lzU3RhdHguaGgKLWluZGV4IDEzYjQ4OTRl MC4uZGZhYTNmN2JlIDEwMDY0NAotLS0tIGEvc3JjL1hyZFN5cy9YcmRTeXNTdGF0eC5oaAotKysr IGIvc3JjL1hyZFN5cy9YcmRTeXNTdGF0eC5oaAotQEAgLTM1LDcgKzM1LDcgQEAKLSAjaW5jbHVk ZSA8Y3N0cmluZz4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLSAKLS0jaWZkZWYgX19saW51eF9fCi0r I2lmIGRlZmluZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9fR05VX18pCi0gI2luY2x1ZGUgPHN5 cy9zeXNtYWNyb3MuaD4KLSB1c2luZyBYcmRTeXNTdGF0eCA9IHN0cnVjdCBzdGF0eDsKLSAjZGVm aW5lIEhBVkVfU1RBVFgKLWRpZmYgLS1naXQgYS90ZXN0cy9YcmRTeXNUZXN0cy9YcmRTeXNTdGF0 eFRlc3RzLmNjIGIvdGVzdHMvWHJkU3lzVGVzdHMvWHJkU3lzU3RhdHhUZXN0cy5jYwotaW5kZXgg ZDJkN2U3MjlmLi4yM2QyYWFhYzYgMTAwNjQ0Ci0tLS0gYS90ZXN0cy9YcmRTeXNUZXN0cy9YcmRT eXNTdGF0eFRlc3RzLmNjCi0rKysgYi90ZXN0cy9YcmRTeXNUZXN0cy9YcmRTeXNTdGF0eFRlc3Rz LmNjCi1AQCAtMjcsNyArMjcsNyBAQCBURVNUX0YoWHJkU3lzU3RhdHhUZXN0cywgU3RhdDJTdGF0 eEJhc2ljRmllbGRzKSB7Ci0gCi0gICBFWFBFQ1RfRVEoc3R4LnN0eF9tYXNrLCAodWludDMyX3Qp U1RBVFhfQkFTSUNfU1RBVFMpOwotIAotLSNpZmRlZiBfX2xpbnV4X18KLSsjaWYgZGVmaW5lZChf X2xpbnV4X18pIHx8IGRlZmluZWQoX19HTlVfXykKLSAgIEVYUEVDVF9FUShzdHguc3R4X21vZGUs ICAgICh1aW50MTZfdCkoU19JRlJFRyB8IDA3NTUpKTsKLSAgIEVYUEVDVF9FUShzdHguc3R4X25s aW5rLCAgICh1aW50MzJfdCkzKTsKLSAgIEVYUEVDVF9FUShzdHguc3R4X3VpZCwgICAgICh1aW50 MzJfdCkxMDAwKTsKLS0tIAotMi41My4wCi0KCmRpZmYgLS1naXQgYS8wMDA0LUZpeC1rZXJiZXJv cy10ZXN0cy13aGVuLXVzci1zYmluLWlzLW5vdC1pbi1QQVRILnBhdGNoIGIvMDAwNC1GaXgta2Vy YmVyb3MtdGVzdHMtd2hlbi11c3Itc2Jpbi1pcy1ub3QtaW4tUEFUSC5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggNjdkZDIwMi4uMDAwMDAwMAotLS0gYS8wMDA0LUZpeC1rZXJi ZXJvcy10ZXN0cy13aGVuLXVzci1zYmluLWlzLW5vdC1pbi1QQVRILnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSBlMDc5YjdjYjFhZjE0MTBlZDE1Yzc5NThlMDg5ZWNl NmIzNmM1OTAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dGlhcyBFbGxlcnQg PG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+Ci1EYXRlOiBNb24sIDIwIEFwciAyMDI2IDIx OjU1OjU2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggNC82XSBGaXgga2VyYmVyb3MgdGVzdHMgd2hl biAvdXNyL3NiaW4gaXMgbm90IGluIFBBVEgKLQotLS0tCi0gdGVzdHMva3JiNS9rZXJiZXJvcy5z aCB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdGVzdHMva3JiNS9rZXJiZXJvcy5zaCBiL3Rlc3RzL2ty YjUva2VyYmVyb3Muc2gKLWluZGV4IGI0YWY1ZTEwMi4uNWI2NDA1Y2Q5IDEwMDc1NQotLS0tIGEv dGVzdHMva3JiNS9rZXJiZXJvcy5zaAotKysrIGIvdGVzdHMva3JiNS9rZXJiZXJvcy5zaAotQEAg LTM2LDE2ICszNiwxNiBAQCBmdW5jdGlvbiBzZXR1cCgpIHsKLSAJcG9wZCA+L2Rldi9udWxsIHx8 IGV4aXQgMQotIAotIAkjIENyZWF0ZSB0aGUgS0RDIGRhdGFiYXNlCi0tCWtkYjVfdXRpbCBjcmVh dGUgLXMgLXIgWFJPT1RELk9SRyAtUCB4cm9vdGQKLSsJL3Vzci9zYmluL2tkYjVfdXRpbCBjcmVh dGUgLXMgLXIgWFJPT1RELk9SRyAtUCB4cm9vdGQKLSAKLSAJIyBTdGFydCB0aGUgS0RDIGRhZW1v bnMKLS0Ja3JiNWtkYyAtUCAiJHtQV0R9Ii9rcmI1a2RjLnBpZAotKwkvdXNyL3NiaW4va3JiNWtk YyAtUCAiJHtQV0R9Ii9rcmI1a2RjLnBpZAotIAotIAkjIE5vdCByZWFsbHkgbmVlZGVkLCBzaW5j ZSB3ZSB1c2Uga2FkbWluLmxvY2FsCi0gCSMga2FkbWluZCAtUCAke1BXRH0va2FkbWluZC5waWQK LSAKLSAJIyBBZGQgcHJpbmNpcGFscyBmb3IgdGhlIHNlcnZlciBhbmQgY2xpZW50IHRvIEtEQyBk YXRhYmFzZQotLQlrYWRtaW4ubG9jYWwgLXIgWFJPT1RELk9SRyA8PC1FT0YKLSsJL3Vzci9zYmlu L2thZG1pbi5sb2NhbCAtciBYUk9PVEQuT1JHIDw8LUVPRgotIAlhZGRfcHJpbmNpcGFsIC1yYW5k a2V5IC1rdm5vIDEgaG9zdC9sb2NhbGhvc3RAWFJPT1RELk9SRwotIAlrdGFkZCAtayBrcmI1Lmtl eXRhYiBob3N0L2xvY2FsaG9zdAotIAlhZGRfcHJpbmNpcGFsIHhyb290ZEBYUk9PVEQuT1JHCi1A QCAtNTQsNyArNTQsNyBAQCBmdW5jdGlvbiBzZXR1cCgpIHsKLSAJRU9GCi0gCi0gCSMgRGlzcGxh eSBLREMgZGF0YWJhc2UgZW50cmllcwotLQlrZGI1X3V0aWwgdGFiZHVtcCAtbyAtIGtleWluZm8K LSsJL3Vzci9zYmluL2tkYjVfdXRpbCB0YWJkdW1wIC1vIC0ga2V5aW5mbwotIAotIAkjIERpc3Bs YXkgY29udGVudHMgb2Ygc2VydmVyIGtleXRhYgotIAlrbGlzdCAta3RlIGtyYjUua2V5dGFiCi0t LSAKLTIuNTMuMAotCgpkaWZmIC0tZ2l0IGEvMDAwNS1GaXgtdHlwby1jb25lbnQtY29udGVudC5w YXRjaCBiLzAwMDUtRml4LXR5cG8tY29uZW50LWNvbnRlbnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDMzMDdlYWQuLjAwMDAwMDAKLS0tIGEvMDAwNS1GaXgtdHlwby1jb25l bnQtY29udGVudC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gMmM1 YmUzMmNjN2FmZWQyYzNmNjdhMWJmYmMyNTg3N2Y1MjMzY2IxMSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNl PgotRGF0ZTogTW9uLCAyMCBBcHIgMjAyNiAyMjowNDoyMyArMDIwMAotU3ViamVjdDogW1BBVENI IDUvNl0gPT9VVEYtOD9xP0ZpeD0yMHR5cG89MjBjb25lbnQ9MjA9RTI9ODY9OTI9MjBjb250ZW50 Pz0KLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotLS0tCi0gc3JjL1hyZENs SHR0cC9YcmRDbEh0dHBGaWxlLmNjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlv bigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL1hyZENsSHR0cC9YcmRDbEh0 dHBGaWxlLmNjIGIvc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBGaWxlLmNjCi1pbmRleCAzYTE1NDcw ZTguLjE5NmU0ZDk5YyAxMDA2NDQKLS0tLSBhL3NyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwRmlsZS5j YwotKysrIGIvc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBGaWxlLmNjCi1AQCAtNTU3LDcgKzU1Nyw3 IEBAIEZpbGU6OkZjbnRsKGNvbnN0IFhyZENsOjpCdWZmZXIgJmFyZywgWHJkQ2w6OlJlc3BvbnNl SGFuZGxlciAqaGFuZGxlciwKLSAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgIH0KLSAg ICAgICAgICAgICBYcmRDbDo6QnVmZmVyICpyZXNwQnVmZiA9IG5ldyBYcmRDbDo6QnVmZmVyKCk7 Ci0tICAgICAgICAgICAgbV9sb2dnZXItPkRlYnVnKGtMb2dYcmRDbEh0dHAsICJGY250bCBjb25l bnQgJXMiLCB4YXR0LmR1bXAoKS5jX3N0cigpKTsKLSsgICAgICAgICAgICBtX2xvZ2dlci0+RGVi dWcoa0xvZ1hyZENsSHR0cCwgIkZjbnRsIGNvbnRlbnQgJXMiLCB4YXR0LmR1bXAoKS5jX3N0cigp KTsKLSAgICAgICAgICAgICByZXNwQnVmZi0+RnJvbVN0cmluZyh4YXR0LmR1bXAoKSk7Ci0gICAg ICAgICAgICAgb2JqLT5TZXQocmVzcEJ1ZmYpOwotICAgICAgICAgfQotLS0gCi0yLjUzLjAKLQoK ZGlmZiAtLWdpdCBhLzAwMDYtQ2hhbmdlLWZpbGUtdG8tYXZvaWQtc2VkLWR1cmluZy1pbnN0YWxs LnBhdGNoIGIvMDAwNi1DaGFuZ2UtZmlsZS10by1hdm9pZC1zZWQtZHVyaW5nLWluc3RhbGwucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhN2ZiMWYuLjAwMDAwMDAKLS0tIGEv MDAwNi1DaGFuZ2UtZmlsZS10by1hdm9pZC1zZWQtZHVyaW5nLWluc3RhbGwucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1Gcm9tIDIxNjUyNmMzMmI4OTRhNWJhZDdiODU4OTdk ZWNlZjcxMWYxMjEwMTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0aWFzIEVs bGVydCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4KLURhdGU6IE1vbiwgMjAgQXByIDIw MjYgMjI6NDI6MDYgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA2LzZdIENoYW5nZSBmaWxlIHRvIGF2 b2lkIHNlZCBkdXJpbmcgaW5zdGFsbAotCi0tLS0KLSBjb25maWcveHJvb3RkLWh0dHAuY2ZnIHwg MiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1k aWZmIC0tZ2l0IGEvY29uZmlnL3hyb290ZC1odHRwLmNmZyBiL2NvbmZpZy94cm9vdGQtaHR0cC5j ZmcKLWluZGV4IGNiNzA3YmY4NC4uMzQxZjMzMTZjIDEwMDY0NAotLS0tIGEvY29uZmlnL3hyb290 ZC1odHRwLmNmZwotKysrIGIvY29uZmlnL3hyb290ZC1odHRwLmNmZwotQEAgLTMzLDcgKzMzLDcg QEAgYWxsLnBpZHBhdGggL3J1bi94cm9vdGQKLSAjIEluIG9yZGVyIHRvIHN0YXJ0IHRoZSB4cmRo dHRwLnNvY2tldCBydW46Ci0gIwlzeXN0ZW1jdGwgc3RhcnQgeHJkaHR0cEBodHRwLnNvY2tldAot ICMKLS14cmQucHJvdG9jb2wgWHJkSHR0cDo4MCAvdXNyL2xpYjY0L2xpYlhyZEh0dHAuc28KLSt4 cmQucHJvdG9jb2wgWHJkSHR0cDo4MCBsaWJYcmRIdHRwLnNvCi0gIyBNb3JlIGNvbmZpZ3VyYXRp b24gZmlsZXMgY2FuIGJlIGFkZGVkIGluIC9ldGMveHJvb3RkL2NvbmZpZy5kLwotICMgRm9yIGV4 YW1wbGUgL2V0Yy94cm9vdGQvY29uZmlnLmQvMTAtbXlncmlkLmNmZyBhbmQKLSAjIC9ldGMveHJv b3RkL2NvbmZpZy5kLzk4LW15c2l0ZS1zcGVjaWZpY3MuY2ZnCi0tLSAKLTIuNTMuMAotCgpkaWZm IC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggYTBkNjEyYy4uOGMyY2I3MSAxMDA2NDQK LS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xICsxIEBACi1TSEE1MTIgKHhyb290ZC02 LjAuMC50YXIuZ3opID0gMWZhYzI0YzU2NDY0ZTc2YzEwNGRlYWJjZWYwYTg5MTBkYmRjMThmNjJk OTMyNzViZjEwNDgxNDJiZWIwNDUzZTA1YWVjZGRhYWY0MWFiZTlkMTgzYzliYWZiMDE1MDY3OTk0 YTE1YWUwZmZlZWNkYzI4NzU2MjY3OTFkNzY5MDUKK1NIQTUxMiAoeHJvb3RkLTYuMC4yLnRhci5n eikgPSAyOWZlMDEzOGIwNmUwMzIxMGVjZTljMzEzMDc4NTk2NzAxNmYxZTA3NmJlODg4YzFmMzE0 N2U4YzlhZGU3ZTUwNmViMjA0NzM2NGM3NmYyNTFiYmFlM2JmOGEwNjdhYmMxNmY2OTI5YzNkOGU3 ZjYxNWVlNDFjOGY2ZjhhODI2MwoKZGlmZiAtLWdpdCBhL3hyb290ZC5zcGVjIGIveHJvb3RkLnNw ZWMKaW5kZXggNzhhNjg5ZC4uODhmMTI4YSAxMDA2NDQKLS0tIGEveHJvb3RkLnNwZWMKKysrIGIv eHJvb3RkLnNwZWMKQEAgLTEzLDIzICsxMywyMyBAQAogCiBOYW1lOgkJeHJvb3RkCiBFcG9jaDoJ CTEKLVZlcnNpb246CTYuMC4wCitWZXJzaW9uOgk2LjAuMgogUmVsZWFzZToJMSV7P2Rpc3R9CiBT dW1tYXJ5OglFeHRlbmRlZCBST09UIGZpbGUgc2VydmVyCi1MaWNlbnNlOglMR1BMLTMuMC1vci1s YXRlciBBTkQgQlNELTItQ2xhdXNlIEFORCBCU0QtMy1DbGF1c2UgQU5EIGN1cmwgQU5EIE1JVCBB TkQgWmxpYgorTGljZW5zZToJTEdQTC0zLjAtb3ItbGF0ZXIgQU5EIEJTRC0yLUNsYXVzZSBBTkQg QlNELTMtQ2xhdXNlIEFORCBjdXJsIEFORCBNSVQgQU5EIFpsaWIgQU5EIEFwYWNoZS0yLjAgQU5E IE1QTC0yLjAKIFVSTDoJCWh0dHBzOi8veHJvb3RkLndlYi5jZXJuLmNoCiBTb3VyY2UwOgkle3Vy bH0vZG93bmxvYWQvdiV7dmVyc2lvbn0vJXtuYW1lfS0le3ZlcnNpb259LnRhci5negogU291cmNl MToJJXtuYW1lfS1zeXN1c2Vycy5jb25mCiAKLSMJCWh0dHBzOi8vZ2l0aHViLmNvbS94cm9vdGQv eHJvb3RkL3B1bGwvMjc2OQotUGF0Y2gwOgkJMDAwMS1BZGQtaW5jbHVkZS1YcmRTeXMtWHJkU3lz UGxhdGZvcm0uaGgtZm9yLU1BWFBBVEhMRU4ucGF0Y2gKLVBhdGNoMToJCTAwMDItQWRkLWNhdGNo LWFsbC13b3JrLWFyb3VuZC1mb3ItbWlzc2luZy1nZXR0aWQucGF0Y2gKLVBhdGNoMjoJCTAwMDMt QWxzby1jaGVjay1mb3ItR05VLWluLXN0YXR4LnBhdGNoCi1QYXRjaDM6CQkwMDA0LUZpeC1rZXJi ZXJvcy10ZXN0cy13aGVuLXVzci1zYmluLWlzLW5vdC1pbi1QQVRILnBhdGNoCi1QYXRjaDQ6CQkw MDA1LUZpeC10eXBvLWNvbmVudC1jb250ZW50LnBhdGNoCi1QYXRjaDU6CQkwMDA2LUNoYW5nZS1m aWxlLXRvLWF2b2lkLXNlZC1kdXJpbmctaW5zdGFsbC5wYXRjaAogIwkJVW5idW5kbGUgdGlueXht bCBsaWJyYXJ5Ci1QYXRjaDY6CQkwMDAxLVVuYnVuZGxlLXRpbnl4bWwucGF0Y2gKK1BhdGNoMDoJ CTAwMDEtVW5idW5kbGUtdGlueXhtbC5wYXRjaAorIwkJQWRhcHQgdG8gT3BlblNTTCA0CisjCQlo dHRwczovL2dpdGh1Yi5jb20veHJvb3RkL3hyb290ZC9wdWxsLzI4MDIKK1BhdGNoMToJCTAwMDEt WHJkQ3J5cHRvLVhyZFRscy1YcmRWb21zLUFkYXB0LXRvLU9wZW5TU0wtNC4wLnBhdGNoCitQYXRj aDI6CQkwMDAyLVhyZENyeXB0by1QcmVzZXJ2ZS1BQkkucGF0Y2gKKyMJCUJhY2twb3J0IGZpeCBm cm9tIHVwc3RyZWFtCisjCQlodHRwczovL2dpdGh1Yi5jb20veHJvb3RkL3hyb290ZC9wdWxsLzI3 OTkKK1BhdGNoMzoJCTAwMDEtWHJkQ2xIdHRwLUZpeC1idWctcHJldmVudGluZy10aGUtY29uZmln dXJhdGlvbi1vZi10aC5wYXRjaAogCiBCdWlsZFJlcXVpcmVzOgljbWFrZQogQnVpbGRSZXF1aXJl czoJZ2NjLWMrKwpAQCAtMjQxLDYgKzI0MSw3IEBAIGEgc3Vic2V0IG9mIHRoZSBuYW1lc3BhY2Ug dG8gYW4gZXh0ZXJuYWwgaXNzdWVyLgogJXBhY2thZ2UgY2VwaAogU3VtbWFyeToJWFJvb3REIHBs dWdpbiBmb3IgaW50ZXJmYWNpbmcgd2l0aCB0aGUgQ2VwaCBzdG9yYWdlIHBsYXRmb3JtCiBSZXF1 aXJlczoJJXtuYW1lfS1saWJzJXs/X2lzYX0gPSAle2Vwb2NofTole3ZlcnNpb259LSV7cmVsZWFz ZX0KK1JlcXVpcmVzOgkle25hbWV9LXNlcnZlci1saWJzJXs/X2lzYX0gPSAle2Vwb2NofTole3Zl cnNpb259LSV7cmVsZWFzZX0KIAogJWRlc2NyaXB0aW9uIGNlcGgKIFRoZSB4cm9vdGQtY2VwaCBp cyBhbiBPU1MgbGF5ZXIgcGx1Z2luIGZvciB0aGUgWFJvb3REIHNlcnZlciBmb3IKQEAgLTI3MCw5 ICsyNzEsNiBAQCBUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIEFQSSBkb2N1bWVudGF0aW9uIG9m IHRoZSB4cm9vdGQgbGlicmFyaWVzLgogJXBhdGNoIC1QMSAtcDEKICVwYXRjaCAtUDIgLXAxCiAl cGF0Y2ggLVAzIC1wMQotJXBhdGNoIC1QNCAtcDEKLSVwYXRjaCAtUDUgLXAxCi0lcGF0Y2ggLVA2 IC1wMQogCiAlYnVpbGQKICVjbWFrZSBcCkBAIC00MDgsMjggKzQwNiwxNCBAQCBkb25lCiAKIHRv dWNoIHRlc3RmaWxlCiBpZiAoIHNldGZhdHRyIC1uIHVzZXIudGVzdGF0dHIgLXYgdGVzdHZhbHVl IHRlc3RmaWxlICkgOyB0aGVuCi0gICAgJWN0ZXN0IC0tIC1FIFhSb290RDo6YmFkcmVkaXIKKyVp ZmFyY2ggJXtpeDg2fSAle2FybX0KKyAgICAlY3Rlc3QgLS0gLUUgJ1hSb290RDo6YmFkcmVkaXJ8 WFJvb3REOjpwb3NpeCcKKyVlbHNlCisgICAgJWN0ZXN0IC0tIC1FICdYUm9vdEQ6OmJhZHJlZGly JworJWVuZGlmCiBlbHNlCiAgICAgZWNobyAiRXh0ZW5kZWQgZmlsZSBhdHRyaWJ1dGVzIG5vdCBz dXBwb3J0ZWQgYnkgZmlsZSBzeXN0ZW0iCi0gICAgZWNobyAiRG9uJ3QgcnVuIHRlc3RzIHRoYXQg cmVxdWlyZSB0aGVtIgotICAgIGV4Y2x1ZGU9IlwKLVhyZENsOjpGaWxlQ29weVRlc3R8XAotWHJk Q2w6OkZpbGVTeXN0ZW1UZXN0LlBsdWdJblRlc3R8XAotWHJkQ2w6OkZpbGVTeXN0ZW1UZXN0LlNl cnZlclF1ZXJ5VGVzdHxcCi1YcmRDbDo6RmlsZVN5c3RlbVRlc3QuWEF0dHJUZXN0fFwKLVhyZENs OjpGaWxlVGVzdC5YQXR0clRlc3R8XAotWHJkQ2w6OkxvY2FsRmlsZUhhbmRsZXJUZXN0LlhBdHRy VGVzdHxcCi1YcmRDbDo6VGhyZWFkaW5nVGVzdHxcCi1YcmRDbDo6V29ya2Zsb3dUZXN0LkNoZWNr cG9pbnRUZXN0fFwKLVhyZENsOjpXb3JrZmxvd1Rlc3QuWEF0dHJXb3JrZmxvd1Rlc3R8XAotWHJk RWM6OlhyZEVjVGVzdHN8XAotWFJvb3REOjphdXRoZW50aWNhdGVkX2NsdXN0ZXI6OnRlc3R8XAot WFJvb3REOjpiYWRyZWRpcnxcCi1YUm9vdEQ6OmNsdXN0ZXI6OnRlc3R8XAotWFJvb3REOjpodHRw Ojp0ZXN0fFwKLVhSb290RDo6cG9zaXg6OnRlc3R8XAotWFJvb3REOjp0cGM6OnRlc3QiCi0gICAg JWN0ZXN0IC0tIC1FICRleGNsdWRlCisgICAgZWNobyAiKioqIE5PVCBSVU5OSU5HIFRFU1RTICoq KiIKIGZpCiBybSB0ZXN0ZmlsZQogCkBAIC02ODEsNiArNjY1LDExIEBAIGZpCiAlZG9jICV7X3Br Z2RvY2Rpcn0KIAogJWNoYW5nZWxvZworKiBUaHUgTWF5IDIxIDIwMjYgTWF0dGlhcyBFbGxlcnQg PG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+IC0gMTo2LjAuMi0xCistIFVwZGF0ZSB0byB2 ZXJzaW9uIDYuMC4yCistIEFkYXB0IHRvIE9wZW5TU0wgNC4wCistIERyb3AgcGF0Y2hlcyBhY2Nl cHRlZCB1cHN0cmVhbQorCiAqIFNhdCBBcHIgMTEgMjAyNiBNYXR0aWFzIEVsbGVydCA8bWF0dGlh cy5lbGxlcnRAcGh5c2ljcy51dS5zZT4gLSAxOjYuMC4wLTEKIC0gVXBkYXRlIHRvIHZlcnNpb24g Ni4wLjAKIAo=